<?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>CGStaticMaps</name>
	<version>1.0.0</version>
  <mincmsversion>1.12</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIGFuZCBlYXN5IHdheSB0byBjcmVhdGUgc3RhdGljIGdvb2dsZSBtYXBzIGZvciBDTVNNUyB3ZWIgcGFnZXMuPC9wPgo8aDM+RmVhdHVyZXM8L2gzPgo8dWw+CiAgPGxpPkNvbnZlbmllbnRseSBnZW5lcmF0ZSBzdGF0aWMgZ29vZ2xlIG1hcHMgd2l0aCBhIHNtYXJ0eSBwbHVnaW4uPC9saT4KICA8bGk+Q2FjaGUgdGhlIGdlbmVyYXRlZCBtYXAgaW1hZ2VzIG9uIHRoZSBzZXJ2ZXIuPC9saT4KICA8bGk+QXV0b21hdGljYWxseSBlbWJlZCBzbWFsbGVyIG1hcHMgdG8gcmVkdWUgaHRtbCByZXF1ZXN0cy48L2xpPgogIDxsaT5TdXBwb3J0cyAzIGRpZmZlcmVudCBtYXJrZXIgaWNvbiBzaXplcy48L2xpPgogIDxsaT5BdXRvbWF0aWNhbGx5IGRldGVjdHMgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuPC9saT4KICA8bGk+U3VwcG9ydHMgbXVsdGlwbGUgbWFya2VycyBwZXIgbWFwLjwvbGk+CiAgPGxpPlN1cHBvcnRzIHNwZWNpZnlpbmcgYSBjZW50ZXIgbG9jYXRpb24sIG9yIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5pbmcgb25lLjwvbGk+CiAgPGxpPlN1cHBvcnRzIGxvY2F0aW9uIG5hbWVzIG9yIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUuPC9saT4KPC91bD4KPGgzPkZBUTwvaDM+Cjx1bD4KICA8bGk+V2h5IGNhY2hlIHRoZSBtYXAgaW1hZ2VzPwogICAgPHA+VGhlcmUgYXJlIHR3byByZWFzb25zIHdoeSB0aGUgZ2VuZXJhdGVkIG1hcCBpbWFnZXMgYXJlIGNhY2hlZC4gIGE6IHBlcmZvcm1hbmNlIChpdCBpcyBmYXN0ZXIgdG8gbG9hZCBhIHN0YXRpYyBpbWFnZSB0aGFuIGFueSBkeW5hbWljIG9uZS4uLiBldmVuIGlmIGl0IGNvbWVzIGZyb20gZ29vZ2xlKS4gIGI6IFRoZSBnb29nbGUgc3RhdGljIG1hcHMgQVBJIGhhcyBhIHF1b3RhLiBDYWNoaW5nIHRoZSBpbWFnZXMgbWVhbnMgdGhhdCByZXBlYXRlZCB2aXNpdG9ycyB3aWxsIG5vdCBlZmZlY3QgdGhlIHF1b3RlLjwvcD4KICA8L2xpPgogIDxsaT5Ib3cgbG9uZyBpcyB0aGUgaW1hZ2UgY2FjaGVkLgogICAgPHA+SW1hZ2VzIGFyZSBjYWNoZWQgZm9yIDMwIGRheXMsIG9yIHVudGlsIGRlbGV0ZWQgZnJvbSB0aGUgQ01TTVMgY2FjaGUgZGlyZWN0b3J5LjwvcD4KICA8L2xpPgogIDxsaT5XaGF0IGlzIHRoZSBkZWZhdWx0IHNpemU/CiAgICA8cD5UaGUgZGVmYXVsdCBzaXplIG9mIHRoZSBtYXAgaXMgNDAweDQwMC48L3A+CiAgPC9saT4KICA8bGk+V2hhdCBpcyB0aGUgZGVmYXVsdCBmb3JtYXQ/CiAgICA8cD5UaGUgZGVmYXVsdCBmb3JtYXQgaXMgUE5HLjwvcD4KICA8L2xpPgogIDxsaT5UaGVyZSBjYW4gb25seSBiZSBhIG1heGltdW0gb2YgMjYgbWFya2VycyBvbiBlYWNoIG1hcC48L2xpPgogIDxsaT5Qb2x5bGluZXMgYXJlIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLjwvbGk+CiAgPGxpPlRoaXMgbW9kdWxlIGRvZXMgbm90IGdlbmVyYXRlIHByZXR0eSBVUkxTIGZvciBTRU8gcHVycG9zZXMuPC9saT4KICA8bGk+VGhpcyBtb2R1bGUgZG9lcyBub3QgaGF2ZSBhbiBhZG1pbiBpbnRlcmZhY2UuPC9saT4KPC91bD4KPGgzPlBhcmFtZXRlcnM8L2gzPgo8dWw+CiAgPGxpPk1hcCBQYXJhbWV0ZXJzCiAgICA8dWw+CiAgICA8bGk+YWRkcmVzcyA8ZW0+KG9wdGlvbmFsLCBzdHJpbmcpPC9lbT4KICAgICAgICA8cD5TcGVjaWZ5IGEgc2luZ2xlIG1hcmtlciBieSBpdCdzIGFkZHJlc3MgKG9yIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUpLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBlcmFzZSBhbnkgcHJldmlvdXNseSBzZXQgbWFya2Vycy48L3A+Cgk8cD5FeGFtcGxlOiAgPGNvZGU+e0NHU3RhdGljTWFwcyBhZGRyZXNzPSdQYXJpcyBGUid9PC9jb2RlPgogICAgPC9saT4KICAgIDxsaT5tYXJrZXIwLi4yNSA8ZW0+KG9wdGlvbmFsLCBzdHJpbmcpPC9lbT4KICAgICAgICA8cD5BZGQgdXAgdG8gMjYgZGlmZmVyZW50IG1hcmtlcnMuPC9wPgoJPHA+RXhhbXBsZTogIDxjb2RlPntDR1N0YXRpY01hcHMgbWFya2VyMD0nUGFyaXMgRlInIG1hcmtlcjE9J0Ftc3RlcmRhbSBOTCd9PC9jb2RlPjwvcD4KICAgIDwvbGk+CiAgICA8bGk+bWFwdHlwZSA8ZW0+KHJvYWRtYXB8c2F0ZWxsaXRlfGh5YnJpZHx0ZXJyYWluKTwvZW0+CiAgICAgICAgPHA+U2V0IHRoZSBtYXAgdHlwZS4gIFRoZSBkZWZhdWx0IGlzICZxdW90O3JvYWRtYXAmcXVvdDs8L3A+Cgk8cD5FeGFtcGxlOiB7Q0dTdGF0aWNNYXBzIGFkZHJlc3M9J1BhcmlzIEZSJyBtYXB0eXBlPXNhdGVsbGl0ZX08L3A+CiAgICA8L2xpPgogICAgPGxpPmNlbnRlciA8ZW0+KG9wdGlvbmFsLCBzdHJpbmcpPC9lbT4KICAgICAgIDxwPlNldCB0aGUgY2VudGVyIGxvY2F0aW9uIGZvciB0aGUgbWFwLiAgQWNjZXB0cyBhIGxvY2F0aW9uIG9yIGEgbGF0aXR1ZGUgYW5kIGxvZ2l0dWRlLjwvcD4KICAgICAgIDxwPkV4YW1wbGU6IHtDR1N0YXRpY01hcHMgY2VudGVyPSdQYXJpcyBGUid9PC9wPgogICAgPC9saT4KICAgIDxsaT56b29tIDxlbT4ob3B0aW9uYWwgaW50IGJldHdlZW4gMCBhbmQgMjEpCiAgICAgICA8cD5TZXQgdGhlIHpvb20gbGV2ZWwuICBJZiBub3Qgc3BlY2lmaWVkIHRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZSBhIHpvb20gbGV2ZWwgdGhhdCBlbmNvbXBhc3NlcyBhbGwgbWFya2Vycy48L3A+CiAgICAgICA8cD5FeGFtcGxlOiB7Q0dTdGF0aWNNYXBzIGNlbnRlcj0nUGFyaXMgRlInIHpvb209MTJ9PC9wPgogICAgPC9saT4KICAgIDxsaT5tYXJrZXJzaXplIDxlbT4oc21hbGx8bWlkfHRpbnkpPC9lbT4KICAgICAgIDxwPkFsbG93cyBjaGFuZ2luZyB0aGUgc2l6ZSBvZiBtYXAgbWFya2Vycy4gIFNvbWUgbWFwIG1hcmtlciBzaXplcyBtYXkgbm90IHN1cHBvcnQgbGFiZWxzLjwvcD4KICAgICAgIDxwPkV4YW1wbGU6IHtDR1N0YXRpY01hcHMgY2VudGVyPSdQYXJpcyBGUicgem9vbT0xMiBtYXJrZXJzaXplPXRpbnl9PC9wPgogICAgPC9saT4KICAgIDxsaT5tYXJrZXJjb2xvciA8ZW0+KG9wdGlvbmFsLCBjb2xvciBzdHJpbmcpPC9lbT4KICAgICAgIDxwPkFsbG93cyBjaGFuZ2luZyB0aGUgY29sb3Igb2YgYWxsIG1hcmtlcnMgZm9yIHRoZSBtYXAuPC9wPgogICAgICAgPHA+RXhhbXBsZToge0NHU3RhdGljTWFwcyBjZW50ZXI9J1BhcmlzIEZSJyB6b29tPTEyIG1hcmtlcmNvbG9yPScjZWZlZmVmJ308L3A+CiAgICA8L2xpPgogICAgPGxpPnNpemUgPGVtPihzdHJpbmcpCiAgICAgICA8cD5TcGVjaWZ5IHRoZSBtYXAgc2l6ZS4gIE5vdGUsIHRoaXMgY2FuIGFsc28gYmUgZG9uZSB3aXRoIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IHBhcmFtZXRlcnMuPC9wPgogICAgICAgPHA+RXhhbXBsZToge0NHU3RhdGljTWFwcyBjZW50ZXI9J1BhcmlzIEZSJyB6b29tPTEyIG1hcmtlcmNvbG9yPScjZWZlZmVmJyBzaXplPScyNTB4MjUwJ308L3A+CiAgICA8L2xpPgogICAgPGxpPmZvcm1hdCA8ZW0+KFBOR3xKUEd8R0lGKTwvZW0+CiAgICAgICA8cD5TcGVjaWZ5IHRoZSBpbWFnZSBmb3JtYXQuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBQTkcuPC9wPgogICAgPC9saT4KICAgIDxsaT5sYW5ndWFnZSA8ZW0+KHN0cmluZyk8L2VtPgogICAgICAgPHA+U3BlY2lmeSB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBpbWFnZSBsYWJlbHMuICBieSBkZWZhdWx0IHRoZSBjdXJyZW50IGNtc21zIGxhbmd1YWdlIGlzIHVzZWQuPC9wPgogICAgICAgPHA+RXhhbXBsZToge0NHU3RhdGljTWFwcyBjZW50ZXI9J1JvbWUgSXRhbHknIGxhbmd1YWdlPWZyfTwvcD4KICAgIDwvbGk+CiAgICA8L3VsPgogIDwvbGk+CgogIDxsaT5JbWcgVGFnIFBhcmFtZXRlcnMKICAgIDx1bD4KICAgIDxsaT5pZCA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIFRoZSBpZCBhdHRyaWJ1dGUgZm9yIHRoZSBpbWcgdGFnLjwvbGk+CiAgICA8bGk+Y2xhc3MgPGVtPihvcHRpb25hbCBzdHJpbmcpPC9lbT4gLSBUaGUgY2xhc3MgYXR0cmlidXRlIGZvciB0aGUgaW1nIHRhZy48L2xpPgogICAgPGxpPmFsdCA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIFRoZSBhbHQgYXR0cmlidXRlIGZvciB0aGUgaW1nIHRhZy4gIElmIG5vdCBzcGVjaWZpZWQgb25lIHdpbGwgYmUgZ2VucmF0ZWQgYnkgZGVmYXVsdCBzbyB0aGF0IHRoZSBpbWcgdGFnIHZhbGlkYXRlcy48L2xpPgogICAgPGxpPndpZHRoIDxlbT4ob3B0aW9uYWwgaW50KTwvZW0+IC0gVGhlIHdpZHRoIGZvciB0aGUgaW1hZ2UgdGFnLiAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgc2l6ZSBmb3IgdGhlIGdlbmVyYXRlZCBpbWFnZSBhcyB3ZWxsLjwvbGk+CiAgICA8bGk+aGVpZ2h0IDxlbT4ob3B0aW9uYWwgaW50KTwvZW0+IC0gVGhlIGhlaWdodCBmb3IgdGhlIGltYWdlIHRhZy4gIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIHNpemUgZm9yIHRoZSBnZW5lcmF0ZWQgaW1hZ2UgYXMgd2VsbC48L2xpPgogICAgPGxpPm5vZW1iZWQgPGVtPihvcHRpb25hbCBib29sKTwvZW0+IC0gRG8gbm90IGVtYmVkIGltYWdlcy48L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPgoKPGgzPkNvbmZpZyBWYXJpYWJsZXM8L2gzPgo8cD5UaGlzIG1vZHVsZSB3aWxsIHVzZSB0aGUgdmFsdWUgb2YgdGhlIGNnc21fbm9lbWJlZCB2YXJpYWJsZSBpbiB0aGUgY29uZmlnLnBocCBmaWxlIHRvIGRldGVybWluZSB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIG5vZW1iZWQgYXJndW1lbnQuPC9wPjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dFeHRlbnNpb25zID0mZ3Q7IDEuNDkuMzwvbGk+PGxpPkNHU2ltcGxlU21hcnR5ID0mZ3Q7IDEuOTwvbGk+PC91bD48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMC4wPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAxLjAuMC4gTWFyY2ggMjAwNy4gIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAxLjAuMS4gQXByaWwgMjAwNy4gIEZpeGVzIHRvIENyZWF0ZUltYWdlTGluazwvbGk+CjxsaT5WZXJzaW9uIDEuMC4yLiBBcHJpbCAyMDA3LiAgQ3JlYXRlSW1hZ2VMaW5rIHdpbGwgbm93IHdvcmsgb24gdGhlIGZyb250ZW5kLjwvbGk+CjxsaT5WZXJzaW9uIDEuMC4zLiBTZXB0ZW1iZXIgMjAwNy4gIEFkZHMgYXBwbHkgYnV0dG9ucyB0byBuZXcgdGVtcGxhdGVzLjwvbGk+CjxsaT5WZXJzaW9uIDEuMS4gICBTZXB0ZW1iZXIgMjAwNy4gIEFkZHMgZGVmYXVsdCBmcm9udGVuZCBlcnJvciBoYW5kbGluZyBwbHVnaW4uPC9saT4KPGxpPlZlcnNpb24gMS4yLiAgIE5vdmVtYmVyICAyMDA3LCAgQWRkcyBtb3JlIGNvbnZlbmllbmNlIGZ1bmN0aW9uczwvbGk+CjxsaT5WZXJzaW9uIDEuMy4gICBOb3ZlbWJlciAgMjAwNy4gIEFkZHMgZXZlbiBtb3JlIGNvbnZlbmllbmNlIGZ1bmN0aW9uczwvbGk+CjxsaT5WZXJzaW9uIDEuNC4gICBEZWNlbWJlciAgMjAwNy4gIEFkZHMgQ3JlYXRlSW1hZ2VEcm9wZG93biBtZXRob2QsIG1ldGhvZHMgZm9yIHN0YXRlIGFuZCBjb3VudHJ5IGRyb3Bkb3ducyBhbmQgYSBidW5jaCBvZiBvdGhlciB0aGluZ3MuPC9saT4KPGxpPlZlcnNpb24gMS41LiAgIEphbnVhcnkgICAyMDA4LiAgRml4ZXMgdG8gaHRtbF9lbnRpdGllc19kZWNvZGUgaW4gdXRmODwvbGk+CjxsaT5WZXJzaW9uIDEuNi4gICBGZWJydWFyeSAgMjAwOCwgIEFkZHMgdGhlIENHRmlsZVVwbG9hZEhhbmRsZXIgY2xhc3M8L2xpPgo8bGk+VmVyc2lvbiAxLjYuMS4gICBGZWJydWFyeSAgMjAwOCwgIE1pbm9yIGZpeCB0byByZWN1cnNpdmVfY2hhbmdlX2RpcmVjdG9yeTwvbGk+CjxsaT5WZXJzaW9uIDEuOC4gRmVicnVhcnkgMjAwOAogIDx1bD4KICAgIDxsaT5BZGQgYSBidW5jaCBtb3JlIHV0aWxpdHkgYW5kIGNvbnZlbmllbmNlIG1ldGhvZHM8L2xpPgogICAgPGxpPk1vdmUgY291bnRyaWVzIGFuZCBzdGF0ZXMgaW50byBhIHRhYmxlIHNvIHRoYXQgdGhleSBjYW4gYmUgdXNlZCB3aXRoIGpvaW5zIGV0Yy48L2xpPgogICAgPGxpPkFkZCB0aGUgYWJpbGl0eSB0byBwcmlvcml0aXplIGNlcnRhaW4gY291bnRyaWVzIGJ5IG5hbWU8L2xpPgogICAgPGxpPkFkZHMgdGhlIEdldFNpbmdsZVRlbXBsYXRlRm9ybSBtZXRob2QgdG8gbWFrZSBpdCBjb252ZW5pZW50IHRvIGVkaXQgYW5kIHJlc3RvcmUgdG8gZGVmYXVsdCBhIHNpbmdsZSB0ZW1wbGF0ZS48L2xpPgogICAgPGxpPkZpeGVzIGlzc3VlcyB3aXRoIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gZWRpdGluZyB0ZW1wbGF0ZXMuPC9saT4KICAgIDxsaT5VcGRhdGUgdGhlIGxpY2Vuc2UuPC9saT4KICAgIDxsaT5VcGRhdGVzIHRvIHRoZSBmaWxlIHVwbG9hZCBjYXBhYmlsaXRpZXM8L2xpPgogICAgPGxpPlRoZSBtb2R1bGUgaXMgYXV0b21hdGljYWxseSBleHBvcnRlZCB0byBzbWFydHk8L2xpPgogICAgPGxpPkFkZCB0aGUgZ2V0X2FjdGlvbl9pZCBhbmQgc2V0X2FjdGlvbl9pZCB2aXJ0dWFsIG1ldGhvZHMgdGhhdCBzaG91bGQgYmUgb3ZlcnJpZGRlbiBieSBhbnkgbW9kdWxlIGRlcml2ZWQgZnJvbSBDR0V4dGVuc2lvbnMuPC9saT4KICA8L3VsPgogIDwvbGk+CjxsaT5WZXJzaW9uIDEuOC4gTWF5IDIwMDgKICA8dWw+CiAgICA8bGk+TWlub3IgY2hhbmdlIGFuZCBhZGRpdGlvbiB0byBSZWRpcmVjdFRvVGFiPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEwLiBTZXB0ZW1iZXIgMjAwOAogIDx1bD4KICAgIDxsaT5BZGRlZCBXYXRlcm1hcmtpbmcgZnVuY3Rpb25zLiAgT3RoZXIgbW9kdWxlcyBjYW4gbm93IHVzZSBDR0V4dGVuc2lvbnMKICAgICAgICB0byBhZGQgd2F0ZXJtYXJrcyB0byBpbWFnZXMuPC9saT4KICAgIDxsaT5SZS1vcmdhbml6ZWQgdGhlIGZ1bmN0aW9ucywgbWFkZSB0aGUgY29yZSBtb2R1bGUgYSBiaXQgc21hbGxlciAodGhlcmUKICAgICAgICBpcyBzdGlsbCBtb3JlIHRvIGRvKSwgYW5kIHV0aWxpemUgc29tZSBsYXp5LWxvYWRpbmcgc3R1ZmYuPC9saT4KICAgIDxsaT5BZGRlZCBhIENyZWF0ZUlucHV0Q29sb3JEcm9wZG93biBmdW5jdGlvbiwgb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4gIFRoaXMgdGhpbmcgaXMgZnVua3ksIHVzZXMgamF2YXNjcmlwdCB0byBkbyBuZWF0IGNvbG9yIGNoYW5nZXMuICBUaGFua3MgX1NqR188L2xpPgogICAgPGxpPk1vcmUgYnVnIGZpeGVzLCBhbmQgY29udmVuaWVuY2UgdGhpbmdpZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEwLjEuIFNlcHRlbWJlciAyMDA4CiAgPHVsPgogICAgPGxpPk1pbm9yIEJ1ZyBGaXhlcy48L2xpPgogICAgPGxpPlVwZ3JhZGUgdGVtcGxhdGUgZm9ybXMgdG8gYWxsb3cgdGhlbSB0byB3b3JrIG9uIGFuIGFjdGlvbiBvdGhlciB0aGFuIGRlZmF1bHRhZG1pbjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xMC4yLiBTZXB0ZW1iZXIgMjAwOAogIDx1bD4KICAgIDxsaT5NaW5vciBCdWcgRml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEwLjMuIE9jdG9iZXIgMjAwOAogIDx1bD4KICAgIDxsaT5TdXBwb3J0IGZvciBzeW50YXggaGlsaWdodGVyIHdoZW4gZWRpdGluZyB0ZW1wbGF0ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEyIERlY2VtYmVyIDIwMDgKICA8dWw+CiAgICA8bGk+QWRkIG51bWVyb3VzIG1vcmUgbWV0aG9kcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTMgRGVjZW1iZXIgMjAwOAogIDx1bD4KICAgIDxsaT5BZGQgdGhlIFNvcnRhYmxlIExpc3QgQXJlYSBmdW5jdGlvbmxpdHk8L2xpPgogICAgPGxpPkFkZCBhbm90aGVyIHNtYXJ0eSB0YWcgZm9yIHN0YXRlIG9wdGlvbnMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE0IERlY2VtYmVyIDIwMDgKICA8dWw+CiAgICA8bGk+QWRkZWQgdXNfZGF0ZV9mb3JtYXQgbW9kaWZpZXIuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE0LjEgRGVjZW1iZXIgMjAwOAogIDx1bD4KICAgIDxsaT5DaGFuZ2VkIHVzX2RhdGVfZm9ybWF0IG1vZGlmaWVyIHRvIHJmY19kYXRlIG1vZGlmaWVyPC9saT4KICAgIDxsaT5GaXhlZCBwcm9ibGVtIHdpdGggbmVzdGVkIGZvcm1zLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xNSBKYW51YXJ5IDIwMDkKICA8dWw+CiAgICA8bGk+QWRkZWQgdGhlIEdldEN1cnJlbnRVUkwoKSBtZXRob2QuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE1LjEgIEZlYnJ1YXJ5IDIwMDkKICA8dWw+CiAgICA8bGk+Rml4ZWQgdGhlIHBpb3JpdHkgY291bnRyaWVzIHNvcnRpbmcgdGhpbmcuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE1LjIgIE1hcmNoIDIwMDkKICA8dWw+CiAgICA8bGk+Rml4ZXMgKGhvcGVmdWxseSkgdGhlICZxdW90O3JlcXVlc3QgdXJpIHRvbyBsYXJnZSZxdW90OyBpc3N1ZSBvbiBhcHBseS48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTUuMyAgTWFyY2ggMjAwOQogIDx1bD4KICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHNlbGVjdCBtdWx0aXBsZSBmaWxlcyBpbiB0aGUgZmlsZSBkcm9wZG93bi48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTYgIEp1bHkgMjAwOQogIDx1bD4KICAgIDxsaT5OdW1lcm91cyBidWdmaXhlcyBhbmQgbmV3IGZlYXR1cmVzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xNi4xICBKdWx5IDIwMDkKICA8dWw+CiAgICA8bGk+Rml4IHByb2JsZW0gd2l0aCBhcHBseSBidXR0b24gaW4gdGVtcGxhdGUgZWRpdGluZy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTYuMSAgSnVseSAyMDA5CiAgPHVsPgogICAgIDxsaT5BZGQgaHR0cF9wb3N0IG1ldGhvZC48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTcgLSBBdWd1c3QgMjAwOQogIDx1bD4KICAgICA8bGk+Q29udmVydCBhbG90IG9mIHN0dWZmIGludG8gUEhQNSBjbGFzc2VzLjwvbGk+CiAgICAgPGxpPkFkZHMgZW5jcnlwdGVkIGFzc29jaWF0aXZlIGRhdGEgdGhpbmcuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE3LjEgLSBBdWd1c3QgMjAwOQogIDx1bD4KICAgICA8bGk+Rml4ZWQgaXNzdWUgd2l0aCBjb25zdHJ1Y3RvciBiZWluZyBpbmNvbXBhdGlibGUgd2l0aCBvdGhlciBtb2R1bGVzIHRoYXQgZGlkbid0IGhhdmUgdGhlIF9fY29uc3RydWN0IG1ldGhvZDwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xNy4yIC0gQXVndXN0IDIwMDkKICA8dWw+CiAgICAgPGxpPkFkZHMgdGhlIGNnZV9kZWJ1ZyBjbGFzcy48L2xpPgogICAgIDxsaT5JbXBsZW1lbnRzIGF1dG9sb2FkIHN0dWZmLCBnZXRzIHJpZCBvZiB0aGUgcmVxdWlyZV9vbmNlIGxpbmVzIGFsbCBvdmVyIHRoZSBwbGFjZSwgYnV0IHJlcXVpcmVzIFBIUCA1LjIrPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE3LjMgLSBTZXB0ZW1iZXIgMjAwOQogIDx1bD4KICAgICA8bGk+QWRkcyBjZ2VfYXJyYXk6Omhhc2hzb3J0IGFuZCBjZ2VfYXJyYXk6Omhhc2hyc29ydDwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xNy40IC0gU2VwdGVtYmVyIDIwMDkKICA8dWw+CiAgICAgPGxpPkFkZHMgUmVkaXJlY3RUb0hUVFBTIHdoaWNoIHVzZXMgYW4gb3B0aW9uYWwgJGNvbmZnWydzc2xfdXJsJ10gdmFyaWFibGUuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE3LjUgLSBPY3RvYmVyIDIwMDkKICA8dWw+CiAgICAgPGxpPkFkZHMgZXhwaXJ5IHBhcmFtZXRlcnMgdG8gdGhlIGRhdGEgc3RvcmUgY2xhc3Nlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTcuNiAtIE5vdmVtYmVyIDIwMDkKICA8dWw+CiAgICAgPGxpPkltcHJvdmVkIGNvdW50cnkgaGFuZGxpbmcuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE3LjkgLSBGZWJydWFyeSAyMDEwCiAgPHVsPgogICAgIDxsaT5GaXhlcyB0aGUgUmVkaXJlY3RUb0hUVFBTIGZ1bmN0aW9uPC9saT4KICAgICA8bGk+SW1wcm92ZW1lbnRzIHRvIHRoZSB1cmwgaGFuZGxpbmcgc3R1ZmYuPC9saT4KICAgICA8bGk+QWRkcyBhIGNvbW1vbiBhZGRyZXNzIGNsYXNzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xOCAtIE1hcmNoIDIwMTAKICA8dWw+CiAgICAgPGxpPkFkZHMgYWJpbGl0eSB0byBjcmVhdGUgcHJldmlldyBpbWFnZXMgb24gdXBsb2FkcyBpbiB0aGUgdXBsb2FkIGhhbmRsZXJzLjwvbGk+CiAgICAgPGxpPkFkZHMgY29tcGFueSBmaWVsZCB0byB0aGUgYWRkcmVzcyBjbGFzcy48L2xpPgogICAgIDxsaT5Ob3cgbG9vayBmb3IgaW50ZXJmYWNlcyBpbiB0aGUgYXV0b2xvYWRlci48L2xpPgogICAgIDxsaT5Nb3JlIG9wdGltaXphdGlvbiwgbW92ZSBmdW5jdGlvbnMgb3V0IG9mIG1vZHVsZSBjbGFzcyBpbnRvbGliIGRpcmVjdG9yeSBjbGFzc2VzLCBldGMuPC9saT4KICAgICA8bGk+TWFueSBmaXhlcyB0byBjbGFzc2VzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xOC4xIC0gTWFyY2ggMjAxMAogIDx1bD4KICAgICA8bGk+TWlub3IgZml4IHRvIGNoYXJ0aW5nIGNsYXNzZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE4LjIgLSBBcHJpbCAyMDEwCiAgPHVsPgogICAgIDxsaT5CdWcgZml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE4LjMgLSBBcHJpbCAyMDEwCiAgPHVsPgogICAgIDxsaT5CdWcgZml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE4LjQgLSBBcHJpbCAyMDEwCiAgPHVsPgogICAgIDxsaT5GaXhlcyB0byBjZ2VfdXJsOjpyZWRpcmVjdF9odHRwczwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xOC42IC0gQXByaWwgMjAxMAogIDx1bD4KICAgICA8bGk+QWRqdXN0bWVudHMgYW5kIGZpeGVzIHRvIHRoZSBodHRwIGNsaWVudCBjbGFzcy48L2xpPgogICAgIDxsaT5GaXhlcyB0byB0aGUgY2FjaGVkX3JlbW90ZV9maWxlIGNsYXNzLjwvbGk+CiAgICAgPGxpPk1pbm9yIHR3ZWFrcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTguNiAtIEFwcmlsIDIwMTAKICA8dWw+CiAgICAgPGxpPkFkanVzdG1lbnRzIGFuZCBmaXhlcyB0byB0aGUgaHR0cCBjbGllbnQgY2xhc3MuPC9saT4KICAgICA8bGk+Rml4ZXMgdG8gdGhlIGNhY2hlZF9yZW1vdGVfZmlsZSBjbGFzcy48L2xpPgogICAgIDxsaT5NaW5vciB0d2Vha3MuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE5CiAgPHVsPgogICAgIDxsaT5NYW55IGVuaGFuY2VtZW50cy48L2xpPgogIDwvdWw+CjxsaT4KPGxpPlZlcnNpb24gMS4xOS4xCiAgPHVsPgogICAgPGxpPkFkZHMgdGhlIGNoZWNrX3VwbG9hZCBtZXRob2QgdG8gdGhlIHVwbG9hZCBjbGFzcy4uLjwvbGk+CiAgICA8bGk+QmVnaW4gdGhlIGRvY3VtZW50YXRpb24gcHJvY2VzcyAod2hhdCBhIHBhaW4gdGhhdCBpcyBnb25uYSBiZSkuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE5LjIKICA8dWw+CiAgICA8bGk+Rml4ZXMgYnVncyBpbiB0aGUgQXNzb2NEYXRhIGNsYXNzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xOS4zCiAgPHVsPgogICAgPGxpPkZvcmNlIHN0YXRlcyBhbmQgY291bnRyaWVzIGxpc3RzIHRvIHJlZnJlc2guPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIwCiAgPHVsPgogICAgPGxpPkZpeGVzIDEuOSBjb21wYXRpYmlsaXR5IHN0dWZmLjwvbGk+CiAgICA8bGk+QnVnIGZpeGVzPC9saT4KICAgIDxsaT5BZGRzIGZyaWVuZGx5IGNsYXNzPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIxLjEKICA8dWw+CiAgICA8bGk+Rml4ZXMgMS45IGNvbXBhdGliaWxpdHkgc3R1ZmYuPC9saT4KICAgIDxsaT5CdWcgZml4ZXM8L2xpPgogICAgPGxpPkFhZGRzIGpzbWluIHBsdWdpbi48L2xpPgogICAgPGxpPk1vcmUgZnVuY3Rpb25zIGluIGNnZV9zdHJpbmc8L2xpPgogICAgPGxpPkEgY291cGxlIG1vcmUgc21hcnR5IHBsdWdpbnMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIxLjIKICA8dWw+CiAgICA8bGk+QWRkcyBhIG5ldyByZWN1cnNpdmUgZ2xvYiBtZXRob2QgdG8gY2dlX2Rpci48L2xpPgogICAgPGxpPkZpeGVzIHRvIHRoZSBjZ2VfYXJyYXk6OmV4cGxvZGVfd2l0aF9rZXkoKSBtZXRob2QuPC9saT4KICAgIDxsaT5VcGRhdGVzIEhlbHAuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIxLjMKICA8dWw+CiAgICA8bGk+Rml4ZXMgYW4gZXJyb3IgaW4gdGVtcGxhdGUgaGFuZGxpbmcgc3R1ZmYuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIxLjUKICA8dWw+CiAgPGxpPkFkZHMgdGhlIGNtc19jYWNoZV9oYW5kbGVyLCBjbXNfY2FjaGVfZHJpdmVyLCBhbmQgY21zX2ZpbGVjYWNoZV9kcml2ZXIgY2xhc3NlcyAobWF5YmUgbGF0ZXIgdGhleSBjYW4gYmUgbW92ZWQgdG8gdGhlIGNvcmUpPC9saT4KICA8bGk+Tm93IHVzZSBmaWxlX2dldF9jb250ZW50cygpIHdoZW4gcmVxdWVzdGluZyBhIFVSTCB3aGVuIENVUkwgaXMgbm90IGluc3RhbGxlZCB1c2luZyBjbXNfaHR0cDo6Z2V0KCk8L2xpPgogIDxsaT5GaXhlcyBwcm9ibGVtcyB3aXRoIGdldF90ZW1wbGF0ZV9saXN0KCk8L2xpPgogIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIxLjUKICA8dWw+CiAgPGxpPkFkZCBhbm90aGVyIHRlc3QgaW4gdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgY2FjaGUgc3R1ZmYsIGN1eiBNb2R1bGV1TWFuYWdlciBkb2VzIHdpZXJkIHN0dWZmLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4yMS42CiAgPHVsPgogIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIxLjcKICA8dWw+CiAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjMKICA8dWw+CiAgPGxpPkFkZHMgdGhlIEJyb3dzZXIgY29kZTwvbGk+CiAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjQKICA8dWw+CiAgPGxpPkV4dGVuZHMgdGhlIGJyb3dzZXIgY29kZSBmb3IgYmV0dGVyIHJvYm90IGRldGVjdGlvbi48L2xpPgogIDxsaT5BZGRzIHtjZ2VfaXNib3R9IGFuZCB7Y2dlX2lzX3NtYXJ0cGhvbmV9IHNtYXJ0eSBwbHVnaW5zLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4yNC4xCiAgPHVsPgogIDxsaT5BZGRzIHRoZSByZXBvcnQgYmFzZSBjbGFzcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjQuMgogIDx1bD4KICA8bGk+SGFuZGxlIHRoZSBzdHVwaWQgaW5wdXQgdHlwZT0naW1hZ2UnIGNyb3NzIGJyb3dzZXIgcHJvYmxlbS48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjUKICA8dWw+CiAgPGxpPkFkZHMgc29tZSBtb3JlIGNsYXNzZXMgZm9yIGRlbGFpbmcgd2l0aCBwb3AzIHNlcnZlcnMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjI1LjEKICA8dWw+CiAgPGxpPkJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjUuMgogIDx1bD4KICA8bGk+QnVnIGZpeGVzLjwvbGk+CiAgPGxpPkFkZHMgYSBuZXcgZnVuY3Rpb24gdG8gdGhlIGNnZV91cmwgY2xhc3MuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjI1LjMKICA8dWw+CiAgPGxpPkFkZHMgYXVkaXRpbmcgb2YgdGVtcGxhdGUgZWRpdHMgZXRjLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4yNS40CiAgPHVsPgogIDxsaT5GaXhlcyB0byB0aGUgaHR0cCBjbGFzcyB0aGF0IEkgZm91bmQgaW4gd29ya2luZyB3aXRoIDEuMTA8L2xpPgogIDxsaT5Ob3cgY2FsbCBjbGFzc19leGlzdHMoJ0NHRXh0ZW5zaW9ucycsZmFsc2UpIC4uLiB0byBoYW5kbGUgdGhlIDEuOSBwcm9ibGVtcyBidXQgYWxzbyBtYWtlIHdheSBmb3IgMS4xMDwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4yNgogIDx1bD4KICAgPGxpPkFkZHMgdGhlIG5ldyBDR0RvbURvY3VtZW50IGNsYXNzIHRoYXQgaGFzIHN1cHBvcnQgZm9yIGlubmVyaHRtbC4uLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4yNwogIDx1bD4KICAgPGxpPkFkZHMgdGhlIG5ldyB7Y2dlX3d5c2l3eWd9IHNtYXJ0eSBwbHVnaW4uPC9saT4KICAgPGxpPlVzZSBjbXNfaHR0cF9yZXF1ZXN0IGZvciBodHRwIHJlcXVlc3RzLCBpZiBhdmFpbGFibGUuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjI4CiAgPHVsPgogICA8bGk+U29tZSBtb3JlIHVzZWZ1bCBzbWFydHkgcGx1Z2lucy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjguMQogIDx1bD4KICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjguMgogIDx1bD4KICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjkueAogPHVsPgogICA8bGk+SW1wcm92ZW1lbnRzIHRvIGRlZmF1bHQgdGVtcGxhdGUgaGFuZGxpbmcuPC9saT4KICAgPGxpPk1pbm9yIGVuaGFuY2VtZW50cyB0byBlcnJvciBoYW5kbGluZy48L2xpPgogICA8bGk+Q0dDcmVhdGVGb3JtU3RhcnQgYnkgZGVmYXVsdCB1c2VzIG11bHRpcGFydC9mb3JtLWRhdGEgdG8gYWxsb3cgdXBsb2Fkcy48L2xpPgogICA8bGk+TWlub3IgY29tcGF0aWJpbGl0eSBmb3IgQ01TTVMgMS4xMTwvbGk+CiAgIDxsaT5Nb3ZlZCBoZWxwIG91dCBvZiB0aGUgbGFuZyBmaWxlLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjMwCiA8dWw+CiAgPGxpPkFkZHMgdGhlIHtjZ2VfbW9kdWxlX2hpbnR9IHRhZy48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4zMC4xCiA8dWw+CiAgPGxpPk1pbm9yIGltcHJvdmVtZW50cyB0byB0aGUgYWRkL2VkaXQgdGVtcGxhdGUgc3R1ZmYuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMzAuMgogPHVsPgogIDxsaT5BZGRlZCB0aGUgY2dlX3VzZXJvcHM6OmdldF9ncm91cGxpc3QoKSBtZXRob2QuPC9saT4KICA8bGk+QWRkZWQgdGhlIG5vdGlmaWNhdGlvbl9tZXNzYWdlIGNsYXNzLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjMxCiA8dWw+CiAgPGxpPkltcHJvdmVkIGNnZV9jYWNoZWRfcmVtb3RlX2ZpbGUgY2xhc3MuPC9saT4KICA8bGk+Rml4ZXMgdG8gdGhlIHNtYXJ0Y2FjaGUgY2xhc3MuPC9saT4KICA8bGk+TWFueSBtaW5vciBpbXByb3ZlbWVudHMuLi4gbmV3IGZ1bmN0aW9ucyBpbiB0aGUgY2dlX3V0aWxzIGNsYXNzLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjMyCiA8dWw+CiAgPGxpPk51bWVyb3VzIGltcHJvdmVtZW50cyB0byBzbWFydHkgZnVuY3Rpb25zLjwvbGk+CiAgPGxpPk5vdyByZXF1cmllcyBQSFAgNS4zIG9yIGdyZWF0ZXIuPC9saT5uCiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjM1CiAgPHVsPgogICAgPGxpPkFkZHMgdGhlIHtjZ2VfY29udGVudF90eXBlfSBzbWFydHkgcGx1Z2luLi4uIGFuZCBhIG1pbm9yIGZpeCB0byB0aGUgdXBsb2FkIHN0dWZmLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4zNgogIDx1bD4KICAgIDxsaT5BZGRzIHRoZSB7Y2dlX2NhY2hlZF91cmx9IHBsdWdpbi48L2xpPgogICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMzcKICA8dWw+CiAgICA8bGk+QWRkcyBuZXcgcHJlZmVyZW5jZXMgZm9yIG1lbW9yeSBsaW1pdCBkZXRlY3Rpb24gdXNlZCBieSBzb21lIG1vZHVsZXMuPC9saT4KICAgIDxsaT5JbXByb3ZlbWVudHMgdG8gdGhlIG5vdGlmaWNhdGlvbiBtZXNzYWdlIGNsYXNzLjwvbGk+CiAgICA8bGk+TmV3IGdlbmVyaWMgb2JqZWN0IHNvcnRpbmcgbWV0aG9kLjwvbGk+CiAgICA8bGk+QWRkcyBtb3JlIGJvdHMgdG8gdGhlIGJvdCBjaGVja2VyPC9saT4KICAgIDxsaT5CdWcgZml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8aWk+VmVyc2lvbiAxLjM4LngKICA8dWw+CiAgICA8bGk+SW1wcm92ZW1lbnRzIHRvIGZpbGUgdXBsb2FkIGhhbmRsZXJzLjwvbGk+CiAgICA8bGk+QWRkcyB0aGUgbWVzc2FnaW5nIGNsYXNzZXMuPC9saT4KICAgIDxsaT5CdWcgZml4ZXMuPC9saT4KICAgIDxsaT5Db2RlIGNsZWFudXA8L2xpPgogICAgPGxpPkFkZHMgdGhlIGNnZV91dGlsczo6Z2V0X3BhcmFtKCkgbWV0aG9kPC9saT4KICAgIDxsaT5BZGRzIHRoZSBDR0dldFByZWZlcmVuY2UgbWV0aG9kIHRvIHRoZSBtb2R1bGUgYXBpLjwvbGk+CiAgICA8bGk+QWRkcyB0aGUgZ2V0X3VpZF9lbWFpbHMgY29udmVuaWVuY2UgbWV0aG9kLjwvbGk+CiAgICA8bGk+SW1wcm92ZW1lbnRzIHRvIHtjZ2VfdGV4dGFyZWF9PC9saT4KICAgIDxsaT5JbXByb3ZlbWVudHMgdG8ge2NnX2ltYWdlfTwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4zOQogIDx1bD4KCTxsaT5BZGRzIHRoZSBzeW50YXggcGFyYW0gdG8gdGhlIHtjZ2VfdGV4dGFyZWF9IHBsdWdpbi48L2xpPgoJPGxpPkJlZ2luIGFkZGluZyB0aGUge2NnanNfcmVxdWlyZX0ge2NnanNfYWRkfSBhbmQge2NnY3NzX2FkZH0gcGx1Z2lucy48L2xpPgoJPGxpPk1pbm9yIGZpeCB0byB1cGxvYWQgaGFuZGxpbmcuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjQwCiAgPHVsPgoJPGxpPk1vcmUgd29yayBvbiB0aGUge2NnanNfcmVxdWlyZX0gYW5kIHJlbGF0ZWQgcGx1Z2lucyBhbmQgZnVuY3Rpb25hbGl0eS48L2xpPgoJPGxpPkFkZHMgY2dlX3V0aWxzOjpjbGVhbl9pbnB1dF9odG1sKCkgbWV0aG9kLCBhbmQgdGhlIGh0bUxhd2VkIHV0aWxpdHkgdGhhdCBpdCB1c2VzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS40MQogIDx1bD4KCTxsaT5BZGRzIGNnZV91cmw6OmZpbGVuYW1lX3RvX3VybCgpIG1ldGhvZC48L2xpPgoJPGxpPkFkZHMgQ0dFeHRlbnNpb25zOjpmaW5kX2ZpbGUoKSBtZXRob2QuPC9saT4KCTxsaT5JbXByb3ZlbWVudHMgdG8gdGhlIGF1dG9sb2FkZXIuPC9saT4KCTxsaT5BZGRzIGJhc2UgY2xhc3NlcyBmb3IgcmVwb3J0aW5nLCBxdWVyeSwgcmVzdWx0c2V0LCBhbmQgcGFnaW5hdGlvbiBpbiB0aGVpciBvd24gbmFtZXNwYWNlcy48L2xpPgoJPGxpPk1vcmUgd29yayBvbiB0aGUgY2dfY21zbXMganF1ZXJ5IHBsdWdpbiB0aGF0IHByb3ZpZGVzIHNvbWUgYmFzaWMgZnVuY3Rpb25hbGl0eSB0byBhbGwgb2YgbXkgbW9kdWxlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuNDIKICA8dWw+Cgk8bGk+UmVwbGFjZXMgbG9zdCBmdW5jdGlvbmFsaXR5IGZvciBtYW5hZ2luZyBzdGF0ZSBhbmQgY291bnRyeSBsaXN0cy48L2xpPgoJPGxpPkV4dGVuc2l2ZSByZXBhaXJzIGFuZCBlbmhhbmNlbWVudHMgdG8gcmVwb3J0aW5nIGZ1bmN0aW9uYWxpdHkuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjQzLngKICA8dWw+CiAgICA8bGk+QWRkcyBtZXRob2RzIGZvciB0ZW1wbGF0ZSBtYW5pcHVsYXRpb24uPC9saT4KCTxsaT5BZGRzIGZ1bmN0aW9uYWxpdHkgZm9yIGNvbnZlcnRpbmcgYSBEYXRhUmVmIChEYXRhIFJlZmVyZW5jZSkgdG8gYSBMaW5rRGVmaW5pdGlvbi4gIFVzZWZ1bCBpbiBIaXRDb3VudGVyLCBDR0ZlZWRiYWNrIChzb29uKSwgYW5kIENHSW50ZXJuYWxNYWlsIChzb29uKSBjbGFzc2VzLgoJICAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gRGF0YVJlZi9MaW5rRGVmaW5pdGlvbiBzdXBwb3J0IG5lZWRzIHRvIGJlIGFkZGVkIHRvIGVhY2ggaW52aWRpZHVhbCBzb3VyY2UgbW9kdWxlLiAgQXQgdGhlIHRpbWUgb2Ygd3JpdGluZyB0aGlzIGl0IGhhcyBiZWVuIGFkZGVkIHRvIENvbXBhbnlEaXJlY3RvcnkgYW5kIENHQmxvZywgc29vbiB0byBiZSByZWxlYXNlZC48L3A+Cgk8L2xpPgoJPGxpPlJld3JpdGUgdGhlIGNnZV91cmw6OmN1cnJlbnRfdXJsKCkgbWV0aG9kLjwvbGk+Cgk8bGk+RG9jdW1lbnRhdGlvbiB1cGRhdGVzLjwvbGk+Cgk8bEk+RW5oYW5jZW1lbnRzIChtaW5vcikgdG8gdGhlIHJlc3VsdHNldCBhbmQgcXVlcnkgY2xhc3Nlcy48L2xpPgoJPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuNDQueAogIDx1bD4KCTxsaT5Eb2N1bWVudGF0aW9uIG9mIG1hbnkgQVBJIGZ1bmN0aW9ucyBhbmQgY2xhc3NlcyAobm90IGNvbXBsZXRlKS48L2xpPgoJPGxpPk5vdyByZXF1aXJlIFBIUCA1LjQuMyBtaW5pbXVtLjwvbGk+CiAgICAgICAgPGxpPlJld3JpdGUgY2dlX2ltYWdlOjppbWFnZV90cmFuc2Zvcm0gZm9yIENNU01TIDIuMCBjb21wYXRpYmlsaXR5IChub3cgZG9lcyBub3QgZGVwZW5kIG9uIEltYWdlTWFuYWdlcik8L2xpPgogICAgICAgIDxsaT5OYW1lc3BhY2UgZml4ZXMuPC9saT4KICAgICAgICA8bGk+QWRkcyB0aGUgR2V0QWN0aW9uTW9kdWxlKCkgbWV0aG9kIHRvIHRoZSBDR0V4dGVuc2lvbnMgY2xhc3MuPC9saT4KICAgICAgICA8bGk+SW1wcm92ZW1lbnRzIGFuZCBmaXhlcyB0byB0aGUgcmVwb3J0aW5nIGFuZCBxdWVyeSBjbGFzc2VzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS40NQogIDx1bD4KCTxsaT5BZGRzIHRoZSBjb250ZW50X2xpc3RfYnVpbGRlciBjbGFzcy48L2xpPgoJPGxpPk1pbm9yIHJlcG9ydGluZyBpbXByb3ZlbWVudHMuPC9saT4KCTxsaT5BZGRzIGhlbHAgaW1wcm92ZW1lbnRzIChtb2R1bGVzIG5vIGxvbmdlciBuZWVkIHRoZSBHZXRIZWxwKCkgbWV0aG9kKS4KCTxsaT5taW5vciBidWcgZml4ZXMuPC9saT4KICAgICAgICA8bGk+UmV3b3JrIHRoZSB3YXRlcm1hcmtpbmcgY2xhc3Nlcy4gc28gdGhhdCB0aGV5IGNhbiBiZSByZS11c2VkIG1vcmUuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjQ2LngKICA8dWw+Cgk8bGk+SW1wcm92ZW1lbnRzIHRvIHRoZSByZXBvcnRpbmcgZnVuY3Rpb25hbGl0eS48L2xpPgoJPGxpPkFkZHMgbmV3IGxvb2t1cCB0YWJsZSBjbGFzcyBmb3IgdXNlIGluIGZ1dHVyZSBtb2R1bGVzLjwvbGk+Cgk8bGk+Rml4ZXMgdG8gaHRtbCBwYXJzaW5nIHNvIHRoYXQgc2VsZiBjbG9zaW5nIHRhZ3MgYXJlIG5vdyBvdXRwdXQgYXMgc3VjaC4KCSAgIDxwPlRoaXMgbWF5IGJyZWFrIGZvciB4bWwgc3BlY2lmaWMgZW52aXJvbm1lbnRzIG9yIGZvciBIVE1MIHN0cmljdCwgYnV0IGZpeGVzIHRoZSBwcm9ibGVtIG9mIDxpbWcvPiB0YWdzIGJlaW5nIG91dHB1dCBhcyA8aW1nPjwvaW1nPiBldGMuPC9wPgoJPGxpPk1pbm9yIHJlcG9ydGluZyBpbXByb3ZlbWVudHMuPC9saT4KCTxsaT5pbXByb3ZlZCBhdXRvbG9hZGVyLjwvbGk+Cgk8bGk+aW1wcm92ZWQgc2Vzc2lvbl9nZXQoKSwgc2Vzc2lvbl9wdXQoKSwgYW5kIHNlc3Npb25fY2xlYXIoKSBtZXRob2RzLjwvbGk+Cgk8bGk+aW1wcm92ZW1lbnRzIHRvIHRoZSBlbmNyeXB0ZWRfc3RvcmUoKSBvYmplY3QuPC9saT4KCTxsaT5taW5vciBmaXhlcyB0byB0aGUganNsb2FkZXIgc3R1ZmYuPC9saT4KCTxsaT5udW1lcm91cyBtaW5vciBidWcgZml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjQ3LngKICA8dWw+Cgk8bGk+QWRkcyBmdW5jdGlvbmFsaXR5IGZvciB2ZXJpZnlpbmcgYW5kIGNoZWNraW5nIG1vZHVsZSBpbnRlZ3JpdHkuCgk8cD5Nb2R1bGUgdmVyaWZpY2F0aW9uIHN0dWZmIGlzIGRpc3BsYXllZCBmb3IgYWRtaW4gcmVxdWVzdHMsIGZvciBwZW9wbGUgd2l0aCB0aGUgIk1vZGlmeSBNb2R1bGVzIiBwZXJtaXNzaW9uLiAgVGhlIGRhdGEKCWlzIGNhY2hlZCBhbmQgb25seSBldmFsdWF0ZWQgb25jZSBwZXIgZGF5IHBlciBtb2R1bGUuPC9wPgoJPHA+QSBuZXcgYWN0aW9uIGlzIGF2YWlsYWJsZSB0byBnZW5lcmF0ZSBhIHJlcG9ydCBvZiBtb2R1bGUgc2lnbmF0dXJlcy48L3A+Cgk8L2xpPgoJPGxpPkFkZHMgdGhlIFxjZ2VfdXRpbHM6OmRvbmVfdG9kYXkoKSBjb252ZW5pZW5jZSBtZXRob2QuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjQ4LngKICA8dWw+Cgk8bGk+QWRkcyBzaW1wbGUgaHRtbCBtaW5pZnkgYW5kIGJldXRpZnkgKGJvZHkgb25seSkgYmFzZWQgb24gY29uZmlnIGVudHJpZXMuPC9saT4KICAgICAgICA8bGk+Q2xlYW4gdXAgdGhlIGh0dHAgY2xhc3MsIGFuZCBtYWtlIGl0IG1vcmUgbWVtb3J5IGVmZmljaWVudCB3aGVuIHVzaW5nIGN1cmwuPC9saT4KCTxsaT5NaW5vciBvcHRpbWl6YXRpb25zPC9saT4KCTxsaT5CdWcgZml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjQ4LjMKICA8dWw+Cgk8bGk+QnVnIGZpeGVzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS40OC40CiAgPHVsPgoJPGxpPkltcHJvdmVtZW50IHRvIGpzbG9hZGVyIHN0dWZmLjwvbGk+Cgk8bGk+TWlub3IgdHdlYWtzIHRvIGNnZV9odG1scHJldHR5LjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS40OQogIDx1bD4KCTxsaT5NaW5vciBpbXByb3ZlbWVudHMgdG8gcmVwb3J0aW5nIHN0dWZmLjwvbGk+Cgk8bGk+QWRkcyBnZXRfbW9kdWxlX3RlbXBsYXRlIGFuZCBnZXRfbW9kdWxlX2ZpbGVzIG1ldGhvZHMuPC9saT4KCTxsaT5yZW5hbWVzIGZpbmRfZmlsZSBtZXRob2QgdG8gZmluZF9tb2R1bGVfZmlsZS48L2xpPgoJPGxpPmZpY2VzIHRvIGdldFRlbXBsYXRlUmVzb3VyY2UgYW5kIGNyZWF0ZVNtYXJ0eVRlbXBsYXRlIHRvIGFjY2VwdCBhbnkgcmVzb3VyY2Ugc3RyaW5nLjwvbGk+CiAgICAgICAgPGxpPkltcHJvdmVtZW50cyB0byB0aGUganNsb2FkZXIgc3R1ZmYgKDEuNDkuMykgdG8gYWxsb3cgY29udHJvbGxpbmcgbWluaWZpY2F0aW9uIG9mIGNzcyBhbmQganMgZmlsZXMsIGFuZCBjYWNoaW5nIHJlbW90ZSBjc3MgYW5kIGpzPC9saT4KICA8L3VsPgo8L2xpPgo8L3VsPgo8YnIgLz4=]]></about>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.49.3</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSimpleSmarty</requiredname>
	  <requiredversion>1.9</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJG5vZW1iZWQgPSBjZ2VfdXRpbHM6OnRvX2Jvb2woJGNvbmZpZ1snY2dzbV9ub2VtYmVkJ10pOwokbGFuZyA9IHN1YnN0cihDbXNObHNPcGVyYXRpb25zOjpnZXRfY3VycmVudF9sYW5ndWFnZSgpLDAsMik7CiR0YWdwYXJtcyA9IGFycmF5KCdpZCc9Pm51bGwsJ2NsYXNzJz0+bnVsbCwnYWx0Jz0+bnVsbCwnd2lkdGgnPT5udWxsLCdoZWlnaHQnPT5udWxsKTsKJG9wdHMgPSBhcnJheSgnbWFya2Vyc2l6ZSc9Pm51bGwsJ21hcmtlcmNvbG9yJz0+bnVsbCwnc2l6ZSc9Pm51bGwsJ3NjYWxlJz0+bnVsbCwnZm9ybWF0Jz0+bnVsbCwKICAgICAgICAgICAgICAnbWFwdHlwZSc9Pm51bGwsJ2xhbmd1YWdlJz0+JGxhbmcsJ3JlZ2lvbic9Pm51bGwsJ2NlbnRlcic9Pm51bGwsJ3pvb20nPT5udWxsLCdzZW5zb3InPT5udWxsKTsKJHdpZHRoID0gJGhlaWdodCA9IG51bGw7CiRtYXJrZXJzID0gbnVsbDsKCiRtYXJrZXJzID0gYXJyYXkoKTsKJHBhcm1zID0gYXJyYXkoKTsKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICBzd2l0Y2goICRrZXkgKSB7CiAgICBjYXNlICdhc3NpZ24nOgogICAgY2FzZSAnYWN0aW9uJzoKICAgIGNhc2UgJ3JldHVybmlkJzoKICAgIGNhc2UgJ21vZHVsZSc6CiAgICAgICAgLy8gaWdub3JlIHRoZXNlCiAgICAgICAgYnJlYWs7CgogICAgY2FzZSAnbm9lbWJlZCc6CiAgICAgICAgJG5vZW1iZWQgPSBcY2dlX3V0aWxzOjp0b19ib29sKCR2YWwpOwogICAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2FkZHJlc3MnOgogICAgICAgIC8vIGNvbnZlbmllbmNlCiAgICAgICAgJG1hcmtlcnMgPSBhcnJheSgkdmFsKTsKICAgICAgICBicmVhazsKCiAgICBkZWZhdWx0OgogICAgICAgIGlmKCBpbl9hcnJheSgka2V5LGFycmF5X2tleXMoJHRhZ3Bhcm1zKSkgKSB7CiAgICAgICAgICAgICR0YWdwYXJtc1ska2V5XSA9ICR2YWw7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoIGluX2FycmF5KCRrZXksYXJyYXlfa2V5cygkb3B0cykpICkgewogICAgICAgICAgICAkb3B0c1ska2V5XSA9ICR2YWw7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoIHN0YXJ0c3dpdGgoJGtleSwnbWFya2VyJykgKSB7CiAgICAgICAgICAgICRtYXJrZXJzW10gPSAkdmFsOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIHZhbGlkIHBhcmFtZXRlciBmb3IgdGhpcyBhY3Rpb24uIik7CiAgICAgICAgfQogICAgfQp9CgovLyBpZiB3ZSBoYXZlIGJvdGggYSBoZWlnaHQgYW5kIGEgd2lkdGgsIGJ1dCBubyBzaXplLi4uIHdlIHBhc3MgdGhhdCBpbiBhcyBhbiBvcHQKaWYoICR0YWdwYXJtc1snd2lkdGgnXSAmJiAkdGFncGFybXNbJ2hlaWdodCddICYmICEkb3B0c1snc2l6ZSddICkgewogICAgJG9wdHNbJ3NpemUnXSA9ICJ7JHRhZ3Bhcm1zWyd3aWR0aCddfXh7JHRhZ3Bhcm1zWydoZWlnaHQnXX0iOwp9CiRtYXAgPSBuZXcgXENHU3RhdGljTWFwc1xzYXZlZF9zdGF0aWNfbWFwKCRvcHRzKTsKZm9yZWFjaCggJG1hcmtlcnMgYXMgJG9uZSApIHsKICAgICRtYXAtPmFkZF9tYXJrZXIoJG9uZSk7Cn0KJHRhZ3Bhcm1zWydzcmMnXSA9ICRtYXAtPmdldF91cmwoKTsKaWYoICRtYXAtPmdldF9zaXplKCkgPCAxMjAwMCAmJiAhJG5vZW1iZWQgKSB7CiAgICAkZGF0YSA9IGJhc2U2NF9lbmNvZGUoJG1hcC0+Z2V0X2NvbnRlbnRzKCkpOwogICAgJG1pbWV0eXBlID0gXGNnZV91dGlsczo6Z2V0X21pbWVfdHlwZSgkbWFwLT5nZXRfZmlsZSgpKTsKICAgICR0YWdwYXJtc1snc3JjJ10gPSAnZGF0YTonLiRtaW1ldHlwZS4nO2Jhc2U2NCwnLiRkYXRhOwp9CgppZiggISR0YWdwYXJtc1snYWx0J10gKSB7CiAgICBpZiggY291bnQoJG1hcmtlcnMpICkgewogICAgICAgICR0YWdwYXJtc1snYWx0J10gPSAkbWFya2Vyc1swXTsKICAgIH0KICAgIGVsc2UgewogICAgICAgICR0YWdwYXJtc1snYWx0J10gPSAkb3B0c1snY2VudGVyJ107CiAgICB9Cn0KJG91dCA9ICc8aW1nJzsKZm9yZWFjaCggJHRhZ3Bhcm1zIGFzICRrZXkgPT4gJHZhbCApIHsKICAgICRvdXQgLj0gIiAka2V5PVwieyR2YWx9XCIiOwp9CiRvdXQgLj0gJy8+JzsKZWNobyAkb3V0OwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.test.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKLy8gbWFwIHdpdGggc2luZ2xlIG1hcmtlcgokbWFwID0gbmV3IFxDR1N0YXRpY01hcHNcbWFwX2dlbmVyYXRvcihhcnJheSgnc2l6ZSc9PicyMDB4MjAwJykpOwokbWFwLT5hZGRfbWFya2VyKCdDaXR5IEhhbGwsIENhbGdhcnkgQUInKTsKJHVybCA9ICRtYXAtPmdldF91cmwoKTsKZGVidWdfZGlzcGxheSgkdXJsKTsKZWNobyAnPGltZyBzcmM9IicuJHVybC4nIi8+PGJyLz4nOwoKLy8gbWFwIHdpdGggbm8gbWFya2VycywgYnV0IGEgY2VudGVyCiRtYXAgPSBuZXcgXENHU3RhdGljTWFwc1xtYXBfZ2VuZXJhdG9yKGFycmF5KCdjZW50ZXInPT4nQ2FsZ2FyeSwgQUInLCdzaXplJz0+JzIwMHgyMDAnKSk7CiR1cmwgPSAkbWFwLT5nZXRfdXJsKCk7CmRlYnVnX2Rpc3BsYXkoJHVybCk7CmVjaG8gJzxpbWcgc3JjPSInLiR1cmwuJyIvPjxici8+JzsKCi8vIG1hcCB3aXRoIG5vIG1hcmtlcnMsIG5vIGNlbnRlciwgYnV0IGEgJ3Zpc2libGUnCiRtYXAgPSBuZXcgXENHU3RhdGljTWFwc1xtYXBfZ2VuZXJhdG9yKGFycmF5KCd2aXNpYmxlJz0+J0Zlcm5pZSwgQkMnLCdzaXplJz0+JzIwMHgyMDAnKSk7CiR1cmwgPSAkbWFwLT5nZXRfdXJsKCk7CmRlYnVnX2Rpc3BsYXkoJHVybCk7CmVjaG8gJzxpbWcgc3JjPSInLiR1cmwuJyIvPjxici8+JzsKCi8vIG1hcCB3aXRoIGEgY2VudGVyIGFuZCBhIHZpc2libGUKJG1hcCA9IG5ldyBcQ0dTdGF0aWNNYXBzXG1hcF9nZW5lcmF0b3IoYXJyYXkoJ3Zpc2libGUnPT4nRmVybmllLCBCQycsJ2NlbnRlcic9PidDYWxnYXJ5LCBBQicsJ3NpemUnPT4nMjAweDIwMCcpKTsKJHVybCA9ICRtYXAtPmdldF91cmwoKTsKZGVidWdfZGlzcGxheSgkdXJsKTsKZWNobyAnPGltZyBzcmM9IicuJHVybC4nIi8+PGJyLz4nOwoKLy8gbWFwIHdpdGggbXVsdGlwbGUgbWFya2VycywgYW5kIG5vIGNlbnRlcgokbWFwID0gbmV3IFxDR1N0YXRpY01hcHNcbWFwX2dlbmVyYXRvcihhcnJheSgnc2l6ZSc9PicyMDB4MjAwJykpOwokbWFwLT5hZGRfbWFya2VyKCdDYWxnYXJ5LCBBQicpOwokbWFwLT5hZGRfbWFya2VyKCdGZXJuaWUsIEJDJyk7CiRtYXAtPmFkZF9tYXJrZXIoJ0NyYW5icm9vaywgQkMnKTsKJHVybCA9ICRtYXAtPmdldF91cmwoKTsKZGVidWdfZGlzcGxheSgkdXJsKTsKZWNobyAnPGltZyBzcmM9IicuJHVybC4nIi8+PGJyLz4nOwoKLy8gbWFwIHdpdGggbXVsdGlwbGUgbWFya2VycyBhbmQgYSBjZW50ZXIKJG1hcCA9IG5ldyBcQ0dTdGF0aWNNYXBzXG1hcF9nZW5lcmF0b3IoYXJyYXkoJ3NpemUnPT4nMjAweDIwMCcsJ2NlbnRlcic9PidTcGFyd29vZCwgQkMnKSk7CiRtYXAtPmFkZF9tYXJrZXIoJ0NhbGdhcnksIEFCJyk7CiRtYXAtPmFkZF9tYXJrZXIoJ0Zlcm5pZSwgQkMnKTsKJG1hcC0+YWRkX21hcmtlcignQ3JhbmJyb29rLCBCQycpOwokdXJsID0gJG1hcC0+Z2V0X3VybCgpOwpkZWJ1Z19kaXNwbGF5KCR1cmwpOwplY2hvICc8aW1nIHNyYz0iJy4kdXJsLiciLz48YnIvPic7CgovLyBtYXAgd2l0aCBtdWx0aXBsZSBtYXJrZXJzLCBhbmQgYSB2aXNpYmxlCiRtYXAgPSBuZXcgXENHU3RhdGljTWFwc1xtYXBfZ2VuZXJhdG9yKGFycmF5KCdzaXplJz0+JzIwMHgyMDAnLCd2aXNpYmxlJz0+J0xldGhicmlkZ2UgQUInKSk7CiRtYXAtPmFkZF9tYXJrZXIoJ0Zlcm5pZSwgQkMnKTsKJG1hcC0+YWRkX21hcmtlcignQ3JhbmJyb29rLCBCQycpOwokdXJsID0gJG1hcC0+Z2V0X3VybCgpOwpkZWJ1Z19kaXNwbGF5KCR1cmwpOwplY2hvICc8aW1nIHNyYz0iJy4kdXJsLiciLz48YnIvPic7CgovLyBzaW1wbGUgbWFwIGFyb3VuZCBwYXJpcywgaW4gZnJlbmNoCiRtYXAgPSBuZXcgXENHU3RhdGljTWFwc1xtYXBfZ2VuZXJhdG9yKGFycmF5KCdzaXplJz0+JzIwMHgyMDAnLCdsYW5ndWFnZSc9PidmcicsJ2NlbnRlcic9PidwYXJpcywgZnInKSk7CiR1cmwgPSAkbWFwLT5nZXRfdXJsKCk7CmRlYnVnX2Rpc3BsYXkoJHVybCk7CmVjaG8gJzxpbWcgc3JjPSInLiR1cmwuJyIvPjxici8+JzsKCi8vIHNpbXBsZSBtYXAgYXJvdW5kIGdoZW50LCBpbiBkdXRjaAokbWFwID0gbmV3IFxDR1N0YXRpY01hcHNcbWFwX2dlbmVyYXRvcihhcnJheSgnc2l6ZSc9PicyMDB4MjAwJywnbGFuZ3VhZ2UnPT4nbmwnLCdjZW50ZXInPT4nYnJ1c3NlbHMsIGJlJykpOwokdXJsID0gJG1hcC0+Z2V0X3VybCgpOwpkZWJ1Z19kaXNwbGF5KCR1cmwpOwplY2hvICc8aW1nIHNyYz0iJy4kdXJsLiciLz48YnIvPic7CgovLyBzaW1wbGUgbWFwLCB3aXRoIG9uZSBzbWFsbCBncmVlbiBtYXJrZXIKCiRtYXAgPSBuZXcgXENHU3RhdGljTWFwc1xtYXBfZ2VuZXJhdG9yKGFycmF5KCdzaXplJz0+JzIwMHgyMDAnKSk7CiRtYXAtPnNldF9tYXJrZXJjb2xvcignIzAwZmYwMCcpOwokbWFwLT5zZXRfbWFya2Vyc2l6ZSgnbWlkJyk7CiRtYXAtPmFkZF9tYXJrZXIoJ1ZhbmNvdXZlciBCQycpOwokdXJsID0gJG1hcC0+Z2V0X3VybCgpOwpkZWJ1Z19kaXNwbGF5KCR1cmwpOwplY2hvICc8aW1nIHNyYz0iJy4kdXJsLiciLz48YnIvPic7Cg==]]></data>
	</file>
	<file>
	  <filename>/action.test2.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIG1hcCB3aXRoIG11bHRpcGxlIG1hcmtlcnMgYW5kIGEgY2VudGVyCiRtYXAgPSBuZXcgXENHU3RhdGljTWFwc1xzYXZlZF9zdGF0aWNfbWFwKGFycmF5KCdzaXplJz0+JzIwMHgyMDAnLCdjZW50ZXInPT4nU3Bhcndvb2QsIEJDJykpOwokbWFwLT5hZGRfbWFya2VyKCdDYWxnYXJ5LCBBQicpOwokbWFwLT5hZGRfbWFya2VyKCdGZXJuaWUsIEJDJyk7CiRtYXAtPmFkZF9tYXJrZXIoJ0NyYW5icm9vaywgQkMnKTsKJHVybCA9ICRtYXAtPmdldF91cmwoKTsKZGVidWdfZGlzcGxheSgkdXJsKTsKZWNobyAnPGltZyBzcmM9IicuJHVybC4nIi8+PGJyLz4nOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/CGStaticMaps.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZpbmFsIGNsYXNzIENHU3RhdGljTWFwcyBleHRlbmRzIENHRXh0ZW5zaW9ucwp7CiAgICBwdWJsaWMgZnVuY3Rpb24gSW5pdGlhbGl6ZUZyb250ZW5kKCkKICAgIHsKICAgICAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaWQnLENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NsYXNzJyxDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhbHQnLENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3dpZHRoJyxDTEVBTl9JTlQpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdoZWlnaHQnLENMRUFOX0lOVCk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ21hcmtlcnNpemUnLENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ21hcmtlcmNvbG9yJyxDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzaXplJyxDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzY2FsZScsQ0xFQU5fSU5UKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZm9ybWF0JyxDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdtYXB0eXBlJyxDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsYW5ndWFnZScsQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmVnaW9uJyxDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjZW50ZXInLENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3pvb20nLENMRUFOX0lOVCk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlbnNvcicsQ0xFQU5fSU5UKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9lbWJlZCcsQ0xFQU5fSU5UKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9tYXJrZXIuKi8nLENMRUFOX1NUUklORyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkgeyByZXR1cm4gJzEuMTInOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsgcmV0dXJuICcxLjAuMCc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIFRSVUU7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbigpIHsgcmV0dXJuIEZBTFNFOyB9CiAgICAvL3B1YmxpYyBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7IHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpOyB9CiAgICAvL3B1YmxpYyBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7IHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBBbGxvd0F1dG9JbnN0YWxsKCkgeyByZXR1cm4gRkFMU0U7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBBbGxvd0F1dG9VcGdyYWRlKCkgeyByZXR1cm4gRkFMU0U7IH0KICAgIC8vcHVibGljIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdpbnN0YWxscG9zdG1zZycpOyB9CiAgICAvL3B1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbHByZW1zZycpOyB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgICB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdDR0V4dGVuc2lvbnMnPT4nMS40OS4zJywnQ0dTaW1wbGVTbWFydHknPT4nMS45Jyk7CiAgICB9Cn0KPz4K]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIGFuZCBlYXN5IHdheSB0byBjcmVhdGUgc3RhdGljIGdvb2dsZSBtYXBzIGZvciBDTVNNUyB3ZWIgcGFnZXMuPC9wPgo8aDM+RmVhdHVyZXM8L2gzPgo8dWw+CiAgPGxpPkNvbnZlbmllbnRseSBnZW5lcmF0ZSBzdGF0aWMgZ29vZ2xlIG1hcHMgd2l0aCBhIHNtYXJ0eSBwbHVnaW4uPC9saT4KICA8bGk+Q2FjaGUgdGhlIGdlbmVyYXRlZCBtYXAgaW1hZ2VzIG9uIHRoZSBzZXJ2ZXIuPC9saT4KICA8bGk+QXV0b21hdGljYWxseSBlbWJlZCBzbWFsbGVyIG1hcHMgdG8gcmVkdWUgaHRtbCByZXF1ZXN0cy48L2xpPgogIDxsaT5TdXBwb3J0cyAzIGRpZmZlcmVudCBtYXJrZXIgaWNvbiBzaXplcy48L2xpPgogIDxsaT5BdXRvbWF0aWNhbGx5IGRldGVjdHMgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuPC9saT4KICA8bGk+U3VwcG9ydHMgbXVsdGlwbGUgbWFya2VycyBwZXIgbWFwLjwvbGk+CiAgPGxpPlN1cHBvcnRzIHNwZWNpZnlpbmcgYSBjZW50ZXIgbG9jYXRpb24sIG9yIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5pbmcgb25lLjwvbGk+CiAgPGxpPlN1cHBvcnRzIGxvY2F0aW9uIG5hbWVzIG9yIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUuPC9saT4KPC91bD4KPGgzPkZBUTwvaDM+Cjx1bD4KICA8bGk+V2h5IGNhY2hlIHRoZSBtYXAgaW1hZ2VzPwogICAgPHA+VGhlcmUgYXJlIHR3byByZWFzb25zIHdoeSB0aGUgZ2VuZXJhdGVkIG1hcCBpbWFnZXMgYXJlIGNhY2hlZC4gIGE6IHBlcmZvcm1hbmNlIChpdCBpcyBmYXN0ZXIgdG8gbG9hZCBhIHN0YXRpYyBpbWFnZSB0aGFuIGFueSBkeW5hbWljIG9uZS4uLiBldmVuIGlmIGl0IGNvbWVzIGZyb20gZ29vZ2xlKS4gIGI6IFRoZSBnb29nbGUgc3RhdGljIG1hcHMgQVBJIGhhcyBhIHF1b3RhLiBDYWNoaW5nIHRoZSBpbWFnZXMgbWVhbnMgdGhhdCByZXBlYXRlZCB2aXNpdG9ycyB3aWxsIG5vdCBlZmZlY3QgdGhlIHF1b3RlLjwvcD4KICA8L2xpPgogIDxsaT5Ib3cgbG9uZyBpcyB0aGUgaW1hZ2UgY2FjaGVkLgogICAgPHA+SW1hZ2VzIGFyZSBjYWNoZWQgZm9yIDMwIGRheXMsIG9yIHVudGlsIGRlbGV0ZWQgZnJvbSB0aGUgQ01TTVMgY2FjaGUgZGlyZWN0b3J5LjwvcD4KICA8L2xpPgogIDxsaT5XaGF0IGlzIHRoZSBkZWZhdWx0IHNpemU/CiAgICA8cD5UaGUgZGVmYXVsdCBzaXplIG9mIHRoZSBtYXAgaXMgNDAweDQwMC48L3A+CiAgPC9saT4KICA8bGk+V2hhdCBpcyB0aGUgZGVmYXVsdCBmb3JtYXQ/CiAgICA8cD5UaGUgZGVmYXVsdCBmb3JtYXQgaXMgUE5HLjwvcD4KICA8L2xpPgogIDxsaT5UaGVyZSBjYW4gb25seSBiZSBhIG1heGltdW0gb2YgMjYgbWFya2VycyBvbiBlYWNoIG1hcC48L2xpPgogIDxsaT5Qb2x5bGluZXMgYXJlIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLjwvbGk+CiAgPGxpPlRoaXMgbW9kdWxlIGRvZXMgbm90IGdlbmVyYXRlIHByZXR0eSBVUkxTIGZvciBTRU8gcHVycG9zZXMuPC9saT4KICA8bGk+VGhpcyBtb2R1bGUgZG9lcyBub3QgaGF2ZSBhbiBhZG1pbiBpbnRlcmZhY2UuPC9saT4KPC91bD4KPGgzPlBhcmFtZXRlcnM8L2gzPgo8dWw+CiAgPGxpPk1hcCBQYXJhbWV0ZXJzCiAgICA8dWw+CiAgICA8bGk+YWRkcmVzcyA8ZW0+KG9wdGlvbmFsLCBzdHJpbmcpPC9lbT4KICAgICAgICA8cD5TcGVjaWZ5IGEgc2luZ2xlIG1hcmtlciBieSBpdCdzIGFkZHJlc3MgKG9yIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUpLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBlcmFzZSBhbnkgcHJldmlvdXNseSBzZXQgbWFya2Vycy48L3A+Cgk8cD5FeGFtcGxlOiAgPGNvZGU+e0NHU3RhdGljTWFwcyBhZGRyZXNzPSdQYXJpcyBGUid9PC9jb2RlPgogICAgPC9saT4KICAgIDxsaT5tYXJrZXIwLi4yNSA8ZW0+KG9wdGlvbmFsLCBzdHJpbmcpPC9lbT4KICAgICAgICA8cD5BZGQgdXAgdG8gMjYgZGlmZmVyZW50IG1hcmtlcnMuPC9wPgoJPHA+RXhhbXBsZTogIDxjb2RlPntDR1N0YXRpY01hcHMgbWFya2VyMD0nUGFyaXMgRlInIG1hcmtlcjE9J0Ftc3RlcmRhbSBOTCd9PC9jb2RlPjwvcD4KICAgIDwvbGk+CiAgICA8bGk+bWFwdHlwZSA8ZW0+KHJvYWRtYXB8c2F0ZWxsaXRlfGh5YnJpZHx0ZXJyYWluKTwvZW0+CiAgICAgICAgPHA+U2V0IHRoZSBtYXAgdHlwZS4gIFRoZSBkZWZhdWx0IGlzICZxdW90O3JvYWRtYXAmcXVvdDs8L3A+Cgk8cD5FeGFtcGxlOiB7Q0dTdGF0aWNNYXBzIGFkZHJlc3M9J1BhcmlzIEZSJyBtYXB0eXBlPXNhdGVsbGl0ZX08L3A+CiAgICA8L2xpPgogICAgPGxpPmNlbnRlciA8ZW0+KG9wdGlvbmFsLCBzdHJpbmcpPC9lbT4KICAgICAgIDxwPlNldCB0aGUgY2VudGVyIGxvY2F0aW9uIGZvciB0aGUgbWFwLiAgQWNjZXB0cyBhIGxvY2F0aW9uIG9yIGEgbGF0aXR1ZGUgYW5kIGxvZ2l0dWRlLjwvcD4KICAgICAgIDxwPkV4YW1wbGU6IHtDR1N0YXRpY01hcHMgY2VudGVyPSdQYXJpcyBGUid9PC9wPgogICAgPC9saT4KICAgIDxsaT56b29tIDxlbT4ob3B0aW9uYWwgaW50IGJldHdlZW4gMCBhbmQgMjEpCiAgICAgICA8cD5TZXQgdGhlIHpvb20gbGV2ZWwuICBJZiBub3Qgc3BlY2lmaWVkIHRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZSBhIHpvb20gbGV2ZWwgdGhhdCBlbmNvbXBhc3NlcyBhbGwgbWFya2Vycy48L3A+CiAgICAgICA8cD5FeGFtcGxlOiB7Q0dTdGF0aWNNYXBzIGNlbnRlcj0nUGFyaXMgRlInIHpvb209MTJ9PC9wPgogICAgPC9saT4KICAgIDxsaT5tYXJrZXJzaXplIDxlbT4oc21hbGx8bWlkfHRpbnkpPC9lbT4KICAgICAgIDxwPkFsbG93cyBjaGFuZ2luZyB0aGUgc2l6ZSBvZiBtYXAgbWFya2Vycy4gIFNvbWUgbWFwIG1hcmtlciBzaXplcyBtYXkgbm90IHN1cHBvcnQgbGFiZWxzLjwvcD4KICAgICAgIDxwPkV4YW1wbGU6IHtDR1N0YXRpY01hcHMgY2VudGVyPSdQYXJpcyBGUicgem9vbT0xMiBtYXJrZXJzaXplPXRpbnl9PC9wPgogICAgPC9saT4KICAgIDxsaT5tYXJrZXJjb2xvciA8ZW0+KG9wdGlvbmFsLCBjb2xvciBzdHJpbmcpPC9lbT4KICAgICAgIDxwPkFsbG93cyBjaGFuZ2luZyB0aGUgY29sb3Igb2YgYWxsIG1hcmtlcnMgZm9yIHRoZSBtYXAuPC9wPgogICAgICAgPHA+RXhhbXBsZToge0NHU3RhdGljTWFwcyBjZW50ZXI9J1BhcmlzIEZSJyB6b29tPTEyIG1hcmtlcmNvbG9yPScjZWZlZmVmJ308L3A+CiAgICA8L2xpPgogICAgPGxpPnNpemUgPGVtPihzdHJpbmcpCiAgICAgICA8cD5TcGVjaWZ5IHRoZSBtYXAgc2l6ZS4gIE5vdGUsIHRoaXMgY2FuIGFsc28gYmUgZG9uZSB3aXRoIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IHBhcmFtZXRlcnMuPC9wPgogICAgICAgPHA+RXhhbXBsZToge0NHU3RhdGljTWFwcyBjZW50ZXI9J1BhcmlzIEZSJyB6b29tPTEyIG1hcmtlcmNvbG9yPScjZWZlZmVmJyBzaXplPScyNTB4MjUwJ308L3A+CiAgICA8L2xpPgogICAgPGxpPmZvcm1hdCA8ZW0+KFBOR3xKUEd8R0lGKTwvZW0+CiAgICAgICA8cD5TcGVjaWZ5IHRoZSBpbWFnZSBmb3JtYXQuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBQTkcuPC9wPgogICAgPC9saT4KICAgIDxsaT5sYW5ndWFnZSA8ZW0+KHN0cmluZyk8L2VtPgogICAgICAgPHA+U3BlY2lmeSB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBpbWFnZSBsYWJlbHMuICBieSBkZWZhdWx0IHRoZSBjdXJyZW50IGNtc21zIGxhbmd1YWdlIGlzIHVzZWQuPC9wPgogICAgICAgPHA+RXhhbXBsZToge0NHU3RhdGljTWFwcyBjZW50ZXI9J1JvbWUgSXRhbHknIGxhbmd1YWdlPWZyfTwvcD4KICAgIDwvbGk+CiAgICA8L3VsPgogIDwvbGk+CgogIDxsaT5JbWcgVGFnIFBhcmFtZXRlcnMKICAgIDx1bD4KICAgIDxsaT5pZCA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIFRoZSBpZCBhdHRyaWJ1dGUgZm9yIHRoZSBpbWcgdGFnLjwvbGk+CiAgICA8bGk+Y2xhc3MgPGVtPihvcHRpb25hbCBzdHJpbmcpPC9lbT4gLSBUaGUgY2xhc3MgYXR0cmlidXRlIGZvciB0aGUgaW1nIHRhZy48L2xpPgogICAgPGxpPmFsdCA8ZW0+KG9wdGlvbmFsIHN0cmluZyk8L2VtPiAtIFRoZSBhbHQgYXR0cmlidXRlIGZvciB0aGUgaW1nIHRhZy4gIElmIG5vdCBzcGVjaWZpZWQgb25lIHdpbGwgYmUgZ2VucmF0ZWQgYnkgZGVmYXVsdCBzbyB0aGF0IHRoZSBpbWcgdGFnIHZhbGlkYXRlcy48L2xpPgogICAgPGxpPndpZHRoIDxlbT4ob3B0aW9uYWwgaW50KTwvZW0+IC0gVGhlIHdpZHRoIGZvciB0aGUgaW1hZ2UgdGFnLiAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgc2l6ZSBmb3IgdGhlIGdlbmVyYXRlZCBpbWFnZSBhcyB3ZWxsLjwvbGk+CiAgICA8bGk+aGVpZ2h0IDxlbT4ob3B0aW9uYWwgaW50KTwvZW0+IC0gVGhlIGhlaWdodCBmb3IgdGhlIGltYWdlIHRhZy4gIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIHNpemUgZm9yIHRoZSBnZW5lcmF0ZWQgaW1hZ2UgYXMgd2VsbC48L2xpPgogICAgPGxpPm5vZW1iZWQgPGVtPihvcHRpb25hbCBib29sKTwvZW0+IC0gRG8gbm90IGVtYmVkIGltYWdlcy48L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPgoKPGgzPkNvbmZpZyBWYXJpYWJsZXM8L2gzPgo8cD5UaGlzIG1vZHVsZSB3aWxsIHVzZSB0aGUgdmFsdWUgb2YgdGhlIGNnc21fbm9lbWJlZCB2YXJpYWJsZSBpbiB0aGUgY29uZmlnLnBocCBmaWxlIHRvIGRldGVybWluZSB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIG5vZW1iZWQgYXJndW1lbnQuPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.better_url.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBDR1N0YXRpY01hcHM7CgpjbGFzcyBiZXR0ZXJfdXJsIGV4dGVuZHMgXGNtc191cmwKewogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQogICAgewogICAgICAgICR1cmwgPSBudWxsOwogICAgICAgICRzY2hlbWUgPSAkdGhpcy0+Z2V0X3NjaGVtZSgpOwogICAgICAgICR1c2VyID0gJHRoaXMtPmdldF91c2VyKCk7CiAgICAgICAgJHBhc3MgPSAkdGhpcy0+Z2V0X3Bhc3MoKTsKICAgICAgICAkaG9zdCA9ICR0aGlzLT5nZXRfaG9zdCgpOwogICAgICAgICRwb3J0ID0gJHRoaXMtPmdldF9wb3J0KCk7CiAgICAgICAgJHBhdGggPSAkdGhpcy0+Z2V0X3BhdGgoKTsKICAgICAgICAkcXVlcnkgPSAkdGhpcy0+Z2V0X3F1ZXJ5KCk7CiAgICAgICAgJGZyYWdtZW50ID0gJHRoaXMtPmdldF9mcmFnbWVudCgpOwogICAgICAgIGlmKCAkc2NoZW1lICkgJHVybCAuPSAkc2NoZW1lLic6Ly8nOwogICAgICAgIGlmKCAkdXNlciApIHsKICAgICAgICAgICAgJHVybCAuPSAkdXNlcjsKICAgICAgICAgICAgaWYoICRwYXNzICkgJHVybCAuPSAnOicgLiAkcGFzczsKICAgICAgICAgICAgJHVybCAuPSAnQCc7CiAgICAgICAgfQogICAgICAgICR1cmwgLj0gJGhvc3Q7CiAgICAgICAgaWYoICRwb3J0ICYmICRwb3J0ICE9ICcwJyApICR1cmwgLj0gJzonLiRwb3J0OwogICAgICAgIGlmKCAkcGF0aCApICR1cmwgLj0gJHBhdGg7CiAgICAgICAgaWYoICRxdWVyeSApICR1cmwgLj0gJz8nLnVybGVuY29kZSgkcXVlcnkpOwogICAgICAgIGlmKCAkZnJhZ21lbnQgKSAkdXJsIC49ICcjJy4kZnJhZ21lbnQ7CiAgICAgICAgcmV0dXJuICR1cmw7CiAgICB9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cached_static_map.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBDR1N0YXRpY01hcHM7CgpjbGFzcyBjYWNoZWRfc3RhdGljX21hcCBleHRlbmRzIG1hcF9nZW5lcmF0b3IKewogICAgcHJpdmF0ZSAkX2RhdGEgPSBhcnJheSgnbGlmZXRpbWUnKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3VybCgpCiAgICB7CiAgICAgICAgLy8gY2FsbCBwYXJlbnQgY2xhc3MgbWV0aG9kLi4uIG1ha2Ugc3VyZSB3ZSBnZXQgYSB1cmwKICAgICAgICAvLyBpZiB3ZSBkbywgIGZldGNoIGl0Li4uIHVzaW5nIGNnZV9jYWNoZWRfcmVtb3RlCiAgICAgICAgLy8KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2xpZmV0aW1lKCRob3VycykKICAgIHsKCiAgICB9Cgp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.map_generator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBDR1N0YXRpY01hcHM7CgpjbGFzcyBtYXBfZ2VuZXJhdG9yCnsKICAgIGNvbnN0IFNUQVRJQ19VUkwgPSAiaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL3N0YXRpY21hcCI7CiAgICBjb25zdCBGTVRfUE5HID0gJ1BORyc7CiAgICBjb25zdCBGTVRfSlBHID0gJ0pQRyc7CiAgICBjb25zdCBGTVRfR0lGID0gJ0dJRic7CiAgICBjb25zdCBUWVBFX1JPQURNQVAgPSAncm9hZG1hcCc7CiAgICBjb25zdCBUWVBFX1NBVEVMTElURSA9ICdzYXRlbGxpdGUnOwogICAgY29uc3QgVFlQRV9IWUJSSUQgPSAnaHlicmlkJzsKICAgIGNvbnN0IFRZUEVfVEVSUkFJTiA9ICd0ZXJyYWluJzsKCiAgICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCdjbGllbnQnPT5udWxsLCdzaWduYXR1cmUnPT5udWxsLCdzaXplJz0+JzQwMHg0MDAnLCdzY2FsZSc9Pm51bGwsJ2Zvcm1hdCc9PidQTkcnLCdtYXB0eXBlJz0+J3JvYWRtYXAnLCdsYW5ndWFnZSc9Pm51bGwsJ3JlZ2lvbic9Pm51bGwsJ2NlbnRlcic9Pm51bGwsJ3pvb20nPT5udWxsLCdzZW5zb3InPT5mYWxzZSk7CiAgICBwcml2YXRlICRfbWFya2VyczsKICAgIHByaXZhdGUgJF9tYXJrZXJzdHlsZXM7CiAgICBwcml2YXRlICRfdmlzaWJsZTsKICAgIHByaXZhdGUgJF9tYXJrZXJzaXplOwogICAgcHJpdmF0ZSAkX21hcmtlcmNvbG9yOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkb3B0cyA9IG51bGwpCiAgICB7CiAgICAgICAgLy8gdG9kbzogc2V0IGRlZmF1bHQgbGFuZ3VhZ2UuCiAgICAgICAgaWYoICFpc19hcnJheSgkb3B0cykgfHwgIWNvdW50KCRvcHRzKSApIHJldHVybjsKICAgICAgICBmb3JlYWNoKCAkb3B0cyBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICAgICAgICAgIGlmKCAhJHZhbCApIGNvbnRpbnVlOwogICAgICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgICAgIGNhc2UgJ2NsaWVudCc6CiAgICAgICAgICAgIGNhc2UgJ3NpZ25hdHVyZSc6CiAgICAgICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdzaXplJzoKICAgICAgICAgICAgICAgIGlmKCBpc19zdHJpbmcoJHZhbCkgKSB7CiAgICAgICAgICAgICAgICAgICAgbGlzdCgkdywkaCkgPSBleHBsb2RlKCd4JywkdmFsKTsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c2V0X3NpemUoJHcsJGgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSBpZiggaXNfYXJyYXkoJHZhbCkgJiYgY291bnQoJHZhbCkgPT0gMiApIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+c2V0X3NpemUoJHZhbFswXSwkdmFsWzFdKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigiJHZhbCBpcyBhIGludmFsaWQgdmFsdWUgZm9yIHNpemUgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdtYXJrZXJzaXplJzoKICAgICAgICAgICAgICAgICR0aGlzLT5zZXRfbWFya2Vyc2l6ZSgkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnbWFya2VyY29sb3InOgogICAgICAgICAgICAgICAgJHRoaXMtPnNldF9tYXJrZXJjb2xvcigkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnc2NhbGUnOgogICAgICAgICAgICAgICAgJHRoaXMtPnNldF9zY2FsZSgkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnZm9ybWF0JzoKICAgICAgICAgICAgICAgICR0aGlzLT5zZXRfZm9ybWF0KCR2YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdtYXB0eXBlJzoKICAgICAgICAgICAgICAgICR0aGlzLT5zZXRfbWFwdHlwZSgkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnbGFuZ3VhZ2UnOgogICAgICAgICAgICAgICAgJHRoaXMtPnNldF9sYW5ndWFnZSgkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAncmVnaW9uJzoKICAgICAgICAgICAgICAgICR0aGlzLT5zZXRfcmVnaW9uKCR2YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdjZW50ZXInOgogICAgICAgICAgICAgICAgJHRoaXMtPnNldF9jZW50ZXIoJHZhbCk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ3pvb20nOgogICAgICAgICAgICAgICAgJHRoaXMtPnNldF96b29tKCR2YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICd2aXNpYmxlJzoKICAgICAgICAgICAgICAgICR0aGlzLT5zZXRfdmlzaWJsZSgkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnc2Vuc29yJzoKICAgICAgICAgICAgICAgICR0aGlzLT5zZXRfc2Vuc29yKCR2YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdzdHlsZSc6CiAgICAgICAgICAgICAgICAkdGhpcy0+YWRkX3N0eWxlKCR2YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdzdHlsZXMnOgogICAgICAgICAgICAgICAgaWYoICFpc19hcnJheSgkdmFsKSB8fCAhY291bnQoJHZhbCkgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oIiR2YWwgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3Igc3R5bGVzIG9wdGlvbiBpbiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgICAgICAgICBmb3JlYWNoKCAkdmFsIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmFkZF9zdHlsZSgkb25lKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnbWFya2VyJzoKICAgICAgICAgICAgICAgIC8vIG9uZSBtYXJrZXIKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRfbWFya2VyKCR2YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdtYXJrZXJzJzoKICAgICAgICAgICAgICAgIC8vIGFycmF5IG9mIG1hcmtlcnMKICAgICAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHZhbCkgfHwgIWNvdW50KCR2YWwpICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yIG1hcmtlcnMgb3B0aW9uIGluICIuX19DTEFTU19fKTsKICAgICAgICAgICAgICAgIGZvcmVhY2goICR2YWwgYXMgJG9uZSApIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+YWRkX21hcmtlcigkb25lKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfY2xpZW50KCRjbGllbnQpCiAgICB7CiAgICAgICAgJGNsaWVudCA9IHRyaW0oJGNsaWVudCk7CiAgICAgICAgJHRoaXMtPl9kYXRhWydjbGllbnQnXSA9ICRjbGllbnQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9zaWduYXR1cmUoJHNpZykKICAgIHsKICAgICAgICAkc2lnID0gdHJpbSgkc2lnKTsKICAgICAgICAkdGhpcy0+X2RhdGFbJ3NpZ25hdHVyZSddID0gJHNpZzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3NpemUoJHcsJGgpCiAgICB7CiAgICAgICAgJHcgPSAoaW50KSAkdzsKICAgICAgICAkaCA9IChpbnQpICRoOwogICAgICAgIGlmKCAkdyA8IDEwIHx8ICRoIDwgMTAgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oIkludmFsaWQgdmFsdWVzIHBhc3NlZCB0byAiLl9fTUVUSE9EX18pOwogICAgICAgICR0aGlzLT5fZGF0YVsnc2l6ZSddID0gInskd314eyRofSI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9zY2FsZSgkc2NhbGUgPSAxKQogICAgewogICAgICAgICRzY2FsZSA9IChpbnQpICRzY2FsZTsKICAgICAgICBpZiggIWluX2FycmF5KCRzY2FsZSxhcnJheSgxLDIsNCkpICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCJJbnZhbGlkIHZhbHVlIGZvciBzY2FsZSAocG9zc2libGUgdmFsdWVzIGFyZSAxLDIsNCkiKTsKICAgICAgICAkdGhpcy0+X2RhdGFbJ3NjYWxlJ10gPSAkc2NhbGU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9mb3JtYXQoJGZtdCkKICAgIHsKICAgICAgICBzd2l0Y2goICRmbnQgKSB7CiAgICAgICAgY2FzZSBzZWxmOjpGTVRfUE5HOgogICAgICAgIGNhc2Ugc2VsZjo6Rk1UX0dJRjoKICAgICAgICBjYXNlIHNlbGY6OkZNVF9KUEc6CiAgICAgICAgICAgICR0aGlzLT5fZGF0YVsnZm9ybWF0J10gPSAkZm10OwogICAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oIiRmbXQgaXMgYW4gaW52YWxpZCBmb3JtYXQgZm9yICIuX19DTEFTU19fKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9tYXB0eXBlKCR0eXBlKQogICAgewogICAgICAgIHN3aXRjaCggJHR5cGUgKSB7CiAgICAgICAgY2FzZSBzZWxmOjpUWVBFX1JPQURNQVA6CiAgICAgICAgY2FzZSBzZWxmOjpUWVBFX1NBVEVMTElURToKICAgICAgICBjYXNlIHNlbGY6OlRZUEVfSFlCUklEOgogICAgICAgIGNhc2Ugc2VsZjo6VFlQRV9URVJSQUlOOgogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJ21hcHR5cGUnXSA9ICR0eXBlOwogICAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyAgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCIkdHlwZSBpcyBhbiBpbnZhbGlkIG1hcCB0eXBlIGZvciAiLl9fQ0xBU1NfXyk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfbGFuZ3VhZ2UoJGxhbmcpCiAgICB7CiAgICAgICAgJGxhbmcgPSAoc3RyaW5nKSAkbGFuZzsKICAgICAgICBpZiggc3RybGVuKCRsYW5nKSAhPSAyICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCIkbGFuZyBpcyBhbiBpbnZhbGlkIGxhbmd1YWdlIGZvciAiLl9fQ0xBU1NfXyk7CiAgICAgICAgJHRoaXMtPl9kYXRhWydsYW5ndWFnZSddID0gJGxhbmc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9yZWdpb24oJHJnbikKICAgIHsKICAgICAgICAkcmduID0gKHN0cmluZykgJHJnbjsKICAgICAgICBpZiggc3RybGVuKCRyZ24pICE9IDIgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oIiRyZ24gaXMgYW4gaW52YWxpZCByZWdpb24gc3RyaW5nIik7CiAgICAgICAgJHRoaXMtPl9kYXRhWydyZWdpb24nXSA9ICRyZ247CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHRvX2xvY2F0aW9uKCRsb2MpCiAgICB7CiAgICAgICAgLy8gY291bGQgYmUgYSBwbGFjZSBuYW1lLCBvciBhIGxhdC9sb25nIGFycmF5IHBhaXIuCiAgICAgICAgaWYoIGlzX3N0cmluZygkbG9jKSApIHsKICAgICAgICAgICAgaWYoIHN0cmxlbigkbG9jKSA8PSA0ICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCIkbG9jIGlzIG5vdCBhIHZhbGlkIGxvY2F0aW9uIHN0cmluZyIpOwogICAgICAgICAgICAkdG1wID0gZXhwbG9kZSgnLCcsJGxvYyk7CiAgICAgICAgICAgIGlmKCBjb3VudCgkdG1wKSA9PT0gMiApIHsKICAgICAgICAgICAgICAgIGlmKCBpc19mbG9hdCgkdG1wWzBdKSAmJiAhaXNfZmxvYXQoJHRtcFsxXSkgKSB7CiAgICAgICAgICAgICAgICAgICAgJGxvYyA9ICR0bXA7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAkbG9jOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuICRsb2M7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmKCAhaXNfYXJyYXkoJGxvYykgfHwgY291bnQoJGxvYykgIT0gMiApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigiJGxvYyBpcyBub3QgYSB2YWxpZCBsb2NhdGlvbiIpOwogICAgICAgIGlmKCAhaXNfZmxvYXQoJGxvY1swXSkgfHwgIWlzX2Zsb2F0KCRsb2NbMV0pICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCIkbG9jIGlzIG5vdCBhIHZhbGlkIGxvY2F0aW9uIik7CiAgICAgICAgaWYoICRsb2NbMF0gPCAtMTgwIHx8ICRsb2NbMF0gPiAxODAgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oIiRsb2MgaXMgbm90IGEgdmFsaWQgbG9jYXRpb24iKTsKICAgICAgICBpZiggJGxvY1sxXSA8IC0xODAgfHwgJGxvY1sxXSA+IDE4MCApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigiJGxvYyBpcyBub3QgYSB2YWxpZCBsb2NhdGlvbiIpOwogICAgICAgIHJldHVybiAkbG9jYXRpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9jZW50ZXIoJGxvY2F0aW9uKQogICAgewogICAgICAgICR0aGlzLT5fZGF0YVsnY2VudGVyJ10gPSAkdGhpcy0+dG9fbG9jYXRpb24oJGxvY2F0aW9uKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2NlbnRlcigpCiAgICB7CiAgICAgICAgLy8gaWYgY2VudGVyIGlzIHNldCwgdXNlIGl0Li4uIGlmIG1hcmtlcnMgYXJlIHNldCwgY2FsY3VsYXRlIGEgY2VudGVyCiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF96b29tKCR6b29tKQogICAgewogICAgICAgICR6b29tID0gKGludCkgJHpvb207CiAgICAgICAgaWYoICR6b29tIDwgMCB8fCAkem9vbSA+IDIxICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCIkem9vbSBpcyBhbiBpbnZhbGlkIHpvb20gdmFsdWUiKTsKICAgICAgICAkdGhpcy0+X2RhdGFbJ3pvb20nXSA9ICR6b29tOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfbWFya2Vyc2l6ZSgkc3RyKQogICAgewogICAgICAgIGlmKCAhJHN0ciApIHJldHVybjsKICAgICAgICBzd2l0Y2goIHN0cnRvbG93ZXIoJHN0cikgKSB7CiAgICAgICAgY2FzZSAndGlueSc6CiAgICAgICAgY2FzZSAndCc6CiAgICAgICAgICAgICR0aGlzLT5fbWFya2Vyc2l6ZSA9ICd0aW55JzsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnbWlkJzoKICAgICAgICBjYXNlICdtJzoKICAgICAgICAgICAgJHRoaXMtPl9tYXJrZXJzaXplID0gJ21pZCc7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ3NtYWxsJzoKICAgICAgICBjYXNlICdzJzoKICAgICAgICAgICAgJHRoaXMtPl9tYXJrZXJzaXplID0gJ3NtYWxsJzsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCIkc3RyIGlzIGFuIGludmFsaWQgbWFya2VyIHNpemUgdmFsdWUiKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9tYXJrZXJjb2xvcigkc3RyKQogICAgewogICAgICAgIGlmKCAhJHN0ciApIHJldHVybjsKICAgICAgICAkc3RyID0gc3RydG9sb3dlcigkc3RyKTsKICAgICAgICBpZiggc3RhcnRzd2l0aCgkc3RyLCcjJykgJiYgc3RybGVuKCRzdHIpID09IDcgKSB7CiAgICAgICAgICAgICRzdHIgPSAnMHgnLnN1YnN0cigkc3RyLDEpOwogICAgICAgIH0KICAgICAgICBpZiggIXN0YXJ0c3dpdGgoJHN0ciwnMHgnKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigiSW52YWxpZCB2YWx1ZSBmb3IgbWFya2VyIGNvbG9yLiAgbXVzdCBiZSBhIGhleCB2YWx1ZSBpLmUgMHhGRjk5Q0Mgb3IgYSA3IGNoYXJhY3RlciBjc3MgY29sb3IsIGkuZTogJyNmZjk5Y2MiKTsKICAgICAgICAkdGhpcy0+X21hcmtlcmNvbG9yID0gJHN0cjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3NlbnNvcigkc2Vuc29yID0gdHJ1ZSkKICAgIHsKICAgICAgICAkc2Vuc29yID0gKGJvb2wpICRzZW5zb3I7CiAgICAgICAgJHRoaXMtPl9kYXRhWydzZW5zb3InXSA9ICRzZW5zb3I7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF92aXNpYmxlKCRsb2NhdGlvbikKICAgIHsKICAgICAgICAkdGhpcy0+X3Zpc2libGUgPSAkdGhpcy0+dG9fbG9jYXRpb24oJGxvY2F0aW9uKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkX21hcmtlcigkbG9jYXRpb24pCiAgICB7CiAgICAgICAgLy8gYWxsb3cgb25seSAyNiBtYXJrZXJzLgogICAgICAgICRsb2NhdGlvbiA9ICR0aGlzLT50b19sb2NhdGlvbigkbG9jYXRpb24pOwogICAgICAgIGlmKCBjb3VudCgkdGhpcy0+X21hcmtlcnMpID49IDI2ICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCJBIHN0YXRpYyBtYXAgY2FuIGhhdmUgb25seSAzMCBtYXJrZXJzIChtYXgpIik7CiAgICAgICAgJHRoaXMtPl9tYXJrZXJzW10gPSAkbG9jYXRpb247CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGZpbmRfY2VudGVyKCkKICAgIHsKICAgICAgICBpZiggIWNvdW50KCR0aGlzLT5fbWFya2VycykgKSB7CiAgICAgICAgICAgIGlmKCAkdGhpcy0+X3Zpc2libGUgKSByZXR1cm4gJHRoaXMtPl92aXNpYmxlOwogICAgICAgIH0KICAgICAgICBpZiggY291bnQoJHRoaXMtPl9tYXJrZXJzKSA9PSAxICkgcmV0dXJuOyAvLyBoYXZlIGV4YWN0bHkgb25lIG1hcmtlci4uLiBubyBuZWVkIGZvciBjZW50ZXIuCgogICAgICAgICRtaW5fbGF0ID0gJG1pbl9sb25nID0gOTk5OwogICAgICAgICRtYXhfbGF0ID0gJG1heF9sb25nID0gLTk5OTsKICAgICAgICAkaGF2ZV9sbCA9IGZhbHNlOwogICAgICAgIGZvcmVhY2goICR0aGlzLT5fbWFya2VycyBhcyAkbWFya2VyICkgewogICAgICAgICAgICBpZiggaXNfYXJyYXkoJG1hcmtlcikgJiYgY291bnQoJG1hcmtlcikgPT0gMiApIHsKICAgICAgICAgICAgICAgICRoYXZlX2xsID0gdHJ1ZTsKICAgICAgICAgICAgICAgICRtaW5fbGF0ID0gbWluKCRtaW5fbGF0LCRtYXJrZXJbMF0pOwogICAgICAgICAgICAgICAgJG1pbl9sb25nID0gbWluKCRtaW5fbGF0LCRtYXJrZXJbMV0pOwogICAgICAgICAgICAgICAgJG1heF9sYXQgPSBtYXgoJG1heF9sYXQsJG1hcmtlclswXSk7CiAgICAgICAgICAgICAgICAkbWF4X2xvbmcgPSBtYXgoJG1pbl9sYXQsJG1hcmtlclsxXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoICEkaGF2ZV9sbCApIHJldHVybjsKCiAgICAgICAgJGNlbnRlcl9sYXQgPSAkbWluX2xhdCArICgkbWF4X2xhdCAtICRtaW5fbGF0KSAvIDIuMDsKICAgICAgICAkY2VudGVyX2xvbmcgPSAkbWluX2xvbmcgKyAoJG1heF9sb25nIC0gJG1pbl9sb25nKSAvIDIuMDsKICAgICAgICByZXR1cm4gYXJyYXkoJGNlbnRlcl9sYXQsJGNlbnRlcl9sb25nKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZW5jb2RlX2xvY2F0aW9uKCRsb2MpCiAgICB7CiAgICAgICAgaWYoIGlzX3N0cmluZygkbG9jKSApIHJldHVybiAkbG9jOwogICAgICAgIGlmKCBpc19hcnJheSgkbG9jKSAmJiBjb3VudCgkbG9jKSA9PSAyICkgcmV0dXJuIGltcGxvZGUoJywnLCRsb2MpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBlbmNvZGVfbWFya2VyKCRtYXJrZXIsJGlkeCkgewogICAgICAgIC8vIHRvZG86IGFsbG93IGZvciBtYXJrZXIgc2l6ZSBhbmQgY29sb3IuCiAgICAgICAgJGlkeCA9ICRpZHggJSAyNjsgLy8gb25seSAyNiBsYWJlbHMuCiAgICAgICAgJGxhYmVsID0gY2hyKG9yZCgnQScpKyRpZHgpOwogICAgICAgICRvdXQgPSBudWxsOwogICAgICAgIGlmKCAkdGhpcy0+X21hcmtlcnNpemUgKSAkb3V0IC49ICdzaXplOicuJHRoaXMtPl9tYXJrZXJzaXplLid8JzsKICAgICAgICBpZiggJHRoaXMtPl9tYXJrZXJjb2xvciApICRvdXQgLj0gJ2NvbG9yOicuJHRoaXMtPl9tYXJrZXJjb2xvci4nfCc7CiAgICAgICAgaWYoICR0aGlzLT5fbWFya2Vyc2l6ZSA9PSAnJyB8fCAkdGhpcy0+X21hcmtlcnNpemUgIT0gJ3RpbnknICkgJG91dCAuPSAibGFiZWw6JGxhYmVsfCI7CiAgICAgICAgJG91dCAuPSAkdGhpcy0+ZW5jb2RlX2xvY2F0aW9uKCRtYXJrZXIpOwogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdXJsKCkKICAgIHsKICAgICAgICAvLyBtYWtlIHN1cmUgd2UgYWh2ZSBhdCBsZWFzdCBvbmUgbWFya2VyIE9SIGEgY2VudGVyCiAgICAgICAgaWYoIGNvdW50KCR0aGlzLT5fbWFya2VycykgPT0gMCApIHsKICAgICAgICAgICAgaWYoICR0aGlzLT5fZGF0YVsnY2VudGVyJ10gPT0gbnVsbCAmJiAkdGhpcy0+X3Zpc2libGUgPT0gbnVsbCApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigiUGxlYXNlIHNwZWNpZnkgYSBjZW50ZXIgbG9jYXRpb24sIGEgdmlzaWJsZSBsb2NhdGlvbiBPUiBhdCBsZWFzdCBvbmUgbWFya2VyLiIpOwogICAgICAgIH0KCiAgICAgICAgJHBhcm1zID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoKCAkdGhpcy0+X2RhdGEgYXMgJGtleSA9PiAkdmFsICkgewogICAgICAgICAgICBpZiggIXN0cmxlbigkdmFsKSApIGNvbnRpbnVlOwogICAgICAgICAgICAkcGFybXNbJGtleV0gPSAkdmFsOwogICAgICAgIH0KCiAgICAgICAgLy8gaWYgd2UgZG9uJ3QgaGF2ZSBhIGNlbnRlciwgY2FsY3VsYXRlIG9uZQogICAgICAgIGlmKCAhaXNzZXQoJHBhcm1zWydjZW50ZXInXSkgJiYgISR0aGlzLT5fdmlzaWJsZSApIHsKICAgICAgICAgICAgJHRtcCA9ICR0aGlzLT5maW5kX2NlbnRlcigpOwogICAgICAgICAgICBpZiggJHRtcCApICRwYXJtc1snY2VudGVyJ10gPSAkdGhpcy0+ZW5jb2RlX2xvY2F0aW9uKCR0bXApOwogICAgICAgIH0KCiAgICAgICAgLy8gYWRkIHZpc2libGUKICAgICAgICBpZiggJHRoaXMtPl92aXNpYmxlICkgewogICAgICAgICAgICAkcGFybXNbJ3Zpc2libGUnXSA9ICR0aGlzLT5lbmNvZGVfbG9jYXRpb24oJHRoaXMtPl92aXNpYmxlKTsKICAgICAgICB9CgogICAgICAgIC8vIGFkZCBtYXJrZXJzCiAgICAgICAgaWYoIGNvdW50KCR0aGlzLT5fbWFya2VycykgKSB7CiAgICAgICAgICAgICRwYXJtc1snbWFya2VycyddID0gYXJyYXkoKTsKICAgICAgICAgICAgJGlkeD0wOwogICAgICAgICAgICBmb3JlYWNoKCAkdGhpcy0+X21hcmtlcnMgYXMgJG1hcmtlciApIHsKICAgICAgICAgICAgICAgICRwYXJtc1snbWFya2VycyddW10gPSAkdGhpcy0+ZW5jb2RlX21hcmtlcigkbWFya2VyLCRpZHgrKyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIGJ1aWxkIHRoZSB1cmwKICAgICAgICAkdXJsID0gc2VsZjo6U1RBVElDX1VSTDsKICAgICAgICAkaWR4ID0gMDsKICAgICAgICBmb3JlYWNoKCAkcGFybXMgYXMgJGtleSA9PiAkdmFsICkgewogICAgICAgICAgICAkc2VwID0gJyYnOwogICAgICAgICAgICBpZiggJGlkeCA9PSAwICkgJHNlcCA9ICc/JzsKICAgICAgICAgICAgJGlkeCsrOwoKICAgICAgICAgICAgaWYoICEkdmFsICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCBpc19hcnJheSgkdmFsKSApIHsKICAgICAgICAgICAgICAgIGZvcmVhY2goICR2YWwgYXMgJGtleTIgPT4gJHZhbDIgKSB7CiAgICAgICAgICAgICAgICAgICAgJHVybCAuPSAkc2VwLiRrZXkuJz0nLiR2YWwyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJHVybCAuPSAkc2VwLiRrZXkuJz0nLiR2YWw7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICR1cmwgPSBzdHJfcmVwbGFjZSgnICcsJyUyMCcsJHVybCk7CiAgICAgICAgaWYoIHN0cmxlbigkdXJsKSA+IDIwNDggKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oIkdlbmVyYXRlZCBVUkwgaXMgdG9vIGxvbmcgZm9yIHRoZSBnb29nbGUgc3RhdGljIG1hcHMgQVBJIik7CiAgICAgICAgcmV0dXJuICR1cmw7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.saved_static_map.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBDR1N0YXRpY01hcHM7CgpjbGFzcyBzYXZlZF9zdGF0aWNfbWFwIGV4dGVuZHMgbWFwX2dlbmVyYXRvcgp7CiAgICBwcml2YXRlICRfbGlmZXRpbWU7CiAgICBwcml2YXRlICRfY3JmID0gbnVsbDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG9wdHMpCiAgICB7CiAgICAgICAgJHRoaXMtPl9saWZldGltZSA9IDI0ICogMzA7ICAvLyAzMCBkYXlzLgoKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRvcHRzKTsKICAgICAgICBpZiggaXNzZXQoJG9wdHNbJ2xpZmV0aW1lJ10pICkgewogICAgICAgICAgICAkdGhpcy0+c2V0X2xpZmV0aW1lKCRvcHRzWydsaWZldGltZSddKTsKICAgICAgICAgICAgdW5zZXQoJG9wdHNbJ2xpZmV0aW1lJ10pOwogICAgICAgIH0KCiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9saWZldGltZSgkaG91cnMpCiAgICB7CiAgICAgICAgJGhvdXJzID0gbWF4KDEsbWluKDEwMDAsKGludCkkaG91cnMpKTsKICAgICAgICAkdGhpcy0+X2xpZmV0aW1lID0gJGhvdXJzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdXJsKCkKICAgIHsKICAgICAgICAkdXJsID0gcGFyZW50OjpnZXRfdXJsKCk7CgogICAgICAgIC8vIGZpeCB1cCB0aGUgdXJsCiAgICAgICAgICRjcmYgPSBuZXcgXGNnZV9jYWNoZWRfcmVtb3RlX2ZpbGUoJHVybCwkdGhpcy0+X2xpZmV0aW1lICogNjApOwogICAgICAgIGlmKCAhJGNyZi0+c2l6ZSgpICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdQcm9ibGVtIHJldHJpZXZpbmcgZ29vZ2xlIG1hcCB0byBzdG9yZSBzdGF0aWNhbGx5Jyk7CgogICAgICAgICRzeXNjb25maWcgPSBcY21zX2NvbmZpZzo6Z2V0X2luc3RhbmNlKCk7CiAgICAgICAgJHVybCA9ICRzeXNjb25maWdbJ3Jvb3RfdXJsJ10uJy90bXAvY2FjaGUvJy5iYXNlbmFtZSgkY3JmLT5nZXRfZGVzdCgpKTsKICAgICAgICByZXR1cm4gJHVybDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2ZpbGUoKQogICAgewogICAgICAgICR1cmwgPSBwYXJlbnQ6OmdldF91cmwoKTsKICAgICAgICAkY3JmID0gbmV3IFxjZ2VfY2FjaGVkX3JlbW90ZV9maWxlKCR1cmwsJHRoaXMtPl9saWZldGltZSAqIDYwKTsKICAgICAgICByZXR1cm4gJGNyZi0+Z2V0X2Rlc3QoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3NpemUoKQogICAgewogICAgICAgICR1cmwgPSBwYXJlbnQ6OmdldF91cmwoKTsKICAgICAgICAkY3JmID0gbmV3IFxjZ2VfY2FjaGVkX3JlbW90ZV9maWxlKCR1cmwsJHRoaXMtPl9saWZldGltZSAqIDYwKTsKICAgICAgICByZXR1cm4gJGNyZi0+c2l6ZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfY29udGVudHMoKQogICAgewogICAgICAgICR1cmwgPSBwYXJlbnQ6OmdldF91cmwoKTsKICAgICAgICAkY3JmID0gbmV3IFxjZ2VfY2FjaGVkX3JlbW90ZV9maWxlKCR1cmwsJHRoaXMtPl9saWZldGltZSAqIDYwKTsKICAgICAgICBpZiggISRjcmYtPnNpemUoKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignUHJvYmxlbSByZXRyaWV2aW5nIGdvb2dsZSBtYXAgdG8gc3RvcmUgc3RhdGljYWxseScpOwoKICAgICAgICByZXR1cm4gJGNyZi0+ZmlsZV9nZXRfY29udGVudHMoKTsKICAgIH0KfQ==]]></data>
	</file>
</module>
