<?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>Quizzard</name>
	<version>0.8.2</version>
  <mincmsversion>1.0</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlF1aXogTW9kdWxlPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+R28gaW50byB0aGUgYWRtaW4uIENyZWF0ZSBhIHF1aXouIFBsYWNlIGEgcXVpeiB0YWcgaW4gc29tZSBjb250ZW50IHBhZ2UuIERvbmUhIChtb3JlIHNwZWNpZmljIGluZm9ybWF0aW9uIGZvbGxvd3MpPC9wPgo8aDQ+UXVpenplcyBUYWI8L2g0Pgo8cD5UaGlzIGxpc3RzIHRoZSBxdWl6emVzIGRlZmluZWQgaW4geW91ciBpbnN0YWxsLiBJdCBnaXZlcyB5b3UgdGhlIGFiaWxpdHkgdG8gYWRkIG5ldyBvbmVzLCB2aWV3IHRoZSByZXN1bHRzIG9mIHF1aXp6ZXMsCmV4cG9ydCBxdWl6emVzLCB2YWxpZGF0ZSBhbGwgdGhlIGFuc3dlcnMgb24gYSBzaW5nbGUgcGFnZSwgZGVsZXRlIHF1aXp6ZXMsIGV0Yy48L3A+CjxwPlRvIHB1dCBhbiBleHRhbnQgcXVpeiBpbiBhIHBhZ2UsIHNpbXBseSBjb3B5IHRoZSB0YWcgdGhhdCBsb29rcyBsaWtlICYjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPSJRdWl6emFyZCIgcXVpel9pZD0ieCImIzEyNTsKd2hlcmUgcXVpel9pZCBpcyB0YWtlbiBmcm9tIHRoZSB0YWJsZSwgYW5kIHBsYWNlIGl0IGluIHlvdXIgcGFnZS4KPGg0PlF1ZXN0aW9uIFR5cGVzPC9oND4KPHA+V2hlbiBjcmVhdGluZyBhIHF1aXosIHRoZXJlIGFyZSB0aHJlZSB0eXBlcyBvZiBxdWVzdGlvbnMsIGFuZCB0aHJlZSB0eXBlcyBvZiAiY29udHJvbCIgcXVlc3Rpb25zLjwvcD4KPHVsPgo8bGk+TXVsdGlwbGUgQ2hvaWNlLiBUaGlzIGlzIGEgcXVlc3Rpb24gZm9sbG93ZWQgYnkgYSBjb2xsZWN0aW9uIG9mIHBvc3NpYmxlIGFuc3dlcnMuIE9ubHkgb25lIGFuc3dlciBjYW4gYmUgc2VsZWN0ZWQsIGFuZCBvbmx5IG9uIGFuc3dlciBjYW4gYmUgY29ycmVjdC48L2xpPgo8bGk+Q2hvb3NlIE9uZSBvciBNb3JlLiBBd2t3YXJkbHkgbmFtZWQsIGJ1dCB0aGlzIGlzIGEgcXVlc3Rpb24gZm9sbG93ZWQgYnkgYSBjb2xsZWN0aW9uIG9mIHBvc3NpYmxlIGFuc3dlcnMuIE11bHRpcGxlIGFuc3dlcnMgbWF5IGJlIHNlbGVjdGVkIGFuZCBtdWx0aXBsZSBhbnN3ZXJzIGNhbiBiZSBjb3JyZWN0IC0tIHRvIGdldCBzY29yZWQgYXMgImNvcnJlY3QsIiB0aGUgcXVpeiB0YWtlciBtdXN0IHNlbGVjdCBhbGwgY29ycmVjdCBhbnN3ZXJzLjwvbGk+CjxsaT5GaWxsIGluIHRoZSBCbGFuayhzKS4gVGhpcyBpcyBhIHNlbnRlbmNlIHdoZXJlIG9uZSBvciBtb3JlIHdvcmRzIGFyZSBtaXNzaW5nLCBhbmQgdGhlIHVzZXIgbXVzdCB0eXBlIGluIHRoZSBjb3JyZWN0IHdvcmQocykuPC9saT4KPGxpPiogUXVpeiBTZWN0aW9uLiBUaGlzIHNwbGl0cyBhIHF1aXouIFlvdSBjYW4gY2hvb3NlIHRvIG51bWJlciBxdWVzdGlvbnMgcmVsYXRpdmUgdG8gdGhlaXIgc2VjdGlvbnMgaWYgeW91IHdhbnQgdG8gc3RydWN0dXJlIGEgYmlnIHF1aXouPC9saT4KPGxpPiogTGluZSBvZiBUZXh0LiBUaGlzIGlzIGV4cGxhbmF0b3J5IHRleHQgdGhhdCBzaG93cyBpbiB0aGUgcXVpei48L2xpPgo8bGk+LSBQYWdlIEJyZWFrLiBUaGlzIHNwbGl0cyBhIHF1aXogaW50byBtdWx0aXBsZSBwYWdlcy48L2xpPgo8L3VsPgo8aDQ+SW1wb3J0IFRhYjwvaDQ+CjxwPllvdSBjYW4gaW1wb3J0IHF1aXogWE1MIGZpbGVzIGhlcmUuIFRvIGdldCBhIFF1aXogWE1MIGZpbGUsIHlvdSBoYXZlIHRvIGhhdmUgZXhwb3J0ZWQgYSBxdWl6IGZyb20gdGhlIG1haW4gUXVpeiB0YWIuPC9wPgo8aDQ+RXh0cmEgRmllbGQgVGFiPC9oND4KPHA+T24gdGhlIGluaXRpYWwgc2lnbi11cCBwYWdlIGZvciB0aGUgcXVpeiwgbWFueSBwZW9wbGUgd2FudGVkIGZpZWxkcyBpbiBhZGRpdGlvbiB0byBuYW1lIGFuZCBlbWFpbC4gVGhpcyBwYWdlIGFsbG93cyB5b3UgdG8gYWRkIGZpZWxkLiBUaGVyZSBhcmUgZm91ciB0eXBlczogdGV4dCBmaWVsZCwgY2hlY2tib3gsIG51bWVyaWMsIGFuZCBVUyBQaG9uZSBudW1iZXIuIEVhY2ggaGFzIGEgdmFyaWFudCB3aGljaCByZXF1aXJlcyBhIHJlc3BvbnNlLiBZb3UgY2FuIHNldCB0aGUgZGlzcGxheSBzaXplIGFuZCBtYXhpbXVtIHNpemUgKHdoaWNoIG9ubHkgYWN0dWFsbHkgd29ya3Mgb24gZmllbGRzIGZvciB3aGljaCBpdCBtYWtlcyBzZW5zZSksIGFuZCBhIHdlaWdodCwgd2hpY2ggZGV0ZXJtaW5lcyB0aGUgZGlzcGxheSBvcmRlci48L3A+CjxwPlRoZXNlIGV4dHJhIGZpZWxkcyB3aWxsIHNob3cgdXAgaW4gdGhlIHJlc3VsdHMgdGhhdCBnZXQgZGlzcGxheWVkIHRvIHRoZSBhZG1pbiBhbmQvb3IgaW4gdGhlIHF1aXogcmVzdWx0cyBlbWFpbCB0aGF0IGdldHMgc2VudC48L3A+CjxoND5TY29yZSBUaHJlc2hvbGQgVGFiPC9oND4KPHA+U29tZSBzcGVjaWFsaXplZCBhcHBsaWNhdGlvbnMgcmVxdWlyZSB0aGF0IHVzZXJzIHNjb3JlIGEgY2VydGFpbiBwZXJjZW50YWdlLiBZb3UgbWF5IHNldCBhIG1pbmltdW0gc2NvcmUgZm9yIHN1Ym1pc3Npb24uIFRoaXMgbWVhbnMgdGhhdCBpZiBhIHVzZXIgaGFzIGEgc2NvcmUgbGVzcyB0aGFuIHRoZSB0aHJlc2hvbGQsIHRoZXkgd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCB0aGUgcXVlc3Rpb25zIHRoYXQgdGhleSBza2lwcGVkIG9yIHRoYXQgYXJlIGluY29ycmVjdCwgYW5kIHRoZXkgbmVlZCB0byBjb3JyZWN0IHRoZXNlIHF1ZXN0aW9ucyB1bnRpbCB0aGVpciBzY29yZSBpcyBncmVhdGVyIHRoYW4gdGhlIHRocmVzaG9sZC48L3A+CjxwPllvdSBjYW4gc2hvdyB0aGVtIGFsbCB0aGVpciBpbmNvcnJlY3QgYW5zd2VycyBvbiBhIHNpbmdsZSBwYWdlLCBzdHJpcHBlZCBvZiB0aGVpciBjb250ZXh0LCBvciB5b3UgY2FuIGhhdmUgdGhlbSBnbyB0aHJvdWdoIHRoZSBxdWl6IGFnYWluLCB3aXRoIHRoZWlyIGVycm9ycyBpbmRpY2F0ZWQuPC9wPgo8aDQ+UXVpeiBUZW1wbGF0ZSBUYWI8L2g0Pgo8cD5CeSBkZWZhdWx0LCB0aGUgUXVpeiBpcyBwcmVzZW50ZWQgdXNpbmcgYSBzdGFuZGFyZCB0ZW1wbGF0ZSB0aGF0IGZvcm1hdHMgcXVlc3Rpb25zLiBZb3UgY291bGQgc3R5bGUgaXQgc2ltcGx5IGJ5IGFsdGVyaW5nIHRoZSBDU1MgaXQgdXNlcywgb3IgeW91IGNhbiBnbyB3aWxkIGFuZCBlZGl0IHRoZSBzbWFydHkgdGVtcGxhdGUgdGhhdCBnZW5lcmF0ZXMgdGhlIHF1aXogaXRzZWxmLiBVc2UgdGhlIGV4aXN0aW5nIHRlbXBsYXRlIGFzIGFuIGV4YW1wbGUuIFRoZSBzbWFydHkgdmFyaWFibGVzIHdpbGwgYmUgZG9jdW1lbnRlZCBmdWxseSBhdCBzb21lIHBvaW50LiBTaW1pbGFybHksIHRoZSBxdWl6ICJyZWdpc3RyYXRpb24iIHBhZ2UgdGVtcGxhdGUgaXMgb24gdGhpcyB0YWIuPC9wPgo8aDQ+RW1haWwgVGVtcGxhdGUgVGFiPC9oND4KPHA+UXVpeiByZXN1bHRzIGFyZSBzZW50IHZpYSBlbWFpbC4gWW91IGNhbiBlZGl0IHRoZSB0ZW1wbGF0ZSBoZXJlLjwvcD4KPGg0PlNjb3JlIFBhZ2UgVGVtcGxhdGUgVGFiPC9oND4KPHA+U2ltaWxhciB0byB0aGUgRW1haWwgVGVtcGxhdGUsIHRoaXMgcGFnZSBzaG93cyB0aGUgdXNlciB0aGVpciBxdWl6IHJlc3VsdHMuIFlvdSBjYW4gZG8gYWxsIHNvcnRzIG9mIGNyZWF0aXZlIHN0dWZmIGhlcmUuIFRoaXMgdGVtcGxhdGUgaXMgYWN0dWFsbHkgaW50ZXJuYWxseSBkb2N1bWVudGVkLjwvcD4KPGg0PkVtYWlsIENvbmZpZyBUYWI8L2g0Pgo8cD5UaGlzIGxldHMgeW91IGN1c3RvbWl6ZSB0aGUgZW1haWwgaGVhZGVyIGRldGFpbHMgZm9yIHJlc3VsdHMgZW1haWxzLiBZb3UgY2FuIGFsc28gb3B0IGhlcmUgdG8gaGF2ZSB0aGUgcXVpeiBhZG1pbmlzdHJhdG9yIHJlY2VpdmUgYSBjb3B5IG9mIGV2ZXJ5IHF1aXogdGFrZW4sIGFuZCB0aGUgcmVzdWx0cy48L3A+CjxoND5DaGFyYWN0ZXIgVG9vbCBUYWI8L2g0Pgo8cD5TZW1pLWV4cGVyaW1lbnRhbCwgdGhpcyBpcyBmb3IgZW5hYmxpbmcgcXVpeiB0YWtlcnMgd2hvIGFyZSBsYW5ndWFnZS1jaGFsbGVuZ2VkIG9yIGhhdmUgbGFuZ3VhZ2UtY2hhbGxlbmdlZCBrZXlib2FyZHMgKGUuZy4sIFUuUy4gQW1lcmljYW5zKSBlbnRlciAiZm9yZWlnbiIgY2hhcmFjdGVycy4gV2hlbiBhY3RpdmUsIGl0IHBvcHMgdXAgYSBmbG9hdGluZyBwYWxldHRlIHRoYXQgYWxsb3dzIHRoZSBxdWl6IHRha2VyIHRvIGluc2VydCBjaGFyYWN0ZXJzIGxpa2UgJnV1bWw7IG9yICZlZ3JhdmU7IGF0IHRoZSBhY3RpdmUgY3Vyc29yIHBvaW50IGluIGEgZmllbGQuIEl0IGFsc28gZW5hYmxlcyBRdWl6IEFkbWlucyB0byBkbyB0aGUgc2FtZSB3aGVuIGNyZWF0aW5nIHF1aXp6ZXMuIEl0IGRvZXMgbm90IHdvcmsgd2l0aCBXWVNJV1lHIGVkaXRvcnMuPC9wPgo8aDQ+Q29uZmlndXJhdGlvbiBUYWI8L2g0Pgo8cD5UaGlzIGlzIHdoZXJlIHlvdSBnZXQgdG8gY2hvb3NlIGEgbG90IG9mIHNwZWNpZmljcyBhYm91dCBob3cgeW91ciBxdWl6IHdpbGwgd29yay48L3A+CjxoMz5Lbm93biBCdWdzPC9oMz4KPHA+UXVpenphcmQgaXMgc3RpbGwgaW5hZGVxdWF0ZWx5IGRvY3VtZW50ZWQuIFRoaXMgd2lsbCBiZSBmaXhlZCBldmVudHVhbGx5LjwvcD4KPGgzPlNwb25zb3JzaGlwPC9oMz4KPHA+VGhpcyBtb2R1bGUncyBpbml0aWFsIGRldmVsb3BtZW50IHdhcyBraW5kbHkgc3BvbnNvcmVkIGJ5IExhdXJhIFpheWFzIG9mIDxhIGhyZWY9Imh0dHA6Ly93d3cuc3BhbmlzaC00LXlvdS5jb20iIHRhcmdldD0iX25ldyI+U3BhbmlzaC00LVlvdTwvYT4sIHdpdGgKYWRkaXRpb25hbCBnZW5lcm91cyBzdXBwb3J0IGZyb20gPGEgaHJlZj0iaHR0cDovL3d3dy5taWNoZWxnb2R0cy5jb20iIHRhcmdldD0iX25ldyI+TWljaGVsR29kdHMuZURlc2lnbjwvYT4sIErDuHJuIEhhdWdsYW5kLCBhbmQgRGF2aWQgTWFnaWxsLiBJIGFwcHJlY2lhdGUgYWxsIHlvdXIgaGVscCE8L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBDTVMgTWFkZSBTaW1wbGUgIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPkRldmVsb3BlciBGb3JnZTwvYT4uPC9saT4KPGxpPlRvIG9idGFpbiBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIHRoZSBhdXRob3IgYXQgPGEgaHJlZj0ibWFpbHRvOnNqZ0BjbXNtb2R1bGVzLmNvbSI+Jmx0O3NqZ0BjbXNtb2R1bGVzLmNvbSZndDs8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5IGFuZCBncm92ZWxsaW5nIGZvciBmcmVlIHN1cHBvcnQuPC9saT4gIAo8L3VsPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQKb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA3LCBTYW11ZWwgR29sZHN0ZWluIDxhIGhyZWY9Im1haWx0bzpzamdAY21zbW9kdWxlcy5jb20iPiZsdDtzamdAY21zbW9kdWxlcy5jb20mZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q01TTWFpbGVyID0mZ3Q7IDEuNzMuMTA8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcXp6Xyo9Im51bGwiIC0gR2VuZXJhbCBRdWl6emFyZCBwYXJhbXM8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHF1aXpfaWQ9Im51bGwiIC0gUXVpeiBJRDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcXVlc3Rpb249Im51bGwiIC0gUXVlc3Rpb24vUGFnZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcXVlc3Rpb25faWQ9Im51bGwiIC0gUXVlc3Rpb24vUGFnZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGlzdF90YWtlcnM9Im51bGwiIC0gRmxhZyAtIGxpc3QgdGFrZXJzIGZvciB2aWV3aW5nIHF1aXogcmVzdWx0czwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBTakcgJmx0O3NqZ0BjbXNtb2R1bGVzLmNvbSZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAwLjguMjxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPlZlcnNpb24gMC44LjIsIDE1IEp1bHkgMjAxMC4gU2pHLiBSZW1vdmVkIE1heENNU1ZlcnNpb24sIHNpbmNlIGl0IHNob3VsZCBzdGlsbCB3b3JrIHdpdGggQ01TIDEueC48L2xpPgo8bGk+VmVyc2lvbiAwLjguMSAyNSBKYW4gMjAwOS4gU2pHLiBCdXggZml4IGZvciBDTVNNUyAxLjUueCBzZXNzaW9uIHNlY3VyaXR5LjwvbGk+CjxsaT5WZXJzaW9uIDAuOCwgMzAgU2VwIDIwMDguIFNqRy4gQWRkZWQgQWRkaXRpb25hbCBGaWVsZHMuIEFkZGVkIFNjb3JlIFRocmVzaG9sZC4gQWRkZWQgcGFnaW5hdGlvbiBvcHRpb24uPC9saT4gCjxsaT5WZXJzaW9uIDAuNywgMjYgTWF5IDIwMDguIFNqRy4gQWRkZWQgIkNvbnRlbnQgUGFnZSIgdHlwZSwgdXBkYXRlZCBmb3IgQ01TTVMgMS4yLjUuPC9saT4KPGxpPlZlcnNpb24gMC42LjMsIDEgRGVjIDIwMDcuIFNqRy4gRml4IGZvciBhbm5veWluZyBQSFAgNCBidWcgd2l0aCBodG1sX2VudGl0eV9kZWNvZGUgYW5kIFVURi04LjwvbGk+CjxsaT5WZXJzaW9uIDAuNi4yLCAyOSBOb3YgMjAwNy4gU2pHLiBCdWcgZml4ZXMsIGRvY3VtZW50YXRpb24uPC9saT4KPGxpPlZlcnNpb24gMC42LjEsIDIwIE5vdiAyMDA3LiBTakcuIEJ1ZyBmaXhlcy4gUXVpeiBzaWduLXVwIGNhbiBub3cgYmUgbWFkZSBvcHRpb25hbC48L2xpPgo8bGk+VmVyc2lvbiAwLjYsIFNlcHQgMjAwNy4gU2pHLiBGaXhlZCB1c2VyIGxvZ2luL3Jlc3RvcmUuIFF1aXogcmVzdWx0IHZpZXdpbmcgKG5vdCB5ZXQgZG9jdW1lbnRlZCBwcm9wZXJseSkuPC9saT4KPGxpPlZlcnNpb24gMC41LCBBdWcgMjAwNy4gU2pHLiBBZGRlZCAiRm9yZWlnbiIgY2hhcmFjdGVyIHBhbGV0dGUuPC9saT4KPGxpPlZlcnNpb24gMC40LCBKdWwgMjAwNy4gU2pHLiBCdWcgZml4ZXMsIGFkZGVkIG5vbi1zY29yZWQgcXVlc3Rpb25zLjwvbGk+CjxsaT5WZXJzaW9uIDAuMywgTWF5IDIwMDcuIFNqRy4gQnVnIGZpeGVzLCBhZGRlZCBtdWx0aXBsZS1hbnN3ZXIgcXVlc3Rpb25zLCBjbHVtc2lseSBuYW1lZCAiQ2hvb3NlIE9uZSBvciBNb3JlIiBmb3IgSW5zaXBpZC48L2xpPgo8bGk+VmVyc2lvbiAwLjIgU2pHLiBBZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBpbnB1dHMgaW4gYSBzaW5nbGUgZmlsbC1pbi10aGUtYmxhbmsgcXVlc3Rpb24uIEFkZGVkIFNlY3Rpb25zLCBUZXh0IExpbmVzLCBhbmQgUGFnZSBCcmVha3MuPC9saT4KPGxpPlZlcnNpb24gMC4xLjEsIE1hciAyMDA3LiBTakcuIEJ1ZyBmaXhlcyBmb3IgaW1wb3J0LCBldGMuPC9saT4KPGxpPlZlcnNpb24gMC4xLCBGZWIgMjAwNyAoU2pHKS4gCjwvdWw+PGJyIC8+]]></about>
	<description><![CDATA[This module is a placement exam module.]]></description>
	<requires>
	  <requiredname>CMSMailer</requiredname>
	  <requiredversion>1.73.10</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/accented.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGFjY2VudGVkID0gYXJyYXkoCicmQWFjdXRlOycsCicmQWNpcmM7JywKJyZBZ3JhdmU7JywKJyZBcmluZzsnLAonJkF0aWxkZTsnLAonJkF1bWw7JywKJyZDY2VkaWw7JywKJyZFYWN1dGU7JywKJyZFY2lyYzsnLAonJkVncmF2ZTsnLAonJkV1bWw7JywKJyZJYWN1dGU7JywKJyZJY2lyYzsnLAonJklncmF2ZTsnLAonJkl1bWw7JywKJyZOdGlsZGU7JywKJyZPRWxpZzsnLAonJk9hY3V0ZTsnLAonJk9jaXJjOycsCicmT2dyYXZlOycsCicmT3NsYXNoOycsCicmT3RpbGRlOycsCicmT3VtbDsnLAonJlVhY3V0ZTsnLAonJlVjaXJjOycsCicmVWdyYXZlOycsCicmVXVtbDsnLAonJllhY3V0ZTsnLAonJll1bWw7JywKJyZhYWN1dGU7JywKJyZhY2lyYzsnLAonJmFncmF2ZTsnLAonJmFyaW5nOycsCicmYXRpbGRlOycsCicmYXVtbDsnLAonJmNjZWRpbDsnLAonJmVhY3V0ZTsnLAonJmVjaXJjOycsCicmZWdyYXZlOycsCicmZXVtbDsnLAonJmlhY3V0ZTsnLAonJmljaXJjOycsCicmaWdyYXZlJywKJyZpdW1sOycsCicmbnRpbGRlOycsCicmb2FjdXRlOycsCicmb2NpcmM7JywKJyZvZWxpZzsnLAonJm9ncmF2ZTsnLAonJm9zbGFzaDsnLAonJm90aWxkZTsnLAonJm91bWw7JywKJyZzemxpZzsnLAonJnVhY3V0ZTsnLAonJnVjaXJjOycsCicmdWdyYXZlOycsCicmdXVtbDsnLAonJnlhY3V0ZTsnLAonJnl1bWw7JwopOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISBpc3NldCgkcGFyYW1zWydxdWl6X2lkJ10pKQoJewoJZWNobyAkdGhpcy0+TGFuZygnc3BlY2lmeV9xdWl6Jyk7CglyZXR1cm47Cgl9CgkKaWYgKCR0aGlzLT5nZXRUYWtlcklkKCRwYXJhbXNbJ3F1aXpfaWQnXSkgIT0gLTEpCgl7CgkkcGFyYW1zWydxdWVzdGlvbiddPTA7CglpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoInNhdmVfYnV0dG9uIiwnMCcpID09ICcxJykKCQl7CgkJJHRoaXMtPkRvQWN0aW9uKCdyZXN0b3JlcXVpeicsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKCQlyZXR1cm47CgkJfQoJZWxzZQoJCXsKCQkvLyR0aGlzLT5SZWRpcmVjdCgkaWQsICd0YWtlcXVpeicsJHJldHVybmlkLCAkcGFyYW1zKTsKCQkkdGhpcy0+RG9BY3Rpb24oJ3Rha2VxdWl6JywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwkJCgkJcmV0dXJuOwoJCX0KCX0KCQppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVfdXNlcicsICcxJykgPT0gJzEnKQoJewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdyZXFfdXNlcicsdHJ1ZSk7Cgl9CmVsc2UKCXsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigncmVxX3VzZXInLGZhbHNlKTsKCX0KCQokZXh0cmFzID0gJHRoaXMtPmdldFBvcHVsYXRlZEV4dHJhRmllbGRzKCRpZCwgJHBhcmFtcywgLTEsIHRydWUpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdleHRyYXMnLCRleHRyYXMpOwoJCiR0aGlzLT5zbWFydHktPmFzc2lnbigncXVpel9pZCcsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwncXVpel9pZCcsJHBhcmFtc1sncXVpel9pZCddKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnc2F2ZXF1aXp0YWtlcicsICRyZXR1cm5pZCwncG9zdCcsCgknJywgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdxdWl6X2lubGluZScsJzEnKT09JzEnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWtlcXVpeicsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdxenpfdGFrZXF1aXonLAoJJHRoaXMtPkxhbmcoJ3Rha2VxdWl6JykpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsaXNzZXQoJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSk/JHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXTonJyk7CgkKCQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX25hbWUnLCR0aGlzLT5MYW5nKCd0aXRsZV9uYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2VtYWlsJywkdGhpcy0+TGFuZygndGl0bGVfZW1haWwnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfc2VuZF9hX2NvcHknLCR0aGlzLT5MYW5nKCd0aXRsZV9zZW5kX2FfY29weScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9zZW5kX2FfY29weV9oZWxwJywkdGhpcy0+TGFuZygndGl0bGVfc2VuZF9hX2NvcHlfaGVscCcpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfbmFtZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdxenpfbmFtZScsIGlzc2V0KCRwYXJhbXNbJ3F6el9uYW1lJ10pPyRwYXJhbXNbJ3F6el9uYW1lJ106JycsIDQwLCAyNTUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9lbWFpbCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdxenpfZW1haWwnLCBpc3NldCgkcGFyYW1zWydxenpfZW1haWwnXSk/JHBhcmFtc1sncXp6X2VtYWlsJ106JycsIDQwLCAyNTUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zZW5kX2FfY29weScsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAncXp6X3NlbmRfYV9jb3B5JywgMSwgaXNzZXQoJHBhcmFtc1sncXp6X3NlbmRfYV9jb3B5J10pPyRwYXJhbXNbJ3F6el9zZW5kX2FfY29weSddOicnKS4nJm5ic3A7Jy4KCQkgICR0aGlzLT5MYW5nKCd0aXRsZV9zZW5kX2FfY29weV9oZWxwJykpOwoKCiAgICAgICAgCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2lnbnVwX3RlbXBsYXRlJywnUXVpenphcmQnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoJCmluY2x1ZGUgImFjY2VudGVkLnBocCI7CgppZiAoRkFMU0UgPT0gZW1wdHkoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkKICB7CiAgICAkdGFiID0gJHBhcmFtc1snYWN0aXZlX3RhYiddOwogIH0gZWxzZSB7CiAgJHRhYiA9ICcnOwogfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJoZWFkZXJzJywgJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpIC4KCSR0aGlzLT5TZXRUYWJIZWFkZXIoJ3F1aXp6ZXMnLCR0aGlzLT5MYW5nKCdxdWl6emVzJyksKCdxdWl6emVzJyA9PSAkdGFiKT90cnVlOmZhbHNlKSAuCgkkdGhpcy0+U2V0VGFiSGVhZGVyKCdpbXBvcnQnLCR0aGlzLT5MYW5nKCdpbXBvcnQnKSwoJ2ltcG9ydCcgPT0gJHRhYik/dHJ1ZTpmYWxzZSkgLgoJJHRoaXMtPlNldFRhYkhlYWRlcignZXh0cmFmaWVsZHMnLCR0aGlzLT5MYW5nKCdleHRyYWZpZWxkcycpLCgnZXh0cmEnID09ICR0YWIpP3RydWU6ZmFsc2UpIC4KCSR0aGlzLT5TZXRUYWJIZWFkZXIoJ3RocmVzaG9sZCcsJHRoaXMtPkxhbmcoJ3RocmVzaG9sZCcpLCgndGhyZXNob2xkJyA9PSAkdGFiKT90cnVlOmZhbHNlKSAuCgkkdGhpcy0+U2V0VGFiSGVhZGVyKCdxdWl6dGVtcGxhdGUnLCR0aGlzLT5MYW5nKCdxdWl6dGVtcGxhdGUnKSwoJ3RlbXBsYXRlJyA9PSAkdGFiKT90cnVlOmZhbHNlKSAuCgkkdGhpcy0+U2V0VGFiSGVhZGVyKCdlbWFpbHRlbXBsYXRlJywkdGhpcy0+TGFuZygnZW1haWx0ZW1wbGF0ZScpLCgnZW1haWx0ZW1wbGF0ZScgPT0gJHRhYik/dHJ1ZTpmYWxzZSkgLgoJJHRoaXMtPlNldFRhYkhlYWRlcignc2NvcmV0ZW1wbGF0ZScsJHRoaXMtPkxhbmcoJ3Njb3JldGVtcGxhdGUnKSwoJ3Njb3JldGVtcGxhdGUnID09ICR0YWIpP3RydWU6ZmFsc2UpIC4KCSR0aGlzLT5TZXRUYWJIZWFkZXIoJ2VtYWlsY29uZmlnJywkdGhpcy0+TGFuZygnZW1haWxjb25maWcnKSwoJ2VtYWlsJyA9PSAkdGFiKT90cnVlOmZhbHNlKSAuCgkkdGhpcy0+U2V0VGFiSGVhZGVyKCdjaGFycycsJHRoaXMtPkxhbmcoJ2NoYXJhY3RlcnMnKSwoJ2NoYXJhY3RlcnMnID09ICR0YWIpP3RydWU6ZmFsc2UpIC4KCSR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NvbmZpZycsJHRoaXMtPkxhbmcoJ2NvbmZpZ3VyYXRpb24nKSwoJ2NvbmZpZ3VyYXRpb24nID09ICR0YWIpP3RydWU6ZmFsc2UpIC4KCSR0aGlzLT5FbmRUYWJIZWFkZXJzKCkuCgkkdGhpcy0+U3RhcnRUYWJDb250ZW50KCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3F1aXp0YWInLCR0aGlzLT5TdGFydFRhYigncXVpenplcycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9jb25maWd0YWInLCR0aGlzLT5TdGFydFRhYignY29uZmlnJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2VtYWlsY29uZmlndGFiJywkdGhpcy0+U3RhcnRUYWIoJ2VtYWlsY29uZmlnJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2ltcG9ydHRhYicsJHRoaXMtPlN0YXJ0VGFiKCdpbXBvcnQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfZXh0cmF0YWInLCR0aGlzLT5TdGFydFRhYignZXh0cmFmaWVsZHMnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfdGhyZXNob2xkdGFiJywkdGhpcy0+U3RhcnRUYWIoJ3RocmVzaG9sZCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9xdWl6dGVtcGxhdGV0YWInLCR0aGlzLT5TdGFydFRhYigncXVpenRlbXBsYXRlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2NoYXJhY3RlcnRhYicsJHRoaXMtPlN0YXJ0VGFiKCdjaGFycycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9lbWFpbHRlbXBsYXRldGFiJywkdGhpcy0+U3RhcnRUYWIoJ2VtYWlsdGVtcGxhdGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfc2NvcmV0ZW1wbGF0ZXRhYicsJHRoaXMtPlN0YXJ0VGFiKCdzY29yZXRlbXBsYXRlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZF90YWInLCR0aGlzLT5FbmRUYWIoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kX3RhYnMnLCR0aGlzLT5FbmRUYWJDb250ZW50KCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3VwbG9hZGZvcm0nLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLAoJCQknaW1wb3J0cXVpeicsICRyZXR1cm5pZCwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfY29uZmlnZm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsCgkJCSdzYXZlYWRtaW5wcmVmcycsICRyZXR1cm5pZCwncG9zdCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF90ZW1wbGF0ZWZvcm0nLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLAoJCQknc2F2ZXRlbXBsYXRlcycsICRyZXR1cm5pZCwncG9zdCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF90aHJlc2hvbGRmb3JtJywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwKCQkJJ3NhdmV0aHJlc2hvbGQnLCAkcmV0dXJuaWQsJ3Bvc3QnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kX2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJyxpc3NldCgkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddKT8kcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddOicnKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignY29sdW1uX2VtYmVkJywkdGhpcy0+TGFuZygnY29sdW1uX2VtYmVkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3NlbmRfZW1haWwnLCR0aGlzLT5MYW5nKCd0aXRsZV9zZW5kX2VtYWlsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3F1ZXN0aW9uc19jYXNlX3NlbnNpdGl2ZScsJHRoaXMtPkxhbmcoJ3RpdGxlX3F1ZXN0aW9uc19jYXNlX3NlbnNpdGl2ZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9maWxsaW5fbGVuJywkdGhpcy0+TGFuZygndGl0bGVfZmlsbGluX2xlbicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9leHRyYWZpZWxkcycsJHRoaXMtPkxhbmcoJ3RpdGxlX2V4dHJhZmllbGRzJykpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9zZW5kX3RvJywkdGhpcy0+TGFuZygndGl0bGVfc2VuZF90bycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9kZWZhdWx0X3F1ZXN0aW9ucycsJHRoaXMtPkxhbmcoJ3RpdGxlX2RlZmF1bHRfcXVlc3Rpb25zJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3BhZ2luYXRpb24nLCR0aGlzLT5MYW5nKCd0aXRsZV9wYWdpbmF0aW9uJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3Nob3dfcGFnZW5hdicsJHRoaXMtPkxhbmcoJ3RpdGxlX3Nob3dfcGFnZW5hdicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9wYWdpbmF0aW9uX2hlbHAnLCR0aGlzLT5MYW5nKCd0aXRsZV9wYWdpbmF0aW9uX2hlbHAnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfbWF4X2Fuc3dlcnMnLCR0aGlzLT5MYW5nKCd0aXRsZV9tYXhfYW5zd2VycycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9maWxlX3RvX3VwbG9hZCcsJHRoaXMtPkxhbmcoJ3RpdGxlX2ZpbGVfdG9fdXBsb2FkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3Nob3dfcGFsZXR0ZScsJHRoaXMtPkxhbmcoJ3RpdGxlX3Nob3dfcGFsZXR0ZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9wYWxldHRlX2NoYXJzJywkdGhpcy0+TGFuZygndGl0bGVfcGFsZXR0ZV9jaGFycycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9xdWl6X3RlbXBsYXRlJywkdGhpcy0+TGFuZygndGl0bGVfcXVpel90ZW1wbGF0ZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9zaWdudXBfdGVtcGxhdGUnLCR0aGlzLT5MYW5nKCd0aXRsZV9zaWdudXBfdGVtcGxhdGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZW1haWxfdGVtcGxhdGUnLCR0aGlzLT5MYW5nKCd0aXRsZV9lbWFpbF90ZW1wbGF0ZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9zY29yZV90ZW1wbGF0ZScsJHRoaXMtPkxhbmcoJ3RpdGxlX3Njb3JlX3RlbXBsYXRlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2VtYWlsX2Zyb20nLCR0aGlzLT5MYW5nKCd0aXRsZV9lbWFpbF9mcm9tJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2VtYWlsX2Zyb21uYW1lJywkdGhpcy0+TGFuZygndGl0bGVfZW1haWxfZnJvbW5hbWUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZW1haWxfc3ViamVjdCcsJHRoaXMtPkxhbmcoJ3RpdGxlX2VtYWlsX3N1YmplY3QnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfbXVsdGlwbGVfZmlsbGluJywkdGhpcy0+TGFuZygndGl0bGVfbXVsdGlwbGVfZmlsbGluJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3NhdmVfYnV0dG9uJywkdGhpcy0+TGFuZygndGl0bGVfc2F2ZV9idXR0b24nKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfcmVudW1iZXJfYnlfc2VjdGlvbicsJHRoaXMtPkxhbmcoJ3RpdGxlX3JlbnVtYmVyX2J5X3NlY3Rpb24nKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfc21hcnR5X3Byb2Nlc3NfcGFnZXMnLCR0aGlzLT5MYW5nKCd0aXRsZV9zbWFydHlfcHJvY2Vzc19wYWdlcycpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfd3lzaXd5Z19xdWVzdGlvbnMnLCR0aGlzLT5MYW5nKCd0aXRsZV93eXNpd3lnX3F1ZXN0aW9ucycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9odG1sX2VtYWlsJywkdGhpcy0+TGFuZygndGl0bGVfaHRtbF9lbWFpbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9yZXF1aXJlX3VzZXInLCR0aGlzLT5MYW5nKCd0aXRsZV9yZXF1aXJlX3VzZXInKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfcXVpel9pbmxpbmUnLCR0aGlzLT5MYW5nKCd0aXRsZV9xdWl6X2lubGluZScpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZmlsZV90b191cGxvYWRfaGVscCcsJHRoaXMtPkxhbmcoJ3RpdGxlX2ZpbGVfdG9fdXBsb2FkX2hlbHAnKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3F1aXpfdGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsCgkkaWQsICR0aGlzLT5HZXRUZW1wbGF0ZSgncXVpel90ZW1wbGF0ZScsICdRdWl6emFyZCcpLAoJJ3F1aXpfdGVtcGxhdGUnLCAnJywnJywnJywnJyw4MCwyNSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3NpZ251cF90ZW1wbGF0ZScsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwKCSRpZCwgJHRoaXMtPkdldFRlbXBsYXRlKCdzaWdudXBfdGVtcGxhdGUnLCAnUXVpenphcmQnKSwKCSdzaWdudXBfdGVtcGxhdGUnLCAnJywnJywnJywnJyw4MCwyNSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3Njb3JlX3RlbXBsYXRlJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLAoJJGlkLCAkdGhpcy0+R2V0VGVtcGxhdGUoJ3Njb3JlX3RlbXBsYXRlJywgJ1F1aXp6YXJkJyksCgknc2NvcmVfdGVtcGxhdGUnLCAnJywnJywnJywnJyw4MCwyNSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2VtYWlsX3RlbXBsYXRlJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLAoJJGlkLCAkdGhpcy0+R2V0VGVtcGxhdGUoJ2VtYWlsX3RlbXBsYXRlJywgJ1F1aXp6YXJkJyksCgknZW1haWxfdGVtcGxhdGUnLCAnJywnJywnJywnJyw4MCwyNSkpOwoKCiRxdWVzdGlvbnMgPSBhcnJheSgpOwpmb3IoJGk9MTskaTwzMTskaSsrKQoJewoJJHF1ZXN0aW9uc1skaV09JGk7Cgl9CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZGVmYXVsdF9xdWVzdGlvbnMnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdkZWZhdWx0X3F1ZXN0aW9ucycsICRxdWVzdGlvbnMsIC0xLCAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfcXVlc3Rpb25zJywnMTAnKSkpOwoKJGFuc3dlcnMgPSBhcnJheSgpOwpmb3IoJGk9MTskaTwxNjskaSsrKQoJewoJJGFuc3dlcnNbJGldPSRpOwoJfQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X21heF9hbnN3ZXJzJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnbWF4X2Fuc3dlcnMnLCAkYW5zd2VycywgLTEsICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4X2Fuc3dlcnMnLCc1JykpKTsKCgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3Njb3JlX3RocmVzaG9sZCcsJHRoaXMtPkxhbmcoJ3RpdGxlX3Njb3JlX3RocmVzaG9sZCcpKTsKJHRocmVzaCA9IGFycmF5KCk7CmZvcigkaT0wOyRpPDEwMDskaSsrKQoJewoJJHRocmVzaFskaS4nJSddPSRpOwoJfQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3Njb3JlX3RocmVzaG9sZCcsCgkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0aHJlc2hvbGQnLCAkdGhyZXNoLCAtMSwgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aHJlc2hvbGQnLCcwJykpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfdGhyZXNob2xkX21lc3NhZ2UnLCR0aGlzLT5MYW5nKCd0aXRsZV90aHJlc2hvbGRfbWVzc2FnZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF90aHJlc2hvbGRfbWVzc2FnZScsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwKCSRpZCwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RocmVzaG9sZF9tZXNzYWdlJywgJHRoaXMtPkxhbmcoJ3RocmVzaG9sZF9tZXNzYWdlJykpLAoJJ3RocmVzaG9sZF9tZXNzYWdlJywgJycsJycsJycsJycsODAsMjUpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfdGhyZXNob2xkX3NpbmdsZV9wYWdlJywkdGhpcy0+TGFuZygndGl0bGVfdGhyZXNob2xkX3NpbmdsZV9wYWdlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3RocmVzaG9sZF9zaW5nbGVfcGFnZScsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAndGhyZXNob2xkX3NpbmdsZV9wYWdlJywgMSwKCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aHJlc2hvbGRfc2luZ2xlX3BhZ2UnLCAnMCcpKS4nJm5ic3A7Jy4kdGhpcy0+TGFuZygndGl0bGVfdGhyZXNob2xkX3NpbmdsZV9wYWdlX2hlbHAnKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3F1ZXN0aW9uX3dyb25nJywkdGhpcy0+TGFuZygndGl0bGVfcXVlc3Rpb25fd3JvbmcnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfcXVlc3Rpb25fd3JvbmcnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncXVlc3Rpb25fd3JvbmcnLAoJJHRoaXMtPkdldFByZWZlcmVuY2UoJ3F1ZXN0aW9uX3dyb25nJywgJHRoaXMtPkxhbmcoJ3F1ZXN0aW9uX3dyb25nJykpKSk7CgoKJHBhZ2luYXRpb25zID0gYXJyYXkoKTsKJHBhZ2luYXRpb25zWyR0aGlzLT5MYW5nKCd0aXRsZV9wYWdpbmF0ZV9jb3VudCcpXSA9ICdjb3VudCc7CiRwYWdpbmF0aW9uc1skdGhpcy0+TGFuZygndGl0bGVfcGFnaW5hdGVfYnJlYWsnKV0gPSAnYnJlYWsnOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3BhZ2luYXRpb24nLCR0aGlzLT5DcmVhdGVJbnB1dFJhZGlvR3JvdXAoJGlkLCAncGFnaW5hdGlvbicsICRwYWdpbmF0aW9ucywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2luYXRpb24nLCdjb3VudCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfc2hvd19wYWdlbmF2JywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdzaG93X3BhZ2VuYXYnLCAxLAoJJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Nob3dfcGFnZW5hdicsICcwJykpKTsKCgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3NlbmRfZW1haWwnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3NlbmRfZW1haWwnLCAxLAoJJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NlbmRfZW1haWwnLCAnMScpKS4nJm5ic3A7Jy4kdGhpcy0+TGFuZygndGl0bGVfc2VuZF9lbWFpbCcpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfcmVxdWlyZV91c2VyJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdyZXF1aXJlX3VzZXInLCAxLAoJJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVfdXNlcicsICcxJykpLicmbmJzcDsnLiR0aGlzLT5MYW5nKCd0aXRsZV9yZXF1aXJlX3VzZXJfaGVscCcpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfcXVpel9pbmxpbmUnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3F1aXpfaW5saW5lJywgMSwKCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdxdWl6X2lubGluZScsICcxJykpLicmbmJzcDsnLiR0aGlzLT5MYW5nKCd0aXRsZV9xdWl6X2lubGluZV9oZWxwJykpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zbWFydHlfcHJvY2Vzc19wYWdlcycsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnc21hcnR5X3BhZ2VzJywgMSwKCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc21hcnR5X3BhZ2VzJywgJzAnKSkuJyZuYnNwOycuJHRoaXMtPkxhbmcoJ3RpdGxlX3NtYXJ0eV9wcm9jZXNzX3BhZ2VzX2hlbHAnKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3F1ZXN0aW9uc19jYXNlX3NlbnNpdGl2ZScsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnY2FzZV9zZW5zaXRpdmUnLCAxLAoJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nhc2Vfc2Vuc2l0aXZlJywnMCcpKS4nJm5ic3A7Jy4kdGhpcy0+TGFuZygndGl0bGVfcXVlc3Rpb25zX2Nhc2Vfc2Vuc2l0aXZlX2hlbHAnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfc2VuZF90bycsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdzZW5kX3RvJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NlbmRfdG8nLCd5b3VAeW91cmRvbWFpbi5jb20nKSwgNDAsIDI1NSkpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9lbWFpbF9zdWJqZWN0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwKCSdlbWFpbF9zdWJqZWN0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZW1haWxfc3ViamVjdCIsCgkkdGhpcy0+TGFuZygnZW1haWxfc3ViamVjdCcpKSwgNDAsIDI1NSkpOwoJCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZW1haWxfZnJvbScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsCgknZW1haWxfZnJvbScsJHRoaXMtPkdldFByZWZlcmVuY2UoImVtYWlsX2Zyb20iLAoJJHRoaXMtPkxhbmcoJ2VtYWlsX2Zyb20nKSksIDQwLCAyNTUpKTsKCQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2VtYWlsX2Zyb21uYW1lJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwKCSdlbWFpbF9mcm9tbmFtZScsJHRoaXMtPkdldFByZWZlcmVuY2UoImVtYWlsX2Zyb21uYW1lIiwKCSR0aGlzLT5MYW5nKCdlbWFpbF9mcm9tbmFtZScpKSwgNDAsIDI1NSkpOwogICAgICAJCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZmlsbGluX2xlbicsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnZmlsbGluX2xlbicsIDEsCgkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmlsbGluX2xlbicsICcxJykpLicmbmJzcDsnLiR0aGlzLT5MYW5nKCd0aXRsZV9maWxsaW5fbGVuX2hlbHAnKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X211bHRpcGxlX2ZpbGxpbicsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnbXVsdGlwbGVfZmlsbGluJywgMSwKCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtdWx0aXBsZV9maWxsaW4nLCAnMScpKS4nJm5ic3A7Jy4kdGhpcy0+TGFuZygndGl0bGVfbXVsdGlwbGVfZmlsbGluX2hlbHAnKSk7CgoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWxlX3RvX3VwbG9hZCcsJHRoaXMtPkNyZWF0ZUlucHV0RmlsZSgkaWQsICd0ZXh0ZmlsZScpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfc2hvd19wYWxldHRlJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdzaG93X3BhbGV0dGUnLCAxLAoJJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Nob3dfcGFsZXR0ZScsICcwJykpLicmbmJzcDsnLiR0aGlzLT5MYW5nKCd0aXRsZV9zaG93X3BhbGV0dGVfaGVscCcpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfc2F2ZV9idXR0b24nLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3NhdmVfYnV0dG9uJywgMSwKCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzYXZlX2J1dHRvbicsICcwJykpLicmbmJzcDsnLiR0aGlzLT5MYW5nKCd0aXRsZV9zYXZlX2J1dHRvbl9oZWxwJykpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZW51bWJlcl9ieV9zZWN0aW9uJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdyZW51bWJlcl9ieV9zZWN0aW9uJywgMSwKCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZW51bWJlcl9ieV9zZWN0aW9uJywgJzAnKSkuJyZuYnNwOycuJHRoaXMtPkxhbmcoJ3RpdGxlX3JlbnVtYmVyX2J5X3NlY3Rpb25faGVscCcpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfd3lzaXd5Z19xdWVzdGlvbnMnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3d5c2l3eWdfcXVlc3Rpb25zJywgMSwKCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCd3eXNpd3lnX3F1ZXN0aW9ucycsICcwJykpLicmbmJzcDsnLiR0aGlzLT5MYW5nKCd0aXRsZV93eXNpd3lnX3F1ZXN0aW9ucycpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfaHRtbF9lbWFpbCcsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaHRtbF9lbWFpbCcsIDEsCgkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaHRtbF9lbWFpbCcsICcwJykpLicmbmJzcDsnLiR0aGlzLT5MYW5nKCd0aXRsZV9odG1sX2VtYWlsJykpOwoKCgokcGFsZXR0ZV9jaGFycyA9ICcnOwokc2hvd19jaGFyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Nob3dfY2hhcl9saXN0JywKJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJyk7CmZvciAoJGk9MDskaTxjb3VudCgkYWNjZW50ZWQpOyRpKyspCgl7CgkkcGFsZXR0ZV9jaGFycyAuPSAnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iYWMnLiRpLgoJCSciIG5hbWU9IicuJGlkLidhY18nLiRpLiciIHZhbHVlPSIxIic7CglpZiAoJHNob3dfY2hhclskaV09PScxJykKCQl7CgkJJHBhbGV0dGVfY2hhcnMgLj0gJyBjaGVja2VkPSJjaGVja2VkIic7CgkJfQoJJHBhbGV0dGVfY2hhcnMgLj0gJz48bGFiZWwgZm9yPSJhYycuJGkuJyI+Jy4kYWNjZW50ZWRbJGldLic8L2xhYmVsPiAnOwoJfQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3BhbGV0dGVfY2hhcnMnLCRwYWxldHRlX2NoYXJzKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9zZWxlY3RfYWxsJywkdGhpcy0+TGFuZygndGl0bGVfc2VsZWN0X2FsbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9zZWxlY3Rfbm9uZScsJHRoaXMtPkxhbmcoJ3RpdGxlX3NlbGVjdF9ub25lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lkJywkaWQpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FjY2VudGxlbicsY291bnQoJGFjY2VudGVkKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2ZpZWxkX25hbWUnLCR0aGlzLT5MYW5nKCd0aXRsZV9maWVsZF9uYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2ZpZWxkX3R5cGUnLCR0aGlzLT5MYW5nKCd0aXRsZV9maWVsZF90eXBlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2ZpZWxkX2Rpc3BsYXlfbGVuJywkdGhpcy0+TGFuZygndGl0bGVfZmllbGRfZGlzcGxheV9sZW4nKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZmllbGRfbWF4X2xlbicsJHRoaXMtPkxhbmcoJ3RpdGxlX2ZpZWxkX21heF9sZW4nKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZmllbGRfZGVsJywkdGhpcy0+TGFuZygndGl0bGVfZmllbGRfZGVsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2ZpZWxkX3dlaWdodCcsJHRoaXMtPkxhbmcoJ3RpdGxlX2ZpZWxkX3dlaWdodCcpKTsKCiRleHRyYWxpc3QgPSAkdGhpcy0+Z2V0RXh0cmFzKCk7CiRleHRyYV9zZWw9YXJyYXkoJHRoaXMtPkxhbmcoJ2V4dHJhX3RleHQnKT0+J2V4dHJhX3RleHQnLAokdGhpcy0+TGFuZygnZXh0cmFfdGV4dF9yJyk9PidleHRyYV90ZXh0X3InLAokdGhpcy0+TGFuZygnZXh0cmFfY2hlY2snKT0+J2V4dHJhX2NoZWNrJywKJHRoaXMtPkxhbmcoJ2V4dHJhX2NoZWNrX3InKT0+J2V4dHJhX2NoZWNrX3InLAokdGhpcy0+TGFuZygnZXh0cmFfbnVtYmVyJyk9PidleHRyYV9udW1iZXInLAokdGhpcy0+TGFuZygnZXh0cmFfbnVtYmVyX3InKT0+J2V4dHJhX251bWJlcl9yJywKJHRoaXMtPkxhbmcoJ2V4dHJhX3Bob25lJyk9PidleHRyYV9waG9uZScsCiR0aGlzLT5MYW5nKCdleHRyYV9waG9uZV9yJyk9PidleHRyYV9waG9uZV9yJwopOwoKZm9yKCRpPTA7JGk8Y291bnQoJGV4dHJhbGlzdCk7JGkrKykKCXsKCSRleHRyYWxpc3RbJGldWydpbnB1dF90eXBlJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdleHRyYV90XycuJGV4dHJhbGlzdFskaV1bJ2ZpZWxkX2lkJ10sICRleHRyYV9zZWwsIC0xLCAkZXh0cmFsaXN0WyRpXVsnZmllbGRfdHlwZSddKTsKCSRleHRyYWxpc3RbJGldWydpbnB1dF9kaXNwbGF5X2xlbiddID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdleHRyYV9sXycuJGV4dHJhbGlzdFskaV1bJ2ZpZWxkX2lkJ10sICRleHRyYWxpc3RbJGldWydmaWVsZF9kaXNwbGF5X2xlbiddLCA0LCAxMCk7CgkkZXh0cmFsaXN0WyRpXVsnaW5wdXRfbWF4X2xlbiddID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdleHRyYV9tXycuJGV4dHJhbGlzdFskaV1bJ2ZpZWxkX2lkJ10sICRleHRyYWxpc3RbJGldWydmaWVsZF9tYXhfbGVuJ10sIDQsIDEwKTsKCSRleHRyYWxpc3RbJGldWydpbnB1dF93ZWlnaHQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZXh0cmFfd18nLiRleHRyYWxpc3RbJGldWydmaWVsZF9pZCddLCAoJGkrMSksIDQsIDEwKTsKCSRleHRyYWxpc3RbJGldWydpbnB1dF9uYW1lJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2V4dHJhX25fJy4kZXh0cmFsaXN0WyRpXVsnZmllbGRfaWQnXSwgJGV4dHJhbGlzdFskaV1bJ2ZpZWxkX25hbWUnXSwgMzApOwoJJGV4dHJhbGlzdFskaV1bJ2lucHV0X2RlbCddID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnZXh0cmFfZCcuJGV4dHJhbGlzdFskaV1bJ2ZpZWxkX2lkJ10sIDEsCgkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nhc2Vfc2Vuc2l0aXZlJywnMCcpKTsKCX0KCiRleHRyYWxpc3RbJGldWydpbnB1dF90eXBlJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdleHRyYV90Xy0xJywgJGV4dHJhX3NlbCwgLTEsICcnKTsKJGV4dHJhbGlzdFskaV1bJ2lucHV0X2Rpc3BsYXlfbGVuJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2V4dHJhX2xfLTEnLCAnMCcsIDQsIDEwKTsKJGV4dHJhbGlzdFskaV1bJ2lucHV0X21heF9sZW4nXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZXh0cmFfbV8tMScsICcwJywgNCwgMTApOwokZXh0cmFsaXN0WyRpXVsnaW5wdXRfd2VpZ2h0J10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2V4dHJhX3dfLTEnLCAoJGkrMSksIDQsIDEwKTsKJGV4dHJhbGlzdFskaV1bJ2lucHV0X25hbWUnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnZXh0cmFfbl8tMScsICcnLCAzMCk7CiRleHRyYWxpc3RbJGldWydpbnB1dF9kZWwnXSA9ICcnOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2V4dHJhZm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsCgkJCSdzYXZlZXh0cmFzJywgJHJldHVybmlkLCdwb3N0JykpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdleHRyYXMnLCRleHRyYWxpc3QpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3RpdGxlX3NhdmVfcHJlZnMnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ltcG9ydCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdpbXBvcnQnLCAkdGhpcy0+TGFuZygndGl0bGVfaW1wb3J0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXR0ZW1wbGF0ZXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0dGVtcGxhdGVzJywgJHRoaXMtPkxhbmcoJ3RpdGxlX3NhdmVfdGVtcGxhdGVzJykpKTsKCiR0aGlzLT5saXN0UXVpenplcygkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWlucGFuZWwudHBsJyk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.deletequestion.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKJGRiID0mICRnQ21zLT5HZXREYigpOwoKCQppZiAoaXNzZXQoJHBhcmFtc1sncXVlc3Rpb25faWQnXSkpCgl7CgkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuCgkJIm1vZHVsZV9xel9xdWVzdGlvbnMgV0hFUkUgcXVlc3Rpb25faWQ9PyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ3F1ZXN0aW9uX2lkJ10pKTsKCgkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuCgkJIm1vZHVsZV9xel9hbnN3ZXJzIFdIRVJFIHF1ZXN0aW9uX2lkPT8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWVzdGlvbl9pZCddKSk7CgoJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLgoJCSJtb2R1bGVfcXpfcmVzdWx0IFdIRVJFIHF1ZXN0aW9uX2lkPT8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWVzdGlvbl9pZCddKSk7CgoJJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdxdWVzdGlvbmRlbGV0ZWQnKTsKCgl9CmVsc2UKCXsKCSRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3InKTsKCX0KLy8kdGhpcy0+UmVkaXJlY3QoJGlkLCAnZWRpdHF1aXonLCAkcmV0dXJuaWQsICRwYXJhbXMpOwokdGhpcy0+RG9BY3Rpb24oJ2VkaXRxdWl6JywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.deletequiz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKJGRiID0mICRnQ21zLT5HZXREYigpOwoKJG5hbWU9Jyc7CiRkZXNjPScnOwoJCQppZiAoaXNzZXQoJHBhcmFtc1sncXVpel9pZCddKSkKCXsKCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4KCQkibW9kdWxlX3F6X2Fuc3dlcnMgV0hFUkUgcXVpel9pZD0/IjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1sncXVpel9pZCddKSk7CgkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuCgkJIm1vZHVsZV9xel9xdWVzdGlvbnMgV0hFUkUgcXVpel9pZD0/IjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1sncXVpel9pZCddKSk7CgkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuCgkJIm1vZHVsZV9xel9xdWl6emVzIFdIRVJFIHF1aXpfaWQ9PyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ3F1aXpfaWQnXSkpOwoKCSRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygncXVpemRlbGV0ZWQnKTsKCgl9CmVsc2UKCXsKCSRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3InKTsKCX0KLy8kdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKJHRoaXMtPkRvQWN0aW9uKCdkZWZhdWx0YWRtaW4nLCAkaWQsICRwYXJhbXMpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.editquestion.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzaG93X3BhbGV0dGUnLCcwJykgPT0gJzEnKQoJewoJaW5jbHVkZSAiYWNjZW50ZWQucGhwIjsKCWluY2x1ZGUgInBhbGV0dGVfaW5jbHVkZS5waHAiOwoJfQoKCiRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCiRxdHlwZT1pc3NldCgkcGFyYW1zWydxdHlwZSddKT8kcGFyYW1zWydxdHlwZSddOicnOwokcXRpdGxlPScnOwokaXNfc2NvcmVkID0gMTsKJHF1ZXN0aW9uPScnOwoJCgkKJHR5cGVzID0gYXJyYXkoJHRoaXMtPkxhbmcoJ3NlbGVjdF9vbmUnKT0+JycsJHRoaXMtPkxhbmcoJ3R5cGVfbScpPT4nbScsCiR0aGlzLT5MYW5nKCd0eXBlX2MnKT0+J2MnLCR0aGlzLT5MYW5nKCd0eXBlX2YnKT0+J2YnLCR0aGlzLT5MYW5nKCd0eXBlX3AnKT0+J3AnLAokdGhpcy0+TGFuZygndHlwZV9zJyk9PidzJywkdGhpcy0+TGFuZygndHlwZV90Jyk9Pid0JywkdGhpcy0+TGFuZygndHlwZV9iJyk9PidiJyk7CgoJCmlmIChpc3NldCgkcGFyYW1zWydxdWVzdGlvbl9pZCddKSkKCXsKCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLgoJCSJtb2R1bGVfcXpfcXVlc3Rpb25zIFdIRVJFIHF1ZXN0aW9uX2lkPT8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWVzdGlvbl9pZCddKSk7CglpZiAoJGRicmVzdWx0ICE9PSBmYWxzZSAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJCXsKCQlpZiAoJHF0eXBlID09ICcnKQoJCQl7CgkJCQkkcXR5cGUgPSAkcm93WydxdWVzdGlvbl90eXBlJ107CgkJCX0KCQkkcXRpdGxlID0gJHJvd1sndGl0bGUnXTsKCQkkcXVlc3Rpb24gPSAkcm93WydxdWVzdGlvbiddOwoJCSRpc19zY29yZWQgPSAkcm93Wydpc19zY29yZWQnXTsKCQl9CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwKCQkncXVlc3Rpb25faWQnLCRwYXJhbXNbJ3F1ZXN0aW9uX2lkJ10pLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsCgkJJ3F1aXpfaWQnLCRwYXJhbXNbJ3F1aXpfaWQnXSkpOwoJfQplbHNlCgl7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwKCQkncXVlc3Rpb25faWQnLC0xKS4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLAoJCSdxdWl6X2lkJywkcGFyYW1zWydxdWl6X2lkJ10pKTsKCX0KCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdzYXZlcXVlc3Rpb24nLCAkcmV0dXJuaWQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc2F2ZScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzYXZlJywKCSR0aGlzLT5MYW5nKCdzYXZlJykpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfcXVlc3Rpb25fc2NvcmVkJywkdGhpcy0+TGFuZygndGl0bGVfcXVlc3Rpb25fc2NvcmVkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3F1ZXN0aW9uX3Njb3JlZCcsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ3F1ZXN0aW9uX3Njb3JlZCcsICRpc19zY29yZWQsIDEpLiR0aGlzLT5MYW5nKCd0aXRsZV9xdWVzdGlvbl9zY29yZWRfaGVscCcpKTsKCgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3F1ZXN0aW9uX3RleHQnLCR0aGlzLT5MYW5nKCd0aXRsZV9xdWVzdGlvbl90ZXh0JykpOwppZiAoJHF0eXBlID09ICdmJyB8fCAkcXR5cGUgPT0gJ2MnIHx8ICRxdHlwZSA9PSAnbScpCgl7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3F1ZXN0aW9uX3RleHQnLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSgoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3d5c2l3eWdfcXVlc3Rpb25zJywnJykgPT0gJzEnKSwgJGlkLCAkcXVlc3Rpb24sICdxdWVzdGlvbl90ZXh0JywgJ3F1aXp6YXJkX2FyZWFfc2hvcnQnLCAncXVlc3Rpb25fdGV4dCcsICcnLCAnJywgJzYwJywgJzEwJykpOwkJCgl9CmVsc2UgaWYgKCRxdHlwZSA9PSAncCcpCgl7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3F1ZXN0aW9uX3RleHQnLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSgoZ2V0X3ByZWZlcmVuY2UoZ2V0X3VzZXJpZCgpLCAnd3lzaXd5ZycpIT0iIiksICRpZCwgJHF1ZXN0aW9uLCAncXVlc3Rpb25fdGV4dCcsICcnLCAncXVlc3Rpb25fdGV4dCcsICcnLCAnJywgJzYwJywgJzEwJykpOwkKCX0KZWxzZSBpZiAoJHF0eXBlICE9ICcnKQoJewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9xdWVzdGlvbl90ZXh0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3F1ZXN0aW9uX3RleHQnLCAkcXVlc3Rpb24sIDQwLCAyNTUpKTsKCX0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9xdWVzdGlvbl90eXBlJywkdGhpcy0+TGFuZygndGl0bGVfcXVlc3Rpb25fdHlwZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9xdWVzdGlvbl90aXRsZScsJHRoaXMtPkxhbmcoJ3RpdGxlX3F1ZXN0aW9uX3RpdGxlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3F1ZXN0aW9uX3RpdGxlJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3F1ZXN0aW9uX3RpdGxlJywgJHF0aXRsZSwgNDAsIDgwKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Fuc3dlcl90ZXh0JywkdGhpcy0+TGFuZygndGl0bGVfYW5zd2VyX3RleHQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfYW5zd2VyX3RleHRfaGVscCcsJHRoaXMtPkxhbmcoJ3RpdGxlX2Fuc3dlcl90ZXh0X2hlbHAnKSk7CgppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ211bHRpcGxlX2ZpbGxpbicsICcxJykgPT0gJzEnKQoJewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9tdWx0aXBsZV9maWxsX2hlbHAnLCR0aGlzLT5MYW5nKCd0aXRsZV9tdWx0aXBsZV9maWxsX2hlbHAnKSk7Cgl9CmVsc2UKCXsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfbXVsdGlwbGVfZmlsbF9oZWxwJywnJyk7Cgl9CgkKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9xdWVzdGlvbl90eXBlJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAncXVlc3Rpb25fdHlwZScsICR0eXBlcywgLTEsICRxdHlwZSwnb25DaGFuZ2U9ImZhc3RfYWRkKHRoaXMpIicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdxdHlwZScsJHF0eXBlKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdxdWl6X2lkJywkcGFyYW1zWydxdWl6X2lkJ10pOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3F1ZXN0aW9uX2lkJyxpc3NldCgkcGFyYW1zWydxdWVzdGlvbl9pZCddKT8kcGFyYW1zWydxdWVzdGlvbl9pZCddOictMScpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3JlbG9hZGxpbmsnLGh0bWxfZW50aXR5X2RlY29kZSgkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2VkaXRxdWVzdGlvbicsJHJldHVybmlkLCcnLGFycmF5KCksJycsdHJ1ZSkpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpZCcsJGlkKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignbWF4X2Fuc3dlcnMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfYW5zd2VycycsNikpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLGlzc2V0KCRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10pPyRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ106JycpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2JhY2tfdG9fbWFpbicsJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYmFja190b19tYWluJyksIGFycmF5KCkpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdiYWNrX3RvX3F1aXonLCcmZ3Q7Jy4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0cXVpeicsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2JhY2tfdG9fcXVpeicpLAoJYXJyYXkoJ3F1aXpfaWQnPT4kcGFyYW1zWydxdWl6X2lkJ10pKSk7CgoKJHRoaXMtPmxpc3RBbnN3ZXJzKCRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKCQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRxdWVzdGlvbi50cGwnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.editquiz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKJGRiID0mICRnQ21zLT5HZXREYigpOwoKJG5hbWU9Jyc7CiRkZXNjPScnOwoJCQppZiAoaXNzZXQoJHBhcmFtc1sncXVpel9pZCddKSkKCXsKCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLgoJCSJtb2R1bGVfcXpfcXVpenplcyBXSEVSRSBxdWl6X2lkPT8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWl6X2lkJ10pKTsKCWlmICgkZGJyZXN1bHQgIT09IGZhbHNlICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJewoJCSRuYW1lID0gJHJvd1snbmFtZSddOwoJCSRkZXNjID0gJHJvd1snZGVzY3JpcHRpb24nXTsKCQl9CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwKCQkncXVpel9pZCcsJHBhcmFtc1sncXVpel9pZCddKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3FpZHNldCcsJzEnKTsKCX0KZWxzZQoJewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsCgkJJ3F1aXpfaWQnLC0xKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3FpZHNldCcsJzAnKTsKCX0KCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdzYXZlcXVpeicsICRyZXR1cm5pZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzYXZlJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3NhdmUnLAoJJHRoaXMtPkxhbmcoJ3NhdmUnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2RvbmUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnZG9uZScsCgkkdGhpcy0+TGFuZygnZG9uZScpKSk7CgppZiAoaXNzZXQoJHBhcmFtc1sncXVpel9pZCddKSkKCXsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignb3JkZXJfZmllbGRfbGluaycsCgkkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdyZW9yZGVycXVpeicsCiAgIAkkcmV0dXJuaWQsJHRoaXMtPmNtcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3Jlb3JkZXIuZ2lmJwogICAsJHRoaXMtPkxhbmcoJ3Jlb3JkZXJfcXVpeicpLCcnLCcnLCdzeXN0ZW1pY29uJyksYXJyYXkoJ3F1aXpfaWQnPT4kcGFyYW1zWydxdWl6X2lkJ10pLCAnJywgZmFsc2UpIC4KICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAncmVvcmRlcnF1aXonLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ3Jlb3JkZXJfcXVpeicpLAogICBhcnJheSgncXVpel9pZCc9PiRwYXJhbXNbJ3F1aXpfaWQnXSksICcnLCBmYWxzZSkpOwoJfQplbHNlCgl7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ29yZGVyX2ZpZWxkX2xpbmsnLCcnKTsKCX0KCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfcXVpel9uYW1lJywkdGhpcy0+TGFuZygndGl0bGVfcXVpel9uYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3F1aXpfZGVzYycsJHRoaXMtPkxhbmcoJ3RpdGxlX3F1aXpfZGVzYycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9xdWl6X25hbWUnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncXVpel9uYW1lJywgJG5hbWUsIDQwLCAyNTUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9xdWl6X2Rlc2MnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncXVpel9kZXNjJywgJGRlc2MsIDQwLCAyNTUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9zYXZlX2hlbHAnLCR0aGlzLT5MYW5nKCd0aXRsZV9zYXZlX2hlbHAnKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLGlzc2V0KCRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10pPyRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ106JycpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdiYWNrX3RvX21haW4nLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYmFja190b19tYWluJyksIGFycmF5KCkpKTsKCgokdGhpcy0+bGlzdFF1ZXN0aW9ucygkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRxdWl6LnRwbCcpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.exportquiz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FkbWluaXN0ZXIgUXVpenplcycpKQoJewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7Cgl9CgoJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuCgkJIm1vZHVsZV9xel9xdWl6emVzIFdIRVJFIHF1aXpfaWQ9PyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ3F1aXpfaWQnXSkpOwoJaWYgKCRkYnJlc3VsdCAhPT0gZmFsc2UgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCQl7CgkJJG5hbWUgPSAkcm93WyduYW1lJ107CgkJJGRlc2MgPSAkcm93WydkZXNjcmlwdGlvbiddOwoJCX0KCiAgICAkc3BlYyA9IHByZWdfcmVwbGFjZSgiL1xXLyIsIl8iLCRuYW1lKTsKCgkgJGVudHJ5YXJyYXkgPSAkdGhpcy0+Z2V0RW50aXJlUXVpeigkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7CgppZiAoaXNzZXQoJHBhcmFtc1sneG1sJ10pKQoJewoJJHNwZWMgLj0gIi54bWwiOwoJJGNvbnRlbnR0eXBlID0gInRleHQveG1sOyBjaGFyc2V0PXV0Zi04IjsKCSRyZXBvcnRTdHJpbmcgPSAiPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwidXRmLThcIj8+XG4iOwoJJHJlcG9ydFN0cmluZyAuPSAiPHF1aXo+XG4iOwoJJHJlcG9ydFN0cmluZyAuPSAiPG5hbWU+PCFbQ0RBVEFbIi4kbmFtZS4iXV0+PC9uYW1lPlxuIjsKCSRyZXBvcnRTdHJpbmcgLj0gIjxkZXNjcmlwdGlvbj48IVtDREFUQVsiLiRkZXNjLiJdXT48L2Rlc2NyaXB0aW9uPlxuIjsKCSRyZXBvcnRTdHJpbmcgLj0gIjxxdWVzdGlvbnM+XG4iOwoJJGNvbnRhaW5pbmdTZWN0aW9uID0gMDsKCWZvcmVhY2goYXJyYXlfa2V5cygkZW50cnlhcnJheS0+cXVlc3Rpb25zKSBhcyAkaSkKCSAJewoJCWlmICgkZW50cnlhcnJheS0+cXVlc3Rpb25zWyRpXS0+dHlwZT09J3MnKQoJCQl7CgkJCSRjb250YWluaW5nU2VjdGlvbiA9ICRlbnRyeWFycmF5LT5xdWVzdGlvbnNbJGldLT5xdWVzdGlvbjsKCQkJfQoJIAkkcmVwb3J0U3RyaW5nIC49ICJcdDxxdWVzdGlvbiB0eXBlPVwiIi4KCSAJCSRlbnRyeWFycmF5LT5xdWVzdGlvbnNbJGldLT50eXBlLiJcIiI7CgkJJHJlcG9ydFN0cmluZyAuPSAiIG51bT1cIiIuJGVudHJ5YXJyYXktPnF1ZXN0aW9uc1skaV0tPm51bS4iXCIiOwoJCSRyZXBvcnRTdHJpbmcgLj0gIiBpc19zY29yZWQ9XCIiLgoJCQkJCSgkZW50cnlhcnJheS0+cXVlc3Rpb25zWyRpXS0+aXNfc2NvcmVkPyIxIjoiMCIpIC4KCQkJCQkiXCI+XG4iOwoJIAkkcmVwb3J0U3RyaW5nIC49ICJcdFx0PHF1ZXN0aW9uX3RleHQ+PCFbQ0RBVEFbIi4KCSAJCSRlbnRyeWFycmF5LT5xdWVzdGlvbnNbJGldLT5xdWVzdGlvbi4KCSAJCSJdXT48L3F1ZXN0aW9uX3RleHQ+XG4iOwoJIAlpZiAoY291bnQoJGVudHJ5YXJyYXktPnF1ZXN0aW9uc1skaV0tPnJhd2Fuc3dlcnMpID4gMCkKCQkJewoJCQkkcmVwb3J0U3RyaW5nIC49ICJcdFx0PGFuc3dlcnM+XG4iOwoJCQlmb3JlYWNoICgkZW50cnlhcnJheS0+cXVlc3Rpb25zWyRpXS0+cmF3YW5zd2VycyBhcyAka2V5PT4kdmFsKQoJCQkJewoJCQkJJHJlcG9ydFN0cmluZyAuPSAiXHRcdFx0PGFuc3dlciI7CgkJCQlpZiAoJGVudHJ5YXJyYXktPnF1ZXN0aW9uc1skaV0tPnR5cGUgPT0gJ20nKQoJCQkJCXsKCQkJCQlpZiAoJGVudHJ5YXJyYXktPnF1ZXN0aW9uc1skaV0tPmNvcnJlY3RhbnN3ZXJzWzBdID09ICRrZXkpCgkJCQkJCXsKCQkJCQkJJHJlcG9ydFN0cmluZyAuPSAiIGlzX2NvcnJlY3Q9XCIxXCIiOwoJCQkJCQl9CgkJCQkJZWxzZQoJCQkJCQl7CgkJCQkJCSRyZXBvcnRTdHJpbmcgLj0gIiBpc19jb3JyZWN0PVwiMFwiIjsKCgkJCQkJCX0KCQkJCQl9CgkJCQllbHNlIGlmICgkZW50cnlhcnJheS0+cXVlc3Rpb25zWyRpXS0+dHlwZSA9PSAnYycpCgkJCQkJewoJCQkJCWlmICgkZW50cnlhcnJheS0+cXVlc3Rpb25zWyRpXS0+Y29ycmVjdGFuc3dlcnNbJGtleV0gPT0gJzEnKQoJCQkJCQl7CgkJCQkJCSRyZXBvcnRTdHJpbmcgLj0gIiBpc19jb3JyZWN0PVwiMVwiIjsKCgkJCQkJCX0KCQkJCQllbHNlCgkJCQkJCXsKCQkJCQkJJHJlcG9ydFN0cmluZyAuPSAiIGlzX2NvcnJlY3Q9XCIwXCIiOwoKCQkJCQkJfQoJCQkJCX0KCQkJCSRyZXBvcnRTdHJpbmcgLj0gIj48IVtDREFUQVsiLiR2YWwuCgkJCQkJIl1dPjwvYW5zd2VyPlxuIjsKCQkJCX0KCQkJJHJlcG9ydFN0cmluZyAuPSAiXHRcdDwvYW5zd2Vycz5cbiI7CgkJCX0KCQkkcmVwb3J0U3RyaW5nIC49ICJcdDwvcXVlc3Rpb24+XG4iOwoJIAl9CgkkcmVwb3J0U3RyaW5nIC49ICI8L3F1ZXN0aW9ucz5cbiI7CgkkcmVwb3J0U3RyaW5nIC49ICI8L3F1aXo+IjsKCX0KZWxzZQoJewoJJHNwZWMgLj0gIi50eHQiOwoJJGNvbnRlbnR0eXBlID0gImFwcGxpY2F0aW9uL2ZvcmNlLWRvd25sb2FkOyBjaGFyc2V0PXV0Zi04IjsKCSAkcmVwb3J0U3RyaW5nID0gIiRuYW1lXHQkZGVzY1xuIjsKCgkgJGNvdW50ID0gMTsKCSBmb3JlYWNoKGFycmF5X2tleXMoJGVudHJ5YXJyYXktPnF1ZXN0aW9ucykgYXMgJGkpCgkgCXsKCSAJLy9kZWJ1Z19kaXNwbGF5KCRlbnRyeWFycmF5WyRpXSk7CgkgCWlmICgkZW50cnlhcnJheS0+cXVlc3Rpb25zWyRpXS0+dHlwZSA9PSAnbScgfHwKCSAJCSRlbnRyeWFycmF5LT5xdWVzdGlvbnNbJGldLT50eXBlID09ICdmJyB8fAoJCQkkZW50cnlhcnJheS0+cXVlc3Rpb25zWyRpXS0+dHlwZSA9PSAnYycpCgkgCQl7CgkgCQkkcmVwb3J0U3RyaW5nIC49ICRjb3VudC4iXHQiOwoJIAkJJGNvdW50Kys7CgkgCQl9CgkJJHJlcG9ydFN0cmluZyAuPSAkZW50cnlhcnJheS0+cXVlc3Rpb25zWyRpXS0+dHlwZTsKCQkkcmVwb3J0U3RyaW5nIC49ICJcdCIuJGVudHJ5YXJyYXktPnF1ZXN0aW9uc1skaV0tPnF1ZXN0aW9uOwoJCWZvcmVhY2ggKCRlbnRyeWFycmF5LT5xdWVzdGlvbnNbJGldLT5yYXdhbnN3ZXJzIGFzICRrZXk9PiR2YWwpCgkJCXsKCQkJJHJlcG9ydFN0cmluZyAuPSAiXHQiOwoJCQlpZiAoJGVudHJ5YXJyYXktPnF1ZXN0aW9uc1skaV0tPnR5cGUgPT0gJ20nKQoJCQkJewoJCQkJaWYgKCRlbnRyeWFycmF5LT5xdWVzdGlvbnNbJGldLT5jb3JyZWN0YW5zd2Vyc1swXSA9PSAka2V5KQoJCQkJCXsKCQkJCQkkcmVwb3J0U3RyaW5nIC49ICIxIjsKCQkJCQl9CgkJCQllbHNlCgkJCQkJewoJCQkJCSRyZXBvcnRTdHJpbmcgLj0gIjAiOwoJCQkJCX0KCQkJCX0KCQkJZWxzZSBpZiAoJGVudHJ5YXJyYXktPnF1ZXN0aW9uc1skaV0tPnR5cGUgPT0gJ2MnKQoJCQkJewoJCQkJaWYgKCRlbnRyeWFycmF5LT5xdWVzdGlvbnNbJGldLT5jb3JyZWN0YW5zd2Vyc1ska2V5XSA9PSAnMScpCgkJCQkJewoJCQkJCSRyZXBvcnRTdHJpbmcgLj0gIjEiOwoJCQkJCX0KCQkJCWVsc2UKCQkJCQl7CgkJCQkJJHJlcG9ydFN0cmluZyAuPSAiMCI7CgkJCQkJfQoJCQkJfQoJCQllbHNlIGlmICgkZW50cnlhcnJheS0+cXVlc3Rpb25zWyRpXS0+dHlwZSA9PSAnZicpCgkJCQl7CgkJCQkkcmVwb3J0U3RyaW5nIC49ICIxIjsKCQkJCX0KCQkJJHJlcG9ydFN0cmluZyAuPSAiXHQiLiR2YWw7CgkJCX0KCQkkcmVwb3J0U3RyaW5nIC49ICJcbiI7CgkJfQoJfQogICAgQG9iX2NsZWFuKCk7CiAgICBAb2JfY2xlYW4oKTsKICAgIGhlYWRlcignUHJhZ21hOiBwdWJsaWMnKTsKICAgIGhlYWRlcignRXhwaXJlczogMCcpOwogICAgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBtdXN0LXJldmFsaWRhdGUsIHBvc3QtY2hlY2s9MCwgcHJlLWNoZWNrPTAnKTsKICAgIGhlYWRlcignQ2FjaGUtQ29udHJvbDogcHJpdmF0ZScsZmFsc2UpOwogICAgaGVhZGVyKCdDb250ZW50LURlc2NyaXB0aW9uOiBGaWxlIFRyYW5zZmVyJyk7CiAgICBoZWFkZXIoJ0NvbnRlbnQtVHlwZTogJy4kY29udGVudHR5cGUpOwogICAgaGVhZGVyKCdDb250ZW50LUxlbmd0aDogJyAuIHN0cmxlbigkcmVwb3J0U3RyaW5nKSk7CiAgICBoZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPScgLiAkc3BlYyk7CiAgICBlY2hvICRyZXBvcnRTdHJpbmc7CiAgICBleGl0Owo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.importquiz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoJCQkJCmlmICgkX0ZJTEVTWyRpZC4ndGV4dGZpbGUnXVsndHlwZSddID09ICd0ZXh0L3htbCcgfHwKCSRfRklMRVNbJGlkLid0ZXh0ZmlsZSddWyd0eXBlJ10gPT0gJ2FwcGxpY2F0aW9uL3htbCcpCgl7CgkkdGhpcy0+aW1wb3J0UXVpelhNTCgkaWQsJHBhcmFtcyk7Cgl9CmVsc2UKCXsKCS8vIGxlZ2FjeSBmaWxlCgkkaW5fZmlsZSA9IGFycmF5X21hcCgncnRyaW0nLGZpbGUoJF9GSUxFU1skaWQuJ3RleHRmaWxlJ11bJ3RtcF9uYW1lJ10pKTsKCSR0aGlzLT5pbXBvcnRRdWl6KCRpbl9maWxlKTsKCX0KCQokcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ3F1aXpfaW1wb3J0ZWQnKTsKCi8vJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7CiR0aGlzLT5Eb0FjdGlvbignZGVmYXVsdGFkbWluJywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.managequiz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FkbWluaXN0ZXIgUXVpenplcycpKQoJewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7Cgl9CgppZiAoISBpc3NldCgkcGFyYW1zWydxdWl6X2lkJ10pKQoJewoJZWNobyAkdGhpcy0+TGFuZygnc3BlY2lmeV9xdWl6Jyk7CglyZXR1cm47Cgl9CgppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Nob3dfcGFsZXR0ZScsJzAnKSA9PSAnMScpCgl7CglpbmNsdWRlICJhY2NlbnRlZC5waHAiOwoJaW5jbHVkZSAicGFsZXR0ZV9pbmNsdWRlLnBocCI7Cgl9CgkKCS8vZGVidWdfZGlzcGxheSgkcGFyYW1zKTsKCiRwYXJhbXNbJ2dldF9hbGwnXSA9IHRydWU7CmlmIChpc3NldCgkcGFyYW1zWydzaG93J10pKQogICB7CiAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc2hvd19saW5lX251bWJlcnMnLCcxJyk7CiAgIH0KZWxzZQogICB7CiAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc2hvd19saW5lX251bWJlcnMnLCcwJyk7CiAgIH0KJHBhcmFtc1sncXp6X2dldF9hbGwnXT10cnVlOwokdGhpcy0+Z2V0UXVlc3Rpb25QYWdlKCRpZCwkcGFyYW1zLCRyZXR1cm5pZCx0cnVlKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsCgkndmFsaWRhdGVxdWl6JywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3F1aXpfaWQnLCRwYXJhbXNbJ3F1aXpfaWQnXSkuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsCgkJJHRoaXMtPkxhbmcoJ3ZhbGlkYXRlJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV91bnNjb3JlZCcsJHRoaXMtPkxhbmcoJ3RpdGxlX3Vuc2NvcmVkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2JhY2tfdG9fbWFpbicsJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdiYWNrX3RvX21haW4nKSwgYXJyYXkoKSkpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywKCWlzc2V0KCRwYXJhbXNbJ21lc3NhZ2UnXSk/JHBhcmFtc1snbWVzc2FnZSddOicnKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnbWFuYWdlcXVpei50cGwnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.orderquestion.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKJGRiID0mICRnQ21zLT5HZXREYigpOwoJCQppZiAoaXNzZXQoJHBhcmFtc1sncXVpel9pZCddKSkKCXsKCSRvcmRlciA9IGFycmF5KCk7CgkkcXVlcnkgPSAiU0VMRUNUIHF1ZXN0aW9uX2lkLCBvcmRlcl9ieSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLgoJCSJtb2R1bGVfcXpfcXVlc3Rpb25zIFdIRVJFIHF1ZXN0aW9uX2lkIGluICg/LD8pIjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1snc3JjJ10sJHBhcmFtc1snZHN0J10pKTsKCiAgICB3aGlsZSAoJGRicmVzdWx0ICE9PSBmYWxzZSAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICAgIHsKCQkkb3JkZXJbJHJvd1sncXVlc3Rpb25faWQnXV0gPSAkcm93WydvcmRlcl9ieSddOwoJCX0KCgkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcXVlc3Rpb25zIHNldCBvcmRlcl9ieT0/IHdoZXJlIHF1ZXN0aW9uX2lkPT8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkb3JkZXJbJHBhcmFtc1snc3JjJ11dLAoJCSRwYXJhbXNbJ2RzdCddKSk7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRvcmRlclskcGFyYW1zWydkc3QnXV0sCgkJJHBhcmFtc1snc3JjJ10pKTsKCQoJfQplbHNlCgl7CgkkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yJyk7Cgl9Ci8vJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2VkaXRxdWl6JywgJHJldHVybmlkLCAkcGFyYW1zKTsKJHRoaXMtPkRvQWN0aW9uKCdlZGl0cXVpeicsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.reorderquiz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FkbWluaXN0ZXIgUXVpenplcycpKQoJewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7Cgl9CgoKJHRoaXMtPmxpc3RRdWVzdGlvbnMoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9mb3JtJywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwKCQkJJ3Jlb3JkZXJzdG9yZScsICRyZXR1cm5pZCwgJ3Bvc3QnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdyZW9yZGVyJyksJ29uY2xpY2s9InJldHVybiBzZW5kX29yZGVyX3ZhcigpIicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRfZm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaWQnLCRpZCk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZGVuJywkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdxdWl6X2lkJywkcGFyYW1zWydxdWl6X2lkJ10pKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignZmllbGRzJywkZmllbGRzKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncmVvcmRlcnF1aXoudHBsJyk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.reorderstore.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FkbWluaXN0ZXIgUXVpenplcycpKQoJewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7Cgl9CgoKJG9yZGVyX2xpc3QgPSBleHBsb2RlKCcsJywkcGFyYW1zWydvcmRlciddKTsKJGNvdW50ID0gMTsKCmlmICghIGlzX2FycmF5KCRvcmRlcl9saXN0KSkKCXsKCSRvcmRlcl9saXN0ID0gYXJyYXkoJG9yZGVyX2xpc3QpOwoJfQoKJGRiID0mICRnQ21zLT5HZXREYigpOwokc3FsID0gJ3VwZGF0ZSAnLmNtc19kYl9wcmVmaXgoKS4KCSdtb2R1bGVfcXpfcXVlc3Rpb25zIHNldCBvcmRlcl9ieT0/IHdoZXJlIHF1ZXN0aW9uX2lkPT8nOwoJCmZvcmVhY2ggKCRvcmRlcl9saXN0IGFzICR0aGlzRmllbGQpCgl7CiAgICR0aGlzRmllbGQgPSBzdWJzdHIoJHRoaXNGaWVsZCwxKTsKCSRycyA9ICRkYi0+RXhlY3V0ZSgkc3FsLCBhcnJheSgkY291bnQsICR0aGlzRmllbGQpKTsKCSRjb3VudCsrOwoJfQoKJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdyZW9yZGVyZWQnKTsKJHRoaXMtPkRvQWN0aW9uKCdlZGl0cXVpeicsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.restorequiz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISBpc3NldCgkcGFyYW1zWydxdWl6X2lkJ10pKQoJewoJZWNobyAkdGhpcy0+TGFuZygnc3BlY2lmeV9xdWl6Jyk7CglyZXR1cm47Cgl9CgokdGFrZXJfaWQgPSAkdGhpcy0+Z2V0VGFrZXJJZCgkcGFyYW1zWydxdWl6X2lkJ10pOwoKJGRiID0mICRnQ21zLT5HZXREYigpOwoKJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy4gY21zX2RiX3ByZWZpeCgpLgoJCQkJJ21vZHVsZV9xel90YWtlcnMgd2hlcmUgdGFrZXJfaWQ9Pyc7CiRwcmV2ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCR0YWtlcl9pZCkpOwoKCmlmIChpc3NldCgkcGFyYW1zWydxenpfbmV3X3F1aXonXSkpCiAgICB7CiAgICR0YWtlcl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcXpfdGFrZXJzX3NlcScpOwoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuIGNtc19kYl9wcmVmaXgoKS4KCQkJCSdtb2R1bGVfcXpfdGFrZXJzICh0YWtlcl9pZCwgbmFtZSwgZW1haWwsIHNlbmRfcmVzdWx0LCBjb21wbGV0ZWQpIFZBTFVFUyAoPyw/LD8sPyw/KSc7CgoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGFrZXJfaWQsCiAgICAgICAgICAgICAgIAkkcHJldlsnbmFtZSddLAogICAgICAgICAgICAgICAJJHByZXZbJ2VtYWlsJ10sCiAgICAgICAgICAgICAgIAkkcHJldlsnc2VuZF9yZXN1bHQnXSwwKSk7CiAgICBpZiAoJGRicmVzdWx0ID09PSBmYWxzZSkKICAgICAgIHsKICAgICAgIHJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJGRiLT5FcnJvck1zZygpKTsKICAgICAgIH0KCiAgICAkdGhpcy0+c2V0VGFrZXJJZCgkdGFrZXJfaWQsICRwYXJhbXNbJ3F1aXpfaWQnXSk7CiAgICAkcGFyYW1zWydxdWVzdGlvbiddPTA7CiAgICAvL3JldHVybiAkdGhpcy0+RG9BY3Rpb24oJ3Rha2VxdWl6JywkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7CglyZXR1cm4gJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ3Rha2VxdWl6JywgJHJldHVybmlkLCAkcGFyYW1zLCAgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdxdWl6X2lubGluZScsJzEnKT09JzEnKSk7CgogICAgfQplbHNlIGlmIChpc3NldCgkcGFyYW1zWydxenpfb2xkX3F1aXonXSkpCiAgICB7CiAgICByZXR1cm4gJHRoaXMtPkRvQWN0aW9uKCd0YWtlcXVpeicsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKICAgIH0KCgkKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdxdWl6X2lkJywkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdxdWl6X2lkJywkcGFyYW1zWydxdWl6X2lkJ10pKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdyZXN0b3JlcXVpeicsICRyZXR1cm5pZCwKCSdwb3N0JywnJywgICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgncXVpel9pbmxpbmUnLCcxJyk9PScxJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3Jlc3RvcmVfZGVidWcnLCR0aGlzLT5MYW5nKCd0aXRsZV9yZXN0b3JlX2RlYnVnJyxhcnJheSgkcGFyYW1zWydxdWl6X2lkJ10sICR0YWtlcl9pZCwgJHByZXZbJ3N0YXJ0X2RhdGUnXSkpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfcmVzdG9yZV9oZWxwJywkdGhpcy0+TGFuZygndGl0bGVfcmVzdG9yZV9oZWxwJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25ld19xdWl6JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3F6el9uZXdfcXVpeicsCgkJJHRoaXMtPkxhbmcoJ3RpdGxlX3N0YXJ0X292ZXInKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ29sZF9xdWl6JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3F6el9vbGRfcXVpeicsCgkJJHRoaXMtPkxhbmcoJ3RpdGxlX3Jlc3VtZV9vbGQnKSkpOwogICAgICAgIAplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3Jlc3RvcmUudHBsJyk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.saveadminprefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQppbmNsdWRlICJhY2NlbnRlZC5waHAiOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbmRfZW1haWwnLCBpc3NldCgkcGFyYW1zWydzZW5kX2VtYWlsJ10pPyRwYXJhbXNbJ3NlbmRfZW1haWwnXTonJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXF1aXJlX3VzZXInLCBpc3NldCgkcGFyYW1zWydyZXF1aXJlX3VzZXInXSk/JHBhcmFtc1sncmVxdWlyZV91c2VyJ106JycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncXVpel9pbmxpbmUnLCBpc3NldCgkcGFyYW1zWydxdWl6X2lubGluZSddKT8kcGFyYW1zWydxdWl6X2lubGluZSddOicnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NtYXJ0eV9wYWdlcycsIGlzc2V0KCRwYXJhbXNbJ3NtYXJ0eV9wYWdlcyddKT8kcGFyYW1zWydzbWFydHlfcGFnZXMnXTonJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYXNlX3NlbnNpdGl2ZScsIGlzc2V0KCRwYXJhbXNbJ2Nhc2Vfc2Vuc2l0aXZlJ10pPyRwYXJhbXNbJ2Nhc2Vfc2Vuc2l0aXZlJ106JycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2hvd19wYWxldHRlJywgaXNzZXQoJHBhcmFtc1snc2hvd19wYWxldHRlJ10pPyRwYXJhbXNbJ3Nob3dfcGFsZXR0ZSddOicnKTsKCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtdWx0aXBsZV9maWxsaW4nLCBpc3NldCgkcGFyYW1zWydtdWx0aXBsZV9maWxsaW4nXSk/JHBhcmFtc1snbXVsdGlwbGVfZmlsbGluJ106JycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2F2ZV9idXR0b24nLCBpc3NldCgkcGFyYW1zWydzYXZlX2J1dHRvbiddKT8kcGFyYW1zWydzYXZlX2J1dHRvbiddOicnKTsKCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZW51bWJlcl9ieV9zZWN0aW9uJywgaXNzZXQoJHBhcmFtc1sncmVudW1iZXJfYnlfc2VjdGlvbiddKT8kcGFyYW1zWydyZW51bWJlcl9ieV9zZWN0aW9uJ106JycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnd3lzaXd5Z19xdWVzdGlvbnMnLCBpc3NldCgkcGFyYW1zWyd3eXNpd3lnX3F1ZXN0aW9ucyddKT8kcGFyYW1zWyd3eXNpd3lnX3F1ZXN0aW9ucyddOicnKTsKCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3F1ZXN0aW9ucycsIGlzc2V0KCRwYXJhbXNbJ2RlZmF1bHRfcXVlc3Rpb25zJ10pPyRwYXJhbXNbJ2RlZmF1bHRfcXVlc3Rpb25zJ106JzEwJyk7CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWF4X2Fuc3dlcnMnLCBpc3NldCgkcGFyYW1zWydtYXhfYW5zd2VycyddKT8kcGFyYW1zWydtYXhfYW5zd2VycyddOic1Jyk7CiAgICAgICAgCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZW5kX3RvJywgaXNzZXQoJHBhcmFtc1snc2VuZF90byddKT8kcGFyYW1zWydzZW5kX3RvJ106J3lvdUB5b3VyZG9tYWluLmNvbScpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VtYWlsX2Zyb20nLCBpc3NldCgkcGFyYW1zWydlbWFpbF9mcm9tJ10pPyRwYXJhbXNbJ2VtYWlsX2Zyb20nXTokdGhpcy0+TGFuZygnZW1haWxfZnJvbScpKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VtYWlsX2Zyb21uYW1lJywgaXNzZXQoJHBhcmFtc1snZW1haWxfZnJvbW5hbWUnXSk/JHBhcmFtc1snZW1haWxfZnJvbW5hbWUnXTokdGhpcy0+TGFuZygnZW1haWxfZnJvbW5hbWUnKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbWFpbF9zdWJqZWN0JywgaXNzZXQoJHBhcmFtc1snZW1haWxfc3ViamVjdCddKT8kcGFyYW1zWydlbWFpbF9zdWJqZWN0J106JHRoaXMtPkxhbmcoJ2VtYWlsX3N1YmplY3QnKSk7CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZmlsbGluX2xlbicsIGlzc2V0KCRwYXJhbXNbJ2ZpbGxpbl9sZW4nXSk/JHBhcmFtc1snZmlsbGluX2xlbiddOicnKTsKCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdpbmF0aW9uJywgaXNzZXQoJHBhcmFtc1sncGFnaW5hdGlvbiddKT8kcGFyYW1zWydwYWdpbmF0aW9uJ106JycpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Nob3dfcGFnZW5hdicsIGlzc2V0KCRwYXJhbXNbJ3Nob3dfcGFnZW5hdiddKT8kcGFyYW1zWydzaG93X3BhZ2VuYXYnXTonJyk7Cgokc2hvd19jaGFycyA9ICcnOwpmb3IgKCRpPTA7JGk8Y291bnQoJGFjY2VudGVkKTskaSsrKQoJewoJaWYgKGlzc2V0KCRwYXJhbXNbJ2FjXycuJGldKSkKCQl7CgkJJHNob3dfY2hhcnMgLj0gJzEnOwoJCX0KCWVsc2UKCQl7CgkJJHNob3dfY2hhcnMgLj0gJzAnOwoJCX0KCX0KCQoJCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzaG93X2NoYXJfbGlzdCcsJHNob3dfY2hhcnMpOwoKJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAncHJlZnN1cGRhdGVkJywgJ2FjdGl2ZV90YWInID0+ICdjb25maWd1cmF0aW9uJyk7Ci8vJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdwcmVmc3VwZGF0ZWQnKTsKLy8kdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKJHRoaXMtPkRvQWN0aW9uKCdkZWZhdWx0YWRtaW4nLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.saveextras.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCgkkdXBxdWVyeSA9ICd1cGRhdGUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel9leHRyYV9maWVsZHMgc2V0IGZpZWxkX25hbWU9PywgZmllbGRfdHlwZT0/LCBmaWVsZF9kaXNwbGF5X2xlbj0/LCBmaWVsZF9tYXhfbGVuPT8sIGZpZWxkX3dlaWdodD0/IHdoZXJlIGZpZWxkX2lkPT8nOwoJJGlxdWVyeSA9ICdpbnNlcnQgaW50byAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3F6X2V4dHJhX2ZpZWxkcyAoZmllbGRfaWQsZmllbGRfbmFtZSxmaWVsZF90eXBlLGZpZWxkX2Rpc3BsYXlfbGVuLGZpZWxkX21heF9sZW4sZmllbGRfd2VpZ2h0KSB2YWx1ZXMgKD8sPyw/LD8sPyw/KSc7CgkKCWZvcmVhY2ggKCRwYXJhbXMgYXMgJHBrZXk9PiRwdmFsKQoJCXsKCQlpZiAoc3Vic3RyKCRwa2V5LDAsNykgPT0gJ2V4dHJhX24nICYmICFlbXB0eSgkcGFyYW1zWyRwa2V5XSkpCgkJCXsKCQkJJGVmID0gZXhwbG9kZSgnXycsJHBrZXkpOwoJCQlpZiAoJGVmWzJdID09IC0xKQoJCQkJewoJCQkJJGVfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3F6X2V4dHJhX2ZpZWxkX3NlcScpOwoJCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRpcXVlcnksYXJyYXkoCgkJCQkJJGVfaWQsCgkJCQkJJHBhcmFtc1snZXh0cmFfbl8tMSddLAoJCQkJCSRwYXJhbXNbJ2V4dHJhX3RfLTEnXSwKCQkJCQkkcGFyYW1zWydleHRyYV9sXy0xJ10sCgkJCQkJJHBhcmFtc1snZXh0cmFfbV8tMSddLAoJCQkJCSRwYXJhbXNbJ2V4dHJhX3dfLTEnXQoJCQkJCSkpOwoJCQkJfQoJCQllbHNlCgkJCQl7CgkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHVwcXVlcnksIGFycmF5KAoJCQkJCSRwYXJhbXNbJ2V4dHJhX25fJy4kZWZbMl1dLAoJCQkJCSRwYXJhbXNbJ2V4dHJhX3RfJy4kZWZbMl1dLAoJCQkJCSRwYXJhbXNbJ2V4dHJhX2xfJy4kZWZbMl1dLAoJCQkJCSRwYXJhbXNbJ2V4dHJhX21fJy4kZWZbMl1dLAoJCQkJCSRwYXJhbXNbJ2V4dHJhX3dfJy4kZWZbMl1dLAoJCQkJCSRlZlsyXQoJCQkJCSkpOwkKCQkJCX0KCQkJaWYgKCRkYnJlc3VsdCA9PT0gZmFsc2UpCgkJCSAgICB7CgkJCSAgICByZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRkYi0+RXJyb3JNc2coKSk7CgkJCSAgICB9CgkJCX0KCQl9CgokcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdleHRyYXN1cGRhdGVkJywgJ2FjdGl2ZV90YWInID0+ICdleHRyYScpOwokdGhpcy0+RG9BY3Rpb24oJ2RlZmF1bHRhZG1pbicsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.savequestion.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKJGRiID0mICRnQ21zLT5HZXREYigpOwoJCgkKJHF1ZXN0aW9uX2lkID0gJHBhcmFtc1sncXVlc3Rpb25faWQnXTsKCmlmICgkcGFyYW1zWydxdWVzdGlvbl90eXBlJ10gPT0gJ2InIHx8ICRwYXJhbXNbJ3F1ZXN0aW9uX3R5cGUnXSA9PSAncycgfHwKCSRwYXJhbXNbJ3F1ZXN0aW9uX3R5cGUnXSA9PSAndCcpCgl7Cgl1bnNldCgkcGFyYW1zWydxdWVzdGlvbl9zY29yZWQnXSk7Cgl9CgppZiAoISBpc3NldCgkcGFyYW1zWydxdWVzdGlvbl9pZCddKSB8fCAkcGFyYW1zWydxdWVzdGlvbl9pZCddID09IC0xKQoJewogICAJJHFvcmRlcl9ieSA9ICRkYi0+R2V0T25lKCJzZWxlY3QgbWF4KG9yZGVyX2J5KSBmcm9tICIuY21zX2RiX3ByZWZpeCgpLgogICAJCSJtb2R1bGVfcXpfcXVlc3Rpb25zIHdoZXJlIHF1aXpfaWQ9PyIsYXJyYXkoJHBhcmFtc1sncXVpel9pZCddKSk7CiAgIAkkcW9yZGVyX2J5Kys7CiAgIAkkcXVlc3Rpb25faWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3F6X3F1ZXN0aW9uc19zZXEnKTsKCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLiBjbXNfZGJfcHJlZml4KCkuCgkJCQknbW9kdWxlX3F6X3F1ZXN0aW9ucyAocXVlc3Rpb25faWQsIHF1aXpfaWQsIHF1ZXN0aW9uX3R5cGUsIHF1ZXN0aW9uLCB0aXRsZSwgaXNfc2NvcmVkLCBvcmRlcl9ieSkgVkFMVUVTICg/LD8sPyw/LD8sPyw/KSc7CgoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcXVlc3Rpb25faWQsCiAgICAgICAgICAgICAgIAkkcGFyYW1zWydxdWl6X2lkJ10sCiAgICAgICAgICAgICAgIAkkcGFyYW1zWydxdWVzdGlvbl90eXBlJ10sCgkJCQkoaXNzZXQoJHBhcmFtc1sncXVlc3Rpb25fdGV4dCddKT8kcGFyYW1zWydxdWVzdGlvbl90ZXh0J106JycpLAogICAgICAgICAgICAgICAJKGlzc2V0KCRwYXJhbXNbJ3F1ZXN0aW9uX3RpdGxlJ10pPyRwYXJhbXNbJ3F1ZXN0aW9uX3RpdGxlJ106JycpLAogICAgICAgICAgICAgICAJKGlzc2V0KCRwYXJhbXNbJ3F1ZXN0aW9uX3Njb3JlZCddKT8nMSc6JzAnKSwKICAgICAgICAgICAgICAgCSRxb3JkZXJfYnkpKTsKICAgIGlmICgkZGJyZXN1bHQgPT09IGZhbHNlKQogICAgICAgewogICAgICAgcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkZGItPkVycm9yTXNnKCkpOwogICAgICAgfQoJfQplbHNlCgl7CgkkcXVlcnkgPSAnVVBEQVRFICcuIGNtc19kYl9wcmVmaXgoKS4KCQkJCSdtb2R1bGVfcXpfcXVlc3Rpb25zIHNldCBxdWVzdGlvbl90eXBlPT8sIHF1ZXN0aW9uPT8sIHRpdGxlPT8saXNfc2NvcmVkPT8gd2hlcmUgcXVlc3Rpb25faWQ9Pyc7CgoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgKICAgICAgICAgICAgICAgCSRwYXJhbXNbJ3F1ZXN0aW9uX3R5cGUnXSwKCQkJCShpc3NldCgkcGFyYW1zWydxdWVzdGlvbl90ZXh0J10pPyRwYXJhbXNbJ3F1ZXN0aW9uX3RleHQnXTonJyksCgkJCQkoaXNzZXQoJHBhcmFtc1sncXVlc3Rpb25fdGl0bGUnXSk/JHBhcmFtc1sncXVlc3Rpb25fdGl0bGUnXTonJyksCiAgICAgICAgICAgICAgIAkoaXNzZXQoJHBhcmFtc1sncXVlc3Rpb25fc2NvcmVkJ10pPycxJzonMCcpLAogICAgICAgICAgICAgICAJJHBhcmFtc1sncXVlc3Rpb25faWQnXSkpOwogICAgaWYgKCRkYnJlc3VsdCA9PT0gZmFsc2UpCiAgICAgICB7CiAgICAgICByZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRkYi0+RXJyb3JNc2coKSk7CiAgICAgICB9CgkkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuCgkJJ21vZHVsZV9xel9hbnN3ZXJzIHdoZXJlIHF1ZXN0aW9uX2lkPT8nOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWVzdGlvbl9pZCddKSk7CglpZiAoJGRicmVzdWx0ID09PSBmYWxzZSkKICAgCQl7CiAgIAkJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywKICAgCQkJJHJldHVybmlkLCAkZGItPkVycm9yTXNnKCkpOwogICAJCX0KCX0KCmZvcigkaT0wOyRpPCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfYW5zd2VycycsNik7JGkrKykKCXsKCWlmIChpc3NldCgkcGFyYW1zWyJhbnN3ZXIkaSJdKSAmJiAhIGVtcHR5KCRwYXJhbXNbImFuc3dlciRpIl0pKQoJCXsKICAgCQkkYW5zd2VyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel9hbnN3ZXJzX3NlcScpOwoJCQoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3F6X2Fuc3dlcnMgKGFuc3dlcl9pZCwgcXVlc3Rpb25faWQsIHF1aXpfaWQsIGlzX2NvcnJlY3QsIGFuc3dlcikgVkFMVUVTICg/LD8sPyw/LD8pJzsKCQkvLyBicmVhayB0aGlzIGludG8gbXVsdGlwbGUgaWYgc3RhdGVtZW50cyBmb3IgZWFzaWVyIHJlYWRpbmcgOikKCQkkY29yID0gMDsKCQlpZiAoJHBhcmFtc1sncXVlc3Rpb25fdHlwZSddPT0nZicpCgkJCXsKCQkJJGNvciA9IDE7CgkJCX0KCQllbHNlIGlmICgkcGFyYW1zWydxdWVzdGlvbl90eXBlJ109PSdtJyAmJiBpc3NldCgkcGFyYW1zWydyYWQnLiRwYXJhbXNbJ3F1ZXN0aW9uX2lkJ11dKSAmJiAkcGFyYW1zWydyYWQnLiRwYXJhbXNbJ3F1ZXN0aW9uX2lkJ11dPT0kaSkKCQkJewoJCQkkY29yID0gMTsKCQkJfQoJCWVsc2UgaWYgKCRwYXJhbXNbJ3F1ZXN0aW9uX3R5cGUnXT09J2MnICYmIGlzc2V0KCRwYXJhbXNbJ2NoZWNrJy4kaV0pKQoJCQl7CgkJCSRjb3IgPSAxOwoJCQl9CgoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGFuc3dlcl9pZCwKCQkJJHF1ZXN0aW9uX2lkLAoJCQkkcGFyYW1zWydxdWl6X2lkJ10sCgkJCSRjb3IsCgkJCSRwYXJhbXNbImFuc3dlciRpIl0pKTsKCQlpZiAoJGRicmVzdWx0ID09PSBmYWxzZSkKICAgCQkJewogICAJCQlyZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRkYi0+RXJyb3JNc2coKSk7CiAgIAkJCX0KCQl9Cgl9CgoKCiRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygncXVlc3Rpb25fc2F2ZWQnKTsKCi8vJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2VkaXRxdWl6JywgJHJldHVybmlkLCAkcGFyYW1zKTsKJHRoaXMtPkRvQWN0aW9uKCdlZGl0cXVpeicsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.savequiz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKJGRiID0mICRnQ21zLT5HZXREYigpOwoJCQppZiAoISBpc3NldCgkcGFyYW1zWydxdWl6X2lkJ10pIHx8ICRwYXJhbXNbJ3F1aXpfaWQnXSA9PSAtMSkKCXsKICAgCSRxdWl6X2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel9xdWl6emVzX3NlcScpOwoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuIGNtc19kYl9wcmVmaXgoKS4KCQkJCSdtb2R1bGVfcXpfcXVpenplcyAocXVpel9pZCwgbmFtZSwgZGVzY3JpcHRpb24pIFZBTFVFUyAoPyw/LD8pJzsKCgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRxdWl6X2lkLAogICAgICAgICAgICAgICAJJHBhcmFtc1sncXVpel9uYW1lJ10sJHBhcmFtc1sncXVpel9kZXNjJ10pKTsKICAgIGlmICgkZGJyZXN1bHQgPT09IGZhbHNlKQogICAgICAgewogICAgICAgcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkZGItPkVycm9yTXNnKCkpOwogICAgICAgfQogICAgJHBhcmFtc1sncXVpel9pZCddID0gJHF1aXpfaWQ7Cgl9CmVsc2UKCXsKCSRxdWVyeSA9ICdVUERBVEUgJy4gY21zX2RiX3ByZWZpeCgpLgoJCQkJJ21vZHVsZV9xel9xdWl6emVzIHNldCBuYW1lPT8sIGRlc2NyaXB0aW9uPT8gd2hlcmUgcXVpel9pZD0/JzsKCgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KAogICAgICAgICAgICAgICAJJHBhcmFtc1sncXVpel9uYW1lJ10sJHBhcmFtc1sncXVpel9kZXNjJ10sCiAgICAgICAgICAgICAgIAkkcGFyYW1zWydxdWl6X2lkJ10pKTsKICAgIGlmICgkZGJyZXN1bHQgPT09IGZhbHNlKQogICAgICAgewogICAgICAgcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkZGItPkVycm9yTXNnKCkpOwogICAgICAgfQoJfQoKJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdxdWl6X3NhdmVkJyk7CgppZiAoaXNzZXQoJHBhcmFtc1snc2F2ZSddKSkKCXsKCSR0aGlzLT5Eb0FjdGlvbignZWRpdHF1aXonLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7CgkvLyR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0cXVpeicsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cgl9CmVsc2UKCXsKCSR0aGlzLT5Eb0FjdGlvbignZGVmYXVsdGFkbWluJywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwoJLy8kdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKCX0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.savequiztaker.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISBpc3NldCgkcGFyYW1zWydxdWl6X2lkJ10pKQoJewoJZWNobyAkdGhpcy0+TGFuZygnc3BlY2lmeV9xdWl6Jyk7CglyZXR1cm47Cgl9CgokZXJyb3IgPSAnJzsKCiRleHRyYXMgPSAkdGhpcy0+Z2V0UG9wdWxhdGVkRXh0cmFGaWVsZHMoJGlkLCAkcGFyYW1zLCAtMSwgdHJ1ZSk7CgovLyB2YWxpZGF0ZSBpZiBjYWxsZWQgZm9yCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZV91c2VyJywgJzEnKSA9PSAnMScpCgl7CglpZiAoISBpc3NldCgkcGFyYW1zWydxenpfZW1haWwnXSkgfHwgZW1wdHkoJHBhcmFtc1sncXp6X2VtYWlsJ10pIHx8CgkJISBwcmVnX21hdGNoKCIvXihbXHdcZFwuXC1cX10pK1xAKFtcd1xkXC5cLVxfXSspXC4oXHcrKSQvaSIsCgkkcGFyYW1zWydxenpfZW1haWwnXSkpCgkJewoJCSRlcnJvciAuPSAnPGxpPicuJHRoaXMtPkxhbmcoJ2ludmFsaWRfZW1haWwnKS4nPC9saT4nOwoJCX0KCWlmICghIGlzc2V0KCRwYXJhbXNbJ3F6el9uYW1lJ10pIHx8IGVtcHR5KCRwYXJhbXNbJ3F6el9uYW1lJ10pKQoJCXsKCQkkZXJyb3IgLj0gJzxsaT4nLiR0aGlzLT5MYW5nKCdpbnZhbGlkX25hbWUnKS4nPC9saT4nOwoJCX0KCX0KZWxzZQoJewoJJHJjaGFycyA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BSUVNUVVZXWFlaMDEyMzQ1Njc4OSI7CgkkYW5vbmlkID0gJyc7Cglmb3IgKCRpPTA7JGk8NjskaSsrKQoJCXsKCQkkYW5vbmlkIC49ICRyY2hhcnNbcmFuZCgwLDYzKV07CgkJfSAKCWlmICghIGlzc2V0KCRwYXJhbXNbJ3F6el9uYW1lJ10pIHx8IGVtcHR5KCRwYXJhbXNbJ3F6el9uYW1lJ10pKQoJCXsKCQkkcGFyYW1zWydxenpfbmFtZSddID0gJ2Fub255bW91cy0nLiRhbm9uaWQ7CQoJCX0KCWlmICghIGlzc2V0KCRwYXJhbXNbJ3F6el9lbWFpbCddKSB8fCBlbXB0eSgkcGFyYW1zWydxenpfZW1haWwnXSkpCgkJewoJCSRwYXJhbXNbJ3F6el9lbWFpbCddID0gJ2Fub255bW91cy0nLiRhbm9uaWQuJ0BzYW1wbGUuY29tJzsKCQl1bnNldCgkcGFyYW1zWydxenpfc2VuZF9hX2NvcHknXSk7CgkJfQoJfQoKLy8gdmFsaWRhdGUgZXh0cmEgZmllbGRzCmZvcigkaT0wOyRpPGNvdW50KCRleHRyYXMpOyRpKyspCgl7CglpZiAoJGV4dHJhc1skaV1bJ3JlcXVpcmVkJ10pCgkJewoJCWxpc3QgKCRyZXMsJG1lc3NhZ2UpID0gJHRoaXMtPnZhbGlkYXRlRXh0cmEoJGV4dHJhc1skaV0sJHBhcmFtcyk7CgkJaWYgKCEkcmVzKQoJCQl7CgkJCSRlcnJvciAuPSAnPGxpPicuJG1lc3NhZ2UuJzwvbGk+JzsKCQkJfQoJCX0KCX0KaWYgKHN0cmxlbigkZXJyb3IpID4gMCkKCXsKCSRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10gPSAnPHVsPicuJGVycm9yLic8L3VsPic7CglyZXR1cm4gJHRoaXMtPkRvQWN0aW9uKCdkZWZhdWx0JywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwoJfQoKaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzYXZlX2J1dHRvbicsJzAnKSA9PSAnMScpCgl7CgkkcXVlcnkgPSAnU0VMRUNUIHRha2VyX2lkIGZyb20gJy4gY21zX2RiX3ByZWZpeCgpLgoJCQkJJ21vZHVsZV9xel90YWtlcnMgdCB3aGVyZSB0LmVtYWlsPT8gYW5kICcuCgkJCQkncXVpel9pZD0/IGFuZCBjb21wbGV0ZWQ9MCc7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KAogICAgICAgICAgICAgICAJJHBhcmFtc1sncXp6X2VtYWlsJ10sJHBhcmFtc1sncXVpel9pZCddKSk7CglpZiAoJGRicmVzdWx0ICE9PSBmYWxzZSAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJCXsKCQlpZiAoJHJvd1sndGFrZXJfaWQnXSAhPSAtMSkKCQkJewoJCQkkdGhpcy0+c2V0VGFrZXJJZCgkcm93Wyd0YWtlcl9pZCddLCAkcGFyYW1zWydxdWl6X2lkJ10pOwoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAncmVzdG9yZXF1aXonLCAkcmV0dXJuaWQsICRwYXJhbXMsICAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3F1aXpfaW5saW5lJywnMScpPT0nMScpKTsJCgkJLy8JJHRoaXMtPkRvQWN0aW9uKCdyZXN0b3JlcXVpeicsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsJCQkKCQkJcmV0dXJuOwoJCQl9CgkJfQoJfQoKaWYgKCEgaXNzZXQoJHBhcmFtc1sncXp6X3Rha2VyX2lkJ10pIHx8ICRwYXJhbXNbJ3F6el90YWtlcl9pZCddID09IC0xKQoJewogICAJJHRha2VyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel90YWtlcnNfc2VxJyk7CgkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy4gY21zX2RiX3ByZWZpeCgpLgoJCQkJJ21vZHVsZV9xel90YWtlcnMgKHRha2VyX2lkLCBxdWl6X2lkLCBuYW1lLCBlbWFpbCwgc2VuZF9yZXN1bHQsIGNvbXBsZXRlZCwgc3RhcnRfZGF0ZSkgVkFMVUVTICg/LD8sPyw/LD8sMCw/KSc7CgoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGFrZXJfaWQsCiAgICAgICAgICAgICAgICAgICRwYXJhbXNbJ3F1aXpfaWQnXSwKICAgICAgICAgICAgICAgCSRwYXJhbXNbJ3F6el9uYW1lJ10sCiAgICAgICAgICAgICAgIAkkcGFyYW1zWydxenpfZW1haWwnXSwKICAgICAgICAgICAgICAgCShpc3NldCgkcGFyYW1zWydxenpfc2VuZF9hX2NvcHknXSk/MTowKSwKICAgICAgICAgICAgICAgICAgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksIiciKSkpOwogICAgaWYgKCRkYnJlc3VsdCA9PT0gZmFsc2UpCiAgICAgICB7CiAgICAgICByZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRkYi0+RXJyb3JNc2coKSk7CiAgICAgICB9CiAgICAgJHBhcmFtc1sncXp6X3Rha2VyX2lkJ10gPSAkdGFrZXJfaWQ7CiAgICB9CmVsc2UKCXsKCSRxdWVyeSA9ICdVUERBVEUgJy4gY21zX2RiX3ByZWZpeCgpLgoJCQkJJ21vZHVsZV9xel90YWtlcnMgc2V0IG5hbWU9PywgZW1haWw9Pywgc2VuZF9yZXN1bHQ9PyBXSEVSRSB0YWtlcl9pZD0/JzsKCgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KAogICAgICAgICAgICAgICAJJHBhcmFtc1sncXp6X25hbWUnXSwKICAgICAgICAgICAgICAgCSRwYXJhbXNbJ3F6el9lbWFpbCddLAogICAgICAgICAgICAgICAJKGlzc2V0KCRwYXJhbXNbJ3F6el9zZW5kX2FfY29weSddKT8xOjApLAogICAgICAgICAgICAgICAJJHBhcmFtc1sncXp6X3Rha2VyX2lkJ10pKTsKICAgIGlmICgkZGJyZXN1bHQgPT09IGZhbHNlKQogICAgICAgewogICAgICAgcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkZGItPkVycm9yTXNnKCkpOwogICAgICAgfQoJfQoJCmlmIChjb3VudCgkZXh0cmFzKSA+IDApCgl7CgkkZHF1ZXJ5ID0gJ2RlbGV0ZSBmcm9tICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcXpfZXh0cmFfdmFscyBXSEVSRSB0YWtlcl9pZD0/JzsKCSRpcXVlcnkgPSAnaW5zZXJ0IGludG8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel9leHRyYV92YWxzICh0YWtlcl9pZCwgZmllbGRfaWQsIHZhbHVlKSBWQUxVRVMgKD8sPyw/KSc7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJGRxdWVyeSxhcnJheSgkcGFyYW1zWydxenpfdGFrZXJfaWQnXSkpOwogICAgaWYgKCRkYnJlc3VsdCA9PT0gZmFsc2UpCiAgICAgICB7CiAgICAgICByZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRkYi0+RXJyb3JNc2coKSk7CiAgICAgICB9Cglmb3IoJGk9MDskaTxjb3VudCgkZXh0cmFzKTskaSsrKQoJCXsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJGlxdWVyeSwKCQkJCWFycmF5KCRwYXJhbXNbJ3F6el90YWtlcl9pZCddLCRleHRyYXNbJGldWydmaWVsZF9pZCddLCRwYXJhbXNbJ3F6el9leHRyYV8nLiRleHRyYXNbJGldWydmaWVsZF9pZCddXSkpOwoJCWlmICgkZGJyZXN1bHQgPT09IGZhbHNlKQoJCSAgIHsKCQkgICByZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRkYi0+RXJyb3JNc2coKSk7CgkJICAgfQoJCX0KCX0KCQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3F1aXp6YXJkX3Rha2VyX25hbWUnLCRwYXJhbXNbJ3F6el9uYW1lJ10pOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3F1aXp6YXJkX3Rha2VyX2VtYWlsJywkcGFyYW1zWydxenpfZW1haWwnXSk7CiR0aGlzLT5zZXRUYWtlcklkKCR0YWtlcl9pZCwgJHBhcmFtc1sncXVpel9pZCddKTsKJHBhcmFtc1sncXVlc3Rpb24nXT0wOwoKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ3Rha2VxdWl6JywgJHJldHVybmlkLCAkcGFyYW1zLCAgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdxdWl6X2lubGluZScsJzEnKT09JzEnKSk7Ci8vJHRoaXMtPkRvQWN0aW9uKCd0YWtlcXVpeicsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.savetemplates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3F1aXpfdGVtcGxhdGUnXSkgJiYgISBlbXB0eSgkcGFyYW1zWydxdWl6X3RlbXBsYXRlJ10pKQoJewoJJHRoaXMtPlNldFRlbXBsYXRlKCdxdWl6X3RlbXBsYXRlJywkcGFyYW1zWydxdWl6X3RlbXBsYXRlJ10sJ1F1aXp6YXJkJyk7Cgl9CmlmIChpc3NldCgkcGFyYW1zWydzY29yZV90ZW1wbGF0ZSddKSAmJiAhIGVtcHR5KCRwYXJhbXNbJ3Njb3JlX3RlbXBsYXRlJ10pKQoJewkKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnc2NvcmVfdGVtcGxhdGUnLCRwYXJhbXNbJ3Njb3JlX3RlbXBsYXRlJ10sJ1F1aXp6YXJkJyk7Cgl9CmlmIChpc3NldCgkcGFyYW1zWydzaWdudXBfdGVtcGxhdGUnXSkgJiYgISBlbXB0eSgkcGFyYW1zWydzaWdudXBfdGVtcGxhdGUnXSkpCgl7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3NpZ251cF90ZW1wbGF0ZScsJHBhcmFtc1snc2lnbnVwX3RlbXBsYXRlJ10sJ1F1aXp6YXJkJyk7Cgl9CmlmIChpc3NldCgkcGFyYW1zWydlbWFpbF90ZW1wbGF0ZSddKSAmJiAhIGVtcHR5KCRwYXJhbXNbJ2VtYWlsX3RlbXBsYXRlJ10pKQoJewoJJHRoaXMtPlNldFRlbXBsYXRlKCdlbWFpbF90ZW1wbGF0ZScsJHBhcmFtc1snZW1haWxfdGVtcGxhdGUnXSwnUXVpenphcmQnKTsKCX0KCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdodG1sX2VtYWlsJywgaXNzZXQoJHBhcmFtc1snaHRtbF9lbWFpbCddKT8kcGFyYW1zWydodG1sX2VtYWlsJ106JycpOwoKLy8kcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ3RlbXBsYXRlc3VwZGF0ZWQnKTsKJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAndGVtcGxhdGVzdXBkYXRlZCcsICdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGUnKTsKJHRoaXMtPkRvQWN0aW9uKCdkZWZhdWx0YWRtaW4nLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7Ci8vJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.savethreshold.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKSkKCXsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJfQoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3RocmVzaG9sZF9tZXNzYWdlJywgaXNzZXQoJHBhcmFtc1sndGhyZXNob2xkX21lc3NhZ2UnXSk/JHBhcmFtc1sndGhyZXNob2xkX21lc3NhZ2UnXTonJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0aHJlc2hvbGQnLCBpc3NldCgkcGFyYW1zWyd0aHJlc2hvbGQnXSk/JHBhcmFtc1sndGhyZXNob2xkJ106JycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgndGhyZXNob2xkX3NpbmdsZV9wYWdlJywgaXNzZXQoJHBhcmFtc1sndGhyZXNob2xkX3NpbmdsZV9wYWdlJ10pPyRwYXJhbXNbJ3RocmVzaG9sZF9zaW5nbGVfcGFnZSddOicnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3F1ZXN0aW9uX3dyb25nJywgaXNzZXQoJHBhcmFtc1sncXVlc3Rpb25fd3JvbmcnXSk/JHBhcmFtc1sncXVlc3Rpb25fd3JvbmcnXTonJyk7CgokcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdwcmVmc3VwZGF0ZWQnLCAnYWN0aXZlX3RhYicgPT4gJ3RocmVzaG9sZCcpOwokdGhpcy0+RG9BY3Rpb24oJ2RlZmF1bHRhZG1pbicsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.scorequiz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISBpc3NldCgkcGFyYW1zWydxdWl6X2lkJ10pKQoJewoJZWNobyAkdGhpcy0+TGFuZygnc3BlY2lmeV9xdWl6Jyk7CglyZXR1cm47Cgl9CgokZGIgPSYgJGdDbXMtPkdldERiKCk7CiR0YWtlcl9pZCA9ICR0aGlzLT5nZXRUYWtlcklkKCRwYXJhbXNbJ3F1aXpfaWQnXSk7CgovLyR0aGlzLT5jb21wdXRlU2NvcmUoJGlkLCRwYXJhbXMsJHJldHVybmlkKTsKCiRxdWVyeSA9ICdTRUxFQ1QgKiBmcm9tICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcXpfcXVpenplcyB3aGVyZSBxdWl6X2lkPT8nOwokcXVpeiA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1sncXVpel9pZCddKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3F1aXpfbmFtZScsJHF1aXpbJ25hbWUnXSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3F1aXpfY29tcGxldGUnLCR0aGlzLT5MYW5nKCd0aXRsZV9xdWl6X2NvbXBsZXRlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3F1aXpfc3VtbWFyeScsJHRoaXMtPkxhbmcoJ3RpdGxlX3F1aXpfc3VtbWFyeScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV95b3VyX2Fuc3dlcicsJHRoaXMtPkxhbmcoJ3RpdGxlX3lvdXJfYW5zd2VyJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3NraXBwZWQnLCR0aGlzLT5MYW5nKCd0aXRsZV9za2lwcGVkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2NvcnJlY3QnLCR0aGlzLT5MYW5nKCd0aXRsZV9jb3JyZWN0JykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2NvcnJlY3RfYW5zd2VyJywkdGhpcy0+TGFuZygndGl0bGVfY29ycmVjdF9hbnN3ZXInKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3Njb3JlX3RlbXBsYXRlJywnUXVpenphcmQnKTsKCiRxdWVyeSA9ICdTRUxFQ1QgKiBmcm9tICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcXpfdGFrZXJzIHdoZXJlIHRha2VyX2lkPT8nOwokdXNlciA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkdGFrZXJfaWQpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGFrZXJfbmFtZScsJHVzZXJbJ25hbWUnXSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGFrZXJfZW1haWwnLCR1c2VyWydlbWFpbCddKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigncXVpel9kYXRlJyxkYXRlKCdyJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3F1aXpfaG9zdCcsJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10pOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3F1aXpfc291cmNlX2lwJywkX1NFUlZFUlsnUkVNT1RFX0FERFInXSk7CgokZXh0cmFzID0gJHRoaXMtPmdldFBvcHVsYXRlZEV4dHJhRmllbGRzKCRpZCwgJHBhcmFtcywgJHRha2VyX2lkLCBmYWxzZSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZXh0cmFzJywkZXh0cmFzKTsKCgovLyBzcGxpdHRpbmcgb3V0IGVtYWlsIHRvIHVzZXIgYW5kIHRvIGFkbWluLCBzbyB3ZSBjYW4gcHJlc2VudCBkaWZmZXJlbnQgaW5mbwppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NlbmRfZW1haWwnLCcwJykgPT0gJzEnIHx8ICR1c2VyWydzZW5kX3Jlc3VsdCddID09ICcxJykKCXsKCSRtYWlsID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKCWlmICgkbWFpbCA9PSBGQUxTRSkKCQl7CgkJZWNobyc8aHIgLz4nLiR0aGlzLT5MYW5nKCdtaXNzaW5nX2Ntc19tYWlsZXInKS4gJzxociAvPic7CgkJYXVkaXQoLTEsICR0aGlzLT5HZXRGcmllbmRseU5hbWUoKSwkdGhpcy0+TGFuZygnbWlzc2luZ19jbXNfbWFpbGVyJykpOwoJCXJldHVybjsKCQl9CgkkbWFpbC0+cmVzZXQoKTsKCSRtYWlsLT5TZXRGcm9tKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWFpbF9mcm9tJywkdGhpcy0+TGFuZygnZW1haWxfZnJvbScpKSk7CgkkbWFpbC0+U2V0RnJvbU5hbWUoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VtYWlsX2Zyb21uYW1lJywkdGhpcy0+TGFuZygnZW1haWxfZnJvbW5hbWUnKSkpOwoJJG1haWwtPlNldFN1YmplY3QoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VtYWlsX3N1YmplY3QnLCR0aGlzLT5MYW5nKCdlbWFpbF9zdWJqZWN0JykpKTsKCSRtYWlsLT5TZXRDaGFyU2V0KCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWFpbF9lbmNvZGluZycsJ3V0Zi04JykpOwoJCgoJaWYgKCR1c2VyWydzZW5kX3Jlc3VsdCddID09ICcxJykKCQl7CgkJJG1haWwtPkFkZEFkZHJlc3MoJHVzZXJbJ2VtYWlsJ10pOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcl9lbWFpbCcsMSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZG1pbl9lbWFpbCcsMCk7CgoJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaHRtbF9lbWFpbCcsJycpID09ICcxJykKCQkJewoJCQkkbWFpbC0+SXNIVE1MKHRydWUpOwoJCQkkbWFpbC0+U2V0QWx0Qm9keSgKCQkJc3RyaXBfdGFncygkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdlbWFpbF90ZW1wbGF0ZScsJ1F1aXp6YXJkJykpKTsKCQkJJG1haWwtPlNldEJvZHkoCgkJCSR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2VtYWlsX3RlbXBsYXRlJywnUXVpenphcmQnKSk7CgkJCX0KCQllbHNlCgkJCXsKCQkJJG1haWwtPklzSFRNTChmYWxzZSk7CgkJCSRtYWlsLT5TZXRCb2R5KAoJCQkkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdlbWFpbF90ZW1wbGF0ZScsJ1F1aXp6YXJkJykpOwoJCQl9CgoJCSRyZXMgPSAkbWFpbC0+U2VuZCgpOwoJCWlmICgkcmVzID09PSBmYWxzZSkKCQkJewoJCQllY2hvJzxociAvPicuCgkJCQkkdGhpcy0+TGFuZygnY21zX21haWxlcl9mYWlsZWQnKS4nOiAnLgoJCQkJJG1haWwtPkdldEVycm9ySW5mbygpLic8aHIgLz4nOwoJCQlhdWRpdCgtMSwKCQkJCSR0aGlzLT5HZXRGcmllbmRseU5hbWUoKSwkdGhpcy0+TGFuZygnY21zX21haWxlcl9mYWlsZWQnKSk7CgkJCXJldHVybjsKCQkJfQoJCX0KCglpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NlbmRfZW1haWwnLCcwJykgPT0gJzEnKQoJCXsKCQkkbWFpbC0+Q2xlYXJBbGxSZWNpcGllbnRzKCk7CgkJJG1haWwtPkFkZEFkZHJlc3MoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NlbmRfdG8nKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VyX2VtYWlsJywwKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkbWluX2VtYWlsJywxKTsKCgkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdodG1sX2VtYWlsJywnJykgPT0gJzEnKQoJCQl7CgkJCSRtYWlsLT5Jc0hUTUwodHJ1ZSk7CgkJCSRtYWlsLT5TZXRBbHRCb2R5KAoJCQlzdHJpcF90YWdzKCR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2VtYWlsX3RlbXBsYXRlJywnUXVpenphcmQnKSkpOwoJCQkkbWFpbC0+U2V0Qm9keSgKCQkJJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnZW1haWxfdGVtcGxhdGUnLCdRdWl6emFyZCcpKTsKCQkJfQoJCWVsc2UKCQkJewoJCQkkbWFpbC0+SXNIVE1MKGZhbHNlKTsKCQkJJG1haWwtPlNldEJvZHkoCgkJCSR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ2VtYWlsX3RlbXBsYXRlJywnUXVpenphcmQnKSk7CgkJCX0KCQkkcmVzID0gJG1haWwtPlNlbmQoKTsKCQlpZiAoJHJlcyA9PT0gZmFsc2UpCgkJCXsKCQkJZWNobyc8aHIgLz4nLgoJCQkJJHRoaXMtPkxhbmcoJ2Ntc19tYWlsZXJfZmFpbGVkJykuJzogJy4KCQkJCSRtYWlsLT5HZXRFcnJvckluZm8oKS4nPGhyIC8+JzsKCQkJYXVkaXQoLTEsCgkJCQkkdGhpcy0+R2V0RnJpZW5kbHlOYW1lKCksJHRoaXMtPkxhbmcoJ2Ntc19tYWlsZXJfZmFpbGVkJykpOwoJCQlyZXR1cm47CgkJCX0KCgkJfQoJfQoJLy8gcHJldmVudCAnZW0gZnJvbSBiYWNraW5nIHRocm91Z2ggYW5kIHJlc2V0dGluZyB0aGVpciBhbnN3ZXJzIHRvCgkvLyB0aGUgY29ycmVjdCBhbnN3ZXIhCgkkcXVlcnkgPSAnVVBEQVRFICcuIGNtc19kYl9wcmVmaXgoKS4KCQkJCSdtb2R1bGVfcXpfdGFrZXJzIHNldCBjb21wbGV0ZWQ9MSwgY29tcGxldGVkX2RhdGU9PyBXSEVSRSB0YWtlcl9pZD0/JzsKCgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCInIiksJHRha2VyX2lkKSk7CgoJJHRoaXMtPnJlc2V0VGFrZXJJZCgkcGFyYW1zWydxdWl6X2lkJ10pOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.showclientside.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokZGIgPSYgJGdDbXMtPkdldERiKCk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnc2hvd3F1aXpyZXN1bHRzJywgJHJldHVybmlkLCdwb3N0JywnJywgICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgncXVpel9pbmxpbmUnLCcxJyk9PScxJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaWQnLCRpZCk7CgppZiAoIWlzc2V0KCRwYXJhbXNbJ3F1aXpfaWQnXSkpCgl7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdxenpfc3VibWl0JywKCQkJJHRoaXMtPkxhbmcoJ2NvbnRpbnVlJykpKTsJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywkdGhpcy0+Z2V0UXVpekxpc3QoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfcXVpel9uYW1lJywkdGhpcy0+TGFuZygndGl0bGVfcXVpel9uYW1lJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCcnKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3RlcCcsJ2ZpcnN0Jyk7CgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3JlbG9hZF9xdWl6LnRwbCcpOwoJcmV0dXJuOwoJfQplbHNlaWYgKCEgaXNzZXQoJHBhcmFtc1sncXp6X3Rha2VyJ10pKQoJewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAncXp6X3N1Ym1pdCcsCgkJCSR0aGlzLT5MYW5nKCdnZXRfcmVzdWx0cycpKSk7CgkKCSRzb3J0X2J5ID0gJ3QuY29tcGxldGVkX2RhdGUgREVTQywgdC5uYW1lIEFTQyc7CglpZiAoaXNzZXQoJHBhcmFtc1snc29ydF9ieSddKSkKCQl7CgkJaWYgKCRwYXJhbXNbJ3NvcnRfYnknXT09J25hbWUnKQoJCQl7CgkJCSRzb3J0X2J5ID0gJ3QubmFtZSBBU0MsIHQuY29tcGxldGVkX2RhdGUgREVTQyc7CgkJCX0KCQllbHNlIGlmICgkcGFyYW1zWydzb3J0X2J5J109PSdlbWFpbCcpCgkJCXsKCQkJJHNvcnRfYnkgPSAndC5lbWFpbCBBU0MsIHQuY29tcGxldGVkX2RhdGUgREVTQyc7CgkJCX0KCQl9Ci8vCSRxdWVyeSA9ICdTRUxFQ1QgdC50YWtlcl9pZCwgdC5lbWFpbCwgdC5uYW1lLCB0LmNvbXBsZXRlZF9kYXRlIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuCi8vCQknbW9kdWxlX3F6X3Rha2VycyB0LCAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3F6XyB3aGVyZSB0LmNvbXBsZXRlZD0xIG9yZGVyIGJ5ICcuJHNvcnRfYnk7CgkkcXVlcnkgPSAnc2VsZWN0IHQudGFrZXJfaWQsIHQuZW1haWwsIHQubmFtZSwgdC5jb21wbGV0ZWRfZGF0ZSwgdC5jb21wbGV0ZWRfc2NvcmUgZnJvbSAnLmNtc19kYl9wcmVmaXgoKS4KCQknbW9kdWxlX3F6X3Rha2VycyB0IHdoZXJlIHQuY29tcGxldGVkPTEgIGFuZCAoc2VsZWN0IGNvdW50KCopIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuCgkJJ21vZHVsZV9xel9yZXN1bHQgciB3aGVyZSByLnRha2VyX2lkPXQudGFrZXJfaWQgYW5kIHIucXVpel9pZD0/KSA+IDAgb3JkZXIgYnkgJy4kc29ydF9ieTsKCQoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWl6X2lkJ10pKTsKCSR0YWtlcnMgPSBhcnJheSgpOwoJd2hpbGUgKCRkYnJlc3VsdCAhPT0gZmFsc2UgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCQl7CgkJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJCSRvbmVyb3ctPmlkID0gJHJvd1sndGFrZXJfaWQnXTsKCQkkb25lcm93LT5lbWFpbCA9ICRyb3dbJ2VtYWlsJ107CgkJJG9uZXJvdy0+dGFrZXJuYW1lID0gJHJvd1snbmFtZSddOwoJCSRvbmVyb3ctPnNjb3JlID0gJHJvd1snY29tcGxldGVkX3Njb3JlJ107CgkJJG9uZXJvdy0+bGlua25hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsCgkJCQkJJ3Nob3dxdWl6cmVzdWx0cycsICRyZXR1cm5pZCwKCQkJCQkkcm93WyduYW1lJ10sIGFycmF5KCdxdWl6X2lkJz0+JHBhcmFtc1sncXVpel9pZCddLAoJCQkJCSdxenpfdGFrZXInPT4kcm93Wyd0YWtlcl9pZCddKSk7CgkJJG9uZXJvdy0+dmlld2xpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsCgkJCQkJJ3Nob3dxdWl6cmVzdWx0cycsICRyZXR1cm5pZCwKCQkJCQknVmlldycsJHRoaXMtPkxhbmcoJ2Jyb3dzZV9yZXN1bHRzJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ3F1aXpfaWQnPT4kcGFyYW1zWydxdWl6X2lkJ10sCgkJCQkJJ3F6el90YWtlcic9PiRyb3dbJ3Rha2VyX2lkJ10pKTsKCQkkb25lcm93LT5jb21wbGV0ZWRfZGF0ZSA9IGRhdGUoImogTSBZLCBnYSIsJGRiLT5Vbml4VGltZVN0YW1wKCRyb3dbJ2NvbXBsZXRlZF9kYXRlJ10pKTsKCQlhcnJheV9wdXNoKCR0YWtlcnMsJG9uZXJvdyk7CgkJfQoJCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3F1aXpfaWQnLCRwYXJhbXNbJ3F1aXpfaWQnXSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzb3J0X2NvbHVtbl9uYW1lJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsCgkJCQknc2hvd3F1aXpyZXN1bHRzJywgJHJldHVybmlkLAoJCQkJJHRoaXMtPkxhbmcoJ2NvbHVtbl9uYW1lJyksIGFycmF5KCdxdWl6X2lkJz0+JHBhcmFtc1sncXVpel9pZCddLAoJCQkJJ3NvcnRfYnknPT4nbmFtZScpKSk7CQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzb3J0X2NvbHVtbl9jb21wbGV0ZWQnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwKCQkJCSdzaG93cXVpenJlc3VsdHMnLCAkcmV0dXJuaWQsCgkJCQkkdGhpcy0+TGFuZygnY29sdW1uX2NvbXBsZXRlZCcpLCBhcnJheSgncXVpel9pZCc9PiRwYXJhbXNbJ3F1aXpfaWQnXSwKCQkJCSdzb3J0X2J5Jz0+J2RhdGUnKSkpOwkKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc29ydF9jb2x1bW5fZW1haWwnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwKCQkJCSdzaG93cXVpenJlc3VsdHMnLCAkcmV0dXJuaWQsCgkJCQkkdGhpcy0+TGFuZygnY29sdW1uX2VtYWlsJyksIGFycmF5KCdxdWl6X2lkJz0+JHBhcmFtc1sncXVpel9pZCddLAoJCQkJJ3NvcnRfYnknPT4nZW1haWwnKSkpOwkKCSR0aGlzLT5zbWFydHktPmFzc2lnbignY29sdW1uX3Njb3JlJywkdGhpcy0+TGFuZygnY29sdW1uX3Njb3JlJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9xdWl6X3Rha2VyX2VtYWlsJywkdGFrZXJzKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGFrZXJfbGlzdCcsJzEnKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3RlcCcsJ3NlY29uZCcpOwoKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncmVsb2FkX3F1aXoudHBsJyk7CglyZXR1cm47Cgl9CmVsc2UKCXsKCWlmIChpc19udW1lcmljKCRwYXJhbXNbJ3F6el90YWtlciddKSkKCQl7CgkJJHRha2VyX2lkID0gJHBhcmFtc1sncXp6X3Rha2VyJ107CgkJfQoJZWxzZQoJCXsKCQkkcXVlcnkgPSAnU0VMRUNUIHRha2VyX2lkIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel90YWtlcnMgd2hlcmUgZW1haWw9Pyc7CgkJJHVzZXIgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHBhcmFtc1sncXp6X3Rha2VyJ10pKTsKCQlpZiAoJHVzZXIgPT09IGZhbHNlKQoJCQl7CgkJCSR0YWtlcl9pZCA9ICRyb3dbJ3Rha2VyX2lkJ107CgkJCX0KCQllbHNlCgkJCXsKCQkJJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdjYW50X2ZpbmRfdXNlcicpOwoJCQl1bnNldCgkcGFyYW1zWydxenpfdGFrZXInXSk7CgkJCSR0aGlzLT5Eb0FjdGlvbignc2hvd3F1aXpyZXN1bHRzJywkaWQsJHBhcmFtcywkcmV0dXJuaWQpOwoJCQl9CgkJfQoJJHBhcmFtc1sncXp6X3Rha2VyX2lkJ10gPSAkdGFrZXJfaWQ7CgoJbGlzdCgkc2NvcmUsICRxdWVzdGlvbnMpID0gJHRoaXMtPmNvbXB1dGVTY29yZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7CgkkdGhpcy0+bmVyZlF1ZXN0aW9uc0ZvckRpc3BsYXkoJHF1ZXN0aW9ucy0+cXVlc3Rpb25zKTsKCSR0aGlzLT5zZXRGb3JtU21hcnR5KCRpZCwgJHJldHVybmlkLCAkcGFyYW1zLCAkcXVlc3Rpb25zLT50aGlzX3BhZ2UsICRxdWVzdGlvbnMtPnBhZ2VfY291bnQsICRxdWVzdGlvbnMtPnF1ZXN0aW9ucyk7CgoJJHF1ZXJ5ID0gJ1NFTEVDVCBuYW1lIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel9xdWl6emVzIHdoZXJlIHF1aXpfaWQ9Pyc7CgkkcXVpeiA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWl6X2lkJ10pKTsKCQoJJHF1ZXJ5ID0gJ1NFTEVDVCAqIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel90YWtlcnMgd2hlcmUgdGFrZXJfaWQ9Pyc7CgkkdXNlciA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkdGFrZXJfaWQpKTsKCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Rha2VyX25hbWUnLCR1c2VyWyduYW1lJ10pOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWtlcl9lbWFpbCcsJHVzZXJbJ2VtYWlsJ10pOwoKCSRleHRyYXMgPSAkdGhpcy0+Z2V0UG9wdWxhdGVkRXh0cmFGaWVsZHMoJGlkLCAkcGFyYW1zLCAkdGFrZXJfaWQsIGZhbHNlKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZXh0cmFzJywkZXh0cmFzKTsKCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3F1aXpfbmFtZScsJHF1aXpbJ25hbWUnXSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Jldmlld2luZycsJzEnKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfcXVpel9jb21wbGV0ZScsJHRoaXMtPkxhbmcoJ3RpdGxlX3F1aXpfY29tcGxldGUnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3F1aXpfc3VtbWFyeScsJHRoaXMtPkxhbmcoJ3RpdGxlX3F1aXpfc3VtbWFyeScpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfeW91cl9hbnN3ZXInLCR0aGlzLT5MYW5nKCd0aXRsZV95b3VyX2Fuc3dlcicpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfc2tpcHBlZCcsJHRoaXMtPkxhbmcoJ3RpdGxlX3NraXBwZWQnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2NvcnJlY3QnLCR0aGlzLT5MYW5nKCd0aXRsZV9jb3JyZWN0JykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9jb3JyZWN0X2Fuc3dlcicsJHRoaXMtPkxhbmcoJ3RpdGxlX2NvcnJlY3RfYW5zd2VyJykpOwoKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2NvcmVfdGVtcGxhdGUnLCdRdWl6emFyZCcpOwp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.showquizresults.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FkbWluaXN0ZXIgUXVpenplcycpKQoJewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7Cgl9CgokZGIgPSYgJGdDbXMtPkdldERiKCk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnc2hvd3F1aXpyZXN1bHRzJywgJHJldHVybmlkLCdwb3N0JywnJywgICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgncXVpel9pbmxpbmUnLCcxJyk9PScxJykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaWQnLCRpZCk7CgppZiAoIWlzc2V0KCRwYXJhbXNbJ3F1aXpfaWQnXSkpCgl7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdxenpfc3VibWl0JywKCQkJJHRoaXMtPkxhbmcoJ2NvbnRpbnVlJykpKTsJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywkdGhpcy0+Z2V0UXVpekxpc3QoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfcXVpel9uYW1lJywkdGhpcy0+TGFuZygndGl0bGVfcXVpel9uYW1lJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCcnKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3RlcCcsJ2ZpcnN0Jyk7CgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3JlbG9hZF9xdWl6LnRwbCcpOwoJcmV0dXJuOwoJfQplbHNlaWYgKCEgaXNzZXQoJHBhcmFtc1sncXp6X3Rha2VyJ10pKQoJewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAncXp6X3N1Ym1pdCcsCgkJCSR0aGlzLT5MYW5nKCdnZXRfcmVzdWx0cycpKSk7CgkKCSRzb3J0X2J5ID0gJ3QuY29tcGxldGVkX2RhdGUgREVTQywgdC5uYW1lIEFTQyc7CglpZiAoaXNzZXQoJHBhcmFtc1snc29ydF9ieSddKSkKCQl7CgkJaWYgKCRwYXJhbXNbJ3NvcnRfYnknXT09J25hbWUnKQoJCQl7CgkJCSRzb3J0X2J5ID0gJ3QubmFtZSBBU0MsIHQuY29tcGxldGVkX2RhdGUgREVTQyc7CgkJCX0KCQllbHNlIGlmICgkcGFyYW1zWydzb3J0X2J5J109PSdlbWFpbCcpCgkJCXsKCQkJJHNvcnRfYnkgPSAndC5lbWFpbCBBU0MsIHQuY29tcGxldGVkX2RhdGUgREVTQyc7CgkJCX0KCQl9Ci8vCSRxdWVyeSA9ICdTRUxFQ1QgdC50YWtlcl9pZCwgdC5lbWFpbCwgdC5uYW1lLCB0LmNvbXBsZXRlZF9kYXRlIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuCi8vCQknbW9kdWxlX3F6X3Rha2VycyB0LCAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3F6XyB3aGVyZSB0LmNvbXBsZXRlZD0xIG9yZGVyIGJ5ICcuJHNvcnRfYnk7CgkkcXVlcnkgPSAnc2VsZWN0IHQudGFrZXJfaWQsIHQuZW1haWwsIHQubmFtZSwgdC5jb21wbGV0ZWRfZGF0ZSwgdC5jb21wbGV0ZWRfc2NvcmUgZnJvbSAnLmNtc19kYl9wcmVmaXgoKS4KCQknbW9kdWxlX3F6X3Rha2VycyB0IHdoZXJlIHQuY29tcGxldGVkPTEgIGFuZCAoc2VsZWN0IGNvdW50KCopIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuCgkJJ21vZHVsZV9xel9yZXN1bHQgciB3aGVyZSByLnRha2VyX2lkPXQudGFrZXJfaWQgYW5kIHIucXVpel9pZD0/KSA+IDAgb3JkZXIgYnkgJy4kc29ydF9ieTsKCQoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWl6X2lkJ10pKTsKCSR0YWtlcnMgPSBhcnJheSgpOwoJd2hpbGUgKCRkYnJlc3VsdCAhPT0gZmFsc2UgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCQl7CgkJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJCSRvbmVyb3ctPmlkID0gJHJvd1sndGFrZXJfaWQnXTsKCQkkb25lcm93LT5lbWFpbCA9ICRyb3dbJ2VtYWlsJ107CgkJJG9uZXJvdy0+dGFrZXJuYW1lID0gJHJvd1snbmFtZSddOwoJCSRvbmVyb3ctPnNjb3JlID0gJHJvd1snY29tcGxldGVkX3Njb3JlJ107CgkJJG9uZXJvdy0+bGlua25hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsCgkJCQkJJ3Nob3dxdWl6cmVzdWx0cycsICRyZXR1cm5pZCwKCQkJCQkkcm93WyduYW1lJ10sIGFycmF5KCdxdWl6X2lkJz0+JHBhcmFtc1sncXVpel9pZCddLAoJCQkJCSdxenpfdGFrZXInPT4kcm93Wyd0YWtlcl9pZCddKSk7CgkJJG9uZXJvdy0+dmlld2xpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsCgkJCQkJJ3Nob3dxdWl6cmVzdWx0cycsICRyZXR1cm5pZCwKCQkJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3ZpZXcuZ2lmJywKCQkgICAgICAgCQkJJHRoaXMtPkxhbmcoJ2Jyb3dzZV9yZXN1bHRzJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ3F1aXpfaWQnPT4kcGFyYW1zWydxdWl6X2lkJ10sCgkJCQkJJ3F6el90YWtlcic9PiRyb3dbJ3Rha2VyX2lkJ10pKTsKCQkkb25lcm93LT5jb21wbGV0ZWRfZGF0ZSA9IGRhdGUoImogTSBZLCBnYSIsJGRiLT5Vbml4VGltZVN0YW1wKCRyb3dbJ2NvbXBsZXRlZF9kYXRlJ10pKTsKCQlhcnJheV9wdXNoKCR0YWtlcnMsJG9uZXJvdyk7CgkJfQoJCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3F1aXpfaWQnLCRwYXJhbXNbJ3F1aXpfaWQnXSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzb3J0X2NvbHVtbl9uYW1lJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsCgkJCQknc2hvd3F1aXpyZXN1bHRzJywgJHJldHVybmlkLAoJCQkJJHRoaXMtPkxhbmcoJ2NvbHVtbl9uYW1lJyksIGFycmF5KCdxdWl6X2lkJz0+JHBhcmFtc1sncXVpel9pZCddLAoJCQkJJ3NvcnRfYnknPT4nbmFtZScpKSk7CQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzb3J0X2NvbHVtbl9jb21wbGV0ZWQnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwKCQkJCSdzaG93cXVpenJlc3VsdHMnLCAkcmV0dXJuaWQsCgkJCQkkdGhpcy0+TGFuZygnY29sdW1uX2NvbXBsZXRlZCcpLCBhcnJheSgncXVpel9pZCc9PiRwYXJhbXNbJ3F1aXpfaWQnXSwKCQkJCSdzb3J0X2J5Jz0+J2RhdGUnKSkpOwkKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc29ydF9jb2x1bW5fZW1haWwnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwKCQkJCSdzaG93cXVpenJlc3VsdHMnLCAkcmV0dXJuaWQsCgkJCQkkdGhpcy0+TGFuZygnY29sdW1uX2VtYWlsJyksIGFycmF5KCdxdWl6X2lkJz0+JHBhcmFtc1sncXVpel9pZCddLAoJCQkJJ3NvcnRfYnknPT4nZW1haWwnKSkpOwkKCSR0aGlzLT5zbWFydHktPmFzc2lnbignY29sdW1uX3Njb3JlJywkdGhpcy0+TGFuZygnY29sdW1uX3Njb3JlJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9xdWl6X3Rha2VyX2VtYWlsJywkdGFrZXJzKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGFrZXJfbGlzdCcsJzEnKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3RlcCcsJ3NlY29uZCcpOwoKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncmVsb2FkX3F1aXoudHBsJyk7CglyZXR1cm47Cgl9CmVsc2UKCXsKCWlmIChpc19udW1lcmljKCRwYXJhbXNbJ3F6el90YWtlciddKSkKCQl7CgkJJHRha2VyX2lkID0gJHBhcmFtc1sncXp6X3Rha2VyJ107CgkJfQoJZWxzZQoJCXsKCQkkcXVlcnkgPSAnU0VMRUNUIHRha2VyX2lkIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel90YWtlcnMgd2hlcmUgZW1haWw9Pyc7CgkJJHVzZXIgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHBhcmFtc1sncXp6X3Rha2VyJ10pKTsKCQlpZiAoJHVzZXIgPT09IGZhbHNlKQoJCQl7CgkJCSR0YWtlcl9pZCA9ICRyb3dbJ3Rha2VyX2lkJ107CgkJCX0KCQllbHNlCgkJCXsKCQkJJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdjYW50X2ZpbmRfdXNlcicpOwoJCQl1bnNldCgkcGFyYW1zWydxenpfdGFrZXInXSk7CgkJCSR0aGlzLT5Eb0FjdGlvbignc2hvd3F1aXpyZXN1bHRzJywkaWQsJHBhcmFtcywkcmV0dXJuaWQpOwoJCQl9CgkJfQoJJHBhcmFtc1sncXp6X3Rha2VyX2lkJ10gPSAkdGFrZXJfaWQ7CgoJbGlzdCgkc2NvcmUsICRxdWVzdGlvbnMpID0gJHRoaXMtPmNvbXB1dGVTY29yZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7CgkkdGhpcy0+bmVyZlF1ZXN0aW9uc0ZvckRpc3BsYXkoJHF1ZXN0aW9ucy0+cXVlc3Rpb25zKTsKCSR0aGlzLT5zZXRGb3JtU21hcnR5KCRpZCwgJHJldHVybmlkLCAkcGFyYW1zLCAkcXVlc3Rpb25zLT50aGlzX3BhZ2UsICRxdWVzdGlvbnMtPnBhZ2VfY291bnQsICRxdWVzdGlvbnMtPnF1ZXN0aW9ucyk7CgoJJHF1ZXJ5ID0gJ1NFTEVDVCBuYW1lIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel9xdWl6emVzIHdoZXJlIHF1aXpfaWQ9Pyc7CgkkcXVpeiA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWl6X2lkJ10pKTsKCQoJJHF1ZXJ5ID0gJ1NFTEVDVCAqIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel90YWtlcnMgd2hlcmUgdGFrZXJfaWQ9Pyc7CgkkdXNlciA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkdGFrZXJfaWQpKTsKCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Rha2VyX25hbWUnLCR1c2VyWyduYW1lJ10pOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWtlcl9lbWFpbCcsJHVzZXJbJ2VtYWlsJ10pOwoKCSRleHRyYXMgPSAkdGhpcy0+Z2V0UG9wdWxhdGVkRXh0cmFGaWVsZHMoJGlkLCAkcGFyYW1zLCAkdGFrZXJfaWQsIGZhbHNlKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZXh0cmFzJywkZXh0cmFzKTsKCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3F1aXpfbmFtZScsJHF1aXpbJ25hbWUnXSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Jldmlld2luZycsJzEnKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfcXVpel9jb21wbGV0ZScsJHRoaXMtPkxhbmcoJ3RpdGxlX3F1aXpfY29tcGxldGUnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3F1aXpfc3VtbWFyeScsJHRoaXMtPkxhbmcoJ3RpdGxlX3F1aXpfc3VtbWFyeScpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfeW91cl9hbnN3ZXInLCR0aGlzLT5MYW5nKCd0aXRsZV95b3VyX2Fuc3dlcicpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfc2tpcHBlZCcsJHRoaXMtPkxhbmcoJ3RpdGxlX3NraXBwZWQnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2NvcnJlY3QnLCR0aGlzLT5MYW5nKCd0aXRsZV9jb3JyZWN0JykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9jb3JyZWN0X2Fuc3dlcicsJHRoaXMtPkxhbmcoJ3RpdGxlX2NvcnJlY3RfYW5zd2VyJykpOwoKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2NvcmVfdGVtcGxhdGUnLCdRdWl6emFyZCcpOwp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.takequiz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISBpc3NldCgkcGFyYW1zWydxdWl6X2lkJ10pKQoJewoJZWNobyAkdGhpcy0+TGFuZygnc3BlY2lmeV9xdWl6Jyk7CglyZXR1cm47Cgl9CgkKLy9kZWJ1Z19kaXNwbGF5KCRwYXJhbXMpOwoKJHRoaXMtPnNhdmVRdWVzdGlvbkFuc3dlcnMoJGlkLCRwYXJhbXMsJHJldHVybmlkKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsJycpOwokd3Jvbmdvbmx5ID0gZmFsc2U7CgppZiAoaXNzZXQoJHBhcmFtc1sncXp6X2JhY2snXSkpCgl7CgkvLyBnb2luZyBiYWNrCgkkcGFyYW1zWydxenpfcGFnZSddID0gICRwYXJhbXNbJ3F6el9wcmV2X3BhZ2UnXTsKCX0KZWxzZSBpZiAoaXNzZXQoJHBhcmFtc1sncXp6X3N1Ym1pdCddKSkKCXsKCS8vIHF1aXogY291bGQgYmUgZG9uZSEKCS8vIGNoZWNrIGlmIGl0IG1lZXRzIHRoZSB0aHJlc2hvbGQKCWxpc3QoJHNjb3JlLCAkcXVlc3Rpb25zKSA9ICR0aGlzLT5jb21wdXRlU2NvcmUoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwoJaWYgKCRzY29yZSA8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aHJlc2hvbGQnLDApKQoJCXsKCQkvLyBzZW5kICdlbSBiYWNrIGZvciBtb3JlCQoJCSR3cm9uZ29ubHkgPSB0cnVlOwoJCX0KCWVsc2UKCQl7CgkJLy8gdGhleSdyZSBnb29kLgoJCSR0aGlzLT5uZXJmUXVlc3Rpb25zRm9yRGlzcGxheSgkcXVlc3Rpb25zLT5xdWVzdGlvbnMpOwoJCSR0aGlzLT5zZXRGb3JtU21hcnR5KCRpZCwgJHJldHVybmlkLCAkcGFyYW1zLCAkcXVlc3Rpb25zLT50aGlzX3BhZ2UsICRxdWVzdGlvbnMtPnBhZ2VfY291bnQsICRxdWVzdGlvbnMtPnF1ZXN0aW9ucyk7CgkJJHRoaXMtPnN0b3JlU2NvcmUoJHBhcmFtc1sncXVpel9pZCddLCRzY29yZSk7CgkJJHRoaXMtPkRvQWN0aW9uKCdzY29yZXF1aXonLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7CgkJcmV0dXJuOwoJCX0KCX0KZWxzZSBpZiAoaXNzZXQoJHBhcmFtc1sncXp6X3NhdmUnXSkpCgl7Ci8vCWRlYnVnX2Rpc3BsYXkoJHBhcmFtcyk7CgkkdGhpcy0+c2V0VGFrZXJJZCgkdGhpcy0+Z2V0VGFrZXJJZCgkcGFyYW1zWydxdWl6X2lkJ10pLAoJCSRwYXJhbXNbJ3F1aXpfaWQnXSwgZmFsc2UpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywkdGhpcy0+TGFuZygncXVpel9zYXZlZCcpKTsKCX0KZWxzZQoJewoJLy8gZ29pbmcgZm9yd2FyZAoJJHBhcmFtc1sncXp6X3BhZ2UnXSA9ICAoaXNzZXQoJHBhcmFtc1sncXp6X25leHRfcGFnZSddKT8kcGFyYW1zWydxenpfbmV4dF9wYWdlJ106MSk7Cgl9CgppZiAoJHdyb25nb25seSkKCXsKCSRwYXJhbXNbJ3F6el9yZW1lZGlhbCddID0gJHRoaXMtPmdldFRha2VySWQoJHBhcmFtc1sncXVpel9pZCddKS4kcGFyYW1zWydxdWl6X2lkJ107CglpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RocmVzaG9sZF9zaW5nbGVfcGFnZScsJzAnKT09JzEnKQoJCXsKCQkkaGFzX3RleHQgPSAkdGhpcy0+bWFrZVF1ZXN0aW9uc0Zvcm1zKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCBmYWxzZSwgJHF1ZXN0aW9ucy0+cXVlc3Rpb25zKTsJCQoJCSR0aGlzLT5maWx0ZXJGb3JXcm9uZ0Fuc3dlcnMoJHF1ZXN0aW9ucy0+cXVlc3Rpb25zKTsKCQkkdGhpcy0+c2V0Rm9ybVNtYXJ0eSgkaWQsICRyZXR1cm5pZCwgJHBhcmFtcywgJHF1ZXN0aW9ucy0+dGhpc19wYWdlLCAkcXVlc3Rpb25zLT5wYWdlX2NvdW50LCAkcXVlc3Rpb25zLT5xdWVzdGlvbnMpOwoJCX0KCWVsc2UKCQl7CgkJJHBhcmFtc1sncXp6X3BhZ2UnXSA9IDE7CgkJJGhhc190ZXh0ID0gJHRoaXMtPmdldFF1ZXN0aW9uUGFnZSgkaWQsJHBhcmFtcywkcmV0dXJuaWQsZmFsc2UpOwoJCX0KCX0KZWxzZQoJewoJJGhhc190ZXh0ID0gJHRoaXMtPmdldFF1ZXN0aW9uUGFnZSgkaWQsJHBhcmFtcywkcmV0dXJuaWQsZmFsc2UpOwoJfQoKaWYgKCRoYXNfdGV4dCAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2hvd19wYWxldHRlJywnMCcpID09ICcxJykKCXsKCWluY2x1ZGUgImFjY2VudGVkLnBocCI7CglpbmNsdWRlICJwYWxldHRlX2luY2x1ZGUucGhwIjsJCQkKCX0KCgppZiAoaXNzZXQoJHBhcmFtc1sncXp6X3JlbWVkaWFsJ10pKQoJewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGhyZXNob2xkX21lc3NhZ2UnKSk7Cgl9CgoKaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzYXZlX2J1dHRvbicsJzAnKSA9PSAnMScpCgl7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NhdmUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAncXp6X3NhdmUnLAoJCSR0aGlzLT5MYW5nKCdzYXZlX2xhdGVyJykpKTsKCX0KZWxzZQoJewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzYXZlJywgJycpOwoJfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwKCSd0YWtlcXVpeicsICRyZXR1cm5pZCwncG9zdCcsJycsICAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3F1aXpfaW5saW5lJywnMScpPT0nMScpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwppZiAoJHBhcmFtc1sncXp6X3BhZ2UnXSA+IDEgJiYgISR3cm9uZ29ubHkpCgl7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2JhY2snLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAncXp6X2JhY2snLAoJCSR0aGlzLT5MYW5nKCdiYWNrJykpKTsKCX0KZWxzZQoJewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdiYWNrJywgJycpOwkKCX0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb250aW51ZScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdxenpfY29udGludWUnLAoJJHRoaXMtPkxhbmcoJ2NvbnRpbnVlJykpKTsKaWYgKGlzc2V0KCRwYXJhbXNbJ3F6el9sYXN0cGFnZSddKSAmJiAkcGFyYW1zWydxenpfbGFzdHBhZ2UnXSA9PSAxKQoJewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAncXp6X3N1Ym1pdCcsCgkJJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CQoJfQoKCiR0aGlzLT5zbWFydHktPmFzc2lnbigncXVlc3Rpb25fd3JvbmcnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdxdWVzdGlvbl93cm9uZycpKTsKCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3F1aXpfdGVtcGxhdGUnLCdRdWl6emFyZCcpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.validatequiz.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FkbWluaXN0ZXIgUXVpenplcycpKQoJewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7Cgl9CgppZiAoISBpc3NldCgkcGFyYW1zWydxdWl6X2lkJ10pKQoJewoJZWNobyAkdGhpcy0+TGFuZygnc3BlY2lmeV9xdWl6Jyk7CglyZXR1cm47Cgl9CgovL2RlYnVnX2Rpc3BsYXkoJHBhcmFtcyk7CgokZGIgPSYgJGdDbXMtPkdldERiKCk7CgoKJHJlc2V0Q2hvaWNlcyA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuCiAgIAkJCQkibW9kdWxlX3F6X2Fuc3dlcnMgU0VUIGlzX2NvcnJlY3Q9MCBXSEVSRSBxdWVzdGlvbl9pZD0/IGFuZCBxdWl6X2lkPT8iOwokc2V0Q2hvaWNlID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4KICAgCQkJCSJtb2R1bGVfcXpfYW5zd2VycyBTRVQgaXNfY29ycmVjdD0xIFdIRVJFIGFuc3dlcl9pZD0/IjsKCiR1cGRhdGVGaWxsaW4gPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLgogICAJCQkJIm1vZHVsZV9xel9hbnN3ZXJzIFNFVCBhbnN3ZXI9PyBXSEVSRSBhbnN3ZXJfaWQ9PyI7Cgpmb3JlYWNoICgkcGFyYW1zIGFzICRrZXk9PiR2YWwpCiAgIHsKICAgaWYgKHN1YnN0cigka2V5LDAsMikgPT0gJ3FfJykKICAgCQl7CiAgIAkJJHFpZCA9IHN1YnN0cigka2V5LDIpOwogICAJCWlmIChzdHJwb3MoJHFpZCwnXycpICE9PSBmYWxzZSkKICAgCQkJewogICAJCQkkcWlkID0gc3Vic3RyKCRxaWQsMCxzdHJwb3MoJHFpZCwnXycpKTsKICAgCQkJfQogICAJCSR0eXBlUGFyYW0gPSAkcGFyYW1zWyd0XycuJHFpZF07CiAgIAkJaWYgKCR0eXBlUGFyYW0gPT0gJ2YnKQogICAJCQl7CiAgIAkJCSRpZF9wYXJ0cyA9IGV4cGxvZGUoJ18nLCRrZXkpOwogICAJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHVwZGF0ZUZpbGxpbixhcnJheSgkdmFsLCRpZF9wYXJ0c1syXSkpOwogICAJCQl9CiAgIAkJZWxzZWlmICgkdHlwZVBhcmFtID09ICdjJykKICAgCQkJewogICAJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHJlc2V0Q2hvaWNlcywKICAgCQkJCWFycmF5KCRxaWQsICRwYXJhbXNbJ3F1aXpfaWQnXSkpOwogICAJCQlmb3JlYWNoICgkdmFsIGFzICR0aGlzT25lKQogICAJCQkJewogICAJCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRzZXRDaG9pY2UsYXJyYXkoJHRoaXNPbmUpKTsKICAgCQkJCX0KICAgCQkJfQogICAJCWVsc2VpZiAoJHR5cGVQYXJhbSA9PSAnbScpCiAgIAkJCXsKICAgCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRyZXNldENob2ljZXMsCiAgIAkJCQlhcnJheSgkcWlkLCAkcGFyYW1zWydxdWl6X2lkJ10pKTsKCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRzZXRDaG9pY2UsCgkJCQlhcnJheSgkdmFsKSk7CiAgIAkJCX0KICAgCQl9CiAgIH0KJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ3ZhbGlkYXRlZCcpOwkKJHRoaXMtPkRvQWN0aW9uKCdtYW5hZ2VxdWl6JywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/include/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/include/sample.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VHJpdmlhIFF1aXoJQW4gaW5zYW5lIHRyaXZpYSBxdWl6IHRvIHVzZSBhcyBhbiBleGFtcGxlCnMJU2VjdGlvbiBPbmU6IFRyaXZpYQp0CVRoaXMgc2VjdGlvbiBpcyBmdWxsIG9mIHRyaXZpYS4KZglUaGUgbGVhZCBkZXZlbG9wZXIgb2YgQ01TIE1hZGUgU2ltcGxlIHVzZWQgdG8gdXNlIHRoZSBuaWNrbmFtZSBfLgkxCVdpc2h5Cm0JVGhlIFRoaXJkIGRpZ2l0IG9mIHBpIHBhc3QgdGhlIGRlY2ltYWwgcG9pbnQgaXM6CTEJMQkwCTMJMAk0CTAJNQkwCTkKbQlUcnVlIG9yIEZhbHNlOiBtdW1ibGV0eXBlZyBpcyBhIGdhbWUgcGxheWVkIHdpdGggYSBrbmlmZS4JMQl0cnVlCTAJZmFsc2UKYwlXaGljaCBvZiB0aGUgZm9sbG93aW5nIGFyZSBwcmltYXJ5IGNvbG9ycz8JMQlyZWQJMAlncmVlbgkwCXB1cnBsZQkxCWJsdWUJMQl5ZWxsb3cJMAlvcmFuZ2UJMAlicm93bgptCVdoaWNoIGlzIGZhcnRoZXIgTm9ydGg6CTEJTW9uZ29saWEJMAlBZmdoYW5pc3RhbgptCUhvdyBtYW55IGJpdHMgaW4gYSBieXRlPwkwCTQJMQk4CTAJMTYJMAkzMgpmCUNvbXBsZXRlIHRoZSBxdW90YXRpb246ICJfIGlzIGJ1bmsuIiAtLSBIZW5yeSBGb3JkCTEJaGlzdG9yeQpjCVdoaWNoIG9mIHRoZSBmb2xsb3dpbmcgY29udGFpbiBjb2RlIGZyb20gQmVya2VsZXkgVW5peD8JMQlMaW51eAkxCVdpbmRvd3MgWFAJMAlHYXNvbGluZQkxCU1hYyBPUyBYCTEJV2luZG93cyBWaXN0YQkxCVNvbGFyaXMKbQlDbGFyZXQgaXM6CTAJcmVkIGFsZ2FlCTEJcmVkIHdpbmUJMAlhIHNtYWxsIGJpcmQJMAltYWRlIG9mIGNhcnJvdHMKZglUaGUgTm9ybWFuIGludmFzaW9uIG9mIFNheG9ueSB0b29rIHBsYWNlIGluIHRoZSB5ZWFyIF8sIHdoaWNoIHNhdyBLaW5nIEhhcm9sZCBraWxsZWQgYnkgYW4gYXJyb3cgZHVyaW5nIHRoZSBCYXR0bGUgb2YgXy4JMQkxMDY2CTEJSGFzdGluZ3MKYgpzCVNlY3Rpb24gVHdvOiBNb3JlIFRyaXZpYQp0CVRoaXMgc2VjdGlvbiBjb250YWlucyB0cml2aWEgdGhhdCBpcyBjb21wbGV0ZWx5IGlycmVsZXZhbnQgdG8geW91ciBsaWZlLgpjCVdoaWNoIG9mIHRoZSBmb2xsb3dpbmcgYXJlIG9iamVjdC1vcmllbnRlZCBsYW5ndWFnZXM/CTEJUnVieQkxCUphdmEJMAlDT0JPTAkwCUZPUlRSQU4JMQlFaWZmZWwKbQlUaGUgbWFpbiBjaGVtaWNhbCBjb25zdGl0dWVudCBvZiBwb3JjZWxhaW4gaXM6CTEJc2lsaWNvbgkwCWxlYWQJMAlpdm9yeQkwCWNhcmJvbgkwCW1hZ25lc2l1bQptCVdoaWNoIGlzIGZ1cnRoZXIgV2VzdDoJMQlSZW5vLCBOZXZhZGEJMAlMb3MgQW5nZWxlcywgQ2FsaWZvcm5pYQptCVdoYXQncyB0d28gdG8gdGhlIHRlbnRoIHBvd2VyPwkwCTI1NgkwCTUxMgkxCTEwMjQJMAkyMDQ4CTAJNDA5NgpjCVdoaWNoIG9mIHRoZSBmb2xsb3dpbmcgbW92aWVzIHdhcyByZWxlYXNlZCBpbiAxOTYyPwkxCUxhd3JlbmNlIG9mIEFyYWJpYQkxCVJpZGUgdGhlIEhpZ2ggQ291bnRyeQkxCVRoZSBNYW5jaHVyaWFuIENhbmRpZGF0ZQkxCVRvIEtpbGwgYSBNb2NraW5nYmlyZAkxCUxvbGl0YQkxCVdoYXRldmVyIEhhcHBlbmVkIHRvIEJhYnkgSmFuZT8JMQlIb3cgdGhlIFdlc3Qgd2FzIFdvbgpmCU1peGluZyByZWQgYW5kIGdyZWVuIGxpZ2h0IHdpbGwgZ2l2ZSB5b3UgXyBsaWdodC4JMQl5ZWxsb3cKYwlXaGljaCBvZiB0aGVzZSBhcmUgSXNsYXkgU2NvdGNoZXM/CTAJSm9obm55IFdhbGtlcgkwCUN1dHR5IFNhcmsJMQlMYWdhdnVsaW4JMQlMYXBocm9haWcJMQlCb3dtb3JlCTAJR2xlbmZpZGRpY2gKdAlUaGlzIG5leHQgb25lIGlzIHRoZSBkZXZlbG9wZXIncyBiaXJ0aGRheSBhcyB3ZWxsIQpmCVRoZSBCZWF0bGVzIHJlbGVhc2VkIHRoZSBhbGJ1bSAiU2d0LiBQZXBwZXIncyBMb25lbHkgSGVhcnRzIENsdWIgQmFuZCIgb24gXyAxc3QsIDE5NjcuCTEJSnVuZQptCVRydWUgb3IgRmFsc2U6IFNjaWVuY2UgRmljdGlvbiB3cml0ZXIgUGhpbGlwIEsuIERpY2sgaGFkIGEgdHdpbiBzaXN0ZXIgbmFtZWQgSmFuZS4JMQl0cnVlCTAJZmFsc2UKYgpzCVNlY3Rpb24gVGhyZWU6IFRoZSBFbmQgb2YgVHJpdmlhCnQJVGhpcyBzZWN0aW9uIGlzIHRoZSBsYXN0IGJ1bmNoIG9mIHRyaXZpYSBpbiB0aGlzIHF1aXouCmMJV2hpY2ggb2YgdGhlIGZvbGxvd2luZyB3ZXJlIFN1bWVyaWFuIEdvZHM/CTAJTG9raQkxCUVua2kJMQlBbgkwCUJlbGxvbmEJMQlTaW4JMAlLYWxpCmYJSm9obiBGb3JkLCBmYW1lZCBtb3ZpZSBkaXJlY3RvciBhbmQgcmVjaXBpZW50IG9mIGZvdXIgIkJlc3QgRGlyZWN0b3IiIEFjYWRlbXkgQXdhcmRzIHdhcyBib3JuIHdpdGggdGhlIGxhc3QgbmFtZSBfLgkxCUZlZW5leQptCVdoaWNoIHdhcyBpbnZlbnRlZCBmaXJzdD8JMQliZWVyCTAJY2FuZGxlcwkwCWJyb256ZSB3ZWFwb25zCTAJdGhlIGFiYWN1cwkwCXRoZSBhcmNoCm0JV2hpY2ggbWV0YWwgaXMgbGVhc3QgZGVuc2U/CTEJYmVyeWxsaXVtCTAJYWx1bWludW0JMAljb2JvbHQJMAl0aW4JMAlwbHV0b25pdW0KZglKYWNrIFNwcmF0IGNvdWxkIGVhdCBubyBfLCBoaXMgd2lmZSBjb3VsZCBlYXQgbm8gXy4JMQlmYXQJMQlsZWFuCmYJVGhlIGFuaW1hbCB3aXRoIHRoZSBzY2llbnRpZmljIG5hbWUgImZlbGlzIGNhdHVzIiBpcyBjb21tb25seSBrbm93biBhcyBfLgkxCWNhdA==]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1F1aXp6YXJkJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IFlvdVwncmUgc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgdGhpcyBmaW5lIG1vZHVsZT8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWydhcmV5b3VzdXJlJ109J0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcz8nOwokbGFuZ1snYXJleW91c3VyZXF1aXonXT0nQXJlIHlvdSBzdXJlPyBEZWxldGluZyBhIHF1aXogd2lsbCBhbHNvIGRlbGV0ZSBhbGwgaXRzIHF1ZXN0aW9ucyBhbmQgYWxsIHJlc3BvbnNlcyB0byB0aGF0IHF1aXouJzsKJGxhbmdbJ2FyZXlvdXN1cmVxdWVzdGlvbiddPSdBcmUgeW91IHN1cmU/IERlbGV0aW5nIGEgcXVlc3Rpb24gd2lsbCBhbHNvIGRlbGV0ZSBhbGwgcmVzcG9uc2VzIHRvIHRoYXQgcXVlc3Rpb24uJzsKJGxhbmdbJ2RlbGV0ZSddPSdEZWxldGUnOwokbGFuZ1sncXVpemRlbGV0ZWQnXT0nUXVpeiBoYXMgYmVlbiBkZWxldGVkLic7CiRsYW5nWydxdWVzdGlvbmRlbGV0ZWQnXT0nUXVlc3Rpb24gaGFzIGJlZW4gZGVsZXRlZC4nOwokbGFuZ1sndHlwZV9tJ109J011bHRpcGxlIENob2ljZSc7CiRsYW5nWyd0eXBlX2MnXT0nQ2hvb3NlIE9uZSBvciBNb3JlJzsKJGxhbmdbJ3R5cGVfZiddPSdGaWxsIGluIHRoZSBCbGFuayhzKSc7CiRsYW5nWyd0eXBlX3QnXT0nKiBMaW5lIG9mIFRleHQnOwokbGFuZ1sndHlwZV9zJ109JyogUXVpeiBTZWN0aW9uJzsKJGxhbmdbJ3R5cGVfYiddPSctIFBhZ2UgQnJlYWsnOwokbGFuZ1sndHlwZV9wJ109J0NvbnRlbnQgUGFnZSc7CiRsYW5nWydzZWxlY3Rfb25lJ109J1NlbGVjdCBPbmUnOwokbGFuZ1sncXVlc3Rpb25fc2F2ZWQnXT0nUXVlc3Rpb24gU2F2ZWQnOwokbGFuZ1sndXBsb2FkcHJvYmxlbSddPSdVcGxvYWQgcHJvYmxlbSAtIGNhblwndCBmaW5kIHVwbG9hZGVkIGZpbGUuJzsKJGxhbmdbJ3F1aXpfaW1wb3J0ZWQnXT0nUXVpeiBoYXMgYmVlbiBpbXBvcnRlZC4nOwokbGFuZ1snc3BlY2lmeV9xdWl6J109J05vIHF1aXogd2FzIHNwZWNpZmllZCBpbiB0aGUgdGFnLiBQbGVhc2UgY2hlY2sgdGhlIGhlbHAuJzsKJGxhbmdbJ2NvbnRpbnVlJ109J0NvbnRpbnVlJzsKJGxhbmdbJ3Rha2VxdWl6J109J1Rha2UgUXVpeic7CiRsYW5nWydiYWNrJ109J0JhY2snOwokbGFuZ1snc2F2ZV9sYXRlciddPSdTYXZlIGZvciBMYXRlcic7CiRsYW5nWydzdWJtaXQnXT0nU3VibWl0IEFuc3dlcnMnOwokbGFuZ1sncGFnZXhvZnknXT0nUGFnZSAlcyBvZiAlcyc7CiRsYW5nWydwYWdlJ109J1BhZ2UnOwokbGFuZ1snZG93biddID0gJ01vdmUgbGF0ZXInOwokbGFuZ1sndXAnXSA9ICdNb3ZlIGVhcmxpZXInOwokbGFuZ1snbmEnXSA9ICduL2EnOwokbGFuZ1snYnJvd3NlX3Jlc3VsdHMnXT0nUmVzdWx0cyc7CgokbGFuZ1sncXVpenRlbXBsYXRlJ10gPSAnUXVpeiBUZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHRlbXBsYXRlJ10gPSAnRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snc2NvcmV0ZW1wbGF0ZSddID0gJ1Njb3JlIFBhZ2UgVGVtcGxhdGUnOwokbGFuZ1snZXh0cmFmaWVsZHMnXSA9ICdFeHRyYSBGaWVsZHMnOwokbGFuZ1snZW1haWxjb25maWcnXSA9ICdFbWFpbCBDb25maWcnOwokbGFuZ1sndGhyZXNob2xkJ10gPSAnU2NvcmUgVGhyZXNob2xkJzsKJGxhbmdbJ3RlbXBsYXRlc3VwZGF0ZWQnXSA9ICdUZW1wbGF0ZXMgVXBkYXRlZC4nOwokbGFuZ1snbWlzc2luZ19jbXNfbWFpbGVyJ10gPSAnRmFpbGVkIHRvIGxvYWQgQ01TTWFpbGVyISBObyBlbWFpbCBzZW50Lic7CiRsYW5nWydjbXNfbWFpbGVyX2ZhaWxlZCddID0gJ0NNU01haWxlciByZXR1cm5lZCBhbiBlcnJvciBjb25kaXRpb24uIFBsZWFzZSBoYXZlIHRoZSBhZG1pbiB2ZXJpZnkgdGhleSBjYW4gc3VjY2Vzc2Z1bGx5IHNlbmQgdGVzdCBlbWFpbHMgdmlhIHRoZSBDTVNNYWlsZXIgQWRtaW4gUGFuZWwuJzsKJGxhbmdbJ2VtYWlsX3N1YmplY3QnXSA9ICdRdWl6IFJlc3VsdHMhJzsKJGxhbmdbJ2VtYWlsX2Zyb20nXSA9ICduby1yZXBseUB3ZWJzaXRlLmNvbSc7CiRsYW5nWydlbWFpbF9mcm9tbmFtZSddID0gJ1F1aXp6YXJkIE1vZHVsZSc7CgoKJGxhbmdbJ2ludmFsaWRfZW1haWwnXT0nUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcy4nOwokbGFuZ1snaW52YWxpZF9uYW1lJ109J1BsZWFzZSBlbnRlciB5b3VyIG5hbWUuJzsKCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGlzIGEgcGxhY2VtZW50IGV4YW0gbW9kdWxlLic7CiRsYW5nWydxdWl6emVzJ10gPSAnUXVpenplcyc7CiRsYW5nWydhZGRxdWl6J10gPSAnQWRkIGEgUXVpeic7CiRsYW5nWydhZGRxdWVzdGlvbiddID0gJ0FkZCBhIFF1ZXN0aW9uJzsKJGxhbmdbJ3Jlb3JkZXJfcXVpeiddID0gJ1JlLW9yZGVyIFF1ZXN0aW9ucyc7CiRsYW5nWydyZW9yZGVyJ10gPSAnUmVvcmRlcic7CiRsYW5nWydyZW9yZGVyZWQnXSA9ICdRdWVzdGlvbnMgaGF2ZSBiZWVuIHJlb3JkZXJlZC4nOwokbGFuZ1snY29uZmlndXJhdGlvbiddID0gJ0NvbmZpZ3VyYXRpb24nOwokbGFuZ1snaW1wb3J0J10gPSAnSW1wb3J0JzsKJGxhbmdbJ25vcXVpenplcyddID0gJ05vIFF1aXp6ZXMgZGVmaW5lZCc7CiRsYW5nWydub3F1ZXN0aW9ucyddID0gJ05vIFF1ZXN0aW9ucyBkZWZpbmVkJzsKJGxhbmdbJ3NhdmUnXSA9ICdTYXZlJzsKJGxhbmdbJ2RvbmUnXSA9ICdEb25lJzsKJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG9ydCc7CiRsYW5nWydtYW5hZ2UnXSA9ICdWYWxpZGF0ZSBBbnN3ZXJzJzsKJGxhbmdbJ2JhY2tfdG9fbWFpbiddID0gJ0JhY2sgdG8gUXVpenphcmQnOwokbGFuZ1snYmFja190b19xdWl6J10gPSAnUXVpeic7CiRsYW5nWyd2YWxpZGF0ZWQnXSA9ICdBbnN3ZXJzIENvcnJlY3RlZCc7CiRsYW5nWyd2YWxpZGF0ZSddID0gJ1N1Ym1pdCBDb3JyZWN0ZWQgQW5zd2Vycyc7CiRsYW5nWydzdGF0cyddID0gJ1VzYWdlIFJlcG9ydCc7CiRsYW5nWydxdWl6X3NhdmVkJ10gPSAnUXVpeiBTYXZlZCc7CiRsYW5nWydjb2x1bW5fbmFtZSddPSdOYW1lJzsKJGxhbmdbJ2NvbHVtbl9zY29yZSddPSdTY29yZSc7CiRsYW5nWydjb2x1bW5fZGVzYyddPSdEZXNjcmlwdGlvbic7CiRsYW5nWydjb2x1bW5fY29tcGxldGVkJ109J0NvbXBsZXRlZCBEYXRlJzsKJGxhbmdbJ2NvbHVtbl9xY291bnQnXT0nIyBvZjxiciAvPlF1ZXN0aW9ucyc7CiRsYW5nWydjb2x1bW5fY29ycmVjdCddPSdDb3JyZWN0IEFuc3dlcic7CiRsYW5nWydjb2x1bW5fYW5zd2VyJ109J0Fuc3dlciBUZXh0JzsKJGxhbmdbJ2NvbHVtbl90eXBlJ109J1R5cGUnOwokbGFuZ1snY29sdW1uX3F1ZXN0aW9uJ109J1F1ZXN0aW9uJzsKJGxhbmdbJ2NvbHVtbl9lbWJlZCddPSdUYWcgdG8gRW1iZWQnOwokbGFuZ1snY29sdW1uX2VtYWlsJ109J0VtYWlsIEFkZHJlc3MnOwokbGFuZ1snY29sdW1uX2V4cG9ydCddPSdNYW5hZ2VtZW50JzsKJGxhbmdbJ3RpdGxlX3NlbmRfZW1haWwnXSA9ICdTZW5kIHJlc3VsdHMgdG8gcXVpeiBtYW5hZ2VyIHZpYSBlbWFpbCc7CiRsYW5nWyd0aXRsZV9zZW5kX3RvJ10gPSAnRW1haWwgYWRkcmVzcyB0byBzZW5kIHRvJzsKJGxhbmdbJ3RpdGxlX2RlZmF1bHRfcXVlc3Rpb25zJ10gPSAnRGVmYXVsdCBudW1iZXIgb2YgcXVlc3Rpb25zIHBlciBwYWdlIChpZiBub3QgdXNpbmcgbWFudWFsIHBhZ2luYXRpb24pJzsKJGxhbmdbJ3RpdGxlX3BhZ2luYXRlX2NvdW50J10gPSAnUGFnaW5hdGUgYnkgbnVtYmVyIG9mIHF1ZXN0aW9ucyc7CiRsYW5nWyd0aXRsZV9wYWdpbmF0aW9uX2hlbHAnXSA9ICdZb3VyIHF1aXogY2FuIGJlIHNwbGl0IGludG8gbXVsdGlwbGUgcGFnZXMuIElmIHlvdSBhZGQgcGFnZSBicmVha3Mgd2hlbiBjcmVhdGluZyB5b3VyIHF1aXosIGl0IHdpbGwgYnJlYWsgb24gdGhvc2UgYm91bmRhcmllcy4gQnV0IGlmIHlvdSAicGFnaW5hdGUgYnkgbnVtYmVyIG9mIHF1ZXN0aW9ucywiIGl0IHdpbGwgYWxzbyBjcmVhdGUgYSBwYWdlIGJyZWFrIGFmdGVyIHRoYXQgbnVtYmVyIG9mIHF1ZXN0aW9ucyAoc28gbm8gcGFnZSB3aWxsIGhhdmUgbW9yZSB0aGFuIHRoZSBudW1iZXIgeW91IHNlbGVjdGVkKS4nOwokbGFuZ1sndGl0bGVfcGFnaW5hdGVfYnJlYWsnXSA9ICdQYWdpbmF0ZSBvbmx5IGJ5IG1hbnVhbCBwYWdlIGJyZWFrcyc7CiRsYW5nWyd0aXRsZV9tYXhfYW5zd2VycyddID0gJ01heGltdW0gbnVtYmVyIG9mIGFuc3dlcnMgcGVyIHF1ZXN0aW9uJzsKJGxhbmdbJ3RpdGxlX3NhdmVfcHJlZnMnXSA9ICdTYXZlIFNldHRpbmdzJzsKJGxhbmdbJ3RpdGxlX3F1aXpfbmFtZSddID0gJ1F1aXogTmFtZSc7CiRsYW5nWyd0aXRsZV9xdWl6X2Rlc2MnXSA9ICdRdWl6IERlc2NyaXB0aW9uJzsKJGxhbmdbJ3RpdGxlX3F1ZXN0aW9uX3RleHQnXT0nUXVlc3Rpb24gVGV4dCc7CiRsYW5nWyd0aXRsZV9xdWVzdGlvbl90aXRsZSddPSdUaXRsZSc7CiRsYW5nWyd0aXRsZV9wYWdpbmF0aW9uJ109J1BhZ2luYXRlIGJ5IG51bWJlciBvZiBxdWVzdGlvbnMgb3IgcmVxdWlyZSBtYW51YWwgcGFnZSBicmVha3M/JzsKJGxhbmdbJ3RpdGxlX2Fuc3dlcl90ZXh0X2hlbHAnXT0nUGxhY2UgYW4gdW5kZXJzY29yZSAiXyIgaW4gdGhlIHF1ZXN0aW9uIGZvciBlYWNoICJmaWxsIGluIiBhbnN3ZXIuIFRoZW4gZW50ZXIgdGhlIGNvcnJlY3QgYW5zd2VyIGluIHRoZSBjb3JyZXNwb25kaW5nIHNwYWNlIGJlbG93Lic7CiRsYW5nWyd0aXRsZV9maWxsaW5fbGVuJ10gPSAnQWRhcHQgbGVuZ3RoIG9mIGJsYW5rcyBmb3IgImZpbGwgaW4iIGFuc3dlcnMnOwokbGFuZ1sndGl0bGVfZmlsbGluX2xlbl9oZWxwJ10gPSAnTWFrZSBibGFuayBsZW5ndGggYXBwcm94aW1hdGVseSB0aGUgbGVuZ3RoIG9mIHRoZSBjb3JyZWN0IGFuc3dlciAod2l0aCBzb21lIHJhbmRvbSB2YXJpYXRpb24pPyc7CiRsYW5nWyd0aXRsZV9xdWVzdGlvbl90eXBlJ109J1R5cGUgb2YgUXVlc3Rpb24nOwokbGFuZ1sndGl0bGVfYW5zd2VyX3RleHQnXT0nQW5zd2VyJzsKJGxhbmdbJ3RpdGxlX3NraXBwZWQnXT0nTm8gQW5zd2VyIEdpdmVuJzsKJGxhbmdbJ3RpdGxlX3NhdmVfaGVscCddPSdTYXZlIHlvdXIgUXVpeiwgdGhlbiB5b3UgY2FuIHN0YXJ0IGFkZGluZyBxdWVzdGlvbnMuJzsKJGxhbmdbJ3RpdGxlX2ZpbGVfdG9fdXBsb2FkJ109J0ZpbGUgdG8gaW1wb3J0JzsKJGxhbmdbJ3RpdGxlX2ZpbGVfdG9fdXBsb2FkX2hlbHAnXT0nU2VsZWN0IGEgcHJldmlvdXNseSBleHBvcnRlZCBRdWl6IGRhdGEgZmlsZS4nOwokbGFuZ1sndGl0bGVfbmFtZSddPSdZb3VyIE5hbWUnOwokbGFuZ1sndGl0bGVfZW1haWwnXT0nWW91ciBlbWFpbCBhZGRyZXNzJzsKJGxhbmdbJ3RpdGxlX3NlbmRfYV9jb3B5J109J1NlbmQgYSBjb3B5Pyc7CiRsYW5nWyd0aXRsZV9zZW5kX2FfY29weV9oZWxwJ109J0NsaWNrIGhlcmUgdG8gYmUgc2VudCBhIHNjb3JlZCBjb3B5IG9mIHlvdXIgcXVpeic7CiRsYW5nWyd0aXRsZV9pbXBvcnQnXT0nSW1wb3J0JzsKJGxhbmdbJ3RpdGxlX3F1ZXN0aW9uc19jYXNlX3NlbnNpdGl2ZSddPSdDYXNlLXNlbnNpdGl2ZSBmaWxsLWluLXRoZS1ibGFuayBhbnN3ZXJzJzsKJGxhbmdbJ3RpdGxlX3F1ZXN0aW9uc19jYXNlX3NlbnNpdGl2ZV9oZWxwJ109J0NvbnNpZGVyIHVwcGVyLWNhc2UgYW5kIGxvd2VyLWNhc2UgbGV0dGVycyB0byBiZSBkaWZmZXJlbnQgZm9yIHNjb3JpbmcgZmlsbC1pbi10aGUtYmxhbmsgcXVlc3Rpb25zLic7CiRsYW5nWyd0aXRsZV9xdWl6X3RlbXBsYXRlJ109J1RlbXBsYXRlIGZvciBRdWl6IFRha2luZyc7CiRsYW5nWyd0aXRsZV9lbWFpbF90ZW1wbGF0ZSddPSdUZW1wbGF0ZSBmb3IgRW1haWwnOwokbGFuZ1sndGl0bGVfc2NvcmVfdGVtcGxhdGUnXT0nVGVtcGxhdGUgZm9yIFNjb3JpbmcgUGFnZSc7CiRsYW5nWyd0aXRsZV9zYXZlX3RlbXBsYXRlcyddPSdTYXZlIFRlbXBsYXRlcyc7CiRsYW5nWyd0aXRsZV9xdWl6X2NvbXBsZXRlJ109J1F1aXogQ29tcGxldGUnOwokbGFuZ1sndGl0bGVfcXVpel9zdW1tYXJ5J109J1F1aXogU3VtbWFyeSc7CiRsYW5nWyd0aXRsZV9jb3JyZWN0J10gPSAnWW91IFdlcmUgQ29ycmVjdCEnOwokbGFuZ1sndGl0bGVfcXVlc3Rpb25fc2NvcmVkJ10gPSAnU2NvcmUgdGhpcyBxdWVzdGlvbj8nOwokbGFuZ1sndGl0bGVfcXVlc3Rpb25fc2NvcmVkX2hlbHAnXSA9ICdVbmNoZWNrIHRoaXMgaWYgdGhlIGFuc3dlciB0byB0aGlzIHF1ZXN0aW9uIHNob3VsZG5cJ3QgYWZmZWN0IHRoZSB1c2VyXCdzIHF1aXogc2NvcmUuJzsKJGxhbmdbJ3RpdGxlX2NvcnJlY3RfYW5zd2VyJ10gPSAnVGhlIGNvcnJlY3QgYW5zd2VyIHdhcyc7CiRsYW5nWyd0aXRsZV95b3VyX2Fuc3dlciddID0gJ1lvdXIgQW5zd2VyJzsKJGxhbmdbJ3RpdGxlX3NpZ251cF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGZvciBRdWl6LVRha2VyXCdzIERldGFpbHMnOwokbGFuZ1sndGl0bGVfZW1haWxfc3ViamVjdCddID0gJ0VtYWlsIFN1YmplY3QnOwokbGFuZ1sndGl0bGVfZW1haWxfZnJvbSddID0gJyJGcm9tIiBFbWFpbCBhZGRyZXNzIGZvciBlbWFpbCc7CiRsYW5nWyd0aXRsZV9lbWFpbF9mcm9tbmFtZSddID0gJyJGcm9tIiBuYW1lIGZvciBlbWFpbCc7CiRsYW5nWyd0aXRsZV91bnNjb3JlZCddID0gJ1RoaXMgcXVlc3Rpb24gZG9lcyBub3QgYWZmZWN0IHRoZSBxdWl6IHNjb3JlJzsKJGxhbmdbJ3RpdGxlX3Nob3dfcGFsZXR0ZSddID0gJ1Nob3cgYWNjZW50ZWQgY2hhcmFjdGVyIHBhbGV0dGU/JzsKJGxhbmdbJ3RpdGxlX3Nob3dfcGFsZXR0ZV9oZWxwJ10gPSAnQ2hlY2sgdGhpcyB0byBoYXZlIGEgcG9wLXVwIHRvIGFpZCB1c2VycyBpbiBpbnB1dGluZyBhY2NlbnRlZCBvciBleHRlbmRlZC1BU0NJSSBjaGFyYWN0ZXJzJzsKJGxhbmdbJ3RpdGxlX3BhbGV0dGVfY2hhcnMnXSA9ICdTZWxlY3QgY2hhcmFjdGVycyB0byBpbmNsdWRlJzsKJGxhbmdbJ3RpdGxlX211bHRpcGxlX2ZpbGxpbl9oZWxwJ10gPSAnQ2hlY2tpbmcgdGhpcyB3aWxsIGFsbG93IHlvdSB0byBwcm92aWRlIG11bHRpcGxlIGFjY2VwdGFibGUgYW5zd2VycyBmb3IgZWFjaCBibGFuayBmb3IgZmlsbC1pbi10aGUtYmxhbmsgcXVlc3Rpb25zIChub3QgeWV0IGltcGxlbWVudGVkKSc7CiRsYW5nWyd0aXRsZV9tdWx0aXBsZV9maWxsaW4nXSA9ICdBbGxvdyBtdWx0aXBsZSBjb3JyZWN0IGFuc3dlcnMgZm9yIGZpbGwtaW4tdGhlLWJsYW5rIHF1ZXN0aW9ucz8nOwokbGFuZ1sndGl0bGVfbXVsdGlwbGVfZmlsbF9oZWxwJ10gPSAnU2VwYXJhdGUgYWx0ZXJuYXRlIGNvcnJlY3QgYW5zd2VycyB3aXRoIHRoZSB8IHN5bWJvbDsgZS5nLiwgInRoaXN8dGhhdCIgd2hlcmUgZWl0aGVyICJ0aGlzIiBvciAidGhhdCIgd291bGQgYmUgc2NvcmVkIGFzIGNvcnJlY3QuJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9hbGwnXSA9ICdTZWxlY3QgQWxsJzsKJGxhbmdbJ3RpdGxlX3NlbGVjdF9ub25lJ10gPSAnU2VsZWN0IE5vbmUnOwokbGFuZ1sndGl0bGVfc2F2ZV9idXR0b24nXSA9ICdQcm92aWRlICJTYXZlIiBidXR0b24nOwokbGFuZ1sndGl0bGVfc2F2ZV9idXR0b25faGVscCddID0gJ0EgIlNhdmUiIGJ1dHRvbiB3aWxsIGFsbG93IGEgdXNlciB0byBzYXZlIHRoZSBxdWl6LCBhbmQgcmVzdW1lIHRha2luZyBpdCBsYXRlci4nOwokbGFuZ1sncXVpel9zYXZlZCddID0gJ1lvdXIgd29yayBoYXMgYmVlbiBzYXZlZC4nOwokbGFuZ1sndGl0bGVfcmVzdG9yZV9oZWxwJ10gPSAnWW91IGFwcGVhciB0byBoYXZlIGEgc2F2ZWQgcXVpei4gRG8geW91IHdpc2ggdG8gcmVzdW1lIHRha2luZyB0aGF0IHF1aXosIG9yIHN0YXJ0IGEgbmV3IHF1aXo/JzsKJGxhbmdbJ3RpdGxlX3Jlc3RvcmVfZGVidWcnXSA9ICdRdWl6IElEICVzIFRha2VyIElEICVzIHN0YXJ0ZWQgJXMnOwokbGFuZ1sndGl0bGVfc3RhcnRfb3ZlciddID0gJ1N0YXJ0IE5ldyBRdWl6JzsKJGxhbmdbJ3RpdGxlX3Jlc3VtZV9vbGQnXSA9ICdSZXN1bWUgUXVpeic7CiRsYW5nWyd0aXRsZV9yZXF1aXJlX3VzZXInXSA9ICdSZXF1aXJlIFVzZXInOwokbGFuZ1sndGl0bGVfcmVxdWlyZV91c2VyX2hlbHAnXSA9ICdDaGVjayB0byByZXF1aXJlIHRoZSB1c2VyIHRvIGVudGVyIGEgdmFsaWQgbmFtZSBhbmQgZW1haWwgdG8gdGFrZSB0aGUgcXVpei4nOwokbGFuZ1sndGl0bGVfcXVpel9pbmxpbmUnXSA9ICdQcmVzZXJ2ZSBDb250ZW50IGFyb3VuZCBRdWl6JzsKJGxhbmdbJ3RpdGxlX3F1aXpfaW5saW5lX2hlbHAnXSA9ICdDaGVjayB0byBrZWVwIGFueSBzdXJyb3VuZGluZyBjb250ZW50IG9uIHF1aXogcGFnZXMgKCJpbmxpbmUiKS4gVW5jaGVjayB0byBtYWtlIHRoZSBxdWl6IHJlcGxhY2UgdGhlIGNvbnRlbnQuJzsKJGxhbmdbJ3RpdGxlX2V4dHJhZmllbGRzJ10gPSAnRXh0cmEgZmllbGRzIGFyZSBhZGRlZCBvbiB0aGUgaW5pdGlhbCBxdWl6IHRha2luZyBwYWdlLic7CiRsYW5nWyd0aXRsZV9zaG93X3BhZ2VuYXYnXSA9ICdEaXNwbGF5IG5hdmlnYXRpb24gdG8gYWxsb3cgZWFzeSBwYWdlLXNraXBwaW5nPyc7CgokbGFuZ1sndmFsaWRfcmVxdWlyZWRfZmllbGQnXSA9ICdZb3UgbXVzdCBzcGVjaWZ5IGEgdmFsdWUgZm9yICIlcyInOwokbGFuZ1sndmFsaWRfcmVxdWlyZWRfY2hlY2snXSA9ICdZb3UgbXVzdCBjaGVjayB0aGUgYm94IGZvciAiJXMiJzsKJGxhbmdbJ3ZhbGlkX3JlcXVpcmVkX251bWJlciddID0gJ1lvdSBtdXN0IHNwZWNpZnkgYSBudW1lcmljIHZhbHVlIGZvciAiJXMiJzsKJGxhbmdbJ3ZhbGlkX3JlcXVpcmVkX3Bob25lJ10gPSAnWW91IG11c3Qgc3BlY2lmeSBhIHRlbGVwaG9uZSBudW1iZXIgZm9yICIlcyInOwoKJGxhbmdbJ2V4dHJhX3RleHQnXSA9ICdUZXh0IEZpZWxkJzsKJGxhbmdbJ2V4dHJhX3RleHRfciddID0gJ1RleHQgRmllbGQgLSBSZXF1aXJlZCc7CiRsYW5nWydleHRyYV9jaGVjayddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ2V4dHJhX2NoZWNrX3InXSA9ICdDaGVja2JveCAtIFJlcXVpcmVkJzsKJGxhbmdbJ2V4dHJhX251bWJlciddID0gJ051bWVyaWMgRmllbGQnOwokbGFuZ1snZXh0cmFfbnVtYmVyX3InXSA9ICdOdW1lcmljIEZpZWxkIC0gUmVxdWlyZWQnOwokbGFuZ1snZXh0cmFfcGhvbmUnXSA9ICdVLlMuIFBob25lIE51bWJlcic7CiRsYW5nWydleHRyYV9waG9uZV9yJ10gPSAnVS5TLiBQaG9uZSBOdW1iZXIgLSBSZXF1aXJlZCc7CiRsYW5nWyd0aXRsZV9maWVsZF9uYW1lJ10gPSAnRmllbGQgTmFtZSc7CiRsYW5nWyd0aXRsZV9maWVsZF90eXBlJ10gPSAnRmllbGQgVHlwZSc7CiRsYW5nWyd0aXRsZV9maWVsZF9kaXNwbGF5X2xlbiddID0gJ0Rpc3BsYXkgU2l6ZSc7CiRsYW5nWyd0aXRsZV9maWVsZF9tYXhfbGVuJ10gPSAnTWF4aW11bSBMZW5ndGgnOwokbGFuZ1sndGl0bGVfZmllbGRfZGVsJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ3RpdGxlX2ZpZWxkX3dlaWdodCddID0gJ1dlaWdodC9PcmRlcic7CgokbGFuZ1sndGl0bGVfc2NvcmVfdGhyZXNob2xkJ10gPSAnTWluaW11bSBTY29yZSB0byBGaW5pc2ggUXVpeic7CiRsYW5nWyd0aXRsZV90aHJlc2hvbGRfbWVzc2FnZSddID0gJ01lc3NhZ2UgdG8gRGlzcGxheSB3aGVuIE1pbmltdW0gU2NvcmUgbm90IG1ldCc7CiRsYW5nWyd0aHJlc2hvbGRfbWVzc2FnZSddID0gJ1lvdXIgYW5zd2VycyB0byB0aGUgZm9sbG93aW5nIHF1ZXN0aW9ucyB3ZXJlIGluY29ycmVjdC4gUGxlYXNlIHJlY29uc2lkZXIgeW91ciBhbnN3ZXJzIHRvIHRoZXNlIHF1ZXN0aW9ucywgYW5kIHRyeSBhZ2Fpbi4nOwokbGFuZ1sndGl0bGVfdGhyZXNob2xkX3NpbmdsZV9wYWdlJ10gPSAnU2hvdyBhbGwgaW5jb3JyZWN0IHF1ZXN0aW9ucyBvbiBhIHNpbmdsZSBwYWdlPyc7CiRsYW5nWyd0aXRsZV90aHJlc2hvbGRfc2luZ2xlX3BhZ2VfaGVscCddID0gJ0NoZWNrIHRoaXMgdG8gcHJlc2VudCBhbGwgaW5jb3JyZWN0IHF1ZXN0aW9ucyBvbiBhIHNpbmdsZSBwYWdlLiBVbmNoZWNrIGl0IHRvIGhhdmUgdXNlcnMgZ28gdGhyb3VnaCB0aGUgcXVpeiBhZ2Fpbiwgd2l0aCB0aGVpciBlcnJvcnMgaW5kaWNhdGVkLic7CiRsYW5nWyd0aXRsZV9xdWVzdGlvbl93cm9uZyddID0gJ0luZGljYXRvciBmb3IgaW5jb3JyZWN0IGFuc3dlcic7CiRsYW5nWydxdWVzdGlvbl93cm9uZyddID0gJyogUGxlYXNlIFJlY29uc2lkZXInOwoKJGxhbmdbJ2NoYXJhY3RlcnMnXSA9ICdDaGFyYWN0ZXIgVG9vbCc7CiRsYW5nWydjaGFyYWN0ZXJfcGFsZXR0ZSddID0gJ0FjY2VudCBQYWxldHRlJzsKCiRsYW5nWydxdWl6emFyZF9wYXJhbXNfcXVpel9pZCddID0gJ1F1aXogSUQnOwokbGFuZ1sncXVpenphcmRfcGFyYW1zX3F1ZXN0aW9uJ10gPSAnUXVlc3Rpb24vUGFnZSc7CiRsYW5nWydxdWl6emFyZF9wYXJhbXNfZ2VuZXJhbCddID0gJ0dlbmVyYWwgUXVpenphcmQgcGFyYW1zJzsKJGxhbmdbJ3RpdGxlX3F1aXpfdGFrZXJfZW1haWwnXSA9ICdRdWl6IFRha2VyXCdzIEVtYWlsIEFkZHJlc3MnOwokbGFuZ1sncXVpenphcmRfcGFyYW1zX2xpc3RfdGFrZXJzJ10gPSAnRmxhZyAtIGxpc3QgdGFrZXJzIGZvciB2aWV3aW5nIHF1aXogcmVzdWx0cyc7CiRsYW5nWydnZXRfcmVzdWx0cyddID0gJ1JldHJpZXZlIFJlc3VsdHMnOwokbGFuZ1snY2FudF9maW5kX3VzZXInXSA9ICdObyBxdWl6IHRha2VyIHdpdGggdGhhdCBlbWFpbCBhZGRyZXNzIGlzIGtub3duJzsKJGxhbmdbJ3RpdGxlX3JlbnVtYmVyX2J5X3NlY3Rpb24nXSA9ICdTdGFydCBxdWVzdGlvbiBudW1iZXJzIG92ZXIgZm9yIGVhY2ggc2VjdGlvbj8nOwokbGFuZ1sndGl0bGVfcmVudW1iZXJfYnlfc2VjdGlvbl9oZWxwJ10gPSAnU2hvdWxkIGVhY2ggbmV3IHNlY3Rpb24gc3RhcnQgd2l0aCBxdWVzdGlvbiAjMSwgb3Igc2hvdWxkIHRoZSBudW1iZXIgaW5jcmVhc2UgYWNyb3NzIHRoZSB3aG9sZSBxdWl6Pyc7CiRsYW5nWyd0aXRsZV93eXNpd3lnX3F1ZXN0aW9ucyddID0gJ1VzZSBXWVNJV1lHIGZvciBxdWVzdGlvbnM/JzsKJGxhbmdbJ3RpdGxlX2h0bWxfZW1haWwnXSA9ICdTZW5kIEhUTUwgZW1haWw/JzsKJGxhbmdbJ3RpdGxlX3NtYXJ0eV9wcm9jZXNzX3BhZ2VzJ10gPSAnUHJvY2VzcyBDb250ZW50IFBhZ2VzIHdpdGggc21hcnR5Pyc7CiRsYW5nWyd0aXRsZV9zbWFydHlfcHJvY2Vzc19wYWdlc19oZWxwJ10gPSAnQ2hlY2sgdGhpcyBpZiB5b3UgaW5jbHVkZSBzbWFydHkgdGFncyAoaW5jbHVkaW5nIG90aGVyIG1vZHVsZXMpIGluIHlvdXIgY29udGVudCBwYWdlcy4gVW5jaGVjayBpdCBvZiB5b3UgYXJlIGdldHRpbmcgdGVtcGxhdGUgZXJyb3JzLic7CgokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+PC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+CjxsaT5WZXJzaW9uIDAuOC4yLCAxNSBKdWx5IDIwMTAuIFNqRy4gUmVtb3ZlZCBNYXhDTVNWZXJzaW9uLCBzaW5jZSBpdCBzaG91bGQgc3RpbGwgd29yayB3aXRoIENNUyAxLnguPC9saT4KPGxpPlZlcnNpb24gMC44LjEgMjUgSmFuIDIwMDkuIFNqRy4gQnV4IGZpeCBmb3IgQ01TTVMgMS41Lnggc2Vzc2lvbiBzZWN1cml0eS48L2xpPgo8bGk+VmVyc2lvbiAwLjgsIDMwIFNlcCAyMDA4LiBTakcuIEFkZGVkIEFkZGl0aW9uYWwgRmllbGRzLiBBZGRlZCBTY29yZSBUaHJlc2hvbGQuIEFkZGVkIHBhZ2luYXRpb24gb3B0aW9uLjwvbGk+IAo8bGk+VmVyc2lvbiAwLjcsIDI2IE1heSAyMDA4LiBTakcuIEFkZGVkICJDb250ZW50IFBhZ2UiIHR5cGUsIHVwZGF0ZWQgZm9yIENNU01TIDEuMi41LjwvbGk+CjxsaT5WZXJzaW9uIDAuNi4zLCAxIERlYyAyMDA3LiBTakcuIEZpeCBmb3IgYW5ub3lpbmcgUEhQIDQgYnVnIHdpdGggaHRtbF9lbnRpdHlfZGVjb2RlIGFuZCBVVEYtOC48L2xpPgo8bGk+VmVyc2lvbiAwLjYuMiwgMjkgTm92IDIwMDcuIFNqRy4gQnVnIGZpeGVzLCBkb2N1bWVudGF0aW9uLjwvbGk+CjxsaT5WZXJzaW9uIDAuNi4xLCAyMCBOb3YgMjAwNy4gU2pHLiBCdWcgZml4ZXMuIFF1aXogc2lnbi11cCBjYW4gbm93IGJlIG1hZGUgb3B0aW9uYWwuPC9saT4KPGxpPlZlcnNpb24gMC42LCBTZXB0IDIwMDcuIFNqRy4gRml4ZWQgdXNlciBsb2dpbi9yZXN0b3JlLiBRdWl6IHJlc3VsdCB2aWV3aW5nIChub3QgeWV0IGRvY3VtZW50ZWQgcHJvcGVybHkpLjwvbGk+CjxsaT5WZXJzaW9uIDAuNSwgQXVnIDIwMDcuIFNqRy4gQWRkZWQgIkZvcmVpZ24iIGNoYXJhY3RlciBwYWxldHRlLjwvbGk+CjxsaT5WZXJzaW9uIDAuNCwgSnVsIDIwMDcuIFNqRy4gQnVnIGZpeGVzLCBhZGRlZCBub24tc2NvcmVkIHF1ZXN0aW9ucy48L2xpPgo8bGk+VmVyc2lvbiAwLjMsIE1heSAyMDA3LiBTakcuIEJ1ZyBmaXhlcywgYWRkZWQgbXVsdGlwbGUtYW5zd2VyIHF1ZXN0aW9ucywgY2x1bXNpbHkgbmFtZWQgIkNob29zZSBPbmUgb3IgTW9yZSIgZm9yIEluc2lwaWQuPC9saT4KPGxpPlZlcnNpb24gMC4yIFNqRy4gQWRkZWQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgaW5wdXRzIGluIGEgc2luZ2xlIGZpbGwtaW4tdGhlLWJsYW5rIHF1ZXN0aW9uLiBBZGRlZCBTZWN0aW9ucywgVGV4dCBMaW5lcywgYW5kIFBhZ2UgQnJlYWtzLjwvbGk+CjxsaT5WZXJzaW9uIDAuMS4xLCBNYXIgMjAwNy4gU2pHLiBCdWcgZml4ZXMgZm9yIGltcG9ydCwgZXRjLjwvbGk+CjxsaT5WZXJzaW9uIDAuMSwgRmViIDIwMDcgKFNqRykuIAo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlF1aXogTW9kdWxlPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+R28gaW50byB0aGUgYWRtaW4uIENyZWF0ZSBhIHF1aXouIFBsYWNlIGEgcXVpeiB0YWcgaW4gc29tZSBjb250ZW50IHBhZ2UuIERvbmUhIChtb3JlIHNwZWNpZmljIGluZm9ybWF0aW9uIGZvbGxvd3MpPC9wPgo8aDQ+UXVpenplcyBUYWI8L2g0Pgo8cD5UaGlzIGxpc3RzIHRoZSBxdWl6emVzIGRlZmluZWQgaW4geW91ciBpbnN0YWxsLiBJdCBnaXZlcyB5b3UgdGhlIGFiaWxpdHkgdG8gYWRkIG5ldyBvbmVzLCB2aWV3IHRoZSByZXN1bHRzIG9mIHF1aXp6ZXMsCmV4cG9ydCBxdWl6emVzLCB2YWxpZGF0ZSBhbGwgdGhlIGFuc3dlcnMgb24gYSBzaW5nbGUgcGFnZSwgZGVsZXRlIHF1aXp6ZXMsIGV0Yy48L3A+CjxwPlRvIHB1dCBhbiBleHRhbnQgcXVpeiBpbiBhIHBhZ2UsIHNpbXBseSBjb3B5IHRoZSB0YWcgdGhhdCBsb29rcyBsaWtlICYjMTIzO2Ntc19tb2R1bGUgbW9kdWxlPSJRdWl6emFyZCIgcXVpel9pZD0ieCImIzEyNTsKd2hlcmUgcXVpel9pZCBpcyB0YWtlbiBmcm9tIHRoZSB0YWJsZSwgYW5kIHBsYWNlIGl0IGluIHlvdXIgcGFnZS4KPGg0PlF1ZXN0aW9uIFR5cGVzPC9oND4KPHA+V2hlbiBjcmVhdGluZyBhIHF1aXosIHRoZXJlIGFyZSB0aHJlZSB0eXBlcyBvZiBxdWVzdGlvbnMsIGFuZCB0aHJlZSB0eXBlcyBvZiAiY29udHJvbCIgcXVlc3Rpb25zLjwvcD4KPHVsPgo8bGk+TXVsdGlwbGUgQ2hvaWNlLiBUaGlzIGlzIGEgcXVlc3Rpb24gZm9sbG93ZWQgYnkgYSBjb2xsZWN0aW9uIG9mIHBvc3NpYmxlIGFuc3dlcnMuIE9ubHkgb25lIGFuc3dlciBjYW4gYmUgc2VsZWN0ZWQsIGFuZCBvbmx5IG9uIGFuc3dlciBjYW4gYmUgY29ycmVjdC48L2xpPgo8bGk+Q2hvb3NlIE9uZSBvciBNb3JlLiBBd2t3YXJkbHkgbmFtZWQsIGJ1dCB0aGlzIGlzIGEgcXVlc3Rpb24gZm9sbG93ZWQgYnkgYSBjb2xsZWN0aW9uIG9mIHBvc3NpYmxlIGFuc3dlcnMuIE11bHRpcGxlIGFuc3dlcnMgbWF5IGJlIHNlbGVjdGVkIGFuZCBtdWx0aXBsZSBhbnN3ZXJzIGNhbiBiZSBjb3JyZWN0IC0tIHRvIGdldCBzY29yZWQgYXMgImNvcnJlY3QsIiB0aGUgcXVpeiB0YWtlciBtdXN0IHNlbGVjdCBhbGwgY29ycmVjdCBhbnN3ZXJzLjwvbGk+CjxsaT5GaWxsIGluIHRoZSBCbGFuayhzKS4gVGhpcyBpcyBhIHNlbnRlbmNlIHdoZXJlIG9uZSBvciBtb3JlIHdvcmRzIGFyZSBtaXNzaW5nLCBhbmQgdGhlIHVzZXIgbXVzdCB0eXBlIGluIHRoZSBjb3JyZWN0IHdvcmQocykuPC9saT4KPGxpPiogUXVpeiBTZWN0aW9uLiBUaGlzIHNwbGl0cyBhIHF1aXouIFlvdSBjYW4gY2hvb3NlIHRvIG51bWJlciBxdWVzdGlvbnMgcmVsYXRpdmUgdG8gdGhlaXIgc2VjdGlvbnMgaWYgeW91IHdhbnQgdG8gc3RydWN0dXJlIGEgYmlnIHF1aXouPC9saT4KPGxpPiogTGluZSBvZiBUZXh0LiBUaGlzIGlzIGV4cGxhbmF0b3J5IHRleHQgdGhhdCBzaG93cyBpbiB0aGUgcXVpei48L2xpPgo8bGk+LSBQYWdlIEJyZWFrLiBUaGlzIHNwbGl0cyBhIHF1aXogaW50byBtdWx0aXBsZSBwYWdlcy48L2xpPgo8L3VsPgo8aDQ+SW1wb3J0IFRhYjwvaDQ+CjxwPllvdSBjYW4gaW1wb3J0IHF1aXogWE1MIGZpbGVzIGhlcmUuIFRvIGdldCBhIFF1aXogWE1MIGZpbGUsIHlvdSBoYXZlIHRvIGhhdmUgZXhwb3J0ZWQgYSBxdWl6IGZyb20gdGhlIG1haW4gUXVpeiB0YWIuPC9wPgo8aDQ+RXh0cmEgRmllbGQgVGFiPC9oND4KPHA+T24gdGhlIGluaXRpYWwgc2lnbi11cCBwYWdlIGZvciB0aGUgcXVpeiwgbWFueSBwZW9wbGUgd2FudGVkIGZpZWxkcyBpbiBhZGRpdGlvbiB0byBuYW1lIGFuZCBlbWFpbC4gVGhpcyBwYWdlIGFsbG93cyB5b3UgdG8gYWRkIGZpZWxkLiBUaGVyZSBhcmUgZm91ciB0eXBlczogdGV4dCBmaWVsZCwgY2hlY2tib3gsIG51bWVyaWMsIGFuZCBVUyBQaG9uZSBudW1iZXIuIEVhY2ggaGFzIGEgdmFyaWFudCB3aGljaCByZXF1aXJlcyBhIHJlc3BvbnNlLiBZb3UgY2FuIHNldCB0aGUgZGlzcGxheSBzaXplIGFuZCBtYXhpbXVtIHNpemUgKHdoaWNoIG9ubHkgYWN0dWFsbHkgd29ya3Mgb24gZmllbGRzIGZvciB3aGljaCBpdCBtYWtlcyBzZW5zZSksIGFuZCBhIHdlaWdodCwgd2hpY2ggZGV0ZXJtaW5lcyB0aGUgZGlzcGxheSBvcmRlci48L3A+CjxwPlRoZXNlIGV4dHJhIGZpZWxkcyB3aWxsIHNob3cgdXAgaW4gdGhlIHJlc3VsdHMgdGhhdCBnZXQgZGlzcGxheWVkIHRvIHRoZSBhZG1pbiBhbmQvb3IgaW4gdGhlIHF1aXogcmVzdWx0cyBlbWFpbCB0aGF0IGdldHMgc2VudC48L3A+CjxoND5TY29yZSBUaHJlc2hvbGQgVGFiPC9oND4KPHA+U29tZSBzcGVjaWFsaXplZCBhcHBsaWNhdGlvbnMgcmVxdWlyZSB0aGF0IHVzZXJzIHNjb3JlIGEgY2VydGFpbiBwZXJjZW50YWdlLiBZb3UgbWF5IHNldCBhIG1pbmltdW0gc2NvcmUgZm9yIHN1Ym1pc3Npb24uIFRoaXMgbWVhbnMgdGhhdCBpZiBhIHVzZXIgaGFzIGEgc2NvcmUgbGVzcyB0aGFuIHRoZSB0aHJlc2hvbGQsIHRoZXkgd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCB0aGUgcXVlc3Rpb25zIHRoYXQgdGhleSBza2lwcGVkIG9yIHRoYXQgYXJlIGluY29ycmVjdCwgYW5kIHRoZXkgbmVlZCB0byBjb3JyZWN0IHRoZXNlIHF1ZXN0aW9ucyB1bnRpbCB0aGVpciBzY29yZSBpcyBncmVhdGVyIHRoYW4gdGhlIHRocmVzaG9sZC48L3A+CjxwPllvdSBjYW4gc2hvdyB0aGVtIGFsbCB0aGVpciBpbmNvcnJlY3QgYW5zd2VycyBvbiBhIHNpbmdsZSBwYWdlLCBzdHJpcHBlZCBvZiB0aGVpciBjb250ZXh0LCBvciB5b3UgY2FuIGhhdmUgdGhlbSBnbyB0aHJvdWdoIHRoZSBxdWl6IGFnYWluLCB3aXRoIHRoZWlyIGVycm9ycyBpbmRpY2F0ZWQuPC9wPgo8aDQ+UXVpeiBUZW1wbGF0ZSBUYWI8L2g0Pgo8cD5CeSBkZWZhdWx0LCB0aGUgUXVpeiBpcyBwcmVzZW50ZWQgdXNpbmcgYSBzdGFuZGFyZCB0ZW1wbGF0ZSB0aGF0IGZvcm1hdHMgcXVlc3Rpb25zLiBZb3UgY291bGQgc3R5bGUgaXQgc2ltcGx5IGJ5IGFsdGVyaW5nIHRoZSBDU1MgaXQgdXNlcywgb3IgeW91IGNhbiBnbyB3aWxkIGFuZCBlZGl0IHRoZSBzbWFydHkgdGVtcGxhdGUgdGhhdCBnZW5lcmF0ZXMgdGhlIHF1aXogaXRzZWxmLiBVc2UgdGhlIGV4aXN0aW5nIHRlbXBsYXRlIGFzIGFuIGV4YW1wbGUuIFRoZSBzbWFydHkgdmFyaWFibGVzIHdpbGwgYmUgZG9jdW1lbnRlZCBmdWxseSBhdCBzb21lIHBvaW50LiBTaW1pbGFybHksIHRoZSBxdWl6ICJyZWdpc3RyYXRpb24iIHBhZ2UgdGVtcGxhdGUgaXMgb24gdGhpcyB0YWIuPC9wPgo8aDQ+RW1haWwgVGVtcGxhdGUgVGFiPC9oND4KPHA+UXVpeiByZXN1bHRzIGFyZSBzZW50IHZpYSBlbWFpbC4gWW91IGNhbiBlZGl0IHRoZSB0ZW1wbGF0ZSBoZXJlLjwvcD4KPGg0PlNjb3JlIFBhZ2UgVGVtcGxhdGUgVGFiPC9oND4KPHA+U2ltaWxhciB0byB0aGUgRW1haWwgVGVtcGxhdGUsIHRoaXMgcGFnZSBzaG93cyB0aGUgdXNlciB0aGVpciBxdWl6IHJlc3VsdHMuIFlvdSBjYW4gZG8gYWxsIHNvcnRzIG9mIGNyZWF0aXZlIHN0dWZmIGhlcmUuIFRoaXMgdGVtcGxhdGUgaXMgYWN0dWFsbHkgaW50ZXJuYWxseSBkb2N1bWVudGVkLjwvcD4KPGg0PkVtYWlsIENvbmZpZyBUYWI8L2g0Pgo8cD5UaGlzIGxldHMgeW91IGN1c3RvbWl6ZSB0aGUgZW1haWwgaGVhZGVyIGRldGFpbHMgZm9yIHJlc3VsdHMgZW1haWxzLiBZb3UgY2FuIGFsc28gb3B0IGhlcmUgdG8gaGF2ZSB0aGUgcXVpeiBhZG1pbmlzdHJhdG9yIHJlY2VpdmUgYSBjb3B5IG9mIGV2ZXJ5IHF1aXogdGFrZW4sIGFuZCB0aGUgcmVzdWx0cy48L3A+CjxoND5DaGFyYWN0ZXIgVG9vbCBUYWI8L2g0Pgo8cD5TZW1pLWV4cGVyaW1lbnRhbCwgdGhpcyBpcyBmb3IgZW5hYmxpbmcgcXVpeiB0YWtlcnMgd2hvIGFyZSBsYW5ndWFnZS1jaGFsbGVuZ2VkIG9yIGhhdmUgbGFuZ3VhZ2UtY2hhbGxlbmdlZCBrZXlib2FyZHMgKGUuZy4sIFUuUy4gQW1lcmljYW5zKSBlbnRlciAiZm9yZWlnbiIgY2hhcmFjdGVycy4gV2hlbiBhY3RpdmUsIGl0IHBvcHMgdXAgYSBmbG9hdGluZyBwYWxldHRlIHRoYXQgYWxsb3dzIHRoZSBxdWl6IHRha2VyIHRvIGluc2VydCBjaGFyYWN0ZXJzIGxpa2UgJnV1bWw7IG9yICZlZ3JhdmU7IGF0IHRoZSBhY3RpdmUgY3Vyc29yIHBvaW50IGluIGEgZmllbGQuIEl0IGFsc28gZW5hYmxlcyBRdWl6IEFkbWlucyB0byBkbyB0aGUgc2FtZSB3aGVuIGNyZWF0aW5nIHF1aXp6ZXMuIEl0IGRvZXMgbm90IHdvcmsgd2l0aCBXWVNJV1lHIGVkaXRvcnMuPC9wPgo8aDQ+Q29uZmlndXJhdGlvbiBUYWI8L2g0Pgo8cD5UaGlzIGlzIHdoZXJlIHlvdSBnZXQgdG8gY2hvb3NlIGEgbG90IG9mIHNwZWNpZmljcyBhYm91dCBob3cgeW91ciBxdWl6IHdpbGwgd29yay48L3A+CjxoMz5Lbm93biBCdWdzPC9oMz4KPHA+UXVpenphcmQgaXMgc3RpbGwgaW5hZGVxdWF0ZWx5IGRvY3VtZW50ZWQuIFRoaXMgd2lsbCBiZSBmaXhlZCBldmVudHVhbGx5LjwvcD4KPGgzPlNwb25zb3JzaGlwPC9oMz4KPHA+VGhpcyBtb2R1bGVcJ3MgaW5pdGlhbCBkZXZlbG9wbWVudCB3YXMga2luZGx5IHNwb25zb3JlZCBieSBMYXVyYSBaYXlhcyBvZiA8YSBocmVmPSJodHRwOi8vd3d3LnNwYW5pc2gtNC15b3UuY29tIiB0YXJnZXQ9Il9uZXciPlNwYW5pc2gtNC1Zb3U8L2E+LCB3aXRoCmFkZGl0aW9uYWwgZ2VuZXJvdXMgc3VwcG9ydCBmcm9tIDxhIGhyZWY9Imh0dHA6Ly93d3cubWljaGVsZ29kdHMuY29tIiB0YXJnZXQ9Il9uZXciPk1pY2hlbEdvZHRzLmVEZXNpZ248L2E+LCBKw7hybiBIYXVnbGFuZCwgYW5kIERhdmlkIE1hZ2lsbC4gSSBhcHByZWNpYXRlIGFsbCB5b3VyIGhlbHAhPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgQ01TIE1hZGUgU2ltcGxlICA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5EZXZlbG9wZXIgRm9yZ2U8L2E+LjwvbGk+CjxsaT5UbyBvYnRhaW4gY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2Ugc2VuZCBhbiBlbWFpbCB0byB0aGUgYXV0aG9yIGF0IDxhIGhyZWY9Im1haWx0bzpzamdAY21zbW9kdWxlcy5jb20iPiZsdDtzamdAY21zbW9kdWxlcy5jb20mZ3Q7PC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseSBhbmQgZ3JvdmVsbGluZyBmb3IgZnJlZSBzdXBwb3J0LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0Cm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwNywgU2FtdWVsIEdvbGRzdGVpbiA8YSBocmVmPSJtYWlsdG86c2pnQGNtc21vZHVsZXMuY29tIj4mbHQ7c2pnQGNtc21vZHVsZXMuY29tJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFF1aXp6YXJkIC0gYSBwbGFjZW1lbnQgdGVzdCBtb2R1bGUKIyBWZXJzaW9uOiAwLjYuNSwgU2pHCiMgTWV0aG9kOiBJbnN0YWxsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA3IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCQkKCQkvLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UKCQkkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJCiAgICAgICAgJGZsZHMgPSAiCgkJCXF1aXpfaWQgSSBLRVksCgkJCW5hbWUgQyg4MCksCgkJCWRlc2NyaXB0aW9uIEMoODApCgkJCSI7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X3F1aXp6ZXMiLAoJCQkJJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcXVpenplc19zZXEiKTsKCiAgICAgICAgJGZsZHMgPSAiCiAgICAgICAgCXF1ZXN0aW9uX2lkIEkgS0VZLAoJCQlxdWl6X2lkIEksCgkJCW9yZGVyX2J5IEksCgkJCWlzX3Njb3JlZCBJLAoJCQlxdWVzdGlvbl90eXBlIEMoMSksCgkJCXRpdGxlIEMoODApLAoJCQlxdWVzdGlvbiBYCgkJCSI7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X3F1ZXN0aW9ucyIsCgkJCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9xdWVzdGlvbnNfc2VxIik7CgogICAgICAgICRmbGRzID0gIgogICAgICAgIAlhbnN3ZXJfaWQgSSBLRVksCgkJCXF1ZXN0aW9uX2lkIEksCgkJCXF1aXpfaWQgSSwKCQkJaXNfY29ycmVjdCBJLAoJCQlhbnN3ZXIgQygyNTUpCgkJCSI7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X2Fuc3dlcnMiLAoJCQkJJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfYW5zd2Vyc19zZXEiKTsKCiAgICAgICAgJGZsZHMgPSAiCiAgICAgICAgCXRha2VyX2lkIEkgS0VZLAogICAgICAgIAluYW1lIEMoMjU1KSwKCQkJZW1haWwgQygyNTUpLAoJCQlzZW5kX3Jlc3VsdCBJLAoJCQlxdWl6X2lkIEksCgkJCXN0YXJ0X2RhdGUgIi5DTVNfQURPREJfRFQuIiwKICAgICAgICAgY29tcGxldGVkX2RhdGUgIi5DTVNfQURPREJfRFQuIiwKCQkJY29tcGxldGVkIEksCgkJCWNvbXBsZXRlZF9zY29yZSBJCgkJCSI7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X3Rha2VycyIsCgkJCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel90YWtlcnNfc2VxIik7CgoJCSRmbGRzID0gIgoJCQlmaWVsZF9pZCBJIEtFWSwKCQkJZmllbGRfbmFtZSBYLAoJCQlmaWVsZF90eXBlIEMoODApLAoJCQlmaWVsZF9kaXNwbGF5X2xlbiBJLAoJCQlmaWVsZF9tYXhfbGVuIEksCgkJCWZpZWxkX3dlaWdodCBJCgkJCSI7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X2V4dHJhX2ZpZWxkcyIsCgkJCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9leHRyYV9maWVsZF9zZXEiKTsKCgkJJGZsZHMgPSAiCgkJCXRha2VyX2lkIEksCgkJCWZpZWxkX2lkIEksCgkJCXZhbHVlIEMoMjU1KQoJCQkiOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9leHRyYV92YWxzIiwKCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X2V4dHJhX3ZhbHNfc2VxIik7CgogICAgICAgICRmbGRzID0gIgogICAgICAgIAlyZXN1bHRfaWQgSSBLRVksCiAgICAgICAgCXRha2VyX2lkIEksCiAgICAgICAgCXF1aXpfaWQgSSwKCQkJcXVlc3Rpb25faWQgSSwKCQkJYW5zd2VyX2lkIEksCgkJCWFuc3dlciBDKDI1NSksCgkJCWlzX2NvcnJlY3QgSQoJCQkiOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9yZXN1bHQiLAoJCQkJJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcmVzdWx0X3NlcSIpOwoKCQkkZGItPkV4ZWN1dGUoJ2NyZWF0ZSBpbmRleCAnLmNtc19kYl9wcmVmaXgoKS4KCQkJJ21vZHVsZV9xel9yZXNfaWR4IG9uICcuY21zX2RiX3ByZWZpeCgpLgoJCQknbW9kdWxlX3F6X3Jlc3VsdCAodGFrZXJfaWQscXVpel9pZCxxdWVzdGlvbl9pZCxhbnN3ZXJfaWQpJyk7CgkJJGRiLT5FeGVjdXRlKCdjcmVhdGUgaW5kZXggJy5jbXNfZGJfcHJlZml4KCkuCgkJCSdtb2R1bGVfcXpfcXVlc19pZHggb24gJy5jbXNfZGJfcHJlZml4KCkuCgkJCSdtb2R1bGVfcXpfcXVlc3Rpb24gKHF1aXpfaWQpJyk7CgkJJGRiLT5FeGVjdXRlKCdjcmVhdGUgaW5kZXggJy5jbXNfZGJfcHJlZml4KCkuCgkJCSdtb2R1bGVfcXpfYW5zX2lkeCBvbiAnLmNtc19kYl9wcmVmaXgoKS4KCQkJJ21vZHVsZV9xel9hbnN3ZXJzIChxdWl6X2lkLHF1ZXN0aW9uX2lkKScpOwoKCgkJLy8gY3JlYXRlIGEgcGVybWlzc2lvbgogICAgICAgICR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnLCAnQWRtaW5pc3RlciBRdWl6emVzJyk7CgoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJzZW5kX2VtYWlsIiwidHJ1ZSIpOwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJzZW5kX3RvIiwieW91QHlvdXJkb21haW4uY29tIik7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoImRlZmF1bHRfcXVlc3Rpb25zIiwxMCk7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJjYXNlX3NlbnNpdGl2ZSIsMCk7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ21heF9hbnN3ZXJzJywgNSk7CiAgICAgICAgCgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VtYWlsX2Zyb20nLCAkdGhpcy0+TGFuZygnZW1haWxfZnJvbScpKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1haWxfZnJvbW5hbWUnLCAkdGhpcy0+TGFuZygnZW1haWxfZnJvbW5hbWUnKSk7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VtYWlsX3N1YmplY3QnLCAkdGhpcy0+TGFuZygnZW1haWxfc3ViamVjdCcpKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZmlsbGluX2xlbicsIDApOwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdpbmF0aW9uJywgJ2JyZWFrJyk7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3RocmVzaG9sZCcsMCk7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3RocmVzaG9sZF9tZXNzYWdlJywkdGhpcy0+TGFuZygndGhyZXNob2xkX21lc3NhZ2UnKSk7CgogICAgICAvLyBzZXQgZGVmYXVsdCB0ZW1wbGF0ZXMKICAgICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvc3RkcXVpei50cGwnKTsKICAgICAgJHRoaXMtPlNldFRlbXBsYXRlKCdxdWl6X3RlbXBsYXRlJywkdGVtcGxhdGUsJ1F1aXp6YXJkJyk7CiAgICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL3Njb3JlcXVpei50cGwnKTsKICAgICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzY29yZV90ZW1wbGF0ZScsJHRlbXBsYXRlLCdRdWl6emFyZCcpOwogICAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9zaWdudXAudHBsJyk7CiAgICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2lnbnVwX3RlbXBsYXRlJywkdGVtcGxhdGUsJ1F1aXp6YXJkJyk7CiAgICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL2VtYWlsLnRwbCcpOwogICAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2VtYWlsX3RlbXBsYXRlJywkdGVtcGxhdGUsJ1F1aXp6YXJkJyk7CgoJCS8vIGltcG9ydCBhIHNhbXBsZSBxdWl6CgkJJGluX2ZpbGUgPSBhcnJheV9tYXAoJ3J0cmltJyxmaWxlKGRpcm5hbWUoX19GSUxFX18pLicvaW5jbHVkZS9zYW1wbGUudHh0JykpOwoJCSR0aGlzLT5pbXBvcnRRdWl6KCRpbl9maWxlKTsKCgoJCS8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwoJCSR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywkdGhpcy0+R2V0VmVyc2lvbigpKSk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFF1aXp6YXJkIC0gYSBwbGFjZW1lbnQgdGVzdCBtb2R1bGUKIyBWZXJzaW9uOiAwLjEsIFNqRwojIE1ldGhvZDogVW5pbnN0YWxsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA3IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoKICAgIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogICAgbGluZSB3aGljaCBjaGVjayB0byBtYWtlIHN1cmUgdGhhdCBtZXRob2Qgd2FzIGNhbGxlZCBmcm9tIHRoZSBtb2R1bGUKICAgIEFQSSwgYW5kIHRoYXQgZXZlcnl0aGluZydzIHNhZmUgdG8gY29udGludWU6CiovIAppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCgovKiBBZnRlciB0aGlzLCB0aGUgY29kZSBpcyBpZGVudGljYWwgdG8gdGhlIGNvZGUgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUKICAgIHdyYXBwZWQgaW4gdGhlIFVuaW5zdGFsbCgpIG1ldGhvZCBpbiB0aGUgbW9kdWxlIGJvZHkuCiovCgoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCQkKCQkvLyByZW1vdmUgdGhlIGRhdGFiYXNlIHRhYmxlCgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcXVpenplcyIgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcXVlc3Rpb25zIiApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9hbnN3ZXJzIiApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel90YWtlcnMiICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X3Jlc3VsdCIgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfZXh0cmFfZmllbGRzIiApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9leHRyYV92YWxzIiApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgoJCS8vIHJlbW92ZSB0aGUgc2VxdWVuY2UKCQkkZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcXVpenplc19zZXEiICk7CgkJJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X3F1ZXN0aW9uc19zZXEiICk7CgkJJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X2Fuc3dlcnNfc2VxIiApOwoJCSRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel90YWtlcnNfc2VxIiApOwoJCSRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9yZXN1bHRfc2VxIiApOwoJCSRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9leHRyYV9maWVsZF9zZXEiICk7CgkJJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X2V4dHJhX3ZhbHNfc2VxIiApOwoKCQkvLyByZW1vdmUgdGhlIHBlcm1pc3Npb25zCgkJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0FkbWluaXN0ZXIgUXVpenplcycpOwoKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgic2VuZF9tYWlsIik7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoInNlbmRfdG8iKTsKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgiZW1haWxfZnJvbSIpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCJlbWFpbF9mcm9tbmFtZSIpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCJlbWFpbF9zdWJqZWN0Iik7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoImRlZmF1bHRfcXVlc3Rpb25zIik7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoImNhc2Vfc2Vuc2l0aXZlIik7CiAgICAgIAkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgiZmlsbGluX2xlbiIpOwogICAgICAJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoInBhZ2luYXRpb24iKTsKICAgICAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgic2hvd19jaGFyX2xpc3QiKTsKICAgICAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgic2hvd19wYWxldHRlIik7CiAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoIm11bHRpcGxlX2ZpbGxpbiIpOwogICAgICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCJzYXZlX2J1dHRvbiIpOwogICAgICAgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCJyZW51bWJlcl9ieV9zZWN0aW9uIik7CiAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoInd5c2l3eWdfcXVlc3Rpb25zIik7CiAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoImh0bWxfZW1haWwiKTsKICAgICAgICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgicmVxdWlyZV91c2VyIik7CiAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoInF1aXpfaW5saW5lIik7CiAgICAgICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoInNtYXJ0eV9wYWdlcyIpOwogCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgndGhyZXNob2xkJyk7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3RocmVzaG9sZF9tZXNzYWdlJyk7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3RocmVzaG9sZF9zaW5nbGVfcGFnZScpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdxdWVzdGlvbl93cm9uZycpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdzaG93X3BhZ2VuYXYnKTsKCgkJLy8gZHJvcCB0aGUgdGVtcGxhdGVzCgkJJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCdxdWl6X3RlbXBsYXRlJywgJ1F1aXp6YXJkJyk7CgkJJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCdzY29yZV90ZW1wbGF0ZScsICdRdWl6emFyZCcpOwoJCSR0aGlzLT5EZWxldGVUZW1wbGF0ZSgnc2lnbnVwX3RlbXBsYXRlJywgJ1F1aXp6YXJkJyk7CgkJJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCdlbWFpbF90ZW1wbGF0ZScsICdRdWl6emFyZCcpOwoKICAgICAgICAvLyBkZWxldGUgYWRtaW4ncyBxdWl6IGNvb2tpZSAtLSBoZWxwcyBkZWJ1ZyB3aGlsZSBkZXZlbG9waW5nIDopCiAgICAgICAgc2V0Y29va2llICgicXVpenphcmRfdGlkIiwgIiIsIHRpbWUoKSAtIDM2MDApOwoJCQoJCS8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwoJCSR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndW5pbnN0YWxsZWQnKSk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFF1aXp6YXJkIC0gYSBwbGFjZW1lbnQgdGVzdCBtb2R1bGUKIyBWZXJzaW9uOiAwLjEsIFNqRwojIE1ldGhvZDogVXBncmFkZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNyBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCQkkZGIgPSYgJGdDbXMtPkdldERiKCk7CgkJCgkJLy8gbXlzcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCgkJJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKCQkkY3VycmVudF92ZXJzaW9uID0gJG9sZHZlcnNpb247CgkJc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pCgkJewoJCQljYXNlICIwLjIiOgoJCQljYXNlICIwLjMiOgogICAJCQkJICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcXVlc3Rpb25zIiwKICAgCQkJCSAJImlzX3Njb3JlZCBJIik7CiAgICAJCQkgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCQkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4KCQknbW9kdWxlX3F6X3F1ZXN0aW9ucyBzZXQgaXNfc2NvcmVkPTEgd2hlcmUgcXVlc3Rpb25fdHlwZSBpbiAoXCdjXCcsXCdtXCcsXCdmXCcpJzsKCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJCQkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4KCQknbW9kdWxlX3F6X3F1ZXN0aW9ucyBzZXQgaXNfc2NvcmVkPTAgd2hlcmUgcXVlc3Rpb25fdHlwZSBub3QgaW4gKFwnY1wnLFwnbVwnLFwnZlwnKSc7CgkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkJY2FzZSAiMC40IjoKCQkJY2FzZSAiMC41IjoKCQkJY2FzZSAiMC42IjoKICAgCQkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel90YWtlcnMiLAogICAJCQkJIAkiY29tcGxldGVkIEkiKTsKICAgIAkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkJICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel90YWtlcnMiLAogICAJCQkJIAkic3RhcnRfZGF0ZSAiLkNNU19BRE9EQl9EVCk7CiAgICAJCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAgICAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfdGFrZXJzIiwKICAgCQkJCSAJImNvbXBsZXRlZF9kYXRlICIuQ01TX0FET0RCX0RUKTsKICAgIAkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkJY2FzZSAiMC42LjEiOgoJCQljYXNlICIwLjYuMiI6CgkJCWNhc2UgIjAuNi4zIjoKCQkJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcXVlc3Rpb25zIiwKICAgCQkJCSAJInRpdGxlIEMoODApIik7CiAgICAJCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCWNhc2UgIjAuNi40IjoKCQkJCSRmbGRzID0gIgoJCQkJCWZpZWxkX2lkIEkgS0VZLAoJCQkJCWZpZWxkX25hbWUgWCwKCQkJCQlmaWVsZF90eXBlIEMoODApLAoJCQkJCWZpZWxkX2Rpc3BsYXlfbGVuIEksCgkJCQkJZmllbGRfbWF4X2xlbiBJLAoJCQkJCWZpZWxkX3dlaWdodCBJCgkJCQkJIjsKCQkJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9leHRyYV9maWVsZHMiLAoJCQkJCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkJCSRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfZXh0cmFfZmllbGRfc2VxIik7CgoJCQkJJGZsZHMgPSAiCgkJCQkJdGFrZXJfaWQgSSwKCQkJCQlmaWVsZF9pZCBJLAoJCQkJCXZhbHVlIEMoMjU1KQoJCQkJCSI7CgkJCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfZXh0cmFfdmFscyIsCgkJCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCQkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCQkJJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9leHRyYV92YWxzX3NlcSIpOwoJCQljYXNlICIwLjYuNSI6CgkJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndGhyZXNob2xkJywwKTsKCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0aHJlc2hvbGRfbWVzc2FnZScsJHRoaXMtPkxhbmcoJ3RocmVzaG9sZF9tZXNzYWdlJykpOwoJCQljYXNlICIwLjciOgoJCQkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel90YWtlcnMiLAoJCQkJIAkiY29tcGxldGVkX3Njb3JlIEkiKTsKCQkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgICAgICAgY2FzZSAiMC44IjoKCQkJICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel90YWtlcnMiLAoJCQkJIAkicXVpel9pZCBJIik7CgkJCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCSAgICRkYi0+RXhlY3V0ZSgnY3JlYXRlIGluZGV4ICcuY21zX2RiX3ByZWZpeCgpLgoJCQkJICAnbW9kdWxlX3F6X3Jlc19pZHggb24gJy5jbXNfZGJfcHJlZml4KCkuCgkJCQkgICdtb2R1bGVfcXpfcmVzdWx0ICh0YWtlcl9pZCxxdWl6X2lkLHF1ZXN0aW9uX2lkLGFuc3dlcl9pZCknKTsKCQkJICAgJGRiLT5FeGVjdXRlKCdjcmVhdGUgaW5kZXggJy5jbXNfZGJfcHJlZml4KCkuCgkJCQkgICdtb2R1bGVfcXpfcXVlc19pZHggb24gJy5jbXNfZGJfcHJlZml4KCkuCgkJCQkgICdtb2R1bGVfcXpfcXVlc3Rpb24gKHF1aXpfaWQpJyk7CgkJCSAgICRkYi0+RXhlY3V0ZSgnY3JlYXRlIGluZGV4ICcuY21zX2RiX3ByZWZpeCgpLgoJCQkJICAnbW9kdWxlX3F6X2Fuc19pZHggb24gJy5jbXNfZGJfcHJlZml4KCkuCgkJCQkgICdtb2R1bGVfcXpfYW5zd2VycyAocXVpel9pZCxxdWVzdGlvbl9pZCknKTsKCQljYXNlICIwLjguMSI6CgoKCQl9CgkJCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1cGdyYWRlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/palette_include.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0eWxlPgojY2hhcmFjdGVycGFsZXR0ZSB7Cglwb3NpdGlvbjogZml4ZWQ7Cgl0b3A6IDE1cHg7CglyaWdodDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKCWJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOwoJd2lkdGg6IDIwMHB4Owp9CiNjaGFyYWN0ZXJwYWxldHRlIHRhYmxlIHsKCXdpZHRoOiA4MCU7CglwYWRkaW5nOiAwIDVweCAwIDVweDsKfQojY2hhcmFjdGVycGFsZXR0ZSB0YWJsZSB0ZCB7CiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHdpZHRoOiAxZW07CiAgICBwYWRkaW5nOiAycHg7Cn0KI2NoYXJhY3RlcnBhbGV0dGUgdGQgYSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7CiAgICB3aWR0aDogMTAwJTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQojY2hhcmFjdGVycGFsZXR0ZSB0ZCBhOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmY7Cn0KCiNwYWxldHRlbGluayB7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglyaWdodDogNXB4OwoJdG9wOiAycHg7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7CglwYWRkaW5nOiAwOwp9CiNwYWxldHRlaGFuZGxlIHsKCXBhZGRpbmc6IDAgMTBweCAwIDA7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CgliYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOwogICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKICAgIGN1cnNvciA6IG1vdmU7Cn0KPC9zdHlsZT4KPGRpdiBpZD0iY2hhcmFjdGVycGFsZXR0ZSI+CjxoMyBpZD0icGFsZXR0ZWhhbmRsZSI+PD9waHAKZWNobyAkdGhpcy0+TGFuZygnY2hhcmFjdGVyX3BhbGV0dGUnKTsKPz48L2gzPjxhIGlkPSJwYWxldHRlbGluayIgaHJlZj0iamF2YXNjcmlwdDpwYWxldHRlKCkiPl48L2E+CjxkaXYgaWQ9ImNoYXJhY3RlcnMiIHN0eWxlPSJkaXNwbGF5OiBibG9jayI+PHRhYmxlPgo8P3BocAokY291bnRlciA9IDA7CiRzaG93X2NoYXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2hvd19jaGFyX2xpc3QnLAonMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEnKTsKZm9yICgkaT0wOyRpPGNvdW50KCRhY2NlbnRlZCk7JGkrKykKICAgIHsKICAgIGlmICgkc2hvd19jaGFyWyRpXSA9PSAnMScpCiAgICAgICAgewogICAgICAgIGlmICgkY291bnRlciAlIDUgPT0gMCkKICAgICAgICAgICAgewogICAgICAgICAgICBlY2hvICI8dHI+IjsKICAgICAgICAgICAgfQogICAgICAgIGVjaG8gJzx0ZD48YSBocmVmPSJqYXZhc2NyaXB0Omluc2VydEF0Q2FyZXQoXCcnLiRhY2NlbnRlZFskaV0uJ1wnKSI+ICc7CiAgICAgICAgZWNobyAkYWNjZW50ZWRbJGldLicgPC9hPjwvdGQ+JzsKICAgICAgICAkY291bnRlcisrOwogICAgICAgIGlmICgkY291bnRlciA9PSA1KQogICAgICAgICAgICB7CiAgICAgICAgICAgICRjb3VudGVyID0gMDsKICAgICAgICAgICAgZWNobyAnPC90cj4nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIH0KaWYgKCRjb3VudGVyICE9IDApCiAgICB7CiAgICB3aGlsZSAoJGNvdW50ZXIgPCA1KQogICAgICAgIHsKICAgICAgICBlY2hvICc8dGQ+PC90ZD4nOwogICAgICAgICRjb3VudGVyKys7CiAgICAgICAgfQogICAgZWNobyAnPC90cj4nOwogICAgfQo/Pgo8L3RhYmxlPgo8L2Rpdj4KPC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCnZhciBmb2N1c2VkRm9ybUNvbnRyb2wgPSAnJzsKdmFyIGRyYWdvayA9IGZhbHNlOwp2YXIgeSx4LGR5LGR4Owp2YXIgcGFsLCBwYWxoYW5kOwoKCmlmIChkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSkgb25sb2FkID0gZnVuY3Rpb24gKCkKCXsKCXZhciBlLCBpID0gMDsKCXdoaWxlIChlID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgKCdJTlBVVCcpW2krK10pCgkJewoJCWlmIChlLnR5cGUgPT0gJ3RleHQnKSBlLm9uZm9jdXMgPSBmdW5jdGlvbiAoKQoJCQl7CgkJCWZvY3VzZWRGb3JtQ29udHJvbCA9IHRoaXM7CgkJCX0KCQlpZiAoZS50eXBlID09ICd0ZXh0JyAmJiBkb2N1bWVudC5hbGwpIGUub25jbGljayA9IGZ1bmN0aW9uKCkge3NldENhcmV0KHRoaXMpO30KCQlpZiAoZS50eXBlID09ICd0ZXh0JyAmJiBkb2N1bWVudC5hbGwpIGUub25rZXl1cCA9IGZ1bmN0aW9uKCkge3NldENhcmV0KHRoaXMpO30KCQl9Cgl9CgpmdW5jdGlvbiBwYWxldHRlKCkKCXsKCXZhciBwYWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hhcmFjdGVycycpOwoJdmFyIGxuayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWxldHRlbGluaycpOwoJaWYgKHBhbCAmJiBwYWwgIT0gbnVsbCkKCQl7CgkJaWYgKHBhbC5zdHlsZS5kaXNwbGF5ID09IG51bGwgfHwgcGFsLnN0eWxlLmRpc3BsYXkgPT0gJ2Jsb2NrJykKCQkJewoJCQlwYWwuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCQkJbG5rLmlubmVySFRNTCA9ICdWJzsKCQkJfQoJCWVsc2UKCQkJewoJCQlwYWwuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CgkJCWxuay5pbm5lckhUTUwgPSAnXic7CgkJCX0KCQl9CgoJfQoKZnVuY3Rpb24gc2V0Q2FyZXQodGV4dE9iaikKCXsKCWlmICh0ZXh0T2JqLmNyZWF0ZVRleHRSYW5nZSkKCQl7CgkJdGV4dE9iai5jYXJldFBvcyA9IGRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLmR1cGxpY2F0ZSgpOwoJCX0KCX0KCQpmdW5jdGlvbiBpbnNlcnRBdENhcmV0KHRleHRGaWVsZFZhbHVlKQoJewoJaWYgKCEgZm9jdXNlZEZvcm1Db250cm9sKQoJCXsKCQlyZXR1cm47CgkJfQoJaWYoZG9jdW1lbnQuYWxsKQoJCXsKCQlpZiAoZm9jdXNlZEZvcm1Db250cm9sLmNyZWF0ZVRleHRSYW5nZSAmJiBmb2N1c2VkRm9ybUNvbnRyb2wuY2FyZXRQb3MpCgkJCXsKCQkJdmFyIGNhcmV0UG9zID0gZm9jdXNlZEZvcm1Db250cm9sLmNhcmV0UG9zOwoJCQljYXJldFBvcy50ZXh0ID0gY2FyZXRQb3MudGV4dC5jaGFyQXQoY2FyZXRQb3MudGV4dC5sZW5ndGggLSAxKSA9PSAnICcgP3RleHRGaWVsZFZhbHVlICsgJyAnIDogdGV4dEZpZWxkVmFsdWU7CgkJCWNhcmV0UG9zKys7CiAgICAgICAgIH0KCQllbHNlCgkJCXsKCQkJZm9jdXNlZEZvcm1Db250cm9sLnZhbHVlID0gdGV4dEZpZWxkVmFsdWU7CgkJCX0KCQl9CgllbHNlCgkJewoJCWlmKGZvY3VzZWRGb3JtQ29udHJvbC5zZXRTZWxlY3Rpb25SYW5nZSkKCQkJewoJCQl2YXIgcmFuZ2VTdGFydCA9IGZvY3VzZWRGb3JtQ29udHJvbC5zZWxlY3Rpb25TdGFydDsKCQkJdmFyIHJhbmdlRW5kID0gZm9jdXNlZEZvcm1Db250cm9sLnNlbGVjdGlvbkVuZDsKCQkJdmFyIHRlbXBTdHIxID0gZm9jdXNlZEZvcm1Db250cm9sLnZhbHVlLnN1YnN0cmluZygwLHJhbmdlU3RhcnQpOwoJCQl2YXIgdGVtcFN0cjIgPSBmb2N1c2VkRm9ybUNvbnRyb2wudmFsdWUuc3Vic3RyaW5nKHJhbmdlRW5kKTsKCQkJZm9jdXNlZEZvcm1Db250cm9sLnZhbHVlID0gdGVtcFN0cjEgKyB0ZXh0RmllbGRWYWx1ZSArIHRlbXBTdHIyOwoJCQkvLyBuZXh0IGxpbmUgaXMgZm9yIFNhZmFyaSAtIGl0J3MgZXZpZGVudGx5IGlnbm9yZWQgYnkgRmlyZWZveAoJCQlmb2N1c2VkRm9ybUNvbnRyb2wuc2VsZWN0aW9uU3RhcnQgKz0gMTsKCQkJfQoJCWVsc2UKCQkJewoJCQlhbGVydCgiYnJvd3NlciBpbmNvbXBhdGliaWxpdHkgcHJvYmxlbSAiKTsKCQkJfQoJCX0KCWZvY3VzZWRGb3JtQ29udHJvbC5mb2N1cygpOwoJfQoJCmZ1bmN0aW9uIHNldENvb2tpZShuYW1lLHZhbHVlLG1pbGxpcykKICAgIHsKCWlmIChtaWxsaXMpCgkgICAgewoJCXZhciBkYXRlID0gbmV3IERhdGUoKTsKCQlkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkrbWlsbGlzKTsKCQl2YXIgZXhwaXJlcyA9ICI7IGV4cGlyZXM9IitkYXRlLnRvR01UU3RyaW5nKCk7CgkgICAgfQoJZWxzZQoJICAgIHZhciBleHBpcmVzID0gIiI7Cglkb2N1bWVudC5jb29raWUgPSBuYW1lKyI9Iit2YWx1ZStleHBpcmVzKyI7IHBhdGg9LyI7Cn0KCmZ1bmN0aW9uIGdldENvb2tpZShjbmFtZSkKICAgIHsKCXZhciBjb29raWVzID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7Jyk7Cglmb3IgKHZhciBpPTA7aSA8IGNvb2tpZXMubGVuZ3RoO2krKykKCSAgICB7CgkgICAgY29va2llc1tpXSA9IGNvb2tpZXNbaV0ucmVwbGFjZSgvXlxzKy8sJycpOwoJICAgIGNvb2tpZXNbaV0gPSBjb29raWVzW2ldLnJlcGxhY2UoL1xzKyQvLCcnKTsKCQlpZiAoY29va2llc1tpXS5pbmRleE9mKCc9JykgIT0gLTEpCgkJICAgIHsKICAgICAgICAgICAgaWYgKGNvb2tpZXNbaV0uc3Vic3RyKDAsY29va2llc1tpXS5pbmRleE9mKCc9JykpID09IGNuYW1lKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcmV0dXJuKGNvb2tpZXNbaV0uc3Vic3RyKGNvb2tpZXNbaV0uaW5kZXhPZignPScpKzEpKTsKICAgICAgICAgICAgICAgIH0KCQkgICAgfQoJICAgIH0KCXJldHVybiBudWxsOwp9CQoJCmZ1bmN0aW9uIGRvRHJhZyhlKQogICAgewogICAgaWYgKCFlKSBlID0gd2luZG93LmV2ZW50OwoJcGFsaGFuZC5zdHlsZS5iYWNrZ3JvdW5kID0gJyNjY2YnOwogICAgaWYgKGRyYWdvaykKICAgICAgICB7CiAgICAgICAgcGFsLnN0eWxlLmxlZnQgPSBkeCArIChlLmNsaWVudFggLSB4KSArICJweCI7CiAgICAgICAgcGFsLnN0eWxlLnRvcCA9IGR5ICsgKGUuY2xpZW50WSAtIHkpICsgInB4IjsKICAgICAgICAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfQoKZnVuY3Rpb24gbURvd24oZSkKICAgIHsKICAgIGlmICghZSkgZSA9IHdpbmRvdy5ldmVudDsKICAgIGRyYWdvayA9IHRydWU7CiAgICB4ID0gZS5jbGllbnRYOwogICAgeSA9IGUuY2xpZW50WTsKICAgIGNvb3JkID0gZmluZFBvc2l0aW9uKHBhbCk7CiAgICBkeCA9IGNvb3JkWzBdOwogICAgZHkgPSBjb29yZFsxXTsKICAgIGlmIChNYXRoLmFicyh5IC0gZHkpIDwgNSkKICAgICAgICB7CiAgICAgICAgZHkgPSBkeSAtIDg7CiAgICAgICAgfQogICAgcGFsLm9ubW91c2Vtb3ZlID0gZG9EcmFnOwogICAgcmV0dXJuIGZhbHNlOwp9CgpmdW5jdGlvbiBmaW5kUG9zaXRpb24oIG9FbGVtZW50ICkgewogIGlmKCB0eXBlb2YoIG9FbGVtZW50Lm9mZnNldFBhcmVudCApICE9ICd1bmRlZmluZWQnICkgewogICAgZm9yKCB2YXIgcG9zWCA9IDAsIHBvc1kgPSAwOyBvRWxlbWVudDsgb0VsZW1lbnQgPSBvRWxlbWVudC5vZmZzZXRQYXJlbnQgKSB7CiAgICAgIHBvc1ggKz0gb0VsZW1lbnQub2Zmc2V0TGVmdDsKICAgICAgcG9zWSArPSBvRWxlbWVudC5vZmZzZXRUb3A7CiAgICB9CiAgICByZXR1cm4gWyBwb3NYLCBwb3NZIF07CiAgfSBlbHNlIHsKICAgIHJldHVybiBbIG9FbGVtZW50LngsIG9FbGVtZW50LnkgXTsKICB9Cn0KCmZ1bmN0aW9uIG1VcCgpCiAgICB7CglwYWxoYW5kLnN0eWxlLmJhY2tncm91bmQgPSAnI2NjYyc7CiAgICBkcmFnb2sgPSBmYWxzZTsKICAgIHBhbC5vbm1vdXNlbW92ZSA9IG51bGw7CiAgICBjb29yZCA9IGZpbmRQb3NpdGlvbihwYWwpOwogICAgc2V0Q29va2llKCdxdV9sb2MnLGNvb3JkWzBdKycsJytjb29yZFsxXSk7CiAgICB9CgpwYWxoYW5kID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhbGV0dGVoYW5kbGUnKTsKaWYgKHBhbGhhbmQpCiAgICB7CiAgICBwYWxoYW5kLm9ubW91c2Vkb3duID0gbURvd247CiAgICBwYWxoYW5kLm9ubW91c2V1cCA9IG1VcDsKICAgIH0KcGFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYXJhY3RlcnBhbGV0dGUnKTsKCQppZiAoZ2V0Q29va2llKCdxdV9sb2MnKSAhPSBudWxsKQogICAgewogICAgcGFuZWxfcG9zID0gZ2V0Q29va2llKCdxdV9sb2MnKS5zcGxpdCgnLCcpOwogICAgcGFsLnN0eWxlLmxlZnQgPSBwYW5lbF9wb3NbMF0rInB4IjsKICAgIHBhbC5zdHlsZS50b3AgPSBwYW5lbF9wb3NbMV0rInB4IjsKICAgIH0KPC9zY3JpcHQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/Quizzard.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFF1aXp6YXJkIC0gYSBwbGFjZW1lbnQgdGVzdCBtb2R1bGUKIyBWZXJzaW9uOiAwLjYuNCwgU2pHCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDcgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzLy8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKY2xhc3MgUXVpenphcmQgZXh0ZW5kcyBDTVNNb2R1bGUKewoKCXZhciAkdGFrZXJfaWQ9LTE7CgoJZnVuY3Rpb24gR2V0TmFtZSgpCgl7CgkJcmV0dXJuICdRdWl6emFyZCc7Cgl9CgoJZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwoJfQoKCWZ1bmN0aW9uIEdldFZlcnNpb24oKQoJewoJCXJldHVybiAnMC44LjInOwoJfQoKCWZ1bmN0aW9uIEdldEhlbHAoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwoJfQoJCglmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkKCXsKICAgIAkkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CiAgICAJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncXp6XyonLCdudWxsJywkdGhpcy0+TGFuZygncXVpenphcmRfcGFyYW1zX2dlbmVyYWwnKSk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQLicvcXp6Xy4qLycsQ0xFQU5fTk9ORSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncXVpel9pZCcsJ251bGwnLCR0aGlzLT5MYW5nKCdxdWl6emFyZF9wYXJhbXNfcXVpel9pZCcpKTsKICAgIAkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncXVpel9pZCcsQ0xFQU5fSU5UKTsKCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncXVlc3Rpb24nLCdudWxsJywkdGhpcy0+TGFuZygncXVpenphcmRfcGFyYW1zX3F1ZXN0aW9uJykpOwogICAgCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdxdWVzdGlvbicsQ0xFQU5fSU5UKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdxdWVzdGlvbl9pZCcsJ251bGwnLCR0aGlzLT5MYW5nKCdxdWl6emFyZF9wYXJhbXNfcXVlc3Rpb24nKSk7CiAgICAJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3F1ZXN0aW9uX2lkJyxDTEVBTl9JTlQpOwoKICAgICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbGlzdF90YWtlcnMnLCdudWxsJywkdGhpcy0+TGFuZygncXVpenphcmRfcGFyYW1zX2xpc3RfdGFrZXJzJykpOwogICAgCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsaXN0X3Rha2VycycsQ0xFQU5fU1RSSU5HKTsKCgogIAl9CgkKCglmdW5jdGlvbiBHZXRBdXRob3IoKQoJewoJCXJldHVybiAnU2pHJzsKCX0KCWZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKCXsKCQlyZXR1cm4gJ3NqZ0BjbXNtb2R1bGVzLmNvbSc7Cgl9CglmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygnY2hhbmdlbG9nJyk7Cgl9CglmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CglmdW5jdGlvbiBIYXNBZG1pbigpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQoJewoJCXJldHVybiAnY29udGVudCc7Cgl9CglmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7Cgl9CglmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQoJewogICAgICAgIHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFF1aXp6ZXMnKTsKCX0KCWZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCgl7CgkJcmV0dXJuIGFycmF5KCdDTVNNYWlsZXInPT4nMS43My4xMCcpOwoJfQoJZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQoJewoJCXJldHVybiAiMS4wIjsKCX0KCWZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOwoJfQoJCiAgICBmdW5jdGlvbiBBZG1pblN0eWxlKCkKICAgIHsKICAgICAgcmV0dXJuICJcbi5xdWl6emFyZF9hcmVhX3Nob3J0IHt3aWR0aDogNTAwcHg7IGhlaWdodDogMTAwcHg7fVxuLnF1aXp6YXJkX2FyZWFfbG9uZyB7d2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDMwMHB4O31cbiI7CiAgICB9CgkKCiAgICBmdW5jdGlvbiBEaXNwbGF5RXJyb3JQYWdlKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCwgJG1lc3NhZ2U9JycpCiAgICB7CiAgICAJZXJyb3JfbG9nKCRtZXNzYWdlKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwoJCWlmICgkbWVzc2FnZSAhPSAnJykKCQkJewoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdtZXNzYWdlJywgJG1lc3NhZ2UpOwoJCQl9CgogICAgICAgIC8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQogICAgICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXJyb3IudHBsJyk7CiAgICB9CgoKCWZ1bmN0aW9uIHNldFRha2VySWQoJGlkLCRxdWl6X2lkLCRzZXNzaW9uPXRydWUpCgl7CgkJLy8gd2UgY2FuIG9ic2N1cmUvZW5jcnlwdCB0aGlzIGxhdGVyLCBzaG91bGQgd2Ugc28gZGVzaXJlCgkJc2V0Y29va2llICgncXVpWlphcmRfJy4kcXVpel9pZCwkaWQsKCRzZXNzaW9uPzA6KHRpbWUoKSs2MCo2MCoyNCozMCkpKTsJCgl9CgkJCglmdW5jdGlvbiBnZXRUYWtlcklkKCRxdWl6X2lkKQoJewogICAgICBnbG9iYWwgJGdDbXM7CiAgICAgICRyZXQgPSAtMTsKCSAgaWYgKCR0aGlzLT50YWtlcl9pZCAhPSAtMSkKCQl7CgkJcmV0dXJuICR0aGlzLT50YWtlcl9pZDsKCQl9CgkvLyBhbmQgcmVmbGVjdCB0aGF0IGVuY3J5cHRpb24vb2JzY3VyYXRpb24gaGVyZQoJaWYgKGlzc2V0KCRfQ09PS0lFWydxdWlaWmFyZF8nLiRxdWl6X2lkXSkpCgkJewogICAgICAgIAkvLyB2YWxpZGF0ZSB0aGUgcXVpeiBpcyBzdGlsbCBpbmNvbXBsZXRlLi4uCiAgICAgICAJJGRiID0mICRnQ21zLT5HZXREYigpOwogICAgICAgCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuIGNtc19kYl9wcmVmaXgoKS4KCQkJJ21vZHVsZV9xel90YWtlcnMgd2hlcmUgdGFrZXJfaWQ9PyBhbmQgY29tcGxldGVkPTAnOwogICAgIAkkcHJldiA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJF9DT09LSUVbJ3F1aVpaYXJkXycuJHF1aXpfaWRdKSk7CiAgICAgICAJaWYgKCRwcmV2ICYmICRwcmV2LT5SZWNvcmRDb3VudCgpID4gMCkKICAgICAgICAgICAJewoJCQkkcmV0ID0gJF9DT09LSUVbJ3F1aVpaYXJkXycuJHF1aXpfaWRdOwoJCQkkcm93ID0gJHByZXYtPkZldGNoUm93KCk7CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigncXVpenphcmRfdGFrZXJfbmFtZScsJHJvd1snbmFtZSddKTsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdxdWl6emFyZF90YWtlcl9lbWFpbCcsJHJvd1snZW1haWwnXSk7CgkJCX0KCQl9CglyZXR1cm4gJHJldDsKCX0KCglmdW5jdGlvbiByZXNldFRha2VySWQoJHF1aXpfaWQpCgl7CgkJLy8gYW5kIGhlcmUgYXMgd2VsbAoJCXNldGNvb2tpZSAoJ3F1aVpaYXJkXycuJHF1aXpfaWQsJy0xJyk7CgkJJHRoaXMtPnRha2VyX2lkID0gLTE7Cgl9CgkKCglmdW5jdGlvbiBnZXRRdWl6TGlzdCgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQpCgl7CiAgICAgICAgZ2xvYmFsICRnQ21zOwoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCiAgICAgICAgJGVudHJ5YXJyYXkgPSBhcnJheSgpOwoKCQkkcXVlcnkgPSAiU0VMRUNUIHF1aXpfaWQsIG5hbWUsIGRlc2NyaXB0aW9uIEZST00gIi4KCQkJY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcXVpenplcyBPUkRFUiBieSBuYW1lIjsgICAgICAgIAkKICAgICAgICAJCiAgICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICAgICAgd2hpbGUgKCRkYnJlc3VsdCAhPT0gZmFsc2UgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAgICAgICB7CgkgICAgICAgJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoKCSAgICAgICAkb25lcm93LT5pZCA9ICRyb3dbJ3F1aXpfaWQnXTsKCSAgICAgICAkb25lcm93LT50aXRsZSA9ICRyb3dbJ25hbWUnXTsKCSAgICAgICAkb25lcm93LT5kZXNjID0gJHJvd1snZGVzY3JpcHRpb24nXTsKCSAgICAgICBhcnJheV9wdXNoKCRlbnRyeWFycmF5LCAkb25lcm93KTsKICAgICAgICB9CgkJJHF1ZXJ5ID0gIlNFTEVDVCBjb3VudChxcS5xdWVzdGlvbl9pZCkgYXMgcWNvdW50IEZST00gIi4KCQkJCWNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X3F1aXp6ZXMgcXosICIuCgkJCQljbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9xdWVzdGlvbnMgcXEgd2hlcmUgIiAuCgkJCQkicXEucXVpel9pZCA9IHF6LnF1aXpfaWQgYW5kIHFxLnF1ZXN0aW9uX3R5cGUgaW4gKCdtJywnZicsJ2MnKSAiLgoJCQkJImFuZCBxei5xdWl6X2lkPT8iOyAgICAgICAgCQoJCWZvciAoJGk9MDskaTxjb3VudCgkZW50cnlhcnJheSk7JGkrKykKCQkJewoKCQkgICAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGVudHJ5YXJyYXlbJGldLT5pZCkpOwoJCSAgICAgICAgaWYgKCRkYnJlc3VsdCAhPT0gZmFsc2UgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCQkgICAgICAgIAl7CgkJCQkgICAgICAgJGVudHJ5YXJyYXlbJGldLT5xY291bnQgPSAkcm93WydxY291bnQnXTsKCQkJCQl9CgkJCQkKCQkJfQoJCXJldHVybiAkZW50cnlhcnJheTsKCX0KCQogICAgZnVuY3Rpb24gbGlzdFF1aXp6ZXMoJGlkLCAmJHBhcmFtcywgJHJldHVybmlkKQogICAgewogICAgICAgIGdsb2JhbCAkZ0NtczsKCiAgICAgICAgJGVudHJ5YXJyYXkgPSAkdGhpcy0+Z2V0UXVpekxpc3QoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwoJCSRyb3djbGFzcz0icm93MSI7CiAgICAgICAgZm9yICgkaT0wOyRpPGNvdW50KCRlbnRyeWFycmF5KTskaSsrKQogICAgICAgIHsKCSAgICAgICAkZW50cnlhcnJheVskaV0tPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0cXVpeicsICRyZXR1cm5pZCwKCSAgICAgICAJCSRlbnRyeWFycmF5WyRpXS0+dGl0bGUsIGFycmF5KCdxdWl6X2lkJz0+JGVudHJ5YXJyYXlbJGldLT5pZCkpOwoKCQkJICRlbnRyeWFycmF5WyRpXS0+ZXhwb3J0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZXhwb3J0cXVpeicsICRyZXR1cm5pZCwKCSAgICAgICAJCSc8aW1nIHNyYz0iJy4kZ0Ntcy0+Y29uZmlnWydyb290X3VybCddLgoJICAgICAgIAkJCScvaW1hZ2VzL2Ntcy94bWxfcnNzLmdpZiIgYWx0PSInLgoJICAgICAgIAkJCSR0aGlzLT5MYW5nKCdleHBvcnQnKS4nIiBjbGFzcz0ic3lzdGVtaWNvbiIgLz4nLCBhcnJheSgncXVpel9pZCc9PiRlbnRyeWFycmF5WyRpXS0+aWQsJ3htbCc9PicxJykpOwoJICAgICAgIAkgJGVudHJ5YXJyYXlbJGldLT5yb3djbGFzcyA9ICRyb3djbGFzczsKCQkJICRlbnRyeWFycmF5WyRpXS0+c3RhdHMgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdxdWl6c3RhdHMnLCAkcmV0dXJuaWQsCgkgICAgICAgCQkJJHRoaXMtPkxhbmcoJ3N0YXRzJyksIGFycmF5KCdxdWl6X2lkJz0+JGVudHJ5YXJyYXlbJGldLT5pZCkpOwoJCQkgJGVudHJ5YXJyYXlbJGldLT5tYW5hZ2UgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtYW5hZ2VxdWl6JywgJHJldHVybmlkLAoJICAgICAgIAkJCSR0aGlzLT5MYW5nKCdtYW5hZ2UnKSwgYXJyYXkoJ3F1aXpfaWQnPT4kZW50cnlhcnJheVskaV0tPmlkKSk7CgkJCSAkZW50cnlhcnJheVskaV0tPmJyb3dzZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Nob3dxdWl6cmVzdWx0cycsICRyZXR1cm5pZCwKCQkJCQkkdGhpcy0+TGFuZygnYnJvd3NlX3Jlc3VsdHMnKSwgYXJyYXkoJ3F1aXpfaWQnPT4kZW50cnlhcnJheVskaV0tPmlkKSk7CgkKCSAgICAgICAkZW50cnlhcnJheVskaV0tPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHF1aXonLCAkcmV0dXJuaWQsCgkgICAgICAgCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywKCSAgICAgICAJCQkkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkgICAgICAgCQkgCWFycmF5KCdxdWl6X2lkJz0+JGVudHJ5YXJyYXlbJGldLT5pZCkpOwoJICAgICAgICRlbnRyeWFycmF5WyRpXS0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlbGV0ZXF1aXonLCAkcmV0dXJuaWQsCgkgICAgICAgCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLAoJICAgICAgIAkJCSR0aGlzLT5MYW5nKCdkZWxldGUnKSwnJywnJywnc3lzdGVtaWNvbicpLAoJICAgICAgIAkJCWFycmF5KCdxdWl6X2lkJz0+JGVudHJ5YXJyYXlbJGldLT5pZCksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlcXVpeicpKTsKCSAgICAgICAJKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7CgogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOwogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc2VjdGlvbicsJHRoaXMtPkxhbmcoJ3F1aXpsaXN0JykpOwogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignY29sdW1uX25hbWUnLCR0aGlzLT5MYW5nKCdjb2x1bW5fbmFtZScpKTsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NvbHVtbl9kZXNjJywkdGhpcy0+TGFuZygnY29sdW1uX2Rlc2MnKSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb2x1bW5fcWNvdW50JywkdGhpcy0+TGFuZygnY29sdW1uX3Fjb3VudCcpKTsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NvbHVtbl9leHBvcnQnLCR0aGlzLT5MYW5nKCdjb2x1bW5fZXhwb3J0JykpOwogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbm9xdWl6emVzJywkdGhpcy0+TGFuZygnbm9xdWl6emVzJykpOwoKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLAogICAgICAgICAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0cXVpeicsICRyZXR1cm5pZCwKICAgICAgICAgICAgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsCiAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnYWRkcXVpeicpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICcnKSAuJyAnLgogICAgICAgICAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0cXVpeicsICRyZXR1cm5pZCwKICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdhZGRxdWl6JyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJykpOwogICAgfQoKICAgIGZ1bmN0aW9uIGxpc3RRdWVzdGlvbnMoJGlkLCAmJHBhcmFtcywgJHJldHVybmlkKQogICAgewogICAgICAgIGdsb2JhbCAkZ0NtczsKCQkkZGIgPSYgJGdDbXMtPkdldERiKCk7CgogICAgICAgICRlbnRyeWFycmF5ID0gYXJyYXkoKTsKCgkJaWYgKCFpc3NldCgkcGFyYW1zWydxdWl6X2lkJ10pKQoJCQl7CgkJCSRwYXJhbXNbJ3F1aXpfaWQnXSA9IC0xOwoJCQl9CgkJJHFjb3VudCA9IDE7CiAgICAgICAgJHF1ZXJ5ID0gIlNFTEVDVCBxdWVzdGlvbl9pZCwgcXVlc3Rpb24sIHRpdGxlLCBxdWVzdGlvbl90eXBlIEZST00gIi4KICAgICAgICAJY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcXVlc3Rpb25zIFdIRVJFIHF1aXpfaWQ9PyBPUkRFUiBieSBvcmRlcl9ieSI7CiAgICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWl6X2lkJ10pKTsKCiAgICAgICAgJHJvd2NsYXNzID0gJ3JvdzEnOwoKCQkkcHJldiA9IC0xOwoJCSRxbnVtID0gMTsKICAgICAgICB3aGlsZSAoJGRicmVzdWx0ICE9PSBmYWxzZSAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICAgIHsKCSAgICAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CgkgICAgICAgaWYgKCRyb3dbJ3F1ZXN0aW9uX3R5cGUnXSA9PSAnYycgfHwgJHJvd1sncXVlc3Rpb25fdHlwZSddID09ICdmJyB8fCAkcm93WydxdWVzdGlvbl90eXBlJ10gPT0gJ20nKQoJICAgICAgIAl7CgkJCQkkb25lcm93LT5udW0gPSAkcW51bSsrOwoJCQkJfQoJCQllbHNlCgkJCQl7CgkJCQkkb25lcm93LT5udW0gPSAnJzsKCQkJCWlmICgkcm93WydxdWVzdGlvbl90eXBlJ10gPT0gJ3MnICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZW51bWJlcl9ieV9zZWN0aW9uJywnJykgPT0gJzEnKQoJCQkJCXsKCQkJCQkkcW51bSA9IDE7CgkJCQkJfQoJCQkJfQoJCSAgICRvbmVyb3ctPnFjb3VudCA9ICRxY291bnQrKzsKCSAgICAgICAkb25lcm93LT5pZCA9ICRyb3dbJ3F1ZXN0aW9uX2lkJ107CgkJICAgaWYgKCRyb3dbJ3F1ZXN0aW9uX3R5cGUnXSA9PSAnYicgfHwgc3RybGVuKCRyb3dbJ3F1ZXN0aW9uJ10pIDwgMSkKCQkJCXsKCQkJCSRvbmVyb3ctPnRpdGxlID0gJy0tLSc7CgkJCQl9CgkJCWVsc2UgaWYgKCRyb3dbJ3F1ZXN0aW9uX3R5cGUnXSA9PSAncCcpCgkJCQl7CgkJCQkkb25lcm93LT50aXRsZSA9ICR0aGlzLT5MYW5nKCd0eXBlX3AnKS4nOiAnLiRyb3dbJ3RpdGxlJ107CgkJCQl9CgkJCWVsc2UKCQkJCXsKCQkJCSRvbmVyb3ctPnRpdGxlID0gJHJvd1sncXVlc3Rpb24nXTsJCgkJCQl9CgkgICAgICAgJG9uZXJvdy0+bmFtZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRxdWVzdGlvbicsICRyZXR1cm5pZCwKCSAgICAgICAJCSRvbmVyb3ctPnRpdGxlLAoJCQkJCSBhcnJheSgncXVlc3Rpb25faWQnPT4kcm93WydxdWVzdGlvbl9pZCddLCdxdWl6X2lkJz0+JHBhcmFtc1sncXVpel9pZCddKSk7CgkgICAgICAgJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgkgICAgICAgJG9uZXJvdy0+dHlwZSA9ICR0aGlzLT5MYW5nKCd0eXBlXycuJHJvd1sncXVlc3Rpb25fdHlwZSddKTsKCgkgICAgICAgJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0cXVlc3Rpb24nLCAkcmV0dXJuaWQsCgkgICAgICAgCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywKCSAgICAgICAJCQkkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkgICAgICAgCQkgCWFycmF5KCdxdWVzdGlvbl9pZCc9PiRyb3dbJ3F1ZXN0aW9uX2lkJ10sCgkgICAgICAgCQkgCSdxdWl6X2lkJz0+JHBhcmFtc1sncXVpel9pZCddKSk7CgkgICAgICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlbGV0ZXF1ZXN0aW9uJywgJHJldHVybmlkLAoJICAgICAgIAkJJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywKCSAgICAgICAJCQkkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwKCSAgICAgICAJCQlhcnJheSgncXVlc3Rpb25faWQnPT4kcm93WydxdWVzdGlvbl9pZCddLAoJICAgICAgIAkJCSdxdWl6X2lkJz0+JHBhcmFtc1sncXVpel9pZCddKSwgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmVxdWVzdGlvbicpKTsKCgkJICAgJG9uZXJvdy0+dXBsaW5rID0gJyc7CgkJICAgJG9uZXJvdy0+ZG93bmxpbmsgPSAnJzsKCSAgICAgICBhcnJheV9wdXNoKCRlbnRyeWFycmF5LCAkb25lcm93KTsKCgkgICAgICAgKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7CiAgICAgICAgfQoKCQkkbGVuID0gY291bnQoJGVudHJ5YXJyYXkpOwoJCWZvciAoJGkgPSAwOyAkaSA8ICRsZW47ICRpKyspCgkJCXsKCQkJaWYgKCRpIDwgJGxlbiAtIDEpCgkJCQl7CgkgICAgICAgCQkkZW50cnlhcnJheVskaV0tPmRvd25saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnb3JkZXJxdWVzdGlvbicsCgkgICAgICAgCQkJJHJldHVybmlkLAoJICAJCQkJJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hcnJvdy1kLmdpZicsCgkgICAgICAgCQkJJHRoaXMtPkxhbmcoJ2Rvd24nKSwnJywnJywnc3lzdGVtaWNvbicpLAoJICAgICAgIAkJIAlhcnJheSgnc3JjJz0+JGVudHJ5YXJyYXlbJGldLT5pZCwKCSAgICAgICAJCSAJJ2RzdCc9PiRlbnRyeWFycmF5WyRpICsgMV0tPmlkLAoJICAgICAgIAkJIAkncXVpel9pZCc9PiRwYXJhbXNbJ3F1aXpfaWQnXSkpOwkJCQkKCQkJCX0KCQkJaWYgKCRpID4gMCkKCQkJCXsKCSAgICAgICAJCSRlbnRyeWFycmF5WyRpXS0+dXBsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnb3JkZXJxdWVzdGlvbicsCgkgICAgICAgCQkJJHJldHVybmlkLAoJICAJCQkJJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hcnJvdy11LmdpZicsCgkgICAgICAgCQkJJHRoaXMtPkxhbmcoJ3VwJyksJycsJycsJ3N5c3RlbWljb24nKSwKCSAgICAgICAJCSAJYXJyYXkoJ3NyYyc9PiRlbnRyeWFycmF5WyRpXS0+aWQsCgkgICAgICAgCQkgCSdkc3QnPT4kZW50cnlhcnJheVskaSAtIDFdLT5pZCwKCSAgICAgICAJCSAJJ3F1aXpfaWQnPT4kcGFyYW1zWydxdWl6X2lkJ10pKTsJCQkJCgkJCQkKCQkJCX0KCQkJfQogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKTsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NlY3Rpb24nLCR0aGlzLT5MYW5nKCdxdWl6bGlzdCcpKTsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NvbHVtbl9xdWVzdGlvbicsJHRoaXMtPkxhbmcoJ2NvbHVtbl9xdWVzdGlvbicpKTsKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NvbHVtbl90eXBlJywkdGhpcy0+TGFuZygnY29sdW1uX3R5cGUnKSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdub3F1ZXN0aW9ucycsJHRoaXMtPkxhbmcoJ25vcXVlc3Rpb25zJykpOwoKICAgICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLAogICAgICAgICAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0cXVlc3Rpb24nLCAkcmV0dXJuaWQsCiAgICAgICAgICAgICAgICAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLAogICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2FkZHF1ZXN0aW9uJyksJycsJycsJ3N5c3RlbWljb24nKSwKICAgICAgICAgICAgICAgIGFycmF5KCdxdWl6X2lkJz0+JHBhcmFtc1sncXVpel9pZCddKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpLgogICAgICAgICAgICAgICAgJyAnLgogICAgICAgICAgICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0cXVlc3Rpb24nLCAkcmV0dXJuaWQsCiAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnYWRkcXVlc3Rpb24nKSwgYXJyYXkoJ3F1aXpfaWQnPT4kcGFyYW1zWydxdWl6X2lkJ10pLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKICAgIH0KCiAgICBmdW5jdGlvbiBsaXN0QW5zd2VycygkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQpCiAgICB7CiAgICAgICAgZ2xvYmFsICRnQ21zOwoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCiAgICAgICAgJGVudHJ5YXJyYXkgPSBhcnJheSgpOwoKCQlpZiAoIWlzc2V0KCRwYXJhbXNbJ3F1ZXN0aW9uX2lkJ10pKQoJCQl7CgkJCSRwYXJhbXNbJ3F1ZXN0aW9uX2lkJ10gPSAtMTsKCQkJfQoKICAgICAgICAkcXVlcnkgPSAiU0VMRUNUIHF1ZXN0aW9uX3R5cGUgRlJPTSAiLgogICAgICAgIAljbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9xdWVzdGlvbnMgV0hFUkUgcXVlc3Rpb25faWQ9PyI7CiAgICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWVzdGlvbl9pZCddKSk7CiAgICAgICAgJHRoZVR5cGUgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICAgICAgCQoKCiAgICAgICAgJHF1ZXJ5ID0gIlNFTEVDVCBhbnN3ZXJfaWQsIGlzX2NvcnJlY3QsIGFuc3dlciBGUk9NICIuCiAgICAgICAgCWNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X2Fuc3dlcnMgV0hFUkUgcXVlc3Rpb25faWQ9PyAiLgogICAgICAgIAkib3JkZXIgYnkgYW5zd2VyX2lkIjsKICAgICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ3F1ZXN0aW9uX2lkJ10pKTsKCiAgICAgICAgJHJvd2NsYXNzID0gJ3JvdzEnOwoKCQkkYW5zd2VyQ291bnQgPSAwOwogICAgICAgIHdoaWxlICgkZGJyZXN1bHQgIT09IGZhbHNlICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgICAgICAgewoJCQkkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CgkJCSRvbmVyb3ctPmFjb3VudCA9ICRhbnN3ZXJDb3VudDsKCQkJJG9uZXJvdy0+aWQgPSAkcm93WydhbnN3ZXJfaWQnXTsKCQkJJG9uZXJvdy0+bWNvcnJlY3QgPSAnPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSInLgoJICAgICAgIAkJJGlkLidyYWQnLiRwYXJhbXNbJ3F1ZXN0aW9uX2lkJ10uCgkgICAgICAgCQknIiAgdmFsdWU9IicuJGFuc3dlckNvdW50LiciJzsKCQkJaWYgKCRyb3dbJ2lzX2NvcnJlY3QnXSA9PSAxKQoJCQkJewoJCQkJJG9uZXJvdy0+bWNvcnJlY3QgLj0gJyAnIC4gJ2NoZWNrZWQ9ImNoZWNrZWQiJzsKCQkJCX0KCQkJJG9uZXJvdy0+bWNvcnJlY3QgLj0gJyAvPic7CgkJCSRvbmVyb3ctPmNjb3JyZWN0ID0gJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJy4KCSAgICAgICAJCSRpZC4nY2hlY2snLiRhbnN3ZXJDb3VudC4KCSAgICAgICAJCSciICB2YWx1ZT0iMSInOwoJCQlpZiAoJHJvd1snaXNfY29ycmVjdCddID09IDEpCgkJCQl7CgkJCQkkb25lcm93LT5jY29ycmVjdCAuPSAnICcgLiAnY2hlY2tlZD0iY2hlY2tlZCInOwoJCQkJfQoJCQkkb25lcm93LT5jY29ycmVjdCAuPSAnIC8+JzsKCQkJJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgkJCSRvbmVyb3ctPmFuc3dlciA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYW5zd2VyJy4KCQkJCSRhbnN3ZXJDb3VudCwKCQkJCSRyb3dbJ2Fuc3dlciddLCA2MCwgMjU1KTsKCgkJCWFycmF5X3B1c2goJGVudHJ5YXJyYXksICRvbmVyb3cpOwoJCQkkYW5zd2VyQ291bnQrKzsKCSAgICAgICAoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKICAgICAgICB9CiAgICAgICAgZm9yKCRpPSRhbnN3ZXJDb3VudDskaTwkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWF4X2Fuc3dlcnMnLDUpOyRpKyspCiAgICAgICAgCXsKICAgICAgICAJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJCQkkb25lcm93LT5pZCA9ICRpOwoJCQkkb25lcm93LT5hY291bnQgPSAkaTsKCQkJJG9uZXJvdy0+bWNvcnJlY3QgPSAnPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSInLgoJICAgICAgIAkJJGlkLidyYWQnLiRwYXJhbXNbJ3F1ZXN0aW9uX2lkJ10uCgkgICAgICAgCQknIiAgdmFsdWU9IicuJGkuJyInOwoJCQlpZiAoJHJvd1snaXNfY29ycmVjdCddID09IDEpCgkJCQl7CgkJCQkkb25lcm93LT5tY29ycmVjdCAuPSAnICcgLiAnY2hlY2tlZD0iY2hlY2tlZCInOwoJCQkJfQoJCQkkb25lcm93LT5tY29ycmVjdCAuPSAnIC8+JzsKCQkJJG9uZXJvdy0+Y2NvcnJlY3QgPSAnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSInLgoJICAgICAgIAkJJGlkLidjaGVjaycuJGkuCgkgICAgICAgCQknIiAgdmFsdWU9IjEiJzsKCQkJaWYgKCRyb3dbJ2lzX2NvcnJlY3QnXSA9PSAxKQoJCQkJewoJCQkJJG9uZXJvdy0+Y2NvcnJlY3QgLj0gJyAnIC4gJ2NoZWNrZWQ9ImNoZWNrZWQiJzsKCQkJCX0KCQkJJG9uZXJvdy0+Y2NvcnJlY3QgLj0gJyAvPic7CgkJCSRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoJCQkkb25lcm93LT5hbnN3ZXIgPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2Fuc3dlcicuCgkJCQkkaSwnJywgNjAsIDI1NSk7CgoJCQlhcnJheV9wdXNoKCRlbnRyeWFycmF5LCAkb25lcm93KTsKCgkgICAgICAgKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7CiAgICAgICAgCQogICAgICAgIAl9CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOwogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignY29sdW1uX2Fuc3dlcicsJHRoaXMtPkxhbmcoJ2NvbHVtbl9hbnN3ZXInKSk7CiAgICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb2x1bW5fY29ycmVjdCcsJHRoaXMtPkxhbmcoJ2NvbHVtbl9jb3JyZWN0JykpOwogICAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbm9hbnN3ZXJzJywkdGhpcy0+TGFuZygnbm9hbnN3ZXJzJykpOwoKICAgIH0KCglmdW5jdGlvbiBzdG9yZVNjb3JlKCRxdWl6X2lkLCRzY29yZSkKCXsKICAgICAgICBnbG9iYWwgJGdDbXM7CgkJJGRiID0mICRnQ21zLT5HZXREYigpOwoJCSR0YWtlcl9pZCA9ICR0aGlzLT5nZXRUYWtlcklkKCRxdWl6X2lkKTsKCQkkcXVlcnkgPSAndXBkYXRlICcuY21zX2RiX3ByZWZpeCgpLgoJCQkJIm1vZHVsZV9xel90YWtlcnMgc2V0IGNvbXBsZXRlZF9zY29yZT0/IHdoZXJlIHRha2VyX2lkPT8iOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHNjb3JlLCR0YWtlcl9pZCkpOwoJfQoKCWZ1bmN0aW9uIHNhdmVRdWVzdGlvbkFuc3dlcnMoJGlkLCAmJHBhcmFtcywgJHJldHVybmlkKQoJewogICAgICAgIGdsb2JhbCAkZ0NtczsKCQkkZGIgPSYgJGdDbXMtPkdldERiKCk7CgkJJHRha2VyX2lkID0gJHRoaXMtPmdldFRha2VySWQoJHBhcmFtc1sncXVpel9pZCddKTsKCQkKCQkkdGhlc2VRdWVzdGlvbnMgPSBhcnJheSgpOwoJCWZvcmVhY2ggKCRwYXJhbXMgYXMgJHRoaXNLZXk9PiR0aGlzVmFsKQoJCQl7CgkJCWlmIChzdWJzdHIoJHRoaXNLZXksMCw2KSA9PSAncXp6X3FfJyAmJgoJCQkJCSgKCQkJCQkoIWlzX2FycmF5KCR0aGlzVmFsKSAmJiBzdHJsZW4oJHRoaXNWYWwpPjApIHx8CgkJCQkJKCBpc19hcnJheSgkdGhpc1ZhbCkgJiYgY291bnQoJHRoaXNWYWwpID4gMCkpKQoJCQkJewoJCQkJJHNhZmVUaGlzUGFyYW0gPSBwcmVnX3JlcGxhY2UoIi9cRC8iLCIiLHN1YnN0cigkdGhpc0tleSw2KSk7CgkJCQkKCQkJCWFycmF5X3B1c2goJHRoZXNlUXVlc3Rpb25zLCRzYWZlVGhpc1BhcmFtKTsKCQkJCX0KCQkJfQoJCQkKCQlpZiAoY291bnQoJHRoZXNlUXVlc3Rpb25zKSA+IDApCgkJCXsKCQkJJHF1ZXN0aW9ucyA9ICR0aGlzLT5nZXRRdWVzdGlvbnNJblJhbmdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCB0cnVlKTsKICAgICAgICAJJGVudHJ5YXJyYXkgPSAkcXVlc3Rpb25zLT5xdWVzdGlvbnM7CgoJCQkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuCgkJCQkJIm1vZHVsZV9xel9yZXN1bHQgd2hlcmUgcXVpel9pZD0/IGFuZCB0YWtlcl9pZD0/IGFuZCBxdWVzdGlvbl9pZCBpbiAoIi5pbXBsb2RlKCcsJywkdGhlc2VRdWVzdGlvbnMpLiIpIjsKCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJCWFycmF5KCRwYXJhbXNbJ3F1aXpfaWQnXSwkdGFrZXJfaWQpKTsKCgkJCSRtcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuCgkJCQkibW9kdWxlX3F6X3Jlc3VsdCAocmVzdWx0X2lkLCB0YWtlcl9pZCwgcXVpel9pZCwgcXVlc3Rpb25faWQsIGFuc3dlciwgYW5zd2VyX2lkLCBpc19jb3JyZWN0KSBWQUxVRVMgKD8sPyw/LD8sPyw/LD8pIjsKCQkJJGZxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4KCQkJCSJtb2R1bGVfcXpfcmVzdWx0IChyZXN1bHRfaWQsIHRha2VyX2lkLCBxdWl6X2lkLCBxdWVzdGlvbl9pZCwgYW5zd2VyLCBpc19jb3JyZWN0KSBWQUxVRVMgKD8sPyw/LD8sPyw/KSI7CgoJCQlmb3JlYWNoKCR0aGVzZVF1ZXN0aW9ucyBhcyAkdGhpc1F1ZXN0aW9uKQoJCQkJewoJCQkJLy8gc2F2ZSBpdAoJCQkJaWYgKCRlbnRyeWFycmF5WyR0aGlzUXVlc3Rpb25dLT50eXBlID09ICdmJykKCQkJCQl7CgkJCQkJJGNvdW50ID0gMDsKCQkJCQlpZiAoISBpc19hcnJheSgkcGFyYW1zWydxenpfcV8nLiR0aGlzUXVlc3Rpb25dKSkKCQkJCQkJewoJCQkJCQkkcGFyYW1zWydxenpfcV8nLiR0aGlzUXVlc3Rpb25dID0gYXJyYXkoJHBhcmFtc1sncXp6X3FfJy4kdGhpc1F1ZXN0aW9uXSk7CgkJCQkJCX0KCQkJCQlmb3JlYWNoKCRwYXJhbXNbJ3F6el9xXycuJHRoaXNRdWVzdGlvbl0gYXMgJHRoaXNSZXNwKQoJCQkJCQl7CgkJCQkJCSRjb3JyZWN0ID0gMTsKCQkJCQkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjYXNlX3NlbnNpdGl2ZSIsMCkgPT0gMCkKCQkJCQkJCXsKCQkJCQkJCWlmIChzdHJ0b2xvd2VyKCRlbnRyeWFycmF5WyR0aGlzUXVlc3Rpb25dLT5jb3JyZWN0YW5zd2Vyc1skY291bnRdKSAhPSBzdHJ0b2xvd2VyKCR0aGlzUmVzcCkpCgkJCQkJCQkJewoJCQkJCQkJCSRjb3JyZWN0ID0gMDsKCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCWVsc2UKCQkJCQkJCXsKCQkJCQkJCWlmICgkZW50cnlhcnJheVskdGhpc1F1ZXN0aW9uXS0+Y29ycmVjdGFuc3dlcnNbJGNvdW50XSAhPSAkdGhpc1Jlc3ApCgkJCQkJCQkJewoJCQkJCQkJCSRjb3JyZWN0ID0gMDsKCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCSRjb3VudCsrOwoJCQkJCQkkcmVzdWx0X2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuCgkJCQkJCQknbW9kdWxlX3F6X3Jlc3VsdF9zZXEnKTsKCgkJCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkZnF1ZXJ5LAoJCQkJCQkJYXJyYXkoJHJlc3VsdF9pZCwKCQkJCQkJCQkkdGFrZXJfaWQsCgkJCQkJCQkJJHBhcmFtc1sncXVpel9pZCddLAoJCQkJCQkJCSR0aGlzUXVlc3Rpb24sCgkJCQkJCQkJaHRtbGVudGl0aWVzKCR0aGlzUmVzcCxFTlRfQ09NUEFULCdVVEYtOCcpLAoJCQkJCQkJCSRjb3JyZWN0CgkJCQkJCQkJKQoJCQkJCQkJKTsKCQkJCQkJfQoJCQkJCX0KCQkJCWVsc2UgaWYgKCRlbnRyeWFycmF5WyR0aGlzUXVlc3Rpb25dLT50eXBlID09ICdtJykKCQkJCQl7CgkJCQkJJHJlc3VsdF9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLgoJCQkJCQkJJ21vZHVsZV9xel9yZXN1bHRfc2VxJyk7CgkJCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRtcXVlcnksCgkJCQkJCWFycmF5KCRyZXN1bHRfaWQsCgkJCQkJCQkkdGFrZXJfaWQsCgkJCQkJCQkkcGFyYW1zWydxdWl6X2lkJ10sCgkJCQkJCQkkdGhpc1F1ZXN0aW9uLAoJCQkJCQkJaHRtbGVudGl0aWVzKCRlbnRyeWFycmF5WyR0aGlzUXVlc3Rpb25dLT5yYXdhbnN3ZXJzWwoJCQkJCQkJCSRwYXJhbXNbJ3F6el9xXycuJHRoaXNRdWVzdGlvbl1dLEVOVF9DT01QQVQsJ1VURi04JyksCgkJCQkJCQkkcGFyYW1zWydxenpfcV8nLiR0aGlzUXVlc3Rpb25dLAoJCQkJCQkJKCgkZW50cnlhcnJheVskdGhpc1F1ZXN0aW9uXS0+Y29ycmVjdGFuc3dlcnNbMF0gPT0gJHBhcmFtc1sncXp6X3FfJy4kdGhpc1F1ZXN0aW9uXSk/MTowKQoJCQkJCQkJKQoJCQkJCQkpOwoJCQkJCX0KCQkJCWVsc2UgaWYgKCRlbnRyeWFycmF5WyR0aGlzUXVlc3Rpb25dLT50eXBlID09ICdjJykKCQkJCQl7CgkJCQkJJGNvdW50ID0gMDsKCQkJCQlpZiAoISBpc19hcnJheSgkcGFyYW1zWydxenpfcV8nLiR0aGlzUXVlc3Rpb25dKSkKCQkJCQkJewoJCQkJCQkkcGFyYW1zWydxenpfcV8nLiR0aGlzUXVlc3Rpb25dID0gYXJyYXkoJHBhcmFtc1sncXp6X3FfJy4kdGhpc1F1ZXN0aW9uXSk7CgkJCQkJCX0KCQkJCQlmb3JlYWNoKCRlbnRyeWFycmF5WyR0aGlzUXVlc3Rpb25dLT5jb3JyZWN0YW5zd2VycyBhcyAkY0tleT0+JGNWYWwpCgkJCQkJCXsKCQkJCQkJJGNvcnJlY3QgPSAwOwoJCQkJCQkkdGhpc1Jlc3AgPSBhcnJheV9zZWFyY2goJGNLZXksICRwYXJhbXNbJ3F6el9xXycuJHRoaXNRdWVzdGlvbl0pOwogICAgICAgICAgICAgICAgICBpZiAoKCR0aGlzUmVzcCAhPT0gZmFsc2UgJiYgJGNWYWwgPT0gMSkgfHwKCQkJCQkJCSgkdGhpc1Jlc3AgPT09IGZhbHNlICYmICRjVmFsID09IDApKQoJCQkJCQkJewoJCQkJCQkJJGNvcnJlY3QgPSAxOwoJCQkJCQkJfQoJCQkJCQkkY291bnQrKzsKCQkJCQkJJHJlc3VsdF9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLgoJCQkJCQkJJ21vZHVsZV9xel9yZXN1bHRfc2VxJyk7CgoJCQkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJG1xdWVyeSwKCQkJCQkJCWFycmF5KCRyZXN1bHRfaWQsCgkJCQkJCQkJJHRha2VyX2lkLAoJCQkJCQkJCSRwYXJhbXNbJ3F1aXpfaWQnXSwKCQkJCQkJCQkkdGhpc1F1ZXN0aW9uLAoJCQkJCQkJCWh0bWxlbnRpdGllcygkZW50cnlhcnJheVskdGhpc1F1ZXN0aW9uXS0+cmF3YW5zd2Vyc1skY0tleV0sRU5UX0NPTVBBVCwnVVRGLTgnKSwKCQkJCQkJCQkkY0tleSwKCQkJCQkJCQkkY29ycmVjdAoJCQkJCQkJCSkKCQkJCQkJCSk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0KCgl9CgkKCQogICBmdW5jdGlvbiBuZXJmUXVlc3Rpb25zRm9yRGlzcGxheSgmJGVudHJ5YXJyYXkpCgl7CgkJZm9yZWFjaChhcnJheV9rZXlzKCRlbnRyeWFycmF5KSBhcyAkaSkKCQkJewoJCQlpZiAoJGVudHJ5YXJyYXlbJGldLT50eXBlID09ICdmJykKCQkJCXsKCQkJCSRlbnRyeWFycmF5WyRpXS0+cXVlc3Rpb24gPSBzdHJfcmVwbGFjZSgiXyIsIl9fXyIsJGVudHJ5YXJyYXlbJGldLT5xdWVzdGlvbik7CgkJCQl9CgkJCX0KCX0KICAgCgkKICAgZnVuY3Rpb24gY29tcHV0ZVNjb3JlVmFsdWVzKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCwgJiRlbnRyeWFycmF5KQogICB7CiAgIAkJZ2xvYmFsICRnQ21zOwoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCQlpZiAoaXNzZXQoJHBhcmFtc1sncXp6X3Rha2VyX2lkJ10pKQoJCQl7CgkJCSR0YWtlcl9pZCA9ICRwYXJhbXNbJ3F6el90YWtlcl9pZCddOwoJCQl9CgkJZWxzZQoJCQl7CgkJCSR0YWtlcl9pZCA9ICR0aGlzLT5nZXRUYWtlcklkKCRwYXJhbXNbJ3F1aXpfaWQnXSk7CgkJCX0KCgkJJHRvdGFsX3F1ZXN0aW9ucyA9IDA7CgkJJHRvdGFsX3Njb3JlZCA9IDA7CgkJJHNraXBwZWQgPSAwOwoKCQkkcXMgPSBhcnJheSgpOwoJCWZvcmVhY2goYXJyYXlfa2V5cygkZW50cnlhcnJheSkgYXMgJGkpCgkJCXsKCQkJJGVudHJ5YXJyYXlbJGldLT5jb3JyZWN0ID0gMTsKCQkJJGVudHJ5YXJyYXlbJGldLT5za2lwcGVkID0gMTsKCQkJYXJyYXlfcHVzaCgkcXMsJGkpOwogICAJCQl9CgogICAJCSRxdWVyeSA9ICdTRUxFQ1QgKiBmcm9tICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcmVzdWx0IHdoZXJlIHF1aXpfaWQ9PyBhbmQgdGFrZXJfaWQ9PyBhbmQgcXVlc3Rpb25faWQgaW4gKCIuCgkJCWltcGxvZGUoJywnLCRxcykuICIpIG9yZGVyIGJ5IHJlc3VsdF9pZCI7CgoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ3F1aXpfaWQnXSwkdGFrZXJfaWQpKTsKICAgICAgICB3aGlsZSAoJGRicmVzdWx0ICE9PSBmYWxzZSAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICAgIHsKICAgICAgICAJaWYgKCEgZW1wdHkoJHJvd1snYW5zd2VyJ10pICYmIHN0cmxlbigkcm93WydhbnN3ZXInXSk+MCkKICAgICAgICAJCXsKICAgICAgICAJCSRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT5za2lwcGVkID0gMDsKICAgICAgICAJCX0KICAgICAgICAJaWYgKCRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT50eXBlID09ICdtJykKICAgICAgICAJCXsKICAgICAgICAJCSRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT5naXZlbmFuc3dlciA9CiAgICAgICAgCQkJKGlzc2V0KCRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT5yYXdhbnN3ZXJzWyRyb3dbJ2Fuc3dlcl9pZCddXSk/CgkJCQkJCSRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT5yYXdhbnN3ZXJzWyRyb3dbJ2Fuc3dlcl9pZCddXTonJyk7CiAgICAgICAgCQl9CiAgICAgICAgCWVsc2UgaWYgKCRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT50eXBlID09ICdmJykKICAgICAgICAJCXsKICAgICAgICAJCSRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT5naXZlbmFuc3dlcnNbXSA9CgkJCQkJJHJvd1snYW5zd2VyJ107CiAgICAgICAgCQl9CiAgICAgICAgCWVsc2UgaWYgKCRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT50eXBlID09ICdjJykKICAgICAgICAJCXsKICAgICAgICAJCWlmICgkcm93Wydpc19jb3JyZWN0J10gPT0gMSAmJgogICAgICAgIAkJCSRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT5jb3JyZWN0YW5zd2Vyc1skcm93WydhbnN3ZXJfaWQnXV0gPT0gMSkKICAgICAgICAJCQl7CgkJCQkJJGVudHJ5YXJyYXlbJHJvd1sncXVlc3Rpb25faWQnXV0tPmdpdmVuYW5zd2Vyc1tdID0KCQkJCQkJJHJvd1snYW5zd2VyJ107CgkJCQkJfQoJCQkJZWxzZSBpZiAoJHJvd1snaXNfY29ycmVjdCddID09IDAgJiYKCQkJCQkkZW50cnlhcnJheVskcm93WydxdWVzdGlvbl9pZCddXS0+Y29ycmVjdGFuc3dlcnNbJHJvd1snYW5zd2VyX2lkJ11dID09IDApCiAgICAgICAgCQkJewoJCQkJCSRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT5naXZlbmFuc3dlcnNbXSA9CgkJCQkJCSRyb3dbJ2Fuc3dlciddOwoJCQkJCX0JCQkJCiAgICAgICAgCQl9CiAgICAgICAgCSRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT5jb3JyZWN0ICY9ICRyb3dbJ2lzX2NvcnJlY3QnXTsKICAgICAgICB9CiAgICAgICAgLy9kZWJ1Z19kaXNwbGF5KCRlbnRyeWFycmF5KTsKICAgICAgICAkc2NvcmUgPSAwOwoJCWZvcmVhY2goYXJyYXlfa2V5cygkZW50cnlhcnJheSkgYXMgJGkpCgkJCXsKCQkJaWYgKCRlbnRyeWFycmF5WyRpXS0+dHlwZSA9PSAnbScpCgkJCQl7CgkJCQkkZW50cnlhcnJheVskaV0tPmNvcnJlY3RhbnN3ZXIgPSAkZW50cnlhcnJheVskaV0tPnJhd2Fuc3dlcnNbJGVudHJ5YXJyYXlbJGldLT5jb3JyZWN0YW5zd2Vyc1swXV07CgkJCQkkZW50cnlhcnJheVskaV0tPnF1ZXN0aW9uX3R4dCA9IHN0cmlwX3RhZ3MoJGVudHJ5YXJyYXlbJGldLT5xdWVzdGlvbik7CgkJCQkkZW50cnlhcnJheVskaV0tPmdpdmVuYW5zd2VyX3R4dCA9CgkJCQkoaXNzZXQoJGVudHJ5YXJyYXlbJGldLT5naXZlbmFuc3dlcik/c3RyaXBfdGFncygkZW50cnlhcnJheVskaV0tPmdpdmVuYW5zd2VyKTonJyk7CgkJCQkkZW50cnlhcnJheVskaV0tPmNvcnJlY3RhbnN3ZXJfdHh0ID0KCQkJCXN0cmlwX3RhZ3MoJGVudHJ5YXJyYXlbJGldLT5jb3JyZWN0YW5zd2VyKTsKCQkJCX0KCQkJZWxzZSBpZiAoJGVudHJ5YXJyYXlbJGldLT50eXBlID09ICdmJykKCQkJCXsKCQkJCSRlbnRyeWFycmF5WyRpXS0+Z2l2ZW5hbnN3ZXIgPSAKCQkJCQkkdGhpcy0+cmVwbGFjZUJsYW5rc1dpdGhWYWx1ZXMoCgkJCQkJCSRlbnRyeWFycmF5WyRpXS0+cXVlc3Rpb24sCgkJCQkJCShpc3NldCgkZW50cnlhcnJheVskaV0tPmdpdmVuYW5zd2Vycyk/JGVudHJ5YXJyYXlbJGldLT5naXZlbmFuc3dlcnM6JycpLAoJCQkJCQknPHNwYW4gY2xhc3M9ImdpdmVuX2Fuc3dlciI+XycsICdfPC9zcGFuPicsZmFsc2UpOwoKCQkJCSRlbnRyeWFycmF5WyRpXS0+Y29ycmVjdGFuc3dlciA9CgkJCQkgCSR0aGlzLT5yZXBsYWNlQmxhbmtzV2l0aFZhbHVlcygKCQkJCQkJJGVudHJ5YXJyYXlbJGldLT5xdWVzdGlvbiwKCQkJCQkJJGVudHJ5YXJyYXlbJGldLT5jb3JyZWN0YW5zd2VycywKCQkJCQkJJzxzcGFuIGNsYXNzPSJjb3JyZWN0X2Fuc3dlciI+XycsICdfPC9zcGFuPicsZmFsc2UpOwoJCQkJCQoJCQkJJGVudHJ5YXJyYXlbJGldLT5xdWVzdGlvbl90eHQgPSBzdHJpcF90YWdzKCRlbnRyeWFycmF5WyRpXS0+cXVlc3Rpb24pOwoJCQkJJGVudHJ5YXJyYXlbJGldLT5naXZlbmFuc3dlcl90eHQgPQoJCQkJCXN0cmlwX3RhZ3MoJGVudHJ5YXJyYXlbJGldLT5naXZlbmFuc3dlcik7CgkJCQkkZW50cnlhcnJheVskaV0tPmNvcnJlY3RhbnN3ZXJfdHh0ID0KCQkJCQlzdHJpcF90YWdzKCRlbnRyeWFycmF5WyRpXS0+Y29ycmVjdGFuc3dlcik7CQkJCQkJCQkJCgkJCQl9CgkJCWVsc2UgaWYgKCRlbnRyeWFycmF5WyRpXS0+dHlwZSA9PSAnYycpCgkJCQl7CgkJCQkkZW50cnlhcnJheVskaV0tPmNvcnJlY3RhbnN3ZXIgPSAnJzsKCQkJCWZvcmVhY2ggKCRlbnRyeWFycmF5WyRpXS0+Y29ycmVjdGFuc3dlcnMgYXMgJGNrZXk9PiRjdmFsKQoJCQkJCXsKCQkJCQlpZiAoJGN2YWwgPT0gMSkKCQkJCQkJewoJCQkJCQkkZW50cnlhcnJheVskaV0tPmNvcnJlY3RhbnN3ZXIgLj0KCQkJCQkJCSRlbnRyeWFycmF5WyRpXS0+cmF3YW5zd2Vyc1skY2tleV0gLiAnLCAnOwoJCQkJCQl9CgkJCQkJfQoJCQkJJGVudHJ5YXJyYXlbJGldLT5jb3JyZWN0YW5zd2VyID0gcnRyaW0oJGVudHJ5YXJyYXlbJGldLT5jb3JyZWN0YW5zd2VyLCIsICIpOwoJCQkJJGVudHJ5YXJyYXlbJGldLT5xdWVzdGlvbl90eHQgPSBzdHJpcF90YWdzKCRlbnRyeWFycmF5WyRpXS0+cXVlc3Rpb24pOwoKCQkJCWlmIChpc3NldCgkZW50cnlhcnJheVskaV0tPmdpdmVuYW5zd2VycykpCgkJCQkJewoJCQkJCSRlbnRyeWFycmF5WyRpXS0+Z2l2ZW5hbnN3ZXIgPSBpbXBsb2RlKCcsICcsJGVudHJ5YXJyYXlbJGldLT5naXZlbmFuc3dlcnMpOwoKCQkJCQkkZW50cnlhcnJheVskaV0tPmdpdmVuYW5zd2VyX3R4dCA9CgkJCQkJCXN0cmlwX3RhZ3MoJGVudHJ5YXJyYXlbJGldLT5naXZlbmFuc3dlcik7CgkJCQkJfQoJCQkJZWxzZQoJCQkJCXsKCQkJCQkkZW50cnlhcnJheVskaV0tPmdpdmVuYW5zd2VyID0gJyc7CgkJCQkJJGVudHJ5YXJyYXlbJGldLT5naXZlbmFuc3dlcl90eHQgPSAnJzsKCQkJCQl9CgkJCQkkZW50cnlhcnJheVskaV0tPmNvcnJlY3RhbnN3ZXJfdHh0ID0KCQkJCXN0cmlwX3RhZ3MoJGVudHJ5YXJyYXlbJGldLT5jb3JyZWN0YW5zd2VyKTsKCQkJCX0KCgkJCWVsc2UgaWYgKCRlbnRyeWFycmF5WyRpXS0+dHlwZSA9PSAncycpCgkJCQl7CgkJCQkkZW50cnlhcnJheVskaV0tPnF1ZXN0aW9uX3R4dCA9IHN0cmlwX3RhZ3MoJGVudHJ5YXJyYXlbJGldLT5xdWVzdGlvbik7CgkJCQl9CgkJCWlmICgkZW50cnlhcnJheVskaV0tPnR5cGUgPT0gJ20nIHx8CgkJCQkkZW50cnlhcnJheVskaV0tPnR5cGUgPT0gJ2YnIHx8CgkJCQkkZW50cnlhcnJheVskaV0tPnR5cGUgPT0gJ2MnKQoJCQkJewoJCQkJJHRvdGFsX3F1ZXN0aW9ucysrOwoJCQkJaWYgKCRlbnRyeWFycmF5WyRpXS0+aXNfc2NvcmVkID09IDEpCgkJCQkJewoJCQkJCSR0b3RhbF9zY29yZWQrKzsKCQkJCQl9CgkJCQlpZiAoJGVudHJ5YXJyYXlbJGldLT5za2lwcGVkID09IDEgJiYKCQkJCQkkZW50cnlhcnJheVskaV0tPmlzX3Njb3JlZCA9PSAxKQoJCQkJCXsKCQkJCQkkc2tpcHBlZCsrOwoJCQkJCSRlbnRyeWFycmF5WyRpXS0+Y29ycmVjdCA9IDA7CgkJCQkJfQoJCQkJaWYgKCRlbnRyeWFycmF5WyRpXS0+Y29ycmVjdCA9PSAxICYmCgkJCQkJJGVudHJ5YXJyYXlbJGldLT5pc19zY29yZWQgPT0gMSkKCQkJCQl7CgkJCQkJJHNjb3JlKys7CgkJCQkJfQoJCQkJfQoJCQl9CgoJCSRzY29yZWJvYXJkID0gbmV3IHN0ZENsYXNzKCk7CgkJJHNjb3JlYm9hcmQtPnNjb3JlID0gJHNjb3JlOwoJCSRzY29yZWJvYXJkLT50b3RhbF9xdWVzdGlvbnMgPSAkdG90YWxfc2NvcmVkOwoJCSRzY29yZWJvYXJkLT5za2lwcGVkID0gJHNraXBwZWQ7CgkJJHNjb3JlYm9hcmQtPmFuc3dlcmVkID0gJHRvdGFsX3Njb3JlZCAtICRza2lwcGVkOwoJCWlmICgkdG90YWxfc2NvcmVkICE9IDApCgkJCXsKCQkJJHNjb3JlYm9hcmQtPnBlcmNlbnRfcmlnaHQgPSBzcHJpbnRmKCIlMDIuMGYiLCgxMDAgKiAkc2NvcmUvJHRvdGFsX3Njb3JlZCkpOwoJCQkkc2NvcmVib2FyZC0+cGVyY2VudF9hbnN3ZXJlZCA9IHNwcmludGYoIiUwMi4wZiIsCgkJCQkoMTAwKigkdG90YWxfc2NvcmVkLSRza2lwcGVkKS8kdG90YWxfc2NvcmVkKSk7CgkJCSRzY29yZWJvYXJkLT5wZXJjZW50X3NraXBwZWQgPSBzcHJpbnRmKCIlMDIuMGYiLCgxMDAqJHNraXBwZWQvJHRvdGFsX3Njb3JlZCkpOwoJCQl9CgkJZWxzZQoJCQl7CgkJCSRzY29yZWJvYXJkLT5wZXJjZW50X3JpZ2h0ID0gJHRoaXMtPkxhbmcoJ25hJyk7CgkJCSRzY29yZWJvYXJkLT5wZXJjZW50X2Fuc3dlcmVkID0gJHRoaXMtPkxhbmcoJ25hJyk7CgkJCSRzY29yZWJvYXJkLT5wZXJjZW50X3NraXBwZWQgPSAkdGhpcy0+TGFuZygnbmEnKTsKCQkJfQoJCWlmICgkdG90YWxfc2NvcmVkLSRza2lwcGVkID4gMCkKCQkJewoJCQkkc2NvcmVib2FyZC0+c2NvcmVfcGVyY2VudF9hbnN3ZXJlZCA9IHNwcmludGYoIiUwMi4wZiIsKDEwMCAqICRzY29yZS8oJHRvdGFsX3Njb3JlZC0kc2tpcHBlZCkpKTsKCQkJfQoJCWVsc2UKCQkJewoJCQkkc2NvcmVib2FyZC0+c2NvcmVfcGVyY2VudF9hbnN3ZXJlZCA9ICR0aGlzLT5MYW5nKCduYScpOwoJCQl9CgoJCXJldHVybiAkc2NvcmVib2FyZDsKICAgfQoJCgkKCWZ1bmN0aW9uIGZpbHRlckZvcldyb25nQW5zd2VycygmJGVudHJ5YXJyYXkpCgkJewoJCSRlbnRyeWFycmF5ID0gYXJyYXlfZmlsdGVyKCRlbnRyeWFycmF5LGFycmF5KCR0aGlzLCJ0ZXN0Zm9yY29ycmVjdCIpKTsKCQl9CgkKCS8qIAoJCXJldHVybnMgYW4gb2JqZWN0OgoJCSRyZXR1cm5PYmotPnF1ZXN0aW9ucyA9IGFycmF5IG9mIHF1ZXN0aW9uczsKCQkkcmV0dXJuT2JqLT5wYWdlX2NvdW50ID0gIyBvZiBwYWdlczsKCQkkcmV0dXJuT2JqLT50aGlzX3BhZ2UgPSBjdXJyZW50IHBhZ2UgbnVtYmVyOwoJCQoJCXNldCAkZ2V0YWxsIHRvIHRydWUgdG8gcmV0cmlldmUgQUxMIHF1ZXN0aW9ucwoJCQoJCglzdGFydCBhdCBlbmQgbWVhbnMgdG8gYWR2YW5jZSBpbiB0aGUgcXVpeiwgb3RoZXJ3aXNlIHdlJ3JlIGxvb2tpbmcgYXQKCSAgIHF1ZXN0aW9ucyBmb3Igd2hpY2ggd2UgaGF2ZSBhbnN3ZXJzICovCglmdW5jdGlvbiAmZ2V0UXVlc3Rpb25zSW5SYW5nZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQsICRnZXRhbGwgPSBmYWxzZSkKCXsKCQkKICAgICAgICBnbG9iYWwgJGdDbXM7CgkJJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAgICAgICAkZW50cnlhcnJheSA9IGFycmF5KCk7CgoJCSRzdGFydEF0RW5kID0gZmFsc2U7CgkJaWYgKCRzdGFydEF0RW5kKQoJCQl7CgkJCSRzdGFydF9xdWVzdGlvbiA9IChpc3NldCgkcGFyYW1zWydxdWVzdGlvbiddKT8kcGFyYW1zWydxdWVzdGlvbiddOjApOwoJCQl9CgkJZWxzZQoJCQl7CgkJCSRzdGFydF9xdWVzdGlvbiA9IChpc3NldCgkcGFyYW1zWydxenpfcHJldnF1ZXN0aW9uJ10pPyRwYXJhbXNbJ3F6el9wcmV2cXVlc3Rpb24nXTowKTsKCQkJfQoJCQkKCQkkc3RhcnRQYWdlID0gKGlzc2V0KCRwYXJhbXNbJ3F6el9wYWdlJ10pPyRwYXJhbXNbJ3F6el9wYWdlJ106MSk7CgoKCgkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdpbmF0aW9uJywnY291bnQnKSA9PSAnY291bnQnKQoJCQl7CgkJCSRudW1iZXJfdG9fYWRkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfcXVlc3Rpb25zJywnMTAnKTsKCQkJfQoJCWVsc2UKCQkJewoJCQkkbnVtYmVyX3RvX2FkZCA9IDEwMDAwOyAvLyBzdXJlbHkgbm8gcmVhc29uYWJsZSBxdWl6IGhhcyAxMDAwMCBxdWVzdGlvbnMuLi4gKGZhbW91cyBsYXN0IHdvcmRzKQoJCQl9CgoJCSRxdWVyeSA9ICJTRUxFQ1QgcXVlc3Rpb25faWQsIHF1ZXN0aW9uLCB0aXRsZSwgcXVlc3Rpb25fdHlwZSwgaXNfc2NvcmVkLCBvcmRlcl9ieSBGUk9NICIuCiAgICAgICAgCWNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3F6X3F1ZXN0aW9ucyBXSEVSRSBxdWl6X2lkPT8gT1JERVIgYnkgb3JkZXJfYnkiOwogICAgICAKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ3F1aXpfaWQnXSkpOwoKCQkkcXVlc3Rpb25fY291bnQgPSAwOwoJCSRwYWdlID0gMTsKCQkkcXVlc3Rpb25fbnVtYmVyID0gMTsKCQkkYnJlYWtfYWZ0ZXJfcHJldiA9IGZhbHNlOwoKCQl3aGlsZSAoJGRicmVzdWx0ICE9PSBmYWxzZSAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICAgIHsKICAgICAgICAJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJCQkkaW5jciA9IGZhbHNlOwoJCQlpZiAoJGJyZWFrX2FmdGVyX3ByZXYpCgkJCQl7CgkJCQkkcGFnZSsrOwoJCQkJJGJyZWFrX2FmdGVyX3ByZXYgPSBmYWxzZTsKCQkJCX0KCQkJaWYgKCRyb3dbJ3F1ZXN0aW9uX3R5cGUnXSA9PSAnbScgfHwgJHJvd1sncXVlc3Rpb25fdHlwZSddID09ICdmJyB8fCAkcm93WydxdWVzdGlvbl90eXBlJ10gPT0gJ2MnKQoJCQkJewoJCQkJJG9uZXJvdy0+bnVtID0gJHF1ZXN0aW9uX251bWJlcisrOwoJCQkJJHF1ZXN0aW9uX2NvdW50Kys7CgkJCQl9CgkJCWVsc2UgaWYgKCRyb3dbJ3F1ZXN0aW9uX3R5cGUnXSA9PSAncycpCgkJCQl7CgkJCQkkb25lcm93LT5udW0gPSAnJzsKCQkJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVudW1iZXJfYnlfc2VjdGlvbicsJycpID09ICcxJykKCQkJCQl7CgkJCQkJJHF1ZXN0aW9uX251bWJlciA9IDE7CgkJCQkJfQoJCQkJfQoJCQllbHNlIGlmICgkcm93WydxdWVzdGlvbl90eXBlJ10gPT0gJ2InKQoJCQkJewoJCQkJJHBhZ2UrKzsKCQkJCX0KCQkJZWxzZSBpZiAoJHJvd1sncXVlc3Rpb25fdHlwZSddID09ICdwJykKCQkJCXsKCQkJCSRicmVha19hZnRlcl9wcmV2ID0gdHJ1ZTsKCQkJCX0KCQkJZWxzZQoJCQkJewoJCQkJJG9uZXJvdy0+bnVtID0gJyc7CgkJCQl9CgkJCQoJCQlpZiAoJGdldGFsbCB8fCAkcGFnZSA9PSAkc3RhcnRQYWdlKQoJCQkJewoJCQkJJG9uZXJvdy0+aWQgPSAkcm93WydxdWVzdGlvbl9pZCddOwoJCQkJJG9uZXJvdy0+cXVlc3Rpb24gPSAkcm93WydxdWVzdGlvbiddOwoJCQkJJG9uZXJvdy0+dGl0bGUgPSBpc3NldCgkcm93Wyd0aXRsZSddKT8kcm93Wyd0aXRsZSddOicnOwoJCQkJJG9uZXJvdy0+dHlwZSA9ICRyb3dbJ3F1ZXN0aW9uX3R5cGUnXTsKCQkJCSRvbmVyb3ctPm9yZGVyX2J5ID0gJHJvd1snb3JkZXJfYnknXTsKCQkJCSRvbmVyb3ctPmlzX3Njb3JlZCA9ICRyb3dbJ2lzX3Njb3JlZCddP3RydWU6ZmFsc2U7CgkJCQkkb25lcm93LT5yYXdhbnN3ZXJzID0gYXJyYXkoKTsKCQkJCSRvbmVyb3ctPmNvcnJlY3RhbnN3ZXJzID0gYXJyYXkoKTsKCQkJCSRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dID0gJG9uZXJvdzsKCQkJCX0KCQkJaWYgKCRxdWVzdGlvbl9jb3VudCA9PSAkbnVtYmVyX3RvX2FkZCkKCQkJCXsKCQkJCSRxdWVzdGlvbl9jb3VudCA9IDA7CgkJCQkkcGFnZSsrOwoJCQkJJGluY3IgPSB0cnVlOwoJCQkJfQoJCX0KCQkKCQkvLyB3YXMgb3VyIGxhc3QgcXVlc3Rpb24gb24gYW4gaW5jcmVtZW50IHRocmVzaG9sZD8gSWYgc28sIGdldCByaWQgb2YgdGhlIGV4dHJhIHBhZ2UuCgkJaWYgKCRpbmNyKQoJCQl7CgkJCSRwYWdlLS07CgkJCX0KCgkJZm9yZWFjaChhcnJheV9rZXlzKCRlbnRyeWFycmF5KSBhcyAkaSkKCQkJewoJCQlpZiAoJGVudHJ5YXJyYXlbJGldLT50eXBlID09ICdwJyAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc21hcnR5X3BhZ2VzJywgJzAnKSA9PSAnMScpCgkJCQl7CgkJCQkkZW50cnlhcnJheVskaV0tPnF1ZXN0aW9uID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCAkZW50cnlhcnJheVskaV0tPnF1ZXN0aW9uICk7CgkJCQl9CgkJCWVsc2UgaWYgKCRlbnRyeWFycmF5WyRpXS0+dHlwZSA9PSAnbScpCgkJCQl7CgkJCQkvLyBtdWx0aXBsZS1jaG9pY2UKICAgICAgICAJCSRxdWVyeSA9ICJTRUxFQ1QgYW5zd2VyX2lkLCBhbnN3ZXIsIGlzX2NvcnJlY3QgRlJPTSAiLgogICAgICAgIAkJCWNtc19kYl9wcmVmaXgoKS4KICAgICAgICAJCQkibW9kdWxlX3F6X2Fuc3dlcnMgV0hFUkUgcXVlc3Rpb25faWQ9PyBhbmQgcXVpel9pZD0/ICIuCiAgICAgICAgCQkJIm9yZGVyIGJ5IGFuc3dlcl9pZCI7CiAgICAgICAgCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAogICAgICAgIAkJCWFycmF5KCRlbnRyeWFycmF5WyRpXS0+aWQsJHBhcmFtc1sncXVpel9pZCddKSk7CgoJCQkJJGFjb3VudCA9IDA7CiAgICAgICAgCQl3aGlsZSAoJGRicmVzdWx0ICE9PSBmYWxzZSAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICAgIAkJCXsKCQkJCQkkZW50cnlhcnJheVskaV0tPnJhd2Fuc3dlcnNbJHJvd1snYW5zd2VyX2lkJ11dID0gJHJvd1snYW5zd2VyJ107CgkJCQkJaWYgKCFlbXB0eSgkcm93Wydpc19jb3JyZWN0J10pKQoJCQkJCQl7CgkJCQkJCSRlbnRyeWFycmF5WyRpXS0+Y29ycmVjdGFuc3dlcnNbMF0gPSAkcm93WydhbnN3ZXJfaWQnXTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJZWxzZSBpZiAoJGVudHJ5YXJyYXlbJGldLT50eXBlID09ICdmJykKCQkJCXsKCQkJCS8vIGZpbGwgaW4gdGhlIGJsYW5rCiAgICAgICAgCQkkcXVlcnkgPSAiU0VMRUNUIGFuc3dlcl9pZCwgYW5zd2VyIEZST00gIi4KICAgICAgICAJCQljbXNfZGJfcHJlZml4KCkuCiAgICAgICAgCQkJIm1vZHVsZV9xel9hbnN3ZXJzIFdIRVJFIHF1ZXN0aW9uX2lkPT8gYW5kIHF1aXpfaWQ9PyAiLgogICAgICAgIAkJCSJvcmRlciBieSBhbnN3ZXJfaWQiOwogICAgICAgIAkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZW50cnlhcnJheVskaV0tPmlkLAogICAgICAgIAkJCQkkcGFyYW1zWydxdWl6X2lkJ10pKTsKICAgICAgICAJCSRjb3JpbmQgPSAwOwoJCQkJd2hpbGUgKCRkYnJlc3VsdCAhPT0gZmFsc2UgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAgICAgICAJCQl7CiAgICAgICAgCQkJJGVudHJ5YXJyYXlbJGldLT5jb3JyZWN0YW5zd2Vyc1skY29yaW5kXSA9ICRyb3dbJ2Fuc3dlciddOwogICAgICAgIAkJCSRlbnRyeWFycmF5WyRpXS0+cmF3YW5zd2Vyc1skY29yaW5kXSA9ICRyb3dbJ2Fuc3dlciddOwogICAgICAgIAkJCSRlbnRyeWFycmF5WyRpXS0+YW5zd2VyaWRzWyRjb3JpbmRdID0gJHJvd1snYW5zd2VyX2lkJ107CiAgICAgICAgCQkJJGNvcmluZCsrOwogICAgICAgIAkJCX0KCQkJCX0KCQkJZWxzZSBpZiAoJGVudHJ5YXJyYXlbJGldLT50eXBlID09ICdjJykKCQkJCXsKICAgICAgICAJCSRxdWVyeSA9ICJTRUxFQ1QgYW5zd2VyLGFuc3dlcl9pZCxpc19jb3JyZWN0IEZST00gIi4KICAgICAgICAJCQljbXNfZGJfcHJlZml4KCkuCiAgICAgICAgCQkJIm1vZHVsZV9xel9hbnN3ZXJzIFdIRVJFIHF1ZXN0aW9uX2lkPT8gYW5kIHF1aXpfaWQ9PyAiLgogICAgICAgIAkJCSJvcmRlciBieSBhbnN3ZXJfaWQiOwogICAgICAgIAkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZW50cnlhcnJheVskaV0tPmlkLAogICAgICAgIAkJCQkkcGFyYW1zWydxdWl6X2lkJ10pKTsKCQkJCXdoaWxlICgkZGJyZXN1bHQgIT09IGZhbHNlICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgICAgICAgCQkJewogICAgICAgIAkJCSRlbnRyeWFycmF5WyRpXS0+Y29ycmVjdGFuc3dlcnNbJHJvd1snYW5zd2VyX2lkJ11dID0gJHJvd1snaXNfY29ycmVjdCddOwogICAgICAgIAkJCSRlbnRyeWFycmF5WyRpXS0+cmF3YW5zd2Vyc1skcm93WydhbnN3ZXJfaWQnXV0gPSAkcm93WydhbnN3ZXInXTsKICAgICAgICAJCQl9CgkJCQl9CgkJCX0KCQkJCQkKCQkkcmV0dXJuT2JqID0gbmV3IHN0ZENsYXNzKCk7CgkJJHJldHVybk9iai0+cXVlc3Rpb25zID0gJGVudHJ5YXJyYXk7CgkJJHJldHVybk9iai0+cGFnZV9jb3VudCA9ICRwYWdlOwoJCSRyZXR1cm5PYmotPnRoaXNfcGFnZSA9ICRzdGFydFBhZ2U7CgkJcmV0dXJuICRyZXR1cm5PYmo7Cgl9CgkKCQoJCgkKCQoKICAgIGZ1bmN0aW9uIG1ha2VRdWVzdGlvbnNGb3JtcygkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQsICR3aXRoQW5zd2Vycz1mYWxzZSwgJiRlbnRyeWFycmF5KQogICAgewogICAgICAgIGdsb2JhbCAkZ0NtczsKCQkkZGIgPSYgJGdDbXMtPkdldERiKCk7CgkJJGhhc1RleHRJbnB1dCA9IGZhbHNlOwoJCSRhbnN3ZXJhcnJheSA9IGFycmF5KCk7CgoJCSR0YWtlcl9pZCA9ICR0aGlzLT5nZXRUYWtlcklkKCRwYXJhbXNbJ3F1aXpfaWQnXSk7CgogICAgICAgICRxdWVyeSA9ICJTRUxFQ1QgY291bnQocXVlc3Rpb25faWQpIEZST00gIi4KICAgICAgICAJY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcXpfcXVlc3Rpb25zIFdIRVJFIHF1aXpfaWQ9PyI7CiAgICAgICAgJHRvdGFsX3F1ZXN0aW9ucyA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkcGFyYW1zWydxdWl6X2lkJ10pKTsKCgkJJHF1ZXJ5ID0gIlNFTEVDVCBxdWVzdGlvbl9pZCwgYW5zd2VyLCBhbnN3ZXJfaWQsIGlzX2NvcnJlY3QgZnJvbSAiLgoJCQljbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9xel9yZXN1bHQgd2hlcmUgcXVpel9pZD0/IGFuZCB0YWtlcl9pZD0/IjsKCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1sncXVpel9pZCddLCR0YWtlcl9pZCkpOwogICAgICAgIHdoaWxlICgkZGJyZXN1bHQgIT09IGZhbHNlICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgICAgICAgewogICAgICAgIAlpZiAoISBpc3NldCgkZW50cnlhcnJheVskcm93WydxdWVzdGlvbl9pZCddXSkpCiAgICAgICAgCQl7CiAgICAgICAgCQkvLyBza2lwIHRoaXMKICAgICAgICAJCX0KICAgICAgICAJZWxzZSBpZiAoJGVudHJ5YXJyYXlbJHJvd1sncXVlc3Rpb25faWQnXV0tPnR5cGUgPT0gJ20nKQogICAgICAgIAkJewogICAgICAgIAkJJGFuc3dlcmFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dWzBdID0gJHJvd1snYW5zd2VyX2lkJ107CiAgICAgICAgCQl9CiAgICAgICAgCWVsc2UgaWYgKCRlbnRyeWFycmF5WyRyb3dbJ3F1ZXN0aW9uX2lkJ11dLT50eXBlID09ICdmJykKICAgICAgICAJCXsKICAgICAgICAJCSRhbnN3ZXJhcnJheVskcm93WydxdWVzdGlvbl9pZCddXVtdID0gJHRoaXMtPmh0bWxfZW50aXR5X2RlY29kZV91dGY4KCRyb3dbJ2Fuc3dlciddKTsKICAgICAgICAJCX0KICAgICAgICAJZWxzZSBpZiAoJGVudHJ5YXJyYXlbJHJvd1sncXVlc3Rpb25faWQnXV0tPnR5cGUgPT0gJ2MnKQogICAgICAgIAkJewogICAgICAgIAkJaWYgKCRyb3dbJ2lzX2NvcnJlY3QnXSA9PSAxKQogICAgICAgIAkJCXsKCQkJCQkkYW5zd2VyYXJyYXlbJHJvd1sncXVlc3Rpb25faWQnXV1bJHJvd1snYW5zd2VyX2lkJ11dID0KCQkJCQkJJGVudHJ5YXJyYXlbJHJvd1sncXVlc3Rpb25faWQnXV0tPmNvcnJlY3RhbnN3ZXJzWyRyb3dbJ2Fuc3dlcl9pZCddXTsKCQkJCQl9CgkJCQllbHNlCgkJCQkJewoJCQkJCSRhbnN3ZXJhcnJheVskcm93WydxdWVzdGlvbl9pZCddXVskcm93WydhbnN3ZXJfaWQnXV0gPSAxIC0KCQkJCQkJJGVudHJ5YXJyYXlbJHJvd1sncXVlc3Rpb25faWQnXV0tPmNvcnJlY3RhbnN3ZXJzWyRyb3dbJ2Fuc3dlcl9pZCddXTsKCQkJCQl9CgkJCQl9CiAgICAgICAgfQoKCQlmb3JlYWNoKGFycmF5X2tleXMoJGVudHJ5YXJyYXkpIGFzICRpKQoJCQl7CgkJCWlmICgkd2l0aEFuc3dlcnMpCgkJCQl7CgkJCQkkZW50cnlhcnJheVskaV0tPnR5cGVmaWVsZCA9ICc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInLgoJCQkJCSRpZC4ncXp6X3RfJy4kZW50cnlhcnJheVskaV0tPmlkLiciIHZhbHVlPSInLgoJCQkJCSRlbnRyeWFycmF5WyRpXS0+dHlwZS4nIiAvPic7CgkJCQl9CgkJCWlmICgkZW50cnlhcnJheVskaV0tPnR5cGUgPT0gJ20nKQoJCQkJewoJCQkJLy8gbXVsdGlwbGUtY2hvaWNlCgkJCQkkYWNvdW50ID0gMDsKCQkJCSRlbnRyeWFycmF5WyRpXS0+YW5zd2VycyA9IGFycmF5KCk7CiAgICAgICAgCQlmb3JlYWNoICgkZW50cnlhcnJheVskaV0tPnJhd2Fuc3dlcnMgYXMgJHJhd0tleT0+JHJhd1ZhbCkKICAgICAgICAJCQl7CgkJCQkJJGVudHJ5YXJyYXlbJGldLT5hbnN3ZXJzWyRhY291bnRdID0gCgkJCQkJCSc8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9IicuJGlkLidxenpfcV8nLgoJCQkJCQkkZW50cnlhcnJheVskaV0tPmlkLgoJCQkJCQknIiBpZD0iYV8nLiRyYXdLZXkuCgkJCQkJCSciIHZhbHVlPSInLiRyYXdLZXkuCgkJCQkJCSciJzsKCQkJCQlpZiAoKGlzc2V0KCRhbnN3ZXJhcnJheVskZW50cnlhcnJheVskaV0tPmlkXVswXSkgJiYKCQkJCQkJJGFuc3dlcmFycmF5WyRlbnRyeWFycmF5WyRpXS0+aWRdWzBdID09ICRyYXdLZXkpIHx8CgkJCQkJCSgkd2l0aEFuc3dlcnMgJiYKCQkJCQkJaXNzZXQoJGVudHJ5YXJyYXlbJGldLT5jb3JyZWN0YW5zd2Vyc1swXSkgJiYKCQkJCQkJJGVudHJ5YXJyYXlbJGldLT5jb3JyZWN0YW5zd2Vyc1swXSA9PSAkcmF3S2V5KSkKCQkJCQkJewoJCQkJCQkkZW50cnlhcnJheVskaV0tPmFuc3dlcnNbJGFjb3VudF0gLj0gJyBjaGVja2VkPSJjaGVja2VkIic7CgkJCQkJCX0KCQkJCQkkZW50cnlhcnJheVskaV0tPmFuc3dlcnNbJGFjb3VudF0gLj0KCQkJCQkJJyAvPjxsYWJlbCBmb3I9ImFfJy4KCQkJCQkJJHJhd0tleS4nIj4nLgoJCQkJCQkkcmF3VmFsLgoJCQkJCQknPC9sYWJlbD4nOwoJCQkJCSRhY291bnQrKzsKCQkJCQl9CgkJCQl9CgkJCWVsc2UgaWYgKCRlbnRyeWFycmF5WyRpXS0+dHlwZSA9PSAnZicpCgkJCQl7CgkJCQkvLyBmaWxsLWluLXRoZS1ibGFuawoJCQkJJGhhc1RleHRJbnB1dCA9IHRydWU7CgoJCQkJJHZhbHVlcyA9IGFycmF5KCk7CgkJCQlmb3IgKCRqPTA7JGo8Y291bnQoJGVudHJ5YXJyYXlbJGldLT5jb3JyZWN0YW5zd2Vycyk7JGorKykKCQkJCQl7CgkJCQkJJGxlbiA9IDE1OwoJCQkJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZmlsbGluX2xlbicsJzAnKSA9PSAnMScpCgkJCQkJCXsKCQkJCQkJJGxlbiA9IHN0cmxlbigkZW50cnlhcnJheVskaV0tPmNvcnJlY3RhbnN3ZXJzWyRqXSkgKwoJCQkJCQkJcmFuZCgwLDMpOwoJCQkJCQl9CgkJCQkJaWYgKCR3aXRoQW5zd2VycykKCQkJCQkJewoJCQkJCQkkbGVuID0KCQkJCQkJCXN0cmxlbigkZW50cnlhcnJheVskaV0tPmNvcnJlY3RhbnN3ZXJzWyRqXSk7CgkJCQkJCWlmICgkbGVuIDwgMSkKCQkJCQkJCXsKCQkJCQkJCSRsZW4gPSAxMDsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCWlmIChpc3NldCgkYW5zd2VyYXJyYXlbJGVudHJ5YXJyYXlbJGldLT5pZF1bJGpdKSkKCQkJCQkJewoJCQkJCQkkdmFsID0gJGFuc3dlcmFycmF5WyRlbnRyeWFycmF5WyRpXS0+aWRdWyRqXTsKCQkJCQkJfQoJCQkJCWVsc2UKCQkJCQkJewoJCQkJCQkkdmFsID0gJyc7CgkJCQkJCX0KCQkJCQlpZiAoJHdpdGhBbnN3ZXJzKQoJCQkJCQl7CgkJCQkJCSR2YWwgPSAkZW50cnlhcnJheVskaV0tPmNvcnJlY3RhbnN3ZXJzWyRqXTsKCQkJCQkJfQoJCQkJCWlmICgkd2l0aEFuc3dlcnMpCgkJCQkJCXsKCQkJCQkJJHZhbHVlc1skal0gPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwncXp6X3FfJy4KCQkJCQkJCSRlbnRyeWFycmF5WyRpXS0+aWQuJ18nLgoJCQkJCQkJJGVudHJ5YXJyYXlbJGldLT5hbnN3ZXJpZHNbJGpdLCR2YWwsJGxlbiwgMjU1KTsKCQkJCQkJfQoJCQkJCWVsc2UKCQkJCQkJewoJCQkJCQkkdmFsdWVzWyRqXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncXp6X3FfJy4KCQkJCQkJCSRlbnRyeWFycmF5WyRpXS0+aWQuJ1tdJywkdmFsLCRsZW4sIDI1NSk7CgkJCQkJCX0KCQkJCQl9CgkJCQkkZW50cnlhcnJheVskaV0tPnF1ZXN0aW9uID0gJHRoaXMtPnJlcGxhY2VCbGFua3NXaXRoVmFsdWVzKCRlbnRyeWFycmF5WyRpXS0+cXVlc3Rpb24sICR2YWx1ZXMpOwoJCQkJfQoJCQllbHNlIGlmICgkZW50cnlhcnJheVskaV0tPnR5cGUgPT0gJ2MnKQoJCQkJewoJCQkJJGFjb3VudCA9IDA7CgkJCQkkZW50cnlhcnJheVskaV0tPmFuc3dlcnMgPSBhcnJheSgpOwogICAgICAgIAkJZm9yZWFjaCAoJGVudHJ5YXJyYXlbJGldLT5yYXdhbnN3ZXJzIGFzICRyYXdLZXk9PiRyYXdWYWwpCiAgICAgICAgCQkJewoJCQkJCSRlbnRyeWFycmF5WyRpXS0+YW5zd2Vyc1skYWNvdW50XSA9CgkJCQkJCSc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9IicuJGlkLidxenpfcV8nLgoJCQkJCQkkZW50cnlhcnJheVskaV0tPmlkLgoJCQkJCQknW10iIGlkPSJhXycuJHJhd0tleS4KCQkJCQkJJyIgdmFsdWU9IicuJHJhd0tleS4nIic7CgkJCQkJaWYgKChpc3NldCgkYW5zd2VyYXJyYXlbJGVudHJ5YXJyYXlbJGldLT5pZF1bJHJhd0tleV0pICYmCgkJCQkJCSRhbnN3ZXJhcnJheVskZW50cnlhcnJheVskaV0tPmlkXVskcmF3S2V5XSA9PSAxKSB8fAoJCQkJCQkoJHdpdGhBbnN3ZXJzICYmICRlbnRyeWFycmF5WyRpXS0+Y29ycmVjdGFuc3dlcnNbJHJhd0tleV0gPT0gMSkpCgkJCQkJCXsKCQkJCQkJJGVudHJ5YXJyYXlbJGldLT5hbnN3ZXJzWyRhY291bnRdIC49ICcgY2hlY2tlZD0iY2hlY2tlZCInOwoJCQkJCQl9CgkJCQkJJGVudHJ5YXJyYXlbJGldLT5hbnN3ZXJzWyRhY291bnRdIC49CgkJCQkJCScgLz48bGFiZWwgZm9yPSJhXycuCgkJCQkJCSRyYXdLZXkuJyI+Jy4KCQkJCQkJJHJhd1ZhbC4KCQkJCQkJJzwvbGFiZWw+JzsKCQkJCQkkYWNvdW50Kys7CgkJCQkJfQoJCQkJfQkJCQkKCQkJfQoKCXJldHVybiAkaGFzVGV4dElucHV0OwogICAgfQoKCWZ1bmN0aW9uICZnZXRFbnRpcmVRdWl6KCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCkKCXsKCQkvL3JldHVybiAkdGhpcy0+Z2V0UXVlc3Rpb25zRm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgdHJ1ZSk7CgkJcmV0dXJuICR0aGlzLT5nZXRRdWVzdGlvbnNJblJhbmdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCB0cnVlKTsKCX0KICAgICAgICAKICAgICAgICAKCWZ1bmN0aW9uIHRlc3Rmb3Jjb3JyZWN0KCR2YXIpCgl7CgkJcmV0dXJuICghJHZhci0+Y29ycmVjdCAmJiAoJHZhci0+dHlwZSA9PSAnZicgfHwgJHZhci0+dHlwZSA9PSAnbScgfHwgJHZhci0+dHlwZSA9PSAnYycpKTsKCX0KICAgICAgICAKCWZ1bmN0aW9uIFN1cHByZXNzQWRtaW5PdXRwdXQoJiRyZXF1ZXN0KQogICB7CiAgICAgIGlmIChzdHJwb3MoJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddLCdleHBvcnRxdWl6JykgIT09IGZhbHNlKQogICAgICAgICB7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgIHJldHVybiBmYWxzZTsKICAgfQoKCglmdW5jdGlvbiAmZ2V0RXh0cmFzKCkKCXsKCQlnbG9iYWwgJGdDbXM7CgkJJGRiID0mICRnQ21zLT5HZXREYigpOwoKCQkkZXh0cmFzID0gYXJyYXkoKTsKCQkkcXVlcnkgPSAnc2VsZWN0ICogZnJvbSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3F6X2V4dHJhX2ZpZWxkcyBvcmRlciBieSBmaWVsZF93ZWlnaHQnOwoJICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJCXdoaWxlICgkZGJyZXN1bHQgIT09IGZhbHNlICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkgICAgICAgIHsKCQkJYXJyYXlfcHVzaCgkZXh0cmFzLCRyb3cpOwoJCQl9CgkJcmV0dXJuICRleHRyYXM7Cgl9CgkKCQoJZnVuY3Rpb24gJmdldFBvcHVsYXRlZEV4dHJhRmllbGRzKCRpZCwgJiRwYXJhbXMsICR0YWtlcmlkID0gLTEsICRtYWtlSW5wdXRzID0gZmFsc2UpCgl7CgkJZ2xvYmFsICRnQ21zOwoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCgkJJGV4dHJhcyA9ICR0aGlzLT5nZXRFeHRyYXMoKTsKCQkkcXVlcnkgPSAnc2VsZWN0ICogZnJvbSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3F6X2V4dHJhX3ZhbHMgd2hlcmUgdGFrZXJfaWQ9PyBhbmQgZmllbGRfaWQ9Pyc7CgkJZm9yICgkaT0wOyRpPGNvdW50KCRleHRyYXMpOyRpKyspCgkJCXsKCQkJJHJvdyA9IGFycmF5KCd2YWx1ZSc9PicnKTsKCQkJaWYgKCR0YWtlcmlkID4gMCkKCQkJCXsKCQkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0YWtlcmlkLCRleHRyYXNbJGldWydmaWVsZF9pZCddKSk7CgkJCQlpZiAoJHJlc3VsdCkKCQkJCSAJewoJCQkJCSRyb3c9JHJlc3VsdC0+RmV0Y2hSb3coKTsKCQkJCQl9CgkJCQllbHNlCgkJCQkJewoJCQkJCSRyb3cgPSBhcnJheSgndmFsdWUnPT4nJyk7CgkJCQkJfQoJCQkJfQoJCQkvLyBwYXJhbXMgKGZvcm0tcHJvdmlkZWQgdmFsdWVzKSBvdmVycmlkZSBzdG9yZWQgdmFsdWVzCgkJCWlmIChpc3NldCgkcGFyYW1zWydxenpfZXh0cmFfJy4kZXh0cmFzWyRpXVsnZmllbGRfaWQnXV0pKQoJCQkJewoJCQkJJHJvdyA9IGFycmF5KCd2YWx1ZSc9PiRwYXJhbXNbJ3F6el9leHRyYV8nLiRleHRyYXNbJGldWydmaWVsZF9pZCddXSk7CgkJCQl9CgkJCSRleHRyYXNbJGldWyd2YWx1ZSddID0gJHJvd1sndmFsdWUnXTsKCQkJaWYgKHN1YnN0cigkZXh0cmFzWyRpXVsnZmllbGRfdHlwZSddLDAsMTEpID09ICdleHRyYV9jaGVjaycpCgkJCQl7CgkJCQkkZXh0cmFzWyRpXVsnaHVtYW5fdmFsdWUnXSA9ICgkcm93Wyd2YWx1ZSddID09ICcxJz8nVHJ1ZSc6J0ZhbHNlJyk7CQoJCQkJfQoJCQllbHNlCgkJCQl7CgkJCQkkZXh0cmFzWyRpXVsnaHVtYW5fdmFsdWUnXSA9ICRyb3dbJ3ZhbHVlJ107CQoJCQkJfQoJCQlpZiAoc3Vic3RyKCRleHRyYXNbJGldWydmaWVsZF90eXBlJ10sLTIsMikgPT0gJ19yJykKCQkJCXsKCQkJCSRleHRyYXNbJGldWydyZXF1aXJlZCddID0gdHJ1ZTsKCQkJCX0KCQkJZWxzZQoJCQkJewoJCQkJJGV4dHJhc1skaV1bJ3JlcXVpcmVkJ10gPSBmYWxzZTsKCQkJCX0KCQkJaWYgKCRtYWtlSW5wdXRzKQoJCQkJewoJCQkJJGV4dHJhc1skaV1bJ2lucHV0J10gPSAkdGhpcy0+bWFrZUV4dHJhSW5wdXQoJGlkLCRleHRyYXNbJGldLCAkcm93Wyd2YWx1ZSddKTsKCQkJCSRleHRyYXNbJGldWydsYWJlbCddID0gJzxsYWJlbCBmb3I9IicuJGV4dHJhc1skaV1bJ2ZpZWxkX2lkJ10uJyI+Jy5odG1sZW50aXRpZXMoJGV4dHJhc1skaV1bJ2ZpZWxkX25hbWUnXSxFTlRfUVVPVEVTKS4nPC9sYWJlbD4nOwoJCQkJfQoJCQl9CgkJcmV0dXJuICRleHRyYXM7Cgl9CgkKCWZ1bmN0aW9uIG1ha2VFeHRyYUlucHV0KCRpZCwkZXh0cmEsJHZhbCkKCXsKCQlpZiAoJGV4dHJhWydmaWVsZF90eXBlJ10gIT0gJ2V4dHJhX2NoZWNrJyAmJiAkZXh0cmFbJ2ZpZWxkX3R5cGUnXSAhPSAnZXh0cmFfY2hlY2tfcicpCgkJCXsKCQkJcmV0dXJuICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncXp6X2V4dHJhXycuJGV4dHJhWydmaWVsZF9pZCddLCAkdmFsLCAkZXh0cmFbJ2ZpZWxkX2Rpc3BsYXlfbGVuJ10sICRleHRyYVsnZmllbGRfbWF4X2xlbiddLAoJCQkgCSdpZD0iZXh0cmFfJy4kZXh0cmFbJ2ZpZWxkX2lkJ10uJyInKTsKCQkJfQoJCXJldHVybiAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdxenpfZXh0cmFfJy4kZXh0cmFbJ2ZpZWxkX2lkJ10sIDEsCgkJCQkoKGlzc2V0KCR2YWwpJiYkdmFsID09ICcxJyk/JzEnOicwJyksCgkJCQkgCSdpZD0iZXh0cmFfJy4kZXh0cmFbJ2ZpZWxkX2lkJ10uJyInKTsKCX0KCQoJZnVuY3Rpb24gdmFsaWRhdGVFeHRyYSgmJGV4dHJhLCYkcGFyYW1zKQoJCXsKCQlpZiAoIWlzc2V0KCRwYXJhbXNbJ3F6el9leHRyYV8nLiRleHRyYVsnZmllbGRfaWQnXV0pIHx8IGVtcHR5KCRwYXJhbXNbJ3F6el9leHRyYV8nLiRleHRyYVsnZmllbGRfaWQnXV0pKQoJCQl7CgkJCWlmICgkZXh0cmFbJ2ZpZWxkX3R5cGUnXSA9PSAnZXh0cmFfY2hlY2tfcicpCgkJCQl7CgkJCQlyZXR1cm4gYXJyYXkoZmFsc2UsJHRoaXMtPkxhbmcoJ3ZhbGlkX3JlcXVpcmVkX2NoZWNrJywkZXh0cmFbJ2ZpZWxkX25hbWUnXSkpOwoJCQkJfQoJCQllbHNlCgkJCQl7CgkJCQlyZXR1cm4gYXJyYXkoZmFsc2UsJHRoaXMtPkxhbmcoJ3ZhbGlkX3JlcXVpcmVkX2ZpZWxkJywkZXh0cmFbJ2ZpZWxkX25hbWUnXSkpOwoJCQkJfQoJCQl9CgkJaWYgKCRleHRyYVsnZmllbGRfdHlwZSddID09ICdleHRyYV9udW1iZXJfcicgJiYgISBpc19udW1lcmljKCRwYXJhbXNbJ3F6el9leHRyYV8nLiRleHRyYVsnZmllbGRfaWQnXV0pKQoJCQl7CgkJCXJldHVybiBhcnJheShmYWxzZSwkdGhpcy0+TGFuZygndmFsaWRfcmVxdWlyZWRfbnVtYmVyJywkZXh0cmFbJ2ZpZWxkX25hbWUnXSkpOwoJCQl9CgkJaWYgKCRleHRyYVsnZmllbGRfdHlwZSddID09ICdleHRyYV9waG9uZV9yJyAmJiAhIHByZWdfbWF0Y2goJy9eKFxkW1xzXC4tXT8pP1woP1xkezN9XCk/W1xzXC4tXT9cZHszfVtcc1wuLV0/XGR7NH0kLycsCgkJCSRwYXJhbXNbJ3F6el9leHRyYV8nLiRleHRyYVsnZmllbGRfaWQnXV0pKQoJCQl7CgkJCXJldHVybiBhcnJheShmYWxzZSwkdGhpcy0+TGFuZygndmFsaWRfcmVxdWlyZWRfcGhvbmUnLCAkZXh0cmFbJ2ZpZWxkX25hbWUnXSkpOwoJCQl9CgkJcmV0dXJuIGFycmF5KHRydWUsJycpOwoJCX0KCQkKCWZ1bmN0aW9uIGltcG9ydFF1aXooJiRpbl9maWxlKQoJewoJZ2xvYmFsICRnQ21zOwoJJGRiID0mICRnQ21zLT5HZXREYigpOwoKCSRxdWl6X2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel9xdWl6emVzX3NlcScpOwoKCSRxdWl6bGluZSA9IGV4cGxvZGUoIlx0IiwkaW5fZmlsZVswXSk7CgkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy4gY21zX2RiX3ByZWZpeCgpLgoJCQkJJ21vZHVsZV9xel9xdWl6emVzIChxdWl6X2lkLCBuYW1lLCBkZXNjcmlwdGlvbikgVkFMVUVTICg/LD8sPyknOwoKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHF1aXpfaWQsCiAgICAgICAgICAgICAgIAkkcXVpemxpbmVbMF0sJHF1aXpsaW5lWzFdKSk7CgoJZm9yICgkaT0xOyRpPGNvdW50KCRpbl9maWxlKTskaSsrKQoJCXsKCQkkcXVlc3Rpb25faWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3F6X3F1ZXN0aW9uc19zZXEnKTsKCQkkdGhpc3EgPSBleHBsb2RlKCJcdCIsJGluX2ZpbGVbJGldKTsKCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy4gY21zX2RiX3ByZWZpeCgpLgoJCQkJCSdtb2R1bGVfcXpfcXVlc3Rpb25zIChxdWVzdGlvbl9pZCwgcXVpel9pZCwgIHF1ZXN0aW9uX3R5cGUsb3JkZXJfYnksaXNfc2NvcmVkLHF1ZXN0aW9uKSBWQUxVRVMgKD8sPyw/LD8sMSw/KSc7CgoJCWlmIChpc19udW1lcmljKCR0aGlzcVswXSkpCgkJCXsKCQkJJG51bSA9IGFycmF5X3NoaWZ0KCR0aGlzcSk7CgkJCX0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRxdWVzdGlvbl9pZCwKCQkJCQkkcXVpel9pZCwKCQkJCQlhcnJheV9zaGlmdCgkdGhpc3EpLAoJCQkJCSRpLAoJCQkJCWFycmF5X3NoaWZ0KCR0aGlzcSkpKTsKCQkkaiA9IDA7CgkJd2hpbGUgKGlzc2V0KCR0aGlzcVskal0pICYmICFzdHJsZW4oJHRoaXNxWyRqXSkgPT0gMCkKCQkJewoJCQkkYW5zd2VyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel9hbnN3ZXJzX3NlcScpOwoKCQkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcXpfYW5zd2VycyAoYW5zd2VyX2lkLCBxdWVzdGlvbl9pZCwgcXVpel9pZCwgaXNfY29ycmVjdCwgYW5zd2VyKSBWQUxVRVMgKD8sPyw/LD8sPyknOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRhbnN3ZXJfaWQsCgkJCQkkcXVlc3Rpb25faWQsCgkJCQkkcXVpel9pZCwKCQkJCSR0aGlzcVskal0sCgkJCQlpc3NldCgkdGhpc3FbJGorMV0pPyR0aGlzcVskaisxXTonJykpOwoJCQkkaiArPSAyOwoJCQl9CgkJfQoJfQoKICBmdW5jdGlvbiBpbXBvcnRRdWl6WE1MKCRpZCwmJHBhcmFtcykKICB7CglnbG9iYWwgJGdDbXM7CgkkZGIgPSYgJGdDbXMtPkdldERiKCk7CgogIAkvLyB4bWxfcGFyc2VyX2NyZWF0ZSwgeG1sX3BhcnNlX2ludG9fc3RydWN0CiAgCSRwYXJzZXIgPSB4bWxfcGFyc2VyX2NyZWF0ZSgnJyk7CiAgIHhtbF9wYXJzZXJfc2V0X29wdGlvbiggJHBhcnNlciwgWE1MX09QVElPTl9DQVNFX0ZPTERJTkcsIDAgKTsKICAgeG1sX3BhcnNlcl9zZXRfb3B0aW9uKCAkcGFyc2VyLCBYTUxfT1BUSU9OX1NLSVBfV0hJVEUsIDAgKTsgLy8gd2FzIDEKCXhtbF9wYXJzZV9pbnRvX3N0cnVjdCgkcGFyc2VyLAoJCWZpbGVfZ2V0X2NvbnRlbnRzKCRfRklMRVNbJGlkLid0ZXh0ZmlsZSddWyd0bXBfbmFtZSddKSwKCQkkdmFscyk7Cgl4bWxfcGFyc2VyX2ZyZWUoJHBhcnNlcik7CgkkZWxlbWVudHMgPSBhcnJheSgpOwoJJHN0YWNrID0gYXJyYXkoKTsKCWZvcmVhY2ggKCAkdmFscyBhcyAkdGFnICkKCQl7CgkJJGluZGV4ID0gY291bnQoICRlbGVtZW50cyApOwoJCWlmICggJHRhZ1sndHlwZSddID09ICJjb21wbGV0ZSIgfHwgJHRhZ1sndHlwZSddID09ICJvcGVuIiApCgkJCXsKCQkJJGVsZW1lbnRzWyRpbmRleF0gPSBhcnJheSgpOwoJCQkkZWxlbWVudHNbJGluZGV4XVsnbmFtZSddID0gJHRhZ1sndGFnJ107CgkJCSRlbGVtZW50c1skaW5kZXhdWydhdHRyaWJ1dGVzJ10gPSBlbXB0eSgkdGFnWydhdHRyaWJ1dGVzJ10pID8gIiIgOiAkdGFnWydhdHRyaWJ1dGVzJ107CgkJCSRlbGVtZW50c1skaW5kZXhdWydjb250ZW50J10gICAgPSBlbXB0eSgkdGFnWyd2YWx1ZSddKSA/ICIiIDogJHRhZ1sndmFsdWUnXTsKCQkJaWYgKCAkdGFnWyd0eXBlJ10gPT0gIm9wZW4iICkKCQkJCXsgICAgIyBwdXNoCgkJCQkkZWxlbWVudHNbJGluZGV4XVsnY2hpbGRyZW4nXSA9IGFycmF5KCk7CgkJCQkkc3RhY2tbY291bnQoJHN0YWNrKV0gPSAmJGVsZW1lbnRzOwoJCQkJJGVsZW1lbnRzID0gJiRlbGVtZW50c1skaW5kZXhdWydjaGlsZHJlbiddOwoJCQkJfQogICAgICAgIH0KCQlpZiAoICR0YWdbJ3R5cGUnXSA9PSAiY2xvc2UiICkKCQkJeyAgICAjIHBvcAoJCQkkZWxlbWVudHMgPSAmJHN0YWNrW2NvdW50KCRzdGFjaykgLSAxXTsKCQkJdW5zZXQoJHN0YWNrW2NvdW50KCRzdGFjaykgLSAxXSk7CgkJCX0KCQl9CglpZiAoIWlzc2V0KCRlbGVtZW50c1swXSkgfHwgIWlzc2V0KCRlbGVtZW50c1swXSkgfHwgIWlzc2V0KCRlbGVtZW50c1swXSkpCgkJewoJCS8vcGFyc2luZyBmYWlsZWQsIG9yIGludmFsaWQgZmlsZS4KCQlyZXR1cm4gZmFsc2U7CgkJfQoJJG5hbWUgPSAiIjsKCSRkZXNjID0gIiI7CgkkcXVpeiA9ICRlbGVtZW50c1swXVsnY2hpbGRyZW4nXTsKCWZvciAoJGk9MDskaTxjb3VudCgkcXVpeik7JGkrKykKCQl7CgkJaWYgKCRxdWl6WyRpXVsnbmFtZSddID09ICduYW1lJykKCQkJewoJCQkkbmFtZSA9ICRxdWl6WyRpXVsnY29udGVudCddOwoJCQl9CgkJaWYgKCRxdWl6WyRpXVsnbmFtZSddID09ICdkZXNjcmlwdGlvbicpCgkJCXsKCQkJJGRlc2MgPSAkcXVpelskaV1bJ2NvbnRlbnQnXTsKCQkJfQoJCWlmICgkcXVpelskaV1bJ25hbWUnXSA9PSAncXVlc3Rpb25zJykKCQkJewkKCQkJJHF1ZXN0aW9ucyA9ICRxdWl6WyRpXVsnY2hpbGRyZW4nXTsKCQkJfQoJCX0KCQoJJHF1aXpfaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3F6X3F1aXp6ZXNfc2VxJyk7CgoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuIGNtc19kYl9wcmVmaXgoKS4KCQkJCSdtb2R1bGVfcXpfcXVpenplcyAocXVpel9pZCwgbmFtZSwgZGVzY3JpcHRpb24pIFZBTFVFUyAoPyw/LD8pJzsKCgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRxdWl6X2lkLAogICAgICAgICAgICAgICAJJG5hbWUsJGRlc2MpKTsKCSRxcXVlcnkgPSAnSU5TRVJUIElOVE8gJy4gY21zX2RiX3ByZWZpeCgpLgoJCQkJCSdtb2R1bGVfcXpfcXVlc3Rpb25zIChxdWVzdGlvbl9pZCwgcXVpel9pZCwgIHF1ZXN0aW9uX3R5cGUsb3JkZXJfYnksaXNfc2NvcmVkLHF1ZXN0aW9uKSBWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CgkkYXF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcXpfYW5zd2VycyAoYW5zd2VyX2lkLCBxdWVzdGlvbl9pZCwgcXVpel9pZCwgaXNfY29ycmVjdCwgYW5zd2VyKSBWQUxVRVMgKD8sPyw/LD8sPyknOwoKCSRjb3VudCA9IDA7CgoJZm9yZWFjaCAoJHF1ZXN0aW9ucyBhcyAkdGhpc0NoaWxkKQoJCXsKCQkkYXR0cnMgPSAkdGhpc0NoaWxkWydhdHRyaWJ1dGVzJ107CgkJJHF1ZXN0aW9uX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel9xdWVzdGlvbnNfc2VxJyk7CgkJaWYgKCRhdHRyc1sndHlwZSddID09ICdzJyB8fCAkYXR0cnNbJ3R5cGUnXSA9PSAndCcgfHwKCQkJJGF0dHJzWyd0eXBlJ10gPT0gJ2InKQoJCQl7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXF1ZXJ5LAoJCQkJYXJyYXkoJHF1ZXN0aW9uX2lkLAogICAgICAgICAgICAgICAJCSRxdWl6X2lkLAogICAgICAgICAgICAgICAJCSRhdHRyc1sndHlwZSddLAogICAgICAgICAgICAgICAJCSRjb3VudCwKICAgICAgICAgICAgICAgCQkwLAogICAgICAgICAgICAgICAJCSR0aGlzQ2hpbGRbJ2NoaWxkcmVuJ11bMF1bJ2NvbnRlbnQnXSkpOwoJCQl9CgkJZWxzZSBpZiAoJGF0dHJzWyd0eXBlJ10gPT0gJ20nIHx8ICRhdHRyc1sndHlwZSddID09ICdjJykKCQkJewoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHFxdWVyeSwKCQkJCWFycmF5KCRxdWVzdGlvbl9pZCwKICAgICAgICAgICAgICAgCQkkcXVpel9pZCwKICAgICAgICAgICAgICAgCQkkYXR0cnNbJ3R5cGUnXSwKICAgICAgICAgICAgICAgCQkkY291bnQsCiAgICAgICAgICAgICAgIAkJJGF0dHJzWydpc19zY29yZWQnXSwKICAgICAgICAgICAgICAgCQkkdGhpc0NoaWxkWydjaGlsZHJlbiddWzBdWydjb250ZW50J10pKTsKCQkJCgkJCSRhY291bnQgPSAwOwoJCQlmb3JlYWNoICgkdGhpc0NoaWxkWydjaGlsZHJlbiddWzFdWydjaGlsZHJlbiddIGFzICR0aGlzQW5zd2VyKQoJCQkJewoJCQkJJGFuc3dlcl9pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcXpfYW5zd2Vyc19zZXEnKTsKCQkJCgkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJGFxdWVyeSwKCQkJCWFycmF5KCRhbnN3ZXJfaWQsCgkJCQkJJHF1ZXN0aW9uX2lkLAogICAgICAgICAgICAgICAJCSRxdWl6X2lkLAogICAgICAgICAgICAgICAJCSR0aGlzQW5zd2VyWydhdHRyaWJ1dGVzJ11bJ2lzX2NvcnJlY3QnXSwKICAgICAgICAgICAgICAgCQkkdGhpc0Fuc3dlclsnY29udGVudCddKSk7CgoJCQkJfQoJCQl9CgkJZWxzZSBpZiAoJGF0dHJzWyd0eXBlJ10gPT0gJ2YnKQoJCQl7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXF1ZXJ5LAoJCQkJYXJyYXkoJHF1ZXN0aW9uX2lkLAogICAgICAgICAgICAgICAJCSRxdWl6X2lkLAogICAgICAgICAgICAgICAJCSRhdHRyc1sndHlwZSddLAogICAgICAgICAgICAgICAJCSRjb3VudCwKICAgICAgICAgICAgICAgCQkkYXR0cnNbJ2lzX3Njb3JlZCddLAogICAgICAgICAgICAgICAJCSR0aGlzQ2hpbGRbJ2NoaWxkcmVuJ11bMF1bJ2NvbnRlbnQnXSkpOwoJCQkKCQkJJGFjb3VudCA9IDA7CgkJCWZvcmVhY2ggKCR0aGlzQ2hpbGRbJ2NoaWxkcmVuJ11bMV1bJ2NoaWxkcmVuJ10gYXMgJHRoaXNBbnN3ZXIpCgkJCQl7CgkJCQkkYW5zd2VyX2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9xel9hbnN3ZXJzX3NlcScpOwoJCQkKCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkYXF1ZXJ5LAoJCQkJYXJyYXkoJGFuc3dlcl9pZCwKCQkJCQkkcXVlc3Rpb25faWQsCiAgICAgICAgICAgICAgIAkJJHF1aXpfaWQsCiAgICAgICAgICAgICAgIAkJMSwKICAgICAgICAgICAgICAgCQkkdGhpc0Fuc3dlclsnY29udGVudCddKSk7CgoJCQkJfQoJCQl9CgkJJGNvdW50Kys7CgkJfQoJcmV0dXJuIHRydWU7CQogIH0KCiAgZnVuY3Rpb24gaW5YTUwoJiR2YXIpCiAgewogIAkJaWYgKGlzc2V0KCR2YXIpICYmIHN0cmxlbigkdmFyKSA+IDApCiAgCQkJewoJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCWVsc2UKCQkJewoJCQlyZXR1cm4gZmFsc2U7CgkJCX0KICB9CgoJCglmdW5jdGlvbiByZXBsYWNlQmxhbmtzV2l0aFZhbHVlcygkc3RyaW5nLCAkdmFsdWVzLCAkbGRlbGltPSIiLAoJCSRyZGVsaW09IiIsICRuZXJmX3ZhbHVlcz1mYWxzZSkKCXsKCQkkYW5zX2luZGV4ID0gMDsKCQkkb2Zmc2V0ID0gMDsKCQl3aGlsZSAoc3RycG9zKCRzdHJpbmcsIl8iLCRvZmZzZXQpICE9PSBmYWxzZSkKCQkJewoJCQkkdXMgPSBzdHJwb3MoJHN0cmluZywiXyIsJG9mZnNldCk7CgkJCWlmICgkbmVyZl92YWx1ZXMpCgkJCQl7CgkJCQkkc3RyaW5nID0gc3Vic3RyKCRzdHJpbmcsMCwkdXMpIC4gJGxkZWxpbSAuCgkJCQkJaHRtbGVudGl0aWVzKCR2YWx1ZXNbJGFuc19pbmRleF0pIC4gJHJkZWxpbSAuCgkJCQkJc3Vic3RyKCRzdHJpbmcsJHVzKzEpOwoJCQkJCgkJCQkkb2Zmc2V0ID0gJHVzICsKCQkJCQlzdHJsZW4oaHRtbGVudGl0aWVzKCR2YWx1ZXNbJGFuc19pbmRleF0pKSArCgkJCQkJc3RybGVuKCRsZGVsaW0pICsKCQkJCQlzdHJsZW4oJHJkZWxpbSk7CgkJCQl9CgkJCWVsc2UKCQkJCXsKCQkJCSRzdHJpbmcgPSBzdWJzdHIoJHN0cmluZywwLCR1cykgLiAkbGRlbGltIC4KCQkJCQkoaXNzZXQoJHZhbHVlc1skYW5zX2luZGV4XSk/JHZhbHVlc1skYW5zX2luZGV4XTonJykuCgkJCQkJJHJkZWxpbSAuIHN1YnN0cigkc3RyaW5nLCR1cysxKTsKCQkJCQoJCQkJJG9mZnNldCA9ICR1cyArCgkJCQkJc3RybGVuKChpc3NldCgkdmFsdWVzWyRhbnNfaW5kZXhdKT8kdmFsdWVzWyRhbnNfaW5kZXhdOicnKSkgKwoJCQkJCXN0cmxlbigkbGRlbGltKSArCgkJCQkJc3RybGVuKCRyZGVsaW0pOwoJCQkJfQoJCQkkYW5zX2luZGV4Kys7CgkJCX0KCQlyZXR1cm4gJHN0cmluZzsKCX0KCi8qCiAgIFRoZSBmb2xsb3dpbmcgdHdvIG1ldGhvZHMgY29tZSBzdHJhaWdodCBmcm9tIHRoZSB1c2VyLXN1Ym1pdHRlZCBjb21tZW50cyBhdAogICBodHRwOi8vd3d3LnBocC5uZXQvaHRtbF9lbnRpdHlfZGVjb2RlCiAgIHRvIHJlbWVkeSB0aGUgcHJvYmxlbXMgd2l0aCBQSFAgNC54IGFuZCBodG1sX2VudGl0eV9kZWNvZGUgYW5kIFVURi04CiAgIGlmIHRoaXMgdXNhZ2UgaXMgbm90IGNvbXBsaWFudCB3aXRoIHRoZSAodW5zcGVjaWZpZWQpIGxpY2Vuc2VzIGRlc2lyZWQKICAgYnkgdGhlIGNvbW1lbnQgc3VibWl0dGVycywgdGhlc2UgdHdvIG1ldGhvZHMgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSBidWcKICAgYW5kIHJlcGxhY2VkLgoqLwoKZnVuY3Rpb24gaHRtbF9lbnRpdHlfZGVjb2RlX3V0ZjgoJHN0cmluZykKewogICAgc3RhdGljICR0cmFuc190Ymw7CiAgIAogICAgLy8gcmVwbGFjZSBudW1lcmljIGVudGl0aWVzCiAgICAkc3RyaW5nID0gcHJlZ19yZXBsYWNlKCd+JiN4KFswLTlhLWZdKyk7fmVpJywgJ2NvZGUydXRmKGhleGRlYygiXFwxIikpJywgJHN0cmluZyk7CiAgICAkc3RyaW5nID0gcHJlZ19yZXBsYWNlKCd+JiMoWzAtOV0rKTt+ZScsICdjb2RlMnV0ZihcXDEpJywgJHN0cmluZyk7CgogICAgLy8gcmVwbGFjZSBsaXRlcmFsIGVudGl0aWVzCiAgICBpZiAoIWlzc2V0KCR0cmFuc190YmwpKQogICAgewogICAgICAgICR0cmFuc190YmwgPSBhcnJheSgpOwogICAgICAgCiAgICAgICAgZm9yZWFjaCAoZ2V0X2h0bWxfdHJhbnNsYXRpb25fdGFibGUoSFRNTF9FTlRJVElFUykgYXMgJHZhbD0+JGtleSkKICAgICAgICAgICAgJHRyYW5zX3RibFska2V5XSA9IHV0ZjhfZW5jb2RlKCR2YWwpOwogICAgfQogICAKICAgIHJldHVybiBzdHJ0cigkc3RyaW5nLCAkdHJhbnNfdGJsKTsKfQoKLy8gUmV0dXJucyB0aGUgdXRmIHN0cmluZyBjb3JyZXNwb25kaW5nIHRvIHRoZSB1bmljb2RlIHZhbHVlIChmcm9tIHBocC5uZXQsIGNvdXJ0ZXN5IC0gcm9tYW5zQHZvaWQubHYpCmZ1bmN0aW9uIGNvZGUydXRmKCRudW0pCiB7CiAgICBpZiAoJG51bSA8IDEyOCkgcmV0dXJuIGNocigkbnVtKTsKICAgIGlmICgkbnVtIDwgMjA0OCkgcmV0dXJuIGNocigoJG51bSA+PiA2KSArIDE5MikgLiBjaHIoKCRudW0gJiA2MykgKyAxMjgpOwogICAgaWYgKCRudW0gPCA2NTUzNikgcmV0dXJuIGNocigoJG51bSA+PiAxMikgKyAyMjQpIC4gY2hyKCgoJG51bSA+PiA2KSAmIDYzKSArIDEyOCkgLiBjaHIoKCRudW0gJiA2MykgKyAxMjgpOwogICAgaWYgKCRudW0gPCAyMDk3MTUyKSByZXR1cm4gY2hyKCgkbnVtID4+IDE4KSArIDI0MCkgLiBjaHIoKCgkbnVtID4+IDEyKSAmIDYzKSArIDEyOCkgLiBjaHIoKCgkbnVtID4+IDYpICYgNjMpICsgMTI4KSAuIGNocigoJG51bSAmIDYzKSArIDEyOCk7CiAgICByZXR1cm4gJyc7CiB9CgoJZnVuY3Rpb24gc2V0Rm9ybVNtYXJ0eSgkaWQsICRyZXR1cm5pZCwgJiRwYXJhbXMsICRwYWdlX25vLCAkcGFnZV9jb3VudCwgJiRlbnRyeWFycmF5KQoJCXsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdxdWVzdGlvbnMnLCAkZW50cnlhcnJheSk7CgoJCSR0YWtlcl9pZCA9ICR0aGlzLT5nZXRUYWtlcklkKCRwYXJhbXNbJ3F1aXpfaWQnXSk7CgkJCgkgICAgaWYgKCRwYWdlX25vID49ICRwYWdlX2NvdW50KQoJICAgIAl7CgkgICAgCSR0aGlzLT5zbWFydHktPmFzc2lnbignbGFzdHBhZ2UnLDEpOwoJICAgIAkkcGFyYW1zWydxenpfbGFzdHBhZ2UnXSA9IDE7CgkgICAgCX0KCSAgICBlbHNlCgkgICAgCXsKCSAgICAJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsYXN0cGFnZScsMCk7CgkgICAgCSRwYXJhbXNbJ3F6el9sYXN0cGFnZSddID0gMDsKCSAgICAJfQoJCgkJJHJlbWVkaWFsID0gJyc7CgkJJHJlbWVkaWFsa2V5ID0gJHRha2VyX2lkLiRwYXJhbXNbJ3F1aXpfaWQnXTsKCQkkaXNfcmVtZWRpYWwgPSBmYWxzZTsKCQkvLyB3ZSBkbyBzb21lIHRyaXZpYWwgZW5jb2Rpbmcgb2YgdGhlIHJlbWVkaWFsIGZsYWcKCQlpZiAoaXNzZXQoJHBhcmFtc1sncXp6X3JlbWVkaWFsJ10pICYmICRwYXJhbXNbJ3F6el9yZW1lZGlhbCddPT0kcmVtZWRpYWxrZXkpCgkJCXsKCQkJJHJlbWVkaWFsID0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwKCQkJCSdxenpfcmVtZWRpYWwnLCRyZW1lZGlhbGtleSk7CgkJCSRpc19yZW1lZGlhbCA9IHRydWU7CgkJCX0KCQlpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Nob3dfcGFnZW5hdicsICcwJykgPT0gJzEnKQoJCQl7CgkJCSRwbiA9IGFycmF5KCk7CgkJCSRwYXIgPSBhcnJheSgncXVpel9pZCc9PiRwYXJhbXNbJ3F1aXpfaWQnXSk7CgkJCWlmIChpc3NldCgkcGFyYW1zWydxenpfcmVtZWRpYWwnXSkgJiYgJHBhcmFtc1sncXp6X3JlbWVkaWFsJ109PSRyZW1lZGlhbGtleSkKCQkJCXsKCQkJCSRwYXJbJ3F6el9yZW1lZGlhbCddPSRyZW1lZGlhbGtleTsKCQkJCX0KCQkJCQoJCQlmb3IgKCRpPTE7JGk8PSRwYWdlX2NvdW50OyRpKyspCgkJCQl7CgkJCQlpZiAoJGkgPT0gJHBhZ2Vfbm8pCgkJCQkJewoJCQkJCWFycmF5X3B1c2goJHBuLCRpKTsKCQkJCQl9CgkJCQllbHNlCgkJCQkJewoJCQkJCWFycmF5X3B1c2goJHBuLAkkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCAkaWQsICRyZXR1cm5pZCwgJ3Rha2VxdWl6JywgJGksIGFycmF5X21lcmdlKCRwYXIsYXJyYXkoJ3F6el9uZXh0X3BhZ2UnPT4kaSkpKSk7CgkJCQkJfQoJCQkJfQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3BhZ2VuYXYnLCR0aGlzLT5MYW5nKCdwYWdlJykuJyAnLmltcGxvZGUoJyA6ICcsJHBuKSk7CgkJCX0KCQllbHNlCgkJCXsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwYWdlbmF2JywnJyk7CgkJCX0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3JlbWVkaWFsJywoJGlzX3JlbWVkaWFsPycxJzonMCcpKTsKCSAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsICRwYWdlX2NvdW50KTsKCSAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3BhZ2V4b2Z5JywgJHRoaXMtPkxhbmcoJ3BhZ2V4b2Z5JywKCSAgICAJYXJyYXkoJHBhZ2Vfbm8sJHBhZ2VfY291bnQpKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLAoJCQkJJ3F6el9uZXh0X3BhZ2UnLCAkcGFnZV9ubyArIDEpLgoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLAoJCQkJJ3F1aXpfaWQnLCRwYXJhbXNbJ3F1aXpfaWQnXSkgLgoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLAoJCQkJJ3F6el9wcmV2X3BhZ2UnLCRwYWdlX25vIC0gMSkgLgoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLAoJCQkJJ3F6el9wYWdlJywkcGFnZV9ubykuCgkJCSRyZW1lZGlhbAoJCQkpOwoJfQoKCWZ1bmN0aW9uIHNldFNjb3JlU21hcnR5KCRzY29yZWJvYXJkKQoJewoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignc2NvcmUnLCRzY29yZWJvYXJkLT5zY29yZSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0b3RhbF9xdWVzdGlvbnMnLCRzY29yZWJvYXJkLT50b3RhbF9xdWVzdGlvbnMpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigncXVlc3Rpb25zX3NraXBwZWQnLCRzY29yZWJvYXJkLT5za2lwcGVkKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3F1ZXN0aW9uc19hbnN3ZXJlZCcsJHNjb3JlYm9hcmQtPmFuc3dlcmVkKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Njb3JlX3BlcmNlbnQnLCRzY29yZWJvYXJkLT5wZXJjZW50X3JpZ2h0KTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3BlcmNlbnRfYW5zd2VyZWQnLCRzY29yZWJvYXJkLT5wZXJjZW50X2Fuc3dlcmVkKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3BlcmNlbnRfc2tpcHBlZCcsJHNjb3JlYm9hcmQtPnBlcmNlbnRfc2tpcHBlZCk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzY29yZV9wZXJjZW50X2Fuc3dlcmVkJywkc2NvcmVib2FyZC0+c2NvcmVfcGVyY2VudF9hbnN3ZXJlZCk7Cgl9CgoJLyogcmV0dXJucyB0cnVlIGlmIHRoZXJlIGFyZSB0ZXh0IGlucHV0cwoJICAgbG9hZHMgdXAgYWxsIHRoZSBxdWVzdGlvbnMgaW50byBTbWFydHkuCgkgKi8KCWZ1bmN0aW9uIGdldFF1ZXN0aW9uUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQsICR3aXRoQW5zd2Vycz1mYWxzZSkKCQl7CgkJJGhhc190ZXh0ID0gZmFsc2U7CgkJJHF1ZXN0aW9ucyA9ICR0aGlzLT5nZXRRdWVzdGlvbnNJblJhbmdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKCQlpZiAoaXNzZXQoJHBhcmFtc1sncXp6X3JlbWVkaWFsJ10pICYmICRwYXJhbXNbJ3F6el9yZW1lZGlhbCddID09ICR0aGlzLT5nZXRUYWtlcklkKCRwYXJhbXNbJ3F1aXpfaWQnXSkuJHBhcmFtc1sncXVpel9pZCddKQoJCQl7CgkJCS8vZGVidWdfZGlzcGxheSgicnVubmluZyByZW1lZGlhbCBjb2RlIik7CgkJCSRzY29yZWJvYXJkID0gJHRoaXMtPmNvbXB1dGVTY29yZVZhbHVlcygkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHF1ZXN0aW9ucy0+cXVlc3Rpb25zKTsKCQkJfQoJCSRoYXNfdGV4dCA9ICR0aGlzLT5tYWtlUXVlc3Rpb25zRm9ybXMoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICR3aXRoQW5zd2VycywgJHF1ZXN0aW9ucy0+cXVlc3Rpb25zKTsKCQkkdGhpcy0+c2V0Rm9ybVNtYXJ0eSgkaWQsICRyZXR1cm5pZCwgJHBhcmFtcywgJHF1ZXN0aW9ucy0+dGhpc19wYWdlLCAkcXVlc3Rpb25zLT5wYWdlX2NvdW50LCAkcXVlc3Rpb25zLT5xdWVzdGlvbnMpOwoJCXJldHVybiAkaGFzX3RleHQ7CgkJfQoKCWZ1bmN0aW9uIGNvbXB1dGVTY29yZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQpCgkJewoJCSRxdWVzdGlvbnMgPSAkdGhpcy0+Z2V0UXVlc3Rpb25zSW5SYW5nZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgdHJ1ZSk7CgkJJHNjb3JlYm9hcmQgPSAkdGhpcy0+Y29tcHV0ZVNjb3JlVmFsdWVzKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkcXVlc3Rpb25zLT5xdWVzdGlvbnMpOwoJCSR0aGlzLT5zZXRTY29yZVNtYXJ0eSgkc2NvcmVib2FyZCk7CgkJcmV0dXJuIGFycmF5KCRzY29yZWJvYXJkLT5wZXJjZW50X3JpZ2h0LCRxdWVzdGlvbnMpOwoJCX0KCn0KPz4K]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0iIn08aDM+eyRtZXNzYWdlfTwvaDM+ey9pZn0Ke2lmICR0YWJfbWVzc2FnZSE9IiJ9PGgzPnskdGFiX21lc3NhZ2V9PC9oMz57L2lmfQoKeyR0YWJoZWFkZXJzfQp7JHN0YXJ0X3F1aXp0YWJ9CntpZiAkaXRlbWNvdW50ID4gMH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aD57JGNvbHVtbl9uYW1lfTwvdGg+CgkJCTx0aD57JGNvbHVtbl9kZXNjfTwvdGg+CgkJCTx0aD57JGNvbHVtbl9xY291bnR9PC90aD4KCQkJPHRoPnskY29sdW1uX2VtYmVkfTwvdGg+CgkJCTx0aD57JGNvbHVtbl9leHBvcnR9PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQk8L3RyPgoJPC90aGVhZD4KCTx0Ym9keT4KCXtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfSc7Ij4KCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmRlc2N9PC90ZD4KCQkJPHRkPnskZW50cnktPnFjb3VudH08L3RkPgoJCQk8dGQ+JiMxMjM7Y21zX21vZHVsZSBtb2R1bGU9J1F1aXp6YXJkJyBxdWl6X2lkPSd7JGVudHJ5LT5pZH0nJiMxMjU7PC90ZD4KCQkJPHRkPnskZW50cnktPmJyb3dzZX0gfCB7JGVudHJ5LT5tYW5hZ2V9IHwgeyRlbnRyeS0+ZXhwb3J0fTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJCTwvdHI+Cgl7L2ZvcmVhY2h9Cgk8L3Rib2R5Pgo8L3RhYmxlPgp7ZWxzZX0KPHA+eyRub3F1aXp6ZXN9PC9wPgp7L2lmfQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+Cgk8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua308L3A+CjwvZGl2Pgp7JGVuZF90YWJ9Cnskc3RhcnRfZXh0cmF0YWJ9Cgl7JHN0YXJ0X2V4dHJhZm9ybX0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0aXRsZV9leHRyYWZpZWxkc308L3A+Cgk8L2Rpdj4KCTx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CgkJPHRoZWFkPgoJCQk8dHI+CgkJCQk8dGg+eyR0aXRsZV9maWVsZF9uYW1lfTwvdGg+CgkJCQk8dGg+eyR0aXRsZV9maWVsZF90eXBlfTwvdGg+CgkJCQk8dGg+eyR0aXRsZV9maWVsZF9kaXNwbGF5X2xlbn08L3RoPgoJCQkJPHRoPnskdGl0bGVfZmllbGRfbWF4X2xlbn08L3RoPgoJCQkJPHRoPnskdGl0bGVfZmllbGRfd2VpZ2h0fTwvdGg+CgkJCQk8dGg+eyR0aXRsZV9maWVsZF9kZWx9PC90aD4KCQkJPC90cj4KCQk8L3RoZWFkPgoJCTx0Ym9keT4KCXtmb3JlYWNoIGZyb209JGV4dHJhcyBpdGVtPWVudHJ5fQoJCTx0cj4KCSAgICAgICAgPHRkPnskZW50cnkuaW5wdXRfbmFtZX08L3RkPgoJICAgICAgICA8dGQ+eyRlbnRyeS5pbnB1dF90eXBlfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LmlucHV0X2Rpc3BsYXlfbGVufTwvdGQ+CgkJCTx0ZD57JGVudHJ5LmlucHV0X21heF9sZW59PC90ZD4KCSAgICAgICAgPHRkPnskZW50cnkuaW5wdXRfd2VpZ2h0fTwvdGQ+CgkJCTx0ZD57JGVudHJ5LmlucHV0X2RlbH08L3RkPgoJCTwvdHI+Cgl7L2ZvcmVhY2h9Cgk8L3Rib2R5PjwvdGFibGU+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KCTwvZGl2PgoJeyRlbmRfZm9ybX0KeyRlbmRfdGFifQp7JHN0YXJ0X3RocmVzaG9sZHRhYn0KCXskc3RhcnRfdGhyZXNob2xkZm9ybX0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX3Njb3JlX3RocmVzaG9sZH08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zY29yZV90aHJlc2hvbGR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV90aHJlc2hvbGRfc2luZ2xlX3BhZ2V9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGhyZXNob2xkX3NpbmdsZV9wYWdlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfcXVlc3Rpb25fd3Jvbmd9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcXVlc3Rpb25fd3Jvbmd9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV90aHJlc2hvbGRfbWVzc2FnZX08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90aHJlc2hvbGRfbWVzc2FnZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgoJPC9kaXY+Cgl7JGVuZF9mb3JtfQp7JGVuZF90YWJ9Cnskc3RhcnRfaW1wb3J0dGFifQoJeyRzdGFydF91cGxvYWRmb3JtfQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfZmlsZV90b191cGxvYWR9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZmlsZV90b191cGxvYWR9IHskdGl0bGVfZmlsZV90b191cGxvYWRfaGVscH08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbXBvcnR9PC9wPgoJPC9kaXY+Cgl7JGVuZF9mb3JtfQp7JGVuZF90YWJ9Cnskc3RhcnRfdGVtcGxhdGVmb3JtfQp7JHN0YXJ0X3F1aXp0ZW1wbGF0ZXRhYn0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX3F1aXpfdGVtcGxhdGV9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcXVpel90ZW1wbGF0ZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX3NpZ251cF90ZW1wbGF0ZX08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zaWdudXBfdGVtcGxhdGV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0dGVtcGxhdGVzfTwvcD4KCTwvZGl2Pgp7JGVuZF90YWJ9Cnskc3RhcnRfZW1haWx0ZW1wbGF0ZXRhYn0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2VtYWlsX3RlbXBsYXRlfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2VtYWlsX3RlbXBsYXRlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfaHRtbF9lbWFpbH08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9odG1sX2VtYWlsfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdHRlbXBsYXRlc308L3A+Cgk8L2Rpdj4KeyRlbmRfdGFifQp7JHN0YXJ0X3Njb3JldGVtcGxhdGV0YWJ9Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9zY29yZV90ZW1wbGF0ZX08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zY29yZV90ZW1wbGF0ZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR0ZW1wbGF0ZXN9PC9wPgoJPC9kaXY+CnskZW5kX3RhYn0KeyRlbmRfZm9ybX0KeyRzdGFydF9jb25maWdmb3JtfQp7JHN0YXJ0X2VtYWlsY29uZmlndGFifQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfc2VuZF9lbWFpbH08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zZW5kX2VtYWlsfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfc2VuZF90b308L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zZW5kX3RvfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfZW1haWxfc3ViamVjdH08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9lbWFpbF9zdWJqZWN0fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfZW1haWxfZnJvbW5hbWV9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZW1haWxfZnJvbW5hbWV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9lbWFpbF9mcm9tfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2VtYWlsX2Zyb219PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KCTwvZGl2Pgp7JGVuZF90YWJ9Cnskc3RhcnRfY2hhcmFjdGVydGFifQp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJZnVuY3Rpb24gYWxsX2NoYXJzKCkKCQl7CgkJc2V0Q2hlY2tzKHRydWUpOwoJCX0KCWZ1bmN0aW9uIG5vX2NoYXJzKCkKCQl7CgkJc2V0Q2hlY2tzKGZhbHNlKTsKCQl9CglmdW5jdGlvbiBzZXRDaGVja3ModmFsKQoJCXsKCQlmb3IgKGk9MDtpPHsvbGl0ZXJhbH17JGFjY2VudGxlbn17bGl0ZXJhbH07aSsrKQoJCQl7CgkJCWNieCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhYycraSk7CgkJCWlmIChjYngpCgkJCQl7CgkJCQlpZiAodmFsKQoJCQkJCXsKCQkJCQljYnguY2hlY2tlZCA9IDE7CgkJCQkJfQoJCQkJZWxzZQoJCQkJCXsKCQkJCQljYnguY2hlY2tlZCA9IDA7CgkJCQkJfQoJCQkJfQoJCQl9CgoJCX0KPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX3Nob3dfcGFsZXR0ZX08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zaG93X3BhbGV0dGV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9wYWxldHRlX2NoYXJzfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAJPGEgaHJlZj0iamF2YXNjcmlwdDphbGxfY2hhcnMoKSI+eyR0aXRsZV9zZWxlY3RfYWxsfTwvYT48YnIgLz4KICAgICAgICAJPGEgaHJlZj0iamF2YXNjcmlwdDpub19jaGFycygpIj57JHRpdGxlX3NlbGVjdF9ub25lfTwvYT48YnIgLz4KICAgICAgICB7JGlucHV0X3BhbGV0dGVfY2hhcnN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KCTwvZGl2Pgp7JGVuZF90YWJ9Cnskc3RhcnRfY29uZmlndGFifQoJPGZpZWxkc2V0PgoJPHA+eyR0aXRsZV9wYWdpbmF0aW9uX2hlbHB9PC9wPgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfcGFnaW5hdGlvbn08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9wYWdpbmF0aW9ufTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfZGVmYXVsdF9xdWVzdGlvbnN9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZGVmYXVsdF9xdWVzdGlvbnN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9zaG93X3BhZ2VuYXZ9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc2hvd19wYWdlbmF2fTwvcD4KCTwvZGl2PgoJPC9maWVsZHNldD4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX21heF9hbnN3ZXJzfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X21heF9hbnN3ZXJzfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfcXVpel9pbmxpbmV9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcXVpel9pbmxpbmV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9zbWFydHlfcHJvY2Vzc19wYWdlc308L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zbWFydHlfcHJvY2Vzc19wYWdlc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX3NhdmVfYnV0dG9ufTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NhdmVfYnV0dG9ufTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfcmVxdWlyZV91c2VyfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3JlcXVpcmVfdXNlcn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX3F1ZXN0aW9uc19jYXNlX3NlbnNpdGl2ZX08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9xdWVzdGlvbnNfY2FzZV9zZW5zaXRpdmV9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9maWxsaW5fbGVufTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpbGxpbl9sZW59PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9yZW51bWJlcl9ieV9zZWN0aW9ufTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3JlbnVtYmVyX2J5X3NlY3Rpb259PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV93eXNpd3lnX3F1ZXN0aW9uc308L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF93eXNpd3lnX3F1ZXN0aW9uc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgoJPC9kaXY+CnskZW5kX3RhYn0KeyRlbmRfZm9ybX0KeyRlbmRfdGFic30=]]></data>
	</file>
	<file>
	  <filename>/templates/editquestion.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlICE9ICIifTxoMz57JG1lc3NhZ2V9PC9oMz57L2lmfQp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoKCWZ1bmN0aW9uIGZhc3RfYWRkKGZpZWxkX3R5cGUpCgkJewoJCXsvbGl0ZXJhbH0KCQl2YXIgdHlwZT1maWVsZF90eXBlLm9wdGlvbnNbZmllbGRfdHlwZS5zZWxlY3RlZEluZGV4XS52YWx1ZTsKCQl2YXIgbGluayA9ICd7JHJlbG9hZGxpbmt9JnskaWR9cXVpel9pZD17JHF1aXpfaWR9JnskaWR9cXVlc3Rpb25faWQ9eyRxdWVzdGlvbl9pZH0meyRpZH1xdHlwZT0nK3R5cGU7CgkJdGhpcy5sb2NhdGlvbj1saW5rOwoJCXJldHVybiB0cnVlOwoJCXtsaXRlcmFsfQoJCX0KPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KeyRiYWNrX3RvX21haW59eyRiYWNrX3RvX3F1aXp9Cnskc3RhcnRmb3JtfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX3F1ZXN0aW9uX3R5cGV9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcXVlc3Rpb25fdHlwZX08L3A+CjwvZGl2Pgp7aWYgJHF0eXBlID09ICdwJ30KPGRpdiBpZD0icXVlc3Rpb250aXRsZSIgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfcXVlc3Rpb25fdGl0bGV9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcXVlc3Rpb25fdGl0bGV9PC9wPgo8L2Rpdj4Key9pZn0Ke2lmICRxdHlwZSAhPSAnYicgJiYgJHF0eXBlICE9ICcnfQo8ZGl2IGlkPSJxdWVzdGlvbiIgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfcXVlc3Rpb25fdGV4dH06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9xdWVzdGlvbl90ZXh0fTwvcD4KPC9kaXY+CnsvaWZ9CntpZiAkcXR5cGUgPT0gJ2YnIHx8ICRxdHlwZSA9PSAnbScgfHwgJHF0eXBlID09ICdjJ30KPGRpdiBpZD0ic2NvcmVkIiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9xdWVzdGlvbl9zY29yZWR9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcXVlc3Rpb25fc2NvcmVkfTwvcD4KPC9kaXY+CnsvaWZ9CntpZiAkcXR5cGUgPT0gJ2YnfQo8ZGl2IGlkPSJxdWl6X2ZpbGxpbiIgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cD57JHRpdGxlX2Fuc3dlcl90ZXh0X2hlbHB9PC9wPgo8L2Rpdj4Key9pZn0Ke2lmICRxdHlwZSA9PSAnbScgfHwgJHF0eXBlID09ICdjJyB8fCAkcXR5cGUgPT0gJ2YnfQp7aWYgJGl0ZW1jb3VudCA+IDB9Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkJPHRyPntpZiAkcXR5cGUgPT0gJ20nIHx8ICRxdHlwZSA9PSAnYyd9CgkJCTx0aD57JGNvbHVtbl9jb3JyZWN0fTwvdGg+CgkJCXsvaWZ9CgkJCTx0aD57JGNvbHVtbl9hbnN3ZXJ9PC90aD4KCQk8L3RyPgoJPC90aGVhZD4KCTx0Ym9keT4KCXtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnkga2V5PWt9CgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfSc7Ij4KCQkJe2lmICRxdHlwZSA9PSAnbSd9CgkJCTx0ZD57JGVudHJ5LT5tY29ycmVjdH08L3RkPgoJCQl7L2lmfQoJCQl7aWYgJHF0eXBlID09ICdjJ30KCQkJPHRkPnskZW50cnktPmNjb3JyZWN0fTwvdGQ+CgkJCXsvaWZ9CgkJCTx0ZD57JGVudHJ5LT5hbnN3ZXJ9PC90ZD4KCQk8L3RyPgoJey9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4Ke2Vsc2V9CjxwPnskbm9hbnN3ZXJzfTwvcD4Key9pZn0Key9pZn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzYXZlfTwvcD4KPC9kaXY+CnskZW5kZm9ybX0KeyRiYWNrX3RvX21haW59Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/editquiz.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlICE9ICIifTxoMz57JG1lc3NhZ2V9PC9oMz57L2lmfQp7JGJhY2tfdG9fbWFpbn0KeyRzdGFydGZvcm19Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX3F1aXpfbmFtZX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9xdWl6X25hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9xdWl6X2Rlc2N9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcXVpel9kZXNjfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc2F2ZX17JGhpZGRlbn17JGRvbmV9PC9wPgo8L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQp7aWYgJHFpZHNldCAhPSAwfQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+Cgk8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua30mbmJzcDt7JG9yZGVyX2ZpZWxkX2xpbmt9PC9wPgo8L2Rpdj4Key9pZn0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aD57JGNvbHVtbl9xdWVzdGlvbn08L3RoPgoJCQk8dGg+eyRjb2x1bW5fdHlwZX08L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5PgoJe2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPgoJCQk8dGQ+e2lmICRlbnRyeS0+bnVtICE9ICcnfXskZW50cnktPm51bX0uIHsvaWZ9eyRlbnRyeS0+bmFtZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+dHlwZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZG93bmxpbmt9PC90ZD4KCQkJPHRkPnskZW50cnktPnVwbGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KCQk8L3RyPgoJey9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4Ke2Vsc2V9CjxwPnskbm9xdWVzdGlvbnN9PC9wPgp7L2lmfQp7aWYgJHFpZHNldCA9PSAwfQo8cD57JHRpdGxlX3NhdmVfaGVscH08L3A+CntlbHNlfQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+Cgk8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua30mbmJzcDt7JG9yZGVyX2ZpZWxkX2xpbmt9PC9wPgo8L2Rpdj4Key9pZn0KeyRiYWNrX3RvX21haW59Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/email.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[UXVpeiBUYWtlcjogeyR0YWtlcl9uYW1lfSA8eyR0YWtlcl9lbWFpbH0+Cntmb3JlYWNoIGZyb209JGV4dHJhcyBpdGVtPWVudHJ5fQp7JGVudHJ5LmZpZWxkX25hbWV9OiB7JGVudHJ5Lmh1bWFuX3ZhbHVlfQp7L2ZvcmVhY2h9ClF1aXogUmVzdWx0czogeyRzY29yZX0gb2YgeyR0b3RhbF9xdWVzdGlvbnN9ICh7JHNjb3JlX3BlcmNlbnR9JSBjb3JyZWN0KQp7aWYgJHVzZXJfZW1haWw9PTF9CllvdSBhbnN3ZXJlZCB7JHF1ZXN0aW9uc19hbnN3ZXJlZH0gKHskcGVyY2VudF9hbnN3ZXJlZH0lKSBhbmQgc2tpcHBlZCB7JHF1ZXN0aW9uc19za2lwcGVkfSAoeyRwZXJjZW50X3NraXBwZWR9JSkKT2YgdGhlIHF1ZXN0aW9ucyB5b3UgYW5zd2VyZWQsIHlvdSBnb3QgeyRzY29yZV9wZXJjZW50X2Fuc3dlcmVkfSUgcmlnaHQuCgpIZXJlJ3Mgd2hhdCB5b3UgbWlzc2VkOgp7ZWxzZSBpZiAkYWRtaW5fZW1haWw9PTF9CnskdGFrZXJfbmFtZX0gYW5zd2VyZWQgeyRxdWVzdGlvbnNfYW5zd2VyZWR9ICh7JHBlcmNlbnRfYW5zd2VyZWR9JSkgYW5kIHNraXBwZWQgeyRxdWVzdGlvbnNfc2tpcHBlZH0gKHskcGVyY2VudF9za2lwcGVkfSUpCk9mIHRoZSBxdWVzdGlvbnMgeyR0YWtlcl9uYW1lfSBhbnN3ZXJlZCwgaGUvc2hlIGdvdCB7JHNjb3JlX3BlcmNlbnRfYW5zd2VyZWR9JSByaWdodC4Key9pZn0KCntmb3JlYWNoIGZyb209JHF1ZXN0aW9ucyBpdGVtPWVudHJ5fQp7aWYgKCR1c2VyX2VtYWlsPT0xICYmICRlbnRyeS0+aXNfc2NvcmVkKSB8fCAkYWRtaW5fZW1haWx9CntpZiAkZW50cnktPnR5cGUgPT0gJ3MnfXskZW50cnktPnF1ZXN0aW9ufQoKe2Vsc2VpZiAkZW50cnktPnNraXBwZWQgPT0gMSB8fCAkZW50cnktPmNvcnJlY3QgPT0gMH17aWYgJGVudHJ5LT50eXBlID09ICdmJyB8fCAkZW50cnktPnR5cGUgPT0gJ20nIHx8ICRlbnRyeS0+dHlwZSA9PSAnYyd9eyRlbnRyeS0+bnVtfSkgey9pZn0geyRlbnRyeS0+cXVlc3Rpb25fdHh0fQp7aWYgJGVudHJ5LT50eXBlID09ICdmJyB8fCAkZW50cnktPnR5cGUgPT0gJ20nIHx8ICRlbnRyeS0+dHlwZSA9PSAnYyd9e2lmICRlbnRyeS0+c2tpcHBlZD09MX17JHRpdGxlX3NraXBwZWR9CntlbHNlfXskdGl0bGVfeW91cl9hbnN3ZXJ9OiB7JGVudHJ5LT5naXZlbmFuc3dlcl90eHR9CnsvaWZ9CntpZiAkZW50cnktPmlzX3Njb3JlZCA9PSAxfQp7JHRpdGxlX2NvcnJlY3RfYW5zd2VyfTogeyRlbnRyeS0+Y29ycmVjdGFuc3dlcl90eHR9Cgp7L2lmfQp7L2lmfQp7L2lmfQp7L2lmfQp7L2ZvcmVhY2h9CQ==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/managequiz.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlfTxoMj57JG1lc3NhZ2V9PC9oMj48YnIgLz57L2lmfQo8cD57JGJhY2tfdG9fbWFpbn08L3A+CntsaXRlcmFsfQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgouc21hbGwge2ZvbnQtc2l6ZTogNnB4OyBkaXNwbGF5OiBpbmxpbmU7fQpwIHtmb250LXNpemU6IDEycHg7fQo8L3N0eWxlPgp7L2xpdGVyYWx9Cnskc3RhcnRmb3JtfQo8ZGl2IGNsYXNzPSJxdWl6Ij4Ke2lmICRzaG93X2xpbmVfbnVtYmVycyA9PSAnMSd9e2NvdW50ZXIgc3RhcnQ9MX17L2lmfQp7Zm9yZWFjaCBmcm9tPSRxdWVzdGlvbnMgaXRlbT1lbnRyeX0Ke2lmICRzaG93X2xpbmVfbnVtYmVycyA9PSAnMSd9PHAgY2xhc3M9InNtYWxsIj5be2NvdW50ZXJ9IDogeyRlbnRyeS0+dHlwZX1dPC9wPnsvaWZ9CntpZiAkZW50cnktPnR5cGUgPT0gJ3MnfQo8aDI+eyRlbnRyeS0+cXVlc3Rpb259PC9oMj4Ke2Vsc2VpZiAkZW50cnktPnR5cGUgPT0gJ3QnfQo8aDM+eyRlbnRyeS0+cXVlc3Rpb259PC9oMz4Ke2Vsc2V9Cgk8cD57aWYgJGVudHJ5LT5udW0gIT0gIiJ9eyRlbnRyeS0+bnVtfSkgey9pZn0KCXtpZiAkZW50cnktPnR5cGUhPSdwJ317JGVudHJ5LT5xdWVzdGlvbn17ZWxzZX17JGVudHJ5LT50aXRsZX17L2lmfSB7aWYgJGVudHJ5LT5pc19zY29yZWQgIT0gMX0oeyR0aXRsZV91bnNjb3JlZH0pey9pZn08YnIgLz4KCXskZW50cnktPnR5cGVmaWVsZH17aWYgJGVudHJ5LT50eXBlID09ICdtJyB8fCAkZW50cnktPnR5cGUgPT0gJ2MnfQoJCXtmb3JlYWNoIGZyb209JGVudHJ5LT5hbnN3ZXJzIGtleT1hbnN3ZXJfbm8gaXRlbT1hbnN3ZXJ9CgkJeyRhbnN3ZXJ9PGJyIC8+CgkJey9mb3JlYWNofQoJey9pZn0KCTwvcD4Key9pZn0Key9mb3JlYWNofQo8YnIgLz4KeyRzdWJtaXR9CnskZW5kZm9ybX0KPGhyIC8+CjxwPnskYmFja190b19tYWlufTwvcD4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/plugin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icXVpeiI+CjxwIGNsYXNzPSJxdWl6dGl0bGUiPnskdGl0bGVfbmFtZX06PC9wPgo8cCBjbGFzcz0icXVpemlucHV0Ij57JGlucHV0X25hbWV9PC9wPgoKPHAgY2xhc3M9InF1aXp0aXRsZSI+eyR0aXRsZV9lbWFpbH06PC9wPgo8cCBjbGFzcz0icXVpemlucHV0Ij57JGlucHV0X2VtYWlsfTwvcD4KCjxwIGNsYXNzPSJxdWl6dGl0bGUiPnskdGl0bGVfc2VuZF9hX2NvcHl9OjwvcD4KPHAgY2xhc3M9InF1aXppbnB1dCI+eyRpbnB1dF9zZW5kX2FfY29weX0geyR0aXRsZV9zZW5kX2FfY29weV9oZWxwfTwvcD4KCjxwIGNsYXNzPSJxdWl6dGl0bGUiPjwvcD4KPHAgY2xhc3M9InF1aXppbnB1dCI+eyRjb250aW51ZX08L3A+CgoKPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/reload_quiz.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0iIn08c3Ryb25nPnskbWVzc2FnZX08L3N0cm9uZz48YnIgLz57L2lmfQo8ZGl2Pgp7JHN0YXJ0Zm9ybX0KeyRoaWRkZW59CntpZiAkc3RlcCA9PSAnZmlyc3QnfQo8ZGl2IGNsYXNzPSJxdWl6cm93Ij4KPGxhYmVsIGZvcj0ieyRpZH1xdWl6X2lkIj57JHRpdGxlX3F1aXpfbmFtZX0qOjwvbGFiZWw+CjxzZWxlY3QgaWQ9J3skaWR9cXVpel9pZCcgbmFtZT0neyRpZH1xdWl6X2lkJz4KCXtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CgkJPG9wdGlvbiB2YWx1ZT0ieyRlbnRyeS0+aWR9Ij57JGVudHJ5LT50aXRsZX08L29wdGlvbj4KCXsvZm9yZWFjaH0KPC9zZWxlY3Q+CjwvZGl2Pgp7ZWxzZWlmICRzdGVwID09ICdzZWNvbmQnfQo8ZGl2IGNsYXNzPSJxdWl6cm93Ij4KPHRhYmxlPgoJPHRyPjx0aD4mbmJzcDs8L3RoPjx0aD57JHNvcnRfY29sdW1uX25hbWV9PC90aD48dGg+eyRzb3J0X2NvbHVtbl9lbWFpbH08L3RoPgoJCTx0aD57JGNvbHVtbl9zY29yZX08L3RoPjx0aD57JHNvcnRfY29sdW1uX2NvbXBsZXRlZH08L3RoPjwvdHI+Cgl7Zm9yZWFjaCBmcm9tPSRpbnB1dF9xdWl6X3Rha2VyX2VtYWlsIGl0ZW09ZW50cnl9CgkJPHRyPjx0ZD57JGVudHJ5LT52aWV3bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+bGlua25hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmVtYWlsfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5zY29yZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+Y29tcGxldGVkX2RhdGV9PC90ZD4KCQk8L3RyPgoJey9mb3JlYWNofQo8L3RhYmxlPgo8L2Rpdj4Key9pZn0KeyRlbmRmb3JtfQo8L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/templates/reorderquiz.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gc2VuZF9vcmRlcl92YXIoZm9ybV9kZXNjKQogICB7CiAgIHZhciBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVudDAnKTsKICAgaWYgKGVsZW0pCiAgICAgIHsKICAgICAgdmFyIHN0ciA9ICcnOwogICAgICB2YXIgbm9kZXMgPSBlbGVtLmNoaWxkTm9kZXM7CiAgICAgIGZvciAoaT0wO2k8bm9kZXMubGVuZ3RoO2krKykKICAgICAgICAgewogICAgICAgICBzdHIgPSBzdHIgKyBub2Rlc1tpXS5pZCArICcsJzsKICAgICAgICAgfQogICAgICB9CiAgIHZhciBmbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3JkZXJwYXNzJyk7CiAgIGlmIChmbGQpCgkJewoJCWZsZC52YWx1ZSA9IHN0cjsKCQl9CiAgIHJldHVybiB0cnVlOwogICB9Cjwvc2NyaXB0Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgojcGFyZW50MCB7d2lkdGg6IDEwMCV9CiNwYXJlbnQwIGxpIHt3aWR0aDogOTAlfQo8L3N0eWxlPgp7L2xpdGVyYWx9Cgp7JHN0YXJ0X2Zvcm19Cjx1bCBpZD0icGFyZW50MCIgY2xhc3M9InNvcnRhYmxlTGlzdCI+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09dGhpc0l0ZW19CgkJPGxpIGlkPSJxeyR0aGlzSXRlbS0+aWR9Ij57JHRoaXNJdGVtLT50eXBlfTogPHN0cm9uZz57JHRoaXNJdGVtLT50aXRsZX08L3N0cm9uZz48L2xpPgp7L2ZvcmVhY2h9Cgo8L3VsPgo8YnIgLz4KeyRoaWRkZW59PGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9Im9yZGVycGFzcyIgbmFtZT0ieyRpZH1vcmRlciIgdmFsdWU9IiIgLz4KeyRzdWJtaXR9CnskZW5kX2Zvcm19Cgp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpTb3J0YWJsZS5jcmVhdGUoJ3BhcmVudDAnLHt0YWc6J2xpJ30pOwo8L3NjcmlwdD4Key9saXRlcmFsfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/restore.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0iIn08c3Ryb25nPnskbWVzc2FnZX08L3N0cm9uZz48YnIgLz57L2lmfQo8ZGl2Pgp7JHN0YXJ0Zm9ybX0KCjxkaXYgY2xhc3M9InF1aXpyb3ciPgp7JHRpdGxlX3Jlc3RvcmVfaGVscH0KPCEtLSB7JHRpdGxlX3Jlc3RvcmVfZGVidWd9IC0tPgo8L2Rpdj4KPGRpdj57JG5ld19xdWl6fSB7JG9sZF9xdWl6fTwvZGl2Pgp7JHF1aXpfaWR9CnskZW5kZm9ybX0KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/scorequiz.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKICAgT3RoZXIgdmFyaWFibGVzIGF2YWlsYWJsZToKICAgCiAgIHRvdGFsX3F1ZXN0aW9ucyAtIG51bWJlciBvZiBxdWVzdGlvbnMKICAgdG90YWxfc2NvcmVkIC0gbnVtYmVyIG9mIHF1ZXN0aW9ucyB1c2VkIGZvciBzY29yaW5nIHF1aXoKICAgcXVlc3Rpb25zX3NraXBwZWQgLSBudW1iZXIgb2YgcXVlc3Rpb25zIHRoYXQgd2VyZW4ndCBhbnN3ZXJlZAogICBxdWVzdGlvbnNfYW5zd2VyZWQgLSBudW1iZXIgb2YgcXVlc3Rpb25zIHRoYXQgd2VyZSBhbnN3ZXJlZAogICBwZXJjZW50X2Fuc3dlcmVkIC0gcGVyY2VudGFnZSBvZiB0aGUgcXVlc3Rpb25zIHRoYXQgd2VyZSBhbnN3ZXJlZAogICBwZXJjZW50X3NraXBwZWQgLSBwZXJjZW50YWdlIG9mIHRoZSBxdWVzdGlvbnMgdGhhdCB3ZXJlIG5vdCBhbnN3ZXJlZAogICBzY29yZSAtIG51bWJlciBjb3JyZWN0CiAgIHNjb3JlX3BlcmNlbnQgLSBwZXJjZW50YWdlIGNvcnJlY3QKICAgc2NvcmVfcGVyY2VudF9hbnN3ZXJlZCAtIHBlcmNlbnQgY29ycmVjdCBvZiBub24tc2tpcHBlZCBxdWVzdGlvbnMKICAgcXVpel9uYW1lIC0gbmFtZSBvZiB0aGUgcXVpegogICByZXZpZXdpbmcgLSBlcXVhbHMgIjEiIGlmIHJldmlld2luZyBpbiB0aGUgcXVpeiBhZG1pbgogICAKICAgVGhlcmUncyBhbHNvIHRoZSBxdWVzdGlvbnMgYXJyYXksIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBxdWVzdGlvbnMKICAgb2YgdGhlIGV4YW0gaW4gYW4gb2JqZWN0IHdpdGggdGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzOgogICAKICAgcS0+bnVtIC0gcXVlc3Rpb24gbnVtYmVyCiAgIHEtPnF1ZXN0aW9uIC0gdGhlIG9yaWdpbmFsIHRleHQgb2YgdGhlIHF1ZXN0aW9uCiAgIHEtPnF1ZXN0aW9uX3R4dCAtIHRoZSBvcmlnaW5hbCB0ZXh0IG9mIHRoZSBxdWVzdGlvbiB3aXRoIG5vIEhUTUwKICAgcS0+Y29ycmVjdCAtIDEgaWYgdGhlIGFuc3dlciB3YXMgY29ycmVjdCwgMCBvdGhlcndpc2UKICAgcS0+c2tpcHBlZCAtIDEgaWYgdGhlIHF1ZXN0aW9uIHdhcyBza2lwcGVkLCAwIG90aGVyd2lzZQogICBxLT5naXZlbmFuc3dlciAtIGdpdmVuIGFuc3dlcihzKQogICBxLT5naXZlbmFuc3dlcl90eHQgLSBnaXZlbiBhbnN3ZXIocykgd2l0aCBubyBIVE1MLgogICBxLT5jb3JyZWN0YW5zd2VyIC0gdGhlIGNvcnJlY3QgYW5zd2VyKHMpCiAgIHEtPmNvcnJlY3RhbnN3ZXJfdHh0IC0gdGhlIGNvcnJlY3QgYW5zd2VyKHMpIHdpdGggbm8gSFRNTC4KICAgcS0+dHlwZSAtICJtIiBmb3IgbXVsdGlwbGUgY2hvaWNlLCAiZiIgZm9yIGZpbGwgaW4gdGhlIGJsYW5rLAoJCSAgICAgImMiIGZvciBzZWxlY3Qgb25lIG9yIG1vcmUsICJwIiBmb3IgY29udGVudCBwYWdlLAogICAgICAgICAgICAgInMiIGZvciBzZWN0aW9uLCAidCIgZm9yIHRleHQgbGluZQoKICAgCiAgIAoqfQoKe2lmICRyZXZpZXdpbmcgPT0gJzEnfQo8aDM+eyR0YWtlcl9uYW1lfSAmbHQ7eyR0YWtlcl9lbWFpbH0mZ3Q7PC9oMz4Ke2ZvcmVhY2ggZnJvbT0kZXh0cmFzIGl0ZW09ZW50cnl9CjxzdHJvbmc+eyRlbnRyeS5maWVsZF9uYW1lfTo8L3N0cm9uZz4geyRlbnRyeS5odW1hbl92YWx1ZX08YnIgLz4Key9mb3JlYWNofQo8c3Ryb25nPlNjb3JlOiB7JHNjb3JlfSBvZiB7JHRvdGFsX3F1ZXN0aW9uc30gKHskc2NvcmVfcGVyY2VudH0lKTwvc3Ryb25nPjxiciAvPgo8c3Ryb25nPlF1ZXN0aW9ucyBhbnN3ZXJlZDo8L3N0cm9uZz4geyRxdWVzdGlvbnNfYW5zd2VyZWR9ICh7JHBlcmNlbnRfYW5zd2VyZWR9JSk8YnIgLz4KPHN0cm9uZz5RdWVzdGlvbnMgU2tpcHBlZDo8L3N0cm9uZz4geyRxdWVzdGlvbnNfc2tpcHBlZH0gKHskcGVyY2VudF9za2lwcGVkfSUpPGJyIC8+CjxzdHJvbmc+UGVyY2VudGFnZSBvZiBhbnN3ZXJlZCB0aGF0IHdlcmUgY29ycmVjdDo8L3N0cm9uZz4geyRzY29yZV9wZXJjZW50X2Fuc3dlcmVkfSUgcmlnaHQuPGJyIC8+CjxiciAvPgoKe2Vsc2V9Cgo8aDM+eyR0aXRsZV9xdWl6X2NvbXBsZXRlfTwvaDM+CnsqCiAgIFRoZSBuZXh0IGJpdCBpcyBhbiBleGFtcGxlIG9mIHdoYXQgeW91IGNhbiBkbyBpbiBzbWFydHk7IGl0J3MKICAgbm90IGxvY2FsaXplZCwgYnV0IGl0J2QgYmUgZWFzeSBlbm91Z2ggdG8gY2hhbmdlIHRvIGRvIHdoYXQKICAgeW91IHdhbnQuICAgCip9CjxoND5Zb3VyIFJhdGluZzogeyRzY29yZX0gb2YgeyR0b3RhbF9xdWVzdGlvbnN9ICh7JHNjb3JlX3BlcmNlbnR9JSk8L2g0Pgo8aDU+WW91IGFuc3dlcmVkIHskcXVlc3Rpb25zX2Fuc3dlcmVkfSAoeyRwZXJjZW50X2Fuc3dlcmVkfSUpIGFuZCBza2lwcGVkIHskcXVlc3Rpb25zX3NraXBwZWR9ICh7JHBlcmNlbnRfc2tpcHBlZH0lKTwvaDU+CjxoNT5PZiB0aGUgcXVlc3Rpb25zIHlvdSBhbnN3ZXJlZCwgeW91IGdvdCB7JHNjb3JlX3BlcmNlbnRfYW5zd2VyZWR9JSByaWdodC48L2g1Pgo8cD4Ke2lmICRzY29yZV9wZXJjZW50IDwgMjB9CglZb3UgZG9uJ3Qga25vdyBhbnl0aGluZyBhYm91dCBhbnl0aGluZy4Ke2Vsc2VpZiAkc2NvcmVfcGVyY2VudCA+PSAyMCAmJiAkc2NvcmVfcGVyY2VudCA8IDQwfQoJWW91IG1heSBrbm93IHNvbWV0aGluZyBhYm91dCBzb21ldGhpbmcsIGJ1dCBub3QgdGhpcyBzdWJqZWN0Lgp7ZWxzZWlmICRzY29yZV9wZXJjZW50ID49IDQwICYmICRzY29yZV9wZXJjZW50IDwgNjB9CglZb3UgcXVhbGlmeSBhcyBpZ25vcmFtdXMsIGJ1dCBub3QgbXVjaCBtb3JlLgp7ZWxzZWlmICRzY29yZV9wZXJjZW50ID49IDYwICYmICRzY29yZV9wZXJjZW50IDwgODB9CglBIFJlYXNvbmFibGUgRWZmb3J0LiBBdCBiZXN0Lgp7ZWxzZWlmICRzY29yZV9wZXJjZW50ID49IDgwICYmICRzY29yZV9wZXJjZW50IDwgMTAwfQoJV2VsbCBkb25lISBZb3UndmUgZ290IHNvbWUgdGFsZW50Lgp7ZWxzZX0KCVlvdSBhcmUgYXdlIGluc3BpcmluZy4gUGVyZmVjdCEKey9pZn0KPC9wPgp7L2lmfQoKPCEtLSBzb21lIGlubGluZSBzdHlsZXMuIGZlZWwgZnJlZSB0byBhbHRlciB0aGlzIHN0dWZmISAtLT4Ke2xpdGVyYWx9CjxzdHlsZT4KLmNvcnJlY3RfYW5zd2VyIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KLmdpdmVuX2Fuc3dlciB7IGZvbnQtc3R5bGU6IG9ibGlxdWU7IH0KLnF1aXpfY29ycmVjdCB7IGNvbG9yOiAjMzNhYTMzOyB9Ci5xdWl6X2luY29ycmVjdCB7IGNvbG9yOiAjYWEzMzMzOyB9Ci5xdWl6X3NraXBwZWQge2NvbG9yOiAjOTkzMzMzO30KPC9zdHlsZT4Key9saXRlcmFsfQoKCjwhLS0gdGhlIG5leHQgcGFydCBkaXNwbGF5cyBhbGwgdGhlIHF1ZXN0aW9ucywgYW5kIHVzZXIncyByZXNwb25zZSAtLT4KPGg0PnskdGl0bGVfcXVpel9zdW1tYXJ5fTwvaDQ+Cntmb3JlYWNoIGZyb209JHF1ZXN0aW9ucyBpdGVtPWVudHJ5fQp7aWYgJGVudHJ5LT5pc19zY29yZWQgPT0gMX0Ke2lmICRlbnRyeS0+dHlwZSA9PSAncyd9CjxoMj57JGVudHJ5LT5xdWVzdGlvbn08L2gyPgp7ZWxzZWlmICRlbnRyeS0+dHlwZSA9PSAndCd9CjxoMz57JGVudHJ5LT5xdWVzdGlvbn08L2gzPgp7ZWxzZWlmICRlbnRyeS0+dHlwZSA9PSAncCd9CntlbHNlaWYgJGVudHJ5LT50eXBlID09ICdiJ317ZWxzZX0KCTxwPnskZW50cnktPm51bX0pIHskZW50cnktPnF1ZXN0aW9ufTxiciAvPgoJe2lmICRlbnRyeS0+c2tpcHBlZD09MX0KCTxzcGFuIGNsYXNzPSJxdWl6X3NraXBwZWQiPnskdGl0bGVfc2tpcHBlZH08L3NwYW4+PGJyIC8+Cgl7ZWxzZX0KCTxzcGFuIGNsYXNzPSJ7aWYgJGVudHJ5LT5jb3JyZWN0ID09IDF9cXVpel9jb3JyZWN0e2Vsc2V9cXVpel9pbmNvcnJlY3R7L2lmfSI+eyR0aXRsZV95b3VyX2Fuc3dlcn06IHskZW50cnktPmdpdmVuYW5zd2VyfTxiciAvPgoJey9pZn0KCXtpZiAkZW50cnktPmNvcnJlY3QgPT0gMX17JHRpdGxlX2NvcnJlY3R9e2Vsc2V9Cgl7JHRpdGxlX2NvcnJlY3RfYW5zd2VyfTogeyRlbnRyeS0+Y29ycmVjdGFuc3dlcn0KCXsvaWZ9Cgk8L3NwYW4+Cgk8L3A+CnsvaWZ9CnsvaWZ9CnsvZm9yZWFjaH0=]]></data>
	</file>
	<file>
	  <filename>/templates/signup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0iIn08c3Ryb25nPnskbWVzc2FnZX08L3N0cm9uZz48YnIgLz57L2lmfQo8ZGl2Pgp7JHN0YXJ0Zm9ybX0KPGRpdiBjbGFzcz0icXVpenJvdyI+CjxsYWJlbCBmb3I9Im5hbWUiPnskdGl0bGVfbmFtZX17aWYgJHJlcV91c2VyfSp7L2lmfTo8L2xhYmVsPgp7JGlucHV0X25hbWV9CjwvZGl2PgoKPGRpdiBjbGFzcz0icXVpenJvdyI+CjxsYWJlbCBmb3I9ImVtYWlsIj57JHRpdGxlX2VtYWlsfXtpZiAkcmVxX3VzZXJ9KnsvaWZ9OjwvbGFiZWw+CnskaW5wdXRfZW1haWx9CjwvZGl2PgoKe2ZvcmVhY2ggZnJvbT0kZXh0cmFzIGl0ZW09ZW50cnl9CiAgICAgICAgCTxkaXYgY2xhc3M9InF1aXpyb3ciPgoJCQl7JGVudHJ5LmxhYmVsfXtpZiAkZW50cnkucmVxdWlyZWR9KnsvaWZ9OgoJCQl7JGVudHJ5LmlucHV0fQoJCQk8L2Rpdj4Key9mb3JlYWNofQoKPGRpdiBjbGFzcz0icXVpenJvdyI+CjxsYWJlbCBmb3I9InNlbmRfYV9jb3B5Ij57JHRpdGxlX3NlbmRfYV9jb3B5fTo8L2xhYmVsPgp7JGlucHV0X3NlbmRfYV9jb3B5fQo8L2Rpdj4KCjxkaXYgY2xhc3M9InF1aXpyb3ciPgp7JHF1aXpfaWR9eyR0YWtlcXVpen0KPC9kaXY+CnskZW5kZm9ybX0KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/stdquiz.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogdGhpcyB0ZW1wbGF0ZSBjb250cm9scyB0aGUgZGlzcGxheSBvZiBRdWl6IHBhZ2VzICp9CntpZiAkbWVzc2FnZSE9IiJ9PHN0cm9uZz57JG1lc3NhZ2V9PC9zdHJvbmc+PGJyIC8+ey9pZn0Ke2lmICRyZW1lZGlhbCA9PSAnMCd9CjxwPjxzdHJvbmc+eyRxdWl6emFyZF90YWtlcl9uYW1lfTwvc3Ryb25nPiAoeyRxdWl6emFyZF90YWtlcl9lbWFpbH0pPC9wPgo8cCBjbGFzcz0icGxhY2VfaW5fcXVpeiI+e2lmIGVtcHR5KCRwYWdlbmF2KX17JHBhZ2V4b2Z5fXtlbHNlfXskcGFnZW5hdn17L2lmfTwvcD4Key9pZn0KPGRpdiBjbGFzcz0icXVpeiI+Cnskc3RhcnRmb3JtfQp7Zm9yZWFjaCBmcm9tPSRxdWVzdGlvbnMgaXRlbT1lbnRyeX0Ke2lmICRlbnRyeS0+dHlwZSA9PSAncyd9CjxoMj57JGVudHJ5LT5xdWVzdGlvbn08L2gyPgp7ZWxzZWlmICRlbnRyeS0+dHlwZSA9PSAndCd9CjxoMz57JGVudHJ5LT5xdWVzdGlvbn08L2gzPgp7ZWxzZX0KCTxwIGNsYXNzPSJxdWl6X2l0ZW0iPntpZiAkZW50cnktPm51bSAhPSAiIn17JGVudHJ5LT5udW19KSB7L2lmfTxzcGFuIGNsYXNzPSJxdWVzdGlvbiI+eyRlbnRyeS0+cXVlc3Rpb259PC9zcGFuPntpZiAkcmVtZWRpYWwgPT0gJzEnICYmICRlbnRyeS0+Y29ycmVjdCAhPSAnMSd9eyRxdWVzdGlvbl93cm9uZ317L2lmfTxiciAvPgoJPHNwYW4gY2xhc3M9ImFuc3dlcnMiPgogICB7aWYgJGVudHJ5LT50eXBlID09ICdtJyB8fCAkZW50cnktPnR5cGUgPT0gJ2MnfQoJCXtmb3JlYWNoIGZyb209JGVudHJ5LT5hbnN3ZXJzIGtleT1hbnN3ZXJfbm8gaXRlbT1hbnN3ZXJ9CgkJeyRhbnN3ZXJ9PGJyIC8+CgkJey9mb3JlYWNofQoJey9pZn0KCTwvc3Bhbj4KCTwvcD4Key9pZn0Key9mb3JlYWNofQo8YnIgLz4KeyRoaWRkZW59eyRiYWNrfXskc2F2ZX17aWYgJGxhc3RwYWdlID09IDF9eyRzdWJtaXR9e2Vsc2V9eyRjb250aW51ZX17L2lmfQp7JGVuZGZvcm19CjwvZGl2Pg==]]></data>
	</file>
</module>
