<?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>CMSMailer</name>
	<version>5.2.14</version>
  <mincmsversion>1.7</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIG5vIGVuZCB1c2VyIGZ1bmN0aW9uYWxpdHkuICBJdCBpcyBkZXNpZ25lZCB0byBiZSBpbnRlZ3JhdGVkIGludG8gb3RoZXIgbW9kdWxlcyB0byBwcm92aWRlIGVtYWlsIGNhcGFiaWxpdGllcy4gIFRoYXRzIGl0LCBub3RoaW5nIG1vcmUuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgYWxsIG9mIHRoZSBtZXRob2RzIGFuZCB2YXJpYWJsZXMgb2YgcGhwbWFpbGVyLiAgSXQgaXMgZGVzaWduZWQgZm9yIHVzZSBieSBvdGhlciBtb2R1bGUgZGV2ZWxvcGVycywgYmVsb3cgaXMgYW4gZXhhbXBsZSwgYW5kIGEgYnJpZWYgQVBJIHJlZmVyZW5jZS4gIFBsZWFzZSByZWFkIHRoZSBQSFBNYWlsZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+CjxoMz5BbiBFeGFtcGxlPC9oMz4KPHByZT4KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCdjYWxndXkxMDAwQGhvdG1haWwuY29tJywnY2FsZ3V5Jyk7CiAgJGNtc21haWxlci0+U2V0Qm9keSgnJmx0O2g0Jmd0O1RoaXMgaXMgYSB0ZXN0IG1lc3NhZ2UmbHQ7L2g0Jmd0OycpOwogICRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsKICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCdUZXN0IG1lc3NhZ2UnKTsKICAkY21zbWFpbGVyLT5TZW5kKCk7CjwvcHJlPgo8aDM+QVBJPC9oMz4KPHVsPgo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4KPHA+UmVzZXQgdGhlIG9iamVjdCBiYWNrIHRvIHRoZSB2YWx1ZXMgc3BlY2lmaWVkIGluIHRoZSBhZG1pbiBwYW5lbDwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4KPHA+U2V0IHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4KPHA+RGVmYXVsdDogaXNvLTg4NTktMTwvcD4KPHA+UmV0dXJuIHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0Q2hhclNldCggJHN0cmluZyApPC9iPjwvcD4KPHA+U2V0IHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRDb25maXJtUmVhZGluZ1RvKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIGFkZHJlc3MgY29uZmlybWVkIHJlYWRpbmcgZW1haWwgZmxhZzwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0Q29uZmlybVJlYWRpbmdUbyggJGFkZHJlc3MgKTwvYj48L3A+CjxwPlNldCBvciB1bnNldCB0aGUgY29uZmlybSByZWFkaW5nIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+CjxwPkRlZmF1bHQ6IHRleHQvcGxhaW48L3A+CjxwPlJldHVybiB0aGUgY29udGVudCB0eXBlPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRDb250ZW50VHlwZSgpPC9iPjwvcD4KPHA+U2V0IHRoZSBjb250ZW50IHR5cGU8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0RW5jb2RpbmcoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgZW5jb2Rpbmc8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldEVuY29kaW5nKCAkZW5jb2RpbmcgKTwvYj48L3A+CjxwPlNldCB0aGUgZW5jb2Rpbmc8L3A+CjxwPk9wdGlvbnMgYXJlOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+CjxwPlJldHVybiBhbnkgZXJyb3IgaW5mb3JtYXRpb248L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPgo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBuYW1lPC9wPgo8L2xpPgo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPgo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIG5hbWU8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBIRUxPIHN0cmluZzwvcD4KPC9saT4KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+CjxwPlNldCB0aGUgSEVMTyBzdHJpbmc8L3A+CjxwPkRlZmF1bHQgdmFsdWU6ICRob3N0bmFtZTwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIFNNVFBzIGhvc3Qgc2VwYXJhdGVkIGJ5IHNlbWljb2xvbjwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4KPHA+U2V0IHRoZSBob3N0czwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+CjxwPlNldCB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldE1haWxlcigpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBtYWlsZXI8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4KPHA+U2V0IHRoZSBtYWlsZXIsIGVpdGhlciBzZW5kbWFpbCxtYWlsLCBvciBzbXRwPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldFBhc3N3b3JkKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldFBhc3N3b3JkKCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+CjwvbGk+CjxsaT48cD48Yj5pbnQgR2V0UG9ydCgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBwb3J0IG51bWJlciBmb3Igc210cCBjb25uZWN0aW9uczwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4KPHA+U2V0IHRoZSBwb3J0IGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPgo8L2xpPgo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvYj48L3A+CjxwPlNldCB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4KPHA+VmFsdWVzIGFyZSAxPUhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBMb3c8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZGVyKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHNlbmRlciBlbWFpbCAocmV0dXJuIHBhdGgpIHN0cmluZzwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZGVyKCAkYWRkcmVzcyApPC9iPjwvcD4KPHA+U2V0IHRoZSBzZW5kZXIgc3RyaW5nPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRtYWlsKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHNlbmRtYWlsIHBhdGg8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldFNlbmRtYWlsKCAkcGF0aCApPC9iPjwvcD4KPHA+U2V0IHRoZSBzZW5kbWFpbCBwYXRoPC9wPgo8L2xpPgo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQQXV0aCgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzbXRwIGF1dGggZmxhZzwvcD4KPC9saT4KPGxpPjxwPjxiPlNldFNNVFBBdXRoKCAkYm9vbCApPC9iPjwvcD4KPHA+U2V0IHRoZSBzbXRwIGF1dGggZmxhZzwvcD4KPC9saT4KPGxpPjxwPjxiPmJvb2wgR2V0U01UUERlYnVnKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldFNNVFBEZWJ1ZyggJGJvb2wgKTwvYj48L3A+CjxwPlNldCB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPgo8L2xpPgo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQS2VlcEFsaXZlKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4KPC9saT4KPGxpPjxwPjxiPlNldFNNVFBLZWVwQWxpdmUoICRib29sICk8L2I+PC9wPgo8cD5TZXQgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldFN1YmplY3QoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgY3VycmVudCBzdWJqZWN0IHN0cmluZzwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0U3ViamVjdCggJHN0cmluZyApPC9iPjwvcD4KPHA+U2V0IHRoZSBzdWJqZWN0IHN0cmluZzwvcD4KPC9saT4KPGxpPjxwPjxiPmludCBHZXRUaW1lb3V0KCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHRpbWVvdXQgdmFsdWU8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldFRpbWVvdXQoICRzZWNvbmRzICk8L2I+PC9wPgo8cD5TZXQgdGhlIHRpbWVvdXQgdmFsdWU8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0VXNlcm5hbWUoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRVc2VybmFtZSggJHN0cmluZyApPC9iPjwvcD4KPHA+U2V0IHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+CjwvbGk+CjxsaT48cD48Yj5pbnQgR2V0V29yZFdyYXAoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldFdvcmRXcmFwKCAkaW50ICk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPgo8L2xpPgo8bGk+PHA+PGI+QWRkQWRkcmVzcyggJGFkZHJlc3MsICRuYW1lID0gJycgKTwvYj48L3A+CjxwPkFkZCBhIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSAnJywgJGVuY29kaW5nID0gJ2Jhc2U2NCcsICR0eXBlID0gJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0nICk8L2I+PC9wPgo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICcnICk8L2I+PC9wPgo8cD5BZGQgYSBCQ0MnZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPgo8L2xpPgo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICcnICk8L2I+PC9wPgo8cD5BZGQgYSBDQydkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+CjxwPkFkZCBhIGN1c3RvbSBoZWFkZXIgdG8gdGhlIGVtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+QWRkRW1iZWRkZWRJbWFnZSggJHBhdGgsICRjaWQsICRuYW1lID0gJycsICRlbmNvZGluZyA9ICdiYXNlNjQnLCAkdHlwZSA9ICdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJyApPC9iPjwvcD4KPHA+QWRkIGFuIGVtYmVkZGVkIGltYWdlPC9wPgo8L2xpPgo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gJycgKTwvYj48L3A+CjxwPkFkZCBhIHJlcGx5IHRvIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9ICdiYXNlNjQnLCAkdHlwZSA9ICdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJyApPC9iPjwvcD4KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPgo8L2xpPgo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+CjxwPkNsZWFyIGFsbCBhZGRyZXNzZXM8L3A+CjwvbGk+CjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+CjxwPkNsZWFyIGFsbCByZWNpcGllbnRzPC9wPgo8L2xpPgo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4KPHA+Q2xlYXIgYWxsIGF0dGFjaG1lbnRzPC9wPgo8L2xpPgo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPgo8cD5DbGVhciBhbGwgQkNDIGFkZHJlc3NlczwvcD4KPC9saT4KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPgo8cD5DbGVhciBhbGwgQ0MgYWRkcmVzc2VzPC9wPgo8L2xpPgo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPgo8cD5DbGVhciBhbGwgY3VzdG9tIGhlYWRlcnM8L3A+CjwvbGk+CjxsaT48cD48Yj5DbGVhclJlcGx5dG8oKTwvYj48L3A+CjxwPkNsZWFyIHJlcGx5IHRvIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPgo8cD5DaGVjayBmb3IgYW4gZXJyb3IgY29uZGl0aW9uPC9wPgo8L2xpPgo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPgo8cD5TZXQgdGhlIGh0bWwgZmxhZzwvcD4KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+CjwvbGk+CjxsaT48cD48Yj5ib29sIElzTWFpbCgpPC9iPjwvcD4KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+Ym9vbCBJc1FtYWlsKCk8L2I+PC9wPgo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+SXNTZW5kbWFpbCgpPC9iPjwvcD4KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPklzU01UUCgpPC9iPjwvcD4KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPgo8L2xpPgo8bGk+PHA+PGI+U2VuZCgpPC9iPjwvcD4KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSAnJyApPC9iPjwvcD4KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+CjwvbGk+CjxsaT48cD48Yj5TbXRwQ2xvc2UoKTwvYj48L3A+CjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+CjwvbGk+CjwvdWw+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPSdodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9J2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyc+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0naXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgCjwvdWw+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dApvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0nbWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20nPiZsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9J2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCc+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4KPGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBDYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDUuMi4xNDxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPgo8dWw+CjxsaT5WZXJzaW9uIDEuNzMuMS4gT2N0b2JlciwgMjAwNS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHRoZSBhZG1pbiBwYW5lbC4gIFRoZSBkcm9wZG93biB3YXMgbm90IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSBwcmVmZXJlbmNlcyBkYXRhYmFzZTwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuNC4gTm92ZW1iZXIsIDIwMDUuIEZvcm0gZmllbGRzIGluIHByZWZlcmVuY2VzIGFyZSBsYXJnZXIsIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmcm9tdXNlciwgYW5kIGNhbGxlZCByZXNldCB3aXRoaW4gdGhlIGNvbnN0cnVjdG9yPC9saT4KPGxpPlZlcnNpb24gMS43My41LiBOb3ZlbWJlciwgMjAwNS4gQWRkZWQgdGhlIGZvcm0gZmllbGRzIGFuZCBmdW5jdGlvbmFsaXR5IGZvciBTTVRQIGF1dGhlbnRpY2F0aW9uLjwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPgo8bGk+VmVyc2lvbiAxLjczLjcuIEphbnVhcnksIDIwMDYuIEluY3JlYXNlZCBmaWVsZCBsZW5ndGhzIGluIG1vc3QgZmllbGRzPC9saT4KPGxpPlZlcnNpb24gMS43My44LiBKYW51YXJ5LCAyMDA2LiBDaGFuZ2VkIHRoZSBwcmVmZXJlbmNlcyBwYW5lbCB0byBiZSBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlLjwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuMTAuIEF1Z3VzdCwgMjAwNi4gTW9kaWZpZWQgdG8gdXNlIGxhenkgbG9hZGluZyB0byBtaW5pbWl6ZSBtZW1vcnkgZm9vdHByaW50IHdoZW4gQ01TTWFpbGVyIGlzIG5vdCBiZWluZyB1c2VkLjwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuMTMuIEphbnVhcnksIDIwMDguICBBZGRlZCBtb3JlIHBlcm1pc3Npb25zIGNoZWNrcy48L2xpPgo8bGk+VmVyc2lvbiAyLjAuMSAtIEphbnVhcnksIDIwMTEgLSBSZW1vdmUgY2FuY2VsIGJ1dHRvbi48L2xpPgo8bGk+VmVyc2lvbiAyLjAuMiAtIFNlcHRlbWJlciwgMjAxMSAtIFNldCBkZWZhdWx0IGNoYXJzZXQgdG8gdXRmLTguPC9saT4KPGxpPlZlcnNpb24gNS4yLjEgLSBKdW5lLCAyMDEyIC0gVXBkYXRlIG9mIGxpYnJhcnkgZmlsZXMuPC9saT4KPC91bD48YnIgLz4=]]></about>
	<description><![CDATA[This is a simple wrapper around PHPMailer, it has an equivalent API (function for function) and a simple interface for some defaults.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENNU01haWxlciAtIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIHBocG1haWxlcgojIFZlcnNpb246IDEuNzMuMTAsIFJvYmVydCBDYW1wYmVsbCA8cm9iQHRlY2hjb20uZHluZG5zLm9yZz4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiAgICBpZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKQogICAgICByZXR1cm47CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywKCQkJICAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkJICAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdzZXRhZG1pbnByZWZzJywgJHJldHVybmlkICkpOwoKICAgICRtYWlsZXJpdGVtcyA9IGFycmF5KCk7CiAgICAkbWFpbGVyaXRlbXNbJ21haWwnXSA9ICdtYWlsJzsKICAgICRtYWlsZXJpdGVtc1snc2VuZG1haWwnXSA9ICdzZW5kbWFpbCc7CiAgICAkbWFpbGVyaXRlbXNbJ3NtdHAnXSA9ICdzbXRwJzsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X21haWxlcicsICR0aGlzLT5MYW5nKCdtYWlsZXInKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2luZm9fbWFpbGVyJywgJHRoaXMtPkxhbmcoJ2luZm9fbWFpbGVyJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9tYWlsZXInLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCAkaWQsICdpbnB1dF9tYWlsZXInLAoJCQkJCQkgICAgICAkbWFpbGVyaXRlbXMsIC0xLAoJCQkJCQkgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWFpbGVyJywtMSkpKTsKCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9ob3N0JywgJHRoaXMtPkxhbmcoJ2hvc3QnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2luZm9faG9zdCcsICR0aGlzLT5MYW5nKCdpbmZvX2hvc3QnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2hvc3QnLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0X2hvc3QnLAoJCQkJCQkgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdob3N0JyksCgkJCQkJCSAgNTAsIDgwICkpOwoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3BvcnQnLCAkdGhpcy0+TGFuZygncG9ydCcpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5mb19wb3J0JywgJHRoaXMtPkxhbmcoJ2luZm9fcG9ydCcpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfcG9ydCcsCgkJCSAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfcG9ydCcsCgkJCQkJCSAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BvcnQnKSwKCQkJCQkJICA2LCA4KSk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZnJvbScsICR0aGlzLT5MYW5nKCdmcm9tJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbmZvX2Zyb20nLCAkdGhpcy0+TGFuZygnaW5mb19mcm9tJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9mcm9tJywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF9mcm9tJywKCQkJCQkJICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJvbScpLAoJCQkJCQkgIDgwLCA4MCkpOwoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X2Zyb211c2VyJywkdGhpcy0+TGFuZygnZnJvbXVzZXInKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2luZm9fZnJvbXVzZXInLCAkdGhpcy0+TGFuZygnaW5mb19mcm9tdXNlcicpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZnJvbXVzZXInLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0X2Zyb211c2VyJywKCQkJCQkJICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJvbXVzZXInKSwKCQkJCQkJICA1MCwgODApKTsKCQkJICAKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3NlbmRtYWlsJywkdGhpcy0+TGFuZygnc2VuZG1haWwnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2luZm9fc2VuZG1haWwnLCAkdGhpcy0+TGFuZygnaW5mb19zZW5kbWFpbCcpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfc2VuZG1haWwnLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0X3NlbmRtYWlsJywKCQkJCQkJICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VuZG1haWwnKSwKCQkJCQkJICA1MCwgMjU1KSk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGltZW91dCcsICR0aGlzLT5MYW5nKCd0aW1lb3V0JykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbmZvX3RpbWVvdXQnLCAkdGhpcy0+TGFuZygnaW5mb190aW1lb3V0JykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF90aW1lb3V0JywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF90aW1lb3V0JywKCQkJCQkJICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGltZW91dCcpLAoJCQkJCQkgIDUsIDUpKTsKCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zbXRwYXV0aCcsICR0aGlzLT5MYW5nKCdzbXRwYXV0aCcpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5mb19zbXRwYXV0aCcsICR0aGlzLT5MYW5nKCdpbmZvX3NtdHBhdXRoJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zbXRwYXV0aCcsCgkJCSAgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaW5wdXRfc210cGF1dGgnLDEsCgkJCQkJCSAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NtdHBhdXRoJykpKTsKCiAgICAkb3B0cyA9IGFycmF5KCk7CiAgICAkb3B0c1snJ10gPSAkdGhpcy0+TGFuZygnbm9uZScpOwogICAgJG9wdHNbJ3NzbCddID0gJHRoaXMtPkxhbmcoJ3NzbCcpOwogICAgJG9wdHNbJ3RscyddID0gJHRoaXMtPkxhbmcoJ3RscycpOwogICAgJG9wdHMgPSBhcnJheV9mbGlwKCRvcHRzKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvbXB0X3NlY3VyZScsICR0aGlzLT5MYW5nKCdzZWN1cmUnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2luZm9fc2VjdXJlJywgJHRoaXMtPkxhbmcoJ2luZm9fc2VjdXJlJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zZWN1cmUnLAoJCQkgICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfc2VjdXJlJywkb3B0cywKCQkJCQkJICAgICAtMSwkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VjdXJlJywnJykpKTsKCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF91c2VybmFtZScsICR0aGlzLT5MYW5nKCd1c2VybmFtZScpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5mb191c2VybmFtZScsICR0aGlzLT5MYW5nKCdpbmZvX3VzZXJuYW1lJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF91c2VybmFtZScsCgkJCSAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfdXNlcm5hbWUnLAoJCQkJCQkgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VybmFtZScpLAoJCQkJCQkgIDUwLCAyNTUpKTsKCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9wYXNzd29yZCcsICR0aGlzLT5MYW5nKCdwYXNzd29yZCcpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaW5mb19wYXNzd29yZCcsICR0aGlzLT5MYW5nKCdpbmZvX3Bhc3N3b3JkJykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYXNzd29yZCcsICR0aGlzLT5DcmVhdGVJbnB1dFBhc3N3b3JkKCAkaWQsICdpbnB1dF9wYXNzd29yZCcsICcnLCAzMCwgMzApKTsKCiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZXN0YWRkcmVzcycsIAoJCQkgICR0aGlzLT5MYW5nKCdwcm9tcHRfdGVzdGFkZHJlc3MnKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3Rlc3RhZGRyZXNzJywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF90ZXN0YWRkcmVzcycsCgkJCQkJCSAgJycsCgkJCQkJCSAgNDAsIDI1NSkpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzZW5kdGVzdCcsCgkJCSAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCAkaWQsICdzZW5kdGVzdCcsCgkJCQkJCSAgICAkdGhpcy0+TGFuZygnc2VuZHRlc3QnKSwgJycsICcnLCAkdGhpcy0+TGFuZygnc2VuZHRlc3RtYWlsY29uZmlybScpKSk7CgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfY2hhcnNldCcsCgkJICAgICR0aGlzLT5MYW5nKCdjaGFyc2V0JykpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jaGFyc2V0JywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2NoYXJzZXQnLAoJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjaGFyc2V0JywndXRmLTgnKSwKCQkJCQkgICA0MCw0MCkpOwoKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkJICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoICRpZCwgJ3N1Ym1pdCcsIAoJCQkJCQkgICAgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpLCAnJywgJycsCgkJCQkJCSAgICAkdGhpcy0+TGFuZygnc2V0dGluZ3Njb25maXJtJykpKTsKCiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ByZWZzLnRwbCcpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/CMSMailer.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENNU01haWxlciAtIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIHBocG1haWxlcgojIFZlcnNpb246IDEuNzMuMTAsIFJvYmVydCBDYW1wYmVsbCA8cm9iQHRlY2hjb20uZHluZG5zLm9yZz4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKiBZb3VyIGluaXRpYWwgQ2xhc3MgZGVjbGFyYXRpb24uIFRoaXMgZmlsZSdzIG5hbWUgbXVzdAogICBiZSAiW2NsYXNzJ3MgbmFtZV0ubW9kdWxlLnBocCIsIG9yLCBpbiB0aGlzIGNhc2UsCiAgIFNrZWxldG9uLm1vZHVsZS5waHAKKi8gCmNsYXNzIENNU01haWxlciBleHRlbmRzIENNU01vZHVsZQp7CiAgdmFyICR0aGVfbWFpbGVyID0gbnVsbDsKCiAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXROYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXROYW1lKCkKICB7CiAgICByZXR1cm4gJ0NNU01haWxlcic7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RnJpZW5kbHlOYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQoKCQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKICAgIHJldHVybiAnNS4yLjE0JzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNaW5pbXVtQ01TVmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS43JzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRIZWxwKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRIZWxwKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICB7CiAgICByZXR1cm4gJ0NhbGd1eTEwMDAnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvckVtYWlsKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwQGhvdG1haWwuY29tJzsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldENoYW5nZUxvZygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwogIH0KCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSXNQbHVnaW5Nb2R1bGUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pblNlY3Rpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCiAgewogICAgcmV0dXJuICdleHRlbnNpb25zJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBWaXNpYmxlVG9BZG1pblVzZXIoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJyApOwogIH0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RGVwZW5kZW5jaWVzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKICAgIHJldHVybiBhcnJheSgpOwogIH0KICAKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSW5zdGFsbCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSW5zdGFsbCgpCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ21haWxlcicsICdzbXRwJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaG9zdCcsICdsb2NhbGhvc3QnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwb3J0JywgMjUgKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmcm9tJywgJ3Jvb3RAbG9jYWxob3N0Jyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZnJvbXVzZXInLCAnQ01TIEFkbWluaXN0cmF0b3InKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZW5kbWFpbCcsICcvdXNyL3NiaW4vc2VuZG1haWwnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0aW1lb3V0JywgMTAwMCk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc210cGF1dGgnLDApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZXJuYW1lJywnJyk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFzc3dvcmQnLCcnKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWN1cmUnLCcnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwogIH0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTGF6eUxvYWRGcm9udGVuZCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTGF6eUxvYWRGcm9udGVuZCgpCiAgewogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVcGdyYWRlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVcGdyYWRlKCRvbGR2ZXJzaW9uLCAkbmV3dmVyc2lvbikKICB7CiAgICAvLyBub3RoaW5nIGhlcmUKICB9CgkKCQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVuaW5zdGFsbCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsKCkKICB7CiAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnbWFpbGVyJyk7CiAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnaG9zdCcpOwogICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3BvcnQnKTsKICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdmcm9tJyk7CiAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnZnJvbXVzZXInKTsKICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdzZW5kbWFpbCcpOwogICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3RpbWVvdXQnKTsKICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdzbXRwYXV0aCcsMCk7CiAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgndXNlcm5hbWUnKTsKICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdwYXNzd29yZCcpOwogICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3NlY3VyZScpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIERvQWN0aW9uKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBEb0FjdGlvbigkYWN0aW9uLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZD0tMSkKICB7CiAgICAkZ0NtcyA9IGNtc21zKCk7CiAgICAkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwogICAgJHNtYXJ0eS0+YXNzaWduX2J5X3JlZignbW9kJywkdGhpcyk7CgogICAgc3dpdGNoICgkYWN0aW9uKQogICAgICB7CiAgICAgIGNhc2UgJ2RlZmF1bHQnOgoJewoJICBicmVhazsKCX0KICAgICAgY2FzZSAnc2V0YWRtaW5wcmVmcyc6Cgl7CgkgICR0aGlzLT5fU2V0QWRtaW5QcmVmcyggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgYnJlYWs7Cgl9CiAgICAgIGRlZmF1bHQ6CglwYXJlbnQ6OkRvQWN0aW9uKCRhY3Rpb24sJGlkLCRwYXJhbXMsJHJldHVybmlkKTsKICAgICAgfQogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIERpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQsICRtZXNzYWdlPScnKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZXJyb3InLCAkdGhpcy0+TGFuZygnZXJyb3InKSk7CiAgICBpZiAoJG1lc3NhZ2UgIT0gJycpCiAgICAgIHsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICRtZXNzYWdlKTsKICAgICAgfQogICAgCiAgICAvLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXJyb3IudHBsJyk7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXROb3RpZmljYXRpb25PdXRwdXQoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldE5vdGlmaWNhdGlvbk91dHB1dCgkcHJpb3JpdHkgPSAzKQogIHsKICAgIGlmKCAhZ2V0X3NpdGVfcHJlZmVyZW5jZSgnbWFpbF9pc19zZXQnLDApICkKICAgICAgewoJJG9iaiA9IG5ldyBTdGRDbGFzczsKCSRvYmotPnByaW9yaXR5ID0gMTsKCSRvYmotPmxpbmsgPSAkdGhpcy0+Y3JlYXRlX3VybCgnbTFfJywnZGVmYXVsdGFkbWluJyk7Cgkkb2JqLT5odG1sID0gbGFuZygnd2FybmluZ19tYWlsX3NldHRpbmdzJywgJG9iai0+bGluaykuJyZuYnNwOycuJHRoaXMtPkxhbmcoJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJyk7CgkKCXJldHVybiAkb2JqOwogICAgICB9CiAgfQoKICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgLy8vLyBCRUdJTiBBUEkgU0VDVElPTgogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgcmVzZXQoKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIHJlc2V0KCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5UaW1lb3V0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RpbWVvdXQnKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5TZW5kbWFpbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZW5kbWFpbCcpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPlBvcnQgICA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwb3J0Jyk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+TWFpbGVyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21haWxlcicpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkZyb21OYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Zyb211c2VyJyk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+RnJvbSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcm9tJyk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+SG9zdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdob3N0Jyk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+U01UUEF1dGggPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc210cGF1dGgnKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5Vc2VybmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VybmFtZScpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPlBhc3N3b3JkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkJyk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+U01UUFNlY3VyZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWN1cmUnKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5FcnJvckluZm8gPSAnJzsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5DbGVhckFkZHJlc3NlcygpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNsZWFyQXR0YWNobWVudHMoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5DbGVhckN1c3RvbUhlYWRlcnMoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5DbGVhckJDQ3MoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5DbGVhckNDcygpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNsZWFyUmVwbHlUb3MoKTsKICAgICRjaGFyc2V0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoYXJzZXQnLCd1dGYtOCcpOwogICAgaWYoICRjaGFyc2V0ID09ICcnICkgJGNoYXJzZXQgPSAndXRmLTgnOwogICAgJHRoaXMtPlNldENoYXJTZXQoJGNoYXJzZXQpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9TZXRBZG1pblByZWZzKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCApCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX1NldEFkbWluUHJlZnMoJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBpZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSByZXR1cm47CgogICAgc2V0X3NpdGVfcHJlZmVyZW5jZSgnbWFpbF9pc19zZXQnLDEpOwoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbWFpbGVyJ10gKSApICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtYWlsZXInLCRwYXJhbXNbJ2lucHV0X21haWxlciddKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfaG9zdCddICkgKSAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaG9zdCcsJHBhcmFtc1snaW5wdXRfaG9zdCddKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfc2VjdXJlJ10gKSApICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWN1cmUnLCRwYXJhbXNbJ2lucHV0X3NlY3VyZSddKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcG9ydCddICkgKSAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncG9ydCcsJHBhcmFtc1snaW5wdXRfcG9ydCddKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZnJvbSddICkgKSAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZnJvbScsJHBhcmFtc1snaW5wdXRfZnJvbSddKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZnJvbXVzZXInXSApICkgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Zyb211c2VyJywkcGFyYW1zWydpbnB1dF9mcm9tdXNlciddKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfc2VuZG1haWwnXSApICkgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbmRtYWlsJywkcGFyYW1zWydpbnB1dF9zZW5kbWFpbCddKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdGltZW91dCddICkgKSAkdGhpcy0+U2V0UHJlZmVyZW5jZSgndGltZW91dCcsJHBhcmFtc1snaW5wdXRfdGltZW91dCddKTsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfY2hhcnNldCddICkgKSAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2hhcnNldCcsdHJpbSgkcGFyYW1zWydpbnB1dF9jaGFyc2V0J10pKTsKCiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3NtdHBhdXRoJ10gKSApIHsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NtdHBhdXRoJywkcGFyYW1zWydpbnB1dF9zbXRwYXV0aCddKTsKICAgIH0KICAgIGVsc2UgewogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc210cGF1dGgnLDApOwogICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICYmICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gIT0gJycgKSB7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VybmFtZScsJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSk7CiAgICB9CgogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddICkgJiYgJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSAhPSAnJyApIHsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Bhc3N3b3JkJywkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKTsKICAgIH0KCiAgICAkdGhpcy0+cmVzZXQoKTsKCiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ3NlbmR0ZXN0J10gKSApIHsKICAgICAgLy8gaGVyZSB3ZSdyZSBnb25uYSBzZW5kIGEgbmljZSwgaGFyZCBjb2RlZCB0ZXN0IG1lc3NhZ2UKICAgICAgaWYoICFpc3NldCggJHBhcmFtc1snaW5wdXRfdGVzdGFkZHJlc3MnXSApIHx8IHRyaW0oJHBhcmFtc1snaW5wdXRfdGVzdGFkZHJlc3MnXSkgPT0gJycgKSB7CgkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnZXJyb3Jfbm90ZXN0YWRkcmVzcycpKTsKCXJldHVybjsKICAgICAgfQogICAgICBlbHNlIHsKCSR0aGlzLT5BZGRBZGRyZXNzKCAkcGFyYW1zWydpbnB1dF90ZXN0YWRkcmVzcyddICk7CgkkdGhpcy0+SXNIVE1MKHRydWUpOwoJJHRoaXMtPlNldEJvZHkoICR0aGlzLT5MYW5nKCd0ZXN0Ym9keScpKTsKCSR0aGlzLT5TZXRTdWJqZWN0KCAkdGhpcy0+TGFuZygndGVzdHN1YmplY3QnKSk7CgkkdGhpcy0+U2VuZCgpOwoJJHRoaXMtPnJlc2V0KCk7IC8vIHllcywgYW5vdGhlciByZXNldAogICAgICB9CiAgICB9CgogICAgJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICB9CgogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIC8vICAgICAgICAgICAgICAgICAgICAgVVRJTElUSUVTICAgICAgICAgICAgICAgICAgICAgICAgICAvLwogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIGZ1bmN0aW9uIF9sb2FkKCkKICB7CiAgICBpZiggJHRoaXMtPnRoZV9tYWlsZXIgPT0gTlVMTCApCiAgICAgIHsKCXJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL3BocG1haWxlci9QSFBNYWlsZXJBdXRvbG9hZC5waHAnICk7CgkkdGhpcy0+dGhlX21haWxlciA9IG5ldyBQSFBNYWlsZXI7CgkkdGhpcy0+dGhlX21haWxlci0+UGx1Z2luRGlyPWRpcm5hbWUoX19GSUxFX18pLicvcGhwbWFpbGVyLyc7CgkkdGhpcy0+cmVzZXQoKTsKICAgICAgfQogIH0KCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgLy8gICAgICAgICAgICAgICAgICAgICBBUEkgRlVOQ1RJT05TICAgICAgICAgICAgICAgICAgICAgIC8vCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogIGZ1bmN0aW9uIEdldEFsdEJvZHkoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5BbHRCb2R5OwogIH0KCiAgZnVuY3Rpb24gU2V0QWx0Qm9keSggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+QWx0Qm9keSA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBHZXRCb2R5KCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+Qm9keTsKICB9CgogIGZ1bmN0aW9uIFNldEJvZHkoICR0eHQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkJvZHkgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0Q2hhclNldCgpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPkNoYXJTZXQ7CiAgfQoKICBmdW5jdGlvbiBTZXRDaGFyU2V0KCAkdHh0ICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5DaGFyU2V0ID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldENvbmZpcm1SZWFkaW5nVG8oKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Db25maXJtUmVhZGluZ1RvOwogIH0KCiAgZnVuY3Rpb24gU2V0Q29uZmlybVJlYWRpbmdUbyggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+Q29uZmlybVJlYWRpbmdUbyA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBHZXRDb250ZW50VHlwZSgpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPkNvbnRlbnRUeXBlOwogIH0KCiAgZnVuY3Rpb24gU2V0Q29udGVudFR5cGUoICR0eHQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNvbnRlbnRUeXBlID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldEVuY29kaW5nKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+RW5jb2Rpbmc7CiAgfQoKICBmdW5jdGlvbiBTZXRFbmNvZGluZyggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+RW5jb2RpbmcgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0RXJyb3JJbmZvKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+RXJyb3JJbmZvOwogIH0KCiAgZnVuY3Rpb24gR2V0RnJvbSgpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPkZyb207CiAgfQoKICBmdW5jdGlvbiBTZXRGcm9tKCAkdHh0ICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5Gcm9tID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldEZyb21OYW1lKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+RnJvbU5hbWU7CiAgfQoKICBmdW5jdGlvbiBTZXRGcm9tTmFtZSggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+RnJvbU5hbWUgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0SGVsbygpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPkhlbG87CiAgfQoKICBmdW5jdGlvbiBTZXRIZWxvKCAkdHh0ICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5IZWxvID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldEhvc3QoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Ib3N0OwogIH0KCiAgZnVuY3Rpb24gU2V0SG9zdCggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+SG9zdCA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBHZXRIb3N0bmFtZSgpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPkhvc3RuYW1lOwogIH0KCiAgZnVuY3Rpb24gU2V0SG9zdG5hbWUoICR0eHQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkhvc3RuYW1lID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldE1haWxlcigpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPk1haWxlcjsKICB9CgogIGZ1bmN0aW9uIFNldE1haWxlciggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+TWFpbGVyID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldFBhc3N3b3JkKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+UGFzc3dvcmQ7CiAgfQoKICBmdW5jdGlvbiBTZXRQYXNzd29yZCggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+UGFzc3dvcmQgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0UG9ydCgpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPlBvcnQ7CiAgfQoKICBmdW5jdGlvbiBTZXRQb3J0KCAkdHh0ICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5Qb3J0ID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldFByaW9yaXR5KCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+UHJpb3JpdHk7CiAgfQoKICBmdW5jdGlvbiBTZXRQcmlvcml0eSggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+UHJpb3JpdHkgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0U2VuZGVyKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+U2VuZGVyOwogIH0KCiAgZnVuY3Rpb24gU2V0U2VuZGVyKCAkdHh0ICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5TZW5kZXIgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0U2VuZG1haWwoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5TZW5kbWFpbDsKICB9CgogIGZ1bmN0aW9uIFNldFNlbmRtYWlsKCAkdHh0ICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5TZW5kbWFpbCA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBHZXRTTVRQQXV0aCgpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPlNNVFBBdXRoOwogIH0KCiAgZnVuY3Rpb24gU2V0U01UUEF1dGgoICR0eHQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPlNNVFBBdXRoID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldFNNVFBEZWJ1ZygpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPlNNVFBEZWJ1ZzsKICB9CgogIGZ1bmN0aW9uIFNldFNNVFBEZWJ1ZyggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+U01UUERlYnVnID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldFNNVFBLZWVwQWxpdmUoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5TTVRQS2VlcEFsaXZlOwogIH0KCiAgZnVuY3Rpb24gU2V0U01UUEtlZXBBbGl2ZSggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+U01UUEtlZXBBbGl2ZSA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBHZXRTdWJqZWN0KCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+U3ViamVjdDsKICB9CgogIGZ1bmN0aW9uIFNldFN1YmplY3QoICR0eHQgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPlN1YmplY3QgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0VGltZW91dCgpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPlRpbWVvdXQ7CiAgfQoKICBmdW5jdGlvbiBTZXRUaW1lb3V0KCAkdHh0ICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5UaW1lb3V0ID0gJHR4dDsKICB9CgogIGZ1bmN0aW9uIEdldFVzZXJuYW1lKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+VXNlcm5hbWU7CiAgfQoKICBmdW5jdGlvbiBTZXRVc2VybmFtZSggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+VXNlcm5hbWUgPSAkdHh0OwogIH0KCiAgZnVuY3Rpb24gR2V0V29yZFdyYXAoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Xb3JkV3JhcDsKICB9CgogIGZ1bmN0aW9uIFNldFdvcmRXcmFwKCAkdHh0ICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5Xb3JkV3JhcCA9ICR0eHQ7CiAgfQoKICBmdW5jdGlvbiBBZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSAnJyApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSApOwogIH0KCiAgZnVuY3Rpb24gQWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gJycsICRlbmNvZGluZyA9ICdiYXNlNjQnLAoJCQkgICR0eXBlID0gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUsICRlbmNvZGluZywgJHR5cGUgKTsKICB9CgogIGZ1bmN0aW9uIEFkZEJDQyggJGFkZHIsICRuYW1lID0gJycgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkFkZEJDQyggJGFkZHIsICRuYW1lICk7CiAgfQoKICBmdW5jdGlvbiBBZGRDQyggJGFkZHIsICRuYW1lID0gJycgKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkFkZENDKCAkYWRkciwgJG5hbWUgKTsKICB9CgogIGZ1bmN0aW9uIEFkZEN1c3RvbUhlYWRlciggJHR4dCApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk7CiAgfQoKICBmdW5jdGlvbiBBZGRFbWJlZGRlZEltYWdlKCAkcGF0aCwgJGNpZCwgJG5hbWUgPSAnJywgJGVuY29kaW5nID0gJ2Jhc2U2NCcsCgkJCSAgICAgJHR5cGUgPSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAKCQkJCQkJJG5hbWUsICRlbmNvZGluZywgJHR5cGUgKTsKICB9CgogIGZ1bmN0aW9uIEFkZFJlcGx5VG8oICRhZGRyLCAkbmFtZSA9ICcnICkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5BZGRSZXBseVRvKCAkYWRkciwgJG5hbWUgKTsKICB9CgoKICBmdW5jdGlvbiBBZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9ICdiYXNlNjQnLAoJCQkJJHR5cGUgPSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcsICR0eXBlICk7CiAgfQoKICBmdW5jdGlvbiBDbGVhckFkZHJlc3NlcygpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+Q2xlYXJBZGRyZXNzZXMoKTsKICB9CgogIGZ1bmN0aW9uIENsZWFyQWxsUmVjaXBpZW50cygpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+Q2xlYXJBbGxSZWNpcGllbnRzKCk7CiAgfQoKICBmdW5jdGlvbiBDbGVhckF0dGFjaG1lbnRzKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgICR0aGlzLT50aGVfbWFpbGVyLT5DbGVhckF0dGFjaG1lbnRzKCk7CiAgfQoKICBmdW5jdGlvbiBDbGVhckJDQ3MoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNsZWFyQkNDcygpOwogIH0KCiAgZnVuY3Rpb24gQ2xlYXJDQ3MoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNsZWFyQ0NzKCk7CiAgfQoKICBmdW5jdGlvbiBDbGVhckN1c3RvbUhlYWRlcnMoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgJHRoaXMtPnRoZV9tYWlsZXItPkNsZWFyQ3VzdG9tSGVhZGVycygpOwogIH0KCiAgZnVuY3Rpb24gQ2xlYXJSZXBseVRvcygpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICAkdGhpcy0+dGhlX21haWxlci0+Q2xlYXJSZXBseVRvcygpOwogIH0KICAKICBmdW5jdGlvbiBJc0Vycm9yKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+SXNFcnJvcigpOwogIH0KCiAgZnVuY3Rpb24gSXNIVE1MKCR2YXIgPSB0cnVlKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Jc0hUTUwoJHZhcik7CiAgfQoKICBmdW5jdGlvbiBJc01haWwoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Jc01haWwoKTsKICB9CgogIGZ1bmN0aW9uIElzUW1haWwoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5Jc1FtYWlsKCk7CiAgfQoKICBmdW5jdGlvbiBJc1NlbmRtYWlsKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+SXNTZW5kbWFpbCgpOwogIH0KCiAgZnVuY3Rpb24gSXNTTVRQKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+SXNTTVRQKCk7CiAgfQoKICBmdW5jdGlvbiBTZW5kKCkKICB7CiAgICAkdGhpcy0+X2xvYWQoKTsKICAgIHJldHVybiAkdGhpcy0+dGhlX21haWxlci0+U2VuZCgpOwogIH0KCiAgZnVuY3Rpb24gU2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSAnJyApCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPlNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoICk7CiAgfQoKICBmdW5jdGlvbiBTbXRwQ2xvc2UoKQogIHsKICAgICR0aGlzLT5fbG9hZCgpOwogICAgcmV0dXJuICR0aGlzLT50aGVfbWFpbGVyLT5TbXRwQ2xvc2UoKTsKICB9CgogIGZ1bmN0aW9uIEdldFNlY3VyZSgpCiAgewogICAgJHRoaXMtPl9sb2FkKCk7CiAgICByZXR1cm4gJHRoaXMtPnRoZV9tYWlsZXItPlNNVFBTZWN1cmU7CiAgfQoKICBmdW5jdGlvbiBTZXRTZWN1cmUoJHZhbHVlKQogIHsKICAgICR2YWx1ZSA9IHN0cnRvbG93ZXIoJHZhbHVlKTsKICAgIGlmKCAkdmFsdWUgPT0gJycgfHwgJHZhbHVlID09ICdzc2wnIHx8ICR2YWx1ZSA9PSAndGxzJyApCiAgICAgIHsKCSR0aGlzLT5fbG9hZCgpOwoJJHRoaXMtPnRoZV9tYWlsZXItPlNNVFBTZWN1cmUgPSAkdmFsdWU7CiAgICAgIH0KICB9Cgp9IC8vIGNsYXNzIENNU01haWxlcgoKPz4K]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnVGhpcyB0ZXN0IGlzIGdlbmVyYXRlZCBvbiBhbiBpbmZyZXF1ZW50IGJhc2lzLiAgSXQgbWF5IHRha2Ugc29tZSB0aW1lIGZvciBpdCB0byBnbyBhd2F5JzsKJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsKJGxhbmdbJ3NzbCddID0gJ1NTTCc7CiRsYW5nWyd0bHMnXSA9ICdUTFMnOwokbGFuZ1snc2VjdXJlJ10gPSAnRW5jcnlwdGlvbiBtZWNoYW5pc20nOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIFNNVFAgbWFpbGVyIG1ldGhvZCwgdGhpcyBvcHRpb24gYWxsb3dzIHNwZWNpZnlpbmcgZGlmZmVyZW50IGVuY3J5cHRpb24gbWVjaGFuaXNtcyBmb3IgdGhlIGNvbm5lY3Rpb24nOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICdUaGlzIG1vZHVsZSBpcyB1c2VkIGJ5IG51bWVyb3VzIG90aGVyIG1vZHVsZXMgdG8gZmFjaWxpdGF0ZSBzZW5kaW5nIGVtYWlscy4gIEl0IG11c3QgYmUgcHJvcGVybHkgY29uZmlndXJlZCB0byB5b3VyIGhvc3RzIHJlcXVpcmVtZW50cy4gIFBsZWFzZSB1c2UgdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IHlvdXIgaG9zdCB0byBhZGp1c3QgdGhlc2Ugc2V0dGluZ3MuICBJZiB5b3Ugc3RpbGwgY2Fubm90IGdldCB0aGUgdGVzdCBtZXNzYWdlIHRvIHNlbmQgcHJvcGVybHksIHlvdSBtYXkgaGF2ZSB0byBjb250YWN0IHlvdXIgaG9zdCBmb3IgYXNzaXN0YW5jZS4nOwokbGFuZ1snY2hhcnNldCddID0gJ0NoYXJhY3RlciBTZXQnOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ1RoaXMgd2lsbCBzZW5kIGEgdGVzdCBtZXNzYWdlIHRvIHRoZSBhZGRyZXNzIHNwZWNpZmllZC4gSWYgdGhlIHNlbmQgcHJvY2VzcyBzdWNlZWRlZCwgeW91IHdpbGwgYmUgcmV0dXJuZWQgdG8gdGhpcyBwYWdlLiAgRG8geW91IHdhbnQgdG8gY29udGludWU/JzsKJGxhbmdbJ3NldHRpbmdzY29uZmlybSddID0gJ1dyaXRlIGN1cnJlbnQgdmFsdWVzIHRvIENNU01haWxlciBzZXR0aW5ncz8nOwokbGFuZ1sndGVzdHN1YmplY3QnXSA9ICdDTVNNYWlsZXIgVGVzdCBNZXNzYWdlJzsKJGxhbmdbJ3Rlc3Rib2R5J10gPSAnVGhpcyBtZXNzYWdlIGlzIGludGVuZGVkIG9ubHkgdG8gdmVyaWZ5IHRoZSB2YWxpZGl0eSBvZiB0aGUgc2V0dGluZ3MgaW4gdGhlIENNU01haWxlciBtb2R1bGUuCklmIHlvdSByZWNlaXZlZCBpdCwgZXZlcnl0aGluZyBpcyB3b3JraW5nIGZpbmUuJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICdFcnJvcjogVGVzdCBhZGRyZXNzIG5vdCBzcGVjaWZpZWQnOwokbGFuZ1sncHJvbXB0X3Rlc3RhZGRyZXNzJ10gPSAnVGVzdCBFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ3NlbmR0ZXN0J10gPSAnU2VuZCBUZXN0IE1lc3NhZ2UnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKJGxhbmdbJ3NtdHBhdXRoJ10gPSAnU01UUCBBdXRoZW50aWNhdGlvbic7CiRsYW5nWydtYWlsZXInXSAgID0gJ01haWxlciBtZXRob2QnOwokbGFuZ1snaG9zdCddICAgICA9ICdTTVRQIGhvc3QgbmFtZTxici8+PGk+KG9yIElQIGFkZHJlc3MpPC9pPic7CiRsYW5nWydwb3J0J10gICAgID0gJ1BvcnQgb2YgU01UUCBzZXJ2ZXInOwokbGFuZ1snZnJvbSddICAgICA9ICdGcm9tIGFkZHJlc3MnOwokbGFuZ1snZnJvbXVzZXInXSA9ICdGcm9tIFVzZXJuYW1lJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnU2VuZG1haWwgbG9jYXRpb24nOwokbGFuZ1sndGltZW91dCddICA9ICdTTVRQIHRpbWVvdXQnOwokbGFuZ1snc3VibWl0J10gICA9ICdTdWJtaXQnOwokbGFuZ1snY2FuY2VsJ10gICA9ICdDYW5jZWwnOwokbGFuZ1snaW5mb19tYWlsZXInXSA9ICdNYWlsIG1ldGhvZCB0byB1c2UgKHNlbmRtYWlsLCBzbXRwLCBtYWlsKS4gIFVzdWFsbHkgc210cCBpcyB0aGUgbW9zdCByZWxpYWJsZS4nOwokbGFuZ1snaW5mb19ob3N0J10gPSAnU01UUCBob3N0bmFtZSAob25seSB2YWxpZCBmb3IgdGhlIHNtdHAgbWFpbGVyIG1ldGhvZCknOwokbGFuZ1snaW5mb19wb3J0J10gPSAnU01UUCBwb3J0IG51bWJlciAodXN1YWxseSAyNSkgKG9ubHkgdmFsaWQgZm9yIHRoZSBzbXRwIG1haWxlciBtZXRob2QpJzsKJGxhbmdbJ2luZm9fZnJvbSddID0gJ0FkZHJlc3MgdXNlZCBhcyB0aGUgc2VuZGVyIGluIGFsbCBlbWFpbHMuIDxici8+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+LCB0aGlzIGVtYWlsIGFkZHJlc3MgbXVzdCBiZSBzZXQgY29ycmVjdGx5IGZvciB5b3VyIGhvc3Qgb3IgeW91IHdpbGwgaGF2ZSBkaWZmaWN1bHR5IHNlbmRpbmcgZW1haWxzLjxici8+SWYgeW91IGRvIG5vdCBrbm93IHRoZSBwcm9wZXIgdmFsdWUgZm9yIHRoaXMgc2V0dGluZywgeW91IG1heSBuZWVkIHRvIGNvbnRhY3QgeW91ciBob3N0Lic7CiRsYW5nWydpbmZvX2Zyb211c2VyJ10gPSAnRnJpZW5kbHkgbmFtZSB1c2VkIGZvciBzZW5kaW5nIGFsbCBlbWFpbHMnOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ1RoZSBjb21wbGV0ZSBwYXRoIHRvIHlvdXIgc2VuZG1haWwgZXhlY3V0YWJsZSAob25seSB2YWxpZCBmb3IgdGhlIHNlbmRtYWlsIG1haWxlciBtZXRob2QpJzsKJGxhbmdbJ2luZm9fdGltZW91dCddID0gJ1RoZSBudW1iZXIgb2Ygc2Vjb25kcyBpbiBhbiBTTVRQIGNvbnZlcnNhdGlvbiBiZWZvcmUgYW4gZXJyb3Igb2NjdXJzICh2YWxpZCBmb3IgdGhlIHNtdHAgbWFpbGVyIG1ldGhvZCknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ0RvZXMgeW91ciBzbXRwIGhvc3QgcmVxdWlyZSBhdXRoZW50aWNhdGlvbiAodmFsaWQgb25seSBmb3IgdGhlIHNtdHAgbWFpbGVyIG1ldGhvZCknOwokbGFuZ1snaW5mb191c2VybmFtZSddID0gJ1NNVFAgYXV0aGVudGljYXRpb24gdXNlcm5hbWUgKHZhbGlkIG9ubHkgZm9yIHNtdHAgbWFpbGVyIG1ldGhvZCwgd2hlbiBzbXRwIGF1dGggaXMgc2VsZWN0ZWQpJzsKJGxhbmdbJ2luZm9fcGFzc3dvcmQnXSA9ICdTTVRQIGF1dGhlbnRpY2F0aW9uIHBhc3N3b3JkICh2YWxpZCBvbmx5IGZvciBzbXRwIG1haWxlciBtZXRob2QsIHdoZW4gc210cCBhdXRoIGlzIHNlbGVjdGVkKSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDTVNNYWlsZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdDTVNNYWlsZXIgbW9kdWxlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NNU01haWxlciBtb2R1bGUgdW5pbnN0YWxsZWQuLi4gc29ycnkgdG8gc2VlIHlvdSBsZWF2ZSc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1snc2V0dGluZ3NfdGl0bGUnXSA9ICdTZXR0aW5ncyc7CiRsYW5nWyd0ZXN0X3RpdGxlJ10gPSAnVGVzdCc7IAokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWxlIFByZWZlcmVuY2VzJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZSBBZG1pbiBQYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0NNU01haWxlciBNb2R1bGUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUaGlzIGlzIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIFBIUE1haWxlciwgaXQgaGFzIGFuIGVxdWl2YWxlbnQgQVBJIChmdW5jdGlvbiBmb3IgZnVuY3Rpb24pIGFuZCBhIHNpbXBsZSBpbnRlcmZhY2UgZm9yIHNvbWUgZGVmYXVsdHMuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJwo8dWw+CjxsaT5WZXJzaW9uIDEuNzMuMS4gT2N0b2JlciwgMjAwNS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHRoZSBhZG1pbiBwYW5lbC4gIFRoZSBkcm9wZG93biB3YXMgbm90IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSBwcmVmZXJlbmNlcyBkYXRhYmFzZTwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuNC4gTm92ZW1iZXIsIDIwMDUuIEZvcm0gZmllbGRzIGluIHByZWZlcmVuY2VzIGFyZSBsYXJnZXIsIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmcm9tdXNlciwgYW5kIGNhbGxlZCByZXNldCB3aXRoaW4gdGhlIGNvbnN0cnVjdG9yPC9saT4KPGxpPlZlcnNpb24gMS43My41LiBOb3ZlbWJlciwgMjAwNS4gQWRkZWQgdGhlIGZvcm0gZmllbGRzIGFuZCBmdW5jdGlvbmFsaXR5IGZvciBTTVRQIGF1dGhlbnRpY2F0aW9uLjwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPgo8bGk+VmVyc2lvbiAxLjczLjcuIEphbnVhcnksIDIwMDYuIEluY3JlYXNlZCBmaWVsZCBsZW5ndGhzIGluIG1vc3QgZmllbGRzPC9saT4KPGxpPlZlcnNpb24gMS43My44LiBKYW51YXJ5LCAyMDA2LiBDaGFuZ2VkIHRoZSBwcmVmZXJlbmNlcyBwYW5lbCB0byBiZSBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlLjwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuMTAuIEF1Z3VzdCwgMjAwNi4gTW9kaWZpZWQgdG8gdXNlIGxhenkgbG9hZGluZyB0byBtaW5pbWl6ZSBtZW1vcnkgZm9vdHByaW50IHdoZW4gQ01TTWFpbGVyIGlzIG5vdCBiZWluZyB1c2VkLjwvbGk+CjxsaT5WZXJzaW9uIDEuNzMuMTMuIEphbnVhcnksIDIwMDguICBBZGRlZCBtb3JlIHBlcm1pc3Npb25zIGNoZWNrcy48L2xpPgo8bGk+VmVyc2lvbiAyLjAuMSAtIEphbnVhcnksIDIwMTEgLSBSZW1vdmUgY2FuY2VsIGJ1dHRvbi48L2xpPgo8bGk+VmVyc2lvbiAyLjAuMiAtIFNlcHRlbWJlciwgMjAxMSAtIFNldCBkZWZhdWx0IGNoYXJzZXQgdG8gdXRmLTguPC9saT4KPGxpPlZlcnNpb24gNS4yLjEgLSBKdW5lLCAyMDEyIC0gVXBkYXRlIG9mIGxpYnJhcnkgZmlsZXMuPC9saT4KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBubyBlbmQgdXNlciBmdW5jdGlvbmFsaXR5LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgaW50ZWdyYXRlZCBpbnRvIG90aGVyIG1vZHVsZXMgdG8gcHJvdmlkZSBlbWFpbCBjYXBhYmlsaXRpZXMuICBUaGF0cyBpdCwgbm90aGluZyBtb3JlLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIGFsbCBvZiB0aGUgbWV0aG9kcyBhbmQgdmFyaWFibGVzIG9mIHBocG1haWxlci4gIEl0IGlzIGRlc2lnbmVkIGZvciB1c2UgYnkgb3RoZXIgbW9kdWxlIGRldmVsb3BlcnMsIGJlbG93IGlzIGFuIGV4YW1wbGUsIGFuZCBhIGJyaWVmIEFQSSByZWZlcmVuY2UuICBQbGVhc2UgcmVhZCB0aGUgUEhQTWFpbGVyIGRvY3VtZW50YXRpb24gaW5jbHVkZWQgZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgo8aDM+QW4gRXhhbXBsZTwvaDM+CjxwcmU+CiAgJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZShcJ0NNU01haWxlclwnKTsKICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKFwnY2FsZ3V5MTAwMEBob3RtYWlsLmNvbVwnLFwnY2FsZ3V5XCcpOwogICRjbXNtYWlsZXItPlNldEJvZHkoXCcmbHQ7aDQmZ3Q7VGhpcyBpcyBhIHRlc3QgbWVzc2FnZSZsdDsvaDQmZ3Q7XCcpOwogICRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsKICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KFwnVGVzdCBtZXNzYWdlXCcpOwogICRjbXNtYWlsZXItPlNlbmQoKTsKPC9wcmU+CjxoMz5BUEk8L2gzPgo8dWw+CjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPgo8cD5SZXNldCB0aGUgb2JqZWN0IGJhY2sgdG8gdGhlIHZhbHVlcyBzcGVjaWZpZWQgaW4gdGhlIGFkbWluIHBhbmVsPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEFsdEJvZHkoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+CjxwPlNldCB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRDaGFyU2V0KCk8L2I+PC9wPgo8cD5EZWZhdWx0OiBpc28tODg1OS0xPC9wPgo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRDaGFyU2V0KCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldENvbmZpcm1SZWFkaW5nVG8oKTwvYj48L3A+CjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRDb250ZW50VHlwZSgpPC9iPjwvcD4KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4KPHA+UmV0dXJuIHRoZSBjb250ZW50IHR5cGU8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPgo8cD5TZXQgdGhlIGNvbnRlbnQgdHlwZTwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBlbmNvZGluZzwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4KPHA+U2V0IHRoZSBlbmNvZGluZzwvcD4KPHA+T3B0aW9ucyBhcmU6IDhiaXQsIDdiaXQsIGJpbmFyeSwgYmFzZTY0LCBxdW90ZWQtcHJpbnRhYmxlPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4KPHA+UmV0dXJuIGFueSBlcnJvciBpbmZvcm1hdGlvbjwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0RnJvbSggJGFkZHJlc3MgKTwvYj48L3A+CjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIG5hbWU8L3A+CjwvbGk+CjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+CjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgbmFtZTwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRIZWxvKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIEhFTE8gc3RyaW5nPC9wPgo8L2xpPgo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4KPHA+U2V0IHRoZSBIRUxPIHN0cmluZzwvcD4KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3QoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIGhvc3RzPC9wPgo8L2xpPgo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3ROYW1lKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdE5hbWUoICRob3N0bmFtZSApPC9iPjwvcD4KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0TWFpbGVyKCAkbWFpbGVyICk8L2I+PC9wPgo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0UGFzc3dvcmQoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0UGFzc3dvcmQoICRzdHJpbmcgKTwvYj48L3A+CjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4KPC9saT4KPGxpPjxwPjxiPmludCBHZXRQb3J0KCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRQb3J0KCAkaW50ICk8L2I+PC9wPgo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+CjwvbGk+CjxsaT48cD48Yj5pbnQgR2V0UHJpb3JpdHkoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0UHJpb3JpdHkoIGludCApPC9iPjwvcD4KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPgo8cD5WYWx1ZXMgYXJlIDE9SGlnaCwgMyA9IE5vcm1hbCwgNSA9IExvdzwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgc2VuZGVyIGVtYWlsIChyZXR1cm4gcGF0aCkgc3RyaW5nPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPgo8cD5TZXQgdGhlIHNlbmRlciBzdHJpbmc8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgc2VuZG1haWwgcGF0aDwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPgo8cD5TZXQgdGhlIHNlbmRtYWlsIHBhdGg8L3A+CjwvbGk+CjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPgo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPgo8L2xpPgo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPgo8cD5TZXQgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPgo8L2xpPgo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4KPHA+U2V0IHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+CjwvbGk+CjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPgo8L2xpPgo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+CjxwPlNldCB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+CjwvbGk+CjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHN1YmplY3Qgc3RyaW5nPC9wPgo8L2xpPgo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIHN1YmplY3Qgc3RyaW5nPC9wPgo8L2xpPgo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+CjxwPlJldHVybiB0aGUgdGltZW91dCB2YWx1ZTwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+CjxwPlNldCB0aGUgdGltZW91dCB2YWx1ZTwvcD4KPC9saT4KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+CjwvbGk+CjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPgo8cD5TZXQgdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4KPC9saT4KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4KPC9saT4KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+CjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPgo8cD5BZGQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPgo8L2xpPgo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gXCdcJywgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPgo8L2xpPgo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPgo8cD5BZGQgYSBCQ0NcJ2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4KPC9saT4KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPgo8cD5BZGQgYSBDQ1wnZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPgo8L2xpPgo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPgo8cD5BZGQgYSBjdXN0b20gaGVhZGVyIHRvIHRoZSBlbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9IFwnXCcsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvYj48L3A+CjxwPkFkZCBhbiBlbWJlZGRlZCBpbWFnZTwvcD4KPC9saT4KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+CjxwPkFkZCBhIHJlcGx5IHRvIGFkZHJlc3M8L3A+CjwvbGk+CjxsaT48cD48Yj5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvYj48L3A+CjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4KPC9saT4KPGxpPjxwPjxiPkNsZWFyQWRkcmVzc2VzKCk8L2I+PC9wPgo8cD5DbGVhciBhbGwgYWRkcmVzc2VzPC9wPgo8L2xpPgo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPgo8cD5DbGVhciBhbGwgcmVjaXBpZW50czwvcD4KPC9saT4KPGxpPjxwPjxiPkNsZWFyQXR0YWNobWVudHMoKTwvYj48L3A+CjxwPkNsZWFyIGFsbCBhdHRhY2htZW50czwvcD4KPC9saT4KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4KPHA+Q2xlYXIgYWxsIEJDQyBhZGRyZXNzZXM8L3A+CjwvbGk+CjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4KPHA+Q2xlYXIgYWxsIENDIGFkZHJlc3NlczwvcD4KPC9saT4KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4KPHA+Q2xlYXIgYWxsIGN1c3RvbSBoZWFkZXJzPC9wPgo8L2xpPgo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPgo8cD5DbGVhciByZXBseSB0byBhZGRyZXNzPC9wPgo8L2xpPgo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4KPHA+Q2hlY2sgZm9yIGFuIGVycm9yIGNvbmRpdGlvbjwvcD4KPC9saT4KPGxpPjxwPjxiPmJvb2wgSXNIVE1MKCAkYm9vbCApPC9iPjwvcD4KPHA+U2V0IHRoZSBodG1sIGZsYWc8L3A+CjxwPjxpPk5vdGU8L2k+IHBvc3NpYmx5IHRoaXMgc2hvdWxkIGJlIGEgZ2V0IGFuZCBzZXQgbWV0aG9kPC9wPgo8L2xpPgo8bGk+PHA+PGI+Ym9vbCBJc01haWwoKTwvYj48L3A+CjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPmJvb2wgSXNRbWFpbCgpPC9iPjwvcD4KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBxbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+CjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc2VuZG1haWw8L3A+CjwvbGk+CjxsaT48cD48Yj5Jc1NNVFAoKTwvYj48L3A+CjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc210cDwvcD4KPC9saT4KPGxpPjxwPjxiPlNlbmQoKTwvYj48L3A+CjxwPlNlbmQgdGhlIGN1cnJlbnRseSBwcmVwYXJlZCBlbWFpbDwvcD4KPC9saT4KPGxpPjxwPjxiPlNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gXCdcJyApPC9iPjwvcD4KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+CjwvbGk+CjxsaT48cD48Yj5TbXRwQ2xvc2UoKTwvYj48L3A+CjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+CjwvbGk+CjwvdWw+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPVwnaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZ1wnPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj1cJ2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ1wnPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9XCdpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXNcJz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgCjwvdWw+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dApvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj1cJ21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tXCc+Jmx0O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj1cJ2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTFwnPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+Cic7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/ar_AR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ25vbmUnXSA9ICfZhNinINi02YrYoSc7CiRsYW5nWydzc2wnXSA9ICdTU0wnOwokbGFuZ1sndGxzJ10gPSAnVExTJzsKJGxhbmdbJ3NlY3VyZSddID0gJ0VuY3J5cHRpb24gbWVjaGFuaXNtJzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBTTVRQIG1haWxlciBtZXRob2QsIHRoaXMgb3B0aW9uIGFsbG93cyBzcGVjaWZ5aW5nIGRpZmZlcmVudCBlbmNyeXB0aW9uIG1lY2hhbmlzbXMgZm9yIHRoZSBjb25uZWN0aW9uJzsKJGxhbmdbJ2luZm9fY21zbWFpbGVyJ10gPSAnVGhpcyBtb2R1bGUgaXMgdXNlZCBieSBudW1lcm91cyBvdGhlciBtb2R1bGVzIHRvIGZhY2lsaXRhdGUgc2VuZGluZyBlbWFpbHMuICBJdCBtdXN0IGJlIHByb3Blcmx5IGNvbmZpZ3VyZWQgdG8geW91ciBob3N0cyByZXF1aXJlbWVudHMuICBQbGVhc2UgdXNlIHRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSB5b3VyIGhvc3QgdG8gYWRqdXN0IHRoZXNlIHNldHRpbmdzLiAgSWYgeW91IHN0aWxsIGNhbm5vdCBnZXQgdGhlIHRlc3QgbWVzc2FnZSB0byBzZW5kIHByb3Blcmx5LCB5b3UgbWF5IGhhdmUgdG8gY29udGFjdCB5b3VyIGhvc3QgZm9yIGFzc2lzdGFuY2UuJzsKJGxhbmdbJ2NoYXJzZXQnXSA9ICdDaGFyYWN0ZXIgU2V0JzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdUaGlzIHdpbGwgc2VuZCBhIHRlc3QgbWVzc2FnZSB0byB0aGUgYWRkcmVzcyBzcGVjaWZpZWQuIElmIHRoZSBzZW5kIHByb2Nlc3Mgc3VjZWVkZWQsIHlvdSB3aWxsIGJlIHJldHVybmVkIHRvIHRoaXMgcGFnZS4gIERvIHlvdSB3YW50IHRvIGNvbnRpbnVlPyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICdXcml0ZSBjdXJyZW50IHZhbHVlcyB0byBDTVNNYWlsZXIgc2V0dGluZ3M/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnQ01TTWFpbGVyIFRlc3QgTWVzc2FnZSc7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ1RoaXMgbWVzc2FnZSBpcyBpbnRlbmRlZCBvbmx5IHRvIHZlcmlmeSB0aGUgdmFsaWRpdHkgb2YgdGhlIHNldHRpbmdzIGluIHRoZSBDTVNNYWlsZXIgbW9kdWxlLg0KSWYgeW91IHJlY2VpdmVkIGl0LCBldmVyeXRoaW5nIGlzIHdvcmtpbmcgZmluZS4nOwokbGFuZ1snZXJyb3Jfbm90ZXN0YWRkcmVzcyddID0gJ9iu2LfYoyA6INmE2YUg2YrYqtmFINiq2K3Yr9mK2K8g2LnZhtmI2KfZhiDYp9mE2KfYrtiq2KjYp9ixJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ9in2K7Yqtio2KfYsSDYp9mE2KjYsdmK2K8g2KfZhNin2YTZg9iq2LHZiNmG2YonOwokbGFuZ1snc2VuZHRlc3QnXSA9ICfYpdix2LPYp9mEINin2YTYsdiz2KfZhNipINin2YTYp9iu2KrYqNin2LEnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICfZg9mE2YXYqSDYp9mE2LPYsSc7CiRsYW5nWyd1c2VybmFtZSddID0gJ9in2LPZhSDYp9mE2YXYs9iq2K7Yr9mFJzsKJGxhbmdbJ3NtdHBhdXRoJ10gPSAn2YXYtdin2K/ZgtipIFNNVFAnOwokbGFuZ1snbWFpbGVyJ10gPSAnTWFpbGVyIG1ldGhvZCc7CiRsYW5nWydob3N0J10gPSAnU01UUCBob3N0IG5hbWU8YnIvPjxpPihvciBJUCBhZGRyZXNzKTwvaT4nOwokbGFuZ1sncG9ydCddID0gJ1BvcnQgb2YgU01UUCBzZXJ2ZXInOwokbGFuZ1snZnJvbSddID0gJ9mF2YYg2LnZhtmI2KfZhic7CiRsYW5nWydmcm9tdXNlciddID0gJ9mF2YYg2KfZhNmF2LPYqtiu2K/ZhSc7CiRsYW5nWydzZW5kbWFpbCddID0gJ1NlbmRtYWlsIGxvY2F0aW9uJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdTTVRQIHRpbWVvdXQnOwokbGFuZ1snc3VibWl0J10gPSAn2KrZgtiv2YrZhSc7CiRsYW5nWydjYW5jZWwnXSA9ICfYpdmE2LrYp9ihJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnTWFpbCBtZXRob2QgdG8gdXNlIChzZW5kbWFpbCwgc210cCwgbWFpbCkuICBVc3VhbGx5IHNtdHAgaXMgdGhlIG1vc3QgcmVsaWFibGUuJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ1NNVFAgaG9zdG5hbWUgKG9ubHkgdmFsaWQgZm9yIHRoZSBzbXRwIG1haWxlciBtZXRob2QpJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ1NNVFAgcG9ydCBudW1iZXIgKHVzdWFsbHkgMjUpIChvbmx5IHZhbGlkIGZvciB0aGUgc210cCBtYWlsZXIgbWV0aG9kKSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICdBZGRyZXNzIHVzZWQgYXMgdGhlIHNlbmRlciBpbiBhbGwgZW1haWxzLiA8YnIvPjxzdHJvbmc+Tm90ZTwvc3Ryb25nPiwgdGhpcyBlbWFpbCBhZGRyZXNzIG11c3QgYmUgc2V0IGNvcnJlY3RseSBmb3IgeW91ciBob3N0IG9yIHlvdSB3aWxsIGhhdmUgZGlmZmljdWx0eSBzZW5kaW5nIGVtYWlscy48YnIvPklmIHlvdSBkbyBub3Qga25vdyB0aGUgcHJvcGVyIHZhbHVlIGZvciB0aGlzIHNldHRpbmcsIHlvdSBtYXkgbmVlZCB0byBjb250YWN0IHlvdXIgaG9zdC4nOwokbGFuZ1snaW5mb19mcm9tdXNlciddID0gJ0ZyaWVuZGx5IG5hbWUgdXNlZCBmb3Igc2VuZGluZyBhbGwgZW1haWxzJzsKJGxhbmdbJ2luZm9fc2VuZG1haWwnXSA9ICdUaGUgY29tcGxldGUgcGF0aCB0byB5b3VyIHNlbmRtYWlsIGV4ZWN1dGFibGUgKG9ubHkgdmFsaWQgZm9yIHRoZSBzZW5kbWFpbCBtYWlsZXIgbWV0aG9kKSc7CiRsYW5nWydpbmZvX3RpbWVvdXQnXSA9ICdUaGUgbnVtYmVyIG9mIHNlY29uZHMgaW4gYW4gU01UUCBjb252ZXJzYXRpb24gYmVmb3JlIGFuIGVycm9yIG9jY3VycyAodmFsaWQgZm9yIHRoZSBzbXRwIG1haWxlciBtZXRob2QpJzsKJGxhbmdbJ2luZm9fc210cGF1dGgnXSA9ICdEb2VzIHlvdXIgc210cCBob3N0IHJlcXVpcmUgYXV0aGVudGljYXRpb24gKHZhbGlkIG9ubHkgZm9yIHRoZSBzbXRwIG1haWxlciBtZXRob2QpJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWUnXSA9ICdTTVRQIGF1dGhlbnRpY2F0aW9uIHVzZXJuYW1lICh2YWxpZCBvbmx5IGZvciBzbXRwIG1haWxlciBtZXRob2QsIHdoZW4gc210cCBhdXRoIGlzIHNlbGVjdGVkKSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnU01UUCBhdXRoZW50aWNhdGlvbiBwYXNzd29yZCAodmFsaWQgb25seSBmb3Igc210cCBtYWlsZXIgbWV0aG9kLCB3aGVuIHNtdHAgYXV0aCBpcyBzZWxlY3RlZCknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ01TTWFpbGVyIG1vZHVsZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDTVNNYWlsZXIgbW9kdWxlIHVuaW5zdGFsbGVkLi4uIHNvcnJ5IHRvIHNlZSB5b3UgbGVhdmUnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICfZhdmI2K/ZiNmEINin2YTYutin2KEg2KfZhNiq2KvYqNmK2KonOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAn2YXZiNiv2YjZhCDYp9mE2KfYtdiv2KfYsSAlcyDYqtir2KjZitiqLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICcg2KrZhSDYsdmB2LYg2KfZhNit2LXZiNmEIC4g2YrYsdis2Ykg2KfZhNiq2K3ZgtmCINmF2YYg2KfZhNij2LDZiNmG2KfYqiDYp9mE2K7Yp9i12Kkg2KjZgy4nOwokbGFuZ1snZXJyb3InXSA9ICfYrti32KMhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAn2YXZiNiv2YjZhCDYqtit2K/ZitirINin2YTYp9i12K/Yp9ixICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICfZhdmI2K/ZiNmEINin2YTYo9mB2LbZhNmK2KfYqic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICfZhdmI2K/ZiNmEINmE2YjYrdipINin2YTZhdi02LHZgSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0NNU01haWxlciDZhdmI2K/ZiNmEJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAn2YfYsNmHINmG2LPYrtipINil2LLYp9ixINio2LPZiti32Kkg2K3ZiNmEIFBIUE1haWxlctiMINmI2YTYr9mK2Ycg2YXYpyDZiti52KfYr9mEIEFQSSAo2YjYuNmK2YHYqSDZiNi42YrZgdipKSDZiNin2KzZh9ipINin2LPYqtiu2K/Yp9mFINio2LPZiti32Kkg2KjYp9mE2YbYs9io2Kkg2YTYqNi52LYg2KfZhNin2YHYqtix2KfYttin2KouJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDEuNzMuMS4gT2N0b2JlciwgMjAwNS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjIuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCB0aGUgYWRtaW4gcGFuZWwuICBUaGUgZHJvcGRvd24gd2FzIG5vdCByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdmFsdWUgZnJvbSB0aGUgcHJlZmVyZW5jZXMgZGF0YWJhc2U8L2xpPg0KPGxpPlZlcnNpb24gMS43My4zLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggc2VuZGluZyBodG1sIGVtYWlsPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNC4gTm92ZW1iZXIsIDIwMDUuIEZvcm0gZmllbGRzIGluIHByZWZlcmVuY2VzIGFyZSBsYXJnZXIsIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmcm9tdXNlciwgYW5kIGNhbGxlZCByZXNldCB3aXRoaW4gdGhlIGNvbnN0cnVjdG9yPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNS4gTm92ZW1iZXIsIDIwMDUuIEFkZGVkIHRoZSBmb3JtIGZpZWxkcyBhbmQgZnVuY3Rpb25hbGl0eSBmb3IgU01UUCBhdXRoZW50aWNhdGlvbi48L2xpPg0KPGxpPlZlcnNpb24gMS43My42LiBEZWNlbWJlciwgMjAwNS4gRGVmYXVsdCBtYWlsZXIgbWV0aG9kIGlzIFNNVFAgb24gaW5zdGFsbCwgYW5kIGltcHJvdmVkIGRvY3VtZW50YXRpb24sIGFuZCBub3cgSSBjbGVhciBhbGwgdGhlIGF0dGFjaG1lbnRzLCBhbmQgYWRkcmVzc2VzLCBldGMuIG9uIHJlc2V0LjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjcuIEphbnVhcnksIDIwMDYuIEluY3JlYXNlZCBmaWVsZCBsZW5ndGhzIGluIG1vc3QgZmllbGRzPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOC4gSmFudWFyeSwgMjAwNi4gQ2hhbmdlZCB0aGUgcHJlZmVyZW5jZXMgcGFuZWwgdG8gYmUgYSBiaXQgbW9yZSBkZXNjcmlwdGl2ZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My45LiBKYW51YXJ5LCAyMDA2LiBBZGRlZCB0ZXN0IGVtYWlsIGNhcGFiaWxpdHksIGFuZCBjb25maXJtYXRpb24gb24gZWFjaCBidXR0b24gKGV4Y2VwdCBjYW5jZWwpPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTAuIEF1Z3VzdCwgMjAwNi4gTW9kaWZpZWQgdG8gdXNlIGxhenkgbG9hZGluZyB0byBtaW5pbWl6ZSBtZW1vcnkgZm9vdHByaW50IHdoZW4gQ01TTWFpbGVyIGlzIG5vdCBiZWluZyB1c2VkLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEzLiBKYW51YXJ5LCAyMDA4LiAgQWRkZWQgbW9yZSBwZXJtaXNzaW9ucyBjaGVja3MuPC9saT4NCjxsaT5WZXJzaW9uIDIuMC4xIC0gSmFudWFyeSwgMjAxMSAtIFJlbW92ZSBjYW5jZWwgYnV0dG9uLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBubyBlbmQgdXNlciBmdW5jdGlvbmFsaXR5LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgaW50ZWdyYXRlZCBpbnRvIG90aGVyIG1vZHVsZXMgdG8gcHJvdmlkZSBlbWFpbCBjYXBhYmlsaXRpZXMuICBUaGF0cyBpdCwgbm90aGluZyBtb3JlLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgYWxsIG9mIHRoZSBtZXRob2RzIGFuZCB2YXJpYWJsZXMgb2YgcGhwbWFpbGVyLiAgSXQgaXMgZGVzaWduZWQgZm9yIHVzZSBieSBvdGhlciBtb2R1bGUgZGV2ZWxvcGVycywgYmVsb3cgaXMgYW4gZXhhbXBsZSwgYW5kIGEgYnJpZWYgQVBJIHJlZmVyZW5jZS4gIFBsZWFzZSByZWFkIHRoZSBQSFBNYWlsZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+DQo8aDM+QW4gRXhhbXBsZTwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCYjMDM5O0NNU01haWxlciYjMDM5Oyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJiMwMzk7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5OywmIzAzOTtjYWxndXkmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KCYjMDM5OzxoND5UaGlzIGlzIGEgdGVzdCBtZXNzYWdlPC9oND4mIzAzOTspOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoJiMwMzk7VGVzdCBtZXNzYWdlJiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2VuZCgpOw0KPC9wcmU+DQo8aDM+QVBJPC9oMz4NCjx1bD4NCjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPg0KPHA+UmVzZXQgdGhlIG9iamVjdCBiYWNrIHRvIHRoZSB2YWx1ZXMgc3BlY2lmaWVkIGluIHRoZSBhZG1pbiBwYW5lbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEFsdEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDaGFyU2V0KCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogaXNvLTg4NTktMTwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q2hhclNldCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb25maXJtUmVhZGluZ1RvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhZGRyZXNzIGNvbmZpcm1lZCByZWFkaW5nIGVtYWlsIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29uZmlybVJlYWRpbmdUbyggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgb3IgdW5zZXQgdGhlIGNvbmZpcm0gcmVhZGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiB0ZXh0L3BsYWluPC9wPg0KPHA+UmV0dXJuIHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5TZXQgdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVuY29kaW5nKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBlbmNvZGluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRFbmNvZGluZyggJGVuY29kaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBlbmNvZGluZzwvcD4NCjxwPk9wdGlvbnMgYXJlOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlJldHVybiBhbnkgZXJyb3IgaW5mb3JtYXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RnJvbSggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIZWxvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBIRUxPIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8cD5EZWZhdWx0IHZhbHVlOiAkaG9zdG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBTTVRQcyBob3N0IHNlcGFyYXRlZCBieSBzZW1pY29sb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldE1haWxlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyLCBlaXRoZXIgc2VuZG1haWwsbWFpbCwgb3Igc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFBhc3N3b3JkKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBhc3N3b3JkKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UG9ydCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcG9ydCBudW1iZXIgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgcG9ydCBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8cD5WYWx1ZXMgYXJlIDE9SGlnaCwgMyA9IE5vcm1hbCwgNSA9IExvdzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZGVyIGVtYWlsIChyZXR1cm4gcGF0aCkgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRlciggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRlciBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kbWFpbCggJHBhdGggKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEF1dGgoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQQXV0aCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBEZWJ1ZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0VGltZW91dCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFdvcmRXcmFwKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEF0dGFjaG1lbnQoICRwYXRoLCAkbmFtZSA9ICYjMDM5OyYjMDM5OywgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEJDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgQkNDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgQ0MmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEN1c3RvbUhlYWRlciggJHR4dCApPC9iPjwvcD4NCjxwPkFkZCBhIGN1c3RvbSBoZWFkZXIgdG8gdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRFbWJlZGRlZEltYWdlKCAkcGF0aCwgJGNpZCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGFuIGVtYmVkZGVkIGltYWdlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRSZXBseVRvKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFkZHJlc3NlcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWxsUmVjaXBpZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCByZWNpcGllbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckF0dGFjaG1lbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGF0dGFjaG1lbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQkNDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckN1c3RvbUhlYWRlcnMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgY3VzdG9tIGhlYWRlcnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyUmVwbHl0bygpPC9iPjwvcD4NCjxwPkNsZWFyIHJlcGx5IHRvIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzRXJyb3IoKTwvYj48L3A+DQo8cD5DaGVjayBmb3IgYW4gZXJyb3IgY29uZGl0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzSFRNTCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGh0bWwgZmxhZzwvcD4NCjxwPjxpPk5vdGU8L2k+IHBvc3NpYmx5IHRoaXMgc2hvdWxkIGJlIGEgZ2V0IGFuZCBzZXQgbWV0aG9kPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzTWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc1FtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBxbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc2VuZG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU01UUCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2VuZCgpPC9iPjwvcD4NCjxwPlNlbmQgdGhlIGN1cnJlbnRseSBwcmVwYXJlZCBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIDxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZ3VhZ2UgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U210cENsb3NlKCk8L2I+PC9wPg0KPHA+Q2xvc2UgdGhlIHNtdHAgY29ubmVjdGlvbjwvcD4NCjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlzIGhvbWVwYWdlIGF0IDxhIGhyZWY9JiMwMzk7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyYjMDM5Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyYjMDM5Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmIzAzOTs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSYjMDM5O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJiMwMzk7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCYjMDM5Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTEzMjQyMjY3MTMtMTMwNzk2MjgzMDgzNyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjI0MDUxODcuMTMwOTM1MDMzNS4xMzEwNjc5MDkxLjEzMTA2ODUzNTguMTQnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzEwNjU4OTY0LjExLjYudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWR1MTExdy5kdWIxMTEubWFpbC5saXZlLmNvbXx1dG1jY3Q9L21haWwvSW5ib3hMaWdodC5hc3B4fHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ca_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2luZm9fY21zbWFpbGVyJ10gPSAnQXF1ZXN0IG0mb2dyYXZlO2R1bCAmZWFjdXRlO3MgdXRpbGl0emF0IHBlciBmb3ImY2NlZGlsO2EgZWx0cmVzIG0mb2dyYXZlO2R1bHMgcGVyIGZlciBzZW56aWxsYSBsYSB0YXNjYSBkJiMwMzk7ZW52aWFyIGNvcnJldXMgZWxlY3RyJm9ncmF2ZTtuaWNzLiBIYSBkZSBzZXIgY29uZmlndXJhdCBhZGVjdWFkYW1lbnQgZW4gZnVuY2kmb2FjdXRlOyBkZWxzIHJlcXVlcmltZW50cyBkZWwgdGV1IHNlcnZpZG9yLiBVdGlsaXR6YSBsYSBpbmZvcm1hY2kmb2FjdXRlOyBwcm9wb3JjaW9uYWRhIHBlbCB0ZXUgc2Vydmlkb3IgcGVyIGFqdXN0YXIgYXF1ZXN0IHZhbG9ycy4gU2kgYW1iIGFxdWVzdGVzIGRhZGVzIG5vIHBvdCBhY29uc2VndWlyIHF1ZSBlbCBtaXNzYXRnZSBkZSBwcm92YSBzJiMwMzk7ZW52aSZpdW1sOyBjb3JyZWN0YW1lbnQsIGhhdXImYWdyYXZlO3MgZGUgY29udGFjdGFyIGFtYiBlbCB0ZXUgc2Vydmlkb3IgcGVyIHRhbCBxdWUgdCYjMDM5O2FqdWRpLic7CiRsYW5nWydjaGFyc2V0J10gPSAnQ29uanVudCBkZSBjYXImYWdyYXZlO2N0ZXJzJzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdBaXgmb2dyYXZlOyBlbnZpYXImYWdyYXZlOyB1biBtaXNzYXRnZSBkZSBwcm92YSBhIGwmIzAzOTthZHJlJmNjZWRpbDthIGluZGljYWRhLiBTaSBlbCBwcm9jJmVhY3V0ZTtzIGQmIzAzOTtlbnZpYXIgdCZlYWN1dGU7ICZlZ3JhdmU7eGl0LCB0b3JuYXImYWdyYXZlO3MgYSBhcXVlc3RhIHAmYWdyYXZlO2dpbmEuIFZvbHMgY29udGludWFyPyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICdWb2xzIGVzY3JpdXJlIGVscyB2YWxvcnMgYWN0dWFscyBhIGxhIGNvbmZpZ3VyYWNpJm9hY3V0ZTsgZGVsIENNUyBNYWlsZXI/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnTWlzc2F0Z2UgZGUgcHJvdmEgZGVsIENNU01haWxlcic7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ0FxdWVzdCBtaXNzYXRnZSBub20mZWFjdXRlO3MgcHJldCZlYWN1dGU7biB2ZXJpZmljYXIgbGEgdmFsaWRlc2EgZGUgbGEgY29uZmlndXJhY2kmb2FjdXRlOyBkZWwgbSZvZ3JhdmU7ZHVsIENNUyBNYWlsZXIuDQpTaSBlbCByZXBzLCAmZWFjdXRlO3MgcXVlIHRvdCBmdW5jaW9uYSBjb3JyZWN0YW1lbnQuJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICdFcnJvcjogYWRyZSZjY2VkaWw7YSBkZSBwcm92YSBubyBlc3BlY2lmaWNhZGEnOwokbGFuZ1sncHJvbXB0X3Rlc3RhZGRyZXNzJ10gPSAnQWRyZSZjY2VkaWw7YSBkZSBjb3JyZXUgZWxlY3RyJm9ncmF2ZTtuaWMgZGUgcHJvdmEnOwokbGFuZ1snc2VuZHRlc3QnXSA9ICdFbnZpYXIgbWlzc2F0Z2UgZGUgcHJvdmEnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ1VzdWFyaSc7CiRsYW5nWydzbXRwYXV0aCddID0gJ0F1dGVudGlmaWNhY2kmb2FjdXRlOyBTTVRQJzsKJGxhbmdbJ21haWxlciddID0gJ00mZWdyYXZlO3RvZGUgZCYjMDM5O2VudmlhbWVudCc7CiRsYW5nWydob3N0J10gPSAnTm9tIGRlIHNlcnZpZG9yIFNNVFA8YnIvPjxpPihvIGFkcmUmY2NlZGlsO2EgSVApPC9pPic7CiRsYW5nWydwb3J0J10gPSAnUG9ydCBkZWwgc2Vydmlkb3IgU01UUCc7CiRsYW5nWydmcm9tJ10gPSAnQWRyZSZjY2VkaWw7YSBkJiMwMzk7b3JpZ2VuJzsKJGxhbmdbJ2Zyb211c2VyJ10gPSAnVXN1YXJpIHJlbWl0ZW50JzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnTG9jYWxpdHphY2kmb2FjdXRlOyBkJiMwMzk7ZW52aWFtZW50JzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICd0ZW1wcyBkZSBjb25uZXhpJm9hY3V0ZTsgU01UUCBleGNlZGl0JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0Vudmlhcic7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwubGFyJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnTSZlZ3JhdmU7dG9kZSBkZSBjb3JyZXUgYSB1dGlsaXR6YXIgKHNlbmRtYWlsLCBzbXRwLCBtYWlsKS4gIEhhYml0dWFsbWVudCBzbXRwICZlYWN1dGU7cyBlbCBtJmVhY3V0ZTtzIGZpYWJsZS4nOwokbGFuZ1snaW5mb19ob3N0J10gPSAnTm9tIGRlIHNlcnZpZG9yIFNNVFAgKG5vbSZlYWN1dGU7cyB2JmFncmF2ZTtsaWQgcGVyIG0mZWdyYXZlO3RvZGUgc210cCknOwokbGFuZ1snaW5mb19wb3J0J10gPSAnTiZvcmRtOyBkZSBwb3J0IFNNVFAgKGVuIGdlbmVyYWwsIGVsIDI1KSAobm9tJmVhY3V0ZTtzIHYmYWdyYXZlO2xpZCBwZWwgbSZlZ3JhdmU7dG9kZSBzbXRwKSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICdBZHJlJmNjZWRpbDthIHV0aWxpdHphZGEgY29tIGEgcmVtaXRlbnQgZW4gdG90cyBlbHMgY29ycmV1cyc7CiRsYW5nWydpbmZvX2Zyb211c2VyJ10gPSAnTm9tIHV0aWxpdHphdCBwZXIgZW52aWFyIHRvdHMgZWxzIGNvcnJldXMnOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ0NhbSZpYWN1dGU7IGNvbXBsZXQgZmlucyBhIGwmIzAzOTtleGVjdXRhYmxlIHNlbmRtYWlsIChub20mZWFjdXRlO3MgdiZhZ3JhdmU7bGlkIHBlbCBtJmVncmF2ZTt0b2RlIHNlbmRtYWlsIGQmIzAzOTtlbnZpYW1lbnQpJzsKJGxhbmdbJ2luZm9fdGltZW91dCddID0gJ05vbWJyZSBkZSBzZWdvbnMgZW4gdW5hIGNvbnZlcnNhIFNNVFAgYWJhbnMgZGUgZ2VuZXJhciB1biBlcnJvciAodiZhZ3JhdmU7bGlkIHBlbCBtJmVncmF2ZTt0b2RlIHNtdHAgZCYjMDM5O2VudmlhbWVudCknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ05lY2Vzc2l0YSBlbCB0ZXUgc2Vydmlkb3Igc210cCBhdXRlbnRpY2FjaSZvYWN1dGU7ICh2JmFncmF2ZTtsaWQgbm9tJmVhY3V0ZTtzIHBlbCBtJmVncmF2ZTt0b2RlIHNtdHApPyc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAnVXN1YXJpIHBlciBsJiMwMzk7YXV0ZW50aWNhY2kmb2FjdXRlOyBTTVRQICh2JmFncmF2ZTtsaWQgbm9tJmVhY3V0ZTtzIHBlbCBtJmVncmF2ZTt0b2RlIHNtdHAsIGFtYiBsJiMwMzk7YXV0ZW50aWNhY2kmb2FjdXRlOyBzbXRwIGFjdGl2YWRhKSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQgZCYjMDM5O2F1dGVudGljYWNpJm9hY3V0ZTsgU01UUCAodiZhZ3JhdmU7bGlkIG5vbSZlYWN1dGU7cyBwZWwgbSZlZ3JhdmU7dG9kZSBzbXRwIGQmIzAzOTtlbnZpYW1lbnQsIGFtYiBhdXRlbnRpY2FjaSZvYWN1dGU7IGFjdGl2YWRhKSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdNJm9ncmF2ZTtkdWwgQ01TTWFpbGVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRWwgbSZvZ3JhdmU7ZHVsIENNU01haWxlciBzJiMwMzk7aGEgaW5zdGFsLmxhdCBjb3JyZWN0YW1lbnQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ00mb2dyYXZlO2R1bCBDTVNNYWlsZXIgZGVzaW5zdGFsLmxhdC4uLnRyaXN0IGRlIHZldXJlJiMwMzk7dCBtYXJ4YXInOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNJm9ncmF2ZTtkdWwgZGVzaW5zdGFsLmxhdCc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdWZXJzaSZvYWN1dGU7ICVzIGRlbCBtJm9ncmF2ZTtkdWwgaW5zdGFsLmxhZGEnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjJmVhY3V0ZTtzIGRlbmVnYXQuIFZlcmlmaWNhIGVscyBwZXJtaXNvcyc7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yLi4uJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTSZvZ3JhdmU7ZHVsIGFjdHVhbGl0emF0IGEgbGEgdmVyc2kmb2FjdXRlOyAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnUHJlZmVyJmVncmF2ZTtuY2llcyBkZWwgbSZvZ3JhdmU7ZHVsJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ00mb2dyYXZlO2R1bCBQZW5lbGwgQWRtaW5pc3RyYWNpJm9hY3V0ZTsnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdNJm9ncmF2ZTtkdWwgQ01TTWFpbGVyJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQWl4Jm9ncmF2ZTsgJmVhY3V0ZTtzIG5vbSZlYWN1dGU7cyB1biBlbWJvbGNhbGwgc2VuemlsbCBlbiB0b3JuIGRlIFBIUE1haWxlciwgdCZlYWN1dGU7IHVuYSBBUEkgZXF1aXZhbGVudCAoZnVuY2kmb2FjdXRlOyBwZXIgZnVuY2kmb2FjdXRlOykgaSB1bmEgaW50ZXJmYXNlIHNlbnppbGxhIHBlciBhbGd1bnMgdmFsb3JzIHBlciBkZWZlY3RlLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5CZW52aW5ndXQgYSBsYSBzZWNjaSZvYWN1dGU7IGQmIzAzOTthZG1pbmlzdHJhY2kmb2FjdXRlOyBkZWwgbSZvZ3JhdmU7ZHVsIENNU01haWxlcic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggdGhlIGFkbWluIHBhbmVsLiAgVGhlIGRyb3Bkb3duIHdhcyBub3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIHByZWZlcmVuY2VzIGRhdGFiYXNlPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBBZGRlZCB0aGUgZm9ybSBmaWVsZHMgYW5kIGZ1bmN0aW9uYWxpdHkgZm9yIFNNVFAgYXV0aGVudGljYXRpb24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJ5LCAyMDA2LiBJbmNyZWFzZWQgZmllbGQgbGVuZ3RocyBpbiBtb3N0IGZpZWxkczwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnVhcnksIDIwMDYuIENoYW5nZWQgdGhlIHByZWZlcmVuY2VzIHBhbmVsIHRvIGJlIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEwLiBBdWd1c3QsIDIwMDYuIE1vZGlmaWVkIHRvIHVzZSBsYXp5IGxvYWRpbmcgdG8gbWluaW1pemUgbWVtb3J5IGZvb3RwcmludCB3aGVuIENNU01haWxlciBpcyBub3QgYmVpbmcgdXNlZC48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgbm8gZW5kIHVzZXIgZnVuY3Rpb25hbGl0eS4gIEl0IGlzIGRlc2lnbmVkIHRvIGJlIGludGVncmF0ZWQgaW50byBvdGhlciBtb2R1bGVzIHRvIHByb3ZpZGUgZW1haWwgY2FwYWJpbGl0aWVzLiAgVGhhdHMgaXQsIG5vdGhpbmcgbW9yZS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIGFsbCBvZiB0aGUgbWV0aG9kcyBhbmQgdmFyaWFibGVzIG9mIHBocG1haWxlci4gIEl0IGlzIGRlc2lnbmVkIGZvciB1c2UgYnkgb3RoZXIgbW9kdWxlIGRldmVsb3BlcnMsIGJlbG93IGlzIGFuIGV4YW1wbGUsIGFuZCBhIGJyaWVmIEFQSSByZWZlcmVuY2UuICBQbGVhc2UgcmVhZCB0aGUgUEhQTWFpbGVyIGRvY3VtZW50YXRpb24gaW5jbHVkZWQgZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPg0KPGgzPkFuIEV4YW1wbGU8L2gzPg0KPHByZT4NCiAgJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgmIzAzOTtDTVNNYWlsZXImIzAzOTspOw0KICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCYjMDM5O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mIzAzOTssJiMwMzk7Y2FsZ3V5JiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2V0Qm9keSgmIzAzOTs8aDQ+VGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvaDQ+JiMwMzk7KTsNCiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOw0KICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCYjMDM5O1Rlc3QgbWVzc2FnZSYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNlbmQoKTsNCjwvcHJlPg0KPGgzPkFQSTwvaDM+DQo8dWw+DQo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4NCjxwPlJlc2V0IHRoZSBvYmplY3QgYmFjayB0byB0aGUgdmFsdWVzIHNwZWNpZmllZCBpbiB0aGUgYWRtaW4gcGFuZWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IGlzby04ODU5LTE8L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4NCjxwPlJldHVybiB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgZW5jb2Rpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgZW5jb2Rpbmc8L3A+DQo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIEhFTE8gc3RyaW5nPC9wPg0KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPHA+VmFsdWVzIGFyZSAxPUhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBMb3c8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRlciBlbWFpbCAocmV0dXJuIHBhdGgpIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kZXIgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIEJDQyYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIENDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+DQo8cD5BZGQgYSBjdXN0b20gaGVhZGVyIHRvIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkRW1iZWRkZWRJbWFnZSggJHBhdGgsICRjaWQsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhbiBlbWJlZGRlZCBpbWFnZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgcmVjaXBpZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhdHRhY2htZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIEJDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIENDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGN1c3RvbSBoZWFkZXJzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhclJlcGx5dG8oKTwvYj48L3A+DQo8cD5DbGVhciByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPg0KPHA+Q2hlY2sgZm9yIGFuIGVycm9yIGNvbmRpdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBodG1sIGZsYWc8L3A+DQo8cD48aT5Ob3RlPC9pPiBwb3NzaWJseSB0aGlzIHNob3VsZCBiZSBhIGdldCBhbmQgc2V0IG1ldGhvZDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc01haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNRbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgcW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NNVFAoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNlbmQoKTwvYj48L3A+DQo8cD5TZW5kIHRoZSBjdXJyZW50bHkgcHJlcGFyZWQgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+DQo8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPSYjMDM5O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmIzAzOTs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmIzAzOTs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JiMwMzk7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJiMwMzk7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0mIzAzOTttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmIzAzOTs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjMxMDkxNDU5Nzc1MzMyNDc1MDAuMTIyNTMxMTMxMi4xMjU2OTAyNDc1LjEyNTY5MDgzMjIuNDInOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjU0MDg4NzU3LjM1LjIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPTY2LjE0Ny4yNDQuMTU1fHV0bWNjdD0vfmNsdWJjb2NjL2Ntc21hZGVzaW1wbGUvaW5zdGFsbC9pbmRleC5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTg5NDQ1MTEwOC0xMjUwNDU1ODIzODIwJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnVGhpcyB0ZXN0IGlzIGdlbmVyYXRlZCBvbiBhbiBpbmZyZXF1ZW50IGJhc2lzLiAgSXQgbWF5IHRha2Ugc29tZSB0aW1lIGZvciBpdCB0byBnbyBhd2F5JzsKJGxhbmdbJ25vbmUnXSA9ICfFvSZhYWN1dGU7ZG4mZWFjdXRlOyc7CiRsYW5nWydzc2wnXSA9ICdTU0wnOwokbGFuZ1sndGxzJ10gPSAnVExTJzsKJGxhbmdbJ3NlY3VyZSddID0gJ0smb2FjdXRlO2RvdmFjJmlhY3V0ZTsgbWVjaGFuaXNtdXMnOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICdQb3XFvml0ZWxuJmVhY3V0ZTsgamVuIG5hIFNNVFAgbWV0b2R1IG9kZXMmaWFjdXRlO2wmYWFjdXRlO24maWFjdXRlOywgdGF0byB2b2xiYSBwb3ZvbHVqZSBuYXN0YXZlbiZpYWN1dGU7IGppbiZlYWN1dGU7aG8gayZvYWN1dGU7ZG92YWMmaWFjdXRlO2hvIG1lY2hhbmlzbXUgcHJvIHDFmWlwb2plbiZpYWN1dGU7JzsKJGxhbmdbJ2luZm9fY21zbWFpbGVyJ10gPSAnVGVudG8gbW9kdWwgamUgdnl1xb4maWFjdXRlO3YmYWFjdXRlO24gbW5vxb5zdHYmaWFjdXRlO20gZGFsJnNjYXJvbjsmaWFjdXRlO2NoIG1vZHVsxa8gcHJvIHphcyZpYWN1dGU7bCZhYWN1dGU7biZpYWN1dGU7IGVtYWlsxa8uIE11cyZpYWN1dGU7IGImeWFjdXRlO3Qgc3ByJmFhY3V0ZTt2bsSbIG5ha29uZmlndXJvdiZhYWN1dGU7biBkbGUgbmFzdGF2ZW4maWFjdXRlOyBWYSZzY2Fyb247ZWhvIGhvc3RpdGVsZS4gUG91xb5panRlIHByb3MmaWFjdXRlO20gaW5mb3JtYWNlIHBvc2t5dG51dCZlYWN1dGU7IFZhJnNjYXJvbjsmaWFjdXRlO20gaG9zdGl0ZWxlbSBwcm8gbmFzdGF2ZW4maWFjdXRlOyB0xJtjaG5vIGhvZG5vdC4gUG9rdWQgViZhYWN1dGU7bSBuZWpkb3Ugc3QmYWFjdXRlO2xlIG9kZXMmaWFjdXRlO2xhdCB0ZXN0b3ZhYyZpYWN1dGU7IHpwciZhYWN1dGU7dnksIHprdXN0ZSBrb250YWt0b3ZhdCBWYSZzY2Fyb247ZWhvIGhvc3RpdGVsZSBwcm8gcG9tb2MuJzsKJGxhbmdbJ2NoYXJzZXQnXSA9ICdabmFrb3YmYWFjdXRlOyBzYWRhJzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdaYSZzY2Fyb247bGUgemt1JnNjYXJvbjtlYm4maWFjdXRlOyB6cHImYWFjdXRlO3Z1IG5hIHphZGFub3UgYWRyZXN1LiBQb2t1ZCBqZSB0ZW50byBwcm9jZXMgJnVhY3V0ZTtzcMSbJnNjYXJvbjtuJnlhY3V0ZTssIG5hdnImYWFjdXRlO3QmaWFjdXRlO3RlIHNlIG5hIHR1dG8gc3RyJmFhY3V0ZTtua3UuIENoY2V0ZSBwb2tyYcSNb3ZhdD8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnWmFwc2F0IHNvdcSNYXNuJmVhY3V0ZTsgaG9kbm90eSBkbyBuYXN0YXZlbiZpYWN1dGU7IENNU01haWxlcnU/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnQ01TTWFpbGVyIHprdSZzY2Fyb247ZWJuJmlhY3V0ZTsgenByJmFhY3V0ZTt2YSc7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ1RhdG8genByJmFhY3V0ZTt2YSBzbG91xb4maWFjdXRlOyBwb3V6ZSBwcm8gb3bEm8WZZW4maWFjdXRlOyBzcHImYWFjdXRlO3Zub3N0aSBuYXN0YXZlbiZpYWN1dGU7IHYgbW9kdWx1IENNU01haWxlci4NClBva3VkIGhvIG9iZHLFviZpYWN1dGU7dGUsIHYmc2Nhcm9uO2UgcHJhY3VqZSBzcHImYWFjdXRlO3ZuxJsuJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICdDaHliYTogVGVzdG92YWMmaWFjdXRlOyBhZHJlc2EgbmV6YWQmYWFjdXRlO25hJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ1Rlc3RvdmFjJmlhY3V0ZTsgZW1haWxvdiZhYWN1dGU7IGFkcmVzYSc7CiRsYW5nWydzZW5kdGVzdCddID0gJ1phc2xhdCB6a3Umc2Nhcm9uO2VibiZpYWN1dGU7IHpwciZhYWN1dGU7dnUnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdIZXNsbyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0ptJmVhY3V0ZTtubyc7CiRsYW5nWydzbXRwYXV0aCddID0gJ1NNVFAgb3bEm8WZZW4maWFjdXRlOyc7CiRsYW5nWydtYWlsZXInXSA9ICdNZXRvZGEgb2RlcyZpYWN1dGU7bCZhYWN1dGU7biZpYWN1dGU7JzsKJGxhbmdbJ2hvc3QnXSA9ICdKbSZlYWN1dGU7bm8gU01UUCBzZXJ2ZXJ1PGJyLz48aT4obmVibyBJUCBhZHJlc2EpPC9pPic7CiRsYW5nWydwb3J0J10gPSAnUG9ydCBTTVRQIHNlcnZlcnUnOwokbGFuZ1snZnJvbSddID0gJ0FkcmVzYSBvZGVzJmlhY3V0ZTtsYXRlbGUnOwokbGFuZ1snZnJvbXVzZXInXSA9ICdKbSZlYWN1dGU7bm8gb2RlcyZpYWN1dGU7bGF0ZWxlJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnVW0maWFjdXRlO3N0xJtuJmlhY3V0ZTsgc2VuZG1haWx1JzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdTTVRQIG5lb2Rwb3YmaWFjdXRlO2QmYWFjdXRlOyc7CiRsYW5nWydzdWJtaXQnXSA9ICdPZGVzbGF0JzsKJGxhbmdbJ2NhbmNlbCddID0gJ1N0b3Jubyc7CiRsYW5nWydpbmZvX21haWxlciddID0gJ01ldG9kYSBvZGVzJmlhY3V0ZTtsJmFhY3V0ZTtuJmlhY3V0ZTsgKHNlbmRtYWlsLCBzbXRwLCBtYWlsKS4gTmVqc3BvbGVobGl2xJtqJnNjYXJvbjsmaWFjdXRlOyBqZSB2xJt0JnNjYXJvbjtpbm91IHNtdHAuJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ0ptJmVhY3V0ZTtubyBTTVRQIHNlcnZlcnUgKHBsYXRuJmVhY3V0ZTsgcG91emUgcHJvIG1ldG9kdSBzbXRwKSc7CiRsYW5nWydpbmZvX3BvcnQnXSA9ICfEjCZpYWN1dGU7c2xvIHBvcnR1IFNNVFAgKG9idnlrbGUgMjUpIChwbGF0biZlYWN1dGU7IHBvdXplIHBybyBtZXRvZHUgc210cCknOwokbGFuZ1snaW5mb19mcm9tJ10gPSAnQWRyZXNhIHBvdcW+aXQmYWFjdXRlOyBqYWtvIG9kZXMmaWFjdXRlO2xhdGVsIHZlIHYmc2Nhcm9uO2VjaCBlbWFpbGVjaCc7CiRsYW5nWydpbmZvX2Zyb211c2VyJ10gPSAnSm0mZWFjdXRlO25vIHBybyBvZGVzJmlhY3V0ZTtsJmFhY3V0ZTtuJmlhY3V0ZTsgdiZzY2Fyb247ZWNoIGVtYWlsxa8nOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ0tvbXBsZXRuJmlhY3V0ZTsgY2VzdGEgayBzZW5kbWFpbHUgKHBsYXRuJmVhY3V0ZTsgcG91emUgcHJvIG1ldG9kdSBzZW5kbWFpbCknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnUG/EjWV0IHZ0ZcWZaW4gU01UUCBrb252ZXJ6YWNlIG5lxb4gbmFzdGFuZSBjaHliYSAocGxhdG4mZWFjdXRlOyBwb3V6ZSBwcm8gbWV0b2R1IHNtdHApJzsKJGxhbmdbJ2luZm9fc210cGF1dGgnXSA9ICdWecW+YWR1amUgViZhYWN1dGU7JnNjYXJvbjsgc2VydmVyIFNNVFAgb3bEm8WZZW4maWFjdXRlOyAocGxhdG4mZWFjdXRlOyBwb3V6ZSBwcm8gbWV0b2R1IHNtdHApJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWUnXSA9ICdVxb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyBwcm8gU01UUCBvdsSbxZllbiZpYWN1dGU7IChwbGF0biZlYWN1dGU7IHBvdXplIHBybyBtZXRvZHUgc210cCwgcG9rdWQgamUgdnlicmFuJmVhY3V0ZTsgc210cCBvdsSbxZllbiZpYWN1dGU7KSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnSGVzbG8gcHJvIFNNVFAgb3bEm8WZZW4maWFjdXRlOyAocGxhdG4mZWFjdXRlOyBwb3V6ZSBwcm8gbWV0b2R1IHNtdHAsIHBva3VkIGplIHZ5YnJhbiZlYWN1dGU7IHNtdHAgb3bEm8WZZW4maWFjdXRlOyknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVyIG1vZHVsJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ01TTWFpbGVyIG1vZHVsIGJ5bCAmdWFjdXRlO3NwxJsmc2Nhcm9uO27EmyBuYWluc3RhbG92JmFhY3V0ZTtuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDTVNNYWlsZXIgbW9kdWwgb2RpbnN0YWxvdiZhYWN1dGU7bi4uLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIG9kaW5zdGFsb3YmYWFjdXRlO24uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsIHZlcnplICVzIG5haW5zdGFsb3YmYWFjdXRlO24uJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1DFmSZpYWN1dGU7c3R1cCB6YWsmYWFjdXRlO3omYWFjdXRlO24uIE92xJvFmXRlIHByb3MmaWFjdXRlO20gc3YmYWFjdXRlOyBvcHImYWFjdXRlO3ZuxJtuJmlhY3V0ZTsuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQ2h5YmEhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgcG92JnlhY3V0ZTsmc2Nhcm9uO2VuIG5hIHZlcnppICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdOYXN0YXZlbiZpYWN1dGU7IG1vZHVsdSc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdBZG1pbmlzdHJhY2UgbW9kdWx1JzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnQ01TTWFpbGVyIG1vZHVsJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVG90byBqZSBqZWRub2R1Y2gmeWFjdXRlOyB3cmFwcGVyIGsgUEhQTWFpbGVydSwgbSZhYWN1dGU7IHN0ZWpuJmVhY3V0ZTsgQVBJIChmdW5rY2UgcHJvIGZ1bmtjZSkgYSBqZWRub2R1Y2gmZWFjdXRlOyByb3pocmFuJmlhY3V0ZTsgcHJvIHomYWFjdXRlO2tsYWQuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDEuNzMuMS4gxZkmaWFjdXRlO2plbiwgMjAwNS4gUHJ2biZpYWN1dGU7IHZ5ZCZhYWN1dGU7biZpYWN1dGU7LjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjIuIMWZJmlhY3V0ZTtqZW4sIDIwMDUuIE9kc3RyYW7Em24maWFjdXRlOyBkcm9ibiZ5YWN1dGU7Y2ggY2h5YiB2IEFkbWluaXN0cmHEjW4maWFjdXRlO20gcGFuZWx1LiBWeXNvdXZhYyZpYWN1dGU7IHBvbGUgbmVvZHBvdiZpYWN1dGU7ZGFsbyBha3R1JmFhY3V0ZTtsbiZpYWN1dGU7IGhvZG5vdMSbIHVsb8W+ZW4mZWFjdXRlOyB2IGRhdGFiJmFhY3V0ZTt6aTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjMuIMWZJmlhY3V0ZTtqZW4sIDIwMDUuIE9kc3RyYW7Em24maWFjdXRlOyBkcm9ibiZ5YWN1dGU7Y2ggY2h5YiBwxZlpIG9kZXMmaWFjdXRlO2wmYWFjdXRlO24maWFjdXRlOyBodG1sIGVtYWlsdTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIGxpc3RvcGFkLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIGxpc3RvcGFkLCAyMDA1LiBQxZlpZCZhYWN1dGU7bmEgZnVua2Npb25hbGl0YSBhIGZvcm11bCZhYWN1dGU7xZlvdiZhYWN1dGU7IHBvbGUgcHJvIFNNVFAgb3bEm8WZZW4maWFjdXRlOy48L2xpPg0KPGxpPlZlcnNpb24gMS43My42LiBwcm9zaW5lYywgMjAwNS4gViZ5YWN1dGU7Y2hveiZpYWN1dGU7IG1ldG9kYSBtYWlsZXJ1IHBvIGluc3RhbGFjaSBqZSBTTVRQLCB2eWxlcCZzY2Fyb247ZW4mYWFjdXRlOyBkb2t1bWVudGFjZSBhIHDFmWkgcmVzZXR1IHNlIHJlc2V0dWomaWFjdXRlOyBpIHDFmSZpYWN1dGU7bG9oeSwgYWRyZXN5IGF0ZC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBsZWRlbiwgMjAwNi4gWnbEm3Qmc2Nhcm9uO2VuYSBkJmVhY3V0ZTtsa2EgdsSbdCZzY2Fyb247aW55IHBvbCZpYWN1dGU7PC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOC4gbGVkZW4sIDIwMDYuIFptxJtuxJtuIHBhbmVsIHZsYXN0bm9zdCZpYWN1dGU7LCBhYnkgYnlsIG8gdHJvY2h1IHYmaWFjdXRlO2MgaW5mb3JtYXRpdm7Em2omc2Nhcm9uOyZpYWN1dGU7LjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjkuIGxlZGVuLCAyMDA2LiBQxZlpZCZhYWN1dGU7bmEgbW/Fvm5vc3QgdGVzdG92YWMmaWFjdXRlO2hvIGVtYWlsdSBhIHDFmWlkJmFhY3V0ZTtubyBwb3R2cnplbiZpYWN1dGU7IG5hIGthxb5kJmVhY3V0ZTsgdGxhxI0maWFjdXRlO3RrbyAoa3JvbcSbIHN0b3Jubyk8L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMC4gc3JwZW4sIDIwMDYuIE1vZHVsIHVwcmF2ZW4gbmEgJnF1b3Q7bCZpYWN1dGU7biZlYWN1dGU7IG5hxI0maWFjdXRlO3QmYWFjdXRlO24maWFjdXRlOyZxdW90OywgYWJ5IHNlIHptZW4mc2Nhcm9uO2lsbyB2eXXFvml0JmlhY3V0ZTsgcGFtxJt0aSBrZHnFviBDTVNNYWlsZXIgbmVuJmlhY3V0ZTsgcG91xb4maWFjdXRlO3YmYWFjdXRlO24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTMuIGxlZGVuLCAyMDA4LiAgUMWZaWQmYWFjdXRlO25vIHYmaWFjdXRlO2NlIGtvbnRyb2wgb3ByJmFhY3V0ZTt2bsSbbiZpYWN1dGU7LjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMSAtIGxlZGVuLCAyMDExIC0gT2RzdHJhbsSbbm8gdGxhxI0maWFjdXRlO3RrbyBzdG9ybm8uPC9saT4NCjxsaT5WZXJzaW9uIDIuMC4yIC0geiZhYWN1dGU7xZkmaWFjdXRlOywgMjAxMSAtIFYmeWFjdXRlO2Nob3omaWFjdXRlOyB6bmFrb3YmYWFjdXRlOyBzYWRhIG5hc3RhdmVuYSBuYSB1dGYtOC48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5DbyBkxJtsJmFhY3V0ZTsgdGVudG8gbW9kdWw/PC9oMz4NCjxwPlRlbnRvIG1vZHVsIG5lcG9za3l0dWplIMW+JmFhY3V0ZTtkbm91IGZ1bmtjaSBwcm8gcG91xb5pdCZpYWN1dGU7IHXFvml2YXRlbGVtLiBKZSB1csSNZW4gcHJvIHphxI1sZW7Em24maWFjdXRlOyBkbyBvc3RhdG4maWFjdXRlO2NoIG1vZHVsxa8gYSB1bW/FvsWIdWplIG9kZXMmaWFjdXRlO2wmYWFjdXRlO24maWFjdXRlOyBlbWFpbMWvLiBUbyBqZSB2JnNjYXJvbjtlLCBuaWMgdiZpYWN1dGU7Yy48L3A+DQo8aDM+SmFrIG1vaHUgbW9kdWwgcG91xb4maWFjdXRlO3Q8L2gzPg0KPHA+VGVudG8gbW9kdWwgcG9za3l0dWplIGplZG5vZHVjaCZ5YWN1dGU7IHdyYXBwZXIgbWV0b2QgYSBwcm9txJtubiZ5YWN1dGU7Y2ggUEhQTWFpbGVydS4gSmUgdXLEjWVuIHBybyB2JnlhY3V0ZTt2b2omYWFjdXRlO8WZZSBtb2R1bMWvLiBuJmlhY3V0ZTvFvmUgamUgdXZlZGVuIHDFmSZpYWN1dGU7a2xhZCBhIHN0cnXEjW4mYWFjdXRlOyByZWZlcmVuY2UgQVBJLiBQcm9zJmlhY3V0ZTttIHDFmWXEjXTEm3RlIHNpIHDFmWlsb8W+ZW5vdSBkb2t1bWVudGFjaSBQSFBNYWlsZXJ1IHBybyBkYWwmc2Nhcm9uOyZpYWN1dGU7IGluZm9ybWFjZS48L3A+DQo8aDM+UMWZJmlhY3V0ZTtrbGFkPC9oMz4NCjxwcmU+DQogICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJiMwMzk7Q01TTWFpbGVyJiMwMzk7KTsNCiAgJGNtc21haWxlci0+QWRkQWRkcmVzcygmIzAzOTtjYWxndXkxMDAwQGhvdG1haWwuY29tJiMwMzk7LCYjMDM5O2NhbGd1eSYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNldEJvZHkoJiMwMzk7JmFtcDtsdDtoNCZhbXA7Z3Q7VGhpcyBpcyBhIHRlc3QgbWVzc2FnZSZhbXA7bHQ7L2g0JmFtcDtndDsmIzAzOTspOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoJiMwMzk7VGVzdCBtZXNzYWdlJiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2VuZCgpOw0KPC9wcmU+DQo8aDM+QVBJPC9oMz4NCjx1bD4NCjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPg0KPHA+UmVzZXQgdGhlIG9iamVjdCBiYWNrIHRvIHRoZSB2YWx1ZXMgc3BlY2lmaWVkIGluIHRoZSBhZG1pbiBwYW5lbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEFsdEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDaGFyU2V0KCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogaXNvLTg4NTktMTwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q2hhclNldCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb25maXJtUmVhZGluZ1RvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhZGRyZXNzIGNvbmZpcm1lZCByZWFkaW5nIGVtYWlsIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29uZmlybVJlYWRpbmdUbyggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgb3IgdW5zZXQgdGhlIGNvbmZpcm0gcmVhZGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiB0ZXh0L3BsYWluPC9wPg0KPHA+UmV0dXJuIHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5TZXQgdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVuY29kaW5nKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBlbmNvZGluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRFbmNvZGluZyggJGVuY29kaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBlbmNvZGluZzwvcD4NCjxwPk9wdGlvbnMgYXJlOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlJldHVybiBhbnkgZXJyb3IgaW5mb3JtYXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RnJvbSggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIZWxvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBIRUxPIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8cD5EZWZhdWx0IHZhbHVlOiAkaG9zdG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBTTVRQcyBob3N0IHNlcGFyYXRlZCBieSBzZW1pY29sb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldE1haWxlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyLCBlaXRoZXIgc2VuZG1haWwsbWFpbCwgb3Igc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFBhc3N3b3JkKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBhc3N3b3JkKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UG9ydCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcG9ydCBudW1iZXIgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgcG9ydCBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8cD5WYWx1ZXMgYXJlIDE9SGlnaCwgMyA9IE5vcm1hbCwgNSA9IExvdzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZGVyIGVtYWlsIChyZXR1cm4gcGF0aCkgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRlciggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRlciBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kbWFpbCggJHBhdGggKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEF1dGgoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQQXV0aCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBEZWJ1ZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0VGltZW91dCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFdvcmRXcmFwKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEF0dGFjaG1lbnQoICRwYXRoLCAkbmFtZSA9ICYjMDM5OyYjMDM5OywgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEJDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgQkNDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgQ0MmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEN1c3RvbUhlYWRlciggJHR4dCApPC9iPjwvcD4NCjxwPkFkZCBhIGN1c3RvbSBoZWFkZXIgdG8gdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRFbWJlZGRlZEltYWdlKCAkcGF0aCwgJGNpZCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGFuIGVtYmVkZGVkIGltYWdlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRSZXBseVRvKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFkZHJlc3NlcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWxsUmVjaXBpZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCByZWNpcGllbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckF0dGFjaG1lbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGF0dGFjaG1lbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQkNDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckN1c3RvbUhlYWRlcnMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgY3VzdG9tIGhlYWRlcnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyUmVwbHl0bygpPC9iPjwvcD4NCjxwPkNsZWFyIHJlcGx5IHRvIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzRXJyb3IoKTwvYj48L3A+DQo8cD5DaGVjayBmb3IgYW4gZXJyb3IgY29uZGl0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzSFRNTCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGh0bWwgZmxhZzwvcD4NCjxwPjxpPk5vdGU8L2k+IHBvc3NpYmx5IHRoaXMgc2hvdWxkIGJlIGEgZ2V0IGFuZCBzZXQgbWV0aG9kPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzTWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc1FtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBxbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc2VuZG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU01UUCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2VuZCgpPC9iPjwvcD4NCjxwPlNlbmQgdGhlIGN1cnJlbnRseSBwcmVwYXJlZCBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIDxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZ3VhZ2UgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U210cENsb3NlKCk8L2I+PC9wPg0KPHA+Q2xvc2UgdGhlIHNtdHAgY29ubmVjdGlvbjwvcD4NCjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlzIGhvbWVwYWdlIGF0IDxhIGhyZWY9JiMwMzk7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyYjMDM5Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyYjMDM5Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmIzAzOTs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0mIzAzOTttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5Oz4mYW1wO2x0O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCYjMDM5Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjk0NzkzODk1LjEzMjAwNzU0MTEuMTMyMDA3NTQxMS4xMzIwMDgxMDE3LjInOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzIwMDc1NDExLjEuMS51dG1jc3I9KGRpcmVjdCl8dXRtY2NuPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sncWNhJ10gPSAnUDAtMjA2NTc2NDU1OC0xMzE5MjkzNTY5MTEyJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnRGVubmUgdGVzdCBnZW5lcmVyZXMga3VuIHNqJmFlbGlnO2xkZW50LiAgRGVyIGthbiBnb2R0IGcmYXJpbmc7IG5vZ2V0IHRpZCwgZiZvc2xhc2g7ciBkZW4gZm9yc3ZpbmRlcic7CiRsYW5nWydub25lJ10gPSAnSW5nZW4nOwokbGFuZ1snc3NsJ10gPSAnU1NMJzsKJGxhbmdbJ3RscyddID0gJ1RMUyc7CiRsYW5nWydzZWN1cmUnXSA9ICdLcnlwdGVyaW5nJzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAnRyZhZWxpZztsZGVyIGt1biBmb3IgU01UUCBtYWlsZXIgbWV0b2RlbiwgZGVubmUgdmFsZ211bGlnaGVkIHNwZWNpZmljZXJlciBodm9yZGFuIGZvcmJpbmRlbHNlbiBza2FsIGtyeXB0ZXJlcyc7CiRsYW5nWydpbmZvX2Ntc21haWxlciddID0gJ0RldHRlIG1vZHVsIGJlbnl0dGVzIGFmIGV0IHV0YWwgYWYgYW5kcmUgbW9kdWxlciB0aWwgYXQgZyZvc2xhc2g7cmUgZGV0IGxldHRlcmUgYXQgc2VuZGUgZW1haWxzLiBEZXQgc2thbCBvcHMmYWVsaWc7dHRlcyBpIG92ZXJlbnNzdGVtbWVsc2UgbWVkIGRlIGtyYXYsIHNvbSBkaW4gdWRieWRlciBzdGlsbGVyLiAgQmVueXQgdmVubGlnc3QgZGUgb3BseXNuaW5nZXIsIHNvbSBkdSBoYXIgZiZhcmluZztldCBhZiBkaW4gdWRieWRlciB0aWwgYXQgcmVkaWdlcmUgZGlzc2UgaW5kc3RpbGxpbmdlci4gSHZpcyBkdSBhbGxpZ2V2ZWwgaWtrZSBrYW4gZiZhcmluZzsgc2VuZHQgdGVzdGJlc2tlZGVuIGtvcnJla3QsIHMmYXJpbmc7IGthbiBkdSBibGl2ZSBuJm9zbGFzaDtkdCB0aWwgYXQga29udGFrdGUgZGluIHVkYnlkZXIgZm9yIGF0IGYmYXJpbmc7IGhqJmFlbGlnO2xwLic7CiRsYW5nWydjaGFyc2V0J10gPSAnVGVnbnMmYWVsaWc7dCc7CiRsYW5nWydzZW5kdGVzdG1haWxjb25maXJtJ10gPSAnRGV0dGUgdmlsIHNlbmRlIGVuIHRlc3RiZXNrZWQgdGlsIGRlbiBhbmdpdm5lIGFkcmVzc2UuIEh2aXMgYWZzZW5kZWxzZW4gbHlra2VzIHZpbCBkdSBibGl2ZSBzZW5kdCB0aWxiYWdlIHRpbCBkZW5uZSBzaWRlLiBWaWwgZHUgZm9ydHMmYWVsaWc7dHRlPyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICdHZW0gZGlzc2UgdiZhZWxpZztyZGllciBzb20gQ01TTWFpbGVyIGluZHN0aWxsaW5nZXI/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnQ01TTWFpbGVyIHRlc3QgYmVza2VkJzsKJGxhbmdbJ3Rlc3Rib2R5J10gPSAnRGVubmUgYmVza2VkIGhhciBrdW4gdGlsIGZvcm0mYXJpbmc7bCBhdCB0ZXN0ZSBpbmRzdGlsbGluZ2VybmUgaSBDTVNNYWlsZXIgbW9kdWxldC4gSHZpcyBkdSBtb2R0YWdlciBkZW5uZSB2aXJrZXIgYWx0IHNvbSBkZXQgc2thbC4nOwokbGFuZ1snZXJyb3Jfbm90ZXN0YWRkcmVzcyddID0gJ0Zlamw6IFRlc3QgYWRyZXNzZSBpa2tlIGFuZ2l2ZXQnOwokbGFuZ1sncHJvbXB0X3Rlc3RhZGRyZXNzJ10gPSAnVGVzdCBlbWFpbCBhZHJlc3NlJzsKJGxhbmdbJ3NlbmR0ZXN0J10gPSAnU2VuZCB0ZXN0IGJlc2tlZCc7CiRsYW5nWydwYXNzd29yZCddID0gJ0tvZGVvcmQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdCcnVnZXJuYXZuJzsKJGxhbmdbJ3NtdHBhdXRoJ10gPSAnU01UUCBnb2RrZW5kZWxzZSc7CiRsYW5nWydtYWlsZXInXSA9ICdNYWlsZXIgbWV0b2RlJzsKJGxhbmdbJ2hvc3QnXSA9ICdTTVRQIGhvc3QgbmF2bjxici8+PGk+KGVsbGVyIElQIGFkcmVzc2UpPC9pPic7CiRsYW5nWydwb3J0J10gPSAnU01UUCBzZXJ2ZXIgcG9ydCc7CiRsYW5nWydmcm9tJ10gPSAnRnJhIGFkcmVzc2UnOwokbGFuZ1snZnJvbXVzZXInXSA9ICdGcmEgYnJ1Z2VybmF2bic7CiRsYW5nWydzZW5kbWFpbCddID0gJ1NlbmRtYWlsIHBsYWNlcmluZyc7CiRsYW5nWyd0aW1lb3V0J10gPSAnU01UUCB0aW1lb3V0JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NlbmQnOwokbGFuZ1snY2FuY2VsJ10gPSAnRm9ydHJ5ZCc7CiRsYW5nWydpbmZvX21haWxlciddID0gJ01haWwgbWV0b2RlIGRlciBza2FsIGJlbnl0dGVzIChzZW5kbWFpbCwgc210cCwgbWFpbCkuIFNNVFAgZXIgc29tIHJlZ2VsIGRldCBtZXN0IHAmYXJpbmc7bGlkZWxpZ2UuJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ1NNVFAgaG9zdG5hbWUgKGcmYWVsaWc7bGRlciBrdW4gZm9yIHNtdHAgbWFpbCBtZXRvZGVuKSc7CiRsYW5nWydpbmZvX3BvcnQnXSA9ICdTTVRQIHBvcnQgbnVtbWVyICh0eXBpc2sgMjUpIChnJmFlbGlnO2xkZXIga3VuIGZvciBzbXRwIG1haWwgbWV0b2RlbiknOwokbGFuZ1snaW5mb19mcm9tJ10gPSAnQWRyZXNzZSBkZXIgc2thbCBicnVnZXMgc29tIGFmc2VuZGVyIGFmIGFsbGUgZW1haWxzJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICdOYXZuIGRlciBza2FsIGJydWdlcyBzb20gYWZzZW5kZXIgYWYgYWxsZSBlbWFpbHMnOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ0RlbiBmdWxkc3QmYWVsaWc7bmRpZ2Ugc3RpIHRpbCBzZW5kbWFpbCBwcm9ncmFtbWV0IChnJmFlbGlnO2xkZXIga3VuIGZvciBzZW5kbWFpbCBtYWlsZXIgbWV0b2RlbiknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnQW50YWxsZXQgYWYgc2VrdW5kZXIgaSBlbiBTTVRQIGtvbW11bmlrYXRpb24gZiZvc2xhc2g7ciBkZXQgYW5zZXMgc29tIGVuIGZlamwgKGt1biBneWxkaWcgZm9yIHNtdHAgbWFpbGVyIG1ldG9kZW4pJzsKJGxhbmdbJ2luZm9fc210cGF1dGgnXSA9ICdLciZhZWxpZzt2ZXIgZGluIHNtdHAgaG9zdCBnb2RrZW5kZWxzZSAoa3VuIGd5bGRpZyBmb3Igc210cCBtYWlsZXIgbWV0b2RlbiknOwokbGFuZ1snaW5mb191c2VybmFtZSddID0gJ1NNVFAgZ29ka2VuZGVsc2UgYnJ1Z2VybmF2biAoa3VuIGd5bGRpZyBmb3Igc210cCBtYWlsZXIgbWV0b2RlbiwgbiZhcmluZztyIGdvZGtlbmRlbHNlIGVyIHNsJmFyaW5nO2V0IHRpbCknOwokbGFuZ1snaW5mb19wYXNzd29yZCddID0gJ1NNVFAgZ29ka2VuZGVsc2Uga29kZW9yZCAoa3VuIGd5bGRpZyBmb3Igc210cCBtYWlsZXIgbWV0b2RlbiwgbiZhcmluZztyIGdvZGtlbmRlbHNlIGVyIHNsJmFyaW5nO2V0IHRpbCknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVyIE1vZHVsZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NNU01haWxlciBtb2R1bGV0IGJsZXYgaW5zdGFsbGVyZXQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0NNU01haWxlciBtb2R1bGV0IGJsZXYgYWZpbnN0YWxsZXJldCc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZXQgYmxldiBhZmluc3RhbGxlcmV0JzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsIHZlcnNpb24gJXMgaW5zdGFsbGVyZXQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FkZ2FuZyBuJmFlbGlnO2d0ZXQhIFRqZWsgZGluZSByZXR0aWdoZWRlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWpsISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZXQgYmxldiBvcGdyYWRlcmV0IHRpbCB2ZXJzaW9uICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bCBpbmRzdGlsbGluZ2VyJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsIGFkbWluaXN0cmF0aW9ucyBwYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0NNU01haWxlciBtb2R1bCc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0RldHRlIGVyIGV0IGludGVyZmFjZSB0aWwgUEhQTWFpbGVyLCBkZXQgZXQgdGlsc3ZhcmVuZGUgQVBJIChmdW5rdGlvbiBmb3IgZnVua3Rpb24pIG9nIGV0IHNpbXBlbHQgaW50ZXJmYWNlIHRpbCBub2dsZSBzdGFuZGFyZHYmYWVsaWc7cmRpZXIuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDEuNzMuMS4gT2N0b2JlciwgMjAwNS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjIuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCB0aGUgYWRtaW4gcGFuZWwuICBUaGUgZHJvcGRvd24gd2FzIG5vdCByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdmFsdWUgZnJvbSB0aGUgcHJlZmVyZW5jZXMgZGF0YWJhc2U8L2xpPg0KPGxpPlZlcnNpb24gMS43My4zLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggc2VuZGluZyBodG1sIGVtYWlsPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNC4gTm92ZW1iZXIsIDIwMDUuIEZvcm0gZmllbGRzIGluIHByZWZlcmVuY2VzIGFyZSBsYXJnZXIsIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmcm9tdXNlciwgYW5kIGNhbGxlZCByZXNldCB3aXRoaW4gdGhlIGNvbnN0cnVjdG9yPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNS4gTm92ZW1iZXIsIDIwMDUuIEFkZGVkIHRoZSBmb3JtIGZpZWxkcyBhbmQgZnVuY3Rpb25hbGl0eSBmb3IgU01UUCBhdXRoZW50aWNhdGlvbi48L2xpPg0KPGxpPlZlcnNpb24gMS43My42LiBEZWNlbWJlciwgMjAwNS4gRGVmYXVsdCBtYWlsZXIgbWV0aG9kIGlzIFNNVFAgb24gaW5zdGFsbCwgYW5kIGltcHJvdmVkIGRvY3VtZW50YXRpb24sIGFuZCBub3cgSSBjbGVhciBhbGwgdGhlIGF0dGFjaG1lbnRzLCBhbmQgYWRkcmVzc2VzLCBldGMuIG9uIHJlc2V0LjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjcuIEphbnVhcnksIDIwMDYuIEluY3JlYXNlZCBmaWVsZCBsZW5ndGhzIGluIG1vc3QgZmllbGRzPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOC4gSmFudWFyeSwgMjAwNi4gQ2hhbmdlZCB0aGUgcHJlZmVyZW5jZXMgcGFuZWwgdG8gYmUgYSBiaXQgbW9yZSBkZXNjcmlwdGl2ZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My45LiBKYW51YXJ5LCAyMDA2LiBBZGRlZCB0ZXN0IGVtYWlsIGNhcGFiaWxpdHksIGFuZCBjb25maXJtYXRpb24gb24gZWFjaCBidXR0b24gKGV4Y2VwdCBjYW5jZWwpPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTAuIEF1Z3VzdCwgMjAwNi4gTW9kaWZpZWQgdG8gdXNlIGxhenkgbG9hZGluZyB0byBtaW5pbWl6ZSBtZW1vcnkgZm9vdHByaW50IHdoZW4gQ01TTWFpbGVyIGlzIG5vdCBiZWluZyB1c2VkLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEzLiBKYW51YXJ5LCAyMDA4LiAgQWRkZWQgbW9yZSBwZXJtaXNzaW9ucyBjaGVja3MuPC9saT4NCjxsaT5WZXJzaW9uIDIuMC4xIC0gSmFudWFyeSwgMjAxMSAtIFJlbW92ZSBjYW5jZWwgYnV0dG9uLjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMiAtIFNlcHRlbWJlciwgMjAxMSAtIFNldCBkZWZhdWx0IGNoYXJzZXQgdG8gdXRmLTguPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+SHZhZCBlciBkZXQgdGlsIGZvcj88L2gzPg0KPHA+RGV0dGUgbW9kdWwgdGlsYnlkZXIgaWtrZSBzbHV0YnJ1Z2VyZW4gbm9nZW4gZnVua3Rpb25lci4gRGV0IGVyIGFsZW5lIGxhdmV0IG1ocC4gaW50ZWdyYXRpb24gaSBhbmRyZSBtb2R1bGVyLCBzJmFyaW5nOyBkZSBrYW4gZyZvc2xhc2g7cmUgYnJ1ZyBhZiBlbWFpbC4gTWVyZSBlciBkZXIgaWtrZSBpIGRldC48L3A+DQo8aDM+SHZvcmRhbiBza2FsIGplZyBhbnZlbmRlIGRldD88L2gzPg0KPHA+RGV0dGUgbW9kdWwgZ2l2ZXIgbGV0IGFkZ2FuZyB0aWwgYWxsZSBQSFBNYWlsZXJzIG1ldG9kZXIgb2cgdmFyaWFibGUuIEhlbnNpZ3RlbiBlciwgYXQgbW9kdWxldCBza2FsIGJydWdlcyBhZiBhbmRyZSBtb2R1bC11ZHZpa2xlcmUuIEhlcnVuZGVyIHNlcyBldCBla3NlbXBlbCBvZyBlbiBodXJ0aWcgQVBJLXJlZmVyZW5jZS4gIEwmYWVsaWc7cyB2ZW5saWdzdCBkZW4gZG9rdW1lbnRhdGlvbiB0aWwgUEhQTWFpbGVyLCBzb20gbWVkZiZvc2xhc2g7bGdlciBmb3IgbWVyZSBpbmZvcm1hdGlvbi48L3A+DQo8aDM+RXQgZWtzZW1wZWw8L2gzPg0KPHByZT4NCiAgJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZShcJiMwMzk7Q01TTWFpbGVyXCYjMDM5Oyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoXCYjMDM5O2NhbGd1eTEwMDBAaG90bWFpbC5jb21cJiMwMzk7LFwmIzAzOTtjYWxndXlcJiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2V0Qm9keShcJiMwMzk7PGgxPkRlbm5lIGJlc2tlZCBlciBlbiBwciZvc2xhc2g7dmU8aDE+XCYjMDM5Oyk7DQogICRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsNCiAgJGNtc21haWxlci0+U2V0U3ViamVjdChcJiMwMzk7UHImb3NsYXNoO3ZlYmVza2VkXCYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNlbmQoKTsNCjwvcHJlPg0KPGgzPkFQSTwvaDM+DQo8dWw+DQo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4NCjxwPk51bHN0aWwgb2JqZWt0ZXQgb2cgZ2VuZGFuIGRlIHYmYWVsaWc7cmRpZXIsIHNvbSBlciBzcGVjaWZpY2VyZXQgaSBhZG1pbmlzdHJhdGlvbnNwYW5lbGV0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0QWx0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiZlYWN1dGU7ciBlbWFpbGVucyBhbHRlcm5hdGl2ZSBpbmRob2xkIChib2R5KTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+QmVzdGVtIGVtYWlsZW5zIGFsdGVybmF0aXZlIGluZGhvbGQgKGJvZHkpPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiZlYWN1dGU7ciBlbWFpbGVucyBwcmltJmFlbGlnO3JlIGluZGhvbGQgKGJvZHkpPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5CZXN0ZW0gZW1haWxlbnMgcHJpbSZhZWxpZztyZSBpbmRob2xkIChib2R5KTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENoYXJTZXQoKTwvYj48L3A+DQo8cD5IdmlzIGludGV0IGFuZGV0IGVyIGFuZ2l2ZXQsIGJydWdlcyBpc28tODg1OS0xPC9wPg0KPHA+UmV0dXJuJmVhY3V0ZTtyIG1haWxlcmVucyB0ZWducyZhZWxpZzt0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5CZXN0ZW0gbWFpbGVyZW5zIHRlZ25zJmFlbGlnO3Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb25maXJtUmVhZGluZ1RvKCk8L2I+PC9wPg0KPHA+UmV0dXJuJmVhY3V0ZTtyIG1vZHRhZ2VyYWRyZXNzZSB2ZWQgZW1haWxzLCBodm9yIG1vZHRhZ2VyZW4gYmVkZXMgYmVrciZhZWxpZztmdGUgYXQgaGF2ZSBsJmFlbGlnO3N0IGVtYWlsZW48L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29uZmlybVJlYWRpbmdUbyggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5BbnZlbmQgZWxsZXIgYW52ZW5kIGlra2UgZW1haWxhZHJlc3NlIGZvciBtb2R0YWdlbHNlIGFmIGJla3ImYWVsaWc7ZnRlbHNlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5IdmlzIGludGV0IGVyIGFuZ2l2ZXQgYnJ1Z2VzIHRleHQvcGxhaW48L3A+DQo8cD5SZXR1cm4mZWFjdXRlO3IgaW5kaG9sZHN0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+QmVzdGVtIGluZGhvbGRzdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVuY29kaW5nKCk8L2I+PC9wPg0KPHA+UmV0dXJuJmVhY3V0ZTtyIGluZGtvZG5pbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPmlCZXN0ZW0gbmRrb2RuaW5nPC9wPg0KPHA+RGVyIGVyIGYmb3NsYXNoO2xnZW5kZSBtdWxpZ2hlZGVyOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlJldHVybiZlYWN1dGU7ciBpbmZvcm1hdGlvbiBvbSBmZWpsLCBodmlzIGRlIG9wc3QmYXJpbmc7cjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb20oKTwvYj48L3A+DQo8cD5SZXR1cm4mZWFjdXRlO3IgZGVuIGFrdHVlbGxlIG9wcmluZGVsc2VzYWRyZXNzZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRGcm9tKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPkJlc3RlbSBkZW4gb3ByaW5kZWxzZXNhZHJlc3NlLCBzb20gZW1haWxlbiBrb21tZXIgZnJhPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4mZWFjdXRlO3IgZGV0IGFrdHVlbGxlIG9wcmluZGVsc2VzbmF2bjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+QmVzdGVtIG9wcmluZGVsc2VzbmF2bmV0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybiZlYWN1dGU7ciBIRUxPLXRla3N0ZW48L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+DQo8cD5CZXN0ZW0gSEVMTy10ZWtzdGVuPC9wPg0KPHA+SHZpcyBpbnRldCBhbmRldCBlciBhbmdpdmV0LCBicnVnZXMgJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlJldHVybiZlYWN1dGU7ciBTTVRQJiMwMzk7ZXJuZXMgaG9zdCBhZHNraWx0IGFmIHNlbWlrb2xvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+QmVzdGVtIHYmYWVsaWc7cnRzbmF2bjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3ROYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuJmVhY3V0ZTtyIGRldCB2JmFlbGlnO3J0c25hdm4sIHNvbSBTTVRQIEhlbG8gYnJ1Z2VyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5CZXN0ZW0gZGV0IHYmYWVsaWc7cnRzbmF2biwgc29tIFNNVFAgSGVsbyBza2FsIGJydWdlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuJmVhY3V0ZTtyIG1haWxlcmVuPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4NCjxwPkJlc3RlbSBtYWlsZXJlbiAtIGVudGVuIHNlbmRtYWlsLG1haWwsIGVsbGVyIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldHVybiZlYWN1dGU7ciBhZGdhbmdza29kZW4gdGlsIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPkJlc3RlbSBhZGdhbmdza29kZW4gdGlsIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm4mZWFjdXRlO3Igc210cC1mb3JiaW5kZWxzZW5zIHBvcnRudW1tZXI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4NCjxwPkJlc3RlbSBzbXRwLWZvcmJpbmRlbHNlbnMgcG9ydG51bW1lcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+UmV0dXJuJmVhY3V0ZTtyIGJlc2tlZGVucyBwcmlvcml0ZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UHJpb3JpdHkoIGludCApPC9iPjwvcD4NCjxwPkJlc3RlbSBiZXNrZWRlbnMgcHJpb3JpdGV0PC9wPg0KPHA+TXVsaWdlIHYmYWVsaWc7cmRpZXIgZXIgMT1IJm9zbGFzaDtqLCAzID0gTm9ybWFsLCA1ID0gTGF2PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuJmVhY3V0ZTtyIGFmc2VuZGVyIChhZHJlc3NlIGZvciBtb2R0YWdlbHNlIGFmIGJlc3ZhcmVsc2UpPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRlciggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5CZXN0ZW0gYWZzZW5kZXJhZHJlc3NlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5SZXR1cm4mZWFjdXRlO3Igc3RpZW4gdGlsIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRtYWlsKCAkcGF0aCApPC9iPjwvcD4NCjxwPkJlc3RlbSBzdGllbiB0aWwgc2VuZG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEF1dGgoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQQXV0aCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBEZWJ1ZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0VGltZW91dCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFdvcmRXcmFwKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9IFwmIzAzOTtcJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gXCYjMDM5O1wmIzAzOTssICRlbmNvZGluZyA9IFwmIzAzOTtiYXNlNjRcJiMwMzk7LCAkdHlwZSA9IFwmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSBcJiMwMzk7XCYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIEJDQ1wmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSBcJiMwMzk7XCYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIENDXCYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPg0KPHA+QWRkIGEgY3VzdG9tIGhlYWRlciB0byB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9IFwmIzAzOTtcJiMwMzk7LCAkZW5jb2RpbmcgPSBcJiMwMzk7YmFzZTY0XCYjMDM5OywgJHR5cGUgPSBcJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9IFwmIzAzOTtcJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSBcJiMwMzk7YmFzZTY0XCYjMDM5OywgJHR5cGUgPSBcJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWRkcmVzc2VzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIHJlY2lwaWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQXR0YWNobWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYXR0YWNobWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBCQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBjdXN0b20gaGVhZGVyczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+Q2xlYXIgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4NCjxwPkNoZWNrIGZvciBhbiBlcnJvciBjb25kaXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNIVE1MKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgaHRtbCBmbGFnPC9wPg0KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9IFwmIzAzOTtcJiMwMzk7ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+DQo8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPVwiaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZ1wiPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9XCJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmdcIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj1cImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2Ntc1wiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj1cIm1haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tXCI+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9XCJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUExcIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTk4MTU5NTU3OC4xMzc2NjU5NDUxLjEzNzY2Njc2NDAuMTM3NjY3MTQxNy40JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM3NjY2NzY0MC4zLjIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2ZlYXR1cmVfcmVxdWVzdC92aWV3LzkyODZ8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnRGllc2VyIFRlc3Qgd2lyZCBudXIgaW4gdW5yZWdlbG3DpMOfaWdlbiBBYnN0w6RuZGVuIGF1c2dlZsO8aHJ0LiBCaXMgenVyIG7DpGNoc3RlbiBQcsO8ZnVuZyBrYW5uIGRhaGVyIGVpbmlnZSBaZWl0IHZlcmdlaGVuLic7CiRsYW5nWydub25lJ10gPSAnS2VpbmUnOwokbGFuZ1snc3NsJ10gPSAnU1NMJzsKJGxhbmdbJ3RscyddID0gJ1RMUyc7CiRsYW5nWydzZWN1cmUnXSA9ICdWZXJzY2hsw7xzc2VsdW5nIG1pdCc7CiRsYW5nWydpbmZvX3NlY3VyZSddID0gJ0Z1bmt0aW9uaWVydCBudXIgbWl0IGRlciBFaW5zdGVsbHVuZyBTTVRQLU1haWxlci4gw5xiZXIgZGllc2UgT3B0aW9uIGthbm4gZmVzdGdlbGVndCB3ZXJkZW4sIHdlbGNoZSBWZXJzY2hsw7xzc2VsdW5nIGbDvHIgZGllIFZlcmJpbmR1bmcgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLic7CiRsYW5nWydpbmZvX2Ntc21haWxlciddID0gJ0RpZXNlcyBNb2R1bCB3aXJkIHZvbiBlaW5pZ2VuIGFuZGVyZW4gTW9kdWxlbiB2ZXJ3ZW5kZXQsIHVtIGRlbiBFbWFpbC1WZXJzYW5kIHp1IGVybGVpY2h0ZXJuLiBFcyBtdXNzIGRhaGVyIGVudHNwcmVjaGVuZCBkZW4gVm9yZ2FiZW4gSWhyZXMgSG9zdGVycyBrb25maWd1cmllcnQgd2VyZGVuLiAgV2VubiBTaWUgdHJvdHpkZW0ga2VpbmUgVGVzdG5hY2hyaWNodCB2ZXJzZW5kZW4ga8O2bm5lbiwgc29sbHRlbiBTaWUgSWhyZW4gSG9zdGVyIHVtIEhpbGZlIGJpdHRlbi4nOwokbGFuZ1snY2hhcnNldCddID0gJ1plaWNoZW5zYXR6JzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdIaWVybWl0IHdpcmQgZWluZSBUZXN0bmFjaHJpY2h0IGFuIGRpZSBmZXN0Z2VsZWd0ZSBBZHJlc3NlIHZlcnNhbmR0LiBXYXIgZGVyIFZlcnNhbmQgZXJmb2xncmVpY2gsIGtlaHJlbiBTaWUgenUgZGllc2VyIFNlaXRlIHp1csO8Y2suIFdvbGxlbiBTaWUgZGllcyB3aXJrbGljaD8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnU29sbGVuIGRpZSBDTVNNYWlsZXItRWluc3RlbGx1bmdlbiBnZXNwZWljaGVydCB3ZXJkZW4/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnVGVzdG5hY2hyaWNodCBkZXMgQ01TTWFpbGVyLU1vZHVscyc7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ01pdCBkaWVzZXIgTmFjaHJpY2h0IHdlcmRlbiBkaWUgRWluc3RlbGx1bmdlbiBkZXMgQ01TTWFpbGVyLU1vZHVscyBnZXRlc3RldC4gV2VubiBTaWUgZGllc2UgRW1haWwgZXJoYWx0ZW4gaGFiZW4sIHNpbmQgZGllIEVpbnN0ZWxsdW5nZW4ga29ycmVrdC4nOwokbGFuZ1snZXJyb3Jfbm90ZXN0YWRkcmVzcyddID0gJ0ZlaGxlcjogRGllIFRlc3RhZHJlc3NlIHd1cmRlIG5pY2h0IGZlc3RnZWxlZ3QhJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ1Rlc3QtRW1haWwtQWRyZXNzZSc7CiRsYW5nWydzZW5kdGVzdCddID0gJ1Rlc3RuYWNocmljaHQgc2VuZGVuJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcnQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdCZW51dHplcm5hbWUnOwokbGFuZ1snc210cGF1dGgnXSA9ICdTTVRQIEF1dGhlbnRpZml6aWVydW5nJzsKJGxhbmdbJ21haWxlciddID0gJ01haWxtZXRob2RlJzsKJGxhbmdbJ2hvc3QnXSA9ICdTTVRQLUhvc3RuYW1lPGJyIC8+PGk+KG9kZXIgSVAtQWRyZXNzZSk8L2k+JzsKJGxhbmdbJ3BvcnQnXSA9ICdQb3J0IGRlcyBTTVRQLVNlcnZlcnMnOwokbGFuZ1snZnJvbSddID0gJyJWb24iLUFkcmVzc2UnOwokbGFuZ1snZnJvbXVzZXInXSA9ICciVm9uIi1Vc2VybmFtZSc7CiRsYW5nWydzZW5kbWFpbCddID0gJ1NlbmRtYWlsLVBmYWQnOwokbGFuZ1sndGltZW91dCddID0gJ1NNVFAtVGltZW91dCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTcGVpY2hlcm4nOwokbGFuZ1snY2FuY2VsJ10gPSAnQWJicmVjaGVuJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnVmVyd2VuZGV0ZSBNYWlsbWV0aG9kZSAoc2VuZG1haWwsIHNtdHAsIG1haWwpLiBTTVRQIGlzdCBkaWUgdmVybMOkc3NsaWNoc3RlIE1ldGhvZGUuJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ1NNVFAtSG9zdG5hbWUgKG51ciBmw7xyIGRpZSBTTVRQLU1haWxtZXRob2RlIGfDvGx0aWcpJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ1NNVFAtUG9ydG51bW1lciAow7xibGljaGVyd2Vpc2UgMjUpIChudXIgZsO8ciBkaWUgU01UUC1NYWlsbWV0aG9kZSBnw7xsdGlnKSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICdFbWFpbC1BZHJlc3NlLCBkaWUgYWxzIEFic2VuZGVyIGbDvHIgYWxsZSBFbWFpbHMgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLjxiciAvPjxzdHJvbmc+SGlud2Vpczwvc3Ryb25nPiBEaWVzZSBFbWFpbC1BZHJlc3NlIG11c3MgZ2VuYXUgZW50c3ByZWNoZW5kIGRlbiBWb3JnYWJlbiBJaHJlcyBIb3N0ZXJzIGVpbmdlc3RlbGx0IHdlcmRlbi4gQW5kZXJlbmZhbGxzIGthbm4gZXMgYmVpbSBWZXJzYW5kIHZvbiBFbWFpbHMgenUgU2Nod2llcmlna2VpdGVuIGtvbW1lbi48YnIgLz5XZW5uIFNpZSBuaWNodCBkaWUgcmljaHRpZ2VuIFdlcnRlIGbDvHIgZGllc2UgRWluc3RlbGx1bmdlbiBrZW5uZW4sIHNvbGx0ZW4gU2llIElocmVuIEhvc3RlciBmcmFnZW4uJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICdSZWFsbmFtZSwgZGVyIGFscyBBYnNlbmRlciBmw7xyIGFsbGUgRW1haWxzIHZlcndlbmRldCB3ZXJkZW4gc29sbCc7CiRsYW5nWydpbmZvX3NlbmRtYWlsJ10gPSAnRGVyIGtvbXBsZXR0ZSBQZmFkIHp1IElocmVtIHNlbmRtYWlsLVByb2dyYW1tIChudXIgZsO8ciBkaWUgU01UUC1NYWlsbWV0aG9kZSBnw7xsdGlnKSc7CiRsYW5nWydpbmZvX3RpbWVvdXQnXSA9ICdEYXVlciBkZXIgU01UUC1Lb252ZXJzYXRpb24gaW4gU2VrdW5kZW4sIGJldm9yIGVpbmUgRmVobGVybWVsZHVuZyBhdXNnZWdlYmVuIHdpcmQgKG51ciBmw7xyIGRpZSBTTVRQLU1haWxtZXRob2RlIGfDvGx0aWcpJzsKJGxhbmdbJ2luZm9fc210cGF1dGgnXSA9ICdCZW7DtnRpZ3QgSWhyIFNNVFAtSG9zdCBlaW5lIEF1dGhlbnRpZml6aWVydW5nPyAobnVyIGbDvHIgZGllIFNNVFAtTWFpbG1ldGhvZGUgZ8O8bHRpZyknOwokbGFuZ1snaW5mb191c2VybmFtZSddID0gJ1NNVFAtQXV0aGVudGlmaXppZXJ1bmdzLUJlbnV0emVybmFtZSAobnVyIGbDvHIgZGllIFNNVFAtTWFpbG1ldGhvZGUgZ8O8bHRpZywgd2VubiBTTVRQLUF1dGhlbnRpZml6aWVydW5nIGdld8OkaGx0IHd1cmRlKSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnU01UUC1BdXRoZW50aWZpemllcnVuZ3MtUGFzc3dvcnQgKG51ciBmw7xyIGRpZSBTTVRQLU1haWxtZXRob2RlIGfDvGx0aWcsIHdlbm4gU01UUC1BdXRoZW50aWZpemllcnVuZyBnZXfDpGhsdCB3dXJkZSknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRGFzIENNU01haWxlci1Nb2R1bCB3dXJkZSBpbnN0YWxsaWVydC4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RhcyBDTVNNYWlsZXItTW9kdWwgd3VyZGUgZGVpbnN0YWxsaWVydCAuLi4gc2NoYWRlLCBTaWUgZ2VoZW4genUgc2VoZW4hJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnRGFzIE1vZHVsIHd1cmRlIGRlaW5zdGFsbGllcnQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ0RhcyBNb2R1bCB3dXJkZSBpbiBkZXIgVmVyc2lvbiAlcyBpbnN0YWxsaWVydC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnWnVncmlmZiB2ZXJ3ZWlnZXJ0LiBCaXR0ZSBwcsO8ZmVuIFNpZSBJaHJlIEJlcmVjaHRpZ3VuZ2VuLic7CiRsYW5nWydlcnJvciddID0gJ0ZlaGxlciEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdEYXMgTW9kdWwgd3VyZGUgYXVmIFZlcnNpb24gJXMgYWt0dWFsaXNpZXJ0Lic7CiRsYW5nWydzZXR0aW5nc190aXRsZSddID0gJ0VpbnN0ZWxsdW5nZW4nOwokbGFuZ1sndGVzdF90aXRsZSddID0gJ1Byw7xmZW4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWxlaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsLUFkbWluaXN0cmF0aW9uJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnQ01TTWFpbGVyLU1vZHVsJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRGllcyBpc3QgZWluIGVpbmZhY2hlciBXcmFwcGVyIGbDvHIgZGVuIFBIUE1haWxlcjsgZXIgaGF0IGRpZSBnbGVpY2hlIEFQSSAoRnVua3Rpb24gZsO8ciBGdW5rdGlvbikgdW5kIGVpbiBlaW5mYWNoZXMgSW50ZXJmYWNlIGbDvHIgZWluIHBhYXIgRWluc3RlbGx1bmdlbi4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS43My4xLiBPY3RvYmVyLCAyMDA1LiBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHRoZSBhZG1pbiBwYW5lbC4gIFRoZSBkcm9wZG93biB3YXMgbm90IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSBwcmVmZXJlbmNlcyBkYXRhYmFzZTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjMuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCBzZW5kaW5nIGh0bWwgZW1haWw8L2xpPg0KPGxpPlZlcnNpb24gMS43My40LiBOb3ZlbWJlciwgMjAwNS4gRm9ybSBmaWVsZHMgaW4gcHJlZmVyZW5jZXMgYXJlIGxhcmdlciwgZml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIGZyb211c2VyLCBhbmQgY2FsbGVkIHJlc2V0IHdpdGhpbiB0aGUgY29uc3RydWN0b3I8L2xpPg0KPGxpPlZlcnNpb24gMS43My41LiBOb3ZlbWJlciwgMjAwNS4gQWRkZWQgdGhlIGZvcm0gZmllbGRzIGFuZCBmdW5jdGlvbmFsaXR5IGZvciBTTVRQIGF1dGhlbnRpY2F0aW9uLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjYuIERlY2VtYmVyLCAyMDA1LiBEZWZhdWx0IG1haWxlciBtZXRob2QgaXMgU01UUCBvbiBpbnN0YWxsLCBhbmQgaW1wcm92ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIG5vdyBJIGNsZWFyIGFsbCB0aGUgYXR0YWNobWVudHMsIGFuZCBhZGRyZXNzZXMsIGV0Yy4gb24gcmVzZXQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNy4gSmFudWFyeSwgMjAwNi4gSW5jcmVhc2VkIGZpZWxkIGxlbmd0aHMgaW4gbW9zdCBmaWVsZHM8L2xpPg0KPGxpPlZlcnNpb24gMS43My44LiBKYW51YXJ5LCAyMDA2LiBDaGFuZ2VkIHRoZSBwcmVmZXJlbmNlcyBwYW5lbCB0byBiZSBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjkuIEphbnVhcnksIDIwMDYuIEFkZGVkIHRlc3QgZW1haWwgY2FwYWJpbGl0eSwgYW5kIGNvbmZpcm1hdGlvbiBvbiBlYWNoIGJ1dHRvbiAoZXhjZXB0IGNhbmNlbCk8L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMC4gQXVndXN0LCAyMDA2LiBNb2RpZmllZCB0byB1c2UgbGF6eSBsb2FkaW5nIHRvIG1pbmltaXplIG1lbW9yeSBmb290cHJpbnQgd2hlbiBDTVNNYWlsZXIgaXMgbm90IGJlaW5nIHVzZWQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTMuIEphbnVhcnksIDIwMDguICBBZGRlZCBtb3JlIHBlcm1pc3Npb25zIGNoZWNrcy48L2xpPg0KPGxpPlZlcnNpb24gMi4wLjEgLSBKYW51YXJ5LCAyMDExIC0gUmVtb3ZlIGNhbmNlbCBidXR0b24uPC9saT4NCjxsaT5WZXJzaW9uIDIuMC4yIC0gU2VwdGVtYmVyLCAyMDExIC0gU2V0IGRlZmF1bHQgY2hhcnNldCB0byB1dGYtOC48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXMgbWFjaHQgZGllc2VzIE1vZHVsPzwvaDM+DQo8cD5EaWVzZXMgTW9kdWwgaGF0IGtlaW5lIGRpcmVrdGUgRnVua3Rpb25hbGl0w6R0IGbDvHIgZGVuIFdlYnNlaXRlbmJlc3VjaGVyLiBFcyBzdGVsbHQgYW5kZXJlbiBNb2R1bGVuIG51ciBkaWUgUmVzc291cmNlbiB6dW0gVmVyc2FuZCB2b24gRS1NYWlscyBiZXJlaXQuPC9wPg0KPGgzPldpZSB3aXJkIGVzIGVpbmdlc2V0enQgPzwvaDM+DQo8cD5EaWVzZXMgTW9kdWwgaXN0IGVpbiBlaW5mYWNoZXIgV3JhcHBlciBmw7xyIGFsbGUgTWV0aG9kZW4gdW5kIFZhcmlhYmxlbiB2b24gPGEgcmVsPSJleHRlcm5hbCIgaHJlZj0iaHR0cDovL3BocG1haWxlci5zb3VyY2Vmb3JnZS5uZXQvIj5QSFBtYWlsZXI8L2E+LiBFcyB3dXJkZSB6dXIgVW50ZXJzdMO8dHp1bmcgZsO8ciBkaWUgTW9kdWwtUHJvZ3JhbW1pZXJ1bmcga29uemlwaWVydC4gSW0gZm9sZ2VuZGVuIGZpbmRlbiBTaWUgZWluIEFud2VuZHVuZ3NiZWlzcGllbCB1bmQgZWluZSBrdXJ6ZSBBUEktUmVmZXJlbnouIFdlaXRlcmUgSW5mb3JtYXRpb25lbiBmaW5kZW4gU2llIGluIGRlciBEb2t1bWVudGF0aW9uIHp1IFBIUG1haWxlci48L3A+DQo8aDM+RWluIEJlaXNwaWVsPC9oMz4NCjxwcmU+DQoJPGNvZGU+DQogICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoXCdDTVNNYWlsZXJcJyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoXCdjYWxndXkxMDAwQGhvdG1haWwuY29tXCcsXCdjYWxndXlcJyk7DQogICRjbXNtYWlsZXItPlNldEJvZHkoXCc8aDQ+RGFzIGlzdCBlaW5lIFRlc3RuYWNocmljaHQ8L2g0PlwnKTsNCiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOw0KICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KFwnVGVzdG5hY2hyaWNodFwnKTsNCiAgJGNtc21haWxlci0+U2VuZCgpOw0KICA8L2NvZGU+DQo8L3ByZT4NCjxoMz5Qcm9ncmFtbWllcnNjaG5pdHRzdGVsbGU8L2gzPg0KPHRhYmxlPg0KCTx0aGVhZD4NCgkJPHRyPg0KCQkJPHRoIHNjb3BlPSJjb2wiPk1ldGhvZGU8L3RoPg0KCQkJPHRoIHNjb3BlPSJjb2wiPkJlc2NocmVpYnVuZzwvdGg+DQoJCTwvdHI+DQoJPC90aGVhZD4NCgk8dGJvZHk+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT52b2lkIHJlc2V0KCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5TZXR6dCBkYXMgT2JqZWt0IGF1ZiBkaWUgaW4gZGVyIEFkbWluaXN0cmF0aW9uIGRlZmluaWVydGVuIFdlcnRlIHp1csO8Y2s8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+c3RyaW5nIEdldEFsdEJvZHkoKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZGVuIGFsdGVybmF0aXZlbiBFLU1haWwtQm9keSB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRlbiBhbHRlcm5hdGl2ZW4gRS1NYWlsLUJvZHk8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+c3RyaW5nIEdldEJvZHkoKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZGVuIHByaW3DpHJlbiBFLU1haWwtQm9keSB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnZvaWQgU2V0Qm9keSggJHN0cmluZyApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRlbiBwcmltw6RyZW4gRS1NYWlsLUJvZHk8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+c3RyaW5nIEdldENoYXJTZXQoKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZGVuIHZlcndlbmRldGVuIFplaWNoZW5zYXR6IGRlciBFLU1haWwgenVyw7xjazsgU3RhbmRhcmQ6IFVURi04PC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnZvaWQgU2V0Q2hhclNldCggJHN0cmluZyApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRlbiB2ZXJ3ZW5kZXRlbiBaZWljaGVuc2F0eiBkZXIgRS1NYWlsPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnN0cmluZyBHZXRDb25maXJtUmVhZGluZ1RvKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5HaWJ0IGRpZSBFLU1haWwtQWRyZXNzZSB6dXLDvGNrLCBhbiBkaWUgZGllIExlc2ViZXN0w6R0aWd1bmcgZ2VzYW5kdCB3aXJkPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnZvaWQgU2V0Q29uZmlybVJlYWRpbmdUbyggJGFkZHJlc3MgKTwvY29kZT48L3RkPg0KCQkJPHRkPkRlZmluaWVydCBvZGVyIGzDtnNjaHQgZGllIEUtTWFpbC1BZHJlc3NlIGbDvHIgZGllIExlc2ViZXN0w6R0aWd1bmc8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2NvZGU+PC9wPg0KCQkJPHRkPkdpYnQgZGVuIFR5cCBkZXMgSW5oYWx0cyBkZXIgRS1NYWlsIHp1csO8Y2s7IFN0YW5kYXJkOiB0ZXh0L3BsYWluPC90ZD4NCgkJPC9saT4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnZvaWQgU2V0Q29udGVudFR5cGUoKTwvY29kZT48L3RkPg0KCQkJPHRkPkRlZmluaWVydCBkZW4gVHlwIGRlcyBJbmhhbHRzIGRlciBFLU1haWw8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+c3RyaW5nIEdldEVuY29kaW5nKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5HaWJ0IGRpZSBLb2RpZXJ1bmcgZGVyIEUtTWFpbCB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRpZSBLb2RpZXJ1bmcgZGVyIEUtTWFpbDsgbcO2Z2xpY2hlIE9wdGlvbmVuIHNpbmQ6IDhiaXQsIDdiaXQsIGJpbmFyeSwgYmFzZTY0LCBxdW90ZWQtcHJpbnRhYmxlPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnN0cmluZyBHZXRFcnJvckluZm8oKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZWluZSBGZWhsZXJpbmZvcm1hdGlvbiB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnN0cmluZyBHZXRGcm9tKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5HaWJ0IGRpZSBha3R1ZWxsZSBFLU1haWwtQWRyZXNzZSBkZXMgQWJzZW5kZXJzIHp1csO8Y2s8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+dm9pZCBTZXRGcm9tKCAkYWRkcmVzcyApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRpZSBFLU1haWwtQWRyZXNzZSBkZXMgQWJzZW5kZXJzPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+R2lidCBkZW4gTmFtZW4gZGVzIEFic2VuZGVycyB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPlNldEZyb21OYW1lKCAkbmFtZSApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRlbiBOYW1lbiBkZXMgQWJzZW5kZXJzPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnN0cmluZyBHZXRIZWxvKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5HaWJ0IGRlbiBIRUxPLVN0cmluZyB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPlNldEhlbG8oICRzdHJpbmcgKTwvY29kZT48L3RkPg0KCQkJPHRkPkRlZmluaWVydCBkZW4gSEVMTy1TdHJpbmc7IFN0YW5kYXJkd2VydDogJGhvc3RuYW1lPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnN0cmluZyBHZXRIb3N0KCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5HaWJ0IGRpZSBTTVRQLUhvc3RzIHp1csO8Y2sgKGdldHJlbm50IGR1cmNoIFNlbWlrb2xvbik8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5EZWZpbmllcnQgZGllIEhvc3RzPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+R2lidCBkZW4gSG9zdG5hbWVuIHp1csO8Y2ssIGRlciBmw7xyIFNNVFAgSGVsbyB2ZXJ3ZW5kZXQgd2lyZDwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvY29kZT48L3RkPg0KCQkJPHRkPkRlZmluaWVydCBkZW4gSG9zdG5hbWVuLCBkZXIgZsO8ciBTTVRQIEhlbGxvIHZlcndlbmRldCB3aXJkPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnN0cmluZyBHZXRNYWlsZXIoKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZGVuIHZlcndlbmRldGVuIE1haWxlciB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnZvaWQgU2V0TWFpbGVyKCAkbWFpbGVyICk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5HaWJ0IGRlbiB2ZXJ3ZW5kZXRlbiBNYWlsZXIgenVyw7xjaywgZW50d2VkZXIgc2VuZG1haWwsIG1haWwsIG9kZXIgc210cDwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT5zdHJpbmcgR2V0UGFzc3dvcmQoKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZGFzIEtlbm53b3J0IGbDvHIgZGllIFNNVFAtQXV0aGVudGlmaXppZXJ1bmcgenVyw7xjazwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT52b2lkIFNldFBhc3N3b3JkKCAkc3RyaW5nICk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5EZWZpbmllcnQgZGFzIEtlbm53b3J0IGbDvHIgZGllIFNNVFAtQXV0aGVudGlmaXppZXJ1bmc8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+aW50IEdldFBvcnQoKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZGllIFBvcnRudW1tZXIgZsO8ciBTTVRQLVZlcmJpbmR1bmdlbiB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnZvaWQgU2V0UG9ydCggJGludCApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRpZSBQb3J0bnVtbWVyIGbDvHIgU01UUC1WZXJiaW5kdW5nZW48L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+aW50IEdldFByaW9yaXR5KCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5HaWJ0IGRpZSBQcmlvcml0w6R0IGRlciBOYWNocmljaHQgenVyw7xjazwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvY29kZT48L3RkPg0KCQkJPHRkPkRlZmluaWVydCBkaWUgUHJpb3JpdMOkdC9EcmluZ2xpY2hrZWl0IGRlciBOYWNocmljaHQ8YnIvPg0KCQkJTcO2Z2xpY2hlIFdlcnRlIHNpbmQgMSA9IEhvY2gsIDMgPSBOb3JtYWwsIDUgPSBOaWVkcmlnPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnN0cmluZyBHZXRTZW5kZXIoKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZGVuIHNlbmRlci1TdHJpbmcgenVyw7xjayAocmV0dXJuIHBhdGgpIDwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT52b2lkIFNldFNlbmRlciggJGFkZHJlc3MgKTwvY29kZT48L3RkPg0KCQkJPHRkPkRlZmluaWVydCBkZW4gc2VuZGVyLVN0cmluZzwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT5zdHJpbmcgR2V0U2VuZG1haWwoKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZGVuIHNlbmRtYWlsLVBmYWQgenVyw7xjazwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT52b2lkIFNldFNlbmRtYWlsKCAkcGF0aCApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRlbiBzZW5kbWFpbC1QZmFkPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPmJvb2wgR2V0U01UUEF1dGgoKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZGVuIGFrdHVlbGxlbiBXZXJ0IGRlcyBTTVRQLUF1dGhlbnRpZml6aWVydW5ncy1GbGFncyB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPlNldFNNVFBBdXRoKCAkYm9vbCApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRlbiBTTVRQLUF1dGhlbnRpZml6aWVydW5ncy1GbGFnPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPmJvb2wgR2V0U01UUERlYnVnKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5HaWJ0IGRlbiBha3R1ZWxsZW4gV2VydCBkZXMgU01UUC1EZWJ1Zy1GbGFncyB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRlbiBTTVRQLURlYnVnLUZsYWc8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+Ym9vbCBHZXRTTVRQS2VlcEFsaXZlKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5HaWJ0IGRlbiBha3R1ZWxsZW4gV2VydCBkZXMgU01UUC1LZWVwLUFsaXZlLUZsYWdzIHp1csO8Y2s8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvY29kZT48L3RkPg0KCQkJPHRkPkRlZmluaWVydCBkZW4gU01UUC1LZWVwLUFsaXZlLUZsYWc8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+c3RyaW5nIEdldFN1YmplY3QoKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZGVuIGFrdHVlbGxlbiBCZXRyZWZmLVN0cmluZyB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnZvaWQgU2V0U3ViamVjdCggJHN0cmluZyApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRlbiBha3R1ZWxsZW4gQmV0cmVmZi1TdHJpbmc8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+aW50IEdldFRpbWVvdXQoKTwvY29kZT48L3RkPg0KCQkJPHRkPkdpYnQgZGVuIHRpbWVvdXQtV2VydCB6dXLDvGNrPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvY29kZT48L3RkPg0KCQkJPHRkPkRlZmluaWVydCBkZW4gdGltZW91dC1XZXJ0PC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPnN0cmluZyBHZXRVc2VybmFtZSgpPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+R2lidCBkZW4gQmVudXR6ZXJuYW1lbiBmw7xyIGRpZSBTTVRQLUF1dGhlbnRpZml6aWVydW5nIHp1csO8Y2s8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+dm9pZCBTZXRVc2VybmFtZSggJHN0cmluZyApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRlbiBCZW51dHplcm5hbWVuIGbDvHIgZGllIFNNVFAtQXV0aGVudGlmaXppZXJ1bmc8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+aW50IEdldFdvcmRXcmFwKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5HaWJ0IGRlbiB3b3Jkd3JhcC1XZXJ0IHp1csO8Y2s8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RGVmaW5pZXJ0IGRlbiB3b3Jkd3JhcC1XZXJ0PC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvY29kZT48L3RkPg0KCQkJPHRkPkbDvGd0IGVpbmUgWmllbGFkcmVzc2UgaGluenU8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gXCdcJywgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RsO8Z3QgZWluZW4gQW5oYW5nIGhpbnp1PC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPkFkZEJDQyggJGFkZHJlc3MsICRuYW1lID0gXCdcJyApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RsO8Z3QgZWluZSBaaWVsYWRyZXNzZSBmw7xyIGVpbmUgdmVyZGVja3RlIEtvcGllIChCQ0MpIGhpbnp1PC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5Gw7xndCBlaW5lIFppZWxhZHJlc3NlIGbDvHIgZWluZSBLb3BpZSAoQ0MpIGhpbnp1PC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPkFkZEN1c3RvbUhlYWRlciggJHR4dCApPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+RsO8Z3QgZGVyIEUtTWFpbCBlaW5lbiBiZW51dHplcmRlZmluaWVydGVuIEhlYWRlciBoaW56dTwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT5BZGRFbWJlZGRlZEltYWdlKCAkcGF0aCwgJGNpZCwgJG5hbWUgPSBcJ1wnLCAkZW5jb2RpbmcgPSBcJ2Jhc2U2NFwnLCAkdHlwZSA9IFwnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwnICk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5Gw7xndCBlaW4gZWluZ2ViZXR0ZXRlcyBCaWxkIGhpbnp1PC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvY29kZT48L3RkPg0KCQkJPHRkPkbDvGd0IGVpbmUgQWRyZXNzZSBmw7xyIGRpZSBBbnR3b3J0LUUtTWFpbCBoaW56dTwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvY29kZT48L3RkPg0KCQkJPHRkPkbDvGd0IGVpbmVuIERhdGVpYW5oYW5nIGhpbnp1PC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPkNsZWFyQWRkcmVzc2VzKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5Mw7ZzY2h0IGFsbGUgRS1NYWlsLUFkcmVzc2VuPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPkNsZWFyQWxsUmVjaXBpZW50cygpPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+TMO2c2NodCBhbGxlIEVtcGbDpG5nZXI8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+Q2xlYXJBdHRhY2htZW50cygpPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+TMO2c2NodCBhbGxlIEFuaMOkbmdlPC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPkNsZWFyQkNDcygpPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+TMO2c2NodCBhbGxlIEJDQy1FLU1haWwtQWRyZXNzZW48L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+Q2xlYXJDQ3MoKTwvY29kZT48L3RkPg0KCQkJPHRkPkzDtnNjaHQgYWxsZSBDQy1FLU1haWwtQWRyZXNzZW48L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5Mw7ZzY2h0IGFsbGUgYmVudXR6ZXJkZWZpbmllcnRlbiBIZWFkZXI8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+Q2xlYXJSZXBseXRvKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5Mw7ZzY2h0IGRpZSBFLU1haWwtQWRyZXNzZSBmw7xyIGRpZSBBbnR3b3J0PC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPklzRXJyb3IoKTwvY29kZT48L3RkPg0KCQkJPHRkPlByw7xmdCwgb2IgZWluZSBiZXN0aW1tdGUgRmVobGVyYmVkaW5ndW5nIGVyZsO8bGx0IGlzdDwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT5ib29sIElzSFRNTCggJGJvb2wgKTwvY29kZT48L3RkPg0KCQkJPHRkPktlbm56ZWljaG5ldCBkaWUgRS1NYWlsIGFscyBIVE1MLUUtTWFpbDxici8+DQoJCQk8ZW0+SGlud2Vpczo8L2VtPiBEaWVzIGlzdCB6d2FyIGVpbmUgTcO2Z2xpY2hrZWl0LCBqZWRvY2ggc29sbHRlIGJldm9yenVndCBlaW5lIGdldC0gdW5kIHNldC1NZXRob2RlIHZlcndlbmRldCB3ZXJkZW48L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+Ym9vbCBJc01haWwoKTwvY29kZT48L3RkPg0KCQkJPHRkPlByw7xmdCwgb2IgbWFpbCB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGw8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+Ym9vbCBJc1FtYWlsKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5QcsO8ZnQsIG9iIHFtYWlsIHZlcndlbmRldCB3ZXJkZW4gc29sbDwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT5Jc1NlbmRtYWlsKCk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5QcsO8ZnQsIG9iIHNlbmRtYWlsIHZlcndlbmRldCB3ZXJkZW4gc29sbDwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD48Y29kZT5Jc1NNVFAoKTwvY29kZT48L3RkPg0KCQkJPHRkPlByw7xmdCwgb2Igc210cCB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGw8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+U2VuZCgpPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+VmVyc2VuZGV0IGRpZSBha3R1ZWxsIHZvcmJlcmVpdGV0ZSBFLU1haWw8L3RkPg0KCQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQ+PGNvZGU+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSBcJ1wnICk8L2NvZGU+PC90ZD4NCgkJCTx0ZD5MZWd0IGRpZSBha3R1ZWxsZSBTcHJhY2hlIHVuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGRlbiBTcHJhY2gtUGZhZCBmZXN0PC90ZD4NCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkPjxjb2RlPlNtdHBDbG9zZSgpPC9jb2RlPjwvdGQ+DQoJCQk8dGQ+U2NobGllw590IGRpZSBzbXRwLVZlcmJpbmR1bmc8L3RkPg0KCQk8L3RyPg0KCTwvdGJvZHk+DQo8L3RhYmxlPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+RGllc2VzIE1vZHVsIGJlaW5oYWx0ZXQga2VpbmVuIGtvbW1lcnppZWxsZW4gU3VwcG9ydC4gU2llIGvDtm5uZW4gamVkb2NoIMO8YmVyIGZvbGdlbmRlIE3DtmdsaWNoa2VpdGVuIEhpbGZlIHp1IGRlbSBNb2R1bCBlcmhhbHRlbjo8L3A+DQo8dWw+DQo8bGk+RsO8ciBkaWUgbGV0enRlIFZlcnNpb24gZGllc2VzIE1vZHVscywgRkFRcywgZGVtIFZlcnNhbmQgZWluZXMgRmVobGVycmVwb3J0cyBvZGVyIGRlbSBLYXVmIGtvbW1lcnppZWxsZW4gU3VwcG9ydCBiZXN1Y2hlbiBTaWUgYml0dGUgY2FsZ3V5cyBIb21lcGFnZSB1bnRlciA8YSBocmVmPSJodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnIj50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+RWluZSB3ZWl0ZXJlIERpc2t1c3Npb24genUgZGllc2VtIE1vZHVsIGlzdCBhdWNoIGluIGRlbiBGb3JlbiB2b24gPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGU8L2E+IHp1IGZpbmRlbi48L2xpPg0KPGxpPkRlciBBdXRvciBjYWxndXkxMDAwIGlzdCBow6R1ZmlnIGltIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPiB6dSBmaW5kZW4uPC9saT4NCjxsaT5MZXR6dGxpY2ggZXJyZWljaGVuIFNpZSBkZW4gQXV0b3IgYXVjaCDDvGJlciBlaW5lIGRpcmVrdGUgRS1NYWlsLjwvbGk+DQo8L3VsPg0KPHA+TmFjaCBkZXIgR1BMIHdpcmQgZGllc2UgU29mdHdhcmUgc28gdmVyw7ZmZmVudGxpY2h0LCB3aWUgc2llIGlzdC4gQml0dGUgbGVzZW4gU2llIGRlbiBMaXplbnp0ZXh0IGbDvHIgZGVuIHZvbGxlbiBIYWZ0dW5nc2F1c3NjaGx1c3MuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IHVuZCBMaXplbno8L2gzPg0KPHA+Q29weXJpZ2h0IMKpIDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSI+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsZSBSZWNodGUgdm9yYmVoYWx0ZW4uPC9wPg0KPHA+RGllc2VzIE1vZHVsIHd1cmRlIHVudGVyIGRlciA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4gdmVyw7ZmZmVudGxpY2h0LiBTaWUgbcO8c3NlbiBkaWVzZXIgTGl6ZW56IHp1c3RpbW1lbiwgYmV2b3IgU2llIGRhcyBNb2R1bCB2ZXJ3ZW5kZW4uPC9wPic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/el_GR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2luZm9fY21zbWFpbGVyJ10gPSAnVGhpcyBtb2R1bGUgaXMgdXNlZCBieSBudW1lcm91cyBvdGhlciBtb2R1bGVzIHRvIGZhY2lsaXRhdGUgc2VuZGluZyBlbWFpbHMuICBJdCBtdXN0IGJlIHByb3Blcmx5IGNvbmZpZ3VyZWQgdG8geW91ciBob3N0cyByZXF1aXJlbWVudHMuICBQbGVhc2UgdXNlIHRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSB5b3VyIGhvc3QgdG8gYWRqdXN0IHRoZXNlIHNldHRpbmdzLiAgSWYgeW91IHN0aWxsIGNhbm5vdCBnZXQgdGhlIHRlc3QgbWVzc2FnZSB0byBzZW5kIHByb3Blcmx5LCB5b3UgbWF5IGhhdmUgdG8gY29udGFjdCB5b3VyIGhvc3QgZm9yIGFzc2lzdGFuY2UuDQrOkc+Fz4TOriDOtyDOtc69z4zPhM63z4TOsSDPh8+BzrfPg865zrzOv8+Azr/Ouc61zq/PhM6xzrkgzrHPgM+MIM+Azr/Ou8+FzqzPgc65zrjOvM61z4IgzqzOu867zrXPgiDOtc69z4zPhM63z4TOtc+CDQrOs865zrEgzr3OsSDOtM65zrXPhc66zr/Ou8+Nzr3Otc65IM+EzrfOvSDOsc+Azr/Pg8+Ezr/Ou86uIM+Ez4nOvSDOt867zrXOus+Ez4HOv869zrnOus+Ozr0gz4TOsc+Hz4XOtM+Bzr/OvM61zq/Pic69Lg0KzqDPgc6tz4DOtc65IM69zrEgzrTOuc6xzrzOv8+Bz4bPic64zrXOryDOus6xz4TOrM67zrvOt867zrEgz4PPhM65z4IgzrHPgM6xzrnPhM6uz4POtc65z4Igz4TOv8+FIM+AzqzPgc6/z4fOv8+FL860zrnOsc66zr/OvM65z4PPhM6uIM+DzrHPgi4NCs6gzrHPgc6xzrrOsc67z44gz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSDPhM65z4Igz4DOu863z4HOv8+Gzr/Pgc6vzrXPgiDPgM6/z4Ugz4DOsc+Bzq3Ph86/zr3PhM6xzrkgzrHPgM+MIM+Ezr/OvQ0Kz4DOrM+Bzr/Ph86/L860zrnOsc66zr/OvM65z4PPhM6uIM+DzrHPgiDOs865zrEgzr3OsSDPg861z4TOsc+BzrXPhM61IM6xz4XPhM6tz4Igz4TOuc+CIM+Bz4XOuM68zrfPg861zrnPgi4gzpXOrM69IM6xzrrPjM68zrEgzrTOtc69DQrOvM+Azr/Pgc61zq/PhM61ICDOvc6xIM67zqzOss61z4TOtSDPhM6/IM6xz4DOtc+Dz4TOsc67zrzOtc69zr8gzrTOv866zrnOvM6xz4PPhM65zrrPjCDOvM6uzr3Phc68zrEgzrHOu867zrfOu86/zrPPgc6xz4bOr86xz4IgLCANCs68z4DOv8+BzrXOryDOvc6xIM+Az4HOrc+AzrXOuSDOvc6xIM6tz4HOuM61z4TOtSDPg861IM61z4DOsc+Gzq4gzrzOtSDPhM6/zr0gz4DOrM+Bzr/Ph86/IM+Ezr/PhSDOtM65zrHOus6/zrzOuc+Dz4TOriDPg86xz4IgzrPOuc6xICDOss6/zq7OuM61zrnOsS4NCg0KDQonOwokbGFuZ1snY2hhcnNldCddID0gJ86nzrHPgc6xzrrPhM6uz4HOtc+CJzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICfOmM6xIM6xz4DOv8+Dz4TOsc67zrXOryDOtc69zrEgzrTOv866zrnOvM6xz4PPhM65zrrPjCDOvM6uzr3Phc68zrEgz4PPhM63zr0gz4DPgc6/zrrOsc64zr/Pgc65z4POvM6tzr3OtyDOtM65zrXPjc64z4XOvc+DzrcuIM6Rzr0gzrcgzrTOuc6xzrTOuc66zrHPg86vzrEgzrHPgM6/z4PPhM6/zrvOrs+CIM61zq/Ovc6xzrkgzrXPgM65z4TPhc+Hzq7PgiwgzpjOsSDOtc+AzrnPg8+Ez4HOrc+IzrXPhM61IM+DzrUgzrHPhc+Ezq7OvSDPhM63zr0gz4POtc67zq/OtM6xLiAgzpjOrc67zrXPhM61IM69zrEgz4PPhc69zrXPh86vz4POtc+EzrU/JzsKJGxhbmdbJ3NldHRpbmdzY29uZmlybSddID0gJ86dzrEgzrXOs86zz4HOsc+Gzr/Pjc69IM6/zrkgz4TPgc6tz4fOv8+Fz4POtc+CIM+Bz4XOuM68zq/Pg861zrnPgiDOs865zrEgz4TOvyBDTVNNYWlsZXI/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnzpTOv866zrnOvM6xz4PPhM65zrrPjCDOvM6uzr3Phc68zrEgQ01TTWFpbGVyJzsKJGxhbmdbJ3Rlc3Rib2R5J10gPSAnzpHPhc+Ez4wgz4TOvyDOvM6uzr3Phc68zrEgzq3Ph861zrkgz4PPhM+Mz4fOvyDPhM63zr0gzrXPgM6xzrvOrs64zrXPhc+Dzrcgz4TOt8+CIM61zrPOus+Fz4HPjM+EzrfPhM6xz4Igz4TPic69IM+Bz4XOuM68zq/Pg861z4nOvSDPhM6/z4UgzrHPgc64z4HPjs68zrHPhM6/z4IgQ01TTWFpbGVyLg0KzpHOvSDPhM6/IM+AzrHPgc6xzrvOrM6yzrXPhM61LCDPjM67zrEgzrvOtc65z4TOv8+Fz4HOs86/z43OvSDPg8+Jz4PPhM6sLic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAnzqPPhs6szrvOvM6xOiDOlM61zr0gzr/Pgc6vz4PPhM63zrrOtSDOtM65zrXPjc64z4XOvc+DzrcgzrPOuc6xIM+EzrfOvSDOtM6/zrrOuc68zq4nOwokbGFuZ1sncHJvbXB0X3Rlc3RhZGRyZXNzJ10gPSAnRW1haWwgzpTOuc61z43OuM+Fzr3Pg863IM6zzrnOsSDPhM63zr0gzrTOv866zrnOvM6uJzsKJGxhbmdbJ3NlbmR0ZXN0J10gPSAnzpHPgM6/z4PPhM6/zrvOriDOtM6/zrrOuc68zrHPg8+EzrnOus6/z40gzrzOt869z43OvM6xz4TOv8+CJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnzprPic60zrnOus+Mz4Igz4DPgc+Mz4POss6xz4POt8+CJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnzozOvc6/zrzOsSDPh8+Bzq7Pg8+EzrcnOwokbGFuZ1snc210cGF1dGgnXSA9ICfOkc+FzrjOtc69z4TOuc66zr/PgM6/zq/Ot8+DzrcgU01UUCc7CiRsYW5nWydtYWlsZXInXSA9ICfOnM6tzrjOv860zr/PgiDOsc+Azr/Pg8+Ezr/Ou86uz4IgZS1tYWlsJzsKJGxhbmdbJ2hvc3QnXSA9ICfOn869zr/OvM6xIM60zrnOsc66zr/OvM65z4PPhM6uIFNNVFA8YnIvPjxpPijOriDOtM65zrXPjc64z4XOvc+DzrcgSVApPC9pPic7CiRsYW5nWydwb3J0J10gPSAnzpjPjc+BzrEgzrTOuc6xzrrOv868zrnPg8+Ezq4gU01UUCc7CiRsYW5nWydmcm9tJ10gPSAnzpTOuc61z43OuM+Fzr3Pg863IM6Rz4DPjDonOwokbGFuZ1snZnJvbXVzZXInXSA9ICfOjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyDOkc+Az4w6JzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnzqTOv8+Azr/OuM61z4POr86xIFNlbmRtYWlsJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICfOp8+Bzr/Ovc65zrrPjCDPjM+BzrnOvyBTTVRQJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ86Rz4DOv8+Dz4TOv867zq4nOwokbGFuZ1snY2FuY2VsJ10gPSAnzobOus+Fz4HOvyc7CiRsYW5nWydpbmZvX21haWxlciddID0gJ86nz4HOrs+DzrcgzrzOtc64z4zOtM6/z4UgzrHPgM6/z4PPhM6/zrvOrs+CIChzZW5kbWFpbCwgc210cCwgbWFpbCkuICDOo8+Fzr3Ors64z4nPgiDPhM6/IHNtdHAgzrXOr869zrHOuSDPgM65zr8gzrHOvs65z4zPgM65z4PPhM6/Lic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICfOn869zr/OvM6xIM60zrnOsc66zr/OvM65z4PPhM6uIFNNVFAgKM+Dz4TOt869IM+AzrXPgc6vz4DPhM+Jz4POtyDOtc+AzrnOu86/zrPOrs+CIM68zrXOuM+MzrTOv8+FIHNtdHApJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ86Yz43Pgc6xIFNNVFAgKM+Dz4XOvc6uzrjPic+CIDI1KSAoz4PPhM63zr0gz4DOtc+Bzq/PgM+Ez4nPg863IM61z4DOuc67zr/Os86uz4IgzrzOtc64z4zOtM6/z4Ugc210cCknOwokbGFuZ1snaW5mb19mcm9tJ10gPSAnzpcgzrTOuc61z43OuM+Fzr3Pg863IM+Azr/PhSDOuM6xIM+Hz4HOt8+DzrnOvM6/z4DOv865zrXOr8+EzrHOuSDPg86xzr0gzrHPgM6/z4PPhM6/zrvOrc6xz4Igz4POtSDPjM67zrEgz4TOsSBlLW1haWxzJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICfOpM6/IM+Mzr3Ov868zrEgz4DOv8+FIM64zrEgzrXOvM+GzrHOvc6vzrbOtc+EzrHOuSDPg86xzr0gzrHPgM6/z4PPhM6/zrvOrc6xz4Igz4POtSDPjM67zrEgz4TOsSBlLW1haWxzJzsKJGxhbmdbJ2luZm9fc2VuZG1haWwnXSA9ICfOlyDOtM65zrHOtM+Bzr/OvM6uIM60zq/Pg866zr/PhSDPgM+Bz4zPgiDPhM6/IM61zrrPhM61zrvOrc+DzrnOvM6/IM6xz4HPh861zq/OvyDPhM6/z4Ugc2VuZG1haWwgKM+Dz4TOt869IM+AzrXPgc6vz4DPhM+Jz4POtyDOtc+AzrnOu86/zrPOrs+CIM68zrXOuM+MzrTOv8+FIHNlbmRtYWlsKSc7CiRsYW5nWydpbmZvX3RpbWVvdXQnXSA9ICfOkc+BzrnOuM68z4zPgiDOtM61z4XPhM61z4HOv867zq3PgM+Ez4nOvSDPg8+EzrfOvSAgzrXPgM65zrrOv865zr3Pic69zq/OsSBTTVRQIGNvbnZlcnNhdGlvbiDPgM+Bzq/OvSDOtc68z4bOsc69zrnPg8+EzrXOryDPg8+GzqzOu868zrEgKM+Dz4TOt869IM+AzrXPgc6vz4DPhM+Jz4POtyDOtc+AzrnOu86/zrPOrs+CIM68zrXOuM+MzrTOv8+FIHNtdHApJzsKJGxhbmdbJ2luZm9fc210cGF1dGgnXSA9ICfOnyDOtM65zrHOus6/zrzOuc+Dz4TOrs+CIHNtdHAgzrHPgM6xzrnPhM61zq8gzrHPhc64zrXOvc+EzrnOus6/z4DOv86vzrfPg863ICjPg8+EzrfOvSDPgM61z4HOr8+Az4TPic+DzrcgzrXPgM65zrvOv86zzq7PgiDOvM61zrjPjM60zr/PhSBzbXRwKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAnzozOvc6/zrzOsSDPh8+Bzq7Pg8+EzrcgzrPOuc6xIM+EzrfOvSDOsc+FzrjOtc69z4TOuc66zr/PgM6/zq/Ot8+DzrcgU01UUCAoz4PPhM63zr0gz4DOtc+Bzq/PgM+Ez4nPg863IM61z4DOuc67zr/Os86uz4IgzrzOtc64z4zOtM6/z4Ugc210cCwgzrrOsc65IM+Mz4TOsc69IM6tz4fOtc65IM61z4DOuc67zrXOs861zq8gzrHPhc64zrXOvc+EzrnOus6/z4DOv86vzrfPg863IM+Dz4TOvyBzbXRwKSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnzprPic60zrnOus+Mz4Igz4DPgc+Mz4POss6xz4POt8+CIM6zzrnOsSDPhM63zr0gzrHPhc64zrXOvc+EzrnOus6/z4DOv86vzrfPg863IFNNVFAgKM+Dz4TOt869IM+AzrXPgc6vz4DPhM+Jz4POtyDOtc+AzrnOu86/zrPOrs+CIM68zrXOuM+MzrTOv8+FIHNtdHAsIM66zrHOuSDPjM+EzrHOvSDOrc+HzrXOuSDOtc+AzrnOu861zrPOtc6vIM6xz4XOuM61zr3PhM65zrrOv8+Azr/Or863z4POtyDPg8+Ezr8gc210cCknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnzobPgc64z4HPic68zrEgQ01TTWFpbGVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnzqTOvyDOrM+BzrjPgc+JzrzOsSBDTVNNYWlsZXIgzrXOs866zrHPhM6xz4PPhM6szrjOt866zrUgzrXPgM65z4TPhc+Hz47Pgic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnzqTOvyDOrM+BzrjPgc+JzrzOsSBDTVNNYWlsZXIgzrHPgM6/zrXOs866zrHPhM6xz4PPhM6szrjOt866zrUuLi7Ous+Bzq/OvM6xJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnzqTOvyDOrM+BzrjPgc+JzrzOsSAgzrHPgM61zrPOus6xz4TOsc+Dz4TOrM64zrfOus61Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICfOpM6/IM6sz4HOuM+Bz4nOvM6xIM6tz4fOtc65IM61zrPOus6xz4TOtc+Dz4TOt868zq3Ovc63IM+EzrfOvSDOrc66zrTOv8+DzrcgJXMuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ86Rz4DOsc6zzr/Pgc61z43Otc+EzrHOuSDOtyDPgM+Bz4zPg86yzrHPg863LiDOlc67zq3Os86+z4TOtSDPhM6xIM60zrnOus6xzrnPjs68zrHPhM6xIM+Az4HPjM+DzrLOsc+DzrfPgi4nOwokbGFuZ1snZXJyb3InXSA9ICfOo8+GzqzOu868zrEhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnzqTOvyDOrM+BzrjPgc+JzrzOsSDOsc69zrHOss6xzrjOvM6vz4PPhM63zrrOtSDPg8+EzrfOvSDOrc66zrTOv8+DzrcgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ86gz4HOv8+EzrnOvM6uz4POtc65z4IgzrHPgc64z4HPjs68zrHPhM6/z4InOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnzqDOtc+BzrnOv8+Hzq4gzrTOuc6xz4fOtc6vz4HOuc+DzrfPgiDOsc+BzrjPgc+OzrzOsc+Ezr/Pgic7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ86Gz4HOuM+Bz4nOvM6xICJDTVNNYWlsZXIiJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnzpHPhc+Ez4wgz4TOvyDOrM+BzrjPgc+JzrzOsSDOtc6vzr3Osc65IM6tzr3Osc+CIFBIUE1haWxlciwgzq3Ph861zrkgzq3Ovc6xIM65z4POv860z43Ovc6xzrzOvyBBUEkgKGZ1bmN0aW9uIGZvciBmdW5jdGlvbikgzrrOsc65IM6tzr3OsSDOsc+AzrvPjCDPgM61z4HOuc6yzqzOu867zr/OvSDOvM61IM68zrXPgc65zrrOrc+CIM+Az4HOv861z4DOuc67zrXOs868zq3Ovc61z4Igz4HPhc64zrzOr8+DzrXOuc+CLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD7Oms6xzrvPic+Dzq7Ou864zrHPhM61IM+Dz4TOt869IM+AzrXPgc65zr/Ph86uIM60zrnOsc+HzrXOr8+BzrnPg863z4Igz4TOv8+FIM6xz4HOuM+Bz47OvM6xz4TOv8+CIENNU01haWxlcic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggdGhlIGFkbWluIHBhbmVsLiAgVGhlIGRyb3Bkb3duIHdhcyBub3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIHByZWZlcmVuY2VzIGRhdGFiYXNlPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBBZGRlZCB0aGUgZm9ybSBmaWVsZHMgYW5kIGZ1bmN0aW9uYWxpdHkgZm9yIFNNVFAgYXV0aGVudGljYXRpb24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJ5LCAyMDA2LiBJbmNyZWFzZWQgZmllbGQgbGVuZ3RocyBpbiBtb3N0IGZpZWxkczwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnVhcnksIDIwMDYuIENoYW5nZWQgdGhlIHByZWZlcmVuY2VzIHBhbmVsIHRvIGJlIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+zqDOtc+BzrnOs8+BzrHPhs6uPC9oMz4NCjxwPs6kzr8gzqzPgc64z4HPic68zrEgzrTOtc69IM61zq/Ovc6xzrkgzrvOtc65z4TOv8+Fz4HOs865zrrPjCDOsc+Fz4TPjM69zr/OvM6xLiAgzojPh861zrkgz4PPh861zrTOuc6xz4PPhM61zq8gzr3OsSDOu861zrnPhM6/z4XPgc6zzrXOryDOvM6tz4POsSDOsc+Azr8gzqzOu867zrEgzrHPgc64z4HPjs68zrHPhM6xIM6zzrnOsSDPhM63zr0gz4DOsc+Bzr/Ph86uIM60z4XOvc6xz4TOv8+Ezq7PhM+Jzr0gZW1haWwuIDwvcD4NCjxoMz7On860zrfOs86vzrXPgiDPh8+Bzq7Pg863z4IgKM6xzrrOv867zr/Phc64zrXOryDOus61zq/OvM61zr3OvyDPg8+EzrfOvSDOsc6zzrPOu865zrrOrik8L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgYWxsIG9mIHRoZSBtZXRob2RzIGFuZCB2YXJpYWJsZXMgb2YgcGhwbWFpbGVyLiAgSXQgaXMgZGVzaWduZWQgZm9yIHVzZSBieSBvdGhlciBtb2R1bGUgZGV2ZWxvcGVycywgYmVsb3cgaXMgYW4gZXhhbXBsZSwgYW5kIGEgYnJpZWYgQVBJIHJlZmVyZW5jZS4gIFBsZWFzZSByZWFkIHRoZSBQSFBNYWlsZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+DQo8aDM+QW4gRXhhbXBsZTwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKFwnQ01TTWFpbGVyXCcpOw0KICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKFwnY2FsZ3V5MTAwMEBob3RtYWlsLmNvbVwnLFwnY2FsZ3V5XCcpOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KFwnPGgxPlRoaXMgaXMgYSB0ZXN0IG1lc3NhZ2U8aDE+XCcpOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoXCdUZXN0IG1lc3NhZ2VcJyk7DQogICRjbXNtYWlsZXItPlNlbmQoKTsNCjwvcHJlPg0KPGgzPkFQSTwvaDM+DQo8dWw+DQo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4NCjxwPlJlc2V0IHRoZSBvYmplY3QgYmFjayB0byB0aGUgdmFsdWVzIHNwZWNpZmllZCBpbiB0aGUgYWRtaW4gcGFuZWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IGlzby04ODU5LTE8L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4NCjxwPlJldHVybiB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgZW5jb2Rpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgZW5jb2Rpbmc8L3A+DQo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIEhFTE8gc3RyaW5nPC9wPg0KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPHA+VmFsdWVzIGFyZSAxPUhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBMb3c8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRlciBlbWFpbCAocmV0dXJuIHBhdGgpIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kZXIgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+QWRkIGEgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gXCdcJywgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+QWRkIGEgQkNDXCdkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+QWRkIGEgQ0NcJ2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPg0KPHA+QWRkIGEgY3VzdG9tIGhlYWRlciB0byB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9IFwnXCcsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvYj48L3A+DQo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5BZGQgYSByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWRkcmVzc2VzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIHJlY2lwaWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQXR0YWNobWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYXR0YWNobWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBCQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBjdXN0b20gaGVhZGVyczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+Q2xlYXIgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4NCjxwPkNoZWNrIGZvciBhbiBlcnJvciBjb25kaXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNIVE1MKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgaHRtbCBmbGFnPC9wPg0KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9IFwnXCcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIDxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZ3VhZ2UgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U210cENsb3NlKCk8L2I+PC9wPg0KPHA+Q2xvc2UgdGhlIHNtdHAgY29ubmVjdGlvbjwvcD4NCjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlzIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgwqkgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tIj48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIyOTk0ODg2MC40LjMudXRtY3NyPWdvb2dsZXx1dG1jY249KG9yZ2FuaWMpfHV0bWNtZD1vcmdhbmljfHV0bWN0cj1jbXNtcyBsYW5ndWFnZSBmaWxlcyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjEyNjYzNzM5NjQuMTIyOTc5NTI1MS4xMjMxOTU3Mjk1LjEyMzI0MDQ4ODcuMTUnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/en_CY.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnVGhpcyB0ZXN0IGlzIGdlbmVyYXRlZCBvbiBhbiBpbmZyZXF1ZW50IGJhc2lzLiAgSXQgbWF5IHRha2Ugc29tZSB0aW1lIGZvciBpdCB0byBnbyBhd2F5JzsKJGxhbmdbJ25vbmUnXSA9ICdEaW0nOwokbGFuZ1snc3NsJ10gPSAnU1NMJzsKJGxhbmdbJ3RscyddID0gJ1RMUyc7CiRsYW5nWydzZWN1cmUnXSA9ICdNZWNhbndhaXRoIEVuY3J5cHRpb24nOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICdCZXJ0aG5hc29sIHluIHVuaWcgaSYjMDM5O3IgZHVsbCBNYWlsZXIgU01UUCwgeXIgb3BzaXduIGh3biB5biBjYW5pYXQmYWFjdXRlO3UgaSBub2RpIG1lY2Fud2VpdGhpYXUgZ3dhaGFub2wgYW1ncnlwdGlvIGFyIGd5ZmVyIHkgY3lzeWxsdGlhZCc7CiRsYW5nWydpbmZvX2Ntc21haWxlciddID0gJ01hZSYjMDM5O3IgbW9kaXdsIGh3biB5biBjYWVsIGVpIGRkZWZueWRkaW8gZ2FuIG5pZmVyIG8gZm9kaXdsYXUgZXJhaWxsIGkgaHd5bHVzbyBhbmZvbiBuZWdlc2V1b24gZS1ib3N0LiBSaGFpZCBpZGRvIGZvZCB5biBicmlvZG9sIGkgZmZ1cmZ3ZWRkdSBlaWNoIGdvZnluaW9uIGN5bm5hbC4gRGVmbnlkZGl3Y2ggeSB3eWJvZGFldGggYSBkZGFycGVyaXIgZ2FuIGVpY2ggY3JvZXNhd3UgaSBhZGRhc3UgZ29zb2RpYWRhdSBoeW4uIE9zIHlkeWNoIHluIGRhbCB5biBjYWVsIHkgbmVnZXMgcHJhd2YgaSBhbmZvbiB5biBpYXduLCBlZmFsbGFpIHkgYnlkZCB5biByaGFpZCBpIGNoaSBneXN5bGx0dSAmYWNpcmM7JiMwMzk7Y2ggZ3lubmFsIGFtIGd5bW9ydGguJzsKJGxhbmdbJ2NoYXJzZXQnXSA9ICdDeWZyZXMgeSBHeW1lcmlhZGF1JzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdCeWRkIGh3biB5biBhbmZvbiBuZWdlcyBicmF3ZiBpJiMwMzk7ciBjeWZlaXJpYWQgYSBub2Rpci4gT3MgYnlkZCB5IGJyb3NlcyB5biBhbmZvbiBsbHd5ZGRvLCBieWRkd2NoIHluIGR5Y2h3ZWx5ZCBpJiMwMzk7ciBkdWRhbGVuIGhvbi4gWWR5Y2ggY2hpIGFtIGJhcmhhdT8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnWXNncmlmZW5ud2NoIGd3ZXJ0aG9lZGQgY3lmcmVkb2wgaSBsZW9saWFkYXUgQ01TTWFpbGVyPyc7CiRsYW5nWyd0ZXN0c3ViamVjdCddID0gJ05lZ2VzIFByYXdmIENNU01haWxlcic7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ05lZ2VzIHl3IGhvbiBhIGZ3cmlhZHd5ZCB5biB1bmlnIGkgd2lyaW8gZGlseXNyd3lkZCB5IGxsZW9saWFkYXUgeW4geSBtb2Rpd2wgQ01TTWFpbGVyLg0KT3MgeWR5Y2ggeW4gZGVyYnluLCBtYWUgcG9wZXRoIHluIGd3ZWl0aGlvIGlhd24uJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICdHd2FsbDogUHJhd2YgY3lmZWlyaWFkIGhlYiBlaSBub2RpJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ0N5ZmVpcmlhZCBFLWJvc3QgUHJhd2YnOwokbGFuZ1snc2VuZHRlc3QnXSA9ICdBbmZvbiBOZWdlcyBQcmF3Zic7CiRsYW5nWydwYXNzd29yZCddID0gJ0N5ZnJpbmFpcic7CiRsYW5nWyd1c2VybmFtZSddID0gJ0VudyBkZWZueWRkaXdyJzsKJGxhbmdbJ3NtdHBhdXRoJ10gPSAnU01UUCBEaWx5c3UgJzsKJGxhbmdbJ21haWxlciddID0gJ0R1bGwgTWFpbGVyICc7CiRsYW5nWydob3N0J10gPSAnRW53IGd3ZXN0ZWl3ciBTTVRQIDxici8+IDxpPiAobmV1IGd5ZmVpcmlhZCBJUCkgPC8gaT4nOwokbGFuZ1sncG9ydCddID0gJ1BvcnRobGFkZCBnd2VpbnlkZCBTTVRQJzsKJGxhbmdbJ2Zyb20nXSA9ICdDeWZlaXJpYWQgb2RkaSc7CiRsYW5nWydmcm9tdXNlciddID0gJ0RlZm55ZGRpd3Igb2RkaSc7CiRsYW5nWydzZW5kbWFpbCddID0gJ0xsZW9saWFkIFNlbmRtYWlsJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdHb3JhbXNlcmkgU01UUCc7CiRsYW5nWydzdWJtaXQnXSA9ICdEYW5mb24nOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2Fuc2xvJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnRHVsbCBFLWJvc3QgaSYjMDM5O3cgZGRlZm55ZGRpbyAoc2VuZG1haWwsIFNNVFAsIHBvc3QpLiBGZWwgYXJmZXIgU01UUCB5dyYjMDM5O3IgbXd5YWYgZGlieW5hZHd5Lic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICdFbncgZ3dlc3RlaXdyIFNNVFAgIChkaW0gb25kIHluIGRkaWx5cyBhciBneWZlciB5IGR1bGwgTWFpbGVyIFNNVFApJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ1JoaWYgcG9ydGggU01UUCAoZmVsIGFyZmVyIDI1KSAoZGltIG9uZCB5biBkZGlseXMgYXIgZ3lmZXIgeSBkdWxsIE1haWxlciBTTVRQKSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICdDeWZlaXJpYWQgYSBkZGVmbnlkZGlyIGZlbCB5ciBhbmZvbndyIHluIHlyIGhvbGwgbmVnZXNldW9uIGUtYm9zdC4gPGJyLz4gPHN0cm9uZz4gTm9keW4gPC8gc3Ryb25nPiwgcmhhaWQgaSYjMDM5O3IgY3lmZWlyaWFkIGUtYm9zdCBnYWVsIGVpIG9zb2QgeW4gZ3l3aXIgYXIgZ3lmZXIgZWljaCBnd2VzdGVpd3IgbmV1IGJ5ZGQgIGFuaGF3c3RlciBhbmZvbiBuZWdlc2V1b24gZS1ib3N0LiA8YnIvPiBPcyBuYWQgeWR5Y2ggeW4gZ3d5Ym9kIHkgZ3dlcnRoIHByaW9kb2wgYXIgZ3lmZXIgeSBnb3NvZGlhZCBod24sIGVmYWxsYWkgeSBieWRkIGFuZ2VuIGkgZ3lzeWxsdHUgJmFjaXJjOyYjMDM5O2NoIGd3ZXN0ZWl3ci4nOwokbGFuZ1snaW5mb19mcm9tdXNlciddID0gJ0VudyBhIGRkZWZueWRkaXIgeW4gZ3lmZWlsbGdhciBhciBneWZlciBhbmZvbiB5ciBob2xsIG5lZ2VzZXVvbiBlLWJvc3QnOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ1kgbGx3eWJyIHluIGd5Zmxhd24gaHlkIGkmIzAzOTtjaCBnd2VpdGhyZWRpYWQgbyBzZW5kbWFpbCAoZGltIG9uZCB5biBkZGlseXMgYXIgZ3lmZXIgeSBkdWxsIE1haWxlciBzZW5kbWFpbCknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnWSBuaWZlciBvIGVpbGlhZGF1IG1ld24gc2d3cnMgU01UUCBjeW4gZm8gZ3dhbGwgeW4gZGlnd3lkZCAoeW4gZGRpbHlzIGFyIGd5ZmVyIHkgZHVsbCBNYWlsZXIgU01UUCknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ0EgeXcgZWljaCBnd2VzdGVpd3IgU01UUCBhbmdlbiBkaWx5c2lhZCAoZGRpbHlzIHluIHVuaWcgYXIgZ3lmZXIgeSBkdWxsIE1haWxlciBTTVRQKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAnRW53IGRlZm55ZGRpd3IgZGlseXN1IFNNVFAgKGRkaWx5cyB5biB1bmlnIGFyIGd5ZmVyIGR1bGwgTWFpbGVyIFNNVFAsIHBhbiBhdXRoIFNNVFAgZWkgZGRld2lzKQ0KJzsKJGxhbmdbJ2luZm9fcGFzc3dvcmQnXSA9ICdEaWx5c3UgY3lmcmluYWlyIFNNVFAgKGRkaWx5cyB5biB1bmlnIGFyIGd5ZmVyIGR1bGwgTWFpbGVyIFNNVFAsIHBhbiBhdXRoIFNNVFAgZWkgZGRld2lzKSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDTVNNYWlsZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNYWUgbW9kaXdsIENNU01haWxlciB3ZWRpIGNhZWwgZWkgb3NvZCB5biBsbHd5ZGRpYW5udXMnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01hZSBtb2Rpd2wgQ01TTWFpbGVyIHdlZGkgY2FlbCBlaSBkZGkgb3NvZC4uLiBNYWUmIzAzOTtuIGRkcndnIGkgd2VsZCBjaGkgYWRhZWwnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2Rpd2wgd2VkaSBlaSBkZGkgb3NvZCc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2Rpd2wgZmVyc2l3biAlcyB3ZWRpIGVpIG9zb2QnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnR3dydGhvZHd5ZCBNeW5lZGlhZC4gR3dpcml3Y2ggZWljaCBjYW5pYXQmYWNpcmM7ZC4nOwokbGFuZ1snZXJyb3InXSA9ICdHd2FsbCEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2Rpd2wgd2VkaSBlaSB1d2NocmFkZGlvIGkgZmVyc2l3biUgcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnRGV3aXNpYWRhdSBNb2Rpd2wnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFuZWwgTW9kaXdsIEFkbWluJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnTW9kaXdsIENNU01haWxlcic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ01hZSBod24geW4gbGFwaW8gbyBnd21wYXMgUEhQTWFpbGVyIHN5bWwsIG1hZSBnYW5kZG8gQVBJIGN5ZmF0ZWJvbCAoc3d5ZGRvZ2FldGggYXIgZ3lmZXIgc3d5ZGRvZ2FldGgpIGEgcmh5bmd3eW5lYiBzeW1sIGFyIGd5ZmVyIHJoeXdmYWludCBvIGRkaWZmeWdpb24uJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDEuNzMuMS4gT2N0b2JlciwgMjAwNS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjIuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCB0aGUgYWRtaW4gcGFuZWwuICBUaGUgZHJvcGRvd24gd2FzIG5vdCByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdmFsdWUgZnJvbSB0aGUgcHJlZmVyZW5jZXMgZGF0YWJhc2U8L2xpPg0KPGxpPlZlcnNpb24gMS43My4zLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggc2VuZGluZyBodG1sIGVtYWlsPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNC4gTm92ZW1iZXIsIDIwMDUuIEZvcm0gZmllbGRzIGluIHByZWZlcmVuY2VzIGFyZSBsYXJnZXIsIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmcm9tdXNlciwgYW5kIGNhbGxlZCByZXNldCB3aXRoaW4gdGhlIGNvbnN0cnVjdG9yPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNS4gTm92ZW1iZXIsIDIwMDUuIEFkZGVkIHRoZSBmb3JtIGZpZWxkcyBhbmQgZnVuY3Rpb25hbGl0eSBmb3IgU01UUCBhdXRoZW50aWNhdGlvbi48L2xpPg0KPGxpPlZlcnNpb24gMS43My42LiBEZWNlbWJlciwgMjAwNS4gRGVmYXVsdCBtYWlsZXIgbWV0aG9kIGlzIFNNVFAgb24gaW5zdGFsbCwgYW5kIGltcHJvdmVkIGRvY3VtZW50YXRpb24sIGFuZCBub3cgSSBjbGVhciBhbGwgdGhlIGF0dGFjaG1lbnRzLCBhbmQgYWRkcmVzc2VzLCBldGMuIG9uIHJlc2V0LjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjcuIEphbnVhcnksIDIwMDYuIEluY3JlYXNlZCBmaWVsZCBsZW5ndGhzIGluIG1vc3QgZmllbGRzPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOC4gSmFudWFyeSwgMjAwNi4gQ2hhbmdlZCB0aGUgcHJlZmVyZW5jZXMgcGFuZWwgdG8gYmUgYSBiaXQgbW9yZSBkZXNjcmlwdGl2ZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My45LiBKYW51YXJ5LCAyMDA2LiBBZGRlZCB0ZXN0IGVtYWlsIGNhcGFiaWxpdHksIGFuZCBjb25maXJtYXRpb24gb24gZWFjaCBidXR0b24gKGV4Y2VwdCBjYW5jZWwpPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTAuIEF1Z3VzdCwgMjAwNi4gTW9kaWZpZWQgdG8gdXNlIGxhenkgbG9hZGluZyB0byBtaW5pbWl6ZSBtZW1vcnkgZm9vdHByaW50IHdoZW4gQ01TTWFpbGVyIGlzIG5vdCBiZWluZyB1c2VkLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEzLiBKYW51YXJ5LCAyMDA4LiAgQWRkZWQgbW9yZSBwZXJtaXNzaW9ucyBjaGVja3MuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIG5vIGVuZCB1c2VyIGZ1bmN0aW9uYWxpdHkuICBJdCBpcyBkZXNpZ25lZCB0byBiZSBpbnRlZ3JhdGVkIGludG8gb3RoZXIgbW9kdWxlcyB0byBwcm92aWRlIGVtYWlsIGNhcGFiaWxpdGllcy4gIFRoYXRzIGl0LCBub3RoaW5nIG1vcmUuPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCBhbGwgb2YgdGhlIG1ldGhvZHMgYW5kIHZhcmlhYmxlcyBvZiBwaHBtYWlsZXIuICBJdCBpcyBkZXNpZ25lZCBmb3IgdXNlIGJ5IG90aGVyIG1vZHVsZSBkZXZlbG9wZXJzLCBiZWxvdyBpcyBhbiBleGFtcGxlLCBhbmQgYSBicmllZiBBUEkgcmVmZXJlbmNlLiAgUGxlYXNlIHJlYWQgdGhlIFBIUE1haWxlciBkb2N1bWVudGF0aW9uIGluY2x1ZGVkIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4NCjxoMz5BbiBFeGFtcGxlPC9oMz4NCjxwcmU+DQogICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJiMwMzk7Q01TTWFpbGVyJiMwMzk7KTsNCiAgJGNtc21haWxlci0+QWRkQWRkcmVzcygmIzAzOTtjYWxndXkxMDAwQGhvdG1haWwuY29tJiMwMzk7LCYjMDM5O2NhbGd1eSYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNldEJvZHkoJiMwMzk7PGg0PlRoaXMgaXMgYSB0ZXN0IG1lc3NhZ2U8L2g0PiYjMDM5Oyk7DQogICRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsNCiAgJGNtc21haWxlci0+U2V0U3ViamVjdCgmIzAzOTtUZXN0IG1lc3NhZ2UmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZW5kKCk7DQo8L3ByZT4NCjxoMz5BUEk8L2gzPg0KPHVsPg0KPGxpPjxwPjxiPnZvaWQgcmVzZXQoKTwvYj48L3A+DQo8cD5SZXNldCB0aGUgb2JqZWN0IGJhY2sgdG8gdGhlIHZhbHVlcyBzcGVjaWZpZWQgaW4gdGhlIGFkbWluIHBhbmVsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0QWx0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEFsdEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENoYXJTZXQoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiBpc28tODg1OS0xPC9wPg0KPHA+UmV0dXJuIHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDaGFyU2V0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbmZpcm1SZWFkaW5nVG8oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFkZHJlc3MgY29uZmlybWVkIHJlYWRpbmcgZW1haWwgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCBvciB1bnNldCB0aGUgY29uZmlybSByZWFkaW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IHRleHQvcGxhaW48L3A+DQo8cD5SZXR1cm4gdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPlNldCB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RW5jb2RpbmcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGVuY29kaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEVuY29kaW5nKCAkZW5jb2RpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGVuY29kaW5nPC9wPg0KPHA+T3B0aW9ucyBhcmU6IDhiaXQsIDdiaXQsIGJpbmFyeSwgYmFzZTY0LCBxdW90ZWQtcHJpbnRhYmxlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RXJyb3JJbmZvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIGFueSBlcnJvciBpbmZvcm1hdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb20oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRGcm9tKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb21OYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEZyb21OYW1lKCAkbmFtZSApPC9iPjwvcD4NCjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhlbG8oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIEhFTE8gc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRIZWxvKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBIRUxPIHN0cmluZzwvcD4NCjxwPkRlZmF1bHQgdmFsdWU6ICRob3N0bmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3QoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIFNNVFBzIGhvc3Qgc2VwYXJhdGVkIGJ5IHNlbWljb2xvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3ROYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdE5hbWUoICRob3N0bmFtZSApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtYWlsZXI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0TWFpbGVyKCAkbWFpbGVyICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtYWlsZXIsIGVpdGhlciBzZW5kbWFpbCxtYWlsLCBvciBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0UGFzc3dvcmQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UGFzc3dvcmQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQb3J0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwb3J0IG51bWJlciBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQb3J0KCAkaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwb3J0IGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UHJpb3JpdHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UHJpb3JpdHkoIGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjxwPlZhbHVlcyBhcmUgMT1IaWdoLCAzID0gTm9ybWFsLCA1ID0gTG93PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzZW5kZXIgZW1haWwgKHJldHVybiBwYXRoKSBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZGVyKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc2VuZGVyIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRtYWlsKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRtYWlsKCAkcGF0aCApPC9iPjwvcD4NCjxwPlNldCB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQQXV0aCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBBdXRoKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUERlYnVnKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNNVFBEZWJ1ZyggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQS2VlcEFsaXZlKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBLZWVwQWxpdmUoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFN1YmplY3QoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgc3ViamVjdCBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U3ViamVjdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc3ViamVjdCBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRUaW1lb3V0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB0aW1lb3V0IHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFRpbWVvdXQoICRzZWNvbmRzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSB0aW1lb3V0IHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0VXNlcm5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRVc2VybmFtZSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0V29yZFdyYXAoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFdvcmRXcmFwKCAkaW50ICk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQWRkcmVzcyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBCQ0MmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBDQyYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPg0KPHA+QWRkIGEgY3VzdG9tIGhlYWRlciB0byB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9ICYjMDM5OyYjMDM5OywgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIHJlcGx5IHRvIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFN0cmluZ0F0dGFjaG1lbnQoICRzdHJpbmcsICRmaWxlbmFtZSwgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWRkcmVzc2VzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIHJlY2lwaWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQXR0YWNobWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYXR0YWNobWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBCQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBjdXN0b20gaGVhZGVyczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+Q2xlYXIgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4NCjxwPkNoZWNrIGZvciBhbiBlcnJvciBjb25kaXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNIVE1MKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgaHRtbCBmbGFnPC9wPg0KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPlNldCB0aGUgY3VycmVudCBsYW5ndWFnZSBhbmQgPGVtPihvcHRpb25hbCk8L2VtPiBsYW5ndWFnZSBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TbXRwQ2xvc2UoKTwvYj48L3A+DQo8cD5DbG9zZSB0aGUgc210cCBjb25uZWN0aW9uPC9wPg0KPC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eXMgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mIzAzOTtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJiMwMzk7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JiMwMzk7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJiMwMzk7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSYjMDM5O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyYjMDM5Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9JiMwMzk7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mIzAzOTs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JiMwMzk7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJiMwMzk7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4zNDYwODk1NS4xMzQwNjIyNzUxLjEzNDA2MjI3NTEuMTM0MDYyMjc1MS4xJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM0MDYyMjc1MS4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/es_ES.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnRXN0YSBwcnVlYmEgc2UgZ2VuZXJhIGRlIGZvcm1hIHBvY28gZnJlY3VlbnRlLiBQdWVkZSB0YXJkYXIgYWxnJnVhY3V0ZTtuIHRpZW1wbyBlbiBjb21wbGV0YXJzZS4nOwokbGFuZ1snbm9uZSddID0gJ05pbmd1bm8nOwokbGFuZ1snc3NsJ10gPSAnU1NMJzsKJGxhbmdbJ3RscyddID0gJ1RMUyc7CiRsYW5nWydzZWN1cmUnXSA9ICdNZWNhbmlzbW8gZGUgZW5jcmlwdGFjaSZvYWN1dGU7bic7CiRsYW5nWydpbmZvX3NlY3VyZSddID0gJ1Mmb2FjdXRlO2xvIHNlIGFwbGljYSBhbCBtJmVhY3V0ZTt0b2RvIFNNVFAgZGUgZW52JmlhY3V0ZTtvIGRlIGNvcnJlbywgZXN0YSBvcGNpJm9hY3V0ZTtuIHBlcm1pdGUgZXNwZWNpZmljYXIgZGlmZXJlbnRlcyBtZWNhbmlzbW9zIGRlIGNpZnJhZG8gcGFyYSBsYSBjb25leGkmb2FjdXRlO24nOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICdFc3RlIG0mb2FjdXRlO2R1bG8gZXMgdXNhZG8gcG9yIG11Y2hvcyBvdHJvcyBtJm9hY3V0ZTtkdWxvcyBwYXJhIGZhY2lsaXRhciBlbCBlbnYmaWFjdXRlO28gZGUgRW1haWxzLiBEZWJlIGVzdGFyIGNvbmZpZ3VyYWRvIGFkZWN1YWRhbWVudGUgc2lndWllbmRvIGxvcyByZXF1aXNpdG9zIGRlIHN1IHByb3ZlZWRvciBkZSBhbG9qYW1pZW50by4gIFBvciBmYXZvciwgdXNlIGxhIGluZm9ybWFjaSZvYWN1dGU7biBwcm9wb3JjaW9uYWRhIHBvciBzdSBwcm92ZWVkb3IgZGUgYWxvamFtaWVudG8gcGFyYSBhanVzdGFyIGxhIGNvbmZpZ3VyYWNpJm9hY3V0ZTtuLiBTaSBhJnVhY3V0ZTtuIGFzJmlhY3V0ZTsgbm8gcHVlZGUgZW52aWFyIGVsIEVtYWlsIGRlIHBydWViYSwgc2VndXJhbWVudGUgdGVuZ2EgcXVlIHNvbGljaXRhciBheXVkYSBhIHN1IHByb3ZlZWRvciBkZSBhbG9qYW1pZW50by4nOwokbGFuZ1snY2hhcnNldCddID0gJ0p1ZWdvIGRlIENhcmFjdGVyZXMnOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ0VzdG8gZW52JmlhY3V0ZTthIHVuIG1lbnNhamUgZGUgcHJ1ZWJhIGEgbGEgZGlyZWNjaSZvYWN1dGU7biBlc3BlY2lmaWNhZGEuIFNpIGVsIGVudiZpYWN1dGU7byBzZSByZWFsaXphIGNvbiAmZWFjdXRlO3hpdG8sIHJlZ3Jlc2FyJmFhY3V0ZTtzIGEgZXN0YSBwJmFhY3V0ZTtnaW5hLiAgJmlxdWVzdDtRdWllcmVzIGNvbnRpbnVhcj8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnJmlxdWVzdDtHdWFyZGFyIGxvcyB2YWxvcmVzIGFjdHVhbGVzIGRlIENNU01haWxlcj8nOwokbGFuZ1sndGVzdHN1YmplY3QnXSA9ICdNZW5zYWplIGRlIHBydWViYSBkZSBDTVNNYWlsZXInOwokbGFuZ1sndGVzdGJvZHknXSA9ICdFc3RlIG1lbnNhamUgZXMgcyZvYWN1dGU7bG8gcGFyYSBjb21wcm9iYXIgbGEgdmFsaWRleiBkZSBsb3MgdmFsb3JlcyBkZWwgbSZvYWN1dGU7ZHVsbyBDTVNNYWlsZXIuDQpTaSBsbyBoYXMgcmVjaWJpZG8sIHRvZG8gZnVuY2lvbmEgY29ycmVjdGFtZW50ZS4nOwokbGFuZ1snZXJyb3Jfbm90ZXN0YWRkcmVzcyddID0gJ0Vycm9yOiBEaXJlY2NpJm9hY3V0ZTtuIGRlIHBydWViYSBubyBlc3BlY2lmaWNhZGEnOwokbGFuZ1sncHJvbXB0X3Rlc3RhZGRyZXNzJ10gPSAnRGlyZWNjaSZvYWN1dGU7biBkZSBQcnVlYmEnOwokbGFuZ1snc2VuZHRlc3QnXSA9ICdFbnZpYXIgTWVuc2FqZSBkZSBQcnVlYmEnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdDbGF2ZSc7CiRsYW5nWyd1c2VybmFtZSddID0gJ1VzdWFyaW8nOwokbGFuZ1snc210cGF1dGgnXSA9ICdBdXRlbnRpY2FjaSZvYWN1dGU7biBTTVRQJzsKJGxhbmdbJ21haWxlciddID0gJ00mZWFjdXRlO3RvZG8gZGUgZW52JmlhY3V0ZTtvJzsKJGxhbmdbJ2hvc3QnXSA9ICdOb21icmUgZGUgaG9zdCBTTVRQPGJyLz48aT4obyBkaXJlY2NpJm9hY3V0ZTtuIElQKTwvaT4nOwokbGFuZ1sncG9ydCddID0gJ1B1ZXJ0byBkZWwgc2Vydmlkb3IgU01UUCc7CiRsYW5nWydmcm9tJ10gPSAnRGlyZWNjaSZvYWN1dGU7biAmcXVvdDtkZXNkZSZxdW90Oyc7CiRsYW5nWydmcm9tdXNlciddID0gJ1VzdWFyaW8gJnF1b3Q7ZGVzZGUmcXVvdDsnOwokbGFuZ1snc2VuZG1haWwnXSA9ICdMb2NhbGl6YWNpJm9hY3V0ZTtuJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdUaWVtcG8gZGUgZXNwZXJhIFNNVFAnOwokbGFuZ1snc3VibWl0J10gPSAnRW52aWFyJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbGFyJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnUHJvdG9jb2xvIGEgdXNhciAoc2VuZG1haWwsIHNtdHAsIG1haWwpLiAgTm9ybWFsbWVudGUgU01UUCBlcyBlbCBtJmFhY3V0ZTtzIGFkZWN1YWRvLic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICdOb21icmUgZGUgaG9zdCBTTVRQIChzJm9hY3V0ZTtsbyB2YWxpZG8gcGFyYSBlbCBwcm90b2NvbG8gU01UUCknOwokbGFuZ1snaW5mb19wb3J0J10gPSAnUHVlcnRvIFNNVFAgKG5vcm1hbG1lbnRlIDI1KSAocyZvYWN1dGU7bG8gdmFsaWRvIHBhcmEgZWwgcHJvdG9jb2xvIFNNVFApJzsKJGxhbmdbJ2luZm9fZnJvbSddID0gJ0RpcmVjY2kmb2FjdXRlO24gcXVlIHNlIHVzYSBjb21vICYjMDM5O3NlbmRlciYjMDM5OyBlbiB0b2RvcyBsb3MgZW1haWxzLiA8YnIvPjxzdHJvbmc+Tm90YTwvc3Ryb25nPiwgZXN0YSBkaXJlY2NpJm9hY3V0ZTtuIGRlIGVtYWlsIHRpZW5lIHF1ZSBzZXIgbGEgYXByb3BpYWRhIHBhcmEgc3UgYWxvamFtaWVudG8gbyB0ZW5kciZhYWN1dGU7IHByb2JsZW1hcyBhbCBlbnZpYXIgZW1haWxzLjxici8+U2kgZGVzY29ub2NlIGVsIHZhbG9yIGFkZWN1YWRvIG5lY2VzaXRhciZhYWN1dGU7IGNvbnRhY3RhciBjb24gc3UgcHJvdmVlZG9yIGRlIGFsb2phbWllbnRvLic7CiRsYW5nWydpbmZvX2Zyb211c2VyJ10gPSAnTm9tYnJlIGFtaWdhYmxlIHVzYWRvIGFsIGVudmlhciBsb3MgbWVuc2FqZXMnOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ1J1dGEgY29tcGxldGEgZGVsIGVqZWN0YWJsZSBzZW5kbWFpbCAocyZvYWN1dGU7bG8gdmFsaWRvIHBhcmEgZWwgcHJvdG9jb2xvIHNlbmRtYWlsZXIpJzsKJGxhbmdbJ2luZm9fdGltZW91dCddID0gJ04mdWFjdXRlO21lcm8gZGUgc2VndW5kb3MgZW4gdW5hIGNvbnZlcnNhY2kmb2FjdXRlO24gU01UUCBhbnRlcyBkZSBvY3VycmlyIHVuIGVycm9yIChzJm9hY3V0ZTtsbyB2YWxpZG8gcGFyYSBlbCBwcm90b2NvbG8gU01UUCknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ1R1IEhvc3QgU01UUCByZXF1aWVyZSBhdXRlbnRpY2FjaSZvYWN1dGU7biAocyZvYWN1dGU7bG8gdmFsaWRvIHBhcmEgZWwgcHJvdG9jb2xvIFNNVFApJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWUnXSA9ICdVc3VhcmlvIGF1dGVudGljYWNpJm9hY3V0ZTtuIFNNVFAgKHZhbGlkbyBwYXJhIGVsIG0mZWFjdXRlO3RvZG8gc210cCwgY3VhbmRvIGVzdGEgYWN0aXZhIGxhIGF1dGVudGljYWNpJm9hY3V0ZTtuKSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnQ2xhdmUgZGUgYXV0ZW50aWNhY2kmb2FjdXRlO24gU01UUCAodmFsaWRvIHNvbG8gcGFyYSBlbCBtJmVhY3V0ZTt0b2RvIHNtdHAsIGN1YW5kbyBlc3RhIGFjdGl2YSBsYSBhdXRlbnRpY2FjaSZvYWN1dGU7biknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnTSZvYWN1dGU7ZHVsbyBDTVNNYWlsZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNJm9hY3V0ZTtkdWxvIENNU01haWxlciBpbnN0YWxhZG8gY29ycmVjdGFtZW50ZSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTSZvYWN1dGU7ZHVsbyBDTVNNYWlsZXIgZGVzaW5zdGFsYWRvLi4uIHNpZW50byBxdWUgbm9zIGRlamVzJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTSZvYWN1dGU7ZHVsbyBEZXNpc3RhbGFkby4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTSZvYWN1dGU7ZHVsbyB2ZXJzaSZvYWN1dGU7biAlcyBpbnN0YWxhZG8uJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzbyBEZW5lZ2Fkby4gcmV2aXNhIHR1cyBwZXJtaXNvcy4nOwokbGFuZ1snZXJyb3InXSA9ICcmaWV4Y2w7RXJyb3IhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTSZvYWN1dGU7ZHVsbyBhY3R1YWxpemFkbyBhIHZlcnNpJm9hY3V0ZTtuICVzLic7CiRsYW5nWydzZXR0aW5nc190aXRsZSddID0gJ0FqdXN0ZXMnOwokbGFuZ1sndGVzdF90aXRsZSddID0gJ1BydWViYSc7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdQcmVmZXJlbmNpYXMgZGVsIE0mb2FjdXRlO2R1bG8nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnQWRtaW5pc3RyYWNpJm9hY3V0ZTtuIGRlbCBNJm9hY3V0ZTtkdWxvJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnTSZvYWN1dGU7ZHVsbyBDTVNNYWlsZXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFc3RvIGVzIHVuYSBzaW1wbGUgY29iZXJ0dXJhIHNvYnJlIFBIUE1haWxlciwgdGllbmUgdW4gQVBJIGVxdWl2YWxlbnRlIChmdW5jaSZvYWN1dGU7biBhIGZ1bmNpJm9hY3V0ZTtuKSB5IHVuYSBpbnRlcmZhc2Ugc2ltcGxlLic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggdGhlIGFkbWluIHBhbmVsLiAgVGhlIGRyb3Bkb3duIHdhcyBub3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIHByZWZlcmVuY2VzIGRhdGFiYXNlPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBBZGRlZCB0aGUgZm9ybSBmaWVsZHMgYW5kIGZ1bmN0aW9uYWxpdHkgZm9yIFNNVFAgYXV0aGVudGljYXRpb24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJ5LCAyMDA2LiBJbmNyZWFzZWQgZmllbGQgbGVuZ3RocyBpbiBtb3N0IGZpZWxkczwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnVhcnksIDIwMDYuIENoYW5nZWQgdGhlIHByZWZlcmVuY2VzIHBhbmVsIHRvIGJlIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEwLiBBdWd1c3QsIDIwMDYuIE1vZGlmaWVkIHRvIHVzZSBsYXp5IGxvYWRpbmcgdG8gbWluaW1pemUgbWVtb3J5IGZvb3RwcmludCB3aGVuIENNU01haWxlciBpcyBub3QgYmVpbmcgdXNlZC48L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMy4gSmFudWFyeSwgMjAwOC4gIEFkZGVkIG1vcmUgcGVybWlzc2lvbnMgY2hlY2tzLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPiZpcXVlc3Q7UXUmZWFjdXRlOyBoYWNlIGVzdG8/PC9oMz4NCjxwPkVzdGUgbSZvYWN1dGU7ZHVsbyBubyBwcm92ZWUgZnVuY2lvbmFsaWRhZCBkaXJlY3RhIHBhcmEgZWwgdXN1YXJpbyBkZWwgcG9ydGFsLiAgRXN0YSBkaXNlJm50aWxkZTthZG8gcGFyYSBzZXIgaW50ZWdyYWRvIGNvbiBvdHJvcyBtJm9hY3V0ZTtkdWxvcyB5IHByb3ZlZXJsZXMgY2FwYWNpZGFkZXMgZGUgZW1haWwuICBFc2EgZXMgc2ltcGxlbWVudGUgc3UgdXRpbGlkYWQuPC9wPg0KPGgzPkNvbW8gbG8gcHVlZG8gdXNhcjwvaDM+DQo8cD5Fc3RlIG0mb2FjdXRlO2R1bG8gcHJvdmVlIHVuYSBzaW1wbGUgY29iZXJ0dXJhIGFscmVkZWRvciBkZSB0b2RvcyBsb3MgbSZlYWN1dGU7dG9kb3MgeSB2YXJpYWJsZXMgZGUgcGhwbWFpbGVyLiAgRXN0YSBkaXNlJm50aWxkZTthZG8gcGFyYSBzZXIgdXRpbGl6YWRvIHBvciBsb3MgZGlzZSZudGlsZGU7YWRvcmVzIGRlIG90cm9zIG0mb2FjdXRlO2R1bG9zLCBhYmFqbyBlbmNvbnRyYXImYWFjdXRlOyB1biBlamVtcGxvLCB5IHVuYSBicmV2ZSByZWZlcmVuY2lhIGRlbCBBUEkuICBQb3IgZmF2b3IgbGVhIGxhIGRvY3VtZW50YWNpJm9hY3V0ZTtuIGRlIFBIUE1haWxlciBpbmNsdWlkYSBwYXJhIG1heW9yIGluZm9ybWFjaSZvYWN1dGU7bi48L3A+DQo8aDM+VW4gRWplbXBsbzwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCYjMDM5O0NNU01haWxlciYjMDM5Oyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJiMwMzk7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5OywmIzAzOTtjYWxndXkmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KCYjMDM5OzxoMT5Fc3RlIGVzIHVuIG1lbnNhamUgZGUgcHJ1ZWJhPGgxPiYjMDM5Oyk7DQogICRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsNCiAgJGNtc21haWxlci0+U2V0U3ViamVjdCgmIzAzOTtNZW5zYWplIGRlIHBydWViYSYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNlbmQoKTsNCjwvcHJlPg0KPGgzPkFQSTwvaDM+DQo8dWw+DQo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4NCjxwPlJlc2V0IHRoZSBvYmplY3QgYmFjayB0byB0aGUgdmFsdWVzIHNwZWNpZmllZCBpbiB0aGUgYWRtaW4gcGFuZWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IGlzby04ODU5LTE8L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4NCjxwPlJldHVybiB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgZW5jb2Rpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgZW5jb2Rpbmc8L3A+DQo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIEhFTE8gc3RyaW5nPC9wPg0KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPHA+VmFsdWVzIGFyZSAxPUhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBMb3c8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRlciBlbWFpbCAocmV0dXJuIHBhdGgpIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kZXIgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIEJDQyYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIENDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+DQo8cD5BZGQgYSBjdXN0b20gaGVhZGVyIHRvIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkRW1iZWRkZWRJbWFnZSggJHBhdGgsICRjaWQsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhbiBlbWJlZGRlZCBpbWFnZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgcmVjaXBpZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhdHRhY2htZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIEJDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIENDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGN1c3RvbSBoZWFkZXJzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhclJlcGx5dG8oKTwvYj48L3A+DQo8cD5DbGVhciByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPg0KPHA+Q2hlY2sgZm9yIGFuIGVycm9yIGNvbmRpdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBodG1sIGZsYWc8L3A+DQo8cD48aT5Ob3RlPC9pPiBwb3NzaWJseSB0aGlzIHNob3VsZCBiZSBhIGdldCBhbmQgc2V0IG1ldGhvZDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc01haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNRbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgcW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NNVFAoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNlbmQoKTwvYj48L3A+DQo8cD5TZW5kIHRoZSBjdXJyZW50bHkgcHJlcGFyZWQgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+DQo8L2xpPg0KPC91bD4NCjxoMz5Tb3BvcnRlPC9oMz4NCjxwPkVzdGUgbSZvYWN1dGU7ZHVsbyBubyBpbmNsdXllIHNvcG9ydGUgY29tZXJjaWFsLiBTaW4gZW1iYXJnbywgaGF5IHVuIG4mdWFjdXRlO21lcm8gZGUgbWVkaW9zIGRpc3BvbmlibGVzIHBhcmEgYXl1ZGFyIGEgdXN0ZWQ6PC9wPg0KPHVsPg0KPGxpPlBhcmEgbGEgJnVhY3V0ZTtsdGltYSB2ZXJzaSZvYWN1dGU7biBkZWwgbSZvYWN1dGU7ZHVsbywgRkFRcywgbyBwYXJhIHByZXNlbnRhciB1biBpbmZvcm1lIGRlIEJ1ZyBvIGJpZW4gY29tcHJhciBzb3BvcnRlIGNvbWVyY2lhbCwgcG9yIGZhdm9yIHZpc2l0ZSBsYSBwJmFhY3V0ZTtnaW5hIHdlYiBkZSBjYWxndXlzIGVuIDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5JbnRlcmNhbWJpbyBkZSBpbmZvcm1hY2kmb2FjdXRlO24gZSBpZGVhcyByZXNwZWN0byBhIGVzdGUgbSZvYWN1dGU7ZHVsbyBzZSBwdWVkZSBlbmNvbnRyYXIgdGFtYmkmZWFjdXRlO24gZW4gZWwgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5Gb3JvIGRlIENNUyBNYWRlIFNpbXBsZTwvYT4uPC9saT4NCjxsaT5FbCBhdXRvciwgY2FsZ3V5MTAwMCwgc2UgcHVlZGUgZW5jb250cmFyIGNvbiBmcmVjdWVuY2lhIGVuIGVsIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q2FuYWwgQ01TIElSQzwvYT4uPC9saT4NCjxsaT5GaW5hbG1lbnRlLCBwdWVkZSBxdWUgb2J0ZW5nYSBhbGcmdWFjdXRlO24gJmVhY3V0ZTt4aXRvIHBvbmkmZWFjdXRlO25kb3NlIGVuIGNvbXVuaWNhY2kmb2FjdXRlO24gcG9yIGVtYWlsIGRpcmVjdGFtZW50ZSBjb24gZWwgYXV0b3IuPC9saT4gIA0KPC91bD4NCjxwPkRlIGFjdWVyZG8gYSBsYSBHUEwsIGVzdGUgc29mdHdhcmUgc2UgcHJvdmVlIGFzJmlhY3V0ZTsgY29tbyBlcy4gUG9yIGZhdm9yIGxlYSBlbCB0ZXh0byBkZSBsYSBsaWNlbmNpYSBwYXJhIG9idGVuZXIgbG8gcXVlIGFsbCZpYWN1dGU7IHNlIGFmaXJtYS48L3A+DQoNCjxoMz5Db3B5cmlnaHQgeSBMaWNlbmNpYTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSI+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+RXN0ZSBtJm9hY3V0ZTtkdWxvIHNlIGhhIHJlYWxpemFkbyBiYWpvIGxhIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+TGljZW5jaWEgUCZ1YWN1dGU7YmxpY2EgR05VPC9hPi4gVXN0ZWQgZGViZSBlc3RhciBkZSBhY3VlcmRvIGNvbiAmZWFjdXRlO3N0YSBsaWNlbmNpYSBhbnRlcyBkZSBoYWNlciB1c28gZGVsIG0mb2FjdXRlO2R1bG8uPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjkyMDI0MjY5OC4xMzg2MDE0OTc3LjEzODYwMTQ5NzcuMTM4NjAxNDk3Ny4xJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzODYwMTQ5NzcuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnU2VlIHRlc3QgZ2VuZXJlZXJpdGFrc2UgaGFydmFlc2luZXZhbCBhbHVzZWwuIFNlbGxlIHYmb3RpbGRlO2liIHYmb3RpbGRlO3R0YSBhZWdhLCBldCAmYXVtbDtyYSBtaW5uYS4nOwokbGFuZ1snbm9uZSddID0gJ1BvbGUnOwokbGFuZ1snc3NsJ10gPSAnU1NMICc7CiRsYW5nWyd0bHMnXSA9ICdUTFMgJzsKJGxhbmdbJ3NlY3VyZSddID0gJ0tyJnV1bWw7cHRlZXJpbWlzIG1laGhhbmlzbSc7CiRsYW5nWydpbmZvX3NlY3VyZSddID0gJ0tvaGFsZGF0YWtzZSAmdXVtbDtrc25lcyBTTVRQIG1haWxlciBtZWV0b2RpIHB1aHVsLCBzZWUgdmFsaWsgdiZvdGlsZGU7aW1hbGRhYiB0JmF1bWw7cHN1c3RhZGEgJnV1bWw7aGVuZHVzZSBlcmluZXZhaWQga3ImdXVtbDtwdGVlcmltaXNlIG1laGhhbmlzbWUuJzsKJGxhbmdbJ2luZm9fY21zbWFpbGVyJ10gPSAnU2VkYSBtb29kdWxpdCBrYXN1dGFiIGh1bGsgdGVpc2kgbW9vZHVsZWlkIGVtYWlsaWRlIHNhYXRtaXNlIGgmb3RpbGRlO2xidXN0YW1pc2Vrcy4gU2VlIHBlYWIgb2xlbWEgJm90aWxkZTtpZ2VzdGkga29uZmlndXJlZXJpdHVkIHZhc3RhdmFsdCBzaW51IHRlZW51c2VwYWtrdWphIG4mb3RpbGRlO3VldGVsZS4gUGFsdW4ga2FzdXRhIG9tYSB0ZWVudXNlcGFra3VqYWx0IHNhYWR1ZCBpbmZvcm1hdHNpb29uaSwgZXQgbmVpZCBzZWFkZWlkIG11dXRhLiBLdWkgc2EgZW5kaXNlbHQgZWkgc2FhIHRlc3RpIHMmb3RpbGRlO251bWl0IGtvcnJhbGlrdWx0IHNhYXRtYSwgdHVsZWtzIHRlaWwgcCZvdW1sOyZvdW1sO3JkdWRhIHRlZW51c2VwYWtrdWphIHBvb2xlIGFiaSBzYWFtaXNla3MuJzsKJGxhbmdbJ2NoYXJzZXQnXSA9ICdUJmF1bWw7aGVtJmF1bWw7cmdpIHNlZXJpYSAoQ2hhcmFjdGVyIFNldCknOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ1NlZSBzYWFkYWIgYW50dWQgYWFkcmVzc2lsZSB0ZXN0bWVpbGkuIEt1aSBzYWF0bWluZSAmb3RpbGRlO25uZXN0dWIsIHR1dWFrc2Ugc2luZCBzaWlhIGxlaGVsZSB0YWdhc2kuICBLYXMgc29vdmlkIGomYXVtbDt0a2F0YT8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnU29vdmlkIHNhIGFudHVkIHNlYWRlZCBzYWx2ZXN0YWRhPyc7CiRsYW5nWyd0ZXN0c3ViamVjdCddID0gJ0NNU01haWxlciYjMDM5O2kgVGVzdHMmb3RpbGRlO251bSc7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ1NlZSBzJm90aWxkZTtudW0gb24gbSZvdGlsZGU7ZWxkdWQgYWludWx0IENNU01haWxlciYjMDM5O2kgc2VhZGV0ZSBrb250cm9sbGltaXNla3MuDQpLdWkgc2Egc2VsbGUgayZhdW1sO3R0ZSBzYWlkLCBzaWlzIGsmb3RpbGRlO2lrIHQmb3VtbDsmb3VtbDt0YWIuJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICdWaWdhOiBUZXN0bWFpbGkgYWFkcmVzc2kgcG9sZSBhbnR1ZCc7CiRsYW5nWydwcm9tcHRfdGVzdGFkZHJlc3MnXSA9ICdUZXN0bWVpbGkgYWFkcmVzcyc7CiRsYW5nWydzZW5kdGVzdCddID0gJ1NhYWRhZCBUZXN0bWVpbCc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhcm9vbCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0thc3V0YWphbmltaSc7CiRsYW5nWydzbXRwYXV0aCddID0gJ1NNVFAgQXV0ZW50aW1pbmUnOwokbGFuZ1snbWFpbGVyJ10gPSAnTWVpbGltaXNtZWV0b2QnOwokbGFuZ1snaG9zdCddID0gJ1NNVFAgaG9zdGkgbmltaTxici8+PGk+KHYmb3RpbGRlO2kgSVAgYWFkZHJlc3MpPC9pPic7CiRsYW5nWydwb3J0J10gPSAnU01UUCBzZXJ2ZXJpIHBvcnQnOwokbGFuZ1snZnJvbSddID0gJ0FhZHJlc3NpbHQnOwokbGFuZ1snZnJvbXVzZXInXSA9ICdLZWxsZSBuaW1lbCc7CiRsYW5nWydzZW5kbWFpbCddID0gJ1NlbmRtYWlsJiMwMzk7aSBhc3Vrb2h0JzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdTTVRQIHRhaW1hdXQnOwokbGFuZ1snc3VibWl0J10gPSAnU2FhZGEnOwokbGFuZ1snY2FuY2VsJ10gPSAnVCZ1dW1sO2hpc3RhJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnTWVpbGltaXNlIG1lZXRvZCAoc2VuZG1haWwsIHNtdHAsIG1haWwpLiAgVGF2YWxpc2VsdCBvbiBzbXRwIGsmb3RpbGRlO2lnZSBraW5kbGFtIHZhbGlrLic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICdTTVRQIGhvc3RpIG5pbWkgKGtlaHRpYiBhaW51bHQgc210cCBtZWlsaW1pc21lZXRvZGkgcHVodWwpJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ1NNVFAgcG9yZGkgbnVtYmVyICh0YXZhbGlzZWx0IDI1KSAoa2VodGliIGFpbnVsdCBzbXRwIG1laWxpbWlzbWVldG9kaSBwdWh1bCknOwokbGFuZ1snaW5mb19mcm9tJ10gPSAnQWFkcmVzcywgbWlkYSBrYXN1dGF0YWtzZSBzYWF0amFuYSBrJm90aWxkZTtpa2lkZXMgbWVpbGlkZXMnOwokbGFuZ1snaW5mb19mcm9tdXNlciddID0gJ0thc3V0YWphbmltaSwgbWlkYSBrYXN1dGF0YWtzZSBrJm90aWxkZTtpa2lkZSBtZWlsaWRlIHNhYXRtaXNlbCc7CiRsYW5nWydpbmZvX3NlbmRtYWlsJ10gPSAnVCZhdW1sO2lzcGlrayB0ZWUgc2ludSBzZW5kbWFpbCBrJmF1bWw7aXZpdHVzZWxlIChrZWh0aWIgYWludWx0IHNlbmRtYWlsIG1laWxpbWlzbWVldG9kaSBwdWh1bCknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnU2VrdW5kaXRlIGFydiBTTVRQIHZlc3RsdXNlcywgZW5uZSBrdWkgZXNpbmViIHZpZ2EgKGtlaHRpYiBhaW51bHQgc2VuZG1haWwgbWVpbGltaXNtZWV0b2RpIHB1aHVsKSc7CiRsYW5nWydpbmZvX3NtdHBhdXRoJ10gPSAnS2FzIHNpbnUgU01UUCBuJm90aWxkZTt1YWIgYXV0ZW50aW1pc3Q/IChrZWh0aWIgYWludWx0IHNtdHAgbWVpbGltaXNtZWV0b2RpIHB1aHVsKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAnU01UUCBhdXRlbnRpbWlzZSBrYXN1dGFqYW5pbWkgKGtlaHRpYiBhaW51bHQgc210cCBtZWlsaW1pc21lZXRvZGkgcHVodWwsIGt1aSBzbXRwIGF1dGVudGltaW5lIG9uIHZhbGl0dWQpJzsKJGxhbmdbJ2luZm9fcGFzc3dvcmQnXSA9ICdTTVRQIGF1dGVudGltaXNlIHBhcm9vbCAoa2VodGliIGFpbnVsdCBzbXRwIG1laWxpbWlzbWVldG9kaSBwdWh1bCwga3VpIHNtdHAgYXV0ZW50aW1pbmUgb24gdmFsaXR1ZCknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVyIE1vb2R1bCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NNU01haWxlciBtb29kdWwgb24gZWR1a2FsdCBpbnN0YWxsZWVyaXR1ZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ01TTWFpbGVyIG1vb2R1bCBlZW1hbGRhdHVkLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vb2R1bCBlZW1hbGRhdHVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb29kdWxpIHZlcnNpb29uICVzIGluc3RhbGxlZXJpdHVkLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdMaWdpcCZhdW1sOyZhdW1sO3Mga2VlbGF0dWQuIFBhbHVuIGtvbnRyb2xsaSBvbWEgJm90aWxkZTtpZ3VzaS4nOwokbGFuZ1snZXJyb3InXSA9ICdWaWdhISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vb2R1bCB1dWVuZGF0dWQgdmVyc2lvb25pbGUgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vb2R1bGkgRWVsaXN0dXNlZCc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb29kdWxpIEFkbWluaXN0cmFhdG9yaXBhbmVlbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0NNU01haWxlciBNb29kdWwnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdTZWUgb24gbGlodG5lIFBIUE1haWxlcmkgcGFrZW5kLCBzZWwgb24gZWt2YXZpbGVudG5lIEFQSSAoZnVuY3Rpb24gZm9yIGZ1bmN0aW9uKSBqYSBsaWh0bmUga2FzdXRhamFsaWlkZXMgbSZvdGlsZGU7bmluZ2F0ZSBzZWFkZXRldGUgbXV1dG1pc2Vrcy4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS43My4xLiBPY3RvYmVyLCAyMDA1LiBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHRoZSBhZG1pbiBwYW5lbC4gIFRoZSBkcm9wZG93biB3YXMgbm90IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSBwcmVmZXJlbmNlcyBkYXRhYmFzZTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjMuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCBzZW5kaW5nIGh0bWwgZW1haWw8L2xpPg0KPGxpPlZlcnNpb24gMS43My40LiBOb3ZlbWJlciwgMjAwNS4gRm9ybSBmaWVsZHMgaW4gcHJlZmVyZW5jZXMgYXJlIGxhcmdlciwgZml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIGZyb211c2VyLCBhbmQgY2FsbGVkIHJlc2V0IHdpdGhpbiB0aGUgY29uc3RydWN0b3I8L2xpPg0KPGxpPlZlcnNpb24gMS43My41LiBOb3ZlbWJlciwgMjAwNS4gQWRkZWQgdGhlIGZvcm0gZmllbGRzIGFuZCBmdW5jdGlvbmFsaXR5IGZvciBTTVRQIGF1dGhlbnRpY2F0aW9uLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjYuIERlY2VtYmVyLCAyMDA1LiBEZWZhdWx0IG1haWxlciBtZXRob2QgaXMgU01UUCBvbiBpbnN0YWxsLCBhbmQgaW1wcm92ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIG5vdyBJIGNsZWFyIGFsbCB0aGUgYXR0YWNobWVudHMsIGFuZCBhZGRyZXNzZXMsIGV0Yy4gb24gcmVzZXQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNy4gSmFudWFyeSwgMjAwNi4gSW5jcmVhc2VkIGZpZWxkIGxlbmd0aHMgaW4gbW9zdCBmaWVsZHM8L2xpPg0KPGxpPlZlcnNpb24gMS43My44LiBKYW51YXJ5LCAyMDA2LiBDaGFuZ2VkIHRoZSBwcmVmZXJlbmNlcyBwYW5lbCB0byBiZSBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjkuIEphbnVhcnksIDIwMDYuIEFkZGVkIHRlc3QgZW1haWwgY2FwYWJpbGl0eSwgYW5kIGNvbmZpcm1hdGlvbiBvbiBlYWNoIGJ1dHRvbiAoZXhjZXB0IGNhbmNlbCk8L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMC4gQXVndXN0LCAyMDA2LiBNb2RpZmllZCB0byB1c2UgbGF6eSBsb2FkaW5nIHRvIG1pbmltaXplIG1lbW9yeSBmb290cHJpbnQgd2hlbiBDTVNNYWlsZXIgaXMgbm90IGJlaW5nIHVzZWQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTMuIEphbnVhcnksIDIwMDguICBBZGRlZCBtb3JlIHBlcm1pc3Npb25zIGNoZWNrcy48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgbm8gZW5kIHVzZXIgZnVuY3Rpb25hbGl0eS4gIEl0IGlzIGRlc2lnbmVkIHRvIGJlIGludGVncmF0ZWQgaW50byBvdGhlciBtb2R1bGVzIHRvIHByb3ZpZGUgZW1haWwgY2FwYWJpbGl0aWVzLiAgVGhhdHMgaXQsIG5vdGhpbmcgbW9yZS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIGFsbCBvZiB0aGUgbWV0aG9kcyBhbmQgdmFyaWFibGVzIG9mIHBocG1haWxlci4gIEl0IGlzIGRlc2lnbmVkIGZvciB1c2UgYnkgb3RoZXIgbW9kdWxlIGRldmVsb3BlcnMsIGJlbG93IGlzIGFuIGV4YW1wbGUsIGFuZCBhIGJyaWVmIEFQSSByZWZlcmVuY2UuICBQbGVhc2UgcmVhZCB0aGUgUEhQTWFpbGVyIGRvY3VtZW50YXRpb24gaW5jbHVkZWQgZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPg0KPGgzPkFuIEV4YW1wbGU8L2gzPg0KPHByZT4NCiAgJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgmIzAzOTtDTVNNYWlsZXImIzAzOTspOw0KICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCYjMDM5O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mIzAzOTssJiMwMzk7Y2FsZ3V5JiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2V0Qm9keSgmIzAzOTsmYW1wO2x0O2g0JmFtcDtndDtUaGlzIGlzIGEgdGVzdCBtZXNzYWdlJmFtcDtsdDsvaDQmYW1wO2d0OyYjMDM5Oyk7DQogICRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsNCiAgJGNtc21haWxlci0+U2V0U3ViamVjdCgmIzAzOTtUZXN0IG1lc3NhZ2UmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZW5kKCk7DQo8L3ByZT4NCjxoMz5BUEk8L2gzPg0KPHVsPg0KPGxpPjxwPjxiPnZvaWQgcmVzZXQoKTwvYj48L3A+DQo8cD5SZXNldCB0aGUgb2JqZWN0IGJhY2sgdG8gdGhlIHZhbHVlcyBzcGVjaWZpZWQgaW4gdGhlIGFkbWluIHBhbmVsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0QWx0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEFsdEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENoYXJTZXQoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiBpc28tODg1OS0xPC9wPg0KPHA+UmV0dXJuIHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDaGFyU2V0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbmZpcm1SZWFkaW5nVG8oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFkZHJlc3MgY29uZmlybWVkIHJlYWRpbmcgZW1haWwgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCBvciB1bnNldCB0aGUgY29uZmlybSByZWFkaW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IHRleHQvcGxhaW48L3A+DQo8cD5SZXR1cm4gdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPlNldCB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RW5jb2RpbmcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGVuY29kaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEVuY29kaW5nKCAkZW5jb2RpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGVuY29kaW5nPC9wPg0KPHA+T3B0aW9ucyBhcmU6IDhiaXQsIDdiaXQsIGJpbmFyeSwgYmFzZTY0LCBxdW90ZWQtcHJpbnRhYmxlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RXJyb3JJbmZvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIGFueSBlcnJvciBpbmZvcm1hdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb20oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRGcm9tKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb21OYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEZyb21OYW1lKCAkbmFtZSApPC9iPjwvcD4NCjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhlbG8oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIEhFTE8gc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRIZWxvKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBIRUxPIHN0cmluZzwvcD4NCjxwPkRlZmF1bHQgdmFsdWU6ICRob3N0bmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3QoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIFNNVFBzIGhvc3Qgc2VwYXJhdGVkIGJ5IHNlbWljb2xvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3ROYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdE5hbWUoICRob3N0bmFtZSApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtYWlsZXI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0TWFpbGVyKCAkbWFpbGVyICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtYWlsZXIsIGVpdGhlciBzZW5kbWFpbCxtYWlsLCBvciBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0UGFzc3dvcmQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UGFzc3dvcmQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQb3J0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwb3J0IG51bWJlciBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQb3J0KCAkaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwb3J0IGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UHJpb3JpdHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UHJpb3JpdHkoIGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjxwPlZhbHVlcyBhcmUgMT1IaWdoLCAzID0gTm9ybWFsLCA1ID0gTG93PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzZW5kZXIgZW1haWwgKHJldHVybiBwYXRoKSBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZGVyKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc2VuZGVyIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRtYWlsKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRtYWlsKCAkcGF0aCApPC9iPjwvcD4NCjxwPlNldCB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQQXV0aCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBBdXRoKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUERlYnVnKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNNVFBEZWJ1ZyggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQS2VlcEFsaXZlKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBLZWVwQWxpdmUoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFN1YmplY3QoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgc3ViamVjdCBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U3ViamVjdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc3ViamVjdCBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRUaW1lb3V0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB0aW1lb3V0IHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFRpbWVvdXQoICRzZWNvbmRzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSB0aW1lb3V0IHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0VXNlcm5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRVc2VybmFtZSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0V29yZFdyYXAoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFdvcmRXcmFwKCAkaW50ICk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQWRkcmVzcyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBCQ0MmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBDQyYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPg0KPHA+QWRkIGEgY3VzdG9tIGhlYWRlciB0byB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9ICYjMDM5OyYjMDM5OywgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIHJlcGx5IHRvIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFN0cmluZ0F0dGFjaG1lbnQoICRzdHJpbmcsICRmaWxlbmFtZSwgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWRkcmVzc2VzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIHJlY2lwaWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQXR0YWNobWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYXR0YWNobWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBCQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBjdXN0b20gaGVhZGVyczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+Q2xlYXIgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4NCjxwPkNoZWNrIGZvciBhbiBlcnJvciBjb25kaXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNIVE1MKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgaHRtbCBmbGFnPC9wPg0KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPlNldCB0aGUgY3VycmVudCBsYW5ndWFnZSBhbmQgPGVtPihvcHRpb25hbCk8L2VtPiBsYW5ndWFnZSBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TbXRwQ2xvc2UoKTwvYj48L3A+DQo8cD5DbG9zZSB0aGUgc210cCBjb25uZWN0aW9uPC9wPg0KPC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eXMgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mIzAzOTtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJiMwMzk7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JiMwMzk7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJiMwMzk7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSYjMDM5O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyYjMDM5Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSYjMDM5O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJiMwMzk7PiZhbXA7bHQ7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZhbXA7Z3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JiMwMzk7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJiMwMzk7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzM0ODcxMTIwLjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzg0MTExMTY1LjEzMzQ4NzExMjAuMTMzNDkzNDM2Mi4xMzM0OTM2ODY2LjMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fa_FA.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnVGhpcyB0ZXN0IGlzIGdlbmVyYXRlZCBvbiBhbiBpbmZyZXF1ZW50IGJhc2lzLiAgSXQgbWF5IHRha2Ugc29tZSB0aW1lIGZvciBpdCB0byBnbyBhd2F5JzsKJGxhbmdbJ25vbmUnXSA9ICfZh9mK2oYnOwokbGFuZ1snc3NsJ10gPSAnU1NMINit2KfZhNiqINin2YXZhic7CiRsYW5nWyd0bHMnXSA9ICdUTFMg2K3Yp9mE2Kog2KfZhdmGJzsKJGxhbmdbJ3NlY3VyZSddID0gJ9mF2qnYp9mG24zYstmFINix2YXYstqv2LDYp9ix24wnOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICfZgdmC2Lcg2YXZhtin2LPYqCDYqNinINix2YjYtCBTTVRQINmF2Yog2KjYp9i02K/YjNin2YrZhiDar9iy2YrZhtmHINin2KzYp9iy2Ycg2KrYudmK2YrZhiDZhdmD2KfZhtmK2LLZhSDYsdmF2LLar9iw2KfYsdmKINmH2KfZiiDZhdiu2KrZhNmBINis2YfYqiDYp9iq2LXYp9mEINix2Kcg2YXZitiv2YfYryc7CiRsYW5nWydpbmZvX2Ntc21haWxlciddID0gJ9in24zZhiDZhdin2pjZiNmEINis2YfYqiDYqtiz2LHbjNi5INiv2LEg2KfZhdixINin2LHYs9in2YQg2KfbjNmF24zZhCDYqNiz24zYp9ix24wg2KfYsiDZhdin2pjZiNmEINmH2KfbjCDYr9uM2q/YsSDYp9iz2KrZgdin2K/ZhyDZhduM2q/Ysdiv2K8u2KfbjNmGINmF2KfamNmI2YQg2KjYp9uM2K8g2KjYr9ix2LPYqtuMINmIINmF2KrZhtin2LPYqCDYqNinINmH2KfYs9iqINi02YXYpyDYqtmG2LjbjNmFINqv2LHYr9ivLiDZhNi32YHYp9mLINin2LIg2KfYt9mE2KfYudin2Kog2YXZh9uM2Kcg2LTYr9mHINiq2YjYs9i3INmF24zYstio2KfZhiDYrNmH2Kog2KrZhti424zZhdin2Kog2KfYs9iq2YHYp9iv2Ycg2YbZhdin24zbjNivLtin2q/YsSDYtNmF2Kcg2YbZhduMINiq2YjYp9mG24zYryDZvtuM2LrYp9mFINii2LLZhdin24zYtNuMINix2Kcg2KjYtdmI2LHYqiDYsdin2qnYryDYrNmH2Kog2KfYsdiz2KfZhCDYtdit24zYrSDZhtqv2Ycg2K/Yp9ix24zYr9iMINmF24wg2KrZiNin2YbbjNivINis2YfYqiDYsdin2YfZhtmF2KfbjNuMINio2Kcg2YXbjNiy2KjYp9mGINiq2YXYp9izINit2KfYtdmEINmG2YXYp9uM24zYry4nOwokbGFuZ1snY2hhcnNldCddID0gJ9iq2YbYuNuM2YUg2qnYp9ix2Kfaqdiq2LEnOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ9in24zZhiDYp9mF2qnYp9mGINmF24wg2KrZiNin2YbYryDbjNqpICZkaXZpZGU724zYutin2YUg2KLYstmF2KfbjNi024wg2KjZhyDYotiv2LHYsyDZhdi02K7YtSDYtNiv2Ycg2KfYsdiz2KfZhCDZhtmF2KfbjNivLtin2q/YsSDYp9ix2LPYp9mEINmF2YjZgdmC24zYqiDYotmF24zYsiDYqNmI2K/YjCDYtNmF2Kcg2YXbjNiq2YjYp9mG24zYryDYqNmHINin24zZhiDYtdmB2K3ZhyDZhdis2K/Yr9inINio2KfYsiDar9ix2K/bjNivLtii24zYpyDZhduM2K7ZiNin2YfbjNivINin2K/Yp9mF2Ycg2K/Zh9uM2K/Ynyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICfYotuM2Kcg2YXZgtin2K/bjNixINmB2LnZhNuMINio2LHYp9uMINiq2YbYuNuM2YXYp9iqINin2LHYs9in2YQg2KfbjNmF24zZhCDYsNiu24zYsdmHINi02YjYryDYnyc7CiRsYW5nWyd0ZXN0c3ViamVjdCddID0gJ9m+24zYutin2YUg2KLYstmF2KfbjNi0INin2LHYs9in2YQg2KfbjNmF24zZhCc7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ9in24zZhiDZvtuM2LrYp9mFINiq2YbZh9inINis2YfYqiDYqtin24zbjNivINmF2LnYqtio2LEg2KjZiNiv2YYg2KrZhti424zZhdin2Kog2YXYsdio2YjYtyDYqNmHINmF2KfamNmI2YQg2KfYsdiz2KfZhCDYp9uM2YXbjNmEINmF24wg2KjYp9i02K8uDQou2Kfar9ixINi02YXYpyDYp9uM2YYg2LHYpyDYr9ix24zYp9mB2Kog2qnYsdiv24zYr9iMINmH2YXZhyDahtuM2LIg2KjYr9ix2LPYqtuMINqp2KfYsSDZhduM2qnZhtivJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICfYrti32KcgOiDYotiv2LHYsyDYotiy2YXYp9uM2LTbjCDYqti52YrZitmGINmG2LTYr9mHINin2LPYqic7CiRsYW5nWydwcm9tcHRfdGVzdGFkZHJlc3MnXSA9ICfYotiy2YXYp9uM2LQg2KLYr9ix2LMg2b7Ys9iqINin2YTaqdiq2LHZiNmG24zaqSc7CiRsYW5nWydzZW5kdGVzdCddID0gJ9in2LHYs9in2YQg2b7Zitin2YUg2KLYstmF2KfZiti024wnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICfYsdmF2LLYudio2YjYsSc7CiRsYW5nWyd1c2VybmFtZSddID0gJ9i02YbYp9iz2Ycg2qnYp9ix2KjYsduMJzsKJGxhbmdbJ3NtdHBhdXRoJ10gPSAn2KrYtdiv24zZgiBTTVRQJzsKJGxhbmdbJ21haWxlciddID0gJ9ix2YjYtCDZh9in24wg2YXbjNmE2LEnOwokbGFuZ1snaG9zdCddID0gJ9mG2KfZhSDZhduM2LLYqNin2YYgU01UUDxici8+PGk+KNuM2Kcg2KLYr9ix2LMgSVApPC9pPic7CiRsYW5nWydwb3J0J10gPSAn2K/Ysdqv2KfZhyDZhduM2LLYqNin2YYgU01UUCc7CiRsYW5nWydmcm9tJ10gPSAn2KfYsiDYotiv2LHYsyc7CiRsYW5nWydmcm9tdXNlciddID0gJ9in2LIg2LTZhtin2LPZhyDaqdin2LHYqNix24wnOwokbGFuZ1snc2VuZG1haWwnXSA9ICfZvtmI2LTZhyDZhdit2YQg2KfYsdiz2KfZhCDZhtin2YXZhyc7CiRsYW5nWyd0aW1lb3V0J10gPSAn2YjZgtmB2Ycg2KfYsdiz2KfZhCBTTVRQJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ9in2LHYs9in2YQnOwokbGFuZ1snY2FuY2VsJ10gPSAn2YTYutmIJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAn2LHZiNi0INmF24zZhCDYrNmH2Kog2KfYs9iq2YHYp9iv2YcgKHNlbmRtYWlsLCBzbXRwLCBtYWlsKSAu2YXYudmF2YjZhNin2YsgU01UUCDZhdi32YXYptmGINiq2LEg2YXbjCDYqNin2LTYry4gJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ9ix2YjYtCBTTVRQICjYqtmG2YfYpyDYqNix2KfbjCDYsdmI2LQg2KfYsdiz2KfZhCDYp9iyIFNNVFAg2YXZiNix2K8g2YLYqNmI2YQg2YXbjNio2KfYtNivKSc7CiRsYW5nWydpbmZvX3BvcnQnXSA9ICfYr9ix2q/Yp9mHIFNNVFAgKNmF2LnZhdmI2YTYpyAyNSkgKNiq2YbZh9inINio2LHYp9uMINix2YjYtCDYp9ix2LPYp9mEINin2LIgU01UUCDZhdmI2LHYryDZgtio2YjZhCDYp9iz2KopJzsKJGxhbmdbJ2luZm9fZnJvbSddID0gJ9ii2K/YsdizINis2YfYqiDYp9ix2LPYp9mEINio2LHYp9uMINiq2YXYp9mF24wg2KfbjNmF24zZhCDZh9inLiAgPGJyLz48c3Ryb25nPtmF2KrZhjwvc3Ryb25nPiwg2KfbjNmGINii2K/YsdizINin24zZhduM2YQg2KjYp9uM2K8g2KjYr9ix2LPYqtuMINio2LHYp9uMINmF24zYstio2KfZhiDYqtmG2LjbjNmFINi02YjYryDYjCDYr9ix2LrbjNixINin24zZhti12YjYsdiqINmF2LTaqdmE2KfYqtuMINis2YfYqiDYp9ix2LPYp9mEINin24zZhduM2YQg2K7ZiNin2YfbjNivINiv2KfYtNiqLjxici8+INin2q/YsSDYtNmF2Kcg2KfYsiDZhdmC2KfYr9uM2LEg2LXYrduM2K0g2KzZh9iqINin24zZhiDYqtmG2LjbjNmF2KfYqiDYp9i32YTYp9i5INmG2K/Yp9ix24zYr9iMINi02YXYpyDYqNin24zYryDYqNinINmF24zYstio2KfZhiDYqtmF2KfYsyDYrdin2LXZhCDZhtmF2KfbjNuM2K8uJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICfZhtin2YXbjCDYr9mI2LPYqtin2YbZhyDYrNmH2Kog2KfYsdiz2KfZhCDYqNix2KfbjCDYqtmF2KfZhduMINin24zZhduM2YQg2YfYpyc7CiRsYW5nWydpbmZvX3NlbmRtYWlsJ10gPSAn2YXYs9uM2LEg2qnYp9mF2YQg2KzZh9iqINin2KzYsdin24wg2KfYsdiz2KfZhCDZhduM2YQgICjYqtmG2YfYpyDYqNix2KfbjCDYsdmI2LQg2KfYsdiz2KfZhCDYp9iyIFNNVFAg2YXZiNix2K8g2YLYqNmI2YQg2YXbjNio2KfYtNivKSc7CiRsYW5nWydpbmZvX3RpbWVvdXQnXSA9ICcg2YXbjNiy2KfZhiDZiNmC2YHZhyDYqNix2K3Ys9ioINir2KfZhtuM2Ycg2K/YsSDZh9mG2q/Yp9mFINix2K7Yr9in2K8g2K7Yt9inIFNNVFAgICjYqtmG2YfYpyDYqNix2KfbjCDYsdmI2LQg2KfYsdiz2KfZhCDYp9iyIFNNVFAg2YXZiNix2K8g2YLYqNmI2YQg2YXbjNio2KfYtNivKSc7CiRsYW5nWydpbmZvX3NtdHBhdXRoJ10gPSAn2KrYtdiv24zZgiDYr9ix2K7ZiNin2LPYqiBTTVRQINi02YXYpyDYr9ixINmH2Ybar9in2YUg2K/Ysdiu2YjYp9iz2KogICjYqtmG2YfYpyDYqNix2KfbjCDYsdmI2LQg2KfYsdiz2KfZhCDYp9iyIFNNVFAg2YXZiNix2K8g2YLYqNmI2YQg2YXbjNio2KfYtNivKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAn2KrYtdiv24zZgiDYtNmG2KfYs9mHINqp2KfYsdio2LHbjCBTTVRQICAo2KrZhtmH2Kcg2KjYsdin24wg2LHZiNi0INin2LHYs9in2YQg2KfYsiBTTVRQINmF2YjYsdivINmC2KjZiNmEINmF24zYqNin2LTYryknOwokbGFuZ1snaW5mb19wYXNzd29yZCddID0gJ9iq2LXYr9uM2YIg2LHZhdiyINi52KjZiNixIFNNVFAgICjYqtmG2YfYpyDYqNix2KfbjCDYsdmI2LQg2KfYsdiz2KfZhCDYp9iyIFNNVFAg2YXZiNix2K8g2YLYqNmI2YQg2YXbjNio2KfYtNivKSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICfYs9in2YXYp9mG2Ycg2KfYsdiz2KfZhCDYp9uM2YXbjNmEJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAn2LPYp9mF2KfZhtmHINin2LHYs9in2YQg2KfbjNmF24zZhCDYqNiv2LHYs9iq24wg2YbYtdioINi02K8nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ9iz2KfZhdin2YbZhyDYp9ix2LPYp9mEINin24zZhduM2YQg2KjYr9ix2LPYqtuMINit2LDZgSDYtNivLi4u2YXYqtin2LPZgduM2YUg2qnZhyDYr9uM2q/ZhyDYtNmF2Kcg2LHZiCDZhtmF24zYqNuM2YbbjNmFLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ9mF2KfamNmI2YQg2K3YsNmBINi02K/ZhyDYp9iz2KouJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJyDZhtiz2K7ZhyDZhdin2pjZiNmEINmG2LXYqCDYtNiv2YcgJXMg2YXbjCDYqNin2LTYry4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAn2K/Ys9iq2LHYs9uMINio2Ycg2KfbjNmGINio2K7YtCDZhdmC2K/YsSDZhtmF24wg2KjYp9i02K8u2YTYt9mB2Kcg2K/Ys9iq2LHYs9uMINiu2YjYryDYsdinINio2LHYsdiz24wg2YbZhdin24zbjNivLic7CiRsYW5nWydlcnJvciddID0gJ9iu2LfYpyEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICfZhdin2pjZiNmEINio2Ycg2YbYs9iu2YcgJXMg2KjYsdmI2LLYsdiz2KfZhtuMINi02K8gISc7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICfYp9mI2YTZiNuM2Kog2YfYp9uMINmF2KfamNmI2YQnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAn2KjYrti0INmF2K/bjNix24zYqtuMINmF2KfamNmI2YQnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICfZhdin2pjZiNmEINiz2KfZhdin2YbZhyDYp9ix2LPYp9mEINin24zZhduM2YQnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICfYp9uM2YYg2YXYp9qY2YjZhCDYqNix2q/YsdmB2KrZhyDYp9iyIFBIUE1haWxlciDZhduM2KjYp9i02K/YjCDYp9uM2YYg2YXYp9qY2YjZhCDZhduM2KfZhtis24wo2KrZiNin2KjYuSDYqNix2KfbjCDYqtmI2KfYqNi5KdmIINmI2KfYs9i3INqp2KfYsdio2LHbjCDZhdi02KfYqNmH24wg2KjYsdin24wg2KjbjNi02KrYsSDZvtuM2LTZgdix2LYg2YfYpyDYr9in2LHYpyDZhduMINio2KfYtNivLiAnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS43My4xLiBPY3RvYmVyLCAyMDA1LiBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHRoZSBhZG1pbiBwYW5lbC4gIFRoZSBkcm9wZG93biB3YXMgbm90IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSBwcmVmZXJlbmNlcyBkYXRhYmFzZTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjMuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCBzZW5kaW5nIGh0bWwgZW1haWw8L2xpPg0KPGxpPlZlcnNpb24gMS43My40LiBOb3ZlbWJlciwgMjAwNS4gRm9ybSBmaWVsZHMgaW4gcHJlZmVyZW5jZXMgYXJlIGxhcmdlciwgZml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIGZyb211c2VyLCBhbmQgY2FsbGVkIHJlc2V0IHdpdGhpbiB0aGUgY29uc3RydWN0b3I8L2xpPg0KPGxpPlZlcnNpb24gMS43My41LiBOb3ZlbWJlciwgMjAwNS4gQWRkZWQgdGhlIGZvcm0gZmllbGRzIGFuZCBmdW5jdGlvbmFsaXR5IGZvciBTTVRQIGF1dGhlbnRpY2F0aW9uLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjYuIERlY2VtYmVyLCAyMDA1LiBEZWZhdWx0IG1haWxlciBtZXRob2QgaXMgU01UUCBvbiBpbnN0YWxsLCBhbmQgaW1wcm92ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIG5vdyBJIGNsZWFyIGFsbCB0aGUgYXR0YWNobWVudHMsIGFuZCBhZGRyZXNzZXMsIGV0Yy4gb24gcmVzZXQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNy4gSmFudWFyeSwgMjAwNi4gSW5jcmVhc2VkIGZpZWxkIGxlbmd0aHMgaW4gbW9zdCBmaWVsZHM8L2xpPg0KPGxpPlZlcnNpb24gMS43My44LiBKYW51YXJ5LCAyMDA2LiBDaGFuZ2VkIHRoZSBwcmVmZXJlbmNlcyBwYW5lbCB0byBiZSBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjkuIEphbnVhcnksIDIwMDYuIEFkZGVkIHRlc3QgZW1haWwgY2FwYWJpbGl0eSwgYW5kIGNvbmZpcm1hdGlvbiBvbiBlYWNoIGJ1dHRvbiAoZXhjZXB0IGNhbmNlbCk8L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMC4gQXVndXN0LCAyMDA2LiBNb2RpZmllZCB0byB1c2UgbGF6eSBsb2FkaW5nIHRvIG1pbmltaXplIG1lbW9yeSBmb290cHJpbnQgd2hlbiBDTVNNYWlsZXIgaXMgbm90IGJlaW5nIHVzZWQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTMuIEphbnVhcnksIDIwMDguICBBZGRlZCBtb3JlIHBlcm1pc3Npb25zIGNoZWNrcy48L2xpPg0KPGxpPlZlcnNpb24gMi4wLjEgLSBKYW51YXJ5LCAyMDExIC0gUmVtb3ZlIGNhbmNlbCBidXR0b24uPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+2obYt9mI2LEg2qnYp9ixINiu2YjYp9mH2K8g2qnYsdiv2J88L2gzPg0KPHA+2KfbjNmGINmF2KfamNmI2YQg2KzZh9iqINio2YfYsdmHINmF2YbYr9uMINmG2KfZhdit2K/ZiNivINqp2KfYsdio2LHYp9mGINmF24wg2KjYp9i02K8u2KfbjNmGINmF2KfamNmI2YQg2KzZh9iqINio2YfYsdmHINqv24zYsduMINiv2LHYp9mF2qnYp9mGINin2LHYs9in2YQg2KfbjNmF24zZhCDYqtmI2LPYtyDYs9in24zYsSDZhdin2pjZiNmEINmH2Kcg2YXbjNio2KfYtNivIC4g2YbZhyDahtuM2LIg2KjbjNi02KrYsS4gPC9wPg0KPGgzPtqG2LfZiNixINin2LIg2KfbjNmGINin2LPYqtmB2KfYr9mHINqp2YbbjNmFPC9oMz4NCjxwPtin24zZhiDZhdin2pjZiNmEINin2LIg2KrZhdin2YXbjCDYqtmI2KfYqNi5INmIINix2YjbjNiv2KfYryDZh9in24wgUEhQTWFpbGVyINio2YfYsdmHINqv2LHZgdiq2Ycg2KfYs9iqLtin24zZhiDZhdin2pjZiNmEINis2YfYqiDYp9iz2KrZgdin2K/ZhyDYqNix2YbYp9mF2Ycg2YbZiNuM2LPYp9mGINiv24zar9ixINmF2KfamNmI2YQg2YfYpyDYt9ix2KfYrduMINi02K/Zh9iMINiv2LEg2b7Yp9uM24zZhiDZhdinICDbjNqpINmF2KvYp9mEINmIINuM2qkg2qnYp9ix2KjYsdivINin2LIg2qnYqtin2KjYrtin2YbZhyDZhduM2KfZhtis24wg2YfYpyDYr9in2LHbjNmFLtis2YfYqiDYp9i32YTYp9i52KfYqiDYqNuM2LTYqtixINmF24wg2KrZiNin2YbbjNivINin2LIg2YXYs9iq2YbYr9in2KogUEhQTWFpbGVyINin2LPYqtmB2KfYr9mHINmG2YXYp9uM24zYry48L3A+DQo8aDM+24zaqSDZhdir2KfZhDwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKFwmIzAzOTtDTVNNYWlsZXJcJiMwMzk7KTsNCiAgJGNtc21haWxlci0+QWRkQWRkcmVzcyhcJiMwMzk7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbVwmIzAzOTssXCYjMDM5O2NhbGd1eVwmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KFwmIzAzOTsmYW1wO2x0O2g0JmFtcDtndDtUaGlzIGlzIGEgdGVzdCBtZXNzYWdlJmFtcDtsdDsvaDQmYW1wO2d0O1wmIzAzOTspOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoXCYjMDM5O1Rlc3QgbWVzc2FnZVwmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZW5kKCk7DQo8L3ByZT4NCjxoMz7ZhduM2KfZhtis24wg2YfYpyhBUEkpPC9oMz4NCjx1bD4NCjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPg0KPHA+UmVzZXQgdGhlIG9iamVjdCBiYWNrIHRvIHRoZSB2YWx1ZXMgc3BlY2lmaWVkIGluIHRoZSBhZG1pbiBwYW5lbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEFsdEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDaGFyU2V0KCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogaXNvLTg4NTktMTwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q2hhclNldCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb25maXJtUmVhZGluZ1RvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhZGRyZXNzIGNvbmZpcm1lZCByZWFkaW5nIGVtYWlsIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29uZmlybVJlYWRpbmdUbyggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgb3IgdW5zZXQgdGhlIGNvbmZpcm0gcmVhZGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiB0ZXh0L3BsYWluPC9wPg0KPHA+UmV0dXJuIHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5TZXQgdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVuY29kaW5nKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBlbmNvZGluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRFbmNvZGluZyggJGVuY29kaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBlbmNvZGluZzwvcD4NCjxwPk9wdGlvbnMgYXJlOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlJldHVybiBhbnkgZXJyb3IgaW5mb3JtYXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RnJvbSggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIZWxvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBIRUxPIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8cD5EZWZhdWx0IHZhbHVlOiAkaG9zdG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBTTVRQcyBob3N0IHNlcGFyYXRlZCBieSBzZW1pY29sb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldE1haWxlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyLCBlaXRoZXIgc2VuZG1haWwsbWFpbCwgb3Igc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFBhc3N3b3JkKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBhc3N3b3JkKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UG9ydCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcG9ydCBudW1iZXIgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgcG9ydCBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8cD5WYWx1ZXMgYXJlIDE9SGlnaCwgMyA9IE5vcm1hbCwgNSA9IExvdzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZGVyIGVtYWlsIChyZXR1cm4gcGF0aCkgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRlciggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRlciBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kbWFpbCggJHBhdGggKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEF1dGgoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQQXV0aCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBEZWJ1ZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0VGltZW91dCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFdvcmRXcmFwKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9IFwmIzAzOTtcJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gXCYjMDM5O1wmIzAzOTssICRlbmNvZGluZyA9IFwmIzAzOTtiYXNlNjRcJiMwMzk7LCAkdHlwZSA9IFwmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSBcJiMwMzk7XCYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIEJDQ1wmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSBcJiMwMzk7XCYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIENDXCYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPg0KPHA+QWRkIGEgY3VzdG9tIGhlYWRlciB0byB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9IFwmIzAzOTtcJiMwMzk7LCAkZW5jb2RpbmcgPSBcJiMwMzk7YmFzZTY0XCYjMDM5OywgJHR5cGUgPSBcJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9IFwmIzAzOTtcJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSBcJiMwMzk7YmFzZTY0XCYjMDM5OywgJHR5cGUgPSBcJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWRkcmVzc2VzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIHJlY2lwaWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQXR0YWNobWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYXR0YWNobWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBCQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBjdXN0b20gaGVhZGVyczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+Q2xlYXIgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4NCjxwPkNoZWNrIGZvciBhbiBlcnJvciBjb25kaXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNIVE1MKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgaHRtbCBmbGFnPC9wPg0KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9IFwmIzAzOTtcJiMwMzk7ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+DQo8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPVwmIzAzOTtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnXCYjMDM5Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPVwmIzAzOTtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmdcJiMwMzk7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPVwmIzAzOTtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXNcJiMwMzk7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9XCYjMDM5O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tXCYjMDM5Oz4mYW1wO2x0O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPVwmIzAzOTtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUExcJiMwMzk7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTI2MjA2MTYzLjEzMzk0OTA0OTYuMTMzOTQ5MDQ5Ni4xMzM5NDkwNDk2LjEnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzM5NDkwNDk2LjEuMS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fa_IR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnVGhpcyB0ZXN0IGlzIGdlbmVyYXRlZCBvbiBhbiBpbmZyZXF1ZW50IGJhc2lzLiAgSXQgbWF5IHRha2Ugc29tZSB0aW1lIGZvciBpdCB0byBnbyBhd2F5JzsKJGxhbmdbJ25vbmUnXSA9ICfZh9mK2oYnOwokbGFuZ1snc3NsJ10gPSAnU1NMINit2KfZhNiqINin2YXZhic7CiRsYW5nWyd0bHMnXSA9ICdUTFMg2K3Yp9mE2Kog2KfZhdmGJzsKJGxhbmdbJ3NlY3VyZSddID0gJ9mF2qnYp9mG24zYstmFINix2YXYstqv2LDYp9ix24wnOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICfZgdmC2Lcg2YXZhtin2LPYqCDYqNinINix2YjYtCBTTVRQINmF2Yog2KjYp9i02K/YjNin2YrZhiDar9iy2YrZhtmHINin2KzYp9iy2Ycg2KrYudmK2YrZhiDZhdmD2KfZhtmK2LLZhSDYsdmF2LLar9iw2KfYsdmKINmH2KfZiiDZhdiu2KrZhNmBINis2YfYqiDYp9iq2LXYp9mEINix2Kcg2YXZitiv2YfYryc7CiRsYW5nWydpbmZvX2Ntc21haWxlciddID0gJ9in24zZhiDZhdin2pjZiNmEINis2YfYqiDYqtiz2LHbjNi5INiv2LEg2KfZhdixINin2LHYs9in2YQg2KfbjNmF24zZhCDYqNiz24zYp9ix24wg2KfYsiDZhdin2pjZiNmEINmH2KfbjCDYr9uM2q/YsSDYp9iz2KrZgdin2K/ZhyDZhduM2q/Ysdiv2K8u2KfbjNmGINmF2KfamNmI2YQg2KjYp9uM2K8g2KjYr9ix2LPYqtuMINmIINmF2KrZhtin2LPYqCDYqNinINmH2KfYs9iqINi02YXYpyDYqtmG2LjbjNmFINqv2LHYr9ivLiDZhNi32YHYp9mLINin2LIg2KfYt9mE2KfYudin2Kog2YXZh9uM2Kcg2LTYr9mHINiq2YjYs9i3INmF24zYstio2KfZhiDYrNmH2Kog2KrZhti424zZhdin2Kog2KfYs9iq2YHYp9iv2Ycg2YbZhdin24zbjNivLtin2q/YsSDYtNmF2Kcg2YbZhduMINiq2YjYp9mG24zYryDZvtuM2LrYp9mFINii2LLZhdin24zYtNuMINix2Kcg2KjYtdmI2LHYqiDYsdin2qnYryDYrNmH2Kog2KfYsdiz2KfZhCDYtdit24zYrSDZhtqv2Ycg2K/Yp9ix24zYr9iMINmF24wg2KrZiNin2YbbjNivINis2YfYqiDYsdin2YfZhtmF2KfbjNuMINio2Kcg2YXbjNiy2KjYp9mGINiq2YXYp9izINit2KfYtdmEINmG2YXYp9uM24zYry4nOwokbGFuZ1snY2hhcnNldCddID0gJ9iq2YbYuNuM2YUg2qnYp9ix2Kfaqdiq2LEnOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ9in24zZhiDYp9mF2qnYp9mGINmF24wg2KrZiNin2YbYryDbjNqpICZkaXZpZGU724zYutin2YUg2KLYstmF2KfbjNi024wg2KjZhyDYotiv2LHYsyDZhdi02K7YtSDYtNiv2Ycg2KfYsdiz2KfZhCDZhtmF2KfbjNivLtin2q/YsSDYp9ix2LPYp9mEINmF2YjZgdmC24zYqiDYotmF24zYsiDYqNmI2K/YjCDYtNmF2Kcg2YXbjNiq2YjYp9mG24zYryDYqNmHINin24zZhiDYtdmB2K3ZhyDZhdis2K/Yr9inINio2KfYsiDar9ix2K/bjNivLtii24zYpyDZhduM2K7ZiNin2YfbjNivINin2K/Yp9mF2Ycg2K/Zh9uM2K/Ynyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICfYotuM2Kcg2YXZgtin2K/bjNixINmB2LnZhNuMINio2LHYp9uMINiq2YbYuNuM2YXYp9iqINin2LHYs9in2YQg2KfbjNmF24zZhCDYsNiu24zYsdmHINi02YjYryDYnyc7CiRsYW5nWyd0ZXN0c3ViamVjdCddID0gJ9m+24zYutin2YUg2KLYstmF2KfbjNi0INin2LHYs9in2YQg2KfbjNmF24zZhCc7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ9in24zZhiDZvtuM2LrYp9mFINiq2YbZh9inINis2YfYqiDYqtin24zbjNivINmF2LnYqtio2LEg2KjZiNiv2YYg2KrZhti424zZhdin2Kog2YXYsdio2YjYtyDYqNmHINmF2KfamNmI2YQg2KfYsdiz2KfZhCDYp9uM2YXbjNmEINmF24wg2KjYp9i02K8uDQou2Kfar9ixINi02YXYpyDYp9uM2YYg2LHYpyDYr9ix24zYp9mB2Kog2qnYsdiv24zYr9iMINmH2YXZhyDahtuM2LIg2KjYr9ix2LPYqtuMINqp2KfYsSDZhduM2qnZhtivJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICfYrti32KcgOiDYotiv2LHYsyDYotiy2YXYp9uM2LTbjCDYqti52YrZitmGINmG2LTYr9mHINin2LPYqic7CiRsYW5nWydwcm9tcHRfdGVzdGFkZHJlc3MnXSA9ICfYotiy2YXYp9uM2LQg2KLYr9ix2LMg2b7Ys9iqINin2YTaqdiq2LHZiNmG24zaqSc7CiRsYW5nWydzZW5kdGVzdCddID0gJ9in2LHYs9in2YQg2b7Zitin2YUg2KLYstmF2KfZiti024wnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICfYsdmF2LLYudio2YjYsSc7CiRsYW5nWyd1c2VybmFtZSddID0gJ9i02YbYp9iz2Ycg2qnYp9ix2KjYsduMJzsKJGxhbmdbJ3NtdHBhdXRoJ10gPSAn2KrYtdiv24zZgiBTTVRQJzsKJGxhbmdbJ21haWxlciddID0gJ9ix2YjYtCDZh9in24wg2YXbjNmE2LEnOwokbGFuZ1snaG9zdCddID0gJ9mG2KfZhSDZhduM2LLYqNin2YYgU01UUDxici8+PGk+KNuM2Kcg2KLYr9ix2LMgSVApPC9pPic7CiRsYW5nWydwb3J0J10gPSAn2K/Ysdqv2KfZhyDZhduM2LLYqNin2YYgU01UUCc7CiRsYW5nWydmcm9tJ10gPSAn2KfYsiDYotiv2LHYsyc7CiRsYW5nWydmcm9tdXNlciddID0gJ9in2LIg2LTZhtin2LPZhyDaqdin2LHYqNix24wnOwokbGFuZ1snc2VuZG1haWwnXSA9ICfZvtmI2LTZhyDZhdit2YQg2KfYsdiz2KfZhCDZhtin2YXZhyc7CiRsYW5nWyd0aW1lb3V0J10gPSAn2YjZgtmB2Ycg2KfYsdiz2KfZhCBTTVRQJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ9in2LHYs9in2YQnOwokbGFuZ1snY2FuY2VsJ10gPSAn2YTYutmIJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAn2LHZiNi0INmF24zZhCDYrNmH2Kog2KfYs9iq2YHYp9iv2YcgKHNlbmRtYWlsLCBzbXRwLCBtYWlsKSAu2YXYudmF2YjZhNin2YsgU01UUCDZhdi32YXYptmGINiq2LEg2YXbjCDYqNin2LTYry4gJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ9ix2YjYtCBTTVRQICjYqtmG2YfYpyDYqNix2KfbjCDYsdmI2LQg2KfYsdiz2KfZhCDYp9iyIFNNVFAg2YXZiNix2K8g2YLYqNmI2YQg2YXbjNio2KfYtNivKSc7CiRsYW5nWydpbmZvX3BvcnQnXSA9ICfYr9ix2q/Yp9mHIFNNVFAgKNmF2LnZhdmI2YTYpyAyNSkgKNiq2YbZh9inINio2LHYp9uMINix2YjYtCDYp9ix2LPYp9mEINin2LIgU01UUCDZhdmI2LHYryDZgtio2YjZhCDYp9iz2KopJzsKJGxhbmdbJ2luZm9fZnJvbSddID0gJ9ii2K/YsdizINis2YfYqiDYp9ix2LPYp9mEINio2LHYp9uMINiq2YXYp9mF24wg2KfbjNmF24zZhCDZh9inLiAgPGJyLz48c3Ryb25nPtmF2KrZhjwvc3Ryb25nPiwg2KfbjNmGINii2K/YsdizINin24zZhduM2YQg2KjYp9uM2K8g2KjYr9ix2LPYqtuMINio2LHYp9uMINmF24zYstio2KfZhiDYqtmG2LjbjNmFINi02YjYryDYjCDYr9ix2LrbjNixINin24zZhti12YjYsdiqINmF2LTaqdmE2KfYqtuMINis2YfYqiDYp9ix2LPYp9mEINin24zZhduM2YQg2K7ZiNin2YfbjNivINiv2KfYtNiqLjxici8+INin2q/YsSDYtNmF2Kcg2KfYsiDZhdmC2KfYr9uM2LEg2LXYrduM2K0g2KzZh9iqINin24zZhiDYqtmG2LjbjNmF2KfYqiDYp9i32YTYp9i5INmG2K/Yp9ix24zYr9iMINi02YXYpyDYqNin24zYryDYqNinINmF24zYstio2KfZhiDYqtmF2KfYsyDYrdin2LXZhCDZhtmF2KfbjNuM2K8uJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICfZhtin2YXbjCDYr9mI2LPYqtin2YbZhyDYrNmH2Kog2KfYsdiz2KfZhCDYqNix2KfbjCDYqtmF2KfZhduMINin24zZhduM2YQg2YfYpyc7CiRsYW5nWydpbmZvX3NlbmRtYWlsJ10gPSAn2YXYs9uM2LEg2qnYp9mF2YQg2KzZh9iqINin2KzYsdin24wg2KfYsdiz2KfZhCDZhduM2YQgICjYqtmG2YfYpyDYqNix2KfbjCDYsdmI2LQg2KfYsdiz2KfZhCDYp9iyIFNNVFAg2YXZiNix2K8g2YLYqNmI2YQg2YXbjNio2KfYtNivKSc7CiRsYW5nWydpbmZvX3RpbWVvdXQnXSA9ICcg2YXbjNiy2KfZhiDZiNmC2YHZhyDYqNix2K3Ys9ioINir2KfZhtuM2Ycg2K/YsSDZh9mG2q/Yp9mFINix2K7Yr9in2K8g2K7Yt9inIFNNVFAgICjYqtmG2YfYpyDYqNix2KfbjCDYsdmI2LQg2KfYsdiz2KfZhCDYp9iyIFNNVFAg2YXZiNix2K8g2YLYqNmI2YQg2YXbjNio2KfYtNivKSc7CiRsYW5nWydpbmZvX3NtdHBhdXRoJ10gPSAn2KrYtdiv24zZgiDYr9ix2K7ZiNin2LPYqiBTTVRQINi02YXYpyDYr9ixINmH2Ybar9in2YUg2K/Ysdiu2YjYp9iz2KogICjYqtmG2YfYpyDYqNix2KfbjCDYsdmI2LQg2KfYsdiz2KfZhCDYp9iyIFNNVFAg2YXZiNix2K8g2YLYqNmI2YQg2YXbjNio2KfYtNivKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAn2KrYtdiv24zZgiDYtNmG2KfYs9mHINqp2KfYsdio2LHbjCBTTVRQICAo2KrZhtmH2Kcg2KjYsdin24wg2LHZiNi0INin2LHYs9in2YQg2KfYsiBTTVRQINmF2YjYsdivINmC2KjZiNmEINmF24zYqNin2LTYryknOwokbGFuZ1snaW5mb19wYXNzd29yZCddID0gJ9iq2LXYr9uM2YIg2LHZhdiyINi52KjZiNixIFNNVFAgICjYqtmG2YfYpyDYqNix2KfbjCDYsdmI2LQg2KfYsdiz2KfZhCDYp9iyIFNNVFAg2YXZiNix2K8g2YLYqNmI2YQg2YXbjNio2KfYtNivKSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICfYs9in2YXYp9mG2Ycg2KfYsdiz2KfZhCDYp9uM2YXbjNmEJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAn2LPYp9mF2KfZhtmHINin2LHYs9in2YQg2KfbjNmF24zZhCDYqNiv2LHYs9iq24wg2YbYtdioINi02K8nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ9iz2KfZhdin2YbZhyDYp9ix2LPYp9mEINin24zZhduM2YQg2KjYr9ix2LPYqtuMINit2LDZgSDYtNivLi4u2YXYqtin2LPZgduM2YUg2qnZhyDYr9uM2q/ZhyDYtNmF2Kcg2LHZiCDZhtmF24zYqNuM2YbbjNmFLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ9mF2KfamNmI2YQg2K3YsNmBINi02K/ZhyDYp9iz2KouJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJyDZhtiz2K7ZhyDZhdin2pjZiNmEINmG2LXYqCDYtNiv2YcgJXMg2YXbjCDYqNin2LTYry4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAn2K/Ys9iq2LHYs9uMINio2Ycg2KfbjNmGINio2K7YtCDZhdmC2K/YsSDZhtmF24wg2KjYp9i02K8u2YTYt9mB2Kcg2K/Ys9iq2LHYs9uMINiu2YjYryDYsdinINio2LHYsdiz24wg2YbZhdin24zbjNivLic7CiRsYW5nWydlcnJvciddID0gJ9iu2LfYpyEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICfZhdin2pjZiNmEINio2Ycg2YbYs9iu2YcgJXMg2KjYsdmI2LLYsdiz2KfZhtuMINi02K8gISc7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICfYp9mI2YTZiNuM2Kog2YfYp9uMINmF2KfamNmI2YQnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAn2KjYrti0INmF2K/bjNix24zYqtuMINmF2KfamNmI2YQnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICfZhdin2pjZiNmEINiz2KfZhdin2YbZhyDYp9ix2LPYp9mEINin24zZhduM2YQnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICfYp9uM2YYg2YXYp9qY2YjZhCDYqNix2q/YsdmB2KrZhyDYp9iyIFBIUE1haWxlciDZhduM2KjYp9i02K/YjCDYp9uM2YYg2YXYp9qY2YjZhCDZhduM2KfZhtis24wo2KrZiNin2KjYuSDYqNix2KfbjCDYqtmI2KfYqNi5KdmIINmI2KfYs9i3INqp2KfYsdio2LHbjCDZhdi02KfYqNmH24wg2KjYsdin24wg2KjbjNi02KrYsSDZvtuM2LTZgdix2LYg2YfYpyDYr9in2LHYpyDZhduMINio2KfYtNivLiAnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS43My4xLiBPY3RvYmVyLCAyMDA1LiBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHRoZSBhZG1pbiBwYW5lbC4gIFRoZSBkcm9wZG93biB3YXMgbm90IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSBwcmVmZXJlbmNlcyBkYXRhYmFzZTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjMuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCBzZW5kaW5nIGh0bWwgZW1haWw8L2xpPg0KPGxpPlZlcnNpb24gMS43My40LiBOb3ZlbWJlciwgMjAwNS4gRm9ybSBmaWVsZHMgaW4gcHJlZmVyZW5jZXMgYXJlIGxhcmdlciwgZml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIGZyb211c2VyLCBhbmQgY2FsbGVkIHJlc2V0IHdpdGhpbiB0aGUgY29uc3RydWN0b3I8L2xpPg0KPGxpPlZlcnNpb24gMS43My41LiBOb3ZlbWJlciwgMjAwNS4gQWRkZWQgdGhlIGZvcm0gZmllbGRzIGFuZCBmdW5jdGlvbmFsaXR5IGZvciBTTVRQIGF1dGhlbnRpY2F0aW9uLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjYuIERlY2VtYmVyLCAyMDA1LiBEZWZhdWx0IG1haWxlciBtZXRob2QgaXMgU01UUCBvbiBpbnN0YWxsLCBhbmQgaW1wcm92ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIG5vdyBJIGNsZWFyIGFsbCB0aGUgYXR0YWNobWVudHMsIGFuZCBhZGRyZXNzZXMsIGV0Yy4gb24gcmVzZXQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNy4gSmFudWFyeSwgMjAwNi4gSW5jcmVhc2VkIGZpZWxkIGxlbmd0aHMgaW4gbW9zdCBmaWVsZHM8L2xpPg0KPGxpPlZlcnNpb24gMS43My44LiBKYW51YXJ5LCAyMDA2LiBDaGFuZ2VkIHRoZSBwcmVmZXJlbmNlcyBwYW5lbCB0byBiZSBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjkuIEphbnVhcnksIDIwMDYuIEFkZGVkIHRlc3QgZW1haWwgY2FwYWJpbGl0eSwgYW5kIGNvbmZpcm1hdGlvbiBvbiBlYWNoIGJ1dHRvbiAoZXhjZXB0IGNhbmNlbCk8L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMC4gQXVndXN0LCAyMDA2LiBNb2RpZmllZCB0byB1c2UgbGF6eSBsb2FkaW5nIHRvIG1pbmltaXplIG1lbW9yeSBmb290cHJpbnQgd2hlbiBDTVNNYWlsZXIgaXMgbm90IGJlaW5nIHVzZWQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTMuIEphbnVhcnksIDIwMDguICBBZGRlZCBtb3JlIHBlcm1pc3Npb25zIGNoZWNrcy48L2xpPg0KPGxpPlZlcnNpb24gMi4wLjEgLSBKYW51YXJ5LCAyMDExIC0gUmVtb3ZlIGNhbmNlbCBidXR0b24uPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+2obYt9mI2LEg2qnYp9ixINiu2YjYp9mH2K8g2qnYsdiv2J88L2gzPg0KPHA+2KfbjNmGINmF2KfamNmI2YQg2KzZh9iqINio2YfYsdmHINmF2YbYr9uMINmG2KfZhdit2K/ZiNivINqp2KfYsdio2LHYp9mGINmF24wg2KjYp9i02K8u2KfbjNmGINmF2KfamNmI2YQg2KzZh9iqINio2YfYsdmHINqv24zYsduMINiv2LHYp9mF2qnYp9mGINin2LHYs9in2YQg2KfbjNmF24zZhCDYqtmI2LPYtyDYs9in24zYsSDZhdin2pjZiNmEINmH2Kcg2YXbjNio2KfYtNivIC4g2YbZhyDahtuM2LIg2KjbjNi02KrYsS4gPC9wPg0KPGgzPtqG2LfZiNixINin2LIg2KfbjNmGINin2LPYqtmB2KfYr9mHINqp2YbbjNmFPC9oMz4NCjxwPtin24zZhiDZhdin2pjZiNmEINin2LIg2KrZhdin2YXbjCDYqtmI2KfYqNi5INmIINix2YjbjNiv2KfYryDZh9in24wgUEhQTWFpbGVyINio2YfYsdmHINqv2LHZgdiq2Ycg2KfYs9iqLtin24zZhiDZhdin2pjZiNmEINis2YfYqiDYp9iz2KrZgdin2K/ZhyDYqNix2YbYp9mF2Ycg2YbZiNuM2LPYp9mGINiv24zar9ixINmF2KfamNmI2YQg2YfYpyDYt9ix2KfYrduMINi02K/Zh9iMINiv2LEg2b7Yp9uM24zZhiDZhdinICDbjNqpINmF2KvYp9mEINmIINuM2qkg2qnYp9ix2KjYsdivINin2LIg2qnYqtin2KjYrtin2YbZhyDZhduM2KfZhtis24wg2YfYpyDYr9in2LHbjNmFLtis2YfYqiDYp9i32YTYp9i52KfYqiDYqNuM2LTYqtixINmF24wg2KrZiNin2YbbjNivINin2LIg2YXYs9iq2YbYr9in2KogUEhQTWFpbGVyINin2LPYqtmB2KfYr9mHINmG2YXYp9uM24zYry48L3A+DQo8aDM+24zaqSDZhdir2KfZhDwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKFwmIzAzOTtDTVNNYWlsZXJcJiMwMzk7KTsNCiAgJGNtc21haWxlci0+QWRkQWRkcmVzcyhcJiMwMzk7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbVwmIzAzOTssXCYjMDM5O2NhbGd1eVwmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KFwmIzAzOTsmYW1wO2x0O2g0JmFtcDtndDtUaGlzIGlzIGEgdGVzdCBtZXNzYWdlJmFtcDtsdDsvaDQmYW1wO2d0O1wmIzAzOTspOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoXCYjMDM5O1Rlc3QgbWVzc2FnZVwmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZW5kKCk7DQo8L3ByZT4NCjxoMz7ZhduM2KfZhtis24wg2YfYpyhBUEkpPC9oMz4NCjx1bD4NCjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPg0KPHA+UmVzZXQgdGhlIG9iamVjdCBiYWNrIHRvIHRoZSB2YWx1ZXMgc3BlY2lmaWVkIGluIHRoZSBhZG1pbiBwYW5lbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEFsdEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDaGFyU2V0KCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogaXNvLTg4NTktMTwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q2hhclNldCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb25maXJtUmVhZGluZ1RvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhZGRyZXNzIGNvbmZpcm1lZCByZWFkaW5nIGVtYWlsIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29uZmlybVJlYWRpbmdUbyggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgb3IgdW5zZXQgdGhlIGNvbmZpcm0gcmVhZGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiB0ZXh0L3BsYWluPC9wPg0KPHA+UmV0dXJuIHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5TZXQgdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVuY29kaW5nKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBlbmNvZGluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRFbmNvZGluZyggJGVuY29kaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBlbmNvZGluZzwvcD4NCjxwPk9wdGlvbnMgYXJlOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlJldHVybiBhbnkgZXJyb3IgaW5mb3JtYXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RnJvbSggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIZWxvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBIRUxPIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8cD5EZWZhdWx0IHZhbHVlOiAkaG9zdG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBTTVRQcyBob3N0IHNlcGFyYXRlZCBieSBzZW1pY29sb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldE1haWxlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyLCBlaXRoZXIgc2VuZG1haWwsbWFpbCwgb3Igc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFBhc3N3b3JkKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBhc3N3b3JkKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UG9ydCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcG9ydCBudW1iZXIgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgcG9ydCBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8cD5WYWx1ZXMgYXJlIDE9SGlnaCwgMyA9IE5vcm1hbCwgNSA9IExvdzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZGVyIGVtYWlsIChyZXR1cm4gcGF0aCkgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRlciggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRlciBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kbWFpbCggJHBhdGggKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEF1dGgoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQQXV0aCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBEZWJ1ZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0VGltZW91dCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFdvcmRXcmFwKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9IFwmIzAzOTtcJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gXCYjMDM5O1wmIzAzOTssICRlbmNvZGluZyA9IFwmIzAzOTtiYXNlNjRcJiMwMzk7LCAkdHlwZSA9IFwmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSBcJiMwMzk7XCYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIEJDQ1wmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSBcJiMwMzk7XCYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIENDXCYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPg0KPHA+QWRkIGEgY3VzdG9tIGhlYWRlciB0byB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9IFwmIzAzOTtcJiMwMzk7LCAkZW5jb2RpbmcgPSBcJiMwMzk7YmFzZTY0XCYjMDM5OywgJHR5cGUgPSBcJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9IFwmIzAzOTtcJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSBcJiMwMzk7YmFzZTY0XCYjMDM5OywgJHR5cGUgPSBcJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWRkcmVzc2VzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIHJlY2lwaWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQXR0YWNobWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYXR0YWNobWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBCQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBjdXN0b20gaGVhZGVyczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+Q2xlYXIgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4NCjxwPkNoZWNrIGZvciBhbiBlcnJvciBjb25kaXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNIVE1MKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgaHRtbCBmbGFnPC9wPg0KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9IFwmIzAzOTtcJiMwMzk7ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+DQo8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPVwmIzAzOTtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnXCYjMDM5Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPVwmIzAzOTtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmdcJiMwMzk7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPVwmIzAzOTtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXNcJiMwMzk7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9XCYjMDM5O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tXCYjMDM5Oz4mYW1wO2x0O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPVwmIzAzOTtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUExcJiMwMzk7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTI2MjA2MTYzLjEzMzk0OTA0OTYuMTMzOTQ5MDQ5Ni4xMzM5NDkwNDk2LjEnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzM5NDkwNDk2LjEuMS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ25vbmUnXSA9ICdFaSBtaXQmYXVtbDsmYXVtbDtuJzsKJGxhbmdbJ3NzbCddID0gJ1NTTCc7CiRsYW5nWyd0bHMnXSA9ICdUTFMnOwokbGFuZ1snc2VjdXJlJ10gPSAnU2FsYXVzbWVrYW5pc21pJzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAnS29za2VlIGFpbm9hc3RhYW4gU01UUC1sJmF1bWw7aGV0eXN0JmF1bWw7LCBqb2thIHNhbGxpaSBlcmkgc2FsYXVzbWVrYW5pc21pZW4gayZhdW1sO3l0dCZhdW1sO21pc2VuIHlodGV5ZGVsbGUnOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICdUJmF1bWw7dCZhdW1sOyBtb2R1dWxpYSBrJmF1bWw7eXR0JmF1bWw7diZhdW1sO3QgbHVrZW1hdHRvbWF0IG11dXQgbW9kdXVsaXQgcyZhdW1sO2hrJm91bWw7cG9zdGllbiBsJmF1bWw7aGV0dCZhdW1sO21pc2Vlbi4gU2UgdCZhdW1sO3l0eXkga29uZmlndXJvaWRhIG9pa2VpbiBwYWx2ZWx1bnRhcmpvYWphc2kgdmFhdGltdXN0ZW4gbXVrYWlzZXN0aS4gT2xlIGh5diZhdW1sOyBqYSBrJmF1bWw7eXQmYXVtbDsgcGFsdmVsdW50YXJqb2FqYXNpIHRhcmpvYW1pYSB0aWV0b2phIG4mYXVtbDtpZGVuIGFzZXR1c3RlbiBzJmF1bWw7JmF1bWw7dCZhdW1sO21pc2Vrc2kuIEpvcyBldCB2aWVsJmF1bWw7ayZhdW1sOyZhdW1sO24gc2FhIHRlc3Rpdmllc3RpJmF1bWw7IGwmYXVtbDtodGVtJmF1bWw7JmF1bWw7biBvbm5pc3R1bmVlc3RpLCBvdGEgeWh0ZXl0dCZhdW1sOyBwYWx2ZWx1bnRhcmpvYWphYXNpLic7CiRsYW5nWydjaGFyc2V0J10gPSAnTWVya2lzdCZvdW1sOyc7CiRsYW5nWydzZW5kdGVzdG1haWxjb25maXJtJ10gPSAnVCZhdW1sO20mYXVtbDsgbCZhdW1sO2hldHQmYXVtbDsmYXVtbDsgdGVzdGl2aWVzdGluIG0mYXVtbDsmYXVtbDtyaXR0JmF1bWw7bSZhdW1sOyZhdW1sO3NpIG9zb2l0dGVlc2Vlbi4gTWlrJmF1bWw7bGkgbCZhdW1sO2hldHQmYXVtbDttaW5lbiBvbm5pc3R1dSwgb2hqYXVkdXQgdGFrYWlzaW4gdCZhdW1sO2xsZSBzaXZ1bGxlLiBIYWx1YXRrbyBqYXRrYWE/JzsKJGxhbmdbJ3NldHRpbmdzY29uZmlybSddID0gJ1RhbGxlbm5hdGtvIG55a3lpc2V0IGFydm90IENNU01haWxlcmluIGFzZXR1a3Npa3NpPyc7CiRsYW5nWyd0ZXN0c3ViamVjdCddID0gJ0NNU01haWxlcmluIHRlc3Rpdmllc3RpJzsKJGxhbmdbJ3Rlc3Rib2R5J10gPSAnVCZhdW1sO20mYXVtbDtuIHZpZXN0aW4gdGFya29pdHVzIG9uIHZhcm1pc3RhYSBDTVNNYWlsZXItbW9kdXVsaW4gYXNldHVzdGVuIHRvaW1pdnV1cy4NCkpvcyBzYWF0IHQmYXVtbDttJmF1bWw7biB2aWVzdGluLCBuaWluIGthaWtraSB0b2ltaWkgb2lrZWluLic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAnVmlyaGU6IFRlc3Rpb3NvaXRldHRhIGVpIG9sZSBhbm5ldHR1JzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ1MmYXVtbDtoayZvdW1sO3Bvc3Rpb3NvaXRlIHRlc3Rpdmllc3RpbGxlJzsKJGxhbmdbJ3NlbmR0ZXN0J10gPSAnTCZhdW1sO2hldCZhdW1sOyB0ZXN0aXZpZXN0aSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1NhbGFzYW5hJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMnOwokbGFuZ1snc210cGF1dGgnXSA9ICdTTVRQLXR1bm5pc3R1cyc7CiRsYW5nWydtYWlsZXInXSA9ICdQb3N0aXR1c3RhcGEnOwokbGFuZ1snaG9zdCddID0gJ1NNVFAtcGFsdmVsaW1lbiBuaW1pPGJyLz48aT4odGFpIElQLW9zb2l0ZSk8L2k+JzsKJGxhbmdbJ3BvcnQnXSA9ICdTTVRQLXBhbHZlbGltZW4gcG9ydHRpJzsKJGxhbmdbJ2Zyb20nXSA9ICdMJmF1bWw7aGV0dCZhdW1sO2omYXVtbDtuIG9zb2l0ZSc7CiRsYW5nWydmcm9tdXNlciddID0gJ0wmYXVtbDtoZXR0JmF1bWw7aiZhdW1sO24gbmltaSc7CiRsYW5nWydzZW5kbWFpbCddID0gJ1NlbmRtYWlsaW4gc2lqYWludGknOwokbGFuZ1sndGltZW91dCddID0gJ1NNVFA6biBhaWtha2F0a2Fpc3UnOwokbGFuZ1snc3VibWl0J10gPSAnTCZhdW1sO2hldCZhdW1sOyc7CiRsYW5nWydjYW5jZWwnXSA9ICdQZXJ1dXRhJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnUG9zdGl0dXN0YXBhIChzZW5kbWFpbCwgc210cCwgbWFpbCkuICBZbGVlbnMmYXVtbDsgU01UUCBvbiBsdW90ZXR0YXZpbi4nOwokbGFuZ1snaW5mb19ob3N0J10gPSAnU01UUC1wYWx2ZWxpbWVuIG5pbWkgKHZhaW4gU01UUC1wb3N0aXR1c3RhdmFzc2EpJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ1NNVFAtcG9ydGluIG51bWVybyAoeWxlZW5zJmF1bWw7IDI1KSAodmFpbiBTTVRQLXBvc3RpdHVzdGF2YXNzYSknOwokbGFuZ1snaW5mb19mcm9tJ10gPSAnTCZhdW1sO2hldHQmYXVtbDtqJmF1bWw7biBvc29pdGUga2Fpa2lzc2EgcyZhdW1sO2hrJm91bWw7cG9zdGl2aWVzdGVpc3MmYXVtbDsuPGJyIC8+PHN0cm9uZz5IdW9tYWE8L3N0cm9uZz4sIHQmYXVtbDttJmF1bWw7IHMmYXVtbDtoayZvdW1sO3Bvc3Rpb3NvaXRlIHQmYXVtbDt5dHl5IGFzZXR0YWEgb2lrZWluIHBhbHZlbHVudGFyam9hamFsbGVzaSB0YWkgc2ludWxsYSB2b2kgb2xsYSBvbmdlbG1pYSBzJmF1bWw7aGsmb3VtbDtwb3N0aWVuIGwmYXVtbDtoZXR0JmF1bWw7bWlzZXNzJmF1bWw7LjxiciAvPkpvcyBldCB0aWVkJmF1bWw7IHQmYXVtbDttJmF1bWw7biBhc2V0dWtzZW4gYXJ2b2EsIHNpbnVuIHQmYXVtbDt5dHl5IHRvZGVubiZhdW1sO2smb3VtbDtpc2VzdGkgb3R0YWEgeWh0ZXl0dCZhdW1sOyBwYWx2ZWx1bnRhcmpvYWphYXNpLic7CiRsYW5nWydpbmZvX2Zyb211c2VyJ10gPSAnTCZhdW1sO2hldHQmYXVtbDtqJmF1bWw7biBuaW1pIGthaWtpc3NhIHZpZXN0ZWlzcyZhdW1sOyc7CiRsYW5nWydpbmZvX3NlbmRtYWlsJ10gPSAnVCZhdW1sO3lkZWxsaW5lbiBwb2xrdSBzZW5kbWFpbC1vaGplbG1hYW4gKHZhaW4gc2VuZG1haWwtcG9zdGl0dXN0YXZhc3NhKSc7CiRsYW5nWydpbmZvX3RpbWVvdXQnXSA9ICdBaWthIHNla3VudGVpbmEgZW5uZW4ga3VpbiB0YXBhaHR1dSB2aXJoZSBTTVRQLWtlc2t1c3RlbHVzc2EgKFNNVFAtcG9zdGl0dXN0YXZhc3NhKSc7CiRsYW5nWydpbmZvX3NtdHBhdXRoJ10gPSAnVmFhdGlpa28gU01UUC1wYWx2ZWxpbiBhdXRlbnRpa29pbm5pbiAodmFpbiBTTVRQLXBvc3RpdHVzdGF2YXNzYSknOwokbGFuZ1snaW5mb191c2VybmFtZSddID0gJ0smYXVtbDt5dHQmYXVtbDtqJmF1bWw7bmltaSBTTVRQLWF1dGVudGlrb2ludGlpbiAodmFpbiBTTVRQLXBvc3RpdHVzbWV0b2Rpc3NhIGt1biBhdXRlbnRpa29pbnRpIG9uIHZhbGl0dHVuYSknOwokbGFuZ1snaW5mb19wYXNzd29yZCddID0gJ1NhbGFzYW5hIFNNVFAtYXV0ZW50aWtvaW50aWluICh2YWluIFNNVFAgcG9zdGl0dXNtZXRvZGlzc2Ega3VuIGF1dGVudGlrb2ludGkgb24gdmFsaXR0dW5hKSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDTVNNYWlsZXItbW9kdXVsaSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NNU01haWxlci1tb2R1dWxpIG9uIGFzZW5uZXR0dSBvbm5pc3R1bmVlc3RpJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDTVNNYWlsZXItbW9kdXVsaSBwb2lzdGV0dHUnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1dWxpIHBvaXN0ZXR0dS4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdXVsaXZlcnNpbyAlcyBhc2VubmV0dHUuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1AmYXVtbDsmYXVtbDtzeSBlc3RldHR5LiBUYXJrYXN0YSBvaWtldWRldC4nOwokbGFuZ1snZXJyb3InXSA9ICdWaXJoZSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1dWxpIHAmYXVtbDtpdml0ZXR0eSB2ZXJzaW9vbiAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdXVsaW4gYXNldHVrc2V0JzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHV1bGluIGhhbGxpbnRhcGFuZWVsaSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0NNU01haWxlci1tb2R1dWxpJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVCZhdW1sO20mYXVtbDsgb24geWtzaW5rZXJ0YWluZW4gayZhdW1sOyZhdW1sO3Jlb2hqZWxtYSBQSFBNYWlsZXJpbiB5bXAmYXVtbDtyaWxsZS4gVCZhdW1sO3NzJmF1bWw7IG9uIHNhbWFubGFpbmVuIEFQSSAoZnVua3Rpb2tvaHRhaXNlc3RpKSBqYSB5a3NpbmtlcnRhaW5lbiBrJmF1bWw7eXR0Jm91bWw7bGlpdHR5bSZhdW1sOyBqb2lkZW5raW4gb2xldHVzdmFsaW50b2plbiBhc2V0dGFtaXNla3NpLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5UZXJ2ZXR1bG9hIENNU01haWxlci1tb2R1dWxpbiBoYWxsaW50YW9zaW9vbic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggdGhlIGFkbWluIHBhbmVsLiAgVGhlIGRyb3Bkb3duIHdhcyBub3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIHByZWZlcmVuY2VzIGRhdGFiYXNlPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBBZGRlZCB0aGUgZm9ybSBmaWVsZHMgYW5kIGZ1bmN0aW9uYWxpdHkgZm9yIFNNVFAgYXV0aGVudGljYXRpb24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJ5LCAyMDA2LiBJbmNyZWFzZWQgZmllbGQgbGVuZ3RocyBpbiBtb3N0IGZpZWxkczwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnVhcnksIDIwMDYuIENoYW5nZWQgdGhlIHByZWZlcmVuY2VzIHBhbmVsIHRvIGJlIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEwLiBBdWd1c3QsIDIwMDYuIE1vZGlmaWVkIHRvIHVzZSBsYXp5IGxvYWRpbmcgdG8gbWluaW1pemUgbWVtb3J5IGZvb3RwcmludCB3aGVuIENNU01haWxlciBpcyBub3QgYmVpbmcgdXNlZC48L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMy4gSmFudWFyeSwgMjAwOC4gIEFkZGVkIG1vcmUgcGVybWlzc2lvbnMgY2hlY2tzLjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMSAtIEphbnVhcnksIDIwMTEgLSBSZW1vdmUgY2FuY2VsIGJ1dHRvbi48L2xpPg0KPC91bD4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+TWl0JmF1bWw7IHQmYXVtbDttJmF1bWw7IG1vZHV1bGkgdGVrZWU/PC9oMz4NCjxwPlQmYXVtbDtsbCZhdW1sOyBtb2R1dWxpbGxhIGVpIG9sZSBvbGxlbmthYW4gcGVydXNrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gayZhdW1sO3l0dCZvdW1sO2xpaXR0eW0mYXVtbDsmYXVtbDsuIFQmYXVtbDttJmF1bWw7IG9uIHN1dW5uaXRlbHR1IGludGVncm9pdGF2YWtzaSBtdWloaW4gbW9kdXVsZWloaW4gcyZhdW1sO2hrJm91bWw7cG9zdGlvbWluYWlzdXVrc2llbiBsaXMmYXVtbDsmYXVtbDttaXNla3NpLjwvcD4NCjxoMz5LdWlua2Egc2l0JmF1bWw7IGsmYXVtbDt5dGV0JmF1bWw7JmF1bWw7bjwvaDM+DQo8cD5UJmF1bWw7bSZhdW1sOyBtb2R1dWxpIHRvaW1paSB5a3NpbmtlcnRhaXNlbmEgayZhdW1sOyZhdW1sO3JlZW4mYXVtbDsgcGhwbWFpbGVyaW4gbXV1dHR1amlsbGUgamEgbWV0b2RlaWxsZS4gTW9kdXVsaSBvbiB0YXJrb2l0ZXR0dSB0b2lzdGVuIG1vZHV1bGlrZWhpdHQmYXVtbDtqaWVuIGsmYXVtbDt5dGV0dCZhdW1sO3YmYXVtbDtrc2kuIEFsbGEgb24gZXNpbWVya2tpIGphIGx5aHl0IEFQSS1rdXZhdXMuIE1vZHV1bGluIG11a2FuYSB0b2ltaXRldGFhbiBQSFBNYWlsZXItZG9rdW1lbnRhYXRpbywgam9zdGEgc2FhIGxpcyZhdW1sO3RpZXRvamEuPC9wPg0KPGgzPkVzaW1lcmtraTwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCYjMDM5O0NNU01haWxlciYjMDM5Oyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJiMwMzk7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5OywmIzAzOTtjYWxndXkmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KCYjMDM5OzxoMT5UJmF1bWw7bSZhdW1sOyBvbiB0ZXN0aXZpZXN0aTxoMT4mIzAzOTspOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoJiMwMzk7VGVzdGl2aWVzdGkmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZW5kKCk7DQo8L3ByZT4NCjxoMz5BUEk8L2gzPg0KPHVsPg0KPGxpPjxwPjxiPnZvaWQgcmVzZXQoKTwvYj48L3A+DQo8cD5SZXNldCB0aGUgb2JqZWN0IGJhY2sgdG8gdGhlIHZhbHVlcyBzcGVjaWZpZWQgaW4gdGhlIGFkbWluIHBhbmVsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0QWx0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEFsdEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENoYXJTZXQoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiBpc28tODg1OS0xPC9wPg0KPHA+UmV0dXJuIHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDaGFyU2V0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbmZpcm1SZWFkaW5nVG8oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFkZHJlc3MgY29uZmlybWVkIHJlYWRpbmcgZW1haWwgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCBvciB1bnNldCB0aGUgY29uZmlybSByZWFkaW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IHRleHQvcGxhaW48L3A+DQo8cD5SZXR1cm4gdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPlNldCB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RW5jb2RpbmcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGVuY29kaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEVuY29kaW5nKCAkZW5jb2RpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGVuY29kaW5nPC9wPg0KPHA+T3B0aW9ucyBhcmU6IDhiaXQsIDdiaXQsIGJpbmFyeSwgYmFzZTY0LCBxdW90ZWQtcHJpbnRhYmxlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RXJyb3JJbmZvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIGFueSBlcnJvciBpbmZvcm1hdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb20oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRGcm9tKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb21OYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEZyb21OYW1lKCAkbmFtZSApPC9iPjwvcD4NCjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhlbG8oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIEhFTE8gc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRIZWxvKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBIRUxPIHN0cmluZzwvcD4NCjxwPkRlZmF1bHQgdmFsdWU6ICRob3N0bmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3QoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIFNNVFBzIGhvc3Qgc2VwYXJhdGVkIGJ5IHNlbWljb2xvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3ROYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdE5hbWUoICRob3N0bmFtZSApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtYWlsZXI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0TWFpbGVyKCAkbWFpbGVyICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtYWlsZXIsIGVpdGhlciBzZW5kbWFpbCxtYWlsLCBvciBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0UGFzc3dvcmQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UGFzc3dvcmQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQb3J0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwb3J0IG51bWJlciBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQb3J0KCAkaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwb3J0IGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UHJpb3JpdHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UHJpb3JpdHkoIGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjxwPlZhbHVlcyBhcmUgMT1IaWdoLCAzID0gTm9ybWFsLCA1ID0gTG93PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzZW5kZXIgZW1haWwgKHJldHVybiBwYXRoKSBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZGVyKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc2VuZGVyIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRtYWlsKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRtYWlsKCAkcGF0aCApPC9iPjwvcD4NCjxwPlNldCB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQQXV0aCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBBdXRoKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUERlYnVnKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNNVFBEZWJ1ZyggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQS2VlcEFsaXZlKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBLZWVwQWxpdmUoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFN1YmplY3QoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgc3ViamVjdCBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U3ViamVjdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc3ViamVjdCBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRUaW1lb3V0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB0aW1lb3V0IHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFRpbWVvdXQoICRzZWNvbmRzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSB0aW1lb3V0IHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0VXNlcm5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRVc2VybmFtZSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0V29yZFdyYXAoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFdvcmRXcmFwKCAkaW50ICk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQWRkcmVzcyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBCQ0MmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBDQyYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPg0KPHA+QWRkIGEgY3VzdG9tIGhlYWRlciB0byB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9ICYjMDM5OyYjMDM5OywgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIHJlcGx5IHRvIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFN0cmluZ0F0dGFjaG1lbnQoICRzdHJpbmcsICRmaWxlbmFtZSwgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWRkcmVzc2VzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIHJlY2lwaWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQXR0YWNobWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYXR0YWNobWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBCQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBjdXN0b20gaGVhZGVyczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+Q2xlYXIgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4NCjxwPkNoZWNrIGZvciBhbiBlcnJvciBjb25kaXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNIVE1MKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgaHRtbCBmbGFnPC9wPg0KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPlNldCB0aGUgY3VycmVudCBsYW5ndWFnZSBhbmQgPGVtPihvcHRpb25hbCk8L2VtPiBsYW5ndWFnZSBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TbXRwQ2xvc2UoKTwvYj48L3A+DQo8cD5DbG9zZSB0aGUgc210cCBjb25uZWN0aW9uPC9wPg0KPC9saT4NCjwvdWw+DQo8aDM+VHVraTwvaDM+DQo8cD5UJmF1bWw7bSZhdW1sO24gbW9kdXVsaW4gbXVrYW5hIGVpIHR1bGUga2F1cGFsbGlzdGEgdHVrZWEuIE11dXRhbWlzdGEgcGFpa29pc3RhIHZvaXQga3VpdGVua2luIHNhYWRhIGFwdWE6PC9wPg0KPHVsPg0KPGxpPlV1c2luIHZlcnNpbywgRkFRIGphIGJ1Z2lyYXBvcnRpbiBqJmF1bWw7dHQmYXVtbDttaW5lbiBzZWsmYXVtbDsga2F1cGFsbGlzZW4gdHVlbiBvc3RvbWFoZG9sbGlzdXVzIG92YXQgY2FsZ3V5biBrb3Rpc2l2dWxsYSBvc29pdHRlZXNzYSA8YSBocmVmPSZhbXA7cXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJmFtcDtxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+S2Vza3VzdGVsdWEgbW9kdXVsaXN0YSBvbiA8YSBocmVmPSZhbXA7cXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmYW1wO3F1b3Q7PkNNUyBNYWRlIFNpbXBsZSAtZm9vcnVtaWxsYTwvYT4uPC9saT4NCjxsaT5Nb2R1dWxpbiB0ZWtpaiZhdW1sOywgY2FsZ3V5MTAwMCBvbiB1c2VpbiB0YXZvaXRldHRhdmlzc2EgPGEgaHJlZj0mYW1wO3F1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJmFtcDtxdW90Oz5DTVMgSVJDLWthbmF2YWxsYTwvYT4uPC9saT4NCjxsaT5TYWF0YXQgbXkmb3VtbDtzIHNhYWRhIGpvbmtpbiB2ZXJyYW4gYXB1YSBtb2R1dWxpbiB0ZWtpaiZhdW1sO2x0JmF1bWw7IHMmYXVtbDtoayZvdW1sO3Bvc3RpdHNlLjwvbGk+ICANCjwvdWw+DQo8cD5HUEw6biBtdWthaXNlc3RpLCB0JmF1bWw7bSZhdW1sOyBvaGplbG1hIHRvaW1pdGV0YWFuIHNlbGxhaXNlbmEga3VpbiBzZSBvbiAoYXMtaXMpLiBUJmF1bWw7eWRlbGxpbmVuIHZhc3R1dXZhcGF1c2xhdXNla2Ugb24gbGlzZW5zc2lzcyZhdW1sOy48L3A+DQoNCjxoMz5Db3B5cmlnaHQgamEgbGlzZW5zc2k8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0mYW1wO3F1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mYW1wO3F1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlQmYXVtbDttJmF1bWw7IG1vZHV1bGkgb24ganVsa2Fpc3R1IDxhIGhyZWY9JmFtcDtxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZhbXA7cXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPiAtbGlzZW5zc2lsbCZhdW1sOy4gTGlzZW5zc2luIGVoZG90IG9uIGh5diZhdW1sO2tzeXR0JmF1bWw7diZhdW1sOyBlbm5lbiBtb2R1dWxpbiBrJmF1bWw7eXR0Jm91bWw7JmF1bWw7LjwvcD4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjkxMzU3NzE1Ny4xMjkyODcwMDA3LjEzMDc1MzU4MjIuMTMwNzU2NTQwNS4xOCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMDI1NDY2NDMuMTAuNS51dG1jc3I9ZmVlZGJ1cm5lcnx1dG1jY249RmVlZDogY21zbWFkZXNpbXBsZS9ibG9nIChDTVMgTWFkZSBTaW1wbGUpfHV0bWNtZD1mZWVkJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTU4NDM3NjkyOC0xMjkyODcwMDA2NjY3JzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnQ2UgdGVzdCBlc3QgZ8OpbsOpcsOpIHN1ciB1bmUgYmFzZSBwZXUgZnLDqXF1ZW50ZS4gSWwgcGV1dCBwcmVuZHJlIHVuIGNlcnRhaW4gdGVtcHMgcG91ciBzZSB0ZXJtaW5lci4nOwokbGFuZ1snbm9uZSddID0gJ0F1Y3VuJzsKJGxhbmdbJ3NzbCddID0gJ1NTTCZuYnNwOyc7CiRsYW5nWyd0bHMnXSA9ICdUTFMmbmJzcDsnOwokbGFuZ1snc2VjdXJlJ10gPSAnUHJvdG9jb2xlIGRlIHPDqWN1cmlzYXRpb24mbmJzcDsnOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICdBcHBsaWNhYmxlIHVuaXF1ZW1lbnQgw6AgbGEgbcOpdGhvZGUgZGUgY291cnJpZXIgU01UUCwgY2V0dGUgb3B0aW9uIHBlcm1ldCBkZSBzcMOpY2lmaWVyIGxlcyBkaWZmw6lyZW50cyBwcm90b2NvbGVzIGRlIHPDqWN1cmlzYXRpb24gcG91ciBsYSBjb25uZXhpb24nOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICdDZSBtb2R1bGUgZXN0IHV0aWxpc8OpIHBhciBkZSBub21icmV1eCBhdXRyZXMgbW9kdWxlcyBwb3VyIGZhY2lsaXRlciBsXCdlbnZvaSBkXCdlbWFpbHMuIElsIGRvaXQgw6p0cmUgY29ycmVjdGVtZW50IGNvbmZpZ3Vyw6kgY29uZm9ybcOpbWVudCBhdXggZXhpZ2VuY2VzIGRlIHZvdHJlIGjDqWJlcmdldXIuIFV0aWxpc2V6IGxlcyBpbmZvcm1hdGlvbnMgZm91cm5pZXMgcGFyIHZvdHJlIGjDqWJlcmdldXIgcG91ciByw6lnbGVyIGNlcyBwYXJhbcOodHJlcy4gU2kgdm91cyBuZSBwYXJ2ZW5leiB0b3Vqb3VycyBwYXMgw6AgZW52b3llciBsZSBtZXNzYWdlIGRlIHRlc3QgY29ycmVjdGVtZW50LCBjb250YWN0ZXogdm90cmUgaMOpYmVyZ2V1ciBwb3VyIG9idGVuaXIgZGUgbFwnYWlkZS4nOwokbGFuZ1snY2hhcnNldCddID0gJ0Zvcm1hdCBkXCdlbmNvZGFnZSBkZXMgY2FyYWN0w6hyZXMmbmJzcDsnOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ0NlY2kgdmEgZW52b3llciB1biBtZXNzYWdlIGRlIHRlc3Qgw6AgbFwnYWRyZXNzZSBzcMOpY2lmacOpZS4gU2kgbGUgcHJvY2Vzc3VzIGRcJ2Vudm9pIHNcJ2VmZmVjdHVlIGNvcnJlY3RlbWVudCwgdm91cyBzZXJleiByZWRpcmlnw6kgw6Agbm91dmVhdSB2ZXJzIGNldHRlIHBhZ2UuIFZvdWxlei12b3VzIGNvbnRpbnVlciZuYnNwOz8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnRW5yZWdpc3RyZXIgbGVzIHZhbGV1cnMgYWN0dWVsbGVzIGRhbnMgbGEgY29uZmlndXJhdGlvbiBkZSBDTVNNYWlsZXImbmJzcDs/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnTWVzc2FnZSBkZSB0ZXN0IGRlIENNU01haWxlcic7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ0NlIG1lc3NhZ2UgZXN0IHVuZSB2w6lyaWZpY2F0aW9uIGRlIGxhIHZhbGlkaXTDqSBkZXMgcGFyYW3DqHRyZXMgZHUgbW9kdWxlIENNU01haWxlci4NClNpIHZvdXMgbGUgcmXDp2V2ZXogY1wnZXN0IHF1ZSB0b3V0IGZvbmN0aW9ubmUuJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICdFcnJldXImbmJzcDs6IGFkcmVzc2UgZGUgdGVzdCBub24gc3DDqWNpZmnDqWUnOwokbGFuZ1sncHJvbXB0X3Rlc3RhZGRyZXNzJ10gPSAnQWRyZXNzZSBlbWFpbCBkZSB0ZXN0Jm5ic3A7JzsKJGxhbmdbJ3NlbmR0ZXN0J10gPSAnRW52b3llciBsZSBtZXNzYWdlIGRlIHRlc3QnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdNb3QgZGUgcGFzc2UmbmJzcDsnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdJZGVudGlmaWFudCZuYnNwOyc7CiRsYW5nWydzbXRwYXV0aCddID0gJ0F1dGhlbnRpZmljYXRpb24gU01UUCZuYnNwOyc7CiRsYW5nWydtYWlsZXInXSA9ICdNw6l0aG9kZSBkXCdlbnZvaSBkZXMgZW1haWxzJm5ic3A7JzsKJGxhbmdbJ2hvc3QnXSA9ICdOb20gZHUgc2VydmV1ciBTTVRQPGJyLz48aT4ob3UgYWRyZXNzZSBJUCk8L2k+Jm5ic3A7JzsKJGxhbmdbJ3BvcnQnXSA9ICdQb3J0IGR1IHNlcnZldXIgU01UUCZuYnNwOyc7CiRsYW5nWydmcm9tJ10gPSAnQWRyZXNzZSBkZSBsXCdleHDDqWRpdGV1ciZuYnNwOyc7CiRsYW5nWydmcm9tdXNlciddID0gJ0lkZW50aWZpYW50IGRlIGxcJ2V4cMOpZGl0ZXVyJm5ic3A7JzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnRW1wbGFjZW1lbnQgZGUgU2VuZG1haWwmbmJzcDsnOwokbGFuZ1sndGltZW91dCddID0gJ0TDqWxhaSBTTVRQIGF2YW50IGVycmV1ciZuYnNwOyc7CiRsYW5nWydzdWJtaXQnXSA9ICdFbnZveWVyJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsZXInOwokbGFuZ1snaW5mb19tYWlsZXInXSA9ICdNw6l0aG9kZSBtYWlsIMOgIHV0aWxpc2VyIChzZW5kbWFpbCwgc210cCwgbWFpbCkuIFNNVFAgZXN0IGhhYml0dWVsbGVtZW50IGxlIHBsdXMgc8O7ci4nOwokbGFuZ1snaW5mb19ob3N0J10gPSAnTm9tIGR1IHNlcnZldXIgU01UUCAoc2V1bGVtZW50IHZhbGFibGUgcG91ciBsYSBtw6l0aG9kZSBtYWlsIFNNVFApLic7CiRsYW5nWydpbmZvX3BvcnQnXSA9ICdOdW3DqXJvIGRlIHBvcnQgU01UUCAodXN1ZWxsZW1lbnQgMjUpIChzZXVsZW1lbnQgdmFsYWJsZSBwb3VyIGxhIG3DqXRob2RlIG1haWwgU01UUCkuJzsKJGxhbmdbJ2luZm9fZnJvbSddID0gJ0FkcmVzc2UgdXRpbGlzw6llIGVuIHRhbnQgcXVcJ2V4cMOpZGl0ZXVyIHBvdXIgdG91cyBsZXMgY291cnJpZWxzIChlbWFpbHMpLjxici8+PHN0cm9uZz4gUmVtYXJxdWUgOjwvc3Ryb25nPiBjZXR0ZSBhZHJlc3NlIGVtYWlsIGRvaXQgw6p0cmUgY29uZmlndXLDqWUgY29ycmVjdGVtZW50IHBvdXIgdm90cmUgaMOpYmVyZ2VtZW50IHBvdXIgw6l2aXRlciBkZXMgZGlmZmljdWx0w6lzIGRcJ2Vudm9pIGRlcyBlbWFpbHMuPGJyLz5TaSB2b3VzIG5lIGNvbm5haXNzZXogcGFzIGxhIHZhbGV1ciBjb3JyZWN0ZSBkZSBjZSBwYXJhbcOodHJlLCB2b3VzIGRldmV6IHByZW5kcmUgY29udGFjdCBhdmVjIHZvdHJlIGjDqWJlcmdldXIuJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICdOb20gZFwnZXhww6lkaXRldXIgY29tcGxldCB1dGlsaXPDqSBwb3VyIGxcJ2Vudm9pIGRlcyBjb3VycmllbHMnOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ0NoZW1pbiBjb21wbGV0IHZlcnMgdm90cmUgZXjDqWN1dGFibGUgc2VuZG1haWwgKHNldWxlbWVudCB2YWxhYmxlIHBvdXIgbGEgbcOpdGhvZGUgc2VuZG1haWwpJzsKJGxhbmdbJ2luZm9fdGltZW91dCddID0gJ05vbWJyZSBkZSBzZWNvbmRlcyBkYW5zIHVuZSBjb252ZXJzYXRpb24gU01UUCBhdmFudCBxdVwndW5lIGVycmV1ciBuXCdhcHBhcmFpc3NlIChzZXVsZW1lbnQgdmFsYWJsZSBwb3VyIGxhIG3DqXRob2RlIG1haWwgU01UUCknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ1ZvdHJlIHNlcnZldXIgU01UUCByZXF1aWVydC1pbCB1bmUgYXV0aGVudGlmaWNhdGlvbiZuYnNwOz8gKHNldWxlbWVudCB2YWxhYmxlIHBvdXIgbGEgbcOpdGhvZGUgbWFpbCBTTVRQKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAnTm9tIGRcJ3V0aWxpc2F0ZXVyIGRlIGxcJ2F1dGhlbnRpZmljYXRpb24gU01UUCAoc2V1bGVtZW50IHZhbGFibGUgcG91ciBsYSBtw6l0aG9kZSBtYWlsIFNNVFAgcXVhbmQgbFwnYXV0aGVudGlmaWNhdGlvbiBlc3Qgc8OpbGVjdGlvbm7DqWUpJzsKJGxhbmdbJ2luZm9fcGFzc3dvcmQnXSA9ICdNb3QgZGUgcGFzc2UgZGUgbFwnYXV0aGVudGlmaWNhdGlvbiBTTVRQIChzZXVsZW1lbnQgdmFsYWJsZSBwb3VyIGxhIG3DqXRob2RlIG1haWwgU01UUCBxdWFuZCBsXCdhdXRoZW50aWZpY2F0aW9uIGVzdCBzw6lsZWN0aW9ubsOpZSknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVyJm5ic3A7JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTGUgbW9kdWxlIENNU01haWxlciBhIMOpdMOpIGNvcnJlY3RlbWVudCBpbnN0YWxsw6kuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdMZSBtb2R1bGUgQ01TTWFpbGVyIGEgw6l0w6kgZMOpc2luc3RhbGzDqS4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgZMOpc2luc3RhbGzDqS4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTGEgdmVyc2lvbiAlcyBkdSBtb2R1bGUgYSDDqXTDqSBpbnN0YWxsw6llLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2PDqHMgcmVmdXPDqS4gVmV1aWxsZXogdsOpcmlmaWVyIHZvcyBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJldXImbmJzcDshJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTGUgbW9kdWxlIGEgw6l0w6kgbWlzIMOgIGpvdXIgw6AgbGEgdmVyc2lvbiAlcy4nOwokbGFuZ1snc2V0dGluZ3NfdGl0bGUnXSA9ICdQYXJhbcOodHJlcyc7CiRsYW5nWyd0ZXN0X3RpdGxlJ10gPSAnVGVzdHMnOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnUHLDqWbDqXJlbmNlcyBkdSBtb2R1bGUnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFubmVhdSBkXCdhZG1pbmlzdHJhdGlvbiBkdSBtb2R1bGUnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdDTVNNYWlsZXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdDZWNpIGVuZ2xvYmUgc2ltcGxlbWVudCBQSFBNYWlsZXIsIGlsIGEgdW4gw6lxdWl2YWxlbnQgQVBJIChmb25jdGlvbiBwb3VyIGZvbmN0aW9uKSBldCB1bmUgaW50ZXJmYWNlIHNpbXBsZSBwb3VyIGxlcyBwYXJhbcOodHJlcyBwYXIgZMOpZmF1dC4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS43My4xLiBPY3RvYnJlIDIwMDUuIFZlcnNpb24gaW5pdGlhbGUuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JyZSAyMDA1LiBDb3JyZWN0aW9uIGRhbnMgbGUgcGFubmVhdSBkXCdhZG1pbmlzdHJhdGlvbi4gIExhIGxpc3RlIGTDqXJvdWxhbnRlIG5lIHJlcHLDqXNlbnRhaXQgcGFzIGxhIHZhbGV1ciBhY3R1ZWxsZSBkZSBsYSBiYXNlIGRlIGRvbm7DqWVzIGRlcyBwcsOpZsOpcmVuY2VzPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JyZSAyMDA1LiBQZXRpdGUgY29ycmVjdGlvbiBsb3JzIGRlIGxcJ2Vudm9pIGRcJ2VtYWlsIGVuIGZvcm1hdCBodG1sPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNC4gTm92ZW1icmUgMjAwNS4gTGVzIGNoYW1wcyBkdSBmb3JtdWxhaXJlIGRlcyBwcsOpZsOpcmVuY2VzIHNvbnQgcGx1cyBncmFuZHMsIHLDqXNvbHUgdW4gcHJvYmzDqG1lIGF2ZWMgZnJvbXVzZXIsIGV0IGFwcGVsIGR1IHJlc2V0IGRhbnMgbGUgY29uc3RydWN0ZXVyPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNS4gTm92ZW1icmUgMjAwNS4gQWpvdXQgZGUgY2hhbXBzIGV0IGZvbmN0aW9ubmFsaXTDqXMgcG91ciBsXCdhdXRoZW50aWZpY2F0aW9uIFNNVFAuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRMOpY2VtYnJlIDIwMDUuIExhIG3DqXRob2RlIG1haWwgcGFyIGTDqWZhdXQgbG9ycyBkZSBsXCdpbnN0YWxsYXRpb24gZXN0IFNNVFAsIGRvY3VtZW50YXRpb24gYW3DqWxpb3LDqWUsIGxlcyBhdHRhY2hlbWVudHMgc29udCBzdXBwcmltw6lzLCBhaW5zaSBxdWUgbGVzIGFkcmVzc2VzLCBldGMuIGxvcnMgZHUgcmVzZXQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNy4gSmFudmllciAyMDA2LiBBdWdtZW50w6kgbGEgdGFpbGxlIGRlcyBjaGFtcHMgcG91ciBsYSBwbHVwYXJ0IGRcJ2VudHJlIGV1eDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnZpZXIgMjAwNi4gTW9kaWZpw6kgbGUgcGFubmVhdSBkZXMgcHLDqWbDqXJlbmNlcyBwb3VyIGxlIHJlbmRyZSB1biBwZXUgcGx1cyBkZXNjcmlwdGlmLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjkuIEphbnZpZXIgMjAwNi4gQWpvdXTDqSBsYSBwb3NzaWJpbGl0w6kgZHUgdGVzdCBlbWFpbCwgZXQgdW5lIGNvbmZpcm1hdGlvbiDDoCBjaGFxdWUgYm91dG9uIChzYXVmIEFubnVsZXIpPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTAuIEFvw7t0IDIwMDYuIE1vZGlmacOpIHBvdXIgbFwndXRpbGlzYXRpb24gZHUgImxhenkgbG9hZGluZyIgcG91ciBtaW5pbWlzZXIgbGVzIGJlc29pbnMgbcOpbW9pcmUgbG9yc3F1ZSBDTVNNYWlsZXIgblwnZXN0IHBhcyB1dGlsaXPDqS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMy4gSmFudmllciAyMDA4LiAgQWpvdXQgZGUgcGx1cyBkZSB2w6lyaWZpY2F0aW9ucyBkZSBwZXJtaXNzaW9ucy48L2xpPg0KPGxpPlZlcnNpb24gMi4wLjAgLSAxOSBhdnJpbCAyMDEwIC0gUsOpdmlzaW9uIDI5LCAyMDEwLTA0LTE5LjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMSAtIGphbnZpZXIgMjAxMSAtIFN1cHByZXNzaW9uIGR1IGJvdXRvbiBBbm51bGVyLjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMiAtIFNlcHRlbWJyZSAyMDExIC0gQ2hhcnNldCB1dGYtOCBwYXIgZMOpZmF1dC48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5RdWUgZmFpdCBjZSBtb2R1bGUmbmJzcDs/PC9oMz4NCjxwPkNlIG1vZHVsZSBuXCdhcHBvcnRlIHBhcyBkZSBmb25jdGlvbm5hbGl0w6kgcG91ciBsXCd1dGlsaXNhdGV1ciBmaW5hbC4gIElsIGEgw6l0w6kgw6ljcml0IHBvdXIgw6p0cmUgaW50w6lncsOpIGRhbnMgZFwnYXV0cmVzIG1vZHVsZXMgZXQgZm91cm5pciBkZXMgcG9zc2liaWxpdMOpcyBkXCdlbnZvaSBkZSBjb3VycmllbHMuICBWb2lsw6AsIHJpZW4gZGUgcGx1cy48L3A+DQo8aDM+Q29tbWVudCBsXCd1dGlsaXNlciZuYnNwOz88L2gzPg0KPHA+Q2UgbW9kdWxlIGVuZ2xvYmUgdG91dGVzIGxlcyBtw6l0aG9kZXMgZXQgdmFyaWFibGVzIGRlIHBocG1haWxlci4gSWwgZXN0IGNvbnN0cnVpdCBkZSBtYW5pw6hyZSDDoCBwb3V2b2lyIMOqdHJlIHV0aWxpc8OpIHBhciBsZXMgZMOpdmVsb3BwZXVycyBkZXMgYXV0cmVzIG1vZHVsZXMsIHZvaXIgbFwnZXhlbXBsZSBjaS1kZXNzb3VzIGV0IHVuZSBicsOodmUgcsOpZsOpcmVuY2UgQVBJLiBWZXVpbGxleiBsaXJlIGxhIGRvY3VtZW50YXRpb24gZGUgUEhQTWFpbGVyIHBvdXIgcGx1cyBkXCdpbmZvcm1hdGlvbi48L3A+DQo8aDM+VW4gZXhlbXBsZTwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKFwnQ01TTWFpbGVyXCcpOw0KICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKFwnY2FsZ3V5MTAwMEBob3RtYWlsLmNvbVwnLFwnY2FsZ3V5XCcpOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KFwnPGI+Q2VjaSBlc3QgdW4gbWVzc2FnZSBkZSB0ZXN0PC9iPlwnKTsNCiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOw0KICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KFwnVGVzdCBtZXNzYWdlXCcpOw0KICAkY21zbWFpbGVyLT5TZW5kKCk7DQo8L3ByZT4NCjxoMz5BUEk8L2gzPg0KPHVsPg0KPGxpPjxwPjxiPnZvaWQgcmVzZXQoKTwvYj48L3A+DQo8cD5Sw6lpbml0aWFsaXNlIGxcJ29iamVjdCBhdXggdmFsZXVycyBzcMOpY2lmacOpZXMgZGFucyBsZSBwYW5uZWF1IGRcJ2FkbWluaXN0cmF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0QWx0Qm9keSgpPC9iPjwvcD4NCjxwPlJlbnZvaWUgbGUgY29ycHMgZGUgcmVtcGxhY2VtZW50IGRlIGxcJ2VtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEFsdEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5Ew6lmaW5pIGxlIGNvcnBzIGRlIHJlbXBsYWNlbWVudCBkZSBsXCdlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEJvZHkoKTwvYj48L3A+DQo8cD5SZW52b2llIGxlIGNvcnBzIHByaW5jaXBhbCBkZSBsXCdlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+RMOpZmluaSBsZSBjb3JwcyBwcmluY2lwYWwgZGUgbFwnZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDaGFyU2V0KCk8L2I+PC9wPg0KPHA+RMOpZmF1dCA6IGlzby04ODU5LTE8L3A+DQo8cD5SZW52b2llIGxcJ2VuY29kYWdlIGRlcyBjYXJhY3TDqHJlcyBkdSBtYWlsZXI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q2hhclNldCggJHN0cmluZyApPC9iPjwvcD4NCjxwPkTDqWZpbmkgbFwnZW5jb2RhZ2UgZGVzIGNhcmFjdMOocmVzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJlbnZvaWUgbFwnYWRyZXNzZSBkZSBjb25maXJtYXRpb24gZGUgbGVjdHVyZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPkTDqWZpbmkgb3UgZW5sw6h2ZSBsXCdhZHJlc3NlIGRlIGNvbmZpcm1hdGlvbiBkZSBsZWN0dXJlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5Ew6lmYXV0OiB0ZXh0L3BsYWluPC9wPg0KPHA+UmV0b3VybmUgbGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RMOpZmluaSBsZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJldG91cm5lIGxcJ2VuY29kYWdlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEVuY29kaW5nKCAkZW5jb2RpbmcgKTwvYj48L3A+DQo8cD5Ew6lmaW5pIGxcJ2VuY29kYWdlPC9wPg0KPHA+TGVzIG9wdGlvbnMgc29udDogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXRvdXJuZSB0b3V0ZSBpbmZvcm1hdGlvbiBkXCdlcnJldXI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPg0KPHA+UmV0b3VybmUgbFwnYWRyZXNzZSBkXCdvcmlnaW5lIGVuIGNvdXJzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+RMOpZmluaSBsXCdhZHJlc3NlIGRcJ29yaWdpbmU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4NCjxwPlJldG91cm5lIGxlIG5vbSBkXCdvcmlnaW5lIGVuIGNvdXJzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD5Ew6lmaW5pIGxlIG5vbSBkXCdvcmlnaW5lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldG91cm5lIGxlIHN0cmluZyBIRUxPPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRIZWxvKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+RMOpZmluaSAgbGUgc3RyaW5nIEhFTE88L3A+DQo8cD5WYWxldXIgcGFyIGTDqWZhdXQgOiAkaG9zdG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPg0KPHA+UmV0b3VybmUgbGVzIGhvc3RzIFNNVFBzIHPDqXBhcsOpcyBwYXIgZGVzIHBvaW50cy12aXJndWxlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+RMOpZmluaSBsZXMgaG9zdHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4NCjxwPlJldG91cm5lIGxlIG5vbSBkdSBob3N0IHV0aWxpc8OpIHBvdXIgbGUgSGVsbyBTTVRQPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5Ew6lmaW5pIGxlIG5vbSBkdSBob3N0IHV0aWxpc8OpIHBvdXIgbGUgSGVsbyBTTVRQPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPg0KPHA+UmV0b3VybmUgbGUgbWFpbGVyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4NCjxwPkTDqWZpbmkgbGUgbWFpbGVyIDogc2VuZG1haWwsIG1haWwsIG91IHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldG91cm5lIGxlIG1vdCBkZSBwYXNzZSBwb3VyIGxcJ2F1dGhlbnRpZmljYXRpb24gc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPkTDqWZpbmkgbGUgbW90IGRlIHBhc3NlIHBvdXIgbFwnYXV0aGVudGlmaWNhdGlvbiBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UG9ydCgpPC9iPjwvcD4NCjxwPlJldG91cm5lIGxlIHBvcnQgcG91ciBsZXMgY29ubmV4aW9ucyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5Ew6lmaW5pIGxlIHBvcnQgcG91ciBsZXMgY29ubmV4aW9ucyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UHJpb3JpdHkoKTwvYj48L3A+DQo8cD5SZXRvdXJuZSBsYSBwcmlvcml0w6kgZHUgbWVzc2FnZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+RMOpZmluaSBsYSBwcmlvcml0w6kgZHUgbWVzc2FnZTwvcD4NCjxwPkxlcyB2YWxldXJzIHNvbnQgMT1IYXV0ZSwgMyA9IE5vcm1hbGUsIDUgPSBCYXNzZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRlcigpPC9iPjwvcD4NCjxwPlJldG91cm5lIGxcJ2VtYWlsIGRlIGxcJ2V4cMOpZGl0ZXVyIChhZHJlc3NlIGRlIHLDqXBvbnNlKTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+RMOpZmluaSBsXCdlbWFpbCBkZSBsXCdleHDDqWRpdGV1cjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRtYWlsKCk8L2I+PC9wPg0KPHA+UmV0b3VybmUgbGUgY2hlbWluIMOgIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRtYWlsKCAkcGF0aCApPC9iPjwvcD4NCjxwPkTDqWZpbmkgbGUgY2hlbWluIMOgIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0b3VybmUgbGEgdmFsZXVyIGVuIGNvdXJzIGR1IGZsYWcgZFwnYXV0aGVudGlmaWNhdGlvbiBkZSBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQQXV0aCggJGJvb2wgKTwvYj48L3A+DQo8cD5Ew6lmaW5pIGxhIHZhbGV1ciBlbiBjb3VycyBkdSBmbGFnIGRcJ2F1dGhlbnRpZmljYXRpb24gZGUgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5SZXRvdXJuZSBsYSB2YWxldXIgZHUgZGVidWcgZmxhZyBkZSBTTVRQPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNNVFBEZWJ1ZyggJGJvb2wgKTwvYj48L3A+DQo8cD5Ew6lmaW5pIGxhIHZhbGV1ciBkdSBkZWJ1ZyBmbGFnIGRlIFNNVFA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4NCjxwPlJldG91cm5lIGxhIHZhbGV1ciBkdSBrZWVwIGFsaXZlIGZsYWcgZGUgU01UUDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD5Ew6lmaW5pIGxhIHZhbGV1ciBkdSBrZWVwIGFsaXZlIGZsYWcgZGUgU01UUDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFN1YmplY3QoKTwvYj48L3A+DQo8cD5SZXRvdXJuZSBsZSBzdWpldCBlbiBjb3VyczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+RMOpZmluaSBsZSBzdWpldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXRvdXJuZSBsYSB2YWxldXIgZHUgdGltZW91dDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4NCjxwPkTDqWZpbmkgbGEgdmFsZXVyIGR1IHRpbWVvdXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlJldG91cm5lIGxlIG5vbSBkXCd1dGlsaXNhdGV1ciBkZSBsXCdhdXRoZW50aWZpY2F0aW9uIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5Ew6lmaW5pIGxlIG5vbSBkXCd1dGlsaXNhdGV1ciBkZSBsXCdhdXRoZW50aWZpY2F0aW9uIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJldG91cm5lIGxhIHZhbGV1ciB3b3Jkd3JhcDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4NCjxwPlJldG91cm5lIGxhIHZhbGV1ciB3b3Jkd3JhcDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQWRkcmVzcyggJGFkZHJlc3MsICRuYW1lID0gXCdcJyApPC9iPjwvcD4NCjxwPkFqb3V0ZSB1bmUgYWRyZXNzZSBkZSBkZXN0aW5hdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gXCdcJywgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4NCjxwPkFqb3V0ZSB1biBmaWNoaWVyIGF0dGFjaMOpPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5Bam91dGUgdW5lIGFkcmVzc2UgZGUgZGVzdGluYXRpb24gY2FjaMOpZSAoQkNDKTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5Bam91dGUgdW5lIGFkcmVzc2UgZGUgZGVzdGluYXRpb24gY29waWUgKENDKTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPg0KPHA+QWpvdXRlIHVuIGVuLXTDqnRlIHBlcnNvbm5hbGlzw6llIGF1IG1lc3NhZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9IFwnXCcsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvYj48L3A+DQo8cD5Bam91dGUgdW5lIGltYWdlIGluY2x1c2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5Bam91dGUgdW5lIGFkcmVzc2UgZGUgcsOpcG9uc2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFN0cmluZ0F0dGFjaG1lbnQoICRzdHJpbmcsICRmaWxlbmFtZSwgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4NCjxwPkFqb3V0ZSB1biBmaWNoaWVyIGF0dGFjaMOpPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFkZHJlc3NlcygpPC9iPjwvcD4NCjxwPkVmZmFjZSB0b3V0ZXMgbGVzIGFkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+DQo8cD5FZmZhY2UgdG91cyBsZXMgZGVzdGluYXRhaXJlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4NCjxwPkVmZmFjZSB0b3VzIGxlcyBhdHRhY2hlbWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4NCjxwPkVmZmFjZSB0b3V0ZXMgbGVzIGFkcmVzc2VzIEJDQzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDQ3MoKTwvYj48L3A+DQo8cD5FZmZhY2UgdG91dGVzIGxlcyBhZHJlc3NlcyBDQzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPg0KPHA+RWZmYWNlIHRvdXRlcyBsZXMgZW4tdMOqdGVzIHBlcnNvbm5hbGlzw6llczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+RWZmYWNlIGxcJ2FkcmVzc2UgZGUgcsOpcG9uc2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzRXJyb3IoKTwvYj48L3A+DQo8cD5Ww6lyaWZpZSB1bmUgY29uZGl0aW9uIGRcJ2VycmV1cjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPg0KPHA+RMOpZmluaSBsZSBodG1sIGZsYWc8L3A+DQo8cD48aT5Ob3RlPC9pPiBzaSBwb3NzaWJsZSBjZWxhIGRldnJhaXQgw6p0cmUgdW5lIG3DqXRob2RlIGdldCBldCBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+VsOpcmlmaWUgc2kgb24gdXRpbGlzZSBcJ21haWxcJzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc1FtYWlsKCk8L2I+PC9wPg0KPHA+VsOpcmlmaWUgc2kgb24gdXRpbGlzZSBcJ3FtYWlsXCc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+DQo8cD5Ww6lyaWZpZSBzaSBvbiB1dGlsaXNlIFwnc2VuZG1haWxcJzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+VsOpcmlmaWUgc2kgb24gdXRpbGlzZSBcJ3NtdHBcJzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2VuZCgpPC9iPjwvcD4NCjxwPkVudm9pZSBsZSBtYWlsIGVuIGNvdXJzIGRlIHByw6lwYXJhdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSBcJ1wnICk8L2I+PC9wPg0KPHA+RMOpZmluaSBsYSBsYW5ndWUgPGVtPihvcHRpb25hbCk8L2VtPiBsYW5ndWFnZSBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TbXRwQ2xvc2UoKTwvYj48L3A+DQo8cD5GZXJtZSBsYSBjb25uZXhpb24gc210cDwvcD4NCjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+Q2UgbW9kdWxlIG5lIGNvbnRpZW50IGF1Y3VuIHN1cHBvcnQgY29tbWVyY2lhbC4gQ2VwZW5kYW50LCBjZXMgcmVzc291cmNlcyBzb250IGRpc3BvbmlibGVzIHBvdXIgdm91cyBhaWRlciZuYnNwOzo8L3A+DQo8dWw+DQo8bGk+UG91ciBsYSBkZXJuacOocmUgdmVyc2lvbiBkZSBjZSBtb2R1bGUsIGxlcyBGQVFzLCBvdSBwb3VyIGFubm9uY2VyIHVuIGJ1ZywgdmV1aWxsZXogdmlzaXRlciBsYSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnLyIgdGFyZ2V0PSJfYmxhbmsiPmZvcmdlIGRlIENNUyBNYWRlIFNpbXBsZTwvYT4uPC9saT4NCjxsaT5EZXMgZGlzY3Vzc2lvbnMgY29tcGzDqW1lbnRhaXJlcyByZWxhdGl2ZXMgw6AgY2UgbW9kdWxlIHBldXZlbnQgYXVzc2kgw6p0cmUgdHJvdXbDqWVzIHN1ciBsZXMgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIiB0YXJnZXQ9Il9ibGFuayI+Rm9ydW1zIENNUyBNYWRlIFNpbXBsZTwvYT4uPC9saT4NCjxsaT5MXCdhdXRldXIsIENhbGd1eTEwMDAsIGVzdCBzb3V2ZW50IHN1ciBJUkMgc3VyIGNhbmFsICNjbXM6IGlyYy5mcmVlbm9kZS5uZXQvI2Ntcy48L2xpPg0KPGxpPkV0IGVuZmluLCB2b3VzIHBvdXZleiByZW5jb250cmVyIHVuIGNlcnRhaW4gc3VjY8OocyBlbiBlbnZveWFudCB1biBlbWFpbCBkaXJlY3RlbWVudCDDoCBsXCdhdXRldXIuPC9saT4gIA0KPC91bD4NCjxwPkNvbmZvcm3DqW1lbnQgw6AgbGEgbGljZW5jZSBHUEwsIGNlIG1vZHVsZSBlc3QgZGlzdHJpYnXDqSB0ZWwgcXVlbC4gVmV1aWxsZXogdm91cyByw6lmw6lyZXIgZGlyZWN0ZW1lbnQgw6AgbGEgbGljZW5jZSBwb3VyIHRvdXQgYXZpcyBkZSBub24gcmVzcG9uc2FiaWxpdMOpLjwvcD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgZXQgTGljZW5jZTwvaDM+DQo8cD5Db3B5cmlnaHQgwqkgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tIj5jYWxndXkxMDAwQGhvdG1haWwuY29tPC9hPi4gVG91cyBkcm9pdHMgcsOpc2VydsOpcy48L3A+DQo8cD5DZSBtb2R1bGUgZXN0IGRpc3RyaWJ1w6kgc291cyBsYSBsaWNlbmNlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCIgdGFyZ2V0PSJfYmxhbmsiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFZvdXMgZGV2ZXogYWdyw6llciBhdXggdGVybWVzIGRlIGNldHRlIGxpY2VuY2UgcG91ciBwb3V2b2lyIHV0aWxpc2VyIGNlIG1vZHVsZS48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj1cJ2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTFwnPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/hr_HR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsKJGxhbmdbJ3NzbCddID0gJ1NTTCc7CiRsYW5nWyd0bHMnXSA9ICdUTFMnOwokbGFuZ1snc2VjdXJlJ10gPSAnTWVoYW5pemFtIGVua3JpcGNpamUnOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIFNNVFAgbWFpbGVyIG1ldGhvZCwgdGhpcyBvcHRpb24gYWxsb3dzIHNwZWNpZnlpbmcgZGlmZmVyZW50IGVuY3J5cHRpb24gbWVjaGFuaXNtcyBmb3IgdGhlIGNvbm5lY3Rpb24nOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICdUaGlzIG1vZHVsZSBpcyB1c2VkIGJ5IG51bWVyb3VzIG90aGVyIG1vZHVsZXMgdG8gZmFjaWxpdGF0ZSBzZW5kaW5nIGVtYWlscy4gIEl0IG11c3QgYmUgcHJvcGVybHkgY29uZmlndXJlZCB0byB5b3VyIGhvc3RzIHJlcXVpcmVtZW50cy4gIFBsZWFzZSB1c2UgdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IHlvdXIgaG9zdCB0byBhZGp1c3QgdGhlc2Ugc2V0dGluZ3MuICBJZiB5b3Ugc3RpbGwgY2Fubm90IGdldCB0aGUgdGVzdCBtZXNzYWdlIHRvIHNlbmQgcHJvcGVybHksIHlvdSBtYXkgaGF2ZSB0byBjb250YWN0IHlvdXIgaG9zdCBmb3IgYXNzaXN0YW5jZS4nOwokbGFuZ1snY2hhcnNldCddID0gJ1NrdXAgem5ha292YSc7CiRsYW5nWydzZW5kdGVzdG1haWxjb25maXJtJ10gPSAnVGhpcyB3aWxsIHNlbmQgYSB0ZXN0IG1lc3NhZ2UgdG8gdGhlIGFkZHJlc3Mgc3BlY2lmaWVkLiBJZiB0aGUgc2VuZCBwcm9jZXNzIHN1Y2VlZGVkLCB5b3Ugd2lsbCBiZSByZXR1cm5lZCB0byB0aGlzIHBhZ2UuICBEbyB5b3Ugd2FudCB0byBjb250aW51ZT8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnWmFwaSZzY2Fyb247aSB0cmVudXRuZSB2cmlqZWRub3N0aSB1IHBvc3RhdmtlIHphIENNU01haWxlcj8nOwokbGFuZ1sndGVzdHN1YmplY3QnXSA9ICdDTVNNYWlsZXIgdGVzdCBwb3J1a2EnOwokbGFuZ1sndGVzdGJvZHknXSA9ICdUaGlzIG1lc3NhZ2UgaXMgaW50ZW5kZWQgb25seSB0byB2ZXJpZnkgdGhlIHZhbGlkaXR5IG9mIHRoZSBzZXR0aW5ncyBpbiB0aGUgQ01TTWFpbGVyIG1vZHVsZS4NCklmIHlvdSByZWNlaXZlZCBpdCwgZXZlcnl0aGluZyBpcyB3b3JraW5nIGZpbmUuJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICdHcmUmc2Nhcm9uO2thOiBUZXN0bmEgYWRyZXNhIG5pamUgbmF2ZWRlbmEnOwokbGFuZ1sncHJvbXB0X3Rlc3RhZGRyZXNzJ10gPSAnRW1haWwgYWRyZXNhIHphIHRlc3RpcmFuamUnOwokbGFuZ1snc2VuZHRlc3QnXSA9ICdQbyZzY2Fyb247YWxqaSB0ZXN0IHBvcnVrdSc7CiRsYW5nWydwYXNzd29yZCddID0gJ0xvemlua2EnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdLb3Jpc25pxI1rbyBpbWUnOwokbGFuZ1snc210cGF1dGgnXSA9ICdTTVRQIGF1dGVudGlmaWthY2lqYSc7CiRsYW5nWydtYWlsZXInXSA9ICdNZXRvZGEgemEgc2xhbmplIGVtYWlsYSc7CiRsYW5nWydob3N0J10gPSAnU01UUCBpbWUgaG9zdGE8YnIvPjxpPihpbGkgSVAgYWRyZXNhKTwvaT4nOwokbGFuZ1sncG9ydCddID0gJ1BvcnQgU01UUCBzZXJ2ZXJhJzsKJGxhbmdbJ2Zyb20nXSA9ICcmIzAzOTtGcm9tJiMwMzk7IGFkcmVzYSc7CiRsYW5nWydmcm9tdXNlciddID0gJyYjMDM5O0Zyb20mIzAzOTsga29yaXNuacSNa28gaW1lJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnTG9rYWNpamEgU2VuZG1haWwgcHJvZ3JhbWEnOwokbGFuZ1sndGltZW91dCddID0gJ1NNVFAgdnJlbWVuc2tvIG9ncmFuacSNZW5qZSAodGltZW91dCknOwokbGFuZ1snc3VibWl0J10gPSAnUG8mc2Nhcm9uO2FsamknOwokbGFuZ1snY2FuY2VsJ10gPSAnT2R1c3RhbmknOwokbGFuZ1snaW5mb19tYWlsZXInXSA9ICdNZXRvZGEgemEgc2xhbmplIG1haWxhIChzZW5kbWFpbCwgc210cCwgbWFpbCkuICBTbXRwIGplIG9iacSNbm8gbmFqcG91emRhbmlqaS4nOwokbGFuZ1snaW5mb19ob3N0J10gPSAnU01UUCBpbWUgaG9zdGEgKHZyaWplZGkgc2FtbyB6YSBzbXRwIG1ldG9kdSknOwokbGFuZ1snaW5mb19wb3J0J10gPSAnU01UUCBicm9qIHBvcnRhIChvYmnEjW5vIDI1KSAodnJpamVkaSBzYW1vIHphIHNtdHAgbWV0b2R1KSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICdBZGRyZXNzIHVzZWQgYXMgdGhlIHNlbmRlciBpbiBhbGwgZW1haWxzLiA8YnIvPjxzdHJvbmc+Tm90ZTwvc3Ryb25nPiwgdGhpcyBlbWFpbCBhZGRyZXNzIG11c3QgYmUgc2V0IGNvcnJlY3RseSBmb3IgeW91ciBob3N0IG9yIHlvdSB3aWxsIGhhdmUgZGlmZmljdWx0eSBzZW5kaW5nIGVtYWlscy48YnIvPklmIHlvdSBkbyBub3Qga25vdyB0aGUgcHJvcGVyIHZhbHVlIGZvciB0aGlzIHNldHRpbmcsIHlvdSBtYXkgbmVlZCB0byBjb250YWN0IHlvdXIgaG9zdC4nOwokbGFuZ1snaW5mb19mcm9tdXNlciddID0gJ0ZyaWVuZGx5IG5hbWUgdXNlZCBmb3Igc2VuZGluZyBhbGwgZW1haWxzJzsKJGxhbmdbJ2luZm9fc2VuZG1haWwnXSA9ICdQb3RwdW5hIHB1dGFuamEgZG8gc2VuZG1haWwgaXp2ciZzY2Fyb247bm9nIHByb2dyYW1hICh2cmlqZWRpIHNhbW8gemEgc2VuZG1haWwgbWV0b2R1KSc7CiRsYW5nWydpbmZvX3RpbWVvdXQnXSA9ICdUaGUgbnVtYmVyIG9mIHNlY29uZHMgaW4gYW4gU01UUCBjb252ZXJzYXRpb24gYmVmb3JlIGFuIGVycm9yIG9jY3VycyAodmFsaWQgZm9yIHRoZSBzbXRwIG1haWxlciBtZXRob2QpJzsKJGxhbmdbJ2luZm9fc210cGF1dGgnXSA9ICdEYSBsaSBWYSZzY2Fyb247IFNNVFAgaG9zdCB6YWh0aWpldmEgYXV0ZW50aWZpa2FjaWp1ICh2cmlqZWRpIHNhbW8ga29kIHNtdHAgbWV0b2RlKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAnS29yaXNuacSNa28gaW1lIHphIFNNVFAgYXV0aGVudGlmaWthY2lqdSAodnJpamVkaSBzYW1vIGtvZCBzbXRwIG1ldG9kZSBrYWQgamUgaXphYnJhbm8gJiMwMzk7c210cCBhdXRoJiMwMzk7KSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnTG96aW5rYSB6YSBTTVRQIGF1dGhlbnRpZmlrYWNpanUgKHZyaWplZGkgc2FtbyBrb2Qgc210cCBtZXRvZGUga2FkIGplIGl6YWJyYW5vICYjMDM5O3NtdHAgYXV0aCYjMDM5OyknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ01TTWFpbGVyIG1vZHVsIGplIHVzcGplJnNjYXJvbjtubyBpbnN0YWxpcmFuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDTVNNYWlsZXIgbW9kdWwgamUgZGVpbnN0YWxpcmFuLi4uIMW+YW8gbmFtIGplIGRhIG9kbGF6aXRlJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgamUgZGVpbnN0YWxpcmFuLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdJbnN0YWxpcmFuYSB2ZXJ6aWphICVzIG1vZHVsYS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnR3JlJnNjYXJvbjtrYSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBuYWRvZ3JhxJFlbiBuYSB2ZXJ6aWp1ICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdQb3N0YXZrZSBtb2R1bGEnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnQWRtaW4gcGxvxI1hIHphIG1vZHVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnQ01TTWFpbGVyIG1vZHVsJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBpcyBhIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCBQSFBNYWlsZXIsIGl0IGhhcyBhbiBlcXVpdmFsZW50IEFQSSAoZnVuY3Rpb24gZm9yIGZ1bmN0aW9uKSBhbmQgYSBzaW1wbGUgaW50ZXJmYWNlIGZvciBzb21lIGRlZmF1bHRzLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5Eb2Jyb2RvJnNjYXJvbjtsaSB1IGFkbWluIHNla2NpanUgQ01TTWFpbGVyIG1vZHVsYSc7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggdGhlIGFkbWluIHBhbmVsLiAgVGhlIGRyb3Bkb3duIHdhcyBub3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIHByZWZlcmVuY2VzIGRhdGFiYXNlPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBBZGRlZCB0aGUgZm9ybSBmaWVsZHMgYW5kIGZ1bmN0aW9uYWxpdHkgZm9yIFNNVFAgYXV0aGVudGljYXRpb24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJ5LCAyMDA2LiBJbmNyZWFzZWQgZmllbGQgbGVuZ3RocyBpbiBtb3N0IGZpZWxkczwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnVhcnksIDIwMDYuIENoYW5nZWQgdGhlIHByZWZlcmVuY2VzIHBhbmVsIHRvIGJlIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEwLiBBdWd1c3QsIDIwMDYuIE1vZGlmaWVkIHRvIHVzZSBsYXp5IGxvYWRpbmcgdG8gbWluaW1pemUgbWVtb3J5IGZvb3RwcmludCB3aGVuIENNU01haWxlciBpcyBub3QgYmVpbmcgdXNlZC48L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMy4gSmFudWFyeSwgMjAwOC4gIEFkZGVkIG1vcmUgcGVybWlzc2lvbnMgY2hlY2tzLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBubyBlbmQgdXNlciBmdW5jdGlvbmFsaXR5LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgaW50ZWdyYXRlZCBpbnRvIG90aGVyIG1vZHVsZXMgdG8gcHJvdmlkZSBlbWFpbCBjYXBhYmlsaXRpZXMuICBUaGF0cyBpdCwgbm90aGluZyBtb3JlLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgYWxsIG9mIHRoZSBtZXRob2RzIGFuZCB2YXJpYWJsZXMgb2YgcGhwbWFpbGVyLiAgSXQgaXMgZGVzaWduZWQgZm9yIHVzZSBieSBvdGhlciBtb2R1bGUgZGV2ZWxvcGVycywgYmVsb3cgaXMgYW4gZXhhbXBsZSwgYW5kIGEgYnJpZWYgQVBJIHJlZmVyZW5jZS4gIFBsZWFzZSByZWFkIHRoZSBQSFBNYWlsZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+DQo8aDM+QW4gRXhhbXBsZTwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCYjMDM5O0NNU01haWxlciYjMDM5Oyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJiMwMzk7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5OywmIzAzOTtjYWxndXkmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KCYjMDM5OzxoND5UaGlzIGlzIGEgdGVzdCBtZXNzYWdlPC9oND4mIzAzOTspOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoJiMwMzk7VGVzdCBtZXNzYWdlJiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2VuZCgpOw0KPC9wcmU+DQo8aDM+QVBJPC9oMz4NCjx1bD4NCjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPg0KPHA+UmVzZXQgdGhlIG9iamVjdCBiYWNrIHRvIHRoZSB2YWx1ZXMgc3BlY2lmaWVkIGluIHRoZSBhZG1pbiBwYW5lbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEFsdEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDaGFyU2V0KCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogaXNvLTg4NTktMTwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q2hhclNldCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb25maXJtUmVhZGluZ1RvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhZGRyZXNzIGNvbmZpcm1lZCByZWFkaW5nIGVtYWlsIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29uZmlybVJlYWRpbmdUbyggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgb3IgdW5zZXQgdGhlIGNvbmZpcm0gcmVhZGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiB0ZXh0L3BsYWluPC9wPg0KPHA+UmV0dXJuIHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5TZXQgdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVuY29kaW5nKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBlbmNvZGluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRFbmNvZGluZyggJGVuY29kaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBlbmNvZGluZzwvcD4NCjxwPk9wdGlvbnMgYXJlOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlJldHVybiBhbnkgZXJyb3IgaW5mb3JtYXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RnJvbSggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIZWxvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBIRUxPIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8cD5EZWZhdWx0IHZhbHVlOiAkaG9zdG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBTTVRQcyBob3N0IHNlcGFyYXRlZCBieSBzZW1pY29sb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldE1haWxlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyLCBlaXRoZXIgc2VuZG1haWwsbWFpbCwgb3Igc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFBhc3N3b3JkKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBhc3N3b3JkKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UG9ydCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcG9ydCBudW1iZXIgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgcG9ydCBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8cD5WYWx1ZXMgYXJlIDE9SGlnaCwgMyA9IE5vcm1hbCwgNSA9IExvdzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZGVyIGVtYWlsIChyZXR1cm4gcGF0aCkgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRlciggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRlciBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kbWFpbCggJHBhdGggKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEF1dGgoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQQXV0aCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBEZWJ1ZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0VGltZW91dCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFdvcmRXcmFwKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEF0dGFjaG1lbnQoICRwYXRoLCAkbmFtZSA9ICYjMDM5OyYjMDM5OywgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEJDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgQkNDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgQ0MmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEN1c3RvbUhlYWRlciggJHR4dCApPC9iPjwvcD4NCjxwPkFkZCBhIGN1c3RvbSBoZWFkZXIgdG8gdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRFbWJlZGRlZEltYWdlKCAkcGF0aCwgJGNpZCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGFuIGVtYmVkZGVkIGltYWdlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRSZXBseVRvKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFkZHJlc3NlcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWxsUmVjaXBpZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCByZWNpcGllbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckF0dGFjaG1lbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGF0dGFjaG1lbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQkNDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckN1c3RvbUhlYWRlcnMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgY3VzdG9tIGhlYWRlcnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyUmVwbHl0bygpPC9iPjwvcD4NCjxwPkNsZWFyIHJlcGx5IHRvIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzRXJyb3IoKTwvYj48L3A+DQo8cD5DaGVjayBmb3IgYW4gZXJyb3IgY29uZGl0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzSFRNTCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGh0bWwgZmxhZzwvcD4NCjxwPjxpPk5vdGU8L2k+IHBvc3NpYmx5IHRoaXMgc2hvdWxkIGJlIGEgZ2V0IGFuZCBzZXQgbWV0aG9kPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzTWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc1FtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBxbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc2VuZG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU01UUCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2VuZCgpPC9iPjwvcD4NCjxwPlNlbmQgdGhlIGN1cnJlbnRseSBwcmVwYXJlZCBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIDxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZ3VhZ2UgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U210cENsb3NlKCk8L2I+PC9wPg0KPHA+Q2xvc2UgdGhlIHNtdHAgY29ubmVjdGlvbjwvcD4NCjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlzIGhvbWVwYWdlIGF0IDxhIGhyZWY9JiMwMzk7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyYjMDM5Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyYjMDM5Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmIzAzOTs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSYjMDM5O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJiMwMzk7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCYjMDM5Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMjU3MzkwNzY5LjEyNzU2NDMxNDMuMTI4NjAxMzk4NC4xMjg2MDE4OTI4LjEwNyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyODU3MzgwODguOTguMTQudXRtY3NyPWZlZWRidXJuZXJ8dXRtY2NuPUZlZWQ6IGNtc21hZGVzaW1wbGUvYmxvZyAoQ01TIE1hZGUgU2ltcGxlKXx1dG1jbWQ9ZmVlZCc7CiRsYW5nWydxY2EnXSA9ICdQMC0xOTgyNjM0NTk3LTEyNzU2NDMxNDI5NTUnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/hu_HU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnRXogYSB0ZXN6dCByZWRzemVyIG4mZWFjdXRlO2xrJnV1bWw7bCB2YW4gbCZlYWN1dGU7dHJob3p2YS4gQmVsZXRlbGhldCBlZ3kgaWTFkWJlIGFtJmlhY3V0ZTtnIGVsbWVneS4nOwokbGFuZ1snbm9uZSddID0gJ0VneWlrIHNlbSc7CiRsYW5nWydzc2wnXSA9ICdTU0wnOwokbGFuZ1sndGxzJ10gPSAnVExTJzsKJGxhbmdbJ3NlY3VyZSddID0gJ1RpdGtvcyZpYWN1dGU7dCZhYWN1dGU7c2kgbWVjaGFuaXptdXMnOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICdDc2FrIGF6IFNNVFAgbSZvYWN1dGU7c3plcm4mZWFjdXRlO2wgYWxrYWxtYXphbmQmb2FjdXRlOy4gRXogYXogb3BjaSZvYWN1dGU7IG1lZ2VuZ2VkaSBhIGsmdXVtbDtsJm91bWw7bmImb3VtbDt6xZEga2FwY3NvbGF0LXRpdGtvcyZpYWN1dGU7dCZhYWN1dGU7c2kgbWVjaGFuaXptdXNvayBtZWdoYXQmYWFjdXRlO3JveiZhYWN1dGU7cyZhYWN1dGU7dC4nOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICdFenQgYSBtb2R1bHQgc3omYWFjdXRlO210YWxhbiBtJmFhY3V0ZTtzaWsgZmVsaGFzem4mYWFjdXRlO2xqYSBlLW1haWwgayZ1dW1sO2xkJmVhY3V0ZTtzIGMmZWFjdXRlO2xqJmFhY3V0ZTtiJm9hY3V0ZTtsLiBQb250b3MgYmUmYWFjdXRlO2xsJmlhY3V0ZTt0JmFhY3V0ZTtzYSBzeiZ1dW1sO2tzJmVhY3V0ZTtnZXMgYSBob3N0IGZ1dHRhdCZvYWN1dGU7ayZvdW1sO3JueWV6ZXRoZXouIEEgaG9zdGluZyBzem9sZyZhYWN1dGU7bHRhdCZvYWN1dGU7dCZvYWN1dGU7bCBrYXBvdHQgaW5mb3JtJmFhY3V0ZTtjaSZvYWN1dGU7ayBhbGFwaiZhYWN1dGU7biAmZWFjdXRlO3JkZW1lcyBwciZvYWN1dGU7YiZhYWN1dGU7bGtvem5vZC4gSGEgbSZlYWN1dGU7ZyAmaWFjdXRlO2d5IHNlbSBtZWd5IGEgdGVzenQgJnV1bWw7emVuZXQga2lrJnV1bWw7bGQmZWFjdXRlO3NlLCBha2tvciBrJmVhY3V0ZTtyZCBhIGhvc3Rpbmcgc3pvbGcmYWFjdXRlO2x0YXQmb2FjdXRlOyB0b3YmYWFjdXRlO2JiaSBzZWcmaWFjdXRlO3RzJmVhY3V0ZTtnJmVhY3V0ZTt0Lg0KJzsKJGxhbmdbJ2NoYXJzZXQnXSA9ICdLYXJha3RlciBraW9zenQmYWFjdXRlO3MnOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ0VneSB0ZXN6dCZ1dW1sO3plbmV0ZXQgZm9ndW5rIGsmdXVtbDtsZGVuaSBhIG1lZ2Fkb3R0IGMmaWFjdXRlO21yZS4gSGEgYSBrJnV1bWw7bGQmZWFjdXRlO3Mgc2lrZXJlcywgYWtrb3Igdmlzc3phdCZlYWN1dGU7ciZ1dW1sO25rIGVycmUgYXogb2xkYWxyYS4gRm9seXRhdG9kPyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICcmSWFjdXRlO3JqdWsgZXpla2V0IGF6ICZlYWN1dGU7cnQmZWFjdXRlO2tla2V0IGEgQ01TTWFpbGVyIGJlJmFhY3V0ZTtsbCZpYWN1dGU7dCZhYWN1dGU7c29raG96Pyc7CiRsYW5nWyd0ZXN0c3ViamVjdCddID0gJ0NNU01haWxlciBUZXN6dCAmVXVtbDt6ZW5ldCc7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ0V6dCBheiAmdXVtbDt6ZW5ldGV0IGF6JmVhY3V0ZTtydCBrYXB0YWQsIGhvZ3kgZWxsZW7FkXJpemhlc3MmdXVtbDtrIGEgQ01TTWFpbGVyIG1vZHVsIGJlJmFhY3V0ZTtsbCZpYWN1dGU7dCZhYWN1dGU7c2FpbmVrIGhlbHllc3MmZWFjdXRlO2cmZWFjdXRlO3QuDQpIYSBtZWdrYXB0YWQsIGFra29yIG1pbmRlbiBoZWx5ZXNlbiB2YW4gYmUmYWFjdXRlO2xsJmlhY3V0ZTt0dmEgJmVhY3V0ZTtzICZvdW1sO3ImdXVtbDtsJnV1bWw7bmsuJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICdIaWJhOiBOaW5jcyBtZWdhZHZhIHRlc3p0YyZpYWN1dGU7bSc7CiRsYW5nWydwcm9tcHRfdGVzdGFkZHJlc3MnXSA9ICdUZXN6dCBFbWFpbCBDJmlhY3V0ZTttJzsKJGxhbmdbJ3NlbmR0ZXN0J10gPSAnVGVzenQgJlV1bWw7emVuZXQgSyZ1dW1sO2xkJmVhY3V0ZTtzZSc7CiRsYW5nWydwYXNzd29yZCddID0gJ0plbHN6Jm9hY3V0ZTsnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdGZWxoYXN6biZhYWN1dGU7bCZvYWN1dGU7IG4mZWFjdXRlO3YnOwokbGFuZ1snc210cGF1dGgnXSA9ICdTTVRQIEhpdGVsZXMmaWFjdXRlO3QmZWFjdXRlO3MnOwokbGFuZ1snbWFpbGVyJ10gPSAnJlV1bWw7emVuZXRrJnV1bWw7bGQmZWFjdXRlO3NpIG1ldCZvYWN1dGU7ZHVzJzsKJGxhbmdbJ2hvc3QnXSA9ICdTTVRQIGhvc3QgbmV2ZTxici8+PGk+KHZhZ3kgSVAgYyZpYWN1dGU7bWUpPC9pPic7CiRsYW5nWydwb3J0J10gPSAnU01UUCBQb3J0IHN6JmFhY3V0ZTttYSc7CiRsYW5nWydmcm9tJ10gPSAnRmVsYWQmb2FjdXRlOyBjJmlhY3V0ZTttZSc7CiRsYW5nWydmcm9tdXNlciddID0gJ0ZlbGFkJm9hY3V0ZTsgZmVsaGFzem4mYWFjdXRlO2wmb2FjdXRlO2kgbmV2ZSc7CiRsYW5nWydzZW5kbWFpbCddID0gJ1NlbmRtYWlsICZ1YWN1dGU7dHZvbmFsJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdTTVRQIGlkxZFrb3JsJmFhY3V0ZTt0JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0VsayZ1dW1sO2xkJzsKJGxhbmdbJ2NhbmNlbCddID0gJ00mZWFjdXRlO2dzZW0nOwokbGFuZ1snaW5mb19tYWlsZXInXSA9ICdIYXN6biZhYWN1dGU7bG5kJm9hY3V0ZTsgZW1haWwgbWV0Jm9hY3V0ZTtkdXMgKHNlbmRtYWlsLCBzbXRwLCBtYWlsKS4gICZBYWN1dGU7bHRhbCZhYWN1dGU7YmFuIGF6IHNtdHAgYSBsZWdtZWdiJmlhY3V0ZTt6aGF0Jm9hY3V0ZTtiYi4nOwokbGFuZ1snaW5mb19ob3N0J10gPSAnU01UUCBob3N0IG5ldmUgKGNzYWsgYXogc210cCBtZXQmb2FjdXRlO2R1cyBlc2V0JmVhY3V0ZTtuICZlYWN1dGU7cnYmZWFjdXRlO255ZXMpJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ1NNVFAgcG9ydCBzeiZhYWN1dGU7bWEgKCZhYWN1dGU7dGFsJmFhY3V0ZTtiYW4gMjUpIChjc2FrIGF6IHNtdHAgbWV0Jm9hY3V0ZTtkdXMgZXNldCZlYWN1dGU7biAmZWFjdXRlO3J2JmVhY3V0ZTtueWVzKSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICdBIGZlbGFkJm9hY3V0ZTsgYyZpYWN1dGU7bWUgYXogJm91bWw7c3N6ZXMga2ltZW7FkSBtYWlsLWVuJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICdBIGZlbGFkJm9hY3V0ZTsgdGVybSZlYWN1dGU7c3pldGVzIG5ldmUgYXogJm91bWw7c3N6ZXMga2ltZW7FkSBtYWlsLWVuJzsKJGxhbmdbJ2luZm9fc2VuZG1haWwnXSA9ICdBIHNlbmRtYWlsIGJpbiZhYWN1dGU7cmlzIHRlbGplcyAmdWFjdXRlO3R2b25hbGEgKGNzYWsgYSBzZW5kbWFpbCBtZXQmb2FjdXRlO2R1cyBlc2V0JmVhY3V0ZTtuICZlYWN1dGU7cnYmZWFjdXRlO255ZXMpJzsKJGxhbmdbJ2luZm9fdGltZW91dCddID0gJ0F6b24gbSZhYWN1dGU7c29kcGVyY2VrIHN6JmFhY3V0ZTttYSBlZ3kgU01UUCBrb21tdW5payZhYWN1dGU7Y2kmb2FjdXRlO2JhbiwgYW1pdCBtJmVhY3V0ZTtnIGVsZm9nYWR1bmsgJmVhY3V0ZTtydiZlYWN1dGU7bnllc25layAoY3NhayBheiBzbXRwIG1ldCZvYWN1dGU7ZHVzIGVzZXQmZWFjdXRlO24gJmVhY3V0ZTtydiZlYWN1dGU7bnllcyknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ01lZ2smb3VtbDt2ZXRlbGkgYXogU01UUCBob3N0IGEgaGl0ZWxlcyZpYWN1dGU7dCZlYWN1dGU7c3Q/IChjc2FrIGF6IHNtdHAgbWV0Jm9hY3V0ZTtkdXMgZXNldCZlYWN1dGU7biAmZWFjdXRlO3J2JmVhY3V0ZTtueWVzKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAnU01UUCBoaXRlbGVzJmlhY3V0ZTt0JmVhY3V0ZTtzaGV6IGhhc3puJmFhY3V0ZTtsdCBmZWxoYXN6biZhYWN1dGU7bCZvYWN1dGU7IG4mZWFjdXRlO3YgKGNzYWsgYXogc210cCBtZXQmb2FjdXRlO2R1cyBlc2V0JmVhY3V0ZTtuICZlYWN1dGU7cnYmZWFjdXRlO255ZXMsIGFtaWtvciBhIGhpdGVsZXMmaWFjdXRlO3QmZWFjdXRlO3MgaXMga2kgdmFuIHYmYWFjdXRlO2xhc3p0dmEpJzsKJGxhbmdbJ2luZm9fcGFzc3dvcmQnXSA9ICdTTVRQIGhpdGVsZXMmaWFjdXRlO3QmZWFjdXRlO3NoZXogaGFzem4mYWFjdXRlO2x0IGplbHN6Jm9hY3V0ZTsgKGNzYWsgYXogc210cCBtZXQmb2FjdXRlO2R1cyBlc2V0JmVhY3V0ZTtuICZlYWN1dGU7cnYmZWFjdXRlO255ZXMsIGFtaWtvciBhIGhpdGVsZXMmaWFjdXRlO3QmZWFjdXRlO3MgaXMga2kgdmFuIHYmYWFjdXRlO2xhc3p0dmEpJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NNU01haWxlciBNb2R1bCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0EgQ01TTWFpbGVyIG1vZHVsIHRlbGVwJmlhY3V0ZTt0JmVhY3V0ZTtzZSBtZWd0Jm91bWw7cnQmZWFjdXRlO250JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdBIENNU01haWxlciBtb2R1bCBlbHQmYWFjdXRlO3ZvbCZpYWN1dGU7dCZhYWN1dGU7c2EgbWVndCZvdW1sO3J0JmVhY3V0ZTtudC4uLiBzYWpuJmFhY3V0ZTtsanVrLCBob2d5IGVsbSZlYWN1dGU7c3ouJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnQSBtb2R1bCBlbHQmYWFjdXRlO3ZvbCZpYWN1dGU7dCZhYWN1dGU7c2EgbWVndCZvdW1sO3J0JmVhY3V0ZTtudC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnQSBtb2R1bCAlcyB2ZXJ6aSZvYWN1dGU7amEgdGVsZXAmaWFjdXRlO3R2ZSB2YW4uJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0EgaG96eiZhYWN1dGU7ZiZlYWN1dGU7ciZlYWN1dGU7cyBtZWd0YWdhZHZhLiBLJmVhY3V0ZTtyZW0sIGVsbGVuxZFyaXp6ZSBhIGpvZ29zdWx0cyZhYWN1dGU7Z29rYXQuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnSGliYSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdBIG1vZHVsdCBmcmlzcyZpYWN1dGU7dGV0dCZ1dW1sO2sgZXJyZSBhIHZlcnppJm9hY3V0ZTtyYTogJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsIHByZWZlcmVuY2kmYWFjdXRlO2snOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWwgQWRtaW4gUGFuZWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdDTVNNYWlsZXIgTW9kdWwnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFeiBlZ3kgZWd5c3plcsWxIGJ1cmtvbCZvYWN1dGU7IGEgUEhQTWFpbGVyIGsmb3VtbDtyJmVhY3V0ZTsuIEF6emFsIGYmdXVtbDtnZ3YmZWFjdXRlO255csWRbC1mJnV1bWw7Z2d2JmVhY3V0ZTtueXJlIG1lZ2VneWV6xZEgQVBJLXZhbCByZW5kZWxrZXppaywgcGx1c3ogZWd5IGVneXN6ZXLFsSBpbnRlcmZhY2Utc3plbCBuJmVhY3V0ZTtoJmFhY3V0ZTtueSBkZWZhdWx0LWhvei4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS43My4xLiBPY3RvYmVyLCAyMDA1LiBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHRoZSBhZG1pbiBwYW5lbC4gIFRoZSBkcm9wZG93biB3YXMgbm90IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSBwcmVmZXJlbmNlcyBkYXRhYmFzZTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjMuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCBzZW5kaW5nIGh0bWwgZW1haWw8L2xpPg0KPGxpPlZlcnNpb24gMS43My40LiBOb3ZlbWJlciwgMjAwNS4gRm9ybSBmaWVsZHMgaW4gcHJlZmVyZW5jZXMgYXJlIGxhcmdlciwgZml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIGZyb211c2VyLCBhbmQgY2FsbGVkIHJlc2V0IHdpdGhpbiB0aGUgY29uc3RydWN0b3I8L2xpPg0KPGxpPlZlcnNpb24gMS43My41LiBOb3ZlbWJlciwgMjAwNS4gQWRkZWQgdGhlIGZvcm0gZmllbGRzIGFuZCBmdW5jdGlvbmFsaXR5IGZvciBTTVRQIGF1dGhlbnRpY2F0aW9uLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjYuIERlY2VtYmVyLCAyMDA1LiBEZWZhdWx0IG1haWxlciBtZXRob2QgaXMgU01UUCBvbiBpbnN0YWxsLCBhbmQgaW1wcm92ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIG5vdyBJIGNsZWFyIGFsbCB0aGUgYXR0YWNobWVudHMsIGFuZCBhZGRyZXNzZXMsIGV0Yy4gb24gcmVzZXQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNy4gSmFudWFyeSwgMjAwNi4gSW5jcmVhc2VkIGZpZWxkIGxlbmd0aHMgaW4gbW9zdCBmaWVsZHM8L2xpPg0KPGxpPlZlcnNpb24gMS43My44LiBKYW51YXJ5LCAyMDA2LiBDaGFuZ2VkIHRoZSBwcmVmZXJlbmNlcyBwYW5lbCB0byBiZSBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjkuIEphbnVhcnksIDIwMDYuIEFkZGVkIHRlc3QgZW1haWwgY2FwYWJpbGl0eSwgYW5kIGNvbmZpcm1hdGlvbiBvbiBlYWNoIGJ1dHRvbiAoZXhjZXB0IGNhbmNlbCk8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgbm8gZW5kIHVzZXIgZnVuY3Rpb25hbGl0eS4gIEl0IGlzIGRlc2lnbmVkIHRvIGJlIGludGVncmF0ZWQgaW50byBvdGhlciBtb2R1bGVzIHRvIHByb3ZpZGUgZW1haWwgY2FwYWJpbGl0aWVzLiAgVGhhdHMgaXQsIG5vdGhpbmcgbW9yZS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIGFsbCBvZiB0aGUgbWV0aG9kcyBhbmQgdmFyaWFibGVzIG9mIHBocG1haWxlci4gIEl0IGlzIGRlc2lnbmVkIGZvciB1c2UgYnkgb3RoZXIgbW9kdWxlIGRldmVsb3BlcnMsIGJlbG93IGlzIGFuIGV4YW1wbGUsIGFuZCBhIGJyaWVmIEFQSSByZWZlcmVuY2UuICBQbGVhc2UgcmVhZCB0aGUgUEhQTWFpbGVyIGRvY3VtZW50YXRpb24gaW5jbHVkZWQgZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPg0KPGgzPkFuIEV4YW1wbGU8L2gzPg0KPHByZT4NCiAgJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgmIzAzOTtDTVNNYWlsZXImIzAzOTspOw0KICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCYjMDM5O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mIzAzOTssJiMwMzk7Y2FsZ3V5JiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2V0Qm9keSgmIzAzOTs8aDQ+VGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvaDQ+JiMwMzk7KTsNCiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOw0KICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCYjMDM5O1Rlc3QgbWVzc2FnZSYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNlbmQoKTsNCjwvcHJlPg0KPGgzPkFQSTwvaDM+DQo8dWw+DQo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4NCjxwPlJlc2V0IHRoZSBvYmplY3QgYmFjayB0byB0aGUgdmFsdWVzIHNwZWNpZmllZCBpbiB0aGUgYWRtaW4gcGFuZWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IGlzby04ODU5LTE8L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4NCjxwPlJldHVybiB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgZW5jb2Rpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgZW5jb2Rpbmc8L3A+DQo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIEhFTE8gc3RyaW5nPC9wPg0KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPHA+VmFsdWVzIGFyZSAxPUhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBMb3c8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRlciBlbWFpbCAocmV0dXJuIHBhdGgpIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kZXIgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIEJDQyYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIENDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+DQo8cD5BZGQgYSBjdXN0b20gaGVhZGVyIHRvIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkRW1iZWRkZWRJbWFnZSggJHBhdGgsICRjaWQsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhbiBlbWJlZGRlZCBpbWFnZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgcmVjaXBpZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhdHRhY2htZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIEJDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIENDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGN1c3RvbSBoZWFkZXJzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhclJlcGx5dG8oKTwvYj48L3A+DQo8cD5DbGVhciByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPg0KPHA+Q2hlY2sgZm9yIGFuIGVycm9yIGNvbmRpdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBodG1sIGZsYWc8L3A+DQo8cD48aT5Ob3RlPC9pPiBwb3NzaWJseSB0aGlzIHNob3VsZCBiZSBhIGdldCBhbmQgc2V0IG1ldGhvZDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc01haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNRbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgcW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NNVFAoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNlbmQoKTwvYj48L3A+DQo8cD5TZW5kIHRoZSBjdXJyZW50bHkgcHJlcGFyZWQgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+DQo8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPSYjMDM5O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmIzAzOTs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmIzAzOTs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JiMwMzk7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJiMwMzk7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0mIzAzOTttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmIzAzOTs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWydxY2EnXSA9ICdQMC0xMzIyNzY3NzktMTMxODYyMDExNzA2NSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjM5MjQ0NzgyMy4xMzIxMTg5MDUzLjEzMjEyMTYxNTkuMTMyMTIyMDAyNy43JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTMyMTE4OTA1My4xLjEudXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9wcm9qZWN0L2xpc3QvbW9kdWxlJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/id_ID.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdQZXNhbiBwZXJjb2JhYW4gYWthbiBkaWtpcmlta2FuIGtlIGFsYW1hdCB5YW5nIGRpYmVyaWthbi4gSmlrYSBwcm9zZXMgcGVuZ2lyaW1hbiBiZXJoYXNpbCwgQW5kYSBha2FuIGtlbWJhbGkga2UgaGFsYW1hbiBpbmkuIEFuZGEgYWthbiBtZWxhbmp1dGthbj8gJzsKJGxhbmdbJ3NldHRpbmdzY29uZmlybSddID0gJ0FrYW4gbWVudWxpcyBuaWxhaSBzYWF0IGluaSBrZSBwZW5nYXR1cmFuIENNU01haWxlcj8nOwokbGFuZ1sndGVzdHN1YmplY3QnXSA9ICdQZXNhbiBQZXJjb2JhYW4gQ01TTWFpbGVyJzsKJGxhbmdbJ3Rlc3Rib2R5J10gPSAnVGhpcyBtZXNzYWdlIGlzIGludGVuZGVkIG9ubHkgdG8gdmVyaWZ5IHRoZSB2YWxpZGl0eSBvZiB0aGUgc2V0dGluZ3MgaW4gdGhlIENNU01haWxlciBtb2R1bGUuDQpJZiB5b3UgcmVjZWl2ZWQgaXQsIGV2ZXJ5dGhpbmcgaXMgd29ya2luZyBmaW5lLic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAnRXJyb3I6IFRlc3QgYWRkcmVzcyBub3Qgc3BlY2lmaWVkJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ0FsYW1hdCBFbWFpbCBQZXJjb2JhYW4nOwokbGFuZ1snc2VuZHRlc3QnXSA9ICdNZW5naXJpbSBQZXNhbiBQZXJjb2JhYW4nOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdLYXRhIEt1bmdpJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTmFtYXVzZXInOwokbGFuZ1snc210cGF1dGgnXSA9ICdBdXRlbnRpa2FzaSBTTVRQJzsKJGxhbmdbJ21haWxlciddID0gJ01ldG9kZSBNYWlsZXInOwokbGFuZ1snaG9zdCddID0gJ05hbWEgaG9zdCBTTVRQPGJyLz48aT4oYXRhdSBhbGFtYXQgSVApPC9pPic7CiRsYW5nWydwb3J0J10gPSAnUG9ydCBkYXJpIHNlcnZlciBTTVRQJzsKJGxhbmdbJ2Zyb20nXSA9ICdEYXJpIEFsYW1hdCc7CiRsYW5nWydmcm9tdXNlciddID0gJ0RhcmkgTmFtYXVzZXInOwokbGFuZ1snc2VuZG1haWwnXSA9ICdMb2thc2kgU2VuZG1haWwnOwokbGFuZ1sndGltZW91dCddID0gJ1NNVFAgdGltZW91dCc7CiRsYW5nWydzdWJtaXQnXSA9ICdLaXJpbSc7CiRsYW5nWydjYW5jZWwnXSA9ICdUaWRhayBqYWRpJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnTWFpbCBtZXRob2QgdG8gdXNlIChzZW5kbWFpbCwgc210cCwgbWFpbCkuICBVc3VhbGx5IHNtdHAgaXMgdGhlIG1vc3QgcmVsaWFibGUuJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ1NNVFAgaG9zdG5hbWUgKG9ubHkgdmFsaWQgZm9yIHRoZSBzbXRwIG1haWxlciBtZXRob2QpJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ1NNVFAgcG9ydCBudW1iZXIgKHVzdWFsbHkgMjUpIChvbmx5IHZhbGlkIGZvciB0aGUgc210cCBtYWlsZXIgbWV0aG9kKSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICdBZGRyZXNzIHVzZWQgYXMgdGhlIHNlbmRlciBpbiBhbGwgZW1haWxzJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICdGcmllbmRseSBuYW1lIHVzZWQgZm9yIHNlbmRpbmcgYWxsIGVtYWlscyc7CiRsYW5nWydpbmZvX3NlbmRtYWlsJ10gPSAnVGhlIGNvbXBsZXRlIHBhdGggdG8geW91ciBzZW5kbWFpbCBleGVjdXRhYmxlIChvbmx5IHZhbGlkIGZvciB0aGUgc2VuZG1haWwgbWFpbGVyIG1ldGhvZCknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnVGhlIG51bWJlciBvZiBzZWNvbmRzIGluIGFuIFNNVFAgY29udmVyc2F0aW9uIGJlZm9yZSBhbiBlcnJvciBvY2N1cnMgKHZhbGlkIGZvciB0aGUgc210cCBtYWlsZXIgbWV0aG9kKSc7CiRsYW5nWydpbmZvX3NtdHBhdXRoJ10gPSAnRG9lcyB5b3VyIHNtdHAgaG9zdCByZXF1aXJlIGF1dGhlbnRpY2F0aW9uICh2YWxpZCBvbmx5IGZvciB0aGUgc210cCBtYWlsZXIgbWV0aG9kKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAnU01UUCBhdXRoZW50aWNhdGlvbiB1c2VybmFtZSAodmFsaWQgb25seSBmb3Igc210cCBtYWlsZXIgbWV0aG9kLCB3aGVuIHNtdHAgYXV0aCBpcyBzZWxlY3RlZCknOwokbGFuZ1snaW5mb19wYXNzd29yZCddID0gJ1NNVFAgYXV0aGVudGljYXRpb24gcGFzc3dvcmQgKHZhbGlkIG9ubHkgZm9yIHNtdHAgbWFpbGVyIG1ldGhvZCwgd2hlbiBzbXRwIGF1dGggaXMgc2VsZWN0ZWQpJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsIENNU01haWxlcic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NNU01haWxlciBtb2R1bGUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ01TTWFpbGVyIG1vZHVsZSB1bmluc3RhbGxlZC4uLiBzb3JyeSB0byBzZWUgeW91IGxlYXZlJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0Frc2VzIGRpdG9sYWsuIFNpbGFoa2FuIHBlcmlrc2Egd2V3ZW5hbmcgQW5kYS4nOwokbGFuZ1snZXJyb3InXSA9ICdLZXNhbGFoYW4hJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgbWVuYWlra2FuIHRpbmdrYXQga2UgdmVyc2kgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsIFBlbmdhdHVyYW4nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWwgUGFuZWwgQWRtaW4nOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdNb2R1bCBDTVNNYWlsZXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUaGlzIGlzIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIFBIUE1haWxlciwgaXQgaGFzIGFuIGVxdWl2YWxlbnQgQVBJIChmdW5jdGlvbiBmb3IgZnVuY3Rpb24pIGFuZCBhIHNpbXBsZSBpbnRlcmZhY2UgZm9yIHNvbWUgZGVmYXVsdHMuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldlbGNvbWUgdG8gdGhlIENNU01haWxlciBtb2R1bGUgYWRtaW4gc2VjdGlvbic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggdGhlIGFkbWluIHBhbmVsLiAgVGhlIGRyb3Bkb3duIHdhcyBub3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIHByZWZlcmVuY2VzIGRhdGFiYXNlPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBBZGRlZCB0aGUgZm9ybSBmaWVsZHMgYW5kIGZ1bmN0aW9uYWxpdHkgZm9yIFNNVFAgYXV0aGVudGljYXRpb24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJ5LCAyMDA2LiBJbmNyZWFzZWQgZmllbGQgbGVuZ3RocyBpbiBtb3N0IGZpZWxkczwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnVhcnksIDIwMDYuIENoYW5nZWQgdGhlIHByZWZlcmVuY2VzIHBhbmVsIHRvIGJlIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBubyBlbmQgdXNlciBmdW5jdGlvbmFsaXR5LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgaW50ZWdyYXRlZCBpbnRvIG90aGVyIG1vZHVsZXMgdG8gcHJvdmlkZSBlbWFpbCBjYXBhYmlsaXRpZXMuICBUaGF0cyBpdCwgbm90aGluZyBtb3JlLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgYWxsIG9mIHRoZSBtZXRob2RzIGFuZCB2YXJpYWJsZXMgb2YgcGhwbWFpbGVyLiAgSXQgaXMgZGVzaWduZWQgZm9yIHVzZSBieSBvdGhlciBtb2R1bGUgZGV2ZWxvcGVycywgYmVsb3cgaXMgYW4gZXhhbXBsZSwgYW5kIGEgYnJpZWYgQVBJIHJlZmVyZW5jZS4gIFBsZWFzZSByZWFkIHRoZSBQSFBNYWlsZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+DQo8aDM+QW4gRXhhbXBsZTwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCYjMDM5O0NNU01haWxlciYjMDM5Oyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJiMwMzk7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5OywmIzAzOTtjYWxndXkmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KCYjMDM5OzxoND5UaGlzIGlzIGEgdGVzdCBtZXNzYWdlPC9oND4mIzAzOTspOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoJiMwMzk7VGVzdCBtZXNzYWdlJiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2VuZCgpOw0KPC9wcmU+DQo8aDM+QVBJPC9oMz4NCjx1bD4NCjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPg0KPHA+UmVzZXQgdGhlIG9iamVjdCBiYWNrIHRvIHRoZSB2YWx1ZXMgc3BlY2lmaWVkIGluIHRoZSBhZG1pbiBwYW5lbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEFsdEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDaGFyU2V0KCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogaXNvLTg4NTktMTwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q2hhclNldCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb25maXJtUmVhZGluZ1RvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhZGRyZXNzIGNvbmZpcm1lZCByZWFkaW5nIGVtYWlsIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29uZmlybVJlYWRpbmdUbyggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgb3IgdW5zZXQgdGhlIGNvbmZpcm0gcmVhZGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiB0ZXh0L3BsYWluPC9wPg0KPHA+UmV0dXJuIHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5TZXQgdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVuY29kaW5nKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBlbmNvZGluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRFbmNvZGluZyggJGVuY29kaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBlbmNvZGluZzwvcD4NCjxwPk9wdGlvbnMgYXJlOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlJldHVybiBhbnkgZXJyb3IgaW5mb3JtYXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RnJvbSggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIZWxvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBIRUxPIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8cD5EZWZhdWx0IHZhbHVlOiAkaG9zdG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBTTVRQcyBob3N0IHNlcGFyYXRlZCBieSBzZW1pY29sb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldE1haWxlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyLCBlaXRoZXIgc2VuZG1haWwsbWFpbCwgb3Igc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFBhc3N3b3JkKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBhc3N3b3JkKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UG9ydCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcG9ydCBudW1iZXIgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgcG9ydCBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8cD5WYWx1ZXMgYXJlIDE9SGlnaCwgMyA9IE5vcm1hbCwgNSA9IExvdzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZGVyIGVtYWlsIChyZXR1cm4gcGF0aCkgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRlciggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRlciBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kbWFpbCggJHBhdGggKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEF1dGgoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQQXV0aCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBEZWJ1ZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0VGltZW91dCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFdvcmRXcmFwKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEF0dGFjaG1lbnQoICRwYXRoLCAkbmFtZSA9ICYjMDM5OyYjMDM5OywgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEJDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgQkNDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgQ0MmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEN1c3RvbUhlYWRlciggJHR4dCApPC9iPjwvcD4NCjxwPkFkZCBhIGN1c3RvbSBoZWFkZXIgdG8gdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRFbWJlZGRlZEltYWdlKCAkcGF0aCwgJGNpZCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGFuIGVtYmVkZGVkIGltYWdlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRSZXBseVRvKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFkZHJlc3NlcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWxsUmVjaXBpZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCByZWNpcGllbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckF0dGFjaG1lbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGF0dGFjaG1lbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQkNDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckN1c3RvbUhlYWRlcnMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgY3VzdG9tIGhlYWRlcnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyUmVwbHl0bygpPC9iPjwvcD4NCjxwPkNsZWFyIHJlcGx5IHRvIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzRXJyb3IoKTwvYj48L3A+DQo8cD5DaGVjayBmb3IgYW4gZXJyb3IgY29uZGl0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzSFRNTCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGh0bWwgZmxhZzwvcD4NCjxwPjxpPk5vdGU8L2k+IHBvc3NpYmx5IHRoaXMgc2hvdWxkIGJlIGEgZ2V0IGFuZCBzZXQgbWV0aG9kPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzTWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc1FtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBxbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc2VuZG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU01UUCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2VuZCgpPC9iPjwvcD4NCjxwPlNlbmQgdGhlIGN1cnJlbnRseSBwcmVwYXJlZCBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIDxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZ3VhZ2UgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U210cENsb3NlKCk8L2I+PC9wPg0KPHA+Q2xvc2UgdGhlIHNtdHAgY29ubmVjdGlvbjwvcD4NCjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlzIGhvbWVwYWdlIGF0IDxhIGhyZWY9JiMwMzk7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyYjMDM5Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyYjMDM5Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmIzAzOTs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSYjMDM5O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJiMwMzk7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCYjMDM5Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTcwMDUyNjA3Mi4xMTU1MTAxMTAzLjExNTUxMDExMDMuMTE1NTEwMTEwMy4xJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTU1MTAxMTAzLjEuMS51dG1jY249KG9yZ2FuaWMpfHV0bWNzcj1nb29nbGV8dXRtY3RyPWNtcyBtYWRlIHNpbXBsZXx1dG1jbWQ9b3JnYW5pYyc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnUXVlc3RvIHRlc3QgJmVncmF2ZTsgZ2VuZXJhdG8gaW4gbW9kbyBub24gZnJlcXVlbnRlLiAgUG90cmViYmUgcmljaGllZGVyZSB0ZW1wbyBwcmltYSBkaSBzY29tcGFyaXJlJzsKJGxhbmdbJ25vbmUnXSA9ICdOZXNzdW5vJzsKJGxhbmdbJ3NzbCddID0gJ1NTTCAnOwokbGFuZ1sndGxzJ10gPSAnVExTICc7CiRsYW5nWydzZWN1cmUnXSA9ICdNZWNjYW5pc21vIGRpIGNyaXB0YXppb25lJzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAnQXBwbGljYWJpbGUgc29sbyBhbCBtZXRvZG8gU01UUCwgcXVlc3RhIG9wemlvbmUgcGVybWV0dGUgZGkgc3BlY2lmaWNhcmUgcGVyIGxhIGNvbm5lc3Npb25lIGRpZmZlcmVudGkgbWVjY2FuaXNtaSBkaSBjcmlwdGF6aW9uZSc7CiRsYW5nWydpbmZvX2Ntc21haWxlciddID0gJ1F1ZXN0byBtb2R1bG8gJmVncmF2ZTsgdXNhdG8gZGEgbnVtZXJvc2kgYWx0cmkgbW9kdWxpIHBlciBmYWNpbGl0YXJlIGwmIzAzOTtpbnZpbyBkaSBlbWFpLiBFc3NvIGRldmUgcGVyJm9ncmF2ZTsgZXNzZXJlIHByb3ByaWFtZW50ZSBjb25maWd1cmF0byBzZWNvbmRvIGxlIHJpY2hpZXN0ZSBkZWwgVm9zdHJvIHByb3ZpZGVyLiBTaSBwcmVnYSBkaSB1dGlsaXp6YXJlIHF1ZXN0ZSBpbmZvcm1hemlvbmkgcGVyIGNvbmZpZ3VyYXJlIGFkZWd1YXRhbWVudGUgaWwgbW9kdWxvLiBTZSBub24gYXJyaXZhIGlsIG1lc3NhZ2dpbyBkaSB0ZXN0LCBkb3ZldGUgY29udGF0dGFyZSBsJiMwMzk7YXNzaXN0ZW56YSBkZWwgVm9zdHJvIHByb3ZpZGVyLic7CiRsYW5nWydjaGFyc2V0J10gPSAnc2V0IGRpIGNhcmF0dGVyaSc7CiRsYW5nWydzZW5kdGVzdG1haWxjb25maXJtJ10gPSAnUXVlc3RvIHNwZWRpc2NlIHVuIG1lc3NhZ2dpbyBkaSB0ZXN0IGFsbCYjMDM5O2luZGlyaXp6byBzcGVjaWZpY2F0by4gU2UgbGEgc3BlZGl6aW9uZSBoYSBzdWNjZXNzbywgZG92cmVzdGUgcml0b3JuYXJlIGEgcXVlc3RhIHBhZ2luYS4gVnVvaSBwcm9jZWRlcmU/JzsKJGxhbmdbJ3NldHRpbmdzY29uZmlybSddID0gJ1Njcml2byBpIHZhbG9yaSBjb3JyZW50aSBuZWxsYSBjb25maWd1cmF6aW9uZSBkaSBDTVNNYWlsZXI/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnTWVzc2FnZ2lvIGRpIHRlc3QgZGkgQ01TTWFpbGVyJzsKJGxhbmdbJ3Rlc3Rib2R5J10gPSAnUXVlc3RvIG1lc3NhZ2dpbyAmZWdyYXZlOyBpbnRlc28gc29sbyBjb21lIHZlcmlmaWNhIGRlbGxhIHZhbGlkaXQmYWdyYXZlOyBkZWxsYSBjb25maWd1cmF6aW9uZSBkZWwgbW9kdWxvIENNU01haWxlci4NClNlIHJpY2V2ZXRlIHF1ZXN0byBtZXNzYWdnaW8gc2lnbmlmaWNhIHR1dHRvIHN0YSBmdW56aW9uYW5kbyBhIGRvdmVyZS4nOwokbGFuZ1snZXJyb3Jfbm90ZXN0YWRkcmVzcyddID0gJ0Vycm9yZTogSW5kaXJpenpvIGRpIHRlc3Qgbm9uIHNwZWNpZmljYXRvJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ0luZGlyaXp6byBlbWFpbCBkaSB0ZXN0JzsKJGxhbmdbJ3NlbmR0ZXN0J10gPSAnU3BlZGlzY2kgaWwgbWVzc2FnZ2lvIGRpIHRlc3QnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29yZCAnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOb21lIHV0ZW50ZSc7CiRsYW5nWydzbXRwYXV0aCddID0gJ0F1dGVudGljYXppb25lIFNNVFAnOwokbGFuZ1snbWFpbGVyJ10gPSAnTWV0b2RvIGRpIHNwZWRpemlvbmUnOwokbGFuZ1snaG9zdCddID0gJ05vbWUgc2VydmVyIFNNVFA8YnIgLz48aT4obyBpbmRpcml6em8gSVApPC9pPic7CiRsYW5nWydwb3J0J10gPSAnUG9ydGEgZGVsIHNlcnZlciBTTVRQJzsKJGxhbmdbJ2Zyb20nXSA9ICdJbmRpcml6em8gTWl0dGVudGUnOwokbGFuZ1snZnJvbXVzZXInXSA9ICdOb21lIE1pdHRlbnRlJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnUGVyY29yc28gZGkgU2VuZG1haWwnOwokbGFuZ1sndGltZW91dCddID0gJ1RpbWVvdXQgU01UUCc7CiRsYW5nWydzdWJtaXQnXSA9ICdJbnZpYSc7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGxhJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnTWV0b2RvIGRpIHNwZWRpemlvbmUgZGEgdXNhcmUgKHNlbmRtYWlsLCBzbXRwLCBtYWlsKS4gRGkgc29saXRvIHNtdHAgJmVncmF2ZTsgaWwgcGkmdWdyYXZlOyBhZmZpZGFiaWxlLic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICdOb21lIHNlcnZlciBTTVRQICh2YWxpZG8gc29sbyBwZXIgaWwgbWV0b2RvIGRpIHNwZWRpemlvbmUgc210cCknOwokbGFuZ1snaW5mb19wb3J0J10gPSAnTnVtZXJvIHBvcnRhIFNNVFAgKGRpIHNvbGl0byAyNSkgKHZhbGlkbyBzb2xvIHBlciBpbCBtZXRvZG8gZGkgc3BlZGl6aW9uZSBzbXRwKSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICdJbmRpcml6em8gdXNhdG8gY29tZSBtaXR0ZW50ZSBwZXIgbGEgc3BlZGl6aW9uZSBkaSB0dXR0ZSBsZSBlbWFpbC48YnIvPjxzdHJvbmc+Tm90YTwvc3Ryb25nPiwgcXVlc3RvIGluZGlyaXp6byBlbWFpbCBkZXZlIGVzc2VyZSBjb25maWd1cmF0byBjb3JyZXR0YW1lbnRlIHBlciBpbCB2b3N0cm8gaG9zdCBvIGF2cmV0ZSBkaWZmaWNvbHQmYWdyYXZlOyBhIHNwZWRpcmUgZW1haWwuPGJyLz5TZSBub24gY29ub3NjZXRlIGlsIHZhbG9yZSBjb3JyZXR0byBkaSBxdWVzdGEgaW1wb3N0YXppb25lLCBkb3ZyZXN0ZSBjb250YXR0YXJlIGlsIHZvc3RybyBob3N0Lic7CiRsYW5nWydpbmZvX2Zyb211c2VyJ10gPSAnTm9tZSB1dGlsaXp6YXRvIHBlciBsYSBzcGVkaXppb25lIGRpIHR1dHRlIGxlIGVtYWlsJzsKJGxhbmdbJ2luZm9fc2VuZG1haWwnXSA9ICdJbCBwZXJjb3JzbyBjb21wbGV0byBkZWwgcHJvZ3JhbW1hIHNlbmRtYWlsICh2YWxpZG8gc29sbyBwZXIgaWwgbWV0b2RvIGRpIHNwZWRpemlvbmUgc210cCknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnSWwgbnVtZXJvIGRpIHNlY29uZGkgbmVsbGEgY29udmVyc2F6aW9uZSBTTVRQIHByaW1hIGNoZSBzaSB2ZXJpZmljaGkgdW4gZXJyb3JlICh2YWxpZG8gc29sbyBwZXIgaWwgbWV0b2RvIGRpIHNwZWRpemlvbmUgc210cCknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ0lsIHNlcnZlciBzbXRwIHJpY2hpZWRlIGF1dGVudGljYXppb25lICh2YWxpZG8gc29sbyBwZXIgaWwgbWV0b2RvIGRpIHNwZWRpemlvbmUgc210cCknOwokbGFuZ1snaW5mb191c2VybmFtZSddID0gJ05vbWUgdXRlbnRlIHBlciBsJiMwMzk7YXV0ZW50aWNhemlvbmUgU01UUCAodmFsaWRvIHNvbG8gcGVyIGlsIG1ldG9kbyBkaSBzcGVkaXppb25lIHNtdHAsIHF1YW5kbyAmZWdyYXZlOyBzZWxlemlvbmF0YSBsJiMwMzk7YXV0ZW50aWNhemlvbmUgc210cCknOwokbGFuZ1snaW5mb19wYXNzd29yZCddID0gJ1Bhc3N3b3JkIGRlbGwmIzAzOTthdXRlbnRpY2F6aW9uZSBTTVRQICh2YWxpZG8gc29sbyBwZXIgaWwgbWV0b2RvIGRpIHNwZWRpemlvbmUgc210cCwgcXVhbmRvICZlZ3JhdmU7IHNlbGV6aW9uYXRhIGwmIzAzOTthdXRlbnRpY2F6aW9uZSBzbXRwKSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDTVNNYWlsZXIgJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSWwgbW9kdWxvIENNU01haWxlciAmZWdyYXZlOyBzdGF0byBpbnN0YWxsYXRvIGNvbiBzdWNjZXNzbyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWxvIENNU01haWxlciBkaXNpbnN0YWxsYXRvJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxvIGRpc2luc3RhbGxhdG8uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ1ZlcnNpb25lIGRlbCBtb2R1bG8gJXMgaW5zdGFsbGF0YS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzbyBuZWdhdG8uIFNpIHByZWdhIGRpIGNvbnRyb2xsYXJlIGkgcGVybWVzc2kuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3JlISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsbyBhZ2dpb3JuYXRvIGFsbGEgdmVyc2lvbmUgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ByZWZlcmVuemUgbW9kdWxvJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ1Bhbm5lbGxvIGRpIGFtbWluaXN0cmF6aW9uZSBkZWwgbW9kdWxvJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnTW9kdWxvIENNU01haWxlcic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1F1ZXN0byAmZWdyYXZlOyB1biBzZW1wbGljZSB3cmFwcGVyIHBlciBQSFBNYWlsZXIsIGhhIHVuYSBlcXVpdmFsZW50ZSBBUEkgKGZ1bnppb25lIGRpIGZ1bnppb25lKSBlZCB1bmEgc2VtcGxpY2UgaW50ZXJmYWNjaWEgcGVyIGFsY3VuaSB2YWxvcmkgcHJlZGVmaW5pdGkuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDEuNzMuMS4gT2N0b2JlciwgMjAwNS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjIuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCB0aGUgYWRtaW4gcGFuZWwuICBUaGUgZHJvcGRvd24gd2FzIG5vdCByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdmFsdWUgZnJvbSB0aGUgcHJlZmVyZW5jZXMgZGF0YWJhc2U8L2xpPg0KPGxpPlZlcnNpb24gMS43My4zLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggc2VuZGluZyBodG1sIGVtYWlsPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNC4gTm92ZW1iZXIsIDIwMDUuIEZvcm0gZmllbGRzIGluIHByZWZlcmVuY2VzIGFyZSBsYXJnZXIsIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmcm9tdXNlciwgYW5kIGNhbGxlZCByZXNldCB3aXRoaW4gdGhlIGNvbnN0cnVjdG9yPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNS4gTm92ZW1iZXIsIDIwMDUuIEFkZGVkIHRoZSBmb3JtIGZpZWxkcyBhbmQgZnVuY3Rpb25hbGl0eSBmb3IgU01UUCBhdXRoZW50aWNhdGlvbi48L2xpPg0KPGxpPlZlcnNpb24gMS43My42LiBEZWNlbWJlciwgMjAwNS4gRGVmYXVsdCBtYWlsZXIgbWV0aG9kIGlzIFNNVFAgb24gaW5zdGFsbCwgYW5kIGltcHJvdmVkIGRvY3VtZW50YXRpb24sIGFuZCBub3cgSSBjbGVhciBhbGwgdGhlIGF0dGFjaG1lbnRzLCBhbmQgYWRkcmVzc2VzLCBldGMuIG9uIHJlc2V0LjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjcuIEphbnVhcnksIDIwMDYuIEluY3JlYXNlZCBmaWVsZCBsZW5ndGhzIGluIG1vc3QgZmllbGRzPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOC4gSmFudWFyeSwgMjAwNi4gQ2hhbmdlZCB0aGUgcHJlZmVyZW5jZXMgcGFuZWwgdG8gYmUgYSBiaXQgbW9yZSBkZXNjcmlwdGl2ZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My45LiBKYW51YXJ5LCAyMDA2LiBBZGRlZCB0ZXN0IGVtYWlsIGNhcGFiaWxpdHksIGFuZCBjb25maXJtYXRpb24gb24gZWFjaCBidXR0b24gKGV4Y2VwdCBjYW5jZWwpPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTAuIEF1Z3VzdCwgMjAwNi4gTW9kaWZpZWQgdG8gdXNlIGxhenkgbG9hZGluZyB0byBtaW5pbWl6ZSBtZW1vcnkgZm9vdHByaW50IHdoZW4gQ01TTWFpbGVyIGlzIG5vdCBiZWluZyB1c2VkLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEzLiBKYW51YXJ5LCAyMDA4LiAgQWRkZWQgbW9yZSBwZXJtaXNzaW9ucyBjaGVja3MuPC9saT4NCjxsaT5WZXJzaW9uIDIuMC4xIC0gSmFudWFyeSwgMjAxMSAtIFJlbW92ZSBjYW5jZWwgYnV0dG9uLjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMiAtIFNlcHRlbWJlciwgMjAxMSAtIFNldCBkZWZhdWx0IGNoYXJzZXQgdG8gdXRmLTguPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+Q2hlIGNvc2EgZmE/PC9oMz4NCjxwPlF1ZXN0byBtb2R1bG8gbm9uIHByb3Z2ZWRlIG5lc3N1bmEgZnVuemlvbmFsaXQmYWdyYXZlOyB1dGVudGUuIEUmIzAzOTsgZGlzZWduYXRvIHBlciBlc3NlcmUgaW50ZWdyYXRvIGluIGFsdHJpIG1vZHVsaSBwZXIgcHJvdnZlZGVyZSBsYSBjYXBhY2l0JmFncmF2ZTsgZGkgc3BlZGl6aW9uZSBlbWFpbHMuPC9wPg0KPGgzPkNvbWUgdXNhcmxvPC9oMz4NCjxwPlF1ZXN0byBtb2R1bG8gZm9ybmlzY2UgdW4gc2VtcGxpY2Ugd3JhcHBlciBwZXIgdHV0dGkgaSBtZXRvZGkgZSBsZSB2YXJpYWJpbGkgZGkgcGhwbWFpbGVyLiBFJiMwMzk7IGRpc2VnbmF0byBwZXIgZXNzZXJlIHVzYXRvIGRhIGFsdHJpIHN2aWx1cHBhdG9yaSBkaSBtb2R1bGksIHNvdHRvIHZpZW5lIHJpcG9ydGF0byB1biBlc2VtcGlvIGVkIHVuIGJyZXZlIHJpZmVyaW1lbnRvIGRpIEFQSS4gU2kgcHJlZ2EsIHBlciBwaSZ1Z3JhdmU7IGluZm9ybWF6aW9uaSwgZGkgbGVnZ2VyZSBsYSBkb2N1bWVudGF6aW9uZSBkaSBQSFBNYWlsZXIgaW5jbHVzYS48L3A+DQo8aDM+VW4gZXNlbXBpbzwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCYjMDM5O0NNU01haWxlciYjMDM5Oyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJiMwMzk7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5OywmIzAzOTtjYWxndXkmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KCYjMDM5OzxoMT5UaGlzIGlzIGEgdGVzdCBtZXNzYWdlPGgxPiYjMDM5Oyk7DQogICRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsNCiAgJGNtc21haWxlci0+U2V0U3ViamVjdCgmIzAzOTtUZXN0IG1lc3NhZ2UmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZW5kKCk7DQo8L3ByZT4NCjxoMz5BUEk8L2gzPg0KPHVsPg0KPGxpPjxwPjxiPnZvaWQgcmVzZXQoKTwvYj48L3A+DQo8cD5SZXNldHRhIGwmIzAzOTtvZ2dldHRvIGFpIHZhbG9yaSBzcGVjaWZpY2F0aSBuZWwgcGFubmVsbG8gZGkgYW1taW5pc3RyYXppb25lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0QWx0Qm9keSgpPC9iPjwvcD4NCjxwPlJlc3RpdHVpc2NlIGlsIGNvcnBvIGFsdGVybmF0aXZvIGRlbGxhIG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPkltcG9zdGEgaWwgY29ycG8gYWx0ZXJuYXRpdm8gZGVsbGEgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPg0KPHA+UmVzdGl0dWlzY2UgaWwgY29ycG8gcHJpbmNpcGFsZSBkZWxsYSBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5JbXBvc3RhIGlsIGNvcnBvIHByaW5jaXBhbGUgZGVsbGEgbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENoYXJTZXQoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiBpc28tODg1OS0xPC9wPg0KPHA+UmVzdGl0dWlzY2UgaWwgc2V0IGRpIGNhcmF0dGVyaSBkZWwgbWFpbGVyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5JbXBvc3RhIGlsIHNldCBkaSBjYXJhdHRlcmkgZGVsIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbmZpcm1SZWFkaW5nVG8oKTwvYj48L3A+DQo8cD5SZXN0aXR1aXNjZSBpbCBmbGFnIGRpIGNvbmZlcm1hIGRpIGxldHR1cmEgZGVsbGEgbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPkltcG9zdGEgbyBhbm51bGxhIGwmIzAzOTtpbmRpcml6em8gcGVyIGxhIGNvbmZlcm1hIGRpIGxldHR1cmE8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IHRleHQvcGxhaW48L3A+DQo8cD5SZXN0aXR1aXNjZSBpbCB0aXBvIGRpIGNvbnRlbnV0byAoY29udGVudCB0eXBlKTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPkltcG9zdGEgaWwgdGlwbyBkaSBjb250ZW51dG8gKGNvbnRlbnQgdHlwZSk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJlc3RpdHVpc2NlIGxhIGNvZGlmaWNhPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEVuY29kaW5nKCAkZW5jb2RpbmcgKTwvYj48L3A+DQo8cD5JbXBvc3RhIGxhIGNvZGlmaWNhPC9wPg0KPHA+TGUgb3B6aW9uaSBzb25vOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlJlc3RpdHVpc2NlIHF1YWxzaWFzaSBpbmZvcm1hemlvbmUgZGkgZXJyb3JlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJlc3RpdHVpc2NlIGwmIzAzOTthdHR1YWxlIGluZGlyaXp6byBkaSBvcmlnaW5lPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+SW1wb3N0YSBsJiMwMzk7aW5kaXJpenpvIGRpIG9yaWdpbmU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4NCjxwPlJlc3RpdHVpc2NlIGwmIzAzOTthdHR1YWxlIG5vbWUgZGkgb3JpZ2luZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+SW1wb3N0YSBsJiMwMzk7YXR0dWFsZSBub21lIGRpIG9yaWdpbmU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIZWxvKCk8L2I+PC9wPg0KPHA+UmVzdGl0dWlzY2UgbGEgc3RyaW5nYSBkaSBIRUxPPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRIZWxvKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+SW1wb3N0YSBsYSBzdHJpbmdhIGRpIEhFTE88L3A+DQo8cD5EZWZhdWx0IHZhbHVlOiAkaG9zdG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPg0KPHA+UmVzdGl0dWlzY2UgZ2xpIGhvc3QgU01UUCBzZXBhcmF0aSBkYSB1biBwdW50byBlIHZpcmdvbGE8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPkltcG9zdGEgbCYjMDM5O2hvc3Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4NCjxwPlJlc3RpdHVpc2NlIGlsIG5vbWUgaG9zdCB1c2F0byBwZXIgcGVyIGwmIzAzOTtIZWxvIFNNVFA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdE5hbWUoICRob3N0bmFtZSApPC9iPjwvcD4NCjxwPkltcG9zdGEgaWwgbm9tZSBob3N0IHVzYXRvIHBlciBsJiMwMzk7SGVsbyBTTVRQPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPg0KPHA+UmVzdGl0dWlzY2UgaWwgbWFpbGVyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4NCjxwPkltcG9zdGEgaWwgbWFpbGVyIG8gaWwgc2VuZG1haWwsIG1haWwgbyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0UGFzc3dvcmQoKTwvYj48L3A+DQo8cD5SZXN0aXR1aXNjZSBsYSBwYXNzd29yZCBwZXIgbCYjMDM5O2F1dGVudGljYXppb25lIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UGFzc3dvcmQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5JbXBvc3RhIGxhIHBhc3N3b3JkIHBlciBsJiMwMzk7YXV0ZW50aWNhemlvbmUgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXN0aXR1aXNjZSBpbCBudW1lcm8gZGkgcG9ydGEgcGVyIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4NCjxwPkltcG9zdGEgbGEgcG9ydGEgcGVyIGxlIGNvbm5lc3Npb25pIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPlJlc3RpdHVpc2NlIGxhIHByaW9yaXQmYWdyYXZlOyBkZWwgbWVzc2FnZ2lvPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvYj48L3A+DQo8cD5JbXBvc3RhIGxhIHByaW9yaXQmYWdyYXZlOyBkZWwgbWVzc2FnZ2lvPC9wPg0KPHA+SSB2YWxvcmkgc29ubyAxPUFsdGEsIDMgPSBOb3JtYWxlLCA1ID0gQmFzc2E8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD5SZXN0aXR1aXNjZSBsYSBzdHJpbmdhIGRlbCBtaXR0ZW50ZSBtYWlsIChwZXJjb3JzbyBkaSByaXRvcm5vKTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+SW1wb3N0YSBsYSBzdHJpbmdhIGRlbCBtaXR0ZW50ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRtYWlsKCk8L2I+PC9wPg0KPHA+UmVzdGl0dWlzY2UgaWwgcGVyY29yc28gZGVsIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRtYWlsKCAkcGF0aCApPC9iPjwvcD4NCjxwPkltcG9zdGEgaWwgcGVyY29yc28gZGVsIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmVzdGl0dWlzY2UgaWwgdmFsb3JlIGF0dHVhbGUgZGVsIGZsYWcgZGkgYXV0ZW50aWNhemlvbmUgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+SW1wb3N0YSBpbCBmbGFnIGRpIGF1dGVudGljYXppb25lIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUERlYnVnKCk8L2I+PC9wPg0KPHA+UmVzdGl0dWlzY2UgaWwgdmFsb3JlIGRlbCBmbGFnIGRpIGRlYnVnIFNNVFA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPkltcG9zdGEgaWwgZmxhZyBkaSBkZWJ1ZyBTTVRQPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXN0aXR1aXNjZSBpbCB2YWxvcmUgZGVsIGZsYWcga2VlcCBhbGl2ZSBTTVRQPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4NCjxwPkltcG9zdGEgaWwgZmxhZyBrZWVwIGFsaXZlIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+UmVzdGl0dWlzY2UgbCYjMDM5O2F0dHVhbGUgc3RyaW5nYSBkZWxsJiMwMzk7b2dnZXR0byBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5JbXBvc3RhIGxhIHN0cmluZ2Egb2dnZXR0byBkZWxsYSBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0VGltZW91dCgpPC9iPjwvcD4NCjxwPlJlc3RpdHVpc2NlIGlsIHZhbG9yZSBkaSB0aW1lb3V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFRpbWVvdXQoICRzZWNvbmRzICk8L2I+PC9wPg0KPHA+SW1wb3N0YSBpbCB2YWxvcmUgZGkgdGltZW91dDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPg0KPHA+UmVzdGl0dWlzY2UgaWwgbm9tZSB1dGVudGUgcGVyIGwmIzAzOTthdXRlbnRpY2F6aW9uZSBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+SW1wb3N0YSBpbCBub21lIHV0ZW50ZSBwZXIgbCYjMDM5O2F1dGVudGljYXppb25lIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJlc3RpdHVpc2NlIGlsIHZhbG9yZSBkZWxsJiMwMzk7YSBjYXBvIGF1dG9tYXRpY288L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5JbXBvc3RhIGlsIHZhbG9yZSBkZWxsJiMwMzk7YSBjYXBvIGF1dG9tYXRpY288L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFnZ2l1bmdlIHVuIGluZGlyaXp6byBkaSBkZXN0aW5hemlvbmU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEF0dGFjaG1lbnQoICRwYXRoLCAkbmFtZSA9ICYjMDM5OyYjMDM5OywgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZ2dpdW5nZSB1biBhbGxlZ2F0bzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZ2dpdW5nZSB1biBpbmRpcml6em8gZGkgZGVzdGluYXppb25lIG5lbCBjYW1wbyBCQ0M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZ2dpdW5nZSB1biBpbmRpcml6em8gZGkgZGV0aW5hemlvbmUgbmVsIGNhbXBvIENDPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+DQo8cD5BZ2dpdW5nZSB1biBoZWFkZXIgcGVyc29uYWxpenphdG8gYWxsYSBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRFbWJlZGRlZEltYWdlKCAkcGF0aCwgJGNpZCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWdnaXVuZ2UgdW4gaW1tYWdpbmUgaW5jb3Jwb3JhdGE8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFnZ2l1bmdlIHVuIGluZGlyaXp6byBwZXIgbGUgcmlzcG9zdGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFN0cmluZ0F0dGFjaG1lbnQoICRzdHJpbmcsICRmaWxlbmFtZSwgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZ2dpdW5nZSB1biBhbGxlZ2F0bzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+DQo8cD5DYW5jZWxsYSB0dXR0aSBnbGkgaW5kaXJpenppPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+DQo8cD5DYW5jZWxsYSB0dXR0aSBpIGRlc3RpbmF0YXJpPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckF0dGFjaG1lbnRzKCk8L2I+PC9wPg0KPHA+Q2FuY2VsbGEgdHV0dGkgZ2xpIGFsbGVnYXRpPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckJDQ3MoKTwvYj48L3A+DQo8cD5DYW5jZWxsYSBnbGkgaW5kaXJpenppIG5lbCBjYW1wbyBCQ0M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+Q2FuY2VsbGEgZ2xpIGluZGlyaXp6aSBuZWwgY2FtcG8gQ0M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPkNhbmNlbGxhIGdsaSBoZWFkZXIgcGVyc29uYWxpenphdGk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyUmVwbHl0bygpPC9iPjwvcD4NCjxwPkNhbmNlbGxhIGwmIzAzOTtpbmRpcml6em8gcGVyIGxlIHJpc3Bvc3RlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPg0KPHA+Q29udHJvbGxhIHNlIGVzaXN0b25vIGNvbmRpemlvbmkgZGkgZXJyb3JlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzSFRNTCggJGJvb2wgKTwvYj48L3A+DQo8cD5JbXBvc3RhIGlsIGZsYWcgaHRtbDwvcD4NCjxwPjxpPk5vdGE8L2k+IHF1ZXN0byBkb3ZyZWJiZSBlc3NlcmUgdW4gbWV0b2RvIGdldCBlIHNldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc01haWwoKTwvYj48L3A+DQo8cD5Db250cm9sbGEgc2Ugc3RpYW1vIHVzYW5kbyBsYSBmdW56aW9uZSBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5Db250cm9sbGEgc2Ugc3RpYW1vIHVzYW5kbyBsYSBmdW56aW9uZSBxbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPkNvbnRyb2xsYSBzZSBzdGlhbW8gdXNhbmRvIGxhIGZ1bnppb25lIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NNVFAoKTwvYj48L3A+DQo8cD5Db250cm9sbGEgc2Ugc3RpYW1vIHVzYW5kbyBsYSBmdW56aW9uZSBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+SW52aWEgbGEgbWFpbCBwcmVwYXJhdGEgb3JhPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkltcG9zdGEgbGEgbGluZ3VhIGNvcnJlbnRlIGUgPGVtPihvcHppb25hbGUpPC9lbT4gaWwgcGVyY29yc28gZGVsbGEgbGluZ3VhPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TbXRwQ2xvc2UoKTwvYj48L3A+DQo8cD5DaGl1ZGUgbGEgY29ubmVzc2lvbmUgc210cDwvcD4NCjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnRvPC9oMz4NCjxwPlF1ZXN0byBtb2R1bG8gbm9uIGluY2x1ZGUgc3VwcG9ydG8gY29tbWVyY2lhbGUuIFR1dHRhdmlhLCBjaSBzb25vIGRlbGxlIHJpc29yc2UgdXRpbGl6emFiaWxpIHBlciBhaXV0YXJ2aSBjb24gcXVlc3RvOjwvcD4NCjx1bD4NCjxsaT5QZXIgbCYjMDM5O3VsdGltYSB2ZXJzaW9uZSBkZWwgbW9kdWxvLCBGQVFzLCBCdWcgUmVwb3J0IG8gcGVyIGFjcXVpc3RhcmUgc3VwcG9ydG8gY29tbWVyY2lhbGUsIHZpc2l0YXJlIGxhIGhvbWVwYWdlIGRpIGNhbGd1eSBhIDxhIGhyZWY9JiMwMzk7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyYjMDM5Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+VWx0ZXJpb3JpIGRpc2N1c3Npb25pIGRpIHF1ZXN0byBtb2R1bG8gcG90ZXRlIHRyb3ZhcmxlIG5laSA8YSBocmVmPSYjMDM5O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyYjMDM5Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPkwmIzAzOTthdXRvcmUsIGNhbGd1eTEwMDAsIHNwZXNzbyBwdSZvZ3JhdmU7IGVzc2VyZSBjb250YXR0YXRvIG5lbCA8YSBocmVmPSYjMDM5O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyYjMDM5Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+SW5maW5lLCBwdW9pIGF2ZXJlIHN1Y2Nlc3NvIHRyYW1pdGUgZW1haWwsIGRpcmV0dGFtZW50ZSBhbGwmIzAzOTthdXRvcmUuPC9saT4gIA0KPC91bD4NCjxwPkNvbWUgcGVyIGxhIEdQTCwgcXVlc3RvIHNvZnR3YXJlICZlZ3JhdmU7IGZvcm5pdG8gY29zJmlncmF2ZTsgY29tJiMwMzk7JmVncmF2ZTsuIFNpIHByZWdhIGRpIGxlZ2dlcmUgaWwgdGVzdG8gZGVsbGEgbGljZW56YS48L3A+DQoNCjxoMz5Db3B5cmlnaHQgZSBsaWNlbnphPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9JiMwMzk7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mIzAzOTs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gVHV0dGkgaSBkaXJpdHRpIHNvbm8gcmlzZXJ2YXRpLjwvcD4NCjxwPlF1ZXN0byBtb2R1bG8gJmVncmF2ZTsgc3RhdG8gcmlsYXNjaWF0byBzb3R0byBsYSA8YSBocmVmPSYjMDM5O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCYjMDM5Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBEZXZpIGFkZXJpcmUgYSBxdWVzdGEgbGljZW56YSBwcmltYSBkaSB1c2FyZSBpbCBtb2R1bG8uPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTA3NzY4NDEzLjc2MTQ2MDI0OC4xMzU3NzUzOTgwLjEzNTc3NTM5ODAuMTM1Nzc1Mzk4MC4xJzsKJGxhbmdbJ3V0bXonXSA9ICcxMDc3Njg0MTMuMTM1Nzc1Mzk4MC4xLjEudXRtY3NyPXNvbGdlYS5uZXR8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vY21zbXMvYWRtaW4vZWRpdGNvbnRlbnQucGhwJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/iw_IL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ25vbmUnXSA9ICfXkNeZ158nOwokbGFuZ1snc3NsJ10gPSAnU1NMINee15DXldeR15jXlyc7CiRsYW5nWyd0bHMnXSA9ICdUTFMg157XkNeV15HXmNeXJzsKJGxhbmdbJ3NlY3VyZSddID0gJ9ee16DXkteg15XXnyDXlNem16TXoNeUJzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAn15nXqdeZ150g16jXpyDXqdeZ15jXqiDXlNeV15PXoteqIFNNVFAsINeQ16TXqdeo15XXqiDXlteVINee15DXpNep16jXqiDXlNeS15PXqNeqINee16DXkteg15XXoNeZINeU16bXpNeg15Qg16nXldeg15nXnSDXoteR15XXqCDXlNeX15nXkdeV16gnOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICfXnteV15PXldecINeW15Qg16DXntem15Ag15HXqdeZ157XldepINei15wg15nXk9eZINee15XXk9eV15zXmdedINeQ15fXqNeZ150g16jXkdeZ150g15vXk9eZINec15TXp9ecINei15wg16nXnNeZ15fXqiDXnteZ15nXnNeZ150uINeW15Qg15fXmdeZ15Eg15zXlNeZ15XXqiDXnteV15LXk9eoINeb16jXkNeV15kg15zXk9eo15nXqdeV16og15TXnteQ16jXl9eZ150g16nXnNeaLiDXoNeQINec15TXqdeq157XqSDXkdee15nXk9eiINeU157XodeV16TXpyDXotecINeZ15PXmSDXlNee15DXqNeXINep15zXmiDXnNep16DXldeqINeU15LXk9eo15XXqiDXkNec15QuINeQ150g15DXqteUINei15PXmdeZ158g15zXkCDXmdeb15XXnCDXnNen15HXnCDXkNeqINeU15TXldeT16LXlCDXlNee15HXl9efINec16nXnNeV15cg15vXqNeQ15XXmSwg15nXmdeq15vXnyDXqdeq15nXkNec16Ug15zXpNeg15XXqiDXkdeU15LXqdeqINeh15nXldeiLic7CiRsYW5nWydjaGFyc2V0J10gPSAnQ2hhcmFjdGVyIFNldCDXlNeq15XXldeZ150nOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ9eW15Qg15nXqdec15cg157XodeoINeU157XkdeX158g15zXm9eq15XXkdeqINep16bXldeZ16DXlC4g15DXnSDXlNeq15TXnNeZ15og15TXptec15nXlyDXnNep15zXldeXLCDXqteg15XXqteRINeR15fXlteo15Qg15zXk9ejINeW15QuINeU15DXnSDXkdeo16bXldeg15og15zXlNee16nXmdeaPyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICfXlNeQ150g15zXqdee15XXqCDXoteo15vXmdedINeQ15zXnNeVINec15TXkteT16jXldeqIENNU01haWxlcj8nOwokbGFuZ1sndGVzdHN1YmplY3QnXSA9ICdDTVNNYWlsZXIg15TXldeT16LXlCDXmNeh15gnOwokbGFuZ1sndGVzdGJvZHknXSA9ICfXlNeV15PXoteUINeW15Ug157XmdeV16LXk9eqINeo16cg15vXk9eZINec15DXnteqINeQ16og16rXp9ek15XXqiDXlNeU15LXk9eo15XXqiDXkdee15XXk9eV15wgQ01TTWFpbGVyLg0K15DXnSDXp9eZ15HXnNeqINeQ16og15bXlCwg15TXm9ecINei15XXkdeTINeR16HXk9eoLic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAn16nXkteZ15DXlDog15TXm9eq15XXkdeqINec15HXk9eV16cg15zXkCDXpteV15nXnyc7CiRsYW5nWydwcm9tcHRfdGVzdGFkZHJlc3MnXSA9ICfXm9eq15XXkdeqINeT15XXkCLXnCDXnNeg15nXodeZ15XXnyc7CiRsYW5nWydzZW5kdGVzdCddID0gJ9ep15zXlyDXlNeV15PXoteUINeg16HXmdeV158nOwokbGFuZ1sncGFzc3dvcmQnXSA9ICfXodeZ16HXnteUJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAn16nXnSDXntep16rXntepJzsKJGxhbmdbJ3NtdHBhdXRoJ10gPSAnU01UUCDXkNeZ157XldeqJzsKJGxhbmdbJ21haWxlciddID0gJ01haWxlciDXlNep15nXmNeqJzsKJGxhbmdbJ2hvc3QnXSA9ICdTTVRQINeU157XkNeo15cg16nXnTxici8+PGk+KNeQ15UgSVAg15vXqteV15HXqik8L2k+JzsKJGxhbmdbJ3BvcnQnXSA9ICfXpNeV16jXmCDXqdecINep16jXqiBTTVRQJzsKJGxhbmdbJ2Zyb20nXSA9ICfXnteb16rXldeR16onOwokbGFuZ1snZnJvbXVzZXInXSA9ICfXnteQ16og16nXnSDXntep16rXntepJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnU2VuZG1haWwg157Xmden15XXnSc7CiRsYW5nWyd0aW1lb3V0J10gPSAnU01UUCDXpNenINeW157Xnyc7CiRsYW5nWydzdWJtaXQnXSA9ICfXqdec15cnOwokbGFuZ1snY2FuY2VsJ10gPSAn15HXmdeY15XXnCc7CiRsYW5nWydpbmZvX21haWxlciddID0gJ9eU16nXmdeY16og15PXldeQ16gg15zXlNep16rXntepIChzZW5kbWFpbCwgU01UUCwg15PXldeQItecKS4g15HXk9eo15og15vXnNecIFNNVFAg15TXldeQINeU15vXmSDXkNee15nXny4nOwokbGFuZ1snaW5mb19ob3N0J10gPSAnU01UUCDXlNee15DXqNeXINep150gKNeo16cg16rXp9ejINeQ16og16nXmdeY16og15TXldeT16LXqiBzbXRwKSc7CiRsYW5nWydpbmZvX3BvcnQnXSA9ICdTTVRQINee16HXpNeoINek15XXqNeYICjXkdeT16jXmiDXm9ec15wgMjUpICjXqten16Mg16jXpyDXqdeZ15jXqiDXlNeV15PXoteqIFNNVFApJzsKJGxhbmdbJ2luZm9fZnJvbSddID0gJ9eb16rXldeR16og157Xqdee16kg15TXqdeV15zXlyDXnNeb15wg15HXlNeV15PXoteV16og15PXldeQItecLiA8YnIvPjxzdHJvbmc+15TXoteo15Q8L3N0cm9uZz4sINeb16rXldeR16og15PXldeQItecINeW15Ug15fXmdeZ15Eg15zXlNeZ15XXqiDXnteV15LXk9eoINeb15TXnNeb15Qg16LXkdeV16gg15TXnteQ16jXlyDXqdec15og15DXlSDXqdeQ16rXlCDXmdeq16fXqdeUINep15zXmdeX16og15TXldeT16LXldeqINeT15XXkCLXnC48YnIvPteQ150g15DXmdeg15og15nXldeT16Ig15DXqiDXlNei16jXmiDXlNeg15vXldefINei15HXldeoINeU15LXk9eo15Qg15bXlSwg15nXmdeq15vXnyDXqdeq16bXmNeo15og15zXpNeg15XXqiDXkdeU15LXqdeqLic7CiRsYW5nWydpbmZvX2Zyb211c2VyJ10gPSAn16nXnSDXmdeT15nXk9eV16rXmSDXlNee16nXntepINec16nXnNeZ15fXqiDXm9ecINeU15XXk9ei15XXqiDXk9eV15Ai15wnOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ9eU16DXqteZ15Eg15TXntec15Agc2VuZG1haWwg15TXlNek16LXnNeUINep15zXmiAo16rXp9ejINeo16cg16nXmdeY16og15TXldeT16LXqiBzZW5kbWFpbCknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAn157Xodek16gg16nXoNeZ15XXqiDXkdep15nXl9eUIFNNVFAg15zXpNeg15kg157Xqteo15fXqdeqINep15LXmdeQ15QgKNeq16fXoyDXqdeZ15jXqiDXlNeV15PXoteqIFNNVFApJzsKJGxhbmdbJ2luZm9fc210cGF1dGgnXSA9ICfXlNeQ150g15TXnteQ16jXlyBzbXRwINep15zXmiDXk9eV16jXqSDXkNeZ157XldeqICjXqten16Mg16jXpyDXqdeZ15jXqiDXlNeV15PXoteqIFNNVFApJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWUnXSA9ICfXqdedINee16nXqtee16kgU01UUCDXkNeZ157XldeqICjXqten16Mg16jXpyDXqdeZ15jXqiBTTVRQINee15nXmdec16gsINeb15DXqdeoINeU157Xl9eR16ggU01UUCDXnteh15XXnteg16opJzsKJGxhbmdbJ2luZm9fcGFzc3dvcmQnXSA9ICdTTVRQINeQ15nXnteV16og16HXmdeh157XlCAo16rXp9ejINeo16cg16nXmdeY16ogU01UUCDXnteZ15nXnNeoLCDXm9eQ16nXqCDXlNee15fXkdeoIFNNVFAg157XodeV157XoNeqKSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDTVNNYWlsZXIg157XldeT15XXnCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ9ee15XXk9eV15wgQ01TTWFpbGVyINeU15XXqten158g15HXlNem15zXl9eUJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDTVNNYWlsZXIg15TXnteV15PXldecINeU15XXodeoIC4uLiDXntem15jXoteoINec16jXkNeV16og15DXldeq15og16LXldeW15EnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICfXlNee15XXk9eV15wg15TXldeh16guJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ9ee15XXk9eV15wg15LXmdeo16HXqiAlcyDXnteV16rXp9efLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICfXlNeS15nXqdeUINeg15PXl9eq15QuINeQ16DXkCDXkdeT15XXpyDXkNeqINeU15TXqNep15DXldeqINep15zXmi4nOwokbGFuZ1snZXJyb3InXSA9ICfXqdeS15nXkNeUISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ9ee15XXk9eV15wg15zXqdeT16jXkiDXnNeS16jXodeUICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICfXlNei15PXpNeV16og15TXnteV15PXldecJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ9ee15XXk9eV15wg16TXkNeg15wg16DXmdeU15XXnCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ0NNU01haWxlciDXnteV15PXldecJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAn15bXldeU15kg157XoteY16TXqiDXpNep15XXmNeUINeh15HXmdeRIFBIUE1haWxlciwg15nXqSBBUEkg15TXnten15HXmdec15QgKNek15XXoNen16bXmdeUINei15HXldeoINek15XXoNen16bXmdeUKSDXlSDXntee16nXpyDXpNep15XXmCDXoteR15XXqCDXkdeo15nXqNeqINeU157Xl9eT15wg16nXnCDXl9ec16cuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPteR16jXldeb15nXnSDXlNeR15DXmdedIENNU01haWxlciBtb2R1bGUgYWRtaW4gc2VjdGlvbic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggdGhlIGFkbWluIHBhbmVsLiAgVGhlIGRyb3Bkb3duIHdhcyBub3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIHByZWZlcmVuY2VzIGRhdGFiYXNlPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBBZGRlZCB0aGUgZm9ybSBmaWVsZHMgYW5kIGZ1bmN0aW9uYWxpdHkgZm9yIFNNVFAgYXV0aGVudGljYXRpb24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJ5LCAyMDA2LiBJbmNyZWFzZWQgZmllbGQgbGVuZ3RocyBpbiBtb3N0IGZpZWxkczwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnVhcnksIDIwMDYuIENoYW5nZWQgdGhlIHByZWZlcmVuY2VzIHBhbmVsIHRvIGJlIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEwLiBBdWd1c3QsIDIwMDYuIE1vZGlmaWVkIHRvIHVzZSBsYXp5IGxvYWRpbmcgdG8gbWluaW1pemUgbWVtb3J5IGZvb3RwcmludCB3aGVuIENNU01haWxlciBpcyBub3QgYmVpbmcgdXNlZC48L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMy4gSmFudWFyeSwgMjAwOC4gIEFkZGVkIG1vcmUgcGVybWlzc2lvbnMgY2hlY2tzLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBubyBlbmQgdXNlciBmdW5jdGlvbmFsaXR5LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgaW50ZWdyYXRlZCBpbnRvIG90aGVyIG1vZHVsZXMgdG8gcHJvdmlkZSBlbWFpbCBjYXBhYmlsaXRpZXMuICBUaGF0cyBpdCwgbm90aGluZyBtb3JlLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgYWxsIG9mIHRoZSBtZXRob2RzIGFuZCB2YXJpYWJsZXMgb2YgcGhwbWFpbGVyLiAgSXQgaXMgZGVzaWduZWQgZm9yIHVzZSBieSBvdGhlciBtb2R1bGUgZGV2ZWxvcGVycywgYmVsb3cgaXMgYW4gZXhhbXBsZSwgYW5kIGEgYnJpZWYgQVBJIHJlZmVyZW5jZS4gIFBsZWFzZSByZWFkIHRoZSBQSFBNYWlsZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+DQo8aDM+QW4gRXhhbXBsZTwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKFwnQ01TTWFpbGVyXCcpOw0KICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKFwnY2FsZ3V5MTAwMEBob3RtYWlsLmNvbVwnLFwnY2FsZ3V5XCcpOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KFwnPGg0PlRoaXMgaXMgYSB0ZXN0IG1lc3NhZ2U8L2g0PlwnKTsNCiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOw0KICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KFwnVGVzdCBtZXNzYWdlXCcpOw0KICAkY21zbWFpbGVyLT5TZW5kKCk7DQo8L3ByZT4NCjxoMz5BUEk8L2gzPg0KPHVsPg0KPGxpPjxwPjxiPnZvaWQgcmVzZXQoKTwvYj48L3A+DQo8cD5SZXNldCB0aGUgb2JqZWN0IGJhY2sgdG8gdGhlIHZhbHVlcyBzcGVjaWZpZWQgaW4gdGhlIGFkbWluIHBhbmVsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0QWx0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEFsdEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENoYXJTZXQoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiBpc28tODg1OS0xPC9wPg0KPHA+UmV0dXJuIHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDaGFyU2V0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbmZpcm1SZWFkaW5nVG8oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFkZHJlc3MgY29uZmlybWVkIHJlYWRpbmcgZW1haWwgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCBvciB1bnNldCB0aGUgY29uZmlybSByZWFkaW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IHRleHQvcGxhaW48L3A+DQo8cD5SZXR1cm4gdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPlNldCB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RW5jb2RpbmcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGVuY29kaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEVuY29kaW5nKCAkZW5jb2RpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGVuY29kaW5nPC9wPg0KPHA+T3B0aW9ucyBhcmU6IDhiaXQsIDdiaXQsIGJpbmFyeSwgYmFzZTY0LCBxdW90ZWQtcHJpbnRhYmxlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RXJyb3JJbmZvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIGFueSBlcnJvciBpbmZvcm1hdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb20oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRGcm9tKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb21OYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEZyb21OYW1lKCAkbmFtZSApPC9iPjwvcD4NCjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhlbG8oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIEhFTE8gc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRIZWxvKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBIRUxPIHN0cmluZzwvcD4NCjxwPkRlZmF1bHQgdmFsdWU6ICRob3N0bmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3QoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIFNNVFBzIGhvc3Qgc2VwYXJhdGVkIGJ5IHNlbWljb2xvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3ROYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdE5hbWUoICRob3N0bmFtZSApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtYWlsZXI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0TWFpbGVyKCAkbWFpbGVyICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtYWlsZXIsIGVpdGhlciBzZW5kbWFpbCxtYWlsLCBvciBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0UGFzc3dvcmQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UGFzc3dvcmQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQb3J0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwb3J0IG51bWJlciBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQb3J0KCAkaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwb3J0IGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UHJpb3JpdHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UHJpb3JpdHkoIGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjxwPlZhbHVlcyBhcmUgMT1IaWdoLCAzID0gTm9ybWFsLCA1ID0gTG93PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzZW5kZXIgZW1haWwgKHJldHVybiBwYXRoKSBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZGVyKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc2VuZGVyIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRtYWlsKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRtYWlsKCAkcGF0aCApPC9iPjwvcD4NCjxwPlNldCB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQQXV0aCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBBdXRoKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUERlYnVnKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNNVFBEZWJ1ZyggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQS2VlcEFsaXZlKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBLZWVwQWxpdmUoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFN1YmplY3QoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgc3ViamVjdCBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U3ViamVjdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc3ViamVjdCBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRUaW1lb3V0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB0aW1lb3V0IHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFRpbWVvdXQoICRzZWNvbmRzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSB0aW1lb3V0IHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0VXNlcm5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRVc2VybmFtZSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0V29yZFdyYXAoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFdvcmRXcmFwKCAkaW50ICk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQWRkcmVzcyggJGFkZHJlc3MsICRuYW1lID0gXCdcJyApPC9iPjwvcD4NCjxwPkFkZCBhIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEF0dGFjaG1lbnQoICRwYXRoLCAkbmFtZSA9IFwnXCcsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEJDQyggJGFkZHJlc3MsICRuYW1lID0gXCdcJyApPC9iPjwvcD4NCjxwPkFkZCBhIEJDQ1wnZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDQyggJGFkZHJlc3MsICRuYW1lID0gXCdcJyApPC9iPjwvcD4NCjxwPkFkZCBhIENDXCdkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEN1c3RvbUhlYWRlciggJHR4dCApPC9iPjwvcD4NCjxwPkFkZCBhIGN1c3RvbSBoZWFkZXIgdG8gdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRFbWJlZGRlZEltYWdlKCAkcGF0aCwgJGNpZCwgJG5hbWUgPSBcJ1wnLCAkZW5jb2RpbmcgPSBcJ2Jhc2U2NFwnLCAkdHlwZSA9IFwnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwnICk8L2I+PC9wPg0KPHA+QWRkIGFuIGVtYmVkZGVkIGltYWdlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRSZXBseVRvKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSBcJ2Jhc2U2NFwnLCAkdHlwZSA9IFwnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwnICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFkZHJlc3NlcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWxsUmVjaXBpZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCByZWNpcGllbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckF0dGFjaG1lbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGF0dGFjaG1lbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQkNDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckN1c3RvbUhlYWRlcnMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgY3VzdG9tIGhlYWRlcnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyUmVwbHl0bygpPC9iPjwvcD4NCjxwPkNsZWFyIHJlcGx5IHRvIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzRXJyb3IoKTwvYj48L3A+DQo8cD5DaGVjayBmb3IgYW4gZXJyb3IgY29uZGl0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzSFRNTCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGh0bWwgZmxhZzwvcD4NCjxwPjxpPk5vdGU8L2k+IHBvc3NpYmx5IHRoaXMgc2hvdWxkIGJlIGEgZ2V0IGFuZCBzZXQgbWV0aG9kPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzTWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc1FtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBxbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc2VuZG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU01UUCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2VuZCgpPC9iPjwvcD4NCjxwPlNlbmQgdGhlIGN1cnJlbnRseSBwcmVwYXJlZCBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSBcJ1wnICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+DQo8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPVwnaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZ1wnPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9XCdodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmdcJz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj1cJ2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2Ntc1wnPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0IMKpIDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPVwnbWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb21cJz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj1cJ2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTFwnPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sncWNhJ10gPSAnUDAtMjAwMjQ0MTY5OS0xMjcwNjM1NDE4MTA2JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI3MzA4NjQ2Mi44LjMudXRtY3NyPTR4NmhwLm5ldHx1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pYXJjL2luZGV4LnBocCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjYxNjA1MDI4Mi4xMjcwNjM1NDE4LjEyNzMzODQ1NjcuMTI3MzQxNTc3NC4xMyc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ja_JP.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ25vbmUnXSA9ICfjgarjgZcnOwokbGFuZ1snc3NsJ10gPSAnU1NMJzsKJGxhbmdbJ3RscyddID0gJ1RMUyc7CiRsYW5nWydzZWN1cmUnXSA9ICfmmpflj7fljJbjg6Hjgqvjg4vjgrrjg6AnOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIFNNVFAgbWFpbGVyIG1ldGhvZCwgdGhpcyBvcHRpb24gYWxsb3dzIHNwZWNpZnlpbmcgZGlmZmVyZW50IGVuY3J5cHRpb24gbWVjaGFuaXNtcyBmb3IgdGhlIGNvbm5lY3Rpb24nOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICdUaGlzIG1vZHVsZSBpcyB1c2VkIGJ5IG51bWVyb3VzIG90aGVyIG1vZHVsZXMgdG8gZmFjaWxpdGF0ZSBzZW5kaW5nIGVtYWlscy4gIEl0IG11c3QgYmUgcHJvcGVybHkgY29uZmlndXJlZCB0byB5b3VyIGhvc3RzIHJlcXVpcmVtZW50cy4gIFBsZWFzZSB1c2UgdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IHlvdXIgaG9zdCB0byBhZGp1c3QgdGhlc2Ugc2V0dGluZ3MuICBJZiB5b3Ugc3RpbGwgY2Fubm90IGdldCB0aGUgdGVzdCBtZXNzYWdlIHRvIHNlbmQgcHJvcGVybHksIHlvdSBtYXkgaGF2ZSB0byBjb250YWN0IHlvdXIgaG9zdCBmb3IgYXNzaXN0YW5jZS4nOwokbGFuZ1snY2hhcnNldCddID0gJ+OCreODo+ODqeOCr+OCv+OCu+ODg+ODiCc7CiRsYW5nWydzZW5kdGVzdG1haWxjb25maXJtJ10gPSAn5oyH5a6a44Gu44Ki44OJ44Os44K544G444OG44K544OI44Oh44OD44K744O844K444KS6YCB5L+h44GX44G+44GZ44CC6YCB5L+h44GM5oiQ5Yqf44GX44Gf5aC05ZCI44CB44GT44Gu44Oa44O844K444Gr5oi744KK44G+44GZ44CC44GT44Gu44G+44G+57aa44GR44G+44GZ44GL77yfJzsKJGxhbmdbJ3NldHRpbmdzY29uZmlybSddID0gJ+ePvuWcqOOBruWApOOCkkNNU+ODoeODvOODqeODvOioreWumuOBq+abuOOBjei+vOOBv+OBvuOBmeOBi++8nyc7CiRsYW5nWyd0ZXN0c3ViamVjdCddID0gJ0NNU+ODoeODvOODqeODvOODhuOCueODiOODoeODg+OCu+ODvOOCuCc7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ+OBk+OBruODoeODg+OCu+ODvOOCuOOBr0NNU+ODoeODvOODqeODvOODouOCuOODpeODvOODq+OBruioreWumuOBjOacieWKueOBi+OBqeOBhuOBi+aknOiovOOBmeOCi+OBn+OCgeOBruOCguOBruOBp+OBmeOAguOBk+OBruODoeODg+OCu+ODvOOCuOOCkuWPl+OBkeWPluOCjOOBsOOAgeOBmeOBueOBpuato+W4uOOBq+S9nOWLleOBl+OBpuOBhOOBvuOBmeOAgic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAn44Ko44Op44O8OiDjg4bjgrnjg4jjgqLjg4njg6zjgrnjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZvjgpPjgIInOwokbGFuZ1sncHJvbXB0X3Rlc3RhZGRyZXNzJ10gPSAn44OG44K544OI55So44Oh44O844Or44Ki44OJ44Os44K5JzsKJGxhbmdbJ3NlbmR0ZXN0J10gPSAn44OG44K544OI44Oh44OD44K744O844K444KS6YCB5L+hJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAn44OR44K544Ov44O844OJJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAn44Om44O844K25ZCNJzsKJGxhbmdbJ3NtdHBhdXRoJ10gPSAnU01UUOiqjeiovCc7CiRsYW5nWydtYWlsZXInXSA9ICfpgIHkv6Hmlrnms5UnOwokbGFuZ1snaG9zdCddID0gJ1NNVFDjg5vjgrnjg4jlkI08YnIvPjxpPijjgoLjgZfjgY/jga9JUOOCouODieODrOOCuSk8L2k+JzsKJGxhbmdbJ3BvcnQnXSA9ICdTTVRQ44K144O844OQ44O844Od44O844OIJzsKJGxhbmdbJ2Zyb20nXSA9ICfpgIHkv6HogIXjgqLjg4njg6zjgrknOwokbGFuZ1snZnJvbXVzZXInXSA9ICfpgIHkv6HogIXlkI0nOwokbGFuZ1snc2VuZG1haWwnXSA9ICdTZW5kbWFpbOOBruODkeOCuSc7CiRsYW5nWyd0aW1lb3V0J10gPSAnU01UUOOCv+OCpOODoOOCouOCpuODiCc7CiRsYW5nWydzdWJtaXQnXSA9ICfpgIHkv6EnOwokbGFuZ1snY2FuY2VsJ10gPSAn5Lit5q2iJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAn5L2/55So6YCB5L+h5pa55rOVKHNlbmRtYWlsLCBzbXRwLCBtYWlsKS4gIOmAmuW4uOOBr3NtdHDjgYzmnIDjgoLkv6HpoLzjgafjgY3jgb7jgZnjgIInOwokbGFuZ1snaW5mb19ob3N0J10gPSAnU01UUOODm+OCueODiOWQjShzbXRw44Oh44O844Op44O844Oh44K944OD44OJ44Gr44Gu44G/5pyJ5Yq5KSc7CiRsYW5nWydpbmZvX3BvcnQnXSA9ICdTTVRQ44Od44O844OI55Wq5Y+3KOmAmuW4uOOBrzI1KSjpgIHkv6Hmlrnms5XjgYxzbXRw44Gu5aC05ZCI44Gu44G/5pyJ5Yq5KSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICflhajpgIHkv6Hjg6Hjg7zjg6vjgafkvb/nlKjjgZXjgozjgovpgIHkv6HogIXjgqLjg4njg6zjgrknOwokbGFuZ1snaW5mb19mcm9tdXNlciddID0gJ+WFqOmAgeS/oeODoeODvOODq+OBp+S9v+eUqOOBleOCjOOCi+mAgeS/oeiAheWQjSc7CiRsYW5nWydpbmZvX3NlbmRtYWlsJ10gPSAnc2VuZG1haWzlrp/ooYzjg5XjgqHjgqTjg6vjgbjjga7lrozlhajjg5Hjgrko6YCB5L+h5pa55rOV44GMc2VuZG1haWzjga7loLTlkIjjgavjga7jgb/mnInlirkpJzsKJGxhbmdbJ2luZm9fdGltZW91dCddID0gJ1NNVFDkuqTkv6HmmYLjgavjgqjjg6njg7znmbrnlJ/jgZnjgovjgb7jgafjga7np5LmlbAo6YCB5L+h5pa55rOV44GMc210cOOBruWgtOWQiOOBruOBv+acieWKuSknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ1NNVFDjg5vjgrnjg4jjgavjga/oqo3oqLzjgYzlv4XopoHjgafjgZnjgYvjgIIgKOmAgeS/oeaWueazleOBjHNtdHDjga7loLTlkIjjga7jgb/mnInlirkpJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWUnXSA9ICdTTVRQ6KqN6Ki844Om44O844K25ZCNKHNtdHDoqo3oqLzjgpLpgbjmip7mmYLjgIHpgIHkv6Hmlrnms5XjgYxzbXRw44Gu5aC05ZCI44Gu44G/5pyJ5Yq5KSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnU01UUOiqjeiovOODkeOCueODr+ODvOODiShzbXRw6KqN6Ki844KS6YG45oqe5pmC44CB6YCB5L+h5pa55rOV44GMc210cOOBruWgtOWQiOOBruOBv+acieWKuSknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01T44Oh44O844Op44O844Oi44K444Ol44O844OrJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ01T44Oh44O844Op44O844Oi44K444Ol44O844Or44Gu44Kk44Oz44K544OI44O844Or44Gr5oiQ5Yqf44GX44G+44GX44Gf44CCJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDTVNNYWlsZXLjg6Ljgrjjg6Xjg7zjg6vjga/jgqLjg7PjgqTjg7Pjg4jjg7zjg6vjgZXjgozjgb7jgZfjgZ/jgIInOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICfjg6Ljgrjjg6Xjg7zjg6vjgYzjgqLjg7PjgqTjg7Pjgrnjg4jjg7zjg6vjgZXjgozjgb7jgZfjgZ/jgIInOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAn44Oi44K444Ol44O844Or44OQ44O844K444On44OzJXPjgYzjgqTjg7Pjgrnjg4jjg7zjg6vjgZXjgozjgb7jgZfjgZ/jgIInOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAn44Ki44Kv44K744K544GM5ouS5ZCm44GV44KM44G+44GX44Gf44CC44OR44O844Of44OD44K344On44Oz44KS56K66KqN44GX44Gm44GP44Gg44GV44GE44CCJzsKJGxhbmdbJ2Vycm9yJ10gPSAn44Ko44Op44O8ISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ+ODouOCuOODpeODvOODq+OBjOODkOODvOOCuOODp+ODsyVz44G444Ki44OD44OX44Kw44Os44O844OJ44GV44KM44G+44GX44Gf44CCJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ+ODouOCuOODpeODvOODq+ioreWumic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICfjg6Ljgrjjg6Xjg7zjg6vnrqHnkIbjg5Hjg43jg6snOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdDTVPjg6Hjg7zjg6njg7zjg6Ljgrjjg6Xjg7zjg6snOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdQSFDjg6Hjg7zjg6njg7zjga7ljZjntJTjgarjg6njg4Pjg5Hjg7zjgafjgZnjgIJBUEnjga7lhajplqLmlbDjgYzkuIDoh7TjgZfjgIHjg4fjg5Xjgqnjg6vjg4jlgKTjgavlr77jgZnjgovnsKHljZjjgarjgqTjg7Pjgr/jg7zjg5Xjgqfjg7zjgrnjgYzjgYLjgorjgb7jgZnjgIInOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+Q01T44Oh44O844Op44O844Oi44K444Ol44O844Or566h55CG44K744Kv44K344On44Oz44G444KI44GG44GT44GdJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDEuNzMuMS4gT2N0b2JlciwgMjAwNS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjIuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCB0aGUgYWRtaW4gcGFuZWwuICBUaGUgZHJvcGRvd24gd2FzIG5vdCByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdmFsdWUgZnJvbSB0aGUgcHJlZmVyZW5jZXMgZGF0YWJhc2U8L2xpPg0KPGxpPlZlcnNpb24gMS43My4zLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggc2VuZGluZyBodG1sIGVtYWlsPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNC4gTm92ZW1iZXIsIDIwMDUuIEZvcm0gZmllbGRzIGluIHByZWZlcmVuY2VzIGFyZSBsYXJnZXIsIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmcm9tdXNlciwgYW5kIGNhbGxlZCByZXNldCB3aXRoaW4gdGhlIGNvbnN0cnVjdG9yPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNS4gTm92ZW1iZXIsIDIwMDUuIEFkZGVkIHRoZSBmb3JtIGZpZWxkcyBhbmQgZnVuY3Rpb25hbGl0eSBmb3IgU01UUCBhdXRoZW50aWNhdGlvbi48L2xpPg0KPGxpPlZlcnNpb24gMS43My42LiBEZWNlbWJlciwgMjAwNS4gRGVmYXVsdCBtYWlsZXIgbWV0aG9kIGlzIFNNVFAgb24gaW5zdGFsbCwgYW5kIGltcHJvdmVkIGRvY3VtZW50YXRpb24sIGFuZCBub3cgSSBjbGVhciBhbGwgdGhlIGF0dGFjaG1lbnRzLCBhbmQgYWRkcmVzc2VzLCBldGMuIG9uIHJlc2V0LjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjcuIEphbnVhcnksIDIwMDYuIEluY3JlYXNlZCBmaWVsZCBsZW5ndGhzIGluIG1vc3QgZmllbGRzPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOC4gSmFudWFyeSwgMjAwNi4gQ2hhbmdlZCB0aGUgcHJlZmVyZW5jZXMgcGFuZWwgdG8gYmUgYSBiaXQgbW9yZSBkZXNjcmlwdGl2ZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My45LiBKYW51YXJ5LCAyMDA2LiBBZGRlZCB0ZXN0IGVtYWlsIGNhcGFiaWxpdHksIGFuZCBjb25maXJtYXRpb24gb24gZWFjaCBidXR0b24gKGV4Y2VwdCBjYW5jZWwpPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+5L2V44GM44Gn44GN44KL44Gu44Gn44GX44KH44GG44GLPzwvaDM+DQo8cD7jgZPjga7jg6Ljgrjjg6Xjg7zjg6vjgavjga/jgqjjg7Pjg4njg6bjg7zjgrbjg7zmqZ/og73jga/jgYLjgorjgb7jgZvjgpPjgILku5bjga7jg6Ljgrjjg6Xjg7zjg6vjgajntbHlkIjjgZfjgIHjg6Hjg7zjg6vmqZ/og73jgpLmj5DkvpvjgZfjgb7jgZnjgILku5bjgavjga/jgarjgavjgoLjgYLjgorjgb7jgZvjgpPjgII8L3A+DQo8aDM+5L2/55So5pa55rOVPC9oMz4NCjxwPuOBk+OBruODouOCuOODpeODvOODq+OBr1BIUE1haWxlcuOBruODoeOCveODg+ODieOBqOWkieaVsOOBruWNmOe0lOOBquODqeODg+ODkeODvOOCkuaPkOS+m+OBl+OBvuOBmeOAguS7luODouOCuOODpeODvOODq+mWi+eZuuiAheOBq+OCiOOBo+OBpuWIqeeUqOOBp+OBjeOCi+OCiOOBhuOBq+ODh+OCtuOCpOODs+OBleOCjOOBpuOBiuOCiuOAgSDkuIvoqJjjga7kvovjga7jgojjgYbjgavnsKHljZjjgapBUEnjgqTjg7Pjgr/jg7zjg5Xjgqfjg7zjgrnjgafjgZnjgILjgojjgoroqbPntLDjga9QSFBNYWlsZXLjg4njgq3jg6Xjg6Hjg7Pjg4jjgpLlj4LnhafkuIvjgZXjgYTjgII8L3A+DQo8aDM+5Yip55So5L6LPC9oMz4NCjxwcmU+DQogICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoXCdDTVNNYWlsZXJcJyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoXCdjYWxndXkxMDAwQGhvdG1haWwuY29tXCcsXCdjYWxndXlcJyk7DQogICRjbXNtYWlsZXItPlNldEJvZHkoXCc8aDE+44GT44KM44Gv44OG44K544OI44Oh44OD44K744O844K444Gn44GZ44CCPGgxPlwnKTsNCiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOw0KICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KFwn44OG44K544OI44Oh44OD44K744O844K4XCcpOw0KICAkY21zbWFpbGVyLT5TZW5kKCk7DQo8L3ByZT4NCjxoMz5BUEk8L2gzPg0KPHVsPg0KPGxpPjxwPjxiPnZvaWQgcmVzZXQoKTwvYj48L3A+DQo8cD7jgqrjg5bjgrjjgqfjgq/jg4jjgpLnrqHnkIbjg5Hjg43jg6vjga7nibnlrprjga7lgKTjgavmiLvjgZk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+ReODoeODvOODq+OBruS7o+abv+acrOaWh+OCkui/lOOBmTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+ReODoeODvOODq+OBruS7o+abv+acrOaWh+OCkuioreWumjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEJvZHkoKTwvYj48L3A+DQo8cD5F44Oh44O844Or44Gu44OX44Op44Kk44Oe44Oq5pys5paH44KS6L+U44GZPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5F44Oh44O844Or44Gu44OX44Op44Kk44Oe44Oq5pys5paH44KS6Kit5a6aPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPuODh+ODleOCqeODq+ODiDogaXNvLTg4NTktMTwvcD4NCjxwPuODoeODvOODqeODvOOBruaWh+Wtl+OCu+ODg+ODiOOCkui/lOOBmTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDaGFyU2V0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+44Oh44O844Op44O85paH5a2X44K744OD44OI44KS6Kit5a6aPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPkNvbmZpcm0gUmVhZGluZ+ODleODqeOCsOOBp+eiuuiqjeOBl+OBn+OCouODieODrOOCueOCkui/lOOBmTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPkNvbmZpcm0gUmVhZGluZ+OCouODieODrOOCueOCkuioreWumuOAgeioreWumuino+mZpDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+44OH44OV44Kp44Or44OIOiB0ZXh0L3BsYWluPC9wPg0KPHA+44Kz44Oz44OG44Oz44OE44K/44Kk44OX44KS6L+U44GZPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+44Kz44Oz44OG44Oz44OE44K/44Kk44OX44KS6Kit5a6aPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RW5jb2RpbmcoKTwvYj48L3A+DQo8cD7jgqjjg7PjgrPjg7zjg4fjgqPjg7PjgrDjgpLov5TjgZk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPuOCqOODs+OCs+ODvOODh+OCo+ODs+OCsOOCkuioreWumjwvcD4NCjxwPuioreWumuOCquODl+OCt+ODp+ODszogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD7jgqjjg6njg7zmg4XloLHjgpLov5TjgZk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPg0KPHA+54++5Zyo44Gu6YCB5L+h6ICF44Ki44OJ44Os44K544KS6L+U44GZPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+6YCB5L+h6ICF44Ki44OJ44Os44K544KS6Kit5a6aPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD7nj77lnKjjga7pgIHkv6HogIXlkI3jgpLov5TjgZk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEZyb21OYW1lKCAkbmFtZSApPC9iPjwvcD4NCjxwPumAgeS/oeiAheWQjeOCkuioreWumjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhlbG8oKTwvYj48L3A+DQo8cD5IRUxP5paH5a2X5YiX44KS6L+U44GZPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRIZWxvKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+SEVMT+aWh+Wtl+WIl+OCkuioreWumjwvcD4NCjxwPuODh+ODleOCqeODq+ODiOWApDogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPuOCu+ODn+OCs+ODreODs+OBp+WMuuWIh+OBo+OBn1NNVFDjg5vjgrnjg4jjgpLov5TjgZk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPuODm+OCueODiOOCkuioreWumjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3ROYW1lKCk8L2I+PC9wPg0KPHA+U01UUCBIZWxv44Gr5L2/55So44GZ44KL44Ob44K544OI5ZCN44KS6L+U44GZPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5TTVRQIEhlbG/jgavkvb/nlKjjgZnjgovjg5vjgrnjg4jlkI3jgpLoqK3lrpo8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD7pgIHkv6Hmlrnms5XjgpLov5TjgZk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0TWFpbGVyKCAkbWFpbGVyICk8L2I+PC9wPg0KPHA+c2VuZG1haWzjgIFtYWls44CBU1RNUOOBruOBhOOBpeOCjOOBi+OBrumAgeS/oeaWueazleOBruioreWumjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFBhc3N3b3JkKCk8L2I+PC9wPg0KPHA+U01UUOiqjeiovOOBruODkeOCueODr+ODvOODieOCkui/lOOBmTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNNVFDoqo3oqLzjga7jg5Hjgrnjg6/jg7zjg4njgpLoqK3lrpo8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQb3J0KCk8L2I+PC9wPg0KPHA+U01UUOaOpee2muOBruODneODvOODiOeVquWPt+OCkui/lOOBmTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQb3J0KCAkaW50ICk8L2I+PC9wPg0KPHA+U01UUOaOpee2muOBruODneODvOODiOeVquWPt+OCkuioreWumjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+44Oh44OD44K744O844K444Gu5YSq5YWI5bqm44KS6L+U44GZPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvYj48L3A+DQo8cD7jg6Hjg4Pjgrvjg7zjgrjjga7lhKrlhYjluqbjgpLoqK3lrpo8L3A+DQo8cD7oqK3lrprlgKTjga/jgIExPemrmCwgMyA96YCa5bi4LCA1ID0g5L2OPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZGVyKCk8L2I+PC9wPg0KPHA+6YCB5L+h6ICF44Oh44O844OrKHJldHVybiBwYXRoKeOBruaWh+Wtl+WIl+OCkui/lOOBmTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+6YCB5L+h6ICF5paH5a2X5YiX44KS6Kit5a6aPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5zZW5kbWFpbOOBruODkeOCueOCkui/lOOBmTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kbWFpbCggJHBhdGggKTwvYj48L3A+DQo8cD5zZW5kbWFpbOOBruODkeOCueOCkuioreWumjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQQXV0aCgpPC9iPjwvcD4NCjxwPuePvuWcqOOBrlNNVFDoqo3oqLzjg5Xjg6njgrDjga7lgKTjgpLov5TjgZk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBBdXRoKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNNVFDoqo3oqLzjg5Xjg6njgrDjgpLoqK3lrpo8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUERlYnVnKCk8L2I+PC9wPg0KPHA+U01UUOiqjeiovOODh+ODkOODg+OCsOODleODqeOCsOOBruWApOOCkui/lOOBmTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPg0KPHA+U01UUOiqjeiovOODh+ODkOODg+OCsOODleODqeOCsOOCkuioreWumjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQS2VlcEFsaXZlKCk8L2I+PC9wPg0KPHA+U01UUOOBrmtlZXAgYWxpdmXjg5Xjg6njgrDjga7lgKTjgpLov5TjgZk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBLZWVwQWxpdmUoICRib29sICk8L2I+PC9wPg0KPHA+U01UUOOBrmtlZXAgYWxpdmXjg5Xjg6njgrDjgpLoqK3lrpo8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+54++5Zyo44Guc3ViamVjdOaWh+Wtl+WIl+OCkui/lOOBmTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+c3ViamVjdOaWh+Wtl+WIl+OCkuioreWumjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD7jgr/jgqTjg6DjgqLjgqbjg4jlgKTjgpLov5TjgZk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD7jgr/jgqTjg6DjgqLjgqbjg4jlgKTjgpLoqK3lrpo8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlNNVFDoqo3oqLzjg6bjg7zjgrbjg7zlkI3jgpLov5TjgZk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TTVRQ6KqN6Ki844Om44O844K244O85ZCN44KS6Kit5a6aPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0V29yZFdyYXAoKTwvYj48L3A+DQo8cD53b3Jkd3JhcOWApOOCkui/lOOBmTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4NCjxwPndvcmR3cmFw5YCk44KS6Kit5a6aPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+44Ki44OJ44Os44K544KS6L+95YqgPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSBcJ1wnLCAkZW5jb2RpbmcgPSBcJ2Jhc2U2NFwnLCAkdHlwZSA9IFwnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwnICk8L2I+PC9wPg0KPHA+5re75LuY44OV44Kh44Kk44Or44KS6L+95YqgPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5CQ0PjgqLjg4njg6zjgrnjgpLov73liqA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+Q0PjgqLjg4njg6zjgrnjgpLov73liqA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEN1c3RvbUhlYWRlciggJHR4dCApPC9iPjwvcD4NCjxwPuOCq+OCueOCv+ODoOODmOODg+ODgOODvOOBrui/veWKoDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkRW1iZWRkZWRJbWFnZSggJHBhdGgsICRjaWQsICRuYW1lID0gXCdcJywgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4NCjxwPuiyvOOCiuS7mOOBkeOCpOODoeODvOOCuOOCkui/veWKoDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gXCdcJyApPC9iPjwvcD4NCjxwPui/lOS/oeeUqOOCouODieODrOOCueOCkui/veWKoDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSBcJ2Jhc2U2NFwnLCAkdHlwZSA9IFwnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwnICk8L2I+PC9wPg0KPHA+5re75LuY44OV44Kh44Kk44Or44KS6L+95YqgPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFkZHJlc3NlcygpPC9iPjwvcD4NCjxwPuWFqOOBpuOBruOCouODieODrOOCueOCkuOCr+ODquOCojwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPg0KPHA+5YWo44Gm44Gu5Y+X5L+h6ICF44KS44Kv44Oq44KiPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckF0dGFjaG1lbnRzKCk8L2I+PC9wPg0KPHA+5YWo44Gm44Gu5re75LuY44OV44Kh44Kk44Or44KS44Kv44Oq44KiPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckJDQ3MoKTwvYj48L3A+DQo8cD7lhajjgabjga5CQ0PjgqLjg4njg6zjgrnjgpLjgq/jg6rjgqI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+5YWo44Gm44GuQ0PjgqLjg4njg6zjgrnjgpLjgq/jg6rjgqI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPuWFqOOBpuOBruOCq+OCueOCv+ODoOODmOODg+ODgOODvOOCkuOCr+ODquOCojwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+6L+U5L+h55So44Ki44OJ44Os44K544KS44Kv44Oq44KiPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPg0KPHA+44Ko44Op44O854q25rOB44KS56K66KqNPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzSFRNTCggJGJvb2wgKTwvYj48L3A+DQo8cD5odG1sIGZsYWfjgpLoqK3lrpo8L3A+DQo8cD48aT7ms6jmhI88L2k+IOOBk+OCjOOBr+aBkOOCieOBj2dldOOBqHNldOWFvOeUqOOBruODoeODg+OCveODieOBp+OBmeOAgjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc01haWwoKTwvYj48L3A+DQo8cD7jg6Hjg7zjg6vjgpLkvb/jgaPjgabjgYTjgovjgYvjganjgYbjgYvjg4Hjgqfjg4Pjgq88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNRbWFpbCgpPC9iPjwvcD4NCjxwPnFtYWls44KS5L2/44Gj44Gm44GE44KL44GL44Gp44GG44GL44OB44Kn44OD44KvPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+c2VuZG1haWzjgpLkvb/jgaPjgabjgYTjgovjgYvjganjgYbjgYvjg4Hjgqfjg4Pjgq88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU01UUCgpPC9iPjwvcD4NCjxwPnNtdHDjgpLkvb/jgaPjgabjgYTjgovjgYvjganjgYbjgYvjg4Hjgqfjg4Pjgq88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNlbmQoKTwvYj48L3A+DQo8cD7nj77lnKjlh6bnkIbkuK3jga7jg6Hjg7zjg6vjgpLpgIHkv6E8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gXCdcJyApPC9iPjwvcD4NCjxwPuS9v+eUqOiogOiqnuWPiuOBs+iogOiqnuODkeOCuTxlbT4o55yB55Wl5Y+vKTwvZW0+44KS6Kit5a6aPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TbXRwQ2xvc2UoKTwvYj48L3A+DQo8cD5TTVRQ5o6l57aa44KS44Kv44Ot44O844K6PC9wPg0KPC9saT4NCjwvdWw+DQo8aDM+44K144Od44O844OIPC9oMz4NCjxwPuOBk+OBruODouOCuOODpeODvOODq+OBr+WVhualreOCteODneODvOODiOOBjOOBguOCiuOBvuOBm+OCk+OAguOBl+OBi+OBl+OAgeS4gOWKqeOBq+OBquOCi+izh+aWmeOBr+OBn+OBj+OBleOCk+OBguOCiuOBvuOBmeOAgjo8L3A+DQo8dWw+DQo8bGk+44GT44Gu44Oi44K444Ol44O844Or44Gu5pyA5paw44OQ44O844K444On44Oz44CBRkFR44CB44OQ44Kw44Os44Od44O844OI44Gu5o+Q5Ye644CB5pyJ5YSf44K144Od44O844OI44Gr44Gk44GE44Gm44GvIGNhbGd1eXPjga7jgqbjgqfjg5bjgrXjgqTjg4jjgpLjgZTopqfjgY/jgaDjgZXjgYTjgII8YSBocmVmPSJodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnIj50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+44GT44Gu44Oi44K444Ol44O844Or44Gr44Gk44GE44Gm44Gu44OV44Kp44O844Op44Og44Gv5Lul5LiL44Gn44GZ44CCPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPuijveS9nOiAheOBp+OBguOCi2NhbGd1eTEwMDDmsI/jga/jgIHmrKHjga7jgrXjgqTjg4jjgavjgojjgY/lj4LliqDjgZfjgabjgYTjgb7jgZnjgII8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT7mnIDov5Hjgafjga/jgIHkvZzmiJDogIXjgavnm7TmjqXjg6Hjg7zjg6vjgpLpgIHjgovjgZPjgajjgoLlj6/og73jgavjgarjgorjgb7jgZfjgZ/jgII8L2xpPiAgDQo8L3VsPg0KPHA+R1BM44Gu44Go44GK44KK44CB44GT44Gu44K944OV44OI44Km44Kn44Ki44Gr44Gv5L+d6Zqc44GM44GC44KK44G+44Gb44KT44CC44Op44Kk44K744Oz44K544Gu5YWN6LKs5LqL6aCF44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCPC9wPg0KDQo8aDM+6JGX5L2c5qip44Gr6Zai44GX44GmPC9oMz4NCjxwPkNvcHlyaWdodCDCqSAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20iPjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPuOBk+OBruODouOCuOODpeODvOODq+OBr+S7peS4i+OBp+mFjeW4g+OBl+OBpuOBhOOBvuOBme+8miA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIOODouOCuOODpeODvOODq+OCkuS9v+eUqOOBmeOCi+WJjeOBq+OBk+OBruODqeOCpOOCu+ODs+OCueOBq+WQjOaEj+OBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmeOAgjwvcD4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjEwMjU5MTU3MzAuMTI4Mzc4Mzk4Ni4xMjgzNzgzOTg2LjEyODM3ODM5ODYuMSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI4Mzc4Mzk4Nic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI4Mzc4Mzk4Ni4xLjEudXRtY3NyPShkaXJlY3QpfHV0bWNjbj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTQ5NDk1ODE5NC0xMjgzNzgzOTg2OTA2JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/lt_LT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnJlNjYXJvbjtpcyB0ZXN0YXMgZ2VuZXJ1b2phbWFzIG5lZGHFvm5haS4gSmFtIGkmc2Nhcm9uO255a3RpIGdhbGkgcHJpcmVpa3RpICZzY2Fyb247aWVrIHRpZWsgbGFpa28uJzsKJGxhbmdbJ25vbmUnXSA9ICdKb2tzJzsKJGxhbmdbJ3NzbCddID0gJ1NTTCc7CiRsYW5nWyd0bHMnXSA9ICdUTFMnOwokbGFuZ1snc2VjdXJlJ10gPSAnJlNjYXJvbjtpZnJhdmltbyBixatkYXMnOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICcmU2Nhcm9uO2kgcGFyaW5rdGlzLCB0YWlrb21hIHRpayBTTVRQIGxhaSZzY2Fyb247a8WzIHNpdW50aW1vIG1ldG9kdWksIGxlaWTFvmlhIHBhc2lyaW5rdGkgcnkmc2Nhcm9uO2lvICZzY2Fyb247aWZyYXZpbW8gYsWrZMSFJzsKJGxhbmdbJ2luZm9fY21zbWFpbGVyJ10gPSAnTmVtYcW+YWkga2l0xbMgbW9kdWxpxbMgbmF1ZG9qYXNpICZzY2Fyb247aXVvLCBzacWzc2RhbWkgZWxla3Ryb25pbml1cyBsYWkmc2Nhcm9uO2t1cy4gUHJpZSZzY2Fyb247ICZzY2Fyb247aXVvIG1vZHVsaXUgbmF1ZG9qYW50aXMsIGrEryByZWlraWEgc3Vrb25maWfFq3J1b3RpLiBLZWlzZGFtaSAmc2Nhcm9uO2lhcyBudW9zdGF0YXMsIGF0c2nFvnZlbGtpdGUgxK8gSnVtcyBzdXRlaWt0dXMgc2VydmVyaW8gZHVvbWVuaXMgaXIgbnVzdGF0eW11cy4gSmVpZ3UgdGVzdGluaW8gbGFpJnNjYXJvbjtrbyBpJnNjYXJvbjtzacWzc3RpIHZpcyB0aWVrIG5lcGF2eWtzLCBKdW1zIGdhbGkgdGVrdGkga3JlaXB0aXMgcGFnYWxib3MgxK8gcHJpZWdsb2JvcyBwYXNsYXVnb3MgdGVpa8SXasSFLic7CiRsYW5nWydjaGFyc2V0J10gPSAnVGVrc3RvIGtvZHVvdMSXJzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdCdXMgYmFuZG9tYSBudXJvZHl0dSBhZHJlc3UgaSZzY2Fyb247c2nFs3N0aSBiYW5kb23EhWrEryBsYWkmc2Nhcm9uO2vEhS4gSmVpZ3UgcGF2eWtzLCBidXMgc3VncsSvxb50YSBhdGdhbCDEryAmc2Nhcm9uO8SvIHRpbmtsYXDEry4gQXIgbm9yaXRlIHTEmXN0aT8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnxK5yYSZzY2Fyb247eXRpICZzY2Fyb247aWFzICZiZHF1bztDTVNtYWlsZXImbGRxdW87IG1vZHVsaW8gbnVvc3RhdGFzPyc7CiRsYW5nWyd0ZXN0c3ViamVjdCddID0gJyZiZHF1bztDTVNNYWlsZXImbGRxdW87IGJhbmRvbWFzaXMgbGFpJnNjYXJvbjtrYXMnOwokbGFuZ1sndGVzdGJvZHknXSA9ICcmU2Nhcm9uO2lzIGxhaSZzY2Fyb247a2FzIHNraXJ0YXMgcGF0aWtyaW50aSwgYXIgJmJkcXVvO0NNU01haWxlciZsZHF1bzsgbW9kdWxpbyBudW9zdGF0b3MgeXJhIHRpbmthbW9zIGxhaSZzY2Fyb247a2FtcyBzacWzc3RpLg0KSmVpZ3UgZ2F2b3RlICZzY2Fyb247xK8gbGFpJnNjYXJvbjtrxIUsIHZhZGluYXNpLCB2aXNrYXMgdmVpa2lhIHR2YXJraW5nYWkuJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICdLbGFpZGE6IG5lbnVyb2R5dGFzIGFkcmVzYXMgYmFuZG9tYWphbSBsYWkmc2Nhcm9uO2t1aSBzacWzc3RpJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ0VsLiBwYSZzY2Fyb247dG8gYWRyZXNhcyBiYW5kb21hamFtIGxhaSZzY2Fyb247a3VpIHNpxbNzdGknOwokbGFuZ1snc2VuZHRlc3QnXSA9ICdTacWzc3RpIGJhbmRvbcSFasSvIGxhaSZzY2Fyb247a8SFJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnU2xhcHRhxb5vZGlzJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTmF1ZG90b2pvIHZhcmRhcyc7CiRsYW5nWydzbXRwYXV0aCddID0gJ1NNVFAgYXV0ZW50aWthY2lqYSc7CiRsYW5nWydtYWlsZXInXSA9ICdMYWkmc2Nhcm9uO2vFsyBzaXVudGltbyBtZXRvZGFzJzsKJGxhbmdbJ2hvc3QnXSA9ICdTTVRQIHNlcnZlcmlvIHZhcmRhczxici8+PGk+KGFyYmEgSVAgYWRyZXNhcyk8L2k+JzsKJGxhbmdbJ3BvcnQnXSA9ICdTTVRQIHNlcnZlcmlvIHByaWV2YWRhcyc7CiRsYW5nWydmcm9tJ10gPSAnU2l1bnTEl2pvIGFkcmVzYXMnOwokbGFuZ1snZnJvbXVzZXInXSA9ICdTaXVudMSXam8gdmFyZGFzJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnS2VsaWFzIGlraSAmYmRxdW87c2VuZG1haWwmbGRxdW87JzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdTTVRQIGxhaWtvIGxpbWl0YXMnOwokbGFuZ1snc3VibWl0J10gPSAnxK5yYSZzY2Fyb247eXRpJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0F0c2lzYWt5dGknOwokbGFuZ1snaW5mb19tYWlsZXInXSA9ICdFbGVrdHJvbmluacWzIGxhaSZzY2Fyb247a8WzIHNpdW50aW1vIG1ldG9kYXMgKCZiZHF1bztzZW5kbWFpbCZsZHF1bzssICZiZHF1bztzbXRwJmxkcXVvOywgJmJkcXVvO21haWwmbGRxdW87KS4gRGHFvm5haSAmYmRxdW87c210cCZsZHF1bzsgbWV0b2RhcyB5cmEgcGF0aWtpbWlhdXNpYXMuJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ1NNVFAgc2VydmVyaW8gdmFyZGFzIChnYWxpb2phIHRpayAmYmRxdW87c210cCZsZHF1bzsgbWV0b2R1aSknOwokbGFuZ1snaW5mb19wb3J0J10gPSAnU01UUCBzZXJ2ZXJpbyBwcmlldmFkYXMgKGRhxb5uaWF1c2lhaSAyNSkgKGdhbGlvamEgdGlrICZiZHF1bztzbXRwJmxkcXVvOyBtZXRvZHVpKSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICdMYWkmc2Nhcm9uO2t1b3NlIG5hdWRvdGluYXMgc2l1bnTEl2pvIGFkcmVzYXMuIDxici8+PHN0cm9uZz5QYXN0YWJhOjwvc3Ryb25nPiByZWlraWEgbnVyb2R5dGkgc2VydmVyaXVpIHByaWltdGluxIUgYWRyZXPEhSwgcHJpZSZzY2Fyb247aW5ndSBhdHZlanUgc2l1bsSNaWFudCBsYWkmc2Nhcm9uO2t1cywga2lsdMWzIHByb2JsZW3Fsy48YnIvPkplaWd1IG5lxb5pbm90ZSB0ZWlzaW5nb3MgcmVpayZzY2Fyb247bcSXcywgYmFuZHlraXRlIHN1c2lzaWVrdGkgc3UgcHJpZWdsb2JvcyBwYXNsYXVnb3MgdGVpa8SXanUuJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICdMYWkmc2Nhcm9uO2t1b3NlIG5hdWRvdGluYXMgc2l1bnTEl2pvIHZhcmRhcyc7CiRsYW5nWydpbmZvX3NlbmRtYWlsJ10gPSAnUGlsbmFzIGtlbGlhcyBpa2kgJmJkcXVvO3NlbmRtYWlsJmxkcXVvOyB2eWtkb21vam8gZmFpbG8gKGdhbGlvamEgdGlrICZiZHF1bztzZW5kbWFpbCZsZHF1bzsgbWV0b2R1aSknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnS2llayBpbGdpYXVzaWFpIHNla3VuZMW+acWzIGdhbGkgdHJ1a3RpIFNNVFAgcnkmc2Nhcm9uO3lzLiBVxb50cnVrdXMgaWxnaWF1LCBidXMgZ3LEhcW+aW5hbWEga2xhaWRhIChnYWxpb2phIHRpayAmYmRxdW87c210cCZsZHF1bzsgbWV0b2R1aSknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ0FyIFNNVFAgc2VydmVyaXMgcmVpa2FsYXVqYSBhdXRlbnRpa2FjaWpvcyAgKGdhbGlvamEgdGlrICZiZHF1bztzbXRwJmxkcXVvOyBtZXRvZHVpKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAnU01UUCBuYXVkb3Rvam8gdmFyZGFzICAoZ2FsaW9qYSB0aWsgJmJkcXVvO3NtdHAmbGRxdW87IG1ldG9kdWksIGthaSBwYXNpcmlua3RhIFNNVFAgYXV0ZW50aWthY2lqYSknOwokbGFuZ1snaW5mb19wYXNzd29yZCddID0gJ1NNVFAgbmF1ZG90b2pvIHNsYXB0YcW+b2RpcyAoZ2FsaW9qYSB0aWsgJmJkcXVvO3NtdHAmbGRxdW87IG1ldG9kdWksIGthaSBwYXNpcmlua3RhIFNNVFAgYXV0ZW50aWZpa2FjaWphKSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICcmYmRxdW87Q01TTWFpbGVyJmxkcXVvOyBtb2R1bGlzJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnJmJkcXVvO0NNU01haWxlciZsZHF1bzsgbW9kdWxpcyBzxJdrbWluZ2FpIMSvZGllZ3Rhcyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnJmJkcXVvO0NNU01haWxlciZsZHF1bzsgbW9kdWxpcyBwYSZzY2Fyb247YWxpbnRhcyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsaXMgcGEmc2Nhcm9uO2FsaW50YXMuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ8SuZGllZ3RhIG1vZHVsaW8gJXMgdmVyc2lqYS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnUHJpZWlnYSB1xb5kcmF1c3RhLiBQYXRpa3JpbmtpdGUgbGVpZGltdXMuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnS2xhaWRhISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsaXMgYXRuYXVqaW50YXMgaWtpICVzIHZlcnNpam9zLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGlvIG51b3N0YXRvcyc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bGlvIGFkbWluaXN0cmF2aW1hcyc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJyZiZHF1bztDTVNNYWlsZXImbGRxdW87IG1vZHVsaXMnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdUYWkgJm5kYXNoOyBwYXByYXN0YXMgJmJkcXVvO1BIUE1haWxlciZsZHF1bzsgYXB2YWxrYWxhcywgdHVyaW50aXMgZWt2aXZhbGVuxI1pxIUgQVBJIHPEhXNhasSFIGlyIHBhdG9nacSFIHPEhXNhasSFIG51bWF0eXRvc2lvbXMgcmVpayZzY2Fyb247bcSXbXMgbnVzdGF0eXRpLic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggdGhlIGFkbWluIHBhbmVsLiAgVGhlIGRyb3Bkb3duIHdhcyBub3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIHByZWZlcmVuY2VzIGRhdGFiYXNlPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBBZGRlZCB0aGUgZm9ybSBmaWVsZHMgYW5kIGZ1bmN0aW9uYWxpdHkgZm9yIFNNVFAgYXV0aGVudGljYXRpb24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJ5LCAyMDA2LiBJbmNyZWFzZWQgZmllbGQgbGVuZ3RocyBpbiBtb3N0IGZpZWxkczwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnVhcnksIDIwMDYuIENoYW5nZWQgdGhlIHByZWZlcmVuY2VzIHBhbmVsIHRvIGJlIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEwLiBBdWd1c3QsIDIwMDYuIE1vZGlmaWVkIHRvIHVzZSBsYXp5IGxvYWRpbmcgdG8gbWluaW1pemUgbWVtb3J5IGZvb3RwcmludCB3aGVuIENNU01haWxlciBpcyBub3QgYmVpbmcgdXNlZC48L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMy4gSmFudWFyeSwgMjAwOC4gIEFkZGVkIG1vcmUgcGVybWlzc2lvbnMgY2hlY2tzLjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMSAtIEphbnVhcnksIDIwMTEgLSBSZW1vdmUgY2FuY2VsIGJ1dHRvbi48L2xpPg0KPGxpPlZlcnNpb24gMi4wLjIgLSBTZXB0ZW1iZXIsIDIwMTEgLSBTZXQgZGVmYXVsdCBjaGFyc2V0IHRvIHV0Zi04LjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBubyBlbmQgdXNlciBmdW5jdGlvbmFsaXR5LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgaW50ZWdyYXRlZCBpbnRvIG90aGVyIG1vZHVsZXMgdG8gcHJvdmlkZSBlbWFpbCBjYXBhYmlsaXRpZXMuICBUaGF0cyBpdCwgbm90aGluZyBtb3JlLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgYWxsIG9mIHRoZSBtZXRob2RzIGFuZCB2YXJpYWJsZXMgb2YgcGhwbWFpbGVyLiAgSXQgaXMgZGVzaWduZWQgZm9yIHVzZSBieSBvdGhlciBtb2R1bGUgZGV2ZWxvcGVycywgYmVsb3cgaXMgYW4gZXhhbXBsZSwgYW5kIGEgYnJpZWYgQVBJIHJlZmVyZW5jZS4gIFBsZWFzZSByZWFkIHRoZSBQSFBNYWlsZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+DQo8aDM+QW4gRXhhbXBsZTwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCYjMDM5O0NNU01haWxlciYjMDM5Oyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJiMwMzk7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5OywmIzAzOTtjYWxndXkmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KCYjMDM5OyZhbXA7bHQ7aDQmYW1wO2d0O1RoaXMgaXMgYSB0ZXN0IG1lc3NhZ2UmYW1wO2x0Oy9oNCZhbXA7Z3Q7JiMwMzk7KTsNCiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOw0KICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCYjMDM5O1Rlc3QgbWVzc2FnZSYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNlbmQoKTsNCjwvcHJlPg0KPGgzPkFQSTwvaDM+DQo8dWw+DQo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4NCjxwPlJlc2V0IHRoZSBvYmplY3QgYmFjayB0byB0aGUgdmFsdWVzIHNwZWNpZmllZCBpbiB0aGUgYWRtaW4gcGFuZWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IGlzby04ODU5LTE8L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4NCjxwPlJldHVybiB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgZW5jb2Rpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgZW5jb2Rpbmc8L3A+DQo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIEhFTE8gc3RyaW5nPC9wPg0KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPHA+VmFsdWVzIGFyZSAxPUhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBMb3c8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRlciBlbWFpbCAocmV0dXJuIHBhdGgpIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kZXIgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIEJDQyYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIENDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+DQo8cD5BZGQgYSBjdXN0b20gaGVhZGVyIHRvIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkRW1iZWRkZWRJbWFnZSggJHBhdGgsICRjaWQsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhbiBlbWJlZGRlZCBpbWFnZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgcmVjaXBpZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhdHRhY2htZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIEJDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIENDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGN1c3RvbSBoZWFkZXJzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhclJlcGx5dG8oKTwvYj48L3A+DQo8cD5DbGVhciByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPg0KPHA+Q2hlY2sgZm9yIGFuIGVycm9yIGNvbmRpdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBodG1sIGZsYWc8L3A+DQo8cD48aT5Ob3RlPC9pPiBwb3NzaWJseSB0aGlzIHNob3VsZCBiZSBhIGdldCBhbmQgc2V0IG1ldGhvZDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc01haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNRbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgcW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NNVFAoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNlbmQoKTwvYj48L3A+DQo8cD5TZW5kIHRoZSBjdXJyZW50bHkgcHJlcGFyZWQgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+DQo8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPSYjMDM5O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmIzAzOTs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmIzAzOTs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JiMwMzk7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJiMwMzk7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9JiMwMzk7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mIzAzOTs+JmFtcDtsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmIzAzOTs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNTM2MjA4OTgxLjEzNjc2OTk4MzguMTM2OTkyOTEyMS4xMzY5OTMyMDA4LjMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzY5OTMyMDA4LjMuMy51dG1jY249KG9yZ2FuaWMpfHV0bWNzcj1nb29nbGV8dXRtY3RyPXx1dG1jbWQ9b3JnYW5pYyc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnRGVubmUgdGVzdGVuIGdlbmVyZXJlcyBzamVsZGVudCwgc8OlIGRldCBrYW4gdGEgbGl0dCB0aWQgZsO4ciB2YXJzZWxldCBmb3JzdmlubmVyJzsKJGxhbmdbJ25vbmUnXSA9ICdJbmdlbic7CiRsYW5nWydzc2wnXSA9ICdTU0wnOwokbGFuZ1sndGxzJ10gPSAnVExTJzsKJGxhbmdbJ3NlY3VyZSddID0gJ1RpbGtvYmxpbmdzc2lra2VyaGV0JzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAnS3VuIGd5bGRpZyBmb3IgU01UUCBtYWlsZXIgbWV0b2RlbiwgaHZvciBkZW5uZSBwYXJhbWV0ZXJlbiB0aWxsYXRlciDDpSBzcGVzaWZpc2VyZSBlbiBhbm5lbiBzaWtrZXJoZXRzbWVrYW5pc21lIGZvciB0aWxrb2JsaW5nZW4nOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICdEZW5uZSBtb2R1bGVuIGJlbnl0dGVzIGF2IHV0YWxsaWdlIGFuZHJlIG1vZHVsZXIgZm9yIMOlIG11bGlnZ2rDuHJlIHNlbmRpbmcgYXYgZXBvc3QuIERlbm5lIG3DpSB2w6ZyZSBrb3JyZWt0IHNhdHQgb3BwIGkgZm9yaG9sZCB0aWwgZGluIG5ldHRzdGVkc3ZlcnQgc2luZSBrcmF2LiBWZW5ubGlnc3QgYnJ1ayBpbmZvcm1hc2pvbmVuIG9wcGdpdHQgYXYgZGluIHZlcnQgZm9yIMOlIHRpbHBhc3NlIGRpc3NlIGlubnN0aWxsaW5nZW5lLiBPbSBkdSBsaWtldmVsIGlra2UgZsOlciB0ZXN0IGVwb3N0ZW4gdGlsIMOlIHNlbmRlIGtvcnJla3QgLSBiw7hyIGR1IGthbnNramUga29udGFrdGUgZGluIHNlcnZlciB2ZXJ0IGZvciDDpSBmw6UgaGplbHAgdGlsIGRldHRlLic7CiRsYW5nWydjaGFyc2V0J10gPSAnVGVnbmtvZGluZyc7CiRsYW5nWydzZW5kdGVzdG1haWxjb25maXJtJ10gPSAnRGV0dGUgdmlsIHNlbmRlIGVuIHRlc3QgZXBvc3QgdGlsIGFkcmVzc2VuIG9wcGdpdHQuIE9tIHNlbmRlcHJvc2Vzc2VuIGVyIHZlbGx5a2tldCwgc2VuZGVzIGR1IHRpbGJha2UgdGlsIGRlbm5lIHNpZGVuLiAoT20gZHUgbW90dGFyIGRlbiBlcG9zdGVuIHPDpSBlciBvcHBzZXR0ZXQgaSBvcmRlbi4pIFZpbCBkdSBmb3J0c2V0dGU/JzsKJGxhbmdbJ3NldHRpbmdzY29uZmlybSddID0gJ0xhZ3JlIGRpc3NlIHZlcmRpZXIgdGlsIENNU01haWxlcm9wcHNldHRldD8nOwokbGFuZ1sndGVzdHN1YmplY3QnXSA9ICdUZXN0IGF2IENNU01haWxlcic7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ0Rlbm5lIGUtcG9zdGVuIGVyIHNlbmR0IGJhcmUgZm9yIMOlIHZlcmlmaXNlcmUgdmVyZGllbmUgaSBvcHBzZXR0ZXQgYXYgQ01TTWFpbGVyLW1vZHVsZW4uDQpPbSBkdSBtb3R0b2sgZGVubmUsIGZ1bmdlcmVyIGFsdCBmaW50Lic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAnRmVpbDogZS1wb3N0YWRyZXNzZSBmb3IgdGVzdGluZyBlciBpa2tlIHNwZXNpZmlzZXJ0JzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ1Rlc3QgZS1wb3N0YWRyZXNzZSc7CiRsYW5nWydzZW5kdGVzdCddID0gJ1NlbmQgdGVzdG1haWwnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzb3JkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQnJ1a2VybmF2bic7CiRsYW5nWydzbXRwYXV0aCddID0gJ1NNVFAtYXV0ZW50aXNlcmluZyc7CiRsYW5nWydtYWlsZXInXSA9ICdNYWlsZXJtZXRvZGUnOwokbGFuZ1snaG9zdCddID0gJ1NNVFAtdmVydHNuYXZuPGJyLz48aT4oZWxsZXIgSVAtYWRyZXNzZSk8L2k+JzsKJGxhbmdbJ3BvcnQnXSA9ICdTTVRQLXNlcnZlcmVucyBwb3J0JzsKJGxhbmdbJ2Zyb20nXSA9ICciRnJhIi1hZHJlc3NlJzsKJGxhbmdbJ2Zyb211c2VyJ10gPSAnIkZyYSItYnJ1a2VybmF2bic7CiRsYW5nWydzZW5kbWFpbCddID0gJ1BsYXNzZXJpbmcgZm9yIFNlbmRtYWlsJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdTTVRQLXRpZHNhdmJydWRkJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0xhZ3JlJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0F2YnJ5dCc7CiRsYW5nWydpbmZvX21haWxlciddID0gJ01haWwgbWV0b2RlIMOlIGJlbnl0dGUgKHNlbmRtYWlsLCBzbXRwLCBtYWlsKS4gIFNtdHAgZXIgdmFubGlndmlzIG1lc3Qgw6Ugc3RvbGUgcMOlLic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICdTTVRQLXZlcnRzbmF2biAoa3VuIGd5bGRpZyBmb3Igc210cCBtYWlsZXJtZXRvZGVuKSc7CiRsYW5nWydpbmZvX3BvcnQnXSA9ICdTTVRQLXBvcnRudW1tZXIgKHZhbmxpZ3ZpcyAyNSkgKGt1biBneWxkaWcgZm9yIHNtdHAgbWFpbGVybWV0b2RlbiknOwokbGFuZ1snaW5mb19mcm9tJ10gPSAnQWRyZXNzZSBicnVrdCBzb20gYXZzZW5kZXIgcMOlIGFsbGUgZS1wb3N0ZXIuDQo8YnIvPjxzdHJvbmc+TWVyazwvc3Ryb25nPiwgZGVubmUgZS1wb3N0YWRyZXNzZW4gbcOlIHNldHRlcyBrb3JyZWt0IGkgZm9yaG9sZCB0aWwgZGluIHZlcnQsIGVsbGVycyB2aWwgZHUgZsOlciBwcm9ibGVtZXIgbWVkIMOlIHNlbmRlIGUtcG9zdC48YnIvPk9tIGR1IGlra2UgdmV0IGh2YSBzb20gc2thbCBzdMOlIGhlciwgYsO4ciBkdSBrb250YWt0ZSBkaW4gbGV2ZXJhbmTDuHIuJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICdGcmllbmRseS1uYXZuIGJydWt0IGZvciDDpSBzZW5kZSBhbGxlIGUtcG9zdGVyJzsKJGxhbmdbJ2luZm9fc2VuZG1haWwnXSA9ICdGdWxsIHN0aSB0aWwgc2VuZG1haWxzIHByb2dyYW1maWwgKGt1biBneWxkaWcgZm9yIHNlbmRtYWlsIG1haWxlcm1ldG9kZW4pJzsKJGxhbmdbJ2luZm9fdGltZW91dCddID0gJ0FudGFsbCBzZWt1bmRlciBpIGVuIFNNVFAtc2FtdGFsZSBmw7hyIGZlaWwgbWVsZGVzIChneWxkaWcgZm9yIHNtdHAgbWFpbGVyIG1ldG9kZW4pJzsKJGxhbmdbJ2luZm9fc210cGF1dGgnXSA9ICdLcmV2ZXIgZGluIFNNVFAtdmVydCBhdXRlbnRpc2VyaW5nIChrdW4gZ3lsZGlnIGZvciBzbXRwIG1haWxlciBtZXRvZGVuKT8nOwokbGFuZ1snaW5mb191c2VybmFtZSddID0gJ0JydWtlcm5hdm4gZm9yIFNNVFAtYXV0ZW50aXNlcmluZyAoa3VuIGd5bGRpZyBmb3Igc210cCBtYWlsZXJtZXRvZGVuLCBuw6VyIHNtdHAgYXV0LiBlciB2YWxndCknOwokbGFuZ1snaW5mb19wYXNzd29yZCddID0gJ1Bhc3NvcmQgZm9yIFNNVFAtYXV0ZW50aXNlcmluZyAoa3VuIGd5bGRpZyBmb3Igc210cCBtYWlsZXJtZXRvZGVuLCBuw6VyIHNtdHAgYXV0ZW50aXNlcmluZyBlciB2YWxndCknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TIE1haWxlcic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NNU01haWxlci1tb2R1bGVuIGhhciBibGl0dCBpbnN0YWxsZXJ0JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDTVNNYWlsZXItbW9kdWxlbiBlciBhdmluc3RhbGxlcnQnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGVuIGJsZSBhdmluc3RhbGxlcnQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgbWVkIHZlcnNqb24gJXMgaW5zdGFsbGVydC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnSW5nZW4gdGlsZ2FuZy4gVmVubmxpZ3N0IHNqZWtrIGRpbmUgcmV0dGlnaGV0ZXIuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVpbCEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGVuIGJsZSBvcHBncmFkZXJ0IHRpbCB2ZXJzam9uICVzLic7CiRsYW5nWydzZXR0aW5nc190aXRsZSddID0gJ0lubnN0aWxsaW5nZXInOwokbGFuZ1sndGVzdF90aXRsZSddID0gJ1Rlc3RlJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsaW5uc3RpbGxpbmdlcic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdBZG1pbmlzdHJhc2pvbnNwYW5lbCBmb3IgbW9kdWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdDTVNNYWlsZXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdEZXR0ZSBlciBlbiBlbmtlbCB3cmFwcGVyIG9ta3JpbmcgUEhQTWFpbGVyLCBkZW4gaGFyIGVuIHRpbHN2YXJlbmRlIEFQSSAoZnVua3Nqb24gZm9yIGZ1bmtzam9uKSBvZyBlbmtlbHQgZ3JlbnNlc25pdHQgZm9yIG5vZW4gc3RhbmRhcmRlci4nOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnRGV6ZSB0ZWtzdCB3b3JkdCBvcCBlZW4gaW5mcmVxdWVudGUgYmFzaXMgZ2VnZW5lcmVlcmQuIEhldCBrYW4gZXZlbiBkdXJlbiB2b29yZGF0IGRlemUgdGVrc3Qgd2VlciB2ZXJkd2lqbnQuJzsKJGxhbmdbJ25vbmUnXSA9ICdHZWVuJzsKJGxhbmdbJ3NzbCddID0gJ1NTTCc7CiRsYW5nWyd0bHMnXSA9ICdUTFMnOwokbGFuZ1snc2VjdXJlJ10gPSAnRW5jcnlwdGllIG1lY2hhbmlzbWUnOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICdBbGxlZW4gdG9lcGFzYmFhciBpbiBkZSBTTVRQIG1haWxlciBtZXRob2RlLCBkZXplIG9wdGllIGJlbm9lbXQgaGV0IHRlIGdlYnJ1aWtlbiBlbmNyeXB0aWUgbWVjaGFuaXNtZSB2b29yIGRlIHZlcmJpbmRpbmcnOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICdEZXplIG1vZHVsZSB3b3JkdCBkb29yIHZlcnNjaGlsbGVuZGUgbW9kdWxlcyBnZWJydWlrdCB2b29yIGhldCB2ZXJ6ZW5kZW4gdmFuIEUtbWFpbC48YnIgLz5HZWJydWlrIGRlIGluZm9ybWF0aWUgdmFuIGhvc3Qgb20gZGUgaW5zdGVsbGluZ2VuIGdvZWQgdGUgemV0dGVuLjxiciAvPldhbm5lZXIgaGV0IHZlcnplbmRlbiB2YW4gZWVuIHRlc3QgYmVyaWNodCBuaWV0IGx1a3QsIHpvdSB1IGh1bHAga3VubmVuIHZyYWdlbiBiaWogdXcgaG9zdC4nOwokbGFuZ1snY2hhcnNldCddID0gJ0thcmFrdGVyc2V0JzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdEaXQgdmVyc3R1dXJ0IGVlbiB0ZXN0IGJlcmljaHQgbmFhciBoZXQgb3BnZWdldmVuIGFkcmVzLiBBbHMgaGV0IHZlcnN0dXJlbiBzdWNjZXN2b2wgdmVybG9vcHQsIGtvbXQgdSB3ZWVyIG9wIGRlemUgcGFnaW5hIHRlcmVjaHQuIFdpbHQgdSBkb29yZ2Fhbj8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnSHVpZGlnZSB3YWFyZGVuIHdlZ3NjaHJpanZlbiBuYWFyIGRlIENNU01haWxlciBpbnN0ZWxsaW5nZW4/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnQ01TTWFpbGVyIFRlc3RiZXJpY2h0JzsKJGxhbmdbJ3Rlc3Rib2R5J10gPSAnRGl0IGJlcmljaHQgaXMgYWxsZWVuIGJlZG9lbGQgb20gdGUgY29udHJvbGVyZW4gb2YgZGUgQ01TTWFpbGVyLW1vZHVsZSBnb2VkIGlzIGluZ2VzdGVsZC4gQWxzIGhldCBiZXJpY2h0IG9udHZhbmdlbiB3b3JkdCwgd2Vya3QgYWxsZXMgbmFhciBiZWhvcmVuLic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAnRm91dDogZ2VlbiB0ZXN0YWRyZXMgb3BnZWdldmVuJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ1Rlc3QgRS1tYWlsYWRyZXMnOwokbGFuZ1snc2VuZHRlc3QnXSA9ICdWZXJzdHV1ciB0ZXN0YmVyaWNodCc7CiRsYW5nWydwYXNzd29yZCddID0gJ1dhY2h0d29vcmQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdHZWJydWlrZXJzbmFhbSc7CiRsYW5nWydzbXRwYXV0aCddID0gJ1NNVFAgQXV0aGVudGljYXRpZSc7CiRsYW5nWydtYWlsZXInXSA9ICdNYWlsLW1ldGhvZGUnOwokbGFuZ1snaG9zdCddID0gJ1NNVFAgaG9zdCBuYW1lPGJyLz48aT4ob2YgSVAgYWRyZXMpPC9pPic7CiRsYW5nWydwb3J0J10gPSAnU01UUCBzZXJ2ZXItcG9vcnRudW1tZXInOwokbGFuZ1snZnJvbSddID0gJ1ZhbiBhZHJlcyc7CiRsYW5nWydmcm9tdXNlciddID0gJ1ZhbiBnZWJydWlrZXJzbmFhbSc7CiRsYW5nWydzZW5kbWFpbCddID0gJ0xvY2F0aWUgdmFuIHNlbmRtYWlsJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICd0aW1lb3V0IFNNVFAnOwokbGFuZ1snc3VibWl0J10gPSAnVmVyc3R1dXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlZXInOwokbGFuZ1snaW5mb19tYWlsZXInXSA9ICdUb2UgdGUgcGFzc2VuIG1haWwtbWV0aG9kZSAoc2VuZG1haWwsIHNtdHAsIG1haWwpLiBNZWVzdGFsIGlzIHNtdHAgaGV0IG1lZXN0IGJldHJvdXdiYWFyLic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICdTTVRQIGhvc3RuYW1lIChhbGxlZW4gZ2VsZGlnIHZvb3IgZGUgc210cCBtYWlsLW1ldGhvZGUpJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ1NNVFAgcG9vcnRudW1tZXIgKG1lZXN0YWwgMjUpIChhbGxlZW4gZ2VsZGlnIHZvb3IgZGUgc210cCBtYWlsLW1ldGhvZGUpJzsKJGxhbmdbJ2luZm9fZnJvbSddID0gJ0FkcmVzIGRhdCBnZWJydWlrdCB3b3JkdCBhbHMgYWZ6ZW5kZXIgaW4gYWxsZSBiZXJpY2h0ZW4uIDxici8+PHN0cm9uZz5PcG1lcmtpbmc8L3N0cm9uZz4sIGRpdCBlbWFpbCBhZHJlcyBtb2V0IGNvcnJlY3Qgd29yZGVuIGluZ2VzdGVsZCB2b29yIHV3IHdlYnNpdGUgaG9zdCwgd2FudCBhbmRlcnMga3VubmVuIGVyIHByb2JsZW1lbiBvbnRzdGFhbiB0aWpkZW5zIGhldCB2ZXJ6ZW5kZW4gdmFuIGVtYWlsLjxici8+QWxzIHUgZGUganVpc3RlIGluc3RlbGxpbmdlbiBuaWV0IHdlZXQsIG5lZW10IHUgZGFuIGNvbnRhY3Qgb3AgbWV0IHV3IHdlYnNpdGUgaG9zdC4nOwokbGFuZ1snaW5mb19mcm9tdXNlciddID0gJ05hYW0gYWZ6ZW5kZXIgZGllIGdlYnJ1aWt0IHdvcmR0IHZvb3IgaGV0IHZlcnN0dXJlbiB2YW4gYWxsZSBiZXJpY2h0ZW4nOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ0hldCB2b2xsZWRpZ2UgcGFkIG5hYXIgZGUgc2VuZG1haWwgZXhlY3V0YWJsZSAoYWxsZWVuIGdlbGRpZyB2b29yIGRlIHNlbmRtYWlsIG1haWwtbWV0aG9kZSknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnSGV0IGFhbnRhbCBzZWNvbmRlbiBpbiBlZW4gU01UUCBjb252ZXJzYXRpZSB2b29yZGF0IGVlbiBmb3V0IG9wdHJlZWR0IChnZWxkaWcgdm9vciBkZSBzbXRwIG1haWxlci1tZXRob2RlKSc7CiRsYW5nWydpbmZvX3NtdHBhdXRoJ10gPSAnSXMgdm9vciB1dyBzbXRwIHNlcnZlciBhdXRoZW50aWNhdGllIG5vZGlnIChhbGxlZW4gZ2VsZGlnIHZvb3IgZGUgc210cCBtYWlsLW1ldGhvZGUpJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWUnXSA9ICdTTVRQIGF1dGhlbnRpY2F0aWUgZ2VicnVpa2Vyc25hYW0gKGFsbGVlbiBnZWxkaWcgdm9vciBkZSBzbXRwIG1haWwtbWV0aG9kZSwgYWxzIHNtdHAgYXV0aCBpcyBnZXNlbGVjdGVlcmQpJzsKJGxhbmdbJ2luZm9fcGFzc3dvcmQnXSA9ICdTTVRQIGF1dGhlbnRpY2F0aWUgd2FjaHR3b29yZCAoYWxsZWVuIGdlbGRpZyB2b29yIGRlIHNtdHAgbWFpbC1tZXRob2RlLCBhbHMgc210cCBhdXRoIGlzIGdlc2VsZWN0ZWVyZCknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ01TTWFpbGVyLW1vZHVsZSBpcyBnZcOvbnN0YWxsZWVyZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ01TTWFpbGVyLW1vZHVsZSBnZWRlw69uc3RhbGxlZXJkJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIGdlZGXDr25zdGFsbGVlcmQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaWUgJXMgZ2XDr25zdGFsbGVlcmQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1RvZWdhbmcgZ2V3ZWlnZXJkLiBab3JnIGRhdCB1IGJlc2NoaWt0IG92ZXIgdm9sZG9lbmRlIHJlY2h0ZW4uJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRm91dCEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgYmlqZ2V3ZXJrdCBuYWFyIHZlcnNpZSAlcy4nOwokbGFuZ1snc2V0dGluZ3NfdGl0bGUnXSA9ICdJbnN0ZWxsaW5nZW4nOwokbGFuZ1sndGVzdF90aXRsZSddID0gJ1Rlc3QnOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWxldm9vcmtldXJlbic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bGViZWhlZXJwYW5lZWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdDTVNNYWlsZXItbW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRGl0IGlzIGVlbiBzaW1wZWxlICJ3cmFwcGVyIiByb25kIFBIUE1haWxlciwgaGV0IGhlZWZ0IGVlbiBnZWxpamtlIEFQSSAoZnVuY3RpZSB2b29yIGZ1bmN0aWUpIGVuIGVlbiBzaW1wZWxlIGludGVyZmFjZSB2b29yIGVlbiBhYW50YWwgc3RhbmRhYXJkd2FhcmRlbi4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS43My4xLiBPY3RvYmVyLCAyMDA1LiBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHRoZSBhZG1pbiBwYW5lbC4gIFRoZSBkcm9wZG93biB3YXMgbm90IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSBwcmVmZXJlbmNlcyBkYXRhYmFzZTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjMuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCBzZW5kaW5nIGh0bWwgZW1haWw8L2xpPg0KPGxpPlZlcnNpb24gMS43My40LiBOb3ZlbWJlciwgMjAwNS4gRm9ybSBmaWVsZHMgaW4gcHJlZmVyZW5jZXMgYXJlIGxhcmdlciwgZml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIGZyb211c2VyLCBhbmQgY2FsbGVkIHJlc2V0IHdpdGhpbiB0aGUgY29uc3RydWN0b3I8L2xpPg0KPGxpPlZlcnNpb24gMS43My41LiBOb3ZlbWJlciwgMjAwNS4gQWRkZWQgdGhlIGZvcm0gZmllbGRzIGFuZCBmdW5jdGlvbmFsaXR5IGZvciBTTVRQIGF1dGhlbnRpY2F0aW9uLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjYuIERlY2VtYmVyLCAyMDA1LiBEZWZhdWx0IG1haWxlciBtZXRob2QgaXMgU01UUCBvbiBpbnN0YWxsLCBhbmQgaW1wcm92ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIG5vdyBJIGNsZWFyIGFsbCB0aGUgYXR0YWNobWVudHMsIGFuZCBhZGRyZXNzZXMsIGV0Yy4gb24gcmVzZXQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNy4gSmFudWFyeSwgMjAwNi4gSW5jcmVhc2VkIGZpZWxkIGxlbmd0aHMgaW4gbW9zdCBmaWVsZHM8L2xpPg0KPGxpPlZlcnNpb24gMS43My44LiBKYW51YXJ5LCAyMDA2LiBDaGFuZ2VkIHRoZSBwcmVmZXJlbmNlcyBwYW5lbCB0byBiZSBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjkuIEphbnVhcnksIDIwMDYuIEFkZGVkIHRlc3QgZW1haWwgY2FwYWJpbGl0eSwgYW5kIGNvbmZpcm1hdGlvbiBvbiBlYWNoIGJ1dHRvbiAoZXhjZXB0IGNhbmNlbCk8L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMC4gQXVndXN0LCAyMDA2LiBNb2RpZmllZCB0byB1c2UgbGF6eSBsb2FkaW5nIHRvIG1pbmltaXplIG1lbW9yeSBmb290cHJpbnQgd2hlbiBDTVNNYWlsZXIgaXMgbm90IGJlaW5nIHVzZWQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTMuIEphbnVhcnksIDIwMDguICBBZGRlZCBtb3JlIHBlcm1pc3Npb25zIGNoZWNrcy48L2xpPg0KPGxpPlZlcnNpb24gMi4wLjEgLSBKYW51YXJ5LCAyMDExIC0gUmVtb3ZlIGNhbmNlbCBidXR0b24uPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2F0IGRvZXQgaGV0PzwvaDM+DQo8cD5EZXplIG1vZHVsZSBiZXZhdCBnZWVuIGVpbmRnZWJydWlrZXJzZnVuY3Rpb25hbGl0ZWl0LiBIZXQgaXMgb250d29ycGVuIG9tIGdlw69udGVncmVlcmQgdGUgd29yZGVuIGluIGFuZGVyZSBtb2R1bGVzIG9tIGVtYWlsbW9nZWxpamtoZWRlbiB0ZSB2ZXJzY2hhZmZlbi4gPC9wPg0KPGgzPkhvZSBnZWJydWlrIGlrIGhldD88L2gzPg0KPHA+RGV6ZSBtb2R1bGUgZ2VlZnQgZWVuIGVlbnZvdWRpZ2Ugd3JhcHBlciByb25kIGFsbGUgbWV0aG9kZW4gZW4gdmFyaWFiZWxlbiB2YW4gcGhwbWFpbGVyLiAgSGV0IGlzIG9udHdvcnBlbiB2b29yIGdlYnJ1aWsgZG9vciBhbmRlcmUgbW9kdWxlb250d2lra2VsYWFycy4gSGllcm9uZGVyIHN0YWF0IGVlbiB2b29yYmVlbGQgZW4gZWVuIGJla25vcHRlIEFQSSByZWZlcmVudGllLiBMZWVzIGRlIFBIUE1haWxlciBkb2N1bWVudGF0aWUgdm9vciBtZWVyIGluZm9ybWF0aWUuPC9wPg0KPGgzPkVlbiB2b29yYmVlbGQ8L2gzPg0KPHByZT4NCiAgJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZShcJ0NNU01haWxlclwnKTsNCiAgJGNtc21haWxlci0+QWRkQWRkcmVzcyhcJ2NhbGd1eTEwMDBAaG90bWFpbC5jb21cJyxcJ2NhbGd1eVwnKTsNCiAgJGNtc21haWxlci0+U2V0Qm9keShcJ0RpdCBpcyBlZW4gdGVzdGJlcmljaHRcJyk7DQogICRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsNCiAgJGNtc21haWxlci0+U2V0U3ViamVjdChcJ1Rlc3QgbWVzc2FnZVwnKTsNCiAgJGNtc21haWxlci0+U2VuZCgpOw0KPC9wcmU+DQo8aDM+QVBJPC9oMz4NCjx1bD4NCjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPg0KPHA+UmVzZXQgdGhlIG9iamVjdCBiYWNrIHRvIHRoZSB2YWx1ZXMgc3BlY2lmaWVkIGluIHRoZSBhZG1pbiBwYW5lbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEFsdEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDaGFyU2V0KCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogaXNvLTg4NTktMTwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q2hhclNldCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb25maXJtUmVhZGluZ1RvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhZGRyZXNzIGNvbmZpcm1lZCByZWFkaW5nIGVtYWlsIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29uZmlybVJlYWRpbmdUbyggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgb3IgdW5zZXQgdGhlIGNvbmZpcm0gcmVhZGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiB0ZXh0L3BsYWluPC9wPg0KPHA+UmV0dXJuIHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5TZXQgdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVuY29kaW5nKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBlbmNvZGluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRFbmNvZGluZyggJGVuY29kaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBlbmNvZGluZzwvcD4NCjxwPk9wdGlvbnMgYXJlOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlJldHVybiBhbnkgZXJyb3IgaW5mb3JtYXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RnJvbSggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIZWxvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBIRUxPIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8cD5EZWZhdWx0IHZhbHVlOiAkaG9zdG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBTTVRQcyBob3N0IHNlcGFyYXRlZCBieSBzZW1pY29sb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldE1haWxlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyLCBlaXRoZXIgc2VuZG1haWwsbWFpbCwgb3Igc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFBhc3N3b3JkKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBhc3N3b3JkKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UG9ydCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcG9ydCBudW1iZXIgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgcG9ydCBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8cD5WYWx1ZXMgYXJlIDE9SGlnaCwgMyA9IE5vcm1hbCwgNSA9IExvdzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZGVyIGVtYWlsIChyZXR1cm4gcGF0aCkgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRlciggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRlciBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kbWFpbCggJHBhdGggKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEF1dGgoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQQXV0aCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBEZWJ1ZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0VGltZW91dCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFdvcmRXcmFwKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5BZGQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSBcJ1wnLCAkZW5jb2RpbmcgPSBcJ2Jhc2U2NFwnLCAkdHlwZSA9IFwnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwnICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5BZGQgYSBCQ0NcJ2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5BZGQgYSBDQ1wnZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+DQo8cD5BZGQgYSBjdXN0b20gaGVhZGVyIHRvIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkRW1iZWRkZWRJbWFnZSggJHBhdGgsICRjaWQsICRuYW1lID0gXCdcJywgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4NCjxwPkFkZCBhbiBlbWJlZGRlZCBpbWFnZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gXCdcJyApPC9iPjwvcD4NCjxwPkFkZCBhIHJlcGx5IHRvIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFN0cmluZ0F0dGFjaG1lbnQoICRzdHJpbmcsICRmaWxlbmFtZSwgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgcmVjaXBpZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhdHRhY2htZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIEJDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIENDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGN1c3RvbSBoZWFkZXJzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhclJlcGx5dG8oKTwvYj48L3A+DQo8cD5DbGVhciByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPg0KPHA+Q2hlY2sgZm9yIGFuIGVycm9yIGNvbmRpdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBodG1sIGZsYWc8L3A+DQo8cD48aT5Ob3RlPC9pPiBwb3NzaWJseSB0aGlzIHNob3VsZCBiZSBhIGdldCBhbmQgc2V0IG1ldGhvZDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc01haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNRbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgcW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NNVFAoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNlbmQoKTwvYj48L3A+DQo8cD5TZW5kIHRoZSBjdXJyZW50bHkgcHJlcGFyZWQgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gXCdcJyApPC9iPjwvcD4NCjxwPlNldCB0aGUgY3VycmVudCBsYW5ndWFnZSBhbmQgPGVtPihvcHRpb25hbCk8L2VtPiBsYW5ndWFnZSBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TbXRwQ2xvc2UoKTwvYj48L3A+DQo8cD5DbG9zZSB0aGUgc210cCBjb25uZWN0aW9uPC9wPg0KPC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eXMgaG9tZXBhZ2UgYXQgPGEgaHJlZj1cJ2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmdcJz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPVwnaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnXCc+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9XCdpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXNcJz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAoQykgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tIj5jYWxndXkxMDAwQGhvdG1haWwuY29tPC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9XCdodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUExcJz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnVGhpcyB0ZXN0IGlzIGdlbmVyYXRlZCBvbiBhbiBpbmZyZXF1ZW50IGJhc2lzLiAgSXQgbWF5IHRha2Ugc29tZSB0aW1lIGZvciBpdCB0byBnbyBhd2F5JzsKJGxhbmdbJ25vbmUnXSA9ICfFu2FkZW4nOwokbGFuZ1snc3NsJ10gPSAnU1NMJzsKJGxhbmdbJ3RscyddID0gJ1RMUyc7CiRsYW5nWydzZWN1cmUnXSA9ICdFbmNyeXB0aW9uIG1lY2hhbmlzbSc7CiRsYW5nWydpbmZvX3NlY3VyZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgU01UUCBtYWlsZXIgbWV0aG9kLCB0aGlzIG9wdGlvbiBhbGxvd3Mgc3BlY2lmeWluZyBkaWZmZXJlbnQgZW5jcnlwdGlvbiBtZWNoYW5pc21zIGZvciB0aGUgY29ubmVjdGlvbic7CiRsYW5nWydpbmZvX2Ntc21haWxlciddID0gJ1RlbiBtb2R1xYIgamVzdCB1xbx5d2FueSBwcnpleiB3aWVsZSBpbm55Y2ggbW9kdcWCJm9hY3V0ZTt3IGRvIMWCYXR3aWVqc3plZ28gd3lzecWCYW5pYSBtYWlsaS4gTXVzaSBiecSHIHBvcHJhd25pZSBza29uZmlndXJvd2FueSBwb2QgdHcmb2FjdXRlO2ogaG9zdC4gU2tvcnp5c3RhaiB6IGluZm9ybWFjamkgZG9zdGFyY3pvbnljaCBwcnpleiB0d29qZWdvIGhvc3RhIGJ5IGRvcGFzb3dhxIcgcG9uacW8c3plIHVzdGF3aWVuaWEuIEplxZtsaSBuYWRhbCBuaWUgZG9zdGFqZXN6IHRlc3Rvd2VqIHdpYWRvbW/Fm2NpLCBiecSHIG1vxbxlIGLEmWR6aWVzeiBtdXNpYcWCIHNrb250YWt0b3dhxIcgc2nEmSB6IHR3b2ltIGhvc3RlbSBvIHBvbW9jLic7CiRsYW5nWydjaGFyc2V0J10gPSAnWmVzdGF3IHpuYWsmb2FjdXRlO3cnOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ1d5xZtsZW15IHRlc3Rvd8SFIHdpYWRvbW/Fm8SHIG5hIHBvZGFueSBhZHJlcy4gSmXFm2xpIHByb2NlcyB3eXPFgmFuaWEgc2nEmSBwb3dpZWR6aWUsIHpvc3Rhbmllc3ogcHJ6ZWtpZXJvd2FueSB6IHBvd3JvdGVtIG5hIHTEmSBzdHJvbsSZLiBDenkgY2hjZXN6IGtvbnR5bnVvd2HEhz8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnWmFwaXNhxIcgYmllxbzEhWNlIHdhcnRvxZtjaSB3IHVzdGF3aWVuaWFjaCBDTVNNYWlsZXI/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnQ01TTWFpbGVyIFdpYWRvbW/Fm8SHIHRlc3Rvd2EnOwokbGFuZ1sndGVzdGJvZHknXSA9ICdUYSB3aWFkb21vxZvEhyBtYSBuYSBjZWx1IHNwcmF3ZHplbmllIHVzdGF3aWXFhCBtb2R1xYJ1IENNU01haWxlci4NCkplxZtsaSBqxIUgZG9zdGHFgmXFmywgd3N6eXN0a28gZ3JhLic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAnQsWCxIVkOiBuaWUgem9zdGHFgiBwb2RhbnkgYWRyZXMgbWFpbGEgdGVzdG93ZWdvJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ0FkcmVzIG1haWxhIHRlc3Rvd2Vnbyc7CiRsYW5nWydzZW5kdGVzdCddID0gJ1d5xZtsaWogd2lhZG9tb8WbxIcgdGVzdG93xIUnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdIYXPFgm8nOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVxbx5dGtvd25payc7CiRsYW5nWydzbXRwYXV0aCddID0gJ1NNVFAgQXV0aGVudGljYXRpb24nOwokbGFuZ1snbWFpbGVyJ10gPSAnTWFpbGVyIG1ldGhvZCc7CiRsYW5nWydob3N0J10gPSAnU01UUCBob3N0IG5hbWU8YnIvPjxpPihvciBJUCBhZGRyZXNzKTwvaT4nOwokbGFuZ1sncG9ydCddID0gJ1BvcnQgb2YgU01UUCBzZXJ2ZXInOwokbGFuZ1snZnJvbSddID0gJ1ogYWRyZXN1JzsKJGxhbmdbJ2Zyb211c2VyJ10gPSAnT2QgdcW8eXRrb3duaWthJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnU2VuZG1haWwgbG9jYXRpb24nOwokbGFuZ1sndGltZW91dCddID0gJ1NNVFAgdGltZW91dCc7CiRsYW5nWydzdWJtaXQnXSA9ICdXecWbbGlqJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FudWx1aic7CiRsYW5nWydpbmZvX21haWxlciddID0gJ01haWwgbWV0aG9kIHRvIHVzZSAoc2VuZG1haWwsIHNtdHAsIG1haWwpLiAgVXN1YWxseSBzbXRwIGlzIHRoZSBtb3N0IHJlbGlhYmxlLic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICdTTVRQIGhvc3RuYW1lIChvbmx5IHZhbGlkIGZvciB0aGUgc210cCBtYWlsZXIgbWV0aG9kKSc7CiRsYW5nWydpbmZvX3BvcnQnXSA9ICdTTVRQIHBvcnQgbnVtYmVyICh1c3VhbGx5IDI1KSAob25seSB2YWxpZCBmb3IgdGhlIHNtdHAgbWFpbGVyIG1ldGhvZCknOwokbGFuZ1snaW5mb19mcm9tJ10gPSAnQWRyZXMgdcW8eXdhbnkgamFrbyBuYWRhd2NhIGVtYWlsaS4gPGJyLz48c3Ryb25nPlV3YWdhPC9zdHJvbmc+LCB0ZW4gYWRyZXMgZW1haWwgbXVzaSBiecSHIHBvcHJhd255IGRsYSB0d29qZWdvIGhvc3RhLCBqZcWbbGkgbmllIG1vZ8SFIHBvamF3aWHEhyBzacSZIHByb2JsZW15IHogd3lzecWCYW5pZW0gbWFpbGkuIEplxZtsaSBuaWUgem5hc3ogcG9wcmF3bnljaCB3YXJ0b8WbY2kgZGxhIHRlZ28gdXN0YXdpZW5pYSwgc2tvbnRha3R1aiBzacSZIHplIHN3b2ltIGhvc3RlbS4nOwokbGFuZ1snaW5mb19mcm9tdXNlciddID0gJ1ByenlqYXpuYSBuYXp3YSB1xbx5dGtvd25pa2Egd3lzecWCYWrEhWNlZ28gbWFpbGUnOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ1RoZSBjb21wbGV0ZSBwYXRoIHRvIHlvdXIgc2VuZG1haWwgZXhlY3V0YWJsZSAob25seSB2YWxpZCBmb3IgdGhlIHNlbmRtYWlsIG1haWxlciBtZXRob2QpJzsKJGxhbmdbJ2luZm9fdGltZW91dCddID0gJ1RoZSBudW1iZXIgb2Ygc2Vjb25kcyBpbiBhbiBTTVRQIGNvbnZlcnNhdGlvbiBiZWZvcmUgYW4gZXJyb3Igb2NjdXJzICh2YWxpZCBmb3IgdGhlIHNtdHAgbWFpbGVyIG1ldGhvZCknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ0RvZXMgeW91ciBzbXRwIGhvc3QgcmVxdWlyZSBhdXRoZW50aWNhdGlvbiAodmFsaWQgb25seSBmb3IgdGhlIHNtdHAgbWFpbGVyIG1ldGhvZCknOwokbGFuZ1snaW5mb191c2VybmFtZSddID0gJ1NNVFAgYXV0aGVudGljYXRpb24gdXNlcm5hbWUgKHZhbGlkIG9ubHkgZm9yIHNtdHAgbWFpbGVyIG1ldGhvZCwgd2hlbiBzbXRwIGF1dGggaXMgc2VsZWN0ZWQpJzsKJGxhbmdbJ2luZm9fcGFzc3dvcmQnXSA9ICdTTVRQIGF1dGhlbnRpY2F0aW9uIHBhc3N3b3JkICh2YWxpZCBvbmx5IGZvciBzbXRwIG1haWxlciBtZXRob2QsIHdoZW4gc210cCBhdXRoIGlzIHNlbGVjdGVkKSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDTVNNYWlsZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1xYIgQ01TTWFpbGVyIHphaW5zdGFsb3dhbnkgcG9wcmF3bmllJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDTVNNYWlsZXIgem9zdGHFgiBvZGluc3RhbG93YW55Li4uJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdcWCIG9kaW5zdGFsb3dhbm8uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ1dlcnNqYSAlcyB6YWluc3RhbG93YW5hLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdCcmFrIGRvc3TEmXB1LiBTcHJhd2TFuiBzd29qZSB1cHJhd25pZW5pYS4nOwokbGFuZ1snZXJyb3InXSA9ICdCxYLEhWQhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdcWCIHVha3R1YWxuaW9ueSBkbyB3ZXJzamkgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1VzdGF3aWVuaWEgbW9kdcWCdSc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bGUgQWRtaW4gUGFuZWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdDTVNNYWlsZXIgTW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBpcyBhIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCBQSFBNYWlsZXIsIGl0IGhhcyBhbiBlcXVpdmFsZW50IEFQSSAoZnVuY3Rpb24gZm9yIGZ1bmN0aW9uKSBhbmQgYSBzaW1wbGUgaW50ZXJmYWNlIGZvciBzb21lIGRlZmF1bHRzLic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggdGhlIGFkbWluIHBhbmVsLiAgVGhlIGRyb3Bkb3duIHdhcyBub3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIHByZWZlcmVuY2VzIGRhdGFiYXNlPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBBZGRlZCB0aGUgZm9ybSBmaWVsZHMgYW5kIGZ1bmN0aW9uYWxpdHkgZm9yIFNNVFAgYXV0aGVudGljYXRpb24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJ5LCAyMDA2LiBJbmNyZWFzZWQgZmllbGQgbGVuZ3RocyBpbiBtb3N0IGZpZWxkczwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnVhcnksIDIwMDYuIENoYW5nZWQgdGhlIHByZWZlcmVuY2VzIHBhbmVsIHRvIGJlIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEwLiBBdWd1c3QsIDIwMDYuIE1vZGlmaWVkIHRvIHVzZSBsYXp5IGxvYWRpbmcgdG8gbWluaW1pemUgbWVtb3J5IGZvb3RwcmludCB3aGVuIENNU01haWxlciBpcyBub3QgYmVpbmcgdXNlZC48L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMy4gSmFudWFyeSwgMjAwOC4gIEFkZGVkIG1vcmUgcGVybWlzc2lvbnMgY2hlY2tzLjwvbGk+DQo8bGk+VmVyc2lvbiAyLjAuMSAtIEphbnVhcnksIDIwMTEgLSBSZW1vdmUgY2FuY2VsIGJ1dHRvbi48L2xpPg0KPGxpPlZlcnNpb24gMi4wLjIgLSBTZXB0ZW1iZXIsIDIwMTEgLSBTZXQgZGVmYXVsdCBjaGFyc2V0IHRvIHV0Zi04LjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBubyBlbmQgdXNlciBmdW5jdGlvbmFsaXR5LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgaW50ZWdyYXRlZCBpbnRvIG90aGVyIG1vZHVsZXMgdG8gcHJvdmlkZSBlbWFpbCBjYXBhYmlsaXRpZXMuICBUaGF0cyBpdCwgbm90aGluZyBtb3JlLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgYWxsIG9mIHRoZSBtZXRob2RzIGFuZCB2YXJpYWJsZXMgb2YgcGhwbWFpbGVyLiAgSXQgaXMgZGVzaWduZWQgZm9yIHVzZSBieSBvdGhlciBtb2R1bGUgZGV2ZWxvcGVycywgYmVsb3cgaXMgYW4gZXhhbXBsZSwgYW5kIGEgYnJpZWYgQVBJIHJlZmVyZW5jZS4gIFBsZWFzZSByZWFkIHRoZSBQSFBNYWlsZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+DQo8aDM+QW4gRXhhbXBsZTwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCYjMDM5O0NNU01haWxlciYjMDM5Oyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJiMwMzk7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5OywmIzAzOTtjYWxndXkmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KCYjMDM5OzxoND5UaGlzIGlzIGEgdGVzdCBtZXNzYWdlPC9oND4mIzAzOTspOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoJiMwMzk7VGVzdCBtZXNzYWdlJiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2VuZCgpOw0KPC9wcmU+DQo8aDM+QVBJPC9oMz4NCjx1bD4NCjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPg0KPHA+UmVzZXQgdGhlIG9iamVjdCBiYWNrIHRvIHRoZSB2YWx1ZXMgc3BlY2lmaWVkIGluIHRoZSBhZG1pbiBwYW5lbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEFsdEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDaGFyU2V0KCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogaXNvLTg4NTktMTwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q2hhclNldCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyIGNoYXJhY3RlciBzZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb25maXJtUmVhZGluZ1RvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhZGRyZXNzIGNvbmZpcm1lZCByZWFkaW5nIGVtYWlsIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29uZmlybVJlYWRpbmdUbyggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgb3IgdW5zZXQgdGhlIGNvbmZpcm0gcmVhZGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiB0ZXh0L3BsYWluPC9wPg0KPHA+UmV0dXJuIHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5TZXQgdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVuY29kaW5nKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBlbmNvZGluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRFbmNvZGluZyggJGVuY29kaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBlbmNvZGluZzwvcD4NCjxwPk9wdGlvbnMgYXJlOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlJldHVybiBhbnkgZXJyb3IgaW5mb3JtYXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RnJvbSggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIZWxvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBIRUxPIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8cD5EZWZhdWx0IHZhbHVlOiAkaG9zdG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBTTVRQcyBob3N0IHNlcGFyYXRlZCBieSBzZW1pY29sb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldE1haWxlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWFpbGVyPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldE1haWxlciggJG1haWxlciApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWFpbGVyLCBlaXRoZXIgc2VuZG1haWwsbWFpbCwgb3Igc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFBhc3N3b3JkKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBhc3N3b3JkKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwYXNzd29yZCBmb3Igc210cCBhdXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UG9ydCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcG9ydCBudW1iZXIgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgcG9ydCBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFByaW9yaXR5KCBpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8cD5WYWx1ZXMgYXJlIDE9SGlnaCwgMyA9IE5vcm1hbCwgNSA9IExvdzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRlcigpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZGVyIGVtYWlsIChyZXR1cm4gcGF0aCkgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRlciggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRlciBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kbWFpbCggJHBhdGggKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEF1dGgoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQQXV0aCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBEZWJ1ZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHN1YmplY3Qgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0VGltZW91dCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgdGltZW91dCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VXNlcm5hbWUoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFdvcmRXcmFwKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRXb3JkV3JhcCggJGludCApPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEF0dGFjaG1lbnQoICRwYXRoLCAkbmFtZSA9ICYjMDM5OyYjMDM5OywgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEJDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgQkNDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgQ0MmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEN1c3RvbUhlYWRlciggJHR4dCApPC9iPjwvcD4NCjxwPkFkZCBhIGN1c3RvbSBoZWFkZXIgdG8gdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRFbWJlZGRlZEltYWdlKCAkcGF0aCwgJGNpZCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGFuIGVtYmVkZGVkIGltYWdlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRSZXBseVRvKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFkZHJlc3NlcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWxsUmVjaXBpZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCByZWNpcGllbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckF0dGFjaG1lbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGF0dGFjaG1lbnRzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQkNDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDQ3MoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckN1c3RvbUhlYWRlcnMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgY3VzdG9tIGhlYWRlcnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyUmVwbHl0bygpPC9iPjwvcD4NCjxwPkNsZWFyIHJlcGx5IHRvIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzRXJyb3IoKTwvYj48L3A+DQo8cD5DaGVjayBmb3IgYW4gZXJyb3IgY29uZGl0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzSFRNTCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGh0bWwgZmxhZzwvcD4NCjxwPjxpPk5vdGU8L2k+IHBvc3NpYmx5IHRoaXMgc2hvdWxkIGJlIGEgZ2V0IGFuZCBzZXQgbWV0aG9kPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzTWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc1FtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBxbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc2VuZG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU01UUCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2VuZCgpPC9iPjwvcD4NCjxwPlNlbmQgdGhlIGN1cnJlbnRseSBwcmVwYXJlZCBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIDxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZ3VhZ2UgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U210cENsb3NlKCk8L2I+PC9wPg0KPHA+Q2xvc2UgdGhlIHNtdHAgY29ubmVjdGlvbjwvcD4NCjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlzIGhvbWVwYWdlIGF0IDxhIGhyZWY9JiMwMzk7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyYjMDM5Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyYjMDM5Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmIzAzOTs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSYjMDM5O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJiMwMzk7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCYjMDM5Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTEzMTgyMTM3MzktMTI3NTY2ODM3MTMwMyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4NzM0OTYyODMuMTI5NDM0MDc2Mi4xMjk0MzQwNzYyLjEyOTQzNDA3NjIuMSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_BR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ25vbmUnXSA9ICdOZW5odW0nOwokbGFuZ1snc3NsJ10gPSAnU1NMJzsKJGxhbmdbJ3RscyddID0gJ1RMUyc7CiRsYW5nWydzZWN1cmUnXSA9ICdNZWNhbmlzbW8gZGUgY3JpcHRvZ3JhZmlhJzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBTTVRQIG1haWxlciBtZXRob2QsIHRoaXMgb3B0aW9uIGFsbG93cyBzcGVjaWZ5aW5nIGRpZmZlcmVudCBlbmNyeXB0aW9uIG1lY2hhbmlzbXMgZm9yIHRoZSBjb25uZWN0aW9uJzsKJGxhbmdbJ2luZm9fY21zbWFpbGVyJ10gPSAnVGhpcyBtb2R1bGUgaXMgdXNlZCBieSBudW1lcm91cyBvdGhlciBtb2R1bGVzIHRvIGZhY2lsaXRhdGUgc2VuZGluZyBlbWFpbHMuICBJdCBtdXN0IGJlIHByb3Blcmx5IGNvbmZpZ3VyZWQgdG8geW91ciBob3N0cyByZXF1aXJlbWVudHMuICBQbGVhc2UgdXNlIHRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSB5b3VyIGhvc3QgdG8gYWRqdXN0IHRoZXNlIHNldHRpbmdzLiAgSWYgeW91IHN0aWxsIGNhbm5vdCBnZXQgdGhlIHRlc3QgbWVzc2FnZSB0byBzZW5kIHByb3Blcmx5LCB5b3UgbWF5IGhhdmUgdG8gY29udGFjdCB5b3VyIGhvc3QgZm9yIGFzc2lzdGFuY2UuJzsKJGxhbmdbJ2NoYXJzZXQnXSA9ICdDaGFyYWN0ZXIgU2V0JzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdUaGlzIHdpbGwgc2VuZCBhIHRlc3QgbWVzc2FnZSB0byB0aGUgYWRkcmVzcyBzcGVjaWZpZWQuIElmIHRoZSBzZW5kIHByb2Nlc3Mgc3VjZWVkZWQsIHlvdSB3aWxsIGJlIHJldHVybmVkIHRvIHRoaXMgcGFnZS4gIERvIHlvdSB3YW50IHRvIGNvbnRpbnVlPyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICdXcml0ZSBjdXJyZW50IHZhbHVlcyB0byBDTVNNYWlsZXIgc2V0dGluZ3M/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnQ01TTWFpbGVyIFRlc3QgTWVzc2FnZSc7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ1RoaXMgbWVzc2FnZSBpcyBpbnRlbmRlZCBvbmx5IHRvIHZlcmlmeSB0aGUgdmFsaWRpdHkgb2YgdGhlIHNldHRpbmdzIGluIHRoZSBDTVNNYWlsZXIgbW9kdWxlLg0KSWYgeW91IHJlY2VpdmVkIGl0LCBldmVyeXRoaW5nIGlzIHdvcmtpbmcgZmluZS4nOwokbGFuZ1snZXJyb3Jfbm90ZXN0YWRkcmVzcyddID0gJ0Vycm9yOiBUZXN0IGFkZHJlc3Mgbm90IHNwZWNpZmllZCc7CiRsYW5nWydwcm9tcHRfdGVzdGFkZHJlc3MnXSA9ICdUZXN0IEVtYWlsIEFkZHJlc3MnOwokbGFuZ1snc2VuZHRlc3QnXSA9ICdTZW5kIFRlc3QgTWVzc2FnZSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhc3N3b3JkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snc210cGF1dGgnXSA9ICdTTVRQIEF1dGhlbnRpY2F0aW9uJzsKJGxhbmdbJ21haWxlciddID0gJ01haWxlciBtZXRob2QnOwokbGFuZ1snaG9zdCddID0gJ1NNVFAgaG9zdCBuYW1lPGJyLz48aT4ob3IgSVAgYWRkcmVzcyk8L2k+JzsKJGxhbmdbJ3BvcnQnXSA9ICdQb3J0IG9mIFNNVFAgc2VydmVyJzsKJGxhbmdbJ2Zyb20nXSA9ICdGcm9tIGFkZHJlc3MnOwokbGFuZ1snZnJvbXVzZXInXSA9ICdGcm9tIFVzZXJuYW1lJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnU2VuZG1haWwgbG9jYXRpb24nOwokbGFuZ1sndGltZW91dCddID0gJ1NNVFAgdGltZW91dCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnTWFpbCBtZXRob2QgdG8gdXNlIChzZW5kbWFpbCwgc210cCwgbWFpbCkuICBVc3VhbGx5IHNtdHAgaXMgdGhlIG1vc3QgcmVsaWFibGUuJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ1NNVFAgaG9zdG5hbWUgKG9ubHkgdmFsaWQgZm9yIHRoZSBzbXRwIG1haWxlciBtZXRob2QpJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ1NNVFAgcG9ydCBudW1iZXIgKHVzdWFsbHkgMjUpIChvbmx5IHZhbGlkIGZvciB0aGUgc210cCBtYWlsZXIgbWV0aG9kKSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICdBZGRyZXNzIHVzZWQgYXMgdGhlIHNlbmRlciBpbiBhbGwgZW1haWxzLiA8YnIvPjxzdHJvbmc+Tm90ZTwvc3Ryb25nPiwgdGhpcyBlbWFpbCBhZGRyZXNzIG11c3QgYmUgc2V0IGNvcnJlY3RseSBmb3IgeW91ciBob3N0IG9yIHlvdSB3aWxsIGhhdmUgZGlmZmljdWx0eSBzZW5kaW5nIGVtYWlscy48YnIvPklmIHlvdSBkbyBub3Qga25vdyB0aGUgcHJvcGVyIHZhbHVlIGZvciB0aGlzIHNldHRpbmcsIHlvdSBtYXkgbmVlZCB0byBjb250YWN0IHlvdXIgaG9zdC4nOwokbGFuZ1snaW5mb19mcm9tdXNlciddID0gJ0ZyaWVuZGx5IG5hbWUgdXNlZCBmb3Igc2VuZGluZyBhbGwgZW1haWxzJzsKJGxhbmdbJ2luZm9fc2VuZG1haWwnXSA9ICdUaGUgY29tcGxldGUgcGF0aCB0byB5b3VyIHNlbmRtYWlsIGV4ZWN1dGFibGUgKG9ubHkgdmFsaWQgZm9yIHRoZSBzZW5kbWFpbCBtYWlsZXIgbWV0aG9kKSc7CiRsYW5nWydpbmZvX3RpbWVvdXQnXSA9ICdUaGUgbnVtYmVyIG9mIHNlY29uZHMgaW4gYW4gU01UUCBjb252ZXJzYXRpb24gYmVmb3JlIGFuIGVycm9yIG9jY3VycyAodmFsaWQgZm9yIHRoZSBzbXRwIG1haWxlciBtZXRob2QpJzsKJGxhbmdbJ2luZm9fc210cGF1dGgnXSA9ICdEb2VzIHlvdXIgc210cCBob3N0IHJlcXVpcmUgYXV0aGVudGljYXRpb24gKHZhbGlkIG9ubHkgZm9yIHRoZSBzbXRwIG1haWxlciBtZXRob2QpJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWUnXSA9ICdTTVRQIGF1dGhlbnRpY2F0aW9uIHVzZXJuYW1lICh2YWxpZCBvbmx5IGZvciBzbXRwIG1haWxlciBtZXRob2QsIHdoZW4gc210cCBhdXRoIGlzIHNlbGVjdGVkKSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnU01UUCBhdXRoZW50aWNhdGlvbiBwYXNzd29yZCAodmFsaWQgb25seSBmb3Igc210cCBtYWlsZXIgbWV0aG9kLCB3aGVuIHNtdHAgYXV0aCBpcyBzZWxlY3RlZCknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ01TTWFpbGVyIG1vZHVsZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDTVNNYWlsZXIgbW9kdWxlIHVuaW5zdGFsbGVkLi4uIHNvcnJ5IHRvIHNlZSB5b3UgbGVhdmUnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZSBQcmVmZXJlbmNlcyc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bGUgQWRtaW4gUGFuZWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdDTVNNYWlsZXIgTW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVGhpcyBpcyBhIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCBQSFBNYWlsZXIsIGl0IGhhcyBhbiBlcXVpdmFsZW50IEFQSSAoZnVuY3Rpb24gZm9yIGZ1bmN0aW9uKSBhbmQgYSBzaW1wbGUgaW50ZXJmYWNlIGZvciBzb21lIGRlZmF1bHRzLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XZWxjb21lIHRvIHRoZSBDTVNNYWlsZXIgbW9kdWxlIGFkbWluIHNlY3Rpb24nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS43My4xLiBPY3RvYmVyLCAyMDA1LiBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHRoZSBhZG1pbiBwYW5lbC4gIFRoZSBkcm9wZG93biB3YXMgbm90IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSBwcmVmZXJlbmNlcyBkYXRhYmFzZTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjMuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCBzZW5kaW5nIGh0bWwgZW1haWw8L2xpPg0KPGxpPlZlcnNpb24gMS43My40LiBOb3ZlbWJlciwgMjAwNS4gRm9ybSBmaWVsZHMgaW4gcHJlZmVyZW5jZXMgYXJlIGxhcmdlciwgZml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIGZyb211c2VyLCBhbmQgY2FsbGVkIHJlc2V0IHdpdGhpbiB0aGUgY29uc3RydWN0b3I8L2xpPg0KPGxpPlZlcnNpb24gMS43My41LiBOb3ZlbWJlciwgMjAwNS4gQWRkZWQgdGhlIGZvcm0gZmllbGRzIGFuZCBmdW5jdGlvbmFsaXR5IGZvciBTTVRQIGF1dGhlbnRpY2F0aW9uLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjYuIERlY2VtYmVyLCAyMDA1LiBEZWZhdWx0IG1haWxlciBtZXRob2QgaXMgU01UUCBvbiBpbnN0YWxsLCBhbmQgaW1wcm92ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIG5vdyBJIGNsZWFyIGFsbCB0aGUgYXR0YWNobWVudHMsIGFuZCBhZGRyZXNzZXMsIGV0Yy4gb24gcmVzZXQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNy4gSmFudWFyeSwgMjAwNi4gSW5jcmVhc2VkIGZpZWxkIGxlbmd0aHMgaW4gbW9zdCBmaWVsZHM8L2xpPg0KPGxpPlZlcnNpb24gMS43My44LiBKYW51YXJ5LCAyMDA2LiBDaGFuZ2VkIHRoZSBwcmVmZXJlbmNlcyBwYW5lbCB0byBiZSBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjkuIEphbnVhcnksIDIwMDYuIEFkZGVkIHRlc3QgZW1haWwgY2FwYWJpbGl0eSwgYW5kIGNvbmZpcm1hdGlvbiBvbiBlYWNoIGJ1dHRvbiAoZXhjZXB0IGNhbmNlbCk8L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMC4gQXVndXN0LCAyMDA2LiBNb2RpZmllZCB0byB1c2UgbGF6eSBsb2FkaW5nIHRvIG1pbmltaXplIG1lbW9yeSBmb290cHJpbnQgd2hlbiBDTVNNYWlsZXIgaXMgbm90IGJlaW5nIHVzZWQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTMuIEphbnVhcnksIDIwMDguICBBZGRlZCBtb3JlIHBlcm1pc3Npb25zIGNoZWNrcy48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgbm8gZW5kIHVzZXIgZnVuY3Rpb25hbGl0eS4gIEl0IGlzIGRlc2lnbmVkIHRvIGJlIGludGVncmF0ZWQgaW50byBvdGhlciBtb2R1bGVzIHRvIHByb3ZpZGUgZW1haWwgY2FwYWJpbGl0aWVzLiAgVGhhdHMgaXQsIG5vdGhpbmcgbW9yZS48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIGFsbCBvZiB0aGUgbWV0aG9kcyBhbmQgdmFyaWFibGVzIG9mIHBocG1haWxlci4gIEl0IGlzIGRlc2lnbmVkIGZvciB1c2UgYnkgb3RoZXIgbW9kdWxlIGRldmVsb3BlcnMsIGJlbG93IGlzIGFuIGV4YW1wbGUsIGFuZCBhIGJyaWVmIEFQSSByZWZlcmVuY2UuICBQbGVhc2UgcmVhZCB0aGUgUEhQTWFpbGVyIGRvY3VtZW50YXRpb24gaW5jbHVkZWQgZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPg0KPGgzPkFuIEV4YW1wbGU8L2gzPg0KPHByZT4NCiAgJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgmIzAzOTtDTVNNYWlsZXImIzAzOTspOw0KICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCYjMDM5O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mIzAzOTssJiMwMzk7Y2FsZ3V5JiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2V0Qm9keSgmIzAzOTs8aDQ+VGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvaDQ+JiMwMzk7KTsNCiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOw0KICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCYjMDM5O1Rlc3QgbWVzc2FnZSYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNlbmQoKTsNCjwvcHJlPg0KPGgzPkFQSTwvaDM+DQo8dWw+DQo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4NCjxwPlJlc2V0IHRoZSBvYmplY3QgYmFjayB0byB0aGUgdmFsdWVzIHNwZWNpZmllZCBpbiB0aGUgYWRtaW4gcGFuZWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IGlzby04ODU5LTE8L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4NCjxwPlJldHVybiB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgZW5jb2Rpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgZW5jb2Rpbmc8L3A+DQo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIEhFTE8gc3RyaW5nPC9wPg0KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPHA+VmFsdWVzIGFyZSAxPUhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBMb3c8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRlciBlbWFpbCAocmV0dXJuIHBhdGgpIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kZXIgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIEJDQyYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIENDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+DQo8cD5BZGQgYSBjdXN0b20gaGVhZGVyIHRvIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkRW1iZWRkZWRJbWFnZSggJHBhdGgsICRjaWQsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhbiBlbWJlZGRlZCBpbWFnZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgcmVjaXBpZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhdHRhY2htZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIEJDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIENDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGN1c3RvbSBoZWFkZXJzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhclJlcGx5dG8oKTwvYj48L3A+DQo8cD5DbGVhciByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPg0KPHA+Q2hlY2sgZm9yIGFuIGVycm9yIGNvbmRpdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBodG1sIGZsYWc8L3A+DQo8cD48aT5Ob3RlPC9pPiBwb3NzaWJseSB0aGlzIHNob3VsZCBiZSBhIGdldCBhbmQgc2V0IG1ldGhvZDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc01haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNRbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgcW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NNVFAoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNlbmQoKTwvYj48L3A+DQo8cD5TZW5kIHRoZSBjdXJyZW50bHkgcHJlcGFyZWQgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+DQo8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPSYjMDM5O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmIzAzOTs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmIzAzOTs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JiMwMzk7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJiMwMzk7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0mIzAzOTttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmIzAzOTs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWydxY2EnXSA9ICdQMC0xMDAyOTIzNTUtMTI5MjMzOTA0MTkwMyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyOTIzMzkwNDIuMS4xLnV0bWNzcj1nb29nbGV8dXRtY2NuPShvcmdhbmljKXx1dG1jbWQ9b3JnYW5pY3x1dG1jdHI9Y21zbXMnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43NTc4NDM2MDkuMTI5MjMzOTA0Mi4xMjkyMzM5MDQyLjEyOTIzMzkwNDIuMSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuOC45LjEyOTIzMzkxNjU1ODgnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnRXN0ZSB0ZXN0ZSAmZWFjdXRlOyBnZXJhZG8gcG91Y28gZnJlcXVlbnRlbWVudGUuIFBvZGUgZGVjb3JyZXIgYWxndW0gdGVtcG8gYW50ZXMgZGUgZGVzYXBhcmVjZXIuJzsKJGxhbmdbJ25vbmUnXSA9ICdOZW5odW0nOwokbGFuZ1snc3NsJ10gPSAnU1NMICc7CiRsYW5nWyd0bHMnXSA9ICdUTFMgJzsKJGxhbmdbJ3NlY3VyZSddID0gJ01lY2FuaXNtbyBkZSBlbmNyaXB0YSZjY2VkaWw7JmF0aWxkZTtvJzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAnQXBsaWMmYWFjdXRlO3ZlbCBhcGVuYXMgbm8gbSZlYWN1dGU7dG9kbyBTTVRQLCBlc3RhIG9wJmNjZWRpbDsmYXRpbGRlO28gcGVybWl0ZSBlc3BlY2lmaWNhciBkaWZlcmVudGVzIG1lY2FuaXNtb3MgZGUgZW5jcmlwdGEmY2NlZGlsOyZhdGlsZGU7byBwYXJhIGEgY29uZXgmYXRpbGRlO28nOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICdFc3RlIG0mb2FjdXRlO2R1bG8gJmVhY3V0ZTsgdXRpbGl6YWRvIHBvciB2JmFhY3V0ZTtyaW9zIG91dHJvcyBtJm9hY3V0ZTtkdWxvcyBwYXJhIGZhY2lsaXRhciBvIGVudmlvIEUtbWFpbHMuIERldmUgc2VyIGNvcnJlY3RhbWVudGUgY29uZmlndXJhZG8gZGUgYWNvcmRvIGNvbSBvcyByZXF1ZXJpbWVudG9zIGRvIHNldSBhbG9qYW1lbnRvLiBQb3IgZmF2b3IgdXNlIGFzIGluZm9ybWEmY2NlZGlsOyZvdGlsZGU7ZXMgZm9ybmVjaWRhcyBwZWxvIHNldSBwcm92ZWRvciBkZSBhbG9qYW1lbnRvIHBhcmEgYWp1c3RhciBlc3RhcyBkZWZpbmkmY2NlZGlsOyZvdGlsZGU7ZXMuIFNlIGNvbnRpbnVhciBhIG4mYXRpbGRlO28gY29uc2VndWlyIGVudmlhciBhIG1lbnNhZ2VtIGRlIHRlc3RlIGNvcnJlY3RhbWVudGUsIHBvZGUgdGVyIGRlIGNvbnRhY3RhciBvIHNldSBwcm92ZWRvciBkZSBhbG9qYW1lbnRvIHBhcmEgYXNzaXN0JmVjaXJjO25jaWEuJzsKJGxhbmdbJ2NoYXJzZXQnXSA9ICdEZWZpbmlyIENvZGlmaWNhJmNjZWRpbDsmYXRpbGRlO28gZGUgY2FyYWN0ZXJlcyc7CiRsYW5nWydzZW5kdGVzdG1haWxjb25maXJtJ10gPSAnRXN0YSBhYyZjY2VkaWw7JmF0aWxkZTtvIGlyJmFhY3V0ZTsgZW52aWFyIHVtYSBtZW5zYWdlbSBkZSB0ZXN0ZSBwYXJhIG8gZW5kZXJlJmNjZWRpbDtvIGVzcGVjaWZpY2Fkby4gU2UgbyBwcm9jZXNzbyBmb3IgYmVtIHN1Y2VkaWRvLCByZXRvcm5hciZhYWN1dGU7IGEgZXN0YSBwJmFhY3V0ZTtnaW5hLiBEZXNlamEgY29udGludWFyPyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICdFc2NyZXZlciBvcyB2YWxvcmVzIGFjdHVhaXMgbmFzIGNvbmZpZ3VyYSZjY2VkaWw7Jm90aWxkZTtlcyBkbyBDTVNNYWlsZXI/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnTWVuc2FnZW0gZGUgVGVzdGUgZG8gQ01TTWFpbGVyJzsKJGxhbmdbJ3Rlc3Rib2R5J10gPSAnRXN0YSBtZW5zYWdlbSBhcGVuYXMgcHJldGVuZGUgdmVyaWZpY2FyIGEgdmFsaWRhZGUgZGFzIGRlZmluaSZjY2VkaWw7Jm90aWxkZTtlcyBkbyBDTVNNYWlsZXIuDQpBbyByZWNlYmUtbGEgc2lnbmlmaWNhIHF1ZSB0dWRvIGVzdCZhYWN1dGU7IGEgZnVuY2lvbmFyIGJlbS4nOwokbGFuZ1snZXJyb3Jfbm90ZXN0YWRkcmVzcyddID0gJ0Vycm86IEVuZGVyZSZjY2VkaWw7byBkZSB0ZXN0ZSBuJmF0aWxkZTtvIGVzcGVjaWZpY2Fkbyc7CiRsYW5nWydwcm9tcHRfdGVzdGFkZHJlc3MnXSA9ICdFbmRlcmUmY2NlZGlsO28gRW1haWwgZGUgdGVzdGUgJzsKJGxhbmdbJ3NlbmR0ZXN0J10gPSAnRW52aWFyIHVtYSBNZW5zYWdlbSBkZSBUZXN0ZSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1BhbGF2cmEgUGFzc2UnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOb21lIGRlIFV0aWxpemFkb3InOwokbGFuZ1snc210cGF1dGgnXSA9ICdBdXRlbnRpY2EmY2NlZGlsOyZhdGlsZGU7byBTTVRQJzsKJGxhbmdbJ21haWxlciddID0gJ00mZWFjdXRlO3RvZG8gTWFpbGVyJzsKJGxhbmdbJ2hvc3QnXSA9ICdOb21lIGRvIFNNVFAgaG9zdDxici8+PGk+KG91IGVuZGVyZSZjY2VkaWw7byBJUCk8L2k+JzsKJGxhbmdbJ3BvcnQnXSA9ICdQb3J0YSBkbyBzZXJ2aWRvciBTTVRQJzsKJGxhbmdbJ2Zyb20nXSA9ICdFbmRlcmUmY2NlZGlsO28gZGUgZW52aW8nOwokbGFuZ1snZnJvbXVzZXInXSA9ICdOb21lIGRvIFV0aWxpemFkb3IgcXVlIGVudmlhJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnbG9jYWxpemEmY2NlZGlsOyZhdGlsZGU7byBkbyBTZW5kbWFpbCc7CiRsYW5nWyd0aW1lb3V0J10gPSAnU01UUCB0ZW1wbyBkZSBlc3BlcmEgbSZhYWN1dGU7eGltbyAodGltZW91dCknOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWV0ZXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsYXInOwokbGFuZ1snaW5mb19tYWlsZXInXSA9ICdNJmVhY3V0ZTt0b2RvIE1haWwgYSB1c2FyIChzZW5kbWFpbCwgc210cCwgbWFpbCkuICBOb3JtYWxtZW50ZSBvIHNtdHAgJmVhY3V0ZTsgbyBtYWlzIGZpJmFhY3V0ZTt2ZWwuJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ0hvc3Rub21lIFNNVFAgKHYmYWFjdXRlO2xpZG8gYXBlbmFzIHBhcmEgbyBtJmVhY3V0ZTt0b2RvIHNtdHAgbWFpbGVyKSc7CiRsYW5nWydpbmZvX3BvcnQnXSA9ICdOJnVhY3V0ZTttZXJvIGRhIHBvcnRhIFNNVFAgKG5vcm1hbG1lbnRlIDI1KSAodiZhYWN1dGU7bGlkbyBhcGVuYXMgcGFyYSBvIG0mZWFjdXRlO3RvZG8gc210cCBtYWlsZXIpJzsKJGxhbmdbJ2luZm9fZnJvbSddID0gJ0VuZGVyZSZjY2VkaWw7byB1c2FkbyBjb21vIG8gcmVtZXRlbnRlIGVtIHRvZG9zIG9zIGUtbWFpbHMuPGJyLz48c3Ryb25nPk5vdGU8L3N0cm9uZz4sIGVuZGVyZSZjY2VkaWw7byBkZSBlbWFpbCBkZXZlIGVzdGFyIGNvcnJlY3RhbWVudGUgY29uZmlndXJhZG8gcGFyYSBvIHNldSBzZXJ2aWRvciAoaG9zdCkgb3UgcG9kZXImYWFjdXRlOyBleHBlcmltZW50YXIgZGlmaWN1bGRhZGVzIGFvIGVudmlhciBlbWFpbHMuPGJyLz5TZSBuJmF0aWxkZTtvIGNvbmhlY2UgbyB2YWxvciBjb3JyZWN0byBwYXJhIGVzdGEgZGVmaW5pJmNjZWRpbDsmYXRpbGRlO28scG9kZXImYWFjdXRlOyB0ZXIgZGUgY29udGFjdGFyIG8gc2V1IHByb3ZlZG9yIGRlIGFsb2phbWVudG8gKGhvc3QpLic7CiRsYW5nWydpbmZvX2Zyb211c2VyJ10gPSAnTm9tZSBhbWlnJmFhY3V0ZTt2ZWwgdXNhZG8gbm8gZW52aW8gZGUgdG9kb3Mgb3MgZW1haWxzJzsKJGxhbmdbJ2luZm9fc2VuZG1haWwnXSA9ICdPIGNhbWluaG8gKHBhdGgpIGNvbXBsZXRvIHBhcmEgbyBleGVjdXQmYWFjdXRlO3ZlbCBkbyBzZW5kbWFpbCAodiZhYWN1dGU7bGlkbyBhcGVuYXMgcGFyYSBvIG0mZWFjdXRlO3RvZG8gc2VuZG1haWwgbWFpbGVyKSc7CiRsYW5nWydpbmZvX3RpbWVvdXQnXSA9ICdPIG4mdWFjdXRlO21lcm8gZGUgc2VndW5kb3MgbnVtYSBjb252ZXJzYSBTTVRQIGFudGVzIGRlIG9jb3JyZXIgdW0gZXJybyAodiZhYWN1dGU7bGlkbyBwYXJhIG8gbSZlYWN1dGU7dG9kbyBzbXRwIG1haWxlciknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ08gc2V1IHNtdHAgc2VydmVyIGV4aWdlIGF1dGVudGljYSZjY2VkaWw7JmF0aWxkZTtvICh2JmFhY3V0ZTtsaWRvIHBhcmEgbyBtJmVhY3V0ZTt0b2RvIHNtdHAgbWFpbGVyKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAnQXV0ZW50aWNhJmNjZWRpbDsmYXRpbGRlO28gdXNlcm5hbWUgcGFyYSBTTVRQICh2JmFhY3V0ZTtsaWRvIHBhcmEgbyBtJmVhY3V0ZTt0b2RvIHNtdHAgbWFpbGVyLCBxdWFuZG8gbyBzbXRwIGF1dGggZm9yIHNlbGVjY2lvbmFkbyknOwokbGFuZ1snaW5mb19wYXNzd29yZCddID0gJ0F1dGVudGljYSZjY2VkaWw7JmF0aWxkZTtvIHNlbmhhIHBhcmEgU01UUCAodiZhYWN1dGU7bGlkbyBwYXJhIG8gbSZlYWN1dGU7dG9kbyBzbXRwIG1haWxlciwgcXVhbmRvIG8gc210cCBhdXRoICZlYWN1dGU7IHNlbGVjY2lvbmFkbyknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVyICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ08gbSZvYWN1dGU7ZHVsbyBDTVNNYWlsZXIgZm9pIGluc3RhbGFkbyBjb20gJmVjaXJjO3hpdG8nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ08gbSZvYWN1dGU7ZHVsbyBDTVNNYWlsZXIgQ01TTWFpbGVyIGZvaSBkZXNpbnN0YWxhZG8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNJm9hY3V0ZTtkdWxvIGRlc2luc3RhbGFkby4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTSZvYWN1dGU7ZHVsbyB2ZXJzJmF0aWxkZTtvICVzIGluc3RhbGFkby4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNlc3NvIE5lZ2Fkby4gUG9yIGZhdm9yIGNvbmZpcm1lIGFzIHN1YXMgcGVybWlzJm90aWxkZTtlcy4nOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ00mb2FjdXRlO2R1bG8gYWN0dWFsaXphZG8gcGFyYSBhIHZlcnMmYXRpbGRlO28gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ByZWZlciZlY2lyYztuY2lhcyBkbyBNJm9hY3V0ZTtkdWxvICc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdQYWluZWwgZGUgQWRtaW4gZG8gTSZvYWN1dGU7ZHVsbyc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ00mb2FjdXRlO2R1bG8gQ01TTWFpbGVyJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVHJhdGEtc2UgZGUgdW0gc2ltcGxlcyBpbnYmb2FjdXRlO2x1Y3JvIGVtIHRvcm5vIGRvIFBIUE1haWwsIHRlbSB1bWEgQVBJIGVxdWl2YWxlbnRlIChmdW4mY2NlZGlsOyZhdGlsZGU7byBhIGZ1biZjY2VkaWw7JmF0aWxkZTtvKSBlIHVtYSBpbnRlcmZhY2Ugc2ltcGxlcyBwYXJhIGFsZ3VtYXMgY29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzIHBvciBkZWZlaXRvLic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggdGhlIGFkbWluIHBhbmVsLiAgVGhlIGRyb3Bkb3duIHdhcyBub3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIHByZWZlcmVuY2VzIGRhdGFiYXNlPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBBZGRlZCB0aGUgZm9ybSBmaWVsZHMgYW5kIGZ1bmN0aW9uYWxpdHkgZm9yIFNNVFAgYXV0aGVudGljYXRpb24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJ5LCAyMDA2LiBJbmNyZWFzZWQgZmllbGQgbGVuZ3RocyBpbiBtb3N0IGZpZWxkczwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnVhcnksIDIwMDYuIENoYW5nZWQgdGhlIHByZWZlcmVuY2VzIHBhbmVsIHRvIGJlIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEwLiBBdWd1c3QsIDIwMDYuIE1vZGlmaWVkIHRvIHVzZSBsYXp5IGxvYWRpbmcgdG8gbWluaW1pemUgbWVtb3J5IGZvb3RwcmludCB3aGVuIENNU01haWxlciBpcyBub3QgYmVpbmcgdXNlZC48L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMy4gSmFudWFyeSwgMjAwOC4gIEFkZGVkIG1vcmUgcGVybWlzc2lvbnMgY2hlY2tzLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBubyBlbmQgdXNlciBmdW5jdGlvbmFsaXR5LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgaW50ZWdyYXRlZCBpbnRvIG90aGVyIG1vZHVsZXMgdG8gcHJvdmlkZSBlbWFpbCBjYXBhYmlsaXRpZXMuICBUaGF0cyBpdCwgbm90aGluZyBtb3JlLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgYWxsIG9mIHRoZSBtZXRob2RzIGFuZCB2YXJpYWJsZXMgb2YgcGhwbWFpbGVyLiAgSXQgaXMgZGVzaWduZWQgZm9yIHVzZSBieSBvdGhlciBtb2R1bGUgZGV2ZWxvcGVycywgYmVsb3cgaXMgYW4gZXhhbXBsZSwgYW5kIGEgYnJpZWYgQVBJIHJlZmVyZW5jZS4gIFBsZWFzZSByZWFkIHRoZSBQSFBNYWlsZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+DQo8aDM+QW4gRXhhbXBsZTwvaDM+DQo8cHJlPg0KICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCYjMDM5O0NNU01haWxlciYjMDM5Oyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJiMwMzk7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5OywmIzAzOTtjYWxndXkmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZXRCb2R5KCYjMDM5OyZhbXA7bHQ7aDQmYW1wO2d0O1RoaXMgaXMgYSB0ZXN0IG1lc3NhZ2UmYW1wO2x0Oy9oNCZhbXA7Z3Q7JiMwMzk7KTsNCiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOw0KICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCYjMDM5O1Rlc3QgbWVzc2FnZSYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNlbmQoKTsNCjwvcHJlPg0KPGgzPkFQSTwvaDM+DQo8dWw+DQo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4NCjxwPlJlc2V0IHRoZSBvYmplY3QgYmFjayB0byB0aGUgdmFsdWVzIHNwZWNpZmllZCBpbiB0aGUgYWRtaW4gcGFuZWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IGlzby04ODU5LTE8L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4NCjxwPlJldHVybiB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgZW5jb2Rpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgZW5jb2Rpbmc8L3A+DQo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIEhFTE8gc3RyaW5nPC9wPg0KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPHA+VmFsdWVzIGFyZSAxPUhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBMb3c8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRlciBlbWFpbCAocmV0dXJuIHBhdGgpIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kZXIgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIEJDQyYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIENDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+DQo8cD5BZGQgYSBjdXN0b20gaGVhZGVyIHRvIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkRW1iZWRkZWRJbWFnZSggJHBhdGgsICRjaWQsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhbiBlbWJlZGRlZCBpbWFnZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgcmVjaXBpZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhdHRhY2htZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIEJDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIENDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGN1c3RvbSBoZWFkZXJzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhclJlcGx5dG8oKTwvYj48L3A+DQo8cD5DbGVhciByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPg0KPHA+Q2hlY2sgZm9yIGFuIGVycm9yIGNvbmRpdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBodG1sIGZsYWc8L3A+DQo8cD48aT5Ob3RlPC9pPiBwb3NzaWJseSB0aGlzIHNob3VsZCBiZSBhIGdldCBhbmQgc2V0IG1ldGhvZDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc01haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNRbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgcW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NNVFAoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNlbmQoKTwvYj48L3A+DQo8cD5TZW5kIHRoZSBjdXJyZW50bHkgcHJlcGFyZWQgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+DQo8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPSYjMDM5O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmIzAzOTs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmIzAzOTs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JiMwMzk7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJiMwMzk7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9JiMwMzk7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mIzAzOTs+JmFtcDtsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmIzAzOTs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCg0KPGgzPlRyYWR1JmNjZWRpbDsmYXRpbGRlO28gUG9ydHVndWVzYTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIE51bm8gQ29zdGEuPC9wPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEyLCBKbyBNb3JnLjwvcD4NCic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzNzg2NzI3ODcuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjk0ODU5NDEwNS4xMzc4NjcyNzg3LjEzNzg2NzI3ODcuMTM3ODY4MDAxNC4yJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnQWNlc3QgdGVzdCBlc3RlIGdlbmVyYXQgZGVzdHVsIGRlIHJhci4gQXIgcHV0ZWEgZHVyYSB1biBwaWMgcGFuYSBzYSBkaXNwYXJhJzsKJGxhbmdbJ25vbmUnXSA9ICdOaW1pYyc7CiRsYW5nWydzc2wnXSA9ICdTU0wgJzsKJGxhbmdbJ3RscyddID0gJyBUTFMgJzsKJGxhbmdbJ3NlY3VyZSddID0gJ01lY2FuaXNtIENyaXB0YXJlJzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAnQXBsaWNhYmlsIG51bWFpIG1ldG9kZWkgU01UUCwgYWNlYXN0YSBvcHRpdW5lIHBlcm1pdGUgc3BlY2lmaWNhcmVhIHVudWkgYW51bWUgbWVjYW5pc20gZGUgY3JpcHRhcmUgcGVudHJ1IGNvbmV4aXVuZS4nOwokbGFuZ1snaW5mb19jbXNtYWlsZXInXSA9ICdBY2VzdCBtb2R1bCBlc3RlIGZvbG9zaXQgZGUgbnVtZXJvYXNlIGFsdGUgbW9kdWxlIHBlbnRydSBhIHRyaW1pdGUgZS1tYWlsdXJpLiBFbCB0cmVidWllIHNhIGZpZSBjb25maWd1cmF0IGNvcmVjdCBjb25mb3JtIGN1IGNlcmludGVsZSBob3N0aW5ndWx1aSBkdW1uZWF2b2FzdHJhLiBGb2xvc2l0aSBpbmZvcm1hdGlpbGUgb2Zlcml0ZSBkZSBob3N0IHBlbnRydSBhIGFqdXN0YSBhY2VzdGUgc2V0YXJpLiBEYWNhIHRvdHVzaSBudSByZXVzaXRpIHNhIHRyaW1pdGV0aSBjb3JlY3QgZS1tYWlsdWwgZGUgdGVzdCwgZSBwb3NpYmlsIHNhIHRyZWJ1aWFzY2Egc2EgY29udGFjdGF0aSBwZSBjZWkgY2FyZSB2YSBvZmVyYSBob3N0aW5ndWwgcGVudHJ1IGFzaXN0ZW50YS4nOwokbGFuZ1snY2hhcnNldCddID0gJ1NldCBDYXJhY3RlcmUnOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ0FjZXN0YSB2YSB0cmltaXRlIHVuIG1lc2FqIGRlIHRlc3QgbGEgYWRyZXNhIHNwZWNpZmljYXRhLiBEYWNhIHByb2Nlc3VsIGRlIGV4cGVkaWVyZSBzZSBpbmNoZWllIGN1IHN1Y2NlcywgdmV0aSBmaSByZWRpcmVjdGlvbmF0IGxhIGFjZWFzdGEgcGFnaW5hLiBEb3JpdGkgc2EgY29udGludWF0aT8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnU2NyaWV0aSB2YWxvcmlsZSBjdXJlbnRlIGluIHNldGFyaWxlIENNU01haWxlcj8nOwokbGFuZ1sndGVzdHN1YmplY3QnXSA9ICdNZXNhaiBkZSB0ZXN0IENNU01haWxlcic7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ0FjZXN0IG1lc2FqIGludGVudGlvbmVhemEgZG9hciBzYSB2ZXJpZmljZSB2YWxpZGl0YXRlYSBzZXRhcmlsb3IgZGluIG1vZHVsdWwgQ01TTWFpbGVyLg0KRGFjYSBsLWF0aSBwcmltaXQsIHRvdHVsIGZ1bmN0aW9uZWF6YSBjb3JlY3QuJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICdFcm9hcmU6IEFkcmVzYSBkZSBUZXN0IGVzdGUgbmVzcGVjaWZpY2F0YSc7CiRsYW5nWydwcm9tcHRfdGVzdGFkZHJlc3MnXSA9ICdBZHJlc2EgZGUgZS1tYWlsIGRlIHRlc3QnOwokbGFuZ1snc2VuZHRlc3QnXSA9ICdUcmltaXRlIG1lc2FqIGRlIHRlc3QnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXJvbGEnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOdW1lIHV0aWxpemF0b3InOwokbGFuZ1snc210cGF1dGgnXSA9ICdBdXRlbnRpZmljYXJlIFNNVFAnOwokbGFuZ1snbWFpbGVyJ10gPSAnTWV0b2RhIHB0LiBNYWlsZXInOwokbGFuZ1snaG9zdCddID0gJ051bWUgZ2F6ZGEgU01UUCA8YnIvPjxpPihzYXUgYWRyZXNhIElQKTwvaT4nOwokbGFuZ1sncG9ydCddID0gJ1BvcnR1bCBzZXJ2ZXJ1bHVpIGRlIFNNVFAnOwokbGFuZ1snZnJvbSddID0gJ0UtbWFpbCBleHBlZGl0b3InOwokbGFuZ1snZnJvbXVzZXInXSA9ICdOdW1lIGV4cGVkaXRvcic7CiRsYW5nWydzZW5kbWFpbCddID0gJ0xvY2F0aWEgc2VuZG1haWwnOwokbGFuZ1sndGltZW91dCddID0gJ3RpbXAgZXhwaXJhdCBTTVRQJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1RyaW1pdGVyZSc7CiRsYW5nWydjYW5jZWwnXSA9ICdBbnVsYXJlJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnTWV0b2RhIGRlIGV4cGVkaWVyZSBmb2xvc2l0YSAoc2VuZG1haWwsIHNtdHAsIG1haWwpLiAgVXp1YWwgc210cCBlc3RlIGNlYSBtYWkgZGUgaW5jcmVkZXJlLic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICdHYXpkYSBTTVRQICh2YWxpZCBkb2FyIHBlbnRydSBtZXRvZGEgZGUgZXhwZWRpZXJlIHNtdHApJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ051bWFyIHBvcnQgU01UUCAgKHV6dWFsIDI1KSAodmFsaWQgZG9hciBwZW50cnUgbWV0b2RhIGRlIGV4cGVkaWVyZSBzbXRwKSc7CiRsYW5nWydpbmZvX2Zyb20nXSA9ICdBZHJlc2EgZm9sb3NpdGEgbGEgZXhwZWRpdG9yIGluIHRvYXRlIGUtbWFpbC11cmlsZSc7CiRsYW5nWydpbmZvX2Zyb211c2VyJ10gPSAnTnVtZSBwcmlldGVub3MgZm9sb3NpdCBwZW50cnUgdHJpbWl0ZXJlYSB0dXR1cm9yIGUtbWFpbC11cmlsb3InOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ0NhbGVhIGNvbXBsZXRhIGNhdHJlIGV4ZWN1dGFiaWx1bCBzZW5kbWFpbCAodmFsaWQgZG9hciBwZW50cnUgbWV0b2RhIGRlIGV4cGVkaWVyZSBzZW5kbWFpbCknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnTnVtYXJ1bCBkZSBzZWN1bmRlIGRpbnRyLW8gY29udmVyc2F0aWUgU01UUCBpbmFpbnRlIGRlIGFwYXJpdGlhIHVuZWkgZXJvcmkgZGUgZXhwaXJhcmVhIHRpbXB1bHVpICh2YWxpZCBwZW50cnUgbWV0b2RhIGRlIGV4cGVkaWVyZSBzbXRwKSc7CiRsYW5nWydpbmZvX3NtdHBhdXRoJ10gPSAnR2F6ZGEgZHVtbmVhdm9hc3RyYSBzbXRwIG5lY2VzaXRhIGF1dGVudGlmaWNhcmUgKHZhbGlkIGRvYXIgcGVudHJ1IG1ldG9kYSBkZSBleHBlZGllcmUgc210cCknOwokbGFuZ1snaW5mb191c2VybmFtZSddID0gJ051bWUgdXRpbGl6YXRvciBwdC4gYXV0ZW50aWZpY2FyZSBTTVRQICh2YWxpZCBkb2FyIHBlbnRydSBtZXRvZGEgZGUgZXhwZWRpZXJlIHNtdHAsIGNhbmQgYXV0ZW50aWZpY2FyZWEgc210cCBlc3RlIHNlbGVjdGF0YSknOwokbGFuZ1snaW5mb19wYXNzd29yZCddID0gJ1Bhcm9sYSBwZW50cnUgYXV0ZW50aWZpY2FyZSBTTVRQICh2YWxpZCB2YWxpZCBkb2FyIHBlbnRydSBtZXRvZGEgZGUgZXhwZWRpZXJlIHNtdHAsIGNhbmQgYXV0ZW50aWZpY2FyZWEgc210cCBlc3RlIHNlbGVjdGF0YSknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVyICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsdWwgQ01TTWFpbGVyIGEgZm9zdCBpbnN0YWxhdCBjdSBzdWNjZXMnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsdWwgQ01TTWFpbGVyIGRlemluc3RhbGF0Li4uIGltaSBwYXJlIHJhdSBzYSB2YWQgY2EgcGxlY2F0aSc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIGRlemluc3RhbGF0Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdWZXJzaXVuZWEgJXMgYSBtb2R1bHVsdWkgaW5zdGFsYXRhLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2NlcyBpbnRlcnppcy4gVmVyaWZpY2F0aS12YSBwZXJtaXNpdW5pbGUgdmEgcm9nLic7CiRsYW5nWydlcnJvciddID0gJ0Vyb2FyZSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBhY3R1YWxpemF0IGxhIHZlcnNpdW5lYSAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnUHJlZmVyaW50ZSBtb2R1bCc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdQYW5vdSBhZG1pbmlzdHJhcmUgbW9kdWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdNb2R1bCBDTVNNYWlsZXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFc3RlIG8gaW5mYXN1cmFyZSBzaW1wbGEgcGVudHJ1IFBIUE1haWxlciwgYXJlIHVuIEFQSSBlY2hpdmFsZW50IChmdW5jdGllIGN1IGZ1bmN0aWUpIHNpIG8gaW50ZXJmYXRhIHNpbXBsZSBwZW50cnUgY2F0ZXZhIGRldGFsaWkgaW1wbGljaXRlLic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAxLjczLjEuIE9jdG9iZXIsIDIwMDUuIEluaXRpYWwgUmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggdGhlIGFkbWluIHBhbmVsLiAgVGhlIGRyb3Bkb3duIHdhcyBub3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHZhbHVlIGZyb20gdGhlIHByZWZlcmVuY2VzIGRhdGFiYXNlPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHNlbmRpbmcgaHRtbCBlbWFpbDwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBGb3JtIGZpZWxkcyBpbiBwcmVmZXJlbmNlcyBhcmUgbGFyZ2VyLCBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgZnJvbXVzZXIsIGFuZCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBBZGRlZCB0aGUgZm9ybSBmaWVsZHMgYW5kIGZ1bmN0aW9uYWxpdHkgZm9yIFNNVFAgYXV0aGVudGljYXRpb24uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNi4gRGVjZW1iZXIsIDIwMDUuIERlZmF1bHQgbWFpbGVyIG1ldGhvZCBpcyBTTVRQIG9uIGluc3RhbGwsIGFuZCBpbXByb3ZlZCBkb2N1bWVudGF0aW9uLCBhbmQgbm93IEkgY2xlYXIgYWxsIHRoZSBhdHRhY2htZW50cywgYW5kIGFkZHJlc3NlcywgZXRjLiBvbiByZXNldC48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJ5LCAyMDA2LiBJbmNyZWFzZWQgZmllbGQgbGVuZ3RocyBpbiBtb3N0IGZpZWxkczwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjguIEphbnVhcnksIDIwMDYuIENoYW5nZWQgdGhlIHByZWZlcmVuY2VzIHBhbmVsIHRvIGJlIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOS4gSmFudWFyeSwgMjAwNi4gQWRkZWQgdGVzdCBlbWFpbCBjYXBhYmlsaXR5LCBhbmQgY29uZmlybWF0aW9uIG9uIGVhY2ggYnV0dG9uIChleGNlcHQgY2FuY2VsKTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEwLiBBdWd1c3QsIDIwMDYuIE1vZGlmaWVkIHRvIHVzZSBsYXp5IGxvYWRpbmcgdG8gbWluaW1pemUgbWVtb3J5IGZvb3RwcmludCB3aGVuIENNU01haWxlciBpcyBub3QgYmVpbmcgdXNlZC48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5DZSByZWFsaXplYXphIGFjZXN0IG1vZHVsPzwvaDM+DQo8cD5BY2VzdCBtb2R1bCBudSBvZmVyYSBuaWNpIG8gZnVuY3Rpb25hbGl0YXRlIHV0aWxpemF0b3J1bHVpIGZpbmFsLiAgRXN0ZSBkZXN0aW5hdCBzcHJlIGEgZmkgaW50ZWdyYXQgaW4gYWx0ZSBtb2R1bGUgcGVudHJ1IGEgb2Zlcmkgc3Vwb3J0IHBlbnRydSBlLW1haWwuICBBY2Vhc3RhIGVzdGUgdG90LCBuaW1pYyBtYWkgbXVsdC48L3A+DQo8aDM+Q3VtIGlsIGZvbG9zZXNjPC9oMz4NCjxwPkFjZXN0IG1vZHVsIG9mZXJhIG8gc2ltcGxhIGluZmFzdXJhcmUgYSBtZXRvZGVsb3Igc2kgdmFyaWFiaWxlbG9yIGx1aSBwaHBtYWlsZXIuICBFc3RlIGRlc3RpbmF0IGZvbG9zaXJpaSBkZSBjYXRyZSBhbHRpIGRlenZvbHRhdG9yaSBkZSBtb2R1bGUsIG1haSBqb3MgZXN0ZSBwcmV6ZW50YXQgdW4gZXhlbXBsdSBzaSBvIHNjdXJ0YSByZWZlcmludGEgQVBJLiAgVmEgcm9nIHNhIGNpdGl0aSBkb2N1bWVudGF0aWEgaW5jbHVzYSBpbiBQSFBNYWlsZXIgcGVudHJ1IG1haSBtdWx0ZSBpbmZvcm1hdGlpLjwvcD4NCjxoMz5FeGVtcGx1PC9oMz4NCjxwcmU+DQogICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJiMwMzk7Q01TTWFpbGVyJiMwMzk7KTsNCiAgJGNtc21haWxlci0+QWRkQWRkcmVzcygmIzAzOTtjYWxndXkxMDAwQGhvdG1haWwuY29tJiMwMzk7LCYjMDM5O2NhbGd1eSYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNldEJvZHkoJiMwMzk7PGg0PkFjZXN0YSBlc3RlIHVuIG1lc2FqIGRlIHRlc3Q8L2g0PiYjMDM5Oyk7DQogICRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsNCiAgJGNtc21haWxlci0+U2V0U3ViamVjdCgmIzAzOTtNZXNhaiBkZSB0ZXN0JiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2VuZCgpOw0KPC9wcmU+DQo8aDM+QVBJPC9oMz4NCjx1bD4NCjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPg0KPHA+UmVzZXRlYXphIG9iaWVjdHVsIGluYXBvaSBsYSB2YWxvcmlsZSBzcGVjaWZpY2F0ZSBpbiBwYW5vdWwgZGUgYWRtaW5pc3RyYXJlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0QWx0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybmVhemEgYm9keSBhbHRlcm5hdGl2IGUtbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRBbHRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0ZWF6YSBib2R5IGFsdGVybmF0aXYgZS1tYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybmVhemEgYm9keSBwcmltYXIgZS1tYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXRlYXphIGJvZHkgcHJpbWFyIGUtbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENoYXJTZXQoKTwvYj48L3A+DQo8cD5JbXBsaWNpdDogaXNvLTg4NTktMTwvcD4NCjxwPlJldHVybmVhemEgc2V0dWwgZGUgY2FyYWN0ZXJlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDaGFyU2V0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0ZWF6YSBzZXQgY2FyYWN0ZXJlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbmZpcm1SZWFkaW5nVG8oKTwvYj48L3A+DQo8cD5SZXR1cm5lYXphIGZsYWcgZGUgY29uZmlybWFyZSBjaXRpcmUgZS1tYWlsIGFkcmVzYTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldGVhemEgc2F1IGRlLXNldGVhemEgYWRyZXNhIGRlIGNvbmZpcm1hcmUgY2l0aXJlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5JbXBsaWNpdDogdGV4dC9wbGFpbjwvcD4NCjxwPlJldHVybmVhemEgdGlwdWwgZGUgY29udGludXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Q29udGVudFR5cGUoKTwvYj48L3A+DQo8cD5TZXRlYXphIHRpcHVsIGRlIGNvbnRpbnV0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RW5jb2RpbmcoKTwvYj48L3A+DQo8cD5SZXR1cm5lYXphIGVuY29kYXJlYSBmb2xvc2l0YTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRFbmNvZGluZyggJGVuY29kaW5nICk8L2I+PC9wPg0KPHA+U2V0ZWF6YSBlbmNvZGFyZWE8L3A+DQo8cD5PcHRpdW5pIGRpc3BvbmliaWxlOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlJldHVybmVhemEgb3JpY2UgaW5mb3JtYXRpZSBkZSBlcm9hcmU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tKCk8L2I+PC9wPg0KPHA+UmV0dXJuZWF6YSBhZHJlc2EgZXhwZWRpdG9yIGN1cmVudGE8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RnJvbSggJGFkZHJlc3MgKTwvYj48L3A+DQo8cD5TZXRlYXphIGFkcmVzYSBleHBlZGl0b3I8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRGcm9tTmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybmVhemEgbnVtZSBleHBlZGl0b3IgY3VyZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD5TZXRlYXphIG51bWUgZXhwZWRpdG9yPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybmVhemEgc3RyaW5ndWwgSEVMTzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldGVhemEgc3RyaW5ndWwgSEVMTzwvcD4NCjxwPlZhbG9hcmUgaW1wbGljaXRhOiAkaG9zdG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0KCk8L2I+PC9wPg0KPHA+UmV0dXJuZWF6YSBob3N0dXJpbGUgU01UUCBzZXBhcmF0ZSBwcmluIHB1bmN0IHNpIHZpcmd1bGE8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldGVhemEgaG9zdC11cmlsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3ROYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuZWF6YSBob3N0bmFtZSBmb2xvc2l0IHBlbnRydSBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdE5hbWUoICRob3N0bmFtZSApPC9iPjwvcD4NCjxwPlNldGVhemEgaG9zdG5hbWUgZm9sb3NpdCBwZW50cnUgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuZWF6YSBtYWlsZXItdWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0TWFpbGVyKCAkbWFpbGVyICk8L2I+PC9wPg0KPHA+U2V0ZWF6YSBtYWlsZXItdWwsIHNlbmRtYWlsLG1haWwsIHNhdSBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0UGFzc3dvcmQoKTwvYj48L3A+DQo8cD5SZXR1cm5lYXphIHBhcm9sYSBwZW50cnUgYXV0ZW50aWZpY2FyZSBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBhc3N3b3JkKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0ZWF6YSBwYXJvbGEgcGVudHJ1IGF1dGVudGlmaWNhcmUgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm5lYXphIG51bWFydWwgZGUgcG9ydCBwZW50cnUgY29uZXhpdW5pIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UG9ydCggJGludCApPC9iPjwvcD4NCjxwPlNldGVhemEgcG9ydHVsIHBlbnRydSBjb25leGl1bmkgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+UmV0dXJuZWF6YSBwcmlvcml0YXRlYSBtZXNhanVsdWk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UHJpb3JpdHkoIGludCApPC9iPjwvcD4NCjxwPlNldGVhemEgcHJpb3JpdGF0ZWEgbWVzYWp1bHVpPC9wPg0KPHA+VmFsb3JpIGRpc3BvbmliaWxlIDE9TWFyZSwgMyA9IE5vcm1hbGEsIDUgPSBTY2F6dXRhPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuZWF6YSBzdHJpbmd1bCBlLW1haWwgZXhwZWRpdG9yIChyZXR1cm4gcGF0aCk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZGVyKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldGVhemEgc3RyaW5nIGV4cGVkaXRvcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRtYWlsKCk8L2I+PC9wPg0KPHA+UmV0dXJuZWF6YSBjYWxlYSBjYXRyZSBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kbWFpbCggJHBhdGggKTwvYj48L3A+DQo8cD5TZXRlYXphIGNhbGVhIGNhdHJlIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0dXJuZWF6YSB2YWxvYXJlYSBjdXJlbnRhIGEgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBBdXRoKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldGVhemEgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUERlYnVnKCk8L2I+PC9wPg0KPHA+UmV0dXJuZWF6YSB2YWxvYXJlYSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldGVhemEgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXR1cm5lYXphIHZhbG9hcmVhIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRTTVRQS2VlcEFsaXZlKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldGVhemEgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTdWJqZWN0KCk8L2I+PC9wPg0KPHA+UmV0dXJuZWF6YSBzdHJpbmcgY3VyZW50IHN1YmllY3QgZS1tYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXRlYXphIHN0cmluZyBzdWJpZWN0IGUtbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXR1cm5lYXphIHZhbG9hcmUgdGltZW91dDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRUaW1lb3V0KCAkc2Vjb25kcyApPC9iPjwvcD4NCjxwPlNldGVhemEgdmFsb2FyZSB0aW1lb3V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0VXNlcm5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm5lYXphIHVzZXJuYW1lIGF1dGVudGlmaWNhcmUgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRVc2VybmFtZSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldGVhemEgdXNlcm5hbWUgYXV0ZW50aWZpY2FyZSBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0V29yZFdyYXAoKTwvYj48L3A+DQo8cD5SZXR1cm5lYXphIHZhbG9hcmUgd29yZHdyYXA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5SZXR1cm5lYXphIHZhbG9hcmUgd29yZHdyYXA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkYXVnYSBhZHJlc2EgZGVzdGluYXRhcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkYXVnYSBhdGFzYW1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEJDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRhdWdhIGFkcmVzYSBkZXN0aW5hdGFyIGNhbXAgQkNDPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDQyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRhdWdhIGFkcmVzYSBkZXN0aW5hdGFyIGNhbXAgQ0M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEN1c3RvbUhlYWRlciggJHR4dCApPC9iPjwvcD4NCjxwPkFkYXVnYSBoZWFkZXIgY3VzdG9tIGUtbWFpbHVsdWk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9ICYjMDM5OyYjMDM5OywgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGF1Z2EgaW1hZ2luZSBlbWJlZGRlZDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRhdWdhcmUgYWRyZXNhIHJlcGx5IHRvPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRhdWdhIGF0YXNhbWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+DQo8cD5Hb2xlc3RlIHRvYXRlIGFkcmVzZWxlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+DQo8cD5Hb2xlc3RlIHRvdGkgZGVzdGluYXRhcmlpPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckF0dGFjaG1lbnRzKCk8L2I+PC9wPg0KPHA+QXJ1bmNhIHRvYXRlIGF0YXNhbWVudGVsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPg0KPHA+R29sZXN0ZSB0b2F0ZSBhZHJlc2VsZSBCQ0M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+R29sZXN0ZSB0b2F0ZSBhZHJlc2VsZSBDQzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPg0KPHA+R29sZXN0ZSBoZWFkZXItZWxlIGN1c3RvbTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+R29sZXN0ZSBhZHJlc2EgcmVwbHkgdG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzRXJyb3IoKTwvYj48L3A+DQo8cD5WZXJpZmljYSBwZW50cnUgY29uZGl0aWUgZGUgZXJvYXJlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzSFRNTCggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXRlYXphIGZsYWcgaHRtbDwvcD4NCjxwPjxpPk5vdGE8L2k+IHBvc2liaWwgY2EgYWNlYXN0YSBzYSB0cmVidWlhc2NhIHNhIGZpZSBvIG1ldG9kYSBnZXQgc2kgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzTWFpbCgpPC9iPjwvcD4NCjxwPlZlcmlmaWNhIGRhY2EgZm9sb3NpbSBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5WZXJpZmljYSBkYWNhIGZvbG9zaW0gcW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+DQo8cD5WZXJpZmljYSBkYWNhIGZvbG9zaW0gc2VuZG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU01UUCgpPC9iPjwvcD4NCjxwPlZlcmlmaWNhIGRhY2EgZm9sb3NpbSBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+VHJpbWl0ZSBlbWFpbHVsIGN1cmVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0TGFuZ3VhZ2UoICRsYW5nX3R5cGUsICRsYW5nX3BhdGggPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5TZXRlYXphIGxpbWJhIGN1cmVudGEgc2kgPGVtPihvcHRpb25hbCk8L2VtPiBjYWxlIGxpbWJhPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TbXRwQ2xvc2UoKTwvYj48L3A+DQo8cD5JbmNoaWRlIGNvbmV4aXVuZWEgc210cDwvcD4NCjwvbGk+DQo8L3VsPg0KPGgzPlN1cG9ydDwvaDM+DQo8cD5BY2VzdCBtb2R1bCBudSBpbmNsdWRlIHN1cG9ydCBjb21lcmNpYWwuIFRvdHVzaSwgc3VudCBkaXNwb25pYmlsZSByZXN1cnNlIHBlbnRydSBhIHByaW1pIGFqdXRvciBpbiBwcml2aW50YSBsdWk6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlzIGhvbWVwYWdlIGF0IDxhIGhyZWY9JiMwMzk7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyYjMDM5Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyYjMDM5Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmIzAzOTs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSYjMDM5O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJiMwMzk7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSYjMDM5O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCYjMDM5Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTEyODQwNDkxMTEtMTMxMjM2MDI4NzY1NSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjY1MzMzOTYyNC4xMzE5MjkzNTQzLjEzMTkyOTM1NDMuMTMxOTI5MzU0My4xJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzE5MjkzNTQzLjEuMS51dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9Lyc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjUuOS4xMzE5MjkzNjk3OTUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAn0K3RgtC+0YIg0YLQtdGB0YIg0YHQs9C10L3QtdGA0LjRgNC+0LLQsNC9INC90LAg0YDQtdC00LrQuNGFINC+0YHQvdC+0LLQsNC90LjRj9GFLiDQnNC+0LbQtdGCINC/0L7RgtGA0LXQsdC+0LLQsNGC0YzRgdGPINC90LXQutC+0YLQvtGA0L7QtSDQstGA0LXQvNGPINC00LvRjyDQtdCz0L4g0LLRi9C/0L7Qu9C90LXQvdC40Y8g0Lgg0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQstGL0LnRgtC4Lic7CiRsYW5nWydub25lJ10gPSAn0J3QtdGCJzsKJGxhbmdbJ3NzbCddID0gJ1NTTCAnOwokbGFuZ1sndGxzJ10gPSAn0KJMUyc7CiRsYW5nWydzZWN1cmUnXSA9ICfQnNC10YXQsNC90LjQt9C8INGI0LjRhNGA0L7QstCw0L3QuNGPJzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAn0J/RgNC40LzQtdC90Y/QtdGC0YHRjyDRgtC+0LvRjNC60L4g0Log0LzQtdGC0L7QtNGDIFNNVFAsINGN0YLQsCDQvtC/0YbQuNGPINC/0L7Qt9Cy0L7Qu9GP0LXRgiDQt9Cw0LTQsNGC0Ywg0YDQsNC30LvQuNGH0L3Ri9C1INC80LXRhdCw0L3QuNC30LzRiyDRiNC40YTRgNC+0LLQsNC90LjRjyc7CiRsYW5nWydpbmZvX2Ntc21haWxlciddID0gJ9Ct0YLQvtGCINC80L7QtNGD0LvRjCDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LzQvdC+0LbQtdGB0YLQstC+0Lwg0LTRgNGD0LPQuNGFINC80L7QtNGD0LvQtdC5INC00LvRjyDQvtCx0LvQtdCz0YfQtdC90LjRjyDQvtGC0L/RgNCw0LLQutC4INC/0LjRgdC10LwuINCe0L0g0LTQvtC70LbQtdC9INCx0YvRgtGMINC/0YDQsNCy0LjQu9GM0L3QviDQvdCw0YHRgtGA0L7QtdC9INCyINGB0L7QvtGC0LLQtdGC0YHQstC40LUg0YEg0YLRgNC10LHQvtCy0LDQvdC40Y/QvNC4INC/0L7Rh9GC0L7QstC+0LPQviDRhdC+0YHRgtC40L3Qs9CwLiDQn9C+0LbQsNC70YPQudGB0YLQsCwg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQuNC90YTQvtGA0LzQsNGG0LjRjiDRhdC+0YHRgtC40L3Qs9CwINC00LvRjyDQvdCw0YHRgtGA0L7QudC60Lgg0Y3RgtC40YUg0L/QsNGA0LDQvNC10YLRgNC+0LIuINCV0YHQu9C4INCy0Ysg0LLRgdC1INC10YnQtSDQvdC1INC80L7QttC10YLQtSDQv9C+0LvRg9GH0LjRgtGMINGC0LXRgdGC0L7QstC+0LUg0YHQvtC+0LHRidC10L3QuNC1INC+0YLQv9GA0LDQstC70LXQvdC90L7QtSDQtNC+0LvQttC90YvQvCDQvtCx0YDQsNC30L7QvCwg0LLRiyDQvNC+0LbQtdGC0LUg0L7QsdGA0LDRgtC40YLRjNGB0Y8g0Log0LLQsNGI0LXQvNGDINC/0L7Rh9GC0L7QstC+0LzRgyDRhdC+0YHRgtC40L3QsyDQv9GA0L7QstCw0LnQtNC10YDRgyDQt9CwINC/0L7QvNC+0YnRjNGOJzsKJGxhbmdbJ2NoYXJzZXQnXSA9ICfQmtC+0LTQuNGA0L7QstC60LAnOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ9Ct0YLQviDQvtGC0L/RgNCw0LLQuNGCINGC0LXRgdGC0L7QstC+0LUg0YHQvtC+0LHRidC10L3QuNC1INC/0L4g0LfQsNC00LDQvdC90L7QvNGDINCw0LTRgNC10YHRgy4g0JXRgdC70Lgg0L/RgNC+0YbQtdGB0YEg0LHRg9C00LXRgiDRg9GB0L/QtdGI0L3QviDQt9Cw0LLQtdGA0YjQtdC9LCDQktGLINCx0YPQtNC10YLQtSDQstC+0LfQstGA0LDRidC10L3RiyDQuiDRjdGC0L7QuSDRgdGC0YDQsNC90LjRhtC1LiDQktGLINGF0L7RgtC40YLQtSDQv9GA0L7QtNC+0LvQttC40YLRjD8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAn0JfQsNC/0LjRgdCw0YLRjCDRgtC10LrRg9GJ0LjQtSDQt9C90LDRh9C10L3QuNGPINCyINC90LDRgdGC0YDQvtC50LrQuCBDTVNNYWlsZXI/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAn0KLQtdGB0YLQvtCy0L7QtSDRgdC+0L7QsdGJ0LXQvdC40LUnOwokbGFuZ1sndGVzdGJvZHknXSA9ICfQrdGC0L4g0YHQvtC+0LHRidC10L3QuNC1INC/0YDQtdC00L3QsNC30L3QsNGH0LXQvdC+INGC0L7Qu9GM0LrQviDQtNC70Y8g0YLQvtCz0L4sINGH0YLQvtCx0Ysg0L/RgNC+0LLQtdGA0LjRgtGMINC00L7RgdGC0L7QstC10YDQvdC+0YHRgtGMINC/0LDRgNCw0LzQtdGC0YDQvtCyINC90LDRgdGC0YDQvtC50LrQuCDQvNC+0LTRg9C70Y8gQ01TTWFpbGVyLiANCtCV0YHQu9C4INCS0Ysg0L/QvtC70YPRh9C40LvQuCDRjdGC0L4sINC30L3QsNGH0LjRgiDQstGB0LUg0YDQsNCx0L7RgtCw0LXRgiDQvdC+0YDQvNCw0LvRjNC90L4uJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICfQntGI0LjQsdC60LA6INCi0LXRgdGC0L7QstGL0Lkg0LDQtNGA0LXRgSDQvdC1INC30LDQtNCw0L0nOwokbGFuZ1sncHJvbXB0X3Rlc3RhZGRyZXNzJ10gPSAn0KLQtdGB0YLQvtCy0YvQuSBFLW1haWwg0LDQtNGA0LXRgSc7CiRsYW5nWydzZW5kdGVzdCddID0gJ9Ce0YLQv9GA0LDQstC40YLRjCDQv9GA0L7QsdC90L7QtSDRgdC+0L7QsdGJ0LXQvdC40LUnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICfQn9Cw0YDQvtC70YwgJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAn0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWydzbXRwYXV0aCddID0gJ1NNVFAg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjRjyc7CiRsYW5nWydtYWlsZXInXSA9ICfQnNC10YLQvtC0INC+0YLQv9GA0LDQstC60LgnOwokbGFuZ1snaG9zdCddID0gJ9CY0LzRjyDRgdC10YDQstC10YDQsCBTTVRQIDxici8+PGk+KNC40LvQuCBJUCDQsNC00YDQtdGBKTwvaT4nOwokbGFuZ1sncG9ydCddID0gJ9Cf0L7RgNGCIFNNVFAg0YHQtdGA0LLQtdGA0LAnOwokbGFuZ1snZnJvbSddID0gJ9Ce0YIg0LrQvtCz0L4gKNCw0LTRgNC10YEpJzsKJGxhbmdbJ2Zyb211c2VyJ10gPSAn0J7RgiDQutC+0LPQviAo0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyknOwokbGFuZ1snc2VuZG1haWwnXSA9ICfQnNC10YHRgtC+0L/QvtC70L7QttC10L3QuNC1IFNlbmRtYWlsJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdTTVRQINGC0LDQudC8LdCw0YPRgic7CiRsYW5nWydzdWJtaXQnXSA9ICfQntGC0L/RgNCw0LLQuNGC0YwnOwokbGFuZ1snY2FuY2VsJ10gPSAn0J7RgtC80LXQvdCwJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAn0JzQtdGC0L7QtCDQvtGC0L/RgNCw0LLQutC4IChzZW5kbWFpbCwgc210cCwgbWFpbCkuINCe0LHRi9GH0L3QviBzbXRwINGP0LLQu9GP0LXRgtGB0Y8g0YHQsNC80YvQvCDQvdCw0LTQtdC20L3Ri9C8Lic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICfQmNC80Y8g0YXQvtGB0YLQsCBTTVRQICjRgtC+0LvRjNC60L4g0LTQu9GPINC80LXRgtC+0LTQsCDQvtGC0L/RgNCw0LLQutC4IHNtdHApJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ9Cf0L7RgNGCIFNNVFAgKNC+0LHRi9GH0L3QviAyNSkgKNGC0L7Qu9GM0LrQviDQtNC70Y8g0LzQtdGC0L7QtNCwINC+0YLQv9GA0LDQstC60Lggc210cCknOwokbGFuZ1snaW5mb19mcm9tJ10gPSAn0JDQtNGA0LXRgSwg0LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C5INC60LDQuiDQsNC00YDQtdGBINC+0YLQv9GA0LDQstC40YLQtdC70Y8g0LTQu9GPIGUtbWFpbCc7CiRsYW5nWydpbmZvX2Zyb211c2VyJ10gPSAn0JTRgNGD0LbQtdGB0YLQstC10L3QvdC+0LUg0LjQvNGPLCDQuNGB0L/QvtC70YzQt9GD0LXQvNC+0LUg0LTQu9GPINC+0YLQv9GA0LDQstC60Lgg0LLRgdC10YUg0L/QuNGB0LXQvCc7CiRsYW5nWydpbmZvX3NlbmRtYWlsJ10gPSAn0J/QvtC70L3Ri9C5INC/0YPRgtGMINC6INCy0LDRiNC10LzRgyBzZW5kbWFpbCAo0LTQtdC50YHRgtCy0LjRgtC10LvQtdC9INGC0L7Qu9GM0LrQviDQtNC70Y8g0LzQtdGC0L7QtNCwINC+0YLQv9GA0LDQstC60Lggc2VuZG1haWwpJzsKJGxhbmdbJ2luZm9fdGltZW91dCddID0gJ9Cn0LjRgdC70L4g0YHQtdC60YPQvdC0INCyINGB0LXQsNC90YHQtSDRgdCy0Y/Qt9C4IFNNVFAg0L/QtdGA0LXQtCDRgtC10LwsINC60LDQuiDQv9GA0L7QuNC30L7QudC00ZHRgiDQvtGI0LjQsdC60LAgICjQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRgtC+0LvRjNC60L4g0LTQu9GPINC80LXRgtC+0LTQsCDQvtGC0L/RgNCw0LLQutC4IHNtdHApJzsKJGxhbmdbJ2luZm9fc210cGF1dGgnXSA9ICfQotGA0LXQsdGD0LXRgtGB0Y8g0LvQuCDQstCw0YjQtdC80YMgc210cCDRhdC+0YHRgtGDINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Y8gKNC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGC0L7Qu9GM0LrQviDQtNC70Y8g0LzQtdGC0L7QtNCwINC+0YLQv9GA0LDQstC60Lggc210cCknOwokbGFuZ1snaW5mb191c2VybmFtZSddID0gJ9CY0LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LTQu9GPIFNNVFAgKNC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGC0L7Qu9GM0LrQviDQtNC70Y8g0LzQtdGC0L7QtNCwINC+0YLQv9GA0LDQstC60Lggc210cCknOwokbGFuZ1snaW5mb19wYXNzd29yZCddID0gJ9Cf0LDRgNC+0LvRjCDQtNC70Y8gU01UUCAo0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YLQvtC70YzQutC+INC00LvRjyDQvNC10YLQvtC00LAg0L7RgtC/0YDQsNCy0LrQuCBzbXRwKSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDTVNNYWlsZXIgLyDQntGC0L/RgNCw0LLQutCwINC/0L7Rh9GC0YsnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICfQnNC+0LTRg9C70YwgQ01TTWFpbGVyINCx0YvQuyDRg9GB0L/QtdGI0L3QviDRg9GB0YLQsNC90L7QstC70LXQvSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAn0JzQvtC00YPQu9GMIENNU01haWxlciDRg9C00LDQu9C10L0nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICfQnNC+0LTRg9C70Ywg0YPQtNCw0LvQtdC9JzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ9Cc0L7QtNGD0LvRjCDQstC10YDRgdC40LggJXMg0YPRgdGC0LDQvdC+0LLQu9C10L0nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAn0JTQvtGB0YLRg9C/INC30LDQv9GA0LXRidC10L0uINCf0L7QttCw0LvRg9C50YHRgtCwINC/0YDQvtCy0LXRgNGM0YLQtSDQstCw0YjQuCDQv9GA0LDQstCwINC00L7RgdGC0YPQv9CwLic7CiRsYW5nWydlcnJvciddID0gJ9Ce0YjQuNCx0LrQsCEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICfQnNC+0LTRg9C70Ywg0L7QsdC90L7QstC70LXQvSDQtNC+INCy0LXRgNGB0LjQuCAlcyc7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICfQndCw0YHRgtGA0L7QudC60Lgg0LzQvtC00YPQu9GPJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ9CQ0LTQvNC40L0t0L/QsNC90LXQu9GMINC80L7QtNGD0LvRjyc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ9Cc0L7QtNGD0LvRjCBDTVNNYWlsZXIgJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAn0K3RgtC+INC/0YDQvtGB0YLQviDQvtCx0L7Qu9C+0YfQutCwINCy0L7QutGA0YPQsyBQSFBNYWlsZXIsINC+0L3QsCDQuNC80LXQtdGCINGN0LrQstC40LLQsNC70LXQvdGCIEFQSSAo0YTRg9C90LrRhtC40Lgg0LTQu9GPINGE0YPQvdC60YbQuNC4KSwg0LAg0YLQsNC60LbQtSDQv9GA0L7RgdGC0L7QuSDQuNC90YLQtdGA0YTQtdC50YEsINC00LvRjyDQvdC10LrQvtGC0L7RgNGL0YUg0LfQvdCw0YfQtdC90LjQuSDQv9C+INGD0LzQvtC70YfQsNC90LjRji4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMS43My4xLiBPY3RvYmVyLCAyMDA1LiBJbml0aWFsIFJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMi4gT2N0b2JlciwgMjAwNS4gTWlub3IgYnVnIGZpeCB3aXRoIHRoZSBhZG1pbiBwYW5lbC4gIFRoZSBkcm9wZG93biB3YXMgbm90IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIHRoZSBwcmVmZXJlbmNlcyBkYXRhYmFzZTwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjMuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCBzZW5kaW5nIGh0bWwgZW1haWw8L2xpPg0KPGxpPlZlcnNpb24gMS43My40LiBOb3ZlbWJlciwgMjAwNS4gRm9ybSBmaWVsZHMgaW4gcHJlZmVyZW5jZXMgYXJlIGxhcmdlciwgZml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIGZyb211c2VyLCBhbmQgY2FsbGVkIHJlc2V0IHdpdGhpbiB0aGUgY29uc3RydWN0b3I8L2xpPg0KPGxpPlZlcnNpb24gMS43My41LiBOb3ZlbWJlciwgMjAwNS4gQWRkZWQgdGhlIGZvcm0gZmllbGRzIGFuZCBmdW5jdGlvbmFsaXR5IGZvciBTTVRQIGF1dGhlbnRpY2F0aW9uLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjYuIERlY2VtYmVyLCAyMDA1LiBEZWZhdWx0IG1haWxlciBtZXRob2QgaXMgU01UUCBvbiBpbnN0YWxsLCBhbmQgaW1wcm92ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIG5vdyBJIGNsZWFyIGFsbCB0aGUgYXR0YWNobWVudHMsIGFuZCBhZGRyZXNzZXMsIGV0Yy4gb24gcmVzZXQuPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNy4gSmFudWFyeSwgMjAwNi4gSW5jcmVhc2VkIGZpZWxkIGxlbmd0aHMgaW4gbW9zdCBmaWVsZHM8L2xpPg0KPGxpPlZlcnNpb24gMS43My44LiBKYW51YXJ5LCAyMDA2LiBDaGFuZ2VkIHRoZSBwcmVmZXJlbmNlcyBwYW5lbCB0byBiZSBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjkuIEphbnVhcnksIDIwMDYuIEFkZGVkIHRlc3QgZW1haWwgY2FwYWJpbGl0eSwgYW5kIGNvbmZpcm1hdGlvbiBvbiBlYWNoIGJ1dHRvbiAoZXhjZXB0IGNhbmNlbCk8L2xpPg0KPGxpPlZlcnNpb24gMS43My4xMC4gQXVndXN0LCAyMDA2LiBNb2RpZmllZCB0byB1c2UgbGF6eSBsb2FkaW5nIHRvIG1pbmltaXplIG1lbW9yeSBmb290cHJpbnQgd2hlbiBDTVNNYWlsZXIgaXMgbm90IGJlaW5nIHVzZWQuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+0JrQsNC60L7QstC+INC90LDQt9C90LDRh9C10L3QuNC1INC00LDQvdC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LA/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIG5vIGVuZCB1c2VyIGZ1bmN0aW9uYWxpdHkuICBJdCBpcyBkZXNpZ25lZCB0byBiZSBpbnRlZ3JhdGVkIGludG8gb3RoZXIgbW9kdWxlcyB0byBwcm92aWRlIGVtYWlsIGNhcGFiaWxpdGllcy4gIFRoYXRzIGl0LCBub3RoaW5nIG1vcmUuPC9wPg0KPGgzPtCa0LDQuiDQvNC90LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGN0YLQvj88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgYWxsIG9mIHRoZSBtZXRob2RzIGFuZCB2YXJpYWJsZXMgb2YgcGhwbWFpbGVyLiAgSXQgaXMgZGVzaWduZWQgZm9yIHVzZSBieSBvdGhlciBtb2R1bGUgZGV2ZWxvcGVycywgYmVsb3cgaXMgYW4gZXhhbXBsZSwgYW5kIGEgYnJpZWYgQVBJIHJlZmVyZW5jZS4gIFBsZWFzZSByZWFkIHRoZSBQSFBNYWlsZXIgZG9jdW1lbnRhdGlvbiBpbmNsdWRlZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+DQo8aDM+0J/RgNC40LzQtdGAPC9oMz4NCjxwcmU+DQogICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoXCdDTVNNYWlsZXJcJyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoXCdjYWxndXkxMDAwQGhvdG1haWwuY29tXCcsXCdjYWxndXlcJyk7DQogICRjbXNtYWlsZXItPlNldEJvZHkoXCc8aDQ+VGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvaDQ+XCcpOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoXCdUZXN0IG1lc3NhZ2VcJyk7DQogICRjbXNtYWlsZXItPlNlbmQoKTsNCjwvcHJlPg0KPGgzPkFQSTwvaDM+DQo8dWw+DQo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4NCjxwPlJlc2V0IHRoZSBvYmplY3QgYmFjayB0byB0aGUgdmFsdWVzIHNwZWNpZmllZCBpbiB0aGUgYWRtaW4gcGFuZWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IGlzby04ODU5LTE8L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4NCjxwPtCS0LXRgNC90YPRgtGMINGC0LjQvyDQutC+0L3RgtC10L3RgtCwPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+0JLRi9Cx0YDQsNGC0Ywg0YLQuNC/INC60L7QvdGC0LXQvdGC0LA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPtCS0LXRgNC90YPRgtGMINC60L7QtNC40YDQvtCy0LDQvdC40LU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPtCS0YvQsdGA0LDRgtGMINC60L7QtNC40YDQvtCy0LDQvdC40LU8L3A+DQo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+0JLRi9Cx0YDQsNGC0Ywg0LjRgdGF0L7QtNGP0YnQuNC5INCw0LTRgNC10YEgPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD7QktC10YDQvdGD0YLRjCDRgtC10LrRg9GJ0LXQtSDQuNGB0YXQvtC00Y/RidC10LUg0LjQvNGPPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD7QktGL0LHRgNCw0YLRjCDQuNGB0YXQvtC00Y/RidC10LUg0LjQvNGPU2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPtCS0LXRgNC90YPRgtGMINC/0L7Qu9C+0YHRgyBIRUxPPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRIZWxvKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+0JLRi9Cx0YDQsNGC0Ywg0L/QvtC70L7RgdGDIFNldCB0aGUgSEVMTzwvcD4NCjxwPkRlZmF1bHQgdmFsdWU6ICRob3N0bmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3QoKTwvYj48L3A+DQo8cD7QktC10YDQvdGD0YLRjCDRhdC+0YHRgiBTTVRQINC+0YLQtNC10LvQtdC90L3Ri9C5INGC0L7Rh9C60L7QuSDRgSDQt9Cw0L/Rj9GC0L7QuTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+0JLRi9Cx0YDQsNGC0Ywg0YXQvtGB0YI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRIb3N0TmFtZSgpPC9iPjwvcD4NCjxwPtCS0LXRgNC90YPRgtGMINC40LzRjyDRhdC+0YHRgtCwLCDQuNGB0L/QvtC70YzQt9GD0LXQvNC+0LUg0LTQu9GPIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD7QktC10YDQvdGD0YLRjCBtYWlsZXI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0TWFpbGVyKCAkbWFpbGVyICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtYWlsZXIsIGVpdGhlciBzZW5kbWFpbCxtYWlsLCBvciBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0UGFzc3dvcmQoKTwvYj48L3A+DQo8cD7QktC10YDQvdGD0YLRjCDQv9Cw0YDQvtC70Ywg0LTQu9GPIHNtdHAg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPtCS0YvQsdGA0LDRgtGMINC/0LDRgNC+0LvRjCDQtNC70Y8gc210cCDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4PC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UG9ydCgpPC9iPjwvcD4NCjxwPtCS0LXRgNC90YPRgtGMINC90L7QvNC10YAg0L/QvtGA0YLQsCDQtNC70Y8gc210cCDRgdC+0LXQtNC40L3QtdC90LjQuTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQb3J0KCAkaW50ICk8L2I+PC9wPg0KPHA+0JLRi9Cx0YDQsNGC0Ywg0L/QvtGA0YIg0LTQu9GPIHNtdHAg0YHQvtC10LTQuNC90LXQvdC40Lk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPtCS0LXRgNC90YPRgtGMINC/0YDQuNC+0YDQuNGC0LXRgiDRgdC+0L7QsdGJ0LXQvdC40Y88LzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+0JLRi9Cx0YDQsNGC0Ywg0L/RgNC40L7RgNC40YLQtdGCINGB0L7QvtCx0YnQtdC90LjRjzwvcD4NCjxwPtCX0L3QsNGH0LXQvdC40Y8gMT3QstGL0YHQvtC60LjQuSwgMyA90L3QvtGA0LzQsNC70YzQvdGL0LksIDUgPSDQvdC40LfQutC40Lk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD7QktC10YDQvdGD0YLRjCDQsNC00YDQtdGBINC+0YLQv9GA0LDQstC40YLQtdC70Y8gKNC/0YPRgtGMINCy0L7Qt9Cy0YDQsNGJ0LXQvdC40Y8pINGB0YLRgNC+0LrQsDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+0JLRi9Cx0YDQsNGC0Ywg0YHRgtGA0L7QutGDINC+0YLQv9GA0LDQstC40YLQtdC70Y88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPtCS0LXRgNC90YPRgtGMIHNlbmRtYWlsINC/0YPRgtGMPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRtYWlsKCAkcGF0aCApPC9iPjwvcD4NCjxwPtCS0YvQsdGA0LDRgtGMIHNlbmRtYWlsINC/0YPRgtGMPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+0JLQtdGA0L3Rg9GC0Ywg0YLQtdC60YPRidC10LUg0LfQvdCw0YfQtdC90LjQtSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+0JLRi9Cx0YDQsNGC0Ywgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUERlYnVnKCk8L2I+PC9wPg0KPHA+0JLQtdGA0L3Rg9GC0Ywg0LfQvdCw0YfQtdC90LjQtSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPtCS0YvQsdGA0LDRgtGMIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQS2VlcEFsaXZlKCk8L2I+PC9wPg0KPHA+0JLQtdGA0L3Rg9GC0Ywg0LfQvdCw0YfQtdC90LjQtSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD7QktGL0LHRgNCw0YLRjCBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+0YHRgtGA0L7QutCwIEdldFN1YmplY3QoKTwvYj48L3A+DQo8cD7QktC10YDQvdGD0YLRjCDRgtC10LrRg9GJ0LjQuSDQv9GA0LXQtNC80LXRgiDRgdGC0YDQvtC60Lg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U3ViamVjdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPtCS0YvQsdGA0LDRgtGMINGC0LXQvNGDINGB0YLRgNC+0LrQuDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD7QktC10YDQvdGD0YLRjCDQt9C90LDRh9C10L3QuNC1ICB0aW1lb3V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFRpbWVvdXQoICRzZWNvbmRzICk8L2I+PC9wPg0KPHA+0JLRi9Cx0YDQsNGC0Ywg0LfQvdCw0YfQtdC90LjQtSB0aW1lb3V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0VXNlcm5hbWUoKTwvYj48L3A+DQo8cD7QktC10YDQvdGD0YLRjCBzbXRwIGF1dGgg0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRVc2VybmFtZSggJHN0cmluZyApPC9iPjwvcD4NCjxwPtCS0YvQsdGA0LDRgtGMINC40LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LDQstGC0L7RgNCwIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPtCS0LXRgNC90YPRgtGMINC30L3QsNGH0LXQvdC40LUgd29yZHdyYXAgPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFdvcmRXcmFwKCAkaW50ICk8L2I+PC9wPg0KPHA+0JLQtdGA0L3Rg9GC0YzRgdGPINC6INC30L3QsNGH0LXQvdC40Y4gd29yZHdyYXA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEFkZHJlc3MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD7QlNC+0LHQsNCy0LjRgtGMINCw0LTRgNC10YEgINC90LDQt9C90LDRh9C10L3QuNGPPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSBcJ1wnLCAkZW5jb2RpbmcgPSBcJ2Jhc2U2NFwnLCAkdHlwZSA9IFwnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwnICk8L2I+PC9wPg0KPHA+0JTQvtCx0LDQstC40YLRjCDRhNCw0LnQuy0g0LDRgtGC0LDRh9C80LXQvdGCPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD7QlNC+0LHQsNCy0LjRgtGMICBCQ0NcJ2Qg0LDQtNGA0LXRgSDQvdCw0LfQvdCw0YfQtdC90LjRjzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5BZGQgYSBDQ1wnZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+DQo8cD4g0JTQvtCx0LDQstC40YLRjCDQt9Cw0LPQvtC70L7QstC+0Log0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC90LAgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9IFwnXCcsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvYj48L3A+DQo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD7QlNC+0LHQsNCy0LjRgtGMINC+0YLQstC10YIg0L3QsCDQsNC00YDQtdGBIDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSBcJ2Jhc2U2NFwnLCAkdHlwZSA9IFwnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwnICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFkZHJlc3NlcygpPC9iPjwvcD4NCjxwPtCj0LTQsNC70LjRgtGMINCy0YHQtSDQsNC00YDQtdGB0LA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWxsUmVjaXBpZW50cygpPC9iPjwvcD4NCjxwPtCj0LTQsNC70LjRgtGMINCy0YHQtdGFINCw0LTRgNC10YHQsNGC0L7QsjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4NCjxwPtCj0LTQsNC70LjRgtGMINCy0YHQtSDQsNGC0YLQsNGH0LzQtdC90YLRizwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPg0KPHA+0KPQtNCw0LvQuNGC0Ywg0LLRgdC1IEJDQyDQsNC00YDQtdGB0LA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+0KPQtNCw0LvQuNGC0Ywg0LLRgdC1IENDINCw0LTRgNC10YHQsDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPg0KPHA+0KPQtNCw0LvQuNGC0Ywg0LLRgdC1INC30LDQs9C+0LvQvtCy0LrQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+0KPQtNCw0LvQuNGC0Ywg0L7RgtCy0LXRgiDQsNC00YDQtdGB0YM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzRXJyb3IoKTwvYj48L3A+DQo8cD7Qn9GA0L7QstC10YDQutCwINC90LAg0YPRgdC70L7QstC40Y8g0L7RiNC40LHQutC4PC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzSFRNTCggJGJvb2wgKTwvYj48L3A+DQo8cD7QktGL0LHQtdGA0LjRgtC1INGE0LvQsNC20L7QuiBodG1sPC9wPg0KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+0J/RgNC+0LLQtdGA0LjRgtGMLCDQuNGB0L/QvtC70YzQt9GD0LXQvCDQu9C4INC80YsgbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc1FtYWlsKCk8L2I+PC9wPg0KPHA+0J/RgNC+0LLQtdGA0LjRgtGMLCDQuNGB0L/QvtC70YzQt9GD0LXQvCDQu9C4INC80YsgcW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+DQo8cD7Qn9GA0L7QstC10YDQuNGC0YwsINC40YHQv9C+0LvRjNC30YPQtdC8INC70Lgg0LzRiyBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+0J/RgNC+0LLQtdGA0LjRgtGMLCDQuNGB0L/QvtC70YzQt9GD0LXQvCDQu9C4INC80Ysgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2VuZCgpPC9iPjwvcD4NCjxwPtCe0YLQv9GA0LDQstC40YLRjCDQv9GA0LjQs9C+0YLQvtCy0LvQtdC90L3Ri9C1INC90LAg0LTQsNC90L3Ri9C5INC80L7QvNC10L3RgiDQv9C40YHRjNC80LA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPtCS0YvQsdGA0LDRgtGMINGP0LfRi9C6KCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gXCdcJyApPC9iPjwvcD4NCjxwPtCS0YvQsdGA0LDRgtGMINGC0LXQutGD0YnQuNC5INGP0LfRi9C6INC4IDxlbT4o0L7Qv9GG0LjQvtC90LDQu9GM0L3Qvik8L2VtPiDQstC10YLQstGMINGP0LfRi9C60LA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPtCX0LDQstC10YDRiNC40YLRjCBzbXRwINGB0L7QtdC00LjQvdC10L3QuNC1PC9wPg0KPC9saT4NCjwvdWw+DQo8aDM+0J/QvtC00LTQtdGA0LbQutCwPC9oMz4NCjxwPtCU0LDQvdC90YvQuSDQvNC+0LTRg9C70Ywg0L3QtSDQstC60LvRjtGH0LDQtdGCINC60L7QvNC80LXRgNGH0LXRgdC60YPRjiDQv9C+0LTQtNC10YDQttC60YMuINCi0LXQvCDQvdC1INC80LXQvdC10LUsINGB0YPRidC10YHRgtCy0YPRjtGCINGA0LXRgdGD0YDRgdGLLCDRgdC/0L7RgdC+0LHQvdGL0LUg0LLQsNC8INGBINGN0YLQuCDQv9C+0LzQvtGH0Yw6PC9wPg0KPHVsPg0KPGxpPtCU0LvRjyDQv9C+0YHQu9C10LTQvdC10Lkg0LLQtdGA0YHQuNC4INGN0YLQvtCz0L4g0LzQvtC00YPQu9GPLCDQp9Cw0JLQviwg0LjQu9C4INC30LDRgNC10LPQuNGB0YLRgNC40YDQvtCy0LDRgtGMIEJ1ZyBSZXBvcnQg0LjQu9C4INC60YPQv9C40YLRjCDQutC+0LzQvNC10YDRh9C10YHQutGD0Y4g0L/QvtC00LTQtdGA0LbQutGDLCDQv9C+0LbQsNC70YPQudGB0YLQsCwg0LfQsNCz0LvRj9C90LjRgtC1INC90LAg0YHRgtGA0LDQvdC40YfQutGDPGFocmVmPVwnaHR0cDovL3RlY2hjb20uZHluZG5zLm9yZ1wnPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT7QlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC1INC+0LHRgdGD0LbQtNC10L3QuNC1INGN0YLQvtC5INGB0YLRgNCw0L3QuNGG0Ysg0LzQvtC20L3QviDRgtCw0LrQttC1INC90LDQudGC0Lgg0YLRg9GCOiA8YSBocmVmPVwnaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnXCc+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT7QkNCy0YLQvtGA0LAsIGNhbGd1eTEwMDAsINGH0LDRgdGC0L4g0LzQvtC20L3QviDQt9Cw0YHRgtCw0YLRjCDQstC+0YIg0YLRg9GCOjxhIGhyZWY9XCdpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXNcJz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+0J3QsNC60L7QvdC10YYsINCy0L7Qt9C80L7QttC90L4sINCy0Ysg0LTQvtGB0YLQuNCz0L3QtdGC0LUg0YHQstC+0LXQuSDRhtC10LvQuCwg0L3QsNC/0LjRgdCw0LIg0L3QtdC/0L7RgdGA0LXQtNGB0YLQstC10L3QvdC+INCw0LLRgtC+0YDRgy48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuINCf0L7QttCw0LvRg9C50YHRgtCwLCDQv9GA0L7Rh9C40YLQsNC50YLQtSDRgtC10LrRgdGCINC70LjRhtC10L3Qt9C40LggDQrQtNC70Y8g0L/QvtC70L3QvtCz0L4g0L7RgtC60LDQt9CwLjwvcD4NCg0KPGgzPtCQ0LLRgtC+0YDRgdC60LjQtSDQv9GA0LDQstCwINC4INC70LjRhtC10L3Qt9C40Y88L2gzPg0KPHA+INCQ0LLRgtC+0YDRgdC60LjQtSDQv9GA0LDQstCwIMKpIDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPVwnbWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb21cJz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj1cJ2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTFwnPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uINCS0Ysg0LTQvtC70LbQvdGLINGB0L7Qs9C70LDRgdC40YLRjNGB0Y8g0YEg0LTQsNC90L3QvtC5INC70LjRhtC10L3Qt9C40LXQuSDQtNC+INGC0L7Qs9C+LCDQutCw0Log0L3QsNGH0L3QtdGC0LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC80L7QtNGD0LvRjC48L3A+JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTYzMDYzODc4NC4xMzIyMzMzNzk3LjEzMjIzMzM3OTcuMTMyMjMzMzc5Ny4xJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTMyMjMzMzc5Ny4xLjEudXRtY3NyPShkaXJlY3QpfHV0bWNjbj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTc5NjUzNzE4NS0xMzE5Mzg3ODk4NjE5JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4yLjEwLjEzMjIzMzM3OTcnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnVGVudG8gdGVzdCBzYSByb2LDrSBuZXByYXZpZGVsbmUuIE3DtMW+ZSB0cnZhxaUgdXLEjWl0w70gxI1hcywga8O9bSB6bWl6bmUnOwokbGFuZ1snbm9uZSddID0gJ8W9aWFkbmUnOwokbGFuZ1snc3NsJ10gPSAnU1NMIChTZWN1cmUgU29ja2V0cyBMYXllciknOwokbGFuZ1sndGxzJ10gPSAnVExTIChUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkpJzsKJGxhbmdbJ3NlY3VyZSddID0gJ8WgaWZyb3ZhY8OtIG1lY2hhbml6bXVzJzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAnUG91xb5pdGXEvm7DqSBpYmEgcHJpIG5hc3RhdmVuw60gbWV0w7NkeSBTTVRQIG1haWxlciwgdMOhdG8gZnVua2NpYSB1bW/FvsWIdWplIMWhcGVjaWZpa292YW5pZSByw7R6bnljaCDFoWlmcm92YWPDrWNoIG1lY2hhbml6bW92IHByZSBzcG9qZW5pZSc7CiRsYW5nWydpbmZvX2Ntc21haWxlciddID0gJ1RlbnRvIG1vZHVsLCB2eXXFvsOtdmFqw7ogb3N0YXRuw6kgbW9kdWx5IG5hIG9kb3NpZWxhbmllIGUtbWFpbG92LiBNdXPDrSBiecWlIG5ha29uZmlndXJvdmFuw70gc3Byw6F2bmUgYSBwcmVzbmUgcG9kxL5hIHBvxb5pYWRhdmllayBob3N0aXRlxL5hLiBQcmkgw7pwcmF2ZSB0w71jaHRvIG5hc3RhdmVuw60gcHJvc8OtbSBwb3XFvml0ZSBpbmZvcm3DoWNpZSBwb3NreXRvdmFuw6kgaG9zdGl0ZcS+b20uIEFrIHN0w6FsZSBuZW3DtMW+ZXRlIGtvcmVrdG5lIG9kb3NpZWxhxaUgc3Byw6F2eSwgcG/FvmlhZGFqdGUgaG9zdGl0ZcS+c2vDuiBzcG9sb8SNbm9zxaUgbyBwb21vYy4nOwokbGFuZ1snY2hhcnNldCddID0gJ1puYWtvdsOhIHNhZGEnOwokbGFuZ1snc2VuZHRlc3RtYWlsY29uZmlybSddID0gJ1TDoXRvIGZ1bmtjaWEgb2RvxaFsZSB0ZXN0b3ZhY2l1IHNwcsOhdnUgbmEgemFkYW7DuiBhZHJlc3UuIEFrIG9kb3NpZWxhbmllIHByZWJlaG5lIHYgcG9yaWFka3UsIHZyw6F0aXRlIHNhIG5hIHTDunRvIGlzdMO6IHN0csOhbmt1LiAgQ2hjZXRlIHBva3JhxI1vdmHFpT8nOwokbGFuZ1snc2V0dGluZ3Njb25maXJtJ10gPSAnWmFww61zYcWlIGFrdHXDoWxuZSBob2Rub3R5IGRvIG5hc3RhdmVuw60gc3lzdMOpbXUgQ01TTWFpbGVyPyc7CiRsYW5nWyd0ZXN0c3ViamVjdCddID0gJ0NNU01haWxlciAtIFRlc3RvdmFjaWEgc3Byw6F2YSc7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ1Rlc3RvdmFjaWEgc3Byw6F2YSBqZSB1csSNZW7DoSBsZW4gbmEgb3ZlcmVuaWUgZnVua8SNbm9zdGkgbmFzdGF2ZW7DrSBtb2R1bHUgQ01TTWFpbGVyLg0KQWsgdsOhbSBzcHLDoXZhIGRvcmF6aWxhIHYgcG9yaWFka3UsIHbFoWV0a3kgcG91xb5pdMOpIG5hc3RhdmVuaWEgc8O6IHNwcsOhdm5lLic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAnQ2h5YmE6IE5lYm9sYSB6YWRhbsOhIHRlc3RvdmFjaWEgYWRyZXNhJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ1Rlc3RvdmFjaWEgZS1tYWlsb3bDoSBhZHJlc2EnOwokbGFuZ1snc2VuZHRlc3QnXSA9ICdPZG9zbGHFpSB0ZXN0b3ZhY2l1IHNwcsOhdnUnOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdIZXNsbyc7CiRsYW5nWyd1c2VybmFtZSddID0gJ01lbm8gcG91xb7DrXZhdGXEvmEnOwokbGFuZ1snc210cGF1dGgnXSA9ICdPdmVyZW5pZSBuYSBzZXJ2ZXJpIFNNVFAnOwokbGFuZ1snbWFpbGVyJ10gPSAnTWV0w7NkYSBwcmUgbWFpbGVyJzsKJGxhbmdbJ2hvc3QnXSA9ICdIb3N0LiBuw6F6b3YgU01UUDxici8+PGk+KGFsZWJvIElQIGFkcmVzYSk8L2k+JzsKJGxhbmdbJ3BvcnQnXSA9ICdQb3J0IFNNVFAgc2VydmVyYSc7CiRsYW5nWydmcm9tJ10gPSAnWiBhZHJlc3knOwokbGFuZ1snZnJvbXVzZXInXSA9ICdPZCBwb3XFvsOtdmF0ZcS+YSBtZW5vbSc7CiRsYW5nWydzZW5kbWFpbCddID0gJ1VtaWVzdG5lbmllIHNlbmRtYWluJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICfEjGFzb3bDvSBsaW1pdCBTTVRQJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ09kb3NsYcWlJzsKJGxhbmdbJ2NhbmNlbCddID0gJ1pydcWhacWlJzsKJGxhbmdbJ2luZm9fbWFpbGVyJ10gPSAnTWV0w7NkYSBvZG9zbGFuaWEgZS1tYWlsdSAoc2VuZG1haWwsIHNtdHAsIG1haWwpLiBOYWpzcG/EvmFobGl2ZWrFoWlhIGplIG1ldMOzZGEgc210cC4nOwokbGFuZ1snaW5mb19ob3N0J10gPSAnSG9zdC4gbsOhem92IFNNVFAgKHBsYXTDrSBpYmEgcHJpIHBvdcW+aXTDrSBtZXTDs2R5IHNtdHApJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ8SMw61zbG8gcG9ydHUgU01UUCAob2J2eWtsZSAyNSkgKHBsYXTDrSBpYmEgcHJpIHBvdcW+aXTDrSBtZXTDs2R5IHNtdHApJzsKJGxhbmdbJ2luZm9fZnJvbSddID0gJ0FkcmVzYSBwb3XFvsOtdmFuw6EgYWtvIGFkcmVzYSBvZG9zaWVsYXRlxL5hIHZvIHbFoWV0a8O9Y2ggc3Byw6F2YWNoLjxici8+PHN0cm9uZz5Qb3puw6Fta2E8L3N0cm9uZz46IHTDoXRvIGUtbWFpbG92w6EgYWRyZXNhIG11c8OtIGJ5xaUgbmFzdGF2ZW7DoSBwb2TEvmEgcG/FvmlhZGF2aWVrIGhvc3RpdGXEvmEsIGluYWsgc2EgbcO0xb51IHZ5c2t5dG7DusWlIHByb2Jsw6lteSBzIG9kb3NpZWxhbsOtbSBlLW1haWxvdi48YnIvPlBva2lhxL4gc2kgbmllIHN0ZSBpc3TDrSBzcHLDoXZub3PFpW91IG5hc3RhdmVuaWEsIGtvbnRha3R1anRlIGhvc3RpdGXEvnNrw7ogb3JnYW5pesOhY2l1Lic7CiRsYW5nWydpbmZvX2Zyb211c2VyJ10gPSAnUHJpYXRlxL5za8OpIG1lbm8gcG91xb7DrXZhbsOpIHByZSBvZG9zaWVsYW5pZSB2xaFldGvDvWNoIGUtbWFpbG92JzsKJGxhbmdbJ2luZm9fc2VuZG1haWwnXSA9ICfDmnBsbsOhIGNlc3RhIGsgc3B1c3RlxL5uw71tIHPDumJvcm9tIGZ1bmtjaWUgc2VuZG1haWwgaW7FoXRhbMOhY2lpIChwbGF0w60gaWJhIHByaSBwb3XFvml0w60gbWV0w7NkeSBzZW5kbWFpbCknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnUG/EjWV0IHNla8O6bmQgcHJpIFNNVFAga29udmVyesOhY2nDrSBwcmVkIG9obMOhc2Vuw61tIGNoeWJ5IChwbGF0w60gaWJhIHByaSBwb3XFvml0w60gbWV0w7NkeSBzbXRwKSc7CiRsYW5nWydpbmZvX3NtdHBhdXRoJ10gPSAnVnnFvmFkdWplIHbDocWhIFNNVFAgaG9zdGl0ZcS+IGF1dGVudGlmaWvDoWNpdT8gKHBsYXTDrSBpYmEgcHJpIHBvdcW+aXTDrSBtZXTDs2R5IHNtdHApJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWUnXSA9ICdNZW5vIHBvdcW+w612YXRlxL5hIHByZSBhdXRlbnRpZmlrw6FjaXUgbmEgU01UUCAocGxhdMOtIGliYSBwcmkgcG91xb5pdMOtIG1ldMOzZHkgc210cCwgYWsgamUgdnlicmFuw6EgYXV0ZW50aWZpa8OhY2lhKSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnSGVzbG8gcHJlIGF1dGVudGlmaWvDoWNpdSBuYSBTTVRQIChwbGF0w60gaWJhIHByaSBwb3XFvml0w60gbWV0w7NkeSBzbXRwLCBhayBqZSB2eWJyYW7DoSBhdXRlbnRpZmlrw6FjaWEgcHJlIHNtdHApJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NNUyBNYWlsZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bCBDTVNNYWlsZXIgYm9sIMO6c3BlxaFuZSBuYWluxaF0YWxvdmFuw70nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsIENNU01haWxlciBib2wgb2RpbsWhdGFsb3ZhbsO9Li4uIMWga29kYSwgxb5lIG9kIG7DoXMgb2RjaMOhZHphdGUuLi4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bCBib2wgb2RpbsWhdGFsb3ZhbsO9Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bCB2ZXJ6aWUgJXMgYm9sIG5haW7FoXRhbG92YW7DvS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnUHLDrXN0dXAgYm9sIHphbWlldG51dMO9LiBQcm9zw61tIHNrb250cm9sdWp0ZSBvcHLDoXZuZW5pYS4nOwokbGFuZ1snZXJyb3InXSA9ICdDaHliYSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBha3R1YWxpem92YW7DvSBuYSB2ZXJ6aXUgJXMuJzsKJGxhbmdbJ3NldHRpbmdzX3RpdGxlJ10gPSAnTmFzdGF2ZW5pYSc7CiRsYW5nWyd0ZXN0X3RpdGxlJ10gPSAnT3Rlc3RvdmFuaWUnOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTmFzdGF2ZW5pYSBtb2R1bHUnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnQWRtaW5pc3RyYcSNbsO9IHBhbmVsIG1vZHVsdSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ01vZHVsIENNU01haWxlcic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1RvdG8gamUgamVkbm9kdWNow6EgbmFkc3RhdmJhIHByZSBQSFBNYWlsZXIsIGplIHRvIGVrdml2YWxlbnQgQVBJIChmdW5rY2lhIHByZSBmdW5rY2l1KSBhIGplZG5vZHVjaMOpIHJvemhyYW5pZSBwcmUgesOha2xhZG7DqSBwcmVkdm9sZW7DqSDDumtvbnkuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJ6aWEgMS43My4xLiBPa3TDs2JlciwgMjAwNS4gUHJ2w6kgdnlkYW5pZS48L2xpPg0KPGxpPlZlcnppYSAxLjczLjIuIE9rdMOzYmVyLCAyMDA1LiBNZW7FoWlhIG9wcmF2YSB2IGFkbWluaXN0cmHEjW5vbSBwYW5lbGkuIFJvemJhxL5vdmFjaWUgbWVudSBuZXByZXplbnRvdmFsbyBha3R1w6FsbnUgaG9kbm90dSB6IG5hc3RhdmVuw60gZGF0YWLDoXp5PC9saT4NCjxsaT5WZXJ6aWEgMS43My4zLiBPa3TDs2JlciwgMjAwNS4gTWVuxaFpYSBvcHJhdmEgcHJpIG9kb3NpZWxhbsOtIEhUTUwgZS1tYWlsb3Y8L2xpPg0KPGxpPlZlcnppYSAxLjczLjQuIE5vdmVtYmVyLCAyMDA1LiBQb2xpYSBmb3JtdWzDoXJhIHYgbmFzdGF2ZW5pYWNoIHPDuiB2w6TEjcWhaWUsIG9wcmF2ZW7DvSBwcm9ibMOpbSB6IG9kb3NpZWxhasO6Y2ltIHBvdcW+w612YXRlxL5vbSBhIHZ5dm9sYW7DvW0gcmVzZXRvbSB2IMSNYXN0aSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyemlhIDEuNzMuNS4gTm92ZW1iZXIsIDIwMDUuIFByaWRhbsOpIHBvbGlhIGZvcm11bMOhcmEgYSBtb8W+bm9zxaUgYXV0ZW50aWZpa8OhY2llIG5hIFNNVFAuPC9saT4NCjxsaT5WZXJ6aWEgMS43My42LiBEZWNlbWJlciwgMjAwNS4gUHJlZHZvbGVuw6EgbWV0w7NkYSBvZG9zaWVsYW5pYSBqZSBTTVRQLCB6bGVwxaFlbsOhIGRva3VtZW50w6FjaWEuIFVqYXNuZW5pZSBwcm9ibMOpbW92IHMgcHLDrWxvaGFtaSBhIGFkcmVzYW1pIHByaSByZXNldG92YW7DrS48L2xpPg0KPGxpPlZlcnppYSAxLjczLjcuIEphbnXDoXIsIDIwMDYuIFp2w6TEjcWhZW7DoSBkxLrFvmthIHbDpMSNxaFpbnkgcG9sw608L2xpPg0KPGxpPlZlcnppYSAxLjczLjguIEphbnXDoXIsIDIwMDYuIFptZW5hIHBhbmVsdSBzIG5hc3RhdmVuaWFtaSB0YWssIGFieSBwb3NreXRvdmFsIHZpYWMgb3Bpc292LjwvbGk+DQo8bGk+VmVyemlhIDEuNzMuOS4gSmFudcOhciwgMjAwNi4gUHJpZGFuw6EgbW/Fvm5vc8WlIHRlc3RvdmFuaWEgZnVua8SNbm9zdGkgZS1tYWlsb3YgYSBwb3R2cmRlbmlhIHByZSBrYcW+ZMOpIHRsYcSNaWRsbyAocyB2w71uaW1rb3UgenJ1xaFlbmlhKS48L2xpPg0KPGxpPlZlcnppYSAxLjczLjEwLiBBdWd1c3QsIDIwMDYuIMOacHJhdmEgcHJlICJsYXp5IGxvYWRpbmciLCBrdm9saSB6bsOtxb5lbml1IHBhbcOkxaVvdmVqIG7DoXJvxI1ub3N0aSBwb2tpYcS+IHNhIENNU01haWxlciBuZXBvdcW+w612YS48L2xpPg0KPGxpPlZlcnppYSAxLjczLjEzLiBKYW51w6FyLCAyMDA4LiBQcmlkYW7DqSB2w6TEjcWhaWUgbW5vxb5zdHZvIGtvbnRyb2wgb3Byw6F2bmVuw60uPC9saT4NCjxsaT5WZXJ6aWEgMi4wLjEgLSBKYW51w6FyLCAyMDExIC0gT2RzdHLDoW5lbsOpIHRsYcSNaWRsbyBacnXFoWnFpS48L2xpPg0KPGxpPlZlcnppYSAyLjAuMiAtIFNlcHRlbWJlciwgMjAxMSAtIFByZWR2b2xlbsOhIHpuYWtvdsOhIHNhZGEgYm9sYSBuYXN0YXZlbsOhIG5hIHV0Zi04LjwvbGk+DQo8bGk+VmVyemlhIDUuMi4xIC0gSsO6biwgMjAxMiAtIEFrdHVhbGl6w6FjaWEgc8O6Ym9yb3Yga25pxb5uw61jLjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkFrbyB0byBmdW5ndWplPzwvaDM+DQo8cD5UZW50byBtb2R1bCBuZXBvc2t5dHVqZSBmdW5rY2llIHByZSBrb25jb3bDqWhvIHBvdcW+w612YXRlxL5hLiBKZSB1csSNZW7DvSBuYSBpbnRlZ3JvdmFuaWUgZG8gaW7DvWNoIG1vZHVsb3YgYSBuYSBwb3NreXRvdmFuaWUgbW/Fvm5vc3TDrSBvZG9zaWVsYW5pYSBlLW1haWxvdi4gUG9za3l0dWplIGliYSB0bywgbmnEjSB2aWFjIGEgbmnEjSBtZW5lai48L3A+DQo8aDM+QWtvIHNhIHBvdcW+w612YT88L2gzPg0KPHA+VGVudG8gbW9kdWwgcG9za3l0dWplIGplZG5vZHVjaMO6IG5hZHN0YXZidSBuYWQgdsWhZXRrw71taSBtZXTDs2RhbWkgYSBwcmVtZW5uw71taSBmdW5rY2llIHBocG1haWxlci4gIEplIHVyxI1lbsO9IG5hIHBvdcW+aXRpZSBpbsO9bWkgdsO9dm9qw6FybWksIGRvbGUgamUgdXZlZGVuw70gcHLDrWtsYWQgYSBrcsOhdGthIHJlZmVyZW5jaWEgbyBBUEkuICBQcm9zw61tIHByZcSNw610YWp0ZSBzaSB2bG/FvmVuw7ogZG9rdW1lbnTDoWNpdSBwcmUgUEhQTWFpbGVyLCBhayBjaGNldGUgesOtc2thxaUgdmlhYyBpbmZvcm3DoWNpw60uPC9wPg0KPGgzPlByw61rbGFkPC9oMz4NCjxwcmU+DQogICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoXCdDTVNNYWlsZXJcJyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoXCdjYWxndXkxMDAwQGhvdG1haWwuY29tXCcsXCdjYWxndXlcJyk7DQogICRjbXNtYWlsZXItPlNldEJvZHkoXCc8aDQ+VG90byBqZSB0ZXN0b3ZhY2lhIHNwcsOhdmE8L2g0PlwnKTsNCiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOw0KICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KFwnVGVzdG92YWNpYSBzcHLDoXZhXCcpOw0KICAkY21zbWFpbGVyLT5TZW5kKCk7DQo8L3ByZT4NCjxoMz5BUEk8L2gzPg0KPHVsPg0KPGxpPjxwPjxiPnZvaWQgcmVzZXQoKTwvYj48L3A+DQo8cD5SZXNldCBvYmpla3R1IG5hc3DDpMWlIG5hIGhvZG5vdHkgdXLEjWVuw6kgdiBhZG1pbmlzdHJhxI1ub20gcGFuZWxpPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0QWx0Qm9keSgpPC9iPjwvcD4NCjxwPk7DoXZyYXQgbmEgesOhc3R1cG7DqSB0ZWxvIHRvaHRvIGUtbWFpbHU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPk5hc3RhdmnFpSB6w6FzdHVwbsOpIHRlbG8gZS1tYWlsdTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEJvZHkoKTwvYj48L3A+DQo8cD5Ow6F2cmF0IG5hIHByaW3DoXJuZSB0ZWxvIGUtbWFpbHU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPk5hc3RhdmnFpSBwcmltw6FybmUgdGVsbyBlLW1haWx1PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPlByZWR2b2xlbsOhIGhvZG5vdGE6IGlzby04ODU5LTE8L3A+DQo8cD5Ow6F2cmF0IG5hIHpuYWtvdsO6IHNhZHUgbW9kdWx1IG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDaGFyU2V0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+TmFzdGF2acWlIHpuYWtvdsO6IHNhZHUgbW9kdWx1IG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbmZpcm1SZWFkaW5nVG8oKTwvYj48L3A+DQo8cD5WcsOhdGkgYWRyZXN1IHBvdHZyZHVqw7pjdSBwcsOtem5hayBwcmXEjcOtdGFuaWEgZS1tYWlsdTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPk5hc3RhdsOtIGFsZWJvIHpydcWhw60gYWRyZXN1IHByZSBwb3R2cmRlbmllIHByZcSNw610YW5pYTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+UHJlZHZvbGVuw6k6IHRleHQvcGxhaW48L3A+DQo8cD5WcsOhdGkgdHlwIG9ic2FodTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPk5hc3RhdmnFpSB0eXAgb2JzYWh1PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RW5jb2RpbmcoKTwvYj48L3A+DQo8cD5WcsOhdGkga8OzZG92YW5pZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRFbmNvZGluZyggJGVuY29kaW5nICk8L2I+PC9wPg0KPHA+TmFzdGF2acWlIGvDs2RvdmFuaWU8L3A+DQo8cD5Nb8W+bm9zdGkgc8O6IHRpZXRvOiA4Yml0LCA3Yml0LCBiaW5hcnksIGJhc2U2NCwgcXVvdGVkLXByaW50YWJsZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEVycm9ySW5mbygpPC9iPjwvcD4NCjxwPlZyw6F0aSBha8O6a2/EvnZlayBpbmZvcm3DoWNpdSBvIGNoeWJlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlZyw6F0aSBha3R1w6FsbnUgYWRyZXN1IHDDtHZvZGN1PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+TmFzdGF2acWlIGFkcmVzdSBww7R2b2RjdTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb21OYW1lKCk8L2I+PC9wPg0KPHA+VnLDoXRpIGFrdHXDoWxuZSBtZW5vIHDDtHZvZGN1PC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRGcm9tTmFtZSggJG5hbWUgKTwvYj48L3A+DQo8cD5OYXN0YXZpxaUgbWVubyBww7R2b2RjdTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhlbG8oKTwvYj48L3A+DQo8cD5WcsOhdGkgcmXFpWF6ZWMgSEVMTzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0SGVsbyggJHN0cmluZyApPC9iPjwvcD4NCjxwPk5hc3RhdmnFpSByZcWlYXplYyBIRUxPPC9wPg0KPHA+UHJlZHZvbGVuw6EgaG9kbm90YTogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlZyw6F0aSBob3N0aXRlxL5vdiBTTVRQLCBzIG9kZGVsZW7DrW0gYm9ka2/EjWlhcmtvdTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+TmFzdGF2acWlIGhvc3RpdGXEvm92PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+DQo8cD5WcsOhdGkgbWVubyBob3N0aXRlxL5hIHBvdcW+aXTDqSBwcmUgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3ROYW1lKCAkaG9zdG5hbWUgKTwvYj48L3A+DQo8cD5OYXN0YXZpxaUgbWVubyBob3N0aXRlxL5hIHBvdcW+aXTDqSBwcmUgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPg0KPHA+VnLDoXRpIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+DQo8cD5OYXN0YXZpxaUgbWFpbGVyLCBidcSPIG1ldMOzZHUgc2VuZG1haWwsbWFpbCwgYWxlYm8gc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFBhc3N3b3JkKCk8L2I+PC9wPg0KPHA+VnLDoXRpIGhlc2xvIHByZSBhdXRlbnRpZmlrw6FjaXUgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPk5hc3RhdmnFpSBoZXNsbyBwcmUgYXV0ZW50aWZpa8OhY2l1IHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQb3J0KCk8L2I+PC9wPg0KPHA+VnLDoXRpIMSNw61zbG8gcG9ydHUgcHJlIHNwb2plbmlhIGNleiBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5OYXN0YXZpxaUgcG9ydCBwcmUgc3BvamVuaWEgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFByaW9yaXR5KCk8L2I+PC9wPg0KPHA+VnLDoXRpIHByaW9yaXR1IHNwcsOhdnk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UHJpb3JpdHkoIGludCApPC9iPjwvcD4NCjxwPk5hc3RhdmnFpSBwcmlvcml0dSBzcHLDoXZ5PC9wPg0KPHA+TW/Fvm5vIGhvZG5vdHk6IDEgPSB2eXNva8OhLCAzID0gbm9ybcOhbG5hLCA1ID0gbsOtemthPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZGVyKCk8L2I+PC9wPg0KPHA+VnLDoXRpIHJlxaVhemVjIHByZSBvZG9zaWVsYXRlxL5hIGUtbWFpbHUgKHJldHVybiBwYXRoKTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+TmFzdGF2acWlIHJlxaVhemVjIG9kb3NpZWxhdGXEvmE8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kbWFpbCgpPC9iPjwvcD4NCjxwPlZyw6F0aSBjZXN0dSBwcmUgc2VuZG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPg0KPHA+TmFzdGF2acWlIGNlc3R1IHByZSBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQQXV0aCgpPC9iPjwvcD4NCjxwPlZyw6F0acWlIGFrdHXDoWxudSBob2Rub3R1IHByw616bmFrdSBwcmUgYXV0ZW50aWZpa8OhY2l1IG5hIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBBdXRoKCAkYm9vbCApPC9iPjwvcD4NCjxwPk5hc3RhdmnFpSBwcsOtem5hayBhdXRlbnRpZmlrw6FjaWUgbmEgc210cDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5WcsOhdGkgaG9kbm90dSBwcsOtem5ha3UgcHJlIGxhZGVuaWUgU01UUDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTTVRQRGVidWcoICRib29sICk8L2I+PC9wPg0KPHA+TmFzdGF2acWlIHByw616bmFrIHByZSBsYWRlbmllIFNNVFA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUEtlZXBBbGl2ZSgpPC9iPjwvcD4NCjxwPlZyw6F0aSBob2Rub3R1IHByw616bmFrdSBTTVRQIGtlZXAgYWxpdmU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBLZWVwQWxpdmUoICRib29sICk8L2I+PC9wPg0KPHA+TmFzdGF2acWlIHByw616bmFrIFNNVFAga2VlcCBhbGl2ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFN1YmplY3QoKTwvYj48L3A+DQo8cD5WcsOhdGkgcmXFpWF6ZWMgcHJlIGFrdHXDoWxueSBwcmVkbWV0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFN1YmplY3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5OYXN0YXZpxaUgcmXFpWF6ZWMgcHJlIHByZWRtZXQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRUaW1lb3V0KCk8L2I+PC9wPg0KPHA+VnLDoXRpIGhvZG5vdHUgxI1hc292w6lobyBsaW1pdHU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD5OYXN0YXZpxaUgaG9kbm90dSDEjWFzb3bDqWhvIGxpbWl0dTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFVzZXJuYW1lKCk8L2I+PC9wPg0KPHA+VnLDoXRpIG1lbm8gcG91xb7DrXZhdGXEvmEgcHJlIGF1dGVudGlmaWvDoWNpdSBuYSBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+TmFzdGF2acWlIG1lbm8gcG91xb7DrXZhdGXEvmEgcHJlIGF1dGVudGlmaWvDoWNpdSBuYSBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0V29yZFdyYXAoKTwvYj48L3A+DQo8cD5WcsOhdGkgaG9kbm90dSB6YWxhbW92YW5pYSBzbG92PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFdvcmRXcmFwKCAkaW50ICk8L2I+PC9wPg0KPHA+VnLDoXRpIGhvZG5vdHUgemFsYW1vdmFuaWEgc2xvdjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQWRkcmVzcyggJGFkZHJlc3MsICRuYW1lID0gXCdcJyApPC9iPjwvcD4NCjxwPlByaWRhxaUgY2llxL5vdsO6IGFkcmVzdTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gXCdcJywgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4NCjxwPlByaWRhxaUgc8O6Ym9yb3bDuiBwcsOtbG9odTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+UHJpZGHFpSBjaWXEvm92w7ogYWRyZXN1IHNrcnl0ZWoga8OzcGllPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDQyggJGFkZHJlc3MsICRuYW1lID0gXCdcJyApPC9iPjwvcD4NCjxwPlByaWRhxaUgY2llxL5vdsO6IGFkcmVzdSBrw7NwaWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEN1c3RvbUhlYWRlciggJHR4dCApPC9iPjwvcD4NCjxwPlByaWRhxaUgcG91xb7DrXZhdGXEvm9tIHVyxI1lbsO6IGhsYXZpxI1rdSBkbyBlLW1haWx1PC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRFbWJlZGRlZEltYWdlKCAkcGF0aCwgJGNpZCwgJG5hbWUgPSBcJ1wnLCAkZW5jb2RpbmcgPSBcJ2Jhc2U2NFwnLCAkdHlwZSA9IFwnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwnICk8L2I+PC9wPg0KPHA+UHJpZGHFpSB2bG/FvmVuw70gb2Jyw6F6b2s8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5QcmlkYcWlIG9kcG92ZcSPIG5hIHVyxI1pdMO6IGFkcmVzdTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSBcJ2Jhc2U2NFwnLCAkdHlwZSA9IFwnYXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbVwnICk8L2I+PC9wPg0KPHA+UHJpZGHFpSBzw7pib3JvdsO6IHByw61sb2h1PC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFkZHJlc3NlcygpPC9iPjwvcD4NCjxwPlZ5xI1pc3RpxaUgdsWhZXRreSBhZHJlc3k8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWxsUmVjaXBpZW50cygpPC9iPjwvcD4NCjxwPlZ5xI1pc3RpxaUgdsWhZXRrw71jaCBwcsOtamVtY292PC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckF0dGFjaG1lbnRzKCk8L2I+PC9wPg0KPHA+VnnEjWlzdGnFpSB2xaFldGt5IHByw61sb2h5PC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckJDQ3MoKTwvYj48L3A+DQo8cD5WecSNaXN0acWlIHbFoWV0a3kgYWRyZXN5IHNrcnl0ZWoga8OzcGllPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4NCjxwPlZ5xI1pc3RpxaUgdsWhZXRreSBhZHJlc3kga8OzcGllPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckN1c3RvbUhlYWRlcnMoKTwvYj48L3A+DQo8cD5WecSNaXN0acWlIHbFoWV0a3kgcG91xb7DrXZhdGXEvm9tIHVyxI1lbsOpIGhsYXZpxI1reTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+VnnEjWlzdGnFpSBhZHJlc3UgcHJlIG9kcG92ZWRhbmllIG5hIHVyxI1pdMO6IGFkcmVzdTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4NCjxwPktvbnRyb2xhIGNoeWJ5IHBvZG1pZW5reTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPg0KPHA+TmFzdGF2acWlIHByw616bmFrIEhUTUw8L3A+DQo8cD48aT5Qb3puw6Fta2E6PC9pPiBtb8W+bsOhIG1ldMOzZGEgZG9ydcSNb3ZhbmlhIGEgb2Rvc2llbGFuaWE8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+U2tvbnRyb2xvdmHFpSBwb3XFvml0aWUgbWV0w7NkeSBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5Ta29udHJvbG92YcWlIHBvdcW+aXRpZSBtZXTDs2R5IHFtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+U2tvbnRyb2xvdmHFpSBwb3XFvml0aWUgbWV0w7NkeSBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+U2tvbnRyb2xvdmHFpSBwb3XFvml0aWUgbWV0w7NkeSBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+U2tvbnRyb2xvdmHFpSBha3R1w6FsbmUgcHJpcHJhdmVuw70gZS1tYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9IFwnXCcgKTwvYj48L3A+DQo8cD5OYXN0YXZpxaUgYWt0dcOhbG55IGphenlrIGEgPGVtPihkb3Bsbmtvdm8pPC9lbT4gY2VzdHUgayBqYXp5a3U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPlVrb27EjWnFpSBzcG9qZW5pZSBTTVRQPC9wPg0KPC9saT4NCjwvdWw+DQo8aDM+UG9kcG9yYTwvaDM+DQo8cD5UZW50byBtb2R1bCBuZXphaMWVxYhhIGtvbWVyxI1uw7ogcG9kcG9ydS4gSmUgdsWhYWsgZG9zdHVwbsO9Y2ggbW5vaG8gemRyb2pvdiwga3RvcsOpIHbDoW0gbcO0xb51IHBvbcO0Y8WlIHByaSBwcsOtcGFkbsO9Y2ggcHJvYmzDqW1vY2g6PC9wPg0KPHVsPg0KPGxpPlByZSBwb3NsZWRuw7ogdmVyeml1IHRvaHRvIG1vZHVsdSwgbmFqxI1hc3RlasWhaWUga2xhZGVuw6kgb3TDoXpreSwgcHJlIG9kb3NsYW5pZSBpbmZvcm3DoWNpZSBvIG7DoWpkZW5laiBjaHliZSBhbGVibyBwcmUgemFrw7pwZW5pZSBrb21lcsSNbmVqIHBvZHBvcnkgcHJvc8OtbSBuYXbFoXTDrXZ0ZSBkb21vdnNrw7ogc3Ryw6Fua3UgYXV0b3JhIC0gY2FsZ3V5IC0gbmEgYWRyZXNlIDxhIGhyZWY9XCdodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnXCc+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPsSOYWzFoWl1IGRpc2t1c2l1IG8gdG9tdG8gbW9kdWxlIG3DtMW+ZXRlIG7DoWpzxaUgYWogbmEgPGEgaHJlZj1cJ2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ1wnPmRpc2t1c27DvWNoIGbDs3JhY2ggc3lzdMOpbXUgQ01TIE1hZGUgU2ltcGxlPC9hPi48L2xpPg0KPGxpPkF1dG9yYSwgY2FsZ3V5MTAwMCwgamUgbW/Fvm7DqSDEjWFzdG9rcsOhdCBuw6Fqc8WlIG5hIDxhIGhyZWY9XCdpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXNcJz5JUkPCoGthbsOhbGkgc3lzdMOpbXUgQ01TPC9hPi48L2xpPg0KPGxpPkEgYWtvIHBvc2xlZG7DuiBtb8W+bm9zxaUgbcO0xb5ldGUgc2vDunNpxaUgbmFww61zYcWlIHByaWFtbyBhdXRvcm92aSBlLW1haWwuPC9saT4gIA0KPC91bD4NCjxwPkFrbyB2IGxpY2VuY2lpIEdQTCwgdGVudG8gc29mdHbDqXIgamUgcG9za3l0b3ZhbsO9IHRhayBha28gamUuIFByb3PDrW0gcHJlxI3DrXRhanRlIHNpIHRleHQgbGljZW5jaWUsIGtkZSB6w61za2F0ZSBhaiBpbmZvcm3DoWNpZSBvIHbFoWV0a8O9Y2ggdsO9bmlta8OhY2guPC9wPg0KDQo8aDM+QXV0b3Jza8OpIHByw6F2YSBhIGxpY2VuY2lhPC9oMz4NCjxwPkNvcHlyaWdodCDCqSAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj1cJ21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tXCc+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gVsWhZXRreSBwcsOhdmEgc8O6IHZ5aHJhZGVuw6kuPC9wPg0KPHA+VGVudG8gbW9kdWwgYm9sIHZ5ZGFuw70gcG9kIGxpY2VuY2lvdSA8YSBocmVmPVwnaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMXCc+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gUHJlZCBwb3XFvml0w61tIG1vZHVsdSBtdXPDrXRlIHTDunRvIGxpY2VuY2l1IG9kc8O6aGxhc2nFpS48L3A+JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sl_SI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnVGEgdGVzdCBqZSB1c3R2YXJqZW4gbmEgcG9kbGFnaSByZWRrZWdhIGludGVydmFsYS4gVG8gbGFoa28gdHJhamEgbmVrYWogxI1hc2EgZGEgc2Ugb2RzdHJhbmkuJzsKJGxhbmdbJ25vbmUnXSA9ICdOb2Jlbic7CiRsYW5nWydzc2wnXSA9ICdTU0wnOwokbGFuZ1sndGxzJ10gPSAnVExTJzsKJGxhbmdbJ3NlY3VyZSddID0gJ0VuY3J5cHRpb24gbWVoYW5pemVtJzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAnVmVsamEgbGUgemEgbWV0b2RvIFNNVFAgbWFpbGVyLCB0YSBtb8W+bm9zdCBvbW9nb8SNYSBuYXZlZGJvIHJhemxpxI1uaWggbWVoYW5pem1vdiAmc2Nhcm9uO2lmcmlyYW5qYSB6YSBwb3ZlemF2byc7CiRsYW5nWydpbmZvX2Ntc21haWxlciddID0gJ01vZHVsIHVwb3JhYmxqYWpvICZzY2Fyb247dGV2aWxuaSBkcnVnaSBtb2R1bGksIHNhaiBvbW9nb8SNYSBwbyZzY2Fyb247aWxqYW5qZSBFLW1haWwgc3Bvcm/EjWlsLiBNb2R1bCBtb3JhIGJpdGkgdXN0cmV6bm8gbmFzdGF2bGplbiBnbGVkZSBuYSBuYXN0YXZpdHZlIHZhJnNjYXJvbjtlZ2Egc3RyZcW+bmlrYS4gUHJvc2ltbywgdXN0cmV6bm8gaXpwb2xuaXRlIHBvZGF0a2UsIGtpIGppaCBwcmlkb2JpdGUgb2QgdmEmc2Nhcm9uO2VnYSBwb251ZG5pa2EgZ29zdG92YW5qYSwgemEgbmFzdGF2aXRldiB0ZWdhIG1vZHVsYS4gxIxlIHZhbSBrbGp1YiB0ZW11IG5lIHVzcGUgcG9zbGF0aSB0ZXN0bmVnYSBzcG9yb8SNaWxhLCBrb250YWt0aXJhanRlIHZhJnNjYXJvbjtlZ2EgcG9udWRuaWthIHNwbGV0bmVnYSBnb3N0b3ZhbmphLic7CiRsYW5nWydjaGFyc2V0J10gPSAnTmFib3Igem5ha292JzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdQb3NsYW5vIGJvIHRlc3RubyBzcG9yb8SNaWxvIG5hIGl6YnJhbiBFLW1haWwgbmFzbG92LiDEjGUgYm8gcG8mc2Nhcm9uO2lsamFuamUgdXNwZSZzY2Fyb247bm8sIHNlIGJvc3RlIHZybmlsaSBuYSB0byBzdHJhbi4gU3RlIHByZXByacSNYW5pLCBkYSDFvmVsaXRlIG5hZGFsamV2YXRpPyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICfFvWVsaXRlIHNocmFuaXRpIG5hc3Rhdml0dmUgbW9kdWxhIENNU01haWxlcj8nOwokbGFuZ1sndGVzdHN1YmplY3QnXSA9ICdDTVNNYWlsZXIgdGVzdG5vIHNwb3JvxI1pbG8nOwokbGFuZ1sndGVzdGJvZHknXSA9ICdTcG9yb8SNaWxvIGplIG5hbWVuamVubyBwcmV2ZXJqYW5qdSB2ZWxqYXZub3N0aSBuYXN0YXZpdGV2IHYgbW9kdWx1IENNU01haWxlci4NCg0KxIxlIHN0ZSBwcmVqZWxpIHRvIHNwb3JvxI1pbG8gdG8gcG9tZW5pLCBkYSBqZSBtb2R1bCBwcmF2aWxubyBuYXN0YXZsamVuLic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAnTmFwYWthOiBOaXN0ZSB2cGlzYWxpIHRlc3RuZWdhIEUtbWFpbCBuYXNsb3ZhJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ1Rlc3RuaSBFLW1haWwgbmFzbG92JzsKJGxhbmdbJ3NlbmR0ZXN0J10gPSAnUG8mc2Nhcm9uO2xqaSB0ZXN0bm8gc3Bvcm/EjWlsbyc7CiRsYW5nWydwYXNzd29yZCddID0gJ0dlc2xvJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXBvcmFibmkmc2Nhcm9uO2tvIGltZSc7CiRsYW5nWydzbXRwYXV0aCddID0gJ1NNVFAgcHJpamF2YSc7CiRsYW5nWydtYWlsZXInXSA9ICdNZXRvZGEgcG8mc2Nhcm9uO2lsamFuamEnOwokbGFuZ1snaG9zdCddID0gJ1NNVFAgc3RyZcW+bmlrPGJyLz48aT4oZG9tZW5hIGFsaSBJUCBuYXNsb3YpPC9pPic7CiRsYW5nWydwb3J0J10gPSAnVnJhdGEgKHBvcnQpIFNNVFAgc3RyZcW+bmlrYSc7CiRsYW5nWydmcm9tJ10gPSAnRS1tYWlsIG5hc2xvdiBwbyZzY2Fyb247aWxqYXRlbGphJzsKJGxhbmdbJ2Zyb211c2VyJ10gPSAnVXBvcmFibmkmc2Nhcm9uO2tvIGltZSBwbyZzY2Fyb247aWxqYXRlbGphJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnTG9rYWNpamEgcHJvZ3JhbWEgU2VuZG1haWwnOwokbGFuZ1sndGltZW91dCddID0gJ1NNVFAgdGltZS1vdXQnOwokbGFuZ1snc3VibWl0J10gPSAnUG8mc2Nhcm9uO2xqaSc7CiRsYW5nWydjYW5jZWwnXSA9ICdQcmVrbGnEjWknOwokbGFuZ1snaW5mb19tYWlsZXInXSA9ICdNZXRvZGEgemEgcG8mc2Nhcm9uO2lsamFuamUgc3Bvcm/EjWlsIChzZW5kbWFpbCwgc210cCwgbWFpbCkuIE5hamJvbGogemFuZXNsaml2YSBqZSBwb25hdmFkaSBzbXRwLic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICdTTVRQIHN0cmXFvm5payAoc2FtbyDEjWUgamUgaXpicmFuYSBtZXRvZGEgc210cCknOwokbGFuZ1snaW5mb19wb3J0J10gPSAnU01UUCB2cmF0YSAocG9ydCAtIHBvbmF2YWRpIDI1IC0gc2FtbyDEjWUgamUgaXpicmFuYSBtZXRvZGEgc210cCknOwokbGFuZ1snaW5mb19mcm9tJ10gPSAnRS1tYWlsIG5hc2xvdiwga2kgYm8gdXBvcmFibGplbiBrb3QgbmFzbG92IHBvJnNjYXJvbjtpbGphdGVsamEgdiB2c2VoIG9kaG9kbmloIHNwb3JvxI1pbGloLjxici8+PHN0cm9uZz5PcG96b3JpbG86PC9zdHJvbmc+IHRhIEUtbWFpbCBuYXNsb3YgbW9yYSBiaXRpIHByYXZpbG5vIG5hc3RhdmxqZW4sIHNhaiBib3N0ZSBzaWNlciBsYWhrbyBpbWVsaSB0ZcW+YXZlIHByaSBwbyZzY2Fyb247aWxqYW5qdSBFLXNwb3JvxI1pbC48YnIvPsSMZSBuaXN0ZSBwcmVwcmnEjWFuaSwga2F0ZXJhIG5hc3Rhdml0ZXYgamUgdXN0cmV6bmEsIGtvbnRha3RpcmFqdGUgdmEmc2Nhcm9uO2VnYSBwb251ZG5pa2Egc3BsZXRuaWggc3Rvcml0ZXYuJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICdJbWUsIGtpIGJvIHByaWthemFubyBwcmkgcG8mc2Nhcm9uO2lsamFuanUgdnNlaCBzcG9yb8SNaWwnOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ0NlbG90bmEgcG90IG5hIHN0cmXFvm5pa3UgZG8gcHJvZ3JhbWEgc2VuZG1haWwgKHNhbW8gxI1lIGplIGl6YnJhbmEgbWV0b2RhIHNlbmRtYWlsKSc7CiRsYW5nWydpbmZvX3RpbWVvdXQnXSA9ICcmU2Nhcm9uO3RldmlsbyBzZWt1bmQgcHJlZGVuIFNNVFAgcHJvdG9rb2wgdnJuZSBuYXBha28gKHNhbW8gxI1lIGplIGl6YnJhbmEgbWV0b2RhIHNtdHApJzsKJGxhbmdbJ2luZm9fc210cGF1dGgnXSA9ICdBbGkgdmEmc2Nhcm9uOyBTTVRQIHN0cmXFvm5payB6YWh0ZXZhIHByaWphdm8gKHNhbW8gxI1lIGplIGl6YnJhbmEgbWV0b2RhIHNtdHApJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWUnXSA9ICdVcG9yYWJuaSZzY2Fyb247a28gaW1lIHphIHByaWphdm8gbmEgU01UUCBzdHJlxb5uaWsgIChzYW1vIMSNZSBqZSBpemJyYW5hIG1ldG9kYSBzbXRwIGluIGFrdGl2aXJhbmEgU01UUCBwcmlqYXZhKSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnR2VzbG8gemEgcHJpamF2byBuYSBTTVRQIHN0cmXFvm5payAgKHNhbW8gxI1lIGplIGl6YnJhbmEgbWV0b2RhIHNtdHAgaW4gYWt0aXZpcmFuYSBTTVRQIHByaWphdmEpJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NNU01haWxlcic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NNU01haWxlciBtb2R1bCBqZSBiaWwgdXNwZSZzY2Fyb247bm8gbmFtZSZzY2Fyb247xI1lbic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ01TTWFpbGVyIG1vZHVsIGplIGJpbCB1c3BlJnNjYXJvbjtubyBvZHN0cmFuamVuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgb2RzdHJhbmplbi4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgcmF6bGnEjWljZSAlcyBuYW1lJnNjYXJvbjvEjWVuLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdEb3N0b3AgemF2cm5qZW4uIFByb3NpbW8sIHByZXZlcml0ZSB2YSZzY2Fyb247ZSBwcmF2aWNlLic7CiRsYW5nWydlcnJvciddID0gJ05hcGFrYSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBuYWRncmFqZW4gbmEgcmF6bGnEjWljbyAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTmFzdGF2aXR2ZSBtb2R1bGEnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnQWRtaW5pc3RyYWNpamEgbW9kdWxhJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnQ01TTWFpbGVyIE1vZHVsJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnUHJlcHJvc3Qgb3ZvaiBva29saSBQSFBNYWlsZXIgbW9kdWxhLCBraSB2c2VidWplIGVuYWsgQVBJIChmdW5rY2lqYSB6YSBmdW5rY2lqbykgaW4gcHJlcHJvc3Qgdm1lc25payB6YSBuZWthdGVyZSBwcml2emV0ZSBmdW5rY2lvbmFsbm9zdGkuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDEuNzMuMS4gT2N0b2JlciwgMjAwNS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjIuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCB0aGUgYWRtaW4gcGFuZWwuICBUaGUgZHJvcGRvd24gd2FzIG5vdCByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdmFsdWUgZnJvbSB0aGUgcHJlZmVyZW5jZXMgZGF0YWJhc2U8L2xpPg0KPGxpPlZlcnNpb24gMS43My4zLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggc2VuZGluZyBodG1sIGVtYWlsPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNC4gTm92ZW1iZXIsIDIwMDUuIEZvcm0gZmllbGRzIGluIHByZWZlcmVuY2VzIGFyZSBsYXJnZXIsIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmcm9tdXNlciwgYW5kIGNhbGxlZCByZXNldCB3aXRoaW4gdGhlIGNvbnN0cnVjdG9yPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNS4gTm92ZW1iZXIsIDIwMDUuIEFkZGVkIHRoZSBmb3JtIGZpZWxkcyBhbmQgZnVuY3Rpb25hbGl0eSBmb3IgU01UUCBhdXRoZW50aWNhdGlvbi48L2xpPg0KPGxpPlZlcnNpb24gMS43My42LiBEZWNlbWJlciwgMjAwNS4gRGVmYXVsdCBtYWlsZXIgbWV0aG9kIGlzIFNNVFAgb24gaW5zdGFsbCwgYW5kIGltcHJvdmVkIGRvY3VtZW50YXRpb24sIGFuZCBub3cgSSBjbGVhciBhbGwgdGhlIGF0dGFjaG1lbnRzLCBhbmQgYWRkcmVzc2VzLCBldGMuIG9uIHJlc2V0LjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjcuIEphbnVhcnksIDIwMDYuIEluY3JlYXNlZCBmaWVsZCBsZW5ndGhzIGluIG1vc3QgZmllbGRzPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOC4gSmFudWFyeSwgMjAwNi4gQ2hhbmdlZCB0aGUgcHJlZmVyZW5jZXMgcGFuZWwgdG8gYmUgYSBiaXQgbW9yZSBkZXNjcmlwdGl2ZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My45LiBKYW51YXJ5LCAyMDA2LiBBZGRlZCB0ZXN0IGVtYWlsIGNhcGFiaWxpdHksIGFuZCBjb25maXJtYXRpb24gb24gZWFjaCBidXR0b24gKGV4Y2VwdCBjYW5jZWwpPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTAuIEF1Z3VzdCwgMjAwNi4gTW9kaWZpZWQgdG8gdXNlIGxhenkgbG9hZGluZyB0byBtaW5pbWl6ZSBtZW1vcnkgZm9vdHByaW50IHdoZW4gQ01TTWFpbGVyIGlzIG5vdCBiZWluZyB1c2VkLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEzLiBKYW51YXJ5LCAyMDA4LiAgQWRkZWQgbW9yZSBwZXJtaXNzaW9ucyBjaGVja3MuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIG5vIGVuZCB1c2VyIGZ1bmN0aW9uYWxpdHkuICBJdCBpcyBkZXNpZ25lZCB0byBiZSBpbnRlZ3JhdGVkIGludG8gb3RoZXIgbW9kdWxlcyB0byBwcm92aWRlIGVtYWlsIGNhcGFiaWxpdGllcy4gIFRoYXRzIGl0LCBub3RoaW5nIG1vcmUuPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCBhbGwgb2YgdGhlIG1ldGhvZHMgYW5kIHZhcmlhYmxlcyBvZiBwaHBtYWlsZXIuICBJdCBpcyBkZXNpZ25lZCBmb3IgdXNlIGJ5IG90aGVyIG1vZHVsZSBkZXZlbG9wZXJzLCBiZWxvdyBpcyBhbiBleGFtcGxlLCBhbmQgYSBicmllZiBBUEkgcmVmZXJlbmNlLiAgUGxlYXNlIHJlYWQgdGhlIFBIUE1haWxlciBkb2N1bWVudGF0aW9uIGluY2x1ZGVkIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4NCjxoMz5BbiBFeGFtcGxlPC9oMz4NCjxwcmU+DQogICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJiMwMzk7Q01TTWFpbGVyJiMwMzk7KTsNCiAgJGNtc21haWxlci0+QWRkQWRkcmVzcygmIzAzOTtjYWxndXkxMDAwQGhvdG1haWwuY29tJiMwMzk7LCYjMDM5O2NhbGd1eSYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNldEJvZHkoJiMwMzk7PGg0PlRoaXMgaXMgYSB0ZXN0IG1lc3NhZ2U8L2g0PiYjMDM5Oyk7DQogICRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsNCiAgJGNtc21haWxlci0+U2V0U3ViamVjdCgmIzAzOTtUZXN0IG1lc3NhZ2UmIzAzOTspOw0KICAkY21zbWFpbGVyLT5TZW5kKCk7DQo8L3ByZT4NCjxoMz5BUEk8L2gzPg0KPHVsPg0KPGxpPjxwPjxiPnZvaWQgcmVzZXQoKTwvYj48L3A+DQo8cD5SZXNldCB0aGUgb2JqZWN0IGJhY2sgdG8gdGhlIHZhbHVlcyBzcGVjaWZpZWQgaW4gdGhlIGFkbWluIHBhbmVsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0QWx0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEFsdEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGFsdGVybmF0ZSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEJvZHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHByaW1hcnkgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENoYXJTZXQoKTwvYj48L3A+DQo8cD5EZWZhdWx0OiBpc28tODg1OS0xPC9wPg0KPHA+UmV0dXJuIHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDaGFyU2V0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtYWlsZXIgY2hhcmFjdGVyIHNldDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbmZpcm1SZWFkaW5nVG8oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGFkZHJlc3MgY29uZmlybWVkIHJlYWRpbmcgZW1haWwgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb25maXJtUmVhZGluZ1RvKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCBvciB1bnNldCB0aGUgY29uZmlybSByZWFkaW5nIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IHRleHQvcGxhaW48L3A+DQo8cD5SZXR1cm4gdGhlIGNvbnRlbnQgdHlwZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRDb250ZW50VHlwZSgpPC9iPjwvcD4NCjxwPlNldCB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RW5jb2RpbmcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGVuY29kaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEVuY29kaW5nKCAkZW5jb2RpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGVuY29kaW5nPC9wPg0KPHA+T3B0aW9ucyBhcmU6IDhiaXQsIDdiaXQsIGJpbmFyeSwgYmFzZTY0LCBxdW90ZWQtcHJpbnRhYmxlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RXJyb3JJbmZvKCk8L2I+PC9wPg0KPHA+UmV0dXJuIGFueSBlcnJvciBpbmZvcm1hdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb20oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRGcm9tKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEZyb21OYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IG9yaWdpbmF0aW5nIG5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEZyb21OYW1lKCAkbmFtZSApPC9iPjwvcD4NCjxwPlNldCB0aGUgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhlbG8oKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIEhFTE8gc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRIZWxvKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBIRUxPIHN0cmluZzwvcD4NCjxwPkRlZmF1bHQgdmFsdWU6ICRob3N0bmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3QoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIFNNVFBzIGhvc3Qgc2VwYXJhdGVkIGJ5IHNlbWljb2xvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldEhvc3ROYW1lKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0SG9zdE5hbWUoICRob3N0bmFtZSApPC9iPjwvcD4NCjxwPlNldCB0aGUgaG9zdG5hbWUgdXNlZCBmb3IgU01UUCBIZWxvPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0TWFpbGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBtYWlsZXI8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0TWFpbGVyKCAkbWFpbGVyICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtYWlsZXIsIGVpdGhlciBzZW5kbWFpbCxtYWlsLCBvciBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0UGFzc3dvcmQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UGFzc3dvcmQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBhc3N3b3JkIGZvciBzbXRwIGF1dGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQb3J0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBwb3J0IG51bWJlciBmb3Igc210cCBjb25uZWN0aW9uczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQb3J0KCAkaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwb3J0IGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0UHJpb3JpdHkoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1lc3NhZ2UgcHJpb3JpdHk8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0UHJpb3JpdHkoIGludCApPC9iPjwvcD4NCjxwPlNldCB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjxwPlZhbHVlcyBhcmUgMT1IaWdoLCAzID0gTm9ybWFsLCA1ID0gTG93PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZGVyKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzZW5kZXIgZW1haWwgKHJldHVybiBwYXRoKSBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZGVyKCAkYWRkcmVzcyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc2VuZGVyIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFNlbmRtYWlsKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNlbmRtYWlsKCAkcGF0aCApPC9iPjwvcD4NCjxwPlNldCB0aGUgc2VuZG1haWwgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQQXV0aCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBBdXRoKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgc210cCBhdXRoIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgR2V0U01UUERlYnVnKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFNNVFBEZWJ1ZyggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAgZGVidWcgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQS2VlcEFsaXZlKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgU01UUCBrZWVwIGFsaXZlIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldFNNVFBLZWVwQWxpdmUoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldFN1YmplY3QoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgc3ViamVjdCBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U3ViamVjdCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc3ViamVjdCBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRUaW1lb3V0KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB0aW1lb3V0IHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFRpbWVvdXQoICRzZWNvbmRzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSB0aW1lb3V0IHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0VXNlcm5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNtdHAgYXV0aCB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRVc2VybmFtZSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5pbnQgR2V0V29yZFdyYXAoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFdvcmRXcmFwKCAkaW50ICk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSB3b3Jkd3JhcCB2YWx1ZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQWRkcmVzcyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBCQ0MmIzAzOTtkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBDQyYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPg0KPHA+QWRkIGEgY3VzdG9tIGhlYWRlciB0byB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9ICYjMDM5OyYjMDM5OywgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIHJlcGx5IHRvIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFN0cmluZ0F0dGFjaG1lbnQoICRzdHJpbmcsICRmaWxlbmFtZSwgJGVuY29kaW5nID0gJiMwMzk7YmFzZTY0JiMwMzk7LCAkdHlwZSA9ICYjMDM5O2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW0mIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWRkcmVzc2VzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIHJlY2lwaWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQXR0YWNobWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYXR0YWNobWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBCQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBjdXN0b20gaGVhZGVyczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+Q2xlYXIgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4NCjxwPkNoZWNrIGZvciBhbiBlcnJvciBjb25kaXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNIVE1MKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgaHRtbCBmbGFnPC9wPg0KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPlNldCB0aGUgY3VycmVudCBsYW5ndWFnZSBhbmQgPGVtPihvcHRpb25hbCk8L2VtPiBsYW5ndWFnZSBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TbXRwQ2xvc2UoKTwvYj48L3A+DQo8cD5DbG9zZSB0aGUgc210cCBjb25uZWN0aW9uPC9wPg0KPC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eXMgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mIzAzOTtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJiMwMzk7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JiMwMzk7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJiMwMzk7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSYjMDM5O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyYjMDM5Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9JiMwMzk7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mIzAzOTs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JiMwMzk7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJiMwMzk7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sncWNhJ10gPSAnUDAtMTQ1ODQ1MDY2NC0xMjg0NTczMDg0OTE4JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuODM3MTU5Mzg4LjEzMTkyMTIwNzguMTMxOTIxMjA3OC4xMzE5MjEyMDc4LjEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMTkyMTIwNzguMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sr_YU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnT3ZhaiB0ZXN0IHNlIG9iYXZsamEgcHJpbGnEjW5vIG5lcmVkb3Zuby4gTW/FvmRhIMSHZSBiaXRpIHBvdHJlYm5vIG5la28gdnJlbWUgZGEgb3ZhIHBvcnVrYSBwcmVzdGFuZSBkYSBzZSBwcmlrYXp1amUuJzsKJGxhbmdbJ25vbmUnXSA9ICdOaWplZGFuJzsKJGxhbmdbJ3NzbCddID0gJ3NzbCc7CiRsYW5nWyd0bHMnXSA9ICd0bHMnOwokbGFuZ1snc2VjdXJlJ10gPSAnTWVoYW5pemFtIGVua3JpcGNpamUnOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICdPZG5vc2kgc2Ugc2FtbyBuYSBTTVRQIG1haWxlciBtZXRvZC4gT3ZhIG9wY2lqYSBvbW9ndcSHYXZhIHNwZWNpZmljaXJhbmplIHJhemxpxI1pdGloIG1laGFuaXphbWEgZW5rcmlwY2lqZSB2ZXplJzsKJGxhbmdbJ2luZm9fY21zbWFpbGVyJ10gPSAnT3ZhaiBtb2R1bCBrb3Jpc3RlIGJyb2puaSBkcnVnaSBtb2R1bGkgemEgc2xhbmplIGUtbWFpbCBwb3J1a2EuIE1vcmEgYml0aSBwcmF2aWxubyBrb25maWd1cmlzYW4gcHJlbWEgemFodGV2aW1hIFZhJnNjYXJvbjtlZyBob3N0aW5nIHByb3ZhamRlcmEuIE1vbGltbyB1cG90cmViaXRlIGluZm9ybWFjaWplIGtvamUgVmFtIGplIG9iZXpiZWRpbyBob3N0aW5nIHByb3ZhamRlciBkYSBiaXN0ZSBrb25maWd1cmlzYWxpIG92YSBwb2RlJnNjYXJvbjthdmFuamEuIFVrb2xpa28gbmkgcG9zbGUgdG9nYSBuZSBtb8W+ZXRlIHVzcGUmc2Nhcm9uO25vIHBvc2xhdGkgdGVzdCBwb3J1a3UsIG1vxb5kYSBiaXN0ZSB0cmViYWxpIGtvbnRha3RpcmF0aSBzdm9nIGhvc3RpbmcgcHJvdmFqZGVyYSBpIHRyYcW+aXRpIHBvbW/Ehy4nOwokbGFuZ1snY2hhcnNldCddID0gJ0tvZG5pIHJhc3BvcmVkJzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdPdm9tIGtvbWFuZG9tIMSHZSBiaXRpIHBvc2xhdGEgdGVzdCBwb3J1a2EgbmEgc3BlY2lmaWNpcmFudSBhZHJlc3UuIFVrb2xpa28gc2xhbmplIHVzcGlqZSwgYmnEh2V0ZSB2cmHEh2VuaSBuYSBvdnUgc3RyYW5pY3UuIERhIGxpIMW+ZWxpdGUgZGEgbmFzdGF2aXRlPyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICdVcGlzYXRpIHRyZW51dG5lIHZyZWRub3N0aSB1IHBvZGUmc2Nhcm9uO2F2YW5qYSBDTVNNYWlsZXIgbW9kdWxhPyc7CiRsYW5nWyd0ZXN0c3ViamVjdCddID0gJ0NNU01haWxlciB0ZXN0IHBvcnVrYSc7CiRsYW5nWyd0ZXN0Ym9keSddID0gJ092YSBwb3J1a2EgamUgbmFtZW5qZW5hIHNhbW8gemEgdmVyaWZpa2FjaWp1IGlzcHJhdm5vc3RpIHBvZGUmc2Nhcm9uO2F2YW5qYSBDTVNNYWlsZXIgbW9kdWxhLg0KVWtvbGlrbyBzdGUgamUgcHJpbWlsaSwgc3ZlIGZ1bmtjaW9uaSZzY2Fyb247ZSBrYWtvIHRyZWJhLic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAnR3JlJnNjYXJvbjtrYTogbmlzdGUgdW5lbGkgZS1tYWlsIGFkcmVzdSB6YSB0ZXN0aXJhbmplJzsKJGxhbmdbJ3Byb21wdF90ZXN0YWRkcmVzcyddID0gJ1Rlc3QgZS1tYWlsIGFkcmVzYSc7CiRsYW5nWydzZW5kdGVzdCddID0gJ1BvJnNjYXJvbjthbGppIHRlc3QgcG9ydWt1JzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnTG96aW5rYSc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0tvcmlzbmnEjWtvIGltZSc7CiRsYW5nWydzbXRwYXV0aCddID0gJ1NNVFAgYXV0ZW50aWZpa2FjaWphJzsKJGxhbmdbJ21haWxlciddID0gJ01haWxlciBtZXRvZGEnOwokbGFuZ1snaG9zdCddID0gJ05heml2IFNNVFAgc2VydmVyYTxici8+PGk+KGlsaSBJUCBhZHJlc2EpPC9pPic7CiRsYW5nWydwb3J0J10gPSAnUG9ydCBTTVRQIHNlcnZlcmEnOwokbGFuZ1snZnJvbSddID0gJ0FkcmVzYSBwbyZzY2Fyb247aWxqYW9jYSc7CiRsYW5nWydmcm9tdXNlciddID0gJ09kIEtvcmlzbmnEjWtvZyBpbWVuYSc7CiRsYW5nWydzZW5kbWFpbCddID0gJ1NlbmRtYWlsIGxva2FjaWphJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdTTVRQIHRham0tb3V0JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1BvJnNjYXJvbjthbGppJzsKJGxhbmdbJ2NhbmNlbCddID0gJ090a2HFvmknOwokbGFuZ1snaW5mb19tYWlsZXInXSA9ICdNYWlsIG1ldG9kIGtvamEgc2Uga29yaXN0aSAoc2VuZG1haWwsIHNtdHAsIG1haWwpLiAgT2JpxI1ubyBTTVRQIEplIG5hanBvdXpkYW5pSmkuJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ1NNVFAgaG9zdG5hbWUgKHZhxb5pIHNhbW8gemEgc210cCBtZXRvZHUpJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ1NNVFAgcG9ydCBudW1iZXIgKG5vcm1hbG5vIDI1KSAodmHFvmkgc2FtbyB6YSBzbXRwIG1ldG9kdSknOwokbGFuZ1snaW5mb19mcm9tJ10gPSAnQWRyZXNhIGtvamEgc2UgcG9zdGF2bGphIGthbyBhZHJlc2EgcG8mc2Nhcm9uO2lsamFvY2EgdSBzdmltIHBvcnVrYW1hLjxici8+PHN0cm9uZz5OYXBvbWVuYTwvc3Ryb25nPiwgb3ZhIGFkcmVzYSBtb3JhIGJpdGkgcG9kZSZzY2Fyb247ZW5hIHUgc2tsYWR1IHNhIHBhcmFtZXRyaW1hIFZhJnNjYXJvbjtlZyBob3N0aW5nIHByb3ZhamRlcmEuIFUgc3Vwcm90bm9tIMSHZXRlIGltYXRpIHByb2JsZW1hIHByaWxpa29tIHNsYW5qYSBlLXBvJnNjYXJvbjt0ZS48YnIvPlVrb2xpa28gbmUgem5hdGUgaXNwcmF2bnUgdnJlZG5vc3QgemEgb3ZvIHBvZGUmc2Nhcm9uO2F2YW5qZSwga29udGFrdGlyYWp0ZSBzdm9nIGhvc3RpbmcgcHJvdmFqZGVyYS4nOwokbGFuZ1snaW5mb19mcm9tdXNlciddID0gJ1ByaWphdGVsanNraSBuYXppdiBrb2ppIHNlIGtvcmlzdGkgemEgc2xhbmplIHN2aWggZS1wb3J1a2EnOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ1B1bmEgcHV0YW5qYSBkbyBWYSZzY2Fyb247ZSBpenZyJnNjYXJvbjtuZSBzZW5kbWFpbCBkYXRvdGVrZSAodmHFvmkgc2FtbyB6YSBTTVRQIG1haWxlciBtZXRvZCknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnQnJvaiBzZWt1bmRpIHUgU01UUCBpbnRlcmFrY2lqaSBwcmUgbmVnbyAmc2Nhcm9uO3RvIHNlIGRvZ29kaSBncmUmc2Nhcm9uO2thICh2YcW+aSBzYW1vIHphIFNNVFAgbWFpbGVyIG1ldG9kKSc7CiRsYW5nWydpbmZvX3NtdHBhdXRoJ10gPSAnRGEgbGkgVmEmc2Nhcm9uOyBTTVRQIGhvc3QgemFodGV2YSBhdXRlbnRpZmlrYWNpanU/ICh2YcW+aSBzYW1vIHphIFNNVFAgbWFpbGVyIG1ldG9kKSc7CiRsYW5nWydpbmZvX3VzZXJuYW1lJ10gPSAnU01UUCBhdXRoZW50aWthY2lvbm8ga29yaXNuacSNa28gaW1lICh2YWxpZG5vIHNhbW8gemEgU01UUCBtYWlsZXIgbWV0b2QsIGthZGEgamUgc2VsZWt0b3ZhbmEgb3BjaWphIFNNVFAgYXV0ZW50aWZpa2FjaWplKSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnU01UUCBhdXRoZW50aWthY2lvbmEgbG96aW5rYSAodmFsaWRuYSBzYW1vIHphIFNNVFAgbWFpbGVyIG1ldG9kLCBrYWRhIGplIHNlbGVrdG92YW5hIG9wY2lqYSBTTVRQIGF1dGVudGlmaWthY2lqZSknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TIE1haWxlcic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0NNU01haWxlciBtb2R1bCBqZSB1c3BlJnNjYXJvbjtubyBpbnN0YWxpcmFuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDTVNNYWlsZXIgbW9kdWwgZGVpbnN0YWxpcmFuLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBkZWluc3RhbGlyYW4uJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ0luc3RhbGlyYW5hIGplICVzIHZlcnppamEgbW9kdWxhLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdQcmlzdHVwIG5pamUgZG96dm9samVuLiBNb2xpbW8gcHJvdmVyaXRlIGRvenZvbGUuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnR3JlJnNjYXJvbjtrYSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBqZSBuYWRvZ3JhxJFlbiB1IHZlcnppanUgJXMuJzsKJGxhbmdbJ3NldHRpbmdzX3RpdGxlJ10gPSAnUG9kZSZzY2Fyb247YXZuYWphJzsKJGxhbmdbJ3Rlc3RfdGl0bGUnXSA9ICdUZXN0aXJhbmplJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1BvZGUmc2Nhcm9uO2F2YW5qYSBtb2R1bGEnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnQWRtaW5pc3RyYXRvcnNraSBwYW5lbCBtb2R1bGEnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdDTVNNYWlsZXIgTW9kdWwnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdPdm8gamUgamVkbm9zdGF2YW4gJnF1b3Q7b21vdGHEjSZxdW90OyBva28gUEhQTWFpbGVyIGtsYXNlLCBpbWEgZWt2aXZhbGVudGFuIEFQSSAoZnVua2NpamEgemEgZnVua2NpanUpIGkgamVkbm9zdGF2YW4gaW50ZXJmZWpzIHphIG5la2UgcG9kcmF6dW1ldmFuZSB2cmVkbm9zdGkuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDEuNzMuMS4gT2N0b2JlciwgMjAwNS4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjIuIE9jdG9iZXIsIDIwMDUuIE1pbm9yIGJ1ZyBmaXggd2l0aCB0aGUgYWRtaW4gcGFuZWwuICBUaGUgZHJvcGRvd24gd2FzIG5vdCByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdmFsdWUgZnJvbSB0aGUgcHJlZmVyZW5jZXMgZGF0YWJhc2U8L2xpPg0KPGxpPlZlcnNpb24gMS43My4zLiBPY3RvYmVyLCAyMDA1LiBNaW5vciBidWcgZml4IHdpdGggc2VuZGluZyBodG1sIGVtYWlsPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNC4gTm92ZW1iZXIsIDIwMDUuIEZvcm0gZmllbGRzIGluIHByZWZlcmVuY2VzIGFyZSBsYXJnZXIsIGZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmcm9tdXNlciwgYW5kIGNhbGxlZCByZXNldCB3aXRoaW4gdGhlIGNvbnN0cnVjdG9yPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuNS4gTm92ZW1iZXIsIDIwMDUuIEFkZGVkIHRoZSBmb3JtIGZpZWxkcyBhbmQgZnVuY3Rpb25hbGl0eSBmb3IgU01UUCBhdXRoZW50aWNhdGlvbi48L2xpPg0KPGxpPlZlcnNpb24gMS43My42LiBEZWNlbWJlciwgMjAwNS4gRGVmYXVsdCBtYWlsZXIgbWV0aG9kIGlzIFNNVFAgb24gaW5zdGFsbCwgYW5kIGltcHJvdmVkIGRvY3VtZW50YXRpb24sIGFuZCBub3cgSSBjbGVhciBhbGwgdGhlIGF0dGFjaG1lbnRzLCBhbmQgYWRkcmVzc2VzLCBldGMuIG9uIHJlc2V0LjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjcuIEphbnVhcnksIDIwMDYuIEluY3JlYXNlZCBmaWVsZCBsZW5ndGhzIGluIG1vc3QgZmllbGRzPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuOC4gSmFudWFyeSwgMjAwNi4gQ2hhbmdlZCB0aGUgcHJlZmVyZW5jZXMgcGFuZWwgdG8gYmUgYSBiaXQgbW9yZSBkZXNjcmlwdGl2ZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My45LiBKYW51YXJ5LCAyMDA2LiBBZGRlZCB0ZXN0IGVtYWlsIGNhcGFiaWxpdHksIGFuZCBjb25maXJtYXRpb24gb24gZWFjaCBidXR0b24gKGV4Y2VwdCBjYW5jZWwpPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTAuIEF1Z3VzdCwgMjAwNi4gTW9kaWZpZWQgdG8gdXNlIGxhenkgbG9hZGluZyB0byBtaW5pbWl6ZSBtZW1vcnkgZm9vdHByaW50IHdoZW4gQ01TTWFpbGVyIGlzIG5vdCBiZWluZyB1c2VkLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEzLiBKYW51YXJ5LCAyMDA4LiAgQWRkZWQgbW9yZSBwZXJtaXNzaW9ucyBjaGVja3MuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+xIxlbXUgb3ZvIHNsdcW+aT88L2gzPg0KPHA+T3ZhaiBtb2R1bCBuZSBwcnXFvmEgbmlrYWt2ZSBmdW5rY2lvbmFsbm9zdGkga3Jham5qZW0ga29yaXNuaWt1LiAgTmFwcmF2bGplbiBqZSB0YWtvIGRhIG9tb2d1xIdpIGRydWdpbSBtb2R1bGltYSBkYSAmc2Nhcm9uO2FsanUgZS1tYWlsIHBvcnVrZS4gTmkmc2Nhcm9uO3RhIHZpJnNjYXJvbjtlIG9kIHRvZ2EuPC9wPg0KPGgzPktha28gc2Uga29yaXN0aT88L2gzPg0KPHA+T3ZhaiBtb2R1bCBwcnXFvmEgamVkbm9zdGF2YW4gJnF1b3Q7b21vdGHEjSZxdW90OyBva28gc3ZpaCBtZXRvZGEgaSBwcm9tZW5saml2aWggUEhQTWFpbGVyIGZ1bmtjaWplLiBOYW1lbmplbiBqZSB6YSB1cG90cmVidSBvZCBzdHJhbmUgZHJ1Z2loIGxqdWRpIGtvamkgcmF6dmlqYWp1IG1vZHVsZS4gSXNwb2QgbW/FvmV0ZSB2aWRldGkgcHJpbWVyIHVwb3RyZWJlIGkgc2HFvmV0IHByaXJ1xI1uaWsgemEgdXBvdHJlYnUgQVBJLiBNb2xpbW8gcHJvxI1pdGFqdGUgcHJpbG/FvmVudSBkb2t1bWVudGFjaWp1IFBIUE1haWxlciBmdW5rY2lqZSB6YSB2aSZzY2Fyb247ZSBpbmZvcm1hY2lqYS48L3A+DQo8aDM+UHJpbWVyIHVwb3RyZWJlPC9oMz4NCjxwcmU+DQogICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJiMwMzk7Q01TTWFpbGVyJiMwMzk7KTsNCiAgJGNtc21haWxlci0+QWRkQWRkcmVzcygmIzAzOTtjYWxndXkxMDAwQGhvdG1haWwuY29tJiMwMzk7LCYjMDM5O2NhbGd1eSYjMDM5Oyk7DQogICRjbXNtYWlsZXItPlNldEJvZHkoJiMwMzk7PGg0Pk92byBqZSB0ZXN0IHBvcnVrYTwvaDQ+JiMwMzk7KTsNCiAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOw0KICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCYjMDM5O1Rlc3QgcG9ydWthJiMwMzk7KTsNCiAgJGNtc21haWxlci0+U2VuZCgpOw0KPC9wcmU+DQo8aDM+QVBJPC9oMz4NCjx1bD4NCjxsaT48cD48Yj52b2lkIHJlc2V0KCk8L2I+PC9wPg0KPHA+UmVzZXR1amUgb2JqZWthdCBuYSB2cmVub3N0aSBwb2RlJnNjYXJvbjtlbmUgdSBhZG1pbmlzdHJhdG9yc2tvbSBwYW5lbHU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+VnJhxIdhIGFsdGVybmF0aXZuaSBzYWRyxb5haiBlLW1haWwgcG9ydWtlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEFsdEJvZHkoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5Qb3N0YXZsamEgYWx0ZXJuYXRpdm5pIHNhZHLFvmFqIGUtbWFpbCBwb3J1a2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRCb2R5KCk8L2I+PC9wPg0KPHA+VnJhxIdhIHByaW1hcm5pIHNhZHLFvmFqIGUtbWFpbCBwb3J1a2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlBvc3RhdmxqYSBwcmltYXJuaSBzYWRyxb5haiBlLW1haWwgcG9ydWtlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPlBvZHJhenVtZXZhbmEgdnJlZG5vc3Q6IGlzby04ODU5LTE8L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4NCjxwPlJldHVybiB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgZW5jb2Rpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgZW5jb2Rpbmc8L3A+DQo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIEhFTE8gc3RyaW5nPC9wPg0KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPHA+VmFsdWVzIGFyZSAxPUhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBMb3c8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRlciBlbWFpbCAocmV0dXJuIHBhdGgpIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kZXIgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSAmIzAzOTsmIzAzOTsgKTwvYj48L3A+DQo8cD5BZGQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBdHRhY2htZW50KCAkcGF0aCwgJG5hbWUgPSAmIzAzOTsmIzAzOTssICRlbmNvZGluZyA9ICYjMDM5O2Jhc2U2NCYjMDM5OywgJHR5cGUgPSAmIzAzOTthcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtJiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgZmlsZSBhdHRhY2htZW50PC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRCQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIEJDQyYjMDM5O2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ0MoICRhZGRyZXNzLCAkbmFtZSA9ICYjMDM5OyYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIENDJiMwMzk7ZCBkZXN0aW5hdGlvbiBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRDdXN0b21IZWFkZXIoICR0eHQgKTwvYj48L3A+DQo8cD5BZGQgYSBjdXN0b20gaGVhZGVyIHRvIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkRW1iZWRkZWRJbWFnZSggJHBhdGgsICRjaWQsICRuYW1lID0gJiMwMzk7JiMwMzk7LCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhbiBlbWJlZGRlZCBpbWFnZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkUmVwbHlUbyggJGFkZHJlc3MsICRuYW1lID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+QWRkIGEgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkU3RyaW5nQXR0YWNobWVudCggJHN0cmluZywgJGZpbGVuYW1lLCAkZW5jb2RpbmcgPSAmIzAzOTtiYXNlNjQmIzAzOTssICR0eXBlID0gJiMwMzk7YXBwbGljYXRpb24vb2N0ZW50LXN0cmVhbSYjMDM5OyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBZGRyZXNzZXMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckFsbFJlY2lwaWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgcmVjaXBpZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBdHRhY2htZW50cygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBhdHRhY2htZW50czwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJCQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIEJDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ0NzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIENDIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJDdXN0b21IZWFkZXJzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGN1c3RvbSBoZWFkZXJzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhclJlcGx5dG8oKTwvYj48L3A+DQo8cD5DbGVhciByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc0Vycm9yKCk8L2I+PC9wPg0KPHA+Q2hlY2sgZm9yIGFuIGVycm9yIGNvbmRpdGlvbjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc0hUTUwoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBodG1sIGZsYWc8L3A+DQo8cD48aT5Ob3RlPC9pPiBwb3NzaWJseSB0aGlzIHNob3VsZCBiZSBhIGdldCBhbmQgc2V0IG1ldGhvZDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBJc01haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIG1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNRbWFpbCgpPC9iPjwvcD4NCjxwPkNoZWNrIHdldGhlciB3ZSBhcmUgdXNpbmcgcW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPklzU2VuZG1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNlbmRtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NNVFAoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNlbmQoKTwvYj48L3A+DQo8cD5TZW5kIHRoZSBjdXJyZW50bHkgcHJlcGFyZWQgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldExhbmd1YWdlKCAkbGFuZ190eXBlLCAkbGFuZ19wYXRoID0gJiMwMzk7JiMwMzk7ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIGFuZCA8ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmd1YWdlIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNtdHBDbG9zZSgpPC9iPjwvcD4NCjxwPkNsb3NlIHRoZSBzbXRwIGNvbm5lY3Rpb248L3A+DQo8L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5cyBob21lcGFnZSBhdCA8YSBocmVmPSYjMDM5O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmIzAzOTs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmIzAzOTs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JiMwMzk7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJiMwMzk7PkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbGwgPGEgaHJlZj0mIzAzOTttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSYjMDM5Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mIzAzOTtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmIzAzOTs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMTQ0ODI1MTQuMTM4MzUwNjAyNi4xMzgzNTA2MDI2LjEzODM1MTA0NzkuMic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM4MzUwNjAyNi4xLjEudXRtY3NyPShkaXJlY3QpfHV0bWNjbj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAnRGV0dGEgdGVzdCBnZW5lcmVyYXMgcMOlIGV0dCBvdmFubGlndCBzw6R0dC4gRGV0IGthbiB0YSBsaXRlIHRpZCBmw7ZyIGRlbiBhdHQgZsO2cnN2aW5uYSc7CiRsYW5nWydub25lJ10gPSAnSW5nZW4nOwokbGFuZ1snc3NsJ10gPSAnU1NMIC0ga3J5cHRlcmluZyc7CiRsYW5nWyd0bHMnXSA9ICdUTFMgLSBrcnlwdGVyaW5nJzsKJGxhbmdbJ3NlY3VyZSddID0gJ0tyeXB0ZXJpbmdzbWVrYW5pc20nOwokbGFuZ1snaW5mb19zZWN1cmUnXSA9ICdHw6RsbGVyIGVuZGFzdCBmw7ZyIFNNVFAtbWFpbGVyIG1ldG9kZW4uIERldHRhIGFsdGVybmF0aXYgdGlsbMOldGVyIG9saWthIGtyeXB0ZXJpbmdzIG1la2FuaXNtZXIgZsO2ciBhbnNsdXRuaW5nZW4uJzsKJGxhbmdbJ2luZm9fY21zbWFpbGVyJ10gPSAnRGVuIGjDpHIgbW9kdWxlbiBhbnbDpG5kcyBhdiBmbGVyYSBhbmRyYSBtb2R1bGVyIGbDtnIgYXR0IGfDtnJhIGRldCBtw7ZqbGlndCBhdHQgc2tpY2thIGUtcG9zdG1lZGRlbGFuZGVuLiBEZW4gbcOlc3RlIGtvbmZpZ3VyZXJhcyBiZXJvZW5kZSBww6UgZGl0dCB3ZWJiaG90ZWxsLiBWw6RubGlnZW4gYW52w6RuZCBpbmZvcm1hdGlvbmVuIGZyw6VuIGRpdHQgd2ViYmhvdGVsbCBmw7ZyIGF0dCBrb3JyaWdlcmEgZGUgaMOkciBpbnN0w6RsbG5pbmdhcm5hLiBPbSB0ZXN0bWVkZGVsYW5kZXQgw6RuZMOlIGludGUgc2tpY2thcyBzb20gZGV0IHNrYSwga2FuIGR1IGJlaMO2dmEga29udGFrdGEgZGl0dCB3ZWJiaG90ZWxsIGbDtnIgaGrDpGxwLic7CiRsYW5nWydjaGFyc2V0J10gPSAnVGVja2VudXBwc8OkdHRuaW5nJzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICdFdHQgbWVkZGVsYW5kZSBrb21tZXIgYXR0IHNraWNrYXMgdGlsbCBkZW4gYWRyZXNzIGR1IGFuZ2F2LiBPbSBsZXZlcmFuc2VuIGx5Y2thcyBrb21tZXIgZHUgYXR0IMOldGVydsOkbmRhIHRpbGwgZGVubmEgc2lkYS4gVmlsbCBkdSBmb3J0c8OkdHRhPyc7CiRsYW5nWydzZXR0aW5nc2NvbmZpcm0nXSA9ICdTa3JpdiBkZXNzYSB2w6RyZGVuIHRpbGwgQ01TTWFpbGVyLWluc3TDpGxsbmluZ2FybmE/JzsKJGxhbmdbJ3Rlc3RzdWJqZWN0J10gPSAnQ01TTWFpbGVyIFRlc3RtZWRkZWxhbmRlJzsKJGxhbmdbJ3Rlc3Rib2R5J10gPSAnU3lmdGV0IG1lZCBkZXR0YSBtZWRkZWxhbmRlIMOkciBlbmJhcnQgYXR0IHZlcmlmaWVyYSBhdHQgaW5zdMOkbGxuaW5nYXJuYSBpIENNU01haWxlci1tb2R1bGVuIMOkciBrb3JyZWt0YS4NCk9tIGR1IGzDpHNlciBkZXR0YSBtZWRkZWxhbmRlIGZ1bmdlcmFyIGFsbHQgc29tIGRldCBza2EuJzsKJGxhbmdbJ2Vycm9yX25vdGVzdGFkZHJlc3MnXSA9ICdGZWw6IFRlc3RhZHJlc3MgZWogYW5naXZlbic7CiRsYW5nWydwcm9tcHRfdGVzdGFkZHJlc3MnXSA9ICdUZXN0YWRyZXNzJzsKJGxhbmdbJ3NlbmR0ZXN0J10gPSAnU2tpY2thIHRlc3RtZWRkZWxhbmRlJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnTMO2c2Vub3JkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQW52w6RuZGFybmFtbic7CiRsYW5nWydzbXRwYXV0aCddID0gJ1NNVFAtYXV0ZW50aXNlcmluZyc7CiRsYW5nWydtYWlsZXInXSA9ICdNYWlsLW1ldG9kJzsKJGxhbmdbJ2hvc3QnXSA9ICdTTVRQLXNlcnZlcjxiciAvPjxlbT4oZWxsZXIgSVAtYWRyZXNzKTwvZW0+JzsKJGxhbmdbJ3BvcnQnXSA9ICdQb3J0IGbDtnIgU01UUC1zZXJ2ZXInOwokbGFuZ1snZnJvbSddID0gJ0Zyw6VuIC0gZXBvc3RhZHJlc3MnOwokbGFuZ1snZnJvbXVzZXInXSA9ICdGcsOlbiAtIGFudsOkbmRhcm5hbW4nOwokbGFuZ1snc2VuZG1haWwnXSA9ICdTw7ZrdsOkZyB0aWxsIHNlbmRtYWlsJzsKJGxhbmdbJ3RpbWVvdXQnXSA9ICdTTVRQLXRpbWVvdXQnOwokbGFuZ1snc3VibWl0J10gPSAnU2tpY2thJzsKJGxhbmdbJ2NhbmNlbCddID0gJ8OFbmdyYSc7CiRsYW5nWydpbmZvX21haWxlciddID0gJ01haWxtZXRvZCBhdHQgYW52w6RuZGEgKHNlbmRtYWlsLCBTTVRQLCBtYWlsKS4gT2Z0YXN0IMOkciBTTVRQIG1lc3QgcMOlbGl0bGlnLic7CiRsYW5nWydpbmZvX2hvc3QnXSA9ICdOYW1uIHDDpSBTTVRQLXNlcnZlciAoZ8OkbGxlciBiYXJhIG7DpHIgU01UUCBhbnbDpG5kcyBzb20gbWFpbG1ldG9kKSc7CiRsYW5nWydpbmZvX3BvcnQnXSA9ICdQb3J0bnVtbWVyIGbDtnIgU01UUCAodmFubGlnZW4gMjUpIChnw6RsbGVyIGJhcmEgbsOkciBTTVRQIGFudsOkbmRzIHNvbSBtYWlsbWV0b2QpJzsKJGxhbmdbJ2luZm9fZnJvbSddID0gJ0FkcmVzcyBzb20gYW52w6RuZHMgc29tIGF2c8OkbmRhcmUgaSBhbGxhIGVwb3N0bWVkZGVsYW5kZW4nOwokbGFuZ1snaW5mb19mcm9tdXNlciddID0gJ05hbW4gcMOlIHQuZXguIHBlcnNvbiBlbGxlciBmw7ZyZXRhZyBmw7ZyIGFsbGEgc2tpY2thZGUgZXBvc3RtZWRkZWxhbmRlbic7CiRsYW5nWydpbmZvX3NlbmRtYWlsJ10gPSAnS29tcGxldHQgc8O2a3bDpGcgdGlsbCBkw6RyIGRpbmEgc2VuZG1haWwtZmlsZXIgZmlubnMgKGfDpGxsZXIgYmFyYSBuw6RyIHNlbmRtYWlsIGFudsOkbmRzIHNvbSBtYWlsbWV0b2QpJzsKJGxhbmdbJ2luZm9fdGltZW91dCddID0gJ0FudGFsIHNla3VuZGVyIGkgZW4gU01UUC1rb252ZXJzYXRpb24gaW5uYW4gZXR0IGZlbG1lZGRlbGFuZGUgdXBwa29tbWVyIChnw6RsbGVyIG7DpHIgU01UUCBhbnbDpG5kcyBzb20gbWFpbG1ldG9kKSc7CiRsYW5nWydpbmZvX3NtdHBhdXRoJ10gPSAnS3LDpHZlciBkaW4gU01UUC1zZXJ2ZXIgYXV0ZW50aXNlcmluZyAoZ8OkbGxlciBiYXJhIG7DpHIgU01UUCBhbnbDpG5kcyBzb20gbWFpbG1ldG9kKT8nOwokbGFuZ1snaW5mb191c2VybmFtZSddID0gJ0FudsOkbmRhcm5hbW4gdmlkIFNNVFAtYXV0ZW50aXNlcmluZyAoZ8OkbGxlciBiYXJhIG7DpHIgU01UUCBhbnbDpG5kcyBzb20gbWFpbG1ldG9kIG9jaCBTTVRQLWF1dGVudGlzZXJpbmcgw6RyIHZhbHQpJzsKJGxhbmdbJ2luZm9fcGFzc3dvcmQnXSA9ICdMw7ZzZW5vcmQgdmlkIFNNVFAtYXV0ZW50aXNlcmluZyAoZ8OkbGxlciBiYXJhIG7DpHIgU01UUCBhbnbDpG5kcyBzb20gbWFpbG1ldG9kIG9jaCBTTVRQLWF1dGVudGlzZXJpbmcgw6RyIHZhbHQpJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NNUyBNYWlsZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdDTVNNYWlsZXItbW9kdWxlbiBoYXIgaW5zdGFsbGVyYXRzJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDTVNNYWlsZXItbW9kdWxlbiDDpHIgYXZpbnN0YWxsZXJhZC4uLiBsZWRzZW4gYXR0IHNlIGRpZyBnw6UuLi4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGVuIGF2aW5zdGFsbGVyYWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsdmVyc2lvbiAlcyBpbnN0YWxsZXJhZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnw4V0a29tc3QgbmVrYWQuIFbDpG5saWdlbiBrb250cm9sbGVyYSBkaW5hIHLDpHR0aWdoZXRlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWwhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlbiB1cHBncmFkZXJhZCB0aWxsIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3NldHRpbmdzX3RpdGxlJ10gPSAnSW5zdMOkbGxuaW5nYXInOwokbGFuZ1sndGVzdF90aXRsZSddID0gJ1Rlc3Rlcic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGluc3TDpGxsbmluZ2FyJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsYWRtaW5pc3RyYXRpb24nOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdDTVNNYWlsZXInOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdEZXR0YSDDpHIgZXR0IGVua2VsdCBow7ZsamUgKHdyYXBwZXIpIHJ1bnQgUEhQTWFpbGVyIG9jaCBoYXIgZW4gbGlrYWRhbiBBUEkgKGZ1bmt0aW9uIGbDtnIgZnVua3Rpb24pIG9jaCBldHQgZW5rZWx0IGdyw6Ruc3NuaXR0IGbDtnIgbsOlZ3JhIHN0YW5kYXJkaW5zdMOkbGxuaW5nYXIuJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDEuNzMuMS4gT2t0b2JlciwgMjAwNS4gRsO2cnN0YSB1dGfDpXZhbi48L2xpPg0KPGxpPlZlcnNpb24gMS43My4yLiBPa3RvYmVyLCAyMDA1LiBNaW5kcmUgYnVnZ2ZpeGFyIGbDtnIgYWRtaW5pc3RyYXRpb25lbi4gUnVsbGdhcmRpbnNtZW55biByZXByZXNlbnRlcmFkZSBpbnRlIGRldCB2YWxkYSB2w6RyZGV0IGZyw6VuIGluc3TDpGxsbmluZ2FybmEgaSBkYXRhYmFzZW4uPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMy4gT2t0b2JlciwgMjAwNS4gTWluZHJlIGJ1Z2dmaXggZsO2ciBhdHQgc2tpY2thIEhUTUwtZXBvc3Q8L2xpPg0KPGxpPlZlcnNpb24gMS43My40LiBOb3ZlbWJlciwgMjAwNS4gRm9ybXVsw6RyZsOkbHRlbiBpIGluc3TDpGxsbmluZ2FybmEgw6RyIHN0w7ZycmUsIGZpeGFkZSBldHQgcHJvYmxlbSBtZWQgZnLDpW4tYW52w6RuZGFyZW4sIG9jaCBjYWxsZWQgcmVzZXQgd2l0aGluIHRoZSBjb25zdHJ1Y3RvcjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjUuIE5vdmVtYmVyLCAyMDA1LiBMYSB0aWxsIGZvcm11bMOkcmbDpGx0IG9jaCBmdW5rdGlvbiBmw7ZyIFNNVFAtYXV0ZW50aXNlcmluZy48L2xpPg0KPGxpPlZlcnNpb24gMS43My42LiBEZWNlbWJlciwgMjAwNS4gU3RhbmRhcmRtYWlsbWV0b2RlbiDDpHIgU01UUCB2aWQgaW5zdGFsbGF0aW9uLCBvY2ggZsO2cmLDpHR0cmFkIGRva3VtZW50YXRpb24sIG9jaCBiaWxhZ29yIG9jaCBhZHJlc3NlciBtbSByZW5zYXMgdmlkIMOldGVyc3TDpGxsbmluZy48L2xpPg0KPGxpPlZlcnNpb24gMS43My43LiBKYW51YXJpLCAyMDA2LiDDlmthZGUgZsOkbHRsw6RuZ2RlbiBmw7ZyIGRlIGZsZXN0YSBmw6RsdC48L2xpPg0KPGxpPlZlcnNpb24gMS43My44LiBKYW51YXJpLCAyMDA2LiDDhG5kcmFkZSBpbnN0w6RsbG5pbmdzcGFuZWxlbiwgc8OlIGF0dCBkZW4gw6RyIG1lciBiZXNrcml2YW5kZS48L2xpPg0KPGxpPlZlcnNpb24gMS43My45LiBKYW51YXJ5LCAyMDA2LiBBZGRlZCB0ZXN0IGVtYWlsIGNhcGFiaWxpdHksIGFuZCBjb25maXJtYXRpb24gb24gZWFjaCBidXR0b24gKGV4Y2VwdCBjYW5jZWwpPC9saT4NCjxsaT5WZXJzaW9uIDEuNzMuMTAuIEF1Z3VzdCwgMjAwNi4gTW9kaWZpZWQgdG8gdXNlIGxhenkgbG9hZGluZyB0byBtaW5pbWl6ZSBtZW1vcnkgZm9vdHByaW50IHdoZW4gQ01TTWFpbGVyIGlzIG5vdCBiZWluZyB1c2VkLjwvbGk+DQo8bGk+VmVyc2lvbiAxLjczLjEzLiBKYW51YXJ5LCAyMDA4LiAgQWRkZWQgbW9yZSBwZXJtaXNzaW9ucyBjaGVja3MuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIG5vIGVuZCB1c2VyIGZ1bmN0aW9uYWxpdHkuICBJdCBpcyBkZXNpZ25lZCB0byBiZSBpbnRlZ3JhdGVkIGludG8gb3RoZXIgbW9kdWxlcyB0byBwcm92aWRlIGVtYWlsIGNhcGFiaWxpdGllcy4gIFRoYXRzIGl0LCBub3RoaW5nIG1vcmUuPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCBhbGwgb2YgdGhlIG1ldGhvZHMgYW5kIHZhcmlhYmxlcyBvZiBwaHBtYWlsZXIuICBJdCBpcyBkZXNpZ25lZCBmb3IgdXNlIGJ5IG90aGVyIG1vZHVsZSBkZXZlbG9wZXJzLCBiZWxvdyBpcyBhbiBleGFtcGxlLCBhbmQgYSBicmllZiBBUEkgcmVmZXJlbmNlLiAgUGxlYXNlIHJlYWQgdGhlIFBIUE1haWxlciBkb2N1bWVudGF0aW9uIGluY2x1ZGVkIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4NCjxoMz5BbiBFeGFtcGxlPC9oMz4NCjxwcmU+DQogICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoXCdDTVNNYWlsZXJcJyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoXCdjYWxndXkxMDAwQGhvdG1haWwuY29tXCcsXCdjYWxndXlcJyk7DQogICRjbXNtYWlsZXItPlNldEJvZHkoXCc8aDQ+VGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvaDQ+XCcpOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoXCdUZXN0IG1lc3NhZ2VcJyk7DQogICRjbXNtYWlsZXItPlNlbmQoKTsNCjwvcHJlPg0KPGgzPkFQSTwvaDM+DQo8dWw+DQo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4NCjxwPlJlc2V0IHRoZSBvYmplY3QgYmFjayB0byB0aGUgdmFsdWVzIHNwZWNpZmllZCBpbiB0aGUgYWRtaW4gcGFuZWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IGlzby04ODU5LTE8L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4NCjxwPlJldHVybiB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgZW5jb2Rpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgZW5jb2Rpbmc8L3A+DQo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIEhFTE8gc3RyaW5nPC9wPg0KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPHA+VmFsdWVzIGFyZSAxPUhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBMb3c8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRlciBlbWFpbCAocmV0dXJuIHBhdGgpIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kZXIgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+QWRkIGEgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gXCdcJywgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+QWRkIGEgQkNDXCdkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+QWRkIGEgQ0NcJ2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPg0KPHA+QWRkIGEgY3VzdG9tIGhlYWRlciB0byB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9IFwnXCcsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvYj48L3A+DQo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5BZGQgYSByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWRkcmVzc2VzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIHJlY2lwaWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQXR0YWNobWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYXR0YWNobWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBCQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBjdXN0b20gaGVhZGVyczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+Q2xlYXIgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4NCjxwPkNoZWNrIGZvciBhbiBlcnJvciBjb25kaXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNIVE1MKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgaHRtbCBmbGFnPC9wPg0KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9IFwnXCcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIDxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZ3VhZ2UgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U210cENsb3NlKCk8L2I+PC9wPg0KPHA+Q2xvc2UgdGhlIHNtdHAgY29ubmVjdGlvbjwvcD4NCjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlzIGhvbWVwYWdlIGF0IDxhIGhyZWY9XCdodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnXCc+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj1cJ2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ1wnPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPVwnaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zXCc+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPVwnbWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb21cJz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj1cJ2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTFwnPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/zh_TW.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3dhcm5pbmdfY3Jvbl91cGRhdGVkJ10gPSAn6YCZ6aCF5ris6Kmm5piv5LiA56iu572V6KaL5Z+656SO5LiK55Si55Sf55qE77yM6K6T5a6D5raI5aSx5Y+v6IO96ZyA6KaB5LiA5Lqb5pmC6ZaTJzsKJGxhbmdbJ25vbmUnXSA9ICfnhKEnOwokbGFuZ1snc3NsJ10gPSAn5a6J5YWo6YCa6KiK56uv5bGkKFNTTCknOwokbGFuZ1sndGxzJ10gPSAn5YKz6Ly45bGk5a6J5YWoKFRMUyknOwokbGFuZ1snc2VjdXJlJ10gPSAn5Yqg5a+G5qmf5Yi2JzsKJGxhbmdbJ2luZm9fc2VjdXJlJ10gPSAn5Y+q6YGp55So5pa8U01UUOmDteS7tueahOaWueazle+8jOatpOmBuOmgheWFgeioseaMh+WumueUqOaWvOmAo+aOpeS4jeWQjOeahOWKoOWvhuapn+WItic7CiRsYW5nWydpbmZvX2Ntc21haWxlciddID0gJ+ipsuaooee1hOeUqOaWvOioseWkmuWFtuS7luaooee1hO+8jOS7peaWueS+v+eZvOmAgembu+WtkOmDteS7tuOAguW/hemgiOato+eiuumFjee9ruaCqOeahOS4u+apn+eahOimgeaxguOAguiri+S9v+eUqOS4u+apn+aPkOS+m+eahOS/oeaBr+S+huiqv+aVtOmAmeS6m+ioree9ruOAguWmguaenOS7jeeEtuS4jeiDveW+l+WIsOato+W4uOeZvOmAgeeahOa4rOippumDteS7tu+8jOaCqOWPr+iDveW/hemcgOWSjOaCqOeahOS4u+apn+WVhuiBr+e1oe+8jOWwi+axguWNlOWKqeOAgic7CiRsYW5nWydjaGFyc2V0J10gPSAn5a2X6ZuGJzsKJGxhbmdbJ3NlbmR0ZXN0bWFpbGNvbmZpcm0nXSA9ICfpgJnlsIfmuKzoqaboqIrmga/nmbzpgIHliLDmjIflrprnmoTlnLDlnYDjgIIg5aaC5p6c55m86YCB6YGO56iL5oiQ5Yqf77yM5oKo5bCH6L+U5Zue5Yiw6Kmy6aCB6Z2i44CC5L2g6KaB57m857qM5ZeO77yfJzsKJGxhbmdbJ3NldHRpbmdzY29uZmlybSddID0gJ+Wvq+WFpeato+eiuueahOWAvOiHs0NNU01haWxlcuioreWumu+8nyc7CiRsYW5nWyd0ZXN0c3ViamVjdCddID0gJ0NNU01haWxlciDmuKzoqaboqIrmga8nOwokbGFuZ1sndGVzdGJvZHknXSA9ICfmraToqIrmga/lg4XnlKjmlrzpqZforYnoqK3nva7lnKhDTVNNYWlsZXLmqKHntYTnmoTmnInmlYjmgKfjgIINCuWmguaenOS9oOaUtuWIsOWug++8jOihqOekukNNU01haWxlcuaooee1hOS4gOWIh+ato+W4uOOAgic7CiRsYW5nWydlcnJvcl9ub3Rlc3RhZGRyZXNzJ10gPSAn6Yyv6KqkOiDmuKzoqabkvY3lnYDmspLmnInooqvmjIflrponOwokbGFuZ1sncHJvbXB0X3Rlc3RhZGRyZXNzJ10gPSAn5ris6KmmRW1haWzkvY3lnYAnOwokbGFuZ1snc2VuZHRlc3QnXSA9ICflgrPpgIHmuKzoqaboqIrmga8nOwokbGFuZ1sncGFzc3dvcmQnXSA9ICflr4bnorwnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICfluLPomZ8nOwokbGFuZ1snc210cGF1dGgnXSA9ICdTTVRQIOmpl+itiSc7CiRsYW5nWydtYWlsZXInXSA9ICfpg7Xlr4TmlrnlvI8nOwokbGFuZ1snaG9zdCddID0gJ1NNVFAg5Li75qmf5ZCN56ixPGJyLz48aT4o5oiW5pivIElQIOS9jeWdgCk8L2k+JzsKJGxhbmdbJ3BvcnQnXSA9ICdTTVRQIOS8uuacjeWZqOWfoOiZnyc7CiRsYW5nWydmcm9tJ10gPSAn5b6e5L2N5Z2AJzsKJGxhbmdbJ2Zyb211c2VyJ10gPSAn5b6e5biz6JmfJzsKJGxhbmdbJ3NlbmRtYWlsJ10gPSAnU2VuZG1haWznmoTkvY3nva4nOwokbGFuZ1sndGltZW91dCddID0gJ1NNVFAg6LaF5pmCJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ+aPkOS6pCc7CiRsYW5nWydjYW5jZWwnXSA9ICflj5bmtognOwokbGFuZ1snaW5mb19tYWlsZXInXSA9ICfkvb/nlKjpg7Xlr4TnmoTmlrnms5Uoc2VuZG1haWwsIHNtdHAsIG1haWwpLiAg6YCa5bi4c210cCDmnIDooqvluLjluLjkvb/nlKguJzsKJGxhbmdbJ2luZm9faG9zdCddID0gJ+S4u+apn+eahFNNVFDvvIjlj6rmnInkvb/nlKhTTVRQ6YO15a+E55qE5pa55rOV5pyJ5pWI77yJJzsKJGxhbmdbJ2luZm9fcG9ydCddID0gJ1NNVFDnq6/lj6PomZ/igIvigIvvvIjpgJrluLjngroyNe+8ie+8iOWPqumBqeeUqOaWvOacieaViOeahFNNVFDpg7Xlr4TnmoTmlrnms5XvvIknOwokbGFuZ1snaW5mb19mcm9tJ10gPSAn5Zyw5Z2A5piv5L2c54K65omA5pyJ6YO15Lu255m86YCB6ICF55qE5Zyw5Z2A44CCIDxici8+PHN0cm9uZz7ms6jmhI88L3N0cm9uZz4sIOmAmeWAi+mbu+WtkOmDteS7tuWcsOWdgOW/hemgiOato+eiuuioree9rueCuuaCqOeahOS4u+apn+S7peeZvOmAgembu+WtkOmDteS7tu+8jOWQpuWJh+acg+acieWVj+mhjOOAgjxici8+5aaC5p6c5L2g5LiN55+l6YGT5q2k6Kit572u6YGp55W255qE5YC877yM5L2g5Y+v6IO96ZyA6KaB6IGv57mr5L2g55qE5Li75qmf5ZWG44CCJzsKJGxhbmdbJ2luZm9fZnJvbXVzZXInXSA9ICflj4vlloTlkI3nqLHvvIznlKjmlrznmbzpgIHnmoTmiYDmnInpm7vlrZDpg7Xku7YnOwokbGFuZ1snaW5mb19zZW5kbWFpbCddID0gJ+aCqOeahHNlbmRtYWls5Y+v5Z+36KGM5paH5Lu255qE5a6M5pW06Lev5b6R77yI5YOF6YGp55So5pa8c2VuZG1haWznmoTpg7Xku7bnmoTmlrnms5XmnInmlYjvvIknOwokbGFuZ1snaW5mb190aW1lb3V0J10gPSAnU01UUOS6pOirh+mMr+iqpOeZvOeUn+WJjeeahOenkuaVuO+8iOWDhemBqeeUqOaWvFNNVFDpg7Xku7bnmoTmlrnms5XvvIknOwokbGFuZ1snaW5mb19zbXRwYXV0aCddID0gJ+iri+WVj+aCqOeahFNNVFDkuLvmqZ/pnIDopoHoqo3orYnvvIjlg4XpgannlKjmlrzmnInmlYjnmoRTTVRQ6YO15Lu255qE5pa55rOV77yJJzsKJGxhbmdbJ2luZm9fdXNlcm5hbWUnXSA9ICdTTVRQ6KqN6K2J55qE55So5oi25ZCN77yI5YOF55So5pa8U01UUOmDteS7tueahOaWueazle+8jOmBuOaTh1NNVFAgQVVUSOaZguacieaViO+8iSc7CiRsYW5nWydpbmZvX3Bhc3N3b3JkJ10gPSAnU01UUOmpl+itieeahOWvhueivO+8iOWDheeUqOaWvFNNVFDpg7Xku7bnmoTmlrnms5XvvIzpgbjmk4dTTVRQIEFVVEjmmYLmnInmlYjvvIknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ01TTWFpbGVy6YO15Lu25pS255m85qmfJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ01TTWFpbGVyIOaooee1hOW3sue2k+aIkOWKn+iiq+WuieijneOAgic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ01TTWFpbGVyIOaooee1hOW3sue2k+ino+mZpOWuieijnS4uLiDmirHmrYnnnIvliLDmgqjpm6LplosnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICfmqKHntYTlt7LntpPop6PpmaTlronoo53jgIInOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAn5qih57WE54mI5pysICVzIOW3sue2k+WuieijneOAgic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICflrZjlj5booqvmi5LntZXvvIzoq4vmqqLmn6XmgqjnmoTmrIrpmZDjgIInOwokbGFuZ1snZXJyb3InXSA9ICfpjK/oqqQhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAn5qih57WE5pu05paw6Iez54mI5pysICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICfmqKHntYTlgY/lpb0nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAn5qih57WE566h55CG5LuL6Z2iJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnQ01TTWFpbGVyIOaooee1hCc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ+mAmeaYr+S4gOWAi1BIUE1haWxlcueahOewoeWWruWMheijneWZqO+8jOWug+mgkOioreS6huWFt+acieWQjOetieeahEFQSe+8iOWHveaVuOeahOWKn+iDve+8ieWSjOS4gOS6m+ewoeWWrueahOS7i+mdouOAgic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+54mI5pysIDEuNzMuMS4g5Y2B5pyILCAyMDA1LiDliJ3lp4vnmbzooYwuPC9saT4NCjxsaT7niYjmnKwgMS43My4yLiDljYHmnIgsIDIwMDUu566h55CG6Z2i5p2/55qE5bCP6Yyv6Kqk5L+u5b6p56iL5bqP44CC5LiL5ouJ5YiX6KGo5Lit55qE55uu5YmN5YC85rKS5pyJ5Luj6KGo5pW45pOa5bqr5Lit5YGP5aW96Kit5a6aPC9saT4NCjxsaT7niYjmnKwgMS43My4zLiDljYHmnIgsIDIwMDUuIOS/ruW+qeeZvOmAgUhUTUzmoLzlvI/nmoTpg7Xku7bnmoTlsI/pjK/oqqQ8L2xpPg0KPGxpPueJiOacrCAxLjczLjQuIOWNgeS4gOaciCwgMjAwNS4g5Zyo6aaW6YG46aCF5Lit55qE6KGo5Zau5a2X5q616YO96LyD5aSn77yM5L+u5b6p6IiHRlJPTVVTRVLnmoTllY/poYzvvIzkuKbph43oqK3lnKjmp4vpgKDlh73mlbjkuK08L2xpPg0KPGxpPueJiOacrCAxLjczLjUuIOWNgeS4gOaciCwgMjAwNS4g5re75Yqg6KGo5Zau5a2X5q615ZKMU01UUOiqjeitieWKn+iDvS48L2xpPg0KPGxpPueJiOacrCAxLjczLjYuIOWNgeS6jOaciCwgMjAwNS4gRGVmYXVsdCBtYWlsZXIgbWV0aG9kIGlzIFNNVFAgb24gaW5zdGFsbCwgYW5kIGltcHJvdmVkIGRvY3VtZW50YXRpb24sIGFuZCBub3cgSSBjbGVhciBhbGwgdGhlIGF0dGFjaG1lbnRzLCBhbmQgYWRkcmVzc2VzLCBldGMuIG9uIHJlc2V0LjwvbGk+DQo8bGk+54mI5pysIDEuNzMuNy4g5LiA5pyILCAyMDA2LiDlnKjlpKflpJrmlbjlrZfmrrXnmoTlop7liqDlrZfmrrXplbfluqY8L2xpPg0KPGxpPueJiOacrCAxLjczLjguIOS4gOaciCwgMjAwNi4g5pu05pS56aaW6YG46aCF6Z2i5p2/5piv5LiA5YCL5pu05aSa55qE5o+P6L+wLjwvbGk+DQo8bGk+54mI5pysIDEuNzMuOS4g5LiA5pyILCAyMDA2LiDlop7liqDkuobmuKzoqabpm7vlrZDpg7Xku7blip/og73vvIzkuKbnorroqo3lnKjmr4/lgIvmjInpiJXkuIogKOmZpOS6huWPlua2iOaMiemNtSk8L2xpPg0KPGxpPueJiOacrCAxLjczLjEwLiDlhavmnIgsIDIwMDYuIOS/ruaUueS9v+eUqOW7tumBsuWKoOi8ie+8jOS7peacgOWkp+mZkOW6puWcsOa4m+WwkeWFp+WtmOeahOi2s+i3oeaZgkNNU01haWxlcuaYr+acquWcqOS9v+eUqC48L2xpPg0KPGxpPueJiOacrCAxLjczLjEzLiDkuIDmnIgsIDIwMDguICDlop7liqDkuobmm7TlpJrnmoTmrIrpmZDmqqLmn6UuPC9saT4NCjxsaT7niYjmnKwgMi4wLjEgLSDkuIDmnIgsIDIwMTEgLSDnp7vpmaTlj5bmtojmjInpjbUuPC9saT4NCjxsaT7niYjmnKwgMi4wLjIgLSDkuZ3mnIgsIDIwMTEgLSBTZXQgZGVmYXVsdCBjaGFyc2V0IHRvIHV0Zi04LjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPumAmeaoo+WBmuacieS7gOm6vO+8nzwvaDM+DQo8cD7oqbLmqKHloYrmj5DkvpvkuobpnZ7ntYLnq6/nlKjmiLbkvb/nlKjnmoTlip/og73jgILlroPooqvoqK3oqIjngrrooqvpm4bmiJDliLDlhbbku5bmqKHloYrmj5Dkvpvpm7vlrZDpg7Xku7blip/og73jgILlsLHpgJnpurznsKHllq7vvIzlg4XmraTogIzlt7LjgII8L3A+DQo8aDM+5oiR5aaC5L2V5L2/55So5a6DPC9oMz4NCjxwPuipsuaooeWhiuaPkOS+m+S6huS4gOWAi+ewoeWWrueahOWMheijne+8jOaJgOacieeahOaWueazleWSjOiuiumHj1BIUE1haWxlcueahOOAguWug+aYr+WwiOeCuuS9v+eUqOWFtuS7luaooeWhiueahOmWi+eZvO+8jOS4i+mdouaYr+S4gOWAi+S+i+WtkO+8jOS4gOWAi+ewoeefreeahEFQSeWPg+iAg+OAguiri+S7lOe0sOmWseiugFBIUE1haWxlcueahOaWh+S7tuWMheWQq+abtOWkmueahOS/oeaBr+OAgjwvcD4NCjxoMz5BbiBFeGFtcGxlPC9oMz4NCjxwcmU+DQogICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoXCdDTVNNYWlsZXJcJyk7DQogICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoXCdjYWxndXkxMDAwQGhvdG1haWwuY29tXCcsXCdjYWxndXlcJyk7DQogICRjbXNtYWlsZXItPlNldEJvZHkoXCc8aDQ+VGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvaDQ+XCcpOw0KICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7DQogICRjbXNtYWlsZXItPlNldFN1YmplY3QoXCdUZXN0IG1lc3NhZ2VcJyk7DQogICRjbXNtYWlsZXItPlNlbmQoKTsNCjwvcHJlPg0KPGgzPkFQSTwvaDM+DQo8dWw+DQo8bGk+PHA+PGI+dm9pZCByZXNldCgpPC9iPjwvcD4NCjxwPlJlc2V0IHRoZSBvYmplY3QgYmFjayB0byB0aGUgdmFsdWVzIHNwZWNpZmllZCBpbiB0aGUgYWRtaW4gcGFuZWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRBbHRCb2R5KCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBhbHRlcm5hdGUgYm9keSBvZiB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0QWx0Qm9keSggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgYWx0ZXJuYXRlIGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Qm9keSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcHJpbWFyeSBib2R5IG9mIHRoZSBlbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRCb2R5KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBwcmltYXJ5IGJvZHkgb2YgdGhlIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q2hhclNldCgpPC9iPjwvcD4NCjxwPkRlZmF1bHQ6IGlzby04ODU5LTE8L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENoYXJTZXQoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciBjaGFyYWN0ZXIgc2V0PC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0Q29uZmlybVJlYWRpbmdUbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgYWRkcmVzcyBjb25maXJtZWQgcmVhZGluZyBlbWFpbCBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbmZpcm1SZWFkaW5nVG8oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IG9yIHVuc2V0IHRoZSBjb25maXJtIHJlYWRpbmcgYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+c3RyaW5nIEdldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+RGVmYXVsdDogdGV4dC9wbGFpbjwvcD4NCjxwPlJldHVybiB0aGUgY29udGVudCB0eXBlPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldENvbnRlbnRUeXBlKCk8L2I+PC9wPg0KPHA+U2V0IHRoZSBjb250ZW50IHR5cGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFbmNvZGluZygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgZW5jb2Rpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0RW5jb2RpbmcoICRlbmNvZGluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgZW5jb2Rpbmc8L3A+DQo8cD5PcHRpb25zIGFyZTogOGJpdCwgN2JpdCwgYmluYXJ5LCBiYXNlNjQsIHF1b3RlZC1wcmludGFibGU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRFcnJvckluZm8oKTwvYj48L3A+DQo8cD5SZXR1cm4gYW55IGVycm9yIGluZm9ybWF0aW9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEZyb20oICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0RnJvbU5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGN1cnJlbnQgb3JpZ2luYXRpbmcgbmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0RnJvbU5hbWUoICRuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBvcmlnaW5hdGluZyBuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SGVsbygpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgSEVMTyBzdHJpbmc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPlNldEhlbG8oICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIEhFTE8gc3RyaW5nPC9wPg0KPHA+RGVmYXVsdCB2YWx1ZTogJGhvc3RuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgU01UUHMgaG9zdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9uPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldEhvc3QoICRzdHJpbmcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGhvc3RzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0SG9zdE5hbWUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIGhvc3RuYW1lIHVzZWQgZm9yIFNNVFAgSGVsbzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRIb3N0TmFtZSggJGhvc3RuYW1lICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBob3N0bmFtZSB1c2VkIGZvciBTTVRQIEhlbG88L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRNYWlsZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIG1haWxlcjwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRNYWlsZXIoICRtYWlsZXIgKTwvYj48L3A+DQo8cD5TZXQgdGhlIG1haWxlciwgZWl0aGVyIHNlbmRtYWlsLG1haWwsIG9yIHNtdHA8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRQYXNzd29yZCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQYXNzd29yZCggJHN0cmluZyApPC9iPjwvcD4NCjxwPlNldCB0aGUgcGFzc3dvcmQgZm9yIHNtdHAgYXV0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFBvcnQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHBvcnQgbnVtYmVyIGZvciBzbXRwIGNvbm5lY3Rpb25zPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFBvcnQoICRpbnQgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHBvcnQgZm9yIHNtdHAgY29ubmVjdGlvbnM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRQcmlvcml0eSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgbWVzc2FnZSBwcmlvcml0eTwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRQcmlvcml0eSggaW50ICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBtZXNzYWdlIHByaW9yaXR5PC9wPg0KPHA+VmFsdWVzIGFyZSAxPUhpZ2gsIDMgPSBOb3JtYWwsIDUgPSBMb3c8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRTZW5kZXIoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRlciBlbWFpbCAocmV0dXJuIHBhdGgpIHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTZW5kZXIoICRhZGRyZXNzICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kZXIgc3RyaW5nPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U2VuZG1haWwoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHNlbmRtYWlsIHBhdGg8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U2VuZG1haWwoICRwYXRoICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzZW5kbWFpbCBwYXRoPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBBdXRoKCk8L2I+PC9wPg0KPHA+UmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEF1dGgoICRib29sICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Ym9vbCBHZXRTTVRQRGVidWcoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGRlYnVnIGZsYWc8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0U01UUERlYnVnKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgU01UUCBkZWJ1ZyBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIEdldFNNVFBLZWVwQWxpdmUoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBTTVRQIGtlZXAgYWxpdmUgZmxhZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U2V0U01UUEtlZXBBbGl2ZSggJGJvb2wgKTwvYj48L3A+DQo8cD5TZXQgdGhlIFNNVFAga2VlcCBhbGl2ZSBmbGFnPC9wPg0KPC9saT4NCjxsaT48cD48Yj5zdHJpbmcgR2V0U3ViamVjdCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgY3VycmVudCBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+dm9pZCBTZXRTdWJqZWN0KCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzdWJqZWN0IHN0cmluZzwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+aW50IEdldFRpbWVvdXQoKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0VGltZW91dCggJHNlY29uZHMgKTwvYj48L3A+DQo8cD5TZXQgdGhlIHRpbWVvdXQgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnN0cmluZyBHZXRVc2VybmFtZSgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgc210cCBhdXRoIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD48Yj52b2lkIFNldFVzZXJuYW1lKCAkc3RyaW5nICk8L2I+PC9wPg0KPHA+U2V0IHRoZSBzbXRwIGF1dGggdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmludCBHZXRXb3JkV3JhcCgpPC9iPjwvcD4NCjxwPlJldHVybiB0aGUgd29yZHdyYXAgdmFsdWU8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPnZvaWQgU2V0V29yZFdyYXAoICRpbnQgKTwvYj48L3A+DQo8cD5SZXR1cm4gdGhlIHdvcmR3cmFwIHZhbHVlPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRBZGRyZXNzKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+QWRkIGEgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQXR0YWNobWVudCggJHBhdGgsICRuYW1lID0gXCdcJywgJGVuY29kaW5nID0gXCdiYXNlNjRcJywgJHR5cGUgPSBcJ2FwcGxpY2F0aW9uL29jdGVudC1zdHJlYW1cJyApPC9iPjwvcD4NCjxwPkFkZCBhIGZpbGUgYXR0YWNobWVudDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQkNDKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+QWRkIGEgQkNDXCdkIGRlc3RpbmF0aW9uIGFkZHJlc3M8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZENDKCAkYWRkcmVzcywgJG5hbWUgPSBcJ1wnICk8L2I+PC9wPg0KPHA+QWRkIGEgQ0NcJ2QgZGVzdGluYXRpb24gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+QWRkQ3VzdG9tSGVhZGVyKCAkdHh0ICk8L2I+PC9wPg0KPHA+QWRkIGEgY3VzdG9tIGhlYWRlciB0byB0aGUgZW1haWw8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZEVtYmVkZGVkSW1hZ2UoICRwYXRoLCAkY2lkLCAkbmFtZSA9IFwnXCcsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvYj48L3A+DQo8cD5BZGQgYW4gZW1iZWRkZWQgaW1hZ2U8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkFkZFJlcGx5VG8oICRhZGRyZXNzLCAkbmFtZSA9IFwnXCcgKTwvYj48L3A+DQo8cD5BZGQgYSByZXBseSB0byBhZGRyZXNzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5BZGRTdHJpbmdBdHRhY2htZW50KCAkc3RyaW5nLCAkZmlsZW5hbWUsICRlbmNvZGluZyA9IFwnYmFzZTY0XCcsICR0eXBlID0gXCdhcHBsaWNhdGlvbi9vY3RlbnQtc3RyZWFtXCcgKTwvYj48L3A+DQo8cD5BZGQgYSBmaWxlIGF0dGFjaG1lbnQ8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQWRkcmVzc2VzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIGFkZHJlc3NlczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJBbGxSZWNpcGllbnRzKCk8L2I+PC9wPg0KPHA+Q2xlYXIgYWxsIHJlY2lwaWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQXR0YWNobWVudHMoKTwvYj48L3A+DQo8cD5DbGVhciBhbGwgYXR0YWNobWVudHM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQkNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBCQ0MgYWRkcmVzc2VzPC9wPg0KPC9saT4NCjxsaT48cD48Yj5DbGVhckNDcygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBDQyBhZGRyZXNzZXM8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPkNsZWFyQ3VzdG9tSGVhZGVycygpPC9iPjwvcD4NCjxwPkNsZWFyIGFsbCBjdXN0b20gaGVhZGVyczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+Q2xlYXJSZXBseXRvKCk8L2I+PC9wPg0KPHA+Q2xlYXIgcmVwbHkgdG8gYWRkcmVzczwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNFcnJvcigpPC9iPjwvcD4NCjxwPkNoZWNrIGZvciBhbiBlcnJvciBjb25kaXRpb248L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNIVE1MKCAkYm9vbCApPC9iPjwvcD4NCjxwPlNldCB0aGUgaHRtbCBmbGFnPC9wPg0KPHA+PGk+Tm90ZTwvaT4gcG9zc2libHkgdGhpcyBzaG91bGQgYmUgYSBnZXQgYW5kIHNldCBtZXRob2Q8L3A+DQo8L2xpPg0KPGxpPjxwPjxiPmJvb2wgSXNNYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5ib29sIElzUW1haWwoKTwvYj48L3A+DQo8cD5DaGVjayB3ZXRoZXIgd2UgYXJlIHVzaW5nIHFtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5Jc1NlbmRtYWlsKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzZW5kbWFpbDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+SXNTTVRQKCk8L2I+PC9wPg0KPHA+Q2hlY2sgd2V0aGVyIHdlIGFyZSB1c2luZyBzbXRwPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZW5kKCk8L2I+PC9wPg0KPHA+U2VuZCB0aGUgY3VycmVudGx5IHByZXBhcmVkIGVtYWlsPC9wPg0KPC9saT4NCjxsaT48cD48Yj5TZXRMYW5ndWFnZSggJGxhbmdfdHlwZSwgJGxhbmdfcGF0aCA9IFwnXCcgKTwvYj48L3A+DQo8cD5TZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIDxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZ3VhZ2UgcGF0aDwvcD4NCjwvbGk+DQo8bGk+PHA+PGI+U210cENsb3NlKCk8L2I+PC9wPg0KPHA+Q2xvc2UgdGhlIHNtdHAgY29ubmVjdGlvbjwvcD4NCjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlzIGhvbWVwYWdlIGF0IDxhIGhyZWY9XCdodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnXCc+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj1cJ2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ1wnPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPVwnaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zXCc+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgwqkgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9XCdtYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbVwnPjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPVwnaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMXCc+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43OTI2NjU1NjguMTM1NjUzMjkyNS4xMzU2NTMyOTI1LjEzNTY1Mzk0NzcuMic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM1NjUzOTQ3Ny4yLjIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/phpmailer/changelog.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBDaGFuZ2VMb2cKCiogRml4IGdtYWlsIFhPQVVUSDIgc2NvcGUsIHRoYW5rcyB0byBAc2hlcnJ5bDRnZW9yZ2UKKiBGaXggZXh0cmEgbGluZSBicmVhayBpbiBnZXRTZW50TUlNRU1lc3NhZ2UoKQoKIyMgVmVyc2lvbiA1LjIuMTQgKE5vdiAxc3QgMjAxNSkKKiBBbGxvdyBhZGRyZXNzZXMgd2l0aCBJRE4gKEludGVybmF0aW9uYWxpemVkIERvbWFpbiBOYW1lKSBpbiBQSFAgNS4zKywgdGhhbmtzIHRvIEBmYm9uem9uCiogQWxsb3cgYWNjZXNzIHRvIFBPUDMgZXJyb3JzCiogTWFrZSBhbGwgUE9QMyBwcml2YXRlIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgcHJvdGVjdGVkCiogKipTRUNVUklUWSoqIEZpeCB2dWxuZXJhYmlsaXR5IHRoYXQgYWxsb3dlZCBlbWFpbCBhZGRyZXNzZXMgd2l0aCBsaW5lIGJyZWFrcyAodmFsaWQgaW4gUkZDNTMyMikgdG8gcGFzcyB0byBTTVRQLCBwZXJtaXR0aW5nIG1lc3NhZ2UgaW5qZWN0aW9uIGF0IHRoZSBTTVRQIGxldmVsLiBNaXRpZ2F0ZWQgaW4gYm90aCB0aGUgYWRkcmVzcyB2YWxpZGF0b3IgYW5kIGluIHRoZSBsb3dlci1sZXZlbCBTTVRQIGNsYXNzLiBUaGFua3MgdG8gVGFrZXNoaSBUZXJhZGEuCiogVXBkYXRlZCBCcmF6aWxpYW4gUG9ydHVndWVzZSB0cmFuc2xhdGlvbnMgKFRoYW5rcyB0byBAcGhlbGlwZWFsdmVzKQoKIyMgVmVyc2lvbiA1LjIuMTMgKFNlcCAxNHRoIDIwMTUpCiogUmVuYW1lIGludGVybmFsIG9hdXRoIGNsYXNzIHRvIGF2b2lkIG5hbWUgY2xhc2hlcwoqIEltcHJvdmUgRXN0b25pYW4gdHJhbnNsYXRpb25zCgojIyBWZXJzaW9uIDUuMi4xMiAoU2VwIDFzdCAyMDE1KQoqIEZpeCBpbmNvcnJlY3QgY29tcG9zZXIgcGFja2FnZSBkZXBlbmRlbmNpZXMKKiBTa2lwIGV4aXN0aW5nIGVtYmVkZGVkIGltYWdlIGBjaWRgcyBpbiBgbXNnSFRNTGAKCiMjIFZlcnNpb24gNS4yLjExIChBdWcgMzFzdCAyMDE1KQoqIERvbid0IHN3aXRjaCB0byBxdW90ZWQtcHJpbnRhYmxlIGZvciBsb25nIGxpbmVzIGlmIGFscmVhZHkgdXNpbmcgYmFzZTY0CiogRml4ZWQgVHJhdmlzLUNJIGNvbmZpZyB3aGVuIHJ1biBvbiBQSFAgNwoqIEFkZGVkIEdvb2dsZSBYT0FVVEgyIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbSwgdGhhbmtzIHRvIEBzaGVycnlsNGdlb3JnZQoqIEFkZCBhZGRyZXNzIHBhcnNlciBmb3IgUkZDODIyLWZvcm1hdCBhZGRyZXNzZXMKKiBVcGRhdGUgTVMgT2ZmaWNlIE1JTUUgdHlwZXMKKiBEb24ndCBjb252ZXJ0IGxpbmUgYnJlYWtzIHdoZW4gdXNpbmcgcXVvdGVkLXByaW50YWJsZSBlbmNvZGluZwoqIEhhbmRsZSBNUyBFeGNoYW5nZSByZXR1cm5pbmcgYW4gaW52YWxpZCBlbXB0eSBBVVRILXR5cGUgbGlzdCBpbiBFSExPCiogRG9uJ3Qgc2V0IG5hbWUgb3IgZmlsZW5hbWUgcHJvcGVydGllcyBvbiBNSU1FIHBhcnRzIHRoYXQgZG9uJ3QgaGF2ZSBvbmUKCiMjIFZlcnNpb24gNS4yLjEwIChNYXkgNHRoIDIwMTUpCiogQWRkIGN1c3RvbSBoZWFkZXIgZ2V0dGVyCiogVXNlIGBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0YCBmb3IgLmpzIGF0dGFjaG1lbnRzCiogSW1wcm92ZSBSRkMyODIxIGNvbXBsaWFuY2UgZm9yIHRpbWVsaW1pdHMsIGVzcGVjaWFsbHkgZm9yIGVuZC1vZi1kYXRhCiogQWRkIEF6ZXJiYWlqYW5pIHRyYW5zbGF0aW9ucyAoVGhhbmtzIHRvIEBtaXJqYWxhbCkKKiBNaW5vciBjb2RlIGNsZWFudXAgZm9yIHJvYnVzdG5lc3MKKiBBZGQgSW5kb25lc2lhbiB0cmFuc2xhdGlvbnMgKFRoYW5rcyB0byBAY2VjZXByYXdpcm8pCiogQXZvaWQgYGVycm9yX2xvZ2AgRGVidWdvdXRwdXQgbmFtaW5nIGNsYXNoCiogQWRkIGFiaWxpdHkgdG8gcGFyc2Ugc2VydmVyIGNhcGFiaWxpdGllcyBpbiByZXNwb25zZSB0byBFSExPICh1c2VmdWwgZm9yIFNlbmRHcmlkIGV0YykKKiBBbWVuZGVkIGRlZmF1bHQgdmFsdWVzIGZvciBXb3JkV3JhcCB0byBtYXRjaCBSRkMKKiBSZW1vdmUgaHRtbDJ0ZXh0IGNvbnZlcnRlciBjbGFzcyAoaGFzIGluY29tcGF0aWJsZSBsaWNlbnNlKQoqIFByb3ZpZGUgbmV3IG1lY2hhbmlzbSBmb3IgaW5qZWN0aW5nIGh0bWwgdG8gdGV4dCBjb252ZXJ0ZXJzCiogSW1wcm92ZSBwb2ludGVycyB0byBkb2NzIGFuZCBzdXBwb3J0IGluIFJFQURNRQoqIEFkZCBleGFtcGxlIGZpbGUgdXBsb2FkIHNjcmlwdAoqIFJlZmFjdG9yIGFuZCBtYWpvciBjbGVhbnVwIG9mIEVhc3lQZWFzeUlDUywgbm93IGEgbG90IG1vcmUgdXNhYmxlCiogTWFrZSBzZXQoKSBtZXRob2Qgc2ltcGxlciBhbmQgbW9yZSByZWxpYWJsZQoqIEFkZCBNYWxheSB0cmFuc2xhdGlvbiAoVGhhbmtzIHRvIEBuYXdhd2kpCiogQWRkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbiAoVGhhbmtzIHRvIEBtaWFseSkKKiBBZGQgQXJtZW5pYW4gdHJhbnNsYXRpb24gKFRoYW5rcyB0byBIcmF5ciBHcmlnb3J5YW4pCiogQWRkIFNsb3ZlbmlhbiB0cmFuc2xhdGlvbiAoVGhhbmtzIHRvIEtsZW1lbiBUdcWhYXIpCiogTW9yZSBlZmZpY2llbnQgd29yZCB3cmFwcGluZwoqIEFkZCBzdXBwb3J0IGZvciBTL01JTUUgc2lnbmluZyB3aXRoIGFkZGl0aW9uYWwgQ0EgY2VydGlmaWNhdGUgKHRoYW5rcyB0byBASWdpdEJ1aCkKKiBGaXggaW5jb3JyZWN0IE1JTUUgc3RydWN0dXJlIHdoZW4gdXNpbmcgUy9NSU1FIHNpZ25pbmcgYW5kIGlzTWFpbCgpICgjMzcyKQoqIEltcHJvdmVkIGNoZWNrcyBhbmQgZXJyb3IgbWVzc2FnZXMgZm9yIG1pc3NpbmcgZXh0ZW5zaW9ucwoqIFN0b3JlIGFuZCByZXBvcnQgU01UUCBlcnJvcnMgbW9yZSBjb25zaXN0ZW50bHkKKiBBZGQgTUlNRSBtdWx0aXBhcnQgcHJlYW1ibGUgZm9yIGJldHRlciBPdXRsb29rIGNvbXBhdGliaWxpdHkKKiBFbmFibGUgVExTIGVuY3J5cHRpb24gYXV0b21hdGljYWxseSBpZiB0aGUgc2VydmVyIG9mZmVycyBpdAoqIFByb3ZpZGUgZGV0YWlsZWQgZXJyb3JzIHdoZW4gaW5kaXZpZHVhbCByZWNpcGllbnRzIGZhaWwKKiBSZXBvcnQgbW9yZSBlcnJvcnMgd2hlbiBjb25uZWN0aW5nCiogQWRkIGV4dHJhcyBjbGFzc2VzIHRvIGNvbXBvc2VyIGNsYXNzbWFwCiogRXhwb3NlIHN0cmVhbV9jb250ZXh0X2NyZWF0ZSBvcHRpb25zIHZpYSBuZXcgU01UUE9wdGlvbnMgcHJvcGVydHkKKiBBdXRvbWF0aWMgZW5jb2Rpbmcgc3dpdGNoIHRvIHF1b3RlZC1wcmludGFibGUgaWYgbWVzc2FnZSBsaW5lcyBhcmUgdG9vIGxvbmcKKiBBZGQgS29yZWFuIHRyYW5zbGF0aW9uIChUaGFua3MgdG8gQENoYWxrUEUpCiogUHJvdmlkZSBhIHBvaW50ZXIgdG8gdHJvdWJsZXNob290aW5nIGRvY3Mgb24gU01UUCBjb25uZWN0aW9uIGZhaWx1cmUKCiMjIFZlcnNpb24gNS4yLjkgKFNlcHQgMjV0aCAyMDE0KQoqICoqSW1wb3J0YW50OiBUaGUgYXV0b2xvYWRlciBpcyBubyBsb25nZXIgYXV0b2xvYWRlZCBieSB0aGUgUEhQTWFpbGVyIGNsYXNzKioKKiBVcGRhdGUgaHRtbDJ0ZXh0IGZyb20gaHR0cHM6Ly9naXRodWIuY29tL210aWJiZW4vaHRtbDJ0ZXh0CiogSW1wcm92ZSBBcmFiaWMgdHJhbnNsYXRpb25zIChUaGFua3MgdG8gQHRhcmVrZGopCiogQ29uc2lzdGVudCBoYW5kbGluZyBvZiBjb25uZWN0aW9uIHZhcmlhYmxlcyBpbiBTTVRQIGFuZCBQT1AzCiogUEhQRG9jIGNsZWFudXAKKiBVcGRhdGUgY29tcG9zZXIgdG8gdXNlIFBIUFVuaXQgNC4xCiogUGFzcyBjb25zaXN0ZW50IHBhcmFtcyB0byBjYWxsYmFja3MKKiBNb3JlIGNvbnNpc3RlbnQgaGFuZGxpbmcgb2YgZXJyb3Igc3RhdGVzIGFuZCBkZWJ1ZyBvdXRwdXQKKiBVc2UgcHJvcGVydHkgZGVmYXVsdHMsIHJlbW92ZSBjb25zdHJ1Y3RvcnMKKiBSZW1vdmUgdW5yZWFjaGFibGUgY29kZQoqIFVzZSBvbGRlciByZWdleCB2YWxpZGF0aW9uIHBhdHRlcm4gZm9yIHRyb3VibGVzb21lIFBDUkUgbGlicmFyeSB2ZXJzaW9ucwoqIEltcHJvdmUgUENSRSBkZXRlY3Rpb24gaW4gb2xkZXIgUEhQIHZlcnNpb25zCiogSGFuZGxlIGRlYnVnIG91dHB1dCBjb25zaXN0ZW50bHksIGFuZCBhbHdheXMgaW4gVVRGLTgKKiBBbGxvdyB1c2VyLWRlZmluZWQgZGVidWcgb3V0cHV0IG1ldGhvZCB2aWEgYSBjYWxsYWJsZQoqIG1zZ0hUTUwgbm93IGNvbnZlcnRzIGRhdGEgVVJJcyB0byBlbWJlZGRlZCBpbWFnZXMKKiBTTVRQOjpnZXRMYXN0UmVwbHkoKSB3aWxsIG5vdyBhbHdheXMgYmUgcG9wdWxhdGVkCiogSW1wcm92ZWQgZXhhbXBsZSBjb2RlIGluIFJFQURNRQoqIEVuc3VyZSBsb25nIGZpbGVuYW1lcyBpbiBDb250ZW50LURpc3Bvc2l0aW9uIGFyZSBlbmNvZGVkIGNvcnJlY3RseQoqIFNpbXBsaWZ5IFNNVFAgZGVidWcgb3V0cHV0IG1lY2hhbmlzbSwgY2xhcmlmeSBsZXZlbHMgd2l0aCBjb25zdGFudHMKKiBBZGQgU01UUCBjb25uZWN0aW9uIGNoZWNrIGV4YW1wbGUKKiBTaW1wbGlmeSBleGFtcGxlcywgZG9uJ3QgdXNlIG15c3FsKiBmdW5jdGlvbnMKCiMjIFZlcnNpb24gNS4yLjggKE1heSAxNHRoIDIwMTQpCiogSW5jcmVhc2UgdGltZW91dCB0byBtYXRjaCBSRkMyODIxIHNlY3Rpb24gNC41LjMuMiBhbmQgdGh1cyBub3QgZmFpbCBncmVldGRlbGF5cywgZml4ZXMgIzEwNAoqIEFkZCB0aW1lc3RhbXBzIHRvIGRlZmF1bHQgZGVidWcgb3V0cHV0CiogQWRkIGNvbm5lY3Rpb24gZXZlbnRzIGFuZCBuZXcgbGV2ZWwgMyB0byBkZWJ1ZyBvdXRwdXQgb3B0aW9ucwoqIENoaW5lc2UgbGFuZ3VhZ2UgdXBkYXRlIChUaGFua3MgdG8gQGJpbmFyeW91bmcpCiogQWxsb3cgY3VzdG9tIE1haWxlciB0eXBlcyAoVGhhbmtzIHRvIEBtaWNoaWVsZCkKKiBDb3BlIHdpdGggc3BhY2VzIGFyb3VuZCBTTVRQIGhvc3Qgc3BlY3MKKiBGaXggcHJvY2Vzc2luZyBvZiBtdWx0aXBsZSBob3N0cyBpbiBjb25uZWN0IHN0cmluZwoqIEFkZGVkIEdhbGljaWFuIHRyYW5zbGF0aW9uIChUaGFua3MgdG8gQGRvbmF0b3JvdWNvKQoqIEF1dG9sb2FkZXIgbm93IHByZXBlbmRzCiogRG9jcyB1cGRhdGVzCiogQWRkIExhdHZpYW4gdHJhbnNsYXRpb24gKFRoYW5rcyB0byBAZWRkc3N0dWRpbykKKiBBZGQgQmVsYXJ1c2lhbiB0cmFuc2xhdGlvbiAoVGhhbmtzIHRvIEBhbWFrc3ltaXVrKQoqIE1ha2UgYXV0b2xvYWRlciB3b3JrIGJldHRlciBvbiBvbGRlciBQSFAgdmVyc2lvbnMKKiBBdm9pZCBkb3VibGUtZW5jb2RpbmcgaWYgbWJzdHJpbmcgaXMgb3ZlcmxvYWRpbmcgbWFpbCgpCiogQWRkIFBvcnR1Z3Vlc2UgdHJhbnNsYXRpb24gKFRoYW5rcyB0byBASm9uYWRhYmUpCiogTWFrZSBxdW90ZWQtcHJpbnRhYmxlIGVuY29kZXIgcmVzcGVjdCBsaW5lIGVuZGluZyBzZXR0aW5nCiogSW1wcm92ZSBDaGluZXNlIHRyYW5zbGF0aW9uIChUaGFua3MgdG8gQFBldGVyRGF2ZUhlbGxvKQoqIEFkZCBHZW9yZ2lhbiB0cmFuc2xhdGlvbiAoVGhhbmtzIHRvIEBha2Fsb25nbWFuKQoqIEFkZCBHcmVlayB0cmFuc2xhdGlvbiAoVGhhbmtzIHRvIEBsZW5hc3RlcmcpCiogRml4IHNlcnZlckhvc3RuYW1lIG9uIFBIUCA8IDUuMwoqIEltcHJvdmUgcGVyZm9ybWFuY2Ugb2YgU01UUCBjbGFzcwoqIEltcGxlbWVudCBhdXRvbWF0aWMgN2JpdCBkb3duZ3JhZGUKKiBBZGQgVmlldG5hbWVzZSB0cmFuc2xhdGlvbiAoVGhhbmtzIHRvIEB2aW5hZGVzKQoqIEltcHJvdmUgZXhhbXBsZSBpbWFnZXMsIHN3aXRjaCB0byBQTkcKKiBBZGQgQ3JvYXRpYW4gdHJhbnNsYXRpb24gKFRoYW5rcyB0byBAaHJ2b2ozZSkKKiBSZW1vdmUgc2V0dGluZyB0aGUgUmV0dXJuLVBhdGggYW5kIGRlcHJlY2F0ZSB0aGUgUmV0dXJuLXBhdGggcHJvcGVydHkgLSBpdCdzIGp1c3Qgd3JvbmchCiogRml4IGxhbmd1YWdlIGZpbGUgbG9hZGluZyBpZiBDV0QgaGFzIGNoYW5nZWQgKEBzdGVwaGFuZGVzb3V6YSkKKiBBZGQgSFRNTDUgZW1haWwgdmFsaWRhdGlvbiBwYXR0ZXJuCiogSW1wcm92ZSBUdXJraXNoIHRyYW5zbGF0aW9ucyAoVGhhbmtzIHRvIEB5YXNpbmF5ZGluKQoqIEltcHJvdmUgUm9tYW5pYW4gdHJhbnNsYXRpb25zIChUaGFua3MgdG8gQGFmbG9yZWEpCiogQ2hlY2sgcGhwLmluaSBmb3IgcGF0aCB0byBzZW5kbWFpbC9xbWFpbCBiZWZvcmUgdXNpbmcgZGVmYXVsdAoqIEltcHJvdmUgRmFyc2kgdHJhbnNsYXRpb24gKFRoYW5rcyB0byBATUhNNTAwMCkKKiBEb24ndCB1c2UgcXVvdGVkLXByaW50YWJsZSBlbmNvZGluZyBmb3IgbXVsdGlwYXJ0IHR5cGVzCiogQWRkIFNlcmJpYW4gdHJhbnNsYXRpb24gKFRoYW5rcyB0byBhamV2cmVtb3ZpYyBhdCBnbWFpbC5jb20pCiogUmVtb3ZlIHVzZWxlc3MgUEhQNSBjaGVjawoqIFVzZSBTVkcgZm9yIGJ1aWxkIHN0YXR1cyBiYWRnZXMKKiBTdG9yZSBNZXNzYWdlRGF0ZSBvbiBjcmVhdGlvbgoqIEJldHRlciBkZWZhdWx0IGJlaGF2aW91ciBmb3IgdmFsaWRhdGVBZGRyZXNzCgojIyBWZXJzaW9uIDUuMi43IChTZXB0ZW1iZXIgMTJ0aCAyMDEzKQoqIEFkZCBVa3JhaW5pYW4gdHJhbnNsYXRpb24gZnJvbSBAS3JlemFsaXMKKiBTdXBwb3J0IGZvciBkb192ZXJwCiogRml4IGJ1ZyBpbiBDUkFNLU1ENSBBVVRICiogUHJvcGFnYXRlIERlYnVnb3V0cHV0IG9wdGlvbiB0byBTTVRQIGNsYXNzIChAUmVibHV0dXMpCiogRGV0ZXJtaW5lIE1JTUUgdHlwZSBvZiBhdHRhY2htZW50cyBhdXRvbWF0aWNhbGx5CiogQWRkIGNyb3NzLXBsYXRmb3JtLCBtdWx0aWJ5dGUtc2FmZSBwYXRoaW5mbyByZXBsYWNlbWVudCAod2l0aCB0ZXN0cykgYW5kIHVzZSBpdAoqIEFkZCBhIG5ldyAnaHRtbCcgRGVidWdvdXRwdXQgdHlwZQoqIENsZWFuIHVwIFNNVFAgZGVidWcgb3V0cHV0LCByZW1vdmUgZW1iZWRkZWQgSFRNTAoqIFNvbWUgc21hbGwgY2hhbmdlcyBpbiBoZWFkZXIgZm9ybWF0dGluZyB0byBpbXByb3ZlIElFVEYgbXNnbGludCB0ZXN0IHJlc3VsdHMKKiBVcGRhdGUgdGVzdF9zY3JpcHQgdG8gdXNlIHNvbWUgcmVjZW50bHkgY2hhbmdlZCBmZWF0dXJlcywgcmVuYW1lIHRvIGNvZGVfZ2VuZXJhdG9yCiogR2VuZXJhdGVkIGNvZGUgYWN0dWFsbHkgd29ya3MhCiogVXBkYXRlIFN5bnRheEhpZ2hsaWdodGVyCiogTWFqb3Igb3ZlcmhhdWwgYW5kIGNsZWFudXAgb2YgZXhhbXBsZSBjb2RlCiogTmV3IFBIUE1haWxlciBncmFwaGljCiogbXNnSFRNTCBub3cgdXNlcyBSRkMyMzkyLWNvbXBsaWFudCBjb250ZW50IGlkcwoqIEFkZCBsaW5lIGJyZWFrIG5vcm1hbGl6YXRpb24gZnVuY3Rpb24gYW5kIHVzZSBpdCBpbiBtc2dIVE1MCiogRG9uJ3Qgc2V0IHVubmVjZXNzYXJ5IHJlcGx5LXRvIGFkZHJlc3NlcwoqIE1ha2UgZmFrZXNlbmRtYWlsLnNoIGEgYml0IGNsZWFuZXIgYW5kIHNhZmVyCiogU2V0IGEgY29udGVudC10cmFuc2Zlci1lbmNvZGluZyBvbiBtdWx0aXBhcnRzIChmaXhlcyBtc2dsaW50IGVycm9yKQoqIEZpeCBjaWQgZ2VuZXJhdGlvbiBpbiBtc2dIVE1MIChUaGFua3MgdG8gQGRpZ2l0YWx0aG91Z2h0KQoqIEZpeCBoYW5kbGluZyBvZiBtdWx0aXBsZSBTTVRQIHNlcnZlcnMgKFRoYW5rcyB0byBATmFub0NhaW9yZG8pCiogU01UUC0+Y29ubmVjdCgpIG5vdyBzdXBwb3J0cyBzdHJlYW0gY29udGV4dCBvcHRpb25zIChUaGFua3MgdG8gQHN0YW5pc2xhdmRhdmlkKQoqIEFkZCBzdXBwb3J0IGZvciBpQ2FsIGV2ZW50IGFsdGVybmF0aXZlcyAoVGhhbmtzIHRvIEByZWJsdXR1cykKKiBVcGRhdGUgdG8gUG9saXNoIGxhbmd1YWdlIGZpbGUgKFRoYW5rcyB0byBLcnp5c3p0b2YgS293YWxld3NraSkKKiBVcGRhdGUgdG8gTm9yd2VnaWFuIGxhbmd1YWdlIGZpbGUgKFRoYW5rcyB0byBAZGF0YWd1dHRlbikKKiBVcGRhdGUgdG8gSHVuZ2FyaWFuIGxhbmd1YWdlIGZpbGUgKFRoYW5rcyB0byBAZG9taW5pY3VzLTc1KQoqIEFkZCBQZXJzaWFuL0ZhcnNpIHRyYW5zbGF0aW9uIGZyb20gQGphaWkKKiBNYWtlIFNNVFBEZWJ1ZyBwcm9wZXJ0eSB0eXBlIG1hdGNoIHR5cGUgaW4gU01UUCBjbGFzcwoqIEFkZCB1bml0IHRlc3RzIGZvciBES0lNCiogTWFqb3IgcmVmYWN0b3Igb2YgU01UUCBjbGFzcwoqIFJlZm9ybWF0IHRvIFBTUi0yIGNvZGluZyBzdGFuZGFyZAoqIEludHJvZHVjZSBhdXRvbG9hZGVyCiogQWxsb3cgb3ZlcnJpZGluZyBvZiBTTVRQIGNsYXNzCiogT3ZlcmhhdWwgb2YgUEhQRG9jcwoqIEZpeCBicm9rZW4gUS1lbmNvZGluZwoqIEN6ZWNoIGxhbmd1YWdlIHVwZGF0ZSAoVGhhbmtzIHRvIEBuZW1lbHUpCiogUmVtb3ZhbCBvZiBleGNlc3MgYmxhbmsgbGluZXMgaW4gbWVzc2FnZXMKKiBBZGRlZCBmYWtlIFBPUCBzZXJ2ZXIgYW5kIHVuaXQgdGVzdHMgZm9yIFBPUC1iZWZvcmUtU01UUAoKIyMgVmVyc2lvbiA1LjIuNiAoQXByaWwgMTF0aCAyMDEzKQoqIFJlZmxlY3QgbW92ZSB0byBQSFBNYWlsZXIgR2l0SHViIG9yZ2FuaXNhdGlvbiBhdCBodHRwczovL2dpdGh1Yi5jb20vUEhQTWFpbGVyL1BIUE1haWxlcgoqIEZpeCB1bmJ1bXBlZCB2ZXJzaW9uIG51bWJlcnMKKiBVcGRhdGUgcGFja2FnaXN0Lm9yZyB3aXRoIG5ldyBsb2NhdGlvbgoqIENsZWFuIHVwIENoYW5nZWxvZwoKIyMgVmVyc2lvbiA1LjIuNSAoQXByaWwgNnRoIDIwMTMpCiogRmlyc3Qgb2ZmaWNpYWwgcmVsZWFzZSBhZnRlciBtb3ZlIGZyb20gR29vZ2xlIENvZGUKKiBGaXhlcyBmb3IgcW1haWwgd2hlbiBzZW5kaW5nIHZpYSBtYWlsKCkKKiBNZXJnZSBpbiBjaGFuZ2VzIGZyb20gR29vZ2xlIGNvZGUgNS4yLjQgcmVsZWFzZQoqIE1pbm9yIGNvZGluZyBzdGFuZGFyZHMgY2xlYW51cCBpbiBTTVRQIGNsYXNzCiogSW1wcm92ZWQgdW5pdCB0ZXN0cywgbm93IHRlc3RzIFMvTUlNRSBzaWduaW5nCiogVHJhdmlzLUNJIHN1cHBvcnQgb24gR2l0SHViLCBydW5zIHRlc3RzIHdpdGggZmFrZSBTTVRQIHNlcnZlcgoKIyMgVmVyc2lvbiA1LjIuNCAoRmVicnVhcnkgMTksIDIwMTMpCiogRml4IHRhZyBhbmQgdmVyc2lvbiBidWcuCiogdW4tZGVwcmVjYXRlIGlzU01UUCgpLCBpc01haWwoKSwgSXNTZW5kbWFpbCgpIGFuZCBpc1FtYWlsKCkuCiogTnVtZXJvdXMgdHJhbnNsYXRpb24gdXBkYXRlcwoKIyMgVmVyc2lvbiA1LjIuMyAoRmVicnVhcnkgOCwgMjAxMykKKiBGaXggaXNzdWUgd2l0aCBvbGRlciBQQ1JFcyBhbmQgVmFsaWRhdGVBZGRyZXNzKCkgKEJ1Z3o6IDEyNCkKKiBBZGQgQ1JBTS1NRDUgYXV0aGVudGljYXRpb24sIHRoYW5rcyB0byBFbGlqYWggbWFkZGVuLCBodHRwczovL2dpdGh1Yi5jb20vb2tvbm9taXlha2kzMDAwCiogUmVwbGFjZW1lbnQgb2Ygb2Jzb2xldGUgUXVvdGVkLVByaW50YWJsZSBlbmNvZGVyIHdpdGggYSBtdWNoIGJldHRlciBpbXBsZW1lbnRhdGlvbgoqIENvbXBvc2VyIHBhY2thZ2UgZGVmaW5pdGlvbgoqIE5ldyBsYW5ndWFnZSBhZGRlZDogSGVicmV3CgojIyBWZXJzaW9uIDUuMi4yIChEZWNlbWJlciAzLCAyMDEyKQoqIFNvbWUgZml4ZXMgYW5kIHN5bmNzIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1N5bmNocm8vUEhQTWFpbGVyCiogQWRkIFNsb3ZhayB0cmFuc2xhdGlvbiwgdGhhbmtzIHRvIE1pY2hhbCBUaW5rYQoKIyMgVmVyc2lvbiA1LjIuMi1yYzIgKE5vdmVtYmVyIDYsIDIwMTIpCiogRml4IFNNVFAgc2VydmVyIHJvdGF0aW9uIChCdWd6OiAxMTgpCiogQWxsb3cgb3ZlcnJpZGUgb2YgYXV0b2dlbidlZCAnRGF0ZScgaGVhZGVyIChmb3IgRHJ1cGFsJ3MKICBvZ19tYWlsaW5nbGlzdCBtb2R1bGUpCiogTm8gd2hpdGVzcGFjZSBhZnRlciAnLWYnIG9wdGlvbiAoQnVnejogMTE2KQoqIFdvcmsgYXJvdW5kIHBvdGVudGlhbCB3YXJuaW5nIChCdWd6OiAxMTQpCgojIyBWZXJzaW9uIDUuMi4yLXJjMSAoU2VwdGVtYmVyIDI4LCAyMDEyKQoqIEhlYWRlciBlbmNvZGluZyB3b3JrcyB3aXRoIGxvbmcgbGluZXMgKEJ1Z3o6IDkzKQoqIFR1cmtpc2ggbGFuZ3VhZ2UgdXBkYXRlIChCdWd6OiA5NCkKKiB1bmRlZmluZWQgJHBhdHRlcm4gaW4gRW5jb2RlUSBidWcgc3F1YXNoZWQgKEJ1Z3o6IDk4KQoqIHVzZSBvZiBtYWlsKCkgaW4gc2FmZV9tb2RlIG5vdyB3b3JrcyAoQnVnejogOTYpCiogVmFsaWRhdGVBZGRyZXNzKCkgbm93ICdwdWJsaWMgc3RhdGljJyBzbyBwZW9wbGUgY2FuIG92ZXJyaWRlIHRoZQogIGRlZmF1bHQgYW5kIHVzZSB0aGVpciBvd24gdmFsaWRhdGlvbiBzY2hlbWUuCiogVmFsaWRhdGVBZGRyZXNzKCkgbm8gbG9uZ2VyIHVzZXMgYnJva2VuIEZJTFRFUl9WQUxJREFURV9FTUFJTAoqIEFkZGVkIGluIEFVVEggUExBSU4gU01UUCBhdXRoZW50aWNhdGlvbgoKIyMgVmVyc2lvbiA1LjIuMi1iZXRhMiAoQXVndXN0IDE3LCAyMDEyKQoqIEZpeGVkIFBvc3RmaXggVkVSUCBzdXBwb3J0IChCdWd6OiA5MikKKiBBbGxvdyBhY3Rpb25fZnVuY3Rpb24gY2FsbGJhY2tzIHRvIHBhc3MvdXNlCiAgdGhlIEZyb20gYWRkcmVzcyAocGFzc2VkIGFzIGZpbmFsIHBhcmFtKQoqIFByZXZlbnQgaW5mIGxvb2sgZm9yIGdldF9saW5lcygpIChCdWd6OiA3NykKKiBOZXcgcHVibGljIHZhciAoJFVzZVNlbmRtYWlsT3B0aW9ucykuIE9ubHkgcGFzcyBzZW5kbWFpbCgpCiAgb3B0aW9ucyBpZmYgd2UgcmVhbGx5IGFyZSB1c2luZyBzZW5kbWFpbCBvciBzb21ldGhpbmcgc2VuZG1haWwKICBjb21wYXRpYmxlLiAoQnVnejogNzUpCiogZGVmYXVsdCBzZXR0aW5nIGZvciBMRSByZXR1cm5lZCB0byAiXG4iIGR1ZSB0byBwb3B1bGFyIGRlbWFuZC4KCiMjIFZlcnNpb24gNS4yLjItYmV0YTEgKEp1bHkgMTMsIDIwMTIpCiogRXhwb3NlIFByZVNlbmQoKSBhbmQgUG9zdFNlbmQoKSBhcyBwdWJsaWMgbWV0aG9kcyB0byBhbGxvdwogIGZvciBtb3JlIGNvbnRyb2wgaWYgc2VyaWFsaXppbmcgbWVzc2FnZSBzZW5kaW5nLgoqIEdldFNlbnRNSU1FTWVzc2FnZSgpIG9ubHkgY29uc3RydWN0cyB0aGUgbWVzc2FnZSBjb3B5IHdoZW4KIG5lZWRlZC4gU2F2ZSBtZW1vcnkuCiogT25seSBwYXNzIHBhcmFtcyB0byBtYWlsKCkgaWYgdGhlIHVuZGVybHlpbmcgTVRBIGlzCiAgInNlbmRtYWlsIiAoYXMgZGVmaW5lZCBhcyAiaGF2aW5nIHRoZSBzdHJpbmcgc2VuZG1haWwKICBpbiBpdHMgcGF0aG5hbWUiKSBbIzY5XQoqIEF0dGFjaG1lbnRzIG5vdyB3b3JrIHdpdGggQW1hem9uIFNFUyBhbmQgb3RoZXJzIFtCdWd6IzcwXQoqIERlYnVnIG91dHB1dCBub3cgc2VudCB0byBzdGRvdXQgKHZpYSBlY2hvKSBvciBlcnJvcl9sb2cgW0J1Z3ojNV0KKiBOZXcgdmFyOiBEZWJ1Z291dHB1dCAoZm9yIGFib3ZlKSBbQnVneiM1XQoqIFNNVFAgcmVhZHMgbm93IFRpbWVvdXQgYXdhcmUgKG5ldyB2YXI6IFRpbWVvdXQ9MTUpIFtCdWd6IzcxXQoqIFNNVFAgcmVhZHMgbm93IGNhbiBoYXZlIGEgVGltZWxpbWl0IGFzc29jaWF0ZWQgd2l0aCB0aGVtCiAgKG5ldyB2YXI6IFRpbWVsaW1pdD0zMClbQnVneiM3MV0KKiBGaXggcXVvdGluZyBpc3N1ZSBhc3NvY2lhdGVkIHdpdGggY2hhcnNldHMKKiBkZWZhdWx0IHNldHRpbmcgZm9yIExFIGlzIG5vdyBSRkMgY29tcGxpYW50OiAiXHJcbiIKKiBSZXR1cm4tUGF0aCBjYW4gbm93IGJlIHVzZXIgZGVmaW5lZCAobmV3IHZhcjogUmV0dXJuUGF0aCkKICAodGhlIGRlZmF1bHQgaXMgIiIgd2hpY2ggaW1wbGllcyBubyBjaGFuZ2UgZnJvbSBwcmV2aW91cwogIGJlaGF2aW9yLCB3aGljaCB3YXMgdG8gdXNlIGVpdGhlciBGcm9tIG9yIFNlbmRlcikgW0J1Z3ojNDZdCiogWC1NYWlsZXIgaGVhZGVyIGNhbiBub3cgYmUgZGlzYWJsZWQgKGJ5IHNldHRpbmcgdG8gYQogIHdoaXRlc3BhY2Ugc3RyaW5nLCBlZyAiICAiKSBbQnVneiM2Nl0KKiBCdWd6IGNsb3NlZDogIzY4LCAjNjAsICM0MiwgIzQzLCAjNTksICM1NSwgIzY2LCAjNDgsICM0OSwKICAgICAgICAgICAgICAgIzUyLCAjMzEsICM0MSwgIzUuICM3MCwgIzY5CgojIyBWZXJzaW9uIDUuMi4xIChKYW51YXJ5IDE2LCAyMDEyKQoqIENsb3NlZCBzZXZlcmFsIGJ1Z3MgIzUKKiBQZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMKKiBNc2dIVE1MKCkgbm93IHJldHVybnMgdGhlIG1lc3NhZ2UgYXMgcmVxdWlyZWQuCiogTmV3IG1ldGhvZDogR2V0U2VudE1JTUVNZXNzYWdlKCkgKHJldHVybnMgZnVsbCBjb3B5IG9mIHNlbnQgbWVzc2FnZSkKCiMjIFZlcnNpb24gNS4yIChKdWx5IDE5LCAyMDExKQoqIHByb3RlY3RlZCBNSU1FIGJvZHkgYW5kIGhlYWRlcgoqIGJldHRlciBES0lNIEROUyBSZXNvdXJjZSBSZWNvcmQgc3VwcG9ydAoqIGJldHRlciBhbHkgaGFuZGxpbmcKKiBodG1sZmlsdGVyIGNsYXNzIGFkZGVkIHRvIGV4dHJhcwoqIG1vdmVkIHRvIEFwYWNoZSBFeHRyYXMKCiMjIFZlcnNpb24gNS4xIChPY3RvYmVyIDIwLCAyMDA5KQoqIGZpeGVkIGZpbGVuYW1lIGlzc3VlIHdpdGggQWRkU3RyaW5nQXR0YWNobWVudCAodGhhbmtzIHRvIFRvbnkpCiogZml4ZWQgIlNpbmdsZVRvIiBwcm9wZXJ0eSwgbm93IHdvcmtzIHdpdGggU2VubWFpbCwgUW1haWwsIGFuZCBTTVRQIGluCiAgYWRkaXRpb24gdG8gUEhQIG1haWwoKQoqIGFkZGVkIERLSU0gZGlnaXRhbCBzaWduaW5nIGZ1bmN0aW9uYWxpdHksIG5ldyBwcm9wZXJ0aWVzOgogIC0gREtJTV9kb21haW4gKHNldHMgdGhlIGRvbWFpbiBuYW1lKQogIC0gREtJTV9wcml2YXRlIChob2xkcyBES0lNIHByaXZhdGUga2V5KQogIC0gREtJTV9wYXNzcGhyYXNlIChob2xkcyB5b3VyIERLSU0gcGFzc3BocmFzZSkKICAtIERLSU1fc2VsZWN0b3IgKGhvbGRzIHRoZSBES0lNICJzZWxlY3RvciIpCiAgLSBES0lNX2lkZW50aXR5IChob2xkcyB0aGUgaWRlbnRpZnlpbmcgZW1haWwgYWRkcmVzcykKKiBhZGRlZCBjYWxsYmFjayBmdW5jdGlvbiBzdXBwb3J0CiAgLSBjYWxsYmFjayBmdW5jdGlvbiBwYXJhbWV0ZXJzIGluY2x1ZGU6CiAgICByZXN1bHQsIHRvLCBjYywgYmNjLCBzdWJqZWN0IGFuZCBib2R5CiAgLSBzZWUgdGhlIHRlc3QvdGVzdF9jYWxsYmFjay5waHAgZmlsZSBmb3IgdXNhZ2UuCiogYWRkZWQgImF1dG8iIGlkZW50aXR5IGZ1bmN0aW9uYWxpdHkKICAtIGNhbiBhdXRvbWF0aWNhbGx5IGFkZDoKICAgIC0gUmV0dXJuLXBhdGggKGlmIFNlbmRlciBub3Qgc2V0KQogICAgLSBSZXBseS1UbyAoaWYgUmVwbHlUbyBub3Qgc2V0KQogIC0gY2FuIGJlIGRpc2FibGVkOgogICAgLSAkbWFpbC0+U2V0RnJvbSgneW91cm5hbWVAeW91cmRvbWFpbi5jb20nLCdGaXJzdCBMYXN0JyxmYWxzZSk7CiAgICAtIG9yIGJ5IGFkZGluZyB0aGUgJG1haWwtPlNlbmRlciBhbmQvb3IgJG1haWwtPlJlcGx5VG8gcHJvcGVydGllcwoKTm90ZTogImF1dG8iIGlkZW50aXR5IGFkZGVkIHRvIGhlbHAgd2l0aCBlbWFpbHMgZW5kaW5nIHVwIGluIHNwYW0gb3IganVuayBib3hlcyBiZWNhdXNlIG9mIG1pc3NpbmcgaGVhZGVycwoKIyMgVmVyc2lvbiA1LjAuMiAoTWF5IDI0LCAyMDA5KQoqIEZpeCBmb3IgbWlzc2luZyBhdHRhY2htZW50cyB3aGVuIGlubGluZSBncmFwaGljcyBhcmUgcHJlc2VudAoqIEZpeCBmb3IgbWlzc2luZyBDYyBpbiBoZWFkZXIgd2hlbiB1c2luZyBTTVRQIChtYWlsIHdhcyBzZW50LAogIGJ1dCBub3QgZGlzcGxheWVkIGluIGhlYWRlciAtLSBDYyByZWNlaXZlciBvbmx5IHNhdyBlbWFpbCBUbzoKICBsaW5lIGFuZCBubyBDYyBsaW5lLCBidXQgZGlkIGdldCB0aGUgZW1haWwgKFRvIHJlY2VpdmVyCiAgc2F3IHNhbWUpCgojIyBWZXJzaW9uIDUuMC4xIChBcHJpbCAwNSwgMjAwOSkKKiBUZW1wb3JhcnkgZml4IGZvciBtaXNzaW5nIGF0dGFjaG1lbnRzCgojIyBWZXJzaW9uIDUuMC4wIChBcHJpbCAwMiwgMjAwOSkKV2l0aCB0aGUgcmVsZWFzZSBvZiB0aGlzIHZlcnNpb24sIHdlIGFyZSBpbml0aWF0aW5nIGEgbmV3IHZlcnNpb24gbnVtYmVyaW5nCnN5c3RlbSB0byBkaWZmZXJlbnRpYXRlIGZyb20gdGhlIFBIUDQgdmVyc2lvbiBvZiBQSFBNYWlsZXIuCk1vc3Qgbm90YWJsZSBpbiB0aGlzIHJlbGVhc2UgaXMgZnVsbHkgb2JqZWN0IG9yaWVudGVkIGNvZGUuCgojIyMgY2xhc3Muc210cC5waHA6CiogUmVmYWN0b3JlZCBjbGFzcy5zbXRwLnBocCB0byBzdXBwb3J0IG5ldyBleGNlcHRpb24gaGFuZGxpbmcKKiBjb2RlIHNpemUgcmVkdWNlZCBmcm9tIDI5LjIgS2IgdG8gMjUuNiBLYgoqIFJlbW92ZWQgdW5uZWNlc3NhcnkgZnVuY3Rpb25zIGZyb20gY2xhc3Muc210cC5waHA6CiAgLSBwdWJsaWMgZnVuY3Rpb24gRXhwYW5kKCRuYW1lKSB7CiAgLSBwdWJsaWMgZnVuY3Rpb24gSGVscCgka2V5d29yZD0iIikgewogIC0gcHVibGljIGZ1bmN0aW9uIE5vb3AoKSB7CiAgLSBwdWJsaWMgZnVuY3Rpb24gU2VuZCgkZnJvbSkgewogIC0gcHVibGljIGZ1bmN0aW9uIFNlbmRPck1haWwoJGZyb20pIHsKICAtIHB1YmxpYyBmdW5jdGlvbiBWZXJpZnkoJG5hbWUpIHsKCiMjIyAgY2xhc3MucGhwbWFpbGVyLnBocDoKKiBSZWZhY3RvcmVkIGNsYXNzLnBocG1haWxlci5waHAgd2l0aCBuZXcgZXhjZXB0aW9uIGhhbmRsaW5nCiogQ2hhbmdlZCBwcm9jZXNzaW5nIGZ1bmN0aW9uYWxpdHkgb2YgU2VuZG1haWwgYW5kIFFtYWlsIHNvIHRoZXkgY2Fubm90IGJlCiAgaW5hZHZlcnRlbnRseSB1c2VkCiogcmVtb3ZlZCBnZXRGaWxlKCkgZnVuY3Rpb24sIGp1c3QgYmVjYW1lIGEgc2ltcGxlIHdyYXBwZXIgZm9yCiAgZmlsZV9nZXRfY29udGVudHMoKQoqIGFkZGVkIGNoZWNrIGZvciBQSFAgdmVyc2lvbiAod2lsbCBncmFjZWZ1bGx5IGV4aXQgaWYgbm90IGF0IGxlYXN0IFBIUCA1LjApCiogZW5oYW5jZWQgY29kZSB0byBjaGVjayBpZiBhbiBhdHRhY2htZW50IHNvdXJjZSBpcyB0aGUgc2FtZSBhcyBhbiBlbWJlZGRlZCBvcgogIGlubGluZSBncmFwaGljIHNvdXJjZSB0byBlbGltaW5hdGUgZHVwbGljYXRlIGF0dGFjaG1lbnRzCgojIyMgTmV3IC90ZXN0X3NjcmlwdApXZSBoYXZlIHdyaXR0ZW4gYSB0ZXN0IHNjcmlwdCB5b3UgY2FuIHVzZSB0byB0ZXN0IHRoZSBzY3JpcHQgYXMgcGFydCBvZiB5b3VyCmluc3RhbGxhdGlvbi4gT25jZSB5b3UgcHJlc3Mgc3VibWl0LCB0aGUgdGVzdCBzY3JpcHQgd2lsbCBzZW5kIGEgbXVsdGktbWltZQplbWFpbCB3aXRoIGVpdGhlciB0aGUgbWVzc2FnZSB5b3UgdHlwZSBpbiBvciBhbiBIVE1MIGVtYWlsIHdpdGggYW4gaW5saW5lCmdyYXBoaWMuIFR3byBhdHRhY2htZW50cyBhcmUgaW5jbHVkZWQgaW4gdGhlIGVtYWlsIChvbmUgb2YgdGhlIGF0dGFjaG1lbnRzCmlzIGFsc28gdGhlIGlubGluZSBncmFwaGljIHNvIHlvdSBjYW4gc2VlIHRoYXQgb25seSBvbmUgY29weSBvZiB0aGUgZ3JhcGhpYwppcyBzZW50IGluIHRoZSBlbWFpbCkuIFRoZSB0ZXN0IHNjcmlwdCB3aWxsIGFsc28gZGlzcGxheSB0aGUgZnVuY3Rpb25hbApzY3JpcHQgdGhhdCB5b3UgY2FuIGNvcHkvcGFzdGUgdG8geW91ciBlZGl0b3IgdG8gZHVwbGljYXRlIHRoZSBmdW5jdGlvbmFsaXR5LgoKIyMjIE5ldyBleGFtcGxlcwpBbGwgbmV3IGV4YW1wbGVzIGluIGJvdGggYmFzaWMgYW5kIGFkdmFuY2VkIG1vZGVzLiBBZHZhbmNlZCBleGFtcGxlcyBzaG93CiAgIEV4Y2VwdGlvbiBoYW5kbGluZy4KCiMjIyBQSFBEb2N1bWVudGF0b3IgKHBocGRvY3MpIGRvY3VtZW50YXRpb24gZm9yIFBIUE1haWxlciB2ZXJzaW9uIDUuMC4wCkFsbCBuZXcgZG9jdW1lbnRhdGlvbgoKIyMgVmVyc2lvbiAyLjMgKE5vdmVtYmVyIDA2LCAyMDA4KQoqIGFkZGVkIEFyYWJpYyBsYW5ndWFnZSAobWFueSB0aGFua3MgdG8gQmFoamF0IEFsIE1vc3RhZmEpCiogcmVtb3ZlZCBFbmdsaXNoIGxhbmd1YWdlIGZyb20gbGFuZ3VhZ2UgZmlsZXMgYW5kIG1hZGUgaXQgYSBkZWZhdWx0IHdpdGhpbgogIGNsYXNzLnBocG1haWxlci5waHAgLSBpZiBubyBsYW5ndWFnZSBpcyBmb3VuZCwgaXQgd2lsbCBkZWZhdWx0IHRvIHVzZQogIHRoZSBlbmdsaXNoIGxhbmd1YWdlIHRyYW5zbGF0aW9uCiogZml4ZWQgcHVibGljL3ByaXZhdGUgZGVjbGFyYXRpb25zCiogY29ycmVjdGVkIGxpbmUgMTcyOCwgJGJhc2VkaXIgdG8gJGRpcmVjdG9yeQoqIGFkZGVkICRzaWduX2NlcnRfZmlsZSB0byBhdm9pZCBpbXByb3BlciBkdXBsaWNhdGUgdXNlIG9mICRzaWduX2tleV9maWxlCiogY29ycmVjdGVkICR0aGlzLT5IZWxsbyBvbiBsaW5lIDYxMiB0byAkdGhpcy0+SGVsbwoqIGNoYW5nZWQgZGVmYXVsdCBvZiAkTEUgdG8gIlxyXG4iIHRvIGNvbXBseSB3aXRoIFJGQyAyODIyLiBDYW4gYmUgc2V0IGJ5IHRoZSB1c2VyCiAgaWYgZGVmYXVsdCBpcyBub3QgYWNjZXB0YWJsZQoqIHJlbW92ZWQgdHJpbSgpIGZyb20gcmV0dXJuIHJlc3VsdHMgaW4gRW5jb2RlUVAKKiAvdGVzdCBhbmQgdGhyZWUgZmlsZXMgaXQgY29udGFpbmVkIGFyZSByZW1vdmVkIGZyb20gdmVyc2lvbiAyLjMKKiBmaXhlZCBwaHB1bml0LnBocCBmb3IgY29tcGxpYW5jZSB3aXRoIFBIUDUKKiBjaGFuZ2VkICR0aGlzLT5BbHRCb2R5ID0gJHRleHRNc2c7IHRvICR0aGlzLT5BbHRCb2R5ID0gaHRtbF9lbnRpdHlfZGVjb2RlKCR0ZXh0TXNnKTsKKiBXZSBoYXZlIHJlbW92ZWQgdGhlIC9waHBkb2MgZnJvbSB0aGUgZG93bmxvYWRzLiBBbGwgZG9jdW1lbnRhdGlvbiBpcyBub3cgb24KICB0aGUgaHR0cDovL3BocG1haWxlci5jb2Rld29yeHRlY2guY29tIHdlYnNpdGUuCgojIyBWZXJzaW9uIDIuMi4xICgpIEp1bHkgMTkgMjAwOAoqIGZpeGVkIGxpbmUgMTA5MiBpbiBjbGFzcy5zbXRwLnBocCAobXkgYXBvbG9naWVzLCBlcnJvciBvbiBteSBwYXJ0KQoKIyMgVmVyc2lvbiAyLjIgKCkgSnVseSAxNSAyMDA4CiogRml4ZWQgcmVkaXJlY3QgaXNzdWUgKGRpc3BsYXkgb2YgVVRGLTggaW4gdGhhbmsgeW91IHJlZGlyZWN0KQoqIGZpeGVkIGVycm9yIGluIGdldFJlc3BvbnNlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIChjbGFzcy5wb3AzLnBocCkKKiBQSFBNYWlsZXIgbm93IFBIUDYgY29tcGxpYW50CiogZml4ZWQgbGluZSAxMDkyIGluIGNsYXNzLnNtdHAucGhwIChlbmRsZXNzIGxvb3AgZnJvbSBtaXNzaW5nID0gc2lnbikKCiMjIFZlcnNpb24gMi4xIChXZWQsIEp1bmUgMDQgMjAwOCkKTk9URTogV0UgSEFWRSBBIE5FVyBMQU5HVUFHRSBWQVJJQUJMRSBGT1IgRElHSVRBTExZIFNJR05FRCBTL01JTUUgRU1BSUxTLiBJRiBZT1UgQ0FOIEhFTFAgV0lUSCBMQU5HVUFHRVMgT1RIRVIgVEhBTiBFTkdMSVNIIEFORCBTUEFOSVNILCBJVCBXT1VMRCBCRSBBUFBSRUNJQVRFRC4KCiogYWRkZWQgUy9NSU1FIGZ1bmN0aW9uYWxpdHkgKGFiaWxpdHkgdG8gZGlnaXRhbGx5IHNpZ24gZW1haWxzKQogIEJJRyBUSEFOS1MgVE8gInNlcmdpb2NhbWJyYSIgZm9yIHBvc3RpbmcgdGhpcyBwYXRjaCBiYWNrIGluIE5vdmVtYmVyIDIwMDcuCiAgVGhlICJTaWduZWQgRW1haWxzIiBmdW5jdGlvbmFsaXR5IGFkZHMgdGhlIFNpZ24gbWV0aG9kIHRvIHBhc3MgdGhlIHByaXZhdGUga2V5CiAgZmlsZW5hbWUgYW5kIHRoZSBwYXNzd29yZCB0byByZWFkIGl0LCBhbmQgdGhlbiBlbWFpbCB3aWxsIGJlIHNlbnQgd2l0aAogIGNvbnRlbnQtdHlwZSBtdWx0aXBhcnQvc2lnbmVkIGFuZCB3aXRoIHRoZSBkaWdpdGFsIHNpZ25hdHVyZSBhdHRhY2hlZC4KKiBmdWxseSBjb21wYXRpYmxlIHdpdGggRV9TVFJJQ1QgZXJyb3IgbGV2ZWwKICAtIFBsZWFzZSBub3RlOgogICAgSW4gYWJvdXQgaGFsZiB0aGUgdGVzdCBlbnZpcm9ubWVudHMgdGhpcyBkZXZlbG9wbWVudCB2ZXJzaW9uIHdhcyBzdWJqZWN0ZWQKICAgIHRvLCBhbiBlcnJvciB3YXMgdGhyb3duIGZvciB0aGUgZGF0ZSgpIGZ1bmN0aW9ucyB1c2VkIChsaW5lIDE1NjUgYW5kIDE1NjkpLgogICAgVGhpcyBpcyBOT1QgYSBQSFBNYWlsZXIgZXJyb3IsIGl0IGlzIHRoZSByZXN1bHQgb2YgYW4gaW5jb3JyZWN0bHkgY29uZmlndXJlZAogICAgUEhQNSBpbnN0YWxsYXRpb24uIFRoZSBmaXggaXMgdG8gbW9kaWZ5IHlvdXIgJ3BocC5pbmknIGZpbGUgYW5kIGluY2x1ZGUgdGhlCiAgICBkYXRlLnRpbWV6b25lID0gRXRjL1VUQyAob3IgeW91ciBvd24gem9uZSkKICAgIGRpcmVjdGl2ZSwgdG8geW91ciBvd24gc2VydmVyIHRpbWV6b25lCiAgLSBJZiB5b3UgZG8gZ2V0IHRoaXMgZXJyb3IsIGFuZCBhcmUgdW5hYmxlIHRvIGFjY2VzcyB5b3VyIHBocC5pbmkgZmlsZToKICAgIEluIHlvdXIgUEhQIHNjcmlwdCwgYWRkCiAgICBgZGF0ZV9kZWZhdWx0X3RpbWV6b25lX3NldCgnRXRjL1VUQycpO2AKICAtIGRvIG5vdCB0cnkgdG8gdXNlCiAgICBgJG15VmFyID0gZGF0ZV9kZWZhdWx0X3RpbWV6b25lX2dldCgpO2AKICAgIGFzIGEgdGVzdCwgaXQgd2lsbCB0aHJvdyBhbiBlcnJvci4KKiBhZGRlZCBhYmlsaXR5IHRvIGRlZmluZSBwYXRoIChtYWlubHkgZm9yIGVtYmVkZGVkIGltYWdlcykKICBmdW5jdGlvbiBgTXNnSFRNTCgkbWVzc2FnZSwkYmFzZWRpcj0nJylgIC4uLiB3aGVyZToKICBgJGJhc2VkaXJgIGlzIHRoZSBmdWxseSBxdWFsaWZpZWQgcGF0aAoqIGZpeGVkIGBNc2dIVE1MKClgIGZ1bmN0aW9uOgogIC0gRW1iZWRkZWQgSW1hZ2VzIHdoZXJlIGltYWdlcyBhcmUgc3BlY2lmaWVkIGJ5IGA8cHJvdG9jb2w+Oi8vYCB3aWxsIG5vdCBiZSBhbHRlcmVkIG9yIGVtYmVkZGVkCiogZml4ZWQgdGhlIHJldHVybiB2YWx1ZSBvZiBTTVRQIGV4aXQgY29kZSAoIHBjbG9zZSApCiogYWRkcmVzc2VkIGlzc3VlIG9mIG11bHRpYnl0ZSBjaGFyYWN0ZXJzIGluIHN1YmplY3QgbGluZSBhbmQgdHJ1bmNhdGluZwoqIGFkZGVkIGFiaWxpdHkgdG8gaGF2ZSB1c2VyIHNwZWNpZmllZCBNZXNzYWdlIElECiAgKGRlZmF1bHQgaXMgc3RpbGwgdGhhdCBQSFBNYWlsZXIgY3JlYXRlIGEgdW5pcXVlIE1lc3NhZ2UgSUQpCiogY29ycmVjdGVkIHVuaWRlbnRpZmllZCBtZXNzYWdlIHR5cGUgdG8gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScKKiBmaXhlZCBjaHVua19zcGxpdCgpIG11bHRpYnl0ZSBpc3N1ZSAodGhhbmtzIHRvIENvbGluIEJyb3duLCBldCBhbCkuCiogYWRkZWQgY2hlY2sgZm9yIGFkZGVkIGF0dGFjaG1lbnRzCiogZW5oYW5jZWQgY29udmVyc2lvbiBvZiBIVE1MIHRvIHRleHQgaW4gTXNnSFRNTCAodGhhbmtzIHRvICJicnVubnkiKQoKIyMgVmVyc2lvbiAyLjEuMGJldGEyIChTdW4sIERlYyAwMiAyMDA3KQoqIGltcGxlbWVudGVkIHVwZGF0ZWQgRW5jb2RlUVAgKHRoYW5rcyB0byBjb29sYnJ1LCBha2EgTWFyY3VzIEJvaW50b24pCiogZmluaXNoZWQgYWxsIHRlc3RpbmcsIGFsbCBrbm93biBidWdzIGNvcnJlY3RlZCwgZW5oYW5jZW1lbnRzIHRlc3RlZAoKTm90ZTogd2lsbCBOT1Qgd29yayB3aXRoIFBIUDQuCgpQbGVhc2Ugbm90ZSwgdGhpcyBpcyBCRVRBIHNvZnR3YXJlICoqRE8gTk9UIFVTRSBUSElTIElOIFBST0RVQ1RJT04gT1IgTElWRSBQUk9KRUNUUzsgSU5URU5ERUQgU1RSSUNUTFkgRk9SIFRFU1RJTkcqKgoKIyMgVmVyc2lvbiAyLjEuMGJldGExClBsZWFzZSBub3RlLCB0aGlzIGlzIEJFVEEgc29mdHdhcmUKKiogRE8gTk9UIFVTRSBUSElTIElOIFBST0RVQ1RJT04gT1IgTElWRSBQUk9KRUNUUwogSU5URU5ERUQgU1RSSUNUTFkgRk9SIFRFU1RJTkcKCiMjIFZlcnNpb24gMi4wLjAgcmMyIChGcmksIE5vdiAxNiAyMDA3KSwgaW50ZXJpbSByZWxlYXNlCiogaW1wbGVtZW50cyBuZXcgcHJvcGVydHkgdG8gY29udHJvbCBWRVJQIGluIGNsYXNzLnNtdHAucGhwCiAgZXhhbXBsZSAocmVxdWlyZXMgaW5zdGFudGlhdGluZyBjbGFzcy5zbXRwLnBocCk6CiAgJG1haWwtPmRvX3ZlcnAgPSB0cnVlOwoqIFBPUC1iZWZvcmUtU01UUCBmdW5jdGlvbmFsaXR5IGluY2x1ZGVkLCB0aGFua3MgdG8gUmljaGFyZCBEYXZleQogIChzZWUgY2xhc3MucG9wMy5waHAgJiBwb3AzX2JlZm9yZV9zbXRwX3Rlc3QucGhwIGZvciBleGFtcGxlcykKKiBpbmNsdWRlZCBleGFtcGxlIHNob3dpbmcgaG93IHRvIHVzZSBQSFBNYWlsZXIgd2l0aCBHTUFJTAoqIGZpeGVkIHRoZSBtaXNzaW5nIENjIGluIFNlbmRNYWlsKCkgYW5kIE1haWwoKQoKIyMgVmVyc2lvbiAyLjAuMCByYzEgKFRodSwgTm92IDA4IDIwMDcpLCBpbnRlcmltIHJlbGVhc2UKKiBkcmFtYXRpY2FsbHkgc2ltcGxpZmllZCB1c2luZyBpbmxpbmUgZ3JhcGhpY3MgLi4uIGl0J3MgZnVsbHkgYXV0b21hdGVkIGFuZCByZXF1aXJlcyBubyB1c2VyIGlucHV0CiogYWRkZWQgYXV0b21hdGljIGRvY3VtZW50IHR5cGUgZGV0ZWN0aW9uIGZvciBhdHRhY2htZW50cyBhbmQgcGljdHVyZXMKKiBhZGRlZCBNc2dIVE1MKCkgZnVuY3Rpb24gdG8gcmVwbGFjZSBCb2R5IHRhZyBmb3IgSFRNTCBlbWFpbHMKKiBmaXhlZCB0aGUgU2VuZE1haWwgc2VjdXJpdHkgaXNzdWVzIChpbnB1dCB2YWxpZGF0aW9uIHZ1bG5lcmFiaWxpdHkpCiogZW5oYW5jZWQgdGhlIEFkZEFkZHJlc3NlcyBmdW5jdGlvbmFsaXR5IHNvIHRoYXQgdGhlICJOYW1lIiBwb3J0aW9uIGlzIHVzZWQgaW4gdGhlIGVtYWlsIGFkZHJlc3MKKiByZW1vdmVkIHRoZSBuZWVkIHRvIHVzZSB0aGUgQWx0Qm9keSBtZXRob2QgKHNldCBmcm9tIHRoZSBIVE1MLCBvciBkZWZhdWx0IHRleHQgdXNlZCkKKiBzZXQgdGhlIFBIUCBNYWlsKCkgZnVuY3Rpb24gYXMgdGhlIGRlZmF1bHQgKHN0aWxsIHN1cHBvcnQgU2VuZE1haWwsIFNNVFAgTWFpbCkKKiByZW1vdmVkIHRoZSBuZWVkIHRvIHNldCB0aGUgSXNIVE1MIHByb3BlcnR5IChzZXQgYXV0b21hdGljYWxseSkKKiBhZGRlZCBFc3RvbmlhbiBsYW5ndWFnZSBmaWxlIGJ5IEluZHJlayBQJmF1bWw7cmkKKiBhZGRlZCBoZWFkZXIgaW5qZWN0aW9uIHBhdGNoCiogYWRkZWQgInNldCIgbWV0aG9kIHRvIHBlcm1pdCB1c2VycyB0byBjcmVhdGUgdGhlaXIgb3duIHBzZXVkby1wcm9wZXJ0aWVzIGxpa2UgJ1gtSGVhZGVycycsIGV0Yy4KKiBmaXhlZCB3YXJuaW5nIG1lc3NhZ2UgaW4gU01UUCBnZXRfbGluZXMgbWV0aG9kCiogYWRkZWQgVExTL1NTTCBTTVRQIHN1cHBvcnQuCiogUEhQTWFpbGVyIGhhcyBiZWVuIHRlc3RlZCB3aXRoIFBIUDQgKDQuNC43KSBhbmQgUEhQNSAoNS4yLjcpCiogV29ya3Mgd2l0aCBQSFAgaW5zdGFsbGVkIGFzIGEgbW9kdWxlIG9yIGFzIENHSS1QSFAKTk9URTogd2lsbCBOT1Qgd29yayB3aXRoIFBIUDUgaW4gRV9TVFJJQ1QgZXJyb3IgbW9kZQoKIyMgVmVyc2lvbiAxLjczIChTdW4sIEp1biAxMCAyMDA1KQoqIEZpeGVkIGRlbmlhbCBvZiBzZXJ2aWNlIGJ1ZzogaHR0cDovL3d3dy5jeWJzZWMuY29tL3Z1bG4vUEhQTWFpbGVyLURPUy5wZGYKKiBOb3cgaGFzIGEgdG90YWwgb2YgMjAgdHJhbnNsYXRpb25zCiogRml4ZWQgYWx0IGF0dGFjaG1lbnRzIGJ1ZzogaHR0cDovL3Rpbnl1cmwuY29tLzk4dTlrCgojIyBWZXJzaW9uIDEuNzIgKFdlZCwgTWF5IDI1IDIwMDQpCiogQWRkZWQgRHV0Y2gsIFN3ZWRpc2gsIEN6ZWNoLCBOb3J3ZWdpYW4sIGFuZCBUdXJraXNoIHRyYW5zbGF0aW9ucy4KKiBSZWNlaXZlZDogUmVtb3ZlZCB0aGlzIG1ldGhvZCBiZWNhdXNlIHNwYW0gZmlsdGVyIHByb2dyYW1zIGxpa2UKICBTcGFtQXNzYXNzaW4gcmVqZWN0IHRoaXMgaGVhZGVyLgoqIEZpeGVkIGVycm9yIGNvdW50IGJ1Zy4KKiBTZXRMYW5ndWFnZSBkZWZhdWx0IGlzIG5vdyAibGFuZ3VhZ2UvIi4KKiBGaXhlZCBtYWdpY19xdW90ZXNfcnVudGltZSBidWcuCgojIyBWZXJzaW9uIDEuNzEgKFR1ZSwgSnVsIDI4IDIwMDMpCiogTWFkZSBzZXZlcmFsIHNwZWVkIGVuaGFuY2VtZW50cwoqIEFkZGVkIEdlcm1hbiBhbmQgSXRhbGlhbiB0cmFuc2xhdGlvbiBmaWxlcwoqIEZpeGVkIEhFTE8vQVVUSCBidWdzIG9uIGtlZXAtYWxpdmUgY29ubmVjdHMKKiBOb3cgcHJvdmlkZXMgYW4gZXJyb3IgbWVzc2FnZSBpZiBsYW5ndWFnZSBmaWxlIGRvZXMgbm90IGxvYWQKKiBGaXhlZCBhdHRhY2htZW50IEVPTCBidWcKKiBVcGRhdGVkIHNvbWUgdW5jbGVhciBkb2N1bWVudGF0aW9uCiogQWRkZWQgYWRkaXRpb25hbCB0ZXN0cyBhbmQgaW1wcm92ZWQgb3RoZXJzCgojIyBWZXJzaW9uIDEuNzAgKE1vbiwgSnVuIDIwIDIwMDMpCiogQWRkZWQgU01UUCBrZWVwLWFsaXZlIHN1cHBvcnQKKiBBZGRlZCBJc0Vycm9yIG1ldGhvZCBmb3IgZXJyb3IgZGV0ZWN0aW9uCiogQWRkZWQgZXJyb3IgbWVzc2FnZSB0cmFuc2xhdGlvbiBzdXBwb3J0IChTZXRMYW5ndWFnZSkKKiBSZWZhY3RvcmVkIG1hbnkgbWV0aG9kcyB0byBpbmNyZWFzZSBsaWJyYXJ5IHBlcmZvcm1hbmNlCiogSGVsbG8gbm93IHNlbmRzIHRoZSBuZXdlciBFSExPIG1lc3NhZ2UgYmVmb3JlIEhFTE8gYXMgcGVyIFJGQyAyODIxCiogUmVtb3ZlZCB0aGUgYm91bmRhcnkgY2xhc3MgYW5kIHJlcGxhY2VkIGl0IHdpdGggR2V0Qm91bmRhcnkKKiBSZW1vdmVkIHF1ZXVlIHN1cHBvcnQgbWV0aG9kcwoqIE5ldyAkSG9zdG5hbWUgdmFyaWFibGUKKiBOZXcgTWVzc2FnZS1JRCBoZWFkZXIKKiBSZWNlaXZlZCBoZWFkZXIgcmVmb3JtYXQKKiBIZWxvIHZhcmlhYmxlIGRlZmF1bHQgY2hhbmdlZCB0byAkSG9zdG5hbWUKKiBSZW1vdmVkIGV4dHJhIHNwYWNlcyBpbiBDb250ZW50LVR5cGUgZGVmaW5pdGlvbiAoIzY2NzE4MikKKiBSZXR1cm4tUGF0aCBzaG91bGQgYmUgc2V0IHRvIFNlbmRlciB3aGVuIHNldAoqIEFkZHMgUSBvciBCIGVuY29kaW5nIHRvIGhlYWRlcnMgd2hlbiBuZWNlc3NhcnkKKiBxdW90ZWQtZW5jb2Rpbmcgc2hvdWxkIG5vdyBlbmNvZGUgTlVMcyBcMDAwCiogRml4ZWQgZW5jb2Rpbmcgb2YgYm9keS9BbHRCb2R5ICgjNTUzMzcwKQoqIEFkZHMgIlRvOiB1bmRpc2Nsb3NlZC1yZWNpcGllbnRzOjsiIHdoZW4gYWxsIHJlY2lwaWVudHMgYXJlIGhpZGRlbiAoQkNDKQoqIE11bHRpcGxlIGJ1ZyBmaXhlcwoKIyMgVmVyc2lvbiAxLjY1IChGcmksIEF1ZyAwOSAyMDAyKQoqIEZpeGVkIG5vbi12aXNpYmxlIGF0dGFjaG1lbnQgYnVnICgjNTg1MDk3KSBmb3IgT3V0bG9vawoqIFNNVFAgY29ubmVjdGlvbnMgYXJlIG5vdyBjbG9zZWQgYWZ0ZXIgZWFjaCB0cmFuc2FjdGlvbgoqIEZpeGVkIFNNVFA6OkV4cGFuZCByZXR1cm4gdmFsdWUKKiBDb252ZXJ0ZWQgU01UUCBjbGFzcyBkb2N1bWVudGF0aW9uIHRvIHBocERvY3VtZW50b3IgZm9ybWF0CgojIyBWZXJzaW9uIDEuNjIgKFdlZCwgSnVuIDI2IDIwMDIpCiogRml4ZWQgbXVsdGktYXR0YWNoIGJ1ZwoqIFNldCBwcm9wZXIgd29yZCB3cmFwcGluZwoqIFJlZHVjZWQgbWVtb3J5IHVzZSB3aXRoIGF0dGFjaG1lbnRzCiogQWRkZWQgbW9yZSBkZWJ1Z2dpbmcKKiBDaGFuZ2VkIGRvY3VtZW50YXRpb24gdG8gcGhwRG9jdW1lbnRvciBmb3JtYXQKCiMjIFZlcnNpb24gMS42MCAoU2F0LCBNYXIgMzAgMjAwMikKKiBTZW5kbWFpbCBwaXBlIGFuZCBhZGRyZXNzIHBhdGNoIChDaHJpc3RpYW4gSG9sdGplKQoqIEFkZGVkIGVtYmVkZGVkIGltYWdlIGFuZCByZWFkIGNvbmZpcm1hdGlvbiBzdXBwb3J0IChBLiBPZ25pbykKKiBBZGRlZCB1bml0IHRlc3RzCiogQWRkZWQgU01UUCB0aW1lb3V0IHN1cHBvcnQgKCpuaXggb25seSkKKiBBZGRlZCBwb3NzaWJseSB0ZW1wb3JhcnkgUGx1Z2luRGlyIHZhcmlhYmxlIGZvciBTTVRQIGNsYXNzCiogQWRkZWQgTEUgbWVzc2FnZSBsaW5lIGVuZGluZyB2YXJpYWJsZQoqIFJlZmFjdG9yZWQgYm91bmRhcnkgYW5kIGF0dGFjaG1lbnQgY29kZQoqIEVsaW1pbmF0ZWQgU01UUCBjbGFzcyB3YXJuaW5ncwoqIEFkZGVkIFNlbmRUb1F1ZXVlIG1ldGhvZCBmb3IgZnV0dXJlIHF1ZXVpbmcgc3VwcG9ydAoKIyMgVmVyc2lvbiAxLjU0IChXZWQsIERlYyAxOSAyMDAxKQoqIEFkZCBzb21lIHF1ZXVpbmcgc3VwcG9ydCBjb2RlCiogRml4ZWQgYSBwZXNreSBtdWx0aS9hbHQgYnVnCiogTWVzc2FnZXMgYXJlIG5vIGxvbmdlciBmb3JjZWQgdG8gaGF2ZSAiVG8iIGFkZHJlc3NlcwoKIyMgVmVyc2lvbiAxLjUwIChUaHUsIE5vdiAwOCAyMDAxKQoqIEZpeCBleHRyYSBsaW5lcyB3aGVuIG5vdCB1c2luZyBTTVRQIG1haWxlcgoqIFNldCBXb3JkV3JhcCB2YXJpYWJsZSB0byBpbnQgd2l0aCBhIHplcm8gZGVmYXVsdAoKIyMgVmVyc2lvbiAxLjQ3IChUdWUsIE9jdCAxNiAyMDAxKQoqIEZpeGVkIFJlY2VpdmVkIGhlYWRlciBjb2RlIGZvcm1hdAoqIEZpeGVkIEFsdEJvZHkgb3JkZXIgZXJyb3IKKiBGaXhlZCBhbHRlcm5hdGUgcG9ydCB3YXJuaW5nCgojIyBWZXJzaW9uIDEuNDUgKFR1ZSwgU2VwIDI1IDIwMDEpCiogQWRkZWQgZW5oYW5jZWQgU01UUCBkZWJ1ZyBzdXBwb3J0CiogQWRkZWQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgcG9ydHMgb24gU01UUAoqIEFkZGVkIFJlY2VpdmVkIGhlYWRlciBmb3IgdHJhY2luZwoqIEZpeGVkIEFkZFN0cmluZ0F0dGFjaG1lbnQgZW5jb2RpbmcKKiBGaXhlZCBwb3NzaWJsZSBoZWFkZXIgbmFtZSBxdW90ZSBidWcKKiBGaXhlZCB3b3Jkd3JhcCgpIHRyaW0gYnVnCiogQ291cGxlIG90aGVyIHNtYWxsIGJ1ZyBmaXhlcwoKIyMgVmVyc2lvbiAxLjQxIChXZWQsIEF1ZyAyMiAyMDAxKQoqIEZpeGVkIEFsdEJvZHkgYnVnIHcvbyBhdHRhY2htZW50cwoqIEZpeGVkIHJmY19kYXRlKCkgZm9yIGNlcnRhaW4gbWFpbCBzZXJ2ZXJzCgojIyBWZXJzaW9uIDEuNDAgKFN1biwgQXVnIDEyIDIwMDEpCiogQWRkZWQgbXVsdGlwYXJ0L2FsdGVybmF0aXZlIHN1cHBvcnQgKEFsdEJvZHkpCiogRG9jdW1lbnRhdGlvbiB1cGRhdGUKKiBGaXhlZCBidWcgaW4gTWVyY3VyeSBNVEEKCiMjIFZlcnNpb24gMS4yOSAoRnJpLCBBdWcgMDMgMjAwMSkKKiBBZGRlZCBBZGRTdHJpbmdBdHRhY2htZW50KCkgbWV0aG9kCiogQWRkZWQgU01UUCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0CgojIyBWZXJzaW9uIDEuMjggKE1vbiwgSnVsIDMwIDIwMDEpCiogRml4ZWQgYSB0eXBvIGluIFNNVFAgY2xhc3MKKiBGaXhlZCBoZWFkZXIgaXNzdWUgd2l0aCBJbWFpbCAod2luMzIpIFNNVFAgc2VydmVyCiogTWFkZSBmb3BlbigpIGNhbGxzIGZvciBhdHRhY2htZW50cyB1c2UgInJiIiB0byBmaXggd2luMzIgZXJyb3IKCiMjIFZlcnNpb24gMS4yNSAoTW9uLCBKdWwgMDIgMjAwMSkKKiBBZGRlZCBSRkMgODIyIGRhdGUgZml4IChQYXRyaWNlKQoqIEFkZGVkIGltcHJvdmVkIGVycm9yIGhhbmRsaW5nIGJ5IGFkZGluZyBhICRFcnJvckluZm8gdmFyaWFibGUKKiBSZW1vdmVkIE1haWxlckRlYnVnIHZhcmlhYmxlIChvYnNvbGV0ZSB3aXRoIG5ldyBlcnJvciBoYW5kbGVyKQoKIyMgVmVyc2lvbiAxLjIwIChNb24sIEp1biAyNSAyMDAxKQoqIEFkZGVkIHF1b3RlZC1wcmludGFibGUgZW5jb2RpbmcgKFBhdHJpY2UpCiogU2V0IFZlcnNpb24gYXMgcHVibGljIGFuZCByZW1vdmVkIFByaW50VmVyc2lvbigpCiogQ2hhbmdlZCBwaHBkb2MgdG8gb25seSBkaXNwbGF5IHB1YmxpYyB2YXJpYWJsZXMgYW5kIG1ldGhvZHMKCiMjIFZlcnNpb24gMS4xOSAoVGh1LCBKdW4gMjEgMjAwMSkKKiBGaXhlZCBNUyBNYWlsIGhlYWRlciBidWcKKiBBZGRlZCBmaXggZm9yIEJjYyBwcm9ibGVtIHdpdGggbWFpbCgpLiAqRG9lcyBub3Qgd29yayBvbiBXaW4zMioKICAoU2VlIFBIUCBidWcgcmVwb3J0OiBodHRwOi8vd3d3LnBocC5uZXQvYnVncy5waHA/aWQ9MTE2MTYpCiogbWFpbCgpIG5vIGxvbmdlciBwYXNzZXMgYSBmaWZ0aCBwYXJhbWV0ZXIgd2hlbiBub3QgbmVlZGVkCgojIyBWZXJzaW9uIDEuMTUgKEZyaSwgSnVuIDE1IDIwMDEpCk5vdGU6IHRoZXNlIGNoYW5nZXMgY29udHJpYnV0ZWQgYnkgUGF0cmljZSBGb3VybmllcgoqIENoYW5nZWQgYWxsIHJlbWFpbmluZyBcbiB0byBcclxuCiogQmNjOiBoZWFkZXIgbm8gbG9uZ2VyIHdyaXR0ZW4gdG8gbWVzc2FnZSBleGNlcHQKICB3aGVuIHNlbnQgZGlyZWN0bHkgdG8gc2VuZG1haWwKKiBBZGRlZCBhIHNtYWxsIG1lc3NhZ2UgdG8gbm9uLU1JTUUgY29tcGxpYW50IG1haWwgcmVhZGVyCiogQWRkZWQgU2VuZGVyIHZhcmlhYmxlIHRvIGNoYW5nZSB0aGUgU2VuZGVyIGVtYWlsCiAgdXNlZCBpbiAtZiBmb3Igc2VuZG1haWwvbWFpbCBhbmQgaW4gJ01BSUwgRlJPTScgZm9yIHNtdHAgbW9kZQoqIENoYW5nZWQgYm91bmRhcnkgc2V0dGluZyB0byBhIHBsYWNlIGl0IHdpbGwgYmUgc2V0IG9ubHkgb25jZQoqIFJlbW92ZWQgdHJhbnNmZXIgZW5jb2RpbmcgZm9yIHdob2xlIG1lc3NhZ2Ugd2hlbiB1c2luZyBtdWx0aXBhcnQKKiBNZXNzYWdlIGJvZHkgbm93IHVzZXMgRW5jb2RpbmcgaW4gbXVsdGlwYXJ0IG1lc3NhZ2VzCiogQ2FuIHNldCBlbmNvZGluZyBhbmQgdHlwZSB0byBhdHRhY2htZW50cyA3Yml0LCA4Yml0CiAgYW5kIGJpbmFyeSBhdHRhY2htZW50IGFyZSBzZW50IGFzIGlzLCBiYXNlNjQgYXJlIGVuY29kZWQKKiBDYW4gc2V0IEVuY29kaW5nIHRvIGJhc2U2NCB0byBzZW5kIDggYml0cyBib2R5CiAgdGhyb3VnaCA3IGJpdHMgc2VydmVycwoKIyMgVmVyc2lvbiAxLjEwIChUdWUsIEp1biAxMiAyMDAxKQoqIEZpeGVkIHdpbjMyIG1haWwgaGVhZGVyIGJ1ZyAocHJpbnRlZCBvdXQgaGVhZGVycyBpbiBtZXNzYWdlIGJvZHkpCgojIyBWZXJzaW9uIDEuMDkgKEZyaSwgSnVuIDA4IDIwMDEpCiogQ2hhbmdlZCBkYXRlIGhlYWRlciB0byB3b3JrIHdpdGggTmV0c2NhcGUgbWFpbCBwcm9ncmFtcwoqIEFsdGVyZWQgcGhwZG9jIGRvY3VtZW50YXRpb24KCiMjIFZlcnNpb24gMS4wOCAoVHVlLCBKdW4gMDUgMjAwMSkKKiBBZGRlZCBlbmhhbmNlZCBlcnJvci1jaGVja2luZwoqIEFkZGVkIHBocGRvYyBkb2N1bWVudGF0aW9uIHRvIHNvdXJjZQoKIyMgVmVyc2lvbiAxLjA2IChGcmksIEp1biAwMSAyMDAxKQoqIEFkZGVkIG9wdGlvbmFsIG5hbWUgZm9yIGZpbGUgYXR0YWNobWVudHMKCiMjIFZlcnNpb24gMS4wNSAoVHVlLCBNYXkgMjkgMjAwMSkKKiBDb2RlIGNsZWFudXAKKiBFbGltaW5hdGVkIHNlbmRtYWlsIGhlYWRlciB3YXJuaW5nIG1lc3NhZ2UKKiBGaXhlZCBwb3NzaWJsZSBTTVRQIGVycm9yCgojIyBWZXJzaW9uIDEuMDMgKFRodSwgTWF5IDI0IDIwMDEpCiogRml4ZWQgcHJvYmxlbSB3aGVyZSBxbWFpbCBzZW5kcyBvdXQgZHVwbGljYXRlIG1lc3NhZ2VzCgojIyBWZXJzaW9uIDEuMDIgKFdlZCwgTWF5IDIzIDIwMDEpCiogQWRkZWQgbXVsdGlwbGUgcmVjaXBpZW50IGFuZCBhdHRhY2htZW50IENsZWFyKiBtZXRob2RzCiogQWRkZWQgU2VuZG1haWwgcHVibGljIHZhcmlhYmxlCiogRml4ZWQgcHJvYmxlbSB3aXRoIGxvYWRpbmcgU01UUCBsaWJyYXJ5IG11bHRpcGxlIHRpbWVzCgojIyBWZXJzaW9uIDAuOTggKFR1ZSwgTWF5IDIyIDIwMDEpCiogRml4ZWQgcHJvYmxlbSB3aXRoIHJlZHVuZGFudCBtYWlsIGhvc3RzIHNlbmRpbmcgb3V0IG11bHRpcGxlIG1lc3NhZ2VzCiogQWRkZWQgYWRkaXRpb25hbCBlcnJvciBoYW5kbGVyIGNvZGUKKiBBZGRlZCBBZGRDdXN0b21IZWFkZXIoKSBmdW5jdGlvbgoqIEFkZGVkIHN1cHBvcnQgZm9yIE1pY3Jvc29mdCBtYWlsIGNsaWVudCBoZWFkZXJzIChhZmZlY3RzIHByaW9yaXR5KQoqIEZpeGVkIHNtYWxsIGJ1ZyB3aXRoIE1haWxlciB2YXJpYWJsZQoqIEFkZGVkIFByaW50VmVyc2lvbigpIGZ1bmN0aW9uCgojIyBWZXJzaW9uIDAuOTIgKFR1ZSwgTWF5IDE1IDIwMDEpCiogQ2hhbmdlZCBmaWxlIG5hbWVzIHRvIGNsYXNzLnBocG1haWxlci5waHAgYW5kIGNsYXNzLnNtdHAucGhwIHRvIG1hdGNoCiAgY3VycmVudCBQSFAgY2xhc3MgdHJlbmQuCiogRml4ZWQgcHJvYmxlbSB3aGVyZSBib2R5IG5vdCBiZWluZyBwcmludGVkIHdoZW4gYSBtZXNzYWdlIGlzIGF0dGFjaGVkCiogU2V2ZXJhbCBzbWFsbCBidWcgZml4ZXMKCiMjIFZlcnNpb24gMC45MCAoVHVlLCBBcHJpbCAxNyAyMDAxKQoqIEluaXRpYWwgcHVibGljIHJlbGVhc2UK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/changelog.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Q2hhbmdlTG9nCgpOT1RFOiBUSElTIFZFUlNJT04gT0YgUEhQTUFJTEVSIElTIERFU0lHTkVEIEZPUiBQSFA1L1BIUDYuCiAgICAgIElUIFdJTEwgTk9UIFdPUksgV0lUSCBQSFA0LgoKVmVyc2lvbiA1LjIuMSAoSmFudWFyeSAxNiwgMjAxMikKKiBDbG9zZWQgc2V2ZXJhbCBidWdzCiogUGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzCiogTXNnSFRNTCgpIG5vdyByZXR1cm5zIHRoZSBtZXNzYWdlIGFzIHJlcXVpcmVkLgoqIE5ldyBtZXRob2Q6IEdldFNlbnRNSU1FTWVzc2FnZSgpIChyZXR1cm5zIGZ1bGwgY29weSBvZiBzZW50IG1lc3NhZ2UpCgpWZXJzaW9uIDUuMiAoSnVseSAxOSwgMjAxMSkKKiBwcm90ZWN0ZWQgTUlNRSBib2R5IGFuZCBoZWFkZXIKKiBiZXR0ZXIgREtJTSBETlMgUmVzb3VyY2UgUmVjb3JkIHN1cHBvcnQKKiBiZXR0ZXIgYWx5IGhhbmRsaW5nCiogaHRtbGZpbHRlciBjbGFzcyBhZGRlZCB0byBleHRyYXMKKiBtb3ZlZCB0byBBcGFjaGUgRXh0cmFzCgpWZXJzaW9uIDUuMSAoT2N0b2JlciAyMCwgMjAwOSkKKiBmaXhlZCBmaWxlbmFtZSBpc3N1ZSB3aXRoIEFkZFN0cmluZ0F0dGFjaG1lbnQgKHRoYW5rcyB0byBUb255KQoqIGZpeGVkICJTaW5nbGVUbyIgcHJvcGVydHksIG5vdyB3b3JrcyB3aXRoIFNlbm1haWwsIFFtYWlsLCBhbmQgU01UUCBpbgogIGFkZGl0aW9uIHRvIFBIUCBtYWlsKCkKKiBhZGRlZCBES0lNIGRpZ2l0YWwgc2lnbmluZyBmdW5jdGlvbmFsaXR5CiAgTmV3IHByb3BlcnRpZXM6CiAgLSBES0lNX2RvbWFpbiAoc2V0cyB0aGUgZG9tYWluIG5hbWUpCiAgLSBES0lNX3ByaXZhdGUgKGhvbGRzIERLSU0gcHJpdmF0ZSBrZXkpCiAgLSBES0lNX3Bhc3NwaHJhc2UgKGhvbGRzIHlvdXIgREtJTSBwYXNzcGhyYXNlKQogIC0gREtJTV9zZWxlY3RvciAoaG9sZHMgdGhlIERLSU0gInNlbGVjdG9yIikKICAtIERLSU1faWRlbnRpdHkgKGhvbGRzIHRoZSBpZGVudGlmeWluZyBlbWFpbCBhZGRyZXNzKQoqIGFkZGVkIGNhbGxiYWNrIGZ1bmN0aW9uIHN1cHBvcnQKICAtIGNhbGxiYWNrIGZ1bmN0aW9uIHBhcmFtZXRlcnMgaW5jbHVkZToKICAgIHJlc3VsdCwgdG8sIGNjLCBiY2MsIHN1YmplY3QgYW5kIGJvZHkKICAqIHNlZSB0aGUgdGVzdC90ZXN0X2NhbGxiYWNrLnBocCBmaWxlIGZvciB1c2FnZS4KKiBhZGRlZCAiYXV0byIgaWRlbnRpdHkgZnVuY3Rpb25hbGl0eQogIC0gY2FuIGF1dG9tYXRpY2FsbHkgYWRkOgogICAgLSBSZXR1cm4tcGF0aCAoaWYgU2VuZGVyIG5vdCBzZXQpCiAgICAtIFJlcGx5LVRvIChpZiBSZXBseVRvIG5vdCBzZXQpCiAgLSBjYW4gYmUgZGlzYWJsZWQ6CiAgICAtICRtYWlsLT5TZXRGcm9tKCd5b3VybmFtZUB5b3VyZG9tYWluLmNvbScsJ0ZpcnN0IExhc3QnLGZhbHNlKTsKICAgIC0gb3IgYnkgYWRkaW5nIHRoZSAkbWFpbC0+U2VuZGVyIGFuZC9vciAkbWFpbC0+UmVwbHlUbyBwcm9wZXJ0aWVzCiAgTm90ZTogImF1dG8iIGlkZW50aXR5IGFkZGVkIHRvIGhlbHAgd2l0aCBlbWFpbHMgZW5kaW5nIHVwIGluIHNwYW0KICBvciBqdW5rIGJveGVzIGJlY2F1c2Ugb2YgbWlzc2luZyBoZWFkZXJzCgpWZXJzaW9uIDUuMC4yIChNYXkgMjQsIDIwMDkpCiogRml4IGZvciBtaXNzaW5nIGF0dGFjaG1lbnRzIHdoZW4gaW5saW5lIGdyYXBoaWNzIGFyZSBwcmVzZW50CiogRml4IGZvciBtaXNzaW5nIENjIGluIGhlYWRlciB3aGVuIHVzaW5nIFNNVFAgKG1haWwgd2FzIHNlbnQsCiAgYnV0IG5vdCBkaXNwbGF5ZWQgaW4gaGVhZGVyIC0tIENjIHJlY2VpdmVyIG9ubHkgc2F3IGVtYWlsIFRvOiAKICBsaW5lIGFuZCBubyBDYyBsaW5lLCBidXQgZGlkIGdldCB0aGUgZW1haWwgKFRvIHJlY2VpdmVyCiAgc2F3IHNhbWUpCgpWZXJzaW9uIDUuMC4xIChBcHJpbCAwNSwgMjAwOSkKKiBUZW1wb3JhcnkgZml4IGZvciBtaXNzaW5nIGF0dGFjaG1lbnRzCgpWZXJzaW9uIDUuMC4wIChBcHJpbCAwMiwgMjAwOSkKCiogV2l0aCB0aGUgcmVsZWFzZSBvZiB0aGlzIHZlcnNpb24sIHdlIGFyZSBpbml0aWF0aW5nIGEgbmV3IHZlcnNpb24gbnVtYmVyaW5nCiAgc3lzdGVtIHRvIGRpZmZlcmVudGlhdGUgZnJvbSB0aGUgUEhQNCB2ZXJzaW9uIG9mIFBIUE1haWxlci4KKiBNb3N0IG5vdGFibGUgaW4gdGhpcyByZWxlYXNlIGlzIGZ1bGx5IG9iamVjdCBvcmllbnRlZCBjb2RlLgpjbGFzcy5zbXRwLnBocDoKKiBSZWZhY3RvcmVkIGNsYXNzLnNtdHAucGhwIHRvIHN1cHBvcnQgbmV3IGV4Y2VwdGlvbiBoYW5kbGluZwogIGNvZGUgc2l6ZSByZWR1Y2VkIGZyb20gMjkuMiBLYiB0byAyNS42IEtiCiogUmVtb3ZlZCB1bm5lY2Vzc2FyeSBmdW5jdGlvbnMgZnJvbSBjbGFzcy5zbXRwLnBocDoKICBwdWJsaWMgZnVuY3Rpb24gRXhwYW5kKCRuYW1lKSB7CiAgcHVibGljIGZ1bmN0aW9uIEhlbHAoJGtleXdvcmQ9IiIpIHsKICBwdWJsaWMgZnVuY3Rpb24gTm9vcCgpIHsKICBwdWJsaWMgZnVuY3Rpb24gU2VuZCgkZnJvbSkgewogIHB1YmxpYyBmdW5jdGlvbiBTZW5kT3JNYWlsKCRmcm9tKSB7CiAgcHVibGljIGZ1bmN0aW9uIFZlcmlmeSgkbmFtZSkgewpjbGFzcy5waHBtYWlsZXIucGhwOgoqIFJlZmFjdG9yZWQgY2xhc3MucGhwbWFpbGVyLnBocCB3aXRoIG5ldyBleGNlcHRpb24gaGFuZGxpbmcKKiBDaGFuZ2VkIHByb2Nlc3NpbmcgZnVuY3Rpb25hbGl0eSBvZiBTZW5kbWFpbCBhbmQgUW1haWwgc28gdGhleSBjYW5ub3QgYmUKICBpbmFkdmVydGVudGx5IHVzZWQKKiByZW1vdmVkIGdldEZpbGUoKSBmdW5jdGlvbiwganVzdCBiZWNhbWUgYSBzaW1wbGUgd3JhcHBlciBmb3IKICBmaWxlX2dldF9jb250ZW50cygpCiogYWRkZWQgY2hlY2sgZm9yIFBIUCB2ZXJzaW9uICh3aWxsIGdyYWNlZnVsbHkgZXhpdCBpZiBub3QgYXQgbGVhc3QgUEhQIDUuMCkKY2xhc3MucGhwbWFpbGVyLnBocCBlbmhhbmNlbWVudHMKKiBlbmhhbmNlZCBjb2RlIHRvIGNoZWNrIGlmIGFuIGF0dGFjaG1lbnQgc291cmNlIGlzIHRoZSBzYW1lIGFzIGFuIGVtYmVkZGVkIG9yCiAgaW5saW5lIGdyYXBoaWMgc291cmNlIHRvIGVsaW1pbmF0ZSBkdXBsaWNhdGUgYXR0YWNobWVudHMKTmV3IC90ZXN0X3NjcmlwdAoqIFdlIGhhdmUgd3JpdHRlbiBhIHRlc3Qgc2NyaXB0IHlvdSBjYW4gdXNlIHRvIHRlc3QgdGhlIHNjcmlwdCBhcyBwYXJ0IG9mIHlvdXIKICBpbnN0YWxsYXRpb24uIE9uY2UgeW91IHByZXNzIHN1Ym1pdCwgdGhlIHRlc3Qgc2NyaXB0IHdpbGwgc2VuZCBhIG11bHRpLW1pbWUKICBlbWFpbCB3aXRoIGVpdGhlciB0aGUgbWVzc2FnZSB5b3UgdHlwZSBpbiBvciBhbiBIVE1MIGVtYWlsIHdpdGggYW4gaW5saW5lCiAgZ3JhcGhpYy4gVHdvIGF0dGFjaG1lbnRzIGFyZSBpbmNsdWRlZCBpbiB0aGUgZW1haWwgKG9uZSBvZiB0aGUgYXR0YWNobWVudHMKICBpcyBhbHNvIHRoZSBpbmxpbmUgZ3JhcGhpYyBzbyB5b3UgY2FuIHNlZSB0aGF0IG9ubHkgb25lIGNvcHkgb2YgdGhlIGdyYXBoaWMKICBpcyBzZW50IGluIHRoZSBlbWFpbCkuIFRoZSB0ZXN0IHNjcmlwdCB3aWxsIGFsc28gZGlzcGxheSB0aGUgZnVuY3Rpb25hbAogIHNjcmlwdCB0aGF0IHlvdSBjYW4gY29weS9wYXN0ZSB0byB5b3VyIGVkaXRvciB0byBkdXBsaWNhdGUgdGhlIGZ1bmN0aW9uYWxpdHkuCk5ldyBleGFtcGxlcwoqIEFsbCBuZXcgZXhhbXBsZXMgaW4gYm90aCBiYXNpYyBhbmQgYWR2YW5jZWQgbW9kZXMuIEFkdmFuY2VkIGV4YW1wbGVzIHNob3cKICBFeGNlcHRpb24gaGFuZGxpbmcuClBIUERvY3VtZW50YXRvciAocGhwZG9jcykgZG9jdW1lbnRhdGlvbiBmb3IgUEhQTWFpbGVyIHZlcnNpb24gNS4wLjAKKiBhbGwgbmV3IGRvY3VtZW50YXRpb24KClBsZWFzZSBub3RlOiB0aGUgd2Vic2l0ZSBoYXMgYmVlbiB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGNoYW5nZXMgaW4gUEhQTWFpbGVyCnZlcnNpb24gNS4wLjAuIGh0dHA6Ly9waHBtYWlsZXIuY29kZXdvcnh0ZWNoLmNvbS8KClZlcnNpb24gMi4zIChOb3ZlbWJlciAwNiwgMjAwOCkKCiogYWRkZWQgQXJhYmljIGxhbmd1YWdlIChtYW55IHRoYW5rcyB0byBCYWhqYXQgQWwgTW9zdGFmYSkKKiByZW1vdmVkIEVuZ2xpc2ggbGFuZ3VhZ2UgZnJvbSBsYW5ndWFnZSBmaWxlcyBhbmQgbWFkZSBpdCBhIGRlZmF1bHQgd2l0aGluCiAgY2xhc3MucGhwbWFpbGVyLnBocCAtIGlmIG5vIGxhbmd1YWdlIGlzIGZvdW5kLCBpdCB3aWxsIGRlZmF1bHQgdG8gdXNlCiAgdGhlIGVuZ2xpc2ggbGFuZ3VhZ2UgdHJhbnNsYXRpb24KKiBmaXhlZCBwdWJsaWMvcHJpdmF0ZSBkZWNsYXJhdGlvbnMKKiBjb3JyZWN0ZWQgbGluZSAxNzI4LCAkYmFzZWRpciB0byAkZGlyZWN0b3J5CiogYWRkZWQgJHNpZ25fY2VydF9maWxlIHRvIGF2b2lkIGltcHJvcGVyIGR1cGxpY2F0ZSB1c2Ugb2YgJHNpZ25fa2V5X2ZpbGUKKiBjb3JyZWN0ZWQgJHRoaXMtPkhlbGxvIG9uIGxpbmUgNjEyIHRvICR0aGlzLT5IZWxvCiogY2hhbmdlZCBkZWZhdWx0IG9mICRMRSB0byAiXHJcbiIgdG8gY29tcGx5IHdpdGggUkZDIDI4MjIuIENhbiBiZSBzZXQgYnkgdGhlIHVzZXIKICBpZiBkZWZhdWx0IGlzIG5vdCBhY2NlcHRhYmxlCiogcmVtb3ZlZCB0cmltKCkgZnJvbSByZXR1cm4gcmVzdWx0cyBpbiBFbmNvZGVRUAoqIC90ZXN0IGFuZCB0aHJlZSBmaWxlcyBpdCBjb250YWluZWQgYXJlIHJlbW92ZWQgZnJvbSB2ZXJzaW9uIDIuMwoqIGZpeGVkIHBocHVuaXQucGhwIGZvciBjb21wbGlhbmNlIHdpdGggUEhQNQoqIGNoYW5nZWQgJHRoaXMtPkFsdEJvZHkgPSAkdGV4dE1zZzsgdG8gJHRoaXMtPkFsdEJvZHkgPSBodG1sX2VudGl0eV9kZWNvZGUoJHRleHRNc2cpOwoqIFdlIGhhdmUgcmVtb3ZlZCB0aGUgL3BocGRvYyBmcm9tIHRoZSBkb3dubG9hZHMuIEFsbCBkb2N1bWVudGF0aW9uIGlzIG5vdyBvbgogIHRoZSBodHRwOi8vcGhwbWFpbGVyLmNvZGV3b3J4dGVjaC5jb20gd2Vic2l0ZS4KClZlcnNpb24gMi4yLjEgKCkgSnVseSAxOSAyMDA4CgoqIGZpeGVkIGxpbmUgMTA5MiBpbiBjbGFzcy5zbXRwLnBocCAobXkgYXBvbG9naWVzLCBlcnJvciBvbiBteSBwYXJ0KQoKVmVyc2lvbiAyLjIgKCkgSnVseSAxNSAyMDA4CgoqIEZpeGVkIHJlZGlyZWN0IGlzc3VlIChkaXNwbGF5IG9mIFVURi04IGluIHRoYW5rIHlvdSByZWRpcmVjdCkKKiBmaXhlZCBlcnJvciBpbiBnZXRSZXNwb25zZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiAoY2xhc3MucG9wMy5waHApCiogUEhQTWFpbGVyIG5vdyBQSFA2IGNvbXBsaWFudAoqIGZpeGVkIGxpbmUgMTA5MiBpbiBjbGFzcy5zbXRwLnBocCAoZW5kbGVzcyBsb29wIGZyb20gbWlzc2luZyA9IHNpZ24pCgpWZXJzaW9uIDIuMSAoV2VkLCBKdW5lIDA0IDIwMDgpCgoqKiBOT1RFOiBXRSBIQVZFIEEgTkVXIExBTkdVQUdFIFZBUklBQkxFIEZPUiBESUdJVEFMTFkgU0lHTkVEIFMvTUlNRSBFTUFJTFMuCiAgIElGIFlPVSBDQU4gSEVMUCBXSVRIIExBTkdVQUdFUyBPVEhFUiBUSEFOIEVOR0xJU0ggQU5EIFNQQU5JU0gsIElUIFdPVUxEIEJFCiAgIEFQUFJFQ0lBVEVELgoKKiBhZGRlZCBTL01JTUUgZnVuY3Rpb25hbGl0eSAoYWJpbGl0eSB0byBkaWdpdGFsbHkgc2lnbiBlbWFpbHMpCiAgQklHIFRIQU5LUyBUTyAic2VyZ2lvY2FtYnJhIiBmb3IgcG9zdGluZyB0aGlzIHBhdGNoIGJhY2sgaW4gTm92ZW1iZXIgMjAwNy4KICBUaGUgIlNpZ25lZCBFbWFpbHMiIGZ1bmN0aW9uYWxpdHkgYWRkcyB0aGUgU2lnbiBtZXRob2QgdG8gcGFzcyB0aGUgcHJpdmF0ZSBrZXkKICBmaWxlbmFtZSBhbmQgdGhlIHBhc3N3b3JkIHRvIHJlYWQgaXQsIGFuZCB0aGVuIGVtYWlsIHdpbGwgYmUgc2VudCB3aXRoCiAgY29udGVudC10eXBlIG11bHRpcGFydC9zaWduZWQgYW5kIHdpdGggdGhlIGRpZ2l0YWwgc2lnbmF0dXJlIGF0dGFjaGVkLgoqIGZ1bGx5IGNvbXBhdGlibGUgd2l0aCBFX1NUUklDVCBlcnJvciBsZXZlbAogIC0gUGxlYXNlIG5vdGU6CiAgICBJbiBhYm91dCBoYWxmIHRoZSB0ZXN0IGVudmlyb25tZW50cyB0aGlzIGRldmVsb3BtZW50IHZlcnNpb24gd2FzIHN1YmplY3RlZAogICAgdG8sIGFuIGVycm9yIHdhcyB0aHJvd24gZm9yIHRoZSBkYXRlKCkgZnVuY3Rpb25zIHVzZWQgKGxpbmUgMTU2NSBhbmQgMTU2OSkuCiAgICBUaGlzIGlzIE5PVCBhIFBIUE1haWxlciBlcnJvciwgaXQgaXMgdGhlIHJlc3VsdCBvZiBhbiBpbmNvcnJlY3RseSBjb25maWd1cmVkCiAgICBQSFA1IGluc3RhbGxhdGlvbi4gVGhlIGZpeCBpcyB0byBtb2RpZnkgeW91ciAncGhwLmluaScgZmlsZSBhbmQgaW5jbHVkZSB0aGUKICAgIGRhdGUudGltZXpvbmUgPSBBbWVyaWNhL05ldyBZb3JrCiAgICBkaXJlY3RpdmUsIHRvIHlvdXIgb3duIHNlcnZlciB0aW1lem9uZQogIC0gSWYgeW91IGRvIGdldCB0aGlzIGVycm9yLCBhbmQgYXJlIHVuYWJsZSB0byBhY2Nlc3MgeW91ciBwaHAuaW5pIGZpbGU6CiAgICBJbiB5b3VyIFBIUCBzY3JpcHQsIGFkZAogICAgZGF0ZV9kZWZhdWx0X3RpbWV6b25lX3NldCgnQW1lcmljYS9Ub3JvbnRvJyk7CiAgICAtIGRvIG5vdCB0cnkgdG8gdXNlCiAgICAkbXlWYXIgPSBkYXRlX2RlZmF1bHRfdGltZXpvbmVfZ2V0KCk7CiAgICBhcyBhIHRlc3QsIGl0IHdpbGwgdGhyb3cgYW4gZXJyb3IuCiogYWRkZWQgYWJpbGl0eSB0byBkZWZpbmUgcGF0aCAobWFpbmx5IGZvciBlbWJlZGRlZCBpbWFnZXMpCiAgZnVuY3Rpb24gTXNnSFRNTCgkbWVzc2FnZSwkYmFzZWRpcj0nJykgLi4uIHdoZXJlOgogICRiYXNlZGlyIGlzIHRoZSBmdWxseSBxdWFsaWZpZWQgcGF0aAoqIGZpeGVkIE1zZ0hUTUwoKSBmdW5jdGlvbjoKICAtIEVtYmVkZGVkIEltYWdlcyB3aGVyZSBpbWFnZXMgYXJlIHNwZWNpZmllZCBieSA8cHJvdG9jb2w+Oi8vIHdpbGwgbm90IGJlIGFsdGVyZWQgb3IgZW1iZWRkZWQKKiBmaXhlZCB0aGUgcmV0dXJuIHZhbHVlIG9mIFNNVFAgZXhpdCBjb2RlICggcGNsb3NlICkKKiBhZGRyZXNzZWQgaXNzdWUgb2YgbXVsdGlieXRlIGNoYXJhY3RlcnMgaW4gc3ViamVjdCBsaW5lIGFuZCB0cnVuY2F0aW5nCiogYWRkZWQgYWJpbGl0eSB0byBoYXZlIHVzZXIgc3BlY2lmaWVkIE1lc3NhZ2UgSUQKICAoZGVmYXVsdCBpcyBzdGlsbCB0aGF0IFBIUE1haWxlciBjcmVhdGUgYSB1bmlxdWUgTWVzc2FnZSBJRCkKKiBjb3JyZWN0ZWQgdW5pZGVudGlmaWVkIG1lc3NhZ2UgdHlwZSB0byAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJwoqIGZpeGVkIGNodW5rX3NwbGl0KCkgbXVsdGlieXRlIGlzc3VlICh0aGFua3MgdG8gQ29saW4gQnJvd24sIGV0IGFsKS4KKiBhZGRlZCBjaGVjayBmb3IgYWRkZWQgYXR0YWNobWVudHMKKiBlbmhhbmNlZCBjb252ZXJzaW9uIG9mIEhUTUwgdG8gdGV4dCBpbiBNc2dIVE1MICh0aGFua3MgdG8gImJydW5ueSIpCgpWZXJzaW9uIDIuMS4wYmV0YTIgKFN1biwgRGVjIDAyIDIwMDcpCiogaW1wbGVtZW50ZWQgdXBkYXRlZCBFbmNvZGVRUCAodGhhbmtzIHRvIGNvb2xicnUsIGFrYSBNYXJjdXMgQm9pbnRvbikKKiBmaW5pc2hlZCBhbGwgdGVzdGluZywgYWxsIGtub3duIGJ1Z3MgY29ycmVjdGVkLCBlbmhhbmNlbWVudHMgdGVzdGVkCi0gbm90ZTogd2lsbCBOT1Qgd29yayB3aXRoIFBIUDQuCgpwbGVhc2Ugbm90ZSwgdGhpcyBpcyBCRVRBIHNvZnR3YXJlCioqIERPIE5PVCBVU0UgVEhJUyBJTiBQUk9EVUNUSU9OIE9SIExJVkUgUFJPSkVDVFMKSU5URU5ERUQgU1RSSUNUTFkgRk9SIFRFU1RJTkcKClZlcnNpb24gMi4xLjBiZXRhMQpwbGVhc2Ugbm90ZSwgdGhpcyBpcyBCRVRBIHNvZnR3YXJlCioqIERPIE5PVCBVU0UgVEhJUyBJTiBQUk9EVUNUSU9OIE9SIExJVkUgUFJPSkVDVFMKSU5URU5ERUQgU1RSSUNUTFkgRk9SIFRFU1RJTkcKClZlcnNpb24gMi4wLjAgcmMyIChGcmksIE5vdiAxNiAyMDA3KSwgaW50ZXJpbSByZWxlYXNlCiogaW1wbGVtZW50cyBuZXcgcHJvcGVydHkgdG8gY29udHJvbCBWRVJQIGluIGNsYXNzLnNtdHAucGhwCiAgZXhhbXBsZSAocmVxdWlyZXMgaW5zdGFudGlhdGluZyBjbGFzcy5zbXRwLnBocCk6CiAgJG1haWwtPmRvX3ZlcnAgPSB0cnVlOwoqIFBPUC1iZWZvcmUtU01UUCBmdW5jdGlvbmFsaXR5IGluY2x1ZGVkLCB0aGFua3MgdG8gUmljaGFyZCBEYXZleQogIChzZWUgY2xhc3MucG9wMy5waHAgJiBwb3AzX2JlZm9yZV9zbXRwX3Rlc3QucGhwIGZvciBleGFtcGxlcykKKiBpbmNsdWRlZCBleGFtcGxlIHNob3dpbmcgaG93IHRvIHVzZSBQSFBNYWlsZXIgd2l0aCBHTUFJTAoqIGZpeGVkIHRoZSBtaXNzaW5nIENjIGluIFNlbmRNYWlsKCkgYW5kIE1haWwoKQoKKioqKioqKioqKioqKioqKioqCkEgbm90ZSBvbiBzZW5kaW5nIGJ1bGsgZW1haWxzOgoKSWYgdGhlIGVtYWlsIHlvdSBhcmUgc2VuZGluZyBpcyBub3QgcGVyc29uYWxpemVkLCBjb25zaWRlciB1c2luZyB0aGUKInVuZGlzY2xvc2VkLXJlY2lwaWVudDo7IiBzdHJhdGVneS4gVGhhdCBpcywgcHV0IGFsbCBvZiB5b3VyIHJlY2lwaWVudHMKaW4gdGhlIEJjYyBmaWVsZCBhbmQgc2V0IHRoZSBUbyBmaWVsZCB0byAidW5kaXNjbG9zZWQtcmVjaXBpZW50czo7Ii4KSXQncyBhIGxvdCBmYXN0ZXIgKG9ubHkgb25lIHNlbmQpIGFuZCBzYXZlcyBxdWl0ZSBhIGJpdCBvbiByZXNvdXJjZXMuCkNvbnRyYXJ5IHRvIHNvbWUgb3BpbmlvbnMsIHRoaXMgd2lsbCBub3QgZ2V0IHlvdSBsaXN0ZWQgaW4gc3BhbSBlbmdpbmVzIC0KaXQncyBhIGxlZ2l0aW1hdGUgd2F5IGZvciB5b3UgdG8gc2VuZCBlbWFpbHMuCgpBIHBhcnRpYWwgZXhhbXBsZSBmb3IgdXNlIHdpdGggUEhQTWFpbGVyOgoKJG1haWwtPkFkZEFkZHJlc3MoInVuZGlzY2xvc2VkLXJlY2lwaWVudHM6OyIpOwokbWFpbC0+QWRkQkNDKCJlbWFpbDFAYW55ZG9tYWluLmNvbSxlbWFpbDJAYW55b3RoZXJkb21haW4uY29tLGVtYWlsM0BhbnlhbHRlcm5hdGVkb21haW4uY29tIik7CgpNYW55IGVtYWlsIHNlcnZpY2UgcHJvdmlkZXJzIHJlc3RyaWN0IHRoZSBudW1iZXIgb2YgZW1haWxzIHRoYXQgY2FuIGJlIHNlbnQKaW4gYW55IGdpdmVuIHRpbWUgcGVyaW9kLiBPZnRlbiB0aGF0IGlzIGJldHdlZW4gNTAgLSA2MCBlbWFpbHMgbWF4aW11bQpwZXIgaG91ciBvciBwZXIgc2VuZCBzZXNzaW9uLgoKSWYgdGhhdCdzIHRoZSBjYXNlLCB0aGVuIGJyZWFrIHVwIHlvdXIgQmNjIGxpc3RzIGludG8gY2h1bmtzIHRoYXQgYXJlIG9uZQpsZXNzIHRoYW4geW91ciBsaW1pdCwgYW5kIHB1dCBhIHBhdXNlIGluIHlvdXIgc2NyaXB0LgoqKioqKioqKioqKioqKioqKioqCgpWZXJzaW9uIDIuMC4wIHJjMSAoVGh1LCBOb3YgMDggMjAwNyksIGludGVyaW0gcmVsZWFzZQoqIGRyYW1hdGljYWxseSBzaW1wbGlmaWVkIHVzaW5nIGlubGluZSBncmFwaGljcyAuLi4gaXQncyBmdWxseSBhdXRvbWF0ZWQgYW5kIHJlcXVpcmVzIG5vIHVzZXIgaW5wdXQKKiBhZGRlZCBhdXRvbWF0aWMgZG9jdW1lbnQgdHlwZSBkZXRlY3Rpb24gZm9yIGF0dGFjaG1lbnRzIGFuZCBwaWN0dXJlcwoqIGFkZGVkIE1zZ0hUTUwoKSBmdW5jdGlvbiB0byByZXBsYWNlIEJvZHkgdGFnIGZvciBIVE1MIGVtYWlscwoqIGZpeGVkIHRoZSBTZW5kTWFpbCBzZWN1cml0eSBpc3N1ZXMgKGlucHV0IHZhbGlkYXRpb24gdnVsbmVyYWJpbGl0eSkKKiBlbmhhbmNlZCB0aGUgQWRkQWRkcmVzc2VzIGZ1bmN0aW9uYWxpdHkgc28gdGhhdCB0aGUgIk5hbWUiIHBvcnRpb24gaXMgdXNlZCBpbiB0aGUgZW1haWwgYWRkcmVzcwoqIHJlbW92ZWQgdGhlIG5lZWQgdG8gdXNlIHRoZSBBbHRCb2R5IG1ldGhvZCAoc2V0IGZyb20gdGhlIEhUTUwsIG9yIGRlZmF1bHQgdGV4dCB1c2VkKQoqIHNldCB0aGUgUEhQIE1haWwoKSBmdW5jdGlvbiBhcyB0aGUgZGVmYXVsdCAoc3RpbGwgc3VwcG9ydCBTZW5kTWFpbCwgU01UUCBNYWlsKQoqIHJlbW92ZWQgdGhlIG5lZWQgdG8gc2V0IHRoZSBJc0hUTUwgcHJvcGVydHkgKHNldCBhdXRvbWF0aWNhbGx5KQoqIGFkZGVkIEVzdG9uaWFuIGxhbmd1YWdlIGZpbGUgYnkgSW5kcmVrIFAmYXVtbDtyaQoqIGFkZGVkIGhlYWRlciBpbmplY3Rpb24gcGF0Y2gKKiBhZGRlZCAic2V0IiBtZXRob2QgdG8gcGVybWl0IHVzZXJzIHRvIGNyZWF0ZSB0aGVpciBvd24gcHNldWRvLXByb3BlcnRpZXMgbGlrZSAnWC1IZWFkZXJzJywgZXRjLgogIGV4YW1wbGUgb2YgdXNlOgogICRtYWlsLT5zZXQoJ1gtUHJpb3JpdHknLCAnMycpOwogICRtYWlsLT5zZXQoJ1gtTVNNYWlsLVByaW9yaXR5JywgJ05vcm1hbCcpOwoqIGZpeGVkIHdhcm5pbmcgbWVzc2FnZSBpbiBTTVRQIGdldF9saW5lcyBtZXRob2QKKiBhZGRlZCBUTFMvU1NMIFNNVFAgc3VwcG9ydAogIGV4YW1wbGUgb2YgdXNlOgogICRtYWlsID0gbmV3IFBIUE1haWxlcigpOwogICRtYWlsLT5NYWlsZXIgPSAic210cCI7CiAgJG1haWwtPkhvc3QgPSAic210cC5leGFtcGxlLmNvbSI7CiAgJG1haWwtPlNNVFBTZWN1cmUgICA9ICJ0bHMiOyAvLyBvcHRpb24KICAvLyRtYWlsLT5TTVRQU2VjdXJlICAgPSAic3NsIjsgIC8vIG9wdGlvbgogIC4uLgogICRtYWlsLT5TZW5kKCk7CiogUEhQTWFpbGVyIGhhcyBiZWVuIHRlc3RlZCB3aXRoIFBIUDQgKDQuNC43KSBhbmQgUEhQNSAoNS4yLjcpCiogV29ya3Mgd2l0aCBQSFAgaW5zdGFsbGVkIGFzIGEgbW9kdWxlIG9yIGFzIENHSS1QSFAKLSBOT1RFOiB3aWxsIE5PVCB3b3JrIHdpdGggUEhQNSBpbiBFX1NUUklDVCBlcnJvciBtb2RlCgpWZXJzaW9uIDEuNzMgKFN1biwgSnVuIDEwIDIwMDUpCiogRml4ZWQgZGVuaWFsIG9mIHNlcnZpY2UgYnVnOiBodHRwOi8vd3d3LmN5YnNlYy5jb20vdnVsbi9QSFBNYWlsZXItRE9TLnBkZgoqIE5vdyBoYXMgYSB0b3RhbCBvZiAyMCB0cmFuc2xhdGlvbnMKKiBGaXhlZCBhbHQgYXR0YWNobWVudHMgYnVnOiBodHRwOi8vdGlueXVybC5jb20vOTh1OWsKClZlcnNpb24gMS43MiAoV2VkLCBNYXkgMjUgMjAwNCkKKiBBZGRlZCBEdXRjaCwgU3dlZGlzaCwgQ3plY2gsIE5vcndlZ2lhbiwgYW5kIFR1cmtpc2ggdHJhbnNsYXRpb25zLgoqIFJlY2VpdmVkOiBSZW1vdmVkIHRoaXMgbWV0aG9kIGJlY2F1c2Ugc3BhbSBmaWx0ZXIgcHJvZ3JhbXMgbGlrZQpTcGFtQXNzYXNzaW4gcmVqZWN0IHRoaXMgaGVhZGVyLgoqIEZpeGVkIGVycm9yIGNvdW50IGJ1Zy4KKiBTZXRMYW5ndWFnZSBkZWZhdWx0IGlzIG5vdyAibGFuZ3VhZ2UvIi4KKiBGaXhlZCBtYWdpY19xdW90ZXNfcnVudGltZSBidWcuCgpWZXJzaW9uIDEuNzEgKFR1ZSwgSnVsIDI4IDIwMDMpCiogTWFkZSBzZXZlcmFsIHNwZWVkIGVuaGFuY2VtZW50cwoqIEFkZGVkIEdlcm1hbiBhbmQgSXRhbGlhbiB0cmFuc2xhdGlvbiBmaWxlcwoqIEZpeGVkIEhFTE8vQVVUSCBidWdzIG9uIGtlZXAtYWxpdmUgY29ubmVjdHMKKiBOb3cgcHJvdmlkZXMgYW4gZXJyb3IgbWVzc2FnZSBpZiBsYW5ndWFnZSBmaWxlIGRvZXMgbm90IGxvYWQKKiBGaXhlZCBhdHRhY2htZW50IEVPTCBidWcKKiBVcGRhdGVkIHNvbWUgdW5jbGVhciBkb2N1bWVudGF0aW9uCiogQWRkZWQgYWRkaXRpb25hbCB0ZXN0cyBhbmQgaW1wcm92ZWQgb3RoZXJzCgpWZXJzaW9uIDEuNzAgKE1vbiwgSnVuIDIwIDIwMDMpCiogQWRkZWQgU01UUCBrZWVwLWFsaXZlIHN1cHBvcnQKKiBBZGRlZCBJc0Vycm9yIG1ldGhvZCBmb3IgZXJyb3IgZGV0ZWN0aW9uCiogQWRkZWQgZXJyb3IgbWVzc2FnZSB0cmFuc2xhdGlvbiBzdXBwb3J0IChTZXRMYW5ndWFnZSkKKiBSZWZhY3RvcmVkIG1hbnkgbWV0aG9kcyB0byBpbmNyZWFzZSBsaWJyYXJ5IHBlcmZvcm1hbmNlCiogSGVsbG8gbm93IHNlbmRzIHRoZSBuZXdlciBFSExPIG1lc3NhZ2UgYmVmb3JlIEhFTE8gYXMgcGVyIFJGQyAyODIxCiogUmVtb3ZlZCB0aGUgYm91bmRhcnkgY2xhc3MgYW5kIHJlcGxhY2VkIGl0IHdpdGggR2V0Qm91bmRhcnkKKiBSZW1vdmVkIHF1ZXVlIHN1cHBvcnQgbWV0aG9kcwoqIE5ldyAkSG9zdG5hbWUgdmFyaWFibGUKKiBOZXcgTWVzc2FnZS1JRCBoZWFkZXIKKiBSZWNlaXZlZCBoZWFkZXIgcmVmb3JtYXQKKiBIZWxvIHZhcmlhYmxlIGRlZmF1bHQgY2hhbmdlZCB0byAkSG9zdG5hbWUKKiBSZW1vdmVkIGV4dHJhIHNwYWNlcyBpbiBDb250ZW50LVR5cGUgZGVmaW5pdGlvbiAoIzY2NzE4MikKKiBSZXR1cm4tUGF0aCBzaG91bGQgYmUgc2V0IHRvIFNlbmRlciB3aGVuIHNldAoqIEFkZHMgUSBvciBCIGVuY29kaW5nIHRvIGhlYWRlcnMgd2hlbiBuZWNlc3NhcnkKKiBxdW90ZWQtZW5jb2Rpbmcgc2hvdWxkIG5vdyBlbmNvZGUgTlVMcyBcMDAwCiogRml4ZWQgZW5jb2Rpbmcgb2YgYm9keS9BbHRCb2R5ICgjNTUzMzcwKQoqIEFkZHMgIlRvOiB1bmRpc2Nsb3NlZC1yZWNpcGllbnRzOjsiIHdoZW4gYWxsIHJlY2lwaWVudHMgYXJlIGhpZGRlbiAoQkNDKQoqIE11bHRpcGxlIGJ1ZyBmaXhlcwoKVmVyc2lvbiAxLjY1IChGcmksIEF1ZyAwOSAyMDAyKQoqIEZpeGVkIG5vbi12aXNpYmxlIGF0dGFjaG1lbnQgYnVnICgjNTg1MDk3KSBmb3IgT3V0bG9vawoqIFNNVFAgY29ubmVjdGlvbnMgYXJlIG5vdyBjbG9zZWQgYWZ0ZXIgZWFjaCB0cmFuc2FjdGlvbgoqIEZpeGVkIFNNVFA6OkV4cGFuZCByZXR1cm4gdmFsdWUKKiBDb252ZXJ0ZWQgU01UUCBjbGFzcyBkb2N1bWVudGF0aW9uIHRvIHBocERvY3VtZW50b3IgZm9ybWF0CgpWZXJzaW9uIDEuNjIgKFdlZCwgSnVuIDI2IDIwMDIpCiogRml4ZWQgbXVsdGktYXR0YWNoIGJ1ZwoqIFNldCBwcm9wZXIgd29yZCB3cmFwcGluZwoqIFJlZHVjZWQgbWVtb3J5IHVzZSB3aXRoIGF0dGFjaG1lbnRzCiogQWRkZWQgbW9yZSBkZWJ1Z2dpbmcKKiBDaGFuZ2VkIGRvY3VtZW50YXRpb24gdG8gcGhwRG9jdW1lbnRvciBmb3JtYXQKClZlcnNpb24gMS42MCAoU2F0LCBNYXIgMzAgMjAwMikKKiBTZW5kbWFpbCBwaXBlIGFuZCBhZGRyZXNzIHBhdGNoIChDaHJpc3RpYW4gSG9sdGplKQoqIEFkZGVkIGVtYmVkZGVkIGltYWdlIGFuZCByZWFkIGNvbmZpcm1hdGlvbiBzdXBwb3J0IChBLiBPZ25pbykKKiBBZGRlZCB1bml0IHRlc3RzCiogQWRkZWQgU01UUCB0aW1lb3V0IHN1cHBvcnQgKCpuaXggb25seSkKKiBBZGRlZCBwb3NzaWJseSB0ZW1wb3JhcnkgUGx1Z2luRGlyIHZhcmlhYmxlIGZvciBTTVRQIGNsYXNzCiogQWRkZWQgTEUgbWVzc2FnZSBsaW5lIGVuZGluZyB2YXJpYWJsZQoqIFJlZmFjdG9yZWQgYm91bmRhcnkgYW5kIGF0dGFjaG1lbnQgY29kZQoqIEVsaW1pbmF0ZWQgU01UUCBjbGFzcyB3YXJuaW5ncwoqIEFkZGVkIFNlbmRUb1F1ZXVlIG1ldGhvZCBmb3IgZnV0dXJlIHF1ZXVpbmcgc3VwcG9ydAoKVmVyc2lvbiAxLjU0IChXZWQsIERlYyAxOSAyMDAxKQoqIEFkZCBzb21lIHF1ZXVpbmcgc3VwcG9ydCBjb2RlCiogRml4ZWQgYSBwZXNreSBtdWx0aS9hbHQgYnVnCiogTWVzc2FnZXMgYXJlIG5vIGxvbmdlciBmb3JjZWQgdG8gaGF2ZSAiVG8iIGFkZHJlc3NlcwoKVmVyc2lvbiAxLjUwIChUaHUsIE5vdiAwOCAyMDAxKQoqIEZpeCBleHRyYSBsaW5lcyB3aGVuIG5vdCB1c2luZyBTTVRQIG1haWxlcgoqIFNldCBXb3JkV3JhcCB2YXJpYWJsZSB0byBpbnQgd2l0aCBhIHplcm8gZGVmYXVsdAoKVmVyc2lvbiAxLjQ3IChUdWUsIE9jdCAxNiAyMDAxKQoqIEZpeGVkIFJlY2VpdmVkIGhlYWRlciBjb2RlIGZvcm1hdAoqIEZpeGVkIEFsdEJvZHkgb3JkZXIgZXJyb3IKKiBGaXhlZCBhbHRlcm5hdGUgcG9ydCB3YXJuaW5nCgpWZXJzaW9uIDEuNDUgKFR1ZSwgU2VwIDI1IDIwMDEpCiogQWRkZWQgZW5oYW5jZWQgU01UUCBkZWJ1ZyBzdXBwb3J0CiogQWRkZWQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgcG9ydHMgb24gU01UUAoqIEFkZGVkIFJlY2VpdmVkIGhlYWRlciBmb3IgdHJhY2luZwoqIEZpeGVkIEFkZFN0cmluZ0F0dGFjaG1lbnQgZW5jb2RpbmcKKiBGaXhlZCBwb3NzaWJsZSBoZWFkZXIgbmFtZSBxdW90ZSBidWcKKiBGaXhlZCB3b3Jkd3JhcCgpIHRyaW0gYnVnCiogQ291cGxlIG90aGVyIHNtYWxsIGJ1ZyBmaXhlcwoKVmVyc2lvbiAxLjQxIChXZWQsIEF1ZyAyMiAyMDAxKQoqIEZpeGVkIEFsdEJvZHkgYnVnIHcvbyBhdHRhY2htZW50cwoqIEZpeGVkIHJmY19kYXRlKCkgZm9yIGNlcnRhaW4gbWFpbCBzZXJ2ZXJzCgpWZXJzaW9uIDEuNDAgKFN1biwgQXVnIDEyIDIwMDEpCiogQWRkZWQgbXVsdGlwYXJ0L2FsdGVybmF0aXZlIHN1cHBvcnQgKEFsdEJvZHkpCiogRG9jdW1lbnRhdGlvbiB1cGRhdGUKKiBGaXhlZCBidWcgaW4gTWVyY3VyeSBNVEEKClZlcnNpb24gMS4yOSAoRnJpLCBBdWcgMDMgMjAwMSkKKiBBZGRlZCBBZGRTdHJpbmdBdHRhY2htZW50KCkgbWV0aG9kCiogQWRkZWQgU01UUCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0CgpWZXJzaW9uIDEuMjggKE1vbiwgSnVsIDMwIDIwMDEpCiogRml4ZWQgYSB0eXBvIGluIFNNVFAgY2xhc3MKKiBGaXhlZCBoZWFkZXIgaXNzdWUgd2l0aCBJbWFpbCAod2luMzIpIFNNVFAgc2VydmVyCiogTWFkZSBmb3BlbigpIGNhbGxzIGZvciBhdHRhY2htZW50cyB1c2UgInJiIiB0byBmaXggd2luMzIgZXJyb3IKClZlcnNpb24gMS4yNSAoTW9uLCBKdWwgMDIgMjAwMSkKKiBBZGRlZCBSRkMgODIyIGRhdGUgZml4IChQYXRyaWNlKQoqIEFkZGVkIGltcHJvdmVkIGVycm9yIGhhbmRsaW5nIGJ5IGFkZGluZyBhICRFcnJvckluZm8gdmFyaWFibGUKKiBSZW1vdmVkIE1haWxlckRlYnVnIHZhcmlhYmxlIChvYnNvbGV0ZSB3aXRoIG5ldyBlcnJvciBoYW5kbGVyKQoKVmVyc2lvbiAxLjIwIChNb24sIEp1biAyNSAyMDAxKQoqIEFkZGVkIHF1b3RlZC1wcmludGFibGUgZW5jb2RpbmcgKFBhdHJpY2UpCiogU2V0IFZlcnNpb24gYXMgcHVibGljIGFuZCByZW1vdmVkIFByaW50VmVyc2lvbigpCiogQ2hhbmdlZCBwaHBkb2MgdG8gb25seSBkaXNwbGF5IHB1YmxpYyB2YXJpYWJsZXMgYW5kIG1ldGhvZHMKClZlcnNpb24gMS4xOSAoVGh1LCBKdW4gMjEgMjAwMSkKKiBGaXhlZCBNUyBNYWlsIGhlYWRlciBidWcKKiBBZGRlZCBmaXggZm9yIEJjYyBwcm9ibGVtIHdpdGggbWFpbCgpLiAqRG9lcyBub3Qgd29yayBvbiBXaW4zMioKICAoU2VlIFBIUCBidWcgcmVwb3J0OiBodHRwOi8vd3d3LnBocC5uZXQvYnVncy5waHA/aWQ9MTE2MTYpCiogbWFpbCgpIG5vIGxvbmdlciBwYXNzZXMgYSBmaWZ0aCBwYXJhbWV0ZXIgd2hlbiBub3QgbmVlZGVkCgpWZXJzaW9uIDEuMTUgKEZyaSwgSnVuIDE1IDIwMDEpCltOb3RlOiB0aGVzZSBjaGFuZ2VzIGNvbnRyaWJ1dGVkIGJ5IFBhdHJpY2UgRm91cm5pZXJdCiogQ2hhbmdlZCBhbGwgcmVtYWluaW5nIFxuIHRvIFxyXG4KKiBCY2M6IGhlYWRlciBubyBsb25nZXIgd3JpdGVuIHRvIG1lc3NhZ2UgZXhjZXB0CndoZW4gc2VudCBkaXJlY3RseSB0byBzZW5kbWFpbAoqIEFkZGVkIGEgc21hbGwgbWVzc2FnZSB0byBub24tTUlNRSBjb21wbGlhbnQgbWFpbCByZWFkZXIKKiBBZGRlZCBTZW5kZXIgdmFyaWFibGUgdG8gY2hhbmdlIHRoZSBTZW5kZXIgZW1haWwKdXNlZCBpbiAtZiBmb3Igc2VuZG1haWwvbWFpbCBhbmQgaW4gJ01BSUwgRlJPTScgZm9yIHNtdHAgbW9kZQoqIENoYW5nZWQgYm91bmRhcnkgc2V0dGluZyB0byBhIHBsYWNlIGl0IHdpbGwgYmUgc2V0IG9ubHkgb25jZQoqIFJlbW92ZWQgdHJhbnNmZXIgZW5jb2RpbmcgZm9yIHdob2xlIG1lc3NhZ2Ugd2hlbiB1c2luZyBtdWx0aXBhcnQKKiBNZXNzYWdlIGJvZHkgbm93IHVzZXMgRW5jb2RpbmcgaW4gbXVsdGlwYXJ0IG1lc3NhZ2VzCiogQ2FuIHNldCBlbmNvZGluZyBhbmQgdHlwZSB0byBhdHRhY2htZW50cyA3Yml0LCA4Yml0CmFuZCBiaW5hcnkgYXR0YWNobWVudCBhcmUgc2VudCBhcyBpcywgYmFzZTY0IGFyZSBlbmNvZGVkCiogQ2FuIHNldCBFbmNvZGluZyB0byBiYXNlNjQgdG8gc2VuZCA4IGJpdHMgYm9keQp0aHJvdWdoIDcgYml0cyBzZXJ2ZXJzCgpWZXJzaW9uIDEuMTAgKFR1ZSwgSnVuIDEyIDIwMDEpCiogRml4ZWQgd2luMzIgbWFpbCBoZWFkZXIgYnVnIChwcmludGVkIG91dCBoZWFkZXJzIGluIG1lc3NhZ2UgYm9keSkKClZlcnNpb24gMS4wOSAoRnJpLCBKdW4gMDggMjAwMSkKKiBDaGFuZ2VkIGRhdGUgaGVhZGVyIHRvIHdvcmsgd2l0aCBOZXRzY2FwZSBtYWlsIHByb2dyYW1zCiogQWx0ZXJlZCBwaHBkb2MgZG9jdW1lbnRhdGlvbgoKVmVyc2lvbiAxLjA4IChUdWUsIEp1biAwNSAyMDAxKQoqIEFkZGVkIGVuaGFuY2VkIGVycm9yLWNoZWNraW5nCiogQWRkZWQgcGhwZG9jIGRvY3VtZW50YXRpb24gdG8gc291cmNlCgpWZXJzaW9uIDEuMDYgKEZyaSwgSnVuIDAxIDIwMDEpCiogQWRkZWQgb3B0aW9uYWwgbmFtZSBmb3IgZmlsZSBhdHRhY2htZW50cwoKVmVyc2lvbiAxLjA1IChUdWUsIE1heSAyOSAyMDAxKQoqIENvZGUgY2xlYW51cAoqIEVsaW1pbmF0ZWQgc2VuZG1haWwgaGVhZGVyIHdhcm5pbmcgbWVzc2FnZQoqIEZpeGVkIHBvc3NpYmxlIFNNVFAgZXJyb3IKClZlcnNpb24gMS4wMyAoVGh1LCBNYXkgMjQgMjAwMSkKKiBGaXhlZCBwcm9ibGVtIHdoZXJlIHFtYWlsIHNlbmRzIG91dCBkdXBsaWNhdGUgbWVzc2FnZXMKClZlcnNpb24gMS4wMiAoV2VkLCBNYXkgMjMgMjAwMSkKKiBBZGRlZCBtdWx0aXBsZSByZWNpcGllbnQgYW5kIGF0dGFjaG1lbnQgQ2xlYXIqIG1ldGhvZHMKKiBBZGRlZCBTZW5kbWFpbCBwdWJsaWMgdmFyaWFibGUKKiBGaXhlZCBwcm9ibGVtIHdpdGggbG9hZGluZyBTTVRQIGxpYnJhcnkgbXVsdGlwbGUgdGltZXMKClZlcnNpb24gMC45OCAoVHVlLCBNYXkgMjIgMjAwMSkKKiBGaXhlZCBwcm9ibGVtIHdpdGggcmVkdW5kYW50IG1haWwgaG9zdHMgc2VuZGluZyBvdXQgbXVsdGlwbGUgbWVzc2FnZXMKKiBBZGRlZCBhZGRpdGlvbmFsIGVycm9yIGhhbmRsZXIgY29kZQoqIEFkZGVkIEFkZEN1c3RvbUhlYWRlcigpIGZ1bmN0aW9uCiogQWRkZWQgc3VwcG9ydCBmb3IgTWljcm9zb2Z0IG1haWwgY2xpZW50IGhlYWRlcnMgKGFmZmVjdHMgcHJpb3JpdHkpCiogRml4ZWQgc21hbGwgYnVnIHdpdGggTWFpbGVyIHZhcmlhYmxlCiogQWRkZWQgUHJpbnRWZXJzaW9uKCkgZnVuY3Rpb24KClZlcnNpb24gMC45MiAoVHVlLCBNYXkgMTUgMjAwMSkKKiBDaGFuZ2VkIGZpbGUgbmFtZXMgdG8gY2xhc3MucGhwbWFpbGVyLnBocCBhbmQgY2xhc3Muc210cC5waHAgdG8gbWF0Y2gKICBjdXJyZW50IFBIUCBjbGFzcyB0cmVuZC4KKiBGaXhlZCBwcm9ibGVtIHdoZXJlIGJvZHkgbm90IGJlaW5nIHByaW50ZWQgd2hlbiBhIG1lc3NhZ2UgaXMgYXR0YWNoZWQKKiBTZXZlcmFsIHNtYWxsIGJ1ZyBmaXhlcwoKVmVyc2lvbiAwLjkwIChUdWUsIEFwcmlsIDE3IDIwMDEpCiogSW50aWFsIHB1YmxpYyByZWxlYXNlCg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/class.phpmailer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFBIUE1haWxlciAtIFBIUCBlbWFpbCBjcmVhdGlvbiBhbmQgdHJhbnNwb3J0IGNsYXNzLgogKiBQSFAgVmVyc2lvbiA1CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vUEhQTWFpbGVyL1BIUE1haWxlci8gVGhlIFBIUE1haWxlciBHaXRIdWIgcHJvamVjdAogKiBAYXV0aG9yIE1hcmN1cyBCb2ludG9uIChTeW5jaHJvL2Nvb2xicnUpIDxwaHBtYWlsZXJAc3luY2hyb21lZGlhLmNvLnVrPgogKiBAYXV0aG9yIEppbSBKYWdpZWxza2kgKGppbWphZykgPGppbWphZ0BnbWFpbC5jb20+CiAqIEBhdXRob3IgQW5keSBQcmV2b3N0IChjb2Rld29yeHRlY2gpIDxjb2Rld29yeHRlY2hAdXNlcnMuc291cmNlZm9yZ2UubmV0PgogKiBAYXV0aG9yIEJyZW50IFIuIE1hdHplbGxlIChvcmlnaW5hbCBmb3VuZGVyKQogKiBAY29weXJpZ2h0IDIwMTIgLSAyMDE0IE1hcmN1cyBCb2ludG9uCiAqIEBjb3B5cmlnaHQgMjAxMCAtIDIwMTIgSmltIEphZ2llbHNraQogKiBAY29weXJpZ2h0IDIwMDQgLSAyMDA5IEFuZHkgUHJldm9zdAogKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvbGVzc2VyLmh0bWwgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAqIEBub3RlIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsIC0gV0lUSE9VVAogKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCiAqLwoKLyoqCiAqIFBIUE1haWxlciAtIFBIUCBlbWFpbCBjcmVhdGlvbiBhbmQgdHJhbnNwb3J0IGNsYXNzLgogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBNYXJjdXMgQm9pbnRvbiAoU3luY2hyby9jb29sYnJ1KSA8cGhwbWFpbGVyQHN5bmNocm9tZWRpYS5jby51az4KICogQGF1dGhvciBKaW0gSmFnaWVsc2tpIChqaW1qYWcpIDxqaW1qYWdAZ21haWwuY29tPgogKiBAYXV0aG9yIEFuZHkgUHJldm9zdCAoY29kZXdvcnh0ZWNoKSA8Y29kZXdvcnh0ZWNoQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KICogQGF1dGhvciBCcmVudCBSLiBNYXR6ZWxsZSAob3JpZ2luYWwgZm91bmRlcikKICovCmNsYXNzIFBIUE1haWxlcgp7CiAgICAvKioKICAgICAqIFRoZSBQSFBNYWlsZXIgVmVyc2lvbiBudW1iZXIuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJFZlcnNpb24gPSAnNS4yLjE0JzsKCiAgICAvKioKICAgICAqIEVtYWlsIHByaW9yaXR5LgogICAgICogT3B0aW9uczogbnVsbCAoZGVmYXVsdCksIDEgPSBIaWdoLCAzID0gTm9ybWFsLCA1ID0gbG93LgogICAgICogV2hlbiBudWxsLCB0aGUgaGVhZGVyIGlzIG5vdCBzZXQgYXQgYWxsLgogICAgICogQHZhciBpbnRlZ2VyCiAgICAgKi8KICAgIHB1YmxpYyAkUHJpb3JpdHkgPSBudWxsOwoKICAgIC8qKgogICAgICogVGhlIGNoYXJhY3RlciBzZXQgb2YgdGhlIG1lc3NhZ2UuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJENoYXJTZXQgPSAnaXNvLTg4NTktMSc7CgogICAgLyoqCiAgICAgKiBUaGUgTUlNRSBDb250ZW50LXR5cGUgb2YgdGhlIG1lc3NhZ2UuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJENvbnRlbnRUeXBlID0gJ3RleHQvcGxhaW4nOwoKICAgIC8qKgogICAgICogVGhlIG1lc3NhZ2UgZW5jb2RpbmcuCiAgICAgKiBPcHRpb25zOiAiOGJpdCIsICI3Yml0IiwgImJpbmFyeSIsICJiYXNlNjQiLCBhbmQgInF1b3RlZC1wcmludGFibGUiLgogICAgICogQHZhciBzdHJpbmcKICAgICAqLwogICAgcHVibGljICRFbmNvZGluZyA9ICc4Yml0JzsKCiAgICAvKioKICAgICAqIEhvbGRzIHRoZSBtb3N0IHJlY2VudCBtYWlsZXIgZXJyb3IgbWVzc2FnZS4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkRXJyb3JJbmZvID0gJyc7CgogICAgLyoqCiAgICAgKiBUaGUgRnJvbSBlbWFpbCBhZGRyZXNzIGZvciB0aGUgbWVzc2FnZS4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkRnJvbSA9ICdyb290QGxvY2FsaG9zdCc7CgogICAgLyoqCiAgICAgKiBUaGUgRnJvbSBuYW1lIG9mIHRoZSBtZXNzYWdlLgogICAgICogQHZhciBzdHJpbmcKICAgICAqLwogICAgcHVibGljICRGcm9tTmFtZSA9ICdSb290IFVzZXInOwoKICAgIC8qKgogICAgICogVGhlIFNlbmRlciBlbWFpbCAoUmV0dXJuLVBhdGgpIG9mIHRoZSBtZXNzYWdlLgogICAgICogSWYgbm90IGVtcHR5LCB3aWxsIGJlIHNlbnQgdmlhIC1mIHRvIHNlbmRtYWlsIG9yIGFzICdNQUlMIEZST00nIGluIHNtdHAgbW9kZS4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkU2VuZGVyID0gJyc7CgogICAgLyoqCiAgICAgKiBUaGUgUmV0dXJuLVBhdGggb2YgdGhlIG1lc3NhZ2UuCiAgICAgKiBJZiBlbXB0eSwgaXQgd2lsbCBiZSBzZXQgdG8gZWl0aGVyIEZyb20gb3IgU2VuZGVyLgogICAgICogQHZhciBzdHJpbmcKICAgICAqIEBkZXByZWNhdGVkIEVtYWlsIHNlbmRlcnMgc2hvdWxkIG5ldmVyIHNldCBhIHJldHVybi1wYXRoIGhlYWRlcjsKICAgICAqIGl0J3MgdGhlIHJlY2VpdmVyJ3Mgam9iIChSRkM1MzIxIHNlY3Rpb24gNC40KSwgc28gdGhpcyBubyBsb25nZXIgZG9lcyBhbnl0aGluZy4KICAgICAqIEBsaW5rIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM1MzIxI3NlY3Rpb24tNC40IFJGQzUzMjEgcmVmZXJlbmNlCiAgICAgKi8KICAgIHB1YmxpYyAkUmV0dXJuUGF0aCA9ICcnOwoKICAgIC8qKgogICAgICogVGhlIFN1YmplY3Qgb2YgdGhlIG1lc3NhZ2UuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJFN1YmplY3QgPSAnJzsKCiAgICAvKioKICAgICAqIEFuIEhUTUwgb3IgcGxhaW4gdGV4dCBtZXNzYWdlIGJvZHkuCiAgICAgKiBJZiBIVE1MIHRoZW4gY2FsbCBpc0hUTUwodHJ1ZSkuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJEJvZHkgPSAnJzsKCiAgICAvKioKICAgICAqIFRoZSBwbGFpbi10ZXh0IG1lc3NhZ2UgYm9keS4KICAgICAqIFRoaXMgYm9keSBjYW4gYmUgcmVhZCBieSBtYWlsIGNsaWVudHMgdGhhdCBkbyBub3QgaGF2ZSBIVE1MIGVtYWlsCiAgICAgKiBjYXBhYmlsaXR5IHN1Y2ggYXMgbXV0dCAmIEV1ZG9yYS4KICAgICAqIENsaWVudHMgdGhhdCBjYW4gcmVhZCBIVE1MIHdpbGwgdmlldyB0aGUgbm9ybWFsIEJvZHkuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJEFsdEJvZHkgPSAnJzsKCiAgICAvKioKICAgICAqIEFuIGlDYWwgbWVzc2FnZSBwYXJ0IGJvZHkuCiAgICAgKiBPbmx5IHN1cHBvcnRlZCBpbiBzaW1wbGUgYWx0IG9yIGFsdF9pbmxpbmUgbWVzc2FnZSB0eXBlcwogICAgICogVG8gZ2VuZXJhdGUgaUNhbCBldmVudHMsIHVzZSB0aGUgYnVuZGxlZCBleHRyYXMvRWFzeVBlYXN5SUNTLnBocCBjbGFzcyBvciBpQ2FsY3JlYXRvcgogICAgICogQGxpbmsgaHR0cDovL3NwcmFpbi5jaC9ibG9nL2Rvd25sb2Fkcy9waHAtY2xhc3MtZWFzeXBlYXN5aWNzLWNyZWF0ZS1pY2FsLWZpbGVzLXdpdGgtcGhwLwogICAgICogQGxpbmsgaHR0cDovL2tpZ2tvbnN1bHQuc2UvaUNhbGNyZWF0b3IvCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJEljYWwgPSAnJzsKCiAgICAvKioKICAgICAqIFRoZSBjb21wbGV0ZSBjb21waWxlZCBNSU1FIG1lc3NhZ2UgYm9keS4KICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgJE1JTUVCb2R5ID0gJyc7CgogICAgLyoqCiAgICAgKiBUaGUgY29tcGxldGUgY29tcGlsZWQgTUlNRSBtZXNzYWdlIGhlYWRlcnMuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqLwogICAgcHJvdGVjdGVkICRNSU1FSGVhZGVyID0gJyc7CgogICAgLyoqCiAgICAgKiBFeHRyYSBoZWFkZXJzIHRoYXQgY3JlYXRlSGVhZGVyKCkgZG9lc24ndCBmb2xkIGluLgogICAgICogQHZhciBzdHJpbmcKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCAkbWFpbEhlYWRlciA9ICcnOwoKICAgIC8qKgogICAgICogV29yZC13cmFwIHRoZSBtZXNzYWdlIGJvZHkgdG8gdGhpcyBudW1iZXIgb2YgY2hhcnMuCiAgICAgKiBTZXQgdG8gMCB0byBub3Qgd3JhcC4gQSB1c2VmdWwgdmFsdWUgaGVyZSBpcyA3OCwgZm9yIFJGQzI4MjIgc2VjdGlvbiAyLjEuMSBjb21wbGlhbmNlLgogICAgICogQHZhciBpbnRlZ2VyCiAgICAgKi8KICAgIHB1YmxpYyAkV29yZFdyYXAgPSAwOwoKICAgIC8qKgogICAgICogV2hpY2ggbWV0aG9kIHRvIHVzZSB0byBzZW5kIG1haWwuCiAgICAgKiBPcHRpb25zOiAibWFpbCIsICJzZW5kbWFpbCIsIG9yICJzbXRwIi4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkTWFpbGVyID0gJ21haWwnOwoKICAgIC8qKgogICAgICogVGhlIHBhdGggdG8gdGhlIHNlbmRtYWlsIHByb2dyYW0uCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJFNlbmRtYWlsID0gJy91c3Ivc2Jpbi9zZW5kbWFpbCc7CgogICAgLyoqCiAgICAgKiBXaGV0aGVyIG1haWwoKSB1c2VzIGEgZnVsbHkgc2VuZG1haWwtY29tcGF0aWJsZSBNVEEuCiAgICAgKiBPbmUgd2hpY2ggc3VwcG9ydHMgc2VuZG1haWwncyAiLW9pIC1mIiBvcHRpb25zLgogICAgICogQHZhciBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyAkVXNlU2VuZG1haWxPcHRpb25zID0gdHJ1ZTsKCiAgICAvKioKICAgICAqIFBhdGggdG8gUEhQTWFpbGVyIHBsdWdpbnMuCiAgICAgKiBVc2VmdWwgaWYgdGhlIFNNVFAgY2xhc3MgaXMgbm90IGluIHRoZSBQSFAgaW5jbHVkZSBwYXRoLgogICAgICogQHZhciBzdHJpbmcKICAgICAqIEBkZXByZWNhdGVkIFNob3VsZCBub3QgYmUgbmVlZGVkIG5vdyB0aGVyZSBpcyBhbiBhdXRvbG9hZGVyLgogICAgICovCiAgICBwdWJsaWMgJFBsdWdpbkRpciA9ICcnOwoKICAgIC8qKgogICAgICogVGhlIGVtYWlsIGFkZHJlc3MgdGhhdCBhIHJlYWRpbmcgY29uZmlybWF0aW9uIHNob3VsZCBiZSBzZW50IHRvLCBhbHNvIGtub3duIGFzIHJlYWQgcmVjZWlwdC4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkQ29uZmlybVJlYWRpbmdUbyA9ICcnOwoKICAgIC8qKgogICAgICogVGhlIGhvc3RuYW1lIHRvIHVzZSBpbiB0aGUgTWVzc2FnZS1JRCBoZWFkZXIgYW5kIGFzIGRlZmF1bHQgSEVMTyBzdHJpbmcuCiAgICAgKiBJZiBlbXB0eSwgUEhQTWFpbGVyIGF0dGVtcHRzIHRvIGZpbmQgb25lIHdpdGgsIGluIG9yZGVyLAogICAgICogJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10sIGdldGhvc3RuYW1lKCksIHBocF91bmFtZSgnbicpLCBvciB0aGUgdmFsdWUKICAgICAqICdsb2NhbGhvc3QubG9jYWxkb21haW4nLgogICAgICogQHZhciBzdHJpbmcKICAgICAqLwogICAgcHVibGljICRIb3N0bmFtZSA9ICcnOwoKICAgIC8qKgogICAgICogQW4gSUQgdG8gYmUgdXNlZCBpbiB0aGUgTWVzc2FnZS1JRCBoZWFkZXIuCiAgICAgKiBJZiBlbXB0eSwgYSB1bmlxdWUgaWQgd2lsbCBiZSBnZW5lcmF0ZWQuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJE1lc3NhZ2VJRCA9ICcnOwoKICAgIC8qKgogICAgICogVGhlIG1lc3NhZ2UgRGF0ZSB0byBiZSB1c2VkIGluIHRoZSBEYXRlIGhlYWRlci4KICAgICAqIElmIGVtcHR5LCB0aGUgY3VycmVudCBkYXRlIHdpbGwgYmUgYWRkZWQuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJE1lc3NhZ2VEYXRlID0gJyc7CgogICAgLyoqCiAgICAgKiBTTVRQIGhvc3RzLgogICAgICogRWl0aGVyIGEgc2luZ2xlIGhvc3RuYW1lIG9yIG11bHRpcGxlIHNlbWljb2xvbi1kZWxpbWl0ZWQgaG9zdG5hbWVzLgogICAgICogWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBkaWZmZXJlbnQgcG9ydAogICAgICogZm9yIGVhY2ggaG9zdCBieSB1c2luZyB0aGlzIGZvcm1hdDogW2hvc3RuYW1lOnBvcnRdCiAgICAgKiAoZS5nLiAic210cDEuZXhhbXBsZS5jb206MjU7c210cDIuZXhhbXBsZS5jb20iKS4KICAgICAqIFlvdSBjYW4gYWxzbyBzcGVjaWZ5IGVuY3J5cHRpb24gdHlwZSwgZm9yIGV4YW1wbGU6CiAgICAgKiAoZS5nLiAidGxzOi8vc210cDEuZXhhbXBsZS5jb206NTg3O3NzbDovL3NtdHAyLmV4YW1wbGUuY29tOjQ2NSIpLgogICAgICogSG9zdHMgd2lsbCBiZSB0cmllZCBpbiBvcmRlci4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkSG9zdCA9ICdsb2NhbGhvc3QnOwoKICAgIC8qKgogICAgICogVGhlIGRlZmF1bHQgU01UUCBzZXJ2ZXIgcG9ydC4KICAgICAqIEB2YXIgaW50ZWdlcgogICAgICogQFRPRE8gV2h5IGlzIHRoaXMgbmVlZGVkIHdoZW4gdGhlIFNNVFAgY2xhc3MgdGFrZXMgY2FyZSBvZiBpdD8KICAgICAqLwogICAgcHVibGljICRQb3J0ID0gMjU7CgogICAgLyoqCiAgICAgKiBUaGUgU01UUCBIRUxPIG9mIHRoZSBtZXNzYWdlLgogICAgICogRGVmYXVsdCBpcyAkSG9zdG5hbWUuIElmICRIb3N0bmFtZSBpcyBlbXB0eSwgUEhQTWFpbGVyIGF0dGVtcHRzIHRvIGZpbmQKICAgICAqIG9uZSB3aXRoIHRoZSBzYW1lIG1ldGhvZCBkZXNjcmliZWQgYWJvdmUgZm9yICRIb3N0bmFtZS4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKiBAc2VlIFBIUE1haWxlcjo6JEhvc3RuYW1lCiAgICAgKi8KICAgIHB1YmxpYyAkSGVsbyA9ICcnOwoKICAgIC8qKgogICAgICogV2hhdCBraW5kIG9mIGVuY3J5cHRpb24gdG8gdXNlIG9uIHRoZSBTTVRQIGNvbm5lY3Rpb24uCiAgICAgKiBPcHRpb25zOiAnJywgJ3NzbCcgb3IgJ3RscycKICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkU01UUFNlY3VyZSA9ICcnOwoKICAgIC8qKgogICAgICogV2hldGhlciB0byBlbmFibGUgVExTIGVuY3J5cHRpb24gYXV0b21hdGljYWxseSBpZiBhIHNlcnZlciBzdXBwb3J0cyBpdCwKICAgICAqIGV2ZW4gaWYgYFNNVFBTZWN1cmVgIGlzIG5vdCBzZXQgdG8gJ3RscycuCiAgICAgKiBCZSBhd2FyZSB0aGF0IGluIFBIUCA+PSA1LjYgdGhpcyByZXF1aXJlcyB0aGF0IHRoZSBzZXJ2ZXIncyBjZXJ0aWZpY2F0ZXMgYXJlIHZhbGlkLgogICAgICogQHZhciBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyAkU01UUEF1dG9UTFMgPSB0cnVlOwoKICAgIC8qKgogICAgICogV2hldGhlciB0byB1c2UgU01UUCBhdXRoZW50aWNhdGlvbi4KICAgICAqIFVzZXMgdGhlIFVzZXJuYW1lIGFuZCBQYXNzd29yZCBwcm9wZXJ0aWVzLgogICAgICogQHZhciBib29sZWFuCiAgICAgKiBAc2VlIFBIUE1haWxlcjo6JFVzZXJuYW1lCiAgICAgKiBAc2VlIFBIUE1haWxlcjo6JFBhc3N3b3JkCiAgICAgKi8KICAgIHB1YmxpYyAkU01UUEF1dGggPSBmYWxzZTsKCiAgICAvKioKICAgICAqIE9wdGlvbnMgYXJyYXkgcGFzc2VkIHRvIHN0cmVhbV9jb250ZXh0X2NyZWF0ZSB3aGVuIGNvbm5lY3RpbmcgdmlhIFNNVFAuCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyAkU01UUE9wdGlvbnMgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogU01UUCB1c2VybmFtZS4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkVXNlcm5hbWUgPSAnJzsKCiAgICAvKioKICAgICAqIFNNVFAgcGFzc3dvcmQuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJFBhc3N3b3JkID0gJyc7CgogICAgLyoqCiAgICAgKiBTTVRQIGF1dGggdHlwZS4KICAgICAqIE9wdGlvbnMgYXJlIExPR0lOIChkZWZhdWx0KSwgUExBSU4sIE5UTE0sIENSQU0tTUQ1CiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJEF1dGhUeXBlID0gJyc7CgogICAgLyoqCiAgICAgKiBTTVRQIHJlYWxtLgogICAgICogVXNlZCBmb3IgTlRMTSBhdXRoCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJFJlYWxtID0gJyc7CgogICAgLyoqCiAgICAgKiBTTVRQIHdvcmtzdGF0aW9uLgogICAgICogVXNlZCBmb3IgTlRMTSBhdXRoCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJFdvcmtzdGF0aW9uID0gJyc7CgogICAgLyoqCiAgICAgKiBUaGUgU01UUCBzZXJ2ZXIgdGltZW91dCBpbiBzZWNvbmRzLgogICAgICogRGVmYXVsdCBvZiA1IG1pbnV0ZXMgKDMwMHNlYykgaXMgZnJvbSBSRkMyODIxIHNlY3Rpb24gNC41LjMuMgogICAgICogQHZhciBpbnRlZ2VyCiAgICAgKi8KICAgIHB1YmxpYyAkVGltZW91dCA9IDMwMDsKCiAgICAvKioKICAgICAqIFNNVFAgY2xhc3MgZGVidWcgb3V0cHV0IG1vZGUuCiAgICAgKiBEZWJ1ZyBvdXRwdXQgbGV2ZWwuCiAgICAgKiBPcHRpb25zOgogICAgICogKiBgMGAgTm8gb3V0cHV0CiAgICAgKiAqIGAxYCBDb21tYW5kcwogICAgICogKiBgMmAgRGF0YSBhbmQgY29tbWFuZHMKICAgICAqICogYDNgIEFzIDIgcGx1cyBjb25uZWN0aW9uIHN0YXR1cwogICAgICogKiBgNGAgTG93LWxldmVsIGRhdGEgb3V0cHV0CiAgICAgKiBAdmFyIGludGVnZXIKICAgICAqIEBzZWUgU01UUDo6JGRvX2RlYnVnCiAgICAgKi8KICAgIHB1YmxpYyAkU01UUERlYnVnID0gMDsKCiAgICAvKioKICAgICAqIEhvdyB0byBoYW5kbGUgZGVidWcgb3V0cHV0LgogICAgICogT3B0aW9uczoKICAgICAqICogYGVjaG9gIE91dHB1dCBwbGFpbi10ZXh0IGFzLWlzLCBhcHByb3ByaWF0ZSBmb3IgQ0xJCiAgICAgKiAqIGBodG1sYCBPdXRwdXQgZXNjYXBlZCwgbGluZSBicmVha3MgY29udmVydGVkIHRvIGA8YnI+YCwgYXBwcm9wcmlhdGUgZm9yIGJyb3dzZXIgb3V0cHV0CiAgICAgKiAqIGBlcnJvcl9sb2dgIE91dHB1dCB0byBlcnJvciBsb2cgYXMgY29uZmlndXJlZCBpbiBwaHAuaW5pCiAgICAgKgogICAgICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBwcm92aWRlIGEgY2FsbGFibGUgZXhwZWN0aW5nIHR3byBwYXJhbXM6IGEgbWVzc2FnZSBzdHJpbmcgYW5kIHRoZSBkZWJ1ZyBsZXZlbDoKICAgICAqIDxjb2RlPgogICAgICogJG1haWwtPkRlYnVnb3V0cHV0ID0gZnVuY3Rpb24oJHN0ciwgJGxldmVsKSB7ZWNobyAiZGVidWcgbGV2ZWwgJGxldmVsOyBtZXNzYWdlOiAkc3RyIjt9OwogICAgICogPC9jb2RlPgogICAgICogQHZhciBzdHJpbmd8Y2FsbGFibGUKICAgICAqIEBzZWUgU01UUDo6JERlYnVnb3V0cHV0CiAgICAgKi8KICAgIHB1YmxpYyAkRGVidWdvdXRwdXQgPSAnZWNobyc7CgogICAgLyoqCiAgICAgKiBXaGV0aGVyIHRvIGtlZXAgU01UUCBjb25uZWN0aW9uIG9wZW4gYWZ0ZXIgZWFjaCBtZXNzYWdlLgogICAgICogSWYgdGhpcyBpcyBzZXQgdG8gdHJ1ZSB0aGVuIHRvIGNsb3NlIHRoZSBjb25uZWN0aW9uCiAgICAgKiByZXF1aXJlcyBhbiBleHBsaWNpdCBjYWxsIHRvIHNtdHBDbG9zZSgpLgogICAgICogQHZhciBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyAkU01UUEtlZXBBbGl2ZSA9IGZhbHNlOwoKICAgIC8qKgogICAgICogV2hldGhlciB0byBzcGxpdCBtdWx0aXBsZSB0byBhZGRyZXNzZXMgaW50byBtdWx0aXBsZSBtZXNzYWdlcwogICAgICogb3Igc2VuZCB0aGVtIGFsbCBpbiBvbmUgbWVzc2FnZS4KICAgICAqIEB2YXIgYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgJFNpbmdsZVRvID0gZmFsc2U7CgogICAgLyoqCiAgICAgKiBTdG9yYWdlIGZvciBhZGRyZXNzZXMgd2hlbiBTaW5nbGVUbyBpcyBlbmFibGVkLgogICAgICogQHZhciBhcnJheQogICAgICogQFRPRE8gVGhpcyBzaG91bGQgcmVhbGx5IG5vdCBiZSBwdWJsaWMKICAgICAqLwogICAgcHVibGljICRTaW5nbGVUb0FycmF5ID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIFdoZXRoZXIgdG8gZ2VuZXJhdGUgVkVSUCBhZGRyZXNzZXMgb24gc2VuZC4KICAgICAqIE9ubHkgYXBwbGljYWJsZSB3aGVuIHNlbmRpbmcgdmlhIFNNVFAuCiAgICAgKiBAbGluayBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9WYXJpYWJsZV9lbnZlbG9wZV9yZXR1cm5fcGF0aAogICAgICogQGxpbmsgaHR0cDovL3d3dy5wb3N0Zml4Lm9yZy9WRVJQX1JFQURNRS5odG1sIFBvc3RmaXggVkVSUCBpbmZvCiAgICAgKiBAdmFyIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljICRkb192ZXJwID0gZmFsc2U7CgogICAgLyoqCiAgICAgKiBXaGV0aGVyIHRvIGFsbG93IHNlbmRpbmcgbWVzc2FnZXMgd2l0aCBhbiBlbXB0eSBib2R5LgogICAgICogQHZhciBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyAkQWxsb3dFbXB0eSA9IGZhbHNlOwoKICAgIC8qKgogICAgICogVGhlIGRlZmF1bHQgbGluZSBlbmRpbmcuCiAgICAgKiBAbm90ZSBUaGUgZGVmYXVsdCByZW1haW5zICJcbiIuIFdlIGZvcmNlIENSTEYgd2hlcmUgd2Uga25vdwogICAgICogICAgICAgIGl0IG11c3QgYmUgdXNlZCB2aWEgc2VsZjo6Q1JMRi4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkTEUgPSAiXG4iOwoKICAgIC8qKgogICAgICogREtJTSBzZWxlY3Rvci4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkREtJTV9zZWxlY3RvciA9ICcnOwoKICAgIC8qKgogICAgICogREtJTSBJZGVudGl0eS4KICAgICAqIFVzdWFsbHkgdGhlIGVtYWlsIGFkZHJlc3MgdXNlZCBhcyB0aGUgc291cmNlIG9mIHRoZSBlbWFpbAogICAgICogQHZhciBzdHJpbmcKICAgICAqLwogICAgcHVibGljICRES0lNX2lkZW50aXR5ID0gJyc7CgogICAgLyoqCiAgICAgKiBES0lNIHBhc3NwaHJhc2UuCiAgICAgKiBVc2VkIGlmIHlvdXIga2V5IGlzIGVuY3J5cHRlZC4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkREtJTV9wYXNzcGhyYXNlID0gJyc7CgogICAgLyoqCiAgICAgKiBES0lNIHNpZ25pbmcgZG9tYWluIG5hbWUuCiAgICAgKiBAZXhhbXBsZSAnZXhhbXBsZS5jb20nCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJERLSU1fZG9tYWluID0gJyc7CgogICAgLyoqCiAgICAgKiBES0lNIHByaXZhdGUga2V5IGZpbGUgcGF0aC4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkREtJTV9wcml2YXRlID0gJyc7CgogICAgLyoqCiAgICAgKiBDYWxsYmFjayBBY3Rpb24gZnVuY3Rpb24gbmFtZS4KICAgICAqCiAgICAgKiBUaGUgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIHRoZSByZXN1bHQgb2YgdGhlIHNlbmQgZW1haWwgYWN0aW9uLgogICAgICogSXQgaXMgY2FsbGVkIG91dCBieSBzZW5kKCkgZm9yIGVhY2ggZW1haWwgc2VudC4KICAgICAqCiAgICAgKiBWYWx1ZSBjYW4gYmUgYW55IHBocCBjYWxsYWJsZTogaHR0cDovL3d3dy5waHAubmV0L2lzX2NhbGxhYmxlCiAgICAgKgogICAgICogUGFyYW1ldGVyczoKICAgICAqICAgYm9vbGVhbiAkcmVzdWx0ICAgICAgICByZXN1bHQgb2YgdGhlIHNlbmQgYWN0aW9uCiAgICAgKiAgIHN0cmluZyAgJHRvICAgICAgICAgICAgZW1haWwgYWRkcmVzcyBvZiB0aGUgcmVjaXBpZW50CiAgICAgKiAgIHN0cmluZyAgJGNjICAgICAgICAgICAgY2MgZW1haWwgYWRkcmVzc2VzCiAgICAgKiAgIHN0cmluZyAgJGJjYyAgICAgICAgICAgYmNjIGVtYWlsIGFkZHJlc3NlcwogICAgICogICBzdHJpbmcgICRzdWJqZWN0ICAgICAgIHRoZSBzdWJqZWN0CiAgICAgKiAgIHN0cmluZyAgJGJvZHkgICAgICAgICAgdGhlIGVtYWlsIGJvZHkKICAgICAqICAgc3RyaW5nICAkZnJvbSAgICAgICAgICBlbWFpbCBhZGRyZXNzIG9mIHNlbmRlcgogICAgICogQHZhciBzdHJpbmcKICAgICAqLwogICAgcHVibGljICRhY3Rpb25fZnVuY3Rpb24gPSAnJzsKCiAgICAvKioKICAgICAqIFdoYXQgdG8gcHV0IGluIHRoZSBYLU1haWxlciBoZWFkZXIuCiAgICAgKiBPcHRpb25zOiBBbiBlbXB0eSBzdHJpbmcgZm9yIFBIUE1haWxlciBkZWZhdWx0LCB3aGl0ZXNwYWNlIGZvciBub25lLCBvciBhIHN0cmluZyB0byB1c2UKICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyAkWE1haWxlciA9ICcnOwoKICAgIC8qKgogICAgICogQW4gaW5zdGFuY2Ugb2YgdGhlIFNNVFAgc2VuZGVyIGNsYXNzLgogICAgICogQHZhciBTTVRQCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICovCiAgICBwcm90ZWN0ZWQgJHNtdHAgPSBudWxsOwoKICAgIC8qKgogICAgICogVGhlIGFycmF5IG9mICd0bycgbmFtZXMgYW5kIGFkZHJlc3Nlcy4KICAgICAqIEB2YXIgYXJyYXkKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCAkdG8gPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogVGhlIGFycmF5IG9mICdjYycgbmFtZXMgYW5kIGFkZHJlc3Nlcy4KICAgICAqIEB2YXIgYXJyYXkKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2MgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogVGhlIGFycmF5IG9mICdiY2MnIG5hbWVzIGFuZCBhZGRyZXNzZXMuCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICovCiAgICBwcm90ZWN0ZWQgJGJjYyA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBUaGUgYXJyYXkgb2YgcmVwbHktdG8gbmFtZXMgYW5kIGFkZHJlc3Nlcy4KICAgICAqIEB2YXIgYXJyYXkKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCAkUmVwbHlUbyA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBBbiBhcnJheSBvZiBhbGwga2luZHMgb2YgYWRkcmVzc2VzLgogICAgICogSW5jbHVkZXMgYWxsIG9mICR0bywgJGNjLCAkYmNjCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHNlZSBQSFBNYWlsZXI6OiR0byBAc2VlIFBIUE1haWxlcjo6JGNjIEBzZWUgUEhQTWFpbGVyOjokYmNjCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYWxsX3JlY2lwaWVudHMgPSBhcnJheSgpOwoKICAgIC8qKgogICAgICogQW4gYXJyYXkgb2YgbmFtZXMgYW5kIGFkZHJlc3NlcyBxdWV1ZWQgZm9yIHZhbGlkYXRpb24uCiAgICAgKiBJbiBzZW5kKCksIHZhbGlkIGFuZCBub24gZHVwbGljYXRlIGVudHJpZXMgYXJlIG1vdmVkIHRvICRhbGxfcmVjaXBpZW50cwogICAgICogYW5kIG9uZSBvZiAkdG8sICRjYywgb3IgJGJjYy4KICAgICAqIFRoaXMgYXJyYXkgaXMgdXNlZCBvbmx5IGZvciBhZGRyZXNzZXMgd2l0aCBJRE4uCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHNlZSBQSFBNYWlsZXI6OiR0byBAc2VlIFBIUE1haWxlcjo6JGNjIEBzZWUgUEhQTWFpbGVyOjokYmNjCiAgICAgKiBAc2VlIFBIUE1haWxlcjo6JGFsbF9yZWNpcGllbnRzCiAgICAgKi8KICAgIHByb3RlY3RlZCAkUmVjaXBpZW50c1F1ZXVlID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIEFuIGFycmF5IG9mIHJlcGx5LXRvIG5hbWVzIGFuZCBhZGRyZXNzZXMgcXVldWVkIGZvciB2YWxpZGF0aW9uLgogICAgICogSW4gc2VuZCgpLCB2YWxpZCBhbmQgbm9uIGR1cGxpY2F0ZSBlbnRyaWVzIGFyZSBtb3ZlZCB0byAkUmVwbHlUby4KICAgICAqIFRoaXMgYXJyYXkgaXMgdXNlZCBvbmx5IGZvciBhZGRyZXNzZXMgd2l0aCBJRE4uCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHNlZSBQSFBNYWlsZXI6OiRSZXBseVRvCiAgICAgKi8KICAgIHByb3RlY3RlZCAkUmVwbHlUb1F1ZXVlID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIFRoZSBhcnJheSBvZiBhdHRhY2htZW50cy4KICAgICAqIEB2YXIgYXJyYXkKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCAkYXR0YWNobWVudCA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBUaGUgYXJyYXkgb2YgY3VzdG9tIGhlYWRlcnMuCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICovCiAgICBwcm90ZWN0ZWQgJEN1c3RvbUhlYWRlciA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBUaGUgbW9zdCByZWNlbnQgTWVzc2FnZS1JRCAoaW5jbHVkaW5nIGFuZ3VsYXIgYnJhY2tldHMpLgogICAgICogQHZhciBzdHJpbmcKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCAkbGFzdE1lc3NhZ2VJRCA9ICcnOwoKICAgIC8qKgogICAgICogVGhlIG1lc3NhZ2UncyBNSU1FIHR5cGUuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqLwogICAgcHJvdGVjdGVkICRtZXNzYWdlX3R5cGUgPSAnJzsKCiAgICAvKioKICAgICAqIFRoZSBhcnJheSBvZiBNSU1FIGJvdW5kYXJ5IHN0cmluZ3MuCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICovCiAgICBwcm90ZWN0ZWQgJGJvdW5kYXJ5ID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIFRoZSBhcnJheSBvZiBhdmFpbGFibGUgbGFuZ3VhZ2VzLgogICAgICogQHZhciBhcnJheQogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqLwogICAgcHJvdGVjdGVkICRsYW5ndWFnZSA9IGFycmF5KCk7CgogICAgLyoqCiAgICAgKiBUaGUgbnVtYmVyIG9mIGVycm9ycyBlbmNvdW50ZXJlZC4KICAgICAqIEB2YXIgaW50ZWdlcgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqLwogICAgcHJvdGVjdGVkICRlcnJvcl9jb3VudCA9IDA7CgogICAgLyoqCiAgICAgKiBUaGUgUy9NSU1FIGNlcnRpZmljYXRlIGZpbGUgcGF0aC4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICovCiAgICBwcm90ZWN0ZWQgJHNpZ25fY2VydF9maWxlID0gJyc7CgogICAgLyoqCiAgICAgKiBUaGUgUy9NSU1FIGtleSBmaWxlIHBhdGguCiAgICAgKiBAdmFyIHN0cmluZwogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqLwogICAgcHJvdGVjdGVkICRzaWduX2tleV9maWxlID0gJyc7CgogICAgLyoqCiAgICAgKiBUaGUgb3B0aW9uYWwgUy9NSU1FIGV4dHJhIGNlcnRpZmljYXRlcyAoIkNBIENoYWluIikgZmlsZSBwYXRoLgogICAgICogQHZhciBzdHJpbmcKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc2lnbl9leHRyYWNlcnRzX2ZpbGUgPSAnJzsKCiAgICAvKioKICAgICAqIFRoZSBTL01JTUUgcGFzc3dvcmQgZm9yIHRoZSBrZXkuCiAgICAgKiBVc2VkIG9ubHkgaWYgdGhlIGtleSBpcyBlbmNyeXB0ZWQuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqLwogICAgcHJvdGVjdGVkICRzaWduX2tleV9wYXNzID0gJyc7CgogICAgLyoqCiAgICAgKiBXaGV0aGVyIHRvIHRocm93IGV4Y2VwdGlvbnMgZm9yIGVycm9ycy4KICAgICAqIEB2YXIgYm9vbGVhbgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqLwogICAgcHJvdGVjdGVkICRleGNlcHRpb25zID0gZmFsc2U7CgogICAgLyoqCiAgICAgKiBVbmlxdWUgSUQgdXNlZCBmb3IgbWVzc2FnZSBJRCBhbmQgYm91bmRhcmllcy4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICovCiAgICBwcm90ZWN0ZWQgJHVuaXF1ZWlkID0gJyc7CgogICAgLyoqCiAgICAgKiBFcnJvciBzZXZlcml0eTogbWVzc2FnZSBvbmx5LCBjb250aW51ZSBwcm9jZXNzaW5nLgogICAgICovCiAgICBjb25zdCBTVE9QX01FU1NBR0UgPSAwOwoKICAgIC8qKgogICAgICogRXJyb3Igc2V2ZXJpdHk6IG1lc3NhZ2UsIGxpa2VseSBvayB0byBjb250aW51ZSBwcm9jZXNzaW5nLgogICAgICovCiAgICBjb25zdCBTVE9QX0NPTlRJTlVFID0gMTsKCiAgICAvKioKICAgICAqIEVycm9yIHNldmVyaXR5OiBtZXNzYWdlLCBwbHVzIGZ1bGwgc3RvcCwgY3JpdGljYWwgZXJyb3IgcmVhY2hlZC4KICAgICAqLwogICAgY29uc3QgU1RPUF9DUklUSUNBTCA9IDI7CgogICAgLyoqCiAgICAgKiBTTVRQIFJGQyBzdGFuZGFyZCBsaW5lIGVuZGluZy4KICAgICAqLwogICAgY29uc3QgQ1JMRiA9ICJcclxuIjsKCiAgICAvKioKICAgICAqIFRoZSBtYXhpbXVtIGxpbmUgbGVuZ3RoIGFsbG93ZWQgYnkgUkZDIDI4MjIgc2VjdGlvbiAyLjEuMQogICAgICogQHZhciBpbnRlZ2VyCiAgICAgKi8KICAgIGNvbnN0IE1BWF9MSU5FX0xFTkdUSCA9IDk5ODsKCiAgICAvKioKICAgICAqIENvbnN0cnVjdG9yLgogICAgICogQHBhcmFtIGJvb2xlYW4gJGV4Y2VwdGlvbnMgU2hvdWxkIHdlIHRocm93IGV4dGVybmFsIGV4Y2VwdGlvbnM/CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkZXhjZXB0aW9ucyA9IGZhbHNlKQogICAgewogICAgICAgICR0aGlzLT5leGNlcHRpb25zID0gKGJvb2xlYW4pJGV4Y2VwdGlvbnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZXN0cnVjdG9yLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19kZXN0cnVjdCgpCiAgICB7CiAgICAgICAgLy9DbG9zZSBhbnkgb3BlbiBTTVRQIGNvbm5lY3Rpb24gbmljZWx5CiAgICAgICAgaWYgKCR0aGlzLT5NYWlsZXIgPT0gJ3NtdHAnKSB7CiAgICAgICAgICAgICR0aGlzLT5zbXRwQ2xvc2UoKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDYWxsIG1haWwoKSBpbiBhIHNhZmVfbW9kZS1hd2FyZSBmYXNoaW9uLgogICAgICogQWxzbywgdW5sZXNzIHNlbmRtYWlsX3BhdGggcG9pbnRzIHRvIHNlbmRtYWlsIChvciBzb21ldGhpbmcgdGhhdAogICAgICogY2xhaW1zIHRvIGJlIHNlbmRtYWlsKSwgZG9uJ3QgcGFzcyBwYXJhbXMgKG5vdCBhIHBlcmZlY3QgZml4LAogICAgICogYnV0IGl0IHdpbGwgZG8pCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0byBUbwogICAgICogQHBhcmFtIHN0cmluZyAkc3ViamVjdCBTdWJqZWN0CiAgICAgKiBAcGFyYW0gc3RyaW5nICRib2R5IE1lc3NhZ2UgQm9keQogICAgICogQHBhcmFtIHN0cmluZyAkaGVhZGVyIEFkZGl0aW9uYWwgSGVhZGVyKHMpCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXJhbXMgUGFyYW1zCiAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIG1haWxQYXNzdGhydSgkdG8sICRzdWJqZWN0LCAkYm9keSwgJGhlYWRlciwgJHBhcmFtcykKICAgIHsKICAgICAgICAvL0NoZWNrIG92ZXJsb2FkaW5nIG9mIG1haWwgZnVuY3Rpb24gdG8gYXZvaWQgZG91YmxlLWVuY29kaW5nCiAgICAgICAgaWYgKGluaV9nZXQoJ21ic3RyaW5nLmZ1bmNfb3ZlcmxvYWQnKSAmIDEpIHsKICAgICAgICAgICAgJHN1YmplY3QgPSAkdGhpcy0+c2VjdXJlSGVhZGVyKCRzdWJqZWN0KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkc3ViamVjdCA9ICR0aGlzLT5lbmNvZGVIZWFkZXIoJHRoaXMtPnNlY3VyZUhlYWRlcigkc3ViamVjdCkpOwogICAgICAgIH0KICAgICAgICBpZiAoaW5pX2dldCgnc2FmZV9tb2RlJykgfHwgISgkdGhpcy0+VXNlU2VuZG1haWxPcHRpb25zKSkgewogICAgICAgICAgICAkcmVzdWx0ID0gQG1haWwoJHRvLCAkc3ViamVjdCwgJGJvZHksICRoZWFkZXIpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBAbWFpbCgkdG8sICRzdWJqZWN0LCAkYm9keSwgJGhlYWRlciwgJHBhcmFtcyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIC8qKgogICAgICogT3V0cHV0IGRlYnVnZ2luZyBpbmZvIHZpYSB1c2VyLWRlZmluZWQgbWV0aG9kLgogICAgICogT25seSBnZW5lcmF0ZXMgb3V0cHV0IGlmIFNNVFAgZGVidWcgb3V0cHV0IGlzIGVuYWJsZWQgKEBzZWUgU01UUDo6JGRvX2RlYnVnKS4KICAgICAqIEBzZWUgUEhQTWFpbGVyOjokRGVidWdvdXRwdXQKICAgICAqIEBzZWUgUEhQTWFpbGVyOjokU01UUERlYnVnCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdHIKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGVkZWJ1Zygkc3RyKQogICAgewogICAgICAgIGlmICgkdGhpcy0+U01UUERlYnVnIDw9IDApIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICAvL0F2b2lkIGNsYXNoIHdpdGggYnVpbHQtaW4gZnVuY3Rpb24gbmFtZXMKICAgICAgICBpZiAoIWluX2FycmF5KCR0aGlzLT5EZWJ1Z291dHB1dCwgYXJyYXkoJ2Vycm9yX2xvZycsICdodG1sJywgJ2VjaG8nKSkgYW5kIGlzX2NhbGxhYmxlKCR0aGlzLT5EZWJ1Z291dHB1dCkpIHsKICAgICAgICAgICAgY2FsbF91c2VyX2Z1bmMoJHRoaXMtPkRlYnVnb3V0cHV0LCAkc3RyLCAkdGhpcy0+U01UUERlYnVnKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBzd2l0Y2ggKCR0aGlzLT5EZWJ1Z291dHB1dCkgewogICAgICAgICAgICBjYXNlICdlcnJvcl9sb2cnOgogICAgICAgICAgICAgICAgLy9Eb24ndCBvdXRwdXQsIGp1c3QgbG9nCiAgICAgICAgICAgICAgICBlcnJvcl9sb2coJHN0cik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnaHRtbCc6CiAgICAgICAgICAgICAgICAvL0NsZWFucyB1cCBvdXRwdXQgYSBiaXQgZm9yIGEgYmV0dGVyIGxvb2tpbmcsIEhUTUwtc2FmZSBvdXRwdXQKICAgICAgICAgICAgICAgIGVjaG8gaHRtbGVudGl0aWVzKAogICAgICAgICAgICAgICAgICAgIHByZWdfcmVwbGFjZSgnL1tcclxuXSsvJywgJycsICRzdHIpLAogICAgICAgICAgICAgICAgICAgIEVOVF9RVU9URVMsCiAgICAgICAgICAgICAgICAgICAgJ1VURi04JwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgLiAiPGJyPlxuIjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdlY2hvJzoKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIC8vTm9ybWFsaXplIGxpbmUgYnJlYWtzCiAgICAgICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCcvKFxyXG58XHJ8XG4pL21zJywgIlxuIiwgJHN0cik7CiAgICAgICAgICAgICAgICBlY2hvIGdtZGF0ZSgnWS1tLWQgSDppOnMnKSAuICJcdCIgLiBzdHJfcmVwbGFjZSgKICAgICAgICAgICAgICAgICAgICAiXG4iLAogICAgICAgICAgICAgICAgICAgICJcbiAgICAgICAgICAgICAgICAgICBcdCAgICAgICAgICAgICAgICAgICIsCiAgICAgICAgICAgICAgICAgICAgdHJpbSgkc3RyKQogICAgICAgICAgICAgICAgKSAuICJcbiI7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogU2V0cyBtZXNzYWdlIHR5cGUgdG8gSFRNTCBvciBwbGFpbi4KICAgICAqIEBwYXJhbSBib29sZWFuICRpc0h0bWwgVHJ1ZSBmb3IgSFRNTCBtb2RlLgogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0hUTUwoJGlzSHRtbCA9IHRydWUpCiAgICB7CiAgICAgICAgaWYgKCRpc0h0bWwpIHsKICAgICAgICAgICAgJHRoaXMtPkNvbnRlbnRUeXBlID0gJ3RleHQvaHRtbCc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPkNvbnRlbnRUeXBlID0gJ3RleHQvcGxhaW4nOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgbWVzc2FnZXMgdXNpbmcgU01UUC4KICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNTTVRQKCkKICAgIHsKICAgICAgICAkdGhpcy0+TWFpbGVyID0gJ3NtdHAnOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBtZXNzYWdlcyB1c2luZyBQSFAncyBtYWlsKCkgZnVuY3Rpb24uCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzTWFpbCgpCiAgICB7CiAgICAgICAgJHRoaXMtPk1haWxlciA9ICdtYWlsJzsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgbWVzc2FnZXMgdXNpbmcgJFNlbmRtYWlsLgogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1NlbmRtYWlsKCkKICAgIHsKICAgICAgICAkaW5pX3NlbmRtYWlsX3BhdGggPSBpbmlfZ2V0KCdzZW5kbWFpbF9wYXRoJyk7CgogICAgICAgIGlmICghc3RyaXN0cigkaW5pX3NlbmRtYWlsX3BhdGgsICdzZW5kbWFpbCcpKSB7CiAgICAgICAgICAgICR0aGlzLT5TZW5kbWFpbCA9ICcvdXNyL3NiaW4vc2VuZG1haWwnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5TZW5kbWFpbCA9ICRpbmlfc2VuZG1haWxfcGF0aDsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPk1haWxlciA9ICdzZW5kbWFpbCc7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIG1lc3NhZ2VzIHVzaW5nIHFtYWlsLgogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1FtYWlsKCkKICAgIHsKICAgICAgICAkaW5pX3NlbmRtYWlsX3BhdGggPSBpbmlfZ2V0KCdzZW5kbWFpbF9wYXRoJyk7CgogICAgICAgIGlmICghc3RyaXN0cigkaW5pX3NlbmRtYWlsX3BhdGgsICdxbWFpbCcpKSB7CiAgICAgICAgICAgICR0aGlzLT5TZW5kbWFpbCA9ICcvdmFyL3FtYWlsL2Jpbi9xbWFpbC1pbmplY3QnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5TZW5kbWFpbCA9ICRpbmlfc2VuZG1haWxfcGF0aDsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPk1haWxlciA9ICdxbWFpbCc7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSAiVG8iIGFkZHJlc3MuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhZGRyZXNzIFRoZSBlbWFpbCBhZGRyZXNzIHRvIHNlbmQgdG8KICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUKICAgICAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIGlmIGFkZHJlc3MgYWxyZWFkeSB1c2VkIG9yIGludmFsaWQgaW4gc29tZSB3YXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZEFkZHJlc3MoJGFkZHJlc3MsICRuYW1lID0gJycpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5hZGRPckVucXVldWVBbkFkZHJlc3MoJ3RvJywgJGFkZHJlc3MsICRuYW1lKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhICJDQyIgYWRkcmVzcy4KICAgICAqIEBub3RlOiBUaGlzIGZ1bmN0aW9uIHdvcmtzIHdpdGggdGhlIFNNVFAgbWFpbGVyIG9uIHdpbjMyLCBub3Qgd2l0aCB0aGUgIm1haWwiIG1haWxlci4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGFkZHJlc3MgVGhlIGVtYWlsIGFkZHJlc3MgdG8gc2VuZCB0bwogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZQogICAgICogQHJldHVybiBib29sZWFuIHRydWUgb24gc3VjY2VzcywgZmFsc2UgaWYgYWRkcmVzcyBhbHJlYWR5IHVzZWQgb3IgaW52YWxpZCBpbiBzb21lIHdheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkQ0MoJGFkZHJlc3MsICRuYW1lID0gJycpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5hZGRPckVucXVldWVBbkFkZHJlc3MoJ2NjJywgJGFkZHJlc3MsICRuYW1lKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhICJCQ0MiIGFkZHJlc3MuCiAgICAgKiBAbm90ZTogVGhpcyBmdW5jdGlvbiB3b3JrcyB3aXRoIHRoZSBTTVRQIG1haWxlciBvbiB3aW4zMiwgbm90IHdpdGggdGhlICJtYWlsIiBtYWlsZXIuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhZGRyZXNzIFRoZSBlbWFpbCBhZGRyZXNzIHRvIHNlbmQgdG8KICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUKICAgICAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIGlmIGFkZHJlc3MgYWxyZWFkeSB1c2VkIG9yIGludmFsaWQgaW4gc29tZSB3YXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZEJDQygkYWRkcmVzcywgJG5hbWUgPSAnJykKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmFkZE9yRW5xdWV1ZUFuQWRkcmVzcygnYmNjJywgJGFkZHJlc3MsICRuYW1lKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhICJSZXBseS1UbyIgYWRkcmVzcy4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGFkZHJlc3MgVGhlIGVtYWlsIGFkZHJlc3MgdG8gcmVwbHkgdG8KICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUKICAgICAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIGlmIGFkZHJlc3MgYWxyZWFkeSB1c2VkIG9yIGludmFsaWQgaW4gc29tZSB3YXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZFJlcGx5VG8oJGFkZHJlc3MsICRuYW1lID0gJycpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5hZGRPckVucXVldWVBbkFkZHJlc3MoJ1JlcGx5LVRvJywgJGFkZHJlc3MsICRuYW1lKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhbiBhZGRyZXNzIHRvIG9uZSBvZiB0aGUgcmVjaXBpZW50IGFycmF5cyBvciB0byB0aGUgUmVwbHlUbyBhcnJheS4gQmVjYXVzZSBQSFBNYWlsZXIKICAgICAqIGNhbid0IHZhbGlkYXRlIGFkZHJlc3NlcyB3aXRoIGFuIElETiB3aXRob3V0IGtub3dpbmcgdGhlIFBIUE1haWxlcjo6JENoYXJTZXQgKHRoYXQgY2FuIHN0aWxsCiAgICAgKiBiZSBtb2RpZmllZCBhZnRlciBjYWxsaW5nIHRoaXMgZnVuY3Rpb24pLCBhZGRpdGlvbiBvZiBzdWNoIGFkZHJlc3NlcyBpcyBkZWxheWVkIHVudGlsIHNlbmQoKS4KICAgICAqIEFkZHJlc3NlcyB0aGF0IGhhdmUgYmVlbiBhZGRlZCBhbHJlYWR5IHJldHVybiBmYWxzZSwgYnV0IGRvIG5vdCB0aHJvdyBleGNlcHRpb25zLgogICAgICogQHBhcmFtIHN0cmluZyAka2luZCBPbmUgb2YgJ3RvJywgJ2NjJywgJ2JjYycsIG9yICdSZXBseVRvJwogICAgICogQHBhcmFtIHN0cmluZyAkYWRkcmVzcyBUaGUgZW1haWwgYWRkcmVzcyB0byBzZW5kLCByZXNwLiB0byByZXBseSB0bwogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZQogICAgICogQHRocm93cyBwaHBtYWlsZXJFeGNlcHRpb24KICAgICAqIEByZXR1cm4gYm9vbGVhbiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIGlmIGFkZHJlc3MgYWxyZWFkeSB1c2VkIG9yIGludmFsaWQgaW4gc29tZSB3YXkKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBhZGRPckVucXVldWVBbkFkZHJlc3MoJGtpbmQsICRhZGRyZXNzLCAkbmFtZSkKICAgIHsKICAgICAgICAkYWRkcmVzcyA9IHRyaW0oJGFkZHJlc3MpOwogICAgICAgICRuYW1lID0gdHJpbShwcmVnX3JlcGxhY2UoJy9bXHJcbl0rLycsICcnLCAkbmFtZSkpOyAvL1N0cmlwIGJyZWFrcyBhbmQgdHJpbQogICAgICAgIGlmICgoJHBvcyA9IHN0cnJwb3MoJGFkZHJlc3MsICdAJykpID09PSBmYWxzZSkgewogICAgICAgICAgICAvLyBBdC1zaWduIGlzIG1pc3NzaW5nLgogICAgICAgICAgICAkZXJyb3JfbWVzc2FnZSA9ICR0aGlzLT5sYW5nKCdpbnZhbGlkX2FkZHJlc3MnKSAuICIgKGFkZEFuQWRkcmVzcyAka2luZCk6ICRhZGRyZXNzIjsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCRlcnJvcl9tZXNzYWdlKTsKICAgICAgICAgICAgJHRoaXMtPmVkZWJ1ZygkZXJyb3JfbWVzc2FnZSk7CiAgICAgICAgICAgIGlmICgkdGhpcy0+ZXhjZXB0aW9ucykgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IHBocG1haWxlckV4Y2VwdGlvbigkZXJyb3JfbWVzc2FnZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICAkcGFyYW1zID0gYXJyYXkoJGtpbmQsICRhZGRyZXNzLCAkbmFtZSk7CiAgICAgICAgLy8gRW5xdWV1ZSBhZGRyZXNzZXMgd2l0aCBJRE4gdW50aWwgd2Uga25vdyB0aGUgUEhQTWFpbGVyOjokQ2hhclNldC4KICAgICAgICBpZiAoJHRoaXMtPmhhczhiaXRDaGFycyhzdWJzdHIoJGFkZHJlc3MsICsrJHBvcykpIGFuZCAkdGhpcy0+aWRuU3VwcG9ydGVkKCkpIHsKICAgICAgICAgICAgaWYgKCRraW5kICE9ICdSZXBseS1UbycpIHsKICAgICAgICAgICAgICAgIGlmICghYXJyYXlfa2V5X2V4aXN0cygkYWRkcmVzcywgJHRoaXMtPlJlY2lwaWVudHNRdWV1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+UmVjaXBpZW50c1F1ZXVlWyRhZGRyZXNzXSA9ICRwYXJhbXM7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoIWFycmF5X2tleV9leGlzdHMoJGFkZHJlc3MsICR0aGlzLT5SZXBseVRvUXVldWUpKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPlJlcGx5VG9RdWV1ZVskYWRkcmVzc10gPSAkcGFyYW1zOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgLy8gSW1tZWRpYXRlbHkgYWRkIHN0YW5kYXJkIGFkZHJlc3NlcyB3aXRob3V0IElETi4KICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmNfYXJyYXkoYXJyYXkoJHRoaXMsICdhZGRBbkFkZHJlc3MnKSwgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYW4gYWRkcmVzcyB0byBvbmUgb2YgdGhlIHJlY2lwaWVudCBhcnJheXMgb3IgdG8gdGhlIFJlcGx5VG8gYXJyYXkuCiAgICAgKiBBZGRyZXNzZXMgdGhhdCBoYXZlIGJlZW4gYWRkZWQgYWxyZWFkeSByZXR1cm4gZmFsc2UsIGJ1dCBkbyBub3QgdGhyb3cgZXhjZXB0aW9ucy4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGtpbmQgT25lIG9mICd0bycsICdjYycsICdiY2MnLCBvciAnUmVwbHlUbycKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFkZHJlc3MgVGhlIGVtYWlsIGFkZHJlc3MgdG8gc2VuZCwgcmVzcC4gdG8gcmVwbHkgdG8KICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUKICAgICAqIEB0aHJvd3MgcGhwbWFpbGVyRXhjZXB0aW9uCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4gdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBpZiBhZGRyZXNzIGFscmVhZHkgdXNlZCBvciBpbnZhbGlkIGluIHNvbWUgd2F5CiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkQW5BZGRyZXNzKCRraW5kLCAkYWRkcmVzcywgJG5hbWUgPSAnJykKICAgIHsKICAgICAgICBpZiAoIWluX2FycmF5KCRraW5kLCBhcnJheSgndG8nLCAnY2MnLCAnYmNjJywgJ1JlcGx5LVRvJykpKSB7CiAgICAgICAgICAgICRlcnJvcl9tZXNzYWdlID0gJHRoaXMtPmxhbmcoJ0ludmFsaWQgcmVjaXBpZW50IGtpbmQ6ICcpIC4gJGtpbmQ7CiAgICAgICAgICAgICR0aGlzLT5zZXRFcnJvcigkZXJyb3JfbWVzc2FnZSk7CiAgICAgICAgICAgICR0aGlzLT5lZGVidWcoJGVycm9yX21lc3NhZ2UpOwogICAgICAgICAgICBpZiAoJHRoaXMtPmV4Y2VwdGlvbnMpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBwaHBtYWlsZXJFeGNlcHRpb24oJGVycm9yX21lc3NhZ2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgaWYgKCEkdGhpcy0+dmFsaWRhdGVBZGRyZXNzKCRhZGRyZXNzKSkgewogICAgICAgICAgICAkZXJyb3JfbWVzc2FnZSA9ICR0aGlzLT5sYW5nKCdpbnZhbGlkX2FkZHJlc3MnKSAuICIgKGFkZEFuQWRkcmVzcyAka2luZCk6ICRhZGRyZXNzIjsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCRlcnJvcl9tZXNzYWdlKTsKICAgICAgICAgICAgJHRoaXMtPmVkZWJ1ZygkZXJyb3JfbWVzc2FnZSk7CiAgICAgICAgICAgIGlmICgkdGhpcy0+ZXhjZXB0aW9ucykgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IHBocG1haWxlckV4Y2VwdGlvbigkZXJyb3JfbWVzc2FnZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICBpZiAoJGtpbmQgIT0gJ1JlcGx5LVRvJykgewogICAgICAgICAgICBpZiAoIWFycmF5X2tleV9leGlzdHMoc3RydG9sb3dlcigkYWRkcmVzcyksICR0aGlzLT5hbGxfcmVjaXBpZW50cykpIHsKICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJHRoaXMtPiRraW5kLCBhcnJheSgkYWRkcmVzcywgJG5hbWUpKTsKICAgICAgICAgICAgICAgICR0aGlzLT5hbGxfcmVjaXBpZW50c1tzdHJ0b2xvd2VyKCRhZGRyZXNzKV0gPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoIWFycmF5X2tleV9leGlzdHMoc3RydG9sb3dlcigkYWRkcmVzcyksICR0aGlzLT5SZXBseVRvKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPlJlcGx5VG9bc3RydG9sb3dlcigkYWRkcmVzcyldID0gYXJyYXkoJGFkZHJlc3MsICRuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFBhcnNlIGFuZCB2YWxpZGF0ZSBhIHN0cmluZyBjb250YWluaW5nIG9uZSBvciBtb3JlIFJGQzgyMi1zdHlsZSBjb21tYS1zZXBhcmF0ZWQgZW1haWwgYWRkcmVzc2VzCiAgICAgKiBvZiB0aGUgZm9ybSAiZGlzcGxheSBuYW1lIDxhZGRyZXNzPiIgaW50byBhbiBhcnJheSBvZiBuYW1lL2FkZHJlc3MgcGFpcnMuCiAgICAgKiBVc2VzIHRoZSBpbWFwX3JmYzgyMl9wYXJzZV9hZHJsaXN0IGZ1bmN0aW9uIGlmIHRoZSBJTUFQIGV4dGVuc2lvbiBpcyBhdmFpbGFibGUuCiAgICAgKiBOb3RlIHRoYXQgcXVvdGVzIGluIHRoZSBuYW1lIHBhcnQgYXJlIHJlbW92ZWQuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhZGRyc3RyIFRoZSBhZGRyZXNzIGxpc3Qgc3RyaW5nCiAgICAgKiBAcGFyYW0gYm9vbCAkdXNlaW1hcCBXaGV0aGVyIHRvIHVzZSB0aGUgSU1BUCBleHRlbnNpb24gdG8gcGFyc2UgdGhlIGxpc3QKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqIEBsaW5rIGh0dHA6Ly93d3cuYW5kcmV3LmNtdS5lZHUvdXNlci9hZ3JlZW4xL3Rlc3RpbmcvbXJicy93ZWIvTWFpbC9SRkM4MjIucGhwIEEgbW9yZSBjYXJlZnVsIGltcGxlbWVudGF0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwYXJzZUFkZHJlc3NlcygkYWRkcnN0ciwgJHVzZWltYXAgPSB0cnVlKQogICAgewogICAgICAgICRhZGRyZXNzZXMgPSBhcnJheSgpOwogICAgICAgIGlmICgkdXNlaW1hcCBhbmQgZnVuY3Rpb25fZXhpc3RzKCdpbWFwX3JmYzgyMl9wYXJzZV9hZHJsaXN0JykpIHsKICAgICAgICAgICAgLy9Vc2UgdGhpcyBidWlsdC1pbiBwYXJzZXIgaWYgaXQncyBhdmFpbGFibGUKICAgICAgICAgICAgJGxpc3QgPSBpbWFwX3JmYzgyMl9wYXJzZV9hZHJsaXN0KCRhZGRyc3RyLCAnJyk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRsaXN0IGFzICRhZGRyZXNzKSB7CiAgICAgICAgICAgICAgICBpZiAoJGFkZHJlc3MtPmhvc3QgIT0gJy5TWU5UQVgtRVJST1IuJykgewogICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+dmFsaWRhdGVBZGRyZXNzKCRhZGRyZXNzLT5tYWlsYm94IC4gJ0AnIC4gJGFkZHJlc3MtPmhvc3QpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRhZGRyZXNzZXNbXSA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IChwcm9wZXJ0eV9leGlzdHMoJGFkZHJlc3MsICdwZXJzb25hbCcpID8gJGFkZHJlc3MtPnBlcnNvbmFsIDogJycpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZHJlc3MnID0+ICRhZGRyZXNzLT5tYWlsYm94IC4gJ0AnIC4gJGFkZHJlc3MtPmhvc3QKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvL1VzZSB0aGlzIHNpbXBsZXIgcGFyc2VyCiAgICAgICAgICAgICRsaXN0ID0gZXhwbG9kZSgnLCcsICRhZGRyc3RyKTsKICAgICAgICAgICAgZm9yZWFjaCAoJGxpc3QgYXMgJGFkZHJlc3MpIHsKICAgICAgICAgICAgICAgICRhZGRyZXNzID0gdHJpbSgkYWRkcmVzcyk7CiAgICAgICAgICAgICAgICAvL0lzIHRoZXJlIGEgc2VwYXJhdGUgbmFtZSBwYXJ0PwogICAgICAgICAgICAgICAgaWYgKHN0cnBvcygkYWRkcmVzcywgJzwnKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICAvL05vIHNlcGFyYXRlIG5hbWUsIGp1c3QgdXNlIHRoZSB3aG9sZSB0aGluZwogICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+dmFsaWRhdGVBZGRyZXNzKCRhZGRyZXNzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkYWRkcmVzc2VzW10gPSBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRyZXNzJyA9PiAkYWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgbGlzdCgkbmFtZSwgJGVtYWlsKSA9IGV4cGxvZGUoJzwnLCAkYWRkcmVzcyk7CiAgICAgICAgICAgICAgICAgICAgJGVtYWlsID0gdHJpbShzdHJfcmVwbGFjZSgnPicsICcnLCAkZW1haWwpKTsKICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMtPnZhbGlkYXRlQWRkcmVzcygkZW1haWwpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRhZGRyZXNzZXNbXSA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnID0+IHRyaW0oc3RyX3JlcGxhY2UoYXJyYXkoJyInLCAiJyIpLCAnJywgJG5hbWUpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRyZXNzJyA9PiAkZW1haWwKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRhZGRyZXNzZXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIEZyb20gYW5kIEZyb21OYW1lIHByb3BlcnRpZXMuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhZGRyZXNzCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lCiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkYXV0byBXaGV0aGVyIHRvIGFsc28gc2V0IHRoZSBTZW5kZXIgYWRkcmVzcywgZGVmYXVsdHMgdG8gdHJ1ZQogICAgICogQHRocm93cyBwaHBtYWlsZXJFeGNlcHRpb24KICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RnJvbSgkYWRkcmVzcywgJG5hbWUgPSAnJywgJGF1dG8gPSB0cnVlKQogICAgewogICAgICAgICRhZGRyZXNzID0gdHJpbSgkYWRkcmVzcyk7CiAgICAgICAgJG5hbWUgPSB0cmltKHByZWdfcmVwbGFjZSgnL1tcclxuXSsvJywgJycsICRuYW1lKSk7IC8vU3RyaXAgYnJlYWtzIGFuZCB0cmltCiAgICAgICAgLy8gRG9uJ3QgdmFsaWRhdGUgbm93IGFkZHJlc3NlcyB3aXRoIElETi4gV2lsbCBiZSBkb25lIGluIHNlbmQoKS4KICAgICAgICBpZiAoKCRwb3MgPSBzdHJycG9zKCRhZGRyZXNzLCAnQCcpKSA9PT0gZmFsc2Ugb3IKICAgICAgICAgICAgKCEkdGhpcy0+aGFzOGJpdENoYXJzKHN1YnN0cigkYWRkcmVzcywgKyskcG9zKSkgb3IgISR0aGlzLT5pZG5TdXBwb3J0ZWQoKSkgYW5kCiAgICAgICAgICAgICEkdGhpcy0+dmFsaWRhdGVBZGRyZXNzKCRhZGRyZXNzKSkgewogICAgICAgICAgICAkZXJyb3JfbWVzc2FnZSA9ICR0aGlzLT5sYW5nKCdpbnZhbGlkX2FkZHJlc3MnKSAuICIgKHNldEZyb20pICRhZGRyZXNzIjsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCRlcnJvcl9tZXNzYWdlKTsKICAgICAgICAgICAgJHRoaXMtPmVkZWJ1ZygkZXJyb3JfbWVzc2FnZSk7CiAgICAgICAgICAgIGlmICgkdGhpcy0+ZXhjZXB0aW9ucykgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IHBocG1haWxlckV4Y2VwdGlvbigkZXJyb3JfbWVzc2FnZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+RnJvbSA9ICRhZGRyZXNzOwogICAgICAgICR0aGlzLT5Gcm9tTmFtZSA9ICRuYW1lOwogICAgICAgIGlmICgkYXV0bykgewogICAgICAgICAgICBpZiAoZW1wdHkoJHRoaXMtPlNlbmRlcikpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5TZW5kZXIgPSAkYWRkcmVzczsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgTWVzc2FnZS1JRCBoZWFkZXIgb2YgdGhlIGxhc3QgZW1haWwuCiAgICAgKiBUZWNobmljYWxseSB0aGlzIGlzIHRoZSB2YWx1ZSBmcm9tIHRoZSBsYXN0IHRpbWUgdGhlIGhlYWRlcnMgd2VyZSBjcmVhdGVkLAogICAgICogYnV0IGl0J3MgYWxzbyB0aGUgbWVzc2FnZSBJRCBvZiB0aGUgbGFzdCBzZW50IG1lc3NhZ2UgZXhjZXB0IGluCiAgICAgKiBwYXRob2xvZ2ljYWwgY2FzZXMuCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGFzdE1lc3NhZ2VJRCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5sYXN0TWVzc2FnZUlEOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgdGhhdCBhIHN0cmluZyBsb29rcyBsaWtlIGFuIGVtYWlsIGFkZHJlc3MuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRhZGRyZXNzIFRoZSBlbWFpbCBhZGRyZXNzIHRvIGNoZWNrCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXR0ZXJuc2VsZWN0IEEgc2VsZWN0b3IgZm9yIHRoZSB2YWxpZGF0aW9uIHBhdHRlcm4gdG8gdXNlIDoKICAgICAqICogYGF1dG9gIFBpY2sgYmVzdCBwYXR0ZXJuIGF1dG9tYXRpY2FsbHk7CiAgICAgKiAqIGBwY3JlOGAgVXNlIHRoZSBzcXVpbG9vcGxlLmNvbSBwYXR0ZXJuLCByZXF1aXJlcyBQQ1JFID4gOC4wLCBQSFAgPj0gNS4zLjIsIDUuMi4xNDsKICAgICAqICogYHBjcmVgIFVzZSBvbGQgUENSRSBpbXBsZW1lbnRhdGlvbjsKICAgICAqICogYHBocGAgVXNlIFBIUCBidWlsdC1pbiBGSUxURVJfVkFMSURBVEVfRU1BSUw7CiAgICAgKiAqIGBodG1sNWAgVXNlIHRoZSBwYXR0ZXJuIGdpdmVuIGJ5IHRoZSBIVE1MNSBzcGVjIGZvciAnZW1haWwnIHR5cGUgZm9ybSBpbnB1dCBlbGVtZW50cy4KICAgICAqICogYG5vcmVnZXhgIERvbid0IHVzZSBhIHJlZ2V4OiBzdXBlciBmYXN0LCByZWFsbHkgZHVtYi4KICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICogQHN0YXRpYwogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB2YWxpZGF0ZUFkZHJlc3MoJGFkZHJlc3MsICRwYXR0ZXJuc2VsZWN0ID0gJ2F1dG8nKQogICAgewogICAgICAgIC8vUmVqZWN0IGxpbmUgYnJlYWtzIGluIGFkZHJlc3NlczsgaXQncyB2YWxpZCBSRkM1MzIyLCBidXQgbm90IFJGQzUzMjEKICAgICAgICBpZiAoc3RycG9zKCRhZGRyZXNzLCAiXG4iKSAhPT0gZmFsc2Ugb3Igc3RycG9zKCRhZGRyZXNzLCAiXHIiKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICBpZiAoISRwYXR0ZXJuc2VsZWN0IG9yICRwYXR0ZXJuc2VsZWN0ID09ICdhdXRvJykgewogICAgICAgICAgICAvL0NoZWNrIHRoaXMgY29uc3RhbnQgZmlyc3Qgc28gaXQgd29ya3Mgd2hlbiBleHRlbnNpb25fbG9hZGVkKCkgaXMgZGlzYWJsZWQgYnkgc2FmZSBtb2RlCiAgICAgICAgICAgIC8vQ29uc3RhbnQgd2FzIGFkZGVkIGluIFBIUCA1LjIuNAogICAgICAgICAgICBpZiAoZGVmaW5lZCgnUENSRV9WRVJTSU9OJykpIHsKICAgICAgICAgICAgICAgIC8vVGhpcyBwYXR0ZXJuIGNhbiBnZXQgc3R1Y2sgaW4gYSByZWN1cnNpdmUgbG9vcCBpbiBQQ1JFIDw9IDguMC4yCiAgICAgICAgICAgICAgICBpZiAodmVyc2lvbl9jb21wYXJlKFBDUkVfVkVSU0lPTiwgJzguMC4zJykgPj0gMCkgewogICAgICAgICAgICAgICAgICAgICRwYXR0ZXJuc2VsZWN0ID0gJ3BjcmU4JzsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHBhdHRlcm5zZWxlY3QgPSAncGNyZSc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJ2V4dGVuc2lvbl9sb2FkZWQnKSBhbmQgZXh0ZW5zaW9uX2xvYWRlZCgncGNyZScpKSB7CiAgICAgICAgICAgICAgICAvL0ZhbGwgYmFjayB0byBvbGRlciBQQ1JFCiAgICAgICAgICAgICAgICAkcGF0dGVybnNlbGVjdCA9ICdwY3JlJzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vRmlsdGVyX3ZhciBhcHBlYXJlZCBpbiBQSFAgNS4yLjAgYW5kIGRvZXMgbm90IHJlcXVpcmUgdGhlIFBDUkUgZXh0ZW5zaW9uCiAgICAgICAgICAgICAgICBpZiAodmVyc2lvbl9jb21wYXJlKFBIUF9WRVJTSU9OLCAnNS4yLjAnKSA+PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgJHBhdHRlcm5zZWxlY3QgPSAncGhwJzsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHBhdHRlcm5zZWxlY3QgPSAnbm9yZWdleCc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgc3dpdGNoICgkcGF0dGVybnNlbGVjdCkgewogICAgICAgICAgICBjYXNlICdwY3JlOCc6CiAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAqIFVzZXMgdGhlIHNhbWUgUkZDNTMyMiByZWdleCBvbiB3aGljaCBGSUxURVJfVkFMSURBVEVfRU1BSUwgaXMgYmFzZWQsIGJ1dCBhbGxvd3MgZG90bGVzcyBkb21haW5zLgogICAgICAgICAgICAgICAgICogQGxpbmsgaHR0cDovL3NxdWlsb29wbGUuY29tLzIwMDkvMTIvMjAvZW1haWwtYWRkcmVzcy12YWxpZGF0aW9uLwogICAgICAgICAgICAgICAgICogQGNvcHlyaWdodCAyMDA5LTIwMTAgTWljaGFlbCBSdXNodG9uCiAgICAgICAgICAgICAgICAgKiBGZWVsIGZyZWUgdG8gdXNlIGFuZCByZWRpc3RyaWJ1dGUgdGhpcyBjb2RlLiBCdXQgcGxlYXNlIGtlZXAgdGhpcyBjb3B5cmlnaHQgbm90aWNlLgogICAgICAgICAgICAgICAgICovCiAgICAgICAgICAgICAgICByZXR1cm4gKGJvb2xlYW4pcHJlZ19tYXRjaCgKICAgICAgICAgICAgICAgICAgICAnL14oPyEoPz4oPzEpIj8oPz5cXFxbIC1+XXxbXiJdKSI/KD8xKSl7MjU1LH0pKD8hKD8+KD8xKSI/KD8+XFxcWyAtfl18W14iXSkiPyg/MSkpezY1LH1AKScgLgogICAgICAgICAgICAgICAgICAgICcoKD8+KD8+KD8+KCg/Pig/Pig/Plx4MERceDBBKT9bXHQgXSkrfCg/PltcdCBdKlx4MERceDBBKT9bXHQgXSspPykoXCgoPz4oPzIpJyAuCiAgICAgICAgICAgICAgICAgICAgJyg/PltceDAxLVx4MDhceDBCXHgwQ1x4MEUtXCcqLVxbXF0tXHg3Rl18XFxcW1x4MDAtXHg3Rl18KD8zKSkpKig/MilcKSkpKyg/MikpfCg/MikpPyknIC4KICAgICAgICAgICAgICAgICAgICAnKFshIy1cJyorXC8tOT0/Xi1+LV0rfCIoPz4oPzIpKD8+W1x4MDEtXHgwOFx4MEJceDBDXHgwRS0hIy1cW1xdLVx4N0ZdfFxcXFtceDAwLVx4N0ZdKSkqJyAuCiAgICAgICAgICAgICAgICAgICAgJyg/MikiKSg/Pig/MSlcLig/MSkoPzQpKSooPzEpQCg/ISg/MSlbYS16MC05LV17NjQsfSkoPzEpKD8+KFthLXowLTldKD8+W2EtejAtOS1dKlthLXowLTldKT8pJyAuCiAgICAgICAgICAgICAgICAgICAgJyg/Pig/MSlcLig/ISg/MSlbYS16MC05LV17NjQsfSkoPzEpKD81KSl7MCwxMjZ9fFxbKD86KD8+SVB2NjooPz4oW2EtZjAtOV17MSw0fSkoPz46KD82KSl7N30nIC4KICAgICAgICAgICAgICAgICAgICAnfCg/ISg/Oi4qW2EtZjAtOV1bOlxdXSl7OCx9KSgoPzYpKD8+Oig/NikpezAsNn0pPzo6KD83KT8pKXwoPz4oPz5JUHY2Oig/Pig/NikoPz46KD82KSl7NX06JyAuCiAgICAgICAgICAgICAgICAgICAgJ3woPyEoPzouKlthLWYwLTldOil7Nix9KSg/OCk/OjooPz4oKD82KSg/PjooPzYpKXswLDR9KTopPykpPygyNVswLTVdfDJbMC00XVswLTldfDFbMC05XXsyfScgLgogICAgICAgICAgICAgICAgICAgICd8WzEtOV0/WzAtOV0pKD8+XC4oPzkpKXszfSkpXF0pKD8xKSQvaXNEJywKICAgICAgICAgICAgICAgICAgICAkYWRkcmVzcwogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgY2FzZSAncGNyZSc6CiAgICAgICAgICAgICAgICAvL0FuIG9sZGVyIHJlZ2V4IHRoYXQgZG9lc24ndCBuZWVkIGEgcmVjZW50IFBDUkUKICAgICAgICAgICAgICAgIHJldHVybiAoYm9vbGVhbilwcmVnX21hdGNoKAogICAgICAgICAgICAgICAgICAgICcvXig/ISg/PiI/KD8+XFxcWyAtfl18W14iXSkiPyl7MjU1LH0pKD8hKD8+Ij8oPz5cXFxbIC1+XXxbXiJdKSI/KXs2NSx9QCkoPz4nIC4KICAgICAgICAgICAgICAgICAgICAnWyEjLVwnKitcLy05PT9eLX4tXSt8Iig/Pig/PltceDAxLVx4MDhceDBCXHgwQ1x4MEUtISMtXFtcXS1ceDdGXXxcXFxbXHgwMC1ceEZGXSkpKiIpJyAuCiAgICAgICAgICAgICAgICAgICAgJyg/PlwuKD8+WyEjLVwnKitcLy05PT9eLX4tXSt8Iig/Pig/PltceDAxLVx4MDhceDBCXHgwQ1x4MEUtISMtXFtcXS1ceDdGXXxcXFxbXHgwMC1ceEZGXSkpKiIpKSonIC4KICAgICAgICAgICAgICAgICAgICAnQCg/Pig/IVthLXowLTktXXs2NCx9KSg/PlthLXowLTldKD8+W2EtejAtOS1dKlthLXowLTldKT8pKD8+XC4oPyFbYS16MC05LV17NjQsfSknIC4KICAgICAgICAgICAgICAgICAgICAnKD8+W2EtejAtOV0oPz5bYS16MC05LV0qW2EtejAtOV0pPykpezAsMTI2fXxcWyg/Oig/PklQdjY6KD8+KD8+W2EtZjAtOV17MSw0fSkoPz46JyAuCiAgICAgICAgICAgICAgICAgICAgJ1thLWYwLTldezEsNH0pezd9fCg/ISg/Oi4qW2EtZjAtOV1bOlxdXSl7OCx9KSg/PlthLWYwLTldezEsNH0oPz46W2EtZjAtOV17MSw0fSl7MCw2fSk/JyAuCiAgICAgICAgICAgICAgICAgICAgJzo6KD8+W2EtZjAtOV17MSw0fSg/PjpbYS1mMC05XXsxLDR9KXswLDZ9KT8pKXwoPz4oPz5JUHY2Oig/PlthLWYwLTldezEsNH0oPz46JyAuCiAgICAgICAgICAgICAgICAgICAgJ1thLWYwLTldezEsNH0pezV9OnwoPyEoPzouKlthLWYwLTldOil7Nix9KSg/PlthLWYwLTldezEsNH0oPz46W2EtZjAtOV17MSw0fSl7MCw0fSk/JyAuCiAgICAgICAgICAgICAgICAgICAgJzo6KD8+KD86W2EtZjAtOV17MSw0fSg/PjpbYS1mMC05XXsxLDR9KXswLDR9KTopPykpPyg/PjI1WzAtNV18MlswLTRdWzAtOV18MVswLTldezJ9JyAuCiAgICAgICAgICAgICAgICAgICAgJ3xbMS05XT9bMC05XSkoPz5cLig/PjI1WzAtNV18MlswLTRdWzAtOV18MVswLTldezJ9fFsxLTldP1swLTldKSl7M30pKVxdKSQvaXNEJywKICAgICAgICAgICAgICAgICAgICAkYWRkcmVzcwogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgY2FzZSAnaHRtbDUnOgogICAgICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAgICAgKiBUaGlzIGlzIHRoZSBwYXR0ZXJuIHVzZWQgaW4gdGhlIEhUTUw1IHNwZWMgZm9yIHZhbGlkYXRpb24gb2YgJ2VtYWlsJyB0eXBlIGZvcm0gaW5wdXQgZWxlbWVudHMuCiAgICAgICAgICAgICAgICAgKiBAbGluayBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNlLW1haWwtc3RhdGUtKHR5cGU9ZW1haWwpCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIHJldHVybiAoYm9vbGVhbilwcmVnX21hdGNoKAogICAgICAgICAgICAgICAgICAgICcvXlthLXpBLVowLTkuISMkJSZcJyorXC89P15fYHt8fX4tXStAW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX0nIC4KICAgICAgICAgICAgICAgICAgICAnW2EtekEtWjAtOV0pPyg/OlwuW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KSokL3NEJywKICAgICAgICAgICAgICAgICAgICAkYWRkcmVzcwogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgY2FzZSAnbm9yZWdleCc6CiAgICAgICAgICAgICAgICAvL05vIFBDUkUhIERvIHNvbWV0aGluZyBfdmVyeV8gYXBwcm94aW1hdGUhCiAgICAgICAgICAgICAgICAvL0NoZWNrIHRoZSBhZGRyZXNzIGlzIDMgY2hhcnMgb3IgbG9uZ2VyIGFuZCBjb250YWlucyBhbiBAIHRoYXQncyBub3QgdGhlIGZpcnN0IG9yIGxhc3QgY2hhcgogICAgICAgICAgICAgICAgcmV0dXJuIChzdHJsZW4oJGFkZHJlc3MpID49IDMKICAgICAgICAgICAgICAgICAgICBhbmQgc3RycG9zKCRhZGRyZXNzLCAnQCcpID49IDEKICAgICAgICAgICAgICAgICAgICBhbmQgc3RycG9zKCRhZGRyZXNzLCAnQCcpICE9IHN0cmxlbigkYWRkcmVzcykgLSAxKTsKICAgICAgICAgICAgY2FzZSAncGhwJzoKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHJldHVybiAoYm9vbGVhbilmaWx0ZXJfdmFyKCRhZGRyZXNzLCBGSUxURVJfVkFMSURBVEVfRU1BSUwpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFRlbGxzIHdoZXRoZXIgSUROcyAoSW50ZXJuYXRpb25hbGl6ZWQgRG9tYWluIE5hbWVzKSBhcmUgc3VwcG9ydGVkIG9yIG5vdC4gVGhpcyByZXF1aXJlcyB0aGUKICAgICAqICJpbnRsIiBhbmQgIm1ic3RyaW5nIiBQSFAgZXh0ZW5zaW9ucy4KICAgICAqIEByZXR1cm4gYm9vbCAidHJ1ZSIgaWYgcmVxdWlyZWQgZnVuY3Rpb25zIGZvciBJRE4gc3VwcG9ydCBhcmUgcHJlc2VudAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaWRuU3VwcG9ydGVkKCkKICAgIHsKICAgICAgICAvLyBAVE9ETzogV3JpdGUgb3VyIG93biAiaWRuX3RvX2FzY2lpIiBmdW5jdGlvbiBmb3IgUEhQIDw9IDUuMi4KICAgICAgICByZXR1cm4gZnVuY3Rpb25fZXhpc3RzKCdpZG5fdG9fYXNjaWknKSBhbmQgZnVuY3Rpb25fZXhpc3RzKCdtYl9jb252ZXJ0X2VuY29kaW5nJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZXJ0cyBJRE4gaW4gZ2l2ZW4gZW1haWwgYWRkcmVzcyB0byBpdHMgQVNDSUkgZm9ybSwgYWxzbyBrbm93biBhcyBwdW55Y29kZSwgaWYgcG9zc2libGUuCiAgICAgKiBJbXBvcnRhbnQ6IEFkZHJlc3MgbXVzdCBiZSBwYXNzZWQgaW4gc2FtZSBlbmNvZGluZyBhcyBjdXJyZW50bHkgc2V0IGluIFBIUE1haWxlcjo6JENoYXJTZXQuCiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNpbGVudGx5IHJldHVybnMgdW5tb2RpZmllZCBhZGRyZXNzIGlmOgogICAgICogLSBObyBjb252ZXJzaW9uIGlzIG5lY2Vzc2FyeSAoaS5lLiBkb21haW4gbmFtZSBpcyBub3QgYW4gSUROLCBvciBpcyBhbHJlYWR5IGluIEFTQ0lJIGZvcm0pCiAgICAgKiAtIENvbnZlcnNpb24gdG8gcHVueWNvZGUgaXMgaW1wb3NzaWJsZSAoZS5nLiByZXF1aXJlZCBQSFAgZnVuY3Rpb25zIGFyZSBub3QgYXZhaWxhYmxlKQogICAgICogICBvciBmYWlscyBmb3IgYW55IHJlYXNvbiAoZS5nLiBkb21haW4gaGFzIGNoYXJhY3RlcnMgbm90IGFsbG93ZWQgaW4gYW4gSUROKQogICAgICogQHNlZSBQSFBNYWlsZXI6OiRDaGFyU2V0CiAgICAgKiBAcGFyYW0gc3RyaW5nICRhZGRyZXNzIFRoZSBlbWFpbCBhZGRyZXNzIHRvIGNvbnZlcnQKICAgICAqIEByZXR1cm4gc3RyaW5nIFRoZSBlbmNvZGVkIGFkZHJlc3MgaW4gQVNDSUkgZm9ybQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcHVueWVuY29kZUFkZHJlc3MoJGFkZHJlc3MpCiAgICB7CiAgICAgICAgLy8gVmVyaWZ5IHdlIGhhdmUgcmVxdWlyZWQgZnVuY3Rpb25zLCBDaGFyU2V0LCBhbmQgYXQtc2lnbi4KICAgICAgICBpZiAoJHRoaXMtPmlkblN1cHBvcnRlZCgpIGFuZAogICAgICAgICAgICAhZW1wdHkoJHRoaXMtPkNoYXJTZXQpIGFuZAogICAgICAgICAgICAoJHBvcyA9IHN0cnJwb3MoJGFkZHJlc3MsICdAJykpICE9PSBmYWxzZSkgewogICAgICAgICAgICAkZG9tYWluID0gc3Vic3RyKCRhZGRyZXNzLCArKyRwb3MpOwogICAgICAgICAgICAvLyBWZXJpZnkgQ2hhclNldCBzdHJpbmcgaXMgYSB2YWxpZCBvbmUsIGFuZCBkb21haW4gcHJvcGVybHkgZW5jb2RlZCBpbiB0aGlzIENoYXJTZXQuCiAgICAgICAgICAgIGlmICgkdGhpcy0+aGFzOGJpdENoYXJzKCRkb21haW4pIGFuZCBAbWJfY2hlY2tfZW5jb2RpbmcoJGRvbWFpbiwgJHRoaXMtPkNoYXJTZXQpKSB7CiAgICAgICAgICAgICAgICAkZG9tYWluID0gbWJfY29udmVydF9lbmNvZGluZygkZG9tYWluLCAnVVRGLTgnLCAkdGhpcy0+Q2hhclNldCk7CiAgICAgICAgICAgICAgICBpZiAoKCRwdW55Y29kZSA9IGRlZmluZWQoJ0lOVExfSUROQV9WQVJJQU5UX1VUUzQ2JykgPwogICAgICAgICAgICAgICAgICAgIGlkbl90b19hc2NpaSgkZG9tYWluLCAwLCBJTlRMX0lETkFfVkFSSUFOVF9VVFM0NikgOgogICAgICAgICAgICAgICAgICAgIGlkbl90b19hc2NpaSgkZG9tYWluKSkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1YnN0cigkYWRkcmVzcywgMCwgJHBvcykgLiAkcHVueWNvZGU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRhZGRyZXNzOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgbWVzc2FnZSBhbmQgc2VuZCBpdC4KICAgICAqIFVzZXMgdGhlIHNlbmRpbmcgbWV0aG9kIHNwZWNpZmllZCBieSAkTWFpbGVyLgogICAgICogQHRocm93cyBwaHBtYWlsZXJFeGNlcHRpb24KICAgICAqIEByZXR1cm4gYm9vbGVhbiBmYWxzZSBvbiBlcnJvciAtIFNlZSB0aGUgRXJyb3JJbmZvIHByb3BlcnR5IGZvciBkZXRhaWxzIG9mIHRoZSBlcnJvci4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlbmQoKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmICghJHRoaXMtPnByZVNlbmQoKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+cG9zdFNlbmQoKTsKICAgICAgICB9IGNhdGNoIChwaHBtYWlsZXJFeGNlcHRpb24gJGV4YykgewogICAgICAgICAgICAkdGhpcy0+bWFpbEhlYWRlciA9ICcnOwogICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJGV4Yy0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICAgICAgaWYgKCR0aGlzLT5leGNlcHRpb25zKSB7CiAgICAgICAgICAgICAgICB0aHJvdyAkZXhjOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBQcmVwYXJlIGEgbWVzc2FnZSBmb3Igc2VuZGluZy4KICAgICAqIEB0aHJvd3MgcGhwbWFpbGVyRXhjZXB0aW9uCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHByZVNlbmQoKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0aGlzLT5lcnJvcl9jb3VudCA9IDA7IC8vIFJlc2V0IGVycm9ycwogICAgICAgICAgICAkdGhpcy0+bWFpbEhlYWRlciA9ICcnOwoKICAgICAgICAgICAgLy8gRGVxdWV1ZSByZWNpcGllbnQgYW5kIFJlcGx5LVRvIGFkZHJlc3NlcyB3aXRoIElETgogICAgICAgICAgICBmb3JlYWNoIChhcnJheV9tZXJnZSgkdGhpcy0+UmVjaXBpZW50c1F1ZXVlLCAkdGhpcy0+UmVwbHlUb1F1ZXVlKSBhcyAkcGFyYW1zKSB7CiAgICAgICAgICAgICAgICAkcGFyYW1zWzFdID0gJHRoaXMtPnB1bnllbmNvZGVBZGRyZXNzKCRwYXJhbXNbMV0pOwogICAgICAgICAgICAgICAgY2FsbF91c2VyX2Z1bmNfYXJyYXkoYXJyYXkoJHRoaXMsICdhZGRBbkFkZHJlc3MnKSwgJHBhcmFtcyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKChjb3VudCgkdGhpcy0+dG8pICsgY291bnQoJHRoaXMtPmNjKSArIGNvdW50KCR0aGlzLT5iY2MpKSA8IDEpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBwaHBtYWlsZXJFeGNlcHRpb24oJHRoaXMtPmxhbmcoJ3Byb3ZpZGVfYWRkcmVzcycpLCBzZWxmOjpTVE9QX0NSSVRJQ0FMKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gVmFsaWRhdGUgRnJvbSwgU2VuZGVyLCBhbmQgQ29uZmlybVJlYWRpbmdUbyBhZGRyZXNzZXMKICAgICAgICAgICAgZm9yZWFjaCAoYXJyYXkoJ0Zyb20nLCAnU2VuZGVyJywgJ0NvbmZpcm1SZWFkaW5nVG8nKSBhcyAkYWRkcmVzc19raW5kKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+JGFkZHJlc3Nfa2luZCA9IHRyaW0oJHRoaXMtPiRhZGRyZXNzX2tpbmQpOwogICAgICAgICAgICAgICAgaWYgKGVtcHR5KCR0aGlzLT4kYWRkcmVzc19raW5kKSkgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJHRoaXMtPiRhZGRyZXNzX2tpbmQgPSAkdGhpcy0+cHVueWVuY29kZUFkZHJlc3MoJHRoaXMtPiRhZGRyZXNzX2tpbmQpOwogICAgICAgICAgICAgICAgaWYgKCEkdGhpcy0+dmFsaWRhdGVBZGRyZXNzKCR0aGlzLT4kYWRkcmVzc19raW5kKSkgewogICAgICAgICAgICAgICAgICAgICRlcnJvcl9tZXNzYWdlID0gJHRoaXMtPmxhbmcoJ2ludmFsaWRfYWRkcmVzcycpIC4gJyAocHVueUVuY29kZSkgJyAuICR0aGlzLT4kYWRkcmVzc19raW5kOwogICAgICAgICAgICAgICAgICAgICR0aGlzLT5zZXRFcnJvcigkZXJyb3JfbWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmVkZWJ1ZygkZXJyb3JfbWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5leGNlcHRpb25zKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBwaHBtYWlsZXJFeGNlcHRpb24oJGVycm9yX21lc3NhZ2UpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFNldCB3aGV0aGVyIHRoZSBtZXNzYWdlIGlzIG11bHRpcGFydC9hbHRlcm5hdGl2ZQogICAgICAgICAgICBpZiAoJHRoaXMtPmFsdGVybmF0aXZlRXhpc3RzKCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5Db250ZW50VHlwZSA9ICdtdWx0aXBhcnQvYWx0ZXJuYXRpdmUnOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkdGhpcy0+c2V0TWVzc2FnZVR5cGUoKTsKICAgICAgICAgICAgLy8gUmVmdXNlIHRvIHNlbmQgYW4gZW1wdHkgbWVzc2FnZSB1bmxlc3Mgd2UgYXJlIHNwZWNpZmljYWxseSBhbGxvd2luZyBpdAogICAgICAgICAgICBpZiAoISR0aGlzLT5BbGxvd0VtcHR5IGFuZCBlbXB0eSgkdGhpcy0+Qm9keSkpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBwaHBtYWlsZXJFeGNlcHRpb24oJHRoaXMtPmxhbmcoJ2VtcHR5X21lc3NhZ2UnKSwgc2VsZjo6U1RPUF9DUklUSUNBTCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIENyZWF0ZSBib2R5IGJlZm9yZSBoZWFkZXJzIGluIGNhc2UgYm9keSBtYWtlcyBjaGFuZ2VzIHRvIGhlYWRlcnMgKGUuZy4gYWx0ZXJpbmcgdHJhbnNmZXIgZW5jb2RpbmcpCiAgICAgICAgICAgICR0aGlzLT5NSU1FSGVhZGVyID0gJyc7CiAgICAgICAgICAgICR0aGlzLT5NSU1FQm9keSA9ICR0aGlzLT5jcmVhdGVCb2R5KCk7CiAgICAgICAgICAgIC8vIGNyZWF0ZUJvZHkgbWF5IGhhdmUgYWRkZWQgc29tZSBoZWFkZXJzLCBzbyByZXRhaW4gdGhlbQogICAgICAgICAgICAkdGVtcGhlYWRlcnMgPSAkdGhpcy0+TUlNRUhlYWRlcjsKICAgICAgICAgICAgJHRoaXMtPk1JTUVIZWFkZXIgPSAkdGhpcy0+Y3JlYXRlSGVhZGVyKCk7CiAgICAgICAgICAgICR0aGlzLT5NSU1FSGVhZGVyIC49ICR0ZW1waGVhZGVyczsKCiAgICAgICAgICAgIC8vIFRvIGNhcHR1cmUgdGhlIGNvbXBsZXRlIG1lc3NhZ2Ugd2hlbiB1c2luZyBtYWlsKCksIGNyZWF0ZQogICAgICAgICAgICAvLyBhbiBleHRyYSBoZWFkZXIgbGlzdCB3aGljaCBjcmVhdGVIZWFkZXIoKSBkb2Vzbid0IGZvbGQgaW4KICAgICAgICAgICAgaWYgKCR0aGlzLT5NYWlsZXIgPT0gJ21haWwnKSB7CiAgICAgICAgICAgICAgICBpZiAoY291bnQoJHRoaXMtPnRvKSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+bWFpbEhlYWRlciAuPSAkdGhpcy0+YWRkckFwcGVuZCgnVG8nLCAkdGhpcy0+dG8pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+bWFpbEhlYWRlciAuPSAkdGhpcy0+aGVhZGVyTGluZSgnVG8nLCAndW5kaXNjbG9zZWQtcmVjaXBpZW50czo7Jyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkdGhpcy0+bWFpbEhlYWRlciAuPSAkdGhpcy0+aGVhZGVyTGluZSgKICAgICAgICAgICAgICAgICAgICAnU3ViamVjdCcsCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmVuY29kZUhlYWRlcigkdGhpcy0+c2VjdXJlSGVhZGVyKHRyaW0oJHRoaXMtPlN1YmplY3QpKSkKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFNpZ24gd2l0aCBES0lNIGlmIGVuYWJsZWQKICAgICAgICAgICAgaWYgKCFlbXB0eSgkdGhpcy0+REtJTV9kb21haW4pCiAgICAgICAgICAgICAgICAmJiAhZW1wdHkoJHRoaXMtPkRLSU1fcHJpdmF0ZSkKICAgICAgICAgICAgICAgICYmICFlbXB0eSgkdGhpcy0+REtJTV9zZWxlY3RvcikKICAgICAgICAgICAgICAgICYmIGZpbGVfZXhpc3RzKCR0aGlzLT5ES0lNX3ByaXZhdGUpKSB7CiAgICAgICAgICAgICAgICAkaGVhZGVyX2RraW0gPSAkdGhpcy0+REtJTV9BZGQoCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPk1JTUVIZWFkZXIgLiAkdGhpcy0+bWFpbEhlYWRlciwKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZW5jb2RlSGVhZGVyKCR0aGlzLT5zZWN1cmVIZWFkZXIoJHRoaXMtPlN1YmplY3QpKSwKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TUlNRUJvZHkKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAkdGhpcy0+TUlNRUhlYWRlciA9IHJ0cmltKCR0aGlzLT5NSU1FSGVhZGVyLCAiXHJcbiAiKSAuIHNlbGY6OkNSTEYgLgogICAgICAgICAgICAgICAgICAgIHN0cl9yZXBsYWNlKCJcclxuIiwgIlxuIiwgJGhlYWRlcl9ka2ltKSAuIHNlbGY6OkNSTEY7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBjYXRjaCAocGhwbWFpbGVyRXhjZXB0aW9uICRleGMpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCRleGMtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgICAgIGlmICgkdGhpcy0+ZXhjZXB0aW9ucykgewogICAgICAgICAgICAgICAgdGhyb3cgJGV4YzsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQWN0dWFsbHkgc2VuZCBhIG1lc3NhZ2UuCiAgICAgKiBTZW5kIHRoZSBlbWFpbCB2aWEgdGhlIHNlbGVjdGVkIG1lY2hhbmlzbQogICAgICogQHRocm93cyBwaHBtYWlsZXJFeGNlcHRpb24KICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcG9zdFNlbmQoKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIC8vIENob29zZSB0aGUgbWFpbGVyIGFuZCBzZW5kIHRocm91Z2ggaXQKICAgICAgICAgICAgc3dpdGNoICgkdGhpcy0+TWFpbGVyKSB7CiAgICAgICAgICAgICAgICBjYXNlICdzZW5kbWFpbCc6CiAgICAgICAgICAgICAgICBjYXNlICdxbWFpbCc6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5zZW5kbWFpbFNlbmQoJHRoaXMtPk1JTUVIZWFkZXIsICR0aGlzLT5NSU1FQm9keSk7CiAgICAgICAgICAgICAgICBjYXNlICdzbXRwJzoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPnNtdHBTZW5kKCR0aGlzLT5NSU1FSGVhZGVyLCAkdGhpcy0+TUlNRUJvZHkpOwogICAgICAgICAgICAgICAgY2FzZSAnbWFpbCc6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5tYWlsU2VuZCgkdGhpcy0+TUlNRUhlYWRlciwgJHRoaXMtPk1JTUVCb2R5KTsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgJHNlbmRNZXRob2QgPSAkdGhpcy0+TWFpbGVyLidTZW5kJzsKICAgICAgICAgICAgICAgICAgICBpZiAobWV0aG9kX2V4aXN0cygkdGhpcywgJHNlbmRNZXRob2QpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+JHNlbmRNZXRob2QoJHRoaXMtPk1JTUVIZWFkZXIsICR0aGlzLT5NSU1FQm9keSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPm1haWxTZW5kKCR0aGlzLT5NSU1FSGVhZGVyLCAkdGhpcy0+TUlNRUJvZHkpOwogICAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAocGhwbWFpbGVyRXhjZXB0aW9uICRleGMpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCRleGMtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgICAgICR0aGlzLT5lZGVidWcoJGV4Yy0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICAgICAgaWYgKCR0aGlzLT5leGNlcHRpb25zKSB7CiAgICAgICAgICAgICAgICB0aHJvdyAkZXhjOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgbWFpbCB1c2luZyB0aGUgJFNlbmRtYWlsIHByb2dyYW0uCiAgICAgKiBAcGFyYW0gc3RyaW5nICRoZWFkZXIgVGhlIG1lc3NhZ2UgaGVhZGVycwogICAgICogQHBhcmFtIHN0cmluZyAkYm9keSBUaGUgbWVzc2FnZSBib2R5CiAgICAgKiBAc2VlIFBIUE1haWxlcjo6JFNlbmRtYWlsCiAgICAgKiBAdGhyb3dzIHBocG1haWxlckV4Y2VwdGlvbgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2VuZG1haWxTZW5kKCRoZWFkZXIsICRib2R5KQogICAgewogICAgICAgIGlmICgkdGhpcy0+U2VuZGVyICE9ICcnKSB7CiAgICAgICAgICAgIGlmICgkdGhpcy0+TWFpbGVyID09ICdxbWFpbCcpIHsKICAgICAgICAgICAgICAgICRzZW5kbWFpbCA9IHNwcmludGYoJyVzIC1mJXMnLCBlc2NhcGVzaGVsbGNtZCgkdGhpcy0+U2VuZG1haWwpLCBlc2NhcGVzaGVsbGFyZygkdGhpcy0+U2VuZGVyKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkc2VuZG1haWwgPSBzcHJpbnRmKCclcyAtb2kgLWYlcyAtdCcsIGVzY2FwZXNoZWxsY21kKCR0aGlzLT5TZW5kbWFpbCksIGVzY2FwZXNoZWxsYXJnKCR0aGlzLT5TZW5kZXIpKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmICgkdGhpcy0+TWFpbGVyID09ICdxbWFpbCcpIHsKICAgICAgICAgICAgICAgICRzZW5kbWFpbCA9IHNwcmludGYoJyVzJywgZXNjYXBlc2hlbGxjbWQoJHRoaXMtPlNlbmRtYWlsKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkc2VuZG1haWwgPSBzcHJpbnRmKCclcyAtb2kgLXQnLCBlc2NhcGVzaGVsbGNtZCgkdGhpcy0+U2VuZG1haWwpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoJHRoaXMtPlNpbmdsZVRvKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5TaW5nbGVUb0FycmF5IGFzICR0b0FkZHIpIHsKICAgICAgICAgICAgICAgIGlmICghQCRtYWlsID0gcG9wZW4oJHNlbmRtYWlsLCAndycpKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IHBocG1haWxlckV4Y2VwdGlvbigkdGhpcy0+bGFuZygnZXhlY3V0ZScpIC4gJHRoaXMtPlNlbmRtYWlsLCBzZWxmOjpTVE9QX0NSSVRJQ0FMKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZwdXRzKCRtYWlsLCAnVG86ICcgLiAkdG9BZGRyIC4gIlxuIik7CiAgICAgICAgICAgICAgICBmcHV0cygkbWFpbCwgJGhlYWRlcik7CiAgICAgICAgICAgICAgICBmcHV0cygkbWFpbCwgJGJvZHkpOwogICAgICAgICAgICAgICAgJHJlc3VsdCA9IHBjbG9zZSgkbWFpbCk7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZG9DYWxsYmFjaygKICAgICAgICAgICAgICAgICAgICAoJHJlc3VsdCA9PSAwKSwKICAgICAgICAgICAgICAgICAgICBhcnJheSgkdG9BZGRyKSwKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Y2MsCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmJjYywKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+U3ViamVjdCwKICAgICAgICAgICAgICAgICAgICAkYm9keSwKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+RnJvbQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIGlmICgkcmVzdWx0ICE9IDApIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcGhwbWFpbGVyRXhjZXB0aW9uKCR0aGlzLT5sYW5nKCdleGVjdXRlJykgLiAkdGhpcy0+U2VuZG1haWwsIHNlbGY6OlNUT1BfQ1JJVElDQUwpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKCFAJG1haWwgPSBwb3Blbigkc2VuZG1haWwsICd3JykpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBwaHBtYWlsZXJFeGNlcHRpb24oJHRoaXMtPmxhbmcoJ2V4ZWN1dGUnKSAuICR0aGlzLT5TZW5kbWFpbCwgc2VsZjo6U1RPUF9DUklUSUNBTCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZnB1dHMoJG1haWwsICRoZWFkZXIpOwogICAgICAgICAgICBmcHV0cygkbWFpbCwgJGJvZHkpOwogICAgICAgICAgICAkcmVzdWx0ID0gcGNsb3NlKCRtYWlsKTsKICAgICAgICAgICAgJHRoaXMtPmRvQ2FsbGJhY2soCiAgICAgICAgICAgICAgICAoJHJlc3VsdCA9PSAwKSwKICAgICAgICAgICAgICAgICR0aGlzLT50bywKICAgICAgICAgICAgICAgICR0aGlzLT5jYywKICAgICAgICAgICAgICAgICR0aGlzLT5iY2MsCiAgICAgICAgICAgICAgICAkdGhpcy0+U3ViamVjdCwKICAgICAgICAgICAgICAgICRib2R5LAogICAgICAgICAgICAgICAgJHRoaXMtPkZyb20KICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKCRyZXN1bHQgIT0gMCkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IHBocG1haWxlckV4Y2VwdGlvbigkdGhpcy0+bGFuZygnZXhlY3V0ZScpIC4gJHRoaXMtPlNlbmRtYWlsLCBzZWxmOjpTVE9QX0NSSVRJQ0FMKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgbWFpbCB1c2luZyB0aGUgUEhQIG1haWwoKSBmdW5jdGlvbi4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGhlYWRlciBUaGUgbWVzc2FnZSBoZWFkZXJzCiAgICAgKiBAcGFyYW0gc3RyaW5nICRib2R5IFRoZSBtZXNzYWdlIGJvZHkKICAgICAqIEBsaW5rIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vYm9vay5tYWlsLnBocAogICAgICogQHRocm93cyBwaHBtYWlsZXJFeGNlcHRpb24KICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIG1haWxTZW5kKCRoZWFkZXIsICRib2R5KQogICAgewogICAgICAgICR0b0FyciA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnRvIGFzICR0b2FkZHIpIHsKICAgICAgICAgICAgJHRvQXJyW10gPSAkdGhpcy0+YWRkckZvcm1hdCgkdG9hZGRyKTsKICAgICAgICB9CiAgICAgICAgJHRvID0gaW1wbG9kZSgnLCAnLCAkdG9BcnIpOwoKICAgICAgICBpZiAoZW1wdHkoJHRoaXMtPlNlbmRlcikpIHsKICAgICAgICAgICAgJHBhcmFtcyA9ICcgJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcGFyYW1zID0gc3ByaW50ZignLWYlcycsICR0aGlzLT5TZW5kZXIpOwogICAgICAgIH0KICAgICAgICBpZiAoJHRoaXMtPlNlbmRlciAhPSAnJyBhbmQgIWluaV9nZXQoJ3NhZmVfbW9kZScpKSB7CiAgICAgICAgICAgICRvbGRfZnJvbSA9IGluaV9nZXQoJ3NlbmRtYWlsX2Zyb20nKTsKICAgICAgICAgICAgaW5pX3NldCgnc2VuZG1haWxfZnJvbScsICR0aGlzLT5TZW5kZXIpOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgaWYgKCR0aGlzLT5TaW5nbGVUbyAmJiBjb3VudCgkdG9BcnIpID4gMSkgewogICAgICAgICAgICBmb3JlYWNoICgkdG9BcnIgYXMgJHRvQWRkcikgewogICAgICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5tYWlsUGFzc3RocnUoJHRvQWRkciwgJHRoaXMtPlN1YmplY3QsICRib2R5LCAkaGVhZGVyLCAkcGFyYW1zKTsKICAgICAgICAgICAgICAgICR0aGlzLT5kb0NhbGxiYWNrKCRyZXN1bHQsIGFycmF5KCR0b0FkZHIpLCAkdGhpcy0+Y2MsICR0aGlzLT5iY2MsICR0aGlzLT5TdWJqZWN0LCAkYm9keSwgJHRoaXMtPkZyb20pOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5tYWlsUGFzc3RocnUoJHRvLCAkdGhpcy0+U3ViamVjdCwgJGJvZHksICRoZWFkZXIsICRwYXJhbXMpOwogICAgICAgICAgICAkdGhpcy0+ZG9DYWxsYmFjaygkcmVzdWx0LCAkdGhpcy0+dG8sICR0aGlzLT5jYywgJHRoaXMtPmJjYywgJHRoaXMtPlN1YmplY3QsICRib2R5LCAkdGhpcy0+RnJvbSk7CiAgICAgICAgfQogICAgICAgIGlmIChpc3NldCgkb2xkX2Zyb20pKSB7CiAgICAgICAgICAgIGluaV9zZXQoJ3NlbmRtYWlsX2Zyb20nLCAkb2xkX2Zyb20pOwogICAgICAgIH0KICAgICAgICBpZiAoISRyZXN1bHQpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IHBocG1haWxlckV4Y2VwdGlvbigkdGhpcy0+bGFuZygnaW5zdGFudGlhdGUnKSwgc2VsZjo6U1RPUF9DUklUSUNBTCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGluc3RhbmNlIHRvIHVzZSBmb3IgU01UUCBvcGVyYXRpb25zLgogICAgICogT3ZlcnJpZGUgdGhpcyBmdW5jdGlvbiB0byBsb2FkIHlvdXIgb3duIFNNVFAgaW1wbGVtZW50YXRpb24KICAgICAqIEByZXR1cm4gU01UUAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U01UUEluc3RhbmNlKCkKICAgIHsKICAgICAgICBpZiAoIWlzX29iamVjdCgkdGhpcy0+c210cCkpIHsKICAgICAgICAgICAgJHRoaXMtPnNtdHAgPSBuZXcgU01UUDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5zbXRwOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBtYWlsIHZpYSBTTVRQLgogICAgICogUmV0dXJucyBmYWxzZSBpZiB0aGVyZSBpcyBhIGJhZCBNQUlMIEZST00sIFJDUFQsIG9yIERBVEEgaW5wdXQuCiAgICAgKiBVc2VzIHRoZSBQSFBNYWlsZXJTTVRQIGNsYXNzIGJ5IGRlZmF1bHQuCiAgICAgKiBAc2VlIFBIUE1haWxlcjo6Z2V0U01UUEluc3RhbmNlKCkgdG8gdXNlIGEgZGlmZmVyZW50IGNsYXNzLgogICAgICogQHBhcmFtIHN0cmluZyAkaGVhZGVyIFRoZSBtZXNzYWdlIGhlYWRlcnMKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJvZHkgVGhlIG1lc3NhZ2UgYm9keQogICAgICogQHRocm93cyBwaHBtYWlsZXJFeGNlcHRpb24KICAgICAqIEB1c2VzIFNNVFAKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNtdHBTZW5kKCRoZWFkZXIsICRib2R5KQogICAgewogICAgICAgICRiYWRfcmNwdCA9IGFycmF5KCk7CiAgICAgICAgaWYgKCEkdGhpcy0+c210cENvbm5lY3QoJHRoaXMtPlNNVFBPcHRpb25zKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgcGhwbWFpbGVyRXhjZXB0aW9uKCR0aGlzLT5sYW5nKCdzbXRwX2Nvbm5lY3RfZmFpbGVkJyksIHNlbGY6OlNUT1BfQ1JJVElDQUwpOwogICAgICAgIH0KICAgICAgICBpZiAoJycgPT0gJHRoaXMtPlNlbmRlcikgewogICAgICAgICAgICAkc210cF9mcm9tID0gJHRoaXMtPkZyb207CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHNtdHBfZnJvbSA9ICR0aGlzLT5TZW5kZXI7CiAgICAgICAgfQogICAgICAgIGlmICghJHRoaXMtPnNtdHAtPm1haWwoJHNtdHBfZnJvbSkpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCR0aGlzLT5sYW5nKCdmcm9tX2ZhaWxlZCcpIC4gJHNtdHBfZnJvbSAuICcgOiAnIC4gaW1wbG9kZSgnLCcsICR0aGlzLT5zbXRwLT5nZXRFcnJvcigpKSk7CiAgICAgICAgICAgIHRocm93IG5ldyBwaHBtYWlsZXJFeGNlcHRpb24oJHRoaXMtPkVycm9ySW5mbywgc2VsZjo6U1RPUF9DUklUSUNBTCk7CiAgICAgICAgfQoKICAgICAgICAvLyBBdHRlbXB0IHRvIHNlbmQgdG8gYWxsIHJlY2lwaWVudHMKICAgICAgICBmb3JlYWNoIChhcnJheSgkdGhpcy0+dG8sICR0aGlzLT5jYywgJHRoaXMtPmJjYykgYXMgJHRvZ3JvdXApIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHRvZ3JvdXAgYXMgJHRvKSB7CiAgICAgICAgICAgICAgICBpZiAoISR0aGlzLT5zbXRwLT5yZWNpcGllbnQoJHRvWzBdKSkgewogICAgICAgICAgICAgICAgICAgICRlcnJvciA9ICR0aGlzLT5zbXRwLT5nZXRFcnJvcigpOwogICAgICAgICAgICAgICAgICAgICRiYWRfcmNwdFtdID0gYXJyYXkoJ3RvJyA9PiAkdG9bMF0sICdlcnJvcicgPT4gJGVycm9yWydkZXRhaWwnXSk7CiAgICAgICAgICAgICAgICAgICAgJGlzU2VudCA9IGZhbHNlOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkaXNTZW50ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICR0aGlzLT5kb0NhbGxiYWNrKCRpc1NlbnQsIGFycmF5KCR0b1swXSksIGFycmF5KCksIGFycmF5KCksICR0aGlzLT5TdWJqZWN0LCAkYm9keSwgJHRoaXMtPkZyb20pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBPbmx5IHNlbmQgdGhlIERBVEEgY29tbWFuZCBpZiB3ZSBoYXZlIHZpYWJsZSByZWNpcGllbnRzCiAgICAgICAgaWYgKChjb3VudCgkdGhpcy0+YWxsX3JlY2lwaWVudHMpID4gY291bnQoJGJhZF9yY3B0KSkgYW5kICEkdGhpcy0+c210cC0+ZGF0YSgkaGVhZGVyIC4gJGJvZHkpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBwaHBtYWlsZXJFeGNlcHRpb24oJHRoaXMtPmxhbmcoJ2RhdGFfbm90X2FjY2VwdGVkJyksIHNlbGY6OlNUT1BfQ1JJVElDQUwpOwogICAgICAgIH0KICAgICAgICBpZiAoJHRoaXMtPlNNVFBLZWVwQWxpdmUpIHsKICAgICAgICAgICAgJHRoaXMtPnNtdHAtPnJlc2V0KCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPnNtdHAtPnF1aXQoKTsKICAgICAgICAgICAgJHRoaXMtPnNtdHAtPmNsb3NlKCk7CiAgICAgICAgfQogICAgICAgIC8vQ3JlYXRlIGVycm9yIG1lc3NhZ2UgZm9yIGFueSBiYWQgYWRkcmVzc2VzCiAgICAgICAgaWYgKGNvdW50KCRiYWRfcmNwdCkgPiAwKSB7CiAgICAgICAgICAgICRlcnJzdHIgPSAnJzsKICAgICAgICAgICAgZm9yZWFjaCAoJGJhZF9yY3B0IGFzICRiYWQpIHsKICAgICAgICAgICAgICAgICRlcnJzdHIgLj0gJGJhZFsndG8nXSAuICc6ICcgLiAkYmFkWydlcnJvciddOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRocm93IG5ldyBwaHBtYWlsZXJFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAkdGhpcy0+bGFuZygncmVjaXBpZW50c19mYWlsZWQnKSAuICRlcnJzdHIsCiAgICAgICAgICAgICAgICBzZWxmOjpTVE9QX0NPTlRJTlVFCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogSW5pdGlhdGUgYSBjb25uZWN0aW9uIHRvIGFuIFNNVFAgc2VydmVyLgogICAgICogUmV0dXJucyBmYWxzZSBpZiB0aGUgb3BlcmF0aW9uIGZhaWxlZC4KICAgICAqIEBwYXJhbSBhcnJheSAkb3B0aW9ucyBBbiBhcnJheSBvZiBvcHRpb25zIGNvbXBhdGlibGUgd2l0aCBzdHJlYW1fY29udGV4dF9jcmVhdGUoKQogICAgICogQHVzZXMgU01UUAogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEB0aHJvd3MgcGhwbWFpbGVyRXhjZXB0aW9uCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNtdHBDb25uZWN0KCRvcHRpb25zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICBpZiAoaXNfbnVsbCgkdGhpcy0+c210cCkpIHsKICAgICAgICAgICAgJHRoaXMtPnNtdHAgPSAkdGhpcy0+Z2V0U01UUEluc3RhbmNlKCk7CiAgICAgICAgfQoKICAgICAgICAvLyBBbHJlYWR5IGNvbm5lY3RlZD8KICAgICAgICBpZiAoJHRoaXMtPnNtdHAtPmNvbm5lY3RlZCgpKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnNtdHAtPnNldFRpbWVvdXQoJHRoaXMtPlRpbWVvdXQpOwogICAgICAgICR0aGlzLT5zbXRwLT5zZXREZWJ1Z0xldmVsKCR0aGlzLT5TTVRQRGVidWcpOwogICAgICAgICR0aGlzLT5zbXRwLT5zZXREZWJ1Z091dHB1dCgkdGhpcy0+RGVidWdvdXRwdXQpOwogICAgICAgICR0aGlzLT5zbXRwLT5zZXRWZXJwKCR0aGlzLT5kb192ZXJwKTsKICAgICAgICAkaG9zdHMgPSBleHBsb2RlKCc7JywgJHRoaXMtPkhvc3QpOwogICAgICAgICRsYXN0ZXhjZXB0aW9uID0gbnVsbDsKCiAgICAgICAgZm9yZWFjaCAoJGhvc3RzIGFzICRob3N0ZW50cnkpIHsKICAgICAgICAgICAgJGhvc3RpbmZvID0gYXJyYXkoKTsKICAgICAgICAgICAgaWYgKCFwcmVnX21hdGNoKCcvXigoc3NsfHRscyk6XC9cLykqKFthLXpBLVowLTlcLi1dKik6PyhbMC05XSopJC8nLCB0cmltKCRob3N0ZW50cnkpLCAkaG9zdGluZm8pKSB7CiAgICAgICAgICAgICAgICAvLyBOb3QgYSB2YWxpZCBob3N0IGVudHJ5CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyAkaG9zdGluZm9bMl06IG9wdGlvbmFsIHNzbCBvciB0bHMgcHJlZml4CiAgICAgICAgICAgIC8vICRob3N0aW5mb1szXTogdGhlIGhvc3RuYW1lCiAgICAgICAgICAgIC8vICRob3N0aW5mb1s0XTogb3B0aW9uYWwgcG9ydCBudW1iZXIKICAgICAgICAgICAgLy8gVGhlIGhvc3Qgc3RyaW5nIHByZWZpeCBjYW4gdGVtcG9yYXJpbHkgb3ZlcnJpZGUgdGhlIGN1cnJlbnQgc2V0dGluZyBmb3IgU01UUFNlY3VyZQogICAgICAgICAgICAvLyBJZiBpdCdzIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IHZhbHVlIGlzIHVzZWQKICAgICAgICAgICAgJHByZWZpeCA9ICcnOwogICAgICAgICAgICAkc2VjdXJlID0gJHRoaXMtPlNNVFBTZWN1cmU7CiAgICAgICAgICAgICR0bHMgPSAoJHRoaXMtPlNNVFBTZWN1cmUgPT0gJ3RscycpOwogICAgICAgICAgICBpZiAoJ3NzbCcgPT0gJGhvc3RpbmZvWzJdIG9yICgnJyA9PSAkaG9zdGluZm9bMl0gYW5kICdzc2wnID09ICR0aGlzLT5TTVRQU2VjdXJlKSkgewogICAgICAgICAgICAgICAgJHByZWZpeCA9ICdzc2w6Ly8nOwogICAgICAgICAgICAgICAgJHRscyA9IGZhbHNlOyAvLyBDYW4ndCBoYXZlIFNTTCBhbmQgVExTIGF0IHRoZSBzYW1lIHRpbWUKICAgICAgICAgICAgICAgICRzZWN1cmUgPSAnc3NsJzsKICAgICAgICAgICAgfSBlbHNlaWYgKCRob3N0aW5mb1syXSA9PSAndGxzJykgewogICAgICAgICAgICAgICAgJHRscyA9IHRydWU7CiAgICAgICAgICAgICAgICAvLyB0bHMgZG9lc24ndCB1c2UgYSBwcmVmaXgKICAgICAgICAgICAgICAgICRzZWN1cmUgPSAndGxzJzsKICAgICAgICAgICAgfQogICAgICAgICAgICAvL0RvIHdlIG5lZWQgdGhlIE9wZW5TU0wgZXh0ZW5zaW9uPwogICAgICAgICAgICAkc3NsZXh0ID0gZGVmaW5lZCgnT1BFTlNTTF9BTEdPX1NIQTEnKTsKICAgICAgICAgICAgaWYgKCd0bHMnID09PSAkc2VjdXJlIG9yICdzc2wnID09PSAkc2VjdXJlKSB7CiAgICAgICAgICAgICAgICAvL0NoZWNrIGZvciBhbiBPcGVuU1NMIGNvbnN0YW50IHJhdGhlciB0aGFuIHVzaW5nIGV4dGVuc2lvbl9sb2FkZWQsIHdoaWNoIGlzIHNvbWV0aW1lcyBkaXNhYmxlZAogICAgICAgICAgICAgICAgaWYgKCEkc3NsZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IHBocG1haWxlckV4Y2VwdGlvbigkdGhpcy0+bGFuZygnZXh0ZW5zaW9uX21pc3NpbmcnKS4nb3BlbnNzbCcsIHNlbGY6OlNUT1BfQ1JJVElDQUwpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgICRob3N0ID0gJGhvc3RpbmZvWzNdOwogICAgICAgICAgICAkcG9ydCA9ICR0aGlzLT5Qb3J0OwogICAgICAgICAgICAkdHBvcnQgPSAoaW50ZWdlcikkaG9zdGluZm9bNF07CiAgICAgICAgICAgIGlmICgkdHBvcnQgPiAwIGFuZCAkdHBvcnQgPCA2NTUzNikgewogICAgICAgICAgICAgICAgJHBvcnQgPSAkdHBvcnQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCR0aGlzLT5zbXRwLT5jb25uZWN0KCRwcmVmaXggLiAkaG9zdCwgJHBvcnQsICR0aGlzLT5UaW1lb3V0LCAkb3B0aW9ucykpIHsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5IZWxvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRoZWxsbyA9ICR0aGlzLT5IZWxvOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRoZWxsbyA9ICR0aGlzLT5zZXJ2ZXJIb3N0bmFtZSgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c210cC0+aGVsbG8oJGhlbGxvKTsKICAgICAgICAgICAgICAgICAgICAvL0F1dG9tYXRpY2FsbHkgZW5hYmxlIFRMUyBlbmNyeXB0aW9uIGlmOgogICAgICAgICAgICAgICAgICAgIC8vICogaXQncyBub3QgZGlzYWJsZWQKICAgICAgICAgICAgICAgICAgICAvLyAqIHdlIGhhdmUgb3BlbnNzbCBleHRlbnNpb24KICAgICAgICAgICAgICAgICAgICAvLyAqIHdlIGFyZSBub3QgYWxyZWFkeSB1c2luZyBTU0wKICAgICAgICAgICAgICAgICAgICAvLyAqIHRoZSBzZXJ2ZXIgb2ZmZXJzIFNUQVJUVExTCiAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5TTVRQQXV0b1RMUyBhbmQgJHNzbGV4dCBhbmQgJHNlY3VyZSAhPSAnc3NsJyBhbmQgJHRoaXMtPnNtdHAtPmdldFNlcnZlckV4dCgnU1RBUlRUTFMnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkdGxzID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKCR0bHMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkdGhpcy0+c210cC0+c3RhcnRUTFMoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IHBocG1haWxlckV4Y2VwdGlvbigkdGhpcy0+bGFuZygnY29ubmVjdF9ob3N0JykpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIG11c3QgcmVzZW5kIEhFTE8gYWZ0ZXIgdGxzIG5lZ290aWF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5zbXRwLT5oZWxsbygkaGVsbG8pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMtPlNNVFBBdXRoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghJHRoaXMtPnNtdHAtPmF1dGhlbnRpY2F0ZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5Vc2VybmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5QYXNzd29yZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5BdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5SZWFsbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5Xb3Jrc3RhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IHBocG1haWxlckV4Y2VwdGlvbigkdGhpcy0+bGFuZygnYXV0aGVudGljYXRlJykpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgfSBjYXRjaCAocGhwbWFpbGVyRXhjZXB0aW9uICRleGMpIHsKICAgICAgICAgICAgICAgICAgICAkbGFzdGV4Y2VwdGlvbiA9ICRleGM7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmVkZWJ1ZygkZXhjLT5nZXRNZXNzYWdlKCkpOwogICAgICAgICAgICAgICAgICAgIC8vIFdlIG11c3QgaGF2ZSBjb25uZWN0ZWQsIGJ1dCB0aGVuIGZhaWxlZCBUTFMgb3IgQXV0aCwgc28gY2xvc2UgY29ubmVjdGlvbiBuaWNlbHkKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c210cC0+cXVpdCgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIElmIHdlIGdldCBoZXJlLCBhbGwgY29ubmVjdGlvbiBhdHRlbXB0cyBoYXZlIGZhaWxlZCwgc28gY2xvc2UgY29ubmVjdGlvbiBoYXJkCiAgICAgICAgJHRoaXMtPnNtdHAtPmNsb3NlKCk7CiAgICAgICAgLy8gQXMgd2UndmUgY2F1Z2h0IGFsbCBleGNlcHRpb25zLCBqdXN0IHJlcG9ydCB3aGF0ZXZlciB0aGUgbGFzdCBvbmUgd2FzCiAgICAgICAgaWYgKCR0aGlzLT5leGNlcHRpb25zIGFuZCAhaXNfbnVsbCgkbGFzdGV4Y2VwdGlvbikpIHsKICAgICAgICAgICAgdGhyb3cgJGxhc3RleGNlcHRpb247CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIENsb3NlIHRoZSBhY3RpdmUgU01UUCBzZXNzaW9uIGlmIG9uZSBleGlzdHMuCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNtdHBDbG9zZSgpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5zbXRwICE9PSBudWxsKSB7CiAgICAgICAgICAgIGlmICgkdGhpcy0+c210cC0+Y29ubmVjdGVkKCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5zbXRwLT5xdWl0KCk7CiAgICAgICAgICAgICAgICAkdGhpcy0+c210cC0+Y2xvc2UoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgbGFuZ3VhZ2UgZm9yIGVycm9yIG1lc3NhZ2VzLgogICAgICogUmV0dXJucyBmYWxzZSBpZiBpdCBjYW5ub3QgbG9hZCB0aGUgbGFuZ3VhZ2UgZmlsZS4KICAgICAqIFRoZSBkZWZhdWx0IGxhbmd1YWdlIGlzIEVuZ2xpc2guCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsYW5nY29kZSBJU08gNjM5LTEgMi1jaGFyYWN0ZXIgbGFuZ3VhZ2UgY29kZSAoZS5nLiBGcmVuY2ggaXMgImZyIikKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxhbmdfcGF0aCBQYXRoIHRvIHRoZSBsYW5ndWFnZSBmaWxlIGRpcmVjdG9yeSwgd2l0aCB0cmFpbGluZyBzZXBhcmF0b3IgKHNsYXNoKQogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TGFuZ3VhZ2UoJGxhbmdjb2RlID0gJ2VuJywgJGxhbmdfcGF0aCA9ICcnKQogICAgewogICAgICAgIC8vIERlZmluZSBmdWxsIHNldCBvZiB0cmFuc2xhdGFibGUgc3RyaW5ncyBpbiBFbmdsaXNoCiAgICAgICAgJFBIUE1BSUxFUl9MQU5HID0gYXJyYXkoCiAgICAgICAgICAgICdhdXRoZW50aWNhdGUnID0+ICdTTVRQIEVycm9yOiBDb3VsZCBub3QgYXV0aGVudGljYXRlLicsCiAgICAgICAgICAgICdjb25uZWN0X2hvc3QnID0+ICdTTVRQIEVycm9yOiBDb3VsZCBub3QgY29ubmVjdCB0byBTTVRQIGhvc3QuJywKICAgICAgICAgICAgJ2RhdGFfbm90X2FjY2VwdGVkJyA9PiAnU01UUCBFcnJvcjogZGF0YSBub3QgYWNjZXB0ZWQuJywKICAgICAgICAgICAgJ2VtcHR5X21lc3NhZ2UnID0+ICdNZXNzYWdlIGJvZHkgZW1wdHknLAogICAgICAgICAgICAnZW5jb2RpbmcnID0+ICdVbmtub3duIGVuY29kaW5nOiAnLAogICAgICAgICAgICAnZXhlY3V0ZScgPT4gJ0NvdWxkIG5vdCBleGVjdXRlOiAnLAogICAgICAgICAgICAnZmlsZV9hY2Nlc3MnID0+ICdDb3VsZCBub3QgYWNjZXNzIGZpbGU6ICcsCiAgICAgICAgICAgICdmaWxlX29wZW4nID0+ICdGaWxlIEVycm9yOiBDb3VsZCBub3Qgb3BlbiBmaWxlOiAnLAogICAgICAgICAgICAnZnJvbV9mYWlsZWQnID0+ICdUaGUgZm9sbG93aW5nIEZyb20gYWRkcmVzcyBmYWlsZWQ6ICcsCiAgICAgICAgICAgICdpbnN0YW50aWF0ZScgPT4gJ0NvdWxkIG5vdCBpbnN0YW50aWF0ZSBtYWlsIGZ1bmN0aW9uLicsCiAgICAgICAgICAgICdpbnZhbGlkX2FkZHJlc3MnID0+ICdJbnZhbGlkIGFkZHJlc3M6ICcsCiAgICAgICAgICAgICdtYWlsZXJfbm90X3N1cHBvcnRlZCcgPT4gJyBtYWlsZXIgaXMgbm90IHN1cHBvcnRlZC4nLAogICAgICAgICAgICAncHJvdmlkZV9hZGRyZXNzJyA9PiAnWW91IG11c3QgcHJvdmlkZSBhdCBsZWFzdCBvbmUgcmVjaXBpZW50IGVtYWlsIGFkZHJlc3MuJywKICAgICAgICAgICAgJ3JlY2lwaWVudHNfZmFpbGVkJyA9PiAnU01UUCBFcnJvcjogVGhlIGZvbGxvd2luZyByZWNpcGllbnRzIGZhaWxlZDogJywKICAgICAgICAgICAgJ3NpZ25pbmcnID0+ICdTaWduaW5nIEVycm9yOiAnLAogICAgICAgICAgICAnc210cF9jb25uZWN0X2ZhaWxlZCcgPT4gJ1NNVFAgY29ubmVjdCgpIGZhaWxlZC4nLAogICAgICAgICAgICAnc210cF9lcnJvcicgPT4gJ1NNVFAgc2VydmVyIGVycm9yOiAnLAogICAgICAgICAgICAndmFyaWFibGVfc2V0JyA9PiAnQ2Fubm90IHNldCBvciByZXNldCB2YXJpYWJsZTogJywKICAgICAgICAgICAgJ2V4dGVuc2lvbl9taXNzaW5nJyA9PiAnRXh0ZW5zaW9uIG1pc3Npbmc6ICcKICAgICAgICApOwogICAgICAgIGlmIChlbXB0eSgkbGFuZ19wYXRoKSkgewogICAgICAgICAgICAvLyBDYWxjdWxhdGUgYW4gYWJzb2x1dGUgcGF0aCBzbyBpdCBjYW4gd29yayBpZiBDV0QgaXMgbm90IGhlcmUKICAgICAgICAgICAgJGxhbmdfcGF0aCA9IGRpcm5hbWUoX19GSUxFX18pLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2xhbmd1YWdlJy4gRElSRUNUT1JZX1NFUEFSQVRPUjsKICAgICAgICB9CiAgICAgICAgJGZvdW5kbGFuZyA9IHRydWU7CiAgICAgICAgJGxhbmdfZmlsZSA9ICRsYW5nX3BhdGggLiAncGhwbWFpbGVyLmxhbmctJyAuICRsYW5nY29kZSAuICcucGhwJzsKICAgICAgICAvLyBUaGVyZSBpcyBubyBFbmdsaXNoIHRyYW5zbGF0aW9uIGZpbGUKICAgICAgICBpZiAoJGxhbmdjb2RlICE9ICdlbicpIHsKICAgICAgICAgICAgLy8gTWFrZSBzdXJlIGxhbmd1YWdlIGZpbGUgcGF0aCBpcyByZWFkYWJsZQogICAgICAgICAgICBpZiAoIWlzX3JlYWRhYmxlKCRsYW5nX2ZpbGUpKSB7CiAgICAgICAgICAgICAgICAkZm91bmRsYW5nID0gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBPdmVyd3JpdGUgbGFuZ3VhZ2Utc3BlY2lmaWMgc3RyaW5ncy4KICAgICAgICAgICAgICAgIC8vIFRoaXMgd2F5IHdlJ2xsIG5ldmVyIGhhdmUgbWlzc2luZyB0cmFuc2xhdGlvbiBrZXlzLgogICAgICAgICAgICAgICAgJGZvdW5kbGFuZyA9IGluY2x1ZGUgJGxhbmdfZmlsZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+bGFuZ3VhZ2UgPSAkUEhQTUFJTEVSX0xBTkc7CiAgICAgICAgcmV0dXJuIChib29sZWFuKSRmb3VuZGxhbmc7IC8vIFJldHVybnMgZmFsc2UgaWYgbGFuZ3VhZ2Ugbm90IGZvdW5kCiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGFycmF5IG9mIHN0cmluZ3MgZm9yIHRoZSBjdXJyZW50IGxhbmd1YWdlLgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VHJhbnNsYXRpb25zKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmxhbmd1YWdlOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIHJlY2lwaWVudCBoZWFkZXJzLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHR5cGUKICAgICAqIEBwYXJhbSBhcnJheSAkYWRkciBBbiBhcnJheSBvZiByZWNpcGllbnQsCiAgICAgKiB3aGVyZSBlYWNoIHJlY2lwaWVudCBpcyBhIDItZWxlbWVudCBpbmRleGVkIGFycmF5IHdpdGggZWxlbWVudCAwIGNvbnRhaW5pbmcgYW4gYWRkcmVzcwogICAgICogYW5kIGVsZW1lbnQgMSBjb250YWluaW5nIGEgbmFtZSwgbGlrZToKICAgICAqIGFycmF5KGFycmF5KCdqb2VAZXhhbXBsZS5jb20nLCAnSm9lIFVzZXInKSwgYXJyYXkoJ3pvZUBleGFtcGxlLmNvbScsICdab2UgVXNlcicpKQogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZHJBcHBlbmQoJHR5cGUsICRhZGRyKQogICAgewogICAgICAgICRhZGRyZXNzZXMgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2ggKCRhZGRyIGFzICRhZGRyZXNzKSB7CiAgICAgICAgICAgICRhZGRyZXNzZXNbXSA9ICR0aGlzLT5hZGRyRm9ybWF0KCRhZGRyZXNzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0eXBlIC4gJzogJyAuIGltcGxvZGUoJywgJywgJGFkZHJlc3NlcykgLiAkdGhpcy0+TEU7CiAgICB9CgogICAgLyoqCiAgICAgKiBGb3JtYXQgYW4gYWRkcmVzcyBmb3IgdXNlIGluIGEgbWVzc2FnZSBoZWFkZXIuCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHBhcmFtIGFycmF5ICRhZGRyIEEgMi1lbGVtZW50IGluZGV4ZWQgYXJyYXksIGVsZW1lbnQgMCBjb250YWluaW5nIGFuIGFkZHJlc3MsIGVsZW1lbnQgMSBjb250YWluaW5nIGEgbmFtZQogICAgICogICAgICBsaWtlIGFycmF5KCdqb2VAZXhhbXBsZS5jb20nLCAnSm9lIFVzZXInKQogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZHJGb3JtYXQoJGFkZHIpCiAgICB7CiAgICAgICAgaWYgKGVtcHR5KCRhZGRyWzFdKSkgeyAvLyBObyBuYW1lIHByb3ZpZGVkCiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+c2VjdXJlSGVhZGVyKCRhZGRyWzBdKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmVuY29kZUhlYWRlcigkdGhpcy0+c2VjdXJlSGVhZGVyKCRhZGRyWzFdKSwgJ3BocmFzZScpIC4gJyA8JyAuICR0aGlzLT5zZWN1cmVIZWFkZXIoCiAgICAgICAgICAgICAgICAkYWRkclswXQogICAgICAgICAgICApIC4gJz4nOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFdvcmQtd3JhcCBtZXNzYWdlLgogICAgICogRm9yIHVzZSB3aXRoIG1haWxlcnMgdGhhdCBkbyBub3QgYXV0b21hdGljYWxseSBwZXJmb3JtIHdyYXBwaW5nCiAgICAgKiBhbmQgZm9yIHF1b3RlZC1wcmludGFibGUgZW5jb2RlZCBtZXNzYWdlcy4KICAgICAqIE9yaWdpbmFsIHdyaXR0ZW4gYnkgcGhpbGlwcGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHdyYXAKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsZW5ndGggVGhlIGxpbmUgbGVuZ3RoIHRvIHdyYXAgdG8KICAgICAqIEBwYXJhbSBib29sZWFuICRxcF9tb2RlIFdoZXRoZXIgdG8gcnVuIGluIFF1b3RlZC1QcmludGFibGUgbW9kZQogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB3cmFwVGV4dCgkbWVzc2FnZSwgJGxlbmd0aCwgJHFwX21vZGUgPSBmYWxzZSkKICAgIHsKICAgICAgICBpZiAoJHFwX21vZGUpIHsKICAgICAgICAgICAgJHNvZnRfYnJlYWsgPSBzcHJpbnRmKCcgPSVzJywgJHRoaXMtPkxFKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkc29mdF9icmVhayA9ICR0aGlzLT5MRTsKICAgICAgICB9CiAgICAgICAgLy8gSWYgdXRmLTggZW5jb2RpbmcgaXMgdXNlZCwgd2Ugd2lsbCBuZWVkIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndAogICAgICAgIC8vIHNwbGl0IG11bHRpYnl0ZSBjaGFyYWN0ZXJzIHdoZW4gd2Ugd3JhcAogICAgICAgICRpc191dGY4ID0gKHN0cnRvbG93ZXIoJHRoaXMtPkNoYXJTZXQpID09ICd1dGYtOCcpOwogICAgICAgICRsZWxlbiA9IHN0cmxlbigkdGhpcy0+TEUpOwogICAgICAgICRjcmxmbGVuID0gc3RybGVuKHNlbGY6OkNSTEYpOwoKICAgICAgICAkbWVzc2FnZSA9ICR0aGlzLT5maXhFT0woJG1lc3NhZ2UpOwogICAgICAgIC8vUmVtb3ZlIGEgdHJhaWxpbmcgbGluZSBicmVhawogICAgICAgIGlmIChzdWJzdHIoJG1lc3NhZ2UsIC0kbGVsZW4pID09ICR0aGlzLT5MRSkgewogICAgICAgICAgICAkbWVzc2FnZSA9IHN1YnN0cigkbWVzc2FnZSwgMCwgLSRsZWxlbik7CiAgICAgICAgfQoKICAgICAgICAvL1NwbGl0IG1lc3NhZ2UgaW50byBsaW5lcwogICAgICAgICRsaW5lcyA9IGV4cGxvZGUoJHRoaXMtPkxFLCAkbWVzc2FnZSk7CiAgICAgICAgLy9NZXNzYWdlIHdpbGwgYmUgcmVidWlsdCBpbiBoZXJlCiAgICAgICAgJG1lc3NhZ2UgPSAnJzsKICAgICAgICBmb3JlYWNoICgkbGluZXMgYXMgJGxpbmUpIHsKICAgICAgICAgICAgJHdvcmRzID0gZXhwbG9kZSgnICcsICRsaW5lKTsKICAgICAgICAgICAgJGJ1ZiA9ICcnOwogICAgICAgICAgICAkZmlyc3R3b3JkID0gdHJ1ZTsKICAgICAgICAgICAgZm9yZWFjaCAoJHdvcmRzIGFzICR3b3JkKSB7CiAgICAgICAgICAgICAgICBpZiAoJHFwX21vZGUgYW5kIChzdHJsZW4oJHdvcmQpID4gJGxlbmd0aCkpIHsKICAgICAgICAgICAgICAgICAgICAkc3BhY2VfbGVmdCA9ICRsZW5ndGggLSBzdHJsZW4oJGJ1ZikgLSAkY3JsZmxlbjsKICAgICAgICAgICAgICAgICAgICBpZiAoISRmaXJzdHdvcmQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRzcGFjZV9sZWZ0ID4gMjApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsZW4gPSAkc3BhY2VfbGVmdDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkaXNfdXRmOCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsZW4gPSAkdGhpcy0+dXRmOENoYXJCb3VuZGFyeSgkd29yZCwgJGxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2VpZiAoc3Vic3RyKCR3b3JkLCAkbGVuIC0gMSwgMSkgPT0gJz0nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxlbi0tOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlaWYgKHN1YnN0cigkd29yZCwgJGxlbiAtIDIsIDEpID09ICc9JykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsZW4gLT0gMjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJ0ID0gc3Vic3RyKCR3b3JkLCAwLCAkbGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3b3JkID0gc3Vic3RyKCR3b3JkLCAkbGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRidWYgLj0gJyAnIC4gJHBhcnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbWVzc2FnZSAuPSAkYnVmIC4gc3ByaW50ZignPSVzJywgc2VsZjo6Q1JMRik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbWVzc2FnZSAuPSAkYnVmIC4gJHNvZnRfYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgJGJ1ZiA9ICcnOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAoc3RybGVuKCR3b3JkKSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRsZW5ndGggPD0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgJGxlbiA9ICRsZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkaXNfdXRmOCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxlbiA9ICR0aGlzLT51dGY4Q2hhckJvdW5kYXJ5KCR3b3JkLCAkbGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlaWYgKHN1YnN0cigkd29yZCwgJGxlbiAtIDEsIDEpID09ICc9JykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxlbi0tOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2VpZiAoc3Vic3RyKCR3b3JkLCAkbGVuIC0gMiwgMSkgPT0gJz0nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGVuIC09IDI7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhcnQgPSBzdWJzdHIoJHdvcmQsIDAsICRsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAkd29yZCA9IHN1YnN0cigkd29yZCwgJGxlbik7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RybGVuKCR3b3JkKSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtZXNzYWdlIC49ICRwYXJ0IC4gc3ByaW50ZignPSVzJywgc2VsZjo6Q1JMRik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYnVmID0gJHBhcnQ7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRidWZfbyA9ICRidWY7CiAgICAgICAgICAgICAgICAgICAgaWYgKCEkZmlyc3R3b3JkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRidWYgLj0gJyAnOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkYnVmIC49ICR3b3JkOwoKICAgICAgICAgICAgICAgICAgICBpZiAoc3RybGVuKCRidWYpID4gJGxlbmd0aCBhbmQgJGJ1Zl9vICE9ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRtZXNzYWdlIC49ICRidWZfbyAuICRzb2Z0X2JyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAkYnVmID0gJHdvcmQ7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJGZpcnN0d29yZCA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRtZXNzYWdlIC49ICRidWYgLiBzZWxmOjpDUkxGOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRtZXNzYWdlOwogICAgfQoKICAgIC8qKgogICAgICogRmluZCB0aGUgbGFzdCBjaGFyYWN0ZXIgYm91bmRhcnkgcHJpb3IgdG8gJG1heExlbmd0aCBpbiBhIHV0Zi04CiAgICAgKiBxdW90ZWQtcHJpbnRhYmxlIGVuY29kZWQgc3RyaW5nLgogICAgICogT3JpZ2luYWwgd3JpdHRlbiBieSBDb2xpbiBCcm93bi4KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmNvZGVkVGV4dCB1dGYtOCBRUCB0ZXh0CiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbWF4TGVuZ3RoIEZpbmQgdGhlIGxhc3QgY2hhcmFjdGVyIGJvdW5kYXJ5IHByaW9yIHRvIHRoaXMgbGVuZ3RoCiAgICAgKiBAcmV0dXJuIGludGVnZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHV0ZjhDaGFyQm91bmRhcnkoJGVuY29kZWRUZXh0LCAkbWF4TGVuZ3RoKQogICAgewogICAgICAgICRmb3VuZFNwbGl0UG9zID0gZmFsc2U7CiAgICAgICAgJGxvb2tCYWNrID0gMzsKICAgICAgICB3aGlsZSAoISRmb3VuZFNwbGl0UG9zKSB7CiAgICAgICAgICAgICRsYXN0Q2h1bmsgPSBzdWJzdHIoJGVuY29kZWRUZXh0LCAkbWF4TGVuZ3RoIC0gJGxvb2tCYWNrLCAkbG9va0JhY2spOwogICAgICAgICAgICAkZW5jb2RlZENoYXJQb3MgPSBzdHJwb3MoJGxhc3RDaHVuaywgJz0nKTsKICAgICAgICAgICAgaWYgKGZhbHNlICE9PSAkZW5jb2RlZENoYXJQb3MpIHsKICAgICAgICAgICAgICAgIC8vIEZvdW5kIHN0YXJ0IG9mIGVuY29kZWQgY2hhcmFjdGVyIGJ5dGUgd2l0aGluICRsb29rQmFjayBibG9jay4KICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoZSBlbmNvZGVkIGJ5dGUgdmFsdWUgKHRoZSAyIGNoYXJzIGFmdGVyIHRoZSAnPScpCiAgICAgICAgICAgICAgICAkaGV4ID0gc3Vic3RyKCRlbmNvZGVkVGV4dCwgJG1heExlbmd0aCAtICRsb29rQmFjayArICRlbmNvZGVkQ2hhclBvcyArIDEsIDIpOwogICAgICAgICAgICAgICAgJGRlYyA9IGhleGRlYygkaGV4KTsKICAgICAgICAgICAgICAgIGlmICgkZGVjIDwgMTI4KSB7CiAgICAgICAgICAgICAgICAgICAgLy8gU2luZ2xlIGJ5dGUgY2hhcmFjdGVyLgogICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBlbmNvZGVkIGNoYXIgd2FzIGZvdW5kIGF0IHBvcyAwLCBpdCB3aWxsIGZpdAogICAgICAgICAgICAgICAgICAgIC8vIG90aGVyd2lzZSByZWR1Y2UgbWF4TGVuZ3RoIHRvIHN0YXJ0IG9mIHRoZSBlbmNvZGVkIGNoYXIKICAgICAgICAgICAgICAgICAgICBpZiAoJGVuY29kZWRDaGFyUG9zID4gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAkbWF4TGVuZ3RoID0gJG1heExlbmd0aCAtICgkbG9va0JhY2sgLSAkZW5jb2RlZENoYXJQb3MpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkZm91bmRTcGxpdFBvcyA9IHRydWU7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJGRlYyA+PSAxOTIpIHsKICAgICAgICAgICAgICAgICAgICAvLyBGaXJzdCBieXRlIG9mIGEgbXVsdGkgYnl0ZSBjaGFyYWN0ZXIKICAgICAgICAgICAgICAgICAgICAvLyBSZWR1Y2UgbWF4TGVuZ3RoIHRvIHNwbGl0IGF0IHN0YXJ0IG9mIGNoYXJhY3RlcgogICAgICAgICAgICAgICAgICAgICRtYXhMZW5ndGggPSAkbWF4TGVuZ3RoIC0gKCRsb29rQmFjayAtICRlbmNvZGVkQ2hhclBvcyk7CiAgICAgICAgICAgICAgICAgICAgJGZvdW5kU3BsaXRQb3MgPSB0cnVlOwogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRkZWMgPCAxOTIpIHsKICAgICAgICAgICAgICAgICAgICAvLyBNaWRkbGUgYnl0ZSBvZiBhIG11bHRpIGJ5dGUgY2hhcmFjdGVyLCBsb29rIGZ1cnRoZXIgYmFjawogICAgICAgICAgICAgICAgICAgICRsb29rQmFjayArPSAzOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8gTm8gZW5jb2RlZCBjaGFyYWN0ZXIgZm91bmQKICAgICAgICAgICAgICAgICRmb3VuZFNwbGl0UG9zID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJG1heExlbmd0aDsKICAgIH0KCiAgICAvKioKICAgICAqIEFwcGx5IHdvcmQgd3JhcHBpbmcgdG8gdGhlIG1lc3NhZ2UgYm9keS4KICAgICAqIFdyYXBzIHRoZSBtZXNzYWdlIGJvZHkgdG8gdGhlIG51bWJlciBvZiBjaGFycyBzZXQgaW4gdGhlIFdvcmRXcmFwIHByb3BlcnR5LgogICAgICogWW91IHNob3VsZCBvbmx5IGRvIHRoaXMgdG8gcGxhaW4tdGV4dCBib2RpZXMgYXMgd3JhcHBpbmcgSFRNTCB0YWdzIG1heSBicmVhayB0aGVtLgogICAgICogVGhpcyBpcyBjYWxsZWQgYXV0b21hdGljYWxseSBieSBjcmVhdGVCb2R5KCksIHNvIHlvdSBkb24ndCBuZWVkIHRvIGNhbGwgaXQgeW91cnNlbGYuCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRXb3JkV3JhcCgpCiAgICB7CiAgICAgICAgaWYgKCR0aGlzLT5Xb3JkV3JhcCA8IDEpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgc3dpdGNoICgkdGhpcy0+bWVzc2FnZV90eXBlKSB7CiAgICAgICAgICAgIGNhc2UgJ2FsdCc6CiAgICAgICAgICAgIGNhc2UgJ2FsdF9pbmxpbmUnOgogICAgICAgICAgICBjYXNlICdhbHRfYXR0YWNoJzoKICAgICAgICAgICAgY2FzZSAnYWx0X2lubGluZV9hdHRhY2gnOgogICAgICAgICAgICAgICAgJHRoaXMtPkFsdEJvZHkgPSAkdGhpcy0+d3JhcFRleHQoJHRoaXMtPkFsdEJvZHksICR0aGlzLT5Xb3JkV3JhcCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICR0aGlzLT5Cb2R5ID0gJHRoaXMtPndyYXBUZXh0KCR0aGlzLT5Cb2R5LCAkdGhpcy0+V29yZFdyYXApOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQXNzZW1ibGUgbWVzc2FnZSBoZWFkZXJzLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gc3RyaW5nIFRoZSBhc3NlbWJsZWQgaGVhZGVycwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JlYXRlSGVhZGVyKCkKICAgIHsKICAgICAgICAkcmVzdWx0ID0gJyc7CgogICAgICAgIGlmICgkdGhpcy0+TWVzc2FnZURhdGUgPT0gJycpIHsKICAgICAgICAgICAgJHRoaXMtPk1lc3NhZ2VEYXRlID0gc2VsZjo6cmZjRGF0ZSgpOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdEYXRlJywgJHRoaXMtPk1lc3NhZ2VEYXRlKTsKCiAgICAgICAgLy8gVG8gYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IG1haWwoKQogICAgICAgIGlmICgkdGhpcy0+U2luZ2xlVG8pIHsKICAgICAgICAgICAgaWYgKCR0aGlzLT5NYWlsZXIgIT0gJ21haWwnKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+dG8gYXMgJHRvYWRkcikgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5TaW5nbGVUb0FycmF5W10gPSAkdGhpcy0+YWRkckZvcm1hdCgkdG9hZGRyKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChjb3VudCgkdGhpcy0+dG8pID4gMCkgewogICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5NYWlsZXIgIT0gJ21haWwnKSB7CiAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+YWRkckFwcGVuZCgnVG8nLCAkdGhpcy0+dG8pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2VpZiAoY291bnQoJHRoaXMtPmNjKSA9PSAwKSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdUbycsICd1bmRpc2Nsb3NlZC1yZWNpcGllbnRzOjsnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+YWRkckFwcGVuZCgnRnJvbScsIGFycmF5KGFycmF5KHRyaW0oJHRoaXMtPkZyb20pLCAkdGhpcy0+RnJvbU5hbWUpKSk7CgogICAgICAgIC8vIHNlbmRtYWlsIGFuZCBtYWlsKCkgZXh0cmFjdCBDYyBmcm9tIHRoZSBoZWFkZXIgYmVmb3JlIHNlbmRpbmcKICAgICAgICBpZiAoY291bnQoJHRoaXMtPmNjKSA+IDApIHsKICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+YWRkckFwcGVuZCgnQ2MnLCAkdGhpcy0+Y2MpOwogICAgICAgIH0KCiAgICAgICAgLy8gc2VuZG1haWwgYW5kIG1haWwoKSBleHRyYWN0IEJjYyBmcm9tIHRoZSBoZWFkZXIgYmVmb3JlIHNlbmRpbmcKICAgICAgICBpZiAoKAogICAgICAgICAgICAgICAgJHRoaXMtPk1haWxlciA9PSAnc2VuZG1haWwnIG9yICR0aGlzLT5NYWlsZXIgPT0gJ3FtYWlsJyBvciAkdGhpcy0+TWFpbGVyID09ICdtYWlsJwogICAgICAgICAgICApCiAgICAgICAgICAgIGFuZCBjb3VudCgkdGhpcy0+YmNjKSA+IDAKICAgICAgICApIHsKICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+YWRkckFwcGVuZCgnQmNjJywgJHRoaXMtPmJjYyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoY291bnQoJHRoaXMtPlJlcGx5VG8pID4gMCkgewogICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5hZGRyQXBwZW5kKCdSZXBseS1UbycsICR0aGlzLT5SZXBseVRvKTsKICAgICAgICB9CgogICAgICAgIC8vIG1haWwoKSBzZXRzIHRoZSBzdWJqZWN0IGl0c2VsZgogICAgICAgIGlmICgkdGhpcy0+TWFpbGVyICE9ICdtYWlsJykgewogICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdTdWJqZWN0JywgJHRoaXMtPmVuY29kZUhlYWRlcigkdGhpcy0+c2VjdXJlSGVhZGVyKCR0aGlzLT5TdWJqZWN0KSkpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCcnICE9ICR0aGlzLT5NZXNzYWdlSUQgYW5kIHByZWdfbWF0Y2goJy9ePC4qQC4qPiQvJywgJHRoaXMtPk1lc3NhZ2VJRCkpIHsKICAgICAgICAgICAgJHRoaXMtPmxhc3RNZXNzYWdlSUQgPSAkdGhpcy0+TWVzc2FnZUlEOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5sYXN0TWVzc2FnZUlEID0gc3ByaW50ZignPCVzQCVzPicsICR0aGlzLT51bmlxdWVpZCwgJHRoaXMtPnNlcnZlckhvc3RuYW1lKCkpOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdNZXNzYWdlLUlEJywgJHRoaXMtPmxhc3RNZXNzYWdlSUQpOwogICAgICAgIGlmICghaXNfbnVsbCgkdGhpcy0+UHJpb3JpdHkpKSB7CiAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPmhlYWRlckxpbmUoJ1gtUHJpb3JpdHknLCAkdGhpcy0+UHJpb3JpdHkpOwogICAgICAgIH0KICAgICAgICBpZiAoJHRoaXMtPlhNYWlsZXIgPT0gJycpIHsKICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+aGVhZGVyTGluZSgKICAgICAgICAgICAgICAgICdYLU1haWxlcicsCiAgICAgICAgICAgICAgICAnUEhQTWFpbGVyICcgLiAkdGhpcy0+VmVyc2lvbiAuICcgKGh0dHBzOi8vZ2l0aHViLmNvbS9QSFBNYWlsZXIvUEhQTWFpbGVyKScKICAgICAgICAgICAgKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkbXlYbWFpbGVyID0gdHJpbSgkdGhpcy0+WE1haWxlcik7CiAgICAgICAgICAgIGlmICgkbXlYbWFpbGVyKSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdYLU1haWxlcicsICRteVhtYWlsZXIpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPkNvbmZpcm1SZWFkaW5nVG8gIT0gJycpIHsKICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+aGVhZGVyTGluZSgnRGlzcG9zaXRpb24tTm90aWZpY2F0aW9uLVRvJywgJzwnIC4gJHRoaXMtPkNvbmZpcm1SZWFkaW5nVG8gLiAnPicpOwogICAgICAgIH0KCiAgICAgICAgLy8gQWRkIGN1c3RvbSBoZWFkZXJzCiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPkN1c3RvbUhlYWRlciBhcyAkaGVhZGVyKSB7CiAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPmhlYWRlckxpbmUoCiAgICAgICAgICAgICAgICB0cmltKCRoZWFkZXJbMF0pLAogICAgICAgICAgICAgICAgJHRoaXMtPmVuY29kZUhlYWRlcih0cmltKCRoZWFkZXJbMV0pKQogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBpZiAoISR0aGlzLT5zaWduX2tleV9maWxlKSB7CiAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPmhlYWRlckxpbmUoJ01JTUUtVmVyc2lvbicsICcxLjAnKTsKICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+Z2V0TWFpbE1JTUUoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBtZXNzYWdlIE1JTUUgdHlwZSBoZWFkZXJzLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRNYWlsTUlNRSgpCiAgICB7CiAgICAgICAgJHJlc3VsdCA9ICcnOwogICAgICAgICRpc211bHRpcGFydCA9IHRydWU7CiAgICAgICAgc3dpdGNoICgkdGhpcy0+bWVzc2FnZV90eXBlKSB7CiAgICAgICAgICAgIGNhc2UgJ2lubGluZSc6CiAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdDb250ZW50LVR5cGUnLCAnbXVsdGlwYXJ0L3JlbGF0ZWQ7Jyk7CiAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT50ZXh0TGluZSgiXHRib3VuZGFyeT1cIiIgLiAkdGhpcy0+Ym91bmRhcnlbMV0gLiAnIicpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2F0dGFjaCc6CiAgICAgICAgICAgIGNhc2UgJ2lubGluZV9hdHRhY2gnOgogICAgICAgICAgICBjYXNlICdhbHRfYXR0YWNoJzoKICAgICAgICAgICAgY2FzZSAnYWx0X2lubGluZV9hdHRhY2gnOgogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+aGVhZGVyTGluZSgnQ29udGVudC1UeXBlJywgJ211bHRpcGFydC9taXhlZDsnKTsKICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPnRleHRMaW5lKCJcdGJvdW5kYXJ5PVwiIiAuICR0aGlzLT5ib3VuZGFyeVsxXSAuICciJyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnYWx0JzoKICAgICAgICAgICAgY2FzZSAnYWx0X2lubGluZSc6CiAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdDb250ZW50LVR5cGUnLCAnbXVsdGlwYXJ0L2FsdGVybmF0aXZlOycpOwogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+dGV4dExpbmUoIlx0Ym91bmRhcnk9XCIiIC4gJHRoaXMtPmJvdW5kYXJ5WzFdIC4gJyInKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgLy8gQ2F0Y2hlcyBjYXNlICdwbGFpbic6IGFuZCBjYXNlICcnOgogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+dGV4dExpbmUoJ0NvbnRlbnQtVHlwZTogJyAuICR0aGlzLT5Db250ZW50VHlwZSAuICc7IGNoYXJzZXQ9JyAuICR0aGlzLT5DaGFyU2V0KTsKICAgICAgICAgICAgICAgICRpc211bHRpcGFydCA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIC8vIFJGQzEzNDEgcGFydCA1IHNheXMgN2JpdCBpcyBhc3N1bWVkIGlmIG5vdCBzcGVjaWZpZWQKICAgICAgICBpZiAoJHRoaXMtPkVuY29kaW5nICE9ICc3Yml0JykgewogICAgICAgICAgICAvLyBSRkMgMjA0NSBzZWN0aW9uIDYuNCBzYXlzIG11bHRpcGFydCBNSU1FIHBhcnRzIG1heSBvbmx5IHVzZSA3Yml0LCA4Yml0IG9yIGJpbmFyeSBDVEUKICAgICAgICAgICAgaWYgKCRpc211bHRpcGFydCkgewogICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5FbmNvZGluZyA9PSAnOGJpdCcpIHsKICAgICAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nJywgJzhiaXQnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIFRoZSBvbmx5IHJlbWFpbmluZyBhbHRlcm5hdGl2ZXMgYXJlIHF1b3RlZC1wcmludGFibGUgYW5kIGJhc2U2NCwgd2hpY2ggYXJlIGJvdGggN2JpdCBjb21wYXRpYmxlCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nJywgJHRoaXMtPkVuY29kaW5nKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5NYWlsZXIgIT0gJ21haWwnKSB7CiAgICAgICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkxFOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSB3aG9sZSBNSU1FIG1lc3NhZ2UuCiAgICAgKiBJbmNsdWRlcyBjb21wbGV0ZSBoZWFkZXJzIGFuZCBib2R5LgogICAgICogT25seSB2YWxpZCBwb3N0IHByZVNlbmQoKS4KICAgICAqIEBzZWUgUEhQTWFpbGVyOjpwcmVTZW5kKCkKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2VudE1JTUVNZXNzYWdlKCkKICAgIHsKICAgICAgICByZXR1cm4gcnRyaW0oJHRoaXMtPk1JTUVIZWFkZXIgLiAkdGhpcy0+bWFpbEhlYWRlciwgIlxuXHIiKSAuIHNlbGY6OkNSTEYgLiBzZWxmOjpDUkxGIC4gJHRoaXMtPk1JTUVCb2R5OwogICAgfQoKICAgIC8qKgogICAgICogQXNzZW1ibGUgdGhlIG1lc3NhZ2UgYm9keS4KICAgICAqIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIG9uIGZhaWx1cmUuCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHRocm93cyBwaHBtYWlsZXJFeGNlcHRpb24KICAgICAqIEByZXR1cm4gc3RyaW5nIFRoZSBhc3NlbWJsZWQgbWVzc2FnZSBib2R5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVCb2R5KCkKICAgIHsKICAgICAgICAkYm9keSA9ICcnOwogICAgICAgIC8vQ3JlYXRlIHVuaXF1ZSBJRHMgYW5kIHByZXNldCBib3VuZGFyaWVzCiAgICAgICAgJHRoaXMtPnVuaXF1ZWlkID0gbWQ1KHVuaXFpZCh0aW1lKCkpKTsKICAgICAgICAkdGhpcy0+Ym91bmRhcnlbMV0gPSAnYjFfJyAuICR0aGlzLT51bmlxdWVpZDsKICAgICAgICAkdGhpcy0+Ym91bmRhcnlbMl0gPSAnYjJfJyAuICR0aGlzLT51bmlxdWVpZDsKICAgICAgICAkdGhpcy0+Ym91bmRhcnlbM10gPSAnYjNfJyAuICR0aGlzLT51bmlxdWVpZDsKCiAgICAgICAgaWYgKCR0aGlzLT5zaWduX2tleV9maWxlKSB7CiAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5nZXRNYWlsTUlNRSgpIC4gJHRoaXMtPkxFOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnNldFdvcmRXcmFwKCk7CgogICAgICAgICRib2R5RW5jb2RpbmcgPSAkdGhpcy0+RW5jb2Rpbmc7CiAgICAgICAgJGJvZHlDaGFyU2V0ID0gJHRoaXMtPkNoYXJTZXQ7CiAgICAgICAgLy9DYW4gd2UgZG8gYSA3LWJpdCBkb3duZ3JhZGU/CiAgICAgICAgaWYgKCRib2R5RW5jb2RpbmcgPT0gJzhiaXQnIGFuZCAhJHRoaXMtPmhhczhiaXRDaGFycygkdGhpcy0+Qm9keSkpIHsKICAgICAgICAgICAgJGJvZHlFbmNvZGluZyA9ICc3Yml0JzsKICAgICAgICAgICAgJGJvZHlDaGFyU2V0ID0gJ3VzLWFzY2lpJzsKICAgICAgICB9CiAgICAgICAgLy9JZiBsaW5lcyBhcmUgdG9vIGxvbmcsIGFuZCB3ZSdyZSBub3QgYWxyZWFkeSB1c2luZyBhbiBlbmNvZGluZyB0aGF0IHdpbGwgc2hvcnRlbiB0aGVtLAogICAgICAgIC8vY2hhbmdlIHRvIHF1b3RlZC1wcmludGFibGUgdHJhbnNmZXIgZW5jb2RpbmcKICAgICAgICBpZiAoJ2Jhc2U2NCcgIT0gJHRoaXMtPkVuY29kaW5nIGFuZCBzZWxmOjpoYXNMaW5lTG9uZ2VyVGhhbk1heCgkdGhpcy0+Qm9keSkpIHsKICAgICAgICAgICAgJHRoaXMtPkVuY29kaW5nID0gJ3F1b3RlZC1wcmludGFibGUnOwogICAgICAgICAgICAkYm9keUVuY29kaW5nID0gJ3F1b3RlZC1wcmludGFibGUnOwogICAgICAgIH0KCiAgICAgICAgJGFsdEJvZHlFbmNvZGluZyA9ICR0aGlzLT5FbmNvZGluZzsKICAgICAgICAkYWx0Qm9keUNoYXJTZXQgPSAkdGhpcy0+Q2hhclNldDsKICAgICAgICAvL0NhbiB3ZSBkbyBhIDctYml0IGRvd25ncmFkZT8KICAgICAgICBpZiAoJGFsdEJvZHlFbmNvZGluZyA9PSAnOGJpdCcgYW5kICEkdGhpcy0+aGFzOGJpdENoYXJzKCR0aGlzLT5BbHRCb2R5KSkgewogICAgICAgICAgICAkYWx0Qm9keUVuY29kaW5nID0gJzdiaXQnOwogICAgICAgICAgICAkYWx0Qm9keUNoYXJTZXQgPSAndXMtYXNjaWknOwogICAgICAgIH0KICAgICAgICAvL0lmIGxpbmVzIGFyZSB0b28gbG9uZywgYW5kIHdlJ3JlIG5vdCBhbHJlYWR5IHVzaW5nIGFuIGVuY29kaW5nIHRoYXQgd2lsbCBzaG9ydGVuIHRoZW0sCiAgICAgICAgLy9jaGFuZ2UgdG8gcXVvdGVkLXByaW50YWJsZSB0cmFuc2ZlciBlbmNvZGluZwogICAgICAgIGlmICgnYmFzZTY0JyAhPSAkYWx0Qm9keUVuY29kaW5nIGFuZCBzZWxmOjpoYXNMaW5lTG9uZ2VyVGhhbk1heCgkdGhpcy0+QWx0Qm9keSkpIHsKICAgICAgICAgICAgJGFsdEJvZHlFbmNvZGluZyA9ICdxdW90ZWQtcHJpbnRhYmxlJzsKICAgICAgICB9CiAgICAgICAgLy9Vc2UgdGhpcyBhcyBhIHByZWFtYmxlIGluIGFsbCBtdWx0aXBhcnQgbWVzc2FnZSB0eXBlcwogICAgICAgICRtaW1lcHJlID0gIlRoaXMgaXMgYSBtdWx0aS1wYXJ0IG1lc3NhZ2UgaW4gTUlNRSBmb3JtYXQuIiAuICR0aGlzLT5MRSAuICR0aGlzLT5MRTsKICAgICAgICBzd2l0Y2ggKCR0aGlzLT5tZXNzYWdlX3R5cGUpIHsKICAgICAgICAgICAgY2FzZSAnaW5saW5lJzoKICAgICAgICAgICAgICAgICRib2R5IC49ICRtaW1lcHJlOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmdldEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVsxXSwgJGJvZHlDaGFyU2V0LCAnJywgJGJvZHlFbmNvZGluZyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+ZW5jb2RlU3RyaW5nKCR0aGlzLT5Cb2R5LCAkYm9keUVuY29kaW5nKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRSAuICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5hdHRhY2hBbGwoJ2lubGluZScsICR0aGlzLT5ib3VuZGFyeVsxXSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnYXR0YWNoJzoKICAgICAgICAgICAgICAgICRib2R5IC49ICRtaW1lcHJlOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmdldEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVsxXSwgJGJvZHlDaGFyU2V0LCAnJywgJGJvZHlFbmNvZGluZyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+ZW5jb2RlU3RyaW5nKCR0aGlzLT5Cb2R5LCAkYm9keUVuY29kaW5nKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRSAuICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5hdHRhY2hBbGwoJ2F0dGFjaG1lbnQnLCAkdGhpcy0+Ym91bmRhcnlbMV0pOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2lubGluZV9hdHRhY2gnOgogICAgICAgICAgICAgICAgJGJvZHkgLj0gJG1pbWVwcmU7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+dGV4dExpbmUoJy0tJyAuICR0aGlzLT5ib3VuZGFyeVsxXSk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+aGVhZGVyTGluZSgnQ29udGVudC1UeXBlJywgJ211bHRpcGFydC9yZWxhdGVkOycpOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPnRleHRMaW5lKCJcdGJvdW5kYXJ5PVwiIiAuICR0aGlzLT5ib3VuZGFyeVsyXSAuICciJyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+TEU7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+Z2V0Qm91bmRhcnkoJHRoaXMtPmJvdW5kYXJ5WzJdLCAkYm9keUNoYXJTZXQsICcnLCAkYm9keUVuY29kaW5nKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5lbmNvZGVTdHJpbmcoJHRoaXMtPkJvZHksICRib2R5RW5jb2RpbmcpOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPkxFIC4gJHRoaXMtPkxFOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmF0dGFjaEFsbCgnaW5saW5lJywgJHRoaXMtPmJvdW5kYXJ5WzJdKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5hdHRhY2hBbGwoJ2F0dGFjaG1lbnQnLCAkdGhpcy0+Ym91bmRhcnlbMV0pOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2FsdCc6CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkbWltZXByZTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5nZXRCb3VuZGFyeSgkdGhpcy0+Ym91bmRhcnlbMV0sICRhbHRCb2R5Q2hhclNldCwgJ3RleHQvcGxhaW4nLCAkYWx0Qm9keUVuY29kaW5nKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5lbmNvZGVTdHJpbmcoJHRoaXMtPkFsdEJvZHksICRhbHRCb2R5RW5jb2RpbmcpOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPkxFIC4gJHRoaXMtPkxFOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmdldEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVsxXSwgJGJvZHlDaGFyU2V0LCAndGV4dC9odG1sJywgJGJvZHlFbmNvZGluZyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+ZW5jb2RlU3RyaW5nKCR0aGlzLT5Cb2R5LCAkYm9keUVuY29kaW5nKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRSAuICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJHRoaXMtPkljYWwpKSB7CiAgICAgICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmdldEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVsxXSwgJycsICd0ZXh0L2NhbGVuZGFyOyBtZXRob2Q9UkVRVUVTVCcsICcnKTsKICAgICAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+ZW5jb2RlU3RyaW5nKCR0aGlzLT5JY2FsLCAkdGhpcy0+RW5jb2RpbmcpOwogICAgICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRSAuICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5lbmRCb3VuZGFyeSgkdGhpcy0+Ym91bmRhcnlbMV0pOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2FsdF9pbmxpbmUnOgogICAgICAgICAgICAgICAgJGJvZHkgLj0gJG1pbWVwcmU7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+Z2V0Qm91bmRhcnkoJHRoaXMtPmJvdW5kYXJ5WzFdLCAkYWx0Qm9keUNoYXJTZXQsICd0ZXh0L3BsYWluJywgJGFsdEJvZHlFbmNvZGluZyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+ZW5jb2RlU3RyaW5nKCR0aGlzLT5BbHRCb2R5LCAkYWx0Qm9keUVuY29kaW5nKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRSAuICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT50ZXh0TGluZSgnLS0nIC4gJHRoaXMtPmJvdW5kYXJ5WzFdKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdDb250ZW50LVR5cGUnLCAnbXVsdGlwYXJ0L3JlbGF0ZWQ7Jyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+dGV4dExpbmUoIlx0Ym91bmRhcnk9XCIiIC4gJHRoaXMtPmJvdW5kYXJ5WzJdIC4gJyInKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5nZXRCb3VuZGFyeSgkdGhpcy0+Ym91bmRhcnlbMl0sICRib2R5Q2hhclNldCwgJ3RleHQvaHRtbCcsICRib2R5RW5jb2RpbmcpOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmVuY29kZVN0cmluZygkdGhpcy0+Qm9keSwgJGJvZHlFbmNvZGluZyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+TEUgLiAkdGhpcy0+TEU7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+YXR0YWNoQWxsKCdpbmxpbmUnLCAkdGhpcy0+Ym91bmRhcnlbMl0pOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPkxFOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmVuZEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVsxXSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnYWx0X2F0dGFjaCc6CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkbWltZXByZTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT50ZXh0TGluZSgnLS0nIC4gJHRoaXMtPmJvdW5kYXJ5WzFdKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdDb250ZW50LVR5cGUnLCAnbXVsdGlwYXJ0L2FsdGVybmF0aXZlOycpOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPnRleHRMaW5lKCJcdGJvdW5kYXJ5PVwiIiAuICR0aGlzLT5ib3VuZGFyeVsyXSAuICciJyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+TEU7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+Z2V0Qm91bmRhcnkoJHRoaXMtPmJvdW5kYXJ5WzJdLCAkYWx0Qm9keUNoYXJTZXQsICd0ZXh0L3BsYWluJywgJGFsdEJvZHlFbmNvZGluZyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+ZW5jb2RlU3RyaW5nKCR0aGlzLT5BbHRCb2R5LCAkYWx0Qm9keUVuY29kaW5nKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRSAuICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5nZXRCb3VuZGFyeSgkdGhpcy0+Ym91bmRhcnlbMl0sICRib2R5Q2hhclNldCwgJ3RleHQvaHRtbCcsICRib2R5RW5jb2RpbmcpOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmVuY29kZVN0cmluZygkdGhpcy0+Qm9keSwgJGJvZHlFbmNvZGluZyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+TEUgLiAkdGhpcy0+TEU7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+ZW5kQm91bmRhcnkoJHRoaXMtPmJvdW5kYXJ5WzJdKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5hdHRhY2hBbGwoJ2F0dGFjaG1lbnQnLCAkdGhpcy0+Ym91bmRhcnlbMV0pOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2FsdF9pbmxpbmVfYXR0YWNoJzoKICAgICAgICAgICAgICAgICRib2R5IC49ICRtaW1lcHJlOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPnRleHRMaW5lKCctLScgLiAkdGhpcy0+Ym91bmRhcnlbMV0pOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmhlYWRlckxpbmUoJ0NvbnRlbnQtVHlwZScsICdtdWx0aXBhcnQvYWx0ZXJuYXRpdmU7Jyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+dGV4dExpbmUoIlx0Ym91bmRhcnk9XCIiIC4gJHRoaXMtPmJvdW5kYXJ5WzJdIC4gJyInKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5nZXRCb3VuZGFyeSgkdGhpcy0+Ym91bmRhcnlbMl0sICRhbHRCb2R5Q2hhclNldCwgJ3RleHQvcGxhaW4nLCAkYWx0Qm9keUVuY29kaW5nKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5lbmNvZGVTdHJpbmcoJHRoaXMtPkFsdEJvZHksICRhbHRCb2R5RW5jb2RpbmcpOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPkxFIC4gJHRoaXMtPkxFOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPnRleHRMaW5lKCctLScgLiAkdGhpcy0+Ym91bmRhcnlbMl0pOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmhlYWRlckxpbmUoJ0NvbnRlbnQtVHlwZScsICdtdWx0aXBhcnQvcmVsYXRlZDsnKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT50ZXh0TGluZSgiXHRib3VuZGFyeT1cIiIgLiAkdGhpcy0+Ym91bmRhcnlbM10gLiAnIicpOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPkxFOwogICAgICAgICAgICAgICAgJGJvZHkgLj0gJHRoaXMtPmdldEJvdW5kYXJ5KCR0aGlzLT5ib3VuZGFyeVszXSwgJGJvZHlDaGFyU2V0LCAndGV4dC9odG1sJywgJGJvZHlFbmNvZGluZyk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+ZW5jb2RlU3RyaW5nKCR0aGlzLT5Cb2R5LCAkYm9keUVuY29kaW5nKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRSAuICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5hdHRhY2hBbGwoJ2lubGluZScsICR0aGlzLT5ib3VuZGFyeVszXSk7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+TEU7CiAgICAgICAgICAgICAgICAkYm9keSAuPSAkdGhpcy0+ZW5kQm91bmRhcnkoJHRoaXMtPmJvdW5kYXJ5WzJdKTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5hdHRhY2hBbGwoJ2F0dGFjaG1lbnQnLCAkdGhpcy0+Ym91bmRhcnlbMV0pOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAvLyBjYXRjaCBjYXNlICdwbGFpbicgYW5kIGNhc2UgJycKICAgICAgICAgICAgICAgICRib2R5IC49ICR0aGlzLT5lbmNvZGVTdHJpbmcoJHRoaXMtPkJvZHksICRib2R5RW5jb2RpbmcpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPmlzRXJyb3IoKSkgewogICAgICAgICAgICAkYm9keSA9ICcnOwogICAgICAgIH0gZWxzZWlmICgkdGhpcy0+c2lnbl9rZXlfZmlsZSkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgaWYgKCFkZWZpbmVkKCdQS0NTN19URVhUJykpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcGhwbWFpbGVyRXhjZXB0aW9uKCR0aGlzLT5sYW5nKCdleHRlbnNpb25fbWlzc2luZycpIC4gJ29wZW5zc2wnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIEBUT0RPIHdvdWxkIGJlIG5pY2UgdG8gdXNlIHBocDovL3RlbXAgc3RyZWFtcyBoZXJlLCBidXQgbmVlZCB0byB3cmFwIGZvciBQSFAgPCA1LjEKICAgICAgICAgICAgICAgICRmaWxlID0gdGVtcG5hbShzeXNfZ2V0X3RlbXBfZGlyKCksICdtYWlsJyk7CiAgICAgICAgICAgICAgICBpZiAoZmFsc2UgPT09IGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCAkYm9keSkpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcGhwbWFpbGVyRXhjZXB0aW9uKCR0aGlzLT5sYW5nKCdzaWduaW5nJykgLiAnIENvdWxkIG5vdCB3cml0ZSB0ZW1wIGZpbGUnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRzaWduZWQgPSB0ZW1wbmFtKHN5c19nZXRfdGVtcF9kaXIoKSwgJ3NpZ25lZCcpOwogICAgICAgICAgICAgICAgLy9Xb3JrYXJvdW5kIGZvciBQSFAgYnVnIGh0dHBzOi8vYnVncy5waHAubmV0L2J1Zy5waHA/aWQ9NjkxOTcKICAgICAgICAgICAgICAgIGlmIChlbXB0eSgkdGhpcy0+c2lnbl9leHRyYWNlcnRzX2ZpbGUpKSB7CiAgICAgICAgICAgICAgICAgICAgJHNpZ24gPSBAb3BlbnNzbF9wa2NzN19zaWduKAogICAgICAgICAgICAgICAgICAgICAgICAkZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgJHNpZ25lZCwKICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbGU6Ly8nIC4gcmVhbHBhdGgoJHRoaXMtPnNpZ25fY2VydF9maWxlKSwKICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2ZpbGU6Ly8nIC4gcmVhbHBhdGgoJHRoaXMtPnNpZ25fa2V5X2ZpbGUpLCAkdGhpcy0+c2lnbl9rZXlfcGFzcyksCiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkc2lnbiA9IEBvcGVuc3NsX3BrY3M3X3NpZ24oCiAgICAgICAgICAgICAgICAgICAgICAgICRmaWxlLAogICAgICAgICAgICAgICAgICAgICAgICAkc2lnbmVkLAogICAgICAgICAgICAgICAgICAgICAgICAnZmlsZTovLycgLiByZWFscGF0aCgkdGhpcy0+c2lnbl9jZXJ0X2ZpbGUpLAogICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnZmlsZTovLycgLiByZWFscGF0aCgkdGhpcy0+c2lnbl9rZXlfZmlsZSksICR0aGlzLT5zaWduX2tleV9wYXNzKSwKICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgUEtDUzdfREVUQUNIRUQsCiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5zaWduX2V4dHJhY2VydHNfZmlsZQogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoJHNpZ24pIHsKICAgICAgICAgICAgICAgICAgICBAdW5saW5rKCRmaWxlKTsKICAgICAgICAgICAgICAgICAgICAkYm9keSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRzaWduZWQpOwogICAgICAgICAgICAgICAgICAgIEB1bmxpbmsoJHNpZ25lZCk7CiAgICAgICAgICAgICAgICAgICAgLy9UaGUgbWVzc2FnZSByZXR1cm5lZCBieSBvcGVuc3NsIGNvbnRhaW5zIGJvdGggaGVhZGVycyBhbmQgYm9keSwgc28gbmVlZCB0byBzcGxpdCB0aGVtIHVwCiAgICAgICAgICAgICAgICAgICAgJHBhcnRzID0gZXhwbG9kZSgiXG5cbiIsICRib2R5LCAyKTsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TUlNRUhlYWRlciAuPSAkcGFydHNbMF0gLiAkdGhpcy0+TEUgLiAkdGhpcy0+TEU7CiAgICAgICAgICAgICAgICAgICAgJGJvZHkgPSAkcGFydHNbMV07CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIEB1bmxpbmsoJGZpbGUpOwogICAgICAgICAgICAgICAgICAgIEB1bmxpbmsoJHNpZ25lZCk7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IHBocG1haWxlckV4Y2VwdGlvbigkdGhpcy0+bGFuZygnc2lnbmluZycpIC4gb3BlbnNzbF9lcnJvcl9zdHJpbmcoKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gY2F0Y2ggKHBocG1haWxlckV4Y2VwdGlvbiAkZXhjKSB7CiAgICAgICAgICAgICAgICAkYm9keSA9ICcnOwogICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5leGNlcHRpb25zKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgJGV4YzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJGJvZHk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgbWVzc2FnZSBib3VuZGFyeS4KICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcGFyYW0gc3RyaW5nICRib3VuZGFyeQogICAgICogQHBhcmFtIHN0cmluZyAkY2hhclNldAogICAgICogQHBhcmFtIHN0cmluZyAkY29udGVudFR5cGUKICAgICAqIEBwYXJhbSBzdHJpbmcgJGVuY29kaW5nCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0Qm91bmRhcnkoJGJvdW5kYXJ5LCAkY2hhclNldCwgJGNvbnRlbnRUeXBlLCAkZW5jb2RpbmcpCiAgICB7CiAgICAgICAgJHJlc3VsdCA9ICcnOwogICAgICAgIGlmICgkY2hhclNldCA9PSAnJykgewogICAgICAgICAgICAkY2hhclNldCA9ICR0aGlzLT5DaGFyU2V0OwogICAgICAgIH0KICAgICAgICBpZiAoJGNvbnRlbnRUeXBlID09ICcnKSB7CiAgICAgICAgICAgICRjb250ZW50VHlwZSA9ICR0aGlzLT5Db250ZW50VHlwZTsKICAgICAgICB9CiAgICAgICAgaWYgKCRlbmNvZGluZyA9PSAnJykgewogICAgICAgICAgICAkZW5jb2RpbmcgPSAkdGhpcy0+RW5jb2Rpbmc7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPnRleHRMaW5lKCctLScgLiAkYm91bmRhcnkpOwogICAgICAgICRyZXN1bHQgLj0gc3ByaW50ZignQ29udGVudC1UeXBlOiAlczsgY2hhcnNldD0lcycsICRjb250ZW50VHlwZSwgJGNoYXJTZXQpOwogICAgICAgICRyZXN1bHQgLj0gJHRoaXMtPkxFOwogICAgICAgIC8vIFJGQzEzNDEgcGFydCA1IHNheXMgN2JpdCBpcyBhc3N1bWVkIGlmIG5vdCBzcGVjaWZpZWQKICAgICAgICBpZiAoJGVuY29kaW5nICE9ICc3Yml0JykgewogICAgICAgICAgICAkcmVzdWx0IC49ICR0aGlzLT5oZWFkZXJMaW5lKCdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nJywgJGVuY29kaW5nKTsKICAgICAgICB9CiAgICAgICAgJHJlc3VsdCAuPSAkdGhpcy0+TEU7CgogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBlbmQgb2YgYSBtZXNzYWdlIGJvdW5kYXJ5LgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJvdW5kYXJ5CiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZW5kQm91bmRhcnkoJGJvdW5kYXJ5KQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+TEUgLiAnLS0nIC4gJGJvdW5kYXJ5IC4gJy0tJyAuICR0aGlzLT5MRTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgbWVzc2FnZSB0eXBlLgogICAgICogUEhQTWFpbGVyIG9ubHkgc3VwcG9ydHMgc29tZSBwcmVzZXQgbWVzc2FnZSB0eXBlcywKICAgICAqIG5vdCBhcmJpdHJhcnkgTUlNRSBzdHJ1Y3R1cmVzLgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0TWVzc2FnZVR5cGUoKQogICAgewogICAgICAgICR0eXBlID0gYXJyYXkoKTsKICAgICAgICBpZiAoJHRoaXMtPmFsdGVybmF0aXZlRXhpc3RzKCkpIHsKICAgICAgICAgICAgJHR5cGVbXSA9ICdhbHQnOwogICAgICAgIH0KICAgICAgICBpZiAoJHRoaXMtPmlubGluZUltYWdlRXhpc3RzKCkpIHsKICAgICAgICAgICAgJHR5cGVbXSA9ICdpbmxpbmUnOwogICAgICAgIH0KICAgICAgICBpZiAoJHRoaXMtPmF0dGFjaG1lbnRFeGlzdHMoKSkgewogICAgICAgICAgICAkdHlwZVtdID0gJ2F0dGFjaCc7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5tZXNzYWdlX3R5cGUgPSBpbXBsb2RlKCdfJywgJHR5cGUpOwogICAgICAgIGlmICgkdGhpcy0+bWVzc2FnZV90eXBlID09ICcnKSB7CiAgICAgICAgICAgICR0aGlzLT5tZXNzYWdlX3R5cGUgPSAncGxhaW4nOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEZvcm1hdCBhIGhlYWRlciBsaW5lLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHZhbHVlCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaGVhZGVyTGluZSgkbmFtZSwgJHZhbHVlKQogICAgewogICAgICAgIHJldHVybiAkbmFtZSAuICc6ICcgLiAkdmFsdWUgLiAkdGhpcy0+TEU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBmb3JtYXR0ZWQgbWFpbCBsaW5lLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHZhbHVlCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdGV4dExpbmUoJHZhbHVlKQogICAgewogICAgICAgIHJldHVybiAkdmFsdWUgLiAkdGhpcy0+TEU7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYW4gYXR0YWNobWVudCBmcm9tIGEgcGF0aCBvbiB0aGUgZmlsZXN5c3RlbS4KICAgICAqIFJldHVybnMgZmFsc2UgaWYgdGhlIGZpbGUgY291bGQgbm90IGJlIGZvdW5kIG9yIHJlYWQuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXRoIFBhdGggdG8gdGhlIGF0dGFjaG1lbnQuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE92ZXJyaWRlcyB0aGUgYXR0YWNobWVudCBuYW1lLgogICAgICogQHBhcmFtIHN0cmluZyAkZW5jb2RpbmcgRmlsZSBlbmNvZGluZyAoc2VlICRFbmNvZGluZykuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0eXBlIEZpbGUgZXh0ZW5zaW9uIChNSU1FKSB0eXBlLgogICAgICogQHBhcmFtIHN0cmluZyAkZGlzcG9zaXRpb24gRGlzcG9zaXRpb24gdG8gdXNlCiAgICAgKiBAdGhyb3dzIHBocG1haWxlckV4Y2VwdGlvbgogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRBdHRhY2htZW50KCRwYXRoLCAkbmFtZSA9ICcnLCAkZW5jb2RpbmcgPSAnYmFzZTY0JywgJHR5cGUgPSAnJywgJGRpc3Bvc2l0aW9uID0gJ2F0dGFjaG1lbnQnKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmICghQGlzX2ZpbGUoJHBhdGgpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcGhwbWFpbGVyRXhjZXB0aW9uKCR0aGlzLT5sYW5nKCdmaWxlX2FjY2VzcycpIC4gJHBhdGgsIHNlbGY6OlNUT1BfQ09OVElOVUUpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBJZiBhIE1JTUUgdHlwZSBpcyBub3Qgc3BlY2lmaWVkLCB0cnkgdG8gd29yayBpdCBvdXQgZnJvbSB0aGUgZmlsZSBuYW1lCiAgICAgICAgICAgIGlmICgkdHlwZSA9PSAnJykgewogICAgICAgICAgICAgICAgJHR5cGUgPSBzZWxmOjpmaWxlbmFtZVRvVHlwZSgkcGF0aCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRmaWxlbmFtZSA9IGJhc2VuYW1lKCRwYXRoKTsKICAgICAgICAgICAgaWYgKCRuYW1lID09ICcnKSB7CiAgICAgICAgICAgICAgICAkbmFtZSA9ICRmaWxlbmFtZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHRoaXMtPmF0dGFjaG1lbnRbXSA9IGFycmF5KAogICAgICAgICAgICAgICAgMCA9PiAkcGF0aCwKICAgICAgICAgICAgICAgIDEgPT4gJGZpbGVuYW1lLAogICAgICAgICAgICAgICAgMiA9PiAkbmFtZSwKICAgICAgICAgICAgICAgIDMgPT4gJGVuY29kaW5nLAogICAgICAgICAgICAgICAgNCA9PiAkdHlwZSwKICAgICAgICAgICAgICAgIDUgPT4gZmFsc2UsIC8vIGlzU3RyaW5nQXR0YWNobWVudAogICAgICAgICAgICAgICAgNiA9PiAkZGlzcG9zaXRpb24sCiAgICAgICAgICAgICAgICA3ID0+IDAKICAgICAgICAgICAgKTsKCiAgICAgICAgfSBjYXRjaCAocGhwbWFpbGVyRXhjZXB0aW9uICRleGMpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCRleGMtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgICAgICR0aGlzLT5lZGVidWcoJGV4Yy0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICAgICAgaWYgKCR0aGlzLT5leGNlcHRpb25zKSB7CiAgICAgICAgICAgICAgICB0aHJvdyAkZXhjOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGFycmF5IG9mIGF0dGFjaG1lbnRzLgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QXR0YWNobWVudHMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+YXR0YWNobWVudDsKICAgIH0KCiAgICAvKioKICAgICAqIEF0dGFjaCBhbGwgZmlsZSwgc3RyaW5nLCBhbmQgYmluYXJ5IGF0dGFjaG1lbnRzIHRvIHRoZSBtZXNzYWdlLgogICAgICogUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgb24gZmFpbHVyZS4KICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkaXNwb3NpdGlvbl90eXBlCiAgICAgKiBAcGFyYW0gc3RyaW5nICRib3VuZGFyeQogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGF0dGFjaEFsbCgkZGlzcG9zaXRpb25fdHlwZSwgJGJvdW5kYXJ5KQogICAgewogICAgICAgIC8vIFJldHVybiB0ZXh0IG9mIGJvZHkKICAgICAgICAkbWltZSA9IGFycmF5KCk7CiAgICAgICAgJGNpZFVuaXEgPSBhcnJheSgpOwogICAgICAgICRpbmNsID0gYXJyYXkoKTsKCiAgICAgICAgLy8gQWRkIGFsbCBhdHRhY2htZW50cwogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5hdHRhY2htZW50IGFzICRhdHRhY2htZW50KSB7CiAgICAgICAgICAgIC8vIENoZWNrIGlmIGl0IGlzIGEgdmFsaWQgZGlzcG9zaXRpb25fZmlsdGVyCiAgICAgICAgICAgIGlmICgkYXR0YWNobWVudFs2XSA9PSAkZGlzcG9zaXRpb25fdHlwZSkgewogICAgICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIHN0cmluZyBhdHRhY2htZW50CiAgICAgICAgICAgICAgICAkc3RyaW5nID0gJyc7CiAgICAgICAgICAgICAgICAkcGF0aCA9ICcnOwogICAgICAgICAgICAgICAgJGJTdHJpbmcgPSAkYXR0YWNobWVudFs1XTsKICAgICAgICAgICAgICAgIGlmICgkYlN0cmluZykgewogICAgICAgICAgICAgICAgICAgICRzdHJpbmcgPSAkYXR0YWNobWVudFswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJHBhdGggPSAkYXR0YWNobWVudFswXTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkaW5jbGhhc2ggPSBtZDUoc2VyaWFsaXplKCRhdHRhY2htZW50KSk7CiAgICAgICAgICAgICAgICBpZiAoaW5fYXJyYXkoJGluY2xoYXNoLCAkaW5jbCkpIHsKICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRpbmNsW10gPSAkaW5jbGhhc2g7CiAgICAgICAgICAgICAgICAkbmFtZSA9ICRhdHRhY2htZW50WzJdOwogICAgICAgICAgICAgICAgJGVuY29kaW5nID0gJGF0dGFjaG1lbnRbM107CiAgICAgICAgICAgICAgICAkdHlwZSA9ICRhdHRhY2htZW50WzRdOwogICAgICAgICAgICAgICAgJGRpc3Bvc2l0aW9uID0gJGF0dGFjaG1lbnRbNl07CiAgICAgICAgICAgICAgICAkY2lkID0gJGF0dGFjaG1lbnRbN107CiAgICAgICAgICAgICAgICBpZiAoJGRpc3Bvc2l0aW9uID09ICdpbmxpbmUnICYmIGFycmF5X2tleV9leGlzdHMoJGNpZCwgJGNpZFVuaXEpKSB7CiAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkY2lkVW5pcVskY2lkXSA9IHRydWU7CgogICAgICAgICAgICAgICAgJG1pbWVbXSA9IHNwcmludGYoJy0tJXMlcycsICRib3VuZGFyeSwgJHRoaXMtPkxFKTsKICAgICAgICAgICAgICAgIC8vT25seSBpbmNsdWRlIGEgZmlsZW5hbWUgcHJvcGVydHkgaWYgd2UgaGF2ZSBvbmUKICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJG5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgJG1pbWVbXSA9IHNwcmludGYoCiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGU6ICVzOyBuYW1lPSIlcyIlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZW5jb2RlSGVhZGVyKCR0aGlzLT5zZWN1cmVIZWFkZXIoJG5hbWUpKSwKICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxFCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJG1pbWVbXSA9IHNwcmludGYoCiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGU6ICVzJXMnLAogICAgICAgICAgICAgICAgICAgICAgICAkdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxFCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIFJGQzEzNDEgcGFydCA1IHNheXMgN2JpdCBpcyBhc3N1bWVkIGlmIG5vdCBzcGVjaWZpZWQKICAgICAgICAgICAgICAgIGlmICgkZW5jb2RpbmcgIT0gJzdiaXQnKSB7CiAgICAgICAgICAgICAgICAgICAgJG1pbWVbXSA9IHNwcmludGYoJ0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6ICVzJXMnLCAkZW5jb2RpbmcsICR0aGlzLT5MRSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCRkaXNwb3NpdGlvbiA9PSAnaW5saW5lJykgewogICAgICAgICAgICAgICAgICAgICRtaW1lW10gPSBzcHJpbnRmKCdDb250ZW50LUlEOiA8JXM+JXMnLCAkY2lkLCAkdGhpcy0+TEUpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIGEgZmlsZW5hbWUgY29udGFpbnMgYW55IG9mIHRoZXNlIGNoYXJzLCBpdCBzaG91bGQgYmUgcXVvdGVkLAogICAgICAgICAgICAgICAgLy8gYnV0IG5vdCBvdGhlcndpc2U6IFJGQzIxODMgJiBSRkMyMDQ1IDUuMQogICAgICAgICAgICAgICAgLy8gRml4ZXMgYSB3YXJuaW5nIGluIElFVEYncyBtc2dsaW50IE1JTUUgY2hlY2tlcgogICAgICAgICAgICAgICAgLy8gQWxsb3cgZm9yIGJ5cGFzc2luZyB0aGUgQ29udGVudC1EaXNwb3NpdGlvbiBoZWFkZXIgdG90YWxseQogICAgICAgICAgICAgICAgaWYgKCEoZW1wdHkoJGRpc3Bvc2l0aW9uKSkpIHsKICAgICAgICAgICAgICAgICAgICAkZW5jb2RlZF9uYW1lID0gJHRoaXMtPmVuY29kZUhlYWRlcigkdGhpcy0+c2VjdXJlSGVhZGVyKCRuYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9bIFwoXCk8PkAsOzpcXCJcL1xbXF1cPz1dLycsICRlbmNvZGVkX25hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRtaW1lW10gPSBzcHJpbnRmKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtRGlzcG9zaXRpb246ICVzOyBmaWxlbmFtZT0iJXMiJXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3Bvc2l0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGVuY29kZWRfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MRSAuICR0aGlzLT5MRQogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJGVuY29kZWRfbmFtZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtaW1lW10gPSBzcHJpbnRmKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LURpc3Bvc2l0aW9uOiAlczsgZmlsZW5hbWU9JXMlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3Bvc2l0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRlbmNvZGVkX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxFIC4gJHRoaXMtPkxFCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1pbWVbXSA9IHNwcmludGYoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtRGlzcG9zaXRpb246ICVzJXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwb3NpdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TEUgLiAkdGhpcy0+TEUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRtaW1lW10gPSAkdGhpcy0+TEU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gRW5jb2RlIGFzIHN0cmluZyBhdHRhY2htZW50CiAgICAgICAgICAgICAgICBpZiAoJGJTdHJpbmcpIHsKICAgICAgICAgICAgICAgICAgICAkbWltZVtdID0gJHRoaXMtPmVuY29kZVN0cmluZygkc3RyaW5nLCAkZW5jb2RpbmcpOwogICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+aXNFcnJvcigpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgJG1pbWVbXSA9ICR0aGlzLT5MRSAuICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJG1pbWVbXSA9ICR0aGlzLT5lbmNvZGVGaWxlKCRwYXRoLCAkZW5jb2RpbmcpOwogICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+aXNFcnJvcigpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgJG1pbWVbXSA9ICR0aGlzLT5MRSAuICR0aGlzLT5MRTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJG1pbWVbXSA9IHNwcmludGYoJy0tJXMtLSVzJywgJGJvdW5kYXJ5LCAkdGhpcy0+TEUpOwoKICAgICAgICByZXR1cm4gaW1wbG9kZSgnJywgJG1pbWUpOwogICAgfQoKICAgIC8qKgogICAgICogRW5jb2RlIGEgZmlsZSBhdHRhY2htZW50IGluIHJlcXVlc3RlZCBmb3JtYXQuCiAgICAgKiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBvbiBmYWlsdXJlLgogICAgICogQHBhcmFtIHN0cmluZyAkcGF0aCBUaGUgZnVsbCBwYXRoIHRvIHRoZSBmaWxlCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmNvZGluZyBUaGUgZW5jb2RpbmcgdG8gdXNlOyBvbmUgb2YgJ2Jhc2U2NCcsICc3Yml0JywgJzhiaXQnLCAnYmluYXJ5JywgJ3F1b3RlZC1wcmludGFibGUnCiAgICAgKiBAdGhyb3dzIHBocG1haWxlckV4Y2VwdGlvbgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBlbmNvZGVGaWxlKCRwYXRoLCAkZW5jb2RpbmcgPSAnYmFzZTY0JykKICAgIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBpZiAoIWlzX3JlYWRhYmxlKCRwYXRoKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IHBocG1haWxlckV4Y2VwdGlvbigkdGhpcy0+bGFuZygnZmlsZV9vcGVuJykgLiAkcGF0aCwgc2VsZjo6U1RPUF9DT05USU5VRSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJG1hZ2ljX3F1b3RlcyA9IGdldF9tYWdpY19xdW90ZXNfcnVudGltZSgpOwogICAgICAgICAgICBpZiAoJG1hZ2ljX3F1b3RlcykgewogICAgICAgICAgICAgICAgaWYgKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwgJzUuMy4wJywgJzwnKSkgewogICAgICAgICAgICAgICAgICAgIHNldF9tYWdpY19xdW90ZXNfcnVudGltZShmYWxzZSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vRG9lc24ndCBleGlzdCBpbiBQSFAgNS40LCBidXQgd2UgZG9uJ3QgbmVlZCB0byBjaGVjayBiZWNhdXNlCiAgICAgICAgICAgICAgICAgICAgLy9nZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUgYWx3YXlzIHJldHVybnMgZmFsc2UgaW4gNS40KwogICAgICAgICAgICAgICAgICAgIC8vc28gaXQgd2lsbCBuZXZlciBnZXQgaGVyZQogICAgICAgICAgICAgICAgICAgIGluaV9zZXQoJ21hZ2ljX3F1b3Rlc19ydW50aW1lJywgZmFsc2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgICRmaWxlX2J1ZmZlciA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRoKTsKICAgICAgICAgICAgJGZpbGVfYnVmZmVyID0gJHRoaXMtPmVuY29kZVN0cmluZygkZmlsZV9idWZmZXIsICRlbmNvZGluZyk7CiAgICAgICAgICAgIGlmICgkbWFnaWNfcXVvdGVzKSB7CiAgICAgICAgICAgICAgICBpZiAodmVyc2lvbl9jb21wYXJlKFBIUF9WRVJTSU9OLCAnNS4zLjAnLCAnPCcpKSB7CiAgICAgICAgICAgICAgICAgICAgc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKCRtYWdpY19xdW90ZXMpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpbmlfc2V0KCdtYWdpY19xdW90ZXNfcnVudGltZScsICRtYWdpY19xdW90ZXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkZmlsZV9idWZmZXI7CiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRleGMpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCRleGMtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBFbmNvZGUgYSBzdHJpbmcgaW4gcmVxdWVzdGVkIGZvcm1hdC4KICAgICAqIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIG9uIGZhaWx1cmUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdHIgVGhlIHRleHQgdG8gZW5jb2RlCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmNvZGluZyBUaGUgZW5jb2RpbmcgdG8gdXNlOyBvbmUgb2YgJ2Jhc2U2NCcsICc3Yml0JywgJzhiaXQnLCAnYmluYXJ5JywgJ3F1b3RlZC1wcmludGFibGUnCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGVuY29kZVN0cmluZygkc3RyLCAkZW5jb2RpbmcgPSAnYmFzZTY0JykKICAgIHsKICAgICAgICAkZW5jb2RlZCA9ICcnOwogICAgICAgIHN3aXRjaCAoc3RydG9sb3dlcigkZW5jb2RpbmcpKSB7CiAgICAgICAgICAgIGNhc2UgJ2Jhc2U2NCc6CiAgICAgICAgICAgICAgICAkZW5jb2RlZCA9IGNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZGUoJHN0ciksIDc2LCAkdGhpcy0+TEUpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJzdiaXQnOgogICAgICAgICAgICBjYXNlICc4Yml0JzoKICAgICAgICAgICAgICAgICRlbmNvZGVkID0gJHRoaXMtPmZpeEVPTCgkc3RyKTsKICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBpdCBlbmRzIHdpdGggYSBsaW5lIGJyZWFrCiAgICAgICAgICAgICAgICBpZiAoc3Vic3RyKCRlbmNvZGVkLCAtKHN0cmxlbigkdGhpcy0+TEUpKSkgIT0gJHRoaXMtPkxFKSB7CiAgICAgICAgICAgICAgICAgICAgJGVuY29kZWQgLj0gJHRoaXMtPkxFOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2JpbmFyeSc6CiAgICAgICAgICAgICAgICAkZW5jb2RlZCA9ICRzdHI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAncXVvdGVkLXByaW50YWJsZSc6CiAgICAgICAgICAgICAgICAkZW5jb2RlZCA9ICR0aGlzLT5lbmNvZGVRUCgkc3RyKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCR0aGlzLT5sYW5nKCdlbmNvZGluZycpIC4gJGVuY29kaW5nKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGVuY29kZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBFbmNvZGUgYSBoZWFkZXIgc3RyaW5nIG9wdGltYWxseS4KICAgICAqIFBpY2tzIHNob3J0ZXN0IG9mIFEsIEIsIHF1b3RlZC1wcmludGFibGUgb3Igbm9uZS4KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdHIKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZW5jb2RlSGVhZGVyKCRzdHIsICRwb3NpdGlvbiA9ICd0ZXh0JykKICAgIHsKICAgICAgICAkbWF0Y2hjb3VudCA9IDA7CiAgICAgICAgc3dpdGNoIChzdHJ0b2xvd2VyKCRwb3NpdGlvbikpIHsKICAgICAgICAgICAgY2FzZSAncGhyYXNlJzoKICAgICAgICAgICAgICAgIGlmICghcHJlZ19tYXRjaCgnL1tcMjAwLVwzNzddLycsICRzdHIpKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gQ2FuJ3QgdXNlIGFkZHNsYXNoZXMgYXMgd2UgZG9uJ3Qga25vdyB0aGUgdmFsdWUgb2YgbWFnaWNfcXVvdGVzX3N5YmFzZQogICAgICAgICAgICAgICAgICAgICRlbmNvZGVkID0gYWRkY3NsYXNoZXMoJHN0ciwgIlwwLi5cMzdcMTc3XFxcIiIpOwogICAgICAgICAgICAgICAgICAgIGlmICgoJHN0ciA9PSAkZW5jb2RlZCkgJiYgIXByZWdfbWF0Y2goJy9bXkEtWmEtejAtOSEjJCUmXCcqK1wvPT9eX2B7fH1+IC1dLycsICRzdHIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoJGVuY29kZWQpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoIlwiJGVuY29kZWRcIiIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRtYXRjaGNvdW50ID0gcHJlZ19tYXRjaF9hbGwoJy9bXlwwNDBcMDQxXDA0My1cMTMzXDEzNS1cMTc2XS8nLCAkc3RyLCAkbWF0Y2hlcyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgLyoqIEBub2luc3BlY3Rpb24gUGhwTWlzc2luZ0JyZWFrU3RhdGVtZW50SW5zcGVjdGlvbiAqLwogICAgICAgICAgICBjYXNlICdjb21tZW50JzoKICAgICAgICAgICAgICAgICRtYXRjaGNvdW50ID0gcHJlZ19tYXRjaF9hbGwoJy9bKCkiXS8nLCAkc3RyLCAkbWF0Y2hlcyk7CiAgICAgICAgICAgICAgICAvLyBJbnRlbnRpb25hbCBmYWxsLXRocm91Z2gKICAgICAgICAgICAgY2FzZSAndGV4dCc6CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAkbWF0Y2hjb3VudCArPSBwcmVnX21hdGNoX2FsbCgnL1tcMDAwLVwwMTBcMDEzXDAxNFwwMTYtXDAzN1wxNzctXDM3N10vJywgJHN0ciwgJG1hdGNoZXMpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICAvL1RoZXJlIGFyZSBubyBjaGFycyB0aGF0IG5lZWQgZW5jb2RpbmcKICAgICAgICBpZiAoJG1hdGNoY291bnQgPT0gMCkgewogICAgICAgICAgICByZXR1cm4gKCRzdHIpOwogICAgICAgIH0KCiAgICAgICAgJG1heGxlbiA9IDc1IC0gNyAtIHN0cmxlbigkdGhpcy0+Q2hhclNldCk7CiAgICAgICAgLy8gVHJ5IHRvIHNlbGVjdCB0aGUgZW5jb2Rpbmcgd2hpY2ggc2hvdWxkIHByb2R1Y2UgdGhlIHNob3J0ZXN0IG91dHB1dAogICAgICAgIGlmICgkbWF0Y2hjb3VudCA+IHN0cmxlbigkc3RyKSAvIDMpIHsKICAgICAgICAgICAgLy8gTW9yZSB0aGFuIGEgdGhpcmQgb2YgdGhlIGNvbnRlbnQgd2lsbCBuZWVkIGVuY29kaW5nLCBzbyBCIGVuY29kaW5nIHdpbGwgYmUgbW9zdCBlZmZpY2llbnQKICAgICAgICAgICAgJGVuY29kaW5nID0gJ0InOwogICAgICAgICAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdtYl9zdHJsZW4nKSAmJiAkdGhpcy0+aGFzTXVsdGlCeXRlcygkc3RyKSkgewogICAgICAgICAgICAgICAgLy8gVXNlIGEgY3VzdG9tIGZ1bmN0aW9uIHdoaWNoIGNvcnJlY3RseSBlbmNvZGVzIGFuZCB3cmFwcyBsb25nCiAgICAgICAgICAgICAgICAvLyBtdWx0aWJ5dGUgc3RyaW5ncyB3aXRob3V0IGJyZWFraW5nIGxpbmVzIHdpdGhpbiBhIGNoYXJhY3RlcgogICAgICAgICAgICAgICAgJGVuY29kZWQgPSAkdGhpcy0+YmFzZTY0RW5jb2RlV3JhcE1CKCRzdHIsICJcbiIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGVuY29kZWQgPSBiYXNlNjRfZW5jb2RlKCRzdHIpOwogICAgICAgICAgICAgICAgJG1heGxlbiAtPSAkbWF4bGVuICUgNDsKICAgICAgICAgICAgICAgICRlbmNvZGVkID0gdHJpbShjaHVua19zcGxpdCgkZW5jb2RlZCwgJG1heGxlbiwgIlxuIikpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGVuY29kaW5nID0gJ1EnOwogICAgICAgICAgICAkZW5jb2RlZCA9ICR0aGlzLT5lbmNvZGVRKCRzdHIsICRwb3NpdGlvbik7CiAgICAgICAgICAgICRlbmNvZGVkID0gJHRoaXMtPndyYXBUZXh0KCRlbmNvZGVkLCAkbWF4bGVuLCB0cnVlKTsKICAgICAgICAgICAgJGVuY29kZWQgPSBzdHJfcmVwbGFjZSgnPScgLiBzZWxmOjpDUkxGLCAiXG4iLCB0cmltKCRlbmNvZGVkKSk7CiAgICAgICAgfQoKICAgICAgICAkZW5jb2RlZCA9IHByZWdfcmVwbGFjZSgnL14oLiopJC9tJywgJyA9PycgLiAkdGhpcy0+Q2hhclNldCAuICI/JGVuY29kaW5nP1xcMT89IiwgJGVuY29kZWQpOwogICAgICAgICRlbmNvZGVkID0gdHJpbShzdHJfcmVwbGFjZSgiXG4iLCAkdGhpcy0+TEUsICRlbmNvZGVkKSk7CgogICAgICAgIHJldHVybiAkZW5jb2RlZDsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIGEgc3RyaW5nIGNvbnRhaW5zIG11bHRpLWJ5dGUgY2hhcmFjdGVycy4KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdHIgbXVsdGktYnl0ZSB0ZXh0IHRvIHdyYXAgZW5jb2RlCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGhhc011bHRpQnl0ZXMoJHN0cikKICAgIHsKICAgICAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdtYl9zdHJsZW4nKSkgewogICAgICAgICAgICByZXR1cm4gKHN0cmxlbigkc3RyKSA+IG1iX3N0cmxlbigkc3RyLCAkdGhpcy0+Q2hhclNldCkpOwogICAgICAgIH0gZWxzZSB7IC8vIEFzc3VtZSBubyBtdWx0aWJ5dGVzICh3ZSBjYW4ndCBoYW5kbGUgd2l0aG91dCBtYnN0cmluZyBmdW5jdGlvbnMgYW55d2F5KQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRG9lcyBhIHN0cmluZyBjb250YWluIGFueSA4LWJpdCBjaGFycyAoaW4gYW55IGNoYXJzZXQpPwogICAgICogQHBhcmFtIHN0cmluZyAkdGV4dAogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXM4Yml0Q2hhcnMoJHRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIChib29sZWFuKXByZWdfbWF0Y2goJy9bXHg4MC1ceEZGXS8nLCAkdGV4dCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBFbmNvZGUgYW5kIHdyYXAgbG9uZyBtdWx0aWJ5dGUgc3RyaW5ncyBmb3IgbWFpbCBoZWFkZXJzCiAgICAgKiB3aXRob3V0IGJyZWFraW5nIGxpbmVzIHdpdGhpbiBhIGNoYXJhY3Rlci4KICAgICAqIEFkYXB0ZWQgZnJvbSBhIGZ1bmN0aW9uIGJ5IHBhcmF2b2lkCiAgICAgKiBAbGluayBodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLm1iLWVuY29kZS1taW1laGVhZGVyLnBocCM2MDI4MwogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0ciBtdWx0aS1ieXRlIHRleHQgdG8gd3JhcCBlbmNvZGUKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmVicmVhayBzdHJpbmcgdG8gdXNlIGFzIGxpbmVmZWVkL2VuZC1vZi1saW5lCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYmFzZTY0RW5jb2RlV3JhcE1CKCRzdHIsICRsaW5lYnJlYWsgPSBudWxsKQogICAgewogICAgICAgICRzdGFydCA9ICc9PycgLiAkdGhpcy0+Q2hhclNldCAuICc/Qj8nOwogICAgICAgICRlbmQgPSAnPz0nOwogICAgICAgICRlbmNvZGVkID0gJyc7CiAgICAgICAgaWYgKCRsaW5lYnJlYWsgPT09IG51bGwpIHsKICAgICAgICAgICAgJGxpbmVicmVhayA9ICR0aGlzLT5MRTsKICAgICAgICB9CgogICAgICAgICRtYl9sZW5ndGggPSBtYl9zdHJsZW4oJHN0ciwgJHRoaXMtPkNoYXJTZXQpOwogICAgICAgIC8vIEVhY2ggbGluZSBtdXN0IGhhdmUgbGVuZ3RoIDw9IDc1LCBpbmNsdWRpbmcgJHN0YXJ0IGFuZCAkZW5kCiAgICAgICAgJGxlbmd0aCA9IDc1IC0gc3RybGVuKCRzdGFydCkgLSBzdHJsZW4oJGVuZCk7CiAgICAgICAgLy8gQXZlcmFnZSBtdWx0aS1ieXRlIHJhdGlvCiAgICAgICAgJHJhdGlvID0gJG1iX2xlbmd0aCAvIHN0cmxlbigkc3RyKTsKICAgICAgICAvLyBCYXNlNjQgaGFzIGEgNDozIHJhdGlvCiAgICAgICAgJGF2Z0xlbmd0aCA9IGZsb29yKCRsZW5ndGggKiAkcmF0aW8gKiAuNzUpOwoKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCAkbWJfbGVuZ3RoOyAkaSArPSAkb2Zmc2V0KSB7CiAgICAgICAgICAgICRsb29rQmFjayA9IDA7CiAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICRvZmZzZXQgPSAkYXZnTGVuZ3RoIC0gJGxvb2tCYWNrOwogICAgICAgICAgICAgICAgJGNodW5rID0gbWJfc3Vic3RyKCRzdHIsICRpLCAkb2Zmc2V0LCAkdGhpcy0+Q2hhclNldCk7CiAgICAgICAgICAgICAgICAkY2h1bmsgPSBiYXNlNjRfZW5jb2RlKCRjaHVuayk7CiAgICAgICAgICAgICAgICAkbG9va0JhY2srKzsKICAgICAgICAgICAgfSB3aGlsZSAoc3RybGVuKCRjaHVuaykgPiAkbGVuZ3RoKTsKICAgICAgICAgICAgJGVuY29kZWQgLj0gJGNodW5rIC4gJGxpbmVicmVhazsKICAgICAgICB9CgogICAgICAgIC8vIENob21wIHRoZSBsYXN0IGxpbmVmZWVkCiAgICAgICAgJGVuY29kZWQgPSBzdWJzdHIoJGVuY29kZWQsIDAsIC1zdHJsZW4oJGxpbmVicmVhaykpOwogICAgICAgIHJldHVybiAkZW5jb2RlZDsKICAgIH0KCiAgICAvKioKICAgICAqIEVuY29kZSBhIHN0cmluZyBpbiBxdW90ZWQtcHJpbnRhYmxlIGZvcm1hdC4KICAgICAqIEFjY29yZGluZyB0byBSRkMyMDQ1IHNlY3Rpb24gNi43LgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0cmluZyBUaGUgdGV4dCB0byBlbmNvZGUKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsaW5lX21heCBOdW1iZXIgb2YgY2hhcnMgYWxsb3dlZCBvbiBhIGxpbmUgYmVmb3JlIHdyYXBwaW5nCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICogQGxpbmsgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5xdW90ZWQtcHJpbnRhYmxlLWRlY29kZS5waHAjODk0MTcgQWRhcHRlZCBmcm9tIHRoaXMgY29tbWVudAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZW5jb2RlUVAoJHN0cmluZywgJGxpbmVfbWF4ID0gNzYpCiAgICB7CiAgICAgICAgLy8gVXNlIG5hdGl2ZSBmdW5jdGlvbiBpZiBpdCdzIGF2YWlsYWJsZSAoPj0gUEhQNS4zKQogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ3F1b3RlZF9wcmludGFibGVfZW5jb2RlJykpIHsKICAgICAgICAgICAgcmV0dXJuIHF1b3RlZF9wcmludGFibGVfZW5jb2RlKCRzdHJpbmcpOwogICAgICAgIH0KICAgICAgICAvLyBGYWxsIGJhY2sgdG8gYSBwdXJlIFBIUCBpbXBsZW1lbnRhdGlvbgogICAgICAgICRzdHJpbmcgPSBzdHJfcmVwbGFjZSgKICAgICAgICAgICAgYXJyYXkoJyUyMCcsICclMEQlMEEuJywgJyUwRCUwQScsICclJyksCiAgICAgICAgICAgIGFycmF5KCcgJywgIlxyXG49MkUiLCAiXHJcbiIsICc9JyksCiAgICAgICAgICAgIHJhd3VybGVuY29kZSgkc3RyaW5nKQogICAgICAgICk7CiAgICAgICAgcmV0dXJuIHByZWdfcmVwbGFjZSgnL1teXHJcbl17JyAuICgkbGluZV9tYXggLSAzKSAuICd9W149XHJcbl17Mn0vJywgIiQwPVxyXG4iLCAkc3RyaW5nKTsKICAgIH0KCiAgICAvKioKICAgICAqIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd3JhcHBlciBmb3IgYW4gb2xkIFFQIGVuY29kaW5nIGZ1bmN0aW9uIHRoYXQgd2FzIHJlbW92ZWQuCiAgICAgKiBAc2VlIFBIUE1haWxlcjo6ZW5jb2RlUVAoKQogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0cmluZwogICAgICogQHBhcmFtIGludGVnZXIgJGxpbmVfbWF4CiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkc3BhY2VfY29udgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqIEBkZXByZWNhdGVkIFVzZSBlbmNvZGVRUCBpbnN0ZWFkLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZW5jb2RlUVBwaHAoCiAgICAgICAgJHN0cmluZywKICAgICAgICAkbGluZV9tYXggPSA3NiwKICAgICAgICAvKiogQG5vaW5zcGVjdGlvbiBQaHBVbnVzZWRQYXJhbWV0ZXJJbnNwZWN0aW9uICovICRzcGFjZV9jb252ID0gZmFsc2UKICAgICkgewogICAgICAgIHJldHVybiAkdGhpcy0+ZW5jb2RlUVAoJHN0cmluZywgJGxpbmVfbWF4KTsKICAgIH0KCiAgICAvKioKICAgICAqIEVuY29kZSBhIHN0cmluZyB1c2luZyBRIGVuY29kaW5nLgogICAgICogQGxpbmsgaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjA0NwogICAgICogQHBhcmFtIHN0cmluZyAkc3RyIHRoZSB0ZXh0IHRvIGVuY29kZQogICAgICogQHBhcmFtIHN0cmluZyAkcG9zaXRpb24gV2hlcmUgdGhlIHRleHQgaXMgZ29pbmcgdG8gYmUgdXNlZCwgc2VlIHRoZSBSRkMgZm9yIHdoYXQgdGhhdCBtZWFucwogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBlbmNvZGVRKCRzdHIsICRwb3NpdGlvbiA9ICd0ZXh0JykKICAgIHsKICAgICAgICAvLyBUaGVyZSBzaG91bGQgbm90IGJlIGFueSBFT0wgaW4gdGhlIHN0cmluZwogICAgICAgICRwYXR0ZXJuID0gJyc7CiAgICAgICAgJGVuY29kZWQgPSBzdHJfcmVwbGFjZShhcnJheSgiXHIiLCAiXG4iKSwgJycsICRzdHIpOwogICAgICAgIHN3aXRjaCAoc3RydG9sb3dlcigkcG9zaXRpb24pKSB7CiAgICAgICAgICAgIGNhc2UgJ3BocmFzZSc6CiAgICAgICAgICAgICAgICAvLyBSRkMgMjA0NyBzZWN0aW9uIDUuMwogICAgICAgICAgICAgICAgJHBhdHRlcm4gPSAnXkEtWmEtejAtOSEqK1wvIC0nOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIC8qKiBAbm9pbnNwZWN0aW9uIFBocE1pc3NpbmdCcmVha1N0YXRlbWVudEluc3BlY3Rpb24gKi8KICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6CiAgICAgICAgICAgICAgICAvLyBSRkMgMjA0NyBzZWN0aW9uIDUuMgogICAgICAgICAgICAgICAgJHBhdHRlcm4gPSAnXChcKSInOwogICAgICAgICAgICAgICAgLy8gaW50ZW50aW9uYWwgZmFsbC10aHJvdWdoCiAgICAgICAgICAgICAgICAvLyBmb3IgdGhpcyByZWFzb24gd2UgYnVpbGQgdGhlICRwYXR0ZXJuIHdpdGhvdXQgaW5jbHVkaW5nIGRlbGltaXRlcnMgYW5kIFtdCiAgICAgICAgICAgIGNhc2UgJ3RleHQnOgogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgLy8gUkZDIDIwNDcgc2VjdGlvbiA1LjEKICAgICAgICAgICAgICAgIC8vIFJlcGxhY2UgZXZlcnkgaGlnaCBhc2NpaSwgY29udHJvbCwgPSwgPyBhbmQgXyBjaGFyYWN0ZXJzCiAgICAgICAgICAgICAgICAkcGF0dGVybiA9ICdcMDAwLVwwMTFcMDEzXDAxNFwwMTYtXDAzN1wwNzVcMDc3XDEzN1wxNzctXDM3NycgLiAkcGF0dGVybjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICAkbWF0Y2hlcyA9IGFycmF5KCk7CiAgICAgICAgaWYgKHByZWdfbWF0Y2hfYWxsKCIvW3skcGF0dGVybn1dLyIsICRlbmNvZGVkLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgLy8gSWYgdGhlIHN0cmluZyBjb250YWlucyBhbiAnPScsIG1ha2Ugc3VyZSBpdCdzIHRoZSBmaXJzdCB0aGluZyB3ZSByZXBsYWNlCiAgICAgICAgICAgIC8vIHNvIGFzIHRvIGF2b2lkIGRvdWJsZS1lbmNvZGluZwogICAgICAgICAgICAkZXFrZXkgPSBhcnJheV9zZWFyY2goJz0nLCAkbWF0Y2hlc1swXSk7CiAgICAgICAgICAgIGlmIChmYWxzZSAhPT0gJGVxa2V5KSB7CiAgICAgICAgICAgICAgICB1bnNldCgkbWF0Y2hlc1swXVskZXFrZXldKTsKICAgICAgICAgICAgICAgIGFycmF5X3Vuc2hpZnQoJG1hdGNoZXNbMF0sICc9Jyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yZWFjaCAoYXJyYXlfdW5pcXVlKCRtYXRjaGVzWzBdKSBhcyAkY2hhcikgewogICAgICAgICAgICAgICAgJGVuY29kZWQgPSBzdHJfcmVwbGFjZSgkY2hhciwgJz0nIC4gc3ByaW50ZignJTAyWCcsIG9yZCgkY2hhcikpLCAkZW5jb2RlZCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gUmVwbGFjZSBldmVyeSBzcGFjZXMgdG8gXyAobW9yZSByZWFkYWJsZSB0aGFuID0yMCkKICAgICAgICByZXR1cm4gc3RyX3JlcGxhY2UoJyAnLCAnXycsICRlbmNvZGVkKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIHN0cmluZyBvciBiaW5hcnkgYXR0YWNobWVudCAobm9uLWZpbGVzeXN0ZW0pLgogICAgICogVGhpcyBtZXRob2QgY2FuIGJlIHVzZWQgdG8gYXR0YWNoIGFzY2lpIG9yIGJpbmFyeSBkYXRhLAogICAgICogc3VjaCBhcyBhIEJMT0IgcmVjb3JkIGZyb20gYSBkYXRhYmFzZS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0cmluZyBTdHJpbmcgYXR0YWNobWVudCBkYXRhLgogICAgICogQHBhcmFtIHN0cmluZyAkZmlsZW5hbWUgTmFtZSBvZiB0aGUgYXR0YWNobWVudC4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGVuY29kaW5nIEZpbGUgZW5jb2RpbmcgKHNlZSAkRW5jb2RpbmcpLgogICAgICogQHBhcmFtIHN0cmluZyAkdHlwZSBGaWxlIGV4dGVuc2lvbiAoTUlNRSkgdHlwZS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGRpc3Bvc2l0aW9uIERpc3Bvc2l0aW9uIHRvIHVzZQogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRTdHJpbmdBdHRhY2htZW50KAogICAgICAgICRzdHJpbmcsCiAgICAgICAgJGZpbGVuYW1lLAogICAgICAgICRlbmNvZGluZyA9ICdiYXNlNjQnLAogICAgICAgICR0eXBlID0gJycsCiAgICAgICAgJGRpc3Bvc2l0aW9uID0gJ2F0dGFjaG1lbnQnCiAgICApIHsKICAgICAgICAvLyBJZiBhIE1JTUUgdHlwZSBpcyBub3Qgc3BlY2lmaWVkLCB0cnkgdG8gd29yayBpdCBvdXQgZnJvbSB0aGUgZmlsZSBuYW1lCiAgICAgICAgaWYgKCR0eXBlID09ICcnKSB7CiAgICAgICAgICAgICR0eXBlID0gc2VsZjo6ZmlsZW5hbWVUb1R5cGUoJGZpbGVuYW1lKTsKICAgICAgICB9CiAgICAgICAgLy8gQXBwZW5kIHRvICRhdHRhY2htZW50IGFycmF5CiAgICAgICAgJHRoaXMtPmF0dGFjaG1lbnRbXSA9IGFycmF5KAogICAgICAgICAgICAwID0+ICRzdHJpbmcsCiAgICAgICAgICAgIDEgPT4gJGZpbGVuYW1lLAogICAgICAgICAgICAyID0+IGJhc2VuYW1lKCRmaWxlbmFtZSksCiAgICAgICAgICAgIDMgPT4gJGVuY29kaW5nLAogICAgICAgICAgICA0ID0+ICR0eXBlLAogICAgICAgICAgICA1ID0+IHRydWUsIC8vIGlzU3RyaW5nQXR0YWNobWVudAogICAgICAgICAgICA2ID0+ICRkaXNwb3NpdGlvbiwKICAgICAgICAgICAgNyA9PiAwCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhbiBlbWJlZGRlZCAoaW5saW5lKSBhdHRhY2htZW50IGZyb20gYSBmaWxlLgogICAgICogVGhpcyBjYW4gaW5jbHVkZSBpbWFnZXMsIHNvdW5kcywgYW5kIGp1c3QgYWJvdXQgYW55IG90aGVyIGRvY3VtZW50IHR5cGUuCiAgICAgKiBUaGVzZSBkaWZmZXIgZnJvbSAncmVndWxhcicgYXR0YWNobWVudHMgaW4gdGhhdCB0aGV5IGFyZSBpbnRlbmRlZCB0byBiZQogICAgICogZGlzcGxheWVkIGlubGluZSB3aXRoIHRoZSBtZXNzYWdlLCBub3QganVzdCBhdHRhY2hlZCBmb3IgZG93bmxvYWQuCiAgICAgKiBUaGlzIGlzIHVzZWQgaW4gSFRNTCBtZXNzYWdlcyB0aGF0IGVtYmVkIHRoZSBpbWFnZXMKICAgICAqIHRoZSBIVE1MIHJlZmVycyB0byB1c2luZyB0aGUgJGNpZCB2YWx1ZS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhdGggUGF0aCB0byB0aGUgYXR0YWNobWVudC4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGNpZCBDb250ZW50IElEIG9mIHRoZSBhdHRhY2htZW50OyBVc2UgdGhpcyB0byByZWZlcmVuY2UKICAgICAqICAgICAgICB0aGUgY29udGVudCB3aGVuIHVzaW5nIGFuIGVtYmVkZGVkIGltYWdlIGluIEhUTUwuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE92ZXJyaWRlcyB0aGUgYXR0YWNobWVudCBuYW1lLgogICAgICogQHBhcmFtIHN0cmluZyAkZW5jb2RpbmcgRmlsZSBlbmNvZGluZyAoc2VlICRFbmNvZGluZykuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0eXBlIEZpbGUgTUlNRSB0eXBlLgogICAgICogQHBhcmFtIHN0cmluZyAkZGlzcG9zaXRpb24gRGlzcG9zaXRpb24gdG8gdXNlCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4gVHJ1ZSBvbiBzdWNjZXNzZnVsbHkgYWRkaW5nIGFuIGF0dGFjaG1lbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFkZEVtYmVkZGVkSW1hZ2UoJHBhdGgsICRjaWQsICRuYW1lID0gJycsICRlbmNvZGluZyA9ICdiYXNlNjQnLCAkdHlwZSA9ICcnLCAkZGlzcG9zaXRpb24gPSAnaW5saW5lJykKICAgIHsKICAgICAgICBpZiAoIUBpc19maWxlKCRwYXRoKSkgewogICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJHRoaXMtPmxhbmcoJ2ZpbGVfYWNjZXNzJykgLiAkcGF0aCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIC8vIElmIGEgTUlNRSB0eXBlIGlzIG5vdCBzcGVjaWZpZWQsIHRyeSB0byB3b3JrIGl0IG91dCBmcm9tIHRoZSBmaWxlIG5hbWUKICAgICAgICBpZiAoJHR5cGUgPT0gJycpIHsKICAgICAgICAgICAgJHR5cGUgPSBzZWxmOjpmaWxlbmFtZVRvVHlwZSgkcGF0aCk7CiAgICAgICAgfQoKICAgICAgICAkZmlsZW5hbWUgPSBiYXNlbmFtZSgkcGF0aCk7CiAgICAgICAgaWYgKCRuYW1lID09ICcnKSB7CiAgICAgICAgICAgICRuYW1lID0gJGZpbGVuYW1lOwogICAgICAgIH0KCiAgICAgICAgLy8gQXBwZW5kIHRvICRhdHRhY2htZW50IGFycmF5CiAgICAgICAgJHRoaXMtPmF0dGFjaG1lbnRbXSA9IGFycmF5KAogICAgICAgICAgICAwID0+ICRwYXRoLAogICAgICAgICAgICAxID0+ICRmaWxlbmFtZSwKICAgICAgICAgICAgMiA9PiAkbmFtZSwKICAgICAgICAgICAgMyA9PiAkZW5jb2RpbmcsCiAgICAgICAgICAgIDQgPT4gJHR5cGUsCiAgICAgICAgICAgIDUgPT4gZmFsc2UsIC8vIGlzU3RyaW5nQXR0YWNobWVudAogICAgICAgICAgICA2ID0+ICRkaXNwb3NpdGlvbiwKICAgICAgICAgICAgNyA9PiAkY2lkCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhbiBlbWJlZGRlZCBzdHJpbmdpZmllZCBhdHRhY2htZW50LgogICAgICogVGhpcyBjYW4gaW5jbHVkZSBpbWFnZXMsIHNvdW5kcywgYW5kIGp1c3QgYWJvdXQgYW55IG90aGVyIGRvY3VtZW50IHR5cGUuCiAgICAgKiBCZSBzdXJlIHRvIHNldCB0aGUgJHR5cGUgdG8gYW4gaW1hZ2UgdHlwZSBmb3IgaW1hZ2VzOgogICAgICogSlBFRyBpbWFnZXMgdXNlICdpbWFnZS9qcGVnJywgR0lGIHVzZXMgJ2ltYWdlL2dpZicsIFBORyB1c2VzICdpbWFnZS9wbmcnLgogICAgICogQHBhcmFtIHN0cmluZyAkc3RyaW5nIFRoZSBhdHRhY2htZW50IGJpbmFyeSBkYXRhLgogICAgICogQHBhcmFtIHN0cmluZyAkY2lkIENvbnRlbnQgSUQgb2YgdGhlIGF0dGFjaG1lbnQ7IFVzZSB0aGlzIHRvIHJlZmVyZW5jZQogICAgICogICAgICAgIHRoZSBjb250ZW50IHdoZW4gdXNpbmcgYW4gZW1iZWRkZWQgaW1hZ2UgaW4gSFRNTC4KICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUKICAgICAqIEBwYXJhbSBzdHJpbmcgJGVuY29kaW5nIEZpbGUgZW5jb2RpbmcgKHNlZSAkRW5jb2RpbmcpLgogICAgICogQHBhcmFtIHN0cmluZyAkdHlwZSBNSU1FIHR5cGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkaXNwb3NpdGlvbiBEaXNwb3NpdGlvbiB0byB1c2UKICAgICAqIEByZXR1cm4gYm9vbGVhbiBUcnVlIG9uIHN1Y2Nlc3NmdWxseSBhZGRpbmcgYW4gYXR0YWNobWVudAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkU3RyaW5nRW1iZWRkZWRJbWFnZSgKICAgICAgICAkc3RyaW5nLAogICAgICAgICRjaWQsCiAgICAgICAgJG5hbWUgPSAnJywKICAgICAgICAkZW5jb2RpbmcgPSAnYmFzZTY0JywKICAgICAgICAkdHlwZSA9ICcnLAogICAgICAgICRkaXNwb3NpdGlvbiA9ICdpbmxpbmUnCiAgICApIHsKICAgICAgICAvLyBJZiBhIE1JTUUgdHlwZSBpcyBub3Qgc3BlY2lmaWVkLCB0cnkgdG8gd29yayBpdCBvdXQgZnJvbSB0aGUgbmFtZQogICAgICAgIGlmICgkdHlwZSA9PSAnJyBhbmQgIWVtcHR5KCRuYW1lKSkgewogICAgICAgICAgICAkdHlwZSA9IHNlbGY6OmZpbGVuYW1lVG9UeXBlKCRuYW1lKTsKICAgICAgICB9CgogICAgICAgIC8vIEFwcGVuZCB0byAkYXR0YWNobWVudCBhcnJheQogICAgICAgICR0aGlzLT5hdHRhY2htZW50W10gPSBhcnJheSgKICAgICAgICAgICAgMCA9PiAkc3RyaW5nLAogICAgICAgICAgICAxID0+ICRuYW1lLAogICAgICAgICAgICAyID0+ICRuYW1lLAogICAgICAgICAgICAzID0+ICRlbmNvZGluZywKICAgICAgICAgICAgNCA9PiAkdHlwZSwKICAgICAgICAgICAgNSA9PiB0cnVlLCAvLyBpc1N0cmluZ0F0dGFjaG1lbnQKICAgICAgICAgICAgNiA9PiAkZGlzcG9zaXRpb24sCiAgICAgICAgICAgIDcgPT4gJGNpZAogICAgICAgICk7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiBhbiBpbmxpbmUgYXR0YWNobWVudCBpcyBwcmVzZW50LgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaW5saW5lSW1hZ2VFeGlzdHMoKQogICAgewogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5hdHRhY2htZW50IGFzICRhdHRhY2htZW50KSB7CiAgICAgICAgICAgIGlmICgkYXR0YWNobWVudFs2XSA9PSAnaW5saW5lJykgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgYW4gYXR0YWNobWVudCAobm9uLWlubGluZSkgaXMgcHJlc2VudC4KICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYXR0YWNobWVudEV4aXN0cygpCiAgICB7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmF0dGFjaG1lbnQgYXMgJGF0dGFjaG1lbnQpIHsKICAgICAgICAgICAgaWYgKCRhdHRhY2htZW50WzZdID09ICdhdHRhY2htZW50JykgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgdGhpcyBtZXNzYWdlIGhhcyBhbiBhbHRlcm5hdGl2ZSBib2R5IHNldC4KICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWx0ZXJuYXRpdmVFeGlzdHMoKQogICAgewogICAgICAgIHJldHVybiAhZW1wdHkoJHRoaXMtPkFsdEJvZHkpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xlYXIgcXVldWVkIGFkZHJlc3NlcyBvZiBnaXZlbiBraW5kLgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtpbmQgJ3RvJywgJ2NjJywgb3IgJ2JjYycKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYXJRdWV1ZWRBZGRyZXNzZXMoJGtpbmQpCiAgICB7CiAgICAgICAgJFJlY2lwaWVudHNRdWV1ZSA9ICR0aGlzLT5SZWNpcGllbnRzUXVldWU7CiAgICAgICAgZm9yZWFjaCAoJFJlY2lwaWVudHNRdWV1ZSBhcyAkYWRkcmVzcyA9PiAkcGFyYW1zKSB7CiAgICAgICAgICAgIGlmICgkcGFyYW1zWzBdID09ICRraW5kKSB7CiAgICAgICAgICAgICAgICB1bnNldCgkdGhpcy0+UmVjaXBpZW50c1F1ZXVlWyRhZGRyZXNzXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDbGVhciBhbGwgVG8gcmVjaXBpZW50cy4KICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYXJBZGRyZXNzZXMoKQogICAgewogICAgICAgIGZvcmVhY2ggKCR0aGlzLT50byBhcyAkdG8pIHsKICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmFsbF9yZWNpcGllbnRzW3N0cnRvbG93ZXIoJHRvWzBdKV0pOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+dG8gPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5jbGVhclF1ZXVlZEFkZHJlc3NlcygndG8nKTsKICAgIH0KCiAgICAvKioKICAgICAqIENsZWFyIGFsbCBDQyByZWNpcGllbnRzLgogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbGVhckNDcygpCiAgICB7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmNjIGFzICRjYykgewogICAgICAgICAgICB1bnNldCgkdGhpcy0+YWxsX3JlY2lwaWVudHNbc3RydG9sb3dlcigkY2NbMF0pXSk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5jYyA9IGFycmF5KCk7CiAgICAgICAgJHRoaXMtPmNsZWFyUXVldWVkQWRkcmVzc2VzKCdjYycpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xlYXIgYWxsIEJDQyByZWNpcGllbnRzLgogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbGVhckJDQ3MoKQogICAgewogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5iY2MgYXMgJGJjYykgewogICAgICAgICAgICB1bnNldCgkdGhpcy0+YWxsX3JlY2lwaWVudHNbc3RydG9sb3dlcigkYmNjWzBdKV0pOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+YmNjID0gYXJyYXkoKTsKICAgICAgICAkdGhpcy0+Y2xlYXJRdWV1ZWRBZGRyZXNzZXMoJ2JjYycpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xlYXIgYWxsIFJlcGx5VG8gcmVjaXBpZW50cy4KICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYXJSZXBseVRvcygpCiAgICB7CiAgICAgICAgJHRoaXMtPlJlcGx5VG8gPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5SZXBseVRvUXVldWUgPSBhcnJheSgpOwogICAgfQoKICAgIC8qKgogICAgICogQ2xlYXIgYWxsIHJlY2lwaWVudCB0eXBlcy4KICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYXJBbGxSZWNpcGllbnRzKCkKICAgIHsKICAgICAgICAkdGhpcy0+dG8gPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5jYyA9IGFycmF5KCk7CiAgICAgICAgJHRoaXMtPmJjYyA9IGFycmF5KCk7CiAgICAgICAgJHRoaXMtPmFsbF9yZWNpcGllbnRzID0gYXJyYXkoKTsKICAgICAgICAkdGhpcy0+UmVjaXBpZW50c1F1ZXVlID0gYXJyYXkoKTsKICAgIH0KCiAgICAvKioKICAgICAqIENsZWFyIGFsbCBmaWxlc3lzdGVtLCBzdHJpbmcsIGFuZCBiaW5hcnkgYXR0YWNobWVudHMuCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNsZWFyQXR0YWNobWVudHMoKQogICAgewogICAgICAgICR0aGlzLT5hdHRhY2htZW50ID0gYXJyYXkoKTsKICAgIH0KCiAgICAvKioKICAgICAqIENsZWFyIGFsbCBjdXN0b20gaGVhZGVycy4KICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYXJDdXN0b21IZWFkZXJzKCkKICAgIHsKICAgICAgICAkdGhpcy0+Q3VzdG9tSGVhZGVyID0gYXJyYXkoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhbiBlcnJvciBtZXNzYWdlIHRvIHRoZSBlcnJvciBjb250YWluZXIuCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHBhcmFtIHN0cmluZyAkbXNnCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldEVycm9yKCRtc2cpCiAgICB7CiAgICAgICAgJHRoaXMtPmVycm9yX2NvdW50Kys7CiAgICAgICAgaWYgKCR0aGlzLT5NYWlsZXIgPT0gJ3NtdHAnIGFuZCAhaXNfbnVsbCgkdGhpcy0+c210cCkpIHsKICAgICAgICAgICAgJGxhc3RlcnJvciA9ICR0aGlzLT5zbXRwLT5nZXRFcnJvcigpOwogICAgICAgICAgICBpZiAoIWVtcHR5KCRsYXN0ZXJyb3JbJ2Vycm9yJ10pKSB7CiAgICAgICAgICAgICAgICAkbXNnIC49ICR0aGlzLT5sYW5nKCdzbXRwX2Vycm9yJykgLiAkbGFzdGVycm9yWydlcnJvciddOwogICAgICAgICAgICAgICAgaWYgKCFlbXB0eSgkbGFzdGVycm9yWydkZXRhaWwnXSkpIHsKICAgICAgICAgICAgICAgICAgICAkbXNnIC49ICcgRGV0YWlsOiAnLiAkbGFzdGVycm9yWydkZXRhaWwnXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJGxhc3RlcnJvclsnc210cF9jb2RlJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgJG1zZyAuPSAnIFNNVFAgY29kZTogJyAuICRsYXN0ZXJyb3JbJ3NtdHBfY29kZSddOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKCFlbXB0eSgkbGFzdGVycm9yWydzbXRwX2NvZGVfZXgnXSkpIHsKICAgICAgICAgICAgICAgICAgICAkbXNnIC49ICcgQWRkaXRpb25hbCBTTVRQIGluZm86ICcgLiAkbGFzdGVycm9yWydzbXRwX2NvZGVfZXgnXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+RXJyb3JJbmZvID0gJG1zZzsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBhbiBSRkMgODIyIGZvcm1hdHRlZCBkYXRlLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKiBAc3RhdGljCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmZjRGF0ZSgpCiAgICB7CiAgICAgICAgLy8gU2V0IHRoZSB0aW1lIHpvbmUgdG8gd2hhdGV2ZXIgdGhlIGRlZmF1bHQgaXMgdG8gYXZvaWQgNTAwIGVycm9ycwogICAgICAgIC8vIFdpbGwgZGVmYXVsdCB0byBVVEMgaWYgaXQncyBub3Qgc2V0IHByb3Blcmx5IGluIHBocC5pbmkKICAgICAgICBkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KEBkYXRlX2RlZmF1bHRfdGltZXpvbmVfZ2V0KCkpOwogICAgICAgIHJldHVybiBkYXRlKCdELCBqIE0gWSBIOmk6cyBPJyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHNlcnZlciBob3N0bmFtZS4KICAgICAqIFJldHVybnMgJ2xvY2FsaG9zdC5sb2NhbGRvbWFpbicgaWYgdW5rbm93bi4KICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2VydmVySG9zdG5hbWUoKQogICAgewogICAgICAgICRyZXN1bHQgPSAnbG9jYWxob3N0LmxvY2FsZG9tYWluJzsKICAgICAgICBpZiAoIWVtcHR5KCR0aGlzLT5Ib3N0bmFtZSkpIHsKICAgICAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5Ib3N0bmFtZTsKICAgICAgICB9IGVsc2VpZiAoaXNzZXQoJF9TRVJWRVIpIGFuZCBhcnJheV9rZXlfZXhpc3RzKCdTRVJWRVJfTkFNRScsICRfU0VSVkVSKSBhbmQgIWVtcHR5KCRfU0VSVkVSWydTRVJWRVJfTkFNRSddKSkgewogICAgICAgICAgICAkcmVzdWx0ID0gJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ107CiAgICAgICAgfSBlbHNlaWYgKGZ1bmN0aW9uX2V4aXN0cygnZ2V0aG9zdG5hbWUnKSAmJiBnZXRob3N0bmFtZSgpICE9PSBmYWxzZSkgewogICAgICAgICAgICAkcmVzdWx0ID0gZ2V0aG9zdG5hbWUoKTsKICAgICAgICB9IGVsc2VpZiAocGhwX3VuYW1lKCduJykgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSBwaHBfdW5hbWUoJ24nKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gZXJyb3IgbWVzc2FnZSBpbiB0aGUgY3VycmVudCBsYW5ndWFnZS4KICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBsYW5nKCRrZXkpCiAgICB7CiAgICAgICAgaWYgKGNvdW50KCR0aGlzLT5sYW5ndWFnZSkgPCAxKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRMYW5ndWFnZSgnZW4nKTsgLy8gc2V0IHRoZSBkZWZhdWx0IGxhbmd1YWdlCiAgICAgICAgfQoKICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygka2V5LCAkdGhpcy0+bGFuZ3VhZ2UpKSB7CiAgICAgICAgICAgIGlmICgka2V5ID09ICdzbXRwX2Nvbm5lY3RfZmFpbGVkJykgewogICAgICAgICAgICAgICAgLy9JbmNsdWRlIGEgbGluayB0byB0cm91Ymxlc2hvb3RpbmcgZG9jcyBvbiBTTVRQIGNvbm5lY3Rpb24gZmFpbHVyZQogICAgICAgICAgICAgICAgLy90aGlzIGlzIGJ5IGZhciB0aGUgYmlnZ2VzdCBjYXVzZSBvZiBzdXBwb3J0IHF1ZXN0aW9ucwogICAgICAgICAgICAgICAgLy9idXQgaXQncyB1c3VhbGx5IG5vdCBQSFBNYWlsZXIncyBmYXVsdC4KICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+bGFuZ3VhZ2VbJGtleV0gLiAnIGh0dHBzOi8vZ2l0aHViLmNvbS9QSFBNYWlsZXIvUEhQTWFpbGVyL3dpa2kvVHJvdWJsZXNob290aW5nJzsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmxhbmd1YWdlWyRrZXldOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vUmV0dXJuIHRoZSBrZXkgYXMgYSBmYWxsYmFjawogICAgICAgICAgICByZXR1cm4gJGtleTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiBhbiBlcnJvciBvY2N1cnJlZC4KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4gVHJ1ZSBpZiBhbiBlcnJvciBkaWQgb2NjdXIuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0Vycm9yKCkKICAgIHsKICAgICAgICByZXR1cm4gKCR0aGlzLT5lcnJvcl9jb3VudCA+IDApOwogICAgfQoKICAgIC8qKgogICAgICogRW5zdXJlIGNvbnNpc3RlbnQgbGluZSBlbmRpbmdzIGluIGEgc3RyaW5nLgogICAgICogQ2hhbmdlcyBldmVyeSBlbmQgb2YgbGluZSBmcm9tIENSTEYsIENSIG9yIExGIHRvICR0aGlzLT5MRS4KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdHIgU3RyaW5nIHRvIGZpeEVPTAogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGZpeEVPTCgkc3RyKQogICAgewogICAgICAgIC8vIE5vcm1hbGlzZSB0byBcbgogICAgICAgICRuc3RyID0gc3RyX3JlcGxhY2UoYXJyYXkoIlxyXG4iLCAiXHIiKSwgIlxuIiwgJHN0cik7CiAgICAgICAgLy8gTm93IGNvbnZlcnQgTEUgYXMgbmVlZGVkCiAgICAgICAgaWYgKCR0aGlzLT5MRSAhPT0gIlxuIikgewogICAgICAgICAgICAkbnN0ciA9IHN0cl9yZXBsYWNlKCJcbiIsICR0aGlzLT5MRSwgJG5zdHIpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG5zdHI7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYSBjdXN0b20gaGVhZGVyLgogICAgICogJG5hbWUgdmFsdWUgY2FuIGJlIG92ZXJsb2FkZWQgdG8gY29udGFpbgogICAgICogYm90aCBoZWFkZXIgbmFtZSBhbmQgdmFsdWUgKG5hbWU6dmFsdWUpCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBDdXN0b20gaGVhZGVyIG5hbWUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHZhbHVlIEhlYWRlciB2YWx1ZQogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRDdXN0b21IZWFkZXIoJG5hbWUsICR2YWx1ZSA9IG51bGwpCiAgICB7CiAgICAgICAgaWYgKCR2YWx1ZSA9PT0gbnVsbCkgewogICAgICAgICAgICAvLyBWYWx1ZSBwYXNzZWQgaW4gYXMgbmFtZTp2YWx1ZQogICAgICAgICAgICAkdGhpcy0+Q3VzdG9tSGVhZGVyW10gPSBleHBsb2RlKCc6JywgJG5hbWUsIDIpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5DdXN0b21IZWFkZXJbXSA9IGFycmF5KCRuYW1lLCAkdmFsdWUpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYWxsIGN1c3RvbSBoZWFkZXJzLgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q3VzdG9tSGVhZGVycygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5DdXN0b21IZWFkZXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBtZXNzYWdlIGZyb20gYW4gSFRNTCBzdHJpbmcuCiAgICAgKiBBdXRvbWF0aWNhbGx5IG1ha2VzIG1vZGlmaWNhdGlvbnMgZm9yIGlubGluZSBpbWFnZXMgYW5kIGJhY2tncm91bmRzCiAgICAgKiBhbmQgY3JlYXRlcyBhIHBsYWluLXRleHQgdmVyc2lvbiBieSBjb252ZXJ0aW5nIHRoZSBIVE1MLgogICAgICogT3ZlcndyaXRlcyBhbnkgZXhpc3RpbmcgdmFsdWVzIGluICR0aGlzLT5Cb2R5IGFuZCAkdGhpcy0+QWx0Qm9keQogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJG1lc3NhZ2UgSFRNTCBtZXNzYWdlIHN0cmluZwogICAgICogQHBhcmFtIHN0cmluZyAkYmFzZWRpciBiYXNlbGluZSBkaXJlY3RvcnkgZm9yIHBhdGgKICAgICAqIEBwYXJhbSBib29sZWFufGNhbGxhYmxlICRhZHZhbmNlZCBXaGV0aGVyIHRvIHVzZSB0aGUgaW50ZXJuYWwgSFRNTCB0byB0ZXh0IGNvbnZlcnRlcgogICAgICogICAgb3IgeW91ciBvd24gY3VzdG9tIGNvbnZlcnRlciBAc2VlIFBIUE1haWxlcjo6aHRtbDJ0ZXh0KCkKICAgICAqIEByZXR1cm4gc3RyaW5nICRtZXNzYWdlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtc2dIVE1MKCRtZXNzYWdlLCAkYmFzZWRpciA9ICcnLCAkYWR2YW5jZWQgPSBmYWxzZSkKICAgIHsKICAgICAgICBwcmVnX21hdGNoX2FsbCgnLyhzcmN8YmFja2dyb3VuZCk9WyJcJ10oLiopWyJcJ10vVWknLCAkbWVzc2FnZSwgJGltYWdlcyk7CiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoMiwgJGltYWdlcykpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJGltYWdlc1syXSBhcyAkaW1naW5kZXggPT4gJHVybCkgewogICAgICAgICAgICAgICAgLy8gQ29udmVydCBkYXRhIFVSSXMgaW50byBlbWJlZGRlZCBpbWFnZXMKICAgICAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcjXmRhdGE6KGltYWdlW147LF0qKSg7YmFzZTY0KT8sIycsICR1cmwsICRtYXRjaCkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN1YnN0cigkdXJsLCBzdHJwb3MoJHVybCwgJywnKSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRtYXRjaFsyXSkgewogICAgICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IGJhc2U2NF9kZWNvZGUoJGRhdGEpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRkYXRhID0gcmF3dXJsZGVjb2RlKCRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgJGNpZCA9IG1kNSgkdXJsKSAuICdAcGhwbWFpbGVyLjAnOyAvLyBSRkMyMzkyIFMgMgogICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+YWRkU3RyaW5nRW1iZWRkZWRJbWFnZSgkZGF0YSwgJGNpZCwgJ2VtYmVkJyAuICRpbWdpbmRleCwgJ2Jhc2U2NCcsICRtYXRjaFsxXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG1lc3NhZ2UgPSBzdHJfcmVwbGFjZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbWFnZXNbMF1bJGltZ2luZGV4XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbWFnZXNbMV1bJGltZ2luZGV4XSAuICc9ImNpZDonIC4gJGNpZCAuICciJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtZXNzYWdlCiAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlaWYgKHN1YnN0cigkdXJsLCAwLCA0KSAhPT0gJ2NpZDonICYmICFwcmVnX21hdGNoKCcjXltBLXpdKzovLyMnLCAkdXJsKSkgewogICAgICAgICAgICAgICAgICAgIC8vIERvIG5vdCBjaGFuZ2UgdXJscyBmb3IgYWJzb2x1dGUgaW1hZ2VzICh0aGFua3MgdG8gY29ydnVzY29yYXgpCiAgICAgICAgICAgICAgICAgICAgLy8gRG8gbm90IGNoYW5nZSB1cmxzIHRoYXQgYXJlIGFscmVhZHkgaW5saW5lIGltYWdlcwogICAgICAgICAgICAgICAgICAgICRmaWxlbmFtZSA9IGJhc2VuYW1lKCR1cmwpOwogICAgICAgICAgICAgICAgICAgICRkaXJlY3RvcnkgPSBkaXJuYW1lKCR1cmwpOwogICAgICAgICAgICAgICAgICAgIGlmICgkZGlyZWN0b3J5ID09ICcuJykgewogICAgICAgICAgICAgICAgICAgICAgICAkZGlyZWN0b3J5ID0gJyc7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICRjaWQgPSBtZDUoJHVybCkgLiAnQHBocG1haWxlci4wJzsgLy8gUkZDMjM5MiBTIDIKICAgICAgICAgICAgICAgICAgICBpZiAoc3RybGVuKCRiYXNlZGlyKSA+IDEgJiYgc3Vic3RyKCRiYXNlZGlyLCAtMSkgIT0gJy8nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlZGlyIC49ICcvJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmxlbigkZGlyZWN0b3J5KSA+IDEgJiYgc3Vic3RyKCRkaXJlY3RvcnksIC0xKSAhPSAnLycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGRpcmVjdG9yeSAuPSAnLyc7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy0+YWRkRW1iZWRkZWRJbWFnZSgKICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2VkaXIgLiAkZGlyZWN0b3J5IC4gJGZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAkY2lkLAogICAgICAgICAgICAgICAgICAgICAgICAkZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlNjQnLAogICAgICAgICAgICAgICAgICAgICAgICBzZWxmOjpfbWltZV90eXBlcygoc3RyaW5nKXNlbGY6Om1iX3BhdGhpbmZvKCRmaWxlbmFtZSwgUEFUSElORk9fRVhURU5TSU9OKSkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRtZXNzYWdlID0gcHJlZ19yZXBsYWNlKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nIC4gJGltYWdlc1sxXVskaW1naW5kZXhdIC4gJz1bIlwnXScgLiBwcmVnX3F1b3RlKCR1cmwsICcvJykgLiAnWyJcJ10vVWknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltYWdlc1sxXVskaW1naW5kZXhdIC4gJz0iY2lkOicgLiAkY2lkIC4gJyInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1lc3NhZ2UKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHRoaXMtPmlzSFRNTCh0cnVlKTsKICAgICAgICAvLyBDb252ZXJ0IGFsbCBtZXNzYWdlIGJvZHkgbGluZSBicmVha3MgdG8gQ1JMRiwgbWFrZXMgcXVvdGVkLXByaW50YWJsZSBlbmNvZGluZyB3b3JrIG11Y2ggYmV0dGVyCiAgICAgICAgJHRoaXMtPkJvZHkgPSAkdGhpcy0+bm9ybWFsaXplQnJlYWtzKCRtZXNzYWdlKTsKICAgICAgICAkdGhpcy0+QWx0Qm9keSA9ICR0aGlzLT5ub3JtYWxpemVCcmVha3MoJHRoaXMtPmh0bWwydGV4dCgkbWVzc2FnZSwgJGFkdmFuY2VkKSk7CiAgICAgICAgaWYgKCEkdGhpcy0+YWx0ZXJuYXRpdmVFeGlzdHMoKSkgewogICAgICAgICAgICAkdGhpcy0+QWx0Qm9keSA9ICdUbyB2aWV3IHRoaXMgZW1haWwgbWVzc2FnZSwgb3BlbiBpdCBpbiBhIHByb2dyYW0gdGhhdCB1bmRlcnN0YW5kcyBIVE1MIScgLgogICAgICAgICAgICAgICAgc2VsZjo6Q1JMRiAuIHNlbGY6OkNSTEY7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Qm9keTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnQgYW4gSFRNTCBzdHJpbmcgaW50byBwbGFpbiB0ZXh0LgogICAgICogVGhpcyBpcyB1c2VkIGJ5IG1zZ0hUTUwoKS4KICAgICAqIE5vdGUgLSBvbGRlciB2ZXJzaW9ucyBvZiB0aGlzIGZ1bmN0aW9uIHVzZWQgYSBidW5kbGVkIGFkdmFuY2VkIGNvbnZlcnRlcgogICAgICogd2hpY2ggd2FzIGJlZW4gcmVtb3ZlZCBmb3IgbGljZW5zZSByZWFzb25zIGluICMyMzIKICAgICAqIEV4YW1wbGUgdXNhZ2U6CiAgICAgKiA8Y29kZT4KICAgICAqIC8vIFVzZSBkZWZhdWx0IGNvbnZlcnNpb24KICAgICAqICRwbGFpbiA9ICRtYWlsLT5odG1sMnRleHQoJGh0bWwpOwogICAgICogLy8gVXNlIHlvdXIgb3duIGN1c3RvbSBjb252ZXJ0ZXIKICAgICAqICRwbGFpbiA9ICRtYWlsLT5odG1sMnRleHQoJGh0bWwsIGZ1bmN0aW9uKCRodG1sKSB7CiAgICAgKiAgICAgJGNvbnZlcnRlciA9IG5ldyBNeUh0bWwydGV4dCgkaHRtbCk7CiAgICAgKiAgICAgcmV0dXJuICRjb252ZXJ0ZXItPmdldF90ZXh0KCk7CiAgICAgKiB9KTsKICAgICAqIDwvY29kZT4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGh0bWwgVGhlIEhUTUwgdGV4dCB0byBjb252ZXJ0CiAgICAgKiBAcGFyYW0gYm9vbGVhbnxjYWxsYWJsZSAkYWR2YW5jZWQgQW55IGJvb2xlYW4gdmFsdWUgdG8gdXNlIHRoZSBpbnRlcm5hbCBjb252ZXJ0ZXIsCiAgICAgKiAgIG9yIHByb3ZpZGUgeW91ciBvd24gY2FsbGFibGUgZm9yIGN1c3RvbSBjb252ZXJzaW9uLgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGh0bWwydGV4dCgkaHRtbCwgJGFkdmFuY2VkID0gZmFsc2UpCiAgICB7CiAgICAgICAgaWYgKGlzX2NhbGxhYmxlKCRhZHZhbmNlZCkpIHsKICAgICAgICAgICAgcmV0dXJuIGNhbGxfdXNlcl9mdW5jKCRhZHZhbmNlZCwgJGh0bWwpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gaHRtbF9lbnRpdHlfZGVjb2RlKAogICAgICAgICAgICB0cmltKHN0cmlwX3RhZ3MocHJlZ19yZXBsYWNlKCcvPChoZWFkfHRpdGxlfHN0eWxlfHNjcmlwdClbXj5dKj4uKj88XC9cXDE+L3NpJywgJycsICRodG1sKSkpLAogICAgICAgICAgICBFTlRfUVVPVEVTLAogICAgICAgICAgICAkdGhpcy0+Q2hhclNldAogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIE1JTUUgdHlwZSBmb3IgYSBmaWxlIGV4dGVuc2lvbi4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGV4dCBGaWxlIGV4dGVuc2lvbgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gc3RyaW5nIE1JTUUgdHlwZSBvZiBmaWxlLgogICAgICogQHN0YXRpYwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIF9taW1lX3R5cGVzKCRleHQgPSAnJykKICAgIHsKICAgICAgICAkbWltZXMgPSBhcnJheSgKICAgICAgICAgICAgJ3hsJyAgICA9PiAnYXBwbGljYXRpb24vZXhjZWwnLAogICAgICAgICAgICAnanMnICAgID0+ICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0JywKICAgICAgICAgICAgJ2hxeCcgICA9PiAnYXBwbGljYXRpb24vbWFjLWJpbmhleDQwJywKICAgICAgICAgICAgJ2NwdCcgICA9PiAnYXBwbGljYXRpb24vbWFjLWNvbXBhY3Rwcm8nLAogICAgICAgICAgICAnYmluJyAgID0+ICdhcHBsaWNhdGlvbi9tYWNiaW5hcnknLAogICAgICAgICAgICAnZG9jJyAgID0+ICdhcHBsaWNhdGlvbi9tc3dvcmQnLAogICAgICAgICAgICAnd29yZCcgID0+ICdhcHBsaWNhdGlvbi9tc3dvcmQnLAogICAgICAgICAgICAneGxzeCcgID0+ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsCiAgICAgICAgICAgICd4bHR4JyAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnRlbXBsYXRlJywKICAgICAgICAgICAgJ3BvdHgnICA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnRlbXBsYXRlJywKICAgICAgICAgICAgJ3Bwc3gnICA9PiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlc2hvdycsCiAgICAgICAgICAgICdwcHR4JyAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb24nLAogICAgICAgICAgICAnc2xkeCcgID0+ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGUnLAogICAgICAgICAgICAnZG9jeCcgID0+ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcsCiAgICAgICAgICAgICdkb3R4JyAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLnRlbXBsYXRlJywKICAgICAgICAgICAgJ3hsYW0nICA9PiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmFkZGluLm1hY3JvRW5hYmxlZC4xMicsCiAgICAgICAgICAgICd4bHNiJyAgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5iaW5hcnkubWFjcm9FbmFibGVkLjEyJywKICAgICAgICAgICAgJ2NsYXNzJyA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAgICAgJ2RsbCcgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAgICAgJ2RtcycgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAgICAgJ2V4ZScgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAgICAgJ2xoYScgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAgICAgJ2x6aCcgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAgICAgJ3BzZCcgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAgICAgJ3NlYScgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAgICAgJ3NvJyAgICA9PiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywKICAgICAgICAgICAgJ29kYScgICA9PiAnYXBwbGljYXRpb24vb2RhJywKICAgICAgICAgICAgJ3BkZicgICA9PiAnYXBwbGljYXRpb24vcGRmJywKICAgICAgICAgICAgJ2FpJyAgICA9PiAnYXBwbGljYXRpb24vcG9zdHNjcmlwdCcsCiAgICAgICAgICAgICdlcHMnICAgPT4gJ2FwcGxpY2F0aW9uL3Bvc3RzY3JpcHQnLAogICAgICAgICAgICAncHMnICAgID0+ICdhcHBsaWNhdGlvbi9wb3N0c2NyaXB0JywKICAgICAgICAgICAgJ3NtaScgICA9PiAnYXBwbGljYXRpb24vc21pbCcsCiAgICAgICAgICAgICdzbWlsJyAgPT4gJ2FwcGxpY2F0aW9uL3NtaWwnLAogICAgICAgICAgICAnbWlmJyAgID0+ICdhcHBsaWNhdGlvbi92bmQubWlmJywKICAgICAgICAgICAgJ3hscycgICA9PiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJywKICAgICAgICAgICAgJ3BwdCcgICA9PiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnLAogICAgICAgICAgICAnd2J4bWwnID0+ICdhcHBsaWNhdGlvbi92bmQud2FwLndieG1sJywKICAgICAgICAgICAgJ3dtbGMnICA9PiAnYXBwbGljYXRpb24vdm5kLndhcC53bWxjJywKICAgICAgICAgICAgJ2RjcicgICA9PiAnYXBwbGljYXRpb24veC1kaXJlY3RvcicsCiAgICAgICAgICAgICdkaXInICAgPT4gJ2FwcGxpY2F0aW9uL3gtZGlyZWN0b3InLAogICAgICAgICAgICAnZHhyJyAgID0+ICdhcHBsaWNhdGlvbi94LWRpcmVjdG9yJywKICAgICAgICAgICAgJ2R2aScgICA9PiAnYXBwbGljYXRpb24veC1kdmknLAogICAgICAgICAgICAnZ3RhcicgID0+ICdhcHBsaWNhdGlvbi94LWd0YXInLAogICAgICAgICAgICAncGhwMycgID0+ICdhcHBsaWNhdGlvbi94LWh0dHBkLXBocCcsCiAgICAgICAgICAgICdwaHA0JyAgPT4gJ2FwcGxpY2F0aW9uL3gtaHR0cGQtcGhwJywKICAgICAgICAgICAgJ3BocCcgICA9PiAnYXBwbGljYXRpb24veC1odHRwZC1waHAnLAogICAgICAgICAgICAncGh0bWwnID0+ICdhcHBsaWNhdGlvbi94LWh0dHBkLXBocCcsCiAgICAgICAgICAgICdwaHBzJyAgPT4gJ2FwcGxpY2F0aW9uL3gtaHR0cGQtcGhwLXNvdXJjZScsCiAgICAgICAgICAgICdzd2YnICAgPT4gJ2FwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoJywKICAgICAgICAgICAgJ3NpdCcgICA9PiAnYXBwbGljYXRpb24veC1zdHVmZml0JywKICAgICAgICAgICAgJ3RhcicgICA9PiAnYXBwbGljYXRpb24veC10YXInLAogICAgICAgICAgICAndGd6JyAgID0+ICdhcHBsaWNhdGlvbi94LXRhcicsCiAgICAgICAgICAgICd4aHQnICAgPT4gJ2FwcGxpY2F0aW9uL3hodG1sK3htbCcsCiAgICAgICAgICAgICd4aHRtbCcgPT4gJ2FwcGxpY2F0aW9uL3hodG1sK3htbCcsCiAgICAgICAgICAgICd6aXAnICAgPT4gJ2FwcGxpY2F0aW9uL3ppcCcsCiAgICAgICAgICAgICdtaWQnICAgPT4gJ2F1ZGlvL21pZGknLAogICAgICAgICAgICAnbWlkaScgID0+ICdhdWRpby9taWRpJywKICAgICAgICAgICAgJ21wMicgICA9PiAnYXVkaW8vbXBlZycsCiAgICAgICAgICAgICdtcDMnICAgPT4gJ2F1ZGlvL21wZWcnLAogICAgICAgICAgICAnbXBnYScgID0+ICdhdWRpby9tcGVnJywKICAgICAgICAgICAgJ2FpZicgICA9PiAnYXVkaW8veC1haWZmJywKICAgICAgICAgICAgJ2FpZmMnICA9PiAnYXVkaW8veC1haWZmJywKICAgICAgICAgICAgJ2FpZmYnICA9PiAnYXVkaW8veC1haWZmJywKICAgICAgICAgICAgJ3JhbScgICA9PiAnYXVkaW8veC1wbi1yZWFsYXVkaW8nLAogICAgICAgICAgICAncm0nICAgID0+ICdhdWRpby94LXBuLXJlYWxhdWRpbycsCiAgICAgICAgICAgICdycG0nICAgPT4gJ2F1ZGlvL3gtcG4tcmVhbGF1ZGlvLXBsdWdpbicsCiAgICAgICAgICAgICdyYScgICAgPT4gJ2F1ZGlvL3gtcmVhbGF1ZGlvJywKICAgICAgICAgICAgJ3dhdicgICA9PiAnYXVkaW8veC13YXYnLAogICAgICAgICAgICAnYm1wJyAgID0+ICdpbWFnZS9ibXAnLAogICAgICAgICAgICAnZ2lmJyAgID0+ICdpbWFnZS9naWYnLAogICAgICAgICAgICAnanBlZycgID0+ICdpbWFnZS9qcGVnJywKICAgICAgICAgICAgJ2pwZScgICA9PiAnaW1hZ2UvanBlZycsCiAgICAgICAgICAgICdqcGcnICAgPT4gJ2ltYWdlL2pwZWcnLAogICAgICAgICAgICAncG5nJyAgID0+ICdpbWFnZS9wbmcnLAogICAgICAgICAgICAndGlmZicgID0+ICdpbWFnZS90aWZmJywKICAgICAgICAgICAgJ3RpZicgICA9PiAnaW1hZ2UvdGlmZicsCiAgICAgICAgICAgICdlbWwnICAgPT4gJ21lc3NhZ2UvcmZjODIyJywKICAgICAgICAgICAgJ2NzcycgICA9PiAndGV4dC9jc3MnLAogICAgICAgICAgICAnaHRtbCcgID0+ICd0ZXh0L2h0bWwnLAogICAgICAgICAgICAnaHRtJyAgID0+ICd0ZXh0L2h0bWwnLAogICAgICAgICAgICAnc2h0bWwnID0+ICd0ZXh0L2h0bWwnLAogICAgICAgICAgICAnbG9nJyAgID0+ICd0ZXh0L3BsYWluJywKICAgICAgICAgICAgJ3RleHQnICA9PiAndGV4dC9wbGFpbicsCiAgICAgICAgICAgICd0eHQnICAgPT4gJ3RleHQvcGxhaW4nLAogICAgICAgICAgICAncnR4JyAgID0+ICd0ZXh0L3JpY2h0ZXh0JywKICAgICAgICAgICAgJ3J0ZicgICA9PiAndGV4dC9ydGYnLAogICAgICAgICAgICAndmNmJyAgID0+ICd0ZXh0L3ZjYXJkJywKICAgICAgICAgICAgJ3ZjYXJkJyA9PiAndGV4dC92Y2FyZCcsCiAgICAgICAgICAgICd4bWwnICAgPT4gJ3RleHQveG1sJywKICAgICAgICAgICAgJ3hzbCcgICA9PiAndGV4dC94bWwnLAogICAgICAgICAgICAnbXBlZycgID0+ICd2aWRlby9tcGVnJywKICAgICAgICAgICAgJ21wZScgICA9PiAndmlkZW8vbXBlZycsCiAgICAgICAgICAgICdtcGcnICAgPT4gJ3ZpZGVvL21wZWcnLAogICAgICAgICAgICAnbW92JyAgID0+ICd2aWRlby9xdWlja3RpbWUnLAogICAgICAgICAgICAncXQnICAgID0+ICd2aWRlby9xdWlja3RpbWUnLAogICAgICAgICAgICAncnYnICAgID0+ICd2aWRlby92bmQucm4tcmVhbHZpZGVvJywKICAgICAgICAgICAgJ2F2aScgICA9PiAndmlkZW8veC1tc3ZpZGVvJywKICAgICAgICAgICAgJ21vdmllJyA9PiAndmlkZW8veC1zZ2ktbW92aWUnCiAgICAgICAgKTsKICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cyhzdHJ0b2xvd2VyKCRleHQpLCAkbWltZXMpKSB7CiAgICAgICAgICAgIHJldHVybiAkbWltZXNbc3RydG9sb3dlcigkZXh0KV07CiAgICAgICAgfQogICAgICAgIHJldHVybiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJzsKICAgIH0KCiAgICAvKioKICAgICAqIE1hcCBhIGZpbGUgbmFtZSB0byBhIE1JTUUgdHlwZS4KICAgICAqIERlZmF1bHRzIHRvICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLCBpLmUuLiBhcmJpdHJhcnkgYmluYXJ5IGRhdGEuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmaWxlbmFtZSBBIGZpbGUgbmFtZSBvciBmdWxsIHBhdGgsIGRvZXMgbm90IG5lZWQgdG8gZXhpc3QgYXMgYSBmaWxlCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICogQHN0YXRpYwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGZpbGVuYW1lVG9UeXBlKCRmaWxlbmFtZSkKICAgIHsKICAgICAgICAvLyBJbiBjYXNlIHRoZSBwYXRoIGlzIGEgVVJMLCBzdHJpcCBhbnkgcXVlcnkgc3RyaW5nIGJlZm9yZSBnZXR0aW5nIGV4dGVuc2lvbgogICAgICAgICRxcG9zID0gc3RycG9zKCRmaWxlbmFtZSwgJz8nKTsKICAgICAgICBpZiAoZmFsc2UgIT09ICRxcG9zKSB7CiAgICAgICAgICAgICRmaWxlbmFtZSA9IHN1YnN0cigkZmlsZW5hbWUsIDAsICRxcG9zKTsKICAgICAgICB9CiAgICAgICAgJHBhdGhpbmZvID0gc2VsZjo6bWJfcGF0aGluZm8oJGZpbGVuYW1lKTsKICAgICAgICByZXR1cm4gc2VsZjo6X21pbWVfdHlwZXMoJHBhdGhpbmZvWydleHRlbnNpb24nXSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBNdWx0aS1ieXRlLXNhZmUgcGF0aGluZm8gcmVwbGFjZW1lbnQuCiAgICAgKiBEcm9wLWluIHJlcGxhY2VtZW50IGZvciBwYXRoaW5mbygpLCBidXQgbXVsdGlieXRlLXNhZmUsIGNyb3NzLXBsYXRmb3JtLXNhZmUsIG9sZC12ZXJzaW9uLXNhZmUuCiAgICAgKiBXb3JrcyBzaW1pbGFybHkgdG8gdGhlIG9uZSBpbiBQSFAgPj0gNS4yLjAKICAgICAqIEBsaW5rIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24ucGF0aGluZm8ucGhwIzEwNzQ2MQogICAgICogQHBhcmFtIHN0cmluZyAkcGF0aCBBIGZpbGVuYW1lIG9yIHBhdGgsIGRvZXMgbm90IG5lZWQgdG8gZXhpc3QgYXMgYSBmaWxlCiAgICAgKiBAcGFyYW0gaW50ZWdlcnxzdHJpbmcgJG9wdGlvbnMgRWl0aGVyIGEgUEFUSElORk9fKiBjb25zdGFudCwKICAgICAqICAgICAgb3IgYSBzdHJpbmcgbmFtZSB0byByZXR1cm4gb25seSB0aGUgc3BlY2lmaWVkIHBpZWNlLCBhbGxvd3MgJ2ZpbGVuYW1lJyB0byB3b3JrIG9uIFBIUCA8IDUuMgogICAgICogQHJldHVybiBzdHJpbmd8YXJyYXkKICAgICAqIEBzdGF0aWMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBtYl9wYXRoaW5mbygkcGF0aCwgJG9wdGlvbnMgPSBudWxsKQogICAgewogICAgICAgICRyZXQgPSBhcnJheSgnZGlybmFtZScgPT4gJycsICdiYXNlbmFtZScgPT4gJycsICdleHRlbnNpb24nID0+ICcnLCAnZmlsZW5hbWUnID0+ICcnKTsKICAgICAgICAkcGF0aGluZm8gPSBhcnJheSgpOwogICAgICAgIGlmIChwcmVnX21hdGNoKCclXiguKj8pW1xcXFwvXSooKFteL1xcXFxdKj8pKFwuKFteXC5cXFxcL10rPyl8KSlbXFxcXC9cLl0qJCVpbScsICRwYXRoLCAkcGF0aGluZm8pKSB7CiAgICAgICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKDEsICRwYXRoaW5mbykpIHsKICAgICAgICAgICAgICAgICRyZXRbJ2Rpcm5hbWUnXSA9ICRwYXRoaW5mb1sxXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygyLCAkcGF0aGluZm8pKSB7CiAgICAgICAgICAgICAgICAkcmV0WydiYXNlbmFtZSddID0gJHBhdGhpbmZvWzJdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKDUsICRwYXRoaW5mbykpIHsKICAgICAgICAgICAgICAgICRyZXRbJ2V4dGVuc2lvbiddID0gJHBhdGhpbmZvWzVdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKDMsICRwYXRoaW5mbykpIHsKICAgICAgICAgICAgICAgICRyZXRbJ2ZpbGVuYW1lJ10gPSAkcGF0aGluZm9bM107CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgc3dpdGNoICgkb3B0aW9ucykgewogICAgICAgICAgICBjYXNlIFBBVEhJTkZPX0RJUk5BTUU6CiAgICAgICAgICAgIGNhc2UgJ2Rpcm5hbWUnOgogICAgICAgICAgICAgICAgcmV0dXJuICRyZXRbJ2Rpcm5hbWUnXTsKICAgICAgICAgICAgY2FzZSBQQVRISU5GT19CQVNFTkFNRToKICAgICAgICAgICAgY2FzZSAnYmFzZW5hbWUnOgogICAgICAgICAgICAgICAgcmV0dXJuICRyZXRbJ2Jhc2VuYW1lJ107CiAgICAgICAgICAgIGNhc2UgUEFUSElORk9fRVhURU5TSU9OOgogICAgICAgICAgICBjYXNlICdleHRlbnNpb24nOgogICAgICAgICAgICAgICAgcmV0dXJuICRyZXRbJ2V4dGVuc2lvbiddOwogICAgICAgICAgICBjYXNlIFBBVEhJTkZPX0ZJTEVOQU1FOgogICAgICAgICAgICBjYXNlICdmaWxlbmFtZSc6CiAgICAgICAgICAgICAgICByZXR1cm4gJHJldFsnZmlsZW5hbWUnXTsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHJldHVybiAkcmV0OwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFNldCBvciByZXNldCBpbnN0YW5jZSBwcm9wZXJ0aWVzLgogICAgICogWW91IHNob3VsZCBhdm9pZCB0aGlzIGZ1bmN0aW9uIC0gaXQncyBtb3JlIHZlcmJvc2UsIGxlc3MgZWZmaWNpZW50LCBtb3JlIGVycm9yLXByb25lIGFuZAogICAgICogaGFyZGVyIHRvIGRlYnVnIHRoYW4gc2V0dGluZyBwcm9wZXJ0aWVzIGRpcmVjdGx5LgogICAgICogVXNhZ2UgRXhhbXBsZToKICAgICAqIGAkbWFpbC0+c2V0KCdTTVRQU2VjdXJlJywgJ3RscycpO2AKICAgICAqICAgaXMgdGhlIHNhbWUgYXM6CiAgICAgKiBgJG1haWwtPlNNVFBTZWN1cmUgPSAndGxzJztgCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBUaGUgcHJvcGVydHkgbmFtZSB0byBzZXQKICAgICAqIEBwYXJhbSBtaXhlZCAkdmFsdWUgVGhlIHZhbHVlIHRvIHNldCB0aGUgcHJvcGVydHkgdG8KICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICogQFRPRE8gU2hvdWxkIHRoaXMgbm90IGJlIHVzaW5nIHRoZSBfX3NldCgpIG1hZ2ljIGZ1bmN0aW9uPwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0KCRuYW1lLCAkdmFsdWUgPSAnJykKICAgIHsKICAgICAgICBpZiAocHJvcGVydHlfZXhpc3RzKCR0aGlzLCAkbmFtZSkpIHsKICAgICAgICAgICAgJHRoaXMtPiRuYW1lID0gJHZhbHVlOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJHRoaXMtPmxhbmcoJ3ZhcmlhYmxlX3NldCcpIC4gJG5hbWUpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogU3RyaXAgbmV3bGluZXMgdG8gcHJldmVudCBoZWFkZXIgaW5qZWN0aW9uLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0cgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlY3VyZUhlYWRlcigkc3RyKQogICAgewogICAgICAgIHJldHVybiB0cmltKHN0cl9yZXBsYWNlKGFycmF5KCJcciIsICJcbiIpLCAnJywgJHN0cikpOwogICAgfQoKICAgIC8qKgogICAgICogTm9ybWFsaXplIGxpbmUgYnJlYWtzIGluIGEgc3RyaW5nLgogICAgICogQ29udmVydHMgVU5JWCBMRiwgTWFjIENSIGFuZCBXaW5kb3dzIENSTEYgbGluZSBicmVha3MgaW50byBhIHNpbmdsZSBsaW5lIGJyZWFrIGZvcm1hdC4KICAgICAqIERlZmF1bHRzIHRvIENSTEYgKGZvciBtZXNzYWdlIGJvZGllcykgYW5kIHByZXNlcnZlcyBjb25zZWN1dGl2ZSBicmVha3MuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0ZXh0CiAgICAgKiBAcGFyYW0gc3RyaW5nICRicmVha3R5cGUgV2hhdCBraW5kIG9mIGxpbmUgYnJlYWsgdG8gdXNlLCBkZWZhdWx0cyB0byBDUkxGCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBzdGF0aWMKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBub3JtYWxpemVCcmVha3MoJHRleHQsICRicmVha3R5cGUgPSAiXHJcbiIpCiAgICB7CiAgICAgICAgcmV0dXJuIHByZWdfcmVwbGFjZSgnLyhcclxufFxyfFxuKS9tcycsICRicmVha3R5cGUsICR0ZXh0KTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgcHVibGljIGFuZCBwcml2YXRlIGtleSBmaWxlcyBhbmQgcGFzc3dvcmQgZm9yIFMvTUlNRSBzaWduaW5nLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJGNlcnRfZmlsZW5hbWUKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleV9maWxlbmFtZQogICAgICogQHBhcmFtIHN0cmluZyAka2V5X3Bhc3MgUGFzc3dvcmQgZm9yIHByaXZhdGUga2V5CiAgICAgKiBAcGFyYW0gc3RyaW5nICRleHRyYWNlcnRzX2ZpbGVuYW1lIE9wdGlvbmFsIHBhdGggdG8gY2hhaW4gY2VydGlmaWNhdGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNpZ24oJGNlcnRfZmlsZW5hbWUsICRrZXlfZmlsZW5hbWUsICRrZXlfcGFzcywgJGV4dHJhY2VydHNfZmlsZW5hbWUgPSAnJykKICAgIHsKICAgICAgICAkdGhpcy0+c2lnbl9jZXJ0X2ZpbGUgPSAkY2VydF9maWxlbmFtZTsKICAgICAgICAkdGhpcy0+c2lnbl9rZXlfZmlsZSA9ICRrZXlfZmlsZW5hbWU7CiAgICAgICAgJHRoaXMtPnNpZ25fa2V5X3Bhc3MgPSAka2V5X3Bhc3M7CiAgICAgICAgJHRoaXMtPnNpZ25fZXh0cmFjZXJ0c19maWxlID0gJGV4dHJhY2VydHNfZmlsZW5hbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBRdW90ZWQtUHJpbnRhYmxlLWVuY29kZSBhIERLSU0gaGVhZGVyLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHR4dAogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIERLSU1fUVAoJHR4dCkKICAgIHsKICAgICAgICAkbGluZSA9ICcnOwogICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IHN0cmxlbigkdHh0KTsgJGkrKykgewogICAgICAgICAgICAkb3JkID0gb3JkKCR0eHRbJGldKTsKICAgICAgICAgICAgaWYgKCgoMHgyMSA8PSAkb3JkKSAmJiAoJG9yZCA8PSAweDNBKSkgfHwgJG9yZCA9PSAweDNDIHx8ICgoMHgzRSA8PSAkb3JkKSAmJiAoJG9yZCA8PSAweDdFKSkpIHsKICAgICAgICAgICAgICAgICRsaW5lIC49ICR0eHRbJGldOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGxpbmUgLj0gJz0nIC4gc3ByaW50ZignJTAyWCcsICRvcmQpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAkbGluZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdlbmVyYXRlIGEgREtJTSBzaWduYXR1cmUuCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHBhcmFtIHN0cmluZyAkc2lnbkhlYWRlcgogICAgICogQHRocm93cyBwaHBtYWlsZXJFeGNlcHRpb24KICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBES0lNX1NpZ24oJHNpZ25IZWFkZXIpCiAgICB7CiAgICAgICAgaWYgKCFkZWZpbmVkKCdQS0NTN19URVhUJykpIHsKICAgICAgICAgICAgaWYgKCR0aGlzLT5leGNlcHRpb25zKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgcGhwbWFpbGVyRXhjZXB0aW9uKCR0aGlzLT5sYW5nKCdleHRlbnNpb25fbWlzc2luZycpIC4gJ29wZW5zc2wnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQogICAgICAgICRwcml2S2V5U3RyID0gZmlsZV9nZXRfY29udGVudHMoJHRoaXMtPkRLSU1fcHJpdmF0ZSk7CiAgICAgICAgaWYgKCR0aGlzLT5ES0lNX3Bhc3NwaHJhc2UgIT0gJycpIHsKICAgICAgICAgICAgJHByaXZLZXkgPSBvcGVuc3NsX3BrZXlfZ2V0X3ByaXZhdGUoJHByaXZLZXlTdHIsICR0aGlzLT5ES0lNX3Bhc3NwaHJhc2UpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRwcml2S2V5ID0gJHByaXZLZXlTdHI7CiAgICAgICAgfQogICAgICAgIGlmIChvcGVuc3NsX3NpZ24oJHNpZ25IZWFkZXIsICRzaWduYXR1cmUsICRwcml2S2V5KSkgewogICAgICAgICAgICByZXR1cm4gYmFzZTY0X2VuY29kZSgkc2lnbmF0dXJlKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICcnOwogICAgfQoKICAgIC8qKgogICAgICogR2VuZXJhdGUgYSBES0lNIGNhbm9uaWNhbGl6YXRpb24gaGVhZGVyLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHNpZ25IZWFkZXIgSGVhZGVyCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gREtJTV9IZWFkZXJDKCRzaWduSGVhZGVyKQogICAgewogICAgICAgICRzaWduSGVhZGVyID0gcHJlZ19yZXBsYWNlKCcvXHJcblxzKy8nLCAnICcsICRzaWduSGVhZGVyKTsKICAgICAgICAkbGluZXMgPSBleHBsb2RlKCJcclxuIiwgJHNpZ25IZWFkZXIpOwogICAgICAgIGZvcmVhY2ggKCRsaW5lcyBhcyAka2V5ID0+ICRsaW5lKSB7CiAgICAgICAgICAgIGxpc3QoJGhlYWRpbmcsICR2YWx1ZSkgPSBleHBsb2RlKCc6JywgJGxpbmUsIDIpOwogICAgICAgICAgICAkaGVhZGluZyA9IHN0cnRvbG93ZXIoJGhlYWRpbmcpOwogICAgICAgICAgICAkdmFsdWUgPSBwcmVnX3JlcGxhY2UoJy9ccysvJywgJyAnLCAkdmFsdWUpOyAvLyBDb21wcmVzcyB1c2VsZXNzIHNwYWNlcwogICAgICAgICAgICAkbGluZXNbJGtleV0gPSAkaGVhZGluZyAuICc6JyAuIHRyaW0oJHZhbHVlKTsgLy8gRG9uJ3QgZm9yZ2V0IHRvIHJlbW92ZSBXU1AgYXJvdW5kIHRoZSB2YWx1ZQogICAgICAgIH0KICAgICAgICAkc2lnbkhlYWRlciA9IGltcGxvZGUoIlxyXG4iLCAkbGluZXMpOwogICAgICAgIHJldHVybiAkc2lnbkhlYWRlcjsKICAgIH0KCiAgICAvKioKICAgICAqIEdlbmVyYXRlIGEgREtJTSBjYW5vbmljYWxpemF0aW9uIGJvZHkuCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHBhcmFtIHN0cmluZyAkYm9keSBNZXNzYWdlIEJvZHkKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBES0lNX0JvZHlDKCRib2R5KQogICAgewogICAgICAgIGlmICgkYm9keSA9PSAnJykgewogICAgICAgICAgICByZXR1cm4gIlxyXG4iOwogICAgICAgIH0KICAgICAgICAvLyBzdGFiaWxpemUgbGluZSBlbmRpbmdzCiAgICAgICAgJGJvZHkgPSBzdHJfcmVwbGFjZSgiXHJcbiIsICJcbiIsICRib2R5KTsKICAgICAgICAkYm9keSA9IHN0cl9yZXBsYWNlKCJcbiIsICJcclxuIiwgJGJvZHkpOwogICAgICAgIC8vIEVORCBzdGFiaWxpemUgbGluZSBlbmRpbmdzCiAgICAgICAgd2hpbGUgKHN1YnN0cigkYm9keSwgc3RybGVuKCRib2R5KSAtIDQsIDQpID09ICJcclxuXHJcbiIpIHsKICAgICAgICAgICAgJGJvZHkgPSBzdWJzdHIoJGJvZHksIDAsIHN0cmxlbigkYm9keSkgLSAyKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRib2R5OwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIHRoZSBES0lNIGhlYWRlciBhbmQgYm9keSBpbiBhIG5ldyBtZXNzYWdlIGhlYWRlci4KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcGFyYW0gc3RyaW5nICRoZWFkZXJzX2xpbmUgSGVhZGVyIGxpbmVzCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdWJqZWN0IFN1YmplY3QKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJvZHkgQm9keQogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIERLSU1fQWRkKCRoZWFkZXJzX2xpbmUsICRzdWJqZWN0LCAkYm9keSkKICAgIHsKICAgICAgICAkREtJTXNpZ25hdHVyZVR5cGUgPSAncnNhLXNoYTEnOyAvLyBTaWduYXR1cmUgJiBoYXNoIGFsZ29yaXRobXMKICAgICAgICAkREtJTWNhbm9uaWNhbGl6YXRpb24gPSAncmVsYXhlZC9zaW1wbGUnOyAvLyBDYW5vbmljYWxpemF0aW9uIG9mIGhlYWRlci9ib2R5CiAgICAgICAgJERLSU1xdWVyeSA9ICdkbnMvdHh0JzsgLy8gUXVlcnkgbWV0aG9kCiAgICAgICAgJERLSU10aW1lID0gdGltZSgpOyAvLyBTaWduYXR1cmUgVGltZXN0YW1wID0gc2Vjb25kcyBzaW5jZSAwMDowMDowMCAtIEphbiAxLCAxOTcwIChVVEMgdGltZSB6b25lKQogICAgICAgICRzdWJqZWN0X2hlYWRlciA9ICJTdWJqZWN0OiAkc3ViamVjdCI7CiAgICAgICAgJGhlYWRlcnMgPSBleHBsb2RlKCR0aGlzLT5MRSwgJGhlYWRlcnNfbGluZSk7CiAgICAgICAgJGZyb21faGVhZGVyID0gJyc7CiAgICAgICAgJHRvX2hlYWRlciA9ICcnOwogICAgICAgICRjdXJyZW50ID0gJyc7CiAgICAgICAgZm9yZWFjaCAoJGhlYWRlcnMgYXMgJGhlYWRlcikgewogICAgICAgICAgICBpZiAoc3RycG9zKCRoZWFkZXIsICdGcm9tOicpID09PSAwKSB7CiAgICAgICAgICAgICAgICAkZnJvbV9oZWFkZXIgPSAkaGVhZGVyOwogICAgICAgICAgICAgICAgJGN1cnJlbnQgPSAnZnJvbV9oZWFkZXInOwogICAgICAgICAgICB9IGVsc2VpZiAoc3RycG9zKCRoZWFkZXIsICdUbzonKSA9PT0gMCkgewogICAgICAgICAgICAgICAgJHRvX2hlYWRlciA9ICRoZWFkZXI7CiAgICAgICAgICAgICAgICAkY3VycmVudCA9ICd0b19oZWFkZXInOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKCFlbXB0eSgkJGN1cnJlbnQpICYmIHN0cnBvcygkaGVhZGVyLCAnID0/JykgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAkJGN1cnJlbnQgLj0gJGhlYWRlcjsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnQgPSAnJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkZnJvbSA9IHN0cl9yZXBsYWNlKCd8JywgJz03QycsICR0aGlzLT5ES0lNX1FQKCRmcm9tX2hlYWRlcikpOwogICAgICAgICR0byA9IHN0cl9yZXBsYWNlKCd8JywgJz03QycsICR0aGlzLT5ES0lNX1FQKCR0b19oZWFkZXIpKTsKICAgICAgICAkc3ViamVjdCA9IHN0cl9yZXBsYWNlKAogICAgICAgICAgICAnfCcsCiAgICAgICAgICAgICc9N0MnLAogICAgICAgICAgICAkdGhpcy0+REtJTV9RUCgkc3ViamVjdF9oZWFkZXIpCiAgICAgICAgKTsgLy8gQ29waWVkIGhlYWRlciBmaWVsZHMgKGRraW0tcXVvdGVkLXByaW50YWJsZSkKICAgICAgICAkYm9keSA9ICR0aGlzLT5ES0lNX0JvZHlDKCRib2R5KTsKICAgICAgICAkREtJTWxlbiA9IHN0cmxlbigkYm9keSk7IC8vIExlbmd0aCBvZiBib2R5CiAgICAgICAgJERLSU1iNjQgPSBiYXNlNjRfZW5jb2RlKHBhY2soJ0gqJywgc2hhMSgkYm9keSkpKTsgLy8gQmFzZTY0IG9mIHBhY2tlZCBiaW5hcnkgU0hBLTEgaGFzaCBvZiBib2R5CiAgICAgICAgaWYgKCcnID09ICR0aGlzLT5ES0lNX2lkZW50aXR5KSB7CiAgICAgICAgICAgICRpZGVudCA9ICcnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRpZGVudCA9ICcgaT0nIC4gJHRoaXMtPkRLSU1faWRlbnRpdHkgLiAnOyc7CiAgICAgICAgfQogICAgICAgICRka2ltaGRycyA9ICdES0lNLVNpZ25hdHVyZTogdj0xOyBhPScgLgogICAgICAgICAgICAkREtJTXNpZ25hdHVyZVR5cGUgLiAnOyBxPScgLgogICAgICAgICAgICAkREtJTXF1ZXJ5IC4gJzsgbD0nIC4KICAgICAgICAgICAgJERLSU1sZW4gLiAnOyBzPScgLgogICAgICAgICAgICAkdGhpcy0+REtJTV9zZWxlY3RvciAuCiAgICAgICAgICAgICI7XHJcbiIgLgogICAgICAgICAgICAiXHR0PSIgLiAkREtJTXRpbWUgLiAnOyBjPScgLiAkREtJTWNhbm9uaWNhbGl6YXRpb24gLiAiO1xyXG4iIC4KICAgICAgICAgICAgIlx0aD1Gcm9tOlRvOlN1YmplY3Q7XHJcbiIgLgogICAgICAgICAgICAiXHRkPSIgLiAkdGhpcy0+REtJTV9kb21haW4gLiAnOycgLiAkaWRlbnQgLiAiXHJcbiIgLgogICAgICAgICAgICAiXHR6PSRmcm9tXHJcbiIgLgogICAgICAgICAgICAiXHR8JHRvXHJcbiIgLgogICAgICAgICAgICAiXHR8JHN1YmplY3Q7XHJcbiIgLgogICAgICAgICAgICAiXHRiaD0iIC4gJERLSU1iNjQgLiAiO1xyXG4iIC4KICAgICAgICAgICAgIlx0Yj0iOwogICAgICAgICR0b1NpZ24gPSAkdGhpcy0+REtJTV9IZWFkZXJDKAogICAgICAgICAgICAkZnJvbV9oZWFkZXIgLiAiXHJcbiIgLgogICAgICAgICAgICAkdG9faGVhZGVyIC4gIlxyXG4iIC4KICAgICAgICAgICAgJHN1YmplY3RfaGVhZGVyIC4gIlxyXG4iIC4KICAgICAgICAgICAgJGRraW1oZHJzCiAgICAgICAgKTsKICAgICAgICAkc2lnbmVkID0gJHRoaXMtPkRLSU1fU2lnbigkdG9TaWduKTsKICAgICAgICByZXR1cm4gJGRraW1oZHJzIC4gJHNpZ25lZCAuICJcclxuIjsKICAgIH0KCiAgICAvKioKICAgICAqIERldGVjdCBpZiBhIHN0cmluZyBjb250YWlucyBhIGxpbmUgbG9uZ2VyIHRoYW4gdGhlIG1heGltdW0gbGluZSBsZW5ndGggYWxsb3dlZC4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0cgogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKiBAc3RhdGljCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaGFzTGluZUxvbmdlclRoYW5NYXgoJHN0cikKICAgIHsKICAgICAgICAvLysyIHRvIGluY2x1ZGUgQ1JMRiBsaW5lIGJyZWFrIGZvciBhIDEwMDAgdG90YWwKICAgICAgICByZXR1cm4gKGJvb2xlYW4pcHJlZ19tYXRjaCgnL14oLnsnLihzZWxmOjpNQVhfTElORV9MRU5HVEggKyAyKS4nLH0pL20nLCAkc3RyKTsKICAgIH0KCiAgICAvKioKICAgICAqIEFsbG93cyBmb3IgcHVibGljIHJlYWQgYWNjZXNzIHRvICd0bycgcHJvcGVydHkuCiAgICAgKiBAbm90ZTogQmVmb3JlIHRoZSBzZW5kKCkgY2FsbCwgcXVldWVkIGFkZHJlc3NlcyAoaS5lLiB3aXRoIElETikgYXJlIG5vdCB5ZXQgaW5jbHVkZWQuCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VG9BZGRyZXNzZXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dG87CiAgICB9CgogICAgLyoqCiAgICAgKiBBbGxvd3MgZm9yIHB1YmxpYyByZWFkIGFjY2VzcyB0byAnY2MnIHByb3BlcnR5LgogICAgICogQG5vdGU6IEJlZm9yZSB0aGUgc2VuZCgpIGNhbGwsIHF1ZXVlZCBhZGRyZXNzZXMgKGkuZS4gd2l0aCBJRE4pIGFyZSBub3QgeWV0IGluY2x1ZGVkLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENjQWRkcmVzc2VzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNjOwogICAgfQoKICAgIC8qKgogICAgICogQWxsb3dzIGZvciBwdWJsaWMgcmVhZCBhY2Nlc3MgdG8gJ2JjYycgcHJvcGVydHkuCiAgICAgKiBAbm90ZTogQmVmb3JlIHRoZSBzZW5kKCkgY2FsbCwgcXVldWVkIGFkZHJlc3NlcyAoaS5lLiB3aXRoIElETikgYXJlIG5vdCB5ZXQgaW5jbHVkZWQuCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0QmNjQWRkcmVzc2VzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmJjYzsKICAgIH0KCiAgICAvKioKICAgICAqIEFsbG93cyBmb3IgcHVibGljIHJlYWQgYWNjZXNzIHRvICdSZXBseVRvJyBwcm9wZXJ0eS4KICAgICAqIEBub3RlOiBCZWZvcmUgdGhlIHNlbmQoKSBjYWxsLCBxdWV1ZWQgYWRkcmVzc2VzIChpLmUuIHdpdGggSUROKSBhcmUgbm90IHlldCBpbmNsdWRlZC4KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXBseVRvQWRkcmVzc2VzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPlJlcGx5VG87CiAgICB9CgogICAgLyoqCiAgICAgKiBBbGxvd3MgZm9yIHB1YmxpYyByZWFkIGFjY2VzcyB0byAnYWxsX3JlY2lwaWVudHMnIHByb3BlcnR5LgogICAgICogQG5vdGU6IEJlZm9yZSB0aGUgc2VuZCgpIGNhbGwsIHF1ZXVlZCBhZGRyZXNzZXMgKGkuZS4gd2l0aCBJRE4pIGFyZSBub3QgeWV0IGluY2x1ZGVkLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFsbFJlY2lwaWVudEFkZHJlc3NlcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5hbGxfcmVjaXBpZW50czsKICAgIH0KCiAgICAvKioKICAgICAqIFBlcmZvcm0gYSBjYWxsYmFjay4KICAgICAqIEBwYXJhbSBib29sZWFuICRpc1NlbnQKICAgICAqIEBwYXJhbSBhcnJheSAkdG8KICAgICAqIEBwYXJhbSBhcnJheSAkY2MKICAgICAqIEBwYXJhbSBhcnJheSAkYmNjCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdWJqZWN0CiAgICAgKiBAcGFyYW0gc3RyaW5nICRib2R5CiAgICAgKiBAcGFyYW0gc3RyaW5nICRmcm9tCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBkb0NhbGxiYWNrKCRpc1NlbnQsICR0bywgJGNjLCAkYmNjLCAkc3ViamVjdCwgJGJvZHksICRmcm9tKQogICAgewogICAgICAgIGlmICghZW1wdHkoJHRoaXMtPmFjdGlvbl9mdW5jdGlvbikgJiYgaXNfY2FsbGFibGUoJHRoaXMtPmFjdGlvbl9mdW5jdGlvbikpIHsKICAgICAgICAgICAgJHBhcmFtcyA9IGFycmF5KCRpc1NlbnQsICR0bywgJGNjLCAkYmNjLCAkc3ViamVjdCwgJGJvZHksICRmcm9tKTsKICAgICAgICAgICAgY2FsbF91c2VyX2Z1bmNfYXJyYXkoJHRoaXMtPmFjdGlvbl9mdW5jdGlvbiwgJHBhcmFtcyk7CiAgICAgICAgfQogICAgfQp9CgovKioKICogUEhQTWFpbGVyIGV4Y2VwdGlvbiBoYW5kbGVyCiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKi8KY2xhc3MgcGhwbWFpbGVyRXhjZXB0aW9uIGV4dGVuZHMgRXhjZXB0aW9uCnsKICAgIC8qKgogICAgICogUHJldHRpZnkgZXJyb3IgbWVzc2FnZSBvdXRwdXQKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBlcnJvck1lc3NhZ2UoKQogICAgewogICAgICAgICRlcnJvck1zZyA9ICc8c3Ryb25nPicgLiAkdGhpcy0+Z2V0TWVzc2FnZSgpIC4gIjwvc3Ryb25nPjxiciAvPlxuIjsKICAgICAgICByZXR1cm4gJGVycm9yTXNnOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/class.pop3.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFBIUE1haWxlciBQT1AtQmVmb3JlLVNNVFAgQXV0aGVudGljYXRpb24gQ2xhc3MuCiAqIFBIUCBWZXJzaW9uIDUKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9QSFBNYWlsZXIvUEhQTWFpbGVyLwogKiBAYXV0aG9yIE1hcmN1cyBCb2ludG9uIChTeW5jaHJvL2Nvb2xicnUpIDxwaHBtYWlsZXJAc3luY2hyb21lZGlhLmNvLnVrPgogKiBAYXV0aG9yIEppbSBKYWdpZWxza2kgKGppbWphZykgPGppbWphZ0BnbWFpbC5jb20+CiAqIEBhdXRob3IgQW5keSBQcmV2b3N0IChjb2Rld29yeHRlY2gpIDxjb2Rld29yeHRlY2hAdXNlcnMuc291cmNlZm9yZ2UubmV0PgogKiBAYXV0aG9yIEJyZW50IFIuIE1hdHplbGxlIChvcmlnaW5hbCBmb3VuZGVyKQogKiBAY29weXJpZ2h0IDIwMTIgLSAyMDE0IE1hcmN1cyBCb2ludG9uCiAqIEBjb3B5cmlnaHQgMjAxMCAtIDIwMTIgSmltIEphZ2llbHNraQogKiBAY29weXJpZ2h0IDIwMDQgLSAyMDA5IEFuZHkgUHJldm9zdAogKiBAbGljZW5zZSBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvbGVzc2VyLmh0bWwgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAqIEBub3RlIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsIC0gV0lUSE9VVAogKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCiAqLwoKLyoqCiAqIFBIUE1haWxlciBQT1AtQmVmb3JlLVNNVFAgQXV0aGVudGljYXRpb24gQ2xhc3MuCiAqIFNwZWNpZmljYWxseSBmb3IgUEhQTWFpbGVyIHRvIHVzZSBmb3IgUkZDMTkzOSBQT1AtYmVmb3JlLVNNVFAgYXV0aGVudGljYXRpb24uCiAqIERvZXMgbm90IHN1cHBvcnQgQVBPUC4KICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBhdXRob3IgUmljaGFyZCBEYXZleSAob3JpZ2luYWwgYXV0aG9yKSA8cmljaEBjb3JlcGhwLmNvLnVrPgogKiBAYXV0aG9yIE1hcmN1cyBCb2ludG9uIChTeW5jaHJvL2Nvb2xicnUpIDxwaHBtYWlsZXJAc3luY2hyb21lZGlhLmNvLnVrPgogKiBAYXV0aG9yIEppbSBKYWdpZWxza2kgKGppbWphZykgPGppbWphZ0BnbWFpbC5jb20+CiAqIEBhdXRob3IgQW5keSBQcmV2b3N0IChjb2Rld29yeHRlY2gpIDxjb2Rld29yeHRlY2hAdXNlcnMuc291cmNlZm9yZ2UubmV0PgogKi8KY2xhc3MgUE9QMwp7CiAgICAvKioKICAgICAqIFRoZSBQT1AzIFBIUE1haWxlciBWZXJzaW9uIG51bWJlci4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICovCiAgICBwdWJsaWMgJFZlcnNpb24gPSAnNS4yLjE0JzsKCiAgICAvKioKICAgICAqIERlZmF1bHQgUE9QMyBwb3J0IG51bWJlci4KICAgICAqIEB2YXIgaW50ZWdlcgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqLwogICAgcHVibGljICRQT1AzX1BPUlQgPSAxMTA7CgogICAgLyoqCiAgICAgKiBEZWZhdWx0IHRpbWVvdXQgaW4gc2Vjb25kcy4KICAgICAqIEB2YXIgaW50ZWdlcgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqLwogICAgcHVibGljICRQT1AzX1RJTUVPVVQgPSAzMDsKCiAgICAvKioKICAgICAqIFBPUDMgQ2FycmlhZ2UgUmV0dXJuICsgTGluZSBGZWVkLgogICAgICogQHZhciBzdHJpbmcKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGNvbnN0YW50IGluc3RlYWQKICAgICAqLwogICAgcHVibGljICRDUkxGID0gIlxyXG4iOwoKICAgIC8qKgogICAgICogRGVidWcgZGlzcGxheSBsZXZlbC4KICAgICAqIE9wdGlvbnM6IDAgPSBubywgMSsgPSB5ZXMKICAgICAqIEB2YXIgaW50ZWdlcgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqLwogICAgcHVibGljICRkb19kZWJ1ZyA9IDA7CgogICAgLyoqCiAgICAgKiBQT1AzIG1haWwgc2VydmVyIGhvc3RuYW1lLgogICAgICogQHZhciBzdHJpbmcKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKi8KICAgIHB1YmxpYyAkaG9zdDsKCiAgICAvKioKICAgICAqIFBPUDMgcG9ydCBudW1iZXIuCiAgICAgKiBAdmFyIGludGVnZXIKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKi8KICAgIHB1YmxpYyAkcG9ydDsKCiAgICAvKioKICAgICAqIFBPUDMgVGltZW91dCBWYWx1ZSBpbiBzZWNvbmRzLgogICAgICogQHZhciBpbnRlZ2VyCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICovCiAgICBwdWJsaWMgJHR2YWw7CgogICAgLyoqCiAgICAgKiBQT1AzIHVzZXJuYW1lCiAgICAgKiBAdmFyIHN0cmluZwogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqLwogICAgcHVibGljICR1c2VybmFtZTsKCiAgICAvKioKICAgICAqIFBPUDMgcGFzc3dvcmQuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqLwogICAgcHVibGljICRwYXNzd29yZDsKCiAgICAvKioKICAgICAqIFJlc291cmNlIGhhbmRsZSBmb3IgdGhlIFBPUDMgY29ubmVjdGlvbiBzb2NrZXQuCiAgICAgKiBAdmFyIHJlc291cmNlCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICovCiAgICBwcm90ZWN0ZWQgJHBvcF9jb25uOwoKICAgIC8qKgogICAgICogQXJlIHdlIGNvbm5lY3RlZD8KICAgICAqIEB2YXIgYm9vbGVhbgogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqLwogICAgcHJvdGVjdGVkICRjb25uZWN0ZWQgPSBmYWxzZTsKCiAgICAvKioKICAgICAqIEVycm9yIGNvbnRhaW5lci4KICAgICAqIEB2YXIgYXJyYXkKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCAkZXJyb3JzID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIExpbmUgYnJlYWsgY29uc3RhbnQKICAgICAqLwogICAgY29uc3QgQ1JMRiA9ICJcclxuIjsKCiAgICAvKioKICAgICAqIFNpbXBsZSBzdGF0aWMgd3JhcHBlciBmb3IgYWxsLWluLW9uZSBQT1AgYmVmb3JlIFNNVFAKICAgICAqIEBwYXJhbSAkaG9zdAogICAgICogQHBhcmFtIGludGVnZXJ8Ym9vbGVhbiAkcG9ydCBUaGUgcG9ydCBudW1iZXIgdG8gY29ubmVjdCB0bwogICAgICogQHBhcmFtIGludGVnZXJ8Ym9vbGVhbiAkdGltZW91dCBUaGUgdGltZW91dCB2YWx1ZQogICAgICogQHBhcmFtIHN0cmluZyAkdXNlcm5hbWUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBhc3N3b3JkCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkZGVidWdfbGV2ZWwKICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHBvcEJlZm9yZVNtdHAoCiAgICAgICAgJGhvc3QsCiAgICAgICAgJHBvcnQgPSBmYWxzZSwKICAgICAgICAkdGltZW91dCA9IGZhbHNlLAogICAgICAgICR1c2VybmFtZSA9ICcnLAogICAgICAgICRwYXNzd29yZCA9ICcnLAogICAgICAgICRkZWJ1Z19sZXZlbCA9IDAKICAgICkgewogICAgICAgICRwb3AgPSBuZXcgUE9QMzsKICAgICAgICByZXR1cm4gJHBvcC0+YXV0aG9yaXNlKCRob3N0LCAkcG9ydCwgJHRpbWVvdXQsICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkZGVidWdfbGV2ZWwpOwogICAgfQoKICAgIC8qKgogICAgICogQXV0aGVudGljYXRlIHdpdGggYSBQT1AzIHNlcnZlci4KICAgICAqIEEgY29ubmVjdCwgbG9naW4sIGRpc2Nvbm5lY3Qgc2VxdWVuY2UKICAgICAqIGFwcHJvcHJpYXRlIGZvciBQT1AtYmVmb3JlIFNNVFAgYXV0aG9yaXNhdGlvbi4KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcGFyYW0gc3RyaW5nICRob3N0IFRoZSBob3N0bmFtZSB0byBjb25uZWN0IHRvCiAgICAgKiBAcGFyYW0gaW50ZWdlcnxib29sZWFuICRwb3J0IFRoZSBwb3J0IG51bWJlciB0byBjb25uZWN0IHRvCiAgICAgKiBAcGFyYW0gaW50ZWdlcnxib29sZWFuICR0aW1lb3V0IFRoZSB0aW1lb3V0IHZhbHVlCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1c2VybmFtZQogICAgICogQHBhcmFtIHN0cmluZyAkcGFzc3dvcmQKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRkZWJ1Z19sZXZlbAogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhdXRob3Jpc2UoJGhvc3QsICRwb3J0ID0gZmFsc2UsICR0aW1lb3V0ID0gZmFsc2UsICR1c2VybmFtZSA9ICcnLCAkcGFzc3dvcmQgPSAnJywgJGRlYnVnX2xldmVsID0gMCkKICAgIHsKICAgICAgICAkdGhpcy0+aG9zdCA9ICRob3N0OwogICAgICAgIC8vIElmIG5vIHBvcnQgdmFsdWUgcHJvdmlkZWQsIHVzZSBkZWZhdWx0CiAgICAgICAgaWYgKGZhbHNlID09PSAkcG9ydCkgewogICAgICAgICAgICAkdGhpcy0+cG9ydCA9ICR0aGlzLT5QT1AzX1BPUlQ7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPnBvcnQgPSAoaW50ZWdlcikkcG9ydDsKICAgICAgICB9CiAgICAgICAgLy8gSWYgbm8gdGltZW91dCB2YWx1ZSBwcm92aWRlZCwgdXNlIGRlZmF1bHQKICAgICAgICBpZiAoZmFsc2UgPT09ICR0aW1lb3V0KSB7CiAgICAgICAgICAgICR0aGlzLT50dmFsID0gJHRoaXMtPlBPUDNfVElNRU9VVDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+dHZhbCA9IChpbnRlZ2VyKSR0aW1lb3V0OwogICAgICAgIH0KICAgICAgICAkdGhpcy0+ZG9fZGVidWcgPSAkZGVidWdfbGV2ZWw7CiAgICAgICAgJHRoaXMtPnVzZXJuYW1lID0gJHVzZXJuYW1lOwogICAgICAgICR0aGlzLT5wYXNzd29yZCA9ICRwYXNzd29yZDsKICAgICAgICAvLyAgUmVzZXQgdGhlIGVycm9yIGxvZwogICAgICAgICR0aGlzLT5lcnJvcnMgPSBhcnJheSgpOwogICAgICAgIC8vICBjb25uZWN0CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jb25uZWN0KCR0aGlzLT5ob3N0LCAkdGhpcy0+cG9ydCwgJHRoaXMtPnR2YWwpOwogICAgICAgIGlmICgkcmVzdWx0KSB7CiAgICAgICAgICAgICRsb2dpbl9yZXN1bHQgPSAkdGhpcy0+bG9naW4oJHRoaXMtPnVzZXJuYW1lLCAkdGhpcy0+cGFzc3dvcmQpOwogICAgICAgICAgICBpZiAoJGxvZ2luX3Jlc3VsdCkgewogICAgICAgICAgICAgICAgJHRoaXMtPmRpc2Nvbm5lY3QoKTsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIFdlIG5lZWQgdG8gZGlzY29ubmVjdCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGxvZ2luIHN1Y2NlZWRlZAogICAgICAgICR0aGlzLT5kaXNjb25uZWN0KCk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogQ29ubmVjdCB0byBhIFBPUDMgc2VydmVyLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJGhvc3QKICAgICAqIEBwYXJhbSBpbnRlZ2VyfGJvb2xlYW4gJHBvcnQKICAgICAqIEBwYXJhbSBpbnRlZ2VyICR0dmFsCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvbm5lY3QoJGhvc3QsICRwb3J0ID0gZmFsc2UsICR0dmFsID0gMzApCiAgICB7CiAgICAgICAgLy8gIEFyZSB3ZSBhbHJlYWR5IGNvbm5lY3RlZD8KICAgICAgICBpZiAoJHRoaXMtPmNvbm5lY3RlZCkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIC8vT24gV2luZG93cyB0aGlzIHdpbGwgcmFpc2UgYSBQSFAgV2FybmluZyBlcnJvciBpZiB0aGUgaG9zdG5hbWUgZG9lc24ndCBleGlzdC4KICAgICAgICAvL1JhdGhlciB0aGFuIHN1cHByZXNzIGl0IHdpdGggQGZzb2Nrb3BlbiwgY2FwdHVyZSBpdCBjbGVhbmx5IGluc3RlYWQKICAgICAgICBzZXRfZXJyb3JfaGFuZGxlcihhcnJheSgkdGhpcywgJ2NhdGNoV2FybmluZycpKTsKCiAgICAgICAgaWYgKGZhbHNlID09PSAkcG9ydCkgewogICAgICAgICAgICAkcG9ydCA9ICR0aGlzLT5QT1AzX1BPUlQ7CiAgICAgICAgfQoKICAgICAgICAvLyAgY29ubmVjdCB0byB0aGUgUE9QMyBzZXJ2ZXIKICAgICAgICAkdGhpcy0+cG9wX2Nvbm4gPSBmc29ja29wZW4oCiAgICAgICAgICAgICRob3N0LCAvLyAgUE9QMyBIb3N0CiAgICAgICAgICAgICRwb3J0LCAvLyAgUG9ydCAjCiAgICAgICAgICAgICRlcnJubywgLy8gIEVycm9yIE51bWJlcgogICAgICAgICAgICAkZXJyc3RyLCAvLyAgRXJyb3IgTWVzc2FnZQogICAgICAgICAgICAkdHZhbAogICAgICAgICk7IC8vICBUaW1lb3V0IChzZWNvbmRzKQogICAgICAgIC8vICBSZXN0b3JlIHRoZSBlcnJvciBoYW5kbGVyCiAgICAgICAgcmVzdG9yZV9lcnJvcl9oYW5kbGVyKCk7CgogICAgICAgIC8vICBEaWQgd2UgY29ubmVjdD8KICAgICAgICBpZiAoZmFsc2UgPT09ICR0aGlzLT5wb3BfY29ubikgewogICAgICAgICAgICAvLyAgSXQgd291bGQgYXBwZWFyIG5vdC4uLgogICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoYXJyYXkoCiAgICAgICAgICAgICAgICAnZXJyb3InID0+ICJGYWlsZWQgdG8gY29ubmVjdCB0byBzZXJ2ZXIgJGhvc3Qgb24gcG9ydCAkcG9ydCIsCiAgICAgICAgICAgICAgICAnZXJybm8nID0+ICRlcnJubywKICAgICAgICAgICAgICAgICdlcnJzdHInID0+ICRlcnJzdHIKICAgICAgICAgICAgKSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIC8vICBJbmNyZWFzZSB0aGUgc3RyZWFtIHRpbWUtb3V0CiAgICAgICAgc3RyZWFtX3NldF90aW1lb3V0KCR0aGlzLT5wb3BfY29ubiwgJHR2YWwsIDApOwoKICAgICAgICAvLyAgR2V0IHRoZSBQT1AzIHNlcnZlciByZXNwb25zZQogICAgICAgICRwb3AzX3Jlc3BvbnNlID0gJHRoaXMtPmdldFJlc3BvbnNlKCk7CiAgICAgICAgLy8gIENoZWNrIGZvciB0aGUgK09LCiAgICAgICAgaWYgKCR0aGlzLT5jaGVja1Jlc3BvbnNlKCRwb3AzX3Jlc3BvbnNlKSkgewogICAgICAgICAgICAvLyAgVGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQgYW5kIHRoZSBQT1AzIHNlcnZlciBpcyB0YWxraW5nCiAgICAgICAgICAgICR0aGlzLT5jb25uZWN0ZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogTG9nIGluIHRvIHRoZSBQT1AzIHNlcnZlci4KICAgICAqIERvZXMgbm90IHN1cHBvcnQgQVBPUCAoUkZDIDI4MjgsIDQ5NDkpLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVzZXJuYW1lCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXNzd29yZAogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dpbigkdXNlcm5hbWUgPSAnJywgJHBhc3N3b3JkID0gJycpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+Y29ubmVjdGVkKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRFcnJvcignTm90IGNvbm5lY3RlZCB0byBQT1AzIHNlcnZlcicpOwogICAgICAgIH0KICAgICAgICBpZiAoZW1wdHkoJHVzZXJuYW1lKSkgewogICAgICAgICAgICAkdXNlcm5hbWUgPSAkdGhpcy0+dXNlcm5hbWU7CiAgICAgICAgfQogICAgICAgIGlmIChlbXB0eSgkcGFzc3dvcmQpKSB7CiAgICAgICAgICAgICRwYXNzd29yZCA9ICR0aGlzLT5wYXNzd29yZDsKICAgICAgICB9CgogICAgICAgIC8vIFNlbmQgdGhlIFVzZXJuYW1lCiAgICAgICAgJHRoaXMtPnNlbmRTdHJpbmcoIlVTRVIgJHVzZXJuYW1lIiAuIHNlbGY6OkNSTEYpOwogICAgICAgICRwb3AzX3Jlc3BvbnNlID0gJHRoaXMtPmdldFJlc3BvbnNlKCk7CiAgICAgICAgaWYgKCR0aGlzLT5jaGVja1Jlc3BvbnNlKCRwb3AzX3Jlc3BvbnNlKSkgewogICAgICAgICAgICAvLyBTZW5kIHRoZSBQYXNzd29yZAogICAgICAgICAgICAkdGhpcy0+c2VuZFN0cmluZygiUEFTUyAkcGFzc3dvcmQiIC4gc2VsZjo6Q1JMRik7CiAgICAgICAgICAgICRwb3AzX3Jlc3BvbnNlID0gJHRoaXMtPmdldFJlc3BvbnNlKCk7CiAgICAgICAgICAgIGlmICgkdGhpcy0+Y2hlY2tSZXNwb25zZSgkcG9wM19yZXNwb25zZSkpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIERpc2Nvbm5lY3QgZnJvbSB0aGUgUE9QMyBzZXJ2ZXIuCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZGlzY29ubmVjdCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnNlbmRTdHJpbmcoJ1FVSVQnKTsKICAgICAgICAvL1RoZSBRVUlUIGNvbW1hbmQgbWF5IGNhdXNlIHRoZSBkYWVtb24gdG8gZXhpdCwgd2hpY2ggd2lsbCBraWxsIG91ciBjb25uZWN0aW9uCiAgICAgICAgLy9TbyBpZ25vcmUgZXJyb3JzIGhlcmUKICAgICAgICB0cnkgewogICAgICAgICAgICBAZmNsb3NlKCR0aGlzLT5wb3BfY29ubik7CiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIC8vRG8gbm90aGluZwogICAgICAgIH07CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSByZXNwb25zZSBmcm9tIHRoZSBQT1AzIHNlcnZlci4KICAgICAqICRzaXplIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0byByZXRyaWV2ZQogICAgICogQHBhcmFtIGludGVnZXIgJHNpemUKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0UmVzcG9uc2UoJHNpemUgPSAxMjgpCiAgICB7CiAgICAgICAgJHJlc3BvbnNlID0gZmdldHMoJHRoaXMtPnBvcF9jb25uLCAkc2l6ZSk7CiAgICAgICAgaWYgKCR0aGlzLT5kb19kZWJ1ZyA+PSAxKSB7CiAgICAgICAgICAgIGVjaG8gIlNlcnZlciAtPiBDbGllbnQ6ICRyZXNwb25zZSI7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmVzcG9uc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIHJhdyBkYXRhIHRvIHRoZSBQT1AzIHNlcnZlci4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0cmluZwogICAgICogQHJldHVybiBpbnRlZ2VyCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2VuZFN0cmluZygkc3RyaW5nKQogICAgewogICAgICAgIGlmICgkdGhpcy0+cG9wX2Nvbm4pIHsKICAgICAgICAgICAgaWYgKCR0aGlzLT5kb19kZWJ1ZyA+PSAyKSB7IC8vU2hvdyBjbGllbnQgbWVzc2FnZXMgd2hlbiBkZWJ1ZyA+PSAyCiAgICAgICAgICAgICAgICBlY2hvICJDbGllbnQgLT4gU2VydmVyOiAkc3RyaW5nIjsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZndyaXRlKCR0aGlzLT5wb3BfY29ubiwgJHN0cmluZywgc3RybGVuKCRzdHJpbmcpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVja3MgdGhlIFBPUDMgc2VydmVyIHJlc3BvbnNlLgogICAgICogTG9va3MgZm9yIGZvciArT0sgb3IgLUVSUi4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHN0cmluZwogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gY2hlY2tSZXNwb25zZSgkc3RyaW5nKQogICAgewogICAgICAgIGlmIChzdWJzdHIoJHN0cmluZywgMCwgMykgIT09ICcrT0snKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRFcnJvcihhcnJheSgKICAgICAgICAgICAgICAgICdlcnJvcicgPT4gIlNlcnZlciByZXBvcnRlZCBhbiBlcnJvcjogJHN0cmluZyIsCiAgICAgICAgICAgICAgICAnZXJybm8nID0+IDAsCiAgICAgICAgICAgICAgICAnZXJyc3RyJyA9PiAnJwogICAgICAgICAgICApKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhbiBlcnJvciB0byB0aGUgaW50ZXJuYWwgZXJyb3Igc3RvcmUuCiAgICAgKiBBbHNvIGRpc3BsYXkgZGVidWcgb3V0cHV0IGlmIGl0J3MgZW5hYmxlZC4KICAgICAqIEBwYXJhbSAkZXJyb3IKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRFcnJvcigkZXJyb3IpCiAgICB7CiAgICAgICAgJHRoaXMtPmVycm9yc1tdID0gJGVycm9yOwogICAgICAgIGlmICgkdGhpcy0+ZG9fZGVidWcgPj0gMSkgewogICAgICAgICAgICBlY2hvICc8cHJlPic7CiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5lcnJvcnMgYXMgJGVycm9yKSB7CiAgICAgICAgICAgICAgICBwcmludF9yKCRlcnJvcik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWNobyAnPC9wcmU+JzsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gYXJyYXkgb2YgZXJyb3IgbWVzc2FnZXMsIGlmIGFueS4KICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEVycm9ycygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5lcnJvcnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBQT1AzIGNvbm5lY3Rpb24gZXJyb3IgaGFuZGxlci4KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRlcnJubwogICAgICogQHBhcmFtIHN0cmluZyAkZXJyc3RyCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlcnJmaWxlCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkZXJybGluZQogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNhdGNoV2FybmluZygkZXJybm8sICRlcnJzdHIsICRlcnJmaWxlLCAkZXJybGluZSkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0RXJyb3IoYXJyYXkoCiAgICAgICAgICAgICdlcnJvcicgPT4gIkNvbm5lY3RpbmcgdG8gdGhlIFBPUDMgc2VydmVyIHJhaXNlZCBhIFBIUCB3YXJuaW5nOiAiLAogICAgICAgICAgICAnZXJybm8nID0+ICRlcnJubywKICAgICAgICAgICAgJ2VycnN0cicgPT4gJGVycnN0ciwKICAgICAgICAgICAgJ2VycmZpbGUnID0+ICRlcnJmaWxlLAogICAgICAgICAgICAnZXJybGluZScgPT4gJGVycmxpbmUKICAgICAgICApKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/class.smtp.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFBIUE1haWxlciBSRkM4MjEgU01UUCBlbWFpbCB0cmFuc3BvcnQgY2xhc3MuCiAqIFBIUCBWZXJzaW9uIDUKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9QSFBNYWlsZXIvUEhQTWFpbGVyLyBUaGUgUEhQTWFpbGVyIEdpdEh1YiBwcm9qZWN0CiAqIEBhdXRob3IgTWFyY3VzIEJvaW50b24gKFN5bmNocm8vY29vbGJydSkgPHBocG1haWxlckBzeW5jaHJvbWVkaWEuY28udWs+CiAqIEBhdXRob3IgSmltIEphZ2llbHNraSAoamltamFnKSA8amltamFnQGdtYWlsLmNvbT4KICogQGF1dGhvciBBbmR5IFByZXZvc3QgKGNvZGV3b3J4dGVjaCkgPGNvZGV3b3J4dGVjaEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CiAqIEBhdXRob3IgQnJlbnQgUi4gTWF0emVsbGUgKG9yaWdpbmFsIGZvdW5kZXIpCiAqIEBjb3B5cmlnaHQgMjAxNCBNYXJjdXMgQm9pbnRvbgogKiBAY29weXJpZ2h0IDIwMTAgLSAyMDEyIEppbSBKYWdpZWxza2kKICogQGNvcHlyaWdodCAyMDA0IC0gMjAwOSBBbmR5IFByZXZvc3QKICogQGxpY2Vuc2UgaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2xlc3Nlci5odG1sIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiBAbm90ZSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCAtIFdJVEhPVVQKICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yCiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgogKi8KCi8qKgogKiBQSFBNYWlsZXIgUkZDODIxIFNNVFAgZW1haWwgdHJhbnNwb3J0IGNsYXNzLgogKiBJbXBsZW1lbnRzIFJGQyA4MjEgU01UUCBjb21tYW5kcyBhbmQgcHJvdmlkZXMgc29tZSB1dGlsaXR5IG1ldGhvZHMgZm9yIHNlbmRpbmcgbWFpbCB0byBhbiBTTVRQIHNlcnZlci4KICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBhdXRob3IgQ2hyaXMgUnlhbgogKiBAYXV0aG9yIE1hcmN1cyBCb2ludG9uIDxwaHBtYWlsZXJAc3luY2hyb21lZGlhLmNvLnVrPgogKi8KY2xhc3MgU01UUAp7CiAgICAvKioKICAgICAqIFRoZSBQSFBNYWlsZXIgU01UUCB2ZXJzaW9uIG51bWJlci4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIGNvbnN0IFZFUlNJT04gPSAnNS4yLjE0JzsKCiAgICAvKioKICAgICAqIFNNVFAgbGluZSBicmVhayBjb25zdGFudC4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKi8KICAgIGNvbnN0IENSTEYgPSAiXHJcbiI7CgogICAgLyoqCiAgICAgKiBUaGUgU01UUCBwb3J0IHRvIHVzZSBpZiBvbmUgaXMgbm90IHNwZWNpZmllZC4KICAgICAqIEB2YXIgaW50ZWdlcgogICAgICovCiAgICBjb25zdCBERUZBVUxUX1NNVFBfUE9SVCA9IDI1OwoKICAgIC8qKgogICAgICogVGhlIG1heGltdW0gbGluZSBsZW5ndGggYWxsb3dlZCBieSBSRkMgMjgyMiBzZWN0aW9uIDIuMS4xCiAgICAgKiBAdmFyIGludGVnZXIKICAgICAqLwogICAgY29uc3QgTUFYX0xJTkVfTEVOR1RIID0gOTk4OwoKICAgIC8qKgogICAgICogRGVidWcgbGV2ZWwgZm9yIG5vIG91dHB1dAogICAgICovCiAgICBjb25zdCBERUJVR19PRkYgPSAwOwoKICAgIC8qKgogICAgICogRGVidWcgbGV2ZWwgdG8gc2hvdyBjbGllbnQgLT4gc2VydmVyIG1lc3NhZ2VzCiAgICAgKi8KICAgIGNvbnN0IERFQlVHX0NMSUVOVCA9IDE7CgogICAgLyoqCiAgICAgKiBEZWJ1ZyBsZXZlbCB0byBzaG93IGNsaWVudCAtPiBzZXJ2ZXIgYW5kIHNlcnZlciAtPiBjbGllbnQgbWVzc2FnZXMKICAgICAqLwogICAgY29uc3QgREVCVUdfU0VSVkVSID0gMjsKCiAgICAvKioKICAgICAqIERlYnVnIGxldmVsIHRvIHNob3cgY29ubmVjdGlvbiBzdGF0dXMsIGNsaWVudCAtPiBzZXJ2ZXIgYW5kIHNlcnZlciAtPiBjbGllbnQgbWVzc2FnZXMKICAgICAqLwogICAgY29uc3QgREVCVUdfQ09OTkVDVElPTiA9IDM7CgogICAgLyoqCiAgICAgKiBEZWJ1ZyBsZXZlbCB0byBzaG93IGFsbCBtZXNzYWdlcwogICAgICovCiAgICBjb25zdCBERUJVR19MT1dMRVZFTCA9IDQ7CgogICAgLyoqCiAgICAgKiBUaGUgUEhQTWFpbGVyIFNNVFAgVmVyc2lvbiBudW1iZXIuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBgVkVSU0lPTmAgY29uc3RhbnQgaW5zdGVhZAogICAgICogQHNlZSBTTVRQOjpWRVJTSU9OCiAgICAgKi8KICAgIHB1YmxpYyAkVmVyc2lvbiA9ICc1LjIuMTQnOwoKICAgIC8qKgogICAgICogU01UUCBzZXJ2ZXIgcG9ydCBudW1iZXIuCiAgICAgKiBAdmFyIGludGVnZXIKICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgb25seSBldmVyIHVzZWQgYXMgYSBkZWZhdWx0IHZhbHVlLCBzbyB1c2UgdGhlIGBERUZBVUxUX1NNVFBfUE9SVGAgY29uc3RhbnQgaW5zdGVhZAogICAgICogQHNlZSBTTVRQOjpERUZBVUxUX1NNVFBfUE9SVAogICAgICovCiAgICBwdWJsaWMgJFNNVFBfUE9SVCA9IDI1OwoKICAgIC8qKgogICAgICogU01UUCByZXBseSBsaW5lIGVuZGluZy4KICAgICAqIEB2YXIgc3RyaW5nCiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGBDUkxGYCBjb25zdGFudCBpbnN0ZWFkCiAgICAgKiBAc2VlIFNNVFA6OkNSTEYKICAgICAqLwogICAgcHVibGljICRDUkxGID0gIlxyXG4iOwoKICAgIC8qKgogICAgICogRGVidWcgb3V0cHV0IGxldmVsLgogICAgICogT3B0aW9uczoKICAgICAqICogc2VsZjo6REVCVUdfT0ZGIChgMGApIE5vIGRlYnVnIG91dHB1dCwgZGVmYXVsdAogICAgICogKiBzZWxmOjpERUJVR19DTElFTlQgKGAxYCkgQ2xpZW50IGNvbW1hbmRzCiAgICAgKiAqIHNlbGY6OkRFQlVHX1NFUlZFUiAoYDJgKSBDbGllbnQgY29tbWFuZHMgYW5kIHNlcnZlciByZXNwb25zZXMKICAgICAqICogc2VsZjo6REVCVUdfQ09OTkVDVElPTiAoYDNgKSBBcyBERUJVR19TRVJWRVIgcGx1cyBjb25uZWN0aW9uIHN0YXR1cwogICAgICogKiBzZWxmOjpERUJVR19MT1dMRVZFTCAoYDRgKSBMb3ctbGV2ZWwgZGF0YSBvdXRwdXQsIGFsbCBtZXNzYWdlcwogICAgICogQHZhciBpbnRlZ2VyCiAgICAgKi8KICAgIHB1YmxpYyAkZG9fZGVidWcgPSBzZWxmOjpERUJVR19PRkY7CgogICAgLyoqCiAgICAgKiBIb3cgdG8gaGFuZGxlIGRlYnVnIG91dHB1dC4KICAgICAqIE9wdGlvbnM6CiAgICAgKiAqIGBlY2hvYCBPdXRwdXQgcGxhaW4tdGV4dCBhcy1pcywgYXBwcm9wcmlhdGUgZm9yIENMSQogICAgICogKiBgaHRtbGAgT3V0cHV0IGVzY2FwZWQsIGxpbmUgYnJlYWtzIGNvbnZlcnRlZCB0byBgPGJyPmAsIGFwcHJvcHJpYXRlIGZvciBicm93c2VyIG91dHB1dAogICAgICogKiBgZXJyb3JfbG9nYCBPdXRwdXQgdG8gZXJyb3IgbG9nIGFzIGNvbmZpZ3VyZWQgaW4gcGhwLmluaQogICAgICoKICAgICAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gcHJvdmlkZSBhIGNhbGxhYmxlIGV4cGVjdGluZyB0d28gcGFyYW1zOiBhIG1lc3NhZ2Ugc3RyaW5nIGFuZCB0aGUgZGVidWcgbGV2ZWw6CiAgICAgKiA8Y29kZT4KICAgICAqICRzbXRwLT5EZWJ1Z291dHB1dCA9IGZ1bmN0aW9uKCRzdHIsICRsZXZlbCkge2VjaG8gImRlYnVnIGxldmVsICRsZXZlbDsgbWVzc2FnZTogJHN0ciI7fTsKICAgICAqIDwvY29kZT4KICAgICAqIEB2YXIgc3RyaW5nfGNhbGxhYmxlCiAgICAgKi8KICAgIHB1YmxpYyAkRGVidWdvdXRwdXQgPSAnZWNobyc7CgogICAgLyoqCiAgICAgKiBXaGV0aGVyIHRvIHVzZSBWRVJQLgogICAgICogQGxpbmsgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9WYXJpYWJsZV9lbnZlbG9wZV9yZXR1cm5fcGF0aAogICAgICogQGxpbmsgaHR0cDovL3d3dy5wb3N0Zml4Lm9yZy9WRVJQX1JFQURNRS5odG1sIEluZm8gb24gVkVSUAogICAgICogQHZhciBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyAkZG9fdmVycCA9IGZhbHNlOwoKICAgIC8qKgogICAgICogVGhlIHRpbWVvdXQgdmFsdWUgZm9yIGNvbm5lY3Rpb24sIGluIHNlY29uZHMuCiAgICAgKiBEZWZhdWx0IG9mIDUgbWludXRlcyAoMzAwc2VjKSBpcyBmcm9tIFJGQzI4MjEgc2VjdGlvbiA0LjUuMy4yCiAgICAgKiBUaGlzIG5lZWRzIHRvIGJlIHF1aXRlIGhpZ2ggdG8gZnVuY3Rpb24gY29ycmVjdGx5IHdpdGggaG9zdHMgdXNpbmcgZ3JlZXRkZWxheSBhcyBhbiBhbnRpLXNwYW0gbWVhc3VyZS4KICAgICAqIEBsaW5rIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzI4MjEjc2VjdGlvbi00LjUuMy4yCiAgICAgKiBAdmFyIGludGVnZXIKICAgICAqLwogICAgcHVibGljICRUaW1lb3V0ID0gMzAwOwoKICAgIC8qKgogICAgICogSG93IGxvbmcgdG8gd2FpdCBmb3IgY29tbWFuZHMgdG8gY29tcGxldGUsIGluIHNlY29uZHMuCiAgICAgKiBEZWZhdWx0IG9mIDUgbWludXRlcyAoMzAwc2VjKSBpcyBmcm9tIFJGQzI4MjEgc2VjdGlvbiA0LjUuMy4yCiAgICAgKiBAdmFyIGludGVnZXIKICAgICAqLwogICAgcHVibGljICRUaW1lbGltaXQgPSAzMDA7CgogICAgLyoqCiAgICAgKiBUaGUgc29ja2V0IGZvciB0aGUgc2VydmVyIGNvbm5lY3Rpb24uCiAgICAgKiBAdmFyIHJlc291cmNlCiAgICAgKi8KICAgIHByb3RlY3RlZCAkc210cF9jb25uOwoKICAgIC8qKgogICAgICogRXJyb3IgaW5mb3JtYXRpb24sIGlmIGFueSwgZm9yIHRoZSBsYXN0IFNNVFAgY29tbWFuZC4KICAgICAqIEB2YXIgYXJyYXkKICAgICAqLwogICAgcHJvdGVjdGVkICRlcnJvciA9IGFycmF5KAogICAgICAgICdlcnJvcicgPT4gJycsCiAgICAgICAgJ2RldGFpbCcgPT4gJycsCiAgICAgICAgJ3NtdHBfY29kZScgPT4gJycsCiAgICAgICAgJ3NtdHBfY29kZV9leCcgPT4gJycKICAgICk7CgogICAgLyoqCiAgICAgKiBUaGUgcmVwbHkgdGhlIHNlcnZlciBzZW50IHRvIHVzIGZvciBIRUxPLgogICAgICogSWYgbnVsbCwgbm8gSEVMTyBzdHJpbmcgaGFzIHlldCBiZWVuIHJlY2VpdmVkLgogICAgICogQHZhciBzdHJpbmd8bnVsbAogICAgICovCiAgICBwcm90ZWN0ZWQgJGhlbG9fcnBseSA9IG51bGw7CgogICAgLyoqCiAgICAgKiBUaGUgc2V0IG9mIFNNVFAgZXh0ZW5zaW9ucyBzZW50IGluIHJlcGx5IHRvIEVITE8gY29tbWFuZC4KICAgICAqIEluZGV4ZXMgb2YgdGhlIGFycmF5IGFyZSBleHRlbnNpb24gbmFtZXMuCiAgICAgKiBWYWx1ZSBhdCBpbmRleCAnSEVMTycgb3IgJ0VITE8nIChhY2NvcmRpbmcgdG8gY29tbWFuZCB0aGF0IHdhcyBzZW50KQogICAgICogcmVwcmVzZW50cyB0aGUgc2VydmVyIG5hbWUuIEluIGNhc2Ugb2YgSEVMTyBpdCBpcyB0aGUgb25seSBlbGVtZW50IG9mIHRoZSBhcnJheS4KICAgICAqIE90aGVyIHZhbHVlcyBjYW4gYmUgYm9vbGVhbiBUUlVFIG9yIGFuIGFycmF5IGNvbnRhaW5pbmcgZXh0ZW5zaW9uIG9wdGlvbnMuCiAgICAgKiBJZiBudWxsLCBubyBIRUxPL0VITE8gc3RyaW5nIGhhcyB5ZXQgYmVlbiByZWNlaXZlZC4KICAgICAqIEB2YXIgYXJyYXl8bnVsbAogICAgICovCiAgICBwcm90ZWN0ZWQgJHNlcnZlcl9jYXBzID0gbnVsbDsKCiAgICAvKioKICAgICAqIFRoZSBtb3N0IHJlY2VudCByZXBseSByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIuCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgJGxhc3RfcmVwbHkgPSAnJzsKCiAgICAvKioKICAgICAqIE91dHB1dCBkZWJ1Z2dpbmcgaW5mbyB2aWEgYSB1c2VyLXNlbGVjdGVkIG1ldGhvZC4KICAgICAqIEBzZWUgU01UUDo6JERlYnVnb3V0cHV0CiAgICAgKiBAc2VlIFNNVFA6OiRkb19kZWJ1ZwogICAgICogQHBhcmFtIHN0cmluZyAkc3RyIERlYnVnIHN0cmluZyB0byBvdXRwdXQKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsZXZlbCBUaGUgZGVidWcgbGV2ZWwgb2YgdGhpcyBtZXNzYWdlOyBzZWUgREVCVUdfKiBjb25zdGFudHMKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZWRlYnVnKCRzdHIsICRsZXZlbCA9IDApCiAgICB7CiAgICAgICAgaWYgKCRsZXZlbCA+ICR0aGlzLT5kb19kZWJ1ZykgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIC8vQXZvaWQgY2xhc2ggd2l0aCBidWlsdC1pbiBmdW5jdGlvbiBuYW1lcwogICAgICAgIGlmICghaW5fYXJyYXkoJHRoaXMtPkRlYnVnb3V0cHV0LCBhcnJheSgnZXJyb3JfbG9nJywgJ2h0bWwnLCAnZWNobycpKSBhbmQgaXNfY2FsbGFibGUoJHRoaXMtPkRlYnVnb3V0cHV0KSkgewogICAgICAgICAgICBjYWxsX3VzZXJfZnVuYygkdGhpcy0+RGVidWdvdXRwdXQsICRzdHIsICR0aGlzLT5kb19kZWJ1Zyk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgc3dpdGNoICgkdGhpcy0+RGVidWdvdXRwdXQpIHsKICAgICAgICAgICAgY2FzZSAnZXJyb3JfbG9nJzoKICAgICAgICAgICAgICAgIC8vRG9uJ3Qgb3V0cHV0LCBqdXN0IGxvZwogICAgICAgICAgICAgICAgZXJyb3JfbG9nKCRzdHIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2h0bWwnOgogICAgICAgICAgICAgICAgLy9DbGVhbnMgdXAgb3V0cHV0IGEgYml0IGZvciBhIGJldHRlciBsb29raW5nLCBIVE1MLXNhZmUgb3V0cHV0CiAgICAgICAgICAgICAgICBlY2hvIGh0bWxlbnRpdGllcygKICAgICAgICAgICAgICAgICAgICBwcmVnX3JlcGxhY2UoJy9bXHJcbl0rLycsICcnLCAkc3RyKSwKICAgICAgICAgICAgICAgICAgICBFTlRfUVVPVEVTLAogICAgICAgICAgICAgICAgICAgICdVVEYtOCcKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC4gIjxicj5cbiI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnZWNobyc6CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAvL05vcm1hbGl6ZSBsaW5lIGJyZWFrcwogICAgICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgnLyhcclxufFxyfFxuKS9tcycsICJcbiIsICRzdHIpOwogICAgICAgICAgICAgICAgZWNobyBnbWRhdGUoJ1ktbS1kIEg6aTpzJykgLiAiXHQiIC4gc3RyX3JlcGxhY2UoCiAgICAgICAgICAgICAgICAgICAgIlxuIiwKICAgICAgICAgICAgICAgICAgICAiXG4gICAgICAgICAgICAgICAgICAgXHQgICAgICAgICAgICAgICAgICAiLAogICAgICAgICAgICAgICAgICAgIHRyaW0oJHN0cikKICAgICAgICAgICAgICAgICkuIlxuIjsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDb25uZWN0IHRvIGFuIFNNVFAgc2VydmVyLgogICAgICogQHBhcmFtIHN0cmluZyAkaG9zdCBTTVRQIHNlcnZlciBJUCBvciBob3N0IG5hbWUKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3J0IFRoZSBwb3J0IG51bWJlciB0byBjb25uZWN0IHRvCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkdGltZW91dCBIb3cgbG9uZyB0byB3YWl0IGZvciB0aGUgY29ubmVjdGlvbiB0byBvcGVuCiAgICAgKiBAcGFyYW0gYXJyYXkgJG9wdGlvbnMgQW4gYXJyYXkgb2Ygb3B0aW9ucyBmb3Igc3RyZWFtX2NvbnRleHRfY3JlYXRlKCkKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvbm5lY3QoJGhvc3QsICRwb3J0ID0gbnVsbCwgJHRpbWVvdXQgPSAzMCwgJG9wdGlvbnMgPSBhcnJheSgpKQogICAgewogICAgICAgIHN0YXRpYyAkc3RyZWFtb2s7CiAgICAgICAgLy9UaGlzIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBzaW5jZSA1LjAuMCBidXQgc29tZSBwcm92aWRlcnMgZGlzYWJsZSBpdAogICAgICAgIC8vQ2hlY2sgdGhpcyBvbmNlIGFuZCBjYWNoZSB0aGUgcmVzdWx0CiAgICAgICAgaWYgKGlzX251bGwoJHN0cmVhbW9rKSkgewogICAgICAgICAgICAkc3RyZWFtb2sgPSBmdW5jdGlvbl9leGlzdHMoJ3N0cmVhbV9zb2NrZXRfY2xpZW50Jyk7CiAgICAgICAgfQogICAgICAgIC8vIENsZWFyIGVycm9ycyB0byBhdm9pZCBjb25mdXNpb24KICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJycpOwogICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBhcmUgX19ub3RfXyBjb25uZWN0ZWQKICAgICAgICBpZiAoJHRoaXMtPmNvbm5lY3RlZCgpKSB7CiAgICAgICAgICAgIC8vIEFscmVhZHkgY29ubmVjdGVkLCBnZW5lcmF0ZSBlcnJvcgogICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJ0FscmVhZHkgY29ubmVjdGVkIHRvIGEgc2VydmVyJyk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgaWYgKGVtcHR5KCRwb3J0KSkgewogICAgICAgICAgICAkcG9ydCA9IHNlbGY6OkRFRkFVTFRfU01UUF9QT1JUOwogICAgICAgIH0KICAgICAgICAvLyBDb25uZWN0IHRvIHRoZSBTTVRQIHNlcnZlcgogICAgICAgICR0aGlzLT5lZGVidWcoCiAgICAgICAgICAgICJDb25uZWN0aW9uOiBvcGVuaW5nIHRvICRob3N0OiRwb3J0LCB0aW1lb3V0PSR0aW1lb3V0LCBvcHRpb25zPSIudmFyX2V4cG9ydCgkb3B0aW9ucywgdHJ1ZSksCiAgICAgICAgICAgIHNlbGY6OkRFQlVHX0NPTk5FQ1RJT04KICAgICAgICApOwogICAgICAgICRlcnJubyA9IDA7CiAgICAgICAgJGVycnN0ciA9ICcnOwogICAgICAgIGlmICgkc3RyZWFtb2spIHsKICAgICAgICAgICAgJHNvY2tldF9jb250ZXh0ID0gc3RyZWFtX2NvbnRleHRfY3JlYXRlKCRvcHRpb25zKTsKICAgICAgICAgICAgLy9TdXBwcmVzcyBlcnJvcnM7IGNvbm5lY3Rpb24gZmFpbHVyZXMgYXJlIGhhbmRsZWQgYXQgYSBoaWdoZXIgbGV2ZWwKICAgICAgICAgICAgJHRoaXMtPnNtdHBfY29ubiA9IEBzdHJlYW1fc29ja2V0X2NsaWVudCgKICAgICAgICAgICAgICAgICRob3N0IC4gIjoiIC4gJHBvcnQsCiAgICAgICAgICAgICAgICAkZXJybm8sCiAgICAgICAgICAgICAgICAkZXJyc3RyLAogICAgICAgICAgICAgICAgJHRpbWVvdXQsCiAgICAgICAgICAgICAgICBTVFJFQU1fQ0xJRU5UX0NPTk5FQ1QsCiAgICAgICAgICAgICAgICAkc29ja2V0X2NvbnRleHQKICAgICAgICAgICAgKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvL0ZhbGwgYmFjayB0byBmc29ja29wZW4gd2hpY2ggc2hvdWxkIHdvcmsgaW4gbW9yZSBwbGFjZXMsIGJ1dCBpcyBtaXNzaW5nIHNvbWUgZmVhdHVyZXMKICAgICAgICAgICAgJHRoaXMtPmVkZWJ1ZygKICAgICAgICAgICAgICAgICJDb25uZWN0aW9uOiBzdHJlYW1fc29ja2V0X2NsaWVudCBub3QgYXZhaWxhYmxlLCBmYWxsaW5nIGJhY2sgdG8gZnNvY2tvcGVuIiwKICAgICAgICAgICAgICAgIHNlbGY6OkRFQlVHX0NPTk5FQ1RJT04KICAgICAgICAgICAgKTsKICAgICAgICAgICAgJHRoaXMtPnNtdHBfY29ubiA9IGZzb2Nrb3BlbigKICAgICAgICAgICAgICAgICRob3N0LAogICAgICAgICAgICAgICAgJHBvcnQsCiAgICAgICAgICAgICAgICAkZXJybm8sCiAgICAgICAgICAgICAgICAkZXJyc3RyLAogICAgICAgICAgICAgICAgJHRpbWVvdXQKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgLy8gVmVyaWZ5IHdlIGNvbm5lY3RlZCBwcm9wZXJseQogICAgICAgIGlmICghaXNfcmVzb3VyY2UoJHRoaXMtPnNtdHBfY29ubikpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKAogICAgICAgICAgICAgICAgJ0ZhaWxlZCB0byBjb25uZWN0IHRvIHNlcnZlcicsCiAgICAgICAgICAgICAgICAkZXJybm8sCiAgICAgICAgICAgICAgICAkZXJyc3RyCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICR0aGlzLT5lZGVidWcoCiAgICAgICAgICAgICAgICAnU01UUCBFUlJPUjogJyAuICR0aGlzLT5lcnJvclsnZXJyb3InXQogICAgICAgICAgICAgICAgLiAiOiAkZXJyc3RyICgkZXJybm8pIiwKICAgICAgICAgICAgICAgIHNlbGY6OkRFQlVHX0NMSUVOVAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5lZGVidWcoJ0Nvbm5lY3Rpb246IG9wZW5lZCcsIHNlbGY6OkRFQlVHX0NPTk5FQ1RJT04pOwogICAgICAgIC8vIFNNVFAgc2VydmVyIGNhbiB0YWtlIGxvbmdlciB0byByZXNwb25kLCBnaXZlIGxvbmdlciB0aW1lb3V0IGZvciBmaXJzdCByZWFkCiAgICAgICAgLy8gV2luZG93cyBkb2VzIG5vdCBoYXZlIHN1cHBvcnQgZm9yIHRoaXMgdGltZW91dCBmdW5jdGlvbgogICAgICAgIGlmIChzdWJzdHIoUEhQX09TLCAwLCAzKSAhPSAnV0lOJykgewogICAgICAgICAgICAkbWF4ID0gaW5pX2dldCgnbWF4X2V4ZWN1dGlvbl90aW1lJyk7CiAgICAgICAgICAgIC8vIERvbid0IGJvdGhlciBpZiB1bmxpbWl0ZWQKICAgICAgICAgICAgaWYgKCRtYXggIT0gMCAmJiAkdGltZW91dCA+ICRtYXgpIHsKICAgICAgICAgICAgICAgIEBzZXRfdGltZV9saW1pdCgkdGltZW91dCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3RyZWFtX3NldF90aW1lb3V0KCR0aGlzLT5zbXRwX2Nvbm4sICR0aW1lb3V0LCAwKTsKICAgICAgICB9CiAgICAgICAgLy8gR2V0IGFueSBhbm5vdW5jZW1lbnQKICAgICAgICAkYW5ub3VuY2UgPSAkdGhpcy0+Z2V0X2xpbmVzKCk7CiAgICAgICAgJHRoaXMtPmVkZWJ1ZygnU0VSVkVSIC0+IENMSUVOVDogJyAuICRhbm5vdW5jZSwgc2VsZjo6REVCVUdfU0VSVkVSKTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIEluaXRpYXRlIGEgVExTIChlbmNyeXB0ZWQpIHNlc3Npb24uCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzdGFydFRMUygpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+c2VuZENvbW1hbmQoJ1NUQVJUVExTJywgJ1NUQVJUVExTJywgMjIwKSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIC8vIEJlZ2luIGVuY3J5cHRlZCBjb25uZWN0aW9uCiAgICAgICAgaWYgKCFzdHJlYW1fc29ja2V0X2VuYWJsZV9jcnlwdG8oCiAgICAgICAgICAgICR0aGlzLT5zbXRwX2Nvbm4sCiAgICAgICAgICAgIHRydWUsCiAgICAgICAgICAgIFNUUkVBTV9DUllQVE9fTUVUSE9EX1RMU19DTElFTlQKICAgICAgICApKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBQZXJmb3JtIFNNVFAgYXV0aGVudGljYXRpb24uCiAgICAgKiBNdXN0IGJlIHJ1biBhZnRlciBoZWxsbygpLgogICAgICogQHNlZSBoZWxsbygpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1c2VybmFtZSBUaGUgdXNlciBuYW1lCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwYXNzd29yZCBUaGUgcGFzc3dvcmQKICAgICAqIEBwYXJhbSBzdHJpbmcgJGF1dGh0eXBlIFRoZSBhdXRoIHR5cGUgKFBMQUlOLCBMT0dJTiwgTlRMTSwgQ1JBTS1NRDUsIFhPQVVUSDIpCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyZWFsbSBUaGUgYXV0aCByZWFsbSBmb3IgTlRMTQogICAgICogQHBhcmFtIHN0cmluZyAkd29ya3N0YXRpb24gVGhlIGF1dGggd29ya3N0YXRpb24gZm9yIE5UTE0KICAgICAqIEBwYXJhbSBudWxsfE9BdXRoICRPQXV0aCBBbiBvcHRpb25hbCBPQXV0aCBpbnN0YW5jZSAoQHNlZSBQSFBNYWlsZXJPQXV0aCkKICAgICAqIEByZXR1cm4gYm9vbCBUcnVlIGlmIHN1Y2Nlc3NmdWxseSBhdXRoZW50aWNhdGVkLiogQGFjY2VzcyBwdWJsaWMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGF1dGhlbnRpY2F0ZSgKICAgICAgICAkdXNlcm5hbWUsCiAgICAgICAgJHBhc3N3b3JkLAogICAgICAgICRhdXRodHlwZSA9IG51bGwsCiAgICAgICAgJHJlYWxtID0gJycsCiAgICAgICAgJHdvcmtzdGF0aW9uID0gJycsCiAgICAgICAgJE9BdXRoID0gbnVsbAogICAgKSB7CiAgICAgICAgaWYgKCEkdGhpcy0+c2VydmVyX2NhcHMpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCdBdXRoZW50aWNhdGlvbiBpcyBub3QgYWxsb3dlZCBiZWZvcmUgSEVMTy9FSExPJyk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCdFSExPJywgJHRoaXMtPnNlcnZlcl9jYXBzKSkgewogICAgICAgIC8vIFNNVFAgZXh0ZW5zaW9ucyBhcmUgYXZhaWxhYmxlLiBMZXQncyB0cnkgdG8gZmluZCBhIHByb3BlciBhdXRoZW50aWNhdGlvbiBtZXRob2QKCiAgICAgICAgICAgIGlmICghYXJyYXlfa2V5X2V4aXN0cygnQVVUSCcsICR0aGlzLT5zZXJ2ZXJfY2FwcykpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5zZXRFcnJvcignQXV0aGVudGljYXRpb24gaXMgbm90IGFsbG93ZWQgYXQgdGhpcyBzdGFnZScpOwogICAgICAgICAgICAgICAgLy8gJ2F0IHRoaXMgc3RhZ2UnIG1lYW5zIHRoYXQgYXV0aCBtYXkgYmUgYWxsb3dlZCBhZnRlciB0aGUgc3RhZ2UgY2hhbmdlcwogICAgICAgICAgICAgICAgLy8gZS5nLiBhZnRlciBTVEFSVFRMUwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzZWxmOjplZGVidWcoJ0F1dGggbWV0aG9kIHJlcXVlc3RlZDogJyAuICgkYXV0aHR5cGUgPyAkYXV0aHR5cGUgOiAnVU5LTk9XTicpLCBzZWxmOjpERUJVR19MT1dMRVZFTCk7CiAgICAgICAgICAgIHNlbGY6OmVkZWJ1ZygKICAgICAgICAgICAgICAgICdBdXRoIG1ldGhvZHMgYXZhaWxhYmxlIG9uIHRoZSBzZXJ2ZXI6ICcgLiBpbXBsb2RlKCcsJywgJHRoaXMtPnNlcnZlcl9jYXBzWydBVVRIJ10pLAogICAgICAgICAgICAgICAgc2VsZjo6REVCVUdfTE9XTEVWRUwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIGlmIChlbXB0eSgkYXV0aHR5cGUpKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoIChhcnJheSgnTE9HSU4nLCAnQ1JBTS1NRDUnLCAnTlRMTScsICdQTEFJTicsICdYT0FVVEgyJykgYXMgJG1ldGhvZCkgewogICAgICAgICAgICAgICAgICAgIGlmIChpbl9hcnJheSgkbWV0aG9kLCAkdGhpcy0+c2VydmVyX2NhcHNbJ0FVVEgnXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGh0eXBlID0gJG1ldGhvZDsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGVtcHR5KCRhdXRodHlwZSkpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJ05vIHN1cHBvcnRlZCBhdXRoZW50aWNhdGlvbiBtZXRob2RzIGZvdW5kJyk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgc2VsZjo6ZWRlYnVnKCdBdXRoIG1ldGhvZCBzZWxlY3RlZDogJy4kYXV0aHR5cGUsIHNlbGY6OkRFQlVHX0xPV0xFVkVMKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCFpbl9hcnJheSgkYXV0aHR5cGUsICR0aGlzLT5zZXJ2ZXJfY2Fwc1snQVVUSCddKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCJUaGUgcmVxdWVzdGVkIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBcIiRhdXRodHlwZVwiIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlciIpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlaWYgKGVtcHR5KCRhdXRodHlwZSkpIHsKICAgICAgICAgICAgJGF1dGh0eXBlID0gJ0xPR0lOJzsKICAgICAgICB9CiAgICAgICAgc3dpdGNoICgkYXV0aHR5cGUpIHsKICAgICAgICAgICAgY2FzZSAnUExBSU4nOgogICAgICAgICAgICAgICAgLy8gU3RhcnQgYXV0aGVudGljYXRpb24KICAgICAgICAgICAgICAgIGlmICghJHRoaXMtPnNlbmRDb21tYW5kKCdBVVRIJywgJ0FVVEggUExBSU4nLCAzMzQpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLy8gU2VuZCBlbmNvZGVkIHVzZXJuYW1lIGFuZCBwYXNzd29yZAogICAgICAgICAgICAgICAgaWYgKCEkdGhpcy0+c2VuZENvbW1hbmQoCiAgICAgICAgICAgICAgICAgICAgJ1VzZXIgJiBQYXNzd29yZCcsCiAgICAgICAgICAgICAgICAgICAgYmFzZTY0X2VuY29kZSgiXDAiIC4gJHVzZXJuYW1lIC4gIlwwIiAuICRwYXNzd29yZCksCiAgICAgICAgICAgICAgICAgICAgMjM1CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnTE9HSU4nOgogICAgICAgICAgICAgICAgLy8gU3RhcnQgYXV0aGVudGljYXRpb24KICAgICAgICAgICAgICAgIGlmICghJHRoaXMtPnNlbmRDb21tYW5kKCdBVVRIJywgJ0FVVEggTE9HSU4nLCAzMzQpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKCEkdGhpcy0+c2VuZENvbW1hbmQoIlVzZXJuYW1lIiwgYmFzZTY0X2VuY29kZSgkdXNlcm5hbWUpLCAzMzQpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKCEkdGhpcy0+c2VuZENvbW1hbmQoIlBhc3N3b3JkIiwgYmFzZTY0X2VuY29kZSgkcGFzc3dvcmQpLCAyMzUpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ1hPQVVUSDInOgogICAgICAgICAgICAgICAgLy9JZiB0aGUgT0F1dGggSW5zdGFuY2UgaXMgbm90IHNldC4gQ2FuIGJlIGEgY2FzZSB3aGVuIFBIUE1haWxlciBpcyB1c2VkCiAgICAgICAgICAgICAgICAvL2luc3RlYWQgb2YgUEhQTWFpbGVyT0F1dGgKICAgICAgICAgICAgICAgIGlmIChpc19udWxsKCRPQXV0aCkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkb2F1dGggPSAkT0F1dGgtPmdldE9hdXRoNjQoKTsKCiAgICAgICAgICAgICAgICAvLyBTdGFydCBhdXRoZW50aWNhdGlvbgogICAgICAgICAgICAgICAgaWYgKCEkdGhpcy0+c2VuZENvbW1hbmQoJ0FVVEgnLCAnQVVUSCBYT0FVVEgyICcgLiAkb2F1dGgsIDIzNSkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnTlRMTSc6CiAgICAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICAgICogbnRsbV9zYXNsX2NsaWVudC5waHAKICAgICAgICAgICAgICAgICAqIEJ1bmRsZWQgd2l0aCBQZXJtaXNzaW9uCiAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICogSG93IHRvIHRlbG5ldCBpbiB3aW5kb3dzOgogICAgICAgICAgICAgICAgICogaHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2FhOTk1NzE4JTI4RVhDSEcuNjUlMjkuYXNweAogICAgICAgICAgICAgICAgICogUFJPVE9DT0wgRG9jcyBodHRwOi8vY3VybC5oYXh4LnNlL3JmYy9udGxtLmh0bWwjbnRsbVNtdHBBdXRoZW50aWNhdGlvbgogICAgICAgICAgICAgICAgICovCiAgICAgICAgICAgICAgICByZXF1aXJlX29uY2UgJ2V4dHJhcy9udGxtX3Nhc2xfY2xpZW50LnBocCc7CiAgICAgICAgICAgICAgICAkdGVtcCA9IG5ldyBzdGRDbGFzczsKICAgICAgICAgICAgICAgICRudGxtX2NsaWVudCA9IG5ldyBudGxtX3Nhc2xfY2xpZW50X2NsYXNzOwogICAgICAgICAgICAgICAgLy9DaGVjayB0aGF0IGZ1bmN0aW9ucyBhcmUgYXZhaWxhYmxlCiAgICAgICAgICAgICAgICBpZiAoISRudGxtX2NsaWVudC0+SW5pdGlhbGl6ZSgkdGVtcCkpIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJHRlbXAtPmVycm9yKTsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+ZWRlYnVnKAogICAgICAgICAgICAgICAgICAgICAgICAnWW91IG5lZWQgdG8gZW5hYmxlIHNvbWUgbW9kdWxlcyBpbiB5b3VyIHBocC5pbmkgZmlsZTogJwogICAgICAgICAgICAgICAgICAgICAgICAuICR0aGlzLT5lcnJvclsnZXJyb3InXSwKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZjo6REVCVUdfQ0xJRU5UCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvL21zZzEKICAgICAgICAgICAgICAgICRtc2cxID0gJG50bG1fY2xpZW50LT5UeXBlTXNnMSgkcmVhbG0sICR3b3Jrc3RhdGlvbik7IC8vbXNnMQoKICAgICAgICAgICAgICAgIGlmICghJHRoaXMtPnNlbmRDb21tYW5kKAogICAgICAgICAgICAgICAgICAgICdBVVRIIE5UTE0nLAogICAgICAgICAgICAgICAgICAgICdBVVRIIE5UTE0gJyAuIGJhc2U2NF9lbmNvZGUoJG1zZzEpLAogICAgICAgICAgICAgICAgICAgIDMzNAogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLy9UaG91Z2ggMCBiYXNlZCwgdGhlcmUgaXMgYSB3aGl0ZSBzcGFjZSBhZnRlciB0aGUgMyBkaWdpdCBudW1iZXIKICAgICAgICAgICAgICAgIC8vbXNnMgogICAgICAgICAgICAgICAgJGNoYWxsZW5nZSA9IHN1YnN0cigkdGhpcy0+bGFzdF9yZXBseSwgMyk7CiAgICAgICAgICAgICAgICAkY2hhbGxlbmdlID0gYmFzZTY0X2RlY29kZSgkY2hhbGxlbmdlKTsKICAgICAgICAgICAgICAgICRudGxtX3JlcyA9ICRudGxtX2NsaWVudC0+TlRMTVJlc3BvbnNlKAogICAgICAgICAgICAgICAgICAgIHN1YnN0cigkY2hhbGxlbmdlLCAyNCwgOCksCiAgICAgICAgICAgICAgICAgICAgJHBhc3N3b3JkCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgLy9tc2czCiAgICAgICAgICAgICAgICAkbXNnMyA9ICRudGxtX2NsaWVudC0+VHlwZU1zZzMoCiAgICAgICAgICAgICAgICAgICAgJG50bG1fcmVzLAogICAgICAgICAgICAgICAgICAgICR1c2VybmFtZSwKICAgICAgICAgICAgICAgICAgICAkcmVhbG0sCiAgICAgICAgICAgICAgICAgICAgJHdvcmtzdGF0aW9uCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgLy8gc2VuZCBlbmNvZGVkIHVzZXJuYW1lCiAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPnNlbmRDb21tYW5kKCdVc2VybmFtZScsIGJhc2U2NF9lbmNvZGUoJG1zZzMpLCAyMzUpOwogICAgICAgICAgICBjYXNlICdDUkFNLU1ENSc6CiAgICAgICAgICAgICAgICAvLyBTdGFydCBhdXRoZW50aWNhdGlvbgogICAgICAgICAgICAgICAgaWYgKCEkdGhpcy0+c2VuZENvbW1hbmQoJ0FVVEggQ1JBTS1NRDUnLCAnQVVUSCBDUkFNLU1ENScsIDMzNCkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyBHZXQgdGhlIGNoYWxsZW5nZQogICAgICAgICAgICAgICAgJGNoYWxsZW5nZSA9IGJhc2U2NF9kZWNvZGUoc3Vic3RyKCR0aGlzLT5sYXN0X3JlcGx5LCA0KSk7CgogICAgICAgICAgICAgICAgLy8gQnVpbGQgdGhlIHJlc3BvbnNlCiAgICAgICAgICAgICAgICAkcmVzcG9uc2UgPSAkdXNlcm5hbWUgLiAnICcgLiAkdGhpcy0+aG1hYygkY2hhbGxlbmdlLCAkcGFzc3dvcmQpOwoKICAgICAgICAgICAgICAgIC8vIHNlbmQgZW5jb2RlZCBjcmVkZW50aWFscwogICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5zZW5kQ29tbWFuZCgnVXNlcm5hbWUnLCBiYXNlNjRfZW5jb2RlKCRyZXNwb25zZSksIDIzNSk7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoIkF1dGhlbnRpY2F0aW9uIG1ldGhvZCBcIiRhdXRodHlwZVwiIGlzIG5vdCBzdXBwb3J0ZWQiKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDYWxjdWxhdGUgYW4gTUQ1IEhNQUMgaGFzaC4KICAgICAqIFdvcmtzIGxpa2UgaGFzaF9obWFjKCdtZDUnLCAkZGF0YSwgJGtleSkKICAgICAqIGluIGNhc2UgdGhhdCBmdW5jdGlvbiBpcyBub3QgYXZhaWxhYmxlCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkYXRhIFRoZSBkYXRhIHRvIGhhc2gKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSAgVGhlIGtleSB0byBoYXNoIHdpdGgKICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaG1hYygkZGF0YSwgJGtleSkKICAgIHsKICAgICAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdoYXNoX2htYWMnKSkgewogICAgICAgICAgICByZXR1cm4gaGFzaF9obWFjKCdtZDUnLCAkZGF0YSwgJGtleSk7CiAgICAgICAgfQoKICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGJvcnJvd2VkIGZyb20KICAgICAgICAvLyBodHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vZnVuY3Rpb24ubWhhc2gucGhwIzI3MjI1CgogICAgICAgIC8vIFJGQyAyMTA0IEhNQUMgaW1wbGVtZW50YXRpb24gZm9yIHBocC4KICAgICAgICAvLyBDcmVhdGVzIGFuIG1kNSBITUFDLgogICAgICAgIC8vIEVsaW1pbmF0ZXMgdGhlIG5lZWQgdG8gaW5zdGFsbCBtaGFzaCB0byBjb21wdXRlIGEgSE1BQwogICAgICAgIC8vIGJ5IExhbmNlIFJ1c2hpbmcKCiAgICAgICAgJGJ5dGVsZW4gPSA2NDsgLy8gYnl0ZSBsZW5ndGggZm9yIG1kNQogICAgICAgIGlmIChzdHJsZW4oJGtleSkgPiAkYnl0ZWxlbikgewogICAgICAgICAgICAka2V5ID0gcGFjaygnSConLCBtZDUoJGtleSkpOwogICAgICAgIH0KICAgICAgICAka2V5ID0gc3RyX3BhZCgka2V5LCAkYnl0ZWxlbiwgY2hyKDB4MDApKTsKICAgICAgICAkaXBhZCA9IHN0cl9wYWQoJycsICRieXRlbGVuLCBjaHIoMHgzNikpOwogICAgICAgICRvcGFkID0gc3RyX3BhZCgnJywgJGJ5dGVsZW4sIGNocigweDVjKSk7CiAgICAgICAgJGtfaXBhZCA9ICRrZXkgXiAkaXBhZDsKICAgICAgICAka19vcGFkID0gJGtleSBeICRvcGFkOwoKICAgICAgICByZXR1cm4gbWQ1KCRrX29wYWQgLiBwYWNrKCdIKicsIG1kNSgka19pcGFkIC4gJGRhdGEpKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBjb25uZWN0aW9uIHN0YXRlLgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gYm9vbGVhbiBUcnVlIGlmIGNvbm5lY3RlZC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNvbm5lY3RlZCgpCiAgICB7CiAgICAgICAgaWYgKGlzX3Jlc291cmNlKCR0aGlzLT5zbXRwX2Nvbm4pKSB7CiAgICAgICAgICAgICRzb2NrX3N0YXR1cyA9IHN0cmVhbV9nZXRfbWV0YV9kYXRhKCR0aGlzLT5zbXRwX2Nvbm4pOwogICAgICAgICAgICBpZiAoJHNvY2tfc3RhdHVzWydlb2YnXSkgewogICAgICAgICAgICAgICAgLy8gVGhlIHNvY2tldCBpcyB2YWxpZCBidXQgd2UgYXJlIG5vdCBjb25uZWN0ZWQKICAgICAgICAgICAgICAgICR0aGlzLT5lZGVidWcoCiAgICAgICAgICAgICAgICAgICAgJ1NNVFAgTk9USUNFOiBFT0YgY2F1Z2h0IHdoaWxlIGNoZWNraW5nIGlmIGNvbm5lY3RlZCcsCiAgICAgICAgICAgICAgICAgICAgc2VsZjo6REVCVUdfQ0xJRU5UCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgJHRoaXMtPmNsb3NlKCk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRydWU7IC8vIGV2ZXJ5dGhpbmcgbG9va3MgZ29vZAogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBDbG9zZSB0aGUgc29ja2V0IGFuZCBjbGVhbiB1cCB0aGUgc3RhdGUgb2YgdGhlIGNsYXNzLgogICAgICogRG9uJ3QgdXNlIHRoaXMgZnVuY3Rpb24gd2l0aG91dCBmaXJzdCB0cnlpbmcgdG8gdXNlIFFVSVQuCiAgICAgKiBAc2VlIHF1aXQoKQogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xvc2UoKQogICAgewogICAgICAgICR0aGlzLT5zZXRFcnJvcignJyk7CiAgICAgICAgJHRoaXMtPnNlcnZlcl9jYXBzID0gbnVsbDsKICAgICAgICAkdGhpcy0+aGVsb19ycGx5ID0gbnVsbDsKICAgICAgICBpZiAoaXNfcmVzb3VyY2UoJHRoaXMtPnNtdHBfY29ubikpIHsKICAgICAgICAgICAgLy8gY2xvc2UgdGhlIGNvbm5lY3Rpb24gYW5kIGNsZWFudXAKICAgICAgICAgICAgZmNsb3NlKCR0aGlzLT5zbXRwX2Nvbm4pOwogICAgICAgICAgICAkdGhpcy0+c210cF9jb25uID0gbnVsbDsgLy9NYWtlcyBmb3IgY2xlYW5lciBzZXJpYWxpemF0aW9uCiAgICAgICAgICAgICR0aGlzLT5lZGVidWcoJ0Nvbm5lY3Rpb246IGNsb3NlZCcsIHNlbGY6OkRFQlVHX0NPTk5FQ1RJT04pOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYW4gU01UUCBEQVRBIGNvbW1hbmQuCiAgICAgKiBJc3N1ZXMgYSBkYXRhIGNvbW1hbmQgYW5kIHNlbmRzIHRoZSBtc2dfZGF0YSB0byB0aGUgc2VydmVyLAogICAgICogZmluaWFsaXppbmcgdGhlIG1haWwgdHJhbnNhY3Rpb24uICRtc2dfZGF0YSBpcyB0aGUgbWVzc2FnZQogICAgICogdGhhdCBpcyB0byBiZSBzZW5kIHdpdGggdGhlIGhlYWRlcnMuIEVhY2ggaGVhZGVyIG5lZWRzIHRvIGJlCiAgICAgKiBvbiBhIHNpbmdsZSBsaW5lIGZvbGxvd2VkIGJ5IGEgPENSTEY+IHdpdGggdGhlIG1lc3NhZ2UgaGVhZGVycwogICAgICogYW5kIHRoZSBtZXNzYWdlIGJvZHkgYmVpbmcgc2VwYXJhdGVkIGJ5IGFuZCBhZGRpdGlvbmFsIDxDUkxGPi4KICAgICAqIEltcGxlbWVudHMgcmZjIDgyMTogREFUQSA8Q1JMRj4KICAgICAqIEBwYXJhbSBzdHJpbmcgJG1zZ19kYXRhIE1lc3NhZ2UgZGF0YSB0byBzZW5kCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkYXRhKCRtc2dfZGF0YSkKICAgIHsKICAgICAgICAvL1RoaXMgd2lsbCB1c2UgdGhlIHN0YW5kYXJkIHRpbWVsaW1pdAogICAgICAgIGlmICghJHRoaXMtPnNlbmRDb21tYW5kKCdEQVRBJywgJ0RBVEEnLCAzNTQpKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIC8qIFRoZSBzZXJ2ZXIgaXMgcmVhZHkgdG8gYWNjZXB0IGRhdGEhCiAgICAgICAgICogQWNjb3JkaW5nIHRvIHJmYzgyMSB3ZSBzaG91bGQgbm90IHNlbmQgbW9yZSB0aGFuIDEwMDAgY2hhcmFjdGVycyBvbiBhIHNpbmdsZSBsaW5lIChpbmNsdWRpbmcgdGhlIENSTEYpCiAgICAgICAgICogc28gd2Ugd2lsbCBicmVhayB0aGUgZGF0YSB1cCBpbnRvIGxpbmVzIGJ5IFxyIGFuZC9vciBcbiB0aGVuIGlmIG5lZWRlZCB3ZSB3aWxsIGJyZWFrIGVhY2ggb2YgdGhvc2UgaW50bwogICAgICAgICAqIHNtYWxsZXIgbGluZXMgdG8gZml0IHdpdGhpbiB0aGUgbGltaXQuCiAgICAgICAgICogV2Ugd2lsbCBhbHNvIGxvb2sgZm9yIGxpbmVzIHRoYXQgc3RhcnQgd2l0aCBhICcuJyBhbmQgcHJlcGVuZCBhbiBhZGRpdGlvbmFsICcuJy4KICAgICAgICAgKiBOT1RFOiB0aGlzIGRvZXMgbm90IGNvdW50IHRvd2FyZHMgbGluZS1sZW5ndGggbGltaXQuCiAgICAgICAgICovCgogICAgICAgIC8vIE5vcm1hbGl6ZSBsaW5lIGJyZWFrcyBiZWZvcmUgZXhwbG9kaW5nCiAgICAgICAgJGxpbmVzID0gZXhwbG9kZSgiXG4iLCBzdHJfcmVwbGFjZShhcnJheSgiXHJcbiIsICJcciIpLCAiXG4iLCAkbXNnX2RhdGEpKTsKCiAgICAgICAgLyogVG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBhIGNvbXBsZXRlIFJGQzgyMiBtZXNzYWdlIGFuZCBhIHBsYWluIG1lc3NhZ2UgYm9keSwgd2UgY2hlY2sgaWYgdGhlIGZpcnN0IGZpZWxkCiAgICAgICAgICogb2YgdGhlIGZpcnN0IGxpbmUgKCc6JyBzZXBhcmF0ZWQpIGRvZXMgbm90IGNvbnRhaW4gYSBzcGFjZSB0aGVuIGl0IF9zaG91bGRfIGJlIGEgaGVhZGVyIGFuZCB3ZSB3aWxsCiAgICAgICAgICogcHJvY2VzcyBhbGwgbGluZXMgYmVmb3JlIGEgYmxhbmsgbGluZSBhcyBoZWFkZXJzLgogICAgICAgICAqLwoKICAgICAgICAkZmllbGQgPSBzdWJzdHIoJGxpbmVzWzBdLCAwLCBzdHJwb3MoJGxpbmVzWzBdLCAnOicpKTsKICAgICAgICAkaW5faGVhZGVycyA9IGZhbHNlOwogICAgICAgIGlmICghZW1wdHkoJGZpZWxkKSAmJiBzdHJwb3MoJGZpZWxkLCAnICcpID09PSBmYWxzZSkgewogICAgICAgICAgICAkaW5faGVhZGVycyA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgkbGluZXMgYXMgJGxpbmUpIHsKICAgICAgICAgICAgJGxpbmVzX291dCA9IGFycmF5KCk7CiAgICAgICAgICAgIGlmICgkaW5faGVhZGVycyBhbmQgJGxpbmUgPT0gJycpIHsKICAgICAgICAgICAgICAgICRpbl9oZWFkZXJzID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy9CcmVhayB0aGlzIGxpbmUgdXAgaW50byBzZXZlcmFsIHNtYWxsZXIgbGluZXMgaWYgaXQncyB0b28gbG9uZwogICAgICAgICAgICAvL01pY3JvLW9wdGltaXNhdGlvbjogaXNzZXQoJHN0clskbGVuXSkgaXMgZmFzdGVyIHRoYW4gKHN0cmxlbigkc3RyKSA+ICRsZW4pLAogICAgICAgICAgICB3aGlsZSAoaXNzZXQoJGxpbmVbc2VsZjo6TUFYX0xJTkVfTEVOR1RIXSkpIHsKICAgICAgICAgICAgICAgIC8vV29ya2luZyBiYWNrd2FyZHMsIHRyeSB0byBmaW5kIGEgc3BhY2Ugd2l0aGluIHRoZSBsYXN0IE1BWF9MSU5FX0xFTkdUSCBjaGFycyBvZiB0aGUgbGluZSB0byBicmVhayBvbgogICAgICAgICAgICAgICAgLy9zbyBhcyB0byBhdm9pZCBicmVha2luZyBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZAogICAgICAgICAgICAgICAgJHBvcyA9IHN0cnJwb3Moc3Vic3RyKCRsaW5lLCAwLCBzZWxmOjpNQVhfTElORV9MRU5HVEgpLCAnICcpOwogICAgICAgICAgICAgICAgLy9EZWxpYmVyYXRlbHkgbWF0Y2hlcyBib3RoIGZhbHNlIGFuZCAwCiAgICAgICAgICAgICAgICBpZiAoISRwb3MpIHsKICAgICAgICAgICAgICAgICAgICAvL05vIG5pY2UgYnJlYWsgZm91bmQsIGFkZCBhIGhhcmQgYnJlYWsKICAgICAgICAgICAgICAgICAgICAkcG9zID0gc2VsZjo6TUFYX0xJTkVfTEVOR1RIIC0gMTsKICAgICAgICAgICAgICAgICAgICAkbGluZXNfb3V0W10gPSBzdWJzdHIoJGxpbmUsIDAsICRwb3MpOwogICAgICAgICAgICAgICAgICAgICRsaW5lID0gc3Vic3RyKCRsaW5lLCAkcG9zKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgLy9CcmVhayBhdCB0aGUgZm91bmQgcG9pbnQKICAgICAgICAgICAgICAgICAgICAkbGluZXNfb3V0W10gPSBzdWJzdHIoJGxpbmUsIDAsICRwb3MpOwogICAgICAgICAgICAgICAgICAgIC8vTW92ZSBhbG9uZyBieSB0aGUgYW1vdW50IHdlIGRlYWx0IHdpdGgKICAgICAgICAgICAgICAgICAgICAkbGluZSA9IHN1YnN0cigkbGluZSwgJHBvcyArIDEpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLy9JZiBwcm9jZXNzaW5nIGhlYWRlcnMgYWRkIGEgTFdTUC1jaGFyIHRvIHRoZSBmcm9udCBvZiBuZXcgbGluZSBSRkM4MjIgc2VjdGlvbiAzLjEuMQogICAgICAgICAgICAgICAgaWYgKCRpbl9oZWFkZXJzKSB7CiAgICAgICAgICAgICAgICAgICAgJGxpbmUgPSAiXHQiIC4gJGxpbmU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGxpbmVzX291dFtdID0gJGxpbmU7CgogICAgICAgICAgICAvL1NlbmQgdGhlIGxpbmVzIHRvIHRoZSBzZXJ2ZXIKICAgICAgICAgICAgZm9yZWFjaCAoJGxpbmVzX291dCBhcyAkbGluZV9vdXQpIHsKICAgICAgICAgICAgICAgIC8vUkZDMjgyMSBzZWN0aW9uIDQuNS4yCiAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCRsaW5lX291dCkgYW5kICRsaW5lX291dFswXSA9PSAnLicpIHsKICAgICAgICAgICAgICAgICAgICAkbGluZV9vdXQgPSAnLicgLiAkbGluZV9vdXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkdGhpcy0+Y2xpZW50X3NlbmQoJGxpbmVfb3V0IC4gc2VsZjo6Q1JMRik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vTWVzc2FnZSBkYXRhIGhhcyBiZWVuIHNlbnQsIGNvbXBsZXRlIHRoZSBjb21tYW5kCiAgICAgICAgLy9JbmNyZWFzZSB0aW1lbGltaXQgZm9yIGVuZCBvZiBEQVRBIGNvbW1hbmQKICAgICAgICAkc2F2ZXRpbWVsaW1pdCA9ICR0aGlzLT5UaW1lbGltaXQ7CiAgICAgICAgJHRoaXMtPlRpbWVsaW1pdCA9ICR0aGlzLT5UaW1lbGltaXQgKiAyOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+c2VuZENvbW1hbmQoJ0RBVEEgRU5EJywgJy4nLCAyNTApOwogICAgICAgIC8vUmVzdG9yZSB0aW1lbGltaXQKICAgICAgICAkdGhpcy0+VGltZWxpbWl0ID0gJHNhdmV0aW1lbGltaXQ7CiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIGFuIFNNVFAgSEVMTyBvciBFSExPIGNvbW1hbmQuCiAgICAgKiBVc2VkIHRvIGlkZW50aWZ5IHRoZSBzZW5kaW5nIHNlcnZlciB0byB0aGUgcmVjZWl2aW5nIHNlcnZlci4KICAgICAqIFRoaXMgbWFrZXMgc3VyZSB0aGF0IGNsaWVudCBhbmQgc2VydmVyIGFyZSBpbiBhIGtub3duIHN0YXRlLgogICAgICogSW1wbGVtZW50cyBSRkMgODIxOiBIRUxPIDxTUD4gPGRvbWFpbj4gPENSTEY+CiAgICAgKiBhbmQgUkZDIDI4MjEgRUhMTy4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGhvc3QgVGhlIGhvc3QgbmFtZSBvciBJUCB0byBjb25uZWN0IHRvCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoZWxsbygkaG9zdCA9ICcnKQogICAgewogICAgICAgIC8vVHJ5IGV4dGVuZGVkIGhlbGxvIGZpcnN0IChSRkMgMjgyMSkKICAgICAgICByZXR1cm4gKGJvb2xlYW4pKCR0aGlzLT5zZW5kSGVsbG8oJ0VITE8nLCAkaG9zdCkgb3IgJHRoaXMtPnNlbmRIZWxsbygnSEVMTycsICRob3N0KSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIGFuIFNNVFAgSEVMTyBvciBFSExPIGNvbW1hbmQuCiAgICAgKiBMb3ctbGV2ZWwgaW1wbGVtZW50YXRpb24gdXNlZCBieSBoZWxsbygpCiAgICAgKiBAc2VlIGhlbGxvKCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJGhlbGxvIFRoZSBIRUxPIHN0cmluZwogICAgICogQHBhcmFtIHN0cmluZyAkaG9zdCBUaGUgaG9zdG5hbWUgdG8gc2F5IHdlIGFyZQogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2VuZEhlbGxvKCRoZWxsbywgJGhvc3QpCiAgICB7CiAgICAgICAgJG5vZXJyb3IgPSAkdGhpcy0+c2VuZENvbW1hbmQoJGhlbGxvLCAkaGVsbG8gLiAnICcgLiAkaG9zdCwgMjUwKTsKICAgICAgICAkdGhpcy0+aGVsb19ycGx5ID0gJHRoaXMtPmxhc3RfcmVwbHk7CiAgICAgICAgaWYgKCRub2Vycm9yKSB7CiAgICAgICAgICAgICR0aGlzLT5wYXJzZUhlbGxvRmllbGRzKCRoZWxsbyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPnNlcnZlcl9jYXBzID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRub2Vycm9yOwogICAgfQoKICAgIC8qKgogICAgICogUGFyc2UgYSByZXBseSB0byBIRUxPL0VITE8gY29tbWFuZCB0byBkaXNjb3ZlciBzZXJ2ZXIgZXh0ZW5zaW9ucy4KICAgICAqIEluIGNhc2Ugb2YgSEVMTywgdGhlIG9ubHkgcGFyYW1ldGVyIHRoYXQgY2FuIGJlIGRpc2NvdmVyZWQgaXMgYSBzZXJ2ZXIgbmFtZS4KICAgICAqIEBhY2Nlc3MgcHJvdGVjdGVkCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0eXBlIC0gJ0hFTE8nIG9yICdFSExPJwogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcGFyc2VIZWxsb0ZpZWxkcygkdHlwZSkKICAgIHsKICAgICAgICAkdGhpcy0+c2VydmVyX2NhcHMgPSBhcnJheSgpOwogICAgICAgICRsaW5lcyA9IGV4cGxvZGUoIlxuIiwgJHRoaXMtPmxhc3RfcmVwbHkpOwoKICAgICAgICBmb3JlYWNoICgkbGluZXMgYXMgJG4gPT4gJHMpIHsKICAgICAgICAgICAgLy9GaXJzdCA0IGNoYXJzIGNvbnRhaW4gcmVzcG9uc2UgY29kZSBmb2xsb3dlZCBieSAtIG9yIHNwYWNlCiAgICAgICAgICAgICRzID0gdHJpbShzdWJzdHIoJHMsIDQpKTsKICAgICAgICAgICAgaWYgKGVtcHR5KCRzKSkgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGZpZWxkcyA9IGV4cGxvZGUoJyAnLCAkcyk7CiAgICAgICAgICAgIGlmICghZW1wdHkoJGZpZWxkcykpIHsKICAgICAgICAgICAgICAgIGlmICghJG4pIHsKICAgICAgICAgICAgICAgICAgICAkbmFtZSA9ICR0eXBlOwogICAgICAgICAgICAgICAgICAgICRmaWVsZHMgPSAkZmllbGRzWzBdOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkbmFtZSA9IGFycmF5X3NoaWZ0KCRmaWVsZHMpOwogICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoJG5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnU0laRSc6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZmllbGRzID0gKCRmaWVsZHMgPyAkZmllbGRzWzBdIDogMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnQVVUSCc6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzX2FycmF5KCRmaWVsZHMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZpZWxkcyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmaWVsZHMgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICR0aGlzLT5zZXJ2ZXJfY2Fwc1skbmFtZV0gPSAkZmllbGRzOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBhbiBTTVRQIE1BSUwgY29tbWFuZC4KICAgICAqIFN0YXJ0cyBhIG1haWwgdHJhbnNhY3Rpb24gZnJvbSB0aGUgZW1haWwgYWRkcmVzcyBzcGVjaWZpZWQgaW4KICAgICAqICRmcm9tLiBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bCBvciBmYWxzZSBvdGhlcndpc2UuIElmIFRydWUKICAgICAqIHRoZSBtYWlsIHRyYW5zYWN0aW9uIGlzIHN0YXJ0ZWQgYW5kIHRoZW4gb25lIG9yIG1vcmUgcmVjaXBpZW50CiAgICAgKiBjb21tYW5kcyBtYXkgYmUgY2FsbGVkIGZvbGxvd2VkIGJ5IGEgZGF0YSBjb21tYW5kLgogICAgICogSW1wbGVtZW50cyByZmMgODIxOiBNQUlMIDxTUD4gRlJPTTo8cmV2ZXJzZS1wYXRoPiA8Q1JMRj4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGZyb20gU291cmNlIGFkZHJlc3Mgb2YgdGhpcyBtZXNzYWdlCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtYWlsKCRmcm9tKQogICAgewogICAgICAgICR1c2VWZXJwID0gKCR0aGlzLT5kb192ZXJwID8gJyBYVkVSUCcgOiAnJyk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zZW5kQ29tbWFuZCgKICAgICAgICAgICAgJ01BSUwgRlJPTScsCiAgICAgICAgICAgICdNQUlMIEZST006PCcgLiAkZnJvbSAuICc+JyAuICR1c2VWZXJwLAogICAgICAgICAgICAyNTAKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBhbiBTTVRQIFFVSVQgY29tbWFuZC4KICAgICAqIENsb3NlcyB0aGUgc29ja2V0IGlmIHRoZXJlIGlzIG5vIGVycm9yIG9yIHRoZSAkY2xvc2Vfb25fZXJyb3IgYXJndW1lbnQgaXMgdHJ1ZS4KICAgICAqIEltcGxlbWVudHMgZnJvbSByZmMgODIxOiBRVUlUIDxDUkxGPgogICAgICogQHBhcmFtIGJvb2xlYW4gJGNsb3NlX29uX2Vycm9yIFNob3VsZCB0aGUgY29ubmVjdGlvbiBjbG9zZSBpZiBhbiBlcnJvciBvY2N1cnM/CiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBxdWl0KCRjbG9zZV9vbl9lcnJvciA9IHRydWUpCiAgICB7CiAgICAgICAgJG5vZXJyb3IgPSAkdGhpcy0+c2VuZENvbW1hbmQoJ1FVSVQnLCAnUVVJVCcsIDIyMSk7CiAgICAgICAgJGVyciA9ICR0aGlzLT5lcnJvcjsgLy9TYXZlIGFueSBlcnJvcgogICAgICAgIGlmICgkbm9lcnJvciBvciAkY2xvc2Vfb25fZXJyb3IpIHsKICAgICAgICAgICAgJHRoaXMtPmNsb3NlKCk7CiAgICAgICAgICAgICR0aGlzLT5lcnJvciA9ICRlcnI7IC8vUmVzdG9yZSBhbnkgZXJyb3IgZnJvbSB0aGUgcXVpdCBjb21tYW5kCiAgICAgICAgfQogICAgICAgIHJldHVybiAkbm9lcnJvcjsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYW4gU01UUCBSQ1BUIGNvbW1hbmQuCiAgICAgKiBTZXRzIHRoZSBUTyBhcmd1bWVudCB0byAkdG9hZGRyLgogICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSByZWNpcGllbnQgd2FzIGFjY2VwdGVkIGZhbHNlIGlmIGl0IHdhcyByZWplY3RlZC4KICAgICAqIEltcGxlbWVudHMgZnJvbSByZmMgODIxOiBSQ1BUIDxTUD4gVE86PGZvcndhcmQtcGF0aD4gPENSTEY+CiAgICAgKiBAcGFyYW0gc3RyaW5nICRhZGRyZXNzIFRoZSBhZGRyZXNzIHRoZSBtZXNzYWdlIGlzIGJlaW5nIHNlbnQgdG8KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlY2lwaWVudCgkYWRkcmVzcykKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlbmRDb21tYW5kKAogICAgICAgICAgICAnUkNQVCBUTycsCiAgICAgICAgICAgICdSQ1BUIFRPOjwnIC4gJGFkZHJlc3MgLiAnPicsCiAgICAgICAgICAgIGFycmF5KDI1MCwgMjUxKQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIGFuIFNNVFAgUlNFVCBjb21tYW5kLgogICAgICogQWJvcnQgYW55IHRyYW5zYWN0aW9uIHRoYXQgaXMgY3VycmVudGx5IGluIHByb2dyZXNzLgogICAgICogSW1wbGVtZW50cyByZmMgODIxOiBSU0VUIDxDUkxGPgogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gYm9vbGVhbiBUcnVlIG9uIHN1Y2Nlc3MuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZXNldCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zZW5kQ29tbWFuZCgnUlNFVCcsICdSU0VUJywgMjUwKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYSBjb21tYW5kIHRvIGFuIFNNVFAgc2VydmVyIGFuZCBjaGVjayBpdHMgcmV0dXJuIGNvZGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb21tYW5kIFRoZSBjb21tYW5kIG5hbWUgLSBub3Qgc2VudCB0byB0aGUgc2VydmVyCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb21tYW5kc3RyaW5nIFRoZSBhY3R1YWwgY29tbWFuZCB0byBzZW5kCiAgICAgKiBAcGFyYW0gaW50ZWdlcnxhcnJheSAkZXhwZWN0IE9uZSBvciBtb3JlIGV4cGVjdGVkIGludGVnZXIgc3VjY2VzcyBjb2RlcwogICAgICogQGFjY2VzcyBwcm90ZWN0ZWQKICAgICAqIEByZXR1cm4gYm9vbGVhbiBUcnVlIG9uIHN1Y2Nlc3MuCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZW5kQ29tbWFuZCgkY29tbWFuZCwgJGNvbW1hbmRzdHJpbmcsICRleHBlY3QpCiAgICB7CiAgICAgICAgaWYgKCEkdGhpcy0+Y29ubmVjdGVkKCkpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCJDYWxsZWQgJGNvbW1hbmQgd2l0aG91dCBiZWluZyBjb25uZWN0ZWQiKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICAvL1JlamVjdCBsaW5lIGJyZWFrcyBpbiBhbGwgY29tbWFuZHMKICAgICAgICBpZiAoc3RycG9zKCRjb21tYW5kc3RyaW5nLCAiXG4iKSAhPT0gZmFsc2Ugb3Igc3RycG9zKCRjb21tYW5kc3RyaW5nLCAiXHIiKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgJHRoaXMtPnNldEVycm9yKCJDb21tYW5kICckY29tbWFuZCcgY29udGFpbmVkIGxpbmUgYnJlYWtzIik7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmNsaWVudF9zZW5kKCRjb21tYW5kc3RyaW5nIC4gc2VsZjo6Q1JMRik7CgogICAgICAgICR0aGlzLT5sYXN0X3JlcGx5ID0gJHRoaXMtPmdldF9saW5lcygpOwogICAgICAgIC8vIEZldGNoIFNNVFAgY29kZSBhbmQgcG9zc2libGUgZXJyb3IgY29kZSBleHBsYW5hdGlvbgogICAgICAgICRtYXRjaGVzID0gYXJyYXkoKTsKICAgICAgICBpZiAocHJlZ19tYXRjaCgiL14oWzAtOV17M30pWyAtXSg/OihbMC05XVxcLlswLTldXFwuWzAtOV0pICk/LyIsICR0aGlzLT5sYXN0X3JlcGx5LCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgJGNvZGUgPSAkbWF0Y2hlc1sxXTsKICAgICAgICAgICAgJGNvZGVfZXggPSAoY291bnQoJG1hdGNoZXMpID4gMiA/ICRtYXRjaGVzWzJdIDogbnVsbCk7CiAgICAgICAgICAgIC8vIEN1dCBvZmYgZXJyb3IgY29kZSBmcm9tIGVhY2ggcmVzcG9uc2UgbGluZQogICAgICAgICAgICAkZGV0YWlsID0gcHJlZ19yZXBsYWNlKAogICAgICAgICAgICAgICAgIi97JGNvZGV9WyAtXSIuKCRjb2RlX2V4ID8gc3RyX3JlcGxhY2UoJy4nLCAnXFwuJywgJGNvZGVfZXgpLicgJyA6ICcnKS4iL20iLAogICAgICAgICAgICAgICAgJycsCiAgICAgICAgICAgICAgICAkdGhpcy0+bGFzdF9yZXBseQogICAgICAgICAgICApOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIEZhbGwgYmFjayB0byBzaW1wbGUgcGFyc2luZyBpZiByZWdleCBmYWlscwogICAgICAgICAgICAkY29kZSA9IHN1YnN0cigkdGhpcy0+bGFzdF9yZXBseSwgMCwgMyk7CiAgICAgICAgICAgICRjb2RlX2V4ID0gbnVsbDsKICAgICAgICAgICAgJGRldGFpbCA9IHN1YnN0cigkdGhpcy0+bGFzdF9yZXBseSwgNCk7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+ZWRlYnVnKCdTRVJWRVIgLT4gQ0xJRU5UOiAnIC4gJHRoaXMtPmxhc3RfcmVwbHksIHNlbGY6OkRFQlVHX1NFUlZFUik7CgogICAgICAgIGlmICghaW5fYXJyYXkoJGNvZGUsIChhcnJheSkkZXhwZWN0KSkgewogICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoCiAgICAgICAgICAgICAgICAiJGNvbW1hbmQgY29tbWFuZCBmYWlsZWQiLAogICAgICAgICAgICAgICAgJGRldGFpbCwKICAgICAgICAgICAgICAgICRjb2RlLAogICAgICAgICAgICAgICAgJGNvZGVfZXgKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJHRoaXMtPmVkZWJ1ZygKICAgICAgICAgICAgICAgICdTTVRQIEVSUk9SOiAnIC4gJHRoaXMtPmVycm9yWydlcnJvciddIC4gJzogJyAuICR0aGlzLT5sYXN0X3JlcGx5LAogICAgICAgICAgICAgICAgc2VsZjo6REVCVUdfQ0xJRU5UCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5zZXRFcnJvcignJyk7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIGFuIFNNVFAgU0FNTCBjb21tYW5kLgogICAgICogU3RhcnRzIGEgbWFpbCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBlbWFpbCBhZGRyZXNzIHNwZWNpZmllZCBpbiAkZnJvbS4KICAgICAqIFJldHVybnMgdHJ1ZSBpZiBzdWNjZXNzZnVsIG9yIGZhbHNlIG90aGVyd2lzZS4gSWYgVHJ1ZQogICAgICogdGhlIG1haWwgdHJhbnNhY3Rpb24gaXMgc3RhcnRlZCBhbmQgdGhlbiBvbmUgb3IgbW9yZSByZWNpcGllbnQKICAgICAqIGNvbW1hbmRzIG1heSBiZSBjYWxsZWQgZm9sbG93ZWQgYnkgYSBkYXRhIGNvbW1hbmQuIFRoaXMgY29tbWFuZAogICAgICogd2lsbCBzZW5kIHRoZSBtZXNzYWdlIHRvIHRoZSB1c2VycyB0ZXJtaW5hbCBpZiB0aGV5IGFyZSBsb2dnZWQKICAgICAqIGluIGFuZCBzZW5kIHRoZW0gYW4gZW1haWwuCiAgICAgKiBJbXBsZW1lbnRzIHJmYyA4MjE6IFNBTUwgPFNQPiBGUk9NOjxyZXZlcnNlLXBhdGg+IDxDUkxGPgogICAgICogQHBhcmFtIHN0cmluZyAkZnJvbSBUaGUgYWRkcmVzcyB0aGUgbWVzc2FnZSBpcyBmcm9tCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzZW5kQW5kTWFpbCgkZnJvbSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlbmRDb21tYW5kKCdTQU1MJywgIlNBTUwgRlJPTTokZnJvbSIsIDI1MCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIGFuIFNNVFAgVlJGWSBjb21tYW5kLgogICAgICogQHBhcmFtIHN0cmluZyAkbmFtZSBUaGUgbmFtZSB0byB2ZXJpZnkKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZlcmlmeSgkbmFtZSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnNlbmRDb21tYW5kKCdWUkZZJywgIlZSRlkgJG5hbWUiLCBhcnJheSgyNTAsIDI1MSkpOwogICAgfQoKICAgIC8qKgogICAgICogU2VuZCBhbiBTTVRQIE5PT1AgY29tbWFuZC4KICAgICAqIFVzZWQgdG8ga2VlcCBrZWVwLWFsaXZlcyBhbGl2ZSwgZG9lc24ndCBhY3R1YWxseSBkbyBhbnl0aGluZwogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbm9vcCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zZW5kQ29tbWFuZCgnTk9PUCcsICdOT09QJywgMjUwKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYW4gU01UUCBUVVJOIGNvbW1hbmQuCiAgICAgKiBUaGlzIGlzIGFuIG9wdGlvbmFsIGNvbW1hbmQgZm9yIFNNVFAgdGhhdCB0aGlzIGNsYXNzIGRvZXMgbm90IHN1cHBvcnQuCiAgICAgKiBUaGlzIG1ldGhvZCBpcyBoZXJlIHRvIG1ha2UgdGhlIFJGQzgyMSBEZWZpbml0aW9uIGNvbXBsZXRlIGZvciB0aGlzIGNsYXNzCiAgICAgKiBhbmQgX21heV8gYmUgaW1wbGVtZW50ZWQgaW4gZnV0dXJlCiAgICAgKiBJbXBsZW1lbnRzIGZyb20gcmZjIDgyMTogVFVSTiA8Q1JMRj4KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHR1cm4oKQogICAgewogICAgICAgICR0aGlzLT5zZXRFcnJvcignVGhlIFNNVFAgVFVSTiBjb21tYW5kIGlzIG5vdCBpbXBsZW1lbnRlZCcpOwogICAgICAgICR0aGlzLT5lZGVidWcoJ1NNVFAgTk9USUNFOiAnIC4gJHRoaXMtPmVycm9yWydlcnJvciddLCBzZWxmOjpERUJVR19DTElFTlQpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgcmF3IGRhdGEgdG8gdGhlIHNlcnZlci4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGRhdGEgVGhlIGRhdGEgdG8gc2VuZAogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqIEByZXR1cm4gaW50ZWdlcnxib29sZWFuIFRoZSBudW1iZXIgb2YgYnl0ZXMgc2VudCB0byB0aGUgc2VydmVyIG9yIGZhbHNlIG9uIGVycm9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbGllbnRfc2VuZCgkZGF0YSkKICAgIHsKICAgICAgICAkdGhpcy0+ZWRlYnVnKCJDTElFTlQgLT4gU0VSVkVSOiAkZGF0YSIsIHNlbGY6OkRFQlVHX0NMSUVOVCk7CiAgICAgICAgcmV0dXJuIGZ3cml0ZSgkdGhpcy0+c210cF9jb25uLCAkZGF0YSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGxhdGVzdCBlcnJvci4KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRFcnJvcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5lcnJvcjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBTTVRQIGV4dGVuc2lvbnMgYXZhaWxhYmxlIG9uIHRoZSBzZXJ2ZXIKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIGFycmF5fG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFNlcnZlckV4dExpc3QoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+c2VydmVyX2NhcHM7CiAgICB9CgogICAgLyoqCiAgICAgKiBBIG11bHRpcHVycG9zZSBtZXRob2QKICAgICAqIFRoZSBtZXRob2Qgd29ya3MgaW4gdGhyZWUgd2F5cywgZGVwZW5kZW50IG9uIGFyZ3VtZW50IHZhbHVlIGFuZCBjdXJyZW50IHN0YXRlCiAgICAgKiAgIDEuIEhFTE8vRUhMTyB3YXMgbm90IHNlbnQgLSByZXR1cm5zIG51bGwgYW5kIHNldCB1cCAkdGhpcy0+ZXJyb3IKICAgICAqICAgMi4gSEVMTyB3YXMgc2VudAogICAgICogICAgICRuYW1lID0gJ0hFTE8nOiByZXR1cm5zIHNlcnZlciBuYW1lCiAgICAgKiAgICAgJG5hbWUgPSAnRUhMTyc6IHJldHVybnMgYm9vbGVhbiBmYWxzZQogICAgICogICAgICRuYW1lID0gYW55IHN0cmluZzogcmV0dXJucyBudWxsIGFuZCBzZXQgdXAgJHRoaXMtPmVycm9yCiAgICAgKiAgIDMuIEVITE8gd2FzIHNlbnQKICAgICAqICAgICAkbmFtZSA9ICdIRUxPJ3wnRUhMTyc6IHJldHVybnMgc2VydmVyIG5hbWUKICAgICAqICAgICAkbmFtZSA9IGFueSBzdHJpbmc6IGlmIGV4dGVuc2lvbiAkbmFtZSBleGlzdHMsIHJldHVybnMgYm9vbGVhbiBUcnVlCiAgICAgKiAgICAgICBvciBpdHMgb3B0aW9ucy4gT3RoZXJ3aXNlIHJldHVybnMgYm9vbGVhbiBGYWxzZQogICAgICogSW4gb3RoZXIgd29yZHMsIG9uZSBjYW4gdXNlIHRoaXMgbWV0aG9kIHRvIGRldGVjdCAzIGNvbmRpdGlvbnM6CiAgICAgKiAgLSBudWxsIHJldHVybmVkOiBoYW5kc2hha2Ugd2FzIG5vdCBvciB3ZSBkb24ndCBrbm93IGFib3V0IGV4dCAocmVmZXIgdG8gJHRoaXMtPmVycm9yKQogICAgICogIC0gZmFsc2UgcmV0dXJuZWQ6IHRoZSByZXF1ZXN0ZWQgZmVhdHVyZSBleGFjdGx5IG5vdCBleGlzdHMKICAgICAqICAtIHBvc2l0aXZlIHZhbHVlIHJldHVybmVkOiB0aGUgcmVxdWVzdGVkIGZlYXR1cmUgZXhpc3RzCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lIE5hbWUgb2YgU01UUCBleHRlbnNpb24gb3IgJ0hFTE8nfCdFSExPJwogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2VydmVyRXh0KCRuYW1lKQogICAgewogICAgICAgIGlmICghJHRoaXMtPnNlcnZlcl9jYXBzKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRFcnJvcignTm8gSEVMTy9FSExPIHdhcyBzZW50Jyk7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCiAgICAgICAgLy8gdGhlIHRpZ2h0IGxvZ2ljIGtub3QgOykKICAgICAgICBpZiAoIWFycmF5X2tleV9leGlzdHMoJG5hbWUsICR0aGlzLT5zZXJ2ZXJfY2FwcykpIHsKICAgICAgICAgICAgaWYgKCRuYW1lID09ICdIRUxPJykgewogICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5zZXJ2ZXJfY2Fwc1snRUhMTyddOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkbmFtZSA9PSAnRUhMTycgfHwgYXJyYXlfa2V5X2V4aXN0cygnRUhMTycsICR0aGlzLT5zZXJ2ZXJfY2FwcykpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkdGhpcy0+c2V0RXJyb3IoJ0hFTE8gaGFuZHNoYWtlIHdhcyB1c2VkLiBDbGllbnQga25vd3Mgbm90aGluZyBhYm91dCBzZXJ2ZXIgZXh0ZW5zaW9ucycpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+c2VydmVyX2NhcHNbJG5hbWVdOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBsYXN0IHJlcGx5IGZyb20gdGhlIHNlcnZlci4KICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGFzdFJlcGx5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmxhc3RfcmVwbHk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZWFkIHRoZSBTTVRQIHNlcnZlcidzIHJlc3BvbnNlLgogICAgICogRWl0aGVyIGJlZm9yZSBlb2Ygb3Igc29ja2V0IHRpbWVvdXQgb2NjdXJzIG9uIHRoZSBvcGVyYXRpb24uCiAgICAgKiBXaXRoIFNNVFAgd2UgY2FuIHRlbGwgaWYgd2UgaGF2ZSBtb3JlIGxpbmVzIHRvIHJlYWQgaWYgdGhlCiAgICAgKiA0dGggY2hhcmFjdGVyIGlzICctJyBzeW1ib2wuIElmIGl0IGlzIGEgc3BhY2UgdGhlbiB3ZSBkb24ndAogICAgICogbmVlZCB0byByZWFkIGFueXRoaW5nIGVsc2UuCiAgICAgKiBAYWNjZXNzIHByb3RlY3RlZAogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9saW5lcygpCiAgICB7CiAgICAgICAgLy8gSWYgdGhlIGNvbm5lY3Rpb24gaXMgYmFkLCBnaXZlIHVwIHN0cmFpZ2h0IGF3YXkKICAgICAgICBpZiAoIWlzX3Jlc291cmNlKCR0aGlzLT5zbXRwX2Nvbm4pKSB7CiAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9CiAgICAgICAgJGRhdGEgPSAnJzsKICAgICAgICAkZW5kdGltZSA9IDA7CiAgICAgICAgc3RyZWFtX3NldF90aW1lb3V0KCR0aGlzLT5zbXRwX2Nvbm4sICR0aGlzLT5UaW1lb3V0KTsKICAgICAgICBpZiAoJHRoaXMtPlRpbWVsaW1pdCA+IDApIHsKICAgICAgICAgICAgJGVuZHRpbWUgPSB0aW1lKCkgKyAkdGhpcy0+VGltZWxpbWl0OwogICAgICAgIH0KICAgICAgICB3aGlsZSAoaXNfcmVzb3VyY2UoJHRoaXMtPnNtdHBfY29ubikgJiYgIWZlb2YoJHRoaXMtPnNtdHBfY29ubikpIHsKICAgICAgICAgICAgJHN0ciA9IEBmZ2V0cygkdGhpcy0+c210cF9jb25uLCA1MTUpOwogICAgICAgICAgICAkdGhpcy0+ZWRlYnVnKCJTTVRQIC0+IGdldF9saW5lcygpOiBcJGRhdGEgaXMgXCIkZGF0YVwiIiwgc2VsZjo6REVCVUdfTE9XTEVWRUwpOwogICAgICAgICAgICAkdGhpcy0+ZWRlYnVnKCJTTVRQIC0+IGdldF9saW5lcygpOiBcJHN0ciBpcyAgXCIkc3RyXCIiLCBzZWxmOjpERUJVR19MT1dMRVZFTCk7CiAgICAgICAgICAgICRkYXRhIC49ICRzdHI7CiAgICAgICAgICAgIC8vIElmIDR0aCBjaGFyYWN0ZXIgaXMgYSBzcGFjZSwgd2UgYXJlIGRvbmUgcmVhZGluZywgYnJlYWsgdGhlIGxvb3AsIG1pY3JvLW9wdGltaXNhdGlvbiBvdmVyIHN0cmxlbgogICAgICAgICAgICBpZiAoKGlzc2V0KCRzdHJbM10pIGFuZCAkc3RyWzNdID09ICcgJykpIHsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIFRpbWVkLW91dD8gTG9nIGFuZCBicmVhawogICAgICAgICAgICAkaW5mbyA9IHN0cmVhbV9nZXRfbWV0YV9kYXRhKCR0aGlzLT5zbXRwX2Nvbm4pOwogICAgICAgICAgICBpZiAoJGluZm9bJ3RpbWVkX291dCddKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZWRlYnVnKAogICAgICAgICAgICAgICAgICAgICdTTVRQIC0+IGdldF9saW5lcygpOiB0aW1lZC1vdXQgKCcgLiAkdGhpcy0+VGltZW91dCAuICcgc2VjKScsCiAgICAgICAgICAgICAgICAgICAgc2VsZjo6REVCVUdfTE9XTEVWRUwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBOb3cgY2hlY2sgaWYgcmVhZHMgdG9vayB0b28gbG9uZwogICAgICAgICAgICBpZiAoJGVuZHRpbWUgYW5kIHRpbWUoKSA+ICRlbmR0aW1lKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZWRlYnVnKAogICAgICAgICAgICAgICAgICAgICdTTVRQIC0+IGdldF9saW5lcygpOiB0aW1lbGltaXQgcmVhY2hlZCAoJy4KICAgICAgICAgICAgICAgICAgICAkdGhpcy0+VGltZWxpbWl0IC4gJyBzZWMpJywKICAgICAgICAgICAgICAgICAgICBzZWxmOjpERUJVR19MT1dMRVZFTAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICAvKioKICAgICAqIEVuYWJsZSBvciBkaXNhYmxlIFZFUlAgYWRkcmVzcyBnZW5lcmF0aW9uLgogICAgICogQHBhcmFtIGJvb2xlYW4gJGVuYWJsZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFZlcnAoJGVuYWJsZWQgPSBmYWxzZSkKICAgIHsKICAgICAgICAkdGhpcy0+ZG9fdmVycCA9ICRlbmFibGVkOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IFZFUlAgYWRkcmVzcyBnZW5lcmF0aW9uIG1vZGUuCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFZlcnAoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZG9fdmVycDsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBlcnJvciBtZXNzYWdlcyBhbmQgY29kZXMuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkZXRhaWwgRnVydGhlciBkZXRhaWwgb24gdGhlIGVycm9yCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzbXRwX2NvZGUgQW4gYXNzb2NpYXRlZCBTTVRQIGVycm9yIGNvZGUKICAgICAqIEBwYXJhbSBzdHJpbmcgJHNtdHBfY29kZV9leCBFeHRlbmRlZCBTTVRQIGNvZGUKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHNldEVycm9yKCRtZXNzYWdlLCAkZGV0YWlsID0gJycsICRzbXRwX2NvZGUgPSAnJywgJHNtdHBfY29kZV9leCA9ICcnKQogICAgewogICAgICAgICR0aGlzLT5lcnJvciA9IGFycmF5KAogICAgICAgICAgICAnZXJyb3InID0+ICRtZXNzYWdlLAogICAgICAgICAgICAnZGV0YWlsJyA9PiAkZGV0YWlsLAogICAgICAgICAgICAnc210cF9jb2RlJyA9PiAkc210cF9jb2RlLAogICAgICAgICAgICAnc210cF9jb2RlX2V4JyA9PiAkc210cF9jb2RlX2V4CiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCBkZWJ1ZyBvdXRwdXQgbWV0aG9kLgogICAgICogQHBhcmFtIHN0cmluZ3xjYWxsYWJsZSAkbWV0aG9kIFRoZSBuYW1lIG9mIHRoZSBtZWNoYW5pc20gdG8gdXNlIGZvciBkZWJ1Z2dpbmcgb3V0cHV0LCBvciBhIGNhbGxhYmxlIHRvIGhhbmRsZSBpdC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldERlYnVnT3V0cHV0KCRtZXRob2QgPSAnZWNobycpCiAgICB7CiAgICAgICAgJHRoaXMtPkRlYnVnb3V0cHV0ID0gJG1ldGhvZDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBkZWJ1ZyBvdXRwdXQgbWV0aG9kLgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldERlYnVnT3V0cHV0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPkRlYnVnb3V0cHV0OwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGRlYnVnIG91dHB1dCBsZXZlbC4KICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsZXZlbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RGVidWdMZXZlbCgkbGV2ZWwgPSAwKQogICAgewogICAgICAgICR0aGlzLT5kb19kZWJ1ZyA9ICRsZXZlbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBkZWJ1ZyBvdXRwdXQgbGV2ZWwuCiAgICAgKiBAcmV0dXJuIGludGVnZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldERlYnVnTGV2ZWwoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+ZG9fZGVidWc7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgU01UUCB0aW1lb3V0LgogICAgICogQHBhcmFtIGludGVnZXIgJHRpbWVvdXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldFRpbWVvdXQoJHRpbWVvdXQgPSAwKQogICAgewogICAgICAgICR0aGlzLT5UaW1lb3V0ID0gJHRpbWVvdXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgU01UUCB0aW1lb3V0LgogICAgICogQHJldHVybiBpbnRlZ2VyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUaW1lb3V0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPlRpbWVvdXQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-am.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEFybWVuaWFuIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBkZWZpbml0aXZlIGxpc3QKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBhdXRob3IgSHJheXIgR3JpZ29yeWFuIDxocmF5ckBiaXRzLmFtPgogKi8KIAokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAnU01UUCAt1asg1b3VrdWh1aw6INW51bDVodW71bjVstW+1aXWgSDVvdW/1bjWgtWj1aXVrCDVq9W91a/VuNaC1anVtdW41oLVttWoLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQIC3VqyDVvdWt1aHVrDog1bnVsNWh1bvVuNWy1b7VpdaBINWv1aHVuiDVsNWh1b3Vv9Wh1b/VpdWsIFNNVFAg1b3VpdaA1b7VpdaA1asg1bDVpdW/Lic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdTTVRQIC3VqyDVvdWt1aHVrDog1b/VvtW11aHVrNW21aXWgNWoINWo1bbVpNW41oLVttW+1aHVriDVudWl1bYuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ9WA1aHVstW41oDVpNWh1aPWgNW41oLVqdW11bjWgtW21agg1aTVodW/1aHWgNWvINWnJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ9S/1bjVpNWh1b7VuNaA1bTVodW2INWh1bbVsNWh1bXVvyDVv9Wl1b3VodWvOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAn1YnVsNWh1bvVuNWy1b7VpdaBINWr1oDVodWv1aHVttWh1oHVttWl1awg1bDWgNWh1bTVodW21ag6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICfVltWh1bXVrNWoINWw1aHVvdWh1bbVpdWs1asg1bnVpzogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ9WW1aHVtdWs1asg1b3VrdWh1aw6INaG1aHVtdWs1agg1bnVsNWh1bvVuNWy1b7VpdaBINWi1aHWgdWl1aw6ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICfViNaC1bLVodaA1a/VuNWy1asg1bDVpdW/1ofVtdWh1awg1bDVodW91oHVpdW2INW91a3VodWsINWnOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAn1YDVttWh1oDVodW+1bjWgCDVudWnINWv1aHVttW51aXVrCBtYWlsINaG1bjWgtW21a/WgdWr1aHVti4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAn1YDVodW91oHVpdW2INW91a3VodWsINWnOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnINaD1bjVvdW/1aHVtdWr1bYg1b3VpdaA1b7VpdaA1asg1bDVpdW/INW51asg1aHVt9Wt1aHVv9W41oLVtC4nOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAn1LHVttWw1oDVodWq1aXVt9W/INWnINW/1oDVodW01aHVpNaA1aXVrCDVo9W41bbVpSDVtNWl1a8g1b3Vv9Wh1oHVuNWy1asgZS1tYWlsINWw1aHVvdaB1aUuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAgLdWrINW91a3VodWsOiDVudWrINWw1aHVu9W41bLVvtWl1awg1bjWgtWy1aHWgNWv1aXVrCDVsNWl1b/Wh9W11aHVrCDVvdW/1aHWgdW41bLVttWl1oDVqyDVsNWh1b3WgdWl1bbVpdaA1avVtjogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ9WN1b/VuNaA1aHVo9aA1bTVodW2INW91a3VodWsOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnU01UUCAt1asgY29ubmVjdCgpINaG1bjWgtW21a/WgdWr1aHVtiDVudWrINWw1aHVu9W41bLVvtWl1awnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAnU01UUCDVvdWl1oDVvtWl1oDVqyDVvdWt1aHVrDogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ9WJ1asg1bDVodW71bjVstW+1bjWgtW0INW91b/VpdWy1a7VpdWsINWv1aHVtCDVvtWl1oDVodaD1bjVrdWl1awg1oPVuNaD1bjVrdWh1a/VodW21ag6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICfVgNWh1b7VpdWs1b7VodWu1agg1aLVodaB1aHVr9Wh1bXVuNaC1bQg1ac6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-ar.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEFyYWJpYyBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIGJhaGphdCBhbCBtb3N0YWZhIDxiYWhqYXQ5ODNAaG90bWFpbC5jb20+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ9iu2LfYoyBTTVRQIDog2YTYpyDZitmF2YPZhiDYqtij2YPZitivINin2YTZh9mI2YrYqS4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAn2K7Yt9ijIFNNVFA6INmE2Kcg2YrZhdmD2YYg2KfZhNin2KrYtdin2YQg2KjYp9mE2K7Yp9iv2YUgU01UUC4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAn2K7Yt9ijIFNNVFA6INmE2YUg2YrYqtmFINmC2KjZiNmEINin2YTZhdi52YTZiNmF2KfYqiAuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ9mG2LUg2KfZhNix2LPYp9mE2Kkg2YHYp9ix2LonOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAn2KrYsdmF2YrYsiDYutmK2LEg2YXYudix2YjZgTogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ9mE2Kcg2YrZhdmD2YYg2KrZhtmB2YrYsCA6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICfZhNinINmK2YXZg9mGINin2YTZiNi12YjZhCDZhNmE2YXZhNmBOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAn2K7Yt9ijINmB2Yog2KfZhNmF2YTZgTog2YTYpyDZitmF2YPZhiDZgdiq2K3ZhzogJzsKJFBIUE1BSUxFUl9MQU5HWydmcm9tX2ZhaWxlZCddICAgICAgICAgID0gJ9iu2LfYoyDYudmE2Ykg2YXYs9iq2YjZiSDYudmG2YjYp9mGINin2YTZhdix2LPZhCA6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICfZhNinINmK2YXZg9mGINiq2YjZgdmK2LEg2K7Yr9mF2Kkg2KfZhNio2LHZitivLic7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICfYp9mE2KXYsdiz2KfZhCDYutmK2LEg2YXZhdmD2YYg2YTYo9mGINi52YbZiNin2YYg2KfZhNio2LHZitivINin2YTYpdmE2YPYqtix2YjZhtmKINi62YrYsSDYtdin2YTYrTogJzsKJFBIUE1BSUxFUl9MQU5HWydtYWlsZXJfbm90X3N1cHBvcnRlZCddID0gJyDYqNix2YbYp9mF2Kwg2KfZhNil2LHYs9in2YQg2LrZitixINmF2K/YudmI2YUuJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ9mK2KzYqCDYqtmI2YHZitixINi52YbZiNin2YYg2KfZhNio2LHZitivINin2YTYpdmE2YPYqtix2YjZhtmKINmE2YXYs9iq2YTZhSDZiNin2K3YryDYudmE2Ykg2KfZhNij2YLZhC4nOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAn2K7Yt9ijIFNNVFA6INin2YTYo9iu2LfYp9ihINin2YTYqtin2YTZitipICcgLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn2YHYtNmEINmB2Yog2KfZhNin2LHYs9in2YQg2YTZg9mEINmF2YYgOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAn2K7Yt9ijINmB2Yog2KfZhNiq2YjZgtmK2Lk6ICc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICdTTVRQIENvbm5lY3QoKSDYutmK2LEg2YXZhdmD2YYuJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ9iu2LfYoyDYudmE2Ykg2YXYs9iq2YjZiSDYp9mE2K7Yp9iv2YUgU01UUDogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ9mE2Kcg2YrZhdmD2YYg2KrYudmK2YrZhiDYo9mIINil2LnYp9iv2Kkg2KrYudmK2YrZhiDZhdiq2LrZitixOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-az.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEF6ZXJiYWlqYW5pIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBkZWZpbml0aXZlIGxpc3QKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBhdXRob3IgQG1pcmphbGFsCiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ1NNVFAgeMmZdGFzxLE6IEdpcmnFnyB1xJ91cnN1eiBvbGR1Lic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQIHjJmXRhc8SxOiBTTVRQIHNlcnZlcmluyZkgcW/Fn3VsbWEgdcSfdXJzdXogb2xkdS4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAnU01UUCB4yZl0YXPEsTogVmVyaWzJmW5syZlyIHHJmWJ1bCBlZGlsbcmZeWliLic7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICdCb8WfIG1lc2FqIGfDtm5kyZlyaWzJmSBiaWxtyZl6Lic7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICdRZXlyaS1tw7zJmXl5yZluIGtvZGxhxZ9kxLFybWE6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICfGj21yIHllcmluyZkgeWV0aXJpbG3JmWRpOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnRmF5bGEgZ2lyacWfIHlveGR1cjogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ0ZheWwgeMmZdGFzxLE6IEZheWwgYcOnxLFsYSBiaWxtyZlkaTogJzsKJFBIUE1BSUxFUl9MQU5HWydmcm9tX2ZhaWxlZCddICAgICAgICAgID0gJ0fDtnN0yZlyaWzJmW4gcG/Dp3RsYXJhIGfDtm5kyZlybcmZIHXEn3Vyc3V6IG9sZHU6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICdNYWlsIGZ1bmtzaXlhc8SxIGnFn8mZIHNhbMSxbmEgYmlsbcmZZGkuJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ0TDvHpnw7xuIG9sbWF5YW4gZS1tYWlsIGFkcmVzaTogJzsKJFBIUE1BSUxFUl9MQU5HWydtYWlsZXJfbm90X3N1cHBvcnRlZCddID0gJyAtIGUtbWFpbCBraXRhYnhhbmFzxLEgZMmZc3TJmWtsyZlubWlyLic7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICfGj24gYXrEsSBiaXIgZS1tYWlsIGFkcmVzaSBkYXhpbCBlZGlsbcmZbGlkaXIuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAgeMmZdGFzxLE6IEHFn2HEn8SxZGFrxLEgw7xudmFubGFyIMO8enLJmSBhbMSxY8SxbGFyYSBnw7ZuZMmZcm3JmSB1xJ91cnN1emR1cjogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ8SwbXphbGFtYSB4yZl0YXPEsTogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAgc2VydmVyaW7JmSBxb8WfdWxtYSB1xJ91cnN1eiBvbGR1Lic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdTTVRQIHNlcnZlcmkgeMmZdGFzxLE6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdEyZl5acWfyZluaW4gcXVyYcWfZMSxcsSxbG1hc8SxIHXEn3Vyc3V6IG9sZHU6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-be.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEJlbGFydXNpYW4gUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBBbGVrc2FuZGVyIE1ha3N5bWl1ayA8aW5mb0BzZXRwcm8ucGw+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ9Cf0LDQvNGL0LvQutCwIFNNVFA6INC/0LDQvNGL0LvQutCwINGW0LTRjdC90YLRi9GE0ZbQutCw0YbRi9GWLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICfQn9Cw0LzRi9C70LrQsCBTTVRQOiDQvdC10LvRjNCz0LAg0Z7RgdGC0LDQvdCw0LLRltGG0Ywg0YHRg9Cy0Y/Qt9GMINC3IFNNVFAt0YHQtdGA0LLQtdGA0LDQvC4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAn0J/QsNC80YvQu9C60LAgU01UUDog0LfQstC10YHRgtC60ZYg0L3QtdC/0YDRi9C90Y/RgtGL0Y8uJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ9Cf0YPRgdGC0L7QtSDQv9Cw0LLQtdC00LDQvNC70LXQvdC90LUuJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ9Cd0LXQstGP0LTQvtC80LDRjyDQutCw0LTRi9GA0L7RntC60LAg0YLRjdC60YHRgtGDOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAn0J3QtdC70YzQs9CwINCy0YvQutCw0L3QsNGG0Ywg0LrQsNC80LDQvdC00YM6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICfQndGP0LzQsCDQtNC+0YHRgtGD0L/RgyDQtNCwINGE0LDQudC70LA6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICfQndC10LvRjNCz0LAg0LDQtNC60YDRi9GG0Ywg0YTQsNC50Ls6ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICfQndGP0L/RgNCw0LLRltC70YzQvdGLINCw0LTRgNCw0YEg0LDQtNC/0YDQsNGe0L3RltC60LA6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICfQndC10LvRjNCz0LAg0L/RgNGL0LzRj9C90ZbRhtGMINGE0YPQvdC60YbRi9GOIG1haWwoKS4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAn0J3QtdC70YzQs9CwINC00LDRgdC70LDRhtGMINC/0LDQstC10LTQsNC80LvQtdC90L3QtSwg0L3Rj9C/0YDQsNCy0ZbQu9GM0L3RiyBlbWFpbCDQsNGC0YDRi9C80LDQu9GM0L3RltC60LA6ICc7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICfQl9Cw0L/QvtGe0L3RltGG0LUsINC60LDQu9GWINC70LDRgdC60LAsINC/0YDQsNCy0ZbQu9GM0L3RiyBlbWFpbCDQsNGC0YDRi9C80LDQu9GM0L3RltC60LAuJzsKJFBIUE1BSUxFUl9MQU5HWydtYWlsZXJfbm90X3N1cHBvcnRlZCddID0gJyAtINC/0LDRiNGC0L7QstGLINGB0LXRgNCy0LXRgCDQvdC1INC/0LDQtNGC0YDRi9C80LvRltCy0LDQtdGG0YbQsC4nOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAn0J/QsNC80YvQu9C60LAgU01UUDog0L3Rj9C/0YDQsNCy0ZbQu9GM0L3Ri9GPINCw0YLRgNGL0LzQsNC70YzQvdGW0LrRljogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ9Cf0LDQvNGL0LvQutCwINC/0L7QtNC/0ZbRgdGDINC/0LDQstC10LTQsNC80LvQtdC90L3RjzogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ9Cf0LDQvNGL0LvQutCwINGB0YPQstGP0LfRliDQtyBTTVRQLdGB0LXRgNCy0LXRgNCw0LwuJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ9Cf0LDQvNGL0LvQutCwIFNNVFA6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICfQndC10LvRjNCz0LAg0Z7RgdGC0LDQvdCw0LLRltGG0Ywg0LDQsdC+INC/0LXRgNCw0LzRj9C90ZbRhtGMINC30L3QsNGH0Y3QvdC90LUg0L/QtdGA0LDQvNC10L3QvdCw0Lk6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-bg.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEJ1bGdhcmlhbiBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIE1pa2hhaWwgS3lvc2V2IDxtaWFseWdrQGdtYWlsLmNvbT4KICovCgokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAnU01UUCDQs9GA0LXRiNC60LA6INCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INGD0LTQvtGB0YLQvtCy0LXRgNC4INC/0YDQtdC0INGB0YrRgNCy0YrRgNCwLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQINCz0YDQtdGI0LrQsDog0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHQstGK0YDQttC1INGBIFNNVFAg0YXQvtGB0YLQsC4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAnU01UUCDQs9GA0LXRiNC60LA6INC00LDQvdC90LjRgtC1INC90LUg0YHQsCDQv9GA0LjQtdGC0LguJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ9Ch0YrQtNGK0YDQttCw0L3QuNC10YLQviDQvdCwINGB0YrQvtCx0YnQtdC90LjQtdGC0L4g0LUg0L/RgNCw0LfQvdC+JzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ9Cd0LXQuNC30LLQtdGB0YLQvdC+INC60L7QtNC40YDQsNC90LU6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICfQndC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RitC70L3QuDogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ9Cd0Y/QvNCwINC00L7RgdGC0YrQvyDQtNC+INGE0LDQudC7OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAn0KTQsNC50LvQvtCy0LAg0LPRgNC10YjQutCwOiDQndC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0Lgg0YTQsNC50Ls6ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICfQodC70LXQtNC90LjRgtC1INCw0LTRgNC10YHQuCDQt9CwINC/0L7QtNCw0YLQtdC7INGB0LAg0L3QtdCy0LDQu9C40LTQvdC4OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAn0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQvdGB0YLQsNC90YbQuNGA0LAg0YTRg9C90LrRhtC40Y/RgtCwIG1haWwuJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ9Cd0LXQstCw0LvQuNC00LXQvSDQsNC00YDQtdGBOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIC0g0L/QvtGJ0LXQvdGB0LrQuCDRgdGK0YDQstGK0YAg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAuJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ9Ci0YDRj9Cx0LLQsCDQtNCwINC/0YDQtdC00L7RgdGC0LDQstC40YLQtSDQv9C+0L3QtSDQtdC00LjQvSBlbWFpbCDQsNC00YDQtdGBINC30LAg0L/QvtC70YPRh9Cw0YLQtdC7Lic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICdTTVRQINCz0YDQtdGI0LrQsDog0KHQu9C10LTQvdC40YLQtSDQsNC00YDQtdGB0Lgg0LfQsCDQn9C+0LvRg9GH0LDRgtC10Lsg0YHQsCDQvdC10LLQsNC70LjQtNC90Lg6ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICfQk9GA0LXRiNC60LAg0L/RgNC4INC/0L7QtNC/0LjRgdCy0LDQvdC1OiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnU01UUCDQv9GA0L7QstCw0LvQtdC9IGNvbm5lY3QoKS4nOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAnU01UUCDRgdGK0YDQstGK0YDQvdCwINCz0YDQtdGI0LrQsDogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ9Cd0LUg0LzQvtC20LUg0LTQsCDRgdC1INGD0YHRgtCw0L3QvtCy0Lgg0LjQu9C4INCy0YrQt9GB0YLQsNC90L7QstC4INC/0YDQvtC80LXQvdC70LjQstCwOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAn0JvQuNC/0YHQstCwINGA0LDQt9GI0LjRgNC10L3QuNC1OiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-br.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEJyYXppbGlhbiBQb3J0dWd1ZXNlIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBkZWZpbml0aXZlIGxpc3QKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBhdXRob3IgUGF1bG8gSGVucmlxdWUgR2FyY2lhIDxwYXVsb0Bjb250cm9sbGVyd2ViLmNvbS5icj4KICogQGF1dGhvciBMdWNhcyBHdWltYXLDo2VzIDxsdWNhc0BsdWNhc2d1aW1hcmFlcy5jb20+CiAqIEBhdXRob3IgUGhlbGlwZSBBbHZlcyA8cGhlbGlwZWFsdmVzZGVzb3V6YUBnbWFpbC5jb20+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ0Vycm8gZGUgU01UUDogTsOjbyBmb2kgcG9zc8OtdmVsIGF1dGVudGljYXIuJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ0Vycm8gZGUgU01UUDogTsOjbyBmb2kgcG9zc8OtdmVsIGNvbmVjdGFyIGNvbSBvIHNlcnZpZG9yIFNNVFAuJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ0Vycm8gZGUgU01UUDogRGFkb3MgcmVqZWl0YWRvcy4nOwokUEhQTUFJTEVSX0xBTkdbJ2VtcHR5X21lc3NhZ2UnXSAgICAgICAgPSAnQ29ycG8gZGEgbWVuc2FnZW0gdmF6aW8nOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAnQ29kaWZpY2HDp8OjbyBkZXNjb25oZWNpZGE6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICdOw6NvIGZvaSBwb3Nzw612ZWwgZXhlY3V0YXI6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICdOw6NvIGZvaSBwb3Nzw612ZWwgYWNlc3NhciBvIGFycXVpdm86ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICdFcnJvIGRlIEFycXVpdm86IE7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGFycXVpdm86ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdPcyBlbmRlcmXDp29zIGRvcyByZW1lbnRlbnRlcyBhIHNlZ3VpciBmYWxoYXJhbTogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ07Do28gZm9pIHBvc3PDrXZlbCBpbmljaWFyIHVtYSBpbnN0w6JuY2lhIGRhIGZ1bsOnw6NvIG1haWwuJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ07Do28gZW52aWFuZG8sIGVuZGVyZcOnbyBkZSBlLW1haWwgaW52w6FsaWRvOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIG1haWxlciBuw6NvIMOpIHN1cG9ydGFkby4nOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAnVm9jw6ogZGV2ZSBmb3JuZWNlciBwZWxvIG1lbm9zIHVtIGVuZGVyZcOnbyBkZSBkZXN0aW5hdMOhcmlvIGRlIGUtbWFpbC4nOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAnRXJybyBkZSBTTVRQOiBPcyBlbmRlcmXDp29zIGRlIGRlc3RpbmF0w6FyaW8gYSBzZWd1aXIgZmFsaGFyYW06ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICdFcnJvIGFvIGFzc2luYXI6ICc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICdTTVRQIENvbm5lY3QoKSBmYWxob3UuJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ0Vycm8gZGUgc2Vydmlkb3IgU01UUDogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ07Do28gZm9pIHBvc3PDrXZlbCBkZWZpbmlyIG91IHJlc2V0YXIgYSB2YXJpw6F2ZWw6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnPDo28gYXVzZW50ZTogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-ca.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENhdGFsYW4gUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBJdmFuIDx3ZWIgQVQgbWljcm9zdHVkaSBET1QgY29tPgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdFcnJvciBTTVRQOiBObyBz4oCZaGEgcG9ndXQgYXV0ZW50aWNhci4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnRXJyb3IgU01UUDogTm8gZXMgcG90IGNvbm5lY3RhciBhbCBzZXJ2aWRvciBTTVRQLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdFcnJvciBTTVRQOiBEYWRlcyBubyBhY2NlcHRhZGVzLic7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICdFbCBjb3MgZGVsIG1pc3NhdGdlIGVzdMOgIGJ1aXQuJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ0NvZGlmaWNhY2nDsyBkZXNjb25lZ3VkYTogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ05vIGVzIHBvdCBleGVjdXRhcjogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ05vIGVzIHBvdCBhY2NlZGlyIGEgbOKAmWFyeGl1OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAnRXJyb3IgZOKAmUFyeGl1OiBObyBlcyBwb3Qgb2JyaXIgbOKAmWFyeGl1OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnTGEocykgc2Vnw7xlbnQocykgYWRyZWNlcyBkZSByZW1pdGVudCBoYW4gZmFsbGF0OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAnTm8gc+KAmWhhIHBvZ3V0IGNyZWFyIHVuYSBpbnN0w6BuY2lhIGRlIGxhIGZ1bmNpw7MgTWFpbC4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnQWRyZcOnYSBk4oCZZW1haWwgaW52YWxpZGE6ICc7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICcgbWFpbGVyIG5vIGVzdMOgIHN1cG9ydGF0JzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ1PigJloYSBkZSBwcm92ZWlyIGFsbWVueXMgdW5hIGFkcmXDp2EgZOKAmWVtYWlsIGNvbSBhIGRlc3RpbmF0YXJpLic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICdFcnJvciBTTVRQOiBFbHMgc2Vnw7xlbnRzIGRlc3RpbmF0YXJpcyBoYW4gZmFsbGF0OiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAnRXJyb3IgYWwgc2lnbmFyOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnSGEgZmFsbGF0IGVsIFNNVFAgQ29ubmVjdCgpLic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdFcnJvciBkZWwgc2Vydmlkb3IgU01UUDogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ05vIHPigJloYSBwb2d1dCBlc3RhYmxpciBvIHJlc3RhYmxpciBsYSB2YXJpYWJsZTogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnRXh0ZW5zaW9uIG1pc3Npbmc6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-ch.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENoaW5lc2UgUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBMaXVYaW4gPGh0dHA6Ly93d3cuODB4ODYuY24vYmxvZy8+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ1NNVFAg6ZSZ6K+v77ya6Lqr5Lu96aqM6K+B5aSx6LSl44CCJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ1NNVFAg6ZSZ6K+vOiDkuI3og73ov57mjqVTTVRQ5Li75py644CCJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ1NNVFAg6ZSZ6K+vOiDmlbDmja7kuI3lj6/mjqXlj5fjgIInOwovLyRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICdNZXNzYWdlIGJvZHkgZW1wdHknOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAn5pyq55+l57yW56CB77yaJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ+S4jeiDveaJp+ihjDogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ+S4jeiDveiuv+mXruaWh+S7tu+8mic7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICfmlofku7bplJnor6/vvJrkuI3og73miZPlvIDmlofku7bvvJonOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAn5LiL6Z2i55qE5Y+R6YCB5Zyw5Z2A6YKu5Lu25Y+R6YCB5aSx6LSl5LqG77yaICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICfkuI3og73lrp7njrBtYWls5pa55rOV44CCJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnSW52YWxpZCBhZGRyZXNzOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIOaCqOaJgOmAieaLqeeahOWPkemAgemCruS7tueahOaWueazleW5tuS4jeaUr+aMgeOAgic7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICfmgqjlv4Xpobvmj5Dkvpvoh7PlsJHkuIDkuKog5pS25L+h5Lq655qEZW1haWzlnLDlnYDjgIInOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAnU01UUCDplJnor6/vvJog5LiL6Z2i55qEIOaUtuS7tuS6uuWksei0peS6hu+8miAnOwovLyRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICdTaWduaW5nIEVycm9yOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICdTTVRQIENvbm5lY3QoKSBmYWlsZWQuJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAnU01UUCBzZXJ2ZXIgZXJyb3I6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ0Nhbm5vdCBzZXQgb3IgcmVzZXQgdmFyaWFibGU6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-cz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEN6ZWNoIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBkZWZpbml0aXZlIGxpc3QKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ0NoeWJhIFNNVFA6IEF1dGVudGl6YWNlIHNlbGhhbGEuJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ0NoeWJhIFNNVFA6IE5lbHplIG5hdsOhemF0IHNwb2plbsOtIHNlIFNNVFAgc2VydmVyZW0uJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ0NoeWJhIFNNVFA6IERhdGEgbmVieWxhIHDFmWlqYXRhLic7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICdQcsOhemRuw6kgdMSbbG8genByw6F2eSc7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICdOZXpuw6Ftw6kga8OzZG92w6Fuw606ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICdOZWx6ZSBwcm92w6lzdDogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ05lbHplIHrDrXNrYXQgcMWZw61zdHVwIGsgc291Ym9ydTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ0NoeWJhIHNvdWJvcnU6IE5lbHplIG90ZXbFmcOtdCBzb3Vib3IgcHJvIMSNdGVuw606ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdOw6FzbGVkdWrDrWPDrSBhZHJlc2Egb2Rlc8OtbGF0ZWxlIGplIG5lc3Byw6F2bsOhOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAnTmVsemUgdnl0dm/FmWl0IGluc3RhbmNpIGVtYWlsb3bDqSBmdW5rY2UuJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ05lcGxhdG7DoSBhZHJlc2E6ICc7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICcgbWFpbGVyIG5lbsOtIHBvZHBvcm92w6FuLic7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICdNdXPDrXRlIHphZGF0IGFsZXNwb8WIIGplZG51IGVtYWlsb3ZvdSBhZHJlc3UgcMWZw61qZW1jZS4nOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAnQ2h5YmEgU01UUDogTsOhc2xlZHVqw61jw60gYWRyZXN5IHDFmcOtamVtY8WvIG5lanNvdSBzcHLDoXZuxJs6ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICdDaHliYSBwxZlpaGxhxaFvdsOhbsOtOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnU01UUCBDb25uZWN0KCkgc2VsaGFsLic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdDaHliYSBTTVRQIHNlcnZlcnU6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdOZWx6ZSBuYXN0YXZpdCBuZWJvIHptxJtuaXQgcHJvbcSbbm5vdTogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnRXh0ZW5zaW9uIG1pc3Npbmc6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-de.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEdlcm1hbiBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdTTVRQIEZlaGxlcjogQXV0aGVudGlmaXppZXJ1bmcgZmVobGdlc2NobGFnZW4uJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ1NNVFAgRmVobGVyOiBLb25udGUga2VpbmUgVmVyYmluZHVuZyB6dW0gU01UUC1Ib3N0IGhlcnN0ZWxsZW4uJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ1NNVFAgRmVobGVyOiBEYXRlbiB3ZXJkZW4gbmljaHQgYWt6ZXB0aWVydC4nOwokUEhQTUFJTEVSX0xBTkdbJ2VtcHR5X21lc3NhZ2UnXSAgICAgICAgPSAnRS1NYWlsIEluaGFsdCBpc3QgbGVlci4nOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAnVW5iZWthbm50ZXMgRW5jb2RpbmctRm9ybWF0OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAnS29ubnRlIGZvbGdlbmRlbiBCZWZlaGwgbmljaHQgYXVzZsO8aHJlbjogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ1p1Z3JpZmYgYXVmIGZvbGdlbmRlIERhdGVpIGZlaGxnZXNjaGxhZ2VuOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAnRGF0ZWkgRmVobGVyOiBrb25udGUgZm9sZ2VuZGUgRGF0ZWkgbmljaHQgw7ZmZm5lbjogJzsKJFBIUE1BSUxFUl9MQU5HWydmcm9tX2ZhaWxlZCddICAgICAgICAgID0gJ0RpZSBmb2xnZW5kZSBBYnNlbmRlcmFkcmVzc2UgaXN0IG5pY2h0IGtvcnJla3Q6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICdNYWlsIEZ1bmt0aW9uIGtvbm50ZSBuaWNodCBpbml0aWFsaXNpZXJ0IHdlcmRlbi4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnRS1NYWlsIHdpcmQgbmljaHQgZ2VzZW5kZXQsIGRpZSBBZHJlc3NlIGlzdCB1bmfDvGx0aWc6ICc7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICcgbWFpbGVyIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0Lic7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICdCaXR0ZSBnZWJlbiBTaWUgbWluZGVzdGVucyBlaW5lIEVtcGbDpG5nZXIgRS1NYWlsYWRyZXNzZSBhbi4nOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAnU01UUCBGZWhsZXI6IERpZSBmb2xnZW5kZW4gRW1wZsOkbmdlciBzaW5kIG5pY2h0IGtvcnJla3Q6ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICdGZWhsZXIgYmVpbSBTaWduaWVyZW46ICc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICdWZXJiaW5kdW5nIHp1IFNNVFAgU2VydmVyIGZlaGxnZXNjaGxhZ2VuLic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdGZWhsZXIgdm9tIFNNVFAgU2VydmVyOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAnS2FubiBWYXJpYWJsZSBuaWNodCBzZXR6ZW4gb2RlciB6dXLDvGNrc2V0emVuOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-dk.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIERhbmlzaCBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIE1pa2FlbCBTdG9ra2Vicm8gPGluZm9Ac3Rva2tlYnJvLmRrPgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdTTVRQIGZlamw6IEt1bm5lIGlra2UgbG9nZ2UgcMOlLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQIGZlamw6IEt1bm5lIGlra2UgdGlsc2x1dHRlIFNNVFAgc2VydmVyZW4uJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ1NNVFAgZmVqbDogRGF0YSBrdW5uZSBpa2tlIGFjY2VwdGVyZXMuJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2VtcHR5X21lc3NhZ2UnXSAgICAgICAgPSAnTWVzc2FnZSBib2R5IGVtcHR5JzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ1VrZW5kdCBlbmNvZGUtZm9ybWF0OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAnS3VubmUgaWtrZSBrw7hyZTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ0luZ2VuIGFkZ2FuZyB0aWwgZmlsOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAnRmlsIGZlamw6IEt1bm5lIGlra2Ugw6VibmUgZmlsZW46ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdGw7hsZ2VuZGUgYWZzZW5kZXJhZHJlc3NlIGVyIGZvcmtlcnQ6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICdLdW5uZSBpa2tlIGluaXRpYWxpc2VyZSBlbWFpbCBmdW5rdGlvbmVuLic7Ci8vJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgICAgPSAnSW52YWxpZCBhZGRyZXNzOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIG1haWxlciB1bmRlcnN0w7h0dGVzIGlra2UuJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ0R1IHNrYWwgaW5kdGFzdGUgbWluZHN0IGVuIG1vZHRhZ2VycyBlbWFpbGFkcmVzc2UuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAgZmVqbDogRsO4bGdlbmRlIG1vZHRhZ2VyZSBlciBmb3JrZXJ0ZTogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAnU2lnbmluZyBFcnJvcjogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnU01UUCBDb25uZWN0KCkgZmFpbGVkLic7Ci8vJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ1NNVFAgc2VydmVyIGVycm9yOiAnOwovLyRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdDYW5ub3Qgc2V0IG9yIHJlc2V0IHZhcmlhYmxlOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-el.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEdyZWVrIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBkZWZpbml0aXZlIGxpc3QKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ1NNVFAgzqPPhs6szrvOvM6xOiDOkc60z4XOvc6xzrzOr86xIM+AzrnPg8+Ezr/PgM6/zq/Ot8+DzrfPgiAoYXV0aGVudGljYXRpb24pLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQIM6jz4bOrM67zrzOsTogzpHOtM+Fzr3Osc68zq/OsSDPg8+Nzr3OtM61z4POt8+CIM+Dz4TOv869IFNNVFAtSG9zdC4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAnU01UUCDOo8+GzqzOu868zrE6IM6kzrEgzrTOtc60zr/OvM6tzr3OsSDOtM61zr0gzq3Os865zr3Osc69IM6xz4DOv860zrXOus+EzqwuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ86kzr8gRS1NYWlsIM60zrXOvSDOrc+HzrXOuSDPgM61z4HOuc61z4fPjM68zrXOvc6/IC4nOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAnzpHOs869z4nPg8+Ezr8gRW5jb2RpbmctRm9ybWF0OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAnzpHOtM+Fzr3Osc68zq/OsSDOtc66z4TOrc67zrXPg863z4IgzrHOus+MzrvOv8+FzrjOt8+CIM61zr3PhM6/zrvOrs+COiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnzpHOtM+Fzr3Osc68zq/OsSDPgM+Bzr/Pg8+Azq3Ou86xz4POt8+CIM+Ezr/PhSDOsc+Bz4fOtc6vzr/PhTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ86jz4bOrM67zrzOsSDOkc+Bz4fOtc6vzr/PhTogzpTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM+MIM+Ezr8gzqzOvc6/zrnOs868zrEgz4TOv8+FIM6xzrrPjM67zr/Phc64zr/PhSDOsc+Bz4fOtc6vzr/PhTogJzsKJFBIUE1BSUxFUl9MQU5HWydmcm9tX2ZhaWxlZCddICAgICAgICAgID0gJ86XIM+AzrHPgc6xzrrOrM+Ez4kgzrTOuc61z43OuM+Fzr3Pg863IM6xz4DOv8+Dz4TOv867zq3OsSDOtM61zr0gzrXOr869zrHOuSDPg8+Jz4PPhM6uOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAnzpHOtM+Fzr3Osc68zq/OsSDOtc66zrrOr869zrfPg863z4IgTWFpbCBmdW5jdGlvbi4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnzqTOvyDOvM6uzr3Phc68zrEgzrTOtc69IM61z4PPhM6szrvOtywgzrcgzrTOuc61z43OuM+Fzr3Pg863IM60zrXOvSDOtc6vzr3Osc65IM6tzrPOus+Fz4HOtzogJzsKJFBIUE1BSUxFUl9MQU5HWydtYWlsZXJfbm90X3N1cHBvcnRlZCddID0gJyBtYWlsZXIgzrTOtc69IM+Fz4DOv8+Dz4TOt8+Bzq/Ots61z4TOsc65Lic7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICfOoM6xz4HOsc66zrHOu86/z43OvM61IM60z47Pg8+EzrUgz4TOv8+FzrvOrM+HzrnPg8+Ezr/OvSDOvM65zrEgZS1tYWlsIM60zrnOtc+NzrjPhc69z4POtyDPgM6xz4HOsc67zq7PgM+EzrcuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAgzqPPhs6szrvOvM6xOiDOn865IM+AzrHPgc6xzrrOrM+Ez4kgzrTOuc61z4XOuM+Nzr3Pg861zrnPgiDPgM6xz4HOsc67zq7PgM+EzrcgzrTOtc69IM61zq/Ovc6xzrkgzq3Os866z4XPgc61z4I6ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICfOo8+GzqzOu868zrEgz4XPgM6/zrPPgc6xz4bOrs+COiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnzpHPgM6/z4TPhc+Hzq/OsSDPg8+Nzr3OtM61z4POt8+CIM+Dz4TOv869IFNNVFAgU2VydmVyLic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICfOo8+GzqzOu868zrEgzrHPgM+MIM+Ezr/OvSBTTVRQIFNlcnZlcjogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ86RzrTPhc69zrHOvM6vzrEgzr/Pgc65z4POvM6/z40gzq4gzrHPgc+HzrnOus6/z4DOv86vzrfPg863z4IgzrzOtc+EzrHOss67zrfPhM6uz4I6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-eo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEVzcGVyYW50byBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdFcmFybyBkZSBzZXJ2aWxvIFNNVFDCoDogYcWtdGVudGlnbyBtYWxzdWtjZXNpcy4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnRXJhcm8gZGUgc2VydmlsbyBTTVRQwqA6IGtvbmVrdGFkbyBhbCBzZXJ2aWxvIG1hbHN1a2Nlc2lzLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdFcmFybyBkZSBzZXJ2aWxvIFNNVFDCoDogbmXEnXVzdGFqIGRhdHVtb2ouJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ1Rla3N0byBkZSBtZXNhxJ1vIG1hbmthcy4nOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAnTmVrb25hdGEga29kb3ByZXplbnRvOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAnTGFuxIlpIHJ1bHVtYWRvbiBuZSBlYmxpczogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ0FsaXJvIGFsIGRvc2llcm8gbmUgc3VrY2VzaXM6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICdFcmFybyBkZSBkb3NpZXJvOiBtYWxmZXJtbyBuZWVibGFzOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnSmVuYSBhZHJlc28gZGUgc2VuZGludG8gbWFsc3VrY2VzaXM6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICdHZW5lcm8gZGUgcmV0bWVzYcSdYSBmdW5rY2lvIG5lZWJsaXMuJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ1JldGFkcmVzbyBuZSB2YWxpZGFzOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIG1lc2HEnWlsbyBuZSBzdWJ0ZW5hdGEuJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ1ZpIGRldmFzIHRhanBpIGFsbWVuYcWtIHVudSByZWNldm9udGFuIHJldGFkcmVzb24uJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ0VyYXJvIGRlIHNlcnZpbG8gU01UUMKgOiBsYSBqZW5haiBwb8WddHJlY2l2dWxvaiBrYcWtemlzIGVyYXJvbjogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ0VyYXJvIGRlIHN1YnNrcmlibzogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAga29uZWt0YWRvIG1hbHN1a2Nlc2lzLic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdFcmFybyBkZSBzZXJ2aWxvIFNNVFDCoDogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ1ZhcmlhYmxvIG5lIHByYXZhbG9yaXplYmxhcyBhxa0gbmUgcmVwcmF2YWxvcml6ZWJsYXM6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-es.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFNwYW5pc2ggUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBNYXR0IFN0dXJkeSA8bWF0dC5zdHVyZHlAZ21haWwuY29tPgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdFcnJvciBTTVRQOiBJbXBvc2libGUgYXV0ZW50aWZpY2FyLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdFcnJvciBTTVRQOiBJbXBvc2libGUgY29uZWN0YXIgYWwgc2Vydmlkb3IgU01UUC4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAnRXJyb3IgU01UUDogRGF0b3Mgbm8gYWNlcHRhZG9zLic7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICdFbCBjdWVycG8gZGVsIG1lbnNhamUgZXN0w6EgdmFjw61vJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ0NvZGlmaWNhY2nDs24gZGVzY29ub2NpZGE6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICdJbXBvc2libGUgZWplY3V0YXI6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICdJbXBvc2libGUgYWNjZWRlciBhbCBhcmNoaXZvOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAnRXJyb3IgZGUgQXJjaGl2bzogSW1wb3NpYmxlIGFicmlyIGVsIGFyY2hpdm86ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdMYShzKSBzaWd1aWVudGUocykgZGlyZWNjaW9uZXMgZGUgcmVtaXRlbnRlIGZhbGxhcm9uOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAnSW1wb3NpYmxlIGNyZWFyIHVuYSBpbnN0YW5jaWEgZGUgbGEgZnVuY2nDs24gTWFpbC4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnSW1wb3NpYmxlIGVudmlhcjogZGlyZWNjacOzbiBkZSBlbWFpbCBpbnbDoWxpZG86ICc7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICcgbWFpbGVyIG5vIGVzdMOhIHNvcG9ydGFkby4nOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAnRGViZSBwcm9wb3JjaW9uYXIgYWwgbWVub3MgdW5hIGRpcmVjY2nDs24gZGUgZW1haWwgZGUgZGVzdGluby4nOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAnRXJyb3IgU01UUDogTG9zIHNpZ3VpZW50ZXMgZGVzdGlub3MgZmFsbGFyb246ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICdFcnJvciBhbCBmaXJtYXI6ICc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICdTTVRQIENvbm5lY3QoKSBmYWxsw7MuJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ0Vycm9yIGRlbCBzZXJ2aWRvciBTTVRQOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAnTm8gc2UgcHVkbyBjb25maWd1cmFyIGxhIHZhcmlhYmxlOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-et.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEVzdG9uaWFuIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBkZWZpbml0aXZlIGxpc3QKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBhdXRob3IgSW5kcmVrIFDDpHJpCiAqIEBhdXRob3IgRWxhbiBSdXVzYW3DpGUgPGdsZW5AZGVsZmkuZWU+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ1NNVFAgVmlnYTogQXV0b3Jpc2VlcmltaXNlIHZpZ2EuJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ1NNVFAgVmlnYTogRWkgw7VubmVzdHVudWQgbHV1YSDDvGhlbmR1c3QgU01UUCBzZXJ2ZXJpZ2EuJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ1NNVFAgVmlnYTogVmlnYXNlZCBhbmRtZWQuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ1TDvGhpIGtpcmphIHNpc3UnOwokUEhQTUFJTEVSX0xBTkdbImVuY29kaW5nIl0gICAgICAgICAgICAgPSAnVHVuZG1hdHUga29kZWVyaW5nOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAnVGVnZXZ1cyBlYmHDtW5uZXN0dXM6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICdQb2xlIHBpaXNhdmFsdCDDtWlndXNlaWQgasOkcmduZXZhIGZhaWxpIGF2YW1pc2VrczogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ0ZhaWxpIFZpZ2E6IEZhaWxpIGF2YW1pbmUgZWJhw7VubmVzdHVzOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnSsOkcmduZXYgc2FhdGphIGUtcG9zdGkgYWFkcmVzcyBvbiB2aWdhbmU6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICdtYWlsIGZ1bmt0aW9vbmkga8OkaXZpdGFtaW5lIGViYcO1bm5lc3R1cy4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnU2FhdG1pbmUgcGVhdGF0dWQsIGUtcG9zdGkgYWRkcmVzcyB2aWdhbmU6ICc7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICdUZSBwZWF0ZSBtw6TDpHJhbWEgdsOkaGVtYWx0IMO8aGUgc2FhamEgZS1wb3N0aSBhYWRyZXNzaS4nOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIG1haWxlcmkgdHVnaSBwdXVkdWIuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAgVmlnYTogSsOkcmduZXZhdGUgc2FhamF0ZSBlLXBvc3RpIGFhZHJlc3NpZCBvbiB2aWdhc2VkOiAnOwokUEhQTUFJTEVSX0xBTkdbInNpZ25pbmciXSAgICAgICAgICAgICAgPSAnVmlnYSBhbGxraXJqYXN0YW1pc2VsOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnU01UUCBDb25uZWN0KCkgZWJhw7VubmVzdHVzLic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdTTVRQIHNlcnZlcmkgdmlnYTogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ0VpIMO1bm5lc3R1bnVkIG3DpMOkcmF0YSB2w7VpIGzDpGh0ZXN0YWRhIG11dXR1amF0OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnTsO1dXR1ZCBsYWllbmR1cyBvbiBwdXVkdTogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-fa.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFBlcnNpYW4vRmFyc2kgUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBBbGkgSmF6YXllcmkgPGphemEuYWxpQGdtYWlsLmNvbT4KICogQGF1dGhvciBNb2hhbW1hZCBIb3NzZWluIE1vanRhaGVkaSA8bWhtNTAwMEBnbWFpbC5jb20+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ9iu2LfYp9uMIFNNVFA6INin2K3Ysdin2LIg2YfZiNuM2Kog2KjYpyDYtNqp2LPYqiDZhdmI2KfYrNmHINi02K8uJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ9iu2LfYp9uMIFNNVFA6INin2KrYtdin2YQg2KjZhyDYs9ix2YjYsSBTTVRQINio2LHZgtix2KfYsSDZhti02K8uJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ9iu2LfYp9uMIFNNVFA6INiv2KfYr9mH4oCM2YfYpyDZhtin4oCM2K/Ysdiz2Kog2YfYs9iq2YbYry4nOwokUEhQTUFJTEVSX0xBTkdbJ2VtcHR5X21lc3NhZ2UnXSAgICAgICAgPSAn2KjYrti0INmF2KrZhiDZvtuM2KfZhSDYrtin2YTbjCDYp9iz2KouJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ9qp2K/igIzar9iw2KfYsduMINmG2KfigIzYtNmG2KfYrtiq2Yc6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICfYp9mF2qnYp9mGINin2KzYsdinINmI2KzZiNivINmG2K/Yp9ix2K86ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICfYp9mF2qnYp9mGINiv2LPYqtix2LPbjCDYqNmHINmB2KfbjNmEINmI2KzZiNivINmG2K/Yp9ix2K86ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICfYrti32KfbjCBGaWxlOiDYp9mF2qnYp9mGINio2KfYstqp2LHYr9mGINmB2KfbjNmEINmI2KzZiNivINmG2K/Yp9ix2K86ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICfYotiv2LHYsyDZgdix2LPYqtmG2K/ZhyDYp9i02KrYqNin2Ycg2KfYs9iqOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAn2KfZhdqp2KfZhiDZhdi52LHZgduMINiq2KfYqNi5INin24zZhduM2YQg2YjYrNmI2K8g2YbYr9in2LHYry4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAn2KLYr9ix2LMg2KfbjNmF24zZhCDZhdi52KrYqNixINmG24zYs9iqOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIG1haWxlciDZvti02KrbjNio2KfZhtuMINmG2YXbjOKAjNi02YjYry4nOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAn2KjYp9uM2K8g2K3Yr9in2YLZhCDbjNqpINii2K/YsdizINqv24zYsdmG2K/ZhyDZiNin2LHYryDaqdmG24zYry4nOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAn2K7Yt9in24wgU01UUDog2KfYsdiz2KfZhCDYqNmHINii2K/YsdizINqv24zYsdmG2K/ZhyDYqNinINiu2LfYpyDZhdmI2KfYrNmHINi02K86ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICfYrti32Kcg2K/YsSDYp9mF2LbYpzogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ9iu2LfYpyDYr9ixINin2KrYtdin2YQg2KjZhyBTTVRQLic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICfYrti32Kcg2K/YsSBTTVRQIFNlcnZlcjogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ9in2YXaqdin2YYg2KfYsdiz2KfZhCDbjNinINin2LHYs9in2YQg2YXYrNiv2K8g2YXYqti624zYseKAjNmH2Kcg2YjYrNmI2K8g2YbYr9in2LHYrzogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnRXh0ZW5zaW9uIG1pc3Npbmc6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-fi.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEZpbm5pc2ggUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBKeXJ5IEt1dWthbmVuCiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ1NNVFAtdmlyaGU6IGvDpHl0dMOkasOkdHVubmlzdHVzIGVww6Rvbm5pc3R1aS4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnU01UUC12aXJoZTogeWh0ZXlzIHBhbHZlbGltZWVuIGVpIG9ubmlzdHUuJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ1NNVFAtdmlyaGU6IGRhdGEgb24gdmlyaGVlbGxpbmVuLic7Ci8vJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ01lc3NhZ2UgYm9keSBlbXB0eSc7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICdUdW50ZW1hdG9uIGtvb2RhdXN0eXlwcGk6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICdTdW9yaXR1cyBlcMOkb25uaXN0dWk6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICdTZXVyYWF2YWFuIHRpZWRvc3Rvb24gZWkgb2xlIG9pa2V1a3NpYTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ1RpZWRvc3RvdmlyaGU6IEVpIHZvaWRhIGF2YXRhIHRpZWRvc3RvYTogJzsKJFBIUE1BSUxFUl9MQU5HWydmcm9tX2ZhaWxlZCddICAgICAgICAgID0gJ1NldXJhYXZhIGzDpGhldHTDpGrDpG4gb3NvaXRlIG9uIHZpcmhlZWxsaW5lbjogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ21haWwtZnVua3Rpb24gbHVvbnRpIGVww6Rvbm5pc3R1aS4nOwovLyRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICdJbnZhbGlkIGFkZHJlc3M6ICc7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICdwb3N0aXbDpGxpdGludHl5cHBpw6QgZWkgdHVldGEuJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ0FzZXRhIHbDpGhpbnTDpMOkbiB5a3NpIHZhc3RhYW5vdHRhamFuIHPDpGhrJm91bWw7cG9zdGlvc29pdGUuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAtdmlyaGU6IHNldXJhYXZhIHZhc3RhYW5vdHRhamEgb3NvaXRlIG9uIHZpcmhlZWxsaW5lbi4nOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAnVHVudGVtYXRvbiBrb29kYXVzdHl5cHBpOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICdTaWduaW5nIEVycm9yOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICdTTVRQIENvbm5lY3QoKSBmYWlsZWQuJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAnU01UUCBzZXJ2ZXIgZXJyb3I6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ0Nhbm5vdCBzZXQgb3IgcmVzZXQgdmFyaWFibGU6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-fo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEZhcm9lc2UgUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBEw6F2dXIgU8O4cmVuc2VuIDxodHRwOi8vd3d3LnByb2ZvLXdlYmRlc2lnbi5kaz4KICovCgokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAnU01UUCBmZWlsdXI6IEt1bmRpIGlra2kgZ8Ozw7BrZW5uYS4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnU01UUCBmZWlsdXI6IEt1bmRpIGlra2kga27DvXRhIHNhbWJhbmQgdmnDsCBTTVRQIHZlcnQuJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ1NNVFAgZmVpbHVyOiBEYXRhIGlra2kgZ8Ozw7BrZW50Lic7Ci8vJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ01lc3NhZ2UgYm9keSBlbXB0eSc7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICfDk2tlbmQgZW5jb2Rpbmc6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICdLdW5kaSBpa2tpIMO6dGbDuHJhOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnS3VuZGkgaWtraSB0aWxnYW5nYSBmw61sdTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ0bDrWx1IGZlaWx1cjogS3VuZGkgaWtraSBvcG5hIGbDrWx1OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnZnlsZ2phbmRpIEZyw6EvRnJvbSBhZHJlc3NhIG1pc2V5ZG5hw7Bpc3Q6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICdLdW5pIGlra2kgaW5zdGFudGllcmEgbWFpbCBmdW5rdGnDs24uJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnSW52YWxpZCBhZGRyZXNzOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIGVyIGlra2kgc3VwcG9ydGVyYcOwLic7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICdUw7ogc2thbCB1cHBnZXZhIG1pbnN0IG3Ds3R0YWthcmEtZW1haWxhZHJlc3N1KHIpLic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICdTTVRQIEZlaWx1cjogRnlsZ2phbmRpIG3Ds3R0YWthcmFyIG1pc2V5ZG5hw7B1c3Q6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ1NpZ25pbmcgRXJyb3I6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAgQ29ubmVjdCgpIGZhaWxlZC4nOwovLyRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdTTVRQIHNlcnZlciBlcnJvcjogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAnQ2Fubm90IHNldCBvciByZXNldCB2YXJpYWJsZTogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnRXh0ZW5zaW9uIG1pc3Npbmc6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-fr.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEZyZW5jaCBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBTb21lIEZyZW5jaCBwdW5jdHVhdGlvbiByZXF1aXJlcyBhIHRoaW4gbm9uLWJyZWFraW5nIHNwYWNlIChVKzIwMkYpIGNoYXJhY3RlciBiZWZvcmUgaXQsCiAqIGZvciBleGFtcGxlIGJlZm9yZSBhIGNvbG9uIG9yIGV4Y2xhbWF0aW9uIG1hcmsuCiAqIFRoZXJlIGlzIG9uZSBvZiB0aGVzZSBjaGFyYWN0ZXJzIGJldHdlZW4gdGhlc2UgcXVvdGVzOiAi4oCvIgogKiBAbGluayBodHRwOi8vdW5pY29kZS5vcmcvdWRoci9uL25vdGVzX2ZyYS5odG1sCiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ0VycmV1ciBTTVRQ4oCvOiDDqWNoZWMgZGUgbFwnYXV0aGVudGlmaWNhdGlvbi4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnRXJyZXVyIFNNVFDigK86IGltcG9zc2libGUgZGUgc2UgY29ubmVjdGVyIGF1IHNlcnZldXIgU01UUC4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAnRXJyZXVyIFNNVFDigK86IGRvbm7DqWVzIGluY29ycmVjdGVzLic7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICdDb3JwcyBkdSBtZXNzYWdlIHZpZGUuJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ0VuY29kYWdlIGluY29ubnXigK86ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICdJbXBvc3NpYmxlIGRlIGxhbmNlciBsXCdleMOpY3V0aW9u4oCvOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnSW1wb3NzaWJsZSBkXCdhY2PDqWRlciBhdSBmaWNoaWVy4oCvOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAnT3V2ZXJ0dXJlIGR1IGZpY2hpZXIgaW1wb3NzaWJsZeKArzogJzsKJFBIUE1BSUxFUl9MQU5HWydmcm9tX2ZhaWxlZCddICAgICAgICAgID0gJ0xcJ2FkcmVzc2UgZFwnZXhww6lkaXRldXIgc3VpdmFudGUgYSDDqWNob3XDqeKArzogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ0ltcG9zc2libGUgZFwnaW5zdGFuY2llciBsYSBmb25jdGlvbiBtYWlsLic7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICdMXCdhZHJlc3NlIGNvdXJyaWVsIG5cJ2VzdCBwYXMgdmFsaWRl4oCvOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIGNsaWVudCBkZSBtZXNzYWdlcmllIG5vbiBzdXBwb3J0w6kuJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ1ZvdXMgZGV2ZXogZm91cm5pciBhdSBtb2lucyB1bmUgYWRyZXNzZSBkZSBkZXN0aW5hdGFpcmUuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ0VycmV1ciBTTVRQ4oCvOiBsZXMgZGVzdGluYXRhaXJlcyBzdWl2YW50cyBzb250IGVuIGVycmV1cuKArzogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ0VycmV1ciBkZSBzaWduYXR1cmXigK86ICc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICfDiWNoZWMgZGUgbGEgY29ubmV4aW9uIFNNVFAuJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ0VycmV1ciBkdSBzZXJ2ZXVyIFNNVFDigK86ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdJbXBvc3NpYmxlIGRcJ2luaXRpYWxpc2VyIG91IGRlIHLDqWluaXRpYWxpc2VyIHVuZSB2YXJpYWJsZeKArzogJzsKJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtYW5xdWFudGXigK86ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-gl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEdhbGljaWFuIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBkZWZpbml0aXZlIGxpc3QKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBhdXRob3IgYnkgRG9uYXRvIFJvdWNvIDxkb25hdG9yb3Vjb0BnbWFpbC5jb20+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ0Vycm8gU01UUDogTm9uIHB1aWRvIHNlciBhdXRlbnRpZmljYWRvLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdFcnJvIFNNVFA6IE5vbiBwdWlkbyBjb25lY3RhciBjbyBzZXJ2aWRvciBTTVRQLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdFcnJvIFNNVFA6IERhdG9zIG5vbiBhY2VwdGFkb3MuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ0NvcnBvIGRhIG1lbnNheGUgdmFjw61hJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ0NvZGlmaWNhY2nDs24gZGVzY2/DsWVjaWRhOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAnTm9uIHB1aWRvIHNlciBleGVjdXRhZG86ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICdOb2IgcHVpZG8gYWNjZWRlciDDsyBhcnF1aXZvOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAnRXJybyBkZSBBcnF1aXZvOiBObyBwdWlkbyBhYnJpciBvIGFycXVpdm86ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdBKHMpIHNlZ3VpbnRlKHMpIGRpcmVjY2nDs24ocykgZGUgcmVtaXRlbnRlKHMpIGRlcm9uIGVycm86ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICdOb24gcHVpZG8gY3JlYXIgdW5oYSBpbnN0YW5jaWEgZGEgZnVuY2nDs24gTWFpbC4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnTm9uIHB1aWRvIGVudmlhLWxvIGNvcnJlbzogZGlyZWNjacOzbiBkZSBlbWFpbCBpbnbDoWxpZGE6ICc7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICcgbWFpbGVyIG5vbiBlc3TDoSBzb3BvcnRhZG8uJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ0RlYmUgZW5nYWRpciBwb2xvIG1lbm9zIHVuaGEgZGlyZWNjacOzbiBkZSBlbWFpbCBjb21hIGRlc3Rpbm8uJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ0Vycm8gU01UUDogT3Mgc2VndWludGVzIGRlc3Rpbm9zIGZhbGxhcm9uOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAnRXJybyDDsyBmaXJtYXI6ICc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICdTTVRQIENvbm5lY3QoKSBmYWxsb3UuJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ0Vycm8gZG8gc2Vydmlkb3IgU01UUDogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ05vbiBwdWlkZW1vcyBheHVzdGFyIG91IHJlYXh1c3RhciBhIHZhcmnDoWJlbDogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnRXh0ZW5zaW9uIG1pc3Npbmc6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-he.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEhlYnJldyBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIFJvbm55IFNoZXJlciA8cm9ubnlAaG9vamltYS5jb20+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ9ep15LXmdeQ16ogU01UUDog16TXoteV15zXqiDXlNeQ15nXnteV16og16DXm9ep15zXlC4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAn16nXkteZ15DXqiBTTVRQOiDXnNeQINeU16bXnNeX16rXmSDXnNeU16rXl9eR16gg15zXqdeo16ogU01UUC4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAn16nXkteZ15DXqiBTTVRQOiDXnteZ15PXoiDXnNeQINeU16rXp9eR15wuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ9eS15XXoyDXlNeU15XXk9ei15Qg16jXmdenJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ9eb16rXldeR16og16nXkteV15nXlDogJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ9en15nXk9eV15Mg15zXkCDXnteV15vXqDogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ9ec15Ag15TXptec15fXqteZINec15TXpNei15nXnCDXkNeqOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAn15zXkCDXoNeZ16rXnyDXnNeS16nXqiDXnNen15XXkdelOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAn16nXkteZ15DXqiDXp9eV15HXpTog15zXkCDXoNeZ16rXnyDXnNeS16nXqiDXnNen15XXkdelOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAn15vXqteV15HXldeqINeU16DXntei16DXmdedINeU15HXkNeV16og16DXm9ep15zXlTogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ9ec15Ag15TXptec15fXqteZINec15TXpNei15nXnCDXkNeqINek15XXoNen16bXmdeZ16og15TXnteZ15nXnC4nOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnINeQ15nXoNeUINeg16rXnteb16ouJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ9eX15XXkdeUINec16HXpNenINec16TXl9eV16og15vXqteV15HXqiDXkNeX16og16nXnCDXnten15HXnCDXlNee15nXmdecLic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICfXqdeS15nXkNeqIFNNVFA6INeU16DXntei16DXmdedINeU15HXkNeZ150g16DXm9ep15zXlTogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ9ep15LXmdeQ16og15fXqteZ157XlDogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAgQ29ubmVjdCgpIGZhaWxlZC4nOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAn16nXkteZ15DXqiDXqdeo16ogU01UUDogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ9ec15Ag16DXmdeq158g15zXp9eR15XXoiDXkNeVINec16nXoNeV16og15DXqiDXlNee16nXqteg15Q6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-hr.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIENyb2F0aWFuIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBkZWZpbml0aXZlIGxpc3QKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBhdXRob3IgSHJ2b2ozZSA8aHJ2b2ozZUBnbWFpbC5jb20+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ1NNVFAgR3JlxaFrYTogTmV1c3BqZWxhIGF1dGVudGlrYWNpamEuJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ1NNVFAgR3JlxaFrYTogTmUgbW9ndSBzZSBzcG9qaXRpIG5hIFNNVFAgcG9zbHXFvml0ZWxqLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdTTVRQIEdyZcWha2E6IFBvZGF0Y2kgbmlzdSBwcmlodmHEh2VuaS4nOwokUEhQTUFJTEVSX0xBTkdbJ2VtcHR5X21lc3NhZ2UnXSAgICAgICAgPSAnU2FkcsW+YWogcG9ydWtlIGplIHByYXphbi4nOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAnTmVwb3puYXRpIGVuY29kaW5nOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAnTmlqZSBtb2d1xIdlIGl6dnLFoWl0aSBuYXJlZGJ1OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnTmlqZSBtb2d1xIdlIHByaXN0dXBpdGkgZGF0b3RlY2k6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICdOaWplIG1vZ3XEh2Ugb3R2b3JpdGkgZGF0b3Rla3U6ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdTTVRQIEdyZcWha2E6IFNsYW5qZSBzIG5hdmVkZW5paCBlLW1haWwgYWRyZXNhIG5pamUgdXNwamVsbzogJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAgR3JlxaFrYTogU2xhbmplIG5hIG5hdmVkZW5paCBlLW1haWwgYWRyZXNhIG5pamUgdXNwamVsbzogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ05lIG1vZ3UgcG9rcmVudXRpIG1haWwgZnVua2Npb25hbG5vc3QuJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ0UtbWFpbCBuaWplIHBvc2xhbi4gTmVpc3ByYXZuYSBlLW1haWwgYWRyZXNhOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIG1haWxlciBuaWplIHBvZHLFvmFuLic7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICdEZWZpbmlyYWp0ZSBiYXJlbSBqZWRudSBhZHJlc3UgcHJpbWF0ZWxqYS4nOwokUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAnR3JlxaFrYSBwcmlsaWtvbSBwcmlqYXZlOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnU3BhamFuamUgbmEgU01UUCBwb3NsdcW+aXRlbGogbmlqZSB1c3BqZWxvLic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdHcmXFoWthIFNNVFAgcG9zbHXFvml0ZWxqYTogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ05lIG1vZ3UgcG9zdGF2aXRpIHZhcmlqYWJsdSBuaXRpIGp1IHZyYXRpdGkgbmF6YWQ6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdOZWRvc3RhamUgcHJvxaFpcmVuamU6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-hu.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEh1bmdhcmlhbiBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIEBkb21pbmljdXMtNzUKICovCgokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAnU01UUCBoaWJhOiBheiBhem9ub3PDrXTDoXMgc2lrZXJ0ZWxlbi4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnU01UUCBoaWJhOiBuZW0gbGVoZXQga2FwY3NvbMOzZG5pIGF6IFNNVFAtc3plcnZlcmhlei4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAnU01UUCBoaWJhOiBhZGF0b2sgdmlzc3phdXRhc8OtdHZhLic7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICfDnHJlcyBheiDDvHplbmV0dMO2cnpzLic7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICdJc21lcmV0bGVuIGvDs2RvbMOhczogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ05lbSBsZWhldCB2w6lncmVoYWp0YW5pOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnQSBrw7Z2ZXRrZXrFkSBmw6FqbCBuZW0gZWzDqXJoZXTFkTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ0bDoWpsIGhpYmE6IGEga8O2dmV0a2V6xZEgZsOhamx0IG5lbSBsZWhldCBtZWdueWl0bmk6ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdBIGZlbGFkw7Nrw6ludCBtZWdhZG90dCBrw7Z2ZXRrZXrFkSBjw61tIGhpYsOhczogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ0EgUEhQIG1haWwoKSBmw7xnZ3bDqW55dCBuZW0gc2lrZXLDvGx0IHbDqWdyZWhhanRhbmkuJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ8OJcnbDqW55dGVsZW4gY8OtbTogJzsKJFBIUE1BSUxFUl9MQU5HWydtYWlsZXJfbm90X3N1cHBvcnRlZCddID0gJyBhIG1haWxlci1vc3p0w6FseSBuZW0gdMOhbW9nYXRvdHQuJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ0xlZ2Fsw6FiYiBlZ3kgY8OtbXpldHRldCBmZWwga2VsbCB0w7xudGV0bmkuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAgaGliYTogYSBjw61temV0dGvDqW50IG1lZ2Fkb3R0IGvDtnZldGtlesWRIGPDrW1layBoaWLDoXNhazogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ0hpYsOhcyBhbMOhw61yw6FzOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnSGliYSBheiBTTVRQLWthcGNzb2xhdGJhbi4nOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAnU01UUC1zemVydmVyIGhpYmE6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdBIGvDtnZldGtlesWRIHbDoWx0b3rDs2sgYmXDoWxsw610w6FzYSBuZW0gc2lrZXLDvGx0OiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-id.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEluZG9uZXNpYW4gUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBDZWNlcCBQcmF3aXJvIDxjZWNlcC5wcmF3aXJvQGdtYWlsLmNvbT4KICovCgokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAnS2VzYWxhaGFuIFNNVFA6IFRpZGFrIGRhcGF0IG1lbmdhdXRlbnRpa2FzaS4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnS2VzYWxhaGFuIFNNVFA6IFRpZGFrIGRhcGF0IHRlcmh1YnVuZyBrZSBob3N0IFNNVFAuJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ0tlc2FsYWhhbiBTTVRQOiBEYXRhIHRpZGFrIGRpdGVyaW1hIHBlbGFkZW4uJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ0lzaSBwZXNhbiBrb3NvbmcnOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAnUGVuZ2tvZGVhbiBrYXJha3RlciB0aWRhayBkaWtlbmFsaTogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ1RpZGFrIGRhcGF0IG1lbmphbGFua2FuIHByb3NlcyA6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICdUaWRhayBkYXBhdCBtZW5nYWtzZXMgYmVya2FzIDogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ0tlc2FsYWhhbiBGaWxlOiBCZXJrYXMgdGlkYWsgYmlzYSBkaWJ1a2EgOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnQWxhbWF0IHBlbmdpcmltIGJlcmlrdXQgbWVuZ2FraWJhdGthbiBlcnJvciA6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICdUaWRhayBkYXBhdCBtZW5naW5pc2lhbGlzYXNpIGZ1bmdzaSBlbWFpbCc7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICdHYWdhbCB0ZXJraXJpbSwgYWxhbWF0IGVtYWlsIHRpZGFrIHZhbGlkIDogJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ0hhcnVzIGRpc2VkaWFrYW4gbWluaW1hbCBzYXR1IGFsYW1hdCB0dWp1YW4nOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnTWFpbGVyIHRpZGFrIGRpZHVrdW5nJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ0tlc2FsYWhhbiBTTVRQOiBBbGFtYXQgdHVqdWFuIGJlcmlrdXQgbWVuZ2hhc2lsa2FuIGVycm9yIDogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ0tlc2FsYWhhbiBkYWxhbSB0YW5kYSB0YW5nYW4gOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnU01UUCBDb25uZWN0KCkgZ2FnYWwuJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ0tlc2FsYWhhbiBwZWxhZGVuIFNNVFAgOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAnVGlkYWsgYmVyaGFzaWwgbWVuZ2F0dXIgYXRhdSBtZW5nYXR1ciB1bGFuZyB2YXJpYWJsZSA6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-it.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEl0YWxpYW4gUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBJbGlhcyBCYXJ0b2xpbmkgPGJyYWluNzlAaW53aW5kLml0PgogKiBAYXV0aG9yIFN0ZWZhbm8gU2FiYXRpbmkgPHNhYmFzODhAZ21haWwuY29tPgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdTTVRQIEVycm9yOiBJbXBvc3NpYmlsZSBhdXRlbnRpY2Fyc2kuJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ1NNVFAgRXJyb3I6IEltcG9zc2liaWxlIGNvbm5ldHRlcnNpIGFsbFwnaG9zdCBTTVRQLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdTTVRQIEVycm9yOiBEYXRpIG5vbiBhY2NldHRhdGkgZGFsIHNlcnZlci4nOwokUEhQTUFJTEVSX0xBTkdbJ2VtcHR5X21lc3NhZ2UnXSAgICAgICAgPSAnSWwgY29ycG8gZGVsIG1lc3NhZ2dpbyDDqCB2dW90byc7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICdDb2RpZmljYSBkZWkgY2FyYXR0ZXJpIHNjb25vc2NpdXRhOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAnSW1wb3NzaWJpbGUgZXNlZ3VpcmUgbFwnb3BlcmF6aW9uZTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ0ltcG9zc2liaWxlIGFjY2VkZXJlIGFsIGZpbGU6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICdGaWxlIEVycm9yOiBJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZTogJzsKJFBIUE1BSUxFUl9MQU5HWydmcm9tX2ZhaWxlZCddICAgICAgICAgID0gJ0kgc2VndWVudGkgaW5kaXJpenppIG1pdHRlbnRpIGhhbm5vIGdlbmVyYXRvIGVycm9yZTogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ0ltcG9zc2liaWxlIGlzdGFuemlhcmUgbGEgZnVuemlvbmUgbWFpbCc7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICdJbXBvc3NpYmlsZSBpbnZpYXJlLCBsXCdpbmRpcml6em8gZW1haWwgbm9uIMOoIHZhbGlkbzogJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ0RldmUgZXNzZXJlIGZvcm5pdG8gYWxtZW5vIHVuIGluZGlyaXp6byByaWNldmVudGUnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnTWFpbGVyIG5vbiBzdXBwb3J0YXRvJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAgRXJyb3I6IEkgc2VndWVudGkgaW5kaXJpenppIGRlc3RpbmF0YXJpIGhhbm5vIGdlbmVyYXRvIHVuIGVycm9yZTogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ0Vycm9yZSBuZWxsYSBmaXJtYTogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAgQ29ubmVjdCgpIGZhbGxpdGEuJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ0Vycm9yZSBkZWwgc2VydmVyIFNNVFA6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdJbXBvc3NpYmlsZSBpbXBvc3RhcmUgbyByZXNldHRhcmUgbGEgdmFyaWFiaWxlOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-ja.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEphcGFuZXNlIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBkZWZpbml0aXZlIGxpc3QKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBhdXRob3IgTWl0c3VoaXJvIFlvc2hpZGEgPGh0dHA6Ly9taXRzdGVrLmNvbS8+CiAqIEBhdXRob3IgWW9zaGkgU2FrYWkgPGh0dHA6Ly9ibHVlbW9vbmluYy5qcC8+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ1NNVFDjgqjjg6njg7w6IOiqjeiovOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBn+OAgic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQ44Ko44Op44O8OiBTTVRQ44Ob44K544OI44Gr5o6l57aa44Gn44GN44G+44Gb44KT44Gn44GX44Gf44CCJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ1NNVFDjgqjjg6njg7w6IOODh+ODvOOCv+OBjOWPl+OBkeS7mOOBkeOCieOCjOOBvuOBm+OCk+OBp+OBl+OBn+OAgic7Ci8vJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ01lc3NhZ2UgYm9keSBlbXB0eSc7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICfkuI3mmI7jgarjgqjjg7PjgrPjg7zjg4fjgqPjg7PjgrA6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICflrp/ooYzjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ86ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICfjg5XjgqHjgqTjg6vjgavjgqLjgq/jgrvjgrnjgafjgY3jgb7jgZvjgpM6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICfjg5XjgqHjgqTjg6vjgqjjg6njg7w6IOODleOCoeOCpOODq+OCkumWi+OBkeOBvuOBm+OCkzogJzsKJFBIUE1BSUxFUl9MQU5HWydmcm9tX2ZhaWxlZCddICAgICAgICAgID0gJ0Zyb23jgqLjg4njg6zjgrnjgpLnmbvpjLLjgZnjgovpmpvjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ86ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICfjg6Hjg7zjg6vplqLmlbDjgYzmraPluLjjgavli5XkvZzjgZfjgb7jgZvjgpPjgafjgZfjgZ/jgIInOwovLyRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICdJbnZhbGlkIGFkZHJlc3M6ICc7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICflsJHjgarjgY/jgajjgoIx44Gk44Oh44O844Or44Ki44OJ44Os44K544KSIOaMh+WumuOBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmeOAgic7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICcg44Oh44O844Op44O844GM44K144Od44O844OI44GV44KM44Gm44GE44G+44Gb44KT44CCJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFDjgqjjg6njg7w6IOasoeOBruWPl+S/oeiAheOCouODieODrOOCueOBqyDplpPpgZXjgYTjgYzjgYLjgorjgb7jgZk6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ1NpZ25pbmcgRXJyb3I6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAgQ29ubmVjdCgpIGZhaWxlZC4nOwovLyRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdTTVRQIHNlcnZlciBlcnJvcjogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAnQ2Fubm90IHNldCBvciByZXNldCB2YXJpYWJsZTogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnRXh0ZW5zaW9uIG1pc3Npbmc6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-ka.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEdlb3JnaWFuIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBkZWZpbml0aXZlIGxpc3QKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBhdXRob3IgQXZ0YW5kaWwgS2lrYWJpZHplIGFrYSBMT05HTUFOIDxha2Fsb25nbWFuQGdtYWlsLmNvbT4KICovCgokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAnU01UUCDhg6jhg5Thg6rhg5Phg53hg5vhg5A6IOGDkOGDleGDouGDneGDoOGDmOGDluGDkOGDquGDmOGDkCDhg6jhg5Thg6Phg6vhg5rhg5Thg5Hhg5Thg5rhg5jhg5AuJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ1NNVFAg4YOo4YOU4YOq4YOT4YOd4YOb4YOQOiBTTVRQIOGDoeGDlOGDoOGDleGDlOGDoOGDl+GDkOGDnCDhg5Phg5Dhg5nhg5Dhg5Xhg6jhg5jhg6Dhg5Thg5Hhg5Ag4YOo4YOU4YOj4YOr4YOa4YOU4YOR4YOU4YOa4YOY4YOQLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdTTVRQIOGDqOGDlOGDquGDk+GDneGDm+GDkDog4YOb4YOd4YOc4YOQ4YOq4YOU4YOb4YOU4YOR4YOYIOGDkOGDoCDhg5jhg6Xhg5zhg5Ag4YOb4YOY4YOm4YOU4YOR4YOj4YOa4YOYLic7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICfhg5nhg53hg5Phg5jhg6Dhg5Thg5Hhg5jhg6Eg4YOj4YOq4YOc4YOd4YOR4YOYIOGDouGDmOGDnuGDmDogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ+GDqOGDlOGDo+GDq+GDmuGDlOGDkeGDlOGDmuGDmOGDkCDhg6jhg5Thg5vhg5Phg5Thg5Lhg5gg4YOR4YOg4YOr4YOQ4YOc4YOU4YOR4YOY4YOhIOGDqOGDlOGDoeGDoOGDo+GDmuGDlOGDkeGDkDogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ+GDqOGDlOGDo+GDq+GDmuGDlOGDkeGDlOGDmuGDmOGDkCDhg6zhg5Xhg5Phg53hg5vhg5Ag4YOk4YOQ4YOY4YOa4YOX4YOQ4YOcOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAn4YOk4YOQ4YOY4YOa4YOj4YOg4YOYIOGDoeGDmOGDoeGDouGDlOGDm+GDmOGDoSDhg6jhg5Thg6rhg5Phg53hg5vhg5A6IOGDkOGDoCDhg5jhg67hg6Hhg5zhg5Thg5Hhg5Ag4YOk4YOQ4YOY4YOa4YOYOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAn4YOS4YOQ4YOb4YOS4YOW4YOQ4YOV4YOc4YOY4YOhIOGDkOGDoOGDkOGDoeGDrOGDneGDoOGDmCDhg5vhg5jhg6Hhg5Dhg5vhg5Dhg6Dhg5fhg5g6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICdtYWlsIOGDpOGDo+GDnOGDpeGDquGDmOGDmOGDoSDhg5Lhg5Dhg6jhg5Xhg5Thg5Hhg5Ag4YOV4YOU4YOgIOGDruGDlOGDoOGDruGDk+GDlOGDkeGDkC4nOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAn4YOS4YOX4YOu4YOd4YOV4YOXIOGDm+GDmOGDo+GDl+GDmOGDl+GDneGDlyDhg5Thg6Dhg5fhg5gg4YOQ4YOT4YOg4YOU4YOh4YOQ4YOi4YOY4YOhIGUtbWFpbCDhg5vhg5jhg6Hhg5Dhg5vhg5Dhg6Dhg5fhg5gg4YOb4YOQ4YOY4YOc4YOqLic7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICcgLSDhg6Hhg5Dhg6Thg53hg6Hhg6Lhg50g4YOh4YOU4YOg4YOV4YOU4YOg4YOY4YOhIOGDm+GDruGDkOGDoOGDk+GDkOGDreGDlOGDoOGDkCDhg5Dhg6Ag4YOQ4YOg4YOY4YOhLic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICdTTVRQIOGDqOGDlOGDquGDk+GDneGDm+GDkDog4YOo4YOU4YOb4YOT4YOU4YOSIOGDm+GDmOGDoeGDkOGDm+GDkOGDoOGDl+GDlOGDkeGDluGDlCDhg5Lhg5Dhg5Lhg5bhg5Dhg5Xhg5zhg5Ag4YOV4YOU4YOgIOGDm+GDneGDruGDlOGDoOGDruGDk+GDkDogJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ+GDqOGDlOGDouGDp+GDneGDkeGDmOGDnOGDlOGDkeGDkCDhg6rhg5Dhg6Dhg5jhg5Thg5rhg5jhg5AnOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAn4YOQ4YOgIOGDkuGDkOGDmOGDkuGDluGDkOGDleGDnOGDkCwgZS1tYWlsIOGDm+GDmOGDoeGDkOGDm+GDkOGDoOGDl+GDmOGDoSDhg5Dhg6Dhg5Dhg6Hhg6zhg53hg6Dhg5gg4YOk4YOd4YOg4YOb4YOQ4YOi4YOYOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAn4YOu4YOU4YOa4YOb4YOd4YOs4YOU4YOg4YOY4YOhIOGDqOGDlOGDquGDk+GDneGDm+GDkDogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ+GDqOGDlOGDquGDk+GDneGDm+GDkCBTTVRQIOGDoeGDlOGDoOGDleGDlOGDoOGDl+GDkOGDnCDhg5Phg5Dhg5nhg5Dhg5Xhg6jhg5jhg6Dhg5Thg5Hhg5jhg6Hhg5Dhg6EnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAnU01UUCDhg6Hhg5Thg6Dhg5Xhg5Thg6Dhg5jhg6Eg4YOo4YOU4YOq4YOT4YOd4YOb4YOQOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAn4YOo4YOU4YOj4YOr4YOa4YOU4YOR4YOU4YOa4YOY4YOQIOGDqOGDlOGDm+GDk+GDlOGDkuGDmCDhg6rhg5Xhg5rhg5Dhg5Phg5jhg6Eg4YOo4YOU4YOl4YOb4YOc4YOQIOGDkOGDnCDhg6jhg5Thg6rhg5Xhg5rhg5A6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-ko.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEtvcmVhbiBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIENoYWxrUEUgPGFtYXRvMDYxN0BnbWFpbC5jb20+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ1NNVFAg7Jik66WYOiDsnbjspp3tlaAg7IiYIOyXhuyKteuLiOuLpC4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnU01UUCDsmKTrpZg6IFNNVFAg7Zi47Iqk7Yq47JeQIOygkeyGje2VoCDsiJgg7JeG7Iq164uI64ukLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdTTVRQIOyYpOulmDog642w7J207YSw6rCAIOuwm+yVhOuTpOyXrOyngOyngCDslYrslZjsirXri4jri6QuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ+uplOyEuOyngCDrgrTsmqnsnbQg7JeG7Iq164uI64ukJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ+yVjCDsiJgg7JeG64qUIOyduOy9lOuUqTogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ+yLpO2WiSDrtojqsIA6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICftjIzsnbwg7KCR6re8IOu2iOqwgDogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ+2MjOydvCDsmKTrpZg6IO2MjOydvOydhCDsl7Qg7IiYIOyXhuyKteuLiOuLpDogJzsKJFBIUE1BSUxFUl9MQU5HWydmcm9tX2ZhaWxlZCddICAgICAgICAgID0gJ+uLpOydjCBGcm9tIOyjvOyGjOyXkOyEnCDsmKTrpZjqsIAg67Cc7IOd7ZaI7Iq164uI64ukOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAnbWFpbCDtlajsiJjrpbwg7J247Iqk7YS07Iqk7ZmU7ZWgIOyImCDsl4bsirXri4jri6QnOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAn7J6Y66q765CcIOyjvOyGjDogJzsKJFBIUE1BSUxFUl9MQU5HWydtYWlsZXJfbm90X3N1cHBvcnRlZCddID0gJyDrqZTsnbzrn6zripQg7KeA7JuQ65CY7KeAIOyViuyKteuLiOuLpC4nOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAn7KCB7Ja064+EIO2VnCDqsJwg7J207IOB7J2YIOyImOyLoOyekCDrqZTsnbwg7KO87IaM66W8IOygnOqzte2VtOyVvCDtlanri4jri6QuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAg7Jik66WYOiDri6TsnYwg7IiY7Iug7J6Q7JeQ7IScIOyYpOulmOqwgCDrsJzsg53tlojsirXri4jri6Q6ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICfshJzrqoUg7Jik66WYOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnU01UUCDsl7DqsrDsnYQg7Iuk7Yyo7ZWY7JiA7Iq164uI64ukLic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdTTVRQIOyEnOuyhCDsmKTrpZg6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICfrs4DsiJgg7ISk7KCVIOuwjyDstIjquLDtmZQg67aI6rCAOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAn7ZmV7J6l7J6QIOyXhuydjDogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-lt.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIExpdGh1YW5pYW4gUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBEYWluaXVzIEthdXBhaXRpcyA8ZGtAc3VtLmx0PgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdTTVRQIGtsYWlkYTogYXV0ZW50aWZpa2FjaWphIG5lcGF2eWtvLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQIGtsYWlkYTogbmVwYXZ5a3N0YSBwcmlzaWp1bmd0aSBwcmllIFNNVFAgc3RvdGllcy4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAnU01UUCBrbGFpZGE6IGR1b21lbnlzIG5lcHJpaW10aS4nOwokUEhQTUFJTEVSX0xBTkdbJ2VtcHR5X21lc3NhZ2UnXSAgICAgICAgPSAnTGFpxaFrbyB0dXJpbnlzIHR1xaHEjWlhcyc7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICdOZWF0cGHFvmludGEga29kdW90xJc6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICdOZXBhdnlrbyDEr3Z5a2R5dGkga29tYW5kb3M6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICdCeWxhIG5lcGFzaWVraWFtYTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ0J5bG9zIGtsYWlkYTogTmVwYXZ5a3N0YSBhdGlkYXJ5dGk6ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdOZXRlaXNpbmdhcyBzaXVudMSXam8gYWRyZXNhczogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ05lcGF2eWtvIHBhbGVpc3RpIG1haWwgZnVua2Npam9zLic7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICdOZXRlaXNpbmdhcyBhZHJlc2FzOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIHBhxaF0byBzdG90aXMgbmVwYWxhaWtvbWEuJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ051cm9keWtpdGUgYmVudCB2aWVuxIUgZ2F2xJdqbyBhZHJlc8SFLic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICdTTVRQIGtsYWlkYTogbmVwYXZ5a28gacWhc2nFs3N0aSDFoWllbXMgZ2F2xJdqYW1zOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAnUHJpc2lqdW5naW1vIGtsYWlkYTogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAgc3VzaWp1bmdpbW8ga2xhaWRhJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ1NNVFAgc3RvdGllcyBrbGFpZGE6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdOZXBhdnlrbyBwcmlza2lydGkgcmVpa8WhbcSXcyBraW50YW1hamFtOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-lv.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIExhdHZpYW4gUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBFZHVhcmRzIE0uIDxlQG5wZC5sdj4KICovCgokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAnU01UUCBrxLzFq2RhOiBBdXRvcml6xIFjaWphIG5laXpkZXbEgXMuJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ1NNVFAgS8S8xatkYTogTmV2YXIgaXp2ZWlkb3Qgc2F2aWVub2p1bXUgYXIgU01UUCBzZXJ2ZXJpLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdTTVRQIEvEvMWrZGE6IE5lcGllxYZlbSBpbmZvcm3EgWNpanUuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ1ppxYZvanVtYSB0ZWtzdHMgaXIgdHVrxaFzJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ05lYXRwYXrEq3RzIGtvZMSTanVtczogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ05laXpkZXbEgXMgaXpwaWxkxKt0IGtvbWFuZHU6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICdGYWlscyBuYXYgcGllZWphbXM6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICdGYWlsYSBrxLzFq2RhOiBOZXZhciBhdHbEk3J0IGZhaWx1OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnTmVwYXJlaXphIHPFq3TEq3TEgWphIGFkcmVzZTogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ05ldmFyIHBhbGFpc3Qgc8WrdMSrxaFhbmFzIGZ1bmtjaWp1Lic7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICdOZXBhcmVpemEgYWRyZXNlOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIHPFq3TEq3TEgWpzIG5ldGllayBhdGJhbHN0xKt0cy4nOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAnTMWrZHp1LCBub3LEgWRpZXQgdmlzbWF6IHZpZW51IGFkcmVzxIF0dS4nOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAnU01UUCBrxLzFq2RhOiBuZWl6ZGV2xIFzIG5vc8WrdMSrdCDFocSBZGllbSBzYcWGxJNtxJNqaWVtOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAnQXV0b3JpesSBY2lqYXMga8S8xatkYTogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAgc2F2aWVub2p1bWEga8S8xatkYSc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdTTVRQIHNlcnZlcmEga8S8xatkYTogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ05ldmFyIHBpZcWhxLdpcnQgbWFpbsSrZ8SBIHbEk3J0xKtidTogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnRXh0ZW5zaW9uIG1pc3Npbmc6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-ms.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIE1hbGF5c2lhbiBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIE5hd2F3aSBKYW1pbGkgPG5hd2F3aUBydXR3ZWIuY29tPgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdSYWxhdCBTTVRQOiBUaWRhayBkYXBhdCBwZW5nZXNhaGFuLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdSYWxhdCBTTVRQOiBUaWRhayBkYXBhdCBtZW5naHVidW5naSBob3MgcGVsYXlhbiBTTVRQLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdSYWxhdCBTTVRQOiBEYXRhIHRpZGFrIGRpdGVyaW1hIG9sZWggcGVsYXlhbi4nOwokUEhQTUFJTEVSX0xBTkdbJ2VtcHR5X21lc3NhZ2UnXSAgICAgICAgPSAnVGlhZGEgaXNpIHVudHVrIG1lc2VqJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ1Blbmdla29kYW4gdGlkYWsgZGlrZXRhaHVpOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAnVGlkYWsgZGFwYXQgbWVsYWtzYW5ha2FuOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnVGlkYWsgZGFwYXQgbWVuZ2Frc2VzIGZhaWw6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICdSYWxhdCBGYWlsOiBUaWRhayBkYXBhdCBtZW1idWthIGZhaWw6ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdCZXJpa3V0IG1lcnVwYWthbiByYWxhdCBkYXJpIGFsYW1hdCBlLW1lbDogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ1RpZGFrIGRhcGF0IG1lbWJlcmkgY29udG9oIGZ1bmdzaSBlLW1lbC4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnQWxhbWF0IGVtZWwgdGlkYWsgc2FoOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIGplbmlzIHBlbmdoYW50YXIgZW1lbCB0aWRhayBkaXNva29uZy4nOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAnQW5kYSBwZXJsdSBtZW55ZWRpYWthbiBzZWt1cmFuZy1rdXJhbmdueWEgc2F0dSBhbGFtYXQgZS1tZWwgcGVuZXJpbWEuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1JhbGF0IFNNVFA6IFBlbmVyaW1hIGUtbWVsIGJlcmlrdXQgdGVsYWggZ2FnYWw6ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICdSYWxhdCBwYWRhIHRhbmRhIHRhbmdhbjogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAgQ29ubmVjdCgpIHRlbGFoIGdhZ2FsLic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdSYWxhdCBwYWRhIHBlbGF5YW4gU01UUDogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ1RpZGFrIGJvbGVoIG1lbmV0YXBrYW4gYXRhdSBtZW5ldGFwa2FuIHNlbXVsYSBwZW1ib2xlaHViYWg6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-nl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIER1dGNoIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBjbGFzcy5waHBtYWlsZXIucGhwIGZvciBkZWZpbml0aXZlIGxpc3QuCiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIFR1eGlvbiA8dGVhbUB0dXhpb24ubmw+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ1NNVFAtZm91dDogYXV0aGVudGljYXRpZSBtaXNsdWt0Lic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQLWZvdXQ6IGtvbiBuaWV0IHZlcmJpbmRlbiBtZXQgU01UUC1ob3N0Lic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdTTVRQLWZvdXQ6IGRhdGEgbmlldCBnZWFjY2VwdGVlcmQuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ0JlcmljaHR0ZWtzdCBpcyBsZWVnJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ09uYmVrZW5kZSBjb2RlcmluZzogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ0tvbiBuaWV0IHVpdHZvZXJlbjogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ0tyZWVnIGdlZW4gdG9lZ2FuZyB0b3QgYmVzdGFuZDogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ0Jlc3RhbmRzZm91dDoga29uIGJlc3RhbmQgbmlldCBvcGVuZW46ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdIZXQgdm9sZ2VuZGUgYWZ6ZW5kZXJzYWRyZXMgaXMgbWlzbHVrdDogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ0tvbiBtYWlsZnVuY3RpZSBuaWV0IGluaXRpYWxpc2VyZW4uJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ09uZ2VsZGlnIGFkcmVzOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIG1haWxlciB3b3JkdCBuaWV0IG9uZGVyc3RldW5kLic7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICdFciBtb2V0IG1pbnN0ZW5zIMOpw6luIG9udHZhbmdlciB3b3JkZW4gb3BnZWdldmVuLic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICdTTVRQLWZvdXQ6IGRlIHZvbGdlbmRlIG9udHZhbmdlcnMgemlqbiBtaXNsdWt0OiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAnU2lnbmVlcmZvdXQ6ICc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICdTTVRQIFZlcmJpbmRpbmcgbWlzbHVrdC4nOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAnU01UUC1zZXJ2ZXJmb3V0OiAnOwokUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAnS2FuIGRlIHZvbGdlbmRlIHZhcmlhYmVsZSBuaWV0IGluc3RlbGxlbiBvZiByZXNldHRlbjogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnRXh0ZW5zaW9uIG1pc3Npbmc6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-no.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIE5vcndlZ2lhbiBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdTTVRQIEZlaWw6IEt1bm5lIGlra2UgYXV0ZW50aXNlcmUuJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ1NNVFAgRmVpbDogS3VubmUgaWtrZSBrb2JsZSB0aWwgU01UUCB0amVuZXIuJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ1NNVFAgRmVpbDogRGF0YSBibGUgaWtrZSBha3NlcHRlcnQuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ01lbGRpbmdzaW5uaG9sZGV0IGVyIHRvbXQnOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAnVWtqZW50IHRlZ25rb2Rpbmc6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICdLdW5uZSBpa2tlIHV0ZsO4cmU6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICdGw6VyIGlra2UgdGlsZ2FuZyB0aWwgZmlsZW46ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICdGaWwgZmVpbDogS3VubmUgaWtrZSDDpXBuZSBmaWxlbjogJzsKJFBIUE1BSUxFUl9MQU5HWydmcm9tX2ZhaWxlZCddICAgICAgICAgID0gJ0bDuGxnZW5kZSBhdnNlbmRlcmFkcmVzc2UgZmVpbGV0OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAnS3VubmUgaWtrZSBpbml0aWFsaXNlcmUgbWFpbGZ1bmtzam9uZW4uJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ01lbGRpbmdlbiBibGUgaWtrZSBzZW5kdCwgZsO4bGdlbmRlIGFkcmVzc2UgZXIgdWd5bGRpZzogJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ0R1IG3DpSBhbmdpIG1pbnN0IGVuIG1vdHRha2VyYWRyZXNzZS4nOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIG1haWxlciBlciBpa2tlIHN1cHBvcnRlcnQuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAgRmVpbDogRsO4bGdlbmRlIG1vdHRhZ2VyZSBmZWlsZXQ6ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICdTaWduZXJpbmdzZmVpbDogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAgQ29ubmVjdCgpIGZlaWxldC4nOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAnU01UUC1zZXJ2ZXJmZWlsOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAnS2FuIGlra2Ugc2V0dGUgZWxsZXIgcmVzZXR0ZSB2YXJpYWJlbGVuOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-pl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFBvbGlzaCBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdCxYLEhWQgU01UUDogTmllIG1vxbxuYSBwcnplcHJvd2FkemnEhyB1d2llcnp5dGVsbmllbmlhLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdCxYLEhWQgU01UUDogTmllIG1vxbxuYSBwb8WCxIVjennEhyBzacSZIHogd3licmFueW0gaG9zdGVtLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdCxYLEhWQgU01UUDogRGFuZSBuaWUgem9zdGHFgnkgcHJ6eWrEmXRlLic7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICdXaWFkb21vxZvEhyBqZXN0IHB1c3RhLic7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICdOaWV6bmFueSBzcG9zw7NiIGtvZG93YW5pYSB6bmFrw7N3OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAnTmllIG1vxbxuYSB1cnVjaG9tacSHOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnQnJhayBkb3N0xJlwdSBkbyBwbGlrdTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ05pZSBtb8W8bmEgb3R3b3J6ecSHIHBsaWt1OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnTmFzdMSZcHVqxIVjeSBhZHJlcyBOYWRhd2N5IGplc3QgbmllcHJhd2lkxYJvd3k6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICdOaWUgbW/FvG5hIHd5d2/FgmHEhyBmdW5rY2ppIG1haWwoKS4gU3ByYXdkxboga29uZmlndXJhY2rEmSBzZXJ3ZXJhLic7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICdOaWUgbW/FvG5hIHd5c8WCYcSHIHdpYWRvbW/Fm2NpLCAnLgogICAgJ25hc3TEmXB1asSFY3kgYWRyZXMgT2RiaW9yY3kgamVzdCBuaWVwcmF3aWTFgm93eTogJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ05hbGXFvHkgcG9kYcSHIHByYXdpZMWCb3d5IGFkcmVzIGVtYWlsIE9kYmlvcmN5Lic7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICdXeWJyYW5hIG1ldG9kYSB3eXN5xYJraSB3aWFkb21vxZtjaSBuaWUgamVzdCBvYnPFgnVnaXdhbmEuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ0LFgsSFZCBTTVRQOiBOYXN0xJlwdWrEhWN5IG9kYmlvcmN5IHPEhSBuaWVwcmF3aWTFgm93aTogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ0LFgsSFZCBwb2RwaXN5d2FuaWEgd2lhZG9tb8WbY2k6ICc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICdTTVRQIENvbm5lY3QoKSB6YWtvxYRjem9uZSBuaWVwb3dvZHplbmllbS4nOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAnQsWCxIVkIFNNVFA6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdOaWUgbW/FvG5hIHVzdGF3acSHIGx1YiB6bW9keWZpa293YcSHIHptaWVubmVqOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-pt.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFBvcnR1Z3Vlc2UgKEV1cm9wZWFuKSBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIEpvbmFkYWJlIDxqb25hZGFiZUBob3RtYWlsLmNvbT4KICovCgokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAnRXJybyBkbyBTTVRQOiBOw6NvIGZvaSBwb3Nzw612ZWwgcmVhbGl6YXIgYSBhdXRlbnRpY2HDp8Ojby4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnRXJybyBkbyBTTVRQOiBOw6NvIGZvaSBwb3Nzw612ZWwgcmVhbGl6YXIgbGlnYcOnw6NvIGNvbSBvIHNlcnZpZG9yIFNNVFAuJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ0Vycm8gZG8gU01UUDogT3MgZGFkb3MgZm9yYW0gcmVqZWl0YWRvcy4nOwokUEhQTUFJTEVSX0xBTkdbJ2VtcHR5X21lc3NhZ2UnXSAgICAgICAgPSAnQSBtZW5zYWdlbSBubyBlLW1haWwgZXN0w6EgdmF6aWEuJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ0NvZGlmaWNhw6fDo28gZGVzY29uaGVjaWRhOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAnTsOjbyBmb2kgcG9zc8OtdmVsIGV4ZWN1dGFyOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnTsOjbyBmb2kgcG9zc8OtdmVsIGFjZWRlciBvIGZpY2hlaXJvOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAnQWJlcnR1cmEgZG8gZmljaGVpcm86IE7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGZpY2hlaXJvOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnT2NvcnJlcmFtIGZhbGhhcyBub3MgZW5kZXJlw6dvcyBkb3Mgc2VndWludGVzIHJlbWVudGVudGVzOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAnTsOjbyBmb2kgcG9zc8OtdmVsIGluaWNpYXIgdW1hIGluc3TDom5jaWEgZGEgZnVuw6fDo28gbWFpbC4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnTsOjbyBmb2kgZW52aWFkbyBuZW5odW0gZS1tYWlsIHBhcmEgbyBlbmRlcmXDp28gZGUgZS1tYWlsIGludsOhbGlkbzogJzsKJFBIUE1BSUxFUl9MQU5HWydtYWlsZXJfbm90X3N1cHBvcnRlZCddID0gJyBtYWlsZXIgbsOjbyDDqSBzdXBvcnRhZG8uJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ1RlbSBkZSBmb3JuZWNlciBwZWxvIG1lbm9zIHVtIGVuZGVyZcOnbyBjb21vIGRlc3RpbmF0w6FyaW8gZG8gZS1tYWlsLic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICdFcnJvIGRvIFNNVFA6IE8gZW5kZXJlw6dvIGRvIHNlZ3VpbnRlIGRlc3RpbmF0w6FyaW8gZmFsaG91OiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAnRXJybyBhbyBhc3NpbmFyOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnU01UUCBDb25uZWN0KCkgZmFsaG91Lic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdFcnJvIGRlIHNlcnZpZG9yIFNNVFA6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdOw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBvdSByZWRlZmluaXIgYSB2YXJpw6F2ZWw6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnPDo28gZW0gZmFsdGE6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-ro.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFJvbWFuaWFuIFBIUE1haWxlciBsYW5ndWFnZSBmaWxlOiByZWZlciB0byBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBkZWZpbml0aXZlIGxpc3QKICogQHBhY2thZ2UgUEhQTWFpbGVyCiAqIEBhdXRob3IgQ2F0YWxpbiBDb25zdGFudGluIDxjYXRhbGluQGRhem9vdC5ybz4KICovCgokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAnRXJvYXJlIFNNVFA6IE51IGEgZnVuY3Rpb25hdCBhdXRlbnRpZmljYXJlYS4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnRXJvYXJlIFNNVFA6IE51IG0tYW0gcHV0dXQgY29uZWN0YSBsYSBhZHJlc2EgU01UUC4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAnRXJvYXJlIFNNVFA6IENvbnRpbnV0dWwgbWFpbHVsdWkgbnUgYSBmb3N0IGFjY2VwdGF0Lic7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICdNZXNhanVsIGVzdGUgZ29sLic7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICdFbmNvZGFyZSBuZWN1bm9zY3V0YTogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ051IHBvdCBleGVjdXRhOiAgJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ051IHBvdCBhY2Nlc2EgZmlzaWVydWw6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICdFcm9hcmUgZGUgZmlzaWVyOiBOdSBwb3QgZGVzY2hpZGUgZmlzaWVydWw6ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdVcm1hdG9hcmVsZSBhZHJlc2UgRnJvbSBhdSBkYXQgZXJvYXJlOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAnTnUgYW0gcHV0dXQgaW5zdGFudGlhIGZ1bmN0aWEgbWFpbC4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnQWRyZXNhIGRlIGVtYWlsIG51IGVzdGUgdmFsaWRhOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIG1haWxlciBudSBlc3RlIHN1cG9ydGF0Lic7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICdUcmVidWllIHNhIGFkYXVnYXRpIGNlbCBwdXRpbiB1biByZWNpcGllbnQgKGFkcmVzYSBkZSBtYWlsKS4nOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAnRXJvYXJlIFNNVFA6IFVybWF0b2FyZWxlIGFkcmVzZSBkZSBtYWlsIGF1IGRhdCBlcm9hcmU6ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICdBIGFwYXJ1dCBvIHByb2JsZW1hIGxhIHNlbW5hcmVhIGVtYWlsdWx1aS4gJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ0NvbmVjdGFyZWEgbGEgc2VydmVydWwgU01UUCBhIGVzdWF0Lic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdBIGFwYXJ1dCBvIGVyb2FyZSBsYSBzZXJ2ZXJ1bCBTTVRQLiAnOwokUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAnTnUgc2UgcG9hdGUgc2V0YS9yZXNldGEgdmFyaWFiaWxhLiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-ru.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFJ1c3NpYW4gUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBBbGV4ZXkgQ2h1bWFrb3YgPGFsZXhAY2h1bWFrb3YucnU+CiAqIEBhdXRob3IgRm9zdGVyIFNub3doaWxsIDxpMThuQGZvcnN0d29vZi5ydT4KICovCgokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAn0J7RiNC40LHQutCwIFNNVFA6INC+0YjQuNCx0LrQsCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4Lic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICfQntGI0LjQsdC60LAgU01UUDog0L3QtSDRg9C00LDQtdGC0YHRjyDQv9C+0LTQutC70Y7Rh9C40YLRjNGB0Y8g0Log0YHQtdGA0LLQtdGA0YMgU01UUC4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAn0J7RiNC40LHQutCwIFNNVFA6INC00LDQvdC90YvQtSDQvdC1INC/0YDQuNC90Y/RgtGLLic7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICfQndC10LjQt9Cy0LXRgdGC0L3Ri9C5INCy0LjQtCDQutC+0LTQuNGA0L7QstC60Lg6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICfQndC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0Ywg0LrQvtC80LDQvdC00YM6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9hY2Nlc3MnXSAgICAgICAgICA9ICfQndC10YIg0LTQvtGB0YLRg9C/0LAg0Log0YTQsNC50LvRgzogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ9Ck0LDQudC70L7QstCw0Y8g0L7RiNC40LHQutCwOiDQvdC1INGD0LTQsNC10YLRgdGPINC+0YLQutGA0YvRgtGMINGE0LDQudC7OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAn0J3QtdCy0LXRgNC90YvQuSDQsNC00YDQtdGBINC+0YLQv9GA0LDQstC40YLQtdC70Y86ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICfQndC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0YTRg9C90LrRhtC40Y4gbWFpbC4nOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAn0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0LLQtdC00LjRgtC1INGF0L7RgtGPINCx0Ysg0L7QtNC40L0g0LDQtNGA0LXRgSBlLW1haWwg0L/QvtC70YPRh9Cw0YLQtdC70Y8uJzsKJFBIUE1BSUxFUl9MQU5HWydtYWlsZXJfbm90X3N1cHBvcnRlZCddID0gJyDigJQg0L/QvtGH0YLQvtCy0YvQuSDRgdC10YDQstC10YAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPLic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICfQntGI0LjQsdC60LAgU01UUDog0L7RgtC/0YDQsNCy0LrQsCDQv9C+INGB0LvQtdC00YPRjtGJ0LjQvCDQsNC00YDQtdGB0LDQvCDQv9C+0LvRg9GH0LDRgtC10LvQtdC5INC90LUg0YPQtNCw0LvQsNGB0Yw6ICc7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICfQn9GD0YHRgtC+0LUg0YLQtdC70L4g0YHQvtC+0LHRidC10L3QuNGPJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ9Cd0LUg0L7RgtC+0YHQu9Cw0L3Qviwg0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGE0L7RgNC80LDRgiBlbWFpbCDQsNC00YDQtdGB0LA6ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICfQntGI0LjQsdC60LAg0L/QvtC00L/QuNGB0YvQstCw0L3QuNGPOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAn0J7RiNC40LHQutCwINGB0L7QtdC00LjQvdC10L3QuNGPINGBIFNNVFAt0YHQtdGA0LLQtdGA0L7QvCc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICfQntGI0LjQsdC60LAgU01UUC3RgdC10YDQstC10YDQsDogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ9Cd0LXQstC+0LfQvNC+0LbQvdC+INGD0YHRgtCw0L3QvtCy0LjRgtGMINC40LvQuCDQv9C10YDQtdGD0YHRgtCw0L3QvtCy0LjRgtGMINC/0LXRgNC10LzQtdC90L3Rg9GOOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAn0KDQsNGB0YjQuNGA0LXQvdC40LUg0L7RgtGB0YPRgtGB0YLQstGD0LXRgjogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-se.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFN3ZWRpc2ggUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBKb2hhbiBMaW5uw6lyIDxqb2hhbkBsaW5uZXIuYml6PgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdTTVRQIGZlbDogS3VuZGUgaW50ZSBhdXRlbnRpc2VyYS4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnU01UUCBmZWw6IEt1bmRlIGludGUgYW5zbHV0YSB0aWxsIFNNVFAtc2VydmVyLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdTTVRQIGZlbDogRGF0YSBhY2NlcHRlcmFkZXMgaW50ZS4nOwovLyRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICdNZXNzYWdlIGJvZHkgZW1wdHknOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAnT2vDpG50IGVuY29kZS1mb3JtYXQ6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICdLdW5kZSBpbnRlIGvDtnJhOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnSW5nZW4gw6V0a29tc3QgdGlsbCBmaWw6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICdGaWwgZmVsOiBLdW5kZSBpbnRlIMO2cHBuYSBmaWw6ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdGw7ZsamFuZGUgYXZzw6RuZGFyYWRyZXNzIMOkciBmZWxha3RpZzogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ0t1bmRlIGludGUgaW5pdGllcmEgZS1wb3N0ZnVua3Rpb24uJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnSW52YWxpZCBhZGRyZXNzOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAnRHUgbcOlc3RlIGFuZ2UgbWluc3QgZW4gbW90dGFnYXJlcyBlLXBvc3RhZHJlc3MuJzsKJFBIUE1BSUxFUl9MQU5HWydtYWlsZXJfbm90X3N1cHBvcnRlZCddID0gJyBtYWlsZXIgc3TDtmRzIGludGUuJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAgZmVsOiBGw7ZsamFuZGUgbW90dGFnYXJlIMOkciBmZWxha3RpZzogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAnU2lnbmluZyBFcnJvcjogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnU01UUCBDb25uZWN0KCkgZmFpbGVkLic7Ci8vJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ1NNVFAgc2VydmVyIGVycm9yOiAnOwovLyRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdDYW5ub3Qgc2V0IG9yIHJlc2V0IHZhcmlhYmxlOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-si.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFNpbmhhbGEgUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBTZW5hc3VtIFJhamFwYWxzaGEgPHNlbmFzdW1AbGl2ZS5jb20+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ1NNVFAgZm9kaWhsczogbCVzaGQgbHLDumggZmtkeWwgLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQIGZvZGlobHM6IGnDr25rYW8gbCwgZmtkeWwuJzsKJFBIUE1BSUxFUl9MQU5HWydkYXRhX25vdF9hY2NlcHRlZCddICAgID0gJ1NNVFAgZm9kaWhsczogbzthOyBOZHIgLjsgZmtkeWwuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ3lzaWEgbWtzw7p2aGxzJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ2lxcmxhWXM7IG5qZyBtO2EgbHLDrzogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ2wlc2hkIGxyw7poIGZrZHlsOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnZi5ka3FqIGZqOyAsLmQgw7poIGZrZHlsOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAnZi5ka3FqIMO6akQ7IGZrZGZqOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnZipkwr51aCBqcsOIaDogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ2p5ZCBsLCBocTs9IGZqLic7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICdzbXNraCBqcsOIaDogJzsKJFBIUE1BSUxFUl9MQU5HWydtYWlsZXJfbm90X3N1cHBvcnRlZCddID0gJyBta3PDunYgbHJlIGZrZC4sbVMuJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJyxzbXNraCB3Oz0sYSBscmthay4nOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAnU01UUCBmb2RpaGxzOiBta3PDunZoICwuZCBsLCBma2R5bDogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ3c7PSxhIMO6aCBma2R5bDogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAgacOvbmthbyBsLCBma2R5bC4nOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAnU01UUCBmb2RpaGxzOjogJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ8O6cCxoIGlsaWEgbHIgZmtkdTs6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdsJXNoZCBscsO6aCBma2R5bDogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-sk.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFNsb3ZhayBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIE1pY2hhbCBUaW5rYSA8bWljaGFsdGlua2FAZ21haWwuY29tPgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdTTVRQIEVycm9yOiBDaHliYSBhdXRlbnRpZmlrw6FjaWUuJzsKJFBIUE1BSUxFUl9MQU5HWydjb25uZWN0X2hvc3QnXSAgICAgICAgID0gJ1NNVFAgRXJyb3I6IE5lYm9sbyBtb8W+bsOpIG5hZHZpYXphxaUgc3BvamVuaWUgc28gU01UUCBzZXJ2ZXJvbS4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAnU01UUCBFcnJvcjogRMOhdGEgbmVib2xpIHByaWphdMOpJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ1Byw6F6ZG5lIHRlbG8gc3Byw6F2eS4nOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAnTmV6bsOhbWUga8OzZG92YW5pZTogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ05lZMOhIHNhIHZ5a29uYcWlOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnU8O6Ym9yIG5lYm9sIG7DoWpkZW7DvTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ0ZpbGUgRXJyb3I6IFPDumJvciBzYSBvdHZvcmnFpSBwcmUgxI3DrXRhbmllOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnTsOhc2xlZHVqw7pjYSBhZHJlc2EgRnJvbSBqZSBuZXNwcsOhdm5hOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAnTmVkw6Egc2Egdnl0dm9yacWlIGluxaF0YW5jaWEgZW1haWxvdmVqIGZ1bmtjaWUuJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ05lb2Rvc2xhbsOpLCBlbWFpbG92w6EgYWRyZXNhIGplIG5lc3Byw6F2bmE6ICc7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICcgZW1haWxvdsO9IGtsaWVudCBuaWVqZSBwb2Rwb3JvdmFuw70uJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ011c8OtdGUgemFkYcWlIGFzcG/FiCBqZWRudSBlbWFpbG92w7ogYWRyZXN1IHByw61qZW1jdS4nOwokUEhQTUFJTEVSX0xBTkdbJ3JlY2lwaWVudHNfZmFpbGVkJ10gICAgPSAnU01UUCBFcnJvcjogQWRyZXN5IHByw61qZW1jb3Ygbmllc3Ugc3Byw6F2bmUgJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ0NoeWJhIHByaWhsYXNvdmFuaWE6ICc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICdTTVRQIENvbm5lY3QoKSB6bHloYWxvLic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdTTVRQIGNoeWJhIHNlcnZlcnU6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdOZW1vxb5ubyBuYXN0YXZpxaUgYWxlYm8gcmVzZXRvdmHFpSBwcmVtZW5uw7o6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-sl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFNsb3ZlbmUgUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBLbGVtZW4gVHXFoWFyIDx0ZWNob3VzZUBnbWFpbC5jb20+CiAqLwoKJFBIUE1BSUxFUl9MQU5HWydhdXRoZW50aWNhdGUnXSAgICAgICAgID0gJ1NNVFAgbmFwYWthOiBBdnRlbnRpa2FjaWphIG5pIHVzcGVsYS4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnU01UUCBuYXBha2E6IE5lIG1vcmVtIHZ6cG9zdGF2aXRpIHBvdmV6YXZlIHMgU01UUCBnb3N0aXRlbGplbS4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAnU01UUCBuYXBha2E6IFN0cmXFvm5payB6YXZyYcSNYSBwb2RhdGtlLic7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICdFLXBvxaF0bm8gc3Bvcm/EjWlsbyBuaW1hIHZzZWJpbmUuJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ05lcG96bmFuIHRpcCBrb2RpcmFuamE6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICdPcGVyYWNpamEgbmkgdXNwZWxhOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAnTmltYW0gZG9zdG9wYSBkbyBkYXRvdGVrZTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX29wZW4nXSAgICAgICAgICAgID0gJ05lIG1vcmVtIG9kcHJldGkgZGF0b3Rla2U6ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdOZXZlbGphdmVuIGUtbmFzbG92IHBvxaFpbGphdGVsamE6ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICdOZSBtb3JlbSBpbmljaWFsaXppcmF0aSBtYWlsIGZ1bmtjaWplLic7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICdFLXBvxaF0bm8gc3Bvcm/EjWlsbyBuaSBiaWxvIHBvc2xhbm8uIEUtbmFzbG92IGplIG5ldmVsamF2ZW46ICc7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICcgbWFpbGVyIG5pIHBvZHBydC4nOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAnUHJvc2ltIHZuZXNpdGUgdnNhaiBlbmVnYSBuYXNsb3ZuaWthLic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICdTTVRQIG5hcGFrYTogU2xlZGXEjWkgbmFzbG92bmlraSBzbyBuZXZlbGphdm5pOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NpZ25pbmcnXSAgICAgICAgICAgICAgPSAnTmFwYWthIHByaSBwb2RwaXNvdmFuanU6ICc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9jb25uZWN0X2ZhaWxlZCddICA9ICdOZSBtb3JlbSB2enBvc3Rhdml0aSBwb3ZlemF2ZSBzIFNNVFAgc3RyZcW+bmlrb20uJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ05hcGFrYSBTTVRQIHN0cmXFvm5pa2E6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICdOZSBtb3JlbSBuYXN0YXZpdGkgb3ouIHBvbmFzdGF2aXRpIHNwcmVtZW5saml2a2U6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-sr.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFNlcmJpYW4gUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciDQkNC70LXQutGB0LDQvdC00LDRgCDQiNC10LLRgNC10LzQvtCy0LjRmyA8YWpldnJlbW92aWNAZ21haWwuY29tPgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdTTVRQINCz0YDQtdGI0LrQsDog0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjRmNCwINC90LjRmNC1INGD0YHQv9C10LvQsC4nOwokUEhQTUFJTEVSX0xBTkdbJ2Nvbm5lY3RfaG9zdCddICAgICAgICAgPSAnU01UUCDQs9GA0LXRiNC60LA6INC90LjRmNC1INC80L7Qs9GD0ZvQtSDQv9C+0LLQtdC30LjQstCw0ZrQtSDRgdCwIFNNVFAg0YHQtdGA0LLQtdGA0L7QvC4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAnU01UUCDQs9GA0LXRiNC60LA6INC/0L7QtNCw0YbQuCDQvdC40YHRgyDQv9GA0LjRhdCy0LDRm9C10L3QuC4nOwokUEhQTUFJTEVSX0xBTkdbJ2VtcHR5X21lc3NhZ2UnXSAgICAgICAgPSAn0KHQsNC00YDQttCw0Zgg0L/QvtGA0YPQutC1INGY0LUg0L/RgNCw0LfQsNC9Lic7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICfQndC10L/QvtC30L3QsNGC0L4g0LrQvtC00L7QstCw0ZrQtTogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ9Cd0LjRmNC1INC80L7Qs9GD0ZvQtSDQuNC30LLRgNGI0LjRgtC4INC90LDRgNC10LTQsdGDOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAn0J3QuNGY0LUg0LzQvtCz0YPRm9C1INC/0YDQuNGB0YLRg9C/0LjRgtC4INC00LDRgtC+0YLQtdGG0Lg6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICfQndC40ZjQtSDQvNC+0LPRg9Gb0LUg0L7RgtCy0L7RgNC40YLQuCDQtNCw0YLQvtGC0LXQutGDOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnU01UUCDQs9GA0LXRiNC60LA6INGB0LvQsNGa0LUg0YHQsCDRgdC70LXQtNC10ZvQuNGFINCw0LTRgNC10YHQsCDQvdC40ZjQtSDRg9GB0L/QtdC70L46ICc7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICdTTVRQINCz0YDQtdGI0LrQsDog0YHQu9Cw0ZrQtSDQvdCwINGB0LvQtdC00LXRm9C1INCw0LTRgNC10YHQtSDQvdC40ZjQtSDRg9GB0L/QtdC70L46ICc7CiRQSFBNQUlMRVJfTEFOR1snaW5zdGFudGlhdGUnXSAgICAgICAgICA9ICfQndC40ZjQtSDQvNC+0LPRg9Gb0LUg0L/QvtC60YDQtdC90YPRgtC4IG1haWwg0YTRg9C90LrRhtC40ZjRgy4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAn0J/QvtGA0YPQutCwINC90LjRmNC1INC/0L7RgdC70LDRgtCwINC30LHQvtCzINC90LXQuNGB0L/RgNCw0LLQvdC1INCw0LTRgNC10YHQtTogJzsKJFBIUE1BSUxFUl9MQU5HWydtYWlsZXJfbm90X3N1cHBvcnRlZCddID0gJyDQvNC10ZjQu9C10YAg0L3QuNGY0LUg0L/QvtC00YDQttCw0L0uJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ9Cf0L7RgtGA0LXQsdC90L4g0ZjQtSDQt9Cw0LTQsNGC0Lgg0L3QsNGY0LzQsNGa0LUg0ZjQtdC00L3RgyDQsNC00YDQtdGB0YMuJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ9CT0YDQtdGI0LrQsCDQv9GA0LjQu9C40LrQvtC8INC/0YDQuNGY0LDQstGZ0LjQstCw0ZrQsDogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ9Cf0L7QstC10LfQuNCy0LDRmtC1INGB0LAgU01UUCDRgdC10YDQstC10YDQvtC8INC90LjRmNC1INGD0YHQv9C10LvQvi4nOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfZXJyb3InXSAgICAgICAgICAgPSAn0JPRgNC10YjQutCwIFNNVFAg0YHQtdGA0LLQtdGA0LA6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICfQndC40ZjQtSDQvNC+0LPRg9Gb0LUg0LfQsNC00LDRgtC4INC/0YDQvtC80LXQvdGZ0LjQstGDLCDQvdC40YLQuCDRmNC1INCy0YDQsNGC0LjRgtC4INGD0L3QsNC30LDQtDogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnRXh0ZW5zaW9uIG1pc3Npbmc6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-tr.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFR1cmtpc2ggUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBFbMOnaW4gw5Z6ZWwKICogQGF1dGhvciBDYW4gWcSxbG1hegogKiBAYXV0aG9yIE1laG1ldCBCZW5saW/En2x1CiAqIEBhdXRob3IgQHlhc2luYXlkaW4KICovCgokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAnU01UUCBIYXRhc8SxOiBPdHVydW0gYcOnxLFsYW1hZMSxLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQIEhhdGFzxLE6IFNNVFAgc3VudWN1c3VuYSBiYcSfbGFuxLFsYW1hZMSxLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdTTVRQIEhhdGFzxLE6IFZlcmkga2FidWwgZWRpbG1lZGkuJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ01lc2FqxLFuIGnDp2VyacSfaSBib8WfJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ0JpbGlubWV5ZW4ga2FyYWt0ZXIga29kbGFtYTogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ8OHYWzEscWfdMSxcsSxbGFtYWTEsTogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ0Rvc3lheWEgZXJpxZ9pbGVtZWRpOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAnRG9zeWEgSGF0YXPEsTogRG9zeWEgYcOnxLFsYW1hZMSxOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAnQmVsaXJ0aWxlbiBhZHJlc2xlcmUgZ8O2bmRlcm1lIGJhxZ9hcsSxc8SxejogJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ8OWcm5layBlLXBvc3RhIGZvbmtzaXlvbnUgb2x1xZ90dXJ1bGFtYWTEsS4nOwokUEhQTUFJTEVSX0xBTkdbJ2ludmFsaWRfYWRkcmVzcyddICAgICAgPSAnR2XDp2Vyc2l6IGUtcG9zdGEgYWRyZXNpOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIGUtcG9zdGEga8O8dMO8cGhhbmVzaSBkZXN0ZWtsZW5taXlvci4nOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAnRW4gYXogYmlyIGFsxLFjxLEgZS1wb3N0YSBhZHJlc2kgYmVsaXJ0bWVsaXNpbml6Lic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICdTTVRQIEhhdGFzxLE6IEJlbGlydGlsZW4gYWzEsWPEsWxhcmEgdWxhxZ/EsWxhbWFkxLE6ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICfEsG16YWxhbWEgaGF0YXPEsTogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAgY29ubmVjdCgpIGZvbmtzaXlvbnUgYmHFn2FyxLFzxLF6Lic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdTTVRQIHN1bnVjdSBoYXRhc8SxOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAnRGXEn2nFn2tlbiBheWFybGFuYW1hZMSxIHlhIGRhIHPEsWbEsXJsYW5hbWFkxLE6ICc7Ci8vJFBIUE1BSUxFUl9MQU5HWydleHRlbnNpb25fbWlzc2luZyddICAgID0gJ0V4dGVuc2lvbiBtaXNzaW5nOiAnOwo=]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-uk.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFVrcmFpbmlhbiBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIFl1cml5IFJ1ZHl5IDx5cnVkeXlAcHJzLm5ldC51YT4KICogQGZpeGVkIGJ5IEJvcmlzIFl1cmNoZW5rbyA8Ym9yaXNAeXVyY2hlbmtvLnBwLnVhPgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICfQn9C+0LzQuNC70LrQsCBTTVRQOiDQv9C+0LzQuNC70LrQsCDQsNCy0YLQvtGA0LjQt9Cw0YbRltGXLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICfQn9C+0LzQuNC70LrQsCBTTVRQOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0L/RltC0XCfRlNC00L3QsNGC0LjRgdGPINC00L4g0YHQtdGA0LLQtdGA0YMgU01UUC4nOwokUEhQTUFJTEVSX0xBTkdbJ2RhdGFfbm90X2FjY2VwdGVkJ10gICAgPSAn0J/QvtC80LjQu9C60LAgU01UUDog0LTQsNC90ZYg0L3QtSDQv9GA0LjQudC90Y/RgtGWLic7CiRQSFBNQUlMRVJfTEFOR1snZW5jb2RpbmcnXSAgICAgICAgICAgICA9ICfQndC10LLRltC00L7QvNC40Lkg0YLQuNC/INC60L7QtNGD0LLQsNC90L3RjzogJzsKJFBIUE1BSUxFUl9MQU5HWydleGVjdXRlJ10gICAgICAgICAgICAgID0gJ9Cd0LXQvNC+0LbQu9C40LLQviDQstC40LrQvtC90LDRgtC4INC60L7QvNCw0L3QtNGDOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfYWNjZXNzJ10gICAgICAgICAgPSAn0J3QtdC80LDRlCDQtNC+0YHRgtGD0L/RgyDQtNC+INGE0LDQudC70YM6ICc7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICfQn9C+0LzQuNC70LrQsCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4OiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LLRltC00LrRgNC40YLQuCDRhNCw0LnQuzogJzsKJFBIUE1BSUxFUl9MQU5HWydmcm9tX2ZhaWxlZCddICAgICAgICAgID0gJ9Cd0LXQstGW0YDQvdCwINCw0LTRgNC10YHQsCDQstGW0LTQv9GA0LDQstC90LjQutCwOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAn0J3QtdC80L7QttC70LjQstC+INC30LDQv9GD0YHRgtC40YLQuCDRhNGD0L3QutGG0ZbRjiBtYWlsLic7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICfQkdGD0LTRjC3Qu9Cw0YHQutCwLCDQstCy0LXQtNGW0YLRjCDRhdC+0YfQsCDQsSDQvtC00L3RgyDQsNC00YDQtdGB0YMgZS1tYWlsINC+0YLRgNC40LzRg9Cy0LDRh9CwLic7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICcgLSDQv9C+0YjRgtC+0LLQuNC5INGB0LXRgNCy0LXRgCDQvdC1INC/0ZbQtNGC0YDQuNC80YPRlNGC0YzRgdGPLic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICfQn9C+0LzQuNC70LrQsCBTTVRQOiDQstGW0LTQv9GA0LDQstC70LXQvdC90Y8g0L3QsNGB0YLRg9C/0L3QuNC8INC+0YLRgNC40LzRg9Cy0LDRh9Cw0Lwg0L3QtSDQstC00LDQu9C+0YHRjzogJzsKJFBIUE1BSUxFUl9MQU5HWydlbXB0eV9tZXNzYWdlJ10gICAgICAgID0gJ9Cf0YPRgdGC0LUg0YLRltC70L4g0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPJzsKJFBIUE1BSUxFUl9MQU5HWydpbnZhbGlkX2FkZHJlc3MnXSAgICAgID0gJ9Cd0LUg0LLRltC00L/RgNCw0LLQu9C10L3Qviwg0L3QtdCy0ZbRgNC90LjQuSDRhNC+0YDQvNCw0YIg0LDQtNGA0LXRgdC4IGUtbWFpbDogJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ9Cf0L7QvNC40LvQutCwINC/0ZbQtNC/0LjRgdGDOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAn0J/QvtC80LjQu9C60LAg0LdcJ9GU0LTQvdCw0L3QvdGPINGW0LcgU01UUC3RgdC10YDQstC10YDQvtC8JzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ9Cf0L7QvNC40LvQutCwIFNNVFAt0YHQtdGA0LLQtdGA0LA6ICc7CiRQSFBNQUlMRVJfTEFOR1sndmFyaWFibGVfc2V0J10gICAgICAgICA9ICfQndC10LzQvtC20LvQuNCy0L4g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LDQsdC+INC/0LXRgNC10LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LfQvNGW0L3QvdGDOiAnOwovLyRQSFBNQUlMRVJfTEFOR1snZXh0ZW5zaW9uX21pc3NpbmcnXSAgICA9ICdFeHRlbnNpb24gbWlzc2luZzogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-vi.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFZpZXRuYW1lc2UgKFRp4bq/bmcgVmnhu4d0KSBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0LgogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBWSU5BREVTLixKU0MgPGNvbnRhY3RAdmluYWRlcy52bj4KICovCgokUEhQTUFJTEVSX0xBTkdbJ2F1dGhlbnRpY2F0ZSddICAgICAgICAgPSAnTOG7l2kgU01UUDogS2jDtG5nIHRo4buDIHjDoWMgdGjhu7FjLic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdM4buXaSBTTVRQOiBLaMO0bmcgdGjhu4Mga+G6v3QgbuG7kWkgbcOheSBjaOG7pyBTTVRQLic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdM4buXaSBTTVRQOiBE4buvIGxp4buHdSBraMO0bmcgxJHGsOG7o2MgY2jhuqVwIG5o4bqtbi4nOwokUEhQTUFJTEVSX0xBTkdbJ2VtcHR5X21lc3NhZ2UnXSAgICAgICAgPSAnS2jDtG5nIGPDsyBu4buZaSBkdW5nJzsKJFBIUE1BSUxFUl9MQU5HWydlbmNvZGluZyddICAgICAgICAgICAgID0gJ03DoyBow7NhIGtow7RuZyB4w6FjIMSR4buLbmg6ICc7CiRQSFBNQUlMRVJfTEFOR1snZXhlY3V0ZSddICAgICAgICAgICAgICA9ICdLaMO0bmcgdGjhu7FjIGhp4buHbiDEkcaw4bujYzogJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ0tow7RuZyB0aOG7gyB0cnV5IGPhuq1wIHThu4dwIHRpbiAnOwokUEhQTUFJTEVSX0xBTkdbJ2ZpbGVfb3BlbiddICAgICAgICAgICAgPSAnTOG7l2kgVOG6rXAgdGluOiBLaMO0bmcgdGjhu4MgbeG7nyB04buHcCB0aW46ICc7CiRQSFBNQUlMRVJfTEFOR1snZnJvbV9mYWlsZWQnXSAgICAgICAgICA9ICdM4buXaSDEkeG7i2EgY2jhu4kgZ+G7rWkgxJFpOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2luc3RhbnRpYXRlJ10gICAgICAgICAgPSAnS2jDtG5nIGTDuW5nIMSRxrDhu6NjIGPDoWMgaMOgbSBn4butaSB0aMawLic7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICfEkOG6oWkgY2jhu4kgZW1haSBraMO0bmcgxJHDum5nOiAnOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAnIHRyw6xuaCBn4butaSB0aMawIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujLic7CiRQSFBNQUlMRVJfTEFOR1sncHJvdmlkZV9hZGRyZXNzJ10gICAgICA9ICdC4bqhbiBwaOG6o2kgY3VuZyBj4bqlcCDDrXQgbmjhuqV0IG3hu5l0IMSR4buLYSBjaOG7iSBuZ8aw4budaSBuaOG6rW4uJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ0zhu5dpIFNNVFA6IGzhu5dpIMSR4buLYSBjaOG7iSBuZ8aw4budaSBuaOG6rW46ICc7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICdM4buXaSDEkcSDbmcgbmjhuq1wOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnTOG7l2kga+G6v3QgbuG7kWkgduG7m2kgU01UUCc7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdM4buXaSBtw6F5IGNo4bunIHNtdHAgJzsKJFBIUE1BSUxFUl9MQU5HWyd2YXJpYWJsZV9zZXQnXSAgICAgICAgID0gJ0tow7RuZyB0aOG7gyB0aGnhur90IGzhuq1wIGhv4bq3YyB0aGnhur90IGzhuq1wIGzhuqFpIGJp4bq/bjogJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnRXh0ZW5zaW9uIG1pc3Npbmc6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-zh.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFRyYWRpdGlvbmFsIENoaW5lc2UgUEhQTWFpbGVyIGxhbmd1YWdlIGZpbGU6IHJlZmVyIHRvIEVuZ2xpc2ggdHJhbnNsYXRpb24gZm9yIGRlZmluaXRpdmUgbGlzdAogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGF1dGhvciBsaXF3ZWkgPGxpcXdlaUBsaXF3ZWkuY29tPgogKiBAYXV0aG9yIFBldGVyIERhdmUgSGVsbG8gPEBQZXRlckRhdmVIZWxsby8+CiAqIEBhdXRob3IgSmFzb24gQ2hpYW5nIDx4Y29qYWRAZ21haWwuY29tPgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdTTVRQIOmMr+iqpO+8mueZu+WFpeWkseaVl+OAgic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQIOmMr+iqpO+8mueEoeazlemAo+e3muWIsCBTTVRQIOS4u+apn+OAgic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdTTVRQIOmMr+iqpO+8mueEoeazleaOpeWPl+eahOizh+aWmeOAgic7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICfpg7Xku7blhaflrrnngrrnqbonOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAn5pyq55+l57eo56K8OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAn54Sh5rOV5Z+36KGM77yaJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ+eEoeazleWtmOWPluaqlOahiO+8mic7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICfmqpTmoYjpjK/oqqTvvJrnhKHms5XplovllZ/mqpTmoYjvvJonOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAn55m86YCB5Zyw5Z2A6Yyv6Kqk77yaJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ+acquefpeWHveaVuOWRvOWPq+OAgic7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICflm6Dngrrpm7vlrZDpg7Xku7blnLDlnYDnhKHmlYjvvIznhKHms5XlgrPpgIE6ICc7CiRQSFBNQUlMRVJfTEFOR1snbWFpbGVyX25vdF9zdXBwb3J0ZWQnXSA9ICfkuI3mlK/mj7TnmoTnmbzkv6HlrqLmiLbnq6/jgIInOwokUEhQTUFJTEVSX0xBTkdbJ3Byb3ZpZGVfYWRkcmVzcyddICAgICAgPSAn5b+F6aCI5o+Q5L6b6Iez5bCR5LiA5YCL5pS25Lu25Lq65Zyw5Z2A44CCJzsKJFBIUE1BSUxFUl9MQU5HWydyZWNpcGllbnRzX2ZhaWxlZCddICAgID0gJ1NNVFAg6Yyv6Kqk77ya5Lul5LiL5pS25Lu25Lq65Zyw5Z2A6Yyv6Kqk77yaJzsKJFBIUE1BSUxFUl9MQU5HWydzaWduaW5nJ10gICAgICAgICAgICAgID0gJ+mbu+WtkOewveeroOmMr+iqpDogJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Nvbm5lY3RfZmFpbGVkJ10gID0gJ1NNVFAg6YCj57ea5aSx5pWXJzsKJFBIUE1BSUxFUl9MQU5HWydzbXRwX2Vycm9yJ10gICAgICAgICAgID0gJ1NNVFAg5Ly65pyN5Zmo6Yyv6KqkOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAn54Sh5rOV6Kit5a6a5oiW6YeN6Kit6K6K5pW4OiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAn6YG65aSx5qih57WEIEV4dGVuc2lvbjogJzsK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/language/phpmailer.lang-zh_cn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFNpbXBsaWZpZWQgQ2hpbmVzZSBQSFBNYWlsZXIgbGFuZ3VhZ2UgZmlsZTogcmVmZXIgdG8gRW5nbGlzaCB0cmFuc2xhdGlvbiBmb3IgZGVmaW5pdGl2ZSBsaXN0CiAqIEBwYWNrYWdlIFBIUE1haWxlcgogKiBAYXV0aG9yIGxpcXdlaSA8bGlxd2VpQGxpcXdlaS5jb20+CiAqIEBhdXRob3IgeW91bmcgPG1hc3h5QGZveG1haWwuY29tPgogKi8KCiRQSFBNQUlMRVJfTEFOR1snYXV0aGVudGljYXRlJ10gICAgICAgICA9ICdTTVRQIOmUmeivr++8mueZu+W9leWksei0peOAgic7CiRQSFBNQUlMRVJfTEFOR1snY29ubmVjdF9ob3N0J10gICAgICAgICA9ICdTTVRQIOmUmeivr++8muaXoOazlei/nuaOpeWIsCBTTVRQIOS4u+acuuOAgic7CiRQSFBNQUlMRVJfTEFOR1snZGF0YV9ub3RfYWNjZXB0ZWQnXSAgICA9ICdTTVRQIOmUmeivr++8muaVsOaNruS4jeiiq+aOpeWPl+OAgic7CiRQSFBNQUlMRVJfTEFOR1snZW1wdHlfbWVzc2FnZSddICAgICAgICA9ICfpgq7ku7bmraPmlofkuLrnqbrjgIInOwokUEhQTUFJTEVSX0xBTkdbJ2VuY29kaW5nJ10gICAgICAgICAgICAgPSAn5pyq55+l57yW56CBOiAnOwokUEhQTUFJTEVSX0xBTkdbJ2V4ZWN1dGUnXSAgICAgICAgICAgICAgPSAn5peg5rOV5omn6KGM77yaJzsKJFBIUE1BSUxFUl9MQU5HWydmaWxlX2FjY2VzcyddICAgICAgICAgID0gJ+aXoOazleiuv+mXruaWh+S7tu+8mic7CiRQSFBNQUlMRVJfTEFOR1snZmlsZV9vcGVuJ10gICAgICAgICAgICA9ICfmlofku7bplJnor6/vvJrml6Dms5XmiZPlvIDmlofku7bvvJonOwokUEhQTUFJTEVSX0xBTkdbJ2Zyb21fZmFpbGVkJ10gICAgICAgICAgPSAn5Y+R6YCB5Zyw5Z2A6ZSZ6K+v77yaJzsKJFBIUE1BSUxFUl9MQU5HWydpbnN0YW50aWF0ZSddICAgICAgICAgID0gJ+acquefpeWHveaVsOiwg+eUqOOAgic7CiRQSFBNQUlMRVJfTEFOR1snaW52YWxpZF9hZGRyZXNzJ10gICAgICA9ICflj5HpgIHlpLHotKXvvIznlLXlrZDpgq7nrrHlnLDlnYDmmK/ml6DmlYjnmoTvvJonOwokUEhQTUFJTEVSX0xBTkdbJ21haWxlcl9ub3Rfc3VwcG9ydGVkJ10gPSAn5Y+R5L+h5a6i5oi356uv5LiN6KKr5pSv5oyB44CCJzsKJFBIUE1BSUxFUl9MQU5HWydwcm92aWRlX2FkZHJlc3MnXSAgICAgID0gJ+W/hemhu+aPkOS+m+iHs+WwkeS4gOS4quaUtuS7tuS6uuWcsOWdgOOAgic7CiRQSFBNQUlMRVJfTEFOR1sncmVjaXBpZW50c19mYWlsZWQnXSAgICA9ICdTTVRQIOmUmeivr++8muaUtuS7tuS6uuWcsOWdgOmUmeivr++8mic7CiRQSFBNQUlMRVJfTEFOR1snc2lnbmluZyddICAgICAgICAgICAgICA9ICfnmbvlvZXlpLHotKXvvJonOwokUEhQTUFJTEVSX0xBTkdbJ3NtdHBfY29ubmVjdF9mYWlsZWQnXSAgPSAnU01UUOacjeWKoeWZqOi/nuaOpeWksei0peOAgic7CiRQSFBNQUlMRVJfTEFOR1snc210cF9lcnJvciddICAgICAgICAgICA9ICdTTVRQ5pyN5Yqh5Zmo5Ye66ZSZOiAnOwokUEhQTUFJTEVSX0xBTkdbJ3ZhcmlhYmxlX3NldCddICAgICAgICAgPSAn5peg5rOV6K6+572u5oiW6YeN572u5Y+Y6YeP77yaJzsKLy8kUEhQTUFJTEVSX0xBTkdbJ2V4dGVuc2lvbl9taXNzaW5nJ10gICAgPSAnRXh0ZW5zaW9uIG1pc3Npbmc6ICc7Cg==]]></data>
	</file>
	<file>
	  <filename>/phpmailer/LICENSE</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CQkgIEdOVSBMRVNTRVIgR0VORVJBTCBQVUJMSUMgTElDRU5TRQoJCSAgICAgICBWZXJzaW9uIDIuMSwgRmVicnVhcnkgMTk5OQoKIENvcHlyaWdodCAoQykgMTk5MSwgMTk5OSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAgICA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgoKW1RoaXMgaXMgdGhlIGZpcnN0IHJlbGVhc2VkIHZlcnNpb24gb2YgdGhlIExlc3NlciBHUEwuICBJdCBhbHNvIGNvdW50cwogYXMgdGhlIHN1Y2Nlc3NvciBvZiB0aGUgR05VIExpYnJhcnkgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiwgaGVuY2UKIHRoZSB2ZXJzaW9uIG51bWJlciAyLjEuXQoKCQkJICAgIFByZWFtYmxlCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGl0LiAgQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKTGljZW5zZXMgYXJlIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZQpmcmVlIHNvZnR3YXJlLS10byBtYWtlIHN1cmUgdGhlIHNvZnR3YXJlIGlzIGZyZWUgZm9yIGFsbCBpdHMgdXNlcnMuCgogIFRoaXMgbGljZW5zZSwgdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBhcHBsaWVzIHRvIHNvbWUKc3BlY2lhbGx5IGRlc2lnbmF0ZWQgc29mdHdhcmUgcGFja2FnZXMtLXR5cGljYWxseSBsaWJyYXJpZXMtLW9mIHRoZQpGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gYW5kIG90aGVyIGF1dGhvcnMgd2hvIGRlY2lkZSB0byB1c2UgaXQuICBZb3UKY2FuIHVzZSBpdCB0b28sIGJ1dCB3ZSBzdWdnZXN0IHlvdSBmaXJzdCB0aGluayBjYXJlZnVsbHkgYWJvdXQgd2hldGhlcgp0aGlzIGxpY2Vuc2Ugb3IgdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgdGhlIGJldHRlcgpzdHJhdGVneSB0byB1c2UgaW4gYW55IHBhcnRpY3VsYXIgY2FzZSwgYmFzZWQgb24gdGhlIGV4cGxhbmF0aW9ucyBiZWxvdy4KCiAgV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20gb2YgdXNlLApub3QgcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0CnlvdSBoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UKZm9yIHRoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCk7IHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldAppdCBpZiB5b3Ugd2FudCBpdDsgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgYW5kIHVzZSBwaWVjZXMgb2YKaXQgaW4gbmV3IGZyZWUgcHJvZ3JhbXM7IGFuZCB0aGF0IHlvdSBhcmUgaW5mb3JtZWQgdGhhdCB5b3UgY2FuIGRvCnRoZXNlIHRoaW5ncy4KCiAgVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBtYWtlIHJlc3RyaWN0aW9ucyB0aGF0IGZvcmJpZApkaXN0cmlidXRvcnMgdG8gZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZXNlCnJpZ2h0cy4gIFRoZXNlIHJlc3RyaWN0aW9ucyB0cmFuc2xhdGUgdG8gY2VydGFpbiByZXNwb25zaWJpbGl0aWVzIGZvcgp5b3UgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBsaWJyYXJ5IG9yIGlmIHlvdSBtb2RpZnkgaXQuCgogIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIGxpYnJhcnksIHdoZXRoZXIgZ3JhdGlzCm9yIGZvciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0IHdlIGdhdmUKeW91LiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlIHNvdXJjZQpjb2RlLiAgSWYgeW91IGxpbmsgb3RoZXIgY29kZSB3aXRoIHRoZSBsaWJyYXJ5LCB5b3UgbXVzdCBwcm92aWRlCmNvbXBsZXRlIG9iamVjdCBmaWxlcyB0byB0aGUgcmVjaXBpZW50cywgc28gdGhhdCB0aGV5IGNhbiByZWxpbmsgdGhlbQp3aXRoIHRoZSBsaWJyYXJ5IGFmdGVyIG1ha2luZyBjaGFuZ2VzIHRvIHRoZSBsaWJyYXJ5IGFuZCByZWNvbXBpbGluZwppdC4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVybXMgc28gdGhleSBrbm93IHRoZWlyIHJpZ2h0cy4KCiAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIGEgdHdvLXN0ZXAgbWV0aG9kOiAoMSkgd2UgY29weXJpZ2h0IHRoZQpsaWJyYXJ5LCBhbmQgKDIpIHdlIG9mZmVyIHlvdSB0aGlzIGxpY2Vuc2UsIHdoaWNoIGdpdmVzIHlvdSBsZWdhbApwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGUgbGlicmFyeS4KCiAgVG8gcHJvdGVjdCBlYWNoIGRpc3RyaWJ1dG9yLCB3ZSB3YW50IHRvIG1ha2UgaXQgdmVyeSBjbGVhciB0aGF0CnRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGUgZnJlZSBsaWJyYXJ5LiAgQWxzbywgaWYgdGhlIGxpYnJhcnkgaXMKbW9kaWZpZWQgYnkgc29tZW9uZSBlbHNlIGFuZCBwYXNzZWQgb24sIHRoZSByZWNpcGllbnRzIHNob3VsZCBrbm93CnRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCB2ZXJzaW9uLCBzbyB0aGF0IHRoZSBvcmlnaW5hbAphdXRob3IncyByZXB1dGF0aW9uIHdpbGwgbm90IGJlIGFmZmVjdGVkIGJ5IHByb2JsZW1zIHRoYXQgbWlnaHQgYmUKaW50cm9kdWNlZCBieSBvdGhlcnMuCgogIEZpbmFsbHksIHNvZnR3YXJlIHBhdGVudHMgcG9zZSBhIGNvbnN0YW50IHRocmVhdCB0byB0aGUgZXhpc3RlbmNlIG9mCmFueSBmcmVlIHByb2dyYW0uICBXZSB3aXNoIHRvIG1ha2Ugc3VyZSB0aGF0IGEgY29tcGFueSBjYW5ub3QKZWZmZWN0aXZlbHkgcmVzdHJpY3QgdGhlIHVzZXJzIG9mIGEgZnJlZSBwcm9ncmFtIGJ5IG9idGFpbmluZyBhCnJlc3RyaWN0aXZlIGxpY2Vuc2UgZnJvbSBhIHBhdGVudCBob2xkZXIuICBUaGVyZWZvcmUsIHdlIGluc2lzdCB0aGF0CmFueSBwYXRlbnQgbGljZW5zZSBvYnRhaW5lZCBmb3IgYSB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5IG11c3QgYmUKY29uc2lzdGVudCB3aXRoIHRoZSBmdWxsIGZyZWVkb20gb2YgdXNlIHNwZWNpZmllZCBpbiB0aGlzIGxpY2Vuc2UuCgogIE1vc3QgR05VIHNvZnR3YXJlLCBpbmNsdWRpbmcgc29tZSBsaWJyYXJpZXMsIGlzIGNvdmVyZWQgYnkgdGhlCm9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhpcyBsaWNlbnNlLCB0aGUgR05VIExlc3NlcgpHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBhcHBsaWVzIHRvIGNlcnRhaW4gZGVzaWduYXRlZCBsaWJyYXJpZXMsIGFuZAppcyBxdWl0ZSBkaWZmZXJlbnQgZnJvbSB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFdlIHVzZQp0aGlzIGxpY2Vuc2UgZm9yIGNlcnRhaW4gbGlicmFyaWVzIGluIG9yZGVyIHRvIHBlcm1pdCBsaW5raW5nIHRob3NlCmxpYnJhcmllcyBpbnRvIG5vbi1mcmVlIHByb2dyYW1zLgoKICBXaGVuIGEgcHJvZ3JhbSBpcyBsaW5rZWQgd2l0aCBhIGxpYnJhcnksIHdoZXRoZXIgc3RhdGljYWxseSBvciB1c2luZwphIHNoYXJlZCBsaWJyYXJ5LCB0aGUgY29tYmluYXRpb24gb2YgdGhlIHR3byBpcyBsZWdhbGx5IHNwZWFraW5nIGEKY29tYmluZWQgd29yaywgYSBkZXJpdmF0aXZlIG9mIHRoZSBvcmlnaW5hbCBsaWJyYXJ5LiAgVGhlIG9yZGluYXJ5CkdlbmVyYWwgUHVibGljIExpY2Vuc2UgdGhlcmVmb3JlIHBlcm1pdHMgc3VjaCBsaW5raW5nIG9ubHkgaWYgdGhlCmVudGlyZSBjb21iaW5hdGlvbiBmaXRzIGl0cyBjcml0ZXJpYSBvZiBmcmVlZG9tLiAgVGhlIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIHBlcm1pdHMgbW9yZSBsYXggY3JpdGVyaWEgZm9yIGxpbmtpbmcgb3RoZXIgY29kZSB3aXRoCnRoZSBsaWJyYXJ5LgoKICBXZSBjYWxsIHRoaXMgbGljZW5zZSB0aGUgIkxlc3NlciIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBiZWNhdXNlIGl0CmRvZXMgTGVzcyB0byBwcm90ZWN0IHRoZSB1c2VyJ3MgZnJlZWRvbSB0aGFuIHRoZSBvcmRpbmFyeSBHZW5lcmFsClB1YmxpYyBMaWNlbnNlLiAgSXQgYWxzbyBwcm92aWRlcyBvdGhlciBmcmVlIHNvZnR3YXJlIGRldmVsb3BlcnMgTGVzcwpvZiBhbiBhZHZhbnRhZ2Ugb3ZlciBjb21wZXRpbmcgbm9uLWZyZWUgcHJvZ3JhbXMuICBUaGVzZSBkaXNhZHZhbnRhZ2VzCmFyZSB0aGUgcmVhc29uIHdlIHVzZSB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbWFueQpsaWJyYXJpZXMuICBIb3dldmVyLCB0aGUgTGVzc2VyIGxpY2Vuc2UgcHJvdmlkZXMgYWR2YW50YWdlcyBpbiBjZXJ0YWluCnNwZWNpYWwgY2lyY3Vtc3RhbmNlcy4KCiAgRm9yIGV4YW1wbGUsIG9uIHJhcmUgb2NjYXNpb25zLCB0aGVyZSBtYXkgYmUgYSBzcGVjaWFsIG5lZWQgdG8KZW5jb3VyYWdlIHRoZSB3aWRlc3QgcG9zc2libGUgdXNlIG9mIGEgY2VydGFpbiBsaWJyYXJ5LCBzbyB0aGF0IGl0IGJlY29tZXMKYSBkZS1mYWN0byBzdGFuZGFyZC4gIFRvIGFjaGlldmUgdGhpcywgbm9uLWZyZWUgcHJvZ3JhbXMgbXVzdCBiZQphbGxvd2VkIHRvIHVzZSB0aGUgbGlicmFyeS4gIEEgbW9yZSBmcmVxdWVudCBjYXNlIGlzIHRoYXQgYSBmcmVlCmxpYnJhcnkgZG9lcyB0aGUgc2FtZSBqb2IgYXMgd2lkZWx5IHVzZWQgbm9uLWZyZWUgbGlicmFyaWVzLiAgSW4gdGhpcwpjYXNlLCB0aGVyZSBpcyBsaXR0bGUgdG8gZ2FpbiBieSBsaW1pdGluZyB0aGUgZnJlZSBsaWJyYXJ5IHRvIGZyZWUKc29mdHdhcmUgb25seSwgc28gd2UgdXNlIHRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgSW4gb3RoZXIgY2FzZXMsIHBlcm1pc3Npb24gdG8gdXNlIGEgcGFydGljdWxhciBsaWJyYXJ5IGluIG5vbi1mcmVlCnByb2dyYW1zIGVuYWJsZXMgYSBncmVhdGVyIG51bWJlciBvZiBwZW9wbGUgdG8gdXNlIGEgbGFyZ2UgYm9keSBvZgpmcmVlIHNvZnR3YXJlLiAgRm9yIGV4YW1wbGUsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBHTlUgQyBMaWJyYXJ5IGluCm5vbi1mcmVlIHByb2dyYW1zIGVuYWJsZXMgbWFueSBtb3JlIHBlb3BsZSB0byB1c2UgdGhlIHdob2xlIEdOVQpvcGVyYXRpbmcgc3lzdGVtLCBhcyB3ZWxsIGFzIGl0cyB2YXJpYW50LCB0aGUgR05VL0xpbnV4IG9wZXJhdGluZwpzeXN0ZW0uCgogIEFsdGhvdWdoIHRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBMZXNzIHByb3RlY3RpdmUgb2YgdGhlCnVzZXJzJyBmcmVlZG9tLCBpdCBkb2VzIGVuc3VyZSB0aGF0IHRoZSB1c2VyIG9mIGEgcHJvZ3JhbSB0aGF0IGlzCmxpbmtlZCB3aXRoIHRoZSBMaWJyYXJ5IGhhcyB0aGUgZnJlZWRvbSBhbmQgdGhlIHdoZXJld2l0aGFsIHRvIHJ1bgp0aGF0IHByb2dyYW0gdXNpbmcgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBMaWJyYXJ5LgoKICBUaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZAptb2RpZmljYXRpb24gZm9sbG93LiAgUGF5IGNsb3NlIGF0dGVudGlvbiB0byB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEKIndvcmsgYmFzZWQgb24gdGhlIGxpYnJhcnkiIGFuZCBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgbGlicmFyeSIuICBUaGUKZm9ybWVyIGNvbnRhaW5zIGNvZGUgZGVyaXZlZCBmcm9tIHRoZSBsaWJyYXJ5LCB3aGVyZWFzIHRoZSBsYXR0ZXIgbXVzdApiZSBjb21iaW5lZCB3aXRoIHRoZSBsaWJyYXJ5IGluIG9yZGVyIHRvIHJ1bi4KCgkJICBHTlUgTEVTU0VSIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIENPUFlJTkcsIERJU1RSSUJVVElPTiBBTkQgTU9ESUZJQ0FUSU9OCgogIDAuIFRoaXMgTGljZW5zZSBBZ3JlZW1lbnQgYXBwbGllcyB0byBhbnkgc29mdHdhcmUgbGlicmFyeSBvciBvdGhlcgpwcm9ncmFtIHdoaWNoIGNvbnRhaW5zIGEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBvcgpvdGhlciBhdXRob3JpemVkIHBhcnR5IHNheWluZyBpdCBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mCnRoaXMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKGFsc28gY2FsbGVkICJ0aGlzIExpY2Vuc2UiKS4KRWFjaCBsaWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuCgogIEEgImxpYnJhcnkiIG1lYW5zIGEgY29sbGVjdGlvbiBvZiBzb2Z0d2FyZSBmdW5jdGlvbnMgYW5kL29yIGRhdGEKcHJlcGFyZWQgc28gYXMgdG8gYmUgY29udmVuaWVudGx5IGxpbmtlZCB3aXRoIGFwcGxpY2F0aW9uIHByb2dyYW1zCih3aGljaCB1c2Ugc29tZSBvZiB0aG9zZSBmdW5jdGlvbnMgYW5kIGRhdGEpIHRvIGZvcm0gZXhlY3V0YWJsZXMuCgogIFRoZSAiTGlicmFyeSIsIGJlbG93LCByZWZlcnMgdG8gYW55IHN1Y2ggc29mdHdhcmUgbGlicmFyeSBvciB3b3JrCndoaWNoIGhhcyBiZWVuIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZXNlIHRlcm1zLiAgQSAid29yayBiYXNlZCBvbiB0aGUKTGlicmFyeSIgbWVhbnMgZWl0aGVyIHRoZSBMaWJyYXJ5IG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIKY29weXJpZ2h0IGxhdzogdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBMaWJyYXJ5IG9yIGEKcG9ydGlvbiBvZiBpdCwgZWl0aGVyIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZApzdHJhaWdodGZvcndhcmRseSBpbnRvIGFub3RoZXIgbGFuZ3VhZ2UuICAoSGVyZWluYWZ0ZXIsIHRyYW5zbGF0aW9uIGlzCmluY2x1ZGVkIHdpdGhvdXQgbGltaXRhdGlvbiBpbiB0aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pCgogICJTb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCm1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGEgbGlicmFyeSwgY29tcGxldGUgc291cmNlIGNvZGUgbWVhbnMKYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55IGFzc29jaWF0ZWQKaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlwdHMgdXNlZCB0byBjb250cm9sIGNvbXBpbGF0aW9uCmFuZCBpbnN0YWxsYXRpb24gb2YgdGhlIGxpYnJhcnkuCgogIEFjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90CmNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKcnVubmluZyBhIHByb2dyYW0gdXNpbmcgdGhlIExpYnJhcnkgaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCBvdXRwdXQgZnJvbQpzdWNoIGEgcHJvZ3JhbSBpcyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRzIGNvbnN0aXR1dGUgYSB3b3JrIGJhc2VkCm9uIHRoZSBMaWJyYXJ5IChpbmRlcGVuZGVudCBvZiB0aGUgdXNlIG9mIHRoZSBMaWJyYXJ5IGluIGEgdG9vbCBmb3IKd3JpdGluZyBpdCkuICBXaGV0aGVyIHRoYXQgaXMgdHJ1ZSBkZXBlbmRzIG9uIHdoYXQgdGhlIExpYnJhcnkgZG9lcwphbmQgd2hhdCB0aGUgcHJvZ3JhbSB0aGF0IHVzZXMgdGhlIExpYnJhcnkgZG9lcy4KICAKICAxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBMaWJyYXJ5J3MKY29tcGxldGUgc291cmNlIGNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQKeW91IGNvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4KYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QKYWxsIHRoZSBub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkKd2FycmFudHk7IGFuZCBkaXN0cmlidXRlIGEgY29weSBvZiB0aGlzIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUKTGlicmFyeS4KCiAgWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwKYW5kIHlvdSBtYXkgYXQgeW91ciBvcHRpb24gb2ZmZXIgd2FycmFudHkgcHJvdGVjdGlvbiBpbiBleGNoYW5nZSBmb3IgYQpmZWUuCgogIDIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBjb3BpZXMgb2YgdGhlIExpYnJhcnkgb3IgYW55IHBvcnRpb24Kb2YgaXQsIHRodXMgZm9ybWluZyBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnksIGFuZCBjb3B5IGFuZApkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEKYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoKCiAgICBhKSBUaGUgbW9kaWZpZWQgd29yayBtdXN0IGl0c2VsZiBiZSBhIHNvZnR3YXJlIGxpYnJhcnkuCgogICAgYikgWW91IG11c3QgY2F1c2UgdGhlIGZpbGVzIG1vZGlmaWVkIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCiAgICBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgoKICAgIGMpIFlvdSBtdXN0IGNhdXNlIHRoZSB3aG9sZSBvZiB0aGUgd29yayB0byBiZSBsaWNlbnNlZCBhdCBubwogICAgY2hhcmdlIHRvIGFsbCB0aGlyZCBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCgogICAgZCkgSWYgYSBmYWNpbGl0eSBpbiB0aGUgbW9kaWZpZWQgTGlicmFyeSByZWZlcnMgdG8gYSBmdW5jdGlvbiBvciBhCiAgICB0YWJsZSBvZiBkYXRhIHRvIGJlIHN1cHBsaWVkIGJ5IGFuIGFwcGxpY2F0aW9uIHByb2dyYW0gdGhhdCB1c2VzCiAgICB0aGUgZmFjaWxpdHksIG90aGVyIHRoYW4gYXMgYW4gYXJndW1lbnQgcGFzc2VkIHdoZW4gdGhlIGZhY2lsaXR5CiAgICBpcyBpbnZva2VkLCB0aGVuIHlvdSBtdXN0IG1ha2UgYSBnb29kIGZhaXRoIGVmZm9ydCB0byBlbnN1cmUgdGhhdCwKICAgIGluIHRoZSBldmVudCBhbiBhcHBsaWNhdGlvbiBkb2VzIG5vdCBzdXBwbHkgc3VjaCBmdW5jdGlvbiBvcgogICAgdGFibGUsIHRoZSBmYWNpbGl0eSBzdGlsbCBvcGVyYXRlcywgYW5kIHBlcmZvcm1zIHdoYXRldmVyIHBhcnQgb2YKICAgIGl0cyBwdXJwb3NlIHJlbWFpbnMgbWVhbmluZ2Z1bC4KCiAgICAoRm9yIGV4YW1wbGUsIGEgZnVuY3Rpb24gaW4gYSBsaWJyYXJ5IHRvIGNvbXB1dGUgc3F1YXJlIHJvb3RzIGhhcwogICAgYSBwdXJwb3NlIHRoYXQgaXMgZW50aXJlbHkgd2VsbC1kZWZpbmVkIGluZGVwZW5kZW50IG9mIHRoZQogICAgYXBwbGljYXRpb24uICBUaGVyZWZvcmUsIFN1YnNlY3Rpb24gMmQgcmVxdWlyZXMgdGhhdCBhbnkKICAgIGFwcGxpY2F0aW9uLXN1cHBsaWVkIGZ1bmN0aW9uIG9yIHRhYmxlIHVzZWQgYnkgdGhpcyBmdW5jdGlvbiBtdXN0CiAgICBiZSBvcHRpb25hbDogaWYgdGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHN1cHBseSBpdCwgdGhlIHNxdWFyZQogICAgcm9vdCBmdW5jdGlvbiBtdXN0IHN0aWxsIGNvbXB1dGUgc3F1YXJlIHJvb3RzLikKClRoZXNlIHJlcXVpcmVtZW50cyBhcHBseSB0byB0aGUgbW9kaWZpZWQgd29yayBhcyBhIHdob2xlLiAgSWYKaWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgTGlicmFyeSwKYW5kIGNhbiBiZSByZWFzb25hYmx5IGNvbnNpZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluCnRoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2UKc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CmRpc3RyaWJ1dGUgdGhlIHNhbWUgc2VjdGlvbnMgYXMgcGFydCBvZiBhIHdob2xlIHdoaWNoIGlzIGEgd29yayBiYXNlZApvbiB0aGUgTGlicmFyeSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVzdCBiZSBvbiB0aGUgdGVybXMgb2YKdGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9ucyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKZW50aXJlIHdob2xlLCBhbmQgdGh1cyB0byBlYWNoIGFuZCBldmVyeSBwYXJ0IHJlZ2FyZGxlc3Mgb2Ygd2hvIHdyb3RlCml0LgoKVGh1cywgaXQgaXMgbm90IHRoZSBpbnRlbnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJpZ2h0cyBvciBjb250ZXN0CnlvdXIgcmlnaHRzIHRvIHdvcmsgd3JpdHRlbiBlbnRpcmVseSBieSB5b3U7IHJhdGhlciwgdGhlIGludGVudCBpcyB0bwpleGVyY2lzZSB0aGUgcmlnaHQgdG8gY29udHJvbCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IKY29sbGVjdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGUgTGlicmFyeS4KCkluIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIExpYnJhcnkKd2l0aCB0aGUgTGlicmFyeSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnkpIG9uIGEgdm9sdW1lIG9mCmEgc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtIGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVyCnRoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCgogIDMuIFlvdSBtYXkgb3B0IHRvIGFwcGx5IHRoZSB0ZXJtcyBvZiB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljCkxpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UgdG8gYSBnaXZlbiBjb3B5IG9mIHRoZSBMaWJyYXJ5LiAgVG8gZG8KdGhpcywgeW91IG11c3QgYWx0ZXIgYWxsIHRoZSBub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlLCBzbwp0aGF0IHRoZXkgcmVmZXIgdG8gdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIsCmluc3RlYWQgb2YgdG8gdGhpcyBMaWNlbnNlLiAgKElmIGEgbmV3ZXIgdmVyc2lvbiB0aGFuIHZlcnNpb24gMiBvZiB0aGUKb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaGFzIGFwcGVhcmVkLCB0aGVuIHlvdSBjYW4gc3BlY2lmeQp0aGF0IHZlcnNpb24gaW5zdGVhZCBpZiB5b3Ugd2lzaC4pICBEbyBub3QgbWFrZSBhbnkgb3RoZXIgY2hhbmdlIGluCnRoZXNlIG5vdGljZXMuCgogIE9uY2UgdGhpcyBjaGFuZ2UgaXMgbWFkZSBpbiBhIGdpdmVuIGNvcHksIGl0IGlzIGlycmV2ZXJzaWJsZSBmb3IKdGhhdCBjb3B5LCBzbyB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBhbGwKc3Vic2VxdWVudCBjb3BpZXMgYW5kIGRlcml2YXRpdmUgd29ya3MgbWFkZSBmcm9tIHRoYXQgY29weS4KCiAgVGhpcyBvcHRpb24gaXMgdXNlZnVsIHdoZW4geW91IHdpc2ggdG8gY29weSBwYXJ0IG9mIHRoZSBjb2RlIG9mCnRoZSBMaWJyYXJ5IGludG8gYSBwcm9ncmFtIHRoYXQgaXMgbm90IGEgbGlicmFyeS4KCiAgNC4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IChvciBhIHBvcnRpb24gb3IKZGVyaXZhdGl2ZSBvZiBpdCwgdW5kZXIgU2VjdGlvbiAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0KdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgcHJvdmlkZWQgdGhhdCB5b3UgYWNjb21wYW55Cml0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZSBzb3VyY2UgY29kZSwgd2hpY2gKbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhCm1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZS4KCiAgSWYgZGlzdHJpYnV0aW9uIG9mIG9iamVjdCBjb2RlIGlzIG1hZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIHRvIGNvcHkKZnJvbSBhIGRlc2lnbmF0ZWQgcGxhY2UsIHRoZW4gb2ZmZXJpbmcgZXF1aXZhbGVudCBhY2Nlc3MgdG8gY29weSB0aGUKc291cmNlIGNvZGUgZnJvbSB0aGUgc2FtZSBwbGFjZSBzYXRpc2ZpZXMgdGhlIHJlcXVpcmVtZW50IHRvCmRpc3RyaWJ1dGUgdGhlIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBub3QKY29tcGVsbGVkIHRvIGNvcHkgdGhlIHNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4KCiAgNS4gQSBwcm9ncmFtIHRoYXQgY29udGFpbnMgbm8gZGVyaXZhdGl2ZSBvZiBhbnkgcG9ydGlvbiBvZiB0aGUKTGlicmFyeSwgYnV0IGlzIGRlc2lnbmVkIHRvIHdvcmsgd2l0aCB0aGUgTGlicmFyeSBieSBiZWluZyBjb21waWxlZCBvcgpsaW5rZWQgd2l0aCBpdCwgaXMgY2FsbGVkIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5Ii4gIFN1Y2ggYQp3b3JrLCBpbiBpc29sYXRpb24sIGlzIG5vdCBhIGRlcml2YXRpdmUgd29yayBvZiB0aGUgTGlicmFyeSwgYW5kCnRoZXJlZm9yZSBmYWxscyBvdXRzaWRlIHRoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCgogIEhvd2V2ZXIsIGxpbmtpbmcgYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiIHdpdGggdGhlIExpYnJhcnkKY3JlYXRlcyBhbiBleGVjdXRhYmxlIHRoYXQgaXMgYSBkZXJpdmF0aXZlIG9mIHRoZSBMaWJyYXJ5IChiZWNhdXNlIGl0CmNvbnRhaW5zIHBvcnRpb25zIG9mIHRoZSBMaWJyYXJ5KSwgcmF0aGVyIHRoYW4gYSAid29yayB0aGF0IHVzZXMgdGhlCmxpYnJhcnkiLiAgVGhlIGV4ZWN1dGFibGUgaXMgdGhlcmVmb3JlIGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlLgpTZWN0aW9uIDYgc3RhdGVzIHRlcm1zIGZvciBkaXN0cmlidXRpb24gb2Ygc3VjaCBleGVjdXRhYmxlcy4KCiAgV2hlbiBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIgdXNlcyBtYXRlcmlhbCBmcm9tIGEgaGVhZGVyIGZpbGUKdGhhdCBpcyBwYXJ0IG9mIHRoZSBMaWJyYXJ5LCB0aGUgb2JqZWN0IGNvZGUgZm9yIHRoZSB3b3JrIG1heSBiZSBhCmRlcml2YXRpdmUgd29yayBvZiB0aGUgTGlicmFyeSBldmVuIHRob3VnaCB0aGUgc291cmNlIGNvZGUgaXMgbm90LgpXaGV0aGVyIHRoaXMgaXMgdHJ1ZSBpcyBlc3BlY2lhbGx5IHNpZ25pZmljYW50IGlmIHRoZSB3b3JrIGNhbiBiZQpsaW5rZWQgd2l0aG91dCB0aGUgTGlicmFyeSwgb3IgaWYgdGhlIHdvcmsgaXMgaXRzZWxmIGEgbGlicmFyeS4gIFRoZQp0aHJlc2hvbGQgZm9yIHRoaXMgdG8gYmUgdHJ1ZSBpcyBub3QgcHJlY2lzZWx5IGRlZmluZWQgYnkgbGF3LgoKICBJZiBzdWNoIGFuIG9iamVjdCBmaWxlIHVzZXMgb25seSBudW1lcmljYWwgcGFyYW1ldGVycywgZGF0YQpzdHJ1Y3R1cmUgbGF5b3V0cyBhbmQgYWNjZXNzb3JzLCBhbmQgc21hbGwgbWFjcm9zIGFuZCBzbWFsbCBpbmxpbmUKZnVuY3Rpb25zICh0ZW4gbGluZXMgb3IgbGVzcyBpbiBsZW5ndGgpLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG9iamVjdApmaWxlIGlzIHVucmVzdHJpY3RlZCwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGxlZ2FsbHkgYSBkZXJpdmF0aXZlCndvcmsuICAoRXhlY3V0YWJsZXMgY29udGFpbmluZyB0aGlzIG9iamVjdCBjb2RlIHBsdXMgcG9ydGlvbnMgb2YgdGhlCkxpYnJhcnkgd2lsbCBzdGlsbCBmYWxsIHVuZGVyIFNlY3Rpb24gNi4pCgogIE90aGVyd2lzZSwgaWYgdGhlIHdvcmsgaXMgYSBkZXJpdmF0aXZlIG9mIHRoZSBMaWJyYXJ5LCB5b3UgbWF5CmRpc3RyaWJ1dGUgdGhlIG9iamVjdCBjb2RlIGZvciB0aGUgd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiA2LgpBbnkgZXhlY3V0YWJsZXMgY29udGFpbmluZyB0aGF0IHdvcmsgYWxzbyBmYWxsIHVuZGVyIFNlY3Rpb24gNiwKd2hldGhlciBvciBub3QgdGhleSBhcmUgbGlua2VkIGRpcmVjdGx5IHdpdGggdGhlIExpYnJhcnkgaXRzZWxmLgoKICA2LiBBcyBhbiBleGNlcHRpb24gdG8gdGhlIFNlY3Rpb25zIGFib3ZlLCB5b3UgbWF5IGFsc28gY29tYmluZSBvcgpsaW5rIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB3aXRoIHRoZSBMaWJyYXJ5IHRvIHByb2R1Y2UgYQp3b3JrIGNvbnRhaW5pbmcgcG9ydGlvbnMgb2YgdGhlIExpYnJhcnksIGFuZCBkaXN0cmlidXRlIHRoYXQgd29yawp1bmRlciB0ZXJtcyBvZiB5b3VyIGNob2ljZSwgcHJvdmlkZWQgdGhhdCB0aGUgdGVybXMgcGVybWl0Cm1vZGlmaWNhdGlvbiBvZiB0aGUgd29yayBmb3IgdGhlIGN1c3RvbWVyJ3Mgb3duIHVzZSBhbmQgcmV2ZXJzZQplbmdpbmVlcmluZyBmb3IgZGVidWdnaW5nIHN1Y2ggbW9kaWZpY2F0aW9ucy4KCiAgWW91IG11c3QgZ2l2ZSBwcm9taW5lbnQgbm90aWNlIHdpdGggZWFjaCBjb3B5IG9mIHRoZSB3b3JrIHRoYXQgdGhlCkxpYnJhcnkgaXMgdXNlZCBpbiBpdCBhbmQgdGhhdCB0aGUgTGlicmFyeSBhbmQgaXRzIHVzZSBhcmUgY292ZXJlZCBieQp0aGlzIExpY2Vuc2UuICBZb3UgbXVzdCBzdXBwbHkgYSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gIElmIHRoZSB3b3JrCmR1cmluZyBleGVjdXRpb24gZGlzcGxheXMgY29weXJpZ2h0IG5vdGljZXMsIHlvdSBtdXN0IGluY2x1ZGUgdGhlCmNvcHlyaWdodCBub3RpY2UgZm9yIHRoZSBMaWJyYXJ5IGFtb25nIHRoZW0sIGFzIHdlbGwgYXMgYSByZWZlcmVuY2UKZGlyZWN0aW5nIHRoZSB1c2VyIHRvIHRoZSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gIEFsc28sIHlvdSBtdXN0IGRvIG9uZQpvZiB0aGVzZSB0aGluZ3M6CgogICAgYSkgQWNjb21wYW55IHRoZSB3b3JrIHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcKICAgIG1hY2hpbmUtcmVhZGFibGUgc291cmNlIGNvZGUgZm9yIHRoZSBMaWJyYXJ5IGluY2x1ZGluZyB3aGF0ZXZlcgogICAgY2hhbmdlcyB3ZXJlIHVzZWQgaW4gdGhlIHdvcmsgKHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIKICAgIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUpOyBhbmQsIGlmIHRoZSB3b3JrIGlzIGFuIGV4ZWN1dGFibGUgbGlua2VkCiAgICB3aXRoIHRoZSBMaWJyYXJ5LCB3aXRoIHRoZSBjb21wbGV0ZSBtYWNoaW5lLXJlYWRhYmxlICJ3b3JrIHRoYXQKICAgIHVzZXMgdGhlIExpYnJhcnkiLCBhcyBvYmplY3QgY29kZSBhbmQvb3Igc291cmNlIGNvZGUsIHNvIHRoYXQgdGhlCiAgICB1c2VyIGNhbiBtb2RpZnkgdGhlIExpYnJhcnkgYW5kIHRoZW4gcmVsaW5rIHRvIHByb2R1Y2UgYSBtb2RpZmllZAogICAgZXhlY3V0YWJsZSBjb250YWluaW5nIHRoZSBtb2RpZmllZCBMaWJyYXJ5LiAgKEl0IGlzIHVuZGVyc3Rvb2QKICAgIHRoYXQgdGhlIHVzZXIgd2hvIGNoYW5nZXMgdGhlIGNvbnRlbnRzIG9mIGRlZmluaXRpb25zIGZpbGVzIGluIHRoZQogICAgTGlicmFyeSB3aWxsIG5vdCBuZWNlc3NhcmlseSBiZSBhYmxlIHRvIHJlY29tcGlsZSB0aGUgYXBwbGljYXRpb24KICAgIHRvIHVzZSB0aGUgbW9kaWZpZWQgZGVmaW5pdGlvbnMuKQoKICAgIGIpIFVzZSBhIHN1aXRhYmxlIHNoYXJlZCBsaWJyYXJ5IG1lY2hhbmlzbSBmb3IgbGlua2luZyB3aXRoIHRoZQogICAgTGlicmFyeS4gIEEgc3VpdGFibGUgbWVjaGFuaXNtIGlzIG9uZSB0aGF0ICgxKSB1c2VzIGF0IHJ1biB0aW1lIGEKICAgIGNvcHkgb2YgdGhlIGxpYnJhcnkgYWxyZWFkeSBwcmVzZW50IG9uIHRoZSB1c2VyJ3MgY29tcHV0ZXIgc3lzdGVtLAogICAgcmF0aGVyIHRoYW4gY29weWluZyBsaWJyYXJ5IGZ1bmN0aW9ucyBpbnRvIHRoZSBleGVjdXRhYmxlLCBhbmQgKDIpCiAgICB3aWxsIG9wZXJhdGUgcHJvcGVybHkgd2l0aCBhIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIGlmCiAgICB0aGUgdXNlciBpbnN0YWxscyBvbmUsIGFzIGxvbmcgYXMgdGhlIG1vZGlmaWVkIHZlcnNpb24gaXMKICAgIGludGVyZmFjZS1jb21wYXRpYmxlIHdpdGggdGhlIHZlcnNpb24gdGhhdCB0aGUgd29yayB3YXMgbWFkZSB3aXRoLgoKICAgIGMpIEFjY29tcGFueSB0aGUgd29yayB3aXRoIGEgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0CiAgICBsZWFzdCB0aHJlZSB5ZWFycywgdG8gZ2l2ZSB0aGUgc2FtZSB1c2VyIHRoZSBtYXRlcmlhbHMKICAgIHNwZWNpZmllZCBpbiBTdWJzZWN0aW9uIDZhLCBhYm92ZSwgZm9yIGEgY2hhcmdlIG5vIG1vcmUKICAgIHRoYW4gdGhlIGNvc3Qgb2YgcGVyZm9ybWluZyB0aGlzIGRpc3RyaWJ1dGlvbi4KCiAgICBkKSBJZiBkaXN0cmlidXRpb24gb2YgdGhlIHdvcmsgaXMgbWFkZSBieSBvZmZlcmluZyBhY2Nlc3MgdG8gY29weQogICAgZnJvbSBhIGRlc2lnbmF0ZWQgcGxhY2UsIG9mZmVyIGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhlIGFib3ZlCiAgICBzcGVjaWZpZWQgbWF0ZXJpYWxzIGZyb20gdGhlIHNhbWUgcGxhY2UuCgogICAgZSkgVmVyaWZ5IHRoYXQgdGhlIHVzZXIgaGFzIGFscmVhZHkgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZXNlCiAgICBtYXRlcmlhbHMgb3IgdGhhdCB5b3UgaGF2ZSBhbHJlYWR5IHNlbnQgdGhpcyB1c2VyIGEgY29weS4KCiAgRm9yIGFuIGV4ZWN1dGFibGUsIHRoZSByZXF1aXJlZCBmb3JtIG9mIHRoZSAid29yayB0aGF0IHVzZXMgdGhlCkxpYnJhcnkiIG11c3QgaW5jbHVkZSBhbnkgZGF0YSBhbmQgdXRpbGl0eSBwcm9ncmFtcyBuZWVkZWQgZm9yCnJlcHJvZHVjaW5nIHRoZSBleGVjdXRhYmxlIGZyb20gaXQuICBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uLAp0aGUgbWF0ZXJpYWxzIHRvIGJlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUgYW55dGhpbmcgdGhhdCBpcwpub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyIHNvdXJjZSBvciBiaW5hcnkgZm9ybSkgd2l0aCB0aGUgbWFqb3IKY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBvbgp3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQgaXRzZWxmIGFjY29tcGFuaWVzCnRoZSBleGVjdXRhYmxlLgoKICBJdCBtYXkgaGFwcGVuIHRoYXQgdGhpcyByZXF1aXJlbWVudCBjb250cmFkaWN0cyB0aGUgbGljZW5zZQpyZXN0cmljdGlvbnMgb2Ygb3RoZXIgcHJvcHJpZXRhcnkgbGlicmFyaWVzIHRoYXQgZG8gbm90IG5vcm1hbGx5CmFjY29tcGFueSB0aGUgb3BlcmF0aW5nIHN5c3RlbS4gIFN1Y2ggYSBjb250cmFkaWN0aW9uIG1lYW5zIHlvdSBjYW5ub3QKdXNlIGJvdGggdGhlbSBhbmQgdGhlIExpYnJhcnkgdG9nZXRoZXIgaW4gYW4gZXhlY3V0YWJsZSB0aGF0IHlvdQpkaXN0cmlidXRlLgoKICA3LiBZb3UgbWF5IHBsYWNlIGxpYnJhcnkgZmFjaWxpdGllcyB0aGF0IGFyZSBhIHdvcmsgYmFzZWQgb24gdGhlCkxpYnJhcnkgc2lkZS1ieS1zaWRlIGluIGEgc2luZ2xlIGxpYnJhcnkgdG9nZXRoZXIgd2l0aCBvdGhlciBsaWJyYXJ5CmZhY2lsaXRpZXMgbm90IGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlLCBhbmQgZGlzdHJpYnV0ZSBzdWNoIGEgY29tYmluZWQKbGlicmFyeSwgcHJvdmlkZWQgdGhhdCB0aGUgc2VwYXJhdGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3b3JrIGJhc2VkIG9uCnRoZSBMaWJyYXJ5IGFuZCBvZiB0aGUgb3RoZXIgbGlicmFyeSBmYWNpbGl0aWVzIGlzIG90aGVyd2lzZQpwZXJtaXR0ZWQsIGFuZCBwcm92aWRlZCB0aGF0IHlvdSBkbyB0aGVzZSB0d28gdGhpbmdzOgoKICAgIGEpIEFjY29tcGFueSB0aGUgY29tYmluZWQgbGlicmFyeSB3aXRoIGEgY29weSBvZiB0aGUgc2FtZSB3b3JrCiAgICBiYXNlZCBvbiB0aGUgTGlicmFyeSwgdW5jb21iaW5lZCB3aXRoIGFueSBvdGhlciBsaWJyYXJ5CiAgICBmYWNpbGl0aWVzLiAgVGhpcyBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKICAgIFNlY3Rpb25zIGFib3ZlLgoKICAgIGIpIEdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIHRoZSBjb21iaW5lZCBsaWJyYXJ5IG9mIHRoZSBmYWN0CiAgICB0aGF0IHBhcnQgb2YgaXQgaXMgYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5LCBhbmQgZXhwbGFpbmluZwogICAgd2hlcmUgdG8gZmluZCB0aGUgYWNjb21wYW55aW5nIHVuY29tYmluZWQgZm9ybSBvZiB0aGUgc2FtZSB3b3JrLgoKICA4LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIGxpbmsgd2l0aCwgb3IgZGlzdHJpYnV0ZQp0aGUgTGlicmFyeSBleGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueQphdHRlbXB0IG90aGVyd2lzZSB0byBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIGxpbmsgd2l0aCwgb3IKZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBpcyB2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyCnJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuICBIb3dldmVyLCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywKb3IgcmlnaHRzLCBmcm9tIHlvdSB1bmRlciB0aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcwp0ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaCBwYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCgogIDkuIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UsIHNpbmNlIHlvdSBoYXZlIG5vdApzaWduZWQgaXQuICBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvcgpkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtzLiAgVGhlc2UgYWN0aW9ucyBhcmUKcHJvaGliaXRlZCBieSBsYXcgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBieQptb2RpZnlpbmcgb3IgZGlzdHJpYnV0aW5nIHRoZSBMaWJyYXJ5IChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKTGlicmFyeSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLCBhbmQKYWxsIGl0cyB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIG1vZGlmeWluZwp0aGUgTGlicmFyeSBvciB3b3JrcyBiYXNlZCBvbiBpdC4KCiAgMTAuIEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKTGlicmFyeSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlzdHJpYnV0ZSwgbGluayB3aXRoIG9yIG1vZGlmeSB0aGUgTGlicmFyeQpzdWJqZWN0IHRvIHRoZXNlIHRlcm1zIGFuZCBjb25kaXRpb25zLiAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyCnJlc3RyaWN0aW9ucyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cyBncmFudGVkIGhlcmVpbi4KWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgd2l0aAp0aGlzIExpY2Vuc2UuCgogIDExLiBJZiwgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIGNvdXJ0IGp1ZGdtZW50IG9yIGFsbGVnYXRpb24gb2YgcGF0ZW50CmluZnJpbmdlbWVudCBvciBmb3IgYW55IG90aGVyIHJlYXNvbiAobm90IGxpbWl0ZWQgdG8gcGF0ZW50IGlzc3VlcyksCmNvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3IKb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdApleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNhbm5vdApkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCkxpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UKbWF5IG5vdCBkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiBhIHBhdGVudApsaWNlbnNlIHdvdWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVlIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBMaWJyYXJ5IGJ5CmFsbCB0aG9zZSB3aG8gcmVjZWl2ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbgp0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxkIGJlIHRvCnJlZnJhaW4gZW50aXJlbHkgZnJvbSBkaXN0cmlidXRpb24gb2YgdGhlIExpYnJhcnkuCgpJZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIgYW55CnBhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlLCB0aGUgYmFsYW5jZSBvZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRlZCB0byBhcHBseSwKYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIgY2lyY3Vtc3RhbmNlcy4KCkl0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkKcGF0ZW50cyBvciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkKc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQppbnRlZ3JpdHkgb2YgdGhlIGZyZWUgc29mdHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSB3aGljaCBpcwppbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuICBNYW55IHBlb3BsZSBoYXZlIG1hZGUKZ2VuZXJvdXMgY29udHJpYnV0aW9ucyB0byB0aGUgd2lkZSByYW5nZSBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZAp0aHJvdWdoIHRoYXQgc3lzdGVtIGluIHJlbGlhbmNlIG9uIGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdApzeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVjaWRlIGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nCnRvIGRpc3RyaWJ1dGUgc29mdHdhcmUgdGhyb3VnaCBhbnkgb3RoZXIgc3lzdGVtIGFuZCBhIGxpY2Vuc2VlIGNhbm5vdAppbXBvc2UgdGhhdCBjaG9pY2UuCgpUaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB0aG9yb3VnaGx5IGNsZWFyIHdoYXQgaXMgYmVsaWV2ZWQgdG8KYmUgYSBjb25zZXF1ZW5jZSBvZiB0aGUgcmVzdCBvZiB0aGlzIExpY2Vuc2UuCgogIDEyLiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIExpYnJhcnkgaXMgcmVzdHJpY3RlZCBpbgpjZXJ0YWluIGNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUKb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBMaWJyYXJ5IHVuZGVyIHRoaXMgTGljZW5zZSBtYXkgYWRkCmFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcgdGhvc2UgY291bnRyaWVzLApzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBpbiBvciBhbW9uZyBjb3VudHJpZXMgbm90IHRodXMKZXhjbHVkZWQuICBJbiBzdWNoIGNhc2UsIHRoaXMgTGljZW5zZSBpbmNvcnBvcmF0ZXMgdGhlIGxpbWl0YXRpb24gYXMgaWYKd3JpdHRlbiBpbiB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCgogIDEzLiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldwp2ZXJzaW9ucyBvZiB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuClN1Y2ggbmV3IHZlcnNpb25zIHdpbGwgYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwKYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgoKRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUgTGlicmFyeQpzcGVjaWZpZXMgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGlzIExpY2Vuc2Ugd2hpY2ggYXBwbGllcyB0byBpdCBhbmQKImFueSBsYXRlciB2ZXJzaW9uIiwgeW91IGhhdmUgdGhlIG9wdGlvbiBvZiBmb2xsb3dpbmcgdGhlIHRlcm1zIGFuZApjb25kaXRpb25zIGVpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgTGlicmFyeSBkb2VzIG5vdCBzcGVjaWZ5IGEKbGljZW5zZSB2ZXJzaW9uIG51bWJlciwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KCiAgMTQuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBhcnRzIG9mIHRoZSBMaWJyYXJ5IGludG8gb3RoZXIgZnJlZQpwcm9ncmFtcyB3aG9zZSBkaXN0cmlidXRpb24gY29uZGl0aW9ucyBhcmUgaW5jb21wYXRpYmxlIHdpdGggdGhlc2UsCndyaXRlIHRvIHRoZSBhdXRob3IgdG8gYXNrIGZvciBwZXJtaXNzaW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzCmNvcHlyaWdodGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIHdyaXRlIHRvIHRoZSBGcmVlClNvZnR3YXJlIEZvdW5kYXRpb247IHdlIHNvbWV0aW1lcyBtYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMuICBPdXIKZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2FscyBvZiBwcmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1cwpvZiBhbGwgZGVyaXZhdGl2ZXMgb2Ygb3VyIGZyZWUgc29mdHdhcmUgYW5kIG9mIHByb21vdGluZyB0aGUgc2hhcmluZwphbmQgcmV1c2Ugb2Ygc29mdHdhcmUgZ2VuZXJhbGx5LgoKCQkJICAgIE5PIFdBUlJBTlRZCgogIDE1LiBCRUNBVVNFIFRIRSBMSUJSQVJZIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTwpXQVJSQU5UWSBGT1IgVEhFIExJQlJBUlksIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZIEFQUExJQ0FCTEUgTEFXLgpFWENFUFQgV0hFTiBPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUgpPVEhFUiBQQVJUSUVTIFBST1ZJREUgVEhFIExJQlJBUlkgIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWQpLSU5ELCBFSVRIRVIgRVhQUkVTU0VEIE9SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSClBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMgVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRQpMSUJSQVJZIElTIFdJVEggWU9VLiAgU0hPVUxEIFRIRSBMSUJSQVJZIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRQpUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywgUkVQQUlSIE9SIENPUlJFQ1RJT04uCgogIDE2LiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOCldSSVRJTkcgV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZCkFORC9PUiBSRURJU1RSSUJVVEUgVEhFIExJQlJBUlkgQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VCkZPUiBEQU1BR0VTLCBJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IKQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUKTElCUkFSWSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBMT1NTIE9GIERBVEEgT1IgREFUQSBCRUlORwpSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkgWU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQQpGQUlMVVJFIE9GIFRIRSBMSUJSQVJZIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIgU09GVFdBUkUpLCBFVkVOIElGClNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKREFNQUdFUy4KCgkJICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IExpYnJhcmllcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBsaWJyYXJ5LCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB3ZSByZWNvbW1lbmQgbWFraW5nIGl0IGZyZWUgc29mdHdhcmUgdGhhdApldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UuICBZb3UgY2FuIGRvIHNvIGJ5IHBlcm1pdHRpbmcKcmVkaXN0cmlidXRpb24gdW5kZXIgdGhlc2UgdGVybXMgKG9yLCBhbHRlcm5hdGl2ZWx5LCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCm9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UpLgoKICBUbyBhcHBseSB0aGVzZSB0ZXJtcywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgbGlicmFyeS4gIEl0IGlzCnNhZmVzdCB0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5CmNvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0IHRoZQoiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgoKICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBsaWJyYXJ5J3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CiAgICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgoKICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogICAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgpZb3Ugc2hvdWxkIGFsc28gZ2V0IHlvdXIgZW1wbG95ZXIgKGlmIHlvdSB3b3JrIGFzIGEgcHJvZ3JhbW1lcikgb3IgeW91cgpzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBsaWJyYXJ5LCBpZgpuZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6CgogIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlCiAgbGlicmFyeSBgRnJvYicgKGEgbGlicmFyeSBmb3IgdHdlYWtpbmcga25vYnMpIHdyaXR0ZW4gYnkgSmFtZXMgUmFuZG9tIEhhY2tlci4KCiAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTkwCiAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKClRoYXQncyBhbGwgdGhlcmUgaXMgdG8gaXQhCgoK]]></data>
	</file>
	<file>
	  <filename>/phpmailer/PHPMailerAutoload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIFBIUE1haWxlciBTUEwgYXV0b2xvYWRlci4KICogUEhQIFZlcnNpb24gNQogKiBAcGFja2FnZSBQSFBNYWlsZXIKICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL1BIUE1haWxlci9QSFBNYWlsZXIvIFRoZSBQSFBNYWlsZXIgR2l0SHViIHByb2plY3QKICogQGF1dGhvciBNYXJjdXMgQm9pbnRvbiAoU3luY2hyby9jb29sYnJ1KSA8cGhwbWFpbGVyQHN5bmNocm9tZWRpYS5jby51az4KICogQGF1dGhvciBKaW0gSmFnaWVsc2tpIChqaW1qYWcpIDxqaW1qYWdAZ21haWwuY29tPgogKiBAYXV0aG9yIEFuZHkgUHJldm9zdCAoY29kZXdvcnh0ZWNoKSA8Y29kZXdvcnh0ZWNoQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KICogQGF1dGhvciBCcmVudCBSLiBNYXR6ZWxsZSAob3JpZ2luYWwgZm91bmRlcikKICogQGNvcHlyaWdodCAyMDEyIC0gMjAxNCBNYXJjdXMgQm9pbnRvbgogKiBAY29weXJpZ2h0IDIwMTAgLSAyMDEyIEppbSBKYWdpZWxza2kKICogQGNvcHlyaWdodCAyMDA0IC0gMjAwOSBBbmR5IFByZXZvc3QKICogQGxpY2Vuc2UgaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2xlc3Nlci5odG1sIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiBAbm90ZSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCAtIFdJVEhPVVQKICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yCiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgogKi8KCi8qKgogKiBQSFBNYWlsZXIgU1BMIGF1dG9sb2FkZXIuCiAqIEBwYXJhbSBzdHJpbmcgJGNsYXNzbmFtZSBUaGUgbmFtZSBvZiB0aGUgY2xhc3MgdG8gbG9hZAogKi8KZnVuY3Rpb24gUEhQTWFpbGVyQXV0b2xvYWQoJGNsYXNzbmFtZSkKewogICAgLy9DYW4ndCB1c2UgX19ESVJfXyBhcyBpdCdzIG9ubHkgaW4gUEhQIDUuMysKICAgICRmaWxlbmFtZSA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2NsYXNzLicuc3RydG9sb3dlcigkY2xhc3NuYW1lKS4nLnBocCc7CiAgICBpZiAoaXNfcmVhZGFibGUoJGZpbGVuYW1lKSkgewogICAgICAgIHJlcXVpcmUgJGZpbGVuYW1lOwogICAgfQp9CgppZiAodmVyc2lvbl9jb21wYXJlKFBIUF9WRVJTSU9OLCAnNS4xLjInLCAnPj0nKSkgewogICAgLy9TUEwgYXV0b2xvYWRpbmcgd2FzIGludHJvZHVjZWQgaW4gUEhQIDUuMS4yCiAgICBpZiAodmVyc2lvbl9jb21wYXJlKFBIUF9WRVJTSU9OLCAnNS4zLjAnLCAnPj0nKSkgewogICAgICAgIHNwbF9hdXRvbG9hZF9yZWdpc3RlcignUEhQTWFpbGVyQXV0b2xvYWQnLCB0cnVlLCB0cnVlKTsKICAgIH0gZWxzZSB7CiAgICAgICAgc3BsX2F1dG9sb2FkX3JlZ2lzdGVyKCdQSFBNYWlsZXJBdXRvbG9hZCcpOwogICAgfQp9IGVsc2UgewogICAgLyoqCiAgICAgKiBGYWxsIGJhY2sgdG8gdHJhZGl0aW9uYWwgYXV0b2xvYWQgZm9yIG9sZCBQSFAgdmVyc2lvbnMKICAgICAqIEBwYXJhbSBzdHJpbmcgJGNsYXNzbmFtZSBUaGUgbmFtZSBvZiB0aGUgY2xhc3MgdG8gbG9hZAogICAgICovCiAgICBmdW5jdGlvbiBfX2F1dG9sb2FkKCRjbGFzc25hbWUpCiAgICB7CiAgICAgICAgUEhQTWFpbGVyQXV0b2xvYWQoJGNsYXNzbmFtZSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/phpmailer/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IVtQSFBNYWlsZXJdKGh0dHBzOi8vcmF3LmdpdGh1Yi5jb20vUEhQTWFpbGVyL1BIUE1haWxlci9tYXN0ZXIvZXhhbXBsZXMvaW1hZ2VzL3BocG1haWxlci5wbmcpCgojIFBIUE1haWxlciAtIEEgZnVsbC1mZWF0dXJlZCBlbWFpbCBjcmVhdGlvbiBhbmQgdHJhbnNmZXIgY2xhc3MgZm9yIFBIUAoKQnVpbGQgc3RhdHVzOiBbIVtCdWlsZCBTdGF0dXNdKGh0dHBzOi8vdHJhdmlzLWNpLm9yZy9QSFBNYWlsZXIvUEhQTWFpbGVyLnN2ZyldKGh0dHBzOi8vdHJhdmlzLWNpLm9yZy9QSFBNYWlsZXIvUEhQTWFpbGVyKQpbIVtTY3J1dGluaXplciBRdWFsaXR5IFNjb3JlXShodHRwczovL3NjcnV0aW5pemVyLWNpLmNvbS9nL1BIUE1haWxlci9QSFBNYWlsZXIvYmFkZ2VzL3F1YWxpdHktc2NvcmUucG5nP3M9Mzc1OGUyMWQyNzliZWNkZjg0N2E1NTdhNTZhM2VkMTZkZmVjOWQ1ZCldKGh0dHBzOi8vc2NydXRpbml6ZXItY2kuY29tL2cvUEhQTWFpbGVyL1BIUE1haWxlci8pClshW0NvZGUgQ292ZXJhZ2VdKGh0dHBzOi8vc2NydXRpbml6ZXItY2kuY29tL2cvUEhQTWFpbGVyL1BIUE1haWxlci9iYWRnZXMvY292ZXJhZ2UucG5nP3M9M2ZlNmNhNWZlOGNkMmNkZjk2Mjg1NzU2ZTQyOTMyZjdjYTI1Njk2MildKGh0dHBzOi8vc2NydXRpbml6ZXItY2kuY29tL2cvUEhQTWFpbGVyL1BIUE1haWxlci8pCgpbIVtMYXRlc3QgU3RhYmxlIFZlcnNpb25dKGh0dHBzOi8vcG9zZXIucHVneC5vcmcvcGhwbWFpbGVyL3BocG1haWxlci92L3N0YWJsZS5zdmcpXShodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvcGhwbWFpbGVyL3BocG1haWxlcikgWyFbVG90YWwgRG93bmxvYWRzXShodHRwczovL3Bvc2VyLnB1Z3gub3JnL3BocG1haWxlci9waHBtYWlsZXIvZG93bmxvYWRzKV0oaHR0cHM6Ly9wYWNrYWdpc3Qub3JnL3BhY2thZ2VzL3BocG1haWxlci9waHBtYWlsZXIpIFshW0xhdGVzdCBVbnN0YWJsZSBWZXJzaW9uXShodHRwczovL3Bvc2VyLnB1Z3gub3JnL3BocG1haWxlci9waHBtYWlsZXIvdi91bnN0YWJsZS5zdmcpXShodHRwczovL3BhY2thZ2lzdC5vcmcvcGFja2FnZXMvcGhwbWFpbGVyL3BocG1haWxlcikgWyFbTGljZW5zZV0oaHR0cHM6Ly9wb3Nlci5wdWd4Lm9yZy9waHBtYWlsZXIvcGhwbWFpbGVyL2xpY2Vuc2Uuc3ZnKV0oaHR0cHM6Ly9wYWNrYWdpc3Qub3JnL3BhY2thZ2VzL3BocG1haWxlci9waHBtYWlsZXIpCgojIyBDbGFzcyBGZWF0dXJlcwoKLSBQcm9iYWJseSB0aGUgd29ybGQncyBtb3N0IHBvcHVsYXIgY29kZSBmb3Igc2VuZGluZyBlbWFpbCBmcm9tIFBIUCEKLSBVc2VkIGJ5IG1hbnkgb3Blbi1zb3VyY2UgcHJvamVjdHM6IFdvcmRQcmVzcywgRHJ1cGFsLCAxQ1JNLCBTdWdhckNSTSwgWWlpLCBKb29tbGEhIGFuZCBtYW55IG1vcmUKLSBJbnRlZ3JhdGVkIFNNVFAgc3VwcG9ydCAtIHNlbmQgd2l0aG91dCBhIGxvY2FsIG1haWwgc2VydmVyCi0gU2VuZCBlbWFpbHMgd2l0aCBtdWx0aXBsZSBUT3MsIENDcywgQkNDcyBhbmQgUkVQTFktVE9zCi0gTXVsdGlwYXJ0L2FsdGVybmF0aXZlIGVtYWlscyBmb3IgbWFpbCBjbGllbnRzIHRoYXQgZG8gbm90IHJlYWQgSFRNTCBlbWFpbAotIFN1cHBvcnQgZm9yIFVURi04IGNvbnRlbnQgYW5kIDhiaXQsIGJhc2U2NCwgYmluYXJ5LCBhbmQgcXVvdGVkLXByaW50YWJsZSBlbmNvZGluZ3MKLSBTTVRQIGF1dGhlbnRpY2F0aW9uIHdpdGggTE9HSU4sIFBMQUlOLCBOVExNLCBDUkFNLU1ENSBhbmQgR29vZ2xlJ3MgWE9BVVRIMiBtZWNoYW5pc21zIG92ZXIgU1NMIGFuZCBUTFMgdHJhbnNwb3J0cwotIEVycm9yIG1lc3NhZ2VzIGluIDQ3IGxhbmd1YWdlcyEKLSBES0lNIGFuZCBTL01JTUUgc2lnbmluZyBzdXBwb3J0Ci0gQ29tcGF0aWJsZSB3aXRoIFBIUCA1LjAgYW5kIGxhdGVyCi0gTXVjaCBtb3JlIQoKIyMgV2h5IHlvdSBtaWdodCBuZWVkIGl0CgpNYW55IFBIUCBkZXZlbG9wZXJzIHV0aWxpemUgZW1haWwgaW4gdGhlaXIgY29kZS4gVGhlIG9ubHkgUEhQIGZ1bmN0aW9uIHRoYXQgc3VwcG9ydHMgdGhpcyBpcyB0aGUgYG1haWwoKWAgZnVuY3Rpb24uIEhvd2V2ZXIsIGl0IGRvZXMgbm90IHByb3ZpZGUgYW55IGFzc2lzdGFuY2UgZm9yIG1ha2luZyB1c2Ugb2YgcG9wdWxhciBmZWF0dXJlcyBzdWNoIGFzIEhUTUwtYmFzZWQgZW1haWxzIGFuZCBhdHRhY2htZW50cy4KCkZvcm1hdHRpbmcgZW1haWwgY29ycmVjdGx5IGlzIHN1cnByaXNpbmdseSBkaWZmaWN1bHQuIFRoZXJlIGFyZSBteXJpYWQgb3ZlcmxhcHBpbmcgUkZDcywgcmVxdWlyaW5nIHRpZ2h0IGFkaGVyZW5jZSB0byBob3JyaWJseSBjb21wbGljYXRlZCBmb3JtYXR0aW5nIGFuZCBlbmNvZGluZyBydWxlcyAtIHRoZSB2YXN0IG1ham9yaXR5IG9mIGNvZGUgdGhhdCB5b3UnbGwgZmluZCBvbmxpbmUgdGhhdCB1c2VzIHRoZSBgbWFpbCgpYCBmdW5jdGlvbiBkaXJlY3RseSBpcyBqdXN0IHBsYWluIHdyb25nIQoqUGxlYXNlKiBkb24ndCBiZSB0ZW1wdGVkIHRvIGRvIGl0IHlvdXJzZWxmIC0gaWYgeW91IGRvbid0IHVzZSBQSFBNYWlsZXIsIHRoZXJlIGFyZSBtYW55IG90aGVyIGV4Y2VsbGVudCBsaWJyYXJpZXMgdGhhdCB5b3Ugc2hvdWxkIGxvb2sgYXQgYmVmb3JlIHJvbGxpbmcgeW91ciBvd24gLSB0cnkgU3dpZnRNYWlsZXIsIFplbmRfTWFpbCwgZVpjb21wb25lbnRzIGV0Yy4KClRoZSBQSFAgYG1haWwoKWAgZnVuY3Rpb24gdXN1YWxseSBzZW5kcyB2aWEgYSBsb2NhbCBtYWlsIHNlcnZlciwgdHlwaWNhbGx5IGZyb250ZWQgYnkgYSBgc2VuZG1haWxgIGJpbmFyeSBvbiBMaW51eCwgQlNEIGFuZCBPUyBYIHBsYXRmb3JtcywgaG93ZXZlciwgV2luZG93cyB1c3VhbGx5IGRvZXNuJ3QgaW5jbHVkZSBhIGxvY2FsIG1haWwgc2VydmVyOyBQSFBNYWlsZXIncyBpbnRlZ3JhdGVkIFNNVFAgaW1wbGVtZW50YXRpb24gYWxsb3dzIGVtYWlsIHNlbmRpbmcgb24gV2luZG93cyBwbGF0Zm9ybXMgd2l0aG91dCBhIGxvY2FsIG1haWwgc2VydmVyLgoKIyMgTGljZW5zZQoKVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgW0xHUEwgMi4xXShodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGdwbC0yLjEuaHRtbCkgbGljZW5zZS4gUGxlYXNlIHJlYWQgTElDRU5TRSBmb3IgaW5mb3JtYXRpb24gb24gdGhlCnNvZnR3YXJlIGF2YWlsYWJpbGl0eSBhbmQgZGlzdHJpYnV0aW9uLgoKIyMgSW5zdGFsbGF0aW9uICYgbG9hZGluZwoKUEhQTWFpbGVyIGlzIGF2YWlsYWJsZSB2aWEgW0NvbXBvc2VyL1BhY2thZ2lzdF0oaHR0cHM6Ly9wYWNrYWdpc3Qub3JnL3BhY2thZ2VzL3BocG1haWxlci9waHBtYWlsZXIpICh1c2luZyBzZW1hbnRpYyB2ZXJzaW9uaW5nKSwgc28ganVzdCBhZGQgdGhpcyBsaW5lIHRvIHlvdXIgYGNvbXBvc2VyLmpzb25gIGZpbGU6CgpgYGBqc29uCiJwaHBtYWlsZXIvcGhwbWFpbGVyIjogIn41LjIiCmBgYAoKb3IKCmBgYHNoCmNvbXBvc2VyIHJlcXVpcmUgcGhwbWFpbGVyL3BocG1haWxlcgpgYGAKCklmIHlvdSB3YW50IHRvIHVzZSB0aGUgR21haWwgWE9BVVRIMiBhdXRoZW50aWNhdGlvbiBjbGFzcywgeW91IHdpbGwgYWxzbyBuZWVkIHRvIGFkZCBhIGRlcGVuZGVuY3kgb24gdGhlIGBsZWFndWUvb2F1dGgyLWNsaWVudGAgcGFja2FnZS4KCkFsdGVybmF0aXZlbHksIGNvcHkgdGhlIGNvbnRlbnRzIG9mIHRoZSBQSFBNYWlsZXIgZm9sZGVyIGludG8gb25lIG9mIHRoZSBgaW5jbHVkZV9wYXRoYCBkaXJlY3RvcmllcyBzcGVjaWZpZWQgaW4geW91ciBQSFAgY29uZmlndXJhdGlvbi4gSWYgeW91IGRvbid0IHNwZWFrIGdpdCBvciBqdXN0IHdhbnQgYSB0YXJiYWxsLCBjbGljayB0aGUgJ3ppcCcgYnV0dG9uIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UgaW4gR2l0SHViLgoKSWYgeW91J3JlIG5vdCB1c2luZyBjb21wb3NlcidzIGF1dG9sb2FkZXIsIFBIUE1haWxlciBwcm92aWRlcyBhbiBTUEwtY29tcGF0aWJsZSBhdXRvbG9hZGVyLCBhbmQgdGhhdCBpcyB0aGUgcHJlZmVycmVkIHdheSBvZiBsb2FkaW5nIHRoZSBsaWJyYXJ5IC0ganVzdCBgcmVxdWlyZSAnL3BhdGgvdG8vUEhQTWFpbGVyQXV0b2xvYWQucGhwJztgIGFuZCBldmVyeXRoaW5nIHNob3VsZCB3b3JrLiBUaGUgYXV0b2xvYWRlciBkb2VzIG5vdCB0aHJvdyBlcnJvcnMgaWYgaXQgY2FuJ3QgZmluZCBjbGFzc2VzIHNvIGl0IHByZXBlbmRzIGl0c2VsZiB0byB0aGUgU1BMIGxpc3QsIGFsbG93aW5nIHlvdXIgb3duIChvciB5b3VyIGZyYW1ld29yaydzKSBhdXRvbG9hZGVyIHRvIGNhdGNoIGVycm9ycy4gU1BMIGF1dG9sb2FkaW5nIHdhcyBpbnRyb2R1Y2VkIGluIFBIUCA1LjEuMCwgc28gaWYgeW91IGFyZSB1c2luZyBhIHZlcnNpb24gb2xkZXIgdGhhbiB0aGF0IHlvdSB3aWxsIG5lZWQgdG8gcmVxdWlyZS9pbmNsdWRlIGVhY2ggY2xhc3MgbWFudWFsbHkuCgpQSFBNYWlsZXIgZG9lcyAqbm90KiBkZWNsYXJlIGEgbmFtZXNwYWNlIGJlY2F1c2UgbmFtZXNwYWNlcyB3ZXJlIG9ubHkgaW50cm9kdWNlZCBpbiBQSFAgNS4zLgoKSWYgeW91IHdhbnQgdG8gdXNlIEdvb2dsZSdzIFhPQVVUSDIgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtLCB5b3UgbmVlZCB0byBiZSBydW5uaW5nIGF0IGxlYXN0IFBIUCA1LjQsIGFuZCBsb2FkIHRoZSBkZXBlbmRlbmNpZXMgbGlzdGVkIGluIGBjb21wb3Nlci5qc29uYC4KCiMjIyBNaW5pbWFsIGluc3RhbGxhdGlvbgoKV2hpbGUgaW5zdGFsbGluZyB0aGUgZW50aXJlIHBhY2thZ2UgbWFudWFsbHkgb3Igd2l0aCBjb21wb3NlciBpcyBzaW1wbGUsIGNvbnZlbmllbnQgYW5kIHJlbGlhYmxlLCB5b3UgbWF5IHdhbnQgdG8gaW5jbHVkZSBvbmx5IHZpdGFsIGZpbGVzIGluIHlvdXIgcHJvamVjdC4gQXQgdGhlIHZlcnkgbGVhc3QgeW91IHdpbGwgbmVlZCBbY2xhc3MucGhwbWFpbGVyLnBocF0oaHR0cHM6Ly9naXRodWIuY29tL1BIUE1haWxlci9QSFBNYWlsZXIvY2xhc3MucGhwbWFpbGVyLnBocCkuIElmIHlvdSdyZSB1c2luZyBTTVRQLCB5b3UnbGwgbmVlZCBbY2xhc3Muc210cC5waHBdKGh0dHBzOi8vZ2l0aHViLmNvbS9QSFBNYWlsZXIvUEhQTWFpbGVyL2NsYXNzLnNtdHAucGhwKSwgYW5kIGlmIHlvdSdyZSB1c2luZyBQT1AtYmVmb3JlIFNNVFAsIHlvdSdsbCBuZWVkIFtjbGFzcy5wb3AzLnBocF0oY2xhc3MucG9wMy5waHApLiBGb3IgYWxsIG9mIHRoZXNlLCB3ZSByZWNvbW1lbmQgeW91IHVzZSBbdGhlIGF1dG9sb2FkZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9QSFBNYWlsZXIvUEhQTWFpbGVyL1BIUE1haWxlckF1dG9sb2FkLnBocCkgdG9vIGFzIG90aGVyd2lzZSB5b3Ugd2lsbCBlaXRoZXIgaGF2ZSB0byBgcmVxdWlyZWAgYWxsIGNsYXNzZXMgbWFudWFsbHkgb3IgdXNlIHNvbWUgb3RoZXIgYXV0b2xvYWRlci4gWW91IGNhbiBza2lwIHRoZSBbbGFuZ3VhZ2VdKGh0dHBzOi8vZ2l0aHViLmNvbS9QSFBNYWlsZXIvUEhQTWFpbGVyL2xhbmd1YWdlLykgZm9sZGVyIGlmIHlvdSdyZSBub3Qgc2hvd2luZyBlcnJvcnMgdG8gdXNlcnMgYW5kIGNhbiBtYWtlIGRvIHdpdGggRW5nbGlzaC1vbmx5IGVycm9ycy4gWW91IG1heSBuZWVkIHRoZSBhZGRpdGlvbmFsIGNsYXNzZXMgaW4gdGhlIFtleHRyYXNdKGV4dHJhcy8pIGZvbGRlciBpZiB5b3UgYXJlIHVzaW5nIHRob3NlIGZlYXR1cmVzLCBpbmNsdWRpbmcgTlRMTSBhdXRoZW50aWNhdGlvbiBhbmQgaWNzIGdlbmVyYXRpb24uIElmIHlvdSdyZSB1c2luZyBHb29nbGUgWE9BVVRIMiB5b3Ugd2lsbCBuZWVkIGBjbGFzcy5waHBtYWlsZXJvYXV0aC5waHBgIGFuZCBgY2xhc3Mub2F1dGgucGhwYCBjbGFzc2VzIHRvbywgYXMgd2VsbCBhcyB0aGUgY29tcG9zZXIgZGVwZW5kZW5jaWVzLgoKIyMgQSBTaW1wbGUgRXhhbXBsZQoKYGBgcGhwCjw/cGhwCnJlcXVpcmUgJ1BIUE1haWxlckF1dG9sb2FkLnBocCc7CgokbWFpbCA9IG5ldyBQSFBNYWlsZXI7CgovLyRtYWlsLT5TTVRQRGVidWcgPSAzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmFibGUgdmVyYm9zZSBkZWJ1ZyBvdXRwdXQKCiRtYWlsLT5pc1NNVFAoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBtYWlsZXIgdG8gdXNlIFNNVFAKJG1haWwtPkhvc3QgPSAnc210cDEuZXhhbXBsZS5jb207c210cDIuZXhhbXBsZS5jb20nOyAgLy8gU3BlY2lmeSBtYWluIGFuZCBiYWNrdXAgU01UUCBzZXJ2ZXJzCiRtYWlsLT5TTVRQQXV0aCA9IHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBTTVRQIGF1dGhlbnRpY2F0aW9uCiRtYWlsLT5Vc2VybmFtZSA9ICd1c2VyQGV4YW1wbGUuY29tJzsgICAgICAgICAgICAgICAgIC8vIFNNVFAgdXNlcm5hbWUKJG1haWwtPlBhc3N3b3JkID0gJ3NlY3JldCc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU01UUCBwYXNzd29yZAokbWFpbC0+U01UUFNlY3VyZSA9ICd0bHMnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmFibGUgVExTIGVuY3J5cHRpb24sIGBzc2xgIGFsc28gYWNjZXB0ZWQKJG1haWwtPlBvcnQgPSA1ODc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVENQIHBvcnQgdG8gY29ubmVjdCB0bwoKJG1haWwtPnNldEZyb20oJ2Zyb21AZXhhbXBsZS5jb20nLCAnTWFpbGVyJyk7CiRtYWlsLT5hZGRBZGRyZXNzKCdqb2VAZXhhbXBsZS5uZXQnLCAnSm9lIFVzZXInKTsgICAgIC8vIEFkZCBhIHJlY2lwaWVudAokbWFpbC0+YWRkQWRkcmVzcygnZWxsZW5AZXhhbXBsZS5jb20nKTsgICAgICAgICAgICAgICAvLyBOYW1lIGlzIG9wdGlvbmFsCiRtYWlsLT5hZGRSZXBseVRvKCdpbmZvQGV4YW1wbGUuY29tJywgJ0luZm9ybWF0aW9uJyk7CiRtYWlsLT5hZGRDQygnY2NAZXhhbXBsZS5jb20nKTsKJG1haWwtPmFkZEJDQygnYmNjQGV4YW1wbGUuY29tJyk7CgokbWFpbC0+YWRkQXR0YWNobWVudCgnL3Zhci90bXAvZmlsZS50YXIuZ3onKTsgICAgICAgICAvLyBBZGQgYXR0YWNobWVudHMKJG1haWwtPmFkZEF0dGFjaG1lbnQoJy90bXAvaW1hZ2UuanBnJywgJ25ldy5qcGcnKTsgICAgLy8gT3B0aW9uYWwgbmFtZQokbWFpbC0+aXNIVE1MKHRydWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgZW1haWwgZm9ybWF0IHRvIEhUTUwKCiRtYWlsLT5TdWJqZWN0ID0gJ0hlcmUgaXMgdGhlIHN1YmplY3QnOwokbWFpbC0+Qm9keSAgICA9ICdUaGlzIGlzIHRoZSBIVE1MIG1lc3NhZ2UgYm9keSA8Yj5pbiBib2xkITwvYj4nOwokbWFpbC0+QWx0Qm9keSA9ICdUaGlzIGlzIHRoZSBib2R5IGluIHBsYWluIHRleHQgZm9yIG5vbi1IVE1MIG1haWwgY2xpZW50cyc7CgppZighJG1haWwtPnNlbmQoKSkgewogICAgZWNobyAnTWVzc2FnZSBjb3VsZCBub3QgYmUgc2VudC4nOwogICAgZWNobyAnTWFpbGVyIEVycm9yOiAnIC4gJG1haWwtPkVycm9ySW5mbzsKfSBlbHNlIHsKICAgIGVjaG8gJ01lc3NhZ2UgaGFzIGJlZW4gc2VudCc7Cn0KYGBgCgpZb3UnbGwgZmluZCBwbGVudHkgbW9yZSB0byBwbGF5IHdpdGggaW4gdGhlIFtleGFtcGxlc10oaHR0cHM6Ly9naXRodWIuY29tL1BIUE1haWxlci9QSFBNYWlsZXIvZXhhbXBsZXMvKSBmb2xkZXIuCgpUaGF0J3MgaXQuIFlvdSBzaG91bGQgbm93IGJlIHJlYWR5IHRvIHVzZSBQSFBNYWlsZXIhCgojIyBMb2NhbGl6YXRpb24KUEhQTWFpbGVyIGRlZmF1bHRzIHRvIEVuZ2xpc2gsIGJ1dCBpbiB0aGUgW2xhbmd1YWdlXShodHRwczovL2dpdGh1Yi5jb20vUEhQTWFpbGVyL1BIUE1haWxlci9sYW5ndWFnZS8pIGZvbGRlciB5b3UnbGwgZmluZCBudW1lcm91cyAoNDYgYXQgdGhlIHRpbWUgb2Ygd3JpdGluZyEpIHRyYW5zbGF0aW9ucyBmb3IgUEhQTWFpbGVyIGVycm9yIG1lc3NhZ2VzIHRoYXQgeW91IG1heSBlbmNvdW50ZXIuIFRoZWlyIGZpbGVuYW1lcyBjb250YWluIFtJU08gNjM5LTFdKGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzYzOS0xKSBsYW5ndWFnZSBjb2RlIGZvciB0aGUgdHJhbnNsYXRpb25zLCBmb3IgZXhhbXBsZSBgZnJgIGZvciBGcmVuY2guIFRvIHNwZWNpZnkgYSBsYW5ndWFnZSwgeW91IG5lZWQgdG8gdGVsbCBQSFBNYWlsZXIgd2hpY2ggb25lIHRvIHVzZSwgbGlrZSB0aGlzOgoKYGBgcGhwCi8vIFRvIGxvYWQgdGhlIEZyZW5jaCB2ZXJzaW9uCiRtYWlsLT5zZXRMYW5ndWFnZSgnZnInLCAnL29wdGlvbmFsL3BhdGgvdG8vbGFuZ3VhZ2UvZGlyZWN0b3J5LycpOwpgYGAKCldlIHdlbGNvbWUgY29ycmVjdGlvbnMgYW5kIG5ldyBsYW5ndWFnZXMgLSBpZiB5b3UncmUgbG9va2luZyBmb3IgY29ycmVjdGlvbnMgdG8gZG8sIHJ1biB0aGUgW3BocG1haWxlckxhbmdUZXN0LnBocF0oaHR0cHM6Ly9naXRodWIuY29tL1BIUE1haWxlci9QSFBNYWlsZXIvdGVzdC9waHBtYWlsZXJMYW5nVGVzdC5waHApIHNjcmlwdCBpbiB0aGUgdGVzdHMgZm9sZGVyIGFuZCBpdCB3aWxsIHNob3cgYW55IG1pc3NpbmcgdHJhbnNsYXRpb25zLgoKIyMgRG9jdW1lbnRhdGlvbgoKRXhhbXBsZXMgb2YgaG93IHRvIHVzZSBQSFBNYWlsZXIgZm9yIGNvbW1vbiBzY2VuYXJpb3MgY2FuIGJlIGZvdW5kIGluIHRoZSBbZXhhbXBsZXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9QSFBNYWlsZXIvUEhQTWFpbGVyL2V4YW1wbGVzLykgZm9sZGVyLiBJZiB5b3UncmUgbG9va2luZyBmb3IgYSBnb29kIHN0YXJ0aW5nIHBvaW50LCB3ZSByZWNvbW1lbmQgeW91IHN0YXJ0IHdpdGggW3RoZSBHbWFpbCBleGFtcGxlXShodHRwczovL2dpdGh1Yi5jb20vUEhQTWFpbGVyL1BIUE1haWxlci9leGFtcGxlcy9nbWFpbC5waHBzKS4KClRoZXJlIGFyZSB0aXBzIGFuZCBhIHRyb3VibGVzaG9vdGluZyBndWlkZSBpbiB0aGUgW0dpdEh1YiB3aWtpXShodHRwczovL2dpdGh1Yi5jb20vUEhQTWFpbGVyL1BIUE1haWxlci93aWtpKS4gSWYgeW91J3JlIGhhdmluZyB0cm91YmxlLCB0aGlzIHNob3VsZCBiZSB0aGUgZmlyc3QgcGxhY2UgeW91IGxvb2sgYXMgaXQncyB0aGUgbW9zdCBmcmVxdWVudGx5IHVwZGF0ZWQuCgpDb21wbGV0ZSBnZW5lcmF0ZWQgQVBJIGRvY3VtZW50YXRpb24gaXMgW2F2YWlsYWJsZSBvbmxpbmVdKGh0dHA6Ly9waHBtYWlsZXIuZ2l0aHViLmlvL1BIUE1haWxlci8pLgoKWW91J2xsIGZpbmQgc29tZSBiYXNpYyB1c2VyLWxldmVsIGRvY3MgaW4gdGhlIFtkb2NzXShkb2NzLykgZm9sZGVyLCBhbmQgeW91IGNhbiBnZW5lcmF0ZSBjb21wbGV0ZSBBUEktbGV2ZWwgZG9jdW1lbnRhdGlvbiB1c2luZyB0aGUgW2dlbmVyYXRlZG9jcy5zaF0oaHR0cHM6Ly9naXRodWIuY29tL1BIUE1haWxlci9QSFBNYWlsZXIvZG9jcy9nZW5lcmF0ZWRvY3Muc2gpIHNoZWxsIHNjcmlwdCBpbiB0aGUgZG9jcyBmb2xkZXIsIHRob3VnaCB5b3UnbGwgbmVlZCB0byBpbnN0YWxsIFtQSFBEb2N1bWVudG9yXShodHRwOi8vd3d3LnBocGRvYy5vcmcpIGZpcnN0LiBZb3UgbWF5IGZpbmQgW3RoZSB1bml0IHRlc3RzXShodHRwczovL2dpdGh1Yi5jb20vUEhQTWFpbGVyL1BIUE1haWxlci90ZXN0L3BocG1haWxlclRlc3QucGhwKSBhIGdvb2Qgc291cmNlIG9mIGhvdyB0byBkbyB2YXJpb3VzIG9wZXJhdGlvbnMgc3VjaCBhcyBlbmNyeXB0aW9uLgoKSWYgdGhlIGRvY3VtZW50YXRpb24gZG9lc24ndCBjb3ZlciB3aGF0IHlvdSBuZWVkLCBzZWFyY2ggdGhlIFttYW55IHF1ZXN0aW9ucyBvbiBTdGFjayBPdmVyZmxvd10oaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy90YWdnZWQvcGhwbWFpbGVyKSwgYW5kIGJlZm9yZSB5b3UgYXNrIGEgcXVlc3Rpb24gYWJvdXQgIlNNVFAgRXJyb3I6IENvdWxkIG5vdCBjb25uZWN0IHRvIFNNVFAgaG9zdC4iLCBbcmVhZCB0aGUgdHJvdWJsZXNob290aW5nIGd1aWRlXShodHRwczovL2dpdGh1Yi5jb20vUEhQTWFpbGVyL1BIUE1haWxlci93aWtpL1Ryb3VibGVzaG9vdGluZykuCgojIyBUZXN0cwoKVGhlcmUgaXMgYSBQSFBVbml0IHRlc3Qgc2NyaXB0IGluIHRoZSBbdGVzdF0oaHR0cHM6Ly9naXRodWIuY29tL1BIUE1haWxlci9QSFBNYWlsZXIvdGVzdC8pIGZvbGRlci4KCkJ1aWxkIHN0YXR1czogWyFbQnVpbGQgU3RhdHVzXShodHRwczovL3RyYXZpcy1jaS5vcmcvUEhQTWFpbGVyL1BIUE1haWxlci5zdmcpXShodHRwczovL3RyYXZpcy1jaS5vcmcvUEhQTWFpbGVyL1BIUE1haWxlcikKCklmIHRoaXMgaXNuJ3QgcGFzc2luZywgaXMgdGhlcmUgc29tZXRoaW5nIHlvdSBjYW4gZG8gdG8gaGVscD8KCiMjIENvbnRyaWJ1dGluZwoKUGxlYXNlIHN1Ym1pdCBidWcgcmVwb3J0cywgc3VnZ2VzdGlvbnMgYW5kIHB1bGwgcmVxdWVzdHMgdG8gdGhlIFtHaXRIdWIgaXNzdWUgdHJhY2tlcl0oaHR0cHM6Ly9naXRodWIuY29tL1BIUE1haWxlci9QSFBNYWlsZXIvaXNzdWVzKS4KCldlJ3JlIHBhcnRpY3VsYXJseSBpbnRlcmVzdGVkIGluIGZpeGluZyBlZGdlLWNhc2VzLCBleHBhbmRpbmcgdGVzdCBjb3ZlcmFnZSBhbmQgdXBkYXRpbmcgdHJhbnNsYXRpb25zLgoKV2l0aCB0aGUgbW92ZSB0byB0aGUgUEhQTWFpbGVyIEdpdEh1YiBvcmdhbmlzYXRpb24sIHlvdSdsbCBuZWVkIHRvIHVwZGF0ZSBhbnkgcmVtb3RlIFVSTHMgcmVmZXJlbmNpbmcgdGhlIG9sZCBHaXRIdWIgbG9jYXRpb24gd2l0aCBhIGNvbW1hbmQgbGlrZSB0aGlzIGZyb20gd2l0aGluIHlvdXIgY2xvbmU6CgpgYGBzaApnaXQgcmVtb3RlIHNldC11cmwgdXBzdHJlYW0gaHR0cHM6Ly9naXRodWIuY29tL1BIUE1haWxlci9QSFBNYWlsZXIuZ2l0CmBgYAoKUGxlYXNlICpkb24ndCogdXNlIHRoZSBTb3VyY2VGb3JnZSBvciBHb29nbGUgQ29kZSBwcm9qZWN0cyBhbnkgbW9yZS4KCiMjIFNwb25zb3JzaGlwCgpEZXZlbG9wbWVudCB0aW1lIGFuZCByZXNvdXJjZXMgZm9yIFBIUE1haWxlciBhcmUgcHJvdmlkZWQgYnkgW1NtYXJ0bWVzc2FnZXMubmV0XShodHRwczovL2luZm8uc21hcnRtZXNzYWdlcy5uZXQvKSwgYSBwb3dlcmZ1bCBlbWFpbCBtYXJrZXRpbmcgc3lzdGVtLgoKPGEgaHJlZj0iaHR0cHM6Ly9pbmZvLnNtYXJ0bWVzc2FnZXMubmV0LyI+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnNtYXJ0bWVzc2FnZXMubmV0L2ltZy9zbWFydG1lc3NhZ2VzLWxvZ28uc3ZnIiB3aWR0aD0iMjUwIiBoZWlnaHQ9IjI4IiBhbHQ9IlNtYXJ0bWVzc2FnZXMgZW1haWwgbWFya2V0aW5nIj48L2E+CgpPdGhlciBjb250cmlidXRpb25zIGFyZSBnbGFkbHkgcmVjZWl2ZWQsIHdoZXRoZXIgaW4gYmVlciDwn426LCBULXNoaXJ0cyDwn5GVLCBBbWF6b24gd2lzaGxpc3QgcmFpZHMsIG9yIGNvbGQsIGhhcmQgY2FzaCDwn5KwLgoKIyMgQ2hhbmdlbG9nCgpTZWUgW2NoYW5nZWxvZ10oY2hhbmdlbG9nLm1kKS4KCiMjIEhpc3RvcnkKLSBQSFBNYWlsZXIgd2FzIG9yaWdpbmFsbHkgd3JpdHRlbiBpbiAyMDAxIGJ5IEJyZW50IFIuIE1hdHplbGxlIGFzIGEgW1NvdXJjZUZvcmdlIHByb2plY3RdKGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvcGhwbWFpbGVyLykuCi0gTWFyY3VzIEJvaW50b24gKGNvb2xicnUgb24gU0YpIGFuZCBBbmR5IFByZXZvc3QgKGNvZGV3b3J4dGVjaCkgdG9vayBvdmVyIHRoZSBwcm9qZWN0IGluIDIwMDQuCi0gQmVjYW1lIGFuIEFwYWNoZSBpbmN1YmF0b3IgcHJvamVjdCBvbiBHb29nbGUgQ29kZSBpbiAyMDEwLCBtYW5hZ2VkIGJ5IEppbSBKYWdpZWxza2kuCi0gTWFyY3VzIGNyZWF0ZWQgaGlzIGZvcmsgb24gW0dpdEh1Yl0oaHR0cHM6Ly9naXRodWIuY29tL1N5bmNocm8vUEhQTWFpbGVyKS4KLSBKaW0gYW5kIE1hcmN1cyBkZWNpZGUgdG8gam9pbiBmb3JjZXMgYW5kIHVzZSBHaXRIdWIgYXMgdGhlIGNhbm9uaWNhbCBhbmQgb2ZmaWNpYWwgcmVwbyBmb3IgUEhQTWFpbGVyLgotIFBIUE1haWxlciBtb3ZlcyB0byB0aGUgW1BIUE1haWxlciBvcmdhbmlzYXRpb25dKGh0dHBzOi8vZ2l0aHViLmNvbS9QSFBNYWlsZXIpIG9uIEdpdEh1Yi4KCiMjIyBXaGF0J3MgY2hhbmdlZCBzaW5jZSBtb3ZpbmcgZnJvbSBTb3VyY2VGb3JnZT8KLSBPZmZpY2lhbCBzdWNjZXNzb3IgdG8gdGhlIFNvdXJjZUZvcmdlIGFuZCBHb29nbGUgQ29kZSBwcm9qZWN0cy4KLSBUZXN0IHN1aXRlLgotIENvbnRpbnVvdXMgaW50ZWdyYXRpb24gd2l0aCBUcmF2aXMtQ0kuCi0gQ29tcG9zZXIgc3VwcG9ydC4KLSBQdWJsaWMgZGV2ZWxvcG1lbnQuCi0gQWRkaXRpb25hbCBsYW5ndWFnZXMgYW5kIGxhbmd1YWdlIHN0cmluZ3MuCi0gQ1JBTS1NRDUgYXV0aGVudGljYXRpb24gc3VwcG9ydC4KLSBQcmVzZXJ2ZXMgZnVsbCByZXBvIGhpc3Rvcnkgb2YgYXV0aG9ycywgY29tbWl0cyBhbmQgYnJhbmNoZXMgZnJvbSB0aGUgb3JpZ2luYWwgU291cmNlRm9yZ2UgcHJvamVjdC4K]]></data>
	</file>
	<file>
	  <filename>/phpmailer/VERSION</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[NS4yLjE0]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/prefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKX08cD57JG1lc3NhZ2V9PC9wPnsvaWZ9CjxwPnskbW9kLT5MYW5nKCdpbmZvX2Ntc21haWxlcicpfTwvcD4KeyRzdGFydGZvcm19CjxmaWVsZHNldD4KCTxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpfSB7JG1vZC0+TGFuZygnc2V0dGluZ3NfdGl0bGUnKX08L2xlZ2VuZD4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9jaGFyc2V0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jaGFyc2V0fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X21haWxlcn06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbWFpbGVyfTxici8+eyRpbmZvX21haWxlcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ob3N0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9ob3N0fTxici8+eyRpbmZvX2hvc3R9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfc2VjdXJlfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zZWN1cmV9PGJyLz57JGluZm9fc2VjdXJlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3BvcnR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3BvcnR9PGJyLz57JGluZm9fcG9ydH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9mcm9tfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9mcm9tfTxici8+eyRpbmZvX2Zyb219PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZnJvbXVzZXJ9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Zyb211c2VyfTxici8+eyRpbmZvX2Zyb211c2VyfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3NlbmRtYWlsfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zZW5kbWFpbH08YnIvPnskaW5mb19zZW5kbWFpbH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90aW1lb3V0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90aW1lb3V0fTxici8+eyRpbmZvX3RpbWVvdXR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfc210cGF1dGh9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NtdHBhdXRofTxici8+eyRpbmZvX3NtdHBhdXRofTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3VzZXJuYW1lfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF91c2VybmFtZX08YnIvPnskaW5mb191c2VybmFtZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9wYXNzd29yZH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcGFzc3dvcmR9PGJyLz57JGluZm9fcGFzc3dvcmR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPntpZiBpc3NldCgkaGlkZGVuKX17JGhpZGRlbn17L2lmfXskc3VibWl0fTwvcD4KCTwvZGl2Pgo8L2ZpZWxkc2V0Pgo8ZmllbGRzZXQ+Cgk8bGVnZW5kPnskbW9kLT5MYW5nKCdmcmllbmRseW5hbWUnKX0geyRtb2QtPkxhbmcoJ3Rlc3RfdGl0bGUnKX08L2xlZ2VuZD4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZXN0YWRkcmVzc306PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGVzdGFkZHJlc3N9Jm5ic3A7eyRzZW5kdGVzdH08L3A+Cgk8L2Rpdj4KPC9maWVsZHNldD4KeyRlbmRmb3JtfQo=]]></data>
	</file>
</module>
