<?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>CGProductBuilder</name>
	<version>1.2.1</version>
  <mincmsversion>1.12</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93cyBhIGN1c3RvbWVyIHRvIGR5bmFtaWNhbGx5IHNlbGVjdCBvcHRpb25zIGZvciBhIGNvbXBsZXggcHJvZHVjdCwgc2ltaWxhciB0byBkeW5hbWljIGNhciBidWlsZGluZywgb3IgUEMgYnVpbGRpbmcgc2l0ZXMuICBVc2VycyBzZWxlY3QgYSBzaW5nbGUgb3B0aW9uIGZvciBlYWNoIG9mIGEgc2VyaWVzIG9mIHByZS1zZWxlY3RlZCBvcHRpb24gZ3JvdXBzIGZvciBhIHByb2R1Y3QuICBBdCB0aGUgZW5kIHRoZSBjb21wbGV0ZWQgc3BlY2lmaWNhdGlvbiBjYW4gYmUgc2VudCB0byBhbiBhZG1pbmlzdHJhdG9yLCBvciBwcmludGVkIHRvIFBERi48L3A+Cgo8aDM+RmVhdHVyZXM6PC9oMz4KPHVsPgogIDxsaT5BbiBhZG1pbiBpbnRlcmZhY2UgdG8gY29uc3RydWN0ICZxdW90O29wdGlvbiBzZXRzJnF1b3Q7IHdoaWNoIGVhY2ggY29uc2lzdCBvZiBvbmUgb3IgbW9yZSBvcHRpb25zLjwvbEk+CiAgPGxpPkVhY2ggb3B0aW9uIHdpdGhpbiBhbiBvcHRpb24gc2V0IGhhcyBwcmljZSBjaGFyYWN0ZXJpc3RpY3MuPC9saT4KICA8bGk+RHluYW1pYyAoZHJhZyBhbmQgZHJvcCkgcmUtb3JkZXJpbmcgb2Ygb3B0aW9ucyBhbmQgb3B0aW9uIHNldHMgdG8gY29udHJvbCB0aGVpciBkaXNwbGF5IG9yZGVyLjwvbGk+CiAgPGxpPkNyZWF0ZXMgYSBuZXcgY29udGVudCB0eXBlICZxdW90O1Byb2R1Y3QgQnVpbGRlciZxdW90OyB0aGF0IGFzc29jaWF0ZXMgc2VsZWN0aW5nIGEgYmFzZSBwcmljZSwgYW5kIHRoZSBvcHRpb24gc2V0cyBmb3IgdGhlIHNwZWNpZmljIHByb2R1Y3QuPC9saT4KICA8bGk+U3VwcG9ydHMgd2hvbGVzYWxlIGFuZCByZXRhaWwgcHJpY2luZy4gIFRvIHJlY2VpdmUgd2hvbGVzYWxlIHByaWNpbmcgdGhlIHVzZXIgbXVzdCBiZSBsb2dnZWQgaW4gd2l0aCBGcm9udEVuZFVzZXJzIGFuZCBhIG1lbWJlciBvZiBhIHNwZWNpZmllZCBncm91cC48L2xpPgogIDxsaT5PcHRpb24gc2V0cyBjb250YWluIG9uZSBvciBtb3JlIG9wdGlvbnMuICBPcHRpb25hbGx5IG9wdGlvbiBzZXRzIGNhbiBiZSBmbGFnZ2VkIGFzIG11bHRpLXNlbGVjdCB0byBhbGxvdyB0aGUgc2l0ZSB2aXNpdG9yIHRvIHNlbGVjdCBtdWx0aXBsZSBvcHRpb25zIHdpdGhpbiBhIHNpbmdsZSBvcHRpb24gc2V0LjwvbGk+CiAgPGxpPkR5bmFtaWMgcHJpY2UgY2FsY3VsYXRpb24gKGNvbmZpZ3VyZWQgcHJpY2UgaXMgZGlzcGxheWVkIHRocm91Z2hvdXQgdGhlIHByb2Nlc3MpLjwvbGk+CiAgPGxpPkR5bmFtaWMgbmF2aWdhdGlvbiBiZXR3ZWVuIG9wdGlvbiBzZXRzLjwvbGk+CiAgPGxpPlNlbmQgZmluaXNoZWQgcHJvZHVjdCBjb25maWd1cmF0aW9uIHZpYSBlbWFpbCB0byBtZW1iZXJzIG9mIHRoZSBzZWxlY3RlZCBhZG1pbiBncm91cC48L2xpPgogIDxsaT5DcmVhdGUgYSBwcmludGFibGUgUERGIHZlcnNpb24gb2YgdGhlIGZpbmlzaGVkIHByb2R1Y3QgY29uZmlndXJhdGlvbi48L2xpPgogIDxsaT5JbXBvcnQgb3B0aW9uIHNldHMgZnJvbSBhIHdlbGwgZGVmaW5lZCBDU1YgZmlsZSAoc2FtcGxlIGluY2x1ZGVkKS48L2xpPgo8L3VsPgoKPGgzPkxpbWl0YXRpb25zOjwvaDM+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBtb2R1bGUgZG9lcyBub3QgKHlldCkgaW50ZWdyYXRlIHdpdGggbXkgRS1jb21tZXJjZSBzeXN0ZW0uPC9wPgoKPGgzPkhvdyBkbyBJIHVzZSBpdDo8L2gzPgo8cD5UaGVyZSBhcmUgYSBudW1iZXIgb2Ygc3RlcHMgdG8gdXNpbmcgdGhpcyBtb2R1bGUgb25jZSBpdCBpcyBpbnN0YWxsZWQ6PC9wPgo8b2w+CiAgPGxpPkNyZWF0ZSBhdCBsZWFzdCBvbmUgb3B0aW9uIHNldCwgd2l0aCBhdCBsZWFzdCBvbmUgb3B0aW9uLiA8ZW0+KG9yIGltcG9ydCBzb21lIHNhbXBsZSBvcHRpb24gc2V0cyBmcm9tIHRoZSBpbmNsdWRlZCBDU1YgZmlsZS4pPC9lbT48L2xpPgogIDxsaT5BZGp1c3QgdGhlIHNldHRpbmdzIGluIHRoZSB2YXJpb3VzIHNldHRpbmdzIHRhYiBhcyBuZWNlc3NhcnkuICBQYXJ0aWN1bGFybHkgeW91IHNob3VsZCBzZWxlY3QgYW4gYWRtaW4gZ3JvdXAgb24gdGhlIGVtYWlsIGRpc3Bvc2l0aW9uIHRhYiwKICAgIDxwPiogRW5zdXJlIHRoYXQgZW1haWwgYWRkcmVzc2VzIGFyZSBhc3NvY2lhdGVkIHdpdGggYWxsIHVzZXJzIGluIHRoZSBzcGVjaWZpZWQgYWRtaW4gZ3JvdXAuPC9wPgogIDwvbGk+CiAgPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gLSBTZXQgdGhlIHdob2xlc2FsZSBncm91cCBpbiB0aGUgbW9kdWxlJ3Mgc2V0dGluZ3MgdGFiLjwvbGk+CiAgPGxpPkNyZWF0ZSBhIG5ldyBjb250ZW50IHBhZ2Ugb2YgdHlwZSAmcXVvdDtQcm9kdWN0IEJ1aWxkZXIKICAgIDx1bD4KICAgICAgPGxpPlNwZWNpZnkgdGhlIHRpdGxlIGZvciB0aGUgcHJvZHVjdCBpbiB0aGUgJnF1b3Q7VGl0bGUmcXVvdDsgZmllbGQuPC9saT4KICAgICAgPGxpPkVudGVyIGEgd2hvbGVzYWxlIHByaWNlLCBhbmQgb3B0aW9uYWxseSBhIHJldGFpbCBwcmljZS4gPGVtPihpZiBubyByZXRhaWwgcHJpY2UgaXMgZW50ZXJlZCwgdGhlIHN5c3RlbSB3aWxsIHVzZSB0aGUgd2hvbGVzYWxlIHByaWNlIGZvciBhbGwgdXNlcnMpLjwvZW0+PC9saT4KICAgICAgPGxpPlNlbGVjdCBhdCBsZWFzdCBvbmUgb3B0aW9uIHNldCBmcm9tIHRoZSBmaWVsZCBvbiB0aGUgb3B0aW9ucyB0YWIuPC9saT4KICAgICAgPGxpPlNlbGVjdCBhdCBsZWFzdCBvbmUgZGlzcG9zaXRpb24gZnJvbSB0aGUgZmllbGQgb24gdGhlIG9wdGlvbnMgdGFiLjwvbGk+CiAgICAgIDxsaT5FbnRlciA8Y29kZT57Q0dQcm9kdWN0QnVpbGRlcn08L2NvZGU+IGludG8gdGhlIHByaW1hcnkgY29udGVudCBhcmVhIG9mIHRoZSBjb250ZW50IHBhZ2UuCiAgICAgICAgIDxwPkl0IGlzIHBvc3NpYmxlIHRvIGNhbGwgPGNvZGU+e0NHUHJvZHVjdEJ1aWxkZXJ9PC9jb2RlPiBmcm9tIGFueSBwbGFjZSB3aXRoaW4gdGhlIHNlbGVjdGVkIHBhZ2UgdGVtcGxhdGUuICBJZiB0aGUgbW9kdWxlIGlzIG5vdCBjYWxsZWQgZnJvbSB3aXRoaW4gYSAmcXVvdDtQcm9kdWN0IEJ1aWxkZXImcXVvdDsgcGFnZSBpdCB3aWxsIGdlbmVyYXRlIG5vIG91dHB1dC48L3A+CgkgPHA+VGhlIGZvcm0gZ2VuZXJhdGVkIGJ5IHRoZSA8Y29kZT57Q0dQcm9kdWN0QnVpbGRlcn08L2NvZGU+IHRhZyBpcyBhbiBpbmxpbmUgZm9ybS4gIFRoZSBvdXRwdXQgb2YgdGhlIGZvcm0gd2lsbCByZXBsYWNlIHRoZSBjdXJyZW50IGZvcm1zIGNvbnRlbnRzLiAgVGhpcyBtZWFucyB0aGF0IGl0IGNhbiBhbHNvIGJlIGNhbGxlZCBpbnRlcm1peGVkIHdpdGggY29udGVudC4gIFlvdSBob3dldmVyIG11c3Qgc3RpbGwgdXNlIGNhdXRpb24gdG8gZW5zdXJlIHRoYXQgdGhlIEhUTUwgZ2VuZXJhdGVkIGlzIHZhbGlkLjwvcD4KICAgICAgPC9saT4KICAgICAgPGxpPlNhdmUgdGhlIHBhZ2UuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+QnJvd3NlIHRvIHRoZSBuZXdseSBjcmVhdGVkIGNvbnRlbnQgcGFnZS48L2xpPgo8L29sPgoKPGgzPlNtYXJ0eSBGdW5jdGlvbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSByZWdpc3RlcnMgc29tZSBzbWFydHkgcGx1Z2lucyB0aGF0IGFyZSB1c2VmdWwgZm9yIHJldHVybmluZyB2YXJpb3VzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb250ZW50IHBhZ2UsIG9yIGZvciBjcmVhdGluZyBhIG5hdmlnYXRpb24gd2l0aGluIG9wdGlvbiBzZXRzLjwvcD4KPHVsPgogIDxsaT48Y29kZT57Y2dwYl93aG9sZXNhbGVwcmljZSBbYXNzaWduPXN0cmluZ119PC9jb2RlPgogICAgPHA+UmV0dXJuIHRoZSB3aG9sZXNhbGUgcHJpY2UgZm9yIHRoZSBjdXJyZW50IHBhZ2UuICBUaGlzIHBsdWdpbiB3aWxsIHJldHVybiBubyBvdXRwdXQgaWYgbm90IGNhbGxlZCBmcm9tIGEgJnF1b3Q7UHJvZHVjdCBCdWlsZGVyJnF1b3Q7IHBhZ2UuPC9wPgogICAgPHA+PHN0cm9uZz48Y29kZT5yZXR1cm4gZmxvYXQ8L2NvZGU+PC9zdHJvbmc+PC9wPgogIDwvbGk+CiAgPGxpPjxjb2RlPntjZ3BiX3JldGFpbHByaWNlIFthc3NpZ249c3RyaW5nXX08L2NvZGU+CiAgICA8cD5SZXR1cm4gdGhlIHJldGFpbCBwcmljZSAoaWYgYW55KSBmb3IgdGhlIGN1cnJlbnQgcGFnZS4gIFRoaXMgcGx1Z2luIHdpbGwgcmV0dXJuIG5vIG91dHB1dCBpZiBub3QgY2FsbGVkIGZyb20gYSAmcXVvdDtQcm9kdWN0IEJ1aWxkZXImcXVvdDsgcGFnZS48L3A+CiAgICA8cD48c3Ryb25nPjxjb2RlPnJldHVybiBmbG9hdDwvY29kZT48L3N0cm9uZz48L3A+CiAgPC9saT4KICA8bGk+PGNvZGU+e2NncGJfY3VycHJpY2UgW2Fzc2lnbj1zdHJpbmddfTwvY29kZT4KICAgIDxwPlJldHVybiB0aGUgY3VycmVudCBjb25maWd1cmVkIHByaWNlIGZvciB0aGUgY3VycmVudCBwcm9kdWN0LiAgVGhpcyBtZXRob2Qgd2lsbCBhY2NvdW50IGZvciB3aG9sZXNhbGUgdnMuIHJldGFpbCBlbGlnaWJpbGl0eSwgYW5kIGNhbGN1bGF0ZSB0aGUgY3VycmVudCBwcmljZSBnaXZlbiBhbGwgb2YgdGhlIHVzZXJzIHNlbGVjdGVkIG9wdGlvbnMuICBUaGlzIHBsdWdpbiB3aWxsIHJldHVybiBubyBvdXRwdXQgaWYgbm90IGNhbGxlZCBmcm9tIGEgJnF1b3Q7UHJvZHVjdCBCdWlsZGVyJnF1b3Q7IHBhZ2UuPC9wPgogICAgPHA+PHN0cm9uZz48Y29kZT5yZXR1cm4gZmxvYXQ8L2NvZGU+PC9zdHJvbmc+PC9wPgogIDwvbGk+CiAgPGxpPjxjb2RlPntjZ3BiX29wdGlvbnNldHMgW2Fzc2lnbj1zdHJpbmddfTwvY29kZT4KICAgIDxwPlJldHVybiBhbGwgb2YgdGhlIG9wdGlvbnNldHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IHBhZ2UuICBUaGlzIHBsdWdpbiB3aWxsIHJldHVybiBubyBvdXRwdXQgaWYgbm90IGNhbGxlZCBmcm9tIGEgJnF1b3Q7UHJvZHVjdCBCdWlsZGVyJnF1b3Q7IHBhZ2UuPC9wPgogICAgPHA+PHN0cm9uZz48Y29kZT5yZXR1cm4gXENHUHJvZHVjdEJ1aWxkZXJcb3B0aW9uX3NldFtdPC9jb2RlPjwvc3Ryb25nPjwvcD4KICA8L2xpPgogIDxsaT48Y29kZT57Y2dwYl9vcHRpb25zZXRfdXJsIG9wdHNldD1zdHJpbmcgW2ZvcmNlPWJvb2xdIFthc3NpZ249c3RyaW5nXX08L2NvZGU+CiAgICA8cD5SZXR1cm4gYSBVUkwgdG8gYWxsb3cgbmF2aWdhdGluZyB0byB0aGUgc3BlY2lmaWVkIG9wdGlvbiBzZXQgd2l0aGluIHRoZSBjdXJyZW50IHBhZ2UuIE5vcm1hbGx5LCB0aGlzIHBsdWdpbiB3aWxsIHJldHVybiBub3RoaW5nIGlmIHRoZXJlIGlzIG5vIHNlbGVjdGVkIHNlc3Npb24gZGF0YSBmb3IgdGhlIHNwZWNpZmllZCBvcHRpb24gc2V0LjwvcD4KICAgIDxwPkFyZ3VtZW50czo8L3A+CiAgICA8dWw+CiAgICAgIDxsaT48c3Ryb25nPjxjb2RlPm9wdHNldD1zdHJpbmc8L2NvZGU+PC9zdHJvbmc+IDxlbT4ocmVxdWlyZWQpPC9lbT4KICAgICAgICA8cD5TcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBvcHRpb24gc2V0IHRvIGNyZWF0ZSB0aGUgbmF2aWdhdGlvbiB0by4gIFRoZSBvcHRpb24gc2V0IG11c3QgYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IHBhZ2UuPC9wPgogICAgICA8L2xpPgogICAgICA8bGk+PGNvZGU+Zm9yY2U9Ym9vbDwvY29kZT4KICAgICAgICA8cD5BbGxvdyBjcmVhdGluZyBhIFVSTCB0byBhbiBvcHRpb24gc2V0IGV2ZW4gaWYgdGhlIHVzZXIgaGFzIG5vdCBjdXJyZW50bHkgc2VsZWN0ZWQgYW4gb3B0aW9uIGZyb20gaXQuPC9wPgogICAgICA8L2xpPgogICAgICA8bGk+PGNvZGU+YXNzaWduPXN0cmluZzwvY29kZT4KICAgICAgICA8cD5Bc3NpZ24gdGhlIG91dHB1dCBvZiB0aGUgcGx1Z2luIHRvIHRoZSBzcGVjaWZpZWQgc21hcnR5IHZhcmlhYmxlLjwvcD4KICAgICAgPC9saT4KICAgIDwvdWw+CiAgICA8cD48c3Ryb25nPjxjb2RlPnJldHVybiBzdHJpbmc8L2NvZGU+PC9zdHJvbmc+PC9wPgogIDwvbGk+CjwvdWw+CjxoMz5UaGUgPGNvZGU+UHJvZHVjdFNwZWM8L2NvZGU+IGNsYXNzLjwvaDM+CiAgPHA+VGhpcyBjbGFzcyByZXByZXNlbnRzIHRoZSBpbmZvcm1hdGlvbiBzZWxlY3RlZCBieSB0aGUgdXNlciwgYW5kIGFueSBvdGhlciBpbmZvcm1hdGlvbiBmcm9tIHRoZSBjb250ZW50IHBhZ2UgdGhhdCBtYXkgYmUgcmVxdWlyZWQgdG8gZ2VuZXJhdGUgYSByZXBvcnQgYWJvdXQgdGhlIGNvbmZpZ3VyZWQgcHJvZHVjdC4gIEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0IGlzIGdpdmVuIHRvIGVhY2ggZGlzcG9zaXRpb25zIGRpc3Bvc2UgbWV0aG9kLiAgQW5kIGlzIHVzdWFsbHkgc3VwcGxpZWQgdG8gc21hcnR5IGZvciBnZW5lcmF0aW5nIG91dHB1dC4gIEl0IGlzIHVzdWFsbHkgYXZhaWxhYmxlIHZpYSB0aGUgPGNvZGU+eyRwcm9kdWN0U3BlY308L2NvZGU+IHNtYXJ0eSB2YXJpYWJsZS48L3A+CiAgPHA+PGNvZGU+UHJvcGVydGllczo8L2NvZGU+PC9wPgogIDx1bD4KICAgIDxsaT48Y29kZT5pbnQgPHN0cm9uZz5wYWdlaWQ8L3N0cm9uZz48L2NvZGU+IC0gVGhlIGlkIG9mIHRoZSBjb250ZW50IHBhZ2UgdGhhdCBnZW5lcmF0ZWQgdGhlIHByb2R1Y3RTcGVjIG9iamVjdC48L2xpPgogICAgPGxpPjxjb2RlPmNncGJfcHJvZHVjdGJ1aWxkZXIgPHN0cm9uZz5jb250ZW50PC9zdHJvbmc+PC9jb2RlPiAtIEEgcmVmZXJlbmNlIHRvIHRoZSBzcGVjaWZpZWQgY29udGVudCBvYmplY3QgPGVtPihyZWFkIG9ubHkpPC9lbT48L2xpPgogICAgPGxpPjxjb2RlPnN0cmluZyA8c3Ryb25nPm5hbWU8L3N0cm9uZz48L2NvZGU+IC0gVGhlIHByb2R1Y3QgbmFtZSA8ZW0+KGFsc28gdGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgb2JqZWN0KTwvZW0+PC9saT4KICAgIDxsaT48Y29kZT5mbG9hdCA8c3Ryb25nPmJhc2VwcmljZTwvc3Ryb25nPjwvY29kZT4gLSBUaGUgYmFzZSBwcmljZSBmb3IgdGhlIHNlbGVjdGVkIHByb2R1Y3QuCiAgICAgIDxwPlRoaXMgbWVtYmVyIGF1dG9tYXRpY2FsbHkgYWNjb3VudHMgZm9yIHdob2xlc2FsZSB2cy4gcmV0YWlsIHByaWNpbmcgaWYgdGhlIHVzZXIgaXMgYSBsb2dnZWQgaW4gbWVtYmVyIG9mIHRoZSBzcGVjaWZpZWQgRkVVIGdyb3VwLCBhbmQgZGlmZmVyZW50IHdob2xlc2FsZSBhbmQgcmV0YWlsIHByaWNlcyBhcmUgZW50ZXJlZC48L3A+CiAgICA8L2xpPgogICAgPGxpPjxjb2RlPnN0cmluZyA8c3Ryb25nPmRlc2NyaXB0aW9uPC9zdHJvbmc+PC9jb2RlPiAtIFRoZSBwcm9kdWN0IGRlc2NyaXB0aW9uLgogICAgICA8cD5UaGlzIGNvbnRlbnQgaXMgdGFrZW4gZnJvbSB0aGUgZGVmYXVsdCA8Y29kZT57Y29udGVudH08L2NvZGU+IGJsb2NrLiAgSWYgdGhlIDxjb2RlPntDR1Byb2R1Y3RCdWlsZGVyfTwvY29kZT4gdGFnIGV4aXN0cyB3aXRoaW4gaXQncyBjb250ZW50IGl0IGlzIHJlbW92ZWQgYmVmb3JlIHRoZSB0ZXh0IGlzIHBhc3NlZCB0aHJvdWdoIHNtYXJ0eS48L3A+CiAgICA8L2xpPgogICAgPGxpPjxjb2RlPlxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbl9zZXRbXSA8c3Ryb25nPm9wdGlvbnNldHM8L3N0cm9uZz48L2NvZGU+IC0gQW4gYXJyYXkgb2YgdGhlIG9wdGlvbiBzZXRzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJvZHVjdCBidWlsZGVyIHBhZ2UuPC9saT4KICAgIDxsaT48Y29kZT5TdGRDbGFzc1tdIDxzdHJvbmc+b3B0aW9uczwvc3Ryb25nPjwvY29kZT4gLSBBbiBhcnJheSBvZiBzaW1wbGUgb2JqZWN0cyB0byByZXByZXNlbnQgaW5mbyByZWxhdGVkIHRvIHRoZSBzZWxlY3RlZCBvcHRpb25zLgogICAgICA8cD48Y29kZT5Qcm9wZXJ0aWVzOjwvY29kZT48L3A+CiAgICAgIDx1bD4KICAgICAgICA8bGk+PGNvZGU+aW50IDxzdHJvbmc+b3B0c2V0X2lkPC9zdHJvbmc+IC0gVGhlIGlkIG9mIHRoZSBvcHRpb24gc2V0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIG9wdGlvbi48L2xpPgogICAgICAgIDxsaT48Y29kZT5zdHJpbmcgPHN0cm9uZz5vcHRzZXRfbmFtZTwvc3Ryb25nPiAtIFRoZSBuYW1lIG9mIHRoZSBvcHRpb24gc2V0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIG9wdGlvbi48L2xpPgogICAgICAgIDxsaT48Y29kZT5zdHJpbmcgPHN0cm9uZz5vcHRpb25fZGVzYzwvc3Ryb25nPiAtIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc2VsZWN0ZWQgb3B0aW9uLjwvbGk+CiAgICAgICAgPGxpPjxjb2RlPnN0cmluZyA8c3Ryb25nPm9wdGlvbl9uYW1lPC9zdHJvbmc+IC0gVGhlIG5hbWUgb2YgdGhlIHNlbGVjdGVkIG9wdGlvbi48L2xpPgogICAgICAgIDxsaT48Y29kZT5mbG9hdCA8c3Ryb25nPm9wdGlvbl9wcmljZTwvc3Ryb25nPiAtIFRoZSBwcmljZSBvZiB0aGUgc2VsZWN0ZWQgb3B0aW9uIDxlbT4oYWRqdXN0ZWQgZm9yIHdob2xlc2FsZSBvciByZXRhaWwgcHJpY2UsIGRlcGVuZGluZyB1cG9uIEZFVSBzdGF0dXMpPC9lbT4KICAgICAgPC91bD4KICAgIDwvbGk+CiAgPC91bD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhlIG1vZHVsZSBhdXRob3IgaXMgaW4gbm8gd2F5IG9ibGlnYXRlZCB0byBwcm92aWRlIHN1cHBvcnQgZm9yIHRoaXMgY29kZSBpbiBhbnkgZmFzaGlvbi4gIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5BIGJ1ZyB0cmFja2luZyBhbmQgZmVhdHVyZSByZXF1ZXN0IHN5c3RlbSBoYXMgYmVlbiBjcmVhdGVkIGZvciB0aGlzIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NncHJvZHVjdGJ1aWxkZXIiPmhlcmU8L2E+LiAgUGxlYXNlIGJlIHZlcmJvc2UgYW5kIGRlc2NyaXB0aXZlIHdoZW4gc3VibWl0dGluZyBidWcgcmVwb3J0cyBhbmQgZmVhdHVyZSByZXF1ZXN0cywgYW5kIGZvciBidWcgcmVwb3J0cyBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBwcm92aWRlZCBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIHJlbGlhYmx5IHJlcHJvZHVjZSB0aGUgaXNzdWUuPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi4gIFdoZW4gZGVzY3JpYmluZyBhbiBpc3N1ZSBwbGVhc2UgbWFrZSBhbiBlZmZvcnQgdG8gcHJvdmlkZSBhbGwgcmVsYXZhbnQgaW5mb3JtYXRpb24sIGEgdGhvcm91Z2ggZGVzY3JpcHRpb24gb2YgeW91ciBpc3N1ZSwgYW5kIHN0ZXBzIHRvIHJlcHJvZHVjZSBpdCBvciB5b3VyIGRpc2N1c3Npb24gbWF5IGJlIGlnbm9yZWQuPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS4gIEhvd2V2ZXIsIHBsZWFzZSB1c2UgdGhpcyBhcyBhIGxhc3QgcmVzb3J0LCBhbmQgZW5zdXJlIHRoYXQgeW91IGhhdmUgZm9sbG93ZWQgYWxsIGFwcGxpY2FibGUgaW5zdHJ1Y3Rpb25zIG9uIHRoZSBmb3JnZSwgaW4gdGhlIGZvcnVtcywgZXRjLjwvbGk+CjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+CjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dFeHRlbnNpb25zID0mZ3Q7IDEuNDkuMTA8L2xpPjxsaT5DR1NpbXBsZVNtYXJ0eSA9Jmd0OyAxLjg8L2xpPjxsaT5DR0hUTUwyUERGID0mZ3Q7IDEuMC4yPC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9wdHNldF9pZD0iIiAtIC0tIE1pc3NpbmcgTGFuZ3VhZ2VzdHJpbmcgLSBtb2R1bGU6Q0dQcm9kdWN0QnVpbGRlciBzdHJpbmc6aGVscF9vcHRzZXRfaWQtLTwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMi4xPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgoJPGxpPlZlcnNpb24gMS4wIC0gSW5pdGlhbCByZWxlYXNlPC9saT4KCTxsaT5WZXJzaW9uIDEuMQoJPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPgogIAkgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyB2ZXJzaW9uIGltcGxlbWVudHMgc2lnbmlmaWNhbnQgbmV3IGZ1bmN0aW9uYWxpdHksICB5b3Ugd2lsbCBuZWVkIHRvIHJlYnVpbGQgeW91ciByZW5kZXIgdGVtcGxhdGVzIGFuZCBkaXNwb3NpdGlvbiB0ZW1wbGF0ZXMgZnJvbSBmYWN0b3J5IGRlZmF1bHQuPC9wPgoJICA8cD5Gb3IgdGhlIHJlbmRlciB0ZW1wbGF0ZSwgcmVzZXQgdGhlIHByb3RvdHlwZSByZW5kZXIgdGVtcGxhdGUgdG8gZmFjdG9yeSBkZWZhdWx0cywgdGhlbiBjcmVhdGUgYSBuZXcgcmVuZGVyIHRlbXBsYXRlLCBhbmQgc3R5bGUgaXQgaW4gdGhlIHdheSB5b3Ugd2FudC48L3A+Cgk8cD5Gb3IgdGhlIGRpc3Bvc2l0aW9uIHRlbXBsYXRlcywgeW91IHdpbGwgbmVlZCB0byByZXNldCB0aGUgdGVtcGxhdGVzIHRvIHRoZWlyIGZhY3RvcnkgZGVmYXVsdHMsIGFuZCB0aGVuIHJlLXN0eWxlIHRoZW0gaW4gdGhlIHdheSB5b3Ugd2FudC4gIEl0IG1heSBiZSB1c2VmdWwgdG8gZmlyc3QgY29weSB0aGUgY3VycmVudCB0ZW1wbGF0ZXMgdG8gYSB0ZXh0IGVkaXRvciBmb3IgcmVmZXJlbmNlIHB1cnBvc2VzLjwvcD4KCTwvZGl2PgoJPHVsPgogIAkgIDxsaT5BZGRzIGFiaWxpdHkgdG8gaGF2ZSBvcHRpb24gc2V0cyB0aGF0IGFyZSBtdWx0aS1zZWxlY3QgKGNoZWNrYm94ZXMgaW5zdGVhZCBvZiByYWRpbyBidXR0b25zKTwvbGk+Cgk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDEuMgoJPHVsPgoJICA8bGk+TWlub3IgYnVnIGZpeGVzIGFuZCBtaXNzaW5nIGxhbmcgc3RyaW5ncy48L2xpPgoJICA8bGk+QWRkcyBhIHByZXNldHMgdGV4dCBhcmVhIHRvIHNwZWNpZnkgb24gYSBwZXItcHJvZHVjdCBiYXNpcyB3aGljaCBvcHRpb25zIHNob3VsZCBiZSBzZWxlY3RlZCBmb3IgZWFjaCBvcHRpb24uICAgSW4gdGhlIGZ1dHVyZSB0aGlzIGNvdWxkIGJlIHNvbWUgZHluYW1pYyBqYXZhc2NyaXB0eSB0aGluZywgYnV0IGZvciBub3cgaXQncyBqdXN0IGEgdGV4dCBhcmVhLjwvbGk+Cgk8L3VsPgoJPC9saT4KPC91bD4KPGJyIC8+]]></about>
	<description><![CDATA[A module that allows for the dynamic building of a product from numerous options]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.49.10</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSimpleSmarty</requiredname>
	  <requiredversion>1.8</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGHTML2PDF</requiredname>
	  <requiredversion>1.0.2</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_ajax_reorder_optsets.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSBleGl0OwoKJG9wdHNldCA9IGNnZV91dGlsczo6Z2V0X3BhcmFtKCRfUE9TVCwnb3B0c2V0Jyk7CmlmKCAhaXNfYXJyYXkoJG9wdHNldCkgfHwgY291bnQoJG9wdHNldCkgPT0gMCApIGV4aXQ7Cgokb3B0c2V0XzIgPSBhcnJheSgpOwpmb3JlYWNoKCAkb3B0c2V0IGFzICRrZXkgPT4gJHZhbCApIHsKICAgICRrZXkgPSAoaW50KSAka2V5OwogICAgJHZhbCA9IChpbnQpICR2YWw7CiAgICBpZiggJGtleSA8IDAgfHwgaXNzZXQoJG9wdHNldF8yWyRrZXldKSApIGV4aXQ7CiAgICBpZiggaW5fYXJyYXkoJHZhbCxhcnJheV92YWx1ZXMoJG9wdHNldF8yKSkgKSBleGl0OwogICAgJG9wdHNldF8yWyRrZXldID0gJHZhbDsKfQoKJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKJHF1ZXJ5ID0gJ1VQREFURSAnLkNHUEJfT1BUU0VUU19UQUJMRS4nIFNFVCBpb3JkZXIgPSA/IFdIRVJFIGlkID0gPyc7CmZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRvcHRzZXRfMik7ICRpKysgKSB7CiAgICAkX2lkID0gJG9wdHNldF8yWyRpXTsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGkrMSwkX2lkKSk7Cn0KCiRvdXQgPSAnT0snOwpjZ2VfdXRpbHM6OnNlbmRfYWpheF9hbmRfZXhpdCgkb3V0KTsKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_copy_optionset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdvcHRpb25fc2V0cycpOwoKdHJ5IHsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKSB7CiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19jYW5jZWxsZWQnKSk7CiAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKICAgIH0KCiAgICAkc2V0X2lkID0gKGludCkgY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnc2V0X2lkJyk7CiAgICAkb3JpZ19vcHRpb25fc2V0ID0gXENHUHJvZHVjdEJ1aWxkZXJcb3B0aW9uX3NldDo6bG9hZCgkc2V0X2lkKTsKICAgICRuZXduYW1lID0gJHRoaXMtPkxhbmcoJ2NvcHlfb2YnKS4nICcuJG9yaWdfb3B0aW9uX3NldC0+bmFtZTsKICAgICRuZXdkZXNjID0gJG9yaWdfb3B0aW9uX3NldC0+ZGVzY3JpcHRpb247CgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydzYXZlZWRpdCddKSApIHsKICAgICAgICB0cnkgewogICAgICAgICAgICAkbmV3bmFtZSA9IHRyaW0oY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnbmV3X25hbWUnKSk7CiAgICAgICAgICAgICRuZXdkZXNjID0gdHJpbShjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCduZXdfZGVzYycpKTsKCiAgICAgICAgICAgIC8vIGNoZWNrIGlmIG5ldyBuYW1lIGV4aXN0cwogICAgICAgICAgICAkdF9pZCA9IFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbl9zZXQ6OmdldF9pZF9ieV9uYW1lKCRuZXduYW1lKTsKICAgICAgICAgICAgaWYoICR0X2lkICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyX29wdGlvbnNldF9leGlzdHMnKSk7CgogICAgICAgICAgICAkb3B0aW9uX3NldCA9ICRvcmlnX29wdGlvbl9zZXQtPmNvcHkoKTsKICAgICAgICAgICAgJG9wdGlvbl9zZXQtPm5hbWUgPSAkbmV3bmFtZTsKICAgICAgICAgICAgJG9wdGlvbl9zZXQtPmRlc2NyaXB0aW9uID0gJG5ld2Rlc2M7CiAgICAgICAgICAgICRvcHRpb25fc2V0LT5zYXZlKCk7CgogICAgICAgICAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX29wdGlvbnNldF9jb3BpZWQnKSk7CiAgICAgICAgICAgIGlmKCBpc3NldCgkcGFyYW1zWydzYXZlZWRpdCddKSApIHsKICAgICAgICAgICAgICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2FkbWluX2VkaXRfb3B0aW9uc2V0JywkcmV0dXJuaWQsYXJyYXkoJ3NldF9pZCc9PiRvcHRpb25fc2V0LT5pZCkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7CiAgICAgICAgfQogICAgICAgIGNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgICAgICAgICBlY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkZS0+R2V0TWVzc2FnZSgpKTsKICAgICAgICB9CiAgICB9CgogICAgJHNtYXJ0eS0+YXNzaWduKCduZXduYW1lJywkbmV3bmFtZSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ25ld2Rlc2MnLCRuZXdkZXNjKTsKICAgICRzbWFydHktPmFzc2lnbignb3B0aW9uc2V0Jywkb3JpZ19vcHRpb25fc2V0KTsKICAgICRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9jb3B5X29wdGlvbnNldCcsJHJldHVybmlkLGFycmF5KCdzZXRfaWQnPT4kc2V0X2lkKSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fY29weV9vcHRpb25zZXQudHBsJyk7Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICBkaWUoJGUtPkdldE1lc3NhZ2UoKSk7Cn0KIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_optionset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdvcHRpb25fc2V0cycpOwoKdHJ5IHsKICAgICRzZXRfaWQgPSAoaW50KSBjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdzZXRfaWQnKTsKICAgIGlmKCAkc2V0X2lkIDwgMSApIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJ3NldF9pZCBzcGVjaWZpZWQgaXMgaW52YWxpZCcpOwoKICAgICRvcHRpb25fc2V0ID0gXENHUHJvZHVjdEJ1aWxkZXJcb3B0aW9uX3NldDo6bG9hZCgkc2V0X2lkKTsKICAgICRvcHRpb25fc2V0LT5kZWxldGUoKTsKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfb3B0aW9uc2V0X2RlbGV0ZWQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwp9CmNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgJHRoaXMtPlNldEVycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKfQojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_option.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47Cgp0cnkgewogICAgJG9wdGlvbnNldF9pZCA9IChpbnQpIGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ3NldF9pZCcpOwogICAgaWYoICRvcHRpb25zZXRfaWQgPCAxICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbignc2V0X2lkIHNwZWNpZmllZCBpcyBpbnZhbGlkJyk7CiAgICAkaWR4ID0gKGludCkgY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnc2VsX2lkeCcpOwogICAgJG9wdGlvbl9zZXQgPSBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25fc2V0Ojpsb2FkKCRvcHRpb25zZXRfaWQpOwogICAgJG9wdGlvbnMgPSAkb3B0aW9uX3NldC0+Z2V0X29wdGlvbnMoKTsKICAgIGlmKCAhaXNfYXJyYXkoJG9wdGlvbnMpIHx8ICFjb3VudCgkb3B0aW9ucykgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdUaGUgb3B0aW9uIHNldCBzZWxlY3RlZCBoYXMgbm8gb3B0aW9ucy4uLi4gdGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLicpOwogICAgaWYoICRpZHggPCAwIHx8ICRpZHggPj0gY291bnQoJG9wdGlvbnMpICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBvcHRpb24gaW5kZXgnKTsKICAgICRvcHRpb24gPSAkb3B0aW9uc1skaWR4XTsKCiAgICBpZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgewogICAgICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfY2FuY2VsbGVkJykpOwogICAgICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2FkbWluX2VkaXRfb3B0aW9uc2V0JywkcmV0dXJuaWQsIGFycmF5KCdzZXRfaWQnPT4kb3B0aW9uc2V0X2lkKSk7CiAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRvcHRpb24tPm5hbWUgPSAkcGFyYW1zWydvcHRpb25fbmFtZSddOwogICAgICAgICAgICAkb3B0aW9uLT53aG9sZXNhbGVwcmljZSA9ICRwYXJhbXNbJ29wdGlvbl93aG9sZXNhbGVwcmljZSddOwogICAgICAgICAgICAkb3B0aW9uLT5yZXRhaWxwcmljZSA9ICRwYXJhbXNbJ29wdGlvbl9yZXRhaWxwcmljZSddOwogICAgICAgICAgICAkb3B0aW9uLT5kZXNjcmlwdGlvbiA9ICRwYXJhbXNbJ29wdGlvbl9kZXNjcmlwdGlvbiddOwoKICAgICAgICAgICAgLy8gdmFsaWRhdGlvbgogICAgICAgICAgICBpZiggISRvcHRpb24tPm5hbWUgKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgXEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3Jfb3B0aW9ubmFtZV9yZXF1aXJlZCcpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkb3B0aW9ucyk7ICRpKysgKSB7CiAgICAgICAgICAgICAgICBpZiggJGkgPT0gJGlkeCApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaWYoICRvcHRpb24tPm5hbWUgPT0gJG9wdGlvbnNbJGldLT5uYW1lICkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBcRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9vcHRpb25uYW1lX2R1cGxpY2F0ZScpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAkb3B0aW9uc1skaWR4XSA9ICRvcHRpb247CiAgICAgICAgICAgICRvcHRpb25fc2V0LT5zZXRfb3B0aW9ucygkb3B0aW9ucyk7CiAgICAgICAgICAgICRvcHRpb25fc2V0LT5zYXZlKCk7CiAgICAgICAgICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfb3B0aW9uX3NhdmVkJykpOwogICAgICAgICAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdhZG1pbl9lZGl0X29wdGlvbnNldCcsJHJldHVybmlkLCBhcnJheSgnc2V0X2lkJz0+JG9wdGlvbnNldF9pZCkpOwogICAgICAgIH0KICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZS0+R2V0TWVzc2FnZSgpKTsKICAgICAgICB9CiAgICB9CgogICAgJHNtYXJ0eS0+YXNzaWduKCdvcHRpb25fc2V0Jywkb3B0aW9uX3NldCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ29wdGlvbicsJG9wdGlvbik7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fZWRpdF9vcHRpb24nLCRyZXR1cm5pZCxhcnJheSgnc2V0X2lkJz0+JG9wdGlvbnNldF9pZCwnc2VsX2lkeCc9PiRpZHgpKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0X29wdGlvbi50cGwnKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICR0aGlzLT5TZXRFcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2FkbWluX2VkaXRfb3B0aW9uc2V0JywkcmV0dXJuaWQsIGFycmF5KCdzZXRfaWQnPT4kb3B0aW9uc2V0X2lkKSk7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_optionset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdvcHRpb25fc2V0cycpOwoKdHJ5IHsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKSB7CiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19jYW5jZWxsZWQnKSk7CiAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKICAgIH0KCiAgICAkb3B0aW9uX3NldCA9IG5ldyBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25fc2V0KCk7CiAgICAkc2V0X2lkID0gKGludCkgY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnc2V0X2lkJyk7CiAgICBpZiggJHNldF9pZCA+IDAgKSAkb3B0aW9uX3NldCA9ICRvcHRpb25fc2V0LT5sb2FkKCRzZXRfaWQpOwoKICAgIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgLy8gZ290dGEgc2F2ZSB0aGlzIHRoaW5nCiAgICAgICAgICAgICRvcHRpb25fc2V0LT5uYW1lID0gY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnbmFtZScpOwogICAgICAgICAgICAkb3B0aW9uX3NldC0+ZGVzY3JpcHRpb24gPSBjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdkZXNjcmlwdGlvbicpOwogICAgICAgICAgICAkb3B0aW9uX3NldC0+bXVsdGlzZWxlY3QgPSBjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdtdWx0aXNlbGVjdCcpOwoKICAgICAgICAgICAgLy8gcGFyc2Ugb3B0aW9ucyBhbmQgbWVyZ2Ugd2l0aCBleGlzdGluZyBvbmVzLCBpZiBhbnkKICAgICAgICAgICAgJG5ld19vcHRpb25zID0gYXJyYXkoKTsKICAgICAgICAgICAgJHVuc29ydGVkX29wdGlvbnMgPSAkb3B0aW9uX3NldC0+Z2V0X29wdGlvbnMoKTsKICAgICAgICAgICAgLy8gcmUtYXJyYW5nZSB0aGUgb3B0aW9ucyBpbnRvIHRoZSBuZXcgc29ydGluZyBvcmRlcgogICAgICAgICAgICAkb3B0aW9ucyA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvciggJGkgPSAxOyAkaSA8PSBjb3VudCgkcGFyYW1zWydvcHRfc29ydCddKTsgJGkrKyApIHsKICAgICAgICAgICAgICAgICRuZXdfaWR4ID0gJGktMTsKICAgICAgICAgICAgICAgICRvbGRfaWR4ID0gJHBhcmFtc1snb3B0X3NvcnQnXVskaS0xXTsKICAgICAgICAgICAgICAgIGlmKCBpc3NldCgkdW5zb3J0ZWRfb3B0aW9uc1skb2xkX2lkeF0pICkgewogICAgICAgICAgICAgICAgICAgICRvcHRpb25zWyRuZXdfaWR4XSA9IGNsb25lICR1bnNvcnRlZF9vcHRpb25zWyRvbGRfaWR4XTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICB1bnNldCgkdW5zb3J0ZWRfb3B0aW9ucyk7CiAgICAgICAgICAgIGZvciggJGkgPSAxOyAkaSA8IGNvdW50KCRwYXJhbXNbJ29wdF9uYW1lJ10pOyAkaSsrICkgewogICAgICAgICAgICAgICAgLy8gd2Ugc2tpcCB0aGUgZmlyc3QgaXRlbSwgYXMgaXQncyB0aGUgJ3RlbXBsYXRlJyBhbmQgc2hvdWxkIGJlIGVtcHR5LgogICAgICAgICAgICAgICAgJG9wdGlvbiA9IG5ldyBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb247CiAgICAgICAgICAgICAgICBpZiggaXNzZXQoJG9wdGlvbnNbJGldKSApIHsKICAgICAgICAgICAgICAgICAgICAkb3B0aW9uID0gY2xvbmUgJG9wdGlvbnNbJGldOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJG9wdGlvbi0+bmFtZSA9IHRyaW0oKHN0cmluZykgJHBhcmFtc1snb3B0X25hbWUnXVskaV0pOwogICAgICAgICAgICAgICAgJG9wdGlvbi0+d2hvbGVzYWxlcHJpY2UgPSAoZmxvYXQpIHRyaW0oJHBhcmFtc1snb3B0X3dob2xlc2FsZXByaWNlJ11bJGldKTsKICAgICAgICAgICAgICAgICRvcHRpb24tPnJldGFpbHByaWNlID0gKGZsb2F0KSB0cmltKCRwYXJhbXNbJ29wdF9yZXRhaWxwcmljZSddWyRpXSk7CiAgICAgICAgICAgICAgICAkbmV3X29wdGlvbnNbXSA9ICRvcHRpb247CiAgICAgICAgICAgICAgICB1bnNldCgkb3B0aW9uKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkb3B0aW9uX3NldC0+c2V0X29wdGlvbnMoJG5ld19vcHRpb25zKTsKICAgICAgICAgICAgJG9wdGlvbl9zZXQtPnNhdmUoKTsKCiAgICAgICAgICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfb3B0aW9uc2V0X3NhdmVkJykpOwoKICAgICAgICAgICAgLy8gb3B0aW9uYWxseSBnbyB0byB0aGUgZWRpdCBvcHRpb25zIGFjdGlvbgogICAgICAgICAgICAkb3B0X2lkeCA9IChpbnQpICRwYXJhbXNbJ3NlbF9pZHgnXTsKICAgICAgICAgICAgaWYoICRvcHRfaWR4ID49IDAgKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdhZG1pbl9lZGl0X29wdGlvbicsJHJldHVybmlkLGFycmF5KCdzZXRfaWQnPT4kb3B0aW9uX3NldC0+aWQsJ3NlbF9pZHgnPT4kb3B0X2lkeCkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZS0+R2V0TWVzc2FnZSgpKTsKICAgICAgICB9CiAgICB9CgogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2VkaXRfb3B0aW9uc2V0JywkcmV0dXJuaWQsYXJyYXkoJ3NldF9pZCc9PiRzZXRfaWQpKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdvcHRpb25fc2V0Jywkb3B0aW9uX3NldCk7CiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VkaXRfb3B0aW9uc2V0LnRwbCcpOwp9CmNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgLy8gbm90aGluZyBoZXJlCn0KIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_import_csv.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdvcHRpb25fc2V0cycpOwoKdHJ5IHsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKSB7CiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19jYW5jZWxsZWQnKSk7CiAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKICAgIH0KICAgICRwcmVmcyA9IGFycmF5KCdkZWxpbWl0ZXInPT4nLCcsJ2VuY2xvc3VyZSc9PicmcXVvdDsnLCdvbmR1cGxpY2F0ZSc9PidvdmVyd3JpdGUnKTsKICAgICR0bXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZShfX0ZJTEVfXyk7CiAgICBpZiggJHRtcCApICRwcmVmcyA9IHVuc2VyaWFsaXplKCR0bXApOwoKICAgIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSB7CiAgICAgICAgLy8gZmlsbCBwcmVmcyBmcm9tIHBhcmFtcwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRwcmVmc1snb25kdXBsaWNhdGUnXSA9IHRyaW0oKHN0cmluZykgY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnb25kdXBsaWNhdGUnKSk7CiAgICAgICAgICAgICRwcmVmc1snZGVsaW1pdGVyJ10gPSB0cmltKChzdHJpbmcpIGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2RlbGltaXRlcicpKTsKICAgICAgICAgICAgJHByZWZzWydlbmNsb3N1cmUnXSA9IHRyaW0oKHN0cmluZykgY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnZW5jbG9zdXJlJykpOwogICAgICAgICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShfX0ZJTEVfXyxzZXJpYWxpemUoJHByZWZzKSk7CgogICAgICAgICAgICAvLyBkbyB3ZSBoYXZlIGEgZmlsZQogICAgICAgICAgICAka2V5ID0gJGlkLidmaWxlJzsKICAgICAgICAgICAgaWYoICFpc3NldCgkX0ZJTEVTKSB8fCAhaXNzZXQoJF9GSUxFU1ska2V5XSkgfHwgJF9GSUxFU1ska2V5XVsnc2l6ZSddID09IDAgKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgXEV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyX2ltcG9ydF9ub2ZpbGUnKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoICRfRklMRVNbJGtleV1bJ3R5cGUnXSAhPSAndGV4dC9jc3YnICkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycl9pbXBvcnRfZmlsZXR5cGUnKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIGRvIHRoZSBpbXBvcnQKICAgICAgICAgICAgc2V0X3RpbWVfbGltaXQoNjAwKTsgLy8gdGVuIG1pbnV0ZXMKICAgICAgICAgICAgJGltcG9ydGVyID0gbmV3IFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbnNldF9hc2NpaV9pbXBvcnRlcigkcHJlZnMsJF9GSUxFU1ska2V5XVsndG1wX25hbWUnXSk7CiAgICAgICAgICAgICRyZWNvcmRzID0gMDsKICAgICAgICAgICAgJGVycm9ycyA9IGFycmF5KCk7CiAgICAgICAgICAgIHdoaWxlKCAhJGltcG9ydGVyLT5kb25lKCkgKSB7CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICRpbXBvcnRlci0+cHJvY2VzcygpOwogICAgICAgICAgICAgICAgICAgICRyZWNvcmRzKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgICAgICAgICAkZXJyb3JzW10gPSAkZS0+R2V0TWVzc2FnZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiggY291bnQoJGVycm9ycykgKSB7CiAgICAgICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2Vycm9ycycsJGVycm9ycyk7CiAgICAgICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ25yZWNvcmRzJywkcmVjb3Jkcyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX25faW1wb3J0ZWQnLCRyZWNvcmRzKSk7CiAgICAgICAgICAgICAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlLT5HZXRNZXNzYWdlKCkpOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3Byb2Nlc3MnXSkgKSB7CiAgICAgICAgZXhpdCgpOwogICAgfQoKICAgICRzbWFydHktPmFzc2lnbignb25kdXBsaWNhdGVfb3B0cycsYXJyYXkoJ292ZXJ3cml0ZSc9PiR0aGlzLT5MYW5nKCdvcHRfb3ZlcndyaXRlJyksJ2lnbm9yZSc9PiR0aGlzLT5MYW5nKCdvcHRfaWdub3JlJykpKTsKICAgIC8vIGhhdmUgdG8gZG8gZW50aXR5IGRlY29kZSBvbiBwcmVmcyBiZWZvcmUgYmVnaW5uaW5nIHByb2Nlc3NpbmcuCiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZWZzJywkcHJlZnMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2ltcG9ydF9jc3YnLCRyZXR1cm5pZCkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5faW1wb3J0X2Nzdi50cGwnKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICR0aGlzLT5TZXRFcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_save_email_disposition_info.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYignZW1haWxfZGlzcG9zaXRpb24nKTsKCiRwcmVmcyA9ICR0aGlzLT5nZXRfZW1haWxfZGlzcG9zaXRpb25fcHJlZnMoKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3Jlc2V0J10pICkgewogICAgJHByZWZzWydlbWFpbF90ZW1wbGF0ZSddID0gQGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19lbWFpbF9kaXNwb3NpdGlvbi50cGwnKTsKfQplbHNlIHsKICAgICRwcmVmc1snZ3JvdXBsaXN0J10gPSAoaW50KSBjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdlbWFpbF9ncm91cCcpOwogICAgJHByZWZzWydhZnRlciddID0gdHJpbShjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdhZnRlcicpKTsKICAgICRwcmVmc1sncmVkaXJlY3RfcGFnZSddID0gdHJpbShjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdyZWRpcmVjdF9wYWdlJykpOwogICAgJHByZWZzWydhZnRlcl9tc2cnXSA9IHRyaW0oY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnYWZ0ZXJfbXNnJykpOwogICAgJHByZWZzWydlbWFpbF9zdWJqZWN0J10gPSB0cmltKGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2VtYWlsX3N1YmplY3QnKSk7CiAgICAkcHJlZnNbJ2VtYWlsX3RlbXBsYXRlJ10gPSB0cmltKGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2VtYWlsX3RlbXBsYXRlJykpOwp9CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbWFpbF9kaXNwb3NpdGlvbl9wcmVmcycsc2VyaWFsaXplKCRwcmVmcykpOwoKJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19wcmVmc19zYXZlZCcpKTsKJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_save_pdf_disposition_info.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYigncGRmX2Rpc3Bvc2l0aW9uJyk7CgppZiggaXNzZXQoJHBhcmFtc1sncmVzZXQnXSkgKSB7CiAgICAkdG1wID0gQGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19wZGZfZGlzcG9zaXRpb24udHBsJyk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3BkZl90ZW1wbGF0ZScsJHRtcCk7Cn0KZWxzZSB7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3BkZl90ZW1wbGF0ZScsdHJpbShjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdwZGZfdGVtcGxhdGUnKSkpOwp9CgokdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3ByZWZzX3NhdmVkJykpOwokdGhpcy0+UmVkaXJlY3RUb1RhYigpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_save_settings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYignc2V0dGluZ3MnKTsKCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd3aG9sZXNhbGVfZ3JvdXAnLChpbnQpIGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ3dob2xlc2FsZV9ncm91cCcpKTsKJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19wcmVmc19zYXZlZCcpKTsKJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_save_ticket_disposition_info.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYigndGlja2V0X2Rpc3Bvc2l0aW9uJyk7CgokcHJlZnMgPSAkdGhpcy0+Z2V0X3RpY2tldF9kaXNwb3NpdGlvbl9wcmVmcygpOwppZiggaXNzZXQoJHBhcmFtc1sncmVzZXQnXSkgKSB7CiAgICAkcHJlZnNbJ3RpY2tldF90ZW1wbGF0ZSddID0gQGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ190aWNrZXRfZGlzcG9zaXRpb24udHBsJyk7Cn0KZWxzZSB7CiAgICAkcHJlZnNbJ25vdGlmeV9ncm91cCddID0gKGludCkgY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnbm90aWZ5X2dyb3VwJyk7CiAgICAkcHJlZnNbJ2FmdGVyJ10gPSB0cmltKGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2FmdGVyJykpOwogICAgJHByZWZzWydyZWRpcmVjdF9wYWdlJ10gPSB0cmltKGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ3JlZGlyZWN0X3BhZ2UnKSk7CiAgICAkcHJlZnNbJ2FmdGVyX21zZyddID0gdHJpbShjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdhZnRlcl9tc2cnKSk7CiAgICAkcHJlZnNbJ3RpY2tldF9zdWJqZWN0J10gPSB0cmltKGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ3RpY2tldF9zdWJqZWN0JykpOwogICAgJHByZWZzWyd0aWNrZXRfdGVtcGxhdGUnXSA9IHRyaW0oY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywndGlja2V0X3RlbXBsYXRlJykpOwp9CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0aWNrZXRfZGlzcG9zaXRpb25fcHJlZnMnLHNlcmlhbGl6ZSgkcHJlZnMpKTsKCiR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfcHJlZnNfc2F2ZWQnKSk7CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCi8vIHZhbGlkYXRlIHRoZSBjdXJyZW50IGNvbnRlbnQgb2JqZWN0IGlzIGEgY2dwYl9wcm9kdWN0YnVpbGRlcgokY29udGVudCA9IGNtc191dGlsczo6Z2V0X2N1cnJlbnRfY29udGVudCgpOwppZiggISAkY29udGVudCBpbnN0YW5jZW9mIGNncGJfcHJvZHVjdGJ1aWxkZXIgKSByZXR1cm47IC8vIHdyb25nIHR5cGUgb2YgcGFnZS4KCiRpbmZvID0gbmV3IFN0ZENsYXNzOwokaW5mby0+ZmluaXNoZWQgPSAwOwokaW5mby0+ZGlzcG9zZWQgPSAwOwoKdHJ5IHsKICAgICRvcHRpb25zZXRzID0gJGNvbnRlbnQtPmdldF9vcHRpb25zZXRzKCk7CiAgICBpZiggIWlzX2FycmF5KCRvcHRpb25zZXRzKSB8fCAhY291bnQoJG9wdGlvbnNldHMpICkgcmV0dXJuOyAvLyBub3RoaW5nIHRvIGRvLgoKICAgICRjdXJfb3B0aW9uc2V0ID0gbnVsbDsKICAgICRzZWxfb3B0c2V0X2lkID0gY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnb3B0c2V0X2lkJyk7CiAgICBpZiggJHNlbF9vcHRzZXRfaWQgPiAwICkgewogICAgICAgICRjdXJfb3B0aW9uc2V0ID0gJGNvbnRlbnQtPmdldF9vcHRpb25zZXQoJHNlbF9vcHRzZXRfaWQpOwogICAgICAgICRjb250ZW50LT5zZXRfY3VycmVudF9vcHRpb25zZXQoJHNlbF9vcHRzZXRfaWQpOwogICAgfQoKICAgICRjdXJfb3B0aW9uc2V0ID0gJGNvbnRlbnQtPmdldF9jdXJyZW50X29wdGlvbnNldCgpOwogICAgdW5zZXQoJHNlbF9vcHRzZXRfaWQpOwoKICAgIC8vIGNoZWNrIGZvciBkaXNwb3NpdGlvbnMKICAgICRkaXNwb3NpdGlvbl9uYW1lID0gbnVsbDsKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICAgaWYoIHN0YXJ0c3dpdGgoJGtleSwnY2dwYl9kaXNwXycpICkgewogICAgICAgICAgICAkZGlzcG9zaXRpb25fbmFtZSA9IHN1YnN0cigka2V5LHN0cmxlbignY2dwYl9kaXN0XycpKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQoKICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgIGlmKCAkY29uZmlnWydkZXZlbG9wZXJfbW9kZSddICYmIGlzc2V0KCRfUkVRVUVTVFsnY2dwYl9yZXNldCddKSApIHsKICAgICAgICAvLyByZXNldCBldmVyeXRoaW5nIGF1dG9tYWdpY2FsbHkuCiAgICAgICAgJHBhcmFtc1snY2dwYl9yZXNldCddID0gMTsKICAgICAgICByZWRpcmVjdCgkY29udGVudC0+R2V0VVJMKCkpOwogICAgfQoKICAgIGlmKCAkZGlzcG9zaXRpb25fbmFtZSApIHsKICAgICAgICAvLwogICAgICAgIC8vIGhhbmRsZSB0aGUgZGlzcG9zaXRpb24gKHRoZXJlIHdpbGwgYmUgb25seSBvbmUpCiAgICAgICAgLy8KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgLy8gYnVpbGQgdGhlIHByb2R1Y3Qgc3BlYwogICAgICAgICAgICAkcHMgPSBuZXcgXENHUHJvZHVjdEJ1aWxkZXJcUHJvZHVjdFNwZWMoJGNvbnRlbnQpOwoKICAgICAgICAgICAgLy8gZGlzcG9zZS4KICAgICAgICAgICAgJGRpc3Bvc2l0aW9uX29iaiA9IFxDR1Byb2R1Y3RCdWlsZGVyXERpc3Bvc2l0aW9uSGFuZGxlcjo6Z2V0X2Rpc3Bvc2l0aW9uKCRkaXNwb3NpdGlvbl9uYW1lKTsKICAgICAgICAgICAgZWNobyAkZGlzcG9zaXRpb25fb2JqLT5kaXNwb3NlKCRwcyk7CiAgICAgICAgICAgICRjb250ZW50LT5yZXNldCgpOwogICAgICAgICAgICAkaW5mby0+ZGlzcG9zZWQgPSAxOwogICAgICAgICAgICAkaW5mby0+ZmluaXNoZWQgPSAxOyAvLyBqdXN0IGluIGNhc2UuCiAgICAgICAgfQogICAgICAgIGNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgICAgICAgICBlY2hvICRlLT5HZXRNZXNzYWdlKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiggaXNzZXQoJHBhcmFtc1snY2dwYl9yZXNldCddKSApIHsKICAgICAgICAvLyByZXNldCBiYWNrIHRvIHRoZSBzdGFydAogICAgICAgICRjb250ZW50LT5yZXNldCgpOwogICAgICAgICRjdXJfb3B0aW9uc2V0ID0gJGNvbnRlbnQtPmdldF9jdXJyZW50X29wdGlvbnNldCgpOwogICAgfQogICAgZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snY2dwYl9uZXh0J10pICkgewogICAgICAgIC8vIHJlY29yZCB0aGUgY2hvaWNlIGZvciB0aGlzIG9wdGlvbnNldAogICAgICAgICRjb250ZW50LT5zZXRfc2VsZWN0ZWRfb3B0aW9ucygkY3VyX29wdGlvbnNldC0+aWQsY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnY2dwYl9vcHRpb24nKSk7CgogICAgICAgIC8vIGdvIHRvIHRoZSBuZXh0IG9wdGlvbiBzZXQgKGlmIHBvc3NpYmxlKQogICAgICAgICRvcHRzZXRfaWRzID0gJGNvbnRlbnQtPmdldF9vcHRpb25zZXRfaWRzKCk7CiAgICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJG9wdHNldF9pZHMpOyAkaSsrICkgewogICAgICAgICAgICBpZiggJGN1cl9vcHRpb25zZXQtPmlkID09ICRvcHRzZXRfaWRzWyRpXSApIHsKICAgICAgICAgICAgICAgIC8vIGZvdW5kIGl0LCBub3cgZ2V0IHRoZSBuZXh0IG9uZQogICAgICAgICAgICAgICAgaWYoICRpIDwgY291bnQoJG9wdHNldF9pZHMpIC0gMSApIHsKICAgICAgICAgICAgICAgICAgICAkY3VyX29wdGlvbnNldCA9ICRjb250ZW50LT5nZXRfb3B0aW9uc2V0KCRvcHRzZXRfaWRzWyRpKzFdKTsKICAgICAgICAgICAgICAgICAgICAkY29udGVudC0+c2V0X2N1cnJlbnRfb3B0aW9uc2V0KCRjdXJfb3B0aW9uc2V0LT5pZCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyB0aGVyZSBhcmUgbm8gbW9yZSBvcHRpb25zLgogICAgICAgICAgICAgICAgICAgICRpbmZvLT5maW5pc2hlZCA9IDE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBlbHNlIGlmKCBpc3NldCgkcGFyYW1zWydjZ3BiX2JhY2snXSkgfHwgaXNzZXQoJHBhcmFtc1snY2dwYl9wcmV2J10pICkgewogICAgICAgIC8vIGdvIHRvIHRoZSBwcmV2aW91cyBvcHRpb24gc2V0IChpZiBwb3NzaWJsZSkKICAgICAgICAkb3B0c2V0X2lkcyA9ICRjb250ZW50LT5nZXRfb3B0aW9uc2V0X2lkcygpOwogICAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRvcHRzZXRfaWRzKTsgJGkrKyApIHsKICAgICAgICAgICAgaWYoICRjdXJfb3B0aW9uc2V0LT5pZCA9PSAkb3B0c2V0X2lkc1skaV0gKSB7CiAgICAgICAgICAgICAgICAvLyBmb3VuZCBpdCwgbm93IGdldCB0aGUgbmV4dCBvbmUKICAgICAgICAgICAgICAgIGlmKCAkaSA+IDAgKSB7CiAgICAgICAgICAgICAgICAgICAgJGN1cl9vcHRpb25zZXQgPSAkY29udGVudC0+Z2V0X29wdGlvbnNldCgkb3B0c2V0X2lkc1skaS0xXSk7CiAgICAgICAgICAgICAgICAgICAgJGNvbnRlbnQtPnNldF9jdXJyZW50X29wdGlvbnNldCgkY3VyX29wdGlvbnNldC0+aWQpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGlmKCAkaW5mby0+ZmluaXNoZWQgKSB7CiAgICAgICAgLy8gZ2V0IG91ciBsaXN0IG9mIGRpc3Bvc2l0aW9ucy4KICAgICAgICAkbGlzdCA9IFxDR1Byb2R1Y3RCdWlsZGVyXERpc3Bvc2l0aW9uSGFuZGxlcjo6Z2V0X3JlYWR5X2Rpc3Bvc2l0aW9uX2xpc3QoKTsKICAgICAgICAkaW5mby0+ZGlzcG9zaXRpb25zID0gJGxpc3Q7CiAgICB9CgogICAgLy8gZ2l2ZSBldmVyeXRoaW5nIHRvIHNtYXJ0eQogICAgJHdob2xlc2FsZSA9ICR0aGlzLT51c2Vfd2hvbGVzYWxlKCk7CiAgICAkaW5mby0+YmFzZV9wcmljZSA9ICgkd2hvbGVzYWxlKSA/ICRjb250ZW50LT5nZXRfd2hvbGVzYWxlcHJpY2UoKSA6ICRjb250ZW50LT5nZXRfcmV0YWlscHJpY2UoKTsKICAgICRpbmZvLT5jdXJyZW50X3ByaWNlID0gJGNvbnRlbnQtPmdldF9jdXJyZW50X3ByaWNlKCk7CiAgICAkdG1wID0gJGNvbnRlbnQtPmdldF9zZWxlY3RlZF9vcHRpb25zKCRjdXJfb3B0aW9uc2V0LT5pZCk7CiAgICAkaW5mby0+c2VsX29wdGlvbnMgPSBhcnJheSgpOwogICAgaWYoICR0bXAgKSB7CiAgICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewogICAgICAgICAgICAkaW5mby0+c2VsX29wdGlvbnNbXSA9ICRvbmUtPm5hbWU7CiAgICAgICAgfQogICAgfQoKICAgICRpbmZvLT5vcHRpb25zZXRfZmlyc3QgPSAkaW5mby0+b3B0aW9uc2V0X2xhc3QgPSBGQUxTRTsKICAgICRvcHRzZXRfa2V5cyA9IGFycmF5X2tleXMoJG9wdGlvbnNldHMpOwogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJG9wdHNldF9rZXlzKTsgJGkrKyApIHsKICAgICAgICAka2V5ID0gJG9wdHNldF9rZXlzWyRpXTsKICAgICAgICBpZiggJGkgPT0gMCAmJiAkb3B0aW9uc2V0c1ska2V5XS0+aWQgPT0gJGN1cl9vcHRpb25zZXQtPmlkICkgewogICAgICAgICAgICAkaW5mby0+b3B0aW9uc2V0X2ZpcnN0ID0gVFJVRTsKICAgICAgICB9CiAgICAgICAgaWYoICRpID09IGNvdW50KCRvcHRpb25zZXRzKSAtIDEgJiYgJG9wdGlvbnNldHNbJGtleV0tPmlkID09ICRjdXJfb3B0aW9uc2V0LT5pZCApIHsKICAgICAgICAgICAgJGluZm8tPm9wdGlvbnNldF9sYXN0ID0gVFJVRTsKICAgICAgICB9CiAgICB9CiAgICAkaW5mby0+YWxsX29wdGlvbnNldHMgPSAkb3B0aW9uc2V0czsKICAgICRpbmZvLT5jdXJfb3B0aW9uc2V0ID0gJGN1cl9vcHRpb25zZXQ7CiAgICAkaW5mby0+Y3VyX3N0YXRlID0gJGNvbnRlbnQtPmdldF9hbGxfc2VsZWN0ZWRfb3B0aW9ucygpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd1c2Vfd2hvbGVzYWxlJywkd2hvbGVzYWxlKTsKICAgICRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsYXJyYXkoKSxUUlVFKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjZ3BiX2luZm8nLCRpbmZvKTsKCiAgICAkdGVtcGxhdGUgPSAkY29udGVudC0+Z2V0X3JlbmRlcl90ZW1wbGF0ZSgpOwogICAgZWNobyAkdGhpcy0+Q0dQcm9jZXNzVGVtcGxhdGUoJHRlbXBsYXRlLCdyZW5kZXJfJyk7Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICBkZWJ1Z19kaXNwbGF5KCRlLT5HZXRNZXNzYWdlKCkpOwogICAgZGVidWdfZGlzcGxheSgkZS0+Z2V0VHJhY2VBc1N0cmluZygpKTsKICAgIC8vIGRvIG5vdGhpbmcKfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CgokY2djdCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHQ2xpZW50VGlja2V0cycpOwovLyBhZG1pbiB0YWJzLgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSB7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ29wdGlvbl9zZXRzJywkdGhpcy0+TGFuZygnb3B0aW9uX3NldHMnKSk7Cn0KaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVuZGVyX3RlbXBsYXRlcycsJHRoaXMtPkxhbmcoJ3RhYl9yZW5kZXJfdGVtcGxhdGVzJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdwcm90b3R5cGVfdGVtcGxhdGVzJywkdGhpcy0+TGFuZygndGFiX3Byb3RvdHlwZV90ZW1wbGF0ZXMnKSk7Cn0KaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSB7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2VtYWlsX2Rpc3Bvc2l0aW9uJywkdGhpcy0+TGFuZygndGFiX2VtYWlsX2Rpc3Bvc2l0aW9uJykpOwogICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdwZGZfZGlzcG9zaXRpb24nLCR0aGlzLT5MYW5nKCd0YWJfcGRmX2Rpc3Bvc2l0aW9uJykpOwogICAgaWYoIGlzX29iamVjdCgkY2djdCkgKSBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3RpY2tldF9kaXNwb3NpdGlvbicsJHRoaXMtPkxhbmcoJ3RhYl90aWNrZXRfZGlzcG9zaXRpb24nKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NldHRpbmdzJywkdGhpcy0+TGFuZygnc2V0dGluZ3MnKSk7Cn0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgewogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ29wdGlvbl9zZXRzJywkcGFyYW1zKTsKICAgIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX29wdGlvbl9zZXRzX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKSB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYigncmVuZGVyX3RlbXBsYXRlcycsJHBhcmFtcyk7CiAgICBpbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9yZW5kZXJfdGVtcGxhdGVzX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcm90b3R5cGVfdGVtcGxhdGVzJywkcGFyYW1zKTsKICAgIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX3Byb3RvdHlwZV90ZW1wbGF0ZXNfdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignZW1haWxfZGlzcG9zaXRpb24nLCRwYXJhbXMpOwogICAgaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fZW1haWxfZGlzcG9zaXRpb25fdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3BkZl9kaXNwb3NpdGlvbicsJHBhcmFtcyk7CiAgICBpbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9wZGZfZGlzcG9zaXRpb25fdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogICAgaWYoIGlzX29iamVjdCgkY2djdCkgKSB7CiAgICAgICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3RpY2tldF9kaXNwb3NpdGlvbicsJHBhcmFtcyk7CiAgICAgICAgaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fdGlja2V0X2Rpc3Bvc2l0aW9uX3RhYi5waHAnKTsKICAgICAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICAgIH0KCiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignc2V0dGluZ3MnLCRwYXJhbXMpOwogICAgaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fc2V0dGluZ3NfdGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/CGProductBuilder.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpkZWZpbmUoJ0NHUEJfT1BUU19UQUJMRScsY21zX2RiX3ByZWZpeCgpLidtb2RfY2dwYl9vcHRpb25zJyk7CmRlZmluZSgnQ0dQQl9PUFRTRVRTX1RBQkxFJyxjbXNfZGJfcHJlZml4KCkuJ21vZF9jZ3BiX29wdHNldHMnKTsKCmZpbmFsIGNsYXNzIENHUHJvZHVjdEJ1aWxkZXIgZXh0ZW5kcyBDR0V4dGVuc2lvbnMKewogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CgogICAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICAgICBpZiggISRzbWFydHkgKSByZXR1cm47CgogICAgICAgICRjb250ZW50b3BzID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKICAgICAgICAkb2JqID0gbmV3IENtc0NvbnRlbnRUeXBlUGxhY2Vob2xkZXIoKTsKICAgICAgICAkb2JqLT5jbGFzcyA9ICdjZ3BiX3Byb2R1Y3RidWlsZGVyJzsKICAgICAgICAkb2JqLT50eXBlICA9ICdjZ3BiX3Byb2R1Y3RidWlsZGVyJzsKICAgICAgICAkb2JqLT5maWxlbmFtZSA9IF9fRElSX18uJy9saWIvY2xhc3MuY2dwYl9wcm9kdWN0YnVpbGRlci5waHAnOwogICAgICAgICRvYmotPmxvYWRlZCA9IGZhbHNlOwogICAgICAgICRvYmotPmZyaWVuZGx5bmFtZSA9ICR0aGlzLT5MYW5nKCdwcm9kdWN0X2J1aWxkZXInKTsKICAgICAgICAkY29udGVudG9wcy0+cmVnaXN0ZXJfY29udGVudF90eXBlKCRvYmopOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXROYW1lKCkgeyByZXR1cm4gJ0NHUHJvZHVjdEJ1aWxkZXInOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOyAgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpIHsgcmV0dXJuICdjb250ZW50JzsgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvcigpIHsgcmV0dXJuICdjYWxndXkxMDAwJzsgfQogICAgcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgeyByZXR1cm4gJ2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcnOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkgeyByZXR1cm4gQGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy9kb2MvY2hhbmdlbG9nLmluYycpOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsgcmV0dXJuICcxLjIuMSc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7CiAgICAgICAgcmV0dXJuIGFycmF5KCdDR0V4dGVuc2lvbnMnPT4nMS40OS4xMCcsJ0NHU2ltcGxlU21hcnR5Jz0+JzEuOCcsJ0NHSFRNTDJQREYnPT4nMS4wLjInKTsKICAgIH0KICAgIHB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbigpIHsgcmV0dXJuIHRydWU7ICB9CiAgICBwdWJsaWMgZnVuY3Rpb24gSGFzQ29udGVudFR5cGUoKSB7IHJldHVybiBUUlVFOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24gKCkgeyByZXR1cm4gJzEuMTInOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKSB7IHJldHVybiBUUlVFOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBBbGxvd0F1dG9JbnN0YWxsKCkgeyByZXR1cm4gRkFMU0U7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBBbGxvd0F1dG9VcGdyYWRlKCkgeyByZXR1cm4gRkFMU0U7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgeyByZXR1cm4gVFJVRTsgfQogICAgcHVibGljIGZ1bmN0aW9uIExhenlMb2FkQWRtaW4oKSB7IHJldHVybiBGQUxTRTsgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgfHwKICAgICAgICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKQogICAgewogICAgICAgICR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwogICAgICAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnb3B0c2V0X2lkJyxDTEVBTl9JTlQpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjZ3BiX25leHQnLENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NncGJfcmVzZXQnLENMRUFOX1NUUklORyk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NncGJfcHJldicsQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2dwYl9iYWNrJyxDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjZ3BiX29wdGlvbicsQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9jZ3BiX2Rpc3BfLiovJyxDTEVBTl9TVFJJTkcpOwoKICAgICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAgICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ2NncGJfd2hvbGVzYWxlcHJpY2UnLGFycmF5KCR0aGlzLCdfc21hcnR5X2NncGJfd2hvbGVzYWxlcHJpY2UnKSk7CiAgICAgICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ2NncGJfcmV0YWlscHJpY2UnLGFycmF5KCR0aGlzLCdfc21hcnR5X2NncGJfcmV0YWlscHJpY2UnKSk7CiAgICAgICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ2NncGJfY3VycHJpY2UnLGFycmF5KCR0aGlzLCdfc21hcnR5X2NncGJfY3VycHJpY2UnKSk7CiAgICAgICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ2NncGJfb3B0aW9uc2V0cycsYXJyYXkoJHRoaXMsJ19zbWFydHlfY2dwYl9vcHRpb25zZXRzJykpOwogICAgICAgICRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdjZ3BiX29wdGlvbnNldF91cmwnLGFycmF5KCR0aGlzLCdfc21hcnR5X2NncGJfb3B0aW9uc2V0X3VybCcpKTsKICAgIH0KCiAgICBmdW5jdGlvbiBIYXNDYXBhYmlsaXR5KCRjYXBhYmlsaXR5LCRwYXJhbXMgPSBhcnJheSgpKQogICAgewogICAgICAgIHN3aXRjaCggJGNhcGFiaWxpdHkgKSB7CiAgICAgICAgY2FzZSAnY29udGVudF90eXBlcyc6CiAgICAgICAgICAgIHJldHVybiBUUlVFOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICByZXR1cm4gRkFMU0U7CiAgICAgICAgfQoKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gSW5pdGlhbGl6ZUFkbWluKCkKICAgIHsKICAgICAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdvcHRzZXRfaWQnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX29wdHNldF9pZCcpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX3NtYXJ0eV9jZ3BiX3dob2xlc2FsZXByaWNlKCRwYXJhbXMsJHNtYXJ0eSkKICAgIHsKICAgICAgICAkb3V0ID0gbnVsbDsKICAgICAgICAkY29udGVudCA9IGNtc191dGlsczo6Z2V0X2N1cnJlbnRfY29udGVudCgpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmKCAkY29udGVudCBpbnN0YW5jZW9mIGNncGJfcHJvZHVjdGJ1aWxkZXIgKSB7CiAgICAgICAgICAgICAgICAkb3V0ID0gJGNvbnRlbnQtPmdldF93aG9sZXNhbGVwcmljZSgpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgICAgICAgICAvLyBkbyBub3RoaW5nCiAgICAgICAgfQoKICAgICAgICBpZiggaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pICkgewogICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJHBhcmFtc1snYXNzaWduJ10sJG91dCk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9zbWFydHlfY2dwYl9yZXRhaWxwcmljZSgkcGFyYW1zLCRzbWFydHkpCiAgICB7CiAgICAgICAgJG91dCA9IG51bGw7CiAgICAgICAgJGNvbnRlbnQgPSBjbXNfdXRpbHM6OmdldF9jdXJyZW50X2NvbnRlbnQoKTsKICAgICAgICB0cnkgewogICAgICAgICAgICBpZiggJGNvbnRlbnQgaW5zdGFuY2VvZiBjZ3BiX3Byb2R1Y3RidWlsZGVyICkgewogICAgICAgICAgICAgICAgJG91dCA9ICRjb250ZW50LT5nZXRfcmV0YWlscHJpY2UoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgLy8gZG8gbm90aGluZwogICAgICAgIH0KCiAgICAgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Fzc2lnbiddKSApIHsKICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbJ2Fzc2lnbiddLCRvdXQpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfc21hcnR5X2NncGJfY3VycHJpY2UoJHBhcmFtcywkc21hcnR5KQogICAgewogICAgICAgICRvdXQgPSBudWxsOwogICAgICAgICRjb250ZW50ID0gY21zX3V0aWxzOjpnZXRfY3VycmVudF9jb250ZW50KCk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmKCAkY29udGVudCBpbnN0YW5jZW9mIGNncGJfcHJvZHVjdGJ1aWxkZXIgKSB7CiAgICAgICAgICAgICAgICAkb3V0ID0gJGNvbnRlbnQtPmdldF9jdXJyZW50X3ByaWNlKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAgICAgICAgIC8vIGRvIG5vdGhpbmcKICAgICAgICB9CgogICAgICAgIGlmKCBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgKSB7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbigkcGFyYW1zWydhc3NpZ24nXSwkb3V0KTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX3NtYXJ0eV9jZ3BiX29wdGlvbnNldHMoJHBhcmFtcywkc21hcnR5KQogICAgewogICAgICAgICRvdXQgPSBudWxsOwogICAgICAgICRjb250ZW50ID0gY21zX3V0aWxzOjpnZXRfY3VycmVudF9jb250ZW50KCk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmKCAkY29udGVudCBpbnN0YW5jZW9mIGNncGJfcHJvZHVjdGJ1aWxkZXIgKSB7CiAgICAgICAgICAgICAgICAkb3V0ID0gJGNvbnRlbnQtPmdldF9vcHRpb25zZXRfaWRzKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAgICAgICAgIC8vIGRvIG5vdGhpbmcKICAgICAgICB9CgogICAgICAgIGlmKCBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgKSB7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbigkcGFyYW1zWydhc3NpZ24nXSwkb3V0KTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX3NtYXJ0eV9jZ3BiX29wdGlvbnNldF91cmwoJHBhcmFtcywkc21hcnR5KQogICAgewogICAgICAgICRvdXQgPSBudWxsOwogICAgICAgICRmb3JjZSA9IGNnZV91dGlsczo6dG9fYm9vbChjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdmb3JjZScsRkFMU0UpKTsKCiAgICAgICAgJGNvbnRlbnQgPSBjbXNfdXRpbHM6OmdldF9jdXJyZW50X2NvbnRlbnQoKTsKICAgICAgICB0cnkgewogICAgICAgICAgICBpZiggJGNvbnRlbnQgaW5zdGFuY2VvZiBjZ3BiX3Byb2R1Y3RidWlsZGVyICkgewogICAgICAgICAgICAgICAgJG9wdHNldCA9IG51bGw7CiAgICAgICAgICAgICAgICAkb3B0c2V0ID0gY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnb3B0c2V0Jywkb3B0c2V0KTsKICAgICAgICAgICAgICAgICRvcHRzZXQgPSBjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdvcHRpb25zZXQnLCRvcHRzZXQpOwogICAgICAgICAgICAgICAgaWYoICRvcHRzZXQgaW5zdGFuY2VvZiBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25fc2V0ICkgewogICAgICAgICAgICAgICAgICAgIGlmKCAkZm9yY2UgfHwgJGNvbnRlbnQtPmlzX3NlbGVjdGVkKCRvcHRzZXQtPmlkKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gd29vdCwgd2UgY2FuIGNyZWF0ZSBhIFVSTC4KICAgICAgICAgICAgICAgICAgICAgICAgJF9pZCA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdhY3Rpb25pZCcpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJHBhcm1zID0gYXJyYXkoJ29wdHNldF9pZCc9PiRvcHRzZXQtPmlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgJG91dCA9ICR0aGlzLT5jcmVhdGVfdXJsKCRfaWQsJ2RlZmF1bHQnLCRjb250ZW50LT5JRCgpLCAkcGFybXMsIFRSVUUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgLy8gZG8gbm90aGluZwogICAgICAgIH0KCiAgICAgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Fzc2lnbiddKSApIHsKICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbJ2Fzc2lnbiddLCRvdXQpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2VtYWlsX2Rpc3Bvc2l0aW9uX3ByZWZzKCkKICAgIHsKICAgICAgICAkcHJlZnMgPSBhcnJheSgnZ3JvdXBsaXN0Jz0+MSwKICAgICAgICAgICAgICAgICAgICAgICAnYWZ0ZXInPT4nbWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgICAgJ3JlZGlyZWN0X3BhZ2UnPT4nJywKICAgICAgICAgICAgICAgICAgICAgICAnZW1haWxfc3ViamVjdCc9PidQcm9kdWN0IFN1Ym1pc3Npb24gZm9yIHskY29udGVudC0+TmFtZSgpfScsCiAgICAgICAgICAgICAgICAgICAgICAgJ2VtYWlsX3RlbXBsYXRlJz0+QGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19lbWFpbF9kaXNwb3NpdGlvbi50cGwnKSwKICAgICAgICAgICAgICAgICAgICAgICAnYWZ0ZXJfbXNnJz0+JHRoaXMtPkxhbmcoJ2RmbHRfYWZ0ZXJfbXNnJykKICAgICAgICAgICAgKTsKICAgICAgICAkdG1wID0gJHRoaXMtPkdldFByZWZlcmVuY2UoYmFzZW5hbWUoJ2VtYWlsX2Rpc3Bvc2l0aW9uX3ByZWZzJykpOwogICAgICAgIGlmKCAkdG1wICkgJHByZWZzID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgICAgICAgcmV0dXJuICRwcmVmczsKICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldF90aWNrZXRfZGlzcG9zaXRpb25fcHJlZnMoKQogICAgewogICAgICAgICRwcmVmcyA9IGFycmF5KCdub3RpZnlfZ3JvdXAnPT4tMSwKICAgICAgICAgICAgICAgICAgICAgICAndGlja2V0X3N1YmplY3QnPT4nTmV3IHByb2R1Y3QgY29uZmlndXJhdGlvbiBmb3IgeyRjb250ZW50LT5OYW1lKCl9JywKICAgICAgICAgICAgICAgICAgICAgICAndGlja2V0X3RlbXBsYXRlJz0+QGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ190aWNrZXRfZGlzcG9zaXRpb24udHBsJyksCiAgICAgICAgICAgICAgICAgICAgICAgJ2FmdGVyJz0+J21lc3NhZ2UnLAogICAgICAgICAgICAgICAgICAgICAgICdyZWRpcmVjdF9wYWdlJz0+JycsCiAgICAgICAgICAgICAgICAgICAgICAgJ2FmdGVyX21zZyc9PiR0aGlzLT5MYW5nKCdkZmx0X3RpY2tldF9hZnRlcl9tc2cnKQogICAgICAgICAgICApOwogICAgICAgICR0bXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZShiYXNlbmFtZSgndGlja2V0X2Rpc3Bvc2l0aW9uX3ByZWZzJykpOwogICAgICAgIGlmKCAkdG1wICkgJHByZWZzID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgICAgICAgcmV0dXJuICRwcmVmczsKICAgIH0KCiAgICAvKioKICAgICAqIENhbiB3ZSB1c2Ugd2hvbGVzYWxlIHByaWNlcwogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlX3dob2xlc2FsZSgpCiAgICB7CiAgICAgICAgc3RhdGljICRfdmFsID0gLTE7CiAgICAgICAgaWYoICRfdmFsIDwgMCApIHsKICAgICAgICAgICAgJF92YWwgPSAwOwogICAgICAgICAgICAkZmV1ID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgICAgICAgICBpZiggJGZldSApIHsKICAgICAgICAgICAgICAgICR1aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CiAgICAgICAgICAgICAgICBpZiggJHVpZCApIHsKICAgICAgICAgICAgICAgICAgICAkd2hvbGVzYWxlX2dyb3VwID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3dob2xlc2FsZV9ncm91cCcsLTEpOwogICAgICAgICAgICAgICAgICAgIGlmKCAkd2hvbGVzYWxlX2dyb3VwID4gMCAmJiAkZmV1LT5NZW1iZXJPZkdyb3VwKCR1aWQsJHdob2xlc2FsZV9ncm91cCkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRfdmFsID0gMTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRfdmFsOwogICAgfQoKfSAvLyBjbGFzcwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/classes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/classes/CGProductBuilder.disposition.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKSB7CiAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgdmFyIHNyYyA9IHByZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3JjJyk7CiAgICAgICAgICAgIHZhciBleHRlbnNpb24gPSAoc3JjLm1hdGNoKC9cLihcdyspJC8pIHx8IFssICcnXSlbMV07CiAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgdmFyIGNvZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb2RlJyk7CiAgICAgICAgICAgIGNvZGUuY2xhc3NOYW1lID0gJ2xhbmd1YWdlLScgKyBsYW5ndWFnZTsKCiAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICdMb2FkaW5n4oCmJzsKCiAgICAgICAgICAgIHByZS5hcHBlbmRDaGlsZChjb2RlKTsKCiAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCBzcmMsIHRydWUpOwoKICAgICAgICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgIGlmICh4aHIuc3RhdHVzIDwgNDAwICYmIHhoci5yZXNwb25zZVRleHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9IHhoci5yZXNwb25zZVRleHQ7CgogICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh4aHIuc3RhdHVzID49IDQwMCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIHhoci5zZW5kKG51bGwpOwogICAgICAgIH0pOwogICAgfQoKICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgICAgICAgbG9hZEV4dGVybmFsQ29kZVNuaXBwZXRzKCk7CiAgICB9KTsKICAgICQoJyNzb3VyY2UtdmlldycpLm9uKCdzaG93bicsIGZ1bmN0aW9uICgpIHsKICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgIH0pCjwvc2NyaXB0PgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTcyeDcyLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTE0eDExNC5wbmciLz4KPC9oZWFkPgo8Ym9keT4KCjxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItZml4ZWQtdG9wIj4KICAgIDxkaXYgY2xhc3M9Im5hdmJhci1pbm5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbmF2YmFyIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWVsbGlwc2lzLXZlcnRpY2FsIj48L2k+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSIuLi9pbmRleC5odG1sIj5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC9hPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHB1bGwtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9pbmRleC5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIERvY3VtZW50YXRpb24gPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9ImNoYXJ0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtDbGFzcyBoaWVyYXJjaHkgZGlhZ3JhbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0icmVwb3J0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9ydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtFcnJvcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+OTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtNYXJrZXJzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwhLS08ZGl2IGNsYXNzPSJnb190b190b3AiPi0tPgogICAgPCEtLTxhIGhyZWY9IiNfX18iIHN0eWxlPSJjb2xvcjogaW5oZXJpdCI+QmFjayB0byB0b3AmIzE2MDsmIzE2MDs8aSBjbGFzcz0iaWNvbi11cGxvYWQgaWNvbi13aGl0ZSI+PC9pPjwvYT4tLT4KICAgIDwhLS08L2Rpdj4tLT4KPC9kaXY+Cgo8ZGl2IGlkPSJfX18iIGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4yIHNpZGViYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTEwODczMzE1NzciPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL2RlZmF1bHQuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPlw8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMTA4NzMzMTU3NyIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlIGluIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1pbm5lciI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWdyb3VwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWhlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYWNjb3JkaW9uLXRvZ2dsZSBjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYW1lc3BhY2UtMTEyMDExMDUxMyI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDMwcHg7IHBhZGRpbmctbGVmdDogMCI+Q0dQcm9kdWN0QnVpbGRlcjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im5hbWVzcGFjZS0xMTIwMTEwNTEzIiBjbGFzcz0iYWNjb3JkaW9uLWJvZHkgY29sbGFwc2UgIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1pbm5lciI+CgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci50aWNrZXRfZGlzcG9zaXRpb24uaHRtbCI+dGlja2V0X2Rpc3Bvc2l0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuRGlzcG9zaXRpb25IYW5kbGVyLmh0bWwiPkRpc3Bvc2l0aW9uSGFuZGxlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLlByb2R1Y3RTcGVjLmh0bWwiPlByb2R1Y3RTcGVjPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uLmh0bWwiPm9wdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbl9zZXQuaHRtbCI+b3B0aW9uX3NldDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwiPmRpc3Bvc2l0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4xMCBvZmZzZXQyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICAgICAgICAgIDxuYXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT4gPGkgY2xhc3M9Imljb24tbGV2ZWwtdXAiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25hdj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CgogICAgICAgICAgICAgICAgICAgIDxoMT48c21hbGw+XENHUHJvZHVjdEJ1aWxkZXI8L3NtYWxsPmRpc3Bvc2l0aW9uPC9oMT4KICAgICAgICAgICAgICAgICAgICA8cD48ZW0+QW4gYWJzdHJhY3QgY2xhc3MgdG8gZGVmaW5lIGEgZGlzcG9zaXRpb24uPC9lbT48L3A+CiAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGlkPSJzdW1tYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyPlN1bW1hcnk8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIGhlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjbWV0aG9kcyI+TWV0aG9kczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI3Byb3BlcnRpZXMiPlByb3BlcnRpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNjb25zdGFudHMiPkNvbnN0YW50czwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIHB1YmxpYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sI21ldGhvZF9nZXRfZnJpZW5kbHluYW1lIiBjbGFzcz0iIj5nZXRfZnJpZW5kbHluYW1lKCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwjbWV0aG9kX2dldF9idXR0b250ZXh0IiBjbGFzcz0iIj5nZXRfYnV0dG9udGV4dCgpPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sI21ldGhvZF9jb21wYXRpYmxlIiBjbGFzcz0iIj5jb21wYXRpYmxlKCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwjbWV0aG9kX3JlYWR5IiBjbGFzcz0iIj5yZWFkeSgpPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sI21ldGhvZF9kaXNwb3NlIiBjbGFzcz0iIj5kaXNwb3NlKCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk5vIHB1YmxpYyBwcm9wZXJ0aWVzIGZvdW5kPC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+Tm8gY29uc3RhbnRzIGZvdW5kPC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgcHJvdGVjdGVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk5vIHByb3RlY3RlZCBtZXRob2RzIGZvdW5kPC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+Tm8gcHJvdGVjdGVkIHByb3BlcnRpZXMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5OL0E8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgcHJpdmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBwcml2YXRlIG1ldGhvZHMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBwcml2YXRlIHByb3BlcnRpZXMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5OL0E8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIj5hYnN0cmFjdDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGR0PkZpbGU8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkPjxhIGhyZWY9Ii4uL2ZpbGVzL2NsYXNzLmRpc3Bvc2l0aW9uLnBocC5odG1sIj48ZGl2IGNsYXNzPSJwYXRoLXdyYXBwZXIiPmNsYXNzLmRpc3Bvc2l0aW9uLnBocDwvZGl2PjwvYT48L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+Q2xhc3MgaGllcmFyY2h5PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0iaGllcmFyY2h5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lc3BhY2Utd3JhcHBlciI+XENHUHJvZHVjdEJ1aWxkZXJcZGlzcG9zaXRpb248L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIDwvYXNpZGU+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBpZD0ibWV0aG9kcyIgbmFtZT0ibWV0aG9kcyI+PC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+PGgyPk1ldGhvZHM8L2gyPjwvZGl2PgogICAgICAgICAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj48L2FzaWRlPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfZ2V0X2ZyaWVuZGx5bmFtZSIgbmFtZT0ibWV0aG9kX2dldF9mcmllbmRseW5hbWUiIGNsYXNzPSJhbmNob3IiPjwvYT4KICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9Im1ldGhvZCI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPmdldF9mcmllbmRseW5hbWUoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPmdldF9mcmllbmRseW5hbWUoKSA6IHN0cmluZzwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPkdldCB0aGUgZnJpZW5kbHkgbmFtZSBmb3IgdGhpcyBkaXNwb3NpdGlvbi48L2VtPjwvcD4KICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5SZXR1cm5zPC9oND4KICAgICAgICAgICAgICAgICAgICBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIj5hYnN0cmFjdDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kbwogICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfZ2V0X2J1dHRvbnRleHQiIG5hbWU9Im1ldGhvZF9nZXRfYnV0dG9udGV4dCIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+Z2V0X2J1dHRvbnRleHQoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPmdldF9idXR0b250ZXh0KCkgOiBzdHJpbmc8L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT5HZXQgdGhlIGJ1dHRvbiB0ZXh0IGZvciB0aGlzIGRpc3Bvc2l0aW9uLjwvZW0+PC9wPgogICAgICAgICAgICAgICAgPHA+VGhlIGJ1dHRvbiB0ZXh0IGlzIHVzZWQgb24gdGhlIGZpbmFsIHN1bW1hcnkgdmlldyBvZiB0aGUgcHJvZHVjdCBidWlsZGVyIHNvIHRoYXQgdGhlIGN1c3RvbWVyIGNhbiBzZWxlY3QgYSBkaXNwb3NpdGlvbi48L3A+CgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlJldHVybnM8L2g0PgogICAgICAgICAgICAgICAgICAgIHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8iPmFic3RyYWN0PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9Im1ldGhvZF9jb21wYXRpYmxlIiBuYW1lPSJtZXRob2RfY29tcGF0aWJsZSIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+Y29tcGF0aWJsZSgpPC9oMz4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNzb3VyY2UtdmlldyIgcm9sZT0iYnV0dG9uIiBjbGFzcz0icHVsbC1yaWdodCBidG4iIGRhdGEtdG9nZ2xlPSJtb2RhbCIgc3R5bGU9ImZvbnQtc2l6ZTogMS4xZW07IHBhZGRpbmc6IDlweCAxNHB4Ij48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA1NHB4OyI+Y29tcGF0aWJsZSgpIDogYm9vbDwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPlRlc3QgaWYgdGhpcyBkaXNwb3NpdGlvbiBpcyBjb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgaW5zdGFsbCBvZiBDTVNNUy48L2VtPjwvcD4KICAgICAgICAgICAgICAgIDxwPlR5cGljYWxseSB0aGlzIHdvdWxkIGNoZWNrIGlmIGNlcnRhaW4gbW9kdWxlcyBhcmUgaW5zdGFsbGVkIGFuZCBwcm9wZXJseSBjb25maWd1cmVkLjwvcD4KCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UmV0dXJuczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgYm9vbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9Im1ldGhvZF9yZWFkeSIgbmFtZT0ibWV0aG9kX3JlYWR5IiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJtZXRob2QiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj5yZWFkeSgpPC9oMz4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNzb3VyY2UtdmlldyIgcm9sZT0iYnV0dG9uIiBjbGFzcz0icHVsbC1yaWdodCBidG4iIGRhdGEtdG9nZ2xlPSJtb2RhbCIgc3R5bGU9ImZvbnQtc2l6ZTogMS4xZW07IHBhZGRpbmc6IDlweCAxNHB4Ij48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA1NHB4OyI+cmVhZHkoKSA6IGJvb2w8L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT5UZXN0IGlmIHRoaXMgZGlzcG9zaXRpb24gaXMgcmVhZHkgdG8gYmUgdXNlZCB0byBkaXNwb3NpbmcgYSBmb3JtLjwvZW0+PC9wPgogICAgICAgICAgICAgICAgPHA+Tm9ybWFsbHkgdGhpcyBpbnZvbHZlcyBjaGVja2luZyBpZiBlbWFpbCBzZW5kaW5nIGlzIHByb3Blcmx5IHNldHVwLCBvciB0aGUgdXNlciBpcyBsb2dnZWQgaW4gdG8gRkVVIGV0Yy48L3A+CgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlJldHVybnM8L2g0PgogICAgICAgICAgICAgICAgICAgIGJvb2wKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kbwogICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfZGlzcG9zZSIgbmFtZT0ibWV0aG9kX2Rpc3Bvc2UiIGNsYXNzPSJhbmNob3IiPjwvYT4KICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9Im1ldGhvZCI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPmRpc3Bvc2UoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPmRpc3Bvc2UoXENHUHJvZHVjdEJ1aWxkZXJcUHJvZHVjdFNwZWMgPHNwYW4gY2xhc3M9ImFyZ3VtZW50Ij4kcHJvZHVjdFNwZWM8L3NwYW4+KSA6IHN0cmluZzwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPkRpc3Bvc2UgKGhhbmRsZSkgdGhlIHByb2R1Y3Qgc3BlY2lmaWNhdGlvbi48L2VtPjwvcD4KICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlBhcmFtZXRlcnM8L2g0PgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIHRhYmxlLWhvdmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLlByb2R1Y3RTcGVjLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyXFByb2R1Y3RTcGVjPC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPiRwcm9kdWN0U3BlYzwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UmV0dXJuczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1kYXNoOyA8cD5PcHRpb25hbCB0ZXh0IHRvIGRpc3BsYXkgYWZ0ZXIgZGlzcG9zaW5nIG9mIHRoZSBmb3JtLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIj5hYnN0cmFjdDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kbwogICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPGRpdiBpZD0ic291cmNlLXZpZXciIGNsYXNzPSJtb2RhbCBoaWRlIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9InNvdXJjZS12aWV3LWxhYmVsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiPsOXPC9idXR0b24+CiAgICAgICAgICAgIDxoMyBpZD0ic291cmNlLXZpZXctbGFiZWwiPmNsYXNzLmRpc3Bvc2l0aW9uLnBocDwvaDM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CiAgICAgICAgICAgIDxwcmUgZGF0YS1zcmM9Ii4uL2ZpbGVzL2NsYXNzLmRpc3Bvc2l0aW9uLnBocC50eHQiIGNsYXNzPSJsYW5ndWFnZS1waHAgbGluZS1udW1iZXJzIj48L3ByZT4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxmb290ZXIgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQyIj4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDEiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgZm9vdGVyLXNlY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYmFyLWNoYXJ0Ij48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vZ3JhcGhzL2NsYXNzLmh0bWwiPkNsYXNzIEhpZXJhcmNoeSBEaWFncmFtPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLXB1c2hwaW4iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj5FcnJvcnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj5NYXJrZXJzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8aHIgLz4KICAgICAgICAgICAgICAgICAgICBEb2N1bWVudGF0aW9uIGlzIHBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5waHBkb2Mub3JnLyI+cGhwRG9jdW1lbnRvciA8L2E+IGFuZCBhdXRob3JlZAogICAgICAgICAgICAgICAgICAgIG9uIE9jdG9iZXIgMjR0aCwgMjAxNSBhdCAxMDoxMS4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDwvc2VjdGlvbj4KICAgIDwvZm9vdGVyPgo8L2Rpdj4KCjwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/classes/CGProductBuilder.DispositionHandler.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKSB7CiAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgdmFyIHNyYyA9IHByZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3JjJyk7CiAgICAgICAgICAgIHZhciBleHRlbnNpb24gPSAoc3JjLm1hdGNoKC9cLihcdyspJC8pIHx8IFssICcnXSlbMV07CiAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgdmFyIGNvZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb2RlJyk7CiAgICAgICAgICAgIGNvZGUuY2xhc3NOYW1lID0gJ2xhbmd1YWdlLScgKyBsYW5ndWFnZTsKCiAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICdMb2FkaW5n4oCmJzsKCiAgICAgICAgICAgIHByZS5hcHBlbmRDaGlsZChjb2RlKTsKCiAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCBzcmMsIHRydWUpOwoKICAgICAgICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgIGlmICh4aHIuc3RhdHVzIDwgNDAwICYmIHhoci5yZXNwb25zZVRleHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9IHhoci5yZXNwb25zZVRleHQ7CgogICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh4aHIuc3RhdHVzID49IDQwMCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIHhoci5zZW5kKG51bGwpOwogICAgICAgIH0pOwogICAgfQoKICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgICAgICAgbG9hZEV4dGVybmFsQ29kZVNuaXBwZXRzKCk7CiAgICB9KTsKICAgICQoJyNzb3VyY2UtdmlldycpLm9uKCdzaG93bicsIGZ1bmN0aW9uICgpIHsKICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgIH0pCjwvc2NyaXB0PgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTcyeDcyLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTE0eDExNC5wbmciLz4KPC9oZWFkPgo8Ym9keT4KCjxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItZml4ZWQtdG9wIj4KICAgIDxkaXYgY2xhc3M9Im5hdmJhci1pbm5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbmF2YmFyIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWVsbGlwc2lzLXZlcnRpY2FsIj48L2k+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSIuLi9pbmRleC5odG1sIj5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC9hPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHB1bGwtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9pbmRleC5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIERvY3VtZW50YXRpb24gPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9ImNoYXJ0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtDbGFzcyBoaWVyYXJjaHkgZGlhZ3JhbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0icmVwb3J0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9ydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtFcnJvcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+OTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtNYXJrZXJzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwhLS08ZGl2IGNsYXNzPSJnb190b190b3AiPi0tPgogICAgPCEtLTxhIGhyZWY9IiNfX18iIHN0eWxlPSJjb2xvcjogaW5oZXJpdCI+QmFjayB0byB0b3AmIzE2MDsmIzE2MDs8aSBjbGFzcz0iaWNvbi11cGxvYWQgaWNvbi13aGl0ZSI+PC9pPjwvYT4tLT4KICAgIDwhLS08L2Rpdj4tLT4KPC9kaXY+Cgo8ZGl2IGlkPSJfX18iIGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4yIHNpZGViYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTIwMDg5MjQ5MDUiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL2RlZmF1bHQuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPlw8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMjAwODkyNDkwNSIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlIGluIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1pbm5lciI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWdyb3VwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWhlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYWNjb3JkaW9uLXRvZ2dsZSBjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYW1lc3BhY2UtMTY0NDQwMjY3NSI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDMwcHg7IHBhZGRpbmctbGVmdDogMCI+Q0dQcm9kdWN0QnVpbGRlcjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im5hbWVzcGFjZS0xNjQ0NDAyNjc1IiBjbGFzcz0iYWNjb3JkaW9uLWJvZHkgY29sbGFwc2UgIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1pbm5lciI+CgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci50aWNrZXRfZGlzcG9zaXRpb24uaHRtbCI+dGlja2V0X2Rpc3Bvc2l0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuRGlzcG9zaXRpb25IYW5kbGVyLmh0bWwiPkRpc3Bvc2l0aW9uSGFuZGxlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLlByb2R1Y3RTcGVjLmh0bWwiPlByb2R1Y3RTcGVjPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uLmh0bWwiPm9wdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbl9zZXQuaHRtbCI+b3B0aW9uX3NldDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwiPmRpc3Bvc2l0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4xMCBvZmZzZXQyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICAgICAgICAgIDxuYXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT4gPGkgY2xhc3M9Imljb24tbGV2ZWwtdXAiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25hdj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CgogICAgICAgICAgICAgICAgICAgIDxoMT48c21hbGw+XENHUHJvZHVjdEJ1aWxkZXI8L3NtYWxsPkRpc3Bvc2l0aW9uSGFuZGxlcjwvaDE+CiAgICAgICAgICAgICAgICAgICAgPHA+PGVtPkEgY2xhc3MgdG8gbWFuYWdlIGFuZCBpbnRlcmFjdCB3aXRoIGRpc3Bvc2l0aW9ucy48L2VtPjwvcD4KICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gaWQ9InN1bW1hcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+U3VtbWFyeTwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgaGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNtZXRob2RzIj5NZXRob2RzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjcHJvcGVydGllcyI+UHJvcGVydGllczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI2NvbnN0YW50cyI+Q29uc3RhbnRzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgcHVibGljIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sI21ldGhvZF9yZWdpc3Rlcl9kaXNwb3NpdGlvbiIgY2xhc3M9IiI+cmVnaXN0ZXJfZGlzcG9zaXRpb24oKTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuRGlzcG9zaXRpb25IYW5kbGVyLmh0bWwjbWV0aG9kX3VucmVnaXN0ZXJfbW9kdWxlX2Rpc3Bvc2l0aW9ucyIgY2xhc3M9IiI+dW5yZWdpc3Rlcl9tb2R1bGVfZGlzcG9zaXRpb25zKCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sI21ldGhvZF91bnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2NsYXNzIiBjbGFzcz0iIj51bnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2NsYXNzKCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sI21ldGhvZF9nZXRfcmVnaXN0ZXJlZF9jbGFzc2VzIiBjbGFzcz0iIj5nZXRfcmVnaXN0ZXJlZF9jbGFzc2VzKCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sI21ldGhvZF9nZXRfZGlzcG9zaXRpb25zIiBjbGFzcz0iIj5nZXRfZGlzcG9zaXRpb25zKCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sI21ldGhvZF9nZXRfZGlzcG9zaXRpb25fbGlzdCIgY2xhc3M9IiI+Z2V0X2Rpc3Bvc2l0aW9uX2xpc3QoKTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuRGlzcG9zaXRpb25IYW5kbGVyLmh0bWwjbWV0aG9kX2dldF9yZWFkeV9kaXNwb3NpdGlvbl9saXN0IiBjbGFzcz0iIj5nZXRfcmVhZHlfZGlzcG9zaXRpb25fbGlzdCgpPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5EaXNwb3NpdGlvbkhhbmRsZXIuaHRtbCNtZXRob2RfZ2V0X2Rpc3Bvc2l0aW9uIiBjbGFzcz0iIj5nZXRfZGlzcG9zaXRpb24oKTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+Tm8gcHVibGljIHByb3BlcnRpZXMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBjb25zdGFudHMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBwcm90ZWN0ZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+Tm8gcHJvdGVjdGVkIG1ldGhvZHMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBwcm90ZWN0ZWQgcHJvcGVydGllcyBmb3VuZDwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk4vQTwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBwcml2YXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk5vIHByaXZhdGUgbWV0aG9kcyBmb3VuZDwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk5vIHByaXZhdGUgcHJvcGVydGllcyBmb3VuZDwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk4vQTwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyI+ZmluYWw8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+RmlsZTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+PGEgaHJlZj0iLi4vZmlsZXMvY2xhc3MuRGlzcG9zaXRpb25IYW5kbGVyLnBocC5odG1sIj48ZGl2IGNsYXNzPSJwYXRoLXdyYXBwZXIiPmNsYXNzLkRpc3Bvc2l0aW9uSGFuZGxlci5waHA8L2Rpdj48L2E+PC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0PlBhY2thZ2U8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkPjxkaXYgY2xhc3M9Im5hbWVzcGFjZS13cmFwcGVyIj5cQ0dQcm9kdWN0QnVpbGRlcjwvZGl2PjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5DbGFzcyBoaWVyYXJjaHk8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJoaWVyYXJjaHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hbWVzcGFjZS13cmFwcGVyIj5cQ0dQcm9kdWN0QnVpbGRlclxEaXNwb3NpdGlvbkhhbmRsZXI8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0PlNlZSBhbHNvPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkPjxhIGhyZWY9IiI+PGRpdiBjbGFzcz0ibmFtZXNwYWNlLXdyYXBwZXIiPjwvZGl2PjwvYT48L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICA8L2FzaWRlPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaWQ9Im1ldGhvZHMiIG5hbWU9Im1ldGhvZHMiPjwvYT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPjxoMj5NZXRob2RzPC9oMj48L2Rpdj4KICAgICAgICAgICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+PC9hc2lkZT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0ibWV0aG9kX3JlZ2lzdGVyX2Rpc3Bvc2l0aW9uIiBuYW1lPSJtZXRob2RfcmVnaXN0ZXJfZGlzcG9zaXRpb24iIGNsYXNzPSJhbmNob3IiPjwvYT4KICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9Im1ldGhvZCI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uKCk8L2gzPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIiBzdHlsZT0iZm9udC1zaXplOiAxLjFlbTsgcGFkZGluZzogOXB4IDE0cHgiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDU0cHg7Ij5yZWdpc3Rlcl9kaXNwb3NpdGlvbihzdHJpbmcgPHNwYW4gY2xhc3M9ImFyZ3VtZW50Ij4kbW9kdWxlPC9zcGFuPiwgc3RyaW5nIDxzcGFuIGNsYXNzPSJhcmd1bWVudCI+JGNsYXNzbmFtZTwvc3Bhbj4pPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+UmVnaXN0ZXIgYSBkaXNwb3NpdGlvbi48L2VtPjwvcD4KICAgICAgICAgICAgICAgIDxwPlRoZSBjbGFzcyBuYW1lIG11c3QgYmUgdW5pcXVlIHRvIGFsbCByZWdpc3RlcmVkIGRpc3Bvc2l0aW9ucy4gIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbmFtZXNwYWNlcyBiZSB1c2VkLgpUaGlzIG1ldGhvZCB3aWxsIHRyeSB0byBpbnN0YW50aWF0ZSB0aGUgY2xhc3Mgc3BlY2lmaWVkIHRvIGVuc3VyZSB0aGF0IGl0IGNhbiBiZSBsb2FkZWQgcHJvcGVybHkuPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlBhcmFtZXRlcnM8L2g0PgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIHRhYmxlLWhvdmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+JG1vZHVsZTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxwPlRoZSBtb2R1bGUgdGhhdCBjb250YWlucyB0aGlzIGRpc3Bvc2l0aW9uLjwvcD48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+JGNsYXNzbmFtZTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxwPlRoZSBuYW1lIG9mIHRoZSBjbGFzcy4gIFRoZSBjbGFzcyBtdXN0IGJlIGRlcml2ZWQgZnJvbSBcQ0dQcm9kdWN0QnVpbGRlclxkaXNwb3NpdGlvbjwvcD48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyI+c3RhdGljPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9Im1ldGhvZF91bnJlZ2lzdGVyX21vZHVsZV9kaXNwb3NpdGlvbnMiIG5hbWU9Im1ldGhvZF91bnJlZ2lzdGVyX21vZHVsZV9kaXNwb3NpdGlvbnMiIGNsYXNzPSJhbmNob3IiPjwvYT4KICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9Im1ldGhvZCI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPnVucmVnaXN0ZXJfbW9kdWxlX2Rpc3Bvc2l0aW9ucygpPC9oMz4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNzb3VyY2UtdmlldyIgcm9sZT0iYnV0dG9uIiBjbGFzcz0icHVsbC1yaWdodCBidG4iIGRhdGEtdG9nZ2xlPSJtb2RhbCIgc3R5bGU9ImZvbnQtc2l6ZTogMS4xZW07IHBhZGRpbmc6IDlweCAxNHB4Ij48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA1NHB4OyI+dW5yZWdpc3Rlcl9tb2R1bGVfZGlzcG9zaXRpb25zKHN0cmluZyA8c3BhbiBjbGFzcz0iYXJndW1lbnQiPiRtb2R1bGU8L3NwYW4+KTwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPlVucmVnaXN0ZXIgYWxsIGRpc3Bvc2l0aW9ucyByZWdpc3RlcmVkIGZvciBhIHNwZWNpZmljIG1vZHVsZS48L2VtPjwvcD4KICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlBhcmFtZXRlcnM8L2g0PgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIHRhYmxlLWhvdmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+JG1vZHVsZTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIj5zdGF0aWM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0ibWV0aG9kX3VucmVnaXN0ZXJfZGlzcG9zaXRpb25fY2xhc3MiIG5hbWU9Im1ldGhvZF91bnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2NsYXNzIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJtZXRob2QiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj51bnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2NsYXNzKCk8L2gzPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIiBzdHlsZT0iZm9udC1zaXplOiAxLjFlbTsgcGFkZGluZzogOXB4IDE0cHgiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDU0cHg7Ij51bnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2NsYXNzKHN0cmluZyA8c3BhbiBjbGFzcz0iYXJndW1lbnQiPiRjbGFzczwvc3Bhbj4pPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+VW4tcmVnaXN0ZXIgYSBzcGVjaWZpYyBkaXNwb3NpdGlvbiBieSBpdHMgY2Fsc3MgbmFtZS48L2VtPjwvcD4KICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlBhcmFtZXRlcnM8L2g0PgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIHRhYmxlLWhvdmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+JGNsYXNzPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8iPnN0YXRpYzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kbwogICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfZ2V0X3JlZ2lzdGVyZWRfY2xhc3NlcyIgbmFtZT0ibWV0aG9kX2dldF9yZWdpc3RlcmVkX2NsYXNzZXMiIGNsYXNzPSJhbmNob3IiPjwvYT4KICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9Im1ldGhvZCI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPmdldF9yZWdpc3RlcmVkX2NsYXNzZXMoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPmdldF9yZWdpc3RlcmVkX2NsYXNzZXMoKSA6IHN0cmluZ1tdPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+R2V0IHRoZSBsaXN0IG9mIHJlZ2lzdGVyZWQgY2xhc3Nlcy48L2VtPjwvcD4KICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5SZXR1cm5zPC9oND4KICAgICAgICAgICAgICAgICAgICBzdHJpbmdbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8iPnN0YXRpYzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kbwogICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfZ2V0X2Rpc3Bvc2l0aW9ucyIgbmFtZT0ibWV0aG9kX2dldF9kaXNwb3NpdGlvbnMiIGNsYXNzPSJhbmNob3IiPjwvYT4KICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9Im1ldGhvZCI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPmdldF9kaXNwb3NpdGlvbnMoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPmdldF9kaXNwb3NpdGlvbnMoKSA6IFxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9uW108L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT5HZXQgYWxsIG9mIHRoZSByZWdpc3RlcmVkIGRpc3Bvc2l0aW9ucy48L2VtPjwvcD4KICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5SZXR1cm5zPC9oND4KICAgICAgICAgICAgICAgICAgICBcQ0dQcm9kdWN0QnVpbGRlclxkaXNwb3NpdGlvbltdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyI+c3RhdGljPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9Im1ldGhvZF9nZXRfZGlzcG9zaXRpb25fbGlzdCIgbmFtZT0ibWV0aG9kX2dldF9kaXNwb3NpdGlvbl9saXN0IiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJtZXRob2QiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj5nZXRfZGlzcG9zaXRpb25fbGlzdCgpPC9oMz4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNzb3VyY2UtdmlldyIgcm9sZT0iYnV0dG9uIiBjbGFzcz0icHVsbC1yaWdodCBidG4iIGRhdGEtdG9nZ2xlPSJtb2RhbCIgc3R5bGU9ImZvbnQtc2l6ZTogMS4xZW07IHBhZGRpbmc6IDlweCAxNHB4Ij48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA1NHB4OyI+Z2V0X2Rpc3Bvc2l0aW9uX2xpc3QoYm9vbCA8c3BhbiBjbGFzcz0iYXJndW1lbnQiPiRhbGw8L3NwYW4+KSA6IGFycmF5PC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+R2V0IGEgbGlzdCAoc3VpdGFibGUgZm9yIHVzZSBpbiBkcm9wZG93bnMpIG9mIGRpc3Bvc2l0aW9ucy48L2VtPjwvcD4KICAgICAgICAgICAgICAgIDxwPlRoZSBrZXlzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBhcmUgdGhlIGNsYXNzIG5hbWVzLiAgVGhlIHZhbHVlcyBhcmUgZGlzcG9zaXRpb24gZnJpZW5kbHkgbmFtZXMuCk9ubHkgdGhvc2UgZGlzcG9zaXRpb25zIGRlZW1lZCBhcyAnY29tcGF0aWJsZScgd2l0aCB0aGUgY3VycmVudCBpbnN0YWxsIHdpbGwgYmUgcmV0dXJuZWQuPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlBhcmFtZXRlcnM8L2g0PgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIHRhYmxlLWhvdmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Ym9vbDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPiRhbGw8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48cD5XZXRoZXIgb3Igbm90IHRvIHJldHVybiBhbGwgZGlzcG9zaXRpb25zLCBjb21wYXRpYmxlIG9yIG5vdC48L3A+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5SZXR1cm5zPC9oND4KICAgICAgICAgICAgICAgICAgICBhcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8iPnN0YXRpYzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kbwogICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfZ2V0X3JlYWR5X2Rpc3Bvc2l0aW9uX2xpc3QiIG5hbWU9Im1ldGhvZF9nZXRfcmVhZHlfZGlzcG9zaXRpb25fbGlzdCIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+Z2V0X3JlYWR5X2Rpc3Bvc2l0aW9uX2xpc3QoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPmdldF9yZWFkeV9kaXNwb3NpdGlvbl9saXN0KCkgOiBhcnJheTwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPkdldCBhIGxpc3Qgb2YgZGlzcG9zaXRpb25zIHRoYXQgYXJlIHJlYWR5LGFuZCBjYW4gYmUgdXNlZCBmb3IgZGlzcG9zaW5nIG9mIHRoZSBjdXJyZW50IGZvcm0uPC9lbT48L3A+CiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UmV0dXJuczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIj5zdGF0aWM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0ibWV0aG9kX2dldF9kaXNwb3NpdGlvbiIgbmFtZT0ibWV0aG9kX2dldF9kaXNwb3NpdGlvbiIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+Z2V0X2Rpc3Bvc2l0aW9uKCk8L2gzPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIiBzdHlsZT0iZm9udC1zaXplOiAxLjFlbTsgcGFkZGluZzogOXB4IDE0cHgiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDU0cHg7Ij5nZXRfZGlzcG9zaXRpb24oc3RyaW5nfHN0cmluZ1tdIDxzcGFuIGNsYXNzPSJhcmd1bWVudCI+JGNsYXNzbmFtZXM8L3NwYW4+KSA6IFxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9ufFxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9uW108L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT5HZXQgZGlzcG9zaXRpb25zIG1hdGNoaW5nIHRoZSBjbGFzcyBuYW1lIG9yIGNsYXNzIG5hbWVzIHN1cHBsaWVkLjwvZW0+PC9wPgogICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UGFyYW1ldGVyczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQgdGFibGUtaG92ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5zdHJpbmd8c3RyaW5nW108L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4kY2xhc3NuYW1lczwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UmV0dXJuczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9uPC9hPnxcQ0dQcm9kdWN0QnVpbGRlclxkaXNwb3NpdGlvbltdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyI+c3RhdGljPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8ZGl2IGlkPSJzb3VyY2UtdmlldyIgY2xhc3M9Im1vZGFsIGhpZGUgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ic291cmNlLXZpZXctbGFiZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+w5c8L2J1dHRvbj4KICAgICAgICAgICAgPGgzIGlkPSJzb3VyY2Utdmlldy1sYWJlbCI+Y2xhc3MuRGlzcG9zaXRpb25IYW5kbGVyLnBocDwvaDM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CiAgICAgICAgICAgIDxwcmUgZGF0YS1zcmM9Ii4uL2ZpbGVzL2NsYXNzLkRpc3Bvc2l0aW9uSGFuZGxlci5waHAudHh0IiBjbGFzcz0ibGFuZ3VhZ2UtcGhwIGxpbmUtbnVtYmVycyI+PC9wcmU+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8Zm9vdGVyIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIGZvb3Rlci1zZWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWJhci1jaGFydCI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj5DbGFzcyBIaWVyYXJjaHkgRGlhZ3JhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1wdXNocGluIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+RXJyb3JzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+TWFya2VyczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPGhyIC8+CiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnRhdGlvbiBpcyBwb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZy8iPnBocERvY3VtZW50b3IgPC9hPiBhbmQgYXV0aG9yZWQKICAgICAgICAgICAgICAgICAgICBvbiBPY3RvYmVyIDI0dGgsIDIwMTUgYXQgMTA6MTEuCiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/classes/CGProductBuilder.option.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKSB7CiAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgdmFyIHNyYyA9IHByZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3JjJyk7CiAgICAgICAgICAgIHZhciBleHRlbnNpb24gPSAoc3JjLm1hdGNoKC9cLihcdyspJC8pIHx8IFssICcnXSlbMV07CiAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgdmFyIGNvZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb2RlJyk7CiAgICAgICAgICAgIGNvZGUuY2xhc3NOYW1lID0gJ2xhbmd1YWdlLScgKyBsYW5ndWFnZTsKCiAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICdMb2FkaW5n4oCmJzsKCiAgICAgICAgICAgIHByZS5hcHBlbmRDaGlsZChjb2RlKTsKCiAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCBzcmMsIHRydWUpOwoKICAgICAgICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgIGlmICh4aHIuc3RhdHVzIDwgNDAwICYmIHhoci5yZXNwb25zZVRleHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9IHhoci5yZXNwb25zZVRleHQ7CgogICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh4aHIuc3RhdHVzID49IDQwMCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIHhoci5zZW5kKG51bGwpOwogICAgICAgIH0pOwogICAgfQoKICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgICAgICAgbG9hZEV4dGVybmFsQ29kZVNuaXBwZXRzKCk7CiAgICB9KTsKICAgICQoJyNzb3VyY2UtdmlldycpLm9uKCdzaG93bicsIGZ1bmN0aW9uICgpIHsKICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgIH0pCjwvc2NyaXB0PgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTcyeDcyLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTE0eDExNC5wbmciLz4KPC9oZWFkPgo8Ym9keT4KCjxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItZml4ZWQtdG9wIj4KICAgIDxkaXYgY2xhc3M9Im5hdmJhci1pbm5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbmF2YmFyIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWVsbGlwc2lzLXZlcnRpY2FsIj48L2k+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSIuLi9pbmRleC5odG1sIj5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC9hPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHB1bGwtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9pbmRleC5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIERvY3VtZW50YXRpb24gPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9ImNoYXJ0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtDbGFzcyBoaWVyYXJjaHkgZGlhZ3JhbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0icmVwb3J0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9ydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtFcnJvcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+OTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtNYXJrZXJzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwhLS08ZGl2IGNsYXNzPSJnb190b190b3AiPi0tPgogICAgPCEtLTxhIGhyZWY9IiNfX18iIHN0eWxlPSJjb2xvcjogaW5oZXJpdCI+QmFjayB0byB0b3AmIzE2MDsmIzE2MDs8aSBjbGFzcz0iaWNvbi11cGxvYWQgaWNvbi13aGl0ZSI+PC9pPjwvYT4tLT4KICAgIDwhLS08L2Rpdj4tLT4KPC9kaXY+Cgo8ZGl2IGlkPSJfX18iIGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4yIHNpZGViYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTYyODg3MzQxMCI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvZGVmYXVsdC5odG1sIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDMwcHg7IHBhZGRpbmctbGVmdDogMCI+XDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im5hbWVzcGFjZS02Mjg4NzM0MTAiIGNsYXNzPSJhY2NvcmRpb24tYm9keSBjb2xsYXBzZSBpbiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTYyMzU5MzAxMSI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDMwcHg7IHBhZGRpbmctbGVmdDogMCI+Q0dQcm9kdWN0QnVpbGRlcjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im5hbWVzcGFjZS02MjM1OTMwMTEiIGNsYXNzPSJhY2NvcmRpb24tYm9keSBjb2xsYXBzZSAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWlubmVyIj4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLnRpY2tldF9kaXNwb3NpdGlvbi5odG1sIj50aWNrZXRfZGlzcG9zaXRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5EaXNwb3NpdGlvbkhhbmRsZXIuaHRtbCI+RGlzcG9zaXRpb25IYW5kbGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCI+UHJvZHVjdFNwZWM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb24uaHRtbCI+b3B0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uX3NldC5odG1sIj5vcHRpb25fc2V0PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuZGlzcG9zaXRpb24uaHRtbCI+ZGlzcG9zaXRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjEwIG9mZnNldDIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgICAgICAgICAgPG5hdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPiA8aSBjbGFzcz0iaWNvbi1sZXZlbC11cCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmF2PgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNzb3VyY2UtdmlldyIgcm9sZT0iYnV0dG9uIiBjbGFzcz0icHVsbC1yaWdodCBidG4iIGRhdGEtdG9nZ2xlPSJtb2RhbCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KCiAgICAgICAgICAgICAgICAgICAgPGgxPjxzbWFsbD5cQ0dQcm9kdWN0QnVpbGRlcjwvc21hbGw+b3B0aW9uPC9oMT4KICAgICAgICAgICAgICAgICAgICA8cD48ZW0+RGVmaW5lIGEgc2luZ2xlIG9wdGlvbi48L2VtPjwvcD4KICAgICAgICAgICAgICAgICAgICA8cD5PcHRpb25zIGFyZSBzdG9yZWQgd2l0aGluIGFuIG9wdGlvbiBzZXQgb2JqZWN0LjwvcD4KCiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gaWQ9InN1bW1hcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+U3VtbWFyeTwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgaGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNtZXRob2RzIj5NZXRob2RzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjcHJvcGVydGllcyI+UHJvcGVydGllczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI2NvbnN0YW50cyI+Q29uc3RhbnRzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgcHVibGljIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk5vIHB1YmxpYyBtZXRob2RzIGZvdW5kPC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uLmh0bWwjcHJvcGVydHlfbmFtZSIgY2xhc3M9IiI+JG5hbWU8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbi5odG1sI3Byb3BlcnR5X2Rlc2NyaXB0aW9uIiBjbGFzcz0iIj4kZGVzY3JpcHRpb248L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbi5odG1sI3Byb3BlcnR5XyIgY2xhc3M9IiI+JDwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uLmh0bWwjcHJvcGVydHlfIiBjbGFzcz0iIj4kPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBjb25zdGFudHMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBwcm90ZWN0ZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+Tm8gcHJvdGVjdGVkIG1ldGhvZHMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBwcm90ZWN0ZWQgcHJvcGVydGllcyBmb3VuZDwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk4vQTwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBwcml2YXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk5vIHByaXZhdGUgbWV0aG9kcyBmb3VuZDwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk5vIHByaXZhdGUgcHJvcGVydGllcyBmb3VuZDwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk4vQTwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5GaWxlPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD48YSBocmVmPSIuLi9maWxlcy9jbGFzcy5vcHRpb24ucGhwLmh0bWwiPjxkaXYgY2xhc3M9InBhdGgtd3JhcHBlciI+Y2xhc3Mub3B0aW9uLnBocDwvZGl2PjwvYT48L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+UGFja2FnZTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+PGRpdiBjbGFzcz0ibmFtZXNwYWNlLXdyYXBwZXIiPlxDR1Byb2R1Y3RCdWlsZGVyPC9kaXY+PC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0PkNsYXNzIGhpZXJhcmNoeTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9ImhpZXJhcmNoeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmFtZXNwYWNlLXdyYXBwZXIiPlxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgPC9hc2lkZT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaWQ9InByb3BlcnRpZXMiIG5hbWU9InByb3BlcnRpZXMiPjwvYT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICAgICAgICAgIDxoMj5Qcm9wZXJ0aWVzPC9oMj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj48L2FzaWRlPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJwcm9wZXJ0eV9uYW1lIiBuYW1lPSJwcm9wZXJ0eV9uYW1lIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPiRuYW1lPC9oMz4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSI+JG5hbWUgOiBzdHJpbmc8L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT48L2VtPjwvcD4KICAgICAgICAgICAgICAgIDxwPlRoZSBvcHRpb24gbmFtZTwvcD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlR5cGU8L2g0PgogICAgICAgICAgICAgICAgc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZCBjb2xzcGFuPSIyIj48ZW0+Tm9uZSBmb3VuZDwvZW0+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0icHJvcGVydHlfZGVzY3JpcHRpb24iIG5hbWU9InByb3BlcnR5X2Rlc2NyaXB0aW9uIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPiRkZXNjcmlwdGlvbjwvaDM+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiPiRkZXNjcmlwdGlvbiA6IHN0cmluZzwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPjwvZW0+PC9wPgogICAgICAgICAgICAgICAgPHA+VGhlIG9wdGlvbiBkZXNjcmlwdGlvbiAobWF5IGNvbnRhaW4gSFRNTCk8L3A+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5UeXBlPC9oND4KICAgICAgICAgICAgICAgIHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj48dGQgY29sc3Bhbj0iMiI+PGVtPk5vbmUgZm91bmQ8L2VtPjwvdGQ+PC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9InByb3BlcnR5XyIgbmFtZT0icHJvcGVydHlfIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPiQ8L2gzPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIj4kIDogZmxvYXQ8L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT48L2VtPjwvcD4KICAgICAgICAgICAgICAgIDxwPnJldGFpbHByaWNlIFRoZSByZXRhaWwgcHJpY2UgZm9yIHRoaXMgb3B0aW9uLjwvcD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlR5cGU8L2g0PgogICAgICAgICAgICAgICAgZmxvYXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+PHRkIGNvbHNwYW49IjIiPjxlbT5Ob25lIGZvdW5kPC9lbT48L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJwcm9wZXJ0eV8iIG5hbWU9InByb3BlcnR5XyIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0icHJvcGVydHkiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj4kPC9oMz4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSI+JCA6IGZsb2F0PC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+PC9lbT48L3A+CiAgICAgICAgICAgICAgICA8cD53aG9sZXNhbGVwcmljZSBUaGUgd2hvbGVzYWxlIHByaWNlIGZvciB0aGlzIG9wdGlvbi48L3A+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5UeXBlPC9oND4KICAgICAgICAgICAgICAgIGZsb2F0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZCBjb2xzcGFuPSIyIj48ZW0+Tm9uZSBmb3VuZDwvZW0+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8ZGl2IGlkPSJzb3VyY2UtdmlldyIgY2xhc3M9Im1vZGFsIGhpZGUgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ic291cmNlLXZpZXctbGFiZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+w5c8L2J1dHRvbj4KICAgICAgICAgICAgPGgzIGlkPSJzb3VyY2Utdmlldy1sYWJlbCI+Y2xhc3Mub3B0aW9uLnBocDwvaDM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CiAgICAgICAgICAgIDxwcmUgZGF0YS1zcmM9Ii4uL2ZpbGVzL2NsYXNzLm9wdGlvbi5waHAudHh0IiBjbGFzcz0ibGFuZ3VhZ2UtcGhwIGxpbmUtbnVtYmVycyI+PC9wcmU+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8Zm9vdGVyIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIGZvb3Rlci1zZWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWJhci1jaGFydCI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj5DbGFzcyBIaWVyYXJjaHkgRGlhZ3JhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1wdXNocGluIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+RXJyb3JzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+TWFya2VyczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPGhyIC8+CiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnRhdGlvbiBpcyBwb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZy8iPnBocERvY3VtZW50b3IgPC9hPiBhbmQgYXV0aG9yZWQKICAgICAgICAgICAgICAgICAgICBvbiBPY3RvYmVyIDI0dGgsIDIwMTUgYXQgMTA6MTEuCiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/classes/CGProductBuilder.option_set.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKSB7CiAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgdmFyIHNyYyA9IHByZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3JjJyk7CiAgICAgICAgICAgIHZhciBleHRlbnNpb24gPSAoc3JjLm1hdGNoKC9cLihcdyspJC8pIHx8IFssICcnXSlbMV07CiAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgdmFyIGNvZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb2RlJyk7CiAgICAgICAgICAgIGNvZGUuY2xhc3NOYW1lID0gJ2xhbmd1YWdlLScgKyBsYW5ndWFnZTsKCiAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICdMb2FkaW5n4oCmJzsKCiAgICAgICAgICAgIHByZS5hcHBlbmRDaGlsZChjb2RlKTsKCiAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCBzcmMsIHRydWUpOwoKICAgICAgICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgIGlmICh4aHIuc3RhdHVzIDwgNDAwICYmIHhoci5yZXNwb25zZVRleHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9IHhoci5yZXNwb25zZVRleHQ7CgogICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh4aHIuc3RhdHVzID49IDQwMCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIHhoci5zZW5kKG51bGwpOwogICAgICAgIH0pOwogICAgfQoKICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgICAgICAgbG9hZEV4dGVybmFsQ29kZVNuaXBwZXRzKCk7CiAgICB9KTsKICAgICQoJyNzb3VyY2UtdmlldycpLm9uKCdzaG93bicsIGZ1bmN0aW9uICgpIHsKICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgIH0pCjwvc2NyaXB0PgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTcyeDcyLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTE0eDExNC5wbmciLz4KPC9oZWFkPgo8Ym9keT4KCjxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItZml4ZWQtdG9wIj4KICAgIDxkaXYgY2xhc3M9Im5hdmJhci1pbm5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbmF2YmFyIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWVsbGlwc2lzLXZlcnRpY2FsIj48L2k+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSIuLi9pbmRleC5odG1sIj5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC9hPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHB1bGwtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9pbmRleC5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIERvY3VtZW50YXRpb24gPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9ImNoYXJ0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtDbGFzcyBoaWVyYXJjaHkgZGlhZ3JhbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0icmVwb3J0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9ydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtFcnJvcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+OTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtNYXJrZXJzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwhLS08ZGl2IGNsYXNzPSJnb190b190b3AiPi0tPgogICAgPCEtLTxhIGhyZWY9IiNfX18iIHN0eWxlPSJjb2xvcjogaW5oZXJpdCI+QmFjayB0byB0b3AmIzE2MDsmIzE2MDs8aSBjbGFzcz0iaWNvbi11cGxvYWQgaWNvbi13aGl0ZSI+PC9pPjwvYT4tLT4KICAgIDwhLS08L2Rpdj4tLT4KPC9kaXY+Cgo8ZGl2IGlkPSJfX18iIGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4yIHNpZGViYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTMyNzYzMDY2NiI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvZGVmYXVsdC5odG1sIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDMwcHg7IHBhZGRpbmctbGVmdDogMCI+XDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im5hbWVzcGFjZS0zMjc2MzA2NjYiIGNsYXNzPSJhY2NvcmRpb24tYm9keSBjb2xsYXBzZSBpbiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTE4OTAxNzAxNDMiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPkNHUHJvZHVjdEJ1aWxkZXI8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMTg5MDE3MDE0MyIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlICI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIudGlja2V0X2Rpc3Bvc2l0aW9uLmh0bWwiPnRpY2tldF9kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sIj5EaXNwb3NpdGlvbkhhbmRsZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5Qcm9kdWN0U3BlYy5odG1sIj5Qcm9kdWN0U3BlYzwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbi5odG1sIj5vcHRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwiPm9wdGlvbl9zZXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sIj5kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgICAgICAgICA8bmF2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXI8L2E+IDxpIGNsYXNzPSJpY29uLWxldmVsLXVwIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uYXY+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIj48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgoKICAgICAgICAgICAgICAgICAgICA8aDE+PHNtYWxsPlxDR1Byb2R1Y3RCdWlsZGVyPC9zbWFsbD5vcHRpb25fc2V0PC9oMT4KICAgICAgICAgICAgICAgICAgICA8cD48ZW0+RGVmaW5lIGFuIG9wdGlvbiBzZXQuPC9lbT48L3A+CiAgICAgICAgICAgICAgICAgICAgPHA+QW4gb3B0aW9uIHNldCBjb250YWlucyBhbiBpZCwgbmFtZSwgZGVzY3JpcHRpb24sIGFuZCBhbHNvIGNvbnRhaW5zIGEgbGlzdCBvZiBvcHRpb25zLgpUaGlzIGNsYXNzIGhhbmRsZXMgc2F2aW5nIGFuZCBsb2FkaW5nIG9iamVjdHMgb2YgdGhpcyB0eXBlLjwvcD4KCiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gaWQ9InN1bW1hcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+U3VtbWFyeTwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgaGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNtZXRob2RzIj5NZXRob2RzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjcHJvcGVydGllcyI+UHJvcGVydGllczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI2NvbnN0YW50cyI+Q29uc3RhbnRzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgcHVibGljIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbl9zZXQuaHRtbCNtZXRob2RfdmFsaWRhdGUiIGNsYXNzPSIiPnZhbGlkYXRlKCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbl9zZXQuaHRtbCNtZXRob2Rfc2F2ZSIgY2xhc3M9IiI+c2F2ZSgpPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwjbWV0aG9kX2xvYWQiIGNsYXNzPSIiPmxvYWQoKTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uX3NldC5odG1sI21ldGhvZF9nZXRfaWRfYnlfbmFtZSIgY2xhc3M9IiI+Z2V0X2lkX2J5X25hbWUoKTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uX3NldC5odG1sI21ldGhvZF9sb2FkX2FsbCIgY2xhc3M9IiI+bG9hZF9hbGwoKTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uX3NldC5odG1sI21ldGhvZF9sb2FkX2xpc3QiIGNsYXNzPSIiPmxvYWRfbGlzdCgpPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwjbWV0aG9kX2NvcHkiIGNsYXNzPSIiPmNvcHkoKTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uX3NldC5odG1sI21ldGhvZF9kZWxldGUiIGNsYXNzPSIiPmRlbGV0ZSgpPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwjbWV0aG9kX2hhc19vcHRpb25zIiBjbGFzcz0iIj5oYXNfb3B0aW9ucygpPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwjbWV0aG9kX2dldF9vcHRpb25zIiBjbGFzcz0iIj5nZXRfb3B0aW9ucygpPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwjbWV0aG9kX3NldF9vcHRpb25zIiBjbGFzcz0iIj5zZXRfb3B0aW9ucygpPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwjbWV0aG9kX2RlbGV0ZV9vcHRpb25zIiBjbGFzcz0iIj5kZWxldGVfb3B0aW9ucygpPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwjcHJvcGVydHlfbmFtZSIgY2xhc3M9IiI+JG5hbWU8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbl9zZXQuaHRtbCNwcm9wZXJ0eV9kZXNjcmlwdGlvbiIgY2xhc3M9IiI+JGRlc2NyaXB0aW9uPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwjcHJvcGVydHlfaWQiIGNsYXNzPSIiPiRpZDwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+Tm8gY29uc3RhbnRzIGZvdW5kPC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgcHJvdGVjdGVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk5vIHByb3RlY3RlZCBtZXRob2RzIGZvdW5kPC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+Tm8gcHJvdGVjdGVkIHByb3BlcnRpZXMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5OL0E8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgcHJpdmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBwcml2YXRlIG1ldGhvZHMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBwcml2YXRlIHByb3BlcnRpZXMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5OL0E8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+RmlsZTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+PGEgaHJlZj0iLi4vZmlsZXMvY2xhc3Mub3B0aW9uX3NldC5waHAuaHRtbCI+PGRpdiBjbGFzcz0icGF0aC13cmFwcGVyIj5jbGFzcy5vcHRpb25fc2V0LnBocDwvZGl2PjwvYT48L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+UGFja2FnZTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+PGRpdiBjbGFzcz0ibmFtZXNwYWNlLXdyYXBwZXIiPlxDR1Byb2R1Y3RCdWlsZGVyPC9kaXY+PC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0PkNsYXNzIGhpZXJhcmNoeTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9ImhpZXJhcmNoeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmFtZXNwYWNlLXdyYXBwZXIiPlxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbl9zZXQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIDwvYXNpZGU+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJwcm9wZXJ0aWVzIiBuYW1lPSJwcm9wZXJ0aWVzIj48L2E+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgICAgICAgICA8aDI+UHJvcGVydGllczwvaDI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+PC9hc2lkZT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0icHJvcGVydHlfbmFtZSIgbmFtZT0icHJvcGVydHlfbmFtZSIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0icHJvcGVydHkiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj4kbmFtZTwvaDM+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiPiRuYW1lIDogc3RyaW5nPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+PC9lbT48L3A+CiAgICAgICAgICAgICAgICA8cD5UaGUgb3B0aW9uIHNldCBuYW1lLjwvcD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlR5cGU8L2g0PgogICAgICAgICAgICAgICAgc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZCBjb2xzcGFuPSIyIj48ZW0+Tm9uZSBmb3VuZDwvZW0+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0icHJvcGVydHlfZGVzY3JpcHRpb24iIG5hbWU9InByb3BlcnR5X2Rlc2NyaXB0aW9uIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPiRkZXNjcmlwdGlvbjwvaDM+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiPiRkZXNjcmlwdGlvbiA6IHN0cmluZzwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPjwvZW0+PC9wPgogICAgICAgICAgICAgICAgPHA+QSBkZXNjcmlwdGlvbiBmb3IgdGhpcyBvcHRpb24gc2V0IChtYXkgaW5jbHVkZSBIVE1MKTwvcD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlR5cGU8L2g0PgogICAgICAgICAgICAgICAgc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZCBjb2xzcGFuPSIyIj48ZW0+Tm9uZSBmb3VuZDwvZW0+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0icHJvcGVydHlfaWQiIG5hbWU9InByb3BlcnR5X2lkIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPiRpZDwvaDM+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiPiRpZCA6IGludDwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPjwvZW0+PC9wPgogICAgICAgICAgICAgICAgPHA+VGhlIG9wdGlvbiBzZXQgaWQgKGEgdmFsaWQgaW50ZWdlciBvbmNlIHNhdmVkIHRvIHRoZSBkYXRhYmFzZSkuPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+VHlwZTwvaDQ+CiAgICAgICAgICAgICAgICBpbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+PHRkIGNvbHNwYW49IjIiPjxlbT5Ob25lIGZvdW5kPC9lbT48L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBpZD0ibWV0aG9kcyIgbmFtZT0ibWV0aG9kcyI+PC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+PGgyPk1ldGhvZHM8L2gyPjwvZGl2PgogICAgICAgICAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj48L2FzaWRlPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfdmFsaWRhdGUiIG5hbWU9Im1ldGhvZF92YWxpZGF0ZSIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+dmFsaWRhdGUoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPnZhbGlkYXRlKCk8L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT5FbnN1cmUgdGhhdCB0aGUgY29udGVudHMgb2YgdGhlIG9wdGlvbiBzZXQgYXJlIHZhbGlkLjwvZW0+PC9wPgogICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0ibWV0aG9kX3NhdmUiIG5hbWU9Im1ldGhvZF9zYXZlIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJtZXRob2QiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj5zYXZlKCk8L2gzPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIiBzdHlsZT0iZm9udC1zaXplOiAxLjFlbTsgcGFkZGluZzogOXB4IDE0cHgiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDU0cHg7Ij5zYXZlKCk8L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT5TYXZlIHRoaXMgb3B0aW9uIHNldCB0byB0aGUgZGF0YWJhc2UuPC9lbT48L3A+CiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kbwogICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfbG9hZCIgbmFtZT0ibWV0aG9kX2xvYWQiIGNsYXNzPSJhbmNob3IiPjwvYT4KICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9Im1ldGhvZCI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPmxvYWQoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPmxvYWQoaW50IDxzcGFuIGNsYXNzPSJhcmd1bWVudCI+JGlkPC9zcGFuPikgOiBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25fc2V0PC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+TG9hZCBhbiBvcHRpb24gc2V0IGZyb20gdGhlIGRhdGFiYXNlLjwvZW0+PC9wPgogICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UGFyYW1ldGVyczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQgdGFibGUtaG92ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5pbnQ8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4kaWQ8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48cD5UaGUgb3B0aW9uIHNldCBpZC48L3A+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5SZXR1cm5zPC9oND4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uX3NldC5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25fc2V0PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8iPnN0YXRpYzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kbwogICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfZ2V0X2lkX2J5X25hbWUiIG5hbWU9Im1ldGhvZF9nZXRfaWRfYnlfbmFtZSIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+Z2V0X2lkX2J5X25hbWUoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPmdldF9pZF9ieV9uYW1lKCA8c3BhbiBjbGFzcz0iYXJndW1lbnQiPiRuYW1lPC9zcGFuPik8L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT48L2VtPjwvcD4KICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlBhcmFtZXRlcnM8L2g0PgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIHRhYmxlLWhvdmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+JG5hbWU8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyI+c3RhdGljPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9Im1ldGhvZF9sb2FkX2FsbCIgbmFtZT0ibWV0aG9kX2xvYWRfYWxsIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJtZXRob2QiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj5sb2FkX2FsbCgpPC9oMz4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNzb3VyY2UtdmlldyIgcm9sZT0iYnV0dG9uIiBjbGFzcz0icHVsbC1yaWdodCBidG4iIGRhdGEtdG9nZ2xlPSJtb2RhbCIgc3R5bGU9ImZvbnQtc2l6ZTogMS4xZW07IHBhZGRpbmc6IDlweCAxNHB4Ij48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA1NHB4OyI+bG9hZF9hbGwoKSA6IFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbl9zZXRbXTwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPkxvYWQgYWxsIG9wdGlvbiBzZXRzLjwvZW0+PC9wPgogICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlJldHVybnM8L2g0PgogICAgICAgICAgICAgICAgICAgIFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbl9zZXRbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8iPnN0YXRpYzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kbwogICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfbG9hZF9saXN0IiBuYW1lPSJtZXRob2RfbG9hZF9saXN0IiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJtZXRob2QiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj5sb2FkX2xpc3QoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPmxvYWRfbGlzdCgpIDogYXJyYXk8L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT5HZW5lcmF0ZSBhIGxpc3QgKHN1aXRhYmxlIGZvciB1c2UgaW4gZHJvcGRvd25zKSBvZiBhbGwgb3B0aW9uIHNldHMuPC9lbT48L3A+CiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UmV0dXJuczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIj5zdGF0aWM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0ibWV0aG9kX2NvcHkiIG5hbWU9Im1ldGhvZF9jb3B5IiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJtZXRob2QiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj5jb3B5KCk8L2gzPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIiBzdHlsZT0iZm9udC1zaXplOiAxLjFlbTsgcGFkZGluZzogOXB4IDE0cHgiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDU0cHg7Ij5jb3B5KCk8L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT5Db3B5IHRoaXMgb3B0aW9uIHNldDwvZW0+PC9wPgogICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0ibWV0aG9kX2RlbGV0ZSIgbmFtZT0ibWV0aG9kX2RlbGV0ZSIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+ZGVsZXRlKCk8L2gzPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIiBzdHlsZT0iZm9udC1zaXplOiAxLjFlbTsgcGFkZGluZzogOXB4IDE0cHgiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDU0cHg7Ij5kZWxldGUoKTwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPkRlbGV0ZSB0aGlzIG9wdGlvbiBzZXQuPC9lbT48L3A+CiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kbwogICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfaGFzX29wdGlvbnMiIG5hbWU9Im1ldGhvZF9oYXNfb3B0aW9ucyIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+aGFzX29wdGlvbnMoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPmhhc19vcHRpb25zKCkgOiBib29sPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+VGVzdCBpZiB0aGlzIG9wdGlvbiBzZXQgaGFzIG9wdGlvbnMuPC9lbT48L3A+CiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UmV0dXJuczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgYm9vbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9Im1ldGhvZF9nZXRfb3B0aW9ucyIgbmFtZT0ibWV0aG9kX2dldF9vcHRpb25zIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJtZXRob2QiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj5nZXRfb3B0aW9ucygpPC9oMz4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNzb3VyY2UtdmlldyIgcm9sZT0iYnV0dG9uIiBjbGFzcz0icHVsbC1yaWdodCBidG4iIGRhdGEtdG9nZ2xlPSJtb2RhbCIgc3R5bGU9ImZvbnQtc2l6ZTogMS4xZW07IHBhZGRpbmc6IDlweCAxNHB4Ij48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA1NHB4OyI+Z2V0X29wdGlvbnMoKSA6IFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbltdPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+R2V0IGFsbCBvZiB0aGUgb3B0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhpcyBvcHRpb24gc2V0LjwvZW0+PC9wPgogICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlJldHVybnM8L2g0PgogICAgICAgICAgICAgICAgICAgIFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbltdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0ibWV0aG9kX3NldF9vcHRpb25zIiBuYW1lPSJtZXRob2Rfc2V0X29wdGlvbnMiIGNsYXNzPSJhbmNob3IiPjwvYT4KICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9Im1ldGhvZCI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPnNldF9vcHRpb25zKCk8L2gzPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIiBzdHlsZT0iZm9udC1zaXplOiAxLjFlbTsgcGFkZGluZzogOXB4IDE0cHgiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDU0cHg7Ij5zZXRfb3B0aW9ucyhcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25bXSA8c3BhbiBjbGFzcz0iYXJndW1lbnQiPiRvcHRpb25zPC9zcGFuPik8L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT5TZXQgYWxsIG9mIHRoZSBvcHRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG9wdGlvbiBzZXQuPC9lbT48L3A+CiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5QYXJhbWV0ZXJzPC9oND4KICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCB0YWJsZS1ob3ZlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbltdPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+JG9wdGlvbnM8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0ibWV0aG9kX2RlbGV0ZV9vcHRpb25zIiBuYW1lPSJtZXRob2RfZGVsZXRlX29wdGlvbnMiIGNsYXNzPSJhbmNob3IiPjwvYT4KICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9Im1ldGhvZCI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPmRlbGV0ZV9vcHRpb25zKCk8L2gzPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIiBzdHlsZT0iZm9udC1zaXplOiAxLjFlbTsgcGFkZGluZzogOXB4IDE0cHgiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDU0cHg7Ij5kZWxldGVfb3B0aW9ucygpPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+RGVsZXRlIGFsbCBvZiB0aGUgb3B0aW9ucyB0aGF0IGFyZSBjdXJyZW50bHkgYXNzb2NpYXRlZCB3aXRoIHRoaXMgb3B0aW9uIHNldC48L2VtPjwvcD4KICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8ZGl2IGlkPSJzb3VyY2UtdmlldyIgY2xhc3M9Im1vZGFsIGhpZGUgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ic291cmNlLXZpZXctbGFiZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+w5c8L2J1dHRvbj4KICAgICAgICAgICAgPGgzIGlkPSJzb3VyY2Utdmlldy1sYWJlbCI+Y2xhc3Mub3B0aW9uX3NldC5waHA8L2gzPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgogICAgICAgICAgICA8cHJlIGRhdGEtc3JjPSIuLi9maWxlcy9jbGFzcy5vcHRpb25fc2V0LnBocC50eHQiIGNsYXNzPSJsYW5ndWFnZS1waHAgbGluZS1udW1iZXJzIj48L3ByZT4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxmb290ZXIgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQyIj4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDEiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgZm9vdGVyLXNlY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYmFyLWNoYXJ0Ij48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vZ3JhcGhzL2NsYXNzLmh0bWwiPkNsYXNzIEhpZXJhcmNoeSBEaWFncmFtPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLXB1c2hwaW4iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj5FcnJvcnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj5NYXJrZXJzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8aHIgLz4KICAgICAgICAgICAgICAgICAgICBEb2N1bWVudGF0aW9uIGlzIHBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5waHBkb2Mub3JnLyI+cGhwRG9jdW1lbnRvciA8L2E+IGFuZCBhdXRob3JlZAogICAgICAgICAgICAgICAgICAgIG9uIE9jdG9iZXIgMjR0aCwgMjAxNSBhdCAxMDoxMS4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDwvc2VjdGlvbj4KICAgIDwvZm9vdGVyPgo8L2Rpdj4KCjwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/classes/CGProductBuilder.ProductSpec.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKSB7CiAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgdmFyIHNyYyA9IHByZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3JjJyk7CiAgICAgICAgICAgIHZhciBleHRlbnNpb24gPSAoc3JjLm1hdGNoKC9cLihcdyspJC8pIHx8IFssICcnXSlbMV07CiAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgdmFyIGNvZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb2RlJyk7CiAgICAgICAgICAgIGNvZGUuY2xhc3NOYW1lID0gJ2xhbmd1YWdlLScgKyBsYW5ndWFnZTsKCiAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICdMb2FkaW5n4oCmJzsKCiAgICAgICAgICAgIHByZS5hcHBlbmRDaGlsZChjb2RlKTsKCiAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCBzcmMsIHRydWUpOwoKICAgICAgICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgIGlmICh4aHIuc3RhdHVzIDwgNDAwICYmIHhoci5yZXNwb25zZVRleHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9IHhoci5yZXNwb25zZVRleHQ7CgogICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh4aHIuc3RhdHVzID49IDQwMCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIHhoci5zZW5kKG51bGwpOwogICAgICAgIH0pOwogICAgfQoKICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgICAgICAgbG9hZEV4dGVybmFsQ29kZVNuaXBwZXRzKCk7CiAgICB9KTsKICAgICQoJyNzb3VyY2UtdmlldycpLm9uKCdzaG93bicsIGZ1bmN0aW9uICgpIHsKICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgIH0pCjwvc2NyaXB0PgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTcyeDcyLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTE0eDExNC5wbmciLz4KPC9oZWFkPgo8Ym9keT4KCjxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItZml4ZWQtdG9wIj4KICAgIDxkaXYgY2xhc3M9Im5hdmJhci1pbm5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbmF2YmFyIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWVsbGlwc2lzLXZlcnRpY2FsIj48L2k+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSIuLi9pbmRleC5odG1sIj5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC9hPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHB1bGwtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9pbmRleC5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIERvY3VtZW50YXRpb24gPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9ImNoYXJ0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtDbGFzcyBoaWVyYXJjaHkgZGlhZ3JhbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0icmVwb3J0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9ydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtFcnJvcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+OTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtNYXJrZXJzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwhLS08ZGl2IGNsYXNzPSJnb190b190b3AiPi0tPgogICAgPCEtLTxhIGhyZWY9IiNfX18iIHN0eWxlPSJjb2xvcjogaW5oZXJpdCI+QmFjayB0byB0b3AmIzE2MDsmIzE2MDs8aSBjbGFzcz0iaWNvbi11cGxvYWQgaWNvbi13aGl0ZSI+PC9pPjwvYT4tLT4KICAgIDwhLS08L2Rpdj4tLT4KPC9kaXY+Cgo8ZGl2IGlkPSJfX18iIGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4yIHNpZGViYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTExNTAwNjkzMjEiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL2RlZmF1bHQuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPlw8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMTE1MDA2OTMyMSIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlIGluIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1pbm5lciI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWdyb3VwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWhlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYWNjb3JkaW9uLXRvZ2dsZSBjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYW1lc3BhY2UtMTEwNDQwMTI0Ij48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiIHN0eWxlPSJtYXJnaW4tbGVmdDogMzBweDsgcGFkZGluZy1sZWZ0OiAwIj5DR1Byb2R1Y3RCdWlsZGVyPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ibmFtZXNwYWNlLTExMDQ0MDEyNCIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlICI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIudGlja2V0X2Rpc3Bvc2l0aW9uLmh0bWwiPnRpY2tldF9kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sIj5EaXNwb3NpdGlvbkhhbmRsZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5Qcm9kdWN0U3BlYy5odG1sIj5Qcm9kdWN0U3BlYzwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbi5odG1sIj5vcHRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwiPm9wdGlvbl9zZXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sIj5kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgICAgICAgICA8bmF2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXI8L2E+IDxpIGNsYXNzPSJpY29uLWxldmVsLXVwIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uYXY+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIj48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgoKICAgICAgICAgICAgICAgICAgICA8aDE+PHNtYWxsPlxDR1Byb2R1Y3RCdWlsZGVyPC9zbWFsbD5Qcm9kdWN0U3BlYzwvaDE+CiAgICAgICAgICAgICAgICAgICAgPHA+PGVtPkFuIGludGVybWVkaWF0ZSBjbGFzcyB0aGF0IGRlZmluZXMgYSBwcm9kdWN0IHNwZWNpZmljYXRpb24uPC9lbT48L3A+CiAgICAgICAgICAgICAgICAgICAgPHA+QW4gaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyBpcyBwYXNzZWQgdG8gZGlzcG9zaXRpb25zLgpEaXNwb3NpdGlvbnMgY2FuIHVzZSB0aGlzIG9iamVjdCB0byBvdXRwdXQgdGhlIGNvbXBsZXRlIHByb2R1Y3Qgc3BlY2lmaWNhdGlvbiBpbiB2YXJpb3VzIGZvcm1hdHMuPC9wPgoKICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBpZD0ic3VtbWFyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5TdW1tYXJ5PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBoZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI21ldGhvZHMiPk1ldGhvZHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNwcm9wZXJ0aWVzIj5Qcm9wZXJ0aWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjY29uc3RhbnRzIj5Db25zdGFudHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBwdWJsaWMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCNtZXRob2RfX19jb25zdHJ1Y3QiIGNsYXNzPSIiPl9fY29uc3RydWN0KCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLlByb2R1Y3RTcGVjLmh0bWwjbWV0aG9kX2J1aWxkX2Zyb21fY29udGVudCIgY2xhc3M9IiI+YnVpbGRfZnJvbV9jb250ZW50KCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLlByb2R1Y3RTcGVjLmh0bWwjcHJvcGVydHlfcmV0dXJuaWQiIGNsYXNzPSIiPiRyZXR1cm5pZDwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCNwcm9wZXJ0eV9jb250ZW50IiBjbGFzcz0iIj4kY29udGVudDwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCNwcm9wZXJ0eV9uYW1lIiBjbGFzcz0iIj4kbmFtZTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCNwcm9wZXJ0eV9iYXNlcHJpY2UiIGNsYXNzPSIiPiRiYXNlcHJpY2U8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLlByb2R1Y3RTcGVjLmh0bWwjcHJvcGVydHlfcHJpY2UiIGNsYXNzPSIiPiRwcmljZTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCNwcm9wZXJ0eV9kZXNjcmlwdGlvbiIgY2xhc3M9IiI+JGRlc2NyaXB0aW9uPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5Qcm9kdWN0U3BlYy5odG1sI3Byb3BlcnR5X29wdGlvbnNldHMiIGNsYXNzPSIiPiRvcHRpb25zZXRzPC9hPjxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5Qcm9kdWN0U3BlYy5odG1sI3Byb3BlcnR5XyIgY2xhc3M9IiI+JDwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCNwcm9wZXJ0eV9vcHRpb25zIiBjbGFzcz0iIj4kb3B0aW9uczwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+Tm8gY29uc3RhbnRzIGZvdW5kPC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgcHJvdGVjdGVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk5vIHByb3RlY3RlZCBtZXRob2RzIGZvdW5kPC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+Tm8gcHJvdGVjdGVkIHByb3BlcnRpZXMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5OL0E8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgcHJpdmF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBwcml2YXRlIG1ldGhvZHMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBwcml2YXRlIHByb3BlcnRpZXMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5OL0E8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+RmlsZTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+PGEgaHJlZj0iLi4vZmlsZXMvY2xhc3MuUHJvZHVjdFNwZWMucGhwLmh0bWwiPjxkaXYgY2xhc3M9InBhdGgtd3JhcHBlciI+Y2xhc3MuUHJvZHVjdFNwZWMucGhwPC9kaXY+PC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5QYWNrYWdlPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD48ZGl2IGNsYXNzPSJuYW1lc3BhY2Utd3JhcHBlciI+XENHUHJvZHVjdEJ1aWxkZXI8L2Rpdj48L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+Q2xhc3MgaGllcmFyY2h5PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0iaGllcmFyY2h5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lc3BhY2Utd3JhcHBlciI+XENHUHJvZHVjdEJ1aWxkZXJcUHJvZHVjdFNwZWM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIDwvYXNpZGU+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJwcm9wZXJ0aWVzIiBuYW1lPSJwcm9wZXJ0aWVzIj48L2E+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgICAgICAgICA8aDI+UHJvcGVydGllczwvaDI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+PC9hc2lkZT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0icHJvcGVydHlfcmV0dXJuaWQiIG5hbWU9InByb3BlcnR5X3JldHVybmlkIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPiRyZXR1cm5pZDwvaDM+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiPiRyZXR1cm5pZCA6IGludDwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPjwvZW0+PC9wPgogICAgICAgICAgICAgICAgPHA+VGhlIGlkIG9mIHRoZSBjb250ZW50IHBhZ2UgdGhhdCBjcmVhdGVkIHRoaXMgcHJvZHVjdFNwZWM8L3A+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5UeXBlPC9oND4KICAgICAgICAgICAgICAgIGludAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj48dGQgY29sc3Bhbj0iMiI+PGVtPk5vbmUgZm91bmQ8L2VtPjwvdGQ+PC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9InByb3BlcnR5X2NvbnRlbnQiIG5hbWU9InByb3BlcnR5X2NvbnRlbnQiIGNsYXNzPSJhbmNob3IiPjwvYT4KICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9InByb3BlcnR5Ij4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+JGNvbnRlbnQ8L2gzPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIj4kY29udGVudCA6IFxDR1Byb2R1Y3RCdWlsZGVyXGNncGJfcHJvZHVjdGJ1aWxkZXI8L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT48L2VtPjwvcD4KICAgICAgICAgICAgICAgIDxwPkEgcmVmZXJlbmNlIHRvIHRoZSBhY3R1YWwgY29udGVudCBwYWdlIHRoYXQgY3JlYXRlZCB0aGlzIHByb2R1Y3RzcGVjIDxlbT4ocmVhZCBvbmx5KTwvZW0+PC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+VHlwZTwvaDQ+CiAgICAgICAgICAgICAgICBcQ0dQcm9kdWN0QnVpbGRlclxjZ3BiX3Byb2R1Y3RidWlsZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZCBjb2xzcGFuPSIyIj48ZW0+Tm9uZSBmb3VuZDwvZW0+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0icHJvcGVydHlfbmFtZSIgbmFtZT0icHJvcGVydHlfbmFtZSIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0icHJvcGVydHkiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj4kbmFtZTwvaDM+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiPiRuYW1lIDogc3RyaW5nPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+PC9lbT48L3A+CiAgICAgICAgICAgICAgICA8cD5UaGUgbmFtZSBvZiB0aGlzIHByb2R1Y3QuPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+VHlwZTwvaDQ+CiAgICAgICAgICAgICAgICBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+PHRkIGNvbHNwYW49IjIiPjxlbT5Ob25lIGZvdW5kPC9lbT48L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJwcm9wZXJ0eV9iYXNlcHJpY2UiIG5hbWU9InByb3BlcnR5X2Jhc2VwcmljZSIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0icHJvcGVydHkiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj4kYmFzZXByaWNlPC9oMz4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSI+JGJhc2VwcmljZSA6IGZsb2F0PC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+PC9lbT48L3A+CiAgICAgICAgICAgICAgICA8cD5UaGUgYmFzZSBwcmljZSBvZiB0aGlzIHByb2R1Y3QgPGVtPihhY3R1YWwgdmFsdWUgbWF5IGNoYW5nZSBmb3IgZWFjaCBvY2N1cnJhbmNlIGRlcGVuZGluZyB1cG9uIEZFVSBzdGF0dXMpPC9lbT48L3A+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5UeXBlPC9oND4KICAgICAgICAgICAgICAgIGZsb2F0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZCBjb2xzcGFuPSIyIj48ZW0+Tm9uZSBmb3VuZDwvZW0+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0icHJvcGVydHlfcHJpY2UiIG5hbWU9InByb3BlcnR5X3ByaWNlIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPiRwcmljZTwvaDM+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiPiRwcmljZSA6IGZsb2F0PC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+PC9lbT48L3A+CiAgICAgICAgICAgICAgICA8cD5UaGUgZmluYWwgcHJpY2Ugb2YgdGhpcyBwcm9kdWN0IGluY2x1ZGluZyBhbGwgc2VsZWN0ZWQgb3B0aW9ucy48L3A+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5UeXBlPC9oND4KICAgICAgICAgICAgICAgIGZsb2F0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1hcnJvdy1kb3duIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZCBjb2xzcGFuPSIyIj48ZW0+Tm9uZSBmb3VuZDwvZW0+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0icHJvcGVydHlfZGVzY3JpcHRpb24iIG5hbWU9InByb3BlcnR5X2Rlc2NyaXB0aW9uIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPiRkZXNjcmlwdGlvbjwvaDM+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiPiRkZXNjcmlwdGlvbiA6IHN0cmluZzwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPjwvZW0+PC9wPgogICAgICAgICAgICAgICAgPHA+VGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgcHJvZHVjdC4gIE1heSBpbmNsdWRlIEhUTUwuPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+VHlwZTwvaDQ+CiAgICAgICAgICAgICAgICBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+PHRkIGNvbHNwYW49IjIiPjxlbT5Ob25lIGZvdW5kPC9lbT48L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJwcm9wZXJ0eV9vcHRpb25zZXRzIiBuYW1lPSJwcm9wZXJ0eV9vcHRpb25zZXRzIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPiRvcHRpb25zZXRzPC9oMz4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSI+JG9wdGlvbnNldHMgOiBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25zZXRzW108L3ByZT4KICAgICAgICAgICAgICAgIDxwPjxlbT48L2VtPjwvcD4KICAgICAgICAgICAgICAgIDxwPlRoZSBvcHRpb25zZXRzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJvZHVjdC48L3A+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5UeXBlPC9oND4KICAgICAgICAgICAgICAgIFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbnNldHNbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj48dGQgY29sc3Bhbj0iMiI+PGVtPk5vbmUgZm91bmQ8L2VtPjwvdGQ+PC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9InByb3BlcnR5XyIgbmFtZT0icHJvcGVydHlfIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPiQ8L2gzPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIj4kIDogYm9vbDwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPjwvZW0+PC9wPgogICAgICAgICAgICAgICAgPHA+aXNfd2hvbGVzYWxlIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHRoYXQgd2hvbGVzYWxlIHByaWNlcyBhcmUgaW4gZWZmZWN0IGFuZCB1c2VkIGluIGNhbGN1bGF0aW9ucy48L3A+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5UeXBlPC9oND4KICAgICAgICAgICAgICAgIGJvb2wKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+PHRkIGNvbHNwYW49IjIiPjxlbT5Ob25lIGZvdW5kPC9lbT48L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJwcm9wZXJ0eV9vcHRpb25zIiBuYW1lPSJwcm9wZXJ0eV9vcHRpb25zIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPiRvcHRpb25zPC9oMz4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSI+JG9wdGlvbnMgOiBhcnJheTwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPjwvZW0+PC9wPgogICAgICAgICAgICAgICAgPHA+QW4gYXJyYXkgb2Ygc3RkY2xhc3Mgb2JqZWN0cyB0aGF0IGRlZmluZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucy4gICBTZWUgdGhlIG1vZHVsZSBoZWxwIGZvciBhIGNsZWFyIGRlc2NyaXB0aW9uIG9mIGVhY2ggbWVtYmVyLjwvcD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlR5cGU8L2g0PgogICAgICAgICAgICAgICAgYXJyYXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+PHRkIGNvbHNwYW49IjIiPjxlbT5Ob25lIGZvdW5kPC9lbT48L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvYXNpZGU+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBpZD0ibWV0aG9kcyIgbmFtZT0ibWV0aG9kcyI+PC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+PGgyPk1ldGhvZHM8L2gyPjwvZGl2PgogICAgICAgICAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj48L2FzaWRlPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBjbGFzcyI+CiAgICAgICAgICAgIDxhIGlkPSJtZXRob2RfX19jb25zdHJ1Y3QiIG5hbWU9Im1ldGhvZF9fX2NvbnN0cnVjdCIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+X19jb25zdHJ1Y3QoKTwvaDM+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiIHN0eWxlPSJmb250LXNpemU6IDEuMWVtOyBwYWRkaW5nOiA5cHggMTRweCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgIDxwcmUgY2xhc3M9InNpZ25hdHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDogNTRweDsiPl9fY29uc3RydWN0KFxDR1Byb2R1Y3RCdWlsZGVyXGNncGJfcHJvZHVjdGJ1aWxkZXIgPHNwYW4gY2xhc3M9ImFyZ3VtZW50Ij4kY29udGVudDwvc3Bhbj4pPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+Q29uc3RydWN0b3I8L2VtPjwvcD4KICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlBhcmFtZXRlcnM8L2g0PgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIHRhYmxlLWhvdmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XENHUHJvZHVjdEJ1aWxkZXJcY2dwYl9wcm9kdWN0YnVpbGRlcjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPiRjb250ZW50PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHA+VGhlIGNvbnRlbnQgcGFnZSB0aGF0IGNvbnRhaW5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9kdWN0IGJ1aWxkLjwvcD48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0ibWV0aG9kX2J1aWxkX2Zyb21fY29udGVudCIgbmFtZT0ibWV0aG9kX2J1aWxkX2Zyb21fY29udGVudCIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+YnVpbGRfZnJvbV9jb250ZW50KCk8L2gzPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIiBzdHlsZT0iZm9udC1zaXplOiAxLjFlbTsgcGFkZGluZzogOXB4IDE0cHgiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDU0cHg7Ij5idWlsZF9mcm9tX2NvbnRlbnQoXGNncGJfcHJvZHVjdGJ1aWxkZXIgPHNwYW4gY2xhc3M9ImFyZ3VtZW50Ij4kY29udGVudDwvc3Bhbj4pPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+QnVpbGQgdGhpcyBvYmplY3QgZnJvbSBhIHByb2R1Y3QgYnVpbGRlciBwYWdlLjwvZW0+PC9wPgogICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UGFyYW1ldGVyczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQgdGFibGUtaG92ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cY2dwYl9wcm9kdWN0YnVpbGRlcjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPiRjb250ZW50PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8ZGl2IGlkPSJzb3VyY2UtdmlldyIgY2xhc3M9Im1vZGFsIGhpZGUgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ic291cmNlLXZpZXctbGFiZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+w5c8L2J1dHRvbj4KICAgICAgICAgICAgPGgzIGlkPSJzb3VyY2Utdmlldy1sYWJlbCI+Y2xhc3MuUHJvZHVjdFNwZWMucGhwPC9oMz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4KICAgICAgICAgICAgPHByZSBkYXRhLXNyYz0iLi4vZmlsZXMvY2xhc3MuUHJvZHVjdFNwZWMucGhwLnR4dCIgY2xhc3M9Imxhbmd1YWdlLXBocCBsaW5lLW51bWJlcnMiPjwvcHJlPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGZvb3RlciBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDIiPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBmb290ZXItc2VjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1iYXItY2hhcnQiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9ncmFwaHMvY2xhc3MuaHRtbCI+Q2xhc3MgSGllcmFyY2h5IERpYWdyYW08L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tcHVzaHBpbiI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL3JlcG9ydHMvZXJyb3JzLmh0bWwiPkVycm9yczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9tYXJrZXJzLmh0bWwiPk1hcmtlcnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDEiPgogICAgICAgICAgICAgICAgICAgIDxociAvPgogICAgICAgICAgICAgICAgICAgIERvY3VtZW50YXRpb24gaXMgcG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LnBocGRvYy5vcmcvIj5waHBEb2N1bWVudG9yIDwvYT4gYW5kIGF1dGhvcmVkCiAgICAgICAgICAgICAgICAgICAgb24gT2N0b2JlciAyNHRoLCAyMDE1IGF0IDEwOjExLgogICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9mb290ZXI+CjwvZGl2PgoKPC9ib2R5Pgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/classes/CGProductBuilder.ticket_disposition.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKSB7CiAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgdmFyIHNyYyA9IHByZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3JjJyk7CiAgICAgICAgICAgIHZhciBleHRlbnNpb24gPSAoc3JjLm1hdGNoKC9cLihcdyspJC8pIHx8IFssICcnXSlbMV07CiAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgdmFyIGNvZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb2RlJyk7CiAgICAgICAgICAgIGNvZGUuY2xhc3NOYW1lID0gJ2xhbmd1YWdlLScgKyBsYW5ndWFnZTsKCiAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICdMb2FkaW5n4oCmJzsKCiAgICAgICAgICAgIHByZS5hcHBlbmRDaGlsZChjb2RlKTsKCiAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCBzcmMsIHRydWUpOwoKICAgICAgICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgIGlmICh4aHIuc3RhdHVzIDwgNDAwICYmIHhoci5yZXNwb25zZVRleHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9IHhoci5yZXNwb25zZVRleHQ7CgogICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh4aHIuc3RhdHVzID49IDQwMCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIHhoci5zZW5kKG51bGwpOwogICAgICAgIH0pOwogICAgfQoKICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgICAgICAgbG9hZEV4dGVybmFsQ29kZVNuaXBwZXRzKCk7CiAgICB9KTsKICAgICQoJyNzb3VyY2UtdmlldycpLm9uKCdzaG93bicsIGZ1bmN0aW9uICgpIHsKICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgIH0pCjwvc2NyaXB0PgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTcyeDcyLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTE0eDExNC5wbmciLz4KPC9oZWFkPgo8Ym9keT4KCjxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItZml4ZWQtdG9wIj4KICAgIDxkaXYgY2xhc3M9Im5hdmJhci1pbm5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbmF2YmFyIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWVsbGlwc2lzLXZlcnRpY2FsIj48L2k+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSIuLi9pbmRleC5odG1sIj5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC9hPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHB1bGwtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9pbmRleC5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIERvY3VtZW50YXRpb24gPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9ImNoYXJ0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtDbGFzcyBoaWVyYXJjaHkgZGlhZ3JhbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0icmVwb3J0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9ydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtFcnJvcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+OTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtNYXJrZXJzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwhLS08ZGl2IGNsYXNzPSJnb190b190b3AiPi0tPgogICAgPCEtLTxhIGhyZWY9IiNfX18iIHN0eWxlPSJjb2xvcjogaW5oZXJpdCI+QmFjayB0byB0b3AmIzE2MDsmIzE2MDs8aSBjbGFzcz0iaWNvbi11cGxvYWQgaWNvbi13aGl0ZSI+PC9pPjwvYT4tLT4KICAgIDwhLS08L2Rpdj4tLT4KPC9kaXY+Cgo8ZGl2IGlkPSJfX18iIGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4yIHNpZGViYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTQ5MTcwMjkwMCI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvZGVmYXVsdC5odG1sIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDMwcHg7IHBhZGRpbmctbGVmdDogMCI+XDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im5hbWVzcGFjZS00OTE3MDI5MDAiIGNsYXNzPSJhY2NvcmRpb24tYm9keSBjb2xsYXBzZSBpbiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTE0MzE1Njc4MTciPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPkNHUHJvZHVjdEJ1aWxkZXI8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMTQzMTU2NzgxNyIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlICI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIudGlja2V0X2Rpc3Bvc2l0aW9uLmh0bWwiPnRpY2tldF9kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sIj5EaXNwb3NpdGlvbkhhbmRsZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5Qcm9kdWN0U3BlYy5odG1sIj5Qcm9kdWN0U3BlYzwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbi5odG1sIj5vcHRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwiPm9wdGlvbl9zZXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sIj5kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgICAgICAgICA8bmF2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXI8L2E+IDxpIGNsYXNzPSJpY29uLWxldmVsLXVwIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uYXY+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIj48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgoKICAgICAgICAgICAgICAgICAgICA8aDE+PHNtYWxsPlxDR1Byb2R1Y3RCdWlsZGVyPC9zbWFsbD50aWNrZXRfZGlzcG9zaXRpb248L2gxPgogICAgICAgICAgICAgICAgICAgIDxwPjxlbT5BbiBhYnN0cmFjdCBjbGFzcyB0byBkZWZpbmUgYSBkaXNwb3NpdGlvbi48L2VtPjwvcD4KICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gaWQ9InN1bW1hcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+U3VtbWFyeTwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgaGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNtZXRob2RzIj5NZXRob2RzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjcHJvcGVydGllcyI+UHJvcGVydGllczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI2NvbnN0YW50cyI+Q29uc3RhbnRzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgcHVibGljIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwjbWV0aG9kX2dldF9mcmllbmRseW5hbWUiIGNsYXNzPSIiPmdldF9mcmllbmRseW5hbWUoKTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuZGlzcG9zaXRpb24uaHRtbCNtZXRob2RfZ2V0X2J1dHRvbnRleHQiIGNsYXNzPSIiPmdldF9idXR0b250ZXh0KCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwjbWV0aG9kX2NvbXBhdGlibGUiIGNsYXNzPSIiPmNvbXBhdGlibGUoKTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuZGlzcG9zaXRpb24uaHRtbCNtZXRob2RfcmVhZHkiIGNsYXNzPSIiPnJlYWR5KCk8L2E+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwjbWV0aG9kX2Rpc3Bvc2UiIGNsYXNzPSIiPmRpc3Bvc2UoKTwvYT48YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+Tm8gcHVibGljIHByb3BlcnRpZXMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBjb25zdGFudHMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBwcm90ZWN0ZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+Tm8gcHJvdGVjdGVkIG1ldGhvZHMgZm91bmQ8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT5ObyBwcm90ZWN0ZWQgcHJvcGVydGllcyBmb3VuZDwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk4vQTwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBwcml2YXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk5vIHByaXZhdGUgbWV0aG9kcyBmb3VuZDwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk5vIHByaXZhdGUgcHJvcGVydGllcyBmb3VuZDwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPk4vQTwvZW0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5GaWxlPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD48YSBocmVmPSIuLi9maWxlcy9jbGFzcy50aWNrZXRfZGlzcG9zaXRpb24ucGhwLmh0bWwiPjxkaXYgY2xhc3M9InBhdGgtd3JhcHBlciI+Y2xhc3MudGlja2V0X2Rpc3Bvc2l0aW9uLnBocDwvZGl2PjwvYT48L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+Q2xhc3MgaGllcmFyY2h5PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0iaGllcmFyY2h5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lc3BhY2Utd3JhcHBlciI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9uPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmFtZXNwYWNlLXdyYXBwZXIiPlxDR1Byb2R1Y3RCdWlsZGVyXHRpY2tldF9kaXNwb3NpdGlvbjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgPC9hc2lkZT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJtZXRob2RzIiBuYW1lPSJtZXRob2RzIj48L2E+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj48aDI+TWV0aG9kczwvaDI+PC9kaXY+CiAgICAgICAgICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPjwvYXNpZGU+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9Im1ldGhvZF9nZXRfZnJpZW5kbHluYW1lIiBuYW1lPSJtZXRob2RfZ2V0X2ZyaWVuZGx5bmFtZSIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+Z2V0X2ZyaWVuZGx5bmFtZSgpPC9oMz4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNzb3VyY2UtdmlldyIgcm9sZT0iYnV0dG9uIiBjbGFzcz0icHVsbC1yaWdodCBidG4iIGRhdGEtdG9nZ2xlPSJtb2RhbCIgc3R5bGU9ImZvbnQtc2l6ZTogMS4xZW07IHBhZGRpbmc6IDlweCAxNHB4Ij48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA1NHB4OyI+Z2V0X2ZyaWVuZGx5bmFtZSgpIDogc3RyaW5nPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+R2V0IHRoZSBmcmllbmRseSBuYW1lIGZvciB0aGlzIGRpc3Bvc2l0aW9uLjwvZW0+PC9wPgogICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlJldHVybnM8L2g0PgogICAgICAgICAgICAgICAgICAgIHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8iPmFic3RyYWN0PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+SW5oZXJpdGVkIGZyb208L2R0PgogICAgICAgICAgICAgICAgICAgIDxkZD48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuZGlzcG9zaXRpb24uaHRtbCI+PGRpdiBjbGFzcz0icGF0aC13cmFwcGVyIj5cQ0dQcm9kdWN0QnVpbGRlclxkaXNwb3NpdGlvbjwvZGl2PjwvYT48L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9Im1ldGhvZF9nZXRfYnV0dG9udGV4dCIgbmFtZT0ibWV0aG9kX2dldF9idXR0b250ZXh0IiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJtZXRob2QiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj5nZXRfYnV0dG9udGV4dCgpPC9oMz4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNzb3VyY2UtdmlldyIgcm9sZT0iYnV0dG9uIiBjbGFzcz0icHVsbC1yaWdodCBidG4iIGRhdGEtdG9nZ2xlPSJtb2RhbCIgc3R5bGU9ImZvbnQtc2l6ZTogMS4xZW07IHBhZGRpbmc6IDlweCAxNHB4Ij48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA1NHB4OyI+Z2V0X2J1dHRvbnRleHQoKSA6IHN0cmluZzwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPkdldCB0aGUgYnV0dG9uIHRleHQgZm9yIHRoaXMgZGlzcG9zaXRpb24uPC9lbT48L3A+CiAgICAgICAgICAgICAgICA8cD5UaGUgYnV0dG9uIHRleHQgaXMgdXNlZCBvbiB0aGUgZmluYWwgc3VtbWFyeSB2aWV3IG9mIHRoZSBwcm9kdWN0IGJ1aWxkZXIgc28gdGhhdCB0aGUgY3VzdG9tZXIgY2FuIHNlbGVjdCBhIGRpc3Bvc2l0aW9uLjwvcD4KCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UmV0dXJuczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyI+YWJzdHJhY3Q8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5Jbmhlcml0ZWQgZnJvbTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgPGRkPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sIj48ZGl2IGNsYXNzPSJwYXRoLXdyYXBwZXIiPlxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9uPC9kaXY+PC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0ibWV0aG9kX2NvbXBhdGlibGUiIG5hbWU9Im1ldGhvZF9jb21wYXRpYmxlIiBjbGFzcz0iYW5jaG9yIj48L2E+CiAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPSJtZXRob2QiPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJwdWJsaWMgIj5jb21wYXRpYmxlKCk8L2gzPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIiBzdHlsZT0iZm9udC1zaXplOiAxLjFlbTsgcGFkZGluZzogOXB4IDE0cHgiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDU0cHg7Ij5jb21wYXRpYmxlKCkgOiBib29sPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+VGVzdCBpZiB0aGlzIGRpc3Bvc2l0aW9uIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCBpbnN0YWxsIG9mIENNU01TLjwvZW0+PC9wPgogICAgICAgICAgICAgICAgPHA+VHlwaWNhbGx5IHRoaXMgd291bGQgY2hlY2sgaWYgY2VydGFpbiBtb2R1bGVzIGFyZSBpbnN0YWxsZWQgYW5kIHByb3Blcmx5IGNvbmZpZ3VyZWQuPC9wPgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5SZXR1cm5zPC9oND4KICAgICAgICAgICAgICAgICAgICBib29sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYXJyb3ctZG93biI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5Jbmhlcml0ZWQgZnJvbTwvZHQ+CiAgICAgICAgICAgICAgICAgICAgPGRkPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sIj48ZGl2IGNsYXNzPSJwYXRoLXdyYXBwZXIiPlxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9uPC9kaXY+PC9hPjwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8KICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2FzaWRlPgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgY2xhc3MiPgogICAgICAgICAgICA8YSBpZD0ibWV0aG9kX3JlYWR5IiBuYW1lPSJtZXRob2RfcmVhZHkiIGNsYXNzPSJhbmNob3IiPjwvYT4KICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9Im1ldGhvZCI+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InB1YmxpYyAiPnJlYWR5KCk8L2gzPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIiBzdHlsZT0iZm9udC1zaXplOiAxLjFlbTsgcGFkZGluZzogOXB4IDE0cHgiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICA8cHJlIGNsYXNzPSJzaWduYXR1cmUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDU0cHg7Ij5yZWFkeSgpIDogYm9vbDwvcHJlPgogICAgICAgICAgICAgICAgPHA+PGVtPlRlc3QgaWYgdGhpcyBkaXNwb3NpdGlvbiBpcyByZWFkeSB0byBiZSB1c2VkIHRvIGRpc3Bvc2luZyBhIGZvcm0uPC9lbT48L3A+CiAgICAgICAgICAgICAgICA8cD5Ob3JtYWxseSB0aGlzIGludm9sdmVzIGNoZWNraW5nIGlmIGVtYWlsIHNlbmRpbmcgaXMgcHJvcGVybHkgc2V0dXAsIG9yIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbiB0byBGRVUgZXRjLjwvcD4KCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UmV0dXJuczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgYm9vbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+SW5oZXJpdGVkIGZyb208L2R0PgogICAgICAgICAgICAgICAgICAgIDxkZD48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuZGlzcG9zaXRpb24uaHRtbCI+PGRpdiBjbGFzcz0icGF0aC13cmFwcGVyIj5cQ0dQcm9kdWN0QnVpbGRlclxkaXNwb3NpdGlvbjwvZGl2PjwvYT48L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGNsYXNzIj4KICAgICAgICAgICAgPGEgaWQ9Im1ldGhvZF9kaXNwb3NlIiBuYW1lPSJtZXRob2RfZGlzcG9zZSIgY2xhc3M9ImFuY2hvciI+PC9hPgogICAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz0ibWV0aG9kIj4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0icHVibGljICI+ZGlzcG9zZSgpPC9oMz4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNzb3VyY2UtdmlldyIgcm9sZT0iYnV0dG9uIiBjbGFzcz0icHVsbC1yaWdodCBidG4iIGRhdGEtdG9nZ2xlPSJtb2RhbCIgc3R5bGU9ImZvbnQtc2l6ZTogMS4xZW07IHBhZGRpbmc6IDlweCAxNHB4Ij48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgPHByZSBjbGFzcz0ic2lnbmF0dXJlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA1NHB4OyI+ZGlzcG9zZShcQ0dQcm9kdWN0QnVpbGRlclxQcm9kdWN0U3BlYyA8c3BhbiBjbGFzcz0iYXJndW1lbnQiPiRwcm9kdWN0U3BlYzwvc3Bhbj4pIDogc3RyaW5nPC9wcmU+CiAgICAgICAgICAgICAgICA8cD48ZW0+RGlzcG9zZSAoaGFuZGxlKSB0aGUgcHJvZHVjdCBzcGVjaWZpY2F0aW9uLjwvZW0+PC9wPgogICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+UGFyYW1ldGVyczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQgdGFibGUtaG92ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXJcUHJvZHVjdFNwZWM8L2E+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+JHByb2R1Y3RTcGVjPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5SZXR1cm5zPC9oND4KICAgICAgICAgICAgICAgICAgICBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbWRhc2g7IDxwPk9wdGlvbmFsIHRleHQgdG8gZGlzcGxheSBhZnRlciBkaXNwb3Npbmcgb2YgdGhlIGZvcm0uPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWFycm93LWRvd24iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8iPmFic3RyYWN0PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+SW5oZXJpdGVkIGZyb208L2R0PgogICAgICAgICAgICAgICAgICAgIDxkZD48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuZGlzcG9zaXRpb24uaHRtbCI+PGRpdiBjbGFzcz0icGF0aC13cmFwcGVyIj5cQ0dQcm9kdWN0QnVpbGRlclxkaXNwb3NpdGlvbjwvZGl2PjwvYT48L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2RvCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9hc2lkZT4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8ZGl2IGlkPSJzb3VyY2UtdmlldyIgY2xhc3M9Im1vZGFsIGhpZGUgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ic291cmNlLXZpZXctbGFiZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+w5c8L2J1dHRvbj4KICAgICAgICAgICAgPGgzIGlkPSJzb3VyY2Utdmlldy1sYWJlbCI+Y2xhc3MudGlja2V0X2Rpc3Bvc2l0aW9uLnBocDwvaDM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CiAgICAgICAgICAgIDxwcmUgZGF0YS1zcmM9Ii4uL2ZpbGVzL2NsYXNzLnRpY2tldF9kaXNwb3NpdGlvbi5waHAudHh0IiBjbGFzcz0ibGFuZ3VhZ2UtcGhwIGxpbmUtbnVtYmVycyI+PC9wcmU+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8Zm9vdGVyIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIGZvb3Rlci1zZWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWJhci1jaGFydCI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj5DbGFzcyBIaWVyYXJjaHkgRGlhZ3JhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1wdXNocGluIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+RXJyb3JzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+TWFya2VyczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPGhyIC8+CiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnRhdGlvbiBpcyBwb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZy8iPnBocERvY3VtZW50b3IgPC9hPiBhbmQgYXV0aG9yZWQKICAgICAgICAgICAgICAgICAgICBvbiBPY3RvYmVyIDI0dGgsIDIwMTUgYXQgMTA6MTEuCiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/css/jquery.iviewer.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnZpZXdlciB7CiAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lOwp9CgouaXZpZXdlcl9jb21tb24gewogICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICBib3R0b206MTBweDsKICAgIGJvcmRlcjogMXB4ICBzb2xpZCAjMDAwOwogICAgaGVpZ2h0OiAyOHB4OwogICAgei1pbmRleDogNTAwMDsKfQoKLml2aWV3ZXJfY3Vyc29yIHsKICAgIGN1cnNvcjogdXJsKC4uL2ltYWdlcy9pdmlld2VyL2hhbmQuY3VyKSA2IDgsIHBvaW50ZXI7Cn0KCi5pdmlld2VyX2RyYWdfY3Vyc29yIHsKICAgIGN1cnNvcjogdXJsKC4uL2ltYWdlcy9pdmlld2VyL2dyYWIuY3VyKSA2IDgsIHBvaW50ZXI7Cn0KCi5pdmlld2VyX2J1dHRvbiB7CiAgICB3aWR0aDogMjhweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Owp9CgouaXZpZXdlcl96b29tX2luIHsKICAgIGxlZnQ6IDIwcHg7CiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2l2aWV3ZXIvaXZpZXdlci56b29tX2luLnBuZyk7Cn0KCi5pdmlld2VyX3pvb21fb3V0IHsKICAgIGxlZnQ6IDU1cHg7CiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2l2aWV3ZXIvaXZpZXdlci56b29tX291dC5wbmcpOwp9CgouaXZpZXdlcl96b29tX3plcm8gewogICAgbGVmdDogOTBweDsKICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaXZpZXdlci9pdmlld2VyLnpvb21femVyby5wbmcpOwp9CgouaXZpZXdlcl96b29tX2ZpdCB7CiAgICBsZWZ0OiAxMjVweDsKICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaXZpZXdlci9pdmlld2VyLnpvb21fZml0LnBuZyk7Cn0KCi5pdmlld2VyX3pvb21fc3RhdHVzIHsKICAgIGxlZnQ6IDE2MHB4OwogICAgZm9udDogMWVtLzI4cHggU2FuczsKICAgIGNvbG9yOiAjMDAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHdpZHRoOiA2MHB4Owp9CgouaXZpZXdlcl9yb3RhdGVfbGVmdCB7CiAgICBsZWZ0OiAyMjdweDsKICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltYWdlcy9pdmlld2VyL2l2aWV3ZXIucm90YXRlX2xlZnQucG5nKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsKfQoKLml2aWV3ZXJfcm90YXRlX3JpZ2h0IHsKICAgIGxlZnQ6IDI2MnB4OwogICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2l2aWV3ZXIvaXZpZXdlci5yb3RhdGVfcmlnaHQucG5nKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsKfQo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/css/phpdocumentor-clean-icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/css/phpdocumentor-clean-icons/fonts/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.dev.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+ClRoaXMgaXMgYSBjdXN0b20gU1ZHIGZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uCjxpY29uc2V0IGlkPSJwaHBkb2N1bWVudG9yLWNsZWFuLWljb25zIiBuYW1lPSJwaHBkb2N1bWVudG9yLWNsZWFuLWljb25zIiBocmVmPSJodHRwOi8vd3d3LnBocGRvYy5vcmciIGdyaWQ9IjE2Ij48L2ljb25zZXQ+PGF1dGhvciBuYW1lPSJNaWtlIHZhbiBSaWVsIiBocmVmPSJodHRwOi8vd3d3Lm1pa2V2YW5yaWVsLmNvbSI+PC9hdXRob3I+PGxpY2Vuc2UgbmFtZT0iU0lMIj48L2xpY2Vuc2U+CjwvbWV0YWRhdGE+CjxkZWZzPgo8Zm9udCBpZD0icGhwZG9jdW1lbnRvci1jbGVhbi1pY29ucyIgaG9yaXotYWR2LXg9IjUxMiIgPgo8Zm9udC1mYWNlIHVuaXRzLXBlci1lbT0iNTEyIiBhc2NlbnQ9IjQ4MCIgZGVzY2VudD0iLTMyIiAvPgo8bWlzc2luZy1nbHlwaCBob3Jpei1hZHYteD0iNTEyIiAvPgo8Z2x5cGggY2xhc3M9ImhpZGRlbiIgdW5pY29kZT0iJiN4ZjAwMDsiIGQ9Ik0wLDQ4MEwgNTEyIC0zMkwwIC0zMiB6IiBob3Jpei1hZHYteD0iMCIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDA7IiBkPSJNIDEzOS42MzYsNDU2LjcyNyBDIDc1LjE3MSw0NTYuNzI3IDIzLjI3Myw0MDQuODI5IDIzLjI3MywzNDAuMzY0IGwgMC0yMzIuNzI3IGMgMC02NC40NjUgNTEuODk4LTExNi4zNjQgMTE2LjM2NC0xMTYuMzY0IGwgMjMyLjcyNywwIGMgNjQuNDY1LDAgMTE2LjM2NCw1MS44OTggMTE2LjM2NCwxMTYuMzY0IEwgNDg4LjcyNywzNDAuMzY0IEMgNDg4LjcyNyw0MDQuODI5IDQzNi44MjksNDU2LjcyNyAzNzIuMzY0LDQ1Ni43MjcgTCAxMzkuNjM2LDQ1Ni43MjcgeiBtIDIwLjcyNy00MS4zODEgMTkxLjI3NCwwIGMgNTMuMDAxLDAgOTUuNzA5LTQyLjcwOCA5NS43MDktOTUuNzA5IGwgMC0xOTEuMjc0IGMgMC01My4wMDEgLTQyLjcwOC05NS43MDkgLTk1LjcwOS05NS43MDkgbCAtMTkxLjI3NCwwIGMgLTUzLjAwMSwwIC05NS43MDksNDIuNzA4IC05NS43MDksOTUuNzA5IGwgMCwxOTEuMjc0IGMgMCw1My4wMDEgNDIuNzA4LDk1LjcwOSA5NS43MDksOTUuNzA5IHpNIDM1OS45NjMsMzY2LjgyNyAgbTAsMCwwLTQzLjEyNCAtODQuMjcxLDAgMC0yMzEuMDUyIC01MC4yNDYsMCAwLDIzMS4wNTIgLTg0LjI3MSwwIDAsNDMuMTI0IDIxOC43ODcsMCIgZGF0YS10YWdzPSJ0cmFpdCIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDE7IiBkPSJNIDEzOS42MzYsNDU2LjcyNyBDIDc1LjE3MSw0NTYuNzI3IDIzLjI3Myw0MDQuODI5IDIzLjI3MywzNDAuMzY0IGwgMC0yMzIuNzI3IGMgMC02NC40NjUgNTEuODk4LTExNi4zNjQgMTE2LjM2NC0xMTYuMzY0IGwgMjMyLjcyNywwIGMgNjQuNDY1LDAgMTE2LjM2NCw1MS44OTggMTE2LjM2NCwxMTYuMzY0IEwgNDg4LjcyNywzNDAuMzY0IEMgNDg4LjcyNyw0MDQuODI5IDQzNi44MjksNDU2LjcyNyAzNzIuMzY0LDQ1Ni43MjcgTCAxMzkuNjM2LDQ1Ni43MjcgeiBtIDIwLjcyNy00MS4zODEgMTkxLjI3NCwwIGMgNTMuMDAxLDAgOTUuNzA5LTQyLjcwOCA5NS43MDktOTUuNzA5IGwgMC0xOTEuMjc0IGMgMC01My4wMDEgLTQyLjcwOC05NS43MDkgLTk1LjcwOS05NS43MDkgbCAtMTkxLjI3NCwwIGMgLTUzLjAwMSwwIC05NS43MDksNDIuNzA4IC05NS43MDksOTUuNzA5IGwgMCwxOTEuMjc0IGMgMCw1My4wMDEgNDIuNzA4LDk1LjcwOSA5NS43MDksOTUuNzA5IHpNIDIzMS4wNzUsMzY2LjgyNyAgbTAsMCwgNDkuODUsMCAwLTI3NC4xNzYgLTQ5Ljg1LDAgMCwyNzQuMTc2IiBkYXRhLXRhZ3M9ImludGVyZmFjZSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDI7IiBkPSJNIDEzOS42MzYsNDU2LjcyNyBDIDc1LjE3MSw0NTYuNzI3IDIzLjI3Myw0MDQuODI5IDIzLjI3MywzNDAuMzY0IGwgMC0yMzIuNzI3IGMgMC02NC40NjUgNTEuODk4LTExNi4zNjQgMTE2LjM2NC0xMTYuMzY0IGwgMjMyLjcyNywwIGMgNjQuNDY1LDAgMTE2LjM2NCw1MS44OTggMTE2LjM2NCwxMTYuMzY0IEwgNDg4LjcyNywzNDAuMzY0IEMgNDg4LjcyNyw0MDQuODI5IDQzNi44MjksNDU2LjcyNyAzNzIuMzY0LDQ1Ni43MjcgTCAxMzkuNjM2LDQ1Ni43MjcgeiBtIDIwLjcyNy00MS4zODEgMTkxLjI3NCwwIGMgNTMuMDAxLDAgOTUuNzA5LTQyLjcwOCA5NS43MDktOTUuNzA5IGwgMC0xOTEuMjc0IGMgMC01My4wMDEgLTQyLjcwOC05NS43MDkgLTk1LjcwOS05NS43MDkgbCAtMTkxLjI3NCwwIGMgLTUzLjAwMSwwIC05NS43MDksNDIuNzA4IC05NS43MDksOTUuNzA5IGwgMCwxOTEuMjc0IGMgMCw1My4wMDEgNDIuNzA4LDk1LjcwOSA5NS43MDksOTUuNzA5IHpNIDI3OC43NDksODYuNzE3ICBtMCwwLGMgLTIwLjU3MywwIC0zOS4wMzYsMy4xNjUgLTU1LjM4OSw5LjQ5NSAtMTYuMzUzLDYuMzMgLTMwLjIsMTUuNTYyIC00MS41NDIsMjcuNjk1IC0xMS4zNDIsMTIuMzk3IC0yMC4wNDYsMjcuNDMxIC0yNi4xMTIsNDUuMTAzIC02LjA2NiwxNy42NzIgLTkuMSwzNy45ODEgLTkuMSw2MC45MjggMCwyMi45NDcgMy40MjksNDMuMjU2IDEwLjI4Nyw2MC45MjggNy4xMjEsMTcuNjcyIDE2Ljc0OSwzMi41NzQgMjguODgxLDQ0LjcwNyAxMi4xMzMsMTIuMzk2IDI2LjM3NiwyMS43NiA0Mi43MjksMjguMDkwIDE2LjM1Myw2LjMzIDMzLjg5Myw5LjQ5NSA1Mi42Miw5LjQ5NSAxMS4zNDEsMCAyMS42MjgtMC45MjMgMzAuODYtMi43NjkgOS4yMzEtMS41ODMgMTcuMjc2LTMuNDI5IDI0LjEzNC01LjUzOSA2Ljg1Ny0yLjExIDEyLjUyOC00LjM1MiAxNy4wMTItNi43MjYgNC40ODQtMi4zNzQgNy42NDktNC4wODkgOS40OTUtNS4xNDMgbCAtMTQuNjM5LTQwLjc1MSBjIC02LjMzLDMuOTU2IC0xNS40Myw3LjY0OSAtMjcuMjk5LDExLjA3OCAtMTEuNjA2LDMuNjkyIC0yNC4yNjYsNS41MzkgLTM3Ljk4MSw1LjUzOSAtMTEuODY5LDAgLTIyLjk0Ny0yLjExIC0zMy4yMzMtNi4zMyAtMTAuMjg3LTMuOTU3IC0xOS4yNTQtMTAuMDIzIC0yNi45MDMtMTguMTk5IC03LjM4NS04LjE3NyAtMTMuMTg4LTE4LjQ2MyAtMTcuNDA4LTMwLjg2IC00LjIyLTEyLjM5NyAtNi4zMy0yNi43NzIgLTYuMzMtNDMuMTI0IDAtMTQuNTA3IDEuNTgyLTI3LjgyNyA0Ljc0OC0zOS45NTkgMy40MjktMTIuMTMzIDguNTcyLTIyLjY4MyAxNS40My0zMS42NTEgNi44NTgtOC43MDQgMTUuNTYyLTE1LjU2MiAyNi4xMTItMjAuNTczIDEwLjU1LTQuNzQ4IDIzLjIxMS03LjEyMiAzNy45ODEtNy4xMjEgMTcuNjcyLDAgMzIuMDQ2LDEuNzE0IDQzLjEyNCw1LjE0MyAxMS4wNzgsMy42OTMgMTkuNjUsNy4xMjEgMjUuNzE2LDEwLjI4NyBsIDEzLjQ1Mi00MC43NTEgYyAtMy4xNjUtMi4xMSAtNy41MTctNC4yMiAtMTMuMDU2LTYuMzMgLTUuMjc1LTIuMTEgLTExLjYwNi00LjIyIC0xOC45OTEtNi4zMyAtNy4zODUtMS44NDYgLTE1LjY5NC0zLjI5NyAtMjQuOTI1LTQuMzUyIC05LjIzMi0xLjMxOSAtMTkuMTIzLTEuOTc4IC0yOS42NzMtMS45NzgiIGRhdGEtdGFncz0iY2xhc3MiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDsiIGhvcml6LWFkdi14PSIyNTYiIC8+CjwvZm9udD48L2RlZnM+PC9zdmc+]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.eot</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+ClRoaXMgaXMgYSBjdXN0b20gU1ZHIGZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uCjxpY29uc2V0IGlkPSJwaHBkb2N1bWVudG9yLWNsZWFuLWljb25zIiBuYW1lPSJwaHBkb2N1bWVudG9yLWNsZWFuLWljb25zIiBocmVmPSJodHRwOi8vd3d3LnBocGRvYy5vcmciIGdyaWQ9IjE2Ij48L2ljb25zZXQ+PGF1dGhvciBuYW1lPSJNaWtlIHZhbiBSaWVsIiBocmVmPSJodHRwOi8vd3d3Lm1pa2V2YW5yaWVsLmNvbSI+PC9hdXRob3I+PGxpY2Vuc2UgbmFtZT0iU0lMIj48L2xpY2Vuc2U+CjwvbWV0YWRhdGE+CjxkZWZzPgo8Zm9udCBpZD0icGhwZG9jdW1lbnRvci1jbGVhbi1pY29ucyIgaG9yaXotYWR2LXg9IjUxMiIgPgo8Zm9udC1mYWNlIHVuaXRzLXBlci1lbT0iNTEyIiBhc2NlbnQ9IjQ4MCIgZGVzY2VudD0iLTMyIiAvPgo8bWlzc2luZy1nbHlwaCBob3Jpei1hZHYteD0iNTEyIiAvPgo8Z2x5cGggY2xhc3M9ImhpZGRlbiIgdW5pY29kZT0iJiN4ZjAwMDsiIGQ9Ik0wLDQ4MEwgNTEyIC0zMkwwIC0zMiB6IiBob3Jpei1hZHYteD0iMCIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDA7IiBkPSJNIDEzOS42MzYsNDU2LjcyNyBDIDc1LjE3MSw0NTYuNzI3IDIzLjI3Myw0MDQuODI5IDIzLjI3MywzNDAuMzY0IGwgMC0yMzIuNzI3IGMgMC02NC40NjUgNTEuODk4LTExNi4zNjQgMTE2LjM2NC0xMTYuMzY0IGwgMjMyLjcyNywwIGMgNjQuNDY1LDAgMTE2LjM2NCw1MS44OTggMTE2LjM2NCwxMTYuMzY0IEwgNDg4LjcyNywzNDAuMzY0IEMgNDg4LjcyNyw0MDQuODI5IDQzNi44MjksNDU2LjcyNyAzNzIuMzY0LDQ1Ni43MjcgTCAxMzkuNjM2LDQ1Ni43MjcgeiBtIDIwLjcyNy00MS4zODEgMTkxLjI3NCwwIGMgNTMuMDAxLDAgOTUuNzA5LTQyLjcwOCA5NS43MDktOTUuNzA5IGwgMC0xOTEuMjc0IGMgMC01My4wMDEgLTQyLjcwOC05NS43MDkgLTk1LjcwOS05NS43MDkgbCAtMTkxLjI3NCwwIGMgLTUzLjAwMSwwIC05NS43MDksNDIuNzA4IC05NS43MDksOTUuNzA5IGwgMCwxOTEuMjc0IGMgMCw1My4wMDEgNDIuNzA4LDk1LjcwOSA5NS43MDksOTUuNzA5IHpNIDM1OS45NjMsMzY2LjgyNyAgbTAsMCwwLTQzLjEyNCAtODQuMjcxLDAgMC0yMzEuMDUyIC01MC4yNDYsMCAwLDIzMS4wNTIgLTg0LjI3MSwwIDAsNDMuMTI0IDIxOC43ODcsMCIgIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAxOyIgZD0iTSAxMzkuNjM2LDQ1Ni43MjcgQyA3NS4xNzEsNDU2LjcyNyAyMy4yNzMsNDA0LjgyOSAyMy4yNzMsMzQwLjM2NCBsIDAtMjMyLjcyNyBjIDAtNjQuNDY1IDUxLjg5OC0xMTYuMzY0IDExNi4zNjQtMTE2LjM2NCBsIDIzMi43MjcsMCBjIDY0LjQ2NSwwIDExNi4zNjQsNTEuODk4IDExNi4zNjQsMTE2LjM2NCBMIDQ4OC43MjcsMzQwLjM2NCBDIDQ4OC43MjcsNDA0LjgyOSA0MzYuODI5LDQ1Ni43MjcgMzcyLjM2NCw0NTYuNzI3IEwgMTM5LjYzNiw0NTYuNzI3IHogbSAyMC43MjctNDEuMzgxIDE5MS4yNzQsMCBjIDUzLjAwMSwwIDk1LjcwOS00Mi43MDggOTUuNzA5LTk1LjcwOSBsIDAtMTkxLjI3NCBjIDAtNTMuMDAxIC00Mi43MDgtOTUuNzA5IC05NS43MDktOTUuNzA5IGwgLTE5MS4yNzQsMCBjIC01My4wMDEsMCAtOTUuNzA5LDQyLjcwOCAtOTUuNzA5LDk1LjcwOSBsIDAsMTkxLjI3NCBjIDAsNTMuMDAxIDQyLjcwOCw5NS43MDkgOTUuNzA5LDk1LjcwOSB6TSAyMzEuMDc1LDM2Ni44MjcgIG0wLDAsIDQ5Ljg1LDAgMC0yNzQuMTc2IC00OS44NSwwIDAsMjc0LjE3NiIgIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAyOyIgZD0iTSAxMzkuNjM2LDQ1Ni43MjcgQyA3NS4xNzEsNDU2LjcyNyAyMy4yNzMsNDA0LjgyOSAyMy4yNzMsMzQwLjM2NCBsIDAtMjMyLjcyNyBjIDAtNjQuNDY1IDUxLjg5OC0xMTYuMzY0IDExNi4zNjQtMTE2LjM2NCBsIDIzMi43MjcsMCBjIDY0LjQ2NSwwIDExNi4zNjQsNTEuODk4IDExNi4zNjQsMTE2LjM2NCBMIDQ4OC43MjcsMzQwLjM2NCBDIDQ4OC43MjcsNDA0LjgyOSA0MzYuODI5LDQ1Ni43MjcgMzcyLjM2NCw0NTYuNzI3IEwgMTM5LjYzNiw0NTYuNzI3IHogbSAyMC43MjctNDEuMzgxIDE5MS4yNzQsMCBjIDUzLjAwMSwwIDk1LjcwOS00Mi43MDggOTUuNzA5LTk1LjcwOSBsIDAtMTkxLjI3NCBjIDAtNTMuMDAxIC00Mi43MDgtOTUuNzA5IC05NS43MDktOTUuNzA5IGwgLTE5MS4yNzQsMCBjIC01My4wMDEsMCAtOTUuNzA5LDQyLjcwOCAtOTUuNzA5LDk1LjcwOSBsIDAsMTkxLjI3NCBjIDAsNTMuMDAxIDQyLjcwOCw5NS43MDkgOTUuNzA5LDk1LjcwOSB6TSAyNzguNzQ5LDg2LjcxNyAgbTAsMCxjIC0yMC41NzMsMCAtMzkuMDM2LDMuMTY1IC01NS4zODksOS40OTUgLTE2LjM1Myw2LjMzIC0zMC4yLDE1LjU2MiAtNDEuNTQyLDI3LjY5NSAtMTEuMzQyLDEyLjM5NyAtMjAuMDQ2LDI3LjQzMSAtMjYuMTEyLDQ1LjEwMyAtNi4wNjYsMTcuNjcyIC05LjEsMzcuOTgxIC05LjEsNjAuOTI4IDAsMjIuOTQ3IDMuNDI5LDQzLjI1NiAxMC4yODcsNjAuOTI4IDcuMTIxLDE3LjY3MiAxNi43NDksMzIuNTc0IDI4Ljg4MSw0NC43MDcgMTIuMTMzLDEyLjM5NiAyNi4zNzYsMjEuNzYgNDIuNzI5LDI4LjA5MCAxNi4zNTMsNi4zMyAzMy44OTMsOS40OTUgNTIuNjIsOS40OTUgMTEuMzQxLDAgMjEuNjI4LTAuOTIzIDMwLjg2LTIuNzY5IDkuMjMxLTEuNTgzIDE3LjI3Ni0zLjQyOSAyNC4xMzQtNS41MzkgNi44NTctMi4xMSAxMi41MjgtNC4zNTIgMTcuMDEyLTYuNzI2IDQuNDg0LTIuMzc0IDcuNjQ5LTQuMDg5IDkuNDk1LTUuMTQzIGwgLTE0LjYzOS00MC43NTEgYyAtNi4zMywzLjk1NiAtMTUuNDMsNy42NDkgLTI3LjI5OSwxMS4wNzggLTExLjYwNiwzLjY5MiAtMjQuMjY2LDUuNTM5IC0zNy45ODEsNS41MzkgLTExLjg2OSwwIC0yMi45NDctMi4xMSAtMzMuMjMzLTYuMzMgLTEwLjI4Ny0zLjk1NyAtMTkuMjU0LTEwLjAyMyAtMjYuOTAzLTE4LjE5OSAtNy4zODUtOC4xNzcgLTEzLjE4OC0xOC40NjMgLTE3LjQwOC0zMC44NiAtNC4yMi0xMi4zOTcgLTYuMzMtMjYuNzcyIC02LjMzLTQzLjEyNCAwLTE0LjUwNyAxLjU4Mi0yNy44MjcgNC43NDgtMzkuOTU5IDMuNDI5LTEyLjEzMyA4LjU3Mi0yMi42ODMgMTUuNDMtMzEuNjUxIDYuODU4LTguNzA0IDE1LjU2Mi0xNS41NjIgMjYuMTEyLTIwLjU3MyAxMC41NS00Ljc0OCAyMy4yMTEtNy4xMjIgMzcuOTgxLTcuMTIxIDE3LjY3MiwwIDMyLjA0NiwxLjcxNCA0My4xMjQsNS4xNDMgMTEuMDc4LDMuNjkzIDE5LjY1LDcuMTIxIDI1LjcxNiwxMC4yODcgbCAxMy40NTItNDAuNzUxIGMgLTMuMTY1LTIuMTEgLTcuNTE3LTQuMjIgLTEzLjA1Ni02LjMzIC01LjI3NS0yLjExIC0xMS42MDYtNC4yMiAtMTguOTkxLTYuMzMgLTcuMzg1LTEuODQ2IC0xNS42OTQtMy4yOTcgLTI0LjkyNS00LjM1MiAtOS4yMzItMS4zMTkgLTE5LjEyMy0xLjk3OCAtMjkuNjczLTEuOTc4IiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwOyIgaG9yaXotYWR2LXg9IjI1NiIgLz4KPC9mb250PjwvZGVmcz48L3N2Zz4=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.ttf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.woff</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/css/phpdocumentor-clean-icons/lte-ie7.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogTG9hZCB0aGlzIHNjcmlwdCB1c2luZyBjb25kaXRpb25hbCBJRSBjb21tZW50cyBpZiB5b3UgbmVlZCB0byBzdXBwb3J0IElFIDcgYW5kIElFIDYuICovCgp3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CglmdW5jdGlvbiBhZGRJY29uKGVsLCBlbnRpdHkpIHsKCQl2YXIgaHRtbCA9IGVsLmlubmVySFRNTDsKCQllbC5pbm5lckhUTUwgPSAnPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBcJ3BocGRvY3VtZW50b3ItY2xlYW4taWNvbnNcJyI+JyArIGVudGl0eSArICc8L3NwYW4+JyArIGh0bWw7Cgl9Cgl2YXIgaWNvbnMgPSB7CgkJCSdpY29uLXRyYWl0JyA6ICcmI3hlMDAwOycsCgkJCSdpY29uLWludGVyZmFjZScgOiAnJiN4ZTAwMTsnLAoJCQknaWNvbi1jbGFzcycgOiAnJiN4ZTAwMjsnCgkJfSwKCQllbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnKicpLAoJCWksIGF0dHIsIGh0bWwsIGMsIGVsOwoJZm9yIChpID0gMDsgOyBpICs9IDEpIHsKCQllbCA9IGVsc1tpXTsKCQlpZighZWwpIHsKCQkJYnJlYWs7CgkJfQoJCWF0dHIgPSBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWNvbicpOwoJCWlmIChhdHRyKSB7CgkJCWFkZEljb24oZWwsIGF0dHIpOwoJCX0KCQljID0gZWwuY2xhc3NOYW1lOwoJCWMgPSBjLm1hdGNoKC9pY29uLVteXHMnIl0rLyk7CgkJaWYgKGMgJiYgaWNvbnNbY1swXV0pIHsKCQkJYWRkSWNvbihlbCwgaWNvbnNbY1swXV0pOwoJCX0KCX0KfTs=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/css/phpdocumentor-clean-icons/Read Me.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VG8gbW9kaWZ5IHlvdXIgZ2VuZXJhdGVkIGZvbnQsIHVzZSB0aGUgKmRldi5zdmcqIGZpbGUsIGxvY2F0ZWQgaW4gdGhlICpmb250cyogZm9sZGVyIGluIHRoaXMgcGFja2FnZS4gWW91IGNhbiBpbXBvcnQgdGhpcyBkZXYuc3ZnIGZpbGUgdG8gdGhlIEljb01vb24gYXBwLiBBbGwgdGhlIHRhZ3MgKGNsYXNzIG5hbWVzKSBhbmQgdGhlIFVuaWNvZGUgcG9pbnRzIG9mIHlvdXIgZ2x5cGhzIGFyZSBzYXZlZCBpbiB0aGlzIGZpbGUuCgpTZWUgdGhlIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mbyBvbiBob3cgdG8gdXNlIHRoaXMgcGFja2FnZTogaHR0cDovL2ljb21vb24uaW8vI2RvY3MvZm9udC1mYWNl]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/css/phpdocumentor-clean-icons/style.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QGZvbnQtZmFjZSB7Cglmb250LWZhbWlseTogJ3BocGRvY3VtZW50b3ItY2xlYW4taWNvbnMnOwoJc3JjOnVybCgnZm9udHMvcGhwZG9jdW1lbnRvci1jbGVhbi1pY29ucy5lb3QnKTsKCXNyYzp1cmwoJ2ZvbnRzL3BocGRvY3VtZW50b3ItY2xlYW4taWNvbnMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwKCQl1cmwoJ2ZvbnRzL3BocGRvY3VtZW50b3ItY2xlYW4taWNvbnMud29mZicpIGZvcm1hdCgnd29mZicpLAoJCXVybCgnZm9udHMvcGhwZG9jdW1lbnRvci1jbGVhbi1pY29ucy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksCgkJdXJsKCdmb250cy9waHBkb2N1bWVudG9yLWNsZWFuLWljb25zLnN2ZyNwaHBkb2N1bWVudG9yLWNsZWFuLWljb25zJykgZm9ybWF0KCdzdmcnKTsKCWZvbnQtd2VpZ2h0OiBub3JtYWw7Cglmb250LXN0eWxlOiBub3JtYWw7Cn0KCi8qIFVzZSB0aGUgZm9sbG93aW5nIENTUyBjb2RlIGlmIHlvdSB3YW50IHRvIHVzZSBkYXRhIGF0dHJpYnV0ZXMgZm9yIGluc2VydGluZyB5b3VyIGljb25zICovCltkYXRhLWljb25dOmJlZm9yZSB7Cglmb250LWZhbWlseTogJ3BocGRvY3VtZW50b3ItY2xlYW4taWNvbnMnOwoJY29udGVudDogYXR0cihkYXRhLWljb24pOwoJc3BlYWs6IG5vbmU7Cglmb250LXdlaWdodDogbm9ybWFsOwoJZm9udC12YXJpYW50OiBub3JtYWw7Cgl0ZXh0LXRyYW5zZm9ybTogbm9uZTsKCWxpbmUtaGVpZ2h0OiAxOwoJLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7Cn0KCi8qIFVzZSB0aGUgZm9sbG93aW5nIENTUyBjb2RlIGlmIHlvdSB3YW50IHRvIGhhdmUgYSBjbGFzcyBwZXIgaWNvbiAqLwovKgpJbnN0ZWFkIG9mIGEgbGlzdCBvZiBhbGwgY2xhc3Mgc2VsZWN0b3JzLAp5b3UgY2FuIHVzZSB0aGUgZ2VuZXJpYyBzZWxlY3RvciBiZWxvdywgYnV0IGl0J3Mgc2xvd2VyOgpbY2xhc3MqPSJpY29uLSJdIHsKKi8KLmljb24tdHJhaXQsIC5pY29uLWludGVyZmFjZSwgLmljb24tY2xhc3MgewoJZm9udC1mYW1pbHk6ICdwaHBkb2N1bWVudG9yLWNsZWFuLWljb25zJzsKCXNwZWFrOiBub25lOwoJZm9udC1zdHlsZTogbm9ybWFsOwoJZm9udC13ZWlnaHQ6IG5vcm1hbDsKCWZvbnQtdmFyaWFudDogbm9ybWFsOwoJdGV4dC10cmFuc2Zvcm06IG5vbmU7CglsaW5lLWhlaWdodDogMTsKCS13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwp9Ci5pY29uLXRyYWl0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMDAiOwp9Ci5pY29uLWludGVyZmFjZTpiZWZvcmUgewoJY29udGVudDogIlxlMDAxIjsKfQouaWNvbi1jbGFzczpiZWZvcmUgewoJY29udGVudDogIlxlMDAyIjsKfQo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/css/prism.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIHByaXNtLmpzIGRlZmF1bHQgdGhlbWUgZm9yIEphdmFTY3JpcHQsIENTUyBhbmQgSFRNTAogKiBCYXNlZCBvbiBkYWJibGV0IChodHRwOi8vZGFiYmxldC5jb20pCiAqIEBhdXRob3IgTGVhIFZlcm91CiAqLwoKY29kZVtjbGFzcyo9Imxhbmd1YWdlLSJdLApwcmVbY2xhc3MqPSJsYW5ndWFnZS0iXSB7Cgljb2xvcjogYmxhY2s7Cgl0ZXh0LXNoYWRvdzogMCAxcHggd2hpdGU7Cglmb250LWZhbWlseTogQ29uc29sYXMsIE1vbmFjbywgJ0FuZGFsZSBNb25vJywgbW9ub3NwYWNlOwoJZGlyZWN0aW9uOiBsdHI7Cgl0ZXh0LWFsaWduOiBsZWZ0OwoJd2hpdGUtc3BhY2U6IHByZTsKCXdvcmQtc3BhY2luZzogbm9ybWFsOwoKCS1tb3otdGFiLXNpemU6IDQ7Cgktby10YWItc2l6ZTogNDsKCXRhYi1zaXplOiA0OwoKCS13ZWJraXQtaHlwaGVuczogbm9uZTsKCS1tb3otaHlwaGVuczogbm9uZTsKCS1tcy1oeXBoZW5zOiBub25lOwoJaHlwaGVuczogbm9uZTsKfQoKOjotbW96LXNlbGVjdGlvbiB7Cgl0ZXh0LXNoYWRvdzogbm9uZTsKCWJhY2tncm91bmQ6ICNiM2Q0ZmM7Cn0KCjo6c2VsZWN0aW9uIHsKCXRleHQtc2hhZG93OiBub25lOwoJYmFja2dyb3VuZDogI2IzZDRmYzsKfQoKQG1lZGlhIHByaW50IHsKCWNvZGVbY2xhc3MqPSJsYW5ndWFnZS0iXSwKCXByZVtjbGFzcyo9Imxhbmd1YWdlLSJdIHsKCQl0ZXh0LXNoYWRvdzogbm9uZTsKCX0KfQoKLyogQ29kZSBibG9ja3MgKi8KcHJlW2NsYXNzKj0ibGFuZ3VhZ2UtIl0gewoJcGFkZGluZzogMWVtOwoJbWFyZ2luOiAuNWVtIDA7CglvdmVyZmxvdzogYXV0bzsKfQoKOm5vdChwcmUpID4gY29kZVtjbGFzcyo9Imxhbmd1YWdlLSJdLApwcmVbY2xhc3MqPSJsYW5ndWFnZS0iXSB7CgliYWNrZ3JvdW5kOiAjZjVmMmYwOwp9CgovKiBJbmxpbmUgY29kZSAqLwo6bm90KHByZSkgPiBjb2RlW2NsYXNzKj0ibGFuZ3VhZ2UtIl0gewoJcGFkZGluZzogLjFlbTsKCWJvcmRlci1yYWRpdXM6IC4zZW07Cn0KCi50b2tlbi5jb21tZW50LAoudG9rZW4ucHJvbG9nLAoudG9rZW4uZG9jdHlwZSwKLnRva2VuLmNkYXRhIHsKCWNvbG9yOiBzbGF0ZWdyYXk7Cn0KCi50b2tlbi5wdW5jdHVhdGlvbiB7Cgljb2xvcjogIzk5OTsKfQoKLm5hbWVzcGFjZSB7CglvcGFjaXR5OiAuNzsKfQoKLnRva2VuLnByb3BlcnR5LAoudG9rZW4udGFnLAoudG9rZW4uYm9vbGVhbiwKLnRva2VuLm51bWJlciB7Cgljb2xvcjogIzkwNTsKfQoKLnRva2VuLnNlbGVjdG9yLAoudG9rZW4uYXR0ci1uYW1lLAoudG9rZW4uc3RyaW5nIHsKCWNvbG9yOiAjNjkwOwp9CgoudG9rZW4ub3BlcmF0b3IsCi50b2tlbi5lbnRpdHksCi50b2tlbi51cmwsCi5sYW5ndWFnZS1jc3MgLnRva2VuLnN0cmluZywKLnN0eWxlIC50b2tlbi5zdHJpbmcgewoJY29sb3I6ICNhNjdmNTk7CgliYWNrZ3JvdW5kOiBoc2xhKDAsMCUsMTAwJSwuNSk7Cn0KCi50b2tlbi5hdHJ1bGUsCi50b2tlbi5hdHRyLXZhbHVlLAoudG9rZW4ua2V5d29yZCB7Cgljb2xvcjogIzA3YTsKfQoKCi50b2tlbi5yZWdleCwKLnRva2VuLmltcG9ydGFudCB7Cgljb2xvcjogI2U5MDsKfQoKLnRva2VuLmltcG9ydGFudCB7Cglmb250LXdlaWdodDogYm9sZDsKfQoKLnRva2VuLmVudGl0eSB7CgljdXJzb3I6IGhlbHA7Cn0KcHJlW2RhdGEtbGluZV0gewoJcG9zaXRpb246IHJlbGF0aXZlOwoJcGFkZGluZzogMWVtIDAgMWVtIDNlbTsKfQoKLmxpbmUtaGlnaGxpZ2h0IHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDA7CglyaWdodDogMDsKCXBhZGRpbmc6IGluaGVyaXQgMDsKCW1hcmdpbi10b3A6IDFlbTsgLyogU2FtZSBhcyAucHJpc23igJlzIHBhZGRpbmctdG9wICovCgoJYmFja2dyb3VuZDogaHNsYSgyNCwgMjAlLCA1MCUsLjA4KTsKCWJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIGhzbGEoMjQsIDIwJSwgNTAlLC4xKSA3MCUsIGhzbGEoMjQsIDIwJSwgNTAlLDApKTsKCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIGhzbGEoMjQsIDIwJSwgNTAlLC4xKSA3MCUsIGhzbGEoMjQsIDIwJSwgNTAlLDApKTsKCWJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBoc2xhKDI0LCAyMCUsIDUwJSwuMSkgNzAlLCBoc2xhKDI0LCAyMCUsIDUwJSwwKSk7CgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQobGVmdCwgaHNsYSgyNCwgMjAlLCA1MCUsLjEpIDcwJSwgaHNsYSgyNCwgMjAlLCA1MCUsMCkpOwoJCglwb2ludGVyLWV2ZW50czogbm9uZTsKCQoJbGluZS1oZWlnaHQ6IGluaGVyaXQ7Cgl3aGl0ZS1zcGFjZTogcHJlOwp9CgoJLmxpbmUtaGlnaGxpZ2h0OmJlZm9yZSwKCS5saW5lLWhpZ2hsaWdodFtkYXRhLWVuZF06YWZ0ZXIgewoJCWNvbnRlbnQ6IGF0dHIoZGF0YS1zdGFydCk7CgkJcG9zaXRpb246IGFic29sdXRlOwoJCXRvcDogLjRlbTsKCQlsZWZ0OiAuNmVtOwoJCW1pbi13aWR0aDogMWVtOwoJCXBhZGRpbmc6IDAgLjVlbTsKCQliYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDI0LCAyMCUsIDUwJSwuNCk7CgkJY29sb3I6IGhzbCgyNCwgMjAlLCA5NSUpOwoJCWZvbnQ6IGJvbGQgNjUlLzEuNSBzYW5zLXNlcmlmOwoJCXRleHQtYWxpZ246IGNlbnRlcjsKCQl2ZXJ0aWNhbC1hbGlnbjogLjNlbTsKCQlib3JkZXItcmFkaXVzOiA5OTlweDsKCQl0ZXh0LXNoYWRvdzogbm9uZTsKCQlib3gtc2hhZG93OiAwIDFweCB3aGl0ZTsKCX0KCQoJLmxpbmUtaGlnaGxpZ2h0W2RhdGEtZW5kXTphZnRlciB7CgkJY29udGVudDogYXR0cihkYXRhLWVuZCk7CgkJdG9wOiBhdXRvOwoJCWJvdHRvbTogLjRlbTsKCX0KcHJlLmxpbmUtbnVtYmVycyB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglwYWRkaW5nLWxlZnQ6IDMuOGVtOwoJY291bnRlci1yZXNldDogbGluZW51bWJlcjsKfQoKcHJlLmxpbmUtbnVtYmVycyA+IGNvZGUgewoJcG9zaXRpb246IHJlbGF0aXZlOwp9CgoubGluZS1udW1iZXJzIC5saW5lLW51bWJlcnMtcm93cyB7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cglwb2ludGVyLWV2ZW50czogbm9uZTsKCXRvcDogMDsKCWZvbnQtc2l6ZTogMTAwJTsKCWxlZnQ6IC0zLjhlbTsKCXdpZHRoOiAzZW07IC8qIHdvcmtzIGZvciBsaW5lLW51bWJlcnMgYmVsb3cgMTAwMCBsaW5lcyAqLwoJbGV0dGVyLXNwYWNpbmc6IC0xcHg7Cglib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTk5OwoKCS13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CgktbW96LXVzZXItc2VsZWN0OiBub25lOwoJLW1zLXVzZXItc2VsZWN0OiBub25lOwoJdXNlci1zZWxlY3Q6IG5vbmU7Cgp9CgoJLmxpbmUtbnVtYmVycy1yb3dzID4gc3BhbiB7CgkJcG9pbnRlci1ldmVudHM6IG5vbmU7CgkJZGlzcGxheTogYmxvY2s7CgkJY291bnRlci1pbmNyZW1lbnQ6IGxpbmVudW1iZXI7Cgl9CgoJCS5saW5lLW51bWJlcnMtcm93cyA+IHNwYW46YmVmb3JlIHsKCQkJY29udGVudDogY291bnRlcihsaW5lbnVtYmVyKTsKCQkJY29sb3I6ICM5OTk7CgkJCWRpc3BsYXk6IGJsb2NrOwoJCQlwYWRkaW5nLXJpZ2h0OiAwLjhlbTsKCQkJdGV4dC1hbGlnbjogcmlnaHQ7CgkJfQo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/css/template.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVNvdXJjZStTYW5zK1Bybyk7CkBpbXBvcnQgdXJsKCdwaHBkb2N1bWVudG9yLWNsZWFuLWljb25zL3N0eWxlLmNzcycpOwoKYm9keSB7CiAgICBwYWRkaW5nLXRvcDogICAgICA0MHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsKfQoKYSB7CiAgICBjb2xvcjogIzY0OTVlZDsKfQphLmFuY2hvciB7CiAgICBoZWlnaHQ6IDQwcHg7CiAgICBtYXJnaW4tdG9wOiAtNDBweDsKICAgIGRpc3BsYXk6IGJsb2NrOwp9CgpoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuYnJhbmQgewogICAgZm9udC1mYW1pbHk6ICAgICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmOwogICAgZm9udC13ZWlnaHQ6ICAgIG5vcm1hbDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07Cn0KCmgyLCBoMywgLmRldGFpbHNiYXIgaDEgewogICAgb3ZlcmZsb3c6ICAgIGhpZGRlbjsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBtYXJnaW46ICAgICAgMzBweCAwIDIwcHggMDsKfQoKaDI6YWZ0ZXIsIGgzOmFmdGVyLCAuZGV0YWlsc2JhciBoMTphZnRlciB7CiAgICBjb250ZW50OiAgICAgICAgJyc7CiAgICBkaXNwbGF5OiAgICAgICAgaW5saW5lLWJsb2NrOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIHdpZHRoOiAgICAgICAgICAxMDAlOwogICAgaGVpZ2h0OiAgICAgICAgIDJweDsKICAgIG1hcmdpbi1sZWZ0OiAgICAxZW07CiAgICBiYWNrZ3JvdW5kOiAgICAgc2lsdmVyOwp9CgpoMyB7CiAgICBtYXJnaW46IDEwcHggMCAyMHB4IDA7Cn0KCmg0IHsKICAgIG1hcmdpbjogICAgMjBweCAwIDEwcHggMDsKICAgIGNvbG9yOiAgICAgZ3JheTsKICAgIGZvbnQtc2l6ZTogMTguNXB4Owp9CgpoMy5wdWJsaWMsIGgzLnByb3RlY3RlZCwgaDMucHJpdmF0ZSB7CiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKfQoKLnRhYmxlIHRyOmZpcnN0LW9mLXR5cGUgdGgsIC50YWJsZSB0cjpmaXJzdC1vZi10eXBlIHRkIHsKICAgIGJvcmRlci10b3A6IG5vbmU7Cn0KLmRldGFpbHNiYXIgewogICAgY29sb3I6ICAgICAgICAgICAgI2VlZWVlZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7CiAgICBmb250LXNpemU6ICAgICAgICAwLjllbTsKICAgIG92ZXJmbG93OiAgICAgICAgIGhpZGRlbjsKICAgIGJvcmRlci1sZWZ0OiAgICAgIDJweCBzb2xpZCBncmF5Owp9CgouZGV0YWlsc2JhciBoMSB7CiAgICBmb250LXNpemU6ICAgICAxLjVlbTsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICBtYXJnaW4tdG9wOiAgICAwOwp9CgouZGV0YWlsc2JhciBoMiB7CiAgICBmb250LXNpemU6IDEuMmVtOwogICAgbWFyZ2luOiAgICAwOwogICAgcGFkZGluZzogICAwOwp9CgouZGV0YWlsc2JhciBoMTphZnRlciB7CiAgICBiYWNrZ3JvdW5kOiBncmF5Owp9Ci5kZXRhaWxzYmFyIGgyOmFmdGVyLCAuZGV0YWlsc2JhciBoMzphZnRlciB7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQoKLmRldGFpbHNiYXIgZHQgewogICAgZm9udC12YXJpYW50OiAgIHNtYWxsLWNhcHM7CiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOwogICAgZm9udC1zaXplOiAgICAgIDEuMWVtOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOwogICAgY29sb3I6ICAgICAgICAgIHNpbHZlcjsKfQoKLmhpZXJhcmNoeSBkaXY6bnRoLW9mLXR5cGUoMikgeyBtYXJnaW4tbGVmdDogMTFweDsgfQouaGllcmFyY2h5IGRpdjpudGgtb2YtdHlwZSgzKSB7IG1hcmdpbi1sZWZ0OiAyMnB4OyB9Ci5oaWVyYXJjaHkgZGl2Om50aC1vZi10eXBlKDQpIHsgbWFyZ2luLWxlZnQ6IDMzcHg7IH0KLmhpZXJhcmNoeSBkaXY6bnRoLW9mLXR5cGUoNSkgeyBtYXJnaW4tbGVmdDogNDRweDsgfQouaGllcmFyY2h5IGRpdjpudGgtb2YtdHlwZSg2KSB7IG1hcmdpbi1sZWZ0OiA1NXB4OyB9Ci5oaWVyYXJjaHkgZGl2Om50aC1vZi10eXBlKDcpIHsgbWFyZ2luLWxlZnQ6IDY2cHg7IH0KLmhpZXJhcmNoeSBkaXY6bnRoLW9mLXR5cGUoOCkgeyBtYXJnaW4tbGVmdDogNzdweDsgfQouaGllcmFyY2h5IGRpdjpudGgtb2YtdHlwZSg5KSB7IG1hcmdpbi1sZWZ0OiA4OHB4OyB9Ci5oaWVyYXJjaHkgZGl2OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZGEiOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogICAgbWFyZ2luLXJpZ2h0OiA1cHg7Cn0KCi5yb3ctZmx1aWQgewogICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICBvdmVyZmxvdzogICAgICAgICBoaWRkZW47Cn0KCmZvb3Rlci5yb3ctZmx1aWQsIGZvb3Rlci5yb3ctZmx1aWQgKiB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOwogICAgY29sb3I6ICAgICAgICAgICAgd2hpdGU7Cn0KCmZvb3Rlci5yb3ctZmx1aWQgewogICAgYm9yZGVyLXRvcDogMnB4IGRhc2hlZCAjNTU1OwogICAgbWFyZ2luLXRvcDogMnB4Owp9CgouZm9vdGVyLXNlY3Rpb25zIC5zcGFuNCB7CiAgICBib3JkZXI6ICAgICAgICAycHggc29saWQgIzU1NTsKICAgIHRleHQtYWxpZ246ICAgIGNlbnRlcjsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBtYXJnaW4tdG9wOiAgICA3MHB4OwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGJhY2tncm91bmQ6ICAgICMzNzM3Mzc7Cn0KCi5mb290ZXItc2VjdGlvbnMgLnNwYW40IGgxIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgbWFyZ2luLXRvcDogLTMwcHg7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgZm9udC1zaXplOiAgNWVtOwp9CgouZm9vdGVyLXNlY3Rpb25zIC5zcGFuNCBoMSAqIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgouZm9vdGVyLXNlY3Rpb25zIC5zcGFuNCBkaXYgewogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBtaW4taGVpZ2h0OiA0MHB4Owp9Ci5mb290ZXItc2VjdGlvbnMgLnNwYW40IGRpdiwgLmZvb3Rlci1zZWN0aW9ucyAuc3BhbjQgZGl2ICogewogICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTsKfQouZm9vdGVyLXNlY3Rpb25zIC5zcGFuNCB1bCB7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDA7Cn0KCi5jb250ZW50IHsKICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwogICAgcGFkZGluZy1yaWdodDogICAgMjBweDsKfQoKLmNvbnRlbnQgbmF2IHsKICAgIHRleHQtYWxpZ246ICAgICBjZW50ZXI7CiAgICBib3JkZXItYm90dG9tOiAgMXB4IHNvbGlkIHNpbHZlcjsKICAgIG1hcmdpbjogICAgICAgICA1cHggMCAyMHB4IDA7CiAgICBwYWRkaW5nLWJvdHRvbTogNXB4Owp9CgouY29udGVudCA+IGgxIHsKICAgIHBhZGRpbmctYm90dG9tOiAxNXB4Owp9CgouY29udGVudCA+IGgxIHNtYWxsIHsKICAgIGRpc3BsYXk6ICAgICAgICBibG9jazsKICAgIHBhZGRpbmctYm90dG9tOiA4cHg7CiAgICBmb250LXNpemU6ICAgICAgMC42ZW07Cn0KCi5kZXByZWNhdGVkIHsKICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOwp9CgoubWV0aG9kIHsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KCi5tZXRob2QgLnNpZ25hdHVyZSAuYXJndW1lbnQgewogICAgY29sb3I6ICAgICAgIG1hcm9vbjsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgouY2xhc3MgI3N1bW1hcnkgc2VjdGlvbi5yb3ctZmx1aWQgewogICAgb3ZlcmZsb3c6IGhpZGRlbgp9CgouY2xhc3MgI3N1bW1hcnkgLmhlYWRpbmcgewogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICB0ZXh0LWFsaWduOiAgY2VudGVyOwp9CgouY2xhc3MgI3N1bW1hcnkgc2VjdGlvbiAuc3BhbjQgewogICAgcGFkZGluZzogICAgICAgIDNweDsKICAgIG92ZXJmbG93OiAgICAgICBoaWRkZW47CiAgICBtYXJnaW4tYm90dG9tOiAgLTk5OTlweDsKICAgIHBhZGRpbmctYm90dG9tOiA5OTk5cHg7CiAgICB3aGl0ZS1zcGFjZTogICAgbm93cmFwOwogICAgdGV4dC1vdmVyZmxvdzogIGVsbGlwc2lzOwogICAgYm9yZGVyLWxlZnQ6ICAgIDVweCBzb2xpZCB0cmFuc3BhcmVudDsKfQoKLmNsYXNzICNzdW1tYXJ5IHNlY3Rpb24ucHVibGljIC5zcGFuNDpmaXJzdC1vZi10eXBlOmJlZm9yZSwKLmNsYXNzICNzdW1tYXJ5IHNlY3Rpb24ucHVibGljIC5zcGFuNjpmaXJzdC1vZi10eXBlOmJlZm9yZSwKaDMucHVibGljOmJlZm9yZSB7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgICBjb250ZW50OiAgICAgIlxmMDQ2IjsKICAgIGNvbG9yOiAgICAgICBncmVlbjsKICAgIGRpc3BsYXk6ICAgICBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogICAgICAgMS4yZW07Cn0KCi5jbGFzcyAjc3VtbWFyeSBzZWN0aW9uIC5zcGFuNDpmaXJzdC1vZi10eXBlLAouY2xhc3MgI3N1bW1hcnkgc2VjdGlvbiAuc3BhbjY6Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWxlZnQ6IDIxcHg7Cn0KLmNsYXNzICNzdW1tYXJ5IHNlY3Rpb24gLnNwYW40OmZpcnN0LW9mLXR5cGU6YmVmb3JlLAouY2xhc3MgI3N1bW1hcnkgc2VjdGlvbiAuc3BhbjY6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUgewogICAgbWFyZ2luLWxlZnQ6IC0yMXB4Owp9Ci5jbGFzcyAjc3VtbWFyeSBzZWN0aW9uLnByb3RlY3RlZCAuc3BhbjQ6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUsCi5jbGFzcyAjc3VtbWFyeSBzZWN0aW9uLnByb3RlY3RlZCAuc3BhbjY6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUsCmgzLnByb3RlY3RlZDpiZWZvcmUgewogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogICAgY29udGVudDogICAgICJcZjEzMiI7CiAgICBjb2xvcjogICAgICAgb3JhbmdlOwogICAgZGlzcGxheTogICAgIGlubGluZS1ibG9jazsKICAgIHdpZHRoOiAgICAgICAxLjJlbTsKfQoKLmNsYXNzICNzdW1tYXJ5IHNlY3Rpb24ucHJpdmF0ZSAuc3BhbjQ6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUsCi5jbGFzcyAjc3VtbWFyeSBzZWN0aW9uLnByaXZhdGUgLnNwYW42OmZpcnN0LW9mLXR5cGU6YmVmb3JlLApoMy5wcml2YXRlOmJlZm9yZSB7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgICBjb250ZW50OiAgICAgIlxmMDIzIjsKICAgIGNvbG9yOiAgICAgICByZWQ7CiAgICBkaXNwbGF5OiAgICAgaW5saW5lLWJsb2NrOwogICAgd2lkdGg6ICAgICAgIDEuMmVtOwp9CgouY2xhc3MgI3N1bW1hcnkgc2VjdGlvbiBlbSB7CiAgICBmb250LXNpemU6IDAuOWVtOwogICAgY29sb3I6IHNpbHZlcjsKfQouY2xhc3MgI3N1bW1hcnkgLmluaGVyaXRlZCB7CiAgICBjb2xvcjogICAgICBncmF5OwogICAgZm9udC1zdHlsZTogaXRhbGljOwp9CgouYWNjb3JkaW9uLWdyb3VwIHsKICAgIGJvcmRlcjogbm9uZTsKfQoKLmFjY29yZGlvbiB7CiAgICBtYXJnaW4tYm90dG9tOiAwOwp9CgouYWNjb3JkaW9uIGE6aG92ZXIgewogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgYmFja2dyb3VuZDogICAgICAjMzMzMzMzOwogICAgY29sb3I6ICAgICAgICAgICAjZWVlZWVlOwp9CgouYWNjb3JkaW9uLWhlYWRpbmcgLmFjY29yZGlvbi10b2dnbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICAgICAgIlxmMDc4IjsKICAgIGZvbnQtZmFtaWx5OiAgRm9udEF3ZXNvbWU7CiAgICBtYXJnaW4tcmlnaHQ6IDVweDsKfQoKLmFjY29yZGlvbi1oZWFkaW5nIC5hY2NvcmRpb24tdG9nZ2xlLmNvbGxhcHNlZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDU0IjsKfQouYWNjb3JkaW9uLWhlYWRpbmcgLmFjY29yZGlvbi10b2dnbGUgewogICAgZmxvYXQ6IGxlZnQ7CiAgICB3aWR0aDogMTZweDsKICAgIGhlaWdodDogMTZweDsKICAgIHBhZGRpbmc6IDRweCAycHggNHB4IDEycHg7Cn0KLmFjY29yZGlvbi1oZWFkaW5nIGEgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwYWRkaW5nOiA0cHggMTJweDsKfQoKLmFjY29yZGlvbi1pbm5lciBhIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcGFkZGluZzogNHB4IDEycHg7Cn0KCi5hY2NvcmRpb24taW5uZXIgPiB1bCBhOmJlZm9yZSB7CiAgICBmb250LWZhbWlseTogJ3BocGRvY3VtZW50b3ItY2xlYW4taWNvbnMnOwogICAgY29udGVudDogICAgICAiXGUwMDEiOwogICAgbWFyZ2luLXJpZ2h0OiA1cHg7Cn0KCi5hY2NvcmRpb24taW5uZXIgbGkuY2xhc3MgYTpiZWZvcmUgewogICAgY29udGVudDogICAgICAiXGUwMDIiOwp9CgouYWNjb3JkaW9uLWlubmVyIGxpLmludGVyZmFjZSBhOmJlZm9yZSB7CiAgICBjb250ZW50OiAgICAgICJcZTAwMSI7Cn0KCi5hY2NvcmRpb24taW5uZXIgbGkudHJhaXQgYTpiZWZvcmUgewogICAgY29udGVudDogICAgICAiXGUwMDAiOwp9CgouYWNjb3JkaW9uLWlubmVyIHsKICAgIHBhZGRpbmc6IDRweCAwIDRweCAxMnB4Owp9Ci5hY2NvcmRpb24taW5uZXIgdWwgewogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIHBhZGRpbmc6ICAgIDA7CiAgICBtYXJnaW46ICAgICAwOwp9Cgoucm93LWZsdWlkIC5zcGFuMiB7CiAgICB3aWR0aDogMTYuNSU7Cn0KCmJvZHkgLm1vZGFsIHsKICAgIHdpZHRoOiA5MCU7IC8qIGRlc2lyZWQgcmVsYXRpdmUgd2lkdGggKi8KICAgIGxlZnQ6IDUlOyAvKiAoMTAwJS13aWR0aCkvMiAqLwogICAgLyogcGxhY2UgY2VudGVyICovCiAgICBtYXJnaW4tbGVmdDphdXRvOwogICAgbWFyZ2luLXJpZ2h0OmF1dG87Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA3NjdweCkgewogICAgLnNpZGViYXIgewogICAgICAgIHBvc2l0aW9uOiAgICAgICAgIGZpeGVkOwogICAgICAgIHRvcDogICAgICAgICAgICAgIDQwcHg7CiAgICAgICAgYm90dG9tOiAgICAgICAgICAgMDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOwogICAgICAgIGxlZnQ6ICAgICAgICAgICAgIDA7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAgICAgMXB4IHNvbGlkICNlOWU5ZTk7CiAgICAgICAgb3ZlcmZsb3cteTogICAgICAgc2Nyb2xsOwogICAgICAgIG92ZXJmbG93LXg6ICAgICAgIGhpZGRlbjsKICAgICAgICBwYWRkaW5nLXRvcDogICAgICAxMHB4OwogICAgfQoKICAgIC5zaWRlYmFyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICB9CgogICAgLnNpZGViYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAgICAgICNjY2NjY2M7CiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICAgICAgICBib3JkZXI6ICAgICAgICAgIDNweCBzb2xpZCAjZjNmM2YzOwogICAgICAgIGJvcmRlci1yYWRpdXM6ICAgNXB4OwogICAgfQoKICAgIC5zaWRlYmFyOjotd2Via2l0LXNjcm9sbGJhci1idXR0b24gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLnNpZGViYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzOwogICAgfQp9CgpAbWVkaWEgKG1heC13aWR0aDogOTc5cHgpIHsKICAgIGJvZHkgewogICAgICAgIHBhZGRpbmctdG9wOiAwOwogICAgfQp9CgpAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsKICAgIC5jbGFzcyAjc3VtbWFyeSAuaGVhZGluZyB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAuZGV0YWlsc2JhciBoMSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICBib2R5IHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgIH0KCiAgICBmb290ZXIucm93LWZsdWlkLCBmb290ZXIucm93LWZsdWlkICogewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwogICAgfQoKICAgIC5mb290ZXItc2VjdGlvbnMgaDEgewogICAgICAgIGNvbG9yOiAjY2NjY2Q5OwogICAgfQoKICAgIC5kZXRhaWxzYmFyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgICBjb2xvcjogIzMzMzsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA3NjdweCkgewogICAgLmRldGFpbHNiYXIgewogICAgICAgIG1pbi1oZWlnaHQ6ICAgICAxMDAlOwogICAgICAgIG1hcmdpbi1ib3R0b206ICAtOTk5OTlweDsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTk5OTlweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6ICAgMjBweDsKICAgICAgICBwYWRkaW5nLXRvcDogICAgMTBweDsKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgewogICAgLnJvdy1mbHVpZCAuc3BhbjIgewogICAgICAgIHdpZHRoOiAxNi41JTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.disposition.php.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIGZ1bmN0aW9uIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpIHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgICAgIHZhciBzcmMgPSBwcmUuZ2V0QXR0cmlidXRlKCdkYXRhLXNyYycpOwogICAgICAgICAgICAgICAgdmFyIGV4dGVuc2lvbiA9IChzcmMubWF0Y2goL1wuKFx3KykkLykgfHwgWywgJyddKVsxXTsKICAgICAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgICAgIHZhciBjb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29kZScpOwogICAgICAgICAgICAgICAgY29kZS5jbGFzc05hbWUgPSAnbGFuZ3VhZ2UtJyArIGxhbmd1YWdlOwoKICAgICAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgICAgIGNvZGUudGV4dENvbnRlbnQgPSAnTG9hZGluZ+KApic7CgogICAgICAgICAgICAgICAgcHJlLmFwcGVuZENoaWxkKGNvZGUpOwoKICAgICAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgICAgICB4aHIub3BlbignR0VUJywgc3JjLCB0cnVlKTsKCiAgICAgICAgICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA8IDQwMCAmJiB4aHIucmVzcG9uc2VUZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0geGhyLnJlc3BvbnNlVGV4dDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHhoci5zdGF0dXMgPj0gNDAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB4aHIuc2VuZChudWxsKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICAgICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgICAgICB9KTsKICAgICAgICAkKCcjc291cmNlLXZpZXcnKS5vbignc2hvd24nLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpOwogICAgICAgIH0pCiAgICA8L3NjcmlwdD4KCiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjcyeDcyIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi03Mng3Mi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjExNHgxMTQiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTExNHgxMTQucG5nIi8+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWZpeGVkLXRvcCI+CiAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaW5uZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLW5hdmJhciIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1lbGxpcHNpcy12ZXJ0aWNhbCI+PC9pPgogICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJicmFuZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+Q0dQcm9kdWN0QnVpbGRlciAxLjIuMTwvYT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBwdWxsLXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vaW5kZXguaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBEb2N1bWVudGF0aW9uIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIGlkPSJjaGFydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9ncmFwaHMvY2xhc3MuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7Q2xhc3MgaGllcmFyY2h5IGRpYWdyYW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9InJlcG9ydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBvcnRzIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7RXJyb3JzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7TWFya2VycyA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyBwdWxsLXJpZ2h0Ij4wPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8IS0tPGRpdiBjbGFzcz0iZ29fdG9fdG9wIj4tLT4KICAgIDwhLS08YSBocmVmPSIjX19fIiBzdHlsZT0iY29sb3I6IGluaGVyaXQiPkJhY2sgdG8gdG9wJiMxNjA7JiMxNjA7PGkgY2xhc3M9Imljb24tdXBsb2FkIGljb24td2hpdGUiPjwvaT48L2E+LS0+CiAgICA8IS0tPC9kaXY+LS0+CjwvZGl2PgoKPGRpdiBpZD0iX19fIiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMiBzaWRlYmFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24iIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJhY2NvcmRpb24tdG9nZ2xlICIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI25hbWVzcGFjZS0yMjI1MTU4NDciPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL2RlZmF1bHQuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPlw8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMjIyNTE1ODQ3IiBjbGFzcz0iYWNjb3JkaW9uLWJvZHkgY29sbGFwc2UgaW4iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWlubmVyIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24iIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJhY2NvcmRpb24tdG9nZ2xlIGNvbGxhcHNlZCIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI25hbWVzcGFjZS0xMTA4MjkyMDE1Ij48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiIHN0eWxlPSJtYXJnaW4tbGVmdDogMzBweDsgcGFkZGluZy1sZWZ0OiAwIj5DR1Byb2R1Y3RCdWlsZGVyPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ibmFtZXNwYWNlLTExMDgyOTIwMTUiIGNsYXNzPSJhY2NvcmRpb24tYm9keSBjb2xsYXBzZSAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWlubmVyIj4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLnRpY2tldF9kaXNwb3NpdGlvbi5odG1sIj50aWNrZXRfZGlzcG9zaXRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5EaXNwb3NpdGlvbkhhbmRsZXIuaHRtbCI+RGlzcG9zaXRpb25IYW5kbGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCI+UHJvZHVjdFNwZWM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb24uaHRtbCI+b3B0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uX3NldC5odG1sIj5vcHRpb25fc2V0PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuZGlzcG9zaXRpb24uaHRtbCI+ZGlzcG9zaXRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjEwIG9mZnNldDIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBmaWxlIj4KICAgICAgICAgICAgICAgICAgICA8bmF2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmF2PgoKICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICAgICAgPGgxPjxzbWFsbD48L3NtYWxsPmNsYXNzLmRpc3Bvc2l0aW9uLnBocDwvaDE+CiAgICAgICAgICAgICAgICAgICAgPHA+PGVtPlRoaXMgZmlsZSBkZWZpbmVzIHRoZSBkaXNwb3NpdGlvbiBjbGFzczwvZW0+PC9wPgogICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5DbGFzc2VzPC9oMj4KICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWhvdmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwiPmRpc3Bvc2l0aW9uPC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGVtPkFuIGFic3RyYWN0IGNsYXNzIHRvIGRlZmluZSBhIGRpc3Bvc2l0aW9uLjwvZW0+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlV0aWxpdGllczwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Y2FsZ3V5MTAwMCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZzwvYT48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5cmlnaHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNvcHlyaWdodCAyMDEwIGJ5IFJvYmVydCBDYW1wYmVsbDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgoKICAgICAgICAgICAgICAgIDwvYXNpZGU+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDxkaXYgaWQ9InNvdXJjZS12aWV3IiBjbGFzcz0ibW9kYWwgaGlkZSBmYWRlIiB0YWJpbmRleD0iLTEiIHJvbGU9ImRpYWxvZyIgYXJpYS1sYWJlbGxlZGJ5PSJzb3VyY2Utdmlldy1sYWJlbCIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj7DlzwvYnV0dG9uPgogICAgICAgICAgICA8aDMgaWQ9InNvdXJjZS12aWV3LWxhYmVsIj48L2gzPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgogICAgICAgICAgICA8cHJlIGRhdGEtc3JjPSIuLi9maWxlcy9jbGFzcy5kaXNwb3NpdGlvbi5waHAudHh0IiBjbGFzcz0ibGFuZ3VhZ2UtcGhwIGxpbmUtbnVtYmVycyI+PC9wcmU+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8Zm9vdGVyIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIGZvb3Rlci1zZWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWJhci1jaGFydCI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj5DbGFzcyBIaWVyYXJjaHkgRGlhZ3JhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1wdXNocGluIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+RXJyb3JzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+TWFya2VyczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPGhyIC8+CiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnRhdGlvbiBpcyBwb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZy8iPnBocERvY3VtZW50b3IgPC9hPiBhbmQgYXV0aG9yZWQKICAgICAgICAgICAgICAgICAgICBvbiBPY3RvYmVyIDI0dGgsIDIwMTUgYXQgMTA6MTEuCiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.disposition.php.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgZGlzcG9zaXRpb24gY2xhc3MKICoKICogQHBhY2thZ2UgQ0dQcm9kdWN0QnVpbGRlcgogKiBAY2F0ZWdvcnkgVXRpbGl0aWVzCiAqIEBhdXRob3IgIGNhbGd1eTEwMDAgPGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+CiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IDIwMTAgYnkgUm9iZXJ0IENhbXBiZWxsCiAqLwoKbmFtZXNwYWNlIENHUHJvZHVjdEJ1aWxkZXI7CgovKioKICogQW4gYWJzdHJhY3QgY2xhc3MgdG8gZGVmaW5lIGEgZGlzcG9zaXRpb24uCiAqLwphYnN0cmFjdCBjbGFzcyBkaXNwb3NpdGlvbgp7CiAgICAvKioKICAgICAqIEdldCB0aGUgZnJpZW5kbHkgbmFtZSBmb3IgdGhpcyBkaXNwb3NpdGlvbi4KICAgICAqCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBnZXRfZnJpZW5kbHluYW1lKCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGJ1dHRvbiB0ZXh0IGZvciB0aGlzIGRpc3Bvc2l0aW9uLgogICAgICogVGhlIGJ1dHRvbiB0ZXh0IGlzIHVzZWQgb24gdGhlIGZpbmFsIHN1bW1hcnkgdmlldyBvZiB0aGUgcHJvZHVjdCBidWlsZGVyIHNvIHRoYXQgdGhlIGN1c3RvbWVyIGNhbiBzZWxlY3QgYSBkaXNwb3NpdGlvbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X2J1dHRvbnRleHQoKTsKCiAgICAvKioKICAgICAqIFRlc3QgaWYgdGhpcyBkaXNwb3NpdGlvbiBpcyBjb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgaW5zdGFsbCBvZiBDTVNNUy4KICAgICAqIFR5cGljYWxseSB0aGlzIHdvdWxkIGNoZWNrIGlmIGNlcnRhaW4gbW9kdWxlcyBhcmUgaW5zdGFsbGVkIGFuZCBwcm9wZXJseSBjb25maWd1cmVkLgogICAgICoKICAgICAqIEBhYnN0cmFjdAogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb21wYXRpYmxlKCkgeyByZXR1cm4gVFJVRTsgfQoKICAgIC8qKgogICAgICogVGVzdCBpZiB0aGlzIGRpc3Bvc2l0aW9uIGlzIHJlYWR5IHRvIGJlIHVzZWQgdG8gZGlzcG9zaW5nIGEgZm9ybS4KICAgICAqIE5vcm1hbGx5IHRoaXMgaW52b2x2ZXMgY2hlY2tpbmcgaWYgZW1haWwgc2VuZGluZyBpcyBwcm9wZXJseSBzZXR1cCwgb3IgdGhlIHVzZXIgaXMgbG9nZ2VkIGluIHRvIEZFVSBldGMuCiAgICAgKgogICAgICogQGFic3RyYWN0CiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlYWR5KCkgeyByZXR1cm4gVFJVRTsgfQoKICAgIC8qKgogICAgICogRGlzcG9zZSAoaGFuZGxlKSB0aGUgcHJvZHVjdCBzcGVjaWZpY2F0aW9uLgogICAgICoKICAgICAqIEBwYXJhbSBcQ0dQcm9kdWN0QnVpbGRlclxQcm9kdWN0U3BlYyAkcHJvZHVjdFNwZWMKICAgICAqIEByZXR1cm4gc3RyaW5nIE9wdGlvbmFsIHRleHQgdG8gZGlzcGxheSBhZnRlciBkaXNwb3Npbmcgb2YgdGhlIGZvcm0uCiAgICAgKi8KICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKFByb2R1Y3RTcGVjICRwcm9kdWN0U3BlYyk7Cn0gLy8gZW5kIG9mIGNsYXNzCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.DispositionHandler.php.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIGZ1bmN0aW9uIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpIHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgICAgIHZhciBzcmMgPSBwcmUuZ2V0QXR0cmlidXRlKCdkYXRhLXNyYycpOwogICAgICAgICAgICAgICAgdmFyIGV4dGVuc2lvbiA9IChzcmMubWF0Y2goL1wuKFx3KykkLykgfHwgWywgJyddKVsxXTsKICAgICAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgICAgIHZhciBjb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29kZScpOwogICAgICAgICAgICAgICAgY29kZS5jbGFzc05hbWUgPSAnbGFuZ3VhZ2UtJyArIGxhbmd1YWdlOwoKICAgICAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgICAgIGNvZGUudGV4dENvbnRlbnQgPSAnTG9hZGluZ+KApic7CgogICAgICAgICAgICAgICAgcHJlLmFwcGVuZENoaWxkKGNvZGUpOwoKICAgICAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgICAgICB4aHIub3BlbignR0VUJywgc3JjLCB0cnVlKTsKCiAgICAgICAgICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA8IDQwMCAmJiB4aHIucmVzcG9uc2VUZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0geGhyLnJlc3BvbnNlVGV4dDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHhoci5zdGF0dXMgPj0gNDAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB4aHIuc2VuZChudWxsKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICAgICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgICAgICB9KTsKICAgICAgICAkKCcjc291cmNlLXZpZXcnKS5vbignc2hvd24nLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpOwogICAgICAgIH0pCiAgICA8L3NjcmlwdD4KCiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjcyeDcyIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi03Mng3Mi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjExNHgxMTQiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTExNHgxMTQucG5nIi8+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWZpeGVkLXRvcCI+CiAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaW5uZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLW5hdmJhciIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1lbGxpcHNpcy12ZXJ0aWNhbCI+PC9pPgogICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJicmFuZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+Q0dQcm9kdWN0QnVpbGRlciAxLjIuMTwvYT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBwdWxsLXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vaW5kZXguaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBEb2N1bWVudGF0aW9uIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIGlkPSJjaGFydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9ncmFwaHMvY2xhc3MuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7Q2xhc3MgaGllcmFyY2h5IGRpYWdyYW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9InJlcG9ydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBvcnRzIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7RXJyb3JzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7TWFya2VycyA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyBwdWxsLXJpZ2h0Ij4wPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8IS0tPGRpdiBjbGFzcz0iZ29fdG9fdG9wIj4tLT4KICAgIDwhLS08YSBocmVmPSIjX19fIiBzdHlsZT0iY29sb3I6IGluaGVyaXQiPkJhY2sgdG8gdG9wJiMxNjA7JiMxNjA7PGkgY2xhc3M9Imljb24tdXBsb2FkIGljb24td2hpdGUiPjwvaT48L2E+LS0+CiAgICA8IS0tPC9kaXY+LS0+CjwvZGl2PgoKPGRpdiBpZD0iX19fIiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMiBzaWRlYmFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24iIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJhY2NvcmRpb24tdG9nZ2xlICIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI25hbWVzcGFjZS0xODg2ODk3Nzc0Ij48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9kZWZhdWx0Lmh0bWwiIHN0eWxlPSJtYXJnaW4tbGVmdDogMzBweDsgcGFkZGluZy1sZWZ0OiAwIj5cPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ibmFtZXNwYWNlLTE4ODY4OTc3NzQiIGNsYXNzPSJhY2NvcmRpb24tYm9keSBjb2xsYXBzZSBpbiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTMyMjkwODk5NiI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDMwcHg7IHBhZGRpbmctbGVmdDogMCI+Q0dQcm9kdWN0QnVpbGRlcjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im5hbWVzcGFjZS0zMjI5MDg5OTYiIGNsYXNzPSJhY2NvcmRpb24tYm9keSBjb2xsYXBzZSAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWlubmVyIj4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLnRpY2tldF9kaXNwb3NpdGlvbi5odG1sIj50aWNrZXRfZGlzcG9zaXRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5EaXNwb3NpdGlvbkhhbmRsZXIuaHRtbCI+RGlzcG9zaXRpb25IYW5kbGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCI+UHJvZHVjdFNwZWM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb24uaHRtbCI+b3B0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uX3NldC5odG1sIj5vcHRpb25fc2V0PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuZGlzcG9zaXRpb24uaHRtbCI+ZGlzcG9zaXRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjEwIG9mZnNldDIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBmaWxlIj4KICAgICAgICAgICAgICAgICAgICA8bmF2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmF2PgoKICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICAgICAgPGgxPjxzbWFsbD48L3NtYWxsPmNsYXNzLkRpc3Bvc2l0aW9uSGFuZGxlci5waHA8L2gxPgogICAgICAgICAgICAgICAgICAgIDxwPjxlbT5UaGlzIGZpbGUgZGVmaW5lcyB0aGUgRGlzcG9zaXRpb25IYW5kbGVyIGNsYXNzPC9lbT48L3A+CiAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPkNsYXNzZXM8L2gyPgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtaG92ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuRGlzcG9zaXRpb25IYW5kbGVyLmh0bWwiPkRpc3Bvc2l0aW9uSGFuZGxlcjwvYT48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxlbT5BIGNsYXNzIHRvIG1hbmFnZSBhbmQgaW50ZXJhY3Qgd2l0aCBkaXNwb3NpdGlvbnMuPC9lbT48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICAgICAgICAgIDxoMj5UYWdzPC9oMj4KICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRlbnNlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VXRpbGl0aWVzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5jYWxndXkxMDAwIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj5jYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPC9hPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcHlyaWdodAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Q29weXJpZ2h0IDIwMTAgYnkgUm9iZXJ0IENhbXBiZWxsPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CgogICAgICAgICAgICAgICAgPC9hc2lkZT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPGRpdiBpZD0ic291cmNlLXZpZXciIGNsYXNzPSJtb2RhbCBoaWRlIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9InNvdXJjZS12aWV3LWxhYmVsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiPsOXPC9idXR0b24+CiAgICAgICAgICAgIDxoMyBpZD0ic291cmNlLXZpZXctbGFiZWwiPjwvaDM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CiAgICAgICAgICAgIDxwcmUgZGF0YS1zcmM9Ii4uL2ZpbGVzL2NsYXNzLkRpc3Bvc2l0aW9uSGFuZGxlci5waHAudHh0IiBjbGFzcz0ibGFuZ3VhZ2UtcGhwIGxpbmUtbnVtYmVycyI+PC9wcmU+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8Zm9vdGVyIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIGZvb3Rlci1zZWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWJhci1jaGFydCI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj5DbGFzcyBIaWVyYXJjaHkgRGlhZ3JhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1wdXNocGluIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+RXJyb3JzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+TWFya2VyczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPGhyIC8+CiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnRhdGlvbiBpcyBwb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZy8iPnBocERvY3VtZW50b3IgPC9hPiBhbmQgYXV0aG9yZWQKICAgICAgICAgICAgICAgICAgICBvbiBPY3RvYmVyIDI0dGgsIDIwMTUgYXQgMTA6MTEuCiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.DispositionHandler.php.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgRGlzcG9zaXRpb25IYW5kbGVyIGNsYXNzCiAqCiAqIEBwYWNrYWdlIENHUHJvZHVjdEJ1aWxkZXIKICogQGNhdGVnb3J5IFV0aWxpdGllcwogKiBAYXV0aG9yICBjYWxndXkxMDAwIDxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPgogKiBAY29weXJpZ2h0IENvcHlyaWdodCAyMDEwIGJ5IFJvYmVydCBDYW1wYmVsbAogKi8KCm5hbWVzcGFjZSBDR1Byb2R1Y3RCdWlsZGVyOwoKLyoqCiAqIEEgY2xhc3MgdG8gbWFuYWdlIGFuZCBpbnRlcmFjdCB3aXRoIGRpc3Bvc2l0aW9ucy4KICoKICogQHBhY2thZ2UgQ0dQcm9kdWN0QnVpbGRlcgogKiBAc2VlIFxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9uCiAqLwpmaW5hbCBjbGFzcyBEaXNwb3NpdGlvbkhhbmRsZXIKewogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIGNvbnN0IGtfTU9EVUxFID0gJ21vZHVsZSc7CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIGNvbnN0IGtfQ0xBU1MgPSAnY2xhc3MnOwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSBzdGF0aWMgJF9kaXNwb3NpdGlvbnM7CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9sb2FkX2Rpc3Bvc2l0aW9ucygpCiAgICB7CiAgICAgICAgaWYoICFpc19hcnJheShzZWxmOjokX2Rpc3Bvc2l0aW9ucykgKSB7CiAgICAgICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICAgICAgJHRtcCA9ICRtb2QtPkdldFByZWZlcmVuY2UoX19DTEFTU19fKTsKICAgICAgICAgICAgc2VsZjo6JF9kaXNwb3NpdGlvbnMgPSBhcnJheSgpOwogICAgICAgICAgICBpZiggJHRtcCApIHNlbGY6OiRfZGlzcG9zaXRpb25zID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfc2F2ZV9kaXNwb3NpdGlvbnMoKQogICAgewogICAgICAgICR0bXAgPSBudWxsOwogICAgICAgIGlmKCBpc19hcnJheShzZWxmOjokX2Rpc3Bvc2l0aW9ucykgJiYgY291bnQoc2VsZjo6JF9kaXNwb3NpdGlvbnMpICkgewogICAgICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dQUk9EVUNUQlVJTERFUik7CiAgICAgICAgICAgICRtb2QtPlNldFByZWZlcmVuY2UoX19DTEFTU19fLHNlcmlhbGl6ZShzZWxmOjokX2Rpc3Bvc2l0aW9ucykpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJlZ2lzdGVyIGEgZGlzcG9zaXRpb24uCiAgICAgKgogICAgICogVGhlIGNsYXNzIG5hbWUgbXVzdCBiZSB1bmlxdWUgdG8gYWxsIHJlZ2lzdGVyZWQgZGlzcG9zaXRpb25zLiAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBuYW1lc3BhY2VzIGJlIHVzZWQuCiAgICAgKiBUaGlzIG1ldGhvZCB3aWxsIHRyeSB0byBpbnN0YW50aWF0ZSB0aGUgY2xhc3Mgc3BlY2lmaWVkIHRvIGVuc3VyZSB0aGF0IGl0IGNhbiBiZSBsb2FkZWQgcHJvcGVybHkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbW9kdWxlIFRoZSBtb2R1bGUgdGhhdCBjb250YWlucyB0aGlzIGRpc3Bvc2l0aW9uLgogICAgICogQHBhcmFtIHN0cmluZyAkY2xhc3NuYW1lIFRoZSBuYW1lIG9mIHRoZSBjbGFzcy4gIFRoZSBjbGFzcyBtdXN0IGJlIGRlcml2ZWQgZnJvbSBcQ0dQcm9kdWN0QnVpbGRlclxkaXNwb3NpdGlvbgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJlZ2lzdGVyX2Rpc3Bvc2l0aW9uKCRtb2R1bGUsJGNsYXNzbmFtZSkKICAgIHsKICAgICAgICAkbW9kdWxlID0gKHN0cmluZykgJG1vZHVsZTsKICAgICAgICAkY2xhc3NuYW1lID0gKHN0cmluZykgJGNsYXNzbmFtZTsKICAgICAgICBpZiggISRtb2R1bGUgfHwgISRjbGFzc25hbWUgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRhdGEgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CgogICAgICAgIHNlbGY6Ol9sb2FkX2Rpc3Bvc2l0aW9ucygpOwogICAgICAgICRmb3VuZCA9IGZhbHNlOwogICAgICAgIGZvcmVhY2goIHNlbGY6OiRfZGlzcG9zaXRpb25zIGFzICRyb3cgKSB7CiAgICAgICAgICAgIGlmKCAkcm93W3NlbGY6OmtfQ0xBU1NdID09ICRjbGFzc25hbWUgKSB7CiAgICAgICAgICAgICAgICAkZm91bmQgPSBUUlVFOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmKCAhJGZvdW5kICkgewogICAgICAgICAgICAkdF9tb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRtb2R1bGVuYW1lKTsKICAgICAgICAgICAgJG9iaiA9IG5ldyAkY2xhc3NuYW1lOyAvLyB0cnkgdG8gaW5zdGFudGlhdGUgaXQKICAgICAgICAgICAgaWYoICEkb2JqIGluc3RhbmNlb2YgZGlzcG9zaXRpb24gKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJGNsYXNzbmFtZS4nIGlzIG5vdCBhIHZhbGlkIGRpc3Bvc2l0aW9uIGNsYXNzJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdW5zZXQoJG9iaik7CiAgICAgICAgICAgIHNlbGY6OiRfZGlzcG9zaXRpb25zW10gPSBhcnJheShzZWxmOjprX01PRFVMRT0+JG1vZHVsZSxzZWxmOjprX0NMQVNTPT4kY2xhc3NuYW1lKTsKICAgICAgICAgICAgc2VsZjo6X3NhdmVfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogVW5yZWdpc3RlciBhbGwgZGlzcG9zaXRpb25zIHJlZ2lzdGVyZWQgZm9yIGEgc3BlY2lmaWMgbW9kdWxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG1vZHVsZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHVucmVnaXN0ZXJfbW9kdWxlX2Rpc3Bvc2l0aW9ucygkbW9kdWxlKQogICAgewogICAgICAgICRtb2R1bGUgPSAoc3RyaW5nKSAkbW9kdWxlOwogICAgICAgIGlmKCAhJG1vZHVsZSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgZGF0YSBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKCiAgICAgICAgc2VsZjo6X2xvYWRfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgJGxpc3QgPSBhcnJheSgpOwogICAgICAgICRmbmQgPSBGQUxTRTsKICAgICAgICBmb3JlYWNoKCBzZWxmOjokX2Rpc3Bvc2l0aW9ucyBhcyAkcm93ICkgewogICAgICAgICAgICBpZiggJHJvd1tzZWxmOjprX01PRFVMRV0gPT0gJG1vZHVsZSApIHsKICAgICAgICAgICAgICAgICRmbmQgPSBUUlVFOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJGxpc3RbXSA9ICRyb3c7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoICRmbmQgKSB7CiAgICAgICAgICAgIHNlbGY6Ol9zYXZlX2Rpc3Bvc2l0aW9ucygpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFVuLXJlZ2lzdGVyIGEgc3BlY2lmaWMgZGlzcG9zaXRpb24gYnkgaXRzIGNhbHNzIG5hbWUuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkY2xhc3MKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB1bnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2NsYXNzKCRjbGFzcykKICAgIHsKICAgICAgICAkY2xhc3MgPSAoc3RyaW5nKSAkY2xhc3M7CiAgICAgICAgaWYoICEkY2xhc3MgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRhdGEgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CgogICAgICAgIHNlbGY6Ol9sb2FkX2Rpc3Bvc2l0aW9ucygpOwogICAgICAgICRsaXN0ID0gYXJyYXkoKTsKICAgICAgICAkZm5kID0gRkFMU0U7CiAgICAgICAgZm9yZWFjaCggc2VsZjo6JF9kaXNwb3NpdGlvbnMgYXMgJHJvdyApIHsKICAgICAgICAgICAgaWYoICRyb3dbc2VsZjo6a19DTEFTU10gPT0gJGNsYXNzICkgewogICAgICAgICAgICAgICAgJGZuZCA9IFRSVUU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkbGlzdFtdID0gJHJvdzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiggJGZuZCApIHsKICAgICAgICAgICAgc2VsZjo6X3NhdmVfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBsaXN0IG9mIHJlZ2lzdGVyZWQgY2xhc3Nlcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ1tdCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3JlZ2lzdGVyZWRfY2xhc3NlcygpCiAgICB7CiAgICAgICAgc2VsZjo6X2xvYWRfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCggc2VsZjo6JF9kaXNwb3NpdGlvbnMgYXMgJHJvdyApIHsKICAgICAgICAgICAgJG91dFtdID0gJHJvd1tzZWxmOjprX0NMQVNTXTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFycmF5X3VuaXF1ZSgkb3V0KTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbGwgb2YgdGhlIHJlZ2lzdGVyZWQgZGlzcG9zaXRpb25zLgogICAgICoKICAgICAqIEByZXR1cm4gXENHUHJvZHVjdEJ1aWxkZXJcZGlzcG9zaXRpb25bXQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9kaXNwb3NpdGlvbnMoKQogICAgewogICAgICAgIHNlbGY6Ol9sb2FkX2Rpc3Bvc2l0aW9ucygpOwogICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2goIHNlbGY6OiRfZGlzcG9zaXRpb25zIGFzICRyb3cgKSB7CiAgICAgICAgICAgICRvdXRbXSA9IG5ldyAkcm93W3NlbGY6OmtfQ0xBU1NdOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhIGxpc3QgKHN1aXRhYmxlIGZvciB1c2UgaW4gZHJvcGRvd25zKSBvZiBkaXNwb3NpdGlvbnMuCiAgICAgKiBUaGUga2V5cyBvZiB0aGUgcmV0dXJuZWQgYXJyYXkgYXJlIHRoZSBjbGFzcyBuYW1lcy4gIFRoZSB2YWx1ZXMgYXJlIGRpc3Bvc2l0aW9uIGZyaWVuZGx5IG5hbWVzLgogICAgICogT25seSB0aG9zZSBkaXNwb3NpdGlvbnMgZGVlbWVkIGFzICdjb21wYXRpYmxlJyB3aXRoIHRoZSBjdXJyZW50IGluc3RhbGwgd2lsbCBiZSByZXR1cm5lZC4KICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkYWxsIFdldGhlciBvciBub3QgdG8gcmV0dXJuIGFsbCBkaXNwb3NpdGlvbnMsIGNvbXBhdGlibGUgb3Igbm90LgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9kaXNwb3NpdGlvbl9saXN0KCRhbGwgPSBGQUxTRSkKICAgIHsKICAgICAgICAkYWxsID0gKGJvb2wpICRhbGw7CiAgICAgICAgJGxpc3QgPSBzZWxmOjpnZXRfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgaWYoIGlzX2FycmF5KCRsaXN0KSAmJiBjb3VudCgkbGlzdCkgKSB7CiAgICAgICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkb2JqICkgewogICAgICAgICAgICAgICAgaWYoICEkYWxsICYmICEkb2JqLT5jb21wYXRpYmxlKCkgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICRjbGFzc25hbWUgPSBnZXRfY2xhc3MoJG9iaik7CiAgICAgICAgICAgICAgICBpZiggIXN0YXJ0c3dpdGgoJGNsYXNzbmFtZSwnXFwnKSApICRjbGFzc25hbWUgPSAnXFwnLiRjbGFzc25hbWU7CiAgICAgICAgICAgICAgICAkb3V0W2dldF9jbGFzcygkb2JqKV0gPSAkb2JqLT5nZXRfZnJpZW5kbHluYW1lKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICRvdXQ7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgbGlzdCBvZiBkaXNwb3NpdGlvbnMgdGhhdCBhcmUgcmVhZHksYW5kIGNhbiBiZSB1c2VkIGZvciBkaXNwb3Npbmcgb2YgdGhlIGN1cnJlbnQgZm9ybS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3JlYWR5X2Rpc3Bvc2l0aW9uX2xpc3QoKQogICAgewogICAgICAgICRsaXN0ID0gc2VsZjo6Z2V0X2Rpc3Bvc2l0aW9ucygpOwogICAgICAgIGlmKCAhY291bnQoJGxpc3QpICkgcmV0dXJuOwoKICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkb2JqICkgewogICAgICAgICAgICBpZiggISRvYmotPnJlYWR5KCkgKSBjb250aW51ZTsKICAgICAgICAgICAgJGNsYXNzbmFtZSA9IGdldF9jbGFzcygkb2JqKTsKICAgICAgICAgICAgaWYoICFzdGFydHN3aXRoKCRjbGFzc25hbWUsJ1xcJykgKSAkY2xhc3NuYW1lID0gJ1xcJy4kY2xhc3NuYW1lOwogICAgICAgICAgICAkb3V0W2dldF9jbGFzcygkb2JqKV0gPSAkb2JqLT5nZXRfZnJpZW5kbHluYW1lKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGRpc3Bvc2l0aW9ucyBtYXRjaGluZyB0aGUgY2xhc3MgbmFtZSBvciBjbGFzcyBuYW1lcyBzdXBwbGllZC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfHN0cmluZ1tdICRjbGFzc25hbWVzCiAgICAgKiBAcmV0dXJuIFxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9ufFxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9uW10KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZGlzcG9zaXRpb24oJGNsYXNzbmFtZXMpCiAgICB7CiAgICAgICAgaWYoICFpc19hcnJheSgkY2xhc3NuYW1lcykgKSB7CiAgICAgICAgICAgICRjbGFzc25hbWVzID0gKHN0cmluZykgJGNsYXNzbmFtZXM7CiAgICAgICAgICAgIGlmKCAhJGNsYXNzbmFtZXMgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRhdGEgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CiAgICAgICAgICAgICRjbGFzc25hbWVzID0gYXJyYXkoJGNsYXNzbmFtZXMpOwogICAgICAgIH0KCiAgICAgICAgc2VsZjo6X2xvYWRfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCggJGNsYXNzbmFtZXMgYXMgJGNsYXNzICkgewogICAgICAgICAgICAkY2xhc3MgPSB0cmltKCRjbGFzcyk7CiAgICAgICAgICAgIGlmKCAhJGNsYXNzICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCAhc3RhcnRzd2l0aCgkY2xhc3MsJ1xcJykgKSAkY2xhc3MgPSAnXFwnLiRjbGFzczsKICAgICAgICAgICAgJGZuZCA9IEZBTFNFOwogICAgICAgICAgICBmb3JlYWNoKCBzZWxmOjokX2Rpc3Bvc2l0aW9ucyBhcyAkcm93ICkgewogICAgICAgICAgICAgICAgaWYoICRjbGFzcyA9PSAkcm93W3NlbGY6OmtfQ0xBU1NdICkgewogICAgICAgICAgICAgICAgICAgICRvYmogPSBuZXcgJHJvd1tzZWxmOjprX0NMQVNTXTsKICAgICAgICAgICAgICAgICAgICAkb3V0W10gPSAkb2JqOwogICAgICAgICAgICAgICAgICAgICRmbmQgPSBUUlVFOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCAhJGZuZCApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJGNsYXNzLicgaXMgbm90IGEgcmVnaXN0ZXJlZCBkaXNwb3NpdG9uJyk7CiAgICAgICAgfQoKICAgICAgICBpZiggY291bnQoJG91dCkgPT0gMSApIHJldHVybiAkb3V0WzBdOwogICAgICAgIHJldHVybiAkb3V0OwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.option.php.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIGZ1bmN0aW9uIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpIHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgICAgIHZhciBzcmMgPSBwcmUuZ2V0QXR0cmlidXRlKCdkYXRhLXNyYycpOwogICAgICAgICAgICAgICAgdmFyIGV4dGVuc2lvbiA9IChzcmMubWF0Y2goL1wuKFx3KykkLykgfHwgWywgJyddKVsxXTsKICAgICAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgICAgIHZhciBjb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29kZScpOwogICAgICAgICAgICAgICAgY29kZS5jbGFzc05hbWUgPSAnbGFuZ3VhZ2UtJyArIGxhbmd1YWdlOwoKICAgICAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgICAgIGNvZGUudGV4dENvbnRlbnQgPSAnTG9hZGluZ+KApic7CgogICAgICAgICAgICAgICAgcHJlLmFwcGVuZENoaWxkKGNvZGUpOwoKICAgICAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgICAgICB4aHIub3BlbignR0VUJywgc3JjLCB0cnVlKTsKCiAgICAgICAgICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA8IDQwMCAmJiB4aHIucmVzcG9uc2VUZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0geGhyLnJlc3BvbnNlVGV4dDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHhoci5zdGF0dXMgPj0gNDAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB4aHIuc2VuZChudWxsKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICAgICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgICAgICB9KTsKICAgICAgICAkKCcjc291cmNlLXZpZXcnKS5vbignc2hvd24nLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpOwogICAgICAgIH0pCiAgICA8L3NjcmlwdD4KCiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjcyeDcyIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi03Mng3Mi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjExNHgxMTQiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTExNHgxMTQucG5nIi8+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWZpeGVkLXRvcCI+CiAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaW5uZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLW5hdmJhciIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1lbGxpcHNpcy12ZXJ0aWNhbCI+PC9pPgogICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJicmFuZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+Q0dQcm9kdWN0QnVpbGRlciAxLjIuMTwvYT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBwdWxsLXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vaW5kZXguaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBEb2N1bWVudGF0aW9uIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIGlkPSJjaGFydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9ncmFwaHMvY2xhc3MuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7Q2xhc3MgaGllcmFyY2h5IGRpYWdyYW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9InJlcG9ydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBvcnRzIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7RXJyb3JzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7TWFya2VycyA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyBwdWxsLXJpZ2h0Ij4wPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8IS0tPGRpdiBjbGFzcz0iZ29fdG9fdG9wIj4tLT4KICAgIDwhLS08YSBocmVmPSIjX19fIiBzdHlsZT0iY29sb3I6IGluaGVyaXQiPkJhY2sgdG8gdG9wJiMxNjA7JiMxNjA7PGkgY2xhc3M9Imljb24tdXBsb2FkIGljb24td2hpdGUiPjwvaT48L2E+LS0+CiAgICA8IS0tPC9kaXY+LS0+CjwvZGl2PgoKPGRpdiBpZD0iX19fIiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMiBzaWRlYmFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24iIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJhY2NvcmRpb24tdG9nZ2xlICIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI25hbWVzcGFjZS0xMzM5NzAzODQ0Ij48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9kZWZhdWx0Lmh0bWwiIHN0eWxlPSJtYXJnaW4tbGVmdDogMzBweDsgcGFkZGluZy1sZWZ0OiAwIj5cPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ibmFtZXNwYWNlLTEzMzk3MDM4NDQiIGNsYXNzPSJhY2NvcmRpb24tYm9keSBjb2xsYXBzZSBpbiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTUxODg0OTE0MSI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDMwcHg7IHBhZGRpbmctbGVmdDogMCI+Q0dQcm9kdWN0QnVpbGRlcjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im5hbWVzcGFjZS01MTg4NDkxNDEiIGNsYXNzPSJhY2NvcmRpb24tYm9keSBjb2xsYXBzZSAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWlubmVyIj4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLnRpY2tldF9kaXNwb3NpdGlvbi5odG1sIj50aWNrZXRfZGlzcG9zaXRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5EaXNwb3NpdGlvbkhhbmRsZXIuaHRtbCI+RGlzcG9zaXRpb25IYW5kbGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCI+UHJvZHVjdFNwZWM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb24uaHRtbCI+b3B0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uX3NldC5odG1sIj5vcHRpb25fc2V0PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuZGlzcG9zaXRpb24uaHRtbCI+ZGlzcG9zaXRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjEwIG9mZnNldDIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBmaWxlIj4KICAgICAgICAgICAgICAgICAgICA8bmF2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmF2PgoKICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICAgICAgPGgxPjxzbWFsbD48L3NtYWxsPmNsYXNzLm9wdGlvbi5waHA8L2gxPgogICAgICAgICAgICAgICAgICAgIDxwPjxlbT5UaGlzIGZpbGUgZGVmaW5lcyB0aGUgb3B0aW9uIGNsYXNzPC9lbT48L3A+CiAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPkNsYXNzZXM8L2gyPgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtaG92ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uLmh0bWwiPm9wdGlvbjwvYT48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxlbT5EZWZpbmUgYSBzaW5nbGUgb3B0aW9uLjwvZW0+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlByb2R1Y3RzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5jYWxndXkxMDAwIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj5jYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPC9hPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcHlyaWdodAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Q29weXJpZ2h0IDIwMTAgYnkgUm9iZXJ0IENhbXBiZWxsPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CgogICAgICAgICAgICAgICAgPC9hc2lkZT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPGRpdiBpZD0ic291cmNlLXZpZXciIGNsYXNzPSJtb2RhbCBoaWRlIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9InNvdXJjZS12aWV3LWxhYmVsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiPsOXPC9idXR0b24+CiAgICAgICAgICAgIDxoMyBpZD0ic291cmNlLXZpZXctbGFiZWwiPjwvaDM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CiAgICAgICAgICAgIDxwcmUgZGF0YS1zcmM9Ii4uL2ZpbGVzL2NsYXNzLm9wdGlvbi5waHAudHh0IiBjbGFzcz0ibGFuZ3VhZ2UtcGhwIGxpbmUtbnVtYmVycyI+PC9wcmU+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8Zm9vdGVyIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIGZvb3Rlci1zZWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWJhci1jaGFydCI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj5DbGFzcyBIaWVyYXJjaHkgRGlhZ3JhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1wdXNocGluIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+RXJyb3JzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+TWFya2VyczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPGhyIC8+CiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnRhdGlvbiBpcyBwb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZy8iPnBocERvY3VtZW50b3IgPC9hPiBhbmQgYXV0aG9yZWQKICAgICAgICAgICAgICAgICAgICBvbiBPY3RvYmVyIDI0dGgsIDIwMTUgYXQgMTA6MTEuCiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.option.php.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgb3B0aW9uIGNsYXNzCiAqCiAqIEBwYWNrYWdlIENHUHJvZHVjdEJ1aWxkZXIKICogQGNhdGVnb3J5IFByb2R1Y3RzCiAqIEBhdXRob3IgIGNhbGd1eTEwMDAgPGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+CiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IDIwMTAgYnkgUm9iZXJ0IENhbXBiZWxsCiAqLwoKbmFtZXNwYWNlIENHUHJvZHVjdEJ1aWxkZXI7CgovKioKICogRGVmaW5lIGEgc2luZ2xlIG9wdGlvbi4KICogT3B0aW9ucyBhcmUgc3RvcmVkIHdpdGhpbiBhbiBvcHRpb24gc2V0IG9iamVjdC4KICoKICogQHBhY2thZ2UgQ0dQcm9kdWN0QnVpbGRlcgogKiBAcHJvcGVydHkgc3RyaW5nICRuYW1lIFRoZSBvcHRpb24gbmFtZQogKiBAcHJvcGVydHkgc3RyaW5nICRkZXNjcmlwdGlvbiBUaGUgb3B0aW9uIGRlc2NyaXB0aW9uIChtYXkgY29udGFpbiBIVE1MKQogKiBAcHJvcGVydHkgZmxvYXQgcmV0YWlscHJpY2UgVGhlIHJldGFpbCBwcmljZSBmb3IgdGhpcyBvcHRpb24uCiAqIEBwcm9wZXJ0eSBmbG9hdCB3aG9sZXNhbGVwcmljZSBUaGUgd2hvbGVzYWxlIHByaWNlIGZvciB0aGlzIG9wdGlvbi4KICovCmNsYXNzIG9wdGlvbgp7CiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSAkX2RhdGEgPSBhcnJheSgnbmFtZSc9Pm51bGwsJ2Rlc2NyaXB0aW9uJz0+bnVsbCwnd2hvbGVzYWxlcHJpY2UnPT5udWxsLCdyZXRhaWxwcmljZSc9Pm51bGwpOwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnbmFtZSc6CiAgICAgICAgY2FzZSAnZGVzY3JpcHRpb24nOgogICAgICAgIGNhc2UgJ3JldGFpbHByaWNlJzoKICAgICAgICBjYXNlICd3aG9sZXNhbGVwcmljZSc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2RhdGFbJGtleV07CgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJGtleS4nIGlzIG5vdCBhIHZhbGlkIG1lbWJlciBvZiAnLl9fQ0xBU1NfXyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoJGtleSwkdmFsdWUpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ25hbWUnOgogICAgICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgoc3RyaW5nKSAkdmFsdWUpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAncmV0YWlscHJpY2UnOgogICAgICAgIGNhc2UgJ3dob2xlc2FsZXByaWNlJzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gKGZsb2F0KSAkdmFsdWU7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCRrZXkuJyBpcyBub3QgYSB2YWxpZCBtZW1iZXIgb2YgJy5fX0NMQVNTX18pOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9faXNzZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnbmFtZSc6CiAgICAgICAgY2FzZSAnZGVzY3JpcHRpb24nOgogICAgICAgIGNhc2UgJ3JldGFpbHByaWNlJzoKICAgICAgICBjYXNlICd3aG9sZXNhbGVwcmljZSc6CiAgICAgICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCRrZXkuJyBpcyBub3QgYSB2YWxpZCBtZW1iZXIgb2YgJy5fX0NMQVNTX18pOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fdW5zZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnbmFtZSc6CiAgICAgICAgY2FzZSAnZGVzY3JpcHRpb24nOgogICAgICAgIGNhc2UgJ3JldGFpbHByaWNlJzoKICAgICAgICBjYXNlICd3aG9sZXNhbGVwcmljZSc6CiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IG51bGw7CgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJGtleS4nIGlzIG5vdCBhIHZhbGlkIG1lbWJlciBvZiAnLl9fQ0xBU1NfXyk7CiAgICAgICAgfQogICAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKPz4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.option_set.php.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIGZ1bmN0aW9uIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpIHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgICAgIHZhciBzcmMgPSBwcmUuZ2V0QXR0cmlidXRlKCdkYXRhLXNyYycpOwogICAgICAgICAgICAgICAgdmFyIGV4dGVuc2lvbiA9IChzcmMubWF0Y2goL1wuKFx3KykkLykgfHwgWywgJyddKVsxXTsKICAgICAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgICAgIHZhciBjb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29kZScpOwogICAgICAgICAgICAgICAgY29kZS5jbGFzc05hbWUgPSAnbGFuZ3VhZ2UtJyArIGxhbmd1YWdlOwoKICAgICAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgICAgIGNvZGUudGV4dENvbnRlbnQgPSAnTG9hZGluZ+KApic7CgogICAgICAgICAgICAgICAgcHJlLmFwcGVuZENoaWxkKGNvZGUpOwoKICAgICAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgICAgICB4aHIub3BlbignR0VUJywgc3JjLCB0cnVlKTsKCiAgICAgICAgICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA8IDQwMCAmJiB4aHIucmVzcG9uc2VUZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0geGhyLnJlc3BvbnNlVGV4dDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHhoci5zdGF0dXMgPj0gNDAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB4aHIuc2VuZChudWxsKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICAgICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgICAgICB9KTsKICAgICAgICAkKCcjc291cmNlLXZpZXcnKS5vbignc2hvd24nLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpOwogICAgICAgIH0pCiAgICA8L3NjcmlwdD4KCiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjcyeDcyIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi03Mng3Mi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjExNHgxMTQiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTExNHgxMTQucG5nIi8+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWZpeGVkLXRvcCI+CiAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaW5uZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLW5hdmJhciIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1lbGxpcHNpcy12ZXJ0aWNhbCI+PC9pPgogICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJicmFuZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+Q0dQcm9kdWN0QnVpbGRlciAxLjIuMTwvYT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBwdWxsLXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vaW5kZXguaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBEb2N1bWVudGF0aW9uIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIGlkPSJjaGFydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9ncmFwaHMvY2xhc3MuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7Q2xhc3MgaGllcmFyY2h5IGRpYWdyYW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9InJlcG9ydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBvcnRzIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7RXJyb3JzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7TWFya2VycyA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyBwdWxsLXJpZ2h0Ij4wPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8IS0tPGRpdiBjbGFzcz0iZ29fdG9fdG9wIj4tLT4KICAgIDwhLS08YSBocmVmPSIjX19fIiBzdHlsZT0iY29sb3I6IGluaGVyaXQiPkJhY2sgdG8gdG9wJiMxNjA7JiMxNjA7PGkgY2xhc3M9Imljb24tdXBsb2FkIGljb24td2hpdGUiPjwvaT48L2E+LS0+CiAgICA8IS0tPC9kaXY+LS0+CjwvZGl2PgoKPGRpdiBpZD0iX19fIiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMiBzaWRlYmFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24iIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJhY2NvcmRpb24tdG9nZ2xlICIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI25hbWVzcGFjZS0yOTQxMjkwMzciPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL2RlZmF1bHQuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPlw8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMjk0MTI5MDM3IiBjbGFzcz0iYWNjb3JkaW9uLWJvZHkgY29sbGFwc2UgaW4iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWlubmVyIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24iIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJhY2NvcmRpb24tdG9nZ2xlIGNvbGxhcHNlZCIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI25hbWVzcGFjZS02OTY1NDg3NzIiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPkNHUHJvZHVjdEJ1aWxkZXI8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtNjk2NTQ4NzcyIiBjbGFzcz0iYWNjb3JkaW9uLWJvZHkgY29sbGFwc2UgIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1pbm5lciI+CgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci50aWNrZXRfZGlzcG9zaXRpb24uaHRtbCI+dGlja2V0X2Rpc3Bvc2l0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuRGlzcG9zaXRpb25IYW5kbGVyLmh0bWwiPkRpc3Bvc2l0aW9uSGFuZGxlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLlByb2R1Y3RTcGVjLmh0bWwiPlByb2R1Y3RTcGVjPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uLmh0bWwiPm9wdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbl9zZXQuaHRtbCI+b3B0aW9uX3NldDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwiPmRpc3Bvc2l0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4xMCBvZmZzZXQyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgZmlsZSI+CiAgICAgICAgICAgICAgICAgICAgPG5hdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25hdj4KCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iI3NvdXJjZS12aWV3IiByb2xlPSJidXR0b24iIGNsYXNzPSJwdWxsLXJpZ2h0IGJ0biIgZGF0YS10b2dnbGU9Im1vZGFsIj48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgIDxoMT48c21hbGw+PC9zbWFsbD5jbGFzcy5vcHRpb25fc2V0LnBocDwvaDE+CiAgICAgICAgICAgICAgICAgICAgPHA+PGVtPlRoaXMgZmlsZSBkZWZpbmVzIHRoZSBvcHRpb25fc2V0IGNsYXNzPC9lbT48L3A+CiAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPkNsYXNzZXM8L2gyPgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtaG92ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uX3NldC5odG1sIj5vcHRpb25fc2V0PC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGVtPkRlZmluZSBhbiBvcHRpb24gc2V0LjwvZW0+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlByb2R1Y3RzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5jYWxndXkxMDAwIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj5jYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPC9hPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcHlyaWdodAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Q29weXJpZ2h0IDIwMTAgYnkgUm9iZXJ0IENhbXBiZWxsPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CgogICAgICAgICAgICAgICAgPC9hc2lkZT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPGRpdiBpZD0ic291cmNlLXZpZXciIGNsYXNzPSJtb2RhbCBoaWRlIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9InNvdXJjZS12aWV3LWxhYmVsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiPsOXPC9idXR0b24+CiAgICAgICAgICAgIDxoMyBpZD0ic291cmNlLXZpZXctbGFiZWwiPjwvaDM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CiAgICAgICAgICAgIDxwcmUgZGF0YS1zcmM9Ii4uL2ZpbGVzL2NsYXNzLm9wdGlvbl9zZXQucGhwLnR4dCIgY2xhc3M9Imxhbmd1YWdlLXBocCBsaW5lLW51bWJlcnMiPjwvcHJlPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGZvb3RlciBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDIiPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBmb290ZXItc2VjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1iYXItY2hhcnQiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9ncmFwaHMvY2xhc3MuaHRtbCI+Q2xhc3MgSGllcmFyY2h5IERpYWdyYW08L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tcHVzaHBpbiI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL3JlcG9ydHMvZXJyb3JzLmh0bWwiPkVycm9yczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9tYXJrZXJzLmh0bWwiPk1hcmtlcnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDEiPgogICAgICAgICAgICAgICAgICAgIDxociAvPgogICAgICAgICAgICAgICAgICAgIERvY3VtZW50YXRpb24gaXMgcG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LnBocGRvYy5vcmcvIj5waHBEb2N1bWVudG9yIDwvYT4gYW5kIGF1dGhvcmVkCiAgICAgICAgICAgICAgICAgICAgb24gT2N0b2JlciAyNHRoLCAyMDE1IGF0IDEwOjExLgogICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9mb290ZXI+CjwvZGl2PgoKPC9ib2R5Pgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.option_set.php.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgb3B0aW9uX3NldCBjbGFzcwogKgogKiBAcGFja2FnZSBDR1Byb2R1Y3RCdWlsZGVyCiAqIEBjYXRlZ29yeSBQcm9kdWN0cwogKiBAYXV0aG9yICBjYWxndXkxMDAwIDxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPgogKiBAY29weXJpZ2h0IENvcHlyaWdodCAyMDEwIGJ5IFJvYmVydCBDYW1wYmVsbAogKi8KCm5hbWVzcGFjZSBDR1Byb2R1Y3RCdWlsZGVyOwoKLyoqCiAqIERlZmluZSBhbiBvcHRpb24gc2V0LgogKiBBbiBvcHRpb24gc2V0IGNvbnRhaW5zIGFuIGlkLCBuYW1lLCBkZXNjcmlwdGlvbiwgYW5kIGFsc28gY29udGFpbnMgYSBsaXN0IG9mIG9wdGlvbnMuCiAqIFRoaXMgY2xhc3MgaGFuZGxlcyBzYXZpbmcgYW5kIGxvYWRpbmcgb2JqZWN0cyBvZiB0aGlzIHR5cGUuCiAqCiAqIEBwYWNrYWdlIENHUHJvZHVjdEJ1aWxkZXIKICogQHByb3BlcnR5LXJlYWQgaW50ICRpZCBUaGUgb3B0aW9uIHNldCBpZCAoYSB2YWxpZCBpbnRlZ2VyIG9uY2Ugc2F2ZWQgdG8gdGhlIGRhdGFiYXNlKS4KICogQHByb3BlcnR5IHN0cmluZyAkbmFtZSBUaGUgb3B0aW9uIHNldCBuYW1lLgogKiBAcHJvcGVydHkgc3RyaW5nICRkZXNjcmlwdGlvbiBBIGRlc2NyaXB0aW9uIGZvciB0aGlzIG9wdGlvbiBzZXQgKG1heSBpbmNsdWRlIEhUTUwpCiAqLwpjbGFzcyBvcHRpb25fc2V0CnsKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCdpZCc9Pm51bGwsJ25hbWUnPT5udWxsLCdkZXNjcmlwdGlvbic9Pm51bGwsJ2lvcmRlcic9Pm51bGwsJ211bHRpc2VsZWN0Jz0+bnVsbCk7CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHByaXZhdGUgJF9vcHRpb25zID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSBzdGF0aWMgJF9hbGxfZGF0YTsKCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2lkJzoKICAgICAgICBjYXNlICduYW1lJzoKICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgY2FzZSAnaW9yZGVyJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVska2V5XTsKCiAgICAgICAgY2FzZSAnbXVsdGlzZWxlY3QnOgogICAgICAgICAgICByZXR1cm4gKGJvb2wpICR0aGlzLT5fZGF0YVska2V5XTsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigka2V5LicgaXMgbm90IGEgdmFsaWQgbWVtYmVyIG9mICcuX19DTEFTU19fKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgka2V5LCR2YWx1ZSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnaWQnOgogICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJGtleS4nIGlzIG5vdCBhIHNldHRhYmxlIG1lbWJlciBvZiAnLl9fQ0xBU1NfXyk7CgogICAgICAgIGNhc2UgJ25hbWUnOgogICAgICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzoKICAgICAgICAgICAgJHZhbHVlID0gdHJpbSgoc3RyaW5nKSAkdmFsdWUpOwogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsdWU7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdpb3JkZXInOgogICAgICAgICAgICAkdmFsdWUgPSAoaW50KSAkdmFsdWU7CiAgICAgICAgICAgICR2YWx1ZSA9IG1heCgwLCR2YWx1ZSk7CiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ211bHRpc2VsZWN0JzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gXGNnZV91dGlsczo6dG9fYm9vbCgkdmFsdWUpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigka2V5LicgaXMgbm90IGEgdmFsaWQgbWVtYmVyIG9mICcuX19DTEFTU19fKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2lzc2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2lkJzoKICAgICAgICBjYXNlICduYW1lJzoKICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgY2FzZSAnaW9yZGVyJzoKICAgICAgICBjYXNlICdtdWx0aXNlbGVjdCc6CiAgICAgICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCRrZXkuJyBpcyBub3QgYSB2YWxpZCBtZW1iZXIgb2YgJy5fX0NMQVNTX18pOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fdW5zZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnaWQnOgogICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJGtleS4nIGlzIG5vdCBhIHNldHRhYmxlIG1lbWJlciBvZiAnLl9fQ0xBU1NfXyk7CgogICAgICAgIGNhc2UgJ25hbWUnOgogICAgICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzoKICAgICAgICBjYXNlICdpb3JkZXInOgogICAgICAgIGNhc2UgJ211bHRpc2VsZWN0JzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gbnVsbDsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJGtleS4nIGlzIG5vdCBhIHZhbGlkIG1lbWJlciBvZiAnLl9fQ0xBU1NfXyk7CiAgICAgICAgfQoKICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9pbnNlcnQoKQogICAgewogICAgICAgIGlmKCAkdGhpcy0+aWQgPiAwICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbihfX01FVEhPRF9fLicgY2Fubm90IGJlIGNhbGxlZCB3aXRoIGEgcHJldmlvdXNseSBzYXZlZCAnLl9fQ0xBU1NfXyk7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAgICAgLy8gZmlndXJlIG91dCBhIG5ldyBvcHRpb24gaW9yZGVyIHZhbHVlCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBDT0FMRVNDRShNQVgoaW9yZGVyKSwwKSsxIEZST00gJy5DR1BCX09QVFNFVFNfVEFCTEU7CiAgICAgICAgJGlvcmRlciA9IChpbnQpICRkYi0+R2V0T25lKCRxdWVyeSk7CiAgICAgICAgJHRoaXMtPl9kYXRhWydpb3JkZXInXSA9ICRpb3JkZXI7CgogICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkNHUEJfT1BUU0VUU19UQUJMRS4nIChuYW1lLCBkZXNjcmlwdGlvbiwgaW9yZGVyLCBvcHRpb25zLCBtdWx0aXNlbGVjdCkgVkFMVUVTICg/LD8sPyw/LD8pJzsKICAgICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+bmFtZSwkdGhpcy0+ZGVzY3JpcHRpb24sJHRoaXMtPmlvcmRlciwgc2VyaWFsaXplKCR0aGlzLT5fb3B0aW9ucyksICR0aGlzLT5tdWx0aXNlbGVjdCkpOwogICAgICAgICR0aGlzLT5fZGF0YVsnaWQnXSA9IChpbnQpICRkYi0+SW5zZXJ0X0lEKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfdXBkYXRlKCkKICAgIHsKICAgICAgICBpZiggJHRoaXMtPmlkIDwgMSApIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oX19NRVRIT0RfXy4nIGNhbm5vdCBiZSBjYWxsZWQgd2l0aCBhIHByZXZpb3VzbHkgc2F2ZWQgJy5fX0NMQVNTX18pOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgICAgICRxdWVyeSA9ICdVUERBVEUgJy5DR1BCX09QVFNFVFNfVEFCTEUuJyBTRVQgbmFtZSA9ID8sIGRlc2NyaXB0aW9uID0gPywgaW9yZGVyID0gPywgb3B0aW9ucyA9ID8sIG11bHRpc2VsZWN0ID0gPyBXSEVSRSBpZCA9ID8nOwogICAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5uYW1lLCR0aGlzLT5kZXNjcmlwdGlvbiwgJHRoaXMtPmlvcmRlciwgc2VyaWFsaXplKCR0aGlzLT5fb3B0aW9ucyksICR0aGlzLT5tdWx0aXNlbGVjdCwgJHRoaXMtPmlkKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBFbnN1cmUgdGhhdCB0aGUgY29udGVudHMgb2YgdGhlIG9wdGlvbiBzZXQgYXJlIHZhbGlkLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICBpZiggJHRoaXMtPm5hbWUgPT0gJycgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCRtb2QtPkxhbmcoJ2Vycm9yX25hbWVfcmVxdWlyZWQnKSk7CiAgICAgICAgJHRfaWQgPSBzZWxmOjpnZXRfaWRfYnlfbmFtZSgkdGhpcy0+bmFtZSk7CiAgICAgICAgaWYoICR0aGlzLT5pZCA+IDAgKSB7CiAgICAgICAgICAgIGlmKCAkdGhpcy0+aW9yZGVyIDwgMSAgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCRtb2QtPkxhbmcoJ2Vycm9yX2ludmFsaWRfb3JkZXInKSk7CiAgICAgICAgICAgIGlmKCAkdF9pZCA+IDAgJiYgJHRfaWQgIT0gJHRoaXMtPmlkICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigkbW9kLT5MYW5nKCdlcnJfb3B0aW9uc2V0X2V4aXN0cycpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiggJHRfaWQgPiAwICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigkbW9kLT5MYW5nKCdlcnJfb3B0aW9uc2V0X2V4aXN0cycpKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBTYXZlIHRoaXMgb3B0aW9uIHNldCB0byB0aGUgZGF0YWJhc2UuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCkKICAgIHsKICAgICAgICAkdGhpcy0+dmFsaWRhdGUoKTsKICAgICAgICBpZiggJHRoaXMtPmlkID4gMCApIHsKICAgICAgICAgICAgJHRoaXMtPl91cGRhdGUoKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5faW5zZXJ0KCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogTG9hZCBhbiBvcHRpb24gc2V0IGZyb20gdGhlIGRhdGFiYXNlLgogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJGlkIFRoZSBvcHRpb24gc2V0IGlkLgogICAgICogQHJldHVybiBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25fc2V0CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZCgkaWQpCiAgICB7CiAgICAgICAgJGlkID0gKGludCkgJGlkOwogICAgICAgIGlmKCAkaWQgPCAxICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbignSW52YWxpZCBpZCB2YWx1ZSBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKCiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIGlkLG5hbWUsZGVzY3JpcHRpb24saW9yZGVyLG9wdGlvbnMsbXVsdGlzZWxlY3QgRlJPTSAnLkNHUEJfT1BUU0VUU19UQUJMRS4nIFdIRVJFIGlkID0gPyc7CiAgICAgICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkaWQpKTsKICAgICAgICBpZiggIWlzX2FycmF5KCRyb3cpICkgdGhyb3cgbmV3IFxjZ19ub3Rmb3VuZEV4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgYW4gb3B0aW9uIHNldCB3aXRoIGlkICcuJGlkKTsKCiAgICAgICAgcmV0dXJuIHNlbGY6OmZpbGxfZnJvbV9kYXRhKCRyb3cpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2lkX2J5X25hbWUoJG5hbWUpCiAgICB7CiAgICAgICAgJG5hbWUgPSB0cmltKCRuYW1lKTsKICAgICAgICBpZiggISRuYW1lICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbignSW52YWxpZCBuYW1lIHZhbHVlIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwoKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkNHUEJfT1BUU0VUU19UQUJMRS4nIFdIRVJFIG5hbWUgPSA/JzsKICAgICAgICAkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5KTsKICAgICAgICByZXR1cm4gJHRtcDsKICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyBmdW5jdGlvbiBmaWxsX2Zyb21fZGF0YShhcnJheSAkcm93KQogICAgewogICAgICAgICRvYmogPSBuZXcgc2VsZigpOwogICAgICAgIGZvcmVhY2goIGFycmF5X2tleXMoJG9iai0+X2RhdGEpIGFzICRrZXkgKSB7CiAgICAgICAgICAgIGlmKCAhYXJyYXlfa2V5X2V4aXN0cygka2V5LCRyb3cpICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigka2V5LicgaXMgbWlzc2luZyBmcm9tIGlucHV0IGRhdGEnKTsKICAgICAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgICAgICBjYXNlICdpb3JkZXInOgogICAgICAgICAgICBjYXNlICdpZCc6CiAgICAgICAgICAgICAgICAkb2JqLT5fZGF0YVska2V5XSA9IChpbnQpICRyb3dbJGtleV07CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ25hbWUnOgogICAgICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgICAgICAgICAkdmFsdWUgPSB0cmltKChzdHJpbmcpICRyb3dbJGtleV0pOwogICAgICAgICAgICAgICAgJG9iai0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWx1ZSk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ211bHRpc2VsZWN0JzoKICAgICAgICAgICAgICAgICRvYmotPl9kYXRhWyRrZXldID0gKGJvb2wpICRyb3dbJGtleV07CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYoIGlzc2V0KCRyb3dbJ29wdGlvbnMnXSkgKSB7CiAgICAgICAgICAgICR0bXAgPSB1bnNlcmlhbGl6ZSgkcm93WydvcHRpb25zJ10pOwogICAgICAgICAgICBpZiggaXNfYXJyYXkoJHRtcCkgKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoKCAkdG1wIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoICEgJG9uZSBpbnN0YW5jZW9mIFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbiApIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbignSW52YWxpZCBvcHRpb24gZGF0YSBzcGVjaWZpZWQnKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJG9iai0+X29wdGlvbnMgPSAkdG1wOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG9iajsKICAgIH0KCiAgICAvKioKICAgICAqIExvYWQgYWxsIG9wdGlvbiBzZXRzLgogICAgICoKICAgICAqIEByZXR1cm4gXENHUHJvZHVjdEJ1aWxkZXJcb3B0aW9uX3NldFtdCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9hbGwoKQogICAgewogICAgICAgIGlmKCAhaXNfYXJyYXkoc2VsZjo6JF9hbGxfZGF0YSkgKSB7CiAgICAgICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQsbmFtZSxkZXNjcmlwdGlvbixpb3JkZXIsb3B0aW9ucyxtdWx0aXNlbGVjdCBGUk9NICcuQ0dQQl9PUFRTRVRTX1RBQkxFLicgT1JERVIgQlkgaW9yZGVyJzsKICAgICAgICAgICAgJGxpc3QgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgICAgICAgICRvdXQgPSBudWxsOwogICAgICAgICAgICBpZiggaXNfYXJyYXkoJGxpc3QpICYmIGNvdW50KCRsaXN0KSApIHsKICAgICAgICAgICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgZm9yZWFjaCggJGxpc3QgYXMgJHJvdyApIHsKICAgICAgICAgICAgICAgICAgICAkb3V0W10gPSBzZWxmOjpmaWxsX2Zyb21fZGF0YSgkcm93KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzZWxmOjokX2FsbF9kYXRhID0gJG91dDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHNlbGY6OiRfYWxsX2RhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZW5lcmF0ZSBhIGxpc3QgKHN1aXRhYmxlIGZvciB1c2UgaW4gZHJvcGRvd25zKSBvZiBhbGwgb3B0aW9uIHNldHMuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxvYWRfbGlzdCgpCiAgICB7CiAgICAgICAgJHRtcCA9IHNlbGY6OmxvYWRfYWxsKCk7CiAgICAgICAgaWYoIGlzX2FycmF5KCR0bXApICkgewogICAgICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewogICAgICAgICAgICAgICAgJG91dFskb25lLT5pZF0gPSAkb25lLT5uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkb3V0OwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENvcHkgdGhpcyBvcHRpb24gc2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb3B5KCkKICAgIHsKICAgICAgICAkb2JqID0gY2xvbmUgJHRoaXM7CiAgICAgICAgJG9iai0+X2RhdGFbJ2lkJ10gPSAkb2JqLT5fZGF0YVsnbmFtZSddID0gJG9iai0+X2RhdGFbJ2lvcmRlciddID0gbnVsbDsKICAgICAgICByZXR1cm4gJG9iajsKICAgIH0KCiAgICAvKioKICAgICAqIERlbGV0ZSB0aGlzIG9wdGlvbiBzZXQuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoKQogICAgewogICAgICAgIGlmKCAkdGhpcy0+aWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignQ2Fubm90IGRlbGV0ZSBhICcuX19DTEFTU19fLicgdGhhdCBoYXMgbm90IGJlZW4gc2F2ZWQnKTsKCiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5DR1BCX09QVFNFVFNfVEFCTEUuJyBXSEVSRSBpZCA9ID8nOwogICAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5pZCkpOwogICAgICAgICRzb3J0aW5nID0gJHRoaXMtPmlvcmRlcjsKICAgICAgICAkdGhpcy0+X2RhdGFbJ2lkJ10gPSBudWxsOwogICAgICAgICR0aGlzLT5fZGF0YVsnaW9yZGVyJ10gPSBudWxsOwoKICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQ0dQQl9PUFRTRVRTX1RBQkxFLicgU0VUIGlvcmRlciA9IGlvcmRlciAtIDEgV0hFUkUgaW9yZGVyID4gPyc7CiAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkc29ydGluZykpOwogICAgfQoKICAgIC8qKgogICAgICogVGVzdCBpZiB0aGlzIG9wdGlvbiBzZXQgaGFzIG9wdGlvbnMuCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNfb3B0aW9ucygpCiAgICB7CiAgICAgICAgcmV0dXJuIChjb3VudCgkdGhpcy0+X29wdGlvbnMpID4gMCk7CiAgICB9CgoKICAgIC8qKgogICAgICogR2V0IGFsbCBvZiB0aGUgb3B0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhpcyBvcHRpb24gc2V0LgogICAgICoKICAgICAqIEByZXR1cm4gXENHUHJvZHVjdEJ1aWxkZXJcb3B0aW9uW10KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldF9vcHRpb25zKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9vcHRpb25zOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGFsbCBvZiB0aGUgb3B0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhpcyBvcHRpb24gc2V0LgogICAgICoKICAgICAqIEBwYXJhbSBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25bXSAkb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X29wdGlvbnMoYXJyYXkgJG9wdGlvbnMpCiAgICB7CiAgICAgICAgZm9yZWFjaCggJG9wdGlvbnMgYXMgJG9wdCApIHsKICAgICAgICAgICAgaWYoICEgJG9wdCBpbnN0YW5jZW9mIFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbiApIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJ0ludmFsaWQgb3B0aW9uIGRhdGEgc3BlY2lmaWVkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICR0aGlzLT5fb3B0aW9ucyA9ICRvcHRpb25zOwogICAgfQoKICAgIC8qKgogICAgICogRGVsZXRlIGFsbCBvZiB0aGUgb3B0aW9ucyB0aGF0IGFyZSBjdXJyZW50bHkgYXNzb2NpYXRlZCB3aXRoIHRoaXMgb3B0aW9uIHNldC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZV9vcHRpb25zKCkKICAgIHsKICAgICAgICAkdGhpcy0+X29wdGlvbnMgPSBudWxsOwogICAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.ProductSpec.php.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIGZ1bmN0aW9uIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpIHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgICAgIHZhciBzcmMgPSBwcmUuZ2V0QXR0cmlidXRlKCdkYXRhLXNyYycpOwogICAgICAgICAgICAgICAgdmFyIGV4dGVuc2lvbiA9IChzcmMubWF0Y2goL1wuKFx3KykkLykgfHwgWywgJyddKVsxXTsKICAgICAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgICAgIHZhciBjb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29kZScpOwogICAgICAgICAgICAgICAgY29kZS5jbGFzc05hbWUgPSAnbGFuZ3VhZ2UtJyArIGxhbmd1YWdlOwoKICAgICAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgICAgIGNvZGUudGV4dENvbnRlbnQgPSAnTG9hZGluZ+KApic7CgogICAgICAgICAgICAgICAgcHJlLmFwcGVuZENoaWxkKGNvZGUpOwoKICAgICAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgICAgICB4aHIub3BlbignR0VUJywgc3JjLCB0cnVlKTsKCiAgICAgICAgICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA8IDQwMCAmJiB4aHIucmVzcG9uc2VUZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0geGhyLnJlc3BvbnNlVGV4dDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHhoci5zdGF0dXMgPj0gNDAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB4aHIuc2VuZChudWxsKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICAgICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgICAgICB9KTsKICAgICAgICAkKCcjc291cmNlLXZpZXcnKS5vbignc2hvd24nLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpOwogICAgICAgIH0pCiAgICA8L3NjcmlwdD4KCiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjcyeDcyIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi03Mng3Mi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjExNHgxMTQiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTExNHgxMTQucG5nIi8+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWZpeGVkLXRvcCI+CiAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaW5uZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLW5hdmJhciIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1lbGxpcHNpcy12ZXJ0aWNhbCI+PC9pPgogICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJicmFuZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+Q0dQcm9kdWN0QnVpbGRlciAxLjIuMTwvYT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBwdWxsLXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vaW5kZXguaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBEb2N1bWVudGF0aW9uIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIGlkPSJjaGFydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9ncmFwaHMvY2xhc3MuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7Q2xhc3MgaGllcmFyY2h5IGRpYWdyYW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9InJlcG9ydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBvcnRzIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7RXJyb3JzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7TWFya2VycyA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyBwdWxsLXJpZ2h0Ij4wPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8IS0tPGRpdiBjbGFzcz0iZ29fdG9fdG9wIj4tLT4KICAgIDwhLS08YSBocmVmPSIjX19fIiBzdHlsZT0iY29sb3I6IGluaGVyaXQiPkJhY2sgdG8gdG9wJiMxNjA7JiMxNjA7PGkgY2xhc3M9Imljb24tdXBsb2FkIGljb24td2hpdGUiPjwvaT48L2E+LS0+CiAgICA8IS0tPC9kaXY+LS0+CjwvZGl2PgoKPGRpdiBpZD0iX19fIiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMiBzaWRlYmFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24iIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJhY2NvcmRpb24tdG9nZ2xlICIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI25hbWVzcGFjZS0xOTQzOTExNTEyIj48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9kZWZhdWx0Lmh0bWwiIHN0eWxlPSJtYXJnaW4tbGVmdDogMzBweDsgcGFkZGluZy1sZWZ0OiAwIj5cPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ibmFtZXNwYWNlLTE5NDM5MTE1MTIiIGNsYXNzPSJhY2NvcmRpb24tYm9keSBjb2xsYXBzZSBpbiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTEyMTIyNDc4MjgiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPkNHUHJvZHVjdEJ1aWxkZXI8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMTIxMjI0NzgyOCIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlICI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIudGlja2V0X2Rpc3Bvc2l0aW9uLmh0bWwiPnRpY2tldF9kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sIj5EaXNwb3NpdGlvbkhhbmRsZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5Qcm9kdWN0U3BlYy5odG1sIj5Qcm9kdWN0U3BlYzwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbi5odG1sIj5vcHRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwiPm9wdGlvbl9zZXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sIj5kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IGZpbGUiPgogICAgICAgICAgICAgICAgICAgIDxuYXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uYXY+CgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiNzb3VyY2UtdmlldyIgcm9sZT0iYnV0dG9uIiBjbGFzcz0icHVsbC1yaWdodCBidG4iIGRhdGEtdG9nZ2xlPSJtb2RhbCI+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICA8aDE+PHNtYWxsPjwvc21hbGw+Y2xhc3MuUHJvZHVjdFNwZWMucGhwPC9oMT4KICAgICAgICAgICAgICAgICAgICA8cD48ZW0+VGhpcyBmaWxlIGRlZmluZXMgdGhlIFByb2R1Y3RTcGVjIGNsYXNzPC9lbT48L3A+CiAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPkNsYXNzZXM8L2gyPgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtaG92ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCI+UHJvZHVjdFNwZWM8L2E+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48ZW0+QW4gaW50ZXJtZWRpYXRlIGNsYXNzIHRoYXQgZGVmaW5lcyBhIHByb2R1Y3Qgc3BlY2lmaWNhdGlvbi48L2VtPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgICAgICAgICAgPGgyPlRhZ3M8L2gyPgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Qcm9kdWN0czwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Y2FsZ3V5MTAwMCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZzwvYT48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5cmlnaHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNvcHlyaWdodCAyMDEwIGJ5IFJvYmVydCBDYW1wYmVsbDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgoKICAgICAgICAgICAgICAgIDwvYXNpZGU+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDxkaXYgaWQ9InNvdXJjZS12aWV3IiBjbGFzcz0ibW9kYWwgaGlkZSBmYWRlIiB0YWJpbmRleD0iLTEiIHJvbGU9ImRpYWxvZyIgYXJpYS1sYWJlbGxlZGJ5PSJzb3VyY2Utdmlldy1sYWJlbCIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj7DlzwvYnV0dG9uPgogICAgICAgICAgICA8aDMgaWQ9InNvdXJjZS12aWV3LWxhYmVsIj48L2gzPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgogICAgICAgICAgICA8cHJlIGRhdGEtc3JjPSIuLi9maWxlcy9jbGFzcy5Qcm9kdWN0U3BlYy5waHAudHh0IiBjbGFzcz0ibGFuZ3VhZ2UtcGhwIGxpbmUtbnVtYmVycyI+PC9wcmU+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8Zm9vdGVyIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIGZvb3Rlci1zZWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWJhci1jaGFydCI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj5DbGFzcyBIaWVyYXJjaHkgRGlhZ3JhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1wdXNocGluIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+RXJyb3JzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+TWFya2VyczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPGhyIC8+CiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnRhdGlvbiBpcyBwb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZy8iPnBocERvY3VtZW50b3IgPC9hPiBhbmQgYXV0aG9yZWQKICAgICAgICAgICAgICAgICAgICBvbiBPY3RvYmVyIDI0dGgsIDIwMTUgYXQgMTA6MTEuCiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.ProductSpec.php.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgUHJvZHVjdFNwZWMgY2xhc3MKICoKICogQHBhY2thZ2UgQ0dQcm9kdWN0QnVpbGRlcgogKiBAY2F0ZWdvcnkgUHJvZHVjdHMKICogQGF1dGhvciAgY2FsZ3V5MTAwMCA8Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz4KICogQGNvcHlyaWdodCBDb3B5cmlnaHQgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwKICovCgpuYW1lc3BhY2UgQ0dQcm9kdWN0QnVpbGRlcjsKCi8qKgogKiBBbiBpbnRlcm1lZGlhdGUgY2xhc3MgdGhhdCBkZWZpbmVzIGEgcHJvZHVjdCBzcGVjaWZpY2F0aW9uLgogKiBBbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzIGlzIHBhc3NlZCB0byBkaXNwb3NpdGlvbnMuCiAqIERpc3Bvc2l0aW9ucyBjYW4gdXNlIHRoaXMgb2JqZWN0IHRvIG91dHB1dCB0aGUgY29tcGxldGUgcHJvZHVjdCBzcGVjaWZpY2F0aW9uIGluIHZhcmlvdXMgZm9ybWF0cy4KICoKICogQHBhY2thZ2UgQ0dQcm9kdWN0QnVpbGRlcgogKiBAcHJvcGVydHkgaW50ICRyZXR1cm5pZCBUaGUgaWQgb2YgdGhlIGNvbnRlbnQgcGFnZSB0aGF0IGNyZWF0ZWQgdGhpcyBwcm9kdWN0U3BlYwogKiBAcHJvcGVydHkgY2dwYl9wcm9kdWN0YnVpbGRlciAkY29udGVudCBBIHJlZmVyZW5jZSB0byB0aGUgYWN0dWFsIGNvbnRlbnQgcGFnZSB0aGF0IGNyZWF0ZWQgdGhpcyBwcm9kdWN0c3BlYyA8ZW0+KHJlYWQgb25seSk8L2VtPgogKiBAcHJvcGVydHkgc3RyaW5nICRuYW1lIFRoZSBuYW1lIG9mIHRoaXMgcHJvZHVjdC4KICogQHByb3BlcnR5IGZsb2F0ICRiYXNlcHJpY2UgVGhlIGJhc2UgcHJpY2Ugb2YgdGhpcyBwcm9kdWN0IDxlbT4oYWN0dWFsIHZhbHVlIG1heSBjaGFuZ2UgZm9yIGVhY2ggb2NjdXJyYW5jZSBkZXBlbmRpbmcgdXBvbiBGRVUgc3RhdHVzKTwvZW0+CiAqIEBwcm9wZXJ0eSBmbG9hdCAkcHJpY2UgVGhlIGZpbmFsIHByaWNlIG9mIHRoaXMgcHJvZHVjdCBpbmNsdWRpbmcgYWxsIHNlbGVjdGVkIG9wdGlvbnMuCiAqIEBwcm9wZXJ0eSBzdHJpbmcgJGRlc2NyaXB0aW9uIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIHByb2R1Y3QuICBNYXkgaW5jbHVkZSBIVE1MLgogKiBAcHJvcGVydHkgb3B0aW9uc2V0c1tdICRvcHRpb25zZXRzIFRoZSBvcHRpb25zZXRzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJvZHVjdC4KICogQHByb3BlcnR5LXJlYWQgYXJyYXkgJG9wdGlvbnMgQW4gYXJyYXkgb2Ygc3RkY2xhc3Mgb2JqZWN0cyB0aGF0IGRlZmluZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucy4gICBTZWUgdGhlIG1vZHVsZSBoZWxwIGZvciBhIGNsZWFyIGRlc2NyaXB0aW9uIG9mIGVhY2ggbWVtYmVyLgogKiBAcHJvcGVydHkgYm9vbCBpc193aG9sZXNhbGUgQSBib29sZWFuIGluZGljYXRpbmcgdGhhdCB3aG9sZXNhbGUgcHJpY2VzIGFyZSBpbiBlZmZlY3QgYW5kIHVzZWQgaW4gY2FsY3VsYXRpb25zLgogKi8KY2xhc3MgUHJvZHVjdFNwZWMKewogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHByaXZhdGUgJF9jb250ZW50OwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlICRfbmFtZTsKCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSAkX2Rlc2NyaXB0aW9uOwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlICRfb3B0aW9uc2V0czsKCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSAkX3NlbF9vcHRpb25zOwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlICRfYmFzZV9wcmljZTsKCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSAkX2ZpbmFsX3ByaWNlOwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlICRfd2hvbGVzYWxlX2ZsYWc7CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RvcgogICAgICoKICAgICAqIEBwYXJhbSBjZ3BiX3Byb2R1Y3RidWlsZGVyICRjb250ZW50IFRoZSBjb250ZW50IHBhZ2UgdGhhdCBjb250YWlucyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvZHVjdCBidWlsZC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb250ZW50ID0gbnVsbCkKICAgIHsKICAgICAgICBpZiggJGNvbnRlbnQgJiYgJGNvbnRlbnQgaW5zdGFuY2VvZiBcY2dwYl9wcm9kdWN0YnVpbGRlciApIHsKICAgICAgICAgICAgJHRoaXMtPmJ1aWxkX2Zyb21fY29udGVudCgkY29udGVudCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQnVpbGQgdGhpcyBvYmplY3QgZnJvbSBhIHByb2R1Y3QgYnVpbGRlciBwYWdlLgogICAgICoKICAgICAqIEBwYXJhbSBjZ3BiX3Byb2R1Y3RidWlsZGVyIFRoZSBjb250ZW50IHBhZ2UgdGhhdCBjb250YWlucyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvZHVjdCBidWlsZC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1aWxkX2Zyb21fY29udGVudChcY2dwYl9wcm9kdWN0YnVpbGRlciAkY29udGVudCkKICAgIHsKICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dQUk9EVUNUQlVJTERFUik7CiAgICAgICAgJHRoaXMtPl9jb250ZW50ID0gJGNvbnRlbnQ7CiAgICAgICAgJHRoaXMtPl9uYW1lID0gJGNvbnRlbnQtPk5hbWUoKTsKICAgICAgICAkdHBsID0gJGNvbnRlbnQtPlNob3coJ2NvbnRlbnRfZW4nKTsKICAgICAgICAkdHBsID0gcHJlZ19yZXBsYWNlKCcvXHtDR1Byb2R1Y3RCdWlsZGVyLipcfS8nLCcnLCR0cGwpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0aGlzLT5fZGVzY3JpcHRpb24gPSAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdHBsKTsgLy8gcHJvYmxlbWF0aWM/PwogICAgICAgIH0KICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgJHRoaXMtPl9kZXNjcmlwdGlvbiA9ICR0cGw7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5fb3B0aW9uc2V0cyA9ICRjb250ZW50LT5nZXRfb3B0aW9uc2V0cygpOwogICAgICAgICR0aGlzLT5fc2VsX29wdGlvbnMgPSAkY29udGVudC0+Z2V0X2FsbF9zZWxlY3RlZF9vcHRpb25zKCk7CiAgICAgICAgJHRoaXMtPl9iYXNlX3ByaWNlID0gJGNvbnRlbnQtPmdldF9yZXRhaWxwcmljZSgpOwogICAgICAgICR3aG9sZXNhbGUgPSAkbW9kLT51c2Vfd2hvbGVzYWxlKCk7CiAgICAgICAgaWYoICR3aG9sZXNhbGUgKSB7CiAgICAgICAgICAgICR0aGlzLT5fYmFzZV9wcmljZSA9ICRjb250ZW50LT5nZXRfd2hvbGVzYWxlcHJpY2UoKTsKICAgICAgICAgICAgJHRoaXMtPl93aG9sZXNhbGVfZmxhZyA9IFRSVUU7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5fZmluYWxfcHJpY2UgPSAkY29udGVudC0+Z2V0X2N1cnJlbnRfcHJpY2UoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgJGtleSA9IHRyaW0oKHN0cmluZykgJGtleSk7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ3JldHVybmlkJzoKICAgICAgICBjYXNlICdwYWdlaWQnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9jb250ZW50LT5JZCgpOwoKICAgICAgICBjYXNlICdjb250ZW50JzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fY29udGVudDsKCiAgICAgICAgY2FzZSAnbmFtZSc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fbmFtZSk7CgogICAgICAgIGNhc2UgJ2Jhc2VwcmljZSc6CiAgICAgICAgICAgIHJldHVybiAoZmxvYXQpICR0aGlzLT5fYmFzZV9wcmljZTsKCiAgICAgICAgY2FzZSAncHJpY2UnOgogICAgICAgICAgICByZXR1cm4gKGZsb2F0KSAkdGhpcy0+X2ZpbmFsX3ByaWNlOwoKICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fZGVzY3JpcHRpb24pOwoKICAgICAgICBjYXNlICdvcHRpb25zZXRzJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fb3B0aW9uc2V0czsKCiAgICAgICAgY2FzZSAnb3B0aW9ucyc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3NlbF9vcHRpb25zOwoKICAgICAgICBjYXNlICdpc193aG9sZXNhbGUnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPndob2xlc2FsZV9mbGFnOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIHZhbGlkIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoJGtleSwkdmFsKQogICAgewogICAgICAgICRrZXkgPSB0cmltKChzdHJpbmcpICRrZXkpOwogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdjb250ZW50JzoKICAgICAgICAgICAgaWYoICEkdmFsIGluc3RhbmNlb2YgXGNncGJfcHJvZHVjdGJ1aWxkZXIgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yICRrZXkgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnbmFtZSc6CiAgICAgICAgICAgICR2YWwgPSB0cmltKCR2YWwpOwogICAgICAgICAgICBpZiggISR2YWwgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yICRrZXkgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICAkdGhpcy0+X25hbWUgPSAkdmFsOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnYmFzZXByaWNlJzoKICAgICAgICAgICAgJHZhbCA9IChmbG9hdCkgJHZhbDsKICAgICAgICAgICAgaWYoICR2YWwgPCAwLjAwICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigiJHZhbCBpcyBhbiBpbnZhbGlkIHZhbHVlIGZvciAka2V5IGluICIuX19DTEFTU19fKTsKICAgICAgICAgICAgJHRoaXMtPl9iYXNlX3ByaWNlID0gJHZhbDsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ3ByaWNlJzoKICAgICAgICAgICAgJHZhbCA9IChmbG9hdCkgJHZhbDsKICAgICAgICAgICAgaWYoICR2YWwgPCAwLjAwICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigiJHZhbCBpcyBhbiBpbnZhbGlkIHZhbHVlIGZvciAka2V5IGluICIuX19DTEFTU19fKTsKICAgICAgICAgICAgJHRoaXMtPl9maW5hbF9wcmljZSA9ICR2YWw7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdjb250ZW50JzoKICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgICAgICR2YWwgPSB0cmltKCR2YWwpOwogICAgICAgICAgICAkaGlzLT5fZGVzY3JpcHRpb24gPSAkdmFsOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnb3B0aW9uc2V0cyc6CiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHZhbCkgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yICRrZXkgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICBmb3JlYWNoKCAkdmFsIGFzICRyZWMgKSB7CiAgICAgICAgICAgICAgICBpZiggISAkcmVjIGluc3RhbmNlb2Ygb3B0aW9uX3NldCApICB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yICRrZXkgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5fb3B0aW9uc2V0cyA9ICR2YWw7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdpc193aG9sZXNhbGUnOgogICAgICAgICAgICAkdGhpcy0+X3dob2xlc2FsZV9mbGFnID0gXGNnZV91dGlsczo6dG9fYm9vbCgkdmFsKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ29wdGlvbnMnOgogICAgICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIHNldHRhYmxlIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgICAgIC8qCiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHZhbCkgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yICRrZXkgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICBmb3JlYWNoKCAkdmFsIGFzICRyZWMgKSB7CiAgICAgICAgICAgICAgICBpZiggISAkcmVjIGluc3RhbmNlb2Ygb3B0aW9uICkgIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oIiR2YWwgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgJGtleSBpbiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPl9zZWxfb3B0aW9ucyA9ICR2YWw7CiAgICAgICAgICAgICovCiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIHZhbGlkIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qCiAgICBwdWJsaWMgZnVuY3Rpb24gX19pc3NldCgka2V5KQogICAgewoKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX191bnNldCgka2V5KQogICAgewoKICAgIH0KICAgICovCgp9IC8vIGVuZCBvZiBjbGFzcwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.ticket_disposition.php.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIGZ1bmN0aW9uIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpIHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlW2RhdGEtc3JjXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChwcmUpIHsKICAgICAgICAgICAgICAgIHZhciBzcmMgPSBwcmUuZ2V0QXR0cmlidXRlKCdkYXRhLXNyYycpOwogICAgICAgICAgICAgICAgdmFyIGV4dGVuc2lvbiA9IChzcmMubWF0Y2goL1wuKFx3KykkLykgfHwgWywgJyddKVsxXTsKICAgICAgICAgICAgICAgIHZhciBsYW5ndWFnZSA9ICdwaHAnOwoKICAgICAgICAgICAgICAgIHZhciBjb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29kZScpOwogICAgICAgICAgICAgICAgY29kZS5jbGFzc05hbWUgPSAnbGFuZ3VhZ2UtJyArIGxhbmd1YWdlOwoKICAgICAgICAgICAgICAgIHByZS50ZXh0Q29udGVudCA9ICcnOwoKICAgICAgICAgICAgICAgIGNvZGUudGV4dENvbnRlbnQgPSAnTG9hZGluZ+KApic7CgogICAgICAgICAgICAgICAgcHJlLmFwcGVuZENoaWxkKGNvZGUpOwoKICAgICAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgICAgICB4aHIub3BlbignR0VUJywgc3JjLCB0cnVlKTsKCiAgICAgICAgICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0KSB7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA8IDQwMCAmJiB4aHIucmVzcG9uc2VUZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0geGhyLnJlc3BvbnNlVGV4dDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmlzbS5oaWdobGlnaHRFbGVtZW50KGNvZGUpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHhoci5zdGF0dXMgPj0gNDAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLnRleHRDb250ZW50ID0gJ+KcliBFcnJvciAnICsgeGhyLnN0YXR1cyArICcgd2hpbGUgZmV0Y2hpbmcgZmlsZTogJyArIHhoci5zdGF0dXNUZXh0OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZS50ZXh0Q29udGVudCA9ICfinJYgRXJyb3I6IEZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHknOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB4aHIuc2VuZChudWxsKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICAgICAgICAgICBsb2FkRXh0ZXJuYWxDb2RlU25pcHBldHMoKTsKICAgICAgICB9KTsKICAgICAgICAkKCcjc291cmNlLXZpZXcnKS5vbignc2hvd24nLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGxvYWRFeHRlcm5hbENvZGVTbmlwcGV0cygpOwogICAgICAgIH0pCiAgICA8L3NjcmlwdD4KCiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjcyeDcyIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi03Mng3Mi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjExNHgxMTQiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTExNHgxMTQucG5nIi8+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWZpeGVkLXRvcCI+CiAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaW5uZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLW5hdmJhciIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1lbGxpcHNpcy12ZXJ0aWNhbCI+PC9pPgogICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJicmFuZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+Q0dQcm9kdWN0QnVpbGRlciAxLjIuMTwvYT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBwdWxsLXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vaW5kZXguaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBEb2N1bWVudGF0aW9uIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIGlkPSJjaGFydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9ncmFwaHMvY2xhc3MuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7Q2xhc3MgaGllcmFyY2h5IGRpYWdyYW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9InJlcG9ydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBvcnRzIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7RXJyb3JzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7TWFya2VycyA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyBwdWxsLXJpZ2h0Ij4wPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8IS0tPGRpdiBjbGFzcz0iZ29fdG9fdG9wIj4tLT4KICAgIDwhLS08YSBocmVmPSIjX19fIiBzdHlsZT0iY29sb3I6IGluaGVyaXQiPkJhY2sgdG8gdG9wJiMxNjA7JiMxNjA7PGkgY2xhc3M9Imljb24tdXBsb2FkIGljb24td2hpdGUiPjwvaT48L2E+LS0+CiAgICA8IS0tPC9kaXY+LS0+CjwvZGl2PgoKPGRpdiBpZD0iX19fIiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMiBzaWRlYmFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24iIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJhY2NvcmRpb24tdG9nZ2xlICIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI25hbWVzcGFjZS0zMDc5NzIyMjUiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL2RlZmF1bHQuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPlw8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMzA3OTcyMjI1IiBjbGFzcz0iYWNjb3JkaW9uLWJvZHkgY29sbGFwc2UgaW4iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWlubmVyIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24iIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taGVhZGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJhY2NvcmRpb24tdG9nZ2xlIGNvbGxhcHNlZCIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI25hbWVzcGFjZS0xNDA5OTQwNzU1Ij48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiIHN0eWxlPSJtYXJnaW4tbGVmdDogMzBweDsgcGFkZGluZy1sZWZ0OiAwIj5DR1Byb2R1Y3RCdWlsZGVyPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ibmFtZXNwYWNlLTE0MDk5NDA3NTUiIGNsYXNzPSJhY2NvcmRpb24tYm9keSBjb2xsYXBzZSAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWlubmVyIj4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLnRpY2tldF9kaXNwb3NpdGlvbi5odG1sIj50aWNrZXRfZGlzcG9zaXRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5EaXNwb3NpdGlvbkhhbmRsZXIuaHRtbCI+RGlzcG9zaXRpb25IYW5kbGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuUHJvZHVjdFNwZWMuaHRtbCI+UHJvZHVjdFNwZWM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb24uaHRtbCI+b3B0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uX3NldC5odG1sIj5vcHRpb25fc2V0PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuZGlzcG9zaXRpb24uaHRtbCI+ZGlzcG9zaXRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjEwIG9mZnNldDIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjggY29udGVudCBmaWxlIj4KICAgICAgICAgICAgICAgICAgICA8bmF2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmF2PgoKICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjc291cmNlLXZpZXciIHJvbGU9ImJ1dHRvbiIgY2xhc3M9InB1bGwtcmlnaHQgYnRuIiBkYXRhLXRvZ2dsZT0ibW9kYWwiPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICAgICAgPGgxPjxzbWFsbD48L3NtYWxsPmNsYXNzLnRpY2tldF9kaXNwb3NpdGlvbi5waHA8L2gxPgogICAgICAgICAgICAgICAgICAgIDxwPjxlbT48L2VtPjwvcD4KICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+Q2xhc3NlczwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1ob3ZlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci50aWNrZXRfZGlzcG9zaXRpb24uaHRtbCI+dGlja2V0X2Rpc3Bvc2l0aW9uPC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGVtPkFuIGFic3RyYWN0IGNsYXNzIHRvIGRlZmluZSBhIGRpc3Bvc2l0aW9uLjwvZW0+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxhc2lkZSBjbGFzcz0ic3BhbjQgZGV0YWlsc2JhciI+CiAgICAgICAgICAgICAgICAgICAgPGRsPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgICAgICAgICA8aDI+VGFnczwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1jb25kZW5zZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZCBjb2xzcGFuPSIyIj48ZW0+Tm9uZSBmb3VuZDwvZW0+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CgogICAgICAgICAgICAgICAgPC9hc2lkZT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPGRpdiBpZD0ic291cmNlLXZpZXciIGNsYXNzPSJtb2RhbCBoaWRlIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9InNvdXJjZS12aWV3LWxhYmVsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiPsOXPC9idXR0b24+CiAgICAgICAgICAgIDxoMyBpZD0ic291cmNlLXZpZXctbGFiZWwiPjwvaDM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CiAgICAgICAgICAgIDxwcmUgZGF0YS1zcmM9Ii4uL2ZpbGVzL2NsYXNzLnRpY2tldF9kaXNwb3NpdGlvbi5waHAudHh0IiBjbGFzcz0ibGFuZ3VhZ2UtcGhwIGxpbmUtbnVtYmVycyI+PC9wcmU+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8Zm9vdGVyIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIGZvb3Rlci1zZWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWJhci1jaGFydCI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj5DbGFzcyBIaWVyYXJjaHkgRGlhZ3JhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1wdXNocGluIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+RXJyb3JzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+TWFya2VyczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPGhyIC8+CiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnRhdGlvbiBpcyBwb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZy8iPnBocERvY3VtZW50b3IgPC9hPiBhbmQgYXV0aG9yZWQKICAgICAgICAgICAgICAgICAgICBvbiBPY3RvYmVyIDI0dGgsIDIwMTUgYXQgMTA6MTEuCiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/files/class.ticket_disposition.php.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBDR1Byb2R1Y3RCdWlsZGVyOwoKY2xhc3MgdGlja2V0X2Rpc3Bvc2l0aW9uIGV4dGVuZHMgZGlzcG9zaXRpb24KewogICAgcHVibGljIGZ1bmN0aW9uIGdldF9mcmllbmRseW5hbWUoKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICByZXR1cm4gJG1vZC0+TGFuZygnZGlzcG9zZV90aWNrZXRfbmFtZScpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfYnV0dG9udGV4dCgpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHUFJPRFVDVEJVSUxERVIpOwogICAgICAgIHJldHVybiAkbW9kLT5MYW5nKCdkaXNwb3NlX3RpY2tldF9idXR0b24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY29tcGF0aWJsZSgpCiAgICB7CiAgICAgICAgJGNnY3QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0NsaWVudFRpY2tldHMnKTsKICAgICAgICBpZiggIWlzX29iamVjdCgkY2djdCkgKSByZXR1cm4gRkFMU0U7CgogICAgICAgICRmZXUgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgICAgaWYoICFpc19vYmplY3QoJGZldSkgKSByZXR1cm4gRkFMU0U7CgogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZWFkeSgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+Y29tcGF0aWJsZSgpICkgcmV0dXJuIEZBTFNFOwoKICAgICAgICAkZmV1ID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgICAgIGlmKCAhJGZldS0+TG9nZ2VkSW5JZCgpICkgcmV0dXJuIEZBTFNFOwogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKFByb2R1Y3RTcGVjICRwcm9kdWN0U3BlYykKICAgIHsKICAgICAgICAkdGlja2V0ID0gbnVsbDsKICAgICAgICB0cnkgewogICAgICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dQUk9EVUNUQlVJTERFUik7CiAgICAgICAgICAgICRjZ2N0ID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dDbGllbnRUaWNrZXRzJyk7CiAgICAgICAgICAgIGlmKCAhaXNfb2JqZWN0KCRjZ2N0KSApIHsKICAgICAgICAgICAgICAgIGF1ZGl0KCcnLCRtb2QtPkdldE5hbWUoKSwndGlja2V0cyBkaXNwb3NpdGlvbiBlbmFibGVkIGFuZCBzZWxlY3RlZCwgYnV0IHRoZSBDR0NsaWVudFRpY2tldHMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC4nKTsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignSW50ZXJuYWwgRXJyb3I6IFRoZSBDR0NsaWVudFRpY2tldHMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC4nKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkZmV1ID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgICAgICAgICBpZiggIWlzX29iamVjdCgkZmV1KSApIHsKICAgICAgICAgICAgICAgIGF1ZGl0KCcnLCRtb2QtPkdldE5hbWUoKSwndGlja2V0cyBkaXNwb3NpdGlvbiBlbmFibGVkIGFuZCBzZWxlY3RlZCwgYnV0IHRoZSBGRVUgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZCcpOwogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdJbnRlcm5hbCBFcnJvcjogVGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC4nKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkZmV1X3VpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgICAgICAgICAgaWYoICRmZXVfdWlkIDwgMSApIHsKICAgICAgICAgICAgICAgIGF1ZGl0KCcnLCRtb2QtPkdldE5hbWUoKSwndGlja2V0cyBkaXNwb3NpdGlvbiBlbmFibGVkIGFuZCBzZWxlY3RlZCwgYnV0IHVzZXIgaXMgbm90IGxvZ2dlZCBpbiB0byBGRVUnKTsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignSW50ZXJuYWwgRXJyb3I6IFRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBjb3VsZCBub3QgYmUgZm91bmQuJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vCiAgICAgICAgICAgIC8vIGdlbmVyYXRlIGEgUERGIGZpbGUgaW4gYSB0ZW1wb3JhcnkgbG9jYXRpb24KICAgICAgICAgICAgLy8KCiAgICAgICAgICAgIC8vIGdpdmUgc29tZSBzdHVmZiB0byBzbWFydHkKICAgICAgICAgICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb2R1Y3RTcGVjJywkcHJvZHVjdFNwZWMpOwogICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2NvbnRlbnQnLCRwcm9kdWN0U3BlYy0+Y29udGVudCk7CiAgICAgICAgICAgICRmZXUgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignZmV1X21vZCcsJGZldSk7CiAgICAgICAgICAgICRodG1sID0gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdwZGZfdGVtcGxhdGUnKTsKICAgICAgICAgICAgJGh0bWwycGRmID0gbmV3IFxDR0hUTUwyUERGXGh0bWwycGRmKGFycmF5KCkpOwogICAgICAgICAgICAkaHRtbDJwZGYtPndyaXRlSFRNTCgkaHRtbCk7CiAgICAgICAgICAgICR0bXBmaWxlID0gVE1QX0NBQ0hFX0xPQ0FUSU9OLicvJy5tZDUoX19GSUxFX18uc2Vzc2lvbl9pZCgpLnRpbWUoKSkuJy5wZGYnOwogICAgICAgICAgICAkaHRtbDJwZGYtPm91dHB1dCgkdG1wZmlsZSwnRicpOwogICAgICAgICAgICAkcHJlZnMgPSAkbW9kLT5nZXRfdGlja2V0X2Rpc3Bvc2l0aW9uX3ByZWZzKCk7CgogICAgICAgICAgICAvLwogICAgICAgICAgICAvLyBnZW5lcmF0ZSBhIG5ldyB0aWNrZXQKICAgICAgICAgICAgLy8KICAgICAgICAgICAgJHRpY2tldCA9IG5ldyBcQ0dDbGllbnRUaWNrZXRzXHRpY2tldDsKICAgICAgICAgICAgJHRpY2tldC0+cHJpb3JpdHkgPSAkdGlja2V0OjpQUklPUklUWV9OT1JNQUw7CiAgICAgICAgICAgICR0aWNrZXQtPm93bmVyID0gJGZldV91aWQ7CiAgICAgICAgICAgICR0aWNrZXQtPmFsZXJ0X2dyb3VwID0gJHByZWZzWydub3RpZnlfZ3JvdXAnXTsKICAgICAgICAgICAgJHRpY2tldC0+c2F2ZSgpOwoKICAgICAgICAgICAgJG1lc3NhZ2UgPSBuZXcgXENHQ2xpZW50VGlja2V0c1xtZXNzYWdlOwogICAgICAgICAgICAkbWVzc2FnZS0+ZGVzdCA9ICR0aWNrZXQtPmFsZXJ0X2dyb3VwOwogICAgICAgICAgICAkbWVzc2FnZS0+dGlja2V0X2lkID0gJHRpY2tldC0+aWQ7CiAgICAgICAgICAgICRtZXNzYWdlLT5zZW5kZXIgPSAkZmV1X3VpZDsKICAgICAgICAgICAgJG1lc3NhZ2UtPnN1YmplY3QgPSAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkcHJlZnNbJ3RpY2tldF9zdWJqZWN0J10pOwogICAgICAgICAgICAkbWVzc2FnZS0+Ym9keSA9ICRtb2QtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCRwcmVmc1sndGlja2V0X3RlbXBsYXRlJ10pOwogICAgICAgICAgICAkbWVzc2FnZS0+cXVldWVfYXR0YWNoKCR0bXBmaWxlKTsKICAgICAgICAgICAgJG1lc3NhZ2UtPnNhdmUoKTsKCiAgICAgICAgICAgIC8vIG5vdyBzZW5kIHRoZSB0aGluZy4KICAgICAgICAgICAgJG1lc3NhZ2UtPnNlbmQoKTsKCiAgICAgICAgICAgIC8vIG5vdyB3aGF0IGRvIHdlIGRvPwogICAgICAgICAgICBzd2l0Y2goICRwcmVmc1snYWZ0ZXInXSApIHsKICAgICAgICAgICAgY2FzZSAncmVkaXJlY3QnOgogICAgICAgICAgICAgICAgJHBhZ2UgPSAkbW9kLT5yZXNvbHZlX2FsaWFzX29yX2lkKCRwcmVmc1sncmVkaXJlY3RfcGFnZSddLFxDb250ZW50T3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPkdldERlZmF1bHRDb250ZW50KCkpOwogICAgICAgICAgICAgICAgJG1vZC0+UmVkaXJlY3RDb25lbnQoJHBhZ2UpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdtZXNzYWdlJzoKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICRtc2cgPSAkc21hcnR5LT5mZXRjaCgnc3RyaW5nOicuJHByZWZzWydhZnRlcl9tc2cnXSk7CiAgICAgICAgICAgICAgICByZXR1cm4gJG1zZzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgaWYoIGlzX29iamVjdCgkdGlja2V0KSApICR0aWNrZXQtPmRlbGV0ZSgpOwogICAgICAgICAgICB0aHJvdyAkZTsKICAgICAgICB9CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/graphs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/graphs/class.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy9qcXVlcnkuaXZpZXdlci5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgPHN0eWxlPgogICAgICAgICN2aWV3ZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIH0KICAgICAgICAud3JhcHBlciB7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL2pxdWVyeS5tb3VzZXdoZWVsLm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9qcXVlcnkuaXZpZXdlci5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAkKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICQoIiN2aWV3ZXIiKS5oZWlnaHQoJCh3aW5kb3cpLmhlaWdodCgpIC0gMTAwKTsKICAgICAgICB9KTsKCiAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICQoIiN2aWV3ZXIiKS5pdmlld2VyKHtzcmM6ICcuLi9ncmFwaHMvY2xhc3Nlcy5zdmcnLCB6b29tX2FuaW1hdGlvbjogZmFsc2V9KTsKICAgICAgICAgICAgJCgnI3ZpZXdlciBpbWcnKS5iaW5kKCdkcmFnc3RhcnQnLCBmdW5jdGlvbihldmVudCl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgJCh3aW5kb3cpLnJlc2l6ZSgpOwogICAgICAgIH0pOwogICAgPC9zY3JpcHQ+CgogICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIuLi9pbWFnZXMvZmF2aWNvbi5pY28iLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24ucG5nIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSI3Mng3MiIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tNzJ4NzIucG5nIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxMTR4MTE0IiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi0xMTR4MTE0LnBuZyIvPgo8L2hlYWQ+Cjxib2R5PgoKPGRpdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1maXhlZC10b3AiPgogICAgPGRpdiBjbGFzcz0ibmF2YmFyLWlubmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1uYXZiYXIiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9Ii5uYXYtY29sbGFwc2UiPgogICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tZWxsaXBzaXMtdmVydGljYWwiPjwvaT4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8YSBjbGFzcz0iYnJhbmQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPkNHUHJvZHVjdEJ1aWxkZXIgMS4yLjE8L2E+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXYtY29sbGFwc2UiPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgcHVsbC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgRG9jdW1lbnRhdGlvbiA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0iY2hhcnRzLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhcnRzIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vZ3JhcGhzL2NsYXNzLmh0bWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1saXN0LWFsdCI+PC9pPiYjMTYwO0NsYXNzIGhpZXJhcmNoeSBkaWFncmFtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIGlkPSJyZXBvcnRzLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVwb3J0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL3JlcG9ydHMvZXJyb3JzLmh0bWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1saXN0LWFsdCI+PC9pPiYjMTYwO0Vycm9ycyA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyBwdWxsLXJpZ2h0Ij45PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vcmVwb3J0cy9tYXJrZXJzLmh0bWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1saXN0LWFsdCI+PC9pPiYjMTYwO01hcmtlcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+MDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPCEtLTxkaXYgY2xhc3M9ImdvX3RvX3RvcCI+LS0+CiAgICA8IS0tPGEgaHJlZj0iI19fXyIgc3R5bGU9ImNvbG9yOiBpbmhlcml0Ij5CYWNrIHRvIHRvcCYjMTYwOyYjMTYwOzxpIGNsYXNzPSJpY29uLXVwbG9hZCBpY29uLXdoaXRlIj48L2k+PC9hPi0tPgogICAgPCEtLTwvZGl2Pi0tPgo8L2Rpdj4KCjxkaXYgaWQ9Il9fXyIgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMTIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9InZpZXdlciIgY2xhc3M9InZpZXdlciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGZvb3RlciBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDIiPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBmb290ZXItc2VjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1iYXItY2hhcnQiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9ncmFwaHMvY2xhc3MuaHRtbCI+Q2xhc3MgSGllcmFyY2h5IERpYWdyYW08L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tcHVzaHBpbiI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL3JlcG9ydHMvZXJyb3JzLmh0bWwiPkVycm9yczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9tYXJrZXJzLmh0bWwiPk1hcmtlcnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDEiPgogICAgICAgICAgICAgICAgICAgIDxociAvPgogICAgICAgICAgICAgICAgICAgIERvY3VtZW50YXRpb24gaXMgcG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LnBocGRvYy5vcmcvIj5waHBEb2N1bWVudG9yIDwvYT4gYW5kIGF1dGhvcmVkCiAgICAgICAgICAgICAgICAgICAgb24gT2N0b2JlciAyNHRoLCAyMDE1IGF0IDEwOjEyLgogICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9mb290ZXI+CjwvZGl2PgoKPC9ib2R5Pgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/graphs/classes.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8IS0tIEdlbmVyYXRlZCBieSBncmFwaHZpeiB2ZXJzaW9uIDIuMzYuMCAoMjAxNDAxMTEuMjMxNSkKIC0tPgo8IS0tIFRpdGxlOiBHIFBhZ2VzOiAxIC0tPgo8c3ZnIHdpZHRoPSIyOTZwdCIgaGVpZ2h0PSIzNDhwdCIKIHZpZXdCb3g9IjAuMDAgMC4wMCAyOTYuMDAgMzQ4LjAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KPGcgaWQ9ImdyYXBoMCIgY2xhc3M9ImdyYXBoIiB0cmFuc2Zvcm09InNjYWxlKDEgMSkgcm90YXRlKDApIHRyYW5zbGF0ZSg0IDM0NCkiPgo8dGl0bGU+RzwvdGl0bGU+Cjxwb2x5Z29uIGZpbGw9IndoaXRlIiBzdHJva2U9Im5vbmUiIHBvaW50cz0iLTQsNCAtNCwtMzQ0IDI5MiwtMzQ0IDI5Miw0IC00LDQiLz4KPGcgaWQ9ImNsdXN0MSIgY2xhc3M9ImNsdXN0ZXIiPjx0aXRsZT5jbHVzdGVyX0dsb2JhbDwvdGl0bGU+CjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iZ3JheSIgZD0iTTIwLC04QzIwLC04IDI2OCwtOCAyNjgsLTggMjc0LC04IDI4MCwtMTQgMjgwLC0yMCAyODAsLTIwIDI4MCwtMzIwIDI4MCwtMzIwIDI4MCwtMzI2IDI3NCwtMzMyIDI2OCwtMzMyIDI2OCwtMzMyIDIwLC0zMzIgMjAsLTMzMiAxNCwtMzMyIDgsLTMyNiA4LC0zMjAgOCwtMzIwIDgsLTIwIDgsLTIwIDgsLTE0IDE0LC04IDIwLC04Ii8+Cjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjE0NCIgeT0iLTMxOS4yIiBmb250LWZhbWlseT0iVGltZXMsc2VyaWYiIGZvbnQtc2l6ZT0iMTEuMDAiIGZpbGw9ImdyYXkiPkdsb2JhbDwvdGV4dD4KPC9nPgo8ZyBpZD0iY2x1c3QyIiBjbGFzcz0iY2x1c3RlciI+PHRpdGxlPmNsdXN0ZXJfXENHUHJvZHVjdEJ1aWxkZXI8L3RpdGxlPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImdyYXkiIGQ9Ik0yOCwtMTZDMjgsLTE2IDI2MCwtMTYgMjYwLC0xNiAyNjYsLTE2IDI3MiwtMjIgMjcyLC0yOCAyNzIsLTI4IDI3MiwtMjkyIDI3MiwtMjkyIDI3MiwtMjk4IDI2NiwtMzA0IDI2MCwtMzA0IDI2MCwtMzA0IDI4LC0zMDQgMjgsLTMwNCAyMiwtMzA0IDE2LC0yOTggMTYsLTI5MiAxNiwtMjkyIDE2LC0yOCAxNiwtMjggMTYsLTIyIDIyLC0xNiAyOCwtMTYiLz4KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMTQ0IiB5PSItMjkxLjIiIGZvbnQtZmFtaWx5PSJUaW1lcyxzZXJpZiIgZm9udC1zaXplPSIxMS4wMCIgZmlsbD0iZ3JheSI+Q0dQcm9kdWN0QnVpbGRlcjwvdGV4dD4KPC9nPgo8IS0tIFxcQ0dQcm9kdWN0QnVpbGRlclxcdGlja2V0X2Rpc3Bvc2l0aW9uIC0tPgo8ZyBpZD0ibm9kZTEiIGNsYXNzPSJub2RlIj48dGl0bGU+XFxDR1Byb2R1Y3RCdWlsZGVyXFx0aWNrZXRfZGlzcG9zaXRpb248L3RpdGxlPgo8cG9seWdvbiBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjI1OSwtMjc2IDE2NSwtMjc2IDE2NSwtMjQwIDI1OSwtMjQwIDI1OSwtMjc2Ii8+Cjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjIxMiIgeT0iLTI1NS4yIiBmb250LWZhbWlseT0iVGltZXMsc2VyaWYiIGZvbnQtc2l6ZT0iMTEuMDAiPnRpY2tldF9kaXNwb3NpdGlvbjwvdGV4dD4KPC9nPgo8IS0tIFxcQ0dQcm9kdWN0QnVpbGRlclxcZGlzcG9zaXRpb24gLS0+CjxnIGlkPSJub2RlNiIgY2xhc3M9Im5vZGUiPjx0aXRsZT5cXENHUHJvZHVjdEJ1aWxkZXJcXGRpc3Bvc2l0aW9uPC90aXRsZT4KPHBvbHlnb24gZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSI4OCwtMjc2IDI0LC0yNzYgMjQsLTI0MCA4OCwtMjQwIDg4LC0yNzYiLz4KPHRleHQgdGV4dC1hbmNob3I9InN0YXJ0IiB4PSIzMyIgeT0iLTI2MS4yIiBmb250LWZhbWlseT0iVGltZXMsc2VyaWYiIGZvbnQtc2l6ZT0iMTEuMDAiPsKrYWJzdHJhY3TCuzwvdGV4dD4KPHRleHQgdGV4dC1hbmNob3I9InN0YXJ0IiB4PSIzMiIgeT0iLTI0OS4yIiBmb250LWZhbWlseT0iVGltZXMsc2VyaWYiIGZvbnQtc2l6ZT0iMTEuMDAiPmRpc3Bvc2l0aW9uPC90ZXh0Pgo8L2c+CjwhLS0gXFxDR1Byb2R1Y3RCdWlsZGVyXFx0aWNrZXRfZGlzcG9zaXRpb24mIzQ1OyZndDtcXENHUHJvZHVjdEJ1aWxkZXJcXGRpc3Bvc2l0aW9uIC0tPgo8ZyBpZD0iZWRnZTEiIGNsYXNzPSJlZGdlIj48dGl0bGU+XFxDR1Byb2R1Y3RCdWlsZGVyXFx0aWNrZXRfZGlzcG9zaXRpb24mIzQ1OyZndDtcXENHUHJvZHVjdEJ1aWxkZXJcXGRpc3Bvc2l0aW9uPC90aXRsZT4KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTE2NC43OTUsLTI1OEMxNDMuNTczLC0yNTggMTE4LjYxNSwtMjU4IDk4LjA2MTIsLTI1OCIvPgo8cG9seWdvbiBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9Ijk4LjA2LC0yNTQuNSA4OC4wNTk5LC0yNTggOTguMDU5OSwtMjYxLjUgOTguMDYsLTI1NC41Ii8+CjwvZz4KPCEtLSBcXENHUHJvZHVjdEJ1aWxkZXJcXERpc3Bvc2l0aW9uSGFuZGxlciAtLT4KPGcgaWQ9Im5vZGUyIiBjbGFzcz0ibm9kZSI+PHRpdGxlPlxcQ0dQcm9kdWN0QnVpbGRlclxcRGlzcG9zaXRpb25IYW5kbGVyPC90aXRsZT4KPHBvbHlnb24gZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSIyNjMuNSwtMjIyIDE2MC41LC0yMjIgMTYwLjUsLTE4NiAyNjMuNSwtMTg2IDI2My41LC0yMjIiLz4KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMjEyIiB5PSItMjAxLjIiIGZvbnQtZmFtaWx5PSJUaW1lcyxzZXJpZiIgZm9udC1zaXplPSIxMS4wMCI+RGlzcG9zaXRpb25IYW5kbGVyPC90ZXh0Pgo8L2c+CjwhLS0gXFxDR1Byb2R1Y3RCdWlsZGVyXFxQcm9kdWN0U3BlYyAtLT4KPGcgaWQ9Im5vZGUzIiBjbGFzcz0ibm9kZSI+PHRpdGxlPlxcQ0dQcm9kdWN0QnVpbGRlclxcUHJvZHVjdFNwZWM8L3RpdGxlPgo8cG9seWdvbiBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjI0OCwtMTY4IDE3NiwtMTY4IDE3NiwtMTMyIDI0OCwtMTMyIDI0OCwtMTY4Ii8+Cjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjIxMiIgeT0iLTE0Ny4yIiBmb250LWZhbWlseT0iVGltZXMsc2VyaWYiIGZvbnQtc2l6ZT0iMTEuMDAiPlByb2R1Y3RTcGVjPC90ZXh0Pgo8L2c+CjwhLS0gXFxDR1Byb2R1Y3RCdWlsZGVyXFxvcHRpb24gLS0+CjxnIGlkPSJub2RlNCIgY2xhc3M9Im5vZGUiPjx0aXRsZT5cXENHUHJvZHVjdEJ1aWxkZXJcXG9wdGlvbjwvdGl0bGU+Cjxwb2x5Z29uIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iMjM5LC0xMTQgMTg1LC0xMTQgMTg1LC03OCAyMzksLTc4IDIzOSwtMTE0Ii8+Cjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjIxMiIgeT0iLTkzLjIiIGZvbnQtZmFtaWx5PSJUaW1lcyxzZXJpZiIgZm9udC1zaXplPSIxMS4wMCI+b3B0aW9uPC90ZXh0Pgo8L2c+CjwhLS0gXFxDR1Byb2R1Y3RCdWlsZGVyXFxvcHRpb25fc2V0IC0tPgo8ZyBpZD0ibm9kZTUiIGNsYXNzPSJub2RlIj48dGl0bGU+XFxDR1Byb2R1Y3RCdWlsZGVyXFxvcHRpb25fc2V0PC90aXRsZT4KPHBvbHlnb24gZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSIyNDMsLTYwIDE4MSwtNjAgMTgxLC0yNCAyNDMsLTI0IDI0MywtNjAiLz4KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMjEyIiB5PSItMzkuMiIgZm9udC1mYW1pbHk9IlRpbWVzLHNlcmlmIiBmb250LXNpemU9IjExLjAwIj5vcHRpb25fc2V0PC90ZXh0Pgo8L2c+CjwvZz4KPC9zdmc+Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/images/apple-touch-icon-72x72.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/apple-touch-icon-114x114.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/apple-touch-icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/custom-icons.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iMjIwIgogICBoZWlnaHQ9IjIyMCIKICAgaWQ9InN2ZzIiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImN1c3RvbS1pY29ucy5zdmciPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpZD0iYmFzZSIKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMS4wIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6em9vbT0iMi40MTgxODE4IgogICAgIGlua3NjYXBlOmN4PSI2MC4zNzU5NCIKICAgICBpbmtzY2FwZTpjeT0iMTEwIgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJweCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjQiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTM2NiIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI3MTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpzaG93cGFnZXNoYWRvdz0iZmFsc2UiCiAgICAgZml0LW1hcmdpbi10b3A9IjEwIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMTAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMTAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjEwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkJhY2tncm91bmQiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcuMDIxNzM2MSw4LjA2OTQ5NjIpIgogICAgIHNvZGlwb2RpOmluc2Vuc2l0aXZlPSJ0cnVlIj4KICAgIDxwYXRoCiAgICAgICBzdHlsZT0iZmlsbDojMzMzMzMzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIgogICAgICAgZD0iTSA2MCwxMCBDIDMyLjMsMTAgMTAsMzIuMyAxMCw2MCBsIDAsMTAwIGMgMCwyNy43IDIyLjMsNTAgNTAsNTAgbCAxMDAsMCBjIDI3LjcsMCA1MCwtMjIuMyA1MCwtNTAgTCAyMTAsNjAgQyAyMTAsMzIuMyAxODcuNywxMCAxNjAsMTAgTCA2MCwxMCB6IG0gOC45MDYyNSwxNy43ODEyNSA4Mi4xODc1LDAgYyAyMi43NzQ0LDAgNDEuMTI1LDE4LjM1MDYwMSA0MS4xMjUsNDEuMTI1IGwgMCw4Mi4xODc1IGMgMCwyMi43NzQ0IC0xOC4zNTA2LDQxLjEyNSAtNDEuMTI1LDQxLjEyNSBsIC04Mi4xODc1LDAgYyAtMjIuNzc0Mzk5LDAgLTQxLjEyNSwtMTguMzUwNiAtNDEuMTI1LC00MS4xMjUgbCAwLC04Mi4xODc1IGMgMCwtMjIuNzc0Mzk5IDE4LjM1MDYwMSwtNDEuMTI1IDQxLjEyNSwtNDEuMTI1IHoiCiAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNy4wMjE3MzYxLC04LjA2OTQ5NjIpIgogICAgICAgaWQ9InJlY3Q0OTkxIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICA8L2c+CiAgPGcKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjIiCiAgICAgaW5rc2NhcGU6bGFiZWw9IkNsYXNzIgogICAgIHN0eWxlPSJkaXNwbGF5Om5vbmUiCiAgICAgc29kaXBvZGk6aW5zZW5zaXRpdmU9InRydWUiPgogICAgPGcKICAgICAgIHN0eWxlPSJmb250LXNpemU6MjBweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjEyNSU7bGV0dGVyLXNwYWNpbmc6MHB4O3dvcmQtc3BhY2luZzowcHg7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzMzMzMzMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtmb250LWZhbWlseTpVYnVudHU7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpVYnVudHUiCiAgICAgICBpZD0idGV4dDM3NjEiPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDExOS43NzUsMTY4Ljk4ODkzIGMgLTguODQwMDYsMCAtMTYuNzczMzgsLTEuMzYgLTIzLjgsLTQuMDggLTcuMDI2NzAyLC0yLjcxOTk5IC0xMi45NzY2OTYsLTYuNjg2NjUgLTE3Ljg1LC0xMS45IC00Ljg3MzM1MywtNS4zMjY2NCAtOC42MTMzNDksLTExLjc4NjY0IC0xMS4yMiwtMTkuMzggLTIuNjA2Njc3LC03LjU5MzI5IC0zLjkxMDAwOSwtMTYuMzE5OTUgLTMuOTEsLTI2LjE4IC05ZS02LC05Ljg1OTkyNyAxLjQ3MzMyMiwtMTguNTg2NTg1IDQuNDIsLTI2LjE3OTk5NiAzLjA1OTk4MywtNy41OTMyNCA3LjE5NjY0NiwtMTMuOTk2NTY3IDEyLjQxLC0xOS4yMSA1LjIxMzMwMiwtNS4zMjY1NTcgMTEuMzMzMjk2LC05LjM0OTg4NiAxOC4zNiwtMTIuMDcgNy4wMjY2MiwtMi43MTk4ODEgMTQuNTYzMjcsLTQuMDc5ODc5IDIyLjYxLC00LjA4IDQuODczMjYsMS4yMWUtNCA5LjI5MzI2LDAuMzk2Nzg3IDEzLjI2LDEuMTkgMy45NjY1OCwwLjY4MDExOSA3LjQyMzI1LDEuNDczNDUyIDEwLjM3LDIuMzggMi45NDY1NywwLjkwNjc4MyA1LjM4MzI0LDEuODcwMTE1IDcuMzEsMi44OSAxLjkyNjU3LDEuMDIwMTEzIDMuMjg2NTcsMS43NTY3NzkgNC4wOCwyLjIxIGwgLTYuMjksMTcuNTEgYyAtMi43MjAwOSwtMS42OTk5MDQgLTYuNjMwMDksLTMuMjg2NTY5IC0xMS43MywtNC43NiAtNC45ODY3NSwtMS41ODY1NjYgLTEwLjQyNjc0LC0yLjM3OTg5OCAtMTYuMzIsLTIuMzggLTUuMTAwMDYsMS4wMmUtNCAtOS44NjAwNiwwLjkwNjc2OCAtMTQuMjgsMi43MiAtNC40MjAwNSwxLjcwMDA5NyAtOC4yNzMzNzksNC4zMDY3NjEgLTExLjU2LDcuODIgLTMuMTczMzcyLDMuNTEzNDIxIC01LjY2NjcwMyw3LjkzMzQxNyAtNy40OCwxMy4yNiAtMS44MTMzNjYsNS4zMjY3MzkgLTIuNzIwMDMyLDExLjUwMzM5NiAtMi43MiwxOC41Mjk5OTYgLTMuMmUtNSw2LjIzMzM5IDAuNjc5OTY3LDExLjk1NjcyIDIuMDQsMTcuMTcgMS40NzMyOTgsNS4yMTMzNyAzLjY4MzI5Niw5Ljc0NjcgNi42MywxMy42IDIuOTQ2NjIzLDMuNzQwMDMgNi42ODY2Miw2LjY4NjY5IDExLjIyLDguODQgNC41MzMyOCwyLjA0MDAyIDkuOTczMjcsMy4wNjAwMiAxNi4zMiwzLjA2IDcuNTkzMjYsMmUtNSAxMy43Njk5MiwtMC43MzY2NSAxOC41MywtMi4yMSA0Ljc1OTkxLC0xLjU4NjY0IDguNDQzMjQsLTMuMDU5OTcgMTEuMDUsLTQuNDIgbCA1Ljc4LDE3LjUxIGMgLTEuMzYwMSwwLjkwNjY4IC0zLjIzMDEsMS44MTMzNCAtNS42MSwyLjcyIC0yLjI2Njc2LDAuOTA2NjcgLTQuOTg2NzYsMS44MTMzNCAtOC4xNiwyLjcyIC0zLjE3MzQyLDAuNzkzMzQgLTYuNzQzNDIsMS40MTY2NyAtMTAuNzEsMS44NyAtMy45NjY3NCwwLjU2NjY3IC04LjIxNjc0LDAuODUgLTEyLjc1LDAuODUiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTcwcHg7Zm9udC13ZWlnaHQ6NTAwO2ZpbGw6IzMzMzMzMzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlVidW50dSBNZWRpdW0iCiAgICAgICAgIGlkPSJwYXRoNTAxMyIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICAgIDwvZz4KICA8L2c+CiAgPGcKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjMiCiAgICAgaW5rc2NhcGU6bGFiZWw9IkludGVyZmFjZSIKICAgICBzdHlsZT0iZGlzcGxheTpub25lIgogICAgIHNvZGlwb2RpOmluc2Vuc2l0aXZlPSJ0cnVlIj4KICAgIDxnCiAgICAgICBzdHlsZT0iZm9udC1zaXplOjIwcHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMjUlO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMzMzMzMzM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7Zm9udC1mYW1pbHk6VWJ1bnR1Oy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246VWJ1bnR1IgogICAgICAgaWQ9InRleHQzNzYxLTkiPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDk5LjI4OTk5Myw0OC42Mjg5MzQgMjEuNDE5OTk3LDAgMCwxMTcuODA5OTk2IC0yMS40MTk5OTcsMCAwLC0xMTcuODA5OTk2IgogICAgICAgICBzdHlsZT0iZm9udC1zaXplOjE3MHB4O2ZvbnQtd2VpZ2h0OjUwMDtmaWxsOiMzMzMzMzM7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpVYnVudHUgTWVkaXVtIgogICAgICAgICBpZD0icGF0aDUwODYiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+CiAgICA8L2c+CiAgPC9nPgogIDxnCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXI0IgogICAgIGlua3NjYXBlOmxhYmVsPSJUcmFpdCIKICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiCiAgICAgc29kaXBvZGk6aW5zZW5zaXRpdmU9InRydWUiPgogICAgPGcKICAgICAgIHN0eWxlPSJmb250LXNpemU6MjBweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjEyNSU7bGV0dGVyLXNwYWNpbmc6MHB4O3dvcmQtc3BhY2luZzowcHg7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzMzMzMzMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtmb250LWZhbWlseTpVYnVudHU7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpVYnVudHUiCiAgICAgICBpZD0idGV4dDM3NjEtNyI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMTU0LjY3MTQ4LDQ4LjYyODkzNCAwLDE4LjUzIC0zNi4yMSwwIDAsOTkuMjc5OTk2IC0yMS41ODk5OTUsMCAwLC05OS4yNzk5OTYgLTM2LjIxLDAgMCwtMTguNTMgOTQuMDA5OTk1LDAiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTcwcHg7Zm9udC13ZWlnaHQ6NTAwO2ZpbGw6IzMzMzMzMzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlVidW50dSBNZWRpdW0iCiAgICAgICAgIGlkPSJwYXRoNTA4OSIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/favicon.ico</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAABAAEAEBAAAAAAAABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA4ODgAAAAABgAAAHIAAACFAAAAhQAAAIUAAACFAAAAhQAAAIUAAACFAAAAhQAAAIUAAACFAAAAcgAAAAcAAAAAAAAAFwwfQv8dNGH/KUFr/yhCdP8tSXv/KUR1/y5Kff8nRHz/KkeA/y5IgP8nQG7/KD9r/xw0YP8aLlL/AAAAFytBZfofN2T/DyhV/yNAdf8cOW3/L02A/ytKgP85WJL/M1SP/ydHf/85WZL/OFaP/xs2Zv8rQ3L/Ijhj/ytBa/scL1X/IThh/zlShP8VMGH/J0V//05no//Q8f//4f///9z9///U9P//SmCY/yZDd/8tRnj/NlCB/xwzXP8PIkP/JThb/ylBb/8kPmv/NlOI/9fz+v/T8v//MlOM/zdcnf8zVY//MVOU/+H////l9vn/MU2F/yE5Zv8fOGf/HS9Q/xsuU/8lPmz/M015/213nf9QWH//Lk2F/zhalf9zf6X/SFua/zxdl/83WZb/UF6J/1lch/8nQW//KD5n/x4wVf8XKkz/GTBZ/x03Zf/O6v//ME6B/zlWkv/S8v//doGq/9v9///S8///ICpg/y5Lhf/S8P//JD9w/yE5ZP8XKUn/HC9Q/xsyXP8yS3j/0uz3/zhXj/83WJH/5u3y/3J7o//U+P//2vv//yk3bf8zUov/1e/3/zhRfv8oP2f/ITJS/xwvUf8qP2j/OFF8/9vs8P8wTYH/1fX//6u3zP+jrsj/8////05ajf/y9fb/OFOF/9rt8P89VoL/KD9o/yY4WP8eM1b/KUNs/zVPeP/e+f//PluQ/yEzY//n////2t3l/1VmlP/k////cICm/zhVg//W8v//KkZx/ytCaf8kNlj/MENi/zVPdv89VYD/3fj//09pl/9GZJf/MUBq/9nc5f/s////wcjU/0Ngjf9Pa5X/4P3//zlRef8qRW3/Kz9d/zFFYf82UXX/RF+I/z1Yfv/q////aYi1/0xrl/9Na5v/TWuX/0lrm/9gfKn/3vz//0dijP9BW4H/PliA/zhMaP8oP2H/PlV2/0Vihv9IYYX/UW6Y/+v////t8PL/epjC/3SRuP/t7/L/7f///0lki/87Vnz/TGmR/z5Vdv80SWr/Rlt9/0tkjP9KZIf/TmqU/0xni/9Vc5j/Um2V/x07Yf8dOmH/UW2V/0hpk/9Qa5P/TGaM/0Nafv9KZI7/QlV3/wAAAC5EXYD/VG+X/1JukP9MZ4//T22S/1Ntj/9beJn/W3id/05tlf9ceZ7/UGyQ/0tlhv9OZ4//P1Z2/wAAAC/9/f0AIyUqMEtjjf9HW4L/SWSN/0dhiv9EXID/UGeO/09nkv9OZ5H/R2CF/0xliv9KY43/RlyB/yMmKzEAAAAA4AcAAIABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAAwAMAAA==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/hierarchy-item.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAARCAIAAACNaGH2AAAAA3NCSVQICAjb4U/gAAAAEHRFWHRTb2Z0d2FyZQBTaHV0dGVyY4LQCQAAAIhJREFUKM9jNDY2ZiAaMDGQAihRzSqurCHLTaRqVuWIhsZYTe5B4G4kR3GzEq2a26p63pIGN1lWgqrZ2NhYf12cO/2icn5PNZoGFnS1QtaNq7bBeBL5maZHq459hfEZccS8uENVT6n+9e687gMvfxN0d2amJrpSPGazsrL+/v2b2BDEopTGcQkAlj4m+FZaLVQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/icon-class-13x13.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAA6AAAAOgBhtX2rwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAEpSURBVCiRjZIhS0NhFIaf892rIMw2BJNBwWTxOxdhDkxWq9FVy9KyTYta9gsM/gWDaQhOGLtLBstEl4yDlV2G9x7DHFw3Lu7El+eBl+97xXu/DzSBQ/6/NlAPf4VX4CzLsu8i2jkXAg2gKd57A3biOH6fAap6ICInwGaWZW8ich/H8ZeqbgN9B5CmaZoTGsCLmR2Z2aqI1MxM81yYrxBF0S5wJSIX3W73cpaLiPypOlf9GHClUuk2H5qZFUpmtgUMW61WUvQgC5KIDICyqpaXlpxzD0ACXKvqCkClUlmrVqvrhVKn0/kws3PgFBip6udkMhkmSVLLcyFAEATBLOj1eneq+igikZltiMhgPB4/5Tnx3j8zXcTNkovYC4E60yn1nZv/gYVrA/Uf6WhrDeKPiz4AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/icon-class.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB2ZXJzaW9uPSIxLjEiCiAgIHdpZHRoPSIyMjAiCiAgIGhlaWdodD0iMjIwIgogICBpZD0ic3ZnMiI+CiAgPGRlZnMKICAgICBpZD0iZGVmczQiIC8+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhNyI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGcKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjAyMTczNjEsOC4wNjk0OTYyKSIKICAgICBpZD0ibGF5ZXIxIj4KICAgIDxwYXRoCiAgICAgICBkPSJNIDYwLDEwIEMgMzIuMywxMCAxMCwzMi4zIDEwLDYwIGwgMCwxMDAgYyAwLDI3LjcgMjIuMyw1MCA1MCw1MCBsIDEwMCwwIGMgMjcuNywwIDUwLC0yMi4zIDUwLC01MCBMIDIxMCw2MCBDIDIxMCwzMi4zIDE4Ny43LDEwIDE2MCwxMCBMIDYwLDEwIHogbSA4LjkwNjI1LDE3Ljc4MTI1IDgyLjE4NzUsMCBjIDIyLjc3NDQsMCA0MS4xMjUsMTguMzUwNjAxIDQxLjEyNSw0MS4xMjUgbCAwLDgyLjE4NzUgYyAwLDIyLjc3NDQgLTE4LjM1MDYsNDEuMTI1IC00MS4xMjUsNDEuMTI1IGwgLTgyLjE4NzUsMCBjIC0yMi43NzQzOTksMCAtNDEuMTI1LC0xOC4zNTA2IC00MS4xMjUsLTQxLjEyNSBsIDAsLTgyLjE4NzUgYyAwLC0yMi43NzQzOTkgMTguMzUwNjAxLC00MS4xMjUgNDEuMTI1LC00MS4xMjUgeiIKICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03LjAyMTczNjEsLTguMDY5NDk2MikiCiAgICAgICBpZD0icmVjdDQ5OTEiCiAgICAgICBzdHlsZT0iZmlsbDojMzMzMzMzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJsYXllcjIiCiAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lIj4KICAgIDxnCiAgICAgICBpZD0idGV4dDM3NjEiCiAgICAgICBzdHlsZT0iZm9udC1zaXplOjIwcHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMjUlO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMzMzMzMzM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7Zm9udC1mYW1pbHk6VWJ1bnR1Oy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246VWJ1bnR1Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSAxMTkuNzc1LDE2OC45ODg5MyBjIC04Ljg0MDA2LDAgLTE2Ljc3MzM4LC0xLjM2IC0yMy44LC00LjA4IC03LjAyNjcwMiwtMi43MTk5OSAtMTIuOTc2Njk2LC02LjY4NjY1IC0xNy44NSwtMTEuOSAtNC44NzMzNTMsLTUuMzI2NjQgLTguNjEzMzQ5LC0xMS43ODY2NCAtMTEuMjIsLTE5LjM4IC0yLjYwNjY3NywtNy41OTMyOSAtMy45MTAwMDksLTE2LjMxOTk1IC0zLjkxLC0yNi4xOCAtOWUtNiwtOS44NTk5MjcgMS40NzMzMjIsLTE4LjU4NjU4NSA0LjQyLC0yNi4xNzk5OTYgMy4wNTk5ODMsLTcuNTkzMjQgNy4xOTY2NDYsLTEzLjk5NjU2NyAxMi40MSwtMTkuMjEgNS4yMTMzMDIsLTUuMzI2NTU3IDExLjMzMzI5NiwtOS4zNDk4ODYgMTguMzYsLTEyLjA3IDcuMDI2NjIsLTIuNzE5ODgxIDE0LjU2MzI3LC00LjA3OTg3OSAyMi42MSwtNC4wOCA0Ljg3MzI2LDEuMjFlLTQgOS4yOTMyNiwwLjM5Njc4NyAxMy4yNiwxLjE5IDMuOTY2NTgsMC42ODAxMTkgNy40MjMyNSwxLjQ3MzQ1MiAxMC4zNywyLjM4IDIuOTQ2NTcsMC45MDY3ODMgNS4zODMyNCwxLjg3MDExNSA3LjMxLDIuODkgMS45MjY1NywxLjAyMDExMyAzLjI4NjU3LDEuNzU2Nzc5IDQuMDgsMi4yMSBsIC02LjI5LDE3LjUxIGMgLTIuNzIwMDksLTEuNjk5OTA0IC02LjYzMDA5LC0zLjI4NjU2OSAtMTEuNzMsLTQuNzYgLTQuOTg2NzUsLTEuNTg2NTY2IC0xMC40MjY3NCwtMi4zNzk4OTggLTE2LjMyLC0yLjM4IC01LjEwMDA2LDEuMDJlLTQgLTkuODYwMDYsMC45MDY3NjggLTE0LjI4LDIuNzIgLTQuNDIwMDUsMS43MDAwOTcgLTguMjczMzc5LDQuMzA2NzYxIC0xMS41Niw3LjgyIC0zLjE3MzM3MiwzLjUxMzQyMSAtNS42NjY3MDMsNy45MzM0MTcgLTcuNDgsMTMuMjYgLTEuODEzMzY2LDUuMzI2NzM5IC0yLjcyMDAzMiwxMS41MDMzOTYgLTIuNzIsMTguNTI5OTk2IC0zLjJlLTUsNi4yMzMzOSAwLjY3OTk2NywxMS45NTY3MiAyLjA0LDE3LjE3IDEuNDczMjk4LDUuMjEzMzcgMy42ODMyOTYsOS43NDY3IDYuNjMsMTMuNiAyLjk0NjYyMywzLjc0MDAzIDYuNjg2NjIsNi42ODY2OSAxMS4yMiw4Ljg0IDQuNTMzMjgsMi4wNDAwMiA5Ljk3MzI3LDMuMDYwMDIgMTYuMzIsMy4wNiA3LjU5MzI2LDJlLTUgMTMuNzY5OTIsLTAuNzM2NjUgMTguNTMsLTIuMjEgNC43NTk5MSwtMS41ODY2NCA4LjQ0MzI0LC0zLjA1OTk3IDExLjA1LC00LjQyIGwgNS43OCwxNy41MSBjIC0xLjM2MDEsMC45MDY2OCAtMy4yMzAxLDEuODEzMzQgLTUuNjEsMi43MiAtMi4yNjY3NiwwLjkwNjY3IC00Ljk4Njc2LDEuODEzMzQgLTguMTYsMi43MiAtMy4xNzM0MiwwLjc5MzM0IC02Ljc0MzQyLDEuNDE2NjcgLTEwLjcxLDEuODcgLTMuOTY2NzQsMC41NjY2NyAtOC4yMTY3NCwwLjg1IC0xMi43NSwwLjg1IgogICAgICAgICBpZD0icGF0aDUwMTMiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTcwcHg7Zm9udC13ZWlnaHQ6NTAwO2ZpbGw6IzMzMzMzMzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlVidW50dSBNZWRpdW0iIC8+CiAgICA8L2c+CiAgPC9nPgogIDxnCiAgICAgaWQ9ImxheWVyMyIKICAgICBzdHlsZT0iZGlzcGxheTpub25lIj4KICAgIDx0ZXh0CiAgICAgICB4PSIxMTAuMDgyMzQiCiAgICAgICB5PSIxNjYuNDM4OTMiCiAgICAgICBpZD0idGV4dDM3NjEtOSIKICAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgICBzdHlsZT0iZm9udC1zaXplOjIwcHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMjUlO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMzMzMzMzM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7Zm9udC1mYW1pbHk6VWJ1bnR1Oy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246VWJ1bnR1Ij48dHNwYW4KICAgICAgICAgeD0iMTEwLjA4MjM0IgogICAgICAgICB5PSIxNjYuNDM4OTMiCiAgICAgICAgIGlkPSJ0c3BhbjM3NjMtNSIKICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxNzBweDtmb250LXdlaWdodDo1MDA7ZmlsbDojMzMzMzMzOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246VWJ1bnR1IE1lZGl1bSI+STwvdHNwYW4+PC90ZXh0PgogIDwvZz4KICA8ZwogICAgIGlkPSJsYXllcjQiCiAgICAgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICA8dGV4dAogICAgICAgeD0iMTA3LjU5MjExIgogICAgICAgeT0iMTY2LjQzODkzIgogICAgICAgaWQ9InRleHQzNzYxLTciCiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgc3R5bGU9ImZvbnQtc2l6ZToyMHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MTI1JTtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMzMzMzMzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OlVidW50dTstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlVidW50dSI+PHRzcGFuCiAgICAgICAgIHg9IjEwNy41OTIxMSIKICAgICAgICAgeT0iMTY2LjQzODkzIgogICAgICAgICBpZD0idHNwYW4zNzYzLTgiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTcwcHg7Zm9udC13ZWlnaHQ6NTAwO2ZpbGw6IzMzMzMzMzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlVidW50dSBNZWRpdW0iPlQ8L3RzcGFuPjwvdGV4dD4KICA8L2c+Cjwvc3ZnPgo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/icon-interface-13x13.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAA6AAAAOgBhtX2rwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAACxSURBVCiR7ZIxCsJAEEXf7ibkBoK22krASWflSQQPkMo72FjlAJ7GdGmC7XoBD5Am7moRFxZEkgM45eP9YQa+EpENUAFbxqcGyuQTuAF77/3zl621ToAjUCkReQGrpmnuQcjzfJam6aHv+0vbto/Ai6JYAlYDOOdcvNUYMwdOWZYtYh48PeGP71P/oShkjDExdM5ZpdSu6zob8+ApEbkyNOI8sRHrBCgZqmS1Hr22Bso335szaMsx+TsAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/icon-interface.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB2ZXJzaW9uPSIxLjEiCiAgIHdpZHRoPSIyMjAiCiAgIGhlaWdodD0iMjIwIgogICBpZD0ic3ZnMiI+CiAgPGRlZnMKICAgICBpZD0iZGVmczQiIC8+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhNyI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGcKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjAyMTczNjEsOC4wNjk0OTYyKSIKICAgICBpZD0ibGF5ZXIxIj4KICAgIDxwYXRoCiAgICAgICBkPSJNIDYwLDEwIEMgMzIuMywxMCAxMCwzMi4zIDEwLDYwIGwgMCwxMDAgYyAwLDI3LjcgMjIuMyw1MCA1MCw1MCBsIDEwMCwwIGMgMjcuNywwIDUwLC0yMi4zIDUwLC01MCBMIDIxMCw2MCBDIDIxMCwzMi4zIDE4Ny43LDEwIDE2MCwxMCBMIDYwLDEwIHogbSA4LjkwNjI1LDE3Ljc4MTI1IDgyLjE4NzUsMCBjIDIyLjc3NDQsMCA0MS4xMjUsMTguMzUwNjAxIDQxLjEyNSw0MS4xMjUgbCAwLDgyLjE4NzUgYyAwLDIyLjc3NDQgLTE4LjM1MDYsNDEuMTI1IC00MS4xMjUsNDEuMTI1IGwgLTgyLjE4NzUsMCBjIC0yMi43NzQzOTksMCAtNDEuMTI1LC0xOC4zNTA2IC00MS4xMjUsLTQxLjEyNSBsIDAsLTgyLjE4NzUgYyAwLC0yMi43NzQzOTkgMTguMzUwNjAxLC00MS4xMjUgNDEuMTI1LC00MS4xMjUgeiIKICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03LjAyMTczNjEsLTguMDY5NDk2MikiCiAgICAgICBpZD0icmVjdDQ5OTEiCiAgICAgICBzdHlsZT0iZmlsbDojMzMzMzMzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJsYXllcjIiCiAgICAgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICA8ZwogICAgICAgaWQ9InRleHQzNzYxIgogICAgICAgc3R5bGU9ImZvbnQtc2l6ZToyMHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MTI1JTtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMzMzMzMzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OlVidW50dTstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlVidW50dSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMTE5Ljc3NSwxNjguOTg4OTMgYyAtOC44NDAwNiwwIC0xNi43NzMzOCwtMS4zNiAtMjMuOCwtNC4wOCAtNy4wMjY3MDIsLTIuNzE5OTkgLTEyLjk3NjY5NiwtNi42ODY2NSAtMTcuODUsLTExLjkgLTQuODczMzUzLC01LjMyNjY0IC04LjYxMzM0OSwtMTEuNzg2NjQgLTExLjIyLC0xOS4zOCAtMi42MDY2NzcsLTcuNTkzMjkgLTMuOTEwMDA5LC0xNi4zMTk5NSAtMy45MSwtMjYuMTggLTllLTYsLTkuODU5OTI3IDEuNDczMzIyLC0xOC41ODY1ODUgNC40MiwtMjYuMTc5OTk2IDMuMDU5OTgzLC03LjU5MzI0IDcuMTk2NjQ2LC0xMy45OTY1NjcgMTIuNDEsLTE5LjIxIDUuMjEzMzAyLC01LjMyNjU1NyAxMS4zMzMyOTYsLTkuMzQ5ODg2IDE4LjM2LC0xMi4wNyA3LjAyNjYyLC0yLjcxOTg4MSAxNC41NjMyNywtNC4wNzk4NzkgMjIuNjEsLTQuMDggNC44NzMyNiwxLjIxZS00IDkuMjkzMjYsMC4zOTY3ODcgMTMuMjYsMS4xOSAzLjk2NjU4LDAuNjgwMTE5IDcuNDIzMjUsMS40NzM0NTIgMTAuMzcsMi4zOCAyLjk0NjU3LDAuOTA2NzgzIDUuMzgzMjQsMS44NzAxMTUgNy4zMSwyLjg5IDEuOTI2NTcsMS4wMjAxMTMgMy4yODY1NywxLjc1Njc3OSA0LjA4LDIuMjEgbCAtNi4yOSwxNy41MSBjIC0yLjcyMDA5LC0xLjY5OTkwNCAtNi42MzAwOSwtMy4yODY1NjkgLTExLjczLC00Ljc2IC00Ljk4Njc1LC0xLjU4NjU2NiAtMTAuNDI2NzQsLTIuMzc5ODk4IC0xNi4zMiwtMi4zOCAtNS4xMDAwNiwxLjAyZS00IC05Ljg2MDA2LDAuOTA2NzY4IC0xNC4yOCwyLjcyIC00LjQyMDA1LDEuNzAwMDk3IC04LjI3MzM3OSw0LjMwNjc2MSAtMTEuNTYsNy44MiAtMy4xNzMzNzIsMy41MTM0MjEgLTUuNjY2NzAzLDcuOTMzNDE3IC03LjQ4LDEzLjI2IC0xLjgxMzM2Niw1LjMyNjczOSAtMi43MjAwMzIsMTEuNTAzMzk2IC0yLjcyLDE4LjUyOTk5NiAtMy4yZS01LDYuMjMzMzkgMC42Nzk5NjcsMTEuOTU2NzIgMi4wNCwxNy4xNyAxLjQ3MzI5OCw1LjIxMzM3IDMuNjgzMjk2LDkuNzQ2NyA2LjYzLDEzLjYgMi45NDY2MjMsMy43NDAwMyA2LjY4NjYyLDYuNjg2NjkgMTEuMjIsOC44NCA0LjUzMzI4LDIuMDQwMDIgOS45NzMyNywzLjA2MDAyIDE2LjMyLDMuMDYgNy41OTMyNiwyZS01IDEzLjc2OTkyLC0wLjczNjY1IDE4LjUzLC0yLjIxIDQuNzU5OTEsLTEuNTg2NjQgOC40NDMyNCwtMy4wNTk5NyAxMS4wNSwtNC40MiBsIDUuNzgsMTcuNTEgYyAtMS4zNjAxLDAuOTA2NjggLTMuMjMwMSwxLjgxMzM0IC01LjYxLDIuNzIgLTIuMjY2NzYsMC45MDY2NyAtNC45ODY3NiwxLjgxMzM0IC04LjE2LDIuNzIgLTMuMTczNDIsMC43OTMzNCAtNi43NDM0MiwxLjQxNjY3IC0xMC43MSwxLjg3IC0zLjk2Njc0LDAuNTY2NjcgLTguMjE2NzQsMC44NSAtMTIuNzUsMC44NSIKICAgICAgICAgaWQ9InBhdGg1MDEzIgogICAgICAgICBzdHlsZT0iZm9udC1zaXplOjE3MHB4O2ZvbnQtd2VpZ2h0OjUwMDtmaWxsOiMzMzMzMzM7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpVYnVudHUgTWVkaXVtIiAvPgogICAgPC9nPgogIDwvZz4KICA8ZwogICAgIGlkPSJsYXllcjMiCiAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lIj4KICAgIDxnCiAgICAgICBpZD0idGV4dDM3NjEtOSIKICAgICAgIHN0eWxlPSJmb250LXNpemU6MjBweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjEyNSU7bGV0dGVyLXNwYWNpbmc6MHB4O3dvcmQtc3BhY2luZzowcHg7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzMzMzMzMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtmb250LWZhbWlseTpVYnVudHU7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpVYnVudHUiPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDk5LjI4OTk5Myw0OC42Mjg5MzQgMjEuNDE5OTk3LDAgMCwxMTcuODA5OTk2IC0yMS40MTk5OTcsMCAwLC0xMTcuODA5OTk2IgogICAgICAgICBpZD0icGF0aDUwODYiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTcwcHg7Zm9udC13ZWlnaHQ6NTAwO2ZpbGw6IzMzMzMzMzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlVidW50dSBNZWRpdW0iIC8+CiAgICA8L2c+CiAgPC9nPgogIDxnCiAgICAgaWQ9ImxheWVyNCIKICAgICBzdHlsZT0iZGlzcGxheTpub25lIj4KICAgIDxnCiAgICAgICBpZD0idGV4dDM3NjEtNyIKICAgICAgIHN0eWxlPSJmb250LXNpemU6MjBweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjEyNSU7bGV0dGVyLXNwYWNpbmc6MHB4O3dvcmQtc3BhY2luZzowcHg7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzMzMzMzMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtmb250LWZhbWlseTpVYnVudHU7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpVYnVudHUiPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDE1NC42NzE0OCw0OC42Mjg5MzQgMCwxOC41MyAtMzYuMjEsMCAwLDk5LjI3OTk5NiAtMjEuNTg5OTk1LDAgMCwtOTkuMjc5OTk2IC0zNi4yMSwwIDAsLTE4LjUzIDk0LjAwOTk5NSwwIgogICAgICAgICBpZD0icGF0aDUwODkiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTcwcHg7Zm9udC13ZWlnaHQ6NTAwO2ZpbGw6IzMzMzMzMzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlVidW50dSBNZWRpdW0iIC8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/icon-trait-13x13.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAA6AAAAOgBhtX2rwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADRSURBVCiR3ZKxTQNBFETf7K4uoQwISCDgn5wQQUQXFIB0EWUQOXAtLgCLZO8AITK7CVJu9xMYpBMWsmN+OJr3NSONzOwCmAOX7L8V0KVv4A24rbWOf7lDCAm4B+YyMwdOcs4bM7uWNPsNuPtL3/fLtm2PgXUCKKUUAEmn7n4TQjhy9xZ4dvcPSZ/AspRSYoyk6cec8wJYmNm5pNda690wDE87UQ8ov9vvv0IxxjgVx3HcSLpqmuZ9qv/4ZGaPbBfxcOAizhLQsZ3SOoS9aVdA9wUmn0iraysBGAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/icon-trait.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB2ZXJzaW9uPSIxLjEiCiAgIHdpZHRoPSIyMjAiCiAgIGhlaWdodD0iMjIwIgogICBpZD0ic3ZnMiI+CiAgPGRlZnMKICAgICBpZD0iZGVmczQiIC8+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhNyI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGcKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjAyMTczNjEsOC4wNjk0OTYyKSIKICAgICBpZD0ibGF5ZXIxIj4KICAgIDxwYXRoCiAgICAgICBkPSJNIDYwLDEwIEMgMzIuMywxMCAxMCwzMi4zIDEwLDYwIGwgMCwxMDAgYyAwLDI3LjcgMjIuMyw1MCA1MCw1MCBsIDEwMCwwIGMgMjcuNywwIDUwLC0yMi4zIDUwLC01MCBMIDIxMCw2MCBDIDIxMCwzMi4zIDE4Ny43LDEwIDE2MCwxMCBMIDYwLDEwIHogbSA4LjkwNjI1LDE3Ljc4MTI1IDgyLjE4NzUsMCBjIDIyLjc3NDQsMCA0MS4xMjUsMTguMzUwNjAxIDQxLjEyNSw0MS4xMjUgbCAwLDgyLjE4NzUgYyAwLDIyLjc3NDQgLTE4LjM1MDYsNDEuMTI1IC00MS4xMjUsNDEuMTI1IGwgLTgyLjE4NzUsMCBjIC0yMi43NzQzOTksMCAtNDEuMTI1LC0xOC4zNTA2IC00MS4xMjUsLTQxLjEyNSBsIDAsLTgyLjE4NzUgYyAwLC0yMi43NzQzOTkgMTguMzUwNjAxLC00MS4xMjUgNDEuMTI1LC00MS4xMjUgeiIKICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03LjAyMTczNjEsLTguMDY5NDk2MikiCiAgICAgICBpZD0icmVjdDQ5OTEiCiAgICAgICBzdHlsZT0iZmlsbDojMzMzMzMzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJsYXllcjIiCiAgICAgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICA8ZwogICAgICAgaWQ9InRleHQzNzYxIgogICAgICAgc3R5bGU9ImZvbnQtc2l6ZToyMHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MTI1JTtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojMzMzMzMzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO2ZvbnQtZmFtaWx5OlVidW50dTstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlVidW50dSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMTE5Ljc3NSwxNjguOTg4OTMgYyAtOC44NDAwNiwwIC0xNi43NzMzOCwtMS4zNiAtMjMuOCwtNC4wOCAtNy4wMjY3MDIsLTIuNzE5OTkgLTEyLjk3NjY5NiwtNi42ODY2NSAtMTcuODUsLTExLjkgLTQuODczMzUzLC01LjMyNjY0IC04LjYxMzM0OSwtMTEuNzg2NjQgLTExLjIyLC0xOS4zOCAtMi42MDY2NzcsLTcuNTkzMjkgLTMuOTEwMDA5LC0xNi4zMTk5NSAtMy45MSwtMjYuMTggLTllLTYsLTkuODU5OTI3IDEuNDczMzIyLC0xOC41ODY1ODUgNC40MiwtMjYuMTc5OTk2IDMuMDU5OTgzLC03LjU5MzI0IDcuMTk2NjQ2LC0xMy45OTY1NjcgMTIuNDEsLTE5LjIxIDUuMjEzMzAyLC01LjMyNjU1NyAxMS4zMzMyOTYsLTkuMzQ5ODg2IDE4LjM2LC0xMi4wNyA3LjAyNjYyLC0yLjcxOTg4MSAxNC41NjMyNywtNC4wNzk4NzkgMjIuNjEsLTQuMDggNC44NzMyNiwxLjIxZS00IDkuMjkzMjYsMC4zOTY3ODcgMTMuMjYsMS4xOSAzLjk2NjU4LDAuNjgwMTE5IDcuNDIzMjUsMS40NzM0NTIgMTAuMzcsMi4zOCAyLjk0NjU3LDAuOTA2NzgzIDUuMzgzMjQsMS44NzAxMTUgNy4zMSwyLjg5IDEuOTI2NTcsMS4wMjAxMTMgMy4yODY1NywxLjc1Njc3OSA0LjA4LDIuMjEgbCAtNi4yOSwxNy41MSBjIC0yLjcyMDA5LC0xLjY5OTkwNCAtNi42MzAwOSwtMy4yODY1NjkgLTExLjczLC00Ljc2IC00Ljk4Njc1LC0xLjU4NjU2NiAtMTAuNDI2NzQsLTIuMzc5ODk4IC0xNi4zMiwtMi4zOCAtNS4xMDAwNiwxLjAyZS00IC05Ljg2MDA2LDAuOTA2NzY4IC0xNC4yOCwyLjcyIC00LjQyMDA1LDEuNzAwMDk3IC04LjI3MzM3OSw0LjMwNjc2MSAtMTEuNTYsNy44MiAtMy4xNzMzNzIsMy41MTM0MjEgLTUuNjY2NzAzLDcuOTMzNDE3IC03LjQ4LDEzLjI2IC0xLjgxMzM2Niw1LjMyNjczOSAtMi43MjAwMzIsMTEuNTAzMzk2IC0yLjcyLDE4LjUyOTk5NiAtMy4yZS01LDYuMjMzMzkgMC42Nzk5NjcsMTEuOTU2NzIgMi4wNCwxNy4xNyAxLjQ3MzI5OCw1LjIxMzM3IDMuNjgzMjk2LDkuNzQ2NyA2LjYzLDEzLjYgMi45NDY2MjMsMy43NDAwMyA2LjY4NjYyLDYuNjg2NjkgMTEuMjIsOC44NCA0LjUzMzI4LDIuMDQwMDIgOS45NzMyNywzLjA2MDAyIDE2LjMyLDMuMDYgNy41OTMyNiwyZS01IDEzLjc2OTkyLC0wLjczNjY1IDE4LjUzLC0yLjIxIDQuNzU5OTEsLTEuNTg2NjQgOC40NDMyNCwtMy4wNTk5NyAxMS4wNSwtNC40MiBsIDUuNzgsMTcuNTEgYyAtMS4zNjAxLDAuOTA2NjggLTMuMjMwMSwxLjgxMzM0IC01LjYxLDIuNzIgLTIuMjY2NzYsMC45MDY2NyAtNC45ODY3NiwxLjgxMzM0IC04LjE2LDIuNzIgLTMuMTczNDIsMC43OTMzNCAtNi43NDM0MiwxLjQxNjY3IC0xMC43MSwxLjg3IC0zLjk2Njc0LDAuNTY2NjcgLTguMjE2NzQsMC44NSAtMTIuNzUsMC44NSIKICAgICAgICAgaWQ9InBhdGg1MDEzIgogICAgICAgICBzdHlsZT0iZm9udC1zaXplOjE3MHB4O2ZvbnQtd2VpZ2h0OjUwMDtmaWxsOiMzMzMzMzM7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpVYnVudHUgTWVkaXVtIiAvPgogICAgPC9nPgogIDwvZz4KICA8ZwogICAgIGlkPSJsYXllcjMiCiAgICAgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICA8ZwogICAgICAgaWQ9InRleHQzNzYxLTkiCiAgICAgICBzdHlsZT0iZm9udC1zaXplOjIwcHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMjUlO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiMzMzMzMzM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7Zm9udC1mYW1pbHk6VWJ1bnR1Oy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246VWJ1bnR1Ij4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA5OS4yODk5OTMsNDguNjI4OTM0IDIxLjQxOTk5NywwIDAsMTE3LjgwOTk5NiAtMjEuNDE5OTk3LDAgMCwtMTE3LjgwOTk5NiIKICAgICAgICAgaWQ9InBhdGg1MDg2IgogICAgICAgICBzdHlsZT0iZm9udC1zaXplOjE3MHB4O2ZvbnQtd2VpZ2h0OjUwMDtmaWxsOiMzMzMzMzM7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpVYnVudHUgTWVkaXVtIiAvPgogICAgPC9nPgogIDwvZz4KICA8ZwogICAgIGlkPSJsYXllcjQiCiAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lIj4KICAgIDxnCiAgICAgICBpZD0idGV4dDM3NjEtNyIKICAgICAgIHN0eWxlPSJmb250LXNpemU6MjBweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjEyNSU7bGV0dGVyLXNwYWNpbmc6MHB4O3dvcmQtc3BhY2luZzowcHg7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6IzMzMzMzMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtmb250LWZhbWlseTpVYnVudHU7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpVYnVudHUiPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDE1NC42NzE0OCw0OC42Mjg5MzQgMCwxOC41MyAtMzYuMjEsMCAwLDk5LjI3OTk5NiAtMjEuNTg5OTk1LDAgMCwtOTkuMjc5OTk2IC0zNi4yMSwwIDAsLTE4LjUzIDk0LjAwOTk5NSwwIgogICAgICAgICBpZD0icGF0aDUwODkiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTcwcHg7Zm9udC13ZWlnaHQ6NTAwO2ZpbGw6IzMzMzMzMzstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlVidW50dSBNZWRpdW0iIC8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/iviewer/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/images/iviewer/grab.cur</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////DAwM/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////wICAv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////DQ0N/wAAAAAAAAAAAAAAAAAAAAADAwP//////////////////////////////////////////////////////wUFBf8AAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////BQUF/wAAAAAAAAAAAAAAAAAAAAABAQH/AAAA/////////////////////////////////////////////////wEBAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAcHB/////////////////////////////////////////////////8CAgL/AAAAAAAAAAAAAAAAAAAAABoaGv///////////////////////////////////////////wAAAP//////AgIC/wAAAAAAAAAAAAAAAAAAAAAAAAD///////////8AAAD///////////8AAAD///////////8NDQ3/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkJCf8AAAD/AAAAAAICAv8AAAD/AAAAAAEBAf8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+AcAwPgH3cDwBwAA4AMAAMADAADAAQAA4AEAAPABAADgAQAA4AMAAPJPAAD//wAA//8AAP//AAD//wAA//8AAA==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/iviewer/hand.cur</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////8aGhr/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQH//////////////////////////////////////wEBAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////AQEB/wAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////xQUFP8AAAAAAAAAAAAAAAAAAAAAHh4e////////////////////////////////////////////////////////////DQ0N/wAAAAAAAAAAAAAA/////////////////////////////////////////////////////////////////wMDA/8AAAAADw8P/////////////////w8PD/////////////////////////////////////////////////8AAAD/AAAAAAAAAP///////////wwMDP8AAAD//////////////////////////////////////////////////////wAAAP8AAAAAAAAA/yEhIf8AAAD/AAAA//////////////////////////////////////8AAAD///////////8BAQH/AAAAAAAAAAAAAAAAAAAA////////////AAAA////////////AAAA////////////BAQE////////////AAAA/wAAAAAAAAAAAAAAAAkJCf///////////xYWFv///////////wICAv///////////wEBAf8AAAD//////wwMDP8AAAAAAAAAAAAAAP///////////wAAAP8NDQ3///////////8AAAD///////////8YGBj/AAAAAAcHB/8AAAAAAAAAAAAAAAABAQH///////////8BAQH/AAAA////////////BQUF////////////AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAP///////////wUFBf8EBAT/AwMD/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wQEBP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+AcgIPgHICDwByAg4AMgIMADICDAASAggAEgIAABICAAACAggAAgIOAAICDgACAgwAUgIMAHICDkDyAg/n8gIA==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/iviewer/iviewer.rotate_left.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABXdJREFUWMPFlntQlFUYxg9qjjqiVprllONE/VGOOkmjqZiwkIymjgaIaZlTNjg14zRNSiFNIMoiiJI3QDRQEfEGLKh5SW7LrojKRVYJ5bbLLgsrIPebyNN7vt2lBZZFTO3M/ObAt+ec9/ne814+BoD9nzzLMWxxIEtauovxU4ezFzyGOm1nceLTDIt3CgJefqHGHbexuN9OMfyt8oJTgCDgtRf35tz4WYaMe6txV70V87YyiPwZHMXdqMk7Yr72WRsfttCfJflKGOQl6xCazlCg3Yu8qqXI162A4sEylNVEoKAyHJHS9fD4YypEW9lPtG/IUxlz3JIoXeCVBHuvC/jEWy7l9+wcyHCr4hscus4Qfo0hTM5wLJtjJcyxOW/hzO13kV6yCoW6MIRcXA1HPxbPzxuM8SF2G6M8vGPzoGkFKtsB+1/S+T1PEf3KrvpeZIjMY4ggg4eIyFyGqDz9s8M5DAfpWdhNEpM/CXd1gdh10R0iHxY0mCsZOd8zvkJa1IQ/C5ugagLm/3yJC3ibmP6xJ0vzuURG7zIcIRy2MSyku18SzLDhOEMgXU3kHfIQCTqqsEaObjO+PjgZsz3Y+7TfaiDjVh9+tUP07QE5lI1A4FUVVI1cwDkuYBIxnpjJRfgmM5xQMjjvELJgkY09+266OwtYuJ21eJCQyEISQUISlbYIz/wITr5MQuteGkjAcLsfT0ii5WqklLTA/4oK5YIHEo2pNtQoYgGJ8Kc4+DRIEPAeMZngb7mAiwjKoisqJi+UWOO8djac9ek6xqL1KXNdX/8s4IpgNFRWgeCU8t4CmKkIR28mX6avhBMNgTaKC5n5JfNZH8MQXUFohiGhZiIW6T013mKO2/1wLDjk/D1cU7VjT5qa0JgTYBQxgZgxYgyz7VUJR81cw75YQhWSG3UW6+clQaxxoII12s5TgsKaLpzMqUGYTCugD0KJuWrH39iaGNurF/B7foOYRTgaEBEfEOP6Tb0530ds8IrJRW5lJyKuVeJQZpUwWxDQbyATI4hXDHuMjLMUhCPnb47TZlDqxSvqEJWlwxEiMqtKyALumedZ77tTL1/Xiejsahw3EH2rWkjH5y1ASL1jMjWSi5pxMrcGpwg+x1IslJGAeZsThDqw9oA0YRUJdd8nrVrud+adJyksAw6eeivEV1BUD8Tdru3BWaKsAZi7KZ4LsFm1XwY+mlsfwet0HtyCLz91s+mRersp9TLK2pB4p64HEsJEwFS3vRmCgAxVrTAfTi2Ca0hK6mCbTZ/UU1Q9prrfgAsF9X0o/VfANFeDgL+KdZAqq/EYXcgurcW6iEys8E+YNdgr6U69G5oOXCYB5iit7ysgs7wW19WE5iEetFK77OrCptgcuO2+Gj64rkepl3q/AdLSFiTfbzKLOQH5lQ1QcKoahL/L6pqF5zFyJVx/T9cs9zttM5A3rGwNqad40IV0EpBW0tyH9NJmlJgIcNmjF1BcS89N4P8bRRRo6rH2YCZW7rIcoELqHZGWI4vcLy9rhcwMcmWbWQHaxrY+VBjmjsddwhrfeAXcQlLNByhPveXiy7j3ELip7sB1VZtZbpS3o5gEzOkloL6tA3Wt/dPa2Smsk2Sr4bJHChexpEeAdqdeATWe3MpHyNV2IMcMefSb3gMJPWKAv2MnBZ4ljENd24KNR29h9d6UKGOAjhZ5nxMqnJIaDX/D/uApqG3rbkbTjIXoacaaUDk/YzQX8KrTloRyhy1JQp/ndaA/+O/8y9jB84ySf+24BZ5Lc98nA78KwbVPAPfa5wdkWLnzvNTQIYX+PYNwMOnXluDrphNv8mrIP7mecJ8p9oa91sYPhrG9erUlJhjWjzAcMGEQe03PsP4vJfuZjX8AgDmxlj4vX40AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/iviewer/iviewer.rotate_right.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABWxJREFUWMPFlgtQlFUYho9CTjUaWqRlkzlZzWRppY2mQsolTVNHE7zmZRobnJpxmkbRQR3FlFUJNTRhRcMLKooKC97C5LYXLioXQQmFZXdZWFhlBeWyIOzbd35WhGWBHyfzzDxz/tv5v/ec873nHAaAPU96UvrM2MkwbQeLo2tH9hzKgGm/MUiiGDy3srN07/B/CxjouY3hH50fNp5i8NjybEU4UC8lHhKmJ8BxD2CYsJnhln4zFLcXYuOZZzMSvd03s1U+fw5HuHw58sul0FSGIe/uTOQaZyOnYgbyDXsQksKgUi+Dv4xhiuS/ywnHGYF9onddWoACYyhS1PNx+sb7iMx6G0czGdFLqENVDNJUhgPpDNcNy/B1IOOpPOCrDRfkk9bFYaJfHDzWxcp7KsrBfRML3HlpLm4atyMydzBCrzHsp4AHsxjCcxgOEeHZFJiehWW2PPO/RFOzgV2h9kMn+V1AeQNQWg+sj8yBy8pDPnxExQTvNdaHDf9+/xBkGX1xJK8fpDzYTYYdNNQrjjFMD2KYTHngtoXh8C0SQ2z6i+HLNSyZ2o8k3nVdex66GuBiQQ3khTVwXRNdRs9fEiPgBU9/JpOmfYFY7WhIKXB4AYMPBZ68ldWNnMe2DZvEfqTvpk7ZznBCSz1PaA0+inAmBruuPQfdQ2DHFR20VP+wT4XPl2535x3sTsArU8he5w1jcUTdDweKGAIzWoLTu4nEcGII8eE3NN8BNP8T2wfnLhjoujYWJTQCAZd1SFTXIUKlh8svJ2R8AetOgPNU6llM5SBElDoiooxh+XGGUYvZJmvgl60JNWgmrYQe61mqTXDWVkBQYglClGXC9bfbLmPoeK83ul1gpgeyh1wEWQq8nk4r3qhF7Dtr8NaV0DrfnxCv2/i/VUBwcimhR6quAbvP34bLz0eDulsr+hOfEXy+PKyMId7k+dF2LyCciH52LEYCZEIShioNAiezKlFQaYHLGhm3ad8uk9AqYmAbXiVeFJNAtgLCUstxIK1CqLPLm+B3PBvjfgpbIdaST71P8J5yF4RnVOBwhhGHiOi8Kii4JX3PGsRa8qkFTPCNEewXcf0ejmW2EEHkGpt6ZElRC9esX0+/N2+vvGL+H0oslaZW0LO3xq+OgYYERNLcn8yuxKnsljqhsBZHleIt2e1m5R0Uv8ovKge15kfghYug5x+MXx0NzQPgzA0TztpQWA3MloizZJebldfuxKSDSYVobLJAoTMJArz3KLiAjx8LkN2sQqwNCo0Zu0Ra0u6Qzw6IGbMsLA2ZxSaYm5uh0N7D30VGQYBXi4ARXEAxCbiQX92BiwUPkFfRLMqSHXZJ710J0tUns/CoqRllNWakl95Hut6ENL2powAa6ngKZo+rpY09siQlWtQwr99TSk+otEIgTVUtcst5Twiq+bU9AQl3auwiL65D0p0HoizZe+7O+FVL9qchv6xaCKKl4EWmWqjbwO95mRP8RICaPk8prkWyuiMpJCDvrkWw5OguLOnovTspyT86T/h5Q7MFhofmTrEnQKU1Q6mp74CKyKBpOCwvsWvJXnMksjFzguWQZeqFH9fTnFfVN3ZKtbmxnYBxJKCIBFwtaUC6zmyXa/pG3L4PzJLEt7Okw8I9ieErj1yH3lSHx6XJYukSi/W7JzkQI4xATvkjZBkaO5DNoXf5tEHZWrLvohAVnrZYF6IRfDMy0KxwK/KR6AwtbVh8xXRff67Vks5LQpU1C/Yphd7waRCHAvP2KrE4RHGf/vGRm2+Uhp+I+bmA+70z+Hs3Oj17rospoXavdXYeEAtv8ynxjvWw4iaynZv1YOPU2XmgJ/S3npycrCclse2cbA48z6f8CxeSsmD2KTWvAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/iviewer/iviewer.zoom_fit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozRjE4NkRCRkVCN0JFMDExODBERUJDM0QxRjY2MzNCMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4RkU1MjFBN0YzNTQxMUUwQTgxRkE0QUYwRjU5QkY0QSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4RkU1MjFBNkYzNTQxMUUwQTgxRkE0QUYwRjU5QkY0QSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MTc5MDFEQTYyRERFMDExQTdBMTk4NkNFRjM1MkFEMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozRjE4NkRCRkVCN0JFMDExODBERUJDM0QxRjY2MzNCMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlTc7RkAAAEWSURBVHja3FddCoMwDF72Jgy6QwiCFxIED6aPgoMdYLBb7Ml7bAh7dS2kkJXK2rSdboUP/CH52vRL0sIucMzzzLLbM/mE4lQAAPFN4uij1ytJgF5tiwaYW5ZyVZIQYoT6hIgzKUeMEgfE6GpHQ80hfkqUxKbEb8mJG0seN6mJW1sBQUetD3GIqsHXhqNqH/WeY6h6kqhpiSRYshFoM3H3WKVJYdZmF2J0XJipZhKLBRFlH6Ly9k6dEueZTXTq32aaBJ3ZTSIPCHWOPlh5rARSMcRVhYiLYvAgHv6igOjRISFQZ+iwS90WV2kSq7bFKAeBEHHpxlFzxLWZw94lIe/Vloucm8Qdn49yJY+fuUlAhH1j2b0EGAAsrdDtPhEtrAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/iviewer/iviewer.zoom_in.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozRjE4NkRCRkVCN0JFMDExODBERUJDM0QxRjY2MzNCMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBNzg4MzJBMUYzNTQxMUUwQTRCNENENUJBMjhGNTEyOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBNzg4MzJBMEYzNTQxMUUwQTRCNENENUJBMjhGNTEyOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2NzM1OEYwMDY4RTBFMDExQTEyN0Q1MzRBODU0NTU1RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozRjE4NkRCRkVCN0JFMDExODBERUJDM0QxRjY2MzNCMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pic1crIAAAG+SURBVHjavJbBSsNAEIYbC4GCEMipUAgUhEJPgT6AJ6FvUBC8CoJQ8FTwGfoCgg/gXdBLoVdBqHhKj0KLXpReK5U4A5MyrLubySZx4Kdldme/7GR2Nl6jpKVp6hTn5YyHoBFoCOqAYvK/gNagR9AdwL8aFVkLNAFtcFM52tDcFu5eKp21QU8CoCqMabuCMZ1vyoIJ6Ao0ADVJA/IlylyM7RQF+5qdTinttlcy1ezcLwKesOAtFZS0qocUk8VPpOAA9MkCxzqGoj2YFhqzMVwrkIBPWdArvcei4CbFZuMXNvABxY8Y4Bb049BIMOaGuUSvildnz7JLrdiu+8y/kqSaNwq/BPiQF6gk1XXYt20wA38wX1QCxmPXEvDSUBQek+6C8SBtfOyY/V9KnvSsouO0kB4n3kB4gV06gM+VGyv4j5Z54toys0viuYJLYgfqulyLK8O1GLN5MfXmxHC20T/DZlTkQyBy/BDYaXzvJrgthdcFPn1w7pEhA1p4noVU4ffKUVmQD8dCttjM8HB/4KVNWaxPkFx4pWAhvFsLWACf1wamhXsG+LZWsAU+rx1MADxmDwTF3wj9XhVgF/sVYAAy1yBFOaoPDQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/iviewer/iviewer.zoom_out.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozRjE4NkRCRkVCN0JFMDExODBERUJDM0QxRjY2MzNCMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBN0QxOThDNEYzNTQxMUUwQkZCOUE5NTNBRTAyQ0IyRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBN0QxOThDM0YzNTQxMUUwQkZCOUE5NTNBRTAyQ0IyRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2NTM1OEYwMDY4RTBFMDExQTEyN0Q1MzRBODU0NTU1RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozRjE4NkRCRkVCN0JFMDExODBERUJDM0QxRjY2MzNCMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrmQubEAAAG6SURBVHjavJbBSsNAEIYbC4GCEMipUAgUhEJPgT6AJ6FvUBC8CoJQ8BTwGfoCgg/gXdBLoVdBqHhKj0KLXpReK5U4AxMY1mx2dpM48NMy2ZkvO9mdXa9V0bIsc4rzDM9D0AQ0BvVAMflfQBvQI+gO4F+tmqwDSkBbnJRBWxrbwdlLVWRd0JMAqApjuq5gLOebkjAFXYFGoDZpRL5UGYuxPVuwXzDTGZW97JPMCmbu24ATFryjBSVd1WOKyeMTKTgAfbLAqc12okRTFo+5Agn4lAW90ne0BbcpNs9zUQY+oPgJy3UL+nFoJBhzw1yiT8VX54Dnk4jNesj8a0mpeaPwK4AP+QKVlLoJ+y57mIM/mC+qAOOxGwl4pVkUnklQNn7QHLP/K8mbntW0nZbS7cQbCF9glw7gc+XECv6jZZ64tsz8kHiu4ZDYg/oux+JacyzGbFxMvTnV7G30z7EZ2VwEIseLwL7A966Dl5Xw2uLqg2OPNBUohJsspBV+r2yVJfnwWciSzTUv9wde2ZRkQ4IY4bWChfB+I2ABfNEYmBIPNPBdo+AS+KJxMAFwmz0QFH8j9Ht1gF3sV4ABAAkfEFlXCHkAAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/images/iviewer/iviewer.zoom_zero.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozRjE4NkRCRkVCN0JFMDExODBERUJDM0QxRjY2MzNCMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyQjA3QTVCMUYzNTQxMUUwQTYxOUM5MDMzMjNGMEQ5OSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyQjA3QTVCMEYzNTQxMUUwQTYxOUM5MDMzMjNGMEQ5OSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MDgwMkVEN0YyREZFMDExQjM5QTlBMjFDMkNBNzIyQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozRjE4NkRCRkVCN0JFMDExODBERUJDM0QxRjY2MzNCMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnMNZRoAAAB1SURBVHjaYvz//z/DQAAmhgECGBYzMjJSHATEmDFgPmYh18U0sRiY4BiHbVAzDlR2YqFV/IKiC5tZsGhkoaWvYJaAHICebgZPATJq8ajFQ8ZiYFZiHigf84zG8ajFoxbTv81FxcLjPzobXkeP9iSGvcUAAQYA3cwkU5PSBGAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJjc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9ImNzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICAKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaW1hZ2VzL2Zhdmljb24uaWNvIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9ImltYWdlcy9hcHBsZS10b3VjaC1pY29uLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9ImltYWdlcy9hcHBsZS10b3VjaC1pY29uLTcyeDcyLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTE0eDExNC5wbmciLz4KPC9oZWFkPgo8Ym9keT4KCjxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItZml4ZWQtdG9wIj4KICAgIDxkaXYgY2xhc3M9Im5hdmJhci1pbm5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbmF2YmFyIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWVsbGlwc2lzLXZlcnRpY2FsIj48L2k+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSJpbmRleC5odG1sIj5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC9hPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHB1bGwtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJpbmRleC5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIERvY3VtZW50YXRpb24gPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9ImNoYXJ0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImdyYXBocy9jbGFzcy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtDbGFzcyBoaWVyYXJjaHkgZGlhZ3JhbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0icmVwb3J0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9ydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJyZXBvcnRzL2Vycm9ycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtFcnJvcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+OTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InJlcG9ydHMvbWFya2Vycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtNYXJrZXJzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwhLS08ZGl2IGNsYXNzPSJnb190b190b3AiPi0tPgogICAgPCEtLTxhIGhyZWY9IiNfX18iIHN0eWxlPSJjb2xvcjogaW5oZXJpdCI+QmFjayB0byB0b3AmIzE2MDsmIzE2MDs8aSBjbGFzcz0iaWNvbi11cGxvYWQgaWNvbi13aGl0ZSI+PC9pPjwvYT4tLT4KICAgIDwhLS08L2Rpdj4tLT4KPC9kaXY+Cgo8ZGl2IGlkPSJfX18iIGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4yIHNpZGViYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTE5NzQ1MjQwNDMiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJuYW1lc3BhY2VzL2RlZmF1bHQuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPlw8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMTk3NDUyNDA0MyIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlIGluIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1pbm5lciI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWdyb3VwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWhlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYWNjb3JkaW9uLXRvZ2dsZSBjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYW1lc3BhY2UtMTM2MzA4Njg0OSI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Im5hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDMwcHg7IHBhZGRpbmctbGVmdDogMCI+Q0dQcm9kdWN0QnVpbGRlcjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im5hbWVzcGFjZS0xMzYzMDg2ODQ5IiBjbGFzcz0iYWNjb3JkaW9uLWJvZHkgY29sbGFwc2UgIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1pbm5lciI+CgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9ImNsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci50aWNrZXRfZGlzcG9zaXRpb24uaHRtbCI+dGlja2V0X2Rpc3Bvc2l0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSJjbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIuRGlzcG9zaXRpb25IYW5kbGVyLmh0bWwiPkRpc3Bvc2l0aW9uSGFuZGxlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLlByb2R1Y3RTcGVjLmh0bWwiPlByb2R1Y3RTcGVjPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSJjbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uLmh0bWwiPm9wdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbl9zZXQuaHRtbCI+b3B0aW9uX3NldDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLmRpc3Bvc2l0aW9uLmh0bWwiPmRpc3Bvc2l0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4xMCBvZmZzZXQyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYW44IGNvbnRlbnQgbmFtZXNwYWNlIj4KICAgICAgICAgICAgICAgICAgICA8bmF2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25hdj4KICAgICAgICAgICAgICAgICAgICA8aDE+PHNtYWxsPjwvc21hbGw+XDwvaDE+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPk5hbWVzcGFjZXM8L2gyPgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtaG92ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSBocmVmPSJuYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+Q0dQcm9kdWN0QnVpbGRlcjwvYT48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGR0Pk5hbWVzcGFjZSBoaWVyYXJjaHk8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9ImhpZXJhcmNoeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hbWVzcGFjZS13cmFwcGVyIj5cPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgICAgIDwvYXNpZGU+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDxmb290ZXIgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQyIj4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDEiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgZm9vdGVyLXNlY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJuYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYmFyLWNoYXJ0Ij48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZ3JhcGhzL2NsYXNzLmh0bWwiPkNsYXNzIEhpZXJhcmNoeSBEaWFncmFtPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLXB1c2hwaW4iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJyZXBvcnRzL2Vycm9ycy5odG1sIj5FcnJvcnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9InJlcG9ydHMvbWFya2Vycy5odG1sIj5NYXJrZXJzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8aHIgLz4KICAgICAgICAgICAgICAgICAgICBEb2N1bWVudGF0aW9uIGlzIHBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5waHBkb2Mub3JnLyI+cGhwRG9jdW1lbnRvciA8L2E+IGFuZCBhdXRob3JlZAogICAgICAgICAgICAgICAgICAgIG9uIE9jdG9iZXIgMjR0aCwgMjAxNSBhdCAxMDoxMS4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDwvc2VjdGlvbj4KICAgIDwvZm9vdGVyPgo8L2Rpdj4KCjwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/js/jquery.dotdotdot-1.5.9.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoJCiAqCWpRdWVyeSBkb3Rkb3Rkb3QgMS41LjkKICoJCiAqCUNvcHlyaWdodCAoYykgMjAxMyBGcmVkIEhldXNzY2hlbgogKgl3d3cuZnJlYnNpdGUubmwKICoKICoJUGx1Z2luIHdlYnNpdGU6CiAqCWRvdGRvdGRvdC5mcmVic2l0ZS5ubAogKgogKglEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4KICoJaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NSVRfTGljZW5zZQogKglodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0dOVV9HZW5lcmFsX1B1YmxpY19MaWNlbnNlCiAqLwoKKGZ1bmN0aW9uKCAkICkKewoJaWYgKCAkLmZuLmRvdGRvdGRvdCApCgl7CgkJcmV0dXJuOwoJfQoKCSQuZm4uZG90ZG90ZG90ID0gZnVuY3Rpb24oIG8gKQoJewoJCWlmICggdGhpcy5sZW5ndGggPT0gMCApCgkJewoJCQlpZiAoICFvIHx8IG8uZGVidWcgIT09IGZhbHNlICkKCQkJewoJCQkJZGVidWcoIHRydWUsICdObyBlbGVtZW50IGZvdW5kIGZvciAiJyArIHRoaXMuc2VsZWN0b3IgKyAnIi4nICk7CQkJCQoJCQl9CgkJCXJldHVybiB0aGlzOwoJCX0KCQlpZiAoIHRoaXMubGVuZ3RoID4gMSApCgkJewoJCQlyZXR1cm4gdGhpcy5lYWNoKAoJCQkJZnVuY3Rpb24oKQoJCQkJewoJCQkJCSQodGhpcykuZG90ZG90ZG90KCBvICk7CgkJCQl9CgkJCSk7CgkJfQoKCgkJdmFyICRkb3QgPSB0aGlzOwoKCQlpZiAoICRkb3QuZGF0YSggJ2RvdGRvdGRvdCcgKSApCgkJewoJCQkkZG90LnRyaWdnZXIoICdkZXN0cm95LmRvdCcgKTsKCQl9CgoJCSRkb3QuZGF0YSggJ2RvdGRvdGRvdC1zdHlsZScsICRkb3QuYXR0ciggJ3N0eWxlJyApICk7CgkJJGRvdC5jc3MoICd3b3JkLXdyYXAnLCAnYnJlYWstd29yZCcgKTsKCgkJJGRvdC5iaW5kX2V2ZW50cyA9IGZ1bmN0aW9uKCkKCQl7CgkJCSRkb3QuYmluZCgKCQkJCSd1cGRhdGUuZG90JywKCQkJCWZ1bmN0aW9uKCBlLCBjICkKCQkJCXsKCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCgkJCQkJb3B0cy5tYXhIZWlnaHQgPSAoIHR5cGVvZiBvcHRzLmhlaWdodCA9PSAnbnVtYmVyJyApIAoJCQkJCQk/IG9wdHMuaGVpZ2h0IAoJCQkJCQk6IGdldFRydWVJbm5lckhlaWdodCggJGRvdCApOwoKCQkJCQlvcHRzLm1heEhlaWdodCArPSBvcHRzLnRvbGVyYW5jZTsKCgkJCQkJaWYgKCB0eXBlb2YgYyAhPSAndW5kZWZpbmVkJyApCgkJCQkJewoJCQkJCQlpZiAoIHR5cGVvZiBjID09ICdzdHJpbmcnIHx8IGMgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCApCgkJCQkJCXsKCQkJCQkgCQljID0gJCgnPGRpdiAvPicpLmFwcGVuZCggYyApLmNvbnRlbnRzKCk7CgkJCQkJCX0KCQkJCQkJaWYgKCBjIGluc3RhbmNlb2YgJCApCgkJCQkJCXsKCQkJCQkJCW9yZ0NvbnRlbnQgPSBjOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQkkaW5yID0gJGRvdC53cmFwSW5uZXIoICc8ZGl2IGNsYXNzPSJkb3Rkb3Rkb3QiIC8+JyApLmNoaWxkcmVuKCk7CgkJCQkJJGluci5lbXB0eSgpCgkJCQkJCS5hcHBlbmQoIG9yZ0NvbnRlbnQuY2xvbmUoIHRydWUgKSApCgkJCQkJCS5jc3MoewoJCQkJCQkJJ2hlaWdodCcJOiAnYXV0bycsCgkJCQkJCQknd2lkdGgnCQk6ICdhdXRvJywKCQkJCQkJCSdib3JkZXInCTogJ25vbmUnLAoJCQkJCQkJJ3BhZGRpbmcnCTogMCwKCQkJCQkJCSdtYXJnaW4nCTogMAoJCQkJCQl9KTsKCgkJCQkJdmFyIGFmdGVyID0gZmFsc2UsCgkJCQkJCXRydW5jID0gZmFsc2U7CgoJCQkJCWlmICggY29uZi5hZnRlckVsZW1lbnQgKQoJCQkJCXsKCQkJCQkJYWZ0ZXIgPSBjb25mLmFmdGVyRWxlbWVudC5jbG9uZSggdHJ1ZSApOwoJCQkJCQljb25mLmFmdGVyRWxlbWVudC5yZW1vdmUoKTsKCQkJCQl9CgkJCQkJaWYgKCB0ZXN0KCAkaW5yLCBvcHRzICkgKQoJCQkJCXsKCQkJCQkJaWYgKCBvcHRzLndyYXAgPT0gJ2NoaWxkcmVuJyApCgkJCQkJCXsKCQkJCQkJCXRydW5jID0gY2hpbGRyZW4oICRpbnIsIG9wdHMsIGFmdGVyICk7CgkJCQkJCX0KCQkJCQkJZWxzZQoJCQkJCQl7CgkJCQkJCQl0cnVuYyA9IGVsbGlwc2lzKCAkaW5yLCAkZG90LCAkaW5yLCBvcHRzLCBhZnRlciApOwoJCQkJCQl9CgkJCQkJfQoJCQkJCSRpbnIucmVwbGFjZVdpdGgoICRpbnIuY29udGVudHMoKSApOwoJCQkJCSRpbnIgPSBudWxsOwoJCQkJCQoJCQkJCWlmICggJC5pc0Z1bmN0aW9uKCBvcHRzLmNhbGxiYWNrICkgKQoJCQkJCXsKCQkJCQkJb3B0cy5jYWxsYmFjay5jYWxsKCAkZG90WyAwIF0sIHRydW5jLCBvcmdDb250ZW50ICk7CgkJCQkJfQoKCQkJCQljb25mLmlzVHJ1bmNhdGVkID0gdHJ1bmM7CgkJCQkJcmV0dXJuIHRydW5jOwoJCQkJfQoKCQkJKS5iaW5kKAoJCQkJJ2lzVHJ1bmNhdGVkLmRvdCcsCgkJCQlmdW5jdGlvbiggZSwgZm4gKQoJCQkJewoJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQllLnN0b3BQcm9wYWdhdGlvbigpOwoKCQkJCQlpZiAoIHR5cGVvZiBmbiA9PSAnZnVuY3Rpb24nICkKCQkJCQl7CgkJCQkJCWZuLmNhbGwoICRkb3RbIDAgXSwgY29uZi5pc1RydW5jYXRlZCApOwoJCQkJCX0KCQkJCQlyZXR1cm4gY29uZi5pc1RydW5jYXRlZDsKCQkJCX0KCgkJCSkuYmluZCgKCQkJCSdvcmlnaW5hbENvbnRlbnQuZG90JywKCQkJCWZ1bmN0aW9uKCBlLCBmbiApCgkJCQl7CgkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJCWUuc3RvcFByb3BhZ2F0aW9uKCk7CgoJCQkJCWlmICggdHlwZW9mIGZuID09ICdmdW5jdGlvbicgKQoJCQkJCXsKCQkJCQkJZm4uY2FsbCggJGRvdFsgMCBdLCBvcmdDb250ZW50ICk7CgkJCQkJfQoJCQkJCXJldHVybiBvcmdDb250ZW50OwoJCQkJfQoKCQkJKS5iaW5kKAoJCQkJJ2Rlc3Ryb3kuZG90JywKCQkJCWZ1bmN0aW9uKCBlICkKCQkJCXsKCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCgkJCQkJJGRvdC51bndhdGNoKCkKCQkJCQkJLnVuYmluZF9ldmVudHMoKQoJCQkJCQkuZW1wdHkoKQoJCQkJCQkuYXBwZW5kKCBvcmdDb250ZW50ICkKCQkJCQkJLmF0dHIoICdzdHlsZScsICRkb3QuZGF0YSggJ2RvdGRvdGRvdC1zdHlsZScgKSApCgkJCQkJCS5kYXRhKCAnZG90ZG90ZG90JywgZmFsc2UgKTsKCQkJCX0KCQkJKTsKCQkJcmV0dXJuICRkb3Q7CgkJfTsJLy8JL2JpbmRfZXZlbnRzCgoJCSRkb3QudW5iaW5kX2V2ZW50cyA9IGZ1bmN0aW9uKCkKCQl7CgkJCSRkb3QudW5iaW5kKCcuZG90Jyk7CgkJCXJldHVybiAkZG90OwoJCX07CS8vCS91bmJpbmRfZXZlbnRzCgoJCSRkb3Qud2F0Y2ggPSBmdW5jdGlvbigpCgkJewoJCQkkZG90LnVud2F0Y2goKTsKCQkJaWYgKCBvcHRzLndhdGNoID09ICd3aW5kb3cnICkKCQkJewoJCQkJdmFyICR3aW5kb3cgPSAkKHdpbmRvdyksCgkJCQkJX3dXaWR0aCA9ICR3aW5kb3cud2lkdGgoKSwKCQkJCQlfd0hlaWdodCA9ICR3aW5kb3cuaGVpZ2h0KCk7IAoKCQkJCSR3aW5kb3cuYmluZCgKCQkJCQkncmVzaXplLmRvdCcgKyBjb25mLmRvdElkLAoJCQkJCWZ1bmN0aW9uKCkKCQkJCQl7CgkJCQkJCWlmICggX3dXaWR0aCAhPSAkd2luZG93LndpZHRoKCkgfHwgX3dIZWlnaHQgIT0gJHdpbmRvdy5oZWlnaHQoKSB8fCAhb3B0cy53aW5kb3dSZXNpemVGaXggKQoJCQkJCQl7CgkJCQkJCQlfd1dpZHRoID0gJHdpbmRvdy53aWR0aCgpOwoJCQkJCQkJX3dIZWlnaHQgPSAkd2luZG93LmhlaWdodCgpOwoJCgkJCQkJCQlpZiAoIHdhdGNoSW50ICkKCQkJCQkJCXsKCQkJCQkJCQljbGVhckludGVydmFsKCB3YXRjaEludCApOwoJCQkJCQkJfQoJCQkJCQkJd2F0Y2hJbnQgPSBzZXRUaW1lb3V0KAoJCQkJCQkJCWZ1bmN0aW9uKCkKCQkJCQkJCQl7CgkJCQkJCQkJCSRkb3QudHJpZ2dlciggJ3VwZGF0ZS5kb3QnICk7CgkJCQkJCQkJfSwgMTAKCQkJCQkJCSk7CgkJCQkJCX0KCQkJCQl9CgkJCQkpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJd2F0Y2hPcmcgPSBnZXRTaXplcyggJGRvdCApOwoJCQkJd2F0Y2hJbnQgPSBzZXRJbnRlcnZhbCgKCQkJCQlmdW5jdGlvbigpCgkJCQkJewoJCQkJCQl2YXIgd2F0Y2hOZXcgPSBnZXRTaXplcyggJGRvdCApOwoJCQkJCQlpZiAoIHdhdGNoT3JnLndpZHRoICAhPSB3YXRjaE5ldy53aWR0aCB8fAoJCQkJCQkJIHdhdGNoT3JnLmhlaWdodCAhPSB3YXRjaE5ldy5oZWlnaHQgKQoJCQkJCQl7CgkJCQkJCQkkZG90LnRyaWdnZXIoICd1cGRhdGUuZG90JyApOwoJCQkJCQkJd2F0Y2hPcmcgPSBnZXRTaXplcyggJGRvdCApOwoJCQkJCQl9CgkJCQkJfSwgMTAwCgkJCQkpOwoJCQl9CgkJCXJldHVybiAkZG90OwoJCX07CgkJJGRvdC51bndhdGNoID0gZnVuY3Rpb24oKQoJCXsKCQkJJCh3aW5kb3cpLnVuYmluZCggJ3Jlc2l6ZS5kb3QnICsgY29uZi5kb3RJZCApOwoJCQlpZiAoIHdhdGNoSW50ICkKCQkJewoJCQkJY2xlYXJJbnRlcnZhbCggd2F0Y2hJbnQgKTsKCQkJfQoJCQlyZXR1cm4gJGRvdDsKCQl9OwoKCQl2YXIJb3JnQ29udGVudAk9ICRkb3QuY29udGVudHMoKSwKCQkJb3B0cyAJCT0gJC5leHRlbmQoIHRydWUsIHt9LCAkLmZuLmRvdGRvdGRvdC5kZWZhdWx0cywgbyApLAoJCQljb25mCQk9IHt9LAoJCQl3YXRjaE9yZwk9IHt9LAoJCQl3YXRjaEludAk9IG51bGwsCgkJCSRpbnIJCT0gbnVsbDsKCgkJY29uZi5hZnRlckVsZW1lbnQJPSBnZXRFbGVtZW50KCBvcHRzLmFmdGVyLCAkZG90ICk7CgkJY29uZi5pc1RydW5jYXRlZAk9IGZhbHNlOwoJCWNvbmYuZG90SWQJCQk9IGRvdElkKys7CgoKCQkkZG90LmRhdGEoICdkb3Rkb3Rkb3QnLCB0cnVlICkKCQkJLmJpbmRfZXZlbnRzKCkKCQkJLnRyaWdnZXIoICd1cGRhdGUuZG90JyApOwoKCQlpZiAoIG9wdHMud2F0Y2ggKQoJCXsKCQkJJGRvdC53YXRjaCgpOwoJCX0KCgkJcmV0dXJuICRkb3Q7Cgl9OwoKCgkvLwlwdWJsaWMKCSQuZm4uZG90ZG90ZG90LmRlZmF1bHRzID0gewoJCSdlbGxpcHNpcycJOiAnLi4uICcsCgkJJ3dyYXAnCQk6ICd3b3JkJywKCQknbGFzdENoYXJhY3Rlcic6IHsKCQkJJ3JlbW92ZScJCTogWyAnICcsICcsJywgJzsnLCAnLicsICchJywgJz8nIF0sCgkJCSdub0VsbGlwc2lzJwk6IFtdCgkJfSwKCQkndG9sZXJhbmNlJwk6IDAsCgkJJ2NhbGxiYWNrJwk6IG51bGwsCgkJJ2FmdGVyJwkJOiBudWxsLAoJCSdoZWlnaHQnCTogbnVsbCwKCQknd2F0Y2gnCQk6IGZhbHNlLAoJCSd3aW5kb3dSZXNpemVGaXgnOiB0cnVlLAoJCSdkZWJ1ZycJCTogZmFsc2UKCX07CgkKCgkvLwlwcml2YXRlCgl2YXIgZG90SWQgPSAxOwoKCWZ1bmN0aW9uIGNoaWxkcmVuKCAkZWxlbSwgbywgYWZ0ZXIgKQoJewoJCXZhciAkZWxlbWVudHMgCT0gJGVsZW0uY2hpbGRyZW4oKSwKCQkJaXNUcnVuY2F0ZWQJPSBmYWxzZTsKCgkJJGVsZW0uZW1wdHkoKTsKCgkJZm9yICggdmFyIGEgPSAwLCBsID0gJGVsZW1lbnRzLmxlbmd0aDsgYSA8IGw7IGErKyApCgkJewoJCQl2YXIgJGUgPSAkZWxlbWVudHMuZXEoIGEgKTsKCQkJJGVsZW0uYXBwZW5kKCAkZSApOwoJCQlpZiAoIGFmdGVyICkKCQkJewoJCQkJJGVsZW0uYXBwZW5kKCBhZnRlciApOwoJCQl9CgkJCWlmICggdGVzdCggJGVsZW0sIG8gKSApCgkJCXsKCQkJCSRlLnJlbW92ZSgpOwoJCQkJaXNUcnVuY2F0ZWQgPSB0cnVlOwoJCQkJYnJlYWs7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlpZiAoIGFmdGVyICkKCQkJCXsKCQkJCQlhZnRlci5yZW1vdmUoKTsKCQkJCX0KCQkJfQoJCX0KCQlyZXR1cm4gaXNUcnVuY2F0ZWQ7Cgl9CglmdW5jdGlvbiBlbGxpcHNpcyggJGVsZW0sICRkLCAkaSwgbywgYWZ0ZXIgKQoJewoJCXZhciAkZWxlbWVudHMgCT0gJGVsZW0uY29udGVudHMoKSwKCQkJaXNUcnVuY2F0ZWQJPSBmYWxzZTsKCgkJJGVsZW0uZW1wdHkoKTsKCgkJdmFyIG5vdHggPSAndGFibGUsIHRoZWFkLCB0Ym9keSwgdGZvb3QsIHRyLCBjb2wsIGNvbGdyb3VwLCBvYmplY3QsIGVtYmVkLCBwYXJhbSwgb2wsIHVsLCBkbCwgc2VsZWN0LCBvcHRncm91cCwgb3B0aW9uLCB0ZXh0YXJlYSwgc2NyaXB0LCBzdHlsZSc7CgkJZm9yICggdmFyIGEgPSAwLCBsID0gJGVsZW1lbnRzLmxlbmd0aDsgYSA8IGw7IGErKyApCgkJewoKCQkJaWYgKCBpc1RydW5jYXRlZCApCgkJCXsKCQkJCWJyZWFrOwoJCQl9CgoJCQl2YXIgZQk9ICRlbGVtZW50c1sgYSBdLAoJCQkJJGUJPSAkKGUpOwoKCQkJaWYgKCB0eXBlb2YgZSA9PSAndW5kZWZpbmVkJyApCgkJCXsKCQkJCWNvbnRpbnVlOwoJCQl9CgoJCQkkZWxlbS5hcHBlbmQoICRlICk7CgkJCWlmICggYWZ0ZXIgKQoJCQl7CgkJCQkkZWxlbVsgKCAkZWxlbS5pcyggbm90eCApICkgPyAnYWZ0ZXInIDogJ2FwcGVuZCcgXSggYWZ0ZXIgKTsKCQkJfQoJCQlpZiAoIGUubm9kZVR5cGUgPT0gMyApCgkJCXsKCQkJCWlmICggdGVzdCggJGksIG8gKSApCgkJCQl7CgkJCQkJaXNUcnVuY2F0ZWQgPSBlbGxpcHNpc0VsZW1lbnQoICRlLCAkZCwgJGksIG8sIGFmdGVyICk7CgkJCQl9CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlpc1RydW5jYXRlZCA9IGVsbGlwc2lzKCAkZSwgJGQsICRpLCBvLCBhZnRlciApOwoJCQl9CgoJCQlpZiAoICFpc1RydW5jYXRlZCApCgkJCXsKCQkJCWlmICggYWZ0ZXIgKQoJCQkJewoJCQkJCWFmdGVyLnJlbW92ZSgpOwoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiBpc1RydW5jYXRlZDsKCX0KCWZ1bmN0aW9uIGVsbGlwc2lzRWxlbWVudCggJGUsICRkLCAkaSwgbywgYWZ0ZXIgKQoJewoJCXZhciBpc1RydW5jYXRlZAk9IGZhbHNlLAoJCQllID0gJGVbIDAgXTsKCgkJaWYgKCB0eXBlb2YgZSA9PSAndW5kZWZpbmVkJyApCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQl2YXIgc2Vwb3JhdG9yCT0gKCBvLndyYXAgPT0gJ2xldHRlcicgKSA/ICcnIDogJyAnLAoJCQl0ZXh0QXJyCQk9IGdldFRleHRDb250ZW50KCBlICkuc3BsaXQoIHNlcG9yYXRvciApLAoJCQlwb3NpdGlvbiAJPSAtMSwKCQkJbWlkUG9zCQk9IC0xLAoJCQlzdGFydFBvcwk9IDAsCgkJCWVuZFBvcwkJPSB0ZXh0QXJyLmxlbmd0aCAtIDE7CgoJCXdoaWxlICggc3RhcnRQb3MgPD0gZW5kUG9zICkKCQl7CgkJCXZhciBtID0gTWF0aC5mbG9vciggKCBzdGFydFBvcyArIGVuZFBvcyApIC8gMiApOwoJCQlpZiAoIG0gPT0gbWlkUG9zICkgCgkJCXsKCQkJCWJyZWFrOwoJCQl9CgkJCW1pZFBvcyA9IG07CgoJCQlzZXRUZXh0Q29udGVudCggZSwgdGV4dEFyci5zbGljZSggMCwgbWlkUG9zICsgMSApLmpvaW4oIHNlcG9yYXRvciApICsgby5lbGxpcHNpcyApOwoKCQkJaWYgKCAhdGVzdCggJGksIG8gKSApCgkJCXsKCQkJCXBvc2l0aW9uID0gbWlkUG9zOwoJCQkJc3RhcnRQb3MgPSBtaWRQb3M7IAoJCQl9CgkJCWVsc2UKCQkJewoJCQkJZW5kUG9zID0gbWlkUG9zOwoJCQl9CQkJCQoJCX0JCgkKCQlpZiAoIHBvc2l0aW9uICE9IC0xICYmICEoIHRleHRBcnIubGVuZ3RoID09IDEgJiYgdGV4dEFyclsgMCBdLmxlbmd0aCA9PSAwICkgKQoJCXsKCQkJdmFyIHR4dCA9IGFkZEVsbGlwc2lzKCB0ZXh0QXJyLnNsaWNlKCAwLCBwb3NpdGlvbiArIDEgKS5qb2luKCBzZXBvcmF0b3IgKSwgbyApOwoJCQlpc1RydW5jYXRlZCA9IHRydWU7CgkJCXNldFRleHRDb250ZW50KCBlLCB0eHQgKTsKCQl9CgkJZWxzZQoJCXsKCQkJdmFyICR3ID0gJGUucGFyZW50KCk7CgkJCSRlLnJlbW92ZSgpOwoKCQkJdmFyIGFmdGVyTGVuZ3RoID0gKCBhZnRlciApID8gYWZ0ZXIubGVuZ3RoIDogMCA7CgoJCQlpZiAoICR3LmNvbnRlbnRzKCkuc2l6ZSgpID4gYWZ0ZXJMZW5ndGggKQoJCQl7CgkJCQl2YXIgJG4gPSAkdy5jb250ZW50cygpLmVxKCAtMSAtIGFmdGVyTGVuZ3RoICk7CgkJCQlpc1RydW5jYXRlZCA9IGVsbGlwc2lzRWxlbWVudCggJG4sICRkLCAkaSwgbywgYWZ0ZXIgKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXZhciAkcCA9ICR3LnByZXYoKQoJCQkJdmFyIGUgPSAkcC5jb250ZW50cygpLmVxKCAtMSApWyAwIF07CgoJCQkJaWYgKCB0eXBlb2YgZSAhPSAndW5kZWZpbmVkJyApCgkJCQl7CgkJCQkJdmFyIHR4dCA9IGFkZEVsbGlwc2lzKCBnZXRUZXh0Q29udGVudCggZSApLCBvICk7CgkJCQkJc2V0VGV4dENvbnRlbnQoIGUsIHR4dCApOwoJCQkJCWlmICggYWZ0ZXIgKQoJCQkJCXsKCQkJCQkJJHAuYXBwZW5kKCBhZnRlciApOwoJCQkJCX0KCQkJCQkkdy5yZW1vdmUoKTsKCQkJCQlpc1RydW5jYXRlZCA9IHRydWU7CgkJCQl9CgoJCQl9CgkJfQoKCQlyZXR1cm4gaXNUcnVuY2F0ZWQ7Cgl9CglmdW5jdGlvbiB0ZXN0KCAkaSwgbyApCgl7CgkJcmV0dXJuICRpLmlubmVySGVpZ2h0KCkgPiBvLm1heEhlaWdodDsKCX0KCWZ1bmN0aW9uIGFkZEVsbGlwc2lzKCB0eHQsIG8gKQoJewoJCXdoaWxlKCAkLmluQXJyYXkoIHR4dC5zbGljZSggLTEgKSwgby5sYXN0Q2hhcmFjdGVyLnJlbW92ZSApID4gLTEgKQoJCXsKCQkJdHh0ID0gdHh0LnNsaWNlKCAwLCAtMSApOwoJCX0KCQlpZiAoICQuaW5BcnJheSggdHh0LnNsaWNlKCAtMSApLCBvLmxhc3RDaGFyYWN0ZXIubm9FbGxpcHNpcyApIDwgMCApCgkJewoJCQl0eHQgKz0gby5lbGxpcHNpczsKCQl9CgkJcmV0dXJuIHR4dDsKCX0KCWZ1bmN0aW9uIGdldFNpemVzKCAkZCApCgl7CgkJcmV0dXJuIHsKCQkJJ3dpZHRoJwk6ICRkLmlubmVyV2lkdGgoKSwKCQkJJ2hlaWdodCc6ICRkLmlubmVySGVpZ2h0KCkKCQl9OwoJfQoJZnVuY3Rpb24gc2V0VGV4dENvbnRlbnQoIGUsIGNvbnRlbnQgKQoJewoJCWlmICggZS5pbm5lclRleHQgKQoJCXsKCQkJZS5pbm5lclRleHQgPSBjb250ZW50OwoJCX0KCQllbHNlIGlmICggZS5ub2RlVmFsdWUgKQoJCXsKCQkJZS5ub2RlVmFsdWUgPSBjb250ZW50OwoJCX0KCQllbHNlIGlmIChlLnRleHRDb250ZW50KQoJCXsKCQkJZS50ZXh0Q29udGVudCA9IGNvbnRlbnQ7CgkJfQoKCX0KCWZ1bmN0aW9uIGdldFRleHRDb250ZW50KCBlICkKCXsKCQlpZiAoIGUuaW5uZXJUZXh0ICkKCQl7CgkJCXJldHVybiBlLmlubmVyVGV4dDsKCQl9CgkJZWxzZSBpZiAoIGUubm9kZVZhbHVlICkKCQl7CgkJCXJldHVybiBlLm5vZGVWYWx1ZTsKCQl9CgkJZWxzZSBpZiAoIGUudGV4dENvbnRlbnQgKQoJCXsKCQkJcmV0dXJuIGUudGV4dENvbnRlbnQ7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiAiIjsKCQl9Cgl9CglmdW5jdGlvbiBnZXRFbGVtZW50KCBlLCAkaSApCgl7CgkJaWYgKCB0eXBlb2YgZSA9PSAndW5kZWZpbmVkJyApCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCWlmICggIWUgKQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQlpZiAoIHR5cGVvZiBlID09ICdzdHJpbmcnICkKCQl7CgkJCWUgPSAkKGUsICRpKTsKCQkJcmV0dXJuICggZS5sZW5ndGggKQoJCQkJPyBlIAoJCQkJOiBmYWxzZTsKCQl9CgkJaWYgKCB0eXBlb2YgZSA9PSAnb2JqZWN0JyApCgkJewoJCQlyZXR1cm4gKCB0eXBlb2YgZS5qcXVlcnkgPT0gJ3VuZGVmaW5lZCcgKQoJCQkJPyBmYWxzZQoJCQkJOiBlOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9CglmdW5jdGlvbiBnZXRUcnVlSW5uZXJIZWlnaHQoICRlbCApCgl7CgkJdmFyIGggPSAkZWwuaW5uZXJIZWlnaHQoKSwKCQkJYSA9IFsgJ3BhZGRpbmdUb3AnLCAncGFkZGluZ0JvdHRvbScgXTsKCgkJZm9yICggdmFyIHogPSAwLCBsID0gYS5sZW5ndGg7IHogPCBsOyB6KysgKSB7CgkJCXZhciBtID0gcGFyc2VJbnQoICRlbC5jc3MoIGFbIHogXSApLCAxMCApOwoJCQlpZiAoIGlzTmFOKCBtICkgKQoJCQl7CgkJCQltID0gMDsKCQkJfQoJCQloIC09IG07CgkJfQoJCXJldHVybiBoOwoJfQoJZnVuY3Rpb24gZGVidWcoIGQsIG0gKQoJewoJCWlmICggIWQgKQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQlpZiAoIHR5cGVvZiBtID09ICdzdHJpbmcnICkKCQl7CgkJCW0gPSAnZG90ZG90ZG90OiAnICsgbTsKCQl9CgkJZWxzZQoJCXsKCQkJbSA9IFsgJ2RvdGRvdGRvdDonLCBtIF07CgkJfQoKCQlpZiAoIHR5cGVvZiB3aW5kb3cuY29uc29sZSAhPSAndW5kZWZpbmVkJyApCgkJewoJCQlpZiAoIHR5cGVvZiB3aW5kb3cuY29uc29sZS5sb2cgIT0gJ3VuZGVmaW5lZCcgKQoJCQl7CgkJCQl3aW5kb3cuY29uc29sZS5sb2coIG0gKTsKCQkJfQoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9CgkKCgkvLwlvdmVycmlkZSBqUXVlcnkuaHRtbAoJdmFyIF9vcmdIdG1sID0gJC5mbi5odG1sOwogICAgJC5mbi5odG1sID0gZnVuY3Rpb24oIHN0ciApIHsKCQlpZiAoIHR5cGVvZiBzdHIgIT0gJ3VuZGVmaW5lZCcgKQoJCXsKCQkJaWYgKCB0aGlzLmRhdGEoICdkb3Rkb3Rkb3QnICkgKQoJCQl7CgkJCQlpZiAoIHR5cGVvZiBzdHIgIT0gJ2Z1bmN0aW9uJyApCgkJCQl7CgkJCQkJcmV0dXJuIHRoaXMudHJpZ2dlciggJ3VwZGF0ZScsIFsgc3RyIF0gKTsKCQkJCX0KCQkJfQoJCQlyZXR1cm4gX29yZ0h0bWwuY2FsbCggdGhpcywgc3RyICk7CgkJfQoJCXJldHVybiBfb3JnSHRtbC5jYWxsKCB0aGlzICk7CiAgICB9OwoKCgkvLwlvdmVycmlkZSBqUXVlcnkudGV4dAoJdmFyIF9vcmdUZXh0ID0gJC5mbi50ZXh0OwogICAgJC5mbi50ZXh0ID0gZnVuY3Rpb24oIHN0ciApIHsKCQlpZiAoIHR5cGVvZiBzdHIgIT0gJ3VuZGVmaW5lZCcgKQoJCXsKCQkJaWYgKCB0aGlzLmRhdGEoICdkb3Rkb3Rkb3QnICkgKQoJCQl7CgkJCQl2YXIgdGVtcCA9ICQoICc8ZGl2IC8+JyApOwoJCQkJdGVtcC50ZXh0KCBzdHIgKTsKCQkJCXN0ciA9IHRlbXAuaHRtbCgpOwoJCQkJdGVtcC5yZW1vdmUoKTsKCQkJCXJldHVybiB0aGlzLnRyaWdnZXIoICd1cGRhdGUnLCBbIHN0ciBdICk7CgkJCX0KCQkJcmV0dXJuIF9vcmdUZXh0LmNhbGwoIHRoaXMsIHN0ciApOwoJCX0KICAgICAgICByZXR1cm4gX29yZ1RleHQuY2FsbCggdGhpcyApOwogICAgfTsKCgp9KSggalF1ZXJ5ICk7Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/js/jquery.dotdotdot-1.5.9.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoJCiAqCWpRdWVyeSBkb3Rkb3Rkb3QgMS41LjkKICoJCiAqCUNvcHlyaWdodCAoYykgMjAxMyBGcmVkIEhldXNzY2hlbgogKgl3d3cuZnJlYnNpdGUubmwKICoKICoJUGx1Z2luIHdlYnNpdGU6CiAqCWRvdGRvdGRvdC5mcmVic2l0ZS5ubAogKgogKglEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4KICoJaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NSVRfTGljZW5zZQogKglodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0dOVV9HZW5lcmFsX1B1YmxpY19MaWNlbnNlCiAqLwoKKGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGMoYSxiLGMpe3ZhciBkPWEuY2hpbGRyZW4oKSxlPSExO2EuZW1wdHkoKTtmb3IodmFyIGc9MCxoPWQubGVuZ3RoO2g+ZztnKyspe3ZhciBpPWQuZXEoZyk7aWYoYS5hcHBlbmQoaSksYyYmYS5hcHBlbmQoYyksZihhLGIpKXtpLnJlbW92ZSgpLGU9ITA7YnJlYWt9YyYmYy5yZW1vdmUoKX1yZXR1cm4gZX1mdW5jdGlvbiBkKGIsYyxnLGgsaSl7dmFyIGo9Yi5jb250ZW50cygpLGs9ITE7Yi5lbXB0eSgpO2Zvcih2YXIgbD0idGFibGUsIHRoZWFkLCB0Ym9keSwgdGZvb3QsIHRyLCBjb2wsIGNvbGdyb3VwLCBvYmplY3QsIGVtYmVkLCBwYXJhbSwgb2wsIHVsLCBkbCwgc2VsZWN0LCBvcHRncm91cCwgb3B0aW9uLCB0ZXh0YXJlYSwgc2NyaXB0LCBzdHlsZSIsbT0wLG49ai5sZW5ndGg7bj5tJiYhazttKyspe3ZhciBvPWpbbV0scD1hKG8pO3ZvaWQgMCE9PW8mJihiLmFwcGVuZChwKSxpJiZiW2IuaXMobCk/ImFmdGVyIjoiYXBwZW5kIl0oaSksMz09by5ub2RlVHlwZT9mKGcsaCkmJihrPWUocCxjLGcsaCxpKSk6az1kKHAsYyxnLGgsaSksa3x8aSYmaS5yZW1vdmUoKSl9cmV0dXJuIGt9ZnVuY3Rpb24gZShhLGIsYyxkLGgpe3ZhciBrPSExLGw9YVswXTtpZihsPT09dm9pZCAwKXJldHVybiExO2Zvcih2YXIgbT0ibGV0dGVyIj09ZC53cmFwPyIiOiIgIixuPWoobCkuc3BsaXQobSksbz0tMSxwPS0xLHE9MCxyPW4ubGVuZ3RoLTE7cj49cTspe3ZhciBzPU1hdGguZmxvb3IoKHErcikvMik7aWYocz09cClicmVhaztwPXMsaShsLG4uc2xpY2UoMCxwKzEpLmpvaW4obSkrZC5lbGxpcHNpcyksZihjLGQpP3I9cDoobz1wLHE9cCl9aWYoLTE9PW98fDE9PW4ubGVuZ3RoJiYwPT1uWzBdLmxlbmd0aCl7dmFyIHU9YS5wYXJlbnQoKTthLnJlbW92ZSgpO3ZhciB2PWg/aC5sZW5ndGg6MDtpZih1LmNvbnRlbnRzKCkuc2l6ZSgpPnYpe3ZhciB3PXUuY29udGVudHMoKS5lcSgtMS12KTtrPWUodyxiLGMsZCxoKX1lbHNle3ZhciB4PXUucHJldigpLGw9eC5jb250ZW50cygpLmVxKC0xKVswXTtpZihsIT09dm9pZCAwKXt2YXIgdD1nKGoobCksZCk7aShsLHQpLGgmJnguYXBwZW5kKGgpLHUucmVtb3ZlKCksaz0hMH19fWVsc2V7dmFyIHQ9ZyhuLnNsaWNlKDAsbysxKS5qb2luKG0pLGQpO2s9ITAsaShsLHQpfXJldHVybiBrfWZ1bmN0aW9uIGYoYSxiKXtyZXR1cm4gYS5pbm5lckhlaWdodCgpPmIubWF4SGVpZ2h0fWZ1bmN0aW9uIGcoYixjKXtmb3IoO2EuaW5BcnJheShiLnNsaWNlKC0xKSxjLmxhc3RDaGFyYWN0ZXIucmVtb3ZlKT4tMTspYj1iLnNsaWNlKDAsLTEpO3JldHVybiAwPmEuaW5BcnJheShiLnNsaWNlKC0xKSxjLmxhc3RDaGFyYWN0ZXIubm9FbGxpcHNpcykmJihiKz1jLmVsbGlwc2lzKSxifWZ1bmN0aW9uIGgoYSl7cmV0dXJue3dpZHRoOmEuaW5uZXJXaWR0aCgpLGhlaWdodDphLmlubmVySGVpZ2h0KCl9fWZ1bmN0aW9uIGkoYSxiKXthLmlubmVyVGV4dD9hLmlubmVyVGV4dD1iOmEubm9kZVZhbHVlP2Eubm9kZVZhbHVlPWI6YS50ZXh0Q29udGVudCYmKGEudGV4dENvbnRlbnQ9Yil9ZnVuY3Rpb24gaihhKXtyZXR1cm4gYS5pbm5lclRleHQ/YS5pbm5lclRleHQ6YS5ub2RlVmFsdWU/YS5ub2RlVmFsdWU6YS50ZXh0Q29udGVudD9hLnRleHRDb250ZW50OiIifWZ1bmN0aW9uIGsoYixjKXtyZXR1cm4gYj09PXZvaWQgMD8hMTpiPyJzdHJpbmciPT10eXBlb2YgYj8oYj1hKGIsYyksYi5sZW5ndGg/YjohMSk6Im9iamVjdCI9PXR5cGVvZiBiP2IuanF1ZXJ5PT09dm9pZCAwPyExOmI6ITE6ITF9ZnVuY3Rpb24gbChhKXtmb3IodmFyIGI9YS5pbm5lckhlaWdodCgpLGM9WyJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSJdLGQ9MCxlPWMubGVuZ3RoO2U+ZDtkKyspe3ZhciBmPXBhcnNlSW50KGEuY3NzKGNbZF0pLDEwKTtpc05hTihmKSYmKGY9MCksYi09Zn1yZXR1cm4gYn1mdW5jdGlvbiBtKGEsYil7cmV0dXJuIGE/KGI9InN0cmluZyI9PXR5cGVvZiBiPyJkb3Rkb3Rkb3Q6ICIrYjpbImRvdGRvdGRvdDoiLGJdLHdpbmRvdy5jb25zb2xlIT09dm9pZCAwJiZ3aW5kb3cuY29uc29sZS5sb2chPT12b2lkIDAmJndpbmRvdy5jb25zb2xlLmxvZyhiKSwhMSk6ITF9aWYoIWEuZm4uZG90ZG90ZG90KXthLmZuLmRvdGRvdGRvdD1mdW5jdGlvbihlKXtpZigwPT10aGlzLmxlbmd0aClyZXR1cm4gZSYmZS5kZWJ1Zz09PSExfHxtKCEwLCdObyBlbGVtZW50IGZvdW5kIGZvciAiJyt0aGlzLnNlbGVjdG9yKyciLicpLHRoaXM7aWYodGhpcy5sZW5ndGg+MSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7YSh0aGlzKS5kb3Rkb3Rkb3QoZSl9KTt2YXIgZz10aGlzO2cuZGF0YSgiZG90ZG90ZG90IikmJmcudHJpZ2dlcigiZGVzdHJveS5kb3QiKSxnLmRhdGEoImRvdGRvdGRvdC1zdHlsZSIsZy5hdHRyKCJzdHlsZSIpKSxnLmNzcygid29yZC13cmFwIiwiYnJlYWstd29yZCIpLGcuYmluZF9ldmVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gZy5iaW5kKCJ1cGRhdGUuZG90IixmdW5jdGlvbihiLGUpe2IucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLGoubWF4SGVpZ2h0PSJudW1iZXIiPT10eXBlb2Ygai5oZWlnaHQ/ai5oZWlnaHQ6bChnKSxqLm1heEhlaWdodCs9ai50b2xlcmFuY2UsZSE9PXZvaWQgMCYmKCgic3RyaW5nIj09dHlwZW9mIGV8fGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkmJihlPWEoIjxkaXYgLz4iKS5hcHBlbmQoZSkuY29udGVudHMoKSksZSBpbnN0YW5jZW9mIGEmJihpPWUpKSxxPWcud3JhcElubmVyKCc8ZGl2IGNsYXNzPSJkb3Rkb3Rkb3QiIC8+JykuY2hpbGRyZW4oKSxxLmVtcHR5KCkuYXBwZW5kKGkuY2xvbmUoITApKS5jc3Moe2hlaWdodDoiYXV0byIsd2lkdGg6ImF1dG8iLGJvcmRlcjoibm9uZSIscGFkZGluZzowLG1hcmdpbjowfSk7dmFyIGg9ITEsaz0hMTtyZXR1cm4gbi5hZnRlckVsZW1lbnQmJihoPW4uYWZ0ZXJFbGVtZW50LmNsb25lKCEwKSxuLmFmdGVyRWxlbWVudC5yZW1vdmUoKSksZihxLGopJiYoaz0iY2hpbGRyZW4iPT1qLndyYXA/YyhxLGosaCk6ZChxLGcscSxqLGgpKSxxLnJlcGxhY2VXaXRoKHEuY29udGVudHMoKSkscT1udWxsLGEuaXNGdW5jdGlvbihqLmNhbGxiYWNrKSYmai5jYWxsYmFjay5jYWxsKGdbMF0sayxpKSxuLmlzVHJ1bmNhdGVkPWssa30pLmJpbmQoImlzVHJ1bmNhdGVkLmRvdCIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCksImZ1bmN0aW9uIj09dHlwZW9mIGImJmIuY2FsbChnWzBdLG4uaXNUcnVuY2F0ZWQpLG4uaXNUcnVuY2F0ZWR9KS5iaW5kKCJvcmlnaW5hbENvbnRlbnQuZG90IixmdW5jdGlvbihhLGIpe3JldHVybiBhLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKSwiZnVuY3Rpb24iPT10eXBlb2YgYiYmYi5jYWxsKGdbMF0saSksaX0pLmJpbmQoImRlc3Ryb3kuZG90IixmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKSxnLnVud2F0Y2goKS51bmJpbmRfZXZlbnRzKCkuZW1wdHkoKS5hcHBlbmQoaSkuYXR0cigic3R5bGUiLGcuZGF0YSgiZG90ZG90ZG90LXN0eWxlIikpLmRhdGEoImRvdGRvdGRvdCIsITEpfSksZ30sZy51bmJpbmRfZXZlbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIGcudW5iaW5kKCIuZG90IiksZ30sZy53YXRjaD1mdW5jdGlvbigpe2lmKGcudW53YXRjaCgpLCJ3aW5kb3ciPT1qLndhdGNoKXt2YXIgYj1hKHdpbmRvdyksYz1iLndpZHRoKCksZD1iLmhlaWdodCgpO2IuYmluZCgicmVzaXplLmRvdCIrbi5kb3RJZCxmdW5jdGlvbigpe2M9PWIud2lkdGgoKSYmZD09Yi5oZWlnaHQoKSYmai53aW5kb3dSZXNpemVGaXh8fChjPWIud2lkdGgoKSxkPWIuaGVpZ2h0KCkscCYmY2xlYXJJbnRlcnZhbChwKSxwPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtnLnRyaWdnZXIoInVwZGF0ZS5kb3QiKX0sMTApKX0pfWVsc2Ugbz1oKGcpLHA9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXt2YXIgYT1oKGcpOyhvLndpZHRoIT1hLndpZHRofHxvLmhlaWdodCE9YS5oZWlnaHQpJiYoZy50cmlnZ2VyKCJ1cGRhdGUuZG90Iiksbz1oKGcpKX0sMTAwKTtyZXR1cm4gZ30sZy51bndhdGNoPWZ1bmN0aW9uKCl7cmV0dXJuIGEod2luZG93KS51bmJpbmQoInJlc2l6ZS5kb3QiK24uZG90SWQpLHAmJmNsZWFySW50ZXJ2YWwocCksZ307dmFyIGk9Zy5jb250ZW50cygpLGo9YS5leHRlbmQoITAse30sYS5mbi5kb3Rkb3Rkb3QuZGVmYXVsdHMsZSksbj17fSxvPXt9LHA9bnVsbCxxPW51bGw7cmV0dXJuIG4uYWZ0ZXJFbGVtZW50PWsoai5hZnRlcixnKSxuLmlzVHJ1bmNhdGVkPSExLG4uZG90SWQ9YisrLGcuZGF0YSgiZG90ZG90ZG90IiwhMCkuYmluZF9ldmVudHMoKS50cmlnZ2VyKCJ1cGRhdGUuZG90Iiksai53YXRjaCYmZy53YXRjaCgpLGd9LGEuZm4uZG90ZG90ZG90LmRlZmF1bHRzPXtlbGxpcHNpczoiLi4uICIsd3JhcDoid29yZCIsbGFzdENoYXJhY3Rlcjp7cmVtb3ZlOlsiICIsIiwiLCI7IiwiLiIsIiEiLCI/Il0sbm9FbGxpcHNpczpbXX0sdG9sZXJhbmNlOjAsY2FsbGJhY2s6bnVsbCxhZnRlcjpudWxsLGhlaWdodDpudWxsLHdhdGNoOiExLHdpbmRvd1Jlc2l6ZUZpeDohMCxkZWJ1ZzohMX07dmFyIGI9MSxuPWEuZm4uaHRtbDthLmZuLmh0bWw9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT12b2lkIDA/dGhpcy5kYXRhKCJkb3Rkb3Rkb3QiKSYmImZ1bmN0aW9uIiE9dHlwZW9mIGE/dGhpcy50cmlnZ2VyKCJ1cGRhdGUiLFthXSk6bi5jYWxsKHRoaXMsYSk6bi5jYWxsKHRoaXMpfTt2YXIgbz1hLmZuLnRleHQ7YS5mbi50ZXh0PWZ1bmN0aW9uKGIpe2lmKGIhPT12b2lkIDApe2lmKHRoaXMuZGF0YSgiZG90ZG90ZG90Iikpe3ZhciBjPWEoIjxkaXYgLz4iKTtyZXR1cm4gYy50ZXh0KGIpLGI9Yy5odG1sKCksYy5yZW1vdmUoKSx0aGlzLnRyaWdnZXIoInVwZGF0ZSIsW2JdKX1yZXR1cm4gby5jYWxsKHRoaXMsYil9cmV0dXJuIG8uY2FsbCh0aGlzKX19fSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/js/jquery.iviewer.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogaXZpZXdlciBXaWRnZXQgZm9yIGpRdWVyeSBVSQogKiBodHRwczovL2dpdGh1Yi5jb20vY2FuM3AvaXZpZXdlcgogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEyIERtaXRyeSBQZXRyb3YKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAtIGh0dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9ncGwuaHRtbAogKgogKiBBdXRob3I6IERtaXRyeSBQZXRyb3YKICogVmVyc2lvbjogMC43LjcKICovCgooIGZ1bmN0aW9uKCAkLCB1bmRlZmluZWQgKSB7CgovL3RoaXMgY29kZSB3YXMgdGFrZW4gZnJvbSB0aGUgaHR0cHM6Ly9naXRodWIuY29tL2Z1cmYvanF1ZXJ5LXVpLXRvdWNoLXB1bmNoCnZhciBtb3VzZUV2ZW50cyA9IHsKICAgICAgICB0b3VjaHN0YXJ0OiAnbW91c2Vkb3duJywKICAgICAgICB0b3VjaG1vdmU6ICdtb3VzZW1vdmUnLAogICAgICAgIHRvdWNoZW5kOiAnbW91c2V1cCcKICAgIH0sCiAgICBnZXN0dXJlc1N1cHBvcnQgPSAnb25nZXN0dXJlc3RhcnQnIGluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwoKCi8qKgogKiBDb252ZXJ0IGEgdG91Y2ggZXZlbnQgdG8gYSBtb3VzZS1saWtlCiAqLwpmdW5jdGlvbiBtYWtlTW91c2VFdmVudCAoZXZlbnQpIHsKICAgIHZhciB0b3VjaCA9IGV2ZW50Lm9yaWdpbmFsRXZlbnQuY2hhbmdlZFRvdWNoZXNbMF07CgogICAgcmV0dXJuICQuZXh0ZW5kKGV2ZW50LCB7CiAgICAgICAgdHlwZTogICAgbW91c2VFdmVudHNbZXZlbnQudHlwZV0sCiAgICAgICAgd2hpY2g6ICAgMSwKICAgICAgICBwYWdlWDogICB0b3VjaC5wYWdlWCwKICAgICAgICBwYWdlWTogICB0b3VjaC5wYWdlWSwKICAgICAgICBzY3JlZW5YOiB0b3VjaC5zY3JlZW5YLAogICAgICAgIHNjcmVlblk6IHRvdWNoLnNjcmVlblksCiAgICAgICAgY2xpZW50WDogdG91Y2guY2xpZW50WCwKICAgICAgICBjbGllbnRZOiB0b3VjaC5jbGllbnRZLAogICAgICAgIGlzVG91Y2hFdmVudDogdHJ1ZQogICAgfSk7Cn0KCnZhciBtb3VzZVByb3RvID0gJC51aS5tb3VzZS5wcm90b3R5cGUsCiAgICBfbW91c2VJbml0ID0gJC51aS5tb3VzZS5wcm90b3R5cGUuX21vdXNlSW5pdDsKCm1vdXNlUHJvdG8uX21vdXNlSW5pdCA9IGZ1bmN0aW9uKCkgewogICAgdmFyIHNlbGYgPSB0aGlzOwogICAgc2VsZi5fdG91Y2hBY3RpdmUgPSBmYWxzZTsKCiAgICB0aGlzLmVsZW1lbnQuYmluZCggJ3RvdWNoc3RhcnQuJyArIHRoaXMud2lkZ2V0TmFtZSwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICBpZiAoZ2VzdHVyZXNTdXBwb3J0ICYmIGV2ZW50Lm9yaWdpbmFsRXZlbnQudG91Y2hlcy5sZW5ndGggPiAxKSB7IHJldHVybjsgfQogICAgICAgIHNlbGYuX3RvdWNoQWN0aXZlID0gdHJ1ZTsKICAgICAgICByZXR1cm4gc2VsZi5fbW91c2VEb3duKG1ha2VNb3VzZUV2ZW50KGV2ZW50KSk7CiAgICB9KQoKICAgIHZhciBzZWxmID0gdGhpczsKICAgIC8vIHRoZXNlIGRlbGVnYXRlcyBhcmUgcmVxdWlyZWQgdG8ga2VlcCBjb250ZXh0CiAgICB0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSA9IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgaWYgKGdlc3R1cmVzU3VwcG9ydCAmJiBldmVudC5vcmlnaW5hbEV2ZW50LnRvdWNoZXMgJiYgZXZlbnQub3JpZ2luYWxFdmVudC50b3VjaGVzLmxlbmd0aCA+IDEpIHsgcmV0dXJuOyB9CiAgICAgICAgaWYgKHNlbGYuX3RvdWNoQWN0aXZlKSB7CiAgICAgICAgICAgIHJldHVybiBzZWxmLl9tb3VzZU1vdmUobWFrZU1vdXNlRXZlbnQoZXZlbnQpKTsKICAgICAgICB9CiAgICB9OwogICAgdGhpcy5fbW91c2VVcERlbGVnYXRlID0gZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICBpZiAoc2VsZi5fdG91Y2hBY3RpdmUpIHsKICAgICAgICAgICAgc2VsZi5fdG91Y2hBY3RpdmUgPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuIHNlbGYuX21vdXNlVXAobWFrZU1vdXNlRXZlbnQoZXZlbnQpKTsKICAgICAgICB9CiAgICB9OwoKICAgICQoZG9jdW1lbnQpCiAgICAgICAgLmJpbmQoJ3RvdWNobW92ZS4nKyB0aGlzLndpZGdldE5hbWUsIHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKQogICAgICAgIC5iaW5kKCd0b3VjaGVuZC4nICsgdGhpcy53aWRnZXROYW1lLCB0aGlzLl9tb3VzZVVwRGVsZWdhdGUpOwoKICAgIF9tb3VzZUluaXQuYXBwbHkodGhpcyk7Cn0KCi8qKgogKiBTaW1wbGUgaW1wbGVtZW50YXRpb24gb2YgalF1ZXJ5IGxpa2UgZ2V0dGVycy9zZXR0ZXJzCiAqIHZhciB2YWwgPSBzb21ldGhpbmcoKTsKICogc29tZXRoaW5nKHZhbCk7CiAqLwp2YXIgc2V0dGVyID0gZnVuY3Rpb24oc2V0dGVyLCBnZXR0ZXIpIHsKICAgIHJldHVybiBmdW5jdGlvbih2YWwpIHsKICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgICByZXR1cm4gZ2V0dGVyLmFwcGx5KHRoaXMpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHNldHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgIH0KICAgIH0KfTsKCi8qKgogKiBJbnRlcm5ldCBleHBsb3JlciByb3RhdGVzIGltYWdlIHJlbGF0aXZlIGxlZnQgdG9wIGNvcm5lciwgc28gd2Ugc2hvdWxkCiAqIHNoaWZ0IGltYWdlIHdoZW4gaXQncyByb3RhdGVkLgogKi8KdmFyIGllVHJhbnNmb3JtcyA9IHsKICAgICAgICAnMCc6IHsKICAgICAgICAgICAgbWFyZ2luTGVmdDogMCwKICAgICAgICAgICAgbWFyZ2luVG9wOiAwLAogICAgICAgICAgICBmaWx0ZXI6ICdwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0xLCBNMTI9MCwgTTIxPTAsIE0yMj0xLCBTaXppbmdNZXRob2Q9ImF1dG8gZXhwYW5kIiknCiAgICAgICAgfSwKCiAgICAgICAgJzkwJzogewogICAgICAgICAgICBtYXJnaW5MZWZ0OiAtMSwKICAgICAgICAgICAgbWFyZ2luVG9wOiAxLAogICAgICAgICAgICBmaWx0ZXI6ICdwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0wLCBNMTI9LTEsIE0yMT0xLCBNMjI9MCwgU2l6aW5nTWV0aG9kPSJhdXRvIGV4cGFuZCIpJwogICAgICAgIH0sCgogICAgICAgICcxODAnOiB7CiAgICAgICAgICAgIG1hcmdpbkxlZnQ6IDAsCiAgICAgICAgICAgIG1hcmdpblRvcDogMCwKICAgICAgICAgICAgZmlsdGVyOiAncHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0Lk1hdHJpeChNMTE9LTEsIE0xMj0wLCBNMjE9MCwgTTIyPS0xLCBTaXppbmdNZXRob2Q9ImF1dG8gZXhwYW5kIiknCiAgICAgICAgfSwKCiAgICAgICAgJzI3MCc6IHsKICAgICAgICAgICAgbWFyZ2luTGVmdDogLTEsCiAgICAgICAgICAgIG1hcmdpblRvcDogMSwKICAgICAgICAgICAgZmlsdGVyOiAncHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0Lk1hdHJpeChNMTE9MCwgTTEyPTEsIE0yMT0tMSwgTTIyPTAsIFNpemluZ01ldGhvZD0iYXV0byBleHBhbmQiKScKICAgICAgICB9CiAgICB9LAogICAgLy8gdGhpcyB0ZXN0IGlzIHRoZSBpbnZlcnNpb24gb2YgdGhlIGNzcyBmaWx0ZXJzIHRlc3QgZnJvbSB0aGUgbW9kZXJuaXpyIHByb2plY3QKICAgIHVzZUllVHJhbnNmb3JtcyA9IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBtb2RFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbW9kZXJuaXpyJyksCgkJbVN0eWxlID0gbW9kRWxlbS5zdHlsZSwKCQlvbVByZWZpeGVzID0gJ1dlYmtpdCBNb3ogTyBtcycsCgkJZG9tUHJlZml4ZXMgPSBvbVByZWZpeGVzLnRvTG93ZXJDYXNlKCkuc3BsaXQoJyAnKSwKICAgICAgICAJcHJvcHMgPSAoInRyYW5zZm9ybSIgKyAnICcgKyBkb21QcmVmaXhlcy5qb2luKCJUcmFuc2Zvcm0gIikgKyAiVHJhbnNmb3JtIikuc3BsaXQoJyAnKTsKICAgICAgICBmb3IgKCB2YXIgaSBpbiBwcm9wcyApIHsKICAgICAgICAgICAgdmFyIHByb3AgPSBwcm9wc1tpXTsKICAgICAgICAgICAgaWYgKCAhJC5jb250YWlucyhwcm9wLCAiLSIpICYmIG1TdHlsZVtwcm9wXSAhPT0gdW5kZWZpbmVkICkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiB0cnVlOwogICAgfSgpOwoKJC53aWRnZXQoICJ1aS5pdmlld2VyIiwgJC51aS5tb3VzZSwgewogICAgd2lkZ2V0RXZlbnRQcmVmaXg6ICJpdmlld2VyIiwKICAgIG9wdGlvbnMgOiB7CiAgICAgICAgLyoqCiAgICAgICAgKiBzdGFydCB6b29tIHZhbHVlIGZvciBpbWFnZSwgbm90IHVzZWQgbm93CiAgICAgICAgKiBtYXkgYmUgZXF1YWwgdG8gImZpdCIgdG8gZml0IGltYWdlIGludG8gY29udGFpbmVyIG9yIHNjYWxlIGluICUKICAgICAgICAqKi8KICAgICAgICB6b29tOiAiZml0IiwKICAgICAgICAvKioKICAgICAgICAqIGJhc2UgdmFsdWUgdG8gc2NhbGUgaW1hZ2UKICAgICAgICAqKi8KICAgICAgICB6b29tX2Jhc2U6IDEwMCwKICAgICAgICAvKioKICAgICAgICAqIG1heGltdW0gem9vbQogICAgICAgICoqLwogICAgICAgIHpvb21fbWF4OiA4MDAsCiAgICAgICAgLyoqCiAgICAgICAgKiBtaW5pbXVtIHpvb20KICAgICAgICAqKi8KICAgICAgICB6b29tX21pbjogMjUsCiAgICAgICAgLyoqCiAgICAgICAgKiBiYXNlIG9mIHJhdGUgbXVsdGlwbGllci4KICAgICAgICAqIHpvb20gaXMgY2FsY3VsYXRlZCBieSBmb3JtdWxhOiB6b29tX2Jhc2UgKiB6b29tX2RlbHRhXnJhdGUKICAgICAgICAqKi8KICAgICAgICB6b29tX2RlbHRhOiAxLjQsCiAgICAgICAgLyoqCiAgICAgICAgKiB3aGV0aGVyIHRoZSB6b29tIHNob3VsZCBiZSBhbmltYXRlZC4KICAgICAgICAqLwogICAgICAgIHpvb21fYW5pbWF0aW9uOiB0cnVlLAogICAgICAgIC8qKgogICAgICAgICogaWYgdHJ1ZSBwbHVnaW4gZG9lc24ndCBhZGQgaXRzIG93biBjb250cm9scwogICAgICAgICoqLwogICAgICAgIHVpX2Rpc2FibGVkOiBmYWxzZSwKICAgICAgICAvKioKICAgICAgICAgKiBJZiBmYWxzZSBtb3VzZXdoZWVsIHdpbGwgYmUgZGlzYWJsZWQKICAgICAgICAgKi8KICAgICAgICBtb3VzZXdoZWVsOiB0cnVlLAogICAgICAgIC8qKgogICAgICAgICogaWYgZmFsc2UsIHBsdWdpbiBkb2Vzbid0IGJpbmQgcmVzaXplIGV2ZW50IG9uIHdpbmRvdyBhbmQgdGhpcyBtdXN0CiAgICAgICAgKiBiZSBoYW5kbGVkIG1hbnVhbGx5CiAgICAgICAgKiovCiAgICAgICAgdXBkYXRlX29uX3Jlc2l6ZTogdHJ1ZSwKICAgICAgICAvKioKICAgICAgICAqIGV2ZW50IGlzIHRyaWdnZXJlZCB3aGVuIHpvb20gdmFsdWUgaXMgY2hhbmdlZAogICAgICAgICogQHBhcmFtIGludCBuZXcgem9vbSB2YWx1ZQogICAgICAgICogQHJldHVybiBib29sZWFuIGlmIGZhbHNlIHpvb20gYWN0aW9uIGlzIGFib3J0ZWQKICAgICAgICAqKi8KICAgICAgICBvblpvb206IGpRdWVyeS5ub29wLAogICAgICAgIC8qKgogICAgICAgICogZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gem9vbSB2YWx1ZSBpcyBjaGFuZ2VkIGFmdGVyIGltYWdlIGlzIHNldCB0byB0aGUgbmV3IGRpbWVuc2lvbnMKICAgICAgICAqIEBwYXJhbSBpbnQgbmV3IHpvb20gdmFsdWUKICAgICAgICAqIEByZXR1cm4gYm9vbGVhbiBpZiBmYWxzZSB6b29tIGFjdGlvbiBpcyBhYm9ydGVkCiAgICAgICAgKiovCiAgICAgICAgb25BZnRlclpvb206IGpRdWVyeS5ub29wLAogICAgICAgIC8qKgogICAgICAgICogZXZlbnQgaXMgZmlyZWQgb24gZHJhZyBiZWdpbgogICAgICAgICogQHBhcmFtIG9iamVjdCBjb29yZHMgbW91c2UgY29vcmRpbmF0ZXMgb24gdGhlIGltYWdlCiAgICAgICAgKiBAcmV0dXJuIGJvb2xlYW4gaWYgZmFsc2UgaXMgcmV0dXJuZWQsIGRyYWcgYWN0aW9uIGlzIGFib3J0ZWQKICAgICAgICAqKi8KICAgICAgICBvblN0YXJ0RHJhZzogalF1ZXJ5Lm5vb3AsCiAgICAgICAgLyoqCiAgICAgICAgKiBldmVudCBpcyBmaXJlZCBvbiBkcmFnIGFjdGlvbgogICAgICAgICogQHBhcmFtIG9iamVjdCBjb29yZHMgbW91c2UgY29vcmRpbmF0ZXMgb24gdGhlIGltYWdlCiAgICAgICAgKiovCiAgICAgICAgb25EcmFnOiBqUXVlcnkubm9vcCwKICAgICAgICAvKioKICAgICAgICAqIGV2ZW50IGlzIGZpcmVkIG9uIGRyYWcgc3RvcAogICAgICAgICogQHBhcmFtIG9iamVjdCBjb29yZHMgbW91c2UgY29vcmRpbmF0ZXMgb24gdGhlIGltYWdlCiAgICAgICAgKiovCiAgICAgICAgb25TdG9wRHJhZzogalF1ZXJ5Lm5vb3AsCiAgICAgICAgLyoqCiAgICAgICAgKiBldmVudCBpcyBmaXJlZCB3aGVuIG1vdXNlIG1vdmVzIG92ZXIgaW1hZ2UKICAgICAgICAqIEBwYXJhbSBvYmplY3QgY29vcmRzIG1vdXNlIGNvb3JkaW5hdGVzIG9uIHRoZSBpbWFnZQogICAgICAgICoqLwogICAgICAgIG9uTW91c2VNb3ZlOiBqUXVlcnkubm9vcCwKICAgICAgICAvKioKICAgICAgICAqIG1vdXNlIGNsaWNrIGV2ZW50CiAgICAgICAgKiBAcGFyYW0gb2JqZWN0IGNvb3JkcyBtb3VzZSBjb29yZGluYXRlcyBvbiB0aGUgaW1hZ2UKICAgICAgICAqKi8KICAgICAgICBvbkNsaWNrOiBqUXVlcnkubm9vcCwKICAgICAgICAvKioKICAgICAgICAqIGV2ZW50IGlzIGZpcmVkIHdoZW4gaW1hZ2Ugc3RhcnRzIHRvIGxvYWQKICAgICAgICAqLwogICAgICAgIG9uU3RhcnRMb2FkOiBudWxsLAogICAgICAgIC8qKgogICAgICAgICogZXZlbnQgaXMgZmlyZWQsIHdoZW4gaW1hZ2UgaXMgbG9hZGVkIGFuZCBpbml0aWFsbHkgcG9zaXRpb25lZAogICAgICAgICovCiAgICAgICAgb25GaW5pc2hMb2FkOiBudWxsLAogICAgICAgIC8qKgogICAgICAgICogZXZlbnQgaXMgZmlyZWQgd2hlbiBpbWFnZSBsb2FkIGVycm9yIG9jY3VycwogICAgICAgICovCiAgICAgICAgb25FcnJvckxvYWQ6IG51bGwKICAgIH0sCgogICAgX2NyZWF0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIG1lID0gdGhpczsKCiAgICAgICAgLy9kcmFnIHZhcmlhYmxlcwogICAgICAgIHRoaXMuZHggPSAwOwogICAgICAgIHRoaXMuZHkgPSAwOwoKICAgICAgICAvKiBvYmplY3QgY29udGFpbmluZyBhY3R1YWwgaW5mb3JtYXRpb24gYWJvdXQgaW1hZ2UKICAgICAgICAqICAgQGltZ19vYmplY3Qub2JqZWN0IC0ganF1ZXJ5IGltZyBvYmplY3QKICAgICAgICAqICAgQGltZ19vYmplY3Qub3JpZ197d2lkdGh8aGVpZ2h0fSAtIG9yaWdpbmFsIGRpbWVuc2lvbnMKICAgICAgICAqICAgQGltZ19vYmplY3QuZGlzcGxheV97d2lkdGh8aGVpZ2h0fSAtIGFjdHVhbCBkaW1lbnNpb25zCiAgICAgICAgKi8KICAgICAgICB0aGlzLmltZ19vYmplY3QgPSB7fTsKCiAgICAgICAgdGhpcy56b29tX29iamVjdCA9IHt9OyAvL29iamVjdCB0byBzaG93IHpvb20gc3RhdHVzCgogICAgICAgIHRoaXMuX2FuZ2xlID0gMDsKCiAgICAgICAgdGhpcy5jdXJyZW50X3pvb20gPSB0aGlzLm9wdGlvbnMuem9vbTsKCiAgICAgICAgaWYodGhpcy5vcHRpb25zLnNyYyA9PT0gbnVsbCl7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy5lbGVtZW50OwoKICAgICAgICB0aGlzLl91cGRhdGVDb250YWluZXJJbmZvKCk7CgogICAgICAgIC8vaW5pdCBjb250YWluZXIKICAgICAgICB0aGlzLmNvbnRhaW5lci5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIik7CgogICAgICAgIGlmICh0aGlzLm9wdGlvbnMudXBkYXRlX29uX3Jlc2l6ZSA9PSB0cnVlKSB7CiAgICAgICAgICAgICQod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBtZS51cGRhdGUoKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICB0aGlzLmltZ19vYmplY3QgPSBuZXcgJC51aS5pdmlld2VyLkltYWdlT2JqZWN0KHRoaXMub3B0aW9ucy56b29tX2FuaW1hdGlvbik7CgogICAgICAgIGlmICh0aGlzLm9wdGlvbnMubW91c2V3aGVlbCkgewogICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5iaW5kKCdtb3VzZXdoZWVsLml2aWV3ZXInLCBmdW5jdGlvbihldiwgZGVsdGEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLy90aGlzIGV2ZW50IGlzIHRoZXJlIGluc3RlYWQgb2YgY29udGFpbmluZyBkaXYsIGJlY2F1c2UKICAgICAgICAgICAgICAgICAgICAvL2F0IG9wZXJhIGl0IHRyaWdnZXJzIG1hbnkgdGltZXMgb24gZGl2CiAgICAgICAgICAgICAgICAgICAgdmFyIHpvb20gPSAoZGVsdGEgPiAwKT8xOi0xLAogICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJfb2Zmc2V0ID0gbWUuY29udGFpbmVyLm9mZnNldCgpLAogICAgICAgICAgICAgICAgICAgICAgICBtb3VzZV9wb3MgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2pxdWVyeS5tb3VzZXdoZWVsIDMuMS4wIHVzZXMgc3RyYW5nZSBNb3pNb3VzZVBpeGVsU2Nyb2xsIGV2ZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3doaWNoIGlzIG5vdCBiZWluZyBmaXhlZCBieSBqUXVlcnkuRXZlbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg6IChldi5wYWdlWCB8fCBldi5vcmlnaW5hbEV2ZW50LnBhZ2VYKSAtIGNvbnRhaW5lcl9vZmZzZXQubGVmdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IChldi5wYWdlWSB8fCBldi5vcmlnaW5hbEV2ZW50LnBhZ2VYKSAtIGNvbnRhaW5lcl9vZmZzZXQudG9wCiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgICAgIG1lLnpvb21fYnkoem9vbSwgbW91c2VfcG9zKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIGlmIChnZXN0dXJlc1N1cHBvcnQpIHsKICAgICAgICAgICAgICAgIHZhciBnZXN0dXJlVGhyb3R0bGUgPSArbmV3IERhdGUoKTsKICAgICAgICAgICAgICAgIHZhciBvcmlnaW5hbFNjYWxlLCBvcmlnaW5hbENlbnRlcjsKICAgICAgICAgICAgICAgIHRoaXMuaW1nX29iamVjdC5vYmplY3QoKQogICAgICAgICAgICAgICAgICAgIC8vIC5iaW5kKCdnZXN0dXJlc3RhcnQnLCBmdW5jdGlvbihldikgewogICAgICAgICAgICAgICAgICAgIC5iaW5kKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZXYpIHsKICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxTY2FsZSA9IG1lLmN1cnJlbnRfem9vbTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRvdWNoZXMgPSBldi5vcmlnaW5hbEV2ZW50LnRvdWNoZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJfb2Zmc2V0OwogICAgICAgICAgICAgICAgICAgICAgICBpZiAodG91Y2hlcy5sZW5ndGggPT0gMikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyX29mZnNldCA9IG1lLmNvbnRhaW5lci5vZmZzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsQ2VudGVyID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg6ICh0b3VjaGVzWzBdLnBhZ2VYICsgdG91Y2hlc1sxXS5wYWdlWCkgLyAyICAtIGNvbnRhaW5lcl9vZmZzZXQubGVmdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiAodG91Y2hlc1swXS5wYWdlWSArIHRvdWNoZXNbMV0ucGFnZVkpIC8gMiAtIGNvbnRhaW5lcl9vZmZzZXQudG9wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxDZW50ZXIgPSBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSkuYmluZCgnZ2VzdHVyZWNoYW5nZScsIGZ1bmN0aW9uKGV2KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vZG8gbm90IHdhbnQgdG8gaW1wb3J0IHRocm90dGxlIGZ1bmN0aW9uIGZyb20gdW5kZXJzY29yZQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZCA9ICtuZXcgRGF0ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGQgLSBnZXN0dXJlVGhyb3R0bGUpIDwgNTApIHsgcmV0dXJuOyB9CiAgICAgICAgICAgICAgICAgICAgICAgIGdlc3R1cmVUaHJvdHRsZSA9IGQ7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB6b29tID0gb3JpZ2luYWxTY2FsZSAqIGV2Lm9yaWdpbmFsRXZlbnQuc2NhbGU7CiAgICAgICAgICAgICAgICAgICAgICAgIG1lLnNldF96b29tKHpvb20sIG9yaWdpbmFsQ2VudGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICB9KS5iaW5kKCdnZXN0dXJlZW5kJywgZnVuY3Rpb24oZXYpIHsKICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxDZW50ZXIgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvL2luaXQgb2JqZWN0CiAgICAgICAgdGhpcy5pbWdfb2JqZWN0Lm9iamVjdCgpCiAgICAgICAgICAgIC8vYmluZCBtb3VzZSBldmVudHMKICAgICAgICAgICAgLmNsaWNrKGZ1bmN0aW9uKGUpe3JldHVybiBtZS5fY2xpY2soZSl9KQogICAgICAgICAgICAgICAgLnByZXBlbmRUbyh0aGlzLmNvbnRhaW5lcik7CgogICAgICAgIHRoaXMuY29udGFpbmVyLmJpbmQoJ21vdXNlbW92ZScsIGZ1bmN0aW9uKGV2KSB7IG1lLl9oYW5kbGVNb3VzZU1vdmUoZXYpOyB9KTsKCiAgICAgICAgdGhpcy5sb2FkSW1hZ2UodGhpcy5vcHRpb25zLnNyYyk7CgogICAgICAgIGlmKCF0aGlzLm9wdGlvbnMudWlfZGlzYWJsZWQpCiAgICAgICAgewogICAgICAgICAgICB0aGlzLmNyZWF0ZXVpKCk7CiAgICAgICAgfQoKICAgICAgICB0aGlzLl9tb3VzZUluaXQoKTsKICAgIH0sCgogICAgZGVzdHJveTogZnVuY3Rpb24oKSB7CiAgICAgICAgJC5XaWRnZXQucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCggdGhpcyApOwogICAgICAgIHRoaXMuX21vdXNlRGVzdHJveSgpOwogICAgICAgIHRoaXMuaW1nX29iamVjdC5vYmplY3QoKS5yZW1vdmUoKTsKICAgICAgICB0aGlzLmNvbnRhaW5lci5vZmYoJy5pdmlld2VyJyk7CiAgICAgICAgdGhpcy5jb250YWluZXIuY3NzKCdvdmVyZmxvdycsICcnKTsgLy9jbGVhbnVwIHN0eWxlcyBvbiBkZXN0cm95CiAgICB9LAoKICAgIF91cGRhdGVDb250YWluZXJJbmZvOiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgdGhpcy5vcHRpb25zLmhlaWdodCA9IHRoaXMuY29udGFpbmVyLmhlaWdodCgpOwogICAgICAgIHRoaXMub3B0aW9ucy53aWR0aCA9IHRoaXMuY29udGFpbmVyLndpZHRoKCk7CiAgICB9LAoKICAgIHVwZGF0ZTogZnVuY3Rpb24oKQogICAgewogICAgICAgIHRoaXMuX3VwZGF0ZUNvbnRhaW5lckluZm8oKQogICAgICAgIHRoaXMuc2V0Q29vcmRzKHRoaXMuaW1nX29iamVjdC54KCksIHRoaXMuaW1nX29iamVjdC55KCkpOwogICAgfSwKCiAgICBsb2FkSW1hZ2U6IGZ1bmN0aW9uKCBzcmMgKQogICAgewogICAgICAgIHRoaXMuY3VycmVudF96b29tID0gdGhpcy5vcHRpb25zLnpvb207CiAgICAgICAgdmFyIG1lID0gdGhpczsKCiAgICAgICAgdGhpcy5fdHJpZ2dlcignb25TdGFydExvYWQnLCAwLCBzcmMpOwoKICAgICAgICB0aGlzLmNvbnRhaW5lci5hZGRDbGFzcygiaXZpZXdlcl9sb2FkaW5nIik7CiAgICAgICAgdGhpcy5pbWdfb2JqZWN0LmxvYWQoc3JjLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgbWUuX2ltYWdlTG9hZGVkKHNyYyk7CiAgICAgICAgfSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIG1lLl90cmlnZ2VyKCJvbkVycm9yTG9hZCIsIDAsIHNyYyk7CiAgICAgICAgfSk7CiAgICB9LAoKICAgIF9pbWFnZUxvYWRlZDogZnVuY3Rpb24oc3JjKSB7CiAgICAgICAgdGhpcy5jb250YWluZXIucmVtb3ZlQ2xhc3MoIml2aWV3ZXJfbG9hZGluZyIpOwogICAgICAgIHRoaXMuY29udGFpbmVyLmFkZENsYXNzKCJpdmlld2VyX2N1cnNvciIpOwoKICAgICAgICBpZih0aGlzLm9wdGlvbnMuem9vbSA9PSAiZml0Iil7CiAgICAgICAgICAgIHRoaXMuZml0KHRydWUpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdGhpcy5zZXRfem9vbSh0aGlzLm9wdGlvbnMuem9vbSwgdHJ1ZSk7CiAgICAgICAgfQoKICAgICAgICB0aGlzLl90cmlnZ2VyKCdvbkZpbmlzaExvYWQnLCAwLCBzcmMpOwogICAgfSwKCiAgICAvKioKICAgICogZml0cyBpbWFnZSBpbiB0aGUgY29udGFpbmVyCiAgICAqCiAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2tpcF9hbmltYXRpb24KICAgICoqLwogICAgZml0OiBmdW5jdGlvbihza2lwX2FuaW1hdGlvbikKICAgIHsKICAgICAgICB2YXIgYXNwZWN0X3JhdGlvID0gdGhpcy5pbWdfb2JqZWN0Lm9yaWdfd2lkdGgoKSAvIHRoaXMuaW1nX29iamVjdC5vcmlnX2hlaWdodCgpOwogICAgICAgIHZhciB3aW5kb3dfcmF0aW8gPSB0aGlzLm9wdGlvbnMud2lkdGggLyAgdGhpcy5vcHRpb25zLmhlaWdodDsKICAgICAgICB2YXIgY2hvb3NlX2xlZnQgPSAoYXNwZWN0X3JhdGlvID4gd2luZG93X3JhdGlvKTsKICAgICAgICB2YXIgbmV3X3pvb20gPSAwOwoKICAgICAgICBpZihjaG9vc2VfbGVmdCl7CiAgICAgICAgICAgIG5ld196b29tID0gdGhpcy5vcHRpb25zLndpZHRoIC8gdGhpcy5pbWdfb2JqZWN0Lm9yaWdfd2lkdGgoKSAqIDEwMDsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIG5ld196b29tID0gdGhpcy5vcHRpb25zLmhlaWdodCAvIHRoaXMuaW1nX29iamVjdC5vcmlnX2hlaWdodCgpICogMTAwOwogICAgICAgIH0KCiAgICAgIHRoaXMuc2V0X3pvb20obmV3X3pvb20sIHNraXBfYW5pbWF0aW9uKTsKICAgIH0sCgogICAgLyoqCiAgICAqIGNlbnRlciBpbWFnZSBpbiBjb250YWluZXIKICAgICoqLwogICAgY2VudGVyOiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgdGhpcy5zZXRDb29yZHMoLU1hdGgucm91bmQoKHRoaXMuaW1nX29iamVjdC5kaXNwbGF5X3dpZHRoKCkgLSB0aGlzLm9wdGlvbnMud2lkdGgpLzIpLAogICAgICAgICAgICAgICAgLU1hdGgucm91bmQoKHRoaXMuaW1nX29iamVjdC5kaXNwbGF5X2hlaWdodCgpIC0gdGhpcy5vcHRpb25zLmhlaWdodCkvMikpOwogICAgfSwKCiAgICAvKioKICAgICogICBtb3ZlIGEgcG9pbnQgaW4gY29udGFpbmVyIHRvIHRoZSBjZW50ZXIgb2YgZGlzcGxheSBhcmVhCiAgICAqICAgQHBhcmFtIHggYSBwb2ludCBpbiBjb250YWluZXIKICAgICogICBAcGFyYW0geSBhIHBvaW50IGluIGNvbnRhaW5lcgogICAgKiovCiAgICBtb3ZlVG86IGZ1bmN0aW9uKHgsIHkpCiAgICB7CiAgICAgICAgdmFyIGR4ID0geC1NYXRoLnJvdW5kKHRoaXMub3B0aW9ucy53aWR0aC8yKTsKICAgICAgICB2YXIgZHkgPSB5LU1hdGgucm91bmQodGhpcy5vcHRpb25zLmhlaWdodC8yKTsKCiAgICAgICAgdmFyIG5ld194ID0gdGhpcy5pbWdfb2JqZWN0LngoKSAtIGR4OwogICAgICAgIHZhciBuZXdfeSA9IHRoaXMuaW1nX29iamVjdC55KCkgLSBkeTsKCiAgICAgICAgdGhpcy5zZXRDb29yZHMobmV3X3gsIG5ld195KTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBHZXQgY29udGFpbmVyIG9mZnNldCBvYmplY3QuCiAgICAgKi8KICAgIGdldENvbnRhaW5lck9mZnNldDogZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIGpRdWVyeS5leHRlbmQoe30sIHRoaXMuY29udGFpbmVyLm9mZnNldCgpKTsKICAgIH0sCgogICAgLyoqCiAgICAqIHNldCBjb29yZGluYXRlcyBvZiB1cHBlciBsZWZ0IGNvcm5lciBvZiBpbWFnZSBvYmplY3QKICAgICoqLwogICAgc2V0Q29vcmRzOiBmdW5jdGlvbih4LHkpCiAgICB7CiAgICAgICAgLy9kbyBub3RoaW5nIHdoaWxlIGltYWdlIGlzIGJlaW5nIGxvYWRlZAogICAgICAgIGlmKCF0aGlzLmltZ19vYmplY3QubG9hZGVkKCkpIHsgcmV0dXJuOyB9CgogICAgICAgIHZhciBjb29yZHMgPSB0aGlzLl9jb3JyZWN0Q29vcmRzKHgseSk7CiAgICAgICAgdGhpcy5pbWdfb2JqZWN0LngoY29vcmRzLngpOwogICAgICAgIHRoaXMuaW1nX29iamVjdC55KGNvb3Jkcy55KTsKICAgIH0sCgogICAgX2NvcnJlY3RDb29yZHM6IGZ1bmN0aW9uKCB4LCB5ICkKICAgIHsKICAgICAgICB4ID0gcGFyc2VJbnQoeCwgMTApOwogICAgICAgIHkgPSBwYXJzZUludCh5LCAxMCk7CgogICAgICAgIC8vY2hlY2sgbmV3IGNvb3JkaW5hdGVzIHRvIGJlIGNvcnJlY3QgKHRvIGJlIGluIHJlY3QpCiAgICAgICAgaWYoeSA+IDApewogICAgICAgICAgICB5ID0gMDsKICAgICAgICB9CiAgICAgICAgaWYoeCA+IDApewogICAgICAgICAgICB4ID0gMDsKICAgICAgICB9CiAgICAgICAgaWYoeSArIHRoaXMuaW1nX29iamVjdC5kaXNwbGF5X2hlaWdodCgpIDwgdGhpcy5vcHRpb25zLmhlaWdodCl7CiAgICAgICAgICAgIHkgPSB0aGlzLm9wdGlvbnMuaGVpZ2h0IC0gdGhpcy5pbWdfb2JqZWN0LmRpc3BsYXlfaGVpZ2h0KCk7CiAgICAgICAgfQogICAgICAgIGlmKHggKyB0aGlzLmltZ19vYmplY3QuZGlzcGxheV93aWR0aCgpIDwgdGhpcy5vcHRpb25zLndpZHRoKXsKICAgICAgICAgICAgeCA9IHRoaXMub3B0aW9ucy53aWR0aCAtIHRoaXMuaW1nX29iamVjdC5kaXNwbGF5X3dpZHRoKCk7CiAgICAgICAgfQogICAgICAgIGlmKHRoaXMuaW1nX29iamVjdC5kaXNwbGF5X3dpZHRoKCkgPD0gdGhpcy5vcHRpb25zLndpZHRoKXsKICAgICAgICAgICAgeCA9IC0odGhpcy5pbWdfb2JqZWN0LmRpc3BsYXlfd2lkdGgoKSAtIHRoaXMub3B0aW9ucy53aWR0aCkvMjsKICAgICAgICB9CiAgICAgICAgaWYodGhpcy5pbWdfb2JqZWN0LmRpc3BsYXlfaGVpZ2h0KCkgPD0gdGhpcy5vcHRpb25zLmhlaWdodCl7CiAgICAgICAgICAgIHkgPSAtKHRoaXMuaW1nX29iamVjdC5kaXNwbGF5X2hlaWdodCgpIC0gdGhpcy5vcHRpb25zLmhlaWdodCkvMjsKICAgICAgICB9CgogICAgICAgIHJldHVybiB7IHg6IHgsIHk6eSB9OwogICAgfSwKCgogICAgLyoqCiAgICAqIGNvbnZlcnQgY29vcmRpbmF0ZXMgb24gdGhlIGNvbnRhaW5lciB0byB0aGUgY29vcmRpbmF0ZXMgb24gdGhlIGltYWdlIChpbiBvcmlnaW5hbCBzaXplKQogICAgKgogICAgKiBAcmV0dXJuIG9iamVjdCB3aXRoIGZpZWxkcyB4LHkgYWNjb3JkaW5nIHRvIGNvb3JkaW5hdGVzIG9yIGZhbHNlCiAgICAqIGlmIGluaXRpYWwgY29vcmRzIGFyZSBub3QgaW5zaWRlIGltYWdlCiAgICAqKi8KICAgIGNvbnRhaW5lclRvSW1hZ2UgOiBmdW5jdGlvbiAoeCx5KQogICAgewogICAgICAgIHZhciBjb29yZHMgPSB7IHggOiB4IC0gdGhpcy5pbWdfb2JqZWN0LngoKSwKICAgICAgICAgICAgICAgICB5IDogIHkgLSB0aGlzLmltZ19vYmplY3QueSgpCiAgICAgICAgfTsKCiAgICAgICAgY29vcmRzID0gdGhpcy5pbWdfb2JqZWN0LnRvT3JpZ2luYWxDb29yZHMoY29vcmRzKTsKCiAgICAgICAgcmV0dXJuIHsgeCA6ICB1dGlsLmRlc2NhbGVWYWx1ZShjb29yZHMueCwgdGhpcy5jdXJyZW50X3pvb20pLAogICAgICAgICAgICAgICAgIHkgOiAgdXRpbC5kZXNjYWxlVmFsdWUoY29vcmRzLnksIHRoaXMuY3VycmVudF96b29tKQogICAgICAgIH07CiAgICB9LAoKICAgIC8qKgogICAgKiBjb252ZXJ0IGNvb3JkaW5hdGVzIG9uIHRoZSBpbWFnZSAoaW4gb3JpZ2luYWwgc2l6ZSwgYW5kIHplcm8gYW5nbGUpIHRvIHRoZSBjb29yZGluYXRlcyBvbiB0aGUgY29udGFpbmVyCiAgICAqCiAgICAqIEByZXR1cm4gb2JqZWN0IHdpdGggZmllbGRzIHgseSBhY2NvcmRpbmcgdG8gY29vcmRpbmF0ZXMKICAgICoqLwogICAgaW1hZ2VUb0NvbnRhaW5lciA6IGZ1bmN0aW9uICh4LHkpCiAgICB7CiAgICAgICAgdmFyIGNvb3JkcyA9IHsKICAgICAgICAgICAgICAgIHggOiB1dGlsLnNjYWxlVmFsdWUoeCwgdGhpcy5jdXJyZW50X3pvb20pLAogICAgICAgICAgICAgICAgeSA6IHV0aWwuc2NhbGVWYWx1ZSh5LCB0aGlzLmN1cnJlbnRfem9vbSkKICAgICAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIHRoaXMuaW1nX29iamVjdC50b1JlYWxDb29yZHMoY29vcmRzKTsKICAgIH0sCgogICAgLyoqCiAgICAqIGdldCBtb3VzZSBjb29yZGluYXRlcyBvbiB0aGUgaW1hZ2UKICAgICogQHBhcmFtIGUgLSBvYmplY3QgY29udGFpbmluZyBwYWdlWCBhbmQgcGFnZVkgZmllbGRzLCBlLmcuIG1vdXNlIGV2ZW50IG9iamVjdAogICAgKgogICAgKiBAcmV0dXJuIG9iamVjdCB3aXRoIGZpZWxkcyB4LHkgYWNjb3JkaW5nIHRvIGNvb3JkaW5hdGVzIG9yIGZhbHNlCiAgICAqIGlmIGluaXRpYWwgY29vcmRzIGFyZSBub3QgaW5zaWRlIGltYWdlCiAgICAqKi8KICAgIF9nZXRNb3VzZUNvb3JkcyA6IGZ1bmN0aW9uKGUpCiAgICB7CiAgICAgICAgdmFyIGNvbnRhaW5lck9mZnNldCA9IHRoaXMuY29udGFpbmVyLm9mZnNldCgpOwogICAgICAgICAgICBjb29yZHMgPSB0aGlzLmNvbnRhaW5lclRvSW1hZ2UoZS5wYWdlWCAtIGNvbnRhaW5lck9mZnNldC5sZWZ0LCBlLnBhZ2VZIC0gY29udGFpbmVyT2Zmc2V0LnRvcCk7CgogICAgICAgIHJldHVybiBjb29yZHM7CiAgICB9LAoKICAgIC8qKgogICAgKiBzZXQgaW1hZ2Ugc2NhbGUgdG8gdGhlIG5ld196b29tCiAgICAqCiAgICAqIEBwYXJhbSB7bnVtYmVyfSBuZXdfem9vbSBpbWFnZSBzY2FsZSBpbiAlCiAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2tpcF9hbmltYXRpb24KICAgICogQHBhcmFtIHt4OiBudW1iZXIsIHk6IG51bWJlcn0gQ29vcmRpbmF0ZXMgb2YgcG9pbnQgdGhlIHNob3VsZCBub3QgYmUgbW92ZWQgb24gem9vbS4gVGhlIGRlZmF1bHQgaXMgdGhlIGNlbnRlciBvZiBpbWFnZS4KICAgICoqLwogICAgc2V0X3pvb206IGZ1bmN0aW9uKG5ld196b29tLCBza2lwX2FuaW1hdGlvbiwgem9vbV9jZW50ZXIpCiAgICB7CiAgICAgICAgaWYgKHRoaXMuX3RyaWdnZXIoJ29uWm9vbScsIDAsIG5ld196b29tKSA9PSBmYWxzZSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAvL2RvIG5vdGhpbmcgd2hpbGUgaW1hZ2UgaXMgYmVpbmcgbG9hZGVkCiAgICAgICAgaWYoIXRoaXMuaW1nX29iamVjdC5sb2FkZWQoKSkgeyByZXR1cm47IH0KCiAgICAgICAgem9vbV9jZW50ZXIgPSB6b29tX2NlbnRlciB8fCB7CiAgICAgICAgICAgIHg6IE1hdGgucm91bmQodGhpcy5vcHRpb25zLndpZHRoLzIpLAogICAgICAgICAgICB5OiBNYXRoLnJvdW5kKHRoaXMub3B0aW9ucy5oZWlnaHQvMikKICAgICAgICB9CgogICAgICAgIGlmKG5ld196b29tIDwgIHRoaXMub3B0aW9ucy56b29tX21pbikKICAgICAgICB7CiAgICAgICAgICAgIG5ld196b29tID0gdGhpcy5vcHRpb25zLnpvb21fbWluOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKG5ld196b29tID4gdGhpcy5vcHRpb25zLnpvb21fbWF4KQogICAgICAgIHsKICAgICAgICAgICAgbmV3X3pvb20gPSB0aGlzLm9wdGlvbnMuem9vbV9tYXg7CiAgICAgICAgfQoKICAgICAgICAvKiB3ZSBmYWtlIHRoZXNlIHZhbHVlcyB0byBtYWtlIGZpdCB6b29tIHByb3Blcmx5IHdvcmsgKi8KICAgICAgICBpZih0aGlzLmN1cnJlbnRfem9vbSA9PSAiZml0IikKICAgICAgICB7CiAgICAgICAgICAgIHZhciBvbGRfeCA9IHpvb21fY2VudGVyLnggKyBNYXRoLnJvdW5kKHRoaXMuaW1nX29iamVjdC5vcmlnX3dpZHRoKCkvMik7CiAgICAgICAgICAgIHZhciBvbGRfeSA9IHpvb21fY2VudGVyLnkgKyBNYXRoLnJvdW5kKHRoaXMuaW1nX29iamVjdC5vcmlnX2hlaWdodCgpLzIpOwogICAgICAgICAgICB0aGlzLmN1cnJlbnRfem9vbSA9IDEwMDsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHZhciBvbGRfeCA9IC10aGlzLmltZ19vYmplY3QueCgpICsgem9vbV9jZW50ZXIueDsKICAgICAgICAgICAgdmFyIG9sZF95ID0gLXRoaXMuaW1nX29iamVjdC55KCkgKyB6b29tX2NlbnRlci55CiAgICAgICAgfQoKICAgICAgICB2YXIgbmV3X3dpZHRoID0gdXRpbC5zY2FsZVZhbHVlKHRoaXMuaW1nX29iamVjdC5vcmlnX3dpZHRoKCksIG5ld196b29tKTsKICAgICAgICB2YXIgbmV3X2hlaWdodCA9IHV0aWwuc2NhbGVWYWx1ZSh0aGlzLmltZ19vYmplY3Qub3JpZ19oZWlnaHQoKSwgbmV3X3pvb20pOwogICAgICAgIHZhciBuZXdfeCA9IHV0aWwuc2NhbGVWYWx1ZSggdXRpbC5kZXNjYWxlVmFsdWUob2xkX3gsIHRoaXMuY3VycmVudF96b29tKSwgbmV3X3pvb20pOwogICAgICAgIHZhciBuZXdfeSA9IHV0aWwuc2NhbGVWYWx1ZSggdXRpbC5kZXNjYWxlVmFsdWUob2xkX3ksIHRoaXMuY3VycmVudF96b29tKSwgbmV3X3pvb20pOwoKICAgICAgICBuZXdfeCA9IHpvb21fY2VudGVyLnggLSBuZXdfeDsKICAgICAgICBuZXdfeSA9IHpvb21fY2VudGVyLnkgLSBuZXdfeTsKCiAgICAgICAgbmV3X3dpZHRoID0gTWF0aC5mbG9vcihuZXdfd2lkdGgpOwogICAgICAgIG5ld19oZWlnaHQgPSBNYXRoLmZsb29yKG5ld19oZWlnaHQpOwogICAgICAgIG5ld194ID0gTWF0aC5mbG9vcihuZXdfeCk7CiAgICAgICAgbmV3X3kgPSBNYXRoLmZsb29yKG5ld195KTsKCiAgICAgICAgdGhpcy5pbWdfb2JqZWN0LmRpc3BsYXlfd2lkdGgobmV3X3dpZHRoKTsKICAgICAgICB0aGlzLmltZ19vYmplY3QuZGlzcGxheV9oZWlnaHQobmV3X2hlaWdodCk7CgogICAgICAgIHZhciBjb29yZHMgPSB0aGlzLl9jb3JyZWN0Q29vcmRzKCBuZXdfeCwgbmV3X3kgKSwKICAgICAgICAgICAgc2VsZiA9IHRoaXM7CgogICAgICAgIHRoaXMuaW1nX29iamVjdC5zZXRJbWFnZVByb3BzKG5ld193aWR0aCwgbmV3X2hlaWdodCwgY29vcmRzLngsIGNvb3Jkcy55LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9hbmltYXRpb24sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBzZWxmLl90cmlnZ2VyKCdvbkFmdGVyWm9vbScsIDAsIG5ld196b29tICk7CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5jdXJyZW50X3pvb20gPSBuZXdfem9vbTsKCiAgICAgICAgdGhpcy51cGRhdGVfc3RhdHVzKCk7CiAgICB9LAoKICAgIC8qKgogICAgKiBjaGFuZ2VzIHpvb20gc2NhbGUgYnkgZGVsdGEKICAgICogem9vbSBpcyBjYWxjdWxhdGVkIGJ5IGZvcm11bGE6IHpvb21fYmFzZSAqIHpvb21fZGVsdGFecmF0ZQogICAgKiBAcGFyYW0gSW50ZWdlciBkZWx0YSBudW1iZXIgdG8gYWRkIHRvIHRoZSBjdXJyZW50IG11bHRpcGxpZXIgcmF0ZSBudW1iZXIKICAgICogQHBhcmFtIHt4OiBudW1iZXIsIHk6IG51bWJlcj19IENvb3JkaW5hdGVzIG9mIHBvaW50IHRoZSBzaG91bGQgbm90IGJlIG1vdmVkIG9uIHpvb20uCiAgICAqKi8KICAgIHpvb21fYnk6IGZ1bmN0aW9uKGRlbHRhLCB6b29tX2NlbnRlcikKICAgIHsKICAgICAgICB2YXIgY2xvc2VzdF9yYXRlID0gdGhpcy5maW5kX2Nsb3Nlc3Rfem9vbV9yYXRlKHRoaXMuY3VycmVudF96b29tKTsKCiAgICAgICAgdmFyIG5leHRfcmF0ZSA9IGNsb3Nlc3RfcmF0ZSArIGRlbHRhOwogICAgICAgIHZhciBuZXh0X3pvb20gPSB0aGlzLm9wdGlvbnMuem9vbV9iYXNlICogTWF0aC5wb3codGhpcy5vcHRpb25zLnpvb21fZGVsdGEsIG5leHRfcmF0ZSkKICAgICAgICBpZihkZWx0YSA+IDAgJiYgbmV4dF96b29tIDwgdGhpcy5jdXJyZW50X3pvb20pCiAgICAgICAgewogICAgICAgICAgICBuZXh0X3pvb20gKj0gdGhpcy5vcHRpb25zLnpvb21fZGVsdGE7CiAgICAgICAgfQoKICAgICAgICBpZihkZWx0YSA8IDAgJiYgbmV4dF96b29tID4gdGhpcy5jdXJyZW50X3pvb20pCiAgICAgICAgewogICAgICAgICAgICBuZXh0X3pvb20gLz0gdGhpcy5vcHRpb25zLnpvb21fZGVsdGE7CiAgICAgICAgfQoKICAgICAgICB0aGlzLnNldF96b29tKG5leHRfem9vbSwgdW5kZWZpbmVkLCB6b29tX2NlbnRlcik7CiAgICB9LAoKICAgIC8qKgogICAgKiBSb3RhdGUgaW1hZ2UKICAgICogQHBhcmFtIHtudW19IGRlZyBEZWdyZWVzIGFtb3VudCB0byByb3RhdGUuIFBvc2l0aXZlIHZhbHVlcyByb3RhdGUgaW1hZ2UgY2xvY2t3aXNlLgogICAgKiAgICAgQ3VycmVudGx5IDAsIDkwLCAxODAsIDI3MCBhbmQgLTkwLCAtMTgwLCAtMjcwIHZhbHVlcyBhcmUgc3VwcG9ydGVkCiAgICAqCiAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gYWJzIElmIHRoZSBmbGFnIGlzIHRydWUgaWYsIHRoZSBkZWcgcGFyYW1ldGVyIHdpbGwgYmUgY29uc2lkZXJlZCBhcwogICAgKiAgICAgYSBhYnNvbHV0ZSB2YWx1ZSBhbmQgcmVsYXRpdmUgb3RoZXJ3aXNlLgogICAgKiBAcmV0dXJuIHtudW18bnVsbH0gTWV0aG9kIHdpbGwgcmV0dXJuIGN1cnJlbnQgaW1hZ2UgYW5nbGUgaWYgY2FsbGVkIHdpdGhvdXQgYW55IGFyZ3VtZW50cy4KICAgICoqLwogICAgYW5nbGU6IGZ1bmN0aW9uKGRlZywgYWJzKSB7CiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHsgcmV0dXJuIHRoaXMuaW1nX29iamVjdC5hbmdsZSgpOyB9CgogICAgICAgIGlmIChkZWcgPCAtMjcwIHx8IGRlZyA+IDI3MCB8fCBkZWcgJSA5MCAhPT0gMCkgeyByZXR1cm47IH0KICAgICAgICBpZiAoIWFicykgeyBkZWcgKz0gdGhpcy5pbWdfb2JqZWN0LmFuZ2xlKCk7IH0KICAgICAgICBpZiAoZGVnIDwgMCkgeyBkZWcgKz0gMzYwOyB9CiAgICAgICAgaWYgKGRlZyA+PSAzNjApIHsgZGVnIC09IDM2MDsgfQoKICAgICAgICBpZiAoZGVnID09PSB0aGlzLmltZ19vYmplY3QuYW5nbGUoKSkgeyByZXR1cm47IH0KCiAgICAgICAgdGhpcy5pbWdfb2JqZWN0LmFuZ2xlKGRlZyk7CiAgICAgICAgLy90aGUgcm90YXRlIGJlaGF2aW9yIGlzIGRpZmZlcmVudCBpbiBhbGwgZWRpdG9ycy4gRm9yIG5vdyB3ZSAganVzdCBjZW50ZXIgdGhlCiAgICAgICAgLy9pbWFnZS4gSG93ZXZlciwgaXQgd2lsbCBiZSBiZXR0ZXIgdG8gdHJ5IHRvIGtlZXAgdGhlIHBvc2l0aW9uLgogICAgICAgIHRoaXMuY2VudGVyKCk7CiAgICAgICAgdGhpcy5fdHJpZ2dlcignYW5nbGUnLCAwLCB7IGFuZ2xlOiB0aGlzLmltZ19vYmplY3QuYW5nbGUoKSB9KTsKICAgIH0sCgogICAgLyoqCiAgICAqIGZpbmRzIGNsb3Nlc3QgbXVsdGlwbGllciByYXRlIGZvciB2YWx1ZQogICAgKiBiYXNpbmcgb24gem9vbV9iYXNlIGFuZCB6b29tX2RlbHRhIHZhbHVlcyBmcm9tIHNldHRpbmdzCiAgICAqIEBwYXJhbSBOdW1iZXIgdmFsdWUgem9vbSB2YWx1ZSB0byBleGFtaW5lCiAgICAqKi8KICAgIGZpbmRfY2xvc2VzdF96b29tX3JhdGU6IGZ1bmN0aW9uKHZhbHVlKQogICAgewogICAgICAgIGlmKHZhbHVlID09IHRoaXMub3B0aW9ucy56b29tX2Jhc2UpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGRpdih2YWwxLHZhbDIpIHsgcmV0dXJuIHZhbDEgLyB2YWwyIH07CiAgICAgICAgZnVuY3Rpb24gbXVsKHZhbDEsdmFsMikgeyByZXR1cm4gdmFsMSAqIHZhbDIgfTsKCiAgICAgICAgdmFyIGZ1bmMgPSAodmFsdWUgPiB0aGlzLm9wdGlvbnMuem9vbV9iYXNlKT9tdWw6ZGl2OwogICAgICAgIHZhciBzZ24gPSAodmFsdWUgPiB0aGlzLm9wdGlvbnMuem9vbV9iYXNlKT8xOi0xOwoKICAgICAgICB2YXIgbWx0cGxyID0gdGhpcy5vcHRpb25zLnpvb21fZGVsdGE7CiAgICAgICAgdmFyIHJhdGUgPSAxOwoKICAgICAgICB3aGlsZShNYXRoLmFicyhmdW5jKHRoaXMub3B0aW9ucy56b29tX2Jhc2UsIE1hdGgucG93KG1sdHBscixyYXRlKSkgLSB2YWx1ZSkgPgogICAgICAgICAgICAgIE1hdGguYWJzKGZ1bmModGhpcy5vcHRpb25zLnpvb21fYmFzZSwgTWF0aC5wb3cobWx0cGxyLHJhdGUrMSkpIC0gdmFsdWUpKQogICAgICAgIHsKICAgICAgICAgICAgcmF0ZSsrOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHNnbiAqIHJhdGU7CiAgICB9LAoKICAgIC8qIHVwZGF0ZSBzY2FsZSBpbmZvIGluIHRoZSBjb250YWluZXIgKi8KICAgIHVwZGF0ZV9zdGF0dXM6IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICBpZighdGhpcy5vcHRpb25zLnVpX2Rpc2FibGVkKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIHBlcmNlbnQgPSBNYXRoLnJvdW5kKDEwMCp0aGlzLmltZ19vYmplY3QuZGlzcGxheV9oZWlnaHQoKS90aGlzLmltZ19vYmplY3Qub3JpZ19oZWlnaHQoKSk7CiAgICAgICAgICAgIGlmKHBlcmNlbnQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRoaXMuem9vbV9vYmplY3QuaHRtbChwZXJjZW50ICsgIiUiKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0sCgogICAgLyoqCiAgICAgKiBHZXQgc29tZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaW1hZ2UuCiAgICAgKiAgICAgQ3VycmVudGx5IG9yaWdfKHdpZHRofGhlaWdodCksIGRpc3BsYXlfKHdpZHRofGhlaWdodCksIGFuZ2xlLCB6b29tIGFuZCBzcmMgcGFyYW1zIGFyZSBzdXBwb3J0ZWQuCiAgICAgKgogICAgICogIEBwYXJhbSB7c3RyaW5nfSBwYXJhbWV0ZXIgdG8gY2hlY2sKICAgICAqICBAcGFyYW0ge2Jvb2xlYW59IHdpdGhvdXRSb3RhdGlvbiBpZiBwYXJhbSBpcyBvcmlnX3dpZHRoIG9yIG9yaWdfaGVpZ2h0IGFuZCB0aGlzIGZsYWcgaXMgc2V0IHRvIHRydWUsCiAgICAgKiAgICAgIG1ldGhvZCB3aWxsIHJldHVybiBvcmlnaW5hbCBpbWFnZSB3aWR0aCB3aXRob3V0IGNvbnNpZGVyaW5nIHJvdGF0aW9uLgogICAgICoKICAgICAqLwogICAgaW5mbzogZnVuY3Rpb24ocGFyYW0sIHdpdGhvdXRSb3RhdGlvbikgewogICAgICAgIGlmICghcGFyYW0pIHsgcmV0dXJuOyB9CgogICAgICAgIHN3aXRjaCAocGFyYW0pIHsKICAgICAgICAgICAgY2FzZSAnb3JpZ193aWR0aCc6CiAgICAgICAgICAgIGNhc2UgJ29yaWdfaGVpZ2h0JzoKICAgICAgICAgICAgICAgIGlmICh3aXRob3V0Um90YXRpb24pIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRoaXMuaW1nX29iamVjdC5hbmdsZSgpICUgMTgwID09PSAwID8gdGhpcy5pbWdfb2JqZWN0W3BhcmFtXSgpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtID09PSAnb3JpZ193aWR0aCcgPyB0aGlzLmltZ19vYmplY3Qub3JpZ19oZWlnaHQoKSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbWdfb2JqZWN0Lm9yaWdfd2lkdGgoKSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmltZ19vYmplY3RbcGFyYW1dKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIGNhc2UgJ2Rpc3BsYXlfd2lkdGgnOgogICAgICAgICAgICBjYXNlICdkaXNwbGF5X2hlaWdodCc6CiAgICAgICAgICAgIGNhc2UgJ2FuZ2xlJzoKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmltZ19vYmplY3RbcGFyYW1dKCk7CiAgICAgICAgICAgIGNhc2UgJ3pvb20nOgogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudF96b29tOwogICAgICAgICAgICBjYXNlICdzcmMnOgogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW1nX29iamVjdC5vYmplY3QoKS5hdHRyKCdzcmMnKTsKICAgICAgICAgICAgY2FzZSAnY29vcmRzJzoKICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgeDogdGhpcy5pbWdfb2JqZWN0LngoKSwKICAgICAgICAgICAgICAgICAgICB5OiB0aGlzLmltZ19vYmplY3QueSgpCiAgICAgICAgICAgICAgICB9OwogICAgICAgIH0KICAgIH0sCgogICAgLyoqCiAgICAqICAgY2FsbGJhY2sgZm9yIGhhbmRsaW5nIG1vdXNkb3duIGV2ZW50IHRvIHN0YXJ0IGRyYWdnaW5nIGltYWdlCiAgICAqKi8KICAgIF9tb3VzZVN0YXJ0OiBmdW5jdGlvbiggZSApCiAgICB7CiAgICAgICAgJC51aS5tb3VzZS5wcm90b3R5cGUuX21vdXNlU3RhcnQuY2FsbCh0aGlzLCBlKTsKICAgICAgICBpZiAodGhpcy5fdHJpZ2dlcignb25TdGFydERyYWcnLCAwLCB0aGlzLl9nZXRNb3VzZUNvb3JkcyhlKSkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIC8qIHN0YXJ0IGRyYWcgZXZlbnQqLwogICAgICAgIHRoaXMuY29udGFpbmVyLmFkZENsYXNzKCJpdmlld2VyX2RyYWdfY3Vyc29yIik7CgogICAgICAgIC8vIzEwOiBmaXggbW92ZW1lbnQgcXVpcmtzIGZvciBpcGFkCiAgICAgICAgdGhpcy5fZHJhZ0luaXRpYWxpemVkID0gIShlLm9yaWdpbmFsRXZlbnQuY2hhbmdlZFRvdWNoZXMgJiYgZS5vcmlnaW5hbEV2ZW50LmNoYW5nZWRUb3VjaGVzLmxlbmd0aD09MSk7CgogICAgICAgIHRoaXMuZHggPSBlLnBhZ2VYIC0gdGhpcy5pbWdfb2JqZWN0LngoKTsKICAgICAgICB0aGlzLmR5ID0gZS5wYWdlWSAtIHRoaXMuaW1nX29iamVjdC55KCk7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9LAoKICAgIF9tb3VzZUNhcHR1cmU6IGZ1bmN0aW9uKCBlICkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfSwKCiAgICAvKioKICAgICAqIEhhbmRsZSBtb3VzZSBtb3ZlIGlmIG5lZWRlZC4gVXNlciBjYW4gYXZvaWQgdXNpbmcgdGhpcyBjYWxsYmFjaywgYmVjYXVzZQogICAgICogICAgaGUgY2FuIGdldCB0aGUgc2FtZSBpbmZvcm1hdGlvbiB0aHJvdWdoIHB1YmxpYyBtZXRob2RzLgogICAgICogIEBwYXJhbSB7alF1ZXJ5LkV2ZW50fSBlCiAgICAgKi8KICAgIF9oYW5kbGVNb3VzZU1vdmU6IGZ1bmN0aW9uKGUpIHsKICAgICAgICB0aGlzLl90cmlnZ2VyKCdvbk1vdXNlTW92ZScsIGUsIHRoaXMuX2dldE1vdXNlQ29vcmRzKGUpKTsKICAgIH0sCgogICAgLyoqCiAgICAqICAgY2FsbGJhY2sgZm9yIGhhbmRsaW5nIG1vdXNlbW92ZSBldmVudCB0byBkcmFnIGltYWdlCiAgICAqKi8KICAgIF9tb3VzZURyYWc6IGZ1bmN0aW9uKGUpCiAgICB7CiAgICAgICAgJC51aS5tb3VzZS5wcm90b3R5cGUuX21vdXNlRHJhZy5jYWxsKHRoaXMsIGUpOwoKICAgICAgICAvLyMxMDogaW1pdGF0ZSBtb3VzZVN0YXJ0LCBiZWNhdXNlIHdlIGNhbiBnZXQgaGVyZSB3aXRob3V0IGl0IG9uIGlQYWQgZm9yIHNvbWUgcmVhc29uCiAgICAgICAgaWYgKCF0aGlzLl9kcmFnSW5pdGlhbGl6ZWQpIHsKICAgICAgICAgICAgdGhpcy5keCA9IGUucGFnZVggLSB0aGlzLmltZ19vYmplY3QueCgpOwogICAgICAgICAgICB0aGlzLmR5ID0gZS5wYWdlWSAtIHRoaXMuaW1nX29iamVjdC55KCk7CiAgICAgICAgICAgIHRoaXMuX2RyYWdJbml0aWFsaXplZCA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICB2YXIgbHRvcCA9ICBlLnBhZ2VZIC0gdGhpcy5keTsKICAgICAgICB2YXIgbGxlZnQgPSBlLnBhZ2VYIC0gdGhpcy5keDsKCiAgICAgICAgdGhpcy5zZXRDb29yZHMobGxlZnQsIGx0b3ApOwogICAgICAgIHRoaXMuX3RyaWdnZXIoJ29uRHJhZycsIGUsIHRoaXMuX2dldE1vdXNlQ29vcmRzKGUpKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9LAoKICAgIC8qKgogICAgKiAgIGNhbGxiYWNrIGZvciBoYW5kbGluZyBzdG9wIGRyYWcKICAgICoqLwogICAgX21vdXNlU3RvcDogZnVuY3Rpb24oZSkKICAgIHsKICAgICAgICAkLnVpLm1vdXNlLnByb3RvdHlwZS5fbW91c2VTdG9wLmNhbGwodGhpcywgZSk7CiAgICAgICAgdGhpcy5jb250YWluZXIucmVtb3ZlQ2xhc3MoIml2aWV3ZXJfZHJhZ19jdXJzb3IiKTsKICAgICAgICB0aGlzLl90cmlnZ2VyKCdvblN0b3BEcmFnJywgMCwgdGhpcy5fZ2V0TW91c2VDb29yZHMoZSkpOwogICAgfSwKCiAgICBfY2xpY2s6IGZ1bmN0aW9uKGUpCiAgICB7CiAgICAgICAgdGhpcy5fdHJpZ2dlcignb25DbGljaycsIDAsIHRoaXMuX2dldE1vdXNlQ29vcmRzKGUpKTsKICAgIH0sCgogICAgLyoqCiAgICAqICAgY3JlYXRlIHpvb20gYnV0dG9ucyBpbmZvIGJveAogICAgKiovCiAgICBjcmVhdGV1aTogZnVuY3Rpb24oKQogICAgewogICAgICAgIHZhciBtZT10aGlzOwoKICAgICAgICAkKCI8ZGl2PiIsIHsgJ2NsYXNzJzogIml2aWV3ZXJfem9vbV9pbiBpdmlld2VyX2NvbW1vbiBpdmlld2VyX2J1dHRvbiJ9KQogICAgICAgICAgICAgICAgICAgIC5iaW5kKCdtb3VzZWRvd24gdG91Y2hzdGFydCcsZnVuY3Rpb24oKXttZS56b29tX2J5KDEpOyByZXR1cm4gZmFsc2U7fSkKICAgICAgICAgICAgICAgICAgICAuYXBwZW5kVG8odGhpcy5jb250YWluZXIpOwoKICAgICAgICAkKCI8ZGl2PiIsIHsgJ2NsYXNzJzogIml2aWV3ZXJfem9vbV9vdXQgaXZpZXdlcl9jb21tb24gaXZpZXdlcl9idXR0b24ifSkKICAgICAgICAgICAgICAgICAgICAuYmluZCgnbW91c2Vkb3duIHRvdWNoc3RhcnQnLGZ1bmN0aW9uKCl7bWUuem9vbV9ieSgtIDEpOyByZXR1cm4gZmFsc2U7fSkKICAgICAgICAgICAgICAgICAgICAuYXBwZW5kVG8odGhpcy5jb250YWluZXIpOwoKICAgICAgICAkKCI8ZGl2PiIsIHsgJ2NsYXNzJzogIml2aWV3ZXJfem9vbV96ZXJvIGl2aWV3ZXJfY29tbW9uIGl2aWV3ZXJfYnV0dG9uIn0pCiAgICAgICAgICAgICAgICAgICAgLmJpbmQoJ21vdXNlZG93biB0b3VjaHN0YXJ0JyxmdW5jdGlvbigpe21lLnNldF96b29tKDEwMCk7IHJldHVybiBmYWxzZTt9KQogICAgICAgICAgICAgICAgICAgIC5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcik7CgogICAgICAgICQoIjxkaXY+IiwgeyAnY2xhc3MnOiAiaXZpZXdlcl96b29tX2ZpdCBpdmlld2VyX2NvbW1vbiBpdmlld2VyX2J1dHRvbiJ9KQogICAgICAgICAgICAgICAgICAgIC5iaW5kKCdtb3VzZWRvd24gdG91Y2hzdGFydCcsZnVuY3Rpb24oKXttZS5maXQodGhpcyk7IHJldHVybiBmYWxzZTt9KQogICAgICAgICAgICAgICAgICAgIC5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcik7CgogICAgICAgIHRoaXMuem9vbV9vYmplY3QgPSAkKCI8ZGl2PiIpLmFkZENsYXNzKCJpdmlld2VyX3pvb21fc3RhdHVzIGl2aWV3ZXJfY29tbW9uIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKTsKCiAgICAgICAgJCgiPGRpdj4iLCB7ICdjbGFzcyc6ICJpdmlld2VyX3JvdGF0ZV9sZWZ0IGl2aWV3ZXJfY29tbW9uIGl2aWV3ZXJfYnV0dG9uIn0pCiAgICAgICAgICAgICAgICAgICAgLmJpbmQoJ21vdXNlZG93biB0b3VjaHN0YXJ0JyxmdW5jdGlvbigpe21lLmFuZ2xlKC05MCk7IHJldHVybiBmYWxzZTt9KQogICAgICAgICAgICAgICAgICAgIC5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcik7CgogICAgICAgICQoIjxkaXY+IiwgeyAnY2xhc3MnOiAiaXZpZXdlcl9yb3RhdGVfcmlnaHQgaXZpZXdlcl9jb21tb24gaXZpZXdlcl9idXR0b24iIH0pCiAgICAgICAgICAgICAgICAgICAgLmJpbmQoJ21vdXNlZG93biB0b3VjaHN0YXJ0JyxmdW5jdGlvbigpe21lLmFuZ2xlKDkwKTsgcmV0dXJuIGZhbHNlO30pCiAgICAgICAgICAgICAgICAgICAgLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKTsKCiAgICAgICAgdGhpcy51cGRhdGVfc3RhdHVzKCk7IC8vaW5pdGlhbCBzdGF0dXMgdXBkYXRlCiAgICB9Cgp9ICk7CgovKioKICogQGNsYXNzICQudWkuaXZpZXdlci5JbWFnZU9iamVjdCBDbGFzcyByZXByZXNlbnRzIGltYWdlIGFuZCBwcm92aWRlcyBwdWJsaWMgYXBpIHdpdGhvdXQKICogICAgIGV4dGVuZGluZyBpbWFnZSBwcm90b3R5cGUuCiAqIEBjb25zdHJ1Y3RvcgogKiBAcGFyYW0ge2Jvb2xlYW59IGRvX2FuaW0gRG8gd2Ugd2FudCB0byBhbmltYXRlIGltYWdlIG9uIGRpbWVuc2lvbiBjaGFuZ2VzPwogKi8KJC51aS5pdmlld2VyLkltYWdlT2JqZWN0ID0gZnVuY3Rpb24oZG9fYW5pbSkgewogICAgdGhpcy5faW1nID0gJCgiPGltZz4iKQogICAgICAgICAgICAvL3RoaXMgaXMgbmVlZGVkLCBiZWNhdXNlIGNocm9taXVtIHNldHMgdGhlbSBhdXRvIG90aGVyd2lzZQogICAgICAgICAgICAuY3NzKHsgcG9zaXRpb246ICJhYnNvbHV0ZSIsIHRvcCA6IjBweCIsIGxlZnQ6ICIwcHgifSk7CgogICAgdGhpcy5fbG9hZGVkID0gZmFsc2U7CiAgICB0aGlzLl9zd2FwRGltZW5zaW9ucyA9IGZhbHNlOwogICAgdGhpcy5fZG9fYW5pbSA9IGRvX2FuaW0gfHwgZmFsc2U7CiAgICB0aGlzLngoMCwgdHJ1ZSk7CiAgICB0aGlzLnkoMCwgdHJ1ZSk7CiAgICB0aGlzLmFuZ2xlKDApOwp9OwoKCi8qKiBAbGVuZHMgJC51aS5pdmlld2VyLkltYWdlT2JqZWN0LnByb3RvdHlwZSAqLwooZnVuY3Rpb24oKSB7CiAgICAvKioKICAgICAqIFJlc3RvcmUgaW5pdGlhbCBvYmplY3Qgc3RhdGUuCiAgICAgKgogICAgICogQHBhcmFtIHtudW1iZXJ9IHcgSW1hZ2Ugd2lkdGguCiAgICAgKiBAcGFyYW0ge251bWJlcn0gaCBJbWFnZSBoZWlnaHQuCiAgICAgKi8KICAgIHRoaXMuX3Jlc2V0ID0gZnVuY3Rpb24odywgaCkgewogICAgICAgIHRoaXMuX2FuZ2xlID0gMDsKICAgICAgICB0aGlzLl9zd2FwRGltZW5zaW9ucyA9IGZhbHNlOwogICAgICAgIHRoaXMueCgwKTsKICAgICAgICB0aGlzLnkoMCk7CgogICAgICAgIHRoaXMub3JpZ193aWR0aCh3KTsKICAgICAgICB0aGlzLm9yaWdfaGVpZ2h0KGgpOwogICAgICAgIHRoaXMuZGlzcGxheV93aWR0aCh3KTsKICAgICAgICB0aGlzLmRpc3BsYXlfaGVpZ2h0KGgpOwogICAgfTsKCiAgICAvKioKICAgICAqIENoZWNrIGlmIGltYWdlIGlzIGxvYWRlZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICB0aGlzLmxvYWRlZCA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5fbG9hZGVkOyB9OwoKICAgIC8qKgogICAgICogTG9hZCBpbWFnZS4KICAgICAqCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3JjIEltYWdlIHVybC4KICAgICAqIEBwYXJhbSB7RnVuY3Rpb249fSBsb2FkZWQgRnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgb24gaW1hZ2UgbG9hZC4KICAgICAqLwogICAgdGhpcy5sb2FkID0gZnVuY3Rpb24oc3JjLCBsb2FkZWQsIGVycm9yKSB7CiAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICBsb2FkZWQgPSBsb2FkZWQgfHwgalF1ZXJ5Lm5vb3A7CiAgICAgICAgdGhpcy5fbG9hZGVkID0gZmFsc2U7CgogICAgICAgIC8vSWYgd2UgYXNzaWduIG5ldyBpbWFnZSB1cmwgdG8gdGhlIHRoaXMuX2ltZyBJRTkgZmlyZXMgb25sb2FkIGV2ZW50IGFuZCBpbWFnZSB3aWR0aCBhbmQKICAgICAgICAvL2hlaWdodCBhcmUgc2V0IHRvIHplcm8uIFNvLCB3ZSBjcmVhdGUgYW5vdGhlciBpbWFnZSBvYmplY3QgYW5kIGxvYWQgaW1hZ2UgdGhyb3VnaCBpdC4KICAgICAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CiAgICAgICAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBzZWxmLl9sb2FkZWQgPSB0cnVlOwogICAgICAgICAgICBzZWxmLl9yZXNldCh0aGlzLndpZHRoLCB0aGlzLmhlaWdodCk7CgogICAgICAgICAgICBzZWxmLl9pbWcKICAgICAgICAgICAgICAgIC5yZW1vdmVBdHRyKCJ3aWR0aCIpCiAgICAgICAgICAgICAgICAucmVtb3ZlQXR0cigiaGVpZ2h0IikKICAgICAgICAgICAgICAgIC5yZW1vdmVBdHRyKCJzdHlsZSIpCiAgICAgICAgICAgICAgICAvL21heC13aWR0aCBpcyByZXNldCwgYmVjYXVzZSBwbHVnaW4gYnJlYWtzIGluIHRoZSB0d2l0dGVyIGJvb3RzdHJhcCBvdGhlcndpc2UKICAgICAgICAgICAgICAgIC5jc3MoeyBwb3NpdGlvbjogImFic29sdXRlIiwgdG9wIDoiMHB4IiwgbGVmdDogIjBweCIsIG1heFdpZHRoOiAibm9uZSJ9KQoKICAgICAgICAgICAgc2VsZi5faW1nWzBdLnNyYyA9IHNyYzsKICAgICAgICAgICAgbG9hZGVkKCk7CiAgICAgICAgfTsKCiAgICAgICAgaW1nLm9uZXJyb3IgPSBlcnJvcjsKCiAgICAgICAgLy93ZSBuZWVkIHRoaXMgYmVjYXVzZSBzb21ldGltZXMgaW50ZXJuZXQgZXhwbG9yZXIgOCBmaXJlcyBvbmxvYWQgZXZlbnQKICAgICAgICAvL3JpZ2h0IGFmdGVyIGFzc2lnbm1lbnQgKHN5bmNocm9ub3VzbHkpCiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgaW1nLnNyYyA9IHNyYzsKICAgICAgICB9LCAwKTsKCiAgICAgICAgdGhpcy5hbmdsZSgwKTsKICAgIH07CgogICAgdGhpcy5fZGltZW5zaW9uID0gZnVuY3Rpb24ocHJlZml4LCBuYW1lKSB7CiAgICAgICAgdmFyIGhvcml6ID0gJ18nICsgcHJlZml4ICsgJ18nICsgbmFtZSwKICAgICAgICAgICAgdmVydCA9ICdfJyArIHByZWZpeCArICdfJyArIChuYW1lID09PSAnaGVpZ2h0JyA/ICd3aWR0aCcgOiAnaGVpZ2h0Jyk7CiAgICAgICAgcmV0dXJuIHNldHRlcihmdW5jdGlvbih2YWwpIHsKICAgICAgICAgICAgICAgIHRoaXNbdGhpcy5fc3dhcERpbWVuc2lvbnMgPyBob3JpejogdmVydF0gPSB2YWw7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNbdGhpcy5fc3dhcERpbWVuc2lvbnMgPyBob3JpejogdmVydF07CiAgICAgICAgICAgIH0pOwogICAgfTsKCiAgICAvKioKICAgICAqIEdldHRlcnMgYW5kIHNldHRlciBmb3IgY29tbW9uIGltYWdlIGRpbWVuc2lvbnMuCiAgICAgKiAgICBkaXNwbGF5XyBtZWFucyByZWFsIGltYWdlIHRhZyBkaW1lbnNpb25zCiAgICAgKiAgICBvcmlnXyBtZWFucyBwaHlzaWNhbCBpbWFnZSBkaW1lbnNpb25zLgogICAgICogIE5vdGUsIHRoYXQgZGltZW5zaW9ucyBhcmUgc3dhcHBlZCBpZiBpbWFnZSBpcyByb3RhdGVkLiBJdCBuZWNlc3NhcnksCiAgICAgKiAgYmVjYXVzZSBhcyBsaXR0bGUgYXMgcG9zc2libGUgY29kZSBzaG91bGQga25vdyBhYm91dCByb3RhdGlvbi4KICAgICAqLwogICAgdGhpcy5kaXNwbGF5X3dpZHRoID0gdGhpcy5fZGltZW5zaW9uKCdkaXNwbGF5JywgJ3dpZHRoJyksCiAgICB0aGlzLmRpc3BsYXlfaGVpZ2h0ID0gdGhpcy5fZGltZW5zaW9uKCdkaXNwbGF5JywgJ2hlaWdodCcpLAogICAgdGhpcy5kaXNwbGF5X2RpZmYgPSBmdW5jdGlvbigpIHsgcmV0dXJuIE1hdGguZmxvb3IoIHRoaXMuZGlzcGxheV93aWR0aCgpIC0gdGhpcy5kaXNwbGF5X2hlaWdodCgpICkgfTsKICAgIHRoaXMub3JpZ193aWR0aCA9IHRoaXMuX2RpbWVuc2lvbignb3JpZycsICd3aWR0aCcpLAogICAgdGhpcy5vcmlnX2hlaWdodCA9IHRoaXMuX2RpbWVuc2lvbignb3JpZycsICdoZWlnaHQnKSwKCiAgICAvKioKICAgICAqIFNldHRlciBmb3IgIFggY29vcmRpbmF0ZS4gSWYgaW1hZ2UgaXMgcm90YXRlZCB3ZSBuZWVkIHRvIGFkZGl0aW9uYWx5IHNoaWZ0IGFuCiAgICAgKiAgICAgaW1hZ2UgdG8gbWFwIGltYWdlIGNvb3JkaW5hdGUgdG8gdGhlIHZpc3VhbCBwb3NpdGlvbi4KICAgICAqCiAgICAgKiBAcGFyYW0ge251bWJlcn0gdmFsIENvb3JkaW5hdGUgdmFsdWUuCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHNraXBDc3MgSWYgdHJ1ZSwgd2Ugb25seSBzZXQgdGhlIHZhbHVlIGFuZCBkbyBub3QgdG91Y2ggdGhlIGRvbS4KICAgICAqLwogICAgdGhpcy54ID0gc2V0dGVyKGZ1bmN0aW9uKHZhbCwgc2tpcENzcykgewogICAgICAgICAgICB0aGlzLl94ID0gdmFsOwogICAgICAgICAgICBpZiAoIXNraXBDc3MpIHsKICAgICAgICAgICAgICAgIHRoaXMuX2ZpbmlzaEFuaW1hdGlvbigpOwogICAgICAgICAgICAgICAgdGhpcy5faW1nLmNzcygibGVmdCIsdGhpcy5feCArICh0aGlzLl9zd2FwRGltZW5zaW9ucyA/IHRoaXMuZGlzcGxheV9kaWZmKCkgLyAyIDogMCkgKyAicHgiKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl94OwogICAgICAgIH0pOwoKICAgIC8qKgogICAgICogU2V0dGVyIGZvciAgWSBjb29yZGluYXRlLiBJZiBpbWFnZSBpcyByb3RhdGVkIHdlIG5lZWQgdG8gYWRkaXRpb25hbHkgc2hpZnQgYW4KICAgICAqICAgICBpbWFnZSB0byBtYXAgaW1hZ2UgY29vcmRpbmF0ZSB0byB0aGUgdmlzdWFsIHBvc2l0aW9uLgogICAgICoKICAgICAqIEBwYXJhbSB7bnVtYmVyfSB2YWwgQ29vcmRpbmF0ZSB2YWx1ZS4KICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2tpcENzcyBJZiB0cnVlLCB3ZSBvbmx5IHNldCB0aGUgdmFsdWUgYW5kIGRvIG5vdCB0b3VjaCB0aGUgZG9tLgogICAgICovCiAgICB0aGlzLnkgPSBzZXR0ZXIoZnVuY3Rpb24odmFsLCBza2lwQ3NzKSB7CiAgICAgICAgICAgIHRoaXMuX3kgPSB2YWw7CiAgICAgICAgICAgIGlmICghc2tpcENzcykgewogICAgICAgICAgICAgICAgdGhpcy5fZmluaXNoQW5pbWF0aW9uKCk7CiAgICAgICAgICAgICAgICB0aGlzLl9pbWcuY3NzKCJ0b3AiLHRoaXMuX3kgLSAodGhpcy5fc3dhcERpbWVuc2lvbnMgPyB0aGlzLmRpc3BsYXlfZGlmZigpIC8gMiA6IDApICsgInB4Iik7CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl95OwogICAgICAgfSk7CgogICAgLyoqCiAgICAgKiBQZXJmb3JtIGltYWdlIHJvdGF0aW9uLgogICAgICoKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBkZWcgQWJzb2x1dGUgaW1hZ2UgYW5nbGUuIFRoZSBtZXRob2Qgd2lsbCB3b3JrIHdpdGggdmFsdWVzIDAsIDkwLCAxODAsIDI3MCBkZWdyZWVzLgogICAgICovCiAgICB0aGlzLmFuZ2xlID0gc2V0dGVyKGZ1bmN0aW9uKGRlZykgewogICAgICAgICAgICB2YXIgcHJldlN3YXAgPSB0aGlzLl9zd2FwRGltZW5zaW9uczsKCiAgICAgICAgICAgIHRoaXMuX2FuZ2xlID0gZGVnOwogICAgICAgICAgICB0aGlzLl9zd2FwRGltZW5zaW9ucyA9IGRlZyAlIDE4MCAhPT0gMDsKCiAgICAgICAgICAgIGlmIChwcmV2U3dhcCAhPT0gdGhpcy5fc3dhcERpbWVuc2lvbnMpIHsKICAgICAgICAgICAgICAgIHZhciB2ZXJ0aWNhbE1vZCA9IHRoaXMuX3N3YXBEaW1lbnNpb25zID8gLTEgOiAxOwogICAgICAgICAgICAgICAgdGhpcy54KHRoaXMueCgpIC0gdmVydGljYWxNb2QgKiB0aGlzLmRpc3BsYXlfZGlmZigpIC8gMiwgdHJ1ZSk7CiAgICAgICAgICAgICAgICB0aGlzLnkodGhpcy55KCkgKyB2ZXJ0aWNhbE1vZCAqIHRoaXMuZGlzcGxheV9kaWZmKCkgLyAyLCB0cnVlKTsKICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIHZhciBjc3NWYWwgPSAncm90YXRlKCcgKyBkZWcgKyAnZGVnKScsCiAgICAgICAgICAgICAgICBpbWcgPSB0aGlzLl9pbWc7CgogICAgICAgICAgICBqUXVlcnkuZWFjaChbJycsICctd2Via2l0LScsICctbW96LScsICctby0nLCAnLW1zLSddLCBmdW5jdGlvbihpLCBwcmVmaXgpIHsKICAgICAgICAgICAgICAgIGltZy5jc3MocHJlZml4ICsgJ3RyYW5zZm9ybScsIGNzc1ZhbCk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgaWYgKHVzZUllVHJhbnNmb3JtcykgewogICAgICAgICAgICAgICAgalF1ZXJ5LmVhY2goWyctbXMtJywgJyddLCBmdW5jdGlvbihpLCBwcmVmaXgpIHsKICAgICAgICAgICAgICAgICAgICBpbWcuY3NzKHByZWZpeCArICdmaWx0ZXInLCBpZVRyYW5zZm9ybXNbZGVnXS5maWx0ZXIpOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgaW1nLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogaWVUcmFuc2Zvcm1zW2RlZ10ubWFyZ2luTGVmdCAqIHRoaXMuZGlzcGxheV9kaWZmKCkgLyAyLAogICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogaWVUcmFuc2Zvcm1zW2RlZ10ubWFyZ2luVG9wICogdGhpcy5kaXNwbGF5X2RpZmYoKSAvIDIKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgIGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5fYW5nbGU7IH0pOwoKICAgIC8qKgogICAgICogTWFwIHBvaW50IGluIHRoZSBjb250YWluZXIgY29vcmRpbmF0ZXMgdG8gdGhlIHBvaW50IGluIGltYWdlIGNvb3JkaW5hdGVzLgogICAgICogICAgIFlvdSB3aWxsIGdldCBjb29yZGluYXRlcyBvZiBwb2ludCBvbiBpbWFnZSB3aXRoIHJlc3BlY3QgdG8gcm90YXRpb24sCiAgICAgKiAgICAgYnV0IHdpbGwgYmUgc2V0IGFzIGlmIGltYWdlIHdhcyBub3Qgcm90YXRlZC4KICAgICAqICAgICBTbywgaWYgaW1hZ2Ugd2FzIHJvdGF0ZWQgOTAgZGVncmVlcywgaXQncyAoMCwwKSBwb2ludCB3aWxsIGJlIG9uIHRoZQogICAgICogICAgIHRvcCByaWdodCBjb3JuZXIuCiAgICAgKgogICAgICogQHBhcmFtIHt7eDogbnVtYmVyLCB5OiBudW1iZXJ9fSBwb2ludCBQb2ludCBpbiBjb250YWluZXIgY29vcmRpbmF0ZXMuCiAgICAgKiBAcmV0dXJuICB7e3g6IG51bWJlciwgeTogbnVtYmVyfX0KICAgICAqLwogICAgdGhpcy50b09yaWdpbmFsQ29vcmRzID0gZnVuY3Rpb24ocG9pbnQpIHsKICAgICAgICBzd2l0Y2ggKHRoaXMuYW5nbGUoKSkgewogICAgICAgICAgICBjYXNlIDA6IHJldHVybiB7IHg6IHBvaW50LngsIHk6IHBvaW50LnkgfQogICAgICAgICAgICBjYXNlIDkwOiByZXR1cm4geyB4OiBwb2ludC55LCB5OiB0aGlzLmRpc3BsYXlfd2lkdGgoKSAtIHBvaW50LnggfQogICAgICAgICAgICBjYXNlIDE4MDogcmV0dXJuIHsgeDogdGhpcy5kaXNwbGF5X3dpZHRoKCkgLSBwb2ludC54LCB5OiB0aGlzLmRpc3BsYXlfaGVpZ2h0KCkgLSBwb2ludC55IH0KICAgICAgICAgICAgY2FzZSAyNzA6IHJldHVybiB7IHg6IHRoaXMuZGlzcGxheV9oZWlnaHQoKSAtIHBvaW50LnksIHk6IHBvaW50LnggfQogICAgICAgIH0KICAgIH07CgogICAgLyoqCiAgICAgKiBNYXAgcG9pbnQgaW4gdGhlIGltYWdlIGNvb3JkaW5hdGVzIHRvIHRoZSBwb2ludCBpbiBjb250YWluZXIgY29vcmRpbmF0ZXMuCiAgICAgKiAgICAgWW91IHdpbGwgZ2V0IGNvb3JkaW5hdGVzIG9mIHBvaW50IG9uIGNvbnRhaW5lciB3aXRoIHJlc3BlY3QgdG8gcm90YXRpb24uCiAgICAgKiAgICAgTm90ZSwgaWYgaW1hZ2Ugd2FzIHJvdGF0ZWQgOTAgZGVncmVlcywgaXQncyAoMCwwKSBwb2ludCB3aWxsIGJlIG9uIHRoZQogICAgICogICAgIHRvcCByaWdodCBjb3JuZXIuCiAgICAgKgogICAgICogQHBhcmFtIHt7eDogbnVtYmVyLCB5OiBudW1iZXJ9fSBwb2ludCBQb2ludCBpbiBjb250YWluZXIgY29vcmRpbmF0ZXMuCiAgICAgKiBAcmV0dXJuICB7e3g6IG51bWJlciwgeTogbnVtYmVyfX0KICAgICAqLwogICAgdGhpcy50b1JlYWxDb29yZHMgPSBmdW5jdGlvbihwb2ludCkgewogICAgICAgIHN3aXRjaCAodGhpcy5hbmdsZSgpKSB7CiAgICAgICAgICAgIGNhc2UgMDogcmV0dXJuIHsgeDogdGhpcy54KCkgKyBwb2ludC54LCB5OiB0aGlzLnkoKSArIHBvaW50LnkgfQogICAgICAgICAgICBjYXNlIDkwOiByZXR1cm4geyB4OiB0aGlzLngoKSArIHRoaXMuZGlzcGxheV93aWR0aCgpIC0gcG9pbnQueSwgeTogdGhpcy55KCkgKyBwb2ludC54fQogICAgICAgICAgICBjYXNlIDE4MDogcmV0dXJuIHsgeDogdGhpcy54KCkgKyB0aGlzLmRpc3BsYXlfd2lkdGgoKSAtIHBvaW50LngsIHk6IHRoaXMueSgpICsgdGhpcy5kaXNwbGF5X2hlaWdodCgpIC0gcG9pbnQueX0KICAgICAgICAgICAgY2FzZSAyNzA6IHJldHVybiB7IHg6IHRoaXMueCgpICsgcG9pbnQueSwgeTogdGhpcy55KCkgKyB0aGlzLmRpc3BsYXlfaGVpZ2h0KCkgLSBwb2ludC54fQogICAgICAgIH0KICAgIH07CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHtqUXVlcnl9IFJldHVybiBpbWFnZSBub2RlLiB0aGlzIGlzIG5lZWRlZCB0byBhZGQgZXZlbnQgaGFuZGxlcnMuCiAgICAgKi8KICAgIHRoaXMub2JqZWN0ID0gc2V0dGVyKGpRdWVyeS5ub29wLAogICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuX2ltZzsgfSk7CgogICAgLyoqCiAgICAgKiBDaGFuZ2UgaW1hZ2UgcHJvcGVydGllcy4KICAgICAqCiAgICAgKiBAcGFyYW0ge251bWJlcn0gZGlzcF93IERpc3BsYXkgd2lkdGg7CiAgICAgKiBAcGFyYW0ge251bWJlcn0gZGlzcF9oIERpc3BsYXkgaGVpZ2h0OwogICAgICogQHBhcmFtIHtudW1iZXJ9IHgKICAgICAqIEBwYXJhbSB7bnVtYmVyfSB5CiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHNraXBfYW5pbWF0aW9uIElmIHRydWUsIHRoZSBhbmltYXRpb24gd2lsbCBiZSBza2lwZWQgZGVzcGl0ZSB0aGUKICAgICAqICAgICB2YWx1ZSBzZXQgaW4gY29uc3RydWN0b3IuCiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9uPX0gY29tcGxldGUgQ2FsbCBiYWNrIHdpbGwgYmUgZmlyZWQgd2hlbiB6b29tIHdpbGwgYmUgY29tcGxldGUuCiAgICAgKi8KICAgIHRoaXMuc2V0SW1hZ2VQcm9wcyA9IGZ1bmN0aW9uKGRpc3BfdywgZGlzcF9oLCB4LCB5LCBza2lwX2FuaW1hdGlvbiwgY29tcGxldGUpIHsKICAgICAgICBjb21wbGV0ZSA9IGNvbXBsZXRlIHx8IGpRdWVyeS5ub29wOwoKICAgICAgICB0aGlzLmRpc3BsYXlfd2lkdGgoZGlzcF93KTsKICAgICAgICB0aGlzLmRpc3BsYXlfaGVpZ2h0KGRpc3BfaCk7CiAgICAgICAgdGhpcy54KHgsIHRydWUpOwogICAgICAgIHRoaXMueSh5LCB0cnVlKTsKCiAgICAgICAgdmFyIHcgPSB0aGlzLl9zd2FwRGltZW5zaW9ucyA/IGRpc3BfaCA6IGRpc3BfdzsKICAgICAgICB2YXIgaCA9IHRoaXMuX3N3YXBEaW1lbnNpb25zID8gZGlzcF93IDogZGlzcF9oOwoKICAgICAgICB2YXIgcGFyYW1zID0gewogICAgICAgICAgICB3aWR0aDogdywKICAgICAgICAgICAgaGVpZ2h0OiBoLAogICAgICAgICAgICB0b3A6IHkgLSAodGhpcy5fc3dhcERpbWVuc2lvbnMgPyB0aGlzLmRpc3BsYXlfZGlmZigpIC8gMiA6IDApICsgInB4IiwKICAgICAgICAgICAgbGVmdDogeCArICh0aGlzLl9zd2FwRGltZW5zaW9ucyA/IHRoaXMuZGlzcGxheV9kaWZmKCkgLyAyIDogMCkgKyAicHgiCiAgICAgICAgfTsKCiAgICAgICAgaWYgKHVzZUllVHJhbnNmb3JtcykgewogICAgICAgICAgICBqUXVlcnkuZXh0ZW5kKHBhcmFtcywgewogICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogaWVUcmFuc2Zvcm1zW3RoaXMuYW5nbGUoKV0ubWFyZ2luTGVmdCAqIHRoaXMuZGlzcGxheV9kaWZmKCkgLyAyLAogICAgICAgICAgICAgICAgbWFyZ2luVG9wOiBpZVRyYW5zZm9ybXNbdGhpcy5hbmdsZSgpXS5tYXJnaW5Ub3AgKiB0aGlzLmRpc3BsYXlfZGlmZigpIC8gMgogICAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIHZhciBzd2FwRGltcyA9IHRoaXMuX3N3YXBEaW1lbnNpb25zLAogICAgICAgICAgICBpbWcgPSB0aGlzLl9pbWc7CgogICAgICAgIC8vaGVyZSB3ZSBjb21lOiBhbm90aGVyIElFIG9kZG5lc3MuIElmIGltYWdlIGlzIHJvdGF0ZWQgOTAgZGVncmVlcyB3aXRoIGEgZmlsdGVyLCB0aGFuCiAgICAgICAgLy93aWR0aCBhbmQgaGVpZ2h0IGdldHRlcnMgcmV0dXJuIHJlYWwgd2lkdGggYW5kIGhlaWdodCBvZiByb3RhdGVkIGltYWdlLiBUaGUgYmFkIG5ld3MKICAgICAgICAvL2lzIHRoYXQgdG8gc2V0IGhlaWdodCB5b3UgbmVlZCB0byBzZXQgYSB3aWR0aCBhbmQgdmljZSB2ZXJzYS4gRnVjayBJRS4KICAgICAgICAvL1NvLCBpbiB0aGlzIGNhc2Ugd2UgaGF2ZSB0byBhbmltYXRlIHdpZHRoIGFuZCBoZWlnaHQgbWFudWFsbHkuCiAgICAgICAgaWYodXNlSWVUcmFuc2Zvcm1zICYmIHN3YXBEaW1zKSB7CiAgICAgICAgICAgIHZhciBpZWggPSB0aGlzLl9pbWcud2lkdGgoKSwKICAgICAgICAgICAgICAgIGlldyA9IHRoaXMuX2ltZy5oZWlnaHQoKSwKICAgICAgICAgICAgICAgIGllZGggPSBwYXJhbXMuaGVpZ2h0IC0gaWVoOwogICAgICAgICAgICAgICAgaWVkdyA9IHBhcmFtcy53aWR0aCAtIGlldzsKCiAgICAgICAgICAgIGRlbGV0ZSBwYXJhbXMud2lkdGg7CiAgICAgICAgICAgIGRlbGV0ZSBwYXJhbXMuaGVpZ2h0OwogICAgICAgIH0KCiAgICAgICAgaWYgKHRoaXMuX2RvX2FuaW0gJiYgIXNraXBfYW5pbWF0aW9uKSB7CiAgICAgICAgICAgIHRoaXMuX2ltZy5zdG9wKHRydWUpCiAgICAgICAgICAgICAgICAuYW5pbWF0ZShwYXJhbXMsIHsKICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMjAwLAogICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlOiBjb21wbGV0ZSwKICAgICAgICAgICAgICAgICAgICBzdGVwOiBmdW5jdGlvbihub3csIGZ4KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHVzZUllVHJhbnNmb3JtcyAmJiBzd2FwRGltcyAmJiAoZngucHJvcCA9PT0gJ3RvcCcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGVyY2VudCA9IChub3cgLSBmeC5zdGFydCkgLyAoZnguZW5kIC0gZnguc3RhcnQpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZy5oZWlnaHQoaWVoICsgaWVkaCAqIHBlcmNlbnQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nLndpZHRoKGlldyArIGllZHcgKiBwZXJjZW50KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZy5jc3MoJ3RvcCcsIG5vdyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLl9pbWcuY3NzKHBhcmFtcyk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoY29tcGxldGUsIDApOyAvL2JvdGggaWYgYnJhbmNoZXMgc2hvdWxkIGJlaGF2ZSBlcXVhbGx5LgogICAgICAgIH0KICAgIH07CgogICAgLy9pZiB3ZSBzZXQgaW1hZ2UgY29vcmRpbmF0ZXMgd2UgbmVlZCB0byBiZSBzdXJlIHRoYXQgbm8gYW5pbWF0aW9uIGlzIGFjdGl2ZSBhdG0KICAgIHRoaXMuX2ZpbmlzaEFuaW1hdGlvbiA9IGZ1bmN0aW9uKCkgewogICAgICB0aGlzLl9pbWcuc3RvcCh0cnVlLCB0cnVlKTsKICAgIH0KCn0pLmFwcGx5KCQudWkuaXZpZXdlci5JbWFnZU9iamVjdC5wcm90b3R5cGUpOwoKCgp2YXIgdXRpbCA9IHsKICAgIHNjYWxlVmFsdWU6IGZ1bmN0aW9uKHZhbHVlLCB0b1pvb20pCiAgICB7CiAgICAgICAgcmV0dXJuIHZhbHVlICogdG9ab29tIC8gMTAwOwogICAgfSwKCiAgICBkZXNjYWxlVmFsdWU6IGZ1bmN0aW9uKHZhbHVlLCBmcm9tWm9vbSkKICAgIHsKICAgICAgICByZXR1cm4gdmFsdWUgKiAxMDAgLyBmcm9tWm9vbTsKICAgIH0KfTsKCiB9ICkoIGpRdWVyeSwgdW5kZWZpbmVkICk7Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/js/jquery.iviewer.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogaXZpZXdlciBXaWRnZXQgZm9yIGpRdWVyeSBVSQogKiBodHRwczovL2dpdGh1Yi5jb20vY2FuM3AvaXZpZXdlcgogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEyIERtaXRyeSBQZXRyb3YKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiAqICAtIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAtIGh0dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9ncGwuaHRtbAogKgogKiBBdXRob3I6IERtaXRyeSBQZXRyb3YKICogVmVyc2lvbjogMC43LjcKICovCihmdW5jdGlvbigkLHVuZGVmaW5lZCl7dmFyIG1vdXNlRXZlbnRzPXt0b3VjaHN0YXJ0OiJtb3VzZWRvd24iLHRvdWNobW92ZToibW91c2Vtb3ZlIix0b3VjaGVuZDoibW91c2V1cCJ9LGdlc3R1cmVzU3VwcG9ydD0ib25nZXN0dXJlc3RhcnQiaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZnVuY3Rpb24gbWFrZU1vdXNlRXZlbnQoZXZlbnQpe3ZhciB0b3VjaD1ldmVudC5vcmlnaW5hbEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdO3JldHVybiAkLmV4dGVuZChldmVudCx7dHlwZTptb3VzZUV2ZW50c1tldmVudC50eXBlXSx3aGljaDoxLHBhZ2VYOnRvdWNoLnBhZ2VYLHBhZ2VZOnRvdWNoLnBhZ2VZLHNjcmVlblg6dG91Y2guc2NyZWVuWCxzY3JlZW5ZOnRvdWNoLnNjcmVlblksY2xpZW50WDp0b3VjaC5jbGllbnRYLGNsaWVudFk6dG91Y2guY2xpZW50WSxpc1RvdWNoRXZlbnQ6dHJ1ZX0pfXZhciBtb3VzZVByb3RvPSQudWkubW91c2UucHJvdG90eXBlLF9tb3VzZUluaXQ9JC51aS5tb3VzZS5wcm90b3R5cGUuX21vdXNlSW5pdDsKbW91c2VQcm90by5fbW91c2VJbml0PWZ1bmN0aW9uKCl7dmFyIHNlbGY9dGhpcztzZWxmLl90b3VjaEFjdGl2ZT1mYWxzZTt0aGlzLmVsZW1lbnQuYmluZCgidG91Y2hzdGFydC4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihldmVudCl7aWYoZ2VzdHVyZXNTdXBwb3J0JiZldmVudC5vcmlnaW5hbEV2ZW50LnRvdWNoZXMubGVuZ3RoPjEpcmV0dXJuO3NlbGYuX3RvdWNoQWN0aXZlPXRydWU7cmV0dXJuIHNlbGYuX21vdXNlRG93bihtYWtlTW91c2VFdmVudChldmVudCkpfSk7dmFyIHNlbGY9dGhpczt0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZT1mdW5jdGlvbihldmVudCl7aWYoZ2VzdHVyZXNTdXBwb3J0JiZldmVudC5vcmlnaW5hbEV2ZW50LnRvdWNoZXMmJmV2ZW50Lm9yaWdpbmFsRXZlbnQudG91Y2hlcy5sZW5ndGg+MSlyZXR1cm47aWYoc2VsZi5fdG91Y2hBY3RpdmUpcmV0dXJuIHNlbGYuX21vdXNlTW92ZShtYWtlTW91c2VFdmVudChldmVudCkpfTt0aGlzLl9tb3VzZVVwRGVsZWdhdGU9CmZ1bmN0aW9uKGV2ZW50KXtpZihzZWxmLl90b3VjaEFjdGl2ZSl7c2VsZi5fdG91Y2hBY3RpdmU9ZmFsc2U7cmV0dXJuIHNlbGYuX21vdXNlVXAobWFrZU1vdXNlRXZlbnQoZXZlbnQpKX19OyQoZG9jdW1lbnQpLmJpbmQoInRvdWNobW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkuYmluZCgidG91Y2hlbmQuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VVcERlbGVnYXRlKTtfbW91c2VJbml0LmFwcGx5KHRoaXMpfTt2YXIgc2V0dGVyPWZ1bmN0aW9uKHNldHRlcixnZXR0ZXIpe3JldHVybiBmdW5jdGlvbih2YWwpe2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0wKXJldHVybiBnZXR0ZXIuYXBwbHkodGhpcyk7ZWxzZSBzZXR0ZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfX07dmFyIGllVHJhbnNmb3Jtcz17IjAiOnttYXJnaW5MZWZ0OjAsbWFyZ2luVG9wOjAsZmlsdGVyOidwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0xLCBNMTI9MCwgTTIxPTAsIE0yMj0xLCBTaXppbmdNZXRob2Q9ImF1dG8gZXhwYW5kIiknfSwKOTA6e21hcmdpbkxlZnQ6LTEsbWFyZ2luVG9wOjEsZmlsdGVyOidwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0wLCBNMTI9LTEsIE0yMT0xLCBNMjI9MCwgU2l6aW5nTWV0aG9kPSJhdXRvIGV4cGFuZCIpJ30sMTgwOnttYXJnaW5MZWZ0OjAsbWFyZ2luVG9wOjAsZmlsdGVyOidwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0tMSwgTTEyPTAsIE0yMT0wLCBNMjI9LTEsIFNpemluZ01ldGhvZD0iYXV0byBleHBhbmQiKSd9LDI3MDp7bWFyZ2luTGVmdDotMSxtYXJnaW5Ub3A6MSxmaWx0ZXI6J3Byb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAsIE0xMj0xLCBNMjE9LTEsIE0yMj0wLCBTaXppbmdNZXRob2Q9ImF1dG8gZXhwYW5kIiknfX0sdXNlSWVUcmFuc2Zvcm1zPWZ1bmN0aW9uKCl7dmFyIGVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2VsLnN0eWxlLmNzc1RleHQ9WyItbXMtIiwKIiIsIiJdLmpvaW4oImZpbHRlcjpibHVyKDJweCk7ICIpO3JldHVybiEhZWwuc3R5bGUuY3NzVGV4dCYmZG9jdW1lbnQuZG9jdW1lbnRNb2RlPDl9KCk7JC53aWRnZXQoInVpLml2aWV3ZXIiLCQudWkubW91c2Use3dpZGdldEV2ZW50UHJlZml4OiJpdmlld2VyIixvcHRpb25zOnt6b29tOiJmaXQiLHpvb21fYmFzZToxMDAsem9vbV9tYXg6ODAwLHpvb21fbWluOjI1LHpvb21fZGVsdGE6MS40LHpvb21fYW5pbWF0aW9uOnRydWUsdWlfZGlzYWJsZWQ6ZmFsc2UsbW91c2V3aGVlbDp0cnVlLHVwZGF0ZV9vbl9yZXNpemU6dHJ1ZSxvblpvb206alF1ZXJ5Lm5vb3Asb25BZnRlclpvb206alF1ZXJ5Lm5vb3Asb25TdGFydERyYWc6alF1ZXJ5Lm5vb3Asb25EcmFnOmpRdWVyeS5ub29wLG9uU3RvcERyYWc6alF1ZXJ5Lm5vb3Asb25Nb3VzZU1vdmU6alF1ZXJ5Lm5vb3Asb25DbGljazpqUXVlcnkubm9vcCxvblN0YXJ0TG9hZDpudWxsLG9uRmluaXNoTG9hZDpudWxsLG9uRXJyb3JMb2FkOm51bGx9LApfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIG1lPXRoaXM7dGhpcy5keD0wO3RoaXMuZHk9MDt0aGlzLmltZ19vYmplY3Q9e307dGhpcy56b29tX29iamVjdD17fTt0aGlzLl9hbmdsZT0wO3RoaXMuY3VycmVudF96b29tPXRoaXMub3B0aW9ucy56b29tO2lmKHRoaXMub3B0aW9ucy5zcmM9PT1udWxsKXJldHVybjt0aGlzLmNvbnRhaW5lcj10aGlzLmVsZW1lbnQ7dGhpcy5fdXBkYXRlQ29udGFpbmVySW5mbygpO3RoaXMuY29udGFpbmVyLmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKTtpZih0aGlzLm9wdGlvbnMudXBkYXRlX29uX3Jlc2l6ZT09dHJ1ZSkkKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uKCl7bWUudXBkYXRlKCl9KTt0aGlzLmltZ19vYmplY3Q9bmV3ICQudWkuaXZpZXdlci5JbWFnZU9iamVjdCh0aGlzLm9wdGlvbnMuem9vbV9hbmltYXRpb24pO2lmKHRoaXMub3B0aW9ucy5tb3VzZXdoZWVsKXt0aGlzLmNvbnRhaW5lci5iaW5kKCJtb3VzZXdoZWVsLml2aWV3ZXIiLGZ1bmN0aW9uKGV2LApkZWx0YSl7dmFyIHpvb209ZGVsdGE+MD8xOi0xLGNvbnRhaW5lcl9vZmZzZXQ9bWUuY29udGFpbmVyLm9mZnNldCgpLG1vdXNlX3Bvcz17eDpldi5wYWdlWC1jb250YWluZXJfb2Zmc2V0LmxlZnQseTpldi5wYWdlWS1jb250YWluZXJfb2Zmc2V0LnRvcH07bWUuem9vbV9ieSh6b29tLG1vdXNlX3Bvcyk7cmV0dXJuIGZhbHNlfSk7aWYoZ2VzdHVyZXNTdXBwb3J0KXt2YXIgZ2VzdHVyZVRocm90dGxlPStuZXcgRGF0ZTt2YXIgb3JpZ2luYWxTY2FsZSxvcmlnaW5hbENlbnRlcjt0aGlzLmltZ19vYmplY3Qub2JqZWN0KCkuYmluZCgidG91Y2hzdGFydCIsZnVuY3Rpb24oZXYpe29yaWdpbmFsU2NhbGU9bWUuY3VycmVudF96b29tO3ZhciB0b3VjaGVzPWV2Lm9yaWdpbmFsRXZlbnQudG91Y2hlcyxjb250YWluZXJfb2Zmc2V0O2lmKHRvdWNoZXMubGVuZ3RoPT0yKXtjb250YWluZXJfb2Zmc2V0PW1lLmNvbnRhaW5lci5vZmZzZXQoKTtvcmlnaW5hbENlbnRlcj17eDoodG91Y2hlc1swXS5wYWdlWCsKdG91Y2hlc1sxXS5wYWdlWCkvMi1jb250YWluZXJfb2Zmc2V0LmxlZnQseToodG91Y2hlc1swXS5wYWdlWSt0b3VjaGVzWzFdLnBhZ2VZKS8yLWNvbnRhaW5lcl9vZmZzZXQudG9wfX1lbHNlIG9yaWdpbmFsQ2VudGVyPW51bGx9KS5iaW5kKCJnZXN0dXJlY2hhbmdlIixmdW5jdGlvbihldil7dmFyIGQ9K25ldyBEYXRlO2lmKGQtZ2VzdHVyZVRocm90dGxlPDUwKXJldHVybjtnZXN0dXJlVGhyb3R0bGU9ZDt2YXIgem9vbT1vcmlnaW5hbFNjYWxlKmV2Lm9yaWdpbmFsRXZlbnQuc2NhbGU7bWUuc2V0X3pvb20oem9vbSxvcmlnaW5hbENlbnRlcik7ZXYucHJldmVudERlZmF1bHQoKX0pLmJpbmQoImdlc3R1cmVlbmQiLGZ1bmN0aW9uKGV2KXtvcmlnaW5hbENlbnRlcj1udWxsfSl9fXRoaXMuaW1nX29iamVjdC5vYmplY3QoKS5jbGljayhmdW5jdGlvbihlKXtyZXR1cm4gbWUuX2NsaWNrKGUpfSkucHJlcGVuZFRvKHRoaXMuY29udGFpbmVyKTt0aGlzLmNvbnRhaW5lci5iaW5kKCJtb3VzZW1vdmUiLApmdW5jdGlvbihldil7bWUuX2hhbmRsZU1vdXNlTW92ZShldil9KTt0aGlzLmxvYWRJbWFnZSh0aGlzLm9wdGlvbnMuc3JjKTtpZighdGhpcy5vcHRpb25zLnVpX2Rpc2FibGVkKXRoaXMuY3JlYXRldWkoKTt0aGlzLl9tb3VzZUluaXQoKX0sZGVzdHJveTpmdW5jdGlvbigpeyQuV2lkZ2V0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyk7dGhpcy5fbW91c2VEZXN0cm95KCk7dGhpcy5pbWdfb2JqZWN0Lm9iamVjdCgpLnJlbW92ZSgpO3RoaXMuY29udGFpbmVyLm9mZigiLml2aWV3ZXIiKTt0aGlzLmNvbnRhaW5lci5jc3MoIm92ZXJmbG93IiwiIil9LF91cGRhdGVDb250YWluZXJJbmZvOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmhlaWdodD10aGlzLmNvbnRhaW5lci5oZWlnaHQoKTt0aGlzLm9wdGlvbnMud2lkdGg9dGhpcy5jb250YWluZXIud2lkdGgoKX0sdXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlQ29udGFpbmVySW5mbygpO3RoaXMuc2V0Q29vcmRzKHRoaXMuaW1nX29iamVjdC54KCksCnRoaXMuaW1nX29iamVjdC55KCkpfSxsb2FkSW1hZ2U6ZnVuY3Rpb24oc3JjKXt0aGlzLmN1cnJlbnRfem9vbT10aGlzLm9wdGlvbnMuem9vbTt2YXIgbWU9dGhpczt0aGlzLl90cmlnZ2VyKCJvblN0YXJ0TG9hZCIsMCxzcmMpO3RoaXMuY29udGFpbmVyLmFkZENsYXNzKCJpdmlld2VyX2xvYWRpbmciKTt0aGlzLmltZ19vYmplY3QubG9hZChzcmMsZnVuY3Rpb24oKXttZS5faW1hZ2VMb2FkZWQoc3JjKX0sZnVuY3Rpb24oKXttZS5fdHJpZ2dlcigib25FcnJvckxvYWQiLDAsc3JjKX0pfSxfaW1hZ2VMb2FkZWQ6ZnVuY3Rpb24oc3JjKXt0aGlzLmNvbnRhaW5lci5yZW1vdmVDbGFzcygiaXZpZXdlcl9sb2FkaW5nIik7dGhpcy5jb250YWluZXIuYWRkQ2xhc3MoIml2aWV3ZXJfY3Vyc29yIik7aWYodGhpcy5vcHRpb25zLnpvb209PSJmaXQiKXRoaXMuZml0KHRydWUpO2Vsc2UgdGhpcy5zZXRfem9vbSh0aGlzLm9wdGlvbnMuem9vbSx0cnVlKTt0aGlzLl90cmlnZ2VyKCJvbkZpbmlzaExvYWQiLAowLHNyYyl9LGZpdDpmdW5jdGlvbihza2lwX2FuaW1hdGlvbil7dmFyIGFzcGVjdF9yYXRpbz10aGlzLmltZ19vYmplY3Qub3JpZ193aWR0aCgpL3RoaXMuaW1nX29iamVjdC5vcmlnX2hlaWdodCgpO3ZhciB3aW5kb3dfcmF0aW89dGhpcy5vcHRpb25zLndpZHRoL3RoaXMub3B0aW9ucy5oZWlnaHQ7dmFyIGNob29zZV9sZWZ0PWFzcGVjdF9yYXRpbz53aW5kb3dfcmF0aW87dmFyIG5ld196b29tPTA7aWYoY2hvb3NlX2xlZnQpbmV3X3pvb209dGhpcy5vcHRpb25zLndpZHRoL3RoaXMuaW1nX29iamVjdC5vcmlnX3dpZHRoKCkqMTAwO2Vsc2UgbmV3X3pvb209dGhpcy5vcHRpb25zLmhlaWdodC90aGlzLmltZ19vYmplY3Qub3JpZ19oZWlnaHQoKSoxMDA7dGhpcy5zZXRfem9vbShuZXdfem9vbSxza2lwX2FuaW1hdGlvbil9LGNlbnRlcjpmdW5jdGlvbigpe3RoaXMuc2V0Q29vcmRzKC1NYXRoLnJvdW5kKCh0aGlzLmltZ19vYmplY3QuZGlzcGxheV93aWR0aCgpLXRoaXMub3B0aW9ucy53aWR0aCkvCjIpLC1NYXRoLnJvdW5kKCh0aGlzLmltZ19vYmplY3QuZGlzcGxheV9oZWlnaHQoKS10aGlzLm9wdGlvbnMuaGVpZ2h0KS8yKSl9LG1vdmVUbzpmdW5jdGlvbih4LHkpe3ZhciBkeD14LU1hdGgucm91bmQodGhpcy5vcHRpb25zLndpZHRoLzIpO3ZhciBkeT15LU1hdGgucm91bmQodGhpcy5vcHRpb25zLmhlaWdodC8yKTt2YXIgbmV3X3g9dGhpcy5pbWdfb2JqZWN0LngoKS1keDt2YXIgbmV3X3k9dGhpcy5pbWdfb2JqZWN0LnkoKS1keTt0aGlzLnNldENvb3JkcyhuZXdfeCxuZXdfeSl9LGdldENvbnRhaW5lck9mZnNldDpmdW5jdGlvbigpe3JldHVybiBqUXVlcnkuZXh0ZW5kKHt9LHRoaXMuY29udGFpbmVyLm9mZnNldCgpKX0sc2V0Q29vcmRzOmZ1bmN0aW9uKHgseSl7aWYoIXRoaXMuaW1nX29iamVjdC5sb2FkZWQoKSlyZXR1cm47dmFyIGNvb3Jkcz10aGlzLl9jb3JyZWN0Q29vcmRzKHgseSk7dGhpcy5pbWdfb2JqZWN0LngoY29vcmRzLngpO3RoaXMuaW1nX29iamVjdC55KGNvb3Jkcy55KX0sCl9jb3JyZWN0Q29vcmRzOmZ1bmN0aW9uKHgseSl7eD1wYXJzZUludCh4LDEwKTt5PXBhcnNlSW50KHksMTApO2lmKHk+MCl5PTA7aWYoeD4wKXg9MDtpZih5K3RoaXMuaW1nX29iamVjdC5kaXNwbGF5X2hlaWdodCgpPHRoaXMub3B0aW9ucy5oZWlnaHQpeT10aGlzLm9wdGlvbnMuaGVpZ2h0LXRoaXMuaW1nX29iamVjdC5kaXNwbGF5X2hlaWdodCgpO2lmKHgrdGhpcy5pbWdfb2JqZWN0LmRpc3BsYXlfd2lkdGgoKTx0aGlzLm9wdGlvbnMud2lkdGgpeD10aGlzLm9wdGlvbnMud2lkdGgtdGhpcy5pbWdfb2JqZWN0LmRpc3BsYXlfd2lkdGgoKTtpZih0aGlzLmltZ19vYmplY3QuZGlzcGxheV93aWR0aCgpPD10aGlzLm9wdGlvbnMud2lkdGgpeD0tKHRoaXMuaW1nX29iamVjdC5kaXNwbGF5X3dpZHRoKCktdGhpcy5vcHRpb25zLndpZHRoKS8yO2lmKHRoaXMuaW1nX29iamVjdC5kaXNwbGF5X2hlaWdodCgpPD10aGlzLm9wdGlvbnMuaGVpZ2h0KXk9LSh0aGlzLmltZ19vYmplY3QuZGlzcGxheV9oZWlnaHQoKS0KdGhpcy5vcHRpb25zLmhlaWdodCkvMjtyZXR1cm57eDp4LHk6eX19LGNvbnRhaW5lclRvSW1hZ2U6ZnVuY3Rpb24oeCx5KXt2YXIgY29vcmRzPXt4OngtdGhpcy5pbWdfb2JqZWN0LngoKSx5OnktdGhpcy5pbWdfb2JqZWN0LnkoKX07Y29vcmRzPXRoaXMuaW1nX29iamVjdC50b09yaWdpbmFsQ29vcmRzKGNvb3Jkcyk7cmV0dXJue3g6dXRpbC5kZXNjYWxlVmFsdWUoY29vcmRzLngsdGhpcy5jdXJyZW50X3pvb20pLHk6dXRpbC5kZXNjYWxlVmFsdWUoY29vcmRzLnksdGhpcy5jdXJyZW50X3pvb20pfX0saW1hZ2VUb0NvbnRhaW5lcjpmdW5jdGlvbih4LHkpe3ZhciBjb29yZHM9e3g6dXRpbC5zY2FsZVZhbHVlKHgsdGhpcy5jdXJyZW50X3pvb20pLHk6dXRpbC5zY2FsZVZhbHVlKHksdGhpcy5jdXJyZW50X3pvb20pfTtyZXR1cm4gdGhpcy5pbWdfb2JqZWN0LnRvUmVhbENvb3Jkcyhjb29yZHMpfSxfZ2V0TW91c2VDb29yZHM6ZnVuY3Rpb24oZSl7dmFyIGNvbnRhaW5lck9mZnNldD10aGlzLmNvbnRhaW5lci5vZmZzZXQoKTsKY29vcmRzPXRoaXMuY29udGFpbmVyVG9JbWFnZShlLnBhZ2VYLWNvbnRhaW5lck9mZnNldC5sZWZ0LGUucGFnZVktY29udGFpbmVyT2Zmc2V0LnRvcCk7cmV0dXJuIGNvb3Jkc30sc2V0X3pvb206ZnVuY3Rpb24obmV3X3pvb20sc2tpcF9hbmltYXRpb24sem9vbV9jZW50ZXIpe2lmKHRoaXMuX3RyaWdnZXIoIm9uWm9vbSIsMCxuZXdfem9vbSk9PWZhbHNlKXJldHVybjtpZighdGhpcy5pbWdfb2JqZWN0LmxvYWRlZCgpKXJldHVybjt6b29tX2NlbnRlcj16b29tX2NlbnRlcnx8e3g6TWF0aC5yb3VuZCh0aGlzLm9wdGlvbnMud2lkdGgvMikseTpNYXRoLnJvdW5kKHRoaXMub3B0aW9ucy5oZWlnaHQvMil9O2lmKG5ld196b29tPHRoaXMub3B0aW9ucy56b29tX21pbiluZXdfem9vbT10aGlzLm9wdGlvbnMuem9vbV9taW47ZWxzZSBpZihuZXdfem9vbT50aGlzLm9wdGlvbnMuem9vbV9tYXgpbmV3X3pvb209dGhpcy5vcHRpb25zLnpvb21fbWF4O2lmKHRoaXMuY3VycmVudF96b29tPT0iZml0Iil7dmFyIG9sZF94PQp6b29tX2NlbnRlci54K01hdGgucm91bmQodGhpcy5pbWdfb2JqZWN0Lm9yaWdfd2lkdGgoKS8yKTt2YXIgb2xkX3k9em9vbV9jZW50ZXIueStNYXRoLnJvdW5kKHRoaXMuaW1nX29iamVjdC5vcmlnX2hlaWdodCgpLzIpO3RoaXMuY3VycmVudF96b29tPTEwMH1lbHNle3ZhciBvbGRfeD0tdGhpcy5pbWdfb2JqZWN0LngoKSt6b29tX2NlbnRlci54O3ZhciBvbGRfeT0tdGhpcy5pbWdfb2JqZWN0LnkoKSt6b29tX2NlbnRlci55fXZhciBuZXdfd2lkdGg9dXRpbC5zY2FsZVZhbHVlKHRoaXMuaW1nX29iamVjdC5vcmlnX3dpZHRoKCksbmV3X3pvb20pO3ZhciBuZXdfaGVpZ2h0PXV0aWwuc2NhbGVWYWx1ZSh0aGlzLmltZ19vYmplY3Qub3JpZ19oZWlnaHQoKSxuZXdfem9vbSk7dmFyIG5ld194PXV0aWwuc2NhbGVWYWx1ZSh1dGlsLmRlc2NhbGVWYWx1ZShvbGRfeCx0aGlzLmN1cnJlbnRfem9vbSksbmV3X3pvb20pO3ZhciBuZXdfeT11dGlsLnNjYWxlVmFsdWUodXRpbC5kZXNjYWxlVmFsdWUob2xkX3ksCnRoaXMuY3VycmVudF96b29tKSxuZXdfem9vbSk7bmV3X3g9em9vbV9jZW50ZXIueC1uZXdfeDtuZXdfeT16b29tX2NlbnRlci55LW5ld195O25ld193aWR0aD1NYXRoLmZsb29yKG5ld193aWR0aCk7bmV3X2hlaWdodD1NYXRoLmZsb29yKG5ld19oZWlnaHQpO25ld194PU1hdGguZmxvb3IobmV3X3gpO25ld195PU1hdGguZmxvb3IobmV3X3kpO3RoaXMuaW1nX29iamVjdC5kaXNwbGF5X3dpZHRoKG5ld193aWR0aCk7dGhpcy5pbWdfb2JqZWN0LmRpc3BsYXlfaGVpZ2h0KG5ld19oZWlnaHQpO3ZhciBjb29yZHM9dGhpcy5fY29ycmVjdENvb3JkcyhuZXdfeCxuZXdfeSksc2VsZj10aGlzO3RoaXMuaW1nX29iamVjdC5zZXRJbWFnZVByb3BzKG5ld193aWR0aCxuZXdfaGVpZ2h0LGNvb3Jkcy54LGNvb3Jkcy55LHNraXBfYW5pbWF0aW9uLGZ1bmN0aW9uKCl7c2VsZi5fdHJpZ2dlcigib25BZnRlclpvb20iLDAsbmV3X3pvb20pfSk7dGhpcy5jdXJyZW50X3pvb209bmV3X3pvb207dGhpcy51cGRhdGVfc3RhdHVzKCl9LAp6b29tX2J5OmZ1bmN0aW9uKGRlbHRhLHpvb21fY2VudGVyKXt2YXIgY2xvc2VzdF9yYXRlPXRoaXMuZmluZF9jbG9zZXN0X3pvb21fcmF0ZSh0aGlzLmN1cnJlbnRfem9vbSk7dmFyIG5leHRfcmF0ZT1jbG9zZXN0X3JhdGUrZGVsdGE7dmFyIG5leHRfem9vbT10aGlzLm9wdGlvbnMuem9vbV9iYXNlKk1hdGgucG93KHRoaXMub3B0aW9ucy56b29tX2RlbHRhLG5leHRfcmF0ZSk7aWYoZGVsdGE+MCYmbmV4dF96b29tPHRoaXMuY3VycmVudF96b29tKW5leHRfem9vbSo9dGhpcy5vcHRpb25zLnpvb21fZGVsdGE7aWYoZGVsdGE8MCYmbmV4dF96b29tPnRoaXMuY3VycmVudF96b29tKW5leHRfem9vbS89dGhpcy5vcHRpb25zLnpvb21fZGVsdGE7dGhpcy5zZXRfem9vbShuZXh0X3pvb20sdW5kZWZpbmVkLHpvb21fY2VudGVyKX0sYW5nbGU6ZnVuY3Rpb24oZGVnLGFicyl7aWYoYXJndW1lbnRzLmxlbmd0aD09PTApcmV0dXJuIHRoaXMuaW1nX29iamVjdC5hbmdsZSgpO2lmKGRlZzwtMjcwfHwKZGVnPjI3MHx8ZGVnJTkwIT09MClyZXR1cm47aWYoIWFicylkZWcrPXRoaXMuaW1nX29iamVjdC5hbmdsZSgpO2lmKGRlZzwwKWRlZys9MzYwO2lmKGRlZz49MzYwKWRlZy09MzYwO2lmKGRlZz09PXRoaXMuaW1nX29iamVjdC5hbmdsZSgpKXJldHVybjt0aGlzLmltZ19vYmplY3QuYW5nbGUoZGVnKTt0aGlzLmNlbnRlcigpO3RoaXMuX3RyaWdnZXIoImFuZ2xlIiwwLHthbmdsZTp0aGlzLmltZ19vYmplY3QuYW5nbGUoKX0pfSxmaW5kX2Nsb3Nlc3Rfem9vbV9yYXRlOmZ1bmN0aW9uKHZhbHVlKXtpZih2YWx1ZT09dGhpcy5vcHRpb25zLnpvb21fYmFzZSlyZXR1cm4gMDtmdW5jdGlvbiBkaXYodmFsMSx2YWwyKXtyZXR1cm4gdmFsMS92YWwyfWZ1bmN0aW9uIG11bCh2YWwxLHZhbDIpe3JldHVybiB2YWwxKnZhbDJ9dmFyIGZ1bmM9dmFsdWU+dGhpcy5vcHRpb25zLnpvb21fYmFzZT9tdWw6ZGl2O3ZhciBzZ249dmFsdWU+dGhpcy5vcHRpb25zLnpvb21fYmFzZT8xOi0xO3ZhciBtbHRwbHI9CnRoaXMub3B0aW9ucy56b29tX2RlbHRhO3ZhciByYXRlPTE7d2hpbGUoTWF0aC5hYnMoZnVuYyh0aGlzLm9wdGlvbnMuem9vbV9iYXNlLE1hdGgucG93KG1sdHBscixyYXRlKSktdmFsdWUpPk1hdGguYWJzKGZ1bmModGhpcy5vcHRpb25zLnpvb21fYmFzZSxNYXRoLnBvdyhtbHRwbHIscmF0ZSsxKSktdmFsdWUpKXJhdGUrKztyZXR1cm4gc2duKnJhdGV9LHVwZGF0ZV9zdGF0dXM6ZnVuY3Rpb24oKXtpZighdGhpcy5vcHRpb25zLnVpX2Rpc2FibGVkKXt2YXIgcGVyY2VudD1NYXRoLnJvdW5kKDEwMCp0aGlzLmltZ19vYmplY3QuZGlzcGxheV9oZWlnaHQoKS90aGlzLmltZ19vYmplY3Qub3JpZ19oZWlnaHQoKSk7aWYocGVyY2VudCl0aGlzLnpvb21fb2JqZWN0Lmh0bWwocGVyY2VudCsiJSIpfX0saW5mbzpmdW5jdGlvbihwYXJhbSx3aXRob3V0Um90YXRpb24pe2lmKCFwYXJhbSlyZXR1cm47c3dpdGNoKHBhcmFtKXtjYXNlICJvcmlnX3dpZHRoIjpjYXNlICJvcmlnX2hlaWdodCI6aWYod2l0aG91dFJvdGF0aW9uKXJldHVybiB0aGlzLmltZ19vYmplY3QuYW5nbGUoKSUKMTgwPT09MD90aGlzLmltZ19vYmplY3RbcGFyYW1dKCk6cGFyYW09PT0ib3JpZ193aWR0aCI/dGhpcy5pbWdfb2JqZWN0Lm9yaWdfaGVpZ2h0KCk6dGhpcy5pbWdfb2JqZWN0Lm9yaWdfd2lkdGgoKTtlbHNlIHJldHVybiB0aGlzLmltZ19vYmplY3RbcGFyYW1dKCk7Y2FzZSAiZGlzcGxheV93aWR0aCI6Y2FzZSAiZGlzcGxheV9oZWlnaHQiOmNhc2UgImFuZ2xlIjpyZXR1cm4gdGhpcy5pbWdfb2JqZWN0W3BhcmFtXSgpO2Nhc2UgInpvb20iOnJldHVybiB0aGlzLmN1cnJlbnRfem9vbTtjYXNlICJzcmMiOnJldHVybiB0aGlzLmltZ19vYmplY3Qub2JqZWN0KCkuYXR0cigic3JjIik7Y2FzZSAiY29vcmRzIjpyZXR1cm57eDp0aGlzLmltZ19vYmplY3QueCgpLHk6dGhpcy5pbWdfb2JqZWN0LnkoKX19fSxfbW91c2VTdGFydDpmdW5jdGlvbihlKXskLnVpLm1vdXNlLnByb3RvdHlwZS5fbW91c2VTdGFydC5jYWxsKHRoaXMsZSk7aWYodGhpcy5fdHJpZ2dlcigib25TdGFydERyYWciLDAsCnRoaXMuX2dldE1vdXNlQ29vcmRzKGUpKT09PWZhbHNlKXJldHVybiBmYWxzZTt0aGlzLmNvbnRhaW5lci5hZGRDbGFzcygiaXZpZXdlcl9kcmFnX2N1cnNvciIpO3RoaXMuX2RyYWdJbml0aWFsaXplZD0hKGUub3JpZ2luYWxFdmVudC5jaGFuZ2VkVG91Y2hlcyYmZS5vcmlnaW5hbEV2ZW50LmNoYW5nZWRUb3VjaGVzLmxlbmd0aD09MSk7dGhpcy5keD1lLnBhZ2VYLXRoaXMuaW1nX29iamVjdC54KCk7dGhpcy5keT1lLnBhZ2VZLXRoaXMuaW1nX29iamVjdC55KCk7cmV0dXJuIHRydWV9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRydWV9LF9oYW5kbGVNb3VzZU1vdmU6ZnVuY3Rpb24oZSl7dGhpcy5fdHJpZ2dlcigib25Nb3VzZU1vdmUiLGUsdGhpcy5fZ2V0TW91c2VDb29yZHMoZSkpfSxfbW91c2VEcmFnOmZ1bmN0aW9uKGUpeyQudWkubW91c2UucHJvdG90eXBlLl9tb3VzZURyYWcuY2FsbCh0aGlzLGUpO2lmKCF0aGlzLl9kcmFnSW5pdGlhbGl6ZWQpe3RoaXMuZHg9CmUucGFnZVgtdGhpcy5pbWdfb2JqZWN0LngoKTt0aGlzLmR5PWUucGFnZVktdGhpcy5pbWdfb2JqZWN0LnkoKTt0aGlzLl9kcmFnSW5pdGlhbGl6ZWQ9dHJ1ZX12YXIgbHRvcD1lLnBhZ2VZLXRoaXMuZHk7dmFyIGxsZWZ0PWUucGFnZVgtdGhpcy5keDt0aGlzLnNldENvb3JkcyhsbGVmdCxsdG9wKTt0aGlzLl90cmlnZ2VyKCJvbkRyYWciLGUsdGhpcy5fZ2V0TW91c2VDb29yZHMoZSkpO3JldHVybiBmYWxzZX0sX21vdXNlU3RvcDpmdW5jdGlvbihlKXskLnVpLm1vdXNlLnByb3RvdHlwZS5fbW91c2VTdG9wLmNhbGwodGhpcyxlKTt0aGlzLmNvbnRhaW5lci5yZW1vdmVDbGFzcygiaXZpZXdlcl9kcmFnX2N1cnNvciIpO3RoaXMuX3RyaWdnZXIoIm9uU3RvcERyYWciLDAsdGhpcy5fZ2V0TW91c2VDb29yZHMoZSkpfSxfY2xpY2s6ZnVuY3Rpb24oZSl7dGhpcy5fdHJpZ2dlcigib25DbGljayIsMCx0aGlzLl9nZXRNb3VzZUNvb3JkcyhlKSl9LGNyZWF0ZXVpOmZ1bmN0aW9uKCl7dmFyIG1lPQp0aGlzOyQoIjxkaXY+Iix7ImNsYXNzIjoiaXZpZXdlcl96b29tX2luIGl2aWV3ZXJfY29tbW9uIGl2aWV3ZXJfYnV0dG9uIn0pLmJpbmQoIm1vdXNlZG93biB0b3VjaHN0YXJ0IixmdW5jdGlvbigpe21lLnpvb21fYnkoMSk7cmV0dXJuIGZhbHNlfSkuYXBwZW5kVG8odGhpcy5jb250YWluZXIpOyQoIjxkaXY+Iix7ImNsYXNzIjoiaXZpZXdlcl96b29tX291dCBpdmlld2VyX2NvbW1vbiBpdmlld2VyX2J1dHRvbiJ9KS5iaW5kKCJtb3VzZWRvd24gdG91Y2hzdGFydCIsZnVuY3Rpb24oKXttZS56b29tX2J5KC0xKTtyZXR1cm4gZmFsc2V9KS5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcik7JCgiPGRpdj4iLHsiY2xhc3MiOiJpdmlld2VyX3pvb21femVybyBpdmlld2VyX2NvbW1vbiBpdmlld2VyX2J1dHRvbiJ9KS5iaW5kKCJtb3VzZWRvd24gdG91Y2hzdGFydCIsZnVuY3Rpb24oKXttZS5zZXRfem9vbSgxMDApO3JldHVybiBmYWxzZX0pLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKTskKCI8ZGl2PiIsCnsiY2xhc3MiOiJpdmlld2VyX3pvb21fZml0IGl2aWV3ZXJfY29tbW9uIGl2aWV3ZXJfYnV0dG9uIn0pLmJpbmQoIm1vdXNlZG93biB0b3VjaHN0YXJ0IixmdW5jdGlvbigpe21lLmZpdCh0aGlzKTtyZXR1cm4gZmFsc2V9KS5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcik7dGhpcy56b29tX29iamVjdD0kKCI8ZGl2PiIpLmFkZENsYXNzKCJpdmlld2VyX3pvb21fc3RhdHVzIGl2aWV3ZXJfY29tbW9uIikuYXBwZW5kVG8odGhpcy5jb250YWluZXIpOyQoIjxkaXY+Iix7ImNsYXNzIjoiaXZpZXdlcl9yb3RhdGVfbGVmdCBpdmlld2VyX2NvbW1vbiBpdmlld2VyX2J1dHRvbiJ9KS5iaW5kKCJtb3VzZWRvd24gdG91Y2hzdGFydCIsZnVuY3Rpb24oKXttZS5hbmdsZSgtOTApO3JldHVybiBmYWxzZX0pLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKTskKCI8ZGl2PiIseyJjbGFzcyI6Iml2aWV3ZXJfcm90YXRlX3JpZ2h0IGl2aWV3ZXJfY29tbW9uIGl2aWV3ZXJfYnV0dG9uIn0pLmJpbmQoIm1vdXNlZG93biB0b3VjaHN0YXJ0IiwKZnVuY3Rpb24oKXttZS5hbmdsZSg5MCk7cmV0dXJuIGZhbHNlfSkuYXBwZW5kVG8odGhpcy5jb250YWluZXIpO3RoaXMudXBkYXRlX3N0YXR1cygpfX0pOyQudWkuaXZpZXdlci5JbWFnZU9iamVjdD1mdW5jdGlvbihkb19hbmltKXt0aGlzLl9pbWc9JCgiPGltZz4iKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGxlZnQ6IjBweCJ9KTt0aGlzLl9sb2FkZWQ9ZmFsc2U7dGhpcy5fc3dhcERpbWVuc2lvbnM9ZmFsc2U7dGhpcy5fZG9fYW5pbT1kb19hbmltfHxmYWxzZTt0aGlzLngoMCx0cnVlKTt0aGlzLnkoMCx0cnVlKTt0aGlzLmFuZ2xlKDApfTsoZnVuY3Rpb24oKXt0aGlzLl9yZXNldD1mdW5jdGlvbih3LGgpe3RoaXMuX2FuZ2xlPTA7dGhpcy5fc3dhcERpbWVuc2lvbnM9ZmFsc2U7dGhpcy54KDApO3RoaXMueSgwKTt0aGlzLm9yaWdfd2lkdGgodyk7dGhpcy5vcmlnX2hlaWdodChoKTt0aGlzLmRpc3BsYXlfd2lkdGgodyk7dGhpcy5kaXNwbGF5X2hlaWdodChoKX07CnRoaXMubG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xvYWRlZH07dGhpcy5sb2FkPWZ1bmN0aW9uKHNyYyxsb2FkZWQsZXJyb3Ipe3ZhciBzZWxmPXRoaXM7bG9hZGVkPWxvYWRlZHx8alF1ZXJ5Lm5vb3A7dGhpcy5fbG9hZGVkPWZhbHNlO3ZhciBpbWc9bmV3IEltYWdlO2ltZy5vbmxvYWQ9ZnVuY3Rpb24oKXtzZWxmLl9sb2FkZWQ9dHJ1ZTtzZWxmLl9yZXNldCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KTtzZWxmLl9pbWcucmVtb3ZlQXR0cigid2lkdGgiKS5yZW1vdmVBdHRyKCJoZWlnaHQiKS5yZW1vdmVBdHRyKCJzdHlsZSIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6IjBweCIsbGVmdDoiMHB4IixtYXhXaWR0aDoibm9uZSJ9KTtzZWxmLl9pbWdbMF0uc3JjPXNyYztsb2FkZWQoKX07aW1nLm9uZXJyb3I9ZXJyb3I7c2V0VGltZW91dChmdW5jdGlvbigpe2ltZy5zcmM9c3JjfSwwKTt0aGlzLmFuZ2xlKDApfTt0aGlzLl9kaW1lbnNpb249ZnVuY3Rpb24ocHJlZml4LApuYW1lKXt2YXIgaG9yaXo9Il8iK3ByZWZpeCsiXyIrbmFtZSx2ZXJ0PSJfIitwcmVmaXgrIl8iKyhuYW1lPT09ImhlaWdodCI/IndpZHRoIjoiaGVpZ2h0Iik7cmV0dXJuIHNldHRlcihmdW5jdGlvbih2YWwpe3RoaXNbdGhpcy5fc3dhcERpbWVuc2lvbnM/aG9yaXo6dmVydF09dmFsfSxmdW5jdGlvbigpe3JldHVybiB0aGlzW3RoaXMuX3N3YXBEaW1lbnNpb25zP2hvcml6OnZlcnRdfSl9O3RoaXMuZGlzcGxheV93aWR0aD10aGlzLl9kaW1lbnNpb24oImRpc3BsYXkiLCJ3aWR0aCIpLHRoaXMuZGlzcGxheV9oZWlnaHQ9dGhpcy5fZGltZW5zaW9uKCJkaXNwbGF5IiwiaGVpZ2h0IiksdGhpcy5kaXNwbGF5X2RpZmY9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5mbG9vcih0aGlzLmRpc3BsYXlfd2lkdGgoKS10aGlzLmRpc3BsYXlfaGVpZ2h0KCkpfTt0aGlzLm9yaWdfd2lkdGg9dGhpcy5fZGltZW5zaW9uKCJvcmlnIiwid2lkdGgiKSx0aGlzLm9yaWdfaGVpZ2h0PXRoaXMuX2RpbWVuc2lvbigib3JpZyIsCiJoZWlnaHQiKSx0aGlzLng9c2V0dGVyKGZ1bmN0aW9uKHZhbCxza2lwQ3NzKXt0aGlzLl94PXZhbDtpZighc2tpcENzcyl7dGhpcy5fZmluaXNoQW5pbWF0aW9uKCk7dGhpcy5faW1nLmNzcygibGVmdCIsdGhpcy5feCsodGhpcy5fc3dhcERpbWVuc2lvbnM/dGhpcy5kaXNwbGF5X2RpZmYoKS8yOjApKyJweCIpfX0sZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5feH0pO3RoaXMueT1zZXR0ZXIoZnVuY3Rpb24odmFsLHNraXBDc3Mpe3RoaXMuX3k9dmFsO2lmKCFza2lwQ3NzKXt0aGlzLl9maW5pc2hBbmltYXRpb24oKTt0aGlzLl9pbWcuY3NzKCJ0b3AiLHRoaXMuX3ktKHRoaXMuX3N3YXBEaW1lbnNpb25zP3RoaXMuZGlzcGxheV9kaWZmKCkvMjowKSsicHgiKX19LGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3l9KTt0aGlzLmFuZ2xlPXNldHRlcihmdW5jdGlvbihkZWcpe3ZhciBwcmV2U3dhcD10aGlzLl9zd2FwRGltZW5zaW9uczt0aGlzLl9hbmdsZT1kZWc7dGhpcy5fc3dhcERpbWVuc2lvbnM9CmRlZyUxODAhPT0wO2lmKHByZXZTd2FwIT09dGhpcy5fc3dhcERpbWVuc2lvbnMpe3ZhciB2ZXJ0aWNhbE1vZD10aGlzLl9zd2FwRGltZW5zaW9ucz8tMToxO3RoaXMueCh0aGlzLngoKS12ZXJ0aWNhbE1vZCp0aGlzLmRpc3BsYXlfZGlmZigpLzIsdHJ1ZSk7dGhpcy55KHRoaXMueSgpK3ZlcnRpY2FsTW9kKnRoaXMuZGlzcGxheV9kaWZmKCkvMix0cnVlKX12YXIgY3NzVmFsPSJyb3RhdGUoIitkZWcrImRlZykiLGltZz10aGlzLl9pbWc7alF1ZXJ5LmVhY2goWyIiLCItd2Via2l0LSIsIi1tb3otIiwiLW8tIiwiLW1zLSJdLGZ1bmN0aW9uKGkscHJlZml4KXtpbWcuY3NzKHByZWZpeCsidHJhbnNmb3JtIixjc3NWYWwpfSk7aWYodXNlSWVUcmFuc2Zvcm1zKXtqUXVlcnkuZWFjaChbIi1tcy0iLCIiXSxmdW5jdGlvbihpLHByZWZpeCl7aW1nLmNzcyhwcmVmaXgrImZpbHRlciIsaWVUcmFuc2Zvcm1zW2RlZ10uZmlsdGVyKX0pO2ltZy5jc3Moe21hcmdpbkxlZnQ6aWVUcmFuc2Zvcm1zW2RlZ10ubWFyZ2luTGVmdCoKdGhpcy5kaXNwbGF5X2RpZmYoKS8yLG1hcmdpblRvcDppZVRyYW5zZm9ybXNbZGVnXS5tYXJnaW5Ub3AqdGhpcy5kaXNwbGF5X2RpZmYoKS8yfSl9fSxmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hbmdsZX0pO3RoaXMudG9PcmlnaW5hbENvb3Jkcz1mdW5jdGlvbihwb2ludCl7c3dpdGNoKHRoaXMuYW5nbGUoKSl7Y2FzZSAwOnJldHVybnt4OnBvaW50LngseTpwb2ludC55fTtjYXNlIDkwOnJldHVybnt4OnBvaW50LnkseTp0aGlzLmRpc3BsYXlfd2lkdGgoKS1wb2ludC54fTtjYXNlIDE4MDpyZXR1cm57eDp0aGlzLmRpc3BsYXlfd2lkdGgoKS1wb2ludC54LHk6dGhpcy5kaXNwbGF5X2hlaWdodCgpLXBvaW50Lnl9O2Nhc2UgMjcwOnJldHVybnt4OnRoaXMuZGlzcGxheV9oZWlnaHQoKS1wb2ludC55LHk6cG9pbnQueH19fTt0aGlzLnRvUmVhbENvb3Jkcz1mdW5jdGlvbihwb2ludCl7c3dpdGNoKHRoaXMuYW5nbGUoKSl7Y2FzZSAwOnJldHVybnt4OnRoaXMueCgpK3BvaW50LngseTp0aGlzLnkoKSsKcG9pbnQueX07Y2FzZSA5MDpyZXR1cm57eDp0aGlzLngoKSt0aGlzLmRpc3BsYXlfd2lkdGgoKS1wb2ludC55LHk6dGhpcy55KCkrcG9pbnQueH07Y2FzZSAxODA6cmV0dXJue3g6dGhpcy54KCkrdGhpcy5kaXNwbGF5X3dpZHRoKCktcG9pbnQueCx5OnRoaXMueSgpK3RoaXMuZGlzcGxheV9oZWlnaHQoKS1wb2ludC55fTtjYXNlIDI3MDpyZXR1cm57eDp0aGlzLngoKStwb2ludC55LHk6dGhpcy55KCkrdGhpcy5kaXNwbGF5X2hlaWdodCgpLXBvaW50Lnh9fX07dGhpcy5vYmplY3Q9c2V0dGVyKGpRdWVyeS5ub29wLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ltZ30pO3RoaXMuc2V0SW1hZ2VQcm9wcz1mdW5jdGlvbihkaXNwX3csZGlzcF9oLHgseSxza2lwX2FuaW1hdGlvbixjb21wbGV0ZSl7Y29tcGxldGU9Y29tcGxldGV8fGpRdWVyeS5ub29wO3RoaXMuZGlzcGxheV93aWR0aChkaXNwX3cpO3RoaXMuZGlzcGxheV9oZWlnaHQoZGlzcF9oKTt0aGlzLngoeCx0cnVlKTt0aGlzLnkoeSwKdHJ1ZSk7dmFyIHc9dGhpcy5fc3dhcERpbWVuc2lvbnM/ZGlzcF9oOmRpc3Bfdzt2YXIgaD10aGlzLl9zd2FwRGltZW5zaW9ucz9kaXNwX3c6ZGlzcF9oO3ZhciBwYXJhbXM9e3dpZHRoOncsaGVpZ2h0OmgsdG9wOnktKHRoaXMuX3N3YXBEaW1lbnNpb25zP3RoaXMuZGlzcGxheV9kaWZmKCkvMjowKSsicHgiLGxlZnQ6eCsodGhpcy5fc3dhcERpbWVuc2lvbnM/dGhpcy5kaXNwbGF5X2RpZmYoKS8yOjApKyJweCJ9O2lmKHVzZUllVHJhbnNmb3JtcylqUXVlcnkuZXh0ZW5kKHBhcmFtcyx7bWFyZ2luTGVmdDppZVRyYW5zZm9ybXNbdGhpcy5hbmdsZSgpXS5tYXJnaW5MZWZ0KnRoaXMuZGlzcGxheV9kaWZmKCkvMixtYXJnaW5Ub3A6aWVUcmFuc2Zvcm1zW3RoaXMuYW5nbGUoKV0ubWFyZ2luVG9wKnRoaXMuZGlzcGxheV9kaWZmKCkvMn0pO3ZhciBzd2FwRGltcz10aGlzLl9zd2FwRGltZW5zaW9ucyxpbWc9dGhpcy5faW1nO2lmKHVzZUllVHJhbnNmb3JtcyYmc3dhcERpbXMpe3ZhciBpZWg9CnRoaXMuX2ltZy53aWR0aCgpLGlldz10aGlzLl9pbWcuaGVpZ2h0KCksaWVkaD1wYXJhbXMuaGVpZ2h0LWllaDtpZWR3PXBhcmFtcy53aWR0aC1pZXc7ZGVsZXRlIHBhcmFtcy53aWR0aDtkZWxldGUgcGFyYW1zLmhlaWdodH1pZih0aGlzLl9kb19hbmltJiYhc2tpcF9hbmltYXRpb24pdGhpcy5faW1nLnN0b3AodHJ1ZSkuYW5pbWF0ZShwYXJhbXMse2R1cmF0aW9uOjIwMCxjb21wbGV0ZTpjb21wbGV0ZSxzdGVwOmZ1bmN0aW9uKG5vdyxmeCl7aWYodXNlSWVUcmFuc2Zvcm1zJiZzd2FwRGltcyYmZngucHJvcD09PSJ0b3AiKXt2YXIgcGVyY2VudD0obm93LWZ4LnN0YXJ0KS8oZnguZW5kLWZ4LnN0YXJ0KTtpbWcuaGVpZ2h0KGllaCtpZWRoKnBlcmNlbnQpO2ltZy53aWR0aChpZXcraWVkdypwZXJjZW50KTtpbWcuY3NzKCJ0b3AiLG5vdyl9fX0pO2Vsc2V7dGhpcy5faW1nLmNzcyhwYXJhbXMpO3NldFRpbWVvdXQoY29tcGxldGUsMCl9fTt0aGlzLl9maW5pc2hBbmltYXRpb249ZnVuY3Rpb24oKXt0aGlzLl9pbWcuc3RvcCh0cnVlLAp0cnVlKX19KS5hcHBseSgkLnVpLml2aWV3ZXIuSW1hZ2VPYmplY3QucHJvdG90eXBlKTt2YXIgdXRpbD17c2NhbGVWYWx1ZTpmdW5jdGlvbih2YWx1ZSx0b1pvb20pe3JldHVybiB2YWx1ZSp0b1pvb20vMTAwfSxkZXNjYWxlVmFsdWU6ZnVuY3Rpb24odmFsdWUsZnJvbVpvb20pe3JldHVybiB2YWx1ZSoxMDAvZnJvbVpvb219fX0pKGpRdWVyeSx1bmRlZmluZWQpOwo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/js/jquery.smooth-scroll.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[JChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICBmdW5jdGlvbiBmaWx0ZXJQYXRoKHN0cmluZykgewogICAgICAgIHJldHVybiBzdHJpbmcKICAgICAgICAgICAgLnJlcGxhY2UoL15cLy8sJycpCiAgICAgICAgICAgIC5yZXBsYWNlKC8oaW5kZXh8ZGVmYXVsdCkuW2EtekEtWl17Myw0fSQvLCcnKQogICAgICAgICAgICAucmVwbGFjZSgvXC8kLywnJyk7CiAgICB9CiAgICB2YXIgbG9jYXRpb25QYXRoID0gZmlsdGVyUGF0aChsb2NhdGlvbi5wYXRobmFtZSk7CgogICAgJCgnYVtocmVmKj0jXScpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHRoaXNQYXRoID0gZmlsdGVyUGF0aCh0aGlzLnBhdGhuYW1lKSB8fCBsb2NhdGlvblBhdGg7CiAgICAgICAgaWYgKCAgbG9jYXRpb25QYXRoID09IHRoaXNQYXRoCiAgICAgICAgICAgICYmIChsb2NhdGlvbi5ob3N0bmFtZSA9PSB0aGlzLmhvc3RuYW1lIHx8ICF0aGlzLmhvc3RuYW1lKQogICAgICAgICAgICAmJiB0aGlzLmhhc2gucmVwbGFjZSgvIy8sJycpICkgewogICAgICAgICAgICB2YXIgJHRhcmdldCA9ICQodGhpcy5oYXNoKSwgdGFyZ2V0ID0gdGhpcy5oYXNoOwogICAgICAgICAgICBpZiAodGFyZ2V0KSB7CiAgICAgICAgICAgICAgICAkKHRoaXMpLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCEkKHRoaXMuaGFzaCkub2Zmc2V0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA9ICQodGhpcy5oYXNoKS5vZmZzZXQoKS50b3A7CgogICAgICAgICAgICAgICAgICAgICQoJ2h0bWwsYm9keScpLmFuaW1hdGUoe3Njcm9sbFRvcDogcG9zaXRpb259LCA0MDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5oYXNoID0gdGFyZ2V0OwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KTsKfSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/js/prism.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIFByaXNtOiBMaWdodHdlaWdodCwgcm9idXN0LCBlbGVnYW50IHN5bnRheCBoaWdobGlnaHRpbmcKICogTUlUIGxpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAvCiAqIEBhdXRob3IgTGVhIFZlcm91IGh0dHA6Ly9sZWEudmVyb3UubWUKICovKGZ1bmN0aW9uKCl7dmFyIGU9L1xibGFuZyg/OnVhZ2UpPy0oPyFcKikoXHcrKVxiL2ksdD1zZWxmLlByaXNtPXt1dGlsOnt0eXBlOmZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkubWF0Y2goL1xbb2JqZWN0IChcdyspXF0vKVsxXX0sY2xvbmU6ZnVuY3Rpb24oZSl7dmFyIG49dC51dGlsLnR5cGUoZSk7c3dpdGNoKG4pe2Nhc2UiT2JqZWN0Ijp2YXIgcj17fTtmb3IodmFyIGkgaW4gZSllLmhhc093blByb3BlcnR5KGkpJiYocltpXT10LnV0aWwuY2xvbmUoZVtpXSkpO3JldHVybiByO2Nhc2UiQXJyYXkiOnJldHVybiBlLnNsaWNlKCl9cmV0dXJuIGV9fSxsYW5ndWFnZXM6e2V4dGVuZDpmdW5jdGlvbihlLG4pe3ZhciByPXQudXRpbC5jbG9uZSh0Lmxhbmd1YWdlc1tlXSk7Zm9yKHZhciBpIGluIG4pcltpXT1uW2ldO3JldHVybiByfSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24oZSxuLHIsaSl7aT1pfHx0Lmxhbmd1YWdlczt2YXIgcz1pW2VdLG89e307Zm9yKHZhciB1IGluIHMpaWYocy5oYXNPd25Qcm9wZXJ0eSh1KSl7aWYodT09bilmb3IodmFyIGEgaW4gcilyLmhhc093blByb3BlcnR5KGEpJiYob1thXT1yW2FdKTtvW3VdPXNbdV19cmV0dXJuIGlbZV09b30sREZTOmZ1bmN0aW9uKGUsbil7Zm9yKHZhciByIGluIGUpe24uY2FsbChlLHIsZVtyXSk7dC51dGlsLnR5cGUoZSk9PT0iT2JqZWN0IiYmdC5sYW5ndWFnZXMuREZTKGVbcl0sbil9fX0saGlnaGxpZ2h0QWxsOmZ1bmN0aW9uKGUsbil7dmFyIHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnY29kZVtjbGFzcyo9Imxhbmd1YWdlLSJdLCBbY2xhc3MqPSJsYW5ndWFnZS0iXSBjb2RlLCBjb2RlW2NsYXNzKj0ibGFuZy0iXSwgW2NsYXNzKj0ibGFuZy0iXSBjb2RlJyk7Zm9yKHZhciBpPTAscztzPXJbaSsrXTspdC5oaWdobGlnaHRFbGVtZW50KHMsZT09PSEwLG4pfSxoaWdobGlnaHRFbGVtZW50OmZ1bmN0aW9uKHIsaSxzKXt2YXIgbyx1LGE9cjt3aGlsZShhJiYhZS50ZXN0KGEuY2xhc3NOYW1lKSlhPWEucGFyZW50Tm9kZTtpZihhKXtvPShhLmNsYXNzTmFtZS5tYXRjaChlKXx8WywiIl0pWzFdO3U9dC5sYW5ndWFnZXNbb119aWYoIXUpcmV0dXJuO3IuY2xhc3NOYW1lPXIuY2xhc3NOYW1lLnJlcGxhY2UoZSwiIikucmVwbGFjZSgvXHMrL2csIiAiKSsiIGxhbmd1YWdlLSIrbzthPXIucGFyZW50Tm9kZTsvcHJlL2kudGVzdChhLm5vZGVOYW1lKSYmKGEuY2xhc3NOYW1lPWEuY2xhc3NOYW1lLnJlcGxhY2UoZSwiIikucmVwbGFjZSgvXHMrL2csIiAiKSsiIGxhbmd1YWdlLSIrbyk7dmFyIGY9ci50ZXh0Q29udGVudDtpZighZilyZXR1cm47Zj1mLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC9cdTAwYTAvZywiICIpO3ZhciBsPXtlbGVtZW50OnIsbGFuZ3VhZ2U6byxncmFtbWFyOnUsY29kZTpmfTt0Lmhvb2tzLnJ1bigiYmVmb3JlLWhpZ2hsaWdodCIsbCk7aWYoaSYmc2VsZi5Xb3JrZXIpe3ZhciBjPW5ldyBXb3JrZXIodC5maWxlbmFtZSk7Yy5vbm1lc3NhZ2U9ZnVuY3Rpb24oZSl7bC5oaWdobGlnaHRlZENvZGU9bi5zdHJpbmdpZnkoSlNPTi5wYXJzZShlLmRhdGEpLG8pO3QuaG9va3MucnVuKCJiZWZvcmUtaW5zZXJ0IixsKTtsLmVsZW1lbnQuaW5uZXJIVE1MPWwuaGlnaGxpZ2h0ZWRDb2RlO3MmJnMuY2FsbChsLmVsZW1lbnQpO3QuaG9va3MucnVuKCJhZnRlci1oaWdobGlnaHQiLGwpfTtjLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtsYW5ndWFnZTpsLmxhbmd1YWdlLGNvZGU6bC5jb2RlfSkpfWVsc2V7bC5oaWdobGlnaHRlZENvZGU9dC5oaWdobGlnaHQobC5jb2RlLGwuZ3JhbW1hcixsLmxhbmd1YWdlKTt0Lmhvb2tzLnJ1bigiYmVmb3JlLWluc2VydCIsbCk7bC5lbGVtZW50LmlubmVySFRNTD1sLmhpZ2hsaWdodGVkQ29kZTtzJiZzLmNhbGwocik7dC5ob29rcy5ydW4oImFmdGVyLWhpZ2hsaWdodCIsbCl9fSxoaWdobGlnaHQ6ZnVuY3Rpb24oZSxyLGkpe3JldHVybiBuLnN0cmluZ2lmeSh0LnRva2VuaXplKGUsciksaSl9LHRva2VuaXplOmZ1bmN0aW9uKGUsbixyKXt2YXIgaT10LlRva2VuLHM9W2VdLG89bi5yZXN0O2lmKG8pe2Zvcih2YXIgdSBpbiBvKW5bdV09b1t1XTtkZWxldGUgbi5yZXN0fWU6Zm9yKHZhciB1IGluIG4pe2lmKCFuLmhhc093blByb3BlcnR5KHUpfHwhblt1XSljb250aW51ZTt2YXIgYT1uW3VdLGY9YS5pbnNpZGUsbD0hIWEubG9va2JlaGluZCxjPTA7YT1hLnBhdHRlcm58fGE7Zm9yKHZhciBoPTA7aDxzLmxlbmd0aDtoKyspe3ZhciBwPXNbaF07aWYocy5sZW5ndGg+ZS5sZW5ndGgpYnJlYWsgZTtpZihwIGluc3RhbmNlb2YgaSljb250aW51ZTthLmxhc3RJbmRleD0wO3ZhciBkPWEuZXhlYyhwKTtpZihkKXtsJiYoYz1kWzFdLmxlbmd0aCk7dmFyIHY9ZC5pbmRleC0xK2MsZD1kWzBdLnNsaWNlKGMpLG09ZC5sZW5ndGgsZz12K20seT1wLnNsaWNlKDAsdisxKSxiPXAuc2xpY2UoZysxKSx3PVtoLDFdO3kmJncucHVzaCh5KTt2YXIgRT1uZXcgaSh1LGY/dC50b2tlbml6ZShkLGYpOmQpO3cucHVzaChFKTtiJiZ3LnB1c2goYik7QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShzLHcpfX19cmV0dXJuIHN9LGhvb2tzOnthbGw6e30sYWRkOmZ1bmN0aW9uKGUsbil7dmFyIHI9dC5ob29rcy5hbGw7cltlXT1yW2VdfHxbXTtyW2VdLnB1c2gobil9LHJ1bjpmdW5jdGlvbihlLG4pe3ZhciByPXQuaG9va3MuYWxsW2VdO2lmKCFyfHwhci5sZW5ndGgpcmV0dXJuO2Zvcih2YXIgaT0wLHM7cz1yW2krK107KXMobil9fX0sbj10LlRva2VuPWZ1bmN0aW9uKGUsdCl7dGhpcy50eXBlPWU7dGhpcy5jb250ZW50PXR9O24uc3RyaW5naWZ5PWZ1bmN0aW9uKGUscixpKXtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJuIGU7aWYoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpPT0iW29iamVjdCBBcnJheV0iKXJldHVybiBlLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gbi5zdHJpbmdpZnkodCxyLGUpfSkuam9pbigiIik7dmFyIHM9e3R5cGU6ZS50eXBlLGNvbnRlbnQ6bi5zdHJpbmdpZnkoZS5jb250ZW50LHIsaSksdGFnOiJzcGFuIixjbGFzc2VzOlsidG9rZW4iLGUudHlwZV0sYXR0cmlidXRlczp7fSxsYW5ndWFnZTpyLHBhcmVudDppfTtzLnR5cGU9PSJjb21tZW50IiYmKHMuYXR0cmlidXRlcy5zcGVsbGNoZWNrPSJ0cnVlIik7dC5ob29rcy5ydW4oIndyYXAiLHMpO3ZhciBvPSIiO2Zvcih2YXIgdSBpbiBzLmF0dHJpYnV0ZXMpbys9dSsnPSInKyhzLmF0dHJpYnV0ZXNbdV18fCIiKSsnIic7cmV0dXJuIjwiK3MudGFnKycgY2xhc3M9Iicrcy5jbGFzc2VzLmpvaW4oIiAiKSsnIiAnK28rIj4iK3MuY29udGVudCsiPC8iK3MudGFnKyI+In07aWYoIXNlbGYuZG9jdW1lbnQpe3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsZnVuY3Rpb24oZSl7dmFyIG49SlNPTi5wYXJzZShlLmRhdGEpLHI9bi5sYW5ndWFnZSxpPW4uY29kZTtzZWxmLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHQudG9rZW5pemUoaSx0Lmxhbmd1YWdlc1tyXSkpKTtzZWxmLmNsb3NlKCl9LCExKTtyZXR1cm59dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpO3I9cltyLmxlbmd0aC0xXTtpZihyKXt0LmZpbGVuYW1lPXIuc3JjO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXImJiFyLmhhc0F0dHJpYnV0ZSgiZGF0YS1tYW51YWwiKSYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdC5oaWdobGlnaHRBbGwpfX0pKCk7OwpQcmlzbS5sYW5ndWFnZXMubWFya3VwPXtjb21tZW50Oi8mbHQ7IS0tW1x3XFddKj8tLT4vZyxwcm9sb2c6LyZsdDtcPy4rP1w/Pi8sZG9jdHlwZTovJmx0OyFET0NUWVBFLis/Pi8sY2RhdGE6LyZsdDshXFtDREFUQVxbW1x3XFddKj9dXT4vaSx0YWc6e3BhdHRlcm46LyZsdDtcLz9bXHc6LV0rXHMqKD86XHMrW1x3Oi1dKyg/Oj0oPzooInwnKShcXD9bXHdcV10pKj9cMXxcdyspKT9ccyopKlwvPz4vZ2ksaW5zaWRlOnt0YWc6e3BhdHRlcm46L14mbHQ7XC8/W1x3Oi1dKy9pLGluc2lkZTp7cHVuY3R1YXRpb246L14mbHQ7XC8/LyxuYW1lc3BhY2U6L15bXHctXSs/Oi99fSwiYXR0ci12YWx1ZSI6e3BhdHRlcm46Lz0oPzooJ3wiKVtcd1xXXSo/KFwxKXxbXlxzPl0rKS9naSxpbnNpZGU6e3B1bmN0dWF0aW9uOi89fD58Ii9nfX0scHVuY3R1YXRpb246L1wvPz4vZywiYXR0ci1uYW1lIjp7cGF0dGVybjovW1x3Oi1dKy9nLGluc2lkZTp7bmFtZXNwYWNlOi9eW1x3LV0rPzovfX19fSxlbnRpdHk6LyZhbXA7Iz9bXGRhLXpdezEsOH07L2dpfTtQcmlzbS5ob29rcy5hZGQoIndyYXAiLGZ1bmN0aW9uKGUpe2UudHlwZT09PSJlbnRpdHkiJiYoZS5hdHRyaWJ1dGVzLnRpdGxlPWUuY29udGVudC5yZXBsYWNlKC8mYW1wOy8sIiYiKSl9KTs7ClByaXNtLmxhbmd1YWdlcy5jc3M9e2NvbW1lbnQ6L1wvXCpbXHdcV10qP1wqXC8vZyxhdHJ1bGU6e3BhdHRlcm46L0BbXHctXSs/Lio/KDt8KD89XHMqeykpL2dpLGluc2lkZTp7cHVuY3R1YXRpb246L1s7Ol0vZ319LHVybDovdXJsXCgoWyInXT8pLio/XDFcKS9naSxzZWxlY3RvcjovW15ce1x9XHNdW15ce1x9O10qKD89XHMqXHspL2cscHJvcGVydHk6LyhcYnxcQilbXHctXSsoPz1ccyo6KS9pZyxzdHJpbmc6LygifCcpKFxcPy4pKj9cMS9nLGltcG9ydGFudDovXEIhaW1wb3J0YW50XGIvZ2ksaWdub3JlOi8mKGx0fGd0fGFtcCk7L2dpLHB1bmN0dWF0aW9uOi9bXHtcfTs6XS9nfTtQcmlzbS5sYW5ndWFnZXMubWFya3VwJiZQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJtYXJrdXAiLCJ0YWciLHtzdHlsZTp7cGF0dGVybjovKCZsdDt8PClzdHlsZVtcd1xXXSo/KD58Jmd0OylbXHdcV10qPygmbHQ7fDwpXC9zdHlsZSg+fCZndDspL2lnLGluc2lkZTp7dGFnOntwYXR0ZXJuOi8oJmx0O3w8KXN0eWxlW1x3XFddKj8oPnwmZ3Q7KXwoJmx0O3w8KVwvc3R5bGUoPnwmZ3Q7KS9pZyxpbnNpZGU6UHJpc20ubGFuZ3VhZ2VzLm1hcmt1cC50YWcuaW5zaWRlfSxyZXN0OlByaXNtLmxhbmd1YWdlcy5jc3N9fX0pOzsKUHJpc20ubGFuZ3VhZ2VzLmNzcy5zZWxlY3Rvcj17cGF0dGVybjovW15ce1x9XHNdW15ce1x9XSooPz1ccypceykvZyxpbnNpZGU6eyJwc2V1ZG8tZWxlbWVudCI6LzooPzphZnRlcnxiZWZvcmV8Zmlyc3QtbGV0dGVyfGZpcnN0LWxpbmV8c2VsZWN0aW9uKXw6OlstXHddKy9nLCJwc2V1ZG8tY2xhc3MiOi86Wy1cd10rKD86XCguKlwpKT8vZywiY2xhc3MiOi9cLlstOlwuXHddKy9nLGlkOi8jWy06XC5cd10rL2d9fTtQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJjc3MiLCJpZ25vcmUiLHtoZXhjb2RlOi8jW1xkYS1mXXszLDZ9L2dpLGVudGl0eTovXFxbXGRhLWZdezEsOH0vZ2ksbnVtYmVyOi9bXGQlXC5dKy9nLCJmdW5jdGlvbiI6LyhhdHRyfGNhbGN8Y3Jvc3MtZmFkZXxjeWNsZXxlbGVtZW50fGhzbGE/fGltYWdlfGxhbmd8bGluZWFyLWdyYWRpZW50fG1hdHJpeDNkfG1hdHJpeHxwZXJzcGVjdGl2ZXxyYWRpYWwtZ3JhZGllbnR8cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudHxyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50fHJnYmE/fHJvdGF0ZXh8cm90YXRleXxyb3RhdGV6fHJvdGF0ZTNkfHJvdGF0ZXxzY2FsZXh8c2NhbGV5fHNjYWxlenxzY2FsZTNkfHNjYWxlfHNrZXd4fHNrZXd5fHNrZXd8c3RlcHN8dHJhbnNsYXRleHx0cmFuc2xhdGV5fHRyYW5zbGF0ZXp8dHJhbnNsYXRlM2R8dHJhbnNsYXRlfHVybHx2YXIpL2lnfSk7OwpQcmlzbS5sYW5ndWFnZXMuY2xpa2U9e2NvbW1lbnQ6e3BhdHRlcm46LyhefFteXFxdKShcL1wqW1x3XFddKj9cKlwvfChefFteOl0pXC9cLy4qPyhccj9cbnwkKSkvZyxsb29rYmVoaW5kOiEwfSxzdHJpbmc6LygifCcpKFxcPy4pKj9cMS9nLCJjbGFzcy1uYW1lIjp7cGF0dGVybjovKCg/Oig/OmNsYXNzfGludGVyZmFjZXxleHRlbmRzfGltcGxlbWVudHN8dHJhaXR8aW5zdGFuY2VvZnxuZXcpXHMrKXwoPzpjYXRjaFxzK1woKSlbYS16MC05X1wuXFxdKy9pZyxsb29rYmVoaW5kOiEwLGluc2lkZTp7cHVuY3R1YXRpb246LyhcLnxcXCkvfX0sa2V5d29yZDovXGIoaWZ8ZWxzZXx3aGlsZXxkb3xmb3J8cmV0dXJufGlufGluc3RhbmNlb2Z8ZnVuY3Rpb258bmV3fHRyeXxjYXRjaHxmaW5hbGx5fG51bGx8YnJlYWt8Y29udGludWUpXGIvZywiYm9vbGVhbiI6L1xiKHRydWV8ZmFsc2UpXGIvZywiZnVuY3Rpb24iOntwYXR0ZXJuOi9bYS16MC05X10rXCgvaWcsaW5zaWRlOntwdW5jdHVhdGlvbjovXCgvfX0sIG51bWJlcjovXGItPygweFtcZEEtRmEtZl0rfFxkKlwuP1xkKyhbRWVdLT9cZCspPylcYi9nLG9wZXJhdG9yOi9bLStdezEsMn18IXwmbHQ7PT98Pj0/fD17MSwzfXwoJmFtcDspezEsMn18XHw/XHx8XD98XCp8XC98XH58XF58XCUvZyxpZ25vcmU6LyYobHR8Z3R8YW1wKTsvZ2kscHVuY3R1YXRpb246L1t7fVtcXTsoKSwuOl0vZ307OwpQcmlzbS5sYW5ndWFnZXMuamF2YXNjcmlwdD1QcmlzbS5sYW5ndWFnZXMuZXh0ZW5kKCJjbGlrZSIse2tleXdvcmQ6L1xiKHZhcnxsZXR8aWZ8ZWxzZXx3aGlsZXxkb3xmb3J8cmV0dXJufGlufGluc3RhbmNlb2Z8ZnVuY3Rpb258bmV3fHdpdGh8dHlwZW9mfHRyeXxjYXRjaHxmaW5hbGx5fG51bGx8YnJlYWt8Y29udGludWUpXGIvZyxudW1iZXI6L1xiLT8oMHhbXGRBLUZhLWZdK3xcZCpcLj9cZCsoW0VlXS0/XGQrKT98TmFOfC0/SW5maW5pdHkpXGIvZ30pO1ByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImphdmFzY3JpcHQiLCJrZXl3b3JkIix7cmVnZXg6e3BhdHRlcm46LyhefFteL10pXC8oPyFcLykoXFsuKz9dfFxcLnxbXi9cclxuXSkrXC9bZ2ltXXswLDN9KD89XHMqKCR8W1xyXG4sLjt9KV0pKS9nLGxvb2tiZWhpbmQ6ITB9fSk7UHJpc20ubGFuZ3VhZ2VzLm1hcmt1cCYmUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgibWFya3VwIiwidGFnIix7c2NyaXB0OntwYXR0ZXJuOi8oJmx0O3w8KXNjcmlwdFtcd1xXXSo/KD58Jmd0OylbXHdcV10qPygmbHQ7fDwpXC9zY3JpcHQoPnwmZ3Q7KS9pZyxpbnNpZGU6e3RhZzp7cGF0dGVybjovKCZsdDt8PClzY3JpcHRbXHdcV10qPyg+fCZndDspfCgmbHQ7fDwpXC9zY3JpcHQoPnwmZ3Q7KS9pZyxpbnNpZGU6UHJpc20ubGFuZ3VhZ2VzLm1hcmt1cC50YWcuaW5zaWRlfSxyZXN0OlByaXNtLmxhbmd1YWdlcy5qYXZhc2NyaXB0fX19KTs7ClByaXNtLmxhbmd1YWdlcy5waHA9UHJpc20ubGFuZ3VhZ2VzLmV4dGVuZCgiY2xpa2UiLHtrZXl3b3JkOi9cYihhbmR8b3J8eG9yfGFycmF5fGFzfGJyZWFrfGNhc2V8Y2Z1bmN0aW9ufGNsYXNzfGNvbnN0fGNvbnRpbnVlfGRlY2xhcmV8ZGVmYXVsdHxkaWV8ZG98ZWxzZXxlbHNlaWZ8ZW5kZGVjbGFyZXxlbmRmb3J8ZW5kZm9yZWFjaHxlbmRpZnxlbmRzd2l0Y2h8ZW5kd2hpbGV8ZXh0ZW5kc3xmb3J8Zm9yZWFjaHxmdW5jdGlvbnxpbmNsdWRlfGluY2x1ZGVfb25jZXxnbG9iYWx8aWZ8bmV3fHJldHVybnxzdGF0aWN8c3dpdGNofHVzZXxyZXF1aXJlfHJlcXVpcmVfb25jZXx2YXJ8d2hpbGV8YWJzdHJhY3R8aW50ZXJmYWNlfHB1YmxpY3xpbXBsZW1lbnRzfGV4dGVuZHN8cHJpdmF0ZXxwcm90ZWN0ZWR8cGFyZW50fHN0YXRpY3x0aHJvd3xudWxsfGVjaG98cHJpbnR8dHJhaXR8bmFtZXNwYWNlfHVzZXxmaW5hbHx5aWVsZHxnb3RvfGluc3RhbmNlb2Z8ZmluYWxseXx0cnl8Y2F0Y2gpXGIvaWcsIGNvbnN0YW50Oi9cYltBLVowLTlfXXsyLH1cYi9nfSk7UHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgicGhwIiwia2V5d29yZCIse2RlbGltaXRlcjovKFw/PnwmbHQ7XD9waHB8Jmx0O1w/KS9pZyx2YXJpYWJsZTovKFwkXHcrKVxiL2lnLCJwYWNrYWdlIjp7cGF0dGVybjovKFxcfG5hbWVzcGFjZVxzK3x1c2VccyspW1x3XFxdKy9nLGxvb2tiZWhpbmQ6ITAsaW5zaWRlOntwdW5jdHVhdGlvbjovXFwvfX19KTtQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJwaHAiLCJvcGVyYXRvciIse3Byb3BlcnR5OntwYXR0ZXJuOi8oLT4pW1x3XSsvZyxsb29rYmVoaW5kOiEwfX0pOyBQcmlzbS5sYW5ndWFnZXMubWFya3VwJiYoUHJpc20uaG9va3MuYWRkKCJiZWZvcmUtaGlnaGxpZ2h0IixmdW5jdGlvbihhKXsicGhwIj09PWEubGFuZ3VhZ2UmJihhLnRva2VuU3RhY2s9W10sYS5jb2RlPWEuY29kZS5yZXBsYWNlKC8oPzombHQ7XD9waHB8Jmx0O1w/fDxcP3BocHw8XD8pW1x3XFddKj8oPzpcPyZndDt8XD8+KS9pZyxmdW5jdGlvbihiKXthLnRva2VuU3RhY2sucHVzaChiKTtyZXR1cm4ie3t7UEhQIithLnRva2VuU3RhY2subGVuZ3RoKyJ9fX0ifSkpfSksUHJpc20uaG9va3MuYWRkKCJhZnRlci1oaWdobGlnaHQiLGZ1bmN0aW9uKGEpe2lmKCJwaHAiPT09YS5sYW5ndWFnZSl7Zm9yKHZhciBiPTAsYztjPWEudG9rZW5TdGFja1tiXTtiKyspYS5oaWdobGlnaHRlZENvZGU9YS5oaWdobGlnaHRlZENvZGUucmVwbGFjZSgie3t7UEhQIisoYisxKSsifX19IixQcmlzbS5oaWdobGlnaHQoYyxhLmdyYW1tYXIsInBocCIpKTthLmVsZW1lbnQuaW5uZXJIVE1MPWEuaGlnaGxpZ2h0ZWRDb2RlfX0pLCBQcmlzbS5ob29rcy5hZGQoIndyYXAiLGZ1bmN0aW9uKGEpeyJwaHAiPT09YS5sYW5ndWFnZSYmIm1hcmt1cCI9PT1hLnR5cGUmJihhLmNvbnRlbnQ9YS5jb250ZW50LnJlcGxhY2UoLyhce1x7XHtQSFBbMC05XStcfVx9XH0pL2csJzxzcGFuIGNsYXNzPSJ0b2tlbiBwaHAiPiQxPC9zcGFuPicpKX0pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoInBocCIsImNvbW1lbnQiLHttYXJrdXA6e3BhdHRlcm46LygmbHQ7fDwpW14/XVwvPyguKj8pKD58Jmd0OykvZyxpbnNpZGU6UHJpc20ubGFuZ3VhZ2VzLm1hcmt1cH0scGhwOi9ce1x7XHtQSFBbMC05XStcfVx9XH0vZ30pKTs7ClByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoInBocCIsInZhcmlhYmxlIix7InRoaXMiOi9cJHRoaXMvZyxnbG9iYWw6L1wkXz8oR0xPQkFMU3xTRVJWRVJ8R0VUfFBPU1R8RklMRVN8UkVRVUVTVHxTRVNTSU9OfEVOVnxDT09LSUV8SFRUUF9SQVdfUE9TVF9EQVRBfGFyZ2N8YXJndnxwaHBfZXJyb3Jtc2d8aHR0cF9yZXNwb25zZV9oZWFkZXIpL2csc2NvcGU6e3BhdHRlcm46L1xiW1x3XFxdKzo6L2csaW5zaWRlOntrZXl3b3JkOi8oc3RhdGljfHNlbGZ8cGFyZW50KS8scHVuY3R1YXRpb246Lyg6OnxcXCkvfX19KTs7CihmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoKHR8fGRvY3VtZW50KS5xdWVyeVNlbGVjdG9yQWxsKGUpKX1mdW5jdGlvbiBuKGUsdCxuKXt2YXIgcj10LnJlcGxhY2UoL1xzKy9nLCIiKS5zcGxpdCgiLCIpLGk9K2UuZ2V0QXR0cmlidXRlKCJkYXRhLWxpbmUtb2Zmc2V0Iil8fDAscz1wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZSkubGluZUhlaWdodCk7Zm9yKHZhciBvPTAsdTt1PXJbbysrXTspe3U9dS5zcGxpdCgiLSIpO3ZhciBhPSt1WzBdLGY9K3VbMV18fGEsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtsLnRleHRDb250ZW50PUFycmF5KGYtYSsyKS5qb2luKCIgXHJcbiIpO2wuY2xhc3NOYW1lPShufHwiIikrIiBsaW5lLWhpZ2hsaWdodCI7bC5zZXRBdHRyaWJ1dGUoImRhdGEtc3RhcnQiLGEpO2Y+YSYmbC5zZXRBdHRyaWJ1dGUoImRhdGEtZW5kIixmKTtsLnN0eWxlLnRvcD0oYS1pLTEpKnMrInB4IjsoZS5xdWVyeVNlbGVjdG9yKCJjb2RlIil8fGUpLmFwcGVuZENoaWxkKGwpfX1mdW5jdGlvbiByKCl7dmFyIHQ9bG9jYXRpb24uaGFzaC5zbGljZSgxKTtlKCIudGVtcG9yYXJ5LmxpbmUtaGlnaGxpZ2h0IikuZm9yRWFjaChmdW5jdGlvbihlKXtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9KTt2YXIgcj0odC5tYXRjaCgvXC4oW1xkLC1dKykkLyl8fFssIiJdKVsxXTtpZighcnx8ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCkpcmV0dXJuO3ZhciBpPXQuc2xpY2UoMCx0Lmxhc3RJbmRleE9mKCIuIikpLHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaSk7aWYoIXMpcmV0dXJuO3MuaGFzQXR0cmlidXRlKCJkYXRhLWxpbmUiKXx8cy5zZXRBdHRyaWJ1dGUoImRhdGEtbGluZSIsIiIpO24ocyxyLCJ0ZW1wb3JhcnkgIik7ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnRlbXBvcmFyeS5saW5lLWhpZ2hsaWdodCIpLnNjcm9sbEludG9WaWV3KCl9aWYoIXdpbmRvdy5QcmlzbSlyZXR1cm47dmFyIHQ9Y3JsZj0vXHI/XG58XHIvZyxpPTA7UHJpc20uaG9va3MuYWRkKCJhZnRlci1oaWdobGlnaHQiLGZ1bmN0aW9uKHQpe3ZhciBzPXQuZWxlbWVudC5wYXJlbnROb2RlLG89cyYmcy5nZXRBdHRyaWJ1dGUoImRhdGEtbGluZSIpO2lmKCFzfHwhb3x8IS9wcmUvaS50ZXN0KHMubm9kZU5hbWUpKXJldHVybjtjbGVhclRpbWVvdXQoaSk7ZSgiLmxpbmUtaGlnaGxpZ2h0IixzKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0pO24ocyxvKTtpPXNldFRpbWVvdXQociwxKX0pO2FkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLHIpfSkoKTs7ClByaXNtLmhvb2tzLmFkZCgiYWZ0ZXItaGlnaGxpZ2h0IixmdW5jdGlvbihlKXt2YXIgdD1lLmVsZW1lbnQucGFyZW50Tm9kZTtpZighdHx8IS9wcmUvaS50ZXN0KHQubm9kZU5hbWUpfHx0LmNsYXNzTmFtZS5pbmRleE9mKCJsaW5lLW51bWJlcnMiKT09PS0xKXtyZXR1cm59dmFyIG49MStlLmNvZGUuc3BsaXQoIlxuIikubGVuZ3RoO3ZhciByO2xpbmVzPW5ldyBBcnJheShuKTtsaW5lcz1saW5lcy5qb2luKCI8c3Bhbj48L3NwYW4+Iik7cj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7ci5jbGFzc05hbWU9ImxpbmUtbnVtYmVycy1yb3dzIjtyLmlubmVySFRNTD1saW5lcztpZih0Lmhhc0F0dHJpYnV0ZSgiZGF0YS1zdGFydCIpKXt0LnN0eWxlLmNvdW50ZXJSZXNldD0ibGluZW51bWJlciAiKyhwYXJzZUludCh0LmdldEF0dHJpYnV0ZSgiZGF0YS1zdGFydCIpLDEwKS0xKX1lLmVsZW1lbnQuYXBwZW5kQ2hpbGQocil9KQo7CihmdW5jdGlvbigpe2lmKCFzZWxmLlByaXNtfHwhc2VsZi5kb2N1bWVudHx8IWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IpcmV0dXJuO3ZhciBlPXtqczoiamF2YXNjcmlwdCIsaHRtbDoibWFya3VwIixzdmc6Im1hcmt1cCJ9O0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInByZVtkYXRhLXNyY10iKSkuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbj10LmdldEF0dHJpYnV0ZSgiZGF0YS1zcmMiKSxyPShuLm1hdGNoKC9cLihcdyspJC8pfHxbLCIiXSlbMV0saT1lW3JdfHxyLHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY29kZSIpO3MuY2xhc3NOYW1lPSJsYW5ndWFnZS0iK2k7dC50ZXh0Q29udGVudD0iIjtzLnRleHRDb250ZW50PSJMb2FkaW5n4oCmIjt0LmFwcGVuZENoaWxkKHMpO3ZhciBvPW5ldyBYTUxIdHRwUmVxdWVzdDtvLm9wZW4oIkdFVCIsbiwhMCk7by5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZihvLnJlYWR5U3RhdGU9PTQpaWYoby5zdGF0dXM8NDAwJiZvLnJlc3BvbnNlVGV4dCl7cy50ZXh0Q29udGVudD1vLnJlc3BvbnNlVGV4dDtQcmlzbS5oaWdobGlnaHRFbGVtZW50KHMpfWVsc2Ugby5zdGF0dXM+PTQwMD9zLnRleHRDb250ZW50PSLinJYgRXJyb3IgIitvLnN0YXR1cysiIHdoaWxlIGZldGNoaW5nIGZpbGU6ICIrby5zdGF0dXNUZXh0OnMudGV4dENvbnRlbnQ9IuKcliBFcnJvcjogRmlsZSBkb2VzIG5vdCBleGlzdCBvciBpcyBlbXB0eSJ9O28uc2VuZChudWxsKX0pfSkoKTs7Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/namespaces/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/namespaces/CGProductBuilder.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICAKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTcyeDcyLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTE0eDExNC5wbmciLz4KPC9oZWFkPgo8Ym9keT4KCjxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItZml4ZWQtdG9wIj4KICAgIDxkaXYgY2xhc3M9Im5hdmJhci1pbm5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbmF2YmFyIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWVsbGlwc2lzLXZlcnRpY2FsIj48L2k+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSIuLi9pbmRleC5odG1sIj5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC9hPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHB1bGwtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9pbmRleC5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIERvY3VtZW50YXRpb24gPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9ImNoYXJ0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtDbGFzcyBoaWVyYXJjaHkgZGlhZ3JhbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0icmVwb3J0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9ydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtFcnJvcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+OTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtNYXJrZXJzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwhLS08ZGl2IGNsYXNzPSJnb190b190b3AiPi0tPgogICAgPCEtLTxhIGhyZWY9IiNfX18iIHN0eWxlPSJjb2xvcjogaW5oZXJpdCI+QmFjayB0byB0b3AmIzE2MDsmIzE2MDs8aSBjbGFzcz0iaWNvbi11cGxvYWQgaWNvbi13aGl0ZSI+PC9pPjwvYT4tLT4KICAgIDwhLS08L2Rpdj4tLT4KPC9kaXY+Cgo8ZGl2IGlkPSJfX18iIGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4yIHNpZGViYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTEzNjIyMzMyMDMiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL2RlZmF1bHQuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPlw8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMTM2MjIzMzIwMyIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlIGluIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1pbm5lciI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWdyb3VwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWhlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYWNjb3JkaW9uLXRvZ2dsZSBjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYW1lc3BhY2UtOTYxMTUyMTUxIj48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiIHN0eWxlPSJtYXJnaW4tbGVmdDogMzBweDsgcGFkZGluZy1sZWZ0OiAwIj5DR1Byb2R1Y3RCdWlsZGVyPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ibmFtZXNwYWNlLTk2MTE1MjE1MSIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlICI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIudGlja2V0X2Rpc3Bvc2l0aW9uLmh0bWwiPnRpY2tldF9kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sIj5EaXNwb3NpdGlvbkhhbmRsZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5Qcm9kdWN0U3BlYy5odG1sIj5Qcm9kdWN0U3BlYzwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbi5odG1sIj5vcHRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwiPm9wdGlvbl9zZXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sIj5kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IG5hbWVzcGFjZSI+CiAgICAgICAgICAgICAgICAgICAgPG5hdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9kZWZhdWx0Lmh0bWwiPlw8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uYXY+CiAgICAgICAgICAgICAgICAgICAgPGgxPjxzbWFsbD5cPC9zbWFsbD5DR1Byb2R1Y3RCdWlsZGVyPC9oMT4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+Q2xhc3NlczwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1ob3ZlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci50aWNrZXRfZGlzcG9zaXRpb24uaHRtbCI+dGlja2V0X2Rpc3Bvc2l0aW9uPC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGVtPkFuIGFic3RyYWN0IGNsYXNzIHRvIGRlZmluZSBhIGRpc3Bvc2l0aW9uLjwvZW0+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sIj5EaXNwb3NpdGlvbkhhbmRsZXI8L2E+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48ZW0+QSBjbGFzcyB0byBtYW5hZ2UgYW5kIGludGVyYWN0IHdpdGggZGlzcG9zaXRpb25zLjwvZW0+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLlByb2R1Y3RTcGVjLmh0bWwiPlByb2R1Y3RTcGVjPC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGVtPkFuIGludGVybWVkaWF0ZSBjbGFzcyB0aGF0IGRlZmluZXMgYSBwcm9kdWN0IHNwZWNpZmljYXRpb24uPC9lbT48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIub3B0aW9uLmh0bWwiPm9wdGlvbjwvYT48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxlbT5EZWZpbmUgYSBzaW5nbGUgb3B0aW9uLjwvZW0+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbl9zZXQuaHRtbCI+b3B0aW9uX3NldDwvYT48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxlbT5EZWZpbmUgYW4gb3B0aW9uIHNldC48L2VtPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sIj5kaXNwb3NpdGlvbjwvYT48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxlbT5BbiBhYnN0cmFjdCBjbGFzcyB0byBkZWZpbmUgYSBkaXNwb3NpdGlvbi48L2VtPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8YXNpZGUgY2xhc3M9InNwYW40IGRldGFpbHNiYXIiPgogICAgICAgICAgICAgICAgICAgIDxkbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGR0Pk5hbWVzcGFjZSBoaWVyYXJjaHk8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9ImhpZXJhcmNoeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmFtZXNwYWNlLXdyYXBwZXIiPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvZGVmYXVsdC5odG1sIj5cPC9hPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmFtZXNwYWNlLXdyYXBwZXIiPlxDR1Byb2R1Y3RCdWlsZGVyPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgICAgIDwvYXNpZGU+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDxmb290ZXIgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQyIj4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDEiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgZm9vdGVyLXNlY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYmFyLWNoYXJ0Ij48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vZ3JhcGhzL2NsYXNzLmh0bWwiPkNsYXNzIEhpZXJhcmNoeSBEaWFncmFtPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLXB1c2hwaW4iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj5FcnJvcnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj5NYXJrZXJzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8aHIgLz4KICAgICAgICAgICAgICAgICAgICBEb2N1bWVudGF0aW9uIGlzIHBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5waHBkb2Mub3JnLyI+cGhwRG9jdW1lbnRvciA8L2E+IGFuZCBhdXRob3JlZAogICAgICAgICAgICAgICAgICAgIG9uIE9jdG9iZXIgMjR0aCwgMjAxNSBhdCAxMDoxMS4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDwvc2VjdGlvbj4KICAgIDwvZm9vdGVyPgo8L2Rpdj4KCjwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/namespaces/default.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iIi8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIi8+CgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9jc3MvYm9vdHN0cmFwLWNvbWJpbmVkLm5vLWljb25zLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS8zLjIuMS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSIuLi9jc3MvcHJpc20uY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy90ZW1wbGF0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vaHRtbDVzaGltLmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9odG1sNS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDwhW2VuZGlmXS0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTAuMy9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvanF1ZXJ5LnNtb290aC1zY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3ByaXNtLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIFRPRE86IEFkZCBodHRwOi8vanNjcm9sbHBhbmUua2VsdmlubHVjay5jb20vIHRvIHN0eWxlIHRoZSBzY3JvbGxiYXJzIGZvciBicm93c2VycyBub3QgdXNpbmcgd2Via2l0LS0+CiAgICAKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLi4vaW1hZ2VzL2Zhdmljb24uaWNvIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTcyeDcyLnBuZyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTE0eDExNC5wbmciLz4KPC9oZWFkPgo8Ym9keT4KCjxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItZml4ZWQtdG9wIj4KICAgIDxkaXYgY2xhc3M9Im5hdmJhci1pbm5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbmF2YmFyIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWVsbGlwc2lzLXZlcnRpY2FsIj48L2k+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSIuLi9pbmRleC5odG1sIj5DR1Byb2R1Y3RCdWlsZGVyIDEuMi4xPC9hPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IHB1bGwtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9pbmRleC5odG1sIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIERvY3VtZW50YXRpb24gPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9ImNoYXJ0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtDbGFzcyBoaWVyYXJjaHkgZGlhZ3JhbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0icmVwb3J0cy1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9ydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtFcnJvcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+OTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tbGlzdC1hbHQiPjwvaT4mIzE2MDtNYXJrZXJzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwhLS08ZGl2IGNsYXNzPSJnb190b190b3AiPi0tPgogICAgPCEtLTxhIGhyZWY9IiNfX18iIHN0eWxlPSJjb2xvcjogaW5oZXJpdCI+QmFjayB0byB0b3AmIzE2MDsmIzE2MDs8aSBjbGFzcz0iaWNvbi11cGxvYWQgaWNvbi13aGl0ZSI+PC9pPjwvYT4tLT4KICAgIDwhLS08L2Rpdj4tLT4KPC9kaXY+Cgo8ZGl2IGlkPSJfX18iIGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNwYW4yIHNpZGViYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbiIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFjY29yZGlvbi10b2dnbGUgIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmFtZXNwYWNlLTEyNTU4NDIwNDYiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9uYW1lc3BhY2VzL2RlZmF1bHQuaHRtbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB4OyBwYWRkaW5nLWxlZnQ6IDAiPlw8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJuYW1lc3BhY2UtMTI1NTg0MjA0NiIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlIGluIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjY29yZGlvbi1pbm5lciI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWdyb3VwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3JkaW9uLWhlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYWNjb3JkaW9uLXRvZ2dsZSBjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYW1lc3BhY2UtNDIwNDk5OTcxIj48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiIHN0eWxlPSJtYXJnaW4tbGVmdDogMzBweDsgcGFkZGluZy1sZWZ0OiAwIj5DR1Byb2R1Y3RCdWlsZGVyPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0ibmFtZXNwYWNlLTQyMDQ5OTk3MSIgY2xhc3M9ImFjY29yZGlvbi1ib2R5IGNvbGxhcHNlICI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY2NvcmRpb24taW5uZXIiPgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsYXNzIj48YSBocmVmPSIuLi9jbGFzc2VzL0NHUHJvZHVjdEJ1aWxkZXIudGlja2V0X2Rpc3Bvc2l0aW9uLmh0bWwiPnRpY2tldF9kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLkRpc3Bvc2l0aW9uSGFuZGxlci5odG1sIj5EaXNwb3NpdGlvbkhhbmRsZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5Qcm9kdWN0U3BlYy5odG1sIj5Qcm9kdWN0U3BlYzwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGFzcyI+PGEgaHJlZj0iLi4vY2xhc3Nlcy9DR1Byb2R1Y3RCdWlsZGVyLm9wdGlvbi5odG1sIj5vcHRpb248L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5vcHRpb25fc2V0Lmh0bWwiPm9wdGlvbl9zZXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xhc3MiPjxhIGhyZWY9Ii4uL2NsYXNzZXMvQ0dQcm9kdWN0QnVpbGRlci5kaXNwb3NpdGlvbi5odG1sIj5kaXNwb3NpdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuOCBjb250ZW50IG5hbWVzcGFjZSI+CiAgICAgICAgICAgICAgICAgICAgPG5hdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uYXY+CiAgICAgICAgICAgICAgICAgICAgPGgxPjxzbWFsbD48L3NtYWxsPlw8L2gxPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5OYW1lc3BhY2VzPC9oMj4KICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWhvdmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPkNHUHJvZHVjdEJ1aWxkZXI8L2E+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGFzaWRlIGNsYXNzPSJzcGFuNCBkZXRhaWxzYmFyIj4KICAgICAgICAgICAgICAgICAgICA8ZGw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5OYW1lc3BhY2UgaGllcmFyY2h5PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJoaWVyYXJjaHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lc3BhY2Utd3JhcHBlciI+XDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgICAgICA8L2FzaWRlPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8Zm9vdGVyIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIGZvb3Rlci1zZWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWJhci1jaGFydCI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj5DbGFzcyBIaWVyYXJjaHkgRGlhZ3JhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1wdXNocGluIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+RXJyb3JzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+TWFya2VyczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPGhyIC8+CiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnRhdGlvbiBpcyBwb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZy8iPnBocERvY3VtZW50b3IgPC9hPiBhbmQgYXV0aG9yZWQKICAgICAgICAgICAgICAgICAgICBvbiBPY3RvYmVyIDI0dGgsIDIwMTUgYXQgMTA6MTEuCiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/reports/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/apidoc/reports/deprecated.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT4gICAgICZyYXF1bzsgRGVwcmVjYXRlZCBlbGVtZW50cwo8L3RpdGxlPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSIiLz4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIiLz4KCiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL3R3aXR0ZXItYm9vdHN0cmFwLzIuMy4yL2Nzcy9ib290c3RyYXAtY29tYmluZWQubm8taWNvbnMubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzMuMi4xL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy9wcmlzbS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgPGxpbmsgaHJlZj0iLi4vY3NzL3RlbXBsYXRlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIi8+CiAgICAKICAgIDwhLS1baWYgbHQgSUUgOV0+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9odG1sNXNoaW0uZ29vZ2xlY29kZS5jb20vc3ZuL3RydW5rL2h0bWw1LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPCFbZW5kaWZdLS0+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTEuMTAuMi5taW4uanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vdWkvMS4xMC4zL2pxdWVyeS11aS5taW4uanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9qcXVlcnkuc21vb3RoLXNjcm9sbC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvcHJpc20ubWluLmpzIj48L3NjcmlwdD4KICAgIDwhLS0gVE9ETzogQWRkIGh0dHA6Ly9qc2Nyb2xscGFuZS5rZWx2aW5sdWNrLmNvbS8gdG8gc3R5bGUgdGhlIHNjcm9sbGJhcnMgZm9yIGJyb3dzZXJzIG5vdCB1c2luZyB3ZWJraXQtLT4KICAgIAogICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIuLi9pbWFnZXMvZmF2aWNvbi5pY28iLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24ucG5nIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSI3Mng3MiIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tNzJ4NzIucG5nIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxMTR4MTE0IiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi0xMTR4MTE0LnBuZyIvPgo8L2hlYWQ+Cjxib2R5PgoKPGRpdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1maXhlZC10b3AiPgogICAgPGRpdiBjbGFzcz0ibmF2YmFyLWlubmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1uYXZiYXIiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9Ii5uYXYtY29sbGFwc2UiPgogICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tZWxsaXBzaXMtdmVydGljYWwiPjwvaT4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8YSBjbGFzcz0iYnJhbmQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPkNHUHJvZHVjdEJ1aWxkZXIgMS4yLjE8L2E+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXYtY29sbGFwc2UiPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgcHVsbC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgRG9jdW1lbnRhdGlvbiA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0iY2hhcnRzLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhcnRzIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vZ3JhcGhzL2NsYXNzLmh0bWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1saXN0LWFsdCI+PC9pPiYjMTYwO0NsYXNzIGhpZXJhcmNoeSBkaWFncmFtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIGlkPSJyZXBvcnRzLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVwb3J0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL3JlcG9ydHMvZXJyb3JzLmh0bWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1saXN0LWFsdCI+PC9pPiYjMTYwO0Vycm9ycyA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyBwdWxsLXJpZ2h0Ij45PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vcmVwb3J0cy9tYXJrZXJzLmh0bWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1saXN0LWFsdCI+PC9pPiYjMTYwO01hcmtlcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+MDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPCEtLTxkaXYgY2xhc3M9ImdvX3RvX3RvcCI+LS0+CiAgICA8IS0tPGEgaHJlZj0iI19fXyIgc3R5bGU9ImNvbG9yOiBpbmhlcml0Ij5CYWNrIHRvIHRvcCYjMTYwOyYjMTYwOzxpIGNsYXNzPSJpY29uLXVwbG9hZCBpY29uLXdoaXRlIj48L2k+PC9hPi0tPgogICAgPCEtLTwvZGl2Pi0tPgo8L2Rpdj4KCjxkaXYgaWQ9Il9fXyIgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjIgc2lkZWJhciI+CiAgICAgICAgICAgIDx1bCBjbGFzcz0ic2lkZS1uYXYgbmF2IG5hdi1saXN0Ij4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWhlYWRlciI+TmF2aWdhdGlvbjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iYnJlYWRjcnVtYiI+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vIj48aSBjbGFzcz0iaWNvbi1zdG9wIj48L2k+PC9hPjxzcGFuIGNsYXNzPSJkaXZpZGVyIj5cPC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+RGVwcmVjYXRlZCBlbGVtZW50czwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8ZGl2IGlkPSJtYXJrZXItYWNjb3JkaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtaW5mbyI+Tm8gZGVwcmVjYXRlZCBlbGVtZW50cyBoYXZlIGJlZW4gZm91bmQgaW4gdGhpcyBwcm9qZWN0LjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8Zm9vdGVyIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MiI+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIGZvb3Rlci1zZWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWNvZGUiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vbmFtZXNwYWNlcy9DR1Byb2R1Y3RCdWlsZGVyLmh0bWwiPlxDR1Byb2R1Y3RCdWlsZGVyPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLWJhci1jaGFydCI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL2dyYXBocy9jbGFzcy5odG1sIj5DbGFzcyBIaWVyYXJjaHkgRGlhZ3JhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1wdXNocGluIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+RXJyb3JzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+TWFya2VyczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPGhyIC8+CiAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnRhdGlvbiBpcyBwb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwZG9jLm9yZy8iPnBocERvY3VtZW50b3IgPC9hPiBhbmQgYXV0aG9yZWQKICAgICAgICAgICAgICAgICAgICBvbiBPY3RvYmVyIDI0dGgsIDIwMTUgYXQgMTA6MTIuCiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/reports/errors.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT4gICAgICZyYXF1bzsgQ29tcGlsYXRpb24gZXJyb3JzCjwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9IiIvPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiIvPgoKICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vdHdpdHRlci1ib290c3RyYXAvMi4zLjIvY3NzL2Jvb3RzdHJhcC1jb21iaW5lZC5uby1pY29ucy5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvMy4yLjEvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iLi4vY3NzL3ByaXNtLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIi8+CiAgICA8bGluayBocmVmPSIuLi9jc3MvdGVtcGxhdGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiLz4KICAgIAogICAgPCEtLVtpZiBsdCBJRSA5XT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2h0bWw1c2hpbS5nb29nbGVjb2RlLmNvbS9zdm4vdHJ1bmsvaHRtbDUuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CiAgICA8IVtlbmRpZl0tLT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMC4yLm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS91aS8xLjEwLjMvanF1ZXJ5LXVpLm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL3R3aXR0ZXItYm9vdHN0cmFwLzIuMy4yL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL2pxdWVyeS5zbW9vdGgtc2Nyb2xsLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9wcmlzbS5taW4uanMiPjwvc2NyaXB0PgogICAgPCEtLSBUT0RPOiBBZGQgaHR0cDovL2pzY3JvbGxwYW5lLmtlbHZpbmx1Y2suY29tLyB0byBzdHlsZSB0aGUgc2Nyb2xsYmFycyBmb3IgYnJvd3NlcnMgbm90IHVzaW5nIHdlYmtpdC0tPgogICAgCiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIvPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjcyeDcyIiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi03Mng3Mi5wbmciLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjExNHgxMTQiIGhyZWY9Ii4uL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTExNHgxMTQucG5nIi8+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWZpeGVkLXRvcCI+CiAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaW5uZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLW5hdmJhciIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1lbGxpcHNpcy12ZXJ0aWNhbCI+PC9pPgogICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDxhIGNsYXNzPSJicmFuZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+Q0dQcm9kdWN0QnVpbGRlciAxLjIuMTwvYT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBwdWxsLXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vaW5kZXguaHRtbCIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBEb2N1bWVudGF0aW9uIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIGlkPSJjaGFydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFydHMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9ncmFwaHMvY2xhc3MuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7Q2xhc3MgaGllcmFyY2h5IGRpYWdyYW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biIgaWQ9InJlcG9ydHMtbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBvcnRzIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vcmVwb3J0cy9lcnJvcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7RXJyb3JzIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1pbmZvIHB1bGwtcmlnaHQiPjk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLi9yZXBvcnRzL21hcmtlcnMuaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLWxpc3QtYWx0Ij48L2k+JiMxNjA7TWFya2VycyA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyBwdWxsLXJpZ2h0Ij4wPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8IS0tPGRpdiBjbGFzcz0iZ29fdG9fdG9wIj4tLT4KICAgIDwhLS08YSBocmVmPSIjX19fIiBzdHlsZT0iY29sb3I6IGluaGVyaXQiPkJhY2sgdG8gdG9wJiMxNjA7JiMxNjA7PGkgY2xhc3M9Imljb24tdXBsb2FkIGljb24td2hpdGUiPjwvaT48L2E+LS0+CiAgICA8IS0tPC9kaXY+LS0+CjwvZGl2PgoKPGRpdiBpZD0iX19fIiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGFuMiBzaWRlYmFyIj4KCiAgICAgICAgICAgIDx1bCBjbGFzcz0ic2lkZS1uYXYgbmF2IG5hdi1saXN0Ij4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWhlYWRlciI+TmF2aWdhdGlvbjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iI2NsYXNzLnRpY2tldF9kaXNwb3NpdGlvbi5waHAiPjxpIGNsYXNzPSJpY29uLWZpbGUiPjwvaT4gY2xhc3MudGlja2V0X2Rpc3Bvc2l0aW9uLnBocDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNjbGFzcy5vcHRpb25fc2V0LnBocCI+PGkgY2xhc3M9Imljb24tZmlsZSI+PC9pPiBjbGFzcy5vcHRpb25fc2V0LnBocDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjEwIG9mZnNldDIiPgogICAgICAgICAgICA8dWwgY2xhc3M9ImJyZWFkY3J1bWIiPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uLyI+PGkgY2xhc3M9Imljb24tcmVtb3ZlLXNpZ24iPjwvaT48L2E+PHNwYW4gY2xhc3M9ImRpdmlkZXIiPlw8L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgIDxsaT5Db21waWxhdGlvbiBFcnJvcnM8L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWNrYWdlLWNvbnRlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBuYW1lPSJjbGFzcy50aWNrZXRfZGlzcG9zaXRpb24ucGhwIiBpZD0iY2xhc3MudGlja2V0X2Rpc3Bvc2l0aW9uLnBocCI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8aDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1maWxlIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcy50aWNrZXRfZGlzcG9zaXRpb24ucGhwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgc3R5bGU9ImZsb2F0OiByaWdodDtwYWRkaW5nLXJpZ2h0OiAxMHB4OyI+Nzwvc21hbGw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIG1hcmtlcnMgdGFibGUtYm9yZGVyZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UeXBlPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkxpbmU8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+RGVzY3JpcHRpb248L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPmVycm9yPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4wPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5ObyBzdW1tYXJ5IHdhcyBmb3VuZCBmb3IgdGhpcyBmaWxlPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+ZXJyb3I8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjU8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk5vIHN1bW1hcnkgZm9yIGNsYXNzIFxDR1Byb2R1Y3RCdWlsZGVyXHRpY2tldF9kaXNwb3NpdGlvbjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPmVycm9yPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD43PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5ObyBzdW1tYXJ5IGZvciBtZXRob2QgZ2V0X2ZyaWVuZGx5bmFtZSgpPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+ZXJyb3I8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjEzPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5ObyBzdW1tYXJ5IGZvciBtZXRob2QgZ2V0X2J1dHRvbnRleHQoKTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPmVycm9yPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4xOTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Tm8gc3VtbWFyeSBmb3IgbWV0aG9kIGNvbXBhdGlibGUoKTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPmVycm9yPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4zMDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Tm8gc3VtbWFyeSBmb3IgbWV0aG9kIHJlYWR5KCk8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5lcnJvcjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Mzk8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk5vIHN1bW1hcnkgZm9yIG1ldGhvZCBkaXNwb3NlKCk8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFja2FnZS1jb250ZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFja2FnZS1jb250ZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFja2FnZS1jb250ZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFja2FnZS1jb250ZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbmFtZT0iY2xhc3Mub3B0aW9uX3NldC5waHAiIGlkPSJjbGFzcy5vcHRpb25fc2V0LnBocCI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8aDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1maWxlIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcy5vcHRpb25fc2V0LnBocAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIHN0eWxlPSJmbG9hdDogcmlnaHQ7cGFkZGluZy1yaWdodDogMTBweDsiPjI8L3NtYWxsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSBtYXJrZXJzIHRhYmxlLWJvcmRlcmVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+VHlwZTwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5MaW5lPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkRlc2NyaXB0aW9uPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5lcnJvcjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MjEwPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Bcmd1bWVudCAkbmFtZSBpcyBtaXNzaW5nIGZyb20gdGhlIERvY2Jsb2NrIG9mIGdldF9pZF9ieV9uYW1lKCk8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5lcnJvcjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MjEwPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5ObyBzdW1tYXJ5IGZvciBtZXRob2QgZ2V0X2lkX2J5X25hbWUoKTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWNrYWdlLWNvbnRlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPGZvb3RlciBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDIiPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0icm93LWZsdWlkIj4KICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuMTAgb2Zmc2V0MSI+CiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCBmb290ZXItc2VjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1jb2RlIj48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL25hbWVzcGFjZXMvQ0dQcm9kdWN0QnVpbGRlci5odG1sIj5cQ0dQcm9kdWN0QnVpbGRlcjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT48aSBjbGFzcz0iaWNvbi1iYXItY2hhcnQiPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9ncmFwaHMvY2xhc3MuaHRtbCI+Q2xhc3MgSGllcmFyY2h5IERpYWdyYW08L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tcHVzaHBpbiI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL3JlcG9ydHMvZXJyb3JzLmh0bWwiPkVycm9yczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vcmVwb3J0cy9tYXJrZXJzLmh0bWwiPk1hcmtlcnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDEiPgogICAgICAgICAgICAgICAgICAgIDxociAvPgogICAgICAgICAgICAgICAgICAgIERvY3VtZW50YXRpb24gaXMgcG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LnBocGRvYy5vcmcvIj5waHBEb2N1bWVudG9yIDwvYT4gYW5kIGF1dGhvcmVkCiAgICAgICAgICAgICAgICAgICAgb24gT2N0b2JlciAyNHRoLCAyMDE1IGF0IDEwOjEyLgogICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9mb290ZXI+CjwvZGl2PgoKPC9ib2R5Pgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/apidoc/reports/markers.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCIvPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDx0aXRsZT4gICAgICZyYXF1bzsgTWFya2Vycwo8L3RpdGxlPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSIiLz4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIiLz4KCiAgICA8bGluayBocmVmPSJodHRwczovL25ldGRuYS5ib290c3RyYXBjZG4uY29tL3R3aXR0ZXItYm9vdHN0cmFwLzIuMy4yL2Nzcy9ib290c3RyYXAtY29tYmluZWQubm8taWNvbnMubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzMuMi4xL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxsaW5rIGhyZWY9Ii4uL2Nzcy9wcmlzbS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIvPgogICAgPGxpbmsgaHJlZj0iLi4vY3NzL3RlbXBsYXRlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIi8+CiAgICAKICAgIDwhLS1baWYgbHQgSUUgOV0+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9odG1sNXNoaW0uZ29vZ2xlY29kZS5jb20vc3ZuL3RydW5rL2h0bWw1LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogICAgPCFbZW5kaWZdLS0+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTEuMTAuMi5taW4uanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vdWkvMS4xMC4zL2pxdWVyeS11aS5taW4uanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS90d2l0dGVyLWJvb3RzdHJhcC8yLjMuMi9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9qcXVlcnkuc21vb3RoLXNjcm9sbC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLi4vanMvcHJpc20ubWluLmpzIj48L3NjcmlwdD4KICAgIDwhLS0gVE9ETzogQWRkIGh0dHA6Ly9qc2Nyb2xscGFuZS5rZWx2aW5sdWNrLmNvbS8gdG8gc3R5bGUgdGhlIHNjcm9sbGJhcnMgZm9yIGJyb3dzZXJzIG5vdCB1c2luZyB3ZWJraXQtLT4KICAgIAogICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIuLi9pbWFnZXMvZmF2aWNvbi5pY28iLz4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24ucG5nIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSI3Mng3MiIgaHJlZj0iLi4vaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tNzJ4NzIucG5nIi8+CiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxMTR4MTE0IiBocmVmPSIuLi9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi0xMTR4MTE0LnBuZyIvPgo8L2hlYWQ+Cjxib2R5PgoKPGRpdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1maXhlZC10b3AiPgogICAgPGRpdiBjbGFzcz0ibmF2YmFyLWlubmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1uYXZiYXIiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9Ii5uYXYtY29sbGFwc2UiPgogICAgICAgICAgICAgICAgPGkgY2xhc3M9Imljb24tZWxsaXBzaXMtdmVydGljYWwiPjwvaT4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8YSBjbGFzcz0iYnJhbmQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPkNHUHJvZHVjdEJ1aWxkZXIgMS4yLjE8L2E+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXYtY29sbGFwc2UiPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgcHVsbC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgRG9jdW1lbnRhdGlvbiA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIiBpZD0iY2hhcnRzLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhcnRzIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vZ3JhcGhzL2NsYXNzLmh0bWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1saXN0LWFsdCI+PC9pPiYjMTYwO0NsYXNzIGhpZXJhcmNoeSBkaWFncmFtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIGlkPSJyZXBvcnRzLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVwb3J0cyA8YiBjbGFzcz0iY2FyZXQiPjwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii4uL3JlcG9ydHMvZXJyb3JzLmh0bWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1saXN0LWFsdCI+PC9pPiYjMTYwO0Vycm9ycyA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtaW5mbyBwdWxsLXJpZ2h0Ij45PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLi4vcmVwb3J0cy9tYXJrZXJzLmh0bWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1saXN0LWFsdCI+PC9pPiYjMTYwO01hcmtlcnMgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWluZm8gcHVsbC1yaWdodCI+MDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPCEtLTxkaXYgY2xhc3M9ImdvX3RvX3RvcCI+LS0+CiAgICA8IS0tPGEgaHJlZj0iI19fXyIgc3R5bGU9ImNvbG9yOiBpbmhlcml0Ij5CYWNrIHRvIHRvcCYjMTYwOyYjMTYwOzxpIGNsYXNzPSJpY29uLXVwbG9hZCBpY29uLXdoaXRlIj48L2k+PC9hPi0tPgogICAgPCEtLTwvZGl2Pi0tPgo8L2Rpdj4KCjxkaXYgaWQ9Il9fXyIgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjIgc2lkZWJhciI+CiAgICAgICAgICAgIDx1bCBjbGFzcz0ic2lkZS1uYXYgbmF2IG5hdi1saXN0Ij4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWhlYWRlciI+TmF2aWdhdGlvbjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic3BhbjEwIG9mZnNldDIiPgoKICAgICAgICAgICAgPHVsIGNsYXNzPSJicmVhZGNydW1iIj4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi8iPjxpIGNsYXNzPSJpY29uLW1hcC1tYXJrZXIiPjwvaT48L2E+PHNwYW4gY2xhc3M9ImRpdmlkZXIiPlw8L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgIDxsaT5NYXJrZXJzPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGVydCBhbGVydC1pbmZvIj5ObyBtYXJrZXJzIGhhdmUgYmVlbiBmb3VuZCBpbiB0aGlzIHByb2plY3QuPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGlkPSJtYXJrZXItYWNjb3JkaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDxmb290ZXIgY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQyIj4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InJvdy1mbHVpZCI+CiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3BhbjEwIG9mZnNldDEiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQgZm9vdGVyLXNlY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tY29kZSI+PC9pPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9uYW1lc3BhY2VzL0NHUHJvZHVjdEJ1aWxkZXIuaHRtbCI+XENHUHJvZHVjdEJ1aWxkZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW40Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+PGkgY2xhc3M9Imljb24tYmFyLWNoYXJ0Ij48L2k+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi4vZ3JhcGhzL2NsYXNzLmh0bWwiPkNsYXNzIEhpZXJhcmNoeSBEaWFncmFtPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzcGFuNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxPjxpIGNsYXNzPSJpY29uLXB1c2hwaW4iPjwvaT48L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLi9yZXBvcnRzL2Vycm9ycy5odG1sIj5FcnJvcnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4uL3JlcG9ydHMvbWFya2Vycy5odG1sIj5NYXJrZXJzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJyb3ctZmx1aWQiPgogICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNwYW4xMCBvZmZzZXQxIj4KICAgICAgICAgICAgICAgICAgICA8aHIgLz4KICAgICAgICAgICAgICAgICAgICBEb2N1bWVudGF0aW9uIGlzIHBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5waHBkb2Mub3JnLyI+cGhwRG9jdW1lbnRvciA8L2E+IGFuZCBhdXRob3JlZAogICAgICAgICAgICAgICAgICAgIG9uIE9jdG9iZXIgMjR0aCwgMjAxNSBhdCAxMDoxMi4KICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDwvc2VjdGlvbj4KICAgIDwvZm9vdGVyPgo8L2Rpdj4KCjwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/doc/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgoJPGxpPlZlcnNpb24gMS4wIC0gSW5pdGlhbCByZWxlYXNlPC9saT4KCTxsaT5WZXJzaW9uIDEuMQoJPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPgogIAkgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyB2ZXJzaW9uIGltcGxlbWVudHMgc2lnbmlmaWNhbnQgbmV3IGZ1bmN0aW9uYWxpdHksICB5b3Ugd2lsbCBuZWVkIHRvIHJlYnVpbGQgeW91ciByZW5kZXIgdGVtcGxhdGVzIGFuZCBkaXNwb3NpdGlvbiB0ZW1wbGF0ZXMgZnJvbSBmYWN0b3J5IGRlZmF1bHQuPC9wPgoJICA8cD5Gb3IgdGhlIHJlbmRlciB0ZW1wbGF0ZSwgcmVzZXQgdGhlIHByb3RvdHlwZSByZW5kZXIgdGVtcGxhdGUgdG8gZmFjdG9yeSBkZWZhdWx0cywgdGhlbiBjcmVhdGUgYSBuZXcgcmVuZGVyIHRlbXBsYXRlLCBhbmQgc3R5bGUgaXQgaW4gdGhlIHdheSB5b3Ugd2FudC48L3A+Cgk8cD5Gb3IgdGhlIGRpc3Bvc2l0aW9uIHRlbXBsYXRlcywgeW91IHdpbGwgbmVlZCB0byByZXNldCB0aGUgdGVtcGxhdGVzIHRvIHRoZWlyIGZhY3RvcnkgZGVmYXVsdHMsIGFuZCB0aGVuIHJlLXN0eWxlIHRoZW0gaW4gdGhlIHdheSB5b3Ugd2FudC4gIEl0IG1heSBiZSB1c2VmdWwgdG8gZmlyc3QgY29weSB0aGUgY3VycmVudCB0ZW1wbGF0ZXMgdG8gYSB0ZXh0IGVkaXRvciBmb3IgcmVmZXJlbmNlIHB1cnBvc2VzLjwvcD4KCTwvZGl2PgoJPHVsPgogIAkgIDxsaT5BZGRzIGFiaWxpdHkgdG8gaGF2ZSBvcHRpb24gc2V0cyB0aGF0IGFyZSBtdWx0aS1zZWxlY3QgKGNoZWNrYm94ZXMgaW5zdGVhZCBvZiByYWRpbyBidXR0b25zKTwvbGk+Cgk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDEuMgoJPHVsPgoJICA8bGk+TWlub3IgYnVnIGZpeGVzIGFuZCBtaXNzaW5nIGxhbmcgc3RyaW5ncy48L2xpPgoJICA8bGk+QWRkcyBhIHByZXNldHMgdGV4dCBhcmVhIHRvIHNwZWNpZnkgb24gYSBwZXItcHJvZHVjdCBiYXNpcyB3aGljaCBvcHRpb25zIHNob3VsZCBiZSBzZWxlY3RlZCBmb3IgZWFjaCBvcHRpb24uICAgSW4gdGhlIGZ1dHVyZSB0aGlzIGNvdWxkIGJlIHNvbWUgZHluYW1pYyBqYXZhc2NyaXB0eSB0aGluZywgYnV0IGZvciBub3cgaXQncyBqdXN0IGEgdGV4dCBhcmVhLjwvbGk+Cgk8L3VsPgoJPC9saT4KPC91bD4K]]></data>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/doc/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93cyBhIGN1c3RvbWVyIHRvIGR5bmFtaWNhbGx5IHNlbGVjdCBvcHRpb25zIGZvciBhIGNvbXBsZXggcHJvZHVjdCwgc2ltaWxhciB0byBkeW5hbWljIGNhciBidWlsZGluZywgb3IgUEMgYnVpbGRpbmcgc2l0ZXMuICBVc2VycyBzZWxlY3QgYSBzaW5nbGUgb3B0aW9uIGZvciBlYWNoIG9mIGEgc2VyaWVzIG9mIHByZS1zZWxlY3RlZCBvcHRpb24gZ3JvdXBzIGZvciBhIHByb2R1Y3QuICBBdCB0aGUgZW5kIHRoZSBjb21wbGV0ZWQgc3BlY2lmaWNhdGlvbiBjYW4gYmUgc2VudCB0byBhbiBhZG1pbmlzdHJhdG9yLCBvciBwcmludGVkIHRvIFBERi48L3A+Cgo8aDM+RmVhdHVyZXM6PC9oMz4KPHVsPgogIDxsaT5BbiBhZG1pbiBpbnRlcmZhY2UgdG8gY29uc3RydWN0ICZxdW90O29wdGlvbiBzZXRzJnF1b3Q7IHdoaWNoIGVhY2ggY29uc2lzdCBvZiBvbmUgb3IgbW9yZSBvcHRpb25zLjwvbEk+CiAgPGxpPkVhY2ggb3B0aW9uIHdpdGhpbiBhbiBvcHRpb24gc2V0IGhhcyBwcmljZSBjaGFyYWN0ZXJpc3RpY3MuPC9saT4KICA8bGk+RHluYW1pYyAoZHJhZyBhbmQgZHJvcCkgcmUtb3JkZXJpbmcgb2Ygb3B0aW9ucyBhbmQgb3B0aW9uIHNldHMgdG8gY29udHJvbCB0aGVpciBkaXNwbGF5IG9yZGVyLjwvbGk+CiAgPGxpPkNyZWF0ZXMgYSBuZXcgY29udGVudCB0eXBlICZxdW90O1Byb2R1Y3QgQnVpbGRlciZxdW90OyB0aGF0IGFzc29jaWF0ZXMgc2VsZWN0aW5nIGEgYmFzZSBwcmljZSwgYW5kIHRoZSBvcHRpb24gc2V0cyBmb3IgdGhlIHNwZWNpZmljIHByb2R1Y3QuPC9saT4KICA8bGk+U3VwcG9ydHMgd2hvbGVzYWxlIGFuZCByZXRhaWwgcHJpY2luZy4gIFRvIHJlY2VpdmUgd2hvbGVzYWxlIHByaWNpbmcgdGhlIHVzZXIgbXVzdCBiZSBsb2dnZWQgaW4gd2l0aCBGcm9udEVuZFVzZXJzIGFuZCBhIG1lbWJlciBvZiBhIHNwZWNpZmllZCBncm91cC48L2xpPgogIDxsaT5PcHRpb24gc2V0cyBjb250YWluIG9uZSBvciBtb3JlIG9wdGlvbnMuICBPcHRpb25hbGx5IG9wdGlvbiBzZXRzIGNhbiBiZSBmbGFnZ2VkIGFzIG11bHRpLXNlbGVjdCB0byBhbGxvdyB0aGUgc2l0ZSB2aXNpdG9yIHRvIHNlbGVjdCBtdWx0aXBsZSBvcHRpb25zIHdpdGhpbiBhIHNpbmdsZSBvcHRpb24gc2V0LjwvbGk+CiAgPGxpPkR5bmFtaWMgcHJpY2UgY2FsY3VsYXRpb24gKGNvbmZpZ3VyZWQgcHJpY2UgaXMgZGlzcGxheWVkIHRocm91Z2hvdXQgdGhlIHByb2Nlc3MpLjwvbGk+CiAgPGxpPkR5bmFtaWMgbmF2aWdhdGlvbiBiZXR3ZWVuIG9wdGlvbiBzZXRzLjwvbGk+CiAgPGxpPlNlbmQgZmluaXNoZWQgcHJvZHVjdCBjb25maWd1cmF0aW9uIHZpYSBlbWFpbCB0byBtZW1iZXJzIG9mIHRoZSBzZWxlY3RlZCBhZG1pbiBncm91cC48L2xpPgogIDxsaT5DcmVhdGUgYSBwcmludGFibGUgUERGIHZlcnNpb24gb2YgdGhlIGZpbmlzaGVkIHByb2R1Y3QgY29uZmlndXJhdGlvbi48L2xpPgogIDxsaT5JbXBvcnQgb3B0aW9uIHNldHMgZnJvbSBhIHdlbGwgZGVmaW5lZCBDU1YgZmlsZSAoc2FtcGxlIGluY2x1ZGVkKS48L2xpPgo8L3VsPgoKPGgzPkxpbWl0YXRpb25zOjwvaDM+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBtb2R1bGUgZG9lcyBub3QgKHlldCkgaW50ZWdyYXRlIHdpdGggbXkgRS1jb21tZXJjZSBzeXN0ZW0uPC9wPgoKPGgzPkhvdyBkbyBJIHVzZSBpdDo8L2gzPgo8cD5UaGVyZSBhcmUgYSBudW1iZXIgb2Ygc3RlcHMgdG8gdXNpbmcgdGhpcyBtb2R1bGUgb25jZSBpdCBpcyBpbnN0YWxsZWQ6PC9wPgo8b2w+CiAgPGxpPkNyZWF0ZSBhdCBsZWFzdCBvbmUgb3B0aW9uIHNldCwgd2l0aCBhdCBsZWFzdCBvbmUgb3B0aW9uLiA8ZW0+KG9yIGltcG9ydCBzb21lIHNhbXBsZSBvcHRpb24gc2V0cyBmcm9tIHRoZSBpbmNsdWRlZCBDU1YgZmlsZS4pPC9lbT48L2xpPgogIDxsaT5BZGp1c3QgdGhlIHNldHRpbmdzIGluIHRoZSB2YXJpb3VzIHNldHRpbmdzIHRhYiBhcyBuZWNlc3NhcnkuICBQYXJ0aWN1bGFybHkgeW91IHNob3VsZCBzZWxlY3QgYW4gYWRtaW4gZ3JvdXAgb24gdGhlIGVtYWlsIGRpc3Bvc2l0aW9uIHRhYiwKICAgIDxwPiogRW5zdXJlIHRoYXQgZW1haWwgYWRkcmVzc2VzIGFyZSBhc3NvY2lhdGVkIHdpdGggYWxsIHVzZXJzIGluIHRoZSBzcGVjaWZpZWQgYWRtaW4gZ3JvdXAuPC9wPgogIDwvbGk+CiAgPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gLSBTZXQgdGhlIHdob2xlc2FsZSBncm91cCBpbiB0aGUgbW9kdWxlJ3Mgc2V0dGluZ3MgdGFiLjwvbGk+CiAgPGxpPkNyZWF0ZSBhIG5ldyBjb250ZW50IHBhZ2Ugb2YgdHlwZSAmcXVvdDtQcm9kdWN0IEJ1aWxkZXIKICAgIDx1bD4KICAgICAgPGxpPlNwZWNpZnkgdGhlIHRpdGxlIGZvciB0aGUgcHJvZHVjdCBpbiB0aGUgJnF1b3Q7VGl0bGUmcXVvdDsgZmllbGQuPC9saT4KICAgICAgPGxpPkVudGVyIGEgd2hvbGVzYWxlIHByaWNlLCBhbmQgb3B0aW9uYWxseSBhIHJldGFpbCBwcmljZS4gPGVtPihpZiBubyByZXRhaWwgcHJpY2UgaXMgZW50ZXJlZCwgdGhlIHN5c3RlbSB3aWxsIHVzZSB0aGUgd2hvbGVzYWxlIHByaWNlIGZvciBhbGwgdXNlcnMpLjwvZW0+PC9saT4KICAgICAgPGxpPlNlbGVjdCBhdCBsZWFzdCBvbmUgb3B0aW9uIHNldCBmcm9tIHRoZSBmaWVsZCBvbiB0aGUgb3B0aW9ucyB0YWIuPC9saT4KICAgICAgPGxpPlNlbGVjdCBhdCBsZWFzdCBvbmUgZGlzcG9zaXRpb24gZnJvbSB0aGUgZmllbGQgb24gdGhlIG9wdGlvbnMgdGFiLjwvbGk+CiAgICAgIDxsaT5FbnRlciA8Y29kZT57Q0dQcm9kdWN0QnVpbGRlcn08L2NvZGU+IGludG8gdGhlIHByaW1hcnkgY29udGVudCBhcmVhIG9mIHRoZSBjb250ZW50IHBhZ2UuCiAgICAgICAgIDxwPkl0IGlzIHBvc3NpYmxlIHRvIGNhbGwgPGNvZGU+e0NHUHJvZHVjdEJ1aWxkZXJ9PC9jb2RlPiBmcm9tIGFueSBwbGFjZSB3aXRoaW4gdGhlIHNlbGVjdGVkIHBhZ2UgdGVtcGxhdGUuICBJZiB0aGUgbW9kdWxlIGlzIG5vdCBjYWxsZWQgZnJvbSB3aXRoaW4gYSAmcXVvdDtQcm9kdWN0IEJ1aWxkZXImcXVvdDsgcGFnZSBpdCB3aWxsIGdlbmVyYXRlIG5vIG91dHB1dC48L3A+CgkgPHA+VGhlIGZvcm0gZ2VuZXJhdGVkIGJ5IHRoZSA8Y29kZT57Q0dQcm9kdWN0QnVpbGRlcn08L2NvZGU+IHRhZyBpcyBhbiBpbmxpbmUgZm9ybS4gIFRoZSBvdXRwdXQgb2YgdGhlIGZvcm0gd2lsbCByZXBsYWNlIHRoZSBjdXJyZW50IGZvcm1zIGNvbnRlbnRzLiAgVGhpcyBtZWFucyB0aGF0IGl0IGNhbiBhbHNvIGJlIGNhbGxlZCBpbnRlcm1peGVkIHdpdGggY29udGVudC4gIFlvdSBob3dldmVyIG11c3Qgc3RpbGwgdXNlIGNhdXRpb24gdG8gZW5zdXJlIHRoYXQgdGhlIEhUTUwgZ2VuZXJhdGVkIGlzIHZhbGlkLjwvcD4KICAgICAgPC9saT4KICAgICAgPGxpPlNhdmUgdGhlIHBhZ2UuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+QnJvd3NlIHRvIHRoZSBuZXdseSBjcmVhdGVkIGNvbnRlbnQgcGFnZS48L2xpPgo8L29sPgoKPGgzPlNtYXJ0eSBGdW5jdGlvbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSByZWdpc3RlcnMgc29tZSBzbWFydHkgcGx1Z2lucyB0aGF0IGFyZSB1c2VmdWwgZm9yIHJldHVybmluZyB2YXJpb3VzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb250ZW50IHBhZ2UsIG9yIGZvciBjcmVhdGluZyBhIG5hdmlnYXRpb24gd2l0aGluIG9wdGlvbiBzZXRzLjwvcD4KPHVsPgogIDxsaT48Y29kZT57Y2dwYl93aG9sZXNhbGVwcmljZSBbYXNzaWduPXN0cmluZ119PC9jb2RlPgogICAgPHA+UmV0dXJuIHRoZSB3aG9sZXNhbGUgcHJpY2UgZm9yIHRoZSBjdXJyZW50IHBhZ2UuICBUaGlzIHBsdWdpbiB3aWxsIHJldHVybiBubyBvdXRwdXQgaWYgbm90IGNhbGxlZCBmcm9tIGEgJnF1b3Q7UHJvZHVjdCBCdWlsZGVyJnF1b3Q7IHBhZ2UuPC9wPgogICAgPHA+PHN0cm9uZz48Y29kZT5yZXR1cm4gZmxvYXQ8L2NvZGU+PC9zdHJvbmc+PC9wPgogIDwvbGk+CiAgPGxpPjxjb2RlPntjZ3BiX3JldGFpbHByaWNlIFthc3NpZ249c3RyaW5nXX08L2NvZGU+CiAgICA8cD5SZXR1cm4gdGhlIHJldGFpbCBwcmljZSAoaWYgYW55KSBmb3IgdGhlIGN1cnJlbnQgcGFnZS4gIFRoaXMgcGx1Z2luIHdpbGwgcmV0dXJuIG5vIG91dHB1dCBpZiBub3QgY2FsbGVkIGZyb20gYSAmcXVvdDtQcm9kdWN0IEJ1aWxkZXImcXVvdDsgcGFnZS48L3A+CiAgICA8cD48c3Ryb25nPjxjb2RlPnJldHVybiBmbG9hdDwvY29kZT48L3N0cm9uZz48L3A+CiAgPC9saT4KICA8bGk+PGNvZGU+e2NncGJfY3VycHJpY2UgW2Fzc2lnbj1zdHJpbmddfTwvY29kZT4KICAgIDxwPlJldHVybiB0aGUgY3VycmVudCBjb25maWd1cmVkIHByaWNlIGZvciB0aGUgY3VycmVudCBwcm9kdWN0LiAgVGhpcyBtZXRob2Qgd2lsbCBhY2NvdW50IGZvciB3aG9sZXNhbGUgdnMuIHJldGFpbCBlbGlnaWJpbGl0eSwgYW5kIGNhbGN1bGF0ZSB0aGUgY3VycmVudCBwcmljZSBnaXZlbiBhbGwgb2YgdGhlIHVzZXJzIHNlbGVjdGVkIG9wdGlvbnMuICBUaGlzIHBsdWdpbiB3aWxsIHJldHVybiBubyBvdXRwdXQgaWYgbm90IGNhbGxlZCBmcm9tIGEgJnF1b3Q7UHJvZHVjdCBCdWlsZGVyJnF1b3Q7IHBhZ2UuPC9wPgogICAgPHA+PHN0cm9uZz48Y29kZT5yZXR1cm4gZmxvYXQ8L2NvZGU+PC9zdHJvbmc+PC9wPgogIDwvbGk+CiAgPGxpPjxjb2RlPntjZ3BiX29wdGlvbnNldHMgW2Fzc2lnbj1zdHJpbmddfTwvY29kZT4KICAgIDxwPlJldHVybiBhbGwgb2YgdGhlIG9wdGlvbnNldHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IHBhZ2UuICBUaGlzIHBsdWdpbiB3aWxsIHJldHVybiBubyBvdXRwdXQgaWYgbm90IGNhbGxlZCBmcm9tIGEgJnF1b3Q7UHJvZHVjdCBCdWlsZGVyJnF1b3Q7IHBhZ2UuPC9wPgogICAgPHA+PHN0cm9uZz48Y29kZT5yZXR1cm4gXENHUHJvZHVjdEJ1aWxkZXJcb3B0aW9uX3NldFtdPC9jb2RlPjwvc3Ryb25nPjwvcD4KICA8L2xpPgogIDxsaT48Y29kZT57Y2dwYl9vcHRpb25zZXRfdXJsIG9wdHNldD1zdHJpbmcgW2ZvcmNlPWJvb2xdIFthc3NpZ249c3RyaW5nXX08L2NvZGU+CiAgICA8cD5SZXR1cm4gYSBVUkwgdG8gYWxsb3cgbmF2aWdhdGluZyB0byB0aGUgc3BlY2lmaWVkIG9wdGlvbiBzZXQgd2l0aGluIHRoZSBjdXJyZW50IHBhZ2UuIE5vcm1hbGx5LCB0aGlzIHBsdWdpbiB3aWxsIHJldHVybiBub3RoaW5nIGlmIHRoZXJlIGlzIG5vIHNlbGVjdGVkIHNlc3Npb24gZGF0YSBmb3IgdGhlIHNwZWNpZmllZCBvcHRpb24gc2V0LjwvcD4KICAgIDxwPkFyZ3VtZW50czo8L3A+CiAgICA8dWw+CiAgICAgIDxsaT48c3Ryb25nPjxjb2RlPm9wdHNldD1zdHJpbmc8L2NvZGU+PC9zdHJvbmc+IDxlbT4ocmVxdWlyZWQpPC9lbT4KICAgICAgICA8cD5TcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBvcHRpb24gc2V0IHRvIGNyZWF0ZSB0aGUgbmF2aWdhdGlvbiB0by4gIFRoZSBvcHRpb24gc2V0IG11c3QgYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IHBhZ2UuPC9wPgogICAgICA8L2xpPgogICAgICA8bGk+PGNvZGU+Zm9yY2U9Ym9vbDwvY29kZT4KICAgICAgICA8cD5BbGxvdyBjcmVhdGluZyBhIFVSTCB0byBhbiBvcHRpb24gc2V0IGV2ZW4gaWYgdGhlIHVzZXIgaGFzIG5vdCBjdXJyZW50bHkgc2VsZWN0ZWQgYW4gb3B0aW9uIGZyb20gaXQuPC9wPgogICAgICA8L2xpPgogICAgICA8bGk+PGNvZGU+YXNzaWduPXN0cmluZzwvY29kZT4KICAgICAgICA8cD5Bc3NpZ24gdGhlIG91dHB1dCBvZiB0aGUgcGx1Z2luIHRvIHRoZSBzcGVjaWZpZWQgc21hcnR5IHZhcmlhYmxlLjwvcD4KICAgICAgPC9saT4KICAgIDwvdWw+CiAgICA8cD48c3Ryb25nPjxjb2RlPnJldHVybiBzdHJpbmc8L2NvZGU+PC9zdHJvbmc+PC9wPgogIDwvbGk+CjwvdWw+CjxoMz5UaGUgPGNvZGU+UHJvZHVjdFNwZWM8L2NvZGU+IGNsYXNzLjwvaDM+CiAgPHA+VGhpcyBjbGFzcyByZXByZXNlbnRzIHRoZSBpbmZvcm1hdGlvbiBzZWxlY3RlZCBieSB0aGUgdXNlciwgYW5kIGFueSBvdGhlciBpbmZvcm1hdGlvbiBmcm9tIHRoZSBjb250ZW50IHBhZ2UgdGhhdCBtYXkgYmUgcmVxdWlyZWQgdG8gZ2VuZXJhdGUgYSByZXBvcnQgYWJvdXQgdGhlIGNvbmZpZ3VyZWQgcHJvZHVjdC4gIEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0IGlzIGdpdmVuIHRvIGVhY2ggZGlzcG9zaXRpb25zIGRpc3Bvc2UgbWV0aG9kLiAgQW5kIGlzIHVzdWFsbHkgc3VwcGxpZWQgdG8gc21hcnR5IGZvciBnZW5lcmF0aW5nIG91dHB1dC4gIEl0IGlzIHVzdWFsbHkgYXZhaWxhYmxlIHZpYSB0aGUgPGNvZGU+eyRwcm9kdWN0U3BlY308L2NvZGU+IHNtYXJ0eSB2YXJpYWJsZS48L3A+CiAgPHA+PGNvZGU+UHJvcGVydGllczo8L2NvZGU+PC9wPgogIDx1bD4KICAgIDxsaT48Y29kZT5pbnQgPHN0cm9uZz5wYWdlaWQ8L3N0cm9uZz48L2NvZGU+IC0gVGhlIGlkIG9mIHRoZSBjb250ZW50IHBhZ2UgdGhhdCBnZW5lcmF0ZWQgdGhlIHByb2R1Y3RTcGVjIG9iamVjdC48L2xpPgogICAgPGxpPjxjb2RlPmNncGJfcHJvZHVjdGJ1aWxkZXIgPHN0cm9uZz5jb250ZW50PC9zdHJvbmc+PC9jb2RlPiAtIEEgcmVmZXJlbmNlIHRvIHRoZSBzcGVjaWZpZWQgY29udGVudCBvYmplY3QgPGVtPihyZWFkIG9ubHkpPC9lbT48L2xpPgogICAgPGxpPjxjb2RlPnN0cmluZyA8c3Ryb25nPm5hbWU8L3N0cm9uZz48L2NvZGU+IC0gVGhlIHByb2R1Y3QgbmFtZSA8ZW0+KGFsc28gdGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgb2JqZWN0KTwvZW0+PC9saT4KICAgIDxsaT48Y29kZT5mbG9hdCA8c3Ryb25nPmJhc2VwcmljZTwvc3Ryb25nPjwvY29kZT4gLSBUaGUgYmFzZSBwcmljZSBmb3IgdGhlIHNlbGVjdGVkIHByb2R1Y3QuCiAgICAgIDxwPlRoaXMgbWVtYmVyIGF1dG9tYXRpY2FsbHkgYWNjb3VudHMgZm9yIHdob2xlc2FsZSB2cy4gcmV0YWlsIHByaWNpbmcgaWYgdGhlIHVzZXIgaXMgYSBsb2dnZWQgaW4gbWVtYmVyIG9mIHRoZSBzcGVjaWZpZWQgRkVVIGdyb3VwLCBhbmQgZGlmZmVyZW50IHdob2xlc2FsZSBhbmQgcmV0YWlsIHByaWNlcyBhcmUgZW50ZXJlZC48L3A+CiAgICA8L2xpPgogICAgPGxpPjxjb2RlPnN0cmluZyA8c3Ryb25nPmRlc2NyaXB0aW9uPC9zdHJvbmc+PC9jb2RlPiAtIFRoZSBwcm9kdWN0IGRlc2NyaXB0aW9uLgogICAgICA8cD5UaGlzIGNvbnRlbnQgaXMgdGFrZW4gZnJvbSB0aGUgZGVmYXVsdCA8Y29kZT57Y29udGVudH08L2NvZGU+IGJsb2NrLiAgSWYgdGhlIDxjb2RlPntDR1Byb2R1Y3RCdWlsZGVyfTwvY29kZT4gdGFnIGV4aXN0cyB3aXRoaW4gaXQncyBjb250ZW50IGl0IGlzIHJlbW92ZWQgYmVmb3JlIHRoZSB0ZXh0IGlzIHBhc3NlZCB0aHJvdWdoIHNtYXJ0eS48L3A+CiAgICA8L2xpPgogICAgPGxpPjxjb2RlPlxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbl9zZXRbXSA8c3Ryb25nPm9wdGlvbnNldHM8L3N0cm9uZz48L2NvZGU+IC0gQW4gYXJyYXkgb2YgdGhlIG9wdGlvbiBzZXRzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJvZHVjdCBidWlsZGVyIHBhZ2UuPC9saT4KICAgIDxsaT48Y29kZT5TdGRDbGFzc1tdIDxzdHJvbmc+b3B0aW9uczwvc3Ryb25nPjwvY29kZT4gLSBBbiBhcnJheSBvZiBzaW1wbGUgb2JqZWN0cyB0byByZXByZXNlbnQgaW5mbyByZWxhdGVkIHRvIHRoZSBzZWxlY3RlZCBvcHRpb25zLgogICAgICA8cD48Y29kZT5Qcm9wZXJ0aWVzOjwvY29kZT48L3A+CiAgICAgIDx1bD4KICAgICAgICA8bGk+PGNvZGU+aW50IDxzdHJvbmc+b3B0c2V0X2lkPC9zdHJvbmc+IC0gVGhlIGlkIG9mIHRoZSBvcHRpb24gc2V0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIG9wdGlvbi48L2xpPgogICAgICAgIDxsaT48Y29kZT5zdHJpbmcgPHN0cm9uZz5vcHRzZXRfbmFtZTwvc3Ryb25nPiAtIFRoZSBuYW1lIG9mIHRoZSBvcHRpb24gc2V0IGFzc29jaWF0ZWQgd2l0aCB0aGlzIG9wdGlvbi48L2xpPgogICAgICAgIDxsaT48Y29kZT5zdHJpbmcgPHN0cm9uZz5vcHRpb25fZGVzYzwvc3Ryb25nPiAtIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc2VsZWN0ZWQgb3B0aW9uLjwvbGk+CiAgICAgICAgPGxpPjxjb2RlPnN0cmluZyA8c3Ryb25nPm9wdGlvbl9uYW1lPC9zdHJvbmc+IC0gVGhlIG5hbWUgb2YgdGhlIHNlbGVjdGVkIG9wdGlvbi48L2xpPgogICAgICAgIDxsaT48Y29kZT5mbG9hdCA8c3Ryb25nPm9wdGlvbl9wcmljZTwvc3Ryb25nPiAtIFRoZSBwcmljZSBvZiB0aGUgc2VsZWN0ZWQgb3B0aW9uIDxlbT4oYWRqdXN0ZWQgZm9yIHdob2xlc2FsZSBvciByZXRhaWwgcHJpY2UsIGRlcGVuZGluZyB1cG9uIEZFVSBzdGF0dXMpPC9lbT4KICAgICAgPC91bD4KICAgIDwvbGk+CiAgPC91bD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhlIG1vZHVsZSBhdXRob3IgaXMgaW4gbm8gd2F5IG9ibGlnYXRlZCB0byBwcm92aWRlIHN1cHBvcnQgZm9yIHRoaXMgY29kZSBpbiBhbnkgZmFzaGlvbi4gIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5BIGJ1ZyB0cmFja2luZyBhbmQgZmVhdHVyZSByZXF1ZXN0IHN5c3RlbSBoYXMgYmVlbiBjcmVhdGVkIGZvciB0aGlzIG1vZHVsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NncHJvZHVjdGJ1aWxkZXIiPmhlcmU8L2E+LiAgUGxlYXNlIGJlIHZlcmJvc2UgYW5kIGRlc2NyaXB0aXZlIHdoZW4gc3VibWl0dGluZyBidWcgcmVwb3J0cyBhbmQgZmVhdHVyZSByZXF1ZXN0cywgYW5kIGZvciBidWcgcmVwb3J0cyBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBwcm92aWRlZCBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIHJlbGlhYmx5IHJlcHJvZHVjZSB0aGUgaXNzdWUuPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi4gIFdoZW4gZGVzY3JpYmluZyBhbiBpc3N1ZSBwbGVhc2UgbWFrZSBhbiBlZmZvcnQgdG8gcHJvdmlkZSBhbGwgcmVsYXZhbnQgaW5mb3JtYXRpb24sIGEgdGhvcm91Z2ggZGVzY3JpcHRpb24gb2YgeW91ciBpc3N1ZSwgYW5kIHN0ZXBzIHRvIHJlcHJvZHVjZSBpdCBvciB5b3VyIGRpc2N1c3Npb24gbWF5IGJlIGlnbm9yZWQuPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS4gIEhvd2V2ZXIsIHBsZWFzZSB1c2UgdGhpcyBhcyBhIGxhc3QgcmVzb3J0LCBhbmQgZW5zdXJlIHRoYXQgeW91IGhhdmUgZm9sbG93ZWQgYWxsIGFwcGxpY2FibGUgaW5zdHJ1Y3Rpb25zIG9uIHRoZSBmb3JnZSwgaW4gdGhlIGZvcnVtcywgZXRjLjwvbGk+CjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/sample.csv</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyNvcHRzZXQsbmFtZSxkZXNjcmlwdGlvbixtdWx0aXNlbGVjdAojI29wdGlvbixuYW1lLGRlc2NyaXB0aW9uLHdob2xlc2FsZSxyZXRhaWwKLCwsLAojb3B0c2V0LHNpemUsIkxpbmUxCkxpbmUyCgpMaW5lMwpUaGlzIGlzIHNvbWUgdGV4dCBvbiB0aGUgZm91cnRoIGxpbmUiLDAsCiNvcHRpb24sWFMsVGhpcyBzaXplIGlzIGludGVuZGVkIGZvciBpbmRpdmlkdWFscyB3aG8gYXJlIGFkdWx0cyBvZiBzbWFsbCBzdGF0dXJlLC0xLC0wLjc1CiNvcHRpb24sU21hbGwsLDAsMC4yNQojb3B0aW9uLFJlZ3VsYXIsLDAsMC4yNQojb3B0aW9uLExhcmdlLCwsCiNvcHRpb24sWEwsLDEsMQojb3B0aW9uLFhYTCwsMiwyCiwsLCwKI29wdHNldCxjb2xvcixQbGVhc2UgY2hvb3NlIGEgY29sb3IsMCwKI29wdGlvbixSZWQsLDAsCiNvcHRpb24sR3JlZW4sLDEsCiNvcHRpb24sQmx1ZSwsMiwKI29wdGlvbixXaGl0ZSwsMywzLjUKI29wdGlvbixCbGFjaywsNCw0LjUKLCwsLAojb3B0c2V0LHNoYXBlLFBsZWFzZSBzZWxlY3QgYSBzaGFwZSwwLAojb3B0aW9uLFNxdWFyZSwsMCwKI29wdGlvbixSZWN0YW5nbGUsLCwxCiNvcHRpb24sQ2lyY2xlLCwsMQojb3B0aW9uLE92YWwsLDEsMQojb3B0aW9uLE9jdGFnb25hbCwsMiwxLjUKLCwsLAojb3B0c2V0LFByb3ZpbmNlLFBsZWFzZSBzZWxlY3QgZGVsaXZlcnkgcHJvdmluY2UsMCwKI29wdGlvbixCQywsMCwwCiNvcHRpb24sQUIsLDAsMAojb3B0aW9uLFNLLCw3NSwxMDAKI29wdGlvbixNQiwsMTAwLDEyNQojb3B0aW9uLE9OLCwxNTAsMTc1CiNvcHRpb24sTnVuYXZ1dC9OV1QvWXVrb24sLDI1MCwzMDAKI29wdGlvbixPdGhlcixBbnkgb3RoZXIgY2FuYWRpYW4gcHJvdmluY2UsMzUwLDQwMAosLCwsCiNvcHRzZXQsQ3VwaG9sZGVycyxQbGVhc2Ugc2VsZWN0IG9uZSBvciBtb3JlIGN1cGhvbGRlciBsb2NhdGlvbnMsMQojb3B0aW9uLFNUQVJCT0FSREJPVyxTdGFyYm9hcmQgU2lkZSBvZiB0aGUgYm93LDEyLDE1CiNvcHRpb24sUE9SVEJPVyxTdGFyYm9hcmQgU2lkZSBvZiB0aGUgYm93LDEyLDE1CiNvcHRpb24sU1RBUkJPQVJETUlELFN0YXJib2FyZCBTaWRlIGFtaWRzaGlwLDEyLDE1CiNvcHRpb24sUE9SVEJPVyxTdGFyYm9hcmQgU2lkZSBhZG1pZHNoaXAsMTIsMTUKI29wdGlvbixTVEFSQk9BUkRTVEVSTixTdGFyYm9hcmQgU2lkZSBzdGVybiwxNSwyMAojb3B0aW9uLFBPUlRTVEVSTixTdGFyYm9hcmQgU2lkZSBzdGVybiwxNSwyMA==]]></data>
	</file>
	<file>
	  <filename>/function.admin_email_disposition_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJHByZWZzID0gJHRoaXMtPmdldF9lbWFpbF9kaXNwb3NpdGlvbl9wcmVmcygpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcmVmcycsJHByZWZzKTsKJHNtYXJ0eS0+YXNzaWduKCdncm91cGxpc3QnLGNnZV91c2Vyb3BzOjpnZXRfZ3JvdXBsaXN0KCkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fc2F2ZV9lbWFpbF9kaXNwb3NpdGlvbl9pbmZvJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VtYWlsX2Rpc3Bvc2l0aW9uX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_option_sets_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkgKSByZXR1cm47CgokbGlzdHMgPSBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25fc2V0Ojpsb2FkX2FsbCgpOwokc21hcnR5LT5hc3NpZ24oJ29wdHNldHMnLCRsaXN0cyk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX29wdGlvbl9zZXRzX3RhYi50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_pdf_disposition_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJHNtYXJ0eS0+YXNzaWduKCdwZGZfdGVtcGxhdGUnLCR0aGlzLT5HZXRUZW1wbGF0ZSgncGRmX3RlbXBsYXRlJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fc2F2ZV9wZGZfZGlzcG9zaXRpb25faW5mbycpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9wZGZfZGlzcG9zaXRpb25fdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_prototype_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKSByZXR1cm47CgokdGhpcy0+RWRpdERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZW5kZXJfc3lzZGZsdF90ZW1wbGF0ZScsJ3Byb3RvdHlwZV90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2RlZmF1bHRfcmVuZGVyX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3JpZ19vcHRpb25zZXRfdmlldy50cGwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ3dhcm5fZGVmYXVsdF90ZW1wbGF0ZXMnKSApOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_render_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKSByZXR1cm47CgplY2hvICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ3JlbmRlcl8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZW5kZXJfc3lzZGZsdF90ZW1wbGF0ZScsJ3JlbmRlcl90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZW5kZXJfZGZsdCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfcmVuZGVyX3RlbXBsYXRlJykpOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_settings_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJGdyb3VwbGlzdCA9IG51bGw7CiRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICRmZXUgKSAkZ3JvdXBsaXN0ID0gYXJyYXlfZmxpcCgkZmV1LT5HZXRHcm91cExpc3QoKSk7CmlmKCAhY291bnQoJGdyb3VwbGlzdCkgKSB7CiAgICBlY2hvICc8ZGl2IGNsYXNzPSJ3YXJuaW5nIj4nLiR0aGlzLT5MYW5nKCdlcnJfbm9mZXUnKS4nPC9kaXY+JzsKICAgIHJldHVybjsKfQoKJHNtYXJ0eS0+YXNzaWduKCdncm91cGxpc3QnLCRncm91cGxpc3QpOwokc21hcnR5LT5hc3NpZ24oJ3dob2xlc2FsZV9ncm91cCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3dob2xlc2FsZV9ncm91cCcsLTEpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3NhdmVfc2V0dGluZ3MnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fc2V0dGluZ3NfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_ticket_disposition_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJHByZWZzID0gJHRoaXMtPmdldF90aWNrZXRfZGlzcG9zaXRpb25fcHJlZnMoKTsKJGNnY3QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0NsaWVudFRpY2tldHMnKTsKaWYoICEkY2djdCApIHJldHVybjsKCiRzbWFydHktPmFzc2lnbigncHJlZnMnLCRwcmVmcyk7CiRncnBsaXN0ID0gXENHQ2xpZW50VGlja2V0c1x1dGlsczo6Z2V0X2FsZXJ0X2dyb3VwcygpOwokc21hcnR5LT5hc3NpZ24oJ2dyb3VwbGlzdCcsJGdycGxpc3QpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fc2F2ZV90aWNrZXRfZGlzcG9zaXRpb25faW5mbycpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl90aWNrZXRfZGlzcG9zaXRpb25fdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyMgQQokbGFuZ1snYWRkZWRpdF9vcHRpb24nXSA9ICdBZGQvRWRpdCBPcHRpb24nOwokbGFuZ1snYWRkZWRpdF9yZW5kZXJfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIFJlbmRlciBUZW1wbGF0ZSc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnQWRkIGEgbmV3IE9wdGlvbic7CiRsYW5nWydhZGRfb3B0aW9uc2V0J10gPSAnQWRkIGEgbmV3IE9wdGlvbiBTZXQnOwoKIyMgQgokbGFuZ1snYmFjayddID0gJ0JhY2snOwokbGFuZ1snYmFzZV9wcmljZSddID0gJ1Byb2R1Y3QgQmFzZSBQcmljZSc7CgojIyBDCiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snY29weV9vZiddID0gJ0NvcHkgb2YnOwoKIyMgRAokbGFuZ1snZGVmYXVsdF9yZW5kZXJfdGVtcGxhdGUnXSA9ICdQcm90b3R5cGUgT3B0aW9uIFJlbmRlciBUZW1wbGF0ZSc7CiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydkZmx0X2FmdGVyX21zZyddID0gJ1RoYW5rIHlvdS4gIFlvdXIgc2VsZWN0aW9ucyBoYXZlIGJlZW4gc2VudCB0byB0aGUgYWRtaW5pc3RyYXRvcnMuICBUaGV5IHNob3VsZCBiZSBjb250YWN0aW5nIHlvdSBzaG9ydGx5JzsKJGxhbmdbJ2RmbHRfdGVtcGxhdGUnXSA9ICcqIERlZmF1bHQnOwokbGFuZ1snZGZsdF90aWNrZXRfYWZ0ZXJfbXNnJ10gPSAnVGhhbmsgeW91LiAgQSBuZXcgdGlja2V0IGhhcyBiZWVuIGNyZWF0ZWQgb24geW91ciBiZWhhbGYsIHdpdGggdGhlIGRldGFpbHMgb2YgdGhpcyBwcm9kdWN0LiAgQWRkaXRpb25hbGx5LCB0aGUgc2l0ZSBhZG1pbmlzdHJhdG9ycyBoYXZlIGJlZW4gbm90aWZpZWQuJzsKJGxhbmdbJ2Rpc3Bvc2l0aW9ucyddID0gJ0Rpc3Bvc2l0aW9ucyc7CiRsYW5nWydkaXNwb3NlX2VtYWlsX2J1dHRvbiddID0gJ1NlbmQnOwokbGFuZ1snZGlzcG9zZV9wZGZfYnV0dG9uJ10gPSAnUHJpbnQgYXMgUERGJzsKJGxhbmdbJ2Rpc3Bvc2VfZW1haWxfbmFtZSddID0gJ1NlbmQgcHJvZHVjdCB0byBhZG1pbiB2aWEgZW1haWwnOwokbGFuZ1snZGlzcG9zZV9wZGZfbmFtZSddID0gJ1NhdmUgcHJvZHVjdCBhcyBhIFBERiBmaWxlJzsKJGxhbmdbJ2Rpc3Bvc2VfdGlja2V0X25hbWUnXSA9ICdDcmVhdGUgdGlja2V0IHdpdGggcHJvZHVjdCBjb25maWd1cmF0aW9uJzsKJGxhbmdbJ2Rpc3Bvc2VfdGlja2V0X2J1dHRvbiddID0gJ1NlbmQgcHJvZHVjdCB0byBhZG1pbnMgYXMgYSBuZXcgdGlja2V0JzsKJGxhbmdbJ2RvbmUnXSA9ICdEb25lJzsKCiMjIEUKJGxhbmdbJ2VkaXRfb3B0aW9uJ10gPSAnRWRpdCB0aGlzIG9wdGlvbic7CiRsYW5nWydlZGl0X29wdGlvbnMnXSA9ICdFZGl0IE9wdGlvbnMnOwokbGFuZ1snZXJyX2N1cnJvcHRzZXRub3Rmb3VuZCddID0gJ1RoZSBjdXJyZW50IG9wdGlvbiBzZXQgY291bGQgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHBhZ2UnOwokbGFuZ1snZXJyX2ltcG9ydF9maWxldHlwZSddID0gJ1RoZSBmaWxlIHR5cGUgdXBsb2FkZWQgd2FzIG5vdCBvZiB0eXBlIHRleHQvY3N2JzsKJGxhbmdbJ2Vycl9pbXBvcnRfbm9maWxlJ10gPSAnTm8gaW1wb3J0IGZpbGUgd2FzIHNwZWNpZmllZCc7CiRsYW5nWydlcnJfaW52YWxpZF9pZCddID0gJ1RoZSByZWNvcmQgaWQgc3BlY2lmaWVkIGlzIGludmFsaWQnOwokbGFuZ1snZXJyX25vZmV1J10gPSAnVGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGlzIG5vdCBkZXRlY3RlZC4gIFRoaXMgc2VjdGlvbiBpcyBub3QgYXZhaWxhYmxlLic7CiRsYW5nWydlcnJfbm9vcHRpb25zJ10gPSAnQW4gb3B0aW9uIHNldCBoYXMgbm8gb3B0aW9ucyc7CiRsYW5nWydlcnJfbm9vcHRpb25zZXRzJ10gPSAnTm8gb3B0aW9uIHNldHMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcGFnZSc7CiRsYW5nWydlcnJfb3B0aW9uc2V0X2V4aXN0cyddID0gJ0FuIG9wdGlvbiBzZXQgYnkgdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2Vycl9vcHRpb25ub3Rmb3VuZCddID0gJ1RoZSBzZWxlY3RlZCBvcHRpb24gY291bGQgbm90IGJlIGZvdW5kJzsKJGxhbmdbJ2Vycl9vcHRzZXRub3Rmb3VuZCddID0gJ1RoZSBvcHRpb24gc2V0IHNwZWNpZmllZCBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcGFnZSc7CiRsYW5nWydlcnJfdW5pbnN0YWxsX3BhZ2VzZXhpc3QnXSA9ICdDYW5ub3QgdW5pbnN0YWxsIChQcm9kdWN0IGJ1aWxkZXIgY29udGVudCBwYWdlcyBleGlzdCknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9wcmVzZXRzJ10gPSAnVGhlcmUgaXMgYW4gZXJyb3IgaW4gYXQgbGVhc3Qgb25lIG9mIHlvdXIgcHJlc2V0IG9wdGlvbnMuJzsKJGxhbmdbJ2Vycm9yX3ZhbHVlX3JlcXVpcmVkJ10gPSAnWW91IG11c3Qgc2VsZWN0IGEgdmFsdWUgZm9yIHRoaXMgb3B0aW9uLic7CgokbGFuZ1snZXJyb3JfaW52YWxpZF9vcmRlciddID0gJ0ludmFsaWQgb3JkZXIgdmFsdWUgc3VwcGxpZWQgZm9yIHRoaXMgb2JqZWN0JzsKJGxhbmdbJ2Vycm9yX25hbWVfcmVxdWlyZWQnXSA9ICdBIG5hbWUgaXMgcmVxdWlyZWQgZm9yIHRoaXMgb2JqZWN0IG9yIG1ldGhvZCc7CiRsYW5nWydlcnJvcl9vcHRpb25uYW1lX2R1cGxpY2F0ZSddID0gJ0VSUk9SOiBPcHRpb24gbmFtZXMgbXVzdCBiZSB1bmlxdWUgd2l0aGluIGEgc2V0JzsKJGxhbmdbJ2Vycm9yX29wdGlvbm5hbWVfcmVxdWlyZWQnXSA9ICdFUlJPUjogQXQgbGVhc3Qgb25lIG9wdGlvbiBpcyBtaXNzaW5nIGEgbmFtZSc7CgojIyBGCiRsYW5nWydmaW5pc2gnXSA9ICdGaW5pc2gnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnUHJvZHVjdCBCdWlsZGVyJzsKCiMjIEcKCgojIyBICiRsYW5nWydoZHJfYmFzZV9wcmljZSddID0gJ0Jhc2UgUHJpY2UgZm9yIHByb2R1Y3QnOwokbGFuZ1snaGRyX2NvcHlfb3B0aW9uc2V0J10gPSAnQ29weSBvcHRpb24gc2V0JzsKJGxhbmdbJ2hkcl9lZGl0X29wdGlvbiddID0gJ0VkaXQgT3B0aW9uJzsKJGxhbmdbJ2hkcl9pbXBvcnRfY3N2J10gPSAnSW1wb3J0IE9wdGlvbiBTZXRzIGZyb20gQ1NWJzsKJGxhbmdbJ2hkcl9wcm9kdWN0X2NvbmZpZyddID0gJ1Byb2R1Y3QgQ29uZmlndXJhdGlvbic7CiRsYW5nWydoZHJfcHJvZHVjdF9zdWJtaXNzaW9uJ10gPSAnUHJvZHVjdCBTdWJtaXNzaW9uJzsKCiMjIEkKJGxhbmdbJ2luZm9fZmxkX3ByZXNldHMnXSA9IDw8PEVPVApTcGVjaWZ5IHByZS1zZWxlY3RlZCB2YWx1ZXMgZm9yIGVhY2ggb3B0aW9uIHNldC4gIEZvcm1hdCBpczogIDxjb2RlPm9wdHNldF9uYW1lOiBvcHRpb24gWyxvcHRpb24sIG9wdGlvbiwgLi4uXTwvY29kZT48YnIvPgppLmU6ICA8Y29kZT5zaXplOiBtZWRpdW0sIGxhcmdlPC9jb2RlPjxici8+Ck9ubHkgb25lIG9wdGlvbiBzZXQgY2FuIGJlIHNwZWNpZmllZCBwZXIgbGluZS4gIEJsYW5rIGxpbmVzIGFyZSBub3QgcGVybWl0dGVkLgpJZiBhbiBvcHRpb24gc2V0IGRvZXMgbm90IHN1cHBvcnQgbXVsdGlzZWxlY3QsIG9ubHkgdGhlIGZpcnN0IHNwZWNpZmllZCBvcHRpb24gbmFtZSB3aWxsIGJlIHVzZWQuPGJyLz4KRU9UOwokbGFuZ1snaW5mb19pbXBvcnRfY3N2J10gPSA8PDxFT1QKPHA+VGhpcyBhY3Rpb24gd2lsbCBhbGxvdyBpbXBvcnRpbmcgb3B0aW9uIHNldHMgZnJvbSBhIDxzdHJvbmc+c3BlY2lhbGx5PC9zdHJvbmc+IGZvcm1hdHRlZCBDU1YgZmlsZS48cD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgZmlyc3QgdHdvIGxpbmVzIG9mIHRoZSBmaWxlIG11c3QgYmVnaW4gd2l0aCAjI29wdHNldCBvciAjI29wdGlvbi4gIFRoZXkgZGVmaW5lIHRoZSBvcmRlciBvZiB0aGUgZmllbGRzIGZvciB0aGUgcmVzcGVjdGl2ZSByZWNvcmQgdHlwZXMgaW4gdGhlIGZvbGxvd2luZyBsaW5lcy4KTmV4dCwgbGluZXMgbXVzdCBiZWdpbiB3aXRoICNvcHRzZXQgb3IgI29wdGlvbiB0byBkZWZpbmUgdGhlIHJlY29yZCB0eXBlLiAgICNvcHRpb24gcmVjb3JkcyBtdXN0IGJlIGltbWVkaWF0ZWx5IGZvbGxvd2luZyB0aGVpciByZXNwZWN0aXZlICNvcHRzZXQuPC9wPgo8cD5UaGUgZGVzY3JpcHRpb24gZmllbGQgbWF5IGJlIGVtcHR5LCBhcyB3ZWxsIGFzIHRoZSBwcmljZS4gIEhvd2V2ZXIgdGhlIGNvbHVtbnMgbXVzdCBiZSBkZWZpbmVkLjwvcD4KPHByZT48Y29kZT4jI29wdHNldCxuYW1lLGRlc2NyaXB0aW9uLG11bHRpc2VsZWN0CiMjb3B0aW9uLG5hbWUsZGVzY3JpcHRpb24scHJpY2UKCiNvcHRzZXQsQ29sb3IsIlRoaXMgaXMgdGhlIGRlc2NyaXB0aW9uIGZvciBjb2xvciIsMAojb3B0aW9uLFJlZCwiU29tZXRoaW5nIGluIFJlZCIsMAojb3B0aW9uLEdyZWVuLCJTb21ldGhpbmcgaW4gR3JlZW4iLDAKI29wdGlvbixCbHVlLCJTb21ldGhpbmcgaW4gQmx1ZSIsCgojb3B0c2V0LFNpemUsLAojb3B0c2V0LFNtYWxsLCwtMQojb3B0c2V0LFJlZ3VsYXIsIlJlZ3VsYXIgU2l6ZSIsCiNvcHRzZXQsTGFyZ2UsLDwvY29kZT48L3ByZT4KPHA+VGhlcmUgaXMgYSBzYW1wbGUgY3N2IGZpbGUgaW4gdGhlIG1vZHVsZSBkb2N1bWVudGF0aW9uIGRpcmVjdG9yeS48L3A+CkVPVDsKJGxhbmdbJ2luZm9fcmVvcmRlcl9vcHRpb25zJ10gPSAnT3B0aW9uIG9yZGVyIGNhbiBiZSBjdXN0b21pemVkIGJ5IGRyYWdnaW5nIHRoZSBvcHRpb24gcm93cyBpbnRvIHRoZSBkZXNpcmVkIG9yZGVyLic7CiRsYW5nWydpbmZvX3RpY2tldF9kaXNwb3NpdGlvbiddID0gJzx1bD4KPGxpPjxzdHJwbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBkaXNwb3NpdGlvbiB3aWxsIGNyZWF0ZSBhIFBERiBmaWxlIGFuZCBhdHRhY2ggdGhlIFBERiBmaWxlIHRvIGEgbmV3IHRpY2tldC4gIFRoaXMgZGlzcG9zaXRpb24gcmVxdWlyZXMgdGhhdCBib3RoIHRoZSBGRVUsIGFuZCBDR0NsaWVudFRpY2tldHMgbW9kdWxlcyBiZSBpbnN0YWxsZWQgYW5kIHByb3Blcmx5IGNvbmZpZ3VyZWQuPC9saT4KPGxpPkFkZGl0aW9uYWxseSwgdGhlIGN1cnJlbnQgdXNlciBtdXN0IGJlIGxvZ2dlZCBpbiB0byBGRVUgdG8gc2VlIHRoaXMgZGlzcG9zaXRpb24gb3B0aW9uLjwvbGk+CjxsaT5UaGUgZm9ybWF0IG9mIHRoZSBQREYgZmlsZSBnZW5lcmF0ZWQgaXMgZGV0ZXJtaW5lZCBieSBQREYgZGlzcG9zaXRpb24uPC9saT4KPC91bD4nOwokbGFuZ1snaW1wb3J0X2NzdiddID0gJ0ltcG9ydCBmcm9tIEFTQ0lJIEZpbGUnOwoKIyMgSgoKCiMjIEsKCgojIyBMCiRsYW5nWydsZWdlbmRfb3B0aW9ucyddID0gJ09wdGlvbnMnOwoKIyMgTQokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSB0aGF0IGFsbG93cyBmb3IgdGhlIGR5bmFtaWMgYnVpbGRpbmcgb2YgYSBwcm9kdWN0IGZyb20gbnVtZXJvdXMgb3B0aW9ucyc7CiRsYW5nWydtc2dfY2FuY2VsbGVkJ10gPSAnT3BlcmF0aW9uIENhbmNlbGxlZCc7CiRsYW5nWydtc2dfZmluaXNoZWQnXSA9ICdUaGUgcHJvY2VzcyBvZiBidWlsZGluZyB5b3VyIHByb2R1Y3QgaXMgY29tcGxldGUuICBQbGVhc2UgY2hvb3NlIGZyb20gdGhlIGZvbGxvd2luZyBvcHRpb25zJzsKJGxhbmdbJ21zZ19uX2ltcG9ydGVkJ10gPSAnJWQgcmVjb3JkcyBpbXBvcnRlZCc7CiRsYW5nWydtc2dfb3B0aW9uX3NhdmVkJ10gPSAnT3B0aW9uIFNhdmVkJzsKJGxhbmdbJ21zZ19vcHRpb25zZXRfY29waWVkJ10gPSAnT3B0aW9uIHNldCBDb3BpZWQnOwokbGFuZ1snbXNnX29wdGlvbnNldF9kZWxldGVkJ10gPSAnT3B0aW9uIHNldCBEZWxldGVkJzsKJGxhbmdbJ21zZ19vcHRpb25zZXRfc2F2ZWQnXSA9ICdPcHRpb24gc2V0IFNhdmVkJzsKJGxhbmdbJ21zZ19wcmVmc19zYXZlZCddID0gJ1ByZWZlcmVuY2VzIHNhdmVkJzsKCiMjIE4KJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ25ld19kZXNjJ10gPSAnTmV3IERlc2NyaXB0aW9uJzsKJGxhbmdbJ25ld19uYW1lJ10gPSAnTmV3IE5hbWUnOwokbGFuZ1snbmV4dCddID0gJ05leHQnOwoKIyMgTwokbGFuZ1snb2snXSA9ICdPayc7CiRsYW5nWydvcHRpb25fc2V0J10gPSAnT3B0aW9uIFNldCc7CiRsYW5nWydvcHRpb25fc2V0cyddID0gJ09wdGlvbiBTZXRzJzsKJGxhbmdbJ29wdF9pZ25vcmUnXSA9ICdJZ25vcmUgQVNDSUkgcmVjb3JkJzsKJGxhbmdbJ29wdF9vdmVyd3JpdGUnXSA9ICdPdmVyd3JpdGUgZXhpc3RpbmcgcmVjb3JkJzsKJGxhbmdbJ29yaWdpbmFsX2Rlc2MnXSA9ICdPcmlnaW5hbCBEZXNjcmlwdGlvbic7CiRsYW5nWydvcmlnaW5hbF9uYW1lJ10gPSAnT3JpZ2luYWwgTmFtZSc7CgojIyBQCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBDR1Byb2R1Y3RCdWlsZGVyIG1vZHVsZSBoYXMgYmVlbiBpbnN0YWxsZWQuICBQbGVhc2UgdmlzaXQgdGhlIG1vZHVsZXMgYWRtaW4gcGFuZWwgdG8gc2V0IHByZWZlcmVuY2VzIGFuZCBjcmVhdGUgb3B0aW9uIHNldHMnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBDR1Byb2R1Y3RCdWlsZGVyIG1vZHVsZSBoYXMgYmVlbiB1bmluc3RhbGxlZC4gIE5vdGUsIHlvdXIgc2l0ZSBtYXkgbm93IGJlIG5vbiBmdW5jdGlvbmFsLic7CiRsYW5nWydwcmV2J10gPSAnUHJldic7CiRsYW5nWydwcmljZSddID0gJ1ByaWNlJzsKJGxhbmdbJ3ByaW50J10gPSAnUHJpbnQnOwokbGFuZ1sncHJvZHVjdF9idWlsZGVyJ10gPSAnUHJvZHVjdCBCdWlsZGVyJzsKJGxhbmdbJ3Byb21wdF9hZnRlcl9kaXNwb3NpdGlvbiddID0gJ0FmdGVyIERpc3Bvc2luZyB0aGUgZm9ybSc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnRGVsaW1pdGVyJzsKJGxhbmdbJ3Byb21wdF9kaXNwbGF5X21lc3NhZ2UnXSA9ICdEaXNwbGF5IGEgbWVzc2FnZSc7CiRsYW5nWydwcm9tcHRfZW1haWxfZ3JvdXBfbWVtYmVycyddID0gJ0VtYWlsIG1lbWJlcnMgb2YgdGhpcyBHcm91cCc7CiRsYW5nWydwcm9tcHRfZW1haWxfc3ViamVjdCddID0gJ01lc3NhZ2UgU3ViamVjdCc7CiRsYW5nWydwcm9tcHRfZW1haWxfdGVtcGxhdGUnXSA9ICdNZXNzYWdlIFRlbXBsYXRlJzsKJGxhbmdbJ3Byb21wdF9lbmNsb3N1cmUnXSA9ICdFbmNsb3N1cmUnOwokbGFuZ1sncHJvbXB0X2ZsZF9wcmVzZXRzJ10gPSAnT3B0aW9uIFByZXNldHMnOwokbGFuZ1sncHJvbXB0X2ltcG9ydGR1cGxpY2F0ZSddID0gJ09uIGR1cGxpY2F0ZSBvcHRpb25zZXQnOwokbGFuZ1sncHJvbXB0X2ltcG9ydGZpbGUnXSA9ICdJbXBvcnQgQVNDSUkgRmlsZSc7CiRsYW5nWydwcm9tcHRfbWVzc2FnZSddID0gJ01lc3NhZ2UnOwokbGFuZ1sncHJvbXB0X211bHRpc2VsZWN0J10gPSAnQWxsb3cgdXNlcnMgdG8gc2VsZWN0IG11bHRpcGxlIG9wdGlvbnMnOwokbGFuZ1sncHJvbXB0X29wdGlvbl9uYW1lJ10gPSAnT3B0aW9uIE5hbWUnOwokbGFuZ1sncHJvbXB0X3BhZ2VfYWxpYXMnXSA9ICdQYWdlIElEIG9yIEFsaWFzJzsKJGxhbmdbJ3Byb21wdF9wZGZfdGVtcGxhdGUnXSA9ICdQREYgRmlsZSBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfcHJpY2Vhc2NvbmZpZ3VyZWQnXSA9ICdQcmljZSBhcyBDb25maWd1cmVkJzsKJGxhbmdbJ3Byb21wdF9yZWRpcmVjdF9wYWdlJ10gPSAnUmVkaXJlY3QgdG8gYSBjb250ZW50IHBhZ2UnOwokbGFuZ1sncHJvbXB0X3RpY2tldF9ub3RpZnlfZ3JvdXAnXSA9ICdUaWNrZXQgTm90aWZ5IEdyb3VwJzsKJGxhbmdbJ3Byb21wdF90aWNrZXRfc3ViamVjdCddID0gJ1RpY2tldCBTdWJqZWN0JzsKJGxhbmdbJ3Byb21wdF90aWNrZXRfdGVtcGxhdGUnXSA9ICdUaWNrZXQgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X3dob2xlc2FsZV9ncm91cCddID0gJ1dob2xlc2FsZSBGRVUgR3JvdXAnOwoKIyMgUQoKCiMjIFIKJGxhbmdbJ3JlbmRlcl90ZW1wbGF0ZSddID0gJ1JlbmRlciBUZW1wbGF0ZSc7CiRsYW5nWydyZW9yZGVyJ10gPSAnUmVvcmRlcic7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsKJGxhbmdbJ3JldGFpbCddID0gJ1JldGFpbCc7CiRsYW5nWydyZXRhaWxfYmFzZXByaWNlJ10gPSAnUmV0YWlsIEJhc2UgUHJpY2UnOwoKIyMgUwokbGFuZ1snc2F2ZV9hbmRfZWRpdCddID0gJ1NhdmUgYW5kIGNvbnRpbnVlIGVkaXRpbmcnOwokbGFuZ1snc2V0dGluZ3MnXSA9ICdTZXR0aW5ncyc7CiRsYW5nWydza3UnXSA9ICdTS1UnOwokbGFuZ1snc3RvcCddID0gJ1N0b3AnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKCiMjIFQKJGxhbmdbJ3RhYl9lbWFpbF9kaXNwb3NpdGlvbiddID0gJ0VtYWlsIERpc3Bvc2l0aW9uJzsKJGxhbmdbJ3RhYl9wZGZfZGlzcG9zaXRpb24nXSA9ICdQREYgRGlzcG9zaXRpb24nOwokbGFuZ1sndGFiX3Byb3RvdHlwZV90ZW1wbGF0ZXMnXSA9ICdQcm90b3R5cGUgVGVtcGxhdGVzJzsKJGxhbmdbJ3RhYl9yZW5kZXJfdGVtcGxhdGVzJ10gPSAnT3B0aW9uIFJlbmRlciBUZW1wbGF0ZXMnOwokbGFuZ1sndGFiX3RpY2tldF9kaXNwb3NpdGlvbiddID0gJ1RpY2tldCBEaXNwb3NpdGlvbic7CiRsYW5nWyd0aXRsZV9hZGRfb3B0aW9uc2V0J10gPSAnQWRkIGEgbmV3IE9wdGlvbiBTZXQnOwokbGFuZ1sndGl0bGVfZWRpdF9vcHRpb25zZXQnXSA9ICdFZGl0IGFuIE9wdGlvbiBTZXQnOwoKIyMgVQoKCiMjIFYKCgojIyBXCiRsYW5nWyd3YXJuX2RlZmF1bHRfdGVtcGxhdGVzJ10gPSAnPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGlzIHRlbXBsYXRlIGlzIHVzZWQgYXMgdGhlIGRlZmF1bHQgd2hlbiB5b3UgY3JlYXRlIGEgbmV3IHRlbXBsYXRlIG9mIHRoaXMgdHlwZS4gIEVkaXRpbmcgdGhpcyB0ZW1wbGF0ZSB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiB5b3VyIHNpdGUuJzsKJGxhbmdbJ3dob2xlc2FsZSddID0gJ1dob2xlc2FsZSc7CiRsYW5nWyd3aG9sZXNhbGVfYmFzZXByaWNlJ10gPSAnV2hvbGVzYWxlIEJhc2UgUHJpY2UnOwoKIyMgWAoKCiMjIFkKCgojIyBaCgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.cgpb_productbuilder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZpbmFsIGNsYXNzIGNncGJfcHJvZHVjdGJ1aWxkZXIgZXh0ZW5kcyBDb250ZW50CnsKICAgIHByaXZhdGUgJF9fc2Vzc2lvbjsKICAgIGNvbnN0IEZMRF9XSE9MRVNBTEVQUklDRSA9ICdfX2NncGJfbndzcHJpY2VfXyc7CiAgICBjb25zdCBGTERfUkVUQUlMUFJJQ0UgPSAnX19jZ3BiX3JldGFpbHByaWNlX18nOwogICAgY29uc3QgRkxEX0RJU1BPU0lUSU9OUyA9ICdfX2NncGJfZGlzcG9zaXRpb25zX18nOwogICAgY29uc3QgRkxEX09QVElPTlNFVFMgPSAnX19jZ3BiX29wdGlvbnNldHNfXyc7CiAgICBjb25zdCBGTERfUkVOREVSVFBMID0gJ19fY2dwYl9yZW5kZXJ0cGxfXyc7CiAgICBjb25zdCBGTERfU0tVID0gJ19fY2dwYl9za3VfXyc7CiAgICBjb25zdCBGTERfUFJFU0VUUyA9ICdfX2NncGJfcHJlc2V0cyc7CiAgICBjb25zdCBUUExfREVGQVVMVCA9ICdfX0RGTFRfXyc7CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uICZnZXRzZXNzaW9uKCkKICAgIHsKICAgICAgICAvLyB0aGlzIGlzIGRvbmUgaGVyZSByYXRoZXIgdGhhbiBpbiB0aGUgY29uc3RydWN0b3IKICAgICAgICBpZiggISR0aGlzLT5fX3Nlc3Npb24gKSB7CiAgICAgICAgICAgICRtb2QgPSBcY2dlX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICAgICAgJGtleSA9ICdzJy5tZDUoX19GSUxFX18uJHRoaXMtPklkKCkuJHRoaXMtPk5hbWUoKS4kbW9kLT5HZXRWZXJzaW9uKCkpOwogICAgICAgICAgICAkdGhpcy0+X19zZXNzaW9uID0gbmV3IGNnZV9zZXNzaW9uKCRrZXkpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPl9fc2Vzc2lvbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gRnJpZW5kbHlOYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dQUk9EVUNUQlVJTERFUiktPkxhbmcoJ3Byb2R1Y3RfYnVpbGRlcicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBTZXRQcm9wZXJ0aWVzKCkKICAgIHsKICAgICAgICBwYXJlbnQ6OlNldFByb3BlcnRpZXMoKTsKICAgICAgICAkdGhpcy0+UmVtb3ZlUHJvcGVydHkoJ2NhY2hhYmxlJyxmYWxzZSk7CiAgICAgICAgaWYoIHZlcnNpb25fY29tcGFyZShDTVNfVkVSU0lPTiwnMS45OCcpIDwgMCApIHsKICAgICAgICAgICAgJHRoaXMtPkFkZENvbnRlbnRQcm9wZXJ0eShzZWxmOjpGTERfV0hPTEVTQUxFUFJJQ0UsOSwxKTsKICAgICAgICAgICAgJHRoaXMtPkFkZENvbnRlbnRQcm9wZXJ0eShzZWxmOjpGTERfUkVUQUlMUFJJQ0UsOSwxKTsKICAgICAgICAgICAgJHRoaXMtPkFkZENvbnRlbnRQcm9wZXJ0eShzZWxmOjpGTERfT1BUSU9OU0VUUyw5LDApOwogICAgICAgICAgICAkdGhpcy0+QWRkQ29udGVudFByb3BlcnR5KHNlbGY6OkZMRF9QUkVTRVRTLDEwLDApOwogICAgICAgICAgICAkdGhpcy0+QWRkQ29udGVudFByb3BlcnR5KHNlbGY6OkZMRF9SRU5ERVJUUEwsMTEsMCk7CiAgICAgICAgICAgICR0aGlzLT5BZGRDb250ZW50UHJvcGVydHkoc2VsZjo6RkxEX0RJU1BPU0lUSU9OUywxMSwwKTsKICAgICAgICAgICAgJHRoaXMtPkFkZENvbnRlbnRQcm9wZXJ0eShzZWxmOjpGTERfU0tVLDExLDApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPkFkZENvbnRlbnRQcm9wZXJ0eShzZWxmOjpGTERfV0hPTEVTQUxFUFJJQ0UsMSxzZWxmOjpUQUJfTUFJTik7CiAgICAgICAgICAgICR0aGlzLT5BZGRDb250ZW50UHJvcGVydHkoc2VsZjo6RkxEX1JFVEFJTFBSSUNFLDEsc2VsZjo6VEFCX01BSU4pOwogICAgICAgICAgICAkdGhpcy0+QWRkQ29udGVudFByb3BlcnR5KHNlbGY6OkZMRF9PUFRJT05TRVRTLDksc2VsZjo6VEFCX09QVElPTlMpOwogICAgICAgICAgICAkdGhpcy0+QWRkQ29udGVudFByb3BlcnR5KHNlbGY6OkZMRF9QUkVTRVRTLDEwLDApOwogICAgICAgICAgICAkdGhpcy0+QWRkQ29udGVudFByb3BlcnR5KHNlbGY6OkZMRF9SRU5ERVJUUEwsMTEsc2VsZjo6VEFCX09QVElPTlMpOwogICAgICAgICAgICAkdGhpcy0+QWRkQ29udGVudFByb3BlcnR5KHNlbGY6OkZMRF9ESVNQT1NJVElPTlMsMTIsc2VsZjo6VEFCX09QVElPTlMpOwogICAgICAgICAgICAkdGhpcy0+QWRkQ29udGVudFByb3BlcnR5KHNlbGY6OkZMRF9TS1UsMTIsc2VsZjo6VEFCX09QVElPTlMpOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZGlzcGxheV9zaW5nbGVfZWxlbWVudCgkb25lLCRhZGRpbmcpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHUFJPRFVDVEJVSUxERVIpOwogICAgICAgIHN3aXRjaCggJG9uZSApIHsKICAgICAgICBjYXNlIHNlbGY6OkZMRF9XSE9MRVNBTEVQUklDRToKICAgICAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgICAgICR2YWwgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgkb25lKTsKICAgICAgICAgICAgJG91dFtdID0gJyonLiRtb2QtPkxhbmcoJ3dob2xlc2FsZV9iYXNlcHJpY2UnKS4nOic7CiAgICAgICAgICAgICRvdXRbXSA9ICRtb2QtPkNyZWF0ZUlucHV0VGV4dCgnJyxzZWxmOjpGTERfV0hPTEVTQUxFUFJJQ0UsJHZhbCk7CiAgICAgICAgICAgIHJldHVybiAkb3V0OwoKICAgICAgICBjYXNlIHNlbGY6OkZMRF9SRVRBSUxQUklDRToKICAgICAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgICAgICR2YWwgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgkb25lKTsKICAgICAgICAgICAgJG91dFtdID0gJyonLiRtb2QtPkxhbmcoJ3JldGFpbF9iYXNlcHJpY2UnKS4nOic7CiAgICAgICAgICAgICRvdXRbXSA9ICRtb2QtPkNyZWF0ZUlucHV0VGV4dCgnJyxzZWxmOjpGTERfUkVUQUlMUFJJQ0UsJHZhbCk7CiAgICAgICAgICAgIHJldHVybiAkb3V0OwoKICAgICAgICBjYXNlIHNlbGY6OkZMRF9TS1U6CiAgICAgICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgICAgICAkdmFsID0gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJG9uZSk7CiAgICAgICAgICAgICRvdXRbXSA9ICRtb2QtPkxhbmcoJ3NrdScpLic6JzsKICAgICAgICAgICAgJG91dFtdID0gJG1vZC0+Q3JlYXRlSW5wdXRUZXh0KCcnLHNlbGY6OkZMRF9TS1UsJHZhbCk7CiAgICAgICAgICAgIHJldHVybiAkb3V0OwoKICAgICAgICBjYXNlIHNlbGY6OkZMRF9PUFRJT05TRVRTOgogICAgICAgICAgICAkc2V0cyA9IFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbl9zZXQ6OmxvYWRfbGlzdCgpOwogICAgICAgICAgICBpZiggIWlzX2FycmF5KCRzZXRzKSB8fCAhY291bnQoJHNldHMpICkgcmV0dXJuOwogICAgICAgICAgICAkc2VsID0gbnVsbDsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICRzZWwgPSAkdGhpcy0+Z2V0X29wdGlvbnNldF9pZHMoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgICAgIC8vIGRvIG5vdGhpbmcKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHNpemUgPSBtYXgoMyxtaW4oMTUsY291bnQoJHNldHMpKSk7CiAgICAgICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgICAgICAkb3V0W10gPSAnKicuJG1vZC0+TGFuZygnb3B0aW9uX3NldHMnKS4nOic7CiAgICAgICAgICAgICRvdXRbXSA9ICRtb2QtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgnJywkb25lLGFycmF5X2ZsaXAoJHNldHMpLCRzZWwsJHNpemUsICcnLCB0cnVlKTsKICAgICAgICAgICAgcmV0dXJuICRvdXQ7CgogICAgICAgIGNhc2Ugc2VsZjo6RkxEX1BSRVNFVFM6CiAgICAgICAgICAgICR0ZXh0ID0gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJG9uZSk7CiAgICAgICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgICAgICAkb3V0W10gPSAkbW9kLT5MYW5nKCdwcm9tcHRfZmxkX3ByZXNldHMnKTsKICAgICAgICAgICAgJHRtcCA9ICRtb2QtPkNyZWF0ZVRleHRBcmVhKEZBTFNFLCcnLCR0ZXh0LCRvbmUpLic8YnIvPicuJG1vZC0+TGFuZygnaW5mb19mbGRfcHJlc2V0cycpOwogICAgICAgICAgICAkb3V0W10gPSAkdG1wOwogICAgICAgICAgICByZXR1cm4gJG91dDsKCiAgICAgICAgY2FzZSBzZWxmOjpGTERfUkVOREVSVFBMOgogICAgICAgICAgICAkbGlzdCA9ICRtb2QtPkxpc3RUZW1wbGF0ZXNXaXRoUHJlZml4KCdyZW5kZXJfJyxUUlVFKTsKICAgICAgICAgICAgJGxpc3QgPSBhcnJheV9jb21iaW5lKCRsaXN0LCRsaXN0KTsKICAgICAgICAgICAgdW5zZXQoJGxpc3RbJ3N5c2RmbHRfdGVtcGxhdGUnXSk7CiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJGxpc3QpICkgJGxpc3QgPSBhcnJheSgpOwogICAgICAgICAgICAkbGlzdCA9IGNnZV9hcnJheTo6aGFzaF9wcmVwZW5kKCRsaXN0LHNlbGY6OlRQTF9ERUZBVUxULCRtb2QtPkxhbmcoJ2RmbHRfdGVtcGxhdGUnKSk7CiAgICAgICAgICAgICRzZWwgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgkb25lKTsKICAgICAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgICAgICRvdXRbXSA9ICcqJy4kbW9kLT5MYW5nKCdyZW5kZXJfdGVtcGxhdGUnKTsKICAgICAgICAgICAgJG91dFtdID0gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bignJywkb25lLGFycmF5X2ZsaXAoJGxpc3QpLC0xLCRzZWwpOwogICAgICAgICAgICByZXR1cm4gJG91dDsKCiAgICAgICAgY2FzZSBzZWxmOjpGTERfRElTUE9TSVRJT05TOgogICAgICAgICAgICAkbGlzdCA9IFxDR1Byb2R1Y3RCdWlsZGVyXERpc3Bvc2l0aW9uSGFuZGxlcjo6Z2V0X2Rpc3Bvc2l0aW9uX2xpc3QoKTsKICAgICAgICAgICAgJHNlbCA9ICR0aGlzLT5nZXRfc2VsZWN0ZWRfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgICAgICRzaXplID0gbWF4KDMsbWluKDE1LGNvdW50KCRsaXN0KSkpOwogICAgICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICAgICAgJG91dFtdID0gJyonLiRtb2QtPkxhbmcoJ2Rpc3Bvc2l0aW9ucycpOwogICAgICAgICAgICAkb3V0W10gPSAkbW9kLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJycsJG9uZSxhcnJheV9mbGlwKCRsaXN0KSwkc2VsLCRzaXplLCAnJywgdHJ1ZSk7CiAgICAgICAgICAgIHJldHVybiAkb3V0OwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICByZXR1cm4gcGFyZW50OjpkaXNwbGF5X3NpbmdsZV9lbGVtZW50KCRvbmUsJGFkZGluZyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIEZpbGxQYXJhbXMoJHBhcmFtcywkZWRpdGluZyA9IGZhbHNlKQogICAgewogICAgICAgICR2YWwgPSBjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLHNlbGY6OkZMRF9XSE9MRVNBTEVQUklDRSk7CiAgICAgICAgJHRoaXMtPlNldFByb3BlcnR5VmFsdWUoc2VsZjo6RkxEX1dIT0xFU0FMRVBSSUNFLCR2YWwpOwoKICAgICAgICAkdmFsID0gY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcyxzZWxmOjpGTERfUkVUQUlMUFJJQ0UpOwogICAgICAgICR0aGlzLT5TZXRQcm9wZXJ0eVZhbHVlKHNlbGY6OkZMRF9SRVRBSUxQUklDRSwkdmFsKTsKCiAgICAgICAgJHZhbCA9IGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsc2VsZjo6RkxEX1NLVSk7CiAgICAgICAgJHRoaXMtPlNldFByb3BlcnR5VmFsdWUoc2VsZjo6RkxEX1NLVSwkdmFsKTsKCiAgICAgICAgJHZhbCA9IGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsc2VsZjo6RkxEX09QVElPTlNFVFMpOwogICAgICAgICR0aGlzLT5TZXRQcm9wZXJ0eVZhbHVlKHNlbGY6OkZMRF9PUFRJT05TRVRTLHNlcmlhbGl6ZSgkdmFsKSk7CgogICAgICAgICR2YWwgPSBjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLHNlbGY6OkZMRF9QUkVTRVRTKTsKICAgICAgICAkdGhpcy0+U2V0UHJvcGVydHlWYWx1ZShzZWxmOjpGTERfUFJFU0VUUywkdmFsKTsKCiAgICAgICAgJHZhbCA9IGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsc2VsZjo6RkxEX1JFTkRFUlRQTCk7CiAgICAgICAgJHRoaXMtPlNldFByb3BlcnR5VmFsdWUoc2VsZjo6RkxEX1JFTkRFUlRQTCwkdmFsKTsKCiAgICAgICAgJHZhbCA9IGNnZV91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsc2VsZjo6RkxEX0RJU1BPU0lUSU9OUyk7CiAgICAgICAgJHRoaXMtPlNldFByb3BlcnR5VmFsdWUoc2VsZjo6RkxEX0RJU1BPU0lUSU9OUyxzZXJpYWxpemUoJHZhbCkpOwoKICAgICAgICBwYXJlbnQ6OkZpbGxQYXJhbXMoJHBhcmFtcywkZWRpdGluZyk7CiAgICB9CgogICAgZnVuY3Rpb24gVmFsaWRhdGVEYXRhKCkKICAgIHsKICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dQUk9EVUNUQlVJTERFUik7CgkJJGVycm9ycyA9IHBhcmVudDo6VmFsaWRhdGVEYXRhKCk7CiAgICAgICAgaWYoICRlcnJvcnMgPT0gRkFMU0UgKSAkZXJyb3JzID0gYXJyYXkoKTsKCiAgICAgICAgLy8gbmVlZCBhdCBsZWFzdCBhIHdob2xlc2FsZSBwcmljZSAoY2FuIHVzZSBpdCBhcyByZXRhaWwgaWYgd2UgbmVlZCB0bykuICBCdXQgaXQgY2FuIGJlIHRoZSBzdHJpbmcgMAogICAgICAgICR0bXAgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZShzZWxmOjpGTERfV0hPTEVTQUxFUFJJQ0UpOwogICAgICAgIGlmKCBzdHJsZW4oJHRtcCkgPT0gMCApIHsKICAgICAgICAgICAgJGVycm9yc1tdID0gbGFuZygnbm9maWVsZGdpdmVuJyxhcnJheSgkbW9kLT5MYW5nKCd3aG9sZXNhbGVfYmFzZXByaWNlJykpKTsKICAgICAgICB9CgogICAgICAgIC8vIG5lZWQgdG8gaGF2ZSBzb21lIG9wdGlvbnNldHMgc2V0CiAgICAgICAgJHRtcCA9ICR0aGlzLT5nZXRfb3B0aW9uc2V0X2lkcygpOwogICAgICAgIGlmKCAhY291bnQoJHRtcCkgKSAkZXJyb3JzW10gPSBsYW5nKCdub2ZpZWxkZ2l2ZW4nLGFycmF5KCRtb2QtPkxhbmcoJ29wdGlvbl9zZXRzJykpKTsKCiAgICAgICAgLy8gbmVlZCBhdCBsZWFzdCBvbmUgZGlzcG9zaXRpb24KICAgICAgICAkdG1wID0gJHRoaXMtPmdldF9zZWxlY3RlZF9kaXNwb3NpdGlvbnMoKTsKICAgICAgICBpZiggIWNvdW50KCR0bXApICkgJGVycm9yc1tdID0gbGFuZygnbm9maWVsZGdpdmVuJyxhcnJheSgkbW9kLT5MYW5nKCdkaXNwb3NpdGlvbnMnKSkpOwoKICAgICAgICAkcHJlc2V0X3RleHQgPSB0cmltKCR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKHNlbGY6OkZMRF9QUkVTRVRTKSk7CiAgICAgICAgaWYoICRwcmVzZXRfdGV4dCApIHsKICAgICAgICAgICAgLy8gcHJlc2V0IHRleHQgaXMgb3B0aW9uYWwKICAgICAgICAgICAgJGxpbmVzID0gZXhwbG9kZSgiXG4iLCRwcmVzZXRfdGV4dCk7CiAgICAgICAgICAgICRwYXJzZWQgPSAkdGhpcy0+Z2V0X3ByZXNldHMoKTsKICAgICAgICAgICAgaWYoIGNvdW50KCRwYXJzZWQpICE9IGNvdW50KCRsaW5lcykgKSB7CiAgICAgICAgICAgICAgICAkZXJyb3JzW10gPSAkbW9kLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ByZXNldHMnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCgkJcmV0dXJuIChjb3VudCgkZXJyb3JzKSA+IDA/JGVycm9yczpGQUxTRSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBQYXJzZSB0aGUgcHJlc2V0cywgaWYgYW55CiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfcHJlc2V0cygpCiAgICB7CiAgICAgICAgc3RhdGljICRfcHJlc2V0cyA9ICdub3RzZXQnOwogICAgICAgIGlmKCAkX3ByZXNldHMgPT0gJ25vdHNldCcgKSB7CiAgICAgICAgICAgICRwcmVzZXRfdGV4dCA9IHRyaW0oJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoc2VsZjo6RkxEX1BSRVNFVFMpKTsKICAgICAgICAgICAgJGxpbmVzID0gZXhwbG9kZSgiXG4iLCRwcmVzZXRfdGV4dCk7CiAgICAgICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgICAgICBmb3JlYWNoKCAkbGluZXMgYXMgJGxpbmUgKSB7CiAgICAgICAgICAgICAgICAkbGluZSA9IHRyaW0oJGxpbmUpOwogICAgICAgICAgICAgICAgaWYoICEkbGluZSApIGNvbnRpbnVlOyAvLyBpZ25vcmUgYmxhbmsgbGluZXMKCiAgICAgICAgICAgICAgICBsaXN0KCRvcHRzZXQsJG9wdGlvbnNfdCkgPSBleHBsb2RlKCc6JywkbGluZSk7CiAgICAgICAgICAgICAgICAkb3B0c2V0ID0gdHJpbSgkb3B0c2V0KTsKICAgICAgICAgICAgICAgICRvcHRpb25zX3QgPSB0cmltKCRvcHRpb25zX3QpOwogICAgICAgICAgICAgICAgaWYoICEkb3B0c2V0IHx8ICEkb3B0aW9uc190ICkgY29udGludWU7CgogICAgICAgICAgICAgICAgJHRtcCA9IGV4cGxvZGUoJywnLCRvcHRpb25zX3QpOwogICAgICAgICAgICAgICAgJG9wdHMgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewogICAgICAgICAgICAgICAgICAgICRvbmUgPSB0cmltKCRvbmUpOwogICAgICAgICAgICAgICAgICAgIGlmKCAhJG9uZSApIGNvbnRpbnVlOyAvLyBlbXB0eSBvcHRpb24gbmFtZQogICAgICAgICAgICAgICAgICAgICRvcHRzW10gPSAkb25lOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJG9wdHMgPSBhcnJheV91bmlxdWUoJG9wdHMpOwogICAgICAgICAgICAgICAgaWYoICFjb3VudCgkb3B0cykgKSBjb250aW51ZTsgLy8gbm8gdmFsaWQgb3B0aW9ucyBzcGVjaWZpZWQKCiAgICAgICAgICAgICAgICAkb3V0WyRvcHRzZXRdID0gJG9wdHM7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJF9wcmVzZXRzID0gbnVsbDsKICAgICAgICAgICAgaWYoIGNvdW50KCRvdXQpICkgJF9wcmVzZXRzID0gJG91dDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRfcHJlc2V0czsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbGlzdCBvZiBzZWxlY3RlZCBkaXNwb3NpdGlvbnMgZm9yIHRoaXMgcGFnZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ1tdIEFycmF5IG9mIGNsYXNzIG5hbWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfc2VsZWN0ZWRfZGlzcG9zaXRpb25zKCkKICAgIHsKICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICAkdG1wID0gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoc2VsZjo6RkxEX0RJU1BPU0lUSU9OUyk7CiAgICAgICAgaWYoICR0bXAgKSAkb3V0ID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG5hbWUgb2YgdGhlIHNlbGVjdGVkIHJlbmRlciB0ZW1wbGF0ZQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfcmVuZGVyX3RlbXBsYXRlKCkKICAgIHsKICAgICAgICAkdmFsID0gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoc2VsZjo6RkxEX1JFTkRFUlRQTCk7CiAgICAgICAgaWYoICEkdmFsIHx8ICR2YWwgPT0gc2VsZjo6VFBMX0RFRkFVTFQgKSB7CiAgICAgICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHUFJPRFVDVEJVSUxERVIpOwogICAgICAgICAgICAkdmFsID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgncmVuZGVyX2RmbHQnKTsKICAgICAgICB9CiAgICAgICAgLy8gc21hbGwgaGFjayB0byB1c2UgZmlsZSBiYXNlZCB0ZW1wbGF0ZQogICAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgICBpZiggJGNvbmZpZ1snZGV2ZWxvcGVyX21vZGUnXSApIHsKICAgICAgICAgICAgJHZhbCA9J29yaWdfb3B0aW9uc2V0X3ZpZXcudHBsJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR2YWw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIFNLVSBhc3NvY2lhdGVkIHdpdGggdGhpcyBwYWdlCiAgICAgKgogICAgICogQHJldHVybiBmbG9hdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3NrdSgpCiAgICB7CiAgICAgICAgcmV0dXJuIChmbG9hdCkgJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoc2VsZjo6RkxEX1NLVSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHdob2xlc2FsZSBiYXNlIHByaWNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHBhZ2UKICAgICAqCiAgICAgKiBAcmV0dXJuIGZsb2F0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfd2hvbGVzYWxlcHJpY2UoKQogICAgewogICAgICAgIHJldHVybiAoZmxvYXQpICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKHNlbGY6OkZMRF9XSE9MRVNBTEVQUklDRSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHJldGFpbCBiYXNlIHByaWNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHBhZ2UKICAgICAqCiAgICAgKiBAcmV0dXJuIGZsb2F0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfcmV0YWlscHJpY2UoKQogICAgewogICAgICAgICR2YWwgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZShzZWxmOjpGTERfUkVUQUlMUFJJQ0UpOwogICAgICAgIGlmKCBzdHJsZW4oJHZhbCkgKSByZXR1cm4gKGZsb2F0KSAkdmFsOwogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0X3dob2xlc2FsZXByaWNlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG9wdHNldCBpZHMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcGFnZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGludFtdCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3B0aW9uc2V0X2lkcygpCiAgICB7CiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dQUk9EVUNUQlVJTERFUik7CiAgICAgICAgJHRtcCA9ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKHNlbGY6OkZMRF9PUFRJT05TRVRTKTsKICAgICAgICBpZiggISR0bXAgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCRtb2QtPkxhbmcoJ2Vycl9ub29wdGlvbnNldHMnKSk7CiAgICAgICAgJHRtcCA9IHVuc2VyaWFsaXplKCR0bXApOwogICAgICAgIHJldHVybiAkdG1wOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBvcHRpb24gc2V0cyBhc3NvY2lhdGVkIHdpdGggdGhpcyBwYWdlLgogICAgICoKICAgICAqIEByZXR1cm4gXENHUHJvZHVjdEJ1aWxkZXJcb3B0aW9uX3NldFtdCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3B0aW9uc2V0cygpCiAgICB7CiAgICAgICAgc3RhdGljICRfc2V0czsKCiAgICAgICAgaWYoICFpc19hcnJheSgkX3NldHMpICkgewogICAgICAgICAgICAkbGlzdCA9ICR0aGlzLT5nZXRfb3B0aW9uc2V0X2lkcygpOwoKICAgICAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2goICRsaXN0IGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAkb3V0WyRvbmVdID0gXENHUHJvZHVjdEJ1aWxkZXJcb3B0aW9uX3NldDo6bG9hZCgkb25lKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkX3NldHMgPSAkb3V0OwogICAgICAgIH0KICAgICAgICByZXR1cm4gJF9zZXRzOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBzcGVjaWZpZWQgb3B0aW9uIHNldC4KICAgICAqIFRoZSBvcHRpb24gc2V0IG11c3QgYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYWdlIG9yIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93bi4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbnNldAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X29wdGlvbnNldCgkb3B0c2V0X2lkKQogICAgewogICAgICAgICRvcHRzZXRfaWQgPSAoaW50KSAkb3B0c2V0X2lkOwogICAgICAgIGlmKCAkb3B0c2V0X2lkIDwgMSApIHsKICAgICAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dQUk9EVUNUQlVJTERFUik7CiAgICAgICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJG1vZC0+TGFuZygnZXJyX2ludmFsaWRfaWQnKSk7CiAgICAgICAgfQoKICAgICAgICAkb3B0aW9uX3NldHMgPSAkdGhpcy0+Z2V0X29wdGlvbnNldHMoKTsKICAgICAgICBmb3JlYWNoKCAkb3B0aW9uX3NldHMgYXMgJG9wdHNldCApIHsKICAgICAgICAgICAgaWYoICRvcHRzZXQtPmlkID09ICRvcHRzZXRfaWQgKSByZXR1cm4gJG9wdHNldDsKICAgICAgICB9CgogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHUFJPRFVDVEJVSUxERVIpOwogICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkbW9kLT5MYW5nKCdlcnJfb3B0c2V0bm90Zm91bmQnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGN1cnJlbnQgb3B0aW9uc2V0LgogICAgICogSWYgdGhlcmUgaXMgbm8gY3VycmVudCBvcHRpb24gc2V0LCB0aGUgZmlyc3Qgb3B0aW9uc2V0IGFzc29jaWF0ZWQgd2l0aAogICAgICogdGhlIHBhZ2Ugd2lsbCBiZSByZXR1cm5lZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbnNldAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2N1cnJlbnRfb3B0aW9uc2V0KCkKICAgIHsKICAgICAgICAkb3B0c2V0X2lkID0gJHRoaXMtPmdldHNlc3Npb24oKS0+Z2V0KCdjdXJfb3B0aW9uc2V0JywtMSk7CiAgICAgICAgaWYoICRvcHRzZXRfaWQgPCAxICkgewogICAgICAgICAgICAkb3B0aW9uX3NldHMgPSAkdGhpcy0+Z2V0X29wdGlvbnNldHMoKTsKICAgICAgICAgICAgJGtleXMgPSBhcnJheV9rZXlzKCRvcHRpb25fc2V0cyk7CiAgICAgICAgICAgIHJldHVybiAkb3B0aW9uX3NldHNbJGtleXNbMF1dOyAvLyByZXR1cm4gZmlyc3Qgb3B0c2V0CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmdldF9vcHRpb25zZXQoJG9wdHNldF9pZCk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc19zZWxlY3RlZCgkb3B0c2V0X2lkKQogICAgewogICAgICAgICRvcHRzZXRfaWQgPSAoaW50KSAkb3B0c2V0X2lkOwogICAgICAgIGlmKCAkb3B0c2V0X2lkIDwgMSApIHsKICAgICAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dQUk9EVUNUQlVJTERFUik7CiAgICAgICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJG1vZC0+TGFuZygnZXJyX2ludmFsaWRfaWQnKSk7CiAgICAgICAgfQoKICAgICAgICAkX3NlbCA9ICR0aGlzLT5nZXRzZXNzaW9uKCktPmdldCgnc2VsX29wdGlvbnMnKTsKICAgICAgICBpZiggISRfc2VsICkgcmV0dXJuIEZBTFNFOwoKICAgICAgICBpZiggaXNzZXQoJF9zZWxbJG9wdHNldF9pZF0pICkgcmV0dXJuIFRSVUU7CiAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBzZWxlY3RlZCBvcHRpb24gZm9yIHRoZSBzcGVjaWZpZWQgb3B0aW9uIHNldC4KICAgICAqIFRoZSBvcHRzZXQgaWQgbXVzdCBiZSBhc3NvY2F0ZWQgd2l0aCB0aGUgcGFnZSBvciBhbiBleGNlcHRpb24gd2lsbCBiZSB0aHJvd24uCiAgICAgKgogICAgICogSWYgdGhlcmUgaXMgbm8gY3VycmVudGx5cyBlbGVjdGVkIG9wdGlvbiBmb3IgYW4gb3B0c2V0LCB0aGUgZmlyc3Qgb3B0aW9uCiAgICAgKiBvZiB0aGUgb3B0c2V0IHdpbGwgYmUgcmV0dXJuZWQuCiAgICAgKgogICAgICogRXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duIGlmIHRoZXJlIGFyZSBubyBvcHRpb25zIGZvciB0aGUgb3B0c2V0LgogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJG9wdHNldF9pZAogICAgICogQHJldHVybiBvcHRpb25bXQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3NlbGVjdGVkX29wdGlvbnMoJG9wdHNldF9pZCkKICAgIHsKICAgICAgICAkb3B0c2V0X2lkID0gKGludCkgJG9wdHNldF9pZDsKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICBpZiggJG9wdHNldF9pZCA8IDEgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCRtb2QtPkxhbmcoJ2Vycl9pbnZhbGlkX2lkJykpOwoKICAgICAgICAkX3NlbCA9ICR0aGlzLT5nZXRzZXNzaW9uKCktPmdldCgnc2VsX29wdGlvbnMnKTsKICAgICAgICBpZiggISRfc2VsICkgJF9zZWwgPSBhcnJheSgpOwoKICAgICAgICAkb3B0c2V0ID0gJHRoaXMtPmdldF9vcHRpb25zZXQoJG9wdHNldF9pZCk7CiAgICAgICAgJG9wdGlvbnMgPSAkb3B0c2V0LT5nZXRfb3B0aW9ucygpOwogICAgICAgIGlmKCAhaXNfYXJyYXkoJG9wdGlvbnMpIHx8ICFjb3VudCgkb3B0aW9ucykgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCRtb2QtPkxhbmcoJ2Vycl9ub29wdGlvbnMnKSk7CgogICAgICAgIGlmKCAhaXNzZXQoJF9zZWxbJG9wdHNldF9pZF0pICkgewogICAgICAgICAgICAvLyBub3RoaW5nIHNlbGVjdGVkIGZvciB0aGlzIG9wdHNldAogICAgICAgICAgICAvLyBjaGVjayBmb3IgcHJlc2V0cwogICAgICAgICAgICAkcHJlc2V0cyA9ICR0aGlzLT5nZXRfcHJlc2V0cygpOwogICAgICAgICAgICBpZiggJHByZXNldHMgJiYgaXNzZXQoJHByZXNldHNbJG9wdHNldC0+bmFtZV0pICYmIGNvdW50KCRwcmVzZXRzWyRvcHRzZXQtPm5hbWVdKSkgewogICAgICAgICAgICAgICAgJF9zZWxbJG9wdHNldF9pZF0gPSAgJHByZXNldHNbJG9wdHNldC0+bmFtZV07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBubyBwcmVzZXRzIGZvciB0aGlzIG9wdHNldAogICAgICAgICAgICAgICAgJF9zZWxbJG9wdHNldF9pZF0gPSBhcnJheSgkb3B0aW9uc1swXS0+bmFtZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmKCAhaXNzZXQoJF9zZWxbJG9wdHNldF9pZF0pICkgcmV0dXJuOwogICAgICAgICRvdXQgPSBudWxsOwogICAgICAgIGZvcmVhY2goICRvcHRpb25zIGFzICRvcHRpb24gKSB7CiAgICAgICAgICAgIGlmKCBpbl9hcnJheSgkb3B0aW9uLT5uYW1lLCRfc2VsWyRvcHRzZXRfaWRdKSApICRvdXRbXSA9ICRvcHRpb247CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwoKICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCRtb2QtPkxhbmcoJ2Vycl9vcHRpb25ub3Rmb3VuZCcpKTsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIF91c2Vfd2hvbGVzYWxlKCkKICAgIHsKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICByZXR1cm4gJG1vZC0+dXNlX3dob2xlc2FsZSgpOwogICAgfQoKICAgIC8qKgogICAgICogVGFsbHkgdGhlIGN1cnJlbnQgcHJpY2UgKGluY2x1ZGluZyBhbGwgb2YgdGhlIHNlbGVjdGVkIG9wdGlvbnMpIGZvciB0aGlzIHByb2R1Y3QuCiAgICAgKgogICAgICogRXhjZXB0aW9ucyB3aWxsIGJlIHRocm93biBpZiBhbiBlcnJvciBvY2N1cnMuCiAgICAgKgogICAgICogQHJldHVybiBmbG9hdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2N1cnJlbnRfcHJpY2UoKQogICAgewogICAgICAgICR3aG9sZXNhbGUgPSAkdGhpcy0+X3VzZV93aG9sZXNhbGUoKTsKCiAgICAgICAgJHByaWNlID0gJHRoaXMtPmdldF9yZXRhaWxwcmljZSgpOwogICAgICAgIGlmKCAkd2hvbGVzYWxlICkgJHByaWNlID0gJHRoaXMtPmdldF93aG9sZXNhbGVwcmljZSgpOwogICAgICAgICRfc2VsID0gJHRoaXMtPmdldHNlc3Npb24oKS0+Z2V0KCdzZWxfb3B0aW9ucycpOwoKICAgICAgICAkb3B0c2V0X2xpc3QgPSAkdGhpcy0+Z2V0X29wdGlvbnNldF9pZHMoKTsKICAgICAgICBmb3JlYWNoKCAkb3B0c2V0X2xpc3QgYXMgJF9pZCApIHsKICAgICAgICAgICAgJF9vcHRpb25zID0gJHRoaXMtPmdldF9zZWxlY3RlZF9vcHRpb25zKCRfaWQpOwogICAgICAgICAgICBpZiggJF9vcHRpb25zICkgewogICAgICAgICAgICAgICAgZm9yZWFjaCggJF9vcHRpb25zIGFzICR0bXAgKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoICR3aG9sZXNhbGUgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRwcmljZSArPSAkdG1wLT53aG9sZXNhbGVwcmljZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRwcmljZSArPSAkdG1wLT5yZXRhaWxwcmljZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRwcmljZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgY3VycmVudCBvcHRpb24gc2V0IGlkLgogICAgICogVGhpcyBpcyB1c2VkIHdoZW4gbmF2aWdhdGluZyBiYWNrIGFuZCBmb3J0aCBiZXR3ZWVuIHRoZSBvcHRpb24gc2V0cy4KICAgICAqCiAgICAgKiBUaGUgb3B0c2V0X2lkIG11c3QgYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYWdlIG9yIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93bi4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRvcHRzZXRfaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldF9jdXJyZW50X29wdGlvbnNldCgkb3B0c2V0X2lkKQogICAgewogICAgICAgICRvcHRzZXRfaWQgPSAoaW50KSAkb3B0c2V0X2lkOwogICAgICAgIGlmKCAkb3B0c2V0X2lkIDwgMSApIHsKICAgICAgICAgICAgLy8gYmFjayB0byBzdGFydAogICAgICAgICAgICAkdGhpcy0+Z2V0c2Vzc2lvbigpLT5jbGVhcignY3VyX29wdGlvbnNldCcpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJG9wdHNldF9pZHMgPSAkdGhpcy0+Z2V0X29wdGlvbnNldF9pZHMoKTsKICAgICAgICAgICAgaWYoICFpbl9hcnJheSgkb3B0c2V0X2lkLCRvcHRzZXRfaWRzKSApIHsKICAgICAgICAgICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHUFJPRFVDVEJVSUxERVIpOwogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigkbW9kLT5MYW5nKCdlcnJfb3B0c2V0bm90Zm91bmQnKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPmdldHNlc3Npb24oKS0+c2V0KCdjdXJfb3B0aW9uc2V0Jywkb3B0c2V0X2lkKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIHNlbGVjdGVkIG9wdGlvbnMgZm9yIHRoZSBzcGVjaWZpZWQgb3B0aW9uIHNldC4KICAgICAqCiAgICAgKiBFeGNlcHRpb25zIHdpbGwgYmUgdGhyb3duIGlmIHRoZSBvcHRzZXQgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCB0aGUKICAgICAqIHBhZ2UsIG9yIGlmIHRoZSBvcHRpb24gZG9lcyBub3QgZXhpc3QuCiAgICAgKgogICAgICogQHBhcmFtIGludCAkb3B0c2V0X2lkIFRoZSBvcHRpb24gc2V0IGlkLgogICAgICogQHBhcmFtIHN0cmluZ1tdfHN0cmluZyAkdmFsdWUgVGhlIG5hbWUgKG9yIG5hbWVzKSBvZiB0aGUgc2VsZWN0ZWQgb3B0aW9ucy4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNldF9zZWxlY3RlZF9vcHRpb25zKCRvcHRzZXRfaWQsJHZhbHVlKQogICAgewogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHUFJPRFVDVEJVSUxERVIpOwogICAgICAgICRvcHRzZXRfaWQgPSAoaW50KSAkb3B0c2V0X2lkOwogICAgICAgIGlmKCBpc19zdHJpbmcoJHZhbHVlKSApIHsKICAgICAgICAgICAgJHZhbHVlID0gYXJyYXkoKHN0cmluZykgJHZhbHVlKTsKICAgICAgICB9CiAgICAgICAgaWYoICEkdmFsdWUgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCRtb2QtPkxhbmcoJ2Vycm9yX3ZhbHVlX3JlcXVpcmVkJykpOwoKICAgICAgICAkdG1wID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoKCAkdmFsdWUgYXMgJG9uZSApIHsKICAgICAgICAgICAgJG9uZSA9IHRyaW0oJG9uZSk7CiAgICAgICAgICAgIGlmKCAhJG9uZSApIGNvbnRpbnVlOwogICAgICAgICAgICBpZiggIWluX2FycmF5KCRvbmUsJHRtcCkgKSAkdG1wW10gPSAkb25lOwogICAgICAgIH0KCiAgICAgICAgaWYoICFjb3VudCgkdG1wKSApIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigkbW9kLT5MYW5nKCdlcnJvcl92YWx1ZV9yZXF1aXJlZCcpKTsKICAgICAgICB9CgogICAgICAgICRvcHRzZXRfaWRzID0gJHRoaXMtPmdldF9vcHRpb25zZXRfaWRzKCk7CiAgICAgICAgaWYoICFpbl9hcnJheSgkb3B0c2V0X2lkLCRvcHRzZXRfaWRzKSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJG1vZC0+TGFuZygnZXJyX29wdHNldG5vdGZvdW5kJykpOwoKICAgICAgICAkX3NlbCA9ICR0aGlzLT5nZXRzZXNzaW9uKCktPmdldCgnc2VsX29wdGlvbnMnKTsKICAgICAgICBpZiggIWlzX2FycmF5KCRfc2VsKSApICRfc2VsID0gYXJyYXkoKTsKICAgICAgICAkX3NlbFskb3B0c2V0X2lkXSA9ICR0bXA7CiAgICAgICAgJHRoaXMtPmdldHNlc3Npb24oKS0+c2V0KCdzZWxfb3B0aW9ucycsJF9zZWwpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFsbCBvZiB0aGUgb3B0aW9uIG9iamVjdHMgdGhhdCBhcmUgY3VycmVudGx5IHNlbGVjdGVkLgogICAgICogYWxvbmcgd2l0aCB0aGVpciBvcHRpb24gc2V0IG5hbWUsIGFuZCBpZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfYWxsX3NlbGVjdGVkX29wdGlvbnMoKQogICAgewogICAgICAgICRvcHRzZXRfaWRzID0gJHRoaXMtPmdldF9vcHRpb25zZXRfaWRzKCk7CiAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCggJG9wdHNldF9pZHMgYXMgJG9wdHNldF9pZCApIHsKICAgICAgICAgICAgJG9wdHNldCA9ICR0aGlzLT5nZXRfb3B0aW9uc2V0KCRvcHRzZXRfaWQpOwogICAgICAgICAgICAkb3B0aW9ucyA9ICR0aGlzLT5nZXRfc2VsZWN0ZWRfb3B0aW9ucygkb3B0c2V0X2lkKTsKCiAgICAgICAgICAgIC8vIGEgbmV3IGNsYXNzIHRvIGNvbWJpbmUgdGhlIG9wdHNldCBhbmQgc2VsZWN0ZWQgb3B0aW9ucy4KICAgICAgICAgICAgJG9iaiA9IG5ldyBTdGRDbGFzczsKICAgICAgICAgICAgJG9iai0+b3B0c2V0X25hbWUgPSAkb3B0c2V0LT5uYW1lOwogICAgICAgICAgICAkb2JqLT5vcHRzZXRfaWQgPSAkb3B0c2V0LT5pZDsKICAgICAgICAgICAgJG9iai0+c2VsZWN0ZWQgPSBhcnJheSgpOwogICAgICAgICAgICBpZiggJG9wdGlvbnMgKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoKCAkb3B0aW9ucyBhcyAkb3B0aW9uICkgewogICAgICAgICAgICAgICAgICAgICRvYmoyID0gbmV3IFN0ZENsYXNzOwogICAgICAgICAgICAgICAgICAgICRvYmoyLT5vcHRpb25fbmFtZSA9ICRvcHRpb24tPm5hbWU7CiAgICAgICAgICAgICAgICAgICAgJG9iajItPm9wdGlvbl9kZXNjID0gJG9wdGlvbi0+ZGVzY3JpcHRpb247CiAgICAgICAgICAgICAgICAgICAgaWYoICR0aGlzLT5fdXNlX3dob2xlc2FsZSgpICkgewogICAgICAgICAgICAgICAgICAgICAgICAkb2JqMi0+b3B0aW9uX3ByaWNlID0gJG9wdGlvbi0+d2hvbGVzYWxlcHJpY2U7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkb2JqMi0+b3B0aW9uX3ByaWNlID0gJG9wdGlvbi0+cmV0YWlscHJpY2U7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICRvYmotPnNlbGVjdGVkW10gPSAkb2JqMjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAkb3V0WyRvcHRzZXQtPmlkXSA9ICRvYmo7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIC8qKgogICAgICogUmVzZXQgYWxsIHN0b3JlZCBzZXNzaW9uIGRhdGEKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlc2V0KCkKICAgIHsKICAgICAgICAkdGhpcy0+Z2V0c2Vzc2lvbigpLT5jbGVhcigpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.disposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgZGlzcG9zaXRpb24gY2xhc3MKICoKICogQHBhY2thZ2UgQ0dQcm9kdWN0QnVpbGRlcgogKiBAY2F0ZWdvcnkgVXRpbGl0aWVzCiAqIEBhdXRob3IgIGNhbGd1eTEwMDAgPGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+CiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IDIwMTAgYnkgUm9iZXJ0IENhbXBiZWxsCiAqLwoKbmFtZXNwYWNlIENHUHJvZHVjdEJ1aWxkZXI7CgovKioKICogQW4gYWJzdHJhY3QgY2xhc3MgdG8gZGVmaW5lIGEgZGlzcG9zaXRpb24uCiAqLwphYnN0cmFjdCBjbGFzcyBkaXNwb3NpdGlvbgp7CiAgICAvKioKICAgICAqIEdldCB0aGUgZnJpZW5kbHkgbmFtZSBmb3IgdGhpcyBkaXNwb3NpdGlvbi4KICAgICAqCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBnZXRfZnJpZW5kbHluYW1lKCk7CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGJ1dHRvbiB0ZXh0IGZvciB0aGlzIGRpc3Bvc2l0aW9uLgogICAgICogVGhlIGJ1dHRvbiB0ZXh0IGlzIHVzZWQgb24gdGhlIGZpbmFsIHN1bW1hcnkgdmlldyBvZiB0aGUgcHJvZHVjdCBidWlsZGVyIHNvIHRoYXQgdGhlIGN1c3RvbWVyIGNhbiBzZWxlY3QgYSBkaXNwb3NpdGlvbi4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X2J1dHRvbnRleHQoKTsKCiAgICAvKioKICAgICAqIFRlc3QgaWYgdGhpcyBkaXNwb3NpdGlvbiBpcyBjb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgaW5zdGFsbCBvZiBDTVNNUy4KICAgICAqIFR5cGljYWxseSB0aGlzIHdvdWxkIGNoZWNrIGlmIGNlcnRhaW4gbW9kdWxlcyBhcmUgaW5zdGFsbGVkIGFuZCBwcm9wZXJseSBjb25maWd1cmVkLgogICAgICoKICAgICAqIEBhYnN0cmFjdAogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb21wYXRpYmxlKCkgeyByZXR1cm4gVFJVRTsgfQoKICAgIC8qKgogICAgICogVGVzdCBpZiB0aGlzIGRpc3Bvc2l0aW9uIGlzIHJlYWR5IHRvIGJlIHVzZWQgdG8gZGlzcG9zaW5nIGEgZm9ybS4KICAgICAqIE5vcm1hbGx5IHRoaXMgaW52b2x2ZXMgY2hlY2tpbmcgaWYgZW1haWwgc2VuZGluZyBpcyBwcm9wZXJseSBzZXR1cCwgb3IgdGhlIHVzZXIgaXMgbG9nZ2VkIGluIHRvIEZFVSBldGMuCiAgICAgKgogICAgICogQGFic3RyYWN0CiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlYWR5KCkgeyByZXR1cm4gVFJVRTsgfQoKICAgIC8qKgogICAgICogRGlzcG9zZSAoaGFuZGxlKSB0aGUgcHJvZHVjdCBzcGVjaWZpY2F0aW9uLgogICAgICoKICAgICAqIEBwYXJhbSBcQ0dQcm9kdWN0QnVpbGRlclxQcm9kdWN0U3BlYyAkcHJvZHVjdFNwZWMKICAgICAqIEByZXR1cm4gc3RyaW5nIE9wdGlvbmFsIHRleHQgdG8gZGlzcGxheSBhZnRlciBkaXNwb3Npbmcgb2YgdGhlIGZvcm0uCiAgICAgKi8KICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKFByb2R1Y3RTcGVjICRwcm9kdWN0U3BlYyk7Cn0gLy8gZW5kIG9mIGNsYXNzCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.DispositionHandler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgRGlzcG9zaXRpb25IYW5kbGVyIGNsYXNzCiAqCiAqIEBwYWNrYWdlIENHUHJvZHVjdEJ1aWxkZXIKICogQGNhdGVnb3J5IFV0aWxpdGllcwogKiBAYXV0aG9yICBjYWxndXkxMDAwIDxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPgogKiBAY29weXJpZ2h0IENvcHlyaWdodCAyMDEwIGJ5IFJvYmVydCBDYW1wYmVsbAogKi8KCm5hbWVzcGFjZSBDR1Byb2R1Y3RCdWlsZGVyOwoKLyoqCiAqIEEgY2xhc3MgdG8gbWFuYWdlIGFuZCBpbnRlcmFjdCB3aXRoIGRpc3Bvc2l0aW9ucy4KICoKICogQHBhY2thZ2UgQ0dQcm9kdWN0QnVpbGRlcgogKiBAc2VlIFxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9uCiAqLwpmaW5hbCBjbGFzcyBEaXNwb3NpdGlvbkhhbmRsZXIKewogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIGNvbnN0IGtfTU9EVUxFID0gJ21vZHVsZSc7CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIGNvbnN0IGtfQ0xBU1MgPSAnY2xhc3MnOwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSBzdGF0aWMgJF9kaXNwb3NpdGlvbnM7CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9sb2FkX2Rpc3Bvc2l0aW9ucygpCiAgICB7CiAgICAgICAgaWYoICFpc19hcnJheShzZWxmOjokX2Rpc3Bvc2l0aW9ucykgKSB7CiAgICAgICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICAgICAgJHRtcCA9ICRtb2QtPkdldFByZWZlcmVuY2UoX19DTEFTU19fKTsKICAgICAgICAgICAgc2VsZjo6JF9kaXNwb3NpdGlvbnMgPSBhcnJheSgpOwogICAgICAgICAgICBpZiggJHRtcCApIHNlbGY6OiRfZGlzcG9zaXRpb25zID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfc2F2ZV9kaXNwb3NpdGlvbnMoKQogICAgewogICAgICAgICR0bXAgPSBudWxsOwogICAgICAgIGlmKCBpc19hcnJheShzZWxmOjokX2Rpc3Bvc2l0aW9ucykgJiYgY291bnQoc2VsZjo6JF9kaXNwb3NpdGlvbnMpICkgewogICAgICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dQUk9EVUNUQlVJTERFUik7CiAgICAgICAgICAgICRtb2QtPlNldFByZWZlcmVuY2UoX19DTEFTU19fLHNlcmlhbGl6ZShzZWxmOjokX2Rpc3Bvc2l0aW9ucykpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJlZ2lzdGVyIGEgZGlzcG9zaXRpb24uCiAgICAgKgogICAgICogVGhlIGNsYXNzIG5hbWUgbXVzdCBiZSB1bmlxdWUgdG8gYWxsIHJlZ2lzdGVyZWQgZGlzcG9zaXRpb25zLiAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBuYW1lc3BhY2VzIGJlIHVzZWQuCiAgICAgKiBUaGlzIG1ldGhvZCB3aWxsIHRyeSB0byBpbnN0YW50aWF0ZSB0aGUgY2xhc3Mgc3BlY2lmaWVkIHRvIGVuc3VyZSB0aGF0IGl0IGNhbiBiZSBsb2FkZWQgcHJvcGVybHkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbW9kdWxlIFRoZSBtb2R1bGUgdGhhdCBjb250YWlucyB0aGlzIGRpc3Bvc2l0aW9uLgogICAgICogQHBhcmFtIHN0cmluZyAkY2xhc3NuYW1lIFRoZSBuYW1lIG9mIHRoZSBjbGFzcy4gIFRoZSBjbGFzcyBtdXN0IGJlIGRlcml2ZWQgZnJvbSBcQ0dQcm9kdWN0QnVpbGRlclxkaXNwb3NpdGlvbgogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHJlZ2lzdGVyX2Rpc3Bvc2l0aW9uKCRtb2R1bGUsJGNsYXNzbmFtZSkKICAgIHsKICAgICAgICAkbW9kdWxlID0gKHN0cmluZykgJG1vZHVsZTsKICAgICAgICAkY2xhc3NuYW1lID0gKHN0cmluZykgJGNsYXNzbmFtZTsKICAgICAgICBpZiggISRtb2R1bGUgfHwgISRjbGFzc25hbWUgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRhdGEgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CgogICAgICAgIHNlbGY6Ol9sb2FkX2Rpc3Bvc2l0aW9ucygpOwogICAgICAgICRmb3VuZCA9IGZhbHNlOwogICAgICAgIGZvcmVhY2goIHNlbGY6OiRfZGlzcG9zaXRpb25zIGFzICRyb3cgKSB7CiAgICAgICAgICAgIGlmKCAkcm93W3NlbGY6OmtfQ0xBU1NdID09ICRjbGFzc25hbWUgKSB7CiAgICAgICAgICAgICAgICAkZm91bmQgPSBUUlVFOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmKCAhJGZvdW5kICkgewogICAgICAgICAgICAkdF9tb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCRtb2R1bGVuYW1lKTsKICAgICAgICAgICAgJG9iaiA9IG5ldyAkY2xhc3NuYW1lOyAvLyB0cnkgdG8gaW5zdGFudGlhdGUgaXQKICAgICAgICAgICAgaWYoICEkb2JqIGluc3RhbmNlb2YgZGlzcG9zaXRpb24gKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJGNsYXNzbmFtZS4nIGlzIG5vdCBhIHZhbGlkIGRpc3Bvc2l0aW9uIGNsYXNzJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdW5zZXQoJG9iaik7CiAgICAgICAgICAgIHNlbGY6OiRfZGlzcG9zaXRpb25zW10gPSBhcnJheShzZWxmOjprX01PRFVMRT0+JG1vZHVsZSxzZWxmOjprX0NMQVNTPT4kY2xhc3NuYW1lKTsKICAgICAgICAgICAgc2VsZjo6X3NhdmVfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogVW5yZWdpc3RlciBhbGwgZGlzcG9zaXRpb25zIHJlZ2lzdGVyZWQgZm9yIGEgc3BlY2lmaWMgbW9kdWxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJG1vZHVsZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHVucmVnaXN0ZXJfbW9kdWxlX2Rpc3Bvc2l0aW9ucygkbW9kdWxlKQogICAgewogICAgICAgICRtb2R1bGUgPSAoc3RyaW5nKSAkbW9kdWxlOwogICAgICAgIGlmKCAhJG1vZHVsZSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgZGF0YSBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKCiAgICAgICAgc2VsZjo6X2xvYWRfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgJGxpc3QgPSBhcnJheSgpOwogICAgICAgICRmbmQgPSBGQUxTRTsKICAgICAgICBmb3JlYWNoKCBzZWxmOjokX2Rpc3Bvc2l0aW9ucyBhcyAkcm93ICkgewogICAgICAgICAgICBpZiggJHJvd1tzZWxmOjprX01PRFVMRV0gPT0gJG1vZHVsZSApIHsKICAgICAgICAgICAgICAgICRmbmQgPSBUUlVFOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJGxpc3RbXSA9ICRyb3c7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoICRmbmQgKSB7CiAgICAgICAgICAgIHNlbGY6Ol9zYXZlX2Rpc3Bvc2l0aW9ucygpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFVuLXJlZ2lzdGVyIGEgc3BlY2lmaWMgZGlzcG9zaXRpb24gYnkgaXRzIGNhbHNzIG5hbWUuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkY2xhc3MKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB1bnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2NsYXNzKCRjbGFzcykKICAgIHsKICAgICAgICAkY2xhc3MgPSAoc3RyaW5nKSAkY2xhc3M7CiAgICAgICAgaWYoICEkY2xhc3MgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRhdGEgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CgogICAgICAgIHNlbGY6Ol9sb2FkX2Rpc3Bvc2l0aW9ucygpOwogICAgICAgICRsaXN0ID0gYXJyYXkoKTsKICAgICAgICAkZm5kID0gRkFMU0U7CiAgICAgICAgZm9yZWFjaCggc2VsZjo6JF9kaXNwb3NpdGlvbnMgYXMgJHJvdyApIHsKICAgICAgICAgICAgaWYoICRyb3dbc2VsZjo6a19DTEFTU10gPT0gJGNsYXNzICkgewogICAgICAgICAgICAgICAgJGZuZCA9IFRSVUU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkbGlzdFtdID0gJHJvdzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiggJGZuZCApIHsKICAgICAgICAgICAgc2VsZjo6X3NhdmVfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBsaXN0IG9mIHJlZ2lzdGVyZWQgY2xhc3Nlcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZ1tdCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3JlZ2lzdGVyZWRfY2xhc3NlcygpCiAgICB7CiAgICAgICAgc2VsZjo6X2xvYWRfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCggc2VsZjo6JF9kaXNwb3NpdGlvbnMgYXMgJHJvdyApIHsKICAgICAgICAgICAgJG91dFtdID0gJHJvd1tzZWxmOjprX0NMQVNTXTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFycmF5X3VuaXF1ZSgkb3V0KTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbGwgb2YgdGhlIHJlZ2lzdGVyZWQgZGlzcG9zaXRpb25zLgogICAgICoKICAgICAqIEByZXR1cm4gXENHUHJvZHVjdEJ1aWxkZXJcZGlzcG9zaXRpb25bXQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9kaXNwb3NpdGlvbnMoKQogICAgewogICAgICAgIHNlbGY6Ol9sb2FkX2Rpc3Bvc2l0aW9ucygpOwogICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgIGZvcmVhY2goIHNlbGY6OiRfZGlzcG9zaXRpb25zIGFzICRyb3cgKSB7CiAgICAgICAgICAgICRvdXRbXSA9IG5ldyAkcm93W3NlbGY6OmtfQ0xBU1NdOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhIGxpc3QgKHN1aXRhYmxlIGZvciB1c2UgaW4gZHJvcGRvd25zKSBvZiBkaXNwb3NpdGlvbnMuCiAgICAgKiBUaGUga2V5cyBvZiB0aGUgcmV0dXJuZWQgYXJyYXkgYXJlIHRoZSBjbGFzcyBuYW1lcy4gIFRoZSB2YWx1ZXMgYXJlIGRpc3Bvc2l0aW9uIGZyaWVuZGx5IG5hbWVzLgogICAgICogT25seSB0aG9zZSBkaXNwb3NpdGlvbnMgZGVlbWVkIGFzICdjb21wYXRpYmxlJyB3aXRoIHRoZSBjdXJyZW50IGluc3RhbGwgd2lsbCBiZSByZXR1cm5lZC4KICAgICAqCiAgICAgKiBAcGFyYW0gYm9vbCAkYWxsIFdldGhlciBvciBub3QgdG8gcmV0dXJuIGFsbCBkaXNwb3NpdGlvbnMsIGNvbXBhdGlibGUgb3Igbm90LgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9kaXNwb3NpdGlvbl9saXN0KCRhbGwgPSBGQUxTRSkKICAgIHsKICAgICAgICAkYWxsID0gKGJvb2wpICRhbGw7CiAgICAgICAgJGxpc3QgPSBzZWxmOjpnZXRfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgaWYoIGlzX2FycmF5KCRsaXN0KSAmJiBjb3VudCgkbGlzdCkgKSB7CiAgICAgICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkb2JqICkgewogICAgICAgICAgICAgICAgaWYoICEkYWxsICYmICEkb2JqLT5jb21wYXRpYmxlKCkgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICRjbGFzc25hbWUgPSBnZXRfY2xhc3MoJG9iaik7CiAgICAgICAgICAgICAgICBpZiggIXN0YXJ0c3dpdGgoJGNsYXNzbmFtZSwnXFwnKSApICRjbGFzc25hbWUgPSAnXFwnLiRjbGFzc25hbWU7CiAgICAgICAgICAgICAgICAkb3V0W2dldF9jbGFzcygkb2JqKV0gPSAkb2JqLT5nZXRfZnJpZW5kbHluYW1lKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICRvdXQ7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IGEgbGlzdCBvZiBkaXNwb3NpdGlvbnMgdGhhdCBhcmUgcmVhZHksYW5kIGNhbiBiZSB1c2VkIGZvciBkaXNwb3Npbmcgb2YgdGhlIGN1cnJlbnQgZm9ybS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3JlYWR5X2Rpc3Bvc2l0aW9uX2xpc3QoKQogICAgewogICAgICAgICRsaXN0ID0gc2VsZjo6Z2V0X2Rpc3Bvc2l0aW9ucygpOwogICAgICAgIGlmKCAhY291bnQoJGxpc3QpICkgcmV0dXJuOwoKICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkb2JqICkgewogICAgICAgICAgICBpZiggISRvYmotPnJlYWR5KCkgKSBjb250aW51ZTsKICAgICAgICAgICAgJGNsYXNzbmFtZSA9IGdldF9jbGFzcygkb2JqKTsKICAgICAgICAgICAgaWYoICFzdGFydHN3aXRoKCRjbGFzc25hbWUsJ1xcJykgKSAkY2xhc3NuYW1lID0gJ1xcJy4kY2xhc3NuYW1lOwogICAgICAgICAgICAkb3V0W2dldF9jbGFzcygkb2JqKV0gPSAkb2JqLT5nZXRfZnJpZW5kbHluYW1lKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGRpc3Bvc2l0aW9ucyBtYXRjaGluZyB0aGUgY2xhc3MgbmFtZSBvciBjbGFzcyBuYW1lcyBzdXBwbGllZC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nfHN0cmluZ1tdICRjbGFzc25hbWVzCiAgICAgKiBAcmV0dXJuIFxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9ufFxDR1Byb2R1Y3RCdWlsZGVyXGRpc3Bvc2l0aW9uW10KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZGlzcG9zaXRpb24oJGNsYXNzbmFtZXMpCiAgICB7CiAgICAgICAgaWYoICFpc19hcnJheSgkY2xhc3NuYW1lcykgKSB7CiAgICAgICAgICAgICRjbGFzc25hbWVzID0gKHN0cmluZykgJGNsYXNzbmFtZXM7CiAgICAgICAgICAgIGlmKCAhJGNsYXNzbmFtZXMgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRhdGEgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CiAgICAgICAgICAgICRjbGFzc25hbWVzID0gYXJyYXkoJGNsYXNzbmFtZXMpOwogICAgICAgIH0KCiAgICAgICAgc2VsZjo6X2xvYWRfZGlzcG9zaXRpb25zKCk7CiAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCggJGNsYXNzbmFtZXMgYXMgJGNsYXNzICkgewogICAgICAgICAgICAkY2xhc3MgPSB0cmltKCRjbGFzcyk7CiAgICAgICAgICAgIGlmKCAhJGNsYXNzICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCAhc3RhcnRzd2l0aCgkY2xhc3MsJ1xcJykgKSAkY2xhc3MgPSAnXFwnLiRjbGFzczsKICAgICAgICAgICAgJGZuZCA9IEZBTFNFOwogICAgICAgICAgICBmb3JlYWNoKCBzZWxmOjokX2Rpc3Bvc2l0aW9ucyBhcyAkcm93ICkgewogICAgICAgICAgICAgICAgaWYoICRjbGFzcyA9PSAkcm93W3NlbGY6OmtfQ0xBU1NdICkgewogICAgICAgICAgICAgICAgICAgICRvYmogPSBuZXcgJHJvd1tzZWxmOjprX0NMQVNTXTsKICAgICAgICAgICAgICAgICAgICAkb3V0W10gPSAkb2JqOwogICAgICAgICAgICAgICAgICAgICRmbmQgPSBUUlVFOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCAhJGZuZCApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJGNsYXNzLicgaXMgbm90IGEgcmVnaXN0ZXJlZCBkaXNwb3NpdG9uJyk7CiAgICAgICAgfQoKICAgICAgICBpZiggY291bnQoJG91dCkgPT0gMSApIHJldHVybiAkb3V0WzBdOwogICAgICAgIHJldHVybiAkb3V0OwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.email_disposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBDR1Byb2R1Y3RCdWlsZGVyOwoKY2xhc3MgZW1haWxfZGlzcG9zaXRpb24gZXh0ZW5kcyBkaXNwb3NpdGlvbgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2ZyaWVuZGx5bmFtZSgpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHUFJPRFVDVEJVSUxERVIpOwogICAgICAgIHJldHVybiAkbW9kLT5MYW5nKCdkaXNwb3NlX2VtYWlsX25hbWUnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2J1dHRvbnRleHQoKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICByZXR1cm4gJG1vZC0+TGFuZygnZGlzcG9zZV9lbWFpbF9idXR0b24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGlzcG9zZShQcm9kdWN0U3BlYyAkcHJvZHVjdFNwZWMpCiAgICB7CiAgICAgICAgJG1haWxlciA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU01haWxlcicpOwogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICAkcHJlZnMgPSAkbW9kLT5nZXRfZW1haWxfZGlzcG9zaXRpb25fcHJlZnMoKTsKICAgICAgICAkZW1haWxzID0gXGNnZV91c2Vyb3BzOjpleHBhbmRfZ3JvdXBfZW1haWxzKCRwcmVmc1snZ3JvdXBsaXN0J10pOwogICAgICAgIGlmKCAhaXNfYXJyYXkoJGVtYWlscykgfHwgY291bnQoJGVtYWlscykgPT0gMCApIHsKICAgICAgICAgICAgYXVkaXQoJycsJG1vZC0+R2V0TmFtZSgpLCdObyBlbWFpbCBhZGRyZXNzZXMgZm9yIG1lbWJlcnMgb2YgZ3JvdXAgJy4kcHJlZnNbJ2dyb3VwbGlzdCddKTsKICAgICAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdJbnRlcm5hbCBFcnJvcjogTm8gZW1haWwgYWRkcmVzc2VzIGNvdWxkIGJlIGZvdW5kIGZvciB0aGUgc2VsZWN0ZWQgYWRtaW4gZ3JvdXAuJyk7CiAgICAgICAgfQoKICAgICAgICAvLyBnaXZlIHNvbWUgc3R1ZmYgdG8gc21hcnR5CiAgICAgICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgICAgICRzbWFydHktPmFzc2lnbigncHJvZHVjdFNwZWMnLCRwcm9kdWN0U3BlYyk7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdjb250ZW50JywkcHJvZHVjdFNwZWMtPmNvbnRlbnQpOwogICAgICAgICRmZXUgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdmZXVfbW9kJywkZmV1KTsKCiAgICAgICAgLy8gZ2V0IHRoZSBzdWJqZWN0CiAgICAgICAgJHN1YmplY3QgPSBzdHJpcF90YWdzKCRzbWFydHktPmZldGNoKCdzdHJpbmc6Jy4kcHJlZnNbJ2VtYWlsX3N1YmplY3QnXSkpOwoKICAgICAgICAvLyBnZXQgdGhlIG1lc3NhZ2UgYm9keQogICAgICAgICRib2R5ID0gJHNtYXJ0eS0+ZmV0Y2goJ3N0cmluZzonLiRwcmVmc1snZW1haWxfdGVtcGxhdGUnXSk7CgogICAgICAgIC8vIHNlbmQgdGhlIG1lc3NhZ2UKICAgICAgICAkbWFpbGVyLT5yZXNldCgpOwogICAgICAgICRtYWlsZXItPklzSFRNTChUUlVFKTsKICAgICAgICBmb3JlYWNoKCAkZW1haWxzIGFzICRlbWFpbCApIHsKICAgICAgICAgICAgJG1haWxlci0+QWRkQWRkcmVzcygkZW1haWwpOwogICAgICAgIH0KICAgICAgICAkbWFpbGVyLT5TZXRTdWJqZWN0KCRzdWJqZWN0KTsKICAgICAgICAkbWFpbGVyLT5TZXRCb2R5KCRib2R5KTsKICAgICAgICAkbWFpbGVyLT5TZW5kKCk7CgogICAgICAgIC8vIHJldHVybiBzb21lIHN0dWZmCiAgICAgICAgc3dpdGNoKCAkcHJlZnNbJ2FmdGVyJ10gKSB7CiAgICAgICAgY2FzZSAncmVkaXJlY3QnOgogICAgICAgICAgICAkcGFnZSA9ICRtb2QtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHByZWZzWydyZWRpcmVjdF9wYWdlJ10sXENvbnRlbnRPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+R2V0RGVmYXVsdENvbnRlbnQoKSk7CiAgICAgICAgICAgICRtb2QtPlJlZGlyZWN0Q29uZW50KCRwYWdlKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ21lc3NhZ2UnOgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICRtc2cgPSAkc21hcnR5LT5mZXRjaCgnc3RyaW5nOicuJHByZWZzWydhZnRlcl9tc2cnXSk7CiAgICAgICAgICAgIHJldHVybiAkbXNnOwogICAgICAgIH0KICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.option.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgb3B0aW9uIGNsYXNzCiAqCiAqIEBwYWNrYWdlIENHUHJvZHVjdEJ1aWxkZXIKICogQGNhdGVnb3J5IFByb2R1Y3RzCiAqIEBhdXRob3IgIGNhbGd1eTEwMDAgPGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+CiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IDIwMTAgYnkgUm9iZXJ0IENhbXBiZWxsCiAqLwoKbmFtZXNwYWNlIENHUHJvZHVjdEJ1aWxkZXI7CgovKioKICogRGVmaW5lIGEgc2luZ2xlIG9wdGlvbi4KICogT3B0aW9ucyBhcmUgc3RvcmVkIHdpdGhpbiBhbiBvcHRpb24gc2V0IG9iamVjdC4KICoKICogQHBhY2thZ2UgQ0dQcm9kdWN0QnVpbGRlcgogKiBAcHJvcGVydHkgc3RyaW5nICRuYW1lIFRoZSBvcHRpb24gbmFtZQogKiBAcHJvcGVydHkgc3RyaW5nICRkZXNjcmlwdGlvbiBUaGUgb3B0aW9uIGRlc2NyaXB0aW9uIChtYXkgY29udGFpbiBIVE1MKQogKiBAcHJvcGVydHkgZmxvYXQgcmV0YWlscHJpY2UgVGhlIHJldGFpbCBwcmljZSBmb3IgdGhpcyBvcHRpb24uCiAqIEBwcm9wZXJ0eSBmbG9hdCB3aG9sZXNhbGVwcmljZSBUaGUgd2hvbGVzYWxlIHByaWNlIGZvciB0aGlzIG9wdGlvbi4KICovCmNsYXNzIG9wdGlvbgp7CiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSAkX2RhdGEgPSBhcnJheSgnbmFtZSc9Pm51bGwsJ2Rlc2NyaXB0aW9uJz0+bnVsbCwnd2hvbGVzYWxlcHJpY2UnPT5udWxsLCdyZXRhaWxwcmljZSc9Pm51bGwpOwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnbmFtZSc6CiAgICAgICAgY2FzZSAnZGVzY3JpcHRpb24nOgogICAgICAgIGNhc2UgJ3JldGFpbHByaWNlJzoKICAgICAgICBjYXNlICd3aG9sZXNhbGVwcmljZSc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2RhdGFbJGtleV07CgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJGtleS4nIGlzIG5vdCBhIHZhbGlkIG1lbWJlciBvZiAnLl9fQ0xBU1NfXyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoJGtleSwkdmFsdWUpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ25hbWUnOgogICAgICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgoc3RyaW5nKSAkdmFsdWUpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAncmV0YWlscHJpY2UnOgogICAgICAgIGNhc2UgJ3dob2xlc2FsZXByaWNlJzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gKGZsb2F0KSAkdmFsdWU7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCRrZXkuJyBpcyBub3QgYSB2YWxpZCBtZW1iZXIgb2YgJy5fX0NMQVNTX18pOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9faXNzZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnbmFtZSc6CiAgICAgICAgY2FzZSAnZGVzY3JpcHRpb24nOgogICAgICAgIGNhc2UgJ3JldGFpbHByaWNlJzoKICAgICAgICBjYXNlICd3aG9sZXNhbGVwcmljZSc6CiAgICAgICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCRrZXkuJyBpcyBub3QgYSB2YWxpZCBtZW1iZXIgb2YgJy5fX0NMQVNTX18pOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fdW5zZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnbmFtZSc6CiAgICAgICAgY2FzZSAnZGVzY3JpcHRpb24nOgogICAgICAgIGNhc2UgJ3JldGFpbHByaWNlJzoKICAgICAgICBjYXNlICd3aG9sZXNhbGVwcmljZSc6CiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IG51bGw7CgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJGtleS4nIGlzIG5vdCBhIHZhbGlkIG1lbWJlciBvZiAnLl9fQ0xBU1NfXyk7CiAgICAgICAgfQogICAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.optionset_ascii_importer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBDR1Byb2R1Y3RCdWlsZGVyOwoKZmluYWwgY2xhc3Mgb3B0aW9uc2V0X2FzY2lpX2ltcG9ydGVyCnsKICAgIHByaXZhdGUgJF9vcHRzZXRzOyAvLyBjYWNoZSBvZiBleGlzdGluZyBvcHRzZXQgbmFtZXMuCiAgICBwcml2YXRlICRfcHJldl9wb3M7CiAgICBwcml2YXRlICRfaGVhZGVyczsKICAgIHByaXZhdGUgJF9maDsKICAgIHByaXZhdGUgJF9maWxlbmFtZTsKICAgIHByaXZhdGUgJF9wcmVmczsKCiAgICBwcml2YXRlIGZ1bmN0aW9uIF90aHJvdygka2V5LCRjbGFzc25hbWUgPSAnJykKICAgIHsKICAgICAgICBpZiggISRjbGFzc25hbWUgKSAkY2xhc3NuYW1lID0gJ1xDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbic7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHUFJPRFVDVEJVSUxERVIpOwogICAgICAgIHRocm93IG5ldyAkY2xhc3NuYW1lKCRtb2QtPkxhbmcoJGtleSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkcHJlZnMsJGZpbGVuYW1lKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKCiAgICAgICAgaWYoICFpc19hcnJheSgkcHJlZnMpIHx8ICFpc3NldCgkcHJlZnNbJ2RlbGltaXRlciddKSB8fCAhaXNzZXQoJHByZWZzWydlbmNsb3N1cmUnXSkgKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJ0luc3VmZmljaWVudCBkYXRhIHBhc3NlZCB0byAnLl9fQ0xBU1NfXy4nIGNvbnN0cnVjdG9yJyk7CiAgICAgICAgfQoKICAgICAgICAkZmlsZW5hbWUgPSB0cmltKChzdHJpbmcpICRmaWxlbmFtZSk7CiAgICAgICAgaWYoICEkZmlsZW5hbWUgfHwgIWZpbGVfZXhpc3RzKCRmaWxlbmFtZSkgKSAkdGhpcy0+X3Rocm93KCdlcnJvcl9pbXBvcnRfbm9maWxlJyk7CgogICAgICAgICR0aGlzLT5fcHJlZnMgPSAkcHJlZnM7CiAgICAgICAgJHRoaXMtPl9maWxlbmFtZSA9ICRmaWxlbmFtZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZG9uZSgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2ZoICkgcmV0dXJuIEZBTFNFOwogICAgICAgIHJldHVybiBmZW9mKCR0aGlzLT5fZmgpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfbGluZSgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2ZoICkgJHRoaXMtPl9maCA9IGZvcGVuKCR0aGlzLT5fZmlsZW5hbWUsJ3InKTsKICAgICAgICAkdGhpcy0+X3ByZXZfcG9zID0gZnRlbGwoJHRoaXMtPl9maCk7CiAgICAgICAgJHRtcCA9IGZnZXRjc3YoJHRoaXMtPl9maCwwLCR0aGlzLT5fcHJlZnNbJ2RlbGltaXRlciddLCR0aGlzLT5fcHJlZnNbJ2VuY2xvc3VyZSddKTsKICAgICAgICByZXR1cm4gJHRtcDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcmV3aW5kX3JlY29yZCgpCiAgICB7CiAgICAgICAgaWYoICR0aGlzLT5fZmggJiYgJHRoaXMtPl9wcmV2X3BvcyApIHsKICAgICAgICAgICAgZnNlZWsoJHRoaXMtPl9maCwkdGhpcy0+X3ByZXZfcG9zKTsKICAgICAgICAgICAgJHRoaXMtPl9wcmV2X3BvcyA9IGZ0ZWxsKCR0aGlzLT5fZmgpOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X3ZhbGlkX2xpbmUoKQogICAgewogICAgICAgIGZvciggJGkgPSAwOyAkaSA8IDEwMCAmJiAhJHRoaXMtPmRvbmUoKTsgJGkrKyApIHsKICAgICAgICAgICAgJGxpbmUgPSAkdGhpcy0+Z2V0X2xpbmUoKTsKICAgICAgICAgICAgaWYoIGlzX2FycmF5KCRsaW5lKSApIHsKICAgICAgICAgICAgICAgIC8vIHZhbGlkYXRlIHRoYXQgaXQncyBub3QganVzdCBlbXB0eS4KICAgICAgICAgICAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRsaW5lKTsgJGkrKyApIHsKICAgICAgICAgICAgICAgICAgICBpZiggc3RybGVuKCRsaW5lWyRpXSkgPiAwICkgcmV0dXJuICRsaW5lOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gX2J1aWxkX29wdHNldF9tYXAoJGZpZWxkcykKICAgIHsKICAgICAgICBpZiggIWlzX2FycmF5KCRmaWVsZHMpIHx8IGNvdW50KCRmaWVsZHMpID09IDAgKSAkdGhpcy0+X3Rocm93KCdlcnJvcl9jc3ZmaWxlX2ludmFsaWRoZHInKTsKICAgICAgICAkbWFwID0gYXJyYXkoJ25hbWUnPT5udWxsLCdkZXNjcmlwdGlvbic9Pm51bGwsJ211bHRpc2VsZWN0Jz0+bnVsbCk7CiAgICAgICAgZm9yKCAkaSA9IDE7ICRpIDwgY291bnQoJGZpZWxkcyk7ICRpKysgKSB7CiAgICAgICAgICAgICRrZXkgPSAkZmllbGRzWyRpXTsKICAgICAgICAgICAgaWYoICRrZXkgJiYgYXJyYXlfa2V5X2V4aXN0cygka2V5LCRtYXApICkgewogICAgICAgICAgICAgICAgJG1hcFska2V5XSA9ICRpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICR0aGlzLT5faGVhZGVyc1snb3B0c2V0J10gPSAkbWFwOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gX2J1aWxkX29wdGlvbl9tYXAoJGZpZWxkcykKICAgIHsKICAgICAgICBpZiggIWlzX2FycmF5KCRmaWVsZHMpIHx8IGNvdW50KCRmaWVsZHMpID09IDAgKSAkdGhpcy0+X3Rocm93KCdlcnJvcl9jc3ZmaWxlX2ludmFsaWRoZHInKTsKICAgICAgICAkbWFwID0gYXJyYXkoJ25hbWUnPT5udWxsLCdkZXNjcmlwdGlvbic9Pm51bGwsJ3dob2xlc2FsZSc9Pm51bGwsJ3JldGFpbCc9Pm51bGwpOwogICAgICAgIGZvciggJGkgPSAxOyAkaSA8IGNvdW50KCRmaWVsZHMpOyAkaSsrICkgewogICAgICAgICAgICAka2V5ID0gJGZpZWxkc1skaV07CiAgICAgICAgICAgIGlmKCAka2V5ICYmIGFycmF5X2tleV9leGlzdHMoJGtleSwkbWFwKSApIHsKICAgICAgICAgICAgICAgICRtYXBbJGtleV0gPSAkaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+X2hlYWRlcnNbJ29wdGlvbiddID0gJG1hcDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2hlYWRlcnMoKQogICAgewogICAgICAgIGZvciggJGkgPSAwOyAkaSA8IDI7ICRpKysgKSB7CiAgICAgICAgICAgICRmaWVsZHMgPSAkdGhpcy0+Z2V0X2xpbmUoKTsKICAgICAgICAgICAgaWYoICFzdGFydHN3aXRoKCRmaWVsZHNbMF0sICcjIycpICkgJHRoaXMtPl90aHJvdygnZXJyb3JfY3N2ZmlsZV9pbnZhbGlkaGRyJyk7CiAgICAgICAgICAgIHN3aXRjaCggJGZpZWxkc1swXSApIHsKICAgICAgICAgICAgY2FzZSAnIyNvcHRzZXQnOgogICAgICAgICAgICBjYXNlICcjI29wdGlvbnNldCc6CiAgICAgICAgICAgICAgICAkdGhpcy0+X2J1aWxkX29wdHNldF9tYXAoJGZpZWxkcyk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJyMjb3B0aW9uJzoKICAgICAgICAgICAgICAgICR0aGlzLT5fYnVpbGRfb3B0aW9uX21hcCgkZmllbGRzKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICR0aGlzLT5fdGhyb3coJ2Vycm9yX2NzdmZpbGVfaW52YWxpZGhkcicpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiggY291bnQoJHRoaXMtPl9oZWFkZXJzKSAhPSAyICkgJHRoaXMtPl90aHJvdygnZXJyb3JfY3N2ZmlsZV9pbnZhbGlkaGRyJyk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhdmVfaGVhZGVycygpCiAgICB7CiAgICAgICAgaWYoIGNvdW50KCR0aGlzLT5faGVhZGVycykgPT0gMiApIHJldHVybiBUUlVFOwogICAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X29wdHNldF9maWVsZCgkcmVjb3JkLCRmbGQpCiAgICB7CiAgICAgICAgJG1hcCA9ICR0aGlzLT5faGVhZGVyc1snb3B0c2V0J107CiAgICAgICAgaWYoICFpc3NldCgkbWFwWyRmbGRdKSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJGZsZCwnIGlzIG5vdCBhIGtub3duIGZpZWxkIGZvciBhbiBvcHRzZXQnKTsKICAgICAgICAkaWR4ID0gJG1hcFskZmxkXTsKICAgICAgICBpZiggIWlzc2V0KCRyZWNvcmRbJGlkeF0pICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignaW52YWxpZCByZWNvcmQgaW4gZmlsZScpOwoKICAgICAgICByZXR1cm4gJHJlY29yZFskaWR4XTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X29wdGlvbl9maWVsZCgkcmVjb3JkLCRmbGQpCiAgICB7CiAgICAgICAgJG1hcCA9ICR0aGlzLT5faGVhZGVyc1snb3B0aW9uJ107CiAgICAgICAgaWYoICFpc3NldCgkbWFwWyRmbGRdKSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJGZsZC4nIGlzIG5vdCBhIGtub3duIGZpZWxkIGZvciBhbiBvcHRpb24nKTsKICAgICAgICAkaWR4ID0gJG1hcFskZmxkXTsKICAgICAgICBpZiggIWlzc2V0KCRyZWNvcmRbJGlkeF0pICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignaW52YWxpZCByZWNvcmQgaW4gZmlsZScpOwoKICAgICAgICByZXR1cm4gJHJlY29yZFskaWR4XTsKICAgIH0KCiAgICAvLyBjb252ZXJ0IG11bHRpLWxpbmUgdGV4dCBpbnRvIHNvbWUgc29ydCBvZiBIVE1MCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gdGV4dF90b19odG1sKCRpbl90ZXh0KQogICAgewogICAgICAgICRsaW5lcyA9IGV4cGxvZGUoIlxuIiwkaW5fdGV4dCk7CiAgICAgICAgJG91dCA9ICcnOwogICAgICAgIGZvcmVhY2goICRsaW5lcyBhcyAkbGluZSApIHsKICAgICAgICAgICAgaWYoIHRyaW0oJGxpbmUpICkgJG91dCAuPSAnPHA+Jy4kbGluZS4nPC9wPic7CiAgICAgICAgfQogICAgICAgIHJldHVybiBcY2dlX3V0aWxzOjpjbGVhbl9pbnB1dF9odG1sKCRvdXQpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBidWlsZF9vcHRpb24oJHJlY29yZCkKICAgIHsKICAgICAgICAkbWFwID0gJHRoaXMtPl9oZWFkZXJzWydvcHRpb24nXTsKICAgICAgICAkb3B0aW9uID0gbmV3IFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbjsKICAgICAgICAkb3B0aW9uLT5uYW1lID0gJHRoaXMtPmdldF9vcHRpb25fZmllbGQoJHJlY29yZCwnbmFtZScpOwogICAgICAgICRvcHRpb24tPmRlc2NyaXB0aW9uID0gJHRoaXMtPnRleHRfdG9faHRtbCgkdGhpcy0+Z2V0X29wdGlvbl9maWVsZCgkcmVjb3JkLCdkZXNjcmlwdGlvbicpKTsKICAgICAgICAkb3B0aW9uLT53aG9sZXNhbGVwcmljZSA9IChmbG9hdCkgJHRoaXMtPmdldF9vcHRpb25fZmllbGQoJHJlY29yZCwnd2hvbGVzYWxlJyk7CiAgICAgICAgJG9wdGlvbi0+cmV0YWlscHJpY2UgPSAoZmxvYXQpICR0aGlzLT5nZXRfb3B0aW9uX2ZpZWxkKCRyZWNvcmQsJ3JldGFpbCcpOwogICAgICAgIHJldHVybiAkb3B0aW9uOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBidWlsZF9vcHRzZXQoJHJlY29yZHMpCiAgICB7CiAgICAgICAgLy8gZ2l2ZW4gYW4gYXJyYXkgb2YgcmVjb3JkcyBmcm9tIHRoZSBjc3YgZmlsZSwgYnVpbGQgYW4gb3B0c2V0IG9iamVjdAogICAgICAgIC8vIGFzc3VtZTogdGhlIDB0aCByZWNvcmQgY29udGFpbnMgdGhlIG9wdHNldAogICAgICAgIC8vIHN1Y2Nlc3NpdmUgcmVjb3JkcyBkZWZpbmUgdGhlIG9wdGlvbnMuCiAgICAgICAgJG9wdHNldCA9IG5ldyBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25fc2V0OwogICAgICAgICRyZWMgPSAkcmVjb3Jkc1swXTsKICAgICAgICAkb3B0c2V0LT5uYW1lID0gJHRoaXMtPmdldF9vcHRzZXRfZmllbGQoJHJlYywnbmFtZScpOwogICAgICAgICRvcHRzZXQtPmRlc2NyaXB0aW9uID0gJHRoaXMtPnRleHRfdG9faHRtbCgkdGhpcy0+Z2V0X29wdHNldF9maWVsZCgkcmVjLCdkZXNjcmlwdGlvbicpKTsKICAgICAgICAkb3B0c2V0LT5tdWx0aXNlbGVjdCA9ICR0aGlzLT5nZXRfb3B0c2V0X2ZpZWxkKCRyZWMsJ211bHRpc2VsZWN0Jyk7CgogICAgICAgICRvcHRpb25zID0gYXJyYXkoKTsKICAgICAgICBmb3IoICRpID0gMTsgJGkgPCBjb3VudCgkcmVjb3Jkcyk7ICRpKysgKSB7CiAgICAgICAgICAgICRvcHRpb24gPSAkdGhpcy0+YnVpbGRfb3B0aW9uKCRyZWNvcmRzWyRpXSk7CiAgICAgICAgICAgIGlmKCAkb3B0aW9uICkgJG9wdGlvbnNbXSA9ICRvcHRpb247CiAgICAgICAgfQoKICAgICAgICAvLyBjaGVjayB0byBtYWtlIHN1cmUgd2UgaGF2ZSBvcHRpb25zIGZvciBvdXIgb3B0c2V0CiAgICAgICAgJG9wdHNldC0+c2V0X29wdGlvbnMoJG9wdGlvbnMpOwogICAgICAgIHJldHVybiAkb3B0c2V0OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiByZWFkX29wdHNldCgpCiAgICB7CiAgICAgICAgLy8gZ2V0IGFsbCBvZiB0aGUgbGluZXMgdGlsbCB3ZSBlbmNvdW50ZXIgYSBuZXcgJ29wdHNldCcKICAgICAgICAkbGluZXMgPSBhcnJheSgpOwogICAgICAgICRoYXZlX29wdHNldCA9IEZBTFNFOwogICAgICAgIHdoaWxlKCAhJHRoaXMtPmRvbmUoKSApIHsKICAgICAgICAgICAgJGZpZWxkcyA9ICR0aGlzLT5nZXRfdmFsaWRfbGluZSgpOwogICAgICAgICAgICBpZiggJGZpZWxkc1swXSA9PSAnI29wdHNldCcgKSB7CiAgICAgICAgICAgICAgICBpZiggISRoYXZlX29wdHNldCApIHsKICAgICAgICAgICAgICAgICAgICAkaGF2ZV9vcHRzZXQgPSBUUlVFOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgLy8gd2UgYWxyZWFkeSBoYXZlIHRoZSBvcHRzZXQKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cmV3aW5kX3JlY29yZCgpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCBpc19hcnJheSgkZmllbGRzKSAmJiBjb3VudCgkZmllbGRzICkgKSAkbGluZXNbXSA9ICRmaWVsZHM7CiAgICAgICAgfQoKICAgICAgICAvLyBhdCB0aGlzIHBvaW50IHdlIGhhdmUgdGhlIG9wdHNldCByZWNvcmQsIGFuZCBhbGwgdGhlIG9wdGlvbiByZWNvcmRzLgogICAgICAgIC8vIGhhdmUgdG8gZGVjaWRlIHdoYXQgdG8gZG8gd2l0aCB0aGVtLgogICAgICAgIHJldHVybiAkdGhpcy0+YnVpbGRfb3B0c2V0KCRsaW5lcyk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBfbG9hZF9vcHRzZXRzKCkKICAgIHsKICAgICAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fb3B0c2V0cykgKSB7CiAgICAgICAgICAgIC8vIGxvYWQgYWxsIHRoZSBvcHRzZXQgbmFtZXMKICAgICAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxuYW1lIEZST00gJy5DR1BCX09QVFNFVFNfVEFCTEUuJyBPUkRFUiBCWSBuYW1lIEFTQyc7CiAgICAgICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgICAgICR0aGlzLT5fb3B0c2V0cyA9IGFycmF5KCk7CiAgICAgICAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgICAgICAgIGlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApIHsKICAgICAgICAgICAgICAgIGZvcmVhY2goICR0bXAgYXMgJHJvdyApIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X29wdHNldHNbJHJvd1snbmFtZSddXSA9ICRyb3dbJ2lkJ107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNoZWNrX29wdHNldF9leGlzdHMoJG9wdHNldF9uYW1lKQogICAgewogICAgICAgICRvcHRzZXRfbmFtZSA9IHRyaW0oKHN0cmluZykgJG9wdHNldF9uYW1lKTsKICAgICAgICAkdGhpcy0+X2xvYWRfb3B0c2V0cygpOwogICAgICAgIHJldHVybiBpbl9hcnJheSgkb3B0c2V0X25hbWUsYXJyYXlfa2V5cygkdGhpcy0+X29wdHNldHMpKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X29wdHNldF9pZCgkb3B0c2V0X25hbWUpCiAgICB7CiAgICAgICAgJG9wdHNldF9uYW1lID0gdHJpbSgoc3RyaW5nKSAkb3B0c2V0X25hbWUpOwogICAgICAgICR0aGlzLT5fbG9hZF9vcHRzZXRzKCk7CiAgICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fb3B0c2V0c1skb3B0c2V0X25hbWVdKSApIHJldHVybiAkdGhpcy0+X29wdHNldHNbJG9wdHNldF9uYW1lXTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcHJvY2VzcygpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+aGF2ZV9oZWFkZXJzKCkgKSAkdGhpcy0+Z2V0X2hlYWRlcnMoKTsKCiAgICAgICAgJG9wdHNldCA9ICR0aGlzLT5yZWFkX29wdHNldCgpOwogICAgICAgIGlmKCAkdGhpcy0+Y2hlY2tfb3B0c2V0X2V4aXN0cygkb3B0c2V0LT5uYW1lKSApIHsKICAgICAgICAgICAgaWYoICR0aGlzLT5fcHJlZnNbJ29uZHVwbGljYXRlJ10gPT0gJ292ZXJ3cml0ZScgKSB7CiAgICAgICAgICAgICAgICAkdG1wX29wdHNldCA9ICRvcHRzZXQ7CiAgICAgICAgICAgICAgICAkb3B0c2V0X2lkID0gJHRoaXMtPmdldF9vcHRzZXRfaWQoJG9wdHNldC0+bmFtZSk7CiAgICAgICAgICAgICAgICAkb3B0c2V0ID0gXENHUHJvZHVjdEJ1aWxkZXJcb3B0aW9uX3NldDo6bG9hZCgkb3B0c2V0X2lkKTsKICAgICAgICAgICAgICAgICRvcHRzZXQtPm5hbWUgPSAkdG1wX29wdHNldC0+bmFtZTsKICAgICAgICAgICAgICAgICRvcHRzZXQtPmRlc2NyaXB0aW9uID0gJHRtcF9vcHRzZXQtPmRlc2NyaXB0aW9uOwogICAgICAgICAgICAgICAgJG9wdHNldC0+bXVsdGlzZWxlY3QgPSAkdG1wX29wdHNldC0+bXVsdGlzZWxlY3Q7CiAgICAgICAgICAgICAgICAkb3B0aW9ucyA9ICR0bXBfb3B0c2V0LT5nZXRfb3B0aW9ucygpOwogICAgICAgICAgICAgICAgJG9wdHNldC0+c2V0X29wdGlvbnMoJG9wdGlvbnMpOwogICAgICAgICAgICAgICAgLy8gZmxsIHRocm91Z2ggdG8gc2F2ZS4KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKCAkdGhpcy0+X3ByZWZzWydvbmR1cGxpY2F0ZSddID0gJ2lnbm9yZScgKSB7CiAgICAgICAgICAgICAgICAvLyB3ZSBnZXQgdG8gaWdub3JlIHRoaXMgb25lLgogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBpdHMgYSBuZXcgb3B0c2V0CiAgICAgICAgaWYoICFpbl9hcnJheSgkb3B0c2V0LT5uYW1lLCR0aGlzLT5fb3B0c2V0cykgKSAkdGhpcy0+X29wdHNldHNbJG9wdHNldC0+bmFtZV0gPSAkb3B0c2V0LT5pZDsKICAgICAgICAkb3B0c2V0LT5zYXZlKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9wcm9ncmVzcygpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2ZoICkgcmV0dXJuIDA7CiAgICAgICAgJHZhbCA9IGZ0ZWxsKCR0aGlzLT5fZmgpOwogICAgICAgIHJldHVybiAoaW50KSAoJHZhbCAvIGZpbGVzaXplKCR0aGlzLT5fZmlsZW5hbWUpKSAqIDEwMDsKICAgIH0KfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.option_set.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgb3B0aW9uX3NldCBjbGFzcwogKgogKiBAcGFja2FnZSBDR1Byb2R1Y3RCdWlsZGVyCiAqIEBjYXRlZ29yeSBQcm9kdWN0cwogKiBAYXV0aG9yICBjYWxndXkxMDAwIDxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPgogKiBAY29weXJpZ2h0IENvcHlyaWdodCAyMDEwIGJ5IFJvYmVydCBDYW1wYmVsbAogKi8KCm5hbWVzcGFjZSBDR1Byb2R1Y3RCdWlsZGVyOwoKLyoqCiAqIERlZmluZSBhbiBvcHRpb24gc2V0LgogKiBBbiBvcHRpb24gc2V0IGNvbnRhaW5zIGFuIGlkLCBuYW1lLCBkZXNjcmlwdGlvbiwgYW5kIGFsc28gY29udGFpbnMgYSBsaXN0IG9mIG9wdGlvbnMuCiAqIFRoaXMgY2xhc3MgaGFuZGxlcyBzYXZpbmcgYW5kIGxvYWRpbmcgb2JqZWN0cyBvZiB0aGlzIHR5cGUuCiAqCiAqIEBwYWNrYWdlIENHUHJvZHVjdEJ1aWxkZXIKICogQHByb3BlcnR5LXJlYWQgaW50ICRpZCBUaGUgb3B0aW9uIHNldCBpZCAoYSB2YWxpZCBpbnRlZ2VyIG9uY2Ugc2F2ZWQgdG8gdGhlIGRhdGFiYXNlKS4KICogQHByb3BlcnR5IHN0cmluZyAkbmFtZSBUaGUgb3B0aW9uIHNldCBuYW1lLgogKiBAcHJvcGVydHkgc3RyaW5nICRkZXNjcmlwdGlvbiBBIGRlc2NyaXB0aW9uIGZvciB0aGlzIG9wdGlvbiBzZXQgKG1heSBpbmNsdWRlIEhUTUwpCiAqLwpjbGFzcyBvcHRpb25fc2V0CnsKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCdpZCc9Pm51bGwsJ25hbWUnPT5udWxsLCdkZXNjcmlwdGlvbic9Pm51bGwsJ2lvcmRlcic9Pm51bGwsJ211bHRpc2VsZWN0Jz0+bnVsbCk7CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHByaXZhdGUgJF9vcHRpb25zID0gYXJyYXkoKTsKCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSBzdGF0aWMgJF9hbGxfZGF0YTsKCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2lkJzoKICAgICAgICBjYXNlICduYW1lJzoKICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgY2FzZSAnaW9yZGVyJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVska2V5XTsKCiAgICAgICAgY2FzZSAnbXVsdGlzZWxlY3QnOgogICAgICAgICAgICByZXR1cm4gKGJvb2wpICR0aGlzLT5fZGF0YVska2V5XTsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigka2V5LicgaXMgbm90IGEgdmFsaWQgbWVtYmVyIG9mICcuX19DTEFTU19fKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgka2V5LCR2YWx1ZSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnaWQnOgogICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJGtleS4nIGlzIG5vdCBhIHNldHRhYmxlIG1lbWJlciBvZiAnLl9fQ0xBU1NfXyk7CgogICAgICAgIGNhc2UgJ25hbWUnOgogICAgICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzoKICAgICAgICAgICAgJHZhbHVlID0gdHJpbSgoc3RyaW5nKSAkdmFsdWUpOwogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsdWU7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdpb3JkZXInOgogICAgICAgICAgICAkdmFsdWUgPSAoaW50KSAkdmFsdWU7CiAgICAgICAgICAgICR2YWx1ZSA9IG1heCgwLCR2YWx1ZSk7CiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ211bHRpc2VsZWN0JzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gXGNnZV91dGlsczo6dG9fYm9vbCgkdmFsdWUpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigka2V5LicgaXMgbm90IGEgdmFsaWQgbWVtYmVyIG9mICcuX19DTEFTU19fKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2lzc2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2lkJzoKICAgICAgICBjYXNlICduYW1lJzoKICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgY2FzZSAnaW9yZGVyJzoKICAgICAgICBjYXNlICdtdWx0aXNlbGVjdCc6CiAgICAgICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCRrZXkuJyBpcyBub3QgYSB2YWxpZCBtZW1iZXIgb2YgJy5fX0NMQVNTX18pOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fdW5zZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnaWQnOgogICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJGtleS4nIGlzIG5vdCBhIHNldHRhYmxlIG1lbWJlciBvZiAnLl9fQ0xBU1NfXyk7CgogICAgICAgIGNhc2UgJ25hbWUnOgogICAgICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzoKICAgICAgICBjYXNlICdpb3JkZXInOgogICAgICAgIGNhc2UgJ211bHRpc2VsZWN0JzoKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gbnVsbDsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJGtleS4nIGlzIG5vdCBhIHZhbGlkIG1lbWJlciBvZiAnLl9fQ0xBU1NfXyk7CiAgICAgICAgfQoKICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9pbnNlcnQoKQogICAgewogICAgICAgIGlmKCAkdGhpcy0+aWQgPiAwICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbihfX01FVEhPRF9fLicgY2Fubm90IGJlIGNhbGxlZCB3aXRoIGEgcHJldmlvdXNseSBzYXZlZCAnLl9fQ0xBU1NfXyk7CiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAgICAgLy8gZmlndXJlIG91dCBhIG5ldyBvcHRpb24gaW9yZGVyIHZhbHVlCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBDT0FMRVNDRShNQVgoaW9yZGVyKSwwKSsxIEZST00gJy5DR1BCX09QVFNFVFNfVEFCTEU7CiAgICAgICAgJGlvcmRlciA9IChpbnQpICRkYi0+R2V0T25lKCRxdWVyeSk7CiAgICAgICAgJHRoaXMtPl9kYXRhWydpb3JkZXInXSA9ICRpb3JkZXI7CgogICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkNHUEJfT1BUU0VUU19UQUJMRS4nIChuYW1lLCBkZXNjcmlwdGlvbiwgaW9yZGVyLCBvcHRpb25zLCBtdWx0aXNlbGVjdCkgVkFMVUVTICg/LD8sPyw/LD8pJzsKICAgICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+bmFtZSwkdGhpcy0+ZGVzY3JpcHRpb24sJHRoaXMtPmlvcmRlciwgc2VyaWFsaXplKCR0aGlzLT5fb3B0aW9ucyksICR0aGlzLT5tdWx0aXNlbGVjdCkpOwogICAgICAgICR0aGlzLT5fZGF0YVsnaWQnXSA9IChpbnQpICRkYi0+SW5zZXJ0X0lEKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfdXBkYXRlKCkKICAgIHsKICAgICAgICBpZiggJHRoaXMtPmlkIDwgMSApIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oX19NRVRIT0RfXy4nIGNhbm5vdCBiZSBjYWxsZWQgd2l0aCBhIHByZXZpb3VzbHkgc2F2ZWQgJy5fX0NMQVNTX18pOwogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgogICAgICAgICRxdWVyeSA9ICdVUERBVEUgJy5DR1BCX09QVFNFVFNfVEFCTEUuJyBTRVQgbmFtZSA9ID8sIGRlc2NyaXB0aW9uID0gPywgaW9yZGVyID0gPywgb3B0aW9ucyA9ID8sIG11bHRpc2VsZWN0ID0gPyBXSEVSRSBpZCA9ID8nOwogICAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5uYW1lLCR0aGlzLT5kZXNjcmlwdGlvbiwgJHRoaXMtPmlvcmRlciwgc2VyaWFsaXplKCR0aGlzLT5fb3B0aW9ucyksICR0aGlzLT5tdWx0aXNlbGVjdCwgJHRoaXMtPmlkKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBFbnN1cmUgdGhhdCB0aGUgY29udGVudHMgb2YgdGhlIG9wdGlvbiBzZXQgYXJlIHZhbGlkLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICBpZiggJHRoaXMtPm5hbWUgPT0gJycgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCRtb2QtPkxhbmcoJ2Vycm9yX25hbWVfcmVxdWlyZWQnKSk7CiAgICAgICAgJHRfaWQgPSBzZWxmOjpnZXRfaWRfYnlfbmFtZSgkdGhpcy0+bmFtZSk7CiAgICAgICAgaWYoICR0aGlzLT5pZCA+IDAgKSB7CiAgICAgICAgICAgIGlmKCAkdGhpcy0+aW9yZGVyIDwgMSAgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCRtb2QtPkxhbmcoJ2Vycm9yX2ludmFsaWRfb3JkZXInKSk7CiAgICAgICAgICAgIGlmKCAkdF9pZCA+IDAgJiYgJHRfaWQgIT0gJHRoaXMtPmlkICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigkbW9kLT5MYW5nKCdlcnJfb3B0aW9uc2V0X2V4aXN0cycpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiggJHRfaWQgPiAwICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigkbW9kLT5MYW5nKCdlcnJfb3B0aW9uc2V0X2V4aXN0cycpKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBTYXZlIHRoaXMgb3B0aW9uIHNldCB0byB0aGUgZGF0YWJhc2UuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCkKICAgIHsKICAgICAgICAkdGhpcy0+dmFsaWRhdGUoKTsKICAgICAgICBpZiggJHRoaXMtPmlkID4gMCApIHsKICAgICAgICAgICAgJHRoaXMtPl91cGRhdGUoKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5faW5zZXJ0KCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogTG9hZCBhbiBvcHRpb24gc2V0IGZyb20gdGhlIGRhdGFiYXNlLgogICAgICoKICAgICAqIEBwYXJhbSBpbnQgJGlkIFRoZSBvcHRpb24gc2V0IGlkLgogICAgICogQHJldHVybiBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25fc2V0CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZCgkaWQpCiAgICB7CiAgICAgICAgJGlkID0gKGludCkgJGlkOwogICAgICAgIGlmKCAkaWQgPCAxICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbignSW52YWxpZCBpZCB2YWx1ZSBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKCiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIGlkLG5hbWUsZGVzY3JpcHRpb24saW9yZGVyLG9wdGlvbnMsbXVsdGlzZWxlY3QgRlJPTSAnLkNHUEJfT1BUU0VUU19UQUJMRS4nIFdIRVJFIGlkID0gPyc7CiAgICAgICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkaWQpKTsKICAgICAgICBpZiggIWlzX2FycmF5KCRyb3cpICkgdGhyb3cgbmV3IFxjZ19ub3Rmb3VuZEV4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgYW4gb3B0aW9uIHNldCB3aXRoIGlkICcuJGlkKTsKCiAgICAgICAgcmV0dXJuIHNlbGY6OmZpbGxfZnJvbV9kYXRhKCRyb3cpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2lkX2J5X25hbWUoJG5hbWUpCiAgICB7CiAgICAgICAgJG5hbWUgPSB0cmltKCRuYW1lKTsKICAgICAgICBpZiggISRuYW1lICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbignSW52YWxpZCBuYW1lIHZhbHVlIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwoKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkNHUEJfT1BUU0VUU19UQUJMRS4nIFdIRVJFIG5hbWUgPSA/JzsKICAgICAgICAkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5KTsKICAgICAgICByZXR1cm4gJHRtcDsKICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJvdGVjdGVkIHN0YXRpYyBmdW5jdGlvbiBmaWxsX2Zyb21fZGF0YShhcnJheSAkcm93KQogICAgewogICAgICAgICRvYmogPSBuZXcgc2VsZigpOwogICAgICAgIGZvcmVhY2goIGFycmF5X2tleXMoJG9iai0+X2RhdGEpIGFzICRrZXkgKSB7CiAgICAgICAgICAgIGlmKCAhYXJyYXlfa2V5X2V4aXN0cygka2V5LCRyb3cpICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigka2V5LicgaXMgbWlzc2luZyBmcm9tIGlucHV0IGRhdGEnKTsKICAgICAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgICAgICBjYXNlICdpb3JkZXInOgogICAgICAgICAgICBjYXNlICdpZCc6CiAgICAgICAgICAgICAgICAkb2JqLT5fZGF0YVska2V5XSA9IChpbnQpICRyb3dbJGtleV07CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ25hbWUnOgogICAgICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgICAgICAgICAkdmFsdWUgPSB0cmltKChzdHJpbmcpICRyb3dbJGtleV0pOwogICAgICAgICAgICAgICAgJG9iai0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWx1ZSk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ211bHRpc2VsZWN0JzoKICAgICAgICAgICAgICAgICRvYmotPl9kYXRhWyRrZXldID0gKGJvb2wpICRyb3dbJGtleV07CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYoIGlzc2V0KCRyb3dbJ29wdGlvbnMnXSkgKSB7CiAgICAgICAgICAgICR0bXAgPSB1bnNlcmlhbGl6ZSgkcm93WydvcHRpb25zJ10pOwogICAgICAgICAgICBpZiggaXNfYXJyYXkoJHRtcCkgKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoKCAkdG1wIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoICEgJG9uZSBpbnN0YW5jZW9mIFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbiApIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbignSW52YWxpZCBvcHRpb24gZGF0YSBzcGVjaWZpZWQnKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJG9iai0+X29wdGlvbnMgPSAkdG1wOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG9iajsKICAgIH0KCiAgICAvKioKICAgICAqIExvYWQgYWxsIG9wdGlvbiBzZXRzLgogICAgICoKICAgICAqIEByZXR1cm4gXENHUHJvZHVjdEJ1aWxkZXJcb3B0aW9uX3NldFtdCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9hbGwoKQogICAgewogICAgICAgIGlmKCAhaXNfYXJyYXkoc2VsZjo6JF9hbGxfZGF0YSkgKSB7CiAgICAgICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQsbmFtZSxkZXNjcmlwdGlvbixpb3JkZXIsb3B0aW9ucyxtdWx0aXNlbGVjdCBGUk9NICcuQ0dQQl9PUFRTRVRTX1RBQkxFLicgT1JERVIgQlkgaW9yZGVyJzsKICAgICAgICAgICAgJGxpc3QgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgICAgICAgICRvdXQgPSBudWxsOwogICAgICAgICAgICBpZiggaXNfYXJyYXkoJGxpc3QpICYmIGNvdW50KCRsaXN0KSApIHsKICAgICAgICAgICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgZm9yZWFjaCggJGxpc3QgYXMgJHJvdyApIHsKICAgICAgICAgICAgICAgICAgICAkb3V0W10gPSBzZWxmOjpmaWxsX2Zyb21fZGF0YSgkcm93KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzZWxmOjokX2FsbF9kYXRhID0gJG91dDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHNlbGY6OiRfYWxsX2RhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZW5lcmF0ZSBhIGxpc3QgKHN1aXRhYmxlIGZvciB1c2UgaW4gZHJvcGRvd25zKSBvZiBhbGwgb3B0aW9uIHNldHMuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxvYWRfbGlzdCgpCiAgICB7CiAgICAgICAgJHRtcCA9IHNlbGY6OmxvYWRfYWxsKCk7CiAgICAgICAgaWYoIGlzX2FycmF5KCR0bXApICkgewogICAgICAgICAgICAkb3V0ID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewogICAgICAgICAgICAgICAgJG91dFskb25lLT5pZF0gPSAkb25lLT5uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkb3V0OwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENvcHkgdGhpcyBvcHRpb24gc2V0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb3B5KCkKICAgIHsKICAgICAgICAkb2JqID0gY2xvbmUgJHRoaXM7CiAgICAgICAgJG9iai0+X2RhdGFbJ2lkJ10gPSAkb2JqLT5fZGF0YVsnbmFtZSddID0gJG9iai0+X2RhdGFbJ2lvcmRlciddID0gbnVsbDsKICAgICAgICByZXR1cm4gJG9iajsKICAgIH0KCiAgICAvKioKICAgICAqIERlbGV0ZSB0aGlzIG9wdGlvbiBzZXQuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoKQogICAgewogICAgICAgIGlmKCAkdGhpcy0+aWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignQ2Fubm90IGRlbGV0ZSBhICcuX19DTEFTU19fLicgdGhhdCBoYXMgbm90IGJlZW4gc2F2ZWQnKTsKCiAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5DR1BCX09QVFNFVFNfVEFCTEUuJyBXSEVSRSBpZCA9ID8nOwogICAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aGlzLT5pZCkpOwogICAgICAgICRzb3J0aW5nID0gJHRoaXMtPmlvcmRlcjsKICAgICAgICAkdGhpcy0+X2RhdGFbJ2lkJ10gPSBudWxsOwogICAgICAgICR0aGlzLT5fZGF0YVsnaW9yZGVyJ10gPSBudWxsOwoKICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQ0dQQl9PUFRTRVRTX1RBQkxFLicgU0VUIGlvcmRlciA9IGlvcmRlciAtIDEgV0hFUkUgaW9yZGVyID4gPyc7CiAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkc29ydGluZykpOwogICAgfQoKICAgIC8qKgogICAgICogVGVzdCBpZiB0aGlzIG9wdGlvbiBzZXQgaGFzIG9wdGlvbnMuCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNfb3B0aW9ucygpCiAgICB7CiAgICAgICAgcmV0dXJuIChjb3VudCgkdGhpcy0+X29wdGlvbnMpID4gMCk7CiAgICB9CgoKICAgIC8qKgogICAgICogR2V0IGFsbCBvZiB0aGUgb3B0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhpcyBvcHRpb24gc2V0LgogICAgICoKICAgICAqIEByZXR1cm4gXENHUHJvZHVjdEJ1aWxkZXJcb3B0aW9uW10KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldF9vcHRpb25zKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9vcHRpb25zOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IGFsbCBvZiB0aGUgb3B0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhpcyBvcHRpb24gc2V0LgogICAgICoKICAgICAqIEBwYXJhbSBcQ0dQcm9kdWN0QnVpbGRlclxvcHRpb25bXSAkb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X29wdGlvbnMoYXJyYXkgJG9wdGlvbnMpCiAgICB7CiAgICAgICAgZm9yZWFjaCggJG9wdGlvbnMgYXMgJG9wdCApIHsKICAgICAgICAgICAgaWYoICEgJG9wdCBpbnN0YW5jZW9mIFxDR1Byb2R1Y3RCdWlsZGVyXG9wdGlvbiApIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oJ0ludmFsaWQgb3B0aW9uIGRhdGEgc3BlY2lmaWVkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICR0aGlzLT5fb3B0aW9ucyA9ICRvcHRpb25zOwogICAgfQoKICAgIC8qKgogICAgICogRGVsZXRlIGFsbCBvZiB0aGUgb3B0aW9ucyB0aGF0IGFyZSBjdXJyZW50bHkgYXNzb2NpYXRlZCB3aXRoIHRoaXMgb3B0aW9uIHNldC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZV9vcHRpb25zKCkKICAgIHsKICAgICAgICAkdGhpcy0+X29wdGlvbnMgPSBudWxsOwogICAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.pdf_disposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBDR1Byb2R1Y3RCdWlsZGVyOwoKY2xhc3MgcGRmX2Rpc3Bvc2l0aW9uIGV4dGVuZHMgZGlzcG9zaXRpb24KewogICAgcHVibGljIGZ1bmN0aW9uIGdldF9mcmllbmRseW5hbWUoKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICByZXR1cm4gJG1vZC0+TGFuZygnZGlzcG9zZV9wZGZfbmFtZScpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfYnV0dG9udGV4dCgpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHUFJPRFVDVEJVSUxERVIpOwogICAgICAgIHJldHVybiAkbW9kLT5MYW5nKCdkaXNwb3NlX3BkZl9idXR0b24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGlzcG9zZShQcm9kdWN0U3BlYyAkcHJvZHVjdFNwZWMpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHUFJPRFVDVEJVSUxERVIpOwoKICAgICAgICAvLyBnaXZlIHNvbWUgc3R1ZmYgdG8gc21hcnR5CiAgICAgICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgICAgICRzbWFydHktPmFzc2lnbigncHJvZHVjdFNwZWMnLCRwcm9kdWN0U3BlYyk7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdjb250ZW50JywkcHJvZHVjdFNwZWMtPmNvbnRlbnQpOwogICAgICAgICRmZXUgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdmZXVfbW9kJywkZmV1KTsKCiAgICAgICAgJGh0bWwgPSAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3BkZl90ZW1wbGF0ZScpOwoKICAgICAgICAkaHRtbDJwZGYgPSBuZXcgXENHSFRNTDJQREZcaHRtbDJwZGYoYXJyYXkoKSk7CiAgICAgICAgJGh0bWwycGRmLT53cml0ZUhUTUwoJGh0bWwpOwogICAgICAgICRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsKICAgICAgICBmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKICAgICAgICAkaHRtbDJwZGYtPm91dHB1dCgncHJvZHVjdC5wZGYnLCdJJyk7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.ProductSpec.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgUHJvZHVjdFNwZWMgY2xhc3MKICoKICogQHBhY2thZ2UgQ0dQcm9kdWN0QnVpbGRlcgogKiBAY2F0ZWdvcnkgUHJvZHVjdHMKICogQGF1dGhvciAgY2FsZ3V5MTAwMCA8Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz4KICogQGNvcHlyaWdodCBDb3B5cmlnaHQgMjAxMCBieSBSb2JlcnQgQ2FtcGJlbGwKICovCgpuYW1lc3BhY2UgQ0dQcm9kdWN0QnVpbGRlcjsKCi8qKgogKiBBbiBpbnRlcm1lZGlhdGUgY2xhc3MgdGhhdCBkZWZpbmVzIGEgcHJvZHVjdCBzcGVjaWZpY2F0aW9uLgogKiBBbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzIGlzIHBhc3NlZCB0byBkaXNwb3NpdGlvbnMuCiAqIERpc3Bvc2l0aW9ucyBjYW4gdXNlIHRoaXMgb2JqZWN0IHRvIG91dHB1dCB0aGUgY29tcGxldGUgcHJvZHVjdCBzcGVjaWZpY2F0aW9uIGluIHZhcmlvdXMgZm9ybWF0cy4KICoKICogQHBhY2thZ2UgQ0dQcm9kdWN0QnVpbGRlcgogKiBAcHJvcGVydHkgaW50ICRyZXR1cm5pZCBUaGUgaWQgb2YgdGhlIGNvbnRlbnQgcGFnZSB0aGF0IGNyZWF0ZWQgdGhpcyBwcm9kdWN0U3BlYwogKiBAcHJvcGVydHkgY2dwYl9wcm9kdWN0YnVpbGRlciAkY29udGVudCBBIHJlZmVyZW5jZSB0byB0aGUgYWN0dWFsIGNvbnRlbnQgcGFnZSB0aGF0IGNyZWF0ZWQgdGhpcyBwcm9kdWN0c3BlYyA8ZW0+KHJlYWQgb25seSk8L2VtPgogKiBAcHJvcGVydHkgc3RyaW5nICRuYW1lIFRoZSBuYW1lIG9mIHRoaXMgcHJvZHVjdC4KICogQHByb3BlcnR5IGZsb2F0ICRiYXNlcHJpY2UgVGhlIGJhc2UgcHJpY2Ugb2YgdGhpcyBwcm9kdWN0IDxlbT4oYWN0dWFsIHZhbHVlIG1heSBjaGFuZ2UgZm9yIGVhY2ggb2NjdXJyYW5jZSBkZXBlbmRpbmcgdXBvbiBGRVUgc3RhdHVzKTwvZW0+CiAqIEBwcm9wZXJ0eSBmbG9hdCAkcHJpY2UgVGhlIGZpbmFsIHByaWNlIG9mIHRoaXMgcHJvZHVjdCBpbmNsdWRpbmcgYWxsIHNlbGVjdGVkIG9wdGlvbnMuCiAqIEBwcm9wZXJ0eSBzdHJpbmcgJGRlc2NyaXB0aW9uIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIHByb2R1Y3QuICBNYXkgaW5jbHVkZSBIVE1MLgogKiBAcHJvcGVydHkgb3B0aW9uc2V0c1tdICRvcHRpb25zZXRzIFRoZSBvcHRpb25zZXRzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJvZHVjdC4KICogQHByb3BlcnR5LXJlYWQgYXJyYXkgJG9wdGlvbnMgQW4gYXJyYXkgb2Ygc3RkY2xhc3Mgb2JqZWN0cyB0aGF0IGRlZmluZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucy4gICBTZWUgdGhlIG1vZHVsZSBoZWxwIGZvciBhIGNsZWFyIGRlc2NyaXB0aW9uIG9mIGVhY2ggbWVtYmVyLgogKiBAcHJvcGVydHkgYm9vbCBpc193aG9sZXNhbGUgQSBib29sZWFuIGluZGljYXRpbmcgdGhhdCB3aG9sZXNhbGUgcHJpY2VzIGFyZSBpbiBlZmZlY3QgYW5kIHVzZWQgaW4gY2FsY3VsYXRpb25zLgogKi8KY2xhc3MgUHJvZHVjdFNwZWMKewogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHByaXZhdGUgJF9jb250ZW50OwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlICRfbmFtZTsKCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSAkX2Rlc2NyaXB0aW9uOwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlICRfb3B0aW9uc2V0czsKCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSAkX3NlbF9vcHRpb25zOwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlICRfYmFzZV9wcmljZTsKCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSAkX2ZpbmFsX3ByaWNlOwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlICRfd2hvbGVzYWxlX2ZsYWc7CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RvcgogICAgICoKICAgICAqIEBwYXJhbSBjZ3BiX3Byb2R1Y3RidWlsZGVyICRjb250ZW50IFRoZSBjb250ZW50IHBhZ2UgdGhhdCBjb250YWlucyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvZHVjdCBidWlsZC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjb250ZW50ID0gbnVsbCkKICAgIHsKICAgICAgICBpZiggJGNvbnRlbnQgJiYgJGNvbnRlbnQgaW5zdGFuY2VvZiBcY2dwYl9wcm9kdWN0YnVpbGRlciApIHsKICAgICAgICAgICAgJHRoaXMtPmJ1aWxkX2Zyb21fY29udGVudCgkY29udGVudCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQnVpbGQgdGhpcyBvYmplY3QgZnJvbSBhIHByb2R1Y3QgYnVpbGRlciBwYWdlLgogICAgICoKICAgICAqIEBwYXJhbSBjZ3BiX3Byb2R1Y3RidWlsZGVyIFRoZSBjb250ZW50IHBhZ2UgdGhhdCBjb250YWlucyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvZHVjdCBidWlsZC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1aWxkX2Zyb21fY29udGVudChcY2dwYl9wcm9kdWN0YnVpbGRlciAkY29udGVudCkKICAgIHsKICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dQUk9EVUNUQlVJTERFUik7CiAgICAgICAgJHRoaXMtPl9jb250ZW50ID0gJGNvbnRlbnQ7CiAgICAgICAgJHRoaXMtPl9uYW1lID0gJGNvbnRlbnQtPk5hbWUoKTsKICAgICAgICAkdHBsID0gJGNvbnRlbnQtPlNob3coJ2NvbnRlbnRfZW4nKTsKICAgICAgICAkdHBsID0gcHJlZ19yZXBsYWNlKCcvXHtDR1Byb2R1Y3RCdWlsZGVyLipcfS8nLCcnLCR0cGwpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0aGlzLT5fZGVzY3JpcHRpb24gPSAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdHBsKTsgLy8gcHJvYmxlbWF0aWM/PwogICAgICAgIH0KICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgJHRoaXMtPl9kZXNjcmlwdGlvbiA9ICR0cGw7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5fb3B0aW9uc2V0cyA9ICRjb250ZW50LT5nZXRfb3B0aW9uc2V0cygpOwogICAgICAgICR0aGlzLT5fc2VsX29wdGlvbnMgPSAkY29udGVudC0+Z2V0X2FsbF9zZWxlY3RlZF9vcHRpb25zKCk7CiAgICAgICAgJHRoaXMtPl9iYXNlX3ByaWNlID0gJGNvbnRlbnQtPmdldF9yZXRhaWxwcmljZSgpOwogICAgICAgICR3aG9sZXNhbGUgPSAkbW9kLT51c2Vfd2hvbGVzYWxlKCk7CiAgICAgICAgaWYoICR3aG9sZXNhbGUgKSB7CiAgICAgICAgICAgICR0aGlzLT5fYmFzZV9wcmljZSA9ICRjb250ZW50LT5nZXRfd2hvbGVzYWxlcHJpY2UoKTsKICAgICAgICAgICAgJHRoaXMtPl93aG9sZXNhbGVfZmxhZyA9IFRSVUU7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5fZmluYWxfcHJpY2UgPSAkY29udGVudC0+Z2V0X2N1cnJlbnRfcHJpY2UoKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgJGtleSA9IHRyaW0oKHN0cmluZykgJGtleSk7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ3JldHVybmlkJzoKICAgICAgICBjYXNlICdwYWdlaWQnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9jb250ZW50LT5JZCgpOwoKICAgICAgICBjYXNlICdjb250ZW50JzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fY29udGVudDsKCiAgICAgICAgY2FzZSAnbmFtZSc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fbmFtZSk7CgogICAgICAgIGNhc2UgJ2Jhc2VwcmljZSc6CiAgICAgICAgICAgIHJldHVybiAoZmxvYXQpICR0aGlzLT5fYmFzZV9wcmljZTsKCiAgICAgICAgY2FzZSAncHJpY2UnOgogICAgICAgICAgICByZXR1cm4gKGZsb2F0KSAkdGhpcy0+X2ZpbmFsX3ByaWNlOwoKICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fZGVzY3JpcHRpb24pOwoKICAgICAgICBjYXNlICdvcHRpb25zZXRzJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fb3B0aW9uc2V0czsKCiAgICAgICAgY2FzZSAnb3B0aW9ucyc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3NlbF9vcHRpb25zOwoKICAgICAgICBjYXNlICdpc193aG9sZXNhbGUnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPndob2xlc2FsZV9mbGFnOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIHZhbGlkIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoJGtleSwkdmFsKQogICAgewogICAgICAgICRrZXkgPSB0cmltKChzdHJpbmcpICRrZXkpOwogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdjb250ZW50JzoKICAgICAgICAgICAgaWYoICEkdmFsIGluc3RhbmNlb2YgXGNncGJfcHJvZHVjdGJ1aWxkZXIgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yICRrZXkgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnbmFtZSc6CiAgICAgICAgICAgICR2YWwgPSB0cmltKCR2YWwpOwogICAgICAgICAgICBpZiggISR2YWwgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yICRrZXkgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICAkdGhpcy0+X25hbWUgPSAkdmFsOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnYmFzZXByaWNlJzoKICAgICAgICAgICAgJHZhbCA9IChmbG9hdCkgJHZhbDsKICAgICAgICAgICAgaWYoICR2YWwgPCAwLjAwICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigiJHZhbCBpcyBhbiBpbnZhbGlkIHZhbHVlIGZvciAka2V5IGluICIuX19DTEFTU19fKTsKICAgICAgICAgICAgJHRoaXMtPl9iYXNlX3ByaWNlID0gJHZhbDsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ3ByaWNlJzoKICAgICAgICAgICAgJHZhbCA9IChmbG9hdCkgJHZhbDsKICAgICAgICAgICAgaWYoICR2YWwgPCAwLjAwICkgdGhyb3cgbmV3IFxDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigiJHZhbCBpcyBhbiBpbnZhbGlkIHZhbHVlIGZvciAka2V5IGluICIuX19DTEFTU19fKTsKICAgICAgICAgICAgJHRoaXMtPl9maW5hbF9wcmljZSA9ICR2YWw7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdjb250ZW50JzoKICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgICAgICR2YWwgPSB0cmltKCR2YWwpOwogICAgICAgICAgICAkaGlzLT5fZGVzY3JpcHRpb24gPSAkdmFsOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnb3B0aW9uc2V0cyc6CiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHZhbCkgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yICRrZXkgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICBmb3JlYWNoKCAkdmFsIGFzICRyZWMgKSB7CiAgICAgICAgICAgICAgICBpZiggISAkcmVjIGluc3RhbmNlb2Ygb3B0aW9uX3NldCApICB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yICRrZXkgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5fb3B0aW9uc2V0cyA9ICR2YWw7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdpc193aG9sZXNhbGUnOgogICAgICAgICAgICAkdGhpcy0+X3dob2xlc2FsZV9mbGFnID0gXGNnZV91dGlsczo6dG9fYm9vbCgkdmFsKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ29wdGlvbnMnOgogICAgICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIHNldHRhYmxlIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgICAgIC8qCiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHZhbCkgKSB0aHJvdyBuZXcgXENtc0ludmFsaWREYXRhRXhjZXB0aW9uKCIkdmFsIGlzIGFuIGludmFsaWQgdmFsdWUgZm9yICRrZXkgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICBmb3JlYWNoKCAkdmFsIGFzICRyZWMgKSB7CiAgICAgICAgICAgICAgICBpZiggISAkcmVjIGluc3RhbmNlb2Ygb3B0aW9uICkgIHRocm93IG5ldyBcQ21zSW52YWxpZERhdGFFeGNlcHRpb24oIiR2YWwgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgJGtleSBpbiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPl9zZWxfb3B0aW9ucyA9ICR2YWw7CiAgICAgICAgICAgICovCiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIHZhbGlkIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qCiAgICBwdWJsaWMgZnVuY3Rpb24gX19pc3NldCgka2V5KQogICAgewoKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX191bnNldCgka2V5KQogICAgewoKICAgIH0KICAgICovCgp9IC8vIGVuZCBvZiBjbGFzcwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.ticket_disposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBDR1Byb2R1Y3RCdWlsZGVyOwoKY2xhc3MgdGlja2V0X2Rpc3Bvc2l0aW9uIGV4dGVuZHMgZGlzcG9zaXRpb24KewogICAgcHVibGljIGZ1bmN0aW9uIGdldF9mcmllbmRseW5hbWUoKQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9DR1BST0RVQ1RCVUlMREVSKTsKICAgICAgICByZXR1cm4gJG1vZC0+TGFuZygnZGlzcG9zZV90aWNrZXRfbmFtZScpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfYnV0dG9udGV4dCgpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX0NHUFJPRFVDVEJVSUxERVIpOwogICAgICAgIHJldHVybiAkbW9kLT5MYW5nKCdkaXNwb3NlX3RpY2tldF9idXR0b24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY29tcGF0aWJsZSgpCiAgICB7CiAgICAgICAgJGNnY3QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0NsaWVudFRpY2tldHMnKTsKICAgICAgICBpZiggIWlzX29iamVjdCgkY2djdCkgKSByZXR1cm4gRkFMU0U7CgogICAgICAgICRmZXUgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgICAgaWYoICFpc19vYmplY3QoJGZldSkgKSByZXR1cm4gRkFMU0U7CgogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZWFkeSgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+Y29tcGF0aWJsZSgpICkgcmV0dXJuIEZBTFNFOwoKICAgICAgICAkZmV1ID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgICAgIGlmKCAhJGZldS0+TG9nZ2VkSW5JZCgpICkgcmV0dXJuIEZBTFNFOwogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKFByb2R1Y3RTcGVjICRwcm9kdWN0U3BlYykKICAgIHsKICAgICAgICAkdGlja2V0ID0gbnVsbDsKICAgICAgICB0cnkgewogICAgICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfQ0dQUk9EVUNUQlVJTERFUik7CiAgICAgICAgICAgICRjZ2N0ID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dDbGllbnRUaWNrZXRzJyk7CiAgICAgICAgICAgIGlmKCAhaXNfb2JqZWN0KCRjZ2N0KSApIHsKICAgICAgICAgICAgICAgIGF1ZGl0KCcnLCRtb2QtPkdldE5hbWUoKSwndGlja2V0cyBkaXNwb3NpdGlvbiBlbmFibGVkIGFuZCBzZWxlY3RlZCwgYnV0IHRoZSBDR0NsaWVudFRpY2tldHMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC4nKTsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignSW50ZXJuYWwgRXJyb3I6IFRoZSBDR0NsaWVudFRpY2tldHMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC4nKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkZmV1ID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgICAgICAgICBpZiggIWlzX29iamVjdCgkZmV1KSApIHsKICAgICAgICAgICAgICAgIGF1ZGl0KCcnLCRtb2QtPkdldE5hbWUoKSwndGlja2V0cyBkaXNwb3NpdGlvbiBlbmFibGVkIGFuZCBzZWxlY3RlZCwgYnV0IHRoZSBGRVUgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZCcpOwogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdJbnRlcm5hbCBFcnJvcjogVGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC4nKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkZmV1X3VpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgICAgICAgICAgaWYoICRmZXVfdWlkIDwgMSApIHsKICAgICAgICAgICAgICAgIGF1ZGl0KCcnLCRtb2QtPkdldE5hbWUoKSwndGlja2V0cyBkaXNwb3NpdGlvbiBlbmFibGVkIGFuZCBzZWxlY3RlZCwgYnV0IHVzZXIgaXMgbm90IGxvZ2dlZCBpbiB0byBGRVUnKTsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignSW50ZXJuYWwgRXJyb3I6IFRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBjb3VsZCBub3QgYmUgZm91bmQuJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vCiAgICAgICAgICAgIC8vIGdlbmVyYXRlIGEgUERGIGZpbGUgaW4gYSB0ZW1wb3JhcnkgbG9jYXRpb24KICAgICAgICAgICAgLy8KCiAgICAgICAgICAgIC8vIGdpdmUgc29tZSBzdHVmZiB0byBzbWFydHkKICAgICAgICAgICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb2R1Y3RTcGVjJywkcHJvZHVjdFNwZWMpOwogICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2NvbnRlbnQnLCRwcm9kdWN0U3BlYy0+Y29udGVudCk7CiAgICAgICAgICAgICRmZXUgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CiAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignZmV1X21vZCcsJGZldSk7CiAgICAgICAgICAgICRodG1sID0gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdwZGZfdGVtcGxhdGUnKTsKICAgICAgICAgICAgJGh0bWwycGRmID0gbmV3IFxDR0hUTUwyUERGXGh0bWwycGRmKGFycmF5KCkpOwogICAgICAgICAgICAkaHRtbDJwZGYtPndyaXRlSFRNTCgkaHRtbCk7CiAgICAgICAgICAgICR0bXBmaWxlID0gVE1QX0NBQ0hFX0xPQ0FUSU9OLicvJy5tZDUoX19GSUxFX18uc2Vzc2lvbl9pZCgpLnRpbWUoKSkuJy5wZGYnOwogICAgICAgICAgICAkaHRtbDJwZGYtPm91dHB1dCgkdG1wZmlsZSwnRicpOwogICAgICAgICAgICAkcHJlZnMgPSAkbW9kLT5nZXRfdGlja2V0X2Rpc3Bvc2l0aW9uX3ByZWZzKCk7CgogICAgICAgICAgICAvLwogICAgICAgICAgICAvLyBnZW5lcmF0ZSBhIG5ldyB0aWNrZXQKICAgICAgICAgICAgLy8KICAgICAgICAgICAgJHRpY2tldCA9IG5ldyBcQ0dDbGllbnRUaWNrZXRzXHRpY2tldDsKICAgICAgICAgICAgJHRpY2tldC0+cHJpb3JpdHkgPSAkdGlja2V0OjpQUklPUklUWV9OT1JNQUw7CiAgICAgICAgICAgICR0aWNrZXQtPm93bmVyID0gJGZldV91aWQ7CiAgICAgICAgICAgICR0aWNrZXQtPmFsZXJ0X2dyb3VwID0gJHByZWZzWydub3RpZnlfZ3JvdXAnXTsKICAgICAgICAgICAgJHRpY2tldC0+c2F2ZSgpOwoKICAgICAgICAgICAgJG1lc3NhZ2UgPSBuZXcgXENHQ2xpZW50VGlja2V0c1xtZXNzYWdlOwogICAgICAgICAgICAkbWVzc2FnZS0+ZGVzdCA9ICR0aWNrZXQtPmFsZXJ0X2dyb3VwOwogICAgICAgICAgICAkbWVzc2FnZS0+dGlja2V0X2lkID0gJHRpY2tldC0+aWQ7CiAgICAgICAgICAgICRtZXNzYWdlLT5zZW5kZXIgPSAkZmV1X3VpZDsKICAgICAgICAgICAgJG1lc3NhZ2UtPnN1YmplY3QgPSAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkcHJlZnNbJ3RpY2tldF9zdWJqZWN0J10pOwogICAgICAgICAgICAkbWVzc2FnZS0+Ym9keSA9ICRtb2QtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCRwcmVmc1sndGlja2V0X3RlbXBsYXRlJ10pOwogICAgICAgICAgICAkbWVzc2FnZS0+cXVldWVfYXR0YWNoKCR0bXBmaWxlKTsKICAgICAgICAgICAgJG1lc3NhZ2UtPnNhdmUoKTsKCiAgICAgICAgICAgIC8vIG5vdyBzZW5kIHRoZSB0aGluZy4KICAgICAgICAgICAgJG1lc3NhZ2UtPnNlbmQoKTsKCiAgICAgICAgICAgIC8vIG5vdyB3aGF0IGRvIHdlIGRvPwogICAgICAgICAgICBzd2l0Y2goICRwcmVmc1snYWZ0ZXInXSApIHsKICAgICAgICAgICAgY2FzZSAncmVkaXJlY3QnOgogICAgICAgICAgICAgICAgJHBhZ2UgPSAkbW9kLT5yZXNvbHZlX2FsaWFzX29yX2lkKCRwcmVmc1sncmVkaXJlY3RfcGFnZSddLFxDb250ZW50T3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPkdldERlZmF1bHRDb250ZW50KCkpOwogICAgICAgICAgICAgICAgJG1vZC0+UmVkaXJlY3RDb25lbnQoJHBhZ2UpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdtZXNzYWdlJzoKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICRtc2cgPSAkc21hcnR5LT5mZXRjaCgnc3RyaW5nOicuJHByZWZzWydhZnRlcl9tc2cnXSk7CiAgICAgICAgICAgICAgICByZXR1cm4gJG1zZzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgaWYoIGlzX29iamVjdCgkdGlja2V0KSApICR0aWNrZXQtPmRlbGV0ZSgpOwogICAgICAgICAgICB0aHJvdyAkZTsKICAgICAgICB9CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCmlmKCB2ZXJzaW9uX2NvbXBhcmUocGhwdmVyc2lvbigpLCc1LjQuMycpIDwgMCApIHsKICAgIHJldHVybiAiTWluaW11bSBQSFAgdmVyc2lvbiBvZiA1LjQuMyByZXF1aXJlZCI7Cn0KCnRyeSB7CiAgICAkZGIgPSBcY2dlX3V0aWxzOjpnZXRfZGIoKTsKICAgICR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgogICAgJGZsZHMgPSAiaWQgSSBLRVkgQVVUTywKICAgICAgICAgICAgIG5hbWUgQygyNTUpIE5PVCBOVUxMLAogICAgICAgICAgICAgZGVzY3JpcHRpb24gWCwKICAgICAgICAgICAgIGlvcmRlciBJIE5PVCBOVUxMLAogICAgICAgICAgICAgb3B0aW9ucyBYMiwKICAgICAgICAgICAgIG11bHRpc2VsZWN0IEkxCiAgICAgICAgICI7CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ0dQQl9PUFRTRVRTX1RBQkxFLCRmbGRzLCR0YWJvcHRhcnJheSk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgogICAgJHRwbCA9IGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19vcHRpb25zZXRfdmlldy50cGwnKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgncmVuZGVyX3N5c2RmbHRfdGVtcGxhdGUnLCR0cGwpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdyZW5kZXJfU2FtcGxlJywkdHBsKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZW5kZXJfZGZsdCcsJ1NhbXBsZScpOwoKICAgIFxDR1Byb2R1Y3RCdWlsZGVyXERpc3Bvc2l0aW9uSGFuZGxlcjo6cmVnaXN0ZXJfZGlzcG9zaXRpb24oJHRoaXMtPkdldE5hbWUoKSwnXENHUHJvZHVjdEJ1aWxkZXJcZW1haWxfZGlzcG9zaXRpb24nKTsKICAgIFxDR1Byb2R1Y3RCdWlsZGVyXERpc3Bvc2l0aW9uSGFuZGxlcjo6cmVnaXN0ZXJfZGlzcG9zaXRpb24oJHRoaXMtPkdldE5hbWUoKSwnXENHUHJvZHVjdEJ1aWxkZXJccGRmX2Rpc3Bvc2l0aW9uJyk7CiAgICBcQ0dQcm9kdWN0QnVpbGRlclxEaXNwb3NpdGlvbkhhbmRsZXI6OnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uKCR0aGlzLT5HZXROYW1lKCksJ1xDR1Byb2R1Y3RCdWlsZGVyXHRpY2tldF9kaXNwb3NpdGlvbicpOwoKICAgICR0bXAgPSBAZmlsZV9nZXRfY29udGVudHMoX19ESVJfXy4nL3RlbXBsYXRlcy9vcmlnX3BkZl9kaXNwb3NpdGlvbi50cGwnKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgncGRmX3RlbXBsYXRlJywkdG1wKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgIHJldHVybiAkZS0+R2V0TWVzc2FnZSgpOwp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCnRyeSB7CiAgICAvLyBzZWUgaWYgdGhlcmUgYXJlIGFueSBjb250ZW50IHR5cGVzIG9mIHR5cGUgY2dwYl9wcm9kdWN0YnVpbGRlcgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBjb250ZW50X2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQgV0hFUkUgdHlwZSA9ID8nOwogICAgJGxpc3QgPSAkZGItPkdldENvbCgkcXVlcnksYXJyYXkoJ2NncGJfcHJvZHVjdGJ1aWxkZXInKSk7CiAgICBpZiggaXNfYXJyYXkoJGxpc3QpICYmIGNvdW50KCRsaXN0KSApIHRocm93IG5ldyBcRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJfdW5pbnN0YWxsX3BhZ2VzZXhpc3QnKSk7CgogICAgJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCiAgICAkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKENHUEJfT1BUU0VUU19UQUJMRSk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICByZXR1cm4gJGUtPkdldE1lc3NhZ2UoKTsKfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHUHJvZHVjdEJ1aWxkZXIgKGMpIDIwMTQgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgYnVpbGRpbmcgb2YgcHJvZHVjdHMgdmlhCiMgIHZhcmlvdXMgb3B0aW9uIHNldHMuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDkgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCmlmKCB2ZXJzaW9uX2NvbXBhcmUocGhwdmVyc2lvbigpLCc1LjQuMycpIDwgMCApIHsKICAgIHJldHVybiAiTWluaW11bSBQSFAgdmVyc2lvbiBvZiA1LjQuMyByZXF1aXJlZCI7Cn0KCnRyeSB7CiAgICBpZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCcxLjEnKSA8IDAgKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJGRiID0gXGNnZV91dGlsczo6Z2V0X2RiKCk7CiAgICAgICAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICAgICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChDR1BCX09QVFNFVFNfVEFCTEUsICdtdWx0aXNlbGVjdCBJMScpOwogICAgICAgICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgICAgICAgICAvLyB0ZW1wb3JhcmlseSBkbyBub3RoaW5nLgogICAgICAgIH0KCiAgICAgICAgXENHUHJvZHVjdEJ1aWxkZXJcRGlzcG9zaXRpb25IYW5kbGVyOjpyZWdpc3Rlcl9kaXNwb3NpdGlvbigkdGhpcy0+R2V0TmFtZSgpLCdcQ0dQcm9kdWN0QnVpbGRlclx0aWNrZXRfZGlzcG9zaXRpb24nKTsKICAgIH0KfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgIHJldHVybiAkZS0+R2V0TWVzc2FnZSgpOwp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/phpdoc.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiID8+CjxwaHBkb2M+CiAgPHRpdGxlPjwhW0NEQVRBW0NHUHJvZHVjdEJ1aWxkZXIgYnkgY2FsZ3V5MTAwMF1dPjwvdGl0bGU+CiAgPHBhcnNlcj4KICAgIDx0YXJnZXQ+L3RtcC9DR1Byb2R1Y3RCdWlsZGVyLng8L3RhcmdldD4KICA8L3BhcnNlcj4KICA8dHJhbnNmb3JtZXI+CiAgICA8dGFyZ2V0PmRvYy9hcGlkb2M8L3RhcmdldD4KICA8L3RyYW5zZm9ybWVyPgogIDxmaWxlcz4KICAgIDxkaXJlY3Rvcnk+bGliPC9kaXJlY3Rvcnk+CiAgICA8aWdub3JlPmxpYi9jbGFzcy5jZ3BiX3Byb2R1Y3RidWlsZGVyLnBocDwvaWdub3JlPgogICAgPGlnbm9yZT5saWIvY2xhc3MuZW1haWxfZGlzcG9zaXRpb24ucGhwPC9pZ25vcmU+CiAgICA8aWdub3JlPmxpYi9jbGFzcy5wZGZfZGlzcG9zaXRpb24ucGhwPC9pZ25vcmU+CiAgICA8aWdub3JlPmxpYi9jbGFzcy5vcHRpb25zZXRfYXNjaWlfaW1wb3J0ZXIucGhwPC9pZ25vcmU+CiAgPC9maWxlcz4KPC9waHBkb2M+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_copy_optionset.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdoZHJfY29weV9vcHRpb25zZXQnKX08L2gzPgoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c2F2ZWVkaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc2F2ZV9hbmRfZWRpdCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIj4mbmJzcDs8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIj4KICA8cCBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskbW9kLT5MYW5nKCdvcmlnaW5hbF9uYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0iZ3JpZF8xMCI+CXskb3B0aW9uc2V0LT5uYW1lfTwvcD4KICA8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIj4KICA8cCBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskbW9kLT5MYW5nKCduZXdfbmFtZScpfTo8L3A+CiAgPHAgY2xhc3M9ImdyaWRfMTAiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9bmV3X25hbWUiIHNpemU9IjgwIiBtYXhsZW5ndGg9IjI1NSIgdmFsdWU9InskbmV3bmFtZX0iLz4KICA8L3A+CiAgPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCI+CiAgPHAgY2xhc3M9ImdyaWRfMiB0ZXh0LXJpZ2h0Ij57JG1vZC0+TGFuZygnb3JpZ2luYWxfZGVzYycpfTo8L3A+CiAgPHAgY2xhc3M9ImdyaWRfMTAiPgogICAgeyRvcHRpb25zZXQtPmRlc2NyaXB0aW9ufQogIDwvcD4KICA8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIj4KICA8cCBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskbW9kLT5MYW5nKCduZXdfZGVzYycpfTo8L3A+CiAgPHAgY2xhc3M9ImdyaWRfMTAiPgogICAge2NnZV93eXNpd3lnIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1uZXdfZGVzYyB2YWx1ZT0kbmV3ZGVzY30KICA8L3A+CiAgPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_option.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdoZHJfZWRpdF9vcHRpb24nKX08L2gzPgo8aDQ+eyRtb2QtPkxhbmcoJ29wdGlvbl9zZXQnKX06IHskb3B0aW9uX3NldC0+bmFtZX08L2g0PgoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X29wdGlvbl9uYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW9wdGlvbl9uYW1lIiB2YWx1ZT0ieyRvcHRpb24tPm5hbWV9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3dob2xlc2FsZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dHQiIG5hbWU9InskYWN0aW9uaWR9b3B0aW9uX3dob2xlc2FsZXByaWNlIiB2YWx1ZT0ieyRvcHRpb24tPndob2xlc2FsZXByaWNlfSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmV0YWlsJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0dCIgbmFtZT0ieyRhY3Rpb25pZH1vcHRpb25fcmV0YWlscHJpY2UiIHZhbHVlPSJ7JG9wdGlvbi0+cmV0YWlscHJpY2V9Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkZXNjcmlwdGlvbicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAge2NnZV93eXNpd3lnIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1vcHRpb25fZGVzY3JpcHRpb24gdmFsdWU9JG9wdGlvbi0+ZGVzY3JpcHRpb259CiAgPC9wPgo8L2Rpdj4KCnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_optionset.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2NnY3NzX2FkZH0KI2FkZF9vcHRpb24sLm9wdF9kZWxldGUsLm9wdF9lZGl0IHsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KI29wdGlvbl9saXN0IHRyIHsKICBjdXJzb3I6IG1vdmU7Cn0Key9jZ2Nzc19hZGR9Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgJCgnI29wdF9lZGl0X2lkeCcpLmNsb3Nlc3QoJ2Zvcm0nKS5zdWJtaXQoZnVuY3Rpb24oZSl7CiAgICAgLy8gdmFsaWRhdGUgdGhhdCBhbGwgb3B0aW9ucyAob3RoZXIgdGhhbiB0aGUgaGlkZGVuIG9uZSkgaGF2ZSBuYW1lcwogICAgIC8vIGRvbnQgY2FyZSBhYm91dCB0aGUgcHJpY2UuICBhbmQgY2hlY2sgZm9yIGR1cGxpY2F0ZSBuYW1lcy4KICAgICB2YXIgc3RhdHVzID0gJyc7CiAgICAgdmFyIHRtcF9uYW1lcyA9IFtdOwogICAgICQoJyNvcHRpb25fbGlzdCA+IHRyJykuZWFjaChmdW5jdGlvbiggaWR4LCBlbCApewogICAgICAgIGlmKCBpZHggPT0gMCApIHJldHVybjsKCXZhciBuYW1lID0gJCgnLm9wdF9uYW1lJyxlbCkudmFsKCkudHJpbSgpOwoJaWYoIG5hbWUubGVuZ3RoID09IDAgKSB7CgkgIHN0YXR1cyA9ICdlbXB0eSc7CgkgIHJldHVybjsKICAgICAgICB9CglpZiggdG1wX25hbWVzLmxhc3RJbmRleE9mKG5hbWUpICE9IC0xICkgewoJICBzdGF0dXMgPSAnZHVwbGljYXRlJzsKCSAgcmV0dXJuOwoJfQoJdG1wX25hbWVzLnB1c2gobmFtZSk7CiAgICAgfSk7CiAgICAgaWYoIHN0YXR1cyA9PSAnZW1wdHknICkgewogICAgICAgIGFsZXJ0KCd7JG1vZC0+TGFuZygnZXJyb3Jfb3B0aW9ubmFtZV9yZXF1aXJlZCcpfScpOwoJZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgIH0gZWxzZSBpZiAoIHN0YXR1cyA9PSAnZHVwbGljYXRlJyApIHsKICAgICAgICBhbGVydCgneyRtb2QtPkxhbmcoJ2Vycm9yX29wdGlvbm5hbWVfZHVwbGljYXRlJyl9Jyk7CgllLnByZXZlbnREZWZhdWx0KCk7CiAgICAgfQogICAgIC8vIG5vdyBjaGVjayBmb3IgZHVwbGljYXRlcwoKICB9KTsKICAkKCcjYWRkX29wdGlvbicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAvLyBjcmVhdGUgYSBuZXcgdGFibGUgcm93LgogICAgdmFyIG5ld19yb3cgPSAkKCcjb3B0aW9uX3RwbCcpLmNsb25lKCkuc2hvdygpOwogICAgdmFyIGMgPSAkKCcjb3B0aW9uX2xpc3QgPiB0cicpLmxlbmd0aCAtIDE7CiAgICAkKCdpbnB1dC5vcHRfaWR4JyxuZXdfcm93KS52YWwoYyk7CiAgICAkKCcjb3B0aW9uX2xpc3QnKS5hcHBlbmQobmV3X3Jvdyk7CiAgfSk7CiAgJCgnI29wdGlvbl9saXN0Jykuc29ydGFibGUoeyBjdXJzb3I6ICdtb3ZlJyB9KTsKICAkKCcjb3B0aW9uX2xpc3QnKS5vbignY2xpY2snLCdhLm9wdF9kZWxldGUnLGZ1bmN0aW9uKCl7CiAgICAkKHRoaXMpLmNsb3Nlc3QoJ3RyJykucmVtb3ZlKCk7CiAgfSkKICAkKCcjb3B0aW9uX2xpc3QnKS5vbignY2xpY2snLCdhLm9wdF9lZGl0JyxmdW5jdGlvbigpewogICAgdmFyIHBhcmVudCA9ICQodGhpcykuY2xvc2VzdCgndHInKTsKICAgIHZhciBpZHggPSAkKHBhcmVudCkuaW5kZXgoKSAtIDE7CiAgICAkKCcjb3B0X2VkaXRfaWR4JykudmFsKGlkeCk7CiAgICAkKCcjc3VibWl0JykudHJpZ2dlcignY2xpY2snKTsKICB9KQp9KTsKCjwvc2NyaXB0PgoKPGgzPgp7aWYgJG9wdGlvbl9zZXQtPmlkID4gMH0KICB7JG1vZC0+TGFuZygndGl0bGVfZWRpdF9vcHRpb25zZXQnKX0Ke2Vsc2V9CiAgeyRtb2QtPkxhbmcoJ3RpdGxlX2FkZF9vcHRpb25zZXQnKX0Key9pZn0KPC9oMz4KCnskZm9ybXN0YXJ0fTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJvcHRfZWRpdF9pZHgiIG5hbWU9InskYWN0aW9uaWR9c2VsX2lkeCIgdmFsdWU9Ii0xIi8+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCBpZD0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgPGlucHV0IGlkPSJjYW5jZWwiIHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCduYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ib3B0X25hbWUiIG5hbWU9InskYWN0aW9uaWR9bmFtZSIgdmFsdWU9Inskb3B0aW9uX3NldC0+bmFtZX0iIHNpemU9IjgwIiBtYXhsZW5ndGg9IjI1NSIvPgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2Rlc2NyaXB0aW9uJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjZ2Vfd3lzaXd5ZyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9ZGVzY3JpcHRpb24gdmFsdWU9JG9wdGlvbl9zZXQtPmRlc2NyaXB0aW9ufQogIDwvcD4KPC9kaXY+Cgo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnbGVnZW5kX29wdGlvbnMnKX08L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiI+eyRtb2QtPkxhbmcoJ2luZm9fcmVvcmRlcl9vcHRpb25zJyl9PC9kaXY+CgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfbXVsdGlzZWxlY3QnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1tdWx0aXNlbGVjdCI+CiAgICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBzZWxlY3RlZD0kb3B0aW9uX3NldC0+bXVsdGlzZWxlY3R9CiAgICAgIDwvc2VsZWN0PgogICAgPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+CiAgICA8YSBpZD0iYWRkX29wdGlvbiI+e2NnaW1hZ2UgaW1hZ2U9J2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJyBhbHQ9Jyd9IHskbW9kLT5MYW5nKCdhZGRfb3B0aW9uJyl9PC9hPgogIDwvZGl2PgogIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICAgIDx0aGVhZD4KICAgICAgPHRyPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnbmFtZScpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCd3aG9sZXNhbGUnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygncmV0YWlsJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2Rlc2NyaXB0aW9uJyl9PC90aD4KCTx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+Cgk8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPgogICAgICA8L3RyPgogICAgPC90aGVhZD4KICAgIDx0Ym9keSBpZD0ib3B0aW9uX2xpc3QiPgogICAgICA8dHIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiBpZD0ib3B0aW9uX3RwbCI+CiAgICAgICAgPHRkPgoJICAgPGlucHV0IGNsYXNzPSJvcHRfaWR4IiB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9b3B0X3NvcnRbXSIgdmFsdWU9Im5vdHNldCIvPgoJICAgPGlucHV0IGNsYXNzPSJvcHRfbmFtZSIgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1vcHRfbmFtZVtdIi8+Cgk8L3RkPgogICAgICAgIDx0ZD4KCSAgIDxpbnB1dCBjbGFzcz0ib3B0X3ByaWNlIiB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW9wdF93aG9sZXNhbGVwcmljZVtdIiBzaXplPSIxMCIvPgoJPC90ZD4KICAgICAgICA8dGQ+CgkgICA8aW5wdXQgY2xhc3M9Im9wdF9wcmljZSIgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1vcHRfcmV0YWlscHJpY2VbXSIgc2l6ZT0iMTAiLz4KCTwvdGQ+Cgk8dGQ+eyogZGVzY3JpcHRpb24gKn08L3RkPgoJPHRkPgoJICAgPGEgY2xhc3M9Im9wdF9lZGl0IiBuYW1lPSJ7JGFjdGlvbmlkfWVkaXRfb3B0aW9uIj57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2VkaXQuZ2lmJyBhbHQ9JG1vZC0+TGFuZygnZWRpdF9vcHRpb24nKX08L2E+Cgk8L3RkPgoJPHRkPgoJICAgPGEgY2xhc3M9Im9wdF9kZWxldGUiPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicgYWx0PSRtb2QtPkxhbmcoJ2RlbGV0ZScpfTwvYT4KCTwvdGQ+CiAgICAgIDwvdHI+CgogICAgICB7JG9wdGlvbnM9JG9wdGlvbl9zZXQtPmdldF9vcHRpb25zKCl9CiAgICAgIHtmb3JlYWNoICRvcHRpb25zIGFzICRvcHRpb259CiAgICAgIDx0cj4KICAgICAgICA8dGQ+CgkgICA8aW5wdXQgY2xhc3M9Im9wdF9pZHgiIHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1vcHRfc29ydFtdIiB2YWx1ZT0ieyRvcHRpb25AaW5kZXh9Ii8+CgkgICA8aW5wdXQgY2xhc3M9Im9wdF9uYW1lIiB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW9wdF9uYW1lW10iIHZhbHVlPSJ7JG9wdGlvbi0+bmFtZX0iLz4KCTwvdGQ+CiAgICAgICAgPHRkPgoJICAgPGlucHV0IGNsYXNzPSJvcHRfcHJpY2UiIHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9b3B0X3dob2xlc2FsZXByaWNlW10iIHZhbHVlPSJ7JG9wdGlvbi0+d2hvbGVzYWxlcHJpY2V9IiBzaXplPSIxMCIvPgoJPC90ZD4KICAgICAgICA8dGQ+CgkgICA8aW5wdXQgY2xhc3M9Im9wdF9wcmljZSIgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1vcHRfcmV0YWlscHJpY2VbXSIgdmFsdWU9Inskb3B0aW9uLT5yZXRhaWxwcmljZX0iIHNpemU9IjEwIi8+Cgk8L3RkPgoJPHRkPgoJICB7JG9wdGlvbi0+ZGVzY3JpcHRpb258c3RyaXBfdGFnc3xzdW1tYXJpemU6MzB9Cgk8L3RkPgoJPHRkPgoJICAgPGEgY2xhc3M9Im9wdF9lZGl0IiBuYW1lPSJ7JGFjdGlvbmlkfWVkaXRfb3B0aW9uIj57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2VkaXQuZ2lmJyBhbHQ9JG1vZC0+TGFuZygnZWRpdF9vcHRpb24nKX08L2E+Cgk8L3RkPgoJPHRkPgoJICAgPGEgY2xhc3M9Im9wdF9kZWxldGUiPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicgYWx0PSRtb2QtPkxhbmcoJ2RlbGV0ZScpfTwvYT4KCTwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIHsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CiAgPC90YWJsZT4KPC9maWVsZHNldD4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_email_disposition_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbWFpbF9ncm91cF9tZW1iZXJzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1lbWFpbF9ncm91cCI+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGdyb3VwbGlzdCBzZWxlY3RlZD0kcHJlZnMuZ3JvdXBsaXN0fQogICAgPC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZW1haWxfc3ViamVjdCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2dlX3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1lbWFpbF9zdWJqZWN0IHJvd3M9MiB2YWx1ZT0kcHJlZnMuZW1haWxfc3ViamVjdHxkZWZhdWx0OicnfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsX3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjZ2VfdGV4dGFyZWEgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWVtYWlsX3RlbXBsYXRlIHN5bnRheD0xIHZhbHVlPSRwcmVmcy5lbWFpbF90ZW1wbGF0ZX0KICAgIDxici8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2V0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYWZ0ZXJfZGlzcG9zaXRpb24nKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7JGFjdGlvbmlkfWFmdGVyIiB2YWx1ZT0icmVkaXJlY3QiIHtpZiAkcHJlZnMuYWZ0ZXIgPT0gJ3JlZGlyZWN0J31jaGVja2VkPSJjaGVja2VkInsvaWZ9Lz4geyRtb2QtPkxhbmcoJ3Byb21wdF9yZWRpcmVjdF9wYWdlJyl9PGJyLz4KICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzZW07Ij4KICAgICAgeyRtb2QtPkxhbmcoJ3Byb21wdF9wYWdlX2FsaWFzJyl9Ojxici8+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlZGlyZWN0X3BhZ2UiIHZhbHVlPSJ7JHByZWZzLnJlZGlyZWN0X3BhZ2V9Ii8+CiAgICA8L2Rpdj4KCiAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InskYWN0aW9uaWR9YWZ0ZXIiIHZhbHVlPSJtZXNzYWdlIiB7aWYgJHByZWZzLmFmdGVyICE9ICdyZWRpcmVjdCd9Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfS8+IHskbW9kLT5MYW5nKCdwcm9tcHRfZGlzcGxheV9tZXNzYWdlJyl9PGJyLz4KICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzZW07Ij4KICAgICAgeyRtb2QtPkxhbmcoJ3Byb21wdF9tZXNzYWdlJyl9Ojxici8+CiAgICAgIHtjZ2VfdGV4dGFyZWEgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSdhZnRlcl9tc2cnIHN5bnRheD0xIHZhbHVlPSRwcmVmcy5hZnRlcl9tc2d9CiAgICA8L2Rpdj4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_import_csv.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdoZHJfaW1wb3J0X2NzdicpfTwvaDM+Cgo8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiI+CnskbW9kLT5MYW5nKCdpbmZvX2ltcG9ydF9jc3YnKX0KPC9kaXY+Cgp7JGZvcm1zdGFydH0Ke2lmIGlzc2V0KCRlcnJvcnMpfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8dWw+CiAgICAgIHtmb3JlYWNoICRlcnJvcnMgYXMgJGVycm9yfQogICAgICA8bGk+eyRlcnJvcn08L2xpPgogICAgICB7L2ZvcmVhY2h9CiAgICA8L3VsPgogIDwvZGl2Pgp7ZWxzZX0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KICAgIDwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ltcG9ydGR1cGxpY2F0ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfW9uZHVwbGljYXRlIj4KICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JG9uZHVwbGljYXRlX29wdHMgc2VsZWN0ZWQ9JHByZWZzLm9uZHVwbGljYXRlfQogICAgICA8L3NlbGVjdD4KICAgIDwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2RlbGltaXRlcicpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZGVsaW1pdGVyIiBzaXplPSI1IiB2YWx1ZT0neyRwcmVmcy5kZWxpbWl0ZXJ9Jy8+CiAgICA8L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbmNsb3N1cmUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWVuY2xvc3VyZSIgc2l6ZT0iNSIgdmFsdWU9J3skcHJlZnMuZW5jbG9zdXJlfScvPgogICAgPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfaW1wb3J0ZmlsZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9InskYWN0aW9uaWR9ZmlsZSIvPgogICAgPC9wPgogIDwvZGl2Pgp7L2lmfQp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_option_sets_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2NnY3NzX2FkZH0KI2FkZF9vcHRpb25zZXQsI3Jlb3JkZXJfbW9kZV9vbiwjcmVvcmRlcl9tb2RlX2RvbmUsI3Jlb3JkZXJfbW9kZV9zdG9wIHsKICBjdXJzb3I6IHBvaW50ZXI7Cn0Key9jZ2Nzc19hZGR9Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgdmFyIHJlb3JkZXJfbW9kZSA9IGZhbHNlOwogICQoJyNyZW9yZGVyX21vZGVfb24nKS5jbGljayhmdW5jdGlvbigpewogICAgIHJlb3JkZXJfbW9kZSA9IHRydWU7CiAgICAgJCgnYS5ub3JtYWxfbGluayxhLnJlb3JkZXInKS50b2dnbGUoKTsKICAgICAkKCdhLmxpbmsnKS5jc3MoJ2N1cnNvcicsJ25vdC1hbGxvd2VkJyk7CiAgICAgJCgnI29wdHNldHMnKS5jc3MoJ2N1cnNvcicsJ21vdmUnKTsKICAgICAkKCcjb3B0c2V0cycpLnNvcnRhYmxlKHsKICAgICAgIGN1cnNvcjogJ21vdmUnCiAgICAgfSk7CiAgfSkKICAkKCcjcmVvcmRlcl9tb2RlX2RvbmUnKS5jbGljayhmdW5jdGlvbigpewogICAgIHJlb3JkZXJfbW9kZSA9IGZhbHNlOwogICAgICQoJ2Eubm9ybWFsX2xpbmssYS5yZW9yZGVyJykudG9nZ2xlKCk7CiAgICAgJCgnYS5saW5rJykuY3NzKCdjdXJzb3InLCcnKTsKICAgICAkKCcjb3B0c2V0cycpLmNzcygnY3Vyc29yJywnJyk7CiAgICAgdmFyIGxpc3QgPSAkKCcjb3B0c2V0cycpLnNvcnRhYmxlKCdzZXJpYWxpemUnKTsKICAgICAkKCcjb3B0c2V0cycpLnNvcnRhYmxlKCdkZXN0cm95Jyk7CiAgICAgJC5hamF4KHsKICAgICAgIHVybDogJ3ttb2R1bGVfYWN0aW9uX2xpbmsgYWN0aW9uPSdhZG1pbl9hamF4X3Jlb3JkZXJfb3B0c2V0cycgZm9yanM9MX0nLAogICAgICAgbWV0aG9kOiAnUE9TVCcsCiAgICAgICBkYXRhOiBsaXN0LAogICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewogICAgICAgICAvL2FsZXJ0KCdzdWNjZXNzJyk7CiAgICAgICB9CiAgICAgfSk7CiAgfSk7CiAgJCgnI3Jlb3JkZXJfbW9kZV9zdG9wJykuY2xpY2soZnVuY3Rpb24oKXsKICAgICBsb2NhdGlvbi5yZWxvYWQoKTsKICB9KTsKICAkKCdhLmxpbmsnKS5jbGljayhmdW5jdGlvbihlKXsKICAgIGlmKCByZW9yZGVyX21vZGUgKSBlLnByZXZlbnREZWZhdWx0KCk7CiAgfSkKfSk7Cjwvc2NyaXB0PgoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgo8YSBpZD0iYWRkX29wdGlvbnNldCIgY2xhc3M9Im5vcm1hbF9saW5rIiBocmVmPSJ7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj0nYWRtaW5fZWRpdF9vcHRpb25zZXQnIHVybG9ubHk9MX0iPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicgYWx0PScnfSB7JG1vZC0+TGFuZygnYWRkX29wdGlvbnNldCcpfTwvYT4KPGEgaWQ9ImltcG9ydF9jc3YiIGNsYXNzPSJub3JtYWxfbGluayIgaHJlZj0ie21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J2FkbWluX2ltcG9ydF9jc3YnIHVybG9ubHk9MX0iPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vaW1wb3J0LmdpZicgYWx0PScnfSB7JG1vZC0+TGFuZygnaW1wb3J0X2NzdicpfTwvYT4Ke2lmIGNvdW50KCRvcHRzZXRzKX0KICA8YSBpZD0icmVvcmRlcl9tb2RlX29uIiBjbGFzcz0ibm9ybWFsX2xpbmsiPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vcmVvcmRlci5naWYnIGFsdD0nJ30geyRtb2QtPkxhbmcoJ3Jlb3JkZXInKX08L2E+CnsvaWZ9CjxhIGlkPSJyZW9yZGVyX21vZGVfZG9uZSIgY2xhc3M9InJlb3JkZXIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+e2NnaW1hZ2UgaW1hZ2U9J2ljb25zL3N5c3RlbS90cnVlLmdpZicgYWx0PScnfSB7JG1vZC0+TGFuZygnZG9uZScpfTwvYT4KPGEgaWQ9InJlb3JkZXJfbW9kZV9zdG9wIiBjbGFzcz0icmVvcmRlciIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL3N0b3AuZ2lmJyBhbHQ9Jyd9IHskbW9kLT5MYW5nKCdzdG9wJyl9PC9hPgo8L2Rpdj4KCntpZiBjb3VudCgkb3B0c2V0cyl9Cjx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnbmFtZScpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj57KiBjb3B5ICp9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogZWRpdCAqfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnsqIGRlbGV0ZSAqfTwvdGg+CiAgICA8L3RyPgogIDwvdGhlYWQ+CiAgPHRib2R5IGlkPSJvcHRzZXRzIj4KICB7Zm9yZWFjaCAkb3B0c2V0cyBhcyAkb3B0c2V0fQogICAge21vZHVsZV9hY3Rpb25fbGluayBhY3Rpb249J2FkbWluX2VkaXRfb3B0aW9uc2V0JyBzZXRfaWQ9JG9wdHNldC0+aWQgdXJsb25seT0xIGFzc2lnbj0nZWRpdF91cmwnfQogICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249InJvd2NsYXNzIn0KICAgIDx0ciBpZD0ib3B0c2V0X3skb3B0c2V0LT5pZH0iIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgPHRkPjxhIGhyZWY9InskZWRpdF91cmx9IiB0aXRsZT0ie2xhbmcoJ2VkaXQnKX0iIGNsYXNzPSJsaW5rIj57JG9wdHNldC0+bmFtZX08L2E+PC90ZD4KICAgICAgPHRkPnskb3B0c2V0LT5kZXNjcmlwdGlvbnxzdHJpcF90YWdzfHRydW5jYXRlOjgwfTwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICA8YSBocmVmPSJ7bW9kdWxlX2FjdGlvbl9saW5rIGFjdGlvbj0nYWRtaW5fY29weV9vcHRpb25zZXQnIHNldF9pZD0kb3B0c2V0LT5pZCB1cmxvbmx5PTEgfSIgY2xhc3M9ImxpbmsiPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vY29weS5naWYnIGFsdD1sYW5nKCdjb3B5Jyl9PC9hPgogICAgICA8L3RkPgogICAgICA8dGQ+CiAgICAgICAgPGEgaHJlZj0ieyRlZGl0X3VybH0iIGNsYXNzPSJsaW5rIj57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2VkaXQuZ2lmJyBhbHQ9bGFuZygnZWRpdCcpfTwvYT4KICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgIDxhIGhyZWY9Inttb2R1bGVfYWN0aW9uX2xpbmsgYWN0aW9uPSdhZG1pbl9kZWxldGVfb3B0aW9uc2V0JyBzZXRfaWQ9JG9wdHNldC0+aWQgdXJsb25seT0xIH0iIGNsYXNzPSJsaW5rIj57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGFsdD1sYW5nKCdkZWxldGUnKX08L2E+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIHsvZm9yZWFjaH0KICA8L3Rib2R5Pgo8L3RhYmxlPgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_pdf_disposition_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfcGRmX3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjZ2VfdGV4dGFyZWEgcHJlZml4PSRhY3Rpb25pZCBuYW1lPXBkZl90ZW1wbGF0ZSBzeW50YXg9MSB2YWx1ZT0kcGRmX3RlbXBsYXRlfQogICAgPGJyLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cmVzZXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygncmVzZXQnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_settings_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF93aG9sZXNhbGVfZ3JvdXAnKX06PC9wCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9d2hvbGVzYWxlX2dyb3VwIj4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRncm91cGxpc3Qgc2VsZWN0ZWQ9JHdob2xlc2FsZV9ncm91cH0KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_ticket_disposition_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb190aWNrZXRfZGlzcG9zaXRpb24nKX08L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RpY2tldF9ub3RpZnlfZ3JvdXAnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfW5vdGlmeV9ncm91cCI+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGdyb3VwbGlzdCBzZWxlY3RlZD0kcHJlZnMubm90aWZ5X2dyb3VwfQogICAgPC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGlja2V0X3N1YmplY3QnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NnZV90ZXh0YXJlYSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9dGlja2V0X3N1YmplY3Qgcm93cz0yIHZhbHVlPSRwcmVmcy50aWNrZXRfc3ViamVjdHxkZWZhdWx0OicnfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RpY2tldF90ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2dlX3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT10aWNrZXRfdGVtcGxhdGUgc3ludGF4PTEgdmFsdWU9JHByZWZzLnRpY2tldF90ZW1wbGF0ZX0KICAgIDxici8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2V0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYWZ0ZXJfZGlzcG9zaXRpb24nKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7JGFjdGlvbmlkfWFmdGVyIiB2YWx1ZT0icmVkaXJlY3QiIHtpZiAkcHJlZnMuYWZ0ZXIgPT0gJ3JlZGlyZWN0J31jaGVja2VkPSJjaGVja2VkInsvaWZ9Lz4geyRtb2QtPkxhbmcoJ3Byb21wdF9yZWRpcmVjdF9wYWdlJyl9PGJyLz4KICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzZW07Ij4KICAgICAgeyRtb2QtPkxhbmcoJ3Byb21wdF9wYWdlX2FsaWFzJyl9Ojxici8+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlZGlyZWN0X3BhZ2UiIHZhbHVlPSJ7JHByZWZzLnJlZGlyZWN0X3BhZ2V9Ii8+CiAgICA8L2Rpdj4KCiAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InskYWN0aW9uaWR9YWZ0ZXIiIHZhbHVlPSJtZXNzYWdlIiB7aWYgJHByZWZzLmFmdGVyICE9ICdyZWRpcmVjdCd9Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfS8+IHskbW9kLT5MYW5nKCdwcm9tcHRfZGlzcGxheV9tZXNzYWdlJyl9PGJyLz4KICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzZW07Ij4KICAgICAgeyRtb2QtPkxhbmcoJ3Byb21wdF9tZXNzYWdlJyl9Ojxici8+CiAgICAgIHtjZ2VfdGV4dGFyZWEgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSdhZnRlcl9tc2cnIHN5bnRheD0xIHZhbHVlPSRwcmVmcy5hZnRlcl9tc2d9CiAgICA8L2Rpdj4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/orig_email_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZW1haWwgZGlzcG9zaXRpb24gbWVzc2FnZSB0ZW1wbGF0ZSAqfQp7KiBOT1RFOiBMYW5nIGZpbGVzIGFyZSBub3QgdXNlZCBoZXJlLCBhcyB0aGVyZSBpcyBubyBrbm93aW5nIGlmIHRoZSB1c2VycyBsYW5ndWFnZSBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgYWRtaW5pc3RyYXRvcnMgbGFuZ3VhZ2UgKn0KCjxoMz5Qcm9kdWN0IFN1Ym1pc3Npb246IHskY29udGVudC0+TmFtZSgpfTwvaDM+Cgo8cD5VUkw6IHskY29udGVudC0+R2V0VVJMKCl9PC9wPgo8cD5TdWJtaXR0ZWQgb246IHskc21hcnR5Lm5vd3xkYXRlX2Zvcm1hdDonJXggJUg6JU0nfTwvcD4Ke2lmIGlzc2V0KCRmZXVfbW9kKSAmJiAkZmV1X21vZC0+TG9nZ2VkSW5JZCgpfQo8cD5TdWJtaXR0ZWQgYnk6IHskZmV1X21vZC0+TG9nZ2VkSW5OYW1lKCl9PC9wPgp7L2lmfQoKPGg0PkRlc2NyaXB0aW9uOjwvaDQ+CjxkaXY+eyRwcm9kdWN0U3BlYy0+ZGVzY3JpcHRpb259PC9kaXY+Cgo8aDQ+QmFzZSBQcmljZTo8L2g0Pgo8ZGl2PiR7JHByb2R1Y3RTcGVjLT5iYXNlcHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvZGl2PgoKPGg0PkNvbmZpZ3VyYXRpb24gT3B0aW9uczo8L2g0Pgo8dGFibGUgc3R5bGU9IndpZHRoOiA5MCU7IG1hcmdpbi1sZWZ0OiAzZW07Ij4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD5PcHRpb24gU2V0PC90aD4KICAgICAgPHRoPk9wdGlvbnM8L3RoPgogICAgICA8dGg+RGVzY3JpcHRpb248L3RoPgogICAgICA8dGg+UHJpY2U8L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgogIDx0Zm9vdD4KICAgIDx0cj4KICAgICAgPHRkIGNvbHNwYW49IjMiIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPlByaWNlIGFzIGNvbmZpZ3VyZWQ6PC90ZD4KICAgICAgPHRkPiR7JHByb2R1Y3RTcGVjLT5wcmljZXxudW1iZXJfZm9ybWF0OjJ9PC90ZD4KICAgIDwvdHI+CiAgPC90Zm9vdD4KICA8dGJvZHk+CiAgICB7Zm9yZWFjaCAkcHJvZHVjdFNwZWMtPm9wdGlvbnMgYXMgJG9zfQogICAgICB7Zm9yZWFjaCAkb3MtPnNlbGVjdGVkIGFzICRzZWx9CiAgICAgIDx0cj4KICAgICAgICA8dGQ+e2lmICRzZWxAZmlyc3R9eyRvcy0+b3B0c2V0X25hbWV9ey9pZn08L3RkPgogICAgICAgIDx0ZD57JHNlbC0+b3B0aW9uX25hbWV9PC90ZD4KICAgICAgICA8dGQ+eyRzZWwtPm9wdGlvbl9kZXNjfHN0cmlwX3RhZ3N8c3VtbWFyaXplOjQwfTwvdGQ+CiAgICAgICAgPHRkPiR7JHNlbC0+b3B0aW9uX3ByaWNlfG51bWJlcl9mb3JtYXQ6Mn08L3RkPgogICAgICA8L3RyPgogICAgICB7L2ZvcmVhY2h9CiAgICB7L2ZvcmVhY2h9CiAgPC90Ym9keT4KPC90YWJsZT4K]]></data>
	</file>
	<file>
	  <filename>/templates/orig_optionset_view.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogb3B0aW9uc2V0IHZpZXcgdGVtcGxhdGUgKn0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KI29wdHNldF9uYXYgewogIGZsb2F0OiBsZWZ0OwogIHdpZHRoOiA0OSU7Cn0KI29wdHNldF9uYXYgbGkuYWN0aXZlID4gYSB7CiAgY29sb3I6IGdyZWVuOwp9CiNvcHRzZXRfc3VtbWFyeSB7CiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CiAgZmxvYXQ6IGxlZnQ7CiAgd2lkdGg6IDQ4JTsKICBtaW4taGVpZ2h0OiAzZW07CiAgcGFkZGluZy1sZWZ0OiAwLjVlbTsKICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTsKfQojb3B0c2V0X3N1bW1hcnkgPiBsZWdlbmQgewogIG1hcmdpbi1sZWZ0OiAwLjVlbTsKICBwYWRkaW5nLWxlZnQ6IDAuNWVtOwogIHBhZGRpbmctcmlnaHQ6IDAuNWVtOwp9Cjwvc3R5bGU+Cgo8ZGl2IGlkPSJjZ3BiX29wdGlvbnNldCI+CiAgeyRmb3Jtc3RhcnR9CiAgeyogbmF2aWdhdGlvbiB0byBkaWZmZXJlbnQgb3B0aW9ucyAqfQogIHtpZiBpc3NldCgkY2dwYl9pbmZvLT5maW5pc2hlZCkgJiYgJGNncGJfaW5mby0+ZmluaXNoZWQgPT0gMX0KICAgICA8ZGl2IGNsYXNzPSJhbGVydCBhbGVydC1pbmZvIj57JG1vZC0+TGFuZygnbXNnX2ZpbmlzaGVkJyl9PC9kaXY+CiAge2Vsc2V9CiAgICA8ZGl2IGlkPSJvcHRzZXRfbmF2Ij4KICAgICAgPHVsPgogICAgICB7Zm9yZWFjaCAkY2dwYl9pbmZvLT5hbGxfb3B0aW9uc2V0cyBhcyAkb25lfQogICAgICAgIHtjZ3BiX29wdGlvbnNldF91cmwgb3B0aW9uc2V0PSRvbmUgZm9yY2U9eWVzIGFzc2lnbj11cmx9CiAgICAgICAgeyRhY3RpdmU9MH0KICAgICAgICB7aWYgJG9uZS0+aWQgPT0gJGNncGJfaW5mby0+Y3VyX29wdGlvbnNldC0+aWR9eyRhY3RpdmU9MX17L2lmfQogICAgICAgIDxsaSB7aWYgJGFjdGl2ZX1jbGFzcz0iYWN0aXZlInsvaWZ9PgogICAgICAgICAge2lmICR1cmx9PGEgaHJlZj0ieyR1cmx9Ij57JG9uZS0+bmFtZX08L2E+ey9pZn0KICAgICAgICA8L2xpPgogICAgICB7L2ZvcmVhY2h9CiAgICAgIDwvdWw+CiAgICA8L2Rpdj4KICB7L2lmfQoKCiAge2lmIGlzc2V0KCRjZ3BiX2luZm8tPmN1cl9zdGF0ZSl9CiAgPGZpZWxkc2V0IGlkPSJvcHRzZXRfc3VtbWFyeSI+CiAgICA8bGVnZW5kPlN1bW1hcnk6PC9sZWdlbmQ+CiAgICA8ZGl2IGNsYXNzPSJwcmljZSI+Q3VycmVudCBQcmljZTogJHskY2dwYl9pbmZvLT5jdXJyZW50X3ByaWNlfG51bWJlcl9mb3JtYXQ6Mn08L2Rpdj4KICAgIDx1bD4KICAgIHtmb3JlYWNoICRjZ3BiX2luZm8tPmN1cl9zdGF0ZSBhcyAkb25lX29wdHNldH0KICAgICAgPGxpPgogICAgICAgICB7aWYgY291bnQoJG9uZV9vcHRzZXQtPnNlbGVjdGVkKSA9PSAxfQoJICAgeyRzZWxfb3B0PSRvbmVfb3B0c2V0LT5zZWxlY3RlZFswXX0KICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3B0c2V0X25hbWUiPnskb25lX29wdHNldC0+b3B0c2V0X25hbWV9Ojwvc3Bhbj4geyRzZWxfb3B0LT5vcHRpb25fbmFtZX0gPGVtPiR7JHNlbF9vcHQtPm9wdGlvbl9wcmljZXxudW1iZXJfZm9ybWF0OjJ9PC9lbT4KCSB7ZWxzZX0KCSAgIDx1bD48c3BhbiBjbGFzcz0ib3B0c2V0X25hbWUiPnskb25lX29wdHNldC0+b3B0c2V0X25hbWV9Ojwvc3Bhbj4KCSAgIHtmb3JlYWNoICRvbmVfb3B0c2V0LT5zZWxlY3RlZCBhcyAkc2VsX29wdH0KCSAgICAgPGxpPgogICAgICAgICAgICAgICB7JG9uZV9vcHRzZXQtPm9wdHNldF9uYW1lfTogeyRzZWxfb3B0LT5vcHRpb25fbmFtZX0gPGVtPiR7JHNlbF9vcHQtPm9wdGlvbl9wcmljZXxudW1iZXJfZm9ybWF0OjJ9PC9lbT4KCSAgICAgPC9saT4KCSAgIHsvZm9yZWFjaH0KCSAgIDwvdWw+Cgkgey9pZn0KICAgICAgPC9saT4KICAgIHsvZm9yZWFjaH0KICAgIDwvdWw+CiAgPC9maWVsZHNldD4KICA8ZGl2IHN0eWxlPSJjbGVhcjogYm90aDsiPjwvZGl2PgogIHsvaWZ9CgoKICB7aWYgISRjZ3BiX2luZm8tPmZpbmlzaGVkfQogICAgeyogdGhlIGN1cnJlbnQgb3B0aW9uc2V0ICp9CiAgICA8aDM+eyRjZ3BiX2luZm8tPmN1cl9vcHRpb25zZXQtPm5hbWV9PC9oMz4KICAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj57JGNncGJfaW5mby0+Y3VyX29wdGlvbnNldC0+ZGVzY3JpcHRpb259PC9kaXY+CgogICAgeyRvcHRpb25zID0gJGNncGJfaW5mby0+Y3VyX29wdGlvbnNldC0+Z2V0X29wdGlvbnMoKX0KICAgIHtmb3JlYWNoICRvcHRpb25zIGFzICRvcHRpb259CiAgICAgIHskcHJpY2U9JG9wdGlvbi0+cmV0YWlscHJpY2V9CiAgICAgIHtpZiAkdXNlX3dob2xlc2FsZX17JHByaWNlPSRvcHRpb24tPndob2xlc2FsZXByaWNlfXsvaWZ9CiAgICAgIDxkaXYgY2xhc3M9Im9wdGlvbiI+CiAgICAgICAge2lmICRjZ3BiX2luZm8tPmN1cl9vcHRpb25zZXQtPm11bHRpc2VsZWN0fQogICAgICAgICAgPGlucHV0IGlkPSJpZHh7JG9wdGlvbkBpbmRleH0iIHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfWNncGJfb3B0aW9uW10iIHZhbHVlPSJ7JG9wdGlvbi0+bmFtZX0iIHtpZiBpbl9hcnJheSgkb3B0aW9uLT5uYW1lLCRjZ3BiX2luZm8tPnNlbF9vcHRpb25zKX1jaGVja2VkPSJjaGVja2VkInsvaWZ9Lz4KICAgICAgICAgIDxsYWJlbCBmb3I9ImlkeHskb3B0aW9uQGluZGV4fSI+IHskb3B0aW9uLT5uYW1lfSA8ZW0+KCR7JHByaWNlfG51bWJlcl9mb3JtYXQ6Mn0pPC9lbT48L2xhYmVsPgoJe2Vsc2V9CiAgICAgICAgICA8aW5wdXQgaWQ9ImlkeHskb3B0aW9uQGluZGV4fSIgdHlwZT0icmFkaW8iIG5hbWU9InskYWN0aW9uaWR9Y2dwYl9vcHRpb24iIHZhbHVlPSJ7JG9wdGlvbi0+bmFtZX0iIHtpZiBpbl9hcnJheSgkb3B0aW9uLT5uYW1lLCRjZ3BiX2luZm8tPnNlbF9vcHRpb25zKX1jaGVja2VkPSJjaGVja2VkInsvaWZ9Lz4KICAgICAgICAgIDxsYWJlbCBmb3I9ImlkeHskb3B0aW9uQGluZGV4fSI+IHskb3B0aW9uLT5uYW1lfSA8ZW0+KCR7JHByaWNlfG51bWJlcl9mb3JtYXQ6Mn0pPC9lbT48L2xhYmVsPgoJey9pZn0KICAgICAgICB7aWYgJG9wdGlvbi0+ZGVzY3JpcHRpb259PGRpdiBjbGFzcz0ib3B0aW9uX2Rlc2MiPnskb3B0aW9uLT5kZXNjcmlwdGlvbn08L2Rpdj57L2lmfQogICAgICA8L2Rpdj4KICAgIHsvZm9yZWFjaH0KICB7L2lmfQoKICB7KiBuZXh0L3ByZXYvcmVzZXQgZXhhbXBsZXMgKn0KICA8ZGl2PgogICAge2lmICEkY2dwYl9pbmZvLT5vcHRpb25zZXRfZmlyc3R9CiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2dwYl9wcmV2IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2JhY2snKX0iLz4KICAgIHsvaWZ9CiAgICB7aWYgISRjZ3BiX2luZm8tPmZpbmlzaGVkfQogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNncGJfbmV4dCIgdmFsdWU9IntpZiAkY2dwYl9pbmZvLT5vcHRpb25zZXRfbGFzdH17JG1vZC0+TGFuZygnZmluaXNoJyl9e2Vsc2V9eyRtb2QtPkxhbmcoJ25leHQnKX17L2lmfSIvPgogICAgey9pZn0KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2dwYl9yZXNldCIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXNldCcpfSIvPgoKICAgIHtpZiAkY2dwYl9pbmZvLT5maW5pc2hlZCAmJiAkY2dwYl9pbmZvLT5kaXNwb3NpdGlvbnN9CiAgICAgIDxici8+CiAgICAgIHtmb3JlYWNoICRjZ3BiX2luZm8tPmRpc3Bvc2l0aW9ucyBhcyAkY2xhc3MgPT4gJGxibH0KICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jZ3BiX2Rpc3BfeyRjbGFzc30iIHZhbHVlPSJ7JGxibH0iLz4KICAgICAgey9mb3JlYWNofQogICAgey9pZn0KICA8L2Rpdj4KICB7JGZvcm1lbmR9CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_pdf_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGh0bWw+PGhlYWQ+CnsqIHBkZiBmaWxlIHRlbXBsYXRlICp9CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CmgzIHsKICBjb2xvcjogcmVkOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoucmlnaHQgewogIHRleHQtYWxpZ246IHJpZ2h0Owp9Cjwvc3R5bGU+CjwvaGVhZD48Ym9keT4KPGgzPnskbW9kLT5MYW5nKCdoZHJfcHJvZHVjdF9zdWJtaXNzaW9uJyl9OiB7JGNvbnRlbnQtPk5hbWUoKX08L2gzPgo8aDQ+eyRtb2QtPkxhbmcoJ2Rlc2NyaXB0aW9uJyl9OjwvaDQ+CjxkaXYgaWQ9ImRlc2NyaXB0aW9uX2FyZWEiPnskcHJvZHVjdFNwZWMtPmRlc2NyaXB0aW9ufTwvZGl2PgoKPGg0PnskbW9kLT5MYW5nKCdoZHJfYmFzZV9wcmljZScpfTo8L2g0Pgo8ZGl2PiR7JHByb2R1Y3RTcGVjLT5iYXNlcHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvZGl2PgoKPGg0PnskbW9kLT5MYW5nKCdoZHJfcHJvZHVjdF9jb25maWcnKX06PC9oND4KPHRhYmxlIGlkPSJwcm9kdWN0X2NvbmZpZyI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGg+T3B0aW9uIFNldDwvdGg+CiAgICAgIDx0aD5PcHRpb248L3RoPgogICAgICA8dGg+RGVzY3JpcHRpb248L3RoPgogICAgICA8dGg+UHJpY2U8L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgogIDx0Zm9vdD4KICAgIDx0cj4KICAgICAgPHRkIGNvbHNwYW49IjMiIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPjxzdHJvbmc+eyRtb2QtPkxhbmcoJ3Byb21wdF9wcmljZWFzY29uZmlndXJlZCcpfTo8L3N0cm9uZz48L3RkPgogICAgICA8dGQgY2xhc3M9InJpZ2h0Ij4keyRwcm9kdWN0U3BlYy0+cHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvdGQ+CiAgICA8L3RyPgogIDwvdGZvb3Q+CiAgPHRib2R5PgogICAge2ZvcmVhY2ggJHByb2R1Y3RTcGVjLT5vcHRpb25zIGFzICRvc30KICAgICAge2ZvcmVhY2ggJG9zLT5zZWxlY3RlZCBhcyAkc2VsfQogICAgICA8dHI+CiAgICAgICAgPHRkPntpZiAkc2VsQGZpcnN0fXskb3MtPm9wdHNldF9uYW1lfXsvaWZ9PC90ZD4KICAgICAgICA8dGQ+eyRzZWwtPm9wdGlvbl9uYW1lfTwvdGQ+CiAgICAgICAgPHRkPnskc2VsLT5vcHRpb25fZGVzY3xzdHJpcF90YWdzfHN1bW1hcml6ZTo0MH08L3RkPgogICAgICAgIDx0ZD4keyRzZWwtPm9wdGlvbl9wcmljZXxudW1iZXJfZm9ybWF0OjJ9PC90ZD4KICAgICAgPC90cj4KICAgICAgey9mb3JlYWNofQogICAgey9mb3JlYWNofQogIDwvdGJvZHk+CjwvdGFibGU+CjwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_ticket_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogdGlja2V0IGRpc3Bvc2l0aW9uIG1lc3NhZ2UgdGVtcGxhdGUgKn0KeyogTk9URTogTGFuZyBmaWxlcyBhcmUgbm90IHVzZWQgaGVyZSwgYXMgdGhlcmUgaXMgbm8ga25vd2luZyBpZiB0aGUgdXNlcnMgbGFuZ3VhZ2UgaXMgZGlmZmVyZW50IHRoYW4gdGhlIGFkbWluaXN0cmF0b3JzIGxhbmd1YWdlICp9Cgo8aDM+UHJvZHVjdCBTdWJtaXNzaW9uOiB7JGNvbnRlbnQtPk5hbWUoKX08L2gzPgoKPHA+VVJMOiB7JGNvbnRlbnQtPkdldFVSTCgpfTwvcD4KPHA+U3VibWl0dGVkIG9uOiB7JHNtYXJ0eS5ub3d8ZGF0ZV9mb3JtYXQ6JyV4ICVIOiVNJ308L3A+CntpZiBpc3NldCgkZmV1X21vZCkgJiYgJGZldV9tb2QtPkxvZ2dlZEluSWQoKX0KPHA+U3VibWl0dGVkIGJ5OiB7JGZldV9tb2QtPkxvZ2dlZEluTmFtZSgpfTwvcD4Key9pZn0KCjxoND5EZXNjcmlwdGlvbjo8L2g0Pgo8ZGl2PnskcHJvZHVjdFNwZWMtPmRlc2NyaXB0aW9ufTwvZGl2PgoKPGg0PkJhc2UgUHJpY2U6PC9oND4KPGRpdj4keyRwcm9kdWN0U3BlYy0+YmFzZXByaWNlfG51bWJlcl9mb3JtYXQ6Mn08L2Rpdj4KCjxoND5Db25maWd1cmF0aW9uIE9wdGlvbnM6PC9oND4KPHRhYmxlIHN0eWxlPSJ3aWR0aDogOTAlOyBtYXJnaW4tbGVmdDogM2VtOyI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGg+T3B0aW9uIFNldDwvdGg+CiAgICAgIDx0aD5PcHRpb25zPC90aD4KICAgICAgPHRoPkRlc2NyaXB0aW9uPC90aD4KICAgICAgPHRoPlByaWNlPC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KICA8dGZvb3Q+CiAgICA8dHI+CiAgICAgIDx0ZCBjb2xzcGFuPSIzIiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5QcmljZSBhcyBjb25maWd1cmVkOjwvdGQ+CiAgICAgIDx0ZD4keyRwcm9kdWN0U3BlYy0+cHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvdGQ+CiAgICA8L3RyPgogIDwvdGZvb3Q+CiAgPHRib2R5PgogICAge2ZvcmVhY2ggJHByb2R1Y3RTcGVjLT5vcHRpb25zIGFzICRvc30KICAgICAge2ZvcmVhY2ggJG9zLT5zZWxlY3RlZCBhcyAkc2VsfQogICAgICA8dHI+CiAgICAgICAgPHRkPntpZiAkc2VsQGZpcnN0fXskb3MtPm9wdHNldF9uYW1lfXsvaWZ9PC90ZD4KICAgICAgICA8dGQ+eyRzZWwtPm9wdGlvbl9uYW1lfTwvdGQ+CiAgICAgICAgPHRkPnskc2VsLT5vcHRpb25fZGVzY3xzdHJpcF90YWdzfHN1bW1hcml6ZTo0MH08L3RkPgogICAgICAgIDx0ZD4keyRzZWwtPm9wdGlvbl9wcmljZXxudW1iZXJfZm9ybWF0OjJ9PC90ZD4KICAgICAgPC90cj4KICAgICAgey9mb3JlYWNofQogICAgey9mb3JlYWNofQogIDwvdGJvZHk+CjwvdGFibGU+Cg==]]></data>
	</file>
</module>
