<?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>CGSmartImage</name>
	<version>1.0.3</version>
  <mincmsversion>1.9.1</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdheSB0byBwcm9jZXNzLCBhbmQgZGlzcGxheSBpbWFnZXMgb24geW91ciB3ZWIgcGFnZS4gIEl0IGFsbG93cyBzaW1wbGUgaW1hZ2UgcHJvY2Vzc2luZywgYW5kIHdhdGVybWFya2luZy4gIFRoaXMgbW9kdWxlIG1ha2VzIGRpc3BsYXlpbmcgcHJvY2Vzc2VkIGltYWdlcyBvbiB5b3VyIHdlYnNpdGUgdHJpdmlhbC4gIEl0IGFsc28gcHJvdmlkZXMgZmVhdHVyZXMgdG8gaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2UgcmF0aW5nIG9mIHlvdXIgd2Vic2l0ZSwgbWFraW5nIHlvdXIgd2Vic2l0ZSBwb3dlcmZ1bCBhbmQgZmFzdCBhdCB0aGUgc2FtZSB0aW1lLjwvcD4KPGgzPkZlYXR1cmVzPC9oMz4KPHVsPgo8bGk+UG93ZXJmdWwsIGJ1dCBzaW1wbGUgdG8gdXNlIGltYWdlIGZpbHRlcmluZyBhbmQgcHJvY2Vzc2luZy4gRmlsdGVyaW5nIGluY2x1ZGVzOgogIDx1bD4KICAgIDxsaT5CbHVyPC9saT4KICAgIDxsaT5CcmlnaHRuZXNzPC9saT4KICAgIDxsaT5Db2xvcml6ZTwvbGk+CiAgICA8bGk+Q29udHJhc3Q8L2xpPgogICAgPGxpPkNyb3A8L2xpPgogICAgPGxpPkVkZ2UgRGV0ZWN0aW9uPC9saT4KICAgIDxsaT5FbWJvc3M8L2xpPiAKICAgIDxsaT5HcmF5c2NhbGU8L2xpPgogICAgPGxpPk1lYW4gUmVtb3ZhbDwvbGk+CiAgICA8bGk+TmVnYXRlPC9saT4KICAgIDxsaT5QaXhlbGF0ZTwvbGk+CiAgICA8bGk+UmVzaXplPC9saT4KICAgIDxsaT5Sb3RhdGU8L2xpPgogICAgPGxpPlNlbGljdGl2ZSBCbHVyPC9saT4KICAgIDxsaT5TbW9vdGg8L2xpPgogICAgPGxpPldhdGVybWFyazwvbGk+CiAgPC91bD4KPC9saT48YnIvPgo8bGk+U21hcnQgZGV0ZWN0aW9uIG9mIGltYWdlcy4gIFNwZWNpZnkgYWJzb2x1dGUgVVJMUywgYWJzb2x1dGUgcGF0aHMsIG9yIGZpbGVzIHJlbGF0aXZlIHRvIHlvdXIgcm9vdCBpbnN0YWxsYXRpb24uPC9saT4KPGxpPlNtYXJ0IGF0dHJpYnV0ZSBnZW5lcmF0aW9uIGZvciBpbWFnZXMuPC9saT4KPGxpPlByb2Nlc3NlZCBpbWFnZXMgYXJlIGNhY2hlZCBvbiB0aGUgc2VydmVyIGZvciBmYXN0ZXIgc2VydmluZy48L2xJPgo8bGk+VGhlIGFiaWxpdHkgdG8gdXNlIGEgc2VwYXJhdGUgVVJMIChDRE4pIGZvciBzZXJ2aW5nIGltYWdlczwvbGk+CjxsaT5JbWFnZSBwcm9jZXNzZXMgY2FuIGJlIGNvbWJpbmVkLCBhbmQgYXJlIGV4ZWN1dGVkIGluIG9yZGVyLjwvbGk+CjxsaT5Qcm92aWRlcyB0aGUgYWJpbGl0eSB0byBlbWJlZCBpbWFnZXMgZGlyZWN0bHkgaW50byB0aGUgY29udGVudCBvZiB0aGUgd2ViIHBhZ2UgdG8gbWluaW1pemUgc3BhY2UuPC9saT4KPGxpPlByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGxpbWl0IGVtYmVkZGluZyBpbWFnZXMgc21hcnRseSwgb25seSB0byBicm93c2VycyB0aGF0IGFyZSBjYXBhYmxlIG9mIHVuZGVyc3RhbmRpbmcgdGhlbS48L2xpPgo8bGk+QWxzbyB3b3JrcyB3aXRoaW4gc3R5bGVzaGVldHMgdmlhIHRoZSB7Y21zX3N0eWxlc2hlZXR9IHRhZy48L2xpPgo8bGk+TW9yZS4uLjwvbGk+CjwvdWw+CjxoMz5Ib3cgZG8gSSB1c2UgaXQ8L2gzPgo8cD5UaGUgc2ltcGxlc3Qgd2F5IHRvIHVzZSB0aGlzIG1vZHVsZSBpcyB0byB1c2UgaXQgaW4gdGhlIHNhbWUgcGxhY2UgeW91IHdvdWxkIHRoZSB7aW1hZ2V9IHRhZy4gIEkuZTogU29tZXRoaW5nIGxpa2UgPGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+e0NHU21hcnRJbWFnZSBzcmM9J3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJ308L2NvZGU+LiAgVGhpcyB3aWxsIGdlbmVyYXRlIHRoZSBpbWFnZSB0YWcgZm9yIHlvdSB3aXRoIG5vIHByb2Nlc3NpbmcuICBBbmQgaWYgcG9zc2libGUsIGVtYmVkIHRoZSBpbWFnZSBkaXJlY3RseSBpbnRvIHlvdXIgaHRtbCBvdXRwdXQuPC9wPgo8cD5PZnRlbiBwZW9wbGUgd2FudCB0byBkaXNwbGF5IGEgd2F0ZXJtYXJrIG9uIHRoZSBpbWFnZXMgdGhhdCB0aGV5IGRpc3BsYXkgb24gdGhlIGZyb250ZW5kIHRvIHByZXZlbnQgaW1hZ2UgdGhlZnQuICBUaGUgQ0dFeHRlbnNpb25zIG1vZHVsZSBwcm92aWRlcyBzZXR0aW5ncyBmb3IgeW91IHRvIGNvbmZpZ3VyZSB3YXRlcm1hcmtpbmcgYW5kIHlvdSBjYW4gZW5hYmxlIHRoYXQgd2l0aCBhbnkgaW1hZ2Ugd2l0aCBhIHRhZyBsaWtlIHRoaXM6IDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZycgZmlsdGVyX3dhdGVybWFyaz0xfTwvY29kZT4uICBUaGlzIHdpbGwgcmVhZCB0aGUgaW1hZ2UsIGFwcGx5IHRoZSB3YXRlcm1hcmsgYWNjb3JkaW5nIHRvIHRoZSBzZXR0aW5ncyBpbiBDR0V4dGVuc2lvbnMsIGNhY2hlIHRoZSBhbHRlcmVkIGltYWdlLCBhbmQgdGhlbiBlbWJlZCBpdCBpbnRvIHlvdXIgb3V0cHV0LjwvcD4KPHA+QWxzbywgUGljdHVyZXMgdGFrZW4gYnkgbW9kZXJuIGRpZ2l0YWwgY2FtZXJhcyBhcmUgb2Z0ZW4gdG9vIGxhcmdlIGZvciB1c2Ugb24gYSB3ZWJzaXRlLCB0aGVyZWZvcmUgdGhleSBuZWVkIHRvIGJlIHNjYWxlZCBiZWZvcmUgZGlzcGxheWVkIG9uIHlvdXIgcGFnZS4gIFRoaXMgY2FuIGJlIGRvbmUgcXVpdGUgZWFzaWx5IHdpdGggYSB0YWcgbGlrZTogPGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+e0NHU21hcnRJbWFnZSBzcmM9J3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJyBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0ndywzNTAnfTwvY29kZT4uICBBcyB5b3UgbWF5IHRoaW5rLCB0aGUgd2F0ZXJtYXJrIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgaW1hZ2UgYmVmb3JlIGl0IGlzIHJlc2l6ZWQgdG8gYSBtYXhpbXVtIHdpZHRoIG9mIDMwMCBwaXhlbHMgKHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgVGhlbiB0aGUgYWRqdXN0ZWQgaW1hZ2Ugd2lsbCBiZSBjYWNoZWQsIGFuZCBpZiB0aGUgYnJvd3NlciBhbGxvd2VzIHRoZSBpbWFnZSB3aWxsIGJlIGVtYmVkZGVkIGludG8gdGhlIEhUTUwgb3V0cHV0LiAgSWYgZW1iZWRkaW5nIGlzIG5vdCBwb3NzaWJsZSwgdGhlIGltZyB0YWcgd2lsbCBjb250YWluIHRoZSBVUkwgdG8gdGhlIGNhY2hlZCBpbWFnZS48L3A+CjxwPkZyb20gaGVyZSB5b3UgY2FuIGNvbWJpbmUgdGhlIG9wdGlvbnMgYmVsb3cgdG8gcGVyZm9ybSBhbG90IG9mIGRpZmZlcmVudCBlZmZlY3RzIHRvIHlvdXIgaW1hZ2VzLCBidWlsZCBzaW1wbGUgZ2FsbGVyaWVzLCBhbmQgaW1wcm92ZSB5b3VyIHNpdGUgcGVyZm9ybWFuY2UgYXQgdGhlIHNhbWUgdGltZS4gIEVuam95ITwvcD4KIDxoMz5BIFNpbXBsZSBHYWxsZXJ5PC9oMz4KPHA+VGhlIGNvZGUgYmVsb3cgdXNlcyB0aGUge0NHU21hcnRJbWFnZX0gbW9kdWxlLCBmYW5jeWJveCwgYW5kIGEgYml0IG9mIHNtYXJ0eSBtYWdpYyB0byBnZW5lcmF0ZSBhIHNpbXBsZSBsaWdodGJveCBzdHlsZSBhbGJvbSBmcm9tIGEgc3ViZGlyZWN0b3J5IG9uIHlvdXIgd2Vic2l0ZSwgd2hpbGUgcHJvY2Vzc2luZyB0aGUgaW1hZ2VzIGZvciB3ZWIgc3RhbmRhcmRzLCBhbmQgY3JlYXRpbmcgdGh1bWJuYWlscy48L3A+CjxwcmUgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNkZGQ7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyI+PGNvZGU+PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gMTo8L3NwYW4+ICZsdDtzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiZndDt7bGl0ZXJhbH0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gMjo8L3NwYW4+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gMzo8L3NwYW4+ICBqUXVlcnkoJ2EuZmFuY3lib3gnKS5mYW5jeWJveCgpOwo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiA0Ojwvc3Bhbj4gfSk7CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDU6PC9zcGFuPiB7L2xpdGVyYWx9Jmx0Oy9zY3JpcHQmZ3Q7CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDY6PC9zcGFuPiB7YXNzaWduIHZhcj0nZmlsZXMnIHZhbHVlPSd1cGxvYWRzL2FsYnVtLyouanBnJ3xnbG9ifQo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiA3Ojwvc3Bhbj4ge2lmIGNvdW50KCRmaWxlcyl9CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDg6PC9zcGFuPiAmbHQ7ZGl2IHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxNTBweDsgb3ZlcmZsb3c6IGF1dG87IiZndDsKPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gOTo8L3NwYW4+IHtmb3JlYWNoIGZyb209JGZpbGVzIGl0ZW09J2ZpbGUnfQo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjEwOjwvc3Bhbj4gICZsdDthIHJlbD0nc2ltcGxlX2FsYnVtJyBjbGFzcz0iZmFuY3lib3giIGhyZWY9IjxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAsMCBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0naCw1MDAnIG5vdGFnPTEgbm9lbWJlZD0xfTwvc3Bhbj4iJmd0Owo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjExOjwvc3Bhbj4gIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAsMCBmaWx0ZXJfZ3JheXNjYWxlPTEgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9J2gsMTUwJ308L3NwYW4+CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTI6PC9zcGFuPiAgJmx0Oy9hJmd0Owo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjEzOjwvc3Bhbj4gey9mb3JlYWNofQo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjE0Ojwvc3Bhbj4gJmx0Oy9kaXYmZ3Q7CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTU6PC9zcGFuPiB7L2lmfQo8L2NvZGU+PC9wcmU+PGJyLz4KPHA+TGV0cyB0YWxrIGFib3V0IHRoaXMuPC9wPgo8cD5MaW5lcyAxIHRocm91Z2ggNSB1dGlsaXplIGpRdWVyeSB0byBjYWxsIGZhbmN5Ym94IG9uIGFueSBsaW5rcyB0aGF0IGhhdmUgdGhlICZxdW90O2ZhbmN5Ym94JnF1b3Q7IGNsYXNzLiAgVGhlIGZhbmN5Ym94IGpRdWVyeSBwbHVnaW4gaXMgaW5jbHVkZWQgd2l0aCB0aGUgSlF1ZXJ5VG9vbHMgbW9kdWxlLjwvcD4KPHA+TGluZSA2IHVzZXMgYSBidWlsdCBpbiBwaHAgZnVuY3Rpb24gY2FsbGVkIGdsb2IsIGFuZCBzb21lIHNtYXJ0eSBtYWdpYyB0byBmaW5kIGFsbCBvZiB0aGUgSlBHIGZpbGVzIGluIHRoZSB1cGxvYWRzL2FsYnVtIGRpcmVjdG9yeSBiZWxvdyBvdXIgaW5zdGFsbGF0aW9uIHJvb3QuPC9wPgo8cD5MaW5lIDcgaXMgYSB0ZXN0IHRvIHNlZSBpZiBhbnkgZmlsZXMgd2VyZSBhY3R1YWxseSBmb3VuZCBpbiB0aGUgYXNzaWduIGxpbmUgc3RhdGVkIGFib3ZlLiAgVGhpcyBpZiBzdGF0ZW1lbnQgaXMgY2xvc2VkIG9uIGxpbmUgMTUuPC9wPgo8cD5MaW5lIDggb3BlbnMgdXAgYSBkaXYgdG8gY29udGFpbiBvdXIgYWxidW0uICBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZXhhbXBsZSB0aGUgc3R5bGVzIHdlcmUgaW5jbHVkZWQgaW5saW5lLCBob3dldmVyIGEgY2xhc3MgdGhhdCB3YXMgZGVmaW5lZCBpbiB0aGUgc3R5bGVzaGVldCBzaG91bGQgYmUgdXNlZCBpbiBwcm9kdWN0aW9uIGVudmlyb25tZW50cy4gIFRoZSBjbG9zaW5nIHRhZyBmb3IgdGhpcyBkaXYgaXMgb24gbGluZSAxNCwganVzdCBiZWZvcmUgdGhlIDxjb2RlPnsvaWZ9PC9jb2RlPi48L3A+CjxwPkxpbmUgOSBiZWdpbnMgYSBsb29wIHRocm91Z2ggYWxsIG9mIHRoZSBmaWxlcyB0aGF0IHdlIGZvdW5kIGluIHRoZSBkaXJlY3RvcnkuICBUaGlzIGxvb3AgaXMgY2xvc2VkIG9uIGxpbmUgMTMuPC9wPjxici8+CjxwPkxpbmVzIDEwIGFuZCAxMSBhcmUgdGhlIHJlYWwgbWFnaWMuICBIZXJlIHdlIGNyZWF0ZSBhIGxpbmsgd2l0aCBjbGFzcyAmcXVvdDtmYW5jeWJveCZxdW90OyBhbmQgYWRkcyB0aGUgPGNvZGU+cmVsPC9jb2RlPiBhdHRyaWJ1dGUgc28gdGhhdCBmYW5jeWJveCBrbm93cyB0aGF0IGFsbCBvZiB0aGVzZSBpbWFnZXMgc2hvdWxkIGJlIGdyb3VwZWQgdG9nZXRoZXIgYXMgb25lIGFsYnVtIGFuZCBhbGxvdyBjbGlja2luZyBiZXR3ZWVuIHRoZSBpbWFnZXMuICBUaGVuIGNvbWVzIHRoZSBwYXJ0IHdoZXJlIHdlIGRlZmluZSBvdXIgaW1hZ2VzLgo8cD5XZSBzdXBwbHkgdGhlICRmaWxlIHZhcmlhYmxlIHRvIHRoZSBzcmMgYXJndW1lbnQgb2YgdGhlIDxjb2RlPntDR1NtYXJ0SW1hZ2V9PC9jb2RlPiB0YWcgc28gdGhhdCBpdCB3aWxsIGdldCB0aGUgbmFtZSBvZiBlYWNoIG1hdGNoZWQganBlZyBhcyB0aGUgbG9vcCBpcyBleGVjdXRlZC48L3A+CjxwPlRoZSBpbWFnZXMgSSB3YXMgdGVzdGluZyB3aXRoIHdlcmUgdXBsb2FkZWQgZnJvbSBteSBpcG9kLCBhbmQgYWxsIHNlZW1lZCB0byBiZSByb3RhdGVkIDkwIGRlZ3JlZXMgY291bnRlciBjbG9ja2Vpcy4gIFNvIHRoZSBmaXJzdCBmaWx0ZXIgSSBhZGRlZCB3YXMgdG8gcm90YXRlIHRoZSBpbWFnZSA5MCBkZWdyZWVzIGNsb2Nrd2lzZSB2aWEgdGhlIDxjb2RlPmZpbHRlcl9yb3RhdGU9OTAsMDwvY29kZT4gYXJndW1lbnQuIFRoZSBpbWFnZXMgdGhlbiBuZWVkZWQgdG8gaGF2ZSB0aGUgd2F0ZXJtYXJrIG9uIHRoZW0gPGVtPih0aGlzIGlzIGp1c3QgZm9yIGV4YW1wbGUgcHVycG9zZXMsIEkgZG9udCB0aGluayBhbnlib2R5IHdvdWxkIHJlYWxseSBzdGVhbCB0aGUgYmx1cnJ5IHBpY3R1cmVzIGZyb20gbXkgaXBvZCBmb3IgY29tbWVyY2lhbCBwdXJwb3Nlcyk8L2VtPiwgc28gSSBhZGRlZCB0aGUgPGNvZGU+ZmlsdGVyX3dhdGVybWFyaz0xPC9jb2RlPiBwYXJhbWV0ZXIuICBBbmQgZmluYWxseSwgYmVjYXVzZSBldmVuIHRoZSBpcG9kIHRvdWNoIGNhbiB0YWtlIHBpY3R1cmVzIHRoYXQgYXJlIHRvbyBiaWcgdG8gZGlzcGxheSBvbiB0aGUgc2NyZWVuIEkgd2FudGVkIHRvIHJlc2l6ZSB0aGVtIHRvIGEgbWF4aW11bSBoZWlnaHQgb2YgNTAwIHBpeGVscy4gIFRoaXMgd2FzIGFjY29tcGxpc2hlZCB2aWEgdGhlIDxjb2RlPmZpbHRlcl9yZXNpemU9aCw1MDA8L2NvZGU+IGFyZ3VtZW50LiAgV2UgYWRkIHRoZSA8Y29kZT5ub2VtYmVkPTE8L2NvZGU+IGFyZ3VtZW50IGJlY2F1c2UgZmFuY3lib3ggZG9lcyBub3QgdW5kZXJzdGFuZCBob3cgdG8gZGlzcGxheSBlbWJlZGRlZCBpbWFnZXMgaW4gaXRzIHBvcHVwIHdpbmRvdy4gIFRoaXMgZGVmaW5lZCB0aGUgaW1hZ2UgdGhhdCB3ZSB3ZXJlIGdvaW5nIHRvIGxpbmsgdG8uPC9wPgo8cD5OZXh0IHdlIG5lZWRlZCB0byBkZWZpbmUgdGhlIHRodW1ibmFpbCBpbWFnZSB0aGF0IHdlIGFyZSBnb2luZyB0byB1c2UgaW4gdGhlIGdhbGxlcnkuICBUaGlzIGNhbGwgdG8gPGNvZGU+e0NHU21hcnRJbWFnZX08L2NvZGU+IGlzIGFsbW9zdCBpZGVudGljYWwgdG8gdGhlIGZpcnN0IGNhbGwsIGV4Y2VwdCB0aGF0IHdlIHVzZSBhIGRpZmZlcmVudCBoZWlnaHQgdmFsdWUgKDE1MCBwaXhlbHMpIGZvciB0aGUgdGh1bWJuYWlsLCBhbmQgZm9yIGtpY2tzIEkgY29udmVydGVkIHRoZSB0aHVtYm5haWwgdG8gZ3JleXNjYWxlIDxzdHJvbmc+YmVmb3JlPC9zdHJvbmc+IGFwcGx5aW5nIHRoZSB3YXRlcm1hcmsuICBJIGFsc28gcmVtb3ZlZCB0aGUgbm9lbWJlZD0xIGFyZ3VtZW50IHNvIHRoYXQgdGhlIHN5c3RlbSBjb3VsZCBlbWJlZCB0aGUgaW1hZ2UgaW4gdGhlIEhUTUwgb3V0cHV0IGlmIHRoZSBicm93c2VyIHN1cHBvcnRlZCBpdC4gIFRoZSBzY3JlZW4gY2FwdHVyZSBiZWxvdyBzaG93cyB0aGUgZWZmZWN0LjwvcD4KPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFRRUFZQUJnQUFELzJ3QkRBQWdHQmdjR0JRZ0hCd2NKQ1FnS0RCUU5EQXNMREJrU0V3OFVIUm9mSGgwYUhCd2dKQzRuSUNJc0l4d2NLRGNwTERBeE5EUTBIeWM1UFRneVBDNHpOREwvMndCREFRa0pDUXdMREJnTkRSZ3lJUndoTWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qTC93QUFSQ0FDaEFmQURBU0lBQWhFQkF4RUIvOFFBSEFBQUFRUURBUUFBQUFBQUFBQUFBQUFBQUFRRkJnY0JBZ01JLzhRQVVCQUFBZ0VEQWdNRUJ3UUdCd1FJQlFVQUFRSURBQVFSQlNFR0VqRVRRVkZoQnhRaWNZR1JzU015b2RFVk0wSlNrc0VXSlRSaWNuUHdKRldDNFJjMlExTldnNkx4SmpWRVk3SmtrN1BDMHYvRUFCZ0JBUUVCQVFFQUFBQUFBQUFBQUFBQUFBQUJBZ01FLzhRQUl4RUJBUUFDQWdNQUFnSURBQUFBQUFBQUFBRUNFU0V4QXhKQkV5SWpRbEZoa2YvYUFBd0RBUUFDRVFNUkFEOEF0Zlc5VnViSzcwK3hza2c5WnZwR1ZaTGduczBDakp5QnVUNEN0THZWTG5UTEZZOVF2Tk1pMUdaK1dESWNSdU1nZE56bmY2VjA0aGswWDFhS0RXd3ZZeU1lUm1Wc0t3NytaZnVuenFKM01sMUp3dElIa3VKck5OV2dXeW11QWUwZUxtSFhPNUdlaE5CTkxyWE5Lc1pIanV0UXQ0WFJ3aks3NElZak9NZTRnMXRIcldseTN3c285UXRudVdHUkVzZ0pPMmR2aFRGRkRISnhMeGd6eHF4N0dOUVdYTzNaSGI4QlRYREVxY0o4RnVzWVZ4ZVFISVhCMzVzL09nbGI4UzZKSE8wTW1xV3FTcTVqWldmQkREWWcrRmM1OVN1RTR0c2RPUms5V25zNVptOW5KTEtSakI4S2k5cnFlbVcybjhTV2QyQkpjVDMxd0VnRVJacGM3QURBOGZsU3F6aXVOTDFuaGM2aHpvdzA1N1ZwQ0NRSlNSaFNlNDBFbW0xM1NiYTk5VG0xRzJqdU1nZG0wZ0JCUGNmQSsrbkNxNHNrZ2owZTUwYlZ0UWUxdVpKWFdlM05pSGVRczJ6cTJNdG5JT2U2ckJ0b1JaMlVVRFNzNnd4aERJL1VoUmpKK1ZBMlhldkphOFMyV2tsY2lkQ1hrL2NZL2NIeDVXL0NqOUpYUDlMcE5OeW5xeTZmNndCeTc4L1BqcjRZN3Fpeng2dnErbWFscVZycDBiQzduRnpienRjY3Jvc1I5Z0JNYjlEMzc4MU9WcnFNVjF4ZFphaXdaSWRRMG9KRXhVNE1uTVNVejNFWU5BczRiNHB0ZFIweXpXK3Y3VWFsTUd6RUNGSlBNUUJqeHdCdFQ3SGVXMDF4Y1c4Y3lOTmI0N1pCMVRJeU0vQ3E3dDdpenVmUjdEbzBjYlNhcy82cUVRdHpxNWZLdm5Hd3h2bk5QZHZmdzZMeE5yYTZnN3E5ekhBMEdJMmJ0aUkrVTh1QnVjOTFCSVAwN3BRdG83azZoYmlHVkdkSExZREtwd3hIdUpBcm1lSk5FV0tLUTZyYUJKU1FoN1FiL2w4YWgyZ1JoMjRNRWlCZ0k3dHNNTTRJSklOTEJieGZvM2pyN0ZQMTBtUFlIZEhrZmp2UVRrSEl5RGtHaWtPaWtuUWRPSnpuMVdMT2Y4QXBkUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRlJsdURyZmw1Rm1Fa1lVS29tVmlRQVA3cktQd3FUVVZaZEpac3dhTndwYmFQZmV1TGNTeVNCWkVST2lJcmxTUUFjbjlnZFNhZjZLS2lpanJSUlFGRkh3b3g1VUNEUzlMVFN4ZGlPVjVQV2JsN2x1WUFjcGJHUU1kMjFMNk1lVkdENFVCaytORkdENEdqQjhEUUZGR0Q0R3M0UGdhREdUUm1zNFBnYXhnK0JvQ2lpajRVQlJSOEtQaFFGRkdQS2pIbFFGRkdENEdqQjhEUUZGR0Q0R2pCOERRRkZad2ZBMWpCOERRRkZGRkFVVVVVQlJSUlFGRkZGQVVVWVBnYVBoUUZGRkdDVGpHOUFVVm5rYjkxdmxSeXQrNjN5b01VVm5sYjkxdmxSZytCK1ZCaWlqQjhLenl0KzZmbFFZb3JKVWpxQ1BlS0FySG9wUHdvTVVWbmxiOTF2bFFWWWRWSStGQmlpczRQZ2ZsUUFUMEJQdUZCaWlzOGpmdU44alJ5UDhBdU44cURGRlpLc09xa2U4VWNqZnVOOHFERkZaNUcvY2I1VWNqL3VOOGpRWW9yUEkzN3JmS2psYjkxdmxRWW9yUEszN3ArVkFCUFFFKzRVR0tLenl0KzYzeXJGQVVVVVVEYnFURVN4NEpHeDZlK2tYTzM3emZPbG1xZnJZLzhKK3ROK2Q4VUc1a1lrKzAzenJIT3gvYWI1MXBuZXRTYURjeVBuN3pmTTF6WjN4c3pmTTBaTmMzb01tUi93Qjl2NGpYTXlQL0FONC96TllKclVuem9NTkpKKyszOFJyaThrbS8yai94R3QySnBPMjFCaHA1Zis4ZitJMTM0UjFBNmtZN2oyaDlzeVlMRTdDa0x0djF4WEhnZWRvV2dqeHpDUytrUWtkQjFOQk03eDJGM0o3UndDTnMrVmNDN2Q3SDUxMXZ2N1pKOFBwU1ZqNDBHNWRzZmZiNTBkby9lemZPdE01ckdmSHJRYkYyL2ViNTFvWkh6OTl2bWF4ekFISFN1Yk1EMzBHV2tjZnR0L0VhME1yL0FMNy9BTVJyUm0zclFuRkJzWlpNZ2M3ZnhHdVR6U0Q5dC80alFXM3JpNW9OWG1rQTJsZitJMDZjTXlNK3F5Z3U3QVFucVNmMmhUTEtkczA2OEtIT3JULzVQWC9pRkE0TkkyVDdSNm52ckhhc1AybStkSTN1VkR2bnhJcm1idFIzaWdjUk0zVG1iNTFudFcvZmI1MDBIVVkxSkhPdVI0bXViNnFtTm5YK0lVRDBaM0RZTEhHT3Vhd2J2bDZzZm5VTjFEaXExc2NtYWRWeDNjMU00OUllbHpTZG42eUFmTnFDZjNlc3JicVR6a251cVAzbkZGd1NRa2hIdXFOWFhFbHM4cVptVHMzMkQ4Mnc5OUk1TlJzWkVrY1gwYWhja3NQTHo4YUNRVyt1NnJxbHpMYTZkSUpab3dESnpQeXJHUE0rUGwxcDFnL1NmTk90NXEwa1RRNExkaUFGSG1jNXFzTFRpNmJoSkI2dEg2Mjl5ck9zemV5RC9lL0dtSFV1SmVJYnE2YVNTUzVSZ1FTZTdJNkhwUVh4eFJxVjdvY1ZyY1djc3pxVVZtU1lobGtCeHZ0dm1sM0ZGeTdlanZVWjFMSS9acVJna0ZmYlRiTmVmaHhWeE5xTjNIYzNkOWUzMHcyN05sMktnNUhkajhLdDV0UnZOVTlDbXEzVjdEMk53U1F5azV4aDAvR2dxbWE4dWhxOHlpOXVWUmxCR0pteHQ4YWM5T3ZiaU8vUXRlM1BJUmc4MHJIYy9HbUo1UStwMjVZYzNQRVJ2MUdLY1ltQ1R4dHlIUGZnWnpRTGRldXJ2OUpXMGtkNWNzblo0L1hNTndUNEdyRDBLR2E2dHJLZHBwc1BHckgyejRlK3EwMVFubGd3Q0FHSXF6dUNwdTA0ZXRYTytFNUNlYk80UC9PZ2w4enhpR09GcENDNTVWRys1eG5yOEtyN2l5MmtpMC9VcFV2cnFQN0Y4eGlUQUpXUlFNRHJqR2M3OWNWTjdtem51UmJzc1RrSk1zZ0lIVWpPS1lPTDlOZHJhZU5ZcGhQTGJ5b2lJbzl0aHlsVjNCUGVlbUtCcjlEZHhKSmZhcmJ6eVN5RXdDUlM3bHNkeEc1ODZldUk3Q3d1dE9udW5FZ3ZZTGRsaWxFN3JnRGZvRGp4NmltRDBWVzkzWTZ6ckVNa2IyODZXV01TajdqYzNlS2JOVnQrSkZ0bmU1MTd0b1NwTHhwYmdBand6M1VEWHBkbGRhdnFNS0c0dUpJNG9KSkdnYTRkTzFiS3FNa0hvTTVwOHMzL0FLTm00anU3cTVnZ2VSV1FjN1N0SjdJSlVFOXdPZmNNWjhhamVnYXVOSzErMEZ4SWtjRXNVcVNPN1lDNDVXQno4S2MrT0xSTG8yZXEyYzRsdCtUc25NVzR4elpEZWVjNCtWQnBxWEZrcGRoYnp5eFlKNUZXUnVZZkhwMThxZS9TVmQzSTlISENjeXpUUnl5TXBjcktRVDlqM2tIZW9CeVc0a2hjTzZCVHpNcnNEeU40NXg1RDNWT3ZTU0RKNk5PRDhra2twa25yK3BvS3B1YjYrVlZZWHQwTjkvdDMvT3U5dHFWN2xWTjdja2Y1Ny9uU2ZVRVQxSXlJMlNrbksrRDBOYlIyRjR1blI2aTF2SjZtOG5ack1SN0pZZFJueG9IMjExYlU3UU85dHFWMUU3cVZibGxKeXA3dHpUZGMzOTZja1h0MXpaSFNkdC94b2lsSFlEZnAxcEhka05idG5CM0hYdW9GMXJkYWdDNlMzTjJ1M1JwbjIvR3NUWGw0dUN0N2MrWDI3Zm5TZlFWU1c1WlpXazdJSnpQeUFGZ01qcG5yVzk4cUxJNWg1K3k1anlsOFp4NTRvTzl0cU4ramh4ZTNJS25LbnRXMlBkMzFLUmRTWHNTWDBOeE9nZmFXTlpYNVk1UjFVYjlEOTRlOGp1cUZwSUF1TnMrZFBYRCtwUjJGOGUzYVFXY3c1WmtYdzdtSG1wM3gzamJ2b0piYVQzTURSU3RjVEVnL3RTc2ZQeHFWZW1hM3VINFNzYnkxbWxSdTFSV2FOeXZWV0k2ZWRkN1BoeURWRWlUblZaY1lZajl2d09mZGlzOGN6VDNHZzIvRHJXcnRjQ05KdTFaaCt5U3VBUEVqdm9LYTRVOWZIRjJqYzk1Y2xQWG9ReXRPeHlPY2RSbXZVeDZtcVE0VzRXZ2gxcXdsdVVuV2VPNFIxVm1DNElZSGNZL25WMzBCUlJSUU5XcmZyWXY4Sit0TjJhY2RXL1d4ZjRUOWFiR29NazcxcnpZckRIRytEVEZ4SnhISG9Ob3Nra0x1SHlBeTR3TVVENHppdVprcXBYOUs5N0hKL1o3UngwM0xDbE5oNlc0VElWMUd6Q29UczBCSkkrQm9MTkxkOWFNeHgwMnFQYWZ4bG91b1JLNlhxS3pmc05ubUh3cGIrbk5Oei9iSS9rZnlvSEVuYXVEMFEzVVYxRUpZSkJJaEpBSTI2VmlRMENWenZrK05MT0EySHF5c2VrbDNLVWI5NFo2anlwajExK1RUanV3VnBFVnNISHNsZ0NLa3ZES0JKcmVOUmhWa09CNGJVRDNxRzE1SjhQcFNVbWxWL3dEMnlUNGZTa2hvTlFhNVRUaUNKNUNDUWd6Z2RUWFR2NlZGT05kVEZwcGd0UktZM3VUeWxobk9QRGJ4b0dEV1BTUlBiM1VpMmxxQkd1MzIzWFBmMHBGSDZWSlN5bVN5ajVNKzFnNzRxS1gxdkQyVE1IK1lKTk1raW9pZmZHZmVhQzdkTjQzMG5VNVk0bzNaSkh6a1BzRjI4YWtDeUxJb1pHREE5Q0RYbStHNEViNUVwVStJcXp1QmVKUk5ielIzMTZBc1NoWTFPZm5RV0VhNU9heWtpU0lyb1FWWUFnanZyVitsQW5rTzFMdURIZVhpTytMT2VSSUFpcC94REpwQkowcFp3Ui8xajFMYmZzeC8rUW9FTTl5M2F2diswZnJYQXp1M2ZUaFBhcUpYL3dBUjd2T3VZdG96MXo4cUNCYSs1L1M4cDcrVmZwVVkxaldVMCtFcXBCbVlZVWVGVFRpQzJSZFlsQUhSRjd2S3FnMTZacE5UbXljNFlnZVZBaW51NVo1R2VTUWxqMXJnSkNEMTNwVlk2WlBmdjdJS29PckduKzM0YnQwQTdUTEh6b0krbDBWWEJZOGdPU3RTZlRlSzJzYlUyNWdXYTFBNWxWa0I1VDQwb1RodXhkZDQrdmhXMDNDVFcxbExOYlB6RURtS040ZUZaeXk5WGJ3K0w4bVYzeEREZlR5YW5jK3NGRVJUOTFSc0FPK24yMGprRTBiWEhLMEl4ektpNEpIaG51cUx4eXlKY01IWGx3U0NuY0ttZHVCSXFNQ01FQ3RPVjR2QjMxS2ZScDlNU0xTOU1tdGJ6SUx5eXo5b3BYdkhMVXYwZEpuOUNHc0pJVVp6TzRIS3ZLTWMwZFFSVXd3cWYyUTVmUXByQkgvZnNmOEExeDBSVjgybjhpVzBqU3hRaEhHV2Q5c0hHTnhtbEN1T2JsNXdXVW5KNWVsS05UVHR0RGxueGdSY3JiZVJ4dlNPRWMvM1FjQUtUZ2JETzlBdG5pZ2xqTDNJa1pZL2JRSTJNdDVudUZTclN0WTFDMzRhZ3NyQmt0bWVjekNTUk1xdURqQkozT2RzWTI2MXJvME9uYVRiUjZqcU1DWERTWTdPMUs4d09QMmlPOCsvYXBOeFhiYVhybHZwNXRkU2d0Sm9NUnNnUXFGWE9jQUFiWThLQ1RhUk5mWEhBS2FoZXhPTlFlMzl1TU5sY2c0eWc3Z1J2U1RqRFNVMU9RYWZFcFNOY1o1Q1FGQlU5UU80Ny9oV3FjWTZUbzl0RHBjVjNCSXFRQkZEQnRnUElDbXZXT0pyUzc3U1MxdlNIbFRKZUZDck5nYlpQZGpmNTBEYjZPckNiUytJTHBHRWZhUEU2R0RtdzRRT0NHSTZZUHozNlVsMXlXZTdubHRvTlBta2Nkb2dWY0RiZjZiVXE0SG5zOUp2bnY3KytpVDFpSm9peEpMaDJ3Y0hieEZPU1RpOW11b05PalZpeGZMSnU4b3pnbkp4dDNZSGthQ3ZYczdiUzljZ1ZyVTNWK0VQTklQMU1BS0E0d1I3VGVmUWVkUzJHd1RWYk45SkVVMGMxNFdqN2NyN0lCSUlPZXVBUEtuV3k0WDFMVkxqdGdxUXhNbkwyam5id0l4MzlLZStJTkcvUkhEZDllMjExS3R4QmJzNmRraW9lWURiQkc0K3RCSHJiME0yNnhxcjZwS2M5U0k4OS9jUG5TRDB2NmRIcGZCdkQrbTI1WXhXMXgyS0Z1cEN4RUROTWNON2ZSY3M4dXA2ak03TDBudlpHQStHYWQvU2d4bDlIM0REc1N4YVJTU1NTVDlsNDlhQ0IyZC9wYitpeS8waTRkVTFPQ2NNaUg3ejVjRUZmaGtmQ21LSFRZNUxLSjFKVm1VSHlweTFLT0g5RHZ5QWh5WXljNXgxcnRwOXVUWVFuRzNMM0R6b0dYMWU2alFyZ092aUswdVVCczhHVDdWajdVWlVncmp2ejBOV0duRFVjMmpOY0t3RWdPZmVLaCtwcmJ2WnVCTW5NcWN3d080SGZlZzU4TVJ3NXY4QXRXQy83TWVUUGVlWmEyMWFJSlppUlYyTDQ2MXcwTzRoRVZ5R201SGJDOU83L1FwYnE2d0xvaU4ydk0vYmJrSDJjWVBkanI4YUJ2bk5wY05iZW93U3h1VVdOMGFUdERKSm5xdXd3UExmMzBPV3R5VmxVcXdPR0JHQ3BIaUtJakJDdHN5Uzhrb1lTbGxHK091eFBRK0ZPRWtQNlV0WlBWK1NabU9aSk1iOHg4Yzc0eDFOQlpubzUxdTNpdEliRzR1SWtlTWg0T1k0T0NTU3VmeEh2TlN2amZVN0szdGJMVlpBWGdCTUpDWTVzbkJIWHUyYW9idzdjYUZiV2Rxc2VpeVhWemdMSk5PVlNOaU8vT2M0SHUzd0tsRVdyV3VzdmQyTnhwTm84Y1o1b3c2Q1FFNDIzUHZPTnZIcFFNV2k4YzZMTnJGbFpMYVhZa2ttU05DUW1BeElBenY1MWE5UnZUWWRBVHM0NHRMczRybUp0aWJaQVNlYkFLbkhqaXBKUUZGRkZBMDZ2K3RpSGR5bjYwMW40MDZheCt0aS93QUordE5aNlVHam5CcXJPTFk3aldaYnVkRmtraWoyUmM3SU5oK1BXclFseHlObndxTmFoREhGb1YwMGFjb2VQSitZb0tQdTlObGpjRmxJOGFRdkFRMk1HcGxmaFJNUmpyVFBQR3ZNZGhtZ2FMZDViYVpKRVlvNDZFVlprRVFHbnhTOW9PWWdiWnlmblVFYTM3UXF3WFpUdWU0VkxOSm5hYXdSUzJlejluR1RpcGUrSFhIMW1OdVN3T0hNL29aUDh4L3JUaTQ4NmJ1SEIvVXlmNDIrdE9MZ0VIYjhhcmtaZGZYbTBxVURZQmxPZmN3cVVjTjQ5WWh6blBhL3lxTmErQitocm55WFB5cVI4Tk1QVzRRUmpENUhudFFQZC9qMXVYUFhiNlVrYWxkLy9iSlBoOUtSbWc1bnI1VkRlTW9vM0VibGN1cnJ2OERVeVlWWC9IRjNKYUs2a0FreUt3YndISzIxQkZOUVJUR0FSNVZIN3Ezak80WHBXYmpXcFhjeHRJbU9uVEZJNTlRSUlEWTM2ZVlvTlRicVZJVmNrMDg2SEI2bmRsUkpublRkZkEwelFYaDV4SUZ3bzZIUGZUaFlUeXlhcERnRWc3ZGVnclAxMS9XWVhjNXE3N0wrd1czK1V2MEZkR3JTeUg5WDIzK1V2MEZkV3JUa1RQNVVyNEwyNG4xSWQzWUtmeEZKWkFBQ0tYY0lRc25FMTdKajJYdGhnLzhBRUtCM3ZyRHRPYVdKZHgxVWQvblRNMFhLY2QvaFVsczd1QzlqYVMzY01BeFUrSU5NZWtvdDNkWG5hbk9QdStXU2FDdWVNYmdXbDFlem5iczRWSStWVkJaV2o2dnFiQWtoYzg4amZIK2RXNTZTbzFSdFRSdDJFQzQ5K0JWZThNUUZMT2FZRExPK0FmSWY2TkE3SkhGYnhpS0pRcXIweFFYeU5xeTNLbzNPOWN5NEIyb2Y2TGJabjdSTWJiamZ3cDdqbmt1VlZaUXZValBYSnFPUHE2NmRBVW1oUGlweUNDZkVWenN1SkFKRUxBaEFlcEZZbjdYbDZNOStQSDFsNzdhY1RhRjZ2SWJ1SlBaYysxaXRkS2NwR0kyT2VYZFRVNFNPMzF6UnlnYlpsNitCcUxYdWkzV25YTWxvNjluZFJ0eUZUNDdZUGhpdHZPVURacy9PckMwa2Mvb2MxVVk1c3pQdC93QVVkUUU4S2NYMjJHdUxiVHlXd0FvMUNIbU9TQU51YnpGV05CcGQ5cGZvaDFXMXZvVml1RElYNUJJc2d3V2o3MUpIY2FDQ1E4aGltdDVFVTl0SGdnQU52allINjBodGxaSlpiZFlnb2RWRFpJUFR3eDd1dEtZb3BTUXZaODJSaGVYYkZLTGZURGFwSlBPd1IyVEVTblB0TjNaOGdONkJYRTZyYUxEZFNpT09NODhiT2NlempKQTl3MytIalM1YnEyOVpuNVdIM3ljK05SMlNQMWhta3V1V2QyVXBuOTFjWXdNOU9wNlZHcDcyK3NMeWRZSFY0Z3g1ZWNrSEZCS05YZTJhYVdRWkRCQStWN3huY2ZLbnFHZEpJVWFJaGs1ZDVDTmgvd0ErdFFxd21OMWNvYm84NVpHQkM5Q1FRY1ZLa3ZSeWhValBnaUtOZ0tIWlYyWkZpeG05bFJNQ0dDNUxlMk56OEtlZUhOWFdEWEpDcUt3RUxjdVR0MUZSSzUxR1VvVWtiQjhBZW5pSzdhQkwydXE0UHNqc3pqYk9lbTFTYjI2NStza2s3WFZvMm9QZkE4aUtxcU5nb3dCVGhxMWdkUzBpYXo5bk1xOHBMWngrRk5YQy9JdG5rWUNnNHljQ24yVzdpakFCZGM5MjlWeVZqY2VpN1ZaSlM2MzFyZ25jSG1KSHV5S1IrbGl5ZXg0TDRmc25ZTTBFM1pzdzZFaU9yTXU5VWFCNFlJaXNseE94V05lNFk2c2ZJVlgzcGtEZjBkMHJ0TU93dW01aUJqSjdNOTFCVTk0eGZUbURZeHlyMDhqVWk0WHNsdXRPak9kbGNqclVZWkpKcmN4UlJ1N0ViS296MzFMK0YzRm5wQjdac0VTT01BRmgzZDQyb0phNWhnMC9rWUFLVjVCc092S2FxYlY0NGt0Wmw3VW93aGJLakh0RTRxejdpMW11dE1Od3ZNc0NGWkdkbElBVURjL2pWY2F2YnBCRmNyTEtxeXNyRGxEKzdHMUFoNFN0b3BrdnpKR3JGSXdWeU9oMzZVcDE3bU9scWdmbVR0VlBJRUczWEp6MVBmU2Zoa3pKWTZvWU9UdERFdkx6Ymp2cExQTnFDTVRkUEc4YTdzc2E5UE9peWI0ampKcGd1b3BKb3JodWFNS0VSays4TWZoVWg0ZXRyUzJzcDVKaVZ5Vk9Ya3dXMjZGUjFId3ByMC9VYlo1WlVTVEhOak9Uc2NmdStYU2s2TEtsN2NyTE1BV1lFTUIxSGw5S2syMzVQWGlZbis3MUZYaU1Oc3l3RmM0a0E1V3dUNWRSMTJwSGFhcmMycVJTaSttM0xLRlNVNWpKd0NWMzJQVGVra2FKRUhhWExCenkvZjNBSHU3cVN0YU1KL3N5QUdHTS9tYXJtbXZEV3NYTXZFR25ReVhidUd2b2x5ekU1SE52OE1uNW12UVo2MTVmNFdDcnhYb0tBdm4xdUU0Sis5N1kzOTFlb0QxTkFVVVVVRFRySDYyTC9DZnJUVVRUcnJINjJML0NmclRVd3hRSXRSV1dTeG1XRWtTRWJZR1NmS3E3NGsxUzhHa3loWTM1T3p3REdkaHYzMVpyRFB4cUFjUzJ5dHB0N2x5aWhTY2ZIcFFWYWwxYzNKZkxNZVhHU2FReVhrcGtJR2VicGlucTBDUjJzN2tBSzJWWEl3V0hqVFZIQ3IzWmJmc3djbGdNNytGUzNUV0dGenltTUtMZTVtaWhDbFhWbkdkK2hIalVpNGFTVDFPUjJQc0Z1VmMvalVkNTFra1pnTmlkczl3cWJXRnVMV3lpaEdkaHY3K3BwUDhBTFhrdk9wZUluWERuL3dBbVQvTWY2MDRQbWtIRGcvcVpQOHgvclRpNDhxcm1RWGx1bDFieVFTWjVKRjVUanJTamc3MXVIV093dTVWZFF5OWs0R09iWTdlK3NTWUF5ZWdyaHdhYnE5MTZHK21DcEEyOFVZYlBLTjhIM21nbWQrTTNrbncrbEl6dlMyKy90a253K2xJbW9PYmIvT29UeDlEejIxc3d3Q1g1U0QzakJxYkVWRWVPbzg2WmJ5ZnV6WVB1d2FDcEZ0Z05Vd1FydVBhNkRBSGlhYmRVUVBlTVVHUVRnQWQxUGZadkcwN3JIekVrZ3RtbXN4R04ybmx5Y2JEdnpVdDA2ZVBEM3kxOGNZd1VIWVpLcVB2QTcvS243aDYxNXA1Yms5RVhrWDMwd1I1Njc1WW1wWnc5aGRPWWtqZHp0U001NWJxMnJFZjFmYmY1U2ZRVjBhdWRrZjZ2dHVuNnBmb0s2dFZaSjMvR25iaFRINlVtR1Juc2ZIKzhLYTNIZlNyaFlIK2xzdXdQK3hISC93QzR0QXkyMXpOWTNra2tEbFR6dDM3SGVwRHc2NjhsdzU2dXlqNm1vcWs4VThrand5cEl2T3dKUTUzeWRxbEdncUZ0RmtCM01oeVBJRC9uUVZwNlVVN1RVcnlNZDhhL0gyYXIyMHZHdHRJaVNJZTB6TjA5OVdWeDJxemNTelJuN3BpWDZWQWJuVFBVMTVZOGxRU1ZCOHhRTkRYOXpITDlvMmFtT2lhV2RTczNuS2txcTlQTTlLaGlXVXQxZXJIdWN0akhjQlZ0YUVJclBUakFNRG0yT0t6bGZrZWp3WVMzMno2aXBid3lDNWRYTHNxc2NjMVNQaHFTMG1qZTNuVG41d1J5OHZsMXA5MS9obTB1aDJzV0VsOFFkalVkdGJLNDA2Yms1Y01mMmxOV1RUamxsdTdTRGh2T24zMGxzSFpvVG5DdDNWTnZTUHB4aDRndGJyMlJEcUZxRlo4ZmRlTURIekJxSTZMYVlZdTQrME81SnEyK045T0Y1WTZRZVVFUnVRMmU1U2d5Zndxc3ZQbHRiU3J4SFBieU14SWtUY25wbGhWbzhDR052UXZxSmx5RTlha0o1bTV1K1B2cURhYkUxeHhrNWtQTVFVQkk3OEhZL0dwendEQzAzb1kxQ05Ua3RkeUFFanpqb0doN3FJakZ0YkVIKy9rZmdLajJxUGRQZTlvMHpjeWtNQ3hPUERwK0ZTZGRLbjVqN2NZSFFuUDBwQnFXZ1hGeXJMRUVZNDN6Smdudi9sUUliQ2RKUVZmbERqZkJOTXVxV0tTcmR5U0ZSeVMrd1AyanY5UEduV1hTTlJzRTlZa1dJRlIxRWd5UGNPK21xU1VTUTNBbUxOTDI0eTVPNUpQU2dUY3kybllBRXZsdVZTT281dS84SzJna21VZHAyczJGeDdTdjBOSnJreUs1U0tQTXZNQWk0NkdsY3hSVVNGRG5sUE1kdkdzMi9IYng0Y1hPOGFLa2xhWlE3a2xpTWJtbmpoc0VhcTJCMVFrL01VeFcyZXlWUjU3MUl1R1VINlNZOUFJeWM1NjdpdE9WdTd0WWR2cTNxa0lHU0ZVN0tQNTF0SHhIYnRBVk52STh4UDMrMTIzOHNVeHpuMlNDUmp2enZTTlc1RVhPU091d3hSRDdlNm5OYzNWcmMyOGlwYzJ6OXBFWFBzRTk0YkcrRFNuMGdhbGF4OFBhTGZhcFlyY3E4M004S1B0a3B2aHFqc1hNeFZzNEhuMXB5OUpha2NHYUN1ZGhJQWM5L3dCblFRTFY5VDBpOFJqWTJVMXVrZ09BaEFaUjcvOEFsdlMvaG1mazRaV0lOK3N1WmxCSFRaWXpVWFdQSkF3UUQzKzZwSHAxcmN3Mk5yYnl5UVdxTExJNnVGNW1PVlhKS25ZakE4cUM0WUxlTzU0V1NOeU1QWll4NCt6bXFHMWFMdDNhU2FhTlVLTVU4U1RqcDViVlBiYVc1bHRwWVJNOGl4V3ZNanVNa1p5RDVia2VIU29ISnA4aktUSjJhc1FOODdrMENYUVl6YjIyb2RsbHlpY3I3YkU3OVBERkpacmVkclJwcGtOdWpqYVU1Yk9Oc1lHNXArMHF3RnJIREdyYy9yakJXSUhRY3JISy9HdEw3VDU3aVgrMENRZ1lITjAyMitsWnQ1MDdZWSt1UHY4QThSaTBqamdaNG9vbVljeHpJNEJadmNlNEh3RlRQaC9oR1BpcGJpZEx0clV3RlV3MGVlYkl6WEhUOURqQlo3aWJtYm0yRVorcHBUZE5jNmR5SllUM0VVVHVUSXlURlNkdGh0ODYwNG41ZlE0dHhHenZyQlNNZEFJVDhlK3VUZWpXMXQ5U3RJQlBMTTEweGlEbFRoUUJubVlkTTVJNzZqN2F6cURqc3pxVjRjZU03NCt0ZDdXOXZZQVp2WGJsV3g5L3RXeVBkNGQ5Qk1yTDBhcHBHdGFmZVIzU1RTUjNFYkhDbFJ5ZzV4akpxMHFvTFNOV3ZwdUo5TEVsN2RTSzE3Q0NwbVp0dVlkZCtsWDZldEFVVVVVRFRxNCsyaS93bjYwMXQxTk9tci9yb3Y4QUNmclRQUExIQ3BaemphZ0RzRFVLNHVoeFlhaXZRTkhsY2Y2OGExNHE0OFhTVUVObkdqM0w5T1luQ2p4ODZiZldkUTFiZzV0VHZwQXpUaHlnVlFvVlFRUHFDYUNFWEZ1N1d5b3pLTWdkTnNVMFhDUENCRUdYQndUZ1lJNjdWS0hic2JkcEdIdGdaVEkvMW1veEp6R1YzYnF4eldlN3c3eitQRGM3ck1lQXk1T0FTS25TWE1MN0pLcmY4VlFET1dBN3EwMUpHVXhTZ2UwUnlrMXB3WHh3MjRPaXB2OEE5bzMxcHpZN253cXJ1Q2I2OGswZFVqbWIySElPL2p2VTFpMUM1UUR0dmFYb2NqY1VEdXc1dHEwNENjRkxFZUFJL0VpdElaa201WFE3Vng5SHMzTWJOYzdDV1Jma3hvSnRmSC9iWlBlUHBTUTB2dUlETGV5bmNLQ04vZ0thOVNuRnFqY3RBa3Z0U3RyQ0o1SjVNS2lsbXg0Q3F4MW5qZHVJNUVzTFMwN0tJTVpESTdaYmxBSTZkM1d0K090VVlXSmhEZTFPZVhQbDMxSHVHclZUYVh1b01EelJzc1NqdU9RU2ZqN05CMkVaZFhYR2ZkVEJxTWhhNE1TaFZSR0lBVVlCcVVUc2xwRklRRDJwUEx5a2RCNCs3enFOejVubEpVRTQ4cXozWGZMK1BDWXp1a0dRcTdWMkU4OGRuSVlwV1FydjdKclQxYVI1TWNwSDg2ZC8wUzBWbzZ2OTVrTEg1VnB3Ty9DM0dPcG1XTzBtbmFVY25zY3g2WUhTcDliNjFJd0hhcHRqdXFuT0gzRnRyZG16N0FTQlc5eDJxNG9MUkpHWkI5NWVublFPRWR3azR5aHpUdHd0L3dCWldidTlWUDhBL0l0UXVHZDRKbUdjRld3UlV4NFBsRTJ0TTRQL0FOTWU3Kyt0QkNORTArVFM3SjRKZVh0TzJrWnVYelkxT2RLeEhwOERkNVZpZm5VUHY3NUxSM1psSnpOeTRIaVRpcFpaY3k2ZEgva0Riem9LOTRya0VuRTh6WjZJbjBxTlg0eWRxZk9JMnp4RGMrNWZwVFRLbk5JbTJja0RIalRwWk4zUnZ0bWgwK0tTYVFOMnJkR0E2RHdydFo2MWNyYXU5cXF0SVNBc2JIbDJvMVdaSTR4QXFnanFGOEtZNGc4VjByYzJCMTY5S3hqemR2UjVzcmhKNHBla3Z2OEFWNTU5TnRwdXdhS1FPVmxUUGRpdGJCMXZndk1QYkJybEJkelhGdWUxWkpBdXdBcmFHYUMyWlowWGtrRHFDbWV1OWJlWkliZUxzbUhrS3RmaXFLNmZSSW10UUdaUUFSbnhBSDg2cTcyVEdzbWVvN3F1S2U1N0RTbm01QTZ4UWgrWHZKQUZCU3ljTTNXbGNmR3pXT1M0bGhzb0hta1JkaXg1bVB5R0I4S2RlQjdsdEo5Q3VwWElERm83cVJoeTVVN21NZnpxUjN1cDNWM3FNbHpGUE5BSHg3RWNod01ERlo0aWVXNDlGK3JtVnk3bkF5MytOS0N0aHIrb2M3TXNpdXVUZ3VtZSt1MFhFMm9HVlZLUUZTUnpmWjR6K05NZk9XNWNaQjVSblBqV3drQVlBamNBOVBHZ2t0eVd1WTVPWnN1VmJBeDAycUVTWmplNmluV1hMRWhDaTVLc0RrWjkxVExMTkdXMnh5ZytPRDRWSFprN2JVSmpKbmtFaExFRHpwYnJ0Y2NmYTZjd0hrVDFoeEhrY3AzWHFmSHlPMUoxczQyWUE3SHhwWEtVZVFKRUNVUVlCOGE1ZUlPYzFtVDY2K1cvMW5UZUtCSTF4elp3Y21uN2gxay9TVGI0K3hiNmltT053VU8yTWVGT21nNS9TTExqT1lpZW5tSzA0cFBkOXBjUWN0dXNiTmtmckhJMjcrNnRBSkFQYjVTT21PdWE1dTdJL0xzQWU3TzYxbFpYVlVBd1JudzNGQjNpNW84QkkwOHlSbjRVdTlJNERjRmNQNWJDODRKUC9sMDN3dUNnSEw3Wk9jSCtWT25wSlVEZ3pRNHhITEl4ZkNwR2haaWV6OFB6b0t0Z1FOSU03ajltbmEzbTdGd0ZCZHM1QmJ1SjJPMUlMVzExQ1dSbU9sM01Lb01ublhmYnZwWEdTMHB4N0lEYnNlZ29IWFNwNTVyNmZubHlSQ01CanRqSjZDbTRHS0tNSG01MkMrMjdIR1BkV25ONnZlbVdLUnVRUXVwSjc5dHFqOXRxRE1xbTRVY29HeHljWnFXNmpXR0h0bG8vVFhYcWNVTWNNbVNoeUdJM0dOdHZLbXg3dVIzMmNrOWRqdFNXUzdlNVBhSEF5QnNLeEd4eW9PTmozZjYzcVNhN2I4dVc3cWRSS2RMVm5oQkpKeWRxbG1sOE5RYTlZM0lsbmFJcTZnRlFEM1pxSFdOOUhCQUZJeTNqNFZOT0dicWNXVjFMSmJ1c0hhSmx6c3VjYmIxcHliUStpMktLVVRtOWVXTW5jTkZnSDhhWGFqd2pwMHRuNnZFMXJieU1NQnNNVDMrZEtkRW5YWGRjdmJTZVE5bGJvclJXL05nTURubVkrUGQ3cWtGdnBFTnRLeE1rOXd6dGtMSTJRdnVIUVVGZTZUd09sdHJsbmNEVTJab0xsR0tDM0k1dVZnY1p6MDg2dDN2cExiUGh3aVJCRk9kOFlQdXBWUUZGRkZBM2FvQUFya2JoU0tnZXMzYmhpdk43cW11dXpDR05jNXh5TWZsVUExd05IcGsxeWNleEhuZng1YzBGUThRWFJ1ZFp1WFU3S2VWZmhWcTNWaWxwd3BIcDhZVlRIYVlDSHVJT1Q4U0RWVjZOWkhWOWZ0TFVnbnQ1UnplUXprL2hWdjZ1dnJkc1ovYVdMdEZMY3ZYQlVBL0gyYUxMcTdWbHExdzZmWXI5eEI3SkZNelFNOFlZWURIeE5XZnFIQkZ2Y01URlBLaFhPYzR3ZndwSmFlajB2TXJUVHNrWEx1VklKSGwwcVNhWFBPNTNhQmFicEp1WnZiKzZOMklyT3ZXYXJwa2NxQUREbjVkS3RTeDRTc0FoRVVzNFFJejgyVnkyUGhUUHFIQ1VFM0RYT3NzeEpTVTRPTVpCOTFWbEd2UnhKbWE4dGlmdlJjNkR6QjMvQUFxeExtSVRhUExjUkQybzhGc2VYZlZSY1BYTDZWcmxsTWpFQlpnRzl4T0RWeHN5Mk42SFVadExrOGtxbm9wYmJQdTNvR20wdW1oZFpBVGdrWkFwWndUT0xEWHJMVHBjOXBKY1NPaEEyWld5UmorZE10d2h0TDZXMXlmczVPVWU3Yjg2Y05DN1NiakRoMlJkMWh1bVZoNEJrUDVVRnMzc3F4TG52Ni9oVVcxaGpOSnlBWkRJclo5N0VENlU5NjY3TENXVDd5L3pGTWNNeGxrYVZSa0JWeG5vUFoyejdpU2FDbk9Pbi9yV0syQnoyYTVQaHY4QSsxUFBEMW9nNEx0MWNBTk5mZHFjL3RBS3kxRitKWkRlY1RYZlo1Yk1uWm9EMTIyL0dyVnRORXRwN1RTN1U4OGNFTGxQWXhuYmJ3OHpVczIxamw2M2FEejgxL0FHY0RtWEtBanZ4VEsybTNDc1FFeWZFVll5OEsyeVh0OWJMTk1HakpkZW5jZHgwOEtWYWJ3blkzRngybnJFNWlaZWJHUjdPM3VwSnFKbGxjcnVxL3RkTlcyWVNTZ0dRZEZHK1BmU200UWlhWmNkSWZxYW10dndoYVN1WmpOT1VsbEVjZUNPZzZucFd5Y0oyVStyWHlHYTU1VWp4K3o0KzZxaW5iKzJOaHFSQUdDT1Z4OGdhdHpUTHN6YVJZNnJGMWFNQ1FmaFZlY2FRaVBWVmtqQjVBZ1FFOStOdjVWSk9CTlFFdWhUV3JrbnNXeGs5QURRUEd0S2tkNHMwV09TZEF3OS9mVWg5SGt2YWF0Y2VIWWJmeGlvanFNMllGaVp2YWdrSkgrRS93RHRVbjlIRFoxcWNmOEE2WFAvQUsxb0luckJMM3F4Z0FnTzBqK0k5ckEvSE5XRXpDSkpGNWwrNHZLdVJuR0tyNjQ1WmRUdURrRTl1c1hUd2JKK3RUN1VZWTBFOHJJcGRDUWo0M0FvS3ExdVV2cmR3eFBnTnZkWEFYTnNscTVManRVUE5qSUIrRkl0ZG1ZWEY5TXBZRkYySzljOTFRRzh1bmFjZTBTeW5kczlhNTVjMzFqMWVHWHhZL2wrcExlR2FTNkpVa2s3NThLUWVyU3ZLQVpUa21sdW4zSXVyZEpmMml1Rzk5RTBUQnczTmpldWttbm10dDVwNnNORkRLTXlTOHpZNk5qRmE2anA3MmVwV2tRa1owYkdTeHp2bW5IU1dic3djODN4NlU0WFZrWkpVdUR2eTdnR2lGa0U0V0pVSjZESFNyZHVwczZKT0JubE52Mys2cVd0M0xTRUVZT2ZoVnpUV01tcGFKZVdTU3RFOHRxVVdWZXFrcjErbEJHRVFNZVlIYWxXdXJ6ZWpUVlZHTWsvL3dCMHFoMzR1NG8wVy9hM3U3bVRtak9Dc2d5cHg3NnR2VE5jbTRrOUMycDNza2FSeUNSb3lFNkhsWk4veG9LNW55SUkrVG92TnpNVzZBSG9LNHh5ckl3WURCQjJKcDRzYlJaNGdTQXlrbklZZU9LY1k5R3QySUxSS0FOeHNCUWNiV1R0WUl6M2N1TVUxemxvcEp4a2N6eUhwMUkvbFVxaTArR1BvdUJqcGpha3N2RGx0TlBKT1paZ1hKWWdFWStsU3piZUdmcHRGaGtESTJIY0syR0NCdHZVbFhocTJ6Z3lUS2V1NUg0YlZuK2pscGcvYXo0OTQvS3F3aStNRW5idzZVNmFEN1YrdzVpQjJiZEJud3AwSERscGpQYnpuSGRrYmZoWFczMG1Dd21Na2NrakVqQkRFWUhUd0hqZ1VHNTVBNDVlWWQrY1ovMS83MW9YeXBJVXEyKzNVNC8xdjhhNkVGaUFEN1BlQ0RucjFyV1FNR0hzNXlNNXg4ZitWQjBpY3huQ0hkamd1UnpmNkhXcGh4SElUd2xvemptVUVMa0VmM08rb2NoVWZabFNNNUcyd1A4QXJOUzdpWi8vQUlTMFFnazh3SHg5aWdpcXV5dUdEa01PaEI2ZTZtKy9zQk1wa2hBRWd5U2dHRmYzZUIrdEtReDlvNUcyT3RiNTV3VkJPNDYwRU12SnBZT3pFdk1tWDVHVHZBSU5NazBuTENrQSs2QUNTRG5OVC9VZEpnMU9NSko3RWliQ1ZSdjdqNVZGSnVHNUxlUXh1ekhCMlpSc3c4UnRVczI2WTUrc3NuMDJ4SDdNWStsS0lsUE5uTzlPMXR3L0gyYTh6eWMzZnVNQ2xRMEszQS9XeStlTVZYTXh2S3lwaFRUM29kOU90dE1obmtLRjF5aFk0TzNoWEdiU2JaR1JXbWxITjVqTktiV3lpdDFJV1NUbGZjbHQrZzhxQnppdUMwNk1Ya2ptQjltV0orVjF6NEVWWU9qNjNyU3drejIwV29SRDdyUm5zcGNZR0J5L2RQZnZrR3E2dDNDTUNRTi9MOEtuT2czYjgyOG1Bd0lVdCt4dDNlN05CS2RONGcwL1VKQ3JxYlM1UmdoaHUxS09HUFFMblppZkltbnFtaTNsak53U3l4U0ZuR01ZUFR2OSs0cDNvQ2lpaWdqWEU2czB5Z2s4alc1WEhuempQNEUxQmVQNTBzdUdURW4zcFRnRGZxZXArVzFUN1g1Z3VvV3NMcUFqeHNRNTdqbnArRlZoNlU1R1MyMDZCbTlwbUxFZUF3Y0Q4YUNPK2o2eE1tdWV0bllRbFVIanpNY2ZUTldldHNIMGEvalBWR1Z2aGsxRnZSNVlOSHA5dEl3L1h6dFAwNkJSeWo4UWFuMFVJUHJjSUdlMWpQekZBeExQMnRyYnUrZVNaZXhjajlseHR6RDhLY1hqTnZ3K2tTak1ramhGUHZwcXMxRTJuM2xzeDlxTTlvbjh4VHZwaDlmdDdRbmN3N043eDMwR1VqOVd0cnRBUVJEYmlQSUh6L0dteWY3SGhLTngxZG1Iek5QVjBPVFROUmt3UnpEcWZlS2FOVmp4d25BRS9Za3ljVUZHYW5DMXJxVnhHZHNPU04vSGNmV3JTanZUZTZIYU56RDdXQmVWejNQanA4eHQ1MUF1TDdVeFhzTnlCdE1tQ2ZOYVVjUDM1T2l2QXpZQ1NIbGJQVHYrdEJJSHV2V3IyR1p2dk9NeWU5ZGo5S2ZlRGdUeExZdHVWN2JieTJOUS9UbTlZdXBDMndRRnZpZXYwcWM4RkFIV2JZNDI3WUVmSTBGZzZuZ3h6Zzc3QWdlSkcvOEFLbzdiNE9rdTRUN01vV1lqYm1HT254NmU0VXU0aDFTTzJrblFFY3lqSHh3RFRQYVhndXVGTDRod0k0dzRiR050czQ4c0Q2MEZQOFB4bTk0dnRwSlBiQW1NemU0WlA1VmRWbmI5bllXaEkzQjdUNG1xejlHdGlMblViMlk0eWtLeGovak8rUGxWdlhFWWpVQURBQTI4cUJrMUZ2VStKVW02SktNbnpEVnRZTjZwZVhsb01lMTl6M1ZuaUdNdmEyMXlBZWRjS2E0TS9OTmFYaUEvZEFlZ2ZJTFlSbXpoL2NHY0R1cEJZWmU4MU5oM2hnUGhUNWJsWlpvNVY3OTgweTZaR1JlM2FIdmxiOGFDcStMYmNTYWRLK0R6eFNCcy9HbVRnL1VQVmRRbnQyWWNrMGU0OHgwcVo2NWJDVVgxdmdEbURkZkxKcXROTWZzTlhqQjIzS21nbVY1ZE04enhnKzJRRkI4ODdWWVBvMkIvVHR6emRmVmdQL1d0VmJMSUUxSzNMSGJtQjYxYVhvMGZ0T0lMdHU0d0QvOEFOYUNLYVF5WFd0MnVSdFBmRmlQSExZK2dGVG5Xcmd4YVpLeDY0Sk5WN3dQZE5mYS9idEtBQ3MwMkFQN3BiQi9DcFZ4UGRuOUR1MmNjeUUwRk9hOWY4dHRLQUR6czNLQ1BQLzJxR2tsam52TlREVUxlSzh0b3d4VlR6OHpudklHYVFMRFoyNDVZSUFXL2ZmY21wSkkzbG5jcEpmamxwVEczc1dsTGNwNXNnSHZwY2JneUVBbnBUZmZNaVJjb1VjM2ZTelRyZnQ5T1M0UkE1NWlyRHd4VllPT21hbTFyTVY1dG02MU1sMU5Yc2huOTNCSGZVQkVQMm81b2dQaFVzMFZyVXFpdmJJU1RqbWJ3b0Z0bzIvTVRrSHBWNTZmZHhRV0RUU043S3JuZjNiMVU2UG82d3FvdG9SeWpmcjdScmhyUEdNMzZQOVVnZkJZWU9PNGVGQkhPSTF0ZFVtdVdrUU1yU3N5bndHU2FtZkJWZzB2b1AxVzB0K2RqNnpNUmpyc1VZL1Nxd3Y3MWxqeGtrbXJqOUZBNS9SamNxeDJlN21CSjh3Z29JcHBFSEpwc2R4TXZLMGpmWkxrKzBwM3pUc3BBT3c3aGp6Tk1xU3Vtb2l6a2xhVklDVlFFN0FLZTZuOEtyQm14aGV1ZTdGQmo3b3hnazFoWmN2eVlKQUhVR3N5Uk1FTFp3Y1o1U0s1NE9Ec2MrWS9uUWQrZHVpSGI1MWdEMmNZUHhHOWNVZkEyUFg0VjBWaXd6Z3NlL0JvQW5HUVR5NHpnL3dBcXdUaEJ2bkk2bnI4cUNmY01iY3RhQWdFNXhuQjYwR2c1TTh6QWdZLzBQbFhNb1NmdmdIYnIxOGZ5K1ZkT1gybEFHV3lkNjU4dzZrSDNZb012Q2M4eWpHTWZENFZMdUlGWWNJNkdHUFB5cXZOdDk3N09vaHo5eGJicjRWS2VKNzRXWEMvRG5NL0trekNNaGgxK3ovQ2dpdU9iUE5qSGNNZGEwL2F4eTh1ZWc4YTd6UVk1bkJDZ2ZQRkorVlNWSTN4MzBHVmxIM054a2VGZFNBOFpqa0JkU2NqeFh6RkNCTTRPQ0Ixd2R6V0hBZFIzWngzMENDZTNrdHhrTVhqSjJmb1BjZkNrclNrSExObmFuamxKVTVYS3NOODlDS1JYZW5oVWFhM3oyZjdTNHlWd04vaFFKQmNjbktNQUh1ckRPblViNHBPTXRzcHdNNXovQUs4cTJEY3ZUSFRPU2VvSGhRTHJPMmtua1FRKzBUallINFZNdEkweTRpZ0xTenJHQ1FDcmJuSCtqVVFzcHV5UWdBNXgxejAzNi9oVHNOVGw3UHM0cGVWUmxjRTlUdFFXRmFXaUpOYnMwNkgyZzdFSVJrZ2dmenFRVlZPaGF4ZC9wTFRvZWRpaGtVRTU4V1dyV29DaWlpZ2gzRnQ0TGZYOUlSc0ZTR0lCOFNjZnpxdHZTd1cvUzlnR09jd00yTS8zcXUrNjB1eHZiaUc0dXJXT2FhRDlVN2pkUGRTTFVPRk5CMWFWSk5RMG0ydVhSZVZXa0JKQXpuSFdnaW5CK21tMDBXMFJ3Y3hXNnI3cyswZnhhbmxYRVZ6R2NiWndha1VkamF4SUVqZ1JWQUFBQThOaFdEcDltVGsyNkUwRmRsVFk2MnlIWlhPRDdqUy9TdjhBWTcyV0k1NUdKSVB2cVlUYU5wdHhJSkpyS0ozSFJpRG10aHBWZ0dEQzBpeU8vQm9HUFZJLzZrdlA3dy9uVFhjS0g0Wm1JWE9BR0ZUVjdPMmtpTVR3b3lIcXA2R3VRMHF3RnViY1drZllrWUtZT0tEejF4ZGJ0TnBJbDNQWk9BQU80WTNxTzhPeXIvdE51eCs4T1llZmpYcG1iaEhoNjRpYUtiUjdWNDIrOHBCd2Z4cEpGNlBlRUlINTR1SHJGR3hqSVZ2em9LRzAyWm83dTRRbnJ0dlZpOEc1R3RXQUF5RExrbjRHcHd2QXZDcXVYWFFiTU1Ua25sYjg2Y0xYUWRLc3BVa3RyQ0dKME9WWlFjajhhQ3RlTTdrcnhSZlFLMkEzSmxmRThvb1VUV2ZDK3JRY283SnJDVjJiL3dDNlFSOUtzZTY0YzBhOXZHdkxuVGJlVzRZZ21SZ2NrZ1lIZjVDdDMwSFNwTGVXQnJDRXhTcnl5SVFjTVBBNzBGV2VpVzBQcXQ5ZHN2MlprVlEzanlnLy93Q2hWZ1MvYWxoVHBwMmhhVnBOczF2cDloRGJRczNPVWpCQUo4ZXZrS1UrcFcyYzlnbWFDTFR4Q2Eya3Rtem5KSzAwYWFDeVNXN2RVT3dxZm13dEdmbU51aGJ4cmttazZmSEkwaVdrU3UzVWdIZWdhTk5tNVVDTWNZMkZKTFJPVFhMbGNkUnpWSmwwKzBRNVczUUhydFFOUHRCT1poYnAycEdDM2ZpZ3FIWENZdFZ1QXdPNVlWVkdyUXRaYXRJTUVlMkdGZXFyamh6UnJxUXlUNmJieU8zVm1CeWZ4cEJjOEE4SlhrbmFYSEQ5bEkvVExLZnpvUFBGNU1YdTdabEJQTVA1VmF2b21tVjladVZMQXlDM0dSNGUydFRSZUJPRlZaR1hRYklHUDdwNVR0K05MZE00YzBiUnJ1UzcwM1RZTFc0bFhsZVNNRUZobk9PdmlBYUR6OTZQYmk0WGkyVkNWN09GTGwrbTQzUDUwOWNkYTlEYVd4dFkyVnBpQ0dVZnM5S3QyejRLNGEwKzRlNHRORnRJWm5CRE9pbkpCNjkvZlhLNTRCNFR2SldrdWRBc3BYWTVMTUdKSitkQjVaZVJ6R01uZHF3dVV5eEhRWitOZW92K2pqZzMvd0FOMkg4TGZuUWZSendhUVFlSExEQjYreTM1MEhrcVZubGJjZStwUnc0T3owNERsUHRaUDQxNksvNk0rQ2YvQUF6cC93REMzNTBwaDRDNFR0MENSYUJaSW82QUszNTBIbnFTMzlyT0RXVWtsakdGR0s5RG5nbmhnOWREcy80VCtkWS9vTnd2L3VLei9oUDUwSG5zM0VpamRqU04zWSsxazU4NjlIbmdUaFZ1dWcyUi93Q0Z2enJVOEE4Sm5ydy9aZnd0K2RCNWN1bmFXYytXMVhuNk5tTnY2SjdoeU4xdkhPLytLT3BaL3dCSFBCMmMvd0JITEQrRnZ6cDNzOUMwdXcwMXRPdExDR0d6Wml6UW9EeWtuRy9YeUh5b0tVMUZSYWNZWEt2L0FOcEtXQkEydzNoVDFFM01veDBYWVo2YkhIOHFzcTQ0VzBLNm43ZWZTcmFTWEFIT3dPY1p6NDEwVGg3UjQxNVYwNkFMNFlQam54b0t6bFl5QW5CMkgrczF3TGRYWld6NG5Za2VZcTAyNGQwWnV1bXdINEg4NngvUnpSczUvUnNHY1k2SDg2Q3FsWnprNU9EMzQ3dkFWM0xsYzhydGtleURqYjMxWjM5RzlGLzNiQjhqK2RCNGIwVTlkTnQrbU9oL09ncTVtSFE1SjIyejhxMkpDN2dFbnpxMER3NW94SUowMjN5Tjg0UDUxZ2NPYU1CZ2FiQmozSDg2Q3IyQXhuQnlmRHBXa250NTdnUnVmQ3JUSERlaWdBRFRiZkE2Ykg4NkR3M29wT1RwdHY4QUkvblFWTmxpU0MyY0hPTWVGT3ZwSEJIQVhEUnp1cnFjL3dEbDFZWjRhMFFuSjB5M3o3aitkZGI3UXRLMUt6aHM3MndobnQ0ZjFVYmc0VGJHMi9oUVV6cGVwSFZMTmVZWWxqeHpBRHFPbEtFR0g4ajRWYWR0d2Z3N1pzV3R0SHRZaTJ4S2c3L2pYWCtqR2g0eCtpN2ZIdVA1MEZVNTVHS2dNVDFJSGRXNEpLaGduVHB0ak5Xbi9SalEvd0RkZHY4QUkvblczOUc5Ry8zYmIvSS9uUVZlb1ZQYWIybEdCZy82NlZpTXl4b1drSURCaVZaRDFYUHM5ZnhxMHY2T2FOL3UyMytSL09zSGh6UmoxMDIzK1IvT2dxVzUwdExsVExiQkk1V3p6UmpvM21EM2U2bVl4TWpublJnVlB0QnRpTVZlbjlIZEgyL3EyMzI4aitkYVM4TWFITy9QTHBkczdZeGtnNSt0QlNxS3BBQkJJNkRCN2pYUm5aK1htQkdDRDQrTlhIL1JQaC8vQUhSYS93QUovT2c4SjZBZXVrV3Z5UDUwRlY2Tk16NjVwaWd0bjFtTUh3KytLdTA5YWFJZUY5Q2dtam1pMHUzU1NOZzZNQWNnam9ldE85QVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRZi8vWiIgYWx0PSJZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBlbWJlZGRlZCBpbWFnZXMsIHNvcnJ5Ii8+CjxoMz5TdHlsZXNoZWV0czo8L2gzPgo8cD5UaGlzIG1vZHVsZSBhbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cywgaWYgdXNpbmcgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4gIEJlY2F1c2UgdGhlIHNtYXJ0eSBzeW50YXggaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGluc2lkZSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcgeW91IHV0aWxpemUgdGhlIG1vZHVsZSB1c2luZyB0aGUgW1sgYW5kIF1dIGRlbGltaXRlcnMuICBpLmU6IDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPmRpdi5oZWFkZXIgeyBiYWNrZ3JvdW5kOiB1cmwoW1tDR1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL3BpY3R1cmUuanBnJyBub3RhZz0xXV0pOyB9PC9wPgo8cD5CZWNhdXNlIHN0eWxlc2hlZXRzIGFyZSBnZW5lcmF0ZWQgb24gbW9kaWZpY2F0aW9uIGFuZCBzdG9yZWQgaW4gdGhlIGZpbGVzeXN0ZW0gdGhlcmUgaXMgbm8gd2F5IHRvIGRldGVybWluZSBkdXJpbmcgdGhlIHJlcXVlc3Qgd2hpY2ggYnJvd3NlciBpcyByZXF1ZXN0aW5nIHRoZSBzdHlsZXNoZWV0LCB0aGVyZWZvcmUgZW1iZWRkaW5nIHdpbGwgYmUgZG9uZSBzdHJpY3RseSBiYXNlZCB1cG9uIHRoZSBwcmVzZW5zZSBvZiB0aGUgbm9lbWJlZCBwYXJhbWV0ZXIuICBJZiB5b3UgaGF2ZSBjaG9zZW4gdG8gZW1iZWQgaW1hZ2VzIGRpcmVjdGx5IGludG8geW91ciBzdHlsZXNoZWV0cywgWW91IG1heSBuZWVkIHRvIGFkZCBhZGRpdGlvbmFsIHN0eWxlc2hlZXQgc3VwcG9ydCBmb3IgdGhlIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgZW1iZWRkZWQgaW1hZ2VzLiAgaS5lOiAgSUU2LjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPlJlcXVpcmVtZW50czwvaDM+CjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIApzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+PGgzPkRlcGVuZGVuY2llczwvaDM+PHVsPjxsaT5DR0V4dGVuc2lvbnMgPSZndDsgMS4yMy4xPC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vY2FjaGU9IiIgLSBEbyBub3QgYWxsb3cgdGhlIHJlc2l6ZWQgaW1hZ2UgdG8gY2FjaGUgaW4gdGhlIGJyb3dzZXIgKHVzZWZ1bCBmb3IgZGV2ZWxvcG1lbnQgcHVycG9zZXMpIHRoaXMgYWRkcyBhIHVuaXF1ZSBudW1iZXIgYXMgYSBwYXJhbWV0ZXIgdG8gdGhlIGltYWdlIHdoaWNoIHdpbGwgZm9yY2UgdGhlIGJyb3dzZXIgbm90IHRvIGNhY2hlIHRoZSBpbWFnZS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vZW1iZWQ9IiIgLSBGb3JjZSB0aGUgaW1hZ2UgdG8gbm90IGVtYmVkLiAgUmVnYXJkbGVzcyBvZiBzZXR0aW5ncyBpbiB0aGUgYWRtaW4gcGFuZWwsIHRoZSBVUkwgYW5kIHRhZyBnZW5lcmF0ZWQgd2lsbCBiZSB0byBhIGZpbGUgb24gdGhlIHNlcnZlci4gIE5vIGVtYmVkZGluZyB3aWxsIGJlIHBlcmZvcm1lZDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9hdXRvPSIiIC0gRG8gbm90IGF1dG9tYXRpY2FsbHkgY2FsY3VhbHRlIHBhcmFtZXRlcnMgZm9yIHRoZSBpbWcgdGFnLiAgVGhpcyBtYXkgY2F1c2UgeW91ciBzaXRlIHRvIGZhaWwgdmFsaWRhdGlvbiBpZiBzb21lIHJlcXVpcmVkIHBhcmFtZXRlcnMgKHdpZHRoLGhlaWdodCxhbHQpIGFyZSBub3Qgc3BlY2lmaWVkPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub3RhZz0iIiAtIERvIG5vdCBvdXRwdXQgYW4gaW1nIHRhZywgb25seSB0aGUgdXJsIHRvIHRoZSBjYWNoZWQgaW1hZ2UuICBUaGlzIGhhcyBubyBlZmZlY3Qgd2hlbiBDR1NtYXJ0SW1hZ2UgaXMgdXNlZCBmcm9tIHdpdGhpbiBhIHN0eWxlc2hlZXQuPC9saT48bGk+c3JjPSIiIC0gU3BlY2lmeSB0aGUgc291cmNlIGZvciB0aGUgaW1hZ2UgcHJvY2Vzc2luZyAoaWYgYW55KSBvciB0aGUgZ2VuZXJhdGVkIGltZyB0YWcuICBOb3RlLCB0aGlzIHBhcmFtZXRlciBpcyBmbGV4aWJsZSwgYW5kIHRoZSBtb2R1bGUgd2lsbCBhdHRlbXB0IG1hbnkgbWV0aG9kcyB0byBmaW5kIHRoZSBzb3VyY2UgaW1hZ2UgZmlsZSBvbiB0aGUgd2ViIHNlcnZlciBhcyBmb2xsb3dzOgo8dWw+CiAgPGxpPkZpcnN0IGxvb2sgdG8gc2VlIGlmIHRoZSBzcGVjaWZpZWQgc3JjIHZhbHVlIGV4aXN0cyBhcyBhIGZpbGUgb24gdGhlIGZpbGVzeXN0ZW0uPC9saT4KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSB1cGxvYWRzX3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+CiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgcm9vdF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPgogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPgo8L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gb3ZlcndyaXRlPSIiIC0gRGlzYWJsZSBhbGwgY2FjaGluZyBhbmQgZm9yY2UgcmUtY2FsY3VsYXRpb24gb2YgYWxsIGZpbHRlcnM8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGNsYXNzPSIiIC0gVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIG9uZSBvciBtb3JlIGNsYXNzZXMgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBjbGFzcz0iZmFuY3lib3ggdGh1bWJuYWlsIjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc3R5bGU9IiIgLSBVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgYWxsb3dzIHNwZWNpZnlpbmcgYWx0ZXJuYXRlIHN0eWxlcyBmb3IgdGhlIHRhZy4gIGkuZTogc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyI8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHRpdGxlPSIiIC0gU3BlY2lmeSBhbiBvcHRpb25hbCB0aXRsZSBhdHRyaWJ1dGUgZm9yIHRoZSBpbWcgdGFnLiAgaS5lOiB0aXRsZT0iVGhpcyBpcyB0aGUgdG9vbHRpcCI8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFsdD0iIiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIGFsdCBhdHRyaWJ1dGUuICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgJnF1b3Q7bm9hdXRvJnF1b3Q7IHBhcmFtZXRlcjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbmFtZT0iIiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIG5hbWUgYXR0cmlidXRlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaGVpZ2h0PSIiIC0gVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB3aWR0aD0iIiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIHdpZHRoIGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBxdWFsaXR5PSI3NSIgLSBTcGVjaWZ5IHRoZSBxdWFsaXR5IG9mIHRoZSBvdXRwdXQgaW1hZ2UuICBBIHZhbHVlIGJldHdlZW4gMCBhbmQgMTAwLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsdGVyX2JsdXI9IiIgLSAoYW55dGhpbmcpIFNwZWNpZnkgYW55IHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciB0byBhZGQgYSBibHVyIGZpbHRlciB0byB0aGUgaW1hZ2U8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbHRlcl9icmlnaHRuZXNzPSIiIC0gKGludGVnZXIpIEluY3Jhc2UgdGhlIGJyaWdodG5lc3Mgb2YgdGhlIHByb2Nlc3NlZCBpbWFnZSBieSB0aGUgaW50ZWdlciB2YWx1ZSBzcGVjaWZpZWQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbHRlcl9jb2xvcml6ZT0iIiAtIChyLGcsYlssYWxwaGFdKSAtIExpa2UgZmlsdGVyX2dyZXlzY2FsZSBob3dldmVyIHlvdSBjYW4gc3BlY2lmeSB0aGUgY29sb3IgYW5kIGFscGhhIHZhbHVlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfY29udHJhc3Q9IiIgLSAoaW50ZWdlcikgQ2hhbmdlIHRoZSBjb250cmFzdCBvZiB0aGUgaW1hZ2UgYnkgdGhlIGludGVnZXIgdmFsdWUgc3BlY2lmaWVkPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfY3JvcD0iIiAtIChwZXJjZW50WyxoX2FsaWduLHZfYWxpZ25dKSAtIFBlcmZvcm0gY3JvcHBpbmcgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gQ3JvcCBwYXJhbWVldGVycyBhcmUgc3BlY2lmaWVkIGFzIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgcGFyYW1ldGVycy4gIFRoZSBmaXJzdCAocmVxdWlyZWQpIHZhbHVlIGlzIGFuIGludGVnZXIgcGVyY2VudGFnZSBvZiB0aGUgb3JpZ2luYWwgaW1hZ2Ugc2l6ZS4gIFRoZSBvcHRpb25hbCBzZWNvbmQgYW5kIHRoaXJkIHBhcmFtZXRlcnMgYXJlIG9uZSBvZiBsLGMsciAobGVmdCxjZW50ZXIscmlnaHQpIGFuZCB0LGMsYiAodG9wLGNlbnRlcixib3R0b20pIHNwZWNpZnlpbmcgd2hlcmUgdGhlIGxvY2F0aW9uIHdpdGhpbiB0aGUgc291cmNlIGltYWdlIHRvIGNyb3AgZnJvbS4gIGkuZTogY3JvcD0zMyxiLHIgdG8gZ3JhYiBhIGNyb3Agb2YgMzMlIGZyb20gdGhlIGJvdHRvbSByaWdodCBvZiB0aGUgc291cmNlIGltYWdlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsdGVyX2VkZ2VkZXRlY3Q9IiIgLSAoYW55dGhpbmcpIEhpbGlnaHQgdGhlIGVkZ2VzIGluIHRoZSBpbWFnZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsdGVyX2VtYm9zcz0iIiAtIChhbnl0aGluZykgRW1ib3NzIHRoZSBpbWFnZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsdGVyX2dyYXlzY2FsZT0iIiAtIChhbnl0aGluZykgQ29udmVydCB0aGUgaW1hZ2UgdG8gZ3JheXNjYWxlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfbWVhbnJlbW92YWw9IiIgLSAoYW55dGhpbmcpIEF0dGVtcHQgdG8gYWNoaWV2ZSBhICZxdW90O3NrZXRjaHkmcXVvdDsgZWZmZWN0PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfbmVnYXRlPSIiIC0gKGFueXRoaW5nKSBOZWdhdGUgdGhlIGltYWdlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfcGl4ZWxhdGU9IiIgLSAoc2l6ZVssYWR2YW5jZWRdKSBQaXhlbGF0ZSB0aGUgaW1hZ2UsIHNwZWNpZnkgYW4gaW50ZWdlciBzaXplIGFuZCBhbiBvcHRpb25hbCBib29sZWFuIChkZWZhdWx0IGlzIGZhbHNlKSB0byBlbmFibGUgYWR2YW5jZWQgcGl4ZWxhdGlvbjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsdGVyX3Jlc2l6ZT0iIiAtIHR5cGUsbnVtYmVyWyxudW1iZXJdIC0gUGVyZm9ybSBhIHJlc2l6ZSBvZiB0aGUgc291cmNlIGltYWdlLiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogIDxsaT5wLG51bWJlciAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuPC9saT4KICA8bGk+dyxudW1iZXIgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIHdpZHRoICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9dyw4MCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2l0aCBhIG1heGltdW0gd2lkdGggb2YgODAgcGl4ZWxzLjwvbGk+CiAgPGxpPmgsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCBoZWlnaHQgKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT1oLDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSBoZWlnaHQgb2YgODAgcGl4ZWxzLjwvbGk+CiAgPGxpPmMseCx5IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiByZXNpemU9Yyw1MCw3NSB0byBjcmVhdGUgYSB0aHVtYm5haWwgdGhhdCBpcyA1MHg3NSBwaXhlbHMuPC9saT4KPC91bD48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbHRlcl9yb3RhdGU9IiIgLSAoYW5nbGUsY29sb3IpIFNwZWNpZnkgdGhlIGludGVnZXIgYW5nbGUgKGNvdW50ZXIgY2xvY2t3aXNlKSB0byByb3RhdGUgdGhlIGltYWdlLCBhbmQgYSBjb2xvciB0byBmaWxsIHRoZSBlbXB0eSBwaXhlbHMgd2l0aC4gIFRoZSBpbWFnZSBpcyByb3RhdGVkIGFib3V0IGl0cyBjZW50ZXIuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfd2F0ZXJtYXJrPSIiIC0gKGFueXRoaW5nKSwgU3BlY2lmeSB0aGF0IHRoZSB3YXRlcm1hcmsgKGFzIHNwZWNpZmllZCBpbiB0aGUgQ0dFeHRlbnNpb25zIGFkbWluIHBhbmVsKSBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgaW1hZ2U8L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGdtYWlsLmNvbSZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAxLjAuMzxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPk5vdGhpbmcgaGVyZSB5ZXQKPGJyIC8+]]></about>
	<description><![CDATA[A smart image tag generation module for CMSMS]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.23.1</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_embedding_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYignZW1iZWRkaW5nJyk7CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1iZWRfbW9kZScsdHJpbSgkcGFyYW1zWydlbWJlZF9tb2RlJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VtYmVkX3NpemVsaW1pdCcsKGludCkkcGFyYW1zWydlbWJlZF9zaXplbGltaXQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbWJlZF90eXBlcycsdHJpbSgkcGFyYW1zWydlbWJlZF90eXBlcyddKSk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_general_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYignZ2VuZXJhbCcpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NhY2hlX2FnZScsKGludCkkcGFyYW1zWydjYWNoZV9hZ2UnXSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1hZ2VfdXJsX3ByZWZpeCcsdHJpbSgkcGFyYW1zWydpbWFnZV91cmxfcHJlZml4J10pKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZV91cmxfaGFzY2FjaGVkaXInLChpbnQpJHBhcmFtc1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10pOwogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19wcmVmc3VwZGF0ZWQnKSk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydjbGVhcl9ub3cnXSkgKQogIHsKICAgIC8vIGNsZWFyIGFsbCBmaWxlcyBmcm9tIGNhY2hlIGRpciBvbGRlciB0aGFuIE4gZGF5cwogICAgdHJ5CiAgICAgIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYWNoZV9hZ2UnLChpbnQpJHBhcmFtc1snY2FjaGVfYWdlJ10pOwoJJG5fcmVtb3ZlZCA9ICR0aGlzLT5jbGVhcl9jYWNoZWRfZmlsZXMoKTsKCSR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfY2FjaGVjbGVhbmVkJywkbl9yZW1vdmVkKSk7CgkkdGhpcy0+QXVkaXQoJycsJHRoaXMtPkxhbmcoJ2FjdF9jYWNoZWNsZWFuZWQnKSwkdGhpcy0+TGFuZygnbXNnX2NhY2hlY2xlYW5lZCcsJG5fcmVtb3ZlZCkpOwogICAgICB9CiAgICBjYXRjaCggRXhjZXB0aW9uICRlICkKICAgICAgewoJJHRoaXMtPlNldEVycm9yKCRlLT5nZXRNZXNzYWdlKCkpOwogICAgICB9CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydjbGVhcl9hbGwnXSkgKQogIHsKICAgIC8vIGp1c3QgbnVrZSB0aGUgY2FjaGUgZGlyZWN0b3J5IGNvbXBsZXRlbHkuCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkZGlyID0gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uJy9fJy4kdGhpcy0+R2V0TmFtZSgpOwogICAgY2dlX2Rpcjo6cmVjdXJzaXZlX3JtZGlyKCRkaXIpOwogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19jYWNoZXJlbW92ZWQnKSk7CiAgfQoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgcmV0dXJuOwoKJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwokd2FudF90cmFuc2Zvcm0gPSAwOwokZG9fdHJhbnNmb3JtID0gMDsKJGhhdmVfdHJhbnNmb3JtID0gMDsKJGRlc3RfZm5hbWUgPSAnJzsKJGRlc3RfdXJsID0gJyc7CiRpbWcgPSAnJzsKJHNyY2ZpbGUgPSAnJzsKJHJlbCA9IDA7CiRvdXRwID0gYXJyYXkoKTsgIC8vIG91dHB1dCBwYXJhbXMKJG91dHBbJ2lkJ10gPSAnJzsKJG91dHBbJ25hbWUnXSA9ICcnOwokb3V0cFsnY2xhc3MnXSA9ICcnOwokb3V0cFsnc3JjJ10gPSAnJzsKJG91dHBbJ3dpZHRoJ10gPSAnJzsKJG91dHBbJ2hlaWdodCddID0gJyc7CiRvdXRwWydhbHQnXSA9ICcnOwokb3V0cFsnc3R5bGUnXSA9ICcnOwokb3BwID0gYXJyYXkoKTsgIC8vIG9wZXJhdGlvbiBwYXJhbXMKJG9wcFsnb3ZlcndyaXRlJ10gPSAwOwokb3BwWydub2NhY2hlJ10gPSAwOwokb3BwWydub2VtYmVkJ10gPSAwOwokb3BwWydub2F1dG8nXSA9IDA7CiRvcHBbJ25vdGFnJ10gPSAwOwokb3BwWydzcmMnXSA9ICcnOwokb3BwWydxdWFsaXR5J10gPSA3NTsKJG9wcFsnZmlsdGVycyddID0gYXJyYXkoKTsKCiRlcnJvciA9ICcnOwpmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkKewogIGlmKCBzdGFydHN3aXRoKCRrZXksJ2ZpbHRlcl8nKSApCiAgICB7CiAgICAgIC8vIGhhbmRsZSBmaWx0ZXIgYXJndW1lbnQuCiAgICAgICRmaWx0ZXIgPSB1Y3dvcmRzKHN1YnN0cigka2V5LHN0cmxlbignZmlsdGVyXycpKSk7CiAgICAgICRhcmdzID0gZXhwbG9kZSgnLCcsJHZhbHVlKTsKICAgICAgJGNsYXNzbmFtZSA9ICdDR0ltYWdlXycuJGZpbHRlci4nX0ZpbHRlcic7CiAgICAgIGlmKCAhY2xhc3NfZXhpc3RzKCRjbGFzc25hbWUpICkKCXsKCSAgJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3Vua25vd25maWx0ZXInLCRmaWx0ZXIpOwoJICBicmVhazsKCX0KCiAgICAgIC8vIGFkZCBpdCB0byB0aGUgb3BzLgogICAgICAkb3BwWydmaWx0ZXJzJ11bXSA9IGFycmF5KCRjbGFzc25hbWUsJGFyZ3MpOwoKICAgICAgLy8gZG9uZS4KICAgICAgY29udGludWU7CiAgICB9CgogIHN3aXRjaCggJGtleSApCiAgICB7CiAgICBjYXNlICdpZCc6CiAgICBjYXNlICdjbGFzcyc6CiAgICBjYXNlICduYW1lJzoKICAgIGNhc2UgJ2FsdCc6CiAgICBjYXNlICdzdHlsZSc6CiAgICAgICRvdXRwWyRrZXldID0gdHJpbSgkcGFyYW1zWyRrZXldKTsKICAgICAgYnJlYWs7CiAgICBjYXNlICd3aWR0aCc6CiAgICBjYXNlICdoZWlnaHQnOgogICAgICAkb3V0cFska2V5XSA9IChpbnQpJHBhcmFtc1ska2V5XTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnc3JjJzoKICAgICAgJG9wcFska2V5XSA9IHRyaW0oJHBhcmFtc1ska2V5XSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ3F1YWxpdHknOgogICAgICAkb3BwWydxdWFsaXR5J10gPSAoaW50KSR2YWx1ZTsKICAgICAgJG9wcFsncXVhbGl0eSddID0gbWluKDEwMCxtYXgoMCwkb3BwWydxdWFsaXR5J10pKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnb3ZlcndyaXRlJzoKICAgIGNhc2UgJ25vdGFnJzoKICAgIGNhc2UgJ25vY2FjaGUnOgogICAgY2FzZSAnbm9lbWJlZCc6CiAgICAgICRvcHBbJGtleV0gPSBjZ2VfdXRpbHM6OnRvX2Jvb2woJHZhbHVlKTsKICAgICAgYnJlYWs7CiAgICB9Cn0KaWYoICEkZXJyb3IgJiYgISRvcHBbJ3NyYyddICkKICB7CiAgICAkZXJyb3IgPSAkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJywnc3JjJyk7CiAgfQoKaWYoICEkZXJyb3IgJiYgKCRvcHBbJ3Jlc2l6ZSddIHx8ICRvcHBbJ2Nyb3AnXSkgfHwgY291bnQoYXJyYXlfa2V5cygkb3BwWydmaWx0ZXJzJ10pKSApCiAgewogICAgLy8KICAgIC8vIHdlJ3JlIGRvaW5nIHNvbWUga2luZCBvZiBtYWdpYyB0byB0aGUgaW1hZ2UuCiAgICAvLwogICAgJHdhbnRfdHJhbnNmb3JtID0gMTsKCiAgICAvLyBmaW5kIHRoZSBzb3VyY2UgaW1hZ2UgLi4uIHRoZSBhY3R1YWwgZmlsZW5hbWUKICAgIGlmKCBmaWxlX2V4aXN0cygkb3BwWydzcmMnXSkgKQogICAgICB7CgkvLyB1c2VyIHNwZWNpZmllZCB0aGUgY29tcGxldGUgcGF0aCB0byB0aGUgZmlsZS4KCSRzcmNmaWxlID0gJG9wcFsnc3JjJ107CglpZiggc3RhcnRzd2l0aCgkb3BwWydzcmMnXSwnLycpICkgJHJlbCA9IDE7CiAgICAgIH0gICAgCiAgICBpZiggISRzcmNmaWxlICYmIHN0YXJ0c3dpdGgoJG9wcFsnc3JjJ10sJGNvbmZpZ1sndXBsb2Fkc191cmwnXSkgKQogICAgICB7CgkkdG1wID0gc3RyX3JlcGxhY2UoJGNvbmZpZ1sndXBsb2Fkc191cmwnXSwkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkb3BwWydzcmMnXSk7CglpZiggZmlsZV9leGlzdHMoJHRtcCkgKSAkc3JjZmlsZSA9ICR0bXA7CiAgICAgIH0KICAgIGlmKCAhJHNyY2ZpbGUgJiYgc3RhcnRzd2l0aCgkb3BwWydzcmMnXSwkY29uZmlnWydyb290X3VybCddKSApCiAgICAgIHsKCSR0bXAgPSBzdHJfcmVwbGFjZSgkY29uZmlnWydyb290X3VybCddLCRjb25maWdbJ3Jvb3RfcGF0aCddLCRvcHBbJ3NyYyddKTsKCWlmKCBmaWxlX2V4aXN0cygkdG1wKSApICRzcmNmaWxlID0gJHRtcDsKICAgICAgfQogICAgaWYoICEkc3JjZmlsZSAmJiBpc3NldCgkY29uZmlnWydzc2xfdXJsJ10pICYmIHN0YXJ0c3dpdGgoJG9wcFsnc3JjJ10sJGNvbmZpZ1snc3NsX3VybCddKSApCiAgICAgIHsKCSR0bXAgPSBzdHJfcmVwbGFjZSgkY29uZmlnWydzc2xfdXJsJ10sJGNvbmZpZ1sncm9vdF9wYXRoJ10sJG9wcFsnc3JjJ10pOwoJaWYoIGZpbGVfZXhpc3RzKCR0bXApICkgJHNyY2ZpbGUgPSAkdG1wOwogICAgICB9CgogICAgaWYoICEkc3JjZmlsZSApCiAgICAgIHsKCSRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9zcmNub3Rmb3VuZCcsJG9wcFsnc3JjJ10pOwogICAgICB9CiAgICAvLyBjcm9wcGluZyBmaXJzdC4KICB9CgppZiggISRlcnJvciAmJiAkc3JjZmlsZSAmJiAkd2FudF90cmFuc2Zvcm0gKQogIHsKICAgIC8vIGNhbGN1bGF0ZSBvdXIgZGVzdGluYXRpb24gbmFtZSBhbmQgdXJsLgogICAgJHRtcCA9IGJhc2VuYW1lKCRzcmNmaWxlKTsKICAgICRleHQgPSBzdHJyY2hyKCRzcmNmaWxlLCcuJyk7CiAgICAkdDIgPSBtZDUoc2VyaWFsaXplKCRvcHApKTsKICAgICRkZXN0bmFtZSA9IHN1YnN0cigkdG1wLDAsc3RybGVuKCR0bXApLXN0cmxlbigkZXh0KSkuJy0nLiR0Mi4kZXh0OwogICAgCiAgICAkZGVzdGRpciA9ICRjb25maWdbJ3VwbG9hZHNfcGF0aCddLicvXycuJHRoaXMtPkdldE5hbWUoKTsKICAgIGlmKCAhaXNfZGlyKCRkZXN0ZGlyKSApIEBta2RpcigkZGVzdGRpcik7CiAgICBpZiggIWlzX2RpcigkZGVzdGRpcikgKQogICAgICB7CgkkZXJyb3IgPSAkdGhpcy0+TGFuZygnZXJyb3JfbWtkaXInLCRkZXN0ZGlyKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkvLyBzZWUgaWYgaXQgZXhpc3RzCgkkZGVzdF9mbmFtZSA9ICRkZXN0ZGlyLicvJy4kZGVzdG5hbWU7CgkkZGVzdF91cmwgPSAkdGhpcy0+Z2V0X2NhY2hlZF9pbWFnZV91cmwoJGRlc3RuYW1lKTsKCWlmKCAhZmlsZV9leGlzdHMoJGRlc3RfZm5hbWUpIHx8ICRvcHBbJ292ZXJ3cml0ZSddICApCgkgIHsKCSAgICAkZG9fdHJhbnNmb3JtID0gMTsKCSAgfQogICAgICB9CiAgfQplbHNlIGlmKCAhJGVycm9yICYmIGlzc2V0KCRvcHBbJ3NyYyddKSApCiAgewogICAgJGRlc3RfZm5hbWUgPSAkb3BwWydzcmMnXTsKICAgICRkZXN0X3VybCA9ICRvcHBbJ3NyYyddOwogIH0KCmlmKCAhJGVycm9yICYmICRkb190cmFuc2Zvcm0gKQogIHsKICAgIHRyeQogICAgICB7CgkvLyBsb2FkIHRoZSBpbWFnZS4KCSRpbWcgPSBuZXcgQ0dJbWFnZUJhc2UoJHNyY2ZpbGUpOwoKCS8vIHByb2Nlc3MgZmlsdGVycwoJJGkgPSAwOwoJd2hpbGUoICEkZXJyb3IgJiYgJGkgPCBjb3VudCgkb3BwWydmaWx0ZXJzJ10pICkKCSAgewoJICAgICRmaWx0ZXIgPSAkb3BwWydmaWx0ZXJzJ11bJGldWzBdOwoJICAgICRmaWx0ZXJfb2JqID0gbmV3ICRmaWx0ZXIoJG9wcFsnZmlsdGVycyddWyRpXVsxXSk7CgkgICAgJGltZyA9ICRmaWx0ZXJfb2JqLT50cmFuc2Zvcm0oJGltZyk7CgkgICAgJGkrKzsKCSAgfQoKCS8vIGFuZCB3cml0ZSB0aGUgdGhpbmcuCglpZiggISRlcnJvciAmJiBpc19vYmplY3QoJGltZykgKQoJICB7CgkgICAgJGltZy0+c2F2ZSgkZGVzdF9mbmFtZSwkb3BwWydxdWFsaXR5J10pOwoJICB9CiAgICAgIH0KICAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKQogICAgICB7CgkkZXJyb3IgPSAkZS0+Z2V0TWVzc2FnZSgpOwogICAgICB9CiAgfSAvLyBpZgoKCi8vIGlmIHdlIGhhdmUgYW4gZXJyb3IsIGRpc3BsYXkgaXQuLi4gd2UncmUgZG9uZS4KaWYoICRlcnJvciAhPSAnJykKICB7CiAgICAkc21hcnR5LT50cmlnZ2VyX2Vycm9yKCRlcnJvcik7CiAgICByZXR1cm47CiAgfQoKLy8gYXQgdGhpcyBwb2ludCwgd2UncmUgcmVhZHkgdG8gaGFuZGxlIGJ1aWxkaW5nIHRoZSB0YWcuCmlmKCAkb3BwWydub2NhY2hlJ10gKQogIHsKICAgICRkZXN0X3VybCAuPSAnP3g9Jy50aW1lKCk7CiAgfQoKLy8gYnVpbGQgdGhlIG91dHB1dC4KJG91dHB1dCA9ICcnOwpnbG9iYWwgJENNU19TVFlMRVNIRUVUOwppZiggJG9wcFsnbm90YWcnXSB8fCBpc3NldCgkQ01TX1NUWUxFU0hFRVQpICkKICB7CiAgICBpZiggISRvcHBbJ25vZW1iZWQnXSAmJiAkdGhpcy0+Y2FuX2VtYmVkKCRkZXN0X2ZuYW1lKSApCiAgICAgIHsKCSR0eXBlID0gY2dlX3V0aWxzOjpnZXRfbWltZV90eXBlKCRkZXN0X2ZuYW1lKTsKCWlmKCAkdHlwZSAmJiAkdHlwZSAhPSAndW5rbm93bicgKSAKCSAgewoJICAgICR0bXAgPSBiYXNlNjRfZW5jb2RlKGZpbGVfZ2V0X2NvbnRlbnRzKCRkZXN0X2ZuYW1lKSk7CgkgICAgJG91dHB1dCA9ICdkYXRhOicuJHR5cGUuJztiYXNlNjQsJy4kdG1wOwoJICB9CiAgICAgIH0KCiAgICBpZiggISRvdXRwdXQgKQogICAgICB7Cgkkb3V0cHV0ID0gJGRlc3RfdXJsOwogICAgICB9CiAgfQplbHNlCiAgewogICAgLy8KICAgIC8vIGdvdHRhIGJ1aWxkIGEgdGFnLgogICAgLy8KICAgIC8vIGdldCB0aGUgc3JjIGZpcnN0LgogICAgaWYoICEkb3BwWydub2VtYmVkJ10gJiYgJHRoaXMtPmNhbl9lbWJlZCgkZGVzdF9mbmFtZSkgKQogICAgICB7CgkkdHlwZSA9IGNnZV91dGlsczo6Z2V0X21pbWVfdHlwZSgkZGVzdF9mbmFtZSk7CglpZiggJHR5cGUgJiYgJHR5cGUgIT0gJ3Vua25vd24nICkgCgkgIHsKCSAgICAkdG1wID0gYmFzZTY0X2VuY29kZShmaWxlX2dldF9jb250ZW50cygkZGVzdF9mbmFtZSkpOwoJICAgICRvdXRwWydzcmMnXSA9ICdkYXRhOicuJHR5cGUuJztiYXNlNjQsJy4kdG1wOwoJICB9CiAgICAgIH0KCiAgICBpZiggIWlzc2V0KCRvdXRwWydzcmMnXSkgKQogICAgICB7CgkvLyBmYWxsYmFjayB0byB0aGUgZGVzdGluYXRpb24gdXJsLgoJJG91dHBbJ3NyYyddID0gJGRlc3RfdXJsOwogICAgICB9CgogICAgaWYoICEkb3V0cFsnd2lkdGgnXSAmJiAhJG91dHBbJ2hlaWdodCddICYmICEkb3BwWydub2F1dG8nXSApCiAgICAgIHsKCSRkZXRhaWxzID0gZ2V0aW1hZ2VzaXplKCRkZXN0X2ZuYW1lKTsKCWlmKCBpc19hcnJheSgkZGV0YWlscykgKQoJICB7CgkgICAgJG91dHBbJ3dpZHRoJ10gPSAoaW50KSRkZXRhaWxzWzBdOwoJICAgICRvdXRwWydoZWlnaHQnXSA9IChpbnQpJGRldGFpbHNbMV07CgkgIH0KICAgICAgfQoKICAgIC8vIG5vdyB3ZSBjYW4gYnVpbGQgdGhlIHRhZy4KICAgIGlmKCAhJG91dHBbJ2FsdCddICkKICAgICAgewoJJG91dHBbJ2FsdCddID0gYmFzZW5hbWUoJGRlc3RfZm5hbWUpOwogICAgICB9CgogICAgJG91dHB1dCA9ICc8aW1nJzsKICAgIGZvcmVhY2goICRvdXRwIGFzICRrZXkgPT4gJHZhbHVlICkKICAgICAgewoJaWYoICEkdmFsdWUgKSBjb250aW51ZTsKCSRvdXRwdXQgLj0gJyAnLiRrZXkuJz0iJy4kdmFsdWUuJyInOwogICAgICB9CiAgICAkb3V0cHV0IC49ICcvPic7CiAgfQoKZWNobyAkb3V0cHV0OwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZW1iZWRkaW5nJywkdGhpcy0+TGFuZygnZW1iZWRkaW5nJykpOwovL2VjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVzaXppbmcnLCR0aGlzLT5MYW5nKCdyZXNpemluZycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdnZW5lcmFsJywkdGhpcy0+TGFuZygnZ2VuZXJhbCcpKTsKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignZW1iZWRkaW5nJywkcGFyYW1zKTsKaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2VtYmVkZGluZ190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKLy8gZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3Jlc2l6aW5nJywkdGhpcy0+TGFuZygncmVzaXppbmcnKSk7Ci8vIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9yZXNpemluZ190YWIucGhwJyk7Ci8vIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2dlbmVyYWwnLCRwYXJhbXMpOwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fZ2VuZXJhbF90YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/CGSmartImage.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgokY2dleHRlbnNpb25zID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWydyb290X3BhdGgnXSwnbW9kdWxlcycsCgkJCSAgICAgICdDR0V4dGVuc2lvbnMnLCdDR0V4dGVuc2lvbnMubW9kdWxlLnBocCcpOwppZiggIWlzX3JlYWRhYmxlKCAkY2dleHRlbnNpb25zICkgKQp7CiAgZWNobyAnPGgxPjxmb250IGNvbG9yPSJyZWQiPkVSUk9SOiBUaGUgQ0dFeHRlbnNpb25zIG1vZHVsZSBjb3VsZCBub3QgYmUgZm91bmQuPC9mb250PjwvaDE+JzsKICByZXR1cm47Cn0KcmVxdWlyZV9vbmNlKCRjZ2V4dGVuc2lvbnMpOwoKCmNsYXNzIENHU21hcnRJbWFnZSBleHRlbmRzIENHRXh0ZW5zaW9ucwp7CiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpCiAgewogICAgcGFyZW50OjpTZXRQYXJhbWV0ZXJzKCk7CgogICAgLy8gb3BlcmF0aW9uYWwgcGFyYW1zICh3aGF0IHRvIGRvLCB3aXRoIHdoYXQuLi4pCgogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vY2FjaGUnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdub2NhY2hlJywnJywkdGhpcy0+TGFuZygncGFyYW1fbm9jYWNoZScpKTsKCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9lbWJlZCcsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ25vZW1iZWQnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9ub2VtYmVkJykpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub2F1dG8nLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdub2F1dG8nLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9ub2F1dG8nKSk7CgogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vdGFnJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbm90YWcnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9ub3RhZycpKTsKCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3JjJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3JjJywnJywkdGhpcy0+TGFuZygncGFyYW1fc3JjJyksZmFsc2UpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdvdmVyd3JpdGUnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdvdmVyd3JpdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9vdmVyd3JpdGUnKSk7CgogICAgLy8gcGFyYW1zIGZvciB0aGUgb3V0cHV0IHRhZyAoaWYgb3V0cHV0dGluZyBhbiBpbWcgdGFnKQoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjbGFzcycsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NsYXNzJywnJywkdGhpcy0+TGFuZygncGFyYW1fY2xhc3MnKSk7CgogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N0eWxlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3R5bGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9zdHlsZScpKTsKCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndGl0bGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd0aXRsZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX3RpdGxlJykpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhbHQnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhbHQnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9hbHQnKSk7CgogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25hbWUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCduYW1lJywnJywkdGhpcy0+TGFuZygncGFyYW1fbmFtZScpKTsKCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaGVpZ2h0JyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaGVpZ2h0JywnJywkdGhpcy0+TGFuZygncGFyYW1faGVpZ2h0JykpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd3aWR0aCcsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3dpZHRoJywnJywkdGhpcy0+TGFuZygncGFyYW1fd2lkdGgnKSk7CgogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3F1YWxpdHknLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdxdWFsaXR5JywnNzUnLCR0aGlzLT5MYW5nKCdwYXJhbV9xdWFsaXR5JykpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUC4nL2ZpbHRlcl8uKi8nLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfYmx1cicsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9ibHVyJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyX2JyaWdodG5lc3MnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWx0ZXJfYnJpZ2h0bmVzcycpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9jb2xvcml6ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9jb2xvcml6ZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9jb250cmFzdCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9jb250cmFzdCcpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9jcm9wJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX2Nyb3AnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfZWRnZWRldGVjdCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9lZGdlZGV0ZWN0JykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyX2VtYm9zcycsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9lbWJvc3MnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfZ3JheXNjYWxlJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX2dyYXlzY2FsZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9tZWFucmVtb3ZhbCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9tZWFucmVtb3ZhbCcpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9uZWdhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWx0ZXJfbmVnYXRlJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyX3BpeGVsYXRlJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX3BpeGVsYXRlJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyX3Jlc2l6ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9yZXNpemUnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfcm90YXRlJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX3JvdGF0ZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl93YXRlcm1hcmsnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWx0ZXJfd2F0ZXJtYXJrJykpOwoKICAgICR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwogIH0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0TmFtZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0TmFtZSgpCiAgewogICAgcmV0dXJuIGdldF9jbGFzcygkdGhpcyk7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRGcmllbmRseU5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICB9CiAgCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0VmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0VmVyc2lvbigpCiAgewogICAgcmV0dXJuICcxLjAuMyc7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNaW5pbXVtQ01TVmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS45LjEnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldERlcGVuZGVuY2llcwogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCdDR0V4dGVuc2lvbnMnPT4nMS4yMy4xJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVscCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3IoKQogICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQogICBBZG1pbiBpZiB5b3UgY2xpY2sgb24gdGhlICJBYm91dCIgbGluay4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3IoKQogIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMCc7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3JFbWFpbCgpCiAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgTW9kdWxlCiAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLiBJdCBoZWxwcyB1c2VycwogICBvZiB5b3VyIG1vZHVsZSBnZXQgaW4gdG91Y2ggd2l0aCB5b3UgdG8gc2VuZCBidWcgcmVwb3J0cywKICAgcXVlc3Rpb25zLCBjYXNlcyBvZiBiZWVyLCBhbmQvb3IgbGFyZ2Ugc3VtcyBvZiBtb25leS4KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwQGdtYWlsLmNvbSc7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRDaGFuZ2VMb2coKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fRklMRV9fKS4nL2NoYW5nZWxvZy5odG1sLmluYycpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzUGx1Z2luTW9kdWxlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5TZWN0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQogIHsKICAgIHJldHVybiAnZXh0ZW5zaW9ucyc7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBIYXNBZG1pbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSGFzQWRtaW4oKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KICAKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJyk7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBIYW5kbGVzRXZlbnRzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBIYW5kbGVzRXZlbnRzICgpCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwogIH0KCgogIHByb3RlY3RlZCBmdW5jdGlvbiBjYW5fc21hcnRfZW1iZWQoJHNyYykKICB7CiAgICBnbG9iYWwgJENNU19BRE1JTl9QQUdFOwogICAgZ2xvYmFsICRDTVNfU1RZTEVTSEVFVDsKCiAgICAkaW1hZ3NpemUgPSBmaWxlc2l6ZSgkc3JjKTsKCiAgICAkYnJvd3NlciA9IGNnZV91dGlsczo6Z2V0X2Jyb3dzZXIoKTsKICAgIHN3aXRjaCggJGJyb3dzZXItPmdldEJyb3dzZXIoKSApCiAgICAgIHsKICAgICAgY2FzZSBCcm93c2VyOjpCUk9XU0VSX0lFOgoJJHZlciA9ICRicm93c2VyLT5nZXRWZXJzaW9uKCk7CglpZiggJHZlciA8IDcgKSByZXR1cm4gRkFMU0U7CglpZiggJENNU19TVFlMRVNIRUVUICYmICR2ZXIgPCA4ICkgcmV0dXJuIEZBTFNFOwoJaWYoICR2ZXIgPT0gNyAmJiAkaW1hZ2VzaXplIDw9IDMyKjEwMjQgKSByZXR1cm4gVFJVRTsKCXJldHVybiBUUlVFOwoKICAgICAgZGVmYXVsdDoKCXJldHVybiBUUlVFOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGNhbl9lbWJlZCgkc3JjKQogIHsKICAgIGlmKCAhaXNfcmVhZGFibGUoJHNyYykgKSByZXR1cm4gRkFMU0U7CgogICAgJGVfbW9kZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWJlZF9tb2RlJyk7CiAgICAkZV9zaXplbGltaXQgPSAoaW50KSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWJlZF9zaXplJyk7CiAgICAkZV90eXBlcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWJlZF90eXBlcycpOwoKICAgIHN3aXRjaCggJGVfbW9kZSApCiAgICAgIHsKICAgICAgY2FzZSAnc21hcnQnOgoJcmV0dXJuICR0aGlzLT5jYW5fc21hcnRfZW1iZWQoJHNyYyk7CgogICAgICBjYXNlICdzbWFydF9saW1pdGVkJzoKCWlmKCAkZV9zaXplbGltaXQgPD0gMCB8fCAkZV9zaXplbGltaXQgPiAxMDAwMCApIHJldHVybiBGQUxTRTsKCSRlX3NpemVsaW1pdCAqPSAxMDI0OwoJJHRtcCA9IGZpbGVzaXplKCRzcmMpOwoJaWYoICR0bXAgPiAkZV9zaXplbGltaXQgKSByZXR1cm4gRkFMU0U7CglyZXR1cm4gJHRoaXMtPmNhbl9zbWFydF9lbWJlZCgkc3JjKTsKCWJyZWFrOwoJCiAgICAgIGNhc2UgJ3NpemVsaW1pdCc6CgkvLyBjaGVjayB0aGUgbGltaXQuCglpZiggJGVfc2l6ZWxpbWl0IDw9IDAgfHwgJGVfc2l6ZWxpbWl0ID4gMTAwMDAgKSByZXR1cm4gRkFMU0U7CgkkZV9zaXplbGltaXQgKj0gMTAyNDsKCQoJLy8gZ2V0IHRoZSBmaWxlc2l6ZQoJJHRtcCA9IGZpbGVzaXplKCRzcmMpOwoJaWYoICR0bXAgPiAkZV9zaXplbGltaXQgKSByZXR1cm4gRkFMU0U7CglyZXR1cm4gVFJVRTsKCiAgICAgIGNhc2UgJ3R5cGUnOgoJaWYoICEkZV90eXBlcyApIHJldHVybiBGQUxTRTsKCSR0eXBlcyA9IGV4cGxvZGUoJywnLCRlX3R5cGVzKTsKCSRleHQgPSBzdHJyY2hyKCRmaWxlWyduYW1lJ10sJy4nKTsKCWlmKCAhJGV4dCApIHJldHVybiBGQUxTRTsKCWZvcmVhY2goICR0eXBlcyBhcyAkdHlwZSApCgkgIHsKCSAgICBpZiggJy4nLnN0cnRvbG93ZXIoJHR5cGUpID09IHN0cnRvbG93ZXIoJGV4dGVuc2lvbikgKSByZXR1cm4gVFJVRTsKCSAgfQoJcmV0dXJuIEZBTFNFOwoJYnJlYWs7CgogICAgICBjYXNlICdub25lJzoKICAgICAgZGVmYXVsdDoKCXJldHVybiBGQUxTRTsKICAgICAgfQogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBjbGVhcl9jYWNoZWRfZmlsZXMoKQogIHsKICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICRkaXIgPSAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4nL18nLiR0aGlzLT5HZXROYW1lKCk7CiAgICAkYWdlX2RheXMgPSAoaW50KSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjYWNoZV9hZ2UnKTsKICAgIGlmKCAkYWdlX2RheXMgPD0gMCApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfYWdlJykpOwogICAgICB9CgkgIAogICAgJHRoZWRhdGUgPSB0aW1lKCkgLSAkYWdlX2RheXMgKiAyNCAqIDYwICogNjA7CiAgICBpZiggJGRoID0gb3BlbmRpcigkZGlyKSApIAogICAgICB7Cgkkbl9yZW1vdmVkID0gMDsKCXdoaWxlKCAoJGZpbGUgPSByZWFkZGlyKCRkaCkpICE9PSBmYWxzZSApCgkgIHsKCSAgICBpZiggc3RhcnRzd2l0aCgkZmlsZSwnLicpICkgY29udGludWU7IC8vIGlnbm9yZSBoaWRkZW4gZmlsZXMuCgkgICAgJGZuID0gY21zX2pvaW5fcGF0aCgkZGlyLCRmaWxlKTsKCSAgICBpZiggZmlsZW10aW1lKCRmbikgPCAkdGhlZGF0ZSAmJiBpc19maWxlKCRmbikgKQoJICAgICAgewoJCUB1bmxpbmsoJGZuKTsKCQkkbl9yZW1vdmVkKys7CgkgICAgICB9CgkgIH0KCWNsb3NlZGlyKCRkaCk7CiAgICAgIH0KICAgIHJldHVybiAkbl9yZW1vdmVkOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBIYXNDYXBhYmlsaXR5KCRjYXBhYmlsaXR5LCAkcGFyYW1zID0gYXJyYXkoKSkKICB7CiAgICBpZiggJGNhcGFiaWxpdHkgPT0gJ3Rhc2tzJyApIHJldHVybiBUUlVFOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfdGFza3MoKQogIHsKICAgIHJldHVybiBuZXcgQ0dTbWFydEltYWdlX0NsZWFyQ2FjaGVUYXNrKCk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9jYWNoZWRfaW1hZ2VfdXJsKCRmaWxlbmFtZSkKICB7CiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkcHJlZml4ID0gdHJpbSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfdXJsX3ByZWZpeCcpKTsKICAgIGlmKCAhJHByZWZpeCApICRwcmVmaXggPSAkY29uZmlnWyd1cGxvYWRzX3VybCddOwogICAgJGhhc2NhY2hlZGlyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicpOwoKICAgICR1cmwgPSAkcHJlZml4OwogICAgaWYoICFlbmRzd2l0aCgkdXJsLCcvJykgKSAkdXJsIC49ICcvJzsKICAgIGlmKCAhJGhhc2NhY2hlZGlyICkgJHVybCAuPSAnXycuJHRoaXMtPkdldE5hbWUoKTsKICAgIGlmKCAhZW5kc3dpdGgoJHVybCwnLycpICkgJHVybCAuPSAnLyc7CiAgICAkdXJsIC49ICRmaWxlbmFtZTsKICAgIHJldHVybiAkdXJsOwogIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/changelog.html.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Tm90aGluZyBoZXJlIHlldAo=]]></data>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_embedding_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJGVtYmVkX21vZGVzID0gYXJyYXkoKTsKJGVtYmVkX21vZGVzWydub25lJ10gPSAkdGhpcy0+TGFuZygnbm9uZScpOwokZW1iZWRfbW9kZXNbJ3NtYXJ0J10gPSAkdGhpcy0+TGFuZygnc21hcnQnKTsKJGVtYmVkX21vZGVzWydzaXplbGltaXQnXSA9ICR0aGlzLT5MYW5nKCdwcm9tcHRfZW1iZWRfc2l6ZWxpbWl0Jyk7CiRlbWJlZF9tb2Rlc1snc21hcnRfbGltaXRlZCddID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9lbWJlZF9zbWFydGxpbWl0ZWQnKTsKJGVtYmVkX21vZGVzWyd0eXBlJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X2VtYmVkX3R5cGUnKTsKJHNtYXJ0eS0+YXNzaWduKCdlbWJlZF9tb2RlcycsJGVtYmVkX21vZGVzKTsKJHNtYXJ0eS0+YXNzaWduKCdlbWJlZF9tb2RlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW1iZWRfbW9kZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbWJlZF9zaXplbGltaXQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWJlZF9zaXplbGltaXQnKSk7CiRzbWFydHktPmFzc2lnbignZW1iZWRfdHlwZXMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWJlZF90eXBlcycpKTsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU1RhcnQoJGlkLCdhZG1pbl9lbWJlZGRpbmdfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VtYmVkZGluZ190YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_general_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKCiRzbWFydHktPmFzc2lnbignY2FjaGVfYWdlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2FjaGVfYWdlJykpOwokc21hcnR5LT5hc3NpZ24oJ2ltYWdlX3VybF9wcmVmaXgnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZV91cmxfcHJlZml4JykpOwokc21hcnR5LT5hc3NpZ24oJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2dlbmVyYWxfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2dlbmVyYWxfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_resizing_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKZWNobyBfX0ZJTEVfXzsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBBCiRsYW5nWydhY3RfY2FjaGVjbGVhbmVkJ10gPSAnQ2FjaGUgQ2xlYW5lZCc7CiRsYW5nWydhc2tfY2xlYXJfaW1hZ2VfY2FjaGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIEFMTCBmaWxlcyBmcm9tIHRoZSBpbWFnZSBjYWNoZT8nOwoKIyBDCiRsYW5nWydjbGVhcl9hbGwnXSA9ICdDbGVhciBBbGwgRmlsZXMnOwokbGFuZ1snY2xlYXJfbm93J10gPSAnQ2xlYXIgTm93JzsKCiMgRQokbGFuZ1snZW1iZWRkaW5nJ10gPSAnRW1iZWRkZWQgSW1hZ2VzJzsKJGxhbmdbJ2VtYmVkZGluZ19tb2RlJ10gPSAnSW1hZ2UgRW1iZWRkaW5nIE1vZGUnOwokbGFuZ1snZW1iZWRfc2l6ZWxpbWl0J10gPSAnRW1iZWRkYWJsZSBpbWFnZSBzaXplIGxpbWl0IChrYiknOwokbGFuZ1snZW1iZWRfdHlwZXMnXSA9ICdFbWJlZGRhYmxlIGltYWdlIHR5cGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZF9hZ2UnXSA9ICdBZ2UgcHJlZmVyZW5jZSBpbnZhbGlkLi4uIE5vIG9wZXJhdGlvbiBwZXJmb3JtZWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtJ10gPSAnSW52YWxpZCBwYXJhbWV0ZXIgaW4gY2FsbDogJXMnOwokbGFuZ1snZXJyb3JfdW5rbm93bmZpbHRlciddID0gJ0NHU21hcnRJbWFnZSAtIFVua25vd24gRmlsdGVyOiAlcyc7CgojIEYKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgU21hcnQgSW1hZ2UgVG9vbGtpdCc7CgojIEcKJGxhbmdbJ2dlbmVyYWwnXSA9ICdHZW5lcmFsJzsKCiMgSAokbGFuZ1snaGVscCddID0gPDw8RU9YCjxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNpbXBsZSB3YXkgdG8gcHJvY2VzcywgYW5kIGRpc3BsYXkgaW1hZ2VzIG9uIHlvdXIgd2ViIHBhZ2UuICBJdCBhbGxvd3Mgc2ltcGxlIGltYWdlIHByb2Nlc3NpbmcsIGFuZCB3YXRlcm1hcmtpbmcuICBUaGlzIG1vZHVsZSBtYWtlcyBkaXNwbGF5aW5nIHByb2Nlc3NlZCBpbWFnZXMgb24geW91ciB3ZWJzaXRlIHRyaXZpYWwuICBJdCBhbHNvIHByb3ZpZGVzIGZlYXR1cmVzIHRvIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIHJhdGluZyBvZiB5b3VyIHdlYnNpdGUsIG1ha2luZyB5b3VyIHdlYnNpdGUgcG93ZXJmdWwgYW5kIGZhc3QgYXQgdGhlIHNhbWUgdGltZS48L3A+CjxoMz5GZWF0dXJlczwvaDM+Cjx1bD4KPGxpPlBvd2VyZnVsLCBidXQgc2ltcGxlIHRvIHVzZSBpbWFnZSBmaWx0ZXJpbmcgYW5kIHByb2Nlc3NpbmcuIEZpbHRlcmluZyBpbmNsdWRlczoKICA8dWw+CiAgICA8bGk+Qmx1cjwvbGk+CiAgICA8bGk+QnJpZ2h0bmVzczwvbGk+CiAgICA8bGk+Q29sb3JpemU8L2xpPgogICAgPGxpPkNvbnRyYXN0PC9saT4KICAgIDxsaT5Dcm9wPC9saT4KICAgIDxsaT5FZGdlIERldGVjdGlvbjwvbGk+CiAgICA8bGk+RW1ib3NzPC9saT4gCiAgICA8bGk+R3JheXNjYWxlPC9saT4KICAgIDxsaT5NZWFuIFJlbW92YWw8L2xpPgogICAgPGxpPk5lZ2F0ZTwvbGk+CiAgICA8bGk+UGl4ZWxhdGU8L2xpPgogICAgPGxpPlJlc2l6ZTwvbGk+CiAgICA8bGk+Um90YXRlPC9saT4KICAgIDxsaT5TZWxpY3RpdmUgQmx1cjwvbGk+CiAgICA8bGk+U21vb3RoPC9saT4KICAgIDxsaT5XYXRlcm1hcms8L2xpPgogIDwvdWw+CjwvbGk+PGJyLz4KPGxpPlNtYXJ0IGRldGVjdGlvbiBvZiBpbWFnZXMuICBTcGVjaWZ5IGFic29sdXRlIFVSTFMsIGFic29sdXRlIHBhdGhzLCBvciBmaWxlcyByZWxhdGl2ZSB0byB5b3VyIHJvb3QgaW5zdGFsbGF0aW9uLjwvbGk+CjxsaT5TbWFydCBhdHRyaWJ1dGUgZ2VuZXJhdGlvbiBmb3IgaW1hZ2VzLjwvbGk+CjxsaT5Qcm9jZXNzZWQgaW1hZ2VzIGFyZSBjYWNoZWQgb24gdGhlIHNlcnZlciBmb3IgZmFzdGVyIHNlcnZpbmcuPC9sST4KPGxpPlRoZSBhYmlsaXR5IHRvIHVzZSBhIHNlcGFyYXRlIFVSTCAoQ0ROKSBmb3Igc2VydmluZyBpbWFnZXM8L2xpPgo8bGk+SW1hZ2UgcHJvY2Vzc2VzIGNhbiBiZSBjb21iaW5lZCwgYW5kIGFyZSBleGVjdXRlZCBpbiBvcmRlci48L2xpPgo8bGk+UHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gZW1iZWQgaW1hZ2VzIGRpcmVjdGx5IGludG8gdGhlIGNvbnRlbnQgb2YgdGhlIHdlYiBwYWdlIHRvIG1pbmltaXplIHNwYWNlLjwvbGk+CjxsaT5Qcm92aWRlcyB0aGUgYWJpbGl0eSB0byBsaW1pdCBlbWJlZGRpbmcgaW1hZ2VzIHNtYXJ0bHksIG9ubHkgdG8gYnJvd3NlcnMgdGhhdCBhcmUgY2FwYWJsZSBvZiB1bmRlcnN0YW5kaW5nIHRoZW0uPC9saT4KPGxpPkFsc28gd29ya3Mgd2l0aGluIHN0eWxlc2hlZXRzIHZpYSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcuPC9saT4KPGxpPk1vcmUuLi48L2xpPgo8L3VsPgo8aDM+SG93IGRvIEkgdXNlIGl0PC9oMz4KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gdXNlIGl0IGluIHRoZSBzYW1lIHBsYWNlIHlvdSB3b3VsZCB0aGUge2ltYWdlfSB0YWcuICBJLmU6IFNvbWV0aGluZyBsaWtlIDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyd9PC9jb2RlPi4gIFRoaXMgd2lsbCBnZW5lcmF0ZSB0aGUgaW1hZ2UgdGFnIGZvciB5b3Ugd2l0aCBubyBwcm9jZXNzaW5nLiAgQW5kIGlmIHBvc3NpYmxlLCBlbWJlZCB0aGUgaW1hZ2UgZGlyZWN0bHkgaW50byB5b3VyIGh0bWwgb3V0cHV0LjwvcD4KPHA+T2Z0ZW4gcGVvcGxlIHdhbnQgdG8gZGlzcGxheSBhIHdhdGVybWFyayBvbiB0aGUgaW1hZ2VzIHRoYXQgdGhleSBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZCB0byBwcmV2ZW50IGltYWdlIHRoZWZ0LiAgVGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUgcHJvdmlkZXMgc2V0dGluZ3MgZm9yIHlvdSB0byBjb25maWd1cmUgd2F0ZXJtYXJraW5nIGFuZCB5b3UgY2FuIGVuYWJsZSB0aGF0IHdpdGggYW55IGltYWdlIHdpdGggYSB0YWcgbGlrZSB0aGlzOiA8Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij57Q0dTbWFydEltYWdlIHNyYz0ndXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcnIGZpbHRlcl93YXRlcm1hcms9MX08L2NvZGU+LiAgVGhpcyB3aWxsIHJlYWQgdGhlIGltYWdlLCBhcHBseSB0aGUgd2F0ZXJtYXJrIGFjY29yZGluZyB0byB0aGUgc2V0dGluZ3MgaW4gQ0dFeHRlbnNpb25zLCBjYWNoZSB0aGUgYWx0ZXJlZCBpbWFnZSwgYW5kIHRoZW4gZW1iZWQgaXQgaW50byB5b3VyIG91dHB1dC48L3A+CjxwPkFsc28sIFBpY3R1cmVzIHRha2VuIGJ5IG1vZGVybiBkaWdpdGFsIGNhbWVyYXMgYXJlIG9mdGVuIHRvbyBsYXJnZSBmb3IgdXNlIG9uIGEgd2Vic2l0ZSwgdGhlcmVmb3JlIHRoZXkgbmVlZCB0byBiZSBzY2FsZWQgYmVmb3JlIGRpc3BsYXllZCBvbiB5b3VyIHBhZ2UuICBUaGlzIGNhbiBiZSBkb25lIHF1aXRlIGVhc2lseSB3aXRoIGEgdGFnIGxpa2U6IDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZycgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9J3csMzUwJ308L2NvZGU+LiAgQXMgeW91IG1heSB0aGluaywgdGhlIHdhdGVybWFyayB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIGltYWdlIGJlZm9yZSBpdCBpcyByZXNpemVkIHRvIGEgbWF4aW11bSB3aWR0aCBvZiAzMDAgcGl4ZWxzIChyZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIFRoZW4gdGhlIGFkanVzdGVkIGltYWdlIHdpbGwgYmUgY2FjaGVkLCBhbmQgaWYgdGhlIGJyb3dzZXIgYWxsb3dlcyB0aGUgaW1hZ2Ugd2lsbCBiZSBlbWJlZGRlZCBpbnRvIHRoZSBIVE1MIG91dHB1dC4gIElmIGVtYmVkZGluZyBpcyBub3QgcG9zc2libGUsIHRoZSBpbWcgdGFnIHdpbGwgY29udGFpbiB0aGUgVVJMIHRvIHRoZSBjYWNoZWQgaW1hZ2UuPC9wPgo8cD5Gcm9tIGhlcmUgeW91IGNhbiBjb21iaW5lIHRoZSBvcHRpb25zIGJlbG93IHRvIHBlcmZvcm0gYWxvdCBvZiBkaWZmZXJlbnQgZWZmZWN0cyB0byB5b3VyIGltYWdlcywgYnVpbGQgc2ltcGxlIGdhbGxlcmllcywgYW5kIGltcHJvdmUgeW91ciBzaXRlIHBlcmZvcm1hbmNlIGF0IHRoZSBzYW1lIHRpbWUuICBFbmpveSE8L3A+CiA8aDM+QSBTaW1wbGUgR2FsbGVyeTwvaDM+CjxwPlRoZSBjb2RlIGJlbG93IHVzZXMgdGhlIHtDR1NtYXJ0SW1hZ2V9IG1vZHVsZSwgZmFuY3lib3gsIGFuZCBhIGJpdCBvZiBzbWFydHkgbWFnaWMgdG8gZ2VuZXJhdGUgYSBzaW1wbGUgbGlnaHRib3ggc3R5bGUgYWxib20gZnJvbSBhIHN1YmRpcmVjdG9yeSBvbiB5b3VyIHdlYnNpdGUsIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGltYWdlcyBmb3Igd2ViIHN0YW5kYXJkcywgYW5kIGNyZWF0aW5nIHRodW1ibmFpbHMuPC9wPgo8cHJlIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsiPjxjb2RlPjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDE6PC9zcGFuPiAmbHQ7c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCImZ3Q7e2xpdGVyYWx9CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDI6PC9zcGFuPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDM6PC9zcGFuPiAgalF1ZXJ5KCdhLmZhbmN5Ym94JykuZmFuY3lib3goKTsKPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNDo8L3NwYW4+IH0pOwo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiA1Ojwvc3Bhbj4gey9saXRlcmFsfSZsdDsvc2NyaXB0Jmd0Owo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiA2Ojwvc3Bhbj4ge2Fzc2lnbiB2YXI9J2ZpbGVzJyB2YWx1ZT0ndXBsb2Fkcy9hbGJ1bS8qLmpwZyd8Z2xvYn0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNzo8L3NwYW4+IHtpZiBjb3VudChcJGZpbGVzKX0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gODo8L3NwYW4+ICZsdDtkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDE1MHB4OyBvdmVyZmxvdzogYXV0bzsiJmd0Owo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiA5Ojwvc3Bhbj4ge2ZvcmVhY2ggZnJvbT1cJGZpbGVzIGl0ZW09J2ZpbGUnfQo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjEwOjwvc3Bhbj4gICZsdDthIHJlbD0nc2ltcGxlX2FsYnVtJyBjbGFzcz0iZmFuY3lib3giIGhyZWY9IjxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPVwkZmlsZSBmaWx0ZXJfcm90YXRlPTkwLDAgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9J2gsNTAwJyBub3RhZz0xIG5vZW1iZWQ9MX08L3NwYW4+IiZndDsKPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4xMTo8L3NwYW4+ICA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij57Q0dTbWFydEltYWdlIHNyYz1cJGZpbGUgZmlsdGVyX3JvdGF0ZT05MCwwIGZpbHRlcl9ncmF5c2NhbGU9MSBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0naCwxNTAnfTwvc3Bhbj4KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4xMjo8L3NwYW4+ICAmbHQ7L2EmZ3Q7CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTM6PC9zcGFuPiB7L2ZvcmVhY2h9CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTQ6PC9zcGFuPiAmbHQ7L2RpdiZndDsKPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4xNTo8L3NwYW4+IHsvaWZ9CjwvY29kZT48L3ByZT48YnIvPgo8cD5MZXRzIHRhbGsgYWJvdXQgdGhpcy48L3A+CjxwPkxpbmVzIDEgdGhyb3VnaCA1IHV0aWxpemUgalF1ZXJ5IHRvIGNhbGwgZmFuY3lib3ggb24gYW55IGxpbmtzIHRoYXQgaGF2ZSB0aGUgJnF1b3Q7ZmFuY3lib3gmcXVvdDsgY2xhc3MuICBUaGUgZmFuY3lib3ggalF1ZXJ5IHBsdWdpbiBpcyBpbmNsdWRlZCB3aXRoIHRoZSBKUXVlcnlUb29scyBtb2R1bGUuPC9wPgo8cD5MaW5lIDYgdXNlcyBhIGJ1aWx0IGluIHBocCBmdW5jdGlvbiBjYWxsZWQgZ2xvYiwgYW5kIHNvbWUgc21hcnR5IG1hZ2ljIHRvIGZpbmQgYWxsIG9mIHRoZSBKUEcgZmlsZXMgaW4gdGhlIHVwbG9hZHMvYWxidW0gZGlyZWN0b3J5IGJlbG93IG91ciBpbnN0YWxsYXRpb24gcm9vdC48L3A+CjxwPkxpbmUgNyBpcyBhIHRlc3QgdG8gc2VlIGlmIGFueSBmaWxlcyB3ZXJlIGFjdHVhbGx5IGZvdW5kIGluIHRoZSBhc3NpZ24gbGluZSBzdGF0ZWQgYWJvdmUuICBUaGlzIGlmIHN0YXRlbWVudCBpcyBjbG9zZWQgb24gbGluZSAxNS48L3A+CjxwPkxpbmUgOCBvcGVucyB1cCBhIGRpdiB0byBjb250YWluIG91ciBhbGJ1bS4gIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBleGFtcGxlIHRoZSBzdHlsZXMgd2VyZSBpbmNsdWRlZCBpbmxpbmUsIGhvd2V2ZXIgYSBjbGFzcyB0aGF0IHdhcyBkZWZpbmVkIGluIHRoZSBzdHlsZXNoZWV0IHNob3VsZCBiZSB1c2VkIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzLiAgVGhlIGNsb3NpbmcgdGFnIGZvciB0aGlzIGRpdiBpcyBvbiBsaW5lIDE0LCBqdXN0IGJlZm9yZSB0aGUgPGNvZGU+ey9pZn08L2NvZGU+LjwvcD4KPHA+TGluZSA5IGJlZ2lucyBhIGxvb3AgdGhyb3VnaCBhbGwgb2YgdGhlIGZpbGVzIHRoYXQgd2UgZm91bmQgaW4gdGhlIGRpcmVjdG9yeS4gIFRoaXMgbG9vcCBpcyBjbG9zZWQgb24gbGluZSAxMy48L3A+PGJyLz4KPHA+TGluZXMgMTAgYW5kIDExIGFyZSB0aGUgcmVhbCBtYWdpYy4gIEhlcmUgd2UgY3JlYXRlIGEgbGluayB3aXRoIGNsYXNzICZxdW90O2ZhbmN5Ym94JnF1b3Q7IGFuZCBhZGRzIHRoZSA8Y29kZT5yZWw8L2NvZGU+IGF0dHJpYnV0ZSBzbyB0aGF0IGZhbmN5Ym94IGtub3dzIHRoYXQgYWxsIG9mIHRoZXNlIGltYWdlcyBzaG91bGQgYmUgZ3JvdXBlZCB0b2dldGhlciBhcyBvbmUgYWxidW0gYW5kIGFsbG93IGNsaWNraW5nIGJldHdlZW4gdGhlIGltYWdlcy4gIFRoZW4gY29tZXMgdGhlIHBhcnQgd2hlcmUgd2UgZGVmaW5lIG91ciBpbWFnZXMuCjxwPldlIHN1cHBseSB0aGUgXCRmaWxlIHZhcmlhYmxlIHRvIHRoZSBzcmMgYXJndW1lbnQgb2YgdGhlIDxjb2RlPntDR1NtYXJ0SW1hZ2V9PC9jb2RlPiB0YWcgc28gdGhhdCBpdCB3aWxsIGdldCB0aGUgbmFtZSBvZiBlYWNoIG1hdGNoZWQganBlZyBhcyB0aGUgbG9vcCBpcyBleGVjdXRlZC48L3A+CjxwPlRoZSBpbWFnZXMgSSB3YXMgdGVzdGluZyB3aXRoIHdlcmUgdXBsb2FkZWQgZnJvbSBteSBpcG9kLCBhbmQgYWxsIHNlZW1lZCB0byBiZSByb3RhdGVkIDkwIGRlZ3JlZXMgY291bnRlciBjbG9ja2Vpcy4gIFNvIHRoZSBmaXJzdCBmaWx0ZXIgSSBhZGRlZCB3YXMgdG8gcm90YXRlIHRoZSBpbWFnZSA5MCBkZWdyZWVzIGNsb2Nrd2lzZSB2aWEgdGhlIDxjb2RlPmZpbHRlcl9yb3RhdGU9OTAsMDwvY29kZT4gYXJndW1lbnQuIFRoZSBpbWFnZXMgdGhlbiBuZWVkZWQgdG8gaGF2ZSB0aGUgd2F0ZXJtYXJrIG9uIHRoZW0gPGVtPih0aGlzIGlzIGp1c3QgZm9yIGV4YW1wbGUgcHVycG9zZXMsIEkgZG9udCB0aGluayBhbnlib2R5IHdvdWxkIHJlYWxseSBzdGVhbCB0aGUgYmx1cnJ5IHBpY3R1cmVzIGZyb20gbXkgaXBvZCBmb3IgY29tbWVyY2lhbCBwdXJwb3Nlcyk8L2VtPiwgc28gSSBhZGRlZCB0aGUgPGNvZGU+ZmlsdGVyX3dhdGVybWFyaz0xPC9jb2RlPiBwYXJhbWV0ZXIuICBBbmQgZmluYWxseSwgYmVjYXVzZSBldmVuIHRoZSBpcG9kIHRvdWNoIGNhbiB0YWtlIHBpY3R1cmVzIHRoYXQgYXJlIHRvbyBiaWcgdG8gZGlzcGxheSBvbiB0aGUgc2NyZWVuIEkgd2FudGVkIHRvIHJlc2l6ZSB0aGVtIHRvIGEgbWF4aW11bSBoZWlnaHQgb2YgNTAwIHBpeGVscy4gIFRoaXMgd2FzIGFjY29tcGxpc2hlZCB2aWEgdGhlIDxjb2RlPmZpbHRlcl9yZXNpemU9aCw1MDA8L2NvZGU+IGFyZ3VtZW50LiAgV2UgYWRkIHRoZSA8Y29kZT5ub2VtYmVkPTE8L2NvZGU+IGFyZ3VtZW50IGJlY2F1c2UgZmFuY3lib3ggZG9lcyBub3QgdW5kZXJzdGFuZCBob3cgdG8gZGlzcGxheSBlbWJlZGRlZCBpbWFnZXMgaW4gaXRzIHBvcHVwIHdpbmRvdy4gIFRoaXMgZGVmaW5lZCB0aGUgaW1hZ2UgdGhhdCB3ZSB3ZXJlIGdvaW5nIHRvIGxpbmsgdG8uPC9wPgo8cD5OZXh0IHdlIG5lZWRlZCB0byBkZWZpbmUgdGhlIHRodW1ibmFpbCBpbWFnZSB0aGF0IHdlIGFyZSBnb2luZyB0byB1c2UgaW4gdGhlIGdhbGxlcnkuICBUaGlzIGNhbGwgdG8gPGNvZGU+e0NHU21hcnRJbWFnZX08L2NvZGU+IGlzIGFsbW9zdCBpZGVudGljYWwgdG8gdGhlIGZpcnN0IGNhbGwsIGV4Y2VwdCB0aGF0IHdlIHVzZSBhIGRpZmZlcmVudCBoZWlnaHQgdmFsdWUgKDE1MCBwaXhlbHMpIGZvciB0aGUgdGh1bWJuYWlsLCBhbmQgZm9yIGtpY2tzIEkgY29udmVydGVkIHRoZSB0aHVtYm5haWwgdG8gZ3JleXNjYWxlIDxzdHJvbmc+YmVmb3JlPC9zdHJvbmc+IGFwcGx5aW5nIHRoZSB3YXRlcm1hcmsuICBJIGFsc28gcmVtb3ZlZCB0aGUgbm9lbWJlZD0xIGFyZ3VtZW50IHNvIHRoYXQgdGhlIHN5c3RlbSBjb3VsZCBlbWJlZCB0aGUgaW1hZ2UgaW4gdGhlIEhUTUwgb3V0cHV0IGlmIHRoZSBicm93c2VyIHN1cHBvcnRlZCBpdC4gIFRoZSBzY3JlZW4gY2FwdHVyZSBiZWxvdyBzaG93cyB0aGUgZWZmZWN0LjwvcD4KPGltZyBzcmM9ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFRRUFZQUJnQUFELzJ3QkRBQWdHQmdjR0JRZ0hCd2NKQ1FnS0RCUU5EQXNMREJrU0V3OFVIUm9mSGgwYUhCd2dKQzRuSUNJc0l4d2NLRGNwTERBeE5EUTBIeWM1UFRneVBDNHpOREwvMndCREFRa0pDUXdMREJnTkRSZ3lJUndoTWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qTC93QUFSQ0FDaEFmQURBU0lBQWhFQkF4RUIvOFFBSEFBQUFRUURBUUFBQUFBQUFBQUFBQUFBQUFRRkJnY0JBZ01JLzhRQVVCQUFBZ0VEQWdNRUJ3UUdCd1FJQlFVQUFRSURBQVFSQlNFR0VqRVRRVkZoQnhRaWNZR1JzU015b2RFVk0wSlNrc0VXSlRSaWNuUHdKRldDNFJjMlExTldnNkx4SmpWRVk3SmtrN1BDMHYvRUFCZ0JBUUVCQVFFQUFBQUFBQUFBQUFBQUFBQUJBZ01FLzhRQUl4RUJBUUFDQWdNQUFnSURBQUFBQUFBQUFBRUNFU0V4QXhKQkV5SWpRbEZoa2YvYUFBd0RBUUFDRVFNUkFEOEF0Zlc5VnViSzcwK3hza2c5WnZwR1ZaTGduczBDakp5QnVUNEN0THZWTG5UTEZZOVF2Tk1pMUdaK1dESWNSdU1nZE56bmY2VjA0aGswWDFhS0RXd3ZZeU1lUm1Wc0t3NytaZnVuenFKM01sMUp3dElIa3VKck5OV2dXeW11QWUwZUxtSFhPNUdlaE5CTkxyWE5Lc1pIanV0UXQ0WFJ3aks3NElZak9NZTRnMXRIcldseTN3c285UXRudVdHUkVzZ0pPMmR2aFRGRkRISnhMeGd6eHF4N0dOUVdYTzNaSGI4QlRYREVxY0o4RnVzWVZ4ZVFISVhCMzVzL09nbGI4UzZKSE8wTW1xV3FTcTVqWldmQkREWWcrRmM1OVN1RTR0c2RPUms5V25zNVptOW5KTEtSakI4S2k5cnFlbVcybjhTV2QyQkpjVDMxd0VnRVJacGM3QURBOGZsU3F6aXVOTDFuaGM2aHpvdzA1N1ZwQ0NRSlNSaFNlNDBFbW0xM1NiYTk5VG0xRzJqdU1nZG0wZ0JCUGNmQSsrbkNxNHNrZ2owZTUwYlZ0UWUxdVpKWFdlM05pSGVRczJ6cTJNdG5JT2U2ckJ0b1JaMlVVRFNzNnd4aERJL1VoUmpKK1ZBMlhldkphOFMyV2tsY2lkQ1hrL2NZL2NIeDVXL0NqOUpYUDlMcE5OeW5xeTZmNndCeTc4L1BqcjRZN3Fpeng2dnErbWFscVZycDBiQzduRnpienRjY3Jvc1I5Z0JNYjlEMzc4MU9WcnFNVjF4ZFphaXdaSWRRMG9KRXhVNE1uTVNVejNFWU5BczRiNHB0ZFIweXpXK3Y3VWFsTUd6RUNGSlBNUUJqeHdCdFQ3SGVXMDF4Y1c4Y3lOTmI0N1pCMVRJeU0vQ3E3dDdpenVmUjdEbzBjYlNhcy82cUVRdHpxNWZLdm5Hd3h2bk5QZHZmdzZMeE5yYTZnN3E5ekhBMEdJMmJ0aUkrVTh1QnVjOTFCSVAwN3BRdG83azZoYmlHVkdkSExZREtwd3hIdUpBcm1lSk5FV0tLUTZyYUJKU1FoN1FiL2w4YWgyZ1JoMjRNRWlCZ0k3dHNNTTRJSklOTEJieGZvM2pyN0ZQMTBtUFlIZEhrZmp2UVRrSEl5RGtHaWtPaWtuUWRPSnpuMVdMT2Y4QXBkUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRlJsdURyZmw1Rm1Fa1lVS29tVmlRQVA3cktQd3FUVVZaZEpac3dhTndwYmFQZmV1TGNTeVNCWkVST2lJcmxTUUFjbjlnZFNhZjZLS2lpanJSUlFGRkh3b3g1VUNEUzlMVFN4ZGlPVjVQV2JsN2x1WUFjcGJHUU1kMjFMNk1lVkdENFVCaytORkdENEdqQjhEUUZGR0Q0R3M0UGdhREdUUm1zNFBnYXhnK0JvQ2lpajRVQlJSOEtQaFFGRkdQS2pIbFFGRkdENEdqQjhEUUZGR0Q0R2pCOERRRkZad2ZBMWpCOERRRkZGRkFVVVVVQlJSUlFGRkZGQVVVWVBnYVBoUUZGRkdDVGpHOUFVVm5rYjkxdmxSeXQrNjN5b01VVm5sYjkxdmxSZytCK1ZCaWlqQjhLenl0KzZmbFFZb3JKVWpxQ1BlS0FySG9wUHdvTVVWbmxiOTF2bFFWWWRWSStGQmlpczRQZ2ZsUUFUMEJQdUZCaWlzOGpmdU44alJ5UDhBdU44cURGRlpLc09xa2U4VWNqZnVOOHFERkZaNUcvY2I1VWNqL3VOOGpRWW9yUEkzN3JmS2psYjkxdmxRWW9yUEszN3ArVkFCUFFFKzRVR0tLenl0KzYzeXJGQVVVVVVEYnFURVN4NEpHeDZlK2tYTzM3emZPbG1xZnJZLzhKK3ROK2Q4VUc1a1lrKzAzenJIT3gvYWI1MXBuZXRTYURjeVBuN3pmTTF6WjN4c3pmTTBaTmMzb01tUi93Qjl2NGpYTXlQL0FONC96TllKclVuem9NTkpKKyszOFJyaThrbS8yai94R3QySnBPMjFCaHA1Zis4ZitJMTM0UjFBNmtZN2oyaDlzeVlMRTdDa0x0djF4WEhnZWRvV2dqeHpDUytrUWtkQjFOQk03eDJGM0o3UndDTnMrVmNDN2Q3SDUxMXZ2N1pKOFBwU1ZqNDBHNWRzZmZiNTBkby9lemZPdE01ckdmSHJRYkYyL2ViNTFvWkh6OTl2bWF4ekFISFN1Yk1EMzBHV2tjZnR0L0VhME1yL0FMNy9BTVJyUm0zclFuRkJzWlpNZ2M3ZnhHdVR6U0Q5dC80alFXM3JpNW9OWG1rQTJsZitJMDZjTXlNK3F5Z3U3QVFucVNmMmhUTEtkczA2OEtIT3JULzVQWC9pRkE0TkkyVDdSNm52ckhhc1AybStkSTN1VkR2bnhJcm1idFIzaWdjUk0zVG1iNTFudFcvZmI1MDBIVVkxSkhPdVI0bXViNnFtTm5YK0lVRDBaM0RZTEhHT3Vhd2J2bDZzZm5VTjFEaXExc2NtYWRWeDNjMU00OUllbHpTZG42eUFmTnFDZjNlc3JicVR6a251cVAzbkZGd1NRa2hIdXFOWFhFbHM4cVptVHMzMkQ4Mnc5OUk1TlJzWkVrY1gwYWhja3NQTHo4YUNRVyt1NnJxbHpMYTZkSUpab3dESnpQeXJHUE0rUGwxcDFnL1NmTk90NXEwa1RRNExkaUFGSG1jNXFzTFRpNmJoSkI2dEg2Mjl5ck9zemV5RC9lL0dtSFV1SmVJYnE2YVNTUzVSZ1FTZTdJNkhwUVh4eFJxVjdvY1ZyY1djc3pxVVZtU1lobGtCeHZ0dm1sM0ZGeTdlanZVWjFMSS9acVJna0ZmYlRiTmVmaHhWeE5xTjNIYzNkOWUzMHcyN05sMktnNUhkajhLdDV0UnZOVTlDbXEzVjdEMk53U1F5azV4aDAvR2dxbWE4dWhxOHlpOXVWUmxCR0pteHQ4YWM5T3ZiaU8vUXRlM1BJUmc4MHJIYy9HbUo1UStwMjVZYzNQRVJ2MUdLY1ltQ1R4dHlIUGZnWnpRTGRldXJ2OUpXMGtkNWNzblo0L1hNTndUNEdyRDBLR2E2dHJLZHBwc1BHckgyejRlK3EwMVFubGd3Q0FHSXF6dUNwdTA0ZXRYTytFNUNlYk80UC9PZ2w4enhpR09GcENDNTVWRys1eG5yOEtyN2l5MmtpMC9VcFV2cnFQN0Y4eGlUQUpXUlFNRHJqR2M3OWNWTjdtem51UmJzc1RrSk1zZ0lIVWpPS1lPTDlOZHJhZU5ZcGhQTGJ5b2lJbzl0aHlsVjNCUGVlbUtCcjlEZHhKSmZhcmJ6eVN5RXdDUlM3bHNkeEc1ODZldUk3Q3d1dE9udW5FZ3ZZTGRsaWxFN3JnRGZvRGp4NmltRDBWVzkzWTZ6ckVNa2IyODZXV01TajdqYzNlS2JOVnQrSkZ0bmU1MTd0b1NwTHhwYmdBand6M1VEWHBkbGRhdnFNS0c0dUpJNG9KSkdnYTRkTzFiS3FNa0hvTTVwOHMzL0FLTm00anU3cTVnZ2VSV1FjN1N0SjdJSlVFOXdPZmNNWjhhamVnYXVOSzErMEZ4SWtjRXNVcVNPN1lDNDVXQno4S2MrT0xSTG8yZXEyYzRsdCtUc25NVzR4elpEZWVjNCtWQnBxWEZrcGRoYnp5eFlKNUZXUnVZZkhwMThxZS9TVmQzSTlISENjeXpUUnl5TXBjcktRVDlqM2tIZW9CeVc0a2hjTzZCVHpNcnNEeU40NXg1RDNWT3ZTU0RKNk5PRDhra2twa25yK3BvS3B1YjYrVlZZWHQwTjkvdDMvT3U5dHFWN2xWTjdja2Y1Ny9uU2ZVRVQxSXlJMlNrbksrRDBOYlIyRjR1blI2aTF2SjZtOG5ack1SN0pZZFJueG9IMjExYlU3UU85dHFWMUU3cVZibGxKeXA3dHpUZGMzOTZja1h0MXpaSFNkdC94b2lsSFlEZnAxcEhka05idG5CM0hYdW9GMXJkYWdDNlMzTjJ1M1JwbjIvR3NUWGw0dUN0N2MrWDI3Zm5TZlFWU1c1WlpXazdJSnpQeUFGZ01qcG5yVzk4cUxJNWg1K3k1anlsOFp4NTRvTzl0cU4ramh4ZTNJS25LbnRXMlBkMzFLUmRTWHNTWDBOeE9nZmFXTlpYNVk1UjFVYjlEOTRlOGp1cUZwSUF1TnMrZFBYRCtwUjJGOGUzYVFXY3c1WmtYdzdtSG1wM3gzamJ2b0piYVQzTURSU3RjVEVnL3RTc2ZQeHFWZW1hM3VINFNzYnkxbWxSdTFSV2FOeXZWV0k2ZWRkN1BoeURWRWlUblZaY1lZajl2d09mZGlzOGN6VDNHZzIvRHJXcnRjQ05KdTFaaCt5U3VBUEVqdm9LYTRVOWZIRjJqYzk1Y2xQWG9ReXRPeHlPY2RSbXZVeDZtcVE0VzRXZ2gxcXdsdVVuV2VPNFIxVm1DNElZSGNZL25WMzBCUlJSUU5XcmZyWXY4Sit0TjJhY2RXL1d4ZjRUOWFiR29NazcxcnpZckRIRytEVEZ4SnhISG9Ob3Nra0x1SHlBeTR3TVVENHppdVprcXBYOUs5N0hKL1o3UngwM0xDbE5oNlc0VElWMUd6Q29UczBCSkkrQm9MTkxkOWFNeHgwMnFQYWZ4bG91b1JLNlhxS3pmc05ubUh3cGIrbk5Oei9iSS9rZnlvSEVuYXVEMFEzVVYxRUpZSkJJaEpBSTI2VmlRMENWenZrK05MT0EySHF5c2VrbDNLVWI5NFo2anlwajExK1RUanV3VnBFVnNISHNsZ0NLa3ZES0JKcmVOUmhWa09CNGJVRDNxRzE1SjhQcFNVbWxWL3dEMnlUNGZTa2hvTlFhNVRUaUNKNUNDUWd6Z2RUWFR2NlZGT05kVEZwcGd0UktZM3VUeWxobk9QRGJ4b0dEV1BTUlBiM1VpMmxxQkd1MzIzWFBmMHBGSDZWSlN5bVN5ajVNKzFnNzRxS1gxdkQyVE1IK1lKTk1raW9pZmZHZmVhQzdkTjQzMG5VNVk0bzNaSkh6a1BzRjI4YWtDeUxJb1pHREE5Q0RYbStHNEViNUVwVStJcXp1QmVKUk5ielIzMTZBc1NoWTFPZm5RV0VhNU9heWtpU0lyb1FWWUFnanZyVitsQW5rTzFMdURIZVhpTytMT2VSSUFpcC94REpwQkowcFp3Ui8xajFMYmZzeC8rUW9FTTl5M2F2diswZnJYQXp1M2ZUaFBhcUpYL3dBUjd2T3VZdG96MXo4cUNCYSs1L1M4cDcrVmZwVVkxaldVMCtFcXBCbVlZVWVGVFRpQzJSZFlsQUhSRjd2S3FnMTZacE5UbXljNFlnZVZBaW51NVo1R2VTUWxqMXJnSkNEMTNwVlk2WlBmdjdJS29PckduKzM0YnQwQTdUTEh6b0krbDBWWEJZOGdPU3RTZlRlSzJzYlUyNWdXYTFBNWxWa0I1VDQwb1RodXhkZDQrdmhXMDNDVFcxbExOYlB6RURtS040ZUZaeXk5WGJ3K0w4bVYzeEREZlR5YW5jK3NGRVJUOTFSc0FPK24yMGprRTBiWEhLMEl4ektpNEpIaG51cUx4eXlKY01IWGx3U0NuY0ttZHVCSXFNQ01FQ3RPVjR2QjMxS2ZScDlNU0xTOU1tdGJ6SUx5eXo5b3BYdkhMVXYwZEpuOUNHc0pJVVp6TzRIS3ZLTWMwZFFSVXd3cWYyUTVmUXByQkgvZnNmOEExeDBSVjgybjhpVzBqU3hRaEhHV2Q5c0hHTnhtbEN1T2JsNXdXVW5KNWVsS05UVHR0RGxueGdSY3JiZVJ4dlNPRWMvM1FjQUtUZ2JETzlBdG5pZ2xqTDNJa1pZL2JRSTJNdDVudUZTclN0WTFDMzRhZ3NyQmt0bWVjekNTUk1xdURqQkozT2RzWTI2MXJvME9uYVRiUjZqcU1DWERTWTdPMUs4d09QMmlPOCsvYXBOeFhiYVhybHZwNXRkU2d0Sm9NUnNnUXFGWE9jQUFiWThLQ1RhUk5mWEhBS2FoZXhPTlFlMzl1TU5sY2c0eWc3Z1J2U1RqRFNVMU9RYWZFcFNOY1o1Q1FGQlU5UU80Ny9oV3FjWTZUbzl0RHBjVjNCSXFRQkZEQnRnUElDbXZXT0pyUzc3U1MxdlNIbFRKZUZDck5nYlpQZGpmNTBEYjZPckNiUytJTHBHRWZhUEU2R0RtdzRRT0NHSTZZUHozNlVsMXlXZTdubHRvTlBta2Nkb2dWY0RiZjZiVXE0SG5zOUp2bnY3KytpVDFpSm9peEpMaDJ3Y0hieEZPU1RpOW11b05PalZpeGZMSnU4b3pnbkp4dDNZSGthQ3ZYczdiUzljZ1ZyVTNWK0VQTklQMU1BS0E0d1I3VGVmUWVkUzJHd1RWYk45SkVVMGMxNFdqN2NyN0lCSUlPZXVBUEtuV3k0WDFMVkxqdGdxUXhNbkwyam5id0l4MzlLZStJTkcvUkhEZDllMjExS3R4QmJzNmRraW9lWURiQkc0K3RCSHJiME0yNnhxcjZwS2M5U0k4OS9jUG5TRDB2NmRIcGZCdkQrbTI1WXhXMXgyS0Z1cEN4RUROTWNON2ZSY3M4dXA2ak03TDBudlpHQStHYWQvU2d4bDlIM0REc1N4YVJTU1NTVDlsNDlhQ0IyZC9wYitpeS8waTRkVTFPQ2NNaUg3ejVjRUZmaGtmQ21LSFRZNUxLSjFKVm1VSHlweTFLT0g5RHZ5QWh5WXljNXgxcnRwOXVUWVFuRzNMM0R6b0dYMWU2alFyZ092aUswdVVCczhHVDdWajdVWlVncmp2ejBOV0duRFVjMmpOY0t3RWdPZmVLaCtwcmJ2WnVCTW5NcWN3d080SGZlZzU4TVJ3NXY4QXRXQy83TWVUUGVlWmEyMWFJSlppUlYyTDQ2MXcwTzRoRVZ5R201SGJDOU83L1FwYnE2d0xvaU4ydk0vYmJrSDJjWVBkanI4YUJ2bk5wY05iZW93U3h1VVdOMGFUdERKSm5xdXd3UExmMzBPV3R5VmxVcXdPR0JHQ3BIaUtJakJDdHN5Uzhrb1lTbGxHK091eFBRK0ZPRWtQNlV0WlBWK1NabU9aSk1iOHg4Yzc0eDFOQlpubzUxdTNpdEliRzR1SWtlTWg0T1k0T0NTU3VmeEh2TlN2amZVN0szdGJMVlpBWGdCTUpDWTVzbkJIWHUyYW9idzdjYUZiV2Rxc2VpeVhWemdMSk5PVlNOaU8vT2M0SHUzd0tsRVdyV3VzdmQyTnhwTm84Y1o1b3c2Q1FFNDIzUHZPTnZIcFFNV2k4YzZMTnJGbFpMYVhZa2ttU05DUW1BeElBenY1MWE5UnZUWWRBVHM0NHRMczRybUp0aWJaQVNlYkFLbkhqaXBKUUZGRkZBMDZ2K3RpSGR5bjYwMW40MDZheCt0aS93QUordE5aNlVHam5CcXJPTFk3aldaYnVkRmtraWoyUmM3SU5oK1BXclFseHlObndxTmFoREhGb1YwMGFjb2VQSitZb0tQdTlObGpjRmxJOGFRdkFRMk1HcGxmaFJNUmpyVFBQR3ZNZGhtZ2FMZDViYVpKRVlvNDZFVlprRVFHbnhTOW9PWWdiWnlmblVFYTM3UXF3WFpUdWU0VkxOSm5hYXdSUzJlejluR1RpcGUrSFhIMW1OdVN3T0hNL29aUDh4L3JUaTQ4NmJ1SEIvVXlmNDIrdE9MZ0VIYjhhcmtaZGZYbTBxVURZQmxPZmN3cVVjTjQ5WWh6blBhL3lxTmErQitocm55WFB5cVI4Tk1QVzRRUmpENUhudFFQZC9qMXVYUFhiNlVrYWxkLy9iSlBoOUtSbWc1bnI1VkRlTW9vM0VibGN1cnJ2OERVeVlWWC9IRjNKYUs2a0FreUt3YndISzIxQkZOUVJUR0FSNVZIN3Ezak80WHBXYmpXcFhjeHRJbU9uVEZJNTlRSUlEWTM2ZVlvTlRicVZJVmNrMDg2SEI2bmRsUkpublRkZkEwelFYaDV4SUZ3bzZIUGZUaFlUeXlhcERnRWc3ZGVnclAxMS9XWVhjNXE3N0wrd1czK1V2MEZkR3JTeUg5WDIzK1V2MEZkV3JUa1RQNVVyNEwyNG4xSWQzWUtmeEZKWkFBQ0tYY0lRc25FMTdKajJYdGhnLzhBRUtCM3ZyRHRPYVdKZHgxVWQvblRNMFhLY2QvaFVsczd1QzlqYVMzY01BeFUrSU5NZWtvdDNkWG5hbk9QdStXU2FDdWVNYmdXbDFlem5iczRWSStWVkJaV2o2dnFiQWtoYzg4amZIK2RXNTZTbzFSdFRSdDJFQzQ5K0JWZThNUUZMT2FZRExPK0FmSWY2TkE3SkhGYnhpS0pRcXIweFFYeU5xeTNLbzNPOWN5NEIyb2Y2TGJabjdSTWJiamZ3cDdqbmt1VlZaUXZValBYSnFPUHE2NmRBVW1oUGlweUNDZkVWenN1SkFKRUxBaEFlcEZZbjdYbDZNOStQSDFsNzdhY1RhRjZ2SWJ1SlBaYysxaXRkS2NwR0kyT2VYZFRVNFNPMzF6UnlnYlpsNitCcUxYdWkzV25YTWxvNjluZFJ0eUZUNDdZUGhpdHZPVURacy9PckMwa2Mvb2MxVVk1c3pQdC93QVVkUUU4S2NYMjJHdUxiVHlXd0FvMUNIbU9TQU51YnpGV05CcGQ5cGZvaDFXMXZvVml1RElYNUJJc2d3V2o3MUpIY2FDQ1E4aGltdDVFVTl0SGdnQU52allINjBodGxaSlpiZFlnb2RWRFpJUFR3eDd1dEtZb3BTUXZaODJSaGVYYkZLTGZURGFwSlBPd1IyVEVTblB0TjNaOGdONkJYRTZyYUxEZFNpT09NODhiT2NlempKQTl3MytIalM1YnEyOVpuNVdIM3ljK05SMlNQMWhta3V1V2QyVXBuOTFjWXdNOU9wNlZHcDcyK3NMeWRZSFY0Z3g1ZWNrSEZCS05YZTJhYVdRWkRCQStWN3huY2ZLbnFHZEpJVWFJaGs1ZDVDTmgvd0ErdFFxd21OMWNvYm84NVpHQkM5Q1FRY1ZLa3ZSeWhValBnaUtOZ0tIWlYyWkZpeG05bFJNQ0dDNUxlMk56OEtlZUhOWFdEWEpDcUt3RUxjdVR0MUZSSzUxR1VvVWtiQjhBZW5pSzdhQkwydXE0UHNqc3pqYk9lbTFTYjI2NStza2s3WFZvMm9QZkE4aUtxcU5nb3dCVGhxMWdkUzBpYXo5bk1xOHBMWngrRk5YQy9JdG5rWUNnNHljQ24yVzdpakFCZGM5MjlWeVZqY2VpN1ZaSlM2MzFyZ25jSG1KSHV5S1IrbGl5ZXg0TDRmc25ZTTBFM1pzdzZFaU9yTXU5VWFCNFlJaXNseE94V05lNFk2c2ZJVlgzcGtEZjBkMHJ0TU93dW01aUJqSjdNOTFCVTk0eGZUbURZeHlyMDhqVWk0WHNsdXRPak9kbGNqclVZWkpKcmN4UlJ1N0ViS296MzFMK0YzRm5wQjdac0VTT01BRmgzZDQyb0phNWhnMC9rWUFLVjVCc092S2FxYlY0NGt0Wmw3VW93aGJLakh0RTRxejdpMW11dE1Od3ZNc0NGWkdkbElBVURjL2pWY2F2YnBCRmNyTEtxeXNyRGxEKzdHMUFoNFN0b3BrdnpKR3JGSXdWeU9oMzZVcDE3bU9scWdmbVR0VlBJRUczWEp6MVBmU2Zoa3pKWTZvWU9UdERFdkx6Ymp2cExQTnFDTVRkUEc4YTdzc2E5UE9peWI0ampKcGd1b3BKb3JodWFNS0VSays4TWZoVWg0ZXRyUzJzcDVKaVZ5Vk9Ya3dXMjZGUjFId3ByMC9VYlo1WlVTVEhOak9Uc2NmdStYU2s2TEtsN2NyTE1BV1lFTUIxSGw5S2syMzVQWGlZbis3MUZYaU1Oc3l3RmM0a0E1V3dUNWRSMTJwSGFhcmMycVJTaSttM0xLRlNVNWpKd0NWMzJQVGVra2FKRUhhWExCenkvZjNBSHU3cVN0YU1KL3N5QUdHTS9tYXJtbXZEV3NYTXZFR25ReVhidUd2b2x5ekU1SE52OE1uNW12UVo2MTVmNFdDcnhYb0tBdm4xdUU0Sis5N1kzOTFlb0QxTkFVVVVVRFRySDYyTC9DZnJUVVRUcnJINjJML0NmclRVd3hRSXRSV1dTeG1XRWtTRWJZR1NmS3E3NGsxUzhHa3loWTM1T3p3REdkaHYzMVpyRFB4cUFjUzJ5dHB0N2x5aWhTY2ZIcFFWYWwxYzNKZkxNZVhHU2FReVhrcGtJR2VicGlucTBDUjJzN2tBSzJWWEl3V0hqVFZIQ3IzWmJmc3djbGdNNytGUzNUV0dGenltTUtMZTVtaWhDbFhWbkdkK2hIalVpNGFTVDFPUjJQc0Z1VmMvalVkNTFra1pnTmlkczl3cWJXRnVMV3lpaEdkaHY3K3BwUDhBTFhrdk9wZUluWERuL3dBbVQvTWY2MDRQbWtIRGcvcVpQOHgvclRpNDhxcm1RWGx1bDFieVFTWjVKRjVUanJTamc3MXVIV093dTVWZFF5OWs0R09iWTdlK3NTWUF5ZWdyaHdhYnE5MTZHK21DcEEyOFVZYlBLTjhIM21nbWQrTTNrbncrbEl6dlMyKy90a253K2xJbW9PYmIvT29UeDlEejIxc3d3Q1g1U0QzakJxYkVWRWVPbzg2WmJ5ZnV6WVB1d2FDcEZ0Z05Vd1FydVBhNkRBSGlhYmRVUVBlTVVHUVRnQWQxUGZadkcwN3JIekVrZ3RtbXN4R04ybmx5Y2JEdnpVdDA2ZVBEM3kxOGNZd1VIWVpLcVB2QTcvS243aDYxNXA1Yms5RVhrWDMwd1I1Njc1WW1wWnc5aGRPWWtqZHp0U001NWJxMnJFZjFmYmY1U2ZRVjBhdWRrZjZ2dHVuNnBmb0s2dFZaSjMvR25iaFRINlVtR1Juc2ZIKzhLYTNIZlNyaFlIK2xzdXdQK3hISC93QzR0QXkyMXpOWTNra2tEbFR6dDM3SGVwRHc2NjhsdzU2dXlqNm1vcWs4VThrand5cEl2T3dKUTUzeWRxbEdncUZ0RmtCM01oeVBJRC9uUVZwNlVVN1RVcnlNZDhhL0gyYXIyMHZHdHRJaVNJZTB6TjA5OVdWeDJxemNTelJuN3BpWDZWQWJuVFBVMTVZOGxRU1ZCOHhRTkRYOXpITDlvMmFtT2lhV2RTczNuS2txcTlQTTlLaGlXVXQxZXJIdWN0akhjQlZ0YUVJclBUakFNRG0yT0t6bGZrZWp3WVMzMno2aXBid3lDNWRYTHNxc2NjMVNQaHFTMG1qZTNuVG41d1J5OHZsMXA5MS9obTB1aDJzV0VsOFFkalVkdGJLNDA2Yms1Y01mMmxOV1RUamxsdTdTRGh2T24zMGxzSFpvVG5DdDNWTnZTUHB4aDRndGJyMlJEcUZxRlo4ZmRlTURIekJxSTZMYVlZdTQrME81SnEyK045T0Y1WTZRZVVFUnVRMmU1U2d5Zndxc3ZQbHRiU3J4SFBieU14SWtUY25wbGhWbzhDR052UXZxSmx5RTlha0o1bTV1K1B2cURhYkUxeHhrNWtQTVFVQkk3OEhZL0dwendEQzAzb1kxQ05Ua3RkeUFFanpqb0doN3FJakZ0YkVIKy9rZmdLajJxUGRQZTlvMHpjeWtNQ3hPUERwK0ZTZGRLbjVqN2NZSFFuUDBwQnFXZ1hGeXJMRUVZNDN6Smdudi9sUUliQ2RKUVZmbERqZkJOTXVxV0tTcmR5U0ZSeVMrd1AyanY5UEduV1hTTlJzRTlZa1dJRlIxRWd5UGNPK21xU1VTUTNBbUxOTDI0eTVPNUpQU2dUY3kybllBRXZsdVZTT281dS84SzJna21VZHAyczJGeDdTdjBOSnJreUs1U0tQTXZNQWk0NkdsY3hSVVNGRG5sUE1kdkdzMi9IYng0Y1hPOGFLa2xhWlE3a2xpTWJtbmpoc0VhcTJCMVFrL01VeFcyZXlWUjU3MUl1R1VINlNZOUFJeWM1NjdpdE9WdTd0WWR2cTNxa0lHU0ZVN0tQNTF0SHhIYnRBVk52STh4UDMrMTIzOHNVeHpuMlNDUmp2enZTTlc1RVhPU091d3hSRDdlNm5OYzNWcmMyOGlwYzJ6OXBFWFBzRTk0YkcrRFNuMGdhbGF4OFBhTGZhcFlyY3E4M004S1B0a3B2aHFqc1hNeFZzNEhuMXB5OUpha2NHYUN1ZGhJQWM5L3dCblFRTFY5VDBpOFJqWTJVMXVrZ09BaEFaUjcvOEFsdlMvaG1mazRaV0lOK3N1WmxCSFRaWXpVWFdQSkF3UUQzKzZwSHAxcmN3Mk5yYnl5UVdxTExJNnVGNW1PVlhKS25ZakE4cUM0WUxlTzU0V1NOeU1QWll4NCt6bXFHMWFMdDNhU2FhTlVLTVU4U1RqcDViVlBiYVc1bHRwWVJNOGl4V3ZNanVNa1p5RDVia2VIU29ISnA4aktUSjJhc1FOODdrMENYUVl6YjIyb2RsbHlpY3I3YkU3OVBERkpacmVkclJwcGtOdWpqYVU1Yk9Oc1lHNXArMHF3RnJIREdyYy9yakJXSUhRY3JISy9HdEw3VDU3aVgrMENRZ1lITjAyMitsWnQ1MDdZWSt1UHY4QThSaTBqamdaNG9vbVljeHpJNEJadmNlNEh3RlRQaC9oR1BpcGJpZEx0clV3RlV3MGVlYkl6WEhUOURqQlo3aWJtYm0yRVorcHBUZE5jNmR5SllUM0VVVHVUSXlURlNkdGh0ODYwNG41ZlE0dHhHenZyQlNNZEFJVDhlK3VUZWpXMXQ5U3RJQlBMTTEweGlEbFRoUUJubVlkTTVJNzZqN2F6cURqc3pxVjRjZU03NCt0ZDdXOXZZQVp2WGJsV3g5L3RXeVBkNGQ5Qk1yTDBhcHBHdGFmZVIzU1RTUjNFYkhDbFJ5ZzV4akpxMHFvTFNOV3ZwdUo5TEVsN2RTSzE3Q0NwbVp0dVlkZCtsWDZldEFVVVVVRFRxNCsyaS93bjYwMXQxTk9tci9yb3Y4QUNmclRQUExIQ3BaemphZ0RzRFVLNHVoeFlhaXZRTkhsY2Y2OGExNHE0OFhTVUVObkdqM0w5T1luQ2p4ODZiZldkUTFiZzV0VHZwQXpUaHlnVlFvVlFRUHFDYUNFWEZ1N1d5b3pLTWdkTnNVMFhDUENCRUdYQndUZ1lJNjdWS0hic2JkcEdIdGdaVEkvMW1veEp6R1YzYnF4eldlN3c3eitQRGM3ck1lQXk1T0FTS25TWE1MN0pLcmY4VlFET1dBN3EwMUpHVXhTZ2UwUnlrMXB3WHh3MjRPaXB2OEE5bzMxcHpZN253cXJ1Q2I2OGswZFVqbWIySElPL2p2VTFpMUM1UUR0dmFYb2NqY1VEdXc1dHEwNENjRkxFZUFJL0VpdElaa201WFE3Vng5SHMzTWJOYzdDV1Jma3hvSnRmSC9iWlBlUHBTUTB2dUlETGV5bmNLQ04vZ0thOVNuRnFqY3RBa3Z0U3RyQ0o1SjVNS2lsbXg0Q3F4MW5qZHVJNUVzTFMwN0tJTVpESTdaYmxBSTZkM1d0K090VVlXSmhEZTFPZVhQbDMxSHVHclZUYVh1b01EelJzc1NqdU9RU2ZqN05CMkVaZFhYR2ZkVEJxTWhhNE1TaFZSR0lBVVlCcVVUc2xwRklRRDJwUEx5a2RCNCs3enFOejVubEpVRTQ4cXozWGZMK1BDWXp1a0dRcTdWMkU4OGRuSVlwV1FydjdKclQxYVI1TWNwSDg2ZC8wUzBWbzZ2OTVrTEg1VnB3Ty9DM0dPcG1XTzBtbmFVY25zY3g2WUhTcDliNjFJd0hhcHRqdXFuT0gzRnRyZG16N0FTQlc5eDJxNG9MUkpHWkI5NWVublFPRWR3azR5aHpUdHd0L3dCWldidTlWUDhBL0l0UXVHZDRKbUdjRld3UlV4NFBsRTJ0TTRQL0FOTWU3Kyt0QkNORTArVFM3SjRKZVh0TzJrWnVYelkxT2RLeEhwOERkNVZpZm5VUHY3NUxSM1psSnpOeTRIaVRpcFpaY3k2ZEgva0Riem9LOTRya0VuRTh6WjZJbjBxTlg0eWRxZk9JMnp4RGMrNWZwVFRLbk5JbTJja0RIalRwWk4zUnZ0bWgwK0tTYVFOMnJkR0E2RHdydFo2MWNyYXU5cXF0SVNBc2JIbDJvMVdaSTR4QXFnanFGOEtZNGc4VjByYzJCMTY5S3hqemR2UjVzcmhKNHBla3Z2OEFWNTU5TnRwdXdhS1FPVmxUUGRpdGJCMXZndk1QYkJybEJkelhGdWUxWkpBdXdBcmFHYUMyWlowWGtrRHFDbWV1OWJlWkliZUxzbUhrS3RmaXFLNmZSSW10UUdaUUFSbnhBSDg2cTcyVEdzbWVvN3F1S2U1N0RTbm01QTZ4UWgrWHZKQUZCU3ljTTNXbGNmR3pXT1M0bGhzb0hta1JkaXg1bVB5R0I4S2RlQjdsdEo5Q3VwWElERm83cVJoeTVVN21NZnpxUjN1cDNWM3FNbHpGUE5BSHg3RWNod01ERlo0aWVXNDlGK3JtVnk3bkF5MytOS0N0aHIrb2M3TXNpdXVUZ3VtZSt1MFhFMm9HVlZLUUZTUnpmWjR6K05NZk9XNWNaQjVSblBqV3drQVlBamNBOVBHZ2t0eVd1WTVPWnN1VmJBeDAycUVTWmplNmluV1hMRWhDaTVLc0RrWjkxVExMTkdXMnh5ZytPRDRWSFprN2JVSmpKbmtFaExFRHpwYnJ0Y2NmYTZjd0hrVDFoeEhrY3AzWHFmSHlPMUoxczQyWUE3SHhwWEtVZVFKRUNVUVlCOGE1ZUlPYzFtVDY2K1cvMW5UZUtCSTF4elp3Y21uN2gxay9TVGI0K3hiNmltT053VU8yTWVGT21nNS9TTExqT1lpZW5tSzA0cFBkOXBjUWN0dXNiTmtmckhJMjcrNnRBSkFQYjVTT21PdWE1dTdJL0xzQWU3TzYxbFpYVlVBd1JudzNGQjNpNW84QkkwOHlSbjRVdTlJNERjRmNQNWJDODRKUC9sMDN3dUNnSEw3Wk9jSCtWT25wSlVEZ3pRNHhITEl4ZkNwR2haaWV6OFB6b0t0Z1FOSU03ajltbmEzbTdGd0ZCZHM1QmJ1SjJPMUlMVzExQ1dSbU9sM01Lb01ublhmYnZwWEdTMHB4N0lEYnNlZ29IWFNwNTVyNmZubHlSQ01CanRqSjZDbTRHS0tNSG01MkMrMjdIR1BkV25ONnZlbVdLUnVRUXVwSjc5dHFqOXRxRE1xbTRVY29HeHljWnFXNmpXR0h0bG8vVFhYcWNVTWNNbVNoeUdJM0dOdHZLbXg3dVIzMmNrOWRqdFNXUzdlNVBhSEF5QnNLeEd4eW9PTmozZjYzcVNhN2I4dVc3cWRSS2RMVm5oQkpKeWRxbG1sOE5RYTlZM0lsbmFJcTZnRlFEM1pxSFdOOUhCQUZJeTNqNFZOT0dicWNXVjFMSmJ1c0hhSmx6c3VjYmIxcHliUStpMktLVVRtOWVXTW5jTkZnSDhhWGFqd2pwMHRuNnZFMXJieU1NQnNNVDMrZEtkRW5YWGRjdmJTZVE5bGJvclJXL05nTURubVkrUGQ3cWtGdnBFTnRLeE1rOXd6dGtMSTJRdnVIUVVGZTZUd09sdHJsbmNEVTJab0xsR0tDM0k1dVZnY1p6MDg2dDN2cExiUGh3aVJCRk9kOFlQdXBWUUZGRkZBM2FvQUFya2JoU0tnZXMzYmhpdk43cW11dXpDR05jNXh5TWZsVUExd05IcGsxeWNleEhuZng1YzBGUThRWFJ1ZFp1WFU3S2VWZmhWcTNWaWxwd3BIcDhZVlRIYVlDSHVJT1Q4U0RWVjZOWkhWOWZ0TFVnbnQ1UnplUXprL2hWdjZ1dnJkc1ovYVdMdEZMY3ZYQlVBL0gyYUxMcTdWbHExdzZmWXI5eEI3SkZNelFNOFlZWURIeE5XZnFIQkZ2Y01URlBLaFhPYzR3ZndwSmFlajB2TXJUVHNrWEx1VklKSGwwcVNhWFBPNTNhQmFicEp1WnZiKzZOMklyT3ZXYXJwa2NxQUREbjVkS3RTeDRTc0FoRVVzNFFJejgyVnkyUGhUUHFIQ1VFM0RYT3NzeEpTVTRPTVpCOTFWbEd2UnhKbWE4dGlmdlJjNkR6QjMvQUFxeExtSVRhUExjUkQybzhGc2VYZlZSY1BYTDZWcmxsTWpFQlpnRzl4T0RWeHN5Mk42SFVadExrOGtxbm9wYmJQdTNvR20wdW1oZFpBVGdrWkFwWndUT0xEWHJMVHBjOXBKY1NPaEEyWld5UmorZE10d2h0TDZXMXlmczVPVWU3Yjg2Y05DN1NiakRoMlJkMWh1bVZoNEJrUDVVRnMzc3F4TG52Ni9oVVcxaGpOSnlBWkRJclo5N0VENlU5NjY3TENXVDd5L3pGTWNNeGxrYVZSa0JWeG5vUFoyejdpU2FDbk9Pbi9yV0syQnoyYTVQaHY4QSsxUFBEMW9nNEx0MWNBTk5mZHFjL3RBS3kxRitKWkRlY1RYZlo1Yk1uWm9EMTIyL0dyVnRORXRwN1RTN1U4OGNFTGxQWXhuYmJ3OHpVczIxamw2M2FEejgxL0FHY0RtWEtBanZ4VEsybTNDc1FFeWZFVll5OEsyeVh0OWJMTk1HakpkZW5jZHgwOEtWYWJ3blkzRngybnJFNWlaZWJHUjdPM3VwSnFKbGxjcnVxL3RkTlcyWVNTZ0dRZEZHK1BmU200UWlhWmNkSWZxYW10dndoYVN1WmpOT1VsbEVjZUNPZzZucFd5Y0oyVStyWHlHYTU1VWp4K3o0KzZxaW5iKzJOaHFSQUdDT1Z4OGdhdHpUTHN6YVJZNnJGMWFNQ1FmaFZlY2FRaVBWVmtqQjVBZ1FFOStOdjVWSk9CTlFFdWhUV3JrbnNXeGs5QURRUEd0S2tkNHMwV09TZEF3OS9mVWg5SGt2YWF0Y2VIWWJmeGlvanFNMllGaVp2YWdrSkgrRS93RHRVbjlIRFoxcWNmOEE2WFAvQUsxb0luckJMM3F4Z0FnTzBqK0k5ckEvSE5XRXpDSkpGNWwrNHZLdVJuR0tyNjQ1WmRUdURrRTl1c1hUd2JKK3RUN1VZWTBFOHJJcGRDUWo0M0FvS3ExdVV2cmR3eFBnTnZkWEFYTnNscTVManRVUE5qSUIrRkl0ZG1ZWEY5TXBZRkYySzljOTFRRzh1bmFjZTBTeW5kczlhNTVjMzFqMWVHWHhZL2wrcExlR2FTNkpVa2s3NThLUWVyU3ZLQVpUa21sdW4zSXVyZEpmMml1Rzk5RTBUQnczTmpldWttbm10dDVwNnNORkRLTXlTOHpZNk5qRmE2anA3MmVwV2tRa1owYkdTeHp2bW5IU1dic3djODN4NlU0WFZrWkpVdUR2eTdnR2lGa0U0V0pVSjZESFNyZHVwczZKT0JubE52Mys2cVd0M0xTRUVZT2ZoVnpUV01tcGFKZVdTU3RFOHRxVVdWZXFrcjErbEJHRVFNZVlIYWxXdXJ6ZWpUVlZHTWsvL3dCMHFoMzR1NG8wVy9hM3U3bVRtak9Dc2d5cHg3NnR2VE5jbTRrOUMycDNza2FSeUNSb3lFNkhsWk4veG9LNW55SUkrVG92TnpNVzZBSG9LNHh5ckl3WURCQjJKcDRzYlJaNGdTQXlrbklZZU9LY1k5R3QySUxSS0FOeHNCUWNiV1R0WUl6M2N1TVUxemxvcEp4a2N6eUhwMUkvbFVxaTArR1BvdUJqcGpha3N2RGx0TlBKT1paZ1hKWWdFWStsU3piZUdmcHRGaGtESTJIY0syR0NCdHZVbFhocTJ6Z3lUS2V1NUg0YlZuK2pscGcvYXo0OTQvS3F3aStNRW5idzZVNmFEN1YrdzVpQjJiZEJud3AwSERscGpQYnpuSGRrYmZoWFczMG1Dd21Na2NrakVqQkRFWUhUd0hqZ1VHNTVBNDVlWWQrY1ovMS83MW9YeXBJVXEyKzNVNC8xdjhhNkVGaUFEN1BlQ0RucjFyV1FNR0hzNXlNNXg4ZitWQjBpY3huQ0hkamd1UnpmNkhXcGh4SElUd2xvemptVUVMa0VmM08rb2NoVWZabFNNNUcyd1A4QXJOUzdpWi8vQUlTMFFnazh3SHg5aWdpcXV5dUdEa01PaEI2ZTZtKy9zQk1wa2hBRWd5U2dHRmYzZUIrdEtReDlvNUcyT3RiNTV3VkJPNDYwRU12SnBZT3pFdk1tWDVHVHZBSU5NazBuTENrQSs2QUNTRG5OVC9VZEpnMU9NSko3RWliQ1ZSdjdqNVZGSnVHNUxlUXh1ekhCMlpSc3c4UnRVczI2WTUrc3NuMDJ4SDdNWStsS0lsUE5uTzlPMXR3L0gyYTh6eWMzZnVNQ2xRMEszQS9XeStlTVZYTXh2S3lwaFRUM29kOU90dE1obmtLRjF5aFk0TzNoWEdiU2JaR1JXbWxITjVqTktiV3lpdDFJV1NUbGZjbHQrZzhxQnppdUMwNk1Ya2ptQjltV0orVjF6NEVWWU9qNjNyU3drejIwV29SRDdyUm5zcGNZR0J5L2RQZnZrR3E2dDNDTUNRTi9MOEtuT2czYjgyOG1Bd0lVdCt4dDNlN05CS2RONGcwL1VKQ3JxYlM1UmdoaHUxS09HUFFMblppZkltbnFtaTNsak53U3l4U0ZuR01ZUFR2OSs0cDNvQ2lpaWdqWEU2czB5Z2s4alc1WEhuempQNEUxQmVQNTBzdUdURW4zcFRnRGZxZXArVzFUN1g1Z3VvV3NMcUFqeHNRNTdqbnArRlZoNlU1R1MyMDZCbTlwbUxFZUF3Y0Q4YUNPK2o2eE1tdWV0bllRbFVIanpNY2ZUTldldHNIMGEvalBWR1Z2aGsxRnZSNVlOSHA5dEl3L1h6dFAwNkJSeWo4UWFuMFVJUHJjSUdlMWpQekZBeExQMnRyYnUrZVNaZXhjajlseHR6RDhLY1hqTnZ3K2tTak1ramhGUHZwcXMxRTJuM2xzeDlxTTlvbjh4VHZwaDlmdDdRbmN3N043eDMwR1VqOVd0cnRBUVJEYmlQSUh6L0dteWY3SGhLTngxZG1Iek5QVjBPVFROUmt3UnpEcWZlS2FOVmp4d25BRS9Za3ljVUZHYW5DMXJxVnhHZHNPU04vSGNmV3JTanZUZTZIYU56RDdXQmVWejNQanA4eHQ1MUF1TDdVeFhzTnlCdE1tQ2ZOYVVjUDM1T2l2QXpZQ1NIbGJQVHYrdEJJSHV2V3IyR1p2dk9NeWU5ZGo5S2ZlRGdUeExZdHVWN2JieTJOUS9UbTlZdXBDMndRRnZpZXYwcWM4RkFIV2JZNDI3WUVmSTBGZzZuZ3h6Zzc3QWdlSkcvOEFLbzdiNE9rdTRUN01vV1lqYm1HT254NmU0VXU0aDFTTzJrblFFY3lqSHh3RFRQYVhndXVGTDRod0k0dzRiR050czQ4c0Q2MEZQOFB4bTk0dnRwSlBiQW1NemU0WlA1VmRWbmI5bllXaEkzQjdUNG1xejlHdGlMblViMlk0eWtLeGovak8rUGxWdlhFWWpVQURBQTI4cUJrMUZ2VStKVW02SktNbnpEVnRZTjZwZVhsb01lMTl6M1ZuaUdNdmEyMXlBZWRjS2E0TS9OTmFYaUEvZEFlZ2ZJTFlSbXpoL2NHY0R1cEJZWmU4MU5oM2hnUGhUNWJsWlpvNVY3OTgweTZaR1JlM2FIdmxiOGFDcStMYmNTYWRLK0R6eFNCcy9HbVRnL1VQVmRRbnQyWWNrMGU0OHgwcVo2NWJDVVgxdmdEbURkZkxKcXROTWZzTlhqQjIzS21nbVY1ZE04enhnKzJRRkI4ODdWWVBvMkIvVHR6emRmVmdQL1d0VmJMSUUxSzNMSGJtQjYxYVhvMGZ0T0lMdHU0d0QvOEFOYUNLYVF5WFd0MnVSdFBmRmlQSExZK2dGVG5Xcmd4YVpLeDY0Sk5WN3dQZE5mYS9idEtBQ3MwMkFQN3BiQi9DcFZ4UGRuOUR1MmNjeUUwRk9hOWY4dHRLQUR6czNLQ1BQLzJxR2tsam52TlREVUxlSzh0b3d4VlR6OHpudklHYVFMRFoyNDVZSUFXL2ZmY21wSkkzbG5jcEpmamxwVEczc1dsTGNwNXNnSHZwY2JneUVBbnBUZmZNaVJjb1VjM2ZTelRyZnQ5T1M0UkE1NWlyRHd4VllPT21hbTFyTVY1dG02MU1sMU5Yc2huOTNCSGZVQkVQMm81b2dQaFVzMFZyVXFpdmJJU1RqbWJ3b0Z0bzIvTVRrSHBWNTZmZHhRV0RUU043S3JuZjNiMVU2UG82d3FvdG9SeWpmcjdScmhyUEdNMzZQOVVnZkJZWU9PNGVGQkhPSTF0ZFVtdVdrUU1yU3N5bndHU2FtZkJWZzB2b1AxVzB0K2RqNnpNUmpyc1VZL1Nxd3Y3MWxqeGtrbXJqOUZBNS9SamNxeDJlN21CSjh3Z29JcHBFSEpwc2R4TXZLMGpmWkxrKzBwM3pUc3BBT3c3aGp6Tk1xU3Vtb2l6a2xhVklDVlFFN0FLZTZuOEtyQm14aGV1ZTdGQmo3b3hnazFoWmN2eVlKQUhVR3N5Uk1FTFp3Y1o1U0s1NE9Ec2MrWS9uUWQrZHVpSGI1MWdEMmNZUHhHOWNVZkEyUFg0VjBWaXd6Z3NlL0JvQW5HUVR5NHpnL3dBcXdUaEJ2bkk2bnI4cUNmY01iY3RhQWdFNXhuQjYwR2c1TTh6QWdZLzBQbFhNb1NmdmdIYnIxOGZ5K1ZkT1gybEFHV3lkNjU4dzZrSDNZb012Q2M4eWpHTWZENFZMdUlGWWNJNkdHUFB5cXZOdDk3N09vaHo5eGJicjRWS2VKNzRXWEMvRG5NL0trekNNaGgxK3ovQ2dpdU9iUE5qSGNNZGEwL2F4eTh1ZWc4YTd6UVk1bkJDZ2ZQRkorVlNWSTN4MzBHVmxIM054a2VGZFNBOFpqa0JkU2NqeFh6RkNCTTRPQ0Ixd2R6V0hBZFIzWngzMENDZTNrdHhrTVhqSjJmb1BjZkNrclNrSExObmFuamxKVTVYS3NOODlDS1JYZW5oVWFhM3oyZjdTNHlWd04vaFFKQmNjbktNQUh1ckRPblViNHBPTXRzcHdNNXovQUs4cTJEY3ZUSFRPU2VvSGhRTHJPMmtua1FRKzBUallINFZNdEkweTRpZ0xTenJHQ1FDcmJuSCtqVVFzcHV5UWdBNXgxejAzNi9oVHNOVGw3UHM0cGVWUmxjRTlUdFFXRmFXaUpOYnMwNkgyZzdFSVJrZ2dmenFRVlZPaGF4ZC9wTFRvZWRpaGtVRTU4V1dyV29DaWlpZ2gzRnQ0TGZYOUlSc0ZTR0lCOFNjZnpxdHZTd1cvUzlnR09jd00yTS8zcXUrNjB1eHZiaUc0dXJXT2FhRDlVN2pkUGRTTFVPRk5CMWFWSk5RMG0ydVhSZVZXa0JKQXpuSFdnaW5CK21tMDBXMFJ3Y3hXNnI3cyswZnhhbmxYRVZ6R2NiWndha1VkamF4SUVqZ1JWQUFBQThOaFdEcDltVGsyNkUwRmRsVFk2MnlIWlhPRDdqUy9TdjhBWTcyV0k1NUdKSVB2cVlUYU5wdHhJSkpyS0ozSFJpRG10aHBWZ0dEQzBpeU8vQm9HUFZJLzZrdlA3dy9uVFhjS0g0Wm1JWE9BR0ZUVjdPMmtpTVR3b3lIcXA2R3VRMHF3RnViY1drZllrWUtZT0tEejF4ZGJ0TnBJbDNQWk9BQU80WTNxTzhPeXIvdE51eCs4T1llZmpYcG1iaEhoNjRpYUtiUjdWNDIrOHBCd2Z4cEpGNlBlRUlINTR1SHJGR3hqSVZ2em9LRzAyWm83dTRRbnJ0dlZpOEc1R3RXQUF5RExrbjRHcHd2QXZDcXVYWFFiTU1Ua25sYjg2Y0xYUWRLc3BVa3RyQ0dKME9WWlFjajhhQ3RlTTdrcnhSZlFLMkEzSmxmRThvb1VUV2ZDK3JRY283SnJDVjJiL3dDNlFSOUtzZTY0YzBhOXZHdkxuVGJlVzRZZ21SZ2NrZ1lIZjVDdDMwSFNwTGVXQnJDRXhTcnl5SVFjTVBBNzBGV2VpVzBQcXQ5ZHN2MlprVlEzanlnLy93Q2hWZ1MvYWxoVHBwMmhhVnBOczF2cDloRGJRczNPVWpCQUo4ZXZrS1UrcFcyYzlnbWFDTFR4Q2Eya3Rtem5KSzAwYWFDeVNXN2RVT3dxZm13dEdmbU51aGJ4cmttazZmSEkwaVdrU3UzVWdIZWdhTk5tNVVDTWNZMkZKTFJPVFhMbGNkUnpWSmwwKzBRNVczUUhydFFOUHRCT1poYnAycEdDM2ZpZ3FIWENZdFZ1QXdPNVlWVkdyUXRaYXRJTUVlMkdGZXFyamh6UnJxUXlUNmJieU8zVm1CeWZ4cEJjOEE4SlhrbmFYSEQ5bEkvVExLZnpvUFBGNU1YdTdabEJQTVA1VmF2b21tVjladVZMQXlDM0dSNGUydFRSZUJPRlZaR1hRYklHUDdwNVR0K05MZE00YzBiUnJ1UzcwM1RZTFc0bFhsZVNNRUZobk9PdmlBYUR6OTZQYmk0WGkyVkNWN09GTGwrbTQzUDUwOWNkYTlEYVd4dFkyVnBpQ0dVZnM5S3QyejRLNGEwKzRlNHRORnRJWm5CRE9pbkpCNjkvZlhLNTRCNFR2SldrdWRBc3BYWTVMTUdKSitkQjVaZVJ6R01uZHF3dVV5eEhRWitOZW92K2pqZzMvd0FOMkg4TGZuUWZSendhUVFlSExEQjYreTM1MEhrcVZubGJjZStwUnc0T3owNERsUHRaUDQxNksvNk0rQ2YvQUF6cC93REMzNTBwaDRDNFR0MENSYUJaSW82QUszNTBIbnFTMzlyT0RXVWtsakdGR0s5RG5nbmhnOWREcy80VCtkWS9vTnd2L3VLei9oUDUwSG5zM0VpamRqU04zWSsxazU4NjlIbmdUaFZ1dWcyUi93Q0Z2enJVOEE4Sm5ydy9aZnd0K2RCNWN1bmFXYytXMVhuNk5tTnY2SjdoeU4xdkhPLytLT3BaL3dCSFBCMmMvd0JITEQrRnZ6cDNzOUMwdXcwMXRPdExDR0d6Wml6UW9EeWtuRy9YeUh5b0tVMUZSYWNZWEt2L0FOcEtXQkEydzNoVDFFM01veDBYWVo2YkhIOHFzcTQ0VzBLNm43ZWZTcmFTWEFIT3dPY1p6NDEwVGg3UjQxNVYwNkFMNFlQam54b0t6bFl5QW5CMkgrczF3TGRYWld6NG5Za2VZcTAyNGQwWnV1bXdINEg4NngvUnpSczUvUnNHY1k2SDg2Q3FsWnprNU9EMzQ3dkFWM0xsYzhydGtleURqYjMxWjM5RzlGLzNiQjhqK2RCNGIwVTlkTnQrbU9oL09ncTVtSFE1SjIyejhxMkpDN2dFbnpxMER3NW94SUowMjN5Tjg0UDUxZ2NPYU1CZ2FiQmozSDg2Q3IyQXhuQnlmRHBXa250NTdnUnVmQ3JUSERlaWdBRFRiZkE2Ykg4NkR3M29wT1RwdHY4QUkvblFWTmxpU0MyY0hPTWVGT3ZwSEJIQVhEUnp1cnFjL3dEbDFZWjRhMFFuSjB5M3o3aitkZGI3UXRLMUt6aHM3MndobnQ0ZjFVYmc0VGJHMi9oUVV6cGVwSFZMTmVZWWxqeHpBRHFPbEtFR0g4ajRWYWR0d2Z3N1pzV3R0SHRZaTJ4S2c3L2pYWCtqR2g0eCtpN2ZIdVA1MEZVNTVHS2dNVDFJSGRXNEpLaGduVHB0ak5Xbi9SalEvd0RkZHY4QUkvblczOUc5Ry8zYmIvSS9uUVZlb1ZQYWIybEdCZy82NlZpTXl4b1drSURCaVZaRDFYUHM5ZnhxMHY2T2FOL3UyMytSL09zSGh6UmoxMDIzK1IvT2dxVzUwdExsVExiQkk1V3p6UmpvM21EM2U2bVl4TWpublJnVlB0QnRpTVZlbjlIZEgyL3EyMzI4aitkYVM4TWFITy9QTHBkczdZeGtnNSt0QlNxS3BBQkJJNkRCN2pYUm5aK1htQkdDRDQrTlhIL1JQaC8vQUhSYS93QUovT2c4SjZBZXVrV3Z5UDUwRlY2Tk16NjVwaWd0bjFtTUh3KytLdTA5YWFJZUY5Q2dtam1pMHUzU1NOZzZNQWNnam9ldE85QVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRZi8vWiIgYWx0PSJZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBlbWJlZGRlZCBpbWFnZXMsIHNvcnJ5Ii8+CjxoMz5TdHlsZXNoZWV0czo8L2gzPgo8cD5UaGlzIG1vZHVsZSBhbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cywgaWYgdXNpbmcgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4gIEJlY2F1c2UgdGhlIHNtYXJ0eSBzeW50YXggaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGluc2lkZSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcgeW91IHV0aWxpemUgdGhlIG1vZHVsZSB1c2luZyB0aGUgW1sgYW5kIF1dIGRlbGltaXRlcnMuICBpLmU6IDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPmRpdi5oZWFkZXIgeyBiYWNrZ3JvdW5kOiB1cmwoW1tDR1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL3BpY3R1cmUuanBnJyBub3RhZz0xXV0pOyB9PC9wPgo8cD5CZWNhdXNlIHN0eWxlc2hlZXRzIGFyZSBnZW5lcmF0ZWQgb24gbW9kaWZpY2F0aW9uIGFuZCBzdG9yZWQgaW4gdGhlIGZpbGVzeXN0ZW0gdGhlcmUgaXMgbm8gd2F5IHRvIGRldGVybWluZSBkdXJpbmcgdGhlIHJlcXVlc3Qgd2hpY2ggYnJvd3NlciBpcyByZXF1ZXN0aW5nIHRoZSBzdHlsZXNoZWV0LCB0aGVyZWZvcmUgZW1iZWRkaW5nIHdpbGwgYmUgZG9uZSBzdHJpY3RseSBiYXNlZCB1cG9uIHRoZSBwcmVzZW5zZSBvZiB0aGUgbm9lbWJlZCBwYXJhbWV0ZXIuICBJZiB5b3UgaGF2ZSBjaG9zZW4gdG8gZW1iZWQgaW1hZ2VzIGRpcmVjdGx5IGludG8geW91ciBzdHlsZXNoZWV0cywgWW91IG1heSBuZWVkIHRvIGFkZCBhZGRpdGlvbmFsIHN0eWxlc2hlZXQgc3VwcG9ydCBmb3IgdGhlIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgZW1iZWRkZWQgaW1hZ2VzLiAgaS5lOiAgSUU2LjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPlJlcXVpcmVtZW50czwvaDM+CjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIApzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+CkVPWDsKCiMgSQokbGFuZ1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnRG9lcyB0aGUgVVJMIGFib3ZlIGFjb3VudCBmb3IgdGhlIGNhY2hlIGRpcmVjdG9yeSAoX0NHU21hcnRJbWFnZSknOwokbGFuZ1snaW1hZ2VfdXJsX3ByZWZpeCddID0gJ0ltYWdlIFVybCBQcmVmaXgnOwokbGFuZ1snaW5mb19jYWNoZV9hZ2UnXSA9ICdTcGVjaWZ5IHRoZSBtYXhpbXVtIGFnZSBvZiBhIGZpbGUgKGluIGRheXMpIGJlZm9yZSBpdCB3aWxsIGJlIHJlbW92ZWQgYW5kIGZvcmNlZCB0byByZWdlbmVyYXRlLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91IGhhdmUgY2hhbmdlZCBzb21lIG9mIHRoZSBwYXJhbWV0ZXJzIHVzZWQgd2hlbiBnZW5lcmF0aW5nIGltYWdlcywgb3IgdG8gY29udHJvbCB0aGUgYW1vdW50IG9mIGRpc2sgc3BhY2UgdXNlZC4gIEVudGVyaW5nIDAgd2lsbCBkaXNhYmxlIGF1dG9tYXRpYyBmaWxlIGRlbGV0aW9uJzsKJGxhbmdbJ2luZm9fZW1iZWRfbW9kZSddID0gJ1RoaXMgc2VsZWN0aW9uIGRldGVybWluZXMgaG93IHRoZSB7c21hcnRpbWd9IHRhZyB3aWxsIGdlbmVyYXRlIG91dHB1dC4gIElmICZxdW90O25vbmUmcXVvdDsgaXMgc2VsZWN0ZWQgbm8gaW1hZ2UgZW1iZWRkaW5nIHdpbGwgYmUgcGVyZm9ybWVkLiAgSWYgJnF1b3Q7c21hcnQmcXVvdDsgaXMgc2VsZWN0ZWQgdGhlbiB0aGUgc3lzdGVtIHdpbGwgZGVjaWRlIGJhc2VkIG9uIHRoZSBpbWFnZSBzaXplLCB0eXBlLCBhbmQgdGhlIGJyb3dzZXIgdGhhdCBpcyByZXF1ZXN0aW5nIHRoZSBpbWFnZS4gIE90aGVyIG9wdGlvbnMgaW5jbHVkZSBhbHdheXMgZW1iZWRkaW5nIGJhc2VkIG9uIHRoZSBpbWFnZSBzaXplLCBvciB0aGUgaW1hZ2UgdHlwZS4nOwokbGFuZ1snaW5mb19lbWJlZF9zaXplbGltaXQnXSA9ICdJZiB0aGUgZW1iZWRkaW5nIG9wdGlvbiBpcyBkZXRlcm1pZWQgYnkgdGhlIGltYWdlIHNpemUsIHNwZWNpZnkgdGhlIG1heGltdW0gc2l6ZSAoaW4ga2lsb2J5dGVzKSBmb3IgaW1hZ2VzIHRvIGJlIGVtYmVkZGVkICgzMiBpcyByZWNvbW1lbmRlZCkuJzsKJGxhbmdbJ2luZm9fZW1iZWRfdHlwZXMnXSA9ICdJZiB0aGUgZW1iZWRkaW5nIG9wdGlvbiBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBpbWFnZSB0eXBlLCBzcGVjaWZ5IHRoZSBleHRlbnNpb25zIG9mIHRoZSBmaWxlcyB0aGF0IHNob3VsZCBiZSBlbWJlZGRlZCBoZXJlIHNlcGFyYXRlZCBieSBjb21tYXMuICBUaGlzIG9wdGlvbiBpcyBub3QgY2FzZSBzZW5zaXRpdmUnOwokbGFuZ1snaW5mb19pbWFnZV91cmxfaGFzY2FjaGVkaXInXSA9ICdJZiB5b3VyIENETiBpcyBwb2ludGluZyBkaXJlY3RseSBhdCB0aGUgaW1hZ2UgY2FjaGUgZGlyZWN0b3J5IHRoZW4geW91IG1heSB3YW50IHRvIHR1cm4gdGhpcyBvcHRpb24gb24uJzsKJGxhbmdbJ2luZm9faW1hZ2VfdXJsX3ByZWZpeCddID0gJ1NwZWNpZnkgdGhlIFVSTCB0byBwcmVmaXggdG8gYWxsIGdlbmVyYXRlZCBpbWFnZXMuICBCeSBkZWZhdWx0IHRoaXMgaXMgdGhlIHVwbGFvZHMgVVJMLCBob3dldmVyIGlmIHlvdSBoYXZlIHlvdXIgb3duIENETiAob3IgbXVsdGlwbGUgZG9tYWlucyBwb2ludGluZyBhdCB0aGUgc2FtZSBkaXJlY3RvcnkpIFlvdSBtYXkgd2FudCB0byBzcGVjaWZ5IGEgZGlmZmVyZW50IG5hbWUgaGVyZSc7CgojIE0KJGxhbmdbJ21heF9jYWNoZV9hZ2UnXSA9ICdNYXhpbXVtIENhY2hlIEZpbGUgQWdlIChkYXlzKSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0Egc21hcnQgaW1hZ2UgdGFnIGdlbmVyYXRpb24gbW9kdWxlIGZvciBDTVNNUyc7CiRsYW5nWydtc2dfY2FjaGVjbGVhbmVkJ10gPSAnQ2FjaGUgZGlyZWN0b3J5IGNsZWFuZWQuICVkIGZpbGVzIHJlbW92ZWQnOwokbGFuZ1snbXNnX2NhY2hlcmVtb3ZlZCddID0gJ0NhY2hlIFJlbW92ZWQnOwokbGFuZ1snbXNnX3ByZWZzdXBkYXRlZCddID0gJ1ByZWZlcmVuY2VzIFVwZGF0ZWQnOwoKIyBOCiRsYW5nWydub25lJ10gPSAnTm9uZSc7CgojIFAKJGxhbmdbJ3BhcmFtX2FsdCddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIGFsdCBhdHRyaWJ1dGUuICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgJnF1b3Q7bm9hdXRvJnF1b3Q7IHBhcmFtZXRlcic7CiRsYW5nWydwYXJhbV9jbGFzcyddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBhbGxvd3Mgc3BlY2lmeWluZyBvbmUgb3IgbW9yZSBjbGFzc2VzIHRvIGluY2x1ZGUgb24gdGhlIHRhZy4gIGkuZTogY2xhc3M9ImZhbmN5Ym94IHRodW1ibmFpbCInOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JsdXInXSA9ICcoYW55dGhpbmcpIFNwZWNpZnkgYW55IHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciB0byBhZGQgYSBibHVyIGZpbHRlciB0byB0aGUgaW1hZ2UnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JyaWdodG5lc3MnXSA9ICcoaW50ZWdlcikgSW5jcmFzZSB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgcHJvY2Vzc2VkIGltYWdlIGJ5IHRoZSBpbnRlZ2VyIHZhbHVlIHNwZWNpZmllZCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29sb3JpemUnXSA9ICcocixnLGJbLGFscGhhXSkgLSBMaWtlIGZpbHRlcl9ncmV5c2NhbGUgaG93ZXZlciB5b3UgY2FuIHNwZWNpZnkgdGhlIGNvbG9yIGFuZCBhbHBoYSB2YWx1ZSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29udHJhc3QnXSA9ICcoaW50ZWdlcikgQ2hhbmdlIHRoZSBjb250cmFzdCBvZiB0aGUgaW1hZ2UgYnkgdGhlIGludGVnZXIgdmFsdWUgc3BlY2lmaWVkJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wJ10gPSAnKHBlcmNlbnRbLGhfYWxpZ24sdl9hbGlnbl0pIC0gUGVyZm9ybSBjcm9wcGluZyBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBDcm9wIHBhcmFtZWV0ZXJzIGFyZSBzcGVjaWZpZWQgYXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBwYXJhbWV0ZXJzLiAgVGhlIGZpcnN0IChyZXF1aXJlZCkgdmFsdWUgaXMgYW4gaW50ZWdlciBwZXJjZW50YWdlIG9mIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplLiAgVGhlIG9wdGlvbmFsIHNlY29uZCBhbmQgdGhpcmQgcGFyYW1ldGVycyBhcmUgb25lIG9mIGwsYyxyIChsZWZ0LGNlbnRlcixyaWdodCkgYW5kIHQsYyxiICh0b3AsY2VudGVyLGJvdHRvbSkgc3BlY2lmeWluZyB3aGVyZSB0aGUgbG9jYXRpb24gd2l0aGluIHRoZSBzb3VyY2UgaW1hZ2UgdG8gY3JvcCBmcm9tLiAgaS5lOiBjcm9wPTMzLGIsciB0byBncmFiIGEgY3JvcCBvZiAzMyUgZnJvbSB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSBzb3VyY2UgaW1hZ2UuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lZGdlZGV0ZWN0J10gPSAnKGFueXRoaW5nKSBIaWxpZ2h0IHRoZSBlZGdlcyBpbiB0aGUgaW1hZ2UnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2VtYm9zcyddID0gJyhhbnl0aGluZykgRW1ib3NzIHRoZSBpbWFnZSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfZ3JheXNjYWxlJ10gPSAnKGFueXRoaW5nKSBDb252ZXJ0IHRoZSBpbWFnZSB0byBncmF5c2NhbGUnOwokbGFuZ1sncGFyYW1fZmlsdGVyX21lYW5yZW1vdmFsJ10gPSAnKGFueXRoaW5nKSBBdHRlbXB0IHRvIGFjaGlldmUgYSAmcXVvdDtza2V0Y2h5JnF1b3Q7IGVmZmVjdCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbmVnYXRlJ10gPSAnKGFueXRoaW5nKSBOZWdhdGUgdGhlIGltYWdlJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9waXhlbGF0ZSddID0gJyhzaXplWyxhZHZhbmNlZF0pIFBpeGVsYXRlIHRoZSBpbWFnZSwgc3BlY2lmeSBhbiBpbnRlZ2VyIHNpemUgYW5kIGFuIG9wdGlvbmFsIGJvb2xlYW4gKGRlZmF1bHQgaXMgZmFsc2UpIHRvIGVuYWJsZSBhZHZhbmNlZCBwaXhlbGF0aW9uJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemUnXSA9ICd0eXBlLG51bWJlclssbnVtYmVyXSAtIFBlcmZvcm0gYSByZXNpemUgb2YgdGhlIHNvdXJjZSBpbWFnZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KICA8bGk+cCxudW1iZXIgLSBQZXJmb3JtIGEgc2ltcGxlIHJlc2NhbGUgdG8gYSBjZXJ0YWluIHBlcmNlbnRhZ2UuICBpLmU6ICByZXNpemU9cCw1MCB0byByZXNpemUgdG8gNTAlIG9mIHRoZSBvcmlnaW5hbCBzaXplLjwvbGk+CiAgPGxpPncsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy48L2xpPgogIDxsaT5oLG51bWJlciAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgaGVpZ2h0ICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9aCw4MCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2l0aCBhIG1heGltdW0gaGVpZ2h0IG9mIDgwIHBpeGVscy48L2xpPgogIDxsaT5jLHgseSAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBjdXN0b20gc2l6ZSAod2l0aG91dCByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIGkuZTogcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLjwvbGk+CjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yb3RhdGUnXSA9ICcoYW5nbGUsY29sb3IpIFNwZWNpZnkgdGhlIGludGVnZXIgYW5nbGUgKGNvdW50ZXIgY2xvY2t3aXNlKSB0byByb3RhdGUgdGhlIGltYWdlLCBhbmQgYSBjb2xvciB0byBmaWxsIHRoZSBlbXB0eSBwaXhlbHMgd2l0aC4gIFRoZSBpbWFnZSBpcyByb3RhdGVkIGFib3V0IGl0cyBjZW50ZXIuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl93YXRlcm1hcmsnXSA9ICcoYW55dGhpbmcpLCBTcGVjaWZ5IHRoYXQgdGhlIHdhdGVybWFyayAoYXMgc3BlY2lmaWVkIGluIHRoZSBDR0V4dGVuc2lvbnMgYWRtaW4gcGFuZWwpIHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBpbWFnZSc7CiRsYW5nWydwYXJhbV9oZWlnaHQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBoZWlnaHQgYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOwokbGFuZ1sncGFyYW1fbmFtZSddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIG5hbWUgYXR0cmlidXRlLic7CiRsYW5nWydwYXJhbV9ub2F1dG8nXSA9ICdEbyBub3QgYXV0b21hdGljYWxseSBjYWxjdWFsdGUgcGFyYW1ldGVycyBmb3IgdGhlIGltZyB0YWcuICBUaGlzIG1heSBjYXVzZSB5b3VyIHNpdGUgdG8gZmFpbCB2YWxpZGF0aW9uIGlmIHNvbWUgcmVxdWlyZWQgcGFyYW1ldGVycyAod2lkdGgsaGVpZ2h0LGFsdCkgYXJlIG5vdCBzcGVjaWZpZWQnOwokbGFuZ1sncGFyYW1fbm9jYWNoZSddID0gJ0RvIG5vdCBhbGxvdyB0aGUgcmVzaXplZCBpbWFnZSB0byBjYWNoZSBpbiB0aGUgYnJvd3NlciAodXNlZnVsIGZvciBkZXZlbG9wbWVudCBwdXJwb3NlcykgdGhpcyBhZGRzIGEgdW5pcXVlIG51bWJlciBhcyBhIHBhcmFtZXRlciB0byB0aGUgaW1hZ2Ugd2hpY2ggd2lsbCBmb3JjZSB0aGUgYnJvd3NlciBub3QgdG8gY2FjaGUgdGhlIGltYWdlLic7CiRsYW5nWydwYXJhbV9ub2VtYmVkJ10gPSAnRm9yY2UgdGhlIGltYWdlIHRvIG5vdCBlbWJlZC4gIFJlZ2FyZGxlc3Mgb2Ygc2V0dGluZ3MgaW4gdGhlIGFkbWluIHBhbmVsLCB0aGUgVVJMIGFuZCB0YWcgZ2VuZXJhdGVkIHdpbGwgYmUgdG8gYSBmaWxlIG9uIHRoZSBzZXJ2ZXIuICBObyBlbWJlZGRpbmcgd2lsbCBiZSBwZXJmb3JtZWQnOwokbGFuZ1sncGFyYW1fbm90YWcnXSA9ICdEbyBub3Qgb3V0cHV0IGFuIGltZyB0YWcsIG9ubHkgdGhlIHVybCB0byB0aGUgY2FjaGVkIGltYWdlLiAgVGhpcyBoYXMgbm8gZWZmZWN0IHdoZW4gQ0dTbWFydEltYWdlIGlzIHVzZWQgZnJvbSB3aXRoaW4gYSBzdHlsZXNoZWV0Lic7CiRsYW5nWydwYXJhbV9vdmVyd3JpdGUnXSA9ICdEaXNhYmxlIGFsbCBjYWNoaW5nIGFuZCBmb3JjZSByZS1jYWxjdWxhdGlvbiBvZiBhbGwgZmlsdGVycyc7CiRsYW5nWydwYXJhbV9xdWFsaXR5J10gPSAnU3BlY2lmeSB0aGUgcXVhbGl0eSBvZiB0aGUgb3V0cHV0IGltYWdlLiAgQSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEwMC4nOwokbGFuZ1sncGFyYW1fc3JjJ10gPSAnU3BlY2lmeSB0aGUgc291cmNlIGZvciB0aGUgaW1hZ2UgcHJvY2Vzc2luZyAoaWYgYW55KSBvciB0aGUgZ2VuZXJhdGVkIGltZyB0YWcuICBOb3RlLCB0aGlzIHBhcmFtZXRlciBpcyBmbGV4aWJsZSwgYW5kIHRoZSBtb2R1bGUgd2lsbCBhdHRlbXB0IG1hbnkgbWV0aG9kcyB0byBmaW5kIHRoZSBzb3VyY2UgaW1hZ2UgZmlsZSBvbiB0aGUgd2ViIHNlcnZlciBhcyBmb2xsb3dzOgo8dWw+CiAgPGxpPkZpcnN0IGxvb2sgdG8gc2VlIGlmIHRoZSBzcGVjaWZpZWQgc3JjIHZhbHVlIGV4aXN0cyBhcyBhIGZpbGUgb24gdGhlIGZpbGVzeXN0ZW0uPC9saT4KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSB1cGxvYWRzX3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+CiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgcm9vdF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPgogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPgo8L3VsPic7CiRsYW5nWydwYXJhbV9zdHlsZSddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBhbGxvd3Mgc3BlY2lmeWluZyBhbHRlcm5hdGUgc3R5bGVzIGZvciB0aGUgdGFnLiAgaS5lOiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Iic7CiRsYW5nWydwYXJhbV90aXRsZSddID0gJ1NwZWNpZnkgYW4gb3B0aW9uYWwgdGl0bGUgYXR0cmlidXRlIGZvciB0aGUgaW1nIHRhZy4gIGkuZTogdGl0bGU9IlRoaXMgaXMgdGhlIHRvb2x0aXAiJzsKJGxhbmdbJ3BhcmFtX3dpZHRoJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgd2lkdGggYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOwoKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWxlIGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQWxsIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbW92ZWQnOwokbGFuZ1sncHJvbXB0X2VtYmVkX3NpemVsaW1pdCddID0gJ0Jhc2VkIG9uIGltYWdlIHNpemUnOwokbGFuZ1sncHJvbXB0X2VtYmVkX3NtYXJ0bGltaXRlZCddID0gJ1NtYXJ0IG1vZGUgYnV0IGxpbWl0IGltYWdlIHNpemUnOwokbGFuZ1sncHJvbXB0X2VtYmVkX3R5cGUnXSA9ICdCYXNlZCBvbiBpbWFnZSB0eXBlJzsKCiMgUgokbGFuZ1sncmVzaXppbmcnXSA9ICdSZXNpemluZyc7CgojIFMKJGxhbmdbJ3NtYXJ0J10gPSAnU21hcnQnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdF9jYWNoZWNsZWFuZWQnXSA9ICdDYWNoZSBnZWxlZXJ0JzsKJGxhbmdbJ2Fza19jbGVhcl9pbWFnZV9jYWNoZSddID0gJ1NpbmQgU2llIHNpY2hlciwgZGFzcyBTaWUgQUxMRSBEYXRlaWVuIGF1cyBkZW0gQ2FjaGUgZW50ZmVybmVuIHdvbGxlbj8nOwokbGFuZ1snY2xlYXJfYWxsJ10gPSAnQWxsZSBEYXRlaWVuIGwmb3VtbDtzY2hlbic7CiRsYW5nWydjbGVhcl9ub3cnXSA9ICdKZXR6dCBsJm91bWw7c2NoZW4nOwokbGFuZ1snZW1iZWRkaW5nJ10gPSAnRWluZ2VidW5kZW5lIEJpbGRlcic7CiRsYW5nWydlbWJlZGRpbmdfbW9kZSddID0gJ0ltYWdlIEVtYmVkZGluZy1Nb2R1cyc7CiRsYW5nWydlbWJlZF9zaXplbGltaXQnXSA9ICdCaWxkZXIgZWluYmluZGVuIGJpcyBtYXhpbWFsIChrYiknOwokbGFuZ1snZW1iZWRfdHlwZXMnXSA9ICdCaWxkZXIgZGVzIFR5cHMgZWluYmluZGVuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfYWdlJ10gPSAnQWx0ZXJzZWluc3RlbGx1bmcgdW5nJnV1bWw7bHRpZy4uLiBLZWluZSBBa3Rpb24gYXVzZ2VmJnV1bWw7aHJ0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbSddID0gJ1VuZyZ1dW1sO2x0aWdlciBQYXJhbWV0ZXIgaW46ICVzJzsKJGxhbmdbJ2Vycm9yX3Vua25vd25maWx0ZXInXSA9ICdDR1NtYXJ0SW1hZ2UgLSBVbmJla2FubnRlciBGaWx0ZXI6ICVzJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgU21hcnQgSW1hZ2UgV2Vya3pldWdlJzsKJGxhbmdbJ2dlbmVyYWwnXSA9ICdBbGxnZW1laW4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd2F5IHRvIHByb2Nlc3MsIGFuZCBkaXNwbGF5IGltYWdlcyBvbiB5b3VyIHdlYiBwYWdlLiAgSXQgYWxsb3dzIHNpbXBsZSBpbWFnZSBwcm9jZXNzaW5nLCBhbmQgd2F0ZXJtYXJraW5nLiAgVGhpcyBtb2R1bGUgbWFrZXMgZGlzcGxheWluZyBwcm9jZXNzZWQgaW1hZ2VzIG9uIHlvdXIgd2Vic2l0ZSB0cml2aWFsLiAgSXQgYWxzbyBwcm92aWRlcyBmZWF0dXJlcyB0byBpbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSByYXRpbmcgb2YgeW91ciB3ZWJzaXRlLCBtYWtpbmcgeW91ciB3ZWJzaXRlIHBvd2VyZnVsIGFuZCBmYXN0IGF0IHRoZSBzYW1lIHRpbWUuPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT5Qb3dlcmZ1bCwgYnV0IHNpbXBsZSB0byB1c2UgaW1hZ2UgZmlsdGVyaW5nIGFuZCBwcm9jZXNzaW5nLiBGaWx0ZXJpbmcgaW5jbHVkZXM6DQogIDx1bD4NCiAgICA8bGk+Qmx1cjwvbGk+DQogICAgPGxpPkJyaWdodG5lc3M8L2xpPg0KICAgIDxsaT5Db2xvcml6ZTwvbGk+DQogICAgPGxpPkNvbnRyYXN0PC9saT4NCiAgICA8bGk+Q3JvcDwvbGk+DQogICAgPGxpPkVkZ2UgRGV0ZWN0aW9uPC9saT4NCiAgICA8bGk+RW1ib3NzPC9saT4gDQogICAgPGxpPkdyYXlzY2FsZTwvbGk+DQogICAgPGxpPk1lYW4gUmVtb3ZhbDwvbGk+DQogICAgPGxpPk5lZ2F0ZTwvbGk+DQogICAgPGxpPlBpeGVsYXRlPC9saT4NCiAgICA8bGk+UmVzaXplPC9saT4NCiAgICA8bGk+Um90YXRlPC9saT4NCiAgICA8bGk+U2VsaWN0aXZlIEJsdXI8L2xpPg0KICAgIDxsaT5TbW9vdGg8L2xpPg0KICAgIDxsaT5XYXRlcm1hcms8L2xpPg0KICA8L3VsPg0KPC9saT48YnIvPg0KPGxpPlNtYXJ0IGRldGVjdGlvbiBvZiBpbWFnZXMuICBTcGVjaWZ5IGFic29sdXRlIFVSTFMsIGFic29sdXRlIHBhdGhzLCBvciBmaWxlcyByZWxhdGl2ZSB0byB5b3VyIHJvb3QgaW5zdGFsbGF0aW9uLjwvbGk+DQo8bGk+U21hcnQgYXR0cmlidXRlIGdlbmVyYXRpb24gZm9yIGltYWdlcy48L2xpPg0KPGxpPlByb2Nlc3NlZCBpbWFnZXMgYXJlIGNhY2hlZCBvbiB0aGUgc2VydmVyIGZvciBmYXN0ZXIgc2VydmluZy48L2xJPg0KPGxpPlRoZSBhYmlsaXR5IHRvIHVzZSBhIHNlcGFyYXRlIFVSTCAoQ0ROKSBmb3Igc2VydmluZyBpbWFnZXM8L2xpPg0KPGxpPkltYWdlIHByb2Nlc3NlcyBjYW4gYmUgY29tYmluZWQsIGFuZCBhcmUgZXhlY3V0ZWQgaW4gb3JkZXIuPC9saT4NCjxsaT5Qcm92aWRlcyB0aGUgYWJpbGl0eSB0byBlbWJlZCBpbWFnZXMgZGlyZWN0bHkgaW50byB0aGUgY29udGVudCBvZiB0aGUgd2ViIHBhZ2UgdG8gbWluaW1pemUgc3BhY2UuPC9saT4NCjxsaT5Qcm92aWRlcyB0aGUgYWJpbGl0eSB0byBsaW1pdCBlbWJlZGRpbmcgaW1hZ2VzIHNtYXJ0bHksIG9ubHkgdG8gYnJvd3NlcnMgdGhhdCBhcmUgY2FwYWJsZSBvZiB1bmRlcnN0YW5kaW5nIHRoZW0uPC9saT4NCjxsaT5BbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cyB2aWEgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnLjwvbGk+DQo8bGk+TW9yZS4uLjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQo8cD5UaGUgc2ltcGxlc3Qgd2F5IHRvIHVzZSB0aGlzIG1vZHVsZSBpcyB0byB1c2UgaXQgaW4gdGhlIHNhbWUgcGxhY2UgeW91IHdvdWxkIHRoZSB7aW1hZ2V9IHRhZy4gIEkuZTogU29tZXRoaW5nIGxpa2UgPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJiMwMzk7fTwvY29kZT4uICBUaGlzIHdpbGwgZ2VuZXJhdGUgdGhlIGltYWdlIHRhZyBmb3IgeW91IHdpdGggbm8gcHJvY2Vzc2luZy4gIEFuZCBpZiBwb3NzaWJsZSwgZW1iZWQgdGhlIGltYWdlIGRpcmVjdGx5IGludG8geW91ciBodG1sIG91dHB1dC48L3A+DQo8cD5PZnRlbiBwZW9wbGUgd2FudCB0byBkaXNwbGF5IGEgd2F0ZXJtYXJrIG9uIHRoZSBpbWFnZXMgdGhhdCB0aGV5IGRpc3BsYXkgb24gdGhlIGZyb250ZW5kIHRvIHByZXZlbnQgaW1hZ2UgdGhlZnQuICBUaGUgQ0dFeHRlbnNpb25zIG1vZHVsZSBwcm92aWRlcyBzZXR0aW5ncyBmb3IgeW91IHRvIGNvbmZpZ3VyZSB3YXRlcm1hcmtpbmcgYW5kIHlvdSBjYW4gZW5hYmxlIHRoYXQgd2l0aCBhbnkgaW1hZ2Ugd2l0aCBhIHRhZyBsaWtlIHRoaXM6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Q0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyYjMDM5OyBmaWx0ZXJfd2F0ZXJtYXJrPTF9PC9jb2RlPi4gIFRoaXMgd2lsbCByZWFkIHRoZSBpbWFnZSwgYXBwbHkgdGhlIHdhdGVybWFyayBhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmdzIGluIENHRXh0ZW5zaW9ucywgYW5kIHRoZW4gY2FjaGUgdGhlIGFsdGVyZWQgaW1hZ2UsIGFuZCB0aGVuIGVtYmVkIGl0IGludG8geW91ciBvdXRwdXQuPC9wPg0KPHA+QWxzbywgUGljdHVyZXMgdGFrZW4gYnkgbW9kZXJuIGRpZ2l0YWwgY2FtZXJhcyBhcmUgb2Z0ZW4gdG9vIGxhcmdlIGZvciB1c2Ugb24gYSB3ZWJzaXRlLCB0aGVyZWZvcmUgdGhleSBuZWVkIHRvIGJlIHNjYWxlZCBiZWZvcmUgZGlzcGxheWVkIG9uIHlvdXIgcGFnZS4gIFRoaXMgY2FuIGJlIGRvbmUgcXVpdGUgZWFzaWx5IHdpdGggYSB0YWcgbCBpa2U6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Q0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyYjMDM5OyBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTt3LDM1MCYjMDM5O308L2NvZGU+LiAgQXMgeW91IG1heSB0aGluaywgdGhlIHdhdGVybWFyayB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIGltYWdlIGJlZm9yZSBpdCBpcyByZXNpemVkIHRvIGEgbWF4aW11bSB3aWR0aCBvZiAzMDAgcGl4ZWxzIChyZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIFRoZW4gdGhlIGFkanVzdGVkIGltYWdlIHdpbGwgYmUgY2FjaGVkLCBhbmQgaWYgdGhlIGJyb3dzZXIgYWxsb3dlcyB0aGUgaW1hZ2Ugd2lsbCBiZSBlbWJlZGRlZCBpbnRvIHRoZSBIVE1MIG91dHB1dC4gIElmIGVtYmVkZGluZyBpcyBub3QgcG9zc2libGUgYW4gPGltZz4gdGFnIHdpbGwgYmUgZ2VuZXJhdGVkLjwvcD4NCjxwPkZyb20gaGVyZSB5b3UgY2FuIGNvbWJpbmUgdGhlIG9wdGlvbnMgYmVsb3cgdG8gcGVyZm9ybSBhbG90IG9mIGRpZmZlcmVudCBlZmZlY3RzIHRvIHlvdXIgaW1hZ2VzLCBidWlsZCBzaW1wbGUgZ2FsbGVyaWVzLCBhbmQgaW1wcm92ZSB5b3VyIHNpdGUgcGVyZm9ybWFuY2UgYXQgdGhlIHNhbWUgdGltZS4gIEVuam95ITwvcD4NCiA8aDM+QSBTaW1wbGUgR2FsbGVyeTwvaDM+DQo8cD5UaGUgY29kZSBiZWxvdyB1c2VzIHRoZSB7Q0dTbWFydEltYWdlfSBtb2R1bGUsIGZhbmN5Ym94LCBhbmQgYSBiaXQgb2Ygc21hcnR5IG1hZ2ljIHRvIGdlbmVyYXRlIGEgc2ltcGxlIGxpZ2h0Ym94IHN0eWxlIGFsYm9tIGZyb20gYSBzdWJkaXJlY3Rvcnkgb24geW91ciB3ZWJzaXRlLCB3aGlsZSBwcm9jZXNzaW5nIHRoZSBpbWFnZXMgZm9yIHdlYiBzdGFuZGFyZHMsIGFuZCBjcmVhdGluZyB0aHVtYm5haWxzLjwvcD4NCjxwcmUgc3R5bGU9JnF1b3Q7YmFja2dyb3VuZC1jb2xvcjogI2RkZDsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7JnF1b3Q7Pjxjb2RlPjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiAxOjwvc3Bhbj4gPHNjcmlwdCB0eXBlPSZxdW90O3RleHQvamF2YXNjcmlwdCZxdW90Oz57bGl0ZXJhbH0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiAyOjwvc3Bhbj4galF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDM6PC9zcGFuPiAgalF1ZXJ5KCYjMDM5O2EuZmFuY3lib3gmIzAzOTspLmZhbmN5Ym94KCk7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNDo8L3NwYW4+IH0pOw0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDU6PC9zcGFuPiB7L2xpdGVyYWx9PC9zY3JpcHQ+DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNjo8L3NwYW4+IHthc3NpZ24gdmFyPSYjMDM5O2ZpbGVzJiMwMzk7IHZhbHVlPSYjMDM5O3VwbG9hZHMvYWxidW0vKi5qcGcmIzAzOTt8Z2xvYn0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA3Ojwvc3Bhbj4ge2lmIGNvdW50KCRmaWxlcyl9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gODo8L3NwYW4+IDxkaXYgc3R5bGU9JnF1b3Q7d2lkdGg6IDEwMCU7IGhlaWdodDogMTUwcHg7IG92ZXJmbG93OiBhdXRvOyZxdW90Oz4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA5Ojwvc3Bhbj4ge2ZvcmVhY2ggZnJvbT0kZmlsZXMgaXRlbT0mIzAzOTtmaWxlJiMwMzk7fQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTA6PC9zcGFuPiAgPGEgcmVsPSYjMDM5O3NpbXBsZV9hbGJ1bSYjMDM5OyBjbGFzcz0iZmFuY3lib3giIGhyZWY9IjxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAsMCBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTtoLDUwMCYjMDM5OyBub3RhZz0xIG5vZW1iZWQ9MX08L3NwYW4+JnF1b3Q7Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTE6PC9zcGFuPiAgPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAsMCBmaWx0ZXJfZ3JheXNjYWxlPTEgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9JiMwMzk7aCwxNTAmIzAzOTt9PC9zcGFuPg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTI6PC9zcGFuPiAgPC9hPg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTM6PC9zcGFuPiB7L2ZvcmVhY2h9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xNDo8L3NwYW4+IDwvZGl2Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTU6PC9zcGFuPiB7L2lmfQ0KPC9jb2RlPjwvcHJlPjxici8+DQo8cD5MZXRzIHRhbGsgYWJvdXQgdGhpcy48L3A+DQo8cD5MaW5lcyAxIHRocm91Z2ggNSB1dGlsaXplIGpRdWVyeSB0byBjYWxsIGZhbmN5Ym94IG9uIGFueSBsaW5rcyB0aGF0IGhhdmUgdGhlICZxdW90O2ZhbmN5Ym94JnF1b3Q7IGNsYXNzLiAgVGhlIGZhbmN5Ym94IGpRdWVyeSBwbHVnaW4gaXMgaW5jbHVkZWQgd2l0aCB0aGUgSlF1ZXJ5VG9vbHMgbW9kdWxlLjwvcD4NCjxwPkxpbmUgNiB1c2VzIGEgYnVpbHQgaW4gcGhwIGZ1bmN0aW9uIGNhbGxlZCBnbG9iLCBhbmQgc29tZSBzbWFydHkgbWFnaWMgdG8gZmluZCBhbGwgb2YgdGhlIEpQRyBmaWxlcyBpbiB0aGUgdXBsb2Fkcy9hbGJ1bSBkaXJlY3RvcnkgYmVsb3cgb3VyIGluc3RhbGxhdGlvbiByb290LjwvcD4NCjxwPkxpbmUgNyBpcyBhIHRlc3QgdG8gc2VlIGlmIGFueSBmaWxlcyB3ZXJlIGFjdHVhbGx5IGZvdW5kIGluIHRoZSBhc3NpZ24gbGluZSBzdGF0ZWQgYWJvdmUuICBUaGlzIGlmIHN0YXRlbWVudCBpcyBjbG9zZWQgb24gbGluZSAxNS48L3A+DQo8cD5MaW5lIDggb3BlbnMgdXAgYSBkaXYgdG8gY29udGFpbiBvdXIgYWxidW0uICBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZXhhbXBsZSB0aGUgc3R5bGVzIHdlcmUgaW5jbHVkZWQgaW5saW5lLCBob3dldmVyIGEgY2xhc3MgdGhhdCB3YXMgZGVmaW5lZCBpbiB0aGUgc3R5bGVzaGVldCBzaG91bGQgYmUgdXNlZCBpbiBwcm9kdWN0aW9uIGVudmlyb25tZW50cy4gIFRoZSBjbG9zaW5nIHRhZyBmb3IgdGhpcyBkaXYgaXMgb24gbGluZSAxNCwganVzdCBiZWZvcmUgdGhlIDxjb2RlPnsvaWZ9PC9jb2RlPi48L3A+DQo8cD5MaW5lIDkgYmVnaW5zIGEgbG9vcCB0aHJvdWdoIGFsbCBvZiB0aGUgZmlsZXMgdGhhdCB3ZSBmb3VuZCBpbiB0aGUgZGlyZWN0b3J5LiAgVGhpcyBsb29wIGlzIGNsb3NlZCBvbiBsaW5lIDEzLjwvcD48YnIvPg0KPHA+TGluZXMgMTAgYW5kIDExIGFyZSB0aGUgcmVhbCBtYWdpYy4gIEhlcmUgd2UgY3JlYXRlIGEgbGluayB3aXRoIGNsYXNzICZxdW90O2ZhbmN5Ym94JnF1b3Q7IGFuZCBhZGRzIHRoZSA8Y29kZT5yZWw8L2NvZGU+IGF0dHJpYnV0ZSBzbyB0aGF0IGZhbmN5Ym94IGtub3dzIHRoYXQgYWxsIG9mIHRoZXNlIGltYWdlcyBzaG91bGQgYmUgZ3JvdXBlZCB0b2dldGhlciBhcyBvbmUgYWxidW0gYW5kIGFsbG93IGNsaWNraW5nIGJldHdlZW4gdGhlIGltYWdlcy4gIFRoZW4gY29tZXMgdGhlIHBhcnQgd2hlcmUgd2UgZGVmaW5lIG91ciBpbWFnZXMuDQo8cD5XZSBzdXBwbHkgdGhlICRmaWxlIHZhcmlhYmxlIHRvIHRoZSBzcmMgYXJndW1lbnQgb2YgdGhlIDxjb2RlPntDR1NtYXJ0SW1hZ2V9PC9jb2RlPiB0YWcgc28gdGhhdCBpdCB3aWxsIGdldCB0aGUgbmFtZSBvZiBlYWNoIG1hdGNoZWQganBlZyBhcyB0aGUgbG9vcCBpcyBleGVjdXRlZC48L3A+DQo8cD5UaGUgaW1hZ2VzIEkgd2FzIHRlc3Rpbmcgd2l0aCB3ZXJlIHVwbG9hZGVkIGZyb20gbXkgaXBvZCwgYW5kIGFsbCBzZWVtZWQgdG8gYmUgcm90YXRlZCA5MCBkZWdyZWVzIGNvdW50ZXIgY2xvY2tlaXMuICBTbyB0aGUgZmlyc3QgZmlsdGVyIEkgYWRkZWQgd2FzIHRvIHJvdGF0ZSB0aGUgaW1hZ2UgOTAgZGVncmVlcyBjbG9ja3dpc2UgdmlhIHRoZSA8Y29kZT5maWx0ZXJfcm90YXRlPTkwLDA8L2NvZGU+IGFyZ3VtZW50LiBUaGUgaW1hZ2VzIHRoZW4gbmVlZGVkIHRvIGhhdmUgdGhlIHdhdGVybWFyayBvbiB0aGVtIDxlbT4odGhpcyBpcyBqdXN0IGZvciBleGFtcGxlIHB1cnBvc2VzLCBJIGRvbnQgdGhpbmsgYW55Ym9keSB3b3VsZCByZWFsbHkgc3RlYWwgdGhlIGJsdXJyeSBwaWN0dXJlcyBmcm9tIG15IGlwb2QgZm9yIGNvbW1lcmNpYWwgcHVycG9zZXMpPC9lbT4sIHNvIEkgYWRkZWQgdGhlIDxjb2RlPmZpbHRlcl93YXRlcm1hcms9MTwvY29kZT4gcGFyYW1ldGVyLiAgQW5kIGZpbmFsbHksIGJlY2F1c2UgZXZlbiB0aGUgaXBvZCB0b3VjaCBjYW4gdGFrZSBwaWN0dXJlcyB0aGF0IGFyZSB0b28gYmlnIHRvIGRpc3BsYXkgb24gdGhlIHNjcmVlbiBJIHdhbnRlZCB0byByZXNpemUgdGhlbSB0byBhIG1heGltdW0gaGVpZ2h0IG9mIDUwMCBwaXhlbHMuICBUaGlzIHdhcyBhY2NvbXBsaXNoZWQgdmlhIHRoZSA8Y29kZT5maWx0ZXJfcmVzaXplPWgsNTAwPC9jb2RlPiBhcmd1bWVudC4gIFdlIGFkZCB0aGUgPGNvZGU+bm9lbWJlZD0xPC9jb2RlPiBhcmd1bWVudCBiZWNhdXNlIGZhbmN5Ym94IGRvZXMgbm90IHVuZGVyc3RhbmQgaG93IHRvIGRpc3BsYXkgZW1iZWRkZWQgaW1hZ2VzIGluIGl0cyBwb3B1cCB3aW5kb3cuICBUaGlzIGRlZmluZWQgdGhlIGltYWdlIHRoYXQgd2Ugd2VyZSBnb2luZyB0byBsaW5rIHRvLjwvcD4NCjxwPk5leHQgd2UgbmVlZGVkIHRvIGRlZmluZSB0aGUgdGh1bWJuYWlsIGltYWdlIHRoYXQgd2UgYXJlIGdvaW5nIHRvIHVzZSBpbiB0aGUgZ2FsbGVyeS4gIFRoaXMgY2FsbCB0byA8Y29kZT57Q0dTbWFydEltYWdlfTwvY29kZT4gaXMgYWxtb3N0IGlkZW50aWNhbCB0byB0aGUgZmlyc3QgY2FsbCwgZXhjZXB0IHRoYXQgd2UgdXNlIGEgZGlmZmVyZW50IGhlaWdodCB2YWx1ZSAoMTUwIHBpeGVscykgZm9yIHRoZSB0aHVtYm5haWwsIGFuZCBmb3Iga2lja3MgSSBjb252ZXJ0ZWQgdGhlIHRodW1ibmFpbCB0byBncmV5c2NhbGUgPHN0cm9uZz5iZWZvcmU8L3N0cm9uZz4gYXBwbHlpbmcgdGhlIHdhdGVybWFyay4gIEkgYWxzbyByZW1vdmVkIHRoZSBub2VtYmVkPTEgYXJndW1lbnQgc28gdGhhdCB0aGUgc3lzdGVtIGNvdWxkIGVtYmVkIHRoZSBpbWFnZSBpbiB0aGUgSFRNTCBvdXRwdXQgaWYgdGhlIGJyb3dzZXIgc3VwcG9ydGVkIGl0LiAgVGhlIHNjcmVlbiBjYXB0dXJlIGJlbG93IHNob3dzIHRoZSBlZmZlY3QuPC9wPg0KPGltZyBzcmM9JnF1b3Q7ZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFFQVlBQmdBQUQvMndCREFBZ0dCZ2NHQlFnSEJ3Y0pDUWdLREJRTkRBc0xEQmtTRXc4VUhSb2ZIaDBhSEJ3Z0pDNG5JQ0lzSXh3Y0tEY3BMREF4TkRRMEh5YzVQVGd5UEM0ek5ETC8yd0JEQVFrSkNRd0xEQmdORFJneUlSd2hNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpML3dBQVJDQUNoQWZBREFTSUFBaEVCQXhFQi84UUFIQUFBQVFRREFRQUFBQUFBQUFBQUFBQUFBQVFGQmdjQkFnTUkvOFFBVUJBQUFnRURBZ01FQndRR0J3UUlCUVVBQVFJREFBUVJCU0VHRWpFVFFWRmhCeFFpY1lHUnNTTXlvZEVWTTBKU2tzRVdKVFJpY25Qd0pGV0M0UmMyUTFOV2c2THhKalZFWTdKa2s3UEMwdi9FQUJnQkFRRUJBUUVBQUFBQUFBQUFBQUFBQUFBQkFnTUUvOFFBSXhFQkFRQUNBZ01BQWdJREFBQUFBQUFBQUFFQ0VTRXhBeEpCRXlJalFsRmhrZi9hQUF3REFRQUNFUU1SQUQ4QXRmVzlWdWJLNzAreHNrZzladnBHVlpMZ25zMENqSnlCdVQ0Q3RMdlZMblRMRlk5UXZOTWkxR1orV0RJY1J1TWdkTnpuZjZWMDRoazBYMWFLRFd3dll5TWVSbVZzS3c3K1pmdW56cUozTWwxSnd0SUhrdUpyTk5XZ1d5bXVBZTBlTG1IWE81R2VoTkJOTHJYTktzWkhqdXRRdDRYUndqSzc0SVlqT01lNGcxdEhyV2x5M3dzbzlRdG51V0dSRXNnSk8yZHZoVEZGREhKeEx4Z3p4cXg3R05RV1hPM1pIYjhCVFhERXFjSjhGdXNZVnhlUUhJWEIzNXMvT2dsYjhTNkpITzBNbXFXcVNxNWpaV2ZCRERZZytGYzU5U3VFNHRzZE9SazlXbnM1Wm05bkpMS1JqQjhLaTlycWVtVzJuOFNXZDJCSmNUMzF3RWdFUlpwYzdBREE4ZmxTcXppdU5MMW5oYzZoem93MDU3VnBDQ1FKU1JoU2U0MEVtbTEzU2JhOTlUbTFHMmp1TWdkbTBnQkJQY2ZBKytuQ3E0c2tnajBlNTBiVnRRZTF1WkpYV2UzTmlIZVFzMnpxMk10bklPZTZyQnRvUloyVVVEU3M2d3hoREkvVWhSakorVkEyWGV2SmE4UzJXa2xjaWRDWGsvY1kvY0h4NVcvQ2o5SlhQOUxwTk55bnF5NmY2d0J5NzgvUGpyNFk3cWl6eDZ2cSttYWxxVnJwMGJDN25GemJ6dGNjcm9zUjlnQk1iOUQzNzgxT1ZycU1WMXhkWmFpd1pJZFEwb0pFeFU0TW5NU1V6M0VZTkFzNGI0cHRkUjB5elcrdjdVYWxNR3pFQ0ZKUE1RQmp4d0J0VDdIZVcwMXhjVzhjeU5OYjQ3WkIxVEl5TS9DcTd0N2l6dWZSN0RvMGNiU2FzLzZxRVF0enE1Zkt2bkd3eHZuTlBkdmZ3Nkx4TnJhNmc3cTl6SEEwR0kyYnRpSStVOHVCdWM5MUJJUDA3cFF0bzdrNmhiaUdWR2RITFlES3B3eEh1SkFybWVKTkVXS0tRNnJhQkpTUWg3UWIvbDhhaDJnUmgyNE1FaUJnSTd0c01NNElKSU5MQmJ4Zm8zanI3RlAxMG1QWUhkSGtmanZRVGtISXlEa0dpa09pa25RZE9Kem4xV0xPZjhBcGRRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGUmx1RHJmbDVGbUVrWVVLb21WaVFBUDdyS1B3cVRVVlpkSlpzd2FOd3BiYVBmZXVMY1N5U0JaRVJPaUlybFNRQWNuOWdkU2FmNktLaWlqclJSUUZGSHdveDVVQ0RTOUxUU3hkaU9WNVBXYmw3bHVZQWNwYkdRTWQyMUw2TWVWR0Q0VUJrK05GR0Q0R2pCOERRRkZHRDRHczRQZ2FER1RSbXM0UGdheGcrQm9DaWlqNFVCUlI4S1BoUUZGR1BLakhsUUZGR0Q0R2pCOERRRkZHRDRHakI4RFFGRlp3ZkExakI4RFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVZUGdhUGhRRkZGR0NUakc5QVVWbmtiOTF2bFJ5dCs2M3lvTVVWbmxiOTF2bFJnK0IrVkJpaWpCOEt6eXQrNmZsUVlvckpVanFDUGVLQXJIb3BQd29NVVZubGI5MXZsUVZZZFZJK0ZCaWlzNFBnZmxRQVQwQlB1RkJpaXM4amZ1TjhqUnlQOEF1TjhxREZGWktzT3FrZThVY2pmdU44cURGRlo1Ry9jYjVVY2ovdU44alFZb3JQSTM3cmZLamxiOTF2bFFZb3JQSzM3cCtWQUJQUUUrNFVHS0t6eXQrNjN5ckZBVVVVVURicVRFU3g0Skd4NmUra1hPMzd6Zk9sbXFmclkvOEordE4rZDhVRzVrWWsrMDN6ckhPeC9hYjUxcG5ldFNhRGN5UG43emZNMXpaM3hzemZNMFpOYzNvTW1SL3dCOXY0alhNeVAvQU40L3pOWUpyVW56b01OSkorKzM4UnJpOGttLzJqL3hHdDJKcE8yMUJocDVmKzhmK0kxMzRSMUE2a1k3ajJoOXN5WUxFN0NrTHR2MXhYSGdlZG9XZ2p4ekNTK2tRa2RCMU5CTTd4MkYzSjdSd0NOcytWY0M3ZDdINTExdnY3Wko4UHBTVmo0MEc1ZHNmZmI1MGRvL2V6Zk90TTVyR2ZIclFiRjIvZWI1MW9aSHo5OXZtYXh6QUhIU3ViTUQzMEdXa2NmdHQvRWEwTXIvQUw3L0FNUnJSbTNyUW5GQnNaWk1nYzdmeEd1VHpTRDl0LzRqUVczcmk1b05YbWtBMmxmK0kwNmNNeU0rcXlndTdBUW5xU2YyaFRMS2RzMDY4S0hPclQvNVBYL2lGQTROSTJUN1I2bnZySGFzUDJtK2RJM3VWRHZueElybWJ0UjNpZ2NSTTNUbWI1MW50Vy9mYjUwMEhVWTFKSE91UjRtdWI2cW1OblgrSVVEMFozRFlMSEdPdWF3YnZsNnNmblVOMURpcTFzY21hZFZ4M2MxTTQ5SWVselNkbjZ5QWZOcUNmM2VzcmJxVHprbnVxUDNuRkZ3U1FraEh1cU5YWEVsczhxWm1UczMyRDgydzk5STVOUnNaRWtjWDBhaGNrc1BMejhhQ1FXK3U2cnFsekxhNmRJSlpvd0RKelB5ckdQTStQbDFwMWcvU2ZOT3Q1cTBrVFE0TGRpQUZIbWM1cXNMVGk2YmhKQjZ0SDYyOXlyT3N6ZXlEL2UvR21IVXVKZUlicTZhU1NTNVJnUVNlN0k2SHBRWHh4UnFWN29jVnJjV2NzenFVVm1TWWhsa0J4dnR2bWwzRkZ5N2VqdlVaMUxJL1pxUmdrRmZiVGJOZWZoeFZ4TnFOM0hjM2Q5ZTMwdzI3TmwyS2c1SGRqOEt0NXRSdk5VOUNtcTNWN0QyTndTUXlrNXhoMC9HZ3FtYTh1aHE4eWk5dVZSbEJHSm14dDhhYzlPdmJpTy9RdGUzUElSZzgwckhjL0dtSjVRK3AyNVljM1BFUnYxR0tjWW1DVHh0eUhQZmdaelFMZGV1cnY5Slcwa2Q1Y3NuWjQvWE1Od1Q0R3JEMEtHYTZ0cktkcHBzUEdySDJ6NGUrcTAxUW5sZ3dDQUdJcXp1Q3B1MDRldFhPK0U1Q2ViTzRQL09nbDh6eGlHT0ZwQ0M1NVZHKzV4bnI4S3I3aXkya2kwL1VwVXZycVA3Rjh4aVRBSldSUU1EcmpHYzc5Y1ZON216bnVSYnNzVGtKTXNnSUhVak9LWU9MOU5kcmFlTllwaFBMYnlvaUlvOXRoeWxWM0JQZWVtS0JyOURkeEpKZmFyYnp5U3lFd0NSUzdsc2R4RzU4NmV1STdDd3V0T251bkVndllMZGxpbEU3cmdEZm9Eang2aW1EMFZXOTNZNnpyRU1rYjI4NldXTVNqN2pjM2VLYk5WdCtKRnRuZTUxN3RvU3BMeHBiZ0Fqd3ozVURYcGRsZGF2cU1LRzR1Skk0b0pKR2dhNGRPMWJLcU1rSG9NNXA4czMvQUtObTRqdTdxNWdnZVJXUWM3U3RKN0lKVUU5d09mY01aOGFqZWdhdU5LMSswRnhJa2NFc1VxU083WUM0NVdCejhLYytPTFJMbzJlcTJjNGx0K1Rzbk1XNHh6WkRlZWM0K1ZCcHFYRmtwZGhienl4WUo1RldSdVlmSHAxOHFlL1NWZDNJOUhIQ2N5elRSeXlNcGNyS1FUOWoza0hlb0J5VzRraGNPNkJUek1yc0R5TjQ1eDVEM1ZPdlNTREo2Tk9EOGtra3BrbnIrcG9LcHViNitWVllYdDBOOS90My9PdTl0cVY3bFZON2NrZjU3L25TZlVFVDFJeUkyU2tuSytEME5iUjJGNHVuUjZpMXZKNm04blpyTVI3SllkUm54b0gyMTFiVTdRTzl0cVYxRTdxVmJsbEp5cDd0elRkYzM5NmNrWHQxelpIU2R0L3hvaWxIWURmcDFwSGRrTmJ0bkIzSFh1b0YxcmRhZ0M2UzNOMnUzUnBuMi9Hc1RYbDR1Q3Q3YytYMjdmblNmUVZTVzVaWldrN0lKelB5QUZnTWpwbnJXOThxTEk1aDUreTVqeWw4Wng1NG9POXRxTitqaHhlM0lLbktudFcyUGQzMUtSZFNYc1NYME54T2dmYVdOWlg1WTVSMVViOUQ5NGU4anVxRnBJQXVOcytkUFhEK3BSMkY4ZTNhUVdjdzVaa1h3N21IbXAzeDNqYnZvSmJhVDNNRFJTdGNURWcvdFNzZlB4cVZlbWEzdUg0U3NieTFtbFJ1MVJXYU55dlZXSTZlZGQ3UGh5RFZFaVRuVlpjWVlqOXZ3T2ZkaXM4Y3pUM0dnMi9EcldydGNDTkp1MVpoK3lTdUFQRWp2b0thNFU5ZkhGMmpjOTVjbFBYb1F5dE94eU9jZFJtdlV4Nm1xUTRXNFdnaDFxd2x1VW5XZU80UjFWbUM0SVlIY1kvblYzMEJSUlJRTldyZnJZdjhKK3ROMmFjZFcvV3hmNFQ5YWJHb01rNzFyellyREhHK0RURnhKeEhIb05vc2trTHVIeUF5NHdNVUQ0eml1WmtxcFg5Szk3SEovWjdSeDAzTENsTmg2VzRUSVYxR3pDb1RzMEJKSStCb0xOTGQ5YU14eDAycVBhZnhsb3VvUks2WHFLemZzTm5tSHdwYituTk56L2JJL2tmeW9IRW5hdUQwUTNVVjFFSllKQkloSkFJMjZWaVEwQ1Z6dmsrTkxPQTJIcXlzZWtsM0tVYjk0WjZqeXBqMTErVFRqdXdWcEVWc0hIc2xnQ0trdkRLQkpyZU5SaFZrT0I0YlVEM3FHMTVKOFBwU1VtbFYvd0QyeVQ0ZlNraG9OUWE1VFRpQ0o1Q0NRZ3pnZFRYVHY2VkZPTmRURnBwZ3RSS1kzdVR5bGhuT1BEYnhvR0RXUFNSUGIzVWkybHFCR3UzMjNYUGYwcEZINlZKU3ltU3lqNU0rMWc3NHFLWDF2RDJUTUgrWUpOTWtpb2lmZkdmZWFDN2RONDMwblU1WTRvM1pKSHprUHNGMjhha0N5TElvWkdEQTlDRFhtK0c0RWI1RXBVK0lxenVCZUpSTmJ6UjMxNkFzU2hZMU9mblFXRWE1T2F5a2lTSXJvUVZZQWdqdnJWK2xBbmtPMUx1REhlWGlPK0xPZVJJQWlwL3hESnBCSjBwWndSLzFqMUxiZnN4LytRb0VNOXkzYXZ2KzBmclhBenUzZlRoUGFxSlgvd0FSN3ZPdVl0b3oxejhxQ0JhKzUvUzhwNytWZnBVWTFqV1UwK0VxcEJtWVlVZUZUVGlDMlJkWWxBSFJGN3ZLcWcxNlpwTlRteWM0WWdlVkFpbnU1WjVHZVNRbGoxcmdKQ0QxM3BWWTZaUGZ2N0lLb09yR24rMzRidDBBN1RMSHpvSStsMFZYQlk4Z09TdFNmVGVLMnNiVTI1Z1dhMUE1bFZrQjVUNDBvVGh1eGRkNCt2aFcwM0NUVzFsTE5iUHpFRG1LTjRlRlp5eTlYYncrTDhtVjN4RERmVHlhbmMrc0ZFUlQ5MVJzQU8rbjIwamtFMGJYSEswSXh6S2k0SkhobnVxTHh5eUpjTUhYbHdTQ25jS21kdUJJcU1DTUVDdE9WNHZCMzFLZlJwOU1TTFM5TW10YnpJTHl5ejlvcFh2SExVdjBkSm45Q0dzSklVWnpPNEhLdktNYzBkUVJVd3dxZjJRNWZRcHJCSC9mc2Y4QTF4MFJWODJuOGlXMGpTeFFoSEdXZDlzSEdOeG1sQ3VPYmw1d1dVbko1ZWxLTlRUdHREbG54Z1JjcmJlUnh2U09FYy8zUWNBS1RnYkRPOUF0bmlnbGpMM0lrWlkvYlFJMk10NW51RlNyU3RZMUMzNGFnc3JCa3RtZWN6Q1NSTXF1RGpCSjNPZHNZMjYxcm8wT25hVGJSNmpxTUNYRFNZN08xSzh3T1AyaU84Ky9hcE54WGJhWHJsdnA1dGRTZ3RKb01Sc2dRcUZYT2NBQWJZOEtDVGFSTmZYSEFLYWhleE9OUWUzOXVNTmxjZzR5ZzdnUnZTVGpEU1UxT1FhZkVwU05jWjVDUUZCVTlRTzQ3L2hXcWNZNlRvOXREcGNWM0JJcVFCRkRCdGdQSUNtdldPSnJTNzdTUzF2U0hsVEplRkNyTmdiWlBkamY1MERiNk9yQ2JTK0lMcEdFZmFQRTZHRG13NFFPQ0dJNllQejM2VWwxeVdlN25sdG9OUG1rY2RvZ1ZjRGJmNmJVcTRIbnM5SnZudjcrK2lUMWlKb2l4SkxoMndjSGJ4Rk9TVGk5bXVvTk9qVml4ZkxKdThvemduSnh0M1lIa2FDdlhzN2JTOWNnVnJVM1YrRVBOSVAxTUFLQTR3UjdUZWZRZWRTMkd3VFZiTjlKRVUwYzE0V2o3Y3I3SUJJSU9ldUFQS25XeTRYMUxWTGp0Z3FReE1uTDJqbmJ3SXgzOUtlK0lORy9SSERkOWUyMTFLdHhCYnM2ZGtpb2VZRGJCRzQrdEJIcmIwTTI2eHFyNnBLYzlTSTg5L2NQblNEMHY2ZEhwZkJ2RCttMjVZeFcxeDJLRnVwQ3hFRE5NY043ZlJjczh1cDZqTTdMMG52WkdBK0dhZC9TZ3hsOUgzRERzU3hhUlNTU1NUOWw0OWFDQjJkL3BiK2l5LzBpNGRVMU9DY01pSDd6NWNFRmZoa2ZDbUtIVFk1TEtKMUpWbVVIeXB5MUtPSDlEdnlBaHlZeWM1eDFydHA5dVRZUW5HM0wzRHpvR1gxZTZqUXJnT3ZpSzB1VUJzOEdUN1ZqN1VaVWdyanZ6ME5XR25EVWMyak5jS3dFZ09mZUtoK3ByYnZadUJNbk1xY3d3TzRIZmVnNThNUnc1djhBdFdDLzdNZVRQZWVaYTIxYUlKWmlSVjJMNDYxdzBPNGhFVnlHbTVIYkM5TzcvUXBicTZ3TG9pTjJ2TS9iYmtIMmNZUGRqcjhhQnZuTnBjTmJlb3dTeHVVV04wYVR0REpKbnF1d3dQTGYzME9XdHlWbFVxd09HQkdDcEhpS0lqQkN0c3lTOGtvWVNsbEcrT3V4UFErRk9Fa1A2VXRaUFYrU1ptT1pKTWI4eDhjNzR4MU5CWm5vNTF1M2l0SWJHNHVJa2VNaDRPWTRPQ1NTdWZ4SHZOU3ZqZlU3SzN0YkxWWkFYZ0JNSkNZNXNuQkhYdTJhb2J3N2NhRmJXZHFzZWl5WFZ6Z0xKTk9WU05pTy9PYzRIdTN3S2xFV3JXdXN2ZDJOeHBObzhjWjVvdzZDUUU0MjNQdk9OdkhwUU1XaThjNkxOckZsWkxhWFlra21TTkNRbUF4SUF6djUxYTlSdlRZZEFUczQ0dExzNHJtSnRpYlpBU2ViQUtuSGppcEpRRkZGRkEwNnYrdGlIZHluNjAxbjQwNmF4K3RpL3dBSit0Tlo2VUdqbkJxck9MWTdqV1pidWRGa2tpajJSYzdJTmgrUFdyUWx4eU5ud3FOYWhESEZvVjAwYWNvZVBKK1lvS1B1OU5samNGbEk4YVF2QVEyTUdwbGZoUk1SanJUUFBHdk1kaG1nYUxkNWJhWkpFWW80NkVWWmtFUUdueFM5b09ZZ2JaeWZuVUVhMzdRcXdYWlR1ZTRWTE5KbmFhd1JTMmV6OW5HVGlwZStIWEgxbU51U3dPSE0vb1pQOHgvclRpNDg2YnVIQi9VeWY0Mit0T0xnRUhiOGFya1pkZlhtMHFVRFlCbE9mY3dxVWNONDlZaHpuUGEveXFOYStCK2hybnlYUHlxUjhOTVBXNFFSakQ1SG50UVBkL2oxdVhQWGI2VWthbGQvL2JKUGg5S1JtZzVucjVWRGVNb28zRWJsY3VycnY4RFV5WVZYL0hGM0phSzZrQWt5S3did0hLMjFCRk5RUlRHQVI1Vkg3cTNqTzRYcFdialdwWGN4dEltT25URkk1OVFJSURZMzZlWW9OVGJxVklWY2swODZIQjZuZGxSSm5uVGRmQTB6UVhoNXhJRndvNkhQZlRoWVR5eWFwRGdFZzdkZWdyUDExL1dZWGM1cTc3TCt3VzMrVXYwRmRHclN5SDlYMjMrVXYwRmRXclRrVFA1VXI0TDI0bjFJZDNZS2Z4RkpaQUFDS1hjSVFzbkUxN0pqMlh0aGcvOEFFS0IzdnJEdE9hV0pkeDFVZC9uVE0wWEtjZC9oVWxzN3VDOWphUzNjTUF4VStJTk1la290M2RYbmFuT1B1K1dTYUN1ZU1iZ1dsMWV6bmJzNFZJK1ZWQlpXajZ2cWJBa2hjODhqZkgrZFc1NlNvMVJ0VFJ0MkVDNDkrQlZlOE1RRkxPYVlETE8rQWZJZjZOQTdKSEZieGlLSlFxcjB4UVh5TnF5M0tvM085Y3k0QjJvZjZMYlpuN1JNYmJqZndwN2pua3VWVlpRdlVqUFhKcU9QcTY2ZEFVbWhQaXB5Q0NmRVZ6c3VKQUpFTEFoQWVwRlluN1hsNk05K1BIMWw3N2FjVGFGNnZJYnVKUFpjKzFpdGRLY3BHSTJPZVhkVFU0U08zMXpSeWdiWmw2K0JxTFh1aTNXblhNbG82OW5kUnR5RlQ0N1lQaGl0dk9VRFpzL09yQzBrYy9vYzFVWTVzelB0L3dBVWRRRThLY1gyMkd1TGJUeVd3QW8xQ0htT1NBTnViekZXTkJwZDlwZm9oMVcxdm9WaXVESVg1QklzZ3dXajcxSkhjYUNDUThoaW10NUVVOXRIZ2dBTnZqWUg2MGh0bFpKWmJkWWdvZFZEWklQVHd4N3V0S1lvcFNRdlo4MlJoZVhiRktMZlREYXBKUE93UjJURVNuUHROM1o4Z042QlhFNnJhTERkU2lPT004OGJPY2V6akpBOXczK0hqUzVicTI5Wm41V0gzeWMrTlIyU1AxaG1rdXVXZDJVcG45MWNZd005T3A2VkdwNzIrc0x5ZFlIVjRneDVlY2tIRkJLTlhlMmFhV1FaREJBK1Y3eG5jZktucUdkSklVYUloazVkNUNOaC93QSt0UXF3bU4xY29ibzg1WkdCQzlDUVFjVktrdlJ5aFVqUGdpS05nS0haVjJaRml4bTlsUk1DR0M1TGUyTno4S2VlSE5YV0RYSkNxS3dFTGN1VHQxRlJLNTFHVW9Va2JCOEFlbmlLN2FCTDJ1cTRQc2pzempiT2VtMVNiMjY1K3NrazdYVm8yb1BmQThpS3FxTmdvd0JUaHExZ2RTMGlhejluTXE4cExaeCtGTlhDL0l0bmtZQ2c0eWNDbjJXN2lqQUJkYzkyOVZ5VmpjZWk3VlpKUzYzMXJnbmNIbUpIdXlLUitsaXlleDRMNGZzbllNMEUzWnN3NkVpT3JNdTlVYUI0WUlpc2x4T3hXTmU0WTZzZklWWDNwa0RmMGQwcnRNT3d1bTVpQmpKN005MUJVOTR4ZlRtRFl4eXIwOGpVaTRYc2x1dE9qT2RsY2pyVVlaSkpyY3hSUnU3RWJLb3ozMUwrRjNGbnBCN1pzRVNPTUFGaDNkNDJvSmE1aGcwL2tZQUtWNUJzT3ZLYXFiVjQ0a3RabDdVb3doYktqSHRFNHF6N2kxbXV0TU53dk1zQ0ZaR2RsSUFVRGMvalZjYXZicEJGY3JMS3F5c3JEbEQrN0cxQWg0U3RvcGt2ekpHckZJd1Z5T2gzNlVwMTdtT2xxZ2ZtVHRWUElFRzNYSnoxUGZTZmhrekpZNm9ZT1R0REV2THpianZwTFBOcUNNVGRQRzhhN3NzYTlQT2l5YjRqakpwZ3VvcEpvcmh1YU1LRVJrKzhNZmhVaDRldHJTMnNwNUppVnlWT1hrd1cyNkZSMUh3cHIwL1ViWjVaVVNUSE5qT1RzY2Z1K1hTazZMS2w3Y3JMTUFXWUVNQjFIbDlLazIzNVBYaVluKzcxRlhpTU5zeXdGYzRrQTVXd1Q1ZFIxMnBIYWFyYzJxUlNpK20zTEtGU1U1akp3Q1YzMlBUZWtrYUpFSGFYTEJ6eS9mM0FIdTdxU3RhTUovc3lBR0dNL21hcm1tdkRXc1hNdkVHblF5WGJ1R3ZvbHl6RTVITnY4TW41bXZRWjYxNWY0V0NyeFhvS0F2bjF1RTRKKzk3WTM5MWVvRDFOQVVVVVVEVHJINjJML0NmclRVVFRyckg2MkwvQ2ZyVFV3eFFJdFJXV1N4bVdFa1NFYllHU2ZLcTc0azFTOEdreWhZMzVPendER2RodjMxWnJEUHhxQWNTMnl0cHQ3bHlpaFNjZkhwUVZhbDFjM0pmTE1lWEdTYVF5WGtwa0lHZWJwaW5xMENSMnM3a0FLMlZYSXdXSGpUVkhDcjNaYmZzd2NsZ003K0ZTM1RXR0Z6eW1NS0xlNW1paENsWFZuR2QraEhqVWk0YVNUMU9SMlBzRnVWYy9qVWQ1MWtrWmdOaWRzOXdxYldGdUxXeWloR2RodjcrcHBQOEFMWGt2T3BlSW5YRG4vd0FtVC9NZjYwNFBta0hEZy9xWlA4eC9yVGk0OHFybVFYbHVsMWJ5UVNaNUpGNVRqclNqZzcxdUhXT3d1NVZkUXk5azRHT2JZN2Urc1NZQXllZ3Jod2FicTkxNkcrbUNwQTI4VVliUEtOOEgzbWdtZCtNM2tudytsSXp2UzIrL3RrbncrbEltb09iYi9Pb1R4OUR6MjFzd3dDWDVTRDNqQnFiRVZFZU9vODZaYnlmdXpZUHV3YUNwRnRnTlV3UXJ1UGE2REFIaWFiZFVRUGVNVUdRVGdBZDFQZlp2RzA3ckh6RWtndG1tc3hHTjJubHljYkR2elV0MDZlUEQzeTE4Y1l3VUhZWktxUHZBNy9LbjdoNjE1cDViazlFWGtYMzB3UjU2NzVZbXBadzloZE9Za2pkenRTTTU1YnEyckVmMWZiZjVTZlFWMGF1ZGtmNnZ0dW42cGZvSzZ0VlpKMy9HbmJoVEg2VW1HUm5zZkgrOEthM0hmU3JoWUgrbHN1d1AreEhIL3dDNHRBeTIxek5ZM2tra0RsVHp0MzdIZXBEdzY2OGx3NTZ1eWo2bW9xazhVOGtqd3lwSXZPd0pRNTN5ZHFsR2dxRnRGa0IzTWh5UElEL25RVnA2VVU3VFVyeU1kOGEvSDJhcjIwdkd0dElpU0llMHpOMDk5V1Z4MnF6Y1N6Um43cGlYNlZBYm5UUFUxNVk4bFFTVkI4eFFORFg5ekhMOW8yYW1PaWFXZFNzM25La3FxOVBNOUtoaVdVdDFlckh1Y3RqSGNCVnRhRUlyUFRqQU1EbTJPS3psZmtlandZUzMyejZpcGJ3eUM1ZFhMc3FzY2MxU1BocVMwbWplM25UbjV3Unk4dmwxcDkxL2htMHVoMnNXRWw4UWRqVWR0Yks0MDZiazVjTWYybE5XVFRqbGx1N1NEaHZPbjMwbHNIWm9UbkN0M1ZOdlNQcHhoNGd0YnIyUkRxRnFGWjhmZGVNREh6QnFJNkxhWVl1NCswTzVKcTIrTjlPRjVZNlFlVUVSdVEyZTVTZ3lmd3FzdlBsdGJTcnhIUGJ5TXhJa1RjbnBsaFZvOENHTnZRdnFKbHlFOWFrSjVtNXUrUHZxRGFiRTF4eGs1a1BNUVVCSTc4SFkvR3B6d0RDMDNvWTFDTlRrdGR5QUVqempvR2g3cUlqRnRiRUgrL2tmZ0tqMnFQZFBlOW8wemN5a01DeE9QRHArRlNkZEtuNWo3Y1lIUW5QMHBCcVdnWEZ5ckxFRVk0M3pKZ252L2xRSWJDZEpRVmZsRGpmQk5NdXFXS1NyZHlTRlJ5Uyt3UDJqdjlQR25XWFNOUnNFOVlrV0lGUjFFZ3lQY08rbXFTVVNRM0FtTE5MMjR5NU81SlBTZ1RjeTJuWUFFdmx1VlNPbzV1LzhLMmdrbVVkcDJzMkZ4N1N2ME5Kcmt5SzVTS1BNdk1BaTQ2R2xjeFJVU0ZEbmxQTWR2R3MyL0hieDRjWE84YUtrbGFaUTdrbGlNYm1uamhzRWFxMkIxUWsvTVV4VzJleVZSNTcxSXVHVUg2U1k5QUl5YzU2N2l0T1Z1N3RZZHZxM3FrSUdTRlU3S1A1MXRIeEhidEFWTnZJOHhQMysxMjM4c1V4em4yU0NSanZ6dlNOVzVFWE9TT3V3eFJEN2U2bk5jM1ZyYzI4aXBjMno5cEVYUHNFOTRiRytEU24wZ2FsYXg4UGFMZmFwWXJjcTgzTThLUHRrcHZocWpzWE14VnM0SG4xcHk5SmFrY0dhQ3VkaElBYzkvd0JuUVFMVjlUMGk4UmpZMlUxdWtnT0FoQVpSNy84QWx2Uy9obWZrNFpXSU4rc3VabEJIVFpZelVYV1BKQXdRRDMrNnBIcDFyY3cyTnJieXlRV3FMTEk2dUY1bU9WWEpLbllqQThxQzRZTGVPNTRXU055TVBaWXg0K3ptcUcxYUx0M2FTYWFOVUtNVThTVGpwNWJWUGJhVzVsdHBZUk04aXhXdk1qdU1rWnlENWJrZUhTb0hKcDhqS1RKMmFzUU44N2swQ1hRWXpiMjJvZGxseWljcjdiRTc5UERGSlpyZWRyUnBwa051amphVTViT05zWUc1cCswcXdGckhER3JjL3JqQldJSFFjckhLL0d0TDdUNTdpWCswQ1FnWUhOMDIyK2xadDUwN1lZK3VQdjhBOFJpMGpqZ1o0b29tWWN4ekk0Qlp2Y2U0SHdGVFBoL2hHUGlwYmlkTHRyVXdGVXcwZWViSXpYSFQ5RGpCWjdpYm1ibTJFWitwcFRkTmM2ZHlKWVQzRVVUdVRJeVRGU2R0aHQ4NjA0bjVmUTR0eEd6dnJCU01kQUlUOGUrdVRlalcxdDlTdElCUExNMTB4aURsVGhRQm5tWWRNNUk3Nmo3YXpxRGpzenFWNGNlTTc0K3RkN1c5dllBWnZYYmxXeDkvdFd5UGQ0ZDlCTXJMMGFwcEd0YWZlUjNTVFNSM0ViSENsUnlnNXhqSnEwcW9MU05XdnB1SjlMRWw3ZFNLMTdDQ3BtWnR1WWRkK2xYNmV0QVVVVVVEVHE0KzJpL3duNjAxdDFOT21yL3JvdjhBQ2ZyVFBQTEhDcFp6amFnRHNEVUs0dWh4WWFpdlFOSGxjZjY4YTE0cTQ4WFNVRU5uR2ozTDlPWW5Dang4NmJmV2RRMWJnNXRUdnBBelRoeWdWUW9WUVFQcUNhQ0VYRnU3V3lvektNZ2ROc1UwWENQQ0JFR1hCd1RnWUk2N1ZLSGJzYmRwR0h0Z1pUSS8xbW94SnpHVjNicXh6V2U3dzd6K1BEYzdyTWVBeTVPQVNLblNYTUw3SktyZjhWUURPV0E3cTAxSkdVeFNnZTBSeWsxcHdYeHcyNE9pcHY4QTlvMzFwelk3bndxcnVDYjY4azBkVWptYjJISU8vanZVMWkxQzVRRHR2YVhvY2pjVUR1dzV0cTA0Q2NGTEVlQUkvRWl0SVprbTVYUTdWeDlIczNNYk5jN0NXUmZreG9KdGZIL2JaUGVQcFNRMHZ1SURMZXluY0tDTi9nS2E5U25GcWpjdEFrdnRTdHJDSjVKNU1LaWxteDRDcXgxbmpkdUk1RXNMUzA3S0lNWkRJN1pibEFJNmQzV3QrT3RVWVdKaERlMU9lWFBsMzFIdUdyVlRhWHVvTUR6UnNzU2p1T1FTZmo3TkIyRVpkWFhHZmRUQnFNaGE0TVNoVlJHSUFVWUJxVVRzbHBGSVFEMnBQTHlrZEI0Kzd6cU56NW5sSlVFNDhxejNYZkwrUENZenVrR1FxN1YyRTg4ZG5JWXBXUXJ2N0pyVDFhUjVNY3BIODZkLzBTMFZvNnY5NWtMSDVWcHdPL0MzR09wbVdPMG1uYVVjbnNjeDZZSFNwOWI2MUl3SGFwdGp1cW5PSDNGdHJkbXo3QVNCVzl4MnE0b0xSSkdaQjk1ZW5uUU9FZHdrNHloelR0d3Qvd0JaV2J1OVZQOEEvSXRRdUdkNEptR2NGV3dSVXg0UGxFMnRNNFAvQU5NZTcrK3RCQ05FMCtUUzdKNEplWHRPMmtadVh6WTFPZEt4SHA4RGQ1VmlmblVQdjc1TFIzWmxKek55NEhpVGlwWlpjeTZkSC9rRGJ6b0s5NHJrRW5FOHpaNkluMHFOWDR5ZHFmT0kyenhEYys1ZnBUVEtuTkltMmNrREhqVHBaTjNSdnRtaDArS1NhUU4ycmRHQTZEd3J0WjYxY3JhdTlxcXRJU0FzYkhsMm8xV1pJNHhBcWdqcUY4S1k0ZzhWMHJjMkIxNjlLeGp6ZHZSNXNyaEo0cGVrdnY4QVY1NTlOdHB1d2FLUU9WbFRQZGl0YkIxdmd2TVBiQnJsQmR6WEZ1ZTFaSkF1d0FyYUdhQzJaWjBYa2tEcUNtZXU5YmVaSWJlTHNtSGtLdGZpcUs2ZlJJbXRRR1pRQVJueEFIODZxNzJUR3NtZW83cXVLZTU3RFNubTVBNnhRaCtYdkpBRkJTeWNNM1dsY2ZHeldPUzRsaHNvSG1rUmRpeDVtUHlHQjhLZGVCN2x0SjlDdXBYSURGbzdxUmh5NVU3bU1menFSM3VwM1YzcU1sekZQTkFIeDdFY2h3TURGWjRpZVc0OUYrcm1WeTduQXkzK05LQ3RocitvYzdNc2l1dVRndW1lK3UwWEUyb0dWVktRRlNSemZaNHorTk1mT1c1Y1pCNVJuUGpXd2tBWUFqY0E5UEdna3R5V3VZNU9ac3VWYkF4MDJxRVNaamU2aW5XWExFaENpNUtzRGtaOTFUTExOR1cyeHlnK09ENFZIWms3YlVKakpua0VoTEVEenBicnRjY2ZhNmN3SGtUMWh4SGtjcDNYcWZIeU8xSjFzNDJZQTdIeHBYS1VlUUpFQ1VRWUI4YTVlSU9jMW1UNjYrVy8xblRlS0JJMXh6WndjbW43aDFrL1NUYjQreGI2aW1PTndVTzJNZUZPbWc1L1NMTGpPWWllbm1LMDRwUGQ5cGNRY3R1c2JOa2ZySEkyNys2dEFKQVBiNVNPbU91YTV1N0kvTHNBZTdPNjFsWlhWVUF3Um53M0ZCM2k1bzhCSTA4eVJuNFV1OUk0RGNGY1A1YkM4NEpQL2wwM3d1Q2dITDdaT2NIK1ZPbnBKVURnelE0eEhMSXhmQ3BHaFppZXo4UHpvS3RnUU5JTTdqOW1uYTNtN0Z3RkJkczVCYnVKMk8xSUxXMTFDV1JtT2wzTUtvTW5uWGZidnBYR1MwcHg3SURic2Vnb0hYU3A1NXI2Zm5seVJDTUJqdGpKNkNtNEdLS01IbTUyQysyN0hHUGRXbk42dmVtV0tSdVFRdXBKNzl0cWo5dHFETXFtNFVjb0d4eWNacVc2aldHSHRsby9UWFhxY1VNY01tU2h5R0kzR050dktteDd1UjMyY2s5ZGp0U1dTN2U1UGFIQXlCc0t4R3h5b09OajNmNjNxU2E3Yjh1VzdxZFJLZExWbmhCSkp5ZHFsbWw4TlFhOVkzSWxuYUlxNmdGUUQzWnFIV045SEJBRkl5M2o0Vk5PR2JxY1dWMUxKYnVzSGFKbHpzdWNiYjFweWJRK2kyS0tVVG05ZVdNbmNORmdIOGFYYWp3anAwdG42dkUxcmJ5TU1Cc01UMytkS2RFblhYZGN2YlNlUTlsYm9yUlcvTmdNRG5tWStQZDdxa0Z2cEVOdEt4TWs5d3p0a0xJMlF2dUhRVUZlNlR3T2x0cmxuY0RVMlpvTGxHS0MzSTV1VmdjWnowODZ0M3ZwTGJQaHdpUkJGT2Q4WVB1cFZRRkZGRkEzYW9BQXJrYmhTS2dlczNiaGl2TjdxbXV1ekNHTmM1eHlNZmxVQTF3TkhwazF5Y2V4SG5meDVjMEZROFFYUnVkWnVYVTdLZVZmaFZxM1ZpbHB3cEhwOFlWVEhhWUNIdUlPVDhTRFZWNk5aSFY5ZnRMVWdudDVSemVRemsvaFZ2NnV2cmRzWi9hV0x0RkxjdlhCVUEvSDJhTExxN1ZscTF3NmZZcjl4QjdKRk16UU04WVlZREh4TldmcUhCRnZjTVRGUEtoWE9jNHdmd3BKYWVqMHZNclRUc2tYTHVWSUpIbDBxU2FYUE81M2FCYWJwSnVadmIrNk4ySXJPdldhcnBrY3FBRERuNWRLdFN4NFNzQWhFVXM0UUl6ODJWeTJQaFRQcUhDVUUzRFhPc3N4SlNVNE9NWkI5MVZsR3ZSeEptYTh0aWZ2UmM2RHpCMy9BQXF4TG1JVGFQTGNSRDJvOEZzZVhmVlJjUFhMNlZybGxNakVCWmdHOXhPRFZ4c3kyTjZIVVp0TGs4a3Fub3BiYlB1M29HbTB1bWhkWkFUZ2taQXBad1RPTERYckxUcGM5cEpjU09oQTJaV3lSaitkTXR3aHRMNlcxeWZzNU9VZTdiODZjTkM3U2JqRGgyUmQxaHVtVmg0QmtQNVVGczNzcXhMbnY2L2hVVzFoak5KeUFaRElyWjk3RUQ2VTk2NjdMQ1dUN3kvekZNY014bGthVlJrQlZ4bm9QWjJ6N2lTYUNuT09uL3JXSzJCejJhNVBodjhBKzFQUEQxb2c0THQxY0FOTmZkcWMvdEFLeTFGK0paRGVjVFhmWjViTW5ab0QxMjIvR3JWdE5FdHA3VFM3VTg4Y0VMbFBZeG5iYnc4elVzMjFqbDYzYUR6ODEvQUdjRG1YS0FqdnhUSzJtM0NzUUV5ZkVWWXk4SzJ5WHQ5YkxOTUdqSmRlbmNkeDA4S1ZhYnduWTNGeDJuckU1aVplYkdSN08zdXBKcUpsbGNydXEvdGROVzJZU1NnR1FkRkcrUGZTbTRRaWFaY2RJZnFhbXR2d2hhU3Vaak5PVWxsRWNlQ09nNm5wV3ljSjJVK3JYeUdhNTVVangrejQrNnFpbmIrMk5ocVJBR0NPVng4Z2F0elRMc3phUlk2ckYxYU1DUWZoVmVjYVFpUFZWa2pCNUFnUUU5K052NVZKT0JOUUV1aFRXcmtuc1d4azlBRFFQR3RLa2Q0czBXT1NkQXc5L2ZVaDlIa3ZhYXRjZUhZYmZ4aW9qcU0yWUZpWnZhZ2tKSCtFL3dEdFVuOUhEWjFxY2Y4QTZYUC9BSzFvSW5yQkwzcXhnQWdPMGorSTlyQS9ITldFekNKSkY1bCs0dkt1Um5HS3I2NDVaZFR1RGtFOXVzWFR3YkordFQ3VVlZMEU4cklwZENRajQzQW9LcTF1VXZyZHd4UGdOdmRYQVhOc2xxNUxqdFVQTmpJQitGSXRkbVlYRjlNcFlGRjJLOWM5MVFHOHVuYWNlMFN5bmRzOWE1NWMzMWoxZUdYeFkvbCtwTGVHYVM2SlVrazc1OEtRZXJTdktBWlRrbWx1bjNJdXJkSmYyaXVHOTlFMFRCdzNOamV1a21ubXR0NXA2c05GREtNeVM4elk2TmpGYTZqcDcyZXBXa1FrWjBiR1N4enZtbkhTV2Jzd2M4M3g2VTRYVmtaSlV1RHZ5N2dHaUZrRTRXSlVKNkRIU3JkdXBzNkpPQm5sTnYzKzZxV3QzTFNFRVlPZmhWelRXTW1wYUplV1NTdEU4dHFVV1ZlcWtyMStsQkdFUU1lWUhhbFd1cnplalRWVkdNay8vd0IwcWgzNHU0bzBXL2EzdTdtVG1qT0NzZ3lweDc2dHZUTmNtNGs5QzJwM3NrYVJ5Q1JveUU2SGxaTi94b0s1bnlJSStUb3ZOek1XNkFIb0s0eHlySXdZREJCMkpwNHNiUlo0Z1NBeWtuSVllT0tjWTlHdDJJTFJLQU54c0JRY2JXVHRZSXozY3VNVTF6bG9wSnhrY3p5SHAxSS9sVXFpMCtHUG91QmpwamFrc3ZEbHROUEpPWlpnWEpZZ0VZK2xTemJlR2ZwdEZoa0RJMkhjSzJHQ0J0dlVsWGhxMnpneVRLZXU1SDRiVm4ramxwZy9hejQ5NC9LcXdpK01FbmJ3NlU2YUQ3Vit3NWlCMmJkQm53cDBIRGxwalBiem5IZGtiZmhYVzMwbUN3bU1rY2tqRWpCREVZSFR3SGpnVUc1NUE0NWVZZCtjWi8xLzcxb1h5cElVcTIrM1U0LzF2OGE2RUZpQUQ3UGVDRG5yMXJXUU1HSHM1eU01eDhmK1ZCMGljeG5DSGRqZ3VSemY2SFdwaHhISVR3bG96am1VRUxrRWYzTytvY2hVZlpsU001RzJ3UDhBck5TN2laLy9BSVMwUWdrOHdIeDlpZ2lxdXl1R0RrTU9oQjZlNm0rL3NCTXBraEFFZ3lTZ0dGZjNlQit0S1F4OW81RzJPdGI1NXdWQk80NjBFTXZKcFlPekV2TW1YNUdUdkFJTk1rMG5MQ2tBKzZBQ1NEbk5UL1VkSmcxT01KSjdFaWJDVlJ2N2o1VkZKdUc1TGVReHV6SEIyWlJzdzhSdFVzMjZZNStzc24wMnhIN01ZK2xLSWxQTm5POU8xdHcvSDJhOHp5YzNmdU1DbFEwSzNBL1d5K2VNVlhNeHZLeXBoVFQzb2Q5T3R0TWhua0tGMXloWTRPM2hYR2JTYlpHUldtbEhONWpOS2JXeWl0MUlXU1RsZmNsdCtnOHFCeml1QzA2TVhram1COW1XSitWMXo0RVZZT2o2M3JTd2t6MjBXb1JEN3JSbnNwY1lHQnkvZFBmdmtHcTZ0M0NNQ1FOL0w4S25PZzNiODI4bUF3SVV0K3h0M2U3TkJLZE40ZzAvVUpDcnFiUzVSZ2hodTFLT0dQUUxuWmlmSW1ucW1pM2xqTndTeXhTRm5HTVlQVHY5KzRwM29DaWlpZ2pYRTZzMHlnazhqVzVYSG56alA0RTFCZVA1MHN1R1RFbjNwVGdEZnFlcCtXMVQ3WDVndW9Xc0xxQWp4c1E1N2pucCtGVmg2VTVHUzIwNkJtOXBtTEVlQXdjRDhhQ08rajZ4TW11ZXRuWVFsVUhqek1jZlROV2V0c0gwYS9qUFZHVnZoazFGdlI1WU5IcDl0SXcvWHp0UDA2QlJ5ajhRYW4wVUlQcmNJR2UxalB6RkF4TFAydHJidStlU1pleGNqOWx4dHpEOEtjWGpOdncra1NqTWtqaEZQdnBxczFFMm4zbHN4OXFNOW9uOHhUdnBoOWZ0N1FuY3c3Tjd4MzBHVWo5V3RydEFRUkRiaVBJSHovR215ZjdIaEtOeDFkbUh6TlBWME9UVE5Sa3dSekRxZmVLYU5Wanh3bkFFL1lreWNVRkdhbkMxcnFWeEdkc09TTi9IY2ZXclNqdlRlNkhhTnpEN1dCZVZ6M1BqcDh4dDUxQXVMN1V4WHNOeUJ0TW1DZk5hVWNQMzVPaXZBellDU0hsYlBUdit0QklIdXZXcjJHWnZ2T015ZTlkajlLZmVEZ1R4TFl0dVY3YmJ5Mk5RL1RtOVl1cEMyd1FGdmlldjBxYzhGQUhXYlk0MjdZRWZJMEZnNm5neHpnNzdBZ2VKRy84QUtvN2I0T2t1NFQ3TW9XWWpibUdPbng2ZTRVdTRoMVNPMmtuUUVjeWpIeHdEVFBhWGd1dUZMNGh3STR3NGJHTnRzNDhzRDYwRlA4UHhtOTR2dHBKUGJBbU16ZTRaUDVWZFZuYjluWVdoSTNCN1Q0bXF6OUd0aUxuVWIyWTR5a0t4ai9qTytQbFZ2WEVZalVBREFBMjhxQmsxRnZVK0pVbTZKS01uekRWdFlONnBlWGxvTWUxOXozVm5pR012YTIxeUFlZGNLYTRNL05OYVhpQS9kQWVnZklMWVJtemgvY0djRHVwQllaZTgxTmgzaGdQaFQ1YmxaWm81Vjc5ODB5NlpHUmUzYUh2bGI4YUNxK0xiY1NhZEsrRHp4U0JzL0dtVGcvVVBWZFFudDJZY2swZTQ4eDBxWjY1YkNVWDF2Z0RtRGRmTEpxdE5NZnNOWGpCMjNLbWdtVjVkTTh6eGcrMlFGQjg4N1ZZUG8yQi9UdHp6ZGZWZ1AvV3RWYkxJRTFLM0xIYm1CNjFhWG8wZnRPSUx0dTR3RC84QU5hQ0thUXlYV3QydVJ0UGZGaVBITFkrZ0ZUbldyZ3hhWkt4NjRKTlY3d1BkTmZhL2J0S0FDczAyQVA3cGJCL0NwVnhQZG45RHUyY2N5RTBGT2E5Zjh0dEtBRHpzM0tDUFAvMnFHa2xqbnZOVERVTGVLOHRvd3hWVHo4em52SUdhUUxEWjI0NVlJQVcvZmZjbXBKSTNsbmNwSmZqbHBURzNzV2xMY3A1c2dIdnBjYmd5RUFucFRmZk1pUmNvVWMzZlN6VHJmdDlPUzRSQTU1aXJEd3hWWU9PbWFtMXJNVjV0bTYxTWwxTlhzaG45M0JIZlVCRVAybzVvZ1BoVXMwVnJVcWl2YklTVGptYndvRnRvMi9NVGtIcFY1NmZkeFFXRFRTTjdLcm5mM2IxVTZQbzZ3cW90b1J5amZyN1JyaHJQR00zNlA5VWdmQllZT080ZUZCSE9JMXRkVW11V2tRTXJTc3lud0dTYW1mQlZnMHZvUDFXMHQrZGo2ek1SanJzVVkvU3F3djcxbGp4a2ttcmo5RkE1L1JqY3F4MmU3bUJKOHdnb0lwcEVISnBzZHhNdkswamZaTGsrMHAzelRzcEFPdzdoanpOTXFTdW1vaXprbGFWSUNWUUU3QUtlNm44S3JCbXhoZXVlN0ZCajdveGdrMWhaY3Z5WUpBSFVHc3lSTUVMWndjWjVTSzU0T0RzYytZL25RZCtkdWlIYjUxZ0QyY1lQeEc5Y1VmQTJQWDRWMFZpd3pnc2UvQm9BbkdRVHk0emcvd0Fxd1RoQnZuSTZucjhxQ2ZjTWJjdGFBZ0U1eG5CNjBHZzVNOHpBZ1kvMFBsWE1vU2Z2Z0hicjE4ZnkrVmRPWDJsQUdXeWQ2NTh3NmtIM1lvTXZDYzh5akdNZkQ0Vkx1SUZZY0k2R0dQUHlxdk50OTc3T29oejl4YmJyNFZLZUo3NFdYQy9Ebk0vS2t6Q01oaDErei9DZ2l1T2JQTmpIY01kYTAvYXh5OHVlZzhhN3pRWTVuQkNnZlBGSitWU1ZJM3gzMEdWbEgzTnhrZUZkU0E4WmprQmRTY2p4WHpGQ0JNNE9DQjF3ZHpXSEFkUjNaeDMwQ0NlM2t0eGtNWGpKMmZvUGNmQ2tyU2tITE5uYW5qbEpVNVhLc044OUNLUlhlbmhVYWEzejJmN1M0eVZ3Ti9oUUpCY2NuS01BSHVyRE9uVWI0cE9NdHNwd001ei9BSzhxMkRjdlRIVE9TZW9IaFFMck8ya25rUVErMFRqWUg0Vk10STB5NGlnTFN6ckdDUUNyYm5IK2pVUXNwdXlRZ0E1eDF6MDM2L2hUc05UbDdQczRwZVZSbGNFOVR0UVdGYVdpSk5iczA2SDJnN0VJUmtnZ2Z6cVFWVk9oYXhkL3BMVG9lZGloa1VFNThXV3JXb0NpaWlnaDNGdDRMZlg5SVJzRlNHSUI4U2NmenF0dlN3Vy9TOWdHT2N3TTJNLzNxdSs2MHV4dmJpRzR1cldPYWFEOVU3amRQZFNMVU9GTkIxYVZKTlEwbTJ1WFJlVldrQkpBem5IV2dpbkIrbW0wMFcwUndjeFc2cjdzKzBmeGFubFhFVnpHY2Jad2FrVWRqYXhJRWpnUlZBQUFBOE5oV0RwOW1UazI2RTBGZGxUWTYyeUhaWE9EN2pTL1N2OEFZNzJXSTU1R0pJUHZxWVRhTnB0eElKSnJLSjNIUmlEbXRocFZnR0RDMGl5Ty9Cb0dQVkkvNmt2UDd3L25UWGNLSDRabUlYT0FHRlRWN08ya2lNVHdveUhxcDZHdVEwcXdGdWJjV2tmWWtZS1lPS0R6MXhkYnROcElsM1BaT0FBTzRZM3FPOE95ci90TnV4KzhPWWVmalhwbWJoSGg2NGlhS2JSN1Y0Mis4cEJ3ZnhwSkY2UGVFSUg1NHVIckZHeGpJVnZ6b0tHMDJabzd1NFFucnR2Vmk4RzVHdFdBQXlETGtuNEdwd3ZBdkNxdVhYUWJNTVRrbmxiODZjTFhRZEtzcFVrdHJDR0owT1ZaUWNqOGFDdGVNN2tyeFJmUUsyQTNKbGZFOG9vVVRXZkMrclFjbzdKckNWMmIvd0M2UVI5S3NlNjRjMGE5dkd2TG5UYmVXNFlnbVJnY2tnWUhmNUN0MzBIU3BMZVdCckNFeFNyeXlJUWNNUEE3MEZXZWlXMFBxdDlkc3YyWmtWUTNqeWcvL3dDaFZnUy9hbGhUcHAyaGFWcE5zMXZwOWhEYlFzM09VakJBSjhldmtLVStwVzJjOWdtYUNMVHhDYTJrdG16bkpLMDBhYUN5U1c3ZFVPd3FmbXd0R2ZtTnVoYnhya21rNmZISTBpV2tTdTNVZ0hlZ2FOTm01VUNNY1kyRkpMUk9UWExsY2RSelZKbDArMFE1VzNRSHJ0UU5QdEJPWmhicDJwR0MzZmlncUhYQ1l0VnVBd081WVZWR3JRdFphdElNRWUyR0ZlcXJqaHpScnFReVQ2YmJ5TzNWbUJ5ZnhwQmM4QThKWGtuYVhIRDlsSS9UTEtmem9QUEY1TVh1N1psQlBNUDVWYXZvbW1WOVp1VkxBeUMzR1I0ZTJ0VFJlQk9GVlpHWFFiSUdQN3A1VHQrTkxkTTRjMGJScnVTNzAzVFlMVzRsWGxlU01FRmhuT092aUFhRHo5NlBiaTRYaTJWQ1Y3T0ZMbCttNDNQNTA5Y2RhOURhV3h0WTJWcGlDR1VmczlLdDJ6NEs0YTArNGU0dE5GdElabkJET2luSkI2OS9mWEs1NEI0VHZKV2t1ZEFzcFhZNUxNR0pKK2RCNVplUnpHTW5kcXd1VXl4SFFaK05lb3YrampnMy93QU4ySDhMZm5RZlJ6d2FRUWVITERCNit5MzUwSGtxVm5sYmNlK3BSdzRPejA0RGxQdFpQNDE2Sy82TStDZi9BQXpwL3dEQzM1MHBoNEM0VHQwQ1JhQlpJbzZBSzM1MEhucVMzOXJPRFdVa2xqR0ZHSzlEbmduaGc5ZERzLzRUK2RZL29Od3YvdUt6L2hQNTBIbnMzRWlqZGpTTjNZKzFrNTg2OUhuZ1RoVnV1ZzJSL3dDRnZ6clU4QThKbnJ3L1pmd3QrZEI1Y3VuYVdjK1cxWG42Tm1OdjZKN2h5TjF2SE8vK0tPcFovd0JIUEIyYy93QkhMRCtGdnpwM3M5QzB1dzAxdE90TENHR3paaXpRb0R5a25HL1h5SHlvS1UxRlJhY1lYS3YvQU5wS1dCQTJ3M2hUMUUzTW94MFhZWjZiSEg4cXNxNDRXMEs2bjdlZlNyYVNYQUhPd09jWno0MTBUaDdSNDE1VjA2QUw0WVBqbnhvS3psWXlBbkIySCtzMXdMZFhaV3o0bllrZVlxMDI0ZDBadXVtd0g0SDg2eC9SelJzNS9Sc0djWTZIODZDcWxaems1T0QzNDd2QVYzTGxjOHJ0a2V5RGpiMzFaMzlHOUYvM2JCOGorZEI0YjBVOWROdCttT2gvT2dxNW1IUTVKMjJ6OHEySkM3Z0VuenEwRHc1b3hJSjAyM3lOODRQNTFnY09hTUJnYWJCajNIODZDcjJBeG5CeWZEcFdrbnQ1N2dSdWZDclRIRGVpZ0FEVGJmQTZiSDg2RHczb3BPVHB0djhBSS9uUVZObGlTQzJjSE9NZUZPdnBIQkhBWERSenVycWMvd0RsMVlaNGEwUW5KMHkzejdqK2RkYjdRdEsxS3poczcyd2hudDRmMVViZzRUYkcyL2hRVXpwZXBIVkxOZVlZbGp4ekFEcU9sS0VHSDhqNFZhZHR3Znc3WnNXdHRIdFlpMnhLZzcvalhYK2pHaDR4K2k3Zkh1UDUwRlU1NUdLZ01UMUlIZFc0SktoZ25UcHRqTlduL1JqUS93RGRkdjhBSS9uVzM5RzlHLzNiYi9JL25RVmVvVlBhYjJsR0JnLzY2VmlNeXhvV2tJREJpVlpEMVhQczlmeHEwdjZPYU4vdTIzK1IvT3NIaHpSajEwMjMrUi9PZ3FXNTB0TGxUTGJCSTVXenpSam8zbUQzZTZtWXhNam5uUmdWUHRCdGlNVmVuOUhkSDIvcTIzMjhqK2RhUzhNYUhPL1BMcGRzN1l4a2c1K3RCU3FLcEFCQkk2REI3alhSblorWG1CR0NENCtOWEgvUlBoLy9BSFJhL3dBSi9PZzhKNkFldWtXdnlQNTBGVjZOTXo2NXBpZ3RuMW1NSHcrK0t1MDlhYUllRjlDZ21qbWkwdTNTU05nNk1BY2dqb2V0TzlBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFmLy9aJnF1b3Q7IGFsdD0mcXVvdDtZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBlbWJlZGRlZCBpbWFnZXMsIHNvcnJ5JnF1b3Q7Lz4NCjxoMz5TdHlsZXNoZWV0czo8L2gzPg0KPHA+VGhpcyBtb2R1bGUgYWxzbyB3b3JrcyB3aXRoaW4gc3R5bGVzaGVldHMsIGlmIHVzaW5nIHRoZSB7Y21zX3N0eWxlc2hlZXR9IHRhZyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUuICBCZWNhdXNlIHRoZSBzbWFydHkgc3ludGF4IGlzIHNsaWdodGx5IGRpZmZlcmVudCBpbnNpZGUgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIHlvdSB1dGlsaXplIHRoZSBtb2R1bGUgdXNpbmcgdGhlIFtbIGFuZCBdXSBkZWxpbWl0ZXJzLiAgaS5lOiA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+ZGl2LmhlYWRlciB7IGJhY2tncm91bmQ6IHVybChbW0NHU21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9waWN0dXJlLmpwZyYjMDM5OyBub3RhZz0xXV0pOyB9PC9wPg0KPHA+QmVjYXVzZSBzdHlsZXNoZWV0cyBhcmUgZ2VuZXJhdGVkIG9uIG1vZGlmaWNhdGlvbiBhbmQgc3RvcmVkIGluIHRoZSBmaWxlc3lzdGVtIHRoZXJlIGlzIG5vIHdheSB0byBkZXRlcm1pbmUgZHVyaW5nIHRoZSByZXF1ZXN0IHdoaWNoIGJyb3dzZXIgaXMgcmVxdWVzdGluZyB0aGUgc3R5bGVzaGVldCwgdGhlcmVmb3JlIGVtYmVkZGluZyB3aWxsIGJlIGRvbmUgc3RyaWN0bHkgYmFzZWQgdXBvbiB0aGUgcHJlc2Vuc2Ugb2YgdGhlIG5vZW1iZWQgcGFyYW1ldGVyLiAgSWYgeW91IGhhdmUgY2hvc2VuIHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHlvdXIgc3R5bGVzaGVldHMsIFlvdSBtYXkgbmVlZCB0byBhZGQgYWRkaXRpb25hbCBzdHlsZXNoZWV0IHN1cHBvcnQgZm9yIHRoZSBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcy4gIGkuZTogIElFNi48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eSYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnWiZhdW1sO2hsdCBkaXIgVVJMIG9iZW4gZiZ1dW1sO3IgZGFzIGNhY2hlIFZlcnplaWNobmlzIChfQ0dTbWFydEltYWdlKSc7CiRsYW5nWydpbWFnZV91cmxfcHJlZml4J10gPSAnQmlsZC1VUkwtUHImYXVtbDtmaXgnOwokbGFuZ1snaW5mb19jYWNoZV9hZ2UnXSA9ICdNYXhpbWFsZXMgQWx0ZXIgZWluZXIgRGF0ZWkgKGluIFRhZ2VuKSBiZXZvciBlcyBlbnRmZXJudCB1bmQgbmV1IGVyemV1Z3Qgd2lyZC4gTiZ1dW1sO3R6bGljaCwgd2VubiBkaWUgRWluc3RlbGx1bmdlbiB2ZXImYXVtbDtuZGVydCB3dXJkZW4gb2RlciB1bSBkaWUgR3Imb3VtbDsmc3psaWc7ZSBkZXMgZ2VudXR6dGVuIFNwZWljaGVycGxhdHplcyB6dSBrb250cm9sbGllcmVuLic7CiRsYW5nWydpbmZvX2VtYmVkX21vZGUnXSA9ICdUaGlzIHNlbGVjdGlvbiBkZXRlcm1pbmVzIGhvdyB0aGUge3NtYXJ0aW1nfSB0YWcgd2lsbCBnZW5lcmF0ZSBvdXRwdXQuICBJZiAmcXVvdDtub25lJnF1b3Q7IGlzIHNlbGVjdGVkIG5vIGltYWdlIGVtYmVkZGluZyB3aWxsIGJlIHBlcmZvcm1lZC4gIElmICZxdW90O3NtYXJ0JnF1b3Q7IGlzIHNlbGVjdGVkIHRoZW4gdGhlIHN5c3RlbSB3aWxsIGRlY2lkZSBiYXNlZCBvbiB0aGUgaW1hZ2Ugc2l6ZSwgdHlwZSwgYW5kIHRoZSBicm93c2VyIHRoYXQgaXMgcmVxdWVzdGluZyB0aGUgaW1hZ2UuICBPdGhlciBvcHRpb25zIGluY2x1ZGUgYWx3YXlzIGVtYmVkZGluZyBiYXNlZCBvbiB0aGUgaW1hZ2Ugc2l6ZSwgb3IgdGhlIGltYWdlIHR5cGUuJzsKJGxhbmdbJ2luZm9fZW1iZWRfc2l6ZWxpbWl0J10gPSAnSWYgdGhlIGVtYmVkZGluZyBvcHRpb24gaXMgZGV0ZXJtaWVkIGJ5IHRoZSBpbWFnZSBzaXplLCBzcGVjaWZ5IHRoZSBtYXhpbXVtIHNpemUgKGluIGtpbG9ieXRlcykgZm9yIGltYWdlcyB0byBiZSBlbWJlZGRlZCAoMzIgaXMgcmVjb21tZW5kZWQpLic7CiRsYW5nWydpbmZvX2VtYmVkX3R5cGVzJ10gPSAnSWYgdGhlIGVtYmVkZGluZyBvcHRpb24gaXMgZGV0ZXJtaW5lZCBieSB0aGUgaW1hZ2UgdHlwZSwgc3BlY2lmeSB0aGUgZXh0ZW5zaW9ucyBvZiB0aGUgZmlsZXMgdGhhdCBzaG91bGQgYmUgZW1iZWRkZWQgaGVyZSBzZXBhcmF0ZWQgYnkgY29tbWFzLiAgVGhpcyBvcHRpb24gaXMgbm90IGNhc2Ugc2Vuc2l0aXZlJzsKJGxhbmdbJ2luZm9faW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnV2VubiBJaHIgQ0ROIGRpcmVrdCBhdWYgZGFzIENhY2hlIFZlcnplaWNobmlzIHZlcndlaXN0LCBrJm91bWw7bm50ZSBkaWVzZSBPcHRpb24gaGlsZnJlaWNoIHNlaW4uJzsKJGxhbmdbJ2luZm9faW1hZ2VfdXJsX3ByZWZpeCddID0gJ1VSTCBkZXIgQmlsZGVyLiBTdGFuZGFyZG0mYXVtbDsmc3psaWc7aWcgaXN0IGRpZXMgZGllIFVwbG9hZC1VUkwuIFZlcndlbmRlbiBTaWUgZWluIENETiAob2RlciBtZWhyZXJlIERvbWFpbnMsIGRpZSBhdWYgZGFzIHNlbGJlIFZlcnplaWNobmlzIHZlcndlaXNlbikgayZvdW1sO25uZW4gU2llIGhpZXIgZWluIGVpbmUgYW5kZXJlIFVSTCBmZXN0bGVnZW4uJzsKJGxhbmdbJ21heF9jYWNoZV9hZ2UnXSA9ICdNYXhpbWFsZXMgQWx0ZXIgZGVyIERhdGVpZW4gaW0gQ2FjaGUgKFRhZ2UpJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSBzbWFydCBpbWFnZSB0YWcgZ2VuZXJhdGlvbiBtb2R1bGUgZm9yIENNU01TJzsKJGxhbmdbJ21zZ19jYWNoZWNsZWFuZWQnXSA9ICdDYWNoZSBWZXJ6ZWljaG5pcyBnZWxlZXJ0LiAlZCBEYXRlaWVuIGVudGZlcm50Lic7CiRsYW5nWydtc2dfY2FjaGVyZW1vdmVkJ10gPSAnQ2FjaGUgZW50ZmVybnQnOwokbGFuZ1snbXNnX3ByZWZzdXBkYXRlZCddID0gJ0VpbnN0ZWxsdW5nZW4gYWt0dWFsaXNpZXJ0JzsKJGxhbmdbJ25vbmUnXSA9ICdOaWNodHMnOwokbGFuZ1sncGFyYW1fYWx0J10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgYWx0IGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyJzsKJGxhbmdbJ3BhcmFtX2NsYXNzJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIG9uZSBvciBtb3JlIGNsYXNzZXMgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBjbGFzcz0mcXVvdDtmYW5jeWJveCB0aHVtYm5haWwmcXVvdDsnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JsdXInXSA9ICcoYW55dGhpbmcpIFNwZWNpZnkgYW55IHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciB0byBhZGQgYSBibHVyIGZpbHRlciB0byB0aGUgaW1hZ2UnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JyaWdodG5lc3MnXSA9ICcoaW50ZWdlcikgSW5jcmFzZSB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgcHJvY2Vzc2VkIGltYWdlIGJ5IHRoZSBpbnRlZ2VyIHZhbHVlIHNwZWNpZmllZCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29sb3JpemUnXSA9ICcocixnLGJbLGFscGhhXSkgLSBXaWUgZmlsdGVyX2dyZXlzY2FsZSwgamVkb2NoIGsmb3VtbDtubmVuIFNpZSBkaWUgRmFyYmUgdW5kIGRlbiBBbHBoYS1XZXJ0IGJlc3RpbW1lbic7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29udHJhc3QnXSA9ICcoaW50ZWdlcikgVmVyJmF1bWw7bmRlcnQgZGVuIEtvbnN0cmFzdCBkZXMgQmlsZGVzIHVtIGRpZSBhbmdlZ2ViZW5lIEdhbnp6YWhsJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wJ10gPSAnKHBlcmNlbnRbLGhfYWxpZ24sdl9hbGlnbl0pIC0gUGVyZm9ybSBjcm9wcGluZyBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBDcm9wIHBhcmFtZWV0ZXJzIGFyZSBzcGVjaWZpZWQgYXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBwYXJhbWV0ZXJzLiAgVGhlIGZpcnN0IChyZXF1aXJlZCkgdmFsdWUgaXMgYW4gaW50ZWdlciBwZXJjZW50YWdlIG9mIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplLiAgVGhlIG9wdGlvbmFsIHNlY29uZCBhbmQgdGhpcmQgcGFyYW1ldGVycyBhcmUgb25lIG9mIGwsYyxyIChsZWZ0LGNlbnRlcixyaWdodCkgYW5kIHQsYyxiICh0b3AsY2VudGVyLGJvdHRvbSkgc3BlY2lmeWluZyB3aGVyZSB0aGUgbG9jYXRpb24gd2l0aGluIHRoZSBzb3VyY2UgaW1hZ2UgdG8gY3JvcCBmcm9tLiAgaS5lOiBjcm9wPTMzLGIsciB0byBncmFiIGEgY3JvcCBvZiAzMyUgZnJvbSB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSBzb3VyY2UgaW1hZ2UuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lZGdlZGV0ZWN0J10gPSAnKGlyZ2VuZHdhcykgS2FudGVuIGltIEJpbGQgaGVydm9yaGViZW4uJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lbWJvc3MnXSA9ICcoaXJnZW5kd2FzKSBCaWxkIHByJmF1bWw7Z2VuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9ncmF5c2NhbGUnXSA9ICcoYW55dGhpbmcpIEJpbGQgaW4gR3JhdXN0dWZlbiB1bXdhbmRlbG4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX21lYW5yZW1vdmFsJ10gPSAnKGFueXRoaW5nKSBWZXJzdWNodCBlaW5lbiAmcXVvdDtnZXplaWNobmV0JnF1b3Q7LUVmZmVrdCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbmVnYXRlJ10gPSAnKGFueXRoaW5nKSBCaWxkIGlucyBOZWdhdGl2IHVta2VocmVuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9waXhlbGF0ZSddID0gJyhzaXplWyxhZHZhbmNlZF0pIFBpeGVsYXRlIHRoZSBpbWFnZSwgc3BlY2lmeSBhbiBpbnRlZ2VyIHNpemUgYW5kIGFuIG9wdGlvbmFsIGJvb2xlYW4gKGRlZmF1bHQgaXMgZmFsc2UpIHRvIGVuYWJsZSBhZHZhbmNlZCBwaXhlbGF0aW9uJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemUnXSA9ICd0eXBlLG51bWJlclssbnVtYmVyXSAtIFBlcmZvcm0gYSByZXNpemUgb2YgdGhlIHNvdXJjZSBpbWFnZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5wLG51bWJlciAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuPC9saT4NCiAgPGxpPncsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy48L2xpPg0KICA8bGk+aCxudW1iZXIgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIGhlaWdodCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWgsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIGhlaWdodCBvZiA4MCBwaXhlbHMuPC9saT4NCiAgPGxpPmMseCx5IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiByZXNpemU9Yyw1MCw3NSB0byBjcmVhdGUgYSB0aHVtYm5haWwgdGhhdCBpcyA1MHg3NSBwaXhlbHMuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yb3RhdGUnXSA9ICcoYW5nbGUsY29sb3IpIFNwZWNpZnkgdGhlIGludGVnZXIgYW5nbGUgKGNvdW50ZXIgY2xvY2t3aXNlKSB0byByb3RhdGUgdGhlIGltYWdlLCBhbmQgYSBjb2xvciB0byBmaWxsIHRoZSBlbXB0eSBwaXhlbHMgd2l0aC4gIFRoZSBpbWFnZSBpcyByb3RhdGVkIGFib3V0IGl0cyBjZW50ZXIuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl93YXRlcm1hcmsnXSA9ICcoYW55dGhpbmcpIFdhc3NlcnplaWNoZW4gKHdpZSBpbiBkZW4gRWluc3RlbGx1bmdlbiB2b24gQ0dFeHRlbnNpb25zIGRlZmluaWVydCkgYXVmIGRhcyBCaWxkIGFud2VuZGVuJzsKJGxhbmdbJ3BhcmFtX2hlaWdodCddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCBhdHRyaWJ1dGUuICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgJnF1b3Q7bm9hdXRvJnF1b3Q7IHBhcmFtZXRlcic7CiRsYW5nWydwYXJhbV9ub2F1dG8nXSA9ICdBdHRyaWJ1dGUgZiZ1dW1sO3IgZGFzIGltZy1UYWcgbmljaHQgYXV0b21hdGlzY2ggYmVyZWNobmV0LiBEaWVzIGsmb3VtbDtubnRlIGRhenUgZiZ1dW1sO2hyZW4sIGRhc3MgSWhyZSBTZWl0ZSBuaWNodCBtZWhyIHZhbGlkaWVydCwgd2VubiB2ZXJwZmxpY2h0ZW5kZSBBdHRyaWJ1dGUgKHdpZHRoLCBoZWlnaHQsIGFsdCkgbmljaHQgYW5nZWdlYmVuIHNpbmQuJzsKJGxhbmdbJ3BhcmFtX25vY2FjaGUnXSA9ICdEbyBub3QgYWxsb3cgdGhlIHJlc2l6ZWQgaW1hZ2UgdG8gY2FjaGUgaW4gdGhlIGJyb3dzZXIgKHVzZWZ1bCBmb3IgZGV2ZWxvcG1lbnQgcHVycG9zZXMpIHRoaXMgYWRkcyBhIHVuaXF1ZSBudW1iZXIgYXMgYSBwYXJhbWV0ZXIgdG8gdGhlIGltYWdlIHdoaWNoIHdpbGwgZm9yY2UgdGhlIGJyb3dzZXIgbm90IHRvIGNhY2hlIHRoZSBpbWFnZS4nOwokbGFuZ1sncGFyYW1fbm9lbWJlZCddID0gJ0ZvcmNlIHRoZSBpbWFnZSB0byBub3QgZW1iZWQuICBSZWdhcmRsZXNzIG9mIHNldHRpbmdzIGluIHRoZSBhZG1pbiBwYW5lbCwgdGhlIFVSTCBhbmQgdGFnIGdlbmVyYXRlZCB3aWxsIGJlIHRvIGEgZmlsZSBvbiB0aGUgc2VydmVyLiAgTm8gZW1iZWRkaW5nIHdpbGwgYmUgcGVyZm9ybWVkJzsKJGxhbmdbJ3BhcmFtX25vdGFnJ10gPSAnS2VpbiBpbWctVGFnIGF1c2dlYmVuLCBudXIgZGllIFVSTCB6dW0gQmlsZC4gS2VpbiBFZmZla3QsIHdlbm4gQ0dTbWFydEltYWdlcyBpbiBlaW5lbSBTdHlsZXNoZWV0IHZlcndlbmRldCB3aXJkLic7CiRsYW5nWydwYXJhbV9vdmVyd3JpdGUnXSA9ICdDYWNoZSBkZWFrdGl2aWVyZW4gdW5kIG5ldS1iZXJlY2huZW4gYWxsZXIgRmlsdGVyIGVyendpbmdlbic7CiRsYW5nWydwYXJhbV9xdWFsaXR5J10gPSAnUXVhbGl0JmF1bWw7dCBkZXMgQmlsZGVzLiBFaW4gV2VydCB6d2lzY2hlbiAwIHVuZCAxMDAuJzsKJGxhbmdbJ3BhcmFtX3NyYyddID0gJ1NwZWNpZnkgdGhlIHNvdXJjZSBmb3IgdGhlIGltYWdlIHByb2Nlc3NpbmcgKGlmIGFueSkgb3IgdGhlIGdlbmVyYXRlZCBpbWcgdGFnLiAgTm90ZSwgdGhpcyBwYXJhbWV0ZXIgaXMgZmxleGlibGUsIGFuZCB0aGUgbW9kdWxlIHdpbGwgYXR0ZW1wdCBtYW55IG1ldGhvZHMgdG8gZmluZCB0aGUgc291cmNlIGltYWdlIGZpbGUgb24gdGhlIHdlYiBzZXJ2ZXIgYXMgZm9sbG93czoNCjx1bD4NCiAgPGxpPkZpcnN0IGxvb2sgdG8gc2VlIGlmIHRoZSBzcGVjaWZpZWQgc3JjIHZhbHVlIGV4aXN0cyBhcyBhIGZpbGUgb24gdGhlIGZpbGVzeXN0ZW0uPC9saT4NCiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgdXBsb2Fkc191cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSByb290X3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc3R5bGUnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgYWxsb3dzIHNwZWNpZnlpbmcgYWx0ZXJuYXRlIHN0eWxlcyBmb3IgdGhlIHRhZy4gIGkuZTogc3R5bGU9JnF1b3Q7Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7JnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX3RpdGxlJ10gPSAnVGl0ZWwtQXR0cmlidXQgZiZ1dW1sO3IgZGFzIGltZy1UYWcgKG9wdGlvbmFsKS4gWi5Cc3AuOiB0aXRsZT0mcXVvdDtEaWVzIGlzdCBkZXIgVG9vbHRpcCZxdW90Oyc7CiRsYW5nWydwYXJhbV93aWR0aCddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIHdpZHRoIGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWwgaW5zdGFsbGllcnQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0FsbGUgRGF0ZW4gZGllc2VzIE1vZHVscyB3dXJkZW4gZW50ZmVybnQuJzsKJGxhbmdbJ3Byb21wdF9lbWJlZF9zaXplbGltaXQnXSA9ICdCYXNpZXJlbmQgYXVmIEJpbGRnciZvdW1sOyZzemxpZztlJzsKJGxhbmdbJ3Byb21wdF9lbWJlZF9zbWFydGxpbWl0ZWQnXSA9ICdTbWFydC1Nb2R1cywgYWJlciBCaWxkZ3Imb3VtbDsmc3psaWc7ZSBiZXNjaHImYXVtbDtua2VuJzsKJGxhbmdbJ3Byb21wdF9lbWJlZF90eXBlJ10gPSAnQmlsZC1UeXAgQmFzaWVyZW5kJzsKJGxhbmdbJ3Jlc2l6aW5nJ10gPSAnR3Imb3VtbDsmc3psaWc7ZW4mYXVtbDtuZGVydW5nJzsKJGxhbmdbJ3NtYXJ0J10gPSAnU21hcnQnOwokbGFuZ1snc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjkwOTc1OTQyLjEuMS51dG1jc3I9KGRpcmVjdCl8dXRtY2NuPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sncWNhJ10gPSAnUDAtMTMxMDMyNjM4MS0xMjkwOTc1OTQzMjMyJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTY0MTg3MTQyNS4xMjkyMDk5NDcwLjEyOTY5MzM3MjAuMTI5NzE5MzMyOS4xMSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjk3MTkzMzI5JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdF9jYWNoZWNsZWFuZWQnXSA9ICdDYWNoZSB2aWQmZWFjdXRlOyc7CiRsYW5nWydhc2tfY2xlYXJfaW1hZ2VfY2FjaGUnXSA9ICcmRWNpcmM7dGVzLXZvdXMgcyZ1Y2lyYztyIGRlIHZvdWxvaXIgc3VwcHJpbWVyIFRPVVRFUyBsZXMgaW1hZ2VzIGVuIGNhY2hlID8nOwokbGFuZ1snY2xlYXJfYWxsJ10gPSAnU3VwcHJpbWVyIHRvdXMgbGVzIGZpY2hpZXJzJzsKJGxhbmdbJ2NsZWFyX25vdyddID0gJ1N1cHByaW1lciBtYWludGVuYW50JzsKJGxhbmdbJ2VtYmVkZGluZyddID0gJ0ltYWdlcyBpbnQmZWFjdXRlO2dyJmVhY3V0ZTtlcyc7CiRsYW5nWydlbWJlZGRpbmdfbW9kZSddID0gJ01vZGUgZCYjMDM5O2ludCZlYWN1dGU7Z3JhdGlvbiBkZXMgaW1hZ2VzJzsKJGxhbmdbJ2VtYmVkX3NpemVsaW1pdCddID0gJ1RhaWxsZSBsaW1pdGUgZGVzIGltYWdlcyBpbnQmZWFjdXRlO2dyJmVhY3V0ZTtlcyAoa2IpJzsKJGxhbmdbJ2VtYmVkX3R5cGVzJ10gPSAnVHlwZSBkJiMwMzk7aW1hZ2UgaW50JmVhY3V0ZTtncmFibGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZF9hZ2UnXSA9ICdQciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2UgZCYjMDM5OyZhY2lyYztnZSBpbnZhbGlkZS4uLiBBdWN1bmUgb3AmZWFjdXRlO3JhdGlvbiByJmVhY3V0ZTthbGlzJmVhY3V0ZTtlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbSddID0gJ1BhcmFtJmVncmF2ZTt0cmUgaW52YWxpZGUgZGFucyBsJiMwMzk7YXBwZWwgOiAlcyc7CiRsYW5nWydlcnJvcl91bmtub3duZmlsdGVyJ10gPSAnQ0dTbWFydEltYWdlIC0gRmlsdHJlIGluY29ubnUgOiAlcyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdLaXQgZGUgdHJhaXRlbWVudCBkJiMwMzk7aW1hZ2VzIENhbGd1eSc7CiRsYW5nWydnZW5lcmFsJ10gPSAnRyZlYWN1dGU7biZlYWN1dGU7cmFsJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+UXVlIGZhaXQgY2UgbW9kdWxlID88L2gzPg0KPHA+Q2UgbW9kdWxlIGZvdXJuaXQgdW5lIG1hbmkmZWdyYXZlO3JlIHNpbXBsZSBkZSB0cmFpdGVyIGV0IGFmZmljaGVyIGRlcyBpbWFnZXMgc3VyIHZvdHJlIHNpdGUuIElsIHZvdXMgcGVybWV0IGxlIHRyYWl0ZW1lbnQgZXQgbGUgbWFycXVhZ2UgZCYjMDM5O2ltYWdlcyAoZmlsaWdyYW5lKSBkZSBmYSZjY2VkaWw7b24gc2ltcGxlLiBJbCBkaXNwb3NlICZlYWN1dGU7Z2FsZW1lbnQgZGUgZm9uY3Rpb25zIHBvdXIgYW0mZWFjdXRlO2xpb3JlciBsZXMgcGVyZm9ybWFuY2VzIGRlIHZvdHJlIHNpdGUsIGxlIHJlbmRhbnQgJmFncmF2ZTsgbGEgZm9pcyBwdWlzc2FudCBldCByYXBpZGUuPC9wPg0KPGgzPkZvbmN0aW9ubmFsaXQmZWFjdXRlO3M8L2gzPg0KPHVsPg0KPGxpPkRlcyBmaWx0cmVzIGQmIzAzOTtpbWFnZXMgcHVpc3NhbnRzIGV0IHNpbXBsZXMgJmFncmF2ZTsgdXRpbGlzZXIgOg0KICA8dWw+DQogICAgPGxpPkZsb3U8L2xpPg0KICAgIDxsaT5MdW1pbm9zaXQmZWFjdXRlOzwvbGk+DQogICAgPGxpPkNvbG9yaXNhdGlvbjwvbGk+DQogICAgPGxpPkNvbnRyYXN0ZTwvbGk+DQogICAgPGxpPlJlY2FkcmFnZTwvbGk+DQogICAgPGxpPkQmZWFjdXRlO3RlY3Rpb24gZGVzIGJvcmRzPC9saT4NCiAgICA8bGk+Qm9zc2VsYWdlPC9saT4gDQogICAgPGxpPk5pdmVhdXggZGUgZ3JpczwvbGk+DQogICAgPGxpPk1lYW4gUmVtb3ZhbDwvbGk+DQogICAgPGxpPk4mZWFjdXRlO2dhdGlmPC9saT4NCiAgICA8bGk+UGl4JmVhY3V0ZTtsaXNhdGlvbjwvbGk+DQogICAgPGxpPlJlZGltZW5zaW9ubmVtZW50PC9saT4NCiAgICA8bGk+Um90YXRpb248L2xpPg0KICAgIDxsaT5GbG91IHMmZWFjdXRlO2xlY3RpZjwvbGk+DQogICAgPGxpPkFtJmVhY3V0ZTtsaW9yYXRpb248L2xpPg0KICAgIDxsaT5GaWxpZ3JhbmU8L2xpPg0KICA8L3VsPg0KPC9saT48YnIvPg0KPGxpPlNtYXJ0IGRldGVjdGlvbiBvZiBpbWFnZXMuICBTcGVjaWZ5IGFic29sdXRlIFVSTFMsIGFic29sdXRlIHBhdGhzLCBvciBmaWxlcyByZWxhdGl2ZSB0byB5b3VyIHJvb3QgaW5zdGFsbGF0aW9uLjwvbGk+DQo8bGk+U21hcnQgYXR0cmlidXRlIGdlbmVyYXRpb24gZm9yIGltYWdlcy48L2xpPg0KPGxpPlByb2Nlc3NlZCBpbWFnZXMgYXJlIGNhY2hlZCBvbiB0aGUgc2VydmVyIGZvciBmYXN0ZXIgc2VydmluZy48L2xJPg0KPGxpPlRoZSBhYmlsaXR5IHRvIHVzZSBhIHNlcGFyYXRlIFVSTCAoQ0ROKSBmb3Igc2VydmluZyBpbWFnZXM8L2xpPg0KPGxpPkltYWdlIHByb2Nlc3NlcyBjYW4gYmUgY29tYmluZWQsIGFuZCBhcmUgZXhlY3V0ZWQgaW4gb3JkZXIuPC9saT4NCjxsaT5Qcm92aWRlcyB0aGUgYWJpbGl0eSB0byBlbWJlZCBpbWFnZXMgZGlyZWN0bHkgaW50byB0aGUgY29udGVudCBvZiB0aGUgd2ViIHBhZ2UgdG8gbWluaW1pemUgc3BhY2UuPC9saT4NCjxsaT5Qcm92aWRlcyB0aGUgYWJpbGl0eSB0byBsaW1pdCBlbWJlZGRpbmcgaW1hZ2VzIHNtYXJ0bHksIG9ubHkgdG8gYnJvd3NlcnMgdGhhdCBhcmUgY2FwYWJsZSBvZiB1bmRlcnN0YW5kaW5nIHRoZW0uPC9saT4NCjxsaT5BbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cyB2aWEgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnLjwvbGk+DQo8bGk+TW9yZS4uLjwvbGk+DQo8L3VsPg0KPGgzPkNvbW1lbnQgbCYjMDM5O3V0aWxpc2VyPC9oMz4NCjxwPlRoZSBzaW1wbGVzdCB3YXkgdG8gdXNlIHRoaXMgbW9kdWxlIGlzIHRvIHVzZSBpdCBpbiB0aGUgc2FtZSBwbGFjZSB5b3Ugd291bGQgdGhlIHtpbWFnZX0gdGFnLiAgSS5lOiBTb21ldGhpbmcgbGlrZSA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e0NHU21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTt9PC9jb2RlPi4gIFRoaXMgd2lsbCBnZW5lcmF0ZSB0aGUgaW1hZ2UgdGFnIGZvciB5b3Ugd2l0aCBubyBwcm9jZXNzaW5nLiAgQW5kIGlmIHBvc3NpYmxlLCBlbWJlZCB0aGUgaW1hZ2UgZGlyZWN0bHkgaW50byB5b3VyIGh0bWwgb3V0cHV0LjwvcD4NCjxwPk9mdGVuIHBlb3BsZSB3YW50IHRvIGRpc3BsYXkgYSB3YXRlcm1hcmsgb24gdGhlIGltYWdlcyB0aGF0IHRoZXkgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQgdG8gcHJldmVudCBpbWFnZSB0aGVmdC4gIFRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlIHByb3ZpZGVzIHNldHRpbmdzIGZvciB5b3UgdG8gY29uZmlndXJlIHdhdGVybWFya2luZyBhbmQgeW91IGNhbiBlbmFibGUgdGhhdCB3aXRoIGFueSBpbWFnZSB3aXRoIGEgdGFnIGxpa2UgdGhpczogPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJiMwMzk7IGZpbHRlcl93YXRlcm1hcms9MX08L2NvZGU+LiAgVGhpcyB3aWxsIHJlYWQgdGhlIGltYWdlLCBhcHBseSB0aGUgd2F0ZXJtYXJrIGFjY29yZGluZyB0byB0aGUgc2V0dGluZ3MgaW4gQ0dFeHRlbnNpb25zLCBhbmQgdGhlbiBjYWNoZSB0aGUgYWx0ZXJlZCBpbWFnZSwgYW5kIHRoZW4gZW1iZWQgaXQgaW50byB5b3VyIG91dHB1dC48L3A+DQo8cD5BbHNvLCBQaWN0dXJlcyB0YWtlbiBieSBtb2Rlcm4gZGlnaXRhbCBjYW1lcmFzIGFyZSBvZnRlbiB0b28gbGFyZ2UgZm9yIHVzZSBvbiBhIHdlYnNpdGUsIHRoZXJlZm9yZSB0aGV5IG5lZWQgdG8gYmUgc2NhbGVkIGJlZm9yZSBkaXNwbGF5ZWQgb24geW91ciBwYWdlLiAgVGhpcyBjYW4gYmUgZG9uZSBxdWl0ZSBlYXNpbHkgd2l0aCBhIHRhZyBsIGlrZTogPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJiMwMzk7IGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSYjMDM5O3csMzUwJiMwMzk7fTwvY29kZT4uICBBcyB5b3UgbWF5IHRoaW5rLCB0aGUgd2F0ZXJtYXJrIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgaW1hZ2UgYmVmb3JlIGl0IGlzIHJlc2l6ZWQgdG8gYSBtYXhpbXVtIHdpZHRoIG9mIDMwMCBwaXhlbHMgKHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgVGhlbiB0aGUgYWRqdXN0ZWQgaW1hZ2Ugd2lsbCBiZSBjYWNoZWQsIGFuZCBpZiB0aGUgYnJvd3NlciBhbGxvd2VzIHRoZSBpbWFnZSB3aWxsIGJlIGVtYmVkZGVkIGludG8gdGhlIEhUTUwgb3V0cHV0LiAgSWYgZW1iZWRkaW5nIGlzIG5vdCBwb3NzaWJsZSBhbiA8aW1nPiB0YWcgd2lsbCBiZSBnZW5lcmF0ZWQuPC9wPg0KPHA+RnJvbSBoZXJlIHlvdSBjYW4gY29tYmluZSB0aGUgb3B0aW9ucyBiZWxvdyB0byBwZXJmb3JtIGFsb3Qgb2YgZGlmZmVyZW50IGVmZmVjdHMgdG8geW91ciBpbWFnZXMsIGJ1aWxkIHNpbXBsZSBnYWxsZXJpZXMsIGFuZCBpbXByb3ZlIHlvdXIgc2l0ZSBwZXJmb3JtYW5jZSBhdCB0aGUgc2FtZSB0aW1lLiAgRW5qb3khPC9wPg0KIDxoMz5BIFNpbXBsZSBHYWxsZXJ5PC9oMz4NCjxwPlRoZSBjb2RlIGJlbG93IHVzZXMgdGhlIHtDR1NtYXJ0SW1hZ2V9IG1vZHVsZSwgZmFuY3lib3gsIGFuZCBhIGJpdCBvZiBzbWFydHkgbWFnaWMgdG8gZ2VuZXJhdGUgYSBzaW1wbGUgbGlnaHRib3ggc3R5bGUgYWxib20gZnJvbSBhIHN1YmRpcmVjdG9yeSBvbiB5b3VyIHdlYnNpdGUsIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGltYWdlcyBmb3Igd2ViIHN0YW5kYXJkcywgYW5kIGNyZWF0aW5nIHRodW1ibmFpbHMuPC9wPg0KPHByZSBzdHlsZT0mcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsmcXVvdDs+PGNvZGU+PHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDE6PC9zcGFuPiA8c2NyaXB0IHR5cGU9JnF1b3Q7dGV4dC9qYXZhc2NyaXB0JnF1b3Q7PntsaXRlcmFsfQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDI6PC9zcGFuPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMzo8L3NwYW4+ICBqUXVlcnkoJiMwMzk7YS5mYW5jeWJveCYjMDM5OykuZmFuY3lib3goKTsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA0Ojwvc3Bhbj4gfSk7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNTo8L3NwYW4+IHsvbGl0ZXJhbH08L3NjcmlwdD4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA2Ojwvc3Bhbj4ge2Fzc2lnbiB2YXI9JiMwMzk7ZmlsZXMmIzAzOTsgdmFsdWU9JiMwMzk7dXBsb2Fkcy9hbGJ1bS8qLmpwZyYjMDM5O3xnbG9ifQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDc6PC9zcGFuPiB7aWYgY291bnQoJGZpbGVzKX0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA4Ojwvc3Bhbj4gPGRpdiBzdHlsZT0mcXVvdDt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxNTBweDsgb3ZlcmZsb3c6IGF1dG87JnF1b3Q7Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDk6PC9zcGFuPiB7Zm9yZWFjaCBmcm9tPSRmaWxlcyBpdGVtPSYjMDM5O2ZpbGUmIzAzOTt9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMDo8L3NwYW4+ICA8YSByZWw9JiMwMzk7c2ltcGxlX2FsYnVtJiMwMzk7IGNsYXNzPSJmYW5jeWJveCIgaHJlZj0iPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+e0NHU21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCwwIGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSYjMDM5O2gsNTAwJiMwMzk7IG5vdGFnPTEgbm9lbWJlZD0xfTwvc3Bhbj4mcXVvdDs+DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMTo8L3NwYW4+ICA8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e0NHU21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCwwIGZpbHRlcl9ncmF5c2NhbGU9MSBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTtoLDE1MCYjMDM5O308L3NwYW4+DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMjo8L3NwYW4+ICA8L2E+DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMzo8L3NwYW4+IHsvZm9yZWFjaH0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjE0Ojwvc3Bhbj4gPC9kaXY+DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xNTo8L3NwYW4+IHsvaWZ9DQo8L2NvZGU+PC9wcmU+PGJyLz4NCjxwPkxldHMgdGFsayBhYm91dCB0aGlzLjwvcD4NCjxwPkxpbmVzIDEgdGhyb3VnaCA1IHV0aWxpemUgalF1ZXJ5IHRvIGNhbGwgZmFuY3lib3ggb24gYW55IGxpbmtzIHRoYXQgaGF2ZSB0aGUgJnF1b3Q7ZmFuY3lib3gmcXVvdDsgY2xhc3MuICBUaGUgZmFuY3lib3ggalF1ZXJ5IHBsdWdpbiBpcyBpbmNsdWRlZCB3aXRoIHRoZSBKUXVlcnlUb29scyBtb2R1bGUuPC9wPg0KPHA+TGluZSA2IHVzZXMgYSBidWlsdCBpbiBwaHAgZnVuY3Rpb24gY2FsbGVkIGdsb2IsIGFuZCBzb21lIHNtYXJ0eSBtYWdpYyB0byBmaW5kIGFsbCBvZiB0aGUgSlBHIGZpbGVzIGluIHRoZSB1cGxvYWRzL2FsYnVtIGRpcmVjdG9yeSBiZWxvdyBvdXIgaW5zdGFsbGF0aW9uIHJvb3QuPC9wPg0KPHA+TGluZSA3IGlzIGEgdGVzdCB0byBzZWUgaWYgYW55IGZpbGVzIHdlcmUgYWN0dWFsbHkgZm91bmQgaW4gdGhlIGFzc2lnbiBsaW5lIHN0YXRlZCBhYm92ZS4gIFRoaXMgaWYgc3RhdGVtZW50IGlzIGNsb3NlZCBvbiBsaW5lIDE1LjwvcD4NCjxwPkxpbmUgOCBvcGVucyB1cCBhIGRpdiB0byBjb250YWluIG91ciBhbGJ1bS4gIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBleGFtcGxlIHRoZSBzdHlsZXMgd2VyZSBpbmNsdWRlZCBpbmxpbmUsIGhvd2V2ZXIgYSBjbGFzcyB0aGF0IHdhcyBkZWZpbmVkIGluIHRoZSBzdHlsZXNoZWV0IHNob3VsZCBiZSB1c2VkIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzLiAgVGhlIGNsb3NpbmcgdGFnIGZvciB0aGlzIGRpdiBpcyBvbiBsaW5lIDE0LCBqdXN0IGJlZm9yZSB0aGUgPGNvZGU+ey9pZn08L2NvZGU+LjwvcD4NCjxwPkxpbmUgOSBiZWdpbnMgYSBsb29wIHRocm91Z2ggYWxsIG9mIHRoZSBmaWxlcyB0aGF0IHdlIGZvdW5kIGluIHRoZSBkaXJlY3RvcnkuICBUaGlzIGxvb3AgaXMgY2xvc2VkIG9uIGxpbmUgMTMuPC9wPjxici8+DQo8cD5MaW5lcyAxMCBhbmQgMTEgYXJlIHRoZSByZWFsIG1hZ2ljLiAgSGVyZSB3ZSBjcmVhdGUgYSBsaW5rIHdpdGggY2xhc3MgJnF1b3Q7ZmFuY3lib3gmcXVvdDsgYW5kIGFkZHMgdGhlIDxjb2RlPnJlbDwvY29kZT4gYXR0cmlidXRlIHNvIHRoYXQgZmFuY3lib3gga25vd3MgdGhhdCBhbGwgb2YgdGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBncm91cGVkIHRvZ2V0aGVyIGFzIG9uZSBhbGJ1bSBhbmQgYWxsb3cgY2xpY2tpbmcgYmV0d2VlbiB0aGUgaW1hZ2VzLiAgVGhlbiBjb21lcyB0aGUgcGFydCB3aGVyZSB3ZSBkZWZpbmUgb3VyIGltYWdlcy4NCjxwPldlIHN1cHBseSB0aGUgJGZpbGUgdmFyaWFibGUgdG8gdGhlIHNyYyBhcmd1bWVudCBvZiB0aGUgPGNvZGU+e0NHU21hcnRJbWFnZX08L2NvZGU+IHRhZyBzbyB0aGF0IGl0IHdpbGwgZ2V0IHRoZSBuYW1lIG9mIGVhY2ggbWF0Y2hlZCBqcGVnIGFzIHRoZSBsb29wIGlzIGV4ZWN1dGVkLjwvcD4NCjxwPlRoZSBpbWFnZXMgSSB3YXMgdGVzdGluZyB3aXRoIHdlcmUgdXBsb2FkZWQgZnJvbSBteSBpcG9kLCBhbmQgYWxsIHNlZW1lZCB0byBiZSByb3RhdGVkIDkwIGRlZ3JlZXMgY291bnRlciBjbG9ja2Vpcy4gIFNvIHRoZSBmaXJzdCBmaWx0ZXIgSSBhZGRlZCB3YXMgdG8gcm90YXRlIHRoZSBpbWFnZSA5MCBkZWdyZWVzIGNsb2Nrd2lzZSB2aWEgdGhlIDxjb2RlPmZpbHRlcl9yb3RhdGU9OTAsMDwvY29kZT4gYXJndW1lbnQuIFRoZSBpbWFnZXMgdGhlbiBuZWVkZWQgdG8gaGF2ZSB0aGUgd2F0ZXJtYXJrIG9uIHRoZW0gPGVtPih0aGlzIGlzIGp1c3QgZm9yIGV4YW1wbGUgcHVycG9zZXMsIEkgZG9udCB0aGluayBhbnlib2R5IHdvdWxkIHJlYWxseSBzdGVhbCB0aGUgYmx1cnJ5IHBpY3R1cmVzIGZyb20gbXkgaXBvZCBmb3IgY29tbWVyY2lhbCBwdXJwb3Nlcyk8L2VtPiwgc28gSSBhZGRlZCB0aGUgPGNvZGU+ZmlsdGVyX3dhdGVybWFyaz0xPC9jb2RlPiBwYXJhbWV0ZXIuICBBbmQgZmluYWxseSwgYmVjYXVzZSBldmVuIHRoZSBpcG9kIHRvdWNoIGNhbiB0YWtlIHBpY3R1cmVzIHRoYXQgYXJlIHRvbyBiaWcgdG8gZGlzcGxheSBvbiB0aGUgc2NyZWVuIEkgd2FudGVkIHRvIHJlc2l6ZSB0aGVtIHRvIGEgbWF4aW11bSBoZWlnaHQgb2YgNTAwIHBpeGVscy4gIFRoaXMgd2FzIGFjY29tcGxpc2hlZCB2aWEgdGhlIDxjb2RlPmZpbHRlcl9yZXNpemU9aCw1MDA8L2NvZGU+IGFyZ3VtZW50LiAgV2UgYWRkIHRoZSA8Y29kZT5ub2VtYmVkPTE8L2NvZGU+IGFyZ3VtZW50IGJlY2F1c2UgZmFuY3lib3ggZG9lcyBub3QgdW5kZXJzdGFuZCBob3cgdG8gZGlzcGxheSBlbWJlZGRlZCBpbWFnZXMgaW4gaXRzIHBvcHVwIHdpbmRvdy4gIFRoaXMgZGVmaW5lZCB0aGUgaW1hZ2UgdGhhdCB3ZSB3ZXJlIGdvaW5nIHRvIGxpbmsgdG8uPC9wPg0KPHA+TmV4dCB3ZSBuZWVkZWQgdG8gZGVmaW5lIHRoZSB0aHVtYm5haWwgaW1hZ2UgdGhhdCB3ZSBhcmUgZ29pbmcgdG8gdXNlIGluIHRoZSBnYWxsZXJ5LiAgVGhpcyBjYWxsIHRvIDxjb2RlPntDR1NtYXJ0SW1hZ2V9PC9jb2RlPiBpcyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBmaXJzdCBjYWxsLCBleGNlcHQgdGhhdCB3ZSB1c2UgYSBkaWZmZXJlbnQgaGVpZ2h0IHZhbHVlICgxNTAgcGl4ZWxzKSBmb3IgdGhlIHRodW1ibmFpbCwgYW5kIGZvciBraWNrcyBJIGNvbnZlcnRlZCB0aGUgdGh1bWJuYWlsIHRvIGdyZXlzY2FsZSA8c3Ryb25nPmJlZm9yZTwvc3Ryb25nPiBhcHBseWluZyB0aGUgd2F0ZXJtYXJrLiAgSSBhbHNvIHJlbW92ZWQgdGhlIG5vZW1iZWQ9MSBhcmd1bWVudCBzbyB0aGF0IHRoZSBzeXN0ZW0gY291bGQgZW1iZWQgdGhlIGltYWdlIGluIHRoZSBIVE1MIG91dHB1dCBpZiB0aGUgYnJvd3NlciBzdXBwb3J0ZWQgaXQuICBUaGUgc2NyZWVuIGNhcHR1cmUgYmVsb3cgc2hvd3MgdGhlIGVmZmVjdC48L3A+DQo8aW1nIHNyYz0mcXVvdDtkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUVBWUFCZ0FBRC8yd0JEQUFnR0JnY0dCUWdIQndjSkNRZ0tEQlFOREFzTERCa1NFdzhVSFJvZkhoMGFIQndnSkM0bklDSXNJeHdjS0RjcExEQXhORFEwSHljNVBUZ3lQQzR6TkRMLzJ3QkRBUWtKQ1F3TERCZ05EUmd5SVJ3aE1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakwvd0FBUkNBQ2hBZkFEQVNJQUFoRUJBeEVCLzhRQUhBQUFBUVFEQVFBQUFBQUFBQUFBQUFBQUFBUUZCZ2NCQWdNSS84UUFVQkFBQWdFREFnTUVCd1FHQndRSUJRVUFBUUlEQUFRUkJTRUdFakVUUVZGaEJ4UWljWUdSc1NNeW9kRVZNMEpTa3NFV0pUUmljblB3SkZXQzRSYzJRMU5XZzZMeEpqVkVZN0prazdQQzB2L0VBQmdCQVFFQkFRRUFBQUFBQUFBQUFBQUFBQUFCQWdNRS84UUFJeEVCQVFBQ0FnTUFBZ0lEQUFBQUFBQUFBQUVDRVNFeEF4SkJFeUlqUWxGaGtmL2FBQXdEQVFBQ0VRTVJBRDhBdGZXOVZ1Yks3MCt4c2tnOVp2cEdWWkxnbnMwQ2pKeUJ1VDRDdEx2VkxuVExGWTlRdk5NaTFHWitXREljUnVNZ2ROem5mNlYwNGhrMFgxYUtEV3d2WXlNZVJtVnNLdzcrWmZ1bnpxSjNNbDFKd3RJSGt1SnJOTldnV3ltdUFlMGVMbUhYTzVHZWhOQk5MclhOS3NaSGp1dFF0NFhSd2pLNzRJWWpPTWU0ZzF0SHJXbHkzd3NvOVF0bnVXR1JFc2dKTzJkdmhURkZESEp4THhnenhxeDdHTlFXWE8zWkhiOEJUWERFcWNKOEZ1c1lWeGVRSElYQjM1cy9PZ2xiOFM2SkhPME1tcVdxU3E1alpXZkJERFlnK0ZjNTlTdUU0dHNkT1JrOVduczVabTluSkxLUmpCOEtpOXJxZW1XMm44U1dkMkJKY1QzMXdFZ0VSWnBjN0FEQThmbFNxeml1TkwxbmhjNmh6b3cwNTdWcENDUUpTUmhTZTQwRW1tMTNTYmE5OVRtMUcyanVNZ2RtMGdCQlBjZkErK25DcTRza2dqMGU1MGJWdFFlMXVaSlhXZTNOaUhlUXMyenEyTXRuSU9lNnJCdG9SWjJVVURTczZ3eGhESS9VaFJqSitWQTJYZXZKYThTMldrbGNpZENYay9jWS9jSHg1Vy9DajlKWFA5THBOTnlucXk2ZjZ3Qnk3OC9QanI0WTdxaXp4NnZxK21hbHFWcnAwYkM3bkZ6Ynp0Y2Nyb3NSOWdCTWI5RDM3ODFPVnJxTVYxeGRaYWl3WklkUTBvSkV4VTRNbk1TVXozRVlOQXM0YjRwdGRSMHl6Vyt2N1VhbE1HekVDRkpQTVFCanh3QnRUN0hlVzAxeGNXOGN5Tk5iNDdaQjFUSXlNL0NxN3Q3aXp1ZlI3RG8wY2JTYXMvNnFFUXR6cTVmS3ZuR3d4dm5OUGR2Znc2THhOcmE2ZzdxOXpIQTBHSTJidGlJK1U4dUJ1YzkxQklQMDdwUXRvN2s2aGJpR1ZHZEhMWURLcHd4SHVKQXJtZUpORVdLS1E2cmFCSlNRaDdRYi9sOGFoMmdSaDI0TUVpQmdJN3RzTU00SUpJTkxCYnhmbzNqcjdGUDEwbVBZSGRIa2ZqdlFUa0hJeURrR2lrT2lrblFkT0p6bjFXTE9mOEFwZFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZSbHVEcmZsNUZtRWtZVUtvbVZpUUFQN3JLUHdxVFVWWmRKWnN3YU53cGJhUGZldUxjU3lTQlpFUk9pSXJsU1FBY245Z2RTYWY2S0tpaWpyUlJRRkZId294NVVDRFM5TFRTeGRpT1Y1UFdibDdsdVlBY3BiR1FNZDIxTDZNZVZHRDRVQmsrTkZHRDRHakI4RFFGRkdENEdzNFBnYURHVFJtczRQZ2F4ZytCb0NpaWo0VUJSUjhLUGhRRkZHUEtqSGxRRkZHRDRHakI4RFFGRkdENEdqQjhEUUZGWndmQTFqQjhEUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVlQZ2FQaFFGRkZHQ1RqRzlBVVZua2I5MXZsUnl0KzYzeW9NVVZubGI5MXZsUmcrQitWQmlpakI4S3p5dCs2ZmxRWW9ySlVqcUNQZUtBckhvcFB3b01VVm5sYjkxdmxRVllkVkkrRkJpaXM0UGdmbFFBVDBCUHVGQmlpczhqZnVOOGpSeVA4QXVOOHFERkZaS3NPcWtlOFVjamZ1TjhxREZGWjVHL2NiNVVjai91TjhqUVlvclBJMzdyZktqbGI5MXZsUVlvclBLMzdwK1ZBQlBRRSs0VUdLS3p5dCs2M3lyRkFVVVVVRGJxVEVTeDRKR3g2ZStrWE8zN3pmT2xtcWZyWS84Sit0TitkOFVHNWtZayswM3pySE94L2FiNTFwbmV0U2FEY3lQbjd6Zk0xelozeHN6Zk0wWk5jM29NbVIvd0I5djRqWE15UC9BTjQvek5ZSnJVbnpvTU5KSisrMzhScmk4a20vMmoveEd0MkpwTzIxQmhwNWYrOGYrSTEzNFIxQTZrWTdqMmg5c3lZTEU3Q2tMdHYxeFhIZ2Vkb1dnanh6Q1Mra1FrZEIxTkJNN3gyRjNKN1J3Q05zK1ZjQzdkN0g1MTF2djdaSjhQcFNWajQwRzVkc2ZmYjUwZG8vZXpmT3RNNXJHZkhyUWJGMi9lYjUxb1pIejk5dm1heHpBSEhTdWJNRDMwR1drY2Z0dC9FYTBNci9BTDcvQU1SclJtM3JRbkZCc1paTWdjN2Z4R3VUelNEOXQvNGpRVzNyaTVvTlhta0EybGYrSTA2Y015TStxeWd1N0FRbnFTZjJoVExLZHMwNjhLSE9yVC81UFgvaUZBNE5JMlQ3UjZudnJIYXNQMm0rZEkzdVZEdm54SXJtYnRSM2lnY1JNM1RtYjUxbnRXL2ZiNTAwSFVZMUpIT3VSNG11YjZxbU5uWCtJVUQwWjNEWUxIR091YXdidmw2c2ZuVU4xRGlxMXNjbWFkVngzYzFNNDlJZWx6U2RuNnlBZk5xQ2YzZXNyYnFUemtudXFQM25GRndTUWtoSHVxTlhYRWxzOHFabVRzMzJEODJ3OTlJNU5Sc1pFa2NYMGFoY2tzUEx6OGFDUVcrdTZycWx6TGE2ZElKWm93REp6UHlyR1BNK1BsMXAxZy9TZk5PdDVxMGtUUTRMZGlBRkhtYzVxc0xUaTZiaEpCNnRINjI5eXJPc3pleUQvZS9HbUhVdUplSWJxNmFTU1M1UmdRU2U3STZIcFFYeHhScVY3b2NWcmNXY3N6cVVWbVNZaGxrQnh2dHZtbDNGRnk3ZWp2VVoxTEkvWnFSZ2tGZmJUYk5lZmh4VnhOcU4zSGMzZDllMzB3MjdObDJLZzVIZGo4S3Q1dFJ2TlU5Q21xM1Y3RDJOd1NReWs1eGgwL0dncW1hOHVocTh5aTl1VlJsQkdKbXh0OGFjOU92YmlPL1F0ZTNQSVJnODBySGMvR21KNVErcDI1WWMzUEVSdjFHS2NZbUNUeHR5SFBmZ1p6UUxkZXVydjlKVzBrZDVjc25aNC9YTU53VDRHckQwS0dhNnRyS2RwcHNQR3JIMno0ZStxMDFRbmxnd0NBR0lxenVDcHUwNGV0WE8rRTVDZWJPNFAvT2dsOHp4aUdPRnBDQzU1VkcrNXhucjhLcjdpeTJraTAvVXBVdnJxUDdGOHhpVEFKV1JRTURyakdjNzljVk43bXpudVJic3NUa0pNc2dJSFVqT0tZT0w5TmRyYWVOWXBoUExieW9pSW85dGh5bFYzQlBlZW1LQnI5RGR4SkpmYXJienlTeUV3Q1JTN2xzZHhHNTg2ZXVJN0N3dXRPbnVuRWd2WUxkbGlsRTdyZ0Rmb0RqeDZpbUQwVlc5M1k2enJFTWtiMjg2V1dNU2o3amMzZUtiTlZ0K0pGdG5lNTE3dG9TcEx4cGJnQWp3ejNVRFhwZGxkYXZxTUtHNHVKSTRvSkpHZ2E0ZE8xYktxTWtIb001cDhzMy9BS05tNGp1N3E1Z2dlUldRYzdTdEo3SUpVRTl3T2ZjTVo4YWplZ2F1TksxKzBGeElrY0VzVXFTTzdZQzQ1V0J6OEtjK09MUkxvMmVxMmM0bHQrVHNuTVc0eHpaRGVlYzQrVkJwcVhGa3BkaGJ6eXhZSjVGV1J1WWZIcDE4cWUvU1ZkM0k5SEhDY3l6VFJ5eU1wY3JLUVQ5ajNrSGVvQnlXNGtoY082QlR6TXJzRHlONDV4NUQzVk92U1NESjZOT0Q4a2trcGtucitwb0twdWI2K1ZWWVh0ME45L3QzL091OXRxVjdsVk43Y2tmNTcvblNmVUVUMUl5STJTa25LK0QwTmJSMkY0dW5SNmkxdko2bThuWnJNUjdKWWRSbnhvSDIxMWJVN1FPOXRxVjFFN3FWYmxsSnlwN3R6VGRjMzk2Y2tYdDF6WkhTZHQveG9pbEhZRGZwMXBIZGtOYnRuQjNIWHVvRjFyZGFnQzZTM04ydTNScG4yL0dzVFhsNHVDdDdjK1gyN2ZuU2ZRVlNXNVpaV2s3SUp6UHlBRmdNanBuclc5OHFMSTVoNSt5NWp5bDhaeDU0b085dHFOK2poeGUzSUtuS250VzJQZDMxS1JkU1hzU1gwTnhPZ2ZhV05aWDVZNVIxVWI5RDk0ZThqdXFGcElBdU5zK2RQWEQrcFIyRjhlM2FRV2N3NVprWHc3bUhtcDN4M2pidm9KYmFUM01EUlN0Y1RFZy90U3NmUHhxVmVtYTN1SDRTc2J5MW1sUnUxUldhTnl2VldJNmVkZDdQaHlEVkVpVG5WWmNZWWo5dndPZmRpczhjelQzR2cyL0RyV3J0Y0NOSnUxWmgreVN1QVBFanZvS2E0VTlmSEYyamM5NWNsUFhvUXl0T3h5T2NkUm12VXg2bXFRNFc0V2doMXF3bHVVbldlTzRSMVZtQzRJWUhjWS9uVjMwQlJSUlFOV3Jmcll2OEordE4yYWNkVy9XeGY0VDlhYkdvTWs3MXJ6WXJESEcrRFRGeEp4SEhvTm9za2tMdUh5QXk0d01VRDR6aXVaa3FwWDlLOTdISi9aN1J4MDNMQ2xOaDZXNFRJVjFHekNvVHMwQkpJK0JvTE5MZDlhTXh4MDJxUGFmeGxvdW9SSzZYcUt6ZnNObm1Id3BiK25OTnovYkkva2Z5b0hFbmF1RDBRM1VWMUVKWUpCSWhKQUkyNlZpUTBDVnp2aytOTE9BMkhxeXNla2wzS1ViOTRaNmp5cGoxMStUVGp1d1ZwRVZzSEhzbGdDS2t2REtCSnJlTlJoVmtPQjRiVUQzcUcxNUo4UHBTVW1sVi93RDJ5VDRmU2tob05RYTVUVGlDSjVDQ1FnemdkVFhUdjZWRk9OZFRGcHBndFJLWTN1VHlsaG5PUERieG9HRFdQU1JQYjNVaTJscUJHdTMyM1hQZjBwRkg2VkpTeW1TeWo1TSsxZzc0cUtYMXZEMlRNSCtZSk5Na2lvaWZmR2ZlYUM3ZE40MzBuVTVZNG8zWkpIemtQc0YyOGFrQ3lMSW9aR0RBOUNEWG0rRzRFYjVFcFUrSXF6dUJlSlJOYnpSMzE2QXNTaFkxT2ZuUVdFYTVPYXlraVNJcm9RVllBZ2p2clYrbEFua08xTHVESGVYaU8rTE9lUklBaXAveERKcEJKMHBad1IvMWoxTGJmc3gvK1FvRU05eTNhdnYrMGZyWEF6dTNmVGhQYXFKWC93QVI3dk91WXRvejF6OHFDQmErNS9TOHA3K1ZmcFVZMWpXVTArRXFwQm1ZWVVlRlRUaUMyUmRZbEFIUkY3dktxZzE2WnBOVG15YzRZZ2VWQWludTVaNUdlU1FsajFyZ0pDRDEzcFZZNlpQZnY3SUtvT3JHbiszNGJ0MEE3VExIem9JK2wwVlhCWThnT1N0U2ZUZUsyc2JVMjVnV2ExQTVsVmtCNVQ0MG9UaHV4ZGQ0K3ZoVzAzQ1RXMWxMTmJQekVEbUtONGVGWnl5OVhidytMOG1WM3hERGZUeWFuYytzRkVSVDkxUnNBTytuMjBqa0UwYlhISzBJeHpLaTRKSGhudXFMeHl5SmNNSFhsd1NDbmNLbWR1QklxTUNNRUN0T1Y0dkIzMUtmUnA5TVNMUzlNbXRieklMeXl6OW9wWHZITFV2MGRKbjlDR3NKSVVaek80SEt2S01jMGRRUlV3d3FmMlE1ZlFwckJIL2ZzZjhBMXgwUlY4Mm44aVcwalN4UWhIR1dkOXNIR054bWxDdU9ibDV3V1VuSjVlbEtOVFR0dERsbnhnUmNyYmVSeHZTT0VjLzNRY0FLVGdiRE85QXRuaWdsakwzSWtaWS9iUUkyTXQ1bnVGU3JTdFkxQzM0YWdzckJrdG1lY3pDU1JNcXVEakJKM09kc1kyNjFybzBPbmFUYlI2anFNQ1hEU1k3TzFLOHdPUDJpTzgrL2FwTnhYYmFYcmx2cDV0ZFNndEpvTVJzZ1FxRlhPY0FBYlk4S0NUYVJOZlhIQUthaGV4T05RZTM5dU1ObGNnNHlnN2dSdlNUakRTVTFPUWFmRXBTTmNaNUNRRkJVOVFPNDcvaFdxY1k2VG85dERwY1YzQklxUUJGREJ0Z1BJQ212V09KclM3N1NTMXZTSGxUSmVGQ3JOZ2JaUGRqZjUwRGI2T3JDYlMrSUxwR0VmYVBFNkdEbXc0UU9DR0k2WVB6MzZVbDF5V2U3bmx0b05QbWtjZG9nVmNEYmY2YlVxNEhuczlKdm52NysraVQxaUpvaXhKTGgyd2NIYnhGT1NUaTltdW9OT2pWaXhmTEp1OG96Z25KeHQzWUhrYUN2WHM3YlM5Y2dWclUzVitFUE5JUDFNQUtBNHdSN1RlZlFlZFMyR3dUVmJOOUpFVTBjMTRXajdjcjdJQklJT2V1QVBLbld5NFgxTFZManRncVF4TW5MMmpuYndJeDM5S2UrSU5HL1JIRGQ5ZTIxMUt0eEJiczZka2lvZVlEYkJHNCt0QkhyYjBNMjZ4cXI2cEtjOVNJODkvY1BuU0QwdjZkSHBmQnZEK20yNVl4VzF4MktGdXBDeEVETk1jTjdmUmNzOHVwNmpNN0wwbnZaR0ErR2FkL1NneGw5SDNERHNTeGFSU1NTU1Q5bDQ5YUNCMmQvcGIraXkvMGk0ZFUxT0NjTWlIN3o1Y0VGZmhrZkNtS0hUWTVMS0oxSlZtVUh5cHkxS09IOUR2eUFoeVl5YzV4MXJ0cDl1VFlRbkczTDNEem9HWDFlNmpRcmdPdmlLMHVVQnM4R1Q3Vmo3VVpVZ3JqdnowTldHbkRVYzJqTmNLd0VnT2ZlS2grcHJidlp1Qk1uTXFjd3dPNEhmZWc1OE1SdzV2OEF0V0MvN01lVFBlZVphMjFhSUpaaVJWMkw0NjF3ME80aEVWeUdtNUhiQzlPNy9RcGJxNndMb2lOMnZNL2Jia0gyY1lQZGpyOGFCdm5OcGNOYmVvd1N4dVVXTjBhVHRESkpucXV3d1BMZjMwT1d0eVZsVXF3T0dCR0NwSGlLSWpCQ3RzeVM4a29ZU2xsRytPdXhQUStGT0VrUDZVdFpQVitTWm1PWkpNYjh4OGM3NHgxTkJabm81MXUzaXRJYkc0dUlrZU1oNE9ZNE9DU1N1ZnhIdk5TdmpmVTdLM3RiTFZaQVhnQk1KQ1k1c25CSFh1MmFvYnc3Y2FGYldkcXNlaXlYVnpnTEpOT1ZTTmlPL09jNEh1M3dLbEVXcld1c3ZkMk54cE5vOGNaNW93NkNRRTQyM1B2T052SHBRTVdpOGM2TE5yRmxaTGFYWWtrbVNOQ1FtQXhJQXp2NTFhOVJ2VFlkQVRzNDR0THM0cm1KdGliWkFTZWJBS25IamlwSlFGRkZGQTA2dit0aUhkeW42MDFuNDA2YXgrdGkvd0FKK3ROWjZVR2puQnFyT0xZN2pXWmJ1ZEZra2lqMlJjN0lOaCtQV3JRbHh5Tm53cU5haERIRm9WMDBhY29lUEorWW9LUHU5TmxqY0ZsSThhUXZBUTJNR3BsZmhSTVJqclRQUEd2TWRobWdhTGQ1YmFaSkVZbzQ2RVZaa0VRR254UzlvT1lnYlp5Zm5VRWEzN1Fxd1haVHVlNFZMTkpuYWF3UlMyZXo5bkdUaXBlK0hYSDFtTnVTd09ITS9vWlA4eC9yVGk0ODZidUhCL1V5ZjQyK3RPTGdFSGI4YXJrWmRmWG0wcVVEWUJsT2Zjd3FVY040OVloem5QYS95cU5hK0IraHJueVhQeXFSOE5NUFc0UVJqRDVIbnRRUGQvajF1WFBYYjZVa2FsZC8vYkpQaDlLUm1nNW5yNVZEZU1vbzNFYmxjdXJydjhEVXlZVlgvSEYzSmFLNmtBa3lLd2J3SEsyMUJGTlFSVEdBUjVWSDdxM2pPNFhwV2JqV3BYY3h0SW1PblRGSTU5UUlJRFkzNmVZb05UYnFWSVZjazA4NkhCNm5kbFJKbm5UZGZBMHpRWGg1eElGd282SFBmVGhZVHl5YXBEZ0VnN2RlZ3JQMTEvV1lYYzVxNzdMK3dXMytVdjBGZEdyU3lIOVgyMytVdjBGZFdyVGtUUDVVcjRMMjRuMUlkM1lLZnhGSlpBQUNLWGNJUXNuRTE3SmoyWHRoZy84QUVLQjN2ckR0T2FXSmR4MVVkL25UTTBYS2NkL2hVbHM3dUM5amFTM2NNQXhVK0lOTWVrb3QzZFhuYW5PUHUrV1NhQ3VlTWJnV2wxZXpuYnM0VkkrVlZCWldqNnZxYkFraGM4OGpmSCtkVzU2U28xUnRUUnQyRUM0OStCVmU4TVFGTE9hWURMTytBZklmNk5BN0pIRmJ4aUtKUXFyMHhRWHlOcXkzS28zTzljeTRCMm9mNkxiWm43Uk1iYmpmd3A3am5rdVZWWlF2VWpQWEpxT1BxNjZkQVVtaFBpcHlDQ2ZFVnpzdUpBSkVMQWhBZXBGWW43WGw2TTkrUEgxbDc3YWNUYUY2dklidUpQWmMrMWl0ZEtjcEdJMk9lWGRUVTRTTzMxelJ5Z2JabDYrQnFMWHVpM1duWE1sbzY5bmRSdHlGVDQ3WVBoaXR2T1VEWnMvT3JDMGtjL29jMVVZNXN6UHQvd0FVZFFFOEtjWDIyR3VMYlR5V3dBbzFDSG1PU0FOdWJ6RldOQnBkOXBmb2gxVzF2b1ZpdURJWDVCSXNnd1dqNzFKSGNhQ0NROGhpbXQ1RVU5dEhnZ0FOdmpZSDYwaHRsWkpaYmRZZ29kVkRaSVBUd3g3dXRLWW9wU1F2WjgyUmhlWGJGS0xmVERhcEpQT3dSMlRFU25QdE4zWjhnTjZCWEU2cmFMRGRTaU9PTTg4Yk9jZXpqSkE5dzMrSGpTNWJxMjlabjVXSDN5YytOUjJTUDFobWt1dVdkMlVwbjkxY1l3TTlPcDZWR3A3MitzTHlkWUhWNGd4NWVja0hGQktOWGUyYWFXUVpEQkErVjd4bmNmS25xR2RKSVVhSWhrNWQ1Q05oL3dBK3RRcXdtTjFjb2JvODVaR0JDOUNRUWNWS2t2UnloVWpQZ2lLTmdLSFpWMlpGaXhtOWxSTUNHQzVMZTJOejhLZWVITlhXRFhKQ3FLd0VMY3VUdDFGUks1MUdVb1VrYkI4QWVuaUs3YUJMMnVxNFBzanN6amJPZW0xU2IyNjUrc2trN1hWbzJvUGZBOGlLcXFOZ293QlRocTFnZFMwaWF6OW5NcThwTFp4K0ZOWEMvSXRua1lDZzR5Y0NuMlc3aWpBQmRjOTI5VnlWamNlaTdWWkpTNjMxcmduY0htSkh1eUtSK2xpeWV4NEw0ZnNuWU0wRTNac3c2RWlPck11OVVhQjRZSWlzbHhPeFdOZTRZNnNmSVZYM3BrRGYwZDBydE1Pd3VtNWlCako3TTkxQlU5NHhmVG1EWXh5cjA4alVpNFhzbHV0T2pPZGxjanJVWVpKSnJjeFJSdTdFYktvejMxTCtGM0ZucEI3WnNFU09NQUZoM2Q0Mm9KYTVoZzAva1lBS1Y1QnNPdkthcWJWNDRrdFpsN1Vvd2hiS2pIdEU0cXo3aTFtdXRNTnd2TXNDRlpHZGxJQVVEYy9qVmNhdmJwQkZjckxLcXlzckRsRCs3RzFBaDRTdG9wa3Z6SkdyRkl3VnlPaDM2VXAxN21PbHFnZm1UdFZQSUVHM1hKejFQZlNmaGt6Slk2b1lPVHRERXZMemJqdnBMUE5xQ01UZFBHOGE3c3NhOVBPaXliNGpqSnBndW9wSm9yaHVhTUtFUmsrOE1maFVoNGV0clMyc3A1SmlWeVZPWGt3VzI2RlIxSHdwcjAvVWJaNVpVU1RITmpPVHNjZnUrWFNrNkxLbDdjckxNQVdZRU1CMUhsOUtrMjM1UFhpWW4rNzFGWGlNTnN5d0ZjNGtBNVd3VDVkUjEycEhhYXJjMnFSU2krbTNMS0ZTVTVqSndDVjMyUFRla2thSkVIYVhMQnp5L2YzQUh1N3FTdGFNSi9zeUFHR00vbWFybW12RFdzWE12RUduUXlYYnVHdm9seXpFNUhOdjhNbjVtdlFaNjE1ZjRXQ3J4WG9LQXZuMXVFNEorOTdZMzkxZW9EMU5BVVVVVURUckg2MkwvQ2ZyVFVUVHJySDYyTC9DZnJUVXd4UUl0UldXU3htV0VrU0ViWUdTZktxNzRrMVM4R2t5aFkzNU96d0RHZGh2MzFackRQeHFBY1MyeXRwdDdseWloU2NmSHBRVmFsMWMzSmZMTWVYR1NhUXlYa3BrSUdlYnBpbnEwQ1IyczdrQUsyVlhJd1dIalRWSENyM1piZnN3Y2xnTTcrRlMzVFdHRnp5bU1LTGU1bWloQ2xYVm5HZCtoSGpVaTRhU1QxT1IyUHNGdVZjL2pVZDUxa2taZ05pZHM5d3FiV0Z1TFd5aWhHZGh2NytwcFA4QUxYa3ZPcGVJblhEbi93QW1UL01mNjA0UG1rSERnL3FaUDh4L3JUaTQ4cXJtUVhsdWwxYnlRU1o1SkY1VGpyU2pnNzF1SFdPd3U1VmRReTlrNEdPYlk3ZStzU1lBeWVncmh3YWJxOTE2RyttQ3BBMjhVWWJQS044SDNtZ21kK00za253K2xJenZTMisvdGtudytsSW1vT2JiL09vVHg5RHoyMXN3d0NYNVNEM2pCcWJFVkVlT284NlpieWZ1ellQdXdhQ3BGdGdOVXdRcnVQYTZEQUhpYWJkVVFQZU1VR1FUZ0FkMVBmWnZHMDdySHpFa2d0bW1zeEdOMm5seWNiRHZ6VXQwNmVQRDN5MThjWXdVSFlaS3FQdkE3L0tuN2g2MTVwNWJrOUVYa1gzMHdSNTY3NVltcFp3OWhkT1lramR6dFNNNTVicTJyRWYxZmJmNVNmUVYwYXVka2Y2dnR1bjZwZm9LNnRWWkozL0duYmhUSDZVbUdSbnNmSCs4S2EzSGZTcmhZSCtsc3V3UCt4SEgvd0M0dEF5MjF6Tlkza2trRGxUenQzN0hlcER3NjY4bHc1NnV5ajZtb3FrOFU4a2p3eXBJdk93SlE1M3lkcWxHZ3FGdEZrQjNNaHlQSUQvblFWcDZVVTdUVXJ5TWQ4YS9IMmFyMjB2R3R0SWlTSWUwek4wOTlXVngycXpjU3pSbjdwaVg2VkFiblRQVTE1WThsUVNWQjh4UU5EWDl6SEw5bzJhbU9pYVdkU3MzbktrcXE5UE05S2hpV1V0MWVySHVjdGpIY0JWdGFFSXJQVGpBTURtMk9Lemxma2Vqd1lTMzJ6NmlwYnd5QzVkWExzcXNjYzFTUGhxUzBtamUzblRuNXdSeTh2bDFwOTEvaG0wdWgyc1dFbDhRZGpVZHRiSzQwNmJrNWNNZjJsTldUVGpsbHU3U0Rodk9uMzBsc0hab1RuQ3QzVk52U1BweGg0Z3RicjJSRHFGcUZaOGZkZU1ESHpCcUk2TGFZWXU0KzBPNUpxMitOOU9GNVk2UWVVRVJ1UTJlNVNneWZ3cXN2UGx0YlNyeEhQYnlNeElrVGNucGxoVm84Q0dOdlF2cUpseUU5YWtKNW01dStQdnFEYWJFMXh4azVrUE1RVUJJNzhIWS9HcHp3REMwM29ZMUNOVGt0ZHlBRWp6am9HaDdxSWpGdGJFSCsva2ZnS2oycVBkUGU5bzB6Y3lrTUN4T1BEcCtGU2RkS241ajdjWUhRblAwcEJxV2dYRnlyTEVFWTQzekpnbnYvbFFJYkNkSlFWZmxEamZCTk11cVdLU3JkeVNGUnlTK3dQMmp2OVBHbldYU05Sc0U5WWtXSUZSMUVneVBjTyttcVNVU1EzQW1MTkwyNHk1TzVKUFNnVGN5Mm5ZQUV2bHVWU09vNXUvOEsyZ2ttVWRwMnMyRng3U3YwTkpya3lLNVNLUE12TUFpNDZHbGN4UlVTRkRubFBNZHZHczIvSGJ4NGNYTzhhS2tsYVpRN2tsaU1ibW5qaHNFYXEyQjFRay9NVXhXMmV5VlI1NzFJdUdVSDZTWTlBSXljNTY3aXRPVnU3dFlkdnEzcWtJR1NGVTdLUDUxdEh4SGJ0QVZOdkk4eFAzKzEyMzhzVXh6bjJTQ1Jqdnp2U05XNUVYT1NPdXd4UkQ3ZTZuTmMzVnJjMjhpcGMyejlwRVhQc0U5NGJHK0RTbjBnYWxheDhQYUxmYXBZcmNxODNNOEtQdGtwdmhxanNYTXhWczRIbjFweTlKYWtjR2FDdWRoSUFjOS93Qm5RUUxWOVQwaThSalkyVTF1a2dPQWhBWlI3LzhBbHZTL2htZms0WldJTitzdVpsQkhUWll6VVhXUEpBd1FEMys2cEhwMXJjdzJOcmJ5eVFXcUxMSTZ1RjVtT1ZYSktuWWpBOHFDNFlMZU81NFdTTnlNUFpZeDQrem1xRzFhTHQzYVNhYU5VS01VOFNUanA1YlZQYmFXNWx0cFlSTThpeFd2TWp1TWtaeUQ1YmtlSFNvSEpwOGpLVEoyYXNRTjg3azBDWFFZemIyMm9kbGx5aWNyN2JFNzlQREZKWnJlZHJScHBrTnVqamFVNWJPTnNZRzVwKzBxd0ZySERHcmMvcmpCV0lIUWNySEsvR3RMN1Q1N2lYKzBDUWdZSE4wMjIrbFp0NTA3WVkrdVB2OEE4UmkwampnWjRvb21ZY3h6STRCWnZjZTRId0ZUUGgvaEdQaXBiaWRMdHJVd0ZVdzBlZWJJelhIVDlEakJaN2libWJtMkVaK3BwVGROYzZkeUpZVDNFVVR1VEl5VEZTZHRodDg2MDRuNWZRNHR4R3p2ckJTTWRBSVQ4ZSt1VGVqVzF0OVN0SUJQTE0xMHhpRGxUaFFCbm1ZZE01STc2ajdhenFEanN6cVY0Y2VNNzQrdGQ3Vzl2WUFadlhibFd4OS90V3lQZDRkOUJNckwwYXBwR3RhZmVSM1NUU1IzRWJIQ2xSeWc1eGpKcTBxb0xTTld2cHVKOUxFbDdkU0sxN0NDcG1adHVZZGQrbFg2ZXRBVVVVVURUcTQrMmkvd242MDF0MU5PbXIvcm92OEFDZnJUUFBMSENwWnpqYWdEc0RVSzR1aHhZYWl2UU5IbGNmNjhhMTRxNDhYU1VFTm5HajNMOU9ZbkNqeDg2YmZXZFExYmc1dFR2cEF6VGh5Z1ZRb1ZRUVBxQ2FDRVhGdTdXeW96S01nZE5zVTBYQ1BDQkVHWEJ3VGdZSTY3VktIYnNiZHBHSHRnWlRJLzFtb3hKekdWM2JxeHpXZTd3N3orUERjN3JNZUF5NU9BU0tuU1hNTDdKS3JmOFZRRE9XQTdxMDFKR1V4U2dlMFJ5azFwd1h4dzI0T2lwdjhBOW8zMXB6WTdud3FydUNiNjhrMGRVam1iMkhJTy9qdlUxaTFDNVFEdHZhWG9jamNVRHV3NXRxMDRDY0ZMRWVBSS9FaXRJWmttNVhRN1Z4OUhzM01iTmM3Q1dSZmt4b0p0ZkgvYlpQZVBwU1EwdnVJRExleW5jS0NOL2dLYTlTbkZxamN0QWt2dFN0ckNKNUo1TUtpbG14NENxeDFuamR1STVFc0xTMDdLSU1aREk3WmJsQUk2ZDNXdCtPdFVZV0poRGUxT2VYUGwzMUh1R3JWVGFYdW9NRHpSc3NTanVPUVNmajdOQjJFWmRYWEdmZFRCcU1oYTRNU2hWUkdJQVVZQnFVVHNscEZJUUQycFBMeWtkQjQrN3pxTno1bmxKVUU0OHF6M1hmTCtQQ1l6dWtHUXE3VjJFODhkbklZcFdRcnY3SnJUMWFSNU1jcEg4NmQvMFMwVm82djk1a0xINVZwd08vQzNHT3BtV08wbW5hVWNuc2N4NllIU3A5YjYxSXdIYXB0anVxbk9IM0Z0cmRtejdBU0JXOXgycTRvTFJKR1pCOTVlbm5RT0Vkd2s0eWh6VHR3dC93QlpXYnU5VlA4QS9JdFF1R2Q0Sm1HY0ZXd1JVeDRQbEUydE00UC9BTk1lNysrdEJDTkUwK1RTN0o0SmVYdE8ya1p1WHpZMU9kS3hIcDhEZDVWaWZuVVB2NzVMUjNabEp6Tnk0SGlUaXBaWmN5NmRIL2tEYnpvSzk0cmtFbkU4elo2SW4wcU5YNHlkcWZPSTJ6eERjKzVmcFRUS25OSW0yY2tESGpUcFpOM1J2dG1oMCtLU2FRTjJyZEdBNkR3cnRaNjFjcmF1OXFxdElTQXNiSGwybzFXWkk0eEFxZ2pxRjhLWTRnOFYwcmMyQjE2OUt4anpkdlI1c3JoSjRwZWt2djhBVjU1OU50cHV3YUtRT1ZsVFBkaXRiQjF2Z3ZNUGJCcmxCZHpYRnVlMVpKQXV3QXJhR2FDMlpaMFhra0RxQ21ldTliZVpJYmVMc21Ia0t0ZmlxSzZmUkltdFFHWlFBUm54QUg4NnE3MlRHc21lbzdxdUtlNTdEU25tNUE2eFFoK1h2SkFGQlN5Y00zV2xjZkd6V09TNGxoc29IbWtSZGl4NW1QeUdCOEtkZUI3bHRKOUN1cFhJREZvN3FSaHk1VTdtTWZ6cVIzdXAzVjNxTWx6RlBOQUh4N0VjaHdNREZaNGllVzQ5RitybVZ5N25BeTMrTktDdGhyK29jN01zaXV1VGd1bWUrdTBYRTJvR1ZWS1FGU1J6Zlo0eitOTWZPVzVjWkI1Um5Qald3a0FZQWpjQTlQR2drdHlXdVk1T1pzdVZiQXgwMnFFU1pqZTZpbldYTEVoQ2k1S3NEa1o5MVRMTE5HVzJ4eWcrT0Q0VkhaazdiVUpqSm5rRWhMRUR6cGJydGNjZmE2Y3dIa1QxaHhIa2NwM1hxZkh5TzFKMXM0MllBN0h4cFhLVWVRSkVDVVFZQjhhNWVJT2MxbVQ2NitXLzFuVGVLQkkxeHpad2NtbjdoMWsvU1RiNCt4YjZpbU9Od1VPMk1lRk9tZzUvU0xMak9ZaWVubUswNHBQZDlwY1FjdHVzYk5rZnJISTI3KzZ0QUpBUGI1U09tT3VhNXU3SS9Mc0FlN082MWxaWFZVQXdSbnczRkIzaTVvOEJJMDh5Um40VXU5STREY0ZjUDViQzg0SlAvbDAzd3VDZ0hMN1pPY0grVk9ucEpVRGd6UTR4SExJeGZDcEdoWmllejhQem9LdGdRTklNN2o5bW5hM203RndGQmRzNUJidUoyTzFJTFcxMUNXUm1PbDNNS29Nbm5YZmJ2cFhHUzBweDdJRGJzZWdvSFhTcDU1cjZmbmx5UkNNQmp0ako2Q200R0tLTUhtNTJDKzI3SEdQZFduTjZ2ZW1XS1J1UVF1cEo3OXRxajl0cURNcW00VWNvR3h5Y1pxVzZqV0dIdGxvL1RYWHFjVU1jTW1TaHlHSTNHTnR2S214N3VSMzJjazlkanRTV1M3ZTVQYUhBeUJzS3hHeHlvT05qM2Y2M3FTYTdiOHVXN3FkUktkTFZuaEJKSnlkcWxtbDhOUWE5WTNJbG5hSXE2Z0ZRRDNacUhXTjlIQkFGSXkzajRWTk9HYnFjV1YxTEpidXNIYUpsenN1Y2JiMXB5YlEraTJLS1VUbTllV01uY05GZ0g4YVhhandqcDB0bjZ2RTFyYnlNTUJzTVQzK2RLZEVuWFhkY3ZiU2VROWxib3JSVy9OZ01Ebm1ZK1BkN3FrRnZwRU50S3hNazl3enRrTEkyUXZ1SFFVRmU2VHdPbHRybG5jRFUyWm9MbEdLQzNJNXVWZ2NaejA4NnQzdnBMYlBod2lSQkZPZDhZUHVwVlFGRkZGQTNhb0FBcmtiaFNLZ2VzM2JoaXZON3FtdXV6Q0dOYzV4eU1mbFVBMXdOSHBrMXljZXhIbmZ4NWMwRlE4UVhSdWRadVhVN0tlVmZoVnEzVmlscHdwSHA4WVZUSGFZQ0h1SU9UOFNEVlY2TlpIVjlmdExVZ250NVJ6ZVF6ay9oVnY2dXZyZHNaL2FXTHRGTGN2WEJVQS9IMmFMTHE3VmxxMXc2ZllyOXhCN0pGTXpRTThZWVlESHhOV2ZxSEJGdmNNVEZQS2hYT2M0d2Z3cEphZWowdk1yVFRza1hMdVZJSkhsMHFTYVhQTzUzYUJhYnBKdVp2Yis2TjJJck92V2FycGtjcUFERG41ZEt0U3g0U3NBaEVVczRRSXo4MlZ5MlBoVFBxSENVRTNEWE9zc3hKU1U0T01aQjkxVmxHdlJ4Sm1hOHRpZnZSYzZEekIzL0FBcXhMbUlUYVBMY1JEMm84RnNlWGZWUmNQWEw2VnJsbE1qRUJaZ0c5eE9EVnhzeTJONkhVWnRMazhrcW5vcGJiUHUzb0dtMHVtaGRaQVRna1pBcFp3VE9MRFhyTFRwYzlwSmNTT2hBMlpXeVJqK2RNdHdodEw2VzF5ZnM1T1VlN2I4NmNOQzdTYmpEaDJSZDFodW1WaDRCa1A1VUZzM3NxeExudjYvaFVXMWhqTkp5QVpESXJaOTdFRDZVOTY2N0xDV1Q3eS96Rk1jTXhsa2FWUmtCVnhub1BaMno3aVNhQ25PT24vcldLMkJ6MmE1UGh2OEErMVBQRDFvZzRMdDFjQU5OZmRxYy90QUt5MUYrSlpEZWNUWGZaNWJNblpvRDEyMi9HclZ0TkV0cDdUUzdVODhjRUxsUFl4bmJidzh6VXMyMWpsNjNhRHo4MS9BR2NEbVhLQWp2eFRLMm0zQ3NRRXlmRVZZeThLMnlYdDliTE5NR2pKZGVuY2R4MDhLVmFid25ZM0Z4Mm5yRTVpWmViR1I3TzN1cEpxSmxsY3J1cS90ZE5XMllTU2dHUWRGRytQZlNtNFFpYVpjZElmcWFtdHZ3aGFTdVpqTk9VbGxFY2VDT2c2bnBXeWNKMlUrclh5R2E1NVVqeCt6NCs2cWluYisyTmhxUkFHQ09WeDhnYXR6VExzemFSWTZyRjFhTUNRZmhWZWNhUWlQVlZrakI1QWdRRTkrTnY1VkpPQk5RRXVoVFdya25zV3hrOUFEUVBHdEtrZDRzMFdPU2RBdzkvZlVoOUhrdmFhdGNlSFliZnhpb2pxTTJZRmladmFna0pIK0Uvd0R0VW45SERaMXFjZjhBNlhQL0FLMW9JbnJCTDNxeGdBZ08waitJOXJBL0hOV0V6Q0pKRjVsKzR2S3VSbkdLcjY0NVpkVHVEa0U5dXNYVHdiSit0VDdVWVkwRThySXBkQ1FqNDNBb0txMXVVdnJkd3hQZ052ZFhBWE5zbHE1TGp0VVBOaklCK0ZJdGRtWVhGOU1wWUZGMks5YzkxUUc4dW5hY2UwU3luZHM5YTU1YzMxajFlR1h4WS9sK3BMZUdhUzZKVWtrNzU4S1FlclN2S0FaVGttbHVuM0l1cmRKZjJpdUc5OUUwVEJ3M05qZXVrbW5tdHQ1cDZzTkZES015Uzh6WTZOakZhNmpwNzJlcFdrUWtaMGJHU3h6dm1uSFNXYnN3YzgzeDZVNFhWa1pKVXVEdnk3Z0dpRmtFNFdKVUo2REhTcmR1cHM2Sk9CbmxOdjMrNnFXdDNMU0VFWU9maFZ6VFdNbXBhSmVXU1N0RTh0cVVXVmVxa3IxK2xCR0VRTWVZSGFsV3VyemVqVFZWR01rLy93QjBxaDM0dTRvMFcvYTN1N21UbWpPQ3NneXB4NzZ0dlROY200azlDMnAzc2thUnlDUm95RTZIbFpOL3hvSzVueUlJK1Rvdk56TVc2QUhvSzR4eXJJd1lEQkIySnA0c2JSWjRnU0F5a25JWWVPS2NZOUd0MklMUktBTnhzQlFjYldUdFlJejNjdU1VMXpsb3BKeGtjenlIcDFJL2xVcWkwK0dQb3VCanBqYWtzdkRsdE5QSk9aWmdYSllnRVkrbFN6YmVHZnB0RmhrREkySGNLMkdDQnR2VWxYaHEyemd5VEtldTVINGJWbitqbHBnL2F6NDk0L0txd2krTUVuYnc2VTZhRDdWK3c1aUIyYmRCbndwMEhEbHBqUGJ6bkhka2JmaFhXMzBtQ3dtTWtja2pFakJERVlIVHdIamdVRzU1QTQ1ZVlkK2NaLzEvNzFvWHlwSVVxMiszVTQvMXY4YTZFRmlBRDdQZUNEbnIxcldRTUdIczV5TTV4OGYrVkIwaWN4bkNIZGpndVJ6ZjZIV3BoeEhJVHdsb3pqbVVFTGtFZjNPK29jaFVmWmxTTTVHMndQOEFyTlM3aVovL0FJUzBRZ2s4d0h4OWlnaXF1eXVHRGtNT2hCNmU2bSsvc0JNcGtoQUVneVNnR0ZmM2VCK3RLUXg5bzVHMk90YjU1d1ZCTzQ2MEVNdkpwWU96RXZNbVg1R1R2QUlOTWswbkxDa0ErNkFDU0RuTlQvVWRKZzFPTUpKN0VpYkNWUnY3ajVWRkp1RzVMZVF4dXpIQjJaUnN3OFJ0VXMyNlk1K3NzbjAyeEg3TVkrbEtJbFBObk85TzF0dy9IMmE4enljM2Z1TUNsUTBLM0EvV3krZU1WWE14dkt5cGhUVDNvZDlPdHRNaG5rS0YxeWhZNE8zaFhHYlNiWkdSV21sSE41ak5LYld5aXQxSVdTVGxmY2x0K2c4cUJ6aXVDMDZNWGtqbUI5bVdKK1YxejRFVllPajYzclN3a3oyMFdvUkQ3clJuc3BjWUdCeS9kUGZ2a0dxNnQzQ01DUU4vTDhLbk9nM2I4MjhtQXdJVXQreHQzZTdOQktkTjRnMC9VSkNycWJTNVJnaGh1MUtPR1BRTG5aaWZJbW5xbWkzbGpOd1N5eFNGbkdNWVBUdjkrNHAzb0NpaWlnalhFNnMweWdrOGpXNVhIbnpqUDRFMUJlUDUwc3VHVEVuM3BUZ0RmcWVwK1cxVDdYNWd1b1dzTHFBanhzUTU3am5wK0ZWaDZVNUdTMjA2Qm05cG1MRWVBd2NEOGFDTytqNnhNbXVldG5ZUWxVSGp6TWNmVE5XZXRzSDBhL2pQVkdWdmhrMUZ2UjVZTkhwOXRJdy9YenRQMDZCUnlqOFFhbjBVSVByY0lHZTFqUHpGQXhMUDJ0cmJ1K2VTWmV4Y2o5bHh0ekQ4S2NYak52dytrU2pNa2poRlB2cHFzMUUybjNsc3g5cU05b244eFR2cGg5ZnQ3UW5jdzdON3gzMEdVajlXdHJ0QVFSRGJpUElIei9HbXlmN0hoS054MWRtSHpOUFYwT1RUTlJrd1J6RHFmZUthTlZqeHduQUUvWWt5Y1VGR2FuQzFycVZ4R2RzT1NOL0hjZldyU2p2VGU2SGFOekQ3V0JlVnozUGpwOHh0NTFBdUw3VXhYc055QnRNbUNmTmFVY1AzNU9pdkF6WUNTSGxiUFR2K3RCSUh1dldyMkdadnZPTXllOWRqOUtmZURnVHhMWXR1VjdiYnkyTlEvVG05WXVwQzJ3UUZ2aWV2MHFjOEZBSFdiWTQyN1lFZkkwRmc2bmd4emc3N0FnZUpHLzhBS283YjRPa3U0VDdNb1dZamJtR09ueDZlNFV1NGgxU08ya25RRWN5akh4d0RUUGFYZ3V1Rkw0aHdJNHc0YkdOdHM0OHNENjBGUDhQeG05NHZ0cEpQYkFtTXplNFpQNVZkVm5iOW5ZV2hJM0I3VDRtcXo5R3RpTG5VYjJZNHlrS3hqL2pPK1BsVnZYRVlqVUFEQUEyOHFCazFGdlUrSlVtNkpLTW56RFZ0WU42cGVYbG9NZTE5ejNWbmlHTXZhMjF5QWVkY0thNE0vTk5hWGlBL2RBZWdmSUxZUm16aC9jR2NEdXBCWVplODFOaDNoZ1BoVDVibFpabzVWNzk4MHk2WkdSZTNhSHZsYjhhQ3ErTGJjU2FkSytEenhTQnMvR21UZy9VUFZkUW50MlljazBlNDh4MHFaNjViQ1VYMXZnRG1EZGZMSnF0Tk1mc05YakIyM0ttZ21WNWRNOHp4ZysyUUZCODg3VllQbzJCL1R0enpkZlZnUC9XdFZiTElFMUszTEhibUI2MWFYbzBmdE9JTHR1NHdELzhBTmFDS2FReVhXdDJ1UnRQZkZpUEhMWStnRlRuV3JneGFaS3g2NEpOVjd3UGROZmEvYnRLQUNzMDJBUDdwYkIvQ3BWeFBkbjlEdTJjY3lFMEZPYTlmOHR0S0FEenMzS0NQUC8ycUdrbGpudk5URFVMZUs4dG93eFZUejh6bnZJR2FRTERaMjQ1WUlBVy9mZmNtcEpJM2xuY3BKZmpscFRHM3NXbExjcDVzZ0h2cGNiZ3lFQW5wVGZmTWlSY29VYzNmU3pUcmZ0OU9TNFJBNTVpckR3eFZZT09tYW0xck1WNXRtNjFNbDFOWHNobjkzQkhmVUJFUDJvNW9nUGhVczBWclVxaXZiSVNUam1id29GdG8yL01Ua0hwVjU2ZmR4UVdEVFNON0tybmYzYjFVNlBvNndxb3RvUnlqZnI3UnJoclBHTTM2UDlVZ2ZCWVlPTzRlRkJIT0kxdGRVbXVXa1FNclNzeW53R1NhbWZCVmcwdm9QMVcwdCtkajZ6TVJqcnNVWS9TcXd2NzFsanhra21yajlGQTUvUmpjcXgyZTdtQko4d2dvSXBwRUhKcHNkeE12SzBqZlpMayswcDN6VHNwQU93N2hqek5NcVN1bW9pemtsYVZJQ1ZRRTdBS2U2bjhLckJteGhldWU3RkJqN294Z2sxaFpjdnlZSkFIVUdzeVJNRUxad2NaNVNLNTRPRHNjK1kvblFkK2R1aUhiNTFnRDJjWVB4RzljVWZBMlBYNFYwVml3emdzZS9Cb0FuR1FUeTR6Zy93QXF3VGhCdm5JNm5yOHFDZmNNYmN0YUFnRTV4bkI2MEdnNU04ekFnWS8wUGxYTW9TZnZnSGJyMThmeStWZE9YMmxBR1d5ZDY1OHc2a0gzWW9NdkNjOHlqR01mRDRWTHVJRlljSTZHR1BQeXF2TnQ5NzdPb2h6OXhiYnI0VktlSjc0V1hDL0RuTS9La3pDTWhoMSt6L0NnaXVPYlBOakhjTWRhMC9heHk4dWVnOGE3elFZNW5CQ2dmUEZKK1ZTVkkzeDMwR1ZsSDNOeGtlRmRTQThaamtCZFNjanhYekZDQk00T0NCMXdkeldIQWRSM1p4MzBDQ2Uza3R4a01YakoyZm9QY2ZDa3JTa0hMTm5hbmpsSlU1WEtzTjg5Q0tSWGVuaFVhYTN6MmY3UzR5VndOL2hRSkJjY25LTUFIdXJET25VYjRwT010c3B3TTV6L0FLOHEyRGN2VEhUT1Nlb0hoUUxyTzJrbmtRUSswVGpZSDRWTXRJMHk0aWdMU3pyR0NRQ3JibkgralVRc3B1eVFnQTV4MXowMzYvaFRzTlRsN1BzNHBlVlJsY0U5VHRRV0ZhV2lKTmJzMDZIMmc3RUlSa2dnZnpxUVZWT2hheGQvcExUb2VkaWhrVUU1OFdXcldvQ2lpaWdoM0Z0NExmWDlJUnNGU0dJQjhTY2Z6cXR2U3dXL1M5Z0dPY3dNMk0vM3F1KzYwdXh2YmlHNHVyV09hYUQ5VTdqZFBkU0xVT0ZOQjFhVkpOUTBtMnVYUmVWV2tCSkF6bkhXZ2luQittbTAwVzBSd2N4VzZyN3MrMGZ4YW5sWEVWekdjYlp3YWtVZGpheElFamdSVkFBQUE4TmhXRHA5bVRrMjZFMEZkbFRZNjJ5SFpYT0Q3alMvU3Y4QVk3MldJNTVHSklQdnFZVGFOcHR4SUpKcktKM0hSaURtdGhwVmdHREMwaXlPL0JvR1BWSS82a3ZQN3cvblRYY0tINFptSVhPQUdGVFY3TzJraU1Ud295SHFwNkd1UTBxd0Z1YmNXa2ZZa1lLWU9LRHoxeGRidE5wSWwzUFpPQUFPNFkzcU84T3lyL3ROdXgrOE9ZZWZqWHBtYmhIaDY0aWFLYlI3VjQyKzhwQndmeHBKRjZQZUVJSDU0dUhyRkd4aklWdnpvS0cwMlpvN3U0UW5ydHZWaThHNUd0V0FBeURMa240R3B3dkF2Q3F1WFhRYk1NVGtubGI4NmNMWFFkS3NwVWt0ckNHSjBPVlpRY2o4YUN0ZU03a3J4UmZRSzJBM0psZkU4b29VVFdmQytyUWNvN0pyQ1YyYi93QzZRUjlLc2U2NGMwYTl2R3ZMblRiZVc0WWdtUmdja2dZSGY1Q3QzMEhTcExlV0JyQ0V4U3J5eUlRY01QQTcwRldlaVcwUHF0OWRzdjJaa1ZRM2p5Zy8vd0NoVmdTL2FsaFRwcDJoYVZwTnMxdnA5aERiUXMzT1VqQkFKOGV2a0tVK3BXMmM5Z21hQ0xUeENhMmt0bXpuSkswMGFhQ3lTVzdkVU93cWZtd3RHZm1OdWhieHJrbWs2ZkhJMGlXa1N1M1VnSGVnYU5ObTVVQ01jWTJGSkxST1RYTGxjZFJ6VkpsMCswUTVXM1FIcnRRTlB0Qk9aaGJwMnBHQzNmaWdxSFhDWXRWdUF3TzVZVlZHclF0WmF0SU1FZTJHRmVxcmpoelJycVF5VDZiYnlPM1ZtQnlmeHBCYzhBOEpYa25hWEhEOWxJL1RMS2Z6b1BQRjVNWHU3WmxCUE1QNVZhdm9tbVY5WnVWTEF5QzNHUjRlMnRUUmVCT0ZWWkdYUWJJR1A3cDVUdCtOTGRNNGMwYlJydVM3MDNUWUxXNGxYbGVTTUVGaG5PT3ZpQWFEejk2UGJpNFhpMlZDVjdPRkxsK200M1A1MDljZGE5RGFXeHRZMlZwaUNHVWZzOUt0Mno0SzRhMCs0ZTR0TkZ0SVpuQkRPaW5KQjY5L2ZYSzU0QjRUdkpXa3VkQXNwWFk1TE1HSkorZEI1WmVSekdNbmRxd3VVeXhIUVorTmVvditqamczL3dBTjJIOExmblFmUnp3YVFRZUhMREI2K3kzNTBIa3FWbmxiY2UrcFJ3NE96MDREbFB0WlA0MTZLLzZNK0NmL0FBenAvd0RDMzUwcGg0QzRUdDBDUmFCWklvNkFLMzUwSG5xUzM5ck9EV1VrbGpHRkdLOURuZ25oZzlkRHMvNFQrZFkvb053di91S3ovaFA1MEhuczNFaWpkalNOM1krMWs1ODY5SG5nVGhWdXVnMlIvd0NGdnpyVThBOEpucncvWmZ3dCtkQjVjdW5hV2MrVzFYbjZObU52Nko3aHlOMXZITy8rS09wWi93QkhQQjJjL3dCSExEK0Z2enAzczlDMHV3MDF0T3RMQ0dHelppelFvRHlrbkcvWHlIeW9LVTFGUmFjWVhLdi9BTnBLV0JBMnczaFQxRTNNb3gwWFlaNmJISDhxc3E0NFcwSzZuN2VmU3JhU1hBSE93T2NaejQxMFRoN1I0MTVWMDZBTDRZUGpueG9LemxZeUFuQjJIK3Mxd0xkWFpXejRuWWtlWXEwMjRkMFp1dW13SDRIODZ4L1J6UnM1L1JzR2NZNkg4NkNxbFp6azVPRDM0N3ZBVjNMbGM4cnRrZXlEamIzMVozOUc5Ri8zYkI4aitkQjRiMFU5ZE50K21PaC9PZ3E1bUhRNUoyMno4cTJKQzdnRW56cTBEdzVveElKMDIzeU44NFA1MWdjT2FNQmdhYkJqM0g4NkNyMkF4bkJ5ZkRwV2tudDU3Z1J1ZkNyVEhEZWlnQURUYmZBNmJIODZEdzNvcE9UcHR2OEFJL25RVk5saVNDMmNIT01lRk92cEhCSEFYRFJ6dXJxYy93RGwxWVo0YTBRbkoweTN6N2orZGRiN1F0SzFLemhzNzJ3aG50NGYxVWJnNFRiRzIvaFFVenBlcEhWTE5lWVlsanh6QURxT2xLRUdIOGo0VmFkdHdmdzdac1d0dEh0WWkyeEtnNy9qWFgrakdoNHgraTdmSHVQNTBGVTU1R0tnTVQxSUhkVzRKS2hnblRwdGpOV24vUmpRL3dEZGR2OEFJL25XMzlHOUcvM2JiL0kvblFWZW9WUGFiMmxHQmcvNjZWaU15eG9Xa0lEQmlWWkQxWFBzOWZ4cTB2Nk9hTi91MjMrUi9Pc0hoelJqMTAyMytSL09ncVc1MHRMbFRMYkJJNVd6elJqbzNtRDNlNm1ZeE1qbm5SZ1ZQdEJ0aU1WZW45SGRIMi9xMjMyOGorZGFTOE1hSE8vUExwZHM3WXhrZzUrdEJTcUtwQUJCSTZEQjdqWFJuWitYbUJHQ0Q0K05YSC9SUGgvL0FIUmEvd0FKL09nOEo2QWV1a1d2eVA1MEZWNk5NejY1cGlndG4xbU1IdysrS3UwOWFhSWVGOUNnbWptaTB1M1NTTmc2TUFjZ2pvZXRPOUFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUWYvL1omcXVvdDsgYWx0PSZxdW90O1lvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcywgc29ycnkmcXVvdDsvPg0KPGgzPlN0eWxlc2hlZXRzOjwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cywgaWYgdXNpbmcgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4gIEJlY2F1c2UgdGhlIHNtYXJ0eSBzeW50YXggaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGluc2lkZSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcgeW91IHV0aWxpemUgdGhlIG1vZHVsZSB1c2luZyB0aGUgW1sgYW5kIF1dIGRlbGltaXRlcnMuICBpLmU6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz5kaXYuaGVhZGVyIHsgYmFja2dyb3VuZDogdXJsKFtbQ0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL3BpY3R1cmUuanBnJiMwMzk7IG5vdGFnPTFdXSk7IH08L2NvZGU+PC9wPg0KPHA+QmVjYXVzZSBzdHlsZXNoZWV0cyBhcmUgZ2VuZXJhdGVkIG9uIG1vZGlmaWNhdGlvbiBhbmQgc3RvcmVkIGluIHRoZSBmaWxlc3lzdGVtIHRoZXJlIGlzIG5vIHdheSB0byBkZXRlcm1pbmUgZHVyaW5nIHRoZSByZXF1ZXN0IHdoaWNoIGJyb3dzZXIgaXMgcmVxdWVzdGluZyB0aGUgc3R5bGVzaGVldCwgdGhlcmVmb3JlIGVtYmVkZGluZyB3aWxsIGJlIGRvbmUgc3RyaWN0bHkgYmFzZWQgdXBvbiB0aGUgcHJlc2Vuc2Ugb2YgdGhlIG5vZW1iZWQgcGFyYW1ldGVyLiAgSWYgeW91IGhhdmUgY2hvc2VuIHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHlvdXIgc3R5bGVzaGVldHMsIFlvdSBtYXkgbmVlZCB0byBhZGQgYWRkaXRpb25hbCBzdHlsZXNoZWV0IHN1cHBvcnQgZm9yIHRoZSBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcy4gIGkuZTogIElFNi48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eSYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnRG9lcyB0aGUgVVJMIGFib3ZlIGFjb3VudCBmb3IgdGhlIGNhY2hlIGRpcmVjdG9yeSAoX0NHU21hcnRJbWFnZSknOwokbGFuZ1snaW1hZ2VfdXJsX3ByZWZpeCddID0gJ1ByJmVhY3V0ZTtmaXhlIGRlIGwmIzAzOTtVUkwgZGUgbCYjMDM5O2ltYWdlJzsKJGxhbmdbJ2luZm9fY2FjaGVfYWdlJ10gPSAnU3AmZWFjdXRlO2NpZmllIGwmIzAzOTsmYWNpcmM7Z2UgbWF4aW11bSBkJiMwMzk7dW4gZmljaGllci1pbWFnZSAoZW4gam91cnMpIGF2YW50IHF1JiMwMzk7aWwgc29pdCBzdXBwcmltJmVhY3V0ZTsgZXQgcmVnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTsuIENlY2kgZXN0IHV0aWxlIHNpIHZvdXMgYXZleiBjaGFuZyZlYWN1dGU7IGNlcnRhaW5zIHBhcmFtJmVncmF2ZTt0cmVzIGRlIGcmZWFjdXRlO24mZWFjdXRlO3JhdGlvbiBkJiMwMzk7aW1hZ2VzLCBvdSBwb3VyIHImZWFjdXRlO2d1bGVyIGwmIzAzOTtlc3BhY2UgZGlzcXVlIHV0aWxpcyZlYWN1dGU7LiBVbmUgdmFsZXVyIGRlICZxdW90OzAmcXVvdDsgZCZlYWN1dGU7c2FjdGl2ZSBsYSBzdXBwcmVzc2lvbiBhdXRvbWF0aXF1ZS4nOwokbGFuZ1snaW5mb19lbWJlZF9tb2RlJ10gPSAnVGhpcyBzZWxlY3Rpb24gZGV0ZXJtaW5lcyBob3cgdGhlIHtzbWFydGltZ30gdGFnIHdpbGwgZ2VuZXJhdGUgb3V0cHV0LiAgSWYgJnF1b3Q7bm9uZSZxdW90OyBpcyBzZWxlY3RlZCBubyBpbWFnZSBlbWJlZGRpbmcgd2lsbCBiZSBwZXJmb3JtZWQuICBJZiAmcXVvdDtzbWFydCZxdW90OyBpcyBzZWxlY3RlZCB0aGVuIHRoZSBzeXN0ZW0gd2lsbCBkZWNpZGUgYmFzZWQgb24gdGhlIGltYWdlIHNpemUsIHR5cGUsIGFuZCB0aGUgYnJvd3NlciB0aGF0IGlzIHJlcXVlc3RpbmcgdGhlIGltYWdlLiAgT3RoZXIgb3B0aW9ucyBpbmNsdWRlIGFsd2F5cyBlbWJlZGRpbmcgYmFzZWQgb24gdGhlIGltYWdlIHNpemUsIG9yIHRoZSBpbWFnZSB0eXBlLic7CiRsYW5nWydpbmZvX2VtYmVkX3NpemVsaW1pdCddID0gJ0lmIHRoZSBlbWJlZGRpbmcgb3B0aW9uIGlzIGRldGVybWllZCBieSB0aGUgaW1hZ2Ugc2l6ZSwgc3BlY2lmeSB0aGUgbWF4aW11bSBzaXplIChpbiBraWxvYnl0ZXMpIGZvciBpbWFnZXMgdG8gYmUgZW1iZWRkZWQgKDMyIGlzIHJlY29tbWVuZGVkKS4nOwokbGFuZ1snaW5mb19lbWJlZF90eXBlcyddID0gJ0lmIHRoZSBlbWJlZGRpbmcgb3B0aW9uIGlzIGRldGVybWluZWQgYnkgdGhlIGltYWdlIHR5cGUsIHNwZWNpZnkgdGhlIGV4dGVuc2lvbnMgb2YgdGhlIGZpbGVzIHRoYXQgc2hvdWxkIGJlIGVtYmVkZGVkIGhlcmUgc2VwYXJhdGVkIGJ5IGNvbW1hcy4gIFRoaXMgb3B0aW9uIGlzIG5vdCBjYXNlIHNlbnNpdGl2ZSc7CiRsYW5nWydpbmZvX2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ0lmIHlvdXIgQ0ROIGlzIHBvaW50aW5nIGRpcmVjdGx5IGF0IHRoZSBpbWFnZSBjYWNoZSBkaXJlY3RvcnkgdGhlbiB5b3UgbWF5IHdhbnQgdG8gdHVybiB0aGlzIG9wdGlvbiBvbi4nOwokbGFuZ1snaW5mb19pbWFnZV91cmxfcHJlZml4J10gPSAnU3BlY2lmeSB0aGUgVVJMIHRvIHByZWZpeCB0byBhbGwgZ2VuZXJhdGVkIGltYWdlcy4gIEJ5IGRlZmF1bHQgdGhpcyBpcyB0aGUgdXBsYW9kcyBVUkwsIGhvd2V2ZXIgaWYgeW91IGhhdmUgeW91ciBvd24gQ0ROIChvciBtdWx0aXBsZSBkb21haW5zIHBvaW50aW5nIGF0IHRoZSBzYW1lIGRpcmVjdG9yeSkgWW91IG1heSB3YW50IHRvIHNwZWNpZnkgYSBkaWZmZXJlbnQgbmFtZSBoZXJlJzsKJGxhbmdbJ21heF9jYWNoZV9hZ2UnXSA9ICcmQWNpcmM7Z2UgbWF4aW11bSBkZXMgZmljaGllcnMgZW4gY2FjaGUgKGVuIGpvdXJzKSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1VuIG1vZHVsZSBkZSBnJmVhY3V0ZTtuJmVhY3V0ZTtyYXRpb24gZCYjMDM5O2ltYWdlcyBldCBkZSBiYWxpc2VzLWltYWdlcyBwb3VyIENNU01TJzsKJGxhbmdbJ21zZ19jYWNoZWNsZWFuZWQnXSA9ICdSJmVhY3V0ZTtwZXJ0b2lyZSBjYWNoZSB2aWQmZWFjdXRlOy4gJWQgZmljaGllcnMgc3VwcHJpbSZlYWN1dGU7cyc7CiRsYW5nWydtc2dfY2FjaGVyZW1vdmVkJ10gPSAnQ2FjaGUgc3VwcHJpbSZlYWN1dGU7JzsKJGxhbmdbJ21zZ19wcmVmc3VwZGF0ZWQnXSA9ICdQciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzIG1vZGlmaSZlYWN1dGU7ZXMnOwokbGFuZ1snbm9uZSddID0gJ0F1Y3VuJzsKJGxhbmdbJ3BhcmFtX2FsdCddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIGFsdCBhdHRyaWJ1dGUuICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgJnF1b3Q7bm9hdXRvJnF1b3Q7IHBhcmFtZXRlcic7CiRsYW5nWydwYXJhbV9jbGFzcyddID0gJ1V0aWxpcyZlYWN1dGU7IGxvcnMgZGUgbGEgY3ImZWFjdXRlO2F0aW9uIGQmIzAzOTt1biB0YWcgPGltZz4uIFBlcm1ldCBkJiMwMzk7YWpvdXRlciB1bmUgb3UgcGx1c2lldXJzIGNsYXNzZXMgQ1NTIGF1IHRhZywgcGFyIGV4ZW1wbGUgOiBjbGFzcz0mcXVvdDtmYW5jeWJveCB0aHVtYm5haWwmcXVvdDsnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JsdXInXSA9ICcodG91dGVzIHZhbGV1cnMpIFNwJmVhY3V0ZTtjaWZpZXogdW5lIHZhbGV1ciBwb3VyIGNlIHBhcmFtJmVncmF2ZTt0cmUgcG91ciBham91dGVyIHVuIGVmZmV0IGRlIGZsb3Ugc3VyIGwmIzAzOTtpbWFnZSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfYnJpZ2h0bmVzcyddID0gJyhlbnRpZXIpIEF1Z21lbnRlIGxhIGx1bWlub3NpdCZlYWN1dGU7IGRlIGwmIzAzOTtpbWFnZSBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTtlIHNlbG9uIGwmIzAzOTtlbnRpZXIgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29sb3JpemUnXSA9ICcocixnLGJbLGFscGhhXSkgSWRlbnRpcXVlICZhZ3JhdmU7ICZxdW90O2ZpbHRlcl9ncmV5c2NhbGUmcXVvdDsgc2F1ZiBxdWUgdm91cyBwb3V2ZXogc3AmZWFjdXRlO2NpZmllciBsYSBjb3VsZXVyIGV0IGxhIHZhbGV1ciBhbHBoYSAodHJhbnNwYXJlbmNlKSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29udHJhc3QnXSA9ICcoZW50aWVyKSBNb2RpZmllIGxlIGNvbnRyYXN0ZSBkZSBsJiMwMzk7aW1hZ2UgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7ZSBzZWxvbiBsJiMwMzk7ZW50aWVyIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTsnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2Nyb3AnXSA9ICcocGVyY2VudFssaF9hbGlnbix2X2FsaWduXSkgLSBQZXJmb3JtIGNyb3BwaW5nIG9uIHRoZSBpbWFnZSBzcGVjaWZpZWQuIENyb3AgcGFyYW1lZXRlcnMgYXJlIHNwZWNpZmllZCBhcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHBhcmFtZXRlcnMuICBUaGUgZmlyc3QgKHJlcXVpcmVkKSB2YWx1ZSBpcyBhbiBpbnRlZ2VyIHBlcmNlbnRhZ2Ugb2YgdGhlIG9yaWdpbmFsIGltYWdlIHNpemUuICBUaGUgb3B0aW9uYWwgc2Vjb25kIGFuZCB0aGlyZCBwYXJhbWV0ZXJzIGFyZSBvbmUgb2YgbCxjLHIgKGxlZnQsY2VudGVyLHJpZ2h0KSBhbmQgdCxjLGIgKHRvcCxjZW50ZXIsYm90dG9tKSBzcGVjaWZ5aW5nIHdoZXJlIHRoZSBsb2NhdGlvbiB3aXRoaW4gdGhlIHNvdXJjZSBpbWFnZSB0byBjcm9wIGZyb20uICBpLmU6IGNyb3A9MzMsYixyIHRvIGdyYWIgYSBjcm9wIG9mIDMzJSBmcm9tIHRoZSBib3R0b20gcmlnaHQgb2YgdGhlIHNvdXJjZSBpbWFnZS4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX2VkZ2VkZXRlY3QnXSA9ICcodG91dGVzIHZhbGV1cnMpIEFjY2VudHVlIGxlcyBib3JkcyBkZSBsJiMwMzk7aW1hZ2UnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2VtYm9zcyddID0gJyh0b3V0ZXMgdmFsZXVycykgJnF1b3Q7UmVwb3Vzc2UmcXVvdDsgbCYjMDM5O2ltYWdlJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9ncmF5c2NhbGUnXSA9ICcodG91dGVzIHZhbGV1cnMpIENvbnZlcnRpdCBsJiMwMzk7aW1hZ2UgZW4gbml2ZWF1eCBkZSBncmlzJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9tZWFucmVtb3ZhbCddID0gJyhhbnl0aGluZykgQXR0ZW1wdCB0byBhY2hpZXZlIGEgJnF1b3Q7c2tldGNoeSZxdW90OyBlZmZlY3QnOwokbGFuZ1sncGFyYW1fZmlsdGVyX25lZ2F0ZSddID0gJyh0b3V0ZXMgdmFsZXVycykgUGFzc2UgbCYjMDM5O2ltYWdlIGVuIG4mZWFjdXRlO2dhdGlmJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9waXhlbGF0ZSddID0gJyhzaXplWyxhZHZhbmNlZF0pIFBpeGVsYXRlIHRoZSBpbWFnZSwgc3BlY2lmeSBhbiBpbnRlZ2VyIHNpemUgYW5kIGFuIG9wdGlvbmFsIGJvb2xlYW4gKGRlZmF1bHQgaXMgZmFsc2UpIHRvIGVuYWJsZSBhZHZhbmNlZCBwaXhlbGF0aW9uJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemUnXSA9ICd0eXBlLG51bWJlclssbnVtYmVyXSAtIFBlcmZvcm0gYSByZXNpemUgb2YgdGhlIHNvdXJjZSBpbWFnZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5wLG51bWJlciAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuPC9saT4NCiAgPGxpPncsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy48L2xpPg0KICA8bGk+aCxudW1iZXIgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIGhlaWdodCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWgsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIGhlaWdodCBvZiA4MCBwaXhlbHMuPC9saT4NCiAgPGxpPmMseCx5IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiByZXNpemU9Yyw1MCw3NSB0byBjcmVhdGUgYSB0aHVtYm5haWwgdGhhdCBpcyA1MHg3NSBwaXhlbHMuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yb3RhdGUnXSA9ICcoYW5nbGUsY29sb3IpIFNwZWNpZnkgdGhlIGludGVnZXIgYW5nbGUgKGNvdW50ZXIgY2xvY2t3aXNlKSB0byByb3RhdGUgdGhlIGltYWdlLCBhbmQgYSBjb2xvciB0byBmaWxsIHRoZSBlbXB0eSBwaXhlbHMgd2l0aC4gIFRoZSBpbWFnZSBpcyByb3RhdGVkIGFib3V0IGl0cyBjZW50ZXIuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl93YXRlcm1hcmsnXSA9ICcoYW55dGhpbmcpLCBTcGVjaWZ5IHRoYXQgdGhlIHdhdGVybWFyayAoYXMgc3BlY2lmaWVkIGluIHRoZSBDR0V4dGVuc2lvbnMgYWRtaW4gcGFuZWwpIHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBpbWFnZSc7CiRsYW5nWydwYXJhbV9oZWlnaHQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBoZWlnaHQgYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOwokbGFuZ1sncGFyYW1fbm9hdXRvJ10gPSAnRG8gbm90IGF1dG9tYXRpY2FsbHkgY2FsY3VhbHRlIHBhcmFtZXRlcnMgZm9yIHRoZSBpbWcgdGFnLiAgVGhpcyBtYXkgY2F1c2UgeW91ciBzaXRlIHRvIGZhaWwgdmFsaWRhdGlvbiBpZiBzb21lIHJlcXVpcmVkIHBhcmFtZXRlcnMgKHdpZHRoLGhlaWdodCxhbHQpIGFyZSBub3Qgc3BlY2lmaWVkJzsKJGxhbmdbJ3BhcmFtX25vY2FjaGUnXSA9ICdEbyBub3QgYWxsb3cgdGhlIHJlc2l6ZWQgaW1hZ2UgdG8gY2FjaGUgaW4gdGhlIGJyb3dzZXIgKHVzZWZ1bCBmb3IgZGV2ZWxvcG1lbnQgcHVycG9zZXMpIHRoaXMgYWRkcyBhIHVuaXF1ZSBudW1iZXIgYXMgYSBwYXJhbWV0ZXIgdG8gdGhlIGltYWdlIHdoaWNoIHdpbGwgZm9yY2UgdGhlIGJyb3dzZXIgbm90IHRvIGNhY2hlIHRoZSBpbWFnZS4nOwokbGFuZ1sncGFyYW1fbm9lbWJlZCddID0gJ0ZvcmNlIHRoZSBpbWFnZSB0byBub3QgZW1iZWQuICBSZWdhcmRsZXNzIG9mIHNldHRpbmdzIGluIHRoZSBhZG1pbiBwYW5lbCwgdGhlIFVSTCBhbmQgdGFnIGdlbmVyYXRlZCB3aWxsIGJlIHRvIGEgZmlsZSBvbiB0aGUgc2VydmVyLiAgTm8gZW1iZWRkaW5nIHdpbGwgYmUgcGVyZm9ybWVkJzsKJGxhbmdbJ3BhcmFtX25vdGFnJ10gPSAnRG8gbm90IG91dHB1dCBhbiBpbWcgdGFnLCBvbmx5IHRoZSB1cmwgdG8gdGhlIGNhY2hlZCBpbWFnZS4gIFRoaXMgaGFzIG5vIGVmZmVjdCB3aGVuIENHU21hcnRJbWFnZSBpcyB1c2VkIGZyb20gd2l0aGluIGEgc3R5bGVzaGVldC4nOwokbGFuZ1sncGFyYW1fb3ZlcndyaXRlJ10gPSAnRGlzYWJsZSBhbGwgY2FjaGluZyBhbmQgZm9yY2UgcmUtY2FsY3VsYXRpb24gb2YgYWxsIGZpbHRlcnMnOwokbGFuZ1sncGFyYW1fcXVhbGl0eSddID0gJ1NwJmVhY3V0ZTtjaWZpZXIgbGEgcXVhbGl0JmVhY3V0ZTsgZGUgbCYjMDM5O2ltYWdlIGFmZmljaCZlYWN1dGU7ZS4gIE1ldHRyZSB1bmUgdmFsZXVyIGVudHJlIDAgZXQgMTAwLic7CiRsYW5nWydwYXJhbV9zcmMnXSA9ICdTcGVjaWZ5IHRoZSBzb3VyY2UgZm9yIHRoZSBpbWFnZSBwcm9jZXNzaW5nIChpZiBhbnkpIG9yIHRoZSBnZW5lcmF0ZWQgaW1nIHRhZy4gIE5vdGUsIHRoaXMgcGFyYW1ldGVyIGlzIGZsZXhpYmxlLCBhbmQgdGhlIG1vZHVsZSB3aWxsIGF0dGVtcHQgbWFueSBtZXRob2RzIHRvIGZpbmQgdGhlIHNvdXJjZSBpbWFnZSBmaWxlIG9uIHRoZSB3ZWIgc2VydmVyIGFzIGZvbGxvd3M6DQo8dWw+DQogIDxsaT5GaXJzdCBsb29rIHRvIHNlZSBpZiB0aGUgc3BlY2lmaWVkIHNyYyB2YWx1ZSBleGlzdHMgYXMgYSBmaWxlIG9uIHRoZSBmaWxlc3lzdGVtLjwvbGk+DQogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHVwbG9hZHNfdXJsIChhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5waHApPC9saT4NCiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgcm9vdF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSBzc2xfdXJsIChhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5waHApPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3N0eWxlJ10gPSAnVXRpbGlzJmVhY3V0ZTsgcG91ciBsZSB0YWcgaW1nLCBwZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciB1biBzdHlsZSBhbHRlcm5hdGlmIHBvdXIgbGUgdGFnLiAgUGFyIGV4IDogc3R5bGU9JnF1b3Q7Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7JnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX3RpdGxlJ10gPSAnUmVuc2VpZ25leiB1biB0aXRyZSBvcHRpb25uZWwgcG91ciBsZSB0YWcgaW1nLiAgUGFyIGV4IDogdGl0bGU9JnF1b3Q7Q2VjaSBlc3QgdW5lIGFzdHVjZSZxdW90Oyc7CiRsYW5nWydwYXJhbV93aWR0aCddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIHdpZHRoIGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWxlIGluc3RhbGwmZWFjdXRlOyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVG91dGVzIGxlcyBkb25uJmVhY3V0ZTtlcyByZWxhdGl2ZXMgJmFncmF2ZTsgY2UgbW9kdWxlIG9udCAmZWFjdXRlO3QmZWFjdXRlOyBzdXBwcmltJmVhY3V0ZTtlcyc7CiRsYW5nWydwcm9tcHRfZW1iZWRfc2l6ZWxpbWl0J10gPSAnQmFzJmVhY3V0ZTsgc3VyIGxhIHRhaWxsZSBkZSBsJiMwMzk7aW1hZ2UnOwokbGFuZ1sncHJvbXB0X2VtYmVkX3NtYXJ0bGltaXRlZCddID0gJ1NtYXJ0IG1vZGUgYnV0IGxpbWl0IGltYWdlIHNpemUnOwokbGFuZ1sncHJvbXB0X2VtYmVkX3R5cGUnXSA9ICdCYXMmZWFjdXRlOyBzdXIgbGUgdHlwZSBkZSBsJiMwMzk7aW1hZ2UnOwokbGFuZ1sncmVzaXppbmcnXSA9ICdSZWRpbWVuc2lvbm5lbWVudCc7CiRsYW5nWydzbWFydCddID0gJ1NtYXJ0ICc7CiRsYW5nWydzdWJtaXQnXSA9ICdFbnZveWVyJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE3NzYxODc0NTktMTI4Nzc1ODE4Nzc3Nyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3NjM3OTc0MzUuMTI5NjgxMDA5NC4xMjk3MDg3NTY1LjEyOTcyMzkzNTQuMyc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyOTcyMzkzNTQuMy40LnV0bWNzcj1nb29nbGV8dXRtY2NuPShvcmdhbmljKXx1dG1jbWQ9b3JnYW5pY3x1dG1jdHI9Y21zbXMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyOTcyMzkzNTQnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdF9jYWNoZWNsZWFuZWQnXSA9ICdDYWNoZSBvcGdlc2Nob29uZCc7CiRsYW5nWydhc2tfY2xlYXJfaW1hZ2VfY2FjaGUnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgQUxMRSBiZXN0YW5kZW4gd2lsdCB2ZXJ3aWpkZXJlbiB1aXQgZGUgYWZiZWVsZGluZ2VuIGNhY2hlPyc7CiRsYW5nWydjbGVhcl9hbGwnXSA9ICdTY2hvb24gYWxsZSBiZXN0YW5kZW4gb3AnOwokbGFuZ1snY2xlYXJfbm93J10gPSAnTnUgb3BzY2hvbmVuJzsKJGxhbmdbJ2VtYmVkZGluZyddID0gJ0dlJmV1bWw7bWJlZGRlIGFmYmVlbGRpbmdlbic7CiRsYW5nWydlbWJlZGRpbmdfbW9kZSddID0gJ0FmYmVlZGluZyBpbnNsdWl0bW9kdXMnOwokbGFuZ1snZW1iZWRfc2l6ZWxpbWl0J10gPSAnSW5zbHVpdGJhcmUgYWZiZWVsZGluZ3Nncm9vdHRlIGxpbWlldCAoa2IpJzsKJGxhbmdbJ2VtYmVkX3R5cGVzJ10gPSAnSW5zbHVpdGJhcmUgYWZiZWVsZGluZyB0eXBlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfYWdlJ10gPSAnTGVlZnRpamRzIHZvb3JrZXVyIG9uZ2VsZGlnLi4uIEdlZW4gYWN0aWUgdWl0Z2V2b2VyZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW0nXSA9ICdPbmdlbGRpZ2UgcGFyYW1ldGVyIGluIG9wcm9lcDogJXMnOwokbGFuZ1snZXJyb3JfdW5rbm93bmZpbHRlciddID0gJ0NHU21hcnRJbWFnZSAtIE9uYmVrZW5kIEZpbHRlcjogJXMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQ2FsZ3V5cyBTbGltbWUgQWZiZWVsZGluZ2VuIFRvb2xraXQnOwokbGFuZ1snZ2VuZXJhbCddID0gJ0FsZ2VtZWVuJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2F0IGRvZXQgZGl0PzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNpbXBsZSB3YXkgdG8gcHJvY2VzcywgYW5kIGRpc3BsYXkgaW1hZ2VzIG9uIHlvdXIgd2ViIHBhZ2UuICBJdCBhbGxvd3Mgc2ltcGxlIGltYWdlIHByb2Nlc3NpbmcsIGFuZCB3YXRlcm1hcmtpbmcuICBUaGlzIG1vZHVsZSBtYWtlcyBkaXNwbGF5aW5nIHByb2Nlc3NlZCBpbWFnZXMgb24geW91ciB3ZWJzaXRlIHRyaXZpYWwuICBJdCBhbHNvIHByb3ZpZGVzIGZlYXR1cmVzIHRvIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIHJhdGluZyBvZiB5b3VyIHdlYnNpdGUsIG1ha2luZyB5b3VyIHdlYnNpdGUgcG93ZXJmdWwgYW5kIGZhc3QgYXQgdGhlIHNhbWUgdGltZS48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPlBvd2VyZnVsLCBidXQgc2ltcGxlIHRvIHVzZSBpbWFnZSBmaWx0ZXJpbmcgYW5kIHByb2Nlc3NpbmcuIEZpbHRlcmluZyBpbmNsdWRlczoNCiAgPHVsPg0KICAgIDxsaT5CbHVyPC9saT4NCiAgICA8bGk+QnJpZ2h0bmVzczwvbGk+DQogICAgPGxpPkNvbG9yaXplPC9saT4NCiAgICA8bGk+Q29udHJhc3Q8L2xpPg0KICAgIDxsaT5Dcm9wPC9saT4NCiAgICA8bGk+RWRnZSBEZXRlY3Rpb248L2xpPg0KICAgIDxsaT5FbWJvc3M8L2xpPiANCiAgICA8bGk+R3JheXNjYWxlPC9saT4NCiAgICA8bGk+TWVhbiBSZW1vdmFsPC9saT4NCiAgICA8bGk+TmVnYXRlPC9saT4NCiAgICA8bGk+UGl4ZWxhdGU8L2xpPg0KICAgIDxsaT5SZXNpemU8L2xpPg0KICAgIDxsaT5Sb3RhdGU8L2xpPg0KICAgIDxsaT5TZWxpY3RpdmUgQmx1cjwvbGk+DQogICAgPGxpPlNtb290aDwvbGk+DQogICAgPGxpPldhdGVybWFyazwvbGk+DQogIDwvdWw+DQo8L2xpPjxici8+DQo8bGk+U21hcnQgZGV0ZWN0aW9uIG9mIGltYWdlcy4gIFNwZWNpZnkgYWJzb2x1dGUgVVJMUywgYWJzb2x1dGUgcGF0aHMsIG9yIGZpbGVzIHJlbGF0aXZlIHRvIHlvdXIgcm9vdCBpbnN0YWxsYXRpb24uPC9saT4NCjxsaT5TbWFydCBhdHRyaWJ1dGUgZ2VuZXJhdGlvbiBmb3IgaW1hZ2VzLjwvbGk+DQo8bGk+UHJvY2Vzc2VkIGltYWdlcyBhcmUgY2FjaGVkIG9uIHRoZSBzZXJ2ZXIgZm9yIGZhc3RlciBzZXJ2aW5nLjwvbEk+DQo8bGk+VGhlIGFiaWxpdHkgdG8gdXNlIGEgc2VwYXJhdGUgVVJMIChDRE4pIGZvciBzZXJ2aW5nIGltYWdlczwvbGk+DQo8bGk+SW1hZ2UgcHJvY2Vzc2VzIGNhbiBiZSBjb21iaW5lZCwgYW5kIGFyZSBleGVjdXRlZCBpbiBvcmRlci48L2xpPg0KPGxpPlByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZW50IG9mIHRoZSB3ZWIgcGFnZSB0byBtaW5pbWl6ZSBzcGFjZS48L2xpPg0KPGxpPlByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGxpbWl0IGVtYmVkZGluZyBpbWFnZXMgc21hcnRseSwgb25seSB0byBicm93c2VycyB0aGF0IGFyZSBjYXBhYmxlIG9mIHVuZGVyc3RhbmRpbmcgdGhlbS48L2xpPg0KPGxpPkFsc28gd29ya3Mgd2l0aGluIHN0eWxlc2hlZXRzIHZpYSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcuPC9saT4NCjxsaT5Nb3JlLi4uPC9saT4NCjwvdWw+DQo8aDM+SG9lIG1vZXQgaWsgaGV0IGdlYnJ1aWtlbj88L2gzPg0KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gdXNlIGl0IGluIHRoZSBzYW1lIHBsYWNlIHlvdSB3b3VsZCB0aGUge2ltYWdlfSB0YWcuICBJLmU6IFNvbWV0aGluZyBsaWtlIDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Q0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyYjMDM5O308L2NvZGU+LiAgVGhpcyB3aWxsIGdlbmVyYXRlIHRoZSBpbWFnZSB0YWcgZm9yIHlvdSB3aXRoIG5vIHByb2Nlc3NpbmcuICBBbmQgaWYgcG9zc2libGUsIGVtYmVkIHRoZSBpbWFnZSBkaXJlY3RseSBpbnRvIHlvdXIgaHRtbCBvdXRwdXQuPC9wPg0KPHA+T2Z0ZW4gcGVvcGxlIHdhbnQgdG8gZGlzcGxheSBhIHdhdGVybWFyayBvbiB0aGUgaW1hZ2VzIHRoYXQgdGhleSBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZCB0byBwcmV2ZW50IGltYWdlIHRoZWZ0LiAgVGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUgcHJvdmlkZXMgc2V0dGluZ3MgZm9yIHlvdSB0byBjb25maWd1cmUgd2F0ZXJtYXJraW5nIGFuZCB5b3UgY2FuIGVuYWJsZSB0aGF0IHdpdGggYW55IGltYWdlIHdpdGggYSB0YWcgbGlrZSB0aGlzOiA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e0NHU21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTsgZmlsdGVyX3dhdGVybWFyaz0xfTwvY29kZT4uICBUaGlzIHdpbGwgcmVhZCB0aGUgaW1hZ2UsIGFwcGx5IHRoZSB3YXRlcm1hcmsgYWNjb3JkaW5nIHRvIHRoZSBzZXR0aW5ncyBpbiBDR0V4dGVuc2lvbnMsIGFuZCB0aGVuIGNhY2hlIHRoZSBhbHRlcmVkIGltYWdlLCBhbmQgdGhlbiBlbWJlZCBpdCBpbnRvIHlvdXIgb3V0cHV0LjwvcD4NCjxwPkFsc28sIFBpY3R1cmVzIHRha2VuIGJ5IG1vZGVybiBkaWdpdGFsIGNhbWVyYXMgYXJlIG9mdGVuIHRvbyBsYXJnZSBmb3IgdXNlIG9uIGEgd2Vic2l0ZSwgdGhlcmVmb3JlIHRoZXkgbmVlZCB0byBiZSBzY2FsZWQgYmVmb3JlIGRpc3BsYXllZCBvbiB5b3VyIHBhZ2UuICBUaGlzIGNhbiBiZSBkb25lIHF1aXRlIGVhc2lseSB3aXRoIGEgdGFnIGwgaWtlOiA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e0NHU21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTsgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9JiMwMzk7dywzNTAmIzAzOTt9PC9jb2RlPi4gIEFzIHlvdSBtYXkgdGhpbmssIHRoZSB3YXRlcm1hcmsgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBpbWFnZSBiZWZvcmUgaXQgaXMgcmVzaXplZCB0byBhIG1heGltdW0gd2lkdGggb2YgMzAwIHBpeGVscyAocmV0YWluaW5nIGFzcGVjdCByYXRpbykuICBUaGVuIHRoZSBhZGp1c3RlZCBpbWFnZSB3aWxsIGJlIGNhY2hlZCwgYW5kIGlmIHRoZSBicm93c2VyIGFsbG93ZXMgdGhlIGltYWdlIHdpbGwgYmUgZW1iZWRkZWQgaW50byB0aGUgSFRNTCBvdXRwdXQuICBJZiBlbWJlZGRpbmcgaXMgbm90IHBvc3NpYmxlIGFuIDxpbWc+IHRhZyB3aWxsIGJlIGdlbmVyYXRlZC48L3A+DQo8cD5Gcm9tIGhlcmUgeW91IGNhbiBjb21iaW5lIHRoZSBvcHRpb25zIGJlbG93IHRvIHBlcmZvcm0gYWxvdCBvZiBkaWZmZXJlbnQgZWZmZWN0cyB0byB5b3VyIGltYWdlcywgYnVpbGQgc2ltcGxlIGdhbGxlcmllcywgYW5kIGltcHJvdmUgeW91ciBzaXRlIHBlcmZvcm1hbmNlIGF0IHRoZSBzYW1lIHRpbWUuICBFbmpveSE8L3A+DQogPGgzPkEgU2ltcGxlIEdhbGxlcnk8L2gzPg0KPHA+VGhlIGNvZGUgYmVsb3cgdXNlcyB0aGUge0NHU21hcnRJbWFnZX0gbW9kdWxlLCBmYW5jeWJveCwgYW5kIGEgYml0IG9mIHNtYXJ0eSBtYWdpYyB0byBnZW5lcmF0ZSBhIHNpbXBsZSBsaWdodGJveCBzdHlsZSBhbGJvbSBmcm9tIGEgc3ViZGlyZWN0b3J5IG9uIHlvdXIgd2Vic2l0ZSwgd2hpbGUgcHJvY2Vzc2luZyB0aGUgaW1hZ2VzIGZvciB3ZWIgc3RhbmRhcmRzLCBhbmQgY3JlYXRpbmcgdGh1bWJuYWlscy48L3A+DQo8cHJlIHN0eWxlPSZxdW90O2JhY2tncm91bmQtY29sb3I6ICNkZGQ7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyZxdW90Oz48Y29kZT48c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMTo8L3NwYW4+IDxzY3JpcHQgdHlwZT0mcXVvdDt0ZXh0L2phdmFzY3JpcHQmcXVvdDs+e2xpdGVyYWx9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMjo8L3NwYW4+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiAzOjwvc3Bhbj4gIGpRdWVyeSgmIzAzOTthLmZhbmN5Ym94JiMwMzk7KS5mYW5jeWJveCgpOw0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDQ6PC9zcGFuPiB9KTsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA1Ojwvc3Bhbj4gey9saXRlcmFsfTwvc2NyaXB0Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDY6PC9zcGFuPiB7YXNzaWduIHZhcj0mIzAzOTtmaWxlcyYjMDM5OyB2YWx1ZT0mIzAzOTt1cGxvYWRzL2FsYnVtLyouanBnJiMwMzk7fGdsb2J9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNzo8L3NwYW4+IHtpZiBjb3VudCgkZmlsZXMpfQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDg6PC9zcGFuPiA8ZGl2IHN0eWxlPSZxdW90O3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDE1MHB4OyBvdmVyZmxvdzogYXV0bzsmcXVvdDs+DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gOTo8L3NwYW4+IHtmb3JlYWNoIGZyb209JGZpbGVzIGl0ZW09JiMwMzk7ZmlsZSYjMDM5O30NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjEwOjwvc3Bhbj4gIDxhIHJlbD0mIzAzOTtzaW1wbGVfYWxidW0mIzAzOTsgY2xhc3M9ImZhbmN5Ym94IiBocmVmPSI8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7Ij57Q0dTbWFydEltYWdlIHNyYz0kZmlsZSBmaWx0ZXJfcm90YXRlPTkwLDAgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9JiMwMzk7aCw1MDAmIzAzOTsgbm90YWc9MSBub2VtYmVkPTF9PC9zcGFuPiZxdW90Oz4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjExOjwvc3Bhbj4gIDxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Q0dTbWFydEltYWdlIHNyYz0kZmlsZSBmaWx0ZXJfcm90YXRlPTkwLDAgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSYjMDM5O2gsMTUwJiMwMzk7fTwvc3Bhbj4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjEyOjwvc3Bhbj4gIDwvYT4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjEzOjwvc3Bhbj4gey9mb3JlYWNofQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTQ6PC9zcGFuPiA8L2Rpdj4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjE1Ojwvc3Bhbj4gey9pZn0NCjwvY29kZT48L3ByZT48YnIvPg0KPHA+TGV0cyB0YWxrIGFib3V0IHRoaXMuPC9wPg0KPHA+TGluZXMgMSB0aHJvdWdoIDUgdXRpbGl6ZSBqUXVlcnkgdG8gY2FsbCBmYW5jeWJveCBvbiBhbnkgbGlua3MgdGhhdCBoYXZlIHRoZSAmcXVvdDtmYW5jeWJveCZxdW90OyBjbGFzcy4gIFRoZSBmYW5jeWJveCBqUXVlcnkgcGx1Z2luIGlzIGluY2x1ZGVkIHdpdGggdGhlIEpRdWVyeVRvb2xzIG1vZHVsZS48L3A+DQo8cD5MaW5lIDYgdXNlcyBhIGJ1aWx0IGluIHBocCBmdW5jdGlvbiBjYWxsZWQgZ2xvYiwgYW5kIHNvbWUgc21hcnR5IG1hZ2ljIHRvIGZpbmQgYWxsIG9mIHRoZSBKUEcgZmlsZXMgaW4gdGhlIHVwbG9hZHMvYWxidW0gZGlyZWN0b3J5IGJlbG93IG91ciBpbnN0YWxsYXRpb24gcm9vdC48L3A+DQo8cD5MaW5lIDcgaXMgYSB0ZXN0IHRvIHNlZSBpZiBhbnkgZmlsZXMgd2VyZSBhY3R1YWxseSBmb3VuZCBpbiB0aGUgYXNzaWduIGxpbmUgc3RhdGVkIGFib3ZlLiAgVGhpcyBpZiBzdGF0ZW1lbnQgaXMgY2xvc2VkIG9uIGxpbmUgMTUuPC9wPg0KPHA+TGluZSA4IG9wZW5zIHVwIGEgZGl2IHRvIGNvbnRhaW4gb3VyIGFsYnVtLiAgRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGV4YW1wbGUgdGhlIHN0eWxlcyB3ZXJlIGluY2x1ZGVkIGlubGluZSwgaG93ZXZlciBhIGNsYXNzIHRoYXQgd2FzIGRlZmluZWQgaW4gdGhlIHN0eWxlc2hlZXQgc2hvdWxkIGJlIHVzZWQgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuICBUaGUgY2xvc2luZyB0YWcgZm9yIHRoaXMgZGl2IGlzIG9uIGxpbmUgMTQsIGp1c3QgYmVmb3JlIHRoZSA8Y29kZT57L2lmfTwvY29kZT4uPC9wPg0KPHA+TGluZSA5IGJlZ2lucyBhIGxvb3AgdGhyb3VnaCBhbGwgb2YgdGhlIGZpbGVzIHRoYXQgd2UgZm91bmQgaW4gdGhlIGRpcmVjdG9yeS4gIFRoaXMgbG9vcCBpcyBjbG9zZWQgb24gbGluZSAxMy48L3A+PGJyLz4NCjxwPkxpbmVzIDEwIGFuZCAxMSBhcmUgdGhlIHJlYWwgbWFnaWMuICBIZXJlIHdlIGNyZWF0ZSBhIGxpbmsgd2l0aCBjbGFzcyAmcXVvdDtmYW5jeWJveCZxdW90OyBhbmQgYWRkcyB0aGUgPGNvZGU+cmVsPC9jb2RlPiBhdHRyaWJ1dGUgc28gdGhhdCBmYW5jeWJveCBrbm93cyB0aGF0IGFsbCBvZiB0aGVzZSBpbWFnZXMgc2hvdWxkIGJlIGdyb3VwZWQgdG9nZXRoZXIgYXMgb25lIGFsYnVtIGFuZCBhbGxvdyBjbGlja2luZyBiZXR3ZWVuIHRoZSBpbWFnZXMuICBUaGVuIGNvbWVzIHRoZSBwYXJ0IHdoZXJlIHdlIGRlZmluZSBvdXIgaW1hZ2VzLg0KPHA+V2Ugc3VwcGx5IHRoZSAkZmlsZSB2YXJpYWJsZSB0byB0aGUgc3JjIGFyZ3VtZW50IG9mIHRoZSA8Y29kZT57Q0dTbWFydEltYWdlfTwvY29kZT4gdGFnIHNvIHRoYXQgaXQgd2lsbCBnZXQgdGhlIG5hbWUgb2YgZWFjaCBtYXRjaGVkIGpwZWcgYXMgdGhlIGxvb3AgaXMgZXhlY3V0ZWQuPC9wPg0KPHA+VGhlIGltYWdlcyBJIHdhcyB0ZXN0aW5nIHdpdGggd2VyZSB1cGxvYWRlZCBmcm9tIG15IGlwb2QsIGFuZCBhbGwgc2VlbWVkIHRvIGJlIHJvdGF0ZWQgOTAgZGVncmVlcyBjb3VudGVyIGNsb2NrZWlzLiAgU28gdGhlIGZpcnN0IGZpbHRlciBJIGFkZGVkIHdhcyB0byByb3RhdGUgdGhlIGltYWdlIDkwIGRlZ3JlZXMgY2xvY2t3aXNlIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3JvdGF0ZT05MCwwPC9jb2RlPiBhcmd1bWVudC4gVGhlIGltYWdlcyB0aGVuIG5lZWRlZCB0byBoYXZlIHRoZSB3YXRlcm1hcmsgb24gdGhlbSA8ZW0+KHRoaXMgaXMganVzdCBmb3IgZXhhbXBsZSBwdXJwb3NlcywgSSBkb250IHRoaW5rIGFueWJvZHkgd291bGQgcmVhbGx5IHN0ZWFsIHRoZSBibHVycnkgcGljdHVyZXMgZnJvbSBteSBpcG9kIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzKTwvZW0+LCBzbyBJIGFkZGVkIHRoZSA8Y29kZT5maWx0ZXJfd2F0ZXJtYXJrPTE8L2NvZGU+IHBhcmFtZXRlci4gIEFuZCBmaW5hbGx5LCBiZWNhdXNlIGV2ZW4gdGhlIGlwb2QgdG91Y2ggY2FuIHRha2UgcGljdHVyZXMgdGhhdCBhcmUgdG9vIGJpZyB0byBkaXNwbGF5IG9uIHRoZSBzY3JlZW4gSSB3YW50ZWQgdG8gcmVzaXplIHRoZW0gdG8gYSBtYXhpbXVtIGhlaWdodCBvZiA1MDAgcGl4ZWxzLiAgVGhpcyB3YXMgYWNjb21wbGlzaGVkIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3Jlc2l6ZT1oLDUwMDwvY29kZT4gYXJndW1lbnQuICBXZSBhZGQgdGhlIDxjb2RlPm5vZW1iZWQ9MTwvY29kZT4gYXJndW1lbnQgYmVjYXVzZSBmYW5jeWJveCBkb2VzIG5vdCB1bmRlcnN0YW5kIGhvdyB0byBkaXNwbGF5IGVtYmVkZGVkIGltYWdlcyBpbiBpdHMgcG9wdXAgd2luZG93LiAgVGhpcyBkZWZpbmVkIHRoZSBpbWFnZSB0aGF0IHdlIHdlcmUgZ29pbmcgdG8gbGluayB0by48L3A+DQo8cD5OZXh0IHdlIG5lZWRlZCB0byBkZWZpbmUgdGhlIHRodW1ibmFpbCBpbWFnZSB0aGF0IHdlIGFyZSBnb2luZyB0byB1c2UgaW4gdGhlIGdhbGxlcnkuICBUaGlzIGNhbGwgdG8gPGNvZGU+e0NHU21hcnRJbWFnZX08L2NvZGU+IGlzIGFsbW9zdCBpZGVudGljYWwgdG8gdGhlIGZpcnN0IGNhbGwsIGV4Y2VwdCB0aGF0IHdlIHVzZSBhIGRpZmZlcmVudCBoZWlnaHQgdmFsdWUgKDE1MCBwaXhlbHMpIGZvciB0aGUgdGh1bWJuYWlsLCBhbmQgZm9yIGtpY2tzIEkgY29udmVydGVkIHRoZSB0aHVtYm5haWwgdG8gZ3JleXNjYWxlIDxzdHJvbmc+YmVmb3JlPC9zdHJvbmc+IGFwcGx5aW5nIHRoZSB3YXRlcm1hcmsuICBJIGFsc28gcmVtb3ZlZCB0aGUgbm9lbWJlZD0xIGFyZ3VtZW50IHNvIHRoYXQgdGhlIHN5c3RlbSBjb3VsZCBlbWJlZCB0aGUgaW1hZ2UgaW4gdGhlIEhUTUwgb3V0cHV0IGlmIHRoZSBicm93c2VyIHN1cHBvcnRlZCBpdC4gIFRoZSBzY3JlZW4gY2FwdHVyZSBiZWxvdyBzaG93cyB0aGUgZWZmZWN0LjwvcD4NCjxpbWcgc3JjPSZxdW90O2RhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFRRUFZQUJnQUFELzJ3QkRBQWdHQmdjR0JRZ0hCd2NKQ1FnS0RCUU5EQXNMREJrU0V3OFVIUm9mSGgwYUhCd2dKQzRuSUNJc0l4d2NLRGNwTERBeE5EUTBIeWM1UFRneVBDNHpOREwvMndCREFRa0pDUXdMREJnTkRSZ3lJUndoTWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qTC93QUFSQ0FDaEFmQURBU0lBQWhFQkF4RUIvOFFBSEFBQUFRUURBUUFBQUFBQUFBQUFBQUFBQUFRRkJnY0JBZ01JLzhRQVVCQUFBZ0VEQWdNRUJ3UUdCd1FJQlFVQUFRSURBQVFSQlNFR0VqRVRRVkZoQnhRaWNZR1JzU015b2RFVk0wSlNrc0VXSlRSaWNuUHdKRldDNFJjMlExTldnNkx4SmpWRVk3SmtrN1BDMHYvRUFCZ0JBUUVCQVFFQUFBQUFBQUFBQUFBQUFBQUJBZ01FLzhRQUl4RUJBUUFDQWdNQUFnSURBQUFBQUFBQUFBRUNFU0V4QXhKQkV5SWpRbEZoa2YvYUFBd0RBUUFDRVFNUkFEOEF0Zlc5VnViSzcwK3hza2c5WnZwR1ZaTGduczBDakp5QnVUNEN0THZWTG5UTEZZOVF2Tk1pMUdaK1dESWNSdU1nZE56bmY2VjA0aGswWDFhS0RXd3ZZeU1lUm1Wc0t3NytaZnVuenFKM01sMUp3dElIa3VKck5OV2dXeW11QWUwZUxtSFhPNUdlaE5CTkxyWE5Lc1pIanV0UXQ0WFJ3aks3NElZak9NZTRnMXRIcldseTN3c285UXRudVdHUkVzZ0pPMmR2aFRGRkRISnhMeGd6eHF4N0dOUVdYTzNaSGI4QlRYREVxY0o4RnVzWVZ4ZVFISVhCMzVzL09nbGI4UzZKSE8wTW1xV3FTcTVqWldmQkREWWcrRmM1OVN1RTR0c2RPUms5V25zNVptOW5KTEtSakI4S2k5cnFlbVcybjhTV2QyQkpjVDMxd0VnRVJacGM3QURBOGZsU3F6aXVOTDFuaGM2aHpvdzA1N1ZwQ0NRSlNSaFNlNDBFbW0xM1NiYTk5VG0xRzJqdU1nZG0wZ0JCUGNmQSsrbkNxNHNrZ2owZTUwYlZ0UWUxdVpKWFdlM05pSGVRczJ6cTJNdG5JT2U2ckJ0b1JaMlVVRFNzNnd4aERJL1VoUmpKK1ZBMlhldkphOFMyV2tsY2lkQ1hrL2NZL2NIeDVXL0NqOUpYUDlMcE5OeW5xeTZmNndCeTc4L1BqcjRZN3Fpeng2dnErbWFscVZycDBiQzduRnpienRjY3Jvc1I5Z0JNYjlEMzc4MU9WcnFNVjF4ZFphaXdaSWRRMG9KRXhVNE1uTVNVejNFWU5BczRiNHB0ZFIweXpXK3Y3VWFsTUd6RUNGSlBNUUJqeHdCdFQ3SGVXMDF4Y1c4Y3lOTmI0N1pCMVRJeU0vQ3E3dDdpenVmUjdEbzBjYlNhcy82cUVRdHpxNWZLdm5Hd3h2bk5QZHZmdzZMeE5yYTZnN3E5ekhBMEdJMmJ0aUkrVTh1QnVjOTFCSVAwN3BRdG83azZoYmlHVkdkSExZREtwd3hIdUpBcm1lSk5FV0tLUTZyYUJKU1FoN1FiL2w4YWgyZ1JoMjRNRWlCZ0k3dHNNTTRJSklOTEJieGZvM2pyN0ZQMTBtUFlIZEhrZmp2UVRrSEl5RGtHaWtPaWtuUWRPSnpuMVdMT2Y4QXBkUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRlJsdURyZmw1Rm1Fa1lVS29tVmlRQVA3cktQd3FUVVZaZEpac3dhTndwYmFQZmV1TGNTeVNCWkVST2lJcmxTUUFjbjlnZFNhZjZLS2lpanJSUlFGRkh3b3g1VUNEUzlMVFN4ZGlPVjVQV2JsN2x1WUFjcGJHUU1kMjFMNk1lVkdENFVCaytORkdENEdqQjhEUUZGR0Q0R3M0UGdhREdUUm1zNFBnYXhnK0JvQ2lpajRVQlJSOEtQaFFGRkdQS2pIbFFGRkdENEdqQjhEUUZGR0Q0R2pCOERRRkZad2ZBMWpCOERRRkZGRkFVVVVVQlJSUlFGRkZGQVVVWVBnYVBoUUZGRkdDVGpHOUFVVm5rYjkxdmxSeXQrNjN5b01VVm5sYjkxdmxSZytCK1ZCaWlqQjhLenl0KzZmbFFZb3JKVWpxQ1BlS0FySG9wUHdvTVVWbmxiOTF2bFFWWWRWSStGQmlpczRQZ2ZsUUFUMEJQdUZCaWlzOGpmdU44alJ5UDhBdU44cURGRlpLc09xa2U4VWNqZnVOOHFERkZaNUcvY2I1VWNqL3VOOGpRWW9yUEkzN3JmS2psYjkxdmxRWW9yUEszN3ArVkFCUFFFKzRVR0tLenl0KzYzeXJGQVVVVVVEYnFURVN4NEpHeDZlK2tYTzM3emZPbG1xZnJZLzhKK3ROK2Q4VUc1a1lrKzAzenJIT3gvYWI1MXBuZXRTYURjeVBuN3pmTTF6WjN4c3pmTTBaTmMzb01tUi93Qjl2NGpYTXlQL0FONC96TllKclVuem9NTkpKKyszOFJyaThrbS8yai94R3QySnBPMjFCaHA1Zis4ZitJMTM0UjFBNmtZN2oyaDlzeVlMRTdDa0x0djF4WEhnZWRvV2dqeHpDUytrUWtkQjFOQk03eDJGM0o3UndDTnMrVmNDN2Q3SDUxMXZ2N1pKOFBwU1ZqNDBHNWRzZmZiNTBkby9lemZPdE01ckdmSHJRYkYyL2ViNTFvWkh6OTl2bWF4ekFISFN1Yk1EMzBHV2tjZnR0L0VhME1yL0FMNy9BTVJyUm0zclFuRkJzWlpNZ2M3ZnhHdVR6U0Q5dC80alFXM3JpNW9OWG1rQTJsZitJMDZjTXlNK3F5Z3U3QVFucVNmMmhUTEtkczA2OEtIT3JULzVQWC9pRkE0TkkyVDdSNm52ckhhc1AybStkSTN1VkR2bnhJcm1idFIzaWdjUk0zVG1iNTFudFcvZmI1MDBIVVkxSkhPdVI0bXViNnFtTm5YK0lVRDBaM0RZTEhHT3Vhd2J2bDZzZm5VTjFEaXExc2NtYWRWeDNjMU00OUllbHpTZG42eUFmTnFDZjNlc3JicVR6a251cVAzbkZGd1NRa2hIdXFOWFhFbHM4cVptVHMzMkQ4Mnc5OUk1TlJzWkVrY1gwYWhja3NQTHo4YUNRVyt1NnJxbHpMYTZkSUpab3dESnpQeXJHUE0rUGwxcDFnL1NmTk90NXEwa1RRNExkaUFGSG1jNXFzTFRpNmJoSkI2dEg2Mjl5ck9zemV5RC9lL0dtSFV1SmVJYnE2YVNTUzVSZ1FTZTdJNkhwUVh4eFJxVjdvY1ZyY1djc3pxVVZtU1lobGtCeHZ0dm1sM0ZGeTdlanZVWjFMSS9acVJna0ZmYlRiTmVmaHhWeE5xTjNIYzNkOWUzMHcyN05sMktnNUhkajhLdDV0UnZOVTlDbXEzVjdEMk53U1F5azV4aDAvR2dxbWE4dWhxOHlpOXVWUmxCR0pteHQ4YWM5T3ZiaU8vUXRlM1BJUmc4MHJIYy9HbUo1UStwMjVZYzNQRVJ2MUdLY1ltQ1R4dHlIUGZnWnpRTGRldXJ2OUpXMGtkNWNzblo0L1hNTndUNEdyRDBLR2E2dHJLZHBwc1BHckgyejRlK3EwMVFubGd3Q0FHSXF6dUNwdTA0ZXRYTytFNUNlYk80UC9PZ2w4enhpR09GcENDNTVWRys1eG5yOEtyN2l5MmtpMC9VcFV2cnFQN0Y4eGlUQUpXUlFNRHJqR2M3OWNWTjdtem51UmJzc1RrSk1zZ0lIVWpPS1lPTDlOZHJhZU5ZcGhQTGJ5b2lJbzl0aHlsVjNCUGVlbUtCcjlEZHhKSmZhcmJ6eVN5RXdDUlM3bHNkeEc1ODZldUk3Q3d1dE9udW5FZ3ZZTGRsaWxFN3JnRGZvRGp4NmltRDBWVzkzWTZ6ckVNa2IyODZXV01TajdqYzNlS2JOVnQrSkZ0bmU1MTd0b1NwTHhwYmdBand6M1VEWHBkbGRhdnFNS0c0dUpJNG9KSkdnYTRkTzFiS3FNa0hvTTVwOHMzL0FLTm00anU3cTVnZ2VSV1FjN1N0SjdJSlVFOXdPZmNNWjhhamVnYXVOSzErMEZ4SWtjRXNVcVNPN1lDNDVXQno4S2MrT0xSTG8yZXEyYzRsdCtUc25NVzR4elpEZWVjNCtWQnBxWEZrcGRoYnp5eFlKNUZXUnVZZkhwMThxZS9TVmQzSTlISENjeXpUUnl5TXBjcktRVDlqM2tIZW9CeVc0a2hjTzZCVHpNcnNEeU40NXg1RDNWT3ZTU0RKNk5PRDhra2twa25yK3BvS3B1YjYrVlZZWHQwTjkvdDMvT3U5dHFWN2xWTjdja2Y1Ny9uU2ZVRVQxSXlJMlNrbksrRDBOYlIyRjR1blI2aTF2SjZtOG5ack1SN0pZZFJueG9IMjExYlU3UU85dHFWMUU3cVZibGxKeXA3dHpUZGMzOTZja1h0MXpaSFNkdC94b2lsSFlEZnAxcEhka05idG5CM0hYdW9GMXJkYWdDNlMzTjJ1M1JwbjIvR3NUWGw0dUN0N2MrWDI3Zm5TZlFWU1c1WlpXazdJSnpQeUFGZ01qcG5yVzk4cUxJNWg1K3k1anlsOFp4NTRvTzl0cU4ramh4ZTNJS25LbnRXMlBkMzFLUmRTWHNTWDBOeE9nZmFXTlpYNVk1UjFVYjlEOTRlOGp1cUZwSUF1TnMrZFBYRCtwUjJGOGUzYVFXY3c1WmtYdzdtSG1wM3gzamJ2b0piYVQzTURSU3RjVEVnL3RTc2ZQeHFWZW1hM3VINFNzYnkxbWxSdTFSV2FOeXZWV0k2ZWRkN1BoeURWRWlUblZaY1lZajl2d09mZGlzOGN6VDNHZzIvRHJXcnRjQ05KdTFaaCt5U3VBUEVqdm9LYTRVOWZIRjJqYzk1Y2xQWG9ReXRPeHlPY2RSbXZVeDZtcVE0VzRXZ2gxcXdsdVVuV2VPNFIxVm1DNElZSGNZL25WMzBCUlJSUU5XcmZyWXY4Sit0TjJhY2RXL1d4ZjRUOWFiR29NazcxcnpZckRIRytEVEZ4SnhISG9Ob3Nra0x1SHlBeTR3TVVENHppdVprcXBYOUs5N0hKL1o3UngwM0xDbE5oNlc0VElWMUd6Q29UczBCSkkrQm9MTkxkOWFNeHgwMnFQYWZ4bG91b1JLNlhxS3pmc05ubUh3cGIrbk5Oei9iSS9rZnlvSEVuYXVEMFEzVVYxRUpZSkJJaEpBSTI2VmlRMENWenZrK05MT0EySHF5c2VrbDNLVWI5NFo2anlwajExK1RUanV3VnBFVnNISHNsZ0NLa3ZES0JKcmVOUmhWa09CNGJVRDNxRzE1SjhQcFNVbWxWL3dEMnlUNGZTa2hvTlFhNVRUaUNKNUNDUWd6Z2RUWFR2NlZGT05kVEZwcGd0UktZM3VUeWxobk9QRGJ4b0dEV1BTUlBiM1VpMmxxQkd1MzIzWFBmMHBGSDZWSlN5bVN5ajVNKzFnNzRxS1gxdkQyVE1IK1lKTk1raW9pZmZHZmVhQzdkTjQzMG5VNVk0bzNaSkh6a1BzRjI4YWtDeUxJb1pHREE5Q0RYbStHNEViNUVwVStJcXp1QmVKUk5ielIzMTZBc1NoWTFPZm5RV0VhNU9heWtpU0lyb1FWWUFnanZyVitsQW5rTzFMdURIZVhpTytMT2VSSUFpcC94REpwQkowcFp3Ui8xajFMYmZzeC8rUW9FTTl5M2F2diswZnJYQXp1M2ZUaFBhcUpYL3dBUjd2T3VZdG96MXo4cUNCYSs1L1M4cDcrVmZwVVkxaldVMCtFcXBCbVlZVWVGVFRpQzJSZFlsQUhSRjd2S3FnMTZacE5UbXljNFlnZVZBaW51NVo1R2VTUWxqMXJnSkNEMTNwVlk2WlBmdjdJS29PckduKzM0YnQwQTdUTEh6b0krbDBWWEJZOGdPU3RTZlRlSzJzYlUyNWdXYTFBNWxWa0I1VDQwb1RodXhkZDQrdmhXMDNDVFcxbExOYlB6RURtS040ZUZaeXk5WGJ3K0w4bVYzeEREZlR5YW5jK3NGRVJUOTFSc0FPK24yMGprRTBiWEhLMEl4ektpNEpIaG51cUx4eXlKY01IWGx3U0NuY0ttZHVCSXFNQ01FQ3RPVjR2QjMxS2ZScDlNU0xTOU1tdGJ6SUx5eXo5b3BYdkhMVXYwZEpuOUNHc0pJVVp6TzRIS3ZLTWMwZFFSVXd3cWYyUTVmUXByQkgvZnNmOEExeDBSVjgybjhpVzBqU3hRaEhHV2Q5c0hHTnhtbEN1T2JsNXdXVW5KNWVsS05UVHR0RGxueGdSY3JiZVJ4dlNPRWMvM1FjQUtUZ2JETzlBdG5pZ2xqTDNJa1pZL2JRSTJNdDVudUZTclN0WTFDMzRhZ3NyQmt0bWVjekNTUk1xdURqQkozT2RzWTI2MXJvME9uYVRiUjZqcU1DWERTWTdPMUs4d09QMmlPOCsvYXBOeFhiYVhybHZwNXRkU2d0Sm9NUnNnUXFGWE9jQUFiWThLQ1RhUk5mWEhBS2FoZXhPTlFlMzl1TU5sY2c0eWc3Z1J2U1RqRFNVMU9RYWZFcFNOY1o1Q1FGQlU5UU80Ny9oV3FjWTZUbzl0RHBjVjNCSXFRQkZEQnRnUElDbXZXT0pyUzc3U1MxdlNIbFRKZUZDck5nYlpQZGpmNTBEYjZPckNiUytJTHBHRWZhUEU2R0RtdzRRT0NHSTZZUHozNlVsMXlXZTdubHRvTlBta2Nkb2dWY0RiZjZiVXE0SG5zOUp2bnY3KytpVDFpSm9peEpMaDJ3Y0hieEZPU1RpOW11b05PalZpeGZMSnU4b3pnbkp4dDNZSGthQ3ZYczdiUzljZ1ZyVTNWK0VQTklQMU1BS0E0d1I3VGVmUWVkUzJHd1RWYk45SkVVMGMxNFdqN2NyN0lCSUlPZXVBUEtuV3k0WDFMVkxqdGdxUXhNbkwyam5id0l4MzlLZStJTkcvUkhEZDllMjExS3R4QmJzNmRraW9lWURiQkc0K3RCSHJiME0yNnhxcjZwS2M5U0k4OS9jUG5TRDB2NmRIcGZCdkQrbTI1WXhXMXgyS0Z1cEN4RUROTWNON2ZSY3M4dXA2ak03TDBudlpHQStHYWQvU2d4bDlIM0REc1N4YVJTU1NTVDlsNDlhQ0IyZC9wYitpeS8waTRkVTFPQ2NNaUg3ejVjRUZmaGtmQ21LSFRZNUxLSjFKVm1VSHlweTFLT0g5RHZ5QWh5WXljNXgxcnRwOXVUWVFuRzNMM0R6b0dYMWU2alFyZ092aUswdVVCczhHVDdWajdVWlVncmp2ejBOV0duRFVjMmpOY0t3RWdPZmVLaCtwcmJ2WnVCTW5NcWN3d080SGZlZzU4TVJ3NXY4QXRXQy83TWVUUGVlWmEyMWFJSlppUlYyTDQ2MXcwTzRoRVZ5R201SGJDOU83L1FwYnE2d0xvaU4ydk0vYmJrSDJjWVBkanI4YUJ2bk5wY05iZW93U3h1VVdOMGFUdERKSm5xdXd3UExmMzBPV3R5VmxVcXdPR0JHQ3BIaUtJakJDdHN5Uzhrb1lTbGxHK091eFBRK0ZPRWtQNlV0WlBWK1NabU9aSk1iOHg4Yzc0eDFOQlpubzUxdTNpdEliRzR1SWtlTWg0T1k0T0NTU3VmeEh2TlN2amZVN0szdGJMVlpBWGdCTUpDWTVzbkJIWHUyYW9idzdjYUZiV2Rxc2VpeVhWemdMSk5PVlNOaU8vT2M0SHUzd0tsRVdyV3VzdmQyTnhwTm84Y1o1b3c2Q1FFNDIzUHZPTnZIcFFNV2k4YzZMTnJGbFpMYVhZa2ttU05DUW1BeElBenY1MWE5UnZUWWRBVHM0NHRMczRybUp0aWJaQVNlYkFLbkhqaXBKUUZGRkZBMDZ2K3RpSGR5bjYwMW40MDZheCt0aS93QUordE5aNlVHam5CcXJPTFk3aldaYnVkRmtraWoyUmM3SU5oK1BXclFseHlObndxTmFoREhGb1YwMGFjb2VQSitZb0tQdTlObGpjRmxJOGFRdkFRMk1HcGxmaFJNUmpyVFBQR3ZNZGhtZ2FMZDViYVpKRVlvNDZFVlprRVFHbnhTOW9PWWdiWnlmblVFYTM3UXF3WFpUdWU0VkxOSm5hYXdSUzJlejluR1RpcGUrSFhIMW1OdVN3T0hNL29aUDh4L3JUaTQ4NmJ1SEIvVXlmNDIrdE9MZ0VIYjhhcmtaZGZYbTBxVURZQmxPZmN3cVVjTjQ5WWh6blBhL3lxTmErQitocm55WFB5cVI4Tk1QVzRRUmpENUhudFFQZC9qMXVYUFhiNlVrYWxkLy9iSlBoOUtSbWc1bnI1VkRlTW9vM0VibGN1cnJ2OERVeVlWWC9IRjNKYUs2a0FreUt3YndISzIxQkZOUVJUR0FSNVZIN3Ezak80WHBXYmpXcFhjeHRJbU9uVEZJNTlRSUlEWTM2ZVlvTlRicVZJVmNrMDg2SEI2bmRsUkpublRkZkEwelFYaDV4SUZ3bzZIUGZUaFlUeXlhcERnRWc3ZGVnclAxMS9XWVhjNXE3N0wrd1czK1V2MEZkR3JTeUg5WDIzK1V2MEZkV3JUa1RQNVVyNEwyNG4xSWQzWUtmeEZKWkFBQ0tYY0lRc25FMTdKajJYdGhnLzhBRUtCM3ZyRHRPYVdKZHgxVWQvblRNMFhLY2QvaFVsczd1QzlqYVMzY01BeFUrSU5NZWtvdDNkWG5hbk9QdStXU2FDdWVNYmdXbDFlem5iczRWSStWVkJaV2o2dnFiQWtoYzg4amZIK2RXNTZTbzFSdFRSdDJFQzQ5K0JWZThNUUZMT2FZRExPK0FmSWY2TkE3SkhGYnhpS0pRcXIweFFYeU5xeTNLbzNPOWN5NEIyb2Y2TGJabjdSTWJiamZ3cDdqbmt1VlZaUXZValBYSnFPUHE2NmRBVW1oUGlweUNDZkVWenN1SkFKRUxBaEFlcEZZbjdYbDZNOStQSDFsNzdhY1RhRjZ2SWJ1SlBaYysxaXRkS2NwR0kyT2VYZFRVNFNPMzF6UnlnYlpsNitCcUxYdWkzV25YTWxvNjluZFJ0eUZUNDdZUGhpdHZPVURacy9PckMwa2Mvb2MxVVk1c3pQdC93QVVkUUU4S2NYMjJHdUxiVHlXd0FvMUNIbU9TQU51YnpGV05CcGQ5cGZvaDFXMXZvVml1RElYNUJJc2d3V2o3MUpIY2FDQ1E4aGltdDVFVTl0SGdnQU52allINjBodGxaSlpiZFlnb2RWRFpJUFR3eDd1dEtZb3BTUXZaODJSaGVYYkZLTGZURGFwSlBPd1IyVEVTblB0TjNaOGdONkJYRTZyYUxEZFNpT09NODhiT2NlempKQTl3MytIalM1YnEyOVpuNVdIM3ljK05SMlNQMWhta3V1V2QyVXBuOTFjWXdNOU9wNlZHcDcyK3NMeWRZSFY0Z3g1ZWNrSEZCS05YZTJhYVdRWkRCQStWN3huY2ZLbnFHZEpJVWFJaGs1ZDVDTmgvd0ErdFFxd21OMWNvYm84NVpHQkM5Q1FRY1ZLa3ZSeWhValBnaUtOZ0tIWlYyWkZpeG05bFJNQ0dDNUxlMk56OEtlZUhOWFdEWEpDcUt3RUxjdVR0MUZSSzUxR1VvVWtiQjhBZW5pSzdhQkwydXE0UHNqc3pqYk9lbTFTYjI2NStza2s3WFZvMm9QZkE4aUtxcU5nb3dCVGhxMWdkUzBpYXo5bk1xOHBMWngrRk5YQy9JdG5rWUNnNHljQ24yVzdpakFCZGM5MjlWeVZqY2VpN1ZaSlM2MzFyZ25jSG1KSHV5S1IrbGl5ZXg0TDRmc25ZTTBFM1pzdzZFaU9yTXU5VWFCNFlJaXNseE94V05lNFk2c2ZJVlgzcGtEZjBkMHJ0TU93dW01aUJqSjdNOTFCVTk0eGZUbURZeHlyMDhqVWk0WHNsdXRPak9kbGNqclVZWkpKcmN4UlJ1N0ViS296MzFMK0YzRm5wQjdac0VTT01BRmgzZDQyb0phNWhnMC9rWUFLVjVCc092S2FxYlY0NGt0Wmw3VW93aGJLakh0RTRxejdpMW11dE1Od3ZNc0NGWkdkbElBVURjL2pWY2F2YnBCRmNyTEtxeXNyRGxEKzdHMUFoNFN0b3BrdnpKR3JGSXdWeU9oMzZVcDE3bU9scWdmbVR0VlBJRUczWEp6MVBmU2Zoa3pKWTZvWU9UdERFdkx6Ymp2cExQTnFDTVRkUEc4YTdzc2E5UE9peWI0ampKcGd1b3BKb3JodWFNS0VSays4TWZoVWg0ZXRyUzJzcDVKaVZ5Vk9Ya3dXMjZGUjFId3ByMC9VYlo1WlVTVEhOak9Uc2NmdStYU2s2TEtsN2NyTE1BV1lFTUIxSGw5S2syMzVQWGlZbis3MUZYaU1Oc3l3RmM0a0E1V3dUNWRSMTJwSGFhcmMycVJTaSttM0xLRlNVNWpKd0NWMzJQVGVra2FKRUhhWExCenkvZjNBSHU3cVN0YU1KL3N5QUdHTS9tYXJtbXZEV3NYTXZFR25ReVhidUd2b2x5ekU1SE52OE1uNW12UVo2MTVmNFdDcnhYb0tBdm4xdUU0Sis5N1kzOTFlb0QxTkFVVVVVRFRySDYyTC9DZnJUVVRUcnJINjJML0NmclRVd3hRSXRSV1dTeG1XRWtTRWJZR1NmS3E3NGsxUzhHa3loWTM1T3p3REdkaHYzMVpyRFB4cUFjUzJ5dHB0N2x5aWhTY2ZIcFFWYWwxYzNKZkxNZVhHU2FReVhrcGtJR2VicGlucTBDUjJzN2tBSzJWWEl3V0hqVFZIQ3IzWmJmc3djbGdNNytGUzNUV0dGenltTUtMZTVtaWhDbFhWbkdkK2hIalVpNGFTVDFPUjJQc0Z1VmMvalVkNTFra1pnTmlkczl3cWJXRnVMV3lpaEdkaHY3K3BwUDhBTFhrdk9wZUluWERuL3dBbVQvTWY2MDRQbWtIRGcvcVpQOHgvclRpNDhxcm1RWGx1bDFieVFTWjVKRjVUanJTamc3MXVIV093dTVWZFF5OWs0R09iWTdlK3NTWUF5ZWdyaHdhYnE5MTZHK21DcEEyOFVZYlBLTjhIM21nbWQrTTNrbncrbEl6dlMyKy90a253K2xJbW9PYmIvT29UeDlEejIxc3d3Q1g1U0QzakJxYkVWRWVPbzg2WmJ5ZnV6WVB1d2FDcEZ0Z05Vd1FydVBhNkRBSGlhYmRVUVBlTVVHUVRnQWQxUGZadkcwN3JIekVrZ3RtbXN4R04ybmx5Y2JEdnpVdDA2ZVBEM3kxOGNZd1VIWVpLcVB2QTcvS243aDYxNXA1Yms5RVhrWDMwd1I1Njc1WW1wWnc5aGRPWWtqZHp0U001NWJxMnJFZjFmYmY1U2ZRVjBhdWRrZjZ2dHVuNnBmb0s2dFZaSjMvR25iaFRINlVtR1Juc2ZIKzhLYTNIZlNyaFlIK2xzdXdQK3hISC93QzR0QXkyMXpOWTNra2tEbFR6dDM3SGVwRHc2NjhsdzU2dXlqNm1vcWs4VThrand5cEl2T3dKUTUzeWRxbEdncUZ0RmtCM01oeVBJRC9uUVZwNlVVN1RVcnlNZDhhL0gyYXIyMHZHdHRJaVNJZTB6TjA5OVdWeDJxemNTelJuN3BpWDZWQWJuVFBVMTVZOGxRU1ZCOHhRTkRYOXpITDlvMmFtT2lhV2RTczNuS2txcTlQTTlLaGlXVXQxZXJIdWN0akhjQlZ0YUVJclBUakFNRG0yT0t6bGZrZWp3WVMzMno2aXBid3lDNWRYTHNxc2NjMVNQaHFTMG1qZTNuVG41d1J5OHZsMXA5MS9obTB1aDJzV0VsOFFkalVkdGJLNDA2Yms1Y01mMmxOV1RUamxsdTdTRGh2T24zMGxzSFpvVG5DdDNWTnZTUHB4aDRndGJyMlJEcUZxRlo4ZmRlTURIekJxSTZMYVlZdTQrME81SnEyK045T0Y1WTZRZVVFUnVRMmU1U2d5Zndxc3ZQbHRiU3J4SFBieU14SWtUY25wbGhWbzhDR052UXZxSmx5RTlha0o1bTV1K1B2cURhYkUxeHhrNWtQTVFVQkk3OEhZL0dwendEQzAzb1kxQ05Ua3RkeUFFanpqb0doN3FJakZ0YkVIKy9rZmdLajJxUGRQZTlvMHpjeWtNQ3hPUERwK0ZTZGRLbjVqN2NZSFFuUDBwQnFXZ1hGeXJMRUVZNDN6Smdudi9sUUliQ2RKUVZmbERqZkJOTXVxV0tTcmR5U0ZSeVMrd1AyanY5UEduV1hTTlJzRTlZa1dJRlIxRWd5UGNPK21xU1VTUTNBbUxOTDI0eTVPNUpQU2dUY3kybllBRXZsdVZTT281dS84SzJna21VZHAyczJGeDdTdjBOSnJreUs1U0tQTXZNQWk0NkdsY3hSVVNGRG5sUE1kdkdzMi9IYng0Y1hPOGFLa2xhWlE3a2xpTWJtbmpoc0VhcTJCMVFrL01VeFcyZXlWUjU3MUl1R1VINlNZOUFJeWM1NjdpdE9WdTd0WWR2cTNxa0lHU0ZVN0tQNTF0SHhIYnRBVk52STh4UDMrMTIzOHNVeHpuMlNDUmp2enZTTlc1RVhPU091d3hSRDdlNm5OYzNWcmMyOGlwYzJ6OXBFWFBzRTk0YkcrRFNuMGdhbGF4OFBhTGZhcFlyY3E4M004S1B0a3B2aHFqc1hNeFZzNEhuMXB5OUpha2NHYUN1ZGhJQWM5L3dCblFRTFY5VDBpOFJqWTJVMXVrZ09BaEFaUjcvOEFsdlMvaG1mazRaV0lOK3N1WmxCSFRaWXpVWFdQSkF3UUQzKzZwSHAxcmN3Mk5yYnl5UVdxTExJNnVGNW1PVlhKS25ZakE4cUM0WUxlTzU0V1NOeU1QWll4NCt6bXFHMWFMdDNhU2FhTlVLTVU4U1RqcDViVlBiYVc1bHRwWVJNOGl4V3ZNanVNa1p5RDVia2VIU29ISnA4aktUSjJhc1FOODdrMENYUVl6YjIyb2RsbHlpY3I3YkU3OVBERkpacmVkclJwcGtOdWpqYVU1Yk9Oc1lHNXArMHF3RnJIREdyYy9yakJXSUhRY3JISy9HdEw3VDU3aVgrMENRZ1lITjAyMitsWnQ1MDdZWSt1UHY4QThSaTBqamdaNG9vbVljeHpJNEJadmNlNEh3RlRQaC9oR1BpcGJpZEx0clV3RlV3MGVlYkl6WEhUOURqQlo3aWJtYm0yRVorcHBUZE5jNmR5SllUM0VVVHVUSXlURlNkdGh0ODYwNG41ZlE0dHhHenZyQlNNZEFJVDhlK3VUZWpXMXQ5U3RJQlBMTTEweGlEbFRoUUJubVlkTTVJNzZqN2F6cURqc3pxVjRjZU03NCt0ZDdXOXZZQVp2WGJsV3g5L3RXeVBkNGQ5Qk1yTDBhcHBHdGFmZVIzU1RTUjNFYkhDbFJ5ZzV4akpxMHFvTFNOV3ZwdUo5TEVsN2RTSzE3Q0NwbVp0dVlkZCtsWDZldEFVVVVVRFRxNCsyaS93bjYwMXQxTk9tci9yb3Y4QUNmclRQUExIQ3BaemphZ0RzRFVLNHVoeFlhaXZRTkhsY2Y2OGExNHE0OFhTVUVObkdqM0w5T1luQ2p4ODZiZldkUTFiZzV0VHZwQXpUaHlnVlFvVlFRUHFDYUNFWEZ1N1d5b3pLTWdkTnNVMFhDUENCRUdYQndUZ1lJNjdWS0hic2JkcEdIdGdaVEkvMW1veEp6R1YzYnF4eldlN3c3eitQRGM3ck1lQXk1T0FTS25TWE1MN0pLcmY4VlFET1dBN3EwMUpHVXhTZ2UwUnlrMXB3WHh3MjRPaXB2OEE5bzMxcHpZN253cXJ1Q2I2OGswZFVqbWIySElPL2p2VTFpMUM1UUR0dmFYb2NqY1VEdXc1dHEwNENjRkxFZUFJL0VpdElaa201WFE3Vng5SHMzTWJOYzdDV1Jma3hvSnRmSC9iWlBlUHBTUTB2dUlETGV5bmNLQ04vZ0thOVNuRnFqY3RBa3Z0U3RyQ0o1SjVNS2lsbXg0Q3F4MW5qZHVJNUVzTFMwN0tJTVpESTdaYmxBSTZkM1d0K090VVlXSmhEZTFPZVhQbDMxSHVHclZUYVh1b01EelJzc1NqdU9RU2ZqN05CMkVaZFhYR2ZkVEJxTWhhNE1TaFZSR0lBVVlCcVVUc2xwRklRRDJwUEx5a2RCNCs3enFOejVubEpVRTQ4cXozWGZMK1BDWXp1a0dRcTdWMkU4OGRuSVlwV1FydjdKclQxYVI1TWNwSDg2ZC8wUzBWbzZ2OTVrTEg1VnB3Ty9DM0dPcG1XTzBtbmFVY25zY3g2WUhTcDliNjFJd0hhcHRqdXFuT0gzRnRyZG16N0FTQlc5eDJxNG9MUkpHWkI5NWVublFPRWR3azR5aHpUdHd0L3dCWldidTlWUDhBL0l0UXVHZDRKbUdjRld3UlV4NFBsRTJ0TTRQL0FOTWU3Kyt0QkNORTArVFM3SjRKZVh0TzJrWnVYelkxT2RLeEhwOERkNVZpZm5VUHY3NUxSM1psSnpOeTRIaVRpcFpaY3k2ZEgva0Riem9LOTRya0VuRTh6WjZJbjBxTlg0eWRxZk9JMnp4RGMrNWZwVFRLbk5JbTJja0RIalRwWk4zUnZ0bWgwK0tTYVFOMnJkR0E2RHdydFo2MWNyYXU5cXF0SVNBc2JIbDJvMVdaSTR4QXFnanFGOEtZNGc4VjByYzJCMTY5S3hqemR2UjVzcmhKNHBla3Z2OEFWNTU5TnRwdXdhS1FPVmxUUGRpdGJCMXZndk1QYkJybEJkelhGdWUxWkpBdXdBcmFHYUMyWlowWGtrRHFDbWV1OWJlWkliZUxzbUhrS3RmaXFLNmZSSW10UUdaUUFSbnhBSDg2cTcyVEdzbWVvN3F1S2U1N0RTbm01QTZ4UWgrWHZKQUZCU3ljTTNXbGNmR3pXT1M0bGhzb0hta1JkaXg1bVB5R0I4S2RlQjdsdEo5Q3VwWElERm83cVJoeTVVN21NZnpxUjN1cDNWM3FNbHpGUE5BSHg3RWNod01ERlo0aWVXNDlGK3JtVnk3bkF5MytOS0N0aHIrb2M3TXNpdXVUZ3VtZSt1MFhFMm9HVlZLUUZTUnpmWjR6K05NZk9XNWNaQjVSblBqV3drQVlBamNBOVBHZ2t0eVd1WTVPWnN1VmJBeDAycUVTWmplNmluV1hMRWhDaTVLc0RrWjkxVExMTkdXMnh5ZytPRDRWSFprN2JVSmpKbmtFaExFRHpwYnJ0Y2NmYTZjd0hrVDFoeEhrY3AzWHFmSHlPMUoxczQyWUE3SHhwWEtVZVFKRUNVUVlCOGE1ZUlPYzFtVDY2K1cvMW5UZUtCSTF4elp3Y21uN2gxay9TVGI0K3hiNmltT053VU8yTWVGT21nNS9TTExqT1lpZW5tSzA0cFBkOXBjUWN0dXNiTmtmckhJMjcrNnRBSkFQYjVTT21PdWE1dTdJL0xzQWU3TzYxbFpYVlVBd1JudzNGQjNpNW84QkkwOHlSbjRVdTlJNERjRmNQNWJDODRKUC9sMDN3dUNnSEw3Wk9jSCtWT25wSlVEZ3pRNHhITEl4ZkNwR2haaWV6OFB6b0t0Z1FOSU03ajltbmEzbTdGd0ZCZHM1QmJ1SjJPMUlMVzExQ1dSbU9sM01Lb01ublhmYnZwWEdTMHB4N0lEYnNlZ29IWFNwNTVyNmZubHlSQ01CanRqSjZDbTRHS0tNSG01MkMrMjdIR1BkV25ONnZlbVdLUnVRUXVwSjc5dHFqOXRxRE1xbTRVY29HeHljWnFXNmpXR0h0bG8vVFhYcWNVTWNNbVNoeUdJM0dOdHZLbXg3dVIzMmNrOWRqdFNXUzdlNVBhSEF5QnNLeEd4eW9PTmozZjYzcVNhN2I4dVc3cWRSS2RMVm5oQkpKeWRxbG1sOE5RYTlZM0lsbmFJcTZnRlFEM1pxSFdOOUhCQUZJeTNqNFZOT0dicWNXVjFMSmJ1c0hhSmx6c3VjYmIxcHliUStpMktLVVRtOWVXTW5jTkZnSDhhWGFqd2pwMHRuNnZFMXJieU1NQnNNVDMrZEtkRW5YWGRjdmJTZVE5bGJvclJXL05nTURubVkrUGQ3cWtGdnBFTnRLeE1rOXd6dGtMSTJRdnVIUVVGZTZUd09sdHJsbmNEVTJab0xsR0tDM0k1dVZnY1p6MDg2dDN2cExiUGh3aVJCRk9kOFlQdXBWUUZGRkZBM2FvQUFya2JoU0tnZXMzYmhpdk43cW11dXpDR05jNXh5TWZsVUExd05IcGsxeWNleEhuZng1YzBGUThRWFJ1ZFp1WFU3S2VWZmhWcTNWaWxwd3BIcDhZVlRIYVlDSHVJT1Q4U0RWVjZOWkhWOWZ0TFVnbnQ1UnplUXprL2hWdjZ1dnJkc1ovYVdMdEZMY3ZYQlVBL0gyYUxMcTdWbHExdzZmWXI5eEI3SkZNelFNOFlZWURIeE5XZnFIQkZ2Y01URlBLaFhPYzR3ZndwSmFlajB2TXJUVHNrWEx1VklKSGwwcVNhWFBPNTNhQmFicEp1WnZiKzZOMklyT3ZXYXJwa2NxQUREbjVkS3RTeDRTc0FoRVVzNFFJejgyVnkyUGhUUHFIQ1VFM0RYT3NzeEpTVTRPTVpCOTFWbEd2UnhKbWE4dGlmdlJjNkR6QjMvQUFxeExtSVRhUExjUkQybzhGc2VYZlZSY1BYTDZWcmxsTWpFQlpnRzl4T0RWeHN5Mk42SFVadExrOGtxbm9wYmJQdTNvR20wdW1oZFpBVGdrWkFwWndUT0xEWHJMVHBjOXBKY1NPaEEyWld5UmorZE10d2h0TDZXMXlmczVPVWU3Yjg2Y05DN1NiakRoMlJkMWh1bVZoNEJrUDVVRnMzc3F4TG52Ni9oVVcxaGpOSnlBWkRJclo5N0VENlU5NjY3TENXVDd5L3pGTWNNeGxrYVZSa0JWeG5vUFoyejdpU2FDbk9Pbi9yV0syQnoyYTVQaHY4QSsxUFBEMW9nNEx0MWNBTk5mZHFjL3RBS3kxRitKWkRlY1RYZlo1Yk1uWm9EMTIyL0dyVnRORXRwN1RTN1U4OGNFTGxQWXhuYmJ3OHpVczIxamw2M2FEejgxL0FHY0RtWEtBanZ4VEsybTNDc1FFeWZFVll5OEsyeVh0OWJMTk1HakpkZW5jZHgwOEtWYWJ3blkzRngybnJFNWlaZWJHUjdPM3VwSnFKbGxjcnVxL3RkTlcyWVNTZ0dRZEZHK1BmU200UWlhWmNkSWZxYW10dndoYVN1WmpOT1VsbEVjZUNPZzZucFd5Y0oyVStyWHlHYTU1VWp4K3o0KzZxaW5iKzJOaHFSQUdDT1Z4OGdhdHpUTHN6YVJZNnJGMWFNQ1FmaFZlY2FRaVBWVmtqQjVBZ1FFOStOdjVWSk9CTlFFdWhUV3JrbnNXeGs5QURRUEd0S2tkNHMwV09TZEF3OS9mVWg5SGt2YWF0Y2VIWWJmeGlvanFNMllGaVp2YWdrSkgrRS93RHRVbjlIRFoxcWNmOEE2WFAvQUsxb0luckJMM3F4Z0FnTzBqK0k5ckEvSE5XRXpDSkpGNWwrNHZLdVJuR0tyNjQ1WmRUdURrRTl1c1hUd2JKK3RUN1VZWTBFOHJJcGRDUWo0M0FvS3ExdVV2cmR3eFBnTnZkWEFYTnNscTVManRVUE5qSUIrRkl0ZG1ZWEY5TXBZRkYySzljOTFRRzh1bmFjZTBTeW5kczlhNTVjMzFqMWVHWHhZL2wrcExlR2FTNkpVa2s3NThLUWVyU3ZLQVpUa21sdW4zSXVyZEpmMml1Rzk5RTBUQnczTmpldWttbm10dDVwNnNORkRLTXlTOHpZNk5qRmE2anA3MmVwV2tRa1owYkdTeHp2bW5IU1dic3djODN4NlU0WFZrWkpVdUR2eTdnR2lGa0U0V0pVSjZESFNyZHVwczZKT0JubE52Mys2cVd0M0xTRUVZT2ZoVnpUV01tcGFKZVdTU3RFOHRxVVdWZXFrcjErbEJHRVFNZVlIYWxXdXJ6ZWpUVlZHTWsvL3dCMHFoMzR1NG8wVy9hM3U3bVRtak9Dc2d5cHg3NnR2VE5jbTRrOUMycDNza2FSeUNSb3lFNkhsWk4veG9LNW55SUkrVG92TnpNVzZBSG9LNHh5ckl3WURCQjJKcDRzYlJaNGdTQXlrbklZZU9LY1k5R3QySUxSS0FOeHNCUWNiV1R0WUl6M2N1TVUxemxvcEp4a2N6eUhwMUkvbFVxaTArR1BvdUJqcGpha3N2RGx0TlBKT1paZ1hKWWdFWStsU3piZUdmcHRGaGtESTJIY0syR0NCdHZVbFhocTJ6Z3lUS2V1NUg0YlZuK2pscGcvYXo0OTQvS3F3aStNRW5idzZVNmFEN1YrdzVpQjJiZEJud3AwSERscGpQYnpuSGRrYmZoWFczMG1Dd21Na2NrakVqQkRFWUhUd0hqZ1VHNTVBNDVlWWQrY1ovMS83MW9YeXBJVXEyKzNVNC8xdjhhNkVGaUFEN1BlQ0RucjFyV1FNR0hzNXlNNXg4ZitWQjBpY3huQ0hkamd1UnpmNkhXcGh4SElUd2xvemptVUVMa0VmM08rb2NoVWZabFNNNUcyd1A4QXJOUzdpWi8vQUlTMFFnazh3SHg5aWdpcXV5dUdEa01PaEI2ZTZtKy9zQk1wa2hBRWd5U2dHRmYzZUIrdEtReDlvNUcyT3RiNTV3VkJPNDYwRU12SnBZT3pFdk1tWDVHVHZBSU5NazBuTENrQSs2QUNTRG5OVC9VZEpnMU9NSko3RWliQ1ZSdjdqNVZGSnVHNUxlUXh1ekhCMlpSc3c4UnRVczI2WTUrc3NuMDJ4SDdNWStsS0lsUE5uTzlPMXR3L0gyYTh6eWMzZnVNQ2xRMEszQS9XeStlTVZYTXh2S3lwaFRUM29kOU90dE1obmtLRjF5aFk0TzNoWEdiU2JaR1JXbWxITjVqTktiV3lpdDFJV1NUbGZjbHQrZzhxQnppdUMwNk1Ya2ptQjltV0orVjF6NEVWWU9qNjNyU3drejIwV29SRDdyUm5zcGNZR0J5L2RQZnZrR3E2dDNDTUNRTi9MOEtuT2czYjgyOG1Bd0lVdCt4dDNlN05CS2RONGcwL1VKQ3JxYlM1UmdoaHUxS09HUFFMblppZkltbnFtaTNsak53U3l4U0ZuR01ZUFR2OSs0cDNvQ2lpaWdqWEU2czB5Z2s4alc1WEhuempQNEUxQmVQNTBzdUdURW4zcFRnRGZxZXArVzFUN1g1Z3VvV3NMcUFqeHNRNTdqbnArRlZoNlU1R1MyMDZCbTlwbUxFZUF3Y0Q4YUNPK2o2eE1tdWV0bllRbFVIanpNY2ZUTldldHNIMGEvalBWR1Z2aGsxRnZSNVlOSHA5dEl3L1h6dFAwNkJSeWo4UWFuMFVJUHJjSUdlMWpQekZBeExQMnRyYnUrZVNaZXhjajlseHR6RDhLY1hqTnZ3K2tTak1ramhGUHZwcXMxRTJuM2xzeDlxTTlvbjh4VHZwaDlmdDdRbmN3N043eDMwR1VqOVd0cnRBUVJEYmlQSUh6L0dteWY3SGhLTngxZG1Iek5QVjBPVFROUmt3UnpEcWZlS2FOVmp4d25BRS9Za3ljVUZHYW5DMXJxVnhHZHNPU04vSGNmV3JTanZUZTZIYU56RDdXQmVWejNQanA4eHQ1MUF1TDdVeFhzTnlCdE1tQ2ZOYVVjUDM1T2l2QXpZQ1NIbGJQVHYrdEJJSHV2V3IyR1p2dk9NeWU5ZGo5S2ZlRGdUeExZdHVWN2JieTJOUS9UbTlZdXBDMndRRnZpZXYwcWM4RkFIV2JZNDI3WUVmSTBGZzZuZ3h6Zzc3QWdlSkcvOEFLbzdiNE9rdTRUN01vV1lqYm1HT254NmU0VXU0aDFTTzJrblFFY3lqSHh3RFRQYVhndXVGTDRod0k0dzRiR050czQ4c0Q2MEZQOFB4bTk0dnRwSlBiQW1NemU0WlA1VmRWbmI5bllXaEkzQjdUNG1xejlHdGlMblViMlk0eWtLeGovak8rUGxWdlhFWWpVQURBQTI4cUJrMUZ2VStKVW02SktNbnpEVnRZTjZwZVhsb01lMTl6M1ZuaUdNdmEyMXlBZWRjS2E0TS9OTmFYaUEvZEFlZ2ZJTFlSbXpoL2NHY0R1cEJZWmU4MU5oM2hnUGhUNWJsWlpvNVY3OTgweTZaR1JlM2FIdmxiOGFDcStMYmNTYWRLK0R6eFNCcy9HbVRnL1VQVmRRbnQyWWNrMGU0OHgwcVo2NWJDVVgxdmdEbURkZkxKcXROTWZzTlhqQjIzS21nbVY1ZE04enhnKzJRRkI4ODdWWVBvMkIvVHR6emRmVmdQL1d0VmJMSUUxSzNMSGJtQjYxYVhvMGZ0T0lMdHU0d0QvOEFOYUNLYVF5WFd0MnVSdFBmRmlQSExZK2dGVG5Xcmd4YVpLeDY0Sk5WN3dQZE5mYS9idEtBQ3MwMkFQN3BiQi9DcFZ4UGRuOUR1MmNjeUUwRk9hOWY4dHRLQUR6czNLQ1BQLzJxR2tsam52TlREVUxlSzh0b3d4VlR6OHpudklHYVFMRFoyNDVZSUFXL2ZmY21wSkkzbG5jcEpmamxwVEczc1dsTGNwNXNnSHZwY2JneUVBbnBUZmZNaVJjb1VjM2ZTelRyZnQ5T1M0UkE1NWlyRHd4VllPT21hbTFyTVY1dG02MU1sMU5Yc2huOTNCSGZVQkVQMm81b2dQaFVzMFZyVXFpdmJJU1RqbWJ3b0Z0bzIvTVRrSHBWNTZmZHhRV0RUU043S3JuZjNiMVU2UG82d3FvdG9SeWpmcjdScmhyUEdNMzZQOVVnZkJZWU9PNGVGQkhPSTF0ZFVtdVdrUU1yU3N5bndHU2FtZkJWZzB2b1AxVzB0K2RqNnpNUmpyc1VZL1Nxd3Y3MWxqeGtrbXJqOUZBNS9SamNxeDJlN21CSjh3Z29JcHBFSEpwc2R4TXZLMGpmWkxrKzBwM3pUc3BBT3c3aGp6Tk1xU3Vtb2l6a2xhVklDVlFFN0FLZTZuOEtyQm14aGV1ZTdGQmo3b3hnazFoWmN2eVlKQUhVR3N5Uk1FTFp3Y1o1U0s1NE9Ec2MrWS9uUWQrZHVpSGI1MWdEMmNZUHhHOWNVZkEyUFg0VjBWaXd6Z3NlL0JvQW5HUVR5NHpnL3dBcXdUaEJ2bkk2bnI4cUNmY01iY3RhQWdFNXhuQjYwR2c1TTh6QWdZLzBQbFhNb1NmdmdIYnIxOGZ5K1ZkT1gybEFHV3lkNjU4dzZrSDNZb012Q2M4eWpHTWZENFZMdUlGWWNJNkdHUFB5cXZOdDk3N09vaHo5eGJicjRWS2VKNzRXWEMvRG5NL0trekNNaGgxK3ovQ2dpdU9iUE5qSGNNZGEwL2F4eTh1ZWc4YTd6UVk1bkJDZ2ZQRkorVlNWSTN4MzBHVmxIM054a2VGZFNBOFpqa0JkU2NqeFh6RkNCTTRPQ0Ixd2R6V0hBZFIzWngzMENDZTNrdHhrTVhqSjJmb1BjZkNrclNrSExObmFuamxKVTVYS3NOODlDS1JYZW5oVWFhM3oyZjdTNHlWd04vaFFKQmNjbktNQUh1ckRPblViNHBPTXRzcHdNNXovQUs4cTJEY3ZUSFRPU2VvSGhRTHJPMmtua1FRKzBUallINFZNdEkweTRpZ0xTenJHQ1FDcmJuSCtqVVFzcHV5UWdBNXgxejAzNi9oVHNOVGw3UHM0cGVWUmxjRTlUdFFXRmFXaUpOYnMwNkgyZzdFSVJrZ2dmenFRVlZPaGF4ZC9wTFRvZWRpaGtVRTU4V1dyV29DaWlpZ2gzRnQ0TGZYOUlSc0ZTR0lCOFNjZnpxdHZTd1cvUzlnR09jd00yTS8zcXUrNjB1eHZiaUc0dXJXT2FhRDlVN2pkUGRTTFVPRk5CMWFWSk5RMG0ydVhSZVZXa0JKQXpuSFdnaW5CK21tMDBXMFJ3Y3hXNnI3cyswZnhhbmxYRVZ6R2NiWndha1VkamF4SUVqZ1JWQUFBQThOaFdEcDltVGsyNkUwRmRsVFk2MnlIWlhPRDdqUy9TdjhBWTcyV0k1NUdKSVB2cVlUYU5wdHhJSkpyS0ozSFJpRG10aHBWZ0dEQzBpeU8vQm9HUFZJLzZrdlA3dy9uVFhjS0g0Wm1JWE9BR0ZUVjdPMmtpTVR3b3lIcXA2R3VRMHF3RnViY1drZllrWUtZT0tEejF4ZGJ0TnBJbDNQWk9BQU80WTNxTzhPeXIvdE51eCs4T1llZmpYcG1iaEhoNjRpYUtiUjdWNDIrOHBCd2Z4cEpGNlBlRUlINTR1SHJGR3hqSVZ2em9LRzAyWm83dTRRbnJ0dlZpOEc1R3RXQUF5RExrbjRHcHd2QXZDcXVYWFFiTU1Ua25sYjg2Y0xYUWRLc3BVa3RyQ0dKME9WWlFjajhhQ3RlTTdrcnhSZlFLMkEzSmxmRThvb1VUV2ZDK3JRY283SnJDVjJiL3dDNlFSOUtzZTY0YzBhOXZHdkxuVGJlVzRZZ21SZ2NrZ1lIZjVDdDMwSFNwTGVXQnJDRXhTcnl5SVFjTVBBNzBGV2VpVzBQcXQ5ZHN2MlprVlEzanlnLy93Q2hWZ1MvYWxoVHBwMmhhVnBOczF2cDloRGJRczNPVWpCQUo4ZXZrS1UrcFcyYzlnbWFDTFR4Q2Eya3Rtem5KSzAwYWFDeVNXN2RVT3dxZm13dEdmbU51aGJ4cmttazZmSEkwaVdrU3UzVWdIZWdhTk5tNVVDTWNZMkZKTFJPVFhMbGNkUnpWSmwwKzBRNVczUUhydFFOUHRCT1poYnAycEdDM2ZpZ3FIWENZdFZ1QXdPNVlWVkdyUXRaYXRJTUVlMkdGZXFyamh6UnJxUXlUNmJieU8zVm1CeWZ4cEJjOEE4SlhrbmFYSEQ5bEkvVExLZnpvUFBGNU1YdTdabEJQTVA1VmF2b21tVjladVZMQXlDM0dSNGUydFRSZUJPRlZaR1hRYklHUDdwNVR0K05MZE00YzBiUnJ1UzcwM1RZTFc0bFhsZVNNRUZobk9PdmlBYUR6OTZQYmk0WGkyVkNWN09GTGwrbTQzUDUwOWNkYTlEYVd4dFkyVnBpQ0dVZnM5S3QyejRLNGEwKzRlNHRORnRJWm5CRE9pbkpCNjkvZlhLNTRCNFR2SldrdWRBc3BYWTVMTUdKSitkQjVaZVJ6R01uZHF3dVV5eEhRWitOZW92K2pqZzMvd0FOMkg4TGZuUWZSendhUVFlSExEQjYreTM1MEhrcVZubGJjZStwUnc0T3owNERsUHRaUDQxNksvNk0rQ2YvQUF6cC93REMzNTBwaDRDNFR0MENSYUJaSW82QUszNTBIbnFTMzlyT0RXVWtsakdGR0s5RG5nbmhnOWREcy80VCtkWS9vTnd2L3VLei9oUDUwSG5zM0VpamRqU04zWSsxazU4NjlIbmdUaFZ1dWcyUi93Q0Z2enJVOEE4Sm5ydy9aZnd0K2RCNWN1bmFXYytXMVhuNk5tTnY2SjdoeU4xdkhPLytLT3BaL3dCSFBCMmMvd0JITEQrRnZ6cDNzOUMwdXcwMXRPdExDR0d6Wml6UW9EeWtuRy9YeUh5b0tVMUZSYWNZWEt2L0FOcEtXQkEydzNoVDFFM01veDBYWVo2YkhIOHFzcTQ0VzBLNm43ZWZTcmFTWEFIT3dPY1p6NDEwVGg3UjQxNVYwNkFMNFlQam54b0t6bFl5QW5CMkgrczF3TGRYWld6NG5Za2VZcTAyNGQwWnV1bXdINEg4NngvUnpSczUvUnNHY1k2SDg2Q3FsWnprNU9EMzQ3dkFWM0xsYzhydGtleURqYjMxWjM5RzlGLzNiQjhqK2RCNGIwVTlkTnQrbU9oL09ncTVtSFE1SjIyejhxMkpDN2dFbnpxMER3NW94SUowMjN5Tjg0UDUxZ2NPYU1CZ2FiQmozSDg2Q3IyQXhuQnlmRHBXa250NTdnUnVmQ3JUSERlaWdBRFRiZkE2Ykg4NkR3M29wT1RwdHY4QUkvblFWTmxpU0MyY0hPTWVGT3ZwSEJIQVhEUnp1cnFjL3dEbDFZWjRhMFFuSjB5M3o3aitkZGI3UXRLMUt6aHM3MndobnQ0ZjFVYmc0VGJHMi9oUVV6cGVwSFZMTmVZWWxqeHpBRHFPbEtFR0g4ajRWYWR0d2Z3N1pzV3R0SHRZaTJ4S2c3L2pYWCtqR2g0eCtpN2ZIdVA1MEZVNTVHS2dNVDFJSGRXNEpLaGduVHB0ak5Xbi9SalEvd0RkZHY4QUkvblczOUc5Ry8zYmIvSS9uUVZlb1ZQYWIybEdCZy82NlZpTXl4b1drSURCaVZaRDFYUHM5ZnhxMHY2T2FOL3UyMytSL09zSGh6UmoxMDIzK1IvT2dxVzUwdExsVExiQkk1V3p6UmpvM21EM2U2bVl4TWpublJnVlB0QnRpTVZlbjlIZEgyL3EyMzI4aitkYVM4TWFITy9QTHBkczdZeGtnNSt0QlNxS3BBQkJJNkRCN2pYUm5aK1htQkdDRDQrTlhIL1JQaC8vQUhSYS93QUovT2c4SjZBZXVrV3Z5UDUwRlY2Tk16NjVwaWd0bjFtTUh3KytLdTA5YWFJZUY5Q2dtam1pMHUzU1NOZzZNQWNnam9ldE85QVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRZi8vWiZxdW90OyBhbHQ9JnF1b3Q7WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgZW1iZWRkZWQgaW1hZ2VzLCBzb3JyeSZxdW90Oy8+DQo8aDM+U3R5bGVzaGVldHM6PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsc28gd29ya3Mgd2l0aGluIHN0eWxlc2hlZXRzLCBpZiB1c2luZyB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcgaW4geW91ciBwYWdlIHRlbXBsYXRlLiAgQmVjYXVzZSB0aGUgc21hcnR5IHN5bnRheCBpcyBzbGlnaHRseSBkaWZmZXJlbnQgaW5zaWRlIHRoZSB7Y21zX3N0eWxlc2hlZXR9IHRhZyB5b3UgdXRpbGl6ZSB0aGUgbW9kdWxlIHVzaW5nIHRoZSBbWyBhbmQgXV0gZGVsaW1pdGVycy4gIGkuZTogPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PmRpdi5oZWFkZXIgeyBiYWNrZ3JvdW5kOiB1cmwoW1tDR1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvcGljdHVyZS5qcGcmIzAzOTsgbm90YWc9MV1dKTsgfTwvcD4NCjxwPkJlY2F1c2Ugc3R5bGVzaGVldHMgYXJlIGdlbmVyYXRlZCBvbiBtb2RpZmljYXRpb24gYW5kIHN0b3JlZCBpbiB0aGUgZmlsZXN5c3RlbSB0aGVyZSBpcyBubyB3YXkgdG8gZGV0ZXJtaW5lIGR1cmluZyB0aGUgcmVxdWVzdCB3aGljaCBicm93c2VyIGlzIHJlcXVlc3RpbmcgdGhlIHN0eWxlc2hlZXQsIHRoZXJlZm9yZSBlbWJlZGRpbmcgd2lsbCBiZSBkb25lIHN0cmljdGx5IGJhc2VkIHVwb24gdGhlIHByZXNlbnNlIG9mIHRoZSBub2VtYmVkIHBhcmFtZXRlci4gIElmIHlvdSBoYXZlIGNob3NlbiB0byBlbWJlZCBpbWFnZXMgZGlyZWN0bHkgaW50byB5b3VyIHN0eWxlc2hlZXRzLCBZb3UgbWF5IG5lZWQgdG8gYWRkIGFkZGl0aW9uYWwgc3R5bGVzaGVldCBzdXBwb3J0IGZvciB0aGUgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBlbWJlZGRlZCBpbWFnZXMuICBpLmU6ICBJRTYuPC9wPg0KPGgzPk9uZGVyc3RldW5pbmc8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+VmVyZWlzdGVuPC9oMz4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ0lzIGRlIGJvdmVuc3RhYW5kZSBVUkwgaW4gZ2VicnVpayB2b29yIGRlIGNhY2hlIGRpcmVjdG9yeSAoX0NHU21hcnRJbWFnZSknOwokbGFuZ1snaW1hZ2VfdXJsX3ByZWZpeCddID0gJ0FmYmVlbGRpbmcgVXJsIFByZWZpeCc7CiRsYW5nWydpbmZvX2NhY2hlX2FnZSddID0gJ0dlZWYgZGUgbWF4aW1hbGUgbGVlZnRpamQgb3AgdmFuIGVlbiBiZXN0YW5kIChpbiBkYWdlbikgdm9vcmRhdCBoZXQgbW9ldCB3b3JkZW4gdmVyd2lqZGVyZCBlbiBvcG5pZXV3IGdlZ2VuZXJlZXJkIG1vZXQgd29yZGVuICBEaXQgaXMgaGFuZGlnIGFscyB1IHNvbW1pZ2UgcGFyYW1ldGVycyBoZWVmdCBnZXdpanppZ2Qgdm9vciBoZXQgZ2VuZXJlcmVuIHZhbiBhZmJlZWxkaW5nZW4gb2Ygb20gZGUgZ2VicnVpa3RlIHNjaGlqZnJ1aW10ZSB0ZSBiZWhlcmVuLiAgQWxzIHUgMCBpbnZvZXJ0IGRhbiB6YWwgZGUgYXV0b21hdGlzY2hlIGJlc3RhbmRzZGV0ZWN0aWUgdWl0IHN0YWFuLic7CiRsYW5nWydpbmZvX2VtYmVkX21vZGUnXSA9ICdEZXplIHNlY3RpZSBiZXBhYWxkIGhvZSBkZSB7c21hcnRpbWd9LXRhZyBlZW4gb3V0cHV0IGdlbmVyZWVyZC4gQWxzICYjMDM5O25pZXRzJiMwMzk7IGlzIGdlc2VsZWN0ZWVyZCwgZGFuIHphbCBlciBnZWVuIGFmYmVlbGRpbmcgaW5nZXNsb3RlbiB3b3JkZW4uIEFscyB1ICYjMDM5O3NsaW0mIzAzOTsgc2VsZWN0ZWVydCBkYW4gemFsIGhldCBzeXN0ZWVtIGhldCB6ZWxmIGJlcGFsZW4gYWFuIGRlIGhhbmQgdmFuIGRlIGFmYmVlbGRpbmdzZ3Jvb3R0ZSwgdHlwZSBlbiBkZSBicm93c2VyIGRpZSBkZSBhZmJlZWxkaW5nIGFmYmVlbGRpbmcgb3B2cmFhZ3QuIEFuZGVyZSBvcHRpZXMgenVsbGVuIGFsdGlqZCBkZSBhZmJlZWxkaW5nIGluc2x1aXRlbiBvcCBiYXNpcyB2YW4gZGUgYWZiZWVsZGluZ3Nncm9vdHRlIGVuIGFmYmVlbGRpbmdzdHlwZS4nOwokbGFuZ1snaW5mb19lbWJlZF9zaXplbGltaXQnXSA9ICdBbHMgZGUgaW5zbHVpdGluZ3NvcHRpZSBiZXBhYWx0IHdvcmQgZG9vciBhZmJlZWxkaW5nc2dyb290dGUsIGdlZWYgdmFuIGVlbiBtYXhpbXVtIGJlc3RhbmRzZ3Jvb3R0ZSBvcCAoaW4ga2lsb2J5dGVzKSB2b29yIGFmYmVlbGRpbmdlbiBvbSBkZXplIGluIHRlIHNsdWl0ZW4gKDMyIGlzIGFhbmJldm9sZW4pLic7CiRsYW5nWydpbmZvX2VtYmVkX3R5cGVzJ10gPSAnQWxzIGRlIGluc2x1aXRpbmdzb3B0aWUgYmVwYWFsdCB3b3JkIGRvb3IgaGV0IGFmYmVlbGRpbmdzdHlwZSwgZ2VlZiBkYW4gaGllciBkZSBleHRlbnNpZXMgb3AgdmFuIGJlc3RhbmRlbiBkaWUgaW5nZXNsb3RlbiBtb2dlbiB3b3JkZW4sIGdlc2NoaWVkZW4gZG9vciBjb21tYSYjMDM5O3MuIERlemUgb3B0aWUgaXMgbmlldCBob29mZGxldHRlcmdldm9lbGlnLic7CiRsYW5nWydpbmZvX2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ0FscyB1dyBDRE4gZGlyZWN0IHZlcndpanN0IG5hYXIgZGUgYWZiZWVsZGluZ3NjYWNoZSBkYW4gd2lsdCB1IG1pc3NjaGllbiBkZXplIGZ1bmN0aWUgaW5zY2hha2VsZW4uJzsKJGxhbmdbJ2luZm9faW1hZ2VfdXJsX3ByZWZpeCddID0gJ1NwZWNpZmljZWVyIGRlIFVSTCBtZXQgZWVuIHByZWZpeCB2b29yIGFsbGUgZ2VnZW5lcmVlcmRlIGFmYmVlbGRpbmdlbi4gU3RhbmRhYXJkIGlzIGRpdCBkZSB1cGxvYWRzIFVSTCwgbWFhciBoZXQgbWFnIG9vayB1dyBlaWdlbiBDRE4gemlqbiAob2YgbWVlcmRlcmUgZG9tZWluZW4gZGllIGdlYnJ1aWsgbWFrZW4gdmFuIGRlemVsZmRlIG1hcCkuIFUga3VudCBoaWVyIGVlbiBhbmRlcmUgbmFhbSBvcGdlZ2V2ZW4uJzsKJGxhbmdbJ21heF9jYWNoZV9hZ2UnXSA9ICdNYXhpbXVtIGJlc3RhbmRzbGVlZnRpamQgaW4gY2FjaGUgKGRhZ2VuKSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VlbiBzbGltbWUgYWZiZWVsZGluZ3N0YWcgbW9kdWxlIHZvb3IgQ01TTVMnOwokbGFuZ1snbXNnX2NhY2hlY2xlYW5lZCddID0gJ0NhY2hlbWFwIG9wZ2VzY2hvb25kLiAlZCBiZXN0YW5kZW4gdmVyd2lqZGVyZCc7CiRsYW5nWydtc2dfY2FjaGVyZW1vdmVkJ10gPSAnQ2FjaGUgdmVyd2lqZGVyZCc7CiRsYW5nWydtc2dfcHJlZnN1cGRhdGVkJ10gPSAnVm9vcmtldXJlbiBiaWpnZXdlcmt0JzsKJGxhbmdbJ25vbmUnXSA9ICdHZWVuJzsKJGxhbmdbJ3BhcmFtX2FsdCddID0gJ1Zvb3IgYmlqIGhldCBnZWJydWlrIHZhbiBkZSBpbWctdGFnIG1vZXQgdSBoaWVyIGRlIHdhYXJkZSB2b29yIGhldCBhbHQtYXR0cmlidXV0IG9wZ2VnZXZlbi4gIE9wbWVya2luZzogYWxzIHUgaGllciBnZWVuIHdhYXJkZSBpbnZvZXJ0IGRhbiB6YWwgZGV6ZSB3YWFyZGUgYXV0b21hdGlzY2ggYmVyZWtlbnQgd29yZGVuIHpvZGF0IGRlIG1lZXN0ZSBpbWctdGFncyBqdWlzdCB6aWpuLiAgVSBrdW50IGRlemUgYXV0b21hdGlzY2hlIGJlcmVrZW5pbmcgdWl0c2NoYWtlbGVuIG1ldCBkZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyJzsKJGxhbmdbJ3BhcmFtX2NsYXNzJ10gPSAnV29yZHQgZ2VicnVpa3QgYmlqIGhldCBnZW5lcmVyZW4gdmFuIGVlbiBpbWctdGFnLCBzdGFhdCB0b2Ugb20gZWVuIG9mIG1lZXJkZXJlIGNsYXNzZXMgdG9lIHRlIHZvZWdlbiBhYW4gZGUgdGFnLiAgYmlqdm9vcmJlZWxkOiBjbGFzcz0mcXVvdDtmYW5jeWJveCB0aHVtYm5haWwmcXVvdDsnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JsdXInXSA9ICcoYWxsZXMpIEdlZWYgZWVuIHdhYXJkZSBvcCB2b29yIGRlemUgcGFyYW1ldGVyIG9tIGVlbiBibHVyIGZpbHRlciB0b2UgdGUgdm9lZ2VuIGFhbiBkZSBhZmJlZWxkaW5nJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9icmlnaHRuZXNzJ10gPSAnKGhlZWwgZ2V0YWwpIFZlcmJldGVyZCBkZSBoZWxkZXJoZWlkIHZhbiBkZSBhZmJlZWxkaW5nIG1ldCBkZSBnZWhlbGUgd2FhcmRlIGRpZSB3b3JkdCBvcGdlZ2V2ZW4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX2NvbG9yaXplJ10gPSAnKHIsZyxiWyxhbHBoYV0pIC0gTGlqa3Qgb3AgaGV0IGZpbHRlciBfZ3JleXNjYWxlIG1hYXIgdSBrdW50IGhpZXIgZGUga2xldXIgZW4gZGUgYWxwaGF3YWFyZGUgb3BnZWdldmVuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jb250cmFzdCddID0gJyhoZWVsIGdldGFsKSBXaWp6aWcgaGV0IGNvbnRyYXN0IHZhbiBkZSBhZmJlZWxkaW5nIGRvb3IgZGUgd2FhcmRlIG1ldCBlZW4gaGVlbCBnZXRhbCB0ZSB3aWp6aWdlbic7CiRsYW5nWydwYXJhbV9maWx0ZXJfY3JvcCddID0gJyhwZXJjZW50YWdlWyxoX2FsaWduLHZfYWxpZ25dKSAtIFZvZXIgYmlqc25pamRlbiB1aXQgb3AgZGUgb3BnZWdldmVuIGFmYmVlbGRpbmcuIERlIHBhcmFtZXRlcnMgdm9vciBoZXQgYmlqc25pamRlbiB6aWpuIG9wZ2VnZXZlbiBhbHMgZWVuIGtvbW1hZ2VzY2hlaWRlbiBsaWpzdC4gIERlIGVlcnN0ZSB3YWFyZGUgaXMgZWVuIGdlaGVlbCBwZXJjZW50YWdlIHZhbiBkZSBhZmJlZWxkaW5nIG9wIG9yaWdpbmVsZSBncm9vdHRlLiAgRGV6ZSB0d2VlZGUgZW4gZGVyZGUgKG9wdGl0aW9uZWxlKSBwYXJhbWV0ZXJzIHppam46IGwsYyxyIChsaW5rcyxnZWNlbnRyZWVyZCxyZWNodHMpIGVuIHQsYyxiICh0b3AsZ2VjZW50cmVlcmQsYmVuZWRlbikgb20gZGUgbG9jYXRpZSBvcCB0ZSBnZWdldmVuIHZhbmFmIHdhYXIgZXIgYmlqZ2VzbmVkZW4gbW9ldCB3b3JkZW4uICBiaWp2b29yYmVlbGQ6IGNyb3A9MzMsYixyIG9tIGVlbiBrbmlwc2VsIHRlIG5lbWVuIHZhbiAzMyUgdmFuYWYgZGUgcmVjaHRlciBvbmRlcmthbnQgdmFuIGRlIGJyb25hZmJlZWxkaW5nJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lZGdlZGV0ZWN0J10gPSAnKGFsbGVzKSBNYXJrZWVyIGRlIHJhbmRlbiBpbiBkZSBhZmJlZWxkaW5nJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lbWJvc3MnXSA9ICcoYWxsZXMpIEdlZWYgZGUgYWZiZWVsZGluZyByZWxpJmV1bWw7Zic7CiRsYW5nWydwYXJhbV9maWx0ZXJfZ3JheXNjYWxlJ10gPSAnKGFsbGVzKSBDb252ZXJ0ZWVyIGRlIGFmYmVlbGRpbmcgbmFhciBncmlqc3dhYXJkZW4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX21lYW5yZW1vdmFsJ10gPSAnKGFsbGVzKSBCZWRvZWxkIHZvb3IgZWVuICZxdW90O3Rla2VuJnF1b3Q7LWVmZmVjdCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbmVnYXRlJ10gPSAnKGFsbGVzKSBPbnRrZW4gZGUgYWZiZWVsZGluZyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfcGl4ZWxhdGUnXSA9ICcoZ3Jvb3R0ZVssZ2VhdmFuY2VlcmRdKSBQaXhlbGF0ZSB0aGUgaW1hZ2UsIHNwZWNpZnkgYW4gaW50ZWdlciBzaXplIGFuZCBhbiBvcHRpb25hbCBib29sZWFuIChkZWZhdWx0IGlzIGZhbHNlKSB0byBlbmFibGUgYWR2YW5jZWQgcGl4ZWxhdGlvbic7CiRsYW5nWydwYXJhbV9maWx0ZXJfcmVzaXplJ10gPSAndHlwZSxudW1iZXJbLG51bWJlcl0gLSBQZXJmb3JtIGEgcmVzaXplIG9mIHRoZSBzb3VyY2UgaW1hZ2UuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+cCxudW1iZXIgLSBQZXJmb3JtIGEgc2ltcGxlIHJlc2NhbGUgdG8gYSBjZXJ0YWluIHBlcmNlbnRhZ2UuICBpLmU6ICByZXNpemU9cCw1MCB0byByZXNpemUgdG8gNTAlIG9mIHRoZSBvcmlnaW5hbCBzaXplLjwvbGk+DQogIDxsaT53LG51bWJlciAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgd2lkdGggKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT13LDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSB3aWR0aCBvZiA4MCBwaXhlbHMuPC9saT4NCiAgPGxpPmgsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCBoZWlnaHQgKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT1oLDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSBoZWlnaHQgb2YgODAgcGl4ZWxzLjwvbGk+DQogIDxsaT5jLHgseSAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBjdXN0b20gc2l6ZSAod2l0aG91dCByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIGkuZTogcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9maWx0ZXJfcm90YXRlJ10gPSAnKGhvZWssa2xldXIpIEdlZWYgbWV0IGVlbiBnZWhlZWwgZ2V0YWwgZGUgZHJhYWlob2VrIG9wIChkcmFhaWVuIGdhYXQgbWV0IGRlIGtsb2sgbWVlKSBvbSBkZSBhZmJlZWxkaW5nIHRlIGRyYWFpZW4uIERhYXJuYWFzdCBtb2V0IHUgZWVuIGtsZXVyIG9wZ2VnZXZlbiB3YWFybWVlIGRlIG92ZXJpZ2UgcGl4ZWxzIHdvcmRlbiBvcGdldnVsZC4gIERlIGFmYmVlbGRpbmcgZHJhYWl0IG9tIHppam4gZWlnZW4gbWlkZGVuLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfd2F0ZXJtYXJrJ10gPSAnKGFsbGVzKSwgR2VlZiBlZW4gd2F0ZXJtZXJrIG9wICh6b2FscyBvcGdlZ2V2ZW4gaW4gaGV0IENHRXh0ZW50aWVzIGJlaGVlcnBhbmVlbCkgZGllIG1vZXQgd29yZGVuIHRvZWdlcGFzdCBvcCBkZSBhZmJlZWxkaW5nJzsKJGxhbmdbJ3BhcmFtX2hlaWdodCddID0gJ1Zvb3IgYmlqIGhldCBnZWJydWlrIHZhbiBkZSBpbWctdGFnIG1vZXQgdSBoaWVyIGRlIHdhYXJkZSB2b29yIGhldCBob29ndGUtYXR0cmlidXV0IG9wZ2VnZXZlbi4gIE9wbWVya2luZzogYWxzIHUgaGllciBnZWVuIHdhYXJkZSBpbnZvZXJ0IGRhbiB6YWwgZGV6ZSB3YWFyZGUgYXV0b21hdGlzY2ggYmVyZWtlbnQgd29yZGVuIHpvZGF0IGRlIG1lZXN0ZSBpbWctdGFncyBqdWlzdCB6aWpuLiAgVSBrdW50IGRlemUgYXV0b21hdGlzY2hlIGJlcmVrZW5pbmcgdWl0c2NoYWtlbGVuIG1ldCBkZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyJzsKJGxhbmdbJ3BhcmFtX25vYXV0byddID0gJ0JlcmVrZW4gbmlldCBhdXRvbWF0aXNjaCBkZSBwYXJhbWF0ZXJzIHZvb3IgZGUgaW1nLXRhZy4gIERpdCBrYW4gZXIgbW9nZWxpamsgdm9vciB6b3JnZW4gZGF0IHV3IHNpdGUgbmlldCBqdWlzdCBnZXZhbGlkZWVyZCB3b3JkdCBpbmRpZW4gZGUgdmVyZWlzdGUgcGFyYW1ldGVycyAod2lkdGgsaGVpZ2h0LGFsdCkgbmlldCB6aWpuIG9wZ2VnZXZlbic7CiRsYW5nWydwYXJhbV9ub2NhY2hlJ10gPSAnU3RhIGhldCB2b29yIGRlIHZlcmdyb290dGUgYWZiZWVsZGluZyBuaWV0IHRvZSBkZXplIG9wIHRlIHNsYWFuIGluIGRlIGJyb3dzZXJjYWNoZSAoaGFuZGlnIHZvb3IgYmlqIGRlIG9udHdpa2tlbGluZykuIERlemUgb3B0aWUgdm9lZ3QgZWVuIHVuaWVrIG51bW1lciB0b2UgYWxzIHBhcmFtZXRlciB2YW4gZGUgYWZiZWVsZGluZyBkYXQgZXIgdm9vciB6b3JndCBkYXQgZWVuIGFmYmVlbGRpbmcgbmlldCBkb29yIGRlIGJyb3dzZXIgZ2VjYWNoZWQga2FuIHdvcmRlbi4nOwokbGFuZ1sncGFyYW1fbm9lbWJlZCddID0gJ0RlemUgYWZiZWVsZGluZyBtYWcgbmlldCBpbmdlc2xvdGVuIHdvcmRlbi4gT25nZWFjaHQgZGUgaW5zdGVsbGluZ2VuIGluIGhldCBiZWhlZXJkZXJzcGFuZWVsLCBkZSBVUkwgZW4gZGUgZ2VnZW5lcmVlcmRlIHRhZ3MgenVsbGVuIGRlIGJlc3RhbmRlbiBvcCBkZSBzZXJ2ZXIgd29yZGVuIG9wZ2Vyb2VwZW4uIEVyIHphbCBnZWVuIGluc2x1aXRpbmcgcGxhYXRzIHZpbmRlbi4nOwokbGFuZ1sncGFyYW1fbm90YWcnXSA9ICdHZWVmIGdlZW4gaW1nLXRhZyBtZWUgaW4gZGUgb3V0cHV0LCBhbGxlZW4gZGUgVVJMIHZhbiBkZSBnZWNhY2hlZGUgYWZiZWVsZGluZy4gRGl0IGhlZWZ0IGdlZW4gZWZmZWN0IHdhbm5lZXIgQ0dTbWFydEltYWdlIHdvcmR0IGdlYnJ1aWt0IGluIGVlbiBzdHlsZXNoZWV0Lic7CiRsYW5nWydwYXJhbV9vdmVyd3JpdGUnXSA9ICdTY2hha2VsIGFsbGUgY2FjaGluZyB1aXQgZW4gZm9yY2VlciBoZXJiZXJla2VuaW5nIHZvb3IgYWxsZSBmaWx0ZXJzJzsKJGxhbmdbJ3BhcmFtX3F1YWxpdHknXSA9ICdTcGVjaWZpY2VlciBkZSBrd2FsaXRlaXQgdmFuIGRlIG91dHB1dGFmYmVlbGRpbmcuIFUgbW9ldCBlZW4gd2FhcmRlIGludnVsbGVuIHR1c3NlbiBkZSAwIGVuIDEwMC4nOwokbGFuZ1sncGFyYW1fc3JjJ10gPSAnU3BlY2lmeSB0aGUgc291cmNlIGZvciB0aGUgaW1hZ2UgcHJvY2Vzc2luZyAoaWYgYW55KSBvciB0aGUgZ2VuZXJhdGVkIGltZyB0YWcuICBOb3RlLCB0aGlzIHBhcmFtZXRlciBpcyBmbGV4aWJsZSwgYW5kIHRoZSBtb2R1bGUgd2lsbCBhdHRlbXB0IG1hbnkgbWV0aG9kcyB0byBmaW5kIHRoZSBzb3VyY2UgaW1hZ2UgZmlsZSBvbiB0aGUgd2ViIHNlcnZlciBhcyBmb2xsb3dzOg0KPHVsPg0KICA8bGk+Rmlyc3QgbG9vayB0byBzZWUgaWYgdGhlIHNwZWNpZmllZCBzcmMgdmFsdWUgZXhpc3RzIGFzIGEgZmlsZSBvbiB0aGUgZmlsZXN5c3RlbS48L2xpPg0KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSB1cGxvYWRzX3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHJvb3RfdXJsIChhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5waHApPC9saT4NCiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgc3NsX3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zdHlsZSddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBhbGxvd3Mgc3BlY2lmeWluZyBhbHRlcm5hdGUgc3R5bGVzIGZvciB0aGUgdGFnLiAgaS5lOiBzdHlsZT0mcXVvdDtib3JkZXI6IDFweCBzb2xpZCBibGFjazsmcXVvdDsnOwokbGFuZ1sncGFyYW1fdGl0bGUnXSA9ICdHZWVmIGhldCBvcHRpb25lbGUgdGl0ZWxhdHRyaWJ1dXQgb3Agdm9vciBkZSBpbWctdGFnLiAgYmlqdm9vcmJlZWxkOiB0aXRsZT0mcXVvdDtEaXQgaXMgZWVuIHRvb2x0aXAmcXVvdDsnOwokbGFuZ1sncGFyYW1fd2lkdGgnXSA9ICdWb29yIGJpaiBoZXQgZ2VicnVpayB2YW4gZGUgaW1nLXRhZyBtb2V0IHUgaGllciBkZSB3YWFyZGUgdm9vciBoZXQgYnJlZWR0ZS1hdHRyaWJ1dXQgb3BnZWdldmVuLiAgT3BtZXJraW5nOiBhbHMgdSBoaWVyIGdlZW4gd2FhcmRlIGludm9lcnQgZGFuIHphbCBkZXplIHdhYXJkZSBhdXRvbWF0aXNjaCBiZXJla2VudCB3b3JkZW4gem9kYXQgZGUgbWVlc3RlIGltZy10YWdzIGp1aXN0IHppam4uICBVIGt1bnQgZGV6ZSBhdXRvbWF0aXNjaGUgYmVyZWtlbmluZyB1aXRzY2hha2VsZW4gbWV0IGRlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bGUgZ2UmaXVtbDtuc3RhbGxlZXJkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdBbGxlIG1ldCBkZXplIG1vZHVsZSBnZWFzc29jaWVlcmRlIGRhdGEgaXMgdmVyd2lqZGVyZCc7CiRsYW5nWydwcm9tcHRfZW1iZWRfc2l6ZWxpbWl0J10gPSAnR2ViYXNzZWVyZCBvcCBhZmJlZWxkaW5nc2dyb290dGUnOwokbGFuZ1sncHJvbXB0X2VtYmVkX3NtYXJ0bGltaXRlZCddID0gJ1NsaW1tZSBtb2R1cyBtYWFyIGxpbWl0ZWVyIGFmYmVlbGRpbmdzZ3Jvb3R0ZSc7CiRsYW5nWydwcm9tcHRfZW1iZWRfdHlwZSddID0gJ0dlYmFzc2VlcmQgb3AgYWZiZWVsZGluZ3N0eXBlJzsKJGxhbmdbJ3Jlc2l6aW5nJ10gPSAnSGVydmVyZ3JvdGVuJzsKJGxhbmdbJ3NtYXJ0J10gPSAnU2xpbSc7CiRsYW5nWydzdWJtaXQnXSA9ICdPcHNsYWFuJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTg1MjIyMTI3MS4xMjg3NDc5MDkyLjEyOTc0MDU5NTEuMTI5NzYyNjQ1NC4xMTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjk3MTkyOTI3LjExMC43MC51dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9Lyc7CiRsYW5nWydxY2EnXSA9ICdQMC0xNjEwMzE4OTctMTI4NzQ3OTA5MjE3MSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.CGImageBase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlQmFzZSBpbXBsZW1lbnRzIEFycmF5QWNjZXNzCnsKICBwcml2YXRlICRfdHJhbnNwYXJlbnQ7CiAgcHJpdmF0ZSAkX3JzcmM7CiAgcHJpdmF0ZSAkX3NyY25hbWU7CiAgcHJpdmF0ZSAkX2RpcnR5OwogIHByaXZhdGUgJF9pbmZvOwogIHByaXZhdGUgc3RhdGljICRfa2V5cyA9IGFycmF5KCdyc3JjJywnd2lkdGgnLCdoZWlnaHQnLCd0eXBlJywnZmlsZW5hbWUnLCduYW1lJywndHJhbnNwYXJlbnQnKTsKCiAgcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVfbmV3X3JzcmMoJG1pbWV0eXBlLCR3aWR0aCwkaGVpZ2h0KQogIHsKICAgIHN3aXRjaCggJG1pbWV0eXBlICkKICAgICAgewogICAgICBjYXNlICdpbWFnZS9qcGVnJzoKCSRfcnNyYyA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwkaGVpZ2h0KTsKCS8vaW1hZ2VpbnRlcmxhY2UoJF9yc3JjLCBmYWxzZSk7CglyZXR1cm4gJF9yc3JjOwoKICAgICAgY2FzZSAnaW1hZ2UvcG5nJzoKCS8vIGZyb20gc3VwZXJzaXplcgoJJF9yc3JjID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHdpZHRoLCAkaGVpZ2h0KTsgIAoJJGJsYWNrID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRfcnNyYywwLDAsMCk7CglpbWFnZWNvbG9ydHJhbnNwYXJlbnQoJF9yc3JjLCAkYmxhY2spOyAgIAoJLy8gVHVybiBvZmYgdHJhbnNwYXJlbmN5IGJsZW5kaW5nICh0ZW1wb3JhcmlseSkKCWltYWdlYWxwaGFibGVuZGluZygkX3JzcmMsIGZhbHNlKTsKCS8vIENyZWF0ZSBhIG5ldyB0cmFuc3BhcmVudCBjb2xvciBmb3IgaW1hZ2UKCSRjb2xvciA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRfcnNyYywgMCwgMCwgMCwgMTI3KTsKCS8vIENvbXBsZXRlbHkgZmlsbCB0aGUgYmFja2dyb3VuZCBvZiB0aGUgbmV3IGltYWdlIHdpdGggYWxsb2NhdGVkIGNvbG9yLgoJaW1hZ2VmaWxsKCRfcnNyYywgMCwgMCwgJGNvbG9yKTsKCS8vIFJlc3RvcmUgdHJhbnNwYXJlbmN5IGJsZW5kaW5nCglpbWFnZXNhdmVhbHBoYSgkX3JzcmMsIHRydWUpOwoJLy9pbWFnZWNvbG9ydHJhbnNwYXJlbnQoJF9yc3JjLCRjb2xvcik7CgoKCSR0aGlzLT5fdHJhbnNwYXJlbnQgPSAkY29sb3I7CgoJLyoKCSRfcnNyYyA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwkaGVpZ2h0KTsKCSRjb2xvciA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRfcnNyYywgMCwgMCwgMCwgMTI3KTsKCS8vaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCRfcnNyYywkY29sb3IpOwoJLy9pbWFnZWNvbG9ydHJhbnNwYXJlbnQoJF9yc3JjLCBpbWFnZWNvbG9yYWxsb2NhdGUoJF9yc3JjLCAwLCAwLCAwKSk7ICAgCgkvLyBUdXJuIG9mZiB0cmFuc3BhcmVuY3kgYmxlbmRpbmcgKHRlbXBvcmFyaWx5KQoJLy9pbWFnZWFscGhhYmxlbmRpbmcoJF9yc3JjLCBmYWxzZSk7CgkvLyBDcmVhdGUgYSBuZXcgdHJhbnNwYXJlbnQgY29sb3IgZm9yIGltYWdlCgkkdGhpcy0+X3RyYW5zcGFyZW50ID0gJGNvbG9yOwoJLy8gQ29tcGxldGVseSBmaWxsIHRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBuZXcgaW1hZ2Ugd2l0aCBhbGxvY2F0ZWQgY29sb3IuCgkvL2ltYWdlZmlsbCgkX3JzcmMsIDAsIDAsICRjb2xvcik7CgkvLyBSZXN0b3JlIHRyYW5zcGFyZW5jeSBibGVuZGluZwoJLy9pbWFnZXNhdmVhbHBoYSgkX3JzcmMsIHRydWUpOwoJKi8KCXJldHVybiAkX3JzcmM7CgogICAgICBjYXNlICdpbWFnZS9naWYnOgoJJF9yc3JjID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHdpZHRoLCAkaGVpZ2h0KTsKCWltYWdldHJ1ZWNvbG9ydG9wYWxldHRlKCRfcnNyYywgdHJ1ZSwgMjU2KTsKCWltYWdlYWxwaGFibGVuZGluZygkX3JzcmMsIGZhbHNlKTsKCWltYWdlc2F2ZWFscGhhKCRfcnNyYyx0cnVlKTsKCSR0cmFuc3BhcmVudCA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRfcnNyYywgMjU1LCAyNTUsIDI1NSwgMTI3KTsKCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCRfcnNyYywgMCwgMCwgJHdpZHRoLCAkaGVpZ2h0LCAkdHJhbnNwYXJlbnQpOwoJaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCRfcnNyYywgJHRyYW5zcGFyZW50KTsKCXJldHVybiAkX3JlczsKCiAgICAgIGRlZmF1bHQ6Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdDYW5ub3QgY3JlYXRlIG5ldyBpbWFnZSBvZiB0eXBlICcuJG1pbWV0eXBlKTsKICAgICAgfQogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkaW5wdXQpCiAgewogICAgaWYoIGlzX29iamVjdCgkaW5wdXQpICYmICRpbnB1dCBpbnN0YW5jZW9mIENHSW1hZ2VCYXNlICApCiAgICAgIHsKCS8vIGNvcHkgY29uc3RydWN0b3IKCSR0aGlzLT5fcnNyYyA9ICRpbnB1dC0+X3JzcmM7CgkkdGhpcy0+X3NyY25hbWUgPSAkaW5wdXQtPl9zcmNuYW1lOwoJJHRoaXMtPl9pbmZvID0gJGlucHV0LT5faW5mbzsKCSR0aGlzLT5fZGlydHkgPSAxOwogICAgICB9CiAgICBlbHNlIGlmKCBpc19zdHJpbmcoJGlucHV0KSAmJiBpc19yZWFkYWJsZSgkaW5wdXQpICYmIGlzX2ZpbGUoJGlucHV0KSApCiAgICAgIHsKCSRkYXRhID0gZmlsZV9nZXRfY29udGVudHMoJGlucHV0KTsKCWlmKCAkZGF0YSAhPT0gRkFMU0UgKQoJICB7CgkgICAgJHRoaXMtPl9yc3JjID0gaW1hZ2VjcmVhdGVmcm9tc3RyaW5nKCRkYXRhKTsKCSAgICAkdGhpcy0+X3NyY25hbWUgPSAkaW5wdXQ7CgkgICAgJHRoaXMtPl9pbmZvID0gZ2V0aW1hZ2VzaXplKCRpbnB1dCk7CgkgICAgJHRoaXMtPl9pbmZvWzJdID0gaW1hZ2VfdHlwZV90b19taW1lX3R5cGUoJHRoaXMtPl9pbmZvWzJdKTsKCSAgICByZXR1cm47CgkgIH0KCXRocm93IG5ldyBFeGNlcHRpb24oJ1Byb2JsZW0gY3JlYXRpbmcgbmV3IENHSW1hZ2VCYXNlIG9iamVjdCBmcm9tICcuJGlucHV0KTsKICAgICAgfQogICAgZWxzZSBpZiggaXNfYXJyYXkoJGlucHV0KSAmJiBjb3VudCgkaW5wdXQpID09IDMgKQogICAgICB7CgkkdGhpcy0+X3JzcmMgPSAkdGhpcy0+Y3JlYXRlX25ld19yc3JjKCRpbnB1dFswXSwkaW5wdXRbMV0sJGlucHV0WzJdKTsKCSR0aGlzLT5faW5mbyA9IGFycmF5KCRpbnB1dFsxXSwkaW5wdXRbMl0sJGlucHV0WzBdKTsKCSR0aGlzLT5fZGlydHkgPSAxOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gY3JlYXRlIGEgQ0dJbWFnZUJhc2Ugb2JqZWN0IHdpdGggaW52YWxpZCBpbnB1dCcpOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEV4aXN0cygkaykKICB7CiAgICByZXR1cm4gaW5fYXJyYXkoJGssQ0dJbWFnZUJhc2U6OiRfa2V5cyk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldFVuc2V0KCRrKQogIHsKICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gdW5zZXQgYW4gYXR0cmlidXRlIG9mIGEgQ0dJbWFnZUJhc2Ugb2JqZWN0Jyk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0R2V0KCRrKQogIHsKICAgICRrID0gc3RydG9sb3dlcigkayk7CiAgICBpZiggIWluX2FycmF5KCRrLENHSW1hZ2VCYXNlOjokX2tleXMpICkgCiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gZ2V0IGludmFsaWQgYXR0cmlidXRlICcuJGsuJyBGcm9tIENHSW1hZ2VCYXNlJyk7CgogICAgc3dpdGNoKCAkayApCiAgICAgIHsKICAgICAgY2FzZSAncnNyYyc6CglyZXR1cm4gJHRoaXMtPl9yc3JjOwoJYnJlYWs7CgogICAgICBjYXNlICd3aWR0aCc6CglpZiggIWlzX2FycmF5KCR0aGlzLT5faW5mbykgKQoJICB7CgkgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBnZXQgaW5mb3JtYXRpb24gb24gdW5pbml0aWFsaXplZCBvYmplY3QnKTsKCSAgfQoJcmV0dXJuICR0aGlzLT5faW5mb1swXTsKCWJyZWFrOwoKICAgICAgY2FzZSAnaGVpZ2h0JzoKCWlmKCAhaXNfYXJyYXkoJHRoaXMtPl9pbmZvKSApCgkgIHsKCSAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGdldCBpbmZvcm1hdGlvbiBvbiB1bmluaXRpYWxpemVkIG9iamVjdCcpOwoJICB9CglyZXR1cm4gJHRoaXMtPl9pbmZvWzFdOwoJYnJlYWs7CgogICAgICBjYXNlICd0eXBlJzoKCWlmKCAhaXNfYXJyYXkoJHRoaXMtPl9pbmZvKSApCgkgIHsKCSAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGdldCBpbmZvcm1hdGlvbiBvbiB1bmluaXRpYWxpemVkIG9iamVjdCcpOwoJICB9CglyZXR1cm4gJHRoaXMtPl9pbmZvWzJdOwoJYnJlYWs7CgogICAgICBjYXNlICdkaXJ0eSc6CglyZXR1cm4gJHRoaXMtPl9kaXJ0eTsKCWJyZWFrOwoKICAgICAgY2FzZSAndHJhbnNwYXJlbnQnOgoJcmV0dXJuICR0aGlzLT5fdHJhbnNwYXJlbnQ7CglicmVhazsKCiAgICAgIGNhc2UgJ2ZpbGVuYW1lJzoKICAgICAgY2FzZSAnbmFtZSc6CglyZXR1cm4gJHRoaXMtPl9zcmNuYW1lOwoJYnJlYWs7CiAgICAgIH0KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0U2V0KCRrLCR2KQogIHsKICAgIGlmKCAhaW5fYXJyYXkoJGssQ0dJbWFnZUJhc2U6OiRfa2V5cykgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIEF0dGVtcHQgdG8gbW9kaWZ5IHRoZSBhdHRyaWJ1dGUgb2YgQ0dJbWFnZUJhc2UnKTsKICAgICAgfQoKICAgICR0aGlzLT5fZGlydHkgPSAxOwogICAgc3dpdGNoKCRrKQogICAgICB7CiAgICAgIGNhc2UgJ3JzcmMnOgogICAgICBjYXNlICdkaXJ0eSc6CiAgICAgIGNhc2UgJ3RyYW5zcGFyZW50JzoKCSRrID0gJ18nLiRrOwoJJHRoaXMtPiRrID0gJHY7CglicmVhazsKCiAgICAgIGNhc2UgJ3dpZHRoJzoKCWlmKCAhaXNfYXJyYXkoJHRoaXMtPl9pbmZvKSApICR0aGlzLT5faW5mbyA9IGFycmF5KCk7CgkkdGhpcy0+X2luZm9bMF0gPSAkdjsKCWJyZWFrOwoKICAgICAgY2FzZSAnaGVpZ2h0JzoKCWlmKCAhaXNfYXJyYXkoJHRoaXMtPl9pbmZvKSApICR0aGlzLT5faW5mbyA9IGFycmF5KCk7CgkkdGhpcy0+X2luZm9bMV0gPSAkdjsKCWJyZWFrOwoKICAgICAgY2FzZSAndHlwZSc6CglpZiggIWlzX2FycmF5KCR0aGlzLT5faW5mbykgKSAkdGhpcy0+X2luZm8gPSBhcnJheSgpOwoJJHRoaXMtPl9pbmZvWzJdID0gJHY7CglicmVhazsKCiAgICAgIGNhc2UgJ2ZpbGVuYW1lJzoKICAgICAgY2FzZSAnbmFtZSc6CgkkdGhpcy0+X3NyY25hbWUgPSAkdjsKCWJyZWFrOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNhdmUoJGZpbGVuYW1lLCRxdWFsaXR5ID0gNzUpCiAgewogICAgaWYoICEkdGhpcy0+X2RpcnR5ICkgcmV0dXJuOwogICAgCiAgICAkcmVzID0gJyc7CiAgICBzd2l0Y2goJHRoaXNbJ3R5cGUnXSkgCiAgICAgIHsKICAgICAgY2FzZSAnaW1hZ2UvanBlZyc6CgkkcmVzID0gaW1hZ2VqcGVnKCR0aGlzWydyc3JjJ10sJGZpbGVuYW1lLCRxdWFsaXR5KTsKCWJyZWFrOwogICAgICBjYXNlICdpbWFnZS9wbmcnOgoJJHF1YWxpdHkgPSAoaW50KSgkcXVhbGl0eS8xMC4wKTsKCSRyZXMgPSBpbWFnZXBuZygkdGhpc1sncnNyYyddLCRmaWxlbmFtZSwkcXVhbGl0eSk7CglicmVhazsKICAgICAgY2FzZSAnaW1hZ2UvZ2lmJzoKCSRyZXMgPSBpbWFnZWdpZigkdGhpc1sncnNyYyddLCRmaWxlbmFtZSk7CglicmVhazsKICAgICAgZGVmYXVsdDoKCXRocm93IG5ldyBFeGNlcHRpb24oJ0Nhbm5vdCBzYXZlIGltYWdlIG9mIHR5cGUgJy4kdGhpc1sndHlwZSddKTsKICAgICAgfQoKICAgIGlmKCAkcmVzICkgcmV0dXJuOwogICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3Igc2F2aW5nIGltYWdlIG9mIHR5cGUgJy4kdGhpc1sndHlwZSddLicgdG8gJy4kZmlsZW5hbWUpOwogIH0KCn0gLy8gY2xhc3MgQ0dJbWFnZUJhc2UKCi8vICRpbWcxID0gbmV3IENHSW1hZ2UoJHNvbWVmaWxlbmFtZSk7Ci8vICRmaWx0ZXIgPSBuZXcgQ21zU29tZXRoaW5nRmlsdGVyKCk7Ci8vICRpbWcyID0gJGZpbHRlci0+dHJhbnNmb3JtKCRpbWcxKTsKLy8gJGltZzItPnNhdmUoKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImageFilterBase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgphYnN0cmFjdCBjbGFzcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgLy8gcmV0dXJucyBhIENHSW1hZ2VCYXNlIG9iamVjdAogIGFic3RyYWN0IGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkaW1hZ2UpOwp9CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Blur_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0JsdXJfRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgLy8gbm90aGluZyBoZXJlLgogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oQ0dJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkX2Rlc3QgPSBuZXcgQ0dJbWFnZUJhc2UoJHNyYyk7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9HQVVTU0lBTl9CTFVSKTsKCiAgICBpZiggISRyZXMgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX0dBVVNTSUFOX0JMVVIpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Brightness_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0JyaWdodG5lc3NfRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9icmlnaHRuZXNzID0gMDsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KC8qIHZhcmlhYmxlIGFyZ3VtZW50cyAqLykKICB7CiAgICBpZiggZnVuY19udW1fYXJncygpICE9IDEgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIGFyZ3VtZW50cyB0byAnLmdldF9jbGFzcygkdGhpcykpOwogICAgICB9CgogICAgJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CiAgICAkYXJncyA9ICRhcmdzWzBdOwogICAgaWYoIGlzX2FycmF5KCRhcmdzKSApCiAgICAgIHsKCSR0aGlzLT5fYnJpZ2h0bmVzcyA9IChpbnQpJGFyZ3NbMF07CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPl9icmlnaHRuZXNzID0gJGFyZ3M7CiAgICAgIH0KICAgIC8vIG5vdGhpbmcgaGVyZS4KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKCRzcmMpOwogICAgJHJlcyA9IGltYWdlZmlsdGVyKCRfZGVzdFsncnNyYyddLElNR19GSUxURVJfQlJJR0hUTkVTUywkdGhpcy0+X2JyaWdodG5lc3MpOwoKICAgIGlmKCAhJHJlcyApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfQlJJR0hUTkVTUyk7CiAgICAgIH0KICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Colorize_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0NvbG9yaXplX0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfYXJncyA9IGFycmF5KDAsMCwwLDApOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoLyogdmFyaWFibGUgYXJndW1lbnRzICovKQogIHsKICAgICRhcmdzID0gZnVuY19nZXRfYXJncygpOwogICAgaWYoIGlzX2FycmF5KCRhcmdzWzBdKSApCiAgICAgIHsKCSRhcmdzID0gJGFyZ3NbMF07CiAgICAgIH0KCiAgICBmb3IoICRpID0gMDsgJGkgPCBtaW4oY291bnQoJHRoaXMtPl9hcmdzKSxjb3VudCgkYXJncykpOyAkaSsrICkKICAgICAgewoJJHRoaXMtPl9hcmdzWyRpXSA9IG1pbigyNTUsbWF4KDAsKGludCkkYXJnc1skaV0pKTsKICAgICAgfQogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oQ0dJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkX2Rlc3QgPSBuZXcgQ0dJbWFnZUJhc2UoJHNyYyk7CiAgICAkdG1wID0gJHRoaXMtPl9hcmdzOwogICAgJHJlcyA9IGltYWdlZmlsdGVyKCRfZGVzdFsncnNyYyddLElNR19GSUxURVJfQ09MT1JJWkUsJHRtcFswXSwkdG1wWzFdLCR0bXBbMl0sJHRtcFszXSk7CgogICAgaWYoICEkcmVzICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9DT0xPUklaRSk7CiAgICAgIH0KICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Contrast_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0NvbnRyYXN0X0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfY29udHJhc3QgPSAwOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoLyogdmFyaWFibGUgYXJndW1lbnRzICovKQogIHsKICAgIGlmKCBmdW5jX251bV9hcmdzKCkgIT0gMSApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgYXJndW1lbnRzIHRvICcuZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgIH0KCiAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgICRhcmdzID0gJGFyZ3NbMF07CiAgICBpZiggaXNfYXJyYXkoJGFyZ3MpICkKICAgICAgewoJJHRoaXMtPl9jb250cmFzdCA9IChpbnQpJGFyZ3NbMF07CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPl9jb250cmFzdCA9ICRhcmdzOwogICAgICB9CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX0NPTlRSQVNULCR0aGlzLT5fY29udHJhc3QpOwoKICAgIGlmKCAhJHJlcyApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfQ09OVFJBU1QpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Crop_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0Nyb3BfRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIGNvbnN0IEFMSUdOX1RPUCAgICA9ICd0b3AnOwogIGNvbnN0IEFMSUdOX0NFTlRFUiA9ICdjZW50ZXInOwogIGNvbnN0IEFMSUdOX0JPVFRPTSA9ICdib3R0b20nOwogIGNvbnN0IEFMSUdOX0xFRlQgICA9ICdsZWZ0JzsKICBjb25zdCBBTElHTl9SSUdIVCAgPSAncmlnaHQnOwoKICBwcml2YXRlICRfcGVyY2VudCA9IDUwOwogIHByaXZhdGUgJF9oX2FsaWduID0gc2VsZjo6QUxJR05fQ0VOVEVSOwogIHByaXZhdGUgJF92X2FsaWduID0gc2VsZjo6QUxJR05fQ0VOVEVSOwogICAgCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRpbnB1dCkKICB7CiAgICAkcGVyY2VudCA9IDUwOwogICAgJGhfYWxpZ24gPSBDR0ltYWdlX0Nyb3BfRmlsdGVyOjpBTElHTl9DRU5URVI7CiAgICAkdl9hbGlnbiA9IENHSW1hZ2VfQ3JvcF9GaWx0ZXI6OkFMSUdOX0NFTlRFUjsKCiAgICBpZiggY2dlX2FycmF5Ojppc19oYXNoKCRpbnB1dCkgKQogICAgICB7CgkkcGVyY2VudCA9IChpbnQpJGlucHV0WydwZXJjZW50J107CgkkaF9hbGlnbiA9IHRyaW0oJHBhcmFtc1snaCddKTsKCSR2X2FsaWduID0gdHJpbSgkcGFyYW1zWyd2J10pOwogICAgICB9CiAgICBlbHNlIGlmKCBpc19hcnJheSgkaW5wdXQpICApCiAgICAgIHsKCWlmKCBjb3VudCgkaW5wdXQpID4gMSApICRwZXJjZW50ID0gKGludCkkaW5wdXRbMF07CglpZiggY291bnQoJGlucHV0KSA9PSAzICkKCSAgewoJICAgICRoX2FsaWduID0gdHJpbSgkaW5wdXRbMV0pOwoJICAgICR2X2FsaWduID0gdHJpbSgkaW5wdXRbMl0pOwoJICB9CiAgICAgIH0KICAgIAogICAgJHRoaXMtPl9wZXJjZW50ID0gbWluKDEwMCxtYXgoMSwkcGVyY2VudCkpOwogICAgc3dpdGNoKCRoX2FsaWduKQogICAgICB7CiAgICAgIGNhc2UgJy0xJzoKICAgICAgY2FzZSAnbGVmdCc6CiAgICAgIGNhc2UgJ2wnOgoJJHRoaXMtPl9oX2FsaWduID0gc2VsZjo6QUxJR05fTEVGVDsKCWJyZWFrOwoJCiAgICAgIGNhc2UgJzAnOgogICAgICBjYXNlICdjJzoKICAgICAgY2FzZSAnY2VudGVyJzoKCSR0aGlzLT5faF9hbGlnbiA9IHNlbGY6OkFMSUdOX0NFTlRFUjsKCWJyZWFrOwoJCiAgICAgIGNhc2UgJzEnOgogICAgICBjYXNlICdyJzoKICAgICAgY2FzZSAncmlnaHQnOgoJJHRoaXMtPl9oX2FsaWduID0gc2VsZjo6QUxJR05fUklHSFQ7CglicmVhazsKCQogICAgICBkZWZhdWx0OgoJdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCB2YWx1ZSAnLiRoX2FsaWduLicgZm9yIGhvcml6b250YWwgYWxpZ25tZW50Jyk7CiAgICAgIH0KCiAgICBzd2l0Y2goJHZfYWxpZ24pCiAgICAgIHsKICAgICAgY2FzZSAnLTEnOgogICAgICBjYXNlICd0JzoKICAgICAgY2FzZSAndG9wJzoKCSR0aGlzLT5fdl9hbGlnbiA9IHNlbGY6OkFMSUdOX1RPUDsKCWJyZWFrOwoJCiAgICAgIGNhc2UgJzAnOgogICAgICBjYXNlICdjJzoKICAgICAgY2FzZSAnY2VudGVyJzoKCSR0aGlzLT5fdl9hbGlnbiA9IHNlbGY6OkFMSUdOX0NFTlRFUjsKCWJyZWFrOwoJCiAgICAgIGNhc2UgJzEnOgogICAgICBjYXNlICdiJzoKICAgICAgY2FzZSAnYm90dG9tJzoKCSR0aGlzLT5fdl9hbGlnbiA9IHNlbGY6OkFMSUdOX0JPVFRPTTsKCWJyZWFrOwoKICAgICAgZGVmYXVsdDoKCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgdmFsdWUgJy4kaF9hbGlnbi4nIGZvciBob3Jpem9udGFsIGFsaWdubWVudCcpOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRuZXdfdyA9IChpbnQpKCRzcmNbJ3dpZHRoJ10gKiAkdGhpcy0+X3BlcmNlbnQgLyAxMDAuMCk7CiAgICAkbmV3X2ggPSAoaW50KSgkc3JjWydoZWlnaHQnXSAqICR0aGlzLT5fcGVyY2VudCAvIDEwMC4wKTsKCiAgICAkc3JjX3ggPSAwOwogICAgc3dpdGNoKCAkdGhpcy0+X2hfYWxpZ24gKQogICAgICB7CiAgICAgIGNhc2Ugc2VsZjo6QUxJR05fTEVGVDoKCSRzcmNfeCA9IDA7CglicmVhazsKCiAgICAgIGNhc2Ugc2VsZjo6QUxJR05fQ0VOVEVSOgoJJHNyY194ID0gKGludCkoKCRzcmNbJ3dpZHRoJ10gLSAkbmV3X3cpIC8gMik7CglicmVhazsKCiAgICAgIGNhc2Ugc2VsZjo6QUxJR05fUklHSFQ6Cgkkc3JjX3ggPSAkc3JjWyd3aWR0aCddIC0gJG5ld193OwoJYnJlYWs7CiAgICAgIH0KCiAgICAkc3JjX3kgPSAwOwogICAgc3dpdGNoKCAkdGhpcy0+X3ZfYWxpZ24gKQogICAgICB7CiAgICAgIGNhc2Ugc2VsZjo6QUxJR05fVE9QOgoJJHNyY195ID0gMDsKCWJyZWFrOwoKICAgICAgY2FzZSBzZWxmOjpBTElHTl9DRU5URVI6Cgkkc3JjX3kgPSAoaW50KSgoJHNyY1snaGVpZ2h0J10gLSAkbmV3X2gpIC8gMik7CglicmVhazsKCiAgICAgIGNhc2Ugc2VsZjo6QUxJR05fQk9UVE9NOgoJJHNyY195ID0gJHNyY1snaGVpZ2h0J10gPSAkbmV3X2g7CglicmVhazsKICAgICAgfQoKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZShhcnJheSgkc3JjWyd0eXBlJ10sJG5ld193LCRuZXdfaCkpOwogICAgJHJlcyA9IGltYWdlY29weXJlc2FtcGxlZCgkX2Rlc3RbJ3JzcmMnXSwkc3JjWydyc3JjJ10sMCwwLCRzcmNfeCwkc3JjX3ksJG5ld193LCRuZXdfaCwkbmV3X3csJG5ld19oKTsKICAgIGlmKCAkcmVzID09PSBGQUxTRSApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ2Nyb3AgZmFpbGVkJyk7CiAgICAgIH0KCiAgICByZXR1cm4gJF9kZXN0OwogIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Edgedetect_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0VkZ2VkZXRlY3RfRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgLy8gbm90aGluZyBoZXJlLgogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oQ0dJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkX2Rlc3QgPSBuZXcgQ0dJbWFnZUJhc2UoJHNyYyk7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9FREdFREVURUNUKTsKCiAgICBpZiggISRyZXMgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX0VER0VERVRFQ1QpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Emboss_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0VtYm9zc19GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX0VNQk9TUyk7CgogICAgaWYoICEkcmVzICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9FTUJPU1MpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Grayscale_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0dyYXlzY2FsZV9GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX0dSQVlTQ0FMRSk7CgogICAgaWYoICEkcmVzICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9HUkFZU0NBTEUpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Meanremoval_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX01lYW5SZW1vdmFsX0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfYXJncyA9IGFycmF5KDAsMCwwLDApOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIC8vIG5vdGhpbmcgaGVyZS4KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKCRzcmMpOwogICAgJHRtcCA9ICR0aGlzLT5fYXJnczsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX01FQU5fUkVNT1ZBTCk7CgogICAgaWYoICEkcmVzICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9NRUFOX1JFTU9WQUwpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Negate_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX05lZ2F0ZV9GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICR0Y29sb3IgPSBpbWFnZWNvbG9yYXQoJHNyY1sncnNyYyddLDAsJHNyY1snaGVpZ2h0J10tMSk7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9ORUdBVEUpOwogICAgaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCRfZGVzdFsncnNyYyddLCR0Y29sb3IpOwoKICAgIGlmKCAhJHJlcyApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfTkVHQVRFKTsKICAgICAgfQogICAgcmV0dXJuICRfZGVzdDsKICB9Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Pixelate_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX1BpeGVsYXRlX0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfc2l6ZSA9IDM7CiAgcHJpdmF0ZSAkX3BpeGVsYXRlID0gMDsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KC8qIHZhcmlhYmxlIGFyZ3VtZW50cyAqLykKICB7CiAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgIGlmKCBpc19hcnJheSgkYXJnc1swXSkgJiYgY291bnQoJGFyZ3MpID09IDEgKQogICAgICAkYXJncyA9ICRhcmdzWzBdOwoKICAgIGlmKCBjb3VudCgkYXJncykgIT0gMiApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgYXJndW1lbnRzIHRvICcuZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgIH0KCiAgICAkdGhpcy0+X3NpemUgPSAoaW50KSRhcmdzWzBdOwogICAgJHRoaXMtPl9waXhlbGF0ZSA9IChpbnQpJGFyZ3NbMV07CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX1BJWEVMQVRFLCR0aGlzLT5fcGl4ZWxhdGUpOwoKICAgIGlmKCAhJHJlcyApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfUElYRUxBVEUpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Resize_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX1Jlc2l6ZV9GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHJpdmF0ZSAkX3dpZHRoOyAgICAgICAgIC8vIGRlc3Qgd2lkdGgKICBwcml2YXRlICRfaGVpZ2h0OyAgICAgICAgLy8gZGVzdCBoZWlnaHQKICBwcml2YXRlICRfcGVyY2VudCA9IDA7ICAgLy8gc2NhbGUgdG8gcGVyY2VudAogIHByaXZhdGUgJF9yZXNhbXBsZSA9IDA7ICAvLyByZXNhbXBsZSwgdnMgcmVzaXplLgoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoLyogdmFyIGFyZ3MgKi8pCiAgewogICAgJGlucHV0ID0gZnVuY19nZXRfYXJncygpOwogICAgaWYoIGNvdW50KCRpbnB1dCkgPT0gMSAmJiBpc19hcnJheSgkaW5wdXRbMF0pICkKICAgICAgewoJJGlucHV0ID0gJGlucHV0WzBdOwogICAgICB9CgogICAgaWYoIGNnZV9hcnJheTo6aXNfaGFzaCgkaW5wdXQpICkKICAgICAgewoJaWYoIGlzc2V0KCRpbnB1dFsnd2lkdGgnXSkgKQoJICB7CgkgICAgJHRoaXMtPl93aWR0aCA9IChpbnQpJGlucHV0Wyd3aWR0aCddOwoJICB9CglpZiggaXNzZXQoJGlucHV0WydoZWlnaHQnXSkgKQoJICB7CgkgICAgJHRoaXMtPl9oZWlnaHQgPSAoaW50KSRpbnB1dFsnaGVpZ2h0J107CgkgIH0KCWlmKCBpc3NldCgkaW5wdXRbJ3BlcmNlbnQnXSkgKQoJICB7CgkgICAgJHRoaXMtPl9wZXJjZW50ID0gKGludCkkaW5wdXRbJ3BlcmNlbnQnXTsKCSAgICAkdGhpcy0+X3BlcmNlbnQgPSBtaW4oMTAwLG1heCgxLCR0aGlzLT5fcGVyY2VudCkpOwoJICB9CglpZiggaXNzZXQoJGlucHV0WydyZXNhbXBsZSddKSApCgkgIHsKCSAgICAkdGhpcy0+X3Jlc2FtcGxlID0gKGludCkkaW5wdXRbJ3Jlc2FtcGxlJ107CgkgIH0KICAgICAgfQogICAgZWxzZSBpZiggaXNfYXJyYXkoJGlucHV0KSAmJiBjb3VudCgkaW5wdXQpID49IDIgJiYgY291bnQoJGlucHV0KSA8PSAzICkKICAgICAgewoJc3dpdGNoKCAkaW5wdXRbMF0gKQoJICB7CgkgIGNhc2UgJ3AnOgoJICAgICR0aGlzLT5fcGVyY2VudCA9IChpbnQpJGlucHV0WzFdOwoJICAgIGJyZWFrOwoJICBjYXNlICd3JzoKCSAgICAkdGhpcy0+X3dpZHRoID0gKGludCkkaW5wdXRbMV07CgkgICAgYnJlYWs7CgkgIGNhc2UgJ2gnOgoJICAgICR0aGlzLT5faGVpZ2h0ID0gKGludCkkaW5wdXRbMV07CgkgICAgYnJlYWs7CgkgIGNhc2UgJ2MnOgoJICAgICR0aGlzLT5fd2lkdGggPSAoaW50KSRpbnB1dFsxXTsKCSAgICAkdGhpcy0+X2hlaWdodCA9IChpbnQpJGlucHV0WzJdOwoJICAgIGJyZWFrOwoJICB9CiAgICAgIH0KCiAgICBpZiggISgkdGhpcy0+X3BlcmNlbnQgPiAwIHx8ICR0aGlzLT5fd2lkdGggPiAwIHx8ICR0aGlzLT5faGVpZ2h0ID4gMCkgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdDb3VsZCBub3QgQ3JlYXRlIFJlc2l6ZSBGaWx0ZXIgLSBJbnZhbGlkIFBhcmFtZXRlcnMnKTsKICAgICAgfQogIH0KCgogIHByaXZhdGUgZnVuY3Rpb24gX3RyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjLCRuZXdfdywkbmV3X2gpCiAgewogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKGFycmF5KCRzcmNbJ3R5cGUnXSwkbmV3X3csJG5ld19oKSk7CgogICAgJHJlcyA9ICcnOwogICAgaWYoICR0aGlzLT5yZXNhbXBsZSApCiAgICAgIHsKCSRyZXMgPSBpbWFnZWNvcHlyZXNhbXBsZWQoJF9kZXN0Wydyc3JjJ10sJHNyY1sncnNyYyddLCRfZGVzdFsncnNyYyddLDAsMCwwLDAsJG5ld193LCRuZXdfaCwkc3JjWyd3aWR0aCddLCRzcmNbJ2hlaWdodCddKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkcmVzID0gaW1hZ2Vjb3B5cmVzaXplZCgkX2Rlc3RbJ3JzcmMnXSwkc3JjWydyc3JjJ10sMCwwLDAsMCwkbmV3X3csJG5ld19oLCRzcmNbJ3dpZHRoJ10sJHNyY1snaGVpZ2h0J10pOwogICAgICB9CiAgICBpZiggISRyZXMgKQogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbWFnZSBUcmFuc2Zvcm0gRmFpbGVkJyk7CgogICAgcmV0dXJuICRfZGVzdDsKICB9CgoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3RyYW5zZm9ybV9wZXJjZW50YWdlKENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJG5ld193ID0gKGludCkoKGZsb2F0KSRzcmNbJ3dpZHRoJ10gKiAoZmxvYXQpJHRoaXMtPl9wZXJjZW50IC8gMTAwLjApOwogICAgJG5ld19oID0gKGludCkoKGZsb2F0KSRzcmNbJ2hlaWdodCddICogKGZsb2F0KSR0aGlzLT5fcGVyY2VudCAvIDEwMC4wKTsKICAgIHJldHVybiAkdGhpcy0+X3RyYW5zZm9ybSgkc3JjLCRuZXdfdywkbmV3X2gpOwogIH0KCgogIHByb3RlY3RlZCBmdW5jdGlvbiBfdHJhbnNmb3JtX3dpZHRoKENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgLy8gY2FsY3VsYXRlIG5ldyB3aWR0aCBhbmQgaGVpZ2h0LCBwcmVzZXJ2aW5nIGFzcGVjdCByYXRpbwogICAgJG5ld193ID0gJHRoaXMtPl93aWR0aDsKICAgICRuZXdfaCA9IChpbnQpKCR0aGlzLT5fd2lkdGggKiAkc3JjWydoZWlnaHQnXSAvICRzcmNbJ3dpZHRoJ10pOwogICAgcmV0dXJuICR0aGlzLT5fdHJhbnNmb3JtKCRzcmMsJG5ld193LCRuZXdfaCk7CiAgfQoKCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF90cmFuc2Zvcm1faGVpZ2h0KENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgLy8gY2FsY3VsYXRlIG5ldyB3aWR0aCBhbmQgaGVpZ2h0LCBwcmVzZXJ2aW5nIGFzcGVjdCByYXRpbwogICAgJG5ld19oID0gJHRoaXMtPl9oZWlnaHQ7CiAgICAkbmV3X3cgPSAoaW50KSgkdGhpcy0+X2hlaWdodCAqICRzcmNbJ3dpZHRoJ10gLyAkc3JjWydoZWlnaHQnXSk7CiAgICByZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm0oJHNyYywkbmV3X3csJG5ld19oKTsKICB9CgogIAogIHByb3RlY3RlZCBmdW5jdGlvbiBfdHJhbnNmb3JtX2N1c3RvbShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgIC8vIHRoaXMgZG9lcyBub3QgcHJlc2VydmUgYXNwZWN0IHJhdGlvLgogICAgJG5ld193ID0gJHRoaXMtPl93aWR0aDsKICAgICRuZXdfaCA9ICR0aGlzLT5faGVpZ2h0OwogICAgcmV0dXJuICR0aGlzLT5fdHJhbnNmb3JtKCRzcmMsJG5ld193LCRuZXdfaCk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkaW1nKQogIHsKICAgIGlmKCAkdGhpcy0+X3BlcmNlbnQgPiAwICkKICAgICAgewoJLy8gcGVyY2VudGFnZSByZXNpemUuCglyZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm1fcGVyY2VudGFnZSgkaW1nKTsKICAgICAgfQogICAgaWYoICR0aGlzLT5fd2lkdGggPiAwICYmICR0aGlzLT5faGVpZ2h0ID09IDAgJiYgJGltZ1snd2lkdGgnXSA+ICR0aGlzLT5fd2lkdGggKQogICAgICB7CglyZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm1fd2lkdGgoJGltZyk7CiAgICAgIH0KICAgIGlmKCAkdGhpcy0+X3dpZHRoID09IDAgJiYgJHRoaXMtPl9oZWlnaHQgPiAwICYmICRpbWdbJ2hlaWdodCddID4gJHRoaXMtPl9oZWlnaHQgKQogICAgICB7CglyZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm1faGVpZ2h0KCRpbWcpOwogICAgICB9CiAgICBpZiggJHRoaXMtPl93aWR0aCA+IDAgJiYgJHRoaXMtPl9oZWlnaHQgPiAwICYmICRpbWdbJ3dpZHRoJ10gPiAkdGhpcy0+X3dpZHRoICYmICRpbWdbJ2hlaWdodCddID4gJHRoaXMtPl9oZWlnaHQgKQogICAgICB7CglyZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm1fY3VzdG9tKCRpbWcpOwogICAgICB9CiAgICAvLyBub3RoaW5nIHRvIGRvLgogICAgcmV0dXJuICRpbWc7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Rotate_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogSW1hZ2Ugcm90YXRpb24gZmlsdGVyIGNsYXNzCiAqIAogKiBBbGxvd3Mgcm90YXRpbmcgYW4gaW1hZ2UgYSBzcGVjaWZpZWQgbnVtYmVyIG9mIGRlZ3JlZXMuCiAqCiAqIEBhdXRob3IgUm9iZXJ0IENhbXBiZWxsIDxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPgogKiBAcGFja2FnZSBDR1NtYXJ0SW1hZ2UKICovCmNsYXNzIENHSW1hZ2VfUm90YXRlX0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICAvKioKICAgKiBUaGUgbnVtYmVyIG9mIGRlZ3JlZXMgdG8gcm90YXRlCiAgICoKICAgKiBAYWNjZXNzIHByaXZhdGUKICAgKiBAdmFyIGludGVnZXIKICAgKi8KICBwcml2YXRlICRfYW5nbGUgPSAwOwoKICAvKioKICAgKiBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiBwaXhlbHMgbGVmdCBibGFuawogICAqCiAgICogQGFjY2VzcyBwcml2YXRlCiAgICogQHZhciBpbnRlZ2VyCiAgICovCiAgcHJpdmF0ZSAkX2JnY29sb3IgPSAwOwoKICAvKioKICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3ZXRoZXIgdG8gaWdub3JlIHRyYW5zcGFyZW50IHBpeGVscwogICAqCiAgICogQGFjY2VzcyBwcml2YXRlCiAgICogQHZhciBib29sZWFuCiAgICovCiAgcHJpdmF0ZSAkX2lnbm9yZV90cCA9IDA7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgvKiB2YXJpYWJsZSBhcmd1bWVudHMgKi8pCiAgewogICAgJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CiAgICBpZiggaXNfYXJyYXkoJGFyZ3NbMF0pICYmIGNvdW50KCRhcmdzKSA9PSAxKQogICAgICB7CgkkYXJncyA9ICRhcmdzWzBdOwogICAgICB9CgogICAgaWYoIGNvdW50KCRhcmdzKSA8IDIgfHwgY291bnQoJGFyZ3MpID4gMyApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgYXJndW1lbnRzIHNwZWNpZmllZCBmb3IgJy5nZXRfY2xhc3MoJHRoaXMpKTsKICAgICAgfQoKICAgICR0aGlzLT5fYW5nbGUgPSAoaW50KSRhcmdzWzBdICUgMzYwOwogICAgJHRoaXMtPl9iZ2NvbG9yID0gKGludCkkYXJnc1sxXTsKICAgIGlmKCBjb3VudCgkYXJncykgPT0gMyApCiAgICAgIHsKCSR0aGlzLT5faWdub3JlX3RwID0gKGludCkkYXJnc1syXTsKICAgICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRhbmdsZSA9ICR0aGlzLT5fYW5nbGUgJSAzNjA7CiAgICBpZiggJGFuZ2xlID09IDAgKSByZXR1cm4gJHNyYzsgLy8gbm90aGluZyB0byBkby4KCiAgICAkX2Rlc3QgPSBuZXcgQ0dJbWFnZUJhc2UoJHNyYyk7CiAgICAkdG1wID0gJHRoaXMtPl9hcmdzOwoKICAgIGlmKCAhZnVuY3Rpb25fZXhpc3RzKCdpbWFnZXJvdGF0ZScpICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignaW1hZ2Vyb3RhdGUgZnVuY3Rpb24gbm90IGZvdW5kJyk7CiAgICAgIH0KCiAgICAkdGNvbG9yID0gaW1hZ2Vjb2xvcmF0KCRzcmNbJ3JzcmMnXSwwLCRzcmNbJ2hlaWdodCddLTEpOwogICAgJHJlcyA9IGltYWdlcm90YXRlKCRzcmNbJ3JzcmMnXSwkdGhpcy0+X2FuZ2xlICogLTEsJHRjb2xvcik7CiAgICBpZiggJHJlcyA9PT0gRkFMU0UgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX0NPTE9SSVpFKTsKICAgICAgfQogICAgaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCRyZXMsJHRjb2xvcik7CiAgICAkX2Rlc3RbJ3JzcmMnXSA9ICRyZXM7CiAgICAkX2Rlc3RbJ3dpZHRoJ10gPSBpbWFnZXN4KCRyZXMpOwogICAgJF9kZXN0WydoZWlnaHQnXSA9IGltYWdlc3koJHJlcyk7CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Selectiveblur_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogU2VsZWN0aXZlIEJsdXIgaW1hZ2UgZmlsdGVyIGNsYXNzCiAqCiAqIFBlcmZvcm1zIGEgc2VsZWN0aXZlIGJsdXIgb24gdGhlIHByb3ZpZGVkIGltYWdlLgogKiBUaGVyZSBhcmUgbm8gcGFyYW1ldGVycyB0byB0aGlzIGZpbHRlcmluZyBtZXRob2QuCiAqCiAqIEBhdXRob3IgUm9iZXJ0IENhbXBiZWxsIDxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPgogKiBAcGFja2FnZSBDR1NtYXJ0SW1hZ2UKICovCmNsYXNzIENHSW1hZ2VfU2VsZWN0aXZlYmx1cl9GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgCiAgLyoqCiAgICogVHJhbnNmb3JtIHRoZSBzcGVjaWZpZWQgaW1hZ2UKICAgKgogICAqIEBwYXJhbSBDR0ltYWdlQmFzZSBUaGUgaW1hZ2UgdG8gdHJhbnNmb3JtCiAgICogQHJldHVybiBDR0ltYWdlQmFzZSBUaGUgdHJhbnNmb3JtZWQgaW1hZ2UuCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICR0bXAgPSAkdGhpcy0+X2FyZ3M7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9TRUxFQ1RJVkVfQkxVUik7CgogICAgaWYoICEkcmVzICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9TRUxFQ1RJVkVfQkxVUik7CiAgICAgIH0KICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Smooth_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogU21vb3RoaW5nIEltYWdlIGltYWdlIGZpbHRlciBjbGFzcwogKiAKICogUGVyZm9ybXMgYSBzbW9vdGhpbmcgZmlsdGVyIG9uIHRoZSBzdXBwbGllZCBpbWFnZS4KICoKICogQGF1dGhvciBSb2JlcnQgQ2FtcGJlbGwgPGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+CiAqIEBwYWNrYWdlIENHU21hcnRJbWFnZQogKi8KY2xhc3MgQ0dJbWFnZV9TbW9vdGhfRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIC8qKgogICAqIFRoZSBTbW9vdGhpbmcgU2ljZQogICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAqLwogIHByaXZhdGUgJF9zbW9vdGggPSAwOwoKICAvKioKICAgKiBDb25zdHJ1Y3Rvci4KICAgKgogICAqIFRoaXMgbWV0aG9kIGFjY2VwdHMgYSB2YXJpZXR5IG9mIHdheXMgb2Ygc3BlY2lmeWluZyB0aGUgc21vb3RobmVzcyBmYWN0b3IuCiAgICogaS5lOiAgJG9iaiA9IG5ldyBDR0ltYWdlX1Ntb290aF9GaWx0ZXIoMyk7CiAgICogaS5lOiAgJG9iaiA9IG5ldyBDR0ltYWdlX1Ntb290aF9GaWx0ZXIoYXJyYXkoMykpOwogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgvKiB2YXJpYWJsZSBhcmd1bWVudHMgKi8pCiAgewogICAgaWYoIGZ1bmNfbnVtX2FyZ3MoKSAhPSAxICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCBhcmd1bWVudHMgdG8gJy5nZXRfY2xhc3MoJHRoaXMpKTsKICAgICAgfQoKICAgICRhcmdzID0gZnVuY19nZXRfYXJncygpOwogICAgJGFyZ3MgPSAkYXJnc1swXTsKICAgIGlmKCBpc19hcnJheSgkYXJncykgKQogICAgICB7CgkkdGhpcy0+X3Ntb290aCA9IChpbnQpJGFyZ3NbMF07CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPl9zbW9vdGggPSAkYXJnczsKICAgICAgfQogICAgLy8gbm90aGluZyBoZXJlLgogIH0KCgogIC8qKgogICAqIFRyYW5zZm9ybSB0aGUgc3BlY2lmaWVkIGltYWdlIHVzaW5nIHRoZSBwYXJhbWV0ZXJzIHNldAogICAqCiAgICogQHBhcmFtIENHSW1hZ2VCYXNlIFRoZSBpbWFnZSB0byB0cmFuc2Zvcm0KICAgKiBAcmV0dXJuIENHSW1hZ2VCYXNlIFRoZSB0cmFuc2Zvcm1lZCBpbWFnZS4KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKCRzcmMpOwogICAgJHJlcyA9IGltYWdlZmlsdGVyKCRfZGVzdFsncnNyYyddLElNR19GSUxURVJfU01PT1RILCR0aGlzLT5fc21vb3RoKTsKCiAgICBpZiggISRyZXMgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX1NNT09USCk7CiAgICAgIH0KICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Watermark_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX1dhdGVybWFya19GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHJpdmF0ZSAkX3dtaW1nID0gbnVsbDsKICBwcml2YXRlICRfd21pbmZvID0gbnVsbDsKICBwcml2YXRlICRfaG1hcmdpbiA9IDQwOwogIHByaXZhdGUgJF92bWFyZ2luID0gNDA7CiAgcHJpdmF0ZSAkX2hlaWdodCA9IG51bGw7CiAgcHJpdmF0ZSAkX3dpZHRoID0gbnVsbDsKICBwcml2YXRlICRfYWxpZ24gPSBjZ193YXRlcm1hcms6OkFMSUdOX01DOwogIHByaXZhdGUgJF90cmFuc2x1Y2VuY3kgPSA1MDsKICBwcml2YXRlICRfdXNlX21lcmdlID0gZmFsc2U7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgJGNnZSA9IGNnZV91dGlsczo6Z2V0X2NnZSgpOwogICAgJHR4dCA9ICRjZ2UtPkdldFByZWZlcmVuY2UoJ3dhdGVybWFya190ZXh0Jyk7CiAgICAkaW1nID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX2ZpbGUnKTsKICAgICR0aGlzLT5fYWxpZ24gPSAkY2dlLT5HZXRQcmVmZXJlbmNlKCd3YXRlcm1hcmtfYWxpZ25tZW50JyxjZ193YXRlcm1hcms6OkFMSUdOX01DKTsKICAgICR0aGlzLT5fdHJhbnNsdWNlbmN5ID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX3RyYW5zbHVjZW5jeScsNTApOwogICAgCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAKICAgIGlmKCAhZW1wdHkoJGltZykgJiYgZmlsZV9leGlzdHMoY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkaW1nKSkgKQogICAgICB7CgkkdG1wID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkaW1nKTsKCSR0aGlzLT5fd21pbmZvID0gZ2V0aW1hZ2VzaXplKCR0bXApOwoJJHRoaXMtPl93aWR0aCA9ICR0aGlzLT5fd21pbmZvWzBdOwoJJHRoaXMtPl9oZWlnaHQgPSAkdGhpcy0+X3dtaW5mb1sxXTsKCSRkYXRhID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR0bXApOwoJJHRoaXMtPl93bWltZyA9IGltYWdlY3JlYXRlZnJvbXN0cmluZygkZGF0YSk7CiAgICAgIH0KICAgIGVsc2UgaWYoICFlbXB0eSgkdHh0KSApCiAgICAgIHsKCSRmb250ID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX2ZvbnQnKTsKCWlmKCAhc3RhcnRzd2l0aCgkZm9udCwnLycpICkKCSAgewoJICAgICRmb250ID0gJGNnZS0+R2V0TW9kdWxlUGF0aCgpLicvZm9udHMvJy4kZm9udDsKCSAgfQoJJHNpemUgPSAkY2dlLT5HZXRQcmVmZXJlbmNlKCd3YXRlcm1hcmtfdGV4dHNpemUnKTsKCSRhbmdsID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX3RleHRhbmdsZScsMCk7CgkkYW5nbCA9IChmbG9hdCkkYW5nbDsKCSRmY2xyID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX3RleHRjb2xvcicsJyMwMDAwMDAnKTsKCSRiY2xyID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX2JnY29sb3InLCcjZmZmZmZmJyk7CgkkdHBudCA9ICRjZ2UtPkdldFByZWZlcmVuY2UoJ3dhdGVybWFya190cmFuc3BhcmVudCcsMSk7CgoJaWYoICEkZm9udCB8fCAhJHNpemUgKSAKCSAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW5zdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIGdlbmVyYXRlIHdhdGFybWFyay4uLiBFbnN1cmUgd2F0ZXJtYXJrIHByZWZlcmVuY2VzIGFyZSBzZXQgaW4gQ0dFeHRlbnNpb25zJyk7CgoJLy8gY2FsY3VsYXRlIGEgc2l6ZSBmb3IgdGhlIGltYWdlCgkkdG1wID0gaW1hZ2VmdGJib3goJHNpemUsJGFuZ2wsJGZvbnQsJHR4dCk7CgkkdGhpcy0+X3dpZHRoID0gYWJzKCR0bXBbMF0pK2FicygkdG1wWzJdKSskdGhpcy0+X2htYXJnaW47CgkkdGhpcy0+X2hlaWdodCA9IGFicygkdG1wWzFdKSthYnMoJHRtcFs1XSkrJHRoaXMtPl92bWFyZ2luOwoKCS8vIGNyZWF0ZSB0aGUgaW1hZ2UuCgkkdGhpcy0+X3dtaW1nID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPl93aWR0aCwkdGhpcy0+X2hlaWdodCk7CgkkdGhpcy0+X3VzZV9tZXJnZSA9IHRydWU7CgkKCS8vIGJnY29sb3IKCSRyID0gaGV4ZGVjKHN1YnN0cigkYmNsciwxLDIpKTsgJGcgPSBoZXhkZWMoc3Vic3RyKCRiY2xyLDMsMikpOyAkYiA9IGhleGRlYyhzdWJzdHIoJGJjbHIsNSwyKSk7CgkkYmMgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+X3dtaW1nLCRyLCRnLCRiLCgkdHBudCk/MDoxMjcpOwoJLy8gZmlsbCB0aGUgYmFja2dyb3VuZAoJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPl93bWltZywwLDAsJHRoaXMtPl93aWR0aC0xLCR0aGlzLT5faGVpZ2h0LTEsJGJjKTsKCS8vIG1ha2UgdGhlIGJhY2tncm91bmQgdHJhbnNwYXJlbnQuCglpZiggJHRwbnQgKQoJICB7CgkgICAgaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCR0aGlzLT5fd21pbWcsJGJjKTsKCSAgfQoJCgkvLyBkcmF3IHRoZSBmb3JlZ3JvdW5kIHRleHQKCSRyID0gaGV4ZGVjKHN1YnN0cigkZmNsciwxLDIpKTsgJGcgPSBoZXhkZWMoc3Vic3RyKCRmY2xyLDMsMikpOyAkYiA9IGhleGRlYyhzdWJzdHIoJGZjbHIsNSwyKSk7CgkkZmMgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPl93bWltZywkciwkZywkYik7CgkkcmVzID0gaW1hZ2VUVEZUZXh0KCR0aGlzLT5fd21pbWcsJHNpemUsJGFuZ2wsKGludCkoJHRoaXMtPl9obWFyZ2luLzIpLChpbnQpKCR0aGlzLT5faGVpZ2h0IC0gJHRoaXMtPl92bWFyZ2luLzIpLAoJCQkgICAgJGZjLCRmb250LCR0eHQpOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkaW1hZ2UpCiAgewogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKCRpbWFnZSk7CiAgICBpZiggJGltYWdlWyd3aWR0aCddIDwgJHRoaXMtPl93aWR0aCB8fCAkaW1hZ2VbJ2hlaWdodCddIDwgJHRoaXMtPl9oZWlnaHQgKSAKICAgICAgewoJcmV0dXJuICRfZGVzdDsKICAgICAgfQoKICAgIC8vIEZpbmQgb3V0IHRoZSBwbGFjZW1lbnQgb2YgdGhlIHdhdGVybWFyawogICAgLy8gb24gdGhlIHJlc3VsdCBpbWFnZQogICAgJHBvc3ggPSAnJzsKICAgICRwb3N5ID0gJyc7CiAgICAkY3ggPSAoJGltYWdlWyd3aWR0aCddIC0gJHRoaXMtPl93aWR0aCkvMjsKICAgICRjeSA9ICgkaW1hZ2VbJ2hlaWdodCddIC0gJHRoaXMtPl9oZWlnaHQpLzI7ICAgIAogICAgc3dpdGNoKCAkdGhpcy0+X2FsaWduICkKICAgICAgewogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fVUw6CgkkcG9zeCA9IChpbnQpJHRoaXMtPl9wYWRkaW5nX3g7CgkkcG9zeSA9IChpbnQpJHRoaXMtPl9wYWRkaW5nX3k7CglicmVhazsKCiAgICAgIGNhc2UgY2dfd2F0ZXJtYXJrOjpBTElHTl9VQzoKCSRwb3N4ID0gJGN4OwoJJHBvc3kgPSAoaW50KSR0aGlzLT5fcGFkZGluZ195OwoJYnJlYWs7CgogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fVVI6CgkkcG9zeCA9IChpbnQpKCRpbWFnZVsnd2lkdGgnXSAtICR0aGlzLT5fd2lkdGgpOwoJJHBvc3kgPSAwOwoJYnJlYWs7CgogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fTUw6CgkkcG9zeCA9IDA7CgkkcG9zeSA9IChpbnQpJGN5OwoJYnJlYWs7CgogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fTUM6CgkkcG9zeCA9IChpbnQpJGN4OwoJJHBvc3kgPSAoaW50KSRjeTsKCWJyZWFrOwoKICAgICAgY2FzZSBjZ193YXRlcm1hcms6OkFMSUdOX01SOgoJJHBvc3ggPSAoaW50KSgkaW1hZ2VbJ3dpZHRoJ10gLSAkdGhpcy0+X3dpZHRoKTsKCSRwb3N5ID0gKGludCkkY3k7CglicmVhazsKCiAgICAgIGNhc2UgY2dfd2F0ZXJtYXJrOjpBTElHTl9MTDoKCSRwb3N4ID0gKGludCkwOwoJJHBvc3kgPSAoaW50KSgkaW1hZ2VbJ2hlaWdodCddIC0gJHRoaXMtPl9oZWlnaHQpOwoJYnJlYWs7CgogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fTEM6CgkkcG9zeCA9IChpbnQpJGN4OwoJJHBvc3kgPSAoaW50KSgkaW1hZ2VbJ2hlaWdodCddIC0gJHRoaXMtPl9oZWlnaHQpOwoJYnJlYWs7CgogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fTFI6CiAgICAgIGRlZmF1bHQ6CgkkcG9zeCA9IChpbnQpKCRpbWFnZVsnd2lkdGgnXSAtICR0aGlzLT5fd2lkdGgpOwoJJHBvc3kgPSAoaW50KSgkaW1hZ2VbJ2hlaWdodCddIC0gJHRoaXMtPl9oZWlnaHQpOwoJYnJlYWs7CiAgICAgIH0KICAgIGlmKCAkcG9zeCA9PT0gJycgfHwgJHBvc3kgPT09ICcnICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICh3YXRlcm1hcmspIC0gY291bGQgbm90IGNhbGN1bGF0ZSBwb3NpdGlvbicpOwogICAgICB9CgogICAgJHJlcyA9ICcnOwogICAgaW1hZ2VhbHBoYWJsZW5kaW5nKCR0aGlzLT5fd21pbWcsRkFMU0UpOwogICAgaWYoICR0aGlzLT5fdXNlX21lcmdlICkKICAgICAgewoJJHJlcyA9IGltYWdlY29weW1lcmdlKCRfZGVzdFsncnNyYyddLCR0aGlzLT5fd21pbWcsJHBvc3gsJHBvc3ksCgkJCSAgICAgIDAsMCwkdGhpcy0+X3dpZHRoLCR0aGlzLT5faGVpZ2h0LCR0aGlzLT5fdHJhbnNsdWNlbmN5KTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglpbWFnZXNhdmVhbHBoYSgkdGhpcy0+X3dtaW1nLFRSVUUpOwoJJHJlcyA9IGltYWdlY29weXJlc2FtcGxlZCgkX2Rlc3RbJ3JzcmMnXSwkdGhpcy0+X3dtaW1nLCRwb3N4LCRwb3N5LAoJCQkJICAwLDAsJHRoaXMtPl93aWR0aCwkdGhpcy0+X2hlaWdodCwkdGhpcy0+X3dpZHRoLCR0aGlzLT5faGVpZ2h0KTsKICAgICAgfQogICAgcmV0dXJuICRfZGVzdDsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGSmartImage_ClearCacheTask.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR1NtYXJ0SW1hZ2VfQ2xlYXJDYWNoZVRhc2sgaW1wbGVtZW50cyBDbXNSZWd1bGFyVGFzawp7CiAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkgCiAgewogICAgcmV0dXJuIGdldF9jbGFzcygkdGhpcyk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9kZXNjcmlwdGlvbigpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTbWFydEltYWdlJyk7CiAgICByZXR1cm4gJG1vZC0+TGFuZygnY2xlYXJjYWNoZXRhc2tfZGVzY3JpcHRpb24nKTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdGVzdCgkdGltZSA9ICcnKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHU21hcnRJbWFnZScpOwogICAgJGFnZSA9IChpbnQpJG1vZC0+R2V0UHJlZmVyZW5jZSgnY2FjaGVfYWdlJyk7CiAgICBpZiggJGFnZSA8PSAwICkgcmV0dXJuIEZBTFNFOwoKICAgIC8vIHdlIG9ubHkgYXR0ZW1wdCB0byBjbGVhciBjYWNoZWQgZmlsZXMgb25jZSBwZXIgZGF5CiAgICBpZiggISR0aW1lICkgJHRpbWUgPSB0aW1lKCk7CiAgICAkbGFzdF9leGVjdXRlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnY2xlYXJjYWNoZV9sYXN0cnVuJyk7CiAgICBpZiggKCR0aW1lIC0gMjQqNjAqNjAgKSA+PSAkbGFzdF9leGVjdXRlICkKICAgIHsKICAgICAgcmV0dXJuIFRSVUU7CiAgICB9CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGV4ZWN1dGUoJHRpbWUgPSAnJykKICB7CiAgICBpZiggISR0aW1lICkgJHRpbWUgPSB0aW1lKCk7CgogICAgdHJ5CiAgICAgIHsKCS8vIGNsZWFyIGNhY2hlZCBmaWxlcy4KCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHU21hcnRJbWFnZScpOwoJJG5fcmVtb3ZlZCA9ICRtb2QtPmNsZWFyX2NhY2hlZF9maWxlcygpOwoJJG1vZC0+QXVkaXQoJycsJG1vZC0+TGFuZygnYWN0X2NhY2hlY2xlYW5lZCcpLCRtb2QtPkxhbmcoJ21zZ19jYWNoZWNsZWFuZWQnLCRuX3JlbW92ZWQpKTsKCXJldHVybiBUUlVFOwogICAgICB9CiAgICBjYXRjaCggRXhjZXB0aW9uICRlICkKICAgICAgewoJcmV0dXJuIEZBTFNFOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIG9uX3N1Y2Nlc3MoJHRpbWUgPSAnJykKICB7CiAgICBpZiggISR0aW1lICkgJHRpbWUgPSB0aW1lKCk7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1NtYXJ0SW1hZ2UnKTsKICAgICRtb2QtPlNldFByZWZlcmVuY2UoJ2NsZWFyY2FjaGVfbGFzdHJ1bicsJHRpbWUpOwogIH0KCiAgCiAgcHVibGljIGZ1bmN0aW9uIG9uX2ZhaWx1cmUoJHRpbWUgPSAnJykKICB7CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9jYWNoZWRfaW1hZ2VfdXJsKCRkZXN0bmFtZSkKICB7CiAgICAkZGVzdG5hbWUgPSBiYXNlbmFtZSgkZGVzdG5hbWUpOwoKICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICRkZXN0X3VybCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZV91cmxfcHJlZml4JywkY29uZmlnWyd1cGxvYWRzX3VybCddKTsKICAgIGlmKCAhZW5kc3dpdGgoJGRlc3RfdXJsLCAnLycpICkgJGRlc3R1cmwgLj0gJy8nOwogICAgaWYoICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJywwKSApCiAgICAgIHsKCSRkZXN0X3VybCAuPSAnXycuJHRoaXMtPkdldE5hbWUoKS4nLyc7CiAgICAgIH0KICAgICRkZXN0X3VybCAuPSAkZGVzdG5hbWU7CiAgICByZXR1cm4gJGRlc3RfdXJsOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VtYmVkX21vZGUnLCdzbWFydCcpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1iZWRfc2l6ZScsMzIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1iZWRfdHlwZScsJ3BuZyxqcGcsZ2lmJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZV91cmxfcHJlZml4JywkY29uZmlnWyd1cGxvYWRzX3VybCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicsMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYWNoZV9hZ2UnLDApOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_embedding_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW1iZWRkaW5nX21vZGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWVtYmVkX21vZGUiPgogICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRlbWJlZF9tb2RlcyBzZWxlY3RlZD0kZW1iZWRfbW9kZX0KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2VtYmVkX21vZGUnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2VtYmVkX3NpemVsaW1pdCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1lbWJlZF9zaXplbGltaXQiIHNpemU9IjQiIG1heGxlbmd0aD0iNCIgdmFsdWU9InskZW1iZWRfc2l6ZWxpbWl0fSI+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fZW1iZWRfc2l6ZWxpbWl0Jyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdlbWJlZF90eXBlcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1lbWJlZF90eXBlcyIgc2l6ZT0iMjAiIG1heGxlbmd0aD0iMjAiIHZhbHVlPSJ7JGVtYmVkX3R5cGVzfSI+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fZW1iZWRfdHlwZXMnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_general_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbWF4X2NhY2hlX2FnZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jYWNoZV9hZ2UiIHZhbHVlPSJ7JGNhY2hlX2FnZX0iIHNpemU9IjMiIG1heGxlbmd0aD0iMyIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jbGVhcl9ub3ciIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2xlYXJfbm93Jyl9Ii8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNsZWFyX2FsbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjbGVhcl9hbGwnKX0iIG9uY2xpY2s9InJldHVybiBjb25maXJtKCd7JG1vZC0+TGFuZygnYXNrX2NsZWFyX2ltYWdlX2NhY2hlJyl9Jyk7Lz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19jYWNoZV9hZ2UnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2ltYWdlX3VybF9wcmVmaXgnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9aW1hZ2VfdXJsX3ByZWZpeCIgdmFsdWU9InskaW1hZ2VfdXJsX3ByZWZpeH0iIHNpemU9IjQwIiBtYXhsZW5ndGg9IjI1NSIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2ltYWdlX3VybF9wcmVmaXgnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSdpbWFnZV91cmxfaGFzY2hhY2hlZGlyJyBzZWxlY3RlZD0kaW1hZ2VfdXJsX2hhc2NhY2hlZGlyfQogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2ltYWdlX3VybF9oYXNjYWNoZWRpcicpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
</module>
