<?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>Availability</name>
	<version>1.7.2</version>
  <mincmsversion>1.6.5</mincmsversion>
	<help>PGgzPjxzcGFuIHN0eWxlPSJjb2xvcjpyZWQ7Ij4tLSBXQVJOSU5HIC0tPC9zcGFuPjwvaDM+CjxwIHN0eWxlPSJtYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4tcmlnaHQ6IDVlbTsgcGFkZGluZzogMC41ZW07IGJhY2tncm91bmQ6ICNENEYyMzM7Ij5BbHRob3VnaCBldmVyeSBlZmZvcnQgaGFzIGJlZW4gbWFkZSB0byBlbnN1cmUgdGhhdCBubyB2YWx1YWJsZSBkYXRhIGlzIGxvc3QgZHVyaW5nIHRoZSB1cGdyYWRlIHByb2Nlc3MsIHlvdSBhcmUgYWR2aXNlZCB0byBlbnN1cmUgdGhhdCB5b3UgaGF2ZSBhIGNvbXBsZXRlbHkgdmVyaWZpZWQgYmFja3VwIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHVwZ3JhZGUgdGhpcyBtb2R1bGUuICBBbHNvLCB0aGUgZGF0YSBzdHJ1Y3R1cmVzIGFuZCBiZWhhdmlvdXIgb2YgdGhpcyBtb2R1bGUgaGF2ZSBjaGFuZ2VkIGRyYW1hdGljYWxseSBzaW5jZSB0aGUgcHJldmlvdXNseSByZWxlYXNlZCB2ZXJzaW9uLCB0aGVyZWZvcmUgc29tZSByZS1zdHlsaW5nIG9mIHRlbXBsYXRlcyB3aWxsIG5lZWQgdG8gb2NjdXIgaWYgeW91IGFyZSB1cGdyYWRpbmcgZnJvbSBhIHZlcnNpb24gb2YgdGhpcyBtb2R1bGUgZWFybGllciB0aGFuIDEuNy48L3A+CjxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIGNvbXBsZXRlIG9ubGluZSByZXNlcnZhdGlvbiBtYW5hZ2VtZW50IHN5c3RlbSBmb3IgaG90ZWxzLCBjYXIgcmVudGFsIGFnZW5jaWVzLCBvciBhbnkgb3RoZXIgcHVycG9zZSB3aGVyZSBwYXJ0aWN1bGFyICZxdW90O3Jlc291cmNlcyZxdW90OyBjYW4gYmUgcmVzZXJ2ZWQgb24gYSBkYWlseSBiYXNpcy48L3A+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBmcm9udGVuZCB1c2VycyB0byBjcmVhdGUgYW5kIG1hbmFnZSByZXNlcnZhdGlvbnMsIGFuZCB0byBjb250YWN0IGFkbWluaXN0cmF0b3JzIHdpdGggaW5mb3JtYXRpb24gYW5kIHF1ZXN0aW9ucyBhYm91dCByZXNlcnZhdGlvbnMuPC9wPgo8cD5BIGNvbXBsZXRlIGFkbWluIGludGVyZmFjZSBhbGxvd3MgYXV0aG9yaXplZCBhZG1pbmlzdHJhdG9ycyB0byBtYW5hZ2UgcmVzb3VyY2VzLCBldmVudHMsIHJlc2VydmF0aW9ucywgYW5kIGFsbCBhc3BlY3RzIG9mIHRoZSBkaXNwbGF5YWJsZSBpdGVtcy48L3A+CjxoMz5GZWF0dXJlczo8L2gzPgo8dWw+CjxsaT5BbGxvd3MgZGVmaW5pbmcgdW5saW1pdGVkIG51bWJlcnMgb2YgcmVzb3VyY2VzLgogIDx1bD4KICA8bGk+QSBiYXNlIGRhaWx5IHByaWNlIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIHJlc291cmNlLjwvbGk+CiAgPGxpPlByaWNlIGFkanVzdG1lbnRzIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIGRheSBvZiB0aGUgd2Vlay48L2xpPgogIDwvdWw+CjxsaT4KPGxpPkFsbG93cyBkZWZpbmluZyBhbiB1bmxpbWl0ZWQgbnVtYmVyIG9mIGN1c3RvbSBmaWVsZHMgdG8gYXNzb2NpYXRlIHdpdGggcmVzb3VyY2VzLjwvbGk+CjxsaT5BbGxvd3MgY3JlYXRpbmcgZXZlbnQgdHlwZXMgYW5kIGFzc29jaWF0aW5nIHRoZW0gd2l0aCBjb2xvcnMuPC9saT4KPGxpPlN1cHBvcnRzIGNyZWF0aW5nIGV2ZW50cyBmb3IgcGFydGljdWxhciByZXNvdXJjZXMgb3ZlciBwYXJ0aWN1bGFyIGRheXM6CiAgPHVsPgogIDxsaT5FdmVudHMgY2FuIGJlIGJvb2thYmxlIG9yIG5vbiBib29rYWJsZSwgdG8gYmxvY2sgcmVzZXJ2YXRpb25zIGZvciB0aG9zZSByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPgogIDxsaT5ib29rYWJsZSBldmVudHMgY2FuIGhhdmUgYSBwcmljZSBhZGp1c3RtZW50IHRvIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSBwcmljZSBvZiB0aGUgc2VsZWN0ZWQgcmVzb3VyY2VzIG9uIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgcHJpY2UgY2FsY3VsYXRpb24gZm9yIHJlc2VydmF0aW9ucy48L2xpPgo8bGk+U3VwcG9ydHMgYXV0b21hdGljIGNvbmZsaWN0IGNoZWNraW5nIHRvIGVuc3VyZSB0aGF0IG5vIHJlc2VydmF0aW9ucyBjYW4gYmUgY3JlYXRlZCBmb3IgcmVzZXJ2ZWQgcmVzb3VyY2VzLCBvciBjbG9zZWQgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4KPC91bD4KCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4KPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgZG8gYWZ0ZXIgaW5zdGFsbG5nIHRoZSBtb2R1bGUgaXMgdG8gY3JlYXRlIHNvbWUgcm9vbSBhdHRyaWJ1dGVzLCBhbmQgZXZlbnQgdHlwZXMuICAgWW91IHNob3VsZCBhbHNvIGNoZWNrIHRoZSBwcmVmZXJlbmNlcyB0byBlbnN1cmUgdGhhdCB0aGV5IHNlZW0gdG8gYmUgc2V0IGNvcnJlY3RseS4gIFlvdSBoYXZlIHRoZSBvcHRpb24gb2YgY2hhbmdpbmcgdGhlIHJlc291cmNlIHR5cGUgaW4gdGhlIHByZWZlcmVuY2UgZnJvbSByb29tIHRvIHNvbWUgb3RoZXIgcmVzb3VyY2UgdGhhdCB5b3UgYXJlIG1hbmFnaW5nLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgdmFyaW91cyBsYWJlbHMgaW4gdGhlIGFkbWluIHNlY3Rpb24gYW5kIGluIHRoZSBmcm9udGVuZCBkaXNwbGF5LjwvcD4KPC9wPk5leHQgeW91IHNob3VsZCBjcmVhdGUgc29tZSByZXNvdXJjZXMgYW5kIGZpbGwgdGhlbSBpbiB3aXRoIGFzIG11Y2ggZGV0YWlsIGFzIHBvc3NpYmxlLiAgWW91IG1heSBhbHNvIHdhbnQgdG8gY3JlYXRlIHNvbWUgZXZlbnRzLCBvciB0byBtYXJrIG9mZiBkYXRlcyB3aGVuIHBhcnRpY3VsYXIgcmVzb3VyY2VzIGFyZSB1bmF2YWlsYWJsZS48L3A+CjxwPlRvIGRpc3BsYXkgYSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHlvdSBzaG91bGQgYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eX0gaW50byBhIGNvbnRlbnQgcGFnZS48L3A+CjxwPlRvIGRpc3BsYXkgYSBjYWxlbmRhciB2aWV3LCB5b3UgY2FuIGFkZCB0aGUgdGFnIHtBdmFpbGFiaWxpdHkgYWN0aW9uPWNhbGVuZGFyfSB0byBhIGNvbnRlbnQgcGFnZS4gIFRoaXMgd2lsbCBwcm92aWRlIGEgc3VmZmljaWVudCBzeXN0ZW0gZm9yIGFsbG93aW5nIHZpc2l0b3JzIHRvIGNyZWF0ZSByZXNlcnZhdGlvbnMsIGV0Yy48L3A+CjxoND5SZXNlcnZhdGlvbnM8L2g0Pgo8cD5UaGUgZGVmYXVsdCBmb3JtIGZvciBhbGxvd2luZyBhIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gcmVsaWVzIGhlYXZpbHkgb24ganF1ZXJ5LCBhamF4LCBhbmQgamF2YXNjcmlwdC4gIFRvIGFsbG93IHRoZSBkZWZhdWx0IGZvcm0gdG8gd29yayBwcm9wZXJseSB5b3UgbmVlZCB0byBlbmFibGUgdGhlIGpxdWVyeXRvb2xzIG1vZHVsZSBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUsIGFuZCBhbHNvIGluY2x1ZGUgYSBzZXBlcmF0ZSBzZXQgb2YgamF2YXNjcmlwdCB1dGlsaXRpZXMgKHBocF9qcy5qcykgdGhhdCBpcyBwcm92aWRlZCB3aXRoIHRoZSBBdmFpbGFiaWxpdHkgbW9kdWxlcyBsaWIgZGlyZWN0b3J5LjwvbGk+CjxwPkkgc3VnZ2VzdCB5b3UgYWRkIHRoZSBmb2xsb3dpbmcgdHdvIGxpbmVzIHRvIHRoZSBoZWFkIHNlY3Rpb24gb2YgeW91ciBwYWdlIHRlbXBsYXRlLCBvciBpbnRvIHRoZSBwYWdlIG1ldGFkYXRhIHNlY3Rpb24gb2YgYW55IHBhZ2VzIHRoYXQgd2lsbCBiZSB3b3JraW5nIHdpdGggdGhlIGF2YWlsYWJpbGl0eSBtb2R1bGU6PC9wPgo8cHJlIHN0eWxlPSJtYXJnaW4tbGVmdDogMmVtOyI+CntKUXVlcnlUb29scyBhY3Rpb249XCdpbmNqc1wnfQombHQ7c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIiBzcmM9Intyb290X3VybH0vbW9kdWxlcy9BdmFpbGFiaWxpdHkvbGliL3BocF9qcy5qcyImZ3Q7Jmx0Oy9zY3JpcHQmZ3Q7CjwvcHJlPgoKPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mbHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPgo8cD48c3Ryb25nPkhvd2V2ZXI8L3N0cm9uZz4sIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD48aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjE3LjM8L2xpPjxsaT5DR1NpbXBsZVNtYXJ0eSA9Jmd0OyAxLjQ8L2xpPjxsaT5Gcm9udEVuZFVzZXJzID0mZ3Q7IDEuNi45PC9saT48bGk+SlF1ZXJ5VG9vbHMgPSZndDsgMS4wLjQ8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPSJkZWZhdWx0IiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIGZvcm0gb3IgcmVwb3J0IHRvIGRpc3BsYXkuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+Cjx1bD4KPGxpPmFkZHJlc3ZuIC0gVGhlIGFkZC9lZGl0IHJlc2VydmF0aW9uIGZvcm08YnIvPgombmJzcDsmbmJzcDstIFRoaXMgZm9ybSBhbGxvd3MgYSB2YWxpZCwgbG9nZ2VkIGluIGZyb250ZW5kIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gaW4gdGhlIHN5c3RlbS48L2xpPgo8bGk+Y2FsZW5kYXIgLSBUaGUgY2FsZW5kYXIgdmlldzxici8+CiZuYnNwOyZuYnNwOy0gVGhpcyB2aWV3IGRpc3BsYXlzIHRoZSBhdmFpbGFiaWxpdHkgb2Ygc2VsZWN0ZWQgcmVzb3VyY2VzIGZvciB0aGUgY3VycmVudCBtb250aC4gIEl0IGFsbG93cyBwYWdpbmF0aW5nIGJldHdlZW4gZGlmZmVyZW50IG1vbnRocywgdmlld2luZyBhIHJlc291cmNlIGRldGFpbCB2aWV3LCBhbmQgc3VwcGxpZXMgYSBsaW5rIHRoYXQgd2lsbCBicmluZyB1cCB0aGUgYWRkcmVzdm4gZm9ybSBmb3IgdGhlIHNlbGVjdGVkIGRhdGUgYW5kIHJlc291cmNlLjwvbGk+CjxsaT5kYXl2aWV3IC0gQSByZXBvcnQgb2YgYWN0aXZpdGllcyAob3IgbGFjayB0aGVyZW9mKSBmb3IgYSBwYXJ0aWN1bGFyIGRheTwvbGk+CjxsaT5kZWZhdWx0ICAtIFRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXc8YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGEgc3VtbWFyeSByZXBvcnQgb2Ygc2VsZWN0ZWQgcmVzb3VyY2VzLjwvbGk+CjxsaT5kZXRhaWwgICAgLSBUaGUgcmVzb3VyY2UgZGV0YWlsIHZpZXc8YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZS48L2xpPgo8bGk+bXlyZXNlcnZhdGlvbiAtIFRoZSBteXJlc2VydmF0aW9ucyByZXBvcnQuPGJyLz4KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSByZXBvcnQgYWJvdXQgYWxsIG9mIHRoZSB1cGNvbWluZyAob3B0aW9uYWxseSBwYXN0IGFzIHdlbGwpIHJlc2VydmF0aW9ucyBmb3IgdGhpcyBwYXJ0aWN1bGFyIHVzZXIuPC9saT4KPGxpPnNlYXJjaCAtIFRoZSBzZWFyY2ggZm9ybS48YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIGZvcm0gdGhhdCBhbGxvd3Mgc2VhcmNoaW5nIGZvciByZXNvdXJjZXMgdGhhdCBhcmUgYXZhaWxhYmxlIGJldHdlZW4gdG8gc3BlY2lmaWVkIGRhdGVzLjwvbGk+CjxsaT5zZW5kZW1haWwgLSBUaGUgcmVzZXJ2YXRpb24gc2VuZGVtYWlsIGZvcm08YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIGZvcm0gdGhhdCBhbGxvd3MgZnJvbnRlbmQgdXNlcnMgdG8gc2VuZCBhbiBlbWFpbCBtZXNzYWdlIHRvIHNpdGUgYWRtaW5pc3RyYXRvcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHNwZWNpZmljIHJlc2VydmF0aW9uLjwvbGk+CjwvdWw+CjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGF5dGVtcGxhdGU9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSBkYXkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkYXkgdmlldyB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gZ2VuZXJhdGluZyB0aGUgZGlzcGxheTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGV0YWlscGFnZT0iIiAtIEFwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBkZWZhdWx0IChzdW1tYXJ5KSwgYW5kIG15cmVzZXJ2YXRpb25zIHZpZXdzLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhbiBvcHRpb25hbCBwYWdlIGZvciB2aWV3aW5nIGVpdGhlciB0aGUgcmVzb3VyY2UgZGV0YWlsLCB0aGUgcmVzZXJ2YXRpb24gZm9ybXMsIG9yIHRoZSBzZW5kLWVtYWlsIGZvcm0uICBJZiB0aGlzIHZhbHVlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGhlIHByZWZlcmVuY2UgZnJvbSB0aGUgYWRtaW5pc3RyYXRpb24gY29uc29sZSB3aWxsIGJlIHVzZWQuICBJZiB0aGF0IGlzIG5vdCBzZXQsIHRoZW4gdGhlIGN1cnJlbnQgcGFnZSB3aWxsIGJlIHVzZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkZXRhaWx0ZW1wbGF0ZT0iIiAtIEFwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBkZXRhaWwsIGRlZmF1bHQgKHN1bW1hcnkpIGFuZCBteXJlc2VydmF0aW9ucyB2aWV3cyB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRldGFpbCB0ZW1wbGF0ZSB0byB1c2UgZm9yIGFueSBkaXNwbGF5LiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBoYXZlIG5vIGVmZmVjdCBpZiBwcmV0dHkgdXJscyBhcmUgY29uZmlndXJlZC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHN1bW1hcnl0ZW1wbGF0ZT0iIiAtIEFwcGxpY2FibGUgdG8gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIHZpZXcsIHRoaXMgcGFyYW10ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzdW1tYXJ5IHRlbXBsYXRlIHdpbGwgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGNhbGVuZGFydGVtcGxhdGU9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGNhbGVuZGFyIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBnZW5lcmF0aW5nIHRoZSBkaXNwbGF5PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZXN2bnRlbXBsYXRlPSIiIC0gQXBwbGljYWJsZSB0byB0aGUgYWRkcmVzdm4sIGNhbGVuZGFyLCBhbmQgbXlyZXNlcnZhdGlvbnMgYWN0aW9ucywgIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gY3JlYXRpbmcgb3IgZWRpdGluZyBhIHJlc2VydmF0aW9uPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBlbWFpbHRlbXBsYXRlPSIiIC0gQXBwbGljYWJsZSB0byB0aGUgY2FsZW5kYXIsIG15cmVzZXJ2YXRpb24sIGFuZCBhZGRyZXN2biBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGVtYWlsIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBlbWFpbHMgYXJlIHNlbnQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjb25maXJtdGVtcGxhdGU9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSByZXNlcnZhdGlvbiBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gYSB2aXNpdG9yIGNyZWF0ZXMgYSByZXNlcnZhdGlvbiBvbmxpbmU8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG15cmVzdnRlbXBsYXRlPSIiIC0gLS1BZGQgTWUgLSBtb2R1bGU6QXZhaWxhYmlsaXR5IHN0cmluZzpoZWxwX215cmVzdnRlbXBsYXRlLS08L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNlbmRlbWFpbHRlbXBsYXRlPSIiIC0gQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBteXJlc2VydmF0aW9uIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgdGVtcGxhdGUgZm9yIHRoZSBzZW5kZW1haWwgZm9ybS4gIFRoaXMgcGFyYW1ldGVyIGhhcyBubyBlZmZlY3Qgd2hlbiBwcmV0dHkgdXJscyBhcmUgZW5hYmxlZDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcGFnZWxpbWl0PSIxMDAwMDAiIC0gSW4gdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHJlc291cmNlcyB0byBkaXNwbGF5IG9uIGVhY2ggcGFnZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2hvd2FsbD0iMCIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBkaXNwbGF5aW5nIGFsbCByZXNlcnZhdGlvbnMsIGluY2x1ZGluZyBwYXN0IHJlc2VydmF0aW9ucy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNvcnRieT0iIiAtICAKQXBwbGljYWJsZSB0byB0aGUgbXlyZXNlcnZhdGlvbnMgdmlldyBhbmQgdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGFsdGVyaW5nIHRoZSBzb3J0IG9yZGVyIG9mIGRpc3BsYXllZCBpdGVtcy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz4KUmVzb3VyY2Ugc3VtbWFyeSB2aWV3Ojxici8+Cjx1bD4KICA8bGk+bmFtZTwvbGk+CiAgPGxpPnByaWNlPC9saT4KPC91bD4KbXllc2VydmF0aW9ucyB2aWV3Ojxici8+Cjx1bD4KICA8bGk+c3RhcnRfZGF0ZTwvbGk+CiAgPGxpPmVuZF9kYXRlPC9saT4KICA8bGk+cHJpY2U8L2xpPgogIDxsaT5jcmVhdGVfZGF0ZTwvbGk+CiAgPGxpPm1vZGlmaWVkX2RhdGU8L2xpPgo8L3VsPgo8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNvcnRvcmRlcj0iIiAtIEFwcGxpY2FibGUgdG8gdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldyBhbmQgdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGFsdGVyaW5nIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBzZWxlY3RlZCBkYXRhLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPjx1bD48bGk+YXNjIC0gYXNjZW5kaW5nPC9saT48bGk+ZGVzYyAtIGRlc2NlbmRpbmc8L2xpPjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiByc3JjaWQ9IiIgLSBUaGlzIHBhcmFtZXRlciBpcyBhY2NlcHRlZCBieSB0aGUgZGV0YWlsIHRlbXBsYXRlIHRvIGRpc3BsYXkgYSBkZXRhaWwgcmVwb3J0IGFib3V0IGEgc3BlY2lmaWMgcmVzb3VyY2U8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJlc3ZfaWQ9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgaWQgb2YgYW4gZXhpc3RpbmcgcmVzZXJ2YXRpb24gdG8gZWRpdC4gIFlvdSB3aWxsIHByb2JhYmx5IG5vdCBuZWVkIHRvIHVzZSB0aGlzIHBhcmFtZXRlciBkaXJlY3RseTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY2F0ZWdvcnk9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9mIGNhdGVnb3J5IG5hbWVzIHRvIHVzZSBmb3Igc2VsZWN0aW5nIHRoZSBkYXRhIHRvIGRpc3BsYXkuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSByZXNvdXJjZXMgcGFyYW1ldGVyLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcmVzb3VyY2VzPSIiIC0gSW4gdGhlIGNhbGVuZGFyIHZpZXcgdGhpcyBwYXJhbWV0ZXIgYWNjZXB0cyBhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9mIHJlc291cmNlIG5hbWVzIHRvIGRpc3BsYXkuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSBjYXRlZ29yeSBwYXJhbWV0ZXI8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG1vbnRoPSIiIC0gVXNlZCB3aXRoIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGRlZmF1bHQgbW9udGguICBVc2VkIHdpdGggdGhlIGRheSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSB0YXJnZXQgbW9udGg8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHllYXI9IiIgLSBVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZGVmYXVsdCB5ZWFyLiBXaGVuIHVzZWQgd2l0aCB0aGUgZGF5dmlldyBhY3Rpb24gdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIHRhcmdldCB5ZWFyLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGF5PSIiIC0gVXNlZCB3aXRoIHRoZSBhZGRyZXN2biBmb3JtIHRvIHNwZWNpZnkgYSBkZWZhdWx0IGRheS4gIFVzZWQgd2l0aCB0aGUgZGF5dmlldyBhY3Rpb24gdG8gc3BlY2lmeSB0aGUgdGFyZ2V0IGRheTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2VhcmNodGVtcGxhdGU9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc2VhcmNoIHRlbXBsYXRlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaW5saW5lPSIwIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHdldGhlciB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5saW5lIChyZXBsYWNlIHRoZSBvcmlnaW5hbCB0YWcpLCBvciBzaG91bGQgcmVwbGFjZSB0aGUgY29udGVudCBhcmVhIG9mIHRoZSBwYWdlLiAgIFRoaXMgcGFyYW1ldGVyIGhhcyBubyBlZmZlY3QgaWYgdGhlIHN1bW1hcnlwYWdlIHBhcmFtZXRlciBpcyBhbHNvIHNwZWNpZmllZDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc3VtbWFyeXBhZ2U9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaWQgb3IgYWxpYXMgb2YgdGhlIHBhZ2UgdGhhdCB0aGUgcmVzdWx0aW5nIHN1bW1hcnkgdmlldyBzaG91bGQgYmUgb24uICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIGlubGluZSBpcyBzZXQgdG8gZmFsc2UuPC9saT48L3VsPg==</help>
	<about>PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuNy4yPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgogIDxsaT52ZXJzaW9uIDEuMyAtIE1hcmNoIDIwMDkKICAgIDx1bD4KICAgICAgPGxpPkluaXRpYWwgUHVibGljIFJlbGVhc2UuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+dmVyc2lvbiAxLjQgLSBNYXJjaCAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5TdXBwb3J0IGZvciByZXNlcnZhdGlvbnMgd2l0aG91dCBhIHByaWNlPC9saT4KICAgICAgPGxpPlN1cHBvcnQgZm9yIG1heGltdW0gY2FwYWNpdHkgaW4gYSByZXNvdXJjZSwgYW5kIGEgcGVyLXVuaXQvZGF5IHN1cmNoYXJnZSBmb3Igb2V2ZXJhZ2VzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS41LjMgLSBNYXJjaCAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5CdWcgZml4ZXMuPC9saT4KICAgICAgPGxpPkFkZHMgYnVsayBkaXNjb3VudCBwcmljaW5nIG1lY2hhbmlzbihzKTwvbGk+CiAgICAgIDxsaT5BbGxvdyBtdWx0aXBsZSBmaWxlIGF0dGFjaG1lbnRzLjwvbGk+CiAgICAgIDxsaT5BZGRzIGFqYXh5IHZpZXcgdXNlciBzdHVmZiBpbiBlZGl0IHJlc2VydmF0aW9uLjwvbGk+CiAgICAgIDxsaT5BZGQgYWJpbGl0eSB0byBhbGxvdyBubyBwcmljaW5nLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS43IC0gT2N0b2JlciAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IGZvciByZXNlcnZhdGlvbnMgdG8gaGFuZGxlIG11bHRpcGxlIHJlc291cmNlcy48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSBmb3IgcmVzb3VyY2VzIHRvIGJlIGJvb2thYmxlIG9uIHRoZSBob3VyLCBoYWxmIGRheSwgb3IgZGF5LjwvbGk+CiAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IGZvciByZXNvdXJjZXMgdG8gaGF2ZSBzcGVjaWZpZWQgY2hlY2tpbi9jaGVja291dCB0aW1lcy48L2xpPgogICAgICA8bGk+VGhlIGNhbGVuZGFyIHZpZXdzIG5vdyB3b3JrIHByb3Blcmx5PC9saT4KICAgICAgPGxpPlJld29yayB0aGUgcmVzZXJ2YXRpb24gc3R1ZmYgc28gdGhhdCBpdCB1c2VzIGphdmFzY3JpcHQgYW5kIGFqYXggZXh0ZW5zaXZlbHkuPC9saT4KICAgICAgPGxpPkJlZ2luIHRoZSBPT1AgUHJvY2Vzcy48L2xpPgogICAgICA8bGk+Tm93IHJlcXVpcmUgUEhQIDUuMis8L2xpPgogICAgICA8bGk+PHN0cm9uZz4tLSBXQVJOSU5HOiAtLTwvc3Ryb25nPiAgVGhlcmUgaXMgYSBzZXJpb3VzIGJyZWFrIGluIGFsbCBvZiB0aGUgZnJvbnRlbmQgdGVtcGxhdGVzIHJlbGF0aW5nIHRvIHJlc2VydmF0aW9ucy4gIFVzZXJzIG9mIHRoZXNlIG1vZHVsZXMgbWF5IGhhdmUgdG8gcmUtc3R5bGUgdGhlaXIgdGVtcGxhdGVzLjxsaT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+dmVyc2lvbiAxLjcuMSAtIE9jdG9iZXIgMjAwOQogICAgPHVsPgogICAgICA8bGk+TWlub3IgYnVnIGZpeGVzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS43LjIgLSBPY3RvYmVyIDIwMDkKICAgIDx1bD4KICAgICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPgo8YnIgLz4=</about>
	<description>A resource and availability manager for scheduling and reserving resources on a daily basis</description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.17.3</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSimpleSmarty</requiredname>
	  <requiredversion>1.4</requiredversion>
	</requires>
	<requires>
	  <requiredname>FrontEndUsers</requiredname>
	  <requiredversion>1.6.9</requiredversion>
	</requires>
	<requires>
	  <requiredname>JQueryTools</requiredname>
	  <requiredversion>1.0.4</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addresvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIEFkZCBSZXNlcnZhdGlvbiBGb3JtIC8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gZnVuY3Rpb25zCi8vCgovLwovLyBJbml0aWFsaXphdGlvbgovLwokZmV1ID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCAhJGZldSApIHJldHVybjsgLy8gY291bGQgbm90IGZpbmQgZmV1CiRjdXN0X2lkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwokdGhlX2RhdGUgPSBuZXcgY2dlX2RhdGUoKTsKJHRoZV9kYXRlLT5zZXRfZGF5KCR0aGVfZGF0ZS0+ZGF5KCkrMSk7CiR0aGVfeWVhciA9ICcnOwokdGhlX21vbnRoID0gJyc7CiR0aGVfZGF5ID0gJyc7CiRyZXN2X2lkID0gJyc7CiRyc3JjX2lkID0gJyc7CiRyZXN2X29iaiA9ICcnOwokdGhldGVtcGxhdGUgPSAncmVzdm5fJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUUkVTVk5fVEVNUExBVEUpOwokZW1haWx0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTkNPTkZJUk1FTUFJTF9URU1QTEFURSk7CgoKLy8KLy8gUGFyYW1ldGVycwovLwoKLy8gZ2V0IGRhdGEgZnJvbSBwYXJhbWV0ZXJzCmlmKCBpc3NldCgkcGFyYW1zWydyZXN2bnRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAncmVzdm5fJy50cmltKCRwYXJhbXNbJ3Jlc3ZudGVtcGxhdGUnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snZW1haWx0ZW1wbGF0ZSddKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gdHJpbSgkcGFyYW1zWydlbWFpbHRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3llYXInXSkgKQogIHsKICAgICR0aGVfeWVhciA9IChpbnQpJHBhcmFtc1sneWVhciddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ21vbnRoJ10pICkKICB7CiAgICAkdGhlX21vbnRoID0gKGludCkkcGFyYW1zWydtb250aCddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2RheSddKSApCiAgewogICAgJHRoZV9kYXkgPSAoaW50KSRwYXJhbXNbJ2RheSddOwogIH0KaWYoICR0aGVfZGF5ICYmICR0aGVfbW9udGggJiYgJHRoZV95ZWFyICkKICB7CiAgICAkdGhlX2RhdGUgPSBjZ2VfZGF0ZV91dGlsczo6ZGF0ZV9hdCgkdGhlX21vbnRoLCR0aGVfZGF5LCR0aGVfeWVhcik7CiAgfQppZiggaXNzZXQoJHBhcmFtc1sncnNyY2lkJ10pICkKICB7CiAgICAkcnNyY19pZCA9IChpbnQpJHBhcmFtc1sncnNyY2lkJ107CiAgfQppZiggaXNzZXQoJHBhcmFtc1sncmVzdl9pZCddKSApCiAgewogICAgJHJlc3ZfaWQgPSAoaW50KSRwYXJhbXNbJ3Jlc3ZfaWQnXTsKICB9CmlmKCAkY3VzdF9pZCA8PSAwICkgCiAgewogICAgLy8gcmVkaXJlY3QgdGhlIHVzZXIgdG8gYSBjZXJ0YWluIHBhZ2UgaWYgbm90IGxvZ2dlZCBpbi4KICAgICRwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nLC0xKTsKICAgIGlmKCAkcGFnZSAhPSAtMSApCiAgICAgIHsKCSR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHBhZ2UpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCS8vIGdvdHRhIGRpc3BsYXkgYSBtZXNzYWdlCgkvLyBhbmQgZXhpdAoJZWNobyAkdGhpcy0+RGlzcGxheUVycm9yTWVzc2FnZSgkdGhpcy0+TGFuZygnZXJyb3Jfbm90bG9nZ2VkaW5fZmV1JykpOwoJcmV0dXJuOwogICAgICB9CiAgfQoKCi8vCi8vIFNldHVwCi8vCmlmKCAkcmVzdl9pZCApCiAgewogICAgLy8gd2UncmUgZWRpdGluZyBhIHJlc2VydmF0aW9uCiAgICAkcmVzdl9vYmogPSByZXNlcnZhdGlvbl9vcHM6OmxvYWRfYnlfaWQoJHJlc3ZfaWQpOwogIH0KZWxzZQogIHsKICAgICRyZXN2X29iaiA9IG5ldyBhdmFpbGFiaWxpdHlfcmVzZXJ2YXRpb24oKTsKICAgICRyZXN2X29iai0+c2V0X2N1c3RvbWVyX2lkKCRjdXN0X2lkKTsKICAgICRyZXN2X29iai0+c2V0X3N0YXR1cyhBVkFJTEFCSUxJVFlfU1RBVFVTX1BFTkRJTkcpOwogICAgaWYoICRyc3JjX2lkICkKICAgICAgewoJJHBhcnQgPSBuZXcgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX3BhcnQoKTsKCSRwYXJ0LT5zZXRfcnNyY19pZCgkcnNyY19pZCk7CgkkcGFydC0+c2V0X3N0YXJ0X2RhdGUoJHRoZV9kYXRlLT50b19kYmZvcm1hdCgpKTsKCSR0aGVfZW5kX2RhdGUgPSBjbG9uZSAkdGhlX2RhdGU7CgkkdGhlX2VuZF9kYXRlLT5zZXRfZGF5KCR0aGVfZGF0ZS0+ZGF5KCkrMSk7CgkkcGFydC0+c2V0X2VuZF9kYXRlKCR0aGVfZW5kX2RhdGUtPnRvX2RiZm9ybWF0KCkpOwoJJHJlc3Zfb2JqLT5hZGRfcGFydCgkcGFydCk7CiAgICAgIH0KICB9CgoKLy8KLy8gRGF0YSB2YWxpZGF0aW9uCi8vCgovLwovLyBIYW5kbGUgZm9ybSBzdWJtaXNzaW9uCi8vCmlmKCBpc3NldCgkcGFyYW1zWydhdmFpbF9zdWJtaXQnXSkgKQp7CiAgLy8gcmVidWlsZCB0aGUgcmVzZXJ2YXRpb24gZnJvbSBwYXJhbXMuLgogICRyZXN2X29iai0+cmVtb3ZlX2FsbF9wYXJ0cygpOwogICRwcmVmaXggPSAnYXZhaWxfcGFydF8nOwogICR0b3RhbF9wcmljZSA9IDA7CiAgZm9yKCAkcG4gPSAxOyAkcG4gPCAxMDAwOyAkcG4rKyApCiAgewogICAgaWYoICFpc3NldCgkcGFyYW1zWyRwcmVmaXguJ3NlbHJzcmNfJy4kcG5dKSApCiAgICAgIHsKCWJyZWFrOwogICAgICB9CgogICAgLy8gaGF2ZSBhIHZhbGlkIHBhcnQuCiAgICAkdGhlX3BhcnQgPSBuZXcgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX3BhcnQoKTsKICAgICR0aGVfcGFydC0+c2V0X3JzcmNfaWQoJHBhcmFtc1skcHJlZml4LidzZWxyc3JjXycuJHBuXSk7CiAgICAkdGhlX3BhcnQtPnNldF9zdGFydF9kYXRlKGNnZV9kYXRlX3V0aWxzOjp0c190b19kYmZvcm1hdCgkcGFyYW1zWyRwcmVmaXguJ3N0YXJ0ZGF0ZV8nLiRwbl0pKTsKICAgICR0aGVfcGFydC0+c2V0X2VuZF9kYXRlKGNnZV9kYXRlX3V0aWxzOjp0c190b19kYmZvcm1hdCgkcGFyYW1zWyRwcmVmaXguJ2VuZGRhdGVfJy4kcG5dKSk7CiAgICAkdGhlX3BhcnQtPnNldF9udW1fcGVvcGxlKCRwYXJhbXNbJHByZWZpeC4nbnVtcGVvcGxlXycuJHBuXSk7CiAgICAkdGhlX3BhcnQtPnNldF9wcmljZSgkcGFyYW1zWyRwcmVmaXguJ3ByaWNlXycuJHBuXSk7CiAgICAkdG90YWxfcHJpY2UgKz0gJHBhcmFtc1skcHJlZml4LidwcmljZV8nLiRwbl07CiAgICAkcmVzdl9vYmotPmFkZF9wYXJ0KCR0aGVfcGFydCk7CiAgfQoKICAkdGhlX25vdGUgPSBuZXcgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX25vdGUoKTsKICAkdGhlX25vdGUtPnNldF90ZXh0KCRwYXJhbXNbJ2F2YWlsX29yZGVyX25vdGVzJ10pOwogICR0aGVfbm90ZS0+c2V0X3N1YmplY3QoJ09yaWdpbmFsIE9yZGVyIE5vdGVzJyk7CiAgCiAgJHJlc3Zfb2JqLT5hZGRfbm90ZSgkdGhlX25vdGUpOwoKICAkcmVzdl9vYmotPnNldF9wcmljZSgkdG90YWxfcHJpY2UpOwogICRyZXN2X29iai0+c2F2ZSgpOwoKICAgIGlmKCBlbXB0eSgkc3RhdHVzKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9mbGFnJywxKSApCiAgICAgIHsKCS8vIHNlbmQgdGhlIGRldGFpbHMgZW1haWwKCSR0bXAgPSAnJzsKCSRyZXMgPSAkdGhpcy0+U2VuZFJlc2VydmF0aW9uRGV0YWlsc0VtYWlsKCRyZXN2X29iai0+Z2V0X2lkKCksJGVtYWlsdGVtcGxhdGUsMSwkdG1wKTsKICAgICAgfQogICAgCiAgICBpZiggZW1wdHkoJHN0YXR1cykgKQogICAgICB7CgkvLyByZWRpcmVjdCB0byB0aGUgbmV4dCBhY3Rpb24uCgkkcGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnLC0xKTsKCWlmKCAkcGFnZSA9PSAtMSApICRwYWdlID0gJHJldHVybmlkOwoJJHBhcmFtc1sncmVzdl9pZCddID0gJHJlc3Zfb2JqLT5nZXRfaWQoKTsKCSR0aGlzLT5SZWRpcmVjdEZvckZyb250ZW5kKCRpZCwkcGFnZSwnY29uZmlybV9yZXN2bicsCgkJCQkgICAkcGFyYW1zKTsKICAgICAgfQogIH0KCi8vCi8vIEdpdmUgZGF0YSB0byBzbWFydHkKLy8KJHJlc2VydmF0aW9uID0gcmVzZXJ2YXRpb25fb3BzOjp0b19hcnJheSgkcmVzdl9vYmopOwpmb3IoICRwID0gMDsgJHAgPCBjb3VudCgkcmVzZXJ2YXRpb25bJ3BhcnRzJ10pOyAkcCsrICkKICB7CiAgICAkcGFydCA9JiAkcmVzZXJ2YXRpb25bJ3BhcnRzJ11bJHBdOwogICAgJHJzcmMgPSAkdGhpcy0+R2V0UmVzb3VyY2UoJHBhcnRbJ3JzcmNfaWQnXSk7CiAgICBpZiggJHJzcmMgKQogICAgICB7CgkkYyA9ICcnOwoJc3dpdGNoKCAkcnNyY1sncmVzX2ludGVydmFsJ10gKQoJICB7CgkgIGNhc2UgJ2hvdXJseSc6CgkgICAgJGMgPSAnLGgnOwoJICAgIGJyZWFrOwoJICBjYXNlICdoYWxmX2RheSc6CgkgICAgJGMgPSAnLHAnOwoJICAgIGJyZWFrOwoJICBjYXNlICdkYWlseSc6CgkgICAgJGMgPSAnLGQnOwoJICAgIGJyZWFrOwoJICB9CiAgICAgICAgJHBhcnRbJ2V4dF9wYXJ0X3R5cGUnXSA9ICRyc3JjWydyZXNfaW50ZXJ2YWwnXTsKCSRwYXJ0WydleHRfcnNyY2lkJ10gPSAkcGFydFsncnNyY19pZCddLiRjOwoJJHBhcnRbJ2V4dF9zdW1tYXJ5J10gPSAkdGhpcy0+R2V0UmVzb3VyY2VTdW1tYXJ5KCRyc3JjKTsKICAgICAgfQogIH0KCiRzbWFydHktPmFzc2lnbigncmVzZXJ2YXRpb24nLCRyZXNlcnZhdGlvbik7CgoKJHRoZV9yc3JjID0gJHJzcmNfaWQ7CiR0aGVfdHlwZSA9ICcnOwokcXVlcnkgPSAnU0VMRUNUIGlkLG5hbWUscmVzX2ludGVydmFsIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBXSEVSRSBhY3RpdmUgPSAxJzsKJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKJHJzcmNzID0gYXJyYXkoKTsKJHJzcmNzX3JldiA9IGFycmF5KCk7CiRyc3Jjc19yZXZbJy0xLC0xJ10gPSAgJHRoaXMtPkxhbmcoJ3NlbGVjdF9vbmUnKTsKJGludGVydmFscyA9IGFycmF5KCk7CiRpbnRlcnZhbHNbJ2hvdXJseSddID0gJ2gnOwokaW50ZXJ2YWxzWydoYWxmX2RheSddID0gJ3AnOwokaW50ZXJ2YWxzWydkYWlseSddID0gJ2QnOwpmb3JlYWNoKCAkdG1wIGFzICRvbmUgKQp7CiAgaWYoICRvbmVbJ2lkJ10gPT0gJHJzcmNfaWQgKQogICAgeyAKICAgICAgJHRoZV9yc3JjID0gJHJzcmNfaWQuJywnLiRpbnRlcnZhbHNbJG9uZVsncmVzX2ludGVydmFsJ11dOwogICAgICAkdGhlX3R5cGUgPSAkaW50ZXJ2YWxzWyRvbmVbJ3Jlc19pbnRlcnZhbCddXTsKICAgIH0KICAkcnNyY3NfcmV2WyRvbmVbJ2lkJ10uJywnLiRpbnRlcnZhbHNbJG9uZVsncmVzX2ludGVydmFsJ11dXSA9ICRvbmVbJ25hbWUnXS4nICgnLiR0aGlzLT5MYW5nKCRvbmVbJ3Jlc19pbnRlcnZhbCddKS4nKSc7Cn0KJHNtYXJ0eS0+YXNzaWduKCdyc3JjX2xpc3QnLCRyc3Jjc19yZXYpOwoKJHNtYXJ0eS0+YXNzaWduKCdjdXN0b21lcmlkJywkY3VzdF9pZCk7CgokdG1wID0gYXJyYXkoKTsKJHRtcFsnYW0nXSA9ICR0aGlzLT5MYW5nKCdBTScpOwokdG1wWydwbSddID0gJHRoaXMtPkxhbmcoJ1BNJyk7CiRzbWFydHktPmFzc2lnbignbWVyaWRpYW5zJywkdG1wKTsKaWYoICRjdXN0X2lkID4gMCApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLAoJCSAgICAkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZGRyZXN2bicsJHJldHVybmlkKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwogICAgaWYoICRyZXN2X2lkID4gMCApCiAgICAgIHsKCSRzbWFydHktPmFzc2lnbigncmVzdl9pZCcsJHJlc3ZfaWQpOwogICAgICB9CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Jlc2VydmF0aW9uJywkcmVzZXJ2YXRpb24pOwoKICAgIC8vIGNyZWF0ZSBhIGxpc3Qgb2YgbnVtYmVycyBmb3IgdGhlICdudW1iZXIgb2YgcGVvcGxlJyBsaXN0LgogICAgJHRtcCA9IGFycmF5KCk7CiAgICAkZGVmYXVsdF9jYXBhY2l0eSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2NhcGFjaXR5Jyw1MCk7CiAgICBmb3IoICRpID0gMTsgJGkgPCAkZGVmYXVsdF9jYXBhY2l0eTsgJGkrKyApCiAgICAgIHsKCSR0bXBbJGldID0gJGk7CiAgICAgIH0KICAgICRzbWFydHktPmFzc2lnbigncGVvcGxlX2xpc3QnLCR0bXApOwogICAgJHNtYXJ0eS0+YXNzaWduKCdudW1iZXJzJywkdG1wKTsKICAgICRzbWFydHktPmFzc2lnbignc2VsX3JzcmMnLCR0aGVfcnNyYyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2luaXRfc3RhcnRfZGF0ZScsJHRoZV9kYXRlLT50b19kYmZvcm1hdCgpKTsKICAgICR0aGVfZW5kX2RhdGUgPSBjbG9uZSAkdGhlX2RhdGU7CiAgICAkdGhlX2VuZF9kYXRlLT5zZXRfZGF5KCR0aGVfZGF0ZS0+ZGF5KCkrMSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2luaXRfZW5kX2RhdGUnLCR0aGVfZW5kX2RhdGUtPnRvX2RiZm9ybWF0KCkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbml0X3JzcmNfdHlwZScsJHRoZV90eXBlKTsKICB9CgokdG1wID0gZ2V0X3NpdGVfcHJlZmVyZW5jZSgnZGVmYXVsdGRhdGVmb3JtYXQnKTsKaWYoICEkdG1wICkgJHRtcCA9ICclYiAlZSwgJVknOwokc21hcnR5LT5hc3NpZ24oJ2RhdGVfZm9ybWF0JywkdG1wKTsKCi8vCi8vIERpc3BsYXkgdGhlIHRlbXBsYXRlCi8vCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGhldGVtcGxhdGUpOwoKCgoKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_category.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCmlmKCAhaXNzZXQoJHBhcmFtc1snY2F0aWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnZXZlbnRfdHlwZXMnLCcnLCdhZG1pbl9zZXR0aW5ncycpOwogIH0KJGNhdGlkID0gKGludCkkcGFyYW1zWydjYXRpZCddOwoKLy8gQ2hlY2sgdG8gc2VlIGlmIHRoaXMgY2F0aWQgaXMgdXNlZAokcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19DQVRTLicKICAgICAgICAgIFdIRVJFIGNhdGVnb3J5X2lkID0gPyBMSU1JVCAxJzsKJHJlcyA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKaWYoICEkcmVzICkKICB7CiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfQ0FUUy4nCiAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJGNhdGlkKSApOwogIH0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCdjYXRlZ29yaWVzJywnJywnYWRtaW5fc2V0dGluZ3MnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_custom_field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCmlmKCAhaXNzZXQoJHBhcmFtc1snZmxkaWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnY3VzdG9tX2ZpZWxkcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CiAgfQokZmxkaWQgPSAoaW50KSRwYXJhbXNbJ2ZsZGlkJ107CgovLyBDaGVjayB0byBzZWUgaWYgdGhpcyBmbGRpZCBpcyB1c2VkCiRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRFZBTFMuJwogICAgICAgICAgV0hFUkUgZmllbGRkZWZfaWQgPSA/IExJTUlUIDEnOwokcmVzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRmbGRpZCkpOwppZiggISRyZXMgKQogIHsKICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRERFRlMuJwogICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwogICAgJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCRmbGRpZCkgKTsKICB9CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnY3VzdG9tX2ZpZWxkcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_event.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpICkgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2V2ZW50cycpOwppZiggIWlzc2V0KCRwYXJhbXNbJ2V2ZW50aWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KCiRldmVudGlkID0gKGludCkkcGFyYW1zWydldmVudGlkJ107CgokcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19FVkVOVFMuJyAKICAgICAgICAgICBXSEVSRSBldmVudF9pZCA9ID8nOwokZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJGV2ZW50aWQpICk7CgokcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRTLicKICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwokZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJGV2ZW50aWQpICk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_event_type.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVCkgKQogIHsKICAgIGRpZSgncGVybWlzc2lvbiBkZW5pZWQnKTsKICB9CgppZiggIWlzc2V0KCRwYXJhbXNbJ3R5cGVpZCddKSApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCdldmVudF90eXBlcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CiAgfQokdHlwZWlkID0gKGludCkkcGFyYW1zWyd0eXBlaWQnXTsKCi8vIENoZWNrIHRvIHNlZSBpZiB0aGlzIHR5cGVpZCBpcyB1c2VkCiRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMuJwogICAgICAgICAgV0hFUkUgZXZlbnRfdHlwZV9pZCA9ID8gTElNSVQgMSc7CiRyZXMgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHR5cGVpZCkpOwppZiggISRyZXMgKQogIHsKICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUy4nCiAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJHR5cGVpZCkgKTsKICB9CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnZXZlbnRfdHlwZXMnLCcnLCdhZG1pbl9zZXR0aW5ncycpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_resvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpICkKICB7CiAgICBkaWUoJ3Blcm1pc3Npb24gZGVuaWVkJyk7CiAgfQoKLy8KLy8gU2V0dXAKLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3Jlc2VydmF0aW9ucycpOwppZiggIWlzc2V0KCRwYXJhbXNbJ3Jlc3ZuaWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KCiRyZXN2X2lkID0gKGludCkkcGFyYW1zWydyZXN2bmlkJ107CgokcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fQVRUUklCUy4nCiAgICAgICAgICAgV0hFUkUgcmVzdl9pZCA9ID8nOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyZXN2X2lkKSk7CgokcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMuJwogICAgICAgICAgIFdIRVJFIHJlc3ZfaWQgPSA/JzsKJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcmVzdl9pZCkpOwoKJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicKICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKCiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlMuJwogICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyZXN2X2lkKSk7CmlmKCAhJGRiciApCiAgewogICAgZWNobyAkZGItPnNxbC4iPGJyLz4iOwogICAgZWNobyAkZGItPkVycm9yTXNnKCk7CiAgICBkaWUoKTsKICB9CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_rsrc.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNPVVJDRVMpICkgZXhpdCgpOwoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3Jlc291cmNlcycpOwppZiggIWlzc2V0KCRwYXJhbXNbJ3JzcmNpZCddKSApIAogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQokcnNyY19pZCA9IChpbnQpJHBhcmFtc1sncnNyY2lkJ107CgokcXVlcnkgPSAnU0VMRUNUIHJlc3ZfaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlMuJyBXSEVSRSByc3JjX2lkID0gPyBMSU1JVCAxJzsKJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSwkcnNyY19pZCk7CmlmKCAkdG1wICkKICB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KCi8vIERlbGV0ZSBhbGwgdGhlIHJlc291cmNlJ3MgY2F0ZWdvcmllcwokcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19DQVRTLicgV0hFUkUgcnNyY19pZCA9ID8nOwokcXVlcnkgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyc3JjX2lkKSk7CgovLyBEZWxldGUgYWxsIHRoZSByZXNvdXJjZSdzIGZpZWxkcwokcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRklFTERWQUxTLicgV0hFUkUgcnNyY19pZCA9ID8nOwokcXVlcnkgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyc3JjX2lkKSk7CgovLyBhbGwgdGhlIGN1c3RvbSB3ZWVrZGF5IHByaWNlcwokcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19QUklDRVMuJyBXSEVSRSByc3JjX2lkID0gPyc7CiRxdWVyeSA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJzcmNfaWQpKTsKCi8vIGFueSByZXNlcnZhdGlvbiBkZXRhaWxzCi8vJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicgV0hFUkUgcnNyY19pZCA9ID8nOwovLyRxdWVyeSA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJzcmNfaWQpKTsKCi8vIERlbGV0ZSB0aGUgcmVzb3VyY2UgaXRzZWxmCiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFdIRVJFIGlkID0gPyc7CiRxdWVyeSA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJzcmNfaWQpKTsKCi8vIFVwZGF0ZSBzZWFyY2gKJHNlYXJjaCA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwppZiggJHNlYXJjaCAhPSBGQUxTRSApCiAgewogICAgJHNlYXJjaC0+RGVsZXRlV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJHJzcmNfaWQsICdyZXNvdXJjZScgKTsKICB9CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_category.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCi8vIFNldHVwCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdjYXRlZ29yaWVzJyk7CiRyb3cgPSBhcnJheSgnbmFtZSc9PicnKTsKCmlmKCBpc3NldCgkcGFyYW1zWydjYXRpZCddKSApCiAgewogICAgLy8gY2F0aWQgc2VudCwgdHJ5IHRvIGdldCB0aGUgdmFsdWVzCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9DQVRTLicgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdyggJHF1ZXJ5LCBhcnJheSggKGludCkkcGFyYW1zWydjYXRpZCddICkgKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJ2NhdGVnb3JpZXMnLCcnLCdhZG1pbl9zZXR0aW5ncycpOwogIH0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkKICB7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfbmFtZSddKSApCiAgICAgIHsKCSRyb3dbJ25hbWUnXSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfbmFtZSddKTsKICAgICAgfQoKICAgIC8vIGVycm9yIGNoZWNraW5nCiAgICAkZXJyb3JzID0gYXJyYXkoKTsKICAgIGlmKCBlbXB0eSgkcm93WyduYW1lJ10pICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKTsKICAgICAgfQoKICAgIC8vIGhhbmRsZSBlcnJvcnMsIG9yIHByb2Nlc3MKICAgIGlmKCBjb3VudCgkZXJyb3JzKSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGRiciA9IHRydWU7CglpZiggIWlzc2V0KCRwYXJhbXNbJ2NhdGlkJ10pICkKCSAgewoJICAgIC8vIGl0J3MgYW4gaW5zZXJ0CgkgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX0NBVFMuJwogICAgICAgICAgICAgICAgICAgICAgICAobmFtZSkgVkFMVUVTICg/KSc7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJHJvd1snbmFtZSddICkpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX0NBVFMuJwogICAgICAgICAgICAgICAgICAgICAgICAgU0VUIG5hbWUgPSA/IFdIRVJFIGlkID0gPyc7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJHJvd1snbmFtZSddLCAkcGFyYW1zWydjYXRpZCddKSk7CgkgIH0KCglpZiggISRkYnIgKQoJICB7CgkgICAgZWNobyAkZGItPnNxbC4nPGJyLz5FUlJPUjogJy4kZGItPkVycm9yTXNnKCkuJzxici8+JzsKCSAgICBkaWUoKTsKCSAgfQoKCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnY2F0ZWdvcmllcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CiAgICAgIH0KICB9CgoKLy8gQ3JlYXRlIHRoZSBmb3JtCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9lZGl0X2NhdGVnb3J5JywKCQkJCQkgJHJldHVybmlkLCRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLCR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X25hbWUnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9uYW1lJywkcm93WyduYW1lJ10sODAsMjU1KSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VkaXRfY2F0ZWdvcnkudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_custom_field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCi8vIHNldHVwCiRyb3cgPSBhcnJheSgnbmFtZSc9PicnLCdwcm9tcHQnPT4nJywndHlwZSc9Pid0ZXh0Ym94JywnbWF4X2xlbmd0aCc9PjUwLAoJICAgICAncHVibGljJz0+MSwnb3B0aW9ucyc9PicnKTsKCi8vIEdldCB0aGUgcm93IGZyb20gdGhlIGRhdGFiYXNlCmlmKCBpc3NldCgkcGFyYW1zWydmbGRpZCddKSApCiAgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRklFTERERUZTLicgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydmbGRpZCddKSk7CiAgfQoKLy8gR2V0IGZpZWxkcyBmcm9tIHBhcmFtcwppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfbmFtZSddKSApCiAgewogICAgJHJvd1snbmFtZSddID0gc3RyX3JlcGxhY2UoJy0nLCdfJyxtdW5nZV9zdHJpbmdfdG9fdXJsKHRyaW0oJHBhcmFtc1snaW5wdXRfbmFtZSddKSx0cnVlKSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfcHJvbXB0J10pICkKICB7CiAgICAkcm93Wydwcm9tcHQnXSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcHJvbXB0J10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3R5cGUnXSkgKQogIHsKICAgICRyb3dbJ3R5cGUnXSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfdHlwZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9tYXhsZW5ndGgnXSkgKQogIHsKICAgICRyb3dbJ21heF9sZW5ndGgnXSA9IChpbnQpJHBhcmFtc1snaW5wdXRfbWF4bGVuZ3RoJ107CiAgfQppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfcHVibGljJ10pICkKICB7CiAgICAkcm93WydwdWJsaWMnXSA9IChpbnQpJHBhcmFtc1snaW5wdXRfcHVibGljJ107CiAgfQppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfb3B0aW9ucyddKSApCiAgewogICAgJHJvd1snb3B0aW9ucyddID0gdHJpbSgkcGFyYW1zWydpbnB1dF9vcHRpb25zJ10pOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnY3VzdG9tX2ZpZWxkcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgIC8vIGVycm9yIGNoZWNraW5nCiAgICAkZXJyb3JzID0gYXJyYXkoKTsKICAgIGlmKCBlbXB0eSgkcm93WyduYW1lJ10pICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKTsKICAgICAgfQogICAgaWYoIGVtcHR5KCRyb3dbJ3Byb21wdCddKSApCiAgICAgIHsKCSRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJyk7CiAgICAgIH0KICAgIGlmKCAkcm93Wyd0eXBlJ10gPT0gJ2Ryb3Bkb3duJyAmJiBlbXB0eSgkcm93WydvcHRpb25zJ10pICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKTsKICAgICAgfQogICAgaWYoICRyb3dbJ3R5cGUnXSA9PSAndGV4dGJveCcgJiYgKCRyb3dbJ21heF9sZW5ndGgnXSA+IDI1NTUgfHwgJHJvd1snbWF4X2xlbmd0aCddIDwgMCApICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKTsKICAgICAgfQoKICAgIGlmKCBjb3VudCgkZXJyb3JzKSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGRiciA9IHRydWU7CglpZiggIWlzc2V0KCRwYXJhbXNbJ2ZsZGlkJ10pICkKCSAgewoJICAgIC8vIGl0J3MgYW4gaW5zZXJ0CgkgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEREVGUy4nCiAgICAgICAgICAgICAgICAgICAgICAgIChuYW1lLHByb21wdCx0eXBlLG1heF9sZW5ndGgsb3B0aW9ucyxwdWJsaWMpCiAgICAgICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJHJvd1snbmFtZSddLAoJCQkJCQkkcm93Wydwcm9tcHQnXSwKCQkJCQkJJHJvd1sndHlwZSddLAoJCQkJCQkkcm93WydtYXhfbGVuZ3RoJ10sCgkJCQkJCSRyb3dbJ29wdGlvbnMnXSwKCQkJCQkJJHJvd1sncHVibGljJ10pICk7CgkgIH0KCWVsc2UKCSAgewoJICAgIC8vIGl0J3MgYW4gdXBkYXRlCgkgICAgJHF1ZXJ5ID0gJ1VQREFURSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRERFRlMuJwogICAgICAgICAgICAgICAgICAgICAgICAgU0VUIG5hbWUgPSA/LCBwcm9tcHQgPSA/LCB0eXBlID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbGVuZ3RoID0gPywgb3B0aW9ucyA9ID8sIHB1YmxpYyA9ID8KICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwoJICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRyb3dbJ25hbWUnXSwKCQkJCQkJJHJvd1sncHJvbXB0J10sCgkJCQkJCSRyb3dbJ3R5cGUnXSwKCQkJCQkJJHJvd1snbWF4X2xlbmd0aCddLAoJCQkJCQkkcm93WydvcHRpb25zJ10sCgkJCQkJCSRyb3dbJ3B1YmxpYyddLAoJCQkJCQkoaW50KSRwYXJhbXNbJ2ZsZGlkJ10pICk7CgkgIH0KCglpZiggISRkYnIgKQoJICB7CgkgICAgZWNobyAkZGItPnNxbC4nPGJyLz5FUlJPUjogJy4kZGItPkVycm9yTXNnKCkuJzxici8+JzsKCSAgICBkaWUoKTsKCSAgfQoKCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnY3VzdG9tX2ZpZWxkcycsJycsJ2FkbWluX3NldHRpbmdzJyk7CiAgICAgIH0KICB9CgovLyBCdWlsZCB0aGUgZm9ybQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fZWRpdF9jdXN0b21fZmllbGQnLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfbmFtZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X25hbWUnLCRyb3dbJ25hbWUnXSwzMCwyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wcm9tcHQnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9wcm9tcHQnLCRyb3dbJ3Byb21wdCddLDUwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3B1YmxpYycsJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ2lucHV0X3B1YmxpYycsJHJvd1sncHVibGljJ10pKTsKJGFkZHRleHQgPSAib25jaGFuZ2U9J3RoaXMuZm9ybS5zdWJtaXQoKTsnIjsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90eXBlJywkdGhpcy0+R2V0VHlwZXNEcm9wZG93bigkaWQsJ2lucHV0X3R5cGUnLCRyb3dbJ3R5cGUnXSwkYWRkdGV4dCx0cnVlKSk7CgppZiggJHJvd1sndHlwZSddID09ICd0ZXh0Ym94JyApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9tYXhsZW5ndGgnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9tYXhsZW5ndGgnLCRyb3dbJ21heF9sZW5ndGgnXSw1LDUpKTsKICB9CmVsc2UgaWYoICRyb3dbJ3R5cGUnXSA9PSAnZHJvcGRvd24nICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X29wdGlvbnMnLAoJCSAgICAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsJGlkLCRyb3dbJ29wdGlvbnMnXSwnaW5wdXRfb3B0aW9ucycpKTsKICB9CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VkaXRfY3VzdG9tX2ZpZWxkLnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_event.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpICkgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwoKLy8KLy8gU2V0dXAKLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2V2ZW50cycpOwokcm93ID0gYXJyYXkoJ25hbWUnPT4nJywnZGVzY3JpcHRpb24nPT4nJywnZXZlbnRfdHlwZV9pZCc9Pi0xLAoJICAgICAnc3RhcnRfZGF0ZSc9PnRpbWUoKSwnZW5kX2RhdGUnPT5zdHJ0b3RpbWUoIisxIHdlZWsiKSwnYm9va2FibGUnPT4xLAoJICAgICAncHJpY2VfYWRqdXN0Jz0+JycsJ2FkbWluX25vdGVzJz0+JycpOwokc2VsX3Jlc291cmNlcyA9IGFycmF5KCk7CgppZiggaXNzZXQoJHBhcmFtc1snZXZlbnRpZCddKSApCiAgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRTLicKICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydldmVudGlkJ10pKTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUIHJzcmNfaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0VWRU5UUy4nCiAgICAgICAgICAgICAgIFdIRVJFIGV2ZW50X2lkID0gPyc7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydldmVudGlkJ10pKTsKICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApCiAgICAgIHsKCSRzZWxfcmVzb3VyY2VzW10gPSAkb25lWydyc3JjX2lkJ107CiAgICAgIH0KICB9CgovLwovLyBIYW5kbGUgZm9ybSBhY3Rpb25zCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgIC8vIERhdGEgY29sbGVjdGlvbgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X25hbWUnXSkgKQogICAgICB7Cgkkcm93WyduYW1lJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X25hbWUnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9kZXNjcmlwdGlvbiddKSApCiAgICAgIHsKCSRyb3dbJ2Rlc2NyaXB0aW9uJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2Rlc2NyaXB0aW9uJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfZXZlbnRfdHlwZSddKSApCiAgICAgIHsKCSRyb3dbJ2V2ZW50X3R5cGVfaWQnXSA9IChpbnQpKCRwYXJhbXNbJ2lucHV0X2V2ZW50X3R5cGUnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9zdGFydGRhdGVfTW9udGgnXSkgKQogICAgICB7Cgkkcm93WydzdGFydF9kYXRlJ10gPSAKCSAgbWt0aW1lKDAsMCwwLAoJCSAoaW50KSRwYXJhbXNbJ2lucHV0X3N0YXJ0ZGF0ZV9Nb250aCddLAoJCSAoaW50KSRwYXJhbXNbJ2lucHV0X3N0YXJ0ZGF0ZV9EYXknXSwKCQkgKGludCkkcGFyYW1zWydpbnB1dF9zdGFydGRhdGVfWWVhciddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2VuZGRhdGVfTW9udGgnXSkgKQogICAgICB7Cgkkcm93WydlbmRfZGF0ZSddID0gCgkgIG1rdGltZSgyMyw1OSw1OSwKCQkgKGludCkkcGFyYW1zWydpbnB1dF9lbmRkYXRlX01vbnRoJ10sCgkJIChpbnQpJHBhcmFtc1snaW5wdXRfZW5kZGF0ZV9EYXknXSwKCQkgKGludCkkcGFyYW1zWydpbnB1dF9lbmRkYXRlX1llYXInXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9ib29rYWJsZSddKSApCiAgICAgIHsKCSRyb3dbJ2Jvb2thYmxlJ10gPSAoaW50KSgkcGFyYW1zWydpbnB1dF9ib29rYWJsZSddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3ByaWNlX2FkanVzdCddKSApCiAgICAgIHsKCSRyb3dbJ3ByaWNlX2FkanVzdCddID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wcmljZV9hZGp1c3QnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9hZG1pbl9ub3RlcyddKSApCiAgICAgIHsKCSRyb3dbJ2FkbWluX25vdGVzJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2FkbWluX25vdGVzJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfcmVzb3VyY2VzJ10pICkKICAgICAgewoJJHNlbF9yZXNvdXJjZXMgPSAkcGFyYW1zWydpbnB1dF9yZXNvdXJjZXMnXTsKICAgICAgfQoKICAgIC8vIERhdGEgdmFsaWRhdGlvbgogICAgJGVycm9ycyA9IGFycmF5KCk7CiAgICBpZiggZW1wdHkoJHJvd1snbmFtZSddKSApCiAgICAgIHsKCSRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJyk7CiAgICAgIH0KICAgIGlmKCAhY291bnQoJHNlbF9yZXNvdXJjZXMpICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX211c3Rfc2VsZWN0JywkdGhpcy0+R2V0UmVzb3VyY2VUeXBlKDEpKTsKICAgICAgfQogICAgaWYoICRyb3dbJ3N0YXJ0X2RhdGUnXSA+ICRyb3dbJ2VuZF9kYXRlJ10gKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF9kYXRlcycpOwogICAgICB9CgogICAgaWYoIGNvdW50KCRlcnJvcnMpICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkvLyBEYXRhYmFzZSBpbnRlcmFjdGlvbgoJJGRiciA9IHRydWU7Cgkkc3RhcnRfZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJHJvd1snc3RhcnRfZGF0ZSddKTsKCSRlbmRfZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJHJvd1snZW5kX2RhdGUnXSk7CglpZiggIWlzc2V0KCRwYXJhbXNbJ2V2ZW50aWQnXSkgKQoJICB7CgkgICAgLy8gQW4gaW5zZXJ0CgkgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UUy4iCiAgICAgICAgICAgICAgICAgICAgICAobmFtZSxkZXNjcmlwdGlvbixldmVudF90eXBlX2lkLHN0YXJ0X2RhdGUsZW5kX2RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgYm9va2FibGUsIHByaWNlX2FkanVzdCwgYWRtaW5fbm90ZXMpCiAgICAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sJHN0YXJ0X2RhdGUsJGVuZF9kYXRlLD8sPyw/KSI7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJvd1snbmFtZSddLAoJCQkJCSAgICAgJHJvd1snZGVzY3JpcHRpb24nXSwKCQkJCQkgICAgICRyb3dbJ2V2ZW50X3R5cGVfaWQnXSwKCQkJCQkgICAgICRyb3dbJ2Jvb2thYmxlJ10sCgkJCQkJICAgICAkcm93WydwcmljZV9hZGp1c3QnXSwKCQkJCQkgICAgICRyb3dbJ2FkbWluX25vdGVzJ10pKTsKCSAgICBpZiggISRkYnIgKQoJICAgICAgewoJCWVjaG8gJGRiLT5zcWwuJzxici8+RVJST1I6ICcuJGRiLT5FcnJvck1zZygpOyBkaWUoKTsKCSAgICAgIH0KCSAgICBpZiggJGRiciApCgkgICAgICB7CgkJJHBhcmFtc1snZXZlbnRpZCddID0gJGRiLT5JbnNlcnRfSUQoKTsKCQkKCQkvLyBBZGQgdGhlIGl0ZW1zIHRvIHRoZSByZXNvdXJjZSBldmVudHMgdGFibGUKCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19FVkVOVFMuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnRfaWQscnNyY19pZCkgVkFMVUVTICg/LD8pJzsKCQlmb3JlYWNoKCAkc2VsX3Jlc291cmNlcyBhcyAkc2VsICkKCQkgIHsKCQkgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgoaW50KSRwYXJhbXNbJ2V2ZW50aWQnXSwKCQkJCQkgICAgICAkc2VsKSk7CgkJICB9CgkgICAgICB9CgkgIH0KCWVsc2UKCSAgewoJICAgIC8vIEFuIHVwZGF0ZQoJICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRTLiIKICAgICAgICAgICAgICAgICAgICAgIFNFVCBuYW1lID0gPywgZGVzY3JpcHRpb24gPSA/LCBldmVudF90eXBlX2lkID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydF9kYXRlID0gJHN0YXJ0X2RhdGUsIGVuZF9kYXRlID0gJGVuZF9kYXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2thYmxlID0gPywgcHJpY2VfYWRqdXN0ID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgICBhZG1pbl9ub3RlcyA9ID8KICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyI7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJvd1snbmFtZSddLAoJCQkJCSAgICAgJHJvd1snZGVzY3JpcHRpb24nXSwKCQkJCQkgICAgICRyb3dbJ2V2ZW50X3R5cGVfaWQnXSwKCQkJCQkgICAgICRyb3dbJ2Jvb2thYmxlJ10sCgkJCQkJICAgICAkcm93WydwcmljZV9hZGp1c3QnXSwKCQkJCQkgICAgICRyb3dbJ2FkbWluX25vdGVzJ10sCgkJCQkJICAgICAoaW50KSRwYXJhbXNbJ2V2ZW50aWQnXSkpOwoKCSAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19FVkVOVFMuJwogICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGV2ZW50X2lkID0gPyc7CgkgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgoaW50KSRwYXJhbXNbJ2V2ZW50aWQnXSkpOwoKCSAgICBpZiggJGRiciApCgkgICAgICB7CgkJLy8gQWRkIHRoZSBpdGVtcyB0byB0aGUgcmVzb3VyY2UgZXZlbnRzIHRhYmxlCgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfRVZFTlRTLicKICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50X2lkLHJzcmNfaWQpIFZBTFVFUyAoPyw/KSc7CgkJZm9yZWFjaCggJHNlbF9yZXNvdXJjZXMgYXMgJHNlbCApCgkJICB7CgkJICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydldmVudGlkJ10sCgkJCQkJICAgICAgJHNlbCkpOwoJCSAgfQoJICAgICAgfQoJICB9IC8vIHVwZGF0ZQoKCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICAgIH0gLy8gZGF0YWJhc2UKCiAgfSAvLyBzdWJtaXQKCgovLwovLyBDcmVhdGUgdGhlIGZvcm0KLy8KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2VkaXRfZXZlbnQnLCRyZXR1cm5pZCwkcGFyYW1zLGZhbHNlLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLCR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X25hbWUnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9uYW1lJywkcm93WyduYW1lJ10sODAsMjU1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZGVzY3JpcHRpb24nLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCRpZCwkcm93WydkZXNjcmlwdGlvbiddLCdpbnB1dF9kZXNjcmlwdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdGFydGRhdGUnLCRyb3dbJ3N0YXJ0X2RhdGUnXSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZW5kZGF0ZScsJHJvd1snZW5kX2RhdGUnXSk7CiRxdWVyeSA9ICdTRUxFQ1QgaWQsbmFtZSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UX1RZUEVTLicgT1JERVIgQlkgaW9yZGVyJzsKJHR5cGVzID0gJHRoaXMtPkdldEV2ZW50VHlwZURyb3Bkb3duTGlzdCgpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2V2ZW50X3R5cGUnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfZXZlbnRfdHlwZScsJHR5cGVzLC0xLCRyb3dbJ2V2ZW50X3R5cGVfaWQnXSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Jvb2thYmxlJywkdGhpcy0+Q3JlYXRlSW5wdXRZZXNOb0Ryb3Bkb3duKCRpZCwnaW5wdXRfYm9va2FibGUnLCRyb3dbJ2Jvb2thYmxlJ10pKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wcmljZV9hZGp1c3QnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9wcmljZV9hZGp1c3QnLCRyb3dbJ3ByaWNlX2FkanVzdCddKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfYWRtaW5fbm90ZXMnLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCRpZCwkcm93WydhZG1pbl9ub3RlcyddLCdpbnB1dF9hZG1pbl9ub3RlcycpKTsKJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxuYW1lIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBXSEVSRSBhY3RpdmUgPSAxJzsKJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKJHJzcmNzID0gYXJyYXkoKTsKZm9yZWFjaCggJHRtcCBhcyAkb25lICkKewogICRyc3Jjc1skb25lWyduYW1lJ11dID0gJG9uZVsnaWQnXTsKfQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3Jlc291cmNlcycsJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJ2lucHV0X3Jlc291cmNlc1tdJywkcnNyY3MsJHNlbF9yZXNvdXJjZXMsMTApKTsKCi8vIFByb2Nlc3MgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0X2V2ZW50LnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_event_type.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpICkKICB7CiAgICBkaWUoJ3Blcm1pc3Npb24gZGVuaWVkJyk7CiAgfQoKLy8gU2V0dXAKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2V2ZW50X3R5cGVzJyk7CiRyb3cgPSBhcnJheSgnbmFtZSc9PicnLCdjb2xvcic9PicjMDAwMEZGJywnaW9yZGVyJz0+JzEnLCAnYmFja2dyb3VuZCc9PicjRkZGRkZGJyk7CgppZiggaXNzZXQoJHBhcmFtc1sndHlwZWlkJ10pICkKICB7CiAgICAvLyB0eXBlaWQgc2VudCwgdHJ5IHRvIGdldCB0aGUgdmFsdWVzCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUy4nIFdIRVJFIGlkID0gPyc7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coICRxdWVyeSwgYXJyYXkoIChpbnQpJHBhcmFtc1sndHlwZWlkJ10gKSApOwogIH0KCgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJ2V2ZW50X3R5cGVzJywnJywnYWRtaW5fc2V0dGluZ3MnKTsKICB9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCiAgewogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X25hbWUnXSkgKQogICAgICB7Cgkkcm93WyduYW1lJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X25hbWUnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9jb2xvciddKSApCiAgICAgIHsKCSRyb3dbJ2NvbG9yJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2NvbG9yJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfYmFja2dyb3VuZCddKSApCiAgICAgIHsKCSRyb3dbJ2JhY2tncm91bmQnXSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfYmFja2dyb3VuZCddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X29yZGVyJ10pICkKICAgICAgewoJJHJvd1snaW9yZGVyJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X29yZGVyJ10pOwogICAgICB9CgogICAgLy8gZXJyb3IgY2hlY2tpbmcKICAgICRlcnJvcnMgPSBhcnJheSgpOwogICAgaWYoIGVtcHR5KCRyb3dbJ25hbWUnXSkgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpOwogICAgICB9CiAgICBpZiggZW1wdHkoJHJvd1snY29sb3InXSkgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpOwogICAgICB9CiAgICBpZiggZW1wdHkoJHJvd1snYmFja2dyb3VuZCddKSApCiAgICAgIHsKCSRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJyk7CiAgICAgIH0KCiAgICBpZiggY291bnQoJGVycm9ycykgKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRkYnIgPSB0cnVlOwoJaWYoICFpc3NldCgkcGFyYW1zWyd0eXBlaWQnXSkgKQoJICB7CgkgICAgLy8gaXQncyBhbiBpbnNlcnQKCSAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRfVFlQRVMuJwogICAgICAgICAgICAgICAgICAgICAgICAobmFtZSxjb2xvcixiYWNrZ3JvdW5kLGlvcmRlcikgVkFMVUVTICg/LD8sPyw/KSc7CiAgICAgICAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRyb3dbJ25hbWUnXSwgJHJvd1snY29sb3InXSwkcm93WydiYWNrZ3JvdW5kJ10sCgkJCQkJCSRyb3dbJ2lvcmRlciddKSApOwoJICB9CgllbHNlCgkgIHsKCSAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UX1RZUEVTLicKICAgICAgICAgICAgICAgICAgICAgICAgIFNFVCBuYW1lID0gPywgY29sb3IgPSA/LCBiYWNrZ3JvdW5kID0gPywgaW9yZGVyID0gPwogICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAgICAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRyb3dbJ25hbWUnXSwgJHJvd1snY29sb3InXSwkcm93WydiYWNrZ3JvdW5kJ10sCgkJCQkJCSRyb3dbJ2lvcmRlciddLCAkcGFyYW1zWyd0eXBlaWQnXSkpOwoJICB9CgoJaWYoICEkZGJyICkKCSAgewoJICAgIGVjaG8gJGRiLT5zcWwuJzxici8+RVJST1I6ICcuJGRiLT5FcnJvck1zZygpLic8YnIvPic7CgkgICAgZGllKCk7CgkgIH0KCgkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJ2V2ZW50X3R5cGVzJywnJywnYWRtaW5fc2V0dGluZ3MnKTsKICAgICAgfQogIH0KCi8vIENyZWF0ZSB0aGUgZm9ybQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fZWRpdF9ldmVudF90eXBlJywKCQkJCQkgJHJldHVybmlkLCRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLCR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X25hbWUnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9uYW1lJywkcm93WyduYW1lJ10sODAsMjU1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY29sb3InLCR0aGlzLT5DcmVhdGVDb2xvckRyb3Bkb3duKCRpZCwnaW5wdXRfY29sb3InLCRyb3dbJ2NvbG9yJ10pKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9iYWNrZ3JvdW5kJywkdGhpcy0+Q3JlYXRlQ29sb3JEcm9wZG93bigkaWQsJ2lucHV0X2JhY2tncm91bmQnLCRyb3dbJ2JhY2tncm91bmQnXSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X29yZGVyJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfb3JkZXInLCRyb3dbJ2lvcmRlciddLDUsNSkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9lZGl0X2V2ZW50X3R5cGUudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_resvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpICkKICB7CiAgICBkaWUoJ3Blcm1pc3Npb24gZGVuaWVkJyk7CiAgfQoKLy8KLy8gY2hlY2tfcGFydHNfb3ZlcmxhcAovLwpmdW5jdGlvbiBjaGVja19wYXJ0c19vdmVybGFwKCRwYXJ0cykKewogICRkYXRhID0gYXJyYXkoKTsKCiAgZm9yKCAkcCA9IDA7ICRwIDwgY291bnQoJHBhcnRzKTsgJHArKyApCiAgICB7CiAgICAgICRwYXJ0ID0mICRwYXJ0c1snaSddOwogICAgICBpZiggIWlzc2V0KCRkYXRhWydyc3JjX2lkJ10pICkKCXsKCSAgJGRhdGFbJ3JzcmNfaWQnXSA9IGFycmF5KCk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgLy8gaG1tbSwgdHdvIChvciBtb3JlKSBib29rcyBmb3IgdGhlIHNhbWUgcmVzb3VyY2UgaW4gb25lIHJlc2VydmF0aW9uPwoJICBmb3IoICRrID0gMDsgJGsgPCBjb3VudCgkZGF0YVsncnNyY19pZCddKTsgJGsrKyApCgkgICAgewoJICAgICAgJHRtcCA9JiAkZGF0YVsncnNyY19pZCddWyRrXTsKCSAgICAgIGlmKCAoJHBhcnRbJ3N0YXJ0X2RhdGUnXSA+PSAkdG1wWydzdGFydF9kYXRlJ10pICYmICRwYXJ0WydzdGFydF9kYXRlJ10gPD0gJHRtcFsnZW5kX2RhdGUnXSApCgkJcmV0dXJuIEZBTFNFOwoJICAgICAgaWYoICgkcGFydFsnZW5kX2RhdGUnXSA+PSAkdG1wWydzdGFydF9kYXRlJ10pICYmICRwYXJ0WydlbmRfZGF0ZSddIDw9ICR0bXBbJ2VuZF9kYXRlJ10gKQoJCXJldHVybiBUUlVFOwoJICAgIH0KCX0KICAgICAgJGRhdGFbJ3JzcmNfaWQnXVtdID0gJHBhcnQ7CiAgICB9CgogIHJldHVybiBUUlVFOwp9CgovLwovLyBpbml0aWFsemF0aW9uCi8vCiRyZXN2X2lkID0gJyc7CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdyZXNlcnZhdGlvbnMnKTsKJHJlc2VydmF0aW9uID0gYXJyYXkoJ2lkJz0+LTEsCiAgICAgICAgICAgICAgICAgICAgICdjdXN0b21lcl9pZCc9Pi0xLAoJCSAgICAgJ2FkbWluX25vdGVzJz0+JycsCgkJICAgICAnc3RhdHVzJz0+QVZBSUxBQklMSVRZX1NUQVRVU19QRU5ESU5HLAoJCSAgICAgJ3BhcnRzJz0+YXJyYXkoKSwKCQkgICAgICdwcmljZSc9PicnLAoJCSAgICAgJ2NyZWF0ZV9kYXRlJz0+dGltZSgpLAoJCSAgICAgJ21vZGlmaWVkX2RhdGUnPT50aW1lKCkpOwokY2hlY2tpbl90aW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoZWNraW5fdGltZScpOwokY2hlY2tvdXRfdGltZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjaGVja291dF90aW1lJyk7CgoKLy8KLy8gU2V0dXAKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApCiAgewogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1sncmVzdm5pZCddKSApCnsKICAkcmVzdl9pZCA9IChpbnQpJHBhcmFtc1sncmVzdm5pZCddOwogIC8vIExvYWQgdGhlIHJlc2VydmF0aW9uCiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLicgCiAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwogICRyZXNlcnZhdGlvbiA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkcmVzdl9pZCkpOwoKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4nCiAgICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyc7CiAgJHJlc2VydmF0aW9uWydwYXJ0cyddID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKfQoKCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgJiYgJHBhcmFtc1snc3VibWl0J10gPT0gJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKQogIHsKICAgICRkaWRfc2V0X3ByaWNlID0gMDsKCiAgICAvLyBEYXRhIGNvbGxlY3Rpb24KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9zdGF0dXMnXSkgKQogICAgICB7CgkkcmVzZXJ2YXRpb25bJ3N0YXR1cyddID0gdHJpbSgkcGFyYW1zWydpbnB1dF9zdGF0dXMnXSk7Cgl1bnNldCgkcGFyYW1zWydpbnB1dF9zdGF0dXMnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9jdXN0b21lcl9pZCddKSApCiAgICAgIHsKCSRyZXNlcnZhdGlvblsnY3VzdG9tZXJfaWQnXSA9IChpbnQpJHBhcmFtc1snaW5wdXRfY3VzdG9tZXJfaWQnXTsKCXVuc2V0KCRwYXJhbXNbJ2lucHV0X2N1c3RvbWVyX2lkJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfYWRtaW5fbm90ZXMnXSkgKQogICAgICB7CgkkcmVzZXJ2YXRpb25bJ2FkbWluX25vdGVzJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2FkbWluX25vdGVzJ10pOwoJdW5zZXQoJHBhcmFtc1snaW5wdXRfYWRtaW5fbm90ZXMnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9wcmljZSddKSAmJiAhZW1wdHkoJHBhcmFtc1snaW5wdXRfcHJpY2UnXSkgKQogICAgICB7CgkkZGlkX3NldF9wcmljZSA9IDE7CgkkcmVzZXJ2YXRpb25bJ3ByaWNlJ10gPSBmbG9hdHZhbCgkcGFyYW1zWydpbnB1dF9wcmljZSddKTsKCXVuc2V0KCRwYXJhbXNbJ2lucHV0X3ByaWNlJ10pOwogICAgICB9CgogICAgJHJlc2VydmF0aW9uWydwYXJ0cyddID0gYXJyYXkoKTsKCiAgICAvLyBnZXQgdGhlIHJlc2VydmF0aW9uIHBhcnRzIG91dCBvZiBwYXJhbXMKICAgIGZvciggJGkgPSAxOyAkaSA8IDEwMDA7ICRpKysgKQogICAgICB7CglpZiggaXNzZXQoJHBhcmFtc1sncGFydF9zZWxyc3JjXycuJGldKSAmJiAoJHBhcmFtc1sncGFydF9zZWxyc3JjXycuJGldID4gMCkgKQoJICB7CgkgICAgJHBhcnRpZHggPSAkaTsKCSAgICAkcmlkID0gJHBhcmFtc1sncGFydF9zZWxyc3JjXycuJGldOwogICAgICAgICAgICAkc3RhcnRfdXQgPSAkcGFyYW1zWydwYXJ0X3N0YXJ0ZGF0ZV8nLiRpXTsKCSAgICAkZW5kX3V0ID0gJyc7CgkgICAgJG1lcmlkaWFuID0gJyc7CgkgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3BhcnRfc3RhcnRkYXRlXycuJGkuJ21lcmlkaWFuJ10pICkKCSAgICAgIHsKCQkkbWVyaWRpYW4gPSAkcGFyYW1zWydwYXJ0X3N0YXJ0ZGF0ZV8nLiRpLidtZXJpZGlhbiddOwoJICAgICAgfQogICAgICAgICAgICBpZiggJHBhcmFtc1sncGFydF9lbmRkYXRlXycuJGldICkKCSAgICAgIHsKCQkkZW5kX3V0ID0gJHBhcmFtc1sncGFydF9lbmRkYXRlXycuJGldOwoJICAgICAgfQoJICAgICRwYXJ0ID0gJHRoaXMtPkFkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsKCRyaWQsJHN0YXJ0X3V0LCRlbmRfdXQsJG1lcmlkaWFuKTsKCSAgICAkcGFydFsncmVzdl9pZCddICAgID0gJHJlc2VydmF0aW9uWydpZCddOyAvLyBpbmNhc2UgaXQncyBhbHJlYWR5IHNldAoJICAgICRwYXJ0Wydyc3JjX2lkJ10gICAgPSAkcmlkOwoJICAgICRwYXJ0WydudW1fcGVvcGxlJ10gPSAkcGFyYW1zWydwYXJ0X251bXBlb3BsZV8nLiRpXTsKCSAgICAkcGFydFsncHJpY2UnXSAgICAgID0gJHBhcmFtc1sncGFydF9wcmljZV8nLiRpXTsKCSAgICAkcmVzZXJ2YXRpb25bJ3BhcnRzJ11bXSA9ICRwYXJ0OwoJICB9CgllbHNlCgkgIHsKCSAgICBicmVhazsKCSAgfQogICAgICB9CgogICAgaWYoICEkZGlkX3NldF9wcmljZSApCiAgICAgIHsKCS8vIGhhdmVuJ3Qgc2V0IHRoZSBwcmljZSB5ZXQKCS8vIGdyYWIgaXQgZnJvbSBhbGwgdGhlIHBhcnRzLgoJJHByaWNlID0gMDsKCWZvciggJG4gPSAwOyAkbiA8IGNvdW50KCRyZXNlcnZhdGlvblsncGFydHMnXSk7ICRuKysgKQoJICB7CgkgICAgJHByaWNlICs9ICRyZXNlcnZhdGlvblsncGFydHMnXVskbl1bJ3ByaWNlJ107CgkgIH0KCSRyZXNlcnZhdGlvblsncHJpY2UnXSA9ICRwcmljZTsKCSRkaWRfc2V0X3ByaWNlID0gMTsKICAgICAgfQoKICAgIC8vIGRhdGEgdmFsaWRhdGlvbgogICAgJGVycm9ycyA9IGFycmF5KCk7CiAgICBpZiggJHJlc2VydmF0aW9uWydzdGF0dXMnXSA9PSAtMSApCiAgICAgIHsKCSRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9zZWxlY3Rfc3RhdHVzJyk7CiAgICAgIH0KICAgIGlmKCAkcmVzZXJ2YXRpb25bJ2N1c3RvbWVyX2lkJ10gPCAxICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vX2N1c3RvbWVyX3NlbGVjdGVkJyk7CiAgICAgIH0KICAgIGlmKCAoZW1wdHkoJHJlc2VydmF0aW9uWydwcmljZSddKSB8fCAkcmVzZXJ2YXRpb25bJ3ByaWNlJ10gPCAwLjAgfHwgJHJlc2VydmF0aW9uWydwcmljZSddID4gMTAwMDAwMC4wKSAmJgoJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Vycm9yX25vX3ByaWNlcycsMSkgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF9wcmljZScpOwogICAgICB9CiAgICBpZiggIWNvdW50KCRyZXNlcnZhdGlvblsncGFydHMnXSkgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9fcmVzb3VyY2VzX3NlbGVjdGVkJyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gY2hlY2sgZm9yIGNvbmZsaWN0cyBhbmQgb3ZlcmxhcHMgYW1vbmdzdCB0aGVzZSByZXNlcnZhdGlvbiBwYXJ0cwoJaWYoIGNoZWNrX3BhcnRzX292ZXJsYXAoJHJlc2VydmF0aW9uWydwYXJ0cyddKSApCgkgIHsKCSAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZXZlbnRfY29uZmxpY3QnKTsKCSAgfQogICAgICB9CgogICAgCiAgICBpZiggIWNvdW50KCRlcnJvcnMpICkKICAgICAgewoJLy8gY2hlY2sgYWdhaW5zdCB0aGUgZGF0YWJhc2UgZm9yIHJlZXJ2YXRpb24gY29uZmxpY3RzLgogICAgICAgIGlmKCAhaXNzZXQoJHBhcmFtc1sncmVzdm5pZCddKSApCiAgICAgICAgICB7CiAgICAgICAgICAgIC8vIFRoaXMgaXMgYW4gaW5zZXJ0CgkgICAgJGNvbmZsaWN0ID0gJHRoaXMtPkNoZWNrUmVzZXJ2YXRpb25Db25mbGljdHMoJHJlc2VydmF0aW9uKTsKCSAgICBpZiggJGNvbmZsaWN0ICkKCSAgICAgIHsKCSAgICAgICAgLy8geWVwLCB0aGVyZSdzIGEgY29uZmxpY3QKCSAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2V2ZW50X2NvbmZsaWN0Jyk7CgkgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgICAgewoJICAgIC8vIFRoaXMgaXMgYW4gdXBkYXRlCgkgICAgJHJlc2VydmF0aW9uWydpZCddID0gJHJlc3ZfaWQ7CgkgICAgJGNvbmZsaWN0ID0gJHRoaXMtPkNoZWNrUmVzZXJ2YXRpb25Db25mbGljdHMoJHJlc2VydmF0aW9uKTsKCSAgICBpZiggJGNvbmZsaWN0ICkKCSAgICAgIHsKCSAgICAgICAgLy8geWVwLCB0aGVyZSdzIGEgY29uZmxpY3QKCSAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2V2ZW50X2NvbmZsaWN0Jyk7CgkgICAgICB9CiAgICAgICAgICB9CiAgICAgIH0KCiAgICAvLyBkYXRhIHN0b3JhZ2UKICAgIGlmKCAhY291bnQoJGVycm9ycykgKQogICAgICB7CgkvLyBldmVyeXRoaW5nIGlzIGdvb2QKCS8vIGFkZCBpdCB0byB0aGUgZGF0YWJhc2UKCSRwYXJ0cyA9ICcnOwogICAgICAgICRkYnIgPSAnJzsKCSR0aGlzLT5DYWxjdWxhdGVSZXNlcnZhdGlvblBhcnRzKCRyZXNlcnZhdGlvbik7CQoJJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKCiAgICAgICAgaWYoICRyZXN2X2lkICkKICAgICAgICAgIHsKICAgICAgICAgICAgLy8gYW4gdXBkYXRlCiAgICAgICAgICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLiIKICAgICAgICAgICAgICAgICAgICAgICAgIFNFVCBjdXN0b21lcl9pZCA9ID8sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaWNlID0gPywgYWRtaW5fbm90ZXMgPSA/LCBzdGF0dXMgPSA/LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkX2RhdGUgPSAkbm93CiAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/IjsKICAgICAgICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc2VydmF0aW9uWydjdXN0b21lcl9pZCddLCRyZXNlcnZhdGlvblsncHJpY2UnXSwKCQkJCQkgICAgICRyZXNlcnZhdGlvblsnYWRtaW5fbm90ZXMnXSwkcmVzZXJ2YXRpb25bJ3N0YXR1cyddLCRyZXN2X2lkKSk7CgogICAgICAgICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJyAKICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyc7CiAgICAgICAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICAgICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgICB7CiAgIAkgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4iCiAgICAgICAgICAgICAgICAgICAgICAoY3VzdG9tZXJfaWQsIHByaWNlLCAKICAgICAgICAgICAgICAgICAgICAgICBhZG1pbl9ub3Rlcywgc3RhdHVzLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkKICAgICAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPywkbm93LCRub3cpIjsKIAkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc2VydmF0aW9uWydjdXN0b21lcl9pZCddLCRyZXNlcnZhdGlvblsncHJpY2UnXSwKCQkJCQkgICAgICRyZXNlcnZhdGlvblsnYWRtaW5fbm90ZXMnXSwkcmVzZXJ2YXRpb25bJ3N0YXR1cyddKSk7CiAJICAgICRyZXN2X2lkID0gJGRiLT5JbnNlcnRfSUQoKTsKCSAgfQoKCWlmKCAhJGRiciApCgkgIHsKCSAgICBlY2hvICRkYi0+RXJyb3JNc2coKS4iIC0gIi4kZGItPnNxbC4nPGJyLz4nOwoJICAgIGRpZSgpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkcmVzZXJ2YXRpb25bJ2lkJ10gPSAkcmVzdl9pZDsKCSAgICAKCSAgICAkdHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLiIKICAgICAgICAgICAgICAgICAgICAgICAoc3RhcnRfZGF0ZSxlbmRfZGF0ZSxyZXN2X2lkLCByc3JjX2lkLCBudW1fcGVvcGxlLCBwcmljZSApIAogICAgICAgICAgICAgICAgICAgICAgVkFMVUVTICglcywlcyw/LD8sPyw/KSI7CgkgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHJlc2VydmF0aW9uWydwYXJ0cyddKTsgJGkrKyApCgkgICAgICB7CgkJJHBhcnQgPSYgJHJlc2VydmF0aW9uWydwYXJ0cyddWyRpXTsKCQkkc3RhcnRfZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJHBhcnRbJ3N0YXJ0X2RhdGUnXSk7CgkJJGVuZF9kYXRlID0gJGRiLT5EYlRpbWVTdGFtcCgkcGFydFsnZW5kX2RhdGUnXSk7CgoJCSRxdWVyeSA9IHNwcmludGYoJHRxdWVyeSwkc3RhcnRfZGF0ZSwkZW5kX2RhdGUpOwoJCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyZXN2X2lkLCRwYXJ0Wydyc3JjX2lkJ10sJHBhcnRbJ251bV9wZW9wbGUnXSwkcGFydFsncHJpY2UnXSkpOwoJCWlmKCAhJGRiciApCgkJICB7CgkJICAgIC8vIGRlYnVnCgkJICAgIGVjaG8gJGRiLT5FcnJvck1zZygpLiIgLSAiLiRkYi0+c3FsLic8YnIvPic7CgkJICAgIGRpZSgpOyAvLyBkZWJ1ZwoJCSAgfQoJICAgICAgfQoKCSAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZycsMSkgKQoJICAgICAgewoJCSR0bXAgPSAnJzsKCQkkZW1haWx0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTkNPTkZJUk1FTUFJTF9URU1QTEFURSk7CgkJJHJlcyA9ICR0aGlzLT5TZW5kUmVzZXJ2YXRpb25EZXRhaWxzZW1haWwoJHJlc3ZfaWQsJGVtYWlsdGVtcGxhdGUsMSwkdG1wKTsKCSAgICAgIH0KCiAgICAgICAgICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwogICAgICB9CiAgfQoKCgovLwovLyBCdWlsZCB0aGUgZm9ybQovLwpmb3IoICRwID0gMDsgJHAgPCBjb3VudCgkcmVzZXJ2YXRpb25bJ3BhcnRzJ10pOyAkcCsrICkKICB7CiAgICAkcGFydCA9JiAkcmVzZXJ2YXRpb25bJ3BhcnRzJ11bJHBdOwogICAgJHJzcmMgPSAkdGhpcy0+R2V0UmVzb3VyY2UoJHBhcnRbJ3JzcmNfaWQnXSk7CiAgICBpZiggJHJzcmMgKQogICAgICB7CgkkYyA9ICcnOwoJc3dpdGNoKCAkcnNyY1sncmVzX2ludGVydmFsJ10gKQoJICB7CgkgIGNhc2UgJ2hvdXJseSc6CgkgICAgJGMgPSAnLGgnOwoJICAgIGJyZWFrOwoJICBjYXNlICdoYWxmX2RheSc6CgkgICAgJGMgPSAnLHAnOwoJICAgIGJyZWFrOwoJICBjYXNlICdkYWlseSc6CgkgICAgJGMgPSAnLGQnOwoJICAgIGJyZWFrOwoJICB9CiAgICAgICAgJHBhcnRbJ2V4dF9wYXJ0X3R5cGUnXSA9ICRyc3JjWydyZXNfaW50ZXJ2YWwnXTsKCSRwYXJ0WydleHRfcnNyY2lkJ10gPSAkcGFydFsncnNyY19pZCddLiRjOwoJJHBhcnRbJ2V4dF9zdW1tYXJ5J10gPSAkdGhpcy0+R2V0UmVzb3VyY2VTdW1tYXJ5KCRyc3JjKTsKICAgICAgfQogIH0KCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9lZGl0X3Jlc3ZuJywKCQkJCQkJICAgICAkcmV0dXJuaWQsJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2NhbmNlbCcsJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CiRmZXUgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCBpc19vYmplY3QoJGZldSkgKQogIHsKICAgICRnaWQgPSAoaW50KSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXN0b21lcl9ncm91cCcpOwogICAgaWYoICRnaWQgPT0gLTEgKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9ub191c2Vyc19mb3VuZCcpKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkYWRkdGV4dCA9ICdpZD0iaW5wdXRfY3VzdG9tZXJfaWQiIG9uY2hhbmdlPSJvbl9jaGFuZ2VfY3VzdG9tZXIoKTsiICc7CiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdtZW1iZXJvZicsJGdpZCk7CiAgICAgICAgJHVzZXJsaXN0ID0gJHRoaXMtPkdldFVzZXJEcm9wZG93bkxpc3QoKTsKICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2N1c3RvbWVyX2lkJywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdpbnB1dF9jdXN0b21lcl9pZCcsJHVzZXJsaXN0LAoJCQkJCSAgICAgICAtMSwkcmVzZXJ2YXRpb25bJ2N1c3RvbWVyX2lkJ10sJGFkZHRleHQpKTsKICAgICAgfQogIH0KCiRzdGF0dXNlcyA9IGFycmF5KCk7CiRzdGF0dXNlc1stMV0gPSAkdGhpcy0+TGFuZygnc2VsZWN0X29uZScpOwokc3RhdHVzZXNbQVZBSUxBQklMSVRZX1NUQVRVU19QRU5ESU5HXSA9ICR0aGlzLT5MYW5nKEFWQUlMQUJJTElUWV9TVEFUVVNfUEVORElORyk7CiRzdGF0dXNlc1tBVkFJTEFCSUxJVFlfU1RBVFVTX0NBTkNFTExFRF0gPSAkdGhpcy0+TGFuZyhBVkFJTEFCSUxJVFlfU1RBVFVTX0NBTkNFTExFRCk7CiRzdGF0dXNlc1tBVkFJTEFCSUxJVFlfU1RBVFVTX0NPTkZJUk1FRF0gPSAkdGhpcy0+TGFuZyhBVkFJTEFCSUxJVFlfU1RBVFVTX0NPTkZJUk1FRCk7CiRzbWFydHktPmFzc2lnbignc3RhdHVzZXMnLCRzdGF0dXNlcyk7CgokY29udGVudG9wcyA9JiAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKJHNtYXJ0eS0+YXNzaWduKCdkZWZhdWx0X2NvbnRlbnRfaWQnLCRjb250ZW50b3BzLT5HZXREZWZhdWx0Q29udGVudCgpKTsKCiRzbWFydHktPmFzc2lnbignZGF0YScsJHJlc2VydmF0aW9uKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hZG1pbl9ub3RlcycsJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsJGlkLCRyZXNlcnZhdGlvblsnYWRtaW5fbm90ZXMnXSwnaW5wdXRfYWRtaW5fbm90ZXMnKSk7CgokcXVlcnkgPSAnU0VMRUNUIGlkLG5hbWUscmVzX2ludGVydmFsIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBXSEVSRSBhY3RpdmUgPSAxJzsKJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKJHJzcmNzID0gYXJyYXkoKTsKJHJzcmNzX3JldiA9IGFycmF5KCk7CiRyc3Jjc19yZXZbJy0xLC0xJ10gPSAgJHRoaXMtPkxhbmcoJ3NlbGVjdF9vbmUnKTsKJGludGVydmFscyA9IGFycmF5KCk7CiRpbnRlcnZhbHNbJ2hvdXJseSddID0gJ2gnOwokaW50ZXJ2YWxzWydoYWxmX2RheSddID0gJ3AnOwokaW50ZXJ2YWxzWydkYWlseSddID0gJ2QnOwpmb3JlYWNoKCAkdG1wIGFzICRvbmUgKQp7CiAgJHJzcmNzX3Jldlskb25lWydpZCddLicsJy4kaW50ZXJ2YWxzWyRvbmVbJ3Jlc19pbnRlcnZhbCddXV0gPSAkb25lWyduYW1lJ10uJyAoJy4kdGhpcy0+TGFuZygkb25lWydyZXNfaW50ZXJ2YWwnXSkuJyknOwp9CiRzbWFydHktPmFzc2lnbigncnNyY19saXN0JywkcnNyY3NfcmV2KTsKCiR0bXAgPSBhcnJheSgpOwokdG1wWydhbSddID0gJHRoaXMtPkxhbmcoJ0FNJyk7CiR0bXBbJ3BtJ10gPSAkdGhpcy0+TGFuZygnUE0nKTsKJHNtYXJ0eS0+YXNzaWduKCdtZXJpZGlhbnMnLCR0bXApOwoKJHRtcCA9IGFycmF5KCk7CiRkZWZhdWx0X2NhcGFjaXR5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfY2FwYWNpdHknLDUwKTsKZm9yKCAkaSA9IDE7ICRpIDwgJGRlZmF1bHRfY2FwYWNpdHk7ICRpKysgKQogIHsKICAgICR0bXBbJGldID0gJGk7CiAgfQokc21hcnR5LT5hc3NpZ24oJ3Blb3BsZV9saXN0JywkdG1wKTsKJHRtcCA9IGdldF9wcmVmZXJlbmNlKGdldF91c2VyaWQoKSwnZGF0ZV9mb3JtYXRfc3RyaW5nJyxnZXRfc2l0ZV9wcmVmZXJlbmNlKCdkZWZhdWx0ZGF0ZWZvcm1hdCcsJyViICVlLCAlWScpKTsKJHNtYXJ0eS0+YXNzaWduKCdkYXRlX2Zvcm1hdCcsJHRtcCk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VkaXRfcmVzdm4udHBsJyk7CiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_rsrc.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNPVVJDRVMpICkgZXhpdCgpOwoKLy8gU2V0dXAKJHJvdyA9IGFycmF5KCduYW1lJz0+JycsJ2FjdGl2ZSc9PjEsJ2Rlc2NyaXB0aW9uJz0+JycsJ2Jhc2VfcHJpY2UnPT4nJywnYWRtaW5fbm90ZXMnPT4nJywgJ2NhcGFjaXR5Jz0+JycsCgkgICAgICdyZXNfaW50ZXJ2YWwnPT4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGZsdF9pbnRlcnZhbCcpLAoJICAgICAnZ3JhbnVsYXJpdHknPT4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGZsdF9ncmFudWxhcml0eScpLAoJICAgICAnc3RhcnR0aW1lMSc9PiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGFydHRpbWVfMScpLAoJICAgICAnZW5kdGltZTEnPT4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW5kdGltZV8xJyksCgkgICAgICdzdGFydHRpbWUyJz0+JHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXJ0dGltZV8yJyksCgkgICAgICdlbmR0aW1lMic9PiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbmR0aW1lXzInKSwKCSAgICAgJ2NoZWNraW50aW1lJz0+JHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoZWNraW5fdGltZScpLAoJICAgICAnY2hlY2tvdXR0aW1lJz0+JHRoaXMtPkdldFByZWZlcmVuY2UoJ2NoZWNrb3V0X3RpbWUnKSwKCSAgICAgKTsKJGFkanVzdHMgPSBhcnJheSgnc3VuZGF5Jz0+JycsJ21vbmRheSc9PicnLCd0dWVzZGF5Jz0+JycsJ3dlZG5lc2RheSc9PicnLCd0aHVyc2RheSc9PicnLAoJCSAnZnJpZGF5Jz0+JycsJ3NhdHVyZGF5Jz0+JycsICd3ZWVrbHknPT4nJywnb3ZlcmNhcCc9PicnLAoJCSAnZGlzY291bnRfZGF5cyc9PicnLCdkaXNjb3VudF9hZGp1c3QnPT4nJywnZGlzY291bnRfdHlwZSc9PkFWQUlMQUJJTElUWV9ESVNDT1VOVF9OT05FKTsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3Jlc291cmNlcycpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3JzcmNpZCddKSApCiAgewogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBXSEVSRSBpZCA9ID8nOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCAkcXVlcnksIGFycmF5KCAoaW50KSRwYXJhbXNbJ3JzcmNpZCddKSApOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfUFJJQ0VTLicgd2hlcmUgcnNyY19pZCA9ID8nOwogICAgJGFkanVzdHMgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCAoaW50KSRwYXJhbXNbJ3JzcmNpZCddKSApOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgIC8vIERhdGEgY29sbGVjdGlvbgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X25hbWUnXSkgKQogICAgICB7Cgkkcm93WyduYW1lJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X25hbWUnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9hY3RpdmUnXSkgKQogICAgICB7Cgkkcm93WydhY3RpdmUnXSA9IChpbnQpJHBhcmFtc1snaW5wdXRfYWN0aXZlJ107CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9kZXNjcmlwdGlvbiddKSApCiAgICAgIHsKCSRyb3dbJ2Rlc2NyaXB0aW9uJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2Rlc2NyaXB0aW9uJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfYmFzZV9wcmljZSddKSApCiAgICAgIHsKCSRyb3dbJ2Jhc2VfcHJpY2UnXSA9IGZsb2F0dmFsKCRwYXJhbXNbJ2lucHV0X2Jhc2VfcHJpY2UnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9hZG1pbl9ub3RlcyddKSApCiAgICAgIHsKCSRyb3dbJ2FkbWluX25vdGVzJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2FkbWluX25vdGVzJ10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfY2FwYWNpdHknXSkgKQogICAgICB7Cgkkcm93WydjYXBhY2l0eSddID0gKGludCkkcGFyYW1zWydpbnB1dF9jYXBhY2l0eSddOwogICAgICB9CgogICAgLy8gc2NoZWR1bGluZwogICAgJHJvd1sncmVzX2ludGVydmFsJ10gPSB0cmltKCRwYXJhbXNbJ3Jlc19pbnRlcnZhbCddKTsKICAgICRyb3dbJ2dyYW51bGFyaXR5J10gPSB0cmltKCRwYXJhbXNbJ2dyYW51bGFyaXR5J10pOwogICAgJHJvd1snc3RhcnR0aW1lMSddID0gc3ByaW50ZignJTAyZDolMDJkJywkcGFyYW1zWydzdGFydHRpbWUxX0hvdXInXSwkcGFyYW1zWydzdGFydHRpbWUxX01pbnV0ZSddKTsKICAgICRyb3dbJ2VuZHRpbWUxJ10gPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ2VuZHRpbWUxX0hvdXInXSwkcGFyYW1zWydlbmR0aW1lMV9NaW51dGUnXSk7CiAgICAkcm93WydzdGFydHRpbWUyJ10gPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ3N0YXJ0dGltZTJfSG91ciddLCRwYXJhbXNbJ3N0YXJ0dGltZTJfTWludXRlJ10pOwogICAgJHJvd1snZW5kdGltZTInXSA9IHNwcmludGYoJyUwMmQ6JTAyZCcsJHBhcmFtc1snZW5kdGltZTJfSG91ciddLCRwYXJhbXNbJ2VuZHRpbWUyX01pbnV0ZSddKTsKICAgICRyb3dbJ2NoZWNraW50aW1lJ10gPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ2NoZWNraW5fSG91ciddLCRwYXJhbXNbJ2NoZWNraW5fTWludXRlJ10pOwogICAgJHJvd1snY2hlY2tvdXR0aW1lJ10gPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ2NoZWNrb3V0X0hvdXInXSwkcGFyYW1zWydjaGVja291dF9NaW51dGUnXSk7CgogICAgIC8vIGFkanVzdG1lbnRzCiAgICAvLyRhZGp1c3RzWydyc3JjX2lkJ10gPSBpbnQoJHBhcmFtc1sncnNyY2lkJ10pOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1bmRheV9hZGp1c3QnXSkgKQogICAgICB7CgkkYWRqdXN0c1snc3VuZGF5J10gPSB0cmltKCRwYXJhbXNbJ3N1bmRheV9hZGp1c3QnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydtb25kYXlfYWRqdXN0J10pICkKICAgICAgewoJJGFkanVzdHNbJ21vbmRheSddID0gdHJpbSgkcGFyYW1zWydtb25kYXlfYWRqdXN0J10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1sndHVlc2RheV9hZGp1c3QnXSkgKQogICAgICB7CgkkYWRqdXN0c1sndHVlc2RheSddID0gdHJpbSgkcGFyYW1zWyd0dWVzZGF5X2FkanVzdCddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3dlZG5lc2RheV9hZGp1c3QnXSkgKQogICAgICB7CgkkYWRqdXN0c1snd2VkbmVzZGF5J10gPSB0cmltKCRwYXJhbXNbJ3dlZG5lc2RheV9hZGp1c3QnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWyd0aHVyc2RheV9hZGp1c3QnXSkgKQogICAgICB7CgkkYWRqdXN0c1sndGh1cnNkYXknXSA9IHRyaW0oJHBhcmFtc1sndGh1cnNkYXlfYWRqdXN0J10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snZnJpZGF5X2FkanVzdCddKSApCiAgICAgIHsKCSRhZGp1c3RzWydmcmlkYXknXSA9IHRyaW0oJHBhcmFtc1snZnJpZGF5X2FkanVzdCddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3NhdHVyZGF5X2FkanVzdCddKSApCiAgICAgIHsKCSRhZGp1c3RzWydzYXR1cmRheSddID0gdHJpbSgkcGFyYW1zWydzYXR1cmRheV9hZGp1c3QnXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWyd3ZWVrbHlfYW1vdW50J10pICkKICAgICAgewoJJGFkanVzdHNbJ3dlZWtseSddID0gdHJpbSgkcGFyYW1zWyd3ZWVrbHlfYW1vdW50J10pOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snb3ZlcmNhcF9hbW91bnQnXSkgKQogICAgICB7CgkkYWRqdXN0c1snb3ZlcmNhcCddID0gdHJpbSgkcGFyYW1zWydvdmVyY2FwX2Ftb3VudCddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Rpc2NvdW50X3R5cGUnXSkgKQogICAgICB7CgkkYWRqdXN0c1snZGlzY291bnRfdHlwZSddID0gKGludCkoJHBhcmFtc1snZGlzY291bnRfdHlwZSddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Rpc2NvdW50X2RheXMnXSkgKQogICAgICB7CgkkYWRqdXN0c1snZGlzY291bnRfZGF5cyddID0gKGludCkoJHBhcmFtc1snZGlzY291bnRfZGF5cyddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2Rpc2NvdW50X2FkanVzdCddKSApCiAgICAgIHsKCSRhZGp1c3RzWydkaXNjb3VudF9hZGp1c3QnXSA9IHRyaW0oJHBhcmFtc1snZGlzY291bnRfYWRqdXN0J10pOwogICAgICB9CgogICAgLy8gRGF0YSB2YWxpZGF0aW9uCiAgICAkZXJyb3JzID0gYXJyYXkoKTsKICAgIGlmKCBlbXB0eSgkcm93WyduYW1lJ10pICkKICAgICAgewoJJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKTsKICAgICAgfQogICAgaWYoICRyb3dbJ2Jhc2VfcHJpY2UnXSA8IDAuMCB8fCAkcm93WydiYXNlX3ByaWNlJ10gPiAxMDAwMDAwLjAgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpOwogICAgICB9CiAgICBpZiggJGFkanVzdHNbJ3dlZWtseSddIDwgMC4wIHx8ICRhZGp1c3RzWyd3ZWVrbHknXSA+IDEwMDAwMDAuMCApCiAgICAgIHsKCSRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJyk7CiAgICAgIH0KICAgIGlmKCAkYWRqdXN0c1snb3ZlcmNhcCddIDwgMC4wIHx8ICRhZGp1c3RzWydvdmVyY2FwJ10gPiAxMDAwMDAwLjAgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpOwogICAgICB9CiAgICBpZiggJGFkanVzdHNbJ2Rpc2NvdW50X2RheXMnXSA8IDAgKQogICAgICB7CgkkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF92YWx1ZScpOwogICAgICB9CgogICAgLy8gRGF0YWJhc2Ugd29yawogICAgaWYoIGNvdW50KCRlcnJvcnMpICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkZGJyID0gdHJ1ZTsKCWlmKCAhaXNzZXQoJHBhcmFtc1sncnNyY2lkJ10pICkKCSAgewoJICAgIC8vIGl0J3MgYW4gaW5zZXJ0CgkgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgCiAgICAgICAgICAgICAgICAgICAgICAgIChuYW1lLCBhY3RpdmUsIGRlc2NyaXB0aW9uLCBiYXNlX3ByaWNlLCBhZG1pbl9ub3RlcywgY2FwYWNpdHksCiAgICAgICAgICAgICAgICAgICAgICAgICByZXNfaW50ZXJ2YWwsIGdyYW51bGFyaXR5LCBzdGFydHRpbWUxLCBlbmR0aW1lMSwgc3RhcnR0aW1lMiwgZW5kdGltZTIsCiAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2ludGltZSwgY2hlY2tvdXR0aW1lICkKICAgICAgICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyknOwoJICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAoJCQkJYXJyYXkoJHJvd1snbmFtZSddLCRyb3dbJ2FjdGl2ZSddLCRyb3dbJ2Rlc2NyaXB0aW9uJ10sJHJvd1snYmFzZV9wcmljZSddLAoJCQkJICAgICAgJHJvd1snYWRtaW5fbm90ZXMnXSwkcm93WydjYXBhY2l0eSddLAoJCQkJICAgICAgJHJvd1sncmVzX2ludGVydmFsJ10sJHJvd1snZ3JhbnVsYXJpdHknXSwKCQkJCSAgICAgICRyb3dbJ3N0YXJ0dGltZTEnXSwkcm93WydlbmR0aW1lMSddLAoJCQkJICAgICAgJHJvd1snc3RhcnR0aW1lMiddLCRyb3dbJ2VuZHRpbWUyJ10sCgkJCQkgICAgICAkcm93WydjaGVja2ludGltZSddLCRyb3dbJ2NoZWNrb3V0dGltZSddKSk7CgkgICAgaWYoICEkZGJyICkgCgkgICAgICB7CgkJZGllKCRkYi0+c3FsLic8YnIvPicuJGRiLT5FcnJvck1zZygpLic8YnIvPicpOwoJICAgICAgfQoJICAgICRwYXJhbXNbJ3JzcmNpZCddID0gJGRiLT5JbnNlcnRfSUQoKTsKCgkgICAgaWYoICRkYnIgKQoJICAgICAgewoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX1BSSUNFUy4nCiAgICAgICAgICAgICAgICAgICAgICAocnNyY19pZCwgc3VuZGF5LCBtb25kYXksIHR1ZXNkYXksIHdlZG5lc2RheSwgdGh1cnNkYXksIGZyaWRheSwgc2F0dXJkYXksIHdlZWtseSwgb3ZlcmNhcCwgZGlzY291bnRfZGF5cywgCiAgICAgICAgICAgICAgICAgICAgICAgZGlzY291bnRfYWRqdXN0LCBkaXNjb3VudF90eXBlKQogICAgICAgICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/KSc7CgkJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksCgkJCQkgICAgYXJyYXkoJHBhcmFtc1sncnNyY2lkJ10sICRhZGp1c3RzWydzdW5kYXknXSwgJGFkanVzdHNbJ21vbmRheSddLCAkYWRqdXN0c1sndHVlc2RheSddLAoJCQkJCSAgJGFkanVzdHNbJ3dlZG5lc2RheSddLCAkYWRqdXN0c1sndGh1cnNkYXknXSwgJGFkanVzdHNbJ2ZyaWRheSddLCAkYWRqdXN0c1snc2F0dXJkYXknXSwKCQkJCQkgICRhZGp1c3RzWyd3ZWVrbHknXSwgJGFkanVzdHNbJ292ZXJjYXAnXSwKCQkJCQkgICRhZGp1c3RzWydkaXNjb3VudF9kYXlzJ10sICRhZGp1c3RzWydkaXNjb3VudF9hZGp1c3QnXSwgJGFkanVzdHNbJ2Rpc2NvdW50X3R5cGUnXSkpOwoJCWlmKCAhJGRiciApIAoJCSAgewoJCSAgICBkaWUoJGRiLT5zcWwuJzxici8+Jy4kZGItPkVycm9yTXNnKCkuJzxici8+Jyk7CgkJICB9CgoJICAgICAgfQoJICB9CgllbHNlCgkgIHsKCSAgICAvLyBpdCdzIGFuIHVwZGF0ZQoJICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyAKICAgICAgICAgICAgICAgICAgICAgICAgIFNFVCBuYW1lID0gPywgYWN0aXZlID0gPywgZGVzY3JpcHRpb24gPSA/LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlX3ByaWNlID0gPywgYWRtaW5fbm90ZXMgPSA/LCBjYXBhY2l0eSA9ID8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzX2ludGVydmFsID0gPywgZ3JhbnVsYXJpdHkgPSA/LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0dGltZTEgPSA/LCBlbmR0aW1lMSA9ID8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnR0aW1lMiA9ID8sIGVuZHRpbWUyID0gPywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2ludGltZSA9ID8sIGNoZWNrb3V0dGltZSA9ID8KICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwoJICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAoJCQkJYXJyYXkoJHJvd1snbmFtZSddLCRyb3dbJ2FjdGl2ZSddLAoJCQkJICAgICAgJHJvd1snZGVzY3JpcHRpb24nXSwkcm93WydiYXNlX3ByaWNlJ10sCgkJCQkgICAgICAkcm93WydhZG1pbl9ub3RlcyddLAoJCQkJICAgICAgJHJvd1snY2FwYWNpdHknXSwKCQkJCSAgICAgICRyb3dbJ3Jlc19pbnRlcnZhbCddLCAkcm93WydncmFudWxhcml0eSddLAoJCQkJICAgICAgJHJvd1snc3RhcnR0aW1lMSddLCAkcm93WydlbmR0aW1lMSddLAoJCQkJICAgICAgJHJvd1snc3RhcnR0aW1lMiddLCAkcm93WydlbmR0aW1lMiddLAoJCQkJICAgICAgJHJvd1snY2hlY2tpbnRpbWUnXSwgJHJvd1snY2hlY2tvdXR0aW1lJ10sCgkJCQkgICAgICAoaW50KSRwYXJhbXNbJ3JzcmNpZCddKSk7CgoJICAgIGlmKCAkZGJyICkKCSAgICAgIHsKCQkkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfUFJJQ0VTLicgCiAgICAgICAgICAgICAgICAgICAgICAgICAgU0VUIHN1bmRheSA9ID8sIG1vbmRheSA9ID8sIHR1ZXNkYXkgPSA/LCB3ZWRuZXNkYXkgPSA/LCB0aHVyc2RheSA9ID8sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmlkYXkgPSA/LCBzYXR1cmRheSA9ID8sIHdlZWtseSA9ID8sIG92ZXJjYXAgPSA/LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNjb3VudF9kYXlzID0gPywgZGlzY291bnRfYWRqdXN0ID0gPywgZGlzY291bnRfdHlwZSA9ID8KICAgICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSByc3JjX2lkID0gPyc7CgkJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksCgkJCQkgICAgYXJyYXkoJGFkanVzdHNbJ3N1bmRheSddLCAkYWRqdXN0c1snbW9uZGF5J10sICRhZGp1c3RzWyd0dWVzZGF5J10sCgkJCQkJICAkYWRqdXN0c1snd2VkbmVzZGF5J10sICRhZGp1c3RzWyd0aHVyc2RheSddLCAkYWRqdXN0c1snZnJpZGF5J10sIAoJCQkJCSAgJGFkanVzdHNbJ3NhdHVyZGF5J10sICRhZGp1c3RzWyd3ZWVrbHknXSwgJGFkanVzdHNbJ292ZXJjYXAnXSwKCQkJCQkgICRhZGp1c3RzWydkaXNjb3VudF9kYXlzJ10sJGFkanVzdHNbJ2Rpc2NvdW50X2FkanVzdCddLAoJCQkJCSAgJGFkanVzdHNbJ2Rpc2NvdW50X3R5cGUnXSwKCQkJCQkgIChpbnQpJHBhcmFtc1sncnNyY2lkJ10pICk7CgkgICAgICB9CgkgIH0KCglpZiggISRkYnIgKQoJICB7CgkgICAgZWNobyAkZGItPnNxbC4nPGJyLz5FUlJPUjogJy4kZGItPkVycm9yTXNnKCkuJzxici8+JzsKCSAgICBkaWUoKTsKCSAgfQoKCgkvLwoJLy8gSGFuZGxlIGNhdGVnb3JpZXMKCS8vCgkKCS8vIGRlbGV0ZSBhbnkgZXhpc3RpbmcgY2F0ZWdvcmllcyBmb3IgdGhpcyByZXNvdXJjZQoJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfQ0FUUy4nIFdIRVJFIHJzcmNfaWQgPSA/JzsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KChpbnQpJHBhcmFtc1sncnNyY2lkJ10pKTsKCgkvLwoJLy8gSGFuZGxlIGN1c3RvbSBmaWVsZHMKCS8vCgkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19DQVRTLicgKHJzcmNfaWQsY2F0ZWdvcnlfaWQpCiAgICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyknOwoJZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSApCgkgIHsKCSAgICBpZiggIXByZWdfbWF0Y2goJy9jYXRfLycsICRrZXkgKSApCgkgICAgICB7CgkJY29udGludWU7CgkgICAgICB9CgkgICAgJGNhdGlkID0gKGludClzdWJzdHIoJGtleSw0KTsKCSAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KChpbnQpJHBhcmFtc1sncnNyY2lkJ10sJGNhdGlkKSk7CgkgIH0KCgoJLy8gZGVsZXRlIGFueSBleGlzdGluZyBmaWVsZHMgZm9yIHRoaXMgcmVzb3VyY2UKCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRFZBTFMuJyBXSEVSRSByc3JjX2lkID0gPyc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgoaW50KSRwYXJhbXNbJ3JzcmNpZCddKSk7CgoJLy8gaGFuZGxlIHBhcmFtZXRlcnMKCWZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKQoJICB7CgkgICAgaWYoICFwcmVnX21hdGNoKCcvZmxkXy8nLCAka2V5ICkgKQoJICAgICAgewoJCWNvbnRpbnVlOwoJICAgICAgfQoJICAgICR2YWx1ZSA9IHRyaW0oJHZhbHVlKTsKCgkgICAgLy8gYWRqdXN0IHRoZSBrZXkgdG8gZ2V0IHRoZSBmaWVsZCBuYW1lCgkgICAgJGZsZG5hbWUgPSBzdWJzdHIoJGtleSw0KTsKCSAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ2luZm9fJy4kZmxkbmFtZV0pICkKCSAgICAgIHsKCQkvLyB0b2RvLCB0cmlnZ2VyIGVycm9yCgkJY29udGludWU7CgkgICAgICB9CgkgICAgbGlzdCgkZmxkdHlwZSwkZmxkaWQpID0gZXhwbG9kZSgnLCcsdHJpbSgkcGFyYW1zWydpbmZvXycuJGZsZG5hbWVdKSk7CgkgICAgJHBhc3MgPSB0cnVlOwoJICAgIHN3aXRjaCggJGZsZHR5cGUgKQoJICAgICAgewoJICAgICAgY2FzZSAnaW1hZ2UnOgoJCXsKCQkgICRyZXMgPSB0cnVlOwoJCSAgaWYoIGlzc2V0KCAkcGFyYW1zWydkZWxfJy4kZmxkbmFtZV0gKSApCgkJICAgIHsKCQkgICAgICAkcmVzID0gJHRoaXMtPkhhbmRsZUltYWdlRGVsZXRlKCRpZCwoaW50KSRwYXJhbXNbJ3JzcmNpZCddLCR2YWx1ZSk7CgkJICAgIH0KCgkJICBpZiggISRyZXMgKQoJCSAgICB7CgkJICAgICAgJHBhc3MgPSBmYWxzZTsKCQkgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZmlsZWRlbGV0ZScpOwoJCSAgICB9CgkJICBlbHNlCgkJICAgIHsKCQkgICAgICAkdF92YWx1ZSA9ICcnOwoJCSAgICAgICR0X3Jlc3VsdCA9ICcnOwoJCSAgICAgICRyZXMgPSAkdGhpcy0+SGFuZGxlSW1hZ2VVcGxvYWQoJGlkLCRrZXksKGludCkkcGFyYW1zWydyc3JjaWQnXSwKCQkJCQkJICAgICAgJHRfdmFsdWUsJHRfcmVzdWx0KTsKCQkgICAgICBpZiggISRyZXMgJiYgIWVtcHR5KCRyZXN1bHQpKQoJCQl7CgkJCSAgJHBhc3MgPSBmYWxzZTsKCQkJICAkZXJyb3JzW10gPSAkdF9yZXN1bHQ7CgkJCX0KCQkgICAgICBpZiggJHJlcyAmJiAhZW1wdHkoJHRfdmFsdWUpICkKCQkJewoJCQkgICR2YWx1ZSA9ICR0X3ZhbHVlOwoJCQl9CgkJICAgIH0KCQl9CgkJYnJlYWs7CgoJICAgICAgY2FzZSAnZmlsZSc6CgkJewoJCSAgJHJlcyA9IHRydWU7CgkJICBpZiggaXNzZXQoICRwYXJhbXNbJ2RlbF8nLiRmbGRuYW1lXSApICkKCQkgICAgewoJCSAgICAgICRyZXMgPSAkdGhpcy0+SGFuZGxlRmlsZURlbGV0ZSgkaWQsKGludCkkcGFyYW1zWydyc3JjaWQnXSwkdmFsdWUpOwoJCSAgICB9CgoJCSAgaWYoICEkcmVzICkKCQkgICAgewoJCSAgICAgICRwYXNzID0gZmFsc2U7CgkJICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ZpbGVkZWxldGUnKTsKCQkgICAgfQoJCSAgZWxzZQoJCSAgICB7CgkJICAgICAgJHRfdmFsdWUgPSAnJzsKCQkgICAgICAkdF9yZXN1bHQgPSAnJzsKCQkgICAgICAkcmVzID0gJHRoaXMtPkhhbmRsZUZpbGVVcGxvYWQoJGlkLCRrZXksKGludCkkcGFyYW1zWydyc3JjaWQnXSwKCQkJCQkJICAgICAkdmFsdWUsJHJlc3VsdCk7CgkJICAgICAgaWYoICEkcmVzICYmICFlbXB0eSgkcmVzdWx0KSkKCQkJewoJCQkgICRwYXNzID0gZmFsc2U7CgkJCSAgJGVycm9yc1tdID0gJHJlc3VsdDsKCQkJfQoJCSAgICAgIGlmKCAkcmVzICYmICFlbXB0eSgkdF92YWx1ZSkgKQoJCQl7CgkJCSAgJHZhbHVlID0gJHRfdmFsdWU7CgkJCX0KCQkgICAgfQoJCX0KCQlicmVhazsKCSAgICAgIH0KCgkgICAgLy8gc2F2ZSB0aGUgdmFsdWUKCSAgICBpZiggJHBhc3MgJiYgIWVtcHR5KCR2YWx1ZSkpCgkgICAgICB7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEVkFMUy4nIChyc3JjX2lkLCBmaWVsZGRlZl9pZCwgdmFsdWUpCiAgICAgICAgICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyknOwoJCSRkYnIgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoIChpbnQpJHBhcmFtc1sncnNyY2lkJ10sJGZsZGlkLCR2YWx1ZSkgKTsKCSAgICAgIH0JCQoJICB9CgoJLy8gYWRkIHNlYXJjaCBkYXRhCglpZiggIWNvdW50KCRlcnJvcnMpICYmICRyb3dbJ2FjdGl2ZSddKQoJICB7CgkgICAgJHNlYXJjaCA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwoJICAgIGlmKCBpc19vYmplY3QoJHNlYXJjaCkgKQoJICAgICAgewoJCSRzdHIgPSAkcm93WyduYW1lJ10uJyAnLiRyb3dbJ2Rlc2NyaXB0aW9uJ107CgkJZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSApCgkJICB7CgkJICAgIGlmKCAhcHJlZ19tYXRjaCgnL2ZsZF8vJywgJGtleSApICkKCQkgICAgICB7CgkJCWNvbnRpbnVlOwoJCSAgICAgIH0KCQkgICAgbGlzdCgkZmxkdHlwZSwkZmxkaWQpID0gZXhwbG9kZSgnLCcsdHJpbSgkcGFyYW1zWydpbmZvXycuJGZsZG5hbWVdKSk7CgkJICAgICR2YWx1ZSA9IHRyaW0oJHZhbHVlKTsKCQkgICAgaWYoICRmbGR0eXBlID09ICd0ZXh0Ym94JyB8fCAkZmxkdHlwZSA9PSAndGV4dGFyZWEnICkKCQkgICAgICB7CgkJCSRzdHIgLj0gJyAnLiR2YWx1ZTsKCQkgICAgICB9CgkJICB9CgkJJHNlYXJjaC0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwoaW50KSRwYXJhbXNbJ3JzcmNpZCddLCdyZXNvdXJjZScsJHN0cik7CgkgICAgICB9CgkgIH0KCgkvLyBkaXNwbGF5ICBlcnJvcnMgb3IgcmVkaXJlY3QKCWlmKCBjb3VudCgkZXJyb3JzKSApCgkgIHsKCSAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoJICB9CgogICAgICB9IC8vIGVsc2UKCiAgfSAvLyBzdWJtaXQKCi8vCi8vIENyZWF0ZSB0aGUgZm9ybQovLwp7CiAgJGRpc2NvdW50X3R5cGVzID0gYXJyYXkoKTsKICAkZGlzY291bnRfdHlwZXNbQVZBSUxBQklMSVRZX0RJU0NPVU5UX05PTkVdID0gJHRoaXMtPkxhbmcoJ25vbmUnKTsKICAkZGlzY291bnRfdHlwZXNbQVZBSUxBQklMSVRZX0RJU0NPVU5UX0ZSRUVCTE9DS10gPSAkdGhpcy0+TGFuZygnZGlzY291bnRfZnJlZWJsb2NrJyk7CiAgJGRpc2NvdW50X3R5cGVzW0FWQUlMQUJJTElUWV9ESVNDT1VOVF9BTExBREpVU1RdID0gJHRoaXMtPkxhbmcoJ2Rpc2NvdW50X2FsbGFkanVzdCcpOwogICRkaXNjb3VudF90eXBlc1tBVkFJTEFCSUxJVFlfRElTQ09VTlRfQURKVVNUREFZU10gPSAkdGhpcy0+TGFuZygnZGlzY291bnRfYWRqdXN0ZGF5cycpOwogICRzbWFydHktPmFzc2lnbignZGlzY291bnRfdHlwZXMnLCRkaXNjb3VudF90eXBlcyk7Owp9Cgp7CiAgJGludGVydmFscyA9IGFycmF5KCk7CiAgJGludGVydmFsc1snaG91cmx5J10gPSAkdGhpcy0+TGFuZygnaG91cmx5Jyk7CiAgJGludGVydmFsc1snaGFsZl9kYXknXSA9ICR0aGlzLT5MYW5nKCdoYWxmX2RheScpOwogICRpbnRlcnZhbHNbJ2RhaWx5J10gPSAkdGhpcy0+TGFuZygnZGFpbHknKTsKICAkc21hcnR5LT5hc3NpZ24oJ2ludGVydmFscycsJGludGVydmFscyk7CgogIC8vIGFwcGxpZXMgb25seSB0byBob3VybHkgaW50ZXJ2YWwKICAkZ3JhbnVsYXJpdHkgPSBhcnJheSgpOwogICRncmFudWxhcml0eVsncXVhcnRlcl9ob3VyJ10gPSAkdGhpcy0+TGFuZygncXVhcnRlcl9ob3VyJyk7CiAgJGdyYW51bGFyaXR5WydoYWxmX2hvdXInXSA9ICR0aGlzLT5MYW5nKCdoYWxmX2hvdXInKTsKICAkZ3JhbnVsYXJpdHlbJ2hvdXInXSA9ICR0aGlzLT5MYW5nKCdvbmVfaG91cicpOwogICRzbWFydHktPmFzc2lnbignZ3JhbnVsYXJpdHknLCRncmFudWxhcml0eSk7Cn0KCnsKICAkY2FwYWNpdGllcyA9IGFycmF5KCk7CiAgJGNhcGFjaXRpZXNbLTFdID0gJHRoaXMtPkxhbmcoJ25vdF9hcHBsaWNhYmxlJyk7CiAgJGRlZmF1bHRfY2FwYWNpdHkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9jYXBhY2l0eScsNTApOwogIGZvciggJGkgPSAxOyAkaSA8PSAkZGVmYXVsdF9jYXBhY2l0eTsgJGkrKyApCiAgICB7CiAgICAgICRjYXBhY2l0aWVzWyRpXSA9ICRpOwogICAgfQogICRzbWFydHktPmFzc2lnbignbGlzdF9jYXBhY2l0aWVzJywkY2FwYWNpdGllcyk7Cn0KCgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fZWRpdF9yc3JjJywkcmV0dXJuaWQsJHBhcmFtcyxmYWxzZSwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FuY2VsJywkdGhpcy0+TGFuZygnY2FuY2VsJykpKTsKCiRzbWFydHktPmFzc2lnbigncnNyYycsJHJvdyk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfbmFtZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X25hbWUnLCRyb3dbJ25hbWUnXSw4MCwyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZXNjcmlwdGlvbicsJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsJGlkLCRyb3dbJ2Rlc2NyaXB0aW9uJ10sJ2lucHV0X2Rlc2NyaXB0aW9uJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Jhc2VfcHJpY2UnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9iYXNlX3ByaWNlJywkcm93WydiYXNlX3ByaWNlJ10sMTAsMTApKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hZG1pbl9ub3RlcycsJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsJGlkLCRyb3dbJ2FkbWluX25vdGVzJ10sJ2lucHV0X2FkbWluX25vdGVzJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FjdGl2ZScsJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ2lucHV0X2FjdGl2ZScsJHJvd1snYWN0aXZlJ10pKTsKCi8vIEFkZCBjdXN0b20gd2Vla2RheSBwcmljZXMKJHNtYXJ0eS0+YXNzaWduKCdhZGp1c3RzJywkYWRqdXN0cyk7CiRzbWFydHktPmFzc2lnbignc3VuZGF5X2FkanVzdCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3N1bmRheV9hZGp1c3QnLCRhZGp1c3RzWydzdW5kYXknXSwxMCwzMCkpOwokc21hcnR5LT5hc3NpZ24oJ21vbmRheV9hZGp1c3QnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdtb25kYXlfYWRqdXN0JywkYWRqdXN0c1snbW9uZGF5J10sMTAsMzApKTsKJHNtYXJ0eS0+YXNzaWduKCd0dWVzZGF5X2FkanVzdCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3R1ZXNkYXlfYWRqdXN0JywkYWRqdXN0c1sndHVlc2RheSddLDEwLDMwKSk7CiRzbWFydHktPmFzc2lnbignd2VkbmVzZGF5X2FkanVzdCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3dlZG5lc2RheV9hZGp1c3QnLCRhZGp1c3RzWyd3ZWRuZXNkYXknXSwxMCwzMCkpOwokc21hcnR5LT5hc3NpZ24oJ3RodXJzZGF5X2FkanVzdCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3RodXJzZGF5X2FkanVzdCcsJGFkanVzdHNbJ3RodXJzZGF5J10sMTAsMzApKTsKJHNtYXJ0eS0+YXNzaWduKCdmcmlkYXlfYWRqdXN0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnZnJpZGF5X2FkanVzdCcsJGFkanVzdHNbJ2ZyaWRheSddLDEwLDMwKSk7CiRzbWFydHktPmFzc2lnbignc2F0dXJkYXlfYWRqdXN0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnc2F0dXJkYXlfYWRqdXN0JywkYWRqdXN0c1snc2F0dXJkYXknXSwxMCwzMCkpOwoKLy8gQWRkIENhdGVnb3JpZXMgdG8gdGhlIGZvcm0KJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfQ0FUUzsKJGNhdGRlZnMgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CmlmKCBpc3NldCgkcGFyYW1zWydyc3JjaWQnXSkgKQogIHsKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfQ0FUUy4nIFdIRVJFIHJzcmNfaWQgPSA/JzsKICAgICRjYXR2YWxzID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydyc3JjaWQnXSkpOwogICAgaWYoICRjYXR2YWxzICkKICAgICAgewoJJHRtcCA9IGNnZV9hcnJheTo6bWVyZ2VfYnlfa2V5cygkY2F0ZGVmcywkY2F0dmFscywnaWQnLCdjYXRlZ29yeV9pZCcpOwoJJGNhdGRlZnMgPSAkdG1wOwogICAgICB9CiAgfQokY2F0ZWdvcmllcyA9IGFycmF5KCk7CmZvcmVhY2goICRjYXRkZWZzIGFzICRvbmVjYXQgKQp7CiAgJG9uZWNhdFsnZmllbGQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnY2F0XycuJG9uZWNhdFsnaWQnXSwxLAoJCQkJCQkoaXNzZXQoJG9uZWNhdFsncnNyY19pZCddKSk/MTowKTsKICAkY2F0ZWdvcmllc1tdID0gJG9uZWNhdDsKfQppZiggY291bnQoJGNhdGVnb3JpZXMpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3JpZXMnLCRjYXRlZ29yaWVzKTsKICB9CgovLyBBZGQgY3VzdG9tIGZpZWxkcyB0byB0aGUgZm9ybQokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRERFRlM7CiRmaWVsZGRlZnMgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CmlmKCBpc3NldCgkcGFyYW1zWydyc3JjaWQnXSkgKQogIHsKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEVkFMUy4nIFdIRVJFIHJzcmNfaWQgPSA/JzsKICAgICRmaWVsZHZhbHMgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgoaW50KSRwYXJhbXNbJ3JzcmNpZCddKSk7CiAgICBpZiggJGZpZWxkdmFscyApCiAgICAgIHsKCSR0bXAgPSBjZ2VfYXJyYXk6Om1lcmdlX2J5X2tleXMoJGZpZWxkZGVmcywkZmllbGR2YWxzLCdpZCcsJ2ZpZWxkZGVmX2lkJyk7CgkkZmllbGRkZWZzID0gJHRtcDsKICAgICAgfQogIH0KCiRmaWVsZHMgPSBhcnJheSgpOwpmb3JlYWNoKCAkZmllbGRkZWZzIGFzICRvbmVmaWVsZCApCnsKICBpZiggIWlzc2V0KCRvbmVmaWVsZFsndmFsdWUnXSkgKSAkb25lZmllbGRbJ3ZhbHVlJ10gPSAnJzsKCiAgJG9uZWZpZWxkWydoaWRkZW4nXSA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2luZm9fJy4kb25lZmllbGRbJ25hbWUnXSwKCQkJCQkJICRvbmVmaWVsZFsndHlwZSddLicsJy4kb25lZmllbGRbJ2lkJ10pOyAKICBzd2l0Y2goICRvbmVmaWVsZFsndHlwZSddICkKICAgIHsKICAgIGNhc2UgJ3RleHRib3gnOgogICAgICAkc2l6ZSA9IG1pbig1MCwkb25lZmllbGRbJ21heF9sZW5ndGgnXSk7CiAgICAgICRvbmVmaWVsZFsnZmllbGQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdmbGRfJy4kb25lZmllbGRbJ25hbWUnXSwKCQkJCQkJICAkb25lZmllbGRbJ3ZhbHVlJ10sJHNpemUsJG9uZWZpZWxkWydtYXhfbGVuZ3RoJ10pOwogICAgICBicmVhazsKCiAgICBjYXNlICd0ZXh0YXJlYSc6CiAgICAgICRvbmVmaWVsZFsnZmllbGQnXSA9ICR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCRpZCwkb25lZmllbGRbJ3ZhbHVlJ10sJ2ZsZF8nLiRvbmVmaWVsZFsnbmFtZSddKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnY2hlY2tib3gnOgogICAgICAvLyB0b2RvLCBhZGQgaGlkZGVuIGZpZWxkIGZpcnN0IHdpdGggdGhlIHZhbHVlCiAgICAgICRvbmVmaWVsZFsnZmllbGQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnZmxkXycuJG9uZWZpZWxkWyduYW1lJ10sMSwkb25lZmllbGRbJ3ZhbHVlJ10pOwogICAgICBicmVhazsKCiAgICBjYXNlICdkcm9wZG93bic6CiAgICAgIHsKCSR0bXAgPSBleHBsb2RlKCJcbiIsJG9uZWZpZWxkWydvcHRpb25zJ10pOwoJJHRtcDIgPSBhcnJheSgpOwoJZm9yZWFjaCggJHRtcCBhcyAkb25lICkKCSAgewoJICAgICRvbmUgPSB0cmltKCRvbmUpOwoJICAgICR0bXAyWyRvbmVdID0gJG9uZTsKCSAgfQoJJG9uZWZpZWxkWydmaWVsZCddID0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdmbGRfJy4kb25lZmllbGRbJ25hbWUnXSwKCQkJCQkJCSR0bXAyLC0xLCRvbmVmaWVsZFsndmFsdWUnXSk7CiAgICAgIH0KICAgICAgYnJlYWs7CgogICAgY2FzZSAnaW1hZ2UnOgogICAgICBpZiggIWVtcHR5KCRvbmVmaWVsZFsndmFsdWUnXSkgKSAKCXsKCSAgJG9uZWZpZWxkWydkaXNwbGF5X3ZhbHVlJ10gPSAkb25lZmllbGRbJ3ZhbHVlJ107CgkgICRvbmVmaWVsZFsnZGVsZXRlX2ZpZWxkJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2RlbF8nLiRvbmVmaWVsZFsnbmFtZSddLDEsMCk7Cgl9CiAgICAgICRvbmVmaWVsZFsnZmllbGQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2ZsZF8nLiRvbmVmaWVsZFsnbmFtZSddLAoJCQkJCQkgICAgJG9uZWZpZWxkWyd2YWx1ZSddKS4kdGhpcy0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCRpZCwnZmxkXycuJG9uZWZpZWxkWyduYW1lJ10sJycsMzApOwogICAgICBicmVhazsKCiAgICBjYXNlICdmaWxlJzoKICAgICAgaWYoICFlbXB0eSgkb25lZmllbGRbJ3ZhbHVlJ10pICkgJG9uZWZpZWxkWydkaXNwbGF5X3ZhbHVlJ10gPSAkb25lZmllbGRbJ3ZhbHVlJ107CiAgICAgICRvbmVmaWVsZFsnZmllbGQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2ZsZF8nLiRvbmVmaWVsZFsnbmFtZSddLAoJCQkJCQkgICAgJG9uZWZpZWxkWyd2YWx1ZSddKS4kdGhpcy0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCRpZCwnZmxkXycuJG9uZWZpZWxkWyduYW1lJ10sJycsMzApOwogICAgICBicmVhazsKICAgIH0KICAkZmllbGRzW10gPSAkb25lZmllbGQ7Cn0KaWYoIGNvdW50KCRmaWVsZHMpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpZWxkcycsJGZpZWxkcyk7CiAgfQoKCi8vIEVjaG8gaXQgb3V0CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fZWRpdF9yc3JjLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_graphing.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpICkKICB7CiAgICBkaWUoJ3Blcm1pc3Npb24gZGVuaWVkJyk7CiAgfQoKLy8KLy8gZnVuY3Rpb25zCi8vCmZ1bmN0aW9uIGlzX2xlYXB5ZWFyKCR5ZWFyKQp7CiAgJGYgPSAwOwogIGlmKCAkeWVhciAlIDQgPT0gMCApICRmID0gMTsKICBpZiggJHllYXIgJSAxMDAgPT0gMCApICRmID09IDA7CiAgaWYoICR5ZWFyICUgNDAwID09IDAgKSAkZiA9IDE7CiAgcmV0dXJuICRmOwp9CgoKLy8gCi8vIEluaXRpYWxpemF0aW9uCi8vCiR5ZWFycyA9IGFycmF5KCk7CiR5ZWFyc1tdID0gZGF0ZSgnWScsdGltZSgpKTsKJHllYXJzW10gPSAtMTsKJHllYXJzW10gPSAtMTsKJGRheXNfaW5fbW9udGggPSBhcnJheSgzMSwgMjgsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxKTsKJG1vbnRobmFtZXMgPSBleHBsb2RlKCcvJywkdGhpcy0+TGFuZygnbW9udGhsaXN0X2JyaWVmJykpOwoKLy8KLy8gUHJvY2VzcyBwYXJhbWV0ZXJzCi8vCmlmKCBpc3NldCgkcGFyYW1zWyd5ZWFyMSddKSApCiAgewogICAgJHllYXJzWzBdID0gKGludCkkcGFyYW1zWyd5ZWFyMSddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3llYXIyJ10pICkKICB7CiAgICAkeWVhcnNbMV0gPSAoaW50KSRwYXJhbXNbJ3llYXIyJ107CiAgfQppZiggaXNzZXQoJHBhcmFtc1sneWVhcjMnXSkgKQogIHsKICAgICR5ZWFyc1syXSA9IChpbnQpJHBhcmFtc1sneWVhcjMnXTsKICB9CgovLwovLyBTZXR1cAovLwppZiggJHllYXJzWzFdID09ICR5ZWFyc1swXSApICR5ZWFyc1sxXSA9IC0xOwppZiggJHllYXJzWzJdID09ICR5ZWFyc1swXSApICR5ZWFyc1syXSA9IC0xOwppZiggJHllYXJzWzJdID09ICR5ZWFyc1sxXSApICR5ZWFyc1syXSA9IC0xOwokdGhpcy0+SW5pdGlhbGl6ZUNoYXJ0aW5nKCk7CiRkYXRhc2V0ID0gbmV3IHBEYXRhOwovLyAkZGF0YXNldC0+QWRkUG9pbnQoJGRhdGFbMF0sJHllYXJzWzBdKTsKLy8gJGRhdGFzZXQtPkFkZFBvaW50KCRkYXRhWzFdLCR5ZWFyc1sxXSk7Ci8vICRkYXRhc2V0LT5BZGRQb2ludCgkZGF0YVsyXSwkeWVhcnNbMl0pOwoKCi8vCi8vIEdldCBEYXRhCi8vCiRxdWVyeSA9ICdTRUxFQ1Qgc3RhcnRfZGF0ZSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4nCiAgICAgICAgICAgT1JERVIgQlkgc3RhcnRfZGF0ZSBBU0MgTElNSVQgMSc7CiR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnkpOwokZmlyc3RfeWVhciA9IGRhdGUoJ1knLCRkYi0+VW5peFRpbWVTdGFtcCgkdG1wKSk7CgokcXVlcnkgPSAnU0VMRUNUIHN0YXJ0X2RhdGUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlMuJwogICAgICAgICAgIE9SREVSIEJZIHN0YXJ0X2RhdGUgREVTQyBMSU1JVCAxJzsKJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSk7CiRsYXN0X3llYXIgPSBkYXRlKCdZJywkZGItPlVuaXhUaW1lU3RhbXAoJHRtcCkpOwoKJHF1ZXJ5ID0gJ1NFTEVDVCBDT1VOVChpZCkgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUzsKJG51bV9yZXNvdXJjZXMgPSAkZGItPkdldE9uZSgkcXVlcnkpOwoKJGRhdGEgPSBhcnJheSgpOwokcXVlcnkgPSAnU0VMRUNUIENPVU5UKHJzcmNfaWQpIEFTIGNvdW50IAogICAgICAgICAgICBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicKICAgICAgICAgICBXSEVSRSBkYXRlID49ICVzIEFORCBkYXRlIDw9ICVzJzsKZm9yZWFjaCggJHllYXJzIGFzICRjdXJ5ZWFyICkKewogIGlmKCAkY3VyeWVhciA9PSAtMSApIGNvbnRpbnVlOwoKICAkeWVhcmRhdGEgPSBhcnJheSgpOwogIGZvciggJG1vbnRoID0gMTsgJG1vbnRoIDw9IDEyOyAkbW9udGgrKyApCiAgICB7CiAgICAgICRudW1kYXlzID0gJGRheXNfaW5fbW9udGhbJG1vbnRoLTFdOwogICAgICBpZiggJG1vbnRoID09IDIgJiYgaXNfbGVhcHllYXIoJGN1cnllYXIpICkgJG51bWRheXMrKzsKCiAgICAgICR1dF9zdGFydCA9IG1rdGltZSgwLDAsMCwkbW9udGgsMSwkY3VyeWVhcik7CiAgICAgICR1dF9lbmQgICA9IG1rdGltZSgyMyw1OSwwLCRtb250aCwkbnVtZGF5cywkY3VyeWVhcik7CiAgICAgICRkYl9zdGFydCA9ICRkYi0+RGJUaW1lU3RhbXAoJHV0X3N0YXJ0KTsKICAgICAgJGRiX2VuZCA9ICRkYi0+RGJUaW1lU3RhbXAoJHV0X2VuZCk7CiAgICAgICR0bXAgPSAkZGItPkdldE9uZShzcHJpbnRmKCRxdWVyeSwkZGJfc3RhcnQsJGRiX2VuZCkpOwogICAgICBpZiggJHRtcCA+IDAgKQoJewoJICAkdmFsID0gJHRtcCAvICgkbnVtX3Jlc291cmNlcyAqICRudW1kYXlzKSAqIDEwMDsKCSAgJGRhdGFzZXQtPkFkZFBvaW50KCR2YWwsJGN1cnllYXIsJG1vbnRobmFtZXNbJG1vbnRoLTFdKTsKCX0KICAgICAgJHllYXJkYXRhWyRtb250aF0gPSAkdG1wOwogICAgfQogICRkYXRhW10gPSAkeWVhcmRhdGE7CiAgJGRhdGFzZXQtPlNldFNlcmllTmFtZSgkY3VyeWVhciwkY3VyeWVhcik7Cn0KCiRkYXRhc2V0LT5BZGRBbGxTZXJpZXMoKTsKJGRhdGFzZXQtPlNldEFic2Npc2VMYWJlbFNlcmllKCk7CiRkYXRhc2V0LT5TZXRYQXhpc05hbWUoJ01vbnRoJyk7CiRkYXRhc2V0LT5TZXRZQXhpc05hbWUoJyUgUmVzZXJ2YXRpb25zJyk7CiRkYXRhc2V0LT5TZXRZQXhpc1VuaXQoJyUnKTsKCiRjaGFydCA9IG5ldyBwQ2hhcnQoNzAwLDI1MCk7CiRkaXIgPSBkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKS4nL0NHRXh0ZW5zaW9ucy9mb250cyc7CiRjaGFydC0+c2V0Rm9udFByb3BlcnRpZXMoIiRkaXIvdGFob21hLnR0ZiIsOCk7CiRjaGFydC0+c2V0R3JhcGhBcmVhKDUwLDMwLDU4NSwyMDApOwokY2hhcnQtPmRyYXdGaWxsZWRSb3VuZGVkUmVjdGFuZ2xlKDcsNyw2OTMsMjQzLDUsMjQwLDI0MCwyNDApOwokY2hhcnQtPmRyYXdSb3VuZGVkUmVjdGFuZ2xlKDUsNSw2OTUsMjI1LDUsMjMwLDIzMCwyMzApOwokY2hhcnQtPmRyYXdHcmFwaEFyZWEoMjU1LDI1NSwyNTUsVFJVRSk7CiRjaGFydC0+ZHJhd1NjYWxlKCRkYXRhc2V0LT5HZXREYXRhKCksJGRhdGFzZXQtPkdldERhdGFEZXNjcmlwdGlvbigpLFNDQUxFX1NUQVJUMCwxNTAsMTUwLDE1MCxUUlVFLDAsMixUUlVFKTsKJGNoYXJ0LT5kcmF3R3JpZCg0LFRSVUUsMjMwLDIzMCwyMzAsNTApOwokY2hhcnQtPmRyYXdUcmVzaG9sZCgwLDE0Myw1NSw3MixUUlVFLFRSVUUpOwokY2hhcnQtPmRyYXdMZWdlbmQoNjAwLDMwLCRkYXRhc2V0LT5HZXREYXRhRGVzY3JpcHRpb24oKSwyNTUsMjU1LDI1NSk7CiRjaGFydC0+ZHJhd1RpdGxlKDUwLDIyLCJSZXNlcnZhdGlvbiBIaXN0b3J5Iiw1MCw1MCw1MCw1ODUpOwoKJGNoYXJ0LT5kcmF3TGluZUdyYXBoKCRkYXRhc2V0LT5HZXREYXRhKCksJGRhdGFzZXQtPkdldERhdGFEZXNjcmlwdGlvbigpKTsKJGNoYXJ0LT5kcmF3UGxvdEdyYXBoKCRkYXRhc2V0LT5HZXREYXRhKCksJGRhdGFzZXQtPkdldERhdGFEZXNjcmlwdGlvbigpLDMsMiwyNTUsMjU1LDI1NSk7CgokY2hhcnQtPlJlbmRlcignLi4vdG1wL2dyYXBoLnBuZycpOwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLAoJCSR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9ncmFwaGluZycsJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsCgkJJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR5ZWFybGlzdCA9IGFycmF5KCk7CiR5ZWFybGlzdFstMV0gPSAkdGhpcy0+TGFuZygnbm9uZScpOwpmb3IoICR5ID0gJGZpcnN0X3llYXI7ICR5IDw9ICRsYXN0X3llYXI7ICR5KysgKQogIHsKICAgICR5ZWFybGlzdFskeV0gPSAkeTsKICB9CiRzbWFydHktPmFzc2lnbigneWVhcnMnLCR5ZWFybGlzdCk7CiRzbWFydHktPmFzc2lnbigndmFsdWVzJywkeWVhcnMpOwokc21hcnR5LT5hc3NpZ24oJ2dyYXBoJywnLi4vdG1wL2dyYXBoLnBuZycpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2dyYXBoaW5nLnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_mail_resvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdyZXNlcnZhdGlvbnMnKTsKCi8vCi8vIFBlcm1pc3Npb25zIGNoZWNrCi8vCmlmKCAhJHRoaXMtPkNhbkNvbnRhY3RDdXN0b21lcnMoKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KaWYoICFpc3NldCgkcGFyYW1zWydyZXN2bmlkJ10pICkKICB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW1ldGVyJykpOwogICAgcmV0dXJuOwogIH0KCi8vCi8vIEluaXRpYWxpemF0aW9uCi8vCiRyZXN2X2lkID0gaW50dmFsKCRwYXJhbXNbJ3Jlc3ZuaWQnXSk7CgoKLy8KLy8gR2F0aGVyIERhdGEKLy8KJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLicKICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwokcmVzdm4gPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKaWYoICEkcmVzdm4gKQp7CiAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3Jfbm90Zm91bmQnKSk7CiAgcmV0dXJuOwp9CnsKICAkcXVlcnkgPSAnU0VMRUNUIHJzcmNfaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4nCiAgICAgICAgICAgV0hFUkUgcmVzdl9pZCA9ID8nOwogICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkcmVzdl9pZCkpOwogICR0bXAyID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCR0bXAsJ3JzcmNfaWQnKTsKICAkcXVlcnkgPSAnU0VMRUNUIG5hbWUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nCiAgICAgICAgICAgICBXSEVSRSBpZCBJTiAoJy5pbXBsb2RlKCcsJywkdG1wMikuJyknOwogICR0bXAzID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICRyZXN2blsncnNyY3MnXSA9IGNnZV9hcnJheTo6ZXh0cmFjdF9maWVsZCgkdG1wMywnbmFtZScpOwp9CiR1c2VyaW5mbyA9ICR0aGlzLT5HZXRVc2VyRGV0YWlscygkcmVzdm5bJ2N1c3RvbWVyX2lkJ10pOwoKCi8vCi8vIEhhbmRsZSBmb3JtIGRhdGEKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApCnsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCnsKICAvLwogIC8vIFZhbGlkYXRlIERhdGEKICAvLwogICRlcnJvciA9ICcnOwogICRzdWJqZWN0ID0gJyc7CiAgJHRlbXBsYXRlID0gJyc7CiAgJGF0dGFjaG1lbnQgPSAnJzsKICAkYm9keSA9ICcnOwogIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9zdWJqZWN0J10pICkKICAgIHsKICAgICAgJHN1YmplY3QgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3N1YmplY3QnXSk7CiAgICB9CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2JvZHknXSkgKQogICAgewogICAgICAkYm9keSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfYm9keSddKTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfdGVtcGxhdGUnXSkgKQogICAgewogICAgICAkdGVtcGxhdGUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3RlbXBsYXRlJ10pOwogICAgfQogIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9maWxlJ10pICkKICAgIHsKICAgICAgaWYoIGlzX2FycmF5KCRwYXJhbXNbJ2lucHV0X2ZpbGUnXSkgKQoJewoJICAkYXR0YWNobWVudCA9IGltcGxvZGUoJ15eXicsJHBhcmFtc1snaW5wdXRfZmlsZSddKTsKCX0KICAgICAgZWxzZQoJewoJICAkYXR0YWNobWVudCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfZmlsZSddKTsKCX0KICAgIH0KICBpZiggZW1wdHkoJHN1YmplY3QpIHx8IGVtcHR5KCRib2R5KSApCiAgICB7CiAgICAgICRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX3BhcmFtZXRlcicpOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgLy8gCiAgICAgIC8vIEJ1aWxkIHRoZSBFbWFpbAogICAgICAvLwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3N1YmplY3QnLCRzdWJqZWN0KTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdib2R5JywkYm9keSk7CiAgICAgICRtZXNzYWdlX2JvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0ZW1wbGF0ZSk7CgogICAgICAvLyAKICAgICAgLy8gU2VuZCBJdAogICAgICAvLwogICAgICAkY21zbWFpbGVyID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CiAgICAgICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJHVzZXJpbmZvWydlbWFpbCddLCR1c2VyaW5mb1snZGlzcGxheSddKTsKICAgICAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOwogICAgICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCRzdWJqZWN0KTsKICAgICAgJGNtc21haWxlci0+U2V0Qm9keSgkbWVzc2FnZV9ib2R5KTsKICAgICAgaWYoICFlbXB0eSgkYXR0YWNobWVudCkgKQoJewoJICAkZmlsZXMgPSBleHBsb2RlKCdeXl4nLCRhdHRhY2htZW50KTsKCSAgZm9yZWFjaCgkZmlsZXMgYXMgJGZpbGUpCgkgICAgewoJICAgICAgJGZuID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F0dGFjaG1lbnRfZGlyJykuJy8nLiRmaWxlOwoJICAgICAgJGNtc21haWxlci0+QWRkQXR0YWNobWVudCggJGZuLCAkZmlsZSApOwoJICAgIH0KCX0KICAgICAgJGNtc21haWxlci0+U2VuZCgpOwoKICAgICAgLy8gCiAgICAgIC8vIEFkZCBpdCB0byB0aGUgTm90ZXMKICAgICAgLy8KICAgICAgJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLiIKICAgICAgICAgICAgICAgICAgKHJlc3ZfaWQsIHN1YmplY3QsIHRleHQsIGNyZWF0ZV9kYXRlKQogICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPywkbm93KSI7CiAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyZXN2X2lkLCRzdWJqZWN0LCRtZXNzYWdlX2JvZHkpKTsKICAgICAgaWYoICEkZGJyICkgCiAgICAgICAgewoJICBkaWUoJGRiLT5zcWwuJzxici8+Jy4kZGItPkVycm9yTXNnKCkpOwoJfQoKICAgICAgLy8gRG9uZQogICAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogICAgfQoKfQoKCi8vCi8vIERpc3BsYXkgT3V0cHV0Ci8vCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLicKICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyBPUkRFUiBCWSBjcmVhdGVfZGF0ZSBERVNDJzsKJG5vdGVzID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKaWYoIGlzX2FycmF5KCRub3RlcykgJiYgY291bnQoJG5vdGVzKSApCnsKICAkc21hcnR5LT5hc3NpZ24oJ25vdGVzJywkbm90ZXMpOwp9CiRzbWFydHktPmFzc2lnbigncmVzdm4nLCRyZXN2bik7CiRzbWFydHktPmFzc2lnbigndXNlcmluZm8nLCR1c2VyaW5mbyk7CiRzbWFydHktPmFzc2lnbigncmVzdl9pZCcsJHJlc3ZfaWQpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fbWFpbF9yZXN2bicsJHJldHVybmlkLCRwYXJhbXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2JvZHknLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCRpZCwnJywnaW5wdXRfYm9keScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWxlJywkdGhpcy0+Q3JlYXRlRmlsZURyb3Bkb3duKCRpZCwnaW5wdXRfZmlsZScsJycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F0dGFjaG1lbnRfZGlyJyksJycsMSx0cnVlLDUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90ZW1wbGF0ZScsJHRoaXMtPkNyZWF0ZVRlbXBsYXRlRHJvcGRvd24oJGlkLCdpbnB1dF90ZW1wbGF0ZScsJ2N1c3RlbWFpbF8nKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fbWFpbF9yZXN2bi50cGwnKTsKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_settings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBUaGUgU2V0dGluZ3MgcGFuZWwKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICYmCiAgICAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpKQogIHsKICAgIGRpZSgncGVybWlzc2lvbiBkZW5pZWQnKTsKICB9CgoKZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IHdpZHRoOiA4MCU7Ij4nLgokdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsCgkJICAgICAgICR0aGlzLT5MYW5nKCdsYmxfYmFjaycpLCdpY29ucy9zeXN0ZW0vYmFjay5naWYnLGFycmF5KCksJycsJycsZmFsc2UpLic8L2Rpdj48YnIvPic7CiAgICAKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0VWRU5UUykgKQp7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdldmVudF90eXBlcycsJHRoaXMtPkxhbmcoJ2xibF9ldmVudF90eXBlcycpKTsKfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCnsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NhdGVnb3JpZXMnLCR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS4nICcuJHRoaXMtPkxhbmcoJ2xibF9jYXRlZ29yaWVzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY3VzdG9tX2ZpZWxkcycsJHRoaXMtPkxhbmcoJ2xibF9jdXN0b21fZmllbGRzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncHJlZmVyZW5jZXMnLCR0aGlzLT5MYW5nKCdsYmxfcHJlZmVyZW5jZXMnKSk7Cn0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0VWRU5UUykgKQp7CiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2V2ZW50X3R5cGVzJyk7CiAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2V2ZW50X3R5cGVzX3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKfQppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCnsKICBlY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcmllcycpOwogIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9jYXRlZ29yaWVzX3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2N1c3RvbV9maWVsZHMnKTsKICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fY3VzdG9tX2ZpZWxkc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVmZXJlbmNlcycpOwogIGluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9wcmVmZXJlbmNlc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_templates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCmVjaG8gJzxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyB3aWR0aDogODAlOyI+Jy4KJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLAoJCSAgICAgICAkdGhpcy0+TGFuZygnbGJsX2JhY2snKSwnaWNvbnMvc3lzdGVtL2JhY2suZ2lmJyxhcnJheSgpLCcnLCcnLGZhbHNlKS4nPC9kaXY+PGJyLz4nOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2FsZW5kYXJfdmlld190ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9jYWxlbmRhcl92aWV3X3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdkYXlfdmlld190ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9kYXlfdmlld190ZW1wbGF0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJywKCQkJICR0aGlzLT5MYW5nKCdsYmxfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NlbmRlbWFpbF90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9zZW5kZW1haWxfdGVtcGxhdGVzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3Jlc291cmNlX3N1bW1hcnlfdGVtcGxhdGVzJywKCQkJICR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS4nICcuJHRoaXMtPkxhbmcoJ2xibF9zdW1tYXJ5X3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdyZXNvdXJjZV9kZXRhaWxfdGVtcGxhdGVzJywKCQkJICR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS4nICcuJHRoaXMtPkxhbmcoJ2xibF9kZXRhaWxfdGVtcGxhdGVzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJywKCQkJICR0aGlzLT5MYW5nKCdsYmxfcmVzZXJ2YXRpb25fZm9ybV90ZW1wbGF0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVzZXJ2YXRpb25fY29uZmlybV90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdjdXN0b21lcl9lbWFpbF90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9jdXN0b21lcl9lbWFpbF90ZW1wbGF0ZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZGVmYXVsdF90ZW1wbGF0ZXMnLAoJCQkgJHRoaXMtPkxhbmcoJ2xibF9kZWZhdWx0X3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2NhbGVuZGFyX3ZpZXdfdGVtcGxhdGVzJywkcGFyYW1zKTsKaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2NhbGVuZGFyX3ZpZXdfdGVtcGxhdGVzX3RhYi5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignZGF5X3ZpZXdfdGVtcGxhdGVzJywkcGFyYW1zKTsKaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2RheV92aWV3X3RlbXBsYXRlc190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ215cmVzZXJ2YXRpb25zX3RlbXBsYXRlcycsJHBhcmFtcyk7CmluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9teXJlc2VydmF0aW9uc190ZW1wbGF0ZXNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdzZW5kZW1haWxfdGVtcGxhdGVzJywkcGFyYW1zKTsKaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3NlbmRlbWFpbF90ZW1wbGF0ZXNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdyZXNvdXJjZV9zdW1tYXJ5X3RlbXBsYXRlcycsJHBhcmFtcyk7CmluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9yZXNvdXJjZV9zdW1tYXJ5X3RlbXBsYXRlc190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3Jlc291cmNlX2RldGFpbF90ZW1wbGF0ZXMnLCRwYXJhbXMpOwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcmVzb3VyY2VfZGV0YWlsX3RlbXBsYXRlc190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJywkcGFyYW1zKTsKaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzX3RhYi5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYigncmVzZXJ2YXRpb25fY29uZmlybV90ZW1wbGF0ZXMnLCRwYXJhbXMpOwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcmVzZXJ2YXRpb25fY29uZmlybV90ZW1wbGF0ZXNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdhZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnLCRwYXJhbXMpOwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzX3RhYi5waHAnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYigncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXMnLCRwYXJhbXMpOwppbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF90ZW1wbGF0ZV90YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2N1c3RvbWVyX2VtYWlsX3RlbXBsYXRlcycsJHBhcmFtcyk7CmluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9jdXN0b21lcl9lbWFpbF90ZW1wbGF0ZXNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdkZWZhdWx0X3RlbXBsYXRlcycsJHBhcmFtcyk7CmluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9kZWZhdWx0X3RlbXBsYXRlc190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.admin_update_preferences.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCiRzdGFydHRpbWVfMSA9IG1rdGltZSgkcGFyYW1zWydzdGFydHRpbWUxX0hvdXInXSwkcGFyYW1zWydzdGFydHRpbWUxX01pbnV0ZSddLDApOwokZW5kdGltZV8xID0gbWt0aW1lKCRwYXJhbXNbJ2VuZHRpbWUxX0hvdXInXSwkcGFyYW1zWydlbmR0aW1lMV9NaW51dGUnXSwwKTsKJHN0YXJ0dGltZV8yID0gbWt0aW1lKCRwYXJhbXNbJ3N0YXJ0dGltZTJfSG91ciddLCRwYXJhbXNbJ3N0YXJ0dGltZTJfTWludXRlJ10sMCk7CiRlbmR0aW1lXzIgPSBta3RpbWUoJHBhcmFtc1snZW5kdGltZTJfSG91ciddLCRwYXJhbXNbJ2VuZHRpbWUyX01pbnV0ZSddLDApOwppZiggKCRzdGFydHRpbWVfMSA+PSAkc3RhcnR0aW1lXzIpIHx8ICgkZW5kdGltZV8xID49ICRlbmR0aW1lXzIpIHx8CiAgICAoJHN0YXJ0dGltZV8xID49ICRlbmR0aW1lXzEpIHx8ICgkc3RhcnRpbWVfMiA+PSAkZW5kdGltZV8yKSApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3RpbWVfc2V0dGluZ3MnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJ3ByZWZlcmVuY2VzJywnJywnYWRtaW5fc2V0dGluZ3MnKTsKICB9Cgokc3RhcnR0aW1lXzEgPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ3N0YXJ0dGltZTFfSG91ciddLCRwYXJhbXNbJ3N0YXJ0dGltZTFfTWludXRlJ10pOwokZW5kdGltZV8xID0gc3ByaW50ZignJTAyZDolMDJkJywkcGFyYW1zWydlbmR0aW1lMV9Ib3VyJ10sJHBhcmFtc1snZW5kdGltZTFfTWludXRlJ10pOwokc3RhcnR0aW1lXzIgPSBzcHJpbnRmKCclMDJkOiUwMmQnLCRwYXJhbXNbJ3N0YXJ0dGltZTJfSG91ciddLCRwYXJhbXNbJ3N0YXJ0dGltZTJfTWludXRlJ10pOwokZW5kdGltZV8yID0gc3ByaW50ZignJTAyZDolMDJkJywkcGFyYW1zWydlbmR0aW1lMl9Ib3VyJ10sJHBhcmFtc1snZW5kdGltZTJfTWludXRlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhcnR0aW1lXzEnLCRzdGFydHRpbWVfMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbmR0aW1lXzEnLCRlbmR0aW1lXzEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhcnR0aW1lXzInLCRzdGFydHRpbWVfMik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbmR0aW1lXzInLCRlbmR0aW1lXzIpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc291cmNlX3R5cGUnLHRyaW0oJHBhcmFtc1sncmVzb3VyY2VfdHlwZSddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLHRyaW0oJHBhcmFtc1snY3VycmVuY3lfc3ltYm9sJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RmbHRfaW50ZXJ2YWwnLHRyaW0oJHBhcmFtc1snZGZsdF9pbnRlcnZhbCddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZmx0X2dyYW51bGFyaXR5Jyx0cmltKCRwYXJhbXNbJ2RmbHRfZ3JhbnVsYXJpdHknXSkpOwokY2hlY2tpbl90aW1lID0gc3ByaW50ZigiJTAyZDolMDJkIiwkcGFyYW1zWydjaGVja2luX0hvdXInXSwkcGFyYW1zWydjaGVja2luX01pbnV0ZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NoZWNraW5fdGltZScsJGNoZWNraW5fdGltZSk7CiRjaGVja291dF90aW1lID0gc3ByaW50ZigiJTAyZDolMDJkIiwkcGFyYW1zWydjaGVja291dF9Ib3VyJ10sJHBhcmFtc1snY2hlY2tvdXRfTWludXRlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2hlY2tvdXRfdGltZScsJGNoZWNrb3V0X3RpbWUpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZXJyb3Jfbm9fcHJpY2VzJywoaW50KSRwYXJhbXNbJ2Vycm9yX25vX3ByaWNlcyddKTsKCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZV90eXBlcycsdHJpbSgkcGFyYW1zWydpbWFnZV90eXBlcyddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvX3RodW1ibmFpbCcsdHJpbSgkcGFyYW1zWydhdXRvX3RodW1ibmFpbCddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmaWxlX3R5cGVzJyx0cmltKCRwYXJhbXNbJ2ZpbGVfdHlwZXMnXSkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VzdG9tZXJfZ3JvdXAnLChpbnQpJHBhcmFtc1snY3VzdG9tZXJfZ3JvdXAnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJyx0cmltKCRwYXJhbXNbJ2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzdm5fZm9yZWdyb3VuZCcsJHBhcmFtc1sncmVzdm5fZm9yZWdyb3VuZCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc3ZuX2JhY2tncm91bmQnLCRwYXJhbXNbJ3Jlc3ZuX2JhY2tncm91bmQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYXJ0aWFsX2ZvcmVncm91bmQnLCRwYXJhbXNbJ3BhcnRpYWxfZm9yZWdyb3VuZCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhcnRpYWxfYmFja2dyb3VuZCcsJHBhcmFtc1sncGFydGlhbF9iYWNrZ3JvdW5kJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY29uZmxpY3RfZm9yZWdyb3VuZCcsJHBhcmFtc1snY29uZmxpY3RfZm9yZWdyb3VuZCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2JhY2tncm91bmQnLCRwYXJhbXNbJ2NvbmZsaWN0X2JhY2tncm91bmQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwZW5kaW5nX2ZvcmVncm91bmQnLCRwYXJhbXNbJ3BlbmRpbmdfZm9yZWdyb3VuZCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BlbmRpbmdfYmFja2dyb3VuZCcsJHBhcmFtc1sncGVuZGluZ19iYWNrZ3JvdW5kJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXR0YWNobWVudF9kaXInLCRwYXJhbXNbJ2F0dGFjaG1lbnRfZGlyJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbicsCgkJICAgICAkcGFyYW1zWydwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJywKCQkgICAgIChpbnQpJHBhcmFtc1sncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9mbGFnJywKCQkgICAgICRwYXJhbXNbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZyddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnLAoJCSAgICAgaW1wbG9kZSgnLCcsJHBhcmFtc1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYyddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnLAoJCSAgICAgdHJpbSgkcGFyYW1zWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9hdHRhY2htZW50JywKCQkgICAgIHRyaW0oJHBhcmFtc1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9hdHRhY2htZW50J10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZScsKGludCkkcGFyYW1zWydyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnXSk7CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fcmVxdWlyZV9kZXBvc2l0JywoaW50KSRwYXJhbXNbJ3Jlc2VydmF0aW9uX3JlcXVpcmVfZGVwb3NpdCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2RlcG9zaXRfbWluaW11bScsZmxvYXR2YWwoJHBhcmFtc1sncmVzZXJ2YXRpb25fZGVwb3NpdF9taW5pbXVtJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2RlcG9zaXRfcGVyY2VudCcsZmxvYXR2YWwoJHBhcmFtc1sncmVzZXJ2YXRpb25fZGVwb3NpdF9wZXJjZW50J10pKTsKCiRkZWZhdWx0X2NhcGFjaXR5ID0gNTA7CmlmKCBpc3NldCgkcGFyYW1zWydkZWZhdWx0X2NhcGFjaXR5J10pICkKICAkZGVmYXVsdF9jYXBhY2l0eSA9IChpbnQpJHBhcmFtc1snZGVmYXVsdF9jYXBhY2l0eSddOwppZiggJGRlZmF1bHRfY2FwYWNpdHkgPD0gMCApCiAgJGRlZmF1bHRfY2FwYWNpdHkgPSA1MDsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfY2FwYWNpdHknLCRkZWZhdWx0X2NhcGFjaXR5KTsKCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwncHJlZmVyZW5jZXMnLCcnLCdhZG1pbl9zZXR0aW5ncycpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_view_day.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBDaGVjayBQZXJtaXNzaW9ucwovLwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fVklFV1JFU1YpICYmCiAgICAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSX1JFU0VSVkFUSU9OUykgKQogIHsKICAgIGRpZSgncGVybWlzc2lvbiBkZW5pZWQnKTsKICB9CgovLwovLyBJbml0aWFsaXphdGlvbgovLwokdGhlX21vbnRoID0gZGF0ZSgnbScpOwokdGhlX2RheSAgID0gZGF0ZSgnZCcpOwokdGhlX3llYXIgID0gZGF0ZSgnWScpOwoKCi8vCi8vIEdldCBEYXRhCi8vCiRzZWxfcmVzb3VyY2VzID0gYXJyYXkoKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2RheSddKSApCiAgewogICAgJHRoZV9kYXkgPSAoaW50KSRwYXJhbXNbJ2RheSddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ21vbnRoJ10pICkKICB7CiAgICAkdGhlX21vbnRoID0gKGludCkkcGFyYW1zWydtb250aCddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3llYXInXSkgKQogIHsKICAgICR0aGVfeWVhciA9IChpbnQpJHBhcmFtc1sneWVhciddOwogIH0KCgovLwovLyBIYW5kbGUgRm9ybSBTdWJtaXNzaW9uCi8vCgoKLy8KLy8gR2l2ZSBFdmVyeXRoaW5nIHRvIFNtYXJ0eQovLwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3ZpZXdfZGF5JywkcmV0dXJuaWQsJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKCi8vCi8vIFByb2Nlc3MgVGVtcGxhdGUKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl92aWV3X2RheS50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_view_resvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgplY2hvICdUT0RPJzsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.calendar.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyAgQXZhaWxhYmlsaXR5IENhbGVuZGFyIFZpZXcgICAvLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gZnVuY3Rpb25zCi8vCmZ1bmN0aW9uIGlzX2xlYXB5ZWFyKCR5ZWFyKQp7CiAgJGYgPSAwOwogIGlmKCAkeWVhciAlIDQgPT0gMCApICRmID0gMTsKICBpZiggJHllYXIgJSAxMDAgPT0gMCApICRmID09IDA7CiAgaWYoICR5ZWFyICUgNDAwID09IDAgKSAkZiA9IDE7CiAgcmV0dXJuICRmOwp9CgpmdW5jdGlvbiBnZXRfYXJyYXlfcG9zKCRoYXlzdGFjaywkbmVlZGxlKQp7CiAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGhheXN0YWNrKTsgJGkrKyApCiAgICB7CiAgICAgIGlmKCAkaGF5c3RhY2tbJGldID09ICRuZWVkbGUgKSByZXR1cm4gJGk7CiAgICB9CiAgcmV0dXJuIEZBTFNFOwp9CgoKLy8KLy8gSW5pdGlhbGl6YXRpb24KLy8KJHRoZXRlbXBsYXRlID0gJ2NhbGVuZGFyXycuJHRoaXMtPkdldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVENBTEVOREFSX1RFTVBMQVRFKTsKJGNhdGVnb3J5PScnOwokcmVzb3VyY2VzPScnOwokc2VsX2V0eXBlcyA9IGFycmF5KCk7CiRzZWxfcmVzb3VyY2VzID0gYXJyYXkoKTsKJHNlbF9jYXRlZ29yaWVzID0gYXJyYXkoKTsKJGRheXNfaW5fbW9udGggPSBhcnJheSgzMSwgMjgsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxKTsKJHRoaXNfZGF5ID0gKGludCkoc3RyZnRpbWUoIiVkIix0aW1lKCkpKTsKJHRoaXNfbW9udGggPSAoaW50KShzdHJmdGltZSgiJW0iLHRpbWUoKSkpOwokdGhpc195ZWFyID0gaW50dmFsKHN0cmZ0aW1lKCIlWSIsdGltZSgpKSk7CiR0aGVfbW9udGggPSAkdGhpc19tb250aDsKJHRoZV9kYXkgPSAkdGhpc19kYXk7CiR0aGVfeWVhciA9ICR0aGlzX3llYXI7CiR2YWNhbnRvYmogPSBuZXcgU3RkQ2xhc3MoKTsKJHZhY2FudG9iai0+c3RhdHVzID0gJ3ZhY2FudCc7CiR2YWNhbnRvYmotPmZnID0gJyMwMDAnOyAvLyB0b2RvCiR2YWNhbnRvYmotPmJnID0gI2ZmZic7IC8vIHRvZG8KJHZhY2FudG9iai0+bGFiZWwgPSAkdGhpcy0+TGFuZygndmFjYW50Jyk7CiRyZXNlcnZlZG9iaiA9IG5ldyBTdGRDbGFzcygpOwokcmVzZXJ2ZWRvYmotPnN0YXR1cyA9ICdyZXNlcnZlZCc7CiRyZXNlcnZlZG9iai0+ZmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzdm5fZm9yZWdyb3VuZCcpOwokcmVzZXJ2ZWRvYmotPmJnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc3ZuX2JhY2tncm91bmQnKTsKJHJlc2VydmVkb2JqLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCdyZXNlcnZlZCcpOwokbGVnZW5kID0gYXJyYXkoKTsKJGxlZ2VuZFskdGhpcy0+TGFuZygndmFjYW50JyldID0gJHZhY2FudG9iajsKJGxlZ2VuZFskdGhpcy0+TGFuZygncmVzZXJ2ZWQnKV0gPSAkcmVzZXJ2ZWRvYmo7CiRncmlkID0gJyc7CiRkZXRhaWxwYXJhbXMgPSBhcnJheSgpOwoKLy8KLy8gUGFyYW1ldGVycwovLyBjYXRlZ29yeSAgICAgICAgID0gY3N2IGxpc3Qgb2YgY2F0ZWdvcnkgbmFtZXMKLy8gcmVzb3VyY2VzICAgICAgICA9IGNzdiBsaXN0IG9mIHJlc291cmNlcwovLyBtb250aCAgICAgICAgICAgID0gbW9udGggdG8gZGlzcGxheQovLyB5ZWFyICAgICAgICAgICAgID0geWVhciB0byBkaXNwbGF5Ci8vIGRldGFpbHBhZ2UgICAgICAgPSBwYWdlIGZvciBkZXRhaWwgdmlld3MKLy8gY2FsZW5kYXJ0ZW1wbGF0ZSA9IG5hbWUgb2YgY2F0ZWdvcnkgdGVtcGxhdGVvCi8vCiRkZXRhaWxwYWdlID0gJHJldHVybmlkOwppZiggaXNzZXQoJHBhcmFtc1snZGV0YWlscGFnZSddKSApCiAgewogICAgJG1hbmFnZXIgPSYgJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKICAgICRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKICAgIGlmIChpc3NldCgkbm9kZSkpCiAgICAgIHsKCSRjb250ZW50ID0mICRub2RlLT5HZXRDb250ZW50KCk7CQoJaWYgKGlzc2V0KCRjb250ZW50KSkKCSAgewoJICAgICRkZXRhaWxwYWdlID0gJGNvbnRlbnQtPklkKCk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CglpZiAoaXNzZXQoJG5vZGUpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkcGFyYW1zWydkZXRhaWxwYWdlJ107CgkgIH0KICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pICkKICB7CiAgICAkZGV0YWlscGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddID0gJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydjYWxlbmRhcnRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAnY2FsZW5kYXJfJy50cmltKCRwYXJhbXNbJ2NhbGVuZGFydGVtcGxhdGUnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkgKQogIHsKICAgICRjYXRlZ29yeT10cmltKCRwYXJhbXNbJ2NhdGVnb3J5J10pOwogIH0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1sncmVzb3VyY2VzJ10pICkKICB7CiAgICAkcmVzb3VyY2VzPXRyaW0oJHBhcmFtc1sncmVzb3VyY2VzJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3llYXInXSkgKQogIHsKICAgICR0aGVfeWVhciA9IChpbnQpJHBhcmFtc1sneWVhciddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ21vbnRoJ10pICkKICB7CiAgICAkdGhlX21vbnRoID0gKGludCkkcGFyYW1zWydtb250aCddOwogICAgaWYoICR0aGVfbW9udGggPD0gMCApCiAgICAgIHsKCSR0aGVfbW9udGggPSAxMjsKCSR0aGVfeWVhci0tOwogICAgICB9CiAgICBlbHNlIGlmICgkdGhlX21vbnRoID4gMTIpCiAgICAgIHsKCSR0aGVfbW9udGggPSAxOwoJJHRoZV95ZWFyKys7CiAgICAgIH0KICB9CgovLwovLyBTZXR1cAovLwppZiggaXNfbGVhcHllYXIoJHRoZV95ZWFyKSApCiAgewogICAgJGRheXNfaW5fbW9udGhbMV0rKzsKICB9CiRkaXNwZGF0ZSA9IG1rdGltZSgwLDAsMCwkdGhlX21vbnRoLDEsJHRoZV95ZWFyKTsKJG1vbnRoX3N0YXJ0X3UgPSBta3RpbWUoMCwwLDAsJHRoZV9tb250aCwxLCR0aGVfeWVhcik7CiRtb250aF9lbmRfdSA9IG1rdGltZSgyMyw1OSwwLCR0aGVfbW9udGgsJGRheXNfaW5fbW9udGhbJHRoZV9tb250aC0xXSwkdGhlX3llYXIpOwokbW9udGhfc3RhcnRfZGF5ID0gJGRiLT5EYlRpbWVTdGFtcCgkbW9udGhfc3RhcnRfdSk7CiRtb250aF9lbmRfZGF5ID0gJGRiLT5EYlRpbWVTdGFtcCgkbW9udGhfZW5kX3UpOwppZiggIWVtcHR5KCRjYXRlZ29yeSkgKQogIHsKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9DQVRTLicKICAgICAgICAgICAgIFdIRVJFIG5hbWUgSU4gKCc7CiAgICAkcXVlcnkgLj0gZXhwbG9kZSgnLCcsJGNhdGVnb3J5KS4nKSc7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgJHNlbF9jYXRlZ29yaWVzID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCR0bXAsJ2lkJyk7CiAgfQppZiggIWVtcHR5KCRyZXNvdXJjZXMpICkKICB7CiAgICAkc2VsX3Jlc291cmNlcyA9IGV4cGxvZGUoJywnLCRyZXNvdXJjZXMpOwogIH0KCi8vCi8vIEJ1aWxkIGEgZ3JpZCBmcm9tIHNlbGVjdGVkIGRhdGEKLy8gR3JpZCBpcyByZXNvdXJjZXMgYWNyb3NzIHRoZSB0b3AKLy8gRGF5cyBhbG9uZyB0aGUgYm90dG9tLgovLyBUaGUgMCB2YWx1ZXMgaXMgdGhlIGNvbHVtbiBhbmQgcm93IGhlYWRlcgovLyAKLy8KJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxuYW1lLHJlc19pbnRlcnZhbCxzdGFydHRpbWUxLGVuZHRpbWUxLHN0YXJ0dGltZTIsZW5kdGltZTIgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFdIRVJFIGFjdGl2ZSA9IDEnOwppZiggY291bnQoJHNlbF9jYXRlZ29yaWVzKSApCnsKICAkcXVlcnkgPSAnU0VMRUNUIGlkLG5hbWUscmVzX2ludGVydmFsLHN0YXJ0dGltZTEsZW5kdGltZTEsc3RhcnR0aW1lMixlbmR0aW1lMiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgQQogICAgICAgICAgICAgIExFRlQgSk9JTiAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0NBVFMuJyBCCiAgICAgICAgICAgICAgICBPTiBBLmlkID0gQi5yc3JjX2lkCiAgICAgICAgICAgICBXSEVSRSBhY3RpdmUgPSAxCiAgICAgICAgICAgICAgIEFORCBCLmNhdGVnb3J5X2lkIElOICgnLmltcGxvZGUoJywnLCRzZWxfY2F0ZWdvcmllcykuJyknOwp9CmVsc2UgaWYoIGNvdW50KCRzZWxfcmVzb3VyY2VzKSApCnsKICAkcXVlcnkgLj0gJyBBTkQgaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHNlbF9yZXNvdXJjZXMpLicpJzsKfQokcnNyY3MgPSAnJzsKJHJzcmNzX2luZGV4ID0gJyc7CnsKICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogIGlmKCAkdG1wICkgCiAgICB7CiAgICAgIC8vIGNhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIHNsb3RzIGZvciBlYWNoIHJlc291cmNlCiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkKCXsKCSAgJHRtcDIgPSYgJHRtcFskaV07CgkgIHN3aXRjaCgkdG1wMlsncmVzX2ludGVydmFsJ10pCgkgICAgewoJICAgIGNhc2UgJ2RhaWx5JzoKCSAgICAgICR0bXAyWydleHRfbnVtc2xvdHMnXSA9IDE7CgkgICAgICBicmVhazsKCSAgICBjYXNlICdoYWxmX2RheSc6CgkgICAgICAkdG1wMlsnZXh0X251bXNsb3RzJ10gPSAyOwoJICAgICAgYnJlYWs7CgkgICAgY2FzZSAnaG91cmx5JzoKCSAgICAgICRuc2xvdHMgPSAoaW50KSgoc3RydG90aW1lKCR0bXAyWydlbmR0aW1lMSddKSAtIHN0cnRvdGltZSgkdG1wMlsnc3RhcnR0aW1lMSddKSkgLyAzNjAwKTsKCSAgICAgICRuc2xvdHMgKz0gKGludCkoKHN0cnRvdGltZSgkdG1wMlsnZW5kdGltZTInXSkgLSBzdHJ0b3RpbWUoJHRtcDJbJ3N0YXJ0dGltZTInXSkpIC8gMzYwMCk7CgkgICAgICAkdG1wMlsnZXh0X251bXNsb3RzJ10gPSAkbnNsb3RzOwoJICAgICAgYnJlYWs7CgkgICAgfQoJfQogICAgICAkcnNyY3MgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKICAgICAgJHJzcmNzX2luZGV4ID0gYXJyYXlfa2V5cygkcnNyY3MpOwogICAgfQp9CmlmKCBpc19hcnJheSgkcnNyY3MpICYmIGNvdW50KCRyc3JjcykgKQogIHsKICAgICRncmlkID0gYXJyYXlfZmlsbCgwLCRkYXlzX2luX21vbnRoWyR0aGVfbW9udGgtMV0sYXJyYXlfZmlsbCgwLGNvdW50KCRyc3JjcykrMSwnJm5ic3A7JykpOwoKICAgIC8vCiAgICAvLyBmaWxsIHRoZSBncmlkIGxhYmVscwogICAgLy8gdG9wIHJvdwogICAgJGdyaWRbMF1bMF0gPSAkZGlzcGRhdGU7CiAgICBmb3IoICRyID0gMDsgJHIgPCBjb3VudCgkcnNyY3MpOyAkcisrICkKICAgICAgewoJJHJpZCA9ICRyc3Jjc19pbmRleFskcl07Cgkkb2JqID0gbmV3IFN0ZENsYXNzKCk7Cgkkb2JqLT51cmwgPSAkdGhpcy0+R2V0UmVzb3VyY2VEZXRhaWxVUkwoJGlkLCRkZXRhaWxwYWdlLAoJCQkJCQkkcnNyY3NbJHJpZF1bJ2lkJ10sCgkJCQkJCSRyc3Jjc1skcmlkXVsnbmFtZSddLCRkZXRhaWxwYXJhbXMpOwoJJG9iai0+bGFiZWwgPSAkcnNyY3NbJHJpZF1bJ25hbWUnXTsKCSRvYmotPmlkID0gJHJzcmNzWyRyaWRdWydpZCddOwoJJGdyaWRbMF1bJHIrMV0gPSAkb2JqOwogICAgICB9CiAgICAvLyBjb2x1bW5zCiAgICBmb3IoICRkID0gMTsgJGQgPD0gJGRheXNfaW5fbW9udGhbJHRoZV9tb250aC0xXTsgJGQrKyApCiAgICAgIHsKCS8vIHRvZG8sIHBvc3NpYmxlIGRheSB2aWV3IGxpbmsgaGVyZS4KCSRvYmogPSBuZXcgU3RkQ2xhc3MoKTsKCSRvYmotPnVybCA9ICR0aGlzLT5HZXREYXlWaWV3VVJMKCRpZCwkZGV0YWlscGFnZSwkdGhlX21vbnRoLCRkLCR0aGVfeWVhcik7Cgkkb2JqLT50aW1lID0gbWt0aW1lKDAsMCwwLCR0aGVfbW9udGgsJGQsJHRoZV95ZWFyKTsKCSRvYmotPmxhYmVsID0gJGQ7CgkkZ3JpZFskZF1bMF0gPSAkb2JqOwogICAgICB9CiAgICAKICAgIC8vCiAgICAvLyBGaWxsIHRoZSBncmlkIHZhbHVlcyB3aXRoIHZhY2FuY2llcwogICAgLy8KICAgICRzdGF0aXN0aWNzWyd0b3RhbCddID0gIChjb3VudCgkZ3JpZCktMSkqKGNvdW50KCRncmlkWzBdKS0xKTsKICAgIGZvciggJHIgPSAwOyAkciA8IGNvdW50KCRyc3Jjcyk7ICRyKysgKQogICAgICB7CgkkcmlkID0gJHJzcmNzX2luZGV4WyRyXTsKCWZvciggJGQgPSAxOyAkZCA8PSAkZGF5c19pbl9tb250aFskdGhlX21vbnRoLTFdOyAkZCsrICkKCSAgewoJICAgICRvYmogPSBjbG9uZSAkdmFjYW50b2JqOwoJICAgICRvYmotPnVybCA9ICR0aGlzLT5HZXRSZXNlcnZhdGlvblVSTCgkaWQsJHJldHVybmlkLCRyc3Jjc1skcmlkXVsnaWQnXSwkdGhlX21vbnRoLCRkLCR0aGVfeWVhcik7CgkgICAgJGdyaWRbJGRdWyRyKzFdID0gJG9iajsKCSAgfQogICAgICB9CiAgICAKICAgIC8vCiAgICAvLyBGaWxsIHRoZSBhcHByaWF0ZSBncmlkIHZhbHVlcyB3aXRoIGV2ZW50IGluZm9ybWF0aW9uCiAgICAvLwogICAgJGV2ZW50dHlwZXMgPSBhcnJheSgpOwogICAgewogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUzsKICAgICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICAgJGV2ZW50dHlwZXMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goICR0bXAsICdpZCcgKTsKICAgIH0KICAgICRldmVudHMgPSAnJzsKICAgIHsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBBLiogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMuIiBBCiAgICAgICAgICAgICBMRUZUIEpPSU4gIi5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRfVFlQRVMuIiBCCiAgICAgICAgICAgICBPTiBBLmV2ZW50X3R5cGVfaWQgPSBCLmlkCiAgICAgICAgICAgICBXSEVSRSAgICAoQS5zdGFydF9kYXRlIEJFVFdFRU4gJG1vbnRoX3N0YXJ0X2RheSBBTkQgJG1vbnRoX2VuZF9kYXkpCiAgICAgICAgICAgICAgICAgICBPUiAoQS5lbmRfZGF0ZSBCRVRXRUVOICRtb250aF9zdGFydF9kYXkgQU5EICRtb250aF9lbmRfZGF5KQogICAgICAgICAgICAgICAgICAgT1IgKEEuc3RhcnRfZGF0ZSA8PSAkbW9udGhfc3RhcnRfZGF5IEFORCBBLmVuZF9kYXRlID49ICRtb250aF9lbmRfZGF5KSI7CiAgICAgIGlmKCBjb3VudCgkc2VsX2V0eXBlcykgKQoJewoJICAkcXVlcnkgLj0gJyBBTkQgQS5ldmVudF90eXBlX2lkIElOICgnLmltcGxvZGUoJywnLCRzZWxfZXR5cGVzKS4nKSc7Cgl9CiAgICAgICRxdWVyeSAuPSAiIE9SREVSIEJZIEEuYm9va2FibGUgREVTQywgQi5pb3JkZXIgQVNDIjsKICAgICAgJGV2ZW50cyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19FVkVOVFMuJwogICAgICAgICAgICAgICAgIFdIRVJFIGV2ZW50X2lkID0gPyc7CiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRldmVudHMpOyAkaSsrICkKCXsKCSAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRldmVudHNbJGldWydpZCddKSk7CgkgIGlmKCAkdG1wICkKCSAgICB7CgkgICAgICAkZXZlbnRzWyRpXVsncnNyY3MnXSA9ICR0bXA7CgkgICAgfQoJfQogICAgfQogICAgaWYoIGlzX2FycmF5KCRldmVudHMpICYmIGNvdW50KCRldmVudHMpICkKICAgICAgewoJZm9yZWFjaCggJGV2ZW50cyBhcyAkb25lICkKCSAgewoJICAgICRyZXN2X3N0YXJ0X3UgPSAkZGItPlVuaXhUaW1lU3RhbXAoJG9uZVsnc3RhcnRfZGF0ZSddKTsKCSAgICAkcmVzdl9lbmRfdSA9ICRkYi0+VW5peFRpbWVTdGFtcCgkb25lWydlbmRfZGF0ZSddKTsKCSAgICAkcnN0YXJ0X3UgPSBtYXgoJHJlc3Zfc3RhcnRfdSwkbW9udGhfc3RhcnRfdSk7CgkgICAgJHJlbmRfdSA9IG1pbigkcmVzdl9lbmRfdSwkbW9udGhfZW5kX3UpOwoJICAgIAoJICAgICRzZGF5ID0gaW50dmFsKHN0cmZ0aW1lKCIlZCIsJHJzdGFydF91KSk7CgkgICAgJGVkYXkgPSBpbnR2YWwoc3RyZnRpbWUoIiVkIiwkcmVuZF91KSk7CgkgICAgCgkgICAgJGV0eXBlID0mICRldmVudHR5cGVzWyRvbmVbJ2V2ZW50X3R5cGVfaWQnXV07CgkgICAgCgkgICAgJG9iaiA9IG5ldyBTdGRDbGFzcygpOwoJICAgICRvYmotPmZnID0gJGV0eXBlWydjb2xvciddOwoJICAgICRvYmotPmJnID0gJGV0eXBlWydiYWNrZ3JvdW5kJ107CgkgICAgaWYoICRvbmVbJ2Jvb2thYmxlJ10gKQoJICAgICAgewoJCSRvYmotPnN0YXR1cyA9ICdldmVudCc7CgkgICAgICB9CgkgICAgZWxzZQoJICAgICAgewoJCSRvYmotPnN0YXR1cyA9ICdjbG9zZWQnOwoJICAgICAgfQoJICAgICRsZWdlbmRbJG9uZVsnbmFtZSddXSA9ICRvYmo7CgoJICAgIC8vIHRvZG8sIHBvc3NpYmxlIGxpbmsgdG8gdmlldyBldmVudC4KCSAgICAkb2JqLT5sYWJlbCA9ICRvbmVbJ25hbWUnXTsKCSAgICBpZiggaXNzZXQoJG9uZVsncnNyY3MnXSkgJiYgY291bnQoJG9uZVsncnNyY3MnXSkgKQoJICAgICAgewoJCWZvciggJGQgPSAkc2RheTsgJGQgPD0gJGVkYXk7ICRkKysgKQoJCSAgewoJCSAgICBmb3IoICRyID0gMDsgJHIgPCBjb3VudCgkb25lWydyc3JjcyddKTsgJHIrKyApCgkJICAgICAgewoJCQlpZiggaXNzZXQoJHJzcmNzX2luZGV4WyRvbmVbJ3JzcmNzJ11bJHJdWydyc3JjX2lkJ11dKSApCgkJCSAgewoJCQkgICAgJGNhYmluID0gJHJzcmNzX2luZGV4WyRvbmVbJ3JzcmNzJ11bJHJdWydyc3JjX2lkJ11dOwoJCQkgICAgJGdyaWRbJGRdWyRjYWJpbl0gPSAkb2JqOwoJCQkgIH0KCQkgICAgICB9CgkJICB9CgkgICAgICB9IAoJICB9CiAgICAgIH0KICAgIHVuc2V0KCRldmVudHMpOwoKCiAgICAvLwogICAgLy8gRmlsbCB0aGUgZ3JpZCB2YWx1ZXMgd2l0aCByZXNlcnZhdGlvbiBpbmZvcm1hdGlvbgogICAgLy8KICAgIAogICAgJHJlc3ZuID0gJyc7CiAgICB7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgRElTVElOQ1QgcmVzdl9pZCBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLiIKICAgICAgICAgICAgICAgICBXSEVSRSAoc3RhcnRfZGF0ZSBCRVRXRUVOICRtb250aF9zdGFydF9kYXkgQU5EICRtb250aF9lbmRfZGF5KSAKICAgICAgICAgICAgICAgICAgICBPUiAoZW5kX2RhdGUgQkVUV0VFTiAkbW9udGhfc3RhcnRfZGF5IEFORCAkbW9udGhfZW5kX2RheSkKICAgICAgICAgICAgICAgICBPUkRFUiBCWSByZXN2X2lkIEFTQyI7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgICRyaWRzID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCR0bXAsJ3Jlc3ZfaWQnKTsKCiAgICAgIGlmKCAkcmlkcyApCgl7CgkgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4nCiAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGlkIElOICgnLmltcGxvZGUoJywnLCRyaWRzKS4nKSc7CgkgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CgkgICRyZXN2biA9IGNnZV9hcnJheTo6dG9faGFzaCgkdG1wLCdpZCcpOwoKICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicKICAgICAgICAgICAgICAgICAgICAgV0hFUkUgcmVzdl9pZCBJTiAoJy5pbXBsb2RlKCcsJywkcmlkcykuJykKICAgICAgICAgICAgICAgICAgICAgT1JERVIgQlkgcmVzdl9pZCxzdGFydF9kYXRlIEFTQyc7CgkgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CgoJICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wKTsgJGkrKyApCgkgICAgewoJICAgICAgJHBhcnQgPSYgJHRtcFskaV07CgkgICAgICAkdHJpZCA9ICRwYXJ0WydyZXN2X2lkJ107CgkgICAgICBpZiggIWlzc2V0KCRyZXN2blskdHJpZF1bJ3BhcnRzJ10pICkKCQl7CgkJICAkcmVzdm5bJHRyaWRdWydwYXJ0cyddID0gYXJyYXkoKTsKCQl9CgkgICAgICAkcmVzdm5bJHRyaWRdWydwYXJ0cyddW10gPSAkcGFydDsKCSAgICB9Cgl9CiAgICB9CgogICAgaWYoIGlzX2FycmF5KCRyZXN2bikgJiYgY291bnQoJHJlc3ZuKSApCiAgICAgIHsKCWZvciggJHJlcyA9IDA7ICRyZXMgPCBjb3VudCgkcmVzdm4pOyAkcmVzKysgKQoJICB7CgkgICAgJG9uZXJlcyA9JiAkcmVzdm5bJHJlc107CgoJICAgIC8vIGRvbid0IGRpc3BsYXkgY2FuY2VsbGVkIHJlc2VydmF0aW9ucwoJICAgIGlmKCAkb25lcmVzWydzdGF0dXMnXSA9PSAnY2FuY2VsbGVkJyApIGNvbnRpbnVlOwoKCSAgICBmb3IoICRwbnVtID0gMDsgJHBudW0gPCBjb3VudCgkb25lcmVzWydwYXJ0cyddKTsgJHBudW0rKyApCgkgICAgICB7CgkJJG9uZXBhcnQgPSYgJG9uZXJlc1sncGFydHMnXVskcG51bV07CgkJJHRoZV9yZXNvdXJjZSA9JiAkcnNyY3NbJG9uZXBhcnRbJ3JzcmNfaWQnXV07CgkJJHJpZHggPSBnZXRfYXJyYXlfcG9zKCRyc3Jjc19pbmRleCwkb25lcGFydFsncnNyY19pZCddKSsxOyAKCgkJJHJlc3Zfc3RhcnRfdSA9ICRkYi0+VW5peFRpbWVTdGFtcCgkb25lcGFydFsnc3RhcnRfZGF0ZSddKTsKCQkkcmVzdl9lbmRfdSA9ICRkYi0+VW5peFRpbWVTdGFtcCgkb25lcGFydFsnZW5kX2RhdGUnXSk7CgkJJHJzdGFydF91ID0gbWF4KCRyZXN2X3N0YXJ0X3UsJG1vbnRoX3N0YXJ0X3UpOwoJCSRyZW5kX3UgPSBtaW4oJHJlc3ZfZW5kX3UsJG1vbnRoX2VuZF91KTsKCSAgICAKCQkkc2RheSA9IGludHZhbChzdHJmdGltZSgiJWQiLCRyc3RhcnRfdSkpOwoJCSRlZGF5ID0gaW50dmFsKHN0cmZ0aW1lKCIlZCIsJHJlbmRfdSkpOwoJCWlmKCAkZWRheSA9PSAkZGF5c19pbl9tb250aFskdGhlX21vbnRoLTFdICYmICRyZXN2X2VuZF91ID4gJG1vbnRoX2VuZF91ICkKCQkgIHsKCQkgICAgLy8gaGFjawoJCSAgICAkZWRheSsrOwoJCSAgfQoKCQlpZiggJHRoZV9yZXNvdXJjZVsncmVzX2ludGVydmFsJ10gIT0gJ2RhaWx5JyApCgkJICB7CgkJICAgICRkID0gJHNkYXk7CgoJCSAgICBpZiggaXNzZXQoJGdyaWRbJGRdWyRyaWR4XSkgJiYgCgkJCWlzX29iamVjdCgkZ3JpZFskZF1bJHJpZHhdKSAmJgoJCQkoJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID09ICd2YWNhbnQnIHx8ICRncmlkWyRkXVskcmlkeF0tPnN0YXR1cyA9PSAncGFydGlhbCcpKQoJCSAgICAgIHsKCQkJJG9iaiA9JiAkZ3JpZFskZF1bJHJpZHhdOwoJCQlpZiggIWlzc2V0KCRvYmotPm51bXBhcnRzKSApCgkJCSAgewoJCQkgICAgJG9iai0+bnVtcGFydHMgPSAxOwoJCQkgIH0KCQkJZWxzZQoJCQkgIHsKCQkJICAgICRvYmotPm51bXBhcnRzKys7CgkJCSAgfQoJCQkkb2JqLT5zdGF0dXMgPSAncGFydGlhbCc7Ci8vIAkJCSRvYmotPnVybCA9ICR0aGlzLT5HZXREYXlWaWV3VVJMKCRpZCwkZGV0YWlscGFnZSwkdGhlX21vbnRoLCRkLCR0aGVfeWVhciwKLy8gCQkJCQkJCSBhcnJheSgncnNyY2lkJz0+JG9uZXJlc1snaWQnXSkpOwoJCQkkb2JqLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCdwYXJ0aWFsbHlfcmVzZXJ2ZWRfbGJsJywkb2JqLT5udW1wYXJ0cywkdGhlX3Jlc291cmNlWydleHRfbnVtc2xvdHMnXSk7CgkJCSRvYmotPmZnID0nYmxhY2snOyAvLyB0b2RvCgkJCSRvYmotPmJnID0gJ2N5YW4nOyAvLyB0b2RvCgoJCQkkZ3JpZFskZF1bJHJpZHhdID0gJG9iajsKCQkgICAgICB9CgkJICAgIGVsc2UKCQkgICAgICB7CgkJCS8vIGNvbmZsaWN0IG9mIHNvbWUgdHlwZQoJCQkkZ3JpZFskZF1bJHJpZHhdLT5zdGF0dXMgPSAnY29uZmxpY3QnOwoJCQkkZ3JpZFskZF1bJHJpZHhdLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCdjb25mbGljdCcpOwoJCQkkZ3JpZFskZF1bJHJpZHhdLT50aXRsZSA9ICR0aGlzLT5MYW5nKCd0aXRsZV9jb25mbGljdDInKTsKCQkJJGdyaWRbJGRdWyRyaWR4XS0+ZmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29uZmxpY3RfZm9yZWdyb3VuZCcpOwoJCQkkZ3JpZFskZF1bJHJpZHhdLT5iZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb25mbGljdF9iYWNrZ3JvdW5kJyk7CgkJICAgICAgfQoKCQkgICAgLy8gaGFuZGxlIGhvdXJseSBvciBoYWxmIGRheSBwYXJ0cy4KCQkgICAgY29udGludWU7CgkJICB9CgoJCS8vIGhhbmRsZSBmdWxsIGRheSByZXNlcnZhdGlvbiBwYXJ0cy4KCQkkb2JqID0gbmV3IFN0ZENsYXNzKCk7CgkJJG9iai0+cmVzdiA9ICRvbmVyZXNbJ2lkJ107CgkJJG9iai0+ZmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzdm5fZm9yZWdyb3VuZCcpOwoJCSRvYmotPmJnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc3ZuX2JhY2tncm91bmQnKTsKCQkkb2JqLT5zdGF0dXMgPSAncmVzZXJ2ZWQnOwoJCSRvYmotPmxhYmVsID0gJHRoaXMtPkxhbmcoJ3Jlc2VydmVkJyk7CgkgICAgCgkJZm9yKCAkZCA9ICRzZGF5OyAkZCA8ICRlZGF5OyAkZCsrICkKCQkgIHsKCQkgICAgaWYoIGlzc2V0KCRncmlkWyRkXVskcmlkeF0pICYmIAoJCQlpc19vYmplY3QoJGdyaWRbJGRdWyRyaWR4XSkgJiYKCQkJKGlzc2V0KCRncmlkWyRkXVskcmlkeF0tPnJlc3YpICYmICgkZ3JpZFskZF1bJHJpZHhdLT5yZXN2ICE9ICRvbmVyZXNbJ2lkJ10pKSAmJgoJCQkoJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID09ICdwZW5kaW5nJyB8fCAkZ3JpZFskZF1bJHJpZHhdLT5zdGF0dXMgPT0gJ3Jlc2VydmVkJyB8fAoJCQkgJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID09ICdjbG9zZWQnKSApCgkJICAgICAgewoJCQkvLyBvb3BzLCBhbHJlYWR5IGEgcmVzZXJ2YXRpb24gZm9yIHRoaXMgZGF5CgkJCS8vIG5vdyB3ZSBnb3R0YSB0aGluayBhYm91dCBzb21ldGhpbmcuLi4KCQkJJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID0gJ2NvbmZsaWN0JzsKCQkJJGdyaWRbJGRdWyRyaWR4XS0+bGFiZWwgPSAkdGhpcy0+TGFuZygnY29uZmxpY3QnKTsKCQkJJGdyaWRbJGRdWyRyaWR4XS0+dGl0bGUgPSAkdGhpcy0+TGFuZygndGl0bGVfY29uZmxpY3QnLCRncmlkWyRkXVskcmlkeF0tPnJlc3YsJG9uZXJlc1snaWQnXSk7CgkJCSRncmlkWyRkXVskcmlkeF0tPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2ZvcmVncm91bmQnKTsKCQkJJGdyaWRbJGRdWyRyaWR4XS0+YmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29uZmxpY3RfYmFja2dyb3VuZCcpOwoJCSAgICAgIH0KCQkgICAgZWxzZQoJCSAgICAgIHsKCQkJJGdyaWRbJGRdWyRyaWR4XSA9ICRvYmo7CgkJICAgICAgfQoJCSAgfSAvLyBmb3IgZWFjaCBkYXkgb2YgdGhlIHJlc2VydmF0aW8KCSAgICAgIH0gLy8gZm9yIGVhY2ggcGFydAoJICB9IC8vIGZvciBlYWNoIHJlc2VydmF0aW9uCiAgICAgIH0gLy8gaWYgdGhlcmUgYXJlIHJlc2VydmF0aW9ucy4KICAgIHVuc2V0KCRyZXN2bik7CiAgfSAvLyBpZiB0aGVyZSBhcmUgcmVzb3VyY2VzCgoKLy8KLy8gR2l2ZSBkYXRhIHRvIHNtYXJ0eQovLwppZiggaXNfYXJyYXkoJGdyaWQpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2dyaWQnLCRncmlkKTsKICAgICRzbWFydHktPmFzc2lnbignbGVnZW5kJywkbGVnZW5kKTsKICB9CiRzbWFydHktPmFzc2lnbigndGhlX21vbnRoJywkdGhlX21vbnRoLTEpOwokc21hcnR5LT5hc3NpZ24oJ3RoZV95ZWFyJywkdGhlX3llYXIpOwokc21hcnR5LT5hc3NpZ24oJ2Rpc3BkYXRlJywkZGlzcGRhdGUpOwoKJHBhcm1zID0gJHBhcmFtczsKJHBhcm1zWydtb250aCddID0gJHRoZV9tb250aCAtIDE7CiRwYXJtc1sneWVhciddID0gJHRoZV95ZWFyOwokc21hcnR5LT5hc3NpZ24oJ3ByZXZtb250aF91cmwnLAoJCSR0aGlzLT5DcmVhdGVVUkwoJGlkLCdjYWxlbmRhcicsJHJldHVybmlkLCRwYXJtcykpOwokcGFybXNbJ21vbnRoJ10gPSAkdGhlX21vbnRoICsgMTsKJHBhcm1zWyd5ZWFyJ10gPSAkdGhlX3llYXI7CiRzbWFydHktPmFzc2lnbignbmV4dG1vbnRoX3VybCcsCgkJJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2NhbGVuZGFyJywkcmV0dXJuaWQsJHBhcm1zKSk7CgovLyAKLy8gRGlzcGxheSB0aGUgcGFnZQovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.confirm_resvn.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIENvbmZpcm0gUmVzZXJ2YXRpb24gUmVwb3J0IC8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gSW5pdGlhbGl6YXRpb24KLy8KaWYoICFpc3NldCgkcGFyYW1zWydyZXN2X2lkJ10pICkKICB7CiAgICAvLyBtaXNzaW5nIHBhcmFtZXRlcgogICAgcmV0dXJuOwogIH0KJHJlc3ZfaWQgPSAoaW50KSRwYXJhbXNbJ3Jlc3ZfaWQnXTsKJGZldSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggISRmZXUgKSByZXR1cm47IC8vIGNvdWxkIG5vdCBmaW5kIGZldQokY3VzdGlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwppZiggJGN1c3RpZCA8PSAwICkgCiAgewogICAgJHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbicsLTEpOwogICAgaWYoICRwYWdlICE9IC0xICkKICAgICAgewoJJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkcGFnZSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gZ290dGEgZGlzcGxheSBhIG1lc3NhZ2UKCS8vIGFuZCBleGl0CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JNZXNzYWdlKCR0aGlzLT5MYW5nKCdlcnJvcl9ub3Rsb2dnZWRpbl9mZXUnKSk7CglyZXR1cm47CiAgICAgIH0KICB9CiR0aGV0ZW1wbGF0ZSA9ICdyZXN2bmNmbV8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTkNPTkZJUk1fVEVNUExBVEUpOwppZiggaXNzZXQoJHBhcmFtc1snY29uZmlybXRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAncmVzdm5jZm1fJy50cmltKCRwYXJhbXNbJ2NvbmZpcm10ZW1wbGF0ZSddKTsKICB9CgoKLy8KLy8gU2V0dXAKLy8KCi8vCi8vIEdldCBEYXRhCi8vCiRyZXNlcnZhdGlvbiA9IHJlc2VydmF0aW9uX29wczo6bG9hZF9ieV9pZCgkcmVzdl9pZCk7CiRhcnJheV9kYXRhID0gcmVzZXJ2YXRpb25fb3BzOjp0b19hcnJheSgkcmVzZXJ2YXRpb24pOwokdXNlcm9iaiA9JiAkdGhpcy0+R2V0VXNlck9iamVjdCgkY3VzdGlkKTsKaWYoICRyZXNlcnZhdGlvbi0+Z2V0X2N1c3RvbWVyX2lkKCkgIT0gJGN1c3RpZCApCiAgewogICAgZWNobyAkdGhpcy0+RGlzcGxheUVycm9yTWVzc2FnZSgkdGhpcy0+TGFuZygnZXJyb3JfcGVybWlzc2lvbicpKTsKICAgIHJldHVybjsKICB9CiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTOwokdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwokYXJyYXlfZGF0YVsncmVzb3VyY2VzJ10gPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKCi8vCi8vIEdpdmUgZGF0YSB0byBzbWFydHkKLy8KJHNtYXJ0eS0+YXNzaWduKCd1c2VyaW5mbycsJHVzZXJvYmopOwokc21hcnR5LT5hc3NpZ24oJ3Jlc2VydmF0aW9uJywkYXJyYXlfZGF0YSk7CgovLwovLyBEaXNwbGF5IHRoZSB0ZW1wbGF0ZQovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.dayview.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgppZiggIWlzc2V0KCRwYXJhbXNbJ3llYXInXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ21vbnRoJ10pIHx8ICFpc3NldCgkcGFyYW1zWydkYXknXSkgKQogIHsKICAgIHJldHVybjsKICB9CgovLy8vLy8vLy8vLy8vLy8KLy8gIERheSBWaWV3IC8vCi8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gU2V0dXAKLy8KJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiRyc3JjaWQgPSAtMTsKJGNoZWNraW5fdGltZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjaGVja2luX3RpbWUnLCcxNDowMCcpOwpsaXN0KCRob3VycywkbWludXRlcykgPSBleHBsb2RlKCc6JywkY2hlY2tpbl90aW1lLDIpOwokbWludXRlcyArPSAxNTsKJHRoZV9yZXNvdXJjZSA9ICcnOwoKLy8KLy8gUGFyYW1ldGVycwovLyBkYXkgPSB0aGUgZGF5Ci8vIG1vbnRoID0gdGhlIG1vbnRoCi8vIHllYXIgPSB0aGUgeWVhcgovLyByc3JjaWQgKG9wdGlvbmFsKSA9IHRoZSByZXNvdXJjZSBpZAovLyBkYXl0ZW1wbGF0ZSAob3B0aW9uYWwpID0gdGhlIGRheSB2aWV3IHRlbXBsYXRlIHRvIHVzZQovLwokdGhldGVtcGxhdGUgPSAnZGF5XycuJHRoaXMtPkdldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVERBWV9URU1QTEFURSk7CmlmKCBpc3NldCgkcGFyYW1zWydkYXl0ZW1wbGF0ZSddKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gJ2RheV8nLnRyaW0oJHBhcmFtc1snZGF5dGVtcGxhdGUnXSk7CiAgfQokeWVhciA9IChpbnQpJHBhcmFtc1sneWVhciddOwokbW9udGggPSAoaW50KSRwYXJhbXNbJ21vbnRoJ107CiRkYXkgPSAoaW50KSRwYXJhbXNbJ2RheSddOwppZiggaXNzZXQoJHBhcmFtc1sncnNyY2lkJ10pICkKICB7CiAgICAkcnNyY2lkID0gKGludCkkcGFyYW1zWydyc3JjaWQnXTsKICB9CgoKLy8KLy8gQ2FsY3VsYXRpb25zCi8vCiRkYmRhdGVfdXQgPSBta3RpbWUoJGhvdXJzLCRtaW51dGVzLDAsJG1vbnRoLCRkYXksJHllYXIpOwokZGJkYXRlID0gJGRiLT5EYlRpbWVTdGFtcCgkZGJkYXRlX3V0KTsKCgovLwovLyBHZXQgdGhlIGRhdGEKLy8KaWYoICRyc3JjaWQgPiAwICkKICB7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFdIRVJFIGFjdGl2ZSA9IDEgQU5EIGlkID0gPyc7CiAgICAkcnNyYyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkcnNyY2lkKSk7CgogICAgaWYoICFpc19hcnJheSggJHJzcmMgKSApCiAgICAgIHsKCXJldHVybjsKICAgICAgfQoKICAgIHsKICAgICAgJHRtcCA9ICR0aGlzLT5HZXRGaWVsZHNGb3JSc3JjKCRyc3JjaWQpOwogICAgICBpZiggJHRtcCApCgl7CgkgICR0bXAyID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ25hbWUnKTsKCSAgJHJzcmNbJ2ZpZWxkcyddID0gJHRtcDI7Cgl9CiAgICAgICR0bXAgPSAkdGhpcy0+R2V0QXR0cmlidXRlc0ZvclJzcmMoJHJzcmNpZCk7CiAgICAgIGlmKCAkdG1wICkKCXsKCSAgJHJzcmNbJ2F0dHJpYnMnXSA9ICR0bXA7Cgl9CiAgICAgICRyc3JjWydmaWxlX2xvY2F0aW9uJ10gPSAkY29uZmlnWyd1cGxvYWRzX3VybCddLicvJy4kdGhpcy0+R2V0TmFtZSgpLicvcmVzb3VyY2VzXycuJHJzcmNpZDsKICAgICAgCiAgICAgICR0aGVfcmVzb3VyY2UgPSAkcnNyYzsKICAgIH0KICB9CgoKJHFwYXJtcyA9IGFycmF5KCk7CiRxdWVyeSA9ICdTRUxFQ1QgRS4qLEVULiogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMuJyBFCiAgICAgICAgICAgIExFRlQgSk9JTiAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUy4nIEVUCiAgICAgICAgICAgICAgT04gRS5ldmVudF90eXBlX2lkID0gRVQuaWQnOwppZiggJHJzcmNpZCA+IDAgKQogIHsKICAgICRxdWVyeSAuPSAnIExFRlQgSk9JTiAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0VWRU5UUy4nIFJFCiAgICAgICAgICAgICAgICAgT04gRS5pZCA9IFJFLmV2ZW50X2lkJzsKICB9CiRxdWVyeSAuPSAiIFdIRVJFIChFLnN0YXJ0X2RhdGUgPCAkZGJkYXRlIEFORCBFLmVuZF9kYXRlID4gJGRiZGF0ZSkKICAgICAgICAgICAgICBBTkQgRS5ib29rYWJsZSA9IDEiOwppZiggJHJzcmNpZCA+IDAgKQogIHsKICAgICRxdWVyeSAuPSAnIEFORCBSRS5yc3JjX2lkID0gPyc7CiAgICAkcXBhcm1zW10gPSAkcnNyY2lkOwogIH0KJGRhdGEgPSAkZGItPkdldEFycmF5KCRxdWVyeSwkcXBhcm1zKTsKaWYoIGNvdW50KCRkYXRhKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdldmVudHMnLCRkYXRhKTsKICB9CgoKLy9TRUxFQ1QgUlMuKiBGUk9NIGNtc19tb2R1bGVfYXZhaWxhYmlsaXR5X3JzcmNzIFJTIFdIRVJFIFJTLmlkIElOIChTRUxFQ1QgRElTVElOQ1QgUlAucnNyY19pZCBGUk9NIGNtc19tb2R1bGVfYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9ucyBSIExFRlQgSk9JTiBjbXNfbW9kdWxlX2F2YWlsYWJpbGl0eV9yZXNlcnZhdGlvbl9wYXJ0cyBSUCBPTiBSLmlkID0gUlAucmVzdl9pZCBXSEVSRSAoUi5zdGFydF9kYXRlIDwgJzIwMDktMDQtMDggMTQ6MTU6MDAnIEFORCBSLmVuZF9kYXRlID4gJzIwMDktMDQtMDggMTQ6MTU6MDAnKSk7CgoKLy8gR2V0IHRoZSBsaXN0IG9mIGZyZWUgcmVzb3VyY2VzIGZvciB0aGlzIGRheQokcXBhcm1zID0gYXJyYXkoKTsKJHF1ZXJ5ID0gJ1NFTEVDVCBSUy4qIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBSUyAKICAgICAgICAgICBXSEVSRSBSUy5hY3RpdmUgPSAxCiAgICAgICAgICAgICBBTkQgUlMuaWQgTk9UIElOIChTRUxFQ1QgRElTVElOQ1QgUlAucnNyY19pZCBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4nIFIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTEVGVCBKT0lOICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLiIgUlAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPTiBSLmlkID0gUlAucmVzdl9pZCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSBSLnN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTkQgKFIuc3RhcnRfZGF0ZSA8ICRkYmRhdGUgQU5EIFIuZW5kX2RhdGUgPiAkZGJkYXRlKSkiOwokZGF0YSA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LCRxcGFybXMpOwppZiggY291bnQoJGRhdGEpICkKICB7CiAgICAvLyB0aHNlIHJlc291cmNlcyBhcmUgbm90IGJvb2tlZAogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrICkKICAgICAgewoJJHJzcmMgPSYgJGRhdGFbJGldOwoJJHRoZV9yc3JjaWQgPSAkcnNyY1snaWQnXTsKCgkkdG1wID0gJHRoaXMtPkdldEZpZWxkc0ZvclJzcmMoJHRoZV9yc3JjaWQpOwoJaWYoICR0bXAgKQoJICB7CgkgICAgJHRtcDIgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnbmFtZScpOwoJICAgICRyc3JjWydmaWVsZHMnXSA9ICR0bXAyOwoJICB9CgkkdG1wID0gJHRoaXMtPkdldEF0dHJpYnV0ZXNGb3JSc3JjKCR0aGVfcnNyY2lkKTsKCWlmKCAkdG1wICkKCSAgewoJICAgICRyc3JjWydhdHRyaWJzJ10gPSAkdG1wOwoJICB9CgkkcnNyY1snZmlsZV9sb2NhdGlvbiddID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldE5hbWUoKS4nL3Jlc291cmNlc18nLiR0aGVfcnNyY2lkOwogICAgICB9CgogICAgJGRhdGEgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJGRhdGEsJ2lkJyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Jlc291cmNlcycsJGRhdGEpOwogIH0KCiMgYSkgZ2V0IHRoZSBldmVudHMgaW4gZWZmZWN0IGZvciB0aGlzIGRhdGUKIyBhLjEpIGZvciB0aGlzIHJlc291cmNlPwojIGlmIHJzcmNpZCBpcyBlbXB0eQojICAgZ2V0IHRoZSBmcmVlIHJvb21zCiMgZWxzZQojICAgZ2V0IHRoZSBzdGF0dXMgb2YgdGhpcyByb29tCgovLwovLyBHaXZlIHRoZSBkYXRhIHRvIHNtYXJ0eQovLwokc21hcnR5LT5hc3NpZ24oJ3RoZV9kYXRlJywkZGJkYXRlX3V0KTsKaWYoICRyc3JjaWQgPiAwICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3RoZV9yZXNvdXJjZScsJHRoZV9yZXNvdXJjZSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3JzcmNpZCcsJHJzcmNpZCk7CiAgfQoKLy8KLy8gUHJvY2VzcyB0aGUgdGVtcGxhdGUKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIFJlc291cmNlIFN1bW1hcnkgVmlldyAgIC8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gUGFyYW1ldGVyczoKLy8gY2F0ZWdvcnk9Y3N2IGxpc3Qgb2YgY2F0ZWdvcnkgbmFtZXMKLy8gcGFnZWxpbWl0PW51bWJlciBvZiByb29tcyBvbiBhIHBhZ2UKLy8gc29ydGJ5PW5hbWUscHJpY2UKLy8gc29ydG9yZGVyPWRlc2MsYXNjCi8vIHBhZ2VudW0KLy8gc2hvd2FsbD0xCi8vIHN1bW1hcnl0ZW1wbGF0ZT1ibGFoCi8vCgovLwovLyBJbml0aWFsaXphdGlvbgovLwokYXR0cmlidXRlPScnOwokZGF0YV9hdHRyaWJ1dGVzID0gJyc7CiRwYWdlbGltaXQ9MjU7CiRzb3J0Ynk9J25hbWUnOwokc29ydG9yZGVyPSdBU0MnOwokc3RhcnRlbGVtZW50ID0gMDsKJHBhZ2VudW09MTsKJHNob3dhbGw9MDsKJHRoZXRlbXBsYXRlID0gJ3N1bW1hcnlfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUU1VNTUFSWV9URU1QTEFURSk7CiRkZXRhaWxwYXJhbXMgPSBhcnJheSgpOwokc3BlY2lmeSA9ICcnOwoKCi8vCi8vIEhhbmRsZSBJbnB1dCBQYXJhbWV0ZXJzCi8vCiRlcnJvciA9ICcnOwppZiggaXNzZXQoJHBhcmFtc1snYXZhaWxfc3BlY2lmeSddKSApCiAgewogICAgJHNwZWNpZnkgPSB0cmltKCRwYXJhbXNbJ2F2YWlsX3NwZWNpZnknXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snYXR0cmlidXRlJ10pICkKewogICRhdHRyaWJ1dGUgPSB0cmltKCRwYXJhbXNbJ2F0dHJpYnV0ZSddKTsKICAvLyBjYW4gYmUgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdAogIC8vIGdvdHRhIGdldCBiYWNrIHRoZSBJRCdzLgogICRkYXRhX2F0dHJpYnV0ZXMgPSAkdGhpcy0+R2V0QXR0cmlidXRlSURzKCRhdHRyaWJ1dGUpOwp9CmlmKCBpc3NldCgkcGFyYW1zWydwYWdlbGltaXQnXSkgKQp7CiAgJHBhZ2VsaW1pdCA9IChpbnQpJHBhcmFtc1sncGFnZWxpbWl0J107CiAgJHBhZ2VsaW1pdCA9IG1heCgxLCRwYWdlbGltaXQpOwogICRwYWdlbGltaXQgPSBtaW4oMTAwMCwkcGFnZWxpbWl0KTsKfQppZiggaXNzZXQoJHBhcmFtc1snc2hvd2FsbCddKSApCnsKICAkc2hvd2FsbCA9IDE7Cn0KaWYoIGlzc2V0KCRwYXJhbXNbJ3BhZ2VudW0nXSkgKQp7CiAgJHBhZ2VudW0gPSAoaW50KSRwYXJhbXNbJ3BhZ2VudW0nXTsKICAkcGFnZW51bSA9IG1heCgxLCRwYWdlbnVtKTsKICAkc3RhcnRlbGVtZW50ID0gKCRwYWdlbnVtLTEpICogJHBhZ2VsaW1pdDsKfQppZiggaXNzZXQoJHBhcmFtc1snc29ydGJ5J10pICkKewogIHN3aXRjaCggJHBhcmFtc1snc29ydGJ5J10gKQogICAgewogICAgY2FzZSAnbmFtZSc6CiAgICBjYXNlICdwcmljZSc6CiAgICAgICRzb3J0YnkgPSAkcGFyYW1zWydzb3J0YnknXTsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfdmFsdWUnKTsKICAgICAgYnJlYWs7CiAgICB9Cn0KaWYoIGlzc2V0KCRwYXJhbXNbJ3NvcnRvcmRlciddKSApCnsKICBzd2l0Y2goIHN0cnRvdXBwZXIoJHBhcmFtc1snc29ydG9yZGVyJ10pICkKICAgIHsKICAgIGNhc2UgJ0FTQyc6CiAgICBjYXNlICdERVNDJzoKICAgICAgJHNvcnRvcmRlciA9IHN0cnRvdXBwZXIoJHBhcmFtc1snc29ydG9yZGVyJ10pOwogICAgICBicmVhazsKICAgIGRlZmF1bHQ6CiAgICAgICRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX3ZhbHVlJyk7CiAgICB9Cn0KJGRldGFpbHBhZ2UgPSAkcmV0dXJuaWQ7CmlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pICkKICB7CiAgICAkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogICAgaWYgKGlzc2V0KCRub2RlKSkKICAgICAgewoJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsJCglpZiAoaXNzZXQoJGNvbnRlbnQpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkY29udGVudC0+SWQoKTsKCSAgfQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCWlmIChpc3NldCgkbm9kZSkpCgkgIHsKCSAgICAkZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCSAgfQogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSkgKQogIHsKICAgICRkZXRhaWxwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10gPSAkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3N1bW1hcnl0ZW1wbGF0ZSddKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gJ3N1bW1hcnlfJy50cmltKCRwYXJhbXNbJ3N1bW1hcnl0ZW1wbGF0ZSddKTsKICB9CgovLwovLyBCdWlsZCB0aGUgcXVlcmllcwovLwokd2hlcmUgPSBhcnJheSgpOwokam9pbnMgPSBhcnJheSgpOwokcXBhcm1zID0gYXJyYXkoKTsKJHF1ZXJ5YyA9ICdTRUxFQ1QgY291bnQocnMuaWQpIEFTIGNvdW50IEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBycyc7CiRxdWVyeTEgPSAnU0VMRUNUIHJzLiogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIHJzJzsKaWYoICFlbXB0eSgkc3BlY2lmeSkgKQogIHsKICAgICR3aGVyZVtdID0gJ3JzLmlkIElOICgnLiRzcGVjaWZ5LicpJzsKICB9CgppZiggaXNfYXJyYXkoJGRhdGFfYXR0cmlidXRlcykgJiYgY291bnQoJGRhdGFfYXR0cmlidXRlcykgKQp7CiAgJGpvaW5zW10gPSAnTEVGVCBKT0lOICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTX0NBVFMuJyByYwogICAgICAgICAgICAgICAgT04gcnMuaWQgPSByYy5yc3JjX2lkJzsKICAkd2hlcmVbXSA9ICdyYy5jYXRlZ29yeV9pZCBJTiAoJy5pbXBsb2RlKCcsJywkZGF0YV9hdHRyaWJ1dGVzKS4nKSc7Cn0KCi8vIEZpbmFsIGFzc2VtYmx5CmlmKCBjb3VudCgkam9pbnMpICkKewogIGZvcmVhY2goICRqb2lucyBhcyAkb25lICkKICAgIHsKICAgICAgJHF1ZXJ5YyAuPSAnICcuJG9uZTsKICAgICAgJHF1ZXJ5MSAuPSAnICcuJG9uZTsKICAgIH0KfQppZiggY291bnQoJHdoZXJlKSApCnsKICAkcXVlcnljIC49ICcgV0hFUkUgJy5pbXBsb2RlKCcgQU5EICcsJHdoZXJlKTsKICAkcXVlcnkxIC49ICcgV0hFUkUgJy5pbXBsb2RlKCcgQU5EICcsJHdoZXJlKTsKfQokcXVlcnkxIC49ICIgT1JERVIgQlkgJHNvcnRieSAkc29ydG9yZGVyIjsKCgovLwovLyBHZXQgVGhlIENvdW50IG9mIHJlY29yZHMKLy8KJHRvdGFsY291bnQgPSAkZGItPkdldE9uZSgkcXVlcnljLCRxcGFybXMpOwoKLy8KLy8gU2V0dXAgUGFnaW5hdGlvbgovLwokcGFnZWNvdW50ID0gKGludCkoJHRvdGFsY291bnQgLyAkcGFnZWxpbWl0KTsKaWYoICgkdG90YWxjb3VudCAlICRwYWdlbGltaXQpID4gMCApCiAgewogICAgJHBhZ2Vjb3VudCsrOwogIH0KCgovLwovLyBBbmQgZ2V0IHRoZSBkYXRhCi8vCiRkYnIgPSAkZGItPlNlbGVjdExpbWl0KCRxdWVyeTEsJHBhZ2VsaW1pdCwkc3RhcnRlbGVtZW50LCRxcGFybXMpOwppZiggJGRiciApCiAgewogICAgJGRhdGEgPSBhcnJheSgpOwogICAgd2hpbGUoICRkYnIgJiYgJHJvdyA9ICRkYnItPkZldGNoUm93KCkgKQogICAgICB7CgkvLyBHZXQgdGhlIHJvdwoJJHJvd1snZmlsZV9sb2NhdGlvbiddID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldE5hbWUoKS4nL3Jlc291cmNlc18nLiRyb3dbJ2lkJ107Cgkkcm93WydhdHRyaWJzJ10gPSAkdGhpcy0+R2V0QXR0cmlidXRlc0ZvclJzcmMoJHJvd1snaWQnXSk7Cgkkcm93WydhdHRyaWJzX2J5bmFtZSddID0gY2dlX2FycmF5Ojp0b19oYXNoKCRyb3dbJ2F0dHJpYnMnXSwnbmFtZScpOwoJewoJICAkdG1wID0gJHRoaXMtPkdldEZpZWxkc0ZvclJzcmMoJHJvd1snaWQnXSk7CgkgICRyb3dbJ2ZpZWxkcyddID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ25hbWUnKTsKCX0KCSRyb3dbJ2ZpZWxkc19ieW5hbWUnXSA9IGNnZV9hcnJheTo6dG9faGFzaCgkcm93WydmaWVsZHMnXSwnbmFtZScpOwoJJHJvd1snZGV0YWlsX3VybCddID0gJHRoaXMtPkdldFJlc291cmNlRGV0YWlsVVJMKCRpZCwkZGV0YWlscGFnZSwkcm93WydpZCddLCRyb3dbJ25hbWUnXSwkZGV0YWlscGFyYW1zKTsKCgkkZGF0YVtdID0gJHJvdzsKICAgICAgfQoKICAgIGlmKCBjb3VudCgkZGF0YSkgKQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJ3JzcmNzJywkZGF0YSk7CiAgICAgIH0KICB9CgoKLy8KLy8gUGFnaW5hdGlvbiBMaW5rcyBhbmQgRGF0YQovLwokc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsJHBhZ2Vjb3VudCk7CiRzbWFydHktPmFzc2lnbigncGFnZW51bScsJHBhZ2VudW0pOwppZiggJHBhZ2VudW0gPiAxICkKICB7CiAgICAkcGFyYW1zWydwYWdlbnVtJ10gPSAxOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2VfdXJsJywKCQkgICAgJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiAgICAkcGFyYW1zWydwYWdlbnVtJ10gPSAkcGFnZW51bSAtIDE7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlX3VybCcsCgkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHBhcmFtcykpOwogIH0KaWYoICRwYWdlbnVtIDwgJHBhZ2Vjb3VudCApCiAgewogICAgJHBhcmFtc1sncGFnZW51bSddID0gJHBhZ2Vjb3VudDsKICAgICRzbWFydHktPmFzc2lnbignbGFzdHBhZ2VfdXJsJywKCQkgICAgJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiAgICAkcGFyYW1zWydwYWdlbnVtJ10gPSAkcGFnZW51bSsxOwogICAgJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZV91cmwnLAoJCSAgICAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCRwYXJhbXMpKTsKICB9CgoKLy8KLy8gUHJvY2VzcyBUZW1wbGF0ZQovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBUaGUgdG9wIG5hdiBiYXIKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSB8fAogICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpIHx8CiAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKICB7CiAgICBlY2hvICc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgd2lkdGg6IDgwJTsiPic7CiAgICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKICAgICAgewoJZWNobyAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRtaW5fc2V0dGluZ3MnLCRyZXR1cm5pZCwKCQkJCSAgICAkdGhpcy0+TGFuZygnbGJsX3NldHRpbmdzJyksCgkJCQkgICAgJ2ljb25zL3RvcGZpbGVzL3ByZWZlcmVuY2VzLmdpZicsYXJyYXkoKSwnJywnJyxmYWxzZSk7CiAgICAgIH0KICAgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgKQogICAgICB7CgllY2hvICR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCdhZG1pbl90ZW1wbGF0ZXMnLCRyZXR1cm5pZCwKCQkJCSAgICAkdGhpcy0+TGFuZygnbGJsX3RlbXBsYXRlcycpLAoJCQkJICAgICdpY29ucy90b3BmaWxlcy90ZW1wbGF0ZS5naWYnLGFycmF5KCksJycsJycsZmFsc2UpOwogICAgICB9CiAgICBlY2hvICc8L2Rpdj48YnIvPic7CiAgfQoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU0VSVkFUSU9OUykgfHwKICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fVklFV1JFU1YpKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2FsZW5kYXInLAogICAgICAgICAgICR0aGlzLT5MYW5nKCdsYmxfY2FsZW5kYXInKS4nJm5ic3A7Jy4KCQkJICAgICAkdGhpcy0+RGlzcGxheUltYWdlKCdjYWxlbmRhci5wbmcnKSk7CiAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3Jlc2VydmF0aW9ucycsCgkgICAkdGhpcy0+TGFuZygnbGJsX3Jlc2VydmF0aW9ucycpLicmbmJzcDsnLgoJCQkgICAgICR0aGlzLT5EaXNwbGF5SW1hZ2UoJ2Nsb2NrLnBuZycpKTsKICB9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU09VUkNFUykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVzb3VyY2VzJywKCSAgJHRoaXMtPkdldFJlc291cmNlVHlwZSh0cnVlKS4nJm5ic3A7Jy4kdGhpcy0+RGlzcGxheUltYWdlKCdwYWNrYWdlLnBuZycpKTsKICB9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0VWRU5UUykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZXZlbnRzJywKCSAgJHRoaXMtPkxhbmcoJ2xibF9ldmVudHMnKS4nJm5ic3A7Jy4kdGhpcy0+RGlzcGxheUltYWdlKCdmbGFnX2dyZWVuLnBuZycpKTsKICB9CmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCi8vIFRoZSBjb250ZW50IG9mIHRoZSB0YWJzCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpIHx8CiAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1ZJRVdSRVNWKSkKICB7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignY2FsZW5kYXInLCRwYXJhbXMpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2NhbGVuZGFyX3RhYi5waHAnKTsKICAgIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdyZXNlcnZhdGlvbnMnLCRwYXJhbXMpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3Jlc2VydmF0aW9uc190YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU09VUkNFUykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdyZXNvdXJjZXMnLCRwYXJhbXMpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3Jlc291cmNlc190YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0VWRU5UUykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdldmVudHMnLCRwYXJhbXMpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2V2ZW50c190YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9CmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhaXNzZXQoJHBhcmFtc1sncnNyY2lkJ10pICkgcmV0dXJuOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIFJlc291cmNlIERldGFpbCBWaWV3ICAgLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vCi8vIFNldHVwCi8vCiRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwoKLy8KLy8gUGFyYW1ldGVycwovLyBkZXRhaWx0ZW1wbGF0ZSAtIHRoZSBkZXRhaWwgdGVtcGxhdGUKLy8gcnNyY2lkID0gdGhlIHJlc291cmNlIGlkCi8vCiRyc3JjaWQgPSAoaW50KSRwYXJhbXNbJ3JzcmNpZCddOwokdGhldGVtcGxhdGUgPSAnZGV0YWlsXycuJHRoaXMtPkdldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVERFVEFJTF9URU1QTEFURSk7CmlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gJ2RldGFpbF8nLnRyaW0oJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSk7CiAgfQoKLy8KLy8gR2V0IHRoZSBkYXRhCi8vCgovLyB0aGUgcmVzb3VyY2UKJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxuYW1lLGRlc2NyaXB0aW9uLGJhc2VfcHJpY2UgCiAgICAgICAgICAgIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyAKICAgICAgICAgICBXSEVSRSBhY3RpdmUgPSAxIEFORCBpZCA9ID8nOwokcnNyYyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkcnNyY2lkKSk7CmlmKCAkcnNyYyApCiAgewogICAgJHRtcCA9ICR0aGlzLT5HZXRGaWVsZHNGb3JSc3JjKCRyc3JjaWQpOwogICAgaWYoICR0bXAgKQogICAgICB7CgkkdG1wMiA9IGNnZV9hcnJheTo6dG9faGFzaCgkdG1wLCduYW1lJyk7CgkkcnNyY1snZmllbGRzJ10gPSAkdG1wMjsKICAgICAgfQogICAgJHRtcCA9ICR0aGlzLT5HZXRBdHRyaWJ1dGVzRm9yUnNyYygkcnNyY2lkKTsKICAgIGlmKCAkdG1wICkKICAgICAgewoJJHJzcmNbJ2F0dHJpYnMnXSA9ICR0bXA7CiAgICAgIH0KICAgICRkZXN0dXJsID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldE5hbWUoKS4nL3Jlc291cmNlc18nLiRyc3JjaWQ7CiAgICAKICAgIC8vIHByaWNlcwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19QUklDRVMuJyAKICAgICAgICAgICBXSEVSRSByc3JjX2lkID0gPyc7CiAgICAkcHJpY2VzID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRyc3JjaWQpKTsKICAgIGlmKCAkcHJpY2VzICkKICAgICAgewoJJHJzcmNbJ3ByaWNlcyddID0gJHByaWNlczsKICAgICAgfQoKICAgIC8vCiAgICAvLyBHaXZlIGl0IHRvIHNtYXJ0eQogICAgLy8KICAgICRzbWFydHktPmFzc2lnbigncnNyYycsJHJzcmMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWxlX2xvY2F0aW9uJywkZGVzdHVybCk7CiAgfQoKLy8gV2UncmUgZG9uZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.json_check_avail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgpkZWJ1Z190b19sb2coJ3Rlc3QnKTsKJGRhdGEgPSBqc29uX2RlY29kZSgkX1BPU1RbJ2RhdGEnXSwgdHJ1ZSk7CgokcmVzID0gYXJyYXkoKTsKJHJlc1sncmVzdWx0J10gPSAnc3VjY2Vzcyc7CiRyZXNbJ21lc3NhZ2UnXSA9ICcnOwoKLy8gY2hlY2sgaW5wdXQgcGFyYW1hcwpkZWJ1Z190b19sb2coJ2JlZm9yZScpOwpkZWJ1Z190b19sb2coJy0tLS0tLScpOwpkZWJ1Z190b19sb2coJGRhdGEpOwppZiggIWlzc2V0KCRkYXRhWydyc3JjX2lkJ10pIHx8ICFpc3NldCgkZGF0YVsnc3RhcnRfZGF0ZSddKSApCiAgewogICAgJHJlc1sncmVzdWx0J10gPSAnZXJyb3InOwogICAgJHJlc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudF9wYXJhbXMnKTsKICB9CmVsc2UKICB7CiAgICAkc3RhcnRfZGF0ZSA9ICcnOwogICAgJGVuZF9kYXRlID0gJyc7CiAgICB7CiAgICAgICRzdG1wID0gbmV3IGNnZV9kYXRlKCRkYXRhWydzdGFydF9kYXRlJ10pOwogICAgICAkc3RtcC0+c2V0X3NlY29uZHMoMCk7CiAgICAgICRzdGFydF9kYXRlID0gJHN0bXAtPnRvX3RpbWVzdGFtcCgpOwoKICAgICAgaWYoIGlzc2V0KCRkYXRhWydlbmRfZGF0ZSddKSApCgl7CgkgICRldG1wID0gbmV3IGNnZV9kYXRlKCRkYXRhWydlbmRfZGF0ZSddKTsKCSAgJGV0bXAtPnNldF9zZWNvbmRzKDApOwoJICAkZW5kX2RhdGUgPSAkZXRtcC0+dG9fdGltZXN0YW1wKCk7Cgl9CiAgICB9CgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBXSEVSRSBpZCA9ID8nOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkZGF0YVsncnNyY19pZCddKSk7CiAgICBpZiggJHJvdyApCiAgICAgIHsKCS8vIGNoZWNrIGZvciBjYXBhY2l0eSBwcm9ibGVtcy4uLi4gdG9kby4KCgkvLyBhZGp1c3QgdGhlIGVuZCB0aW1lIGJhc2VkIG9uIHRoZSBpbnRlcnZhbAoJc3dpdGNoKCRyb3dbJ3Jlc19pbnRlcnZhbCddKQoJICB7CgkgIGNhc2UgJ2RhaWx5JzoKCSAgICB7CgkgICAgICBsaXN0KCRzdGFydF9kYXRlLCRlbmRfZGF0ZSkgPSAkdGhpcy0+QWRqdXN0UmVzZXJ2YXRpb25QYXJ0SW50ZXJ2YWwyKCRyb3csJHN0YXJ0X2RhdGUsJGVuZF9kYXRlKTsKCgkgICAgICAvLyBiYXNpYyBjaGVja3MKCSAgICAgIGlmKCAkc3RhcnRfZGF0ZSA+PSAkZW5kX2RhdGUgKQoJCXsKCQkgIC8vIGludmFsaWQgZGF0ZSB2YWx1ZXMKCQkgICRyZXNbJ3Jlc3VsdCddID0gJ2Vycm9yJzsKCQkgICRyZXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX2RhdGVzJyk7CgkJfQoJICAgICAgJHJlc1snc3RhcnRfZGF0ZSddID0gJHN0YXJ0X2RhdGU7CgkgICAgICAkcmVzWydlbmRfZGF0ZSddID0gJGVuZF9kYXRlOwoJICAgIH0KCSAgICBicmVhazsKCgkgIGNhc2UgJ2hvdXJseSc6CgkgICAgewoJICAgICAgbGlzdCgkc3RhcnRfZGF0ZSwkZW5kX2RhdGUpID0gJHRoaXMtPkFkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsMigkcm93LCRzdGFydF9kYXRlLCRlbmRfZGF0ZSk7CgkgICAgICAkc3RhcnQxX3RzID0gY2dlX2RhdGVfdXRpbHM6OnRzX3NldF90aW1lX2Zyb21fc3RyKCRzdGFydF9kYXRlLCRyb3dbJ3N0YXJ0dGltZTEnXSk7CgkgICAgICAkZW5kMV90cyA9IGNnZV9kYXRlX3V0aWxzOjp0c19zZXRfdGltZV9mcm9tX3N0cigkc3RhcnRfZGF0ZSwkcm93WydlbmR0aW1lMSddKTsKCSAgICAgICRzdGFydDJfdHMgPSBjZ2VfZGF0ZV91dGlsczo6dHNfc2V0X3RpbWVfZnJvbV9zdHIoJHN0YXJ0X2RhdGUsJHJvd1snc3RhcnR0aW1lMiddKTsKCSAgICAgICRlbmQyX3RzID0gY2dlX2RhdGVfdXRpbHM6OnRzX3NldF90aW1lX2Zyb21fc3RyKCRzdGFydF9kYXRlLCRyb3dbJ2VuZHRpbWUyJ10pOwoKCSAgICAgIGRlYnVnX3RvX2xvZygnc3RhcnRfZGF0ZSA9ICcuJHN0YXJ0X2RhdGUpOwoJICAgICAgZGVidWdfdG9fbG9nKCdlbmRfZGF0ZSA9ICcuJGVuZF9kYXRlKTsKCSAgICAgIGRlYnVnX3RvX2xvZygnc3RhcnQxX3RzID0gJy4kc3RhcnQxX3RzKTsKCSAgICAgIGRlYnVnX3RvX2xvZygnZW5kMV90cyA9ICcuJGVuZDFfdHMpOwoJICAgICAgZGVidWdfdG9fbG9nKCdzdGFydDJfdHMgPSAnLiRzdGFydDJfdHMpOwoJICAgICAgZGVidWdfdG9fbG9nKCdlbmQyX3RzID0gJy4kZW5kMl90cyk7CgoJICAgICAgLy8gYmFzaWMgY2hlY2tzCgkgICAgICBpZiggKCRzdGFydF9kYXRlIDwgJHN0YXJ0MV90cykgfHwKCQkgICgkc3RhcnRfZGF0ZSA+PSAkZW5kMV90cyAmJiAkc3RhcnRfZGF0ZSA8ICRzdGFydDJfdHMpIHx8CgkJICAoJHN0YXJ0X2RhdGUgPiAkZW5kMl90cykgfHwKCQkgICgkZW5kX2RhdGUgPiAkZW5kMV90cyAmJiAkZW5kX2RhdGUgPCAkc3RhcnQyX3RzICkgfHwKICAJCSAgKCRlbmRfZGF0ZSA8ICRzdGFydF9kYXRlKSB8fAoJCSAgKCRlbmRfZGF0ZSA+ICRlbmQyX3RzKSApCgkJewoJCSAgLy8gaW52YWxpZCBkYXRlIHZhbHVlcwoJCSAgJHJlc1sncmVzdWx0J10gPSAnZXJyb3InOwoJCSAgJHJlc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfZGF0ZXMnKTsKCQl9CgkgICAgICBlbHNlCgkJewoJCSAgLy8gY2hlY2sgdG8gbWFrZSBzdXJlIHdlJ3JlIHN0YXJ0aW5nIG9uIHRoZSBwcm9wZXIgaW50ZXJ2YWwuCgkJICAkb2Zmc2V0ID0gMDsKCQkgIHN3aXRjaCgkcm93WydncmFudWxhcml0eSddKQoJCSAgICB7CgkJICAgIGNhc2UgJ3F1YXJ0ZXJfaG91cic6CgkJICAgICAgJG9mZnNldCA9IDE1OwoJCSAgICAgIGJyZWFrOwoJCSAgICBjYXNlICdoYWxmX2hvdXInOgoJCSAgICAgICRvZmZzZXQgPSAzMDsKCQkgICAgICBicmVhazsKCQkgICAgY2FzZSAnaG91cic6CgkJICAgICAgJG9mZnNldCA9IDYwOwoJCSAgICAgIGJyZWFrOwoJCSAgICB9CgkJICBkZWJ1Z190b19sb2coJ2dyYW51bGFyaXR5ID0gJy4kb2Zmc2V0KTsKCQkgIAoJCSAgJHRtcCA9ICRzdGFydDFfdHM7CgkJICBpZiggJHN0YXJ0X2RhdGUgPj0gJHN0YXJ0Ml90cyApCgkJICAgIHsKCQkgICAgICAkdG1wID0gJHN0YXJ0Ml90czsKCQkgICAgfQoJCSAgJHJlbSA9ICgkc3RhcnRfZGF0ZSAtICR0bXApICUgKCRvZmZzZXQqNjApOwoJCSAgZGVidWdfdG9fbG9nKCd0bXAgPSAnLiR0bXAuJyByZW0gPSAnLiRyZW0pOwoJCSAgaWYoICRyZW0gPiAwICkKCQkgICAgewoJCSAgICAgIC8vIGludmFsaWQgZGF0ZSB2YWx1ZXMKCQkgICAgICAkcmVzWydyZXN1bHQnXSA9ICdlcnJvcic7CgkJICAgICAgJHJlc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfZGF0ZXMnKTsKCQkgICAgfQoJCX0KCgkgICAgICAkcmVzWydzdGFydF9kYXRlJ10gPSAkc3RhcnRfZGF0ZTsKCSAgICAgICRyZXNbJ2VuZF9kYXRlJ10gPSAkZW5kX2RhdGU7CgkgICAgfQoJICAgIGJyZWFrOwoKCSAgY2FzZSAnaGFsZl9kYXknOgoJICAgIGlmKCAhaXNzZXQoJGRhdGFbJ21lcmlkaWFuJ10pICkKCSAgICAgIHsKCQkkcmVzWydyZXN1bHQnXSA9ICdlcnJvcic7CgkJJHJlc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudF9wYXJhbXMnKTsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJbGlzdCgkc3RhcnRfZGF0ZSwkZW5kX2RhdGUpID0gJHRoaXMtPkFkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsMigkcm93LCRzdGFydF9kYXRlLCRlbmRfZGF0ZSwkZGF0YVsnbWVyaWRpYW4nXSk7CgkJJHJlc1snc3RhcnRfZGF0ZSddID0gJHN0YXJ0X2RhdGU7CgkJJHJlc1snZW5kX2RhdGUnXSA9ICRlbmRfZGF0ZTsKCSAgICAgIH0KCSAgICBicmVhazsKCSAgfQogICAgICB9CgogICAgaWYoICRyZXNbJ3Jlc3VsdCddID09ICdzdWNjZXNzJyApCiAgICAgIHsKCSRub3cgPSB0aW1lKCk7CglpZiggKCRlbmRfZGF0ZSA8PSAkbm93KSB8fCAoJHN0YXJ0X2RhdGUgPCAkbm93ICYmICRlbmRfZGF0ZSA+ICRub3cpICkKCSAgewoJICAgICRyZXNbJ3Jlc3VsdCddID0gJ3N0YXJ0ZWQnOwoJICAgICRyZXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl90aW1lcGVyaW9kX3N0YXJ0ZWQnKTsKCSAgfQogICAgICB9CgogICAgaWYoICRyZXNbJ3Jlc3VsdCddID09ICdzdWNjZXNzJyApCiAgICAgIHsKCS8vIG5vdyByZWFsbHkgY2hlY2sgZm9yIGNvbmZsaWN0cwoJJHJlc2VydmF0aW9uID0gYXJyYXkoKTsKCSRwYXJ0ID0gYXJyYXkoKTsKCSRwYXJ0Wydyc3JjX2lkJ10gPSAkZGF0YVsncnNyY19pZCddOwoJJHBhcnRbJ3N0YXJ0X2RhdGUnXSA9ICRzdGFydF9kYXRlOwoJJHBhcnRbJ2VuZF9kYXRlJ10gPSAkZW5kX2RhdGU7CgkkcGFydFsnbnVtX3Blb3BsZSddID0gbWF4KDEsJGRhdGFbJ251bV9wZW9wbGUnXSk7CgkkcmVzZXJ2YXRpb25bJ3BhcnRzJ10gPSBhcnJheSgkcGFydCk7CgkKCS8vIDEuICBDaGVjayBmb3IgY29uZmxpY3RzCgkkZXJyID0gJHRoaXMtPkNoZWNrUmVzZXJ2YXRpb25Db25mbGljdHMoJHJlc2VydmF0aW9uKTsKCWlmKCAkZXJyICkKCSAgewoJICAgICRyZXNbJ3Jlc3VsdCddID0gJ2NvbmZsaWN0JzsKCSAgICAkcmVzWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfcmVzZXJ2YXRpb25fY29uZmxpY3QnKTsKCSAgfQogICAgICB9CgogICAgaWYoICRyZXNbJ3Jlc3VsdCddID09ICdzdWNjZXNzJyApCiAgICAgIHsKCSRyZXNbJ3Jlc3VsdCddID0gJ2F2YWlsYWJsZSc7CgkkcGFydHMgPSAnJzsKCSRyZXNbJ3ByaWNlJ10gPSAkdGhpcy0+Q2FsY3VsYXRlUmVzZXJ2YXRpb25QcmljZSgkcmVzZXJ2YXRpb24sJHBhcnRzKTsKCWlmKCAhY291bnQoJHBhcnRzKSB8fCAkcmVzWydwcmljZSddID09PSBGQUxTRSApCgkgIHsKCSAgICAkcmVzWydyZXN1bHQnXSA9ICdlcnJvcic7CgkgICAgJHJlc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NhbGN1bGF0ZV9wcmljZScpOwoJICB9CiAgICAgIH0KICB9CgppZiggaXNzZXQoJHJlc1snc3RhcnRfZGF0ZSddKSApCiAgewogICAgJHJlc1snc3RhcnRfZGF0ZSddID0gc3RyZnRpbWUoJyVtLyVkLyVZICVIOiVNJywkcmVzWydzdGFydF9kYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRyZXNbJ2VuZF9kYXRlJ10pICkKICB7CiAgICAkcmVzWydlbmRfZGF0ZSddID0gc3RyZnRpbWUoJyVtLyVkLyVZICVIOiVNJywkcmVzWydlbmRfZGF0ZSddKTsKICB9CgpkZWJ1Z190b19sb2coJ2FmdGVyJyk7CmRlYnVnX3RvX2xvZygnLS0tLS0tJyk7CmRlYnVnX3RvX2xvZygkcmVzKTsKLy8gcG9zdCBwcm9jZXNzaW5nCnByaW50IGpzb25fZW5jb2RlKCRyZXMpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.json_resvn_deposit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGF0YSA9IGpzb25fZGVjb2RlKCRfUE9TVFsnZGF0YSddLCB0cnVlKTsKCiRyZXMgPSBhcnJheSgpOwokcmVzWydyZXN1bHQnXSA9ICdzdWNjZXNzJzsKJHJlc1sndmFsdWUnXSA9ICRkYXRhWydwcmljZSddOwoKaWYoICFpc3NldCgkZGF0YVsncHJpY2UnXSkgKQogIHsKICAgICRyZXNbJ3Jlc3VsdCddID0gJ2Vycm9yJzsKICB9CmVsc2UgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9yZXF1aXJlX2RlcG9zaXQnKSAmJiAkZGF0YVsncHJpY2UnXSA+IDAgKQogIHsKICAgICRyZXNbJ3ZhbHVlJ10gPSAkZGF0YVsncHJpY2UnXTsKCiAgICAkcmVzWydwZXJjJ10gPSBmbG9hdHZhbCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fZGVwb3NpdF9wZXJjZW50JywnMS4wJykpOwogICAgJHJlc1sndmFsdWUnXSA9ICRkYXRhWydwcmljZSddICogJHJlc1sncGVyYyddOwoKICAgICRyZXNbJ21pbmRlcCddID0gZmxvYXR2YWwoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc2VydmF0aW9uX2RlcG9zaXRfbWluaW11bScsJzAuMCcpKTsKCiAgICAkcmVzWyd2YWx1ZSddID0gbWF4KCRyZXNbJ21pbmRlcCddLCRyZXNbJ3ZhbHVlJ10pOwogICAgJHJlc1sndmFsdWUnXSA9IG1pbigkcmVzWydtaW5kZXAnXSwkZGF0YVsncHJpY2UnXSk7CiAgfQoKcHJpbnQganNvbl9lbmNvZGUoJHJlcyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.json_rsrc_info.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGF0YSA9IGpzb25fZGVjb2RlKCRfUE9TVFsnZGF0YSddLCB0cnVlKTsKCiRyZXMgPSBhcnJheSgpOwokcmVzWydyZXN1bHQnXSA9ICdlcnJvcl9hJzsKaWYoIGlzc2V0KCRkYXRhWydyc3JjX2lkJ10pICkKICB7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFdIRVJFIGlkID0gPyc7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRkYXRhWydyc3JjX2lkJ10pKTsKICAgIGlmKCAkcm93ICkKICAgICAgewoJJHJlc1sncmVzdWx0J10gPSAnc3VjY2Vzcyc7Cgkkcm93WydyZXNfaW50ZXJ2YWxfdHh0J10gPSAkdGhpcy0+TGFuZygkcm93WydyZXNfaW50ZXJ2YWwnXSk7Cgkkcm93WydncmFudWxhcml0eV90eHQnXSA9ICR0aGlzLT5MYW5nKCRyb3dbJ2dyYW51bGFyaXR5J10pOwoJJHJvd1snc3VtbWFyeSddID0gJHRoaXMtPkdldFJlc291cmNlU3VtbWFyeSgkcm93KTsKCSRyZXMgPSBhcnJheV9tZXJnZSgkcmVzLCRyb3cpOwogICAgICB9CiAgICAkcmVzWydkYXRhJ10gPSAkZGF0YVsncnNyY19pZCddOwogIH0KCnByaW50IGpzb25fZW5jb2RlKCRyZXMpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.myreservations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIFZpZXcgTXkgUmVzZXJ2YXRpb25zIC8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gSW5pdGlhbGl6YXRpb24KLy8KJGZldSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggISRmZXUgKSByZXR1cm47IC8vIGNvdWxkIG5vdCBmaW5kIGZldQokY3VzdGlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwppZiggJGN1c3RpZCA8PSAwICkgCiAgewogICAgJHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbicsLTEpOwogICAgaWYoICRwYWdlICE9IC0xICkKICAgICAgewoJJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkcGFnZSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gZ290dGEgZGlzcGxheSBhIG1lc3NhZ2UKCS8vIGFuZCBleGl0CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JNZXNzYWdlKCR0aGlzLT5MYW5nKCdlcnJvcl9ub3Rsb2dnZWRpbl9mZXUnKSk7CglyZXR1cm47CiAgICAgIH0KICB9CiR0aGV0ZW1wbGF0ZSA9ICdteXJlc3ZfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUTVlSRVNWX1RFTVBMQVRFKTsKJHNvcnRieSA9ICdzdGFydF9kYXRlJzsKJHNvcnRvcmRlciA9ICdBU0MnOwokZGV0YWlscGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnLC0xKTsKaWYoICRkZXRhaWxwYWdlID09IC0xICkKICB7CiAgICAkZGV0YWlscGFnZSA9ICRyZXR1cm5pZDsKICB9CiRzaG93YWxsID0gMDsKCi8vCi8vIFBhcmFtZXRlcnMKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ215cmVzdnRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAnbXlyZXN2XycudHJpbSgkcGFyYW1zWydteXJlc3Z0ZW1wbGF0ZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzb3J0YnknXSkgKQogIHsKICAgIHN3aXRjaCgkcGFyYW1zWydzb3J0YnknXSkKICAgICAgewogICAgICBjYXNlICdzdGFydF9kYXRlJzoKICAgICAgY2FzZSAnZW5kX2RhdGUnOgogICAgICBjYXNlICdwcmljZSc6CiAgICAgIGNhc2UgJ251bV9wZW9wbGUnOgogICAgICBjYXNlICdjcmVhdGVfZGF0ZSc6CiAgICAgIGNhc2UgJ21vZGlmaWVkX2RhdGUnOgoJJHNvcnRieSA9ICRwYXJhbXNbJ3NvcnRieSddOwogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc29ydG9yZGVyJ10pICkKICB7CiAgICAkdG1wID0gc3RydG91cHBlcigkcGFyYW1zWydzb3J0b3JkZXInXSk7CiAgICBzd2l0Y2goJHRtcCkKICAgICAgewogICAgICBjYXNlICdBU0MnOgogICAgICBjYXNlICdERVNDJzoKCSRzb3J0b3JkZXIgPSAkdG1wOwogICAgICB9CiAgfQppZiggaXNzZXQoJHBhcmFtc1snZGV0YWlscGFnZSddKSApCiAgewogICAgJG1hbmFnZXIgPSYgJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKICAgICRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKICAgIGlmIChpc3NldCgkbm9kZSkpCiAgICAgIHsKCSRjb250ZW50ID0mICRub2RlLT5HZXRDb250ZW50KCk7CQoJaWYgKGlzc2V0KCRjb250ZW50KSkKCSAgewoJICAgICRkZXRhaWxwYWdlID0gJGNvbnRlbnQtPklkKCk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CglpZiAoaXNzZXQoJG5vZGUpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkcGFyYW1zWydkZXRhaWxwYWdlJ107CgkgIH0KICAgICAgfQogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3Nob3dhbGwnXSkgKQogIHsKICAgICRzaG93YWxsID0gMTsKICB9CgovLwovLyBTZXR1cAovLwoKCi8vCi8vIEdhdGhlciB0aGUgZGF0YQovLwokd2hlcmUgPSBhcnJheSgpOwokcXBhcm1zID0gYXJyYXkoKTsKJHF1ZXJ5ID0gJ1NFTEVDVCBBLmlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLicgQQogICAgICAgICAgICBMRUZUIEpPSU4gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJyBCCiAgICAgICAgICAgICAgT04gQS5pZCA9IEIucmVzdl9pZCc7CiR3aGVyZVtdID0gJ0EuY3VzdG9tZXJfaWQgPSA/JzsKJHFwYXJtc1tdID0gJGN1c3RpZDsKJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKaWYoICRzaG93YWxsID09IDAgKQogIHsKICAgICR3aGVyZVtdID0gIkIuc3RhcnRfZGF0ZSA+ICRub3ciOwogIH0KaWYoIGNvdW50KCR3aGVyZSkgKQogIHsKICAgICRxdWVyeSAuPSAiIFdIRVJFICIuaW1wbG9kZSgiIEFORCAiLCR3aGVyZSk7CiAgfQokcXVlcnkgLj0gIiBPUkRFUiBCWSAkc29ydGJ5ICRzb3J0b3JkZXIiOwokcmVzdm5faWRzID0gJGRiLT5HZXRDb2woJHF1ZXJ5LGFycmF5KCRjdXN0aWQpKTsKCiRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwokdXJsID0gJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvJy4kdGhpcy0+R2V0TmFtZSgpLicvaWNvbnMnOwokcmVzdm5zID0gYXJyYXkoKTsKJG5vdyA9IHRpbWUoKTsKZm9yZWFjaCggJHJlc3ZuX2lkcyBhcyAkb25lX2lkICkKewogICRyZXN2biA9IHJlc2VydmF0aW9uX29wczo6bG9hZF9ieV9pZCgkb25lX2lkKTsKICAkcmVzdm5zW10gPSByZXNlcnZhdGlvbl9vcHM6OnRvX2FycmF5KCRyZXN2bik7Cn0KZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHJlc3Zucyk7ICRpKysgKQogIHsKICAgICRwYXJhbXNbJ3Jlc3ZfaWQnXSA9ICRyZXN2bnNbJGldWydpZCddOwogICAgJHByZXR0eV91cmwgPSAkdGhpcy0+R2V0UmVzb3VyY2VUeXBlKCkuIi92aWV3cmVzdm4vJGRldGFpbHBhZ2UveyRyZXN2bnNbJGldWydpZCddfSI7CiAgICAkc3RhcnRfdXQgPSAkZGItPlVuaXhUaW1lU3RhbXAoJHJlc3Zuc1skaV1bJ3N0YXJ0X2RhdGUnXSk7CiAgICBpZiggJHN0YXJ0X3V0ID4gdGltZSgpICkKICAgICAgewoJJHJlc3Zuc1skaV1bJ2VkaXRfdXJsJ10gPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnYWRkcmVzdm4nLCRkZXRhaWxwYWdlLAoJCQkJCQkgICAkcGFyYW1zLGZhbHNlLCRwcmV0dHlfdXJsKTsKCSRyZXN2bnNbJGldWydlbWFpbF91cmwnXSA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdzZW5kZW1haWwnLCRkZXRhaWxwYWdlLAoJCQkJCQkgICAgJHBhcmFtcyk7CgoJJHJlc3Zuc1skaV1bJ2VtYWlsX2ljb24nXSA9ICR0aGlzLT5EaXNwbGF5SW1hZ2UoIiR1cmwvZW1haWwucG5nIiwkdGhpcy0+TGFuZygnc2VuZF9lbWFpbCcpKTsKCSRyZXN2bnNbJGldWydlZGl0X2ljb24nXSA9ICR0aGlzLT5EaXNwbGF5SW1hZ2UoIiR1cmwvY2FsZW5kYXJfZWRpdC5wbmciLCR0aGlzLT5MYW5nKCdlZGl0JykpOwogICAgICB9CiAgfQoKLy8KLy8gR2l2ZSBpdCB0byBzbWFydHkKLy8KaWYoIGNvdW50KCRyZXN2bnMpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Jlc2VydmF0aW9ucycsJHJlc3Zucyk7CiAgfQoKLy8KLy8gRGlzcGxheSB0aGUgVGVtcGxhdGUKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gIFNlYXJjaCBGb3JtIFZpZXcgIC8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8KLy8gUGFyYW1ldGVyczoKLy8gc2VhcmNodGVtcGxhdGU9YmxhaAovLyBzdW1tYXJ5dGVtcGxhdGU9YmxhaAovLyBkZXRhaWx0ZW1wbGF0ZT1ibGFoCi8vIHN1bW1hcnlwYWdlPWFsaWFzCi8vIGRldGFpbHBhZ2U9YWxpYXMKLy8gc3RhcnRkYXRlCi8vIGVuZGRhdGUKLy8gaW5saW5lCi8vIAoKLy8KLy8gSW5pdGlhbGl6YXRpb24KLy8KJHRoZXRlbXBsYXRlID0gJ2FkdnNlYXJjaGZvcm1fJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUQURWU0VBUkNIRk9STV9URU1QTEFURSk7CiRzdW1tYXJ5cGFyYW1zID0gYXJyYXkoKTsKJHN1bW1hcnlwYWdlID0gJHJldHVybmlkOwokaW5saW5lPTA7CiRzdGFydGRhdGUgPSB0aW1lKCk7CiRlbmRkYXRlID0gc3RydG90aW1lKCcrMSBtb250aCcsJHN0YXJ0ZGF0ZSk7CiRzZWFyY2hwYXJtcyA9IGFycmF5KCk7CgovLwovLyBIYW5kbGUgSW5wdXQgUGFyYW1ldGVycwovLwppZiggaXNzZXQoJHBhcmFtc1snc2VhcmNodGVtcGxhdGUnXSkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9ICdhZHZzZWFyY2hmb3JtXycudHJpbSgkcGFyYW1zWydzZWFyY2h0ZW1wbGF0ZSddKTsKICAgIHVuc2V0KCRwYXJhbXNbJ3NlYXJjaHRlbXBsYXRlJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2lubGluZSddKSApCiAgewogICAgJGlubGluZSA9IChpbnQpJHBhcmFtc1snaW5saW5lJ107CiAgICB1bnNldCgkcGFyYW1zWydpbmxpbmUnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSkgKQogIHsKICAgICRpbmxpbmUgPSAwOwogICAgJHN1bW1hcnlwYWdlID0gJHRoaXMtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSk7CiAgICB1bnNldCgkcGFyYW1zWydzdW1tYXJ5cGFnZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzdGFydGRhdGUnXSkgKQogIHsKICAgICRzdGFydGRhdGUgPSBzdHJ0b3RpbWUodHJpbSgkcGFyYW1zWydzdGFydGRhdGUnXSkpOwogICAgJGVuZGRhdGUgPSBzdHJ0b3RpbWUoJysxIG1vbnRoJywkc3RhcnRkYXRlKTsKICAgIHVuc2V0KCRwYXJhbXNbJ3N0YXJ0ZGF0ZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydlbmRkYXRlJ10pICkKICB7CiAgICAkZW5kZGF0ZSA9IHN0cnRvdGltZSh0cmltKCRwYXJhbXNbJ2VuZGRhdGUnXSkpOwogICAgdW5zZXQoJHBhcmFtc1snZW5kZGF0ZSddKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snYXZhaWxfc3VibWl0J10pICkKICB7CiAgICAvLwogICAgLy8gU3VibWl0IGhhcyBiZWVuIHByZXNzZWQKICAgIC8vCgogICAgLy8gCiAgICAvLyBHYXRoZXIgZm9ybSBwYXJhbWV0ZXJzCiAgICAvLwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2F2YWlsX3N0YXJ0ZGF0ZV9Nb250aCddKSApCiAgICAgIHsKCSRzdGFydGRhdGUgPSBta3RpbWUoMCwwLDAsCgkJCSAgICAoaW50KSRwYXJhbXNbJ2F2YWlsX3N0YXJ0ZGF0ZV9Nb250aCddLAoJCQkgICAgKGludCkkcGFyYW1zWydhdmFpbF9zdGFydGRhdGVfRGF5J10sCgkJCSAgICAoaW50KSRwYXJhbXNbJ2F2YWlsX3N0YXJ0ZGF0ZV9ZZWFyJ10pOwoJJGVuZGRhdGUgPSBzdHJ0b3RpbWUoJysxIG1vbnRoJywkc3RhcnRkYXRlKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCgkcGFyYW1zWydhdmFpbF9lbmRkYXRlX01vbnRoJ10pICkKICAgICAgewoJJGVuZGRhdGUgPSBta3RpbWUoMCwwLDAsCgkJCSAgICAoaW50KSRwYXJhbXNbJ2F2YWlsX2VuZGRhdGVfTW9udGgnXSwKCQkJICAgIChpbnQpJHBhcmFtc1snYXZhaWxfZW5kZGF0ZV9EYXknXSwKCQkJICAgIChpbnQpJHBhcmFtc1snYXZhaWxfZW5kZGF0ZV9ZZWFyJ10pOwogICAgICB9CiAgICAkc2VhcmNocGFybXNbJ3N0YXJ0ZGF0ZSddID0gJHN0YXJ0ZGF0ZTsKICAgICRzZWFyY2hwYXJtc1snZW5kZGF0ZSddID0gJGVuZGRhdGU7CgogICAgLy8KICAgIC8vIERvIHRoZSBzZWFyY2gKICAgIC8vCiAgICAkcmVzID0gJHRoaXMtPkRvQWR2YW5jZWRTZWFyY2goJHNlYXJjaHBhcm1zKTsKICAgIGlmKCAkcmVzICkKICAgICAgewoJJHBhcmFtc1snYXZhaWxfc3BlY2lmeSddID0gaW1wbG9kZSgnLCcsJHJlcyk7CgoJLy8gZGlzcGxheSB0aGUgb3V0cHV0CgllY2hvICR0aGlzLT5Eb0FjdGlvbignZGVmYXVsdCcsJGlkLCRwYXJhbXMsJHN1bW1hcnlwYWdlKTsKICAgICAgfQogICAgcmV0dXJuOwogIH0KCi8vCi8vIEdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKLy8KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ3NlYXJjaCcsJHN1bW1hcnlwYWdlLCRwYXJhbXMsJGlubGluZSkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0ZGF0ZScsJHN0YXJ0ZGF0ZSk7CiRzbWFydHktPmFzc2lnbignZW5kZGF0ZScsJGVuZGRhdGUpOwoKLy8KLy8gUHJvY2VzcyBUZW1wbGF0ZQovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.sendemail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgoKLy8gCi8vIEluaXRpYWxpemF0aW9uCi8vCmlmKCAhaXNzZXQoJHBhcmFtc1sncmVzdl9pZCddKSApCiAgewogICAgZWNobyAkdGhpcy0+RGlzcGxheUVycm9yTWVzc2FnZSgkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInKSk7CiAgICByZXR1cm47CiAgfQokcmVzdl9pZCA9IChpbnQpJHBhcmFtc1sncmVzdl9pZCddOwokZmV1ID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCAhJGZldSApIHJldHVybjsgLy8gY291bGQgbm90IGZpbmQgZmV1CiRjdXN0aWQgPSAkZmV1LT5Mb2dnZWRJbklkKCk7CmlmKCAkY3VzdGlkIDw9IDAgKSAKICB7CiAgICAkcGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJywtMSk7CiAgICBpZiggJHBhZ2UgIT0gLTEgKQogICAgICB7CgkkdGhpcy0+UmVkaXJlY3RDb250ZW50KCRwYWdlKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkvLyBnb3R0YSBkaXNwbGF5IGEgbWVzc2FnZQoJLy8gYW5kIGV4aXQKCWVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvck1lc3NhZ2UoJHRoaXMtPkxhbmcoJ2Vycm9yX25vdGxvZ2dlZGluX2ZldScpKTsKCXJldHVybjsKICAgICAgfQogIH0KJHRoZXRlbXBsYXRlID0gJ3NlbmRlbWFpbF8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRTRU5ERU1BSUxfVEVNUExBVEUpOwokZW1haWx0ZW1wbGF0ZSA9ICdjdXN0ZW1haWxfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUQ1VTVEVNQUlMX1RFTVBMQVRFKTsKJHN1YmplY3QgPSAnJzsKJGJvZHkgPSAnJzsKJGNjbXlzZWxmID0gJyc7CiRzdGF0dXMgPSAnJzsKJG1lc3NhZ2UgPSAnJzsKCi8vCi8vIFBhcmFtZXRlcnMKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ3NlbmRlbWFpbHRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSAnc2VuZGVtYWlsXycudHJpbSgkcGFyYW1zWydzZW5kZW1haWx0ZW1wbGF0ZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydlbWFpbHRlbXBsYXRlJ10pICkKICB7CiAgICAkZW1haWx0ZW1wbGF0ZSA9ICdjdXN0ZW1haWxfJy50cmltKCRwYXJhbXNbJ2VtYWlsdGVtcGxhdGUnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snYXZhaWxfYm9keSddKSApCiAgewogICAgJGJvZHkgPSB0cmltKCRwYXJhbXNbJ2F2YWlsX2JvZHknXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snYXZhaWxfc3ViamVjdCddKSApCiAgewogICAgJHN1YmplY3QgPSB0cmltKCRwYXJhbXNbJ2F2YWlsX3N1YmplY3QnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snYXZhaWxfY2NteXNlbGYnXSkgKQogIHsKICAgICRjY215c2VsZiA9IChpbnQpJHBhcmFtc1snYXZhaWxfY2NteXNlbGYnXTsKICB9CgovLwovLyBTZXR1cAovLwoKCi8vCi8vIFByb2Nlc3MgZm9ybSBkYXRhCi8vCmlmKCBpc3NldCgkcGFyYW1zWydhdmFpbF9zdWJtaXQnXSkgKQogIHsKICAgIC8vCiAgICAvLyBkYXRhIHZhbGlkYXRpb24KICAgIC8vCiAgICBpZiggZW1wdHkoJHN1YmplY3QpICkKICAgICAgewoJJHN0YXR1cyA9ICdlcnJvcic7CgkkbWVzc2FnZSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX3BhcmFtZXRlcicpOwogICAgICB9CiAgICBlbHNlIGlmKCBlbXB0eSgkYm9keSkgKQogICAgICB7Cgkkc3RhdHVzID0gJ2Vycm9yJzsKCSRtZXNzYWdlID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdfcGFyYW1ldGVyJyk7CiAgICAgIH0KCiAgICBpZiggZW1wdHkoJHN0YXR1cykgKQogICAgICB7Cgkkc21hcnR5LT5hc3NpZ24oJ3Jlc3ZfaWQnLCRyZXN2X2lkKTsKCSRzbWFydHktPmFzc2lnbignc3ViamVjdCcsJHN1YmplY3QpOwoJJHNtYXJ0eS0+YXNzaWduKCdib2R5JywkYm9keSk7CgkkbXNnc3ViamVjdCA9IHNwcmludGYoJHRoaXMtPkxhbmcoJ3N1YmplY3RfZW1haWxfZm9yX3Jlc2VydmF0aW9uJywkcmVzdl9pZCkpOwoJJG1zZ2JvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCRlbWFpbHRlbXBsYXRlKTsKCWlmKCBlbXB0eSgkbXNnYm9keSkgKQoJICB7CgkgICAgZWNobyAkdGhpcy0+RGlzcGxheUVycm9yTWVzc2FnZSgkdGhpcy0+TGFuZygnZXJyb3JfaW50ZXJuYWxjb25maWcnKSk7CgkgICAgcmV0dXJuOwoJICB9CgkKCS8vIFNlbmQgdGhlIGVtYWlsICh0ZXh0IG9ubHkpCgkkY2N1c2VycyA9ICR0aGlzLT5HZXRBZG1pbkNDTGlzdCgpOwoJJG15ZW1haWwgPSAkZmV1LT5HZXRFbWFpbCgkY3VzdGlkKTsKCWlmKCBlbXB0eSgkbXllbWFpbCkgKQoJICB7CgkgICAgZWNobyAkdGhpcy0+RGlzcGxheUVycm9yTWVzc2FnZSgkdGhpcy0+TGFuZygnZXJyb3Jfbm9fY3VzdG9tZXJfZW1haWwnKSk7CgkgICAgcmV0dXJuOwoJICB9CglpZiggZW1wdHkoJGNjdXNlcnMpICkKCSAgewoJICAgIC8vIGlmIHRoZSBjY3VzZXJzIGxpc3QgaXMgZW1wdHksIHRoZXJlJ3Mgbm9ib2R5CgkgICAgLy8gdG8gc2VuZCB0aGUgZW1haWwgdG8uCgkgICAgJHN0YXR1cyA9ICdlcnJvcic7CgkgICAgJG1lc3NhZ2UgPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9lbWFpbGFkZHJlc3MnKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJG1haWxlciA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ2Ntc21haWxlcicpOwoJICAgICRtYWlsZXItPnJlc2V0KCk7CgkgICAgJG1haWxlci0+SXNIVE1MKHRydWUpOwoJICAgICRtYWlsZXItPlNldFN1YmplY3QoJG1zZ3N1YmplY3QpOwoJICAgICRtYWlsZXItPlNldEJvZHkoJG1zZ2JvZHkpOwoJICAgICRtYWlsZXItPkFkZFJlcGx5VG8oJG15ZW1haWwpOwoJICAgIGlmKCAkY2NteXNlbGYgKQoJICAgICAgewoJCS8vIHNlbmQgdGhlIGN1c3RvbWVyIGEgY29weSBvZiB0aGlzIGVtYWlsCgkJJG1haWxlci0+QWRkQ0MoJG15ZW1haWwpOwoJICAgICAgfQoJICAgIGZvcmVhY2goJGNjdXNlcnMgYXMgJG9uZSkKCSAgICAgIHsKCQkkbWFpbGVyLT5BZGRBZGRyZXNzKCRvbmUpOwoJICAgICAgfQoJICB9CgoJLy8gYWRkIGl0IHRvIHRoZSBkYXRhYmFzZQoJJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9OT1RFUy4iCiAgICAgICAgICAgICAgICAgICAocmVzdl9pZCxzdWJqZWN0LHRleHQsY3JlYXRlX2RhdGUpCiAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sJG5vdykiOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcmVzdl9pZCwkc3ViamVjdCwkYm9keSkpOwoJCgkvLyBkaXNwbGF5IGEgd2FybSBmdXp6eSBtZXNzYWdlCgkkc3RhdHVzID0gJ3N1Y2Nlc3MnOwoJJG1lc3NhZ2UgPSAkdGhpcy0+TGFuZygnaW5mb19lbWFpbF9zZW50Jyk7CiAgICAgIH0KICB9CgoKLy8KLy8gU2V0dXAgU21hcnR5Ci8vCmlmKCBlbXB0eSgkc3RhdHVzKSB8fCAkc3RhdHVzICE9ICdzdWNjZXNzJyApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLAoJCSAgICAkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdzZW5kZW1haWwnLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwogIH0KJHNtYXJ0eS0+YXNzaWduKCdyZXN2X2lkJywkcmVzdl9pZCk7CiRzbWFydHktPmFzc2lnbignYm9keScsJGJvZHkpOwokc21hcnR5LT5hc3NpZ24oJ3N1YmplY3QnLCRzdWJqZWN0KTsKJHNtYXJ0eS0+YXNzaWduKCdjY215c2VsZicsJGNjbXlzZWxmKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGF0dXMnLCRzdGF0dXMpOwokc21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCRtZXNzYWdlKTsKCi8vCi8vIERpc3BsYXkgdGhlIGZvcm0KLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/Availability.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIFRoaXMgbW9kdWxlIGlzIGRlcml2ZWQgZnJvbSBDR0V4dGVuc2lvbnMgCiRjZ2V4dGVuc2lvbnMgPSBjbXNfam9pbl9wYXRoKCRnQ21zLT5jb25maWdbJ3Jvb3RfcGF0aCddLCdtb2R1bGVzJywKCQkJICAgICAgJ0NHRXh0ZW5zaW9ucycsJ0NHRXh0ZW5zaW9ucy5tb2R1bGUucGhwJyk7CmlmKCAhaXNfcmVhZGFibGUoICRjZ2V4dGVuc2lvbnMgKSApCnsKICBlY2hvICc8aDE+PGZvbnQgY29sb3I9InJlZCI+RVJST1I6IFRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC48L2ZvbnQ+PC9oMT4nOwogIHJldHVybjsKfQpyZXF1aXJlX29uY2UoJGNnZXh0ZW5zaW9ucyk7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvZGVmaW5lcy5waHAnKTsKCmNsYXNzIEF2YWlsYWJpbGl0eSBleHRlbmRzIENHRXh0ZW5zaW9ucwp7CiAgdmFyICRjYWNoZWRfZXZlbnRfdHlwZXM7CiAgdmFyICRjYWNoZWRfcmVzb3VyY2VzOwogIHZhciAkYWRtaW5mdW5jc19sb2FkZWQ7CiAgdmFyICRmZWZ1bmNzX2xvYWRlZDsKICB2YXIgJGNvbW1vbmZ1bmNzX2xvYWRlZDsKICB2YXIgJHNlYXJjaGZ1bmNzX2xvYWRlZDsKCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEFsbG93QXV0b0luc3RhbGwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEFsbG93QXV0b0luc3RhbGwoKSB7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQWxsb3dBdXRvVXBncmFkZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQWxsb3dBdXRvVXBncmFkZSgpIHsKICAgIHJldHVybiBGQUxTRTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDb25zdHJ1Y3RvcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKICAgICR0aGlzLT5jYWNoZWRfcmVzb3VyY2VzID0gTlVMTDsKICAgICR0aGlzLT5jYWNoZWRfZXZlbnRfdHlwZXMgPSBOVUxMOwogICAgJHRoaXMtPmFkbWluZnVuY3NfbG9hZGVkID0gZmFsc2U7CiAgICAkdGhpcy0+ZmVmdW5jc19sb2FkZWQgPSBmYWxzZTsKICAgICR0aGlzLT5jb21tb25mdW5jc19sb2FkZWQgPSBmYWxzZTsKICAgICR0aGlzLT5zZWFyY2hmdW5jc19sb2FkZWQgPSBmYWxzZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXROYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXROYW1lKCkKICB7CiAgICByZXR1cm4gJ0F2YWlsYWJpbGl0eSc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RnJpZW5kbHlOYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+R2V0UmVzb3VyY2VUeXBlKCkuJyAnLiR0aGlzLT5MYW5nKCdtYW5hZ2VyJyk7CiAgfQoKCQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS43LjInOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEhlbHAoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEhlbHAoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICB7CiAgICByZXR1cm4gJ2NhbGd1eTEwMDAnOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF1dGhvckVtYWlsKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRDaGFuZ2VMb2coKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgJHR4dCA9IEBmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fRklMRV9fKS4nL2NoYW5nZWxvZy5pbmMnKTsKICAgIHJldHVybiAkdHh0OwogIH0KICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJc1BsdWdpbk1vZHVsZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQogIHsKICAgIHJldHVybiB0cnVlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEhhc0FkbWluKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBIYXNBZG1pbigpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5TZWN0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQogIHsKICAgIHJldHVybiAnZXh0ZW5zaW9ucyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2R1bGVfZGVzY3JpcHRpb24nKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBWaXNpYmxlVG9BZG1pblVzZXIoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSB8fAogICAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpIHx8CiAgICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fUkVTRVJWQVRJT05TKSB8fAogICAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1ZJRVdSRVNWKSB8fAogICAgICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0VWRU5UUykgfHwKICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNPVVJDRVMpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldERlcGVuZGVuY2llcygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKICB7CiAgICByZXR1cm4gYXJyYXkoJ0NHRXh0ZW5zaW9ucyc9PicxLjE3LjMnLAoJCSAnQ0dTaW1wbGVTbWFydHknPT4nMS40JywKCQkgJ0Zyb250RW5kVXNlcnMnPT4nMS42LjknLAoJCSAnSlF1ZXJ5VG9vbHMnPT4nMS4wLjQnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNaW5pbXVtQ01TVmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAiMS42LjUiOwogIH0KCQoJCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVhZGVySFRNTCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVhZGVySFRNTCgpCiAgewogICAgJHR4dCA9IDw8PEVPVAo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgouYXZhaWxfY2VsbCBhIHsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLmF2YWlsX2NlbGwgYTpob3ZlciB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Cjwvc3R5bGU+CkVPVDsKCiAgICAkb2JqID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnSlF1ZXJ5VG9vbHMnKTsKICAgIGlmKCBpc19vYmplY3QoJG9iaikgKQogICAgICB7CiR0bXBsID0gPDw8RU9UCntKUXVlcnlUb29scyBhY3Rpb249J2luY2pzJyBleGNsdWRlPSdmb3JtJ30Ke0pRdWVyeVRvb2xzIGFjdGlvbj0ncmVhZHknfQpFT1Q7CiAgICAgICAgJHR4dCAuPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRtcGwpOwogICAgICB9CgogICAgJGZtdCA9ICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIlcyI+PC9zY3JpcHQ+Jy4iXG4iOwogICAgCiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwogICAgJHVybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL0F2YWlsYWJpbGl0eS9saWIvcGhwX2pzLmpzJzsKICAgICR0eHQgLj0gc3ByaW50ZigkZm10LCR1cmwpOwoKICAgIHJldHVybiAkdHh0OwogIH0JCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0UGFyYW1ldGVycygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpCiAgewogICAgJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwogICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgICAkdGhpcy0+QWRkSW1hZ2VEaXIoJ2ljb25zJyk7CgogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS4nXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPHJzcmNpZD5bMC05XSspJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidkZXRhaWwnKSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHRoaXMtPkdldFJlc291cmNlVHlwZSgpLidcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8cnNyY2lkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycsCgkJCSBhcnJheSgnYWN0aW9uJz0+J2RldGFpbCcpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvJy4kdGhpcy0+R2V0UmVzb3VyY2VUeXBlKCkuJ1wvcmVzZXJ2YXRpb25cLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidhZGRyZXN2bicpKTsKICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKCcvJy4kdGhpcy0+R2V0UmVzb3VyY2VUeXBlKCkuJ1wvdmlld3Jlc3ZuXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPHJlc3ZfaWQ+WzAtOV0rKSQvJywKCQkJIGFycmF5KCdhY3Rpb24nPT4nYWRkcmVzdm4nKSk7CiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHRoaXMtPkdldFJlc291cmNldHlwZSgpLidcL2RheVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDx5ZWFyPlswLTldKyktKD9QPG1vbnRoPlswLTldKyktKD9QPGRheT5bMC05XSspJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidkYXl2aWV3JykpOwogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR0aGlzLT5HZXRSZXNvdXJjZXR5cGUoKS4nXC9kYXlcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8cnNyY2lkPlswLTldKylcLyg/UDx5ZWFyPlswLTldKyktKD9QPG1vbnRoPlswLTldKyktKD9QPGRheT5bMC05XSspJC8nLAoJCQkgYXJyYXkoJ2FjdGlvbic9PidkYXl2aWV3JykpOwogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR0aGlzLT5HZXRSZXNvdXJjZXR5cGUoKS4nXC9yZXNlcnZlXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPHJzcmNpZD5bMC05XSspXC8oP1A8eWVhcj5bMC05XSspLSg/UDxtb250aD5bMC05XSspLSg/UDxkYXk+WzAtOV0rKSQvJywKCQkJIGFycmF5KCdhY3Rpb24nPT4nYWRkcmVzdm4nKSk7CgogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWN0aW9uJywnZGVmYXVsdCcsJHRoaXMtPkxhbmcoJ2hlbHBfYWN0aW9uJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RheXRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZGF5dGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX2RheXRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHBhZ2UnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWxwYWdlJywnJywkdGhpcy0+TGFuZygnaGVscF9kZXRhaWxwYWdlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZGV0YWlsdGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX2RldGFpbHRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N1bW1hcnl0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N1bW1hcnl0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfc3VtbWFyeXRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhbGVuZGFydGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjYWxlbmRhcnRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9jYWxlbmRhcnRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Jlc3ZudGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdyZXN2bnRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9yZXN2bnRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2VtYWlsdGVtcGxhdGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdlbWFpbHRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9lbWFpbHRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NvbmZpcm10ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NvbmZpcm10ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfY29uZmlybXRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ215cmVzdnRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbXlyZXN2dGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX215cmVzdnRlbXBsYXRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlbmRlbWFpbHRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VuZGVtYWlsdGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3NlbmRlbWFpbHRlbXBsYXRlJykpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlbGltaXQnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwYWdlbGltaXQnLCcxMDAwMDAnLCR0aGlzLT5MYW5nKCdoZWxwX3BhZ2VsaW1pdCcpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzaG93YWxsJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2hvd2FsbCcsJzAnLCR0aGlzLT5MYW5nKCdoZWxwX3Nob3dhbGwnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydGJ5JyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydGJ5JywnJywkdGhpcy0+TGFuZygnaGVscF9zb3J0YnknKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydG9yZGVyJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydG9yZGVyJywnJywkdGhpcy0+TGFuZygnaGVscF9zb3J0b3JkZXInKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncnNyY2lkJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncnNyY2lkJywnJywkdGhpcy0+TGFuZygnaGVscF9yc3JjaWQnKSk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmVzdl9pZCcsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3Jlc3ZfaWQnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3Jlc3ZfaWQnKSk7CgogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhdGVnb3J5JyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY2F0ZWdvcnknLCcnLCR0aGlzLT5MYW5nKCdoZWxwX2NhdGVnb3J5JykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Jlc291cmNlcycsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3Jlc291cmNlcycsJycsJHRoaXMtPkxhbmcoJ2hlbHBfcmVzb3VyY2VzJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ21vbnRoJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbW9udGgnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX21vbnRoJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3llYXInLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd5ZWFyJywnJywkdGhpcy0+TGFuZygnaGVscF95ZWFyJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RheScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2RheScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfZGF5JykpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzZWFyY2h0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NlYXJjaHRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9zZWFyY2h0ZW1wbGF0ZScpKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbmxpbmUnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpbmxpbmUnLDAsJHRoaXMtPkxhbmcoJ2hlbHBfaW5saW5lJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N1bW1hcnlwYWdlJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3VtbWFyeXBhZ2UnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3N1bW1hcnlwYWdlJykpOwovLyAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N0YXJ0ZGF0ZScsQ0xFQU5fU1RSSU5HKTsKLy8gICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N0YXJ0ZGF0ZScsJycsJHRoaXMtPkxhbmcoJ2hlbHBfc3RhcnRkYXRlJykpOwovLyAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2VuZGRhdGUnLENMRUFOX1NUUklORyk7Ci8vICAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdlbmRkYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9lbmRkYXRlJykpOwoKCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncGFnZW51bScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdqdW5rJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQLicvYXZhaWxfLiovJyxDTEVBTl9OT05FKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsUHJlTWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdhc2tfcmVhbGx5X3VuaW5zdGFsbCcpOwogIH0JCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIExhenlMb2FkQWRtaW4oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIExhenlMb2FkQWRtaW4oKQogICAgewogICAgICBpZiggJHRoaXMtPmFkbWluZnVuY3NfbG9hZGVkID09IGZhbHNlICkKCXsKCSAgcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb25zLmFkbWluX3Rvb2xzLnBocCcpOwoJICAkdGhpcy0+YWRtaW5mdW5jc19sb2FkZWQgPSB0cnVlOwoJfQogICAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTGF6eUxvYWRGcm9udGVuZCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTGF6eUxvYWRGcm9udGVuZCgpCiAgICB7CiAgICAgIGlmKCAkdGhpcy0+ZmVmdW5jc19sb2FkZWQgPT0gZmFsc2UgKQoJewoJICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbnMuZnJvbnRlbmRfdG9vbHMucGhwJyk7CgkgICR0aGlzLT5mZWZ1bmNzX2xvYWRlZCA9IHRydWU7Cgl9CiAgICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBMYXp5TG9hZENvbW1vbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTGF6eUxvYWRDb21tb24oKQogICAgewogICAgICBpZiggJHRoaXMtPmNvbW1vbmZ1bmNzX2xvYWRlZCA9PSBmYWxzZSApCgl7CgkgIHJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9ucy5jb21tb25fdG9vbHMucGhwJyk7CgkgICR0aGlzLT5jb21tb25mdW5jc19sb2FkZWQgPSB0cnVlOwoJfQogICAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgTGF6eUxvYWRTZWFyY2goKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIExhenlMb2FkU2VhcmNoKCkKICAgIHsKICAgICAgaWYoICR0aGlzLT5zZWFyY2hmdW5jc19sb2FkZWQgPT0gZmFsc2UgKQoJewoJICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbnMuc2VhcmNoX3Rvb2xzLnBocCcpOwoJICAkdGhpcy0+c2VhcmNoZnVuY3NfbG9hZGVkID0gdHJ1ZTsKCX0KICAgIH0KCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRUeXBlc0Ryb3Bkb3duKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRUeXBlc0Ryb3Bkb3duKCAkaWQsICRuYW1lLCAkc2VsZWN0ZWQgPSAnJywgJGFkZHRleHQgPSAnJywgJHNlbGVjdG9uZSA9IGZhbHNlICkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRBZG1pbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9HZXRUeXBlc0Ryb3Bkb3duKCR0aGlzLCRpZCwkbmFtZSwkc2VsZWN0ZWQsCgkJCQkJICRhZGR0ZXh0LCRzZWxlY3RvbmUpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFJlc291cmNldHlwZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0UmVzb3VyY2VUeXBlKCRwbHVyYWwgPSBmYWxzZSkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRBZG1pbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9HZXRSZXNvdXJjZVR5cGUoJHRoaXMsJHBsdXJhbCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFuZGxlSW1hZ2VVcGxvYWQoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhbmRsZUZpbGVVcGxvYWQoJGlkLCRuYW1lLCRyZWNvcmRfaWQsJiR2YWx1ZSwmJHJlc3VsdCkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRBZG1pbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9IYW5kbGVGaWxlVXBsb2FkKCR0aGlzLCRpZCwkbmFtZSwkcmVjb3JkX2lkLAoJCQkJCSAkdmFsdWUsJHJlc3VsdCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFuZGxlSW1hZ2VVcGxvYWQoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhbmRsZUltYWdlVXBsb2FkKCRpZCwkbmFtZSwkcmVjb3JkX2lkLCYkdmFsdWUsJiRyZXN1bHQpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQWRtaW4oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfSGFuZGxlSW1hZ2VVcGxvYWQoJHRoaXMsJGlkLCRuYW1lLCRyZWNvcmRfaWQsCgkJCQkJICAkdmFsdWUsJHJlc3VsdCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFuZGxlRmlsZURlbGV0ZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSGFuZGxlSW1hZ2VEZWxldGUoJGlkLCRyZWNvcmRfaWQsJHZhbHVlKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZEFkbWluKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0hhbmRsZUltYWdlRGVsZXRlKCR0aGlzLCRpZCwkcmVjb3JkX2lkLCR2YWx1ZSk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFuZGxlRmlsZURlbGV0ZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSGFuZGxlRmlsZURlbGV0ZSgkaWQsJHJlY29yZF9pZCwkdmFsdWUpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQWRtaW4oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfSGFuZGxlRmlsZURlbGV0ZSgkdGhpcywkaWQsJHJlY29yZF9pZCwkdmFsdWUpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9sb2FkRXZlbnRUeXBlcygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX2xvYWRFdmVudFR5cGVzKCkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRBZG1pbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9Mb2FkRXZlbnRUeXBlcygkdGhpcyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RXZlbnRUeXBlRnJvbUlEKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRFdmVudFR5cGVGcm9tSUQoJGV2ZW50X2lkKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZEFkbWluKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0dldEV2ZW50VHlwZUZyb21JRCgkdGhpcywkZXZlbnRfaWQpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEV2ZW50VHlwZURyb3Bkb3duTGlzdCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RXZlbnRUeXBlRHJvcGRvd25MaXN0KCRhbnkgPSBmYWxzZSkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRBZG1pbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9HZXRFdmVudFR5cGVEcm9wZG93bkxpc3QoJHRoaXMsJGFueSk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGF2ZVJlc291cmNlcygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSGF2ZVJlc291cmNlcygpCiAgewogICAgJGRiID0mICR0aGlzLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgTElNSVQgMSc7CiAgICAkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5KTsKICAgIGlmKCAkdG1wICkgcmV0dXJuIHRydWU7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzRXZlbnRUeXBlcygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSGF2ZUV2ZW50VHlwZXMoKQogIHsKICAgICRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUy4nIExJTUlUIDEnOwogICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSk7CiAgICBpZiggJHRtcCApIHJldHVybiB0cnVlOwogICAgcmV0dXJuIGZhbHNlOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIENhbkNvbnRhY3RDdXN0b21lcnMoKTsKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBDYW5Db250YWN0Q3VzdG9tZXJzKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9DT05UQUNUQ1VTVE9NRVIpIHx8CiAgICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fUkVTRVJWQVRJT05TKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDYW5WaWV3UmVzZXJ2YXRpb25zKCk7CiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQ2FuVmlld1Jlc2VydmF0aW9ucygpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fVklFV1JFU1YpIHx8CiAgICAgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fUkVTRVJWQVRJT05TKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDYW5FZGl0UmVzZXJ2YXRpb25zKCk7CiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQ2FuRWRpdFJlc2VydmF0aW9ucygpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fUkVTRVJWQVRJT05TKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRVc2VyRGV0YWlscygkdWlkKQogICAqIEdldCB0aGUgZW1haWwgYWRkcmVzcywgYW5kIGZ1bGwgbmFtZQogICAqIGZvciB0aGUgdXNlciwgYW5kIHBsYWNlIHRoZW0gaW50byBhbiBhcnJheQogICAqIE5PVEU6IFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHJlbW92ZWQuCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0VXNlckRldGFpbHMoJHVpZCkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRBZG1pbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9HZXRVc2VyRGV0YWlscygkdGhpcywkdWlkKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRVc2VyT2JqZWN0KCRjdXN0aWQpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gJkdldFVzZXJPYmplY3QoJGN1c3RpZCkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRDb21tb24oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfR2V0VXNlck9iamVjdCgkdGhpcywkY3VzdGlkKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRVc2VyRHJvcGRvd25MaXN0KCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRVc2VyRHJvcGRvd25MaXN0KCkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRBZG1pbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9HZXRVc2VyRHJvcGRvd25MaXN0KCR0aGlzKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBBZGp1c3RQcmljZSgkcHJpY2UsJGFkanVzdG1lbnQpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gQWRqdXN0UHJpY2UoJHByaWNlLCRhZGp1c3RtZW50KQogIHsKICAgICR0aGlzLT5MYXp5TG9hZENvbW1vbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9BZGp1c3RQcmljZSgkdGhpcywkcHJpY2UsJGFkanVzdG1lbnQpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIENhbGN1bGF0ZVJlc2VydmF0aW9uUGFydHMoJHJlc2VydmF0aW9uLCRyZXNvdXJjZXMsJiRwYXJ0cykKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBDYWxjdWxhdGVSZXNlcnZhdGlvblBhcnRzKCYkcmVzZXJ2YXRpb24pCiAgewogICAgJHRoaXMtPkxhenlMb2FkQ29tbW9uKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0NhbGN1bGF0ZVJlc2VydmF0aW9uUGFydHMoJHRoaXMsJHJlc2VydmF0aW9uKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDYWxjdWxhdGVSZXNlcnZhdGlvblByaWNlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBDYWxjdWxhdGVSZXNlcnZhdGlvblByaWNlKCYkcmVzZXJ2YXRpb24pCiAgewogICAgJHRoaXMtPkxhenlMb2FkQ29tbW9uKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0NhbGN1bGF0ZVJlc2VydmF0aW9uUHJpY2UoJHRoaXMsJHJlc2VydmF0aW9uKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBDaGVja1Jlc2VydmF0aW9uQ29uZmxpY3RzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBDaGVja1Jlc2VydmF0aW9uQ29uZmxpY3RzKCRyZXNlcnZhdGlvbikKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRDb21tb24oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfQ2hlY2tSZXNlcnZhdGlvbkNvbmZsaWN0cygkdGhpcywkcmVzZXJ2YXRpb24pOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEFkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsKCRyc3JjX2lkLCRzdGFydF90aW1lLCRlbmRfdGltZSwkbWVyaWRpYW4pCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gIEFkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsMigmJHJzcmMsJHN0YXJ0X3RpbWUsJGVuZF90aW1lLCRtZXJpZGlhbiA9ICcnKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZENvbW1vbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9BZGp1c3RSZXNlcnZhdGlvblBhcnRJbnRlcnZhbDIoJHRoaXMsJHJzcmMsJHN0YXJ0X3RpbWUsJGVuZF90aW1lLCRtZXJpZGlhbik7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQWRqdXN0UmVzZXJ2YXRpb25QYXJ0SW50ZXJ2YWwoJHJzcmNfaWQsJHN0YXJ0X3RpbWUsJGVuZF90aW1lLCRtZXJpZGlhbikKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiAgQWRqdXN0UmVzZXJ2YXRpb25QYXJ0SW50ZXJ2YWwoJHJzcmNfaWQsJHN0YXJ0X3RpbWUsJGVuZF90aW1lLCRtZXJpZGlhbikKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRDb21tb24oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfQWRqdXN0UmVzZXJ2YXRpb25QYXJ0SW50ZXJ2YWwoJHRoaXMsJHJzcmNfaWQsJHN0YXJ0X3RpbWUsJGVuZF90aW1lLCRtZXJpZGlhbik7CiAgfQoKICBmdW5jdGlvbiBtZXJnZV9kYXRlKCRleHBfZGF0ZSwkbmV3dGltZSkKICB7CiAgICAkdG1wID0gJGV4cF9kYXRlOwogICAgbGlzdCgkaDEsJG0xKSA9IGV4cGxvZGUoJzonLCRuZXd0aW1lKTsKICAgICR0bXBbJ2hvdXInXSA9ICRoMTsKICAgICR0bXBbJ21pbnV0ZXMnXSA9ICRtMTsKICAgIHJldHVybiAkdG1wOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldEF0dHJpYnV0ZXNGb3JSc3JjCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXR0cmlidXRlc0ZvclJzcmMoJHJzcmNfaWQpCiAgICB7CiAgICAgICR0aGlzLT5MYXp5TG9hZEZyb250ZW5kKCk7CiAgICAgIHJldHVybiBhdmFpbGFiaWxpdHlfR2V0QXR0cmlidXRlc0ZvclJzcmMoJHRoaXMsJHJzcmNfaWQpOwogICAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RmllbGRzRm9yUnNyYwogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEZpZWxkc0ZvclJzcmMoJHJzcmNfaWQpCiAgICB7CiAgICAgICR0aGlzLT5MYXp5TG9hZEZyb250ZW5kKCk7CiAgICAgIHJldHVybiBhdmFpbGFiaWxpdHlfR2V0RmllbGRzRm9yUnNyYygkdGhpcywkcnNyY19pZCk7CiAgICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdHRyaWJ1dGVJRHMKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBdHRyaWJ1dGVJRHMoJGRhdGEpCiAgICB7CiAgICAgICR0aGlzLT5MYXp5TG9hZEZyb250ZW5kKCk7CiAgICAgIHJldHVybiBhdmFpbGFiaWxpdHlfR2V0QXR0cmlidXRlSURzKCR0aGlzLCRkYXRhKTsKICAgIH0KCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRSZXNlcnZhdGlvblVSTCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0UmVzZXJ2YXRpb25VUkwoJGlkLCRwYWdlaWQsJHJzcmNpZCwkbW9udGgsJGRheSwkeWVhciwkdGl0bGU9JycsJHBhcmFtcz1hcnJheSgpLCRsaW5rID0gZmFsc2UpCiAgewogICAgJHByZXR0eXVybCA9ICR0aGlzLT5HZXRSZXNvdXJjZVR5cGUoKS5zcHJpbnRmKCIvcmVzZXJ2ZS8lZC8lZC8lMDRkLSUwMmQtJTAyZCIsJHBhZ2VpZCwkcnNyY2lkLCR5ZWFyLCRtb250aCwkZGF5KTsKICAgICRwYXJhbXNbJ3JzcmNpZCddID0gJHJzcmNpZDsKICAgICRwYXJhbXNbJ2RheSddID0gJGRheTsKICAgICRwYXJhbXNbJ21vbnRoJ10gPSAkbW9udGg7CiAgICAkcGFyYW1zWyd5ZWFyJ10gPSAkeWVhcjsKICAgICR0eHQgPSAnJzsKICAgIGlmKCAkbGluayA9PT0gZmFsc2UgfHwgZW1wdHkoJHRpdGxlKSkKICAgICAgewoJJHR4dCA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdhZGRyZXN2bicsJHBhZ2VpZCwkcGFyYW1zLGZhbHNlLCRwcmV0dHl1cmwpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSR0eHQgPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnYWRkcmVzdm4nLCRwYWdlaWQsJHRpdGxlLCRwYXJhbXMsJycsZmFsc2UsZmFsc2UsJycsZmFsc2UsJHByZXR0eXVybCk7CiAgICAgIH0KICAgIHJldHVybiAkdHh0OwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldERheVZpZXdVUkwoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldERheVZpZXdVUkwoJGlkLCRwYWdlaWQsJG1vbnRoLCRkYXksJHllYXIsJHRpdGxlPScnLCRwYXJhbXM9YXJyYXkoKSwkbGluayA9IGZhbHNlKQogIHsKICAgICRwcmV0dHl1cmwgPSAnJzsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydyc3JjaWQnXSkgKQogICAgICB7CgkkcHJldHR5dXJsID0gJHRoaXMtPkdldFJlc291cmNlVHlwZSgpLnNwcmludGYoIi9kYXkvJWQvJWQvJTA0ZC0lMDJkLSUwMmQiLCRwYWdlaWQsJHBhcmFtc1sncnNyY2lkJ10sJHllYXIsJG1vbnRoLCRkYXkpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRwcmV0dHl1cmwgPSAkdGhpcy0+R2V0UmVzb3VyY2VUeXBlKCkuc3ByaW50ZigiL2RheS8lZC8lMDRkLSUwMmQtJTAyZCIsJHBhZ2VpZCwkeWVhciwkbW9udGgsJGRheSk7CiAgICAgIH0KICAgICRwYXJhbXNbJ2RheSddID0gJGRheTsKICAgICRwYXJhbXNbJ21vbnRoJ10gPSAkbW9udGg7CiAgICAkcGFyYW1zWyd5ZWFyJ10gPSAkeWVhcjsKICAgICR0eHQgPSAnJzsKICAgIGlmKCAkbGluayA9PT0gZmFsc2UgfHwgZW1wdHkoJHRpdGxlKSkKICAgICAgewoJJHR4dCA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkYXl2aWV3JywkcGFnZWlkLCRwYXJhbXMsZmFsc2UsJHByZXR0eXVybCk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHR4dCA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkYXl2aWV3JywkcGFnZWlkLCR0aXRsZSwkcGFyYW1zLCcnLGZhbHNlLGZhbHNlLCcnLGZhbHNlLCRwcmV0dHl1cmwpOwogICAgICB9CiAgICByZXR1cm4gJHR4dDsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRSZXNvdXJjZURldGFpbFVSTAogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFJlc291cmNlRGV0YWlsVVJMKCRpZCwkcGFnZWlkLCRyc3JjaWQsJHRpdGxlPScnLCRwYXJhbWV0ZXJzID0gYXJyYXkoKSwkbGluayA9IGZhbHNlKQogICAgewogICAgICAkcHJldHR5dXJsID0gJHRoaXMtPkdldFJlc291cmNlVHlwZSgpLiIvJHBhZ2VpZC8kcnNyY2lkIjsKICAgICAgaWYoICFlbXB0eSgkdGl0bGUpICkKCXsKCSAgJHByZXR0eXVybCAuPSAiLyIubXVuZ2Vfc3RyaW5nX3RvX3VybCgkdGl0bGUpOwoJfQoKICAgICAgJHBhcmFtZXRlcnNbJ3JzcmNpZCddID0gJHJzcmNpZDsKICAgICAgJHR4dCA9ICcnOwogICAgICBpZiggJGxpbmsgPT09IGZhbHNlIHx8IGVtcHR5KCR0aXRsZSkpCgl7CgkgICR0eHQgPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGV0YWlsJywkcGFnZWlkLCRwYXJhbWV0ZXJzLGZhbHNlLCRwcmV0dHl1cmwpOwoJfQogICAgICBlbHNlCgl7CgkgICR0eHQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RldGFpbCcsJHBhZ2VpZCwkdGl0bGUsJHBhcmFtZXRlcnMsCgkJCQkgICAnJyxmYWxzZSxmYWxzZSwnJyxmYWxzZSwkcHJldHR5dXJsKTsKCX0KICAgICAgcmV0dXJuICR0eHQ7CiAgICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZW5kUmVzZXJ2YXRpb25EZXRhaWxzRW1haWwKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZW5kUmVzZXJ2YXRpb25EZXRhaWxzRW1haWwoJHJlc3ZuX2lkLCR0ZW1wbGF0ZSwkbG9naXQsJiRlcnJvcikKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRDb21tb24oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfU2VuZFJlc2VydmF0aW9uRGV0YWlsc0VtYWlsKCR0aGlzLCRyZXN2bl9pZCwkdGVtcGxhdGUsJGxvZ2l0LCRlcnJvcik7CiAgfQoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRSZXNvdXJjZQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFJlc291cmNlKCRyc3JjX2lkKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZENvbW1vbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9HZXRSZXNvdXJjZSgkdGhpcywkcnNyY19pZCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0UmVzb3VyY2VTdW1tYXJ5CiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0UmVzb3VyY2VTdW1tYXJ5KCYkcnNyYykKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRDb21tb24oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfR2V0UmVzb3VyY2VTdW1tYXJ5KCR0aGlzLCRyc3JjKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRSZXNlcnZhdGlvbkF0dHJpYnV0ZQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFJlc2VydmF0aW9uQXR0cmlidXRlKCRyZXN2bl9pZCwkYXR0cmliLCRkZmx0ID0gJycpCiAgewogICAgJHRoaXMtPkxhenlMb2FkQ29tbW9uKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X0dldFJlc2VydmF0aW9uQXR0cmlidXRlKCR0aGlzLCRyZXN2bl9pZCwkYXR0cmliLCRkZmx0KTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRSZXNlcnZhdGlvbkF0dHJpYnV0ZQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFNldFJlc2VydmF0aW9uQXR0cmlidXRlKCRyZXN2bl9pZCwkYXR0cmliLCR2YWx1ZSkKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRDb21tb24oKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfU2V0UmVzZXJ2YXRpb25BdHRyaWJ1dGUoJHRoaXMsJHJlc3ZuX2lkLCRhdHRyaWIsJHZhbHVlKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkNDTGlzdCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5DQ0xpc3QoKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZENvbW1vbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9HZXRBZG1pbkNDTGlzdCgkdGhpcyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2VhcmNoUmVzdWx0KCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZWFyY2hSZXN1bHQoJHJldHVybmlkLCAkYXJ0aWNsZWlkLCAkYXR0ciA9ICcnKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZEZyb250ZW5kKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X1NlYXJjaFJlc3VsdCgkdGhpcywkcmV0dXJuaWQsICRhcnRpY2xlaWQsICRhdHRyKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZWFyY2hSZUluZGV4KCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBTZWFyY2hSZWluZGV4KCYkc2VhcmNobW9kdWxlKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZEFkbWluKCk7CiAgICByZXR1cm4gYXZhaWxhYmlsaXR5X1NlYXJjaFJlaW5kZXgoJHRoaXMsJHNlYXJjaG1vZHVsZSk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRG9BZHZhbmNlZFNlYXJjaCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0TnVtU2xvdHMoJHJlc291cmNlcyA9ICcnLCRzdGFydGRhdGUgPSAnJywkZW5kZGF0ZSA9ICcnKQogIHsKICAgICR0aGlzLT5MYXp5TG9hZENvbW1vbigpOwogICAgcmV0dXJuIGF2YWlsYWJpbGl0eV9DYWxjTnVtU2xvdHMoJHJlc291cmNlcywkc3RhcnRkYXRlLCRlbmRkYXRlKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEb0FkdmFuY2VkU2VhcmNoKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBEb0FkdmFuY2VkU2VhcmNoKCRzZWFyY2hwYXJtcykKICB7CiAgICAkdGhpcy0+TGF6eUxvYWRTZWFyY2goKTsKICAgIHJldHVybiBhdmFpbGFiaWxpdHlfQWR2YW5jZWRTZWFyY2goJHRoaXMsJHNlYXJjaHBhcm1zKTsKICB9Cgp9IC8vIGNsYXNzCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogIDxsaT52ZXJzaW9uIDEuMyAtIE1hcmNoIDIwMDkKICAgIDx1bD4KICAgICAgPGxpPkluaXRpYWwgUHVibGljIFJlbGVhc2UuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+dmVyc2lvbiAxLjQgLSBNYXJjaCAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5TdXBwb3J0IGZvciByZXNlcnZhdGlvbnMgd2l0aG91dCBhIHByaWNlPC9saT4KICAgICAgPGxpPlN1cHBvcnQgZm9yIG1heGltdW0gY2FwYWNpdHkgaW4gYSByZXNvdXJjZSwgYW5kIGEgcGVyLXVuaXQvZGF5IHN1cmNoYXJnZSBmb3Igb2V2ZXJhZ2VzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS41LjMgLSBNYXJjaCAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5CdWcgZml4ZXMuPC9saT4KICAgICAgPGxpPkFkZHMgYnVsayBkaXNjb3VudCBwcmljaW5nIG1lY2hhbmlzbihzKTwvbGk+CiAgICAgIDxsaT5BbGxvdyBtdWx0aXBsZSBmaWxlIGF0dGFjaG1lbnRzLjwvbGk+CiAgICAgIDxsaT5BZGRzIGFqYXh5IHZpZXcgdXNlciBzdHVmZiBpbiBlZGl0IHJlc2VydmF0aW9uLjwvbGk+CiAgICAgIDxsaT5BZGQgYWJpbGl0eSB0byBhbGxvdyBubyBwcmljaW5nLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS43IC0gT2N0b2JlciAyMDA5CiAgICA8dWw+CiAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IGZvciByZXNlcnZhdGlvbnMgdG8gaGFuZGxlIG11bHRpcGxlIHJlc291cmNlcy48L2xpPgogICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSBmb3IgcmVzb3VyY2VzIHRvIGJlIGJvb2thYmxlIG9uIHRoZSBob3VyLCBoYWxmIGRheSwgb3IgZGF5LjwvbGk+CiAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IGZvciByZXNvdXJjZXMgdG8gaGF2ZSBzcGVjaWZpZWQgY2hlY2tpbi9jaGVja291dCB0aW1lcy48L2xpPgogICAgICA8bGk+VGhlIGNhbGVuZGFyIHZpZXdzIG5vdyB3b3JrIHByb3Blcmx5PC9saT4KICAgICAgPGxpPlJld29yayB0aGUgcmVzZXJ2YXRpb24gc3R1ZmYgc28gdGhhdCBpdCB1c2VzIGphdmFzY3JpcHQgYW5kIGFqYXggZXh0ZW5zaXZlbHkuPC9saT4KICAgICAgPGxpPkJlZ2luIHRoZSBPT1AgUHJvY2Vzcy48L2xpPgogICAgICA8bGk+Tm93IHJlcXVpcmUgUEhQIDUuMis8L2xpPgogICAgICA8bGk+PHN0cm9uZz4tLSBXQVJOSU5HOiAtLTwvc3Ryb25nPiAgVGhlcmUgaXMgYSBzZXJpb3VzIGJyZWFrIGluIGFsbCBvZiB0aGUgZnJvbnRlbmQgdGVtcGxhdGVzIHJlbGF0aW5nIHRvIHJlc2VydmF0aW9ucy4gIFVzZXJzIG9mIHRoZXNlIG1vZHVsZXMgbWF5IGhhdmUgdG8gcmUtc3R5bGUgdGhlaXIgdGVtcGxhdGVzLjxsaT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+dmVyc2lvbiAxLjcuMSAtIE9jdG9iZXIgMjAwOQogICAgPHVsPgogICAgICA8bGk+TWlub3IgYnVnIGZpeGVzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPnZlcnNpb24gMS43LjIgLSBPY3RvYmVyIDIwMDkKICAgIDx1bD4KICAgICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPgo=]]></data>
	</file>
	<file>
	  <filename>/defines.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgojIFRhYmxlcwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X2V2ZW50X3R5cGVzJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X2V2ZW50cycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9UQUJMRV9DQVRTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9hdmFpbGFiaWxpdHlfY2F0cycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9UQUJMRV9SU1JDUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X3JzcmNzJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfQ0FUUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X3JzcmNfY2F0cycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9UQUJMRV9SU1JDX1BSSUNFUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X3JzcmNfcHJpY2VzJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfRVZFTlRTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9hdmFpbGFiaWxpdHlfcnNyY19ldmVudHMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9hdmFpbGFiaWxpdHlfcmVzZXJ2YXRpb25zJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9hdmFpbGFiaWxpdHlfcmVzZXJ2YXRpb25fcGFydHMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fQVRUUklCUycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX2F0dHJpYnMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2F2YWlsYWJpbGl0eV9yZXNlcnZhdGlvbl9ub3RlcycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9UQUJMRV9GSUVMRERFRlMnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2F2YWlsYWJpbGl0eV9maWVsZGRlZnMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfVEFCTEVfRklFTERWQUxTJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9hdmFpbGFiaWxpdHlfZmllbGR2YWxzJyk7CgojIFBlcm1pc3Npb25zCmRlZmluZSgnQVZBSUxBQklMSVRZX1BFUk1fQ09OVEFDVENVU1RPTUVSJywnRW1haWwgUmVzZXJ2YXRpb24gQ29udGFjdHMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUEVSTV9FVkVOVFMnLCdNYW5hZ2UgRXZlbnRzJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BFUk1fUkVTRVJWQVRJT05TJywnTWFuYWdlIFJlc2VydmF0aW9ucycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QRVJNX1JFU09VUkNFUycsJ01hbmFnZSBSZXNvdXJjZXMnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUEVSTV9WSUVXUkVTVicsJ1ZpZXcgUmVzZXJ2YXRpb25zJyk7CgojIFRlbXBsYXRlcwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX05FV0NVU1RFTUFJTF9URU1QTEFURScsJ25ld2N1c3RlbWFpbF90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX0RGTFRDVVNURU1BSUxfVEVNUExBVEUnLCdkZmx0Y3VzdGVtYWlsX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfTkVXU1VNTUFSWV9URU1QTEFURScsJ25ld3N1bW1hcnlfdGVtcGxhdGUnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUFJFRl9ERkxUU1VNTUFSWV9URU1QTEFURScsJ2RmbHRzdW1tYXJ5X3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfTkVXREVUQUlMX1RFTVBMQVRFJywnbmV3ZGV0YWlsX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfREZMVERFVEFJTF9URU1QTEFURScsJ2RmbHRkZXRhaWxfdGVtcGxhdGUnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUFJFRl9ORVdDQUxFTkRBUl9URU1QTEFURScsJ25ld2NhbGVuZGFyX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfREZMVENBTEVOREFSX1RFTVBMQVRFJywnZGZsdGNhbGVuZGFyX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfTkVXUkVTVk5fVEVNUExBVEUnLCduZXdyZXN2bl90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTl9URU1QTEFURScsJ2RmbHRyZXN2bl90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX05FV1JFU1ZOQ09ORklSTV9URU1QTEFURScsJ25ld3Jlc3ZuY2ZtX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfREZMVFJFU1ZOQ09ORklSTV9URU1QTEFURScsJ2RmbHRyZXN2bmNmbV90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX05FV1JFU1ZOQ09ORklSTUVNQUlMX1RFTVBMQVRFJywnbmV3cmVzdm5jZm1lbWFpbF90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX0RGTFRSRVNWTkNPTkZJUk1FTUFJTF9URU1QTEFURScsJ2RmbHRyZXN2bmNmbWVtYWlsX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfTkVXTVlSRVNWX1RFTVBMQVRFJywnbmV3bXlyZXN2X3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfREZMVE1ZUkVTVl9URU1QTEFURScsJ2RmbHRteXJlc3ZfdGVtcGxhdGUnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUFJFRl9ORVdTRU5ERU1BSUxfVEVNUExBVEUnLCduZXdzZW5kZW1haWxfdGVtcGxhdGUnKTsKZGVmaW5lKCdBVkFJTEFCSUxJVFlfUFJFRl9ERkxUU0VOREVNQUlMX1RFTVBMQVRFJywnZGZsdHNlbmRlbWFpbF90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX05FV0FEVlNFQVJDSEZPUk1fVEVNUExBVEUnLCduZXdhZHZzZWFyY2hmb3JtX3RlbXBsYXRlJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1BSRUZfREZMVEFEVlNFQVJDSEZPUk1fVEVNUExBVEUnLCdkZmx0YWR2c2VhcmNoZm9ybV90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX05FV0RBWV9URU1QTEFURScsJ25ld2RheV90ZW1wbGF0ZScpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9QUkVGX0RGTFREQVlfVEVNUExBVEUnLCdkZmx0ZGF5X3RlbXBsYXRlJyk7CgojIFN0YXR1c2VzCmRlZmluZSgnQVZBSUxBQklMSVRZX1NUQVRVU19QRU5ESU5HJywncGVuZGluZycpOwpkZWZpbmUoJ0FWQUlMQUJJTElUWV9TVEFUVVNfQ0FOQ0VMTEVEJywnY2FuY2VsbGVkJyk7CmRlZmluZSgnQVZBSUxBQklMSVRZX1NUQVRVU19DT05GSVJNRUQnLCdjb25maXJtZWQnKTsKCiMgRGlzY291bnQgVHlwZXMKZGVmaW5lKCdBVkFJTEFCSUxJVFlfRElTQ09VTlRfTk9ORScsMCk7CmRlZmluZSgnQVZBSUxBQklMSVRZX0RJU0NPVU5UX0ZSRUVCTE9DSycsMSk7CmRlZmluZSgnQVZBSUxBQklMSVRZX0RJU0NPVU5UX0FMTEFESlVTVCcsMik7CmRlZmluZSgnQVZBSUxBQklMSVRZX0RJU0NPVU5UX0FESlVTVERBWVMnLDMpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_advanced_search_form_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAogICAgICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ2FkdnNlYXJjaGZvcm1fJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdBRFZTRUFSQ0hGT1JNX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX0RGTFRBRFZTRUFSQ0hGT1JNX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdhZGRlZGl0X2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJykpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_calendar_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBmdW5jdGlvbnMKLy8KZnVuY3Rpb24gaXNfbGVhcHllYXIoJHllYXIpCnsKICAkZiA9IDA7CiAgaWYoICR5ZWFyICUgNCA9PSAwICkgJGYgPSAxOwogIGlmKCAkeWVhciAlIDEwMCA9PSAwICkgJGYgPT0gMDsKICBpZiggJHllYXIgJSA0MDAgPT0gMCApICRmID0gMTsKICByZXR1cm4gJGY7Cn0KCmZ1bmN0aW9uIGdldF9hcnJheV9wb3MoJGhheXN0YWNrLCRuZWVkbGUpCnsKICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkaGF5c3RhY2spOyAkaSsrICkKICAgIHsKICAgICAgaWYoICRoYXlzdGFja1skaV0gPT0gJG5lZWRsZSApIHJldHVybiAkaTsKICAgIH0KICByZXR1cm4gRkFMU0U7Cn0KCi8vCi8vIENoZWNrIFBlcm1pc3Npb25zCi8vCgovLwovLyBJbml0aWFsaXplCi8vCiRzZWxfZXR5cGVzID0gYXJyYXkoKTsKJHNlbF9yZXNvdXJjZXMgPSBhcnJheSgpOwokc2VsX2NhdGVnb3JpZXMgPSBhcnJheSgpOwokZGF5c19pbl9tb250aCA9IGFycmF5KDMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzEpOwokdGhpc19kYXkgPSAoaW50KShzdHJmdGltZSgiJWQiLHRpbWUoKSkpOwokdGhpc19tb250aCA9IChpbnQpKHN0cmZ0aW1lKCIlbSIsdGltZSgpKSk7CiR0aGlzX3llYXIgPSBpbnR2YWwoc3RyZnRpbWUoIiVZIix0aW1lKCkpKTsKJHRoZV9tb250aCA9ICR0aGlzX21vbnRoOwokdGhlX2RheSA9ICR0aGlzX2RheTsKJHRoZV95ZWFyID0gJHRoaXNfeWVhcjsKJHZhY2FudG9iaiA9IG5ldyBTdGRDbGFzcygpOwokdmFjYW50b2JqLT5zdGF0dXMgPSAndmFjYW50JzsKJHZhY2FudG9iai0+ZmcgPSAnIzAwMCc7IC8vIHRvZG8KJHZhY2FudG9iai0+YmcgPSAjZmZmJzsgLy8gdG9kbwokdmFjYW50b2JqLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCd2YWNhbnQnKTsKJHBlbmRpbmdvYmogPSBuZXcgU3RkQ2xhc3MoKTsKJHBlbmRpbmdvYmotPnN0YXR1cyA9ICdwZW5kaW5nJzsKJHBlbmRpbmdvYmotPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BlbmRpbmdfZm9yZWdyb3VuZCcpOwokcGVuZGluZ29iai0+YmcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGVuZGluZ19iYWNrZ3JvdW5kJyk7CiRwZW5kaW5nb2JqLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCdwZW5kaW5nJyk7CgokcmVzZXJ2ZWRvYmogPSBuZXcgU3RkQ2xhc3MoKTsKJHJlc2VydmVkb2JqLT5zdGF0dXMgPSAncmVzZXJ2ZWQnOwokcmVzZXJ2ZWRvYmotPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc3ZuX2ZvcmVncm91bmQnKTsKJHJlc2VydmVkb2JqLT5iZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXN2bl9iYWNrZ3JvdW5kJyk7CiRyZXNlcnZlZG9iai0+bGFiZWwgPSAkdGhpcy0+TGFuZygncmVzZXJ2ZWQnKTsKCiRwYXJ0aWFsb2JqID0gbmV3IFN0ZENsYXNzKCk7CiRwYXJ0aWFsb2JqLT5zdGF0dXMgPSAncGFydGlhbCc7CiRwYXJ0aWFsb2JqLT5mZyA9ICdibGFjayc7IC8vIHRvZG8KJHBhcnRpYWxvYmotPmJnID0gJ2N5YW4nOyAvLyB0b2RvCiRwYXJ0aWFsb2JqLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCdwYXJ0aWFsbHlfcmVzZXJ2ZWQnKTsKCiRzdGF0aXN0aWNzID0gYXJyYXkoKTsKJHN0YXRpc3RpY3NbJ3ZhY2FudCddID0gMDsKJHN0YXRpc3RpY3NbJ3RvdGFsJ10gPSAwOwokc3RhdGlzdGljc1snY2xvc2VkJ10gPSAwOwokc3RhdGlzdGljc1sncmVzZXJ2ZWQnXSA9IDA7CiRzdGF0aXN0aWNzWydwZW5kaW5nJ10gPSAwOwokc3RhdGlzdGljc1snZXZlbnQnXSA9IDA7CiRzdGF0aXN0aWNzWydjb25mbGljdCddID0gMDsKJHN0YXRpc3RpY3NbJ3BhcnRpYWwnXSA9IDA7CiRzdGF0aXN0aWNzWydudW1wYXJ0cyddID0gMDsKJGxlZ2VuZCA9IGFycmF5KCk7CiRsZWdlbmRbJHRoaXMtPkxhbmcoJ3ZhY2FudCcpXSA9ICR2YWNhbnRvYmo7CiRsZWdlbmRbJHRoaXMtPkxhbmcoJ3Jlc2VydmVkJyldID0gJHJlc2VydmVkb2JqOwokbGVnZW5kWyR0aGlzLT5MYW5nKCdwZW5kaW5nJyldID0gJHBlbmRpbmdvYmo7CiRsZWdlbmRbJHRoaXMtPkxhbmcoJ3BhcnRpYWxseV9yZXNlcnZlZCcpXSA9ICRwYXJ0aWFsb2JqOwoKLy8KLy8gSGFuZGxlIGZpbHRlciBmb3JtIHN1Ym1pc3Npb24KLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbF95ZWFyJ10pICkKewogICR0aGVfeWVhciA9IChpbnQpJHBhcmFtc1snY2FsX3llYXInXTsKfQppZiggaXNzZXQoJHBhcmFtc1snY2FsX21vbnRoJ10pICkKewogICR0aGVfbW9udGggPSAoaW50KSRwYXJhbXNbJ2NhbF9tb250aCddOwogIGlmKCAkdGhlX21vbnRoIDw9IDAgKQogICAgewogICAgICAkdGhlX21vbnRoID0gMTI7CiAgICAgICR0aGVfeWVhci0tOwogICAgfQogIGVsc2UgaWYoICR0aGVfbW9udGggPiAxMiApCiAgICB7CiAgICAgICR0aGVfbW9udGggPSAxOwogICAgICAkdGhlX3llYXIrKzsKICAgIH0KfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbGVuZGFyX2ZpbHRlciddKSApCnsKICBpZiggaXNzZXQoJHBhcmFtc1snY2FsZW5kYXJfZGF0ZVllYXInXSkgKQogICAgewogICAgICAkdGhlX3llYXIgPSAoaW50KSRwYXJhbXNbJ2NhbGVuZGFyX2RhdGVZZWFyJ107CiAgICB9CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbGVuZGFyX2RhdGVNb250aCddKSApCiAgICB7CiAgICAgICR0aGVfbW9udGggPSAoaW50KSRwYXJhbXNbJ2NhbGVuZGFyX2RhdGVNb250aCddOwogICAgfQogIGlmKCBpc3NldCgkcGFyYW1zWydmaWx0ZXJfcnNyY3MnXSkgKQogICAgewogICAgICAkc2VsX3Jlc291cmNlcyA9ICRwYXJhbXNbJ2ZpbHRlcl9yc3JjcyddOwogICAgfQogIGlmKCBpc3NldCgkcGFyYW1zWydmaWx0ZXJfY2F0cyddKSApCiAgICB7CiAgICAgICRzZWxfY2F0ZWdvcmllcyA9ICRwYXJhbXNbJ2ZpbHRlcl9jYXRzJ107CiAgICB9CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2ZpbHRlcl9ldHlwZXMnXSkgKQogICAgewogICAgICAkc2VsX2V0eXBlcyA9ICRwYXJhbXNbJ2ZpbHRlcl9ldHlwZXMnXTsKICAgIH0KfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydjYWxlbmRhcl9yZXNldCddKSApCnsKICAkc2VsX3Jlc291cmNlcyA9IGFycmF5KCk7CiAgJHNlbF9jYXRlZ29yaWVzID0gYXJyYXkoKTsKICAkc2VsX2V0eXBlcyA9IGFycmF5KCk7CiAgJHRoZV9tb250aCA9ICR0aGlzX21vbnRoOwogICR0aGVfeWVhciA9ICR0aGlzX3llYXI7Cn0KaWYoIGlzX2xlYXB5ZWFyKCR0aGVfeWVhcikgKQp7CiAgJGRheXNfaW5fbW9udGhbMV0gPSAyOTsKfQokZGlzcGRhdGUgPSBta3RpbWUoMCwwLDAsJHRoZV9tb250aCwxLCR0aGVfeWVhcik7CiRtb250aF9zdGFydF91ID0gbWt0aW1lKDAsMCwwLCR0aGVfbW9udGgsMSwkdGhlX3llYXIpOwokbW9udGhfZW5kX3UgPSBta3RpbWUoMjMsNTksMCwkdGhlX21vbnRoLCRkYXlzX2luX21vbnRoWyR0aGVfbW9udGgtMV0sJHRoZV95ZWFyKTsKJG1vbnRoX3N0YXJ0X2RheSA9ICRkYi0+RGJUaW1lU3RhbXAoJG1vbnRoX3N0YXJ0X3UpOwokbW9udGhfZW5kX2RheSA9ICRkYi0+RGJUaW1lU3RhbXAoJG1vbnRoX2VuZF91KTsKCgovLwovLyBCdWlsZCBhIGdyaWQgZnJvbSBzZWxlY3RlZCBkYXRhCi8vIEdyaWQgaXMgcmVzb3VyY2VzIGFjcm9zcyB0aGUgdG9wCi8vIERheXMgYWxvbmcgdGhlIGJvdHRvbS4KLy8gVGhlIDAgdmFsdWVzIGlzIHRoZSBjb2x1bW4gYW5kIHJvdyBoZWFkZXIKLy8gCi8vCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgV0hFUkUgYWN0aXZlID0gMSc7CmlmKCBjb3VudCgkc2VsX2NhdGVnb3JpZXMpICkKewogICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgQQogICAgICAgICAgICAgIExFRlQgSk9JTiAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0NBVFMuJyBCCiAgICAgICAgICAgICAgICBPTiBBLmlkID0gQi5yc3JjX2lkCiAgICAgICAgICAgICBXSEVSRSBhY3RpdmUgPSAxCiAgICAgICAgICAgICAgIEFORCBCLmNhdGVnb3J5X2lkIElOICgnLmltcGxvZGUoJywnLCRzZWxfY2F0ZWdvcmllcykuJyknOwp9CmVsc2UgaWYoIGNvdW50KCRzZWxfcmVzb3VyY2VzKSApCnsKICAkcXVlcnkgLj0gJyBBTkQgaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHNlbF9yZXNvdXJjZXMpLicpJzsKfQokcnNyY3MgPSAnJzsKJHJzcmNzX2luZGV4ID0gJyc7CnsKICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogIC8vIGNhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIHNsb3RzIGZvciBlYWNoIHJlc291cmNlCiAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKQogICAgewogICAgICAkdG1wMiA9JiAkdG1wWyRpXTsKICAgICAgc3dpdGNoKCR0bXAyWydyZXNfaW50ZXJ2YWwnXSkKCXsKCWNhc2UgJ2RhaWx5JzoKCSAgJHRtcDJbJ2V4dF9udW1zbG90cyddID0gMTsKCSAgYnJlYWs7CgljYXNlICdoYWxmX2RheSc6CgkgICR0bXAyWydleHRfbnVtc2xvdHMnXSA9IDI7CgkgIGJyZWFrOwoJY2FzZSAnaG91cmx5JzoKCSAgJG5zbG90cyA9IChpbnQpKChzdHJ0b3RpbWUoJHRtcDJbJ2VuZHRpbWUxJ10pIC0gc3RydG90aW1lKCR0bXAyWydzdGFydHRpbWUxJ10pKSAvIDM2MDApOwoJICAkbnNsb3RzICs9IChpbnQpKChzdHJ0b3RpbWUoJHRtcDJbJ2VuZHRpbWUyJ10pIC0gc3RydG90aW1lKCR0bXAyWydzdGFydHRpbWUyJ10pKSAvIDM2MDApOwoJICAkdG1wMlsnZXh0X251bXNsb3RzJ10gPSAkbnNsb3RzOwoJICBicmVhazsKCX0KICAgIH0KICAkcnNyY3MgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKICAkcnNyY3NfaW5kZXggPSBhcnJheV9rZXlzKCRyc3Jjcyk7Cn0KCgokZ3JpZCA9IGFycmF5X2ZpbGwoMCwkZGF5c19pbl9tb250aFskdGhlX21vbnRoLTFdLGFycmF5X2ZpbGwoMCxjb3VudCgkcnNyY3MpKzEsJyZuYnNwOycpKTsKCi8vCi8vIGZpbGwgdGhlIGdyaWQgbGFiZWxzCi8vIHRvcCByb3cKJGdyaWRbMF1bMF0gPSAkZGlzcGRhdGU7CmZvciggJHIgPSAwOyAkciA8IGNvdW50KCRyc3Jjc19pbmRleCk7ICRyKysgKQp7CiAgJHJpZCA9ICRyc3Jjc19pbmRleFskcl07CiAgaWYoJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNPVVJDRVMpICkKICAgIHsKICAgICAgJGdyaWRbMF1bJHIrMV0gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2FkbWluX2VkaXRfcnNyYycsJycsJHJzcmNzWyRyaWRdWyduYW1lJ10sCgkJCQkJIGFycmF5KCdyc3JjaWQnPT4kcnNyY3NbJHJpZF1bJ2lkJ10pKTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgICRncmlkWzBdWyRyKzFdID0gJHJzcmNzWyRyaWRdWyduYW1lJ107CiAgICB9Cn0KLy8gY29sdW1ucwpmb3IoICRkID0gMTsgJGQgPD0gJGRheXNfaW5fbW9udGhbJHRoZV9tb250aC0xXTsgJGQrKyApCnsKICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9WSUVXUkVTVikgfHwKICAgICAgJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpKQogICAgewogICAgICAkZ3JpZFskZF1bMF0gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2FkbWluX3ZpZXdfZGF5JywnJywkZCwKCQkJCSAgICAgICBhcnJheSgnZGF5Jz0+JGQsJ21vbnRoJz0+JHRoZV9tb250aCwneWVhcic9PiR0aGVfeWVhcikpOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgJGdyaWRbJGRdWzBdID0gJGQ7CiAgICB9Cn0KCi8vCi8vIEZpbGwgdGhlIGdyaWQgdmFsdWVzIHdpdGggdmFjYW5jaWVzCi8vCmZvciggJHIgPSAwOyAkciA8IGNvdW50KCRyc3Jjcyk7ICRyKysgKQp7CiAgZm9yKCAkZCA9IDE7ICRkIDw9ICRkYXlzX2luX21vbnRoWyR0aGVfbW9udGgtMV07ICRkKysgKQogIHsKICAgICRncmlkWyRkXVskcisxXSA9ICR2YWNhbnRvYmo7CiAgfQp9CgovLwovLyBGaWxsIHRoZSBhcHByaWF0ZSBncmlkIHZhbHVlcyB3aXRoIGV2ZW50IGluZm9ybWF0aW9uCi8vCiRldmVudHR5cGVzID0gYXJyYXkoKTsKewogICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UX1RZUEVTOwogICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgJGV2ZW50dHlwZXMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKfQoKJGV2ZW50cyA9ICcnOwp7CiAgJHF1ZXJ5ID0gJ1NFTEVDVCBBLiogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMuIiBBCiAgICAgICAgICAgICBMRUZUIEpPSU4gIi5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRfVFlQRVMuIiBCCiAgICAgICAgICAgICBPTiBBLmV2ZW50X3R5cGVfaWQgPSBCLmlkCiAgICAgICAgICAgICBXSEVSRSAgICAoQS5zdGFydF9kYXRlIEJFVFdFRU4gJG1vbnRoX3N0YXJ0X2RheSBBTkQgJG1vbnRoX2VuZF9kYXkpCiAgICAgICAgICAgICAgICAgICBPUiAoQS5lbmRfZGF0ZSBCRVRXRUVOICRtb250aF9zdGFydF9kYXkgQU5EICRtb250aF9lbmRfZGF5KQogICAgICAgICAgICAgICAgICAgT1IgKEEuc3RhcnRfZGF0ZSA8PSAkbW9udGhfc3RhcnRfZGF5IEFORCBBLmVuZF9kYXRlID49ICRtb250aF9lbmRfZGF5KSI7CiAgaWYoIGNvdW50KCRzZWxfZXR5cGVzKSApCiAgICB7CiAgICAgICRxdWVyeSAuPSAnIEFORCBBLmV2ZW50X3R5cGVfaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHNlbF9ldHlwZXMpLicpJzsKICAgIH0KICAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLmJvb2thYmxlIERFU0MsIEIuaW9yZGVyIEFTQyI7CiAgJGV2ZW50cyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0VWRU5UUy4nCiAgICAgV0hFUkUgZXZlbnRfaWQgPSA/JzsKICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZXZlbnRzKTsgJGkrKyApCiAgICB7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkZXZlbnRzWyRpXVsnaWQnXSkpOwogICAgICBpZiggJHRtcCApCgl7CgkgICRldmVudHNbJGldWydyc3JjcyddID0gJHRtcDsKCX0KICAgIH0KfQoKaWYoIGlzX2FycmF5KCRldmVudHMpICYmIGNvdW50KCRldmVudHMpICkKewogIGZvcmVhY2goICRldmVudHMgYXMgJG9uZSApCiAgICB7CiAgICAgICRyZXN2X3N0YXJ0X3UgPSAkZGItPlVuaXhUaW1lU3RhbXAoJG9uZVsnc3RhcnRfZGF0ZSddKTsKICAgICAgJHJlc3ZfZW5kX3UgPSAkZGItPlVuaXhUaW1lU3RhbXAoJG9uZVsnZW5kX2RhdGUnXSk7CiAgICAgICRyc3RhcnRfdSA9IG1heCgkcmVzdl9zdGFydF91LCRtb250aF9zdGFydF91KTsKICAgICAgJHJlbmRfdSA9IG1pbigkcmVzdl9lbmRfdSwkbW9udGhfZW5kX3UpOwoKICAgICAgJHNkYXkgPSBpbnR2YWwoc3RyZnRpbWUoIiVkIiwkcnN0YXJ0X3UpKTsKICAgICAgJGVkYXkgPSBpbnR2YWwoc3RyZnRpbWUoIiVkIiwkcmVuZF91KSk7CgogICAgICAkZXR5cGUgPSYgJGV2ZW50dHlwZXNbJG9uZVsnZXZlbnRfdHlwZV9pZCddXTsKICAgICAgCiAgICAgICRvYmogPSBuZXcgU3RkQ2xhc3MoKTsKICAgICAgJG9iai0+ZmcgPSAkZXR5cGVbJ2NvbG9yJ107CiAgICAgICRvYmotPmJnID0gJGV0eXBlWydiYWNrZ3JvdW5kJ107CiAgICAgIGlmKCAkb25lWydib29rYWJsZSddICkKCXsKCSAgJG9iai0+c3RhdHVzID0gJ2V2ZW50JzsKCX0KICAgICAgZWxzZQoJewoJICAkb2JqLT5zdGF0dXMgPSAnY2xvc2VkJzsKCX0KICAgICAgJGxlZ2VuZFskb25lWyduYW1lJ11dID0gJG9iajsKICAgICAgJG9iai0+bGFiZWwgPSAkb25lWyduYW1lJ107CiAgICAgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0VWRU5UUykgKQoJewoJICAkb2JqLT51cmwgICA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdhZG1pbl9lZGl0X2V2ZW50JywnJywKCQkJCQkgYXJyYXkoJ2V2ZW50aWQnPT4kb25lWydpZCddKSk7Cgl9CiAgICAgIGlmKCBpc3NldCgkb25lWydyc3JjcyddKSAmJiBjb3VudCgkb25lWydyc3JjcyddKSApCgl7CgkgIGZvciggJGQgPSAkc2RheTsgJGQgPD0gJGVkYXk7ICRkKysgKQoJICAgIHsKCSAgICAgIGZvciggJHIgPSAwOyAkciA8IGNvdW50KCRvbmVbJ3JzcmNzJ10pOyAkcisrICkKCQl7CgkJICBpZiggaXNzZXQoJHJzcmNzX2luZGV4WyRvbmVbJ3JzcmNzJ11bJHJdWydyc3JjX2lkJ11dKSApCgkJICAgIHsKCQkgICAgICAkY2FiaW4gPSAkcnNyY3NfaW5kZXhbJG9uZVsncnNyY3MnXVskcl1bJ3JzcmNfaWQnXV07CgkJICAgICAgJGdyaWRbJGRdWyRjYWJpbl0gPSAkb2JqOwoJCSAgICB9CgkJfQoJICAgIH0KCX0gCiAgICB9Cn0KdW5zZXQoJGV2ZW50cyk7CgoKLy8KLy8gRmlsbCB0aGUgZ3JpZCB2YWx1ZXMgd2l0aCByZXNlcnZhdGlvbiBpbmZvcm1hdGlvbgovLwoKJHJlc3ZuID0gJyc7CnsKICAkcXVlcnkgPSAnU0VMRUNUIERJU1RJTkNUIHJlc3ZfaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4iCiAgICAgICAgICAgICBXSEVSRSAoc3RhcnRfZGF0ZSBCRVRXRUVOICRtb250aF9zdGFydF9kYXkgQU5EICRtb250aF9lbmRfZGF5KSAKICAgICAgICAgICAgICAgIE9SIChlbmRfZGF0ZSBCRVRXRUVOICRtb250aF9zdGFydF9kYXkgQU5EICRtb250aF9lbmRfZGF5KQogICAgICAgICAgICAgT1JERVIgQlkgcmVzdl9pZCBBU0MiOwogICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgJHJpZHMgPSBjZ2VfYXJyYXk6OmV4dHJhY3RfZmllbGQoJHRtcCwncmVzdl9pZCcpOwoKICBpZiggJHJpZHMgKQogICAgewogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlMuJwogICAgICAgICAgICAgV0hFUkUgaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHJpZHMpLicpJzsKICAgICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICAgJHJlc3ZuID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ2lkJyk7CiAgICAgIAogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4nCiAgICAgICAgICAgICBXSEVSRSByZXN2X2lkIElOICgnLmltcGxvZGUoJywnLCRyaWRzKS4nKQogICAgICAgICAgICAgT1JERVIgQlkgcmVzdl9pZCxzdGFydF9kYXRlIEFTQyc7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkKCXsKCSAgJHBhcnQgPSYgJHRtcFskaV07CgkgICR0cmlkID0gJHBhcnRbJ3Jlc3ZfaWQnXTsKCSAgaWYoICFpc3NldCgkcmVzdm5bJHRyaWRdWydwYXJ0cyddKSApCgkgICAgewoJICAgICAgJHJlc3ZuWyR0cmlkXVsncGFydHMnXSA9IGFycmF5KCk7CgkgICAgfQoJICAkcmVzdm5bJHRyaWRdWydwYXJ0cyddW10gPSAkcGFydDsKCX0KICAgIH0KfQoKaWYoIGlzX2FycmF5KCRyZXN2bikgJiYgY291bnQoJHJlc3ZuKSApCnsKICBmb3IoICRyZXMgPSAwOyAkcmVzIDwgY291bnQoJHJlc3ZuKTsgJHJlcysrICkKICAgIHsKICAgICAgJG9uZXJlcyA9JiAkcmVzdm5bJHJlc107CgogICAgICAvLyBkb24ndCBkaXNwbGF5IGNhbmNlbGxlZCByZXNlcnZhdGlvbnMKICAgICAgaWYoICRvbmVyZXNbJ3N0YXR1cyddID09ICdjYW5jZWxsZWQnICkgY29udGludWU7CgogICAgICBmb3IoICRwbnVtID0gMDsgJHBudW0gPCBjb3VudCgkb25lcmVzWydwYXJ0cyddKTsgJHBudW0rKyApCgl7CgkgICRvbmVwYXJ0ID0mICRvbmVyZXNbJ3BhcnRzJ11bJHBudW1dOwoJICAkdGhlX3Jlc291cmNlID0mICRyc3Jjc1skb25lcGFydFsncnNyY19pZCddXTsKCSAgJHJpZHggPSBnZXRfYXJyYXlfcG9zKCRyc3Jjc19pbmRleCwkb25lcGFydFsncnNyY19pZCddKSsxOyAKCgkgICRyZXN2X3N0YXJ0X3UgPSAkZGItPlVuaXhUaW1lU3RhbXAoJG9uZXBhcnRbJ3N0YXJ0X2RhdGUnXSk7CgkgICRyZXN2X2VuZF91ID0gJGRiLT5Vbml4VGltZVN0YW1wKCRvbmVwYXJ0WydlbmRfZGF0ZSddKTsKCSAgJHJzdGFydF91ID0gbWF4KCRyZXN2X3N0YXJ0X3UsJG1vbnRoX3N0YXJ0X3UpOwoJICAkcmVuZF91ID0gbWluKCRyZXN2X2VuZF91LCRtb250aF9lbmRfdSk7CgkgICRzZGF5ID0gaW50dmFsKHN0cmZ0aW1lKCIlZCIsJHJzdGFydF91KSk7CgkgICRlZGF5ID0gaW50dmFsKHN0cmZ0aW1lKCIlZCIsJHJlbmRfdSkpOwoJICBpZiggJGVkYXkgPT0gJGRheXNfaW5fbW9udGhbJHRoZV9tb250aC0xXSAmJiAkcmVzdl9lbmRfdSA+ICRtb250aF9lbmRfdSApCgkgICAgewoJICAgICAgLy8gaGFjawoJICAgICAgJGVkYXkrKzsKCSAgICB9CgoJICBpZiggJHRoZV9yZXNvdXJjZVsncmVzX2ludGVydmFsJ10gIT0gJ2RhaWx5JyApCgkgICAgewoJICAgICAgJGQgPSAkc2RheTsKCgkgICAgICBpZiggaXNzZXQoJGdyaWRbJGRdWyRyaWR4XSkgJiYgCgkJICBpc19vYmplY3QoJGdyaWRbJGRdWyRyaWR4XSkgJiYKCQkgICgkZ3JpZFskZF1bJHJpZHhdLT5zdGF0dXMgPT0gJ3ZhY2FudCcgfHwgJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID09ICdwYXJ0aWFsJykpCgkJewoJCSAgJG9iaiA9IG5ldyBzdGRDbGFzczsKCQkgIGlmKCAhaXNzZXQoJG9iai0+bnVtcGFydHMpICkKCQkgICAgewoJCSAgICAgICRvYmotPm51bXBhcnRzID0gMTsKCQkgICAgfQoJCSAgZWxzZQoJCSAgICB7CgkJICAgICAgJG9iai0+bnVtcGFydHMrKzsKCQkgICAgfQoJCSAgJG9iai0+c3RhdHVzID0gJ3BhcnRpYWwnOwoJCSAgJG9iai0+dXJsID0gJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2FkbWluX3ZpZXdfZGF5JywnJywKCQkJCQkgICAgICAgYXJyYXkoJ3Jlc3ZuaWQnPT4kb25lcmVzWydpZCddLAoJCQkJCQkgICAgICdyc3JjaWQnPT4kcmlkeCkpOwoJCSAgJG9iai0+bGFiZWwgPSAkdGhpcy0+TGFuZygncGFydGlhbGx5X3Jlc2VydmVkX2xibCcsJG9iai0+bnVtcGFydHMsJHRoZV9yZXNvdXJjZVsnZXh0X251bXNsb3RzJ10pOwoJCSAgJG9iai0+ZmcgPSdibGFjayc7IC8vIHRvZG8KCQkgICRvYmotPmJnID0gJ2N5YW4nOyAvLyB0b2RvCgoJCSAgJGdyaWRbJGRdWyRyaWR4XSA9ICRvYmo7CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgIC8vIGNvbmZsaWN0IG9mIHNvbWUgdHlwZQoJCSAgJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID0gJ2NvbmZsaWN0JzsKCQkgICRncmlkWyRkXVskcmlkeF0tPmxhYmVsID0gJHRoaXMtPkxhbmcoJ2NvbmZsaWN0Jyk7CgkJICAkZ3JpZFskZF1bJHJpZHhdLT50aXRsZSA9ICR0aGlzLT5MYW5nKCd0aXRsZV9jb25mbGljdDInKTsKCQkgICRncmlkWyRkXVskcmlkeF0tPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2ZvcmVncm91bmQnKTsKCQkgICRncmlkWyRkXVskcmlkeF0tPmJnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2JhY2tncm91bmQnKTsKCQl9CgoJICAgICAgLy8gaGFuZGxlIGhvdXJseSBvciBoYWxmIGRheSBwYXJ0cy4KCSAgICAgIGNvbnRpbnVlOwoJICAgIH0KCgkgIC8vIGhhbmRsZSBmdWxsIGRheSByZXNlcnZhdGlvbiBwYXJ0cwoJICAkb2JqID0gbmV3IFN0ZENsYXNzKCk7CgkgICRvYmotPnJlc3YgPSAkb25lcmVzWydpZCddOwoJICBzd2l0Y2goICRvbmVyZXNbJ3N0YXR1cyddICkKCSAgICB7CgkgICAgY2FzZSAncGVuZGluZyc6CgkgICAgICAkb2JqLT5mZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwZW5kaW5nX2ZvcmVncm91bmQnKTsKCSAgICAgICRvYmotPmJnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BlbmRpbmdfYmFja2dyb3VuZCcpOwoJICAgICAgJG9iai0+c3RhdHVzID0gJ3BlbmRpbmcnOwoJICAgICAgYnJlYWs7CgkgICAgY2FzZSAnY29uZmlybWVkJzoKCSAgICAgICRvYmotPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc3ZuX2ZvcmVncm91bmQnKTsKCSAgICAgICRvYmotPmJnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc3ZuX2JhY2tncm91bmQnKTsKCSAgICAgICRvYmotPnN0YXR1cyA9ICdyZXNlcnZlZCc7CgkgICAgICBicmVhazsKCSAgICBjYXNlICdjYW5jZWxsZWQnOgoJICAgICAgYnJlYWs7CgkgICAgfQoJICAkb2JqLT5sYWJlbCA9ICR0aGlzLT5MYW5nKCdyZXNlcnZhdGlvbl9udW0nLCRvbmVyZXNbJ2lkJ10pOwoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpICkKCSAgICB7CgkgICAgICAkb2JqLT51cmwgPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnYWRtaW5fZWRpdF9yZXN2bicsJycsCgkJCQkJICAgYXJyYXkoJ3Jlc3ZuaWQnPT4kb25lcmVzWydpZCddKSk7CgkgICAgfQoJICBlbHNlIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1ZJRVdSRVNWKSApCgkgICAgewoJICAgICAgJG9iai0+dXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhZG1pbl92aWV3X3Jlc3ZuJywnJywKCQkJCQkgICAgYXJyYXkoJ3Jlc3ZuaWQnPT4kb25lcmVzWydpZCddKSk7CgkgICAgfQogICAgICAKCSAgZm9yKCAkZCA9ICRzZGF5OyAkZCA8ICRlZGF5OyAkZCsrICkKCSAgICB7CgkgICAgICBpZiggaXNzZXQoJGdyaWRbJGRdWyRyaWR4XSkgJiYgCgkJICBpc19vYmplY3QoJGdyaWRbJGRdWyRyaWR4XSkgJiYKCQkgIChpc3NldCgkZ3JpZFskZF1bJHJpZHhdLT5yZXN2KSAmJiAoJGdyaWRbJGRdWyRyaWR4XS0+cmVzdiAhPSAkb25lcmVzWydpZCddKSkgJiYKCQkgICgkZ3JpZFskZF1bJHJpZHhdLT5zdGF0dXMgPT0gJ3BlbmRpbmcnIHx8ICRncmlkWyRkXVskcmlkeF0tPnN0YXR1cyA9PSAncmVzZXJ2ZWQnIHx8CgkJICAgJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID09ICdjbG9zZWQnKSApCgkJewoJCSAgLy8gb29wcywgYWxyZWFkeSBhIHJlc2VydmF0aW9uIGZvciB0aGlzIGRheQoJCSAgLy8gbm93IHdlIGdvdHRhIHRoaW5rIGFib3V0IHNvbWV0aGluZy4uLgoJCSAgJGdyaWRbJGRdWyRyaWR4XS0+c3RhdHVzID0gJ2NvbmZsaWN0JzsKCQkgICRncmlkWyRkXVskcmlkeF0tPmxhYmVsID0gJHRoaXMtPkxhbmcoJ2NvbmZsaWN0Jyk7CgkJICAkZ3JpZFskZF1bJHJpZHhdLT50aXRsZSA9ICR0aGlzLT5MYW5nKCd0aXRsZV9jb25mbGljdCcsJGdyaWRbJGRdWyRyaWR4XS0+cmVzdiwkb25lcmVzWydpZCddKTsKCQkgICRncmlkWyRkXVskcmlkeF0tPmZnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2ZvcmVncm91bmQnKTsKCQkgICRncmlkWyRkXVskcmlkeF0tPmJnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2JhY2tncm91bmQnKTsKCQl9CgkgICAgICBlbHNlCgkJewoJCSAgJGdyaWRbJGRdWyRyaWR4XSA9ICRvYmo7CgkJfQoJICAgIH0gLy8gZm9yIGVhY2ggZGF5IG9mIHRoZSByZXNlcnZhdGlvbi4KCX0gLy8gZm9yIGVhY2ggcGFydAogICAgfSAvLyBmb3IgZWFjaCByZXNlcnZhdGlvbgp9CnVuc2V0KCRyZXN2bik7CgovLwovLyBHYXRoZXIgU3RhdGlzdGljcwovLwpmb3IoICRkID0gMTsgJGQgPCBjb3VudCgkZ3JpZCk7ICRkKysgKQp7CiAgZm9yKCAkciA9IDE7ICRyIDwgY291bnQoJGdyaWRbMF0pOyAkcisrICkKICAgIHsKICAgICAgJHJpZCA9ICRyc3Jjc19pbmRleFskci0xXTsKICAgICAgJG51bSA9ICRyc3Jjc1skcmlkXVsnZXh0X251bXNsb3RzJ107CgogICAgICBpZiggaXNfb2JqZWN0KCRncmlkWyRkXVskcl0pICkKCXsKCSAgJHMgPSAkZ3JpZFskZF1bJHJdLT5zdGF0dXM7CgkgICRzdGF0aXN0aWNzWyRzXSsrOwoJICBpZiggJHMgPT0gJ3BhcnRpYWwnICkKCSAgICB7CgkgICAgICAkc3RhdGlzdGljc1snbnVtcGFydHMnXSs9JGdyaWRbJGRdWyRyXS0+bnVtcGFydHM7CgkgICAgfQoJICAkc3RhdGlzdGljc1sndG90YWwnXSArPSAkbnVtOwoJfQogICAgfQp9CgovLyAKLy8gRGlzcGxheSB0aGUgZm9ybQovLwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJywKCQkJCQkgJHJldHVybmlkLAoJCQkJCSBhcnJheSgnY2dfYWN0aXZldGFiJz0+J2NhbGVuZGFyJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKewogICRxdWVyeSA9ICdTRUxFQ1QgaWQsbmFtZSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgT1JERVIgQlkgbmFtZSc7CiAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICBpZiggJHRtcCApCiAgICB7CiAgICAgICRvcHRzID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKCXsKCSAgJG9wdHNbJG9uZVsnbmFtZSddXSA9ICRvbmVbJ2lkJ107Cgl9CiAgICAgICRhZGR0ZXh0ID0gJ2lkPSJmaWx0ZXJfcnNyY3MiIG9uQ2hhbmdlPSJjbGVhckNhdGVnb3JpZXMoKSInOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpbHRlcl9yZXNvdXJjZXMnLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCdmaWx0ZXJfcnNyY3NbXScsCgkJCQkJCSAgICRvcHRzLCRzZWxfcmVzb3VyY2VzLAoJCQkJCQkgICAzLCRhZGR0ZXh0KSk7CiAgICB9Cn0KCnsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9DQVRTOwogICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgaWYoICR0bXAgKQogICAgewogICAgICAkb3B0cyA9IGFycmF5KCk7CiAgICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApCgl7CgkgICRvcHRzWyRvbmVbJ25hbWUnXV0gPSAkb25lWydpZCddOwoJfQogICAgICAkYWRkdGV4dCA9ICdpZD0iZmlsdGVyX2NhdHMiIG9uQ2hhbmdlPSJjbGVhclJlc291cmNlcygpIic7CiAgICAgICRzbWFydHktPmFzc2lnbignZmlsdGVyX2NhdGVnb3JpZXMnLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCdmaWx0ZXJfY2F0c1tdJywKCQkJCQkJICAgJG9wdHMsJHNlbF9jYXRlZ29yaWVzLAoJCQkJCQkgICAzLCAkYWRkdGV4dCkpOwogICAgfQp9CiRzbWFydHktPmFzc2lnbignZmlsdGVyX3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FsZW5kYXJfZmlsdGVyJywkdGhpcy0+TGFuZygnYXBwbHknKSkpOwokc21hcnR5LT5hc3NpZ24oJ2ZpbHRlcl9yZXNldCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FsZW5kYXJfcmVzZXQnLCR0aGlzLT5MYW5nKCdyZXNldCcpKSk7Cgp7CiAgJG9wdHMgPSBhcnJheSgpOwogIGZvcmVhY2goICRldmVudHR5cGVzIGFzICRrZXkgPT4gJHZhbHVlICkKICAgIHsKICAgICAgJG9wdHNbJHZhbHVlWyduYW1lJ11dID0gJGtleTsKICAgIH0KICAkc21hcnR5LT5hc3NpZ24oJ2ZpbHRlcl9ldHlwZXMnLAoJCSAgJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJ2ZpbHRlcl9ldHlwZXNbXScsCgkJCQkJICAgICAgICRvcHRzLCRzZWxfZXR5cGVzKSk7Cn0KJHNtYXJ0eS0+YXNzaWduKCdwcmV2bW9udGhfbGluaycsCgkJJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLAoJCQkJICAkdGhpcy0+TGFuZygncHJldicpLAoJCQkJICBhcnJheSgnY2dfYWN0aXZldGFiJz0+J2NhbGVuZGFyJywKCQkJCQknY2FsX21vbnRoJz0+JHRoZV9tb250aC0xLAoJCQkJCSdjYWxfeWVhcic9PiR0aGVfeWVhcikpKTsKJHNtYXJ0eS0+YXNzaWduKCduZXh0bW9udGhfbGluaycsCgkJJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLAoJCQkJICAkdGhpcy0+TGFuZygnbmV4dCcpLAoJCQkJICBhcnJheSgnY2dfYWN0aXZldGFiJz0+J2NhbGVuZGFyJywKCQkJCQknY2FsX21vbnRoJz0+JHRoZV9tb250aCsxLAoJCQkJCSdjYWxfeWVhcic9PiR0aGVfeWVhcikpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGF0aXN0aWNzJywkc3RhdGlzdGljcyk7CiRzbWFydHktPmFzc2lnbignbGVnZW5kJywkbGVnZW5kKTsKJHNtYXJ0eS0+YXNzaWduKCdncmlkJywkZ3JpZCk7CiRzbWFydHktPmFzc2lnbignZGlzcGRhdGUnLCRkaXNwZGF0ZSk7CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU0VSVkFUSU9OUykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignZ3JhcGhfaWNvbl91cmwnLAoJCSAgICAnLi4vbW9kdWxlcy8nLiR0aGlzLT5HZXROYW1lKCkuJy9pY29ucy9jaGFydF9iYXIucG5nJyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2dyYXBoaW5nX3VybCcsCgkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdhZG1pbl9ncmFwaGluZycsJHJldHVybmlkKSk7CiAgfQoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9jYWxlbmRhcl90YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_calendar_view_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fY2FsZW5kYXJfdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAogICAgICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ2NhbGVuZGFyXycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfTkVXQ0FMRU5EQVJfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhbGVuZGFyX3ZpZXdfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ERkxUQ0FMRU5EQVJfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfY2FsZW5kYXJfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19jYWxlbmRhcl90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnKSk7CgoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_categories_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGIgPSYgJHRoaXMtPkdldERiKCk7CiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0NBVFMuJwogICAgICAgICAgIE9SREVSIEJZIG5hbWUnOwokY2F0ZWdvcmllcyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKaWYoIGlzX2FycmF5KCRjYXRlZ29yaWVzKSAmJiBjb3VudCgkY2F0ZWdvcmllcykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignY2F0ZWdvcmllcycsJGNhdGVnb3JpZXMpOwogIH0KCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fY2F0ZWdvcmllc190YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_customer_email_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlc190YWInKSk7CiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVsaXN0JywKICAgICAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdjdXN0ZW1haWxfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdDVVNURU1BSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2N1c3RvbWVyX2VtYWlsX3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfREZMVENVU1RFTUFJTF9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnYWRkZWRpdF9jdXN0ZW1haWxfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19jdXN0ZW1haWxfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJykpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_custom_fields_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgewogICAgZGllKCdwZXJtaXNzaW9uIGRlbmllZCcpOwogIH0KCiRtYXggPSAkZGItPkdldE9uZSgnU0VMRUNUIG1heChpdGVtX29yZGVyKSBhcyBtYXhfaXRlbV9vcmRlciBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEREVGUyk7CgokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRERFRlMuJyAKICAgICAgICAgICBPUkRFUiBCWSBpdGVtX29yZGVyJzsKJGN1c3RvbV9maWVsZHMgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CmlmKCBjb3VudCgkY3VzdG9tX2ZpZWxkcykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignY3VzdG9tX2ZpZWxkcycsJGN1c3RvbV9maWVsZHMpOwogIH0KCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fY3VzdG9tX2ZpZWxkc190YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_day_view_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fZGF5X3RlbXBsYXRlc190YWInKSk7CiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVsaXN0JywKICAgICAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdkYXlfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdEQVlfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RheV92aWV3X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfREZMVERBWV9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnYWRkZWRpdF9kYXlfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19kYXlfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJykpOwoKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndGVtcGxhdGVfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_default_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgojIFN5c3RlbSBEZWZhdWx0IENhbGVuZGFyIFZpZXcgVGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV0NBTEVOREFSX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnLCAnZGVmYXVsdF90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfY2FsZW5kYXJfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3JpZ19jYWxlbmRhcl90ZW1wbGF0ZS50cGwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfdGVtcGxhdGUnKSk7CgplY2hvICc8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwLjVlbTsgaGVpZ2h0OiAwLjVlbTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nLiJcbiI7CgojIFN5c3RlbSBEZWZhdWx0IFJlc291cmNlIFN1bW1hcnkgVGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV1NVTU1BUllfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycsICdkZWZhdWx0X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yaWdfc3VtbWFyeV90ZW1wbGF0ZS50cGwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfdGVtcGxhdGUnKSk7CgplY2hvICc8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwLjVlbTsgaGVpZ2h0OiAwLjVlbTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nLiJcbiI7CgoKIyBTeXN0ZW0gRGVmYXVsdCBSZXNvdXJjZSBEZXRhaWwgVGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV0RFVEFJTF9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJywgJ2RlZmF1bHRfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmlnX2RldGFpbF90ZW1wbGF0ZS50cGwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfdGVtcGxhdGUnKSk7CgplY2hvICc8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwLjVlbTsgaGVpZ2h0OiAwLjVlbTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nLiJcbiI7CgojIFN5c3RlbSBEZWZhdWx0IERheSBWaWV3IFRlbXBsYXRlCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdEQVlfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycsICdkZWZhdWx0X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9kYXlfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3JpZ19kYXlfdGVtcGxhdGUudHBsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKIyBTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBmb3JtIFRlbXBsYXRlCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdSRVNWTl9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJywgJ2RlZmF1bHRfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3Jlc3ZuX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yaWdfcmVzdm5fdGVtcGxhdGUudHBsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKCiMgU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gQ29uZmlybWF0aW9uIFRlbXBsYXRlCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdSRVNWTkNPTkZJUk1fVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycsICdkZWZhdWx0X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yaWdfcmVzdm5fY29uZmlybV90ZW1wbGF0ZS50cGwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfdGVtcGxhdGUnKSk7CgplY2hvICc8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwLjVlbTsgaGVpZ2h0OiAwLjVlbTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nLiJcbiI7CgoKIyBTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBDb25maXJtYXRpb24gRW1haWwgVGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV1JFU1ZOQ09ORklSTUVNQUlMX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnLCAnZGVmYXVsdF90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmlnX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUudHBsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKCiMgU3lzdGVtIERlZmF1bHQgQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGUKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV0FEVlNFQVJDSEZPUk1fVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycsICdkZWZhdWx0X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmlnX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlLnRwbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZScpKTsKCmVjaG8gJzxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAuNWVtOyBoZWlnaHQ6IDAuNWVtOyBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgd2lkdGg6IDgwJTsiPjwvZGl2PicuIlxuIjsKCgojIFN5c3RlbSBEZWZhdWx0IEN1c3RvbWVyIEVtYWlsIFRlbXBsYXRlIAplY2hvICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGVGb3JtKCR0aGlzLCRpZCwkcmV0dXJuaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfTkVXQ1VTVEVNQUlMX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnLCAnZGVmYXVsdF90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RmbHRfY3VzdGVtYWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yaWdfY3VzdG9tZXJfZW1haWxfdGVtcGxhdGUudHBsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKZWNobyAnPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07IGhlaWdodDogMC41ZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB3aWR0aDogODAlOyI+PC9kaXY+Jy4iXG4iOwoKIyBTeXN0ZW0gRGVmYXVsdCBDdXN0b21lciBFbWFpbCBUZW1wbGF0ZSAKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV01ZUkVTVl9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJywgJ2RlZmF1bHRfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X215cmVzdl90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmlnX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlLnRwbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZScpKTsKCmVjaG8gJzxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAuNWVtOyBoZWlnaHQ6IDAuNWVtOyBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgd2lkdGg6IDgwJTsiPjwvZGl2PicuIlxuIjsKCiMgU3lzdGVtIERlZmF1bHQgQ3VzdG9tZXIgRW1haWwgVGVtcGxhdGUgCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdTRU5ERU1BSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycsICdkZWZhdWx0X3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGZsdF9zZW5kZW1haWxfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3JpZ19zZW5kZW1haWxfdGVtcGxhdGUudHBsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZmx0X3RlbXBsYXRlJykpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_events_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBUT0RPOiBGT1JNIEZPUiBTRUxFQ1RJTkcgVFlQRQovLyBUT0RPOiBGT1JNIEZPUiBTRUxFQ1RJTkcgREFURVMKLy8gVE9ETzogUEFHSU5BVElPTgoKLy8KLy8gU2V0dXAKLy8KJHBhZ2VsaW1pdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdldmVudHNfcGFnZWxpbWl0JywyNSk7CiRib29rYWJsZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdldmVudHNfYm9va2FibGUnLC0xKTsKJGV2ZW50X3R5cGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZXZlbnRzX3R5cGUnLC0xKTsKJHVzZV9kYXRlcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdldmVudHNfdXNlX2RhdGVzJyxmYWxzZSk7CiRzdGFydGRhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZXZlbnRzX3N0YXJ0ZGF0ZScsdGltZSgpKTsKJGVuZGRhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZXZlbnRzX2VuZGRhdGUnLHRpbWUoKSk7CiRjdXJwYWdlX2V2ID0gMTsKCmlmKCBpc3NldCgkcGFyYW1zWydjdXJwYWdlX2V2J10pICkKICB7CiAgICAkY3VycGFnZV9ldiA9IChpbnQpJHBhcmFtc1snY3VycGFnZV9ldiddOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydidG5maWx0ZXJldmVudHMnXSkgKQogIHsKICAgICRwYWdlbGltaXQgPSAoaW50KSRwYXJhbXNbJ2lucHV0X3BhZ2VsaW1pdCddOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2V2ZW50c19wYWdlbGltaXQnLCRwYWdlbGltaXQpOwoKICAgICRib29rYWJsZSA9IChpbnQpJHBhcmFtc1snaW5wdXRfYm9va2FibGUnXTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdldmVudHNfYm9va2FibGUnLCRib29rYWJsZSk7CgogICAgJGV2ZW50X3R5cGUgPSAoaW50KSRwYXJhbXNbJ2lucHV0X3R5cGUnXTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdldmVudHNfdHlwZScsJGV2ZW50X3R5cGUpOwoKICAgICR1c2VfZGF0ZXMgPSAoaW50KSRwYXJhbXNbJ2lucHV0X3VzZV9kYXRlcyddOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2V2ZW50c191c2VfZGF0ZXMnLCR1c2VfZGF0ZXMpOwoKICAgICRzdGFydGRhdGUgPSBta3RpbWUoMCwwLDAsCgkJCShpbnQpJHBhcmFtc1snaW5wdXRfc3RhcnRkYXRlX01vbnRoJ10sCgkJCShpbnQpJHBhcmFtc1snaW5wdXRfc3RhcnRkYXRlX0RheSddLAoJCQkoaW50KSRwYXJhbXNbJ2lucHV0X3N0YXJ0ZGF0ZV9ZZWFyJ10pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2V2ZW50c19zdGFydGRhdGUnLCRzdGFydGRhdGUpOwoKICAgICRlbmRkYXRlID0gbWt0aW1lKDAsMCwwLAoJCQkoaW50KSRwYXJhbXNbJ2lucHV0X2VuZGRhdGVfTW9udGgnXSwKCQkJKGludCkkcGFyYW1zWydpbnB1dF9lbmRkYXRlX0RheSddLAoJCQkoaW50KSRwYXJhbXNbJ2lucHV0X2VuZGRhdGVfWWVhciddKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdldmVudHNfZW5kZGF0ZScsJGVuZGRhdGUpOwoKICAgICRjdXJwYWdlX2V2ID0gMTsKICB9CgovLyBzb21lIG1hdGgKJHN0YXJ0ZWxlbWVudCA9ICgkY3VycGFnZV9ldi0xKSokcGFnZWxpbWl0OwoKLy8KLy8gQnVpbGQgdGhlIGZvcm0KLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2V2ZW50cycpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJywKCQkJCQkgJHJldHVybmlkLAoJCQkJCSBhcnJheSgnY2dfYWN0aXZldGFiJz0+J2V2ZW50cycpKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiR0bXAgPSBhcnJheSgkdGhpcy0+TGFuZygnYWxsJyk9PjEwMDAwMDAsJzUnPT41LCcxMCc9PjEwLCcyNSc9PjI1LCc1MCc9PjUwLCcxMDAnPT4xMDApOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3BhZ2VsaW1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdpbnB1dF9wYWdlbGltaXQnLCR0bXAsLTEsJHBhZ2VsaW1pdCkpOwokdG1wID0gYXJyYXkoJHRoaXMtPkxhbmcoJ2FueScpPT4tMSwkdGhpcy0+TGFuZygneWVzJyk9PjEsJHRoaXMtPkxhbmcoJ25vJyk9PjApOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Jvb2thYmxlJywkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X2Jvb2thYmxlJywkdG1wLC0xLCRib29rYWJsZSkpOwokdHlwZXMgPSAkdGhpcy0+R2V0RXZlbnRUeXBlRHJvcGRvd25MaXN0KHRydWUpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3R5cGUnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfdHlwZScsJHR5cGVzLC0xLCRldmVudF90eXBlKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlX2RhdGVzJywkdGhpcy0+Q3JlYXRlSW5wdXRZZXNOb0Ryb3Bkb3duKCRpZCwnaW5wdXRfdXNlX2RhdGVzJywkdXNlX2RhdGVzKSk7CiRzbWFydHktPmFzc2lnbignYnRuZmlsdGVyJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdidG5maWx0ZXJldmVudHMnLCR0aGlzLT5MYW5nKCdhcHBseScpKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc3RhcnRkYXRlJywkc3RhcnRkYXRlKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9lbmRkYXRlJywkZW5kZGF0ZSk7CgovLwovLyBUaGUgZGF0YSBmb3IgZGlzcGxheQovLwoKLy8gYnVpbGQgdGhlIHF1ZXJpZXMKJHFwYXJtcyA9IGFycmF5KCk7CiR3aGVyZSA9IGFycmF5KCk7CiRqb2lucyA9IGFycmF5KCk7CiRxdWVyeTEgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMuJyBFVic7CiRxdWVyeTIgPSAnU0VMRUNUIGNvdW50KGlkKSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UUy4nIEVWJzsKaWYoICRib29rYWJsZSAhPSAtMSApCiAgewogICAgJHdoZXJlW10gPSAnRVYuYm9va2FibGUgPSA/JzsKICAgICRxcGFybXNbXSA9ICRib29rYWJsZTsKICB9CmlmKCAkZXZlbnRfdHlwZSAhPSAtMSApCiAgewogICAgJHdoZXJlW10gPSAnRVYuZXZlbnRfdHlwZV9pZCA9ID8nOwogICAgJHFwYXJtc1tdID0gJGV2ZW50X3R5cGU7CiAgfQppZiggJHVzZV9kYXRlcyApCiAgewogICAgJGRiX3N0YXJ0ZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJHN0YXJ0ZGF0ZSk7CiAgICAkZGJfZW5kZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJGVuZGRhdGUpOwogICAgJHdoZXJlW10gPSAiRVYuc3RhcnRfZGF0ZSA+PSAkZGJfc3RhcnRkYXRlIjsKICAgICR3aGVyZVtdID0gIkVWLmVuZF9kYXRlIDw9ICRkYl9lbmRkYXRlIjsKICB9Ci8vIEFzc2VtYmxlIHRoZSBxdWVyaWVzCmlmKCBjb3VudCgkam9pbnMpICkKICB7CiAgICAkcXVlcnkxIC49ICcgTEVGVCBKT0lOICcuaW1wbG9kZSgnIExFRlQgSk9JTiAnLCRqb2lucyk7CiAgICAkcXVlcnkyIC49ICcgTEVGVCBKT0lOICcuaW1wbG9kZSgnIExFRlQgSk9JTiAnLCRqb2lucyk7CiAgfQppZiggY291bnQoJHdoZXJlKSApCiAgewogICAgJHF1ZXJ5MSAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsJHdoZXJlKTsKICAgICRxdWVyeTIgLj0gJyBXSEVSRSAnIC4gaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CiAgfQoKCi8vIEdldCB0aGUgZGF0YQokZGJyID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnkxLCRwYWdlbGltaXQsJHN0YXJ0ZWxlbWVudCwkcXBhcm1zKTsKLy9lY2hvICdERUJVRzogcXVlcnkgPSAnLiRkYi0+c3FsLic8YnIvPic7CiRldmVudHMgPSBhcnJheSgpOwp3aGlsZSggJGRiciAmJiAkcm93ID0gJGRici0+RmV0Y2hSb3coKSApCiAgewogICAgJGV2ZW50c1tdID0gJHJvdzsKICB9CmlmKCBpc19hcnJheSgkZXZlbnRzKSAmJiBjb3VudCgkZXZlbnRzKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdldmVudHMnLCRldmVudHMpOwogIH0KCgovLyBHZXQgdGhlIGNvdW50CiRudW1yZWNvcmRzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5MiwkcXBhcm1zKTsKJG5wYWdlcyA9IChpbnQpKChpbnQpJG51bXJlY29yZHMgLyAkcGFnZWxpbWl0KTsKaWYoICgoaW50KSRudW1yZWNvcmRzICUgJHBhZ2VsaW1pdCkgKQogIHsKICAgICRucGFnZXMrKzsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlJywkY3VycGFnZV9ldi0xKTsKJHNtYXJ0eS0+YXNzaWduKCdjdXJwYWdlX2V2JywkY3VycGFnZV9ldik7CiRzbWFydHktPmFzc2lnbignbmV4dHBhZ2UnLCRjdXJwYWdlX2V2KzEpOwokc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsJG5wYWdlcyk7CgovLwovLyBPdXRwdXQKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9ldmVudHNfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_event_types_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVF9UWVBFUy4nCiAgICAgICAgICAgT1JERVIgQlkgaW9yZGVyLG5hbWUnOwokZXZlbnRfdHlwZXMgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CmlmKCBpc19hcnJheSgkZXZlbnRfdHlwZXMpICYmIGNvdW50KCRldmVudF90eXBlcykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignZXZlbnRfdHlwZXMnLCRldmVudF90eXBlcyk7CiAgfQoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9ldmVudF90eXBlc190YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_myreservations_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAogICAgICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ215cmVzdl8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV01ZUkVTVl9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ERkxUTVlSRVNWX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdhZGRlZGl0X215cmVzZXJ2YXRpb25zX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdGVtcGxhdGVzJykpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_preferences_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBDcmVhdGUgdGhlIGZvcm0KJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CnsKICAkeWVzbm8gPSBhcnJheSgpOwogICR5ZXNub1swXSA9ICR0aGlzLT5MYW5nKCdubycpOwogICR5ZXNub1sxXSA9ICR0aGlzLT5MYW5nKCd5ZXMnKTsKICAkc21hcnR5LT5hc3NpZ24oJ2xpc3RfeWVzbm8nLCR5ZXNubyk7Cn0KCnsKICAkaW50ZXJ2YWxzID0gYXJyYXkoKTsKICAkaW50ZXJ2YWxzWydob3VybHknXSA9ICR0aGlzLT5MYW5nKCdob3VybHknKTsKICAkaW50ZXJ2YWxzWydoYWxmX2RheSddID0gJHRoaXMtPkxhbmcoJ2hhbGZfZGF5Jyk7CiAgJGludGVydmFsc1snZGFpbHknXSA9ICR0aGlzLT5MYW5nKCdkYWlseScpOwogICRzbWFydHktPmFzc2lnbignaW50ZXJ2YWxzJywkaW50ZXJ2YWxzKTsKCiAgLy8gYXBwbGllcyBvbmx5IHRvIGhvdXJseSBpbnRlcnZhbAogICRncmFudWxhcml0eSA9IGFycmF5KCk7CiAgJGdyYW51bGFyaXR5WydxdWFydGVyX2hvdXInXSA9ICR0aGlzLT5MYW5nKCdxdWFydGVyX2hvdXInKTsKICAkZ3JhbnVsYXJpdHlbJ2hhbGZfaG91ciddID0gJHRoaXMtPkxhbmcoJ2hhbGZfaG91cicpOwogICRncmFudWxhcml0eVsnaG91ciddID0gJHRoaXMtPkxhbmcoJ29uZV9ob3VyJyk7CiAgJHNtYXJ0eS0+YXNzaWduKCdncmFudWxhcml0eScsJGdyYW51bGFyaXR5KTsKCiAgJHNtYXJ0eS0+YXNzaWduKCdzdGFydHRpbWUxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3RhcnR0aW1lXzEnKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdlbmR0aW1lMScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VuZHRpbWVfMScpKTsKICAkc21hcnR5LT5hc3NpZ24oJ3N0YXJ0dGltZTInLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGFydHRpbWVfMicpKTsKICAkc21hcnR5LT5hc3NpZ24oJ2VuZHRpbWUyJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW5kdGltZV8yJykpOwp9CiRzbWFydHktPmFzc2lnbignZGZsdF9pbnRlcnZhbCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RmbHRfaW50ZXJ2YWwnLCdkYWlseScpKTsKJHNtYXJ0eS0+YXNzaWduKCdkZmx0X2dyYW51bGFyaXR5JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGZsdF9ncmFudWxhcml0eScsJ2hhbGZfaG91cicpKTsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl91cGRhdGVfcHJlZmVyZW5jZXMnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNvdXJjZV90eXBlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwncmVzb3VyY2VfdHlwZScsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc291cmNlX3R5cGUnLCdyZXNvdXJjZScpLDUwLDUwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY3VycmVuY3lfc3ltYm9sJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnY3VycmVuY3lfc3ltYm9sJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJywnJCcpLDIsMikpOwoKJHNtYXJ0eS0+YXNzaWduKCdjaGVja2luX3RpbWUnLHN0cnRvdGltZSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hlY2tpbl90aW1lJywnMTQ6MDAnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NoZWNrb3V0X3RpbWUnLHN0cnRvdGltZSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2hlY2tvdXRfdGltZScsJzExOjAwJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdlcnJvcl9ub19wcmljZXMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlcnJvcl9ub19wcmljZXMnLDEpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfYWxsb3dlZF9pbWFnZV90eXBlcycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2ltYWdlX3R5cGVzJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfdHlwZXMnKSw1MCwyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hdXRvX3RodW1ibmFpbCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ2F1dG9fdGh1bWJuYWlsJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b190aHVtYm5haWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsbG93ZWRfZmlsZV90eXBlcycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2ZpbGVfdHlwZXMnLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmaWxlX3R5cGVzJyksNTAsMjU1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY2FsZW5kYXJfcmVzdm5fZm9yZWdyb3VuZCcsCiAgICAgICAgICAgICAgICAkdGhpcy0+Q3JlYXRlQ29sb3JEcm9wZG93bigkaWQsJ3Jlc3ZuX2ZvcmVncm91bmQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXN2bl9mb3JlZ3JvdW5kJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYWxlbmRhcl9yZXN2bl9iYWNrZ3JvdW5kJywKICAgICAgICAgICAgICAgICR0aGlzLT5DcmVhdGVDb2xvckRyb3Bkb3duKCRpZCwncmVzdm5fYmFja2dyb3VuZCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Jlc3ZuX2JhY2tncm91bmQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhbGVuZGFyX2NvbmZsaWN0X2ZvcmVncm91bmQnLAogICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUNvbG9yRHJvcGRvd24oJGlkLCdjb25mbGljdF9mb3JlZ3JvdW5kJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29uZmxpY3RfZm9yZWdyb3VuZCcpKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY2FsZW5kYXJfY29uZmxpY3RfYmFja2dyb3VuZCcsCiAgICAgICAgICAgICAgICAkdGhpcy0+Q3JlYXRlQ29sb3JEcm9wZG93bigkaWQsJ2NvbmZsaWN0X2JhY2tncm91bmQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb25mbGljdF9iYWNrZ3JvdW5kJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYWxlbmRhcl9wZW5kaW5nX2ZvcmVncm91bmQnLAogICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUNvbG9yRHJvcGRvd24oJGlkLCdwZW5kaW5nX2ZvcmVncm91bmQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwZW5kaW5nX2ZvcmVncm91bmQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhbGVuZGFyX3BlbmRpbmdfYmFja2dyb3VuZCcsCiAgICAgICAgICAgICAgICAkdGhpcy0+Q3JlYXRlQ29sb3JEcm9wZG93bigkaWQsJ3BlbmRpbmdfYmFja2dyb3VuZCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BlbmRpbmdfYmFja2dyb3VuZCcpKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY2FsZW5kYXJfcGFydGlhbF9mb3JlZ3JvdW5kJywKICAgICAgICAgICAgICAgICR0aGlzLT5DcmVhdGVDb2xvckRyb3Bkb3duKCRpZCwncGFydGlhbF9mb3JlZ3JvdW5kJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgncGFydGlhbF9mb3JlZ3JvdW5kJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYWxlbmRhcl9wYXJ0aWFsX2JhY2tncm91bmQnLAogICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUNvbG9yRHJvcGRvd24oJGlkLCdwYXJ0aWFsX2JhY2tncm91bmQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYXJ0aWFsX2JhY2tncm91bmQnKSkpOwoKCiRjb25maWcgPSYgJGdDbXMtPkdldENvbmZpZygpOwokb3B0cyA9IGFycmF5KCk7CiRzdHIgPSBiYXNlbmFtZSgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSk7CiRvcHRzWyRzdHJdID0gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ107CnsKICAkdG1wID0gJHRoaXMtPmdldF9kaXJfbGlzdCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSk7CiAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKICB7CiAgICAkb3B0c1skc3RyLicvJy4kb25lXSA9ICRjb25maWdbJ3VwbG9hZHNfcGF0aCddLicvJy4kb25lOwogIH0KfQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2F0dGFjaG1lbnRfZGlyJywKICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnYXR0YWNobWVudF9kaXInLCRvcHRzLC0xLAogICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F0dGFjaG1lbnRfZGlyJykpKTsKCiRmZXUgPSYgJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCBpc19vYmplY3QoJGZldSkgKQogIHsKICAgICRncm91cHMgPSAkZmV1LT5HZXRHcm91cExpc3QoKTsKICAgICRncm91cHMgPSBhcnJheV9tZXJnZShhcnJheSgkdGhpcy0+TGFuZygnbm9uZScpPT4tMSksJGdyb3Vwcyk7IAogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jdXN0b21lcl9ncm91cCcsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnY3VzdG9tZXJfZ3JvdXAnLCRncm91cHMsCgkJCQkJICAgICAgIC0xLAoJCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VzdG9tZXJfZ3JvdXAnKSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnLAoJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJywneyR1c2VybmFtZX0nKSwKCQkJCQkgICA1MCwxMDApKTsKCiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nLAogICAgICAgICRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywKIAkgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJywtMSksCiAgICAgICAgICAkaWQuJ3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nKSk7CgkJCQkJCQkgCiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnLAoJCSRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywKIAkgICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnLC0xKSwKIAkgICAgICAgICRpZC4ncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJykpOwoJCQoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFllc05vRHJvcGRvd24oJGlkLCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnLAoJCQkJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9mbGFnJywxKSkpOwokdXNlcmxpc3QgPSBhcnJheSgpOwokdXNlcm9wcyA9JiAkZ0Ntcy0+R2V0VXNlck9wZXJhdGlvbnMoKTsKJGdyb3Vwb3BzID0mICRnQ21zLT5HZXRHcm91cE9wZXJhdGlvbnMoKTsKJGFsbGdyb3VwcyA9ICRncm91cG9wcy0+TG9hZEdyb3VwcygpOwpmb3JlYWNoKCAkYWxsZ3JvdXBzIGFzICRvbmVncm91cCApCnsKICBpZiggISRvbmVncm91cC0+YWN0aXZlICkgY29udGludWU7CiAgJHVzZXJsaXN0WyR0aGlzLT5MYW5nKCdncm91cCcpLic6ICcuJG9uZWdyb3VwLT5uYW1lXSA9ICRvbmVncm91cC0+aWQgKiAtMTsKfQokYWxsdXNlcnMgPSAkdXNlcm9wcy0+TG9hZFVzZXJzKCk7CmZvcmVhY2goICRhbGx1c2VycyBhcyAkb25ldXNlciApCnsKICBpZiggISRvbmV1c2VyLT5hY3RpdmUgKSBjb250aW51ZTsKICBpZiggISRvbmV1c2VyLT5hZG1pbmFjY2VzcyApIGNvbnRpbnVlOwogIGlmKCBjaGVja19wZXJtaXNzaW9uKCRvbmV1c2VyLT5pZCxBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMpIHx8CiAgICAgIGNoZWNrX3Blcm1pc3Npb24oJG9uZXVzZXItPmlkLEFWQUlMQUJJTElUWV9QRVJNX1ZJRVdSRVNWKSB8fAogICAgICBjaGVja19wZXJtaXNzaW9uKCRvbmV1c2VyLT5pZCxBVkFJTEFCSUxJVFlfUEVSTV9DT05UQUNUQ1VTVE9NRVIpICkKICAgIHsKICAgICAgJHN0ciA9ICcnOwogICAgICBpZiggIWVtcHR5KCRvbmV1c2VyLT5sYXN0bmFtZSkgJiYgIWVtcHR5KCRvbmV1c2VyLT5maXJzdG5hbWUpICkKCXsKCSAgJHN0ciA9IHNwcmludGYoIiVzLCAlcyAoJXMpIiwkb25ldXNlci0+bGFzdG5hbWUsICRvbmV1c2VyLT5maXJzdG5hbWUsICRvbmV1c2VyLT51c2VybmFtZSk7Cgl9CiAgICAgIGVsc2UgaWYoICFlbXB0eSgkb25ldXNlci0+ZW1haWwpICkKCXsKCSAgJHN0ciA9IHNwcmludGYoIiVzICglcykiLCRvbmV1c2VyLT5lbWFpbCwkb25ldXNlci0+dXNlcm5hbWUpOwoJfQogICAgICBlbHNlCgl7CgkgICRzdHIgPSAkb25ldXNlci0+dXNlcm5hbWU7Cgl9CiAgICAgICR1c2VybGlzdFskc3RyXSA9ICRvbmV1c2VyLT5pZDsKICAgIH0KfQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjW10nLCR1c2VybGlzdCwKCQkJCQkgICAgIGV4cGxvZGUoJywnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJykpLAoJCQkJCSAgICAgNSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnLAoJCQkJICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnLAoJCQkJCQkJICAgICR0aGlzLT5MYW5nKCdkZmx0X3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCcpKSw4MCwyNTUpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9hdHRhY2htZW50JywKCQkkdGhpcy0+Q3JlYXRlRmlsZURyb3Bkb3duKCRpZCwncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9hdHRhY2htZW50JywKCQkJCQkgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnKSwKCQkJCQkgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdHRhY2htZW50X2RpcicpLCcnLDEpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJywKCQkkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsCgkJICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnLC0xKSwKCQkgICAgJGlkLidyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3Jlc2VydmF0aW9uX3JlcXVpcmVfZGVwb3NpdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ3Jlc2VydmF0aW9uX3JlcXVpcmVfZGVwb3NpdCcsCgkJCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9yZXF1aXJlX2RlcG9zaXQnLDApKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVzZXJ2YXRpb25fZGVwb3NpdF9wZXJjZW50JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwncmVzZXJ2YXRpb25fZGVwb3NpdF9wZXJjZW50JywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fZGVwb3NpdF9wZXJjZW50JyksNiw2KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcmVzZXJ2YXRpb25fZGVwb3NpdF9taW5pbXVtJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwncmVzZXJ2YXRpb25fZGVwb3NpdF9taW5pbXVtJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fZGVwb3NpdF9taW5pbXVtJyksNiw2KSk7Cgokc21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRfY2FwYWNpdHknLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2NhcGFjaXR5Jyw1MCkpOwoKLy8KLy8gb3V0cHV0IHRoZSBmb3JtCi8vCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fcHJlZmVyZW5jZXNfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_reservations_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLwovLyBQZXJtaXNzaW9ucwovLwppZiggISR0aGlzLT5DYW5WaWV3UmVzZXJ2YXRpb25zKCkgKSByZXR1cm47CgovLwovLyBJbml0aWFsaXphdGlvbgovLwokZGF5c19pbl9tb250aCA9IGFycmF5KDMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzEpOwokdGhpc19kYXkgPSAoaW50KShzdHJmdGltZSgiJWQiLHRpbWUoKSkpOwokdGhpc19tb250aCA9IChpbnQpKHN0cmZ0aW1lKCIlbSIsdGltZSgpKSk7CiR0aGlzX3llYXIgPSBpbnR2YWwoc3RyZnRpbWUoIiVZIix0aW1lKCkpKTsKJHN0b3JlX2RhdGUgPSBmYWxzZTsKJHNlbF9yc3JjcyA9IGFycmF5KCk7CiR0aGVfbW9udGggPSAkdGhpc19tb250aDsKJHRoZV95ZWFyID0gJHRoaXNfeWVhcjsKCmlmKCBpc3NldCgkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddKSAmJiBpc19hcnJheSgkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddKSApCnsKICBpZiggaXNzZXQoJF9TRVNTSU9OWydhdmFpbGFiaWxpdHknXVsncmVzdm5fdGFiJ10pICYmCiAgICAgIGlzX2FycmF5KCRfU0VTU0lPTlsnYXZhaWxhYmlsaXR5J11bJ3Jlc3ZuX3RhYiddKSApCiAgICB7CiAgICAgICR0aGVfbW9udGggPSAkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddWydyZXN2bl90YWInXVsnbW9udGgnXTsKICAgICAgJHRoZV95ZWFyID0gJF9TRVNTSU9OWydhdmFpbGFiaWxpdHknXVsncmVzdm5fdGFiJ11bJ3llYXInXTsKICAgIH0KfQoKLy8KLy8gSGFuZGxlIElucHV0IFBhcmFtcwovLwppZiggaXNzZXQoJHBhcmFtc1sncmVzdm5feWVhciddKSApCiAgewogICAgJHRoZV95ZWFyID0gKGludCkkcGFyYW1zWydyZXN2bl95ZWFyJ107CiAgICAkc3RvcmVfZGF0ZSA9IHRydWU7CiAgfQppZiggaXNzZXQoJHBhcmFtc1sncmVzdm5fbW9udGgnXSkgKQogIHsKICAgICRzdG9yZV9kYXRlID0gdHJ1ZTsKICAgICR0aGVfbW9udGggPSAoaW50KSRwYXJhbXNbJ3Jlc3ZuX21vbnRoJ107CiAgICBpZiggJHRoZV9tb250aCA8PSAwICkKICAgICAgewoJJHRoZV9tb250aCA9IDEyOwoJJHRoZV95ZWFyLS07CiAgICAgIH0KICAgIGVsc2UgaWYoICR0aGVfbW9udGggPiAxMiApCiAgICAgIHsKCSR0aGVfbW9udGggPSAxOwoJJHRoZV95ZWFyKys7CiAgICAgIH0KICB9CgppZiggaXNzZXQoJHBhcmFtc1sncmVzdm5fZmlsdGVyJ10pICkKewogIGlmKCBpc3NldCgkcGFyYW1zWydyZXN2bl9yc3JjcyddKSApCiAgICB7CiAgICAgICRzZWxfcnNyY3MgPSAkcGFyYW1zWydyZXN2bl9yc3JjcyddOwogICAgfQogIGlmKCBpc3NldCgkcGFyYW1zWydyZXN2bl9tb250aF9ZZWFyJ10pICkKICAgIHsKICAgICAgJHN0b3JlX2RhdGUgPSB0cnVlOwogICAgICAkdGhlX3llYXIgPSAoaW50KSRwYXJhbXNbJ3Jlc3ZuX21vbnRoX1llYXInXTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1sncmVzdm5fbW9udGhfTW9udGgnXSkgKQogICAgewogICAgICAkc3RvcmVfZGF0ZSA9IHRydWU7CiAgICAgICR0aGVfbW9udGggPSAoaW50KSRwYXJhbXNbJ3Jlc3ZuX21vbnRoX01vbnRoJ107CiAgICAgIGlmKCAkdGhlX21vbnRoIDw9IDAgKQoJewoJICAkdGhlX21vbnRoID0gMTI7CgkgICR0aGVfeWVhci0tOwoJfQogICAgICBlbHNlIGlmKCAkdGhlX21vbnRoID4gMTIgKQoJewoJICAkdGhlX21vbnRoID0gMTsKCSAgJHRoZV95ZWFyKys7Cgl9CiAgICB9Cn0KCgppZiggaXNzZXQoJHBhcmFtc1sncmVzdm5fcmVzZXQnXSkgKQp7CiAgJHNlbF9yc3JjcyA9IGFycmF5KCk7CiAgJHRoZV9tb250aCA9ICR0aGlzX21vbnRoOwogICR0aGVfeWVhciA9ICR0aGlzX3llYXI7CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ3Jlc3ZuX21vbnRoX1llYXInXSkgKQogICAgewogICAgICAkdGhlX3llYXIgPSAoaW50KSRwYXJhbXNbJ3Jlc3ZuX21vbnRoX1llYXInXTsKICAgIH0KICBpZiggaXNzZXQoJHBhcmFtc1sncmVzdm5fbW9udGhfTW9udGgnXSkgKQogICAgewogICAgICAkdGhlX21vbnRoID0gKGludCkkcGFyYW1zWydyZXN2bl9tb250aF9Nb250aCddOwogICAgfQogICRzdG9yZV9kYXRlID0gdHJ1ZTsKfQoKCmlmKCAkc3RvcmVfZGF0ZSApCiAgewogICAgLy8gc3RvcmUgdGhlIGRhdGUgZm9yIGxhdGVyIHVzZS4KICAgIGlmKCAhaXNzZXQoJF9TRVNTSU9OWydhdmFpbGFiaWxpdHknXSkgKQogICAgICB7CgkkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddID0gYXJyYXkoKTsKICAgICAgfQogICAgaWYoICFpc3NldCgkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddWydyZXN2bl90YWInXSkgKQogICAgICB7CgkkX1NFU1NJT05bJ2F2YWlsYWJpbGl0eSddWydyZXN2bl90YWInXSA9IGFycmF5KCk7CiAgICAgIH0KICAgICRfU0VTU0lPTlsnYXZhaWxhYmlsaXR5J11bJ3Jlc3ZuX3RhYiddWydtb250aCddID0gJHRoZV9tb250aDsKICAgICRfU0VTU0lPTlsnYXZhaWxhYmlsaXR5J11bJ3Jlc3ZuX3RhYiddWyd5ZWFyJ10gPSAkdGhlX3llYXI7CiAgfQoKCi8vCi8vIENhbGN1bGF0ZSBtZXRhZGF0YQovLwppZiggaXNfbGVhcHllYXIoJHRoZV95ZWFyKSApCnsKICAkZGF5c19pbl9tb250aFsxXSA9IDI5Owp9CiRzdV9kYXRlID0gbWt0aW1lKDAsMCwwLCR0aGVfbW9udGgsMSwkdGhlX3llYXIpOwokZXVfZGF0ZSA9IG1rdGltZSgyMyw1OSw1MCwkdGhlX21vbnRoLCRkYXlzX2luX21vbnRoWyR0aGVfbW9udGgtMV0sJHRoZV95ZWFyKTsKJHNkYl9kYXRlID0gJGRiLT5EYlRpbWVTdGFtcCgkc3VfZGF0ZSk7CiRlZGJfZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJGV1X2RhdGUpOwoKLy8KLy8gR2F0aGVyIERhdGEKLy8KCiRxdWVyeSA9ICJTRUxFQ1QgRElTVElOQ1QgQS4qIEZST00gIi5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLiIgQQogICAgICAgICAgICBMRUZUIEpPSU4gIi5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuIiBCCiAgICAgICAgICAgICAgT04gQS5pZCA9IEIucmVzdl9pZAogICAgICAgICAgIFdIRVJFICgoQi5zdGFydF9kYXRlIEJFVFdFRU4gJHNkYl9kYXRlIEFORCAkZWRiX2RhdGUpCiAgICAgICAgICAgICAgICAgIE9SIChCLmVuZF9kYXRlIEJFVFdFRU4gJHNkYl9kYXRlIEFORCAkZWRiX2RhdGUpKSI7CmlmKCBjb3VudCgkc2VsX3JzcmNzKSApCnsKICAkcXVlcnkgLj0gJyBBTkQgQi5yc3JjX2lkIElOICgnLmltcGxvZGUoJywnLCRzZWxfcnNyY3MpLicpJzsKfQokcXVlcnkgLj0gIiBHUk9VUCBCWSBBLmlkIE9SREVSIEJZIGVuZF9kYXRlIEFTQyI7CiRyZXNlcnZhdGlvbnMgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiRyZXNlcnZhdGlvbl9pZHMgPSBjZ2VfYXJyYXk6OmV4dHJhY3RfZmllbGQoJHJlc2VydmF0aW9ucywnaWQnKTsKJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKJHN0YXRzID0gJyc7CnsKICAkcTMgPSAnU0VMRUNUIHJlc3ZfaWQsIENPVU5UKHJzcmNfaWQpIEFTIENPVU5ULCBNSU4oc3RhcnRfZGF0ZSkgQVMgc3RhcnRfZGF0ZSwgTUFYKGVuZF9kYXRlKSBBUyBlbmRfZGF0ZQogICAgICAgICAgIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgV0hFUkUgcmVzdl9pZCBJTiAoJy5pbXBsb2RlKCcsJywkcmVzZXJ2YXRpb25faWRzKS4nKQogICAgICAgICAgR1JPVVAgQlkgcmVzdl9pZCc7CiAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHEzKTsKICBpZiggJHRtcCApCiAgICB7CiAgICAgICRzdGF0cyA9IGNnZV9hcnJheTo6dG9faGFzaCgkdG1wLCdyZXN2X2lkJyk7CiAgICB9Cn0KCmZvciggJHJlcyA9IDA7ICRyZXMgPCBjb3VudCgkcmVzZXJ2YXRpb25faWRzKTsgJHJlcysrICkKICB7CiAgICAkcm93ID0mICRyZXNlcnZhdGlvbnNbJHJlc107CgogICAgJHEyID0gJ1NFTEVDVCBESVNUSU5DVCBBLmlkLEEubmFtZSBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgQSwgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJyBCCiAgICAgICAgICAgIFdIRVJFIEEuaWQgPSBCLnJzcmNfaWQgQU5EIEIucmVzdl9pZCA9ID8gT1JERVIgQlkgQS5uYW1lJzsKICAgICRyc3JjcyA9ICRkYi0+R2V0QXJyYXkoJHEyLGFycmF5KCRyb3dbJ2lkJ10pKTsKICAgIGlmKCBjb3VudCgkcnNyY3MpID09IDEpCiAgICAgIHsKCSRyb3dbJ3JzcmNzJ10gPSAkcnNyY3NbMF1bJ25hbWUnXTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdG1wID0gYXJyYXkoKTsKCWZvcmVhY2goJHJzcmNzIGFzICRvbmUpCgkgIHsKCSAgICAkdG1wW10gPSAkb25lWyduYW1lJ107CgkgIH0KCSRyb3dbJ3JzcmNzJ10gPSBpbXBsb2RlKCcsICcsJHRtcCk7CiAgICAgIH0KCiAgICBpZiggJHN0YXRzICkKICAgICAgewoJJHJvd1snc3RhcnRfZGF0ZSddID0gJHRzX3N0YXJ0ID0gJGRiLT5Vbml4VGltZVN0YW1wKCRzdGF0c1skcm93WydpZCddXVsnc3RhcnRfZGF0ZSddKTsKCSRyb3dbJ2VuZF9kYXRlJ10gPSAkdHNfZW5kID0gJGRiLT5Vbml4VGltZVN0YW1wKCRzdGF0c1skcm93WydpZCddXVsnZW5kX2RhdGUnXSk7CglpZiggJHRzX2VuZCA8IHRpbWUoKSApCgkgIHsKCSAgICAkcm93WydhZGRuX3N0YXR1cyddID0gJ2V4cGlyZWQnOwoJICB9CgllbHNlIGlmKCAkdHNfc3RhcnQgPiB0aW1lKCkgKQoJICB7CgkgICAgJHJvd1snYWRkbl9zdGF0dXMnXSA9ICdmdXR1cmUnOwoJICB9CgllbHNlIAoJICB7CgkgICAgJHJvd1snYWRkbl9zdGF0dXMnXSA9ICdpbl9wcm9ncmVzcyc7CgkgIH0KICAgICAgfQoKICAgICR0bXAgPSAkdGhpcy0+R2V0VXNlckRldGFpbHMoJHJvd1snY3VzdG9tZXJfaWQnXSk7CiAgICAkcm93Wyd1c2VyZGV0YWlscyddID0gJHRtcDsKICB9CmlmKCBpc19hcnJheSgkcmVzZXJ2YXRpb25zKSAmJiBjb3VudCgkcmVzZXJ2YXRpb25zKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdyZXNlcnZhdGlvbnMnLCRyZXNlcnZhdGlvbnMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdzdGF0cycsJHN0YXRzKTsKICB9CgovLwovLyBCdWlsZCB0aGUgZm9ybQovLwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsCgkJCQkJIGFycmF5KCdjZ19hY3RpdmV0YWInPT4ncmVzZXJ2YXRpb25zJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCnsKICAkcXVlcnkgPSAnU0VMRUNUIGlkLG5hbWUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUzsKICAkdG1wID0gJGRiLT5HZXRhcnJheSgkcXVlcnkpOwogIGlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApCiAgICB7CiAgICAgICRvcHRzID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKICAgICAgICB7CiAgICAgICAgICAkb3B0c1skb25lWyduYW1lJ11dID0gJG9uZVsnaWQnXTsKICAgICAgICB9CiAgICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfcnNyY3MnLAogICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJ3Jlc3ZuX3JzcmNzW10nLCRvcHRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWxfcnNyY3MpKTsKICAgIH0gIAp9CiRzbWFydHktPmFzc2lnbignYnRuZmlsdGVyJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdyZXN2bl9maWx0ZXInLCR0aGlzLT5MYW5nKCdhcHBseScpKSk7CiRzbWFydHktPmFzc2lnbignYnRucmVzZXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3Jlc3ZuX3Jlc2V0JywkdGhpcy0+TGFuZygncmVzZXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ3Jlc3ZfZGF0ZScsJHN1X2RhdGUpOwokc21hcnR5LT5hc3NpZ24oJ3ByZXZtb250aF9saW5rJywKCQkkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsJycsCgkJCQkgICR0aGlzLT5MYW5nKCdwcmV2JyksCgkJCQkgIGFycmF5KCdjZ19hY3RpdmV0YWInPT4ncmVzZXJ2YXRpb25zJywKCQkJCQkncmVzdm5fbW9udGgnPT4kdGhlX21vbnRoLTEsCgkJCQkJJ3Jlc3ZuX3llYXInPT4kdGhlX3llYXIpKSk7CiRzbWFydHktPmFzc2lnbignbmV4dG1vbnRoX2xpbmsnLAoJCSR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdGFkbWluJywnJywKCQkJCSAgJHRoaXMtPkxhbmcoJ25leHQnKSwKCQkJCSAgYXJyYXkoJ2NnX2FjdGl2ZXRhYic9PidyZXNlcnZhdGlvbnMnLAoJCQkJCSdyZXN2bl9tb250aCc9PiR0aGVfbW9udGgrMSwKCQkJCQkncmVzdm5feWVhcic9PiR0aGVfeWVhcikpKTsKCi8vCi8vIE91dHB1dAovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3Jlc2VydmF0aW9uc190YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_reservation_confirm_email_template_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXNfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbGlzdCcsCiAgICAgJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwncmVzdm5jZm1lbWFpbF8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV1JFU1ZOQ09ORklSTUVNQUlMX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3RlbXBsYXRlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfREZMVFJFU1ZOQ09ORklSTUVNQUlMX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycpKTsKCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_reservation_confirm_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fcmVzdm5fY29uZmlybV90ZW1wbGF0ZXNfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbGlzdCcsCiAgICAgJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwncmVzdm5jZm1fJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdSRVNWTkNPTkZJUk1fVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ERkxUUkVTVk5DT05GSVJNX1RFTVBMQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5MYW5nKCdhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycpKTsKCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_reservation_form_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fcmVzdm5fdGVtcGxhdGVzX3RhYicpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZWxpc3QnLAogICAgICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCRpZCwkcmV0dXJuaWQsJ3Jlc3ZuXycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZBSUxBQklMSVRZX1BSRUZfTkVXUkVTVk5fVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ERkxUUkVTVk5fVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfcmVzdm5fdGVtcGxhdGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19yZXN2bl90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnKSk7CgoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZV90YWIudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_resources_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBTZXR1cAokcGFnZWxpbWl0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JzcmNzX3BhZ2VsaW1pdCcsMjUpOwokY2F0ZWdvcnkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncnNyY3NfY2F0ZWdvcnknLC0xKTsKJGFjdGl2ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyc3Jjc19hY3RpdmUnLC0xKTsKJGN1cnBhZ2UgPSAxOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ2N1cnBhZ2UnXSkgKQogIHsKICAgICRjdXJwYWdlID0gKGludCkkcGFyYW1zWydjdXJwYWdlJ107CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2J0bmZpbHRlcnJzcmNzJ10pICkKICB7CiAgICAkcGFnZWxpbWl0ID0gKGludCkkcGFyYW1zWydpbnB1dF9wYWdlbGltaXQnXTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyc3Jjc19wYWdlbGltaXQnLCRwYWdlbGltaXQpOwogICAgJGN1cnBhZ2UgPSAxOwoKICAgICRjYXRlZ29yeSA9IChpbnQpJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnknXTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyc3Jjc19jYXRlZ29yeScsJGNhdGVnb3J5KTsKCiAgICAkYWN0aXZlID0gKGludCkkcGFyYW1zWydpbnB1dF9hY3RpdmUnXTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyc3Jjc19hY3RpdmUnLCRhY3RpdmUpOwogIH0KCi8vIHNvbWUgbWF0aAokc3RhcnRlbGVtZW50ID0gKCRjdXJwYWdlLTEpKiRwYWdlbGltaXQ7CgovLyBUT0RPOiBGT1JNIEZPUiBTRUxFQ1RJTkcgVFlQRQovLyBUT0RPOiBQQUdJTkFUSU9OCgovLwovLyBCdWlsZCB0aGUgRm9ybQovLwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9DQVRTOwokdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwokY2F0cyA9IGFycmF5KCR0aGlzLT5MYW5nKCdhbnknKSA9PiAtMSk7CmZvcmVhY2goICR0bXAgYXMgJG9uZWNhdCApCnsKICAkY2F0c1skb25lY2F0WyduYW1lJ11dID0gJG9uZWNhdFsnaWQnXTsKfQoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLAoJCSR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLAoJCQkJCSBhcnJheSgnY2dfYWN0aXZldGFiJz0+J3Jlc291cmNlcycpKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfY2F0ZWdvcnknLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfY2F0ZWdvcnknLCRjYXRzLC0xLCRjYXRlZ29yeSkpOwokdG1wID0gYXJyYXkoJHRoaXMtPkxhbmcoJ2FsbCcpPT4xMDAwMDAwLCc1Jz0+NSwnMTAnPT4xMCwnMjUnPT4yNSwnNTAnPT41MCwnMTAwJz0+MTAwKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9wYWdlbGltaXQnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfcGFnZWxpbWl0JywkdG1wLC0xLCRwYWdlbGltaXQpKTsKJHRtcCA9IGFycmF5KCR0aGlzLT5MYW5nKCdhbnknKT0+LTEsJHRoaXMtPkxhbmcoJ3llcycpPT4xLCR0aGlzLT5MYW5nKCdubycpPT4wKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hY3RpdmUnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfYWN0aXZlJywkdG1wLC0xLCRhY3RpdmUpKTsKJHNtYXJ0eS0+YXNzaWduKCdidG5maWx0ZXInLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2J0bmZpbHRlcnJzcmNzJywkdGhpcy0+TGFuZygnYXBwbHknKSkpOwoKLy8KLy8gQnVpbGQgdGhlIGRhdGEgZm9yIHRoZSBkaXNwbGF5Ci8vCgovLyBCdWlsZCB0aGUgcXVlcmllKHMpCiRxcGFybXMgPSBhcnJheSgpOwokd2hlcmUgPSBhcnJheSgpOwokam9pbnMgPSBhcnJheSgpOwokcXVlcnkxID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBSJzsKJHF1ZXJ5MiA9ICdTRUxFQ1QgY291bnQoaWQpIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJyBSJzsKaWYoICRjYXRlZ29yeSAhPSAtMSApCiAgewogICAgJGpvaW5zW10gPSBBVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19DQVRTLicgUkMgT04gUi5pZCA9IFJDLnJzcmNfaWQnOwogICAgJHdoZXJlW10gPSAnUkMuY2F0ZWdvcnlfaWQgPSA/JzsKICAgICRxcGFybXNbXSA9ICRjYXRlZ29yeTsKICB9CmlmKCAkYWN0aXZlICE9IC0xICkKICB7CiAgICAkd2hlcmVbXSA9ICdSLmFjdGl2ZSA9ID8nOwogICAgJHFwYXJtc1tdID0gJGFjdGl2ZTsKICB9CgovLyBBc3NlbWJsZSB0aGUgcXVlcmllcwppZiggY291bnQoJGpvaW5zKSApCiAgewogICAgJHF1ZXJ5MSAuPSAnIExFRlQgSk9JTiAnLmltcGxvZGUoJyBMRUZUIEpPSU4gJywkam9pbnMpOwogICAgJHF1ZXJ5MiAuPSAnIExFRlQgSk9JTiAnLmltcGxvZGUoJyBMRUZUIEpPSU4gJywkam9pbnMpOwogIH0KaWYoIGNvdW50KCR3aGVyZSkgKQogIHsKICAgICRxdWVyeTEgLj0gJyBXSEVSRSAnIC4gaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CiAgICAkcXVlcnkyIC49ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwogIH0KCi8vIEdldCB0aGUgY291bnQKJG51bXJlY29yZHMgPSAkZGItPkdldE9uZSgkcXVlcnkyLCRxcGFybXMpOwokbnBhZ2VzID0gKGludCkoKGludCkkbnVtcmVjb3JkcyAvICRwYWdlbGltaXQpOwppZiggKChpbnQpJG51bXJlY29yZHMgJSAkcGFnZWxpbWl0KSApCiAgewogICAgJG5wYWdlcysrOwogIH0KCiRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCRjdXJwYWdlLTEpOwokc21hcnR5LT5hc3NpZ24oJ2N1cnBhZ2UnLCRjdXJwYWdlKTsKJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsJGN1cnBhZ2UrMSk7CiRzbWFydHktPmFzc2lnbigncGFnZWNvdW50JywkbnBhZ2VzKTsKCi8vIFRoZSBkYXRhIGZvciB0aGUgdGFibGUKJGRiciA9ICRkYi0+U2VsZWN0TGltaXQoJHF1ZXJ5MSwkcGFnZWxpbWl0LCRzdGFydGVsZW1lbnQsJHFwYXJtcyk7Ci8vZWNobyAiREVCVUc6IHNxbCA9ICIuJGRiLT5zcWwuIjxici8+IjsKJHJlc291cmNlcyA9IGFycmF5KCk7CndoaWxlKCAkZGJyICYmICRyb3cgPSAkZGJyLT5GZXRjaFJvdygpICkKICB7CiAgICAkcmVzb3VyY2VzW10gPSAkcm93OwogIH0KaWYoIGlzX2FycmF5KCRyZXNvdXJjZXMpICYmIGNvdW50KCRyZXNvdXJjZXMpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Jlc291cmNlcycsJHJlc291cmNlcyk7CiAgfQoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9yZXNvdXJjZXNfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_resource_detail_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInKSk7CiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVsaXN0JywKICAgICAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdkZXRhaWxfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdERVRBSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlX2RldGFpbF90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX0RGTFRERVRBSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fZGV0YWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndGVtcGxhdGVfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_resource_summary_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZXNfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbGlzdCcsCiAgICAgJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnc3VtbWFyeV8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX05FV1NVTU1BUllfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlX3N1bW1hcnlfdGVtcGxhdGVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ERkxUU1VNTUFSWV9URU1QTEFURSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl90ZW1wbGF0ZXMnKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3RlbXBsYXRlX3RhYi50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_sendemail_templates_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7Cgokc21hcnR5LT5hc3NpZ24oJ21zZycsJHRoaXMtPkxhbmcoJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlc190YWInKSk7CiRzbWFydHktPmFzc2lnbigndGVtcGxhdGVsaXN0JywKICAgICAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdzZW5kZW1haWxfJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkFJTEFCSUxJVFlfUFJFRl9ORVdTRU5ERU1BSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlbmRlbWFpbF90ZW1wbGF0ZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWQUlMQUJJTElUWV9QUkVGX0RGTFRTRU5ERU1BSUxfVEVNUExBVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2FkZGVkaXRfc2VuZGVtYWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX3RlbXBsYXRlcycpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndGVtcGxhdGVfdGFiLnRwbCcpOwoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/functions.admin_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0dldFR5cGVzRHJvcGRvd24oJiRtb2QsJGlkLCRuYW1lLCRzZWxlY3RlZCA9ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWRkdGV4dCA9ICcnLCRzZWxlY3RvbmUgPSBmYWxzZSkKewogICAkaXRlbXMgPSBhcnJheSgpOwogICBpZiggJHNlbGVjdG9uZSApCiAgICAgewoJJGl0ZW1zWyRtb2QtPkxhbmcoJ3NlbGVjdF9vbmUnKV0gPSAnJzsKICAgICB9CiAgICRpdGVtc1skbW9kLT5MYW5nKCd0ZXh0Ym94JyldID0gJ3RleHRib3gnOwogICAkaXRlbXNbJG1vZC0+TGFuZygnY2hlY2tib3gnKV0gPSAnY2hlY2tib3gnOwogICAkaXRlbXNbJG1vZC0+TGFuZygndGV4dGFyZWEnKV0gPSAndGV4dGFyZWEnOwogICAkaXRlbXNbJG1vZC0+TGFuZygnZHJvcGRvd24nKV0gPSAnZHJvcGRvd24nOwogICAkaXRlbXNbJG1vZC0+TGFuZygnaW1hZ2V0ZXh0JyldID0gJ2ltYWdlJzsKICAgJGl0ZW1zWyRtb2QtPkxhbmcoJ2ZpbGUnKV0gPSAnZmlsZSc7CgogICByZXR1cm4gJG1vZC0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICRuYW1lLCAkaXRlbXMsIC0xLCAkc2VsZWN0ZWQsCiAgIAkJCQkgICRhZGR0ZXh0KTsKfQoKCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9HZXRSZXNvdXJjZVR5cGUoJiRtb2QsJHBsdXJhbCA9IGZhbHNlKQp7CiAgICAkc3RyID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgncmVzb3VyY2VfdHlwZScsJ3Jlc291cmNlJyk7CiAgICBpZiggJHBsdXJhbCApCiAgICAgIHsKCSRzdHIgLj0gJ3MnOwogICAgICB9CiAgICAkdHIgPSAkbW9kLT5MYW5nKHN0cnRvbG93ZXIoJHN0cikpOwogICAgaWYoIHN0cnN0cigkdHIsJ0FkZCBNZScpICE9PSBGQUxTRSApCiAgICAgIHsKCS8vIGNvdWxkbid0IGZpbmQgYSB0cmFuc2xhdGlvbiBmb3IgdGhpcwoJLy8gc28gc2tpcCBpdCBhbmQgdXNlIGl0IHdpdGhvdXQKCS8vIFRPRE86IHB1dCBhIG5vdGljZSBpbnRvIHRoZSBsb2c/CgkkdHIgPSB1Y3dvcmRzKCRzdHIpOwogICAgICB9CiAgICByZXR1cm4gJHRyOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0hhbmRsZUZpbGVVcGxvYWQoJiRtb2QsJGlkLCRuYW1lLCRyZWNvcmRfaWQsJiR2YWx1ZSwKCQkJCSAgICAgICAmJHJlc3VsdCkKewogICAgZ2xvYmFsICRnQ21zOwogICAgJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICAkZGVzdGRpciA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJG1vZC0+R2V0TmFtZSgpLCdyZXNvdXJjZXNfJy4kcmVjb3JkX2lkKTsKICAgICRtb2QtPm1rZGlyciggJGRlc3RkaXIgKTsKICAgIGlmKCAhaXNfZGlyKCRkZXN0ZGlyKSApCiAgICAgIHsKCSRyZXN1bHQgPSAnZXJyb3JfbWtkaXInOwoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgJGhhbmRsZXIgPSBuZXcgQ0dGaWxlVXBsb2FkSGFuZGxlcigkaWQsJGRlc3RkaXIpOwogICAgJGhhbmRsZXItPlNldEFjY2VwdGVkRmlsZVR5cGVzKCRtb2QtPkdldFByZWZlcmVuY2UoJ2ltYWdlX3R5cGVzJykpOwogICAgJHJlcyA9ICRoYW5kbGVyLT5IYW5kbGVVcGxvYWRlZEZpbGUoJG5hbWUsJycpOwogICAgaWYoICEkcmVzICYmICRoYW5kbGVyLT5HZXRFcnJvcigpICE9IENHRklMRVVQTE9BRF9OT0ZJTEUgKQogICAgICB7CgkkZXJyID0gJGhhbmRsZXItPkdldEVycm9yKCk7CgkkcmVzdWx0ID0gc3ByaW50ZigiJXMgJXM6ICVzIiwkbW9kLT5MYW5nKCdmaWVsZCcpLCRkZWYtPm5hbWUsCgkJCSAgJG1vZC0+R2V0VXBsb2FkRXJyb3JNZXNzYWdlKCRlcnIpKTsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgZWxzZSBpZiggISRyZXMgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAkdmFsdWUgPSAkcmVzOwogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9IYW5kbGVJbWFnZVVwbG9hZCgmJG1vZCwkaWQsJG5hbWUsJHJlY29yZF9pZCwKCQkJCQkmJHZhbHVlLCYkcmVzdWx0KQp7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKICAgICRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkbW9kLT5HZXROYW1lKCksJ3Jlc291cmNlc18nLiRyZWNvcmRfaWQpOwogICAgJG1vZC0+bWtkaXJyKCAkZGVzdGRpciApOwogICAgaWYoICFpc19kaXIoJGRlc3RkaXIpICkKICAgICAgewoJJHJlc3VsdCA9ICRtb2QtPkxhbmcoJ2Vycm9yX21rZGlyJykuJzogJy4kZGVzdGRpcjsKCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICRoYW5kbGVyID0gJG1vZC0+R2V0RmlsZVVwbG9hZEhhbmRsZXIoJGlkLCRkZXN0ZGlyKTsKICAgICRoYW5kbGVyLT5TZXRBY2NlcHRlZEZpbGVUeXBlcygkbW9kLT5HZXRQcmVmZXJlbmNlKCdpbWFnZV90eXBlcycpKTsKICAgICRyZXMgPSAkaGFuZGxlci0+SGFuZGxlVXBsb2FkZWRGaWxlKCRuYW1lLCcnKTsKICAgIGlmKCAhJHJlcyAmJiAkaGFuZGxlci0+R2V0RXJyb3IoKSAhPSBDR0ZJTEVVUExPQURfTk9GSUxFICkKICAgICAgewoJJGVyciA9ICRoYW5kbGVyLT5HZXRFcnJvcigpOwoJJHJlc3VsdCA9IHNwcmludGYoIiVzICVzOiAlcyIsJG1vZC0+TGFuZygnZXJyb3JfdXBsb2FkJyksJG5hbWUsCgkJCSAgJG1vZC0+R2V0VXBsb2FkRXJyb3JNZXNzYWdlKCRlcnIpKTsKCXJldHVybiBmYWxzZTsKICAgICAgfQogICAgZWxzZSBpZiggISRyZXMgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAkdmFsdWUgPSAkcmVzOwoKICAgIGlmKCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdhdXRvX3RodW1ibmFpbCcpICkKICAgICAgewoJJHNyY25hbWUgPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCR2YWx1ZSk7CgkkZGVzdG5hbWUgPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCd0aHVtYl8nLiR2YWx1ZSk7CgkkbW9kLT5UcmFuc2Zvcm1JbWFnZSgkc3JjbmFtZSwkZGVzdG5hbWUpOwogICAgICB9CiAgICByZXR1cm4gdHJ1ZTsKfQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0hhbmRsZUltYWdlRGVsZXRlKCYkbW9kLCRpZCwkcmVjb3JkX2lkLCR2YWx1ZSkKewogICAgZ2xvYmFsICRnQ21zOwogICAgJGNvbmZpZyA9JiAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiAgICAkZGVzdGRpciA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJG1vZC0+R2V0TmFtZSgpLCdyZXNvdXJjZXNfJy4kcmVjb3JkX2lkKTsKICAgIGlmKCAhaXNfZGlyKCRkZXN0ZGlyKSApCiAgICAgIHsKCXJldHVybiB0cnVlOwogICAgICB9CgogICAgJGZuID0gY21zX2pvaW5fcGF0aCgkZGVzdGRpciwkdmFsdWUpOwogICAgaWYoIGZpbGVfZXhpc3RzKCRmbikgKSAKICAgICAgewoJQHVubGluaygkZm4pOwoJaWYoIGZpbGVfZXhpc3RzKCRmbikgKSByZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAkZm4gPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCd0aHVtYl8nLiR2YWx1ZSk7CiAgICBpZiggZmlsZV9leGlzdHMoJGZuKSApIAogICAgICB7CglAdW5saW5rKCRmbik7CglpZiggZmlsZV9leGlzdHMoJGZuKSApIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgIHJldHVybiB0cnVlOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0hhbmRsZUZpbGVEZWxldGUoJiRtb2QsJGlkLCRyZWNvcmRfaWQsJHZhbHVlKQp7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKICAgICRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkbW9kLT5HZXROYW1lKCksJ3Jlc291cmNlc18nLiRyZWNvcmRfaWQpOwogICAgaWYoICFpc19kaXIoJGRlc3RkaXIpICkKICAgICAgewoJcmV0dXJuIHRydWU7CiAgICAgIH0KCiAgICAkZm4gPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCR2YWx1ZSk7CiAgICBpZiggZmlsZV9leGlzdHMoJGZuKSApIAogICAgICB7CglAdW5saW5rKCRmbik7CglpZiggZmlsZV9leGlzdHMoJGZuKSApIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgIHJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfbG9hZEV2ZW50VHlwZXMoJiRtb2QpCnsKICAgICRkYiA9JiAkbW9kLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfRVZFTlRfVFlQRVMuJwogICAgICAgICAgICAgICBPUkRFUiBieSBpb3JkZXInOwogICAgJHJlcyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgIAogICAgaWYoICRyZXMgKSAKICAgICAgewoJJG1vZC0+Y2FjaGVkX2V2ZW50X3R5cGVzID0gYXJyYXkoKTsKCWZvcmVhY2goICRyZXMgYXMgJG9uZSApCgkgIHsKCSAgICAkbW9kLT5jYWNoZWRfZXZlbnRfdHlwZXNbJG9uZVsnaWQnXV0gPSAkb25lOwoJICB9CiAgICAgIH0KfQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0dldEV2ZW50VHlwZUZyb21JRCgmJG1vZCwkZXZlbnRfaWQpCnsKICAgIGlmKCAhaXNfYXJyYXkoJG1vZC0+Y2FjaGVkX2V2ZW50X3R5cGVzKSApCiAgICAgIHsKCSRtb2QtPl9sb2FkRXZlbnRUeXBlcygpOwogICAgICB9CgogICAgaWYoICFpc3NldCgkbW9kLT5jYWNoZWRfZXZlbnRfdHlwZXNbJGV2ZW50X2lkXSkgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIHJldHVybiAkbW9kLT5jYWNoZWRfZXZlbnRfdHlwZXNbJGV2ZW50X2lkXVsnbmFtZSddOwp9CgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfR2V0RXZlbnRUeXBlRHJvcGRvd25MaXN0KCYkbW9kLCRhbnkgPSBmYWxzZSkKewogICAgaWYoICFpc19hcnJheSgkbW9kLT5jYWNoZWRfZXZlbnRfdHlwZXMpICkKICAgICAgewoJJG1vZC0+X2xvYWRFdmVudFR5cGVzKCk7CiAgICAgIH0KCiAgICAkcmVzID0gYXJyYXkoKTsKICAgIGlmKCAkYW55ICkKICAgICAgewoJJHJlc1skbW9kLT5MYW5nKCdhbnknKV0gPSAtMTsKICAgICAgfQogICAgaWYoIGNvdW50KCRtb2QtPmNhY2hlZF9ldmVudF90eXBlcykgKQogICAgICB7Cglmb3JlYWNoKCAkbW9kLT5jYWNoZWRfZXZlbnRfdHlwZXMgYXMgJGtleSA9PiAkdmFsICkKCSAgewoJICAgICRyZXNbJHZhbFsnbmFtZSddXSA9ICR2YWxbJ2lkJ107CgkgIH0KICAgICAgfQogICAgcmV0dXJuICRyZXM7Cn0KCgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfR2V0VXNlckRldGFpbHMoJiRtb2QsJHVpZCkKewogICRmZXUgPSYgJG1vZC0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKICBpZiggIWlzX29iamVjdCgkZmV1KSApIHJldHVybiBmYWxzZTsKICAKICAkZ2lkID0gKGludCkkbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXN0b21lcl9ncm91cCcpOwogIGlmKCAkZ2lkID09IC0xICkgcmV0dXJuIGZhbHNlOwogIAogICR0bXAgPSAkZmV1LT5HZXRVc2VySW5mbygkdWlkKTsKICBpZiggJHRtcFswXSA9PT0gRkFMU0UgKSByZXR1cm4gZmFsc2U7CiAgJG9uZXVzZXIgPSAkdG1wWzFdOwogICRvbmV1c2VyWydwcm9wcyddID0gJGZldS0+R2V0VXNlclByb3BlcnRpZXMoJHVpZCk7CiAgCiAgJHJlc3VsdCA9IGFycmF5KCk7CiAgJHJlc3VsdFsndXNlcm5hbWUnXSA9ICRvbmV1c2VyWyd1c2VybmFtZSddOwogICRyZXN1bHRbJ2VtYWlsJ10gPSAkZmV1LT5HZXRFbWFpbCgkdWlkKTsKICAKICBnbG9iYWwgJGdDbXM7CiAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CiAgJHNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsJG9uZXVzZXJbJ3VzZXJuYW1lJ10pOwogICRzbWFydHktPmFzc2lnbignX2VtYWlsX2FkZHJlc3NfJywkcmVzdWx0WydlbWFpbCddKTsKICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJpZCcsJG9uZXVzZXJbJ2lkJ10pOwogIGlmKCBpc3NldCgkb25ldXNlclsncHJvcHMnXSkgKQogICAgewogICAgICBmb3JlYWNoKCAkb25ldXNlclsncHJvcHMnXSBhcyAkb25lcHJvcCApCgl7CgkgICRzbWFydHktPmFzc2lnbigkb25lcHJvcFsndGl0bGUnXSwkb25lcHJvcFsnZGF0YSddKTsKCX0KICAgIH0KICAkc3RyID0gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoCgkgJG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZScsJ3skdXNlcm5hbWV9JykpOwogICRyZXN1bHRbJ2Rpc3BsYXknXSA9ICRzdHI7CiAgcmV0dXJuICRyZXN1bHQ7Cn0KCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9HZXRVc2VyRHJvcGRvd25MaXN0KCYkbW9kKQp7CiAgJHJlc3VsdCA9IGZhbHNlOwogIAogICRmZXUgPSYgJG1vZC0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKICBpZiggIWlzX29iamVjdCgkZmV1KSApIHJldHVybiBmYWxzZTsKICAKICAkZ2lkID0gKGludCkkbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXN0b21lcl9ncm91cCcpOwogIGlmKCAkZ2lkID09IC0xICkgcmV0dXJuIGZhbHNlOwogIAogIGdsb2JhbCAkZ0NtczsKICAkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsKICAkdXNlcnMgPSAkZmV1LT5HZXRGdWxsVXNlcnNJbkdyb3VwKCRnaWQpOwogICRyZXN1bHQgPSBhcnJheSgpOwogIGlmKCAkdXNlcnMgIT09IEZBTFNFICkKICAgIHsKICAgICAgZm9yZWFjaCggJHVzZXJzIGFzICRvbmV1c2VyICkKCXsKCSAgJHNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsJG9uZXVzZXJbJ3VzZXJuYW1lJ10pOwoJICAkc21hcnR5LT5hc3NpZ24oJ19lbWFpbF9hZGRyZXNzXycsJGZldS0+R2V0RW1haWwoJG9uZXVzZXJbJ2lkJ10pKTsKCSAgJHNtYXJ0eS0+YXNzaWduKCd1c2VyaWQnLCRvbmV1c2VyWydpZCddKTsKCSAgaWYoIGlzc2V0KCRvbmV1c2VyWydwcm9wcyddKSApCgkgICAgewoJICAgICAgZm9yZWFjaCggJG9uZXVzZXJbJ3Byb3BzJ10gYXMgJG9uZXByb3AgKQoJCXsKCQkgICRzbWFydHktPmFzc2lnbigkb25lcHJvcFsndGl0bGUnXSwkb25lcHJvcFsnZGF0YSddKTsKCQl9CgkgICAgfQoJICAkc3RyID0gJG1vZC0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoCgkgICAgJG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZScsJ3skdXNlcm5hbWV9JykpOwoJICAkcmVzdWx0W3RyaW0oJHN0cildID0gJG9uZXVzZXJbJ2lkJ107Cgl9CiAgICB9CiAgcmV0dXJuICRyZXN1bHQ7Cn0KCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9TZWFyY2hSZUluZGV4KCYkbW9kLCYkc2VhcmNobW9kdWxlKQp7CiAgJGRiID0mICRtb2QtPkdldERiKCk7CiAgCiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJwogICAgICAgICAgICAgV0hFUkUgYWN0aXZlID0gMQogICAgICAgICAgICAgT1JERVIgQlkgYmFzZV9wcmljZSBERVNDJzsKICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgd2hpbGUoICRkYnIgJiYgJHJvdyA9ICRkYnItPkZldGNoUm93KCkgKQogICAgewogICAgICAkZmxkcyA9ICRtb2QtPkdldEZpZWxkc0ZvclJzcmMoJHJvd1snaWQnXSk7CiAgICAgICRzdHIgPSAkcm93WyduYW1lJ10uJyAnLiRyb3dbJ2Rlc2NyaXB0aW9uJ107CiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRmbGRzKTsgJGkrKyApCgl7CgkgIGlmKCAkZmxkc1skaV1bJ3R5cGUnXSA9PSAndGV4dGJveCcgfHwgJGZsZHNbJGldWyd0eXBlJ10gPT0gJ3RleHRhcmVhJyApCgkgICAgewoJICAgICAgJHN0ciAuPSAnICcuJGZsZHNbJGldWyd2YWx1ZSddOwoJICAgIH0KCX0KICAgICAgJHNlYXJjaG1vZHVsZS0+QWRkV29yZHMoJG1vZC0+R2V0TmFtZSgpLCAkcm93WydpZCddLCAncmVzb3VyY2UnLCAkc3RyICk7CiAgICB9Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/functions.common_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0FkanVzdFByaWNlKCYkbW9kLCRwcmljZSwkYWRqdXN0bWVudCkKewogICAgaWYoIGVtcHR5KCRhZGp1c3RtZW50KSApIHJldHVybiAkcHJpY2U7CgogICAgJG9wID0gJysnOwogICAgJHRtcCA9ICRhZGp1c3RtZW50WzBdOwogICAgaWYoICR0bXAgPT0gJyonIHx8ICR0bXAgPT0gJysnIHx8ICR0bXAgPT0gJy0nICkKICAgICAgewoJJG9wID0gJHRtcDsKCSRhZGp1c3RtZW50ID0gc3Vic3RyKCRhZGp1c3RtZW50LDEpOwogICAgICB9CiAgICBpZiggIWlzX251bWVyaWMoJGFkanVzdG1lbnQpICkgcmV0dXJuICRwcmljZTsKICAgICRhZGp1c3RtZW50ID0gZmxvYXR2YWwoJGFkanVzdG1lbnQpOwogICAgc3dpdGNoKCAkb3AgKQogICAgICB7CiAgICAgIGNhc2UgJysnOgoJJHByaWNlICs9ICRhZGp1c3RtZW50OwoJYnJlYWs7CiAgICAgIGNhc2UgJy0nOgoJJHByaWNlIC09ICRhZGp1c3RtZW50OwoJYnJlYWs7CiAgICAgIGNhc2UgJyonOgoJJHByaWNlICo9ICRhZGp1c3RtZW50OwoJYnJlYWs7CgogICAgICBkZWZhdWx0OgoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgcmV0dXJuICRwcmljZTsKfQoKCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9DYWxjdWxhdGVSZXNlcnZhdGlvblBhcnRzKCYkbW9kLCYkcmVzZXJ2YXRpb24pCnsKICAgIC8vIEkga25vdyB0aGlzIHJvdXRpbmUgY291bGQgcHJvYmFibHkgYmUgYSBoZWxsdXZhIGxvdCBtb3JlIGVmZmljaWVudAogICAgLy8gYnV0IEknbGwgcmUtdGFja2xlIHRoYXQgYXQgYSBsYXRlciB0aW1lLgogICAgJGRiID0mICRtb2QtPkdldERiKCk7CgogICAgLy8gZ2V0IHRoZSB1bmlxdWUgcmVzb3VyY2UgaWRzCiAgICAkcmVzb3VyY2VzID0gYXJyYXkoKTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRyZXNlcnZhdGlvblsncGFydHMnXSk7ICRpKysgKQogICAgICB7CgkkcmVzb3VyY2VzW10gPSAkcmVzZXJ2YXRpb25bJ3BhcnRzJ11bJGldWydyc3JjX2lkJ107CiAgICAgIH0KICAgICRwYXJ0cyA9IGNnZV9hcnJheTo6dG9faGFzaCgkcmVzZXJ2YXRpb25bJ3BhcnRzJ10sJ3JzcmNfaWQnKTsKCiAgICAvLyAxLiAgR2V0IGJhc2UgcHJpY2UgYW5kIG90aGVyIGluZm8gZm9yIHNlbGVjdGVkIHJlc291cmNlcwogICAgJHEgPSAnU0VMRUNUIGlkLGJhc2VfcHJpY2UsY2FwYWNpdHkgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nIFdIRVJFIGFjdGl2ZSA9MSBBTkQgaWQgSU4oJy5pbXBsb2RlKCcsJywkcmVzb3VyY2VzKS4nKSc7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcSk7CiAgICAkcnNyY3MgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKCiAgICAvLyAyLiAgR2V0IHdlZWtkYXkgcHJpY2UgYWRqdXN0bWVudHMgYW5kIG90aGVyIGFkanVzdG1lbnRzIGZvciBzZWxlY3RlZCByZXNvdXJjZXMuCiAgICAvLyAgICAgYW5kIHB1dCB0aGVtIHRvZ2V0aGVyLgogICAgJHEgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX1BSSUNFUy4nIFdIRVJFIHJzcmNfaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHJlc291cmNlcykuJyknOwogICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHEpOwogICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkKICAgICAgewoJJHRpZCA9ICRvbmVbJ3JzcmNfaWQnXTsKCSR0bXAyID0gYXJyYXkoKTsKCSR0bXAyWzBdID0gJG9uZVsnc3VuZGF5J107CgkkdG1wMlsxXSA9ICRvbmVbJ21vbmRheSddOwoJJHRtcDJbMl0gPSAkb25lWyd0dWVzZGF5J107CgkkdG1wMlszXSA9ICRvbmVbJ3dlZG5lc2RheSddOwoJJHRtcDJbNF0gPSAkb25lWyd0aHVyc2RheSddOwoJJHRtcDJbNV0gPSAkb25lWydmcmlkYXknXTsKCSR0bXAyWzZdID0gJG9uZVsnc2F0dXJkYXknXTsKCSRyc3Jjc1skdGlkXVsnd2Vla2RheXMnXSA9ICR0bXAyOwoJJHJzcmNzWyR0aWRdWydvdmVyY2FwJ10gPSAkb25lWydvdmVyY2FwJ107CgkkcnNyY3NbJHRpZF1bJ2Rpc2NvdW50X2RheXMnXSA9ICRvbmVbJ2Rpc2NvdW50X2RheXMnXTsKCSRyc3Jjc1skdGlkXVsnZGlzY291bnRfYWRqdXN0J10gPSAkb25lWydkaXNjb3VudF9hZGp1c3QnXTsKCSRyc3Jjc1skdGlkXVsnZGlzY291bnRfdHlwZSddID0gJG9uZVsnZGlzY291bnRfdHlwZSddOwogICAgICB9CgogICAgLy8gNC4gIGZvciBlYWNoIHJlc2VydmF0aW9uIHBhcnQKICAgIGZvciggJHBuID0gMDsgJHBuIDwgY291bnQoJHJlc2VydmF0aW9uWydwYXJ0cyddKTsgJHBuKysgKQogICAgICB7CgkkdGhlcGFydCA9JiAkcmVzZXJ2YXRpb25bJ3BhcnRzJ11bJHBuXTsKCSRvbmVyc3JjID0mICRyc3Jjc1skdGhlcGFydFsncnNyY19pZCddXTsKCSRwYXJ0X3N0YXJ0X2RhdGUgPSAkZGItPkRiVGltZVN0YW1wKCRwYXJ0c1skb25lcnNyY1snaWQnXV1bJ3N0YXJ0X2RhdGUnXSk7CgkkcGFydF9lbmRfZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJHBhcnRzWyRvbmVyc3JjWydpZCddXVsnZW5kX2RhdGUnXSk7CgoJLy8gR2V0IGV2ZW50cyBpbiBlZmZlY3QgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcywgZm9yIHRoaXMgcmVzb3VyY2UKCSRxID0gJ1NFTEVDVCBESVNUSU5DVCBpZCxuYW1lLGJvb2thYmxlLHByaWNlX2FkanVzdCxUT19EQVlTKHN0YXJ0X2RhdGUpIEFTIHN0YXJ0X2RheSxUT19EQVlTKGVuZF9kYXRlKSBhcyBlbmRfZGF5IAogICAgICAgICAgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMuJyBFCiAgICAgICAgICBMRUZUIEpPSU4gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19FVkVOVFMuIiBSRQogICAgICAgICAgT04gRS5pZCA9IFJFLmV2ZW50X2lkCiAgICAgICAgICBXSEVSRSBSRS5yc3JjX2lkID0gPwogICAgICAgICAgICBBTkQgTk9UICgkcGFydF9zdGFydF9kYXRlID4gRS5lbmRfZGF0ZSBPUiAkcGFydF9lbmRfZGF0ZSA8IEUuc3RhcnRfZGF0ZSkiOwoJJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHEsYXJyYXkoJHRoZXBhcnRbJ3JzcmNfaWQnXSkpOwoJJHEgPSAnU0VMRUNUIHJzcmNfaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0VWRU5UUy4nIFdIRVJFIGV2ZW50X2lkID0gPyc7CgkkZXZlbnRzID0gYXJyYXkoKTsKCWZvcmVhY2goICR0bXAgYXMgJG9uZWV2ZW50ICkKCSAgewoJICAgICR0bXAyID0gJGRiLT5HZXRBcnJheSgkcSxhcnJheSgkb25lZXZlbnRbJ2lkJ10pKTsKCSAgICAkb25lZXZlbnRbJ3JzcmNzJ10gPSBjZ2VfYXJyYXk6OmV4dHJhY3RfZmllbGQoJHRtcDIsJ3JzcmNfaWQnKTsKCSAgICAkZXZlbnRzW10gPSAkb25lZXZlbnQ7CgkgIH0KCgkvLyBnZXQgc29tZSBkYXRlIGluZm9ybWF0aW9uCgkkcSA9ICJTRUxFQ1QgVE9fREFZUygkcGFydF9zdGFydF9kYXRlKSBBUyBzdGFydF9kYXksIFRPX0RBWVMoJHBhcnRfZW5kX2RhdGUpIEFTIGVuZF9kYXkiOwoJJGRheW51bWJlcnMgPSAkZGItPkdldFJvdygkcSk7Cgkkd2Vla2RheXMgPSBhcnJheSgpOwoJZm9yKCAkZCA9ICRkYXludW1iZXJzWydzdGFydF9kYXknXTsgJGQgPD0gJGRheW51bWJlcnNbJ2VuZF9kYXknXTsgJGQrKyApCgkgIHsKCSAgICAkcSA9ICJTRUxFQ1QgREFZT0ZXRUVLKEZST01fREFZUygkZCkpIjsKCSAgICAkd2Vla2RheXNbJGRdID0gJGRiLT5HZXRPbmUoJHEpOwoJICB9CgoJLy8gIGEuIGZvciBlYWNoIGRheQoJJHByaWNlZGF5cyA9IGFycmF5KCk7Cglmb3IoICRkYXludW0gPSAkZGF5bnVtYmVyc1snc3RhcnRfZGF5J107ICRkYXludW0gPD0gJGRheW51bWJlcnNbJ2VuZF9kYXknXTsgJGRheW51bSArKyApCgkgIHsKCSAgICAvLyBkb24ndCBkbyBjYWxjdWxhdGlvbnMgZm9yIHNhbWUgZGF5IHR3aWNlLgoJICAgIGlmKCBpc3NldCgkcHJpY2VkYXlzWyRkYXludW1dKSApIGNvbnRpbnVlOwoKCSAgICAvLyBpLiBzZXQgdGhlIHByaWNlIGZvciB0aGF0IGRheSB0byB0aGUgYmFzZSBwcmljZQoJICAgICR0bXAyID0gYXJyYXkoJ2Jhc2VfcHJpY2UnPT4kb25lcnNyY1snYmFzZV9wcmljZSddLAoJCQkgICdwcmljZSc9PiRvbmVyc3JjWydiYXNlX3ByaWNlJ10sCgkJCSAgJ2FkanVzdG1lbnRzJz0+YXJyYXkoKSwKCQkJICAnb3ZlcmNhcF9hbXQnPT4wKTsKCgkgICAgLy8gaWkuIGFkanVzdCB0aGUgcHJpY2UgYmFzZWQgb24gdGhlIHdlZWtkYXkKCSAgICAkZG93ID0gJHdlZWtkYXlzWyRkYXludW1dOwoJICAgIGlmKCAhZW1wdHkoJG9uZXJzcmNbJ3dlZWtkYXlzJ11bJGRvd10pICkKCSAgICAgIHsKCQkkdG1wMlsncHJpY2UnXSA9ICRtb2QtPkFkanVzdFByaWNlKCR0bXAyWydiYXNlX3ByaWNlJ10sJG9uZXJzcmNbJ3dlZWtkYXlzJ11bJGRvd10pOwoJCSR0bXAyWydhZGp1c3RtZW50cyddW10gPSAkbW9kLT5MYW5nKCdhZGp1c3Rfd2Vla2RheV9wcmljZScsJGRvdywkb25lcnNyY1snd2Vla2RheXMnXVskZG93XSk7CgkgICAgICB9CgoJICAgIC8vIGlpaS4gYWRqdXN0IHRoZSBwcmljZSBiYXNlZCBvbiBvdmVyY2FwYWNpdHkKCSAgICBpZiggJG9uZXJzcmNbJ2NhcGFjaXR5J10gPiAwICYmICRvbmVyc3JjWydvdmVyY2FwJ10gPiAwICYmCgkJJHRoZXBhcnRbJ251bV9wZW9wbGUnXSA+ICRvbmVyc3JjWydjYXBhY2l0eSddKQoJICAgICAgewoJCSRudW0gPSAoJHRoZXBhcnRbJ251bV9wZW9wbGUnXSAtICRvbmVyc3JjWydjYXBhY2l0eSddKTsKCQkkb3ZlcmNhcCA9ICAkbnVtICogJG9uZXJzcmNbJ292ZXJjYXAnXTsKCQkkdG1wMlsncHJpY2UnXSArPSAkb3ZlcmNhcDsKCQkkdG1wMlsnYWRqdXN0bWVudHMnXVtdID0gJG1vZC0+TGFuZygnYWRqdXN0X292ZXJjYXBhY2l0eScsJG51bSwkb3ZlcmNhcCk7CgkgICAgICB9CgoJICAgIC8vIGl2LiBmb3IgZWFjaCBldmVudAoJICAgIGZvcmVhY2goICRldmVudHMgYXMgJG9uZWV2ZW50ICkKCSAgICAgIHsKCQkvLyAxLiB0ZXN0IGlmIGV2ZW50IGluIGVmZmVjdCBmb3IgdGhpcyByZXNvdXJjZQoJCWlmKCAhaW5fYXJyYXkoJG9uZXJzcmNbJ2lkJ10sJG9uZWV2ZW50Wydyc3JjcyddKSApIGNvbnRpbnVlOwoKCQkvLyAyLiBpZiB0aGUgZXZlbnQgaXMgbm90IGJvb2thYmxlLCByZXR1cm4gZXJyb3IKCQlpZiggISRvbmVldmVudFsnYm9va2FibGUnXSApIAoJCSAgewoJCSAgICAvLyBzaG91bGRuJ3QgZ2V0IGhlcmUgZHVlIHRvIHF1ZXJ5LCBidXQganVzdCBpbiBjYXNlLgoJCSAgICBjb250aW51ZTsKCQkgIH0KCgkJLy8gMy4gIHRlc3QgaWYgdGhlIGV2ZW50IGlzIGluIGVmZmVjdCBmb3IgdGhpcyBkYXkKCQlpZiggJGRheW51bSA8ICRvbmVldmVudFsnc3RhcnRfZGF5J10gfHwgJGRheW51bSA+ICRvbmVldmVudFsnZW5kX2RheSddICkKCQkgIHsKCQkgICAgLy8gc2hvdWxkbid0IGdldCBoZXJlIGR1ZSB0byBxdWVyeSwgYnV0IGp1c3QgaW4gY2FzZQoJCSAgICBjb250aW51ZTsKCQkgIH0KCQoJCWlmKCAhZW1wdHkoJG9uZWV2ZW50WydwcmljZV9hZGp1c3QnXSkgKQoJCSAgewoJCSAgICAvLyBhLiBtYXJrIHByaWNlIGFzIGFkanVzdGVkCgkJICAgICR0bXAyWydhZGp1c3RtZW50cyddW10gPSAkbW9kLT5MYW5nKCdhZGp1c3RfZXZlbnRfcHJpY2UnLCRvbmVldmVudFsnaWQnXSwkb25lZXZlbnRbJ3ByaWNlX2FkanVzdCddKTsKCgkJICAgIC8vIGIuIGFkanVzdCBwcmljZSBmb3IgdGhhdCBkYXkKCQkgICAgJHRtcDJbJ3ByaWNlJ10gPSAkbW9kLT5BZGp1c3RQcmljZSgkdG1wMlsncHJpY2UnXSwkb25lZXZlbnRbJ3ByaWNlX2FkanVzdCddKTsKCQkgIH0KCSAgICAgIH0KCgkgICAgJHByaWNlZGF5c1skZGF5bnVtXSA9ICR0bXAyOwoJICB9IC8vIGZvciBkYXludW0KCgkvKiBidWxrIGRpc2NvdW50cwoJLy8gbm93IGFwcHkgYnVsayBkaXNjb3VudHMgaWYgYW55LgoJaWYoICRvbmVyc3JjWydkaXNjb3VudF9kYXlzJ10gPiAwICYmIAoJICAgICRvbmVyc3JjWydkaXNjb3VudF90eXBlJ10gIT0gQVZBSUxBQklMSVRZX0RJU0NPVU5UX05PTkUgJiYKCSAgICAhZW1wdHkoJG9uZXJzcmNbJ2Rpc2NvdW50X2FkanVzdCddKSAmJgoJICAgIGNvdW50KCRwcmljZWRheXMpID4gJG9uZXJzcmNbJ2Rpc2NvdW50X2RheXMnXSApCgkgIHsKCSAgICAvLyB3b290LCBhIGRpc2NvdW50IG9mIHNvbWUgdHlwZSBhcHBsaWVzLgoJICAgIHN3aXRjaCgkb25lcnNyY1snZGlzY291bnRfdHlwZSddKQoJICAgICAgewoJICAgICAgY2FzZSBBVkFJTEFCSUxJVFlfRElTQ09VTlRfQUxMQURKVVNUOgoJCS8vIHRoZSBzaW1wbGVzdCBvZiB0aGUgYWRqdXN0bWVudCB0eXBlcwoJCS8vIHdlIGp1c3QgYWRqdXN0IHRoZSBwcmljZSBvZiBlYWNoIGRheSBieSB0aGUgYW1vdW50IHNwZWNpZmllZAoJCWZvcmVhY2goICRwcmljZWRheXMgYXMgJGRheW51bSA9PiAkdG1wMiApCgkJICB7CgkJICAgICR0bXAyWydwcmljZSddID0gJG1vZC0+QWRqdXN0UHJpY2UoJHRtcDJbJ3ByaWNlJ10sJG9uZXJzcmNbJ2Rpc2NvdW50X2FkanVzdCddKTsKCQkgICAgJHRtcDJbJ2FkanVzdG1lbnRzJ11bXSA9ICRtb2QtPkxhbmcoJ2FkanVzdF9kaXNjb3VudF9hbGxhZGp1c3QnLCRvbmVyc3JjWydkaXNjb3VudF9hZGp1c3QnXSk7CgkJICAgICRwcmljZWRheXNbJGRheW51bV0gPSAkdG1wMjsKCQkgIH0KCQlicmVhazsKCgkgICAgICBjYXNlIEFWQUlMQUJJTElUWV9ESVNDT1VOVF9BREpVU1REQVlTOgoJCS8vIGFkanVzdCBvbmx5IHRoZSBtYXRjaGluZyBkYXlzIGJ5IHRoZSBhZGp1c3RtZW50CgkJJG4gPSBjb3VudCgkcHJpY2VkYXlzKSAtIChjb3VudCgkcHJpY2VkYXlzKSAlICRvbmVyc3JjWydkaXNjb3VudF9kYXlzJ10pOwoJCWZvcmVhY2goICRwcmljZWRheXMgYXMgJGRheW51bSA9PiAkdG1wMiApCgkJICB7CgkJICAgIGlmKCAkbiA8PSAwICkgYnJlYWs7CgkJICAgICRuLS07CgoJCSAgICAkdG1wMlsncHJpY2UnXSA9ICRtb2QtPkFkanVzdFByaWNlKCR0bXAyWydwcmljZSddLCRvbmVyc3JjWydkaXNjb3VudF9hZGp1c3QnXSk7CgkJICAgICR0bXAyWydhZGp1c3RtZW50cyddW10gPSAkbW9kLT5MYW5nKCdhZGp1c3RfZGlzY291bnRfYWRqdXN0ZGF5cycsJG9uZXJzcmNbJ2Rpc2NvdW50X2FkanVzdCddKTsKCQkgICAgJHByaWNlZGF5c1skZGF5bnVtXSA9ICR0bXAyOwoJCSAgfQoJCWJyZWFrOwoKCSAgICAgIGNhc2UgQVZBSUxBQklMSVRZX0RJU0NPVU5UX0ZSRUVCTE9DSzoKCQkvLyB0aGUgbW9zdCBjb21wbGV4IG9mIHRoZSBkaXNjb3VudGluZwoJCS8vIGZvciBlYWNoIGFwcGxpY2FibGUgYmxvY2sgb2YgTiBkYXlzLi4uIGZpbmQgdGhlIGNoZWFwZXN0CgkJLy8gYW5kIG1hcmsgdGhvc2UgZGF5cyBhcyBmcmVlLi4KCQkkYWRqdXN0ID0gKGludCkkb25lcnNyY1snZGlzY291bnRfYWRqdXN0J107CgkJJGFkanVzdCA9IG1heCgxLCRhZGp1c3QpOwoJCSRhZGp1c3QgPSBtaW4oJG9uZXJzcmNbJ2Rpc2NvdW50X2RheXMnXSwkYWRqdXN0KTsKCQkkbiA9ICgoaW50KShjb3VudCgkcHJpY2VkYXlzKS8kb25lcnNyY1snZGlzY291bnRfZGF5cyddKSkgKiAkYWRqdXN0OwoJCWZvciggJGkgPSAwOyAkaSA8ICRuOyAkaSsrICkKCQkgIHsKCQkgICAgJHZhbCA9IDk5OTk5OTk7CgkJICAgICR2aSA9IC0xOwoJCSAgICBmb3JlYWNoKCAkcHJpY2VkYXlzIGFzICRkYXludW0gPT4gJHRtcDIgKQoJCSAgICAgIHsKCQkJaWYoICR0bXAyWydwcmljZSddIDwgJHZhbCAmJiAhaXNzZXQoJHRtcDJbJ2Rpc2NvdW50ZWQnXSkpCgkJCSAgewoJCQkgICAgJHZhbCA9ICR0bXAyWydwcmljZSddOwoJCQkgICAgJHZpID0gJGRheW51bTsKCQkJICB9CgkJICAgICAgfQoJCSAgICBpZiggJHZpID4gMCApCgkJICAgICAgewoJCQkkcHJpY2VkYXlzWyR2aV1bJ3ByaWNlJ10gPSAwOwoJCQkkcHJpY2VkYXlzWyR2aV1bJ2Rpc2NvdW50ZWQnXSA9IDE7CgkJCSRwcmljZWRheXNbJHZpXVsnYWRqdXN0bWVudHMnXVtdID0gJG1vZC0+TGFuZygnYWRqdXN0X2Rpc2NvdW50X2ZyZWVibG9jaycpOwoJCSAgICAgIH0KCQkgIH0KCQkgIGJyZWFrOwoJCX0KCSAgICAgIH0gLy8gYnVsayBkaXNjb3VudHMgCiAgICAgICAgICovCgoJLy8gd2UgaGF2ZSBjYWxjdWxhdGVkIGRhdGEgZm9yIHRoaXMgZGF5CgkvLyBub3cgbWVyZ2UgaXQgaW50byB0aGUgbWFzdGVyLgoJJHRvdGFsID0gMDsKCWZvcmVhY2goICRwcmljZWRheXMgYXMgJHRtcGRheSA9PiAkdG1wcmVjICkKCSAgewoJICAgIGZvcmVhY2goICR0bXByZWMgYXMgJG5hbWUgPT4gJHZhbHVlICkKCSAgICAgIHsKCQlzd2l0Y2goJG5hbWUpCgkJICB7CgkJICBjYXNlICdwcmljZSc6CgkJICAgICR0b3RhbCArPSAkdmFsdWU7CgkJICAgIGJyZWFrOwoKCQkgIGNhc2UgJ2FkanVzdG1lbnRzJzoKCQkgICAgaWYoIGlzc2V0KCR0aGVwYXJ0WydhZGp1c3RtZW50cyddKSAmJiBpc19hcnJheSgkdGhlcGFydFsnYWRqdXN0bWVudHMnXSkgKQoJCSAgICAgIHsKCQkJJHRoZXBhcnRbJ2FkanVzdG1lbnRzJ10gPSBhcnJheV9tZXJnZSgkdGhlcGFydFsnYWRqdXN0bWVudHMnXSwkdmFsdWUpOwoJCSAgICAgIH0KCQkgICAgZWxzZQoJCSAgICAgIHsKCQkJJHRoZXBhcnRbJ2FkanVzdG1lbnRzJ10gPSAkdmFsdWU7CgkJICAgICAgfQoJCSAgICBicmVhazsKCQkgIH0KCSAgICAgIH0KCSAgfQoJJHRoZXBhcnRbJ3ByaWNlJ10gPSAkdG90YWw7CiAgICAgIH0gLy8gZm9yZWFjaCBwYXJ0CgogICAgJHJlc2VydmF0aW9uWydjYWxjdWxhdGVkJ10gPSAxOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0NhbGN1bGF0ZVJlc2VydmF0aW9uUHJpY2UoJiRtb2QsJiRyZXNlcnZhdGlvbikKewogIGlmKCAhaXNzZXQoJHJlc2VydmF0aW9uWydjYWxjdWxhdGVkJ10pIHx8ICRyZXNlcnZhdGlvblsnY2FsY3VsYXRlZCddID09IDAgKQogICAgewogICAgICAkbW9kLT5DYWxjdWxhdGVSZXNlcnZhdGlvblBhcnRzKCRyZXNlcnZhdGlvbik7CiAgICB9CgogIC8vIHNldCB0b3RhbCB0byAwCiAgJHRvdGFsID0gMDsKICBpZiggIWNvdW50KCRyZXNlcnZhdGlvblsncGFydHMnXSkgKSByZXR1cm4gRkFMU0U7CgogIC8vIG9yIGVhY2ggUEFSVAogIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRyZXNlcnZhdGlvblsncGFydHMnXSk7ICRpKysgKQogICAgewogICAgICAkdG90YWwgPSAkdG90YWwgKyAkcmVzZXJ2YXRpb25bJ3BhcnRzJ11bJGldWydwcmljZSddOwogICAgfQogIAogIC8vIHJldHVybiB0aGUgdG90YWwgcHJpY2UKICByZXR1cm4gJHRvdGFsOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0NoZWNrUmVzZXJ2YXRpb25Db25mbGljdHMoJiRtb2QsJHJlc2VydmF0aW9uLCRhbGxjb25mbGljdHMgPSAwKQp7CiAgLy8gQ2hlY2sgZm9yIGNvbmZsaWN0cyB3aXRoIG90aGVyIHJlc2VydmF0aW9ucwogIGdsb2JhbCAkZ0NtczsKICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CgogIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRyZXNlcnZhdGlvblsncGFydHMnXSk7ICRpKysgKQogICAgewogICAgICAkcGFydCA9JiAkcmVzZXJ2YXRpb25bJ3BhcnRzJ11bJGldOwogICAgICAkc3RhcnRfZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJHBhcnRbJ3N0YXJ0X2RhdGUnXSk7CiAgICAgICRlbmRfZGF0ZSA9ICRkYi0+RGJUaW1lU3RhbXAoJHBhcnRbJ2VuZF9kYXRlJ10pOwoJCiAgICAgICRxcGFybXMgPSBhcnJheSgpOwogICAgICAkcXVlcnkgPSAnU0VMRUNUIGEucmVzdl9pZCxiLnN0YXR1cyBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLiIgYQogICAgICAgICAgICAgICAgICBMRUZUIEpPSU4gIi5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLiIgYgogICAgICAgICAgICAgICAgICAgIE9OIGEucmVzdl9pZCA9IGIuaWQKICAgICAgICAgICAgICAgICBXSEVSRSAoKGEuc3RhcnRfZGF0ZSBCRVRXRUVOICRzdGFydF9kYXRlIEFORCAkZW5kX2RhdGUpIE9SIChhLmVuZF9kYXRlIEJFVFdFRU4gJHN0YXJ0X2RhdGUgQU5EICRlbmRfZGF0ZSkpCiAgICAgICAgICAgICAgICAgICBBTkQgYS5yc3JjX2lkID0gPyI7CiAgICAgICRxcGFybXNbXSA9ICRwYXJ0Wydyc3JjX2lkJ107CgogICAgICBpZiggISRhbGxjb25mbGljdHMgKQoJewoJICAvLyBvbmx5IGNoZWNrIGFnYWluc3QgY29uZmlybWVkIHJlc2VydmF0aW9ucy4KCSAgJHF1ZXJ5IC49ICdBTkQgYi5zdGF0dXMgPSA/JzsKCSAgJHFwYXJtc1tdID0gQVZBSUxBQklMSVRZX1NUQVRVU19DT05GSVJNRUQ7Cgl9CiAgICAgIGlmKCBpc3NldCgkcmVzZXJ2YXRpb25bJ2lkJ10pICkKCXsKCSAgJHF1ZXJ5IC49ICIgQU5EIGEucmVzdl9pZCAhPSA/IjsKCSAgJHFwYXJtc1tdID0gJHJlc2VydmF0aW9uWydpZCddOwoJfQogICAgICAkcXVlcnkgLj0gIiBMSU1JVCAxIjsKICAgICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSwkcXBhcm1zKTsKICAgICAgaWYoICR0bXAgKQoJewoJICByZXR1cm4gdHJ1ZTsKCX0KCiAgICAgIC8vIENoZWNrIGZvciBjb25mbGljdHMgd2l0aCBldmVudHMKICAgICAgJHFwYXJtcyA9IGFycmF5KCk7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgcmUucnNyY19pZCBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UUy4nIGV2CiAgICAgICAgICAgICAgICAgIExFRlQgSk9JTiAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0VWRU5UUy4iIHJlCiAgICAgICAgICAgICAgICAgICAgT04gZXYuaWQgPSByZS5ldmVudF9pZAogICAgICAgICAgICAgICAgIFdIRVJFICgoZXYuc3RhcnRfZGF0ZSBCRVRXRUVOICRzdGFydF9kYXRlIEFORCAkZW5kX2RhdGUpCiAgICAgICAgICAgICAgICAgICAgT1IgKGV2LmVuZF9kYXRlIEJFVFdFRU4gJHN0YXJ0X2RhdGUgQU5EICRlbmRfZGF0ZSkpCiAgICAgICAgICAgICAgICAgICBBTkQgcnNyY19pZCBJTiA9ID8KICAgICAgICAgICAgICAgICAgIEFORCBldi5ib29rYWJsZSA9IDAKICAgICAgICAgICAgICAgICBMSU1JVCAxIjsKICAgICAgJHFwYXJtc1tdID0gJHBhcnRbJ3JzcmNfaWQnXTsKICAgICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSwkcXBhcm1zKTsKICAgICAgaWYoICR0bXAgKQoJewoJICByZXR1cm4gdHJ1ZTsKCX0KICAgIH0KCiAgcmV0dXJuIGZhbHNlOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0FkanVzdFJlc2VydmF0aW9uUGFydEludGVydmFsMigmJG1vZCwmJHJzcmMsJHN0YXJ0X2RhdGUsJGVuZF9kYXRlLCRtZXJpZGlhbiA9ICcnKQp7CiAgc3dpdGNoKCAkcnNyY1sncmVzX2ludGVydmFsJ10gKQogICAgewogICAgY2FzZSAnZGFpbHknOgogICAgICBkZWJ1Z190b19sb2coJ3BhZGogc3RhcnQ6ICcuc3RyZnRpbWUoJyVtLyVkLyVZICVIOiVNJywkc3RhcnRfZGF0ZSkpOwogICAgICBkZWJ1Z190b19sb2coJ3BhZGogZW5kOiAnLnN0cmZ0aW1lKCclbS8lZC8lWSAlSDolTScsJGVuZF9kYXRlKSk7CgogICAgICAkc3RhcnRfZGF0ZSA9IGNnZV9kYXRlX3V0aWxzOjp0c19zZXRfdGltZV9mcm9tX3N0cigkc3RhcnRfZGF0ZSwkcnNyY1snY2hlY2tpbnRpbWUnXSk7CiAgICAgICRlbmRfZGF0ZSA9IGNnZV9kYXRlX3V0aWxzOjp0c19zZXRfdGltZV9mcm9tX3N0cigkZW5kX2RhdGUsJHJzcmNbJ2NoZWNrb3V0dGltZSddKTsKICAgICAgLy8gZW5zdXJlIHN0YXJ0X2RhdGUgaXMgbGVzcyB0aGFuIGVuZCBkYXRlCiAgICAgIC8vIGlmIG5vdCwgYWRkIDEgZGF5IHRvIGVuZCBkYXRlCiAgICAgIGRlYnVnX3RvX2xvZygnYWRqIHN0YXJ0OiAnLnN0cmZ0aW1lKCclbS8lZC8lWSAlSDolTScsJHN0YXJ0X2RhdGUpKTsKICAgICAgZGVidWdfdG9fbG9nKCdhZGogZW5kOiAnLnN0cmZ0aW1lKCclbS8lZC8lWSAlSDolTScsJGVuZF9kYXRlKSk7CiAgICAgIGlmKCAkc3RhcnRfZGF0ZSA+PSAkZW5kX2RhdGUgKQoJewoJICAkZW5kX2RhdGUgPSBzdHJ0b3RpbWUoJysxIGRheScsJGVuZF9kYXRlKTsKCX0KICAgICAgYnJlYWs7CgogICAgY2FzZSAnaG91cmx5JzoKICAgICAgJGVuZF90bXAgPSBuZXcgY2dlX2RhdGUoJHN0YXJ0X2RhdGUpOwogICAgICBkZWJ1Z190b19sb2coJ2VuZF90bXAgPSAnLiRlbmRfdG1wLT50b190aW1lc3RhbXAoKSk7CiAgICAgICRlbmRfdG1wLT5zZXRfaG91cigkZW5kX3RtcC0+aG91cigpKzEpOwogICAgICAkZW5kX3RtcC0+c2V0X3NlY29uZHMoMCk7CiAgICAgICRlbmRfZGF0ZSA9ICRlbmRfdG1wLT50b190aW1lc3RhbXAoKTsKICAgICAgZGVidWdfdG9fbG9nKCdlbmRfdG1wID0gJy4kZW5kX3RtcC0+dG9fdGltZXN0YW1wKCkpOwogICAgICBicmVhazsKCiAgICBjYXNlICdoYWxmX2RheSc6CiAgICAgIHN3aXRjaCgkbWVyaWRpYW4pCgl7CgljYXNlICdhbSc6CgkgICRzdGFydF9kYXRlID0gY2dlX2RhdGVfdXRpbHM6OnRzX3NldF90aW1lX2Zyb21fc3RyKCRzdGFydF9kYXRlLCRyc3JjWydzdGFydHRpbWUxJ10pOwoJICAkZW5kX2RhdGUgICA9IGNnZV9kYXRlX3V0aWxzOjp0c19zZXRfdGltZV9mcm9tX3N0cigkc3RhcnRfZGF0ZSwkcnNyY1snZW5kdGltZTEnXSk7CgkgIGJyZWFrOwoJY2FzZSAncG0nOgoJICAkc3RhcnRfZGF0ZSA9IGNnZV9kYXRlX3V0aWxzOjp0c19zZXRfdGltZV9mcm9tX3N0cigkc3RhcnRfZGF0ZSwkcnNyY1snc3RhcnR0aW1lMiddKTsKCSAgJGVuZF9kYXRlICAgPSBjZ2VfZGF0ZV91dGlsczo6dHNfc2V0X3RpbWVfZnJvbV9zdHIoJHN0YXJ0X2RhdGUsJHJzcmNbJ2VuZHRpbWUyJ10pOwoJICBicmVhazsKCWRlZmF1bHQ6CgkgICRyZXNbJ3Jlc3VsdCddID0gJ2Vycm9yJzsKCSAgJHJlc1snbWVzc2FnZSddID0gJG1vZC0+TGFuZygnZXJyb3JfaW52YWxpZF9kYXRlcycpOwoJICBicmVhazsKCX0KICAgICAgYnJlYWs7CiAgICB9CgogIHJldHVybiBhcnJheSgkc3RhcnRfZGF0ZSwkZW5kX2RhdGUpOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0dldFJlc291cmNlU3VtbWFyeSgmJG1vZCwmJHJzcmMpCnsKICAvLyBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgYWJvdXQgbW9kIHJlc291cmNlLi4uIHNob3VsZCB0ZWxsCiAgLy8gdGhlIHR5cGUgb2YgcmVzb3VyY2UsIGhvdyBhdmFpbGFibGUgdGltZXMgYW5kIGRheXMuCiAgJHRtcCA9IGFycmF5KCk7CiAgaWYoICRyc3JjWydyZXNfaW50ZXJ2YWwnXSA9PSAnaG91cmx5JyApCiAgICB7CiAgICAgICR0bXBbXSA9ICRtb2QtPkxhbmcoJ3Jlc291cmNlX3N1bW1hcnlfMScsCgkJCSAgJG1vZC0+TGFuZygkcnNyY1sncmVzX2ludGVydmFsJ10pLAoJCQkgICRtb2QtPkxhbmcoJHJzcmNbJ2dyYW51bGFyaXR5J10pKTsKICAgICAgJHRtcFtdID0gJG1vZC0+TGFuZygncmVzb3VyY2Vfc3VtbWFyeV8zJywKCQkJICAgJHJzcmNbJ3N0YXJ0dGltZTEnXSwKCQkJICAgJHJzcmNbJ2VuZHRpbWUxJ10sCgkJCSAgICRyc3JjWydzdGFydHRpbWUyJ10sCgkJCSAgICRyc3JjWydlbmR0aW1lMiddKTsKICAgIH0KICBlbHNlIGlmKCAkcnNyY1sncmVzX2ludGVydmFsJ10gPT0gJ2hhbGZfZGFpeScgKQogICAgewogICAgICAkdG1wW10gPSAkbW9kLT5MYW5nKCdyZXNvdXJjZV9zdW1tYXJ5XzInLCRtb2QtPkxhbmcoJHJzcmNbJ3Jlc19pbnRlcnZhbCddKSk7CiAgICAgICR0bXBbXSA9ICRtb2QtPkxhbmcoJ3Jlc291cmNlX3N1bW1hcnlfMycsCgkJCSAgICRyc3JjWydzdGFydHRpbWUxJ10sCgkJCSAgICRyc3JjWydlbmR0aW1lMSddLAoJCQkgICAkcnNyY1snc3RhcnR0aW1lMiddLAoJCQkgICAkcnNyY1snZW5kdGltZTInXSk7CiAgICB9CiAgZWxzZQogICAgewogICAgICAkdG1wW10gPSAkbW9kLT5MYW5nKCdyZXNvdXJjZV9zdW1tYXJ5XzInLCRtb2QtPkxhbmcoJHJzcmNbJ3Jlc19pbnRlcnZhbCddKSk7CiAgICAgICR0bXBbXSA9ICRtb2QtPkxhbmcoJ3Jlc291cmNlX3N1bW1hcnlfNCcsCgkJCSAgICRyc3JjWydjaGVja2ludGltZSddLAoJCQkgICAkcnNyY1snY2hlY2tvdXR0aW1lJ10pOwogICAgfQoKICByZXR1cm4gaW1wbG9kZSgnLCAnLCR0bXApOwp9CgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfR2V0UmVzb3VyY2UoJiRtb2QsJHJzcmNfaWQpCnsKICBpZiggIWlzX2FycmF5KCRtb2QtPmNhY2hlZF9yZXNvdXJjZXMpICkKICAgIHsKICAgICAgZ2xvYmFsICRnQ21zOwogICAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgICAgIAogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUzsKICAgICAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICAgaWYoICEkdG1wICkgcmV0dXJuIEZBTFNFOwogICAgICAkbW9kLT5jYWNoZWRfcmVzb3VyY2VzID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ2lkJyk7CiAgICB9CiAgCiAgaWYoICFpc3NldCgkbW9kLT5jYWNoZWRfcmVzb3VyY2VzWyRyc3JjX2lkXSkgKSByZXR1cm4gRkFMU0U7CgogIHJldHVybiAkbW9kLT5jYWNoZWRfcmVzb3VyY2VzWyRyc3JjX2lkXTsKfQoKCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9BZGp1c3RSZXNlcnZhdGlvblBhcnRJbnRlcnZhbCgmJG1vZCwkcnNyY19pZCwkc3RhcnRfdXQsJGVuZF91dCwkbWVyaWRpYW4pCnsKICAkcm93ID0gJG1vZC0+R2V0UmVzb3VyY2UoJHJzcmNfaWQpOwogIGxpc3QoJHN0YXJ0X3RpbWUsJGVuZF90aW1lKSA9IGF2YWlsYWJpbGl0eV9BZGp1c3RSZXNlcnZhdGlvblBhcnRJbnRlcnZhbDIoJG1vZCwkcm93LCRzdGFydF91dCwkZW5kX3V0LCRtZXJpZGlhbik7CiAgJHBhcnQgPSBhcnJheSgpOwogICRwYXJ0Wydyc3JjX2lkJ10gPSAkcnNyY19pZDsKICAkcGFydFsnc3RhcnRfZGF0ZSddID0gJHN0YXJ0X3RpbWU7CiAgJHBhcnRbJ2VuZF9kYXRlJ10gPSAkZW5kX3RpbWU7CiAgJHBhcnRbJ3ByaWNlJ10gPSAwOwoKICAvLyBkb25lCiAgcmV0dXJuICRwYXJ0Owp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0dldEFkbWluQ0NMaXN0KCYkbW9kKQp7CiAgZ2xvYmFsICRnQ21zOwogICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKICAkdG1wID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYycpOwogICRvcmlnbGlzdCA9IGV4cGxvZGUoJywnLCR0bXApOwogICR1aWRsaXN0ID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkb3JpZ2xpc3QgYXMgJG9uZSApCiAgICB7CiAgICAgIGlmKCAkb25lIDwgMCApCgl7CgkgICRxdWVyeSA9ICdTRUxFQ1QgdXNlcl9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLid1c2VyX2dyb3VwcyAKICAgICAgICAgICAgICAgICAgICAgV0hFUkUgZ3JvdXBfaWQgPSA/JzsKCSAgJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRvbmUgKiAtMSkpOwoJICAkdG1wID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCR0bXAsJ3VzZXJfaWQnKTsKCSAgJHVpZGxpc3QgPSBhcnJheV9tZXJnZSgkdWlkbGlzdCwkdG1wKTsKCX0KICAgICAgZWxzZQoJewoJICAkdWlkbGlzdFtdID0gJG9uZTsKCX0KICAgIH0KCiAgJHVpZGxpc3QgPSBhcnJheV91bmlxdWUoJHVpZGxpc3QpOwogICRjY2VtYWlsbGlzdCA9IGFycmF5KCk7CiAgaWYoIGNvdW50KCR1aWRsaXN0KSA+IDAgKQogICAgewogICAgICAkdXNlcm9wcyA9JiAkZ0Ntcy0+R2V0VXNlck9wZXJhdGlvbnMoKTsKICAgICAgJGFsbHVzZXJzID0gJHVzZXJvcHMtPkxvYWRVc2VycygpOwogICAgICBmb3JlYWNoKCAkdWlkbGlzdCBhcyAkdWlkICkKCXsKCSAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGFsbHVzZXJzKTsgJGkrKyApCgkgICAgewoJICAgICAgaWYoICRhbGx1c2Vyc1skaV0tPmFjdGl2ZSA9PSAxICYmCgkJICAkYWxsdXNlcnNbJGldLT5pZCA9PSAkdWlkICYmIAoJCSAgIWVtcHR5KCRhbGx1c2Vyc1skaV0tPmVtYWlsKSApCgkJewoJCSAgJGNjZW1haWxsaXN0W10gPSAkYWxsdXNlcnNbJGldLT5lbWFpbDsKCQl9CgkgICAgfQoJfQogICAgICAkY2NlbWFsbGlzdCA9IGFycmF5X3VuaXF1ZSgkY2NlbWFpbGxpc3QpOwogICAgfQoKICBpZiggY291bnQoJGNjZW1haWxsaXN0KSApCiAgICB7CiAgICAgIHJldHVybiAkY2NlbWFpbGxpc3Q7CiAgICB9CiAgcmV0dXJuIGZhbHNlOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X1NlbmRSZXNlcnZhdGlvbkRldGFpbHNFbWFpbCgmJG1vZCwkcmVzdl9pZCwkdGVtcGxhdGUsJGxvZ2l0LCYkZXJyb3IpCnsKICBnbG9iYWwgJGdDbXM7CiAgJGRiID0mICRnQ21zLT5HZXREYigpOwogICRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOwogICRmZXUgPSAkbW9kLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwoKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlMuJwogICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgJHJlc2VydmF0aW9uID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRyZXN2X2lkKSk7CiAgaWYoICEkcmVzZXJ2YXRpb24gKQogICAgewogICAgICAkZXJyb3IgPSAkbW9kLT5EaXNwbGF5RXJyb3JNZXNzYWdlKCRtb2QtPkxhbmcoJ2Vycm9yX25vdGZvdW5kJykpOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgJHF1ZXJ5ID0gJ1NFTEVDVCBESVNUSU5DVCByc3JjX2lkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgIFdIRVJFIHJlc3ZfaWQgPSA/JzsKICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICAkdG1wID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCR0bXAsJ3JzcmNfaWQnKTsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nCiAgICAgICAgICAgV0hFUkUgYWN0aXZlID0gMQogICAgICAgICAgICAgQU5EIGlkIElOICgnLmltcGxvZGUoJywnLCR0bXApLicpJzsKICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICRyZXNlcnZhdGlvblsncmVzb3VyY2VzJ10gPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4nCiAgICAgICAgICAgV0hFUkUgcmVzdl9pZCA9ID8nOwogICRyZXNlcnZhdGlvblsncGFydHMnXSA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRyZXN2X2lkKSk7CiAgCiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMuJwogICAgICAgICAgIFdIRVJFIHJlc3ZfaWQgPSA/CiAgICAgICAgICBPUkRFUiBCWSBjcmVhdGVfZGF0ZSBBU0MnOwogICRub3RlcyA9IGFycmF5KCk7CiAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICB3aGlsZSggJGRiciAmJiAkcm93ID0gJGRici0+RmV0Y2hSb3coKSApCiAgICB7CiAgICAgICRub3Rlc1tdID0gJHJvdzsKICAgIH0KICAkZGJyLT5DbG9zZSgpOwoKICAkY3VzdGlkID0gJHJlc2VydmF0aW9uWydjdXN0b21lcl9pZCddOwogICR1c2Vyb2JqID0mIGF2YWlsYWJpbGl0eV9HZXRVc2VyT2JqZWN0KCRtb2QsJGN1c3RpZCk7CgogIC8vIEdhdGhlciBlbWFpbCBhZGRyZXNzZXMKICBpZiggZW1wdHkoJHVzZXJvYmotPmVtYWlsKSApCiAgICB7CiAgICAgICRlcnJvciA9ICRtb2QtPkxhbmcoJ2Vycm9yX25vX2N1c3RvbWVyX2VtYWlsJyk7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAkY2NlbWFpbGxpc3QgPSAkbW9kLT5HZXRBZG1pbkNDTGlzdCgpOwoKICAvLwogIC8vIEdpdmUgZGF0YSB0byBzbWFydHkKICAvLwogICRkZXRhaWxwYWdlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJywtMSk7CiAgaWYoICRkZXRhaWxwYWdlID09IC0xICkKICAgIHsKICAgICAgJGNvbnRlbnRvcHMgPSYgJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiAgICAgICRkZXRhaWxwYWdlID0gJGNvbnRlbnRvcHMtPkdldERlZmF1bHRDb250ZW50KCk7CiAgICB9CiAgJHByZXR0eV91cmwgPSAkbW9kLT5HZXRSZXNvdXJjZVR5cGUoKS4iL3ZpZXdyZXN2bi8kZGV0YWlscGFnZS97JHJlc2VydmF0aW9uWydpZCddfSI7CiAgJHNtYXJ0eS0+YXNzaWduKCdyZXNlcnZhdGlvbicsJHJlc2VydmF0aW9uKTsKICAkc21hcnR5LT5hc3NpZ24oJ25vdGVzJywkbm90ZXMpOwogICRzbWFydHktPmFzc2lnbigndXNlcmluZm8nLCR1c2Vyb2JqKTsKICAkc21hcnR5LT5hc3NpZ24oJ2VkaXRfdXJsJywKCQkgICRtb2QtPkNyZWF0ZVVSTCgnY250bnQwMScsJ2FkZHJlc3ZuJywkZGV0YWlscGFnZSwKCQkJCSAgIGFycmF5KCdyZXN2X2lkJz0+JHJlc2VydmF0aW9uWydpZCddKSwKCQkJCSAgIGZhbHNlLCRwcmV0dHlfdXJsKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdlbWFpbF91cmwnLAoJCSAgJG1vZC0+Q3JlYXRlVVJMKCdjbnRudDAxJywnc2VuZGVtYWlsJywkZGV0YWlscGFnZSwKCQkJCSAgYXJyYXkoJ3Jlc3ZfaWQnPT4kcmVzZXJ2YXRpb25bJ2lkJ10pKSk7CiAgCiAgLy8gUHJvY2VzcyB0aGUgdGVtcGxhdGUKICAkYm9keSA9ICRtb2QtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgncmVzdm5jZm1lbWFpbF8nLiR0ZW1wbGF0ZSk7CiAgJHN1YmplY3QgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnLAoJCQkJJG1vZC0+TGFuZygnZGZsdF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnKSk7CiAgJGF0dGFjaG1lbnQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnKTsKCiAgJG1haWxlciA9JiAkbW9kLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CiAgJG1haWxlci0+cmVzZXQoKTsKICAkbWFpbGVyLT5TZXRTdWJqZWN0KCRzdWJqZWN0KTsKICAkbWFpbGVyLT5TZXRCb2R5KCRib2R5KTsKICAkbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7CiAgaWYoICRhdHRhY2htZW50ICE9IC0xICYmICFlbXB0eSgkYXR0YWNobWVudCkgKQogICAgewogICAgICAkY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKICAgICAgJGZuID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkYXR0YWNobWVudCk7CiAgICAgIGlmKCBAZmlsZV9leGlzdHMoJGZuKSApCgl7CgkgICRtYWlsZXItPkFkZEF0dGFjaG1lbnQoJGZuLCRhdHRhY2htZW50KTsKCX0KICAgIH0KICAkbWFpbGVyLT5BZGRBZGRyZXNzKCR1c2Vyb2JqLT5lbWFpbCk7CiAgaWYoIGlzX2FycmF5KCRjY2VtYWlsbGlzdCkgKQogICAgewogICAgICBmb3JlYWNoKCRjY2VtYWlsbGlzdCBhcyAkb25lYWRkcikKCXsKCSAgJG1haWxlci0+QWRkQkNDKCRvbmVhZGRyKTsKCX0KICAgIH0KICAkbWFpbGVyLT5TZW5kKCk7CgogIGlmKCAkbG9naXQgKQogICAgewogICAgICAkbm93ID0gJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpOwogICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMuIgogICAgICAgICAgICAgICAgIChyZXN2X2lkLCBzdWJqZWN0LCB0ZXh0LCBjcmVhdGVfZGF0ZSwgYWRtaW5fbm90ZSkKICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sJG5vdywxKSI7CiAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyZXNlcnZhdGlvblsnaWQnXSwkc3ViamVjdCwkYm9keSkpOwogICAgICBpZiggISRkYnIgKQoJewoJICBlY2hvICJGQVRBTCBEQiBFUlJPUjo8YnIvPiI7CgkgIGVjaG8gIiZuYnNwOyZuYnNwO1FVRVJZOiAiLiRkYi0+c3FsLiI8YnIvPiI7CgkgIGVjaG8gIiZuYnNwOyZuYnNwO0VSUk9SOiAiLiRkYi0+RXJyb3JNc2coKS4iPGJyLz4iOwoJfQogICAgfQoKICByZXR1cm4gdHJ1ZTsKfQoKCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9HZXRSZXNlcnZhdGlvbkF0dHJpYnV0ZSgmJG1vZCwkcmVzdm5faWQsJGF0dHJpYiwkZGZsdCkKewogIGdsb2JhbCAkZ0NtczsKICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgCiAgaWYoIGVtcHR5KCRhdHRyaWIpICkgcmV0dXJuICRkZmx0OwogICRxdWVyeSA9ICdTRUxFQ1QgdmFsdWUgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9BVFRSSUJTLicKICAgICAgICAgICAgIFdIRVJFIHJlc3ZfaWQgPSA/IEFORCBuYW1lID0gPyc7CiAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkcmVzdm5faWQsJGF0dHJpYikpOwogIGlmKCAhJHRtcCApIHJldHVybiAkZGZsdDsKICByZXR1cm4gJHRtcDsKfQoKCmZ1bmN0aW9uIGF2YWlsYWJpbGl0eV9TZXRSZXNlcnZhdGlvbkF0dHJpYnV0ZSgmJG1vZCwkcmVzdm5faWQsJGF0dHJpYiwkdmFsdWUpCnsKICBnbG9iYWwgJGdDbXM7CiAgJGRiID0mICRnQ21zLT5HZXREYigpOwogIAogIGlmKCBlbXB0eSgkYXR0cmliKSApIHJldHVybiBmYWxzZTsKICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fQVRUUklCUy4nCiAgICAgICAgICAgICBXSEVSRSByZXN2bl9pZCA9ID8gQU5EIG5hbWUgPSA/JzsKICAkaWQgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHJlc3ZuX2lkLCRhdHRyaWIpKTsKICBpZiggJGlkICkKICAgIHsKICAgICAgLy8gdXBkYXRlCiAgICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fQVRUUklCUy4nCiAgICAgICAgICAgICAgICAgIFNFVCB2YWx1ZSA9ID8gV0hFUkUgaWQgPSA/JzsKICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdmFsdWUsJGlkKSk7CiAgICB9CiAgZWxzZQogICAgewogICAgICAvLyBpbnNlcnQKICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX0FUVFJJQlMuJwogICAgICAgICAgICAgICAgICAocmVzdl9pZCxuYW1lLHZhbHVlKQogICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyknOwogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRyZXN2X2lkLCRhdHRyaWIsJHZhbHVlKSk7CiAgICB9CiAgcmV0dXJuIHRydWU7Cn0KCgpmdW5jdGlvbiAmYXZhaWxhYmlsaXR5X0dldFVzZXJPYmplY3QoJiRtb2QsJGN1c3RpZCkKewogICRmZXUgPSYgJG1vZC0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKCiAgJGRhdGEgPSBhcnJheSgpOwogICR0bXAgPSAkZmV1LT5HZXRVc2VyUHJvcGVydGllcygkY3VzdGlkKTsKICAkdXNlcnByb3BzID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ3RpdGxlJyk7CiAgJG1lbWJlcmdyb3VwcyA9ICRmZXUtPkdldE1lbWJlckdyb3Vwc0FycmF5KCRjdXN0aWQpOwogICRwcm9wZXJ0aWVzID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkbWVtYmVyZ3JvdXBzIGFzICRvbmVncm91cCApCiAgICB7CiAgICAgICRwcm9wcmVsYXRpb25zID0gJGZldS0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucygkb25lZ3JvdXBbJ2dyb3VwaWQnXSk7CiAgICAgICRwcm9wZXJ0aWVzID0gUlJVdGlsczo6YXJyYXlfbWVyZ2VfYnlfbmFtZV9yZXF1aXJlZCgkcHJvcGVydGllcywkcHJvcHJlbGF0aW9ucyk7CiAgICAgIHVhc29ydCggJHByb3BlcnRpZXMsIGFycmF5KCdSUlV0aWxzJywnY29tcGFyZV9lbGVtZW50c19ieV9zb3J0b3JkZXJfa2V5JykgKTsKICAgIH0KICBmb3JlYWNoKCAkcHJvcGVydGllcyBhcyAkb25lcHJvcCApCiAgICB7CiAgICAgICRkZWZuID0gJGZldS0+R2V0UHJvcGVydHlEZWZuKCAkb25lcHJvcFsnbmFtZSddICk7CiAgICAgICRvYmogPSBuZXcgU3RkQ2xhc3MoKTsKICAgICAgJG9iai0+bmFtZSA9ICRkZWZuWyduYW1lJ107CiAgICAgICRvYmotPnByb21wdCA9ICRkZWZuWydwcm9tcHQnXTsKICAgICAgaWYoIGlzc2V0KCR1c2VycHJvcHNbJG9uZXByb3BbJ25hbWUnXV0pICkKCSRvYmotPnZhbHVlID0gJHVzZXJwcm9wc1skb25lcHJvcFsnbmFtZSddXVsnZGF0YSddOwogICAgICAkZGF0YVskb25lcHJvcFsnbmFtZSddXSA9ICRvYmo7CiAgICB9CiAgJHVzZXJvYmogPSBuZXcgU3RkQ2xhc3MoKTsKICAkdXNlcm9iai0+dXNlcm5hbWUgPSAkZmV1LT5HZXRVc2VyTmFtZSgkY3VzdGlkKTsKICAkdXNlcm9iai0+dWlkID0gJGN1c3RpZDsKICAkdXNlcm9iai0+ZW1haWwgPSAkZmV1LT5HZXRFbWFpbCgkY3VzdGlkKTsKICAkdXNlcm9iai0+cHJvcGVydGllcyA9ICRkYXRhOwoKICBnbG9iYWwgJGdDbXM7CiAgJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7CiAgJHNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsJHVzZXJvYmotPnVzZXJuYW1lKTsKICAkc21hcnR5LT5hc3NpZ24oJ19lbWFpbF9hZGRyZXNzXycsJHVzZXJvYmotPmVtYWlsKTsKICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJpZCcsJGN1c3RpZCk7CgogICRzdHIgPSAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgKCSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJywneyR1c2VybmFtZX0nKSk7CiAgJHVzZXJvYmotPmRpc3BsYXkgPSAkc3RyOwogIAogIHJldHVybiAkdXNlcm9iajsKfQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0NhbGNOdW1TbG90cygkcmVzb3VyY2VzID0gJycsJHN0YXJ0dGltZSA9ICcnLCRlbmR0aW1lID0gJycsJGluY2x1ZGVfZXZlbnRzID0gMSkKewogIGdsb2JhbCAkZ0NtczsKICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgJHJzcmNfZGF0YSA9ICcnOwoKICBpZiggaXNfYXJyYXkoJHJlc291cmNlcykgKQogICAgewogICAgICAvLyBsaXN0IG9mIHJlc291cmNlcwogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SU1JDUy4nCiAgICAgICAgICAgICAgICAgV0hFUkUgaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHJlc291cmNlcykuJyknOwogICAgICAkcnNyY19kYXRhID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgICBpZiggISRyc3JjX2RhdGEgKSByZXR1cm4gRkFMU0U7CiAgICAgIAogICAgfQogIGVsc2UgaWYoICRyZXNvdXJjZXMgIT0gJycgKQogICAgewogICAgICAvLyBzaW5nbGUgcmVzb3VyY2UKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ1MuJwogICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAgICRyc3JjID0gJGRiLT5HZXRSb3coJHF1ZXJ5KTsKICAgICAgaWYoICEkcnNyYyApIHJldHVybiBGQUxTRTsKCiAgICAgICRyc3JjX2RhdGEgPSBhcnJheSgpOwogICAgICAkcnNyY19kYXRhW10gPSAkcnNyYzsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgIC8vIGFsbCByZXNvdXJjZXMuCiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkM7CiAgICAgICRyc3JjX2RhdGEgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgIGlmKCAhJHJzcmNfZGF0YSApIHJldHVybiBGQUxTRTsKICAgIH0KCiAgaWYoICRpbmNsdWRlX2V2ZW50cyApCiAgICB7CiAgICAgIC8vIGdldCB0aGUgbGlzdCBvZiByZXNvdXJjZSBpZHMKICAgICAgJHJzcmNfaWRzID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCRyc3JjX2RhdGEsJ2lkJyk7CgogICAgICAvLyBnZXQgdGhlIGxpc3Qgb2Ygbm9uIGJvb2thYmxlIGV2ZW50cyBmb3IgdGhvc2UgcmVzb3Vyc2VzLgogICAgICAvLyBiZXR3ZWVuIHRob3NlIGRhdGVzLgogICAgfQoKICAvLyBjYWxjdWxhdGUgdGhlIG51bWJlciBvZiBkYXlzCiAgaWYoICRzdGFydGRhdGUgPSAnJyApCiAgICB7CiAgICAgIC8vIGNhbGN1bGF0ZSBmaXJzdCBkYXkgb2YgbW9udGguCiAgICAgICRzdGFydGRhdGUgPSBta3RpbWUoMCwwLDAsZGF0ZSgnbicpLDEsZGF0ZSgnWScpKTsKICAgIH0KICBpZiggJGVuZGRhdGUgPSAnJyApCiAgICB7CiAgICAgIC8vIGNhbGN1bGF0ZSBsYXN0IGRheSBvZiBtb250aC4KICAgICAgJGRheXNfaW5fbW9udGggPSBhcnJheSgzMSwgMjgsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxKTsKICAgICAgJGRheXNfaW5fbW9udGhbMV0gKz0gZGF0ZSgnTCcpOwogICAgICAkZW5kZGF0ZSA9IG1rdGltZSgyMyw1OSw1NSxkYXRlKCduJyksJGRheXNfaW5fbW9udGhbZGF0ZSgnbicpXSxkYXRlKCdZJykpOwogICAgfQogIGlmKCAkZW5kZGF0ZSA8ICRzdGFydGRhdGUgKQogICAgewogICAgICBzd2FwKCRzdGFydGRhdGUsJGVuZGRhdGUpOwogICAgfQogIAoKICAvLyBjYWxjdWxhdGUgaXQgdXAuCiAgJG5zbG90cyA9IDA7CiAgZm9yZWFjaCggJHJzcmNfZGF0YSBhcyAkcnNyYyApCiAgICB7CiAgICAgIHN3aXRjaCggJHJzcmNbJ3Jlc19pbnRlcnZhbCddICkKCXsKCWNhc2UgJ2RhaWx5JzoKCSAgJG5zbG90cyArPSAxOwoKCWNhc2UgJ2hhbGZfZGF5JzoKCSAgJG5zbG90cyArPSAyOwoKCWNhc2UgJ2hvdXJseSc6CgkgICRuc2xvdHMgKz0gKGludCkoKHN0cnRvdGltZSgkdG1wMlsnZW5kdGltZTEnXSkgLSBzdHJ0b3RpbWUoJHRtcDJbJ3N0YXJ0dGltZTEnXSkpIC8gMzYwMCk7CgkgICRuc2xvdHMgKz0gKGludCkoKHN0cnRvdGltZSgkdG1wMlsnZW5kdGltZTInXSkgLSBzdHJ0b3RpbWUoJHRtcDJbJ3N0YXJ0dGltZTInXSkpIC8gMzYwMCk7Cgl9CiAgICB9CiAgcmV0dXJuICRuc2xvdHM7Cn0KCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/functions.frontend_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0dldEF0dHJpYnV0ZXNGb3JSc3JjKCYkbW9kLCRyc3JjX2lkKQp7CiAgJGRiID0mICRtb2QtPkdldERiKCk7CiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfQ0FUUy4nIEEKICAgICAgICAgICAgTEVGVCBKT0lOICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfQ0FUUy4nIEIKICAgICAgICAgICAgT04gQS5pZCA9IEIuY2F0ZWdvcnlfaWQgCiAgICAgICAgICAgIFdIRVJFIEIucnNyY19pZCA9ID8KICAgICAgICAgICAgT1JERVIgQlkgQS5pZCc7CiAgJHJlcyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRyc3JjX2lkKSk7CiAgcmV0dXJuICRyZXM7Cn0KCgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfR2V0RmllbGRzRm9yUnNyYygmJG1vZCwkcnNyY19pZCkKewogIGdsb2JhbCAkZ0NtczsKICAkY29uZmlnID0mICRnQ21zLT5HZXRDb25maWcoKTsKICAkZGIgPSYgJG1vZC0+R2V0RGIoKTsKICAkcXVlcnkgPSAnU0VMRUNUIGZkLmlkLGZkLm5hbWUsZmQucHJvbXB0LGZkLnR5cGUsZmQuaXRlbV9vcmRlciwKICAgICAgICAgICAgICAgICAgIGZ2LnZhbHVlIAogICAgICAgICAgICBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEREVGUy4nIGZkCiAgICAgICAgICAgIExFRlQgSk9JTiAnLkFWQUlMQUJJTElUWV9UQUJMRV9GSUVMRFZBTFMuJyBmdgogICAgICAgICAgICBPTiBmZC5pZCA9IGZ2LmZpZWxkZGVmX2lkIAogICAgICAgICAgICBXSEVSRSBmdi5yc3JjX2lkID0gPwogICAgICAgICAgICAgIEFORCBmZC5wdWJsaWMgPSAxCiAgICAgICAgICAgIE9SREVSIEJZIGZkLml0ZW1fb3JkZXInOwogICRyZXMgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkcnNyY19pZCkpOwoKICBpZiggaXNfYXJyYXkoICRyZXMgKSApCiAgICB7CiAgICAgICRwYXRoID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkbW9kLT5HZXROYW1lKCkpOwogICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkcmVzKTsgJGkrKyApCgl7CgkgIGlmKCAkcmVzWyRpXVsndHlwZSddID09ICdpbWFnZScgKQoJICAgIHsKCSAgICAgICRmbiA9IGNtc19qb2luX3BhdGgoJHBhdGgsJ3Jlc291cmNlc18nLiRyc3JjX2lkLCd0aHVtYl8nLiRyZXNbJGldWyd2YWx1ZSddKTsKCSAgICAgIGlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQoJCXsKCQkgICRyZXNbJGldWyd0aHVtYm5haWwnXSA9ICd0aHVtYl8nLiRyZXNbJGldWyd2YWx1ZSddOwoJCX0KCSAgICB9Cgl9CiAgICB9CiAgcmV0dXJuICRyZXM7IAp9CgpmdW5jdGlvbiBhdmFpbGFiaWxpdHlfR2V0QXR0cmlidXRlSURzKCYkbW9kLCRkYXRhKQp7CiAgaWYoICFpc19hcnJheSgkc3RyKSApCiAgICB7CiAgICAgIC8vIGl0J3Mgbm90IGFuIGFycmF5LCBzbyBhc3N1bWUgaXQncyBhIGNvbW1hIHNlcGFyYXRlZAogICAgICAvLyBsaXN0IG9mIGNhdGVnb3J5IG5hbWVzCiAgICAgICRkYXRhID0gZXhwbG9kZSgnLCcsJGRhdGEpOwogICAgfQoKICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfQ0FUUy4nCiAgICAgICAgICAgICBXSEVSRSBuYW1lIElOICgnLmltcGxvZGUoJywnLCRkYXRhKS4nKSc7CiAgJHJlcyA9IGZhbHNlOwogICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgaWYoIGlzX2FycmF5KCAkdG1wICkgKQogICAgewoKICAgICAgJHJlcyA9IGNnZV9hcnJheTo6ZXh0cmFjdF9maWVsZCgkdG1wLCdpZCcpOwogICAgfQogIHJldHVybiAkcmVzOwp9CgoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X1NlYXJjaFJlc3VsdCgmJG1vZCwkcmV0dXJuaWQsJGFydGljbGVpZCwkYXR0cikKewogICRyZXN1bHQgPSBhcnJheSgpOwogIGlmKCAkYXR0ciA9PSAncmVzb3VyY2UnICkKICAgIHsKICAgICAgJGRiID0mICRtb2QtPkdldERiKCk7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicKICAgICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8gQU5EIGFjdGl2ZSA9IDEnOwogICAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRhcnRpY2xlaWQpKTsKICAgICAgaWYoICRyb3cgKQoJewoJICAkcmVzdWx0WzBdID0gJG1vZC0+R2V0RnJpZW5kbHlOYW1lKCk7CgkgICRyZXN1bHRbMV0gPSAkcm93WyduYW1lJ107CgkgICRwcmV0dHlfdXJsID0gJG1vZC0+R2V0UmVzb3VyY2VUeXBlKCkuIi8kcmV0dXJuaWQvJGFydGljbGVpZC8iLm11bmdlX3N0cmluZ190b191cmwoJHJvd1snbmFtZSddKTsKCSAgJHJlc3VsdFsyXSA9ICRtb2QtPkNyZWF0ZVVSTCgkaWQsJ2RldGFpbCcsJHJldHVybmlkLAoJCQkJICAgICAgIGFycmF5KCdyc3JjaWQnPT4kYXJ0aWNsZWlkKSxmYWxzZSwkcHJldHR5X3VybCk7Cgl9CiAgICB9CiAgcmV0dXJuICRyZXN1bHQ7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/functions.search_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZnVuY3Rpb24gYXZhaWxhYmlsaXR5X0FkdmFuY2VkU2VhcmNoKCYkbW9kdWxlLCRwYXJhbXMpCnsKICBnbG9iYWwgJGdDbXM7CiAgJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAvLyBjYWxjdWxhdGUgdGhlIHRvdGFsIG51bWJlciBvZiBzbG90cyBhdmFpbGFibGUuCiAgJAogICR3aGVyZSA9IGFycmF5KCk7CiAgJGpvaW5zID0gYXJyYXkoKTsKICAkcXBhcm1zID0gYXJyYXkoKTsKICAkcXVlcnkgPSAnU0VMRUNUIERJU1RJTkNUIHBhcnRzLnJzcmNfaWQgRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4nIHBhcnRzJzsKCiAgLy8gc2ltcGxlIHN0YXJ0L2VuZCBkYXRlIGNvbXBhcmlzb24uLi4KICAvLyBlbnN1cmUgdGhhdCByZXNvdXJjZXMgZG8gbm90IGhhdmUgcmVzZXJ2YXRpb25zIGJldHdlZW4gdGhlc2UgZGF0c3MKICAkam9pbnNbXSA9IEFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlMuJyByZXN2IE9OIHBhcnRzLnJlc3ZfaWQgPSByZXN2LmlkJzsKICAkd2hlcmVbXSA9ICcocGFydHMuc3RhcnRfZGF0ZSBOT1QgQkVUV0VFTiA/IEFORCA/KSc7CiAgJHFwYXJtc1tdID0gdHJpbSgkZGItPkRiVGltZVN0YW1wKCRwYXJhbXNbJ3N0YXJ0ZGF0ZSddKSwiJyIpOwogICRxcGFybXNbXSA9IHRyaW0oJGRiLT5EYlRpbWVTdGFtcCgkcGFyYW1zWydlbmRkYXRlJ10pLCInIik7CgogIC8vCiAgLy8gYXNzZW1ibGUgdGhlIHF1ZXJ5CiAgLy8KICAkcXVlcnkgLj0gJyBMRUZUIEpPSU4gJy5pbXBsb2RlKCcgTEVGVCBKT0lOICcsJGpvaW5zKTsKICAkcXVlcnkgLj0gJyBXSEVSRSAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwoKICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnksJHFwYXJtcyk7CiAgaWYoICEkdG1wICkgcmV0dXJuIEZBTFNFOwoKICAkaWRzID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCR0bXAsJ3JzcmNfaWQnKTsKCiAgcmV0dXJuICRpZHM7Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/icons/bullet_toggle_plus.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABjSURBVCjPY/jPgB8y0FHBkb37/+/6v+X/+v8r/y/ei0XB3v+H4HDWfywKtgAl1v7/D8SH/k/ApmANUAICDv1vx6ZgMZIJ9dgUzEJyQxk2BRPWdf1vAeqt/F/yP3/dwIQk2QoAfUogHsamBmcAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/icons/calendar.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAI1SURBVDjLpZPNS5RRFIef98NRG3M05gOaqMhCAoskEFtVO2kT5DZo1SZoW9EiFGrVok1/QhRGmlHYJoQy8wuJIoLQ0iH8nCGcMmzm3ntOi1edWbQJLxzOPZvffc7v3OOpKjs5IcCDkbVbqlx2KvtEBCdgRXBOcKJYJ1XhcFZxIlN3Lh7pCAFE9Wp3x+7k/7zc0zd7fJvAiSQB4v1XQBWcBXFgTHQvl8CUoWTAGH7fGMYYV1slsOWDwt4UiI1C7aZICUwJbBk+LwFgrKt44JxsCniwmAeViEQkInFbGchkAChvCqCq3H+5pOsbRh+OrKiqat/bZVVVffwuqp+MRfXgeJTzxQ29dG9KVTUiME4QVcIA+sdWCQKfgfFVwgCeTa4yunKbN4OCilAz3cPR7C7KJiLwt1pQIAw8uk+lCX240JmmxofzHWl8L6C15TC+H3DuZCYarZWKB8YJKhD68GI6z2ThLhNDiqoSvr+O73vMzecI/ICnEytkEz5KtYAVVJWaALraU4wNwaEDB/mWm6erPUXg3aSztRlxysxCkT2NtcRrw0oLViK1wPd49aEAwFwuh4fH8McCRkBEmV0s0tQQI9lYtz25EMBaG3ngw9ljScLgGmfakrz+VOB0W5KB8TxfF36SiMdIJeoQUQKfCoFxUQtt+xtY+rFBS6aeueV1ss0xvnwvkk1AoiFGuqk+Ig08RFSqPpKO9j6aOVF2EjfWYazDWcE4wTr7z11Y+/XnOYC303X+CyNCWo09HetwAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/icons/calendar_edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKbSURBVDjLpZNLbIxRGIaf/9Lfpa1rZ0hNtYpEVRBiNkUiEZFoKjSxQmLBglizIQiJILEgWHQlgkpLGg1BU6E3imorLkElLmOmM1XV6mXm/8/5LH5GI7EQJ/lyztm85/ne872GiPA/ywa40NC3X4TtSnRIa43S4GmNUhqlBU/pUaVQnqC0fnRk89ywDaBFdpeHs3P+5eUDlW8XpgmU1jkAmdU7QQSUB1qB6/rnVBLcFCRdcF0G99bjumrMKIFfPgjkBkB7fon3UyQJbhK8FLyIAuB66rcHSumfAgZ8ToBon0Rrn0T5+6AzyKd5eVi3j7HDuUfnmchWRITTN6PyfdiViw3dIiJS2RgTEZErzf69qiUmg59rJFq/R/o6a0UGIvK1s0paTqyN2QCu0mgRbAuqW+JYlsnVB3FsC2pa4yQSuxjKLmbK3BJ6u17iGCmyJ0wna+rMiekWBLAtgw3hADWtCdaHg9Q+jrO64BVDmUVMKlxDMnoZZ7zB+/ZX9A+ZGMmeRWkC0WCbUPskQWvPcR7eEEI6xvDYPCbNKWMkcg7T8cjIysfxPnC+dwun95a/Nn1HNSJChgWlSwMAFNtDbJw+g4lzyhiJnMXMcEn1F9B9vwNZto/vTggAE/ypA7BMg7qOHnL6PrBYxhEsXkcqVoHlCMn+fLob2mDVSQIFC9M/ZwN4nud7YMKMgTpyJ8/GkyDRZ6eYHHQY6c2jp/Ul5qqTBHLz0VqwTH4TuMpvYcHMLDoaK5i/fAdjPjbyuqaJ9lu9PL/zFKPkEMFQoU9qGWgtetQgSdPBS28Wp5TOzO1KkHpey6xFK/iW+EJX2xvuhg7z5do34GE6C30DI9cBjD/jvGnllOElhdPscNEsJCPZPBxPbCs92vnub6H6AWmNdrgLt0FkAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/icons/chart_bar.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGvSURBVDjLpZO7alZREEbXiSdqJJDKYJNCkPBXYq12prHwBezSCpaidnY+graCYO0DpLRTQcR3EFLl8p+9525xgkRIJJApB2bN+gZmqCouU+NZzVef9isyUYeIRD0RTz482xouBBBNHi5u4JlkgUfx+evhxQ2aJRrJ/oFjUWysXeG45cUBy+aoJ90Sj0LGFY6anw2o1y/mK2ZS5pQ50+2XiBbdCvPk+mpw2OM/Bo92IJMhgiGCox+JeNEksIC11eLwvAhlzuAO37+BG9y9x3FTuiWTzhH61QFvdg5AdAZIB3Mw50AKsaRJYlGsX0tymTzf2y1TR9WwbogYY3ZhxR26gBmocrxMuhZNE435FtmSx1tP8QgiHEvj45d3jNlONouAKrjjzWaDv4CkmmNu/Pz9CzVh++Yd2rIz5tTnwdZmAzNymXT9F5AtMFeaTogJYkJfdsaaGpyO4E62pJ0yUCtKQFxo0hAT1JU2CWNOJ5vvP4AIcKeao17c2ljFE8SKEkVdWWxu42GYK9KE4c3O20pzSpyyoCx4v/6ECkCTCqccKorNxR5uSXgQnmQkw2Xf+Q+0iqQ9Ap64TwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/icons/clock.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAMESURBVDjLXZNrSFNxGMYPgQQRfYv6EgR9kCgKohtFgRAVQUHQh24GQReqhViWlVYbZJlZmZmombfVpJXTdHa3reM8uszmWpqnmQuX5drmLsdjenR7ev9DR3Xgd3h43+d5/pw/HA4AN9zITSPUhJ14R0xn87+h2ZzJvZVInJpzAQOXQOQMt+/5rvhMCLXv9Vjrt1rSXitmwj+Jua1+Ox+2HfGNdGf6yW8l5sUKPNVcRsiaPDA22Ahv6/7Ae/0aKdviQ0G7B/c6f8Zg+gbfh079Mjno0MhS58lflOsgEjh3BXc+bM/0DzbvDwj314znt/bjof0HdPw3FBq6kP+oCxVNfdDZvqPsrQmf6zdFRtyPJgbrFoqUTeS+FnPrekpmiC2lS+QcUx+qrf0wmFzodYfgC0nwhoYh9oegfdmLsmYXHj7JhV23erS7ZNYHyibGLiLtXsO19BoHSiwu6Ok09gwFg/gy8BO/STOkKFBk7EWh2YkLeh5Hy4Ws2B2w157iDvOpxw4UPRPRTSfL41FIsow7ZeXwUFF4dBQ1L96A/xLEFf1HMC/LxAt25PH+VN0HXH1gh2dEwdBoBGO0OKvW4L7hCdIvavBSsMIRVHCi0ArmZZl4wbYrz/yHSq1Ql9vQLylUEoE7GMal3OuxMG/7CO848N6n4HheK5iXZeIFmy88Nu+8aYJG24G3ziB+0Ee7wwqemlvQ5w9hcAJwyUDtpwBOFLeBeVkmXpB0qlK9RV2HlLsCsvUivHRhQwoQjhCkA1TgJX1OK0JVzIN5WSZesPZ44XKia+P5BqSS4aq+BzZXABLdhyQrsJPOqv4MVcEbMA/zsky8gLHyYO7hI9laecOZWuzLfYXU2zzSblmQerMZqjwTknOeY9dlIw5kVcrMG/8XpoQgCEkOhwNNJn5i7bFSrFDpsCrFEIPpLacr0WxpibYIQpS86/8pMBqNswnJ6XSivqHBv3R3pmbxzgwz4Z+EaTXtwqIogrzjxIJ4QVVV1UyihxgjFv3/K09Bu/lEkBgg5rLZH+fT5dvfn7iFAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/icons/delete.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEQAYAOYAADk6PM7OxY270qOioIiMlC6AwOLl5mKixWJth8XFxby8vm59mKCuxdjc3u7w8F1ia7i5uomxy8zR3ff370dNW7DG2KartMHH15mZmVKSx3h+g73DyNDe6ZjK393j7Kqzx3yKpa3A1dDV2Nzf542SnNTZ3f///7zD1mFndKaprOjx/vDy9rW1t8TO3XKkwtDX367U5lpbXZOTlM7R1Nvh8IG51uPn7sXJy6jG4KC+1T+GvXyCi5q4zt/f3vr6/MTO1rO+0K2trYCOrK6xtfP19+bn6dPT05GZqGZxinup0FyYy5aXm83U5tTe7rzG3b7EzXGBnrfA1mxwd5G80bW3u4OFh6Krw4CKnF6fxPb398nT19fd5ujs7dbZ47/L1czMzMrR5I+Rkry/wpS1zMXM0afM3rW9xa+wsqerrqSlp2JjaGxucqq73j09P26iyIqSpHGoyrjW5N7e90GNwJqeoWx2ipS91v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAHcALAAAAAARABgAAAf/gHeCdz1iLGlLYRhfg40JaENPW10ST0NhYYyDMiQXYE0qHmQiIw1mUkGCEAQcJ1pdHmJ0aSs3G1s7gkUWZjM9NykPUhosMkNUaoNkS0MNPkRLMmhiX1UAKIM0PWEazAlDdFUxMWdOg2AmJg1BS3RUClRfKyYn5ybPDjY/DisO/kQXzmVZMULLjxIOijSYUWSFhEFMbIzY8uLJCC5cSGXh8lBQRBg1sIx5YqBIjwYrbLwYtEVCGQEu5mgxwKWECAceRgzqwiPODy8R7FxsUITIFg8sc3TQ0mNMgQozyMwgIoHLIAMhyoh48iQDjh5kyBBp0cjBhykHcrhRwiFLiYYdXQd9aAFnjI4kRbjMQBil0R0rZAxsaNFgxFZSVqwOOmKGK5kSIy48kUDjTYIGgyBcYcAASIsWJ9iwQbImgZFBK+g8qANCCJQFCCi0OTPD7x0jA4IckiEjSA/bwIMHAgA7]]></data>
	</file>
	<file>
	  <filename>/icons/email.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAITSURBVBgZpcHLThNhGIDh9/vn7/RApwc5VCmFWBPi1mvwAlx7BW69Afeu3bozcSE7E02ILjCRhRrds8AEbKVS2gIdSjvTmf+TYqLu+zyiqszDMCf75PnnnVwhuNcLpwsXk8Q4BYeSOsWpkqrinJI6JXVK6lSRdDq9PO+19vb37XK13Hj0YLMUTVVyWY//Cf8IVwQEGEeJN47S1YdPo4npDpNmnDh5udOh1YsZRcph39EaONpnjs65oxsqvZEyTaHdj3n2psPpKDLBcuOOGUWpZDOG+q0S7751ObuYUisJGQ98T/Ct4Fuo5IX+MGZr95jKjRKLlSxXxFxOEmaaN4us1Upsf+1yGk5ZKhp8C74H5ZwwCGO2drssLZZo1ouIcs2MJikz1oPmapHlaoFXH1oMwphyTghyQj+MefG+RblcoLlaJG/5y4zGCTMikEwTctaxXq/w9kuXdm9Cuzfh9acujXqFwE8xmuBb/hCwl1GKAnGccDwIadQCfD9DZ5Dj494QA2w2qtQW84wmMZ1eyFI1QBVQwV5GiaZOpdsPaSwH5HMZULi9UmB9pYAAouBQbMHHrgQcnQwZV/KgTu1o8PMgipONu2t5KeaNiEkxgAiICDMCCFeEK5aNauAOfoXx8KR9ZOOLk8P7j7er2WBhwWY9sdbDeIJnwBjBWBBAhGsCmiZxPD4/7Z98b/0QVWUehjkZ5vQb/Un5e/DIsVsAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/icons/flag_green.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIySURBVDjLpdNdTFJhGAdw120X3XXR5kU33fQxS0+5Yl24lFnQKsvl2nJLM0fmXLNASceKgAv8yBGgJPEhkcIShEEYKuKU1IxcTm0WUDiJ1Fpbm1tZ/855186oLS/k4r/34n2e355z9rwZADLSyX8vCm+WU6fqT38+21S4ztPy1rmK4lXF5Ry//Hwm6LjoHN8QOGOgUOe9iGByCJ7FJ5BMX0ORiosfa1/wTHqQIAQ4VCHbwpXL53iWHPAe7QefJAvq4G2MLY9gcnUcQ0kf/AkvAm4DPvhl6Lq+jwEuESD7inLrCWXJ10BygC56SgpHlofxfGUMjvhjDH7sR1e0Hfq3VmiqKSwOt6CldCcD7CDA3qrOXfRo37tjRojC5SRt81KYIxp4lxx0+mCOaqEON8NeR2Ght5ppBvsTT9Yqai60F/y0vTehPlyBW+FKAliiOvQnPGQKY+Q+TOOdCCjzEPU2/A1wxIaH3a8N0C20ouGVAI3TVVC9kcEa0yO0MgrfkptM0mprwqypGKG2AgaYYYEsqfGFI94D4csy1E6VonlWgt64Fb6EG7aYGTdGK1ETEv6yu+wEcDQeZoA7LHBEJfxkiejQQxczccZtEE8JwHNRKLMK1rRzng6R3xU8kLkdM/oidAh2M8BRFsi7W/Iu38wBty8bXCcdSy6OyfjfUneCbjj34OoeMkHq92+4SP8A95wSTlrA/ISGnxZAmgeV+ewKbwqwi3MZQLQZQP3nFTLnttS73y9CuFIqo/imAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/icons/package.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALnSURBVDjLfZNLaFx1HIW/e2fuzJ00w0ymkpQpiUKfMT7SblzU4kayELEptRChUEFEqKALUaRUV2YhlCLYjYq4FBeuiqZgC6FIQzBpEGpDkzHNs5PMTJtmHnfu6//7uSh2IYNnffg23zmWqtIpd395YwiRL1Q0qyIfD56cmOvUs/4LWJg40auiH6jI+7v3ncybdo2Hy9ebKvqNGrn03Nj1+x0Bi1dHHVV9W0U+ye4d2d83+Ca2GJrlGZx0gkppkkfrsysqclFFvh8++3v7CWDh6ugIohfSPcPH+w6fwu05ABoSby9yb3Kc/mePYXc9TdCqslWapVGdn1Zjxo++O33Fujtx4gdEzj61f8xyC8/jN2rsVOcxYZOoVSZtBewZOAT+NonuAWw3S728wFZpFm975cekGjlz8NXLVtSo0SxPImGdtFfFq5epr21wdOxrnMwuaC2jrRJWfYHdxRfIFeDWr0unkyrSUqxcyk2TLQzQrt6hqydPvidDBg/8VTAp8DegvYa3OU1z+SbuM6dQI62kioAAVgondwAnncWvzCDNCk4CLO9vsJVw8xqN+iPiTB5SaTSKURGSaoTHHgxoAMlduL1HiFMZXP8BsvkbO1GD2O3GpLOIF0KsSBijxmCrMY+FqgGJQDzQgGT3XrJ7DuI5EKZd4iDG+CHG84m8AIki1Ai2imRsx4FEBtQHCUB8MG1wi8QKGhjEC4mbAVHTx8kNYSuoiGurkRtLN76ivb0K6SIkusCEoBEgaCQYPyT2QhKpAXKHTiMmQ2lmChWZTrw32v9TsLOyVlu8Nhi2G4Vs32HsTC9IA2KPRuU2Erp097+O5RRYvz3H1r3JldivfY7IR0+mfOu7l3pV5EM1cq744mi+OPwaRD71tSk0Vsp3/uLB6s2minyrIpeOf7a00fFMf1w+MqRGzqvIW/teecdqV5a5P/8ncXv9ZxUdf/lCae5/3/hvpi4OjajIp4ikVOTLY+cXr3Tq/QPcssKNXib9yAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAIcAAAAAAGZmZpAQBezs7P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAMALAAAAAAgACAAAAjRAAcIHEiwoMGDCAcAWMiwocOHDBECEECxosWLGAUAkHiRgEeKHwUQyLjx4ESLI0GqTHmxpMGTFVl6/MjSosuCMEHSXBmy4k2COTMK9SkRolGjEmd6DKCUAFOlTz3+HAigadSlVpVOFVgValavM7cq/DrzqlOtEgOoXcu2rdsAYruWJYs1bFKwc/ESiEv3rF6+ev3mlXp3cF3Dcd06hNuwLWDDgg/vLSw5cuTHlc1exWxZM1qTb0O/5ez5L+XOdEn33Vz0qOuICWPLnk27tu3aAQEAOw==]]></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[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0FkZCBFdmVudCBUeXBlJzsKJGxhbmdbJ2FjdGlvbl9lZGl0X2V2ZW50X3R5cGUnXSA9ICdFZGl0IEV2ZW50IFR5cGUnOwokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aXZlJzsKJGxhbmdbJ2FkZCddID0gJ0FkZCc7CiRsYW5nWydhZGRfbm90ZXMnXSA9ICdFbnRlciBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIHRoaXMgcmVzZXJ2YXRpb24nOwokbGFuZ1snYWRkZWRpdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGFuIEFkdmFuY2VkIFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIENhbGVuZGFyIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIEN1c3RvbWVyIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfZGF5X3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgRGF5IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIFJlc291cmNlIERldGFpbCBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIE15UmVzZXJ2YXRpb25zIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9yZXN2bl90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIFJlc2VydmF0aW9uIENvbmZpcm1hdGlvbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIFJlc2VydmF0aW9uIENvbmZpcm1hdGlvbiBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgU2VuZCBFbWFpbCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzb3VyY2UgU3VtbWFyeSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2FkbWluX25vdGVzJ10gPSAnQWRtaW4gTm90ZXMnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FkanVzdGRheXMnXSA9ICdCdWxrIGRpc2NvdW50IGFkanVzdG1lbnQgb2YgJS4yZiBmb3IgZWxpZ2libGUgZGF5cyc7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfYWxsYWRqdXN0J10gPSAnQnVsayBkaXNjb3VudCBhZGp1c3RtZW50IG9mICUuMmYgZm9yIGFsbCBkYXlzJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9mcmVlYmxvY2snXSA9ICdCdWxrIGRpc2NvdW50IGVsaWdpYmxlIGZyZWUgZGF5JzsKJGxhbmdbJ2FkanVzdF9ldmVudF9wcmljZSddID0gJ0FkanVzdGVkIHByaWNlIGZvciBldmVudCAlcyBieSAlcyc7CiRsYW5nWydhZGp1c3Rfb3ZlcmNhcGFjaXR5J10gPSAnQWRqdXN0ZWQgcHJpY2UgZm9yICVkIGV4dHJhIHBlb3BsZSBieSAlLjJmJzsKJGxhbmdbJ2FkanVzdF93ZWVrZGF5X3ByaWNlJ10gPSAnQWRqdXN0ZWQgcHJpY2UgZm9yIHdlZWtkYXkgJXMgYnkgJXMnOwokbGFuZ1snYWRkX2NhdGVnb3J5J10gPSAnQWRkIEF0dHJpYnV0ZSc7CiRsYW5nWydhZGRfY3VzdG9tX2ZpZWxkJ10gPSAnQWRkIEN1c3RvbSBGaWVsZCc7CiRsYW5nWydhZGRfZXZlbnQnXSA9ICdBZGQgRXZlbnQnOwokbGFuZ1snYWRkX2V2ZW50X3R5cGUnXSA9ICdBZGQgRXZlbnQgVHlwZSc7CiRsYW5nWydhZGRfcmVzZXJ2YXRpb24nXSA9ICdBZGQgYSBOZXcgUmVzZXJ2YXRpb24nOwokbGFuZ1snYWRkX3VzZXJfYWNjb3VudCddID0gJ0FkZCBhIFVzZXIgQWNjb3VudCc7CiRsYW5nWydhbGwnXSA9ICdBbGwnOwokbGFuZ1snYWxsb3dlZF9maWxlX3R5cGVzJ10gPSAnQWxsb3dlZCBGaWxlIFR5cGVzJzsKJGxhbmdbJ2FsbG93ZWRfaW1hZ2VfdHlwZXMnXSA9ICdBbGxvd2VkIEltYWdlIFR5cGVzJzsKJGxhbmdbJ2FsbG93X25vX3ByaWNlcyddID0gJ0Vycm9yIG9uIG5vIHByaWNlJzsKJGxhbmdbJ0FNJ10gPSAnQU0nOwokbGFuZ1snYW55J10gPSAnQW55JzsKJGxhbmdbJ2FwcGx5J10gPSAnQXBwbHknOwokbGFuZ1snYXNrX2RlbGV0ZV9ldmVudCddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gcGVybWFuZW50bHkgcmVtb3ZlIHRoaXMgZXZlbnQ/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzZXJ2YXRpb24nXSA9ICdBcmUgeW91IHN1cmUgeW91IHJlYWxseSB3YW50IHRvIHBlcm1hbmVudGx5IHJlbW92ZSB0aGlzIHJlc2VydmF0aW9uIGZyb20geW91ciBzeXN0ZW0nOwokbGFuZ1snYXNrX2RlbGV0ZV9yZXNvdXJjZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gcGVybWFuZW50bHkgcmVtb3ZlIHRoaXMgcmVzb3VyY2U/JzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnQXJlIHlvdSByZWFsbHkgc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgdGhpcyBtb2R1bGU/ICBDb250aW51aW5nIHdpbGwgcmVzdWx0IGluIGEgbG9zcyBvZiBhbGwgZGF0YSByZWxhdGVkIHRvIHRoZSBtb2R1bGUuJzsKJGxhbmdbJ2F0J10gPSAnQCc7CiRsYW5nWydhdHRhY2htZW50J10gPSAnQXR0YWNobWVudCc7CiRsYW5nWydhdHRhY2htZW50X2RpciddID0gJ0RpcmVjdG9yeSB0byBzZWFyY2ggZm9yIGF0dGFjaG1lbnRzJzsKJGxhbmdbJ2F0dHJpYnV0ZXMnXSA9ICdBdHRyaWJ1dGVzJzsKJGxhbmdbJ2F1dG9fZ2VuZXJhdGVfdGh1bWJuYWlscyddID0gJ0F1dG8gR2VuZXJhdGUgVGh1bWJuYWlscyc7CiRsYW5nWydhdmFpbGFibGUnXSA9ICdBdmFpbGFibGUnOwoKI0IKJGxhbmdbJ2JhY2tncm91bmRfY29sb3InXSA9ICdCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ2Jhc2VfcHJpY2UnXSA9ICdCYXNlIFByaWNlJzsKJGxhbmdbJ2Jhc2ljX3ByaWNpbmcnXSA9ICdCYXNpYyBQcmljaW5nJzsKJGxhbmdbJ2Jvb2thYmxlJ10gPSAnUm9vbXMgY2FuIGJlIGJvb2tlZCBkdXJpbmcgdGhpcyBldmVudD8nOwokbGFuZ1snYm9va2FibGVfYnInXSA9ICdCb29rYWJsZSc7CiRsYW5nWydib29rYWJsZV9ldmVudF9ibG9ja3MnXSA9ICdCb29rYWJsZSBFdmVudCBCbG9ja3MnOwokbGFuZ1snYm9va2VkX2Jsb2NrcyddID0gJ0Jvb2tlZCBCbG9ja3MnOwoKI0MKJGxhbmdbJ2NhYmluJ10gPSAnQ2FiaW4nOwokbGFuZ1snY2FiaW5zJ10gPSAnQ2FiaW5zJzsKJGxhbmdbJ2NhbGN1bGF0ZSddID0gJ0NhbGN1bGF0ZSc7CiRsYW5nWydjYWxjdWxhdGVfcHJpY2UnXSA9ICdDYWxjdWxhdGUgUHJpY2UnOwokbGFuZ1snY2FsY3VsYXRlZF9wcmljZSddID0gJ0NhbGN1bGF0ZWQgUHJpY2UnOwokbGFuZ1snY2FsZW5kYXJfY29uZmlnJ10gPSAnQXZhaWxhYmlsaXR5IENhbGVuZGFyIFNldHRpbmdzJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydjYW5jZWxsZWQnXSA9ICdDYW5jZWxsZWQnOwokbGFuZ1snY2FwYWNpdHknXSA9ICdDYXBhY2l0eSc7CiRsYW5nWydjYXInXSA9ICdDYXInOwokbGFuZ1snY2FycyddID0gJ0NhcnMnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0ZXMnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdBdHRyaWJ1dGUnOwokbGFuZ1snY2NfbXlzZWxmJ10gPSAnU2VuZCBhIGNvcHkgb2YgdGhpcyBtZXNzYWdlIHRvIG15IGVtYWlsIGJveCc7CiRsYW5nWydjaGVjayddID0gJ0NoZWNrJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snY2hlY2tpbiddID0gJ0NoZWNraW4nOwokbGFuZ1snY2hlY2tpbl90aW1lJ10gPSAnQ2hlY2tpbiBUaW1lJzsKJGxhbmdbJ2NoZWNrb3V0J10gPSAnQ2hlY2tvdXQnOwokbGFuZ1snY2hlY2tvdXRfdGltZSddID0gJ0NoZWNrb3V0IFRpbWUnOwokbGFuZ1snY2hlY2tfYXZhaWxhYmlsaXR5J10gPSAnQ2hlY2sgQXZhaWxhYmlsaXR5JzsKJGxhbmdbJ2Nsb3NlZCddID0gJ0Nsb3NlZCc7CiRsYW5nWydjb2xvciddID0gJ0NvbG9yJzsKJGxhbmdbJ2NvbmZpcm1lZCddID0gJ0NvbmZpcm1lZCc7CiRsYW5nWydjb25maXJtX3Jlc2VydmF0aW9uJ10gPSAnUGxlYXNlIGNoZWNrIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgZm9ybSwgYW5kIGNvbmZpcm0gdGhhdCB5b3Ugd291bGQgbGlrZSB0byBjcmVhdGUgdGhpcyByZXNlcnZhdGlvbic7CiRsYW5nWydjb25mbGljdCddID0gJ0NvbmZsaWN0JzsKJGxhbmdbJ2NyZWF0ZV9kYXRlJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydjcmVhdGVfcmVzZXJ2YXRpb24nXSA9ICdDcmVhdGUgYSByZXNlcnZhdGlvbiBmb3IgdGhpcyBzbG90JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDcmVhdGVkJzsKJGxhbmdbJ2N1cnJlbmN5X3N5bWJvbCddID0gJ0N1cnJlbmN5IFN5bWJvbCc7CiRsYW5nWydjdXN0b21lciddID0gJ0N1c3RvbWVyJzsKJGxhbmdbJ2N1c3RvbWVyX2dyb3VwJ10gPSAnQ3VzdG9tZXIgR3JvdXAnOwokbGFuZ1snY3VzdG9tZXJfbmFtZSddID0gJ0N1c3RvbWVyIE5hbWUnOwokbGFuZ1snY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZSddID0gJ0N1c3RvbWVyIERpc3BsYXkgVGVtcGxhdGUnOwoKI0QKJGxhbmdbJ2RhaWx5J10gPSAnRGFpbHknOwokbGFuZ1snZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1snZGF5X3JlcG9ydCddID0gJ0RheSBSZXBvcnQnOwokbGFuZ1snZGF5X3JlcG9ydF9yc3JjJ10gPSAnRGF5IFJlcG9ydCBmb3IgJXMnOwokbGFuZ1snZGF5X3ZpZXcnXSA9ICdEYXkgVmlldyc7CiRsYW5nWydkZWZhdWx0X2NhcGFjaXR5J10gPSAnRGVmYXVsdCBjYXBhY2l0eSA8ZW0+KGZvciBuZXcgcmVzb3VyY2VzKTwvZW0+JzsKJGxhbmdbJ2RlZmF1bHRfZ3JhbnVsYXJpdHknXSA9ICdEZWZhdWx0IEdyYW51bGFyaXR5JzsKJGxhbmdbJ2RlZmF1bHRfdGltZV9pbnRlcnZhbCddID0gJ0RlZmF1bHQgVGltZSBJbnRlcnZhbCc7CiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOwokbGFuZ1snZGVsZXRlX2NhdGVnb3J5J10gPSAnRGVsZXRlIEF0dHJpYnV0ZSc7CiRsYW5nWydkZWxldGVfY3VzdG9tX2ZpZWxkJ10gPSAnRGVsZXRlIEN1c3RvbSBGaWVsZCc7CiRsYW5nWydkZWxldGVfZXZlbnQnXSA9ICdEZWxldGUgRXZlbnQnOwokbGFuZ1snZGVsZXRlX2V2ZW50X3R5cGUnXSA9ICdEZWxldGUgRXZlbnQgVHlwZSc7CiRsYW5nWydkZXBvc2l0X2Ftb3VudHMnXSA9ICdEZXNwb3NpdCBBbW91bnRzJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZGZsdF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSA9ICdZb3VyIFJlc2VydmF0aW9uIGhhcyBiZWVuIGNvbmZpcm1lZCc7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RtZW50J10gPSAnRGlzY291bnQgQWRqdXN0bWVudCc7CiRsYW5nWydkaXNjb3VudF9taW5fYmxvY2tzJ10gPSAnTWluaW11bSBudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBmb3IgdGhlIGRpc2NvdW50JzsKJGxhbmdbJ2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0ZyZWUgcGVyaW9kIChsZWFzdCBleHBlbnNpdmUgZmlyc3QpJzsKJGxhbmdbJ2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ0FwcGx5IGEgYnVsayBhZGp1c3RtZW50IHRvIGFsbCBwZXJpb2RzJzsKJGxhbmdbJ2Rpc2NvdW50X2FkanVzdGRheXMnXSA9ICdBZGp1c3QgUHJpY2VzIGZvciBhcHBsaWNhYmxlIHBlcmlvZHMgb25seSc7CiRsYW5nWydkaXNjb3VudF90eXBlJ10gPSAnRGlzY291bnQgVHlwZSc7CiRsYW5nWydkaXNwbGF5J10gPSAnRGlzcGxheSc7CiRsYW5nWydkcm9wZG93biddID0gJ0Ryb3Bkb3duJzsKCiNFCiRsYW5nWydlZGl0J10gPSAnRWRpdCc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnRWRpdCBBdHRyaWJ1dGUnOwokbGFuZ1snZWRpdF9jdXN0b21fZmllbGQnXSA9ICdFZGl0IEN1c3RvbSBGaWVsZCc7CiRsYW5nWydlZGl0X2V2ZW50J10gPSAnRWRpdCBFdmVudCc7CiRsYW5nWydlZGl0X2V2ZW50X3R5cGUnXSA9ICdFZGl0IEV2ZW50IFR5cGUnOwokbGFuZ1snZWRpdF9yZXNlcnZhdGlvbiddID0gJ0VkaXQgUmVzZXJ2YXRpb24nOwokbGFuZ1snZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWydlbmRfZGF0ZSddID0gJ0VuZCBEYXRlJzsKJGxhbmdbJ2VuZF90aW1lXzEnXSA9ICdFbmQgVGltZSAxJzsKJGxhbmdbJ2VuZF90aW1lXzInXSA9ICdFbmQgVGltZSAyJzsKJGxhbmdbJ2Vycm9yX2NhbGN1bGF0aW9uJ10gPSAnQ2FsY3VsYXRpb24gRXJyb3InOwokbGFuZ1snZXJyb3JfY2Fubm90X2RlbGV0ZV9yZXNvdXJjZSddID0gJ1RoaXMgcmVzb3VyY2UgY2Fubm90IGJlIGRlbGV0ZWQgYmVjYXVzZSB0aGVyZSBhcmUga25vd24gcmVzZXJ2YXRpb25zIGZvciBpdCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2UgZXJyb3IsIHBsZWFzZSBjb250YWN0IHRoZSBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ2Vycm9yX2V2ZW50X2NvbmZsaWN0J10gPSAnQW4gZXhpc3RpbmcgcmVzZXJ2YXRpb24sIG9yIGEgbm9uLWJvb2thYmxlIGV2ZW50IGNvbmZsaWN0cyB3aXRoIHRoZSBkYXRlcyBhbmQgcmVzb3VyY2VzIHNlbGVjdGVkIGZvciB0aGlzIHJlc2VydmF0aW9uLic7CiRsYW5nWydlcnJvcl9maWxlZGVsZXRlJ10gPSAnQSBwcm9ibGVtIG9jY3VycmVkIGRlbGV0aW5nIG9uZSBvciBtb3JlIGZpbGVzJzsKJGxhbmdbJ2Vycm9yX2ludGVybmFsY29uZmlnJ10gPSAnQW4gaW50ZXJuYWwgY29uZmlndXJhdGlvbiBlcnJvciBvY2N1cnJlZC4gIFBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIGFkbWluaXN0cmF0b3InOwokbGFuZ1snZXJyb3JfaW52YWxpZF9kYXRlcyddID0gJ1lvdSBoYXZlIGVudGVyZWQgaW52YWxpZCBkYXRlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ByaWNlJ10gPSAnVGhlIHByaWNlIGVudGVyZWQgc2VlbXMgdG8gYmUgZW1wdHkgb3IgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3RpbWVfc2V0dGluZ3MnXSA9ICdUaGUgdGltZSByYW5nZXMgZW50ZXJlZCBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ZhbHVlJ10gPSAnQW4gaW52YWxpZCB2YWx1ZSB3YXMgc3BlY2lmaWVkIGZvciBvbmUgb3IgbW9yZSBmaWVsZHMgb3IgcGFyYW1ldGVycyc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3BhcmFtZXRlciddID0gJ09uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlcnMgaXMgbWlzc2luZyBvciBlbXB0eSc7CiRsYW5nWydlcnJvcl9ta2RpciddID0gJ1Byb2JsZW0gY3JlYXRpbmcgZGlyZWN0b3J5JzsKJGxhbmdbJ2Vycm9yX211c3Rfc2VsZWN0J10gPSAnWW91IG11c3Qgc2VsZWN0IG9uZSBvciBtb3JlICVzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzZXMnXSA9ICdDb25maWd1cmF0aW9uIHByb2JsZW0uICBZb3VyIHdlYiBob3N0IGhhcyBub3QgY29uZmlndXJlZCBhbnlib2R5IHRvIGJlIG5vdGlmaWVkIG9mIHRoZXNlIG1lc3NhZ2VzLiAgUGxlYXNlIGNvbnRhY3QgdGhlIHdlYnNpdGUgYWRtaW5pc3RyYXRvciBkaXJlY3RseSc7CiRsYW5nWydlcnJvcl9ub3Rmb3VuZCddID0gJ1RoZSBkYXRhIHNwZWNpZmllZCBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW5fZmV1J10gPSAnWW91IGFyZSBub3QgbG9nZ2VkIGluIHRvIHRoaXMgc2l0ZS4gIFlvdSBtdXN0IGhhdmUgcmVnaXN0ZXJlZCBmb3IgYW4gYWNjb3VudCBiZWZvcmUgbWFraW5nIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snZXJyb3Jfbm9fY3VzdG9tZXJfZW1haWwnXSA9ICdDb3VsZCBub3QgZmluZCBhbiBlbWFpbCBhZGRyZXNzIGZvciB0aGlzIGN1c3RvbWVyJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX3NlbGVjdGVkJ10gPSAnUGxlYXNlIHNlbGVjdCBhIGN1c3RvbWVyIGZyb20gdGhlIGxpc3QnOwokbGFuZ1snZXJyb3Jfbm9fZXZlbnRfdHlwZXMnXSA9ICdObyBFdmVudCBUeXBlcyBEZWZpbmVkJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc2VydmF0aW9uX3BhcnRzJ10gPSAnWW91IGhhdmUgbm90IHNwZWNpZmllZCBhbnl0aGluZyB0byByZXNlcnZlISc7CiRsYW5nWydlcnJvcl9ub19yZXNlcnZhdGlvbnMnXSA9ICdObyByZXNlcnZhdGlvbnMgZm91bmQgZm9yIHRoZSBzZWxlY3RlZCBkYXRlJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlcyddID0gJ05vICVzIERlZmluZWQnOwokbGFuZ1snZXJyb3Jfbm9fcmVzb3VyY2VzX3NlbGVjdGVkJ10gPSAnUGxlYXNlIGRlZmluZSBvbmUgb3IgbW9yZSByZXNvdXJjZXMgYW5kIGludGVydmFscyBmb3IgdGhpcyByZXNlcnZhdGlvbic7CiRsYW5nWydlcnJvcl9ub191c2Vyc19mb3VuZCddID0gJ0NvdWxkIG5vdCBmaW5kIGFueSByZWdpc3RlcmVkIHVzZXJzIGZvciB5b3VyIHNlbGVjdGVkIGN1c3RvbWVyIGdyb3VwJzsKJGxhbmdbJ2Vycm9yX3Bhc3RfZGF0ZXMnXSA9ICdZb3UgY2Fubm90IGNyZWF0ZSBhIHJlc2VydmF0aW9uIGZvciBkYXRlcyBpbiB0aGUgcGFzdCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uJ10gPSAnWW91IGRvIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gdmlldyB0aGlzIGRhdGEnOwokbGFuZ1snZXJyb3JfcmVzZXJ2YXRpb25fY29uZmxpY3QnXSA9ICdBIHJlc2VydmF0aW9uIGNvbmZsaWN0IGhhcyBiZWVuIGRldGVjdGVkLic7CiRsYW5nWydlcnJvcl9zZWxlY3Rfc3RhdHVzJ10gPSAnUGxlYXNlIHNlbGVjdCBhIHN0YXR1cyBmb3IgdGhpcyByZXNlcnZhdGlvbic7CiRsYW5nWydlcnJvcl90aW1lcGVyaW9kX3N0YXJ0ZWQnXSA9ICdUaGUgdGltZSBwZXJpb2Qgc2VsZWN0ZWQgaGFzIGFscmVhZHkgc3RhcnRlZCwgcGxlYXNlIHNlbGVjdCBhIGZ1dHVyZSB0aW1lIHBlcmlvZCc7CiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdGaWxlIFVwbG9hZCBFcnJvcic7CiRsYW5nWydldmVudHNfZm9yX3Jlc291cmNlJ10gPSAnRXZlbnRzIGZvciAlcyc7CiRsYW5nWydldmVudF90eXBlJ10gPSAnRXZlbnQgVHlwZSc7CiRsYW5nWydldmVudF90eXBlcyddID0gJ0V2ZW50IFR5cGVzJzsKJGxhbmdbJ2V4cGlyZWQnXSA9ICdFeHBpcmVkJzsKJGxhbmdbJ2V4dGVuZGVkX3VzZV9kaXNjb3VudHMnXSA9ICdFeHRlbmRlZCBVc2UgRGlzY291bnRzJzsKCiNGCiRsYW5nWydmZXVfcHJlZmVyZW5jZXMnXSA9ICdGcm9udEVuZFVzZXIgU2V0dGluZ3MnOwokbGFuZ1snZmllbGRzJ10gPSAnRmllbGRzJzsKJGxhbmdbJ2ZpbGUnXSA9ICdGaWxlJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWydmaWxlX2hhbmRsaW5nX2NvbmZpZyddID0gJ0ZpbGUgSGFuZGxpbmcgQ29uZmlnJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJyZsdDsmbHQ7JzsKJGxhbmdbJ2ZvciddID0gJ0Zvcic7CiRsYW5nWydmb3JlZ3JvdW5kX2NvbG9yJ10gPSAnRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydmcmlkYXknXSA9ICdGcmlkYXknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQXZhaWxhYmlsaXR5IE1hbmFnZXInOwokbGFuZ1snZnJvbSddID0gJ0Zyb20nOwokbGFuZ1snZnV0dXJlJ10gPSAnVXBjb21pbmcnOwoKI0cKJGxhbmdbJ2dlbmVyYWxfY29uZmlnJ10gPSAnR2VuZXJhbCBDb25maWd1cmF0aW9uJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3JvdXAnOwokbGFuZ1snZ3Vlc3QnXSA9ICdHdWVzdCc7CgojSAokbGFuZ1snaGFsZl9kYXknXSA9ICdIYWxmIERheSc7CiRsYW5nWydoYWxmX2hvdXInXSA9ICdIYWxmIEhvdXInOwokbGFuZ1snaG91cmx5J10gPSAnSG91cmx5JzsKJGxhbmdbJ2hlbHAnXSA9IDw8PEVPVAo8aDM+PHNwYW4gc3R5bGU9ImNvbG9yOnJlZDsiPi0tIFdBUk5JTkcgLS08L3NwYW4+PC9oMz4KPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OiAyZW07IG1hcmdpbi1yaWdodDogNWVtOyBwYWRkaW5nOiAwLjVlbTsgYmFja2dyb3VuZDogI0Q0RjIzMzsiPkFsdGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IG5vIHZhbHVhYmxlIGRhdGEgaXMgbG9zdCBkdXJpbmcgdGhlIHVwZ3JhZGUgcHJvY2VzcywgeW91IGFyZSBhZHZpc2VkIHRvIGVuc3VyZSB0aGF0IHlvdSBoYXZlIGEgY29tcGxldGVseSB2ZXJpZmllZCBiYWNrdXAgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdXBncmFkZSB0aGlzIG1vZHVsZS4gIEFsc28sIHRoZSBkYXRhIHN0cnVjdHVyZXMgYW5kIGJlaGF2aW91ciBvZiB0aGlzIG1vZHVsZSBoYXZlIGNoYW5nZWQgZHJhbWF0aWNhbGx5IHNpbmNlIHRoZSBwcmV2aW91c2x5IHJlbGVhc2VkIHZlcnNpb24sIHRoZXJlZm9yZSBzb21lIHJlLXN0eWxpbmcgb2YgdGVtcGxhdGVzIHdpbGwgbmVlZCB0byBvY2N1ciBpZiB5b3UgYXJlIHVwZ3JhZGluZyBmcm9tIGEgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSBlYXJsaWVyIHRoYW4gMS43LjwvcD4KPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgY29tcGxldGUgb25saW5lIHJlc2VydmF0aW9uIG1hbmFnZW1lbnQgc3lzdGVtIGZvciBob3RlbHMsIGNhciByZW50YWwgYWdlbmNpZXMsIG9yIGFueSBvdGhlciBwdXJwb3NlIHdoZXJlIHBhcnRpY3VsYXIgJnF1b3Q7cmVzb3VyY2VzJnF1b3Q7IGNhbiBiZSByZXNlcnZlZCBvbiBhIGRhaWx5IGJhc2lzLjwvcD4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBtZWNoYW5pc20gZm9yIGZyb250ZW5kIHVzZXJzIHRvIGNyZWF0ZSBhbmQgbWFuYWdlIHJlc2VydmF0aW9ucywgYW5kIHRvIGNvbnRhY3QgYWRtaW5pc3RyYXRvcnMgd2l0aCBpbmZvcm1hdGlvbiBhbmQgcXVlc3Rpb25zIGFib3V0IHJlc2VydmF0aW9ucy48L3A+CjxwPkEgY29tcGxldGUgYWRtaW4gaW50ZXJmYWNlIGFsbG93cyBhdXRob3JpemVkIGFkbWluaXN0cmF0b3JzIHRvIG1hbmFnZSByZXNvdXJjZXMsIGV2ZW50cywgcmVzZXJ2YXRpb25zLCBhbmQgYWxsIGFzcGVjdHMgb2YgdGhlIGRpc3BsYXlhYmxlIGl0ZW1zLjwvcD4KPGgzPkZlYXR1cmVzOjwvaDM+Cjx1bD4KPGxpPkFsbG93cyBkZWZpbmluZyB1bmxpbWl0ZWQgbnVtYmVycyBvZiByZXNvdXJjZXMuCiAgPHVsPgogIDxsaT5BIGJhc2UgZGFpbHkgcHJpY2UgY2FuIGJlIGVudGVyZWQgZm9yIGVhY2ggcmVzb3VyY2UuPC9saT4KICA8bGk+UHJpY2UgYWRqdXN0bWVudHMgY2FuIGJlIGVudGVyZWQgZm9yIGVhY2ggZGF5IG9mIHRoZSB3ZWVrLjwvbGk+CiAgPC91bD4KPGxpPgo8bGk+QWxsb3dzIGRlZmluaW5nIGFuIHVubGltaXRlZCBudW1iZXIgb2YgY3VzdG9tIGZpZWxkcyB0byBhc3NvY2lhdGUgd2l0aCByZXNvdXJjZXMuPC9saT4KPGxpPkFsbG93cyBjcmVhdGluZyBldmVudCB0eXBlcyBhbmQgYXNzb2NpYXRpbmcgdGhlbSB3aXRoIGNvbG9ycy48L2xpPgo8bGk+U3VwcG9ydHMgY3JlYXRpbmcgZXZlbnRzIGZvciBwYXJ0aWN1bGFyIHJlc291cmNlcyBvdmVyIHBhcnRpY3VsYXIgZGF5czoKICA8dWw+CiAgPGxpPkV2ZW50cyBjYW4gYmUgYm9va2FibGUgb3Igbm9uIGJvb2thYmxlLCB0byBibG9jayByZXNlcnZhdGlvbnMgZm9yIHRob3NlIHJlc291cmNlcyBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+CiAgPGxpPmJvb2thYmxlIGV2ZW50cyBjYW4gaGF2ZSBhIHByaWNlIGFkanVzdG1lbnQgdG8gaW5jcmVhc2Ugb3IgZGVjcmVhc2UgdGhlIHByaWNlIG9mIHRoZSBzZWxlY3RlZCByZXNvdXJjZXMgb24gdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlN1cHBvcnRzIGF1dG9tYXRpYyBwcmljZSBjYWxjdWxhdGlvbiBmb3IgcmVzZXJ2YXRpb25zLjwvbGk+CjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgY29uZmxpY3QgY2hlY2tpbmcgdG8gZW5zdXJlIHRoYXQgbm8gcmVzZXJ2YXRpb25zIGNhbiBiZSBjcmVhdGVkIGZvciByZXNlcnZlZCByZXNvdXJjZXMsIG9yIGNsb3NlZCByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPgo8L3VsPgoKPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgo8cD5UaGUgZmlyc3QgdGhpbmcgeW91IHNob3VsZCBkbyBhZnRlciBpbnN0YWxsbmcgdGhlIG1vZHVsZSBpcyB0byBjcmVhdGUgc29tZSByb29tIGF0dHJpYnV0ZXMsIGFuZCBldmVudCB0eXBlcy4gICBZb3Ugc2hvdWxkIGFsc28gY2hlY2sgdGhlIHByZWZlcmVuY2VzIHRvIGVuc3VyZSB0aGF0IHRoZXkgc2VlbSB0byBiZSBzZXQgY29ycmVjdGx5LiAgWW91IGhhdmUgdGhlIG9wdGlvbiBvZiBjaGFuZ2luZyB0aGUgcmVzb3VyY2UgdHlwZSBpbiB0aGUgcHJlZmVyZW5jZSBmcm9tIHJvb20gdG8gc29tZSBvdGhlciByZXNvdXJjZSB0aGF0IHlvdSBhcmUgbWFuYWdpbmcuICBUaGlzIHdpbGwgY2hhbmdlIHRoZSB2YXJpb3VzIGxhYmVscyBpbiB0aGUgYWRtaW4gc2VjdGlvbiBhbmQgaW4gdGhlIGZyb250ZW5kIGRpc3BsYXkuPC9wPgo8L3A+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHJlc291cmNlcyBhbmQgZmlsbCB0aGVtIGluIHdpdGggYXMgbXVjaCBkZXRhaWwgYXMgcG9zc2libGUuICBZb3UgbWF5IGFsc28gd2FudCB0byBjcmVhdGUgc29tZSBldmVudHMsIG9yIHRvIG1hcmsgb2ZmIGRhdGVzIHdoZW4gcGFydGljdWxhciByZXNvdXJjZXMgYXJlIHVuYXZhaWxhYmxlLjwvcD4KPHA+VG8gZGlzcGxheSBhIHJlc291cmNlIHN1bW1hcnkgdmlldywgeW91IHNob3VsZCBhZGQgdGhlIHRhZyB7QXZhaWxhYmlsaXR5fSBpbnRvIGEgY29udGVudCBwYWdlLjwvcD4KPHA+VG8gZGlzcGxheSBhIGNhbGVuZGFyIHZpZXcsIHlvdSBjYW4gYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eSBhY3Rpb249Y2FsZW5kYXJ9IHRvIGEgY29udGVudCBwYWdlLiAgVGhpcyB3aWxsIHByb3ZpZGUgYSBzdWZmaWNpZW50IHN5c3RlbSBmb3IgYWxsb3dpbmcgdmlzaXRvcnMgdG8gY3JlYXRlIHJlc2VydmF0aW9ucywgZXRjLjwvcD4KPGg0PlJlc2VydmF0aW9uczwvaDQ+CjxwPlRoZSBkZWZhdWx0IGZvcm0gZm9yIGFsbG93aW5nIGEgdXNlciB0byBjcmVhdGUgYSByZXNlcnZhdGlvbiByZWxpZXMgaGVhdmlseSBvbiBqcXVlcnksIGFqYXgsIGFuZCBqYXZhc2NyaXB0LiAgVG8gYWxsb3cgdGhlIGRlZmF1bHQgZm9ybSB0byB3b3JrIHByb3Blcmx5IHlvdSBuZWVkIHRvIGVuYWJsZSB0aGUganF1ZXJ5dG9vbHMgbW9kdWxlIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgYW5kIGFsc28gaW5jbHVkZSBhIHNlcGVyYXRlIHNldCBvZiBqYXZhc2NyaXB0IHV0aWxpdGllcyAocGhwX2pzLmpzKSB0aGF0IGlzIHByb3ZpZGVkIHdpdGggdGhlIEF2YWlsYWJpbGl0eSBtb2R1bGVzIGxpYiBkaXJlY3RvcnkuPC9saT4KPHA+SSBzdWdnZXN0IHlvdSBhZGQgdGhlIGZvbGxvd2luZyB0d28gbGluZXMgdG8gdGhlIGhlYWQgc2VjdGlvbiBvZiB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIGludG8gdGhlIHBhZ2UgbWV0YWRhdGEgc2VjdGlvbiBvZiBhbnkgcGFnZXMgdGhhdCB3aWxsIGJlIHdvcmtpbmcgd2l0aCB0aGUgYXZhaWxhYmlsaXR5IG1vZHVsZTo8L3A+CjxwcmUgc3R5bGU9Im1hcmdpbi1sZWZ0OiAyZW07Ij4Ke0pRdWVyeVRvb2xzIGFjdGlvbj1cJ2luY2pzXCd9CiZsdDtzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiIHNyYz0ie3Jvb3RfdXJsfS9tb2R1bGVzL0F2YWlsYWJpbGl0eS9saWIvcGhwX2pzLmpzIiZndDsmbHQ7L3NjcmlwdCZndDsKPC9wcmU+Cgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPjxzdHJvbmc+SG93ZXZlcjwvc3Ryb25nPiwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgpFT1Q7CiRsYW5nWydoZWxwX2FjdGlvbiddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIGZvcm0gb3IgcmVwb3J0IHRvIGRpc3BsYXkuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+Cjx1bD4KPGxpPmFkZHJlc3ZuIC0gVGhlIGFkZC9lZGl0IHJlc2VydmF0aW9uIGZvcm08YnIvPgombmJzcDsmbmJzcDstIFRoaXMgZm9ybSBhbGxvd3MgYSB2YWxpZCwgbG9nZ2VkIGluIGZyb250ZW5kIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gaW4gdGhlIHN5c3RlbS48L2xpPgo8bGk+Y2FsZW5kYXIgLSBUaGUgY2FsZW5kYXIgdmlldzxici8+CiZuYnNwOyZuYnNwOy0gVGhpcyB2aWV3IGRpc3BsYXlzIHRoZSBhdmFpbGFiaWxpdHkgb2Ygc2VsZWN0ZWQgcmVzb3VyY2VzIGZvciB0aGUgY3VycmVudCBtb250aC4gIEl0IGFsbG93cyBwYWdpbmF0aW5nIGJldHdlZW4gZGlmZmVyZW50IG1vbnRocywgdmlld2luZyBhIHJlc291cmNlIGRldGFpbCB2aWV3LCBhbmQgc3VwcGxpZXMgYSBsaW5rIHRoYXQgd2lsbCBicmluZyB1cCB0aGUgYWRkcmVzdm4gZm9ybSBmb3IgdGhlIHNlbGVjdGVkIGRhdGUgYW5kIHJlc291cmNlLjwvbGk+CjxsaT5kYXl2aWV3IC0gQSByZXBvcnQgb2YgYWN0aXZpdGllcyAob3IgbGFjayB0aGVyZW9mKSBmb3IgYSBwYXJ0aWN1bGFyIGRheTwvbGk+CjxsaT5kZWZhdWx0ICAtIFRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXc8YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGEgc3VtbWFyeSByZXBvcnQgb2Ygc2VsZWN0ZWQgcmVzb3VyY2VzLjwvbGk+CjxsaT5kZXRhaWwgICAgLSBUaGUgcmVzb3VyY2UgZGV0YWlsIHZpZXc8YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZS48L2xpPgo8bGk+bXlyZXNlcnZhdGlvbiAtIFRoZSBteXJlc2VydmF0aW9ucyByZXBvcnQuPGJyLz4KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSByZXBvcnQgYWJvdXQgYWxsIG9mIHRoZSB1cGNvbWluZyAob3B0aW9uYWxseSBwYXN0IGFzIHdlbGwpIHJlc2VydmF0aW9ucyBmb3IgdGhpcyBwYXJ0aWN1bGFyIHVzZXIuPC9saT4KPGxpPnNlYXJjaCAtIFRoZSBzZWFyY2ggZm9ybS48YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIGZvcm0gdGhhdCBhbGxvd3Mgc2VhcmNoaW5nIGZvciByZXNvdXJjZXMgdGhhdCBhcmUgYXZhaWxhYmxlIGJldHdlZW4gdG8gc3BlY2lmaWVkIGRhdGVzLjwvbGk+CjxsaT5zZW5kZW1haWwgLSBUaGUgcmVzZXJ2YXRpb24gc2VuZGVtYWlsIGZvcm08YnIvPgombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIGZvcm0gdGhhdCBhbGxvd3MgZnJvbnRlbmQgdXNlcnMgdG8gc2VuZCBhbiBlbWFpbCBtZXNzYWdlIHRvIHNpdGUgYWRtaW5pc3RyYXRvcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHNwZWNpZmljIHJlc2VydmF0aW9uLjwvbGk+CjwvdWw+Cic7CiRsYW5nWydoZWxwX2NhbGVuZGFydGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciBkaXNwbGF5LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGNhbGVuZGFyIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBnZW5lcmF0aW5nIHRoZSBkaXNwbGF5JzsKJGxhbmdbJ2hlbHBfY2F0ZWdvcnknXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9mIGNhdGVnb3J5IG5hbWVzIHRvIHVzZSBmb3Igc2VsZWN0aW5nIHRoZSBkYXRhIHRvIGRpc3BsYXkuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSByZXNvdXJjZXMgcGFyYW1ldGVyLic7CiRsYW5nWydoZWxwX2NvbmZpcm10ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIHJlc2VydmF0aW9uIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBhIHZpc2l0b3IgY3JlYXRlcyBhIHJlc2VydmF0aW9uIG9ubGluZSc7CiRsYW5nWydoZWxwX2RheXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgZGF5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZGF5IHZpZXcgdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGdlbmVyYXRpbmcgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF9kYXknXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0gdG8gc3BlY2lmeSBhIGRlZmF1bHQgZGF5LiAgVXNlZCB3aXRoIHRoZSBkYXl2aWV3IGFjdGlvbiB0byBzcGVjaWZ5IHRoZSB0YXJnZXQgZGF5JzsKJGxhbmdbJ2hlbHBfZGV0YWlscGFnZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBkZWZhdWx0IChzdW1tYXJ5KSwgYW5kIG15cmVzZXJ2YXRpb25zIHZpZXdzLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhbiBvcHRpb25hbCBwYWdlIGZvciB2aWV3aW5nIGVpdGhlciB0aGUgcmVzb3VyY2UgZGV0YWlsLCB0aGUgcmVzZXJ2YXRpb24gZm9ybXMsIG9yIHRoZSBzZW5kLWVtYWlsIGZvcm0uICBJZiB0aGlzIHZhbHVlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGhlIHByZWZlcmVuY2UgZnJvbSB0aGUgYWRtaW5pc3RyYXRpb24gY29uc29sZSB3aWxsIGJlIHVzZWQuICBJZiB0aGF0IGlzIG5vdCBzZXQsIHRoZW4gdGhlIGN1cnJlbnQgcGFnZSB3aWxsIGJlIHVzZWQuJzsKJGxhbmdbJ2hlbHBfZGV0YWlsdGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBjYWxlbmRhciwgZGV0YWlsLCBkZWZhdWx0IChzdW1tYXJ5KSBhbmQgbXlyZXNlcnZhdGlvbnMgdmlld3MgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkZXRhaWwgdGVtcGxhdGUgdG8gdXNlIGZvciBhbnkgZGlzcGxheS4gIFRoaXMgcGFyYW1ldGVyIHdpbGwgaGF2ZSBubyBlZmZlY3QgaWYgcHJldHR5IHVybHMgYXJlIGNvbmZpZ3VyZWQuJzsKJGxhbmdbJ2hlbHBfZW1haWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBteXJlc2VydmF0aW9uLCBhbmQgYWRkcmVzdm4gYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBlbWFpbCB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gZW1haWxzIGFyZSBzZW50Lic7CiRsYW5nWydoZWxwX2lubGluZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHdldGhlciB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5saW5lIChyZXBsYWNlIHRoZSBvcmlnaW5hbCB0YWcpLCBvciBzaG91bGQgcmVwbGFjZSB0aGUgY29udGVudCBhcmVhIG9mIHRoZSBwYWdlLiAgIFRoaXMgcGFyYW1ldGVyIGhhcyBubyBlZmZlY3QgaWYgdGhlIHN1bW1hcnlwYWdlIHBhcmFtZXRlciBpcyBhbHNvIHNwZWNpZmllZCc7CiRsYW5nWydoZWxwX21vbnRoJ10gPSAnVXNlZCB3aXRoIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGRlZmF1bHQgbW9udGguICBVc2VkIHdpdGggdGhlIGRheSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSB0YXJnZXQgbW9udGgnOwokbGFuZ1snaGVscF9teXJlc3ZudGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIG15cmVzZXJ2YXRpb24gdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCB0ZW1wbGF0ZSBmb3IgdGhhdCB2aWV3JzsKJGxhbmdbJ2hlbHBfcGFnZWxpbWl0J10gPSAnSW4gdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHJlc291cmNlcyB0byBkaXNwbGF5IG9uIGVhY2ggcGFnZSc7CiRsYW5nWydoZWxwX3Jlc291cmNlcyddID0gJ0luIHRoZSBjYWxlbmRhciB2aWV3IHRoaXMgcGFyYW1ldGVyIGFjY2VwdHMgYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBvZiByZXNvdXJjZSBuYW1lcyB0byBkaXNwbGF5LiAgVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgY2F0ZWdvcnkgcGFyYW1ldGVyJzsKJGxhbmdbJ2hlbHBfcmVzdm50ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGFkZHJlc3ZuLCBjYWxlbmRhciwgYW5kIG15cmVzZXJ2YXRpb25zIGFjdGlvbnMsICB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHJlc2VydmF0aW9uIGZvcm0gdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbic7CiRsYW5nWydoZWxwX3Jlc3ZfaWQnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgaWQgb2YgYW4gZXhpc3RpbmcgcmVzZXJ2YXRpb24gdG8gZWRpdC4gIFlvdSB3aWxsIHByb2JhYmx5IG5vdCBuZWVkIHRvIHVzZSB0aGlzIHBhcmFtZXRlciBkaXJlY3RseSc7CiRsYW5nWydoZWxwX3JzcmNpZCddID0gJ1RoaXMgcGFyYW1ldGVyIGlzIGFjY2VwdGVkIGJ5IHRoZSBkZXRhaWwgdGVtcGxhdGUgdG8gZGlzcGxheSBhIGRldGFpbCByZXBvcnQgYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZSc7CiRsYW5nWydoZWxwX3NlYXJjaHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZS4nOwokbGFuZ1snaGVscF9zZW5kZW1haWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgbXlyZXNlcnZhdGlvbiB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHRlbXBsYXRlIGZvciB0aGUgc2VuZGVtYWlsIGZvcm0uICBUaGlzIHBhcmFtZXRlciBoYXMgbm8gZWZmZWN0IHdoZW4gcHJldHR5IHVybHMgYXJlIGVuYWJsZWQnOwokbGFuZ1snaGVscF9zaG93YWxsJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZGlzcGxheWluZyBhbGwgcmVzZXJ2YXRpb25zLCBpbmNsdWRpbmcgcGFzdCByZXNlcnZhdGlvbnMuJzsKJGxhbmdbJ2hlbHBfc29ydGJ5J10gPSAnIApBcHBsaWNhYmxlIHRvIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3IGFuZCB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgYWx0ZXJpbmcgdGhlIHNvcnQgb3JkZXIgb2YgZGlzcGxheWVkIGl0ZW1zLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPgpSZXNvdXJjZSBzdW1tYXJ5IHZpZXc6PGJyLz4KPHVsPgogIDxsaT5uYW1lPC9saT4KICA8bGk+cHJpY2U8L2xpPgo8L3VsPgpteWVzZXJ2YXRpb25zIHZpZXc6PGJyLz4KPHVsPgogIDxsaT5zdGFydF9kYXRlPC9saT4KICA8bGk+ZW5kX2RhdGU8L2xpPgogIDxsaT5wcmljZTwvbGk+CiAgPGxpPmNyZWF0ZV9kYXRlPC9saT4KICA8bGk+bW9kaWZpZWRfZGF0ZTwvbGk+CjwvdWw+Cic7CiRsYW5nWydoZWxwX3NvcnRvcmRlciddID0gJ0FwcGxpY2FibGUgdG8gdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldyBhbmQgdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGFsdGVyaW5nIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBzZWxlY3RlZCBkYXRhLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPjx1bD48bGk+YXNjIC0gYXNjZW5kaW5nPC9saT48bGk+ZGVzYyAtIGRlc2NlbmRpbmc8L2xpPjwvdWw+JzsKJGxhbmdbJ2hlbHBfc3VtbWFyeXBhZ2UnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaWQgb3IgYWxpYXMgb2YgdGhlIHBhZ2UgdGhhdCB0aGUgcmVzdWx0aW5nIHN1bW1hcnkgdmlldyBzaG91bGQgYmUgb24uICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIGlubGluZSBpcyBzZXQgdG8gZmFsc2UuJzsKJGxhbmdbJ2hlbHBfc3VtbWFyeXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgdmlldywgdGhpcyBwYXJhbXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHN1bW1hcnkgdGVtcGxhdGUgd2lsbCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheSc7CiRsYW5nWydoZWxwX3llYXInXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZGVmYXVsdCB5ZWFyLiBXaGVuIHVzZWQgd2l0aCB0aGUgZGF5dmlldyBhY3Rpb24gdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIHRhcmdldCB5ZWFyLic7CiRsYW5nWydoaXN0b3JpY2FsX2NvbXBhcmlzb24nXSA9ICdIaXN0b3JpY2FsIENvbXBhcmlzb24nOwoKI0kKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snaW1hZ2UnXSA9ICdJbWFnZSc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdJbWFnZSc7CiRsYW5nWydpbWFnZV9oYW5kbGluZ19jb25maWcnXSA9ICdJbWFnZSBIYW5kbGluZyBDb25maWcnOwokbGFuZ1snaW5mb19hZGRfdXNlcl9hY2NvdW50J10gPSAnRGlzcGxheSBhIGZvcm0gZnJvbSB0aGUgdXNlciBtYW5hZ2VtZW50IGludGVyZmFjZSB0byBhbGxvdyBhZGRpbmcgYSBuZXcgdXNlciBhY2NvdW50JzsKJGxhbmdbJ2luZm9fYWRqdXN0bWVudF92YWx1ZXMnXSA9ICdBZGp1c3RtZW50IHZhbHVlcyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSBmb3JtIG9mIFtzeW1ib2xdIyMuIyMuICBTeW1ib2wgY2FuIGJlIG9uZSBvZiArLC0sIG9yICouICBpLmU6ICowLjg1IG9yICsxNS4yNS4gIElmIG5vIHN5bWJvbCBpcyBzcGVjaWZpZWQsICsgaXMgYXNzdW1lZC4nOwokbGFuZ1snaW5mb19hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgZGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgYWR2YW5jZWQgc2VhcmNoIGZvcm0sIGRpc3BsYXllZCB3aXRoIHRoZSAmcXVvdDtzZWFyY2gmcXVvdDsgYWN0aW9uLiAgWW91IGNhbiB1c2UgYW55IGFuZCBhbGwgc21hcnR5IGxvZ2ljIGFuZCB0YWdzIGluIHRoaXMgdGVtcGxhdGUuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGFkdmFuY2VkIHNlYXJjaCBmb3JtIHRlbXBsYXRlcywgZm9yIHVzZSB3aXRoIHRoZSAmcXVvdDtzZWFyY2gmcXVvdDsgYWN0aW9uJzsKJGxhbmdbJ2luZm9fYWxsb3dfbm9fcHJpY2VzJ10gPSAnVXNlZCBmb3IgYm9va2luZyByZXNvdXJjZXMgd2l0aCBubyBwcmljZXMgYXR0YWNoZWQnOwokbGFuZ1snaW5mb19idWxrZGlzY291bnRfYWRqdXN0bWVudF92YWx1ZXMnXSA9ICdBZGp1c3RtZW50IHZhbHVlcyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSBmb3JtIG9mIFtzeW1ib2xdIyMuIyMuICBTeW1ib2wgY2FuIGJlIG9uZSBvZiArLC0sIG9yICouICBpLmU6ICowLjg1IG9yICsxNS4yNS4gIElmIG5vIHN5bWJvbCBpcyBzcGVjaWZpZWQsICsgaXMgYXNzdW1lZC4gIElmIHNwZWNpZnlpbmcgYSBudW1iZXIgb2YgZnJlZSBkYXlzLCBhbiBpbnRlZ2VyIHZhbHVlIGlzIGV4cGVjdGVkLic7CiRsYW5nWydpbmZvX2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIGFuZCBldmVudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBjYWxlbmRhciB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fY2FsZW5kYXJfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNhbGVuZGFyIHRlbXBsYXRlcyBmb3IgdXNlIGluIHRoZSBmcm9udGVuZCBjYWxlbmRhciB2aWV3Lic7CiRsYW5nWydpbmZvX2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gPDw8RU9UClRoaXMgdGVtcGxhdGUgZGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgZW1haWwgdGhhdCB3aWxsIGJlIHNlbnQgdG8gdGhlIHVzZXIgd2hlbiB1c2luZyB0aGlzIHRlbXBsYXRlLiAgWW91IGNhbiB1c2UgYW55IGFuZCBhbGwgc21hcnR5IGxvZ2ljIGFuZCB0YWdzIGluIHRoaXMgdGVtcGxhdGUuICBUaGUgZm9sbG93aW5nIHZhcmlhYmxlcyBhcmUgc3BlY2lhbCB0byB0aGlzIHRlbXBsYXRlOiB7XCRzdWJqZWN0fSAtIFRoZSBzdWJqZWN0IG9mIHRoZSBlbWFpbCwge1wkYm9keX0gLSBUaGUgYm9keSBvZiB0aGUgZW1haWwKRU9UOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGN1c3RvbWVyIGVtYWlsIHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gc2VuZGluZyBtZXNzYWdlcyB0byBjdXN0b21lcnMgd2hvIGhhdmUgYm9va2VkIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19jdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcHJvcGVydGllcyBzaG91bGQgYmUgbGlzdGVkIGluIHVzZXIgbGlzdHMuPGJyLz5Vc2UgeyRwcm9wZXJ0eW5hbWV9IHRvIGlkZW50aWZ5IGEgc2luZ2xlIHByb3BlcnR5Ljxici8+UmVmZXIgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGZvciB0aGUgbGlzdCBvZiBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgZ3JvdXAuPGJyLz5Zb3UgY2FuIGFsc28gdXNlIHRoZSB7JHVzZXJuYW1lfSB0YWcgdG8gaW5kaWNhdGUgdGhlIHVzZXJzIGxvZ2luIG5hbWUuJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIGFuZCBldmVudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBkYXkgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2RheV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgZGF5IHZpZXcgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBjbGlja2luZyBvbiBhbiBpbmRpdmlkdWFsIGRheSBmcm9tIHRoZSBkZWZhdWx0IGNhbGVuZGFyIGRpc3BsYXknOwokbGFuZ1snaW5mb19kZXBvc2l0J10gPSAnVGhlIGhpZ2hlc3QgYW1vdW50IGNhbGN1bGF0ZWQgd2lsbCBiZSB1c2VkIGFzIHRoZSBtaW5pbXVtIGRlcG9zaXQgZm9yIGVhY2ggcmVzZXJ2YXRpb24uICBEZXBvc2l0IGFtb3VudHMgd2lsbCBuZXZlciBleGNlZWQgdGhlIHRvdGFsIHJlc2VydmF0aW9uIGFtb3VudCc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzb3VyY2UgZGV0YWlsIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgZGV0YWlsIHZpZXdzIG9mIHRoZSB2YXJpb3VzIHJlc291cmNlcyc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGRldGFpbCB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fZW1haWxfc2VudCddID0gJ1lvdXIgZW1haWwgaGFzIGJlZW4gc2VudC4gIFJlY29yZCBvZiB0aGlzIGVtYWlsIGhhcyBhbHNvIGJlZW4gYXR0YWNoZWQgdG8gdGhlIHRyYW5zYWN0aW9uIGRldGFpbHMgZm9yIGZ1dHVyZSByZWZlcmVuY2UnOwokbGFuZ1snaW5mb19teXJlc2VydmF0aW9uc190ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgb3V0cHV0IGZvciB0aGUgTXlSZXNlcnZhdGlvbnMgcmVwb3J0JzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIG15cmVzZXJ2YXRpb25zIHZpZXcgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBhY3Rpb249bXlyZXNlcnZhdGlvbnMnOwokbGFuZ1snaW5mb19vdmVyY2FwX2Ftb3VudCddID0gJ0RhaWx5IGFtb3VudCB0byBhZGQgKHBlciB1bml0KSB0byByZXNlcnZhdGlvbiBwcmljZSwgZm9yIGVhY2ggdW5pdCBvdmVyIHRoZSBzdGF0ZWQgY2FwYWNpdHkgKGFwcGxpY2FibGUgb25seSBpZiB0aGUgY2FwYWNpdHkgaXMgYSB2YWxpZCB2YWx1ZSkuJzsKJGxhbmdbJ2luZm9fcGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbiddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYXV0b21hdGljYWxseSBpZiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gYWNjZXNzIHRoZSByZXNlcnZhdGlvbnMgZm9ybSBpZiBub3QgbG9nZ2VkIGluLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnXSA9ICdTcGVjaWZ5IHRoZSBsaXN0IG9mIHVzZXJzIChvciBncm91cHMpIHRvIHJlY2VpdmUgYSBjb3B5IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwuICBUaGUgZW1haWwgYWRkcmVzcyBwcm9wZXJ0eSBmb3IgZWFjaCBzZWxlY3RlZCB1c2VyIG11c3QgYmUgdmFsaWQuJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnU3BlY2lmeSB0aGUgcGFnZSB0byByZWRpcmVjdCB0byBhdXRvbWF0aWNhbGx5IGFmdGVyIGEgdmlzaXRvciBoYXMgY3JlYXRlZCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnU3BlY2lmeSB0aGUgcGFnZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgZWRpdCByZXNlcnZhdGlvbiB1cmxzLCBhbmQgc2VuZCBtZXNzYWdlIHVybHMnOwokbGFuZ1snaW5mb19yZXNvdXJjZV90eXBlJ10gPSAnU3BlY2lmeSB0aGUgdHlwZSBvZiByZXNvdXJjZSB5b3Ugd2lsbCBiZSBtYW5hZ2luZy4gIGkuZTogJnF1b3Q7cm9vbSZxdW90OyBvciAmcXVvdDtjYXImcXVvdDsgZXRjLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgbGFiZWxsaW5nIG9mIHRoZSBlbnRpcmUgbW9kdWxlLic7CiRsYW5nWydpbmZvX3Jlc3ZuX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBmb3JtLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiBlbWFpbCBtZXNzYWdlLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiByZXBvcnQuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY29uZmlybWF0aW9uIGVtYWlsIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIGVtYWlsIG1lc3NhZ2UgdGhhdCBpcyBzZW50IHRvIHRoZSBjdXN0b21lciBhZnRlciBhIHNpdGUgdmlzaXRvciBjcmVhdGVzIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY29uZmlybWF0aW9uIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIG1lc3NhZ2UgYW5kIGRhdGEgdGhhdCBpcyBkaXNwbGF5ZWQgYWZ0ZXIgYSBzaXRlIHZpc2l0b3IgY3JlYXRlcyBvciBlZGl0cyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3Jlc3ZuX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNlcnZhdGlvbiBmb3JtIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIGZvcm0gZGlzcGxheWVkIHdoZW4gYWRkaW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGNvbnRyb2xzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBzZW5kZW1haWwgZm9ybSwgdXNlZCB3aGVuIGEgc2l0ZSB2aXNpdG9yIHdhbnRzIHRvIHNlbmQgYSBtZXNzYWdlIHRvIGJ1c2luZXNzIG93bmVycyB3aXRoIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb3IgcXVlc3Rpb25zIGFib3V0IGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHNlbmRlbWFpbCBmb3JtIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIGZvcm0gZGlzcGxheWVkIHdoZW4gc2VuZGluZyBhbiBlbWFpbCByZWxhdGVkIHRvIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zZW5kX21lc3NhZ2UnXSA9ICdVc2UgdGhpcyBmb3JtIHRvIHByb3ZpZGUgbW9yZSBpbmZvcm1hdGlvbiByZWdhcmRpbmcgeW91ciByZXNlcnZhdGlvbiBvciB0byBhc2sgYW55IHF1ZXN0aW9ucyByZWdhcmRpbmcgeW91ciByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBzdW1tYXJ5IHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNvdXJjZSBzdW1tYXJ5IHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3Igc3VtbWFyeSB2aWV3cyBvZiB0aGUgdmFyaW91cyByZXNvdXJjZXMgPGVtPih0aGlzIGlzIHRoZSBkZWZhdWx0IHZpZXcpPC9lbT4nOwokbGFuZ1snaW5mb19zeXNkZmx0X2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgQ2FsZW5kYXIgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgQ3VzdG9tZXIgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RheV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IERheSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNvdXJjZSBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X215cmVzdl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0ICZxdW90O015IFJlc2VydmF0aW9ucyZxdW90OyBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc2VydmF0aW9uIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBDb25maXJtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gQ29uZmlybSBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgU2VuZCBFbWFpbCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzb3VyY2UgU3VtbWFyeSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfdGVtcGxhdGUnXSA9ICdBbHRlcmluZyB0aGlzIHRlbXBsYXRlIHdpbGwgaGF2ZSBubyBpbW1lZGlhdGUgZWZmZWN0IG9uIGFueSBvdXRwdXQuICBUaGlzIGZvcm0gY29udHJvbHMgdGhlIHZhbHVlIG9mIHRoZSB0ZW1wbGF0ZSB0aGF0IGlzIGNyZWF0ZWQgd2hlbiB5b3UgY2xpY2sgJnF1b3Q7TmV3IFRlbXBsYXRlJnF1b3Q7IGluIHRoZSBhcHByb3ByaWF0ZSB0ZW1wbGF0ZSB0YWIuJzsKJGxhbmdbJ2luZm9fdmlld191c2VyJ10gPSAnRGlzcGxheSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHVzZXInOwokbGFuZ1snaW5pdGlhbF9yZXNlcnZhdGlvbl9ub3RlcyddID0gJ0luaXRpYWwgUmVzZXJ2YXRpb24gTm90ZXMnOwokbGFuZ1snaW5fcHJvZ3Jlc3MnXSA9ICdJbiBQcm9ncmVzcyc7CgojSgoKI0sKJGxhbmdbJ2tleXdvcmRzJ10gPSAnS2V5d29yZHMnOwoKI0wKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnJmd0OyZndDsnOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJ0xhc3QgTW9kaWZpZWQnOwokbGFuZ1snbGVnZW5kJ10gPSAnTGVnZW5kJzsKJGxhbmdbJ2xibF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnXSA9ICdBZHZhbmNlZCBTZWFyY2ggRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2JhY2snXSA9ICdCYWNrJzsKJGxhbmdbJ2xibF9jYWxlbmRhciddID0gJ0NhbGVuZGFyJzsKJGxhbmdbJ2xibF9jYWxlbmRhcl92aWV3X3RlbXBsYXRlcyddID0gJ0NhbGVuZGFyIFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9jYXRlZ29yaWVzJ10gPSAnQXR0cmlidXRlcyc7CiRsYW5nWydsYmxfY3VzdG9tZXJfZW1haWxfdGVtcGxhdGVzJ10gPSAnQ3VzdG9tZXIgRW1haWwgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9jdXN0b21fZmllbGRzJ10gPSAnQ3VzdG9tIEZpZWxkcyc7CiRsYW5nWydsYmxfZGF5X3ZpZXdfdGVtcGxhdGVzJ10gPSAnRGF5IFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9kZWZhdWx0X3RlbXBsYXRlcyddID0gJ0RlZmF1bHQgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9kZXRhaWxfdGVtcGxhdGVzJ10gPSAnRGV0YWlsIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZXZlbnRzJ10gPSAnRXZlbnRzJzsKJGxhbmdbJ2xibF9ldmVudF90eXBlcyddID0gJ0V2ZW50IFR5cGVzJzsKJGxhbmdbJ2xibF9teXJlc2VydmF0aW9uc190ZW1wbGF0ZXMnXSA9ICdNeSBSZXNlcnZhdGlvbnMgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9wcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbnMnXSA9ICdSZXNlcnZhdGlvbnMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBFbWFpbCBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc291cmNlcyddID0gJ1Jlc291cmNlcyc7CiRsYW5nWydsYmxfc2VuZGVtYWlsX3RlbXBsYXRlcyddID0gJ1NlbmQgRW1haWwgRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnTWFuYWdlIFNldHRpbmdzJzsKJGxhbmdbJ2xibF9zdW1tYXJ5X3RlbXBsYXRlcyddID0gJ1N1bW1hcnkgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdNYW5hZ2UgVGVtcGxhdGVzJzsKCiNNCiRsYW5nWydtYW5hZ2VfY3VzdG9tZXJfY29udGFjdF9yZXN2biddID0gJ01hbmFnZSBDdXN0b21lciBDb250YWN0IGZvciByZXNlcnZhdGlvbic7CiRsYW5nWydtYW5hZ2VyJ10gPSAnTWFuYWdlcic7CiRsYW5nWydtYXhfbGVuZ3RoJ10gPSAnTWF4IExlbmd0aCc7CiRsYW5nWydtZXNzYWdlX3RlbXBsYXRlJ10gPSAnTWVzc2FnZSBUZW1wbGF0ZSc7CiRsYW5nWydtZXNzYWdlX3RleHQnXSA9ICdNZXNzYWdlIEJvZHknOwokbGFuZ1snbWluaW11bV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnTWluaW11bSBEZXBvc2l0IFJlcXVpcmVkJzsKJGxhbmdbJ21vZGlmaWVkX2RhdGUnXSA9ICdNb2RpZmllZCc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdBIHJlc291cmNlIGFuZCBhdmFpbGFiaWxpdHkgbWFuYWdlciBmb3Igc2NoZWR1bGluZyBhbmQgcmVzZXJ2aW5nIHJlc291cmNlcyBvbiBhIGRhaWx5IGJhc2lzJzsKJGxhbmdbJ21vbmRheSddID0gJ01vbmRheSc7CiRsYW5nWydtb250aCddID0gJ01vbnRoJzsKJGxhbmdbJ21vbnRobGlzdF9icmllZiddID0gJ0phbi9GZWIvTWFyL0Fwci9NYXkvSnVuL0p1bC9BdWcvU2VwL09jdC9Ob3YvRGVjJzsKJGxhbmdbJ21vcmUnXSA9ICdNb3JlJzsKCiNOCiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWyduZXh0J10gPSAnTmV4dCc7CiRsYW5nWyduZXh0cGFnZSddID0gJyZndDsnOwokbGFuZ1snbm8nXSA9ICdObyc7CiRsYW5nWydub25ib29rYWJsZV9ibG9ja3MnXSA9ICdDbG9zZWQgQmxvY2tzJzsKJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsKJGxhbmdbJ25vdGVzJ10gPSAnTm90ZXMnOwokbGFuZ1snbm90X2FwcGxpY2FibGUnXSA9ICdOL0EnOwokbGFuZ1snbm90X2NhbGN1bGF0ZWQnXSA9ICdOb3QgY2FsY3VsYXRlZCc7CiRsYW5nWydudW1fcGVvcGxlJ10gPSAnTnVtYmVyIG9mIFBlb3BsZSc7CgojTwokbGFuZ1snb2NjdXJzJ10gPSAnT2NjdXJzJzsKJGxhbmdbJ29mJ10gPSAnT2YnOwokbGFuZ1snb24nXSA9ICdPbic7CiRsYW5nWydvbmVfaG91ciddID0gJ09uZSBIb3VyJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpb25zJzsKJGxhbmdbJ29yZGVyJ10gPSAnT3JkZXInOwokbGFuZ1snb3ZlcmNhcF9hbW91bnQnXSA9ICdPdmVyY2FwYWNpdHkgUHJpY2UgQWRqdXN0bWVudCc7CgojUAokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ051bWJlciBvZiBJdGVtcyBwZXIgUGFnZSc7CiRsYW5nWydwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10gPSAnUGFnZSB0byByZWRpcmVjdCB0byB3aGVuIG5vdCBsb2dnZWQgaW4nOwokbGFuZ1sncGFydDEnXSA9ICdQYXJ0IDEnOwokbGFuZ1sncGFydGlhbGx5X3Jlc2VydmVkJ10gPSAnUGFydGlhbGx5IFJlc2VydmVkJzsKJGxhbmdbJ3BhcnRpYWxseV9yZXNlcnZlZF9sYmwnXSA9ICclcyBvZiAlcyBzbG90cyByZXNlcnZlZCc7CiRsYW5nWydwYXN0X21lc3NhZ2VzJ10gPSAnUGFzdCBNZXNzYWdlcyc7CiRsYW5nWydwZW5kaW5nJ10gPSAnUGVuZGluZyc7CiRsYW5nWydwZXJjZW50YWdlX2RlcG9zaXRfcmVxdWlyZWQnXSA9ICdNaW5pbWltdW0gUGVyY2VudGFnZSBvZiB0b3RhbCBvcmRlciByZXF1aXJlZCBmb3IgYSBkZXBvc2l0IDxlbT4oZXhwcmVzc2VkIGluIGRlY2ltYWwgZm9ybWF0KTwvZW0+JzsKJGxhbmdbJ3BlcmNlbnRfYm9va2VkJ10gPSAnUGVyY2VudGFnZSBCb29rZWQnOwokbGFuZ1snUE0nXSA9ICdQTSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBBdmFpbGFiaWxpdHkgbW9kdWxlIGhhcyBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkLiAgUGxlYXNlIGVuc3VyZSB0aGF0IGFsbCBhcHByb3ByaWF0ZSBncm91cHMgaGF2ZSB0aGUgYXBwcm9wcmlhdGUgcGVybWlzc2lvbnMgdG8gbWFuYWdlIHRoZSB2YXJpb3VzIGFzcGVjdHMgb2YgdGhpcyBtb2R1bGUnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBBdmFpbGFiaWxpdHkgbW9kdWxlLCBhbmQgYWxsIHJlbGF0ZWQgZGF0YSBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhlIHN5c3RlbS4gIFlvdSBhcmUgbm93IGZyZWUgdG8gZGVsZXRlIHRoZSBmaWxlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtb2R1bGUnOwokbGFuZ1sncHJldiddID0gJ1ByZXYnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICcmbHQ7JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJpY2UnOwokbGFuZ1sncHJpY2VzJ10gPSAnUHJpY2VzJzsKJGxhbmdbJ3ByaWNlX2FkanVzdCddID0gJ0FkanVzdCB0aGUgUHJpY2Ugb2YgZWZmZWN0ZWQgJXMgYnkgdGhpcyBhbW91bnQuPGJyLz48ZW0+KHVzZSBhIGZvcm1hdCBsaWtlICowLjg1IG9yIC0xMyBvciArMjUpPC9lbT4nOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3B1YmxpYyddID0gJ1B1YmxpYyc7CgojUQokbGFuZ1sncXVhcnRlcl9ob3VyJ10gPSAnUXVhcnRlciBIb3VyJzsKCiNSCiRsYW5nWydyZXNlcnZlZCddID0gJ1Jlc2VydmVkJzsKJGxhbmdbJ3Jlc2VydmF0aW9uJ10gPSAnUmVzZXJ2YXRpb24nOwokbGFuZ1sncmVzZXJ2YXRpb25fYmFja2dyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIEJhY2tncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmxpY3RfYmFja2dyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIENvbmZsaWN0IEJhY2tncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fZGVwb3NpdF9zZXR0aW5ncyddID0gJ1Jlc2VydmF0aW9uIERlcG9zaXQgU2V0dGluZ3MnOwokbGFuZ1sncmVzZXJ2YXRpb25fcGVuZGluZ19iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnUGVuZGluZyBSZXNlcnZhdGlvbiBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpZyddID0gJ1Jlc2VydmF0aW9uIFNldHRpbmdzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfYXR0YWNobWVudCddID0gJ0ZpbGUgdG8gYXR0YWNoIHRvIGFsbCByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWxzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnXSA9ICdDQyB0aGVzZSB1c2VycyBvbiByZXNlcnZhdGlvbiBjb25maXJtYXRpb24nOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9mbGFnJ10gPSAnU2VuZCBhbiBlbWFpbCB0byB0aGUgY3VzdG9tZXIgd2hlbiBhIHJlc2VydmF0aW9uIGlzIGNyZWF0ZWQnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnU3ViamVjdCBvZiByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWxzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1Jlc2VydmF0aW9uIENvbmZpcm0gUGFnZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdCddID0gJ1lvdXIgc2VsZWN0ZWQgJXMgYXJlIG5vdCBhbGwgYXZhaWxhYmxlIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY3JlYXRlZCddID0gJ1Jlc2VydmF0aW9uIENyZWF0ZWQnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnUmVzZXJ2YXRpb24gRGVmYXVsdCBQYWdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RldGFpbHMnXSA9ICdSZXNlcnZhdGlvbiBEZXRhaWxzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2ZvcmVncm91bmRfY29sb3InXSA9ICdSZXNlcnZhdGlvbiBDb25mbGljdCBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2ZvcmVncm91bmRfY29sb3InXSA9ICdSZXNlcnZhdGlvbiBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfZm9yZWdyb3VuZF9jb2xvciddID0gJ1BhcnRpYWwgQm9va2luZyBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfYmFja2dyb3VuZF9jb2xvciddID0gJ1BhcnRpYWwgQm9va2luZyBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRzJ10gPSAnUmVzZXJ2YXRpb24gQ29tcG9uZW50cyc7CiRsYW5nWydyZXNlcnZhdGlvbl9wZW5kaW5nX2ZvcmVncm91bmRfY29sb3InXSA9ICdQZW5kaW5nIFJlc2VydmF0aW9uIEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fbnVtJ10gPSAnUmVzZXJ2YXRpb246ICUwNWQnOwokbGFuZ1sncmVzZXQnXSA9ICdSZXNldCc7CiRsYW5nWydyZXNvdXJjZSddID0gJ1Jlc291cmNlJzsKJGxhbmdbJ3Jlc291cmNlcyddID0gJ1Jlc291cmNlcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzEnXSA9ICdSZXNlcnZlZCBvbiBhbiAlcyBiYXNpcywgb24gJXMgYm91bmRhcmllcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzInXSA9ICdSZXNlcnZlZCBvbiBhbiAlcyBiYXNpcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzMnXSA9ICdhdmFpbGFibGUgZnJvbSAlcyB0byAlcyBhbmQgZnJvbSAlcyB0byAlcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzQnXSA9ICdjaGVja2luIHRpbWUgaXMgJXMsIGFuZCBjaGVja291dCB0aW1lIGlzICVzJzsKJGxhbmdbJ3Jlc291cmNlX3R5cGUnXSA9ICdSZXNvdXJjZSBUeXBlJzsKJGxhbmdbJ3Jvb20nXSA9ICdSb29tJzsKJGxhbmdbJ3Jvb21zJ10gPSAnUm9vbXMnOwokbGFuZ1sncmVxdWlyZV9kZXBvc2l0J10gPSAnSXMgYSBkZXBvc2l0IHJlcXVpcmVkPyc7CgojUwokbGFuZ1snc2F0dXJkYXknXSA9ICdTYXR1cmRheSc7CiRsYW5nWydzY2hlZHVsaW5nJ10gPSAnU2NoZWR1bGluZyc7CiRsYW5nWydzY2hlZHVsaW5nX2ludGVydmFsJ10gPSAnVGhpcyByZXNvdXJjZSBpcyBib29rZWQnOwokbGFuZ1snc2VhcmNoJ10gPSAnU2VhcmNoJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdTZWxlY3QgT25lJzsKJGxhbmdbJ3NlbmQnXSA9ICdTZW5kJzsKJGxhbmdbJ3NlbmRfZW1haWwnXSA9ICdTZW5kIGFuIEVtYWlsJzsKJGxhbmdbJ3NlbnQnXSA9ICdTZW50JzsKJGxhbmdbJ3N0YXJ0X2RhdGUnXSA9ICdTdGFydCBEYXRlJzsKJGxhbmdbJ3N0YXJ0X3RpbWVfMSddID0gJ1N0YXJ0IFRpbWUgMSc7CiRsYW5nWydzdGFydF90aW1lXzInXSA9ICdTdGFydCBUaW1lIDInOwokbGFuZ1snc3RhdGlzdGljcyddID0gJ1N0YXRpc3RpY3MnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ3N0YXR1c19yb29tc19hdmFpbGFibGUnXSA9ICdUaGUgJXMgeW91IHNlbGVjdGVkIGFyZSBhdmFpbGFibGUgZm9yIHRoZXNlIGRhdGVzJzsKJGxhbmdbJ3N1YmpfcmVfcmVzdm4nXSA9ICdSZTogUmVzZXJ2YXRpb24gJXMnOwokbGFuZ1snc3ViamVjdCddID0gJ1N1YmplY3QnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ3N1bmRheSddID0gJ1N1bmRheSc7CgojVAokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHQgRmllbGQnOwokbGFuZ1sndGh1cnNkYXknXSA9ICdUaHVyc2RheSc7CiRsYW5nWyd0aXRsZV9jb25mbGljdCddID0gJ0NvbmZsaWN0IEV4aXN0c3xBIGNvbmZsaWN0IGV4aXN0cyBiZXR3ZWVuIHJlc2VydmF0aW9ucyAlMDRkIGFuZCAlMDRkLjxici8+PGJyLz5Nb3JlIGNvbmZsaWN0cyBtYXkgZXhpc3RzIGZvciB0aGlzIGJsb2NrLic7CiRsYW5nWyd0aXRsZV9ncmFwaGluZyddID0gJ1ZpZXcgZ3JhcGhzIGFuZCByZXBvcnRzIG9mIGhpc3RvcmljYWwgZGF0YSc7CiRsYW5nWyd0byddID0gJ1RvJzsKJGxhbmdbJ3RvdGFsX2Jsb2NrcyddID0gJ1RvdGFsIEJsb2Nrcyc7CiRsYW5nWyd0dWVzZGF5J10gPSAnVHVlc2RheSc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSc7CgojVQokbGFuZ1sndXNlX2RhdGVzX2luX2ZpbHRlciddID0gJ0FwcGx5IHRoZSBGb2xsb3dpbmcgRGF0ZXMnOwoKI1YKJGxhbmdbJ3ZhY2FudCddID0gJ1ZhY2FudCc7CiRsYW5nWyd2aWV3J10gPSAnVmlldyc7CiRsYW5nWyd2aWV3X2RheSddID0gJ1ZpZXcgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBkYXknOwokbGFuZ1sndmlld191c2VyJ10gPSAnVmlldyBHdWVzdCBEZXRhaWxzJzsKJGxhbmdbJ3ZpZXdfcnNyY19kZXRhaWxzJ10gPSAnVmlldyBkZXRhaWxzIGZvciB0aGlzICVzJzsKCiNXCiRsYW5nWyd3ZWRuZXNkYXknXSA9ICdXZWRuZXNkYXknOwokbGFuZ1snd2Vla2RheV9wcmljZV9hZGp1c3RtZW50cyddID0gJ1dlZWtkYXkgUHJpY2UgQWRqdXN0bWVudHMnOwoKI1gKCiNZCiRsYW5nWyd5ZWFyXzEnXSA9ICdZZWFyIDEnOwokbGFuZ1sneWVhcl8yJ10gPSAnWWVhciAyJzsKJGxhbmdbJ3llYXJfMyddID0gJ1llYXIgMyc7CiRsYW5nWyd5ZXMnXSA9ICdZZXMnOwokbGFuZ1sneW91cl9uYW1lJ10gPSAnWW91ciBOYW1lJzsKCiNaCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0VyZWlnbmlzdHlwZW4gaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FjdGlvbl9lZGl0X2V2ZW50X3R5cGUnXSA9ICdFcmVpZ25pc3R5cGVuIGJlYXJiZWl0ZW4nOwokbGFuZ1snYWN0aXZlJ10gPSAnQWt0aXYnOwokbGFuZ1snYWRkJ10gPSAnSGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FkZF9ub3RlcyddID0gJ1Jlc2VydmllcnVuZ3NiZXpvZ2VuZSBJbmZvcm1hdGlvbmVuIGVpbmdlYmVuJzsKJGxhbmdbJ2FkZGVkaXRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhbiBBZHZhbmNlZCBTZWFyY2ggRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnS2FsZW5kZXJhbnNpY2h0c3ZvcmxhZ2UgaGluenVmJnV1bWw7Z2VuL2JlYXJiZWl0ZW4nOwokbGFuZ1snYWRkZWRpdF9jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdLdW5kZW4tRW1haWwtVm9ybGFnZSBoaW56dWYmdXVtbDtnZW4vYmVhcmJlaXRlbic7CiRsYW5nWydhZGRlZGl0X2RheV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IERheSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBSZXNvdXJjZSBEZXRhaWwgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X215cmVzZXJ2YXRpb25zX3RlbXBsYXRlJ10gPSAnJmJkcXVvO21laW5lIFJlc2VydmllcnVuZ2VuJmxkcXVvOy1BbnNpY2h0c3ZvcmxhZ2UgaGluenVmJnV1bWw7Z2VuL2JlYXJiZWl0ZW4nOwokbGFuZ1snYWRkZWRpdF9yZXN2bl90ZW1wbGF0ZSddID0gJ1Jlc2VydmllcnVuZ3Nmb3JtdWxhcnZvcmxhZ2UgaGluenVmJnV1bWw7Z2VuL2JlYXJiZWl0ZW4nOwokbGFuZ1snYWRkZWRpdF9yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnRS1NYWlsLVZvcmxhZ2UgZiZ1dW1sO3IgUmVzZXJ2aWVydW5nc2Jlc3QmYXVtbDt0aWd1bmcgaGluenVmJnV1bWw7Z2VuL2JlYXJiZWl0ZW4nOwokbGFuZ1snYWRkZWRpdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnUmVzZXJ2aWVydW5nc2Jlc3QmYXVtbDt0aWd1bmdzdm9ybGFnZSBoaW56dWYmdXVtbDtnZW4vYmVhcmJlaXRlbic7CiRsYW5nWydhZGRlZGl0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJyZiZHF1bztFbWFpbCBzZW5kZW4mbGRxdW87LUZvcm11bGFydm9ybGFnZSBoaW56dWYmdXVtbDtnZW4vYmVhcmJlaXRlbic7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIFJlc291cmNlIFN1bW1hcnkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydhZG1pbl9ub3RlcyddID0gJ0FkbWluaXN0cmF0b3ItTm90aXplbic7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfYWRqdXN0ZGF5cyddID0gJ0J1bGsgZGlzY291bnQgYWRqdXN0bWVudCBvZiAlLjJmIGZvciBlbGlnaWJsZSBkYXlzJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdCdWxrIGRpc2NvdW50IGFkanVzdG1lbnQgb2YgJS4yZiBmb3IgYWxsIGRheXMnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0J1bGsgZGlzY291bnQgZWxpZ2libGUgZnJlZSBkYXknOwokbGFuZ1snYWRqdXN0X2V2ZW50X3ByaWNlJ10gPSAnQWRqdXN0ZWQgcHJpY2UgZm9yIGV2ZW50ICVzIGJ5ICVzJzsKJGxhbmdbJ2FkanVzdF9vdmVyY2FwYWNpdHknXSA9ICdBZGp1c3RlZCBwcmljZSBmb3IgJWQgZXh0cmEgcGVvcGxlIGJ5ICUuMmYnOwokbGFuZ1snYWRqdXN0X3dlZWtkYXlfcHJpY2UnXSA9ICdBZGp1c3RlZCBwcmljZSBmb3Igd2Vla2RheSAlcyBieSAlcyc7CiRsYW5nWydhZGRfY2F0ZWdvcnknXSA9ICdBdHRyaWJ1dCBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snYWRkX2N1c3RvbV9maWVsZCddID0gJ0JlbnV0emVyZGVmaW5pZXJ0ZXMgRmVsZCBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snYWRkX2V2ZW50J10gPSAnRXJlaWduaXMgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FkZF9ldmVudF90eXBlJ10gPSAnRXJlaWduaXN0eXAgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FkZF9yZXNlcnZhdGlvbiddID0gJ0VpbmUgUmVzZXJ2aWVydW5nIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydhZGRfdXNlcl9hY2NvdW50J10gPSAnRWluIEJlbnV0emVya29udG8gaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FsbCddID0gJ2FsbGUnOwokbGFuZ1snYWxsb3dlZF9maWxlX3R5cGVzJ10gPSAnRXJsYXVidGUgRGF0ZWl0eXBlbic7CiRsYW5nWydhbGxvd2VkX2ltYWdlX3R5cGVzJ10gPSAnRXJsYXVidGUgQmlsZGFydGVuJzsKJGxhbmdbJ2FsbG93X25vX3ByaWNlcyddID0gJ0Vycm9yIG9uIG5vIHByaWNlJzsKJGxhbmdbJ0FNJ10gPSAnQU0nOwokbGFuZ1snYW55J10gPSAnZWdhbCc7CiRsYW5nWydhcHBseSddID0gJ0Fud2VuZGVuJzsKJGxhbmdbJ2Fza19kZWxldGVfZXZlbnQnXSA9ICdXb2xsZW4gU2llIGRpZXNlcyBFcmVpZ25pcyB3aXJrbGljaCBkYXVlcmhhZnQgZW50ZmVybmVuPyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc2VydmF0aW9uJ10gPSAnV29sbGVuIFNpZSBkaWVzZSBSZXNlcnZpZXJ1bmcgd2lya2xpY2ggZGF1ZXJoYWZ0IGF1cyBJaHJlbSBTeXN0ZW0gZW50ZmVybmVuPyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc291cmNlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSByZWFsbHkgd2FudCB0byBwZXJtYW5lbnRseSByZW1vdmUgdGhpcyByZXNvdXJjZT8nOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdXb2xsZW4gU2llIHdpcmtsaWNoIGRpZXNlcyBNb2R1bCBkZWluc3RhbGxpZXJlbj8gQWxsZSBpbSBadXNhbW1lbmhhbmcgbWl0IGRpZXNlbSBNb2R1bCBlaW5nZWdlYmVuZW4gRGF0ZW4gZ2VoZW4gZGFiZWkgdmVybG9yZW4uJzsKJGxhbmdbJ2F0J10gPSAnQCc7CiRsYW5nWydhdHRhY2htZW50J10gPSAnQW5oYW5nJzsKJGxhbmdbJ2F0dGFjaG1lbnRfZGlyJ10gPSAnVmVyemVpY2huaXMsIGluIGRlbSBuYWNoIEFuaCZhdW1sO25nZW4gZ2VzdWNodCB3ZXJkZW4gc29sbCc7CiRsYW5nWydhdHRyaWJ1dGVzJ10gPSAnQXR0cmlidXRlJzsKJGxhbmdbJ2F1dG9fZ2VuZXJhdGVfdGh1bWJuYWlscyddID0gJ1ZvcnNjaGF1YmlsZGVyIGF1dG9tYXRpc2NoIGVyemV1Z2VuJzsKJGxhbmdbJ2F2YWlsYWJsZSddID0gJ0F2YWlsYWJsZSc7CiRsYW5nWydiYWNrZ3JvdW5kX2NvbG9yJ10gPSAnSGludGVyZ3J1bmRmYXJiZSc7CiRsYW5nWydiYXNlX3ByaWNlJ10gPSAnQmFzaXNwcmVpcyc7CiRsYW5nWydiYXNpY19wcmljaW5nJ10gPSAnQmFzaWMgUHJpY2luZyc7CiRsYW5nWydib29rYWJsZSddID0gJ0smb3VtbDtubmVuIFppbW1lciB3JmF1bWw7aHJlbmQgZGllc2VzIEVyZWlnbmlzc2VzIGdlYnVjaHQgd2VyZGVuPyc7CiRsYW5nWydib29rYWJsZV9iciddID0gJ0J1Y2hiYXInOwokbGFuZ1snYm9va2FibGVfZXZlbnRfYmxvY2tzJ10gPSAnQnVjaGJhcmUgRXJlaWduaXNibCZvdW1sO2NrZSc7CiRsYW5nWydib29rZWRfYmxvY2tzJ10gPSAnR2VidWNodGUgQmwmb3VtbDtja2UnOwokbGFuZ1snY2FiaW4nXSA9ICdLYWJpbmUnOwokbGFuZ1snY2FiaW5zJ10gPSAnS2FiaW5lbic7CiRsYW5nWydjYWxjdWxhdGUnXSA9ICdCZXJlY2huZW4nOwokbGFuZ1snY2FsY3VsYXRlX3ByaWNlJ10gPSAnUHJlaXMgYmVyZWNobmVuJzsKJGxhbmdbJ2NhbGN1bGF0ZWRfcHJpY2UnXSA9ICdLYWxrdWxpZXJ0ZXIgUHJlaXMnOwokbGFuZ1snY2FsZW5kYXJfY29uZmlnJ10gPSAnRWluc3RlbGx1bmdlbiBkZXMgVmVyZiZ1dW1sO2diYXJrZWl0c2thbGVuZGVycyc7CiRsYW5nWydjYW5jZWwnXSA9ICdBYmJyZWNoZW4nOwokbGFuZ1snY2FuY2VsbGVkJ10gPSAnU3Rvcm5pZXJ0JzsKJGxhbmdbJ2NhcGFjaXR5J10gPSAnS2FwYXppdCZhdW1sO3QnOwokbGFuZ1snY2FyJ10gPSAnRmFocnpldWcnOwokbGFuZ1snY2FycyddID0gJ0ZhaHJ6ZXVnZSc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnQXR0cmlidXRlJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQXR0cmlidXQnOwokbGFuZ1snY2NfbXlzZWxmJ10gPSAnRWluZSBLb3BpZSBkaWVzZXIgTmFjaHJpY2h0IGFuIG1laW4gRW1haWwtUG9zdGZhY2ggc2VuZGVuJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnS29udHJvbGxrJmF1bWw7c3RjaGVuJzsKJGxhbmdbJ2NoZWNraW4nXSA9ICdFaW5jaGVja2VuJzsKJGxhbmdbJ2NoZWNraW5fdGltZSddID0gJ0NoZWNraW4gVGltZSc7CiRsYW5nWydjaGVja291dCddID0gJ0F1c2NoZWNrZW4nOwokbGFuZ1snY2hlY2tvdXRfdGltZSddID0gJ0NoZWNrb3V0IFRpbWUnOwokbGFuZ1snY2hlY2tfYXZhaWxhYmlsaXR5J10gPSAnVmVyZiZ1dW1sO2diYXJrZWl0IHByJnV1bWw7ZmVuJzsKJGxhbmdbJ2Nsb3NlZCddID0gJ0dlc2NobG9zc2VuJzsKJGxhbmdbJ2NvbG9yJ10gPSAnRmFyYmUnOwokbGFuZ1snY29uZmlybWVkJ10gPSAnQmVzdCZhdW1sO3RpZ3QnOwokbGFuZ1snY29uZmlybV9yZXNlcnZhdGlvbiddID0gJ0JpdHRlICZ1dW1sO2JlcnByJnV1bWw7ZmVuIHNpZSBkaWUgSW5mb3JtYXRpb25lbiBpbSBGb3JtdWxhciB1bmQgYmVzdCZhdW1sO3RpZ2VuIHNpZSwgZGFzcyBzaWUgZGllc2UgUmVzZXJ2aWVydW5nIGVyc3RlbGxlbiB3b2xsZW4uJzsKJGxhbmdbJ2NvbmZsaWN0J10gPSAnQ29uZmxpY3QnOwokbGFuZ1snY3JlYXRlX2RhdGUnXSA9ICdFcnN0ZWxsdCc7CiRsYW5nWydjcmVhdGVfcmVzZXJ2YXRpb24nXSA9ICdDcmVhdGUgYSByZXNlcnZhdGlvbiBmb3IgdGhpcyBzbG90JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdFcnN0ZWxsdCc7CiRsYW5nWydjdXJyZW5jeV9zeW1ib2wnXSA9ICdXJmF1bWw7aHJ1bmdzc3ltYm9sJzsKJGxhbmdbJ2N1c3RvbWVyJ10gPSAnS3VuZGUnOwokbGFuZ1snY3VzdG9tZXJfZ3JvdXAnXSA9ICdLdW5kZW5ncnVwcGUnOwokbGFuZ1snY3VzdG9tZXJfbmFtZSddID0gJ0t1bmRlbm5hbWUnOwokbGFuZ1snY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGYmdXVtbDtyIGRpZSBLdW5kZW5hbnplaWdlJzsKJGxhbmdbJ2RhaWx5J10gPSAnVCZhdW1sO2dsaWNoJzsKJGxhbmdbJ2RhdGUnXSA9ICdEYXR1bSc7CiRsYW5nWydkYXlfcmVwb3J0J10gPSAnRGF5IFJlcG9ydCc7CiRsYW5nWydkYXlfcmVwb3J0X3JzcmMnXSA9ICdEYXkgUmVwb3J0IGZvciAlcyc7CiRsYW5nWydkYXlfdmlldyddID0gJ0RheSBWaWV3JzsKJGxhbmdbJ2RlZmF1bHRfZ3JhbnVsYXJpdHknXSA9ICdEZWZhdWx0IEdyYW51bGFyaXR5JzsKJGxhbmdbJ2RlZmF1bHRfdGltZV9pbnRlcnZhbCddID0gJ0RlZmF1bHQgVGltZSBJbnRlcnZhbCc7CiRsYW5nWydkZWxldGUnXSA9ICdMJm91bWw7c2NoZW4nOwokbGFuZ1snZGVsZXRlX2NhdGVnb3J5J10gPSAnQXR0cmlidXQgbCZvdW1sO3NjaGVuJzsKJGxhbmdbJ2RlbGV0ZV9jdXN0b21fZmllbGQnXSA9ICdCZW51dHplcmRlZmluaWVydGVzIEZlbGQgbCZvdW1sO3NjaGVuJzsKJGxhbmdbJ2RlbGV0ZV9ldmVudCddID0gJ0VyZWlnbmlzIGwmb3VtbDtzY2hlbic7CiRsYW5nWydkZWxldGVfZXZlbnRfdHlwZSddID0gJ0VyZWlnbmlzdHlwIGwmb3VtbDtzY2hlbic7CiRsYW5nWydkZXBvc2l0X2Ftb3VudHMnXSA9ICdEZXNwb3NpdCBBbW91bnRzJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVzY2hyZWlidW5nJzsKJGxhbmdbJ2RmbHRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnSWhyZSBSZXNlcnZpZXJ1bmcgd3VyZGUgYmVzdCZhdW1sO3RpZ3QnOwokbGFuZ1snZGlzY291bnRfYWRqdXN0bWVudCddID0gJ0Rpc2NvdW50IEFkanVzdG1lbnQnOwokbGFuZ1snZGlzY291bnRfbWluX2Jsb2NrcyddID0gJ01pbmltdW0gbnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgZm9yIHRoZSBkaXNjb3VudCc7CiRsYW5nWydkaXNjb3VudF9mcmVlYmxvY2snXSA9ICdGcmVlIHBlcmlvZCAobGVhc3QgZXhwZW5zaXZlIGZpcnN0KSc7CiRsYW5nWydkaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdBcHBseSBhIGJ1bGsgYWRqdXN0bWVudCB0byBhbGwgcGVyaW9kcyc7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnQWRqdXN0IFByaWNlcyBmb3IgYXBwbGljYWJsZSBwZXJpb2RzIG9ubHknOwokbGFuZ1snZGlzY291bnRfdHlwZSddID0gJ0Rpc2NvdW50IFR5cGUnOwokbGFuZ1snZGlzcGxheSddID0gJ0FuemVpZ2UnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdMaXN0ZW5mZWxkJzsKJGxhbmdbJ2VkaXQnXSA9ICdCZWFyYmVpdGVuJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdBdHRyaWJ1dCBiZWFyYmVpdGVuJzsKJGxhbmdbJ2VkaXRfY3VzdG9tX2ZpZWxkJ10gPSAnQmVudXR6ZXJkZWZpbmllcnRlcyBGZWxkIGJlYXJiZWl0ZW4nOwokbGFuZ1snZWRpdF9ldmVudCddID0gJ0VyZWlnbmlzIGJlYXJiZWl0ZW4nOwokbGFuZ1snZWRpdF9ldmVudF90eXBlJ10gPSAnRXJlaWduaXN0eXAgYmVhcmJlaXRlbic7CiRsYW5nWydlZGl0X3Jlc2VydmF0aW9uJ10gPSAnUmVzZXJ2aWVydW5nIGJlYXJiZWl0ZW4nOwokbGFuZ1snZW1haWwnXSA9ICdFLU1haWwnOwokbGFuZ1snZW5kX2RhdGUnXSA9ICdFbmRkYXR1bSc7CiRsYW5nWydlbmRfdGltZV8xJ10gPSAnRW5kIFRpbWUgMSc7CiRsYW5nWydlbmRfdGltZV8yJ10gPSAnRW5kIFRpbWUgMic7CiRsYW5nWydlcnJvcl9jYWxjdWxhdGlvbiddID0gJ0JlcmVjaG51bmdzZmVobGVyJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnXSA9ICdUaGlzIHJlc291cmNlIGNhbm5vdCBiZSBkZWxldGVkIGJlY2F1c2UgdGhlcmUgYXJlIGtub3duIHJlc2VydmF0aW9ucyBmb3IgaXQnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGVuYmFua2ZlaGxlciwgYml0dGUga29udGFrdGllcmVuIFNpZSBkZW4gQWRtaW5pc3RyYXRvciEnOwokbGFuZ1snZXJyb3JfZXZlbnRfY29uZmxpY3QnXSA9ICdFaW4gS29uZmxpa3QgbWl0IGVpbmVtIG5pY2h0IGJ1Y2hiYXJlbiBFcmVpZ25pcyBmJnV1bWw7ciBkaWVzZSBSZXNlcnZpZXJ1bmcgd3VyZGUgZmVzdGdlc3RlbGx0Lic7CiRsYW5nWydlcnJvcl9maWxlZGVsZXRlJ10gPSAnQmVpbSBMJm91bWw7c2NoZW4gZWluZXIgb2RlciBtZWhyZXJlciBEYXRlaWVuIGlzdCBlaW4gUHJvYmxlbSBhdWZnZXRyZXRlbi4nOwokbGFuZ1snZXJyb3JfaW50ZXJuYWxjb25maWcnXSA9ICdFaW4gaW50ZXJuZXIgRmVobGVyIGlzdCBhdWZnZXRyZXRlbi4gQml0dGUga29udGFrdGllcmVuIHNpZSBkZW4gQWRtaW5pc3RyYXRvci4nOwokbGFuZ1snZXJyb3JfaW52YWxpZF9kYXRlcyddID0gJ0RhcyB2b24gSWhuZW4gZWluZ2VnZWJlbmUgRGF0dW0gaXN0IHVuZyZ1dW1sO2x0aWcuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfcHJpY2UnXSA9ICdEZXIgZWluZ2VnZWJlbmUgUHJlaXMgc2NoZWludCBsZWVyIG9kZXIgdW5nJnV1bWw7bHRpZyB6dSBzZWluLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3RpbWVfc2V0dGluZ3MnXSA9ICdUaGUgdGltZSByYW5nZXMgZW50ZXJlZCBhcmUgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ZhbHVlJ10gPSAnRWluIHVuZyZ1dW1sO2x0aWdlciBXZXJ0IHd1cmRlIGYmdXVtbDtyIGVpbiBvZGVyIG1laHJlcmUgRmVsZGVyIGFuZ2VnZWJlbi4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInXSA9ICdFaW4gb2RlciBtZWhyZXJlIGVyZm9yZGVybGljaGUgUGFyYW1ldGVyIGZlaGxlbiBvZGVyIHNpbmQgbGVlci4nOwokbGFuZ1snZXJyb3JfbWtkaXInXSA9ICdQcm9ibGVtIGJlaW0gRXJzdGVsbGVuIGRlcyBWZXJ6ZWljaG5pc3Nlcyc7CiRsYW5nWydlcnJvcl9tdXN0X3NlbGVjdCddID0gJ1NpZSBtJnV1bWw7c3NlbiBlaW4gb2RlciBtZWhyZXJlICVzIHcmYXVtbDtobGVuJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzZXMnXSA9ICdJaHIgQW5iaWV0ZXIgaGF0IG5pZW1hbmRlbiBrb25maWd1cmllcnQsIGRlciBmJnV1bWw7ciBkaWVzZSBNZWxkdW5nZW4gYmVuYWNocmljaHRpZ3Qgd2VyZGVuIHNvbGwuIEJpdHRlIGtvbnRha3RpZXJlbiBkaWUgZGVuIFdlYnNlaXRlbmFkbWluaXN0cmF0b3IgZGlyZWt0Lic7CiRsYW5nWydlcnJvcl9ub3Rmb3VuZCddID0gJ0RpZSBhbmdlZ2ViZW5lbiBEYXRlbiBrb25udGVuIGxlaWRlciBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4uJzsKJGxhbmdbJ2Vycm9yX25vdGxvZ2dlZGluX2ZldSddID0gJ1NpZSBzaW5kIG5vY2ggbmljaHQgYXVmIGRpZXNlciBhbmdlbWVsZGV0LiBCaXR0ZSByZWdpc3RyaWVyZW4gU2llIHNpY2gsIGJldm9yIHNpZSBlaW5lIFJlc2VydmllcnVuZyB0JmF1bWw7dGlnZW4uJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX2VtYWlsJ10gPSAnRXMga29ubnRlIGtlaW5lIEVtYWlsLUFkcmVzc2UgZiZ1dW1sO3IgZGllc2VuIEt1bmRlbiBnZWZ1bmRlbiB3ZXJkZW4uJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX3NlbGVjdGVkJ10gPSAnQml0dGUgdyZhdW1sO2hsZW4gU2llIGVpbmVuIEt1bmRlbiBhdXMgZGVyIExpc3RlLic7CiRsYW5nWydlcnJvcl9ub19ldmVudF90eXBlcyddID0gJ0VzIHd1cmRlbiBrZWluZSBFcmVpZ25pc3R5cGVuIGRlZmluaWVydC4nOwokbGFuZ1snZXJyb3Jfbm9fcmVzZXJ2YXRpb25zJ10gPSAnTm8gcmVzZXJ2YXRpb25zIGZvdW5kIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZSc7CiRsYW5nWydlcnJvcl9ub19yZXNvdXJjZXMnXSA9ICdLZWluKGUpICVzIGRlZmluaWVydCc7CiRsYW5nWydlcnJvcl9ub19yZXNvdXJjZXNfc2VsZWN0ZWQnXSA9ICdQbGVhc2UgZGVmaW5lIG9uZSBvciBtb3JlIHJlc291cmNlcyBhbmQgaW50ZXJ2YWxzIGZvciB0aGlzIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX25vX3VzZXJzX2ZvdW5kJ10gPSAnRXMga29ubnRlIGtlaW4gcmVnaXN0cmllcnRlciBCZW51dHplciBmJnV1bWw7ciBkaWUgZ2V3JmF1bWw7aGx0ZSBLdW5kZW5ncnVwcGUgZ2VmdW5kZW4gd2VyZGVuLic7CiRsYW5nWydlcnJvcl9wYXN0X2RhdGVzJ10gPSAnWW91IGNhbm5vdCBjcmVhdGUgYSByZXNlcnZhdGlvbiBmb3IgZGF0ZXMgaW4gdGhlIHBhc3QnOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbiddID0gJ1NpZSBoYWJlbiBrZWluZSBCZXJlY2h0aWd1bmcsIGRpZXNlIERhdGVuIHp1IHNlaGVuLic7CiRsYW5nWydlcnJvcl9yZXNlcnZhdGlvbl9jb25mbGljdCddID0gJ0VzIHd1cmRlIGVpbiBSZXNlcnZpZXJ1bmdza29uZmxpa3QgZmVzdGdlc3RlbGx0Lic7CiRsYW5nWydlcnJvcl9zZWxlY3Rfc3RhdHVzJ10gPSAnUGxlYXNlIHNlbGVjdCBhIHN0YXR1cyBmb3IgdGhpcyByZXNlcnZhdGlvbic7CiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdGaWxlIFVwbG9hZCBFcnJvcic7CiRsYW5nWydldmVudHNfZm9yX3Jlc291cmNlJ10gPSAnRXZlbnRzIGZvciAlcyc7CiRsYW5nWydldmVudF90eXBlJ10gPSAnRXJlaWduaXN0eXAnOwokbGFuZ1snZXZlbnRfdHlwZXMnXSA9ICdFcmVpZ25pc3R5cGVuJzsKJGxhbmdbJ2V4cGlyZWQnXSA9ICdBYmdlbGF1ZmVuJzsKJGxhbmdbJ2V4dGVuZGVkX3VzZV9kaXNjb3VudHMnXSA9ICdFeHRlbmRlZCBVc2UgRGlzY291bnRzJzsKJGxhbmdbJ2ZldV9wcmVmZXJlbmNlcyddID0gJ0Zyb250ZW5kVXNlci1FaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ2ZpZWxkcyddID0gJ0ZlbGRlcic7CiRsYW5nWydmaWxlJ10gPSAnRGF0ZWknOwokbGFuZ1snZmlsdGVyJ10gPSAnQW56ZWlnZW4nOwokbGFuZ1snZmlsZV9oYW5kbGluZ19jb25maWcnXSA9ICdEYXRlaWJlaGFuZGx1bmdza29uZmlndXJhdGlvbic7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICcmYW1wO2xhcXVvOyc7CiRsYW5nWydmb3JlZ3JvdW5kX2NvbG9yJ10gPSAnVm9yZGVyZ3J1bmRmYXJiZSc7CiRsYW5nWydmcmlkYXknXSA9ICdGcmVpdGFnJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1ZlcmYmdXVtbDtnYmFya2VpdHN2ZXJ3YWx0dW5nJzsKJGxhbmdbJ2Z1dHVyZSddID0gJ1VwY29taW5nJzsKJGxhbmdbJ2dlbmVyYWxfY29uZmlnJ10gPSAnSGF1cHRrb25maWd1cmF0aW9uJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3J1cHBlJzsKJGxhbmdbJ2d1ZXN0J10gPSAnR2FzdCc7CiRsYW5nWydoYWxmX2RheSddID0gJ0hhbGYgRGF5JzsKJGxhbmdbJ2hhbGZfaG91ciddID0gJ0hhbGYgSG91cic7CiRsYW5nWydob3VybHknXSA9ICdTdCZ1dW1sO25kbGljaCc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgZG9lcyB0aGlzIGRvPzxoMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgY29tcGxldGUgb25saW5lIHJlc2VydmF0aW9uIG1hbmFnZW1lbnQgc3lzdGVtIGZvciBob3RlbHMsIGNhciByZW50YWwgYWdlbmNpZXMsIG9yIGFueSBvdGhlciBwdXJwb3NlIHdoZXJlIHBhcnRpY3VsYXIgJnF1b3Q7cmVzb3VyY2VzJnF1b3Q7IGNhbiBiZSByZXNlcnZlZCBvbiBhIGRhaWx5IGJhc2lzLjwvcD4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBmcm9udGVuZCB1c2VycyB0byBjcmVhdGUgYW5kIG1hbmFnZSByZXNlcnZhdGlvbnMsIGFuZCB0byBjb250YWN0IGFkbWluaXN0cmF0b3JzIHdpdGggaW5mb3JtYXRpb24gYW5kIHF1ZXN0aW9ucyBhYm91dCByZXNlcnZhdGlvbnMuPC9wPg0KPHA+QSBjb21wbGV0ZSBhZG1pbiBpbnRlcmZhY2UgYWxsb3dzIGF1dGhvcml6ZWQgYWRtaW5pc3RyYXRvcnMgdG8gbWFuYWdlIHJlc291cmNlcywgZXZlbnRzLCByZXNlcnZhdGlvbnMsIGFuZCBhbGwgYXNwZWN0cyBvZiB0aGUgZGlzcGxheWFibGUgaXRlbXMuPC9wPg0KPGgzPkZlYXR1cmVzOjxoMz4NCjx1bD4NCjxsaT5BbGxvd3MgZGVmaW5pbmcgdW5saW1pdGVkIG51bWJlcnMgb2YgcmVzb3VyY2VzLg0KICA8dWw+DQogIDxsaT5BIGJhc2UgZGFpbHkgcHJpY2UgY2FuIGJlIGVudGVyZWQgZm9yIGVhY2ggcmVzb3VyY2UuPC9saT4NCiAgPGxpPlByaWNlIGFkanVzdG1lbnRzIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIGRheSBvZiB0aGUgd2Vlay48L2xpPg0KICA8L3VsPg0KPGxpPg0KPGxpPkFsbG93cyBkZWZpbmluZyBhbiB1bmxpbWl0ZWQgbnVtYmVyIG9mIGN1c3RvbSBmaWVsZHMgdG8gYXNzb2NpYXRlIHdpdGggcmVzb3VyY2VzLjwvbGk+DQo8bGk+QWxsb3dzIGNyZWF0aW5nIGV2ZW50IHR5cGVzIGFuZCBhc3NvY2lhdGluZyB0aGVtIHdpdGggY29sb3JzLjwvbGk+DQo8bGk+U3VwcG9ydHMgY3JlYXRpbmcgZXZlbnRzIGZvciBwYXJ0aWN1bGFyIHJlc291cmNlcyBvdmVyIHBhcnRpY3VsYXIgZGF5czoNCiAgPHVsPg0KICA8bGk+RXZlbnRzIGNhbiBiZSBib29rYWJsZSBvciBub24gYm9va2FibGUsIHRvIGJsb2NrIHJlc2VydmF0aW9ucyBmb3IgdGhvc2UgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCiAgPGxpPmJvb2thYmxlIGV2ZW50cyBjYW4gaGF2ZSBhIHByaWNlIGFkanVzdG1lbnQgdG8gaW5jcmVhc2Ugb3IgZGVjcmVhc2UgdGhlIHByaWNlIG9mIHRoZSBzZWxlY3RlZCByZXNvdXJjZXMgb24gdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQogIDwvdWw+DQo8L2xpPg0KPGxpPlN1cHBvcnRzIGF1dG9tYXRpYyBwcmljZSBjYWxjdWxhdGlvbiBmb3IgcmVzZXJ2YXRpb25zLjwvbGk+DQo8bGk+U3VwcG9ydHMgYXV0b21hdGljIGNvbmZsaWN0IGNoZWNraW5nIHRvIGVuc3VyZSB0aGF0IG5vIHJlc2VydmF0aW9ucyBjYW4gYmUgY3JlYXRlZCBmb3IgcmVzZXJ2ZWQgcmVzb3VyY2VzLCBvciBjbG9zZWQgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCjwvdWw+DQoNCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRoZSBmaXJzdCB0aGluZyB5b3Ugc2hvdWxkIGRvIGFmdGVyIGluc3RhbGxuZyB0aGUgbW9kdWxlIGlzIHRvIGNyZWF0ZSBzb21lIHJvb20gYXR0cmlidXRlcywgYW5kIGV2ZW50IHR5cGVzLiAgIFlvdSBzaG91bGQgYWxzbyBjaGVjayB0aGUgcHJlZmVyZW5jZXMgdG8gZW5zdXJlIHRoYXQgdGhleSBzZWVtIHRvIGJlIHNldCBjb3JyZWN0bHkuICBZb3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGNoYW5naW5nIHRoZSByZXNvdXJjZSB0eXBlIGluIHRoZSBwcmVmZXJlbmNlIGZyb20gcm9vbSB0byBzb21lIG90aGVyIHJlc291cmNlIHRoYXQgeW91IGFyZSBtYW5hZ2luZy4gIFRoaXMgd2lsbCBjaGFuZ2UgdGhlIHZhcmlvdXMgbGFiZWxzIGluIHRoZSBhZG1pbiBzZWN0aW9uIGFuZCBpbiB0aGUgZnJvbnRlbmQgZGlzcGxheS48L3A+DQo8L3A+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHJlc291cmNlcyBhbmQgZmlsbCB0aGVtIGluIHdpdGggYXMgbXVjaCBkZXRhaWwgYXMgcG9zc2libGUuICBZb3UgbWF5IGFsc28gd2FudCB0byBjcmVhdGUgc29tZSBldmVudHMsIG9yIHRvIG1hcmsgb2ZmIGRhdGVzIHdoZW4gcGFydGljdWxhciByZXNvdXJjZXMgYXJlIHVuYXZhaWxhYmxlLjwvcD4NCjxwPlRvIGRpc3BsYXkgYSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHlvdSBzaG91bGQgYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eX0gaW50byBhIGNvbnRlbnQgcGFnZS48L3A+DQo8cD5UbyBkaXNwbGF5IGEgY2FsZW5kYXIgdmlldywgeW91IGNhbiBhZGQgdGhlIHRhZyB7QXZhaWxhYmlsaXR5IGFjdGlvbj1jYWxlbmRhcn0gdG8gYSBjb250ZW50IHBhZ2UuICBUaGlzIHdpbGwgcHJvdmlkZSBhIHN1ZmZpY2llbnQgc3lzdGVtIGZvciBhbGxvd2luZyB2aXNpdG9ycyB0byBjcmVhdGUgcmVzZXJ2YXRpb25zLCBldGMuPC9wPg0KDQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snaGVscF9hY3Rpb24nXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvcyBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIGZvcm0gb3IgcmVwb3J0IHRvIGRpc3BsYXkuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+DQo8dWw+DQo8bGk+YWRkcmVzdm4gLSBUaGUgYWRkL2VkaXQgcmVzZXJ2YXRpb24gZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgZm9ybSBhbGxvd3MgYSB2YWxpZCwgbG9nZ2VkIGluIGZyb250ZW5kIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gaW4gdGhlIHN5c3RlbS48L2xpPg0KPGxpPmNhbGVuZGFyIC0gVGhlIGNhbGVuZGFyIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIHZpZXcgZGlzcGxheXMgdGhlIGF2YWlsYWJpbGl0eSBvZiBzZWxlY3RlZCByZXNvdXJjZXMgZm9yIHRoZSBjdXJyZW50IG1vbnRoLiAgSXQgYWxsb3dzIHBhZ2luYXRpbmcgYmV0d2VlbiBkaWZmZXJlbnQgbW9udGhzLCB2aWV3aW5nIGEgcmVzb3VyY2UgZGV0YWlsIHZpZXcsIGFuZCBzdXBwbGllcyBhIGxpbmsgdGhhdCB3aWxsIGJyaW5nIHVwIHRoZSBhZGRyZXN2biBmb3JtIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZSBhbmQgcmVzb3VyY2UuPC9saT4NCjxsaT5kZWZhdWx0ICAtIFRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhIHN1bW1hcnkgcmVwb3J0IG9mIHNlbGVjdGVkIHJlc291cmNlcy48L2xpPg0KPGxpPmRldGFpbCAgICAtIFRoZSByZXNvdXJjZSBkZXRhaWwgdmlldzxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZS48L2xpPg0KPGxpPm15cmVzZXJ2YXRpb24gLSBUaGUgbXlyZXNlcnZhdGlvbnMgcmVwb3J0Ljxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIHJlcG9ydCBhYm91dCBhbGwgb2YgdGhlIHVwY29taW5nIChvcHRpb25hbGx5IHBhc3QgYXMgd2VsbCkgcmVzZXJ2YXRpb25zIGZvciB0aGlzIHBhcnRpY3VsYXIgdXNlci48L2xpPg0KPGxpPnNlbmRlbWFpbCAtIFRoZSByZXNlcnZhdGlvbiBzZW5kZW1haWwgZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIGZvcm0gdGhhdCBhbGxvd3MgZnJvbnRlbmQgdXNlcnMgdG8gc2VuZCBhbiBlbWFpbCBtZXNzYWdlIHRvIHNpdGUgYWRtaW5pc3RyYXRvcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHNwZWNpZmljIHJlc2VydmF0aW9uLjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfY2FsZW5kYXJ0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyIGRpc3BsYXksIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgY2FsZW5kYXIgdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGdlbmVyYXRpbmcgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF9jYXRlZ29yeSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgY29tbWEgc2VwZXJhdGVkIGxpc3Qgb2YgY2F0ZWdvcnkgbmFtZXMgdG8gdXNlIGZvciBzZWxlY3RpbmcgdGhlIGRhdGEgdG8gZGlzcGxheS4gIFRoaXMgcGFyYW1ldGVyIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHJlc291cmNlcyBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHBfY29uZmlybXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgcmVzZXJ2YXRpb24gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGEgdmlzaXRvciBjcmVhdGVzIGEgcmVzZXJ2YXRpb24gb25saW5lJzsKJGxhbmdbJ2hlbHBfZGF5dGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBkYXkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkYXkgdmlldyB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gZ2VuZXJhdGluZyB0aGUgZGlzcGxheSc7CiRsYW5nWydoZWxwX2RheSddID0gJ1VzZWQgd2l0aCB0aGUgYWRkcmVzdm4gZm9ybSB0byBzcGVjaWZ5IGEgZGVmYXVsdCBkYXknOwokbGFuZ1snaGVscF9kZXRhaWxwYWdlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgY2FsZW5kYXIsIGRlZmF1bHQgKHN1bW1hcnkpLCBhbmQgbXlyZXNlcnZhdGlvbnMgdmlld3MsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGFuIG9wdGlvbmFsIHBhZ2UgZm9yIHZpZXdpbmcgZWl0aGVyIHRoZSByZXNvdXJjZSBkZXRhaWwsIHRoZSByZXNlcnZhdGlvbiBmb3Jtcywgb3IgdGhlIHNlbmQtZW1haWwgZm9ybS4gIElmIHRoaXMgdmFsdWUgaXMgbm90IHNwZWNpZmllZCwgdGhlbiB0aGUgcHJlZmVyZW5jZSBmcm9tIHRoZSBhZG1pbmlzdHJhdGlvbiBjb25zb2xlIHdpbGwgYmUgdXNlZC4gIElmIHRoYXQgaXMgbm90IHNldCwgdGhlbiB0aGUgY3VycmVudCBwYWdlIHdpbGwgYmUgdXNlZC4nOwokbGFuZ1snaGVscF9kZXRhaWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBkZXRhaWwsIGRlZmF1bHQgKHN1bW1hcnkpIGFuZCBteXJlc2VydmF0aW9ucyB2aWV3cyB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRldGFpbCB0ZW1wbGF0ZSB0byB1c2UgZm9yIGFueSBkaXNwbGF5LiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBoYXZlIG5vIGVmZmVjdCBpZiBwcmV0dHkgdXJscyBhcmUgY29uZmlndXJlZC4nOwokbGFuZ1snaGVscF9lbWFpbHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgY2FsZW5kYXIsIG15cmVzZXJ2YXRpb24sIGFuZCBhZGRyZXN2biBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGVtYWlsIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBlbWFpbHMgYXJlIHNlbnQuJzsKJGxhbmdbJ2hlbHBfaW5saW5lJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2V0aGVyIHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggc2hvdWxkIGJlIGRpc3BsYXllZCBpbmxpbmUgKHJlcGxhY2UgdGhlIG9yaWdpbmFsIHRhZyksIG9yIHNob3VsZCByZXBsYWNlIHRoZSBjb250ZW50IGFyZWEgb2YgdGhlIHBhZ2UuICAgVGhpcyBwYXJhbWV0ZXIgaGFzIG5vIGVmZmVjdCBpZiB0aGUgc3VtbWFyeXBhZ2UgcGFyYW1ldGVyIGlzIGFsc28gc3BlY2lmaWVkJzsKJGxhbmdbJ2hlbHBfbW9udGgnXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZGVmYXVsdCBtb250aCc7CiRsYW5nWydoZWxwX215cmVzdm50ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgbXlyZXNlcnZhdGlvbiB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHRlbXBsYXRlIGZvciB0aGF0IHZpZXcnOwokbGFuZ1snaGVscF9wYWdlbGltaXQnXSA9ICdJbiB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgcmVzb3VyY2VzIHRvIGRpc3BsYXkgb24gZWFjaCBwYWdlJzsKJGxhbmdbJ2hlbHBfcmVzb3VyY2VzJ10gPSAnSW4gdGhlIGNhbGVuZGFyIHZpZXcgdGhpcyBwYXJhbWV0ZXIgYWNjZXB0cyBhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9mIHJlc291cmNlIG5hbWVzIHRvIGRpc3BsYXkuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSBjYXRlZ29yeSBwYXJhbWV0ZXInOwokbGFuZ1snaGVscF9yZXN2bnRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgYWRkcmVzdm4sIGNhbGVuZGFyLCBhbmQgbXlyZXNlcnZhdGlvbnMgYWN0aW9ucywgIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gY3JlYXRpbmcgb3IgZWRpdGluZyBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2hlbHBfcmVzdl9pZCddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBpZCBvZiBhbiBleGlzdGluZyByZXNlcnZhdGlvbiB0byBlZGl0LiAgWW91IHdpbGwgcHJvYmFibHkgbm90IG5lZWQgdG8gdXNlIHRoaXMgcGFyYW1ldGVyIGRpcmVjdGx5JzsKJGxhbmdbJ2hlbHBfcnNyY2lkJ10gPSAnVGhpcyBwYXJhbWV0ZXIgaXMgYWNjZXB0ZWQgYnkgdGhlIGRldGFpbCB0ZW1wbGF0ZSB0byBkaXNwbGF5IGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHJlc291cmNlJzsKJGxhbmdbJ2hlbHBfc2VhcmNodGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc2VhcmNoIHRlbXBsYXRlLic7CiRsYW5nWydoZWxwX3NlbmRlbWFpbHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBteXJlc2VydmF0aW9uIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgdGVtcGxhdGUgZm9yIHRoZSBzZW5kZW1haWwgZm9ybS4gIFRoaXMgcGFyYW1ldGVyIGhhcyBubyBlZmZlY3Qgd2hlbiBwcmV0dHkgdXJscyBhcmUgZW5hYmxlZCc7CiRsYW5nWydoZWxwX3Nob3dhbGwnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBkaXNwbGF5aW5nIGFsbCByZXNlcnZhdGlvbnMsIGluY2x1ZGluZyBwYXN0IHJlc2VydmF0aW9ucy4nOwokbGFuZ1snaGVscF9zb3J0YnknXSA9ICcgDQpBcHBsaWNhYmxlIHRvIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3IGFuZCB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgYWx0ZXJpbmcgdGhlIHNvcnQgb3JkZXIgb2YgZGlzcGxheWVkIGl0ZW1zLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPg0KUmVzb3VyY2Ugc3VtbWFyeSB2aWV3Ojxici8+DQo8dWw+DQogIDxsaT5uYW1lPC9saT4NCiAgPGxpPnByaWNlPC9saT4NCjwvdWw+DQpteWVzZXJ2YXRpb25zIHZpZXc6PGJyLz4NCjx1bD4NCiAgPGxpPnN0YXJ0X2RhdGU8L2xpPg0KICA8bGk+ZW5kX2RhdGU8L2xpPg0KICA8bGk+cHJpY2U8L2xpPg0KICA8bGk+Y3JlYXRlX2RhdGU8L2xpPg0KICA8bGk+bW9kaWZpZWRfZGF0ZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfc29ydG9yZGVyJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3IGFuZCB0aGUgbXlyZXNlcnZhdGlvbnMgdmlldyB0aGlzIHBhcmFtZXRlciBhbGxvd3MgYWx0ZXJpbmcgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIHNlbGVjdGVkIGRhdGEuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+PHVsPjxsaT5hc2MgLSBhc2NlbmRpbmc8L2xpPjxsaT5kZXNjIC0gZGVzY2VuZGluZzwvbGk+PC91bD4nOwokbGFuZ1snaGVscF9zdW1tYXJ5cGFnZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBpZCBvciBhbGlhcyBvZiB0aGUgcGFnZSB0aGF0IHRoZSByZXN1bHRpbmcgc3VtbWFyeSB2aWV3IHNob3VsZCBiZSBvbi4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCwgaW5saW5lIGlzIHNldCB0byBmYWxzZS4nOwokbGFuZ1snaGVscF9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSB2aWV3LCB0aGlzIHBhcmFtdGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc3VtbWFyeSB0ZW1wbGF0ZSB3aWxsIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5JzsKJGxhbmdbJ2hlbHBfeWVhciddID0gJ1VzZWQgd2l0aCB0aGUgYWRkcmVzdm4gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBkZWZhdWx0IHllYXInOwokbGFuZ1snaGlzdG9yaWNhbF9jb21wYXJpc29uJ10gPSAnSGlzdG9yaWNhbCBDb21wYXJpc29uJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2UnXSA9ICdCaWxkJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0JpbGQnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfY29uZmlnJ10gPSAnSW1hZ2UgSGFuZGxpbmcgQ29uZmlnJzsKJGxhbmdbJ2luZm9fYWRkX3VzZXJfYWNjb3VudCddID0gJ0Rpc3BsYXkgYSBmb3JtIGZyb20gdGhlIHVzZXIgbWFuYWdlbWVudCBpbnRlcmZhY2UgdG8gYWxsb3cgYWRkaW5nIGEgbmV3IHVzZXIgYWNjb3VudCc7CiRsYW5nWydpbmZvX2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGFkdmFuY2VkIHNlYXJjaCBmb3JtLCBkaXNwbGF5ZWQgd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbi4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBhZHZhbmNlZCBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMsIGZvciB1c2Ugd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbic7CiRsYW5nWydpbmZvX2FsbG93X25vX3ByaWNlcyddID0gJ1VzZWQgZm9yIGJvb2tpbmcgcmVzb3VyY2VzIHdpdGggbm8gcHJpY2VzIGF0dGFjaGVkJzsKJGxhbmdbJ2luZm9fYnVsa2Rpc2NvdW50X2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuICBJZiBzcGVjaWZ5aW5nIGEgbnVtYmVyIG9mIGZyZWUgZGF5cywgYW4gaW50ZWdlciB2YWx1ZSBpcyBleHBlY3RlZC4nOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNhbGVuZGFyIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY2FsZW5kYXIgdGVtcGxhdGVzIGZvciB1c2UgaW4gdGhlIGZyb250ZW5kIGNhbGVuZGFyIHZpZXcuJzsKJGxhbmdbJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBkZWZpbmVzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBlbWFpbCB0aGF0IHdpbGwgYmUgc2VudCB0byB0aGUgdXNlciB3aGVuIHVzaW5nIHRoaXMgdGVtcGxhdGUuICBZb3UgY2FuIHVzZSBhbnkgYW5kIGFsbCBzbWFydHkgbG9naWMgYW5kIHRhZ3MgaW4gdGhpcyB0ZW1wbGF0ZS4gIFRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSBzcGVjaWFsIHRvIHRoaXMgdGVtcGxhdGU6IHskc3ViamVjdH0gLSBUaGUgc3ViamVjdCBvZiB0aGUgZW1haWwsIHskYm9keX0gLSBUaGUgYm9keSBvZiB0aGUgZW1haWwnOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGN1c3RvbWVyIGVtYWlsIHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gc2VuZGluZyBtZXNzYWdlcyB0byBjdXN0b21lcnMgd2hvIGhhdmUgYm9va2VkIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19jdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcHJvcGVydGllcyBzaG91bGQgYmUgbGlzdGVkIGluIHVzZXIgbGlzdHMuPGJyLz5Vc2UgeyRwcm9wZXJ0eW5hbWV9IHRvIGlkZW50aWZ5IGEgc2luZ2xlIHByb3BlcnR5Ljxici8+UmVmZXIgdG8gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGZvciB0aGUgbGlzdCBvZiBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgZ3JvdXAuPGJyLz5Zb3UgY2FuIGFsc28gdXNlIHRoZSB7JHVzZXJuYW1lfSB0YWcgdG8gaW5kaWNhdGUgdGhlIHVzZXJzIGxvZ2luIG5hbWUuJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIGFuZCBldmVudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBkYXkgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2RheV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgZGF5IHZpZXcgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBjbGlja2luZyBvbiBhbiBpbmRpdmlkdWFsIGRheSBmcm9tIHRoZSBkZWZhdWx0IGNhbGVuZGFyIGRpc3BsYXknOwokbGFuZ1snaW5mb19kZXBvc2l0J10gPSAnVGhlIGhpZ2hlc3QgYW1vdW50IGNhbGN1bGF0ZWQgd2lsbCBiZSB1c2VkIGFzIHRoZSBtaW5pbXVtIGRlcG9zaXQgZm9yIGVhY2ggcmVzZXJ2YXRpb24uICBEZXBvc2l0IGFtb3VudHMgd2lsbCBuZXZlciBleGNlZWQgdGhlIHRvdGFsIHJlc2VydmF0aW9uIGFtb3VudCc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzb3VyY2UgZGV0YWlsIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgZGV0YWlsIHZpZXdzIG9mIHRoZSB2YXJpb3VzIHJlc291cmNlcyc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGRldGFpbCB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fZW1haWxfc2VudCddID0gJ1lvdXIgZW1haWwgaGFzIGJlZW4gc2VudC4gIFJlY29yZCBvZiB0aGlzIGVtYWlsIGhhcyBhbHNvIGJlZW4gYXR0YWNoZWQgdG8gdGhlIHRyYW5zYWN0aW9uIGRldGFpbHMgZm9yIGZ1dHVyZSByZWZlcmVuY2UnOwokbGFuZ1snaW5mb19teXJlc2VydmF0aW9uc190ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgb3V0cHV0IGZvciB0aGUgTXlSZXNlcnZhdGlvbnMgcmVwb3J0JzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIG15cmVzZXJ2YXRpb25zIHZpZXcgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBhY3Rpb249bXlyZXNlcnZhdGlvbnMnOwokbGFuZ1snaW5mb19vdmVyY2FwX2Ftb3VudCddID0gJ0RhaWx5IGFtb3VudCB0byBhZGQgKHBlciB1bml0KSB0byByZXNlcnZhdGlvbiBwcmljZSwgZm9yIGVhY2ggdW5pdCBvdmVyIHRoZSBzdGF0ZWQgY2FwYWNpdHkgKGFwcGxpY2FibGUgb25seSBpZiB0aGUgY2FwYWNpdHkgaXMgYSB2YWxpZCB2YWx1ZSkuJzsKJGxhbmdbJ2luZm9fcGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbiddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYXV0b21hdGljYWxseSBpZiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gYWNjZXNzIHRoZSByZXNlcnZhdGlvbnMgZm9ybSBpZiBub3QgbG9nZ2VkIGluLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnXSA9ICdTcGVjaWZ5IHRoZSBsaXN0IG9mIHVzZXJzIChvciBncm91cHMpIHRvIHJlY2VpdmUgYSBjb3B5IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwuICBUaGUgZW1haWwgYWRkcmVzcyBwcm9wZXJ0eSBmb3IgZWFjaCBzZWxlY3RlZCB1c2VyIG11c3QgYmUgdmFsaWQuJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnU3BlY2lmeSB0aGUgcGFnZSB0byByZWRpcmVjdCB0byBhdXRvbWF0aWNhbGx5IGFmdGVyIGEgdmlzaXRvciBoYXMgY3JlYXRlZCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnU3BlY2lmeSB0aGUgcGFnZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgZWRpdCByZXNlcnZhdGlvbiB1cmxzLCBhbmQgc2VuZCBtZXNzYWdlIHVybHMnOwokbGFuZ1snaW5mb19yZXNvdXJjZV90eXBlJ10gPSAnU3BlY2lmeSB0aGUgdHlwZSBvZiByZXNvdXJjZSB5b3Ugd2lsbCBiZSBtYW5hZ2luZy4gIGkuZTogJnF1b3Q7cm9vbSZxdW90OyBvciAmcXVvdDtjYXImcXVvdDsgZXRjLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgbGFiZWxsaW5nIG9mIHRoZSBlbnRpcmUgbW9kdWxlLic7CiRsYW5nWydpbmZvX3Jlc3ZuX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBmb3JtLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiBlbWFpbCBtZXNzYWdlLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiByZXBvcnQuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY29uZmlybWF0aW9uIGVtYWlsIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIGVtYWlsIG1lc3NhZ2UgdGhhdCBpcyBzZW50IHRvIHRoZSBjdXN0b21lciBhZnRlciBhIHNpdGUgdmlzaXRvciBjcmVhdGVzIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY29uZmlybWF0aW9uIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIG1lc3NhZ2UgYW5kIGRhdGEgdGhhdCBpcyBkaXNwbGF5ZWQgYWZ0ZXIgYSBzaXRlIHZpc2l0b3IgY3JlYXRlcyBvciBlZGl0cyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3Jlc3ZuX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNlcnZhdGlvbiBmb3JtIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIGZvcm0gZGlzcGxheWVkIHdoZW4gYWRkaW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGNvbnRyb2xzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBzZW5kZW1haWwgZm9ybSwgdXNlZCB3aGVuIGEgc2l0ZSB2aXNpdG9yIHdhbnRzIHRvIHNlbmQgYSBtZXNzYWdlIHRvIGJ1c2luZXNzIG93bmVycyB3aXRoIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb3IgcXVlc3Rpb25zIGFib3V0IGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHNlbmRlbWFpbCBmb3JtIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIGZvcm0gZGlzcGxheWVkIHdoZW4gc2VuZGluZyBhbiBlbWFpbCByZWxhdGVkIHRvIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zZW5kX21lc3NhZ2UnXSA9ICdVc2UgdGhpcyBmb3JtIHRvIHByb3ZpZGUgbW9yZSBpbmZvcm1hdGlvbiByZWdhcmRpbmcgeW91ciByZXNlcnZhdGlvbiBvciB0byBhc2sgYW55IHF1ZXN0aW9ucyByZWdhcmRpbmcgeW91ciByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBzdW1tYXJ5IHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNvdXJjZSBzdW1tYXJ5IHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3Igc3VtbWFyeSB2aWV3cyBvZiB0aGUgdmFyaW91cyByZXNvdXJjZXMgPGVtPih0aGlzIGlzIHRoZSBkZWZhdWx0IHZpZXcpPC9lbT4nOwokbGFuZ1snaW5mb19zeXNkZmx0X2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgQ2FsZW5kYXIgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgQ3VzdG9tZXIgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RheV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IERheSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNvdXJjZSBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X215cmVzdl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0ICZxdW90O015IFJlc2VydmF0aW9ucyZxdW90OyBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc2VydmF0aW9uIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBDb25maXJtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gQ29uZmlybSBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgU2VuZCBFbWFpbCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzb3VyY2UgU3VtbWFyeSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfdGVtcGxhdGUnXSA9ICdBbHRlcmluZyB0aGlzIHRlbXBsYXRlIHdpbGwgaGF2ZSBubyBpbW1lZGlhdGUgZWZmZWN0IG9uIGFueSBvdXRwdXQuICBUaGlzIGZvcm0gY29udHJvbHMgdGhlIHZhbHVlIG9mIHRoZSB0ZW1wbGF0ZSB0aGF0IGlzIGNyZWF0ZWQgd2hlbiB5b3UgY2xpY2sgJnF1b3Q7TmV3IFRlbXBsYXRlJnF1b3Q7IGluIHRoZSBhcHByb3ByaWF0ZSB0ZW1wbGF0ZSB0YWIuJzsKJGxhbmdbJ2luZm9fdmlld191c2VyJ10gPSAnRGlzcGxheSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHVzZXInOwokbGFuZ1snaW5pdGlhbF9yZXNlcnZhdGlvbl9ub3RlcyddID0gJ0luaXRpYWwgUmVzZXJ2YXRpb24gTm90ZXMnOwokbGFuZ1snaW5fcHJvZ3Jlc3MnXSA9ICdpbiBBcmJlaXQnOwokbGFuZ1sna2V5d29yZHMnXSA9ICdLZXl3b3Jkcyc7CiRsYW5nWydsYXN0cGFnZSddID0gJyZhbXA7cmFxdW87JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdMZXR6dGUgJkF1bWw7bmRlcnVuZyc7CiRsYW5nWydsZWdlbmQnXSA9ICdMZWdlbmRlJzsKJGxhbmdbJ2xibF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnXSA9ICdBZHZhbmNlZCBTZWFyY2ggRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2JhY2snXSA9ICdadXImdXVtbDtjayc7CiRsYW5nWydsYmxfY2FsZW5kYXInXSA9ICdLYWxlbmRlcic7CiRsYW5nWydsYmxfY2FsZW5kYXJfdmlld190ZW1wbGF0ZXMnXSA9ICdLYWxlbmRlcmFuc2ljaHRzLVRlbXBsYXRlcyc7CiRsYW5nWydsYmxfY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0ZSc7CiRsYW5nWydsYmxfY3VzdG9tZXJfZW1haWxfdGVtcGxhdGVzJ10gPSAnS3VuZGVuLUUtTWFpbC1Wb3JsYWdlJzsKJGxhbmdbJ2xibF9jdXN0b21fZmllbGRzJ10gPSAnQmVudXR6ZXJkZWZpbmllcnRlIEZlbGRlcic7CiRsYW5nWydsYmxfZGF5X3ZpZXdfdGVtcGxhdGVzJ10gPSAnRGF5IFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9kZWZhdWx0X3RlbXBsYXRlcyddID0gJ1N0YW5kYXJkLVRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZGV0YWlsX3RlbXBsYXRlcyddID0gJ0RldGFpbC1UZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2V2ZW50cyddID0gJ0VyZWlnbmlzc2UnOwokbGFuZ1snbGJsX2V2ZW50X3R5cGVzJ10gPSAnRXJlaWduaXN0eXBlbic7CiRsYW5nWydsYmxfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgbWVpbmUgUmVzZXJ2aWVydW5nZW4nOwokbGFuZ1snbGJsX3ByZWZlcmVuY2VzJ10gPSAnRWluc3RlbGx1bmdlbic7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25zJ10gPSAnUmVzZXJ2aWVydW5nZW4nOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBFbWFpbCBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc291cmNlcyddID0gJ1Jlc291cmNlcyc7CiRsYW5nWydsYmxfc2VuZGVtYWlsX3RlbXBsYXRlcyddID0gJyZiZHF1bztFLU1haWwgdmVyc2VuZGVuJmxkcXVvOy1Gb3JtdWxhcnZvcmxhZ2VuJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0VpbnN0ZWxsdW5nZW4gdmVyd2FsdGVuJzsKJGxhbmdbJ2xibF9zdW1tYXJ5X3RlbXBsYXRlcyddID0gJ1p1c2FtbWVuZmFzc3VuZ3MtVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgdmVyd2FsdGVuJzsKJGxhbmdbJ21hbmFnZV9jdXN0b21lcl9jb250YWN0X3Jlc3ZuJ10gPSAnTWFuYWdlIEN1c3RvbWVyIENvbnRhY3QgZm9yIHJlc2VydmF0aW9uJzsKJGxhbmdbJ21hbmFnZXInXSA9ICdWZXJ3YWx0ZXInOwokbGFuZ1snbWF4X2xlbmd0aCddID0gJ01heGltYWxlIEwmYXVtbDtuZ2UnOwokbGFuZ1snbWVzc2FnZV90ZW1wbGF0ZSddID0gJ05hY2hyaWNodGVuLVRlbXBsYXRlJzsKJGxhbmdbJ21lc3NhZ2VfdGV4dCddID0gJ05hY2hyaWNoZW50ZXh0ayZvdW1sO3JwZXInOwokbGFuZ1snbWluaW11bV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnTWluaW11bSBEZXBvc2l0IFJlcXVpcmVkJzsKJGxhbmdbJ21vZGlmaWVkX2RhdGUnXSA9ICdHZSZhdW1sO25kZXJ0JzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ0EgcmVzb3VyY2UgYW5kIGF2YWlsYWJpbGl0eSBtYW5hZ2VyIGZvciBzY2hlZHVsaW5nIGFuZCByZXNlcnZpbmcgcmVzb3VyY2VzIG9uIGEgZGFpbHkgYmFzaXMnOwokbGFuZ1snbW9uZGF5J10gPSAnTW9udGFnJzsKJGxhbmdbJ21vbnRoJ10gPSAnTW9uYXQnOwokbGFuZ1snbW9udGhsaXN0X2JyaWVmJ10gPSAnSmFuL0ZlYi9NcnovQXByL01haS9KdW4vSnVsL0F1Zy9TZXAvT2t0L05vdi9EZXonOwokbGFuZ1snbW9yZSddID0gJ21laHInOwokbGFuZ1snbmFtZSddID0gJ05hbWUgJzsKJGxhbmdbJ25leHQnXSA9ICd3ZWl0ZXInOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICcmYW1wO3JzYXF1bzsnOwokbGFuZ1snbm8nXSA9ICdOZWluJzsKJGxhbmdbJ25vbmJvb2thYmxlX2Jsb2NrcyddID0gJ2dlc2NobG9zc2VuZSBCbCZvdW1sO2NrZSc7CiRsYW5nWydub25lJ10gPSAnS2VpbmUnOwokbGFuZ1snbm90ZXMnXSA9ICdIaW53ZWlzZSc7CiRsYW5nWydub3RfYXBwbGljYWJsZSddID0gJ04vQSc7CiRsYW5nWydub3RfY2FsY3VsYXRlZCddID0gJ05vdCBjYWxjdWxhdGVkJzsKJGxhbmdbJ251bV9wZW9wbGUnXSA9ICdBbnphaGwgZGVyIFBlcnNvbmVuJzsKJGxhbmdbJ29jY3VycyddID0gJ09jY3Vycyc7CiRsYW5nWydvZiddID0gJ3Zvbic7CiRsYW5nWydvbmVfaG91ciddID0gJ09uZSBIb3VyJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpb25lbic7CiRsYW5nWydvcmRlciddID0gJ1NvcnRpZXJ1bmcnOwokbGFuZ1snb3ZlcmNhcF9hbW91bnQnXSA9ICdPdmVyY2FwYWNpdHkgUHJpY2UgQWRqdXN0bWVudCc7CiRsYW5nWydwYWdlJ10gPSAnU2VpdGUnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ0FuemFobCBkZXIgRWludHImYXVtbDtnZSBwcm8gU2VpdGUnOwokbGFuZ1sncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbiddID0gJ1NlaXRlLCBhdWYgZGVpIHdlaXRlcmdlbGVpdGV0IHdlcmRlbiBzb2xsLCB3ZW5uIG5pY2h0IGFuZ2VtZWxkZXQnOwokbGFuZ1sncGFydDEnXSA9ICdUZWlsIDEnOwokbGFuZ1sncGFydGlhbGx5X3Jlc2VydmVkJ10gPSAnUGFydGlhbGx5IFJlc2VydmVkJzsKJGxhbmdbJ3BhcnRpYWxseV9yZXNlcnZlZF9sYmwnXSA9ICclcyBvZiAlcyBzbG90cyByZXNlcnZlZCc7CiRsYW5nWydwYXN0X21lc3NhZ2VzJ10gPSAndmVyZ2FuZ2VuZSBOYWNocmljaHRlbic7CiRsYW5nWydwZW5kaW5nJ10gPSAnc2Nod2ViZW5kJzsKJGxhbmdbJ3BlcmNlbnRhZ2VfZGVwb3NpdF9yZXF1aXJlZCddID0gJ01pbmltaW11bSBQZXJjZW50YWdlIG9mIHRvdGFsIG9yZGVyIHJlcXVpcmVkIGZvciBhIGRlcG9zaXQgPGVtPihleHByZXNzZWQgaW4gZGVjaW1hbCBmb3JtYXQpPC9lbT4nOwokbGFuZ1sncGVyY2VudF9ib29rZWQnXSA9ICdQZXJjZW50YWdlIEJvb2tlZCc7CiRsYW5nWydQTSddID0gJ1BNJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIEF2YWlsYWJpbGl0eSBtb2R1bGUgaGFzIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuICBQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIGFwcHJvcHJpYXRlIGdyb3VwcyBoYXZlIHRoZSBhcHByb3ByaWF0ZSBwZXJtaXNzaW9ucyB0byBtYW5hZ2UgdGhlIHZhcmlvdXMgYXNwZWN0cyBvZiB0aGlzIG1vZHVsZSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIEF2YWlsYWJpbGl0eSBtb2R1bGUsIGFuZCBhbGwgcmVsYXRlZCBkYXRhIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc3lzdGVtLiAgWW91IGFyZSBub3cgZnJlZSB0byBkZWxldGUgdGhlIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1vZHVsZSc7CiRsYW5nWydwcmV2J10gPSAnenVyJnV1bWw7Y2snOwokbGFuZ1sncHJldnBhZ2UnXSA9ICcmYW1wO2xhcXVvOyc7CiRsYW5nWydwcmljZSddID0gJ1ByZWlzJzsKJGxhbmdbJ3ByaWNlcyddID0gJ1ByZWlzZSc7CiRsYW5nWydwcmljZV9hZGp1c3QnXSA9ICdBZGp1c3QgdGhlIFByaWNlIG9mIGVmZmVjdGVkICVzIGJ5IHRoaXMgYW1vdW50Ljxici8+PGVtPih1c2UgYSBmb3JtYXQgbGlrZSAqMC44NSBvciAtMTMgb3IgKzI1KTwvZW0+JzsKJGxhbmdbJ3Byb21wdCddID0gJ0FuemVpZ2UnOwokbGFuZ1sncHVibGljJ10gPSAnJk91bWw7ZmZlbnRsaWNoJzsKJGxhbmdbJ3F1YXJ0ZXJfaG91ciddID0gJ1F1YXJ0ZXIgSG91cic7CiRsYW5nWydyZXNlcnZlZCddID0gJ1Jlc2VydmllcnQnOwokbGFuZ1sncmVzZXJ2YXRpb24nXSA9ICdSZXNlcnZpZXJ1bmcnOwokbGFuZ1sncmVzZXJ2YXRpb25fYmFja2dyb3VuZF9jb2xvciddID0gJ0hpbnRlcmdydW5kZmFyYmUgZGVyIFJlc2VydmllcnVuZyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdF9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmxpY3QgQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9kZXBvc2l0X3NldHRpbmdzJ10gPSAnUmVzZXJ2YXRpb24gRGVwb3NpdCBTZXR0aW5ncyc7CiRsYW5nWydyZXNlcnZhdGlvbl9wZW5kaW5nX2JhY2tncm91bmRfY29sb3InXSA9ICdQZW5kaW5nIFJlc2VydmF0aW9uIEJhY2tncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlnJ10gPSAnUmVzZXJ2aWVydW5nc2VpbnN0ZWxsdW5nZW4nOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9hdHRhY2htZW50J10gPSAnRmlsZSB0byBhdHRhY2ggdG8gYWxsIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiBlbWFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYyddID0gJ0NDIHRoZXNlIHVzZXJzIG9uIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnXSA9ICdTZW5kIGFuIGVtYWlsIHRvIHRoZSBjdXN0b21lciB3aGVuIGEgcmVzZXJ2YXRpb24gaXMgY3JlYXRlZCc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSA9ICdTdWJqZWN0IG9mIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiBlbWFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBQYWdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0J10gPSAnWW91ciBzZWxlY3RlZCAlcyBhcmUgbm90IGFsbCBhdmFpbGFibGUgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jcmVhdGVkJ10gPSAnUmVzZXJ2YXRpb24gQ3JlYXRlZCc7CiRsYW5nWydyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnXSA9ICdSZXNlcnZhdGlvbiBEZWZhdWx0IFBhZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGV0YWlscyddID0gJ1Jlc2VydmF0aW9uIERldGFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmxpY3RfZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIENvbmZsaWN0IEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fcGFydGlhbF9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUGFydGlhbCBCb29raW5nIEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fcGFydGlhbF9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnUGFydGlhbCBCb29raW5nIEJhY2tncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fcGFydHMnXSA9ICdSZXNlcnZhdGlvbiBDb21wb25lbnRzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BlbmRpbmdfZm9yZWdyb3VuZF9jb2xvciddID0gJ1BlbmRpbmcgUmVzZXJ2YXRpb24gRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9udW0nXSA9ICdSZXNlcnZhdGlvbjogJTA1ZCc7CiRsYW5nWydyZXNldCddID0gJ1p1ciZ1dW1sO2Nrc2V0emVuJzsKJGxhbmdbJ3Jlc291cmNlJ10gPSAnUmVzb3VyY2UnOwokbGFuZ1sncmVzb3VyY2VzJ10gPSAnUmVzb3VyY2VzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMSddID0gJ1Jlc2VydmVkIG9uIGFuICVzIGJhc2lzLCBvbiAlcyBib3VuZGFyaWVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMiddID0gJ1Jlc2VydmVkIG9uIGFuICVzIGJhc2lzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMyddID0gJ2F2YWlsYWJsZSBmcm9tICVzIHRvICVzIGFuZCBmcm9tICVzIHRvICVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfNCddID0gJ2NoZWNraW4gdGltZSBpcyAlcywgYW5kIGNoZWNrb3V0IHRpbWUgaXMgJXMnOwokbGFuZ1sncmVzb3VyY2VfdHlwZSddID0gJ1Jlc291cmNlIFR5cGUnOwokbGFuZ1sncm9vbSddID0gJ1ppbW1lcic7CiRsYW5nWydyb29tcyddID0gJ1ppbW1lcic7CiRsYW5nWydyZXF1aXJlX2RlcG9zaXQnXSA9ICdJcyBhIGRlcG9zaXQgcmVxdWlyZWQ/JzsKJGxhbmdbJ3NhdHVyZGF5J10gPSAnU29ubmFiZW5kJzsKJGxhbmdbJ3NjaGVkdWxpbmcnXSA9ICdTY2hlZHVsaW5nJzsKJGxhbmdbJ3NjaGVkdWxpbmdfaW50ZXJ2YWwnXSA9ICdUaGlzIHJlc291cmNlIGlzIGJvb2tlZCc7CiRsYW5nWydzZWFyY2gnXSA9ICdTdWNoZSc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnRWlucyBhdXN3JmF1bWw7aGxlbic7CiRsYW5nWydzZW5kJ10gPSAnU2VuZGVuJzsKJGxhbmdbJ3NlbmRfZW1haWwnXSA9ICdFaW5lIEVtYWlsIHNlbmRlbic7CiRsYW5nWydzZW50J10gPSAnVmVyc2FuZHQnOwokbGFuZ1snc3RhcnRfZGF0ZSddID0gJ0FuZmFuZ3NkYXR1bSc7CiRsYW5nWydzdGFydF90aW1lXzEnXSA9ICdTdGFydCBUaW1lIDEnOwokbGFuZ1snc3RhcnRfdGltZV8yJ10gPSAnU3RhcnQgVGltZSAyJzsKJGxhbmdbJ3N0YXRpc3RpY3MnXSA9ICdTdGF0aXN0aWtlbic7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snc3RhdHVzX3Jvb21zX2F2YWlsYWJsZSddID0gJ1RoZSAlcyB5b3Ugc2VsZWN0ZWQgYXJlIGF2YWlsYWJsZSBmb3IgdGhlc2UgZGF0ZXMnOwokbGFuZ1snc3Vial9yZV9yZXN2biddID0gJ1JlOiBSZXNlcnZpZXJ1bmcgJXMnOwokbGFuZ1snc3ViamVjdCddID0gJ0JldHJlZmYnOwokbGFuZ1snc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1snc3VuZGF5J10gPSAnU29ubnRhZyc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHRiZXJlaWNoJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZXh0ZmVsZCc7CiRsYW5nWyd0aHVyc2RheSddID0gJ0Rvbm5lcnN0YWcnOwokbGFuZ1sndGl0bGVfY29uZmxpY3QnXSA9ICdDb25mbGljdCBFeGlzdHN8QSBjb25mbGljdCBleGlzdHMgYmV0d2VlbiByZXNlcnZhdGlvbnMgJTA0ZCBhbmQgJTA0ZC48YnIvPjxici8+TW9yZSBjb25mbGljdHMgbWF5IGV4aXN0cyBmb3IgdGhpcyBibG9jay4nOwokbGFuZ1sndGl0bGVfZ3JhcGhpbmcnXSA9ICdWaWV3IGdyYXBocyBhbmQgcmVwb3J0cyBvZiBoaXN0b3JpY2FsIGRhdGEnOwokbGFuZ1sndG90YWxfYmxvY2tzJ10gPSAnVG90YWwgQmxvY2tzJzsKJGxhbmdbJ3R1ZXNkYXknXSA9ICdEaWVuc3RhZyc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ3VzZV9kYXRlc19pbl9maWx0ZXInXSA9ICdBcHBseSB0aGUgRm9sbG93aW5nIERhdGVzJzsKJGxhbmdbJ3ZhY2FudCddID0gJ3ZlcmYmdXVtbDtnYmFyJzsKJGxhbmdbJ3ZpZXcnXSA9ICdBbnNpY2h0JzsKJGxhbmdbJ3ZpZXdfZGF5J10gPSAnVmlldyBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGRheSc7CiRsYW5nWyd2aWV3X3VzZXInXSA9ICdWaWV3IEd1ZXN0IERldGFpbHMnOwokbGFuZ1sndmlld19yc3JjX2RldGFpbHMnXSA9ICdWaWV3IGRldGFpbHMgZm9yIHRoaXMgJXMnOwokbGFuZ1snd2VkbmVzZGF5J10gPSAnTWl0dHdvY2gnOwokbGFuZ1snd2Vla2RheV9wcmljZV9hZGp1c3RtZW50cyddID0gJ1dlZWtkYXkgUHJpY2UgQWRqdXN0bWVudHMnOwokbGFuZ1sneWVhcl8xJ10gPSAnSmFociAxJzsKJGxhbmdbJ3llYXJfMiddID0gJ0phaHIgMic7CiRsYW5nWyd5ZWFyXzMnXSA9ICdKYWhyIDMnOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1sneW91cl9uYW1lJ10gPSAnSWhyIE5hbWUnOwokbGFuZ1sncWNhJ10gPSAnUDAtMTkwOTExNjAwMy0xMjU0MTMyMjM1NTY4JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuODU4MDk3NjI3LjEyNTQxMzIzMzkuMTI1NDEzMjMzOS4xMjU0MTM2MTkwLjInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNTQxMzYxOTAuMi4yLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L2luZGV4LnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0FkZCBFdmVudCBUeXBlJzsKJGxhbmdbJ2FjdGlvbl9lZGl0X2V2ZW50X3R5cGUnXSA9ICdFZGl0IEV2ZW50IFR5cGUnOwokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aXZlcic7CiRsYW5nWydhZGQnXSA9ICdBam91dGVyJzsKJGxhbmdbJ2FkZF9ub3RlcyddID0gJ0VudGVyIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhpcyByZXNlcnZhdGlvbic7CiRsYW5nWydhZGRlZGl0X2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYW4gQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgQ2FsZW5kYXIgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgQ3VzdG9tZXIgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9kYXlfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBEYXkgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzb3VyY2UgRGV0YWlsIFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9teXJlc2VydmF0aW9uc190ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgTXlSZXNlcnZhdGlvbnMgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBSZXNlcnZhdGlvbiBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzZXJ2YXRpb24gQ29uZmlybWF0aW9uIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzZXJ2YXRpb24gQ29uZmlybWF0aW9uIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBTZW5kIEVtYWlsIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBSZXNvdXJjZSBTdW1tYXJ5IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRtaW5fbm90ZXMnXSA9ICdBZG1pbiBOb3Rlcyc7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfYWRqdXN0ZGF5cyddID0gJ0J1bGsgZGlzY291bnQgYWRqdXN0bWVudCBvZiAlLjJmIGZvciBlbGlnaWJsZSBkYXlzJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdCdWxrIGRpc2NvdW50IGFkanVzdG1lbnQgb2YgJS4yZiBmb3IgYWxsIGRheXMnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0J1bGsgZGlzY291bnQgZWxpZ2libGUgZnJlZSBkYXknOwokbGFuZ1snYWRqdXN0X2V2ZW50X3ByaWNlJ10gPSAnQWRqdXN0ZWQgcHJpY2UgZm9yIGV2ZW50ICVzIGJ5ICVzJzsKJGxhbmdbJ2FkanVzdF9vdmVyY2FwYWNpdHknXSA9ICdBZGp1c3RlZCBwcmljZSBmb3IgJWQgZXh0cmEgcGVvcGxlIGJ5ICUuMmYnOwokbGFuZ1snYWRqdXN0X3dlZWtkYXlfcHJpY2UnXSA9ICdBZGp1c3RlZCBwcmljZSBmb3Igd2Vla2RheSAlcyBieSAlcyc7CiRsYW5nWydhZGRfY2F0ZWdvcnknXSA9ICdBam91dGVyIHVuIGF0dHJpYnV0JzsKJGxhbmdbJ2FkZF9jdXN0b21fZmllbGQnXSA9ICdBam91dGVyIHVuIGNoYW1wcyBwZXJzb25uYWxpcyZlYWN1dGU7JzsKJGxhbmdbJ2FkZF9ldmVudCddID0gJ0Fqb3V0ZXIgdW4gJmVhY3V0ZTt2JmVncmF2ZTtuZW1lbnQnOwokbGFuZ1snYWRkX2V2ZW50X3R5cGUnXSA9ICdBam91dGVyIHVuIHR5cGUgZCYjMDM5OyZlYWN1dGU7diZlZ3JhdmU7bmVtZW50JzsKJGxhbmdbJ2FkZF9yZXNlcnZhdGlvbiddID0gJ0Fqb3V0ZXIgdW5lIG5vdXZlbGxlIHImZWFjdXRlO3NlcnZhdGlvbic7CiRsYW5nWydhZGRfdXNlcl9hY2NvdW50J10gPSAnQWpvdXRlciB1biBjb21wdGUgdXRpbGlzYXRldXInOwokbGFuZ1snYWxsJ10gPSAnVG91cyc7CiRsYW5nWydhbGxvd2VkX2ZpbGVfdHlwZXMnXSA9ICdUeXBlcyBkZSBmaWNoaWVycyBhdXRvcmlzJmVhY3V0ZTtzJzsKJGxhbmdbJ2FsbG93ZWRfaW1hZ2VfdHlwZXMnXSA9ICdUeXBlcyBkJiMwMzk7aW1hZ2VzIGF1dG9yaXMmZWFjdXRlO2VzJzsKJGxhbmdbJ2FsbG93X25vX3ByaWNlcyddID0gJ0Vycm9yIG9uIG5vIHByaWNlJzsKJGxhbmdbJ0FNJ10gPSAnQU0nOwokbGFuZ1snYW55J10gPSAnQ2hhcXVlJzsKJGxhbmdbJ2FwcGx5J10gPSAnQXBwbGlxdWVyJzsKJGxhbmdbJ2Fza19kZWxldGVfZXZlbnQnXSA9ICdFdGVzLXZvdXMgcyZ1Y2lyYztyKGUpIGRlIHZvdWxvaXIgZW5sZXZlciBkJmVhY3V0ZTtmaW5pdGl2ZW1lbnQgY2V0dGUgJmVhY3V0ZTt2JmVncmF2ZTtuZW1lbnQgPyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc2VydmF0aW9uJ10gPSAnRXRlcy12b3VzIHMmdWNpcmM7cihlKSBkZSB2b3Vsb2lyIGVubGV2ZXIgZCZlYWN1dGU7ZmluaXRpdmVtZW50IGNldHRlIHImZWFjdXRlO3NlcnZhdGlvbiA/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzb3VyY2UnXSA9ICdFdGVzLXZvdXMgcyZ1Y2lyYztyKGUpIGRlIHZvdWxvaXIgZW5sZXZlciBkJmVhY3V0ZTtmaW5pdGl2ZW1lbnQgY2V0dGUgcmVzc291cmNlID8nOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdFdGVzLXZvdXMgcyZ1Y2lyYztyKGUpIGRlIHZvdWxvaXIgZCZlYWN1dGU7c2luc3RhbGxlciBjZSBtb2R1bGUgPyBDZWNpIGVmZmFjZXJhIHRvdXRlcyBsZXMgZG9ubiZlYWN1dGU7ZXMgbGkmZWFjdXRlO2VzICZhZ3JhdmU7IGNlIG1vZHVsZS4nOwokbGFuZ1snYXQnXSA9ICdAJzsKJGxhbmdbJ2F0dGFjaG1lbnQnXSA9ICdGaWNoaWVyIGpvaW50JzsKJGxhbmdbJ2F0dGFjaG1lbnRfZGlyJ10gPSAnRGlyZWN0b3J5IHRvIHNlYXJjaCBmb3IgYXR0YWNobWVudHMnOwokbGFuZ1snYXR0cmlidXRlcyddID0gJ0F0dHJpYnV0cyc7CiRsYW5nWydhdXRvX2dlbmVyYXRlX3RodW1ibmFpbHMnXSA9ICdBdXRvIEdlbmVyYXRlIFRodW1ibmFpbHMnOwokbGFuZ1snYXZhaWxhYmxlJ10gPSAnRGlzcG9uaWJsZSc7CiRsYW5nWydiYWNrZ3JvdW5kX2NvbG9yJ10gPSAnQ291bGV1ciBkZSBmb25kJzsKJGxhbmdbJ2Jhc2VfcHJpY2UnXSA9ICdCYXNlIFByaWNlJzsKJGxhbmdbJ2Jhc2ljX3ByaWNpbmcnXSA9ICdCYXNpYyBQcmljaW5nJzsKJGxhbmdbJ2Jvb2thYmxlJ10gPSAnUm9vbXMgY2FuIGJlIGJvb2tlZCBkdXJpbmcgdGhpcyBldmVudD8nOwokbGFuZ1snYm9va2FibGVfYnInXSA9ICdCb29rYWJsZSc7CiRsYW5nWydib29rYWJsZV9ldmVudF9ibG9ja3MnXSA9ICdCb29rYWJsZSBFdmVudCBCbG9ja3MnOwokbGFuZ1snYm9va2VkX2Jsb2NrcyddID0gJ0Jvb2tlZCBCbG9ja3MnOwokbGFuZ1snY2FiaW4nXSA9ICdDYWJpbic7CiRsYW5nWydjYWJpbnMnXSA9ICdDYWJpbnMnOwokbGFuZ1snY2FsY3VsYXRlJ10gPSAnQ2FsY3VsYXRlJzsKJGxhbmdbJ2NhbGN1bGF0ZV9wcmljZSddID0gJ0NhbGN1bGF0ZSBQcmljZSc7CiRsYW5nWydjYWxjdWxhdGVkX3ByaWNlJ10gPSAnQ2FsY3VsYXRlZCBQcmljZSc7CiRsYW5nWydjYWxlbmRhcl9jb25maWcnXSA9ICdBdmFpbGFiaWxpdHkgQ2FsZW5kYXIgU2V0dGluZ3MnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlcic7CiRsYW5nWydjYW5jZWxsZWQnXSA9ICdBbm51bCZlYWN1dGU7JzsKJGxhbmdbJ2NhcGFjaXR5J10gPSAnQ2FwYWNpdCZlYWN1dGU7JzsKJGxhbmdbJ2NhciddID0gJ0Nhcic7CiRsYW5nWydjYXJzJ10gPSAnQ2Fycyc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnQXR0cmlidXRzJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQXR0cmlidXQnOwokbGFuZ1snY2NfbXlzZWxmJ10gPSAnRW52b3llciB1bmUgY29waWUgZGUgY2UgbWVzc2FnZSBkYW5zIG1hIGJvJmljaXJjO3RlIG1haWwnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydjaGVja2luJ10gPSAnQ2hlY2tpbic7CiRsYW5nWydjaGVja2luX3RpbWUnXSA9ICdDaGVja2luIFRpbWUnOwokbGFuZ1snY2hlY2tvdXQnXSA9ICdDaGVja291dCc7CiRsYW5nWydjaGVja291dF90aW1lJ10gPSAnQ2hlY2tvdXQgVGltZSc7CiRsYW5nWydjaGVja19hdmFpbGFiaWxpdHknXSA9ICdWJmVhY3V0ZTtyaWZpZXIgbGEgZGlzcG9uaWJpbGl0JmVhY3V0ZTsnOwokbGFuZ1snY2xvc2VkJ10gPSAnRmVybWVyJzsKJGxhbmdbJ2NvbG9yJ10gPSAnQ291bGV1cic7CiRsYW5nWydjb25maXJtZWQnXSA9ICdDb25maXJtJmVhY3V0ZTsnOwokbGFuZ1snY29uZmlybV9yZXNlcnZhdGlvbiddID0gJ1BsZWFzZSBjaGVjayB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIGZvcm0sIGFuZCBjb25maXJtIHRoYXQgeW91IHdvdWxkIGxpa2UgdG8gY3JlYXRlIHRoaXMgcmVzZXJ2YXRpb24nOwokbGFuZ1snY29uZmxpY3QnXSA9ICdDb25mbGljdCc7CiRsYW5nWydjcmVhdGVfZGF0ZSddID0gJ0NyJmVhY3V0ZTsmZWFjdXRlOyc7CiRsYW5nWydjcmVhdGVfcmVzZXJ2YXRpb24nXSA9ICdDcmVhdGUgYSByZXNlcnZhdGlvbiBmb3IgdGhpcyBzbG90JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDciZlYWN1dGU7JmVhY3V0ZTsnOwokbGFuZ1snY3VycmVuY3lfc3ltYm9sJ10gPSAnQ3VycmVuY3kgU3ltYm9sJzsKJGxhbmdbJ2N1c3RvbWVyJ10gPSAnQ2xpZW50JzsKJGxhbmdbJ2N1c3RvbWVyX2dyb3VwJ10gPSAnR3JvdXBlIGRlIGNsaWVudCc7CiRsYW5nWydjdXN0b21lcl9uYW1lJ10gPSAnTm9tIGR1IGNsaWVudCc7CiRsYW5nWydjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBkJiMwMzk7YWZmaWNoYWdlIGRlcyBjbGllbnRzJzsKJGxhbmdbJ2RhaWx5J10gPSAnRGFpbHknOwokbGFuZ1snZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1snZGF5X3JlcG9ydCddID0gJ0RheSBSZXBvcnQnOwokbGFuZ1snZGF5X3JlcG9ydF9yc3JjJ10gPSAnRGF5IFJlcG9ydCBmb3IgJXMnOwokbGFuZ1snZGF5X3ZpZXcnXSA9ICdEYXkgVmlldyc7CiRsYW5nWydkZWZhdWx0X2dyYW51bGFyaXR5J10gPSAnRGVmYXVsdCBHcmFudWxhcml0eSc7CiRsYW5nWydkZWZhdWx0X3RpbWVfaW50ZXJ2YWwnXSA9ICdEZWZhdWx0IFRpbWUgSW50ZXJ2YWwnOwokbGFuZ1snZGVsZXRlJ10gPSAnRWZmYWNlcic7CiRsYW5nWydkZWxldGVfY2F0ZWdvcnknXSA9ICdFZmZhY2VyIGwmIzAzOTthdHRyaWJ1dCc7CiRsYW5nWydkZWxldGVfY3VzdG9tX2ZpZWxkJ10gPSAnRWZmYWNlciBsZXMgY2hhbXBzIHBlcnNvbm5hbGlzJmVhY3V0ZTtzJzsKJGxhbmdbJ2RlbGV0ZV9ldmVudCddID0gJ0VmZmFjZXIgbCYjMDM5OyZlYWN1dGU7diZlZ3JhdmU7bmVtZW50JzsKJGxhbmdbJ2RlbGV0ZV9ldmVudF90eXBlJ10gPSAnRGVsZXRlIEV2ZW50IFR5cGUnOwokbGFuZ1snZGVwb3NpdF9hbW91bnRzJ10gPSAnRGVzcG9zaXQgQW1vdW50cyc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2RmbHRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnVm90cmUgciZlYWN1dGU7c2VydmF0aW9uIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgY29uZmlybSZlYWN1dGU7ZSc7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RtZW50J10gPSAnRGlzY291bnQgQWRqdXN0bWVudCc7CiRsYW5nWydkaXNjb3VudF9taW5fYmxvY2tzJ10gPSAnTWluaW11bSBudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBmb3IgdGhlIGRpc2NvdW50JzsKJGxhbmdbJ2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0ZyZWUgZGF5cyAobGVhc3QgZXhwZW5zaXZlIGZpcnN0KSc7CiRsYW5nWydkaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdBcHBseSBhIGJ1bGsgYWRqdXN0bWVudCB0byBhbGwgZGF5cyc7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnQWRqdXN0IFByaWNlcyBmb3IgYXBwbGljYWJsZSBkYXlzIG9ubHknOwokbGFuZ1snZGlzY291bnRfdHlwZSddID0gJ0Rpc2NvdW50IFR5cGUnOwokbGFuZ1snZGlzcGxheSddID0gJ0Rpc3BsYXknOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7CiRsYW5nWydlZGl0J10gPSAnTW9kaWZpZXInOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ01vZGlmaWVyIGwmIzAzOTthdHRyaWJ1dCc7CiRsYW5nWydlZGl0X2N1c3RvbV9maWVsZCddID0gJ01vZGlmaWVyIGxlIGNoYW1wcyBwZXJzb25uYWxpcyZlYWN1dGU7JzsKJGxhbmdbJ2VkaXRfZXZlbnQnXSA9ICdNb2RpZmllciBsJiMwMzk7JmVhY3V0ZTt2JmVncmF2ZTtuZW1lbnQnOwokbGFuZ1snZWRpdF9ldmVudF90eXBlJ10gPSAnTW9kaWZpZXIgbGUgdHlwZSBkJiMwMzk7JmVhY3V0ZTt2JmVncmF2ZTtuZW1lbnQnOwokbGFuZ1snZWRpdF9yZXNlcnZhdGlvbiddID0gJ01vZGlmaWVyIGxhIHImZWFjdXRlO3NlcnZhdGlvbic7CiRsYW5nWydlbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ2VuZF9kYXRlJ10gPSAnRGF0ZSBkZSBmaW4nOwokbGFuZ1snZW5kX3RpbWVfMSddID0gJ0VuZCBUaW1lIDEnOwokbGFuZ1snZW5kX3RpbWVfMiddID0gJ0VuZCBUaW1lIDInOwokbGFuZ1snZXJyb3JfY2FsY3VsYXRpb24nXSA9ICdDYWxjdWxhdGlvbiBFcnJvcic7CiRsYW5nWydlcnJvcl9jYW5ub3RfZGVsZXRlX3Jlc291cmNlJ10gPSAnVGhpcyByZXNvdXJjZSBjYW5ub3QgYmUgZGVsZXRlZCBiZWNhdXNlIHRoZXJlIGFyZSBrbm93biByZXNlcnZhdGlvbnMgZm9yIGl0JzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcnJldXIgZGUgbGEgYmFzZSBkZSBkb25uJmVhY3V0ZTtlLCB2ZXVpbGxleiBjb250YWN0ZXIgbCYjMDM5O2FkbWluaXN0cmF0ZXVyJzsKJGxhbmdbJ2Vycm9yX2V2ZW50X2NvbmZsaWN0J10gPSAnQW4gZXhpc3RpbmcgcmVzZXJ2YXRpb24sIG9yIGEgbm9uLWJvb2thYmxlIGV2ZW50IGNvbmZsaWN0cyB3aXRoIHRoZSBkYXRlcyBhbmQgcmVzb3VyY2VzIHNlbGVjdGVkIGZvciB0aGlzIHJlc2VydmF0aW9uLic7CiRsYW5nWydlcnJvcl9maWxlZGVsZXRlJ10gPSAnVW4gcHJvYmwmZWdyYXZlO21lIGVzdCBhcHBhcnUgZW4gc3VwcHJpbWFudCB1biBvdSBwbHVzaWV1cnMgZmljaGllcnMnOwokbGFuZ1snZXJyb3JfaW50ZXJuYWxjb25maWcnXSA9ICdBbiBpbnRlcm5hbCBjb25maWd1cmF0aW9uIGVycm9yIG9jY3VycmVkLiAgUGxlYXNlIGNvbnRhY3QgdGhlIHdlYnNpdGUgYWRtaW5pc3RyYXRvcic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2RhdGVzJ10gPSAnTGVzIGRhdGVzIGVudHImZWFjdXRlO2VzIHNvbnQgaW52YWxpZGVzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfcHJpY2UnXSA9ICdUaGUgcHJpY2UgZW50ZXJlZCBzZWVtcyB0byBiZSBlbXB0eSBvciBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdGltZV9zZXR0aW5ncyddID0gJ1RoZSB0aW1lIHJhbmdlcyBlbnRlcmVkIGFyZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdmFsdWUnXSA9ICdBbiBpbnZhbGlkIHZhbHVlIHdhcyBzcGVjaWZpZWQgZm9yIG9uZSBvciBtb3JlIGZpZWxkcyBvciBwYXJhbWV0ZXJzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcGFyYW1ldGVyJ10gPSAnT25lIG9yIG1vcmUgcmVxdWlyZWQgcGFyYW1ldGVycyBpcyBtaXNzaW5nIG9yIGVtcHR5JzsKJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnUHJvYmwmZWdyYXZlO21lIGxvcnMgZGUgbGEgY3ImZWFjdXRlO2F0aW9uIGRlIGxhIGNhdCZlYWN1dGU7Z29yaWUnOwokbGFuZ1snZXJyb3JfbXVzdF9zZWxlY3QnXSA9ICdWb3VzIGRldmV6IHMmZWFjdXRlO2xlY3Rpb25uZXIgdW4gb3UgcGx1c2lldXJzICVzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzZXMnXSA9ICdDb25maWd1cmF0aW9uIHByb2JsZW0uICBZb3VyIHdlYiBob3N0IGhhcyBub3QgY29uZmlndXJlZCBhbnlib2R5IHRvIGJlIG5vdGlmaWVkIG9mIHRoZXNlIG1lc3NhZ2VzLiAgUGxlYXNlIGNvbnRhY3QgdGhlIHdlYnNpdGUgYWRtaW5pc3RyYXRvciBkaXJlY3RseSc7CiRsYW5nWydlcnJvcl9ub3Rmb3VuZCddID0gJ1RoZSBkYXRhIHNwZWNpZmllZCBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW5fZmV1J10gPSAnWW91IGFyZSBub3QgbG9nZ2VkIGluIHRvIHRoaXMgc2l0ZS4gIFlvdSBtdXN0IGhhdmUgcmVnaXN0ZXJlZCBmb3IgYW4gYWNjb3VudCBiZWZvcmUgbWFraW5nIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snZXJyb3Jfbm9fY3VzdG9tZXJfZW1haWwnXSA9ICdDb3VsZCBub3QgZmluZCBhbiBlbWFpbCBhZGRyZXNzIGZvciB0aGlzIGN1c3RvbWVyJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX3NlbGVjdGVkJ10gPSAnUGxlYXNlIHNlbGVjdCBhIGN1c3RvbWVyIGZyb20gdGhlIGxpc3QnOwokbGFuZ1snZXJyb3Jfbm9fZXZlbnRfdHlwZXMnXSA9ICdObyBFdmVudCBUeXBlcyBEZWZpbmVkJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc2VydmF0aW9ucyddID0gJ05vIHJlc2VydmF0aW9ucyBmb3VuZCBmb3IgdGhlIHNlbGVjdGVkIGRhdGUnOwokbGFuZ1snZXJyb3Jfbm9fcmVzb3VyY2VzJ10gPSAnTm8gJXMgRGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub19yZXNvdXJjZXNfc2VsZWN0ZWQnXSA9ICdQbGVhc2UgZGVmaW5lIG9uZSBvciBtb3JlIHJlc291cmNlcyBhbmQgaW50ZXJ2YWxzIGZvciB0aGlzIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX25vX3VzZXJzX2ZvdW5kJ10gPSAnQ291bGQgbm90IGZpbmQgYW55IHJlZ2lzdGVyZWQgdXNlcnMgZm9yIHlvdXIgc2VsZWN0ZWQgY3VzdG9tZXIgZ3JvdXAnOwokbGFuZ1snZXJyb3JfcGFzdF9kYXRlcyddID0gJ1lvdSBjYW5ub3QgY3JlYXRlIGEgcmVzZXJ2YXRpb24gZm9yIGRhdGVzIGluIHRoZSBwYXN0JzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb24nXSA9ICdZb3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byB2aWV3IHRoaXMgZGF0YSc7CiRsYW5nWydlcnJvcl9yZXNlcnZhdGlvbl9jb25mbGljdCddID0gJ0EgcmVzZXJ2YXRpb24gY29uZmxpY3QgaGFzIGJlZW4gZGV0ZWN0ZWQuJzsKJGxhbmdbJ2Vycm9yX3NlbGVjdF9zdGF0dXMnXSA9ICdQbGVhc2Ugc2VsZWN0IGEgc3RhdHVzIGZvciB0aGlzIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZCddID0gJ0ZpbGUgVXBsb2FkIEVycm9yJzsKJGxhbmdbJ2V2ZW50c19mb3JfcmVzb3VyY2UnXSA9ICdFdmVudHMgZm9yICVzJzsKJGxhbmdbJ2V2ZW50X3R5cGUnXSA9ICdFdmVudCBUeXBlJzsKJGxhbmdbJ2V2ZW50X3R5cGVzJ10gPSAnRXZlbnQgVHlwZXMnOwokbGFuZ1snZXhwaXJlZCddID0gJ0V4cGlyZWQnOwokbGFuZ1snZXh0ZW5kZWRfdXNlX2Rpc2NvdW50cyddID0gJ0V4dGVuZGVkIFVzZSBEaXNjb3VudHMnOwokbGFuZ1snZmV1X3ByZWZlcmVuY2VzJ10gPSAnRnJvbnRFbmRVc2VyIFNldHRpbmdzJzsKJGxhbmdbJ2ZpZWxkcyddID0gJ0NoYW1wcyc7CiRsYW5nWydmaWxlJ10gPSAnRmljaGllcic7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cmUnOwokbGFuZ1snZmlsZV9oYW5kbGluZ19jb25maWcnXSA9ICdGaWxlIEhhbmRsaW5nIENvbmZpZyc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydmb3JlZ3JvdW5kX2NvbG9yJ10gPSAnRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydmcmlkYXknXSA9ICdGcmlkYXknOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQXZhaWxhYmlsaXR5IE1hbmFnZXInOwokbGFuZ1snZnV0dXJlJ10gPSAnQSB2ZW5pcic7CiRsYW5nWydnZW5lcmFsX2NvbmZpZyddID0gJ0NvbmZpZ3VyYXRpb24gZyZlYWN1dGU7biZlYWN1dGU7cmFsZSc7CiRsYW5nWydncm91cCddID0gJ0dyb3VwZSc7CiRsYW5nWydndWVzdCddID0gJ0ludml0JmVhY3V0ZTsnOwokbGFuZ1snaGFsZl9kYXknXSA9ICdIYWxmIERheSc7CiRsYW5nWydoYWxmX2hvdXInXSA9ICdIYWxmIEhvdXInOwokbGFuZ1snaG91cmx5J10gPSAnQ2hhcXVlIGhldXJlJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+UXVlIGZhaXQgY2UgbW9kdWxlID88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBjb21wbGV0ZSBvbmxpbmUgcmVzZXJ2YXRpb24gbWFuYWdlbWVudCBzeXN0ZW0gZm9yIGhvdGVscywgY2FyIHJlbnRhbCBhZ2VuY2llcywgb3IgYW55IG90aGVyIHB1cnBvc2Ugd2hlcmUgcGFydGljdWxhciAmcXVvdDtyZXNvdXJjZXMmcXVvdDsgY2FuIGJlIHJlc2VydmVkIG9uIGEgZGFpbHkgYmFzaXMuPC9wPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBtZWNoYW5pc20gZm9yIGZyb250ZW5kIHVzZXJzIHRvIGNyZWF0ZSBhbmQgbWFuYWdlIHJlc2VydmF0aW9ucywgYW5kIHRvIGNvbnRhY3QgYWRtaW5pc3RyYXRvcnMgd2l0aCBpbmZvcm1hdGlvbiBhbmQgcXVlc3Rpb25zIGFib3V0IHJlc2VydmF0aW9ucy48L3A+DQo8cD5BIGNvbXBsZXRlIGFkbWluIGludGVyZmFjZSBhbGxvd3MgYXV0aG9yaXplZCBhZG1pbmlzdHJhdG9ycyB0byBtYW5hZ2UgcmVzb3VyY2VzLCBldmVudHMsIHJlc2VydmF0aW9ucywgYW5kIGFsbCBhc3BlY3RzIG9mIHRoZSBkaXNwbGF5YWJsZSBpdGVtcy48L3A+DQo8aDM+RmVhdHVyZXM6PC9oMz4NCjx1bD4NCjxsaT5BbGxvd3MgZGVmaW5pbmcgdW5saW1pdGVkIG51bWJlcnMgb2YgcmVzb3VyY2VzLg0KICA8dWw+DQogIDxsaT5BIGJhc2UgZGFpbHkgcHJpY2UgY2FuIGJlIGVudGVyZWQgZm9yIGVhY2ggcmVzb3VyY2UuPC9saT4NCiAgPGxpPlByaWNlIGFkanVzdG1lbnRzIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIGRheSBvZiB0aGUgd2Vlay48L2xpPg0KICA8L3VsPg0KPGxpPg0KPGxpPkFsbG93cyBkZWZpbmluZyBhbiB1bmxpbWl0ZWQgbnVtYmVyIG9mIGN1c3RvbSBmaWVsZHMgdG8gYXNzb2NpYXRlIHdpdGggcmVzb3VyY2VzLjwvbGk+DQo8bGk+QWxsb3dzIGNyZWF0aW5nIGV2ZW50IHR5cGVzIGFuZCBhc3NvY2lhdGluZyB0aGVtIHdpdGggY29sb3JzLjwvbGk+DQo8bGk+U3VwcG9ydHMgY3JlYXRpbmcgZXZlbnRzIGZvciBwYXJ0aWN1bGFyIHJlc291cmNlcyBvdmVyIHBhcnRpY3VsYXIgZGF5czoNCiAgPHVsPg0KICA8bGk+RXZlbnRzIGNhbiBiZSBib29rYWJsZSBvciBub24gYm9va2FibGUsIHRvIGJsb2NrIHJlc2VydmF0aW9ucyBmb3IgdGhvc2UgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCiAgPGxpPmJvb2thYmxlIGV2ZW50cyBjYW4gaGF2ZSBhIHByaWNlIGFkanVzdG1lbnQgdG8gaW5jcmVhc2Ugb3IgZGVjcmVhc2UgdGhlIHByaWNlIG9mIHRoZSBzZWxlY3RlZCByZXNvdXJjZXMgb24gdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQogIDwvdWw+DQo8L2xpPg0KPGxpPlN1cHBvcnRzIGF1dG9tYXRpYyBwcmljZSBjYWxjdWxhdGlvbiBmb3IgcmVzZXJ2YXRpb25zLjwvbGk+DQo8bGk+U3VwcG9ydHMgYXV0b21hdGljIGNvbmZsaWN0IGNoZWNraW5nIHRvIGVuc3VyZSB0aGF0IG5vIHJlc2VydmF0aW9ucyBjYW4gYmUgY3JlYXRlZCBmb3IgcmVzZXJ2ZWQgcmVzb3VyY2VzLCBvciBjbG9zZWQgcmVzb3VyY2VzIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCjwvdWw+DQoNCjxoMz5Db21tZW50ICZjY2VkaWw7YSBtYXJjaGUgPzwvaDM+DQo8cD5UaGUgZmlyc3QgdGhpbmcgeW91IHNob3VsZCBkbyBhZnRlciBpbnN0YWxsbmcgdGhlIG1vZHVsZSBpcyB0byBjcmVhdGUgc29tZSByb29tIGF0dHJpYnV0ZXMsIGFuZCBldmVudCB0eXBlcy4gICBZb3Ugc2hvdWxkIGFsc28gY2hlY2sgdGhlIHByZWZlcmVuY2VzIHRvIGVuc3VyZSB0aGF0IHRoZXkgc2VlbSB0byBiZSBzZXQgY29ycmVjdGx5LiAgWW91IGhhdmUgdGhlIG9wdGlvbiBvZiBjaGFuZ2luZyB0aGUgcmVzb3VyY2UgdHlwZSBpbiB0aGUgcHJlZmVyZW5jZSBmcm9tIHJvb20gdG8gc29tZSBvdGhlciByZXNvdXJjZSB0aGF0IHlvdSBhcmUgbWFuYWdpbmcuICBUaGlzIHdpbGwgY2hhbmdlIHRoZSB2YXJpb3VzIGxhYmVscyBpbiB0aGUgYWRtaW4gc2VjdGlvbiBhbmQgaW4gdGhlIGZyb250ZW5kIGRpc3BsYXkuPC9wPg0KPC9wPk5leHQgeW91IHNob3VsZCBjcmVhdGUgc29tZSByZXNvdXJjZXMgYW5kIGZpbGwgdGhlbSBpbiB3aXRoIGFzIG11Y2ggZGV0YWlsIGFzIHBvc3NpYmxlLiAgWW91IG1heSBhbHNvIHdhbnQgdG8gY3JlYXRlIHNvbWUgZXZlbnRzLCBvciB0byBtYXJrIG9mZiBkYXRlcyB3aGVuIHBhcnRpY3VsYXIgcmVzb3VyY2VzIGFyZSB1bmF2YWlsYWJsZS48L3A+DQo8cD5UbyBkaXNwbGF5IGEgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB5b3Ugc2hvdWxkIGFkZCB0aGUgdGFnIHtBdmFpbGFiaWxpdHl9IGludG8gYSBjb250ZW50IHBhZ2UuPC9wPg0KPHA+VG8gZGlzcGxheSBhIGNhbGVuZGFyIHZpZXcsIHlvdSBjYW4gYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eSBhY3Rpb249Y2FsZW5kYXJ9IHRvIGEgY29udGVudCBwYWdlLiAgVGhpcyB3aWxsIHByb3ZpZGUgYSBzdWZmaWNpZW50IHN5c3RlbSBmb3IgYWxsb3dpbmcgdmlzaXRvcnMgdG8gY3JlYXRlIHJlc2VydmF0aW9ucywgZXRjLjwvcD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfYWN0aW9uJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIGRlc2lyZWQgZm9ybSBvciByZXBvcnQgdG8gZGlzcGxheS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz4NCjx1bD4NCjxsaT5hZGRyZXN2biAtIFRoZSBhZGQvZWRpdCByZXNlcnZhdGlvbiBmb3JtPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBmb3JtIGFsbG93cyBhIHZhbGlkLCBsb2dnZWQgaW4gZnJvbnRlbmQgdXNlciB0byBjcmVhdGUgYSByZXNlcnZhdGlvbiBpbiB0aGUgc3lzdGVtLjwvbGk+DQo8bGk+Y2FsZW5kYXIgLSBUaGUgY2FsZW5kYXIgdmlldzxici8+DQombmJzcDsmbmJzcDstIFRoaXMgdmlldyBkaXNwbGF5cyB0aGUgYXZhaWxhYmlsaXR5IG9mIHNlbGVjdGVkIHJlc291cmNlcyBmb3IgdGhlIGN1cnJlbnQgbW9udGguICBJdCBhbGxvd3MgcGFnaW5hdGluZyBiZXR3ZWVuIGRpZmZlcmVudCBtb250aHMsIHZpZXdpbmcgYSByZXNvdXJjZSBkZXRhaWwgdmlldywgYW5kIHN1cHBsaWVzIGEgbGluayB0aGF0IHdpbGwgYnJpbmcgdXAgdGhlIGFkZHJlc3ZuIGZvcm0gZm9yIHRoZSBzZWxlY3RlZCBkYXRlIGFuZCByZXNvdXJjZS48L2xpPg0KPGxpPmRheXZpZXcgLSBBIHJlcG9ydCBvZiBhY3Rpdml0aWVzIChvciBsYWNrIHRoZXJlb2YpIGZvciBhIHBhcnRpY3VsYXIgZGF5PC9saT4NCjxsaT5kZWZhdWx0ICAtIFRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhIHN1bW1hcnkgcmVwb3J0IG9mIHNlbGVjdGVkIHJlc291cmNlcy48L2xpPg0KPGxpPmRldGFpbCAgICAtIFRoZSByZXNvdXJjZSBkZXRhaWwgdmlldzxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZS48L2xpPg0KPGxpPm15cmVzZXJ2YXRpb24gLSBUaGUgbXlyZXNlcnZhdGlvbnMgcmVwb3J0Ljxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIHJlcG9ydCBhYm91dCBhbGwgb2YgdGhlIHVwY29taW5nIChvcHRpb25hbGx5IHBhc3QgYXMgd2VsbCkgcmVzZXJ2YXRpb25zIGZvciB0aGlzIHBhcnRpY3VsYXIgdXNlci48L2xpPg0KPGxpPnNlYXJjaCAtIFRoZSBzZWFyY2ggZm9ybS48YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSBmb3JtIHRoYXQgYWxsb3dzIHNlYXJjaGluZyBmb3IgcmVzb3VyY2VzIHRoYXQgYXJlIGF2YWlsYWJsZSBiZXR3ZWVuIHRvIHNwZWNpZmllZCBkYXRlcy48L2xpPg0KPGxpPnNlbmRlbWFpbCAtIFRoZSByZXNlcnZhdGlvbiBzZW5kZW1haWwgZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIGZvcm0gdGhhdCBhbGxvd3MgZnJvbnRlbmQgdXNlcnMgdG8gc2VuZCBhbiBlbWFpbCBtZXNzYWdlIHRvIHNpdGUgYWRtaW5pc3RyYXRvcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHNwZWNpZmljIHJlc2VydmF0aW9uLjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfY2FsZW5kYXJ0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyIGRpc3BsYXksIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgY2FsZW5kYXIgdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGdlbmVyYXRpbmcgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF9jYXRlZ29yeSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgY29tbWEgc2VwZXJhdGVkIGxpc3Qgb2YgY2F0ZWdvcnkgbmFtZXMgdG8gdXNlIGZvciBzZWxlY3RpbmcgdGhlIGRhdGEgdG8gZGlzcGxheS4gIFRoaXMgcGFyYW1ldGVyIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHJlc291cmNlcyBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHBfY29uZmlybXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgcmVzZXJ2YXRpb24gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGEgdmlzaXRvciBjcmVhdGVzIGEgcmVzZXJ2YXRpb24gb25saW5lJzsKJGxhbmdbJ2hlbHBfZGF5dGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBkYXkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkYXkgdmlldyB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gZ2VuZXJhdGluZyB0aGUgZGlzcGxheSc7CiRsYW5nWydoZWxwX2RheSddID0gJ1VzZWQgd2l0aCB0aGUgYWRkcmVzdm4gZm9ybSB0byBzcGVjaWZ5IGEgZGVmYXVsdCBkYXkuICBVc2VkIHdpdGggdGhlIGRheXZpZXcgYWN0aW9uIHRvIHNwZWNpZnkgdGhlIHRhcmdldCBkYXknOwokbGFuZ1snaGVscF9kZXRhaWxwYWdlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgY2FsZW5kYXIsIGRlZmF1bHQgKHN1bW1hcnkpLCBhbmQgbXlyZXNlcnZhdGlvbnMgdmlld3MsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGFuIG9wdGlvbmFsIHBhZ2UgZm9yIHZpZXdpbmcgZWl0aGVyIHRoZSByZXNvdXJjZSBkZXRhaWwsIHRoZSByZXNlcnZhdGlvbiBmb3Jtcywgb3IgdGhlIHNlbmQtZW1haWwgZm9ybS4gIElmIHRoaXMgdmFsdWUgaXMgbm90IHNwZWNpZmllZCwgdGhlbiB0aGUgcHJlZmVyZW5jZSBmcm9tIHRoZSBhZG1pbmlzdHJhdGlvbiBjb25zb2xlIHdpbGwgYmUgdXNlZC4gIElmIHRoYXQgaXMgbm90IHNldCwgdGhlbiB0aGUgY3VycmVudCBwYWdlIHdpbGwgYmUgdXNlZC4nOwokbGFuZ1snaGVscF9kZXRhaWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBkZXRhaWwsIGRlZmF1bHQgKHN1bW1hcnkpIGFuZCBteXJlc2VydmF0aW9ucyB2aWV3cyB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRldGFpbCB0ZW1wbGF0ZSB0byB1c2UgZm9yIGFueSBkaXNwbGF5LiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBoYXZlIG5vIGVmZmVjdCBpZiBwcmV0dHkgdXJscyBhcmUgY29uZmlndXJlZC4nOwokbGFuZ1snaGVscF9lbWFpbHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgY2FsZW5kYXIsIG15cmVzZXJ2YXRpb24sIGFuZCBhZGRyZXN2biBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGVtYWlsIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBlbWFpbHMgYXJlIHNlbnQuJzsKJGxhbmdbJ2hlbHBfaW5saW5lJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2V0aGVyIHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggc2hvdWxkIGJlIGRpc3BsYXllZCBpbmxpbmUgKHJlcGxhY2UgdGhlIG9yaWdpbmFsIHRhZyksIG9yIHNob3VsZCByZXBsYWNlIHRoZSBjb250ZW50IGFyZWEgb2YgdGhlIHBhZ2UuICAgVGhpcyBwYXJhbWV0ZXIgaGFzIG5vIGVmZmVjdCBpZiB0aGUgc3VtbWFyeXBhZ2UgcGFyYW1ldGVyIGlzIGFsc28gc3BlY2lmaWVkJzsKJGxhbmdbJ2hlbHBfbW9udGgnXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZGVmYXVsdCBtb250aC4gIFVzZWQgd2l0aCB0aGUgZGF5IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIHRhcmdldCBtb250aCc7CiRsYW5nWydoZWxwX215cmVzdm50ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgbXlyZXNlcnZhdGlvbiB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHRlbXBsYXRlIGZvciB0aGF0IHZpZXcnOwokbGFuZ1snaGVscF9wYWdlbGltaXQnXSA9ICdJbiB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgcmVzb3VyY2VzIHRvIGRpc3BsYXkgb24gZWFjaCBwYWdlJzsKJGxhbmdbJ2hlbHBfcmVzb3VyY2VzJ10gPSAnSW4gdGhlIGNhbGVuZGFyIHZpZXcgdGhpcyBwYXJhbWV0ZXIgYWNjZXB0cyBhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9mIHJlc291cmNlIG5hbWVzIHRvIGRpc3BsYXkuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSBjYXRlZ29yeSBwYXJhbWV0ZXInOwokbGFuZ1snaGVscF9yZXN2bnRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgYWRkcmVzdm4sIGNhbGVuZGFyLCBhbmQgbXlyZXNlcnZhdGlvbnMgYWN0aW9ucywgIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gY3JlYXRpbmcgb3IgZWRpdGluZyBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2hlbHBfcmVzdl9pZCddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBpZCBvZiBhbiBleGlzdGluZyByZXNlcnZhdGlvbiB0byBlZGl0LiAgWW91IHdpbGwgcHJvYmFibHkgbm90IG5lZWQgdG8gdXNlIHRoaXMgcGFyYW1ldGVyIGRpcmVjdGx5JzsKJGxhbmdbJ2hlbHBfcnNyY2lkJ10gPSAnVGhpcyBwYXJhbWV0ZXIgaXMgYWNjZXB0ZWQgYnkgdGhlIGRldGFpbCB0ZW1wbGF0ZSB0byBkaXNwbGF5IGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHJlc291cmNlJzsKJGxhbmdbJ2hlbHBfc2VhcmNodGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc2VhcmNoIHRlbXBsYXRlLic7CiRsYW5nWydoZWxwX3NlbmRlbWFpbHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBteXJlc2VydmF0aW9uIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgdGVtcGxhdGUgZm9yIHRoZSBzZW5kZW1haWwgZm9ybS4gIFRoaXMgcGFyYW1ldGVyIGhhcyBubyBlZmZlY3Qgd2hlbiBwcmV0dHkgdXJscyBhcmUgZW5hYmxlZCc7CiRsYW5nWydoZWxwX3Nob3dhbGwnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBkaXNwbGF5aW5nIGFsbCByZXNlcnZhdGlvbnMsIGluY2x1ZGluZyBwYXN0IHJlc2VydmF0aW9ucy4nOwokbGFuZ1snaGVscF9zb3J0YnknXSA9ICcgDQpBcHBsaWNhYmxlIHRvIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3IGFuZCB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgYWx0ZXJpbmcgdGhlIHNvcnQgb3JkZXIgb2YgZGlzcGxheWVkIGl0ZW1zLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPg0KUmVzb3VyY2Ugc3VtbWFyeSB2aWV3Ojxici8+DQo8dWw+DQogIDxsaT5uYW1lPC9saT4NCiAgPGxpPnByaWNlPC9saT4NCjwvdWw+DQpteWVzZXJ2YXRpb25zIHZpZXc6PGJyLz4NCjx1bD4NCiAgPGxpPnN0YXJ0X2RhdGU8L2xpPg0KICA8bGk+ZW5kX2RhdGU8L2xpPg0KICA8bGk+cHJpY2U8L2xpPg0KICA8bGk+Y3JlYXRlX2RhdGU8L2xpPg0KICA8bGk+bW9kaWZpZWRfZGF0ZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfc29ydG9yZGVyJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3IGFuZCB0aGUgbXlyZXNlcnZhdGlvbnMgdmlldyB0aGlzIHBhcmFtZXRlciBhbGxvd3MgYWx0ZXJpbmcgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIHNlbGVjdGVkIGRhdGEuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+PHVsPjxsaT5hc2MgLSBhc2NlbmRpbmc8L2xpPjxsaT5kZXNjIC0gZGVzY2VuZGluZzwvbGk+PC91bD4nOwokbGFuZ1snaGVscF9zdW1tYXJ5cGFnZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBpZCBvciBhbGlhcyBvZiB0aGUgcGFnZSB0aGF0IHRoZSByZXN1bHRpbmcgc3VtbWFyeSB2aWV3IHNob3VsZCBiZSBvbi4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCwgaW5saW5lIGlzIHNldCB0byBmYWxzZS4nOwokbGFuZ1snaGVscF9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSB2aWV3LCB0aGlzIHBhcmFtdGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc3VtbWFyeSB0ZW1wbGF0ZSB3aWxsIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5JzsKJGxhbmdbJ2hlbHBfeWVhciddID0gJ1VzZWQgd2l0aCB0aGUgYWRkcmVzdm4gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBkZWZhdWx0IHllYXIuIFdoZW4gdXNlZCB3aXRoIHRoZSBkYXl2aWV3IGFjdGlvbiB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgdGFyZ2V0IHllYXIuJzsKJGxhbmdbJ2hpc3RvcmljYWxfY29tcGFyaXNvbiddID0gJ0hpc3RvcmljYWwgQ29tcGFyaXNvbic7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2ltYWdlJ10gPSAnSW1hZ2UnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnSW1hZ2UnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfY29uZmlnJ10gPSAnSW1hZ2UgSGFuZGxpbmcgQ29uZmlnJzsKJGxhbmdbJ2luZm9fYWRkX3VzZXJfYWNjb3VudCddID0gJ0Rpc3BsYXkgYSBmb3JtIGZyb20gdGhlIHVzZXIgbWFuYWdlbWVudCBpbnRlcmZhY2UgdG8gYWxsb3cgYWRkaW5nIGEgbmV3IHVzZXIgYWNjb3VudCc7CiRsYW5nWydpbmZvX2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGFkdmFuY2VkIHNlYXJjaCBmb3JtLCBkaXNwbGF5ZWQgd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbi4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBhZHZhbmNlZCBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMsIGZvciB1c2Ugd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbic7CiRsYW5nWydpbmZvX2FsbG93X25vX3ByaWNlcyddID0gJ1VzZWQgZm9yIGJvb2tpbmcgcmVzb3VyY2VzIHdpdGggbm8gcHJpY2VzIGF0dGFjaGVkJzsKJGxhbmdbJ2luZm9fYnVsa2Rpc2NvdW50X2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuICBJZiBzcGVjaWZ5aW5nIGEgbnVtYmVyIG9mIGZyZWUgZGF5cywgYW4gaW50ZWdlciB2YWx1ZSBpcyBleHBlY3RlZC4nOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBhbmQgZXZlbnRzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gY2FsZW5kYXIgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2NhbGVuZGFyX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjYWxlbmRhciB0ZW1wbGF0ZXMgZm9yIHVzZSBpbiB0aGUgZnJvbnRlbmQgY2FsZW5kYXIgdmlldy4nOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGVtYWlsIHRoYXQgd2lsbCBiZSBzZW50IHRvIHRoZSB1c2VyIHdoZW4gdXNpbmcgdGhpcyB0ZW1wbGF0ZS4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLiAgVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIHNwZWNpYWwgdG8gdGhpcyB0ZW1wbGF0ZTogeyRzdWJqZWN0fSAtIFRoZSBzdWJqZWN0IG9mIHRoZSBlbWFpbCwgeyRib2R5fSAtIFRoZSBib2R5IG9mIHRoZSBlbWFpbCc7CiRsYW5nWydpbmZvX2N1c3RlbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY3VzdG9tZXIgZW1haWwgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBzZW5kaW5nIG1lc3NhZ2VzIHRvIGN1c3RvbWVycyB3aG8gaGF2ZSBib29rZWQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCBwcm9wZXJ0aWVzIHNob3VsZCBiZSBsaXN0ZWQgaW4gdXNlciBsaXN0cy48YnIvPlVzZSB7JHByb3BlcnR5bmFtZX0gdG8gaWRlbnRpZnkgYSBzaW5nbGUgcHJvcGVydHkuPGJyLz5SZWZlciB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgZm9yIHRoZSBsaXN0IG9mIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIGEgcGFydGljdWxhciBncm91cC48YnIvPllvdSBjYW4gYWxzbyB1c2UgdGhlIHskdXNlcm5hbWV9IHRhZyB0byBpbmRpY2F0ZSB0aGUgdXNlcnMgbG9naW4gbmFtZS4nOwokbGFuZ1snaW5mb19kYXlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgYW5kIGV2ZW50cyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGRheSB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBkYXkgdmlldyB0ZW1wbGF0ZXMgZm9yIHVzZSB3aGVuIGNsaWNraW5nIG9uIGFuIGluZGl2aWR1YWwgZGF5IGZyb20gdGhlIGRlZmF1bHQgY2FsZW5kYXIgZGlzcGxheSc7CiRsYW5nWydpbmZvX2RlcG9zaXQnXSA9ICdUaGUgaGlnaGVzdCBhbW91bnQgY2FsY3VsYXRlZCB3aWxsIGJlIHVzZWQgYXMgdGhlIG1pbmltdW0gZGVwb3NpdCBmb3IgZWFjaCByZXNlcnZhdGlvbi4gIERlcG9zaXQgYW1vdW50cyB3aWxsIG5ldmVyIGV4Y2VlZCB0aGUgdG90YWwgcmVzZXJ2YXRpb24gYW1vdW50JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNvdXJjZSBkZXRhaWwgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciBkZXRhaWwgdmlld3Mgb2YgdGhlIHZhcmlvdXMgcmVzb3VyY2VzJzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZGV0YWlsIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19lbWFpbF9zZW50J10gPSAnWW91ciBlbWFpbCBoYXMgYmVlbiBzZW50LiAgUmVjb3JkIG9mIHRoaXMgZW1haWwgaGFzIGFsc28gYmVlbiBhdHRhY2hlZCB0byB0aGUgdHJhbnNhY3Rpb24gZGV0YWlscyBmb3IgZnV0dXJlIHJlZmVyZW5jZSc7CiRsYW5nWydpbmZvX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSBvdXRwdXQgZm9yIHRoZSBNeVJlc2VydmF0aW9ucyByZXBvcnQnOwokbGFuZ1snaW5mb19teXJlc2VydmF0aW9uc190ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgbXlyZXNlcnZhdGlvbnMgdmlldyB0ZW1wbGF0ZXMgZm9yIHVzZSB3aGVuIGFjdGlvbj1teXJlc2VydmF0aW9ucyc7CiRsYW5nWydpbmZvX292ZXJjYXBfYW1vdW50J10gPSAnRGFpbHkgYW1vdW50IHRvIGFkZCAocGVyIHVuaXQpIHRvIHJlc2VydmF0aW9uIHByaWNlLCBmb3IgZWFjaCB1bml0IG92ZXIgdGhlIHN0YXRlZCBjYXBhY2l0eSAoYXBwbGljYWJsZSBvbmx5IGlmIHRoZSBjYXBhY2l0eSBpcyBhIHZhbGlkIHZhbHVlKS4nOwokbGFuZ1snaW5mb19wYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10gPSAnU3BlY2lmeSB0aGUgcGFnZSB0byByZWRpcmVjdCB0byBhdXRvbWF0aWNhbGx5IGlmIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBhY2Nlc3MgdGhlIHJlc2VydmF0aW9ucyBmb3JtIGlmIG5vdCBsb2dnZWQgaW4uJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYyddID0gJ1NwZWNpZnkgdGhlIGxpc3Qgb2YgdXNlcnMgKG9yIGdyb3VwcykgdG8gcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiBlbWFpbC4gIFRoZSBlbWFpbCBhZGRyZXNzIHByb3BlcnR5IGZvciBlYWNoIHNlbGVjdGVkIHVzZXIgbXVzdCBiZSB2YWxpZC4nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIHRvIHJlZGlyZWN0IHRvIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgYSB2aXNpdG9yIGhhcyBjcmVhdGVkIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBlZGl0IHJlc2VydmF0aW9uIHVybHMsIGFuZCBzZW5kIG1lc3NhZ2UgdXJscyc7CiRsYW5nWydpbmZvX3Jlc291cmNlX3R5cGUnXSA9ICdTcGVjaWZ5IHRoZSB0eXBlIG9mIHJlc291cmNlIHlvdSB3aWxsIGJlIG1hbmFnaW5nLiAgaS5lOiAmcXVvdDtyb29tJnF1b3Q7IG9yICZxdW90O2NhciZxdW90OyBldGMuICBUaGlzIHdpbGwgY2hhbmdlIHRoZSBsYWJlbGxpbmcgb2YgdGhlIGVudGlyZSBtb2R1bGUuJzsKJGxhbmdbJ2luZm9fcmVzdm5fdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIHJlc2VydmF0aW9uIGZvcm0uJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlsIG1lc3NhZ2UuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIHJlcG9ydC4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjb25maXJtYXRpb24gZW1haWwgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZW1haWwgbWVzc2FnZSB0aGF0IGlzIHNlbnQgdG8gdGhlIGN1c3RvbWVyIGFmdGVyIGEgc2l0ZSB2aXNpdG9yIGNyZWF0ZXMgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjb25maXJtYXRpb24gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgbWVzc2FnZSBhbmQgZGF0YSB0aGF0IGlzIGRpc3BsYXllZCBhZnRlciBhIHNpdGUgdmlzaXRvciBjcmVhdGVzIG9yIGVkaXRzIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fcmVzdm5fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc2VydmF0aW9uIGZvcm0gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZm9ybSBkaXNwbGF5ZWQgd2hlbiBhZGRpbmcgb3IgZWRpdGluZyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgY29udHJvbHMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHNlbmRlbWFpbCBmb3JtLCB1c2VkIHdoZW4gYSBzaXRlIHZpc2l0b3Igd2FudHMgdG8gc2VuZCBhIG1lc3NhZ2UgdG8gYnVzaW5lc3Mgb3duZXJzIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvciBxdWVzdGlvbnMgYWJvdXQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3NlbmRlbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgc2VuZGVtYWlsIGZvcm0gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZm9ybSBkaXNwbGF5ZWQgd2hlbiBzZW5kaW5nIGFuIGVtYWlsIHJlbGF0ZWQgdG8gYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3NlbmRfbWVzc2FnZSddID0gJ1VzZSB0aGlzIGZvcm0gdG8gcHJvdmlkZSBtb3JlIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB5b3VyIHJlc2VydmF0aW9uIG9yIHRvIGFzayBhbnkgcXVlc3Rpb25zIHJlZ2FyZGluZyB5b3VyIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIHN1bW1hcnkgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc291cmNlIHN1bW1hcnkgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciBzdW1tYXJ5IHZpZXdzIG9mIHRoZSB2YXJpb3VzIHJlc291cmNlcyA8ZW0+KHRoaXMgaXMgdGhlIGRlZmF1bHQgdmlldyk8L2VtPic7CiRsYW5nWydpbmZvX3N5c2RmbHRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBBZHZhbmNlZCBTZWFyY2ggRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBDYWxlbmRhciBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBDdXN0b21lciBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGF5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgRGF5IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc291cmNlIERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfbXlyZXN2X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgJnF1b3Q7TXkgUmVzZXJ2YXRpb25zJnF1b3Q7IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc2VydmF0aW9uIENvbmZpcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBDb25maXJtIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBTZW5kIEVtYWlsIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNvdXJjZSBTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ0FsdGVyaW5nIHRoaXMgdGVtcGxhdGUgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24gYW55IG91dHB1dC4gIFRoaXMgZm9ybSBjb250cm9scyB0aGUgdmFsdWUgb2YgdGhlIHRlbXBsYXRlIHRoYXQgaXMgY3JlYXRlZCB3aGVuIHlvdSBjbGljayAmcXVvdDtOZXcgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4nOwokbGFuZ1snaW5mb192aWV3X3VzZXInXSA9ICdEaXNwbGF5IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgdXNlcic7CiRsYW5nWydpbml0aWFsX3Jlc2VydmF0aW9uX25vdGVzJ10gPSAnSW5pdGlhbCBSZXNlcnZhdGlvbiBOb3Rlcyc7CiRsYW5nWydpbl9wcm9ncmVzcyddID0gJ0luIFByb2dyZXNzJzsKJGxhbmdbJ2tleXdvcmRzJ10gPSAnS2V5d29yZHMnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnTGFzdCBNb2RpZmllZCc7CiRsYW5nWydsZWdlbmQnXSA9ICdMZWdlbmQnOwokbGFuZ1snbGJsX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlcyddID0gJ0FkdmFuY2VkIFNlYXJjaCBGb3JtIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfYmFjayddID0gJ0JhY2snOwokbGFuZ1snbGJsX2NhbGVuZGFyJ10gPSAnQ2FsZW5kYXInOwokbGFuZ1snbGJsX2NhbGVuZGFyX3ZpZXdfdGVtcGxhdGVzJ10gPSAnQ2FsZW5kYXIgVmlldyBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2NhdGVnb3JpZXMnXSA9ICdBdHRyaWJ1dGVzJzsKJGxhbmdbJ2xibF9jdXN0b21lcl9lbWFpbF90ZW1wbGF0ZXMnXSA9ICdDdXN0b21lciBFbWFpbCBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2N1c3RvbV9maWVsZHMnXSA9ICdDdXN0b20gRmllbGRzJzsKJGxhbmdbJ2xibF9kYXlfdmlld190ZW1wbGF0ZXMnXSA9ICdEYXkgVmlldyBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2RlZmF1bHRfdGVtcGxhdGVzJ10gPSAnRGVmYXVsdCBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2RldGFpbF90ZW1wbGF0ZXMnXSA9ICdEZXRhaWwgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9ldmVudHMnXSA9ICdFdiZlZ3JhdmU7bmVtZW50cyc7CiRsYW5nWydsYmxfZXZlbnRfdHlwZXMnXSA9ICdUeXBlcyBkJiMwMzk7JmVhY3V0ZTt2JmVncmF2ZTtuZW1lbnRzJzsKJGxhbmdbJ2xibF9teXJlc2VydmF0aW9uc190ZW1wbGF0ZXMnXSA9ICdNeSBSZXNlcnZhdGlvbnMgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9wcmVmZXJlbmNlcyddID0gJ1ByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9ucyddID0gJ1ImZWFjdXRlO3NlcnZhdGlvbnMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBFbWFpbCBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc291cmNlcyddID0gJ1Jlc291cmNlcyc7CiRsYW5nWydsYmxfc2VuZGVtYWlsX3RlbXBsYXRlcyddID0gJ1NlbmQgRW1haWwgRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnTWFuYWdlIFNldHRpbmdzJzsKJGxhbmdbJ2xibF9zdW1tYXJ5X3RlbXBsYXRlcyddID0gJ1N1bW1hcnkgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdNYW5hZ2UgVGVtcGxhdGVzJzsKJGxhbmdbJ21hbmFnZV9jdXN0b21lcl9jb250YWN0X3Jlc3ZuJ10gPSAnTWFuYWdlIEN1c3RvbWVyIENvbnRhY3QgZm9yIHJlc2VydmF0aW9uJzsKJGxhbmdbJ21hbmFnZXInXSA9ICdNYW5hZ2VyJzsKJGxhbmdbJ21heF9sZW5ndGgnXSA9ICdNYXggTGVuZ3RoJzsKJGxhbmdbJ21lc3NhZ2VfdGVtcGxhdGUnXSA9ICdNZXNzYWdlIFRlbXBsYXRlJzsKJGxhbmdbJ21lc3NhZ2VfdGV4dCddID0gJ01lc3NhZ2UgQm9keSc7CiRsYW5nWydtaW5pbXVtX2RlcG9zaXRfcmVxdWlyZWQnXSA9ICdNaW5pbXVtIERlcG9zaXQgUmVxdWlyZWQnOwokbGFuZ1snbW9kaWZpZWRfZGF0ZSddID0gJ01vZGlmaWVkJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ0EgcmVzb3VyY2UgYW5kIGF2YWlsYWJpbGl0eSBtYW5hZ2VyIGZvciBzY2hlZHVsaW5nIGFuZCByZXNlcnZpbmcgcmVzb3VyY2VzIG9uIGEgZGFpbHkgYmFzaXMnOwokbGFuZ1snbW9uZGF5J10gPSAnTHVuZGknOwokbGFuZ1snbW9udGgnXSA9ICdNb2lzJzsKJGxhbmdbJ21vbnRobGlzdF9icmllZiddID0gJ0phbi9GZXYvTWFyL0F2ci9NYWkvSnVuL0p1bC9BbyZ1Y2lyYzsvU2VwL09jdC9Ob3YvRCZlYWN1dGU7Yyc7CiRsYW5nWydtb3JlJ10gPSAnUGx1cyc7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWyduZXh0J10gPSAnU1VpdmFudCc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm8nXSA9ICdOb24nOwokbGFuZ1snbm9uYm9va2FibGVfYmxvY2tzJ10gPSAnQ2xvc2VkIEJsb2Nrcyc7CiRsYW5nWydub25lJ10gPSAnQXVjdW4nOwokbGFuZ1snbm90ZXMnXSA9ICdOb3Rlcyc7CiRsYW5nWydub3RfYXBwbGljYWJsZSddID0gJ04vQSc7CiRsYW5nWydub3RfY2FsY3VsYXRlZCddID0gJ05vbiBjYWxjdWwmZWFjdXRlOyc7CiRsYW5nWydudW1fcGVvcGxlJ10gPSAnTnVtYmVyIG9mIFBlb3BsZSc7CiRsYW5nWydvY2N1cnMnXSA9ICdPY2N1cnMnOwokbGFuZ1snb2YnXSA9ICdEZSc7CiRsYW5nWydvbmVfaG91ciddID0gJ1VuZSBoZXVyZSc7CiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9ucyc7CiRsYW5nWydvcmRlciddID0gJ09yZHJlJzsKJGxhbmdbJ292ZXJjYXBfYW1vdW50J10gPSAnT3ZlcmNhcGFjaXR5IFByaWNlIEFkanVzdG1lbnQnOwokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ051bWJlciBvZiBJdGVtcyBwZXIgUGFnZSc7CiRsYW5nWydwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10gPSAnUGFnZSB0byByZWRpcmVjdCB0byB3aGVuIG5vdCBsb2dnZWQgaW4nOwokbGFuZ1sncGFydDEnXSA9ICdQYXJ0IDEnOwokbGFuZ1sncGFydGlhbGx5X3Jlc2VydmVkJ10gPSAnUGFydGllbGxlbWVudCByJmVhY3V0ZTtzZXJ2JmVhY3V0ZTsnOwokbGFuZ1sncGFydGlhbGx5X3Jlc2VydmVkX2xibCddID0gJyVzIG9mICVzIHNsb3RzIHJlc2VydmVkJzsKJGxhbmdbJ3Bhc3RfbWVzc2FnZXMnXSA9ICdQYXN0IE1lc3NhZ2VzJzsKJGxhbmdbJ3BlbmRpbmcnXSA9ICdQZW5kaW5nJzsKJGxhbmdbJ3BlcmNlbnRhZ2VfZGVwb3NpdF9yZXF1aXJlZCddID0gJ01pbmltaW11bSBQZXJjZW50YWdlIG9mIHRvdGFsIG9yZGVyIHJlcXVpcmVkIGZvciBhIGRlcG9zaXQgPGVtPihleHByZXNzZWQgaW4gZGVjaW1hbCBmb3JtYXQpPC9lbT4nOwokbGFuZ1sncGVyY2VudF9ib29rZWQnXSA9ICdQZXJjZW50YWdlIEJvb2tlZCc7CiRsYW5nWydQTSddID0gJ1BNJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIEF2YWlsYWJpbGl0eSBtb2R1bGUgaGFzIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuICBQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIGFwcHJvcHJpYXRlIGdyb3VwcyBoYXZlIHRoZSBhcHByb3ByaWF0ZSBwZXJtaXNzaW9ucyB0byBtYW5hZ2UgdGhlIHZhcmlvdXMgYXNwZWN0cyBvZiB0aGlzIG1vZHVsZSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIEF2YWlsYWJpbGl0eSBtb2R1bGUsIGFuZCBhbGwgcmVsYXRlZCBkYXRhIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc3lzdGVtLiAgWW91IGFyZSBub3cgZnJlZSB0byBkZWxldGUgdGhlIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1vZHVsZSc7CiRsYW5nWydwcmV2J10gPSAnUHImZWFjdXRlO2MnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJpeCc7CiRsYW5nWydwcmljZXMnXSA9ICdQcml4JzsKJGxhbmdbJ3ByaWNlX2FkanVzdCddID0gJ0FkanVzdCB0aGUgUHJpY2Ugb2YgZWZmZWN0ZWQgJXMgYnkgdGhpcyBhbW91bnQuPGJyLz48ZW0+KHVzZSBhIGZvcm1hdCBsaWtlICowLjg1IG9yIC0xMyBvciArMjUpPC9lbT4nOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3B1YmxpYyddID0gJ1B1YmxpYyc7CiRsYW5nWydxdWFydGVyX2hvdXInXSA9ICdRdWFydCBkJiMwMzk7aGV1cmUnOwokbGFuZ1sncmVzZXJ2ZWQnXSA9ICdSJmVhY3V0ZTtzZXJ2JmVhY3V0ZTsnOwokbGFuZ1sncmVzZXJ2YXRpb24nXSA9ICdSJmVhY3V0ZTtzZXJ2YXRpb24nOwokbGFuZ1sncmVzZXJ2YXRpb25fYmFja2dyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIEJhY2tncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmxpY3RfYmFja2dyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIENvbmZsaWN0IEJhY2tncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fZGVwb3NpdF9zZXR0aW5ncyddID0gJ1Jlc2VydmF0aW9uIERlcG9zaXQgU2V0dGluZ3MnOwokbGFuZ1sncmVzZXJ2YXRpb25fcGVuZGluZ19iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnUGVuZGluZyBSZXNlcnZhdGlvbiBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpZyddID0gJ1ImZWFjdXRlO2dsYWdlcyBkZXMgciZlYWN1dGU7c2VydmF0aW9uJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfYXR0YWNobWVudCddID0gJ0ZpbGUgdG8gYXR0YWNoIHRvIGFsbCByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWxzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnXSA9ICdDQyB0aGVzZSB1c2VycyBvbiByZXNlcnZhdGlvbiBjb25maXJtYXRpb24nOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9mbGFnJ10gPSAnU2VuZCBhbiBlbWFpbCB0byB0aGUgY3VzdG9tZXIgd2hlbiBhIHJlc2VydmF0aW9uIGlzIGNyZWF0ZWQnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnU3ViamVjdCBvZiByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWxzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1Jlc2VydmF0aW9uIENvbmZpcm0gUGFnZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdCddID0gJ1lvdXIgc2VsZWN0ZWQgJXMgYXJlIG5vdCBhbGwgYXZhaWxhYmxlIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZXMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY3JlYXRlZCddID0gJ1ImZWFjdXRlO3NlcnZhdGlvbiBjciZlYWN1dGU7JmVhY3V0ZTtlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZSddID0gJ1Jlc2VydmF0aW9uIERlZmF1bHQgUGFnZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9kZXRhaWxzJ10gPSAnUmVzZXJ2YXRpb24gRGV0YWlscyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdF9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmxpY3QgRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXRpb24gRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0aWFsX2ZvcmVncm91bmRfY29sb3InXSA9ICdQYXJ0aWFsIEJvb2tpbmcgRm9yZWdyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0aWFsX2JhY2tncm91bmRfY29sb3InXSA9ICdQYXJ0aWFsIEJvb2tpbmcgQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0cyddID0gJ1Jlc2VydmF0aW9uIENvbXBvbmVudHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fcGVuZGluZ19mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUGVuZGluZyBSZXNlcnZhdGlvbiBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX251bSddID0gJ1Jlc2VydmF0aW9uOiAlMDVkJzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVzZXQnOwokbGFuZ1sncmVzb3VyY2UnXSA9ICdSZXNvdXJjZSc7CiRsYW5nWydyZXNvdXJjZXMnXSA9ICdSZXNvdXJjZXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8xJ10gPSAnUmVzZXJ2ZWQgb24gYW4gJXMgYmFzaXMsIG9uICVzIGJvdW5kYXJpZXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8yJ10gPSAnUmVzZXJ2ZWQgb24gYW4gJXMgYmFzaXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8zJ10gPSAnYXZhaWxhYmxlIGZyb20gJXMgdG8gJXMgYW5kIGZyb20gJXMgdG8gJXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV80J10gPSAnY2hlY2tpbiB0aW1lIGlzICVzLCBhbmQgY2hlY2tvdXQgdGltZSBpcyAlcyc7CiRsYW5nWydyZXNvdXJjZV90eXBlJ10gPSAnUmVzb3VyY2UgVHlwZSc7CiRsYW5nWydyb29tJ10gPSAnUGxhY2UnOwokbGFuZ1sncm9vbXMnXSA9ICdQbGFjZXMnOwokbGFuZ1sncmVxdWlyZV9kZXBvc2l0J10gPSAnSXMgYSBkZXBvc2l0IHJlcXVpcmVkPyc7CiRsYW5nWydzYXR1cmRheSddID0gJ1NhdHVyZGF5JzsKJGxhbmdbJ3NjaGVkdWxpbmcnXSA9ICdTY2hlZHVsaW5nJzsKJGxhbmdbJ3NjaGVkdWxpbmdfaW50ZXJ2YWwnXSA9ICdUaGlzIHJlc291cmNlIGlzIGJvb2tlZCc7CiRsYW5nWydzZWFyY2gnXSA9ICdSZWNoZXJjaGUnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1NlbGVjdCBPbmUnOwokbGFuZ1snc2VuZCddID0gJ1NlbmQnOwokbGFuZ1snc2VuZF9lbWFpbCddID0gJ1NlbmQgYW4gRW1haWwnOwokbGFuZ1snc2VudCddID0gJ0Vudm95JmVhY3V0ZTsnOwokbGFuZ1snc3RhcnRfZGF0ZSddID0gJ1N0YXJ0IERhdGUnOwokbGFuZ1snc3RhcnRfdGltZV8xJ10gPSAnU3RhcnQgVGltZSAxJzsKJGxhbmdbJ3N0YXJ0X3RpbWVfMiddID0gJ1N0YXJ0IFRpbWUgMic7CiRsYW5nWydzdGF0aXN0aWNzJ10gPSAnU3RhdGlzdGlxdWVzJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1dCc7CiRsYW5nWydzdGF0dXNfcm9vbXNfYXZhaWxhYmxlJ10gPSAnVGhlICVzIHlvdSBzZWxlY3RlZCBhcmUgYXZhaWxhYmxlIGZvciB0aGVzZSBkYXRlcyc7CiRsYW5nWydzdWJqX3JlX3Jlc3ZuJ10gPSAnUmU6IFJlc2VydmF0aW9uICVzJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdTdWpldCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTb3VtZXR0cmUnOwokbGFuZ1snc3VuZGF5J10gPSAnRGltYW5jaGUnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHQgRmllbGQnOwokbGFuZ1sndGh1cnNkYXknXSA9ICdKZXVkaSc7CiRsYW5nWyd0aXRsZV9jb25mbGljdCddID0gJ0NvbmZsaWN0IEV4aXN0c3xBIGNvbmZsaWN0IGV4aXN0cyBiZXR3ZWVuIHJlc2VydmF0aW9ucyAlMDRkIGFuZCAlMDRkLjxici8+PGJyLz5Nb3JlIGNvbmZsaWN0cyBtYXkgZXhpc3RzIGZvciB0aGlzIGJsb2NrLic7CiRsYW5nWyd0aXRsZV9ncmFwaGluZyddID0gJ1ZpZXcgZ3JhcGhzIGFuZCByZXBvcnRzIG9mIGhpc3RvcmljYWwgZGF0YSc7CiRsYW5nWyd0b3RhbF9ibG9ja3MnXSA9ICdUb3RhbCBCbG9ja3MnOwokbGFuZ1sndHVlc2RheSddID0gJ01hcmRpJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ3VzZV9kYXRlc19pbl9maWx0ZXInXSA9ICdBcHBseSB0aGUgRm9sbG93aW5nIERhdGVzJzsKJGxhbmdbJ3ZhY2FudCddID0gJ1ZhY2FudCc7CiRsYW5nWyd2aWV3J10gPSAnVm9pcic7CiRsYW5nWyd2aWV3X2RheSddID0gJ1ZpZXcgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBkYXknOwokbGFuZ1sndmlld191c2VyJ10gPSAnVmlldyBHdWVzdCBEZXRhaWxzJzsKJGxhbmdbJ3ZpZXdfcnNyY19kZXRhaWxzJ10gPSAnVmlldyBkZXRhaWxzIGZvciB0aGlzICVzJzsKJGxhbmdbJ3dlZG5lc2RheSddID0gJ01lcmNyZWRpJzsKJGxhbmdbJ3dlZWtkYXlfcHJpY2VfYWRqdXN0bWVudHMnXSA9ICdXZWVrZGF5IFByaWNlIEFkanVzdG1lbnRzJzsKJGxhbmdbJ3llYXJfMSddID0gJ0FubiZlYWN1dGU7ZSAxJzsKJGxhbmdbJ3llYXJfMiddID0gJ0FubiZlYWN1dGU7ZSAyJzsKJGxhbmdbJ3llYXJfMyddID0gJ0FubiZlYWN1dGU7ZSAzJzsKJGxhbmdbJ3llcyddID0gJ091aSc7CiRsYW5nWyd5b3VyX25hbWUnXSA9ICdWb3RyZSBub20nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My45ODQ3OTQ5NDAuMTI0OTM4MzI3NS4xMjQ5MzgzMjc1LjEyNDkzODMyNzUuMSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI0OTM4MzI3NSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI0OTM4MzI3Ni4xLjEudXRtY3NyPWdvb2dsZXx1dG1jY249KG9yZ2FuaWMpfHV0bWNtZD1vcmdhbmljfHV0bWN0cj1jbXNtcyc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0FnZ2l1bmdlcmUgdW4gRXZlbnRvIFRpcG8nOwokbGFuZ1snYWN0aW9uX2VkaXRfZXZlbnRfdHlwZSddID0gJ01vZGlmaWNhIHVuIEV2ZW50byBUaXBvJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0F0dGl2byc7CiRsYW5nWydhZGQnXSA9ICdBZ2dpdW5nZXJlJzsKJGxhbmdbJ2FkZF9ub3RlcyddID0gJ0luc2VyaXNjaSBsZSBpbmZvcm1hemlvbmkgcmVsYXRpdmUgYSBxdWVzdGEgcHJlbm90YXppb25lJzsKJGxhbmdbJ2FkZGVkaXRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdBZ2dpdW5nZXJlL01vZGlmaWNhIHVuIGF2YW56YXRvIEZvcm0gVGVtcGxhdGUgZGkgcmljZXJjYSc7CiRsYW5nWydhZGRlZGl0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSB1biBUZW1wbGF0ZSBkaSB2aXN1YWxpenphemlvbmUgQ2FsZW5kYXJpbyc7CiRsYW5nWydhZGRlZGl0X2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ0FnZ2l1bmdlcmUvTW9kaWZpY2EgdW4gVGVtcGxhdGUgRW1haWwgYSBDbGllbnRlJzsKJGxhbmdbJ2FkZGVkaXRfZGF5X3RlbXBsYXRlJ10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSB1biBUZW1wbGF0ZSBWaXN1YWxpenphemlvbmUgR2lvcm5vJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSB1biBUZW1wbGF0ZSBWaXN1YWxpenphemlvbmUgRGV0dGFnbGlvIFJpc29yc2EnOwokbGFuZ1snYWRkZWRpdF9teXJlc2VydmF0aW9uc190ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgTXlSZXNlcnZhdGlvbnMgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBSZXNlcnZhdGlvbiBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzZXJ2YXRpb24gQ29uZmlybWF0aW9uIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0FkZC9FZGl0IGEgUmVzZXJ2YXRpb24gQ29uZmlybWF0aW9uIFRlbXBsYXRlJzsKJGxhbmdbJ2FkZGVkaXRfc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBTZW5kIEVtYWlsIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnQWRkL0VkaXQgYSBSZXNvdXJjZSBTdW1tYXJ5IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snYWRtaW5fbm90ZXMnXSA9ICdOb3RlIEFkbWluJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnQnVsayBkaXNjb3VudCBhZGp1c3RtZW50IG9mICUuMmYgZm9yIGVsaWdpYmxlIGRheXMnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ0J1bGsgZGlzY291bnQgYWRqdXN0bWVudCBvZiAlLjJmIGZvciBhbGwgZGF5cyc7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfZnJlZWJsb2NrJ10gPSAnQnVsayBkaXNjb3VudCBlbGlnaWJsZSBmcmVlIGRheSc7CiRsYW5nWydhZGp1c3RfZXZlbnRfcHJpY2UnXSA9ICdDb3JyZWdnaSBpbCBwcmV6em8gcGVyIGV2ZW50byAlcyBkYSAlcyc7CiRsYW5nWydhZGp1c3Rfb3ZlcmNhcGFjaXR5J10gPSAnQ29ycmVnZ2kgaWwgcHJlenpvIHBlciAlZCBwZXJzb25lIGV4dHJhIGRhICUuMmYnOwokbGFuZ1snYWRqdXN0X3dlZWtkYXlfcHJpY2UnXSA9ICdDb3JyZWdnaSBpbCBwcmV6em8gcGVyIGdpb3JubyBkZWxsYSBzZXR0aW1hbmEgJXMgZGEgJXMnOwokbGFuZ1snYWRkX2NhdGVnb3J5J10gPSAnQWdnaXVuZ2VyZSBhdHRyaWJ1dG8nOwokbGFuZ1snYWRkX2N1c3RvbV9maWVsZCddID0gJ0FnZ2l1bmdlcmUgdW4gY2FtcG8gcGVyc29uYWxlJzsKJGxhbmdbJ2FkZF9ldmVudCddID0gJ0FnZ2l1bmdlcmUgdW4gRXZlbnRvJzsKJGxhbmdbJ2FkZF9ldmVudF90eXBlJ10gPSAnQWdnaXVuZ2VyZSB1biBFdmVudG8gVGlwbyc7CiRsYW5nWydhZGRfcmVzZXJ2YXRpb24nXSA9ICdBZ2dpdW5nZXJlIHVuYSBudW92YSBQcmVub3RhemlvbmUnOwokbGFuZ1snYWRkX3VzZXJfYWNjb3VudCddID0gJ0FnZ2l1bmdlcmUgdW4gQWNjb3VudCB1dGVudGUnOwokbGFuZ1snYWxsJ10gPSAnVHV0dGknOwokbGFuZ1snYWxsb3dlZF9maWxlX3R5cGVzJ10gPSAnVGlwaSBkaSBGaWxlIHBlcm1lc3NpJzsKJGxhbmdbJ2FsbG93ZWRfaW1hZ2VfdHlwZXMnXSA9ICdUaXBpIGRpIEltbWFnaW5lIHBlcm1lc3NlJzsKJGxhbmdbJ2FsbG93X25vX3ByaWNlcyddID0gJ0Vycm9yIG9uIG5vIHByaWNlJzsKJGxhbmdbJ2FueSddID0gJ0FueSc7CiRsYW5nWydhcHBseSddID0gJ0FwcGxpY2EnOwokbGFuZ1snYXNrX2RlbGV0ZV9ldmVudCddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gcGVybWFuZW50bHkgcmVtb3ZlIHRoaXMgZXZlbnQ/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzZXJ2YXRpb24nXSA9ICdBcmUgeW91IHN1cmUgeW91IHJlYWxseSB3YW50IHRvIHBlcm1hbmVudGx5IHJlbW92ZSB0aGlzIHJlc2VydmF0aW9uIGZyb20geW91ciBzeXN0ZW0nOwokbGFuZ1snYXNrX2RlbGV0ZV9yZXNvdXJjZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gcGVybWFuZW50bHkgcmVtb3ZlIHRoaXMgcmVzb3VyY2U/JzsKJGxhbmdbJ2Fza19yZWFsbHlfdW5pbnN0YWxsJ10gPSAnQXJlIHlvdSByZWFsbHkgc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgdGhpcyBtb2R1bGU/ICBDb250aW51aW5nIHdpbGwgcmVzdWx0IGluIGEgbG9zcyBvZiBhbGwgZGF0YSByZWxhdGVkIHRvIHRoZSBtb2R1bGUuJzsKJGxhbmdbJ2F0dGFjaG1lbnQnXSA9ICdBbGxlZ2F0byc7CiRsYW5nWydhdHRhY2htZW50X2RpciddID0gJ0RpcmVjdG9yeSB0byBzZWFyY2ggZm9yIGF0dGFjaG1lbnRzJzsKJGxhbmdbJ2F0dHJpYnV0ZXMnXSA9ICdBdHRyaWJ1dGknOwokbGFuZ1snYXV0b19nZW5lcmF0ZV90aHVtYm5haWxzJ10gPSAnQXV0byBHZW5lcmF0ZSBUaHVtYm5haWxzJzsKJGxhbmdbJ2F2YWlsYWJsZSddID0gJ0F2YWlsYWJsZSc7CiRsYW5nWydiYWNrZ3JvdW5kX2NvbG9yJ10gPSAnQ29sb3JlIHNvdHRvZm9uZG8nOwokbGFuZ1snYmFzZV9wcmljZSddID0gJ1ByZXp6byBkaSBiYXNlJzsKJGxhbmdbJ2Jhc2ljX3ByaWNpbmcnXSA9ICdCYXNpYyBQcmljaW5nJzsKJGxhbmdbJ2Jvb2thYmxlJ10gPSAnUm9vbXMgY2FuIGJlIGJvb2tlZCBkdXJpbmcgdGhpcyBldmVudD8nOwokbGFuZ1snYm9va2FibGVfYnInXSA9ICdCb29rYWJsZSc7CiRsYW5nWydib29rYWJsZV9ldmVudF9ibG9ja3MnXSA9ICdCb29rYWJsZSBFdmVudCBCbG9ja3MnOwokbGFuZ1snYm9va2VkX2Jsb2NrcyddID0gJ0Jvb2tlZCBCbG9ja3MnOwokbGFuZ1snY2FiaW4nXSA9ICdDYWJpbmEnOwokbGFuZ1snY2FiaW5zJ10gPSAnQ2FiaW5lJzsKJGxhbmdbJ2NhbGN1bGF0ZSddID0gJ0NhbGNvbGEnOwokbGFuZ1snY2FsY3VsYXRlX3ByaWNlJ10gPSAnUHJlenpvIGNhbGNvbGF0byc7CiRsYW5nWydjYWxlbmRhcl9jb25maWcnXSA9ICdBdmFpbGFiaWxpdHkgQ2FsZW5kYXIgU2V0dGluZ3MnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsbGEnOwokbGFuZ1snY2FuY2VsbGVkJ10gPSAnQ2FuY2VsbGVkJzsKJGxhbmdbJ2NhcGFjaXR5J10gPSAnQ2FwYWNpdHknOwokbGFuZ1snY2FyJ10gPSAnTWFjY2hpbmEnOwokbGFuZ1snY2FycyddID0gJ01hY2NoaW5lJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdBdHRyaWJ1dGknOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdBdHRyaWJ1dG8nOwokbGFuZ1snY2NfbXlzZWxmJ10gPSAnU2VuZCBhIGNvcHkgb2YgdGhpcyBtZXNzYWdlIHRvIG15IGVtYWlsIGJveCc7CiRsYW5nWydjaGVja2JveCddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ2NoZWNraW4nXSA9ICdDaGVja2luJzsKJGxhbmdbJ2NoZWNraW5fdGltZSddID0gJ0NoZWNraW4gVGltZSc7CiRsYW5nWydjaGVja291dCddID0gJ0NoZWNrb3V0JzsKJGxhbmdbJ2NoZWNrb3V0X3RpbWUnXSA9ICdDaGVja291dCBUaW1lJzsKJGxhbmdbJ2NoZWNrX2F2YWlsYWJpbGl0eSddID0gJ0NoZWNrIEF2YWlsYWJpbGl0eSc7CiRsYW5nWydjbG9zZWQnXSA9ICdDaGl1c28nOwokbGFuZ1snY29sb3InXSA9ICdDb2xvcmUnOwokbGFuZ1snY29uZmlybWVkJ10gPSAnQ29uZmVybWF0byc7CiRsYW5nWydjb25maXJtX3Jlc2VydmF0aW9uJ10gPSAnUGxlYXNlIGNoZWNrIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgZm9ybSwgYW5kIGNvbmZpcm0gdGhhdCB5b3Ugd291bGQgbGlrZSB0byBjcmVhdGUgdGhpcyByZXNlcnZhdGlvbic7CiRsYW5nWydjb25mbGljdCddID0gJ0NvbmZsaXR0byc7CiRsYW5nWydjcmVhdGVfZGF0ZSddID0gJ0NyZWF0byc7CiRsYW5nWydjcmVhdGVfcmVzZXJ2YXRpb24nXSA9ICdDcmVhIHVuYSBQcmVub3RhemlvbmUgcGVyIHF1ZXN0byBzbG90JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDcmVhdG8nOwokbGFuZ1snY3VycmVuY3lfc3ltYm9sJ10gPSAnU2ltYm9sbyBjb3JyZW50ZSc7CiRsYW5nWydjdXN0b21lciddID0gJ0N1c3RvbWVyJzsKJGxhbmdbJ2N1c3RvbWVyX2dyb3VwJ10gPSAnQ3VzdG9tZXIgR3JvdXAnOwokbGFuZ1snY3VzdG9tZXJfbmFtZSddID0gJ0N1c3RvbWVyIE5hbWUnOwokbGFuZ1snY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZSddID0gJ0N1c3RvbWVyIERpc3BsYXkgVGVtcGxhdGUnOwokbGFuZ1snZGF0ZSddID0gJ0RhdGEnOwokbGFuZ1snZGF5X3JlcG9ydCddID0gJ1JlcG9ydCBHaW9ybmFsaWVybyc7CiRsYW5nWydkYXlfcmVwb3J0X3JzcmMnXSA9ICdEYXkgUmVwb3J0IGZvciAlcyc7CiRsYW5nWydkYXlfdmlldyddID0gJ1Zpc3VhbGl6emF6aW9uZSBHaW9ybm8nOwokbGFuZ1snZGVsZXRlJ10gPSAnQ2FuY2VsbGEnOwokbGFuZ1snZGVsZXRlX2NhdGVnb3J5J10gPSAnQ2FuY2VsbGEgYXR0cmlidXRvJzsKJGxhbmdbJ2RlbGV0ZV9jdXN0b21fZmllbGQnXSA9ICdEZWxldGUgQ3VzdG9tIEZpZWxkJzsKJGxhbmdbJ2RlbGV0ZV9ldmVudCddID0gJ0NhbmNlbGxhIEV2ZW50byc7CiRsYW5nWydkZWxldGVfZXZlbnRfdHlwZSddID0gJ0NhbmNlbGxhIEV2ZW50byBUaXBvJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpemlvbmUnOwokbGFuZ1snZGZsdF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSA9ICdZb3VyIFJlc2VydmF0aW9uIGhhcyBiZWVuIGNvbmZpcm1lZCc7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RtZW50J10gPSAnRGlzY291bnQgQWRqdXN0bWVudCc7CiRsYW5nWydkaXNjb3VudF9taW5fYmxvY2tzJ10gPSAnTWluaW11bSBudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBmb3IgdGhlIGRpc2NvdW50JzsKJGxhbmdbJ2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0ZyZWUgZGF5cyAobGVhc3QgZXhwZW5zaXZlIGZpcnN0KSc7CiRsYW5nWydkaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdBcHBseSBhIGJ1bGsgYWRqdXN0bWVudCB0byBhbGwgZGF5cyc7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnQWRqdXN0IFByaWNlcyBmb3IgYXBwbGljYWJsZSBkYXlzIG9ubHknOwokbGFuZ1snZGlzY291bnRfdHlwZSddID0gJ0Rpc2NvdW50IFR5cGUnOwokbGFuZ1snZGlzcGxheSddID0gJ1Zpc3VhbGl6emEnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdUZW5kaW5hJzsKJGxhbmdbJ2VkaXQnXSA9ICdNb2RpZmljYSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnTW9kaWZpY2EgYXR0cmlidXRvJzsKJGxhbmdbJ2VkaXRfY3VzdG9tX2ZpZWxkJ10gPSAnRWRpdCBDdXN0b20gRmllbGQnOwokbGFuZ1snZWRpdF9ldmVudCddID0gJ01vZGlmaWNhIEV2ZW50byc7CiRsYW5nWydlZGl0X2V2ZW50X3R5cGUnXSA9ICdNb2RpZmljYSBFdmVudG8gVGlwbyc7CiRsYW5nWydlZGl0X3Jlc2VydmF0aW9uJ10gPSAnTW9kaWZpY2EgUHJlbm90YXppb25lJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1snZW5kX2RhdGUnXSA9ICdEYXRhIGZpbmUnOwokbGFuZ1snZXJyb3JfY2FsY3VsYXRpb24nXSA9ICdFcnJvcmUgZGkgY2FsY29sbyc7CiRsYW5nWydlcnJvcl9jYW5ub3RfZGVsZXRlX3Jlc291cmNlJ10gPSAnVGhpcyByZXNvdXJjZSBjYW5ub3QgYmUgZGVsZXRlZCBiZWNhdXNlIHRoZXJlIGFyZSBrbm93biByZXNlcnZhdGlvbnMgZm9yIGl0JzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZSBlcnJvciwgcGxlYXNlIGNvbnRhY3QgdGhlIGFkbWluaXN0cmF0b3InOwokbGFuZ1snZXJyb3JfZXZlbnRfY29uZmxpY3QnXSA9ICdBbiBub24tYm9va2FibGUgZXZlbnQgY29uZmxpY3Qgd2FzIGRldGVjdGVkIGZvciB0aGlzIHJlc2VydmF0aW9uLic7CiRsYW5nWydlcnJvcl9maWxlZGVsZXRlJ10gPSAnQSBwcm9ibGVtIG9jY3VycmVkIGRlbGV0aW5nIG9uZSBvciBtb3JlIGZpbGVzJzsKJGxhbmdbJ2Vycm9yX2ludGVybmFsY29uZmlnJ10gPSAnQW4gaW50ZXJuYWwgY29uZmlndXJhdGlvbiBlcnJvciBvY2N1cnJlZC4gIFBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIGFkbWluaXN0cmF0b3InOwokbGFuZ1snZXJyb3JfaW52YWxpZF9kYXRlcyddID0gJ1lvdSBoYXZlIGVudGVyZWQgaW52YWxpZCBkYXRlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ByaWNlJ10gPSAnVGhlIHByaWNlIGVudGVyZWQgc2VlbXMgdG8gYmUgZW1wdHkgb3IgaW52YWxpZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ZhbHVlJ10gPSAnQW4gaW52YWxpZCB2YWx1ZSB3YXMgc3BlY2lmaWVkIGZvciBvbmUgb3IgbW9yZSBmaWVsZHMgb3IgcGFyYW1ldGVycyc7CiRsYW5nWydlcnJvcl9taXNzaW5nX3BhcmFtZXRlciddID0gJ09uZSBvciBtb3JlIHJlcXVpcmVkIHBhcmFtZXRlcnMgaXMgbWlzc2luZyBvciBlbXB0eSc7CiRsYW5nWydlcnJvcl9ta2RpciddID0gJ1Byb2JsZW0gY3JlYXRpbmcgZGlyZWN0b3J5JzsKJGxhbmdbJ2Vycm9yX211c3Rfc2VsZWN0J10gPSAnWW91IG11c3Qgc2VsZWN0IG9uZSBvciBtb3JlICVzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzZXMnXSA9ICdDb25maWd1cmF0aW9uIHByb2JsZW0uICBZb3VyIHdlYiBob3N0IGhhcyBub3QgY29uZmlndXJlZCBhbnlib2R5IHRvIGJlIG5vdGlmaWVkIG9mIHRoZXNlIG1lc3NhZ2VzLiAgUGxlYXNlIGNvbnRhY3QgdGhlIHdlYnNpdGUgYWRtaW5pc3RyYXRvciBkaXJlY3RseSc7CiRsYW5nWydlcnJvcl9ub3Rmb3VuZCddID0gJ1RoZSBkYXRhIHNwZWNpZmllZCBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW5fZmV1J10gPSAnWW91IGFyZSBub3QgbG9nZ2VkIGluIHRvIHRoaXMgc2l0ZS4gIFlvdSBtdXN0IGhhdmUgcmVnaXN0ZXJlZCBmb3IgYW4gYWNjb3VudCBiZWZvcmUgbWFraW5nIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snZXJyb3Jfbm9fY3VzdG9tZXJfZW1haWwnXSA9ICdDb3VsZCBub3QgZmluZCBhbiBlbWFpbCBhZGRyZXNzIGZvciB0aGlzIGN1c3RvbWVyJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX3NlbGVjdGVkJ10gPSAnUGxlYXNlIHNlbGVjdCBhIGN1c3RvbWVyIGZyb20gdGhlIGxpc3QnOwokbGFuZ1snZXJyb3Jfbm9fZXZlbnRfdHlwZXMnXSA9ICdObyBFdmVudCBUeXBlcyBEZWZpbmVkJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc2VydmF0aW9ucyddID0gJ05vIHJlc2VydmF0aW9ucyBmb3VuZCBmb3IgdGhlIHNlbGVjdGVkIGRhdGUnOwokbGFuZ1snZXJyb3Jfbm9fcmVzb3VyY2VzJ10gPSAnTm8gJXMgRGVmaW5lZCc7CiRsYW5nWydlcnJvcl9ub191c2Vyc19mb3VuZCddID0gJ0NvdWxkIG5vdCBmaW5kIGFueSByZWdpc3RlcmVkIHVzZXJzIGZvciB5b3VyIHNlbGVjdGVkIGN1c3RvbWVyIGdyb3VwJzsKJGxhbmdbJ2Vycm9yX3Bhc3RfZGF0ZXMnXSA9ICdZb3UgY2Fubm90IGNyZWF0ZSBhIHJlc2VydmF0aW9uIGZvciBkYXRlcyBpbiB0aGUgcGFzdCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uJ10gPSAnWW91IGRvIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gdmlldyB0aGlzIGRhdGEnOwokbGFuZ1snZXJyb3JfcmVzZXJ2YXRpb25fY29uZmxpY3QnXSA9ICdBIHJlc2VydmF0aW9uIGNvbmZsaWN0IGhhcyBiZWVuIGRldGVjdGVkLic7CiRsYW5nWydlcnJvcl9zZWxlY3Rfc3RhdHVzJ10gPSAnUGxlYXNlIHNlbGVjdCBhIHN0YXR1cyBmb3IgdGhpcyByZXNlcnZhdGlvbic7CiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdGaWxlIFVwbG9hZCBFcnJvcic7CiRsYW5nWydldmVudHNfZm9yX3Jlc291cmNlJ10gPSAnRXZlbnRzIGZvciAlcyc7CiRsYW5nWydldmVudF90eXBlJ10gPSAnRXZlbnQgVHlwZSc7CiRsYW5nWydldmVudF90eXBlcyddID0gJ0V2ZW50IFR5cGVzJzsKJGxhbmdbJ2V4cGlyZWQnXSA9ICdFeHBpcmVkJzsKJGxhbmdbJ2V4dGVuZGVkX3VzZV9kaXNjb3VudHMnXSA9ICdFeHRlbmRlZCBVc2UgRGlzY291bnRzJzsKJGxhbmdbJ2ZldV9wcmVmZXJlbmNlcyddID0gJ0Zyb250RW5kVXNlciBTZXR0aW5ncyc7CiRsYW5nWydmaWVsZHMnXSA9ICdGaWVsZHMnOwokbGFuZ1snZmlsZSddID0gJ0ZpbGUnOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ2ZpbGVfaGFuZGxpbmdfY29uZmlnJ10gPSAnRmlsZSBIYW5kbGluZyBDb25maWcnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snZm9yZWdyb3VuZF9jb2xvciddID0gJ0ZvcmVncm91bmQgQ29sb3InOwokbGFuZ1snZnJpZGF5J10gPSAnRnJpZGF5JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0F2YWlsYWJpbGl0eSBNYW5hZ2VyJzsKJGxhbmdbJ2Z1dHVyZSddID0gJ1VwY29taW5nJzsKJGxhbmdbJ2dlbmVyYWxfY29uZmlnJ10gPSAnR2VuZXJhbCBDb25maWd1cmF0aW9uJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3JvdXAnOwokbGFuZ1snZ3Vlc3QnXSA9ICdHdWVzdCc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIGNvbXBsZXRlIG9ubGluZSByZXNlcnZhdGlvbiBtYW5hZ2VtZW50IHN5c3RlbSBmb3IgaG90ZWxzLCBjYXIgcmVudGFsIGFnZW5jaWVzLCBvciBhbnkgb3RoZXIgcHVycG9zZSB3aGVyZSBwYXJ0aWN1bGFyICZxdW90O3Jlc291cmNlcyZxdW90OyBjYW4gYmUgcmVzZXJ2ZWQgb24gYSBkYWlseSBiYXNpcy48L3A+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIG1lY2hhbmlzbSBmb3IgZnJvbnRlbmQgdXNlcnMgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgcmVzZXJ2YXRpb25zLCBhbmQgdG8gY29udGFjdCBhZG1pbmlzdHJhdG9ycyB3aXRoIGluZm9ybWF0aW9uIGFuZCBxdWVzdGlvbnMgYWJvdXQgcmVzZXJ2YXRpb25zLjwvcD4NCjxwPkEgY29tcGxldGUgYWRtaW4gaW50ZXJmYWNlIGFsbG93cyBhdXRob3JpemVkIGFkbWluaXN0cmF0b3JzIHRvIG1hbmFnZSByZXNvdXJjZXMsIGV2ZW50cywgcmVzZXJ2YXRpb25zLCBhbmQgYWxsIGFzcGVjdHMgb2YgdGhlIGRpc3BsYXlhYmxlIGl0ZW1zLjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KPGxpPkFsbG93cyBkZWZpbmluZyB1bmxpbWl0ZWQgbnVtYmVycyBvZiByZXNvdXJjZXMuDQogIDx1bD4NCiAgPGxpPkEgYmFzZSBkYWlseSBwcmljZSBjYW4gYmUgZW50ZXJlZCBmb3IgZWFjaCByZXNvdXJjZS48L2xpPg0KICA8bGk+UHJpY2UgYWRqdXN0bWVudHMgY2FuIGJlIGVudGVyZWQgZm9yIGVhY2ggZGF5IG9mIHRoZSB3ZWVrLjwvbGk+DQogIDwvdWw+DQo8bGk+DQo8bGk+QWxsb3dzIGRlZmluaW5nIGFuIHVubGltaXRlZCBudW1iZXIgb2YgY3VzdG9tIGZpZWxkcyB0byBhc3NvY2lhdGUgd2l0aCByZXNvdXJjZXMuPC9saT4NCjxsaT5BbGxvd3MgY3JlYXRpbmcgZXZlbnQgdHlwZXMgYW5kIGFzc29jaWF0aW5nIHRoZW0gd2l0aCBjb2xvcnMuPC9saT4NCjxsaT5TdXBwb3J0cyBjcmVhdGluZyBldmVudHMgZm9yIHBhcnRpY3VsYXIgcmVzb3VyY2VzIG92ZXIgcGFydGljdWxhciBkYXlzOg0KICA8dWw+DQogIDxsaT5FdmVudHMgY2FuIGJlIGJvb2thYmxlIG9yIG5vbiBib29rYWJsZSwgdG8gYmxvY2sgcmVzZXJ2YXRpb25zIGZvciB0aG9zZSByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KICA8bGk+Ym9va2FibGUgZXZlbnRzIGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudCB0byBpbmNyZWFzZSBvciBkZWNyZWFzZSB0aGUgcHJpY2Ugb2YgdGhlIHNlbGVjdGVkIHJlc291cmNlcyBvbiB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCiAgPC91bD4NCjwvbGk+DQo8bGk+U3VwcG9ydHMgYXV0b21hdGljIHByaWNlIGNhbGN1bGF0aW9uIGZvciByZXNlcnZhdGlvbnMuPC9saT4NCjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgY29uZmxpY3QgY2hlY2tpbmcgdG8gZW5zdXJlIHRoYXQgbm8gcmVzZXJ2YXRpb25zIGNhbiBiZSBjcmVhdGVkIGZvciByZXNlcnZlZCByZXNvdXJjZXMsIG9yIGNsb3NlZCByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KPC91bD4NCg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgZG8gYWZ0ZXIgaW5zdGFsbG5nIHRoZSBtb2R1bGUgaXMgdG8gY3JlYXRlIHNvbWUgcm9vbSBhdHRyaWJ1dGVzLCBhbmQgZXZlbnQgdHlwZXMuICAgWW91IHNob3VsZCBhbHNvIGNoZWNrIHRoZSBwcmVmZXJlbmNlcyB0byBlbnN1cmUgdGhhdCB0aGV5IHNlZW0gdG8gYmUgc2V0IGNvcnJlY3RseS4gIFlvdSBoYXZlIHRoZSBvcHRpb24gb2YgY2hhbmdpbmcgdGhlIHJlc291cmNlIHR5cGUgaW4gdGhlIHByZWZlcmVuY2UgZnJvbSByb29tIHRvIHNvbWUgb3RoZXIgcmVzb3VyY2UgdGhhdCB5b3UgYXJlIG1hbmFnaW5nLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgdmFyaW91cyBsYWJlbHMgaW4gdGhlIGFkbWluIHNlY3Rpb24gYW5kIGluIHRoZSBmcm9udGVuZCBkaXNwbGF5LjwvcD4NCjwvcD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgcmVzb3VyY2VzIGFuZCBmaWxsIHRoZW0gaW4gd2l0aCBhcyBtdWNoIGRldGFpbCBhcyBwb3NzaWJsZS4gIFlvdSBtYXkgYWxzbyB3YW50IHRvIGNyZWF0ZSBzb21lIGV2ZW50cywgb3IgdG8gbWFyayBvZmYgZGF0ZXMgd2hlbiBwYXJ0aWN1bGFyIHJlc291cmNlcyBhcmUgdW5hdmFpbGFibGUuPC9wPg0KPHA+VG8gZGlzcGxheSBhIHJlc291cmNlIHN1bW1hcnkgdmlldywgeW91IHNob3VsZCBhZGQgdGhlIHRhZyB7QXZhaWxhYmlsaXR5fSBpbnRvIGEgY29udGVudCBwYWdlLjwvcD4NCjxwPlRvIGRpc3BsYXkgYSBjYWxlbmRhciB2aWV3LCB5b3UgY2FuIGFkZCB0aGUgdGFnIHtBdmFpbGFiaWxpdHkgYWN0aW9uPWNhbGVuZGFyfSB0byBhIGNvbnRlbnQgcGFnZS4gIFRoaXMgd2lsbCBwcm92aWRlIGEgc3VmZmljaWVudCBzeXN0ZW0gZm9yIGFsbG93aW5nIHZpc2l0b3JzIHRvIGNyZWF0ZSByZXNlcnZhdGlvbnMsIGV0Yy48L3A+DQoNCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoZWxwX2FjdGlvbiddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIGZvcm0gb3IgcmVwb3J0IHRvIGRpc3BsYXkuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+DQo8dWw+DQo8bGk+YWRkcmVzdm4gLSBUaGUgYWRkL2VkaXQgcmVzZXJ2YXRpb24gZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgZm9ybSBhbGxvd3MgYSB2YWxpZCwgbG9nZ2VkIGluIGZyb250ZW5kIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gaW4gdGhlIHN5c3RlbS48L2xpPg0KPGxpPmNhbGVuZGFyIC0gVGhlIGNhbGVuZGFyIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIHZpZXcgZGlzcGxheXMgdGhlIGF2YWlsYWJpbGl0eSBvZiBzZWxlY3RlZCByZXNvdXJjZXMgZm9yIHRoZSBjdXJyZW50IG1vbnRoLiAgSXQgYWxsb3dzIHBhZ2luYXRpbmcgYmV0d2VlbiBkaWZmZXJlbnQgbW9udGhzLCB2aWV3aW5nIGEgcmVzb3VyY2UgZGV0YWlsIHZpZXcsIGFuZCBzdXBwbGllcyBhIGxpbmsgdGhhdCB3aWxsIGJyaW5nIHVwIHRoZSBhZGRyZXN2biBmb3JtIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZSBhbmQgcmVzb3VyY2UuPC9saT4NCjxsaT5kZWZhdWx0ICAtIFRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhIHN1bW1hcnkgcmVwb3J0IG9mIHNlbGVjdGVkIHJlc291cmNlcy48L2xpPg0KPGxpPmRldGFpbCAgICAtIFRoZSByZXNvdXJjZSBkZXRhaWwgdmlldzxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyByZXNvdXJjZS48L2xpPg0KPGxpPm15cmVzZXJ2YXRpb24gLSBUaGUgbXlyZXNlcnZhdGlvbnMgcmVwb3J0Ljxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIHJlcG9ydCBhYm91dCBhbGwgb2YgdGhlIHVwY29taW5nIChvcHRpb25hbGx5IHBhc3QgYXMgd2VsbCkgcmVzZXJ2YXRpb25zIGZvciB0aGlzIHBhcnRpY3VsYXIgdXNlci48L2xpPg0KPGxpPnNlYXJjaCAtIFRoZSBzZWFyY2ggZm9ybS48YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSBmb3JtIHRoYXQgYWxsb3dzIHNlYXJjaGluZyBmb3IgcmVzb3VyY2VzIHRoYXQgYXJlIGF2YWlsYWJsZSBiZXR3ZWVuIHRvIHNwZWNpZmllZCBkYXRlcy48L2xpPg0KPGxpPnNlbmRlbWFpbCAtIFRoZSByZXNlcnZhdGlvbiBzZW5kZW1haWwgZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIHdpbGwgZGlzcGxheSBhIGZvcm0gdGhhdCBhbGxvd3MgZnJvbnRlbmQgdXNlcnMgdG8gc2VuZCBhbiBlbWFpbCBtZXNzYWdlIHRvIHNpdGUgYWRtaW5pc3RyYXRvcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHNwZWNpZmljIHJlc2VydmF0aW9uLjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfY2FsZW5kYXJ0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyIGRpc3BsYXksIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgY2FsZW5kYXIgdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGdlbmVyYXRpbmcgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF9jYXRlZ29yeSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgY29tbWEgc2VwZXJhdGVkIGxpc3Qgb2YgY2F0ZWdvcnkgbmFtZXMgdG8gdXNlIGZvciBzZWxlY3RpbmcgdGhlIGRhdGEgdG8gZGlzcGxheS4gIFRoaXMgcGFyYW1ldGVyIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHJlc291cmNlcyBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHBfY29uZmlybXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgcmVzZXJ2YXRpb24gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gdGVtcGxhdGUgZm9yIHVzZSB3aGVuIGEgdmlzaXRvciBjcmVhdGVzIGEgcmVzZXJ2YXRpb24gb25saW5lJzsKJGxhbmdbJ2hlbHBfZGF5dGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBkYXkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBkYXkgdmlldyB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gZ2VuZXJhdGluZyB0aGUgZGlzcGxheSc7CiRsYW5nWydoZWxwX2RheSddID0gJ1VzZWQgd2l0aCB0aGUgYWRkcmVzdm4gZm9ybSB0byBzcGVjaWZ5IGEgZGVmYXVsdCBkYXknOwokbGFuZ1snaGVscF9kZXRhaWxwYWdlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgY2FsZW5kYXIsIGRlZmF1bHQgKHN1bW1hcnkpLCBhbmQgbXlyZXNlcnZhdGlvbnMgdmlld3MsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGFuIG9wdGlvbmFsIHBhZ2UgZm9yIHZpZXdpbmcgZWl0aGVyIHRoZSByZXNvdXJjZSBkZXRhaWwsIHRoZSByZXNlcnZhdGlvbiBmb3Jtcywgb3IgdGhlIHNlbmQtZW1haWwgZm9ybS4gIElmIHRoaXMgdmFsdWUgaXMgbm90IHNwZWNpZmllZCwgdGhlbiB0aGUgcHJlZmVyZW5jZSBmcm9tIHRoZSBhZG1pbmlzdHJhdGlvbiBjb25zb2xlIHdpbGwgYmUgdXNlZC4gIElmIHRoYXQgaXMgbm90IHNldCwgdGhlbiB0aGUgY3VycmVudCBwYWdlIHdpbGwgYmUgdXNlZC4nOwokbGFuZ1snaGVscF9kZXRhaWx0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGNhbGVuZGFyLCBkZXRhaWwsIGRlZmF1bHQgKHN1bW1hcnkpIGFuZCBteXJlc2VydmF0aW9ucyB2aWV3cyB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRldGFpbCB0ZW1wbGF0ZSB0byB1c2UgZm9yIGFueSBkaXNwbGF5LiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBoYXZlIG5vIGVmZmVjdCBpZiBwcmV0dHkgdXJscyBhcmUgY29uZmlndXJlZC4nOwokbGFuZ1snaGVscF9lbWFpbHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgY2FsZW5kYXIsIG15cmVzZXJ2YXRpb24sIGFuZCBhZGRyZXN2biBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGVtYWlsIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBlbWFpbHMgYXJlIHNlbnQuJzsKJGxhbmdbJ2hlbHBfaW5saW5lJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2V0aGVyIHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggc2hvdWxkIGJlIGRpc3BsYXllZCBpbmxpbmUgKHJlcGxhY2UgdGhlIG9yaWdpbmFsIHRhZyksIG9yIHNob3VsZCByZXBsYWNlIHRoZSBjb250ZW50IGFyZWEgb2YgdGhlIHBhZ2UuICAgVGhpcyBwYXJhbWV0ZXIgaGFzIG5vIGVmZmVjdCBpZiB0aGUgc3VtbWFyeXBhZ2UgcGFyYW1ldGVyIGlzIGFsc28gc3BlY2lmaWVkJzsKJGxhbmdbJ2hlbHBfbW9udGgnXSA9ICdVc2VkIHdpdGggdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZGVmYXVsdCBtb250aCc7CiRsYW5nWydoZWxwX215cmVzdm50ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgbXlyZXNlcnZhdGlvbiB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHRlbXBsYXRlIGZvciB0aGF0IHZpZXcnOwokbGFuZ1snaGVscF9wYWdlbGltaXQnXSA9ICdJbiB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgcmVzb3VyY2VzIHRvIGRpc3BsYXkgb24gZWFjaCBwYWdlJzsKJGxhbmdbJ2hlbHBfcmVzb3VyY2VzJ10gPSAnSW4gdGhlIGNhbGVuZGFyIHZpZXcgdGhpcyBwYXJhbWV0ZXIgYWNjZXB0cyBhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9mIHJlc291cmNlIG5hbWVzIHRvIGRpc3BsYXkuICBUaGlzIHBhcmFtZXRlciBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSBjYXRlZ29yeSBwYXJhbWV0ZXInOwokbGFuZ1snaGVscF9yZXN2bnRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgYWRkcmVzdm4sIGNhbGVuZGFyLCBhbmQgbXlyZXNlcnZhdGlvbnMgYWN0aW9ucywgIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZSBmb3IgdXNlIHdoZW4gY3JlYXRpbmcgb3IgZWRpdGluZyBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2hlbHBfcmVzdl9pZCddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGFkZHJlc3ZuIGZvcm0sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBpZCBvZiBhbiBleGlzdGluZyByZXNlcnZhdGlvbiB0byBlZGl0LiAgWW91IHdpbGwgcHJvYmFibHkgbm90IG5lZWQgdG8gdXNlIHRoaXMgcGFyYW1ldGVyIGRpcmVjdGx5JzsKJGxhbmdbJ2hlbHBfcnNyY2lkJ10gPSAnVGhpcyBwYXJhbWV0ZXIgaXMgYWNjZXB0ZWQgYnkgdGhlIGRldGFpbCB0ZW1wbGF0ZSB0byBkaXNwbGF5IGEgZGV0YWlsIHJlcG9ydCBhYm91dCBhIHNwZWNpZmljIHJlc291cmNlJzsKJGxhbmdbJ2hlbHBfc2VhcmNodGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc2VhcmNoIHRlbXBsYXRlLic7CiRsYW5nWydoZWxwX3NlbmRlbWFpbHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBteXJlc2VydmF0aW9uIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgdGVtcGxhdGUgZm9yIHRoZSBzZW5kZW1haWwgZm9ybS4gIFRoaXMgcGFyYW1ldGVyIGhhcyBubyBlZmZlY3Qgd2hlbiBwcmV0dHkgdXJscyBhcmUgZW5hYmxlZCc7CiRsYW5nWydoZWxwX3Nob3dhbGwnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBkaXNwbGF5aW5nIGFsbCByZXNlcnZhdGlvbnMsIGluY2x1ZGluZyBwYXN0IHJlc2VydmF0aW9ucy4nOwokbGFuZ1snaGVscF9zb3J0YnknXSA9ICcgDQpBcHBsaWNhYmxlIHRvIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3IGFuZCB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgYWx0ZXJpbmcgdGhlIHNvcnQgb3JkZXIgb2YgZGlzcGxheWVkIGl0ZW1zLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPg0KUmVzb3VyY2Ugc3VtbWFyeSB2aWV3Ojxici8+DQo8dWw+DQogIDxsaT5uYW1lPC9saT4NCiAgPGxpPnByaWNlPC9saT4NCjwvdWw+DQpteWVzZXJ2YXRpb25zIHZpZXc6PGJyLz4NCjx1bD4NCiAgPGxpPnN0YXJ0X2RhdGU8L2xpPg0KICA8bGk+ZW5kX2RhdGU8L2xpPg0KICA8bGk+cHJpY2U8L2xpPg0KICA8bGk+Y3JlYXRlX2RhdGU8L2xpPg0KICA8bGk+bW9kaWZpZWRfZGF0ZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfc29ydG9yZGVyJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3IGFuZCB0aGUgbXlyZXNlcnZhdGlvbnMgdmlldyB0aGlzIHBhcmFtZXRlciBhbGxvd3MgYWx0ZXJpbmcgdGhlIHNvcnQgb3JkZXIgb2YgdGhlIHNlbGVjdGVkIGRhdGEuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+PHVsPjxsaT5hc2MgLSBhc2NlbmRpbmc8L2xpPjxsaT5kZXNjIC0gZGVzY2VuZGluZzwvbGk+PC91bD4nOwokbGFuZ1snaGVscF9zdW1tYXJ5cGFnZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBpZCBvciBhbGlhcyBvZiB0aGUgcGFnZSB0aGF0IHRoZSByZXN1bHRpbmcgc3VtbWFyeSB2aWV3IHNob3VsZCBiZSBvbi4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCwgaW5saW5lIGlzIHNldCB0byBmYWxzZS4nOwokbGFuZ1snaGVscF9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSB2aWV3LCB0aGlzIHBhcmFtdGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc3VtbWFyeSB0ZW1wbGF0ZSB3aWxsIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5JzsKJGxhbmdbJ2hlbHBfeWVhciddID0gJ1VzZWQgd2l0aCB0aGUgYWRkcmVzdm4gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBkZWZhdWx0IHllYXInOwokbGFuZ1snaGlzdG9yaWNhbF9jb21wYXJpc29uJ10gPSAnSGlzdG9yaWNhbCBDb21wYXJpc29uJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snaW1hZ2UnXSA9ICdJbWFnZSc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdJbWFnZSc7CiRsYW5nWydpbWFnZV9oYW5kbGluZ19jb25maWcnXSA9ICdJbWFnZSBIYW5kbGluZyBDb25maWcnOwokbGFuZ1snaW5mb19hZGRfdXNlcl9hY2NvdW50J10gPSAnRGlzcGxheSBhIGZvcm0gZnJvbSB0aGUgdXNlciBtYW5hZ2VtZW50IGludGVyZmFjZSB0byBhbGxvdyBhZGRpbmcgYSBuZXcgdXNlciBhY2NvdW50JzsKJGxhbmdbJ2luZm9fYWRqdXN0bWVudF92YWx1ZXMnXSA9ICdBZGp1c3RtZW50IHZhbHVlcyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSBmb3JtIG9mIFtzeW1ib2xdIyMuIyMuICBTeW1ib2wgY2FuIGJlIG9uZSBvZiArLC0sIG9yICouICBpLmU6ICowLjg1IG9yICsxNS4yNS4gIElmIG5vIHN5bWJvbCBpcyBzcGVjaWZpZWQsICsgaXMgYXNzdW1lZC4nOwokbGFuZ1snaW5mb19hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgZGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgYWR2YW5jZWQgc2VhcmNoIGZvcm0sIGRpc3BsYXllZCB3aXRoIHRoZSAmcXVvdDtzZWFyY2gmcXVvdDsgYWN0aW9uLiAgWW91IGNhbiB1c2UgYW55IGFuZCBhbGwgc21hcnR5IGxvZ2ljIGFuZCB0YWdzIGluIHRoaXMgdGVtcGxhdGUuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGFkdmFuY2VkIHNlYXJjaCBmb3JtIHRlbXBsYXRlcywgZm9yIHVzZSB3aXRoIHRoZSAmcXVvdDtzZWFyY2gmcXVvdDsgYWN0aW9uJzsKJGxhbmdbJ2luZm9fYWxsb3dfbm9fcHJpY2VzJ10gPSAnVXNlZCBmb3IgYm9va2luZyByZXNvdXJjZXMgd2l0aCBubyBwcmljZXMgYXR0YWNoZWQnOwokbGFuZ1snaW5mb19idWxrZGlzY291bnRfYWRqdXN0bWVudF92YWx1ZXMnXSA9ICdBZGp1c3RtZW50IHZhbHVlcyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSBmb3JtIG9mIFtzeW1ib2xdIyMuIyMuICBTeW1ib2wgY2FuIGJlIG9uZSBvZiArLC0sIG9yICouICBpLmU6ICowLjg1IG9yICsxNS4yNS4gIElmIG5vIHN5bWJvbCBpcyBzcGVjaWZpZWQsICsgaXMgYXNzdW1lZC4gIElmIHNwZWNpZnlpbmcgYSBudW1iZXIgb2YgZnJlZSBkYXlzLCBhbiBpbnRlZ2VyIHZhbHVlIGlzIGV4cGVjdGVkLic7CiRsYW5nWydpbmZvX2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gY2FsZW5kYXIgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2NhbGVuZGFyX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjYWxlbmRhciB0ZW1wbGF0ZXMgZm9yIHVzZSBpbiB0aGUgZnJvbnRlbmQgY2FsZW5kYXIgdmlldy4nOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGVtYWlsIHRoYXQgd2lsbCBiZSBzZW50IHRvIHRoZSB1c2VyIHdoZW4gdXNpbmcgdGhpcyB0ZW1wbGF0ZS4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLiAgVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIHNwZWNpYWwgdG8gdGhpcyB0ZW1wbGF0ZTogeyRzdWJqZWN0fSAtIFRoZSBzdWJqZWN0IG9mIHRoZSBlbWFpbCwgeyRib2R5fSAtIFRoZSBib2R5IG9mIHRoZSBlbWFpbCc7CiRsYW5nWydpbmZvX2N1c3RlbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY3VzdG9tZXIgZW1haWwgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBzZW5kaW5nIG1lc3NhZ2VzIHRvIGN1c3RvbWVycyB3aG8gaGF2ZSBib29rZWQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCBwcm9wZXJ0aWVzIHNob3VsZCBiZSBsaXN0ZWQgaW4gdXNlciBsaXN0cy48YnIvPlVzZSB7JHByb3BlcnR5bmFtZX0gdG8gaWRlbnRpZnkgYSBzaW5nbGUgcHJvcGVydHkuPGJyLz5SZWZlciB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgZm9yIHRoZSBsaXN0IG9mIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIGEgcGFydGljdWxhciBncm91cC48YnIvPllvdSBjYW4gYWxzbyB1c2UgdGhlIHskdXNlcm5hbWV9IHRhZyB0byBpbmRpY2F0ZSB0aGUgdXNlcnMgbG9naW4gbmFtZS4nOwokbGFuZ1snaW5mb19kYXlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgYW5kIGV2ZW50cyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGRheSB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBkYXkgdmlldyB0ZW1wbGF0ZXMgZm9yIHVzZSB3aGVuIGNsaWNraW5nIG9uIGFuIGluZGl2aWR1YWwgZGF5IGZyb20gdGhlIGRlZmF1bHQgY2FsZW5kYXIgZGlzcGxheSc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzb3VyY2UgZGV0YWlsIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgZGV0YWlsIHZpZXdzIG9mIHRoZSB2YXJpb3VzIHJlc291cmNlcyc7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGRldGFpbCB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fZW1haWxfc2VudCddID0gJ1lvdXIgZW1haWwgaGFzIGJlZW4gc2VudC4gIFJlY29yZCBvZiB0aGlzIGVtYWlsIGhhcyBhbHNvIGJlZW4gYXR0YWNoZWQgdG8gdGhlIHRyYW5zYWN0aW9uIGRldGFpbHMgZm9yIGZ1dHVyZSByZWZlcmVuY2UnOwokbGFuZ1snaW5mb19teXJlc2VydmF0aW9uc190ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgb3V0cHV0IGZvciB0aGUgTXlSZXNlcnZhdGlvbnMgcmVwb3J0JzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIG15cmVzZXJ2YXRpb25zIHZpZXcgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBhY3Rpb249bXlyZXNlcnZhdGlvbnMnOwokbGFuZ1snaW5mb19vdmVyY2FwX2Ftb3VudCddID0gJ0RhaWx5IGFtb3VudCB0byBhZGQgKHBlciB1bml0KSB0byByZXNlcnZhdGlvbiBwcmljZSwgZm9yIGVhY2ggdW5pdCBvdmVyIHRoZSBzdGF0ZWQgY2FwYWNpdHkgKGFwcGxpY2FibGUgb25seSBpZiB0aGUgY2FwYWNpdHkgaXMgYSB2YWxpZCB2YWx1ZSkuJzsKJGxhbmdbJ2luZm9fcGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbiddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYXV0b21hdGljYWxseSBpZiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gYWNjZXNzIHRoZSByZXNlcnZhdGlvbnMgZm9ybSBpZiBub3QgbG9nZ2VkIGluLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnXSA9ICdTcGVjaWZ5IHRoZSBsaXN0IG9mIHVzZXJzIChvciBncm91cHMpIHRvIHJlY2VpdmUgYSBjb3B5IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwuICBUaGUgZW1haWwgYWRkcmVzcyBwcm9wZXJ0eSBmb3IgZWFjaCBzZWxlY3RlZCB1c2VyIG11c3QgYmUgdmFsaWQuJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnU3BlY2lmeSB0aGUgcGFnZSB0byByZWRpcmVjdCB0byBhdXRvbWF0aWNhbGx5IGFmdGVyIGEgdmlzaXRvciBoYXMgY3JlYXRlZCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnU3BlY2lmeSB0aGUgcGFnZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgZWRpdCByZXNlcnZhdGlvbiB1cmxzLCBhbmQgc2VuZCBtZXNzYWdlIHVybHMnOwokbGFuZ1snaW5mb19yZXNvdXJjZV90eXBlJ10gPSAnU3BlY2lmeSB0aGUgdHlwZSBvZiByZXNvdXJjZSB5b3Ugd2lsbCBiZSBtYW5hZ2luZy4gIGkuZTogJnF1b3Q7cm9vbSZxdW90OyBvciAmcXVvdDtjYXImcXVvdDsgZXRjLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgbGFiZWxsaW5nIG9mIHRoZSBlbnRpcmUgbW9kdWxlLic7CiRsYW5nWydpbmZvX3Jlc3ZuX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBmb3JtLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiBlbWFpbCBtZXNzYWdlLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiByZXBvcnQuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY29uZmlybWF0aW9uIGVtYWlsIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIGVtYWlsIG1lc3NhZ2UgdGhhdCBpcyBzZW50IHRvIHRoZSBjdXN0b21lciBhZnRlciBhIHNpdGUgdmlzaXRvciBjcmVhdGVzIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY29uZmlybWF0aW9uIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIG1lc3NhZ2UgYW5kIGRhdGEgdGhhdCBpcyBkaXNwbGF5ZWQgYWZ0ZXIgYSBzaXRlIHZpc2l0b3IgY3JlYXRlcyBvciBlZGl0cyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3Jlc3ZuX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNlcnZhdGlvbiBmb3JtIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIGZvcm0gZGlzcGxheWVkIHdoZW4gYWRkaW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGNvbnRyb2xzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBzZW5kZW1haWwgZm9ybSwgdXNlZCB3aGVuIGEgc2l0ZSB2aXNpdG9yIHdhbnRzIHRvIHNlbmQgYSBtZXNzYWdlIHRvIGJ1c2luZXNzIG93bmVycyB3aXRoIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb3IgcXVlc3Rpb25zIGFib3V0IGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHNlbmRlbWFpbCBmb3JtIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIGZvcm0gZGlzcGxheWVkIHdoZW4gc2VuZGluZyBhbiBlbWFpbCByZWxhdGVkIHRvIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zZW5kX21lc3NhZ2UnXSA9ICdVc2UgdGhpcyBmb3JtIHRvIHByb3ZpZGUgbW9yZSBpbmZvcm1hdGlvbiByZWdhcmRpbmcgeW91ciByZXNlcnZhdGlvbiBvciB0byBhc2sgYW55IHF1ZXN0aW9ucyByZWdhcmRpbmcgeW91ciByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBzdW1tYXJ5IHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNvdXJjZSBzdW1tYXJ5IHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3Igc3VtbWFyeSB2aWV3cyBvZiB0aGUgdmFyaW91cyByZXNvdXJjZXMgPGVtPih0aGlzIGlzIHRoZSBkZWZhdWx0IHZpZXcpPC9lbT4nOwokbGFuZ1snaW5mb19zeXNkZmx0X2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgQ2FsZW5kYXIgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgQ3VzdG9tZXIgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RheV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IERheSBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNvdXJjZSBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X215cmVzdl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0ICZxdW90O015IFJlc2VydmF0aW9ucyZxdW90OyBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc2VydmF0aW9uIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBDb25maXJtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gQ29uZmlybSBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgU2VuZCBFbWFpbCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzb3VyY2UgU3VtbWFyeSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfdGVtcGxhdGUnXSA9ICdBbHRlcmluZyB0aGlzIHRlbXBsYXRlIHdpbGwgaGF2ZSBubyBpbW1lZGlhdGUgZWZmZWN0IG9uIGFueSBvdXRwdXQuICBUaGlzIGZvcm0gY29udHJvbHMgdGhlIHZhbHVlIG9mIHRoZSB0ZW1wbGF0ZSB0aGF0IGlzIGNyZWF0ZWQgd2hlbiB5b3UgY2xpY2sgJnF1b3Q7TmV3IFRlbXBsYXRlJnF1b3Q7IGluIHRoZSBhcHByb3ByaWF0ZSB0ZW1wbGF0ZSB0YWIuJzsKJGxhbmdbJ2luZm9fdmlld191c2VyJ10gPSAnRGlzcGxheSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHVzZXInOwokbGFuZ1snaW5pdGlhbF9yZXNlcnZhdGlvbl9ub3RlcyddID0gJ0luaXRpYWwgUmVzZXJ2YXRpb24gTm90ZXMnOwokbGFuZ1snaW5fcHJvZ3Jlc3MnXSA9ICdJbiBQcm9ncmVzcyc7CiRsYW5nWydrZXl3b3JkcyddID0gJ0tleXdvcmRzJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJ0xhc3QgTW9kaWZpZWQnOwokbGFuZ1snbGVnZW5kJ10gPSAnTGVnZW5kJzsKJGxhbmdbJ2xibF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnXSA9ICdBZHZhbmNlZCBTZWFyY2ggRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX2JhY2snXSA9ICdCYWNrJzsKJGxhbmdbJ2xibF9jYWxlbmRhciddID0gJ0NhbGVuZGFyJzsKJGxhbmdbJ2xibF9jYWxlbmRhcl92aWV3X3RlbXBsYXRlcyddID0gJ0NhbGVuZGFyIFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9jYXRlZ29yaWVzJ10gPSAnQXR0cmlidXRlcyc7CiRsYW5nWydsYmxfY3VzdG9tZXJfZW1haWxfdGVtcGxhdGVzJ10gPSAnQ3VzdG9tZXIgRW1haWwgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9jdXN0b21fZmllbGRzJ10gPSAnQ3VzdG9tIEZpZWxkcyc7CiRsYW5nWydsYmxfZGF5X3ZpZXdfdGVtcGxhdGVzJ10gPSAnRGF5IFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9kZWZhdWx0X3RlbXBsYXRlcyddID0gJ0RlZmF1bHQgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9kZXRhaWxfdGVtcGxhdGVzJ10gPSAnRGV0YWlsIFRlbXBsYXRlcyc7CiRsYW5nWydsYmxfZXZlbnRzJ10gPSAnRXZlbnRzJzsKJGxhbmdbJ2xibF9ldmVudF90eXBlcyddID0gJ0V2ZW50IFR5cGVzJzsKJGxhbmdbJ2xibF9teXJlc2VydmF0aW9uc190ZW1wbGF0ZXMnXSA9ICdNeSBSZXNlcnZhdGlvbnMgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9wcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbnMnXSA9ICdSZXNlcnZhdGlvbnMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBFbWFpbCBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJ10gPSAnUmVzZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3Jlc291cmNlcyddID0gJ1Jlc291cmNlcyc7CiRsYW5nWydsYmxfc2VuZGVtYWlsX3RlbXBsYXRlcyddID0gJ1NlbmQgRW1haWwgRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnTWFuYWdlIFNldHRpbmdzJzsKJGxhbmdbJ2xibF9zdW1tYXJ5X3RlbXBsYXRlcyddID0gJ1N1bW1hcnkgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdNYW5hZ2UgVGVtcGxhdGVzJzsKJGxhbmdbJ21hbmFnZV9jdXN0b21lcl9jb250YWN0X3Jlc3ZuJ10gPSAnTWFuYWdlIEN1c3RvbWVyIENvbnRhY3QgZm9yIHJlc2VydmF0aW9uJzsKJGxhbmdbJ21hbmFnZXInXSA9ICdNYW5hZ2VyJzsKJGxhbmdbJ21heF9sZW5ndGgnXSA9ICdNYXggTGVuZ3RoJzsKJGxhbmdbJ21lc3NhZ2VfdGVtcGxhdGUnXSA9ICdNZXNzYWdlIFRlbXBsYXRlJzsKJGxhbmdbJ21lc3NhZ2VfdGV4dCddID0gJ01lc3NhZ2UgQm9keSc7CiRsYW5nWydtb2RpZmllZF9kYXRlJ10gPSAnTW9kaWZpZWQnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSByZXNvdXJjZSBhbmQgYXZhaWxhYmlsaXR5IG1hbmFnZXIgZm9yIHNjaGVkdWxpbmcgYW5kIHJlc2VydmluZyByZXNvdXJjZXMgb24gYSBkYWlseSBiYXNpcyc7CiRsYW5nWydtb25kYXknXSA9ICdMdW5lZCZpZ3JhdmU7JzsKJGxhbmdbJ21vbnRoJ10gPSAnTWVzZSc7CiRsYW5nWydtb250aGxpc3RfYnJpZWYnXSA9ICdHZW4vRmViL01hci9BcHIvTWFnL0dpdS9MdWcvQWdvL1NldC9PdHQvTm92L0RpYyc7CiRsYW5nWydtb3JlJ10gPSAnUGkmdWdyYXZlOyc7CiRsYW5nWyduYW1lJ10gPSAnTm9tZSc7CiRsYW5nWyduZXh0J10gPSAnUHJvc3NpbW8nOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1snbm9uYm9va2FibGVfYmxvY2tzJ10gPSAnQ2xvc2VkIEJsb2Nrcyc7CiRsYW5nWydub25lJ10gPSAnTm9uZSc7CiRsYW5nWydub3RlcyddID0gJ05vdGUnOwokbGFuZ1snbm90X2FwcGxpY2FibGUnXSA9ICdOL0EnOwokbGFuZ1snbnVtX3Blb3BsZSddID0gJ051bWJlciBvZiBQZW9wbGUnOwokbGFuZ1snb2NjdXJzJ10gPSAnT2NjdXJzJzsKJGxhbmdbJ29mJ10gPSAnZGknOwokbGFuZ1snb3B0aW9ucyddID0gJ09wemlvbmknOwokbGFuZ1snb3JkZXInXSA9ICdPcmRpbmEnOwokbGFuZ1snb3ZlcmNhcF9hbW91bnQnXSA9ICdPdmVyY2FwYWNpdHkgUHJpY2UgQWRqdXN0bWVudCc7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnTnVtYmVyIG9mIEl0ZW1zIHBlciBQYWdlJzsKJGxhbmdbJ3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdQYWdlIHRvIHJlZGlyZWN0IHRvIHdoZW4gbm90IGxvZ2dlZCBpbic7CiRsYW5nWydwYXJ0MSddID0gJ1BhcnRlIDEnOwokbGFuZ1sncGFzdF9tZXNzYWdlcyddID0gJ1Bhc3QgTWVzc2FnZXMnOwokbGFuZ1sncGVuZGluZyddID0gJ1BlbmRpbmcnOwokbGFuZ1sncGVyY2VudF9ib29rZWQnXSA9ICdQZXJjZW50YWdlIEJvb2tlZCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBBdmFpbGFiaWxpdHkgbW9kdWxlIGhhcyBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkLiAgUGxlYXNlIGVuc3VyZSB0aGF0IGFsbCBhcHByb3ByaWF0ZSBncm91cHMgaGF2ZSB0aGUgYXBwcm9wcmlhdGUgcGVybWlzc2lvbnMgdG8gbWFuYWdlIHRoZSB2YXJpb3VzIGFzcGVjdHMgb2YgdGhpcyBtb2R1bGUnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBBdmFpbGFiaWxpdHkgbW9kdWxlLCBhbmQgYWxsIHJlbGF0ZWQgZGF0YSBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhlIHN5c3RlbS4gIFlvdSBhcmUgbm93IGZyZWUgdG8gZGVsZXRlIHRoZSBmaWxlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtb2R1bGUnOwokbGFuZ1sncHJldiddID0gJ1ByZWMnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJlenpvJzsKJGxhbmdbJ3ByaWNlcyddID0gJ1ByZXp6aSc7CiRsYW5nWydwcmljZV9hZGp1c3QnXSA9ICdBZGp1c3QgdGhlIFByaWNlIG9mIGVmZmVjdGVkICVzIGJ5IHRoaXMgYW1vdW50Ljxici8+PGVtPih1c2UgYSBmb3JtYXQgbGlrZSAqMC44NSBvciAtMTMgb3IgKzI1KTwvZW0+JzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwdWJsaWMnXSA9ICdQdWJsaWMnOwokbGFuZ1sncmVzZXJ2ZWQnXSA9ICdSZXNlcnZlZCc7CiRsYW5nWydyZXNlcnZhdGlvbiddID0gJ1ByZW5vdGF6aW9uZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXRpb24gQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdF9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmxpY3QgQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wZW5kaW5nX2JhY2tncm91bmRfY29sb3InXSA9ICdQZW5kaW5nIFJlc2VydmF0aW9uIEJhY2tncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlnJ10gPSAnUmVzZXJ2YXRpb24gU2V0dGluZ3MnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9hdHRhY2htZW50J10gPSAnRmlsZSB0byBhdHRhY2ggdG8gYWxsIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiBlbWFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYyddID0gJ0NDIHRoZXNlIHVzZXJzIG9uIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnXSA9ICdTZW5kIGFuIGVtYWlsIHRvIHRoZSBjdXN0b21lciB3aGVuIGEgcmVzZXJ2YXRpb24gaXMgY3JlYXRlZCc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSA9ICdTdWJqZWN0IG9mIHJlc2VydmF0aW9uIGNvbmZpcm1hdGlvbiBlbWFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnUmVzZXJ2YXRpb24gQ29uZmlybSBQYWdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0J10gPSAnWW91ciBzZWxlY3RlZCAlcyBhcmUgbm90IGFsbCBhdmFpbGFibGUgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcyc7CiRsYW5nWydyZXNlcnZhdGlvbl9jcmVhdGVkJ10gPSAnUHJlbm90YXppb25lIGNyZWF0YSc7CiRsYW5nWydyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnXSA9ICdSZXNlcnZhdGlvbiBEZWZhdWx0IFBhZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGV0YWlscyddID0gJ0RldHRhZ2xpbyBQcmVub3RhemlvbmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmxpY3RfZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIENvbmZsaWN0IEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmF0aW9uIEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fcGVuZGluZ19mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUGVuZGluZyBSZXNlcnZhdGlvbiBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX251bSddID0gJ1ByZW5vdGF6aW9uZTogJTA1ZCc7CiRsYW5nWydyZXNldCddID0gJ0F6emVyYSc7CiRsYW5nWydyZXNvdXJjZSddID0gJ1Jpc29yc2EnOwokbGFuZ1sncmVzb3VyY2VzJ10gPSAnUmlzb3JzZSc7CiRsYW5nWydyZXNvdXJjZV90eXBlJ10gPSAnVGlwbyBkaSBSaXNvcnNhJzsKJGxhbmdbJ3Jvb20nXSA9ICdTdGFuemEnOwokbGFuZ1sncm9vbXMnXSA9ICdTdGFuemUnOwokbGFuZ1snc2F0dXJkYXknXSA9ICdTYWJhdG8nOwokbGFuZ1snc2VhcmNoJ10gPSAnUmljZXJjYSc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnU2VsZXppb25hIHVuYSc7CiRsYW5nWydzZW5kJ10gPSAnU3BlZGlyZSc7CiRsYW5nWydzZW5kX2VtYWlsJ10gPSAnU3BlZGlyZSB1biBFbWFpbCc7CiRsYW5nWydzZW50J10gPSAnU3BlZGl0byc7CiRsYW5nWydzdGFydF9kYXRlJ10gPSAnRGF0YSBwYXJ0ZW56YSc7CiRsYW5nWydzdGF0aXN0aWNzJ10gPSAnU3RhdGlzdGljYSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0byc7CiRsYW5nWydzdGF0dXNfcm9vbXNfYXZhaWxhYmxlJ10gPSAnVGhlICVzIHlvdSBzZWxlY3RlZCBhcmUgYXZhaWxhYmxlIGZvciB0aGVzZSBkYXRlcyc7CiRsYW5nWydzdWJqX3JlX3Jlc3ZuJ10gPSAnUmU6IFByZW5vdGF6aW9uZSAlcyc7CiRsYW5nWydzdWJqZWN0J10gPSAnT2dnZXR0byc7CiRsYW5nWydzdWJtaXQnXSA9ICdJbnZpYSc7CiRsYW5nWydzdW5kYXknXSA9ICdEb21lbmljYSc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHQgQXJlYSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dCBGaWVsZCc7CiRsYW5nWyd0aHVyc2RheSddID0gJ1RodXJzZGF5JzsKJGxhbmdbJ3RpdGxlX2NvbmZsaWN0J10gPSAnQ29uZmxpY3QgRXhpc3RzfEEgY29uZmxpY3QgZXhpc3RzIGJldHdlZW4gcmVzZXJ2YXRpb25zICUwNGQgYW5kICUwNGQuPGJyLz48YnIvPk1vcmUgY29uZmxpY3RzIG1heSBleGlzdHMgZm9yIHRoaXMgYmxvY2suJzsKJGxhbmdbJ3RpdGxlX2dyYXBoaW5nJ10gPSAnVmlldyBncmFwaHMgYW5kIHJlcG9ydHMgb2YgaGlzdG9yaWNhbCBkYXRhJzsKJGxhbmdbJ3RvdGFsX2Jsb2NrcyddID0gJ1RvdGFsIEJsb2Nrcyc7CiRsYW5nWyd0dWVzZGF5J10gPSAnVHVlc2RheSc7CiRsYW5nWyd0eXBlJ10gPSAnVGlwbyc7CiRsYW5nWyd1c2VfZGF0ZXNfaW5fZmlsdGVyJ10gPSAnQXBwbHkgdGhlIEZvbGxvd2luZyBEYXRlcyc7CiRsYW5nWyd2YWNhbnQnXSA9ICdWYWNhbnQnOwokbGFuZ1sndmlldyddID0gJ1Zpc3VhbGl6emF6aW9uZSc7CiRsYW5nWyd2aWV3X2RheSddID0gJ1ZpZXcgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBkYXknOwokbGFuZ1sndmlld191c2VyJ10gPSAnVmlldyBHdWVzdCBEZXRhaWxzJzsKJGxhbmdbJ3ZpZXdfcnNyY19kZXRhaWxzJ10gPSAnVmlldyBkZXRhaWxzIGZvciB0aGlzICVzJzsKJGxhbmdbJ3dlZG5lc2RheSddID0gJ1dlZG5lc2RheSc7CiRsYW5nWyd3ZWVrZGF5X3ByaWNlX2FkanVzdG1lbnRzJ10gPSAnV2Vla2RheSBQcmljZSBBZGp1c3RtZW50cyc7CiRsYW5nWyd5ZWFyXzEnXSA9ICdBbm5vIDEnOwokbGFuZ1sneWVhcl8yJ10gPSAnQW5ubyAyJzsKJGxhbmdbJ3llYXJfMyddID0gJ0Fubm8gMyc7CiRsYW5nWyd5ZXMnXSA9ICdTJmlncmF2ZTsnOwokbGFuZ1sneW91cl9uYW1lJ10gPSAnVm9zdHJvIG5vbWUnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41Njg3Mjc5MzcuMTIzNjM0MDE3MS4xMjM5MDA0ODc1LjEyMzkwMDY5MDIuMTUnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjM5MDA0ODc1LjE0LjE0LnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0xlZ2cgdGlsIGJlZ2l2ZW5oZXRzdHlwZSc7CiRsYW5nWydhY3Rpb25fZWRpdF9ldmVudF90eXBlJ10gPSAnUmVkaWdlciBiZWdpdmVuaGV0c3R5cGUnOwokbGFuZ1snYWN0aXZlJ10gPSAnQWt0aXYnOwokbGFuZ1snYWRkJ10gPSAnTGVnZyB0aWwnOwokbGFuZ1snYWRkX25vdGVzJ10gPSAnT3BwZ2kgaW5mb3JtYXNqb24gcmVsYXRlcnQgdGlsIGRlbm5lIHJlc2VydmFzam9uZW4nOwokbGFuZ1snYWRkZWRpdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgZW4gQXZhbnNlcnQgcyZvc2xhc2g7a2Ugc2tqZW1hbWFsJzsKJGxhbmdbJ2FkZGVkaXRfY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGthbGVuZGVyIHZpc25pbmdzbWFsJzsKJGxhbmdbJ2FkZGVkaXRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBlbiBrdW5kZS1lcG9zdG1hbCc7CiRsYW5nWydhZGRlZGl0X2RheV90ZW1wbGF0ZSddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgZGFnIHZpc25pbmdzbWFsJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBlbiByZXNzdXJzZGV0YWxqIHZpc25pbmdzbWFsJzsKJGxhbmdbJ2FkZGVkaXRfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGVuIE1pbmVSZXNlcnZhc2pvbmVyIHZpc25pbmdzbWFsJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGVuIHJlc2VydmFzam9uIHNramVtYW1hbCc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGVuIHJlc2VydmFzam9uIGJla3JlZnRlbHNlIGVwb3N0bWFsJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgZW4gcmVzZXJ2YXNqb24gYmVrcmVmdGVsc2VzbWFsJzsKJGxhbmdbJ2FkZGVkaXRfc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvcmVkaWdlciBlbiBTZW5kIGVwb3N0IHNramVtYW1hbCc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGVuIHJlc3N1cnMgc2FtbWVuZHJhZyB2aXNuaW5nc21hbCc7CiRsYW5nWydhZG1pbl9ub3RlcyddID0gJ0FkbWluIE1lcmtuYWRlcic7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfYWRqdXN0ZGF5cyddID0gJ0J1bGsgcmFiYXR0anVzdGVyaW5nIG1lZCAlLjJmIGZvciBiZXJldHRpZ2UgZGFnZXInOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ0J1bGsgcmFiYXR0anN1dGVyaW5nIG1lZCAgJS4yZiBmb3IgYWxsZSBkYWdlcic7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfZnJlZWJsb2NrJ10gPSAnQnVsayByYWJhdHQgYmVyZXR0aWdldCBmcmkgZGFnJzsKJGxhbmdbJ2FkanVzdF9ldmVudF9wcmljZSddID0gJ0p1c3RlcnRlIHByaXMgZm9yIGJlZ2l2ZW5oZXQgJXMgbWVkICVzJzsKJGxhbmdbJ2FkanVzdF9vdmVyY2FwYWNpdHknXSA9ICdKdXN0ZXJ0ZSBwcmlzIGZvciAlZCBla3N0cmEgcGVyc29uZXIgbWVkICUuMmYnOwokbGFuZ1snYWRqdXN0X3dlZWtkYXlfcHJpY2UnXSA9ICdKdXN0ZXJ0ZSBwcmlzIGZvciB1a2VkYWcgJXMgbWVkICVzJzsKJGxhbmdbJ2FkZF9jYXRlZ29yeSddID0gJ0xlZ2cgdGlsIGF0dHJpYnV0dCc7CiRsYW5nWydhZGRfY3VzdG9tX2ZpZWxkJ10gPSAnTGVnZyB0aWwgYnJ1a2VyZGVmaW5lcnQgZmVsdCc7CiRsYW5nWydhZGRfZXZlbnQnXSA9ICdMZWdnIHRpbCBiZWdpdmVuaGV0JzsKJGxhbmdbJ2FkZF9ldmVudF90eXBlJ10gPSAnTGVnZyB0aWwgYmVnaXZlbmhldHN0eXBlJzsKJGxhbmdbJ2FkZF9yZXNlcnZhdGlvbiddID0gJ0xlZ2cgdGlsIGVuIG55IHJlc2VydmFzam9uJzsKJGxhbmdbJ2FkZF91c2VyX2FjY291bnQnXSA9ICdPcHByZXR0IGJydWtlcmtvbnRvJzsKJGxhbmdbJ2FsbCddID0gJ0FsbGUnOwokbGFuZ1snYWxsb3dlZF9maWxlX3R5cGVzJ10gPSAnVGlsbGF0dGUgZmlsdHlwZXInOwokbGFuZ1snYWxsb3dlZF9pbWFnZV90eXBlcyddID0gJ1RpbGF0dGUgYmlsZGV0eXBlcic7CiRsYW5nWydhbGxvd19ub19wcmljZXMnXSA9ICdGZWlsIHAmYXJpbmc7IGluZ2VuIHByaXMnOwokbGFuZ1snQU0nXSA9ICdBTSAnOwokbGFuZ1snYW55J10gPSAnQWxsZSc7CiRsYW5nWydhcHBseSddID0gJ1V0ZiZvc2xhc2g7cic7CiRsYW5nWydhc2tfZGVsZXRlX2V2ZW50J10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBmamVybmUgZGVubmUgYmVnaXZlbmhldCBwZXJtYW5lbnQ/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzZXJ2YXRpb24nXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlya2VsaWcgdmlsIGZqZXJuZSBkZW5uZSByZXNlcnZhc2pvbmVuIGZyYSBkaXR0IHN5c3RlbT8nOwokbGFuZ1snYXNrX2RlbGV0ZV9yZXNvdXJjZSddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aXJrZWxpZyB2aWwgZmplcm5lIGRlbm5lIHJlc3N1cnNlbj8nOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIGF2aW5zdGFsbGVyZSBkZW5uZSBtb2R1bGVuPyAmQXJpbmc7IGZvcnRzZXR0ZSB2aWwgZiZvc2xhc2g7cmUgdGlsIHRhcCBhdiBkYXRhIHJlbGF0ZXJ0IHRpbCBkZW5uZSBtb2R1bGVuLic7CiRsYW5nWydhdCddID0gJyBAICc7CiRsYW5nWydhdHRhY2htZW50J10gPSAnVmVkbGVnZyc7CiRsYW5nWydhdHRhY2htZW50X2RpciddID0gJ0thdGFsb2cgZGV0IHNrYWwgcyZvc2xhc2g7a2VzIGkgZm9yIHZlZGxlZ2cnOwokbGFuZ1snYXR0cmlidXRlcyddID0gJ0F0dHJpYnV0dGVyJzsKJGxhbmdbJ2F1dG9fZ2VuZXJhdGVfdGh1bWJuYWlscyddID0gJ0F1dG9nZW5lcmVyZSBtaW5pYXR5cmJpbGRlcic7CiRsYW5nWydhdmFpbGFibGUnXSA9ICdUaWxnamVuZ2VsaWcnOwokbGFuZ1snYmFja2dyb3VuZF9jb2xvciddID0gJ0Jha2dydW5uc2ZhcmdlJzsKJGxhbmdbJ2Jhc2VfcHJpY2UnXSA9ICdHcnVubnByaXMnOwokbGFuZ1snYmFzaWNfcHJpY2luZyddID0gJ0dydW5ubGVnZ2VuZGUgcHJpc2luZyc7CiRsYW5nWydib29rYWJsZSddID0gJ0thbiByb20gYmVzdGlsbGVzIG1lbnMgYmVnaXZlbmhldGVuIHAmYXJpbmc7ZyZhcmluZztyPyc7CiRsYW5nWydib29rYWJsZV9iciddID0gJ0Jlc3RpbGJhcic7CiRsYW5nWydib29rYWJsZV9ldmVudF9ibG9ja3MnXSA9ICdCZXN0aWxsYmFyZSBiZWdpdmVuaGV0c2Jsb2trZXIoZCZvc2xhc2g7Z24pJzsKJGxhbmdbJ2Jvb2tlZF9ibG9ja3MnXSA9ICdCZXN0aWx0ZSBibG9ra2VyKGQmb3NsYXNoO2duKSc7CiRsYW5nWydjYWJpbiddID0gJ0h5dHRlJzsKJGxhbmdbJ2NhYmlucyddID0gJ0h5dHRlcic7CiRsYW5nWydjYWxjdWxhdGUnXSA9ICdLYWxrdWxlcic7CiRsYW5nWydjYWxjdWxhdGVfcHJpY2UnXSA9ICdLYWxrdWxlcnQgcHJpcyc7CiRsYW5nWydjYWxjdWxhdGVkX3ByaWNlJ10gPSAnS2Fsa3VsZXJ0IHByaXMnOwokbGFuZ1snY2FsZW5kYXJfY29uZmlnJ10gPSAnQXZhaWxhYmlsaXR5IENhbGVuZGFyIGlubnN0aWxsaW5nZXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQXZicnl0JzsKJGxhbmdbJ2NhbmNlbGxlZCddID0gJ0F2YnJ1dHQnOwokbGFuZ1snY2FwYWNpdHknXSA9ICdLYXBhc2l0ZXQnOwokbGFuZ1snY2FyJ10gPSAnQmlsJzsKJGxhbmdbJ2NhcnMnXSA9ICdCaWxlcic7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnQXR0cmlidXR0ZXInOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdBdHRyaWJ1dHQnOwokbGFuZ1snY2NfbXlzZWxmJ10gPSAnU2VuZCBlbiBlcG9zdCBtZWQgZGVubmUgbWVsZGluZ2VuIHRpbCBtaW4gZXBvc3RrYXNzZSc7CiRsYW5nWydjaGVjayddID0gJ01lcmsnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdBdmtyeXNzbmluZ3Nib2tzJzsKJGxhbmdbJ2NoZWNraW4nXSA9ICdJbm5zamVra2luZyc7CiRsYW5nWydjaGVja2luX3RpbWUnXSA9ICdJbm5zamVra2luZ3N0aWQnOwokbGFuZ1snY2hlY2tvdXQnXSA9ICdVdHNqZWtraW5nJzsKJGxhbmdbJ2NoZWNrb3V0X3RpbWUnXSA9ICdVdHNqZWtraW5nc3RpZCc7CiRsYW5nWydjaGVja19hdmFpbGFiaWxpdHknXSA9ICdTamVrayBmb3IgdGlsZ2plbmdlbGlnaGV0JzsKJGxhbmdbJ2Nsb3NlZCddID0gJ1N0ZW5ndCc7CiRsYW5nWydjb2xvciddID0gJ0ZhcmdlJzsKJGxhbmdbJ2NvbmZpcm1lZCddID0gJ0Jla3JlZnRldCc7CiRsYW5nWydjb25maXJtX3Jlc2VydmF0aW9uJ10gPSAnVmVubmxpZ3N0IHNlIG92ZXIgaW5mb3JtYXNqb25lbiBpIHNramVtYWV0IG9nIGJla3JlZnQgYXQgZHUgdmlsIGdqZW5ub21mJm9zbGFzaDtyZSBkZW5uZSByZXNlcnZhc2pvbmVuJzsKJGxhbmdbJ2NvbmZsaWN0J10gPSAnS29uZmxpa3QnOwokbGFuZ1snY3JlYXRlX2RhdGUnXSA9ICdPcHByZXR0ZXQnOwokbGFuZ1snY3JlYXRlX3Jlc2VydmF0aW9uJ10gPSAnT3BwcmV0dCBlbiByZXNlcnZhc2pvbiBmb3IgZGVubmUgbGVkaWdlIHBlcmlvZGVuJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdPcHByZXR0ZXQnOwokbGFuZ1snY3VycmVuY3lfc3ltYm9sJ10gPSAnVmFsdXRhc3ltYm9sJzsKJGxhbmdbJ2N1c3RvbWVyJ10gPSAnS3VuZGUnOwokbGFuZ1snY3VzdG9tZXJfZ3JvdXAnXSA9ICdLdW5kZWdydXBwZSc7CiRsYW5nWydjdXN0b21lcl9uYW1lJ10gPSAnS3VuZGVuYXZuJzsKJGxhbmdbJ2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdLdW5kZSB2aXNuaW5nc21hbCc7CiRsYW5nWydkYWlseSddID0gJ0RhZ2xpZyc7CiRsYW5nWydkYXRlJ10gPSAnRGF0byc7CiRsYW5nWydkYXlfcmVwb3J0J10gPSAnRGFnc3JhcHBvcnQnOwokbGFuZ1snZGF5X3JlcG9ydF9yc3JjJ10gPSAnRGFnc3JhcHBvcnQgZm9yICVzJzsKJGxhbmdbJ2RheV92aWV3J10gPSAnRGFnc3Zpc25pbmcnOwokbGFuZ1snZGVmYXVsdF9jYXBhY2l0eSddID0gJ1N0YW5kYXJkIGthcGFzaXRldCA8ZW0+KGZvciBueWUgcmVzc3Vyc2VyKTwvZW0+JzsKJGxhbmdbJ2RlZmF1bHRfZ3JhbnVsYXJpdHknXSA9ICdTdGFuZGFyZCBkZXRhbGpuaXYmYXJpbmc7JzsKJGxhbmdbJ2RlZmF1bHRfdGltZV9pbnRlcnZhbCddID0gJ1N0YW5kYXJkIHRpZHNpbnRlcm52YWxsJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1NsZXR0JzsKJGxhbmdbJ2RlbGV0ZV9jYXRlZ29yeSddID0gJ1NsZXR0IGF0dHJpYnV0dCc7CiRsYW5nWydkZWxldGVfY3VzdG9tX2ZpZWxkJ10gPSAnU2xldHQga3VuZGVmZWx0JzsKJGxhbmdbJ2RlbGV0ZV9ldmVudCddID0gJ1NsZXR0IGJlZ2l2ZW5oZXQnOwokbGFuZ1snZGVsZXRlX2V2ZW50X3R5cGUnXSA9ICdTbGV0dCBiZWdpdmVuaGV0c3R5cGUnOwokbGFuZ1snZGVwb3NpdF9hbW91bnRzJ10gPSAnRGVwb3NpdHVtIGJlbCZvc2xhc2g7cCc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZlbHNlJzsKJGxhbmdbJ2RmbHRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnRGluIHJlc2VydmFzam9uIGhhciBibGl0dCBiZWtyZWZ0ZXQnOwokbGFuZ1snZGlzY291bnRfYWRqdXN0bWVudCddID0gJ1JhYmF0dGp1c3RlcmluZyc7CiRsYW5nWydkaXNjb3VudF9taW5fYmxvY2tzJ10gPSAnTWluaW11bSBhbnRhbGwgZGFnZXIga3JldmQgZm9yICZhcmluZzsgZiZhcmluZzsgcmFiYXR0JzsKJGxhbmdbJ2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0ZyaSBkYWdlciAobWluc3Qga29zdGJhcmUgZiZvc2xhc2g7cnN0KSc7CiRsYW5nWydkaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdVdGYmb3NsYXNoO3IgZW4gYnVsa2p1c3RlcmluZyBwJmFyaW5nOyBhbGxlIGRhZ2VyJzsKJGxhbmdbJ2Rpc2NvdW50X2FkanVzdGRheXMnXSA9ICdKdXN0ZXJlIHByaXNlbmUga3VuIGZvciBnamVsZGVuZGUgZGFnZXInOwokbGFuZ1snZGlzY291bnRfdHlwZSddID0gJ1JhYmF0dC10eXBlJzsKJGxhbmdbJ2Rpc3BsYXknXSA9ICdWaXNuaW5nJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTmVkdHJla2snOwokbGFuZ1snZWRpdCddID0gJ1JlZGlnZXInOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ1JlZGlnZXIgYXR0cmlidXR0JzsKJGxhbmdbJ2VkaXRfY3VzdG9tX2ZpZWxkJ10gPSAnUmVkaWdlciBrdW5kZWZlbHQnOwokbGFuZ1snZWRpdF9ldmVudCddID0gJ1JlZGlnZXIgYmVnaXZlbmhldCc7CiRsYW5nWydlZGl0X2V2ZW50X3R5cGUnXSA9ICdSZWRpZ2VyIGJlZ2l2ZW5oZXRzdHlwZSc7CiRsYW5nWydlZGl0X3Jlc2VydmF0aW9uJ10gPSAnUmVkaWdlciByZXNlcnZhc2pvbic7CiRsYW5nWydlbWFpbCddID0gJ0Vwb3N0JzsKJGxhbmdbJ2VuZF9kYXRlJ10gPSAnU2x1dHRkYXRvJzsKJGxhbmdbJ2VuZF90aW1lXzEnXSA9ICdTbHV0dC10aWQgMSc7CiRsYW5nWydlbmRfdGltZV8yJ10gPSAnU2x1dHQtdGlkIDInOwokbGFuZ1snZXJyb3JfY2FsY3VsYXRpb24nXSA9ICdLYWxrdWxlcmluZ3NmZWlsJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnXSA9ICdEZW5uZSByZXNzdXJzZW4ga2FuIGlra2Ugc2xldHRlcyBmb3JkaSBkZXQgZXIgcmVzZXJ2YXNqb25lciBrbnl0dGV0IHRpbCBkZW4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlZmVpbCwgdmVubmxpZ3N0IGtvbnRha3QgYWRtaW5pc3RyYXRvcic7CiRsYW5nWydlcnJvcl9ldmVudF9jb25mbGljdCddID0gJ0VuIGVrc2lzdGVyZW5kZSByZXNlcnZhc2pvbiwgZWxsZXIgZW4gaWtrZS1iZXN0aWxsYmFyIGJlZ2l2ZW5oZXQgZXIgaSBrb25mbGlrdCBtZWQgZGF0b2VuZSBvZyByZXNzdXJzZW5lIHZhbGd0IGZvciBkZW5uZSByZXNlcnZhc2pvbmVuLic7CiRsYW5nWydlcnJvcl9maWxlZGVsZXRlJ10gPSAnRXQgcHJvYmxlbSBvcHBzdG9kIHVuZGVyIHNsZXR0aW5nIGF2IGVuIGVsbGVyIGZsZXJlIGZpbGVyJzsKJGxhbmdbJ2Vycm9yX2ludGVybmFsY29uZmlnJ10gPSAnRW4gaW50ZXJuIGtvbmZpZ3VyYXNqb25zZmVpbCBvcHBzdG9kLiBWZW5ubGlnc3Qga29udGFrdCBuZXR0c3RlZHNhZG1pbmlzdHJhdG9yZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZF9kYXRlcyddID0gJ0R1IGhhciBvcHBnaXR0IHVneWxkaWdlIGRhdG9lcic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ByaWNlJ10gPSAnUHJpc2VuIHNvbSBlciBvcHBnaXR0IHNlciB1dCB0aWwgJmFyaW5nOyB2JmFlbGlnO3JlIHRvbSBlbGxlciB1Z3lsZGlnJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdGltZV9zZXR0aW5ncyddID0gJ1RpZHNpbnRlcnZhbGxlbmUgc29tIGVyIG9wcGdpdHQgZXIgdWd5bGRpZ2UnOwokbGFuZ1snZXJyb3JfaW52YWxpZF92YWx1ZSddID0gJ0VuIHVneWxkaWcgdmVyZGkgYmxlIHNwZXNpZmlzZXJ0IGZvciBlbiBlbGxlciBmbGVyIGZlbHRlciBlbGxlciBwYXJhbWV0ZXJlJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcGFyYW1ldGVyJ10gPSAnRW4gZWxsZXIgZmxlcmUgcCZhcmluZztrcmV2ZGUgcGFyYW1ldGVyZSBtYW5nbGVyIGVsbGVyIGVyIHRvbW1lJzsKJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnUHJvYmxlbSBtZWQgJmFyaW5nOyBvcHByZXR0ZSBrYXRhbG9nJzsKJGxhbmdbJ2Vycm9yX211c3Rfc2VsZWN0J10gPSAnRHUgbSZhcmluZzsgdmVsZ2UgZW4gZWxsZXIgZmxlcmUgJXMnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3NlcyddID0gJ0tvbmZpZ3VyYXNqb25zcHJvYmxlbS4gRGluIG5ldHRzdGVkc3ZlcnQgaGFyIGlra2Uga29uZmlndXJlcnQgbm9lbiB0aWwgJmFyaW5nOyBmJmFyaW5nOyBiZXNramVkIG9tIGRpc3NlIG1lbGRpbmdlbmUuIFZlbm5saWdzdCBrb250YWt0IG5ldHRzdGVkc2FkbWluaXN0cmF0b3JlbiBkaXJla3RlJzsKJGxhbmdbJ2Vycm9yX25vdGZvdW5kJ10gPSAnRGUgZm9yZXNwdXJ0ZSBkYXRhIGJsZSBpa2tlIGZ1bm5ldCc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbl9mZXUnXSA9ICdEdSBlciBpa2tlIGxvZ2dldCBpbm4gcCZhcmluZzsgZGV0dGUgbmV0dHN0ZWRldC4gRHUgbSZhcmluZzsgbGFnZSBkZWcgZW4ga29udG8gZiZvc2xhc2g7ciBkdSBrYW4gZ2omb3NsYXNoO3JlIG5vZW4gcmVzZXJ2YXNqb24nOwokbGFuZ1snZXJyb3Jfbm9fY3VzdG9tZXJfZW1haWwnXSA9ICdLdW5uZSBpa2tlIGZpbm5lIGVuIGVwb3N0YWRyZXNzZSBmb3IgZGVubmUga3VuZGVuJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX3NlbGVjdGVkJ10gPSAnVmVubmxpZ3N0IHZlbGcgZW4ga3VuZGUgZnJhIGxpc3Rlbic7CiRsYW5nWydlcnJvcl9ub19ldmVudF90eXBlcyddID0gJ0luZ2VuIGJlZ2l2ZW5oZXRzdHlwZXIgZGVmaW5lcnQnOwokbGFuZ1snZXJyb3Jfbm9fcmVzZXJ2YXRpb25fcGFydHMnXSA9ICdEdSBoYXIgaWtrZSBvcHBnaXR0IG5vZSAmYXJpbmc7IHJlc2VydmVyZSEnOwokbGFuZ1snZXJyb3Jfbm9fcmVzZXJ2YXRpb25zJ10gPSAnSW5nZW4gcmVzZXJ2YXNqb25lciBibGUgZnVubmV0IGZvciBkZW4gdmFsZ3RlIGRhZ2VuJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlcyddID0gJ0luZ2VuICVzIGRlZmluZXJ0JzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlc19zZWxlY3RlZCddID0gJ1Zlbm5saWdzdCBkZWZpbmVyIGVuIGVsbGVyIGZsZXJlIHJlc3N1cnNlciBvZyBpbnRlcnZhbGxlciBmb3IgZGVubmUgcmVzZXJ2YXNqb25lbic7CiRsYW5nWydlcnJvcl9ub191c2Vyc19mb3VuZCddID0gJ0t1bm5lIGlra2UgZmlubmUgbm9lbiByZWdpc3RyZXJ0ZSBicnVrZXJlIGkgZGVuIGt1bmRlZ3J1cHBlbiBkdSB2YWxndGUnOwokbGFuZ1snZXJyb3JfcGFzdF9kYXRlcyddID0gJ0R1IGYmYXJpbmc7ciBpa2tlIG9wcHJldHRlIGVuIHJlc2VydmFzam9uIGZvciBkYXRvZXIgaSBmb3J0aWRlbic7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uJ10gPSAnRHUgaGFyIGlra2UgdGlsbGF0ZWxzZSB0aWwgJmFyaW5nOyBzZSBkaXNzZSBkYXRhJzsKJGxhbmdbJ2Vycm9yX3Jlc2VydmF0aW9uX2NvbmZsaWN0J10gPSAnRW4gcmVzZXJ2YXNqb25za29mbGlrdCBoYXIgYmxpdHQgb3BwZGFnZXQuJzsKJGxhbmdbJ2Vycm9yX3NlbGVjdF9zdGF0dXMnXSA9ICdWZW5ubGlnc3QgdmVsZyBlbiBzdGF0dXMgZm9yIGRlbm5lIHJlc2VydmFzam9uZW4nOwokbGFuZ1snZXJyb3JfdGltZXBlcmlvZF9zdGFydGVkJ10gPSAnVGlkc3BlcmlvZGVuIHNvbSBibGUgdmFsZ3QgaGFyIGFsbHJlZGUgc3RhcnRldCwgdmVubmxpZ3N0IHZlbGcgZW4gdGlkc3BlcmlvZGUgaSBmcmVtdGlkZW4nOwokbGFuZ1snZXJyb3JfdXBsb2FkJ10gPSAnRmlsIG9wcGxhc3RpbmdzZmVpbCc7CiRsYW5nWydldmVudHNfZm9yX3Jlc291cmNlJ10gPSAnQmVnaXZlbmhldGVyIGZvciAlcyc7CiRsYW5nWydldmVudF90eXBlJ10gPSAnQmVnaXZlbmhldHN0eXBlJzsKJGxhbmdbJ2V2ZW50X3R5cGVzJ10gPSAnQmVnaXZlbmhldHN0eXBlcic7CiRsYW5nWydleHBpcmVkJ10gPSAnVXRsJm9zbGFzaDtwdCc7CiRsYW5nWydleHRlbmRlZF91c2VfZGlzY291bnRzJ10gPSAnVXR2aWRldCBicnVrIGF2IHJhYmF0dCc7CiRsYW5nWydmZXVfcHJlZmVyZW5jZXMnXSA9ICdGcm9udEVuZFVzZXIgaW5uc3RpbGxpbmdlcic7CiRsYW5nWydmaWVsZHMnXSA9ICdGZWx0ZXInOwokbGFuZ1snZmlsZSddID0gJ0ZpbCc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cmVyJzsKJGxhbmdbJ2ZpbGVfaGFuZGxpbmdfY29uZmlnJ10gPSAnRmlsYmVoYW5kbGluZ3Mga29uZmlnLic7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydmb3InXSA9ICdGb3IgJzsKJGxhbmdbJ2ZvcmVncm91bmRfY29sb3InXSA9ICdGb3JncnVubnNmYXJnZSc7CiRsYW5nWydmcmlkYXknXSA9ICdGcmVkYWcnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVGlsZ2plbmdlbGlnaGV0c2JlaGFuZGxlcic7CiRsYW5nWydmcm9tJ10gPSAnRnJhJzsKJGxhbmdbJ2Z1dHVyZSddID0gJ0tvbW1lbmRlJzsKJGxhbmdbJ2dlbmVyYWxfY29uZmlnJ10gPSAnR2VuZXJlbGxlIGluc3RpbGxpbmdlcic7CiRsYW5nWydncm91cCddID0gJ0dydXBwZSc7CiRsYW5nWydndWVzdCddID0gJ2dqZXN0JzsKJGxhbmdbJ2hhbGZfZGF5J10gPSAnSGFsdiBkYWcnOwokbGFuZ1snaGFsZl9ob3VyJ10gPSAnSGFsdiB0aW1lJzsKJGxhbmdbJ2hvdXJseSddID0gJ1RpbWVzYmFzZXJ0JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+PHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6cmVkOyZxdW90Oz4tLSBXQVJOSU5HIC0tPC9zcGFuPjwvaDM+DQo8cCBzdHlsZT0mcXVvdDttYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4tcmlnaHQ6IDVlbTsgcGFkZGluZzogMC41ZW07IGJhY2tncm91bmQ6ICNENEYyMzM7JnF1b3Q7PkFsdGhvdWdoIGV2ZXJ5IGVmZm9ydCBoYXMgYmVlbiBtYWRlIHRvIGVuc3VyZSB0aGF0IG5vIHZhbHVhYmxlIGRhdGEgaXMgbG9zdCBkdXJpbmcgdGhlIHVwZ3JhZGUgcHJvY2VzcywgeW91IGFyZSBhZHZpc2VkIHRvIGVuc3VyZSB0aGF0IHlvdSBoYXZlIGEgY29tcGxldGVseSB2ZXJpZmllZCBiYWNrdXAgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdXBncmFkZSB0aGlzIG1vZHVsZS4gIEFsc28sIHRoZSBkYXRhIHN0cnVjdHVyZXMgYW5kIGJlaGF2aW91ciBvZiB0aGlzIG1vZHVsZSBoYXZlIGNoYW5nZWQgZHJhbWF0aWNhbGx5IHNpbmNlIHRoZSBwcmV2aW91c2x5IHJlbGVhc2VkIHZlcnNpb24sIHRoZXJlZm9yZSBzb21lIHJlLXN0eWxpbmcgb2YgdGVtcGxhdGVzIHdpbGwgbmVlZCB0byBvY2N1ciBpZiB5b3UgYXJlIHVwZ3JhZGluZyBmcm9tIGEgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSBlYXJsaWVyIHRoYW4gMS43LjwvcD4NCjxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBjb21wbGV0ZSBvbmxpbmUgcmVzZXJ2YXRpb24gbWFuYWdlbWVudCBzeXN0ZW0gZm9yIGhvdGVscywgY2FyIHJlbnRhbCBhZ2VuY2llcywgb3IgYW55IG90aGVyIHB1cnBvc2Ugd2hlcmUgcGFydGljdWxhciAmYW1wO3F1b3Q7cmVzb3VyY2VzJmFtcDtxdW90OyBjYW4gYmUgcmVzZXJ2ZWQgb24gYSBkYWlseSBiYXNpcy48L3A+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIG1lY2hhbmlzbSBmb3IgZnJvbnRlbmQgdXNlcnMgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgcmVzZXJ2YXRpb25zLCBhbmQgdG8gY29udGFjdCBhZG1pbmlzdHJhdG9ycyB3aXRoIGluZm9ybWF0aW9uIGFuZCBxdWVzdGlvbnMgYWJvdXQgcmVzZXJ2YXRpb25zLjwvcD4NCjxwPkEgY29tcGxldGUgYWRtaW4gaW50ZXJmYWNlIGFsbG93cyBhdXRob3JpemVkIGFkbWluaXN0cmF0b3JzIHRvIG1hbmFnZSByZXNvdXJjZXMsIGV2ZW50cywgcmVzZXJ2YXRpb25zLCBhbmQgYWxsIGFzcGVjdHMgb2YgdGhlIGRpc3BsYXlhYmxlIGl0ZW1zLjwvcD4NCjxoMz5GZWF0dXJlczo8L2gzPg0KPHVsPg0KPGxpPkFsbG93cyBkZWZpbmluZyB1bmxpbWl0ZWQgbnVtYmVycyBvZiByZXNvdXJjZXMuDQogIDx1bD4NCiAgPGxpPkEgYmFzZSBkYWlseSBwcmljZSBjYW4gYmUgZW50ZXJlZCBmb3IgZWFjaCByZXNvdXJjZS48L2xpPg0KICA8bGk+UHJpY2UgYWRqdXN0bWVudHMgY2FuIGJlIGVudGVyZWQgZm9yIGVhY2ggZGF5IG9mIHRoZSB3ZWVrLjwvbGk+DQogIDwvdWw+DQo8bGk+DQo8bGk+QWxsb3dzIGRlZmluaW5nIGFuIHVubGltaXRlZCBudW1iZXIgb2YgY3VzdG9tIGZpZWxkcyB0byBhc3NvY2lhdGUgd2l0aCByZXNvdXJjZXMuPC9saT4NCjxsaT5BbGxvd3MgY3JlYXRpbmcgZXZlbnQgdHlwZXMgYW5kIGFzc29jaWF0aW5nIHRoZW0gd2l0aCBjb2xvcnMuPC9saT4NCjxsaT5TdXBwb3J0cyBjcmVhdGluZyBldmVudHMgZm9yIHBhcnRpY3VsYXIgcmVzb3VyY2VzIG92ZXIgcGFydGljdWxhciBkYXlzOg0KICA8dWw+DQogIDxsaT5FdmVudHMgY2FuIGJlIGJvb2thYmxlIG9yIG5vbiBib29rYWJsZSwgdG8gYmxvY2sgcmVzZXJ2YXRpb25zIGZvciB0aG9zZSByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KICA8bGk+Ym9va2FibGUgZXZlbnRzIGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudCB0byBpbmNyZWFzZSBvciBkZWNyZWFzZSB0aGUgcHJpY2Ugb2YgdGhlIHNlbGVjdGVkIHJlc291cmNlcyBvbiB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCiAgPC91bD4NCjwvbGk+DQo8bGk+U3VwcG9ydHMgYXV0b21hdGljIHByaWNlIGNhbGN1bGF0aW9uIGZvciByZXNlcnZhdGlvbnMuPC9saT4NCjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgY29uZmxpY3QgY2hlY2tpbmcgdG8gZW5zdXJlIHRoYXQgbm8gcmVzZXJ2YXRpb25zIGNhbiBiZSBjcmVhdGVkIGZvciByZXNlcnZlZCByZXNvdXJjZXMsIG9yIGNsb3NlZCByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KPC91bD4NCg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VGhlIGZpcnN0IHRoaW5nIHlvdSBzaG91bGQgZG8gYWZ0ZXIgaW5zdGFsbG5nIHRoZSBtb2R1bGUgaXMgdG8gY3JlYXRlIHNvbWUgcm9vbSBhdHRyaWJ1dGVzLCBhbmQgZXZlbnQgdHlwZXMuICAgWW91IHNob3VsZCBhbHNvIGNoZWNrIHRoZSBwcmVmZXJlbmNlcyB0byBlbnN1cmUgdGhhdCB0aGV5IHNlZW0gdG8gYmUgc2V0IGNvcnJlY3RseS4gIFlvdSBoYXZlIHRoZSBvcHRpb24gb2YgY2hhbmdpbmcgdGhlIHJlc291cmNlIHR5cGUgaW4gdGhlIHByZWZlcmVuY2UgZnJvbSByb29tIHRvIHNvbWUgb3RoZXIgcmVzb3VyY2UgdGhhdCB5b3UgYXJlIG1hbmFnaW5nLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgdmFyaW91cyBsYWJlbHMgaW4gdGhlIGFkbWluIHNlY3Rpb24gYW5kIGluIHRoZSBmcm9udGVuZCBkaXNwbGF5LjwvcD4NCjwvcD5OZXh0IHlvdSBzaG91bGQgY3JlYXRlIHNvbWUgcmVzb3VyY2VzIGFuZCBmaWxsIHRoZW0gaW4gd2l0aCBhcyBtdWNoIGRldGFpbCBhcyBwb3NzaWJsZS4gIFlvdSBtYXkgYWxzbyB3YW50IHRvIGNyZWF0ZSBzb21lIGV2ZW50cywgb3IgdG8gbWFyayBvZmYgZGF0ZXMgd2hlbiBwYXJ0aWN1bGFyIHJlc291cmNlcyBhcmUgdW5hdmFpbGFibGUuPC9wPg0KPHA+VG8gZGlzcGxheSBhIHJlc291cmNlIHN1bW1hcnkgdmlldywgeW91IHNob3VsZCBhZGQgdGhlIHRhZyB7QXZhaWxhYmlsaXR5fSBpbnRvIGEgY29udGVudCBwYWdlLjwvcD4NCjxwPlRvIGRpc3BsYXkgYSBjYWxlbmRhciB2aWV3LCB5b3UgY2FuIGFkZCB0aGUgdGFnIHtBdmFpbGFiaWxpdHkgYWN0aW9uPWNhbGVuZGFyfSB0byBhIGNvbnRlbnQgcGFnZS4gIFRoaXMgd2lsbCBwcm92aWRlIGEgc3VmZmljaWVudCBzeXN0ZW0gZm9yIGFsbG93aW5nIHZpc2l0b3JzIHRvIGNyZWF0ZSByZXNlcnZhdGlvbnMsIGV0Yy48L3A+DQo8aDQ+UmVzZXJ2YXRpb25zPC9oND4NCjxwPlRoZSBkZWZhdWx0IGZvcm0gZm9yIGFsbG93aW5nIGEgdXNlciB0byBjcmVhdGUgYSByZXNlcnZhdGlvbiByZWxpZXMgaGVhdmlseSBvbiBqcXVlcnksIGFqYXgsIGFuZCBqYXZhc2NyaXB0LiAgVG8gYWxsb3cgdGhlIGRlZmF1bHQgZm9ybSB0byB3b3JrIHByb3Blcmx5IHlvdSBuZWVkIHRvIGVuYWJsZSB0aGUganF1ZXJ5dG9vbHMgbW9kdWxlIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgYW5kIGFsc28gaW5jbHVkZSBhIHNlcGVyYXRlIHNldCBvZiBqYXZhc2NyaXB0IHV0aWxpdGllcyAocGhwX2pzLmpzKSB0aGF0IGlzIHByb3ZpZGVkIHdpdGggdGhlIEF2YWlsYWJpbGl0eSBtb2R1bGVzIGxpYiBkaXJlY3RvcnkuPC9saT4NCjxwPkkgc3VnZ2VzdCB5b3UgYWRkIHRoZSBmb2xsb3dpbmcgdHdvIGxpbmVzIHRvIHRoZSBoZWFkIHNlY3Rpb24gb2YgeW91ciBwYWdlIHRlbXBsYXRlLCBvciBpbnRvIHRoZSBwYWdlIG1ldGFkYXRhIHNlY3Rpb24gb2YgYW55IHBhZ2VzIHRoYXQgd2lsbCBiZSB3b3JraW5nIHdpdGggdGhlIGF2YWlsYWJpbGl0eSBtb2R1bGU6PC9wPg0KPHByZSBzdHlsZT0mcXVvdDttYXJnaW4tbGVmdDogMmVtOyZxdW90Oz4NCntKUXVlcnlUb29scyBhY3Rpb249XCYjMDM5O2luY2pzXCYjMDM5O30NCiZhbXA7bHQ7c2NyaXB0IHR5cGU9XCZxdW90O3RleHQvamF2YXNjcmlwdFwmcXVvdDsgc3JjPSZxdW90O3tyb290X3VybH0vbW9kdWxlcy9BdmFpbGFiaWxpdHkvbGliL3BocF9qcy5qcyZxdW90OyZhbXA7Z3Q7JmFtcDtsdDsvc2NyaXB0JmFtcDtndDsNCjwvcHJlPg0KDQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IHRoZSBjbXMgZGV2ZWxvcG1lbnQgZm9yZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZyI+ZGV2LmNtc21hZGVzaW1wbGUub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAgYWxsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IocykgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+JmFtcDtsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPjxzdHJvbmc+SG93ZXZlcjwvc3Ryb25nPiwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoZWxwX2FjdGlvbiddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIGZvcm0gb3IgcmVwb3J0IHRvIGRpc3BsYXkuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+DQo8dWw+DQo8bGk+YWRkcmVzdm4gLSBUaGUgYWRkL2VkaXQgcmVzZXJ2YXRpb24gZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgZm9ybSBhbGxvd3MgYSB2YWxpZCwgbG9nZ2VkIGluIGZyb250ZW5kIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gaW4gdGhlIHN5c3RlbS48L2xpPg0KPGxpPmNhbGVuZGFyIC0gVGhlIGNhbGVuZGFyIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIHZpZXcgZGlzcGxheXMgdGhlIGF2YWlsYWJpbGl0eSBvZiBzZWxlY3RlZCByZXNvdXJjZXMgZm9yIHRoZSBjdXJyZW50IG1vbnRoLiAgSXQgYWxsb3dzIHBhZ2luYXRpbmcgYmV0d2VlbiBkaWZmZXJlbnQgbW9udGhzLCB2aWV3aW5nIGEgcmVzb3VyY2UgZGV0YWlsIHZpZXcsIGFuZCBzdXBwbGllcyBhIGxpbmsgdGhhdCB3aWxsIGJyaW5nIHVwIHRoZSBhZGRyZXN2biBmb3JtIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZSBhbmQgcmVzb3VyY2UuPC9saT4NCjxsaT5kYXl2aWV3IC0gQSByZXBvcnQgb2YgYWN0aXZpdGllcyAob3IgbGFjayB0aGVyZW9mKSBmb3IgYSBwYXJ0aWN1bGFyIGRheTwvbGk+DQo8bGk+ZGVmYXVsdCAgLSBUaGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3PGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gZGlzcGxheXMgYSBzdW1tYXJ5IHJlcG9ydCBvZiBzZWxlY3RlZCByZXNvdXJjZXMuPC9saT4NCjxsaT5kZXRhaWwgICAgLSBUaGUgcmVzb3VyY2UgZGV0YWlsIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgcmVzb3VyY2UuPC9saT4NCjxsaT5teXJlc2VydmF0aW9uIC0gVGhlIG15cmVzZXJ2YXRpb25zIHJlcG9ydC48YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSByZXBvcnQgYWJvdXQgYWxsIG9mIHRoZSB1cGNvbWluZyAob3B0aW9uYWxseSBwYXN0IGFzIHdlbGwpIHJlc2VydmF0aW9ucyBmb3IgdGhpcyBwYXJ0aWN1bGFyIHVzZXIuPC9saT4NCjxsaT5zZWFyY2ggLSBUaGUgc2VhcmNoIGZvcm0uPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gd2lsbCBkaXNwbGF5IGEgZm9ybSB0aGF0IGFsbG93cyBzZWFyY2hpbmcgZm9yIHJlc291cmNlcyB0aGF0IGFyZSBhdmFpbGFibGUgYmV0d2VlbiB0byBzcGVjaWZpZWQgZGF0ZXMuPC9saT4NCjxsaT5zZW5kZW1haWwgLSBUaGUgcmVzZXJ2YXRpb24gc2VuZGVtYWlsIGZvcm08YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSBmb3JtIHRoYXQgYWxsb3dzIGZyb250ZW5kIHVzZXJzIHRvIHNlbmQgYW4gZW1haWwgbWVzc2FnZSB0byBzaXRlIGFkbWluaXN0cmF0b3JzIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvciBxdWVzdGlvbnMgYWJvdXQgYSBzcGVjaWZpYyByZXNlcnZhdGlvbi48L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX2NhbGVuZGFydGVtcGxhdGUnXSA9ICdJIGZvcmJpbmRlbHNlIG1lZCBrYWxlbmRlcnZpc25pbmcsIHZpbCBkZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZSAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIGthbGVuZGVybWFsIHNvbSBpa2tlIGVyIHN0YW5kYXJkIC0gJmFyaW5nOyBiZW55dHRlIGZvciBnZW5lcmVyaW5nIGF2IHZpc25pbmdlbic7CiRsYW5nWydoZWxwX2NhdGVnb3J5J10gPSAnSSBmb3JiaW5kZWxzZSBtZWQga2FsZW5kZXJ2aXNuaW5nLCB2aWwgZGVubmUgcGFyYW1ldGVyIHRpbGxhdGUgJmFyaW5nOyBzcGVzaWZpc2VyZSBlbiBrb21tYXNlcGFyZXJ0IGxpc3RlIG1lZCBrYXRlZ29yaW5hdm4gJmFyaW5nOyBiZW55dHRlIGZvciAmYXJpbmc7IHZlbGdlIGRhdGEgJmFyaW5nOyB2aXNlLiBEZW5uZSBwYXJhbWV0ZXIga2FuIGlrZWsgYmVueXR0ZXMgc2FtbWVuIG1lZCByZXNzdXJzIHBhcmFtZXRlcmVuLic7CiRsYW5nWydoZWxwX2NvbmZpcm10ZW1wbGF0ZSddID0gJ0kgZm9yYmluZGVsc2UgbWVkIHJlc2VydmFzam9uc2tqZW1hLCB2aWwgZGVubmUgcGFyYW1ldGVyIHRpbGxhdGUgJmFyaW5nOyBzcGVzaWZpc2VyZSBlbiBiZWtyZWZ0ZWxzZXNtYWwgc29tIGlra2UgZXIgc3RhbmRhcmQgJmFyaW5nOyBiZW55dHRlIG4mYXJpbmc7ciBlbiBiZXMmb3NsYXNoO2tlciBvcHByZXR0ZXIgZW4gcmVzZXJ2YXNqb24gJiMwMzk7b25saW5lJiMwMzk7JzsKJGxhbmdbJ2hlbHBfZGF5dGVtcGxhdGUnXSA9ICdUaWxnamVuZ2VsaWcgaSBkYWdzdmlzbmluZywgZGVubmUgcGFyYW1ldGVydGlsbGF0ZXIgJmFyaW5nOyBzcGVzaWZpc2VyZSBlbiBkYWdzdmlzbmluZ3NtYWwgc29tIGlra2UgZXIgc3RhbmRhcmQgJmFyaW5nOyBiZW55dHRlIGZvciBnZW5lcmVyaW5nIGF2IHZpc25pbmdlbic7CiRsYW5nWydoZWxwX2RheSddID0gJ0Jlbnl0dGV0IG1lZCBhZGRyZXN2biBza2plbWEgZm9yICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gc3RhbmRhcmQgZGFnLiBCZW55dHRldCBtZWQgZGFnc3Zpc25pbmdzaGFuZGxpbmdlbiBmb3IgJmFyaW5nOyBzcGVzaWZpc2VyZSBtJmFyaW5nO2xkYWdlbic7CiRsYW5nWydoZWxwX2RldGFpbHBhZ2UnXSA9ICdJIGZvcmJpbmRlbHNlIG1lZCBrYWxlbmRlciwgc3RhbmRhcmQgKHNhbWVtbmRyYWcpLCBvZyBtaW5lcmVzZWVydmFzam9uZXIgdmlzbmluZ2VyLCB2aWwgZGVubmUgcGFyYW1ldGVyIHRpbGxhdGUgJmFyaW5nOyBzcGVzaWZpc2VyZSBlbiB2YWxnZnJpIHNpZGUgZm9yICZhcmluZzsgdmlzZSBlbnRlbiByZXNzdXJzZGV0YWxqZXIsIHJlc2VydmFzam9uc2tqZW1hZXQgZWxsZXIgc2VuZC1lcG9zdCBza2plbWFldC4gT20gZGVubmUgdmVyZGkgaWtrZSBlciBzYXR0IHZpbCBpbm5zdGlsbGluZ2VuIGkgYWRtaW5pc3RyYXNqb25zZWtzam9uZW4gYmwmb3NsYXNoO2kgYmVueXR0ZXQuIE9tIGRlbm5lIGlra2UgZXIgc2F0dCwgdmlsIG4mYXJpbmc7diZhZWxpZztyZW5kZSBzaWRlIGJsaSBiZW55dHRldC4nOwokbGFuZ1snaGVscF9kZXRhaWx0ZW1wbGF0ZSddID0gJ0kgZm9yYmluZGVsc2UgbWVkIGthbGVuZGVyLCBkZXRhbGosIHN0YW5kYXJkIChzYW1lbW5kcmFnKSwgb2cgbWluZXJlc2VlcnZhc2pvbmVyIHZpc25pbmdlciwgdmlsIGRlbm5lIHBhcmFtZXRlciB0aWxsYXRlICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gZGV0YWxqbWFsIHNvbSBpa2tlIGVyIHN0YW5kYXJkICZhcmluZzsgYmVueXR0ZSBmb3IgZW5odmVyIHZpc25pbmcuIERlbm5lIHBhcmFtZXRlciB2aWwgaWtrZSBoYSBub2VuIHZpcmtuaW5nIG9tIHZha3JlIFVSTCYjMDM5O2VyIGVyIGtvbmZpZ3VlcnQuJzsKJGxhbmdbJ2hlbHBfZW1haWx0ZW1wbGF0ZSddID0gJ0kgZm9yYmluZGVsc2UgbWVkIGthbGVuZGVyLCBtaW5lcmVzZWVydmFzam9uZXIgb2cgYWRkcmVzdm4gaGFuZGxpbmdlciwgdmlsIGRlbm5lIHBhcmFtZXRlciB0aWxsYXRlICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gZXBvc3RtYWwgc29tIGlra2UgZXIgc3RhbmRhcmQgJmFyaW5nOyBiZW55dHRlIG4mYXJpbmc7ciBlcG9zdGVyIHNlbmRlcy4nOwokbGFuZ1snaGVscF9pbmxpbmUnXSA9ICdUaWxnamVuZ2VsaWcga3VuIHRpbCBzZWFyY2ggaGFuZGxpbmdlbi4gRGVubmUgcGFyYW1ldGVyIHNwZXNpZmlzZXJlciBvbSByZXN1bHRhdGVuZSBhdiBzJm9zbGFzaDtrZXQgc2thbCB2aWVzZXMgaW5saW5lIChlcnN0YXR0ZSBkZW4gb3JpZ2luYWxlIHRhZ2dlbiksIGVsbGVyIG9tIGRldCBza2FsIGVyc3RhdHRlIGlubmhvbGRzKGNvbnRlbnQpIG9tciZhcmluZztkZXQgcCZhcmluZzsgZGVubmUgc2lkZW4uIERlbm5lIHBhcmFtZXRlciBoYXIgaW5nZW4gZWZmZWt0IG9tIG9ncyZhcmluZzsgc3VtbWFyeXBhZ2UgcGFyYW1ldGVyZW4gb2dzJmFyaW5nOyBlciBzcGVzaWZpc2VydCc7CiRsYW5nWydoZWxwX21vbnRoJ10gPSAnSSBmb3JiaW5kZWxzZSBtZWQgYWRkcmVzdm4gc2tqZW1hLCB2aWwgZGVubmUgcGFyYW1ldGVyIHRpbGxhdGUgJmFyaW5nOyBzcGVzaWZpc2VyZSBlbiBzdGFuZGFyZCBtJmFyaW5nO25lZC4gQmVueXR0ZXQgbWVkIGRhZ3NoYW5kbGluZ2VuIHZpbCBkZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZSAmYXJpbmc7IHNwZXNpZmlzZXJlIG0mYXJpbmc7bG0mYXJpbmc7bmVkZW4nOwokbGFuZ1snaGVscF9teXJlc3ZudGVtcGxhdGUnXSA9ICdLdW4gdGlsZ2plbmdlbGlnIGkgZm9yYmluZGVsc2UgbWVkIG1pbmVyZXNlZXJ2YXNqb25lciB2aXNuaW5nZXIuIERlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIG1hbCBzb20gaWtrZSBlciBzdGFuZGFyZCBmb3IgZGVuIHZpc25pbmdlbic7CiRsYW5nWydoZWxwX3BhZ2VsaW1pdCddID0gJ0kgcmVzc3VycyBzYW1tZW5kcmFnc3Zpc25pbmcsIGthbiBkZW5uZSBwYXJhbWV0ZXIgYmVueXR0ZXMgZm9yICZhcmluZzsgc3Blc2lmaXNlcmUgYW50YWxsIHJlc3N1cnNlciBzb20gc2thbCB2aXNlcyBwJmFyaW5nOyBodmVyIHNpZGUnOwokbGFuZ1snaGVscF9yZXNvdXJjZXMnXSA9ICdJIGthbGVuZGVydmlzbmluZyB2aWwgZGVubmUgcGFyYW1ldGVyIGdvZHRhIGVuIGtvbW1hc2VwYXJlcnQgbGlzdGUgbWVkIHJlc3N1cnNuYXZuIHNvbSBza2FsIHZpc2VzLiBEZW5uZSBwYXJhbWV0ZXIga2FuIGlra2UgYmVueXR0ZXMgc2FtbWVuIG1lZCBrYXRlZ29yaXBhcmFtZXRlcmVuJzsKJGxhbmdbJ2hlbHBfcmVzdm50ZW1wbGF0ZSddID0gJ0kgZm9yYmluZGVsc2UgbWVkIGFkZHJlc3ZuLCBjYWxlbmRhciwgb2cgbXlyZXNlcnZhdGlvbnMgaGFuZGxpbmdlbmUsIHZpbCBkZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZSAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIHJlc2VydmFzam9uIHNramVtYW1hbCBzb20gaWtrZSBlciBzdGFuZGFyZCwgJmFyaW5nOyBiZW55dHRlIGZvciBvcHByZXR0ZWxzZSBlbGxlciByZWRpZ2VyaW5nIGF2IGVuIHJlc2VydmFzam9uJzsKJGxhbmdbJ2hlbHBfcmVzdl9pZCddID0gJ1RpbGdqZW5nZWxpZyBpIGZvcmJpbmRlbHNlIG1lZCBhZGRyZXN2biBza2plbWEuIERlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIElEJiMwMzk7ZW4gdGlsIGVuIGVrc2lzdGVyZW5kZSByZXNlcnZhc2pvbiBzb20gc2thbCByZWRpZ2VyZXMuIER1IHZpbCBzYW5uc3lubGlndmlzIGlra2UgYmVoJm9zbGFzaDt2ZSAmYXJpbmc7IGJlbnl0dGUgZGVubmUgcGFyYW1ldGVyIGRpcmVrdGUnOwokbGFuZ1snaGVscF9yc3JjaWQnXSA9ICdEZW5uZSBwYXJhbWV0ZXIgZXIgYWtzZXB0ZXJ0IGF2IGRldGFsam1hbGVuIGZvciAmYXJpbmc7IHZpc2UgZW4gZGV0YWxqcmFwcG9ydCBvbSBlbiBzcGVzaWZpa2sgcmVzc3Vycyc7CiRsYW5nWydoZWxwX3NlYXJjaHRlbXBsYXRlJ10gPSAnVGlsZ2plbmdlbGlnIGt1biB0aWwgc2VhcmNoIGhhbmRsaW5nZW4uIERlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIGVuIHMmb3NsYXNoO2tlbWFsIHNvbSBpa2tlIGVyIHN0YW5kYXJkLic7CiRsYW5nWydoZWxwX3NlbmRlbWFpbHRlbXBsYXRlJ10gPSAnS3VuIHRpbGdqZW5nZWxpZyBpIGZvcmJpbmRlbHNlIG1lZCBtaW5lcmVzZWVydmFzam9uZXIgdmlzbmluZ2VyLiBEZW5uZSBwYXJhbWV0ZXIgdGlsbGF0ZXIgJmFyaW5nOyBzcGVzaWZpc2VyZSBlbiBtYWwgc29tIGlra2UgZXIgc3RhbmRhcmQgZm9yIHNlbmRlcG9zdCBza2plbWEuIERlbm5lIHBhcmFtZXRlciB2aWwgaWtrZSBoYSBub2VuIHZpcmtuaW5nIG9tIHZha3JlIFVSTCYjMDM5O2VyIGVyIHAmYXJpbmc7c2wmYXJpbmc7dHQuJzsKJGxhbmdbJ2hlbHBfc2hvd2FsbCddID0gJ0t1biB0aWxnamVuZ2VsaWcgaSBmb3JiaW5kZWxzZSBtZWQgbWluZXJlc2VlcnZhc2pvbmVyIHZpc25pbmdlci4gRGVubmUgcGFyYW1ldGVyIHRpbGxhdGVyICZhcmluZzsgdmlzZSBhbGxlIHJlc2VydmFzam9uZXIsIGlua2x1ZGVydCBoaXN0b3Jpc2tlIHJlc2VydmFzam9uZXIuJzsKJGxhbmdbJ2hlbHBfc29ydGJ5J10gPSAnIA0KVGlsZ2plbmdlbGlnIGkgZm9yYmluZGVsc2UgbWVkIG1pbmVyZXNlcnZham9uZXIobXlyZXNlcnZhdGlvbnMpIHZpc25pbmcgb2cgcmVzc3VycyBzYW1tZW5kcmFnc3Zpc25pbmcsIERlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IGVuZHJlIHAmYXJpbmc7IHNvcnRlcmluZ2VuIGZvciB2aXN0ZSBlbGVtZW50ZXIuIE11bGlnZSB2ZXJkaWVyIGVyOjxici8+DQpSZXNzdXJzIHNhbW1lbmRyYWdzdmlzbmluZzo8YnIvPg0KPHVsPg0KICA8bGk+bmFtZTwvbGk+DQogIDxsaT5wcmljZTwvbGk+DQo8L3VsPg0KbWluZXJlc2VydmFzam9uZXIobXllc2VydmF0aW9ucykgdmlzbmluZzo8YnIvPg0KPHVsPg0KICA8bGk+c3RhcnRfZGF0ZTwvbGk+DQogIDxsaT5lbmRfZGF0ZTwvbGk+DQogIDxsaT5wcmljZTwvbGk+DQogIDxsaT5jcmVhdGVfZGF0ZTwvbGk+DQogIDxsaT5tb2RpZmllZF9kYXRlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9zb3J0b3JkZXInXSA9ICdUaWxnamVuZ2VsaWcgaSBmb3JiaW5kZWxzZSBtZWQgcmVzc3VycyBzYW1tZW5kcmFnc3Zpc25pbmcgb2cgbWluZXJlc2VydmFzam9uZXIobXlyZXNlcnZhdGlvbnMpIHZpc25pbmcuIERlbm5lIHBhcmFtZXRlciB0aWxsYXRlciAmYXJpbmc7IGVuZHJlIHAmYXJpbmc7IHNvcnRlcmluZ2VuIGZvciB2YWxndCBkYXRhLiAgTXVsaWdlIHZlcmRpZXIgZXI6PGJyLz48dWw+PGxpPmFzYyAtIHN0aWdlbmRlPC9saT48bGk+ZGVzYyAtIHN5bmtlbmRlPC9saT48L3VsPic7CiRsYW5nWydoZWxwX3N1bW1hcnlwYWdlJ10gPSAnVGlsZ2plbmdlbGlnIGkgZm9yYmluZGVsc2UgbWVkIHNlYXJjaCBoYW5kbGluZ2VuLiBEZW5uZSBwYXJhbWV0ZXIgc3Blc2lmaXNlcmVyIGlkJiMwMzk7ZW4gZWxsZXIgYWxpYXMgdGlsIHNpZGVuIHNvbSBkZW4gcmVzdWx0YXRldCBhdiBzYW1tZW5kcmFnc3Zpc25pbmdlbiBza2FsIHZpc2VzIHAmYXJpbmc7LiBPbSBkZW5uZSBwYXJhbWV0ZXIgZXIgc2F0dCAtIHMmYXJpbmc7IGVyIGlubGluZSBzYXR0IHRpbCB1c2Fubi4nOwokbGFuZ1snaGVscF9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUaWxnamVuZ2VsaWcgZm9yIHN0YW5kYXJkIChzYW1tZW5kcmFnKSB2aXNuaW5nLg0KRGVubmUgcGFyYW1ldGVyIHRpbGxhdGVyICZhcmluZzsgc3Blc2lmaXNlcmUgZW4gc2FtbWVuZHJhZ3NtYWwgc29tIGlra2UgZXIgc3RhbmRhcmQgJmFyaW5nOyBiZW55dHRlIGZvciB2aXNuaW5nZW4nOwokbGFuZ1snaGVscF95ZWFyJ10gPSAnQmVueXR0ZXQgbWVkIGFkZHJlc3ZuIHNramVtYWV0LCB0aWxsYXRlciBkZW5uZSBwYXJhbWV0ZXJlbiAmYXJpbmc7IHNwZXNpZmlzZXJlIGV0IHN0YW5kYXJkICZhcmluZztyLiBCZW55dHRldCBtZWQgZGFnc3Zpc25pbmdzaGFuZGxpbmdlbiB2aWwgZGVubmUgcGFyYW1ldGVyIHRpbGxhdGUgJmFyaW5nOyBzcGVzaWZpc2VyZSBtJmFyaW5nO2wmYXJpbmc7cmV0Lic7CiRsYW5nWydoaXN0b3JpY2FsX2NvbXBhcmlzb24nXSA9ICdIaXN0b3Jpc2sgc2FtbWVubGlnbmluZyc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdlJ10gPSAnQmlsZGUnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnQmlsZGUnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfY29uZmlnJ10gPSAnQmlsZGViZWhhbmRsaW5ncyBpbm5zdGlsbGlpbmdlcic7CiRsYW5nWydpbmZvX2FkZF91c2VyX2FjY291bnQnXSA9ICdWaXMgc2tqZW1hIGZyYSBicnVrZXJhZG1pbmlzdHJlcmluZ3NncmVuc2Vzbml0dGV0IGZvciAmYXJpbmc7IHRpbGxhdGUgJmFyaW5nOyBsZWdnZSB0aWwgZW4gbnkgYnJ1a2Vya29udG8nOwokbGFuZ1snaW5mb19hZGp1c3RtZW50X3ZhbHVlcyddID0gJ0p1c3RlcmluZ3N2ZXJkaWVyIGthbiBzcGVzaWZpc2VyZXMgc29tIFtzeW1ib2xdIyMuIyMuICBTeW1ib2xldCBrYW4gdiZhZWxpZztyZSBlbiBhdiArLC0sIGVsbGVyICouICBGLmVrcy46ICowLjg1IGVsbGVyICsxNS4yNS4gT20gaW5nZW4gc3ltYm9sIGVyIHNwZXNpZmlzZXJ0LCB2aWwgKyBibGkgYmVueXR0ZXQuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdEZW5uZSBtYWxlbiBkZWZpbmVyZXIgaHZvcmRhbiBkZXQgYXZhbnNlcnRlIHMmb3NsYXNoO2tlc2tqZW1hZXQgZXIsIHNvbSB2aXNlcyBtZWQgJnF1b3Q7c2VhcmNoJnF1b3Q7IGhhbmRsaW5nZW4uIER1IGthbiBiZW55dHRlIGVuaHZlciBzbWFydHlsb2dpa2sgb2cgdGFnZ2VyIGkgZGVubmUgbWFsZW4uJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIHZpc2VyIGVuIGxpc3RlIG1lZCBkZSB0aWxnamVuZ2VsaWdlIGF2YW5zZXJ0ZSBzJm9zbGFzaDtrZXNramVtYW1hbGVyLCBmb3IgYnJ1ayBtZWQgJnF1b3Q7c2VhcmNoJnF1b3Q7IGhhbmRsaW5lbic7CiRsYW5nWydpbmZvX2FsbG93X25vX3ByaWNlcyddID0gJ0Jlbnl0dGV0IGZvciAmYXJpbmc7IGJvb2tlIHJlc3N1cnNlciBodm9yIHByaXMgaWtrZSBlciBpbnZvbHZlcnQnOwokbGFuZ1snaW5mb19idWxrZGlzY291bnRfYWRqdXN0bWVudF92YWx1ZXMnXSA9ICdKdXN1dGVyaW5nc3ZlcmRpZXIga2FuIHNwZXNpZmlzZXJlcyBwJmFyaW5nOyBmb3JtZW4gW3N5bWJvbF0jIy4jIy4gIFN5bWJvbCBrYW4gdiZhZWxpZztyZSBlbiBhdiArLC0sIGVsbGVyICouICBmLmVrcy46ICowLjg1IGVsbGVyICsxNS4yNS4gT20gaW5nZW4gc3ltYm9sIGVyIHNwZXNpZmlzZXJ0LCBlciArIGFudGF0dC4gT20gZGV0IHNwZXNpZmlzZXJlcyBldCBhbnRhbGwgYXYgZnJpZSBkYWdlciwgZXIgZW4gaW50ZWdlciB2ZXJkaSBmb3J2ZW50ZXQuJzsKJGxhbmdbJ2luZm9fY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdTcGVzaWZpc2VyIGZvcm1hdGV0IHNvbSByZXNzdXJzZXIgb2cgYmVnaXZlbmhldGVyIHNrYWwgdmlzZXMgaSBrYWxlbmRlciB2aXNuaW5nLiBEdSBrYW4gYmVueXR0ZSBlbmh2ZXIgc21hcnR5bG9naWtrIGVsbGVyIHZhcmlhYmxlciBzb20gbnlsaWcgaGFyIGJsaXR0IGRlZmluZXJ0LCBlbGxlciBkZSBzb20gc3Blc2lmaWt0IGhhciBibGl0dCBnam9ydCB0aWxnamVuZ2VsaWdlIGZvciBkZW5uZSBtYWxlbic7CiRsYW5nWydpbmZvX2NhbGVuZGFyX3RlbXBsYXRlc190YWInXSA9ICdEZW5uZSBmYW5lbiBpbm5laG9sZGVyIGVuIGxpc3RlIG1lZCBkZSB0aWxnamVuZ2VsaWdlIGthbGVuZGVybWFsZXIgc29tIGJlbnl0dGVzIHRpbCBmb3JzaWRlKGZyb250ZW5kKSBrYWxlbmRlcnZpc25pbmcuJzsKJGxhbmdbJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnRGV0dGUgZGVmaW5lcmVyIHV0c2VlbmRldCBwJmFyaW5nOyBlcG9zdGVuIHNvbSB2aWwgYmxpIHNlbmR0IHRpbCBicnVrZXJlbiBuJmFyaW5nO3IgZGVubmUgbWFsZW4gYmVueXR0ZXMuIER1IGthbiBiZW55dHRlIGVuaHZlciBvZyBhbGxlIHNtYXJ0eWxvZ2lra2VyIG9nIHRhZ2dlciBpIGRlbm5lIG1hbGVuLiBGJm9zbGFzaDtsZ2VuZGUgdmFyaWFibGVyIGVyIHNwZXNpZWxsZSBmb3IgZGVubmUgbWFsZW46IHskc3ViamVjdH0gLSBFbW5ldCBwJmFyaW5nOyBlcG9zdGVuLCB7JGJvZHl9IC0gQnImb3NsYXNoO2R0ZWtzdGVuKGJvZHkpIHAmYXJpbmc7IGVwb3N0ZW4nOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgZW4gbGlzdGUgbWVkIGRlIHRpbGdqZW5nZWxpZ2Uga3VuZGUgZXBvc3RtYWxlciBzb20gYmVueXR0ZXMgbiZhcmluZztyIGRldCBzZW5kZXMgbWVsZGluZyB0aWwga3VuZGVyIHNvbSBoYXIgYmVzdGlsdCBlbiByZXNlcnZhc2pvbic7CiRsYW5nWydpbmZvX2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdTZXBzaWZpc2VyIGZvcm1hdGV0IHNvbSBlZ2Vuc2thcGVyIHNrYWwgbGlzdGVzIGkgYnJ1a2VybGlzdGVyLjxici8+QmVueXR0IHskcHJvcGVydHluYW1lfSBmb3IgJmFyaW5nOyBpZGVudGlmaXNlcmUgZW4gZW5rZWx0IGVnZW5za2FwLjxici8+U2UgRnJvbnRFbmRVc2VycyBtb2R1bGVuIGZvciBsaXN0ZW4gb3ZlciBlZ2Vuc2thcGVyIGFzc29zaWVydCBtZWQgZW4gYmVzdGVtdCBncnVwcGUuPGJyLz5EdSBrYW4gb2dzJmFyaW5nOyBiZW55dHRlIHskdXNlcm5hbWV9IHRhZ2dlbiBmb3IgJmFyaW5nOyBpbmRpa2VyZSBicnVrZXJlbnMgaW5ubG9nZ2luZ3NuYXZuLic7CiRsYW5nWydpbmZvX2RheV90ZW1wbGF0ZSddID0gJ1NwZXNpZmlzZXIgZm9ybWF0ZXQgc29tIHJlc3N1cnNlciBvZyBiZWdpdmVuaGV0ZXIgc2thbCB2aXNlcyBtZWQgaSBkYWcgdmlzbmluZ2VyLiBEdSBrYW4gYmVueXR0ZSBlbmh2ZXIgc21hcnR5bG9naWtrIGVsbGVyIHZhcmlhYmxlciBzb20gbnlsaWcgZXIgZGVmaW5lcnRlIGVsbGVyIGRlIHNvbSBzcGVzaWZpa3QgZXIgZ2pvcnQgdGlsZ2plbmdlbGlnZSBmb3IgZGVubmUgbWFsZW4nOwokbGFuZ1snaW5mb19kYXlfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgZW4gbGlzdGUgbWVkIGRlIHRpbGdqZW5nZWxpZ2UgZGFnIHZpc25pbmdzbWFsZW5lIHNvbSBrYW4gYmVueXR0ZXMgdmVkIGtsaWtrIHAmYXJpbmc7IGVuIGJlc3RlbXQgZGFnIGZyYSBzdGFuZGFyZCBrYWxlbmRlcnZpc25pbmcnOwokbGFuZ1snaW5mb19kZXBvc2l0J10gPSAnRGV0IGgmb3NsYXNoO3llc3RlIGJlbCZvc2xhc2g7cGV0IGJlcmVnbmV0IHZpbCBibGkgYnJ1a3Qgc29tIGRldCBtaW5zdGUgaW5uc2t1ZGQgZm9yIGh2ZXIgYmVzdGlsbGluZy4gQmVsJm9zbGFzaDtwIHZpbCBpa2tlIG92ZXJzdGlnZSBkZXQgc2FtbGVkZSByZXNlcnZhc2pvbnNiZWwmb3NsYXNoO3AnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgZW4gbGlzdGUgbWVkIGRlIHRpbGdqZW5nZWxpZ2UgcmVzc3VycyBkZXRhbGptYWxlci4gRGlzc2UgbWFsZXIgYmVueXR0ZXMgdGlsIGRldGFsanZpc25pbmcgYXYgZGUgZm9yc2tqZWxsaWdlIHJlc3N1cnNlbmUnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdTcGVzaWZpc2VyIGZvcm1hdGV0IHNvbSByZXNzdXJzZXIgc2thbCB2aXNlcyBpIGRldGFsanZpc25pbmdlci4gRHUga2FuIGJlbnl0dGUgZW5odmVyIHNtYXJ0eWxvZ2lrayBlbGxlciB2YXJpYWJsZXIgc29tIG55bGlnIGhhciBibGl0dCBkZWZpbmVydCwgZWxsZXIgZGUgc29tIHNwZXNpZmlrdCBoYXIgYmxpdHQgZ2pvcnQgdGlsZ2plbmdlbGlnZSBmb3IgZGVubmUgbWFsZW4nOwokbGFuZ1snaW5mb19lbWFpbF9zZW50J10gPSAnRGluIGVwb3N0IGVyIHNlbmR0LiBFbiByZWdpc3RyZXJpbmcgYXYgZGVubmUgZXBvc3QgZXIgb2dzJmFyaW5nOyBrb2JsZXQgdGlsIGJlaGFuZGxpbmdzZGV0YWxqZW5lIGZvciBzZW5lcmUgcmVmZXJhbnNlJzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdTcGVzaWZpc2VyIGZvcm1hdGV0IHAmYXJpbmc7IHV0ZGF0YWVuIGZvciBNaW5lRmVzZXJ2YXNqb25lcihNeVJlc2VydmF0aW9ucykgcmFwcG9ydGVuJzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgZW4gbGlzdGUgbWVkIGRlIHRpbGdqZW5nZWxpZ2UgbWluZXJlc2VydmFzam9uZXIobXlyZXNlcnZhdGlvbnMpIHZpc25pbmdzbWFsZXIgc29tIGJlbnl0dGVzIG1lZCBhY3Rpb249bXlyZXNlcnZhdGlvbnMnOwokbGFuZ1snaW5mb19vdmVyY2FwX2Ftb3VudCddID0gJ0RhZ2xpZyBiZWwmb3NsYXNoO3Agc29tIHNrYWwgbGVnZ2VzIHRpbCAocGVyIGVuaGV0KSB0aWwgcmVzZXJ2YXNqb25zcHJpc2VuLCBmb3IgaHZlciBlbmhldCBtZXIgZW5uIGRlbiBzYXR0ZSBrYXBhc2l0ZXRlbiAoa3VuIGd5bGRpZyBvbSBrYXBhc2l0ZXRlbiBlciBlbiBneWxkaWcgdmVyZGkpLic7CiRsYW5nWydpbmZvX3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdTcGVzaWZpc2VyIGVuIHNpZGUgJmFyaW5nOyBhdXRvbWF0aXNrIHZpZGVyZXNlbmRlIHRpbCBvbSBub2VuIGZvcnMmb3NsYXNoO2tlciAmYXJpbmc7IGYmYXJpbmc7ciB0aWxnYW5nIHRpbCByZXNlcnZhc2pvbnNramVtYWV0IHV0ZW4gJmFyaW5nOyB2JmFlbGlnO3JlIGxvZ2dldCBpbm4uJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYyddID0gJ1NwZXNpZmlzZXIgbGlzdGVuIG1lZCBicnVrZXJlIChlbGxlciBncnVwcGVyKSBzb20gc2thbCBoYSBlbiBrb3BpIGF2IHJlc2VydmFzam9uIGJla3JlZnRlbHNlIGVwb3N0ZW4uIEUtcG9zdGFkcmVzc2UgZWdlbnNrYXBlbiBmb3IgaHZlciB2YWxndCBicnVrZXIgbSZhcmluZzsgdiZhZWxpZztyZSBneWxkaWcuJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnU3Blc2lmaXNlciBzaWRlbiBzb20gZGV0IGF1dG9tYXRpc2sgc2thbCB2aWRlcmVzZW5kZXMgdGlsIGV0dGVyIGVuIGJlcyZvc2xhc2g7a2VyIGhhciBvcHByZXR0ZXQgZW4gcmVzZXJ2YXNqb24nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnXSA9ICdTcGVzaWZpc2VyIHNpZGVuIHNvbSBza2FsIGJlbnl0dGVzIGZvciByZWRpZ2VyIHJlc2VydmFzam9uIHVybCYjMDM5O2VyLCBvZyBzZW5kIG1lbGRpbmcgdXJsJiMwMzk7ZXInOwokbGFuZ1snaW5mb19yZXNvdXJjZV90eXBlJ10gPSAnU3Blc2lmaXNlciB0eXBlIHJlc3N1cnMgZHUgdmlsIGJlaGFuZGxlLiBGLmVrcy46ICZxdW90O3JvbSZxdW90OyBlbGxlciAmcXVvdDtiaWwmcXVvdDsgb3N2LiBEZXR0ZSB2aWwgZW5kcmUgbmF2bmdpdmluZ2VuIHAmYXJpbmc7IGhlbGUgbW9kdWxlbi4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZSddID0gJ1NwZXNpZmlzZXIgZm9ybWF0ZXQgcCZhcmluZzsgcmVzZXJ2YXNqb25za2plbWFldC4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnU3Blc2lmaXNlciBmb3JtYXRldCBwJmFyaW5nOyByZXNlcnZhc2pvbnNiZWtyZWZ0ZWxzZSBlcG9zdG1lbGRpbmdlbi4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3Blc2lmaXNlciBmb3JtYXRldCBwJmFyaW5nOyByZXNlcnZhc2pvbnNiZWtyZWZ0ZWxzZSByYXBwb3J0ZW4uJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnRGVubmUgZmFuZW4gaW5uZWhvbGRlciBlbiBsaXN0ZSBtZWQgZGUgdGlsZ2plbmdlbGlnZSBiZWtyZWZ0ZWxzZSBlcG9zdG1hbGVyLiBEaXNzZSBtYWxlciBiZW55dHRlcyB0aWwgZXBvc3RlbiBzb20gc2VuZGVzIHRpbCBrdW5kZW4gZXR0ZXIgYXQgZW4gbmV0dHN0ZWRzYmVzJm9zbGFzaDtrZXIgb3BwcmV0dGVyIGVuIHJlc2VlcnZhc2pvbi4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlc190YWInXSA9ICdEZW5uZSBmYW5lbiBpbm5laG9sZGVyIGVuIGxpc3RlIG1lZCBkZSB0aWxnamVuZ2VsaWdlIGJla3JlZnRlbHNlbWFsZXIuIERpc3NlIG1hbGVuZSBiZW55dHRlcyB0aWwgbWVsZGluZ2VuIG9nIGRhdGEgc29tIHZpc2VzIGV0dGVyIGF0IGVuIG5ldHRzdGVkc2JlcyZvc2xhc2g7a2VyIG9wcHJldHRlciBlbGxlciByZWRpZ2VyZXIgZW4gcmVzZXJ2YXNqb24uJzsKJGxhbmdbJ2luZm9fcmVzdm5fdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgZW4gbGlzdGUgbWVkIGRlIHRpbGdqZW5nZWxpZ2UgcmVzZXJ2YXNqb24gc2tqZW1hbWFsZXIuIERpc3NlIG1hbGVuZSBiZW55dHRlcyB0aWwgc2tqZW1hZXQgc29tIHZpc2VzIG4mYXJpbmc7ciBlbiBsZWdnZXIgdGlsIGVsbGVyIHJlZGlnZXJlciBlbiByZXNlcnZhc2pvbi4nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdEZW5uZSBtYWxlbiBrb250cm9sbGVyZXIgdXRzZWVuZGV0IHAmYXJpbmc7IHNlbmRlcG9zdCBza2plbWFldCwgc29tIGJydWtlcyBuJmFyaW5nO3IgZW4gbmV0dHN0ZWRzYmVzJm9zbGFzaDtrZXIgJm9zbGFzaDtuc2tlciAmYXJpbmc7IHNlbmRlIGVuIG1lbGRpbmcgdGlsICZxdW90O2J1c2luZXNzIG93bmVycyZxdW90OyBtZWQgdGlsZiZvc2xhc2g7eWVuZGUgaW5mb3JtYXNqb24gZWxsZXIgc3Amb3NsYXNoO3JzbSZhcmluZztsIG9tIGVuIHJlc2VydmFzam9uJzsKJGxhbmdbJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlc190YWInXSA9ICdEZW5uZSBmYW5lbiBpbm5laG9sZGVyIGVuIGxpc3RlIG1lZCBkZSB0aWxnamVuZ2VsaWdlIHNlbmRlcG9zdCBza2plbWFtYWxlci4gRGlzc2UgbWFsZW5lIGJlbnl0dGVzIHRpbCBza2plbWFldCBzb20gdmlzZXMgbiZhcmluZztyIGRldCBzZW5kZXMgZW4gZXBvc3QgcmVsYXRlcnQgdGlsIGVuIHJlc2VydmFzam9uJzsKJGxhbmdbJ2luZm9fc2VuZF9tZXNzYWdlJ10gPSAnQmVueXR0IGRldHRlIHNramVtYSBmb3IgJmFyaW5nOyB0aWxmJm9zbGFzaDtyZSBtZXIgaW5mb3JtYXNqb24gaSBmb3JiaW5kZWxzZSBtZWQgZGluIHJlc2VydmFzam9uIGVsbGVyIGZvciAmYXJpbmc7IHNwJm9zbGFzaDtycmUgb20gbm9lIGkgZm9yYmluZGVsc2UgbWVkIHJlc2VydmFzam9uZW4gZGluJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1NwZXNpZmlzZXIgZm9ybWF0ZXQgc29tIHJlc3N1cnNlciBza2FsIHZpc2VzIGkgc2FtbWVuZHJhZ3N2aXNuaW5nZXIuICBEdSBrYW4gYmVueXR0ZSBlbmh2ZXIgc21hcnR5bG9naWtrIGVsbGVyIHZhcmlhYmxlciBzb20gbnlsaWcgaGFyIGJsaXR0IGRlZmluZXJ0LCBlbGxlciBkZSBzb20gc3Blc2lmaWt0IGhhciBibGl0dCBnam9ydCB0aWxnamVuZ2VsaWdlIGZvciBkZW5uZSBtYWxlbic7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ0Rlbm5lIGZhbmVuIGlubmVob2xkZXIgZW4gbGlzdGUgbWVkIGRlIHRpbGdqZW5nZWxpZ2UgcmVzc3VycyBzYW1tZW5kcmFnc21hbGVyLiBEaXNzZSBtYWxlbmUgYmVueXR0ZXMgdGlsIHNhbW1lbmRyYWdzdmlzbmluZ2VyIGF2IGRlIGZvcnNramVsbGlnZSByZXNzdXJzZW5lIDxlbT4oZGV0dGUgZXIgc3RhbmRhcmQgdmlzbmluZ2VuKTwvZW0+JzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ1N5c3RlbXN0YW5kYXJkIEF2YW5zZXJ0IHMmb3NsYXNoO2tlc2tqZW1hbWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1N5c3RlbSBzdGFuZGFyZCBLYWxlbmRlciB2aXNuaW5nc21hbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnU3lzdGVtIHN0YW5kYXJkIEt1bmRlIGVwb3N0bWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kYXlfdGVtcGxhdGUnXSA9ICdTeXN0ZW1zdGFuZGFyZCBkYWcgdmlzbmluZ3NtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBzdGFuZGFyZCBSZXNzdXJzIGRldGFsam1hbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfbXlyZXN2X3RlbXBsYXRlJ10gPSAnU3lzdGVtIHN0YW5kYXJkICZxdW90O01pbmUgcmVzZXJ2YXNqb25lciZxdW90OyB2aXNuaW5nc21hbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fdGVtcGxhdGUnXSA9ICdTeXN0ZW0gc3RhbmRhcmQgUmVzZXJ2YXNqb25za2plbWEgbWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3lzdGVtIHN0YW5kYXJkIFJlc2VydmFzam9uc2Jla3JlZnRlbHNlIG1hbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBzdGFuZGFyZCBSZXNydmFzam9uc2Jla3JlZnRlbHNlIGVwb3N0bWFsJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gc3RhbmRhcmQgU2VuZCBlcG9zdCBza2plbWFtYWwnOwokbGFuZ1snaW5mb19zeXNkZmx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gc3RhbmRhcmQgUmVzc3VycyBzYW1tZW5kcmFnc21hbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfdGVtcGxhdGUnXSA9ICdFbmRyaW5nIGkgZGVubmUgbWFsIHZpbCBpa2tlIGhhIG5vZW4gdW1pZGRlbGJhciB2aXJrbmluZyBwJmFyaW5nOyBub2VuIHZpc25pbmcuIERldHRlIHNramVtYSBrb250cm9sbGVyZXIgaW5uaG9sZGV0IGkgbWFsZW4gc29tIG9wcHJldHRlcyBuJmFyaW5nO3IgZHUga2xpa2tlciAmcXVvdDtOeSBtYWwmcXVvdDsgaSBkZW4gYWt0dWVsbGUgbWFsZmFuZW4uJzsKJGxhbmdbJ2luZm9fdmlld191c2VyJ10gPSAnVmlzIGRldGFsamVydCBpbmZvcm1hc2pvbiBvbSBkZW5uZSBicnVrZXJlbic7CiRsYW5nWydpbml0aWFsX3Jlc2VydmF0aW9uX25vdGVzJ10gPSAnSW5ubGVkZW5kZSByZXNlcnZhc2pvbnNub3Rlcic7CiRsYW5nWydpbl9wcm9ncmVzcyddID0gJ1VuZGVyIGJlaGFuZGxpbmcnOwokbGFuZ1sna2V5d29yZHMnXSA9ICdTJm9zbGFzaDtrZW9yZCc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdTaXN0IGVuZHJldCc7CiRsYW5nWydsZWdlbmQnXSA9ICdUZWduZm9ya2xhcmluZyc7CiRsYW5nWydsYmxfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzJ10gPSAnQXZhbnNlcnRlIHMmb3NsYXNoO2tlc2tqZW1hbWFsZXInOwokbGFuZ1snbGJsX2JhY2snXSA9ICdUaWxiYWtlJzsKJGxhbmdbJ2xibF9jYWxlbmRhciddID0gJ0thbGVuZGVyJzsKJGxhbmdbJ2xibF9jYWxlbmRhcl92aWV3X3RlbXBsYXRlcyddID0gJ0thbGVuZGVyIHZpc25pbmdzbWFsZXInOwokbGFuZ1snbGJsX2NhdGVnb3JpZXMnXSA9ICdBdHRyaWJ1dHRlcic7CiRsYW5nWydsYmxfY3VzdG9tZXJfZW1haWxfdGVtcGxhdGVzJ10gPSAnS3VuZGUgZXBvc3RtYWxlcic7CiRsYW5nWydsYmxfY3VzdG9tX2ZpZWxkcyddID0gJ0JydWtlcmRlZmluZXJ0ZSBmZWx0ZXInOwokbGFuZ1snbGJsX2RheV92aWV3X3RlbXBsYXRlcyddID0gJ0RhZyB2aXNuaW5nc21hbGVyJzsKJGxhbmdbJ2xibF9kZWZhdWx0X3RlbXBsYXRlcyddID0gJ1N0YW5kYXJkbWFsZXInOwokbGFuZ1snbGJsX2RldGFpbF90ZW1wbGF0ZXMnXSA9ICdEYXRhbGptYWxlcic7CiRsYW5nWydsYmxfZXZlbnRzJ10gPSAnQmVnaXZlbmhldGVyJzsKJGxhbmdbJ2xibF9ldmVudF90eXBlcyddID0gJ0JlZ2l2ZW5oZXRzdHlwZXInOwokbGFuZ1snbGJsX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlcyddID0gJ01pbmUgcmVzZXJ2YXNqb25lciBtYWxlcic7CiRsYW5nWydsYmxfcHJlZmVyZW5jZXMnXSA9ICdJbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbnMnXSA9ICdSZXNlcnZhc2pvbmVyJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3RlbXBsYXRlcyddID0gJ1Jlc2VlcnZhc2pvbnNiZWtyZWZ0ZWxzZXMgZXBzb3RtYWxlcic7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fY29uZmlybV90ZW1wbGF0ZXMnXSA9ICdSZXNlZXJ2YXNqb25zYmVrcmVmdGVsc2VzIG1hbGVyJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9mb3JtX3RlbXBsYXRlcyddID0gJ1Jlc2VlcnZhc2pvbnMgc2tqZW1hbWFsZXInOwokbGFuZ1snbGJsX3Jlc291cmNlcyddID0gJ1Jlc3N1cnNlcic7CiRsYW5nWydsYmxfc2VuZGVtYWlsX3RlbXBsYXRlcyddID0gJ1NlbmQgZXBvc3Qgc2tqZW1hbWFsZXInOwokbGFuZ1snbGJsX3NldHRpbmdzJ10gPSAnRW5kcmUgaW5uc3RpbGxpbmdlcic7CiRsYW5nWydsYmxfc3VtbWFyeV90ZW1wbGF0ZXMnXSA9ICdTYW1tZW5kcmFnc21hbGVyJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdCZWhhbmRsZSBtYWxlcic7CiRsYW5nWydtYW5hZ2VfY3VzdG9tZXJfY29udGFjdF9yZXN2biddID0gJ0JlaGFuZGxlIGt1bmRla29udGFrdCBmb3IgcmVzZXJ2YXNqb24nOwokbGFuZ1snbWFuYWdlciddID0gJ0JlaGFuZGxlcic7CiRsYW5nWydtYXhfbGVuZ3RoJ10gPSAnTWFrcyBsZW5nZGUnOwokbGFuZ1snbWVzc2FnZV90ZW1wbGF0ZSddID0gJ01lbGRpbmdzbWFsJzsKJGxhbmdbJ21lc3NhZ2VfdGV4dCddID0gJ01lbGRpbmdzIGJyJm9zbGFzaDtkdGVrc3QnOwokbGFuZ1snbWluaW11bV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnTWluaW11bSBkZXBvc2l0dW0gcCZhcmluZztrcmV2ZCc7CiRsYW5nWydtb2RpZmllZF9kYXRlJ10gPSAnRW5kcmV0JzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ0VuIHJlc3N1cnMgb2cgdGlsZ2plbmdlbGlnaGV0IGJlaGFuZGxlciBmb3IgJmFyaW5nOyBmb3IgcGxhbmxlZ2dlIG9nIHJlc2VydmVyZSByZXNzdXJzZXIgcCZhcmluZzsgZGFnbGlnIGJhc2lzJzsKJGxhbmdbJ21vbmRheSddID0gJ01hbmRhZyc7CiRsYW5nWydtb250aCddID0gJ20mYXJpbmc7bmVkJzsKJGxhbmdbJ21vbnRobGlzdF9icmllZiddID0gJ0phbi9GZWIvTWFyL0Fwci9NYWkvSnVuL0p1bC9BdWcvU2VwL09rdC9Ob3YvRGVzJzsKJGxhbmdbJ21vcmUnXSA9ICdNZXInOwokbGFuZ1snbmFtZSddID0gJ05hdm4nOwokbGFuZ1snbmV4dCddID0gJ05lc3RlJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydubyddID0gJ05laSc7CiRsYW5nWydub25ib29rYWJsZV9ibG9ja3MnXSA9ICdTdGVuZ3RlIGJsb2trZXIoZCZvc2xhc2g7Z24pJzsKJGxhbmdbJ25vbmUnXSA9ICdJbmdlbic7CiRsYW5nWydub3RlcyddID0gJ05vdGF0ZXInOwokbGFuZ1snbm90X2FwcGxpY2FibGUnXSA9ICdJL1QnOwokbGFuZ1snbm90X2NhbGN1bGF0ZWQnXSA9ICdJa2tlIGthbGt1bGVydCc7CiRsYW5nWydudW1fcGVvcGxlJ10gPSAnQW50YWwgcGVyc29uZXInOwokbGFuZ1snb2NjdXJzJ10gPSAnT3Bwc3QmYXJpbmc7cic7CiRsYW5nWydvZiddID0gJ2F2JzsKJGxhbmdbJ29uJ10gPSAnUCZhcmluZzsnOwokbGFuZ1snb25lX2hvdXInXSA9ICdFbiB0aW1lJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHNqb25lcic7CiRsYW5nWydvcmRlciddID0gJ1Jla2tlZiZvc2xhc2g7bGdlJzsKJGxhbmdbJ292ZXJjYXBfYW1vdW50J10gPSAnT3ZlcmthcGFzaXRldCBwcmlzanVzdGVyaW5nJzsKJGxhbmdbJ3BhZ2UnXSA9ICdTaWRlJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdBbnRhbGwgZWxlbWVudGVyIHBlciBzaWRlJzsKJGxhbmdbJ3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdTaWRlICZhcmluZzsgc2VuZGUgdGlsIG4mYXJpbmc7ciBpa2tlIGxvZ2dldCBpbm4nOwokbGFuZ1sncGFydDEnXSA9ICdEZWwgMSc7CiRsYW5nWydwYXJ0aWFsbHlfcmVzZXJ2ZWQnXSA9ICclcy8lcyBwZXJpb2RlciByZXNlcnZlcnQnOwokbGFuZ1sncGFydGlhbGx5X3Jlc2VydmVkX2xibCddID0gJyVzIGF2ICVzIHBlcmlvZGVyIHJlc2VydmVydCc7CiRsYW5nWydwYXN0X21lc3NhZ2VzJ10gPSAnVGlkbGlnZXJlIG1lbGRpbmdlcic7CiRsYW5nWydwZW5kaW5nJ10gPSAnVmVudGVyJzsKJGxhbmdbJ3BlcmNlbnRhZ2VfZGVwb3NpdF9yZXF1aXJlZCddID0gJ01pbmltaW11bSBwcm9zZW50YW5kZWwgYXYgdG90YWwgYmVzdGlsbGluZyBzb20ga3JldmVzIHNvbSBkZXBvc2l0dW0gPGVtPiAodXR0cnlrdCBpIGRlc2ltYWxmb3JtYXQpIDwvIGVtPic7CiRsYW5nWydwZXJjZW50X2Jvb2tlZCddID0gJ1Byb3NlbnQgYmVzdGlsdCc7CiRsYW5nWydQTSddID0gJ1BNICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0F2YWlsYWJpbGl0eSBtb2R1bGVuIGhhciBibGl0dCBpbnN0YWxsZXJ0LiBWZW5ubGlnc3Qgc2pla2sgYXQgZGUgbiZvc2xhc2g7ZHZlbmRpZ2UgZ3J1cHBlciBoYXIgZGUgbiZvc2xhc2g7ZHZlbmRpZ2UgcmV0dGlnaGV0ZXIgdGlsICZhcmluZzsgYmVoYW5kbGUgZGUgZm9yc2tqZWxsaWdlIGFzcGVrdGVuZSBpIGRlbm5lIG1vZHVsZW4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0F2YWlsYWJpbGl0eSBtb2R1bGVuLCBvZyBhbGxlIHRpbGgmb3NsYXNoO3JlbmRlIGRhdGEgaGFyIGJsaXR0IGZqZXJuZXQgZnJhIHN5c3RlbWV0LiBEdSBlciBuJmFyaW5nOyBmcmkgdGlsICZhcmluZzsgc2xldHRlIGZpbGVuZSBzb20gaGFyIHYmYWVsaWc7cnQga29ibGV0IHRpbCBkZW5uZSBtb2R1bGVuJzsKJGxhbmdbJ3ByZXYnXSA9ICdGb3JyaWdlJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCAnOwokbGFuZ1sncHJpY2UnXSA9ICdQcmlzJzsKJGxhbmdbJ3ByaWNlcyddID0gJ1ByaXNlcic7CiRsYW5nWydwcmljZV9hZGp1c3QnXSA9ICdKdXN0ZXIgcHJpc2VuIHAmYXJpbmc7ICVzIG1lZCBkZXR0ZSBiZWwmb3NsYXNoO3AuPGJyLz48ZW0+KGJlbnl0dCBldCBmb3JtYXQgc29tICowLjg1ICBlbGxlciAgLTEzICBlbGxlciAgKzI1KTwvZW0+JzsKJGxhbmdbJ3Byb21wdCddID0gJ1NwJm9zbGFzaDtyc20mYXJpbmc7bChQcm9tdCknOwokbGFuZ1sncHVibGljJ10gPSAnT2ZmZW50bGlnJzsKJGxhbmdbJ3F1YXJ0ZXJfaG91ciddID0gJ0t2YXJ0ZXInOwokbGFuZ1sncmVzZXJ2ZWQnXSA9ICdSZXNlcnZlcnQnOwokbGFuZ1sncmVzZXJ2YXRpb24nXSA9ICdSZXNlcnZhc2pvbic7CiRsYW5nWydyZXNlcnZhdGlvbl9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXNqb25zIGJha2dydW5uc2ZhcmdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZhc2pvbnNrb25mbGlrdCBiYWtncnVubnNmYXJnZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9kZXBvc2l0X3NldHRpbmdzJ10gPSAnUmVzZXJ2YXNqb24gZGVwb3NpdHVtaW5uc3RpbGxpbmdlcic7CiRsYW5nWydyZXNlcnZhdGlvbl9wZW5kaW5nX2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZhc2pvbiBwJmFyaW5nOyB2ZW50IGJha2dydW5uc2ZhcmdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpZyddID0gJ1Jlc2VydmFzam9uc2lubnN0aWxsaW5nZXInOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9hdHRhY2htZW50J10gPSAnRmlsIHNvbSBza2FsIHZlZGxlZ2dlcyBhbGxlIHJlc2VydmFzam9uc2Jla3JlZnRlbHNlIGVwb3N0ZXInOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYyddID0gJ0NDIGRpc3NlIGJydWtlcm5lIHZlZCByZXNlcnZhc2pvbnNiZWtyZWZ0ZWxzZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnXSA9ICdTZW5kIGVuIGVwb3N0IHRpbCBrdW5kZW4gbiZhcmluZztyIGVuIHJlc2VydmFzam9uIGVyIG9wcHJldHRldCc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSA9ICdFbW5lIHAmYXJpbmc7IFJlc2VydmFzam9uc2Jla3JlZnRlbHNlIGVwc290JzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1Jlc2VydmFzam9uIGJla3JlZnRlbHNlc2lkZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdCddID0gJ0RpbmUgdmFsZ3RlICVzIGVyIGlra2UgYWxsZSB0aWxnamVuZ2VsaWdlIHZvciBkZSB2YWxndGUgZGF0b2VyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NyZWF0ZWQnXSA9ICdSZXNlcnZhc2pvbiBvcHByZXR0ZXQnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnUmVzZXJ2YXNqb24gc3RhbmRhcmRzaWRlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RldGFpbHMnXSA9ICdSZXNlcnZhc2pvbnNkZXRhbGplcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdF9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2YXNqb25za29uZmxpa3QgZm9yZ3J1bm5zZmFyZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmFzam9uIGZvcmdydW5uc2ZhcmdlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfZm9yZWdyb3VuZF9jb2xvciddID0gJ0RlbHZpcyBib29rZXQgZm9yZ3J1bm5zZmFyZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fcGFydGlhbF9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnRGVsdmlzIGJvb2tldCBiYWtncnVubnNmYXJnZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0cyddID0gJ1Jlc2VydmFzam9uc2tvbXBvbmVudGVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BlbmRpbmdfZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmFzam9uIHAmYXJpbmc7IHZlbnQgZm9yZ3J1bm5zZmFyZ2UnOwokbGFuZ1sncmVzZXJ2YXRpb25fbnVtJ10gPSAnUmVzZXJ2YXNqb246ICUwNWQnOwokbGFuZ1sncmVzZXQnXSA9ICdOdWxsc3RpbGwnOwokbGFuZ1sncmVzb3VyY2UnXSA9ICdSZXNzdXJzJzsKJGxhbmdbJ3Jlc291cmNlcyddID0gJ1Jlc3N1cnNlcic7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzEnXSA9ICdSZXNlcnZlcnQgcCZhcmluZzsgJXMgYmFzaXMsIG1lZCAlcyBncmVuc2VyJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMiddID0gJ1Jlc2VydmVydCBwJmFyaW5nOyAlcyBiYXNpcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzMnXSA9ICdUaWxnamVuZ2VsaWcgZnJhICVzIHRpbCAlcyBvZyBmcmEgJXMgdGlsICVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfNCddID0gJ2luc2pla2tpbmdzdGlkIGVyICVzLCBvZyB1dHNqZWtraW5nc3RpZCBlciAlcyc7CiRsYW5nWydyZXNvdXJjZV90eXBlJ10gPSAnUmVzc3Vyc3R5cGUnOwokbGFuZ1sncm9vbSddID0gJ1JvbSc7CiRsYW5nWydyb29tcyddID0gJ1JvbSc7CiRsYW5nWydyZXF1aXJlX2RlcG9zaXQnXSA9ICdFciBldCBkZXBvc2l0dW0gbiZvc2xhc2g7ZHZlbmRpZz8nOwokbGFuZ1snc2F0dXJkYXknXSA9ICdMJm9zbGFzaDtyZGFnJzsKJGxhbmdbJ3NjaGVkdWxpbmcnXSA9ICdQbGFubGVnZ2luZyc7CiRsYW5nWydzY2hlZHVsaW5nX2ludGVydmFsJ10gPSAnRGVubmUgcmVzc3Vyc2VuIGVyIGJvb2tldCc7CiRsYW5nWydzZWFyY2gnXSA9ICdTJm9zbGFzaDtrJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdWZWxnIGVuJzsKJGxhbmdbJ3NlbmQnXSA9ICdTZW5kICc7CiRsYW5nWydzZW5kX2VtYWlsJ10gPSAnU2VuZCBlbiBlcHNvdCc7CiRsYW5nWydzZW50J10gPSAnU2VuZHQnOwokbGFuZ1snc3RhcnRfZGF0ZSddID0gJ1N0YXJ0IGRhdG8nOwokbGFuZ1snc3RhcnRfdGltZV8xJ10gPSAnU3RhcnQtdGlkIDEnOwokbGFuZ1snc3RhcnRfdGltZV8yJ10gPSAnU1RhcnQtdGlkIDInOwokbGFuZ1snc3RhdGlzdGljcyddID0gJ1N0YXRpc3Rpa2snOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzICc7CiRsYW5nWydzdGF0dXNfcm9vbXNfYXZhaWxhYmxlJ10gPSAnRGUgJXMgZHUgdmFsZ3RlIGVyIHRpbGdqZW5nZWxpZ2UgZm9yIGRpc3NlIGRhdG9lbmUnOwokbGFuZ1snc3Vial9yZV9yZXN2biddID0gJ1JlOiBSZXNlcnZhc2pvbiAlcyc7CiRsYW5nWydzdWJqZWN0J10gPSAnRW1uZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdVdGYmb3NsYXNoO3InOwokbGFuZ1snc3VuZGF5J10gPSAnUyZvc2xhc2g7bmRhZyc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1Rla3N0b21yJmFyaW5nO2RlJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZWtzdGZlbHQnOwokbGFuZ1sndGh1cnNkYXknXSA9ICdUb3JzZGFnJzsKJGxhbmdbJ3RpdGxlX2NvbmZsaWN0J10gPSAnRGV0IGVyIGVuIGtvbmZsaWt0fERldCBlciBlbiBrb25mbGlrdCBtZWxsb20gcmVzZWVydmFzam9uZW4gJTA0ZCBvZyAlMDRkLjxici8+PGJyLz5PZ3MmYXJpbmc7IGFuZHJlIGtvbmZsaWt0ZXIga2FuIGZvcmVrb21tZSBmb3IgZGVubmUgYmxva2tlbi4nOwokbGFuZ1sndGl0bGVfZ3JhcGhpbmcnXSA9ICdWaXMgZ3JhZmVyIG9nIHJhcHBvcnRlciBhdiBoaXN0b3Jpc2sgZGF0YSc7CiRsYW5nWyd0byddID0gJ1RpbCc7CiRsYW5nWyd0b3RhbF9ibG9ja3MnXSA9ICdUb3RhbHQgYmxva2tlcihkJm9zbGFzaDtnbiknOwokbGFuZ1sndHVlc2RheSddID0gJ1RpcnNkYWcnOwokbGFuZ1sndHlwZSddID0gJ1R5cGUgJzsKJGxhbmdbJ3VzZV9kYXRlc19pbl9maWx0ZXInXSA9ICdMZWdnIHRpbCBmJm9zbGFzaDtsZ2VuZGUgZGF0b2VyJzsKJGxhbmdbJ3ZhY2FudCddID0gJ0xlZGlnJzsKJGxhbmdbJ3ZpZXcnXSA9ICdWaXMnOwokbGFuZ1sndmlld19kYXknXSA9ICdWaXMgaW5mb3JtYXNqb24gb20gZGVubmUgZGFnZW4nOwokbGFuZ1sndmlld191c2VyJ10gPSAnVmlzIGRldGFsamVyIGZvciBnamVzdCc7CiRsYW5nWyd2aWV3X3JzcmNfZGV0YWlscyddID0gJ1ZpcyBkZXRhbGplciBmb3IgZiZvc2xhc2g7bGdlbmRlICVzJzsKJGxhbmdbJ3dlZG5lc2RheSddID0gJ09uc2RhZyc7CiRsYW5nWyd3ZWVrZGF5X3ByaWNlX2FkanVzdG1lbnRzJ10gPSAnVWtlZGFnIHByaXNqdXN0ZXJpbmdlcic7CiRsYW5nWyd5ZWFyXzEnXSA9ICcmQXJpbmc7ciAxJzsKJGxhbmdbJ3llYXJfMiddID0gJyZBcmluZztyIDInOwokbGFuZ1sneWVhcl8zJ10gPSAnJkFyaW5nO3IgMyc7CiRsYW5nWyd5ZXMnXSA9ICdKYSc7CiRsYW5nWyd5b3VyX25hbWUnXSA9ICdEaXR0IG5hdm4nOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjUwMjk3MzgwLjE3NTIuNDIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWhlbG1pbnNlbi5ub3x1dG1jY3Q9L2luc3RhbGwvdXBncmFkZS5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTc5MDUyNjIzMDg0MTEwMTAwLjEyMTA0MjM1NzcuMTI1NDI2NzQyMy4xMjU0MzQxNjczLjE5NDInOwokbGFuZ1sncWNhJ10gPSAnMTIxMDk3MTY5MC0yNzMwODA3My04MTk1MjgzMic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMi4xMC4xMjU0MzQxNjczJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ1ZvZWcgZWVuIGdlYmV1cnRlbmlzdHlwZSB0b2UnOwokbGFuZ1snYWN0aW9uX2VkaXRfZXZlbnRfdHlwZSddID0gJ1dpanppZyBlZW4gZ2ViZXVydGVuaXN0eXBlJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FjdGllZic7CiRsYW5nWydhZGQnXSA9ICdUb2V2b2VnZW4nOwokbGFuZ1snYWRkX25vdGVzJ10gPSAnVm9lciBpbmZvcm1hdGllIGluIG1ldCBiZXRyZWtraW5nIHRvdCBkZXplIHJlc2VydmVyaW5nJzsKJGxhbmdbJ2FkZGVkaXRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdUb2V2b2VnZW4vd2lqemlnZW4gZWVuIFVpdGdlYnJlaWQgWm9la2Zvcm11bGllciBTamFibG9vbic7CiRsYW5nWydhZGRlZGl0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIGVlbiBLYWxlbmRlciBTamFibG9vbic7CiRsYW5nWydhZGRlZGl0X2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBLbGFudGVuIEVtYWlsIFNqYWJsb29uJzsKJGxhbmdbJ2FkZGVkaXRfZGF5X3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIERhZyBPdmVyemljaHQgU2phYmxvb24nOwokbGFuZ1snYWRkZWRpdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdUb2V2b2VnZW4vd2lqemlnZW4gUmVzZXJ2ZWVyYmFhciBpdGVtIGRldGFpbHMgU2phYmxvb24nOwokbGFuZ1snYWRkZWRpdF9teXJlc2VydmF0aW9uc190ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBNaWpuUmVzZXJ2ZXJpbmdlbiBTamFibG9vbic7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIFJlc2VydmVyaW5nc2Zvcm11bGllciBTamFibG9vbic7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdUb2V2b2VnZW4vd2lqemlnZW4gUmVzZXJ2ZXJpbmdzIEJldmVzdGlnaW5nIEVtYWlsIFNqYWJsb29uJzsKJGxhbmdbJ2FkZGVkaXRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBSZXNlcnZlcmluZyBCZXZlc3RpZ2luZyBTamFibG9vbic7CiRsYW5nWydhZGRlZGl0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBWZXJzdHV1ciBFLW1haWwgRm9ybXVsaWVyIFNqYWJsb29uJzsKJGxhbmdbJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBSZXNlcnZlZXJiYWFyIGl0ZW0gc2FtZW52YXR0aW5nIFNqYWJsb29uJzsKJGxhbmdbJ2FkbWluX25vdGVzJ10gPSAnQWRtaW4gTm90aXRpZXMnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FkanVzdGRheXMnXSA9ICdCdWxrIGtvcnRpbmcgYmlqc3RlbGxpbmcgdmFuICUuMmYgdm9vciBlbmtlbGUgZGFnZW4nOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ0J1bGsga29ydGluZyBiaWpzdGVsbGluZyB2YW4gJS4yZiB2b29yIGFsbGUgZGFnZW4nOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0J1bGsta29ydGluZyBpbiBhYW5tZXJraW5nIGtvbWVuZGUgdnJpamUgZGFnJzsKJGxhbmdbJ2FkanVzdF9ldmVudF9wcmljZSddID0gJ1N0ZWwgZGUgcHJpanMgYmlqIHZvb3IgZ2ViZXVydGVuaXMgJXMgZG9vciAlcyc7CiRsYW5nWydhZGp1c3Rfb3ZlcmNhcGFjaXR5J10gPSAnUHJpanMgYmlqc3RlbGxlbiAlZCB2b29yIGV4dHJhIHBlcnNvbmVuIG1ldCAlLjJmJzsKJGxhbmdbJ2FkanVzdF93ZWVrZGF5X3ByaWNlJ10gPSAnUHJpanMgYmlqc3RlbGxlbiB2b29yIHdlZWtkYWcgJXMgdG90ICVzJzsKJGxhbmdbJ2FkZF9jYXRlZ29yeSddID0gJ0F0dHJpYnV1dCB0b2V2b2VnZW4nOwokbGFuZ1snYWRkX2N1c3RvbV9maWVsZCddID0gJ1ZvZWcgdnJpaiB2ZWxkIHRvZSc7CiRsYW5nWydhZGRfZXZlbnQnXSA9ICdWb2VnIGVlbiBnZWJldXJ0ZW5pcyB0b2UnOwokbGFuZ1snYWRkX2V2ZW50X3R5cGUnXSA9ICdWb2VnIGVlbiBnZWJldXJ0ZW5pc3R5cGUgdG9lJzsKJGxhbmdbJ2FkZF9yZXNlcnZhdGlvbiddID0gJ1ZvZWcgZWVuIG5pZXV3ZSByZXNlcnZlcmluZyB0b2UnOwokbGFuZ1snYWRkX3VzZXJfYWNjb3VudCddID0gJ1ZvZWcgZWVuIGdlYnJ1aWtlcnNhY2NvdW50IHRvZSc7CiRsYW5nWydhbGwnXSA9ICdBbGxlcyc7CiRsYW5nWydhbGxvd2VkX2ZpbGVfdHlwZXMnXSA9ICdUb2VnZXN0YW5lIGJlc3RhbmQgdHlwZW4nOwokbGFuZ1snYWxsb3dlZF9pbWFnZV90eXBlcyddID0gJ1RvZWdlc3RhbmUgYWZiZWVsZGluZ3N0eXBlbic7CiRsYW5nWydhbGxvd19ub19wcmljZXMnXSA9ICdGb3V0LCBnZWVuIHByaWpzLic7CiRsYW5nWydBTSddID0gJ0FNICc7CiRsYW5nWydhbnknXSA9ICdFbmlnZSc7CiRsYW5nWydhcHBseSddID0gJ1RvZXBhc3Nlbic7CiRsYW5nWydhc2tfZGVsZXRlX2V2ZW50J10gPSAnV2VldCB1IHpla2VyIGRhdCB1IGRlemUgZ2ViZXVydGVuaXMgcGVybWFuZW50IHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzZXJ2YXRpb24nXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGV6ZSByZXNlcnZlcmluZyBwZXJtYW5lbnQgd2lsdCB2ZXJ3aWpkZXJlbj8nOwokbGFuZ1snYXNrX2RlbGV0ZV9yZXNvdXJjZSddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkaXQgcmVzZXJ2ZWVyYmFyZSBpdGVtIGRlZmluaXRpZWYgd2lsdCB2ZXJ3aWpkZXJlbj8nOwokbGFuZ1snYXNrX3JlYWxseV91bmluc3RhbGwnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGV6ZSBtb2R1bGUgd2lsdCB2ZXJ3aWpkZXJlbj8gIERvb3JnYWFuIHphbCBsZWlkZW4gdG90IGhldCBwZXJtYW5lbnQgdmVyd2lqZGVyZW4gdmFuIGFsbGUgZ2VnZXZlbnMgdmFuIGRlemUgbW9kdWxlLic7CiRsYW5nWydhdCddID0gJ0AgJzsKJGxhbmdbJ2F0dGFjaG1lbnQnXSA9ICdCaWpsYWdlJzsKJGxhbmdbJ2F0dGFjaG1lbnRfZGlyJ10gPSAnRGlyZWN0b3J5IG9tIG5hYXIgZWVuIGJpamxhZ2UgdGUgem9la2VuJzsKJGxhbmdbJ2F0dHJpYnV0ZXMnXSA9ICdBdHRyaWJ1dGVuJzsKJGxhbmdbJ2F1dG9fZ2VuZXJhdGVfdGh1bWJuYWlscyddID0gJ0F1dG8gR2VuZXJlZXIgTWluaWF0dXJlbic7CiRsYW5nWydhdmFpbGFibGUnXSA9ICdCZXNjaGlrYmFhcic7CiRsYW5nWydiYWNrZ3JvdW5kX2NvbG9yJ10gPSAnQWNodGVyZ3JvbmRrbGV1cic7CiRsYW5nWydiYXNlX3ByaWNlJ10gPSAnQmFzaXNwcmlqcyc7CiRsYW5nWydiYXNpY19wcmljaW5nJ10gPSAnQmFzaXMgcHJpanNzdGVsbGluZyc7CiRsYW5nWydib29rYWJsZSddID0gJ0t1bm5lbiBrYW1lcnMgd29yZGVuIGdlYm9la3QgdGlqZGVucyBkZXplIGdlYmV1cnRlbmlzPyc7CiRsYW5nWydib29rYWJsZV9iciddID0gJ0Jlc2NoaWtiYWFyJzsKJGxhbmdbJ2Jvb2thYmxlX2V2ZW50X2Jsb2NrcyddID0gJ1RlIGJvZWtlbiBnZWJldXJ0ZW5pcyBwZXJpb2RlJzsKJGxhbmdbJ2Jvb2tlZF9ibG9ja3MnXSA9ICdHZWJvZWt0ZSBwZXJpb2RlJzsKJGxhbmdbJ2NhYmluJ10gPSAnS2FtZXInOwokbGFuZ1snY2FiaW5zJ10gPSAnS2FtZXJzJzsKJGxhbmdbJ2NhbGN1bGF0ZSddID0gJ0JlcmVrZW4nOwokbGFuZ1snY2FsY3VsYXRlX3ByaWNlJ10gPSAnQmVyZWtlbiBwcmlqcyc7CiRsYW5nWydjYWxjdWxhdGVkX3ByaWNlJ10gPSAnQmVyZWtlbmRlIFByaWpzJzsKJGxhbmdbJ2NhbGVuZGFyX2NvbmZpZyddID0gJ0luc3RlbGxpbmdlbiBCZXNjaGlrYmFhcmhlaWRrYWxlbmRlcic7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGVlcic7CiRsYW5nWydjYW5jZWxsZWQnXSA9ICdHZWFubnVsZWVyZCc7CiRsYW5nWydjYXBhY2l0eSddID0gJ0NhcGFjaXRlaXQnOwokbGFuZ1snY2FyJ10gPSAnQXV0byc7CiRsYW5nWydjYXJzJ10gPSAnQXV0byYjMDM5O3MnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0ZW4nOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdBdHRyaWJ1dXQnOwokbGFuZ1snY2NfbXlzZWxmJ10gPSAnU3R1dXIgZWVuIGtvcGllIHZhbiBkaXQgYmVyaWNodCBuYWFyIG1pam4gbWFpbGFkcmVzJzsKJGxhbmdbJ2NoZWNrJ10gPSAnVmluayBhYW4nOwokbGFuZ1snY2hlY2tib3gnXSA9ICdWaW5rdmFramUnOwokbGFuZ1snY2hlY2tpbiddID0gJ0NoZWNrIGluJzsKJGxhbmdbJ2NoZWNraW5fdGltZSddID0gJ0NoZWNrIGluIFRpamQnOwokbGFuZ1snY2hlY2tvdXQnXSA9ICdDaGVjayB1aXQnOwokbGFuZ1snY2hlY2tvdXRfdGltZSddID0gJ0NoZWNrIHVpdCBUaWpkJzsKJGxhbmdbJ2NoZWNrX2F2YWlsYWJpbGl0eSddID0gJ0NvbnRyb2xlZXIgYmVzY2hpa2JhYXJoZWlkJzsKJGxhbmdbJ2Nsb3NlZCddID0gJ0dlc2xvdGVuJzsKJGxhbmdbJ2NvbG9yJ10gPSAnS2xldXInOwokbGFuZ1snY29uZmlybWVkJ10gPSAnQmV2ZXN0aWdkJzsKJGxhbmdbJ2NvbmZpcm1fcmVzZXJ2YXRpb24nXSA9ICdLaWprIGRlIGluZm8gaW4gaGV0IGZvcm11bGllciBuYSBlbiBiZXZlc3RpZyBkYXQgdSBkZXplIHJlc2VydmVyaW5nIHdpbHQgbWFrZW4uJzsKJGxhbmdbJ2NvbmZsaWN0J10gPSAnQ29uZmxpY3QgJzsKJGxhbmdbJ2NyZWF0ZV9kYXRlJ10gPSAnR2VtYWFrdCc7CiRsYW5nWydjcmVhdGVfcmVzZXJ2YXRpb24nXSA9ICdSZXNlcnZlZXIgZGV6ZSBwZXJpb2RlJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdHZW1hYWt0JzsKJGxhbmdbJ2N1cnJlbmN5X3N5bWJvbCddID0gJ1ZhbHV0YSBTeW1ib29sJzsKJGxhbmdbJ2N1c3RvbWVyJ10gPSAnS2xhbnQnOwokbGFuZ1snY3VzdG9tZXJfZ3JvdXAnXSA9ICdLbGFudCBncm9lcCc7CiRsYW5nWydjdXN0b21lcl9uYW1lJ10gPSAnS2xhbnQgbmFhbSc7CiRsYW5nWydjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJ10gPSAnS2xhbnRlbnNjaGVybSBzamFibG9vbic7CiRsYW5nWydkYWlseSddID0gJ0RhZ2VsaWprcyc7CiRsYW5nWydkYXRlJ10gPSAnRGF0dW0nOwokbGFuZ1snZGF5X3JlcG9ydCddID0gJ0RhZyBSYXBwb3J0JzsKJGxhbmdbJ2RheV9yZXBvcnRfcnNyYyddID0gJ0RhZyBSYXBwb3J0IHZvb3IgJXMnOwokbGFuZ1snZGF5X3ZpZXcnXSA9ICdEYWcgb3ZlcnppY2h0JzsKJGxhbmdbJ2RlZmF1bHRfY2FwYWNpdHknXSA9ICdTdGFuZGFhcmQgY2FwYWNpdGVpdCA8ZW0+KHZvb3IgbmlldXdlIHJlc2VydmVlcmJhcmUgaXRlbXMpPC9lbT4nOwokbGFuZ1snZGVmYXVsdF9ncmFudWxhcml0eSddID0gJ1N0YW5kYWFyZCBrb3JyZWxpZ2hlaWQnOwokbGFuZ1snZGVmYXVsdF90aW1lX2ludGVydmFsJ10gPSAnU3RhbmRhYXJkIFRpamQgSW50ZXJ2YWwnOwokbGFuZ1snZGVsZXRlJ10gPSAnVmVyd2lqZGVyJzsKJGxhbmdbJ2RlbGV0ZV9jYXRlZ29yeSddID0gJ1ZlcndpamRlciBBdHRyaWJ1dXQnOwokbGFuZ1snZGVsZXRlX2N1c3RvbV9maWVsZCddID0gJ1ZlcndpamRlciBhYW5nZXBhc3QgdmVsZCc7CiRsYW5nWydkZWxldGVfZXZlbnQnXSA9ICdWZXJ3aWpkZXIgZ2ViZXVydGVuaXMnOwokbGFuZ1snZGVsZXRlX2V2ZW50X3R5cGUnXSA9ICdWZXJ3aWpkZXIgZ2ViZXVydGVuaXN0eXBlJzsKJGxhbmdbJ2RlcG9zaXRfYW1vdW50cyddID0gJ09wbmVlbWJhYXIgVGVnb2VkJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnT21zY2hyaWp2aW5nJzsKJGxhbmdbJ2RmbHRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnVXcgcmVzZXJ2ZXJpbmcgaXMgYmV2ZXN0aWdkJzsKJGxhbmdbJ2Rpc2NvdW50X2FkanVzdG1lbnQnXSA9ICdLb3J0aW5nc2FhbnBhc3NpbmcnOwokbGFuZ1snZGlzY291bnRfbWluX2Jsb2NrcyddID0gJ01pbmltYWFsIGFhbnRhbCBkYWdlbiB2b29yIGRlemUgYWFuYmllZGluZyc7CiRsYW5nWydkaXNjb3VudF9mcmVlYmxvY2snXSA9ICdCZXNjaGlrYmFyZSBkYWdlbiAoZ29lZGtvb3BzdGUgZWVyc3QpJzsKJGxhbmdbJ2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ1BhcyBlZW4gYnVsayBiaWpzdGVsbGluZyB0b2Ugdm9vciBhbGxlIGRhZ2VuJzsKJGxhbmdbJ2Rpc2NvdW50X2FkanVzdGRheXMnXSA9ICdTdGVsIGRlIHByaWp6ZW4gYmlqIHZvb3IgYWxsZWVuIGJydWlrYmFyZSBkYWdlbic7CiRsYW5nWydkaXNjb3VudF90eXBlJ10gPSAnS29ydGluZ3Nzb29ydCc7CiRsYW5nWydkaXNwbGF5J10gPSAnU2NoZXJtJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24gJzsKJGxhbmdbJ2VkaXQnXSA9ICdXaWp6aWcnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ1dpanppZyBBdHRyaWJ1dXQnOwokbGFuZ1snZWRpdF9jdXN0b21fZmllbGQnXSA9ICdXaWp6aWcgYWFuZ2VwYXN0IHZlbGQnOwokbGFuZ1snZWRpdF9ldmVudCddID0gJ1dpanppZyBnZWJldXJ0ZW5pcyc7CiRsYW5nWydlZGl0X2V2ZW50X3R5cGUnXSA9ICdXaWp6aWcgZ2ViZXVydGVuaXMgdHlwZSc7CiRsYW5nWydlZGl0X3Jlc2VydmF0aW9uJ10gPSAnV2lqemlnIHJlc2VydmVyaW5nJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ2VuZF9kYXRlJ10gPSAnRWluZCBkYXR1bSc7CiRsYW5nWydlbmRfdGltZV8xJ10gPSAnRWluZCB0aWpkIDEnOwokbGFuZ1snZW5kX3RpbWVfMiddID0gJ0VpbmQgdGlqZCAyJzsKJGxhbmdbJ2Vycm9yX2NhbGN1bGF0aW9uJ10gPSAnQmVyZWtlbmluZ3Nmb3V0JzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnXSA9ICdEaXQgcmVzZXJ2ZWVyYmFhciBpdGVtIGthbiBuaWV0IHdvcmRlbiB2ZXJ3aWpkZXJkLCBvbWRhdCBlciBhbCBlZW4gcmVzZXJ2ZXJpbmcgdm9vciBpcy4nOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlIGZvdXQsIG5lZW0gY29udGFjdCBvcCBtZXQgZGUgd2Vic2l0ZSBiZWhlZXJkZXInOwokbGFuZ1snZXJyb3JfZXZlbnRfY29uZmxpY3QnXSA9ICdFciBpcyBlZW4gY29uZmxpY3QgZG9vciBlZW4gYmVzdGFhbmRlIHJlc2VydmVyaW5nLCBvZiBkb29yIGVlbiBuaWV0IHRlIGJvZWtlbiBnZWJldXJ0ZW5pcywgbWV0IGRlIGRhdHVtIGVuIHJlc2VydmVlcmJhcmUgaXRlbXMgZGllIHUgaGVlZnQgZ2VzZWxlY3RlZXJkLic7CiRsYW5nWydlcnJvcl9maWxlZGVsZXRlJ10gPSAnRXIgaXMgZWVuIHByb2JsZWVtIG9wZ2V0cmVkZW4gdGlqZGVucyBoZXQgdmVyd2lqZGVyZW4gdmFuICZlYWN1dGU7JmVhY3V0ZTtuIG9mIG1lZXIgYmVzdGFuZGVuJzsKJGxhbmdbJ2Vycm9yX2ludGVybmFsY29uZmlnJ10gPSAnRWVuIGludGVybmUgY29uZmlndXJhdGllIGZvdXQgaXMgb3BnZXRyZWRlbi4gbmVlbSBjb250YWN0IG9wIG1ldCBkZSB3ZWJzaXRlIGJlaGVlcmRlcic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2RhdGVzJ10gPSAnVSBoZWVmdCB2ZXJrZWVyZGUgZGF0dW1zIGluZ2V2b2VyZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ByaWNlJ10gPSAnRGUgaW5nZXZvZXJkZSBwcmlqcyBpcyB2ZXJrZWVyZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3RpbWVfc2V0dGluZ3MnXSA9ICdEZSBpbmdldm9lcmRlIHRpamRzcGFubmVzIHppam4gdmVya2VlcmQnOwokbGFuZ1snZXJyb3JfaW52YWxpZF92YWx1ZSddID0gJ0VyIGlzIGVlbiBvbmdlbGRpZ2Ugd2FhcmRlIGluZ2V2b2VyZCB2b29yIGVlbiBvZiBtZWVyIHZlbGRlbiBvZiBwYXJhbWV0ZXJzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcGFyYW1ldGVyJ10gPSAnRSZlYWN1dGU7biBvZiBtZWVyZGVyZSB2ZXJwbGljaHRlbiBwYXJhbWV0ZXJzIG1pc3NlbiBvZiB6aWpuIG5pZXQgaW5nZXZ1bGQnOwokbGFuZ1snZXJyb3JfbWtkaXInXSA9ICdQcm9ibGVlbSBtZXQgaGV0IGFhbm1ha2VuIHZhbiBlZW4gbmV0d2Vya21hcCc7CiRsYW5nWydlcnJvcl9tdXN0X3NlbGVjdCddID0gJ1UgbW9ldCAmZWFjdXRlOyZlYWN1dGU7biBvZiBtZWVyICVzIHNlbGVjdGVyZW4nOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3NlcyddID0gJ0NvbmZpZ3VyYXRpZSBwcm9ibGVlbS4gVXcgd2ViaG9zdCBoZWVmdCBkZSBpbnN0ZWxsaW5nZW4gbmlldCB6byBpbmdlc3RlbGQgZGF0IGVyIGllbWFuZCB3b3JkdCBnZXdhYXJzY2h1d2QuIE5lZW0gZGlyZWN0IGNvbnRhY3Qgb3AgbWV0IGRlIHdlYnNpdGUgYmVoZWVyZGVyLic7CiRsYW5nWydlcnJvcl9ub3Rmb3VuZCddID0gJ0RlIGdlc3BlY2lmaWNlZXJkZSBnZWdldmVucyBrdW5uZW4gbmlldCB3b3JkZW4gZ2V2b25kZW4nOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW5fZmV1J10gPSAnVSBiZW50IG5pZXQgaW5nZWxvZ2Qgb3AgZGUgc2l0ZS4gVSBtb2V0IGVlbiBhY2NvdW50IGhlYmJlbiBvbSBlZW4gcmVzZXJ2ZXJpbmcgdGUga3VubmVuIG1ha2VuLic7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9lbWFpbCddID0gJ0thbiBnZWVuIG1haWwgYWRyZXMgdmFuIGRlemUga2xhbnQgdmluZGVuJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX3NlbGVjdGVkJ10gPSAnU2VsZWN0ZWVyIGVlbiBrbGFudCB1aXQgZGUgbGlqc3QnOwokbGFuZ1snZXJyb3Jfbm9fZXZlbnRfdHlwZXMnXSA9ICdHZWVuIGdlYmV1cnRlbmlzdHlwZW4gZ2VkZWZpbmVlcmQnOwokbGFuZ1snZXJyb3Jfbm9fcmVzZXJ2YXRpb25fcGFydHMnXSA9ICdVIGhlZWZ0IG5pZXRzIGluZ2V2b2VyZCBvbSB0ZSByZXNlcnZlcmVuISc7CiRsYW5nWydlcnJvcl9ub19yZXNlcnZhdGlvbnMnXSA9ICdHZWVuIHJlc2VydmVyaW5nZW4gZ2V2b25kZW4gdm9vciBkZSBnZXNlbGVjdGVlcmRlIGRhdHVtJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlcyddID0gJ0dlZW4gJXMgZ2VkZWZpbmllZXJkJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlc19zZWxlY3RlZCddID0gJ0dlbGlldmUgZWVuIG9mIG1lZXIgcmVzZXJ2ZWVyYmFyZSBpdGVtcyBlbiB0aWpkIGludGVydmFsbGVuIHZvb3IgZGV6ZSByZXNlcnZlcmluZyB0ZSBkZWZpbmkmZXVtbDtyZW4nOwokbGFuZ1snZXJyb3Jfbm9fdXNlcnNfZm91bmQnXSA9ICdLYW4gZ2VlbiBnZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzIHZpbmRlbiB2b29yIGRlIGRvb3IgdSBnZXNlbGVjdGVlcmRlIGtsYW50ZW5ncm9lcCc7CiRsYW5nWydlcnJvcl9wYXN0X2RhdGVzJ10gPSAnRWVuIHJlc2VydmVyaW5nIGluIGhldCB2ZXJsZWRlbiBpcyBuaWV0IG1vZ2VsaWprLic7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uJ10gPSAnVSBoZWVmdCBuaWV0IGRlIGJldm9lZ2RoZWlkIG9tIGRlemUgaW5mb3JtYXRpZSB0ZSBiZWtpamtlbic7CiRsYW5nWydlcnJvcl9yZXNlcnZhdGlvbl9jb25mbGljdCddID0gJ0VyIGlzIGVlbiByZXNlcnZlcmluZ3Njb25mbGljdCBnZWRldGVjdGVlcmQuJzsKJGxhbmdbJ2Vycm9yX3NlbGVjdF9zdGF0dXMnXSA9ICdLaWVzIGVlbiBzdGF0dXMgdm9vciBkZXplIHJlc2VydmVyaW5nLic7CiRsYW5nWydlcnJvcl90aW1lcGVyaW9kX3N0YXJ0ZWQnXSA9ICdEZSBnZXNlbGVjdGVlcmRlIHBlcmlvZGUgaXMgaW4gaGV0IHZlcmxlZGVuLCBzZWxlY3RlZXIgZWVuIHBlcmlvZGUgaW4gZGUgdG9la29tc3QnOwokbGFuZ1snZXJyb3JfdXBsb2FkJ10gPSAnQmVzdGFuZCBVcGxvYWQgRm91dCc7CiRsYW5nWydldmVudHNfZm9yX3Jlc291cmNlJ10gPSAnR2ViZXVydGVuaXNzZW4gdm9vciAlcyc7CiRsYW5nWydldmVudF90eXBlJ10gPSAnR2ViZXVydGVuaXMgdHlwZSc7CiRsYW5nWydldmVudF90eXBlcyddID0gJ0dlYmV1cnRlbmlzIHR5cGVuJzsKJGxhbmdbJ2V4cGlyZWQnXSA9ICdWZXJsb3Blbic7CiRsYW5nWydleHRlbmRlZF91c2VfZGlzY291bnRzJ10gPSAnVWl0Z2VicmVpZCBnZWJydWlrIHZhbiBrb3J0aW5nZW4nOwokbGFuZ1snZmV1X3ByZWZlcmVuY2VzJ10gPSAnRnJvbnRFbmRVc2VyIEluc3RlbGxpbmdlbic7CiRsYW5nWydmaWVsZHMnXSA9ICdWZWxkZW4nOwokbGFuZ1snZmlsZSddID0gJ0Jlc3RhbmQnOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyICc7CiRsYW5nWydmaWxlX2hhbmRsaW5nX2NvbmZpZyddID0gJ0Jlc3RhbmRzYWZoYW5kZWxpbmcgaW5zdGVsbGluZ2VuJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ2ZvciddID0gJ1Zvb3InOwokbGFuZ1snZm9yZWdyb3VuZF9jb2xvciddID0gJ1Zvb3Jncm9uZCBrbGV1cic7CiRsYW5nWydmcmlkYXknXSA9ICdWcmlqZGFnJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Jlc2NoaWtiYWFyaGVpZHNtYW5hZ2VyJzsKJGxhbmdbJ2Zyb20nXSA9ICdWYW4nOwokbGFuZ1snZnV0dXJlJ10gPSAnQWFua29tZW5kJzsKJGxhbmdbJ2dlbmVyYWxfY29uZmlnJ10gPSAnQWxnZW1lbmUgQ29uZmlndXJhdGllJzsKJGxhbmdbJ2dyb3VwJ10gPSAnR3JvZXAnOwokbGFuZ1snZ3Vlc3QnXSA9ICdHYXN0JzsKJGxhbmdbJ2hhbGZfZGF5J10gPSAnSGFsdmUgZGFnJzsKJGxhbmdbJ2hhbGZfaG91ciddID0gJ0hhbGYgdXVyJzsKJGxhbmdbJ2hvdXJseSddID0gJ1BlciB1dXInOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXQgZG9ldCBkZXplIG1vZHVsZT88L2gzPg0KPHA+RGV6ZSBtb2R1bGUgdmVyem9yZ3QgZWVuIGNvbXBsZWV0IG9ubGluZSByZXNlcnZlcmluZ3Mgc3lzdGVlbSB2b29yIGhvdGVscywgYXV0b3Zlcmh1dXIsIG9mIHdhdCBkYW4gb29rIHdhYXJ2b29yIGlldHMga2FuIHdvcmRlbiBnZXJlc2VydmVlcmQgdm9vciBlZW4gb2YgbWVlciBkYWdlbi4gV2UgZHVpZGVuIGRlemUgZGluZ2VuIHZlcmRlciBhYW4gYWxzICZxdW90O3Jlc2VydmVlcmJhcmUgaXRlbXMmcXVvdDsuPC9wPg0KPHA+RnJvbnRlbmQgdXNlcnMgKGRlIGJlem9la2VycyB2YW4gZGUgd2Vic2l0ZSkga3VubmVuIGVlbiByZXNlcnZlcmluZyBtYWtlbiBlbiBiZWhlcmVuIGVuIGNvbnRhY3Qgb3BuZW1lbiBtZXQgZGUgYmVoZWVyZGVyLCBvbSBpbmZvcm1hdGllIGRvb3IgdGUgZ2V2ZW4gb2YgdnJhZ2VuIHRlIHN0ZWxsZW4uPC9wPg0KPHA+TWV0IGhldCBiZWhlZXJkZXJzc2NoZXJtIChlbiBkZSBqdWlzdGUgYXV0aG9yaXNhdGllKSBrdW5uZW4gZGUgcmVzZXJ2ZWVyYmFyZSBpdGVtcywgZ2ViZXVydGVuaXNzZW4sIHJlc2VydmVyaW5nZW4gZW4gYWxsZSBhbmRlcmUgYXNwZWN0ZW4gdmFuIG9wZ2Vub21lbiB6YWtlbiB3b3JkZW4gYmVoZWVyZC48L3A+DQo8aDM+S2VubWVya2VuOjwvaDM+DQo8dWw+DQo8bGk+RWVuIG9uZ2VsaW1pdGVlcmQgYWFudGFsIHJlc2VydmVlcmJhcmUgaXRlbXMga2FuIHdvcmRlbiBvcGdlbm9tZW4uDQogIDx1bD4NCiAgPGxpPlZvb3IgZWxrIHJlc2VydmVlcmJhYXIgaXRlbSBrYW4gZWVuIHZhc3RlIGRhZ3ByaWpzIHdvcmRlbiBvcGdlbm9tZW4uPC9saT4NCiAgPGxpPlZvb3IgZWxrZSBkYWcgdmFuIGRlIHdlZWsga2FuIGVlbiBwcmlqc2FhbnBhc3Npbmcgd29yZGVuIGluZ2VzdGVsZC48L2xpPg0KICA8L3VsPg0KPGxpPg0KPGxpPlZvb3IgZWxrIHJlc2VydmVlcmJhYXIgaXRlbSBrYW4gZWVuIG9uZ2VsaW1pdGVlcmQgYWFudGFsIHplbGYgdGUgZGVmaW5pJmV1bWw7cmVuIHZlbGRlbiB3b3JkZW4gdG9lZ2V2b2VnZC48L2xpPg0KPGxpPkVyIGt1bm5lbiBnZWJldXJ0ZW5pc3R5cGVzIGVuIGtsZXVyY29kZXMgd29yZGVuIHRvZWdldm9lZ2QuPC9saT4NCjxsaT5Nb2dlbGlqa2hlaWQgZ2ViZXVydGVuaXNzZW4gYWFuIHRlIG1ha2VuIHZvb3IgYmVwYWFsZGUgcmVzZXJ2ZWVyYmFyZSBpdGVtcyBlbiBkYWdlbjoNCiAgPHVsPg0KICA8bGk+SGV0IGJvZWtlbiB0aWpkZW5zIGdlYmV1cnRlbmlzc2VuIGthbiB3b3JkZW4gZ2VibG9ra2VlcmQsIHpvZGF0IHJlc2VydmVlcmJhcmUgaXRlbXMgIGVuL29mIGRhZ2VuIG5pZXQga3VubmVuIHdvcmRlbiBnZXJlc2VydmVlcmQuPC9saT4NCiAgPGxpPlZvb3IgYm9la2JhcmUgZ2ViZXVydGVuaXNzZW4ga2FuIGRlIHByaWpzIHdvcmRlbiBhYW5nZXBhc3QgKG9taG9vZyBvZiBvbWxhYWcpIHZvb3IgZ2VzZWxlY3RlZXJkZSByZXNlcnZlZXJiYXJlIGl0ZW1zIGVuIGRhZ2VuLjwvbGk+DQogIDwvdWw+DQo8L2xpPg0KPGxpPkF1dG9tYXRpc2NoZSBwcmlqc2JlcmVrZW5pbmcgdm9vciByZXNlcnZlcmluZ2VuLjwvbGk+DQo8bGk+Q2hlY2t0IG9wIGR1YmJlbGUgcmVzZXJ2ZXJpbmdlbiBlbiBnZWJsb2tlZXJkZSByZXNlcnZlZXJiYXJlIGl0ZW1zIGVuIGRhZ2VuLjwvbGk+DQo8L3VsPg0KDQo8aDM+SG9lIGdlYnJ1aWsgaWsgZGUgbW9kdWxlPzwvaDM+DQo8cD5IZXQgZWVyc3RlIHdhdCBqZSBkb2V0IG5hIGluc3RhbGxhdGllIGlzIGVua2VsZSBrYW1lci1laWdlbnNjaGFwcGVuIGVuIGdlYmV1cnRlbmlzdHlwZXMgaW5zdGVsbGVuLiBIZXQgYmVoZWVyZGVyc3NjaGVybSB2aW5kIGplIG9uZGVyIDxlbT5VaXRicmVpZGluZ2VuID4gS2FtZXIgbWFuYWdlcjwvZW0+LiBDb250cm9sZWVyIG9mIGRlIHZvb3JrZXVyZW4gZ29lZCBzdGFhbiBpbmdlc3RlbGQuIEplIGt1bnQgaGV0IHJlc2VydmVlcmJhcmUgaXRlbXMtdHlwZSB3aWp6aWdlbiB2YW4gJnF1b3Q7a2FtZXImcXVvdDsgbmFhciB3YXQgamUgb29rIHdpbHQgYmVoZXJlbiBtZXQgZGUgbW9kdWxlLiBEYWFybWVlIHdvcmRlbiBvb2sgZGl2ZXJzZSBsYWJlbHMgaW4gYmVoZWVyZGVyc3NjaGVybSBlbiBiZXpvZWtlcnNzY2hlcm0gYWFuZ2VwYXN0LjwvcD4NCjwvcD5WZXJ2b2xnZW5zIHZvZXIgamUgZW5rZWxlIHJlc2VydmVlcmJhcmUgaXRlbXMgaW4gZW4gZ2VlZiBqZSB6byB2ZWVsIG1vZ2VsaWprIGRldGFpbHMgb3AuIE1vZ2VsaWprIHdpbCBqZSBvb2sgZ2ViZXVydGVuaXNzZW4gdG9ldm9lZ2VuLCBvZiBiZXBhYWxkZSBkYXRhIGJsb2trZXJlbi48L3A+DQo8cD5PbSBlZW4gcmVzZXJ2ZWVyYmFyZSBpdGVtcy1zYW1lbnZhdHRpbmcgb3AgZWVuIHBhZ2luYSB0ZSB0b25lbiBwbGFhdHMgamUgZGUgdGFnIHtBdmFpbGFiaWxpdHl9IGluIGVlbiBpbmhvdWQtcGFnaW5hLjwvcD4NCjxwPk9tIGRlIGthbGVuZGVyIGFmIHRlIGJlZWxkZW4gemV0IGplIGRlIHRhZyB7QXZhaWxhYmlsaXR5IGFjdGlvbj1jYWxlbmRhcn0gaW4gZWVuIHBhZ2luYS4gIEhpZXJtZWUga2FuIGRlIGJlem9la2VyIHJlc2VydmVyaW5nZW4gbWFrZW4gZXRjLjwvcD4NCg0KPGgzPk9uZGVyc3RldW5pbmc8L2gzPg0KPHA+RXIgaXMgZ2VlbiBjb21tZXJjaSZldW1sO2xlIG9uZGVyc3RldW5pbmcgdm9vciBkZXplIG1vZHVsZSwgbWFhciBlciB6aWpuIHdlbCBhbmRlcmUgbWFuaWVyZW4gb20gaHVscCB0ZSB2aW5kZW46PC9wPg0KPHVsPg0KPGxpPlZvb3IgZGUgbGFhdHN0ZSB2ZXJzaWUgdmFuIGRlemUgbW9kdWxlLCBGQVFzLCBvbSBlZW4gYnVnIHRlIHJlcHBvcnRlcmVuLCBvZiBvbSBjb21tZXJjaSZldW1sO2xlIHN1cHBvcnQgdGUga29wZW4sIGdhIG5hYXIgZGUgY21zIGRldmVsb3BtZW50IGZvcmdlIG9wIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BYW52dWxsZW5kZSBiZXNwcmVraW5nZW4gdmFuIGRlemUgbW9kdWxlIHppam4gZXZ0LiB0ZSB2aW5kZW4gb3AgZGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPkRlIGF1dGV1ciwgY2FsZ3V5MTAwMCwgaXMgdmFhayB0ZSB2aW5kZW4gaW4gaGV0IDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPlRlbnNsb3RlIHpvdSBqZSBrdW5uZW4gcHJvYmVyZW4gZGUgYXV0ZXVyIHplbGYgdGUgbWFpbGVuLjwvbGk+ICANCjwvdWw+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfYWN0aW9uJ10gPSAnRGV6ZSBwYXJhbWV0ZXIgbWFha3QgaGV0IG1vZ2VsaWprIG9tIGhldCBnZXdlbnN0ZSBmb3JtdWxpZXIgb2YgcmFwcG9ydCB3ZWVyIHRlIGdldmVuLiBNb2dlbGlqa2Ugd2FhcmRlbiB6aWpuOjxici8+IHh4eA0KPHVsPg0KPGxpPmFkZHJlc3ZuIC0gaGV0IHRvZXZvZWdlbi93aWp6aWdlbiByZXNlcnZlcmluZ3Nmb3JtdWxpZXI8YnIvPg0KJm5ic3A7Jm5ic3A7LSBEaXQgZm9ybXVsaWVyIGdlZWZ0IGVlbiB2YWxpZGUgaW5nZWxvZ2RlIEZyb250RW5kR2VicnVpa2VyIGRlIG1vZ2VsaWpraGVpZCBvbSBlZW4gcmVzZXJ2ZXJpbmcgaW4gaGV0IHN5c3RlZW0gdGUgZG9lbi48L2xpPg0KPGxpPmNhbGVuZGFyIC0gRGUga2FsZW5kZXIgd2VlcmdhdmU8YnIvPg0KJm5ic3A7Jm5ic3A7LSBEZXplIHdlZXJnYXZlIHRvb250IGRlIGJlc2NoaWtiYWFyaGVpZCB2YW4gcmVzZXJ2ZWVyYmFyZSBpdGVtcyB2b29yIGRlIGh1aWRpZ2UgbWFhbmQuIEhldCBzdGFhdCBwYWdpbmVyZW4gdmFuIHZlcnNjaGlsbGVuZGUgbWFhbmRlbiB0b2UsIGhldCBiZWtpamtlbiB2YW4gZGUgZGV0YWlscyB2YW4gZWVuIHJlc2VydmVlcmJhYXIgaXRlbSBlbiBoZXQgdm9vcnppZXQgaW4gZWVuIGxpbmsgZGF0IGhldCBhZGRyZXN2biBmb3JtdWxpZXIgb3BoYWFsdCB2b29yIGRlIGdlc2VsZWN0ZWVyZGUgZGF0dW0gZW4gcmVzZXJ2ZWVyYmFhciBpdGVtLiA8L2xpPg0KPGxpPmRlZmF1bHQgIC0gd2VlcmdhdmUgdmFuIHNhbWVudmF0dGluZyB2YW4gcmVzZXJ2ZWVyYmFyZSBpdGVtczxici8+DQombmJzcDsmbmJzcDstIERlemUgYWN0aWUgdG9vbnQgZWVuIHNhbWVudmF0dGluZ3N3ZWVyZ2F2ZSB2YW4gZGUgZ2VzZWxlY3RlZXJkZSByZXNlcnZlZXJiYXJlIGl0ZW1zLjwvbGk+DQo8bGk+ZGV0YWlsICAgIC0gd2VlcmdhdmUgdmFuIGRldGFpbHMgdmFuIHJlc2VydmVlcmJhYXIgaXRlbTxici8+DQombmJzcDsmbmJzcDstIERlemUgYWN0aWUgem9yZ3QgZGF0IGFsbGUgaW5mb3JtYXRpZSBvdmVyIGVlbiBzcGVjaWZpZWsgcmVzZXJ2ZWVyYmFhciBpdGVtIHdvcmR0IGdldG9vbmQuPC9saT4NCjxsaT5teXJlc2VydmF0aW9uIC0gSGV0IG15cmVzZXJ2YXRpb25zIHJhcHBvcnQuPGJyLz4NCiZuYnNwOyZuYnNwOy0gRGV6ZSB3YWFyZGUgem9yZ3QgZXJ2b29yIGRhdCBlZW4gcmFwcG9ydCB3b3JkdCB3ZWVyZ2VnZXZlbiB2YW4gZGUgcmVzZXJ2ZXJpbmdlbiBpbiBkZSBrb21lbmRlIHRpamQgKG9wdGlvbmVlbCBvb2sgZGllIHZhbiBkZSB2ZXJsZWRlbiB0aWpkKSB2YW4gZGV6ZSBzcGVjaWZpZWtlIGdlYnJ1aWtlci48L2xpPg0KPGxpPnNlbmRlbWFpbCAtIEhldCBFLW1haWwgZm9ybXVsaWVyIG9tIGVlbiBiZXJpY2h0IGJpaiBkZSByZXNlcnZlcmluZyBtZWUgdGUgemVuZGVuLjxici8+DQombmJzcDsmbmJzcDstIEhpZXJtZWUgd29yZHQgZWVuIGZvcm11bGllciBnZXRvb25kIHdhYXJtZWUgRnJvbnRFbmQgR2VicnVpa2VycyBlZW4gYmVyaWNodCBtZWUga3VubmVuIHplbmRlbiBhYW4gZGUgd2Vic2l0ZSBiZWhlZXJkZXIgbWV0IGV4dHJhIGluZm9ybWF0aWUgb2YgdnJhZ2VuIG92ZXIgZWVuIHNwZWNpZmlla2UgcmVzZXJ2ZXJpbmcuPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9jYWxlbmRhcnRlbXBsYXRlJ10gPSAnVmFuIHRvZXBhc3Npbmcgb3AgZGUgd2VlcmdhdmUgdmFuIGRlIGthbGVuZGVyLiBEZXplIHBhcmFtZXRlciBnZWVmdCBkZSBtb2dlbGlqa2hlaWQgb20gZWVuIGFuZGVyZSB3ZWVyZ2F2ZXNqYWJsb29uIHRvZSB0ZSBwYXNzZW4gZGFuIGRlIHN0YW5kYWFyZC4nOwokbGFuZ1snaGVscF9jYXRlZ29yeSddID0gJ1ZhbiB0b2VwYXNzaW5nIG9wIGRlIHdlZXJnYXZlIHZhbiBkZSBrYWxlbmRlci4gRGV6ZSBwYXJhbWV0ZXIgc3BlY2lmaWNlZXJ0IGVlbiBkb29yIGtvbW1hJiMwMzk7cyBnZXNjaGVpZGVuIGxpanN0IHZhbiBjYXRlZ29yaWUtbmFtZW4gZGllIGdlYnJ1aWt0IHdvcmRlbiBvbSBkZSBnZXNlbGVjdGVlcmRlIGRhdGEgd2VlciB0ZSBnZXZlbi4gRGV6ZSBwYXJhbWV0ZXIga2FuIG5pZXQgc2FtZW4gbWV0IGRlIGJyb24tcGFyYW1ldGVyIHdvcmRlbiBnZWJydWlrdC4nOwokbGFuZ1snaGVscF9jb25maXJtdGVtcGxhdGUnXSA9ICdWYW4gdG9lcGFzc2luZyBvcCBoZXQgcmVzZXJ2ZXJpbmdzZm9ybXVsaWVyLiBEZXplIHBhcmFtZXRlciBtYWFrdCBoZXQgbW9nZWxpamsgb20gZWVuIG5pZXQgc3RhbmRhYXJkIHJlc2VydmVyaW5nc2JldmVzdGlnaW5nLXNqYWJsb29uIHRlIHNwZWNpZmljZXJlbiBvbSBnZWJydWlrdCB0ZSB3b3JkZW4gYWxzIGVlbiBiZXpvZWtlciBvbmxpbmUgZWVuIHJlc2VydmVyaW5nIGFhbm1hYWt0Lic7CiRsYW5nWydoZWxwX2RheXRlbXBsYXRlJ10gPSAnVmFuIHRvZXBhc3Npbmcgb3AgZGUgZGFnd2VlcmdhdmUuIERlemUgcGFyYW1ldGVyIG1hYWt0IGhldCBtb2dlbGlqayBvbSBlZW4gbmlldCBzdGFuZGFhcmQgZGFnd2VlcmdhdmUgc2phYmxvb24gdGUgZ2VicnVpa2VuIGJpaiBoZXQgZ2VuZXJlcmVuIHZhbiBkZXplIHdlZXJnYXZlLic7CiRsYW5nWydoZWxwX2RheSddID0gJ0dlYnJ1aWsgc2FtZW4gbWV0IGRlICYjMDM5O2FkZHJlc3ZuJiMwMzk7IGZvcm11bGllciBvbSBlZW4gc3RhbmRhYXJkIGRhZyB0ZSBzcGVjaWZpY2VyZW4nOwokbGFuZ1snaGVscF9kZXRhaWxwYWdlJ10gPSAnVmFuIHRvZXBhc3Npbmcgb3AgZGUgd2VlcmdhdmVuIHZhbiBkZSBrYWxlbmRlciwgZGVmYXVsdCAoc2FtZW52YXR0aW5nKSBlbiBteXJlc2VydmF0aW9ucy4gSGllcm1lZSBrdW50IHUgZWVuIG9wdGlvbmVsZSBwYWdpbmEgaW5zdGVsbGVuIHZvb3IgaGV0IGJla2lqa2VuIHZhbiBvZndlbCBkZSBkZXRhaWxzIHZhbiBoZXQgdGUgcmVzZXJ2ZXJlbiBpdGVtLCBoZXQgcmVzZXJ2ZXJpbmdzZm9ybXVsaWVyIG9mIGhldCBiZXJpY2h0ZW5mb3JtdWxpZXIuIEFscyBiaWogZGV6ZSB3YWFyZGUgbmlldHMgaXMgYWFuZ2VnZXZlbiwgemFsIGRlIGluIGhldCBhZG1pbiBwYW5lZWwgYWFuZ2VnZXZlbiB2b29ya2V1ciB3b3JkZW4gdG9lZ2VwYXN0LiBBbHMgb29rIGRpZSBuaWV0IGlzIGluZ2VzdGVsZCwgemFsIGRlIG9wIGRhdCBtb21lbnQgZ2VvcGVuZGUgcGFnaW5hIHdvcmRlbiBnZWJydWlrdC4nOwokbGFuZ1snaGVscF9kZXRhaWx0ZW1wbGF0ZSddID0gJ1ZhbiB0b2VwYXNzaW5nIG9wIGRlIHdlZXJnYXZlbiB2YW4gZGUga2FsZW5kZXIsIGRlZmF1bHQgKHNhbWVudmF0dGluZykgZW4gbXlyZXNlcnZhdGlvbnMuIEhpZXJtZWUga3VudCB1IGVlbiBuaWV0IHN0YW5kYWFyZCBzamFibG9vbiBpbnN0ZWxsZW4gdm9vciBlbGtlIGdld2Vuc3RlIHdlZXJnYXZlLiBEZXplIHBhcmFtZXRlciB6YWwgZWNodGVyIGdlZW4gZWZmZWN0IGhlYmJlbiBhbHMgdSBwcmV0dHkgdXJscyBoZWVmdCBpbmdlc3RlbGQuJzsKJGxhbmdbJ2hlbHBfZW1haWx0ZW1wbGF0ZSddID0gJ1ZhbiB0b2VwYXNzaW5nIG9wIGRlIGthbGVuZGVyLCBteXJlc2VydmFyaW9uIGVuIGFkZHJlc3ZuIGFjdGlvbnMuIEhpZXJtZWUga3VudCB1IGVlbiBlaWdlbiAobmlldCBzdGFuZGFhcmQpIEUtbWFpbCBzamFibG9vbiBpbnN0ZWxsZW4gb20gdGUgZ2VicnVpa2VuIGJpaiBoZXQgdmVyemVuZGVuIHZhbiBFLW1haWxzLic7CiRsYW5nWydoZWxwX2lubGluZSddID0gJ0FsbGVlbiB2YW4gdG9lcGFzc2luZyBvcCBkZSBzZWFyY2ggYWN0aWUuIERlemUgcGFyYW1ldGVyIGJlcGFhbHQgb2YgZGUgem9la3Jlc3VsdGF0ZW4gaW5saW5lICh2ZXJ2YW5ndCBkZSBvb3JzcHJvbmtlbGlqa2UgdGFnKSB3ZWVyZ2VnZXZlbiBtb2V0ZW4gd29yZGVuLCBvZiBkYXQgaW4gZGUgcGxhYXRzIGtvbWVuIHZhbiBkZSBjb250ZW50IGFyZWEuIERlemUgcGFyYW1ldGVyIGhlZWZ0IGVjaHRlciBnZWVuIGVmZmVjdCBhbHMgZGUgc2FtZW52YXR0aW5nc3BhcmFtZXRlciBvb2sgaXMgaW5nZXN0ZWxkLic7CiRsYW5nWydoZWxwX21vbnRoJ10gPSAnSW4gY29tYmluYXRpZSBtZXQgaGV0IGFkZHJlc3ZuIGZvcm11bGllciBnZWVmdCBkZXplIHBhcmFtZXRlciBkZSBtb2dlbGlqa2hlaWQgZWVuIHN0YW5kYWFyZCBtYWFuZCBvcCB0ZSBnZXZlbic7CiRsYW5nWydoZWxwX215cmVzdm50ZW1wbGF0ZSddID0gJ0FsbGVlbiB2YW4gdG9lcGFzc2luZyBvcCBkZSBteXJlc2VydmF0aW9uIHdlZXJnYXZlLiBEZXplIHBhcmFtZXRlciB6b3JndCBlcnZvb3IgZGF0IGVlbiBlaWdlbiAobmlldCBzdGFuZGFhcmQpIHNqYWJsb29uIGluZ2VzdGVsZCBrYW4gd29yZGVuIHZvb3IgZGV6ZSB3ZWVyZ2F2ZS4nOwokbGFuZ1snaGVscF9wYWdlbGltaXQnXSA9ICdEZXplIHBhcmFtZXRlciBrYW4gd29yZGVuIGdlYnJ1aWt0IG9tIGhldCBhYW50YWwgd2VlciB0ZSBnZXZlbiByZXNlcnZlZXJiYXJlIGl0ZW1zIHBlciBwYWdpbmEgaW4gdGUgc3RlbGxlbi4nOwokbGFuZ1snaGVscF9yZXNvdXJjZXMnXSA9ICdEZXplIHBhcmFtZXRlciBhY2NlcHRlZXJ0IGVlbiBkb29yIGtvbW1hJiMwMzk7cyBnZXNjaGVpZGVuIGxpanN0IHZhbiBkZSBuYW1lbiB2YW4gZGUgcmVzZXJ2ZWVyYmFyZSBpdGVtcyBvbSB0ZSB0b25lbi4gSGlqIGthbiBlY2h0ZXIgTklFVCB3b3JkZW4gdG9lZ2VwYXN0IHRlemFtZW4gbWV0IGRlIGNhdGVnb3JpZSBwYXJhbWV0ZXIuJzsKJGxhbmdbJ2hlbHBfcmVzdm50ZW1wbGF0ZSddID0gJ1ZzbiB0b2VwYXNzaW5nIG9wIGRlIGFkZHJlc3ZuLCBrYWxlbmRlciBlbiBteXJlc2VydmF0aW9uIGFjdGlvbnMuIERlemUgcGFyYW1ldGVyIG1hYWt0IGhldCBtb2dlbGlqayBlZW4gZWlnZW4gKG5pZXQgc3RhbmRhYXJkKSByZXNlcnZlcmluZ3Nmb3JtdWxpZXItc2phYmxvb24gdGUgc3BlY2lmaWNlcmVuIGRpZSB2ZXJ2b2xnZW5zIHRvZWdlcGFzdCB3b3JkdCBiaWogaGV0IGFhbm1ha2VuIG9mIHdpanppZ2VuIHZhbiBlZW4gcmVzZXJ2ZXJpbmcuJzsKJGxhbmdbJ2hlbHBfcmVzdl9pZCddID0gJ1ZhbiB0b2VwYXNzaW5nIG9wIGhldCBhZGRyZXN2biBmb3JtdWxpZXIuIERlemUgcGFyYW1ldGVyIG1hYWt0IGhldCBtb2dlbGlqayBvbSBkZSBpZCBhYW4gdGUgZ2V2ZW4gdmFuIGVlbiBiZXN0YWFuZGUgcmVzZXJ2ZXJpbmcgb20gdGUgZWRpdGVuIChhYW4gdGUgcGFzc2VuKS4gV2FhcnNjaGlqbmxpamsgaGViIGplIGRlemUgcGFyYW1ldGVyIG5pZXQgaW4gZGlyZWN0ZSB6aW4gbm9kaWcuJzsKJGxhbmdbJ2hlbHBfcnNyY2lkJ10gPSAnRGV6ZSBwYXJhbWV0ZXIgd29yZHQgZ2VhY2NlcHRlZXJkIGRvb3IgZGUgZGV0YWlsIHNqYWJsb29uIG9tIGVlbiBkZXRhaWwgcmFwcG9ydCB0ZSB0b25lbiB2YW4gZWVuIHNwZWNpZmllayByZXNlcnZlZXJiYWFyIGl0ZW0uJzsKJGxhbmdbJ2hlbHBfc2VhcmNodGVtcGxhdGUnXSA9ICdBbGxlZW4gdmFuIHRvZXBhc3Npbmcgb3AgZGUgem9layBhY3RpZSwgZGV6ZSBwYXJhbWV0ZXIgc3RhYXQgdG9lIGRhdCBqZSBlZW4gbmlldCBzdGFuZGFhcmQgem9layBzamFibG9vbiBzcGVjaWZpY2VlcnQuJzsKJGxhbmdbJ2hlbHBfc2VuZGVtYWlsdGVtcGxhdGUnXSA9ICdBbGxlZW4gdmFuIHRvZXBhc3Npbmcgb3AgZGUgbXlyZXNlcnZhdGlvbiB3ZWVyZ2F2ZS4gSGllcm1lZSBrdW50IHUgZWVuIG5pZXQgc3RhbmRhYXJkIChlaWdlbikgc2phYmxvb24gaW5zdGVsbGVuIHZvb3IgaGV0IEUtbWFpbCBmb3JtdWxpZXIuIERlemUgcGFyYW1ldGVyIHphbCBlY2h0ZXIgZ2VlbiBlZmZlY3QgaGViYmVuIGFscyB1IHByZXR0eSB1cmxzIGhlZWZ0IGluZ2VzdGVsZC4nOwokbGFuZ1snaGVscF9zaG93YWxsJ10gPSAnQWxsZWVuIHZhbiB0b2VwYXNzaW5nIG9wIGRlIHdlZXJnYXZlIHZhbiBteXJlc2VydmF0aW9ucy4gRGV6ZSBwYXJhbWV0ZXIgbWFha3QgaGV0IG1vZ2VsaWprIG9tIGFsbGUgcmVzZXJ2ZXJpbmdlbiBpbiAmZWFjdXRlOyZlYWN1dGU7biBrZWVyIHRlIHRvbmVuLCBpbmNsdXNpZWYgZGllIGluIGhldCB2ZXJsZWRlbi4nOwokbGFuZ1snaGVscF9zb3J0YnknXSA9ICcgDQpWYW4gdG9lcGFzc2luZyBvcCBkZSB3ZWVyZ2F2ZSB2YW4gbXlyZXNlcnZhdGlvbnMgZW4gZGUgc2FtZW52YXR0aW5nc3dlZXJnYXZlIHZhbiByZXNlcnZlZXJiYXJlIGl0ZW1zLCBEZXplIHBhcmFtZXRlciBtYWFrdCBoZXQgbW9nZWxpamsgb20gZGUgc29ydGVlcnZvbGdvcmRlIHRlIHdpanppZ2VuIHZhbiBkZSBnZXRvb25kZSBpdGVtcy4gTW9nZWxpamtlIHdlZXJnYXZlbiB6aWpuOjwvYnI+DQpTYW1lbnZhdHRpbmdzd2VlcmdhdmUgcmVzZXJ2ZWVyYmFyZSBpdGVtczo8YnIvPg0KPHVsPg0KICA8bGk+bmFtZTwvbGk+DQogIDxsaT5wcmljZTwvbGk+DQo8L3VsPg0KbXllc2VydmF0aW9ucyB2aWV3Ojxici8+DQo8dWw+DQogIDxsaT5zdGFydF9kYXRlPC9saT4NCiAgPGxpPmVuZF9kYXRlPC9saT4NCiAgPGxpPnByaWNlPC9saT4NCiAgPGxpPmNyZWF0ZV9kYXRlPC9saT4NCiAgPGxpPm1vZGlmaWVkX2RhdGU8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX3NvcnRvcmRlciddID0gJ0FwcGxpY2FibGUgdG8gdGhlIHJlc291cmNlIHN1bW1hcnkgdmlldyBhbmQgdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGFsdGVyaW5nIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSBzZWxlY3RlZCBkYXRhLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8YnIvPjx1bD48bGk+YXNjIC0gYXNjZW5kaW5nPC9saT48bGk+ZGVzYyAtIGRlc2NlbmRpbmc8L2xpPjwvdWw+JzsKJGxhbmdbJ2hlbHBfc3VtbWFyeXBhZ2UnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaWQgb3IgYWxpYXMgb2YgdGhlIHBhZ2UgdGhhdCB0aGUgcmVzdWx0aW5nIHN1bW1hcnkgdmlldyBzaG91bGQgYmUgb24uICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIGlubGluZSBpcyBzZXQgdG8gZmFsc2UuJzsKJGxhbmdbJ2hlbHBfc3VtbWFyeXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgdmlldywgdGhpcyBwYXJhbXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHN1bW1hcnkgdGVtcGxhdGUgd2lsbCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheSc7CiRsYW5nWydoZWxwX3llYXInXSA9ICdJbiBjb21iaW5hdGllIG1ldCBoZXQgYWRkcmVzdm4gZm9ybXVsaWVyIGdlZWZ0IGRlemUgcGFyYW1ldGVyIGRlIG1vZ2VsaWpraGVpZCBlZW4gc3RhbmRhYXJkIGphYXIgb3AgdGUgZ2V2ZW4nOwokbGFuZ1snaGlzdG9yaWNhbF9jb21wYXJpc29uJ10gPSAnR2VzY2hpZWRlbmlzIHZlcmdlbGlqa2luZyc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdlJ10gPSAnQWZiZWVsZGluZyc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdBZmJlZWxkaW5nJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX2NvbmZpZyddID0gJ0FmYmVlbGRpbmdzYWZoYW5kZWxpbmcgaW5zdGVsbGluZ2VuJzsKJGxhbmdbJ2luZm9fYWRkX3VzZXJfYWNjb3VudCddID0gJ1Rvb24gZWVuIGZvcm11bGllciB2YW4gaGV0IGdlYnJ1aWtlcnNiZWhlZXItc2NoZXJtIG9tIGVlbiBuaWV1d2UgZ2VicnVpa2Vycy1hY2NvdW50IHRvZSB0ZSB2b2VnZW4nOwokbGFuZ1snaW5mb19hZGp1c3RtZW50X3ZhbHVlcyddID0gJ0FkanVzdG1lbnQgdmFsdWVzIGNhbiBiZSBzcGVjaWZpZWQgaW4gdGhlIGZvcm0gb2YgW3N5bWJvbF0jIy4jIy4gIFN5bWJvbCBjYW4gYmUgb25lIG9mICssLSwgb3IgKi4gIGkuZTogKjAuODUgb3IgKzE1LjI1LiAgSWYgbm8gc3ltYm9sIGlzIHNwZWNpZmllZCwgKyBpcyBhc3N1bWVkLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBkZWZpbmVzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBhZHZhbmNlZCBzZWFyY2ggZm9ybSwgZGlzcGxheWVkIHdpdGggdGhlICZxdW90O3NlYXJjaCZxdW90OyBhY3Rpb24uICBZb3UgY2FuIHVzZSBhbnkgYW5kIGFsbCBzbWFydHkgbG9naWMgYW5kIHRhZ3MgaW4gdGhpcyB0ZW1wbGF0ZS4nOwokbGFuZ1snaW5mb19hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgYWR2YW5jZWQgc2VhcmNoIGZvcm0gdGVtcGxhdGVzLCBmb3IgdXNlIHdpdGggdGhlICZxdW90O3NlYXJjaCZxdW90OyBhY3Rpb24nOwokbGFuZ1snaW5mb19hbGxvd19ub19wcmljZXMnXSA9ICdHZWJydWlrdCBvbSBicm9ubmVuIHRlIGJvZWtlbiB3YWFydm9vciBnZWVuIHByaWpzIGlzIG9wZ2VnZXZlbic7CiRsYW5nWydpbmZvX2J1bGtkaXNjb3VudF9hZGp1c3RtZW50X3ZhbHVlcyddID0gJ0FkanVzdG1lbnQgdmFsdWVzIGNhbiBiZSBzcGVjaWZpZWQgaW4gdGhlIGZvcm0gb2YgW3N5bWJvbF0jIy4jIy4gIFN5bWJvbCBjYW4gYmUgb25lIG9mICssLSwgb3IgKi4gIGkuZTogKjAuODUgb3IgKzE1LjI1LiAgSWYgbm8gc3ltYm9sIGlzIHNwZWNpZmllZCwgKyBpcyBhc3N1bWVkLiAgSWYgc3BlY2lmeWluZyBhIG51bWJlciBvZiBmcmVlIGRheXMsIGFuIGludGVnZXIgdmFsdWUgaXMgZXhwZWN0ZWQuJzsKJGxhbmdbJ2luZm9fY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBjYWxlbmRhciB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fY2FsZW5kYXJfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNhbGVuZGFyIHRlbXBsYXRlcyBmb3IgdXNlIGluIHRoZSBmcm9udGVuZCBjYWxlbmRhciB2aWV3Lic7CiRsYW5nWydpbmZvX2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgZGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgZW1haWwgdGhhdCB3aWxsIGJlIHNlbnQgdG8gdGhlIHVzZXIgd2hlbiB1c2luZyB0aGlzIHRlbXBsYXRlLiAgWW91IGNhbiB1c2UgYW55IGFuZCBhbGwgc21hcnR5IGxvZ2ljIGFuZCB0YWdzIGluIHRoaXMgdGVtcGxhdGUuICBUaGUgZm9sbG93aW5nIHZhcmlhYmxlcyBhcmUgc3BlY2lhbCB0byB0aGlzIHRlbXBsYXRlOiB7JHN1YmplY3R9IC0gVGhlIHN1YmplY3Qgb2YgdGhlIGVtYWlsLCB7JGJvZHl9IC0gVGhlIGJvZHkgb2YgdGhlIGVtYWlsJzsKJGxhbmdbJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjdXN0b21lciBlbWFpbCB0ZW1wbGF0ZXMgZm9yIHVzZSB3aGVuIHNlbmRpbmcgbWVzc2FnZXMgdG8gY3VzdG9tZXJzIHdobyBoYXZlIGJvb2tlZCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHByb3BlcnRpZXMgc2hvdWxkIGJlIGxpc3RlZCBpbiB1c2VyIGxpc3RzLjxici8+VXNlIHskcHJvcGVydHluYW1lfSB0byBpZGVudGlmeSBhIHNpbmdsZSBwcm9wZXJ0eS48YnIvPlJlZmVyIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBmb3IgdGhlIGxpc3Qgb2YgcHJvcGVydGllcyBhc3NvY2lhdGVkIHdpdGggYSBwYXJ0aWN1bGFyIGdyb3VwLjxici8+WW91IGNhbiBhbHNvIHVzZSB0aGUgeyR1c2VybmFtZX0gdGFnIHRvIGluZGljYXRlIHRoZSB1c2VycyBsb2dpbiBuYW1lLic7CiRsYW5nWydpbmZvX2RheV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBhbmQgZXZlbnRzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZGF5IHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19kYXlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGRheSB2aWV3IHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gY2xpY2tpbmcgb24gYW4gaW5kaXZpZHVhbCBkYXkgZnJvbSB0aGUgZGVmYXVsdCBjYWxlbmRhciBkaXNwbGF5JzsKJGxhbmdbJ2luZm9fZGVwb3NpdCddID0gJ1RoZSBoaWdoZXN0IGFtb3VudCBjYWxjdWxhdGVkIHdpbGwgYmUgdXNlZCBhcyB0aGUgbWluaW11bSBkZXBvc2l0IGZvciBlYWNoIHJlc2VydmF0aW9uLiAgRGVwb3NpdCBhbW91bnRzIHdpbGwgbmV2ZXIgZXhjZWVkIHRoZSB0b3RhbCByZXNlcnZhdGlvbiBhbW91bnQnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc291cmNlIGRldGFpbCB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIGRldGFpbCB2aWV3cyBvZiB0aGUgdmFyaW91cyByZXNvdXJjZXMnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBkZXRhaWwgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2VtYWlsX3NlbnQnXSA9ICdZb3VyIGVtYWlsIGhhcyBiZWVuIHNlbnQuICBSZWNvcmQgb2YgdGhpcyBlbWFpbCBoYXMgYWxzbyBiZWVuIGF0dGFjaGVkIHRvIHRoZSB0cmFuc2FjdGlvbiBkZXRhaWxzIGZvciBmdXR1cmUgcmVmZXJlbmNlJzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdCZW5vZW0gZGUgZm9ybWF0IHZhbiBkZSBpbmhvdWQgdmFuIGhldCBNaWpuUmVzZXJ2ZXJpbmdlbiByYXBwb3J0JzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIG15cmVzZXJ2YXRpb25zIHZpZXcgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBhY3Rpb249bXlyZXNlcnZhdGlvbnMnOwokbGFuZ1snaW5mb19vdmVyY2FwX2Ftb3VudCddID0gJ0RhaWx5IGFtb3VudCB0byBhZGQgKHBlciB1bml0KSB0byByZXNlcnZhdGlvbiBwcmljZSwgZm9yIGVhY2ggdW5pdCBvdmVyIHRoZSBzdGF0ZWQgY2FwYWNpdHkgKGFwcGxpY2FibGUgb25seSBpZiB0aGUgY2FwYWNpdHkgaXMgYSB2YWxpZCB2YWx1ZSkuJzsKJGxhbmdbJ2luZm9fcGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbiddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYXV0b21hdGljYWxseSBpZiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gYWNjZXNzIHRoZSByZXNlcnZhdGlvbnMgZm9ybSBpZiBub3QgbG9nZ2VkIGluLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnXSA9ICdTcGVjaWZ5IHRoZSBsaXN0IG9mIHVzZXJzIChvciBncm91cHMpIHRvIHJlY2VpdmUgYSBjb3B5IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwuICBUaGUgZW1haWwgYWRkcmVzcyBwcm9wZXJ0eSBmb3IgZWFjaCBzZWxlY3RlZCB1c2VyIG11c3QgYmUgdmFsaWQuJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnQmVub2VtIGVlbiBwYWdpbmEgZGllIHdvcmR0IGdldG9vbmQgbmEgaGV0IG1ha2VuIHZhbiBlZW4gcmVzZXJ2ZXJpbmcnOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBlZGl0IHJlc2VydmF0aW9uIHVybHMsIGFuZCBzZW5kIG1lc3NhZ2UgdXJscyc7CiRsYW5nWydpbmZvX3Jlc291cmNlX3R5cGUnXSA9ICdTcGVjaWZ5IHRoZSB0eXBlIG9mIHJlc291cmNlIHlvdSB3aWxsIGJlIG1hbmFnaW5nLiAgaS5lOiAmcXVvdDtyb29tJnF1b3Q7IG9yICZxdW90O2NhciZxdW90OyBldGMuICBUaGlzIHdpbGwgY2hhbmdlIHRoZSBsYWJlbGxpbmcgb2YgdGhlIGVudGlyZSBtb2R1bGUuJzsKJGxhbmdbJ2luZm9fcmVzdm5fdGVtcGxhdGUnXSA9ICdCZW5vZW0gZGUgZm9ybWF0IHZhbiBkZSByZXNlcnZlcmluZyBmb3JtdWxpZXIuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZSddID0gJ0Jlbm9lbSBkZSBmb3JtYXQgdmFuIGRlIHJlc2VydmVyaW5nIGJldmVzdGlnaW5nIG1haWwuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ0Jlbm9lbSBkZSBmb3JtYXQgdmFuIGRlIHJlc2VydmVyaW5nIGJldmVzdGlnaW5nIHJhcHBvcnQuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnRGV6ZSB0YWIgYmV2YXQgZWVuIGxpanN0IG1ldCBiZXNjaGlrYmFyZSBFLW1haWwgc2phYmxvbmVuIHZvb3IgaGV0IHN0dXJlbiB2YW4gYmV2ZXN0aWdpbmdlbi4gRGV6ZSBzamFibG9uZW4gd29yZGVuIGdlYnJ1aWt0IHZvb3IgaGV0IGJlcmljaHQgZGF0IG5hYXIgZGUga2xhbnQgd29yZHQgZ2VzdHV1cmQgbmFkYXQgZWVuIHNpdGUgYmV6b2VrZXIgZWVuIHJlc2VydmVyaW5nIGhlZWZ0IGdlbWFha3QuJzsKJGxhbmdbJ2luZm9fcmVzdm5fY29uZmlybV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY29uZmlybWF0aW9uIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIG1lc3NhZ2UgYW5kIGRhdGEgdGhhdCBpcyBkaXNwbGF5ZWQgYWZ0ZXIgYSBzaXRlIHZpc2l0b3IgY3JlYXRlcyBvciBlZGl0cyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3Jlc3ZuX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNlcnZhdGlvbiBmb3JtIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIGZvcm0gZGlzcGxheWVkIHdoZW4gYWRkaW5nIG9yIGVkaXRpbmcgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGNvbnRyb2xzIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBzZW5kZW1haWwgZm9ybSwgdXNlZCB3aGVuIGEgc2l0ZSB2aXNpdG9yIHdhbnRzIHRvIHNlbmQgYSBtZXNzYWdlIHRvIGJ1c2luZXNzIG93bmVycyB3aXRoIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb3IgcXVlc3Rpb25zIGFib3V0IGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zZW5kZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHNlbmRlbWFpbCBmb3JtIHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3IgdGhlIGZvcm0gZGlzcGxheWVkIHdoZW4gc2VuZGluZyBhbiBlbWFpbCByZWxhdGVkIHRvIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zZW5kX21lc3NhZ2UnXSA9ICdVc2UgdGhpcyBmb3JtIHRvIHByb3ZpZGUgbW9yZSBpbmZvcm1hdGlvbiByZWdhcmRpbmcgeW91ciByZXNlcnZhdGlvbiBvciB0byBhc2sgYW55IHF1ZXN0aW9ucyByZWdhcmRpbmcgeW91ciByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBzdW1tYXJ5IHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSByZXNvdXJjZSBzdW1tYXJ5IHRlbXBsYXRlcy4gIFRoZXNlIHRlbXBsYXRlcyBhcmUgdXNlZCBmb3Igc3VtbWFyeSB2aWV3cyBvZiB0aGUgdmFyaW91cyByZXNvdXJjZXMgPGVtPih0aGlzIGlzIHRoZSBkZWZhdWx0IHZpZXcpPC9lbT4nOwokbGFuZ1snaW5mb19zeXNkZmx0X2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnU3RhbmRhYXJkIEdlYXZhbmNlZXJkIHpvZWsgZm9ybXVsaWVyIHNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCBLYWxlbmRlciBzamFibG9vbic7CiRsYW5nWydpbmZvX3N5c2RmbHRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnU3RhbmRhYXJkIEtsYW50ZW4gZS1tYWlsIHNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kYXlfdGVtcGxhdGUnXSA9ICdTeXN0ZWVtIFN0YW5kYWFyZCBEYWcgT3ZlcnppY2h0IFNqYWJsb29uJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgUmVzZXJ2ZWVyYmFhciBJdGVtIGRldGFpbCBzamFibG9vbic7CiRsYW5nWydpbmZvX3N5c2RmbHRfbXlyZXN2X3RlbXBsYXRlJ10gPSAnU3RhbmRhYXJkICZxdW90O01pam4gUmVzZXJ2ZXJpbmdlbiZxdW90OyBzamFibG9vbic7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgUmVzZXJ2ZXJpbmdzIGZvcm11bGllciBzamFibG9vbic7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCBSZXNlcnZlcmluZ3MgYmV2ZXN0aWdpbmcgc2phYmxvb24nOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgUmVzZXJ2ZXJpbmdzIGJldmVzdGlnaW5ncy1lLW1haWwgc2phYmxvb24nOwokbGFuZ1snaW5mb19zeXNkZmx0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCBWZXJ6ZW5kIGUtbWFpbCBmb3JtdWxpZXIgc2phYmxvb24nOwokbGFuZ1snaW5mb19zeXNkZmx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgUmVzZXJ2ZWVyYmFhciBJdGVtIHNhbWVudmF0dGluZyBzamFibG9vbic7CiRsYW5nWydpbmZvX3N5c2RmbHRfdGVtcGxhdGUnXSA9ICdXaWp6aWdpbmdlbiBhYW4gZGV6ZSBzamFibG9vbiBoZWJiZW4gZ2VlbiBkaXJlY3QgZWZmZWN0IG9wIGRlIG91dHB1dC4gRGl0IGZvcm11bGllciBjb250cm9sZWVydCBkZSB3YWFyZGUgdmFuIGVlbiBzamFibG9vbiBkaWUgdSBtYWFrdCBkb29yIG9wICZxdW90O05pZXV3IHNqYWJsb29uJnF1b3Q7IHRlIGtsaWtrZW4gaW4gZGUgYmV0cmVmZmVuZGUgdGFiLic7CiRsYW5nWydpbmZvX3ZpZXdfdXNlciddID0gJ1Rvb24gZ2VkZXRhaWxsZWVyZGUgaW5mb3JtYXRpZSBvdmVyIGRlemUgZ2VicnVpa2VyJzsKJGxhbmdbJ2luaXRpYWxfcmVzZXJ2YXRpb25fbm90ZXMnXSA9ICdFZXJzdGUgUmVzZXJ2ZXJpbmcgT3BtZXJraW5nZW4nOwokbGFuZ1snaW5fcHJvZ3Jlc3MnXSA9ICdJbiBiZWhhbmRlbGluZyc7CiRsYW5nWydrZXl3b3JkcyddID0gJ1NsZXV0ZWx3b29yZGVuJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJ0xhYXRzdCBnZXdpanppZ2QnOwokbGFuZ1snbGVnZW5kJ10gPSAnTGVnZW5kYSc7CiRsYW5nWydsYmxfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzJ10gPSAnVWl0Z2VicmVpZCBab2VrZm9ybXVsaWVyIFNqYWJsb25lbic7CiRsYW5nWydsYmxfYmFjayddID0gJ1RlcnVnJzsKJGxhbmdbJ2xibF9jYWxlbmRhciddID0gJ0thbGVuZGVyJzsKJGxhbmdbJ2xibF9jYWxlbmRhcl92aWV3X3RlbXBsYXRlcyddID0gJ0thbGVuZGVyIFNqYWJsb25lbic7CiRsYW5nWydsYmxfY2F0ZWdvcmllcyddID0gJ0F0dHJpYnV0ZW4nOwokbGFuZ1snbGJsX2N1c3RvbWVyX2VtYWlsX3RlbXBsYXRlcyddID0gJ0tsYW50IEVtYWlsIFNqYWJsb25lbic7CiRsYW5nWydsYmxfY3VzdG9tX2ZpZWxkcyddID0gJ1ZyaWplIHZlbGRlbic7CiRsYW5nWydsYmxfZGF5X3ZpZXdfdGVtcGxhdGVzJ10gPSAnRGFnIE92ZXJ6aWNodCBTamFibG9uZW4nOwokbGFuZ1snbGJsX2RlZmF1bHRfdGVtcGxhdGVzJ10gPSAnU3RhbmRhYXJkIHNqYWJsb25lbic7CiRsYW5nWydsYmxfZGV0YWlsX3RlbXBsYXRlcyddID0gJ0RldGFpbCBTamFibG9uZW4nOwokbGFuZ1snbGJsX2V2ZW50cyddID0gJ0dlYmV1cnRlbmlzJzsKJGxhbmdbJ2xibF9ldmVudF90eXBlcyddID0gJ0dlYmV1cnRlbmlzIHR5cGVuJzsKJGxhbmdbJ2xibF9teXJlc2VydmF0aW9uc190ZW1wbGF0ZXMnXSA9ICdNaWpuIHJlc2VydmVyaW5nc3NqYWJsb25lbic7CiRsYW5nWydsYmxfcHJlZmVyZW5jZXMnXSA9ICdWb29ya2V1cmVuJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbnMnXSA9ICdSZXNlcnZlcmluZ2VuJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3RlbXBsYXRlcyddID0gJ1Jlc2VydmVyaW5nIGJldmVzdGlnaW5nIGVtYWlsIHNqYWJsb25lbic7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fY29uZmlybV90ZW1wbGF0ZXMnXSA9ICdSZXNlcnZlcmluZyBCZXZlc3RpZ2luZ3NzamFibG9uZW4nOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2Zvcm1fdGVtcGxhdGVzJ10gPSAnUmVzZXJ2ZXJpbmdzZm9ybXVsaWVyIFNqYWJsb25lbic7CiRsYW5nWydsYmxfcmVzb3VyY2VzJ10gPSAnUmVzZXJ2ZWVyYmFyZSBpdGVtcyc7CiRsYW5nWydsYmxfc2VuZGVtYWlsX3RlbXBsYXRlcyddID0gJ1ZlcnN0dXVyIEUtbWFpbCBGb3JtdWxpZXIgU2phYmxvbmVuJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0JlaGVlciBJbnN0ZWxsaW5nZW4nOwokbGFuZ1snbGJsX3N1bW1hcnlfdGVtcGxhdGVzJ10gPSAnVWl0dHJla3NlbCBzamFibG9uZW4nOwokbGFuZ1snbGJsX3RlbXBsYXRlcyddID0gJ0JlaGVlciBzamFibG9uZW4nOwokbGFuZ1snbWFuYWdlX2N1c3RvbWVyX2NvbnRhY3RfcmVzdm4nXSA9ICdCZWhlZXIga2xhbnRlbmNvbnRhY3Qgdm9vciBkZSByZXNlcnZlcmluZyc7CiRsYW5nWydtYW5hZ2VyJ10gPSAnTWFuYWdlciAnOwokbGFuZ1snbWF4X2xlbmd0aCddID0gJ01heC4gTGVuZ3RlJzsKJGxhbmdbJ21lc3NhZ2VfdGVtcGxhdGUnXSA9ICdCZXJpY2h0IHNqYWJsb29uJzsKJGxhbmdbJ21lc3NhZ2VfdGV4dCddID0gJ0JlcmljaHQgZ2VkZWVsdGUnOwokbGFuZ1snbWluaW11bV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnTWluaW1hbGUgQWFuYmV0YWxpbmcgQmVub2RpZ2QnOwokbGFuZ1snbW9kaWZpZWRfZGF0ZSddID0gJ0dld2lqemlnZCc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdUb29sIG9tIGhldCBpbnBsYW5uZW4gZW4gcmVzZXJ2ZXJlbiB2YW4gcmVzZXJ2ZWVyYmFyZSBpdGVtcyB0ZSBiZWhlcmVuIG9wIGRhZyBiYXNpcyc7CiRsYW5nWydtb25kYXknXSA9ICdNYWFuZGFnJzsKJGxhbmdbJ21vbnRoJ10gPSAnTWFhbmQnOwokbGFuZ1snbW9udGhsaXN0X2JyaWVmJ10gPSAnSmFuL0ZlYi9NcnQvQXByL01laS9KdW4vSnVsL0F1Zy9TZXAvT2t0L05vdi9EZWMnOwokbGFuZ1snbW9yZSddID0gJ01lZXInOwokbGFuZ1snbmFtZSddID0gJ05hYW0nOwokbGFuZ1snbmV4dCddID0gJ1ZvbGdlbmRlJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydubyddID0gJ05lZSc7CiRsYW5nWydub25ib29rYWJsZV9ibG9ja3MnXSA9ICdBZmdlc2xvdGVuIHBlcmlvZGUnOwokbGFuZ1snbm9uZSddID0gJ0dlZW4nOwokbGFuZ1snbm90ZXMnXSA9ICdPcG1lcmtpbmdlbic7CiRsYW5nWydub3RfYXBwbGljYWJsZSddID0gJ04uYS53Lic7CiRsYW5nWydub3RfY2FsY3VsYXRlZCddID0gJ05pZXQgYmVyZWtlbmQnOwokbGFuZ1snbnVtX3Blb3BsZSddID0gJ0FhbnRhbCBwZXJzb25lbic7CiRsYW5nWydvY2N1cnMnXSA9ICdHZWJldXJ0JzsKJGxhbmdbJ29mJ10gPSAnVmFuJzsKJGxhbmdbJ29uJ10gPSAnQWFuJzsKJGxhbmdbJ29uZV9ob3VyJ10gPSAnRSZlYWN1dGU7biB1dXInOwokbGFuZ1snb3B0aW9ucyddID0gJ09wdGllcyc7CiRsYW5nWydvcmRlciddID0gJ09yZGVyICc7CiRsYW5nWydvdmVyY2FwX2Ftb3VudCddID0gJ092ZXJjYXBhY2l0ZWl0IFByaWpzIEJpanN0ZWxsaW5nJzsKJGxhbmdbJ3BhZ2UnXSA9ICdQYWdpbmEnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ0FhbnRhbCBJdGVtcyBwZXIgUGFnaW5hJzsKJGxhbmdbJ3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdQYWdpbmEgb20gdWl0IHRlIHdpamtlbiB3YW5uZWVyIG5pZXQgaW5nZWxvZ2QnOwokbGFuZ1sncGFydDEnXSA9ICdEZWVsIDEnOwokbGFuZ1sncGFydGlhbGx5X3Jlc2VydmVkJ10gPSAnR2VkZWVsdGVsaWprIGdlcmVzZXJ2ZWVyZCc7CiRsYW5nWydwYXJ0aWFsbHlfcmVzZXJ2ZWRfbGJsJ10gPSAnJXMgb2YgJXMgZWVuaGVkZW4gZ2VyZXNlcnZlZXJkJzsKJGxhbmdbJ3Bhc3RfbWVzc2FnZXMnXSA9ICdWb3JpZ2UgYmVyaWNodGVuJzsKJGxhbmdbJ3BlbmRpbmcnXSA9ICdJbiBiZWhhbmRlbGluZyc7CiRsYW5nWydwZXJjZW50YWdlX2RlcG9zaXRfcmVxdWlyZWQnXSA9ICdNaW5pbXVtIHBlcmNlbnRhZ2UgdmFuIGRlIGdlaGVsZSBiZXN0ZWxsaW5nIHZlcnBsaWNodCBhbHMgdm9vcnNjaG90IDxlbT4odWl0Z2VkcnVrdCBtZXQgZGVjaW1hbGVuLCBiaWp2b29yYmVlbGQgMTAuNTApPC9lbT4gKExldCBvcCwgcHVudCBnZWJydWlrZW4sIGdlZW4ga29tbWEhKSc7CiRsYW5nWydwZXJjZW50X2Jvb2tlZCddID0gJ1BlcmNlbnRhZ2UgZ2Vib2VrdCc7CiRsYW5nWydQTSddID0gJ1BNICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0RlIGluc3RhbGxhdGllIHZhbiBkZSBBdmFpbGFiaWxpdHkgbW9kdWxlIGlzIGdlc2xhYWdkLiBMZXQgZXIgb3AgZGF0IGRlIGFhbmdld2V6ZW4gZ2VicnVpa2Vyc2dyb2VwZW4gZGUganVpc3RlIHJlY2h0ZW4gaGViYmVuIG9tIGRlIHZlcnNjaGlsbGVuZGUgb25kZXJkZWxlbiBpbiBkZXplIG1vZHVsZSB0ZSBiZWhlcmVuLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRGUgQXZhaWxhYmlsaXR5IG1vZHVsZSAtIGluY2x1c2llZiBnZWFzc29jaWVlcmRlIGRhdGEgLSBpcyB1aXQgaGV0IHN5c3RlZW0gdmVyd2lqZGVyZC4gVSBiZW50IHZyaWogb20gZGUgYmVzdGFuZGVuIGRpZSBhYW4gZGV6ZSBtb2R1bGUgdmVyYm9uZGVuIHdhcmVuLCB0ZSB2ZXJ3aWpkZXJlbi4nOwokbGFuZ1sncHJldiddID0gJ1ZvcmlnZSc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJpY2UnXSA9ICdQcmlqcyc7CiRsYW5nWydwcmljZXMnXSA9ICdQcmlqemVuJzsKJGxhbmdbJ3ByaWNlX2FkanVzdCddID0gJ0FkanVzdCB0aGUgUHJpY2Ugb2YgZWZmZWN0ZWQgJXMgYnkgdGhpcyBhbW91bnQuPGJyLz48ZW0+KHVzZSBhIGZvcm1hdCBsaWtlICowLjg1IG9yIC0xMyBvciArMjUpPC9lbT4nOwokbGFuZ1sncHJvbXB0J10gPSAnVGVrc3QnOwokbGFuZ1sncHVibGljJ10gPSAnUHVibGllayc7CiRsYW5nWydxdWFydGVyX2hvdXInXSA9ICdLd2FydGllcic7CiRsYW5nWydyZXNlcnZlZCddID0gJ0dlcmVzZXJ2ZWVyZCc7CiRsYW5nWydyZXNlcnZhdGlvbiddID0gJ1Jlc2VydmVyaW5nJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZlcmluZyBhY2h0ZXJncm9uZGtsZXVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZlcmluZyBDb25mbGljdCBBY2h0ZXJncm9uZGtsZXVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc2V0dGluZ3MnXSA9ICdSZXNlcnZlcmluZyBBYW5iZXRhbGluZyBJbnN0ZWxsaW5nZW4nOwokbGFuZ1sncmVzZXJ2YXRpb25fcGVuZGluZ19iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnUGVuZGluZyBSZXNlcnZlcmluZyBBY2h0ZXJncm9uZGtsZXVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpZyddID0gJ1Jlc2VydmVyaW5nIEluc3RlbGxpbmdlbic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnXSA9ICdCZXN0YW5kIG9tIHRvZSB0ZSB2b2VnZW4gYWFuIGFsbGUgcmVzZXJ2ZXJpbmcgYmV2ZXN0aWdpbmdzbWFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYyddID0gJ0NDIGRlemUgZ2VicnVpa2VycyBiaWogZWVuIHJlc2VydmVyaW5nc2JldmVzdGlnaW5nJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZyddID0gJ1N0dXVyIGVlbiBlLW1haWwgbmFhciBkZSBrbGFudCB3YW5uZWVyIGRlIHJlc2VydmVyaW5nIGlzIGdlbWFha3QnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnT25kZXJ3ZXJwIHZvb3IgcmVzZXJ2ZXJpbmcgYmV2ZXN0aWdpbmcgZW1haWxzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1Jlc2VydmVyaW5nIGJldmVzdGlnaW5nc3BhZ2luYSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdCddID0gJ1V3IGdlc2VsZWN0ZWVyZGUgJXMgemlqbiBuaWV0IGJlc2NoaWtiYWFyIHZvb3IgZGUgZ2VzZWxlY3RlZXJkZSBkYXRhJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NyZWF0ZWQnXSA9ICdSZXNlcnZlcmluZyBnZW1hYWt0JzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZSddID0gJ1Jlc2VydmVyaW5nIFN0YW5kYWFyZCBQYWdpbmEnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGV0YWlscyddID0gJ1Jlc2VydmVyaW5nIERldGFpbHMnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmxpY3RfZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmVyaW5nIENvbmZsaWN0IFZvb3Jncm9uZCBLbGV1cic7CiRsYW5nWydyZXNlcnZhdGlvbl9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnUmVzZXJ2ZXJpbmcgdm9vcmdyb25ka2xldXInOwokbGFuZ1sncmVzZXJ2YXRpb25fcGFydGlhbF9mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnR2VkZWVsdGVsaWprIGdlYm9la3Qgdm9vcmdyb25ka2xldXInOwokbGFuZ1sncmVzZXJ2YXRpb25fcGFydGlhbF9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnR2VkZWVsdGVsaWprIGdlYm9la3QgYWNodGVyZ3JvbmRrbGV1cic7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0cyddID0gJ1Jlc2VydmVyaW5nIENvbXBvbmVudGVuJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BlbmRpbmdfZm9yZWdyb3VuZF9jb2xvciddID0gJ1Jlc2VydmVyaW5nIGluIGJlaGFuZGVsaW5nIHZvb3Jncm9uZGtsZXVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX251bSddID0gJ1Jlc2VydmVyaW5nOiAlMDVkJzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVzZXQgJzsKJGxhbmdbJ3Jlc291cmNlJ10gPSAnUmVzZXJ2ZWVyYmFhciBJdGVtJzsKJGxhbmdbJ3Jlc291cmNlcyddID0gJ1Jlc2VydmVlcmJhcmUgSXRlbXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8xJ10gPSAnUmVzZXJ2ZWQgb24gYW4gJXMgYmFzaXMsIG9uICVzIGJvdW5kYXJpZXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8yJ10gPSAnR2VyZXNlcnZlZXJkIG9wIGVlbiAlcyBiYXNpcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzMnXSA9ICdiZXNjaGlrYmFhciB2YW4gJXMgdG90ICVzIGVuIHZhbiAlcyB0b3QgJXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV80J10gPSAnY2hlY2tpbiB0aWpkIGlzICVzLCBlbiBkZSBjaGVja291dCB0aWpkIGlzICVzJzsKJGxhbmdbJ3Jlc291cmNlX3R5cGUnXSA9ICdSZXNlcnZlZXJiYWFyIEl0ZW0gVHlwZSc7CiRsYW5nWydyb29tJ10gPSAnS2FtZXInOwokbGFuZ1sncm9vbXMnXSA9ICdLYW1lcnMnOwokbGFuZ1sncmVxdWlyZV9kZXBvc2l0J10gPSAnSXMgZWVuIGFhbmJldGFsaW5nIHZlcmVpc3Q/JzsKJGxhbmdbJ3NhdHVyZGF5J10gPSAnWmF0ZXJkYWcnOwokbGFuZ1snc2NoZWR1bGluZyddID0gJ0luYm9la2VuJzsKJGxhbmdbJ3NjaGVkdWxpbmdfaW50ZXJ2YWwnXSA9ICdEaXQgaXRlbSBpcyBnZXJlc2VydmVlcmQnOwokbGFuZ1snc2VhcmNoJ10gPSAnWm9layc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnS2llcyBlciAmZWFjdXRlOyZlYWN1dGU7bic7CiRsYW5nWydzZW5kJ10gPSAnVmVyc3R1dXInOwokbGFuZ1snc2VuZF9lbWFpbCddID0gJ1ZlcnN0dXVyIGVlbiBFbWFpbCc7CiRsYW5nWydzZW50J10gPSAnVmVyc3R1cmVuJzsKJGxhbmdbJ3N0YXJ0X2RhdGUnXSA9ICdTdGFydCBEYXR1bSc7CiRsYW5nWydzdGFydF90aW1lXzEnXSA9ICdTdGFydCBUaWpkIDEnOwokbGFuZ1snc3RhcnRfdGltZV8yJ10gPSAnU3RhcnQgVGlqZCAyJzsKJGxhbmdbJ3N0YXRpc3RpY3MnXSA9ICdTdGF0aXN0aWVrZW4nOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzICc7CiRsYW5nWydzdGF0dXNfcm9vbXNfYXZhaWxhYmxlJ10gPSAnRGUgJXMgZGllIHUgc2VsZWN0ZWVyZGUgemlqbiB2b29yIGRlemUgZGF0YSBiZXNjaGlrYmFhcic7CiRsYW5nWydzdWJqX3JlX3Jlc3ZuJ10gPSAnUmU6IFJlc2VydmVyaW5nICVzJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdPbmRlcndlcnAnOwokbGFuZ1snc3VibWl0J10gPSAnVmVyc3R1cmVuJzsKJGxhbmdbJ3N1bmRheSddID0gJ1pvbmRhZyc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1Rla3N0IHJ1aW10ZSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGVrc3R2ZWxkJzsKJGxhbmdbJ3RodXJzZGF5J10gPSAnRG9uZGVyZGFnJzsKJGxhbmdbJ3RpdGxlX2NvbmZsaWN0J10gPSAnQ29uZmxpY3QgT3BnZXRyZWRlbnxFZW4gY29uZmxpY3QgYmVzdGFhdCB0dXNzZW4gcmVzZXJ2ZXJpbmcgJTA0ZCBlbiAlMDRkLjxici8+PGJyLz5FciBrdW5uZW4gbWVlciBjb25mbGljdGVuIGJlc3RhYW4gdm9vciBkZXplIHBlcmlvZGUuJzsKJGxhbmdbJ3RpdGxlX2dyYXBoaW5nJ10gPSAnQmVraWprIGdyYWZpc2NoZSB3ZWVyZ2F2ZW4gZW4gcmFwcG9ydGVuIHZhbiBoaXN0b3Jpc2NoZSBnZWdldmVucyc7CiRsYW5nWyd0byddID0gJ1RvdCc7CiRsYW5nWyd0b3RhbF9ibG9ja3MnXSA9ICdUb3RhbGUgUGVyaW9kZSc7CiRsYW5nWyd0dWVzZGF5J10gPSAnRGluc2RhZyc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSAnOwokbGFuZ1sndXNlX2RhdGVzX2luX2ZpbHRlciddID0gJ0dlYnJ1aWsgZGUgdm9sZ2VuZGUgZGF0dW1zJzsKJGxhbmdbJ3ZhY2FudCddID0gJ0Jlc2NoaWtiYWFyJzsKJGxhbmdbJ3ZpZXcnXSA9ICdCZWtpamsnOwokbGFuZ1sndmlld19kYXknXSA9ICdJbmZvcm1hdGllIG92ZXIgZGV6ZSBkYWcgYmVraWprZW4nOwokbGFuZ1sndmlld191c2VyJ10gPSAnQmVraWprIGdhc3QgZGV0YWlscyc7CiRsYW5nWyd2aWV3X3JzcmNfZGV0YWlscyddID0gJ0Jla2lqayBkZXRhaWxzIHZvb3IgZGV6ZSAlcyc7CiRsYW5nWyd3ZWRuZXNkYXknXSA9ICdXb2Vuc2RhZyc7CiRsYW5nWyd3ZWVrZGF5X3ByaWNlX2FkanVzdG1lbnRzJ10gPSAnV2Vla2RhZyBQcmlqcyBCaWpzdGVsbGluZyc7CiRsYW5nWyd5ZWFyXzEnXSA9ICdKYWFyIDEnOwokbGFuZ1sneWVhcl8yJ10gPSAnSmFhciAyJzsKJGxhbmdbJ3llYXJfMyddID0gJ0phYXIgMyc7CiRsYW5nWyd5ZXMnXSA9ICdKYSc7CiRsYW5nWyd5b3VyX25hbWUnXSA9ICdVdyBuYWFtJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuODg1NDUyODk5LjEyMzc0OTQyMDIuMTI1NTI3Mjk3MS4xMjU1MzgyMDEwLjc4JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI1NTM4MjAxMC43OC41NC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9pbmRleC5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3FjYSddID0gJzExODI2ODE1NTEtMTkwMTQ3MC05MjU5ODk0Nic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0FkYXVnYXJlIHRpcCBldmVuaW1lbnQnOwokbGFuZ1snYWN0aW9uX2VkaXRfZXZlbnRfdHlwZSddID0gJ0VkaXRhcmUgdGlwIGV2ZW5pbWVudCc7CiRsYW5nWydhY3RpdmUnXSA9ICdBY3Rpdic7CiRsYW5nWydhZGQnXSA9ICdBZGF1Z2FyZSc7CiRsYW5nWydhZGRfbm90ZXMnXSA9ICdJbnRyb2R1Y2V0aSBpbmZvcm1hdGlpIGRlc3ByZSBhY2Vhc3RhIHJlemVydmFyZSc7CiRsYW5nWydhZGRlZGl0X2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSBmb3JtdWxhciBjYXV0YXJlIGF2YW5zYXRhJzsKJGxhbmdbJ2FkZGVkaXRfY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdBZGF1Z2FyZS9FZGl0YXJlIHRlbXBsYXRlIHZpenVhbGl6YXJlIGNhbGVuZGFyJzsKJGxhbmdbJ2FkZGVkaXRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSBlLW1haWwgY2xpZW50JzsKJGxhbmdbJ2FkZGVkaXRfZGF5X3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSB2aXp1YWxpemFyZSB6aSc7CiRsYW5nWydhZGRlZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0FkYXVnYXJlL0VkaXRhcmUgdGVtcGxhdGUgdml6dWFsaXphcmUgZGV0YWxpaSByZXN1cnNhJzsKJGxhbmdbJ2FkZGVkaXRfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdBZGF1Z2FyZS9FZGl0YXJlIHRlbXBsYXRlIHZpenVhbGl6YXJlIHJlemVydmFyaSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSBmb3JtdWxhciByZXplcnZhcmUnOwokbGFuZ1snYWRkZWRpdF9yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSBlLW1haWwgY29uZmlybWFyZSByZXplcnZhcmUnOwokbGFuZ1snYWRkZWRpdF9yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnQWRhdWdhcmUvRWRpdGFyZSB0ZW1wbGF0ZSBjb25maXJtYXJlIHJlemVydmFyZSc7CiRsYW5nWydhZGRlZGl0X3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ0FkYXVnYXJlL0VkaXRhcmUgdGVtcGxhdGUgZm9ybXVsYXIgdHJpbWl0ZXJlIGUtbWFpbCc7CiRsYW5nWydhZGRlZGl0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdBZGF1Z2FyZS9FZGl0YXJlIHRlbXBsYXRlIHZpenVhbGl6YXJlIHN1bWFyIHJlc3Vyc2UnOwokbGFuZ1snYWRtaW5fbm90ZXMnXSA9ICdOb3RlIGFkbWluJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnQWp1c3RhcmUgZGlzY291bnQgY2FudGl0YXRlIGN1ICUuMmYgcGVudHJ1IHppbGVsZSBlbGlnaWJpbGUnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FsbGFkanVzdCddID0gJ0FqdXN0YXJlIGRpc2NvdW50IGNhbnRpdGF0ZSBjdSAlLjJmIHBlbnRydSB0b2F0ZSB6aWxlbGUnOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0Rpc2NvdW50IGNhbnRpdGF0ZSB6aSBsaWJlcmEgZWxpZ2liaWxhJzsKJGxhbmdbJ2FkanVzdF9ldmVudF9wcmljZSddID0gJ1MtYSBhanVzdGF0IHByZXR1bCBwZW50cnUgZXZlbmltZW50dWwgJXMgY3UgJXMnOwokbGFuZ1snYWRqdXN0X292ZXJjYXBhY2l0eSddID0gJ1MtYSBhanVzdGF0IHByZXR1bCBwZW50cnUgJWQgZXh0cmEgcGVyc29hbmUgY3UgJS4yZic7CiRsYW5nWydhZGp1c3Rfd2Vla2RheV9wcmljZSddID0gJ1MtYSBhanVzdGF0IHByZXR1bCBwZW50cnUgeml1YSAlcyBhIHNhcHRhbWFuaWkgY3UgJXMnOwokbGFuZ1snYWRkX2NhdGVnb3J5J10gPSAnQWRhdWdhcmUgYXRyaWJ1dCc7CiRsYW5nWydhZGRfY3VzdG9tX2ZpZWxkJ10gPSAnQWRhdWdhcmUgY2FtcCBjdXN0b20nOwokbGFuZ1snYWRkX2V2ZW50J10gPSAnQWRhdWdhcmUgZXZlbmltZW50JzsKJGxhbmdbJ2FkZF9ldmVudF90eXBlJ10gPSAnQWRhdWdhcmUgdGlwIGV2ZW5pbWVudCc7CiRsYW5nWydhZGRfcmVzZXJ2YXRpb24nXSA9ICdBZGF1Z2FyZSByZXplcnZhcmUgbm91YSc7CiRsYW5nWydhZGRfdXNlcl9hY2NvdW50J10gPSAnQWRhdWdhcmUgY29udCB1dGlsaXphdG9yJzsKJGxhbmdbJ2FsbCddID0gJ1RvYXRlJzsKJGxhbmdbJ2FsbG93ZWRfZmlsZV90eXBlcyddID0gJ1RpcHVyaSBmaXNpZXJlIHBlcm1pc2UnOwokbGFuZ1snYWxsb3dlZF9pbWFnZV90eXBlcyddID0gJ1RpcHVyaSBpbWFnaW5pIHBlcm1pc2UnOwokbGFuZ1snYWxsb3dfbm9fcHJpY2VzJ10gPSAnRXJvYXJlIGxhIGZhcmEgcHJldCc7CiRsYW5nWydBTSddID0gJ0FNICc7CiRsYW5nWydhbnknXSA9ICdvcmljZSc7CiRsYW5nWydhcHBseSddID0gJ0FwbGljYXJlJzsKJGxhbmdbJ2Fza19kZWxldGVfZXZlbnQnXSA9ICdTaWd1ciBkb3JpdGkgc2EgaW5sYXR1cmF0aSBwZXJtYW5lbnQgYWNlc3QgZXZlbmltZW50Pyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc2VydmF0aW9uJ10gPSAnU2lndXIgZG9yaXRpIHNhIGlubGF0dXJhdGkgcGVybWFuZW50IGFjZWFzdGEgcmV6ZXJ2YXJlIGRpbiBzaXN0ZW0/JzsKJGxhbmdbJ2Fza19kZWxldGVfcmVzb3VyY2UnXSA9ICdTaWd1ciBkb3JpdGkgc2EgaW5sYXR1cmF0aSBwZXJtYW5lbnQgYWNlYXN0YSByZXN1cnNhPyc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJ1N1bnRldGkgc2lndXIgY2EgZG9yaXRpIHNhIGRlemluc3RhbGF0aSBhY2VzdCBtb2R1bD8gRGFjYSBjb250aW51YXRpIHZldGkgcGllcmRlIHRvYXRlIGRhdGVsZSBsZWdhdGUgZGUgbW9kdWwuJzsKJGxhbmdbJ2F0J10gPSAnQCAnOwokbGFuZ1snYXR0YWNobWVudCddID0gJ0F0YXNhbWVudCc7CiRsYW5nWydhdHRhY2htZW50X2RpciddID0gJ0ZvbGRlciB1bmRlIHNlIGNhdXRhIGR1cGEgYXRhc2FtZW50ZSc7CiRsYW5nWydhdHRyaWJ1dGVzJ10gPSAnQXRyaWJ1dGUnOwokbGFuZ1snYXV0b19nZW5lcmF0ZV90aHVtYm5haWxzJ10gPSAnR2VuZXJhcmUgYXV0b21hdGEgbWluaWF0dXJpJzsKJGxhbmdbJ2F2YWlsYWJsZSddID0gJ0Rpc3BvbmliaWwnOwokbGFuZ1snYmFja2dyb3VuZF9jb2xvciddID0gJ0N1bG9hcmUgZnVuZGFsJzsKJGxhbmdbJ2Jhc2VfcHJpY2UnXSA9ICdQcmV0IGRlIGJhemEnOwokbGFuZ1snYmFzaWNfcHJpY2luZyddID0gJ0NhbGN1bCBwcmV0dXJpJzsKJGxhbmdbJ2Jvb2thYmxlJ10gPSAnU2UgcG90IHJlemVydmEgY2FtZXJlIHBlIGR1cmF0YSBhY2VzdHVpIGV2ZW5pbWVudD8nOwokbGFuZ1snYm9va2FibGVfYnInXSA9ICdSZXplcnZhYmlsJzsKJGxhbmdbJ2Jvb2thYmxlX2V2ZW50X2Jsb2NrcyddID0gJ0Jsb2N1cmkgZXZlbmltZW50IHJlemVydmFiaWxlJzsKJGxhbmdbJ2Jvb2tlZF9ibG9ja3MnXSA9ICdCbG9jdXJpIHJlemVydmF0ZSc7CiRsYW5nWydjYWJpbiddID0gJ0NhYmluYSc7CiRsYW5nWydjYWJpbnMnXSA9ICdDYWJpbmUnOwokbGFuZ1snY2FsY3VsYXRlJ10gPSAnQ2FsY3VsYXJlJzsKJGxhbmdbJ2NhbGN1bGF0ZV9wcmljZSddID0gJ0NhbGN1bGFyZSBwcmV0JzsKJGxhbmdbJ2NhbGN1bGF0ZWRfcHJpY2UnXSA9ICdQcmV0IGNhbGN1bGF0JzsKJGxhbmdbJ2NhbGVuZGFyX2NvbmZpZyddID0gJ1NldGFyaSBjYWxlbmRhciBkaXNwb25pYmlsaXRhdGUnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW51bGFyZSc7CiRsYW5nWydjYW5jZWxsZWQnXSA9ICdBbnVsYXQnOwokbGFuZ1snY2FwYWNpdHknXSA9ICdDYXBhY2l0YXRlJzsKJGxhbmdbJ2NhciddID0gJ0F1dG90dXJpc20nOwokbGFuZ1snY2FycyddID0gJ0F1dG90dXJpc21lJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdBdHJpYnV0ZSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0F0cmlidXQnOwokbGFuZ1snY2NfbXlzZWxmJ10gPSAnVHJpbWl0ZXJlIGNvcGllIGEgYWNlc3R1aSBtZXNhaiBjYXRyZSBjYXN1dGEgbWVhIGRlIGUtbWFpbCc7CiRsYW5nWydjaGVja2JveCddID0gJ0Nhc3V0YSBzZWxlY3RpZSc7CiRsYW5nWydjaGVja2luJ10gPSAnTHVhcmUgaW4gcHJpbWlyZSc7CiRsYW5nWydjaGVja2luX3RpbWUnXSA9ICdUaW1wIGx1YXJlIGluIHByaW1pcmUnOwokbGFuZ1snY2hlY2tvdXQnXSA9ICdQcmVkYXJlJzsKJGxhbmdbJ2NoZWNrb3V0X3RpbWUnXSA9ICdUaW1wIHByZWRhcmUnOwokbGFuZ1snY2hlY2tfYXZhaWxhYmlsaXR5J10gPSAnVmVyaWZpY2FyZSBkaXNwb25pYmlsaXRhdGUnOwokbGFuZ1snY2xvc2VkJ10gPSAnSW5jaGlzYSc7CiRsYW5nWydjb2xvciddID0gJ0N1bG9hcmUnOwokbGFuZ1snY29uZmlybWVkJ10gPSAnQ29uZmlybWF0YSc7CiRsYW5nWydjb25maXJtX3Jlc2VydmF0aW9uJ10gPSAnVmVyaWZpY2F0aSBpbmZvcm1hdGlpbGUgZGluIGZvcm11bGFyLCBzaSBjb25maXJtYXRpIGNhIGRvcml0aSBzYSBmYWNldGkgYWNlYXN0YSByZXplcnZhcmUnOwokbGFuZ1snY29uZmxpY3QnXSA9ICdDb25mbGljdCAnOwokbGFuZ1snY3JlYXRlX2RhdGUnXSA9ICdDcmVhdGEnOwokbGFuZ1snY3JlYXRlX3Jlc2VydmF0aW9uJ10gPSAnQ3JlYXRpIG8gcmV6ZXJ2YXJlIHBlbnRydSBhY2VzdCBzbG90JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDcmVhdGEnOwokbGFuZ1snY3VycmVuY3lfc3ltYm9sJ10gPSAnU2ltYm9sIG1vbmVkYSc7CiRsYW5nWydjdXN0b21lciddID0gJ0NsaWVudCc7CiRsYW5nWydjdXN0b21lcl9ncm91cCddID0gJ0dydXAgY2xpZW50JzsKJGxhbmdbJ2N1c3RvbWVyX25hbWUnXSA9ICdOdW1lIGNsaWVudCc7CiRsYW5nWydjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgYWZpc2FyZSBjbGllbnQnOwokbGFuZ1snZGFpbHknXSA9ICdaaWxuaWMnOwokbGFuZ1snZGF0ZSddID0gJ0RhdGEnOwokbGFuZ1snZGF5X3JlcG9ydCddID0gJ1JhcG9ydCB6aSc7CiRsYW5nWydkYXlfcmVwb3J0X3JzcmMnXSA9ICdSYXBvcnQgemkgcGVudHJ1ICVzJzsKJGxhbmdbJ2RheV92aWV3J10gPSAnVml6dWFsaXphcmUgemknOwokbGFuZ1snZGVmYXVsdF9ncmFudWxhcml0eSddID0gJ0dyYW51bGFyaXRhdGUgaW1wbGljaXRhJzsKJGxhbmdbJ2RlZmF1bHRfdGltZV9pbnRlcnZhbCddID0gJ0ludGVydmFsIHRpbXAgaW1wbGljaXQnOwokbGFuZ1snZGVsZXRlJ10gPSAnU3RlcmdlcmUnOwokbGFuZ1snZGVsZXRlX2NhdGVnb3J5J10gPSAnU3RlcmdlcmUgYXRyaWJ1dCc7CiRsYW5nWydkZWxldGVfY3VzdG9tX2ZpZWxkJ10gPSAnU3RlcmdlcmUgY2FtcCBjdXN0b20nOwokbGFuZ1snZGVsZXRlX2V2ZW50J10gPSAnU3RlcmdlcmUgZXZlbmltZW50JzsKJGxhbmdbJ2RlbGV0ZV9ldmVudF90eXBlJ10gPSAnU3RlcmdlcmUgdGlwIGV2ZW5pbWVudCc7CiRsYW5nWydkZXBvc2l0X2Ftb3VudHMnXSA9ICdWYWxvcmkgZGVwb3ppdGUnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmllcmUnOwokbGFuZ1snZGZsdF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnXSA9ICdSZXplcnZhcmVhIGR1bW5lYXZvYXN0cmEgYSBmb3N0IGNvbmZpcm1hdGEnOwokbGFuZ1snZGlzY291bnRfYWRqdXN0bWVudCddID0gJ0FqdXN0YXJlIHJlZHVjZXJlJzsKJGxhbmdbJ2Rpc2NvdW50X21pbl9ibG9ja3MnXSA9ICdOdW1hciBtaW5pbSBkZSB6aWxlIGNlcnV0IHBlbnRydSBkaXNjb3VudCc7CiRsYW5nWydkaXNjb3VudF9mcmVlYmxvY2snXSA9ICdaaWxlIGxpYmVyZSAoY2VsZSBtYWkgaWVmdGluZSBwcmltZWxlKSc7CiRsYW5nWydkaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdBcGxpY2FyZSBhanVzdGFyZSBpbiBncnVwIHBlbnRydSB0b2F0ZSB6aWxlbGUnOwokbGFuZ1snZGlzY291bnRfYWRqdXN0ZGF5cyddID0gJ0FqdXN0YXJlIHByZXR1cmkgbnVtYWkgcGVudHJ1IHppbGUgYXBsaWNhYmlsZSc7CiRsYW5nWydkaXNjb3VudF90eXBlJ10gPSAnVGlwIGRpc2NvdW50JzsKJGxhbmdbJ2Rpc3BsYXknXSA9ICdBZmlzYXJlJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24gJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0YXJlJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdFZGl0YXJlIGF0cmlidXQnOwokbGFuZ1snZWRpdF9jdXN0b21fZmllbGQnXSA9ICdFZGl0YXJlIGNhbXAgY3VzdG9tJzsKJGxhbmdbJ2VkaXRfZXZlbnQnXSA9ICdFZGl0YXJlIGV2ZW5pbWVudCc7CiRsYW5nWydlZGl0X2V2ZW50X3R5cGUnXSA9ICdFZGl0YXJlIHRpcCBldmVuaW1lbnQnOwokbGFuZ1snZWRpdF9yZXNlcnZhdGlvbiddID0gJ0VkaXRhcmUgUmV6ZXJ2YXJlJzsKJGxhbmdbJ2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ2VuZF9kYXRlJ10gPSAnRGF0YSBzZmFyc2l0JzsKJGxhbmdbJ2VuZF90aW1lXzEnXSA9ICdEYXRhIHNmYXJzaXQgMSc7CiRsYW5nWydlbmRfdGltZV8yJ10gPSAnRGF0YSBzZmFyc2l0IDInOwokbGFuZ1snZXJyb3JfY2FsY3VsYXRpb24nXSA9ICdFcm9hcmUgY2FsY3VsYXJlJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnXSA9ICdBY2Vhc3RhIHJlc3Vyc2EgbnUgcG9hdGUgZmkgc3RlYXJzYSBwZW50cnUgY2EgZXhpc3RhIHJlemVydmFyaSBmYWN1dGUgcGVudHJ1IGVhJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcm9hcmUgYmF6YSBkZSBkYXRlLCBjb250YWN0YXRpIGFkbWluaXN0cmF0b3J1bCc7CiRsYW5nWydlcnJvcl9ldmVudF9jb25mbGljdCddID0gJ08gcmV6ZXJ2YXJlIGV4aXN0ZW50YSwgc2F1IHVuIGV2ZW5pbWVudCBub24tcmV6ZXJ2YWJpbCBlc3RlIGluIGNvbmZsaWN0IGN1IGRhdGVsZSBzaSByZXN1cnNlbGUgc2VsZWN0YXRlIHBlbnRydSBhY2Vhc3RhIHJlemVydmFyZS4nOwokbGFuZ1snZXJyb3JfZmlsZWRlbGV0ZSddID0gJ08gcHJvYmxlbWEgYSBhcGFydXQgbGEgc3RlcmdlcmVhIHVudWkgc2F1IG1haSBtdWx0b3IgZmlzaWVyZSc7CiRsYW5nWydlcnJvcl9pbnRlcm5hbGNvbmZpZyddID0gJ0EgYXBhcnV0IG8gZXJvYXJlIGludGVybmEgZGUgY29uZmlndXJhcmUuIFZhIHJ1Z2FtIHNhIGNvbnRhY3RhdGkgYWRtaW5pc3RyYXRvcnVsIHNpdGUtdWx1aSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2RhdGVzJ10gPSAnQXRpIGludHJvZHVzIGRhdGUgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZF9wcmljZSddID0gJ1ByZXR1bCBpbnRyb2R1cyBwYXJlIGEgZmkgZ29sIHNhdSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdGltZV9zZXR0aW5ncyddID0gJ0ludGVydmFsZWxlIGRlIHRpbXAgaW50cm9kdXNlIHN1bnQgaW52YWxpZGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZF92YWx1ZSddID0gJ08gdmFsb2FyZSBpbnZhbGlkYSBhIGZvc3Qgc3BlY2lmaWNhdGEgcGVudHJ1IHVudWwgc2F1IG1haSBtdWx0ZSBjYW1wdXJpIHNhdSBwYXJhbWV0cmknOwokbGFuZ1snZXJyb3JfbWlzc2luZ19wYXJhbWV0ZXInXSA9ICdVbnVsIHNhdSBtYWkgbXVsdGkgcGFyYW1ldHJpIGNlcnV0aSBsaXBzYSBzYXUgZmFyYSBkYXRlJzsKJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnUHJvYmxlbWEgbGEgY3JlYXJlIGZvbGRlcic7CiRsYW5nWydlcnJvcl9tdXN0X3NlbGVjdCddID0gJ1RyZWJ1aWUgc2Egc2VsZWN0YXRpIG1pbmltIDEgJXMnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3NlcyddID0gJ1Byb2JsZW1hIGRlIGNvbmZpZ3VyYXJlLiBIb3N0dWwgc2l0ZS11bHVpIG51IGEgY29uZmlndXJhdCBjYSBjaW5ldmEgc2EgcHJpbWVhc2NhIGFjZXN0ZSBtZXNhamUuIEx1YXRpIGxlZ2F0dXJhIGN1IGFkbWluaXN0cmF0b3J1bCBzaXRlLXVsdWkgZGlyZWN0JzsKJGxhbmdbJ2Vycm9yX25vdGZvdW5kJ10gPSAnRGF0ZWxlIHNwZWNpZmljYXRlIG51IGF1IHB1dHV0IGZpIGdhc2l0ZSc7CiRsYW5nWydlcnJvcl9ub3Rsb2dnZWRpbl9mZXUnXSA9ICdOdSBzdW50ZXRpIGF1dGVudGlmaWNhdCBwZSBhY2VzdCBzaXRlLiBUcmVidWllIHNhIGF2ZXRpIHVuIGNvbnQgcGVudHJ1IGEgcHV0ZWEgZmFjZSBvIHJlemVydmFyZSc7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9lbWFpbCddID0gJ051IHMtYSBnYXNpdCBvIGFkcmVzYSBkZSBlLW1haWwgcGVudHJ1IGFjZXN0IGNsaWVudCc7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9zZWxlY3RlZCddID0gJ1NlbGVjdGF0aSB1biBjbGllbnQgZGluIGxpc3RhJzsKJGxhbmdbJ2Vycm9yX25vX2V2ZW50X3R5cGVzJ10gPSAnTnUgYXUgZm9zdCBkZWZpbml0ZSB0aXB1cmkgZGUgZXZlbmltZW50ZSc7CiRsYW5nWydlcnJvcl9ub19yZXNlcnZhdGlvbnMnXSA9ICdOdSBhdSBmb3N0IGdhc2l0ZSByZXplcnZhcmkgcGVudHJ1IGRhdGEgc2VsZWN0YXRhJzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlcyddID0gJ05pY2l1biAlcyBkZWZpbml0JzsKJGxhbmdbJ2Vycm9yX25vX3Jlc291cmNlc19zZWxlY3RlZCddID0gJ0RlZmluaXRpIHVuYSBzYXUgbWFpIG11bHRlIHJlc3Vyc2Ugc2kgaW50ZXJ2YWxlIHBlbnRydSBhY2Vhc3RhIHJlemVydmFyZSc7CiRsYW5nWydlcnJvcl9ub191c2Vyc19mb3VuZCddID0gJ051IGEgZm9zdCBnYXNpdCBuaWNpIHVuIGNsaWVudCBpbnJlZ2lzdHJhdCBwZW50cnUgZ3J1cHVsIGRlIGNsaWVudGkgc2VsZWN0YXQnOwokbGFuZ1snZXJyb3JfcGFzdF9kYXRlcyddID0gJ051IHB1dGV0aSBjcmVhIHJlemVydmFyaSBwZW50cnUgZGF0ZSBkaW4gdHJlY3V0JzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb24nXSA9ICdOdSBhdmV0aSBwZXJtaXNpdW5pIHNhIHZlZGV0aSBhY2VzdGUgZGF0ZSc7CiRsYW5nWydlcnJvcl9yZXNlcnZhdGlvbl9jb25mbGljdCddID0gJ1VuIGNvbmZsaWN0IGRlIHJlemVydmFyZSBhIGZvc3QgZGV0ZWN0YXQuJzsKJGxhbmdbJ2Vycm9yX3NlbGVjdF9zdGF0dXMnXSA9ICdTZWxlY3RhdGkgdW4gc3RhdHVzIHBlbnRydSBhY2Vhc3RhIHJlemVydmFyZSc7CiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdFcm9hcmUgbGEgdXBsb2FkIGZpc2llcic7CiRsYW5nWydldmVudHNfZm9yX3Jlc291cmNlJ10gPSAnRXZlbmltZW50ZSBwZW50cnUgJXMnOwokbGFuZ1snZXZlbnRfdHlwZSddID0gJ1RpcCBldmVuaW1lbnQnOwokbGFuZ1snZXZlbnRfdHlwZXMnXSA9ICdUaXB1cmkgZXZlbmltZW50ZSc7CiRsYW5nWydleHBpcmVkJ10gPSAnRXhwaXJhdCc7CiRsYW5nWydleHRlbmRlZF91c2VfZGlzY291bnRzJ10gPSAnUmVkdWNlcmkgZm9sb3NpcmUgaW5kZWx1bmdhdGEnOwokbGFuZ1snZmV1X3ByZWZlcmVuY2VzJ10gPSAnU2V0YXJpIHV0aWxpemF0b3IgZnJvbnRlbmQnOwokbGFuZ1snZmllbGRzJ10gPSAnQ2FtcHVyaSc7CiRsYW5nWydmaWxlJ10gPSAnRmlzaWVyJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRydSc7CiRsYW5nWydmaWxlX2hhbmRsaW5nX2NvbmZpZyddID0gJ0NvbmZpZ3VyYXJlIGx1Y3J1IGZpc2llcmUnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snZm9yZWdyb3VuZF9jb2xvciddID0gJ0N1bG9hcmUgcHJpbS1wbGFuJzsKJGxhbmdbJ2ZyaWRheSddID0gJ1ZpbmVyaSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdNYW5hZ2VyIGRpc3BvbmliaWxpdGF0ZSc7CiRsYW5nWydmdXR1cmUnXSA9ICdVcm1lYXphJzsKJGxhbmdbJ2dlbmVyYWxfY29uZmlnJ10gPSAnQ29uZmlndXJhcmUgZ2VuZXJhbGEnOwokbGFuZ1snZ3JvdXAnXSA9ICdHcnVwJzsKJGxhbmdbJ2d1ZXN0J10gPSAnT2FzcGV0ZSc7CiRsYW5nWydoYWxmX2RheSddID0gJ0p1bWF0YXRlIGRlIHppJzsKJGxhbmdbJ2hhbGZfaG91ciddID0gJ0p1bWF0YXRlIGRlIG9yYSc7CiRsYW5nWydob3VybHknXSA9ICdMYSBmaWVjYXJlIG9yYSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkNlIGZhY2UgYWNlc3RhPzwvaDM+DQo8cD5BY2VzdCBtb2R1bCBvZmVyYSB1biBzaXN0ZW0gY29tcGxldCBkZSBtYW5hZ2VtZW50IHJlemVydmFyaSBvbmxpbmUgcGVudHJ1IGhvdGVsdXJpLCBhZ2VudGlpIGRlIGluY2hpcmlhdCBhdXRvdHVyaXNtZSwgc2F1IG9yaWNlIGFsdCBkb21lbml1IHVuZGUgJnF1b3Q7cmVzdXJzZSZxdW90OyBwb3QgZmkgcmV6ZXJ2YXRlIGxhIG5pdmVsIGRlIHppLjwvcD4NCjxwPkFjZXN0IG1vZHVsIG9mZXJhIHVuIG1lY2FuaXNtIHBlbnRydSB1dGlsaXphdG9yaWkgZnJvbnRlbmQgc2EgY3JlZXplIHNpIHNhIGFkbWluaXN0cmV6ZSByZXplcnZhcmkgc2kgc2EgY29udGFjdGV6ZSBhZG1pbmlzdHJhdG9yaWkgY3UgaW5mb3JtYXRpaSBzaSBpbnRyZWJhcmkgZGVzcHJlIHJlemVydmFyaS48L3A+DQo8cD5PIGludGVyZmF0YSBjb21wbGV0YSBkZSBhZG1pbiBwZXJtaXRlIGNhIGFkbWluaXN0cmF0b3JpaSBhdXRvcml6YXRpIHNhIGFkbWluaXN0cmV6ZSByZXN1cnNlLCBldmVuaW1lbnRlLCByZXplcnZhcmksIHNpIG9yaWNlIGFzcGVjdCBsZWdhdCBkZSBvYmllY3RlbGUgYWZpc2FiaWxlLjwvcD4NCjxoMz5DYXJhY3RlcmlzdGljaTo8L2gzPg0KPHVsPg0KPGxpPkFsbG93cyBkZWZpbmluZyB1bmxpbWl0ZWQgbnVtYmVycyBvZiByZXNvdXJjZXMuDQogIDx1bD4NCiAgPGxpPkEgYmFzZSBkYWlseSBwcmljZSBjYW4gYmUgZW50ZXJlZCBmb3IgZWFjaCByZXNvdXJjZS48L2xpPg0KICA8bGk+UHJpY2UgYWRqdXN0bWVudHMgY2FuIGJlIGVudGVyZWQgZm9yIGVhY2ggZGF5IG9mIHRoZSB3ZWVrLjwvbGk+DQogIDwvdWw+DQo8bGk+DQo8bGk+QWxsb3dzIGRlZmluaW5nIGFuIHVubGltaXRlZCBudW1iZXIgb2YgY3VzdG9tIGZpZWxkcyB0byBhc3NvY2lhdGUgd2l0aCByZXNvdXJjZXMuPC9saT4NCjxsaT5BbGxvd3MgY3JlYXRpbmcgZXZlbnQgdHlwZXMgYW5kIGFzc29jaWF0aW5nIHRoZW0gd2l0aCBjb2xvcnMuPC9saT4NCjxsaT5TdXBwb3J0cyBjcmVhdGluZyBldmVudHMgZm9yIHBhcnRpY3VsYXIgcmVzb3VyY2VzIG92ZXIgcGFydGljdWxhciBkYXlzOg0KICA8dWw+DQogIDxsaT5FdmVudHMgY2FuIGJlIGJvb2thYmxlIG9yIG5vbiBib29rYWJsZSwgdG8gYmxvY2sgcmVzZXJ2YXRpb25zIGZvciB0aG9zZSByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KICA8bGk+Ym9va2FibGUgZXZlbnRzIGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudCB0byBpbmNyZWFzZSBvciBkZWNyZWFzZSB0aGUgcHJpY2Ugb2YgdGhlIHNlbGVjdGVkIHJlc291cmNlcyBvbiB0aGUgc2VsZWN0ZWQgZGF0ZXMuPC9saT4NCiAgPC91bD4NCjwvbGk+DQo8bGk+U3VwcG9ydHMgYXV0b21hdGljIHByaWNlIGNhbGN1bGF0aW9uIGZvciByZXNlcnZhdGlvbnMuPC9saT4NCjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgY29uZmxpY3QgY2hlY2tpbmcgdG8gZW5zdXJlIHRoYXQgbm8gcmVzZXJ2YXRpb25zIGNhbiBiZSBjcmVhdGVkIGZvciByZXNlcnZlZCByZXNvdXJjZXMsIG9yIGNsb3NlZCByZXNvdXJjZXMgZm9yIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KPC91bD4NCg0KPGgzPkN1bSBzZSBmb2xvc2VzdGU/PC9oMz4NCjxwPlRoZSBmaXJzdCB0aGluZyB5b3Ugc2hvdWxkIGRvIGFmdGVyIGluc3RhbGxuZyB0aGUgbW9kdWxlIGlzIHRvIGNyZWF0ZSBzb21lIHJvb20gYXR0cmlidXRlcywgYW5kIGV2ZW50IHR5cGVzLiAgIFlvdSBzaG91bGQgYWxzbyBjaGVjayB0aGUgcHJlZmVyZW5jZXMgdG8gZW5zdXJlIHRoYXQgdGhleSBzZWVtIHRvIGJlIHNldCBjb3JyZWN0bHkuICBZb3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGNoYW5naW5nIHRoZSByZXNvdXJjZSB0eXBlIGluIHRoZSBwcmVmZXJlbmNlIGZyb20gcm9vbSB0byBzb21lIG90aGVyIHJlc291cmNlIHRoYXQgeW91IGFyZSBtYW5hZ2luZy4gIFRoaXMgd2lsbCBjaGFuZ2UgdGhlIHZhcmlvdXMgbGFiZWxzIGluIHRoZSBhZG1pbiBzZWN0aW9uIGFuZCBpbiB0aGUgZnJvbnRlbmQgZGlzcGxheS48L3A+DQo8L3A+TmV4dCB5b3Ugc2hvdWxkIGNyZWF0ZSBzb21lIHJlc291cmNlcyBhbmQgZmlsbCB0aGVtIGluIHdpdGggYXMgbXVjaCBkZXRhaWwgYXMgcG9zc2libGUuICBZb3UgbWF5IGFsc28gd2FudCB0byBjcmVhdGUgc29tZSBldmVudHMsIG9yIHRvIG1hcmsgb2ZmIGRhdGVzIHdoZW4gcGFydGljdWxhciByZXNvdXJjZXMgYXJlIHVuYXZhaWxhYmxlLjwvcD4NCjxwPlRvIGRpc3BsYXkgYSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHlvdSBzaG91bGQgYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eX0gaW50byBhIGNvbnRlbnQgcGFnZS48L3A+DQo8cD5UbyBkaXNwbGF5IGEgY2FsZW5kYXIgdmlldywgeW91IGNhbiBhZGQgdGhlIHRhZyB7QXZhaWxhYmlsaXR5IGFjdGlvbj1jYWxlbmRhcn0gdG8gYSBjb250ZW50IHBhZ2UuICBUaGlzIHdpbGwgcHJvdmlkZSBhIHN1ZmZpY2llbnQgc3lzdGVtIGZvciBhbGxvd2luZyB2aXNpdG9ycyB0byBjcmVhdGUgcmVzZXJ2YXRpb25zLCBldGMuPC9wPg0KDQo8aDM+U3Vwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBkZXZlbG9wbWVudCBmb3JnZSBhdCA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5kZXYuY21zbWFkZXNpbXBsZS5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCBhbGwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvcihzKSBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydoZWxwX2FjdGlvbiddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIGZvcm0gb3IgcmVwb3J0IHRvIGRpc3BsYXkuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+DQo8dWw+DQo8bGk+YWRkcmVzdm4gLSBUaGUgYWRkL2VkaXQgcmVzZXJ2YXRpb24gZm9ybTxici8+DQombmJzcDsmbmJzcDstIFRoaXMgZm9ybSBhbGxvd3MgYSB2YWxpZCwgbG9nZ2VkIGluIGZyb250ZW5kIHVzZXIgdG8gY3JlYXRlIGEgcmVzZXJ2YXRpb24gaW4gdGhlIHN5c3RlbS48L2xpPg0KPGxpPmNhbGVuZGFyIC0gVGhlIGNhbGVuZGFyIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIHZpZXcgZGlzcGxheXMgdGhlIGF2YWlsYWJpbGl0eSBvZiBzZWxlY3RlZCByZXNvdXJjZXMgZm9yIHRoZSBjdXJyZW50IG1vbnRoLiAgSXQgYWxsb3dzIHBhZ2luYXRpbmcgYmV0d2VlbiBkaWZmZXJlbnQgbW9udGhzLCB2aWV3aW5nIGEgcmVzb3VyY2UgZGV0YWlsIHZpZXcsIGFuZCBzdXBwbGllcyBhIGxpbmsgdGhhdCB3aWxsIGJyaW5nIHVwIHRoZSBhZGRyZXN2biBmb3JtIGZvciB0aGUgc2VsZWN0ZWQgZGF0ZSBhbmQgcmVzb3VyY2UuPC9saT4NCjxsaT5kYXl2aWV3IC0gQSByZXBvcnQgb2YgYWN0aXZpdGllcyAob3IgbGFjayB0aGVyZW9mKSBmb3IgYSBwYXJ0aWN1bGFyIGRheTwvbGk+DQo8bGk+ZGVmYXVsdCAgLSBUaGUgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3PGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gZGlzcGxheXMgYSBzdW1tYXJ5IHJlcG9ydCBvZiBzZWxlY3RlZCByZXNvdXJjZXMuPC9saT4NCjxsaT5kZXRhaWwgICAgLSBUaGUgcmVzb3VyY2UgZGV0YWlsIHZpZXc8YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBkaXNwbGF5cyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgcmVzb3VyY2UuPC9saT4NCjxsaT5teXJlc2VydmF0aW9uIC0gVGhlIG15cmVzZXJ2YXRpb25zIHJlcG9ydC48YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSByZXBvcnQgYWJvdXQgYWxsIG9mIHRoZSB1cGNvbWluZyAob3B0aW9uYWxseSBwYXN0IGFzIHdlbGwpIHJlc2VydmF0aW9ucyBmb3IgdGhpcyBwYXJ0aWN1bGFyIHVzZXIuPC9saT4NCjxsaT5zZWFyY2ggLSBUaGUgc2VhcmNoIGZvcm0uPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gd2lsbCBkaXNwbGF5IGEgZm9ybSB0aGF0IGFsbG93cyBzZWFyY2hpbmcgZm9yIHJlc291cmNlcyB0aGF0IGFyZSBhdmFpbGFibGUgYmV0d2VlbiB0byBzcGVjaWZpZWQgZGF0ZXMuPC9saT4NCjxsaT5zZW5kZW1haWwgLSBUaGUgcmVzZXJ2YXRpb24gc2VuZGVtYWlsIGZvcm08YnIvPg0KJm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiB3aWxsIGRpc3BsYXkgYSBmb3JtIHRoYXQgYWxsb3dzIGZyb250ZW5kIHVzZXJzIHRvIHNlbmQgYW4gZW1haWwgbWVzc2FnZSB0byBzaXRlIGFkbWluaXN0cmF0b3JzIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvciBxdWVzdGlvbnMgYWJvdXQgYSBzcGVjaWZpYyByZXNlcnZhdGlvbi48L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX2NhbGVuZGFydGVtcGxhdGUnXSA9ICdBcGxpY2FiaWwgbGEgdml6dWFsaXphcmUgY2FsZW5kYXIsIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIHNwZWNpZmljYXJlYSB1bnVpIHRlbXBsYXRlIGFsdHVsIGRlY2F0IGNlbCBpbXBsaWNpdCBjYXJlIHNlIHZhIGZvbG9zaSBsYSBnZW5lcmFyZWEgdml6dWFsaXphcmlpJzsKJGxhbmdbJ2hlbHBfY2F0ZWdvcnknXSA9ICdBcGxpY2FiaWwgbGEgdml6dWFsaXphcmUgY2FsZW5kYXIsIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIHNwZWNpZmljYXJlYSBvIGxpc3RhIGRlIG51bWUgY2F0ZWdvcmlpIHNlcGFyYXRlIHByaW4gdmlyZ3VsYSBjYXJlIHNlIHZhIGZvbG9zaSBwZW50cnUgc2VsZWN0YXJlYSBkYXRlbG9yIGRlIGFmaXNhdC4gQWNlc3QgcGFyYW1ldHJ1IG51IHBvYXRlIGZpIGZvbG9zaXQgaW4gY29uanVuY3RpZSBjdSBwYXJhbWV0cnVsIGRlIHJlc3Vyc2UuJzsKJGxhbmdbJ2hlbHBfY29uZmlybXRlbXBsYXRlJ10gPSAnQXBsaWNhYmlsIGZvcm11bGFydWx1aSBkZSByZXplcnZhcmUsIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIHNwZWNpZmljYXJlYSB1bnVpIHRlbXBsYXRlIGFsdHVsIGRlY2F0IGNlbCBpbXBsaWNpdCBkZSBjb25maXJtYXJlIHJlemVydmFyZSBjYXJlIHNlIHZhIGZvbG9zaSBjYW5kIHVuIHZpeml0YXRvciBjcmVhemEgbyByZXplcnZhcmUgb25saW5lJzsKJGxhbmdbJ2hlbHBfZGF5dGVtcGxhdGUnXSA9ICdBcGxpY2FiaWwgdml6dWFsaXphcmlpIHppLCBhY2VzdCBwYXJhbWV0cnUgcGVybWl0ZSBzcGVjaWZpY2FyZWEgdW51aSB0ZW1wbGF0ZSBhbHR1bCBkZWNhdCBjZWwgaW1wbGljaXQgZGUgdml6dWFsaXphcmUgemkgY2FyZSBzZSB2YSBmb2xvc2kgbGEgZ2VuZXJhcmVhIHZpenVhbGl6YXJpaSc7CiRsYW5nWydoZWxwX2RheSddID0gJ0ZvbG9zaXQgY3UgZm9ybXVsYXJ1bCBhZGRyZXN2biBwZW50cnUgYSBzcGVjaWZpY2EgbyB6aSBpbXBsaWNpdGEuIEZvbG9zaXQgaW1wcmV1bmEgY3UgYWN0aXVuZWEgZGF5dmlldyBwZW50cnUgYSBzcGVjaWZpY2Egeml1YSB0aW50YSc7CiRsYW5nWydoZWxwX2RldGFpbHBhZ2UnXSA9ICdBcGxpY2FiaWwgdml6dWFsaXphcmlsb3IgY2FsZW5kYXIsIGltcGxpY2l0YSAoc3VtYXIpIHNpIG15cmVzZXJ2YXRpb25zLCBhY2VzdCBwYXJhbWV0cnUgcGVybWl0ZSBzcGVjaWZpY2FyZWEgdW5laSBwYWdpbmkgb3B0aW9uYWxlIHBlbnRydSBhZmlzYXJlYSBvcmkgYSBkZXRhbGlpbG9yIHJlc3Vyc2VpLCBvcmkgYSBmb3JtdWxhcmVsb3IgZGUgcmV6ZXJ2YXJlLCBvcmkgYSBmb3JtdWxhcnVsdWkgZGUgdHJpbWl0ZXJlIGUtbWFpbC4gIERhY2EgYWNlYXN0YSB2YWxvYXJlIG51IGVzdGUgc3BlY2lmaWNhdGEsIGF0dW5jaSBwcmVmZXJpbnRhIGRpbiBjb25zb2xhIGRlIGFkbWluaXN0cmFyZSB2YSBmaSBmb2xvc2l0YS4gRGFjYSBhY2Vhc3RhIG51IGVzdGUgc2V0YXRhLCBhdHVuY2kgcGFnaW5hIGN1cmVudGEgdmEgZmkgZm9sb3NpdGEuJzsKJGxhbmdbJ2hlbHBfZGV0YWlsdGVtcGxhdGUnXSA9ICdBcGxpY2FiaWwgbGEgdml6dWFsaXphcmlsZSBjYWxlbmRhciwgZGV0YWxpaSwgaW1wbGljaXQgKHN1bWFyKSBzaSBteXJlc2VydmF0aW9uIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIHNwZWNpZmljYXJlYSB1bnVpIHRlbXBsYXRlIGRlIGRldGFsaWkgYWx0dWwgZGVjYXQgY2VsIGltcGxpY2l0IGRlIGZvbG9zaXQgcGVudHJ1IG9yaWNlIGFmaXNhcmUuIEFjZXN0IHBhcmFtZXRydSBudSBhcmUgbmljaSB1biBlZmVjdCBkYWNhIFVSTC11cmlsZSBjdXJhdGUgc3VudCBjb25maWd1cmF0ZS4nOwokbGFuZ1snaGVscF9lbWFpbHRlbXBsYXRlJ10gPSAnQXBsaWNhYmlsIGxhIHZpenVhbGl6YXJpbGUgY2FsZW5kYXIsIG15cmVzZXJ2YXRpb24sIHNpIGFkZHJlc3ZuLCBhY2VzdCBwYXJhbWV0cnUgcGVybWl0ZSBzcGVjaWZpY2FyZWEgdW51aSB0ZW1wbGF0ZSBkZSBlLW1haWwgYWx0dWwgZGVjYXQgY2VsIGltcGxpY2l0IGNhcmUgc2UgdmEgZm9sb3NpIHBlbnRydSB0cmltaXRlcmUgZS1tYWlsdXJpLic7CiRsYW5nWydoZWxwX2lubGluZSddID0gJ0FwbGljYWJpbCBudW1haSBhY3RpdW5paSBzZWFyY2gsIGFjZXN0IHBhcmFtZXRydSBzcGVjaWZpY2EgZGFjYSByZXp1bHRhdGVsZSBjYXV0YXJpaSBhciB0cmVidWkgc2EgZmllIGFmaXNhdGUgaW5saW5lIChpbmxvY3VpZXNjIGV0aWNoZXRhIG9yaWdpbmFsYSksIHNhdSBhciB0cmVidWkgc2EgaW5sb2N1aWFzY2Egem9uYSBkZSBjb250aW51dCBhIHBhZ2luaWkuIEFjZXN0IHBhcmFtZXRydSBudSBhcmUgbmljaSB1biBlZmVjdCBkYWNhIHBhcmFtZXRydWwgc3VtbWFyeXBhZ2UgZXN0ZSBkZSBhc2VtZW5lYSBzcGVjaWZpY2F0JzsKJGxhbmdbJ2hlbHBfbW9udGgnXSA9ICdGb2xvc2l0IGN1IGZvcm11bGFydWwgYWRkcmVzdm4sIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIHNwZWNpZmljYXJlYSB1bmVpIGx1bmkgaW1wbGljaXRlLiBGb2xvc2l0IGltcHJldW5hIGN1IGFjdGl1bmVhIGRheSwgYWNlc3QgcGFyYW1ldHJ1IHByZW1pdGUgc3BlY2lmaWNhcmVhIGx1bmlpIHRpbnRhJzsKJGxhbmdbJ2hlbHBfbXlyZXN2bnRlbXBsYXRlJ10gPSAnQXBsaWNhYmlsIG51bWFpIHZpenVhbGl6YXJpaSBteXJlc2VydmF0aW9uLCBhY2VzdCBwYXJhbWV0cnUgcGVybWl0ZSBzcGVjaWZpY2FyZWEgdW51aSB0ZW1wbGF0ZSBhbHR1bCBkZWNhdCBjZWwgaW1wbGljaXQgcGVudHJ1IGFjZWEgdml6dWFsaXphcmUnOwokbGFuZ1snaGVscF9wYWdlbGltaXQnXSA9ICdJbiB2aXp1YWxpemFyZWEgZGUgc3VtYXIgcmVzdXJzYSwgYWNlc3QgcGFyYW1ldHJ1IHBvYXRlIGZpIGZvbG9zaXQgcGVudHJ1IGEgc3BlY2lmaWNhIG51bWFydWwgZGUgcmVzdXJzZSBjYXJlIHNlIHZvciBhZmlzYSBpbiBmaWVjYXJlIHBhZ2luYSc7CiRsYW5nWydoZWxwX3Jlc291cmNlcyddID0gJ0luIHZpenVhbGl6YXJlYSBjYWxlbmRhciBhY2VzdCBwYXJhbWV0cnUgYWNjZXB0YSBvIGxpc3RhIHNlcGFyYXRhIHByaW4gdmlyZ3VsYSBkZSBudW1lIGRlIHJlc3Vyc2UgZGUgYWZpc2F0LiBBY2VzdCBwYXJhbWV0cnUgbnUgcG9hdGUgZmkgZm9sb3NpdCBpbXByZXVuYSBjdSBwYXJhbWV0cnVsIGNhdGVnb3JpZSc7CiRsYW5nWydoZWxwX3Jlc3ZudGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSBhZGRyZXN2biwgY2FsZW5kYXIsIGFuZCBteXJlc2VydmF0aW9ucyBhY3Rpb25zLCAgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCByZXNlcnZhdGlvbiBmb3JtIHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBjcmVhdGluZyBvciBlZGl0aW5nIGEgcmVzZXJ2YXRpb24nOwokbGFuZ1snaGVscF9yZXN2X2lkJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgYWRkcmVzdm4gZm9ybSwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIGlkIG9mIGFuIGV4aXN0aW5nIHJlc2VydmF0aW9uIHRvIGVkaXQuICBZb3Ugd2lsbCBwcm9iYWJseSBub3QgbmVlZCB0byB1c2UgdGhpcyBwYXJhbWV0ZXIgZGlyZWN0bHknOwokbGFuZ1snaGVscF9yc3JjaWQnXSA9ICdUaGlzIHBhcmFtZXRlciBpcyBhY2NlcHRlZCBieSB0aGUgZGV0YWlsIHRlbXBsYXRlIHRvIGRpc3BsYXkgYSBkZXRhaWwgcmVwb3J0IGFib3V0IGEgc3BlY2lmaWMgcmVzb3VyY2UnOwokbGFuZ1snaGVscF9zZWFyY2h0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzZWFyY2ggdGVtcGxhdGUuJzsKJGxhbmdbJ2hlbHBfc2VuZGVtYWlsdGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIG15cmVzZXJ2YXRpb24gdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCB0ZW1wbGF0ZSBmb3IgdGhlIHNlbmRlbWFpbCBmb3JtLiAgVGhpcyBwYXJhbWV0ZXIgaGFzIG5vIGVmZmVjdCB3aGVuIHByZXR0eSB1cmxzIGFyZSBlbmFibGVkJzsKJGxhbmdbJ2hlbHBfc2hvd2FsbCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgbXlyZXNlcnZhdGlvbnMgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGRpc3BsYXlpbmcgYWxsIHJlc2VydmF0aW9ucywgaW5jbHVkaW5nIHBhc3QgcmVzZXJ2YXRpb25zLic7CiRsYW5nWydoZWxwX3NvcnRieSddID0gJyANCkFwcGxpY2FibGUgdG8gdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcgYW5kIHRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBhbHRlcmluZyB0aGUgc29ydCBvcmRlciBvZiBkaXNwbGF5ZWQgaXRlbXMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+DQpSZXNvdXJjZSBzdW1tYXJ5IHZpZXc6PGJyLz4NCjx1bD4NCiAgPGxpPm5hbWU8L2xpPg0KICA8bGk+cHJpY2U8L2xpPg0KPC91bD4NCm15ZXNlcnZhdGlvbnMgdmlldzo8YnIvPg0KPHVsPg0KICA8bGk+c3RhcnRfZGF0ZTwvbGk+DQogIDxsaT5lbmRfZGF0ZTwvbGk+DQogIDxsaT5wcmljZTwvbGk+DQogIDxsaT5jcmVhdGVfZGF0ZTwvbGk+DQogIDxsaT5tb2RpZmllZF9kYXRlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9zb3J0b3JkZXInXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcgYW5kIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3IHRoaXMgcGFyYW1ldGVyIGFsbG93cyBhbHRlcmluZyB0aGUgc29ydCBvcmRlciBvZiB0aGUgc2VsZWN0ZWQgZGF0YS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz48dWw+PGxpPmFzYyAtIGFzY2VuZGluZzwvbGk+PGxpPmRlc2MgLSBkZXNjZW5kaW5nPC9saT48L3VsPic7CiRsYW5nWydoZWxwX3N1bW1hcnlwYWdlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGlkIG9yIGFsaWFzIG9mIHRoZSBwYWdlIHRoYXQgdGhlIHJlc3VsdGluZyBzdW1tYXJ5IHZpZXcgc2hvdWxkIGJlIG9uLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc3BlY2lmaWVkLCBpbmxpbmUgaXMgc2V0IHRvIGZhbHNlLic7CiRsYW5nWydoZWxwX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIHZpZXcsIHRoaXMgcGFyYW10ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzdW1tYXJ5IHRlbXBsYXRlIHdpbGwgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF95ZWFyJ10gPSAnVXNlZCB3aXRoIHRoZSBhZGRyZXN2biBmb3JtLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGRlZmF1bHQgeWVhci4gV2hlbiB1c2VkIHdpdGggdGhlIGRheXZpZXcgYWN0aW9uIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIHRoZSB0YXJnZXQgeWVhci4nOwokbGFuZ1snaGlzdG9yaWNhbF9jb21wYXJpc29uJ10gPSAnQ29tcGFyYXRpZSBpc3RvcmljYSc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdlJ10gPSAnSW1hZ2luZSc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdJbWFnaW5lJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX2NvbmZpZyddID0gJ0NvbmZpZ3VyYXJlIGZvbG9zaXJlIGltYWdpbmknOwokbGFuZ1snaW5mb19hZGRfdXNlcl9hY2NvdW50J10gPSAnQWZpc2FyZSBmb3JtdWxhciBkZSBsYSBpbnRlcmZhdGEgZGUgbWFuYWdlbWVudCB1dGlsaXphdG9yaSBwZW50cnUgYSBwdXRlYSBhZGF1Z2EgY29udHVyaSB1dGlsaXphdG9yIG5vaSc7CiRsYW5nWydpbmZvX2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGFkdmFuY2VkIHNlYXJjaCBmb3JtLCBkaXNwbGF5ZWQgd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbi4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBhZHZhbmNlZCBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMsIGZvciB1c2Ugd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbic7CiRsYW5nWydpbmZvX2FsbG93X25vX3ByaWNlcyddID0gJ0ZvbG9zaXQgcGVudHJ1IHJlemVydmFyZSByZXN1cnNlIGZhcmEgcHJldCBhdGFzYXQnOwokbGFuZ1snaW5mb19idWxrZGlzY291bnRfYWRqdXN0bWVudF92YWx1ZXMnXSA9ICdBZGp1c3RtZW50IHZhbHVlcyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSBmb3JtIG9mIFtzeW1ib2xdIyMuIyMuICBTeW1ib2wgY2FuIGJlIG9uZSBvZiArLC0sIG9yICouICBpLmU6ICowLjg1IG9yICsxNS4yNS4gIElmIG5vIHN5bWJvbCBpcyBzcGVjaWZpZWQsICsgaXMgYXNzdW1lZC4gIElmIHNwZWNpZnlpbmcgYSBudW1iZXIgb2YgZnJlZSBkYXlzLCBhbiBpbnRlZ2VyIHZhbHVlIGlzIGV4cGVjdGVkLic7CiRsYW5nWydpbmZvX2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIGFuZCBldmVudHMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBjYWxlbmRhciB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fY2FsZW5kYXJfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNhbGVuZGFyIHRlbXBsYXRlcyBmb3IgdXNlIGluIHRoZSBmcm9udGVuZCBjYWxlbmRhciB2aWV3Lic7CiRsYW5nWydpbmZvX2N1c3RlbWFpbF90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgZGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgZW1haWwgdGhhdCB3aWxsIGJlIHNlbnQgdG8gdGhlIHVzZXIgd2hlbiB1c2luZyB0aGlzIHRlbXBsYXRlLiAgWW91IGNhbiB1c2UgYW55IGFuZCBhbGwgc21hcnR5IGxvZ2ljIGFuZCB0YWdzIGluIHRoaXMgdGVtcGxhdGUuICBUaGUgZm9sbG93aW5nIHZhcmlhYmxlcyBhcmUgc3BlY2lhbCB0byB0aGlzIHRlbXBsYXRlOiB7JHN1YmplY3R9IC0gVGhlIHN1YmplY3Qgb2YgdGhlIGVtYWlsLCB7JGJvZHl9IC0gVGhlIGJvZHkgb2YgdGhlIGVtYWlsJzsKJGxhbmdbJ2luZm9fY3VzdGVtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjdXN0b21lciBlbWFpbCB0ZW1wbGF0ZXMgZm9yIHVzZSB3aGVuIHNlbmRpbmcgbWVzc2FnZXMgdG8gY3VzdG9tZXJzIHdobyBoYXZlIGJvb2tlZCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHByb3BlcnRpZXMgc2hvdWxkIGJlIGxpc3RlZCBpbiB1c2VyIGxpc3RzLjxici8+VXNlIHskcHJvcGVydHluYW1lfSB0byBpZGVudGlmeSBhIHNpbmdsZSBwcm9wZXJ0eS48YnIvPlJlZmVyIHRvIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBmb3IgdGhlIGxpc3Qgb2YgcHJvcGVydGllcyBhc3NvY2lhdGVkIHdpdGggYSBwYXJ0aWN1bGFyIGdyb3VwLjxici8+WW91IGNhbiBhbHNvIHVzZSB0aGUgeyR1c2VybmFtZX0gdGFnIHRvIGluZGljYXRlIHRoZSB1c2VycyBsb2dpbiBuYW1lLic7CiRsYW5nWydpbmZvX2RheV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBhbmQgZXZlbnRzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZGF5IHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19kYXlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGRheSB2aWV3IHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gY2xpY2tpbmcgb24gYW4gaW5kaXZpZHVhbCBkYXkgZnJvbSB0aGUgZGVmYXVsdCBjYWxlbmRhciBkaXNwbGF5JzsKJGxhbmdbJ2luZm9fZGVwb3NpdCddID0gJ1RoZSBoaWdoZXN0IGFtb3VudCBjYWxjdWxhdGVkIHdpbGwgYmUgdXNlZCBhcyB0aGUgbWluaW11bSBkZXBvc2l0IGZvciBlYWNoIHJlc2VydmF0aW9uLiAgRGVwb3NpdCBhbW91bnRzIHdpbGwgbmV2ZXIgZXhjZWVkIHRoZSB0b3RhbCByZXNlcnZhdGlvbiBhbW91bnQnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc291cmNlIGRldGFpbCB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIGRldGFpbCB2aWV3cyBvZiB0aGUgdmFyaW91cyByZXNvdXJjZXMnOwokbGFuZ1snaW5mb19kZXRhaWxfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBkZXRhaWwgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2VtYWlsX3NlbnQnXSA9ICdZb3VyIGVtYWlsIGhhcyBiZWVuIHNlbnQuICBSZWNvcmQgb2YgdGhpcyBlbWFpbCBoYXMgYWxzbyBiZWVuIGF0dGFjaGVkIHRvIHRoZSB0cmFuc2FjdGlvbiBkZXRhaWxzIGZvciBmdXR1cmUgcmVmZXJlbmNlJzsKJGxhbmdbJ2luZm9fbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dCBmb3IgdGhlIE15UmVzZXJ2YXRpb25zIHJlcG9ydCc7CiRsYW5nWydpbmZvX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBteXJlc2VydmF0aW9ucyB2aWV3IHRlbXBsYXRlcyBmb3IgdXNlIHdoZW4gYWN0aW9uPW15cmVzZXJ2YXRpb25zJzsKJGxhbmdbJ2luZm9fb3ZlcmNhcF9hbW91bnQnXSA9ICdEYWlseSBhbW91bnQgdG8gYWRkIChwZXIgdW5pdCkgdG8gcmVzZXJ2YXRpb24gcHJpY2UsIGZvciBlYWNoIHVuaXQgb3ZlciB0aGUgc3RhdGVkIGNhcGFjaXR5IChhcHBsaWNhYmxlIG9ubHkgaWYgdGhlIGNhcGFjaXR5IGlzIGEgdmFsaWQgdmFsdWUpLic7CiRsYW5nWydpbmZvX3BhZ2VfcmVkaXJlY3Rfbm90bG9nZ2VkaW4nXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIHRvIHJlZGlyZWN0IHRvIGF1dG9tYXRpY2FsbHkgaWYgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFjY2VzcyB0aGUgcmVzZXJ2YXRpb25zIGZvcm0gaWYgbm90IGxvZ2dlZCBpbi4nOwokbGFuZ1snaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnU3BlY2lmeSB0aGUgbGlzdCBvZiB1c2VycyAob3IgZ3JvdXBzKSB0byByZWNlaXZlIGEgY29weSBvZiB0aGUgcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlsLiAgVGhlIGVtYWlsIGFkZHJlc3MgcHJvcGVydHkgZm9yIGVhY2ggc2VsZWN0ZWQgdXNlciBtdXN0IGJlIHZhbGlkLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdG8gcmVkaXJlY3QgdG8gYXV0b21hdGljYWxseSBhZnRlciBhIHZpc2l0b3IgaGFzIGNyZWF0ZWQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGVkaXQgcmVzZXJ2YXRpb24gdXJscywgYW5kIHNlbmQgbWVzc2FnZSB1cmxzJzsKJGxhbmdbJ2luZm9fcmVzb3VyY2VfdHlwZSddID0gJ1NwZWNpZnkgdGhlIHR5cGUgb2YgcmVzb3VyY2UgeW91IHdpbGwgYmUgbWFuYWdpbmcuICBpLmU6ICZxdW90O3Jvb20mcXVvdDsgb3IgJnF1b3Q7Y2FyJnF1b3Q7IGV0Yy4gIFRoaXMgd2lsbCBjaGFuZ2UgdGhlIGxhYmVsbGluZyBvZiB0aGUgZW50aXJlIG1vZHVsZS4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCBvZiB0aGUgcmVzZXJ2YXRpb24gZm9ybS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwgbWVzc2FnZS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gcmVwb3J0Lic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNvbmZpcm1hdGlvbiBlbWFpbCB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBlbWFpbCBtZXNzYWdlIHRoYXQgaXMgc2VudCB0byB0aGUgY3VzdG9tZXIgYWZ0ZXIgYSBzaXRlIHZpc2l0b3IgY3JlYXRlcyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIGNvbmZpcm1hdGlvbiB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBtZXNzYWdlIGFuZCBkYXRhIHRoYXQgaXMgZGlzcGxheWVkIGFmdGVyIGEgc2l0ZSB2aXNpdG9yIGNyZWF0ZXMgb3IgZWRpdHMgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19yZXN2bl90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBmb3JtIGRpc3BsYXllZCB3aGVuIGFkZGluZyBvciBlZGl0aW5nIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSBjb250cm9scyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgc2VuZGVtYWlsIGZvcm0sIHVzZWQgd2hlbiBhIHNpdGUgdmlzaXRvciB3YW50cyB0byBzZW5kIGEgbWVzc2FnZSB0byBidXNpbmVzcyBvd25lcnMgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yIHF1ZXN0aW9ucyBhYm91dCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc2VuZGVtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBzZW5kZW1haWwgZm9ybSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHRoZSBmb3JtIGRpc3BsYXllZCB3aGVuIHNlbmRpbmcgYW4gZW1haWwgcmVsYXRlZCB0byBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc2VuZF9tZXNzYWdlJ10gPSAnVXNlIHRoaXMgZm9ybSB0byBwcm92aWRlIG1vcmUgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHlvdXIgcmVzZXJ2YXRpb24gb3IgdG8gYXNrIGFueSBxdWVzdGlvbnMgcmVnYXJkaW5nIHlvdXIgcmVzZXJ2YXRpb24nOwokbGFuZ1snaW5mb19zdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU3BlY2lmeSB0aGUgZm9ybWF0IHRoYXQgcmVzb3VyY2VzIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gc3VtbWFyeSB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgcmVzb3VyY2Ugc3VtbWFyeSB0ZW1wbGF0ZXMuICBUaGVzZSB0ZW1wbGF0ZXMgYXJlIHVzZWQgZm9yIHN1bW1hcnkgdmlld3Mgb2YgdGhlIHZhcmlvdXMgcmVzb3VyY2VzIDxlbT4odGhpcyBpcyB0aGUgZGVmYXVsdCB2aWV3KTwvZW0+JzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIEltcGxpY2l0IFNpc3RlbSBGb3JtdWxhciBDYXV0YXJlIEF2YW5zYXRhJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIEltcGxpY2l0IFNpc3RlbSBWaXp1YWxpemFyZSBDYWxlbmRhcic7CiRsYW5nWydpbmZvX3N5c2RmbHRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgSW1wbGljaXQgU2lzdGVtIEUtbWFpbCBDbGllbnQnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RheV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIEltcGxpY2l0IFNpc3RlbSBWaXp1YWxpemFyZSBaaSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgSW1wbGljaXQgU2lzdGVtIERldGFsaWkgUmVzdXJzYSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfbXlyZXN2X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgSW1wbGljaXQgU2lzdGVtIFZpenVhbGl6YXJlICZxdW90O1JlemVydmFyaWxlIG1lbGUmcXVvdDsgJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9yZXN2bl90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIEltcGxpY2l0IFNpc3RlbSBGb3JtdWxhciBSZXplcnZhcmUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBJbXBsaWNpdCBTaXN0ZW0gQ29uZmlybWFyZSBSZXplcnZhcmUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBJbXBsaWNpdCBTaXN0ZW0gRS1tYWlsIENvbmZpcm1hcmUgUmV6ZXJ2YXJlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBJbXBsaWNpdCBTaXN0ZW0gRm9ybXVsYXIgVHJpbWl0ZXJlIEUtbWFpbCc7CiRsYW5nWydpbmZvX3N5c2RmbHRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIEltcGxpY2l0IFNpc3RlbSBTdW1hciBSZXN1cnNhJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ0FsdGVyYXJlYSBhY2VzdHVpIHRlbXBsYXRlIG51IHZhIGF2ZWEgbmljaSB1biBlZmVjdCBpbWVkaWF0IGFzdXByYSBhZmlzYXJpaS4gQWNlc3QgZm9ybXVsYXIgY29udHJvbGVhemEgdmFsb2FyZWEgdGVtcGxhdGUtdWx1aSBjYXJlIGVzdGUgY3JlYXQgY2FuZCBkYXRpIGNsaWMgcGUgJnF1b3Q7VGVtcGxhdGUgTm91JnF1b3Q7IGluIHRhYnVsIGRlIHRlbXBsYXRlIGNvcmVzcHVuemF0b3IuJzsKJGxhbmdbJ2luZm9fdmlld191c2VyJ10gPSAnQWZpc2FyZSBpbmZvcm1hdGlpIGRldGFsaWF0ZSBkZXNwcmUgYWNlc3QgdXRpbGl6YXRvcic7CiRsYW5nWydpbml0aWFsX3Jlc2VydmF0aW9uX25vdGVzJ10gPSAnTm90ZSByZXplcnZhcmUgaW5pdGlhbGEnOwokbGFuZ1snaW5fcHJvZ3Jlc3MnXSA9ICdJbiBQcm9ncmVzJzsKJGxhbmdbJ2tleXdvcmRzJ10gPSAnQ3V2aW50ZSBjaGVpZSc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdVbHRpbWEgbW9kaWZpY2FyZSc7CiRsYW5nWydsZWdlbmQnXSA9ICdMZWdlbmRhJzsKJGxhbmdbJ2xibF9hZHZhbmNlZF9zZWFyY2hfZm9ybV90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZS11cmkgY2F1dGFyZSBhdmFuc2F0YSc7CiRsYW5nWydsYmxfYmFjayddID0gJ0luYXBvaSc7CiRsYW5nWydsYmxfY2FsZW5kYXInXSA9ICdDYWxlbmRhciAnOwokbGFuZ1snbGJsX2NhbGVuZGFyX3ZpZXdfdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUtdXJpIHZpenVhbGl6YXJlIGNhbGVuZGFyJzsKJGxhbmdbJ2xibF9jYXRlZ29yaWVzJ10gPSAnQXRyaWJ1dGUnOwokbGFuZ1snbGJsX2N1c3RvbWVyX2VtYWlsX3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlLXVyaSBlLW1haWwgY2xpZW50JzsKJGxhbmdbJ2xibF9jdXN0b21fZmllbGRzJ10gPSAnQ2FtcHVyaSBjdXN0b20nOwokbGFuZ1snbGJsX2RheV92aWV3X3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlLXVyaSB2aXp1YWxpemFyZSB6aSc7CiRsYW5nWydsYmxfZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZS11cmkgaW1wbGljaXRlJzsKJGxhbmdbJ2xibF9kZXRhaWxfdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUtdXJpIGRldGFsaWknOwokbGFuZ1snbGJsX2V2ZW50cyddID0gJ0V2ZW5pbWVudGUnOwokbGFuZ1snbGJsX2V2ZW50X3R5cGVzJ10gPSAnVGlwdXJpIGV2ZW5pbWVudGUnOwokbGFuZ1snbGJsX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlLXVyaSByZXplcnZhcmknOwokbGFuZ1snbGJsX3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyaW50ZSc7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25zJ10gPSAnUmVzZXJ2YXJpJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlLXVyaSBlLW1haWwgY29uZmlybWFyZSByZXplcnZhcmUnOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUtdXJpIGNvbmZpcm1hcmUgcmV6ZXJ2YXJlJzsKJGxhbmdbJ2xibF9yZXNlcnZhdGlvbl9mb3JtX3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlLXVyaSBmb3JtdWxhciByZXplcnZhcmUnOwokbGFuZ1snbGJsX3Jlc291cmNlcyddID0gJ1Jlc3Vyc2UnOwokbGFuZ1snbGJsX3NlbmRlbWFpbF90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZS11cmkgZm9ybXVsYXIgdHJpbWl0ZXJlIGUtbWFpbCc7CiRsYW5nWydsYmxfc2V0dGluZ3MnXSA9ICdNYW5hZ2VtZW50IHNldGFyaSc7CiRsYW5nWydsYmxfc3VtbWFyeV90ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZS11cmkgc3VtYXInOwokbGFuZ1snbGJsX3RlbXBsYXRlcyddID0gJ01hbmFnZW1lbnQgdGVtcGxhdGUtdXJpJzsKJGxhbmdbJ21hbmFnZV9jdXN0b21lcl9jb250YWN0X3Jlc3ZuJ10gPSAnTWFuYWdlbWVudCBjb250YWN0IGNsaWVudCBwZW50cnUgcmV6ZXJ2YXJlJzsKJGxhbmdbJ21hbmFnZXInXSA9ICdNYW5hZ2VyICc7CiRsYW5nWydtYXhfbGVuZ3RoJ10gPSAnTHVuZ2ltZSBtYXhpbWEnOwokbGFuZ1snbWVzc2FnZV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIG1lc2FqJzsKJGxhbmdbJ21lc3NhZ2VfdGV4dCddID0gJ0NvbnRpbnV0IG1lc2FqJzsKJGxhbmdbJ21pbmltdW1fZGVwb3NpdF9yZXF1aXJlZCddID0gJ0F2YW5zIG1pbmltIGNlcnV0JzsKJGxhbmdbJ21vZGlmaWVkX2RhdGUnXSA9ICdNb2RpZmljYXQnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnTyByZXN1cnNhIHNpIHVuIG1hbmFnZXIgZGUgZGlzcG9uaWJpbGl0YXRlIHBlbnRydSBhIHByb2dyYW1hIHNpIHJlemVydmEgcmVzdXJzZSc7CiRsYW5nWydtb25kYXknXSA9ICdMdW5pJzsKJGxhbmdbJ21vbnRoJ10gPSAnTHVuYSc7CiRsYW5nWydtb250aGxpc3RfYnJpZWYnXSA9ICdJYW4vRmViL01hci9BcHIvTWFpL0l1bi9JdWwvQXVnL1NlcC9PY3QvTm9pL0RlYyc7CiRsYW5nWydtb3JlJ10gPSAnTWFpIG11bHQnOwokbGFuZ1snbmFtZSddID0gJ051bWUnOwokbGFuZ1snbmV4dCddID0gJ0luYWludGUnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vJ10gPSAnTnUnOwokbGFuZ1snbm9uYm9va2FibGVfYmxvY2tzJ10gPSAnQmxvY3VyaSBpbmNoaXNlJzsKJGxhbmdbJ25vbmUnXSA9ICdOaW1pYyc7CiRsYW5nWydub3RlcyddID0gJ05vdGUnOwokbGFuZ1snbm90X2FwcGxpY2FibGUnXSA9ICdOL0QnOwokbGFuZ1snbm90X2NhbGN1bGF0ZWQnXSA9ICdOb24tY2FsY3VsYXQnOwokbGFuZ1snbnVtX3Blb3BsZSddID0gJ051bWFyIGRlIHBlcnNvYW5lJzsKJGxhbmdbJ29jY3VycyddID0gJ1NlIHByb2R1Y2UnOwokbGFuZ1snb2YnXSA9ICdEZSc7CiRsYW5nWydvbmVfaG91ciddID0gJ08gb3JhJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpdW5pJzsKJGxhbmdbJ29yZGVyJ10gPSAnQ29tYW5kYSc7CiRsYW5nWydvdmVyY2FwX2Ftb3VudCddID0gJ0FqdXN0YXJlIHByZXQgc3VwcmFjYXBhY2l0YXRlJzsKJGxhbmdbJ3BhZ2UnXSA9ICdQYWdpbmEnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ051bWFyIGRlIG9iaWVjdGUgcGVyIHBhZ2luYSc7CiRsYW5nWydwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10gPSAnUGFnaW5hIHVuZGUgc2UgcmVkaXJlY3Rpb25lYXphIGNhbmQgbnUgZXN0ZSBhdXRlbnRpZmljYXQnOwokbGFuZ1sncGFydDEnXSA9ICdQYXJ0ZWEgMSc7CiRsYW5nWydwYXJ0aWFsbHlfcmVzZXJ2ZWQnXSA9ICdSZXplcnZhdCBwYXJ0aWFsJzsKJGxhbmdbJ3BhcnRpYWxseV9yZXNlcnZlZF9sYmwnXSA9ICclcyBkaW4gJXMgc2xvdHVyaSByZXplcnZhdGUnOwokbGFuZ1sncGFzdF9tZXNzYWdlcyddID0gJ01lc2FqZSBkaW4gdHJlY3V0JzsKJGxhbmdbJ3BlbmRpbmcnXSA9ICdJbiBhc3RlcHRhcmUnOwokbGFuZ1sncGVyY2VudGFnZV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnUHJvY2VudHVsIG1pbmltIGRpbiB0b3RhbHVsIGNvbWVuemlpIGNlcnV0IGNhIGF2YW5zIDxlbT4oZXhwcmltYXQgaW4gZm9ybWF0IGRlY2ltYWwpPC9lbT4nOwokbGFuZ1sncGVyY2VudF9ib29rZWQnXSA9ICdQcm9jZW50IHJlemVydmFyaSc7CiRsYW5nWydQTSddID0gJ1BNICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBBdmFpbGFiaWxpdHkgbW9kdWxlIGhhcyBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkLiAgUGxlYXNlIGVuc3VyZSB0aGF0IGFsbCBhcHByb3ByaWF0ZSBncm91cHMgaGF2ZSB0aGUgYXBwcm9wcmlhdGUgcGVybWlzc2lvbnMgdG8gbWFuYWdlIHRoZSB2YXJpb3VzIGFzcGVjdHMgb2YgdGhpcyBtb2R1bGUnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBBdmFpbGFiaWxpdHkgbW9kdWxlLCBhbmQgYWxsIHJlbGF0ZWQgZGF0YSBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhlIHN5c3RlbS4gIFlvdSBhcmUgbm93IGZyZWUgdG8gZGVsZXRlIHRoZSBmaWxlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtb2R1bGUnOwokbGFuZ1sncHJldiddID0gJ0luYXBvaSc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJpY2UnXSA9ICdQcmV0JzsKJGxhbmdbJ3ByaWNlcyddID0gJ1ByZXR1cmknOwokbGFuZ1sncHJpY2VfYWRqdXN0J10gPSAnQWRqdXN0IHRoZSBQcmljZSBvZiBlZmZlY3RlZCAlcyBieSB0aGlzIGFtb3VudC48YnIvPjxlbT4odXNlIGEgZm9ybWF0IGxpa2UgKjAuODUgb3IgLTEzIG9yICsyNSk8L2VtPic7CiRsYW5nWydwcm9tcHQnXSA9ICdBZmlzYXJlJzsKJGxhbmdbJ3B1YmxpYyddID0gJ1B1YmxpYyAnOwokbGFuZ1sncXVhcnRlcl9ob3VyJ10gPSAnU2ZlcnQgZGUgb3JhJzsKJGxhbmdbJ3Jlc2VydmVkJ10gPSAnUmV6ZXJ2YXQnOwokbGFuZ1sncmVzZXJ2YXRpb24nXSA9ICdSZXplcnZhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fYmFja2dyb3VuZF9jb2xvciddID0gJ0N1bG9hcmUgZnVuZGFsIHJlemVydmFyZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25mbGljdF9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnQ3Vsb2FyZSBmdW5kYWwgY29uZmxpY3QgcmV6ZXJ2YXJlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc2V0dGluZ3MnXSA9ICdTZXRhcmkgYXZhbnMgcmV6ZXJ2YXJpJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BlbmRpbmdfYmFja2dyb3VuZF9jb2xvciddID0gJ0N1bG9hcmUgZnVuZGFsIHJlemVydmFyZSBpbiBhc3RlcHRhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlnJ10gPSAnU2V0YXJpIHJlemVydmFyZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnXSA9ICdGaXNpZXIgY2FyZSBzZSB2YSBhdGFzYSB0dXR1cm9yIGUtbWFpbHVyaWxvciBkZSBjb25maXJtYXJlIHJlemVydmFyZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnQ0MgY2F0cmUgYWNlc3RpIHV0aWxpemF0b3JpIGxhIGNvbmZpcm1hcmUgcmV6ZXJ2YXJlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZyddID0gJ1RyaW1pdGVyZSBlLW1haWwgY2F0cmUgY2xpZW50IGNhbmQgbyByZXplcnZhcmUgZXN0ZSBjcmVhdGEnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnU3ViaWVjdCBhbCBlLW1haWx1cmlsb3IgZGUgY29uZmlybWFyZSByZXplcnZhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnUGFnaW5hIGNvbmZpcm1hcmUgcmV6ZXJ2YXJlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0J10gPSAnJXMgc2VsZWN0YXRlIG51IHN1bnQgdG9hdGUgZGlzcG9uaWJpbGUgcGVudHJ1IGRhdGVsZSBzZWxlY3RhdGUnOwokbGFuZ1sncmVzZXJ2YXRpb25fY3JlYXRlZCddID0gJ1JlemVydmFyZSBjcmVhdGEnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnUGFnaW5hIGltcGxpY2l0YSByZXplcnZhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fZGV0YWlscyddID0gJ0RldGFsaWkgcmV6ZXJ2YXJlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2ZvcmVncm91bmRfY29sb3InXSA9ICdDdWxvYXJlIHByaW0tcGxhbiBjb25mbGljdCByZXplcnZhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fZm9yZWdyb3VuZF9jb2xvciddID0gJ0N1bG9hcmUgcHJpbS1wbGFuIHJlemVydmFyZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9wYXJ0aWFsX2ZvcmVncm91bmRfY29sb3InXSA9ICdDdWxvYXJlIHByaW0tcGxhbiByZXplcnZhcmUgcGFydGlhbGEnOwokbGFuZ1sncmVzZXJ2YXRpb25fcGFydGlhbF9iYWNrZ3JvdW5kX2NvbG9yJ10gPSAnQ3Vsb2FyZSBmdW5kYWwgcmV6ZXJ2YXJlIHBhcnRpYWxhJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRzJ10gPSAnQ29tcG9uZW50ZSByZXplcnZhcmUnOwokbGFuZ1sncmVzZXJ2YXRpb25fcGVuZGluZ19mb3JlZ3JvdW5kX2NvbG9yJ10gPSAnQ3Vsb2FyZSBwcmltLXBsYW4gcmV6ZXJ2YXJlIGluIGFzdGVwdGFyZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9udW0nXSA9ICdSZXplcnZhcmU6ICUwNWQnOwokbGFuZ1sncmVzZXQnXSA9ICdSZXNldGFyZSc7CiRsYW5nWydyZXNvdXJjZSddID0gJ1Jlc3Vyc2EnOwokbGFuZ1sncmVzb3VyY2VzJ10gPSAnUmVzdXJzZSc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzEnXSA9ICdSZXplcnZhdCBpbiBiYXphICVzLCBjdSBsaW1pdGUgJXMnOwokbGFuZ1sncmVzb3VyY2Vfc3VtbWFyeV8yJ10gPSAnUmV6ZXJ2YXQgaW4gYmF6YSAlcyc7CiRsYW5nWydyZXNvdXJjZV9zdW1tYXJ5XzMnXSA9ICdkaXNwb25pYmlsIGRlIGxhICVzIGxhICVzIHNpIGRlIGxhICVzIGxhICVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfNCddID0gJ3RpbXB1bCBwZW50cnUgcHJlbHVhcmUgZXN0ZSAlcywgc2kgY2VsIGRlIHByZWRhcmUgZXN0ZSAlcyc7CiRsYW5nWydyZXNvdXJjZV90eXBlJ10gPSAnVGlwIHJlc3Vyc2EnOwokbGFuZ1sncm9vbSddID0gJ0NhbWVyYSc7CiRsYW5nWydyb29tcyddID0gJ0NhbWVyZSc7CiRsYW5nWydyZXF1aXJlX2RlcG9zaXQnXSA9ICdFc3RlIG5lY2VzYXIgYXZhbnM/JzsKJGxhbmdbJ3NhdHVyZGF5J10gPSAnU2FtYmF0YSc7CiRsYW5nWydzY2hlZHVsaW5nJ10gPSAnUHJvZ3JhbWFyZSc7CiRsYW5nWydzY2hlZHVsaW5nX2ludGVydmFsJ10gPSAnQWNlYXN0YSByZXN1cnNhIGVzdGUgcmV6ZXJ2YXRhJzsKJGxhbmdbJ3NlYXJjaCddID0gJ0NhdXRhcmUnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1NlbGVjdGF0aSB1bmEnOwokbGFuZ1snc2VuZCddID0gJ1RyaW1pdGV0aSc7CiRsYW5nWydzZW5kX2VtYWlsJ10gPSAnVHJpbWl0ZXRpIHVuIGUtbWFpbCc7CiRsYW5nWydzZW50J10gPSAnVHJpbWlzJzsKJGxhbmdbJ3N0YXJ0X2RhdGUnXSA9ICdEYXRhIFN0YXJ0JzsKJGxhbmdbJ3N0YXJ0X3RpbWVfMSddID0gJ1RpbXAgc3RhcnQgMSc7CiRsYW5nWydzdGFydF90aW1lXzInXSA9ICdUaW1wIHN0YXJ0IDInOwokbGFuZ1snc3RhdGlzdGljcyddID0gJ1N0YXRpc3RpY2knOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzICc7CiRsYW5nWydzdGF0dXNfcm9vbXNfYXZhaWxhYmxlJ10gPSAnJXMgc2VsZWN0YXRlIHN1bnQgZGlzcG9uaWJpbGUgcGVudHJ1IGFjZXN0ZSBkYXRlJzsKJGxhbmdbJ3N1YmpfcmVfcmVzdm4nXSA9ICdSZTogUmV6ZXJ2YXJlYSAlcyc7CiRsYW5nWydzdWJqZWN0J10gPSAnU3ViaWVjdCc7CiRsYW5nWydzdWJtaXQnXSA9ICdUcmltaXRlcmUnOwokbGFuZ1snc3VuZGF5J10gPSAnRHVtaW5pY2EnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdBcmllIHRleHQnOwokbGFuZ1sndGV4dGJveCddID0gJ0NhbXAgdGV4dCc7CiRsYW5nWyd0aHVyc2RheSddID0gJ0pvaSc7CiRsYW5nWyd0aXRsZV9jb25mbGljdCddID0gJ0V4aXN0YSBDb25mbGljdCB8IEVzdGUgdW4gY29uZmxpY3QgaW50cmUgcmV6ZXJ2YXJpbGUgJTA0ZCBzaSAlMDRkLjxici8+PGJyLz5FIHBvc2liaWwgc2EgZXhpc3RlIHNpIGFsdGUgY29uZmxpY3RlIHBlbnRydSBhY2VzdCBibG9jLic7CiRsYW5nWyd0aXRsZV9ncmFwaGluZyddID0gJ1ZlZGV0aSBncmFmaWNlIHNpIHJhcG9hcnRlIHBlbnRydSBkYXRlIGlzdG9yaWNlJzsKJGxhbmdbJ3RvdGFsX2Jsb2NrcyddID0gJ1RvdGFsIEJsb2N1cmknOwokbGFuZ1sndHVlc2RheSddID0gJ01hcnRpJzsKJGxhbmdbJ3R5cGUnXSA9ICdUaXAnOwokbGFuZ1sndXNlX2RhdGVzX2luX2ZpbHRlciddID0gJ0FwbGljYXRpIHVybWF0b2FyZWxlIGRhdGUnOwokbGFuZ1sndmFjYW50J10gPSAnRGlzcG9uaWJpbCc7CiRsYW5nWyd2aWV3J10gPSAnVmVkZXRpJzsKJGxhbmdbJ3ZpZXdfZGF5J10gPSAnVmVkZXRpIGluZm9ybWF0aWkgZGVzcHJlIGFjZWFzdGEgemknOwokbGFuZ1sndmlld191c2VyJ10gPSAnVmVkZXRpIGluZm9ybWF0aWkgb2FzcGV0ZSc7CiRsYW5nWyd2aWV3X3JzcmNfZGV0YWlscyddID0gJ1ZlZGV0aSBkZXRhbGlpIHBlbnRydSAlcyc7CiRsYW5nWyd3ZWRuZXNkYXknXSA9ICdNaWVyY3VyaSc7CiRsYW5nWyd3ZWVrZGF5X3ByaWNlX2FkanVzdG1lbnRzJ10gPSAnQWp1c3RhcmkgcHJldCB6aSBhIHNhcHRhbWFuaWknOwokbGFuZ1sneWVhcl8xJ10gPSAnQW51bCAxJzsKJGxhbmdbJ3llYXJfMiddID0gJ0FudWwgMic7CiRsYW5nWyd5ZWFyXzMnXSA9ICdBbnVsIDMnOwokbGFuZ1sneWVzJ10gPSAnRGEnOwokbGFuZ1sneW91cl9uYW1lJ10gPSAnTnVtZWxlIGR1bW5lYXZvYXN0cmEnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4zNzg0MTk3NTguMTI1MjA0Nzc0MC4xMjUyMDU2NTYzLjEyNTIwNjAzNDAuNCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI1MjA0Nzc0MC4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdGlvbl9hZGRfZXZlbnRfdHlwZSddID0gJ0wmYXVtbDtnZyB0aWxsIGgmYXVtbDtuZGVsc2V0eXAnOwokbGFuZ1snYWN0aW9uX2VkaXRfZXZlbnRfdHlwZSddID0gJ01vZGlmaWVyYSBoJmF1bWw7bmRlbHNldHlwJzsKJGxhbmdbJ2FjdGl2ZSddID0gJ0FrdGl2JzsKJGxhbmdbJ2FkZCddID0gJ0wmYXVtbDtnZyB0aWxsJzsKJGxhbmdbJ2FkZF9ub3RlcyddID0gJ0Z5bGwgaSBpbmZvcm1hdGlvbiBhbmcmYXJpbmc7ZW5kZSBkZW5uYSBib2tuaW5nJzsKJGxhbmdbJ2FkZGVkaXRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9SZWRpZ2VyYSBlbiBBdmFuY2VyYWQgUyZvdW1sO2sgRm9ybXVsJmF1bWw7cnMgTWFsbCc7CiRsYW5nWydhZGRlZGl0X2NhbGVuZGFyX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2dnIHRpbGwvTW9kaWZpZXJhIGVuIG1hbGwgZiZvdW1sO3IgdnluIEthbGVuZGVyJzsKJGxhbmdbJ2FkZGVkaXRfY3VzdGVtYWlsX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2dnIHRpbGwvTW9kaWZpZXJhIGVuIG1hbGwgZiZvdW1sO3IgZXBvc3QgdGlsbCBrdW5kZXInOwokbGFuZ1snYWRkZWRpdF9kYXlfdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9Nb2RpZmllcmEgZW4gbWFsbCBmJm91bWw7ciB2eW4gRGFnJzsKJGxhbmdbJ2FkZGVkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2dnIHRpbGwvTW9kaWZpZXJhIGVuIG1hbGwgZiZvdW1sO3IgdnluIFJlc3Vyc2RldGFsamVyJzsKJGxhbmdbJ2FkZGVkaXRfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9Nb2RpZmllcmEgZW4gbWFsbCBmJm91bWw7ciB2eW4gTWluYSBib2tuaW5nYXInOwokbGFuZ1snYWRkZWRpdF9yZXN2bl90ZW1wbGF0ZSddID0gJ0wmYXVtbDtnZyB0aWxsL01vZGlmaWVyYSBlbiBtYWxsIGYmb3VtbDtyIGJva25pbmdzZm9ybXVsJmF1bWw7cic7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9Nb2RpZmllcmEgZW4gbWFsbCBmJm91bWw7ciBib2tuaW5nc2Jla3ImYXVtbDtmdGVsc2UgKGVwb3N0KSc7CiRsYW5nWydhZGRlZGl0X3Jlc3ZuX2NvbmZpcm1fdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9Nb2RpZmllcmEgZW4gbWFsbCBmJm91bWw7ciBib2tuaW5nc2Jla3ImYXVtbDtmdGVsc2UnOwokbGFuZ1snYWRkZWRpdF9zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdMJmF1bWw7Z2cgdGlsbC9Nb2RpZmllcmEgZW4gbWFsbCBmJm91bWw7ciBmb3JtdWwmYXVtbDtyZXQgJnF1b3Q7c2tpY2thIGVwb3N0JnF1b3Q7JzsKJGxhbmdbJ2FkZGVkaXRfc3VtbWFyeV90ZW1wbGF0ZSddID0gJ0wmYXVtbDtnZyB0aWxsL01vZGlmaWVyYSBlbiBtYWxsIGYmb3VtbDtyIHZ5biBSZXN1cnMmb3VtbDt2ZXJzaWt0JzsKJGxhbmdbJ2FkbWluX25vdGVzJ10gPSAnQWRtaW5pc3RyYXQmb3VtbDtyc25vdGVyaW5nYXInOwokbGFuZ1snYWRqdXN0X2Rpc2NvdW50X2FkanVzdGRheXMnXSA9ICdCdWxrIGRpc2NvdW50IGFkanVzdG1lbnQgb2YgJS4yZiBmb3IgZWxpZ2libGUgZGF5cyc7CiRsYW5nWydhZGp1c3RfZGlzY291bnRfYWxsYWRqdXN0J10gPSAnQnVsayBkaXNjb3VudCBhZGp1c3RtZW50IG9mICUuMmYgZm9yIGFsbCBkYXlzJzsKJGxhbmdbJ2FkanVzdF9kaXNjb3VudF9mcmVlYmxvY2snXSA9ICdCdWxrIGRpc2NvdW50IGVsaWdpYmxlIGZyZWUgZGF5JzsKJGxhbmdbJ2FkanVzdF9ldmVudF9wcmljZSddID0gJ0p1c3RlcmF0IHByaXMgZiZvdW1sO3IgaCZhdW1sO25kZWxzZS9ldmVuZW1hbmcgJXMgbWVkICVzJzsKJGxhbmdbJ2FkanVzdF9vdmVyY2FwYWNpdHknXSA9ICdBZGp1c3RlZCBwcmljZSBmb3IgJWQgZXh0cmEgcGVvcGxlIGJ5ICUuMmYnOwokbGFuZ1snYWRqdXN0X3dlZWtkYXlfcHJpY2UnXSA9ICdKdXN0ZXJhdCBwcmlzIGYmb3VtbDtyIHZlY2tvZGFnICVzIG1lZCAlcyc7CiRsYW5nWydhZGRfY2F0ZWdvcnknXSA9ICdMJmF1bWw7Z2cgdGlsbCBhdHRyaWJ1dCc7CiRsYW5nWydhZGRfY3VzdG9tX2ZpZWxkJ10gPSAnTCZhdW1sO2dnIHRpbGwgZWdlbmRlZmluaWVyYXQgZiZhdW1sO2x0JzsKJGxhbmdbJ2FkZF9ldmVudCddID0gJ0wmYXVtbDtnZyB0aWxsIGgmYXVtbDtuZGVsc2UvZXZlbmVtYW5nJzsKJGxhbmdbJ2FkZF9ldmVudF90eXBlJ10gPSAnTCZhdW1sO2dnIHRpbGwgaCZhdW1sO25kZWxzZXR5cCc7CiRsYW5nWydhZGRfcmVzZXJ2YXRpb24nXSA9ICdMJmF1bWw7Z2cgdGlsbCBlbiBib2tuaW5nJzsKJGxhbmdbJ2FkZF91c2VyX2FjY291bnQnXSA9ICdMJmF1bWw7Z2cgdGlsbCBlbiBhbnYmYXVtbDtuZGFyZSc7CiRsYW5nWydhbGwnXSA9ICdBbGxhJzsKJGxhbmdbJ2FsbG93ZWRfZmlsZV90eXBlcyddID0gJ1RpbGwmYXJpbmc7dG5hIGZpbHR5cGVyJzsKJGxhbmdbJ2FsbG93ZWRfaW1hZ2VfdHlwZXMnXSA9ICdUaWxsJmFyaW5nO3RuYSBiaWxkdHlwZXInOwokbGFuZ1snYWxsb3dfbm9fcHJpY2VzJ10gPSAnRXJyb3Igb24gbm8gcHJpY2UnOwokbGFuZ1snQU0nXSA9ICdBTSc7CiRsYW5nWydhbnknXSA9ICdOJmFyaW5nO2dvbic7CiRsYW5nWydhcHBseSddID0gJ1ZlcmtzdCZhdW1sO2xsJzsKJGxhbmdbJ2Fza19kZWxldGVfZXZlbnQnXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwgcGVybWFuZW50IHJhZGVyYSBkZW5uYSBoJmF1bWw7bmRlbHNlPyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc2VydmF0aW9uJ10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkdSB2aWxsIHBlcm1hbmVudCByYWRlcmEgZGVubmEgYm9rbmluZyBmciZhcmluZztuIHN5c3RlbWV0Pyc7CiRsYW5nWydhc2tfZGVsZXRlX3Jlc291cmNlJ10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkdSB2aWxsIHBlcm1hbmVudCByYWRlcmEgZGVubmEgcmVzdXJzPyc7CiRsYW5nWydhc2tfcmVhbGx5X3VuaW5zdGFsbCddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCBhdmluc3RhbGxlcmEgZGVubmEgbW9kdWw/ICBBdHQgZm9ydHMmYXVtbDt0dGEgbWVkZiZvdW1sO3IgYXR0IGFsbHQgZGF0YSByZWxhdGVyYXQgdGlsbCBtb2R1bGVuIGYmb3VtbDtybG9yYXMuJzsKJGxhbmdbJ2F0J10gPSAnQCc7CiRsYW5nWydhdHRhY2htZW50J10gPSAnQmlsYWdhJzsKJGxhbmdbJ2F0dGFjaG1lbnRfZGlyJ10gPSAnS2F0YWxvZyBhdHQgcyZvdW1sO2thIGVmdGVyIGJpbGFnb3IgaSc7CiRsYW5nWydhdHRyaWJ1dGVzJ10gPSAnQXR0cmlidXQnOwokbGFuZ1snYXV0b19nZW5lcmF0ZV90aHVtYm5haWxzJ10gPSAnQXV0b21hdGdlbmVyZXJhIHR1bW5hZ2VsYmlsZGVyJzsKJGxhbmdbJ2F2YWlsYWJsZSddID0gJ1RpbGxnJmF1bWw7bmdsaWcnOwokbGFuZ1snYmFja2dyb3VuZF9jb2xvciddID0gJ0Jha2dydW5kc2YmYXVtbDtyZyc7CiRsYW5nWydiYXNlX3ByaWNlJ10gPSAnR3J1bmRwcmlzJzsKJGxhbmdbJ2Jhc2ljX3ByaWNpbmcnXSA9ICdCYXNpYyBQcmljaW5nJzsKJGxhbmdbJ2Jvb2thYmxlJ10gPSAnS2FuIHJ1bSBib2thcyB1bmRlciBkZW5uYSBoJmF1bWw7bmRlbHNlPyc7CiRsYW5nWydib29rYWJsZV9iciddID0gJ0Jva25pbmdzYmFydCc7CiRsYW5nWydib29rYWJsZV9ldmVudF9ibG9ja3MnXSA9ICdCb2tuaW5nc2JhcmEgaCZhdW1sO25kZWxzZWJsb2NrJzsKJGxhbmdbJ2Jvb2tlZF9ibG9ja3MnXSA9ICdCb2thZGUgYmxvY2snOwokbGFuZ1snY2FiaW4nXSA9ICdTdHVnYSc7CiRsYW5nWydjYWJpbnMnXSA9ICdTdHVnb3InOwokbGFuZ1snY2FsY3VsYXRlJ10gPSAnQmVyJmF1bWw7a25hJzsKJGxhbmdbJ2NhbGN1bGF0ZV9wcmljZSddID0gJ0JlciZhdW1sO2tuYSBwcmlzJzsKJGxhbmdbJ2NhbGN1bGF0ZWRfcHJpY2UnXSA9ICdDYWxjdWxhdGVkIFByaWNlJzsKJGxhbmdbJ2NhbGVuZGFyX2NvbmZpZyddID0gJ0luc3QmYXVtbDtsbG5pbmdhciBmJm91bWw7ciB0aWxsZyZhcmluZztuZ3NrYWxlbmRlcic7CiRsYW5nWydjYW5jZWwnXSA9ICdBdmJyeXQnOwokbGFuZ1snY2FuY2VsbGVkJ10gPSAnQXZib2thZCc7CiRsYW5nWydjYXBhY2l0eSddID0gJ0thcGFjaXRldCc7CiRsYW5nWydjYXInXSA9ICdCaWwnOwokbGFuZ1snY2FycyddID0gJ0JpbGFyJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdBdHRyaWJ1dCc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0F0dHJpYnV0JzsKJGxhbmdbJ2NjX215c2VsZiddID0gJ1NraWNrYSBlbiBrb3BpYSBhdiBkZXR0YSBtZWRkZWxhbmRlIHRpbGwgbWluIGVwb3N0bCZhcmluZztkYSc7CiRsYW5nWydjaGVja2JveCddID0gJ0tyeXNzcnV0YSc7CiRsYW5nWydjaGVja2luJ10gPSAnSW5jaGVja25pbmcnOwokbGFuZ1snY2hlY2tpbl90aW1lJ10gPSAnSW5jaGVja25pbmdzdGlkJzsKJGxhbmdbJ2NoZWNrb3V0J10gPSAnVXRjaGVja25pbmcnOwokbGFuZ1snY2hlY2tvdXRfdGltZSddID0gJ1V0Y2hlY2tuaW5nc3RpZCc7CiRsYW5nWydjaGVja19hdmFpbGFiaWxpdHknXSA9ICdLb250cm9sbGVyYSB0aWxsZyZhcmluZztuZyc7CiRsYW5nWydjbG9zZWQnXSA9ICdTdCZhdW1sO25nZCc7CiRsYW5nWydjb2xvciddID0gJ0YmYXVtbDtyZyc7CiRsYW5nWydjb25maXJtZWQnXSA9ICdCZWtyJmF1bWw7ZnRhZCc7CiRsYW5nWydjb25maXJtX3Jlc2VydmF0aW9uJ10gPSAnViZhdW1sO25saWdlbiBrb250cm9sbGVyYSBpbmZvcm1hdGlvbmVuIGkgZm9ybXVsJmF1bWw7cmV0IG9jaCBiZWtyJmF1bWw7ZnRhIGF0dCBkdSB2aWxsIHNrYXBhIGRlbm5hIGJva25pbmcnOwokbGFuZ1snY29uZmxpY3QnXSA9ICdLb25mbGlrdCc7CiRsYW5nWydjcmVhdGVfZGF0ZSddID0gJ1NrYXBhZCc7CiRsYW5nWydjcmVhdGVfcmVzZXJ2YXRpb24nXSA9ICdTa2FwYSBlbiBib2tuaW5nIGYmb3VtbDtyIGRlbm5hIHRpZCc7CiRsYW5nWydjcmVhdGVkJ10gPSAnU2thcGFkJzsKJGxhbmdbJ2N1cnJlbmN5X3N5bWJvbCddID0gJ1ZhbHV0YXN5bWJvbCc7CiRsYW5nWydjdXN0b21lciddID0gJ0t1bmQnOwokbGFuZ1snY3VzdG9tZXJfZ3JvdXAnXSA9ICdLdW5kZ3J1cHAnOwokbGFuZ1snY3VzdG9tZXJfbmFtZSddID0gJ0t1bmRuYW1uJzsKJGxhbmdbJ2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdNYWxsIGYmb3VtbDtyIGt1bmR2eSc7CiRsYW5nWydkYWlseSddID0gJ0RhZ2xpZyc7CiRsYW5nWydkYXRlJ10gPSAnRGF0dW0nOwokbGFuZ1snZGF5X3JlcG9ydCddID0gJ0RhZ3NyYXBwb3J0JzsKJGxhbmdbJ2RheV9yZXBvcnRfcnNyYyddID0gJ0RhZ3NyYXBwb3J0IGYmb3VtbDtyICVzJzsKJGxhbmdbJ2RheV92aWV3J10gPSAnRGFnIHJhcHBvcnQnOwokbGFuZ1snZGVmYXVsdF9ncmFudWxhcml0eSddID0gJ0RlZmF1bHQgR3JhbnVsYXJpdHknOwokbGFuZ1snZGVmYXVsdF90aW1lX2ludGVydmFsJ10gPSAnRGVmYXVsdCBUaW1lIEludGVydmFsJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1JhZGVyYSc7CiRsYW5nWydkZWxldGVfY2F0ZWdvcnknXSA9ICdSYWRlcmEgQXR0cmlidXQnOwokbGFuZ1snZGVsZXRlX2N1c3RvbV9maWVsZCddID0gJ1JhZGVyYSBlZ2VuZGVmaW5pZXJhdCBmJmF1bWw7bHQnOwokbGFuZ1snZGVsZXRlX2V2ZW50J10gPSAnUmFkZXJhIGgmYXVtbDtuZGVsc2UvZXZlbmVtYW5nJzsKJGxhbmdbJ2RlbGV0ZV9ldmVudF90eXBlJ10gPSAnUmFkZXJhIGgmYXVtbDtuZGVsc2V0eXAnOwokbGFuZ1snZGVwb3NpdF9hbW91bnRzJ10gPSAnRGVzcG9zaXQgQW1vdW50cyc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZuaW5nJzsKJGxhbmdbJ2RmbHRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0J10gPSAnRGluIGJva25pbmcgaGFyIGJla3ImYXVtbDtmdGF0cyc7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RtZW50J10gPSAnRGlzY291bnQgQWRqdXN0bWVudCc7CiRsYW5nWydkaXNjb3VudF9taW5fYmxvY2tzJ10gPSAnTWluaW11bSBudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBmb3IgdGhlIGRpc2NvdW50JzsKJGxhbmdbJ2Rpc2NvdW50X2ZyZWVibG9jayddID0gJ0ZyZWUgZGF5cyAobGVhc3QgZXhwZW5zaXZlIGZpcnN0KSc7CiRsYW5nWydkaXNjb3VudF9hbGxhZGp1c3QnXSA9ICdBcHBseSBhIGJ1bGsgYWRqdXN0bWVudCB0byBhbGwgZGF5cyc7CiRsYW5nWydkaXNjb3VudF9hZGp1c3RkYXlzJ10gPSAnQWRqdXN0IFByaWNlcyBmb3IgYXBwbGljYWJsZSBkYXlzIG9ubHknOwokbGFuZ1snZGlzY291bnRfdHlwZSddID0gJ0Rpc2NvdW50IFR5cGUnOwokbGFuZ1snZGlzcGxheSddID0gJ1Zpc2EnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdSdWxsZ2FyZGluc21lbnknOwokbGFuZ1snZWRpdCddID0gJ01vZGlmaWVyYSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnTW9kaWZpZXJhIGF0dHJpYnV0JzsKJGxhbmdbJ2VkaXRfY3VzdG9tX2ZpZWxkJ10gPSAnTW9kaWZpZXJhIGVnZW5kZWZpbmllcmF0IGYmYXVtbDtsdCc7CiRsYW5nWydlZGl0X2V2ZW50J10gPSAnTW9kaWZpZXJhIGgmYXVtbDtuZGVsc2UvZXZlbmVtYW5nJzsKJGxhbmdbJ2VkaXRfZXZlbnRfdHlwZSddID0gJ01vZGlmaWVyYSBoJmF1bWw7bmRlbHNldHlwJzsKJGxhbmdbJ2VkaXRfcmVzZXJ2YXRpb24nXSA9ICdNb2RpZmllcmEgYm9rbmluZyc7CiRsYW5nWydlbWFpbCddID0gJ0Vwb3N0JzsKJGxhbmdbJ2VuZF9kYXRlJ10gPSAnU2x1dGRhdHVtJzsKJGxhbmdbJ2VuZF90aW1lXzEnXSA9ICdFbmQgVGltZSAxJzsKJGxhbmdbJ2VuZF90aW1lXzInXSA9ICdFbmQgVGltZSAyJzsKJGxhbmdbJ2Vycm9yX2NhbGN1bGF0aW9uJ10gPSAnQmVyJmF1bWw7a25pbmdzZmVsJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdF9kZWxldGVfcmVzb3VyY2UnXSA9ICdEZW5uYSByZXN1cnMga2FuIGludGUgcmFkZXJhcyBlZnRlcnNvbSBkZXQgZmlubnMgayZhdW1sO25kYSByZXNlcnZhdGlvbmVyIGYmb3VtbDtyIGRlbic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2ZlbCwgdiZhdW1sO25saWdlbiBrb250YWt0YSBhZG1pbmlzdHJhdCZvdW1sO3Jlbic7CiRsYW5nWydlcnJvcl9ldmVudF9jb25mbGljdCddID0gJ0VuIGtvbmZsaWt0IGFuZyZhcmluZztlbmRlIGlja2UgYm9rbmluZ3NiYXIgaCZhdW1sO25kZWxzZS9ldmVuZW1hbmcgdXBwdCZhdW1sO2NrZXMgZiZvdW1sO3IgZGVubmEgcmVzZXJ2YXRpb24nOwokbGFuZ1snZXJyb3JfZmlsZWRlbGV0ZSddID0gJ0V0dCBwcm9ibGVtIHVwcHN0b2QgdmlkIGYmb3VtbDtycyZvdW1sO2sgYXR0IHJhZGVyYSBlbiBlbGxlciBmbGVyYSBmaWxlcic7CiRsYW5nWydlcnJvcl9pbnRlcm5hbGNvbmZpZyddID0gJ0V0dCBpbnRlcm50IGZlbCBoYXIgdXBwc3QmYXJpbmc7dHQsIHYmYXVtbDtubGlnZW4ga29udGFrdGEgYWRtaW5pc3RyYXQmb3VtbDtyZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZF9kYXRlcyddID0gJ0R1IGhhciBhbmdldHQgb2dpbHRpZ2EgZGF0dW0nOwokbGFuZ1snZXJyb3JfaW52YWxpZF9wcmljZSddID0gJ0RldCBhbmdpdm5hIHByaXNldCB2ZXJrYXIgdmFyYSB0b210IGVsbGVyIG9naWx0aWd0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdGltZV9zZXR0aW5ncyddID0gJ1RoZSB0aW1lIHJhbmdlcyBlbnRlcmVkIGFyZSBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdmFsdWUnXSA9ICdFdHQgb2dpbHRpZ3QgdiZhdW1sO3JkZSBhbmdhdnMgZiZvdW1sO3IgZXR0IGVsbGVyIGZsZXJhIGYmYXVtbDtsdCBlbGxlciBwYXJhbWV0cmFyJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfcGFyYW1ldGVyJ10gPSAnRW4gZWxsZXIgZmxlcmEgb2JsaWdhdG9yaXNrYSBwYXJhbWV0cmFyIHNha25hcyBlbGxlciAmYXVtbDtyIHRvbW1hJzsKJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnUHJvYmxlbSB2aWQgc2thcGFuZGUgYXYga2F0YWxvZyc7CiRsYW5nWydlcnJvcl9tdXN0X3NlbGVjdCddID0gJ0R1IG0mYXJpbmc7c3RlIHYmYXVtbDtsamEgZW4gZWxsZXIgZmxlcmEgJXMnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3NlcyddID0gJ0tvbmZpZ3VyYXRpb25zcHJvYmxlbS4gSW5nZW4gbW90dGFnYXJlICZhdW1sO3IgZGVmaW5pZXJhZCBmJm91bWw7ciBkZXNzYSBtZWRkZWxhbmRlbi4gViZhdW1sO25saWdlbiBrb250YWt0YSBhZG1pbmlzdHJhdCZvdW1sO3JlbiBkaXJla3QuJzsKJGxhbmdbJ2Vycm9yX25vdGZvdW5kJ10gPSAnRGV0IGFuZ2l2bmEgZGF0YXQga3VuZGUgaW50ZSBoaXR0YXMnOwokbGFuZ1snZXJyb3Jfbm90bG9nZ2VkaW5fZmV1J10gPSAnRHUgJmF1bWw7ciBpbnRlIGlubG9nZ2FkLiBEdSBtJmFyaW5nO3N0ZSByZWdpc3RyZXJhIGV0dCBrb250byBpbm5hbiBkdSBrYW4gZyZvdW1sO3JhIGVuIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX25vX2N1c3RvbWVyX2VtYWlsJ10gPSAnS3VuZGUgaW50ZSBoaXR0YSBuJmFyaW5nO2dvbiBlcG9zdC1hZHJlc3MgZiZvdW1sO3IgZGVubmEga3VuZCc7CiRsYW5nWydlcnJvcl9ub19jdXN0b21lcl9zZWxlY3RlZCddID0gJ1YmYXVtbDtubGlnZW4gdiZhdW1sO2xqIGVuIGt1bmQgZnImYXJpbmc7biBsaXN0YW4nOwokbGFuZ1snZXJyb3Jfbm9fZXZlbnRfdHlwZXMnXSA9ICdJbmdhIGgmYXVtbDtuZGVsc2V0eXBlciBkZWZpbmllcmFkZSc7CiRsYW5nWydlcnJvcl9ub19yZXNlcnZhdGlvbnMnXSA9ICdJbmdhIHJlc2VydmF0aW9uZXIgZnVubmEgZiZvdW1sO3IgZGV0IHZhbGRhIGRhdHVtZXQnOwokbGFuZ1snZXJyb3Jfbm9fcmVzb3VyY2VzJ10gPSAnSW5nZXQgJXMgZGVmaW5pZXJhZCc7CiRsYW5nWydlcnJvcl9ub19yZXNvdXJjZXNfc2VsZWN0ZWQnXSA9ICdQbGVhc2UgZGVmaW5lIG9uZSBvciBtb3JlIHJlc291cmNlcyBhbmQgaW50ZXJ2YWxzIGZvciB0aGlzIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2Vycm9yX25vX3VzZXJzX2ZvdW5kJ10gPSAnS3VuZGUgaW50ZSBoaXR0YSBuJmFyaW5nO2dyYSByZWdpc3RyZXJhZGUgYW52JmF1bWw7bmRhcmUgZiZvdW1sO3IgZGluIHZhbGRhIGt1bmRncnVwcCc7CiRsYW5nWydlcnJvcl9wYXN0X2RhdGVzJ10gPSAnRHUga2FuIGludGUgc2thcGEgZW4gcmVzZXJ2YXRpb24gcCZhcmluZzsgZXR0IGYmb3VtbDtyZyZhcmluZztuZ2V0IGRhdHVtJzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb24nXSA9ICdEdSBoYXIgaW50ZSBiZWgmb3VtbDtyaWdoZXQgYXR0IHNlIGRlc3NhIGRhdGEnOwokbGFuZ1snZXJyb3JfcmVzZXJ2YXRpb25fY29uZmxpY3QnXSA9ICdFbiByZXNlcnZhdGlvbnNrb25mbGlrdCBoYXIgdXBwdCZhdW1sO2NrdHMnOwokbGFuZ1snZXJyb3Jfc2VsZWN0X3N0YXR1cyddID0gJ1YmYXVtbDtubGlnZW4gdiZhdW1sO2xqIHN0YXR1cyc7CiRsYW5nWydlcnJvcl91cGxvYWQnXSA9ICdGaWx1cHBsYWRkbmluZ3MtZmVsJzsKJGxhbmdbJ2V2ZW50c19mb3JfcmVzb3VyY2UnXSA9ICdIJmF1bWw7bmRlbHNlciBmJm91bWw7ciAlcyc7CiRsYW5nWydldmVudF90eXBlJ10gPSAnSCZhdW1sO25kZWxzZXR5cCc7CiRsYW5nWydldmVudF90eXBlcyddID0gJ0gmYXVtbDtuZGVsc2V0eXBlcic7CiRsYW5nWydleHBpcmVkJ10gPSAnVXRnJmFyaW5nO25nZW4nOwokbGFuZ1snZXh0ZW5kZWRfdXNlX2Rpc2NvdW50cyddID0gJ0V4dGVuZGVkIFVzZSBEaXNjb3VudHMnOwokbGFuZ1snZmV1X3ByZWZlcmVuY2VzJ10gPSAnRnJvbnRFbmRVc2VyLWluc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydmaWVsZHMnXSA9ICdGJmF1bWw7bHQnOwokbGFuZ1snZmlsZSddID0gJ0ZpbCc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOwokbGFuZ1snZmlsZV9oYW5kbGluZ19jb25maWcnXSA9ICdGaWxoYW50ZXJpbmdza29uZmlndXJhdGlvbic7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydmb3JlZ3JvdW5kX2NvbG9yJ10gPSAnRiZvdW1sO3JncnVuZHNmJmF1bWw7cmcnOwokbGFuZ1snZnJpZGF5J10gPSAnRnJlZGFnJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Jva25pbmdzaGFudGVyYXJlJzsKJGxhbmdbJ2Z1dHVyZSddID0gJ0tvbW1hbmRlJzsKJGxhbmdbJ2dlbmVyYWxfY29uZmlnJ10gPSAnR2VuZXJlbGwgS29uZmlndXJhdGlvbic7CiRsYW5nWydncm91cCddID0gJ0dydXBwJzsKJGxhbmdbJ2d1ZXN0J10gPSAnRyZhdW1sO3N0JzsKJGxhbmdbJ2hhbGZfZGF5J10gPSAnSGFsdmRhZyc7CiRsYW5nWydoYWxmX2hvdXInXSA9ICdIYWx2dGltbWUnOwokbGFuZ1snaG91cmx5J10gPSAnVGltdmlzJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgY29tcGxldGUgb25saW5lIHJlc2VydmF0aW9uIG1hbmFnZW1lbnQgc3lzdGVtIGZvciBob3RlbHMsIGNhciByZW50YWwgYWdlbmNpZXMsIG9yIGFueSBvdGhlciBwdXJwb3NlIHdoZXJlIHBhcnRpY3VsYXIgJnF1b3Q7cmVzb3VyY2VzJnF1b3Q7IGNhbiBiZSByZXNlcnZlZCBvbiBhIGRhaWx5IGJhc2lzLjwvcD4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBmcm9udGVuZCB1c2VycyB0byBjcmVhdGUgYW5kIG1hbmFnZSByZXNlcnZhdGlvbnMsIGFuZCB0byBjb250YWN0IGFkbWluaXN0cmF0b3JzIHdpdGggaW5mb3JtYXRpb24gYW5kIHF1ZXN0aW9ucyBhYm91dCByZXNlcnZhdGlvbnMuPC9wPg0KPHA+QSBjb21wbGV0ZSBhZG1pbiBpbnRlcmZhY2UgYWxsb3dzIGF1dGhvcml6ZWQgYWRtaW5pc3RyYXRvcnMgdG8gbWFuYWdlIHJlc291cmNlcywgZXZlbnRzLCByZXNlcnZhdGlvbnMsIGFuZCBhbGwgYXNwZWN0cyBvZiB0aGUgZGlzcGxheWFibGUgaXRlbXMuPC9wPg0KPGgzPkZlYXR1cmVzOjwvaDM+DQo8dWw+DQo8bGk+QWxsb3dzIGRlZmluaW5nIHVubGltaXRlZCBudW1iZXJzIG9mIHJlc291cmNlcy4NCiAgPHVsPg0KICA8bGk+QSBiYXNlIGRhaWx5IHByaWNlIGNhbiBiZSBlbnRlcmVkIGZvciBlYWNoIHJlc291cmNlLjwvbGk+DQogIDxsaT5QcmljZSBhZGp1c3RtZW50cyBjYW4gYmUgZW50ZXJlZCBmb3IgZWFjaCBkYXkgb2YgdGhlIHdlZWsuPC9saT4NCiAgPC91bD4NCjxsaT4NCjxsaT5BbGxvd3MgZGVmaW5pbmcgYW4gdW5saW1pdGVkIG51bWJlciBvZiBjdXN0b20gZmllbGRzIHRvIGFzc29jaWF0ZSB3aXRoIHJlc291cmNlcy48L2xpPg0KPGxpPkFsbG93cyBjcmVhdGluZyBldmVudCB0eXBlcyBhbmQgYXNzb2NpYXRpbmcgdGhlbSB3aXRoIGNvbG9ycy48L2xpPg0KPGxpPlN1cHBvcnRzIGNyZWF0aW5nIGV2ZW50cyBmb3IgcGFydGljdWxhciByZXNvdXJjZXMgb3ZlciBwYXJ0aWN1bGFyIGRheXM6DQogIDx1bD4NCiAgPGxpPkV2ZW50cyBjYW4gYmUgYm9va2FibGUgb3Igbm9uIGJvb2thYmxlLCB0byBibG9jayByZXNlcnZhdGlvbnMgZm9yIHRob3NlIHJlc291cmNlcyBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQogIDxsaT5ib29rYWJsZSBldmVudHMgY2FuIGhhdmUgYSBwcmljZSBhZGp1c3RtZW50IHRvIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSBwcmljZSBvZiB0aGUgc2VsZWN0ZWQgcmVzb3VyY2VzIG9uIHRoZSBzZWxlY3RlZCBkYXRlcy48L2xpPg0KICA8L3VsPg0KPC9saT4NCjxsaT5TdXBwb3J0cyBhdXRvbWF0aWMgcHJpY2UgY2FsY3VsYXRpb24gZm9yIHJlc2VydmF0aW9ucy48L2xpPg0KPGxpPlN1cHBvcnRzIGF1dG9tYXRpYyBjb25mbGljdCBjaGVja2luZyB0byBlbnN1cmUgdGhhdCBubyByZXNlcnZhdGlvbnMgY2FuIGJlIGNyZWF0ZWQgZm9yIHJlc2VydmVkIHJlc291cmNlcywgb3IgY2xvc2VkIHJlc291cmNlcyBmb3IgdGhlIHNlbGVjdGVkIGRhdGVzLjwvbGk+DQo8L3VsPg0KDQo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQo8cD5UaGUgZmlyc3QgdGhpbmcgeW91IHNob3VsZCBkbyBhZnRlciBpbnN0YWxsbmcgdGhlIG1vZHVsZSBpcyB0byBjcmVhdGUgc29tZSByb29tIGF0dHJpYnV0ZXMsIGFuZCBldmVudCB0eXBlcy4gICBZb3Ugc2hvdWxkIGFsc28gY2hlY2sgdGhlIHByZWZlcmVuY2VzIHRvIGVuc3VyZSB0aGF0IHRoZXkgc2VlbSB0byBiZSBzZXQgY29ycmVjdGx5LiAgWW91IGhhdmUgdGhlIG9wdGlvbiBvZiBjaGFuZ2luZyB0aGUgcmVzb3VyY2UgdHlwZSBpbiB0aGUgcHJlZmVyZW5jZSBmcm9tIHJvb20gdG8gc29tZSBvdGhlciByZXNvdXJjZSB0aGF0IHlvdSBhcmUgbWFuYWdpbmcuICBUaGlzIHdpbGwgY2hhbmdlIHRoZSB2YXJpb3VzIGxhYmVscyBpbiB0aGUgYWRtaW4gc2VjdGlvbiBhbmQgaW4gdGhlIGZyb250ZW5kIGRpc3BsYXkuPC9wPg0KPC9wPk5leHQgeW91IHNob3VsZCBjcmVhdGUgc29tZSByZXNvdXJjZXMgYW5kIGZpbGwgdGhlbSBpbiB3aXRoIGFzIG11Y2ggZGV0YWlsIGFzIHBvc3NpYmxlLiAgWW91IG1heSBhbHNvIHdhbnQgdG8gY3JlYXRlIHNvbWUgZXZlbnRzLCBvciB0byBtYXJrIG9mZiBkYXRlcyB3aGVuIHBhcnRpY3VsYXIgcmVzb3VyY2VzIGFyZSB1bmF2YWlsYWJsZS48L3A+DQo8cD5UbyBkaXNwbGF5IGEgcmVzb3VyY2Ugc3VtbWFyeSB2aWV3LCB5b3Ugc2hvdWxkIGFkZCB0aGUgdGFnIHtBdmFpbGFiaWxpdHl9IGludG8gYSBjb250ZW50IHBhZ2UuPC9wPg0KPHA+VG8gZGlzcGxheSBhIGNhbGVuZGFyIHZpZXcsIHlvdSBjYW4gYWRkIHRoZSB0YWcge0F2YWlsYWJpbGl0eSBhY3Rpb249Y2FsZW5kYXJ9IHRvIGEgY29udGVudCBwYWdlLiAgVGhpcyB3aWxsIHByb3ZpZGUgYSBzdWZmaWNpZW50IHN5c3RlbSBmb3IgYWxsb3dpbmcgdmlzaXRvcnMgdG8gY3JlYXRlIHJlc2VydmF0aW9ucywgZXRjLjwvcD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgY21zIGRldmVsb3BtZW50IGZvcmdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmciPmRldi5jbXNtYWRlc2ltcGxlLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwIGFsbCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yKHMpIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2hlbHBfYWN0aW9uJ10gPSAnVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIGRlc2lyZWQgZm9ybSBvciByZXBvcnQgdG8gZGlzcGxheS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz4NCjx1bD4NCjxsaT5hZGRyZXN2biAtIFRoZSBhZGQvZWRpdCByZXNlcnZhdGlvbiBmb3JtPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBmb3JtIGFsbG93cyBhIHZhbGlkLCBsb2dnZWQgaW4gZnJvbnRlbmQgdXNlciB0byBjcmVhdGUgYSByZXNlcnZhdGlvbiBpbiB0aGUgc3lzdGVtLjwvbGk+DQo8bGk+Y2FsZW5kYXIgLSBUaGUgY2FsZW5kYXIgdmlldzxici8+DQombmJzcDsmbmJzcDstIFRoaXMgdmlldyBkaXNwbGF5cyB0aGUgYXZhaWxhYmlsaXR5IG9mIHNlbGVjdGVkIHJlc291cmNlcyBmb3IgdGhlIGN1cnJlbnQgbW9udGguICBJdCBhbGxvd3MgcGFnaW5hdGluZyBiZXR3ZWVuIGRpZmZlcmVudCBtb250aHMsIHZpZXdpbmcgYSByZXNvdXJjZSBkZXRhaWwgdmlldywgYW5kIHN1cHBsaWVzIGEgbGluayB0aGF0IHdpbGwgYnJpbmcgdXAgdGhlIGFkZHJlc3ZuIGZvcm0gZm9yIHRoZSBzZWxlY3RlZCBkYXRlIGFuZCByZXNvdXJjZS48L2xpPg0KPGxpPmRlZmF1bHQgIC0gVGhlIHJlc291cmNlIHN1bW1hcnkgdmlldzxici8+DQombmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGRpc3BsYXlzIGEgc3VtbWFyeSByZXBvcnQgb2Ygc2VsZWN0ZWQgcmVzb3VyY2VzLjwvbGk+DQo8bGk+ZGV0YWlsICAgIC0gVGhlIHJlc291cmNlIGRldGFpbCB2aWV3PGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gZGlzcGxheXMgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIHJlc291cmNlLjwvbGk+DQo8bGk+bXlyZXNlcnZhdGlvbiAtIFRoZSBteXJlc2VydmF0aW9ucyByZXBvcnQuPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gd2lsbCBkaXNwbGF5IGEgcmVwb3J0IGFib3V0IGFsbCBvZiB0aGUgdXBjb21pbmcgKG9wdGlvbmFsbHkgcGFzdCBhcyB3ZWxsKSByZXNlcnZhdGlvbnMgZm9yIHRoaXMgcGFydGljdWxhciB1c2VyLjwvbGk+DQo8bGk+c2VuZGVtYWlsIC0gVGhlIHJlc2VydmF0aW9uIHNlbmRlbWFpbCBmb3JtPGJyLz4NCiZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gd2lsbCBkaXNwbGF5IGEgZm9ybSB0aGF0IGFsbG93cyBmcm9udGVuZCB1c2VycyB0byBzZW5kIGFuIGVtYWlsIG1lc3NhZ2UgdG8gc2l0ZSBhZG1pbmlzdHJhdG9ycyB3aXRoIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb3IgcXVlc3Rpb25zIGFib3V0IGEgc3BlY2lmaWMgcmVzZXJ2YXRpb24uPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9jYWxlbmRhcnRlbXBsYXRlJ10gPSAnRGVubmEgcGFyYW1ldGVyIGcmb3VtbDtyIGRldCBtJm91bWw7amxpZ3QgYXR0IGFuZ2UgZW4gaWNrZS1zdGFuZGFyZCBrYWxlbmRlcm1hbGwgYXR0IGFudiZhdW1sO25kYXMgbiZhdW1sO3Iga2FsZW5kZXJ2eW4gZ2VuZXJlcmFzLic7CiRsYW5nWydoZWxwX2NhdGVnb3J5J10gPSAnRGVubmEgcGFyYW1ldGVyIGcmb3VtbDtyIGRldCBtJm91bWw7amxpZ3QgYXR0IHNwZWNpZmllcmEgZW4ga29tbWFzZXBhcmVyYWQgbGlzdGEgYXYga2F0ZWdvcmluYW1uIGF0dCBhbnYmYXVtbDtuZGFzIGYmb3VtbDtyIGF0dCB2JmF1bWw7bGphIGRldCBkYXRhIHNvbSBza2EgdmlzYXMuIERlbm5hIHBhcmFtZXRlciBrYW4gaW50ZSBhbnYmYXVtbDtuZGFzIGkgc2FtYmFuZCBtZWQgcmVzdXJzcGFyYW1ldGVybi4nOwokbGFuZ1snaGVscF9jb25maXJtdGVtcGxhdGUnXSA9ICdEZW5uYSBwYXJhbWV0ZXIgZyZvdW1sO3IgZGV0IG0mb3VtbDtqbGlndCBhdHQgYW5nZSBlbiBpY2tlLXN0YW5kYXJkIG1hbGwgZiZvdW1sO3IgYm9rbmluZ3NiZWtyJmF1bWw7ZnRlbHNlciBhdHQgYW52JmF1bWw7bmRhcyBuJmF1bWw7ciBlbiBiZXMmb3VtbDtrYXJlIHNrYXBhciBlbiBib2tuaW5nIG9ubGluZS4nOwokbGFuZ1snaGVscF9kYXl0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGRheSB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGRheSB2aWV3IHRlbXBsYXRlIGZvciB1c2Ugd2hlbiBnZW5lcmF0aW5nIHRoZSBkaXNwbGF5JzsKJGxhbmdbJ2hlbHBfZGF5J10gPSAnQW52JmF1bWw7bmRzIG1lZCBmb3JtdWwmYXVtbDtyZXQgYWRkcmVzdm4gZiZvdW1sO3IgYXR0IGFuZ2UgZW4gc3RhbmRhcmRkYWcuJzsKJGxhbmdbJ2hlbHBfZGV0YWlscGFnZSddID0gJ0Ymb3VtbDtyIHZ5ZXJuYSBjYWxlbmRhciAoS2FsZW5kZXIpLCBkZWZhdWx0ICgmT3VtbDt2ZXJzaWt0KSwgb2NoIG15cmVzZXJ2YXRpb25zIChNaW5hIGJva25pbmdhcikga2FuIGRlbm5hIHBhcmFtZXRlciBhbnYmYXVtbDtuZGFzIGYmb3VtbDtyIGF0dCBhbmdlIGVuIGV4dHJhIHNpZGEgZiZvdW1sO3IgYXR0IHNlIGFudGluZ2VuIHJlc3Vyc2RldGFsamVyLCBib2tuaW5nc2Zvcm11bCZhdW1sO3JlbiBlbGxlciBmb3JtdWwmYXVtbDtyZXQgU2tpY2thIGVwb3N0IC4gT20gaW5nZXQgdiZhdW1sO3JkZSBhbmdlcyBhbnYmYXVtbDtuZHMgaW5zdCZhdW1sO2xsbmluZ2VuIGZyJmFyaW5nO24gYWRtaW5pc3RyYXQmb3VtbDtyc2tvbnNvbGVuLiBPbSBpbmdlbiBzJmFyaW5nO2RhbiBpbnN0JmF1bWw7bGxuaW5nIGZpbm5zIGFudiZhdW1sO25kcyBudXZhcmFuZGUgc2lkYS4nOwokbGFuZ1snaGVscF9kZXRhaWx0ZW1wbGF0ZSddID0gJ0Ymb3VtbDtyIHZ5ZXJuYSBjYWxlbmRhciAoS2FsZW5kZXIpLCBkZXRhaWwgKERldGFsamVyKSwgZGVmYXVsdCAoJk91bWw7dmVyc2lrdCksIG9jaCBteXJlc2VydmF0aW9ucyAoTWluYSBib2tuaW5nYXIpIGthbiBkZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhdHQgYW5nZSBlbiBpY2tlLXN0YW5kYXJkIGRldGFsam1hbGwgYXR0IGFudiZhdW1sO25kYXMgZiZvdW1sO3IgYXR0IHZpc2EgZW4gdnkuIERlbm5hIHBhcmFtZXRlciBoYXIgaW5nZW4gZWZmZWt0IG9tICZxdW90O3ByZXR0eSB1cmxzJnF1b3Q7ICZhdW1sO3Iga29uZmlndXJlcmF0Lic7CiRsYW5nWydoZWxwX2VtYWlsdGVtcGxhdGUnXSA9ICdGJm91bWw7ciBvcGVyYXRpb25lcm5hIGFkZHJlc3ZuIChCb2tuaW5nKSwgY2FsZW5kYXIgKEthbGVuZGVyKSBvY2ggbXlyZXNlcnZhdGlvbiAoTWluIEJva25pbmcpIGthbiBkZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhdHQgYW5nZSBlbiBpY2tlLXN0YW5kYXJkIG1hbGwgZiZvdW1sO3IgYXR0IHNraWNrYSBlcG9zdC4nOwokbGFuZ1snaGVscF9pbmxpbmUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB3ZXRoZXIgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBzaG91bGQgYmUgZGlzcGxheWVkIGlubGluZSAocmVwbGFjZSB0aGUgb3JpZ2luYWwgdGFnKSwgb3Igc2hvdWxkIHJlcGxhY2UgdGhlIGNvbnRlbnQgYXJlYSBvZiB0aGUgcGFnZS4gICBUaGlzIHBhcmFtZXRlciBoYXMgbm8gZWZmZWN0IGlmIHRoZSBzdW1tYXJ5cGFnZSBwYXJhbWV0ZXIgaXMgYWxzbyBzcGVjaWZpZWQnOwokbGFuZ1snaGVscF9tb250aCddID0gJ0FudiZhdW1sO25kcyBtZWQgZm9ybXVsJmF1bWw7cmV0IGFkZHJlc3ZuIChCb2tuaW5nKSBmJm91bWw7ciBhdHQgYW5nZSBlbiBzdGFuZGFyZG0mYXJpbmc7bmFkJzsKJGxhbmdbJ2hlbHBfbXlyZXN2bnRlbXBsYXRlJ10gPSAnRW5kYXN0IGYmb3VtbDtyIHZ5biBteXJlc2VydmF0aW9uIChNaW4gYm9rbmluZykuIERlbm5hIHBhcmFtZXRlciBnJm91bWw7ciBkZXQgbSZvdW1sO2psaWd0IGF0dCBhbmdlIGVuIGlja2Utc3RhbmRhcmQgbWFsbCBmJm91bWw7ciBkZW5uYSB2eS4nOwokbGFuZ1snaGVscF9wYWdlbGltaXQnXSA9ICdJIHZ5biBSZXN1cnMmb3VtbDt2ZXJzaWt0IGthbiBkZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhdHQgYW5nZSBhbnRhbGV0IHJlc3Vyc2VyIGF0dCB2aXNhIHBlciBzaWRhLic7CiRsYW5nWydoZWxwX3Jlc291cmNlcyddID0gJ0kgdnluIEthbGVuZGVyIGthbiBkZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhdHQgc3BlY2lmaWVyYSBlbiBrb21tYXNlcGFyZXJhZCBsaXN0YSBtZWQgcmVzdXJzbmFtbiBhdHQgdmlzYS4gRGVubmEgcGFyYW1ldGVyIGthbiBpbnRlIGFudiZhdW1sO25kYXMgdGlsbHNhbW1hbnMgbWVkIGthdGVnb3JpcGFyYW1ldGVybi4nOwokbGFuZ1snaGVscF9yZXN2bnRlbXBsYXRlJ10gPSAnRiZvdW1sO3Igb3BlcmF0aW9uZXJuYSBhZGRyZXN2biAoQm9rbmluZyksIGNhbGVuZGFyIChLYWxlbmRlcikgb2NoIG15cmVzZXJ2YXRpb24gKE1pbiBib2tuaW5nKSBrYW4gZGVubmEgcGFyYW1ldGVyIGFudiZhdW1sO25kYXMgZiZvdW1sO3IgYXR0IGFuZ2UgZW4gaWNrZS1zdGFuZGFyZCBtYWxsIGYmb3VtbDtyIGJva25pbmdzZm9ybXVsJmF1bWw7cmV0IHNvbSBhbnYmYXVtbDtuZHMgZiZvdW1sO3IgYXR0IHNrYXBhIGVsbGVyIG1vZGlmaWVyYSAgZW4gYm9rbmluZy4nOwokbGFuZ1snaGVscF9yZXN2X2lkJ10gPSAnSSBmb3JtdWwmYXVtbDtyZXQgYWRkcmVzdm4gKEJva25pbmcpIGthbiBkZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhbmdlIElEIGYmb3VtbDtyIGVuIGV4aXN0ZXJhbmRlIGJva25pbmcgYXR0IG1vZGlmaWVyYS4gRHUgYmVoJm91bWw7dmVyIGYmb3VtbDtybW9kbGlnZW4gaW50ZSBkaXJla3QgYW52JmF1bWw7bmRhIGRlbm5hIHBhcmFtZXRlci4nOwokbGFuZ1snaGVscF9yc3JjaWQnXSA9ICdEZW5uYSBwYXJhbWV0ZXIgYW52JmF1bWw7bmRzIGF2IGRldGFsam1hbGxlbiBmJm91bWw7ciBhdHQgdmlzYSBlbiBkZXRhbGplcmFkIHJhcHBvcnQgb20gZW4gc3BlY2lmaWsgcmVzdXJzLic7CiRsYW5nWydoZWxwX3NlYXJjaHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZS4nOwokbGFuZ1snaGVscF9zZW5kZW1haWx0ZW1wbGF0ZSddID0gJ0VuZGFzdCBmJm91bWw7ciB2eW4gbXlyZXNlcnZhdGlvbiAoTWluIGJva25pbmcpLiBEZW5uYSBwYXJhbWV0ZXIgZyZvdW1sO3IgZGV0IG0mb3VtbDtqbGlndCBhdHQgYW5nZSBlbiBpY2tlLXN0YW5kYXJkIG1hbGwgZiZvdW1sO3IgZm9ybXVsJmF1bWw7cmV0IHNlbmRlbWFpbCAoU2tpY2thIGVwb3N0KS4gRGVuIHBhcmFtZXRlciBoYXIgaW5nZW4gZWZmZWt0IG4mYXVtbDtyICZxdW90O3ByZXR0eSB1cmxzJnF1b3Q7ICZhdW1sO3IgYWt0aXZlcmFkLic7CiRsYW5nWydoZWxwX3Nob3dhbGwnXSA9ICdFbmRhc3QgZiZvdW1sO3IgdnluIG15cmVzZXJ2YXRpb25zIChNaW5hIGJva25pbmdhcikuIERlbm5hIHBhcmFtZXRlciBnJm91bWw7ciBkZXQgbSZvdW1sO2psaWd0IGF0dCB2aXNhIGFsbGEgYm9rbmluZ2FyLCAmYXVtbDt2ZW4gYm9rbmluZ2FyIGkgZGV0IGYmb3VtbDtyZmx1dG5hLic7CiRsYW5nWydoZWxwX3NvcnRieSddID0gJyANCkFwcGxpY2FibGUgdG8gdGhlIG15cmVzZXJ2YXRpb25zIHZpZXcgYW5kIHRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBhbHRlcmluZyB0aGUgc29ydCBvcmRlciBvZiBkaXNwbGF5ZWQgaXRlbXMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOjxici8+DQpSZXNvdXJjZSBzdW1tYXJ5IHZpZXc6PGJyLz4NCjx1bD4NCiAgPGxpPm5hbWU8L2xpPg0KICA8bGk+cHJpY2U8L2xpPg0KPC91bD4NCm15ZXNlcnZhdGlvbnMgdmlldzo8YnIvPg0KPHVsPg0KICA8bGk+c3RhcnRfZGF0ZTwvbGk+DQogIDxsaT5lbmRfZGF0ZTwvbGk+DQogIDxsaT5wcmljZTwvbGk+DQogIDxsaT5jcmVhdGVfZGF0ZTwvbGk+DQogIDxsaT5tb2RpZmllZF9kYXRlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9zb3J0b3JkZXInXSA9ICdBcHBsaWNhYmxlIHRvIHRoZSByZXNvdXJjZSBzdW1tYXJ5IHZpZXcgYW5kIHRoZSBteXJlc2VydmF0aW9ucyB2aWV3IHRoaXMgcGFyYW1ldGVyIGFsbG93cyBhbHRlcmluZyB0aGUgc29ydCBvcmRlciBvZiB0aGUgc2VsZWN0ZWQgZGF0YS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6PGJyLz48dWw+PGxpPmFzYyAtIGFzY2VuZGluZzwvbGk+PGxpPmRlc2MgLSBkZXNjZW5kaW5nPC9saT48L3VsPic7CiRsYW5nWydoZWxwX3N1bW1hcnlwYWdlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGlkIG9yIGFsaWFzIG9mIHRoZSBwYWdlIHRoYXQgdGhlIHJlc3VsdGluZyBzdW1tYXJ5IHZpZXcgc2hvdWxkIGJlIG9uLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc3BlY2lmaWVkLCBpbmxpbmUgaXMgc2V0IHRvIGZhbHNlLic7CiRsYW5nWydoZWxwX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIHZpZXcsIHRoaXMgcGFyYW10ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzdW1tYXJ5IHRlbXBsYXRlIHdpbGwgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXknOwokbGFuZ1snaGVscF95ZWFyJ10gPSAnQW52JmF1bWw7bmRzIG1lZCBmb3JtdWwmYXVtbDtyZXQgYWRkcmVzdm4gZiZvdW1sO3IgYXR0IGFuZ2UgZXR0IHN0YW5kYXJkJmFyaW5nO3InOwokbGFuZ1snaGlzdG9yaWNhbF9jb21wYXJpc29uJ10gPSAnSGlzdG9yaXNrIGomYXVtbDttZiZvdW1sO3JlbHNlJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2UnXSA9ICdCaWxkJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0JpbGQnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfY29uZmlnJ10gPSAnQmlsZGhhbnRlcmluZ3Nrb25maWd1cmF0aW9uJzsKJGxhbmdbJ2luZm9fYWRkX3VzZXJfYWNjb3VudCddID0gJ0Rpc3BsYXkgYSBmb3JtIGZyb20gdGhlIHVzZXIgbWFuYWdlbWVudCBpbnRlcmZhY2UgdG8gYWxsb3cgYWRkaW5nIGEgbmV3IHVzZXIgYWNjb3VudCc7CiRsYW5nWydpbmZvX2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuJzsKJGxhbmdbJ2luZm9fYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGFkdmFuY2VkIHNlYXJjaCBmb3JtLCBkaXNwbGF5ZWQgd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbi4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLic7CiRsYW5nWydpbmZvX2FkdmFuY2VkX3NlYXJjaF9mb3JtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBhZHZhbmNlZCBzZWFyY2ggZm9ybSB0ZW1wbGF0ZXMsIGZvciB1c2Ugd2l0aCB0aGUgJnF1b3Q7c2VhcmNoJnF1b3Q7IGFjdGlvbic7CiRsYW5nWydpbmZvX2FsbG93X25vX3ByaWNlcyddID0gJ1VzZWQgZm9yIGJvb2tpbmcgcmVzb3VyY2VzIHdpdGggbm8gcHJpY2VzIGF0dGFjaGVkJzsKJGxhbmdbJ2luZm9fYnVsa2Rpc2NvdW50X2FkanVzdG1lbnRfdmFsdWVzJ10gPSAnQWRqdXN0bWVudCB2YWx1ZXMgY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybSBvZiBbc3ltYm9sXSMjLiMjLiAgU3ltYm9sIGNhbiBiZSBvbmUgb2YgKywtLCBvciAqLiAgaS5lOiAqMC44NSBvciArMTUuMjUuICBJZiBubyBzeW1ib2wgaXMgc3BlY2lmaWVkLCArIGlzIGFzc3VtZWQuICBJZiBzcGVjaWZ5aW5nIGEgbnVtYmVyIG9mIGZyZWUgZGF5cywgYW4gaW50ZWdlciB2YWx1ZSBpcyBleHBlY3RlZC4nOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNhbGVuZGFyIHZpZXdzLiAgWW91IGNhbiB1c2UgYW55IHNtYXJ0eSBsb2dpYyBvciB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBvciB0aGUgb25lcyBzcGVjaWZpY2FsbHkgbWFkZSBhdmFpbGFibGUgZm9yIHRoaXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19jYWxlbmRhcl90ZW1wbGF0ZXNfdGFiJ10gPSAnRGVubmEgZmxpayBpbm5laCZhcmluZztsbGVyIGVuIGxpc3RhIG1lZCB0aWxsZyZhdW1sO25nbGlnYSBrYWxlbmRlcm1hbGxhciBhdHQgYW52JmF1bWw7bmRhIGkga2FsZW5kZXJ5bi4nOwokbGFuZ1snaW5mb19jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIGRlZmluZXMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGVtYWlsIHRoYXQgd2lsbCBiZSBzZW50IHRvIHRoZSB1c2VyIHdoZW4gdXNpbmcgdGhpcyB0ZW1wbGF0ZS4gIFlvdSBjYW4gdXNlIGFueSBhbmQgYWxsIHNtYXJ0eSBsb2dpYyBhbmQgdGFncyBpbiB0aGlzIHRlbXBsYXRlLiAgVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIHNwZWNpYWwgdG8gdGhpcyB0ZW1wbGF0ZTogeyRzdWJqZWN0fSAtIFRoZSBzdWJqZWN0IG9mIHRoZSBlbWFpbCwgeyRib2R5fSAtIFRoZSBib2R5IG9mIHRoZSBlbWFpbCc7CiRsYW5nWydpbmZvX2N1c3RlbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgY3VzdG9tZXIgZW1haWwgdGVtcGxhdGVzIGZvciB1c2Ugd2hlbiBzZW5kaW5nIG1lc3NhZ2VzIHRvIGN1c3RvbWVycyB3aG8gaGF2ZSBib29rZWQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCBwcm9wZXJ0aWVzIHNob3VsZCBiZSBsaXN0ZWQgaW4gdXNlciBsaXN0cy48YnIvPlVzZSB7JHByb3BlcnR5bmFtZX0gdG8gaWRlbnRpZnkgYSBzaW5nbGUgcHJvcGVydHkuPGJyLz5SZWZlciB0byB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgZm9yIHRoZSBsaXN0IG9mIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIGEgcGFydGljdWxhciBncm91cC48YnIvPllvdSBjYW4gYWxzbyB1c2UgdGhlIHskdXNlcm5hbWV9IHRhZyB0byBpbmRpY2F0ZSB0aGUgdXNlcnMgbG9naW4gbmFtZS4nOwokbGFuZ1snaW5mb19kYXlfdGVtcGxhdGUnXSA9ICdTcGVjaWZ5IHRoZSBmb3JtYXQgdGhhdCByZXNvdXJjZXMgYW5kIGV2ZW50cyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGRheSB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fZGF5X3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBkYXkgdmlldyB0ZW1wbGF0ZXMgZm9yIHVzZSB3aGVuIGNsaWNraW5nIG9uIGFuIGluZGl2aWR1YWwgZGF5IGZyb20gdGhlIGRlZmF1bHQgY2FsZW5kYXIgZGlzcGxheSc7CiRsYW5nWydpbmZvX2RlcG9zaXQnXSA9ICdUaGUgaGlnaGVzdCBhbW91bnQgY2FsY3VsYXRlZCB3aWxsIGJlIHVzZWQgYXMgdGhlIG1pbmltdW0gZGVwb3NpdCBmb3IgZWFjaCByZXNlcnZhdGlvbi4gIERlcG9zaXQgYW1vdW50cyB3aWxsIG5ldmVyIGV4Y2VlZCB0aGUgdG90YWwgcmVzZXJ2YXRpb24gYW1vdW50JzsKJGxhbmdbJ2luZm9fZGV0YWlsX3RlbXBsYXRlc190YWInXSA9ICdEZW5uYSBmbGlrIGlubmVoJmFyaW5nO2xsZXIgZW4gbGlzdGEgbWVkIHRpbGxnJmF1bWw7bmdsaWdhIG1hbGxhciBmJm91bWw7ciByZXN1cnNkZXRhbGplci4NCkRlc3NhIG1hbGxhciBhbnYmYXVtbDtuZHMgZiZvdW1sO3IgZGV0YWxqZXJhZGUgdnllciBhdiBkaXZlcnNlIHJlc3Vyc2VyLic7CiRsYW5nWydpbmZvX2RldGFpbF90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIGRldGFpbCB2aWV3cy4gIFlvdSBjYW4gdXNlIGFueSBzbWFydHkgbG9naWMgb3IgdmFyaWFibGVzIHRoYXQgaGF2ZSBiZWVuIGRlZmluZWQgcHJldmlvdXNseSwgb3IgdGhlIG9uZXMgc3BlY2lmaWNhbGx5IG1hZGUgYXZhaWxhYmxlIGZvciB0aGlzIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fZW1haWxfc2VudCddID0gJ0RpdHQgbWVkZGVsYW5kZSBoYXIgc2tpY2thdHMuIEVuIG5vdGVyaW5nIG9tIGRldHRhIG1lZGRlbGFuZGUgaGFyIG9ja3MmYXJpbmc7IGJpZm9nYXRzIHRyYW5zYWt0aW9uc2RldGFsamVybmEgZiZvdW1sO3IgZnJhbXRpZGEgcmVmZXJlbnMuICc7CiRsYW5nWydpbmZvX215cmVzZXJ2YXRpb25zX3RlbXBsYXRlJ10gPSAnU3BlY2lmaWVyYSBmb3JtYXRldCBmJm91bWw7ciByYXBwb3J0ZW4gTXlSZXNlcnZhdGlvbnMnOwokbGFuZ1snaW5mb19teXJlc2VydmF0aW9uc190ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgbXlyZXNlcnZhdGlvbnMgdmlldyB0ZW1wbGF0ZXMgZm9yIHVzZSB3aGVuIGFjdGlvbj1teXJlc2VydmF0aW9ucyc7CiRsYW5nWydpbmZvX292ZXJjYXBfYW1vdW50J10gPSAnRGFpbHkgYW1vdW50IHRvIGFkZCAocGVyIHVuaXQpIHRvIHJlc2VydmF0aW9uIHByaWNlLCBmb3IgZWFjaCB1bml0IG92ZXIgdGhlIHN0YXRlZCBjYXBhY2l0eSAoYXBwbGljYWJsZSBvbmx5IGlmIHRoZSBjYXBhY2l0eSBpcyBhIHZhbGlkIHZhbHVlKS4nOwokbGFuZ1snaW5mb19wYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10gPSAnQW5nZSBlbiBzaWRhIGF0dCBhdXRvbWF0aXNrdCBvbWRpcmlnZXJhIHRpbGwgb20gZXR0IGYmb3VtbDtycyZvdW1sO2sgYXR0IG4mYXJpbmc7IGJva25pbmdzZm9ybXVsJmF1bWw7cmV0IGcmb3VtbDtycyB1dGFuIGF0dCB2YXJhIGlubG9nZ2FkLic7CiRsYW5nWydpbmZvX3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnXSA9ICdTcGVjaWZ5IHRoZSBsaXN0IG9mIHVzZXJzIChvciBncm91cHMpIHRvIHJlY2VpdmUgYSBjb3B5IG9mIHRoZSByZXNlcnZhdGlvbiBjb25maXJtYXRpb24gZW1haWwuICBUaGUgZW1haWwgYWRkcmVzcyBwcm9wZXJ0eSBmb3IgZWFjaCBzZWxlY3RlZCB1c2VyIG11c3QgYmUgdmFsaWQuJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9wYWdlJ10gPSAnU3BlY2lmeSB0aGUgcGFnZSB0byByZWRpcmVjdCB0byBhdXRvbWF0aWNhbGx5IGFmdGVyIGEgdmlzaXRvciBoYXMgY3JlYXRlZCBhIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fcmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJ10gPSAnU3BlY2lmeSB0aGUgcGFnZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgZWRpdCByZXNlcnZhdGlvbiB1cmxzLCBhbmQgc2VuZCBtZXNzYWdlIHVybHMnOwokbGFuZ1snaW5mb19yZXNvdXJjZV90eXBlJ10gPSAnU3BlY2lmeSB0aGUgdHlwZSBvZiByZXNvdXJjZSB5b3Ugd2lsbCBiZSBtYW5hZ2luZy4gIGkuZTogJnF1b3Q7cm9vbSZxdW90OyBvciAmcXVvdDtjYXImcXVvdDsgZXRjLiAgVGhpcyB3aWxsIGNoYW5nZSB0aGUgbGFiZWxsaW5nIG9mIHRoZSBlbnRpcmUgbW9kdWxlLic7CiRsYW5nWydpbmZvX3Jlc3ZuX3RlbXBsYXRlJ10gPSAnU3BlY2lmZXJhIGZvcm1hdGV0IGYmb3VtbDtyIGJva25pbmdzZm9ybXVsJmF1bWw7cmV0Lic7CiRsYW5nWydpbmZvX3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdBbmdlIGZvcm0gZiZvdW1sO3IgYm9rbmluZ2VucyBiZWtyJmF1bWw7ZnRlbHNlIHZpYSBlLXBvc3QgbWVkZGVsYW5kZS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlJ10gPSAnQW5nZSB2aWxrZW4gZm9ybSBib2tuaW5nc2Jla3ImYXVtbDtmdGVsc2UgcmFwcG9ydGVuIHNrYSBoYS4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX2VtYWlsX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjb25maXJtYXRpb24gZW1haWwgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZW1haWwgbWVzc2FnZSB0aGF0IGlzIHNlbnQgdG8gdGhlIGN1c3RvbWVyIGFmdGVyIGEgc2l0ZSB2aXNpdG9yIGNyZWF0ZXMgYSByZXNlcnZhdGlvbi4nOwokbGFuZ1snaW5mb19yZXN2bl9jb25maXJtX3RlbXBsYXRlc190YWInXSA9ICdUaGlzIHRhYiBjb250YWlucyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBjb25maXJtYXRpb24gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgbWVzc2FnZSBhbmQgZGF0YSB0aGF0IGlzIGRpc3BsYXllZCBhZnRlciBhIHNpdGUgdmlzaXRvciBjcmVhdGVzIG9yIGVkaXRzIGEgcmVzZXJ2YXRpb24uJzsKJGxhbmdbJ2luZm9fcmVzdm5fdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc2VydmF0aW9uIGZvcm0gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZm9ybSBkaXNwbGF5ZWQgd2hlbiBhZGRpbmcgb3IgZWRpdGluZyBhIHJlc2VydmF0aW9uLic7CiRsYW5nWydpbmZvX3NlbmRlbWFpbF90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgY29udHJvbHMgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHNlbmRlbWFpbCBmb3JtLCB1c2VkIHdoZW4gYSBzaXRlIHZpc2l0b3Igd2FudHMgdG8gc2VuZCBhIG1lc3NhZ2UgdG8gYnVzaW5lc3Mgb3duZXJzIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvciBxdWVzdGlvbnMgYWJvdXQgYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3NlbmRlbWFpbF90ZW1wbGF0ZXNfdGFiJ10gPSAnVGhpcyB0YWIgY29udGFpbnMgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgc2VuZGVtYWlsIGZvcm0gdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciB0aGUgZm9ybSBkaXNwbGF5ZWQgd2hlbiBzZW5kaW5nIGFuIGVtYWlsIHJlbGF0ZWQgdG8gYSByZXNlcnZhdGlvbic7CiRsYW5nWydpbmZvX3NlbmRfbWVzc2FnZSddID0gJ1VzZSB0aGlzIGZvcm0gdG8gcHJvdmlkZSBtb3JlIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB5b3VyIHJlc2VydmF0aW9uIG9yIHRvIGFzayBhbnkgcXVlc3Rpb25zIHJlZ2FyZGluZyB5b3VyIHJlc2VydmF0aW9uJzsKJGxhbmdbJ2luZm9fc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIGZvcm1hdCB0aGF0IHJlc291cmNlcyBzaG91bGQgYmUgZGlzcGxheWVkIGluIHN1bW1hcnkgdmlld3MuICBZb3UgY2FuIHVzZSBhbnkgc21hcnR5IGxvZ2ljIG9yIHZhcmlhYmxlcyB0aGF0IGhhdmUgYmVlbiBkZWZpbmVkIHByZXZpb3VzbHksIG9yIHRoZSBvbmVzIHNwZWNpZmljYWxseSBtYWRlIGF2YWlsYWJsZSBmb3IgdGhpcyB0ZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N1bW1hcnlfdGVtcGxhdGVzX3RhYiddID0gJ1RoaXMgdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlc291cmNlIHN1bW1hcnkgdGVtcGxhdGVzLiAgVGhlc2UgdGVtcGxhdGVzIGFyZSB1c2VkIGZvciBzdW1tYXJ5IHZpZXdzIG9mIHRoZSB2YXJpb3VzIHJlc291cmNlcyA8ZW0+KHRoaXMgaXMgdGhlIGRlZmF1bHQgdmlldyk8L2VtPic7CiRsYW5nWydpbmZvX3N5c2RmbHRfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBBZHZhbmNlZCBTZWFyY2ggRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfY2FsZW5kYXJfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBDYWxlbmRhciBWaWV3IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9jdXN0ZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBDdXN0b21lciBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfZGF5X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgRGF5IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X2RldGFpbF90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc291cmNlIERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfbXlyZXN2X3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgJnF1b3Q7TXkgUmVzZXJ2YXRpb25zJnF1b3Q7IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX3RlbXBsYXRlJ10gPSAnU3lzdGVtIERlZmF1bHQgUmVzZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3N5c2RmbHRfcmVzdm5fY29uZmlybV90ZW1wbGF0ZSddID0gJ1N5c3RlbSBEZWZhdWx0IFJlc2VydmF0aW9uIENvbmZpcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3Jlc3ZuX2NvbmZpcm1fZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNlcnZhdGlvbiBDb25maXJtIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9zZW5kZW1haWxfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBTZW5kIEVtYWlsIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snaW5mb19zeXNkZmx0X3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTeXN0ZW0gRGVmYXVsdCBSZXNvdXJjZSBTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF90ZW1wbGF0ZSddID0gJ0FsdGVyaW5nIHRoaXMgdGVtcGxhdGUgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24gYW55IG91dHB1dC4gIFRoaXMgZm9ybSBjb250cm9scyB0aGUgdmFsdWUgb2YgdGhlIHRlbXBsYXRlIHRoYXQgaXMgY3JlYXRlZCB3aGVuIHlvdSBjbGljayAmcXVvdDtOZXcgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4nOwokbGFuZ1snaW5mb192aWV3X3VzZXInXSA9ICdEaXNwbGF5IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgdXNlcic7CiRsYW5nWydpbml0aWFsX3Jlc2VydmF0aW9uX25vdGVzJ10gPSAnSW5pdGlhbGEgYm9rbmluZ3Nub3RlcmluZ2FyJzsKJGxhbmdbJ2luX3Byb2dyZXNzJ10gPSAnUCZhcmluZztnJmFyaW5nO2VuZGUnOwokbGFuZ1sna2V5d29yZHMnXSA9ICdOeWNrZWxvcmQnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnU2VuYXN0ICZhdW1sO25kcmFkJzsKJGxhbmdbJ2xlZ2VuZCddID0gJ1RlY2tlbmYmb3VtbDtya2xhcmluZyc7CiRsYW5nWydsYmxfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGVzJ10gPSAnQWR2YW5jZWQgU2VhcmNoIEZvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9iYWNrJ10gPSAnVGlsbGJha2EnOwokbGFuZ1snbGJsX2NhbGVuZGFyJ10gPSAnS2FsZW5kZXInOwokbGFuZ1snbGJsX2NhbGVuZGFyX3ZpZXdfdGVtcGxhdGVzJ10gPSAnTWFsbGFyIGYmb3VtbDtyIGthbGVuZGVydnknOwokbGFuZ1snbGJsX2NhdGVnb3JpZXMnXSA9ICdBdHRyaWJ1dCc7CiRsYW5nWydsYmxfY3VzdG9tZXJfZW1haWxfdGVtcGxhdGVzJ10gPSAnTWFsbGFyIGYmb3VtbDtyIGVwb3N0IHRpbGwga3VuZGVyJzsKJGxhbmdbJ2xibF9jdXN0b21fZmllbGRzJ10gPSAnRWdlbmRlZmluaWVyYWRlIGYmYXVtbDtsdCc7CiRsYW5nWydsYmxfZGF5X3ZpZXdfdGVtcGxhdGVzJ10gPSAnRGF5IFZpZXcgVGVtcGxhdGVzJzsKJGxhbmdbJ2xibF9kZWZhdWx0X3RlbXBsYXRlcyddID0gJ1N0YW5kYXJkbWFsbGFyJzsKJGxhbmdbJ2xibF9kZXRhaWxfdGVtcGxhdGVzJ10gPSAnRGV0YWxqbWFsbGFyJzsKJGxhbmdbJ2xibF9ldmVudHMnXSA9ICdIJmF1bWw7bmRlbHNlJzsKJGxhbmdbJ2xibF9ldmVudF90eXBlcyddID0gJ0gmYXVtbDtuZGVsc2V0eXBlcic7CiRsYW5nWydsYmxfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGVzJ10gPSAnTWluYSBib2tuaW5nc21hbGxhcic7CiRsYW5nWydsYmxfcHJlZmVyZW5jZXMnXSA9ICdJbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9ucyddID0gJ0Jva25pbmdhcic7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF90ZW1wbGF0ZXMnXSA9ICdNYWxsYXIgZiZvdW1sO3IgYm9rbmluZ3NiZWtyJmF1bWw7ZnRlbHNlIChlcG9zdCknOwokbGFuZ1snbGJsX3Jlc2VydmF0aW9uX2NvbmZpcm1fdGVtcGxhdGVzJ10gPSAnTWFsbGFyIGYmb3VtbDtyIGJva25pbmdzYmVrciZhdW1sO2Z0ZWxzZSc7CiRsYW5nWydsYmxfcmVzZXJ2YXRpb25fZm9ybV90ZW1wbGF0ZXMnXSA9ICdNYWxsYXIgZiZvdW1sO3IgYm9rbmluZ3Nmb3JtdWwmYXVtbDtyJzsKJGxhbmdbJ2xibF9yZXNvdXJjZXMnXSA9ICdSZXN1cnNlcic7CiRsYW5nWydsYmxfc2VuZGVtYWlsX3RlbXBsYXRlcyddID0gJ01hbGxhciBmJm91bWw7ciBlcG9zdC1mb3JtdWwmYXVtbDtyJzsKJGxhbmdbJ2xibF9zZXR0aW5ncyddID0gJ0hhbnRlcmEgaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ2xibF9zdW1tYXJ5X3RlbXBsYXRlcyddID0gJyZPdW1sO3ZlcnNpa3RzbWFsbGFyJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdIYW50ZXJhIG1hbGxhcic7CiRsYW5nWydtYW5hZ2VfY3VzdG9tZXJfY29udGFjdF9yZXN2biddID0gJ0hhbnRlcmEga3VuZGtvbnRha3QgZiZvdW1sO3IgYm9rbmluZyc7CiRsYW5nWydtYW5hZ2VyJ10gPSAnTWFuYWdlcic7CiRsYW5nWydtYXhfbGVuZ3RoJ10gPSAnTWF4bCZhdW1sO25nZCc7CiRsYW5nWydtZXNzYWdlX3RlbXBsYXRlJ10gPSAnTWVkZGVsYW5kZW1hbGwnOwokbGFuZ1snbWVzc2FnZV90ZXh0J10gPSAnTWVkZGVsYW5kZXRleHQnOwokbGFuZ1snbWluaW11bV9kZXBvc2l0X3JlcXVpcmVkJ10gPSAnTWluaW11bSBEZXBvc2l0IFJlcXVpcmVkJzsKJGxhbmdbJ21vZGlmaWVkX2RhdGUnXSA9ICcmQXVtbDtuZHJhZCc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdFbiByZXN1cnMgb2NoIHRpbGxnJmF1bWw7bmdsaWdoZXRzbWFuYWdlciBmJm91bWw7ciBwbGFuZXJpbmcgb2NoIGJva25pbmcgYXYgcmVzdXJzZXIgcCZhcmluZzsgZGFnbGlnIGJhc2lzJzsKJGxhbmdbJ21vbmRheSddID0gJ00mYXJpbmc7bmRhZyc7CiRsYW5nWydtb250aCddID0gJ00mYXJpbmc7bmFkJzsKJGxhbmdbJ21vbnRobGlzdF9icmllZiddID0gJ0phbi9GZWIvTWFyL0Fwci9NYWovSnVuL0p1bC9BdWcvU2VwL09rdC9Ob3YvRGVjJzsKJGxhbmdbJ21vcmUnXSA9ICdNZXInOwokbGFuZ1snbmFtZSddID0gJ05hbW4nOwokbGFuZ1snbmV4dCddID0gJ04mYXVtbDtzdGEnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vJ10gPSAnTmVqJzsKJGxhbmdbJ25vbmJvb2thYmxlX2Jsb2NrcyddID0gJ1N0JmF1bWw7bmdkYSBibG9jayc7CiRsYW5nWydub25lJ10gPSAnSW5nZW4nOwokbGFuZ1snbm90ZXMnXSA9ICdOb3RlcmluZ2FyJzsKJGxhbmdbJ25vdF9hcHBsaWNhYmxlJ10gPSAnTi9BJzsKJGxhbmdbJ25vdF9jYWxjdWxhdGVkJ10gPSAnTm90IGNhbGN1bGF0ZWQnOwokbGFuZ1snbnVtX3Blb3BsZSddID0gJ0FudGFsIHBlcnNvbmVyJzsKJGxhbmdbJ29jY3VycyddID0gJ09jY3Vycyc7CiRsYW5nWydvZiddID0gJ0F2JzsKJGxhbmdbJ29uZV9ob3VyJ10gPSAnRW4gdGltbWUnOwokbGFuZ1snb3B0aW9ucyddID0gJ1RpbGx2YWwnOwokbGFuZ1snb3JkZXInXSA9ICdPcmRlcic7CiRsYW5nWydvdmVyY2FwX2Ftb3VudCddID0gJ092ZXJjYXBhY2l0eSBQcmljZSBBZGp1c3RtZW50JzsKJGxhbmdbJ3BhZ2UnXSA9ICdTaWRhJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdBbnRhbCBwZXIgc2lkYSc7CiRsYW5nWydwYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJ10gPSAnU2lkYSBhdHQgb21kaXJpZ2VyYSB0aWxsIG4mYXVtbDtyIGludGUgaW5sb2dnYWQnOwokbGFuZ1sncGFydDEnXSA9ICdEZWwgMSc7CiRsYW5nWydwYXJ0aWFsbHlfcmVzZXJ2ZWQnXSA9ICdQYXJ0aWFsbHkgUmVzZXJ2ZWQnOwokbGFuZ1sncGFydGlhbGx5X3Jlc2VydmVkX2xibCddID0gJyVzIG9mICVzIHNsb3RzIHJlc2VydmVkJzsKJGxhbmdbJ3Bhc3RfbWVzc2FnZXMnXSA9ICdUaWRpZ2FyZSBtZWRkZWxhbmRlbic7CiRsYW5nWydwZW5kaW5nJ10gPSAnSSB2JmF1bWw7bnRhbic7CiRsYW5nWydwZXJjZW50YWdlX2RlcG9zaXRfcmVxdWlyZWQnXSA9ICdNaW5pbWltdW0gUGVyY2VudGFnZSBvZiB0b3RhbCBvcmRlciByZXF1aXJlZCBmb3IgYSBkZXBvc2l0IDxlbT4oZXhwcmVzc2VkIGluIGRlY2ltYWwgZm9ybWF0KTwvZW0+JzsKJGxhbmdbJ3BlcmNlbnRfYm9va2VkJ10gPSAnUHJvY2VudCBib2thdCc7CiRsYW5nWydQTSddID0gJ1BNJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIEF2YWlsYWJpbGl0eSBtb2R1bGUgaGFzIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuICBQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIGFwcHJvcHJpYXRlIGdyb3VwcyBoYXZlIHRoZSBhcHByb3ByaWF0ZSBwZXJtaXNzaW9ucyB0byBtYW5hZ2UgdGhlIHZhcmlvdXMgYXNwZWN0cyBvZiB0aGlzIG1vZHVsZSc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIEF2YWlsYWJpbGl0eSBtb2R1bGUsIGFuZCBhbGwgcmVsYXRlZCBkYXRhIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc3lzdGVtLiAgWW91IGFyZSBub3cgZnJlZSB0byBkZWxldGUgdGhlIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1vZHVsZSc7CiRsYW5nWydwcmV2J10gPSAnRiZvdW1sO3JlZyZhcmluZztlbmRlJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcmljZSddID0gJ1ByaXMnOwokbGFuZ1sncHJpY2VzJ10gPSAnUHJpc2VyJzsKJGxhbmdbJ3ByaWNlX2FkanVzdCddID0gJ0p1c3RlcmEgcHJpc2V0IHAmYXJpbmc7ICVzIG1lZCBkZXR0YSBiZWxvcHAuPGJyLz48ZW0+KGFudiZhdW1sO25kIGV0dCBmb3JtYXQgYXYgdHlwICowLjg1IGVsbGVyIC0xMyBlbGxlciArMjUpPC9lbT4nOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3B1YmxpYyddID0gJ1B1Ymxpayc7CiRsYW5nWydxdWFydGVyX2hvdXInXSA9ICdRdWFydGVyIEhvdXInOwokbGFuZ1sncmVzZXJ2ZWQnXSA9ICdCb2thZCc7CiRsYW5nWydyZXNlcnZhdGlvbiddID0gJ0Jva25pbmcnOwokbGFuZ1sncmVzZXJ2YXRpb25fYmFja2dyb3VuZF9jb2xvciddID0gJ0Jha2dydW5kc2YmYXVtbDtyZyBmJm91bWw7ciBib2tuaW5nJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2JhY2tncm91bmRfY29sb3InXSA9ICdSZXNlcnZhdGlvbiBDb25mbGljdCBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc2V0dGluZ3MnXSA9ICdSZXNlcnZhdGlvbiBEZXBvc2l0IFNldHRpbmdzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BlbmRpbmdfYmFja2dyb3VuZF9jb2xvciddID0gJ1BlbmRpbmcgUmVzZXJ2YXRpb24gQmFja2dyb3VuZCBDb2xvcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maWcnXSA9ICdCb2tuaW5nc2luc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2F0dGFjaG1lbnQnXSA9ICdGaWwgYXR0IGJpZm9nYSBhbGxhIGJva25pbmdzYmVrciZhdW1sO2Z0ZWxzZXIgKGVwb3N0KSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2NjJ10gPSAnU2tpY2thIGtvcGlhIHRpbGwgZGVzc2EgYW52JmF1bWw7bmRhcmUgdmlkIGJva25pbmdzYmVrciZhdW1sO2Z0ZWxzZSc7CiRsYW5nWydyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWcnXSA9ICdTa2lja2EgZXBvc3QgdGlsbCBrdW5kZW4gbiZhdW1sO3IgZW4gYm9rbmluZyBza2FwYXRzJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfc3ViamVjdCddID0gJyZBdW1sO21uZXNyYWQgZiZvdW1sO3IgYm9rbmluZ3NiZWtyJmF1bWw7ZnRlbHNlciAoZXBvc3QpJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZpcm1fcGFnZSddID0gJ1NpZGEgZiZvdW1sO3IgYm9rbmluZ3NiZWtyJmF1bWw7ZnRlbHNlJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0J10gPSAnQWxsYSBkaW5hIHZhbGRhICVzICZhdW1sO3IgaW50ZSB0aWxsZyZhdW1sO25nbGlnYSBkZSB2YWxkYSBkYXR1bWVuJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NyZWF0ZWQnXSA9ICdCb2tuaW5nIHNrYXBhZCc7CiRsYW5nWydyZXNlcnZhdGlvbl9kZWZhdWx0X3BhZ2UnXSA9ICdCb2tuaW5nYXJuYXMgU3RhbmRhcmRzaWRhJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2RldGFpbHMnXSA9ICdCb2tuaW5nc2RldGFsamVyJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2NvbmZsaWN0X2ZvcmVncm91bmRfY29sb3InXSA9ICdSZXNlcnZhdGlvbiBDb25mbGljdCBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX2ZvcmVncm91bmRfY29sb3InXSA9ICdGJm91bWw7cmdydW5kc2YmYXVtbDtyZyBmJm91bWw7ciBib2tuaW5nJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfZm9yZWdyb3VuZF9jb2xvciddID0gJ1BhcnRpYWwgQm9va2luZyBGb3JlZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRpYWxfYmFja2dyb3VuZF9jb2xvciddID0gJ1BhcnRpYWwgQm9va2luZyBCYWNrZ3JvdW5kIENvbG9yJzsKJGxhbmdbJ3Jlc2VydmF0aW9uX3BhcnRzJ10gPSAnUmVzZXJ2YXRpb24gQ29tcG9uZW50cyc7CiRsYW5nWydyZXNlcnZhdGlvbl9wZW5kaW5nX2ZvcmVncm91bmRfY29sb3InXSA9ICdQZW5kaW5nIFJlc2VydmF0aW9uIEZvcmVncm91bmQgQ29sb3InOwokbGFuZ1sncmVzZXJ2YXRpb25fbnVtJ10gPSAnQm9rbmluZzogJTA1ZCc7CiRsYW5nWydyZXNldCddID0gJyZBcmluZzt0ZXJzdCZhdW1sO2xsJzsKJGxhbmdbJ3Jlc291cmNlJ10gPSAnUmVzdXJzJzsKJGxhbmdbJ3Jlc291cmNlcyddID0gJ1Jlc3Vyc2VyJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMSddID0gJ1Jlc2VydmVkIG9uIGFuICVzIGJhc2lzLCBvbiAlcyBib3VuZGFyaWVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMiddID0gJ1Jlc2VydmVkIG9uIGFuICVzIGJhc2lzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfMyddID0gJ2F2YWlsYWJsZSBmcm9tICVzIHRvICVzIGFuZCBmcm9tICVzIHRvICVzJzsKJGxhbmdbJ3Jlc291cmNlX3N1bW1hcnlfNCddID0gJ2NoZWNraW4gdGltZSBpcyAlcywgYW5kIGNoZWNrb3V0IHRpbWUgaXMgJXMnOwokbGFuZ1sncmVzb3VyY2VfdHlwZSddID0gJ1Jlc3Vyc3R5cCc7CiRsYW5nWydyb29tJ10gPSAnUnVtJzsKJGxhbmdbJ3Jvb21zJ10gPSAnUnVtJzsKJGxhbmdbJ3JlcXVpcmVfZGVwb3NpdCddID0gJ0tyJmF1bWw7dnMgZW4gZGVwb3NpdGlvbj8nOwokbGFuZ1snc2F0dXJkYXknXSA9ICdMJm91bWw7cmRhZyc7CiRsYW5nWydzY2hlZHVsaW5nJ10gPSAnU2NoZWR1bGluZyc7CiRsYW5nWydzY2hlZHVsaW5nX2ludGVydmFsJ10gPSAnRGVubmEgcmVzdXJzICZhdW1sO3IgYm9rYWQnOwokbGFuZ1snc2VhcmNoJ10gPSAnUyZvdW1sO2snOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1YmYXVtbDtsaiBlbic7CiRsYW5nWydzZW5kJ10gPSAnU2tpY2thJzsKJGxhbmdbJ3NlbmRfZW1haWwnXSA9ICdTa2lja2EgZXBvc3QnOwokbGFuZ1snc2VudCddID0gJ1NraWNrYWQnOwokbGFuZ1snc3RhcnRfZGF0ZSddID0gJ1N0YXJ0ZGF0dW0nOwokbGFuZ1snc3RhcnRfdGltZV8xJ10gPSAnU3RhcnQgVGltZSAxJzsKJGxhbmdbJ3N0YXJ0X3RpbWVfMiddID0gJ1N0YXJ0IFRpbWUgMic7CiRsYW5nWydzdGF0aXN0aWNzJ10gPSAnU3RhdGlzdGlrJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydzdGF0dXNfcm9vbXNfYXZhaWxhYmxlJ10gPSAnRGVuICVzIGR1IHZhbGRlICZhdW1sO3IgdGlsbGcmYXVtbDtuZ2xpZyBkZXNzYSBkYXR1bSc7CiRsYW5nWydzdWJqX3JlX3Jlc3ZuJ10gPSAnU3Y6IEJva25pbmcgJXMnOwokbGFuZ1snc3ViamVjdCddID0gJyZBdW1sO21uZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdTa2lja2EnOwokbGFuZ1snc3VuZGF5J10gPSAnUyZvdW1sO25kYWcnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0YXJlYSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dGYmYXVtbDtsdCc7CiRsYW5nWyd0aHVyc2RheSddID0gJ1RvcnNkYWcnOwokbGFuZ1sndGl0bGVfY29uZmxpY3QnXSA9ICdDb25mbGljdCBFeGlzdHN8QSBjb25mbGljdCBleGlzdHMgYmV0d2VlbiByZXNlcnZhdGlvbnMgJTA0ZCBhbmQgJTA0ZC48YnIvPjxici8+TW9yZSBjb25mbGljdHMgbWF5IGV4aXN0cyBmb3IgdGhpcyBibG9jay4nOwokbGFuZ1sndGl0bGVfZ3JhcGhpbmcnXSA9ICdWaXNhIGRpYWdyYW0gYW5kIHJhcHBvcnRlciBmJm91bWw7ciBoaXN0b3Jpc2thIGRhdGEnOwokbGFuZ1sndG90YWxfYmxvY2tzJ10gPSAnVG90YWxhIGJsb2NrJzsKJGxhbmdbJ3R1ZXNkYXknXSA9ICdUaXNkYWcnOwokbGFuZ1sndHlwZSddID0gJ1R5cCc7CiRsYW5nWyd1c2VfZGF0ZXNfaW5fZmlsdGVyJ10gPSAnQW52JmF1bWw7bmQgZiZvdW1sO2xqYW5kZSBkYXR1bSc7CiRsYW5nWyd2YWNhbnQnXSA9ICdMZWRpZyc7CiRsYW5nWyd2aWV3J10gPSAnVmlzYSc7CiRsYW5nWyd2aWV3X2RheSddID0gJ1ZpZXcgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBkYXknOwokbGFuZ1sndmlld191c2VyJ10gPSAnVmlzYSBnJmF1bWw7c3RkZXRhbGplcic7CiRsYW5nWyd2aWV3X3JzcmNfZGV0YWlscyddID0gJ1Zpc2EgZGV0YWxqZXIgZiZvdW1sO3IgZGVubmEgJXMnOwokbGFuZ1snd2VkbmVzZGF5J10gPSAnT25zZGFnJzsKJGxhbmdbJ3dlZWtkYXlfcHJpY2VfYWRqdXN0bWVudHMnXSA9ICdQcmlzanVzdGVyaW5nYXIgZiZvdW1sO3IgdmVja29kYWcnOwokbGFuZ1sneWVhcl8xJ10gPSAnJkFyaW5nO3IgMSc7CiRsYW5nWyd5ZWFyXzInXSA9ICcmQXJpbmc7ciAxJzsKJGxhbmdbJ3llYXJfMyddID0gJyZBcmluZztyIDMnOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1sneW91cl9uYW1lJ10gPSAnRGl0dCBuYW1uJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTg0MzExNjU3OC4xMjQ0NDgwMTIxLjEyNDc0MjIyNjcuMTI0NzQzMTc1MS40Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNDc0MzE3NTEuNDMuNi51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.availability_reservation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uIAp7CiAgcHJpdmF0ZSAkX2lkOwogIHByaXZhdGUgJF9jdXN0b21lcl9pZDsKICBwcml2YXRlICRfcHJpY2U7CiAgcHJpdmF0ZSAkX3N0YXR1czsKICBwcml2YXRlICRfYWRtaW5fbm90ZXM7CiAgcHJpdmF0ZSAkX2NyZWF0ZV9kYXRlOwogIHByaXZhdGUgJF9tb2RpZmllZF9kYXRlOwogIHByaXZhdGUgJF9wYXJ0czsKICBwcml2YXRlICRfbm90ZXM7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgJHRoaXMtPl9wYXJ0cyA9IGFycmF5KCk7CiAgICAkdGhpcy0+X25vdGVzID0gYXJyYXkoKTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2lkKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9pZDsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X2lkKCRpZCkKICB7CiAgICAkdGhpcy0+X2lkID0gJGlkOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfY3VzdG9tZXJfaWQoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X2N1c3RvbWVyX2lkOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfY3VzdG9tZXJfaWQoJGN1c3RvbWVyX2lkKQogIHsKICAgICR0aGlzLT5fY3VzdG9tZXJfaWQgPSAkY3VzdG9tZXJfaWQ7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9wcmljZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fcHJpY2U7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldF9wcmljZSgkcHJpY2UpCiAgewogICAgJHRoaXMtPl9wcmljZSA9ICRwcmljZTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3N0YXR1cygpCiAgewogICAgcmV0dXJuICR0aGlzLT5fc3RhdHVzOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3RhdHVzKCRzdGF0dXMpCiAgewogICAgJHRoaXMtPl9zdGF0dXMgPSAkc3RhdHVzOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfYWRtaW5fbm90ZXMoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X2FkbWluX25vdGVzOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfYWRtaW5fbm90ZXMoJGFkbWluX25vdGVzKQogIHsKICAgICR0aGlzLT5fYWRtaW5fbm90ZXMgPSAkYWRtaW5fbm90ZXM7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9jcmVhdGVfZGF0ZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5fY3JlYXRlX2RhdGU7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldF9jcmVhdGVfZGF0ZSgkY3JlYXRlX2RhdGUpCiAgewogICAgJHRoaXMtPl9jcmVhdGVfZGF0ZSA9ICRjcmVhdGVfZGF0ZTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X21vZGlmaWVkX2RhdGUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X21vZGlmaWVkX2RhdGU7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldF9tb2RpZmllZF9kYXRlKCRtb2RpZmllZF9kYXRlKQogIHsKICAgICR0aGlzLT5fbW9kaWZpZWRfZGF0ZSA9ICRtb2RpZmllZF9kYXRlOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBjb3VudF9wYXJ0cygpCiAgewogICAgcmV0dXJuIGNvdW50KCR0aGlzLT5fcGFydHMpOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiAmZ2V0X3BhcnRfYnlfaWR4KCRpZHgpCiAgewogICAgaWYoICRpZHggPj0gMCAmJiAkaWR4IDwgY291bnQoJHRoaXMtPl9wYXJ0cykgKQogICAgICB7CglyZXR1cm4gJHRoaXMtPl9wYXJ0c1skaWR4XTsKICAgICAgfQogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiAmZ2V0X3BhcnRfYnlfaWQoJHBhcnRfaWQpCiAgewogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPl9wYXJ0cyk7ICRpKysgKQogICAgICB7CglpZiggJHRoaXMtPl9wYXJ0c1skaV0tPmdldF9pZCgpID09ICRwYXJ0X2lkICkKCSAgewoJICAgIHJldHVybiAkdGhpcy0+X3BhcnRzWyRwYXJ0X2lkXTsKCSAgfQogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGFkZF9wYXJ0KCRwYXJ0KQogIHsKICAgICR0aGlzLT5fcGFydHNbXSA9ICRwYXJ0OwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVfcGFydF9ieV9pZCgkcGFydF9pZCkKICB7CiAgICAkdG1wID0gYXJyYXkoKTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5fcGFydHMpOyAkaSsrICkKICAgICAgewoJaWYoICR0aGlzLT5fcGFydHNbJGldLT5nZXRfaWQoKSA9PSAkcGFydF9pZCApCgkgIHsKCSAgICBjb250aW51ZTsKCSAgfQoJJHRtcFtdID0gJHRoaXMtPl9wYXJ0c1skaV07CiAgICAgIH0KICAgICR0aGlzLT5fcGFydHMgPSAkdG1wOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVfcGFydF9ieV9pZHgoJGlkeCkKICB7CiAgICBpZiggJGlkeCA+PSAwICYmICRpZHggPCBjb3VudCgkdGhpcy0+X3BhcnRzKSApCiAgICAgIHsKCSR0bXAgPSBhcnJheSgpOwoJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPl9wYXJ0cyk7ICRpKysgKQoJICB7CgkgICAgaWYoICRpID09ICRpZHggKSBjb250aW51ZTsKCSAgICAkdG1wW10gPSAkdGhpcy0+X3BhcnRzWyRpXTsKCSAgfQoJJHRoaXMtPl9wYXJ0cyA9ICR0bXA7CiAgICAgIH0KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlX2FsbF9wYXJ0cygpCiAgewogICAgJHRoaXMtPl9wYXJ0cyA9IGFycmF5KCk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGNvdW50X25vdGVzKCkKICB7CiAgICByZXR1cm4gY291bnQoJHRoaXMtPl9ub3Rlcyk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uICZnZXRfbm90ZV9ieV9pZHgoJGlkeCkKICB7CiAgICBpZiggJGlkeCA+PSAwICYmICRpZHggPCBjb3VudCgkdGhpcy0+X25vdGVzKSApCiAgICAgIHsKCXJldHVybiAkdGhpcy0+X25vdGVzWyRpZHhdOwogICAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gJmdldF9ub3RlX2J5X2lkKCRub3RlX2lkKQogIHsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5fbm90ZXMpOyAkaSsrICkKICAgICAgewoJaWYoICR0aGlzLT5fbm90ZXNbJGldLT5nZXRfaWQoKSA9PSAkbm90ZV9pZCApCgkgIHsKCSAgICByZXR1cm4gJHRoaXMtPl9ub3Rlc1skbm90ZV9pZF07CgkgIH0KICAgICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGFkZF9ub3RlKCYkbm90ZSkKICB7CiAgICAkdGhpcy0+X25vdGVzW10gPSAkbm90ZTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCkKICB7CiAgICBpZiggJHRoaXMtPl9pZCA8PSAwICkKICAgICAgewoJcmV0dXJuIHJlc2VydmF0aW9uX29wczo6aW5zZXJ0KCR0aGlzKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gcmVzZXJ2YXRpb25fb3BzOjp1cGRhdGUoJHRoaXMpOwogICAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZnJvbV9hcnJheSgkZGF0YSkKICB7CiAgICAkdGhpcy0+X2lkID0gJGRhdGFbJ2lkJ107CiAgICAkdGhpcy0+X2N1c3RvbWVyX2lkID0gJGRhdGFbJ2N1c3RvbWVyX2lkJ107CiAgICAkdGhpcy0+X3ByaWNlID0gJGRhdGFbJ3ByaWNlJ107CiAgICAkdGhpcy0+X3N0YXR1cyA9ICRkYXRhWydzdGF0dXMnXTsKICAgICR0aGlzLT5fYWRtaW5fbm90ZXMgPSAkZGF0YVsnYWRtaW5fbm90ZXMnXTsKICAgICR0aGlzLT5fY3JlYXRlX2RhdGUgPSAkZGF0YVsnY3JlYXRlX2RhdGUnXTsKICAgICR0aGlzLT5fbW9kaWZpZWRfZGF0ZSA9ICRkYXRhWydtb2RpZmllZF9kYXRlJ107CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gdG9fYXJyYXkoKQogIHsKICAgICRkYXRhID0gYXJyYXkoKTsKICAgICRkYXRhWydpZCddID0gJHRoaXMtPl9pZDsKICAgICRkYXRhWydjdXN0b21lcl9pZCddID0gJHRoaXMtPl9jdXN0b21lcl9pZDsKICAgICRkYXRhWydwcmljZSddID0gJHRoaXMtPl9wcmljZTsKICAgICRkYXRhWydzdGF0dXMnXSA9ICR0aGlzLT5zdGF0dXM7CiAgICAkZGF0YVsnYWRtaW5fbm90ZXMnXSA9ICR0aGlzLT5fYWRtaW5fbm90ZXM7CiAgICAkZGF0YVsnY3JlYXRlX2RhdGUnXSA9ICR0aGlzLT5fY3JlYXRlX2RhdGU7CiAgICAkZGF0YVsnbW9kaWZpZWRfZGF0ZSddID0gJHRoaXMtPl9tb2RpZmllZF9kYXRlOwogICAgcmV0dXJuICRkYXRhOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.availability_reservation_note.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX25vdGUKewogIHByaXZhdGUgJF9kYXRhOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgICR0aGlzLT5fZGF0YSA9IGFycmF5KCk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2lkKCkKICB7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydpZCddKSApCiAgICAgIHJldHVybiAkdGhpcy0+X2RhdGFbJ2lkJ107CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X2lkKCRpZCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ2lkJ10gPSAkaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3Jlc3ZfaWQoKQogIHsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ3Jlc3ZfaWQnXSkgKQogICAgICByZXR1cm4gJHRoaXMtPl9kYXRhWydyZXN2X2lkJ107CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3Jlc3ZfaWQoJHJlc3ZfaWQpCiAgewogICAgJHRoaXMtPl9kYXRhWydyZXN2X2lkJ10gPSAkcmVzdl9pZDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfc3ViamVjdCgpCiAgewogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsnc3ViamVjdCddKSApCiAgICAgIHJldHVybiAkdGhpcy0+X2RhdGFbJ3N1YmplY3QnXTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3ViamVjdCgkc3ViamVjdCkKICB7CiAgICAkdGhpcy0+X2RhdGFbJ3N1YmplY3QnXSA9ICRzdWJqZWN0OwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldF90ZXh0KCkKICB7CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyd0ZXh0J10pICkKICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVsndGV4dCddOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNldF90ZXh0KCR0ZXh0KQogIHsKICAgICR0aGlzLT5fZGF0YVsndGV4dCddID0gJHRleHQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2FkbWluX25vdGUoKQogIHsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2FkbWluX25vdGUnXSkgKQogICAgICByZXR1cm4gJHRoaXMtPl9kYXRhWydhZG1pbl9ub3RlJ107CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X2FkbWluX25vdGUoJGFkbWluX25vdGUpCiAgewogICAgJHRoaXMtPl9kYXRhWydhZG1pbl9ub3RlJ10gPSAkYWRtaW5fbm90ZTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfY3JlYXRlX2RhdGUoKQogIHsKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJ2NyZWF0ZV9kYXRlJ10pICkKICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVsnY3JlYXRlX2RhdGUnXTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfY3JlYXRlX2RhdGUoJGNyZWF0ZV9kYXRlKQogIHsKICAgICR0aGlzLT5fZGF0YVsnY3JlYXRlX2RhdGUnXSA9ICRjcmVhdGVfZGF0ZTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBmcm9tX2FycmF5KCRkYXRhKQogIHsKICAgICR0aGlzLT5fZGF0YSA9ICRkYXRhOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHRvX2FycmF5KCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9kYXRhOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNhdmUoKQogIHsKICAgIGlmKCAkdGhpcy0+Z2V0X2lkKCkgPD0gMCApCiAgICAgIHsKCXJldHVybiByZXNlcnZhdGlvbl9ub3RlX29wczo6aW5zZXJ0KCR0aGlzKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gcmVzZXJ2YXRpb25fbm90ZV9vcHM6OnVwZGF0ZSgkdGhpcyk7CiAgICAgIH0KICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.availability_reservation_part.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX3BhcnQKewogIHByaXZhdGUgJF9pZDsKICBwcml2YXRlICRfcmVzdl9pZDsKICBwcml2YXRlICRfcnNyY19pZDsKICBwcml2YXRlICRfc3RhcnRfZGF0ZTsKICBwcml2YXRlICRfZW5kX2RhdGU7CiAgcHJpdmF0ZSAkX251bV9wZW9wbGU7CiAgcHJpdmF0ZSAkX3ByaWNlOwoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2lkKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9pZDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfaWQoJGlkKQogIHsKICAgICR0aGlzLT5faWQgPSAkaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3Jlc3ZfaWQoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3Jlc3ZfaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3Jlc3ZfaWQoJHJlc3ZfaWQpCiAgewogICAgJHRoaXMtPl9yZXN2X2lkID0gJHJlc3ZfaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3JzcmNfaWQoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3JzcmNfaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3JzcmNfaWQoJHJzcmNfaWQpCiAgewogICAgJHRoaXMtPl9yc3JjX2lkID0gJHJzcmNfaWQ7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3N0YXJ0X2RhdGUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X3N0YXJ0X2RhdGU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X3N0YXJ0X2RhdGUoJHN0YXJ0X2RhdGUpCiAgewogICAgJHRoaXMtPl9zdGFydF9kYXRlID0gJHN0YXJ0X2RhdGU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2VuZF9kYXRlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9lbmRfZGF0ZTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfZW5kX2RhdGUoJGVuZF9kYXRlKQogIHsKICAgICR0aGlzLT5fZW5kX2RhdGUgPSAkZW5kX2RhdGU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X251bV9wZW9wbGUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X251bV9wZW9wbGU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc2V0X251bV9wZW9wbGUoJG51bV9wZW9wbGUpCiAgewogICAgJHRoaXMtPl9udW1fcGVvcGxlID0gJG51bV9wZW9wbGU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ByaWNlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9wcmljZTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfcHJpY2UoJHByaWNlKQogIHsKICAgICR0aGlzLT5fcHJpY2UgPSAkcHJpY2U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZnJvbV9hcnJheSgkZGF0YSkKICB7CiAgICAkdGhpcy0+X2lkID0gJGRhdGFbJ2lkJ107CiAgICAkdGhpcy0+X3Jlc3ZfaWQgPSAkZGF0YVsncmVzdl9pZCddOwogICAgJHRoaXMtPl9yc3JjX2lkID0gJGRhdGFbJ3JzcmNfaWQnXTsKICAgICR0aGlzLT5fc3RhcnRfZGF0ZSA9ICRkYXRhWydzdGFydF9kYXRlJ107CiAgICAkdGhpcy0+X2VuZF9kYXRlID0gJGRhdGFbJ2VuZF9kYXRlJ107CiAgICAkdGhpcy0+X251bV9wZW9wbGUgPSAkZGF0YVsnbnVtX3Blb3BsZSddOwogICAgJHRoaXMtPl9wcmljZSA9ICRkYXRhWydwcmljZSddOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHRvX2FycmF5KCkKICB7CiAgICAkZGF0YSA9IGFycmF5KCk7CiAgICAkZGF0YVsnaWQnXSA9ICR0aGlzLT5faWQ7CiAgICAkZGF0YVsncmVzdl9pZCddID0gJHRoaXMtPl9yZXN2X2lkOwogICAgJGRhdGFbJ3JzcmNfaWQnXSA9ICR0aGlzLT5fcnNyY19pZDsKICAgICRkYXRhWydzdGFydF9kYXRlJ10gPSAkdGhpcy0+X3N0YXJ0X2RhdGU7CiAgICAkZGF0YVsnZW5kX2RhdGUnXSA9ICR0aGlzLT5fZW5kX2RhdGU7CiAgICAkZGF0YVsnbnVtX3Blb3BsZSddID0gJHRoaXMtPl9udW1fcGVvcGxlOwogICAgJGRhdGFbJ3ByaWNlJ10gPSAkdGhpcy0+X3ByaWNlOwogICAgcmV0dXJuICRkYXRhOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNhdmUoKQogIHsKICAgIGlmKCAkdGhpcy0+Z2V0X2lkKCkgPD0gMCApCiAgICAgIHsKCXJldHVybiByZXNlcnZhdGlvbl9wYXJ0X29wczo6aW5zZXJ0KCR0aGlzKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglyZXR1cm4gcmVzZXJ2YXRpb25fcGFydF9vcHM6OnVwZGF0ZSgkdGhpcyk7CiAgICAgIH0KICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.reservation_note_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgcmVzZXJ2YXRpb25fbm90ZV9vcHMKewogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gJmxvYWRfYnlfaWQoJG5vdGVfaWQpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLicKICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJG5vdGVfaWQpKTsKICAgIGlmKCAhJHJvdyApIHJldHVybjsKICAgIAogICAgJG5vdGUgPSBuZXcgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX25vdGUoKTsKICAgICRub3RlLT5mcm9tX2FycmF5KCRyb3cpOwoKICAgIHJldHVybiAkbm90ZTsKICB9CgoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uICZsb2FkX2FsbF9ieV9yZXN2X2lkKCRyZXN2X2lkKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKICAgIAogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMuJwogICAgICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyc7CiAgICAkZGF0YSA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRyZXN2X2lkKSk7CiAgICBpZiggISRkYXRhICkgcmV0dXJuOwoKICAgICRyZXN1bHRzID0gYXJyYXkoKTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRkYXRhKTsgJGkrKyApCiAgICB7CiAgICAgICRub3RlID0gbmV3IGF2YWlsYWJpbGl0eV9yZXNlcnZhdGlvbl9ub3RlKCk7CiAgICAgICRub3RlLT5mcm9tX2FycmF5KCRkYXRhWyRpXSk7CiAgICAgICRyZXN1bHRzW10gPSAkbm90ZTsKICAgIH0KCiAgICByZXR1cm4gJHJlc3VsdHM7CiAgfQoKICAKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGluc2VydCgmJG5vdGUpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwogICAgJG5vdyA9IHRyaW0oJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpLCInIik7CgogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLiIKICAgICAgICAgICAgICAgKHJlc3ZfaWQsc3ViamVjdCx0ZXh0LGFkbWluX25vdGUsY3JlYXRlX2RhdGUpCiAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPyw/KSI7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJG5vdGUtPmdldF9yZXN2X2lkKCksCgkJCSAgICAgICRub3RlLT5nZXRfc3ViamVjdCgpLAoJCQkgICAgICAkbm90ZS0+Z2V0X3RleHQoKSwKCQkJICAgICAgJG5vdGUtPmdldF9hZG1pbl9ub3RlKCksCgkJCSAgICAgICRub3cpKTsKICAgIGlmKCAhJGRiciApIAogICAgICB7CgllY2hvICJERUJVRzogIi4kZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKS4nPGJyLz4nOyBkaWUoKTsKCXJldHVybiBGQUxTRTsKICAgICAgfQogICAgJG5vdGUtPnNldF9pZCgkZGItPkluc2VydF9JZCgpKTsKICAgICRub3RlLT5zZXRfY3JlYXRlX2RhdGUoJG5vdyk7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gdXBkYXRlKCYkbm90ZSkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CgogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9OT1RFUy4nCiAgICAgICAgICAgICAgICAgU0VUIHJlc3ZfaWQgPSA/LCBzdWJqZWN0ID0gPywgdGV4dCA9ID8/LAogICAgICAgICAgICAgICAgICAgICBhZG1pbl9ub3RlID0gPwogICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksCgkJCWFycmF5KCRub3RlLT5nZXRfcmVzdl9pZCgpLAoJCQkgICAgICAkbm90ZS0+Z2V0X3N1YmplY3QoKSwKCQkJICAgICAgJG5vdGUtPmdldF90ZXh0KCksCgkJCSAgICAgICRub3RlLT5nZXRfYWRtaW5fbm90ZSgpLAoJCQkgICAgICAkbm90ZS0+Z2V0X2lkKCkpKTsKCiAgICBpZiggISRkYnIgKSAKICAgICAgewoJZWNobyAiREVCVUc6ICIuJGRiLT5zcWwuJzxici8+Jy4kZGItPkVycm9yTXNnKCkuJzxici8+JzsgZGllKCk7CglyZXR1cm4gRkFMU0U7CiAgICAgIH0KICAgIHJldHVybiBUUlVFOwogIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.reservation_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgcmVzZXJ2YXRpb25fb3BzCnsKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uICZsb2FkX2J5X2lkKCRyZXN2X2lkKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlMuJyAKICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICAgIGlmKCAhJHJvdyApIHJldHVybjsKICAgIAogICAgJHJlc2VydmF0aW9uID0gbmV3IGF2YWlsYWJpbGl0eV9yZXNlcnZhdGlvbigpOwogICAgJHJlc2VydmF0aW9uLT5mcm9tX2FycmF5KCRyb3cpOwoKICAgIC8vIGdldCB0aGUgcGFydHMuCiAgICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgICAgICBXSEVSRSByZXN2X2lkID0gPyc7CiAgICAkcGFydF9pZHMgPSAkZGItPkdldENvbCgkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICAgIGlmKCBpc19hcnJheSgkcGFydF9pZHMpICYmIGNvdW50KCRwYXJ0X2lkcykgKQogICAgICB7Cglmb3JlYWNoKCAkcGFydF9pZHMgYXMgJG9uZV9wYXJ0ICkKCSAgewoJICAgICRwYXJ0ID0gcmVzZXJ2YXRpb25fcGFydF9vcHM6OmxvYWRfYnlfaWQoJG9uZV9wYXJ0KTsKCSAgICBpZiggJHBhcnQgKQoJICAgICAgewoJCSRyZXNlcnZhdGlvbi0+YWRkX3BhcnQoJHBhcnQpOwoJICAgICAgfQoJICB9CiAgICAgIH0KCgogICAgLy8gZ2V0IHRoZSBub3RlcwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLicKICAgICAgICAgICAgICAgV0hFUkUgcmVzdl9pZCA9ID8nOwogICAgJG5vdGVfaWRzID0gJGRiLT5HZXRDb2woJHF1ZXJ5LGFycmF5KCRyZXN2X2lkKSk7CiAgICBpZiggaXNfYXJyYXkoJG5vdGVfaWRzKSAmJiBjb3VudCgkbm90ZV9pZHMpICkKICAgICAgewoJZm9yZWFjaCggJG5vdGVfaWRzIGFzICRvbmVfbm90ZSApCgkgIHsKCSAgICAkbm90ZSA9IHJlc2VydmF0aW9uX25vdGVfb3BzOjpsb2FkX2J5X2lkKCRvbmVfbm90ZSk7CgkgICAgaWYoICRub3RlICkKCSAgICAgIHsKCQkkcmVzZXJ2YXRpb24tPmFkZF9ub3RlKCRub3RlKTsKCSAgICAgIH0KCSAgfQogICAgICB9CiAgICAKICAgIHJldHVybiAkcmVzZXJ2YXRpb247CiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBpbnNlcnQoJiRyZXNlcnZhdGlvbikKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CgogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4nCiAgICAgIChjdXN0b21lcl9pZCxwcmljZSxzdGF0dXMsYWRtaW5fbm90ZXMsY3JlYXRlX2RhdGUsbW9kaWZpZWRfZGF0ZSkKICAgICAgVkFMVUVTKD8sPyw/LD8sPyw/KSc7CgogICAgJG5vdyA9IHRyaW0oJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpLCInIik7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJHJlc2VydmF0aW9uLT5nZXRfY3VzdG9tZXJfaWQoKSwKCQkJICAgICAgJHJlc2VydmF0aW9uLT5nZXRfcHJpY2UoKSwKCQkJICAgICAgJHJlc2VydmF0aW9uLT5nZXRfc3RhdHVzKCksCgkJCSAgICAgICRyZXNlcnZhdGlvbi0+Z2V0X2FkbWluX25vdGVzKCksCgkJCSAgICAgICRub3csCgkJCSAgICAgICRub3cpKTsKICAgIGlmKCAhJGRiciApIAogICAgICB7CgllY2hvICJERUJVRzogIi4kZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKS4nPGJyLz4nOyBkaWUoKTsKCXJldHVybiBGQUxTRTsKICAgICAgfQogICAgCiAgICAvLyBnZXQgdGhlIGluc2VydCBpZAogICAgJHJlc2VydmF0aW9uLT5zZXRfaWQoJGRiLT5JbnNlcnRfSWQoKSk7CiAgICAkcmVzZXJ2YXRpb24tPnNldF9jcmVhdGVfZGF0ZSgkbm93KTsKICAgICRyZXNlcnZhdGlvbi0+c2V0X2NyZWF0ZV9kYXRlKCRub3cpOwoKICAgIC8vIG5vdyBzYXZlIHRoZSBwYXJ0cy4KICAgIGZvciggJGkgPSAwOyAkaSA8ICRyZXNlcnZhdGlvbi0+Y291bnRfcGFydHMoKTsgJGkrKyApCiAgICAgIHsKCSRwYXJ0ID0gJHJlc2VydmF0aW9uLT5nZXRfcGFydF9ieV9pZHgoJGkpOwoJJHBhcnQtPnNldF9yZXN2X2lkKCRyZXNlcnZhdGlvbi0+Z2V0X2lkKCkpOwoJJHBhcnQtPnNhdmUoKTsKICAgICAgfQoKICAgIC8vIG5vdyBzYXZlIHRoZSBub3RlcwogICAgZm9yKCAkaSA9IDA7ICRpIDwgJHJlc2VydmF0aW9uLT5jb3VudF9ub3RlcygpOyAkaSsrICkKICAgICAgewoJJG5vdGUgPSAkcmVzZXJ2YXRpb24tPmdldF9ub3RlX2J5X2lkeCgkaSk7Cgkkbm90ZS0+c2V0X3Jlc3ZfaWQoJHJlc2VydmF0aW9uLT5nZXRfaWQoKSk7Cgkkbm90ZS0+c2F2ZSgpOwogICAgICB9CgogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiB1cGRhdGUoJiRyZXNlcnZhdGlvbikKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgICAkbm93ID0gdHJpbSgkZGItPkRiVGltZVN0YW1wKHRpbWUoKSksIiciKTsKCiAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4nCiAgICAgICAgICAgICAgICAgU0VUIGN1c3RvbWVyX2lkID0gPywgcHJpY2UgPSA/LAogICAgICAgICAgICAgICAgICAgICBzdGF0dXMgPSA/LAogICAgICAgICAgICAgICAgICAgICBhZG1pbl9ub3RlcyA9ID8sIAogICAgICAgICAgICAgICAgICAgICBtb2RpZmllZF9kYXRlID0gPwogICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LAoJCQkgYXJyYXkoICRyZXNlcnZhdGlvbi0+Z2V0X2N1c3RvbWVyX2lkKCksCgkJCQkkcmVzZXJ2YXRpb24tPmdldF9wcmljZSgpLAoJCQkJJHJlc2VydmF0aW9uLT5nZXRfc3RhdHVzKCksCgkJCQkkcmVzZXJ2YXRpb24tPmdldF9hZG1pbl9ub3RlcygpLAoJCQkJJG5vdywKCQkJCSRyZXNlcnZhdGlvbi0+Z2V0X2lkKCkgKSApOwogICAgaWYoICEkZGJyICkgCiAgICAgIHsKCWVjaG8gIkRFQlVHOiAiLiRkYi0+c3FsLic8YnIvPicuJGRiLT5FcnJvck1zZygpLic8YnIvPic7IGRpZSgpOwoJcmV0dXJuIEZBTFNFOwogICAgICB9CgogICAgJHJlc2VydmF0aW9uLT5zZXRfbW9kaWZpZWRfZGF0ZSgkbm93KTsKCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgICAgICAgV0hFUkUgcmVzdl9pZCA9ID8nOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcmVzZXJ2YXRpb24tPmdldF9pZCgpKSk7CgogICAgLy8gbm93IHNhdmUgdGhlIHBhcnRzLgogICAgZm9yKCAkaSA9IDA7ICRpIDwgJHJlc2VydmF0aW9uLT5jb3VudF9wYXJ0cygpOyAkaSsrICkKICAgICAgewoJJHBhcnQgPSAkcmVzZXJ2YXRpb24tPmdldF9wYXJ0KCRpKTsKCSRwYXJ0LT5zZXRfcmVzdl9pZCgkcmVzZXJ2YXRpb24tPmdldF9pZCgpKTsKCSRwYXJ0LT5zYXZlKCk7CiAgICAgIH0KCiAgICAvLyBub3cgc2F2ZSB0aGUgbm90ZXMKICAgIGZvciggJGkgPSAwOyAkaSA8ICRyZXNlcnZhdGlvbi0+Y291bnRfbm90ZXMoKTsgJGkrKyApCiAgICAgIHsKCSRub3RlID0gJHJlc2VydmF0aW9uLT5nZXRfbm90ZV9ieV9pZHgoJGkpOwoJJG5vdGUtPnNldF9yZXN2X2lkKCRyZXNlcnZhdGlvbi0+Z2V0X2lkKCkpOwoJJG5vdGUtPnNhdmUoKTsKICAgICAgfQoKICAgIHJldHVybiBUUlVFOwogIH0KCgogIC8qKgogICAqIGNvbnZlcnQgYSByZXNlcnZhdGlvbiBvYmplY3QgaW50byBoYXNoZXMKICAgKiBzbyB0aGF0IGl0J3MgbW9yZSBzdWl0YWJsZSBmb3IgdXNlIGluIG9sZCBjb2RlLgogICAqLwogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gdG9fYXJyYXkoJHJlc3ZuKQogIHsKICAgICRzdGFydF91dCA9IC0xOwogICAgJGVuZF91dCAgID0gLTE7CiAgICAkZGF0YSA9ICRyZXN2bi0+dG9fYXJyYXkoKTsKICAgIGlmKCAkcmVzdm4tPmNvdW50X3BhcnRzKCkgKQogICAgICB7CgkkZGF0YVsncGFydHMnXSA9IGFycmF5KCk7Cglmb3IoICRpID0gMDsgJGkgPCAkcmVzdm4tPmNvdW50X3BhcnRzKCk7ICRpKysgKQogICAgICAgIHsKCSAgJHBhcnQgPSAkcmVzdm4tPmdldF9wYXJ0X2J5X2lkeCgkaSk7CgkgICR0X3N0YXJ0ID0gY2dlX2RhdGVfdXRpbHM6OnN0cl90b190aW1lc3RhbXAoJHBhcnQtPmdldF9zdGFydF9kYXRlKCkpOwoJICAkdF9lbmQgPSBjZ2VfZGF0ZV91dGlsczo6c3RyX3RvX3RpbWVzdGFtcCgkcGFydC0+Z2V0X2VuZF9kYXRlKCkpOwoJICBpZiggJHRfc3RhcnQgPCAkc3RhcnRfdXQgfHwgJHN0YXJ0X3V0ID09IC0xICkKCSAgICB7CgkgICAgICAkc3RhcnRfdXQgPSAkdF9zdGFydDsKCSAgICB9CgkgIGlmKCAkdF9lbmQgPiAkZW5kX3V0ICkKCSAgICB7CgkgICAgICAkZW5kX3V0ID0gJHRfZW5kOwoJICAgIH0KCSAgJGRhdGFbJ3BhcnRzJ11bXSA9ICRwYXJ0LT50b19hcnJheSgpOwogICAgICAgIH0KICAgICAgfQogICAgaWYoICRyZXN2bi0+Y291bnRfbm90ZXMoKSApCiAgICAgIHsKCSRkYXRhWydub3RlcyddID0gYXJyYXkoKTsKCWZvciggJGkgPSAwOyAkaSA8ICRyZXN2bi0+Y291bnRfbm90ZXMoKTsgJGkrKyApCiAgICAgICAgewoJICAkbm90ZSA9ICRyZXN2bi0+Z2V0X25vdGVfYnlfaWR4KCRpKTsKCSAgJGRhdGFbJ25vdGVzJ11bXSA9ICRub3RlLT50b19hcnJheSgpOwogICAgICAgIH0KICAgICAgfQogICAgJGRhdGFbJ3N0YXJ0X2RhdGUnXSA9IGNnZV9kYXRlX3V0aWxzOjp0c190b19kYmZvcm1hdCgkc3RhcnRfdXQpOwogICAgJGRhdGFbJ2VuZF9kYXRlJ10gPSBjZ2VfZGF0ZV91dGlsczo6dHNfdG9fZGJmb3JtYXQoJGVuZF91dCk7CiAgICByZXR1cm4gJGRhdGE7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.reservation_part_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgcmVzZXJ2YXRpb25fcGFydF9vcHMKewogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gJmxvYWRfYnlfaWQoJHBhcnRfaWQpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicKICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHBhcnRfaWQpKTsKICAgIGlmKCAhJHJvdyApIHJldHVybjsKICAgIAogICAgJHBhcnQgPSBuZXcgYXZhaWxhYmlsaXR5X3Jlc2VydmF0aW9uX3BhcnQoKTsKICAgICRwYXJ0LT5mcm9tX2FycmF5KCRyb3cpOwogICAgcmV0dXJuICRwYXJ0OwogIH0KCgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gaW5zZXJ0KCYkcGFydCkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgICAKICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUy4iCiAgICAgICAgICAgICAgIChyZXN2X2lkLHJzcmNfaWQsc3RhcnRfZGF0ZSxlbmRfZGF0ZSxudW1fcGVvcGxlLHByaWNlKQogICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/KSI7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJHBhcnQtPmdldF9yZXN2X2lkKCksCgkJCSAgICAgICRwYXJ0LT5nZXRfcnNyY19pZCgpLAoJCQkgICAgICAkcGFydC0+Z2V0X3N0YXJ0X2RhdGUoKSwKCQkJICAgICAgJHBhcnQtPmdldF9lbmRfZGF0ZSgpLAoJCQkgICAgICAkcGFydC0+Z2V0X251bV9wZW9wbGUoKSwKCQkJICAgICAgJHBhcnQtPmdldF9wcmljZSgpKSk7CiAgICBpZiggISRkYnIgKSAKICAgICAgewoJZWNobyAiREVCVUc6ICIuJGRiLT5zcWwuJzxici8+Jy4kZGItPkVycm9yTXNnKCkuJzxici8+JzsgZGllKCk7CglyZXR1cm4gRkFMU0U7CiAgICAgIH0KCiAgICAkcGFydC0+c2V0X2lkKCRkYi0+SW5zZXJ0X0lkKCkpOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICAKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZSgmJHBhcnQpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMuJwogICAgICAgICAgICAgICAgIFNFVCByZXN2X2lkID0gPywgcnNyY19pZCA9ID8sCiAgICAgICAgICAgICAgICAgICAgIHN0YXJ0X2RhdGUgPSA/LCBlbmRfZGF0ZSA9ID8sCiAgICAgICAgICAgICAgICAgICAgIG51bV9wZW9wbGUgPSA/LCBwcmljZSA9ID8KICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAoJCQlhcnJheSgkcGFydC0+Z2V0X3Jlc3ZfaWQoKSwKCQkJICAgICAgJHBhcnQtPmdldF9yc3JjX2lkKCksCgkJCSAgICAgICRwYXJ0LT5nZXRfc3RhcnRfZGF0ZSgpLAoJCQkgICAgICAkcGFydC0+Z2V0X2VuZF9kYXRlKCksCgkJCSAgICAgICRwYXJ0LT5nZXRfbnVtX3Blb3BsZSgpLAoJCQkgICAgICAkcGFydC0+Z2V0X3ByaWNlKCksCgkJCSAgICAgICRwYXJ0LT5nZXRfaWQoKSkpOwogICAgICAgICAgICAgICAgICAgICAKICAgIGlmKCAhJGRiciApIAogICAgICB7CgllY2hvICJERUJVRzogIi4kZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKS4nPGJyLz4nOyBkaWUoKTsKCXJldHVybiBGQUxTRTsKICAgICAgfQoKICAgIHJldHVybiBUUlVFOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.resvervation_note_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[I0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgcmVzZXJ2YXRpb25fbm90ZV9vcHMKewogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gJmxvYWRfYnlfaWQoJG5vdGVfaWQpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLicKICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJHJlc3ZfaWQpKTsKICAgIGlmKCAhJHJvdyApIHJldHVybjsKCiAgICAkbm90ZSA9IG5ldyBhdmFpbGFiaWxpdHlfcmVzZXJ2YXRpb25fbm90ZSgpOwogICAgJG5vdGUtPmZyb21fYXJyYXkoJHJvdyk7CiAgICByZXR1cm4gJG5vdGU7CiAgfQoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGluc2VydCgmJG5vdGUpCiAgewogICAgZ2xvYmFsICRnQ21zOwogICAgJGRiID0mICRnQ21zLT5HZXREYigpOwogICAgJG5vdyA9IHRyaW0oJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpLCInIik7CgogICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX05PVEVTLicKICAgICAgICAgICAgICAgIChyZXN2X2lkLHN1YmplY3QsdGV4dCxhZG1pbl9ub3RlLGNyZWF0ZV9kYXRlKQogICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPyw/KSc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKCQkJYXJyYXkoJG5vdGUtPmdldF9yZXN2X2lkKCksCgkJCSAgICAgICRub3RlLT5nZXRfc3ViamVjdCgpLAoJCQkgICAgICAkbm90ZS0+Z2V0X3RleHQoKSwKCQkJICAgICAgJG5vdGUtPmdldF9hZG1pbl9ub3RlKCksCgkJCSAgICAgICRub3cpKTsKICAgIGlmKCAhJGRiciApCiAgICAgIHsKCWVjaG8gIkRFQlVHOiAiLiRkYi0+c3FsLic8YnIvPicuJGRiLT5FcnJvck1zZygpLic8YnIvPic7IGRpZSgpOwoJcmV0dXJuIEZBTFNFOwogICAgICB9CgkJCQkJCSAKICAgICRub3RlLT5zZXRfY3JlYXRlX2RhdGUoJG5vdyk7CiAgICByZXR1cm4gVFJVRTsKICB9CgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gdXBkYXRlKCYkbm90ZSkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSYgJGdDbXMtPkdldERiKCk7CiAgICAkbm93ID0gdHJpbSgkZGItPkRiVGltZVN0YW1wKHRpbWUoKSksIiciKTsKCiAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicKICAgICAgICAgICAgICAgICBTRVQgc3ViamVjdCA9ID8sIHRleHQgPSA/LCBhZG1pbl9ub3RlID0gPwogICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8gQU5EIHJlc3ZfaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAoJCQlhcnJheSgkbm90ZS0+Z2V0X3N1YmplY3QoKSwKCQkJICAgICAgJG5vdGUtPmdldF90ZXh0KCksCgkJCSAgICAgICRub3RlLT5nZXRfYWRtaW5fbm90ZSgpLAoJCQkgICAgICAkbm90ZS0+Z2V0X2lkKCksCgkJCSAgICAgICRub3RlLT5nZXRfcmVzdl9pZCgpKSk7CiAKICAgIGlmKCAhJGRiciApCiAgICAgIHsKCWVjaG8gIkRFQlVHOiAiLiRkYi0+c3FsLic8YnIvPicuJGRiLT5FcnJvck1zZygpLic8YnIvPic7IGRpZSgpOwoJcmV0dXJuIEZBTFNFOwogICAgICB9CgogICAgcmV0dXJuIFRSVUU7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/php_js.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogCiAqIE1vcmUgaW5mbyBhdDogaHR0cDovL3BocGpzLm9yZwogKiAKICogVGhpcyBpcyB2ZXJzaW9uOiAyLjcxCiAqIHBocC5qcyBpcyBjb3B5cmlnaHQgMjAwOSBLZXZpbiB2YW4gWm9ubmV2ZWxkLgogKiAKICogUG9ydGlvbnMgY29weXJpZ2h0IEJyZXR0IFphbWlyIChodHRwOi8vYnJldHQtemFtaXIubWUpLCBLZXZpbiB2YW4gWm9ubmV2ZWxkCiAqIChodHRwOi8va2V2aW4udmFuem9ubmV2ZWxkLm5ldCksIE9ubm8gTWFyc21hbiwgTWljaGFlbCBXaGl0ZQogKiAoaHR0cDovL2dldHNwcmluay5jb20pLCBXYWxkbyBNYWxxdWkgU2lsdmEsIFBhdWxvIFJpY2FyZG8gRi4gU2FudG9zLCBKYWNrLAogKiBQaGlsaXAgUGV0ZXJzb24sIEpvbmFzIFJhb25pIFNvYXJlcyBTaWx2YSAoaHR0cDovL3d3dy5qc2Zyb21oZWxsLmNvbSksCiAqIExlZ2FldiBBbmRyZXksIEF0ZXMgR29yYWwgKGh0dHA6Ly9tYWduZXRpcS5jb20pLCBNYXJ0aWpuIFdpZXJpbmdhLCBOYXRlLAogKiBFbnJpcXVlIEdvbnphbGV6LCBQaGlsaXBwZSBCYXVtYW5uLCBXZWJ0b29sa2l0LmluZm8KICogKGh0dHA6Ly93d3cud2VidG9vbGtpdC5pbmZvLyksIFRoZXJpYXVsdCwgSmFuaSBIYXJ0aWthaW5lbiwgQXNoIFNlYXJsZQogKiAoaHR0cDovL2hleG1lbi5jb20vYmxvZy8pLCBDYXJsb3MgUi4gTC4gUm9kcmlndWVzCiAqIChodHRwOi8vd3d3LmpzZnJvbWhlbGwuY29tKSwgT2xlIFZyaWplbmhvZWssIHRyYXZjLCBNaWNoYWVsIEdyaWVyLCBHZWVrRkcKICogKGh0dHA6Ly9nZWVrZmcuYmxvZ3Nwb3QuY29tKSwgSm9obm55IE1hc3QgKGh0dHA6Ly93d3cucGhwdnJvdXdlbi5ubCksIEFsZXgsCiAqIGQzeCwgc3RhZzAxOSwgQW5kcmVhIEdpYW1tYXJjaGkgKGh0dHA6Ly93ZWJyZWZsZWN0aW9uLmJsb2dzcG90LmNvbSksCiAqIG1hcnJ0aW5zLCBFcmtla2pldHRlciwgU3RldmUgSGlsZGVyLCBPbGVnIEVyZW1lZXYsIERhdmlkLCBNYXJjIFBhbGF1LAogKiBTdGV2ZW4gTGV2aXRoYW4gKGh0dHA6Ly9ibG9nLnN0ZXZlbmxldml0aGFuLmNvbSksIGdvcnRoYXVyLCBBcnBhZCBSYXkKICogKG1haWx0bzphcnBhZEBwaHAubmV0KSwgUHVibGljIERvbWFpbiAoaHR0cDovL3d3dy5qc29uLm9yZy9qc29uMi5qcyksCiAqIGdldHRpbWVvZmRheSwgbWRzamFjayAoaHR0cDovL3d3dy5tZHNqYWNrLmJvLml0KSwgVGh1bmRlci5tLCBBbGZvbnNvCiAqIEppbWVuZXogKGh0dHA6Ly93d3cuYWxmb25zb2ppbWVuZXouY29tKSwgS0VMQU4sIFR5bGVyIEFraW5zCiAqIChodHRwOi8vcnVta2luLmNvbSksIE1pcmVrIFNsdWdlbiwgS2Fua3JlbHVuZQogKiAoaHR0cDovL3d3dy53ZWJmYWt0b3J5LmluZm8vKSwgS2Fyb2wgS293YWxza2ksIEFKLCBMYXJzIEZpc2NoZXIsIENhaW8KICogQXJpZWRlIChodHRwOi8vY2Fpb2FyaWVkZS5jb20pLCBBbWFuIEd1cHRhLCBTYWtpbW9yaSwgUGVsbGVudGVzcXVlCiAqIE1hbGVzdWFkYSwgQnJlYWtpbmcgUGFyIENvbnN1bHRpbmcgSW5jCiAqIChodHRwOi8vd3d3LmJyZWFraW5ncGFyLmNvbS9ia3AvaG9tZS5uc2YvMC84NzI1NkIyODAwMTUxOTNGODcyNTZDRkIwMDZDNDVGNyksCiAqIEpvc2ggRnJhc2VyCiAqIChodHRwOi8vb25saW5lYXNwZWN0LmNvbS8yMDA3LzA2LzA4L2F1dG8tZGV0ZWN0LWEtdGltZS16b25lLXdpdGgtamF2YXNjcmlwdC8pLAogKiBQYXVsLCBtYWRpcHRhLCBEb3VnbGFzIENyb2NrZm9yZCAoaHR0cDovL2phdmFzY3JpcHQuY3JvY2tmb3JkLmNvbSksIE9sZQogKiBWcmlqZW5ob2VrIChodHRwOi8vd3d3Lm5lcnZvdXMubmwvKSwgSHlhbSBTaW5nZXIKICogKGh0dHA6Ly93d3cuaW1wYWN0LWNvbXB1dGluZy5jb20vKSwgUmFwaGFlbCAoQW8gUlVETEVSKSwga2VubmV0aCwgVC4gV2lsZCwKICogbm9iYmxlciwgY2xhc3NfZXhpc3RzLCBub25hbWUsIE1hcmNvLCBEYXZpZCBKYW1lcywgU3RldmUgQ2xheSwgbWFyYyBhbmRyZXUsCiAqIGdlciwgam9obiAoaHR0cDovL3d3dy5qZC10ZWNoLm5ldCksIG1rdGltZSwgQnJhZCBUb3Vlc25hcmQsIEogQSBSLCBkam1peCwKICogTGluY29sbiBSYW1zYXksIExpbnV4d29ybGQsIFRoaWFnbyBNYXRhIChodHRwOi8vdGhpYWdvbWF0YS5ibG9nLmNvbSksCiAqIFB5ZXJyZSwgSm9uIEhvaGxlLCBCYXlyb24gR3VldmFyYSwgZHVuY2FuLCBTYW5qb3kgUm95LCBzYW5rYWksIDBtM3IsIEZlbGl4CiAqIEdlaXNlbmRvZXJmZXIgKGh0dHA6Ly93d3cuZGVidWdnYWJsZS5jb20vZmVsaXgpLCBHaWxiZXJ0LCBTdWJoYXNpcyBEZWIsCiAqIFNvcmVuIEhhbnNlbiwgVDBic24sIEV1Z2VuZSBCdWxraW4gKGh0dHA6Ly9kb3VibGVhdy5jb20vKSwgRGVyIFNpbW9uCiAqIChodHRwOi8vaW5uZXJkb20uc291cmNlZm9yZ2UubmV0LyksIEpCLCBMSCwgTWFyYyBKYW5zZW4sIEZyYW5jZXNjbywgZWNobyBpcwogKiBiYWQsIFhvcmFYIChodHRwOi8vd3d3LnhvcmF4LmluZm8pLCBNZUV0YyAoaHR0cDovL3lhc3MubWVldGN3ZWIuY29tKSwKICogUGV0ZXItUGF1bCBLb2NoIChodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2pzL2JlYXQuaHRtbCksIE5hdGhhbiwgVGltIFdpZWwsCiAqIE96aCwgRGF2aWQgUmFuZGFsbCwgQnJ5YW4gRWxsaW90dCwgSmFsYWwgQmVycmFtaSwgQXJubywgUmljayBXYWxkcm9uLAogKiBNaWNrQGVsLCByZXpuYSwgS2lyayBTdHJvYmVjaywgTWFydGluIFBvb2wsIERhbmllbCBFc3RlYmFuLCBTYXVsbyBWYWxsb3J5LAogKiBLcmlzdG9mIENvb21hbnMgKFNDSy1DRU4gQmVsZ2lhbiBOdWNsZWFpciBSZXNlYXJjaCBDZW50cmUpLCBQaWVycmUtTHVjCiAqIFBhb3VyLCBFcmljIE5hZ2VsLCBCb2JieSBEcmFrZSwgcGVudXRidXR0ZXJqZWxseSwgQ2hyaXN0aWFuIERvZWJsZXIsCiAqIHNldGNvb2tpZSwgR2FicmllbCBQYWRlcm5pLCBTaW1vbiBXaWxsaXNvbiAoaHR0cDovL3NpbW9ud2lsbGlzb24ubmV0KSwgUHVsLAogKiBMdWtlIEdvZGZyZXksIEJsdWVzIChodHRwOi8vdGVjaC5ibHVlc21vb24uaW5mby8pLCBBbnRvbiBPbmdzb24sIEphc29uIFdvbmcKICogKGh0dHA6Ly9jYXJyb3Qub3JnLyksIFZhbGVudGluYSBEZSBSb3NhLCBzb3diZXJyeSwgaGl0d29yaywgTm9ybWFuICJ6RWgiCiAqIEZ1Y2hzLCBZdmVzIFN1Y2FldCwgam9obnJlbWJvLCBOaWNrIENhbGxlbiwgZWpzYW5kZXJzLCBBaWRhbiBMaXN0ZXIKICogKGh0dHA6Ly9haWRhbmxpc3Rlci5jb20vKSwgUGhpbGlwcGUgSmF1c2lvbnMKICogKGh0dHA6Ly9wZWFyLnBocC5uZXQvdXNlci9qYXVzaW9ucyksIGRwdHIxOTg4LCBQZWRybyBUYWluaGEKICogKGh0dHA6Ly93d3cucGVkcm90YWluaGEuY29tKSwgQWxhbiBDLCB1ZXN0bGEsIFdhZ25lciBCLiBTb2FyZXMsIFQuV2lsZCwKICogc3RyY2FzZWNtcCwgc3RyY21wLCBEeEd4LCBBbGV4YW5kZXIgRXJtb2xhZXYKICogKGh0dHA6Ly9zbmlwcGV0cy5kem9uZS5jb20vdXNlci9BbGV4YW5kZXJFcm1vbGFldiksIENoYW9zTm8xLCBtZXRqYXksIFlVSQogKiBMaWJyYXJ5OiBodHRwOi8vZGV2ZWxvcGVyLnlhaG9vLmNvbS95dWkvZG9jcy9ZQUhPTy51dGlsLkRhdGVMb2NhbGUuaHRtbCwKICogQmx1ZXMgYXQgaHR0cDovL2hhY2tzLmJsdWVzbW9vbi5pbmZvL3N0cmZ0aW1lL3N0cmZ0aW1lLmpzLCB0YWl0aCwgUm9iaW4sCiAqIE1hdHQgQnJhZGxleSwgVGltIGRlIEtvbmluZywgTHVpcyBTYWxhemFyIChodHRwOi8vd3d3LmZyZWFreS1tZWRpYS5jb20vKSwKICogRkdGRW1wZXJvciwgYmFyaXMgb3pkaWwsIFRvZCBHZW50aWxsZSwgRnJlbXlDb21wYW55LCBNYW5pc2gsIENvcmQsIFNsYXdvbWlyCiAqIEthbmllY2tpLCBSZXZlcnNlU3ludGF4LCBNYXRldXN6ICJsb29ucXVhd2wiIFphbGVnYSwgU2NvdHQgQ2FyaXNzLAogKiBGcmFuY29pcywgVmljdG9yLCBzdGVuc2ksIHZsYWRvIGhvdWJhLCBkYXRlLCBnYWJyaWVsIHBhZGVybmksIFlhbm5vbywKICogbWsua2VjaywgTGVzbGllIEhvYXJlLCBCZW4gQnJ5YW4sIERpbm8sIEFuZHJlaiBQYXZsb3ZpYywgQW5kcmVhcywgRHRUdkIKICogKGh0dHA6Ly9kdC5pbi50aC8yMDA4LTA5LTE2LnN0cmluZy1sZW5ndGgtaW4tYnl0ZXMuaHRtbCksIFJ1c3NlbGwgV2Fsa2VyLAogKiBHYXJhZ290aCwgYm9vZXlPSCwgQ2FncmkgRWtpbiwgQmVuamFtaW4gTHVwdG9uLCBkYXZvb2ssIEF0bGkgw57Ds3IsIGpha2VzLAogKiBBbGxhbiBKZW5zZW4gKGh0dHA6Ly93d3cud2ludGVybmV0Lm5vKSwgSG93YXJkIFllZW5kLCBLaGVhbmcgSG9rIENoaW4KICogKGh0dHA6Ly93d3cuZGlzdGFudGlhLmNhLyksIEx1a2UgU21pdGggKGh0dHA6Ly9sdWNhc3NtaXRoLm5hbWUpLCBSaXZhbCwKICogRGlvZ28gUmVzZW5kZQogKiAKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIChNSVQtTElDRU5TRS50eHQpCiAqIGFuZCBHUEwgKEdQTC1MSUNFTlNFLnR4dCkgbGljZW5zZXMuCiAqIAogKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQogKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCiAqICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKICogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAogKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8KICogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCiAqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKICogCiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCiAqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgogKiAKICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKICogT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgogKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCiAqIElOIE5PIEVWRU5UIFNIQUxMIEtFVklOIFZBTiBaT05ORVZFTEQgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMKICogT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCiAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgogKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqLyAKCgovLyBDb21wcmVzc2lvbjogbWluaWZpZWQKCgpmdW5jdGlvbiBkYXRlKGZvcm1hdCx0aW1lc3RhbXApe3ZhciBqc2RhdGU9KCh0eXBlb2YodGltZXN0YW1wKT09J3VuZGVmaW5lZCcpP25ldyBEYXRlKCk6KHR5cGVvZih0aW1lc3RhbXApPT0nbnVtYmVyJyk/bmV3IERhdGUodGltZXN0YW1wKjEwMDApOm5ldyBEYXRlKHRpbWVzdGFtcCkpO3ZhciBwYWQ9ZnVuY3Rpb24obixjKXtpZigobj1uKyIiKS5sZW5ndGg8Yyl7cmV0dXJuIG5ldyBBcnJheSgrK2Mtbi5sZW5ndGgpLmpvaW4oIjAiKStuO31lbHNle3JldHVybiBuO319O3ZhciBfZHN0PWZ1bmN0aW9uKHQpe3ZhciBkc3Q9MDt2YXIgamFuMT1uZXcgRGF0ZSh0LmdldEZ1bGxZZWFyKCksMCwxLDAsMCwwLDApO3ZhciBqdW5lMT1uZXcgRGF0ZSh0LmdldEZ1bGxZZWFyKCksNiwxLDAsMCwwLDApO3ZhciB0ZW1wPWphbjEudG9VVENTdHJpbmcoKTt2YXIgamFuMj1uZXcgRGF0ZSh0ZW1wLnNsaWNlKDAsdGVtcC5sYXN0SW5kZXhPZignICcpLTEpKTt0ZW1wPWp1bmUxLnRvVVRDU3RyaW5nKCk7dmFyIGp1bmUyPW5ldyBEYXRlKHRlbXAuc2xpY2UoMCx0ZW1wLmxhc3RJbmRleE9mKCcgJyktMSkpO3ZhciBzdGRfdGltZV9vZmZzZXQ9KGphbjEtamFuMikvKDEwMDAqNjAqNjApO3ZhciBkYXlsaWdodF90aW1lX29mZnNldD0oanVuZTEtanVuZTIpLygxMDAwKjYwKjYwKTtpZihzdGRfdGltZV9vZmZzZXQ9PT1kYXlsaWdodF90aW1lX29mZnNldCl7ZHN0PTA7fQplbHNle3ZhciBoZW1pc3BoZXJlPXN0ZF90aW1lX29mZnNldC1kYXlsaWdodF90aW1lX29mZnNldDtpZihoZW1pc3BoZXJlPj0wKXtzdGRfdGltZV9vZmZzZXQ9ZGF5bGlnaHRfdGltZV9vZmZzZXQ7fQpkc3Q9MTt9CnJldHVybiBkc3Q7fTt2YXIgcmV0PScnO3ZhciB0eHRfd2Vla2RheXM9WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdO3ZhciB0eHRfb3JkaW49ezE6InN0IiwyOiJuZCIsMzoicmQiLDIxOiJzdCIsMjI6Im5kIiwyMzoicmQiLDMxOiJzdCJ9O3ZhciB0eHRfbW9udGhzPVsiIiwiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXTt2YXIgZj17ZDpmdW5jdGlvbigpe3JldHVybiBwYWQoZi5qKCksMik7fSxEOmZ1bmN0aW9uKCl7dmFyIHQ9Zi5sKCk7cmV0dXJuIHQuc3Vic3RyKDAsMyk7fSxqOmZ1bmN0aW9uKCl7cmV0dXJuIGpzZGF0ZS5nZXREYXRlKCk7fSxsOmZ1bmN0aW9uKCl7cmV0dXJuIHR4dF93ZWVrZGF5c1tmLncoKV07fSxOOmZ1bmN0aW9uKCl7cmV0dXJuIGYudygpKzE7fSxTOmZ1bmN0aW9uKCl7cmV0dXJuIHR4dF9vcmRpbltmLmooKV0/dHh0X29yZGluW2YuaigpXTondGgnO30sdzpmdW5jdGlvbigpe3JldHVybiBqc2RhdGUuZ2V0RGF5KCk7fSx6OmZ1bmN0aW9uKCl7cmV0dXJuKGpzZGF0ZS1uZXcgRGF0ZShqc2RhdGUuZ2V0RnVsbFllYXIoKSsiLzEvMSIpKS84NjRlNT4+MDt9LFc6ZnVuY3Rpb24oKXt2YXIgYT1mLnooKSxiPTM2NCtmLkwoKS1hO3ZhciBuZDIsbmQ9KG5ldyBEYXRlKGpzZGF0ZS5nZXRGdWxsWWVhcigpKyIvMS8xIikuZ2V0RGF5KCl8fDcpLTE7aWYoYjw9MiYmKChqc2RhdGUuZ2V0RGF5KCl8fDcpLTEpPD0yLWIpe3JldHVybiAxO30KaWYoYTw9MiYmbmQ+PTQmJmE+PSg2LW5kKSl7bmQyPW5ldyBEYXRlKGpzZGF0ZS5nZXRGdWxsWWVhcigpLTErIi8xMi8zMSIpO3JldHVybiBkYXRlKCJXIixNYXRoLnJvdW5kKG5kMi5nZXRUaW1lKCkvMTAwMCkpO30KcmV0dXJuKDErKG5kPD0zPygoYStuZCkvNyk6KGEtKDctbmQpKS83KT4+MCk7fSxGOmZ1bmN0aW9uKCl7cmV0dXJuIHR4dF9tb250aHNbZi5uKCldO30sbTpmdW5jdGlvbigpe3JldHVybiBwYWQoZi5uKCksMik7fSxNOmZ1bmN0aW9uKCl7dmFyIHQ9Zi5GKCk7cmV0dXJuIHQuc3Vic3RyKDAsMyk7fSxuOmZ1bmN0aW9uKCl7cmV0dXJuIGpzZGF0ZS5nZXRNb250aCgpKzE7fSx0OmZ1bmN0aW9uKCl7dmFyIG47aWYoKG49anNkYXRlLmdldE1vbnRoKCkrMSk9PTIpe3JldHVybiAyOCtmLkwoKTt9CmlmKG4mMSYmbjw4fHwhKG4mMSkmJm4+Nyl7cmV0dXJuIDMxO30KcmV0dXJuIDMwO30sTDpmdW5jdGlvbigpe3ZhciB5PWYuWSgpO3JldHVybighKHkmMykmJih5JTFlMnx8ISh5JTRlMikpKT8xOjA7fSxvOmZ1bmN0aW9uKCl7aWYoZi5uKCk9PT0xMiYmZi5XKCk9PT0xKXtyZXR1cm4ganNkYXRlLmdldEZ1bGxZZWFyKCkrMTt9CmlmKGYubigpPT09MSYmZi5XKCk+PTUyKXtyZXR1cm4ganNkYXRlLmdldEZ1bGxZZWFyKCktMTt9CnJldHVybiBqc2RhdGUuZ2V0RnVsbFllYXIoKTt9LFk6ZnVuY3Rpb24oKXtyZXR1cm4ganNkYXRlLmdldEZ1bGxZZWFyKCk7fSx5OmZ1bmN0aW9uKCl7cmV0dXJuKGpzZGF0ZS5nZXRGdWxsWWVhcigpKyIiKS5zbGljZSgyKTt9LGE6ZnVuY3Rpb24oKXtyZXR1cm4ganNkYXRlLmdldEhvdXJzKCk+MTE/InBtIjoiYW0iO30sQTpmdW5jdGlvbigpe3JldHVybiBmLmEoKS50b1VwcGVyQ2FzZSgpO30sQjpmdW5jdGlvbigpe3ZhciBvZmY9KGpzZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpKzYwKSo2MDt2YXIgdGhlU2Vjb25kcz0oanNkYXRlLmdldEhvdXJzKCkqMzYwMCkrCihqc2RhdGUuZ2V0TWludXRlcygpKjYwKSsKanNkYXRlLmdldFNlY29uZHMoKStvZmY7dmFyIGJlYXQ9TWF0aC5mbG9vcih0aGVTZWNvbmRzLzg2LjQpO2lmKGJlYXQ+MTAwMCl7YmVhdC09MTAwMDt9CmlmKGJlYXQ8MCl7YmVhdCs9MTAwMDt9CmlmKChTdHJpbmcoYmVhdCkpLmxlbmd0aD09MSl7YmVhdD0iMDAiK2JlYXQ7fQppZigoU3RyaW5nKGJlYXQpKS5sZW5ndGg9PTIpe2JlYXQ9IjAiK2JlYXQ7fQpyZXR1cm4gYmVhdDt9LGc6ZnVuY3Rpb24oKXtyZXR1cm4ganNkYXRlLmdldEhvdXJzKCklMTJ8fDEyO30sRzpmdW5jdGlvbigpe3JldHVybiBqc2RhdGUuZ2V0SG91cnMoKTt9LGg6ZnVuY3Rpb24oKXtyZXR1cm4gcGFkKGYuZygpLDIpO30sSDpmdW5jdGlvbigpe3JldHVybiBwYWQoanNkYXRlLmdldEhvdXJzKCksMik7fSxpOmZ1bmN0aW9uKCl7cmV0dXJuIHBhZChqc2RhdGUuZ2V0TWludXRlcygpLDIpO30sczpmdW5jdGlvbigpe3JldHVybiBwYWQoanNkYXRlLmdldFNlY29uZHMoKSwyKTt9LHU6ZnVuY3Rpb24oKXtyZXR1cm4gcGFkKGpzZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSoxMDAwLDYpO30sZTpmdW5jdGlvbigpe3JldHVybidVVEMnO30sSTpmdW5jdGlvbigpe3JldHVybiBfZHN0KGpzZGF0ZSk7fSxPOmZ1bmN0aW9uKCl7dmFyIHQ9cGFkKE1hdGguYWJzKGpzZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpLzYwKjEwMCksNCk7dD0oanNkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCk+MCk/Ii0iK3Q6IisiK3Q7cmV0dXJuIHQ7fSxQOmZ1bmN0aW9uKCl7dmFyIE89Zi5PKCk7cmV0dXJuKE8uc3Vic3RyKDAsMykrIjoiK08uc3Vic3RyKDMsMikpO30sVDpmdW5jdGlvbigpe3JldHVybidVVEMnO30sWjpmdW5jdGlvbigpe3JldHVybi1qc2RhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSo2MDt9LGM6ZnVuY3Rpb24oKXtyZXR1cm4gZi5ZKCkrIi0iK2YubSgpKyItIitmLmQoKSsiVCIrZi5oKCkrIjoiK2YuaSgpKyI6IitmLnMoKStmLlAoKTt9LHI6ZnVuY3Rpb24oKXtyZXR1cm4gZi5EKCkrJywgJytmLmQoKSsnICcrZi5NKCkrJyAnK2YuWSgpKycgJytmLkgoKSsnOicrZi5pKCkrJzonK2YucygpKycgJytmLk8oKTt9LFU6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yb3VuZChqc2RhdGUuZ2V0VGltZSgpLzEwMDApO319O3JldHVybiBmb3JtYXQucmVwbGFjZSgvW1xcXT8oW2EtekEtWl0pL2csZnVuY3Rpb24odCxzKXtpZih0IT1zKXtyZXQ9czt9ZWxzZSBpZihmW3NdKXtyZXQ9ZltzXSgpO31lbHNle3JldD1zO30KcmV0dXJuIHJldDt9KTt9CmZ1bmN0aW9uIGdldGVudih2YXJuYW1lKXtpZighdGhpcy5waHBfanN8fCF0aGlzLnBocF9qcy5FTlZ8fCF0aGlzLnBocF9qcy5FTlZbdmFybmFtZV0pe3JldHVybiBmYWxzZTt9CnJldHVybiB0aGlzLnBocF9qcy5FTlZbdmFybmFtZV07fQpmdW5jdGlvbiBta3RpbWUoKXt2YXIgbm89MCxpPTAsbWE9MCxtYj0wLGQ9bmV3IERhdGUoKSxkbj1uZXcgRGF0ZSgpLGFyZ3Y9YXJndW1lbnRzLGFyZ2M9YXJndi5sZW5ndGg7dmFyIGRhdGVNYW5pcD17MDpmdW5jdGlvbih0dCl7cmV0dXJuIGQuc2V0SG91cnModHQpO30sMTpmdW5jdGlvbih0dCl7cmV0dXJuIGQuc2V0TWludXRlcyh0dCk7fSwyOmZ1bmN0aW9uKHR0KXt2YXIgc2V0PWQuc2V0U2Vjb25kcyh0dCk7bWI9ZC5nZXREYXRlKCktZG4uZ2V0RGF0ZSgpO3JldHVybiBzZXQ7fSwzOmZ1bmN0aW9uKHR0KXt2YXIgc2V0PWQuc2V0TW9udGgocGFyc2VJbnQodHQsMTApLTEpO21hPWQuZ2V0RnVsbFllYXIoKS1kbi5nZXRGdWxsWWVhcigpO3JldHVybiBzZXQ7fSw0OmZ1bmN0aW9uKHR0KXtyZXR1cm4gZC5zZXREYXRlKHR0K21iKTt9LDU6ZnVuY3Rpb24odHQpe2lmKHR0Pj0wJiZ0dDw9Njkpe3R0Kz0yMDAwO30KZWxzZSBpZih0dD49NzAmJnR0PD0xMDApe3R0Kz0xOTAwO30KcmV0dXJuIGQuc2V0RnVsbFllYXIodHQrbWEpO319O2ZvcihpPTA7aTxhcmdjO2krKyl7bm89cGFyc2VJbnQoYXJndltpXSoxLDEwKTtpZihpc05hTihubykpe3JldHVybiBmYWxzZTt9ZWxzZXtpZighZGF0ZU1hbmlwW2ldKG5vKSl7cmV0dXJuIGZhbHNlO319fQpmb3IoaT1hcmdjO2k8NjtpKyspe3N3aXRjaChpKXtjYXNlIDA6bm89ZG4uZ2V0SG91cnMoKTticmVhaztjYXNlIDE6bm89ZG4uZ2V0TWludXRlcygpO2JyZWFrO2Nhc2UgMjpubz1kbi5nZXRTZWNvbmRzKCk7YnJlYWs7Y2FzZSAzOm5vPWRuLmdldE1vbnRoKCkrMTticmVhaztjYXNlIDQ6bm89ZG4uZ2V0RGF0ZSgpO2JyZWFrO2Nhc2UgNTpubz1kbi5nZXRGdWxsWWVhcigpO2JyZWFrO30KZGF0ZU1hbmlwW2ldKG5vKTt9CnJldHVybiBNYXRoLmZsb29yKGQuZ2V0VGltZSgpLzEwMDApO30KZnVuY3Rpb24gc2V0bG9jYWxlKGNhdGVnb3J5LGxvY2FsZSl7dmFyIGNhdGVnPScnLGNhdHM9W10saT0wLGQ9dGhpcy53aW5kb3cuZG9jdW1lbnQ7dGhpcy5waHBfanM9dGhpcy5waHBfanN8fHt9O3ZhciBwaHBqcz10aGlzLnBocF9qczt2YXIgX2NvcHk9ZnVuY3Rpb24gX2NvcHkob3JpZyl7dmFyIG5ld09iaj17fTtmb3IodmFyIGkgaW4gb3JpZyl7aWYodHlwZW9mIG9yaWdbaV09PT0nb2JqZWN0Jyl7bmV3T2JqW2ldPV9jb3B5KG9yaWdbaV0pO30KZWxzZXtuZXdPYmpbaV09b3JpZ1tpXTt9fQpyZXR1cm4gbmV3T2JqO307aWYoIXBocGpzLmxvY2FsZXMpe3BocGpzLmxvY2FsZXM9e307cGhwanMubG9jYWxlcy5lbj17J0xDX0NPTExBVEUnOicnLCdMQ19DVFlQRSc6e2FuOi9eW0EtWmEtelxkXSskL2csYWw6L15bQS1aYS16XSskL2csY3Q6L15bXHUwMDAwLVx1MDAxRlx1MDA3Rl0rJC9nLGRnOi9eW1xkXSskL2csZ3I6L15bXHUwMDIxLVx1MDA3RV0rJC9nLGx3Oi9eW2Etel0rJC9nLHByOi9eW1x1MDAyMC1cdTAwN0VdKyQvZyxwdTovXltcdTAwMjEtXHUwMDJGXHUwMDNBLVx1MDA0MFx1MDA1Qi1cdTAwNjBcdTAwN0ItXHUwMDdFXSskL2csc3A6L15bXGZcblxyXHRcdiBdKyQvZyx1cDovXltBLVpdKyQvZyx4ZDovXltBLUZhLWZcZF0rJC9nLENPREVTRVQ6J1VURi04Jyxsb3dlcjonYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonLHVwcGVyOidBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWid9LCdMQ19USU1FJzp7YTpbJ1N1bicsJ01vbicsJ1R1ZScsJ1dlZCcsJ1RodScsJ0ZyaScsJ1NhdCddLEE6WydTdW5kYXknLCdNb25kYXknLCdUdWVzZGF5JywnV2VkbmVzZGF5JywnVGh1cnNkYXknLCdGcmlkYXknLCdTYXR1cmRheSddLGI6WydKYW4nLCdGZWInLCdNYXInLCdBcHInLCdNYXknLCdKdW4nLCdKdWwnLCdBdWcnLCdTZXAnLCdPY3QnLCdOb3YnLCdEZWMnXSxCOlsnSmFudWFyeScsJ0ZlYnJ1YXJ5JywnTWFyY2gnLCdBcHJpbCcsJ01heScsJ0p1bmUnLCdKdWx5JywnQXVndXN0JywnU2VwdGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXSxjOiclYSAlZCAlYiAlWSAlciAlWicscDpbJ0FNJywnUE0nXSxQOlsnYW0nLCdwbSddLHI6JyVJOiVNOiVTICVwJyx4OiclbS8lZC8lWScsWDonJXInLGFsdF9kaWdpdHM6JycsRVJBOicnLEVSQV9ZRUFSOicnLEVSQV9EX1RfRk1UOicnLEVSQV9EX0ZNVDonJyxFUkFfVF9GTVQ6Jyd9LCdMQ19NT05FVEFSWSc6e2ludF9jdXJyX3N5bWJvbDonVVNEJyxjdXJyZW5jeV9zeW1ib2w6JyQnLG1vbl9kZWNpbWFsX3BvaW50OicuJyxtb25fdGhvdXNhbmRzX3NlcDonLCcsbW9uX2dyb3VwaW5nOlszXSxwb3NpdGl2ZV9zaWduOicnLG5lZ2F0aXZlX3NpZ246Jy0nLGludF9mcmFjX2RpZ2l0czoyLGZyYWNfZGlnaXRzOjIscF9jc19wcmVjZWRlczoxLHBfc2VwX2J5X3NwYWNlOjAsbl9jc19wcmVjZWRlczoxLG5fc2VwX2J5X3NwYWNlOjAscF9zaWduX3Bvc246MyxuX3NpZ25fcG9zbjowfSwnTENfTlVNRVJJQyc6e2RlY2ltYWxfcG9pbnQ6Jy4nLHRob3VzYW5kc19zZXA6JywnLGdyb3VwaW5nOlszXX0sJ0xDX01FU1NBR0VTJzp7WUVTRVhQUjonXlt5WV0uKicsTk9FWFBSOideW25OXS4qJyxZRVNTVFI6JycsTk9TVFI6Jyd9fTtwaHBqcy5sb2NhbGVzLmVuX1VTPV9jb3B5KHBocGpzLmxvY2FsZXMuZW4pO3BocGpzLmxvY2FsZXMuZW5fVVMuTENfVElNRS5jPSclYSAlZCAlYiAlWSAlciAlWic7cGhwanMubG9jYWxlcy5lbl9VUy5MQ19USU1FLng9JyVEJztwaHBqcy5sb2NhbGVzLmVuX1VTLkxDX1RJTUUuWD0nJXInO3BocGpzLmxvY2FsZXMuZW5fR0I9X2NvcHkocGhwanMubG9jYWxlcy5lbik7cGhwanMubG9jYWxlcy5lbl9HQi5MQ19USU1FLnI9JyVsOiVNOiVTICVQICVaJztwaHBqcy5sb2NhbGVzLmVuX0FVPV9jb3B5KHBocGpzLmxvY2FsZXMuZW5fR0IpO3BocGpzLmxvY2FsZXMuQz1fY29weShwaHBqcy5sb2NhbGVzLmVuKTtwaHBqcy5sb2NhbGVzLkMuTENfQ1RZUEUuQ09ERVNFVD0nQU5TSV9YMy40LTE5NjgnO3BocGpzLmxvY2FsZXMuQy5MQ19NT05FVEFSWT17aW50X2N1cnJfc3ltYm9sOicnLGN1cnJlbmN5X3N5bWJvbDonJyxtb25fZGVjaW1hbF9wb2ludDonJyxtb25fdGhvdXNhbmRzX3NlcDonJyxtb25fZ3JvdXBpbmc6W10scF9jc19wcmVjZWRlczoxMjcscF9zZXBfYnlfc3BhY2U6MTI3LG5fY3NfcHJlY2VkZXM6MTI3LG5fc2VwX2J5X3NwYWNlOjEyNyxwX3NpZ25fcG9zbjoxMjcsbl9zaWduX3Bvc246MTI3LHBvc2l0aXZlX3NpZ246JycsbmVnYXRpdmVfc2lnbjonJyxpbnRfZnJhY19kaWdpdHM6MTI3LGZyYWNfZGlnaXRzOjEyN307cGhwanMubG9jYWxlcy5DLkxDX05VTUVSSUM9e2RlY2ltYWxfcG9pbnQ6Jy4nLHRob3VzYW5kc19zZXA6JycsZ3JvdXBpbmc6W119O3BocGpzLmxvY2FsZXMuQy5MQ19USU1FLmM9JyVhICViICVlICVIOiVNOiVTICVZJztwaHBqcy5sb2NhbGVzLkMuTENfVElNRS54PSclbS8lZC8leSc7cGhwanMubG9jYWxlcy5DLkxDX1RJTUUuWD0nJUg6JU06JVMnO3BocGpzLmxvY2FsZXMuQy5MQ19NRVNTQUdFUy5ZRVNFWFBSPSdeW3lZXSc7cGhwanMubG9jYWxlcy5DLkxDX01FU1NBR0VTLk5PRVhQUj0nXltuTl0nO3BocGpzLmxvY2FsZXMuZnI9X2NvcHkocGhwanMubG9jYWxlcy5lbik7cGhwanMubG9jYWxlcy5mci5MQ19USU1FLmE9WydkaW0nLCdsdW4nLCdtYXInLCdtZXInLCdqZXUnLCd2ZW4nLCdzYW0nXTtwaHBqcy5sb2NhbGVzLmZyLkxDX1RJTUUuQT1bJ2RpbWFuY2hlJywnbHVuZGknLCdtYXJkaScsJ21lcmNyZWRpJywnamV1ZGknLCd2ZW5kcmVkaScsJ3NhbWVkaSddO3BocGpzLmxvY2FsZXMuZnIuTENfVElNRS5iPVsnamFuJywnZsODwql2JywnbWFyJywnYXZyJywnbWFpJywnanVuJywnanVpJywnYW/Dg8K7Jywnc2VwJywnb2N0Jywnbm92JywnZMODwqljJ107cGhwanMubG9jYWxlcy5mci5MQ19USU1FLkI9WydqYW52aWVyJywnZsODwql2cmllcicsJ21hcnMnLCdhdnJpbCcsJ21haScsJ2p1aW4nLCdqdWlsbGV0JywnYW/Dg8K7dCcsJ3NlcHRlbWJyZScsJ29jdG9icmUnLCdub3ZlbWJyZScsJ2TDg8KpY2VtYnJlJ107cGhwanMubG9jYWxlcy5mci5MQ19USU1FLmM9JyVhICVkICViICVZICVUICVaJztwaHBqcy5sb2NhbGVzLmZyLkxDX1RJTUUucD1bJycsJyddO3BocGpzLmxvY2FsZXMuZnIuTENfVElNRS5QPVsnJywnJ107cGhwanMubG9jYWxlcy5mci5MQ19USU1FLng9JyVkLiVtLiVZJztwaHBqcy5sb2NhbGVzLmZyLkxDX1RJTUUuWD0nJVQnO3BocGpzLmxvY2FsZXMuZnJfQ0E9X2NvcHkocGhwanMubG9jYWxlcy5mcik7cGhwanMubG9jYWxlcy5mcl9DQS5MQ19USU1FLng9JyVZLSVtLSVkJzt9CmlmKCFwaHBqcy5sb2NhbGUpe3BocGpzLmxvY2FsZT0nZW5fVVMnO3ZhciBOU19YSFRNTD0naHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCc7dmFyIE5TX1hNTD0naHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlJztpZihkLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMmJmQuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhOU19YSFRNTCwnaHRtbCcpWzBdKXtpZihkLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoTlNfWEhUTUwsJ2h0bWwnKVswXS5nZXRBdHRyaWJ1dGVOUyYmZC5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKE5TX1hIVE1MLCdodG1sJylbMF0uZ2V0QXR0cmlidXRlTlMoTlNfWE1MLCdsYW5nJykpe3BocGpzLmxvY2FsZT1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKE5TX1hIVE1MLCdodG1sJylbMF0uZ2V0QXR0cmlidXRlTlMoTlNfWE1MLCdsYW5nJyk7fWVsc2UgaWYoZC5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKE5TX1hIVE1MLCdodG1sJylbMF0ubGFuZyl7cGhwanMubG9jYWxlPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhOU19YSFRNTCwnaHRtbCcpWzBdLmxhbmc7fX1lbHNlIGlmKGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXSYmZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdLmxhbmcpe3BocGpzLmxvY2FsZT1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF0ubGFuZzt9fQpwaHBqcy5sb2NhbGU9cGhwanMubG9jYWxlLnJlcGxhY2UoJy0nLCdfJyk7aWYoIShwaHBqcy5sb2NhbGUgaW4gcGhwanMubG9jYWxlcykpe2lmKHBocGpzLmxvY2FsZS5yZXBsYWNlKC9fW2EtekEtWl0rJC8sJycpaW4gcGhwanMubG9jYWxlcyl7cGhwanMubG9jYWxlPXBocGpzLmxvY2FsZS5yZXBsYWNlKC9fW2EtekEtWl0rJC8sJycpO319CmlmKCFwaHBqcy5sb2NhbGVDYXRlZ29yaWVzKXtwaHBqcy5sb2NhbGVDYXRlZ29yaWVzPXsnTENfQ09MTEFURSc6cGhwanMubG9jYWxlLCdMQ19DVFlQRSc6cGhwanMubG9jYWxlLCdMQ19NT05FVEFSWSc6cGhwanMubG9jYWxlLCdMQ19OVU1FUklDJzpwaHBqcy5sb2NhbGUsJ0xDX1RJTUUnOnBocGpzLmxvY2FsZSwnTENfTUVTU0FHRVMnOnBocGpzLmxvY2FsZX07fQppZihsb2NhbGU9PT1udWxsfHxsb2NhbGU9PT0nJyl7bG9jYWxlPXRoaXMuZ2V0ZW52KGNhdGVnb3J5KXx8dGhpcy5nZXRlbnYoJ0xBTkcnKTt9ZWxzZSBpZihsb2NhbGUgaW5zdGFuY2VvZiBBcnJheSl7Zm9yKGk9MDtpPGxvY2FsZS5sZW5ndGg7aSsrKXtpZighKGxvY2FsZVtpXWluIHRoaXMucGhwX2pzLmxvY2FsZXMpKXtpZihpPT09bG9jYWxlLmxlbmd0aC0xKXtyZXR1cm4gZmFsc2U7fQpjb250aW51ZTt9CmxvY2FsZT1sb2NhbGVbaV07YnJlYWs7fX0KaWYobG9jYWxlPT09JzAnfHxsb2NhbGU9PT0wKXtpZihjYXRlZ29yeT09PSdMQ19BTEwnKXtmb3IoY2F0ZWcgaW4gdGhpcy5waHBfanMubG9jYWxlQ2F0ZWdvcmllcyl7Y2F0cy5wdXNoKGNhdGVnKyc9Jyt0aGlzLnBocF9qcy5sb2NhbGVDYXRlZ29yaWVzW2NhdGVnXSk7fQpyZXR1cm4gY2F0cy5qb2luKCc7Jyk7fQpyZXR1cm4gdGhpcy5waHBfanMubG9jYWxlQ2F0ZWdvcmllc1tjYXRlZ29yeV07fQppZighKGxvY2FsZSBpbiB0aGlzLnBocF9qcy5sb2NhbGVzKSl7cmV0dXJuIGZhbHNlO30KaWYoY2F0ZWdvcnk9PT0nTENfQUxMJyl7Zm9yKGNhdGVnIGluIHRoaXMucGhwX2pzLmxvY2FsZUNhdGVnb3JpZXMpe3RoaXMucGhwX2pzLmxvY2FsZUNhdGVnb3JpZXNbY2F0ZWddPWxvY2FsZTt9fWVsc2V7dGhpcy5waHBfanMubG9jYWxlQ2F0ZWdvcmllc1tjYXRlZ29yeV09bG9jYWxlO30KcmV0dXJuIGxvY2FsZTt9CmZ1bmN0aW9uIHN0cmZ0aW1lKGZtdCx0aW1lc3RhbXApe3RoaXMucGhwX2pzPXRoaXMucGhwX2pzfHx7fTt2YXIgcGhwanM9dGhpcy5waHBfanM7dGhpcy5zZXRsb2NhbGUoJ0xDX0FMTCcsMCk7dmFyIF94UGFkPWZ1bmN0aW9uKHgscGFkLHIpe2lmKHR5cGVvZiByPT09J3VuZGVmaW5lZCcpe3I9MTA7fQpmb3IoO3BhcnNlSW50KHgsMTApPHImJnI+MTtyLz0xMCl7eD1wYWQudG9TdHJpbmcoKSt4O30KcmV0dXJuIHgudG9TdHJpbmcoKTt9O3ZhciBsb2NhbGU9cGhwanMubG9jYWxlQ2F0ZWdvcmllcy5MQ19USU1FO3ZhciBsb2NhbGVzPXBocGpzLmxvY2FsZXM7dmFyIF9mb3JtYXRzPXthOmZ1bmN0aW9uKGQpe3JldHVybiBsb2NhbGVzW2xvY2FsZV0uTENfVElNRS5hW2QuZ2V0RGF5KCldO30sQTpmdW5jdGlvbihkKXtyZXR1cm4gbG9jYWxlc1tsb2NhbGVdLkxDX1RJTUUuQVtkLmdldERheSgpXTt9LGI6ZnVuY3Rpb24oZCl7cmV0dXJuIGxvY2FsZXNbbG9jYWxlXS5MQ19USU1FLmJbZC5nZXRNb250aCgpXTt9LEI6ZnVuY3Rpb24oZCl7cmV0dXJuIGxvY2FsZXNbbG9jYWxlXS5MQ19USU1FLkJbZC5nZXRNb250aCgpXTt9LEM6ZnVuY3Rpb24oZCl7cmV0dXJuIF94UGFkKHBhcnNlSW50KGQuZ2V0RnVsbFllYXIoKS8xMDAsMTApLDApO30sZDpbJ2dldERhdGUnLCcwJ10sZTpbJ2dldERhdGUnLCcgJ10sZzpmdW5jdGlvbihkKXtyZXR1cm4gX3hQYWQocGFyc2VJbnQodGhpcy5HKGQpLzEwMCwxMCksMCk7fSxHOmZ1bmN0aW9uKGQpe3ZhciB5PWQuZ2V0RnVsbFllYXIoKTt2YXIgVj1wYXJzZUludChfZm9ybWF0cy5WKGQpLDEwKTt2YXIgVz1wYXJzZUludChfZm9ybWF0cy5XKGQpLDEwKTtpZihXPlYpe3krKzt9CmVsc2UgaWYoVz09PTAmJlY+PTUyKXt5LS07fQpyZXR1cm4geTt9LEg6WydnZXRIb3VycycsJzAnXSxJOmZ1bmN0aW9uKGQpe3ZhciBJPWQuZ2V0SG91cnMoKSUxMjtyZXR1cm4gX3hQYWQoST09PTA/MTI6SSwwKTt9LGo6ZnVuY3Rpb24oZCl7dmFyIG1zPWQtbmV3IERhdGUoJycrZC5nZXRGdWxsWWVhcigpKycvMS8xIEdNVCcpO21zKz1kLmdldFRpbWV6b25lT2Zmc2V0KCkqNjAwMDA7dmFyIGRveT1wYXJzZUludChtcy82MDAwMC82MC8yNCwxMCkrMTtyZXR1cm4gX3hQYWQoZG95LDAsMTAwKTt9LGw6ZnVuY3Rpb24oZCl7dmFyIGw9ZC5nZXRIb3VycygpJTEyO3JldHVybiBfeFBhZChsPT09MD8xMjpsLCcgJyk7fSxtOmZ1bmN0aW9uKGQpe3JldHVybiBfeFBhZChkLmdldE1vbnRoKCkrMSwwKTt9LE06WydnZXRNaW51dGVzJywnMCddLHA6ZnVuY3Rpb24oZCl7cmV0dXJuIGxvY2FsZXNbbG9jYWxlXS5MQ19USU1FLnBbZC5nZXRIb3VycygpPj0xMj8xOjBdO30sUDpmdW5jdGlvbihkKXtyZXR1cm4gbG9jYWxlc1tsb2NhbGVdLkxDX1RJTUUuUFtkLmdldEhvdXJzKCk+PTEyPzE6MF07fSxzOmZ1bmN0aW9uKGQpe3JldHVybiBEYXRlLnBhcnNlKGQpLzEwMDA7fSxTOlsnZ2V0U2Vjb25kcycsJzAnXSx1OmZ1bmN0aW9uKGQpe3ZhciBkb3c9ZC5nZXREYXkoKTtyZXR1cm4oKGRvdz09PTApPzc6ZG93KTt9LFU6ZnVuY3Rpb24oZCl7dmFyIGRveT1wYXJzZUludChfZm9ybWF0cy5qKGQpLDEwKTt2YXIgcmRvdz02LWQuZ2V0RGF5KCk7dmFyIHdveT1wYXJzZUludCgoZG95K3Jkb3cpLzcsMTApO3JldHVybiBfeFBhZCh3b3ksMCk7fSxWOmZ1bmN0aW9uKGQpe3ZhciB3b3k9cGFyc2VJbnQoX2Zvcm1hdHMuVyhkKSwxMCk7dmFyIGRvdzFfMT0obmV3IERhdGUoJycrZC5nZXRGdWxsWWVhcigpKycvMS8xJykpLmdldERheSgpO3ZhciBpZG93PXdveSsoZG93MV8xPjR8fGRvdzFfMTw9MT8wOjEpO2lmKGlkb3c9PT01MyYmKG5ldyBEYXRlKCcnK2QuZ2V0RnVsbFllYXIoKSsnLzEyLzMxJykpLmdldERheSgpPDQpe2lkb3c9MTt9CmVsc2UgaWYoaWRvdz09PTApe2lkb3c9X2Zvcm1hdHMuVihuZXcgRGF0ZSgnJysoZC5nZXRGdWxsWWVhcigpLTEpKycvMTIvMzEnKSk7fQpyZXR1cm4gX3hQYWQoaWRvdywwKTt9LHc6J2dldERheScsVzpmdW5jdGlvbihkKXt2YXIgZG95PXBhcnNlSW50KF9mb3JtYXRzLmooZCksMTApO3ZhciByZG93PTctX2Zvcm1hdHMudShkKTt2YXIgd295PXBhcnNlSW50KChkb3krcmRvdykvNywxMCk7cmV0dXJuIF94UGFkKHdveSwwLDEwKTt9LHk6ZnVuY3Rpb24oZCl7cmV0dXJuIF94UGFkKGQuZ2V0RnVsbFllYXIoKSUxMDAsMCk7fSxZOidnZXRGdWxsWWVhcicsejpmdW5jdGlvbihkKXt2YXIgbz1kLmdldFRpbWV6b25lT2Zmc2V0KCk7dmFyIEg9X3hQYWQocGFyc2VJbnQoTWF0aC5hYnMoby82MCksMTApLDApO3ZhciBNPV94UGFkKG8lNjAsMCk7cmV0dXJuKG8+MD8nLSc6JysnKStIK007fSxaOmZ1bmN0aW9uKGQpe3JldHVybiBkLnRvU3RyaW5nKCkucmVwbGFjZSgvXi4qXCgoW14pXSspXCkkLywnJDEnKTt9LCclJzpmdW5jdGlvbihkKXtyZXR1cm4nJSc7fX07dmFyIF9kYXRlPSgodHlwZW9mKHRpbWVzdGFtcCk9PSd1bmRlZmluZWQnKT9uZXcgRGF0ZSgpOih0eXBlb2YodGltZXN0YW1wKT09J251bWJlcicpP25ldyBEYXRlKHRpbWVzdGFtcCoxMDAwKTpuZXcgRGF0ZSh0aW1lc3RhbXApKTt2YXIgX2FnZ3JlZ2F0ZXM9e2M6J2xvY2FsZScsRDonJW0vJWQvJXknLEY6JyV5LSVtLSVkJyxoOiclYicsbjonXG4nLHI6J2xvY2FsZScsUjonJUg6JU0nLHQ6J1x0JyxUOiclSDolTTolUycseDonbG9jYWxlJyxYOidsb2NhbGUnLHo6X2Zvcm1hdHMueihfZGF0ZSksWjpfZm9ybWF0cy5aKF9kYXRlKX07d2hpbGUoZm10Lm1hdGNoKC8lW2NERmhuclJ0VHhYelpdLykpe2ZtdD1mbXQucmVwbGFjZSgvJShbY0RGaG5yUnRUeFh6Wl0pL2csZnVuY3Rpb24obTAsbTEpCnt2YXIgZj1fYWdncmVnYXRlc1ttMV07cmV0dXJuKGY9PT0nbG9jYWxlJz9sb2NhbGVzW2xvY2FsZV0uTENfVElNRVttMV06Zik7fSk7fQp2YXIgc3RyPWZtdC5yZXBsYWNlKC8lKFthQWJCQ2RlZ0dISWpsbU1wUHNTdVVWd1d5WSVdKS9nLGZ1bmN0aW9uKG0wLG0xKXt2YXIgZj1fZm9ybWF0c1ttMV07aWYodHlwZW9mIGY9PT0nc3RyaW5nJyl7cmV0dXJuIF9kYXRlW2ZdKCk7fWVsc2UgaWYodHlwZW9mIGY9PT0nZnVuY3Rpb24nKXtyZXR1cm4gZihfZGF0ZSk7fWVsc2UgaWYodHlwZW9mIGY9PT0nb2JqZWN0JyYmdHlwZW9mKGZbMF0pPT09J3N0cmluZycpe3JldHVybiBfeFBhZChfZGF0ZVtmWzBdXSgpLGZbMV0pO31lbHNle3JldHVybiBtMTt9fSk7cmV0dXJuIHN0cjt9CmZ1bmN0aW9uIHN0cnRvdGltZShzdHIsbm93KXt2YXIgaSxtYXRjaCxzLHN0clRtcD0nJyxwYXJzZT0nJztzdHJUbXA9c3RyO3N0clRtcD1zdHJUbXAucmVwbGFjZSgvXHN7Mix9fF5cc3xccyQvZywnICcpO3N0clRtcD1zdHJUbXAucmVwbGFjZSgvW1x0XHJcbl0vZywnJyk7aWYoc3RyVG1wPT0nbm93Jyl7cmV0dXJuKG5ldyBEYXRlKCkpLmdldFRpbWUoKS8xMDAwO31lbHNlIGlmKCFpc05hTihwYXJzZT1EYXRlLnBhcnNlKHN0clRtcCkpKXtyZXR1cm4ocGFyc2UvMTAwMCk7fWVsc2UgaWYobm93KXtub3c9bmV3IERhdGUobm93KjEwMDApO31lbHNle25vdz1uZXcgRGF0ZSgpO30Kc3RyVG1wPXN0clRtcC50b0xvd2VyQ2FzZSgpO3ZhciBfX2lzPXtkYXk6eydzdW4nOjAsJ21vbic6MSwndHVlJzoyLCd3ZWQnOjMsJ3RodSc6NCwnZnJpJzo1LCdzYXQnOjZ9LG1vbjp7J2phbic6MCwnZmViJzoxLCdtYXInOjIsJ2Fwcic6MywnbWF5Jzo0LCdqdW4nOjUsJ2p1bCc6NiwnYXVnJzo3LCdzZXAnOjgsJ29jdCc6OSwnbm92JzoxMCwnZGVjJzoxMX19O3ZhciBwcm9jZXNzPWZ1bmN0aW9uKG0pe3ZhciBhZ289KG1bMl0mJm1bMl09PSdhZ28nKTt2YXIgbnVtPShudW09bVswXT09J2xhc3QnPy0xOjEpKihhZ28/LTE6MSk7c3dpdGNoKG1bMF0pe2Nhc2UnbGFzdCc6Y2FzZSduZXh0Jzpzd2l0Y2gobVsxXS5zdWJzdHJpbmcoMCwzKSl7Y2FzZSd5ZWEnOm5vdy5zZXRGdWxsWWVhcihub3cuZ2V0RnVsbFllYXIoKStudW0pO2JyZWFrO2Nhc2UnbW9uJzpub3cuc2V0TW9udGgobm93LmdldE1vbnRoKCkrbnVtKTticmVhaztjYXNlJ3dlZSc6bm93LnNldERhdGUobm93LmdldERhdGUoKSsobnVtKjcpKTticmVhaztjYXNlJ2RheSc6bm93LnNldERhdGUobm93LmdldERhdGUoKStudW0pO2JyZWFrO2Nhc2UnaG91Jzpub3cuc2V0SG91cnMobm93LmdldEhvdXJzKCkrbnVtKTticmVhaztjYXNlJ21pbic6bm93LnNldE1pbnV0ZXMobm93LmdldE1pbnV0ZXMoKStudW0pO2JyZWFrO2Nhc2Unc2VjJzpub3cuc2V0U2Vjb25kcyhub3cuZ2V0U2Vjb25kcygpK251bSk7YnJlYWs7ZGVmYXVsdDp2YXIgZGF5O2lmKHR5cGVvZihkYXk9X19pcy5kYXlbbVsxXS5zdWJzdHJpbmcoMCwzKV0pIT0ndW5kZWZpbmVkJyl7dmFyIGRpZmY9ZGF5LW5vdy5nZXREYXkoKTtpZihkaWZmPT0wKXtkaWZmPTcqbnVtO31lbHNlIGlmKGRpZmY+MCl7aWYobVswXT09J2xhc3QnKXtkaWZmLT03O319ZWxzZXtpZihtWzBdPT0nbmV4dCcpe2RpZmYrPTc7fX0Kbm93LnNldERhdGUobm93LmdldERhdGUoKStkaWZmKTt9fQpicmVhaztkZWZhdWx0OmlmKC9cZCsvLnRlc3QobVswXSkpe251bSo9cGFyc2VJbnQobVswXSwxMCk7c3dpdGNoKG1bMV0uc3Vic3RyaW5nKDAsMykpe2Nhc2UneWVhJzpub3cuc2V0RnVsbFllYXIobm93LmdldEZ1bGxZZWFyKCkrbnVtKTticmVhaztjYXNlJ21vbic6bm93LnNldE1vbnRoKG5vdy5nZXRNb250aCgpK251bSk7YnJlYWs7Y2FzZSd3ZWUnOm5vdy5zZXREYXRlKG5vdy5nZXREYXRlKCkrKG51bSo3KSk7YnJlYWs7Y2FzZSdkYXknOm5vdy5zZXREYXRlKG5vdy5nZXREYXRlKCkrbnVtKTticmVhaztjYXNlJ2hvdSc6bm93LnNldEhvdXJzKG5vdy5nZXRIb3VycygpK251bSk7YnJlYWs7Y2FzZSdtaW4nOm5vdy5zZXRNaW51dGVzKG5vdy5nZXRNaW51dGVzKCkrbnVtKTticmVhaztjYXNlJ3NlYyc6bm93LnNldFNlY29uZHMobm93LmdldFNlY29uZHMoKStudW0pO2JyZWFrO319ZWxzZXtyZXR1cm4gZmFsc2U7fQpicmVhazt9CnJldHVybiB0cnVlO307bWF0Y2g9c3RyVG1wLm1hdGNoKC9eKFxkezIsNH0tXGR7Mn0tXGR7Mn0pKD86XHMoXGR7MSwyfTpcZHsyfSg6XGR7Mn0pPyk/KD86XC4oXGQrKSk/KT8kLyk7aWYobWF0Y2ghPW51bGwpe2lmKCFtYXRjaFsyXSl7bWF0Y2hbMl09JzAwOjAwOjAwJzt9ZWxzZSBpZighbWF0Y2hbM10pe21hdGNoWzJdKz0nOjAwJzt9CnM9bWF0Y2hbMV0uc3BsaXQoLy0vZyk7Zm9yKGkgaW4gX19pcy5tb24pe2lmKF9faXMubW9uW2ldPT1zWzFdLTEpe3NbMV09aTt9fQpzWzBdPXBhcnNlSW50KHNbMF0sMTApO3NbMF09KHNbMF0+PTAmJnNbMF08PTY5KT8nMjAnKyhzWzBdPDEwPycwJytzWzBdOnNbMF0rJycpOihzWzBdPj03MCYmc1swXTw9OTkpPycxOScrc1swXTpzWzBdKycnO3JldHVybiBwYXJzZUludCh0aGlzLnN0cnRvdGltZShzWzJdKycgJytzWzFdKycgJytzWzBdKycgJyttYXRjaFsyXSkrKG1hdGNoWzRdP21hdGNoWzRdLzEwMDA6JycpLDEwKTt9CnZhciByZWdleD0nKFsrLV0/XFxkK1xccycrJyh5ZWFycz98bW9udGhzP3x3ZWVrcz98ZGF5cz98aG91cnM/fG1pbnxtaW51dGVzP3xzZWN8c2Vjb25kcz8nKyd8c3VuXC4/fHN1bmRheXxtb25cLj98bW9uZGF5fHR1ZVwuP3x0dWVzZGF5fHdlZFwuP3x3ZWRuZXNkYXknKyd8dGh1XC4/fHRodXJzZGF5fGZyaVwuP3xmcmlkYXl8c2F0XC4/fHNhdHVyZGF5KScrJ3wobGFzdHxuZXh0KVxccycrJyh5ZWFycz98bW9udGhzP3x3ZWVrcz98ZGF5cz98aG91cnM/fG1pbnxtaW51dGVzP3xzZWN8c2Vjb25kcz8nKyd8c3VuXC4/fHN1bmRheXxtb25cLj98bW9uZGF5fHR1ZVwuP3x0dWVzZGF5fHdlZFwuP3x3ZWRuZXNkYXknKyd8dGh1XC4/fHRodXJzZGF5fGZyaVwuP3xmcmlkYXl8c2F0XC4/fHNhdHVyZGF5KSknKycoXFxzYWdvKT8nO21hdGNoPXN0clRtcC5tYXRjaChuZXcgUmVnRXhwKHJlZ2V4LCdnJykpO2lmKG1hdGNoPT1udWxsKXtyZXR1cm4gZmFsc2U7fQpmb3IoaSBpbiBtYXRjaCl7aWYoIXByb2Nlc3MobWF0Y2hbaV0uc3BsaXQoJyAnKSkpe3JldHVybiBmYWxzZTt9fQpyZXR1cm4obm93LmdldFRpbWUoKS8xMDAwKTt9]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokZGIgPSYgJHRoaXMtPkdldERiKCk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJz0+J1RZUEU9TXlJU0FNJyk7CgovLyBFdmVudCB0eXBlcyB0YWJsZQokZmxkcyA9ICIKICAgICAgICAgaWQgICAgIEkgS0VZIEFVVE8gTk9UIE5VTEwsCiAgICAgICAgIG5hbWUgICBDKDI1NSkgTk9UIE5VTEwsCiAgICAgICAgIGNvbG9yICBDKDE1KSwKICAgICAgICAgYmFja2dyb3VuZCBDKDE1KSwKICAgICAgICAgaW9yZGVyIEkiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UX1RZUEVTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgojIEV2ZW50cyBUYWJsZQokZmxkcyA9ICIKICAgICAgICAgaWQgICAgICAgICAgICBJIEtFWSBBVVRPIE5PVCBOVUxMLAogICAgICAgICBuYW1lICAgICAgICAgIEMoMjU1KSBOT1QgTlVMTCwKICAgICAgICAgZGVzY3JpcHRpb24gICBYLAogICAgICAgICBldmVudF90eXBlX2lkIEksCiAgICAgICAgIHN0YXJ0X2RhdGUgICAiLkNNU19BRE9EQl9EVC4iLAogICAgICAgICBlbmRfZGF0ZSAgICAgIi5DTVNfQURPREJfRFQuIiwKICAgICAgICAgYm9va2FibGUgICAgICBJMSwKICAgICAgICAgcHJpY2VfYWRqdXN0ICBDKDE1KSwKICAgICAgICAgYWRtaW5fbm90ZXMgICBYIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMsCgkJCQkgICRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gIgogICAgICAgICBpZCAgIEkgS0VZIEFVVE8gTk9UIE5VTEwsCiAgICAgICAgIG5hbWUgQygyNTUpIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9DQVRTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKICAgICAgICAgaWQgICAgICAgICAgSSBLRVkgQVVUTyBOT1QgTlVMTCwKICAgICAgICAgbmFtZSAgICAgICAgQygyNTUpLAogICAgICAgICBhY3RpdmUgICAgICBJMSwKICAgICAgICAgZGVzY3JpcHRpb24gWCwKICAgICAgICAgYmFzZV9wcmljZSAgRiwKICAgICAgICAgYWRtaW5fbm90ZXMgWCwKICAgICAgICAgY2FwYWNpdHkgICAgSSwKICAgICAgICAgcmVzX2ludGVydmFsICAgIEMoMjApLAogICAgICAgICBncmFudWxhcml0eSBDKDIwKSwKICAgICAgICAgc3RhcnR0aW1lMSAgQyg2KSwKICAgICAgICAgZW5kdGltZTEgICAgQyg2KSwKICAgICAgICAgc3RhcnR0aW1lMiAgQyg2KSwKICAgICAgICAgZW5kdGltZTIgICAgQyg2KSwKICAgICAgICAgY2hlY2tpbnRpbWUgQyg2KSwKICAgICAgICAgY2hlY2tvdXR0aW1lIEMoNikiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKICAgICAgICAgcnNyY19pZCAgICAgSSBLRVkgTk9UIE5VTEwsCiAgICAgICAgIHN1bmRheSAgICAgIEMoMjApLAogICAgICAgICBtb25kYXkgICAgICBDKDIwKSwKICAgICAgICAgdHVlc2RheSAgICAgQygyMCksCiAgICAgICAgIHdlZG5lc2RheSAgIEMoMjApLAogICAgICAgICB0aHVyc2RheSAgICBDKDIwKSwKICAgICAgICAgZnJpZGF5ICAgICAgQygyMCksCiAgICAgICAgIHNhdHVyZGF5ICAgIEMoMjApLAogICAgICAgICB3ZWVrbHkgICAgICBDKDIwKSwKICAgICAgICAgb3ZlcmNhcCAgICAgQygyMCksCiAgICAgICAgIGRpc2NvdW50X3R5cGUgSSwKICAgICAgICAgZGlzY291bnRfZGF5cyBJLAogICAgICAgICBkaXNjb3VudF9hZGp1c3QgQygyMCkuCiAgICAgICAgICI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19QUklDRVMsCgkJCQkgICRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gIgogICAgICAgICByc3JjX2lkICAgICBJIEtFWSBOT1QgTlVMTCwKICAgICAgICAgY2F0ZWdvcnlfaWQgSSBLRVkgTk9UIE5VTEwiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfQ0FUUywKCQkJCSAgJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiRmbGRzID0gIgogICAgICAgICBldmVudF9pZCAgICBJIEtFWSBOT1QgTlVMTCwKICAgICAgICAgcnNyY19pZCAgICAgSSBLRVkgTk9UIE5VTEwiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfRVZFTlRTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKICAgICAgICAgaWQgICAgICAgICAgICBJIEtFWSBBVVRPIE5PVCBOVUxMLAogICAgICAgICBjdXN0b21lcl9pZCAgIEksCiAgICAgICAgIHByaWNlICAgICAgICAgRiwKICAgICAgICAgc3RhdHVzICAgICAgICBDKDIwKSwKICAgICAgICAgYWRtaW5fbm90ZXMgICBYLAogICAgICAgICBjcmVhdGVfZGF0ZSAgICIuQ01TX0FET0RCX0RULiIsCiAgICAgICAgIG1vZGlmaWVkX2RhdGUgIi5DTVNfQURPREJfRFQ7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKICAgICAgICAgaWQgICAgICAgICAgICBJIEtFWSBBVVRPIE5PVCBOVUxMLAogICAgICAgICByZXN2X2lkICAgICAgIEkgS0VZIE5PVCBOVUxMLAogICAgICAgICByc3JjX2lkICAgICAgIEkgS0VZIE5PVCBOVUxMLAogICAgICAgICBzdGFydF9kYXRlICAgICIuQ01TX0FET0RCX0RULiIsCiAgICAgICAgIGVuZF9kYXRlICAgICAgIi5DTVNfQURPREJfRFQuIiwKICAgICAgICAgbnVtX3Blb3BsZSAgICBJLAogICAgICAgICBwcmljZSAgICAgICAgIEYiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAgICAgIAokZmxkcyA9ICIKICAgICAgICAgaWQgICAgICAgSSBLRVkgQVVUTyBOT1QgTlVMTCwKICAgICAgICAgcmVzdl9pZCAgSSBOT1QgTlVMTCwKICAgICAgICAgc3ViamVjdCAgQygyNTUpLAogICAgICAgICB0ZXh0ICAgICBYLAogICAgICAgICBhZG1pbl9ub3RlICAgSTEsCiAgICAgICAgIGNyZWF0ZV9kYXRlICAgIi5DTVNfQURPREJfRFQ7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMsCgkJCQkgICRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gIgogICAgICAgICBpZCAgICAgICBJIEtFWSBBVVRPIE5PVCBOVUxMLAogICAgICAgICByZXN2X2lkICBJIE5PVCBOVUxMLAogICAgICAgICBuYW1lICAgICBDKDI1NSksCiAgICAgICAgIHZhbHVlICAgIFgiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX0FUVFJJQlMsCgkJCQkgICRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gIgogICAgICAgICBpZCAgICAgICAgICAgIEkgS0VZIEFVVE8gTk9UIE5VTEwsCiAgICAgICAgIG5hbWUgICAgICAgICAgQygyNTUpIE5PVCBOVUxMLAogICAgICAgICBwcm9tcHQgICAgICAgIEMoMjU1KSwKICAgICAgICAgdHlwZSAgICAgICAgICBDKDIwKSwKICAgICAgICAgbWF4X2xlbmd0aCAgICBJLAogICAgICAgICBvcHRpb25zICAgICAgIFgsCiAgICAgICAgIGl0ZW1fb3JkZXIgICAgSSwKICAgICAgICAgcHVibGljICAgICAgICBJMSI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfRklFTERERUZTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKICAgICAgICAgcnNyY19pZCAgICAgICBJIE5PVCBOVUxMLAogICAgICAgICBmaWVsZGRlZl9pZCAgIEkgTk9UIE5VTEwsCiAgICAgICAgIHZhbHVlICAgICAgICAgWCI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfRklFTERWQUxTLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgojCiMgSW5kZXhlcyAtIFRPRE8KIwoKIwojIFRlbXBsYXRlcwojCgojIEN1c3RvbWVyIEVtYWlsIFRlbXBsYXRlcwokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX2N1c3RvbWVyX2VtYWlsX3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkKICB7CiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfTkVXQ1VTVEVNQUlMX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2N1c3RlbWFpbF9TYW1wbGUnLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUQ1VTVEVNQUlMX1RFTVBMQVRFLCdTYW1wbGUnKTsKICB9CgojIFN1bW1hcnkgVGVtcGxhdGUKJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19zdW1tYXJ5X3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkKICB7CiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfTkVXU1VNTUFSWV9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzdW1tYXJ5X1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRTVU1NQVJZX1RFTVBMQVRFLCdTYW1wbGUnKTsKICB9CgojIERldGFpbCBUZW1wbGF0ZQokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX2RldGFpbF90ZW1wbGF0ZS50cGwnOwppZiggZmlsZV9leGlzdHMoJGZuKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX05FV0RFVEFJTF9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkZXRhaWxfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVERFVEFJTF9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKIyBDYWxlbmRhciBUZW1wbGF0ZShzKQokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX2NhbGVuZGFyX3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkKICB7CiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfTkVXQ0FMRU5EQVJfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnY2FsZW5kYXJfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVENBTEVOREFSX1RFTVBMQVRFLCdTYW1wbGUnKTsKICB9CiRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL29yaWdfY2FsZW5kYXJfZGF0ZXNfYWNyb3NzLnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkKICB7CiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdjYWxlbmRhcl9EYXRlc19BY3Jvc3MnLCR0ZW1wbGF0ZSk7CiAgfQoKIyBEYXkgVmlldyBUZW1wbGF0ZShzKQokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX2RheV90ZW1wbGF0ZS50cGwnOwppZiggZmlsZV9leGlzdHMoJGZuKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX05FV0RBWV9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkYXlfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVERBWV9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKIyBSZXN2ZXJ2YXRpb24gRm9ybSBUZW1wbGF0ZQokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX3Jlc3ZuX3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkKICB7CiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfTkVXUkVTVk5fVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgncmVzdm5fU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVFJFU1ZOX1RFTVBMQVRFLCdTYW1wbGUnKTsKICB9CgojIFJlc3ZlcnZhdGlvbiBDb25maXJtIFRlbXBsYXRlCiRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL29yaWdfcmVzdm5fY29uZmlybV90ZW1wbGF0ZS50cGwnOwppZiggZmlsZV9leGlzdHMoJGZuKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX05FV1JFU1ZOQ09ORklSTV9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdyZXN2bmNmbV9TYW1wbGUnLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ERkxUUkVTVk5DT05GSVJNX1RFTVBMQVRFLCdTYW1wbGUnKTsKICB9CgojIFJlc3ZlcnZhdGlvbiBDb25maXJtIEVtYWlsIFRlbXBsYXRlCiRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL29yaWdfcmVzdm5fY29uZmlybV9lbWFpbF90ZW1wbGF0ZS50cGwnOwppZiggZmlsZV9leGlzdHMoJGZuKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX05FV1JFU1ZOQ09ORklSTUVNQUlMX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3Jlc3ZuY2ZtZW1haWxfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVFJFU1ZOQ09ORklSTUVNQUlMX1RFTVBMQVRFLCdTYW1wbGUnKTsKICB9CgojIEFkdmFuY2VkIFNlYXJjaCBGb3JtIFRlbXBsYXRlCiRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL29yaWdfYWR2YW5jZWRfc2VhcmNoX2Zvcm1fdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ORVdBRFZTRUFSQ0hGT1JNX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2FkdnNlYXJjaGZvcm1fU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVEFEVlNFQVJDSEZPUk1fVEVNUExBVEUsJ1NhbXBsZScpOwogIH0KCiMgTXkgUmVzZXJ2YXRpb25zIHZpZXdzCiRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvdGVtcGxhdGVzL29yaWdfbXlyZXNlcnZhdGlvbnNfdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCRmbikgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShBVkFJTEFCSUxJVFlfUFJFRl9ORVdNWVJFU1ZfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnbXlyZXN2X1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFRNWVJFU1ZfVEVNUExBVEUsJ1NhbXBsZScpOwogIH0KCiMgU2VuZCBFbWFpbCBGb3JtcwokZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX3NlbmRlbWFpbF90ZW1wbGF0ZS50cGwnOwppZiggZmlsZV9leGlzdHMoJGZuKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX05FV1NFTkRFTUFJTF9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzZW5kZW1haWxfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoQVZBSUxBQklMSVRZX1BSRUZfREZMVFNFTkRFTUFJTF9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKIyBQZXJtaXNzaW9ucwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9DT05UQUNUQ1VTVE9NRVIsJ0VtYWlsIFJlc2VydmF0aW9uIENvbnRhY3RzJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0VWRU5UUywnTWFuYWdlIEV2ZW50cycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbihBVkFJTEFCSUxJVFlfUEVSTV9SRVNFUlZBVElPTlMsJ01hbmFnZSBSZXNlcnZhdGlvbnMnKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fVklFV1JFU1YsJ1ZpZXcgUmVzZXJ2YXRpb25zJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU09VUkNFUywnTWFuYWdlIFJlc291cmNlcycpOwoKIyBQcmVmZXJlbmNlCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXNvdXJjZV90eXBlJywncm9vbScpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1hZ2VfdHlwZXMnLCdwbmcsanBnLGpwZWcsZ2lmJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmaWxlX3R5cGVzJywncGRmLHR4dCcpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b190aHVtYm5haWwnLDEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VzdG9tZXJfZGlzcGxheV90ZW1wbGF0ZScsJ3skdXNlcm5hbWV9Jyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjaGVja2luX3RpbWUnLCcxNDowMCcpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2hlY2tvdXRfdGltZScsJzExOjAwJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXN2bl9mb3JlZ3JvdW5kJywnI2ZmZmZmZicpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVzdm5fYmFja2dyb3VuZCcsJyMwMGZmMDAnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NvbmZsaWN0X2ZvcmVncm91bmQnLCcjZmZmZmZmJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjb25mbGljdF9iYWNrZ3JvdW5kJywnIzAwZmZmZicpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncGVuZGluZ19mb3JlZ3JvdW5kJywnI2ZmZmZmZicpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncGVuZGluZ19iYWNrZ3JvdW5kJywnIzAwMDBmZicpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhcnR0aW1lXzEnLCcwODowMCcpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW5kdGltZV8xJywnMTI6MDAnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N0YXJ0dGltZV8yJywnMTM6MDAnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VuZHRpbWVfMicsJzE3OjAwJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2ludGVydmFsJywnZGFpbHknKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfZ3JhbnVsYXJpdHknLCdoYWxmX2hvdXInKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfY2FwYWNpdHknLCc1MCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKLy8gVGFibGVzCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UX1RZUEVTKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9FVkVOVFMpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX0NBVFMpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX1BSSUNFUyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19DQVRTKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX0VWRU5UUyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fQVRUUklCUyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoQVZBSUxBQklMSVRZX1RBQkxFX0ZJRUxEREVGUyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChBVkFJTEFCSUxJVFlfVEFCTEVfRklFTERWQUxTKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKLy8gUHJlZmVyZW5jZXMKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCi8vIFRlbXBsYXRlcwokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCi8vIFBlcm1pc3Npb25zCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX0NPTlRBQ1RDVVNUT01FUik7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1JFU0VSVkFUSU9OUyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKEFWQUlMQUJJTElUWV9QRVJNX1ZJRVdSRVNWKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fRVZFTlRTKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oQVZBSUxBQklMSVRZX1BFUk1fUkVTT1VSQ0VTKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgokY3VycmVudF92ZXJzaW9uID0gJG9sZHZlcnNpb247CiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pCiAgewogIGNhc2UgIjEuMCI6CiAgY2FzZSAiMS4xIjoKICAgIHsKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fTk9URVMsCgkJCQkgICAgICAiYWRtaW5fbm90ZSBJMSIpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICB9CiAgY2FzZSAnMS4yJzoKICAgIHsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NoZWNraW5fdGltZScsJzE0OjAwJyk7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjaGVja291dF90aW1lJywnMTE6MDAnKTsKCiAgICAgIC8vIHVwZGF0ZSBhbGwgZW5kX2RhdGVzIHRvIGhhdmUgYSB0aW1lIGF0IHRoZSBjaGVja291dCB0aW1lCiAgICAgICRxdWVyeSA9ICdVUERBVEUgJy5BVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05TLiIKICAgICAgICAgICAgICAgICAgIFNFVCBlbmRfZGF0ZSA9IERBVEVfRk9STUFUKGVuZF9kYXRlLCclWS0lbS0lZCAxMTowMDowMCcpIAogICAgICAgICAgICAgICAgIFdIRVJFIFRJTUVfRk9STUFUKGVuZF9kYXRlLCclSDolaScpID0gJzIzOjU5JyI7CiAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4iCiAgICAgICAgICAgICAgICAgICBTRVQgZW5kX2RhdGUgPSBEQVRFX0ZPUk1BVChlbmRfZGF0ZSwnJVktJW0tJWQgMTE6MDA6MDAnKSAKICAgICAgICAgICAgICAgICBXSEVSRSBUSU1FX0ZPUk1BVChlbmRfZGF0ZSwnJUg6JWknKSA9ICcwMDowMCciOwogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCiAgICAgIC8vIHVwZGF0ZSBhbGwgc3RhcnQgZGF0ZXMgdG8gaGF2ZSBhIHRpbWUgYXQgdGhlIGNoZWNraW4gdGltZQogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUy4iIFNFVCBzdGFydF9kYXRlID0gREFURV9GT1JNQVQoc3RhcnRfZGF0ZSwnJVktJW0tJWQgMTQ6MDA6MDAnKSI7CiAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLiIgU0VUIGRhdGUgPSBEQVRFX0ZPUk1BVChkYXRlLCclWS0lbS0lZCAxNDowMDowMCcpIjsKICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICB9CgogIGNhc2UgJzEuMyc6CiAgICB7CiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLAoJCQkJICAgICAgImNhcGFjaXR5IEkiKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUlNSQ19QUklDRVMsCgkJCQkgICAgICAid2Vla2x5IEMoMjApLG92ZXJjYXAgQygyMCkiKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwogICAgfQoKICBjYXNlICcxLjQnOgogICAgewogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SU1JDX1BSSUNFUywKCQkJCSAgICAgICJkaXNjb3VudF9kYXlzIEksZGlzY291bnRfYWRqdXN0IEMoMjApIik7CiAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgIH0KCiAgY2FzZSAnMS41JzoKICBjYXNlICcxLjUuMSc6CiAgICB7CiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OUywKCQkJCSAgICAgICJzdGF0dXMgQygyMCkiKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwogICAgfQoKICBjYXNlICcxLjUuMic6CiAgICB7CiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNfUFJJQ0VTLAoJCQkJICAgICAgImRpc2NvdW50X3R5cGUgSSIpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICB9CgogIGNhc2UgJzEuNS4zJzoKICAgIHsKICAgICAgIyBEYXkgVmlldyBUZW1wbGF0ZShzKQogICAgICAkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX2RheV90ZW1wbGF0ZS50cGwnOwogICAgICBpZiggZmlsZV9leGlzdHMoJGZuKSApCgl7CgkgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX05FV0RBWV9URU1QTEFURSwkdGVtcGxhdGUpOwoJICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RheV9TYW1wbGUnLCR0ZW1wbGF0ZSk7CgkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKEFWQUlMQUJJTElUWV9QUkVGX0RGTFREQVlfVEVNUExBVEUsJ1NhbXBsZScpOwoJfQoKICAgICAgIyBGaXggYWxsIGV2ZW50IGVuZCB0aW1lcwogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UUy4iIFNFVCBzdGFydF9kYXRlID0gREFURV9GT1JNQVQoc3RhcnRfZGF0ZSwnJVktJW0tJWQgMDowOjAnKSI7CiAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX0VWRU5UUy4iIFNFVCBlbmRfZGF0ZSA9IERBVEVfRk9STUFUKGVuZF9kYXRlLCclWS0lbS0lZCAyMzo1OTo1OScpIjsKICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICB9CgogIGNhc2UgJzEuNic6CiAgICB7CiAgICAgICMgTmV3IHByZWZlcmVuY2VzCiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzdGFydHRpbWVfMScsJzA4OjAwJyk7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzdGFydHRpbWVfMicsJzEyOjAwJyk7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbmR0aW1lXzEnLCcxMzowMCcpOwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW5kdGltZV8yJywnMTc6MDAnKTsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfaW50ZXJ2YWwnLCdkYWlseScpOwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9ncmFudWxhcml0eScsJ2hhbGZfaG91cicpOwogICAgICAKICAgICAgIyBOZXcgREIgRmllbGRzCiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLAoJCQkJICAgICAgInJlc19pbnRlcnZhbCBDKDIwKSwgZ3JhbnVsYXJpdHkgQygyMCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0dGltZTEgQyg2KSwgZW5kdGltZTEgQyg2KSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0dGltZTIgQyg2KSwgZW5kdGltZTIgQyg2KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tpbnRpbWUgQyg2KSwgY2hlY2tvdXR0aW1lIEMoNikiKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChBVkFJTEFCSUxJVFlfVEFCTEVfUkVTRVJWQVRJT05fUEFSVFMsCgkJCQkgICAgICAibnVtX3Blb3BsZSBJLCBzdGFydF9kYXRlICIuQ01TX0FET0RCX0RULiIsIGVuZF9kYXRlICIuQ01TX0FET0RCX0RUKTsKICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiAgICAgICMgUG9wdWxhdGUgTmV3IERCIEZpZWxkcwogICAgICAkcXVlcnkgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JTUkNTLicgCiAgICAgICAgICAgICAgICAgICBTRVQgcmVzX2ludGVydmFsID0gPywgZ3JhbnVsYXJpdHkgPSA/LAogICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0dGltZTEgPSA/LCBlbmR0aW1lMSA9ID8sCiAgICAgICAgICAgICAgICAgICAgICAgc3RhcnR0aW1lMiA9ID8sIGVuZHRpbWUyID0gPywKICAgICAgICAgICAgICAgICAgICAgICBjaGVja2ludGltZSA9ID8sIGNoZWNrb3V0dGltZSA9ID8nOwogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCdkYWlseScsJ2hhbGZfaG91cicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzA4OjAwJywnMTI6MDAnLCcxMzowMCcsJzE3OjAwJywKCQkJCScxNDowMCcsJzExOjAwJykpOwoKICAgICAgLy8gZ3JhYiB0aGUgcmVzZXJ2YXRpb24gc3RhcnQgZGF0ZSwgYW5kIGVuZCBkYXRlCiAgICAgIC8vIGFuZCB1cGRhdGUgdGhlIHJlc2VydmF0aW9uIHBhcnRzLgogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLkFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTlM7CiAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICAgd2hpbGUoICRkYnIgJiYgJHJvdyA9ICRkYnItPkZldGNoUm93KCkgKQoJewoJICAkcTIgPSAnVVBEQVRFICcuQVZBSUxBQklMSVRZX1RBQkxFX1JFU0VSVkFUSU9OX1BBUlRTLicKICAgICAgICAgICAgICAgICAgICBTRVQgc3RhcnRfZGF0ZSA9ID8sIGVuZF9kYXRlID0gPywgbnVtX3Blb3BsZSA9ID8KICAgICAgICAgICAgICAgICAgV0hFUkUgcmVzdl9pZCA9ID8nOwoJICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcm93WydzdGFydF9kYXRlJ10sJHJvd1snZW5kX2RhdGUnXSwkcm93WydudW1fcGVvcGxlJ10sJHJvd1snaWQnXSkpOwoJfQoKICAgICAgLy8gbm93IGRyb3AgdGhlIHN0YXJ0IGFuZCBlbmQgZGF0ZSBmaWVsZHMgZnJvbSB0aGUgcmVzZXJ2YXRpb24gdGFibGUuCiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wQ29sdW1uU1FMKEFWQUlMQUJJTElUWV9UQUJMRV9SRVNFUlZBVElPTl9QQVJUUywKCQkJCSAgICAgICAnc3RhcnRfZGF0ZSxlbmRfZGF0ZSxudW1fcGVvcGxlJyk7CiAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgIH0KCiAgfQojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEF2YWlsYWJpbGl0eSAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBmdWxsIHJlc291cmNlIG1hbmFnZW1lbnQKIyAgY2FwYWJpbGl0aWVzIGFuZCByZXNlcnZhdGlvbiBzdXBwb3J0LiAgSXQgaXMgZGVzaWduZWQgdG8gYmUgYSByZXNvdXJjZQojICBtYW5hZ2VyIGZvciBob3RlbHMsIG9yIGNhcnMsIG9yIG90aGVyIGNvbXBsZXggaXRlbXMgdGhhdCBhcmUgcmVzZXJ2ZWQKIyAgb24gYSBkYWlseSBiYXNpcy4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/.#orig_resvn_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/admin_calendar_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY2FsZW5kYXIgdGFiIHRlbXBsYXRlICp9Cgp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBjbGVhckNhdGVnb3JpZXMoKQp7CiAgdmFyIGN0bCA9ICJmaWx0ZXJfY2F0cyI7CiAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY3RsKTsKICBlbC5zZWxlY3RlZEluZGV4PS0xOwp9CgpmdW5jdGlvbiBjbGVhclJlc291cmNlcygpCnsKICB2YXIgY3RsID0gImZpbHRlcl9yc3JjcyI7CiAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY3RsKTsKICBlbC5zZWxlY3RlZEluZGV4PS0xOwp9CgpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewogIGpRdWVyeSgnYS5hdmFpbF90aXAnKS5jbHVldGlwKHtzcGxpdFRpdGxlOiAnfCd9KTsKfSk7Cjwvc2NyaXB0Pgp7L2xpdGVyYWx9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgp7JGZvcm1zdGFydH0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPgogIDx0ciB2YWxpZ249InRvcCI+CiAgICA8dGQ+CiAgICAgIDxmaWVsZHNldD4KICAgICAgPGxlZ2VuZD57JG1vZC0+TGFuZygnZmlsdGVyJyl9OiZuYnNwOzwvbGVnZW5kPgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NhdGVnb3JpZXMnKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX2NhdGVnb3JpZXN9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5HZXRSZXNvdXJjZVR5cGUodHJ1ZSl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGZpbHRlcl9yZXNvdXJjZXN9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtb250aCcpfTo8L3A+CiAgICAgICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9Y2FsZW5kYXJfZGF0ZXsvY2FwdHVyZX0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCBzdGFydF95ZWFyPS0yMCBlbmRfeWVhcj0rMSBkaXNwbGF5X2RheXM9ZmFsc2UgdGltZT0kZGlzcGRhdGV9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGZpbHRlcl9zdWJtaXR9eyRmaWx0ZXJfcmVzZXR9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPC9maWVsZHNldD4KICAgIDwvdGQ+CgogICAgPHRkPgogICAgICA8ZmllbGRzZXQ+CiAgICAgIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2Rpc3BsYXknKX06Jm5ic3A7PC9sZWdlbmQ+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZXZlbnRfdHlwZXMnKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX2V0eXBlc308L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZmlsdGVyX3N1Ym1pdH17JGZpbHRlcl9yZXNldH08L3A+CiAgICAgIDwvZGl2PgogICAgICA8L2ZpZWxkc2V0PgogICAgPC90ZD4KCiAgICB7aWYgaXNzZXQoJHN0YXRpc3RpY3MpfQogICAgPHRkPgogICAgICA8ZmllbGRzZXQ+CiAgICAgIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3N0YXRpc3RpY3MnKX06Jm5ic3A7PC9sZWdlbmQ+CiAgICAgICAgPHRhYmxlPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQ+eyRtb2QtPkxhbmcoJ3RvdGFsX2Jsb2NrcycpfTo8L3RkPgogICAgICAgICAgICA8dGQ+eyRzdGF0aXN0aWNzLnRvdGFsfTwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQ+eyRtb2QtPkxhbmcoJ25vbmJvb2thYmxlX2Jsb2NrcycpfTo8L3RkPgogICAgICAgICAgICA8dGQ+eyRzdGF0aXN0aWNzLmNsb3NlZH08L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkPnskbW9kLT5MYW5nKCdib29rYWJsZV9ldmVudF9ibG9ja3MnKX06PC90ZD4KICAgICAgICAgICAgPHRkPnskc3RhdGlzdGljcy5ldmVudH08L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkPnskbW9kLT5MYW5nKCdib29rZWRfYmxvY2tzJyl9OjwvdGQ+CiAgICAgICAgICAgIDx0ZD57JHN0YXRpc3RpY3MucmVzZXJ2ZWR9PC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0ZD57JG1vZC0+TGFuZygncGVyY2VudF9ib29rZWQnKX06PC90ZD4KICAgICAgICAgICAgPHRkPntpZiAkc3RhdGlzdGljcy50b3RhbCA+IDB9e21hdGggZXF1YXRpb249JyhhK2IpIC8gKGMtZCkgKiAxMDAnIGE9JHN0YXRpc3RpY3MucmVzZXJ2ZWQgYj0kc3RhdGlzdGljcy5udW1wYXJ0cyBjPSRzdGF0aXN0aWNzLnRvdGFsIGQ9JHN0YXRpc3RpY3MuY2xvc2VkIGFzc2lnbj0nbnVtJ317JG51bXxudW1iZXJfZm9ybWF0OjJ9JXsvaWZ9PC90ZD4KICAgICAgICAgIDwvdHI+CgkgIHtpZiBpc3NldCgkZ3JhcGhpbmdfdXJsKX0KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkIGNvbHNwYW49IjIiIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48YSBocmVmPSJ7JGdyYXBoaW5nX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygndGl0bGVfZ3JhcGhpbmcnKX0iPjxpbWcgc3JjPSJ7JGdyYXBoX2ljb25fdXJsfSIvPiZuYnNwO3skbW9kLT5MYW5nKCdoaXN0b3JpY2FsX2NvbXBhcmlzb24nKX08L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIHsvaWZ9CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9maWVsZHNldD4KICAgIDwvdGQ+CiAgIHsvaWZ9CgogICB7aWYgaXNzZXQoJGxlZ2VuZCl9CiAgICA8dGQ+CiAgICAgIDxmaWVsZHNldD4KICAgICAgPGxlZ2VuZD57JG1vZC0+TGFuZygnbGVnZW5kJyl9OiZuYnNwOzwvbGVnZW5kPgogICAgICAgIDx0YWJsZT4KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRsZWdlbmQga2V5PSduYW1lJyBpdGVtPSdpdGVtJ30KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkPnskbmFtZX06PC90ZD4KICAgICAgICAgICAgPHRkIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB7JGl0ZW0tPmJnfTsgY29sb3I6IHskaXRlbS0+Zmd9OyI+CiAgICAgICAgICAgICAgeyRpdGVtLT5sYWJlbH0KICAgICAgICAgICAgPC90ZD4gICAKICAgICAgICAgIDwvdHI+CiAgICAgICAgey9mb3JlYWNofQogICAgICAgIDwvdGFibGU+CiAgICAgIDwvZmllbGRzZXQ+CiAgICA8L3RkPgogICB7L2lmfQogIDwvdHI+CiAgCjwvdGFibGU+CnskZm9ybWVuZH0KPC9kaXY+Cjxici8+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDI0JTsiPnskcHJldm1vbnRoX2xpbmt9PC9wPgogIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgdGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDogNTAlOyI+PHN0cm9uZz57JGRpc3BkYXRlfGNtc19kYXRlX2Zvcm1hdDoiJUIgJVkifTwvc3Ryb25nPjwvcD4KICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB0ZXh0LWFsaWduOiByaWdodDsgd2lkdGg6IDI0JTsiPnskbmV4dG1vbnRoX2xpbmt9PC9wPgo8L2Rpdj4KCjxkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBvdmVyZmxvdzogYXV0bzsiPgo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgo8dGhlYWQ+CntzZWN0aW9uIG5hbWU9J2RheScgbG9vcD0kZ3JpZCBtYXg9MX0KICA8dHI+CiAge3NlY3Rpb24gbmFtZT0ncnNyYycgbG9vcD0kZ3JpZFtkYXldfQogICAge2lmICRzbWFydHkuc2VjdGlvbi5yc3JjLmluZGV4ID09IDB9CiAgICA8dGggc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiIHdpZHRoPSIyJSI+eyRncmlkW2RheV1bcnNyY118Y21zX2RhdGVfZm9ybWF0OiIlbS8leSJ9PC90aD4KICAgIHtlbHNlfQogICAgPHRoIHN0eWxlPSJ3aWR0aDogMjAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPnskZ3JpZFtkYXldW3JzcmNdfTwvdGg+CiAgICB7L2lmfQogIHsvc2VjdGlvbn0KICA8L3RyPgp7L3NlY3Rpb259CjwvdGhlYWQ+Cgo8dGJvZHk+CntzZWN0aW9uIG5hbWU9J2RheScgbG9vcD0kZ3JpZCBzdGFydD0xfQogIDx0cj4KICAgIHtzZWN0aW9uIG5hbWU9J3JzcmMnIGxvb3A9JGdyaWRbZGF5XX0KICAgICAge2lmICRzbWFydHkuc2VjdGlvbi5yc3JjLmluZGV4ID09IDAgfQogICAgICAgIDx0ZCBjbGFzcz0iYXZhaWxfY2VsbCIgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyI+eyRncmlkW2RheV1bcnNyY119PC90ZD4KICAgICAge2Vsc2V9IAogICAgICAgIDx0ZCBjbGFzcz0iYXZhaWxfY2VsbCIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgYmFja2dyb3VuZC1jb2xvcjogeyRncmlkW2RheV1bcnNyY10tPmJnfTsgY29sb3I6IHskZ3JpZFtkYXldW3JzcmNdLT5mZ307Ij4KICAgICAgICB7aWYgaXNzZXQoJGdyaWRbZGF5XVtyc3JjXS0+dXJsKX0KICAgICAgICA8YSBjbGFzcz0iYXZhaWxfbGlua3tpZiBpc3NldCgkZ3JpZFtkYXldW3JzcmNdLT50aXRsZSl9IGF2YWlsX3RpcHsvaWZ9IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogeyRncmlkW2RheV1bcnNyY10tPmJnfTsgY29sb3I6IHskZ3JpZFtkYXldW3JzcmNdLT5mZ307IiBocmVmPSJ7JGdyaWRbZGF5XVtyc3JjXS0+dXJsfSIge2lmIGlzc2V0KCRncmlkW2RheV1bcnNyY10tPnRpdGxlKX10aXRsZT0ieyRncmlkW2RheV1bcnNyY10tPnRpdGxlfSJ7L2lmfT57JGdyaWRbZGF5XVtyc3JjXS0+bGFiZWx9PC9hPgogICAgICAgIHtlbHNlfQogICAgICAgIHskZ3JpZFtkYXldW3JzcmNdLT5sYWJlbH0KICAgICAgICB7L2lmfQogICAgICAgIDwvdGQ+CiAgICAgIHsvaWZ9CiAgICB7L3NlY3Rpb259CiAgPC90cj4Key9zZWN0aW9ufQo8L3Rib2R5Pgo8L3RhYmxlPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_categories_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRjYXRlZ29yaWVzKX0KICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgogICAgPHRoZWFkPgogICAgICA8dHI+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdpZCcpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5PgogICAge2ZvcmVhY2ggZnJvbT0kY2F0ZWdvcmllcyBpdGVtPSdvbmVjYXQnfQogICAgICB7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQogICAgICA8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgogICAgICAgIDx0ZD57JG9uZWNhdC5pZH08L3RkPgogICAgICAgIDx0ZD57JG9uZWNhdC5uYW1lfTwvdGQ+CiAgICAgICAgPHRkPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZWRpdF9jYXRlZ29yeScgaW1hZ2U9J2ljb25zL3N5c3RlbS9lZGl0LmdpZicgaW1hZ2Vvbmx5PTEgY2F0aWQ9JG9uZWNhdC5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2VkaXRfY2F0ZWdvcnknKX08L3RkPgogICAgICAgIDx0ZD57KiBUT0RPOiBzaG91bGQgbm90IGFsbG93IGRlbGV0aW5nIGEgY2F0ZWdvcnkgdGhhdCBpcyBpbiB1c2UgKn17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2RlbGV0ZV9jYXRlZ29yeScgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBpbWFnZW9ubHk9MSBjYXRpZD0kb25lY2F0LmlkIHRleHQ9JG1vZC0+TGFuZygnZGVsZXRlX2NhdGVnb3J5Jyl9PC90ZD4KICAgICAgPC90cj4KICAgICAgPC90cj4KICAgIHsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CiAgPC90YWJsZT4Key9pZn0KCjxwIGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9lZGl0X2NhdGVnb3J5JyB0ZXh0PSRtb2QtPkxhbmcoJ2FkZF9jYXRlZ29yeScpIGltYWdlPSdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZid9CjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_custom_fields_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRjdXN0b21fZmllbGRzKX0KICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgogICAgPHRoZWFkPgogICAgICA8dHI+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdpZCcpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3R5cGUnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygncHVibGljJyl9PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDt7KiBtb3ZlIHVwICp9PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDt7KiBtb3ZlIGRvd24gKn08L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwO3sqIGVkaXQgKn08L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwO3sqIGRlbGV0ZSAqfTwvdGg+CiAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5PgogICAge2ZvcmVhY2ggZnJvbT0kY3VzdG9tX2ZpZWxkcyBpdGVtPSdvbmVmaWVsZCd9CiAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgIDx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+CiAgICAgICAgPHRkPnskb25lZmllbGQuaWR9PC90ZD4KICAgICAgICA8dGQ+eyRvbmVmaWVsZC5uYW1lfTwvdGQ+CiAgICAgICAgPHRkPnskbW9kLT5MYW5nKCRvbmVmaWVsZC50eXBlKX08L3RkPgogICAgICAgIDx0ZD57aWYgJG9uZWZpZWxkLnB1YmxpY317JG1vZC0+TGFuZygneWVzJyl9e2Vsc2V9Jm5ic3A7ey9pZn17KiBUT0RPOiBzaG91bGQgYmUgYW4gaW1hZ2UgKn08L3RkPgoJPHRkPiZuYnNwO3sqIG1vdmUgdXAgKn08L3RkPgoJPHRkPiZuYnNwO3sqIG1vdmUgZG93biAqfTwvdGQ+CiAgICAgICAgPHRkPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZWRpdF9jdXN0b21fZmllbGQnIGltYWdlPSdpY29ucy9zeXN0ZW0vZWRpdC5naWYnIGltYWdlb25seT0xIGZsZGlkPSRvbmVmaWVsZC5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2VkaXRfY3VzdG9tX2ZpZWxkJyl9PC90ZD4KICAgICAgICA8dGQ+eyogVE9ETzogc2hvdWxkIG5vdCBhbGxvdyBkZWxldGluZyBhIGN1c3RvbV9maWVsZCB0aGF0IGlzIGluIHVzZSAqfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZGVsZXRlX2N1c3RvbV9maWVsZCcgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBpbWFnZW9ubHk9MSBmbGRpZD0kb25lZmllbGQuaWQgdGV4dD0kbW9kLT5MYW5nKCdkZWxldGVfY3VzdG9tX2ZpZWxkJyl9PC90ZD4KICAgICAgPC90cj4KICAgICAgPC90cj4KICAgIHsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CiAgPC90YWJsZT4Key9pZn0KCjxwIGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9lZGl0X2N1c3RvbV9maWVsZCcgdGV4dD0kbW9kLT5MYW5nKCdhZGRfY3VzdG9tX2ZpZWxkJykgaW1hZ2U9J2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJ30KPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_category.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMuY2F0aWQpfQo8aDM+eyRtb2QtPkxhbmcoJ2VkaXRfY2F0ZWdvcnknKX08L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCdhZGRfY2F0ZWdvcnknKX08L2gzPgp7L2lmfQoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbmFtZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9uYW1lfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_custom_field.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMudHlwZWlkKX0KPGgzPnskbW9kLT5MYW5nKCdlZGl0X2N1c3RvbV9maWVsZCcpfTwvaDM+CntlbHNlfQo8aDM+eyRtb2QtPkxhbmcoJ2FkZF9jdXN0b21fZmllbGQnKX08L2gzPgp7L2lmfQoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndHlwZScpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3R5cGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCduYW1lJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbmFtZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Byb21wdH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3B1YmxpYycpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3B1YmxpY308L3A+CjwvZGl2Pgp7aWYgaXNzZXQoJGlucHV0X21heGxlbmd0aCl9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbWF4X2xlbmd0aCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X21heGxlbmd0aH08L3A+CjwvZGl2Pgp7L2lmfQp7aWYgaXNzZXQoJGlucHV0X29wdGlvbnMpfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ29wdGlvbnMnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9vcHRpb25zfTwvcD4KPC9kaXY+CnsvaWZ9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_event.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMuZXZlbnRpZCl9CjxoMz57JG1vZC0+TGFuZygnZWRpdF9ldmVudCcpfTwvaDM+CntlbHNlfQo8aDM+eyRtb2QtPkxhbmcoJ2FkZF9ldmVudCcpfTwvaDM+CnsvaWZ9Cgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCduYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdldmVudF90eXBlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2V2ZW50X3R5cGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkZXNjcmlwdGlvbicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZXNjcmlwdGlvbn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkdldFJlc291cmNlVHlwZSgxKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVzb3VyY2VzfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9aW5wdXRfc3RhcnRkYXRlX3svY2FwdHVyZX0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCBzdGFydF95ZWFyPS0yMCBlbmRfeWVhcj0rMjAgdGltZT0kaW5wdXRfc3RhcnRkYXRlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9aW5wdXRfZW5kZGF0ZV97L2NhcHR1cmV9CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW5kX2RhdGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPntodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kdG1wIHN0YXJ0X3llYXI9LTIwIGVuZF95ZWFyPSsyMCB0aW1lPSRpbnB1dF9lbmRkYXRlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYm9va2FibGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYm9va2FibGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcmljZV9hZGp1c3QnLCRtb2QtPkdldFJlc291cmNlVHlwZSgxKSl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3ByaWNlX2FkanVzdH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2FkbWluX25vdGVzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FkbWluX25vdGVzfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_event_type.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMudHlwZWlkKX0KPGgzPnskbW9kLT5MYW5nKCdlZGl0X2V2ZW50X3R5cGUnKX08L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCdhZGRfZXZlbnRfdHlwZScpfTwvaDM+CnsvaWZ9Cgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCduYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdmb3JlZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NvbG9yfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYmFja2dyb3VuZF9jb2xvcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9iYWNrZ3JvdW5kfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnb3JkZXInKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfb3JkZXJ9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH08L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_resvn.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gb25fY2hhbmdlX2N1c3RvbWVyKCkKewogIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1c2VyaW5mbycpOwogIGVsLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Cn0KCmZ1bmN0aW9uIHZpZXdfdXNlcigpCnsKICB2YXIgYmFyZV91cmwgPSAiey9saXRlcmFsfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPUZyb250RW5kVXNlcnMgYWN0aW9uPXZpZXd1c2VyIHVpZD1jaGFuZ2VtZSBwYWdlPSRkZWZhdWx0X2NvbnRlbnRfaWQgdXJsb25seT0xfXtsaXRlcmFsfSI7CiAgdmFyIGVsICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXRfY3VzdG9tZXJfaWQnKTsKICB2YXIgaWR4ICA9IGVsLnNlbGVjdGVkSW5kZXg7CiAgdmFyIHZhbCAgPSBlbFtpZHhdLnZhbHVlOwogIHZhciB0bXAgID0gYmFyZV91cmwucmVwbGFjZSgnY2hhbmdlbWUnLHZhbCkgKyAnJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CiAgdmFyIHVybCAgPSB0bXAucmVwbGFjZSgvYW1wOy9nLCcnKTsKCiAgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXNlcmluZm8nKTsKICAvLyBkbyBqcXVlcnkgYWpheCBzdHVmZgogIGpRdWVyeSgnI3VzZXJpbmZvJykubG9hZCh1cmwpOwogIC8vIGFuZCBkaXNwbGF5IHRoZSBlbGVtZW50IChiZSBuaWNlIGlmIHdlIGNvdWxkIGFuaW1hdGUgdGhpcykKICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKfQo8L3NjcmlwdD4Key9saXRlcmFsfQoKe2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICB2YXIgY2hlY2tfdXJsID0gInsvbGl0ZXJhbH17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1BdmFpbGFiaWxpdHkgYWN0aW9uPWpzb25fY2hlY2tfYXZhaWwgdXJsb25seT0xfXtsaXRlcmFsfSI7CiAgY2hlY2tfdXJsID0gY2hlY2tfdXJsLnJlcGxhY2UoL2FtcDsvZywnJykrJyZzdXBwcmVzc291dHB1dD1mYWxzZSc7CiAgdmFyIHJzcmNfdXJsID0gInsvbGl0ZXJhbH17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1BdmFpbGFiaWxpdHkgYWN0aW9uPWpzb25fcnNyY19pbmZvIHVybG9ubHk9MX17bGl0ZXJhbH0iOwogIHJzcmNfdXJsID0gcnNyY191cmwucmVwbGFjZSgvYW1wOy9nLCcnKSsnJnN1cHByZXNzb3V0cHV0PWZhbHNlJzsKICB2YXIgYWN0aW9uaWQgPSAney9saXRlcmFsfXskYWN0aW9uaWR9e2xpdGVyYWx9JzsKICB2YXIgY3VycmVuY3lfc3ltYm9sID0gJ3svbGl0ZXJhbH17JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJywnJCcpfXtsaXRlcmFsfSc7CiAgdmFyIGRhdGVfZm9ybWF0ID0gJ3svbGl0ZXJhbH17JGRhdGVfZm9ybWF0fXtsaXRlcmFsfSc7CgogIGpRdWVyeS5leHRlbmQoewogICAgICBwb3N0SlNPTjogZnVuY3Rpb24oIHVybCwgZGF0YSwgY2FsbGJhY2sgKSB7CiAgICAgICAgICAgcmV0dXJuIGpRdWVyeS5wb3N0KHVybCwgZGF0YSwgY2FsbGJhY2ssICJqc29uIik7CiAgICAgIH0KICB9KTsKCgogIGZ1bmN0aW9uIF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCxmaWVsZCkKICB7CiAgICBzdHIgPSAnW25hbWU9XCcnICsgcHJlZml4ICsgZmllbGQgKyAnXCddJzsKICAgIHJldHVybiBzdHI7CQogIH0KCiAgZnVuY3Rpb24gX2Zvcm1hdF9wcmljZSh2YWwpCiAgewogICAgc3RyID0gY3VycmVuY3lfc3ltYm9sICsgdmFsOwogICAgcmV0dXJuIHN0cjsKICB9CgogIGZ1bmN0aW9uIGdldF9kYXRlX2Zyb21fZmllbGRzKGNvbnRhaW5lcixwcmVmaXgsdGltZSkKICB7CiAgICB0aW1lID0gdHlwZW9mKHRpbWUpICE9ICd1bmRlZmluZWQnID8gdGltZSA6IDE7CgogICAgdmFyIHN0YXJ0X3llYXI9Y29udGFpbmVyLmZpbmQoX2J1aWxkX25hbWVfYWNjZXNzb3IocHJlZml4LCdZZWFyJykpLnZhbCgpOwogICAgdmFyIHN0YXJ0X21vbnRoPWNvbnRhaW5lci5maW5kKF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCwnTW9udGgnKSkudmFsKCk7CiAgICB2YXIgc3RhcnRfZGF5PWNvbnRhaW5lci5maW5kKF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCwnRGF5JykpLnZhbCgpOwogICAgdmFyIHN0YXJ0X2hvdXIgPSAwOwogICAgdmFyIHN0YXJ0X21pbnV0ZSA9IDA7CgogICAgaWYoIHRpbWUgKQogICAgewogICAgICBzdGFydF9ob3VyPWNvbnRhaW5lci5maW5kKF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCwnSG91cicpKS52YWwoKTsKICAgICAgc3RhcnRfbWludXRlPWNvbnRhaW5lci5maW5kKF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCwnTWludXRlJykpLnZhbCgpOwogICAgfQoKICAgIHZhciBzdHIgPSBzdGFydF9tb250aCsnLycrc3RhcnRfZGF5KycvJytzdGFydF95ZWFyOwogICAgaWYoIHRpbWUgKQogICAgeyAKICAgICAgc3RyICs9ICcgJytzdGFydF9ob3VyKyc6JytzdGFydF9taW51dGUrJzowMCc7CiAgICB9CiAgICByZXR1cm4gc3RyOwogIH0KCgogIGZ1bmN0aW9uIF9zZXRfZGF0ZV9pbnB1dChpbl9kYXRlLGNvbnRhaW5lcixwcmVmaXgsZG9fdGltZSkKICB7CiAgICBkb190aW1lID0gdHlwZW9mKGRvX3RpbWUpICE9ICd1bmRlZmluZWQnID8gZG9fdGltZSA6IDE7CgogICAgdmFyIHAxID0gaW5fZGF0ZS5zcGxpdCgnICcpOwogICAgdmFyIGRhdGUgPSBwMVswXS5zcGxpdCgnLycpOwogICAgdmFyIHRpbWUgPSBwMVsxXS5zcGxpdCgnOicpOwoKICAgIGNvbnRhaW5lci5maW5kKF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCwnWWVhcicpKS52YWwoZGF0ZVsyXSk7CiAgICBjb250YWluZXIuZmluZChfYnVpbGRfbmFtZV9hY2Nlc3NvcihwcmVmaXgsJ01vbnRoJykpLnZhbChkYXRlWzBdKTsKICAgIGNvbnRhaW5lci5maW5kKF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCwnRGF5JykpLnZhbChkYXRlWzFdKTsKCiAgICBpZiggZG9fdGltZSApCiAgICB7CiAgICAgIGpRdWVyeShjb250YWluZXIuZmluZChfYnVpbGRfbmFtZV9hY2Nlc3NvcihwcmVmaXgsJ0hvdXInKSkpLnZhbCh0aW1lWzBdKTsKICAgICAgalF1ZXJ5KGNvbnRhaW5lci5maW5kKF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCwnTWludXRlJykpKS52YWwodGltZVsxXSk7CiAgICB9CiAgfQoKCiAgZnVuY3Rpb24gYWRkX3Jvdyhyc3JjX2lkLHJzcmNfdHlwZSxyc3JjX3N0cixzdGFydF9kYXRlLGVuZF9kYXRlLG51bV9wZW9wbGUsbWVyaWRpYW4scHJpY2UpCiAgewogICAgIC8vIGdldCB0aGUgbnVtYmVyIG9mIGNoaWxkcmVuIG9mIGNsYXNzIHJlc2VydmF0aW9uX3BhcnQKICAgICB2YXIgaWR4ID0gMDsKICAgICBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0c19saXN0JykuY2hpbGRyZW4oJy5yZXNlcnZhdGlvbl9wYXJ0JykuZWFjaChmdW5jdGlvbihlbGVtKXsKICAgICAgIHZhciB0bXAgPSBqUXVlcnkodGhpcykuZmluZCgnLnJvd19wYXJ0bnVtJykuaHRtbCgpOwogICAgICAgaWYoIHRtcCA+IGlkeCApIGlkeCA9IHRtcDsKICAgICB9KTsKICAgICBpZHgrKzsKCiAgICAgbmV3cm93ID0galF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydF90ZW1wbGF0ZScpLmNsb25lKHRydWUpOwogICAgIG5ld3Jvdy5hdHRyKCdpZCcsJ3Jlc2VydmF0aW9uX3BhcnRfJytpZHgpOwogICAgIG5ld3Jvdy5maW5kKCdpbnB1dCcpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICB2YXIgbmFtZSA9IGpRdWVyeSh0aGlzKS5hdHRyKCduYW1lJyk7CiAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKCdYWCcsaWR4KTsKICAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoJ1lZJywncGFydCcpOwogICAgICAgalF1ZXJ5KHRoaXMpLmF0dHIoJ25hbWUnLG5hbWUpOwogICAgIH0pOwoKICAgICBuZXdyb3cuZmluZCgnaW5wdXQucm93X3JzcmNfaWQnKS5hdHRyKCd2YWx1ZScscnNyY19pZCk7CiAgICAgbmV3cm93LmZpbmQoJ2lucHV0LnJvd19tZXJpZGlhbicpLmF0dHIoJ3ZhbHVlJyxtZXJpZGlhbik7CiAgICAgbmV3cm93LmZpbmQoJ2lucHV0LnJvd19zdGFydGRhdGUnKS5hdHRyKCd2YWx1ZScsc3RydG90aW1lKHN0YXJ0X2RhdGUpKTsKICAgICBuZXdyb3cuZmluZCgnaW5wdXQucm93X2VuZGRhdGUnKS5hdHRyKCd2YWx1ZScsc3RydG90aW1lKGVuZF9kYXRlKSk7CiAgICAgbmV3cm93LmZpbmQoJ2lucHV0LnJvd19udW1wZW9wbGUnKS5hdHRyKCd2YWx1ZScsbnVtX3Blb3BsZSk7CiAgICAgbmV3cm93LmZpbmQoJ2lucHV0LnJvd19wcmljZScpLmF0dHIoJ3ZhbHVlJyxwcmljZSk7CgogICAgIG5ld3Jvdy5maW5kKCcucm93X3N0YXJ0X2RhdGUnKS5odG1sKHN0cmZ0aW1lKGRhdGVfZm9ybWF0LHN0YXJ0X2RhdGUpKTsKICAgICBuZXdyb3cuZmluZCgnLnJvd19lbmRfZGF0ZScpLmh0bWwoc3RyZnRpbWUoZGF0ZV9mb3JtYXQsZW5kX2RhdGUpKTsKICAgICBuZXdyb3cuZmluZCgnLnJvd19wYXJ0bnVtJykuaHRtbChpZHgpOwogICAgIG5ld3Jvdy5maW5kKCcucm93X3Jlc291cmNlJykuaHRtbChyc3JjX3N0cik7CiAgICAgbmV3cm93LmZpbmQoJy5yb3dfbnVtX3Blb3BsZScpLmh0bWwobnVtX3Blb3BsZSk7CiAgICAgbmV3cm93LmZpbmQoJy5yb3dfcHJpY2UnKS5odG1sKHByaWNlKTsKICAgICBuZXdyb3cuZmluZCgnLnJvd19kZWxldGUnKS5jbGljayhmdW5jdGlvbigpewogICAgICAgdmFyIGNvbnRhaW5lciA9IGpRdWVyeSh0aGlzKS5wYXJlbnRzKCcucmVzZXJ2YXRpb25fcGFydCcpOwogICAgICAgY29udGFpbmVyLnJlbW92ZSgpOwoKICAgICAgIHZhciB0b3RhbF9wcmljZSA9IGNhbGNfdG90YWxfcHJpY2UoKTsKICAgICAgIGpRdWVyeSgnI2NhbGNwcmljZScpLmh0bWwodG90YWxfcHJpY2UpOwoKICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9KTsKICAgICAKICAgICBuZXdyb3cuYXBwZW5kVG8oJyNyZXNlcnZhdGlvbl9wYXJ0c19saXN0Jyk7CiAgICAgbmV3cm93LmZhZGVJbigpOwogIH0KCiAgZnVuY3Rpb24gY2FsY190b3RhbF9wcmljZSgpIAogIHsKICAgIHZhciB0b3RhbHByaWNlID0gMDsKICAgIGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRzX2xpc3QnKS5jaGlsZHJlbignLnJlc2VydmF0aW9uX3BhcnQnKS5lYWNoKGZ1bmN0aW9uKGVsZW0pewogICAgICB2YWwgPSBqUXVlcnkodGhpcykuZmluZCgnaW5wdXQucm93X3ByaWNlJykudmFsKCk7CiAgICAgIHRvdGFscHJpY2UgKz0gcGFyc2VGbG9hdCh2YWwpOwkKICAgIH0pOwogICAgcmV0dXJuIHRvdGFscHJpY2U7CiAgfQoKICBmdW5jdGlvbiBfdXBkYXRlX2RhdGVzKHJzcmNfdHlwZSxzdGFydF9kYXRlLGVuZF9kYXRlKQogIHsKICAgIHZhciBjb250YWluZXIgPSBqUXVlcnkoJyNyc3JjX3BlcmlvZF8nK3JzcmNfdHlwZSk7CiAgICBpZiggcnNyY190eXBlID09ICdkJyApCiAgICB7CiAgICAgIF9zZXRfZGF0ZV9pbnB1dChzdGFydF9kYXRlLGNvbnRhaW5lciwnc2VsX3N0YXJ0ZGF0ZV9kXycsMCk7CiAgICAgIF9zZXRfZGF0ZV9pbnB1dChlbmRfZGF0ZSxjb250YWluZXIsJ3NlbF9lbmRkYXRlX2RfJywwKTsKICAgIH0KICAgIGVsc2UgaWYoIHJzcmNfdHlwZSA9PSAnaCcgKQogICAgewogICAgICBhbGVydChzdGFydF9kYXRlKTsKICAgICAgX3NldF9kYXRlX2lucHV0KHN0YXJ0X2RhdGUsY29udGFpbmVyLCdzZWxfc3RhcnRkYXRlX2RfJywxKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIF9jaGVja19leGlzdGluZ19wYXJ0cyhvYmopCiAgewogICAgdmFyIHJlcyA9IDE7CiAgICBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0c19saXN0JykuY2hpbGRyZW4oJy5yZXNlcnZhdGlvbl9wYXJ0JykuZWFjaChmdW5jdGlvbihlbGVtKXsKICAgICAgIHZhciByc3JjX2lkID0galF1ZXJ5KHRoaXMpLmZpbmQoJ2lucHV0LnJvd19yc3JjX2lkJykudmFsKCk7CiAgICAgICB2YXIgc3RhcnQgPSBqUXVlcnkodGhpcykuZmluZCgnaW5wdXQucm93X3N0YXJ0ZGF0ZScpLnZhbCgpOwogICAgICAgdmFyIGVuZCA9IGpRdWVyeSh0aGlzKS5maW5kKCdpbnB1dC5yb3dfZW5kZGF0ZScpLnZhbCgpOwoKICAgICAgIHZhciBvc3RhcnQgPSBzdHJ0b3RpbWUob2JqLnN0YXJ0X2RhdGUpOwogICAgICAgaWYoIG9iai5yc3JjX2lkID09IHJzcmNfaWQgKQogICAgICAgewoJIGlmKCBvc3RhcnQgPT0gc3RhcnQgKQogICAgICAgICB7CiAgICAgICAgICAgcmVzID0gMDsKICAgICAgICAgfQogICAgICAgfQogICAgfSk7CgogICAgcmV0dXJuIHJlczsKICAgIAogIH0KCiAgalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgICQuYWpheFNldHVwKHsKICAgICAgdGltZW91dDogMjAwMAogICAgfSk7CgogICAgLy8gaGlkZSBhbmQgc2hvdyB2YXJpb3VzIGZpZWxkcyBiYXNlZCBvbiB0aGUgcmVzb3VyY2Ugc2VsZWN0ZWQgCiAgICBqUXVlcnkoJyNzZWxfcnNyYycpLmNoYW5nZShmdW5jdGlvbigpIHsKICAgICAgalF1ZXJ5KCcjc2VsX2J0bl9hZGQnKS5oaWRlKCk7CiAgICAgIHZhciB0bXAgPSBqUXVlcnkodGhpcykudmFsKCkuc3BsaXQoJywnKTsKICAgICAgaWYoIHRtcFsxXSA9PSAnLTEnICkKICAgICAgeyAKICAgICAgICBqUXVlcnkoJyNzZWxfYnRucycpLmhpZGUoKTsKICAgICAgICBqUXVlcnkoJyNzZWxfcm93X251bXBlb3BsZScpLmhpZGUoKTsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICBqUXVlcnkoJyNzZWxfYnRucycpLnNob3coKTsKICAgICAgICBqUXVlcnkoJyNzZWxfcm93X251bXBlb3BsZScpLnNob3coKTsKICAgICAgfQogICAgICBqUXVlcnkoJy5yc3JjX3BlcmlvZCcpLmhpZGUoKTsKICAgICAgalF1ZXJ5KCcjcnNyY19wZXJpb2RfJyt0bXBbMV0pLnNob3coKTsKICAgICAgalF1ZXJ5KCcjc2VsX21lc3NhZ2UnKS5oaWRlKCk7CiAgICAgIGpRdWVyeSgnI3NlbF9wcmljZScpLmhpZGUoKTsKCiAgICAgIHZhciBvYmogPSBuZXcgT2JqZWN0KCk7CiAgICAgIG9iai5yc3JjX2lkID0gdG1wWzBdOwogICAgICB2YXIgc3RyID0gJC50b0pTT04ob2JqKTsKICAgICAgJC5wb3N0KHJzcmNfdXJsLCB7IGRhdGE6IHN0ciB9LAogICAgICAgICAgZnVuY3Rpb24ocmVzcG9uc2UpewogICAgICAgICAgICAgaWYocmVzcG9uc2UucmVzdWx0ID09ICdzdWNjZXNzJyApCgkgICAgICB7CiAgICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX3JzcmNfc3VtbWFyeScpLmh0bWwocmVzcG9uc2Uuc3VtbWFyeSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgIH0sCgkgICAnanNvbicpOwoKICAgIH0pOwoKICAgIC8vIGhhbmRsZSB0aGUgY2hlY2sgYnV0dG9uIGNsaWNrCiAgICBqUXVlcnkoJyNzZWxfYnRuX2NoZWNrJykuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgIHZhciBjb250YWluZXIgPSBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0X2VkaXQnKTsKCiAgICAgIC8vIGJ1aWxkIHRoZSBqc29uIGRhdGEKICAgICAgdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKICAgICAgdmFyIHZhbCA9IGpRdWVyeSgnI3NlbF9yc3JjJykudmFsKCk7CiAgICAgIG9iai5yc3JjX2lkID0gdmFsLnNwbGl0KCcsJylbMF07CiAgICAgIHZhciByc3JjX3R5cGUgPSB2YWwuc3BsaXQoJywnKVsxXTsKICAgICAgaWYoIHJzcmNfdHlwZSA9PSAnZCcgKQogICAgICAgIHsKICAgICAgICAgIG9iai5zdGFydF9kYXRlID0gZ2V0X2RhdGVfZnJvbV9maWVsZHMoY29udGFpbmVyLCdzZWxfc3RhcnRkYXRlX2RfJywwKQogICAgICAgICAgb2JqLmVuZF9kYXRlID0gZ2V0X2RhdGVfZnJvbV9maWVsZHMoY29udGFpbmVyLCdzZWxfZW5kZGF0ZV9kXycsMCkKICAgICAgICB9CiAgICAgIGVsc2UgaWYoIHJzcmNfdHlwZSA9PSAnaCcgKQogICAgICAgIHsKICAgICAgICAgIG9iai5zdGFydF9kYXRlID0gZ2V0X2RhdGVfZnJvbV9maWVsZHMoY29udGFpbmVyLCdzZWxfc3RhcnRkYXRlX2hfJywxKQogICAgICAgIH0KICAgICAgZWxzZSBpZiggcnNyY190eXBlID09ICdwJyApCiAgICAgICAgewogICAgICAgICAgb2JqLnN0YXJ0X2RhdGUgPSBnZXRfZGF0ZV9mcm9tX2ZpZWxkcyhjb250YWluZXIsJ3NlbF9zdGFydGRhdGVfcF8nLDApCiAgICAgICAgICBvYmoubWVyaWRpYW4gPSBjb250YWluZXIuZmluZCgnI3NlbF9tZXJpZGlhbl9wJykudmFsKCk7IAogICAgICAgIH0KICAgICAgb2JqLm51bV9wZW9wbGUgPSBjb250YWluZXIuZmluZCgnI3NlbF9udW1wZW9wbGUnKS52YWwoKTsKCiAgICAgIHZhciByZXMgPSBfY2hlY2tfZXhpc3RpbmdfcGFydHMob2JqKTsKICAgICAgaWYoICFyZXMgKQogICAgICAgIHsKICAgICAgICAgIHZhciBtc2cgPSAney9saXRlcmFsfXskbW9kLT5MYW5nKCdlcnJvcl9yZXNlcnZhdGlvbl9jb25mbGljdCcpfXtsaXRlcmFsfSc7CgkgIGpRdWVyeSgnI3NlbF9tZXNzYWdlJykuaHRtbChtc2cpLnNob3coKTsKCSAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgIHZhciBzdHIgPSAkLnRvSlNPTihvYmopOwoKICAgICAgLy8gZG8ganNvbiByZXF1ZXN0CiAgICAgIHZhciBqc29uID0gJC5wb3N0KGNoZWNrX3VybCwgeyBkYXRhOiBzdHIgfSwKICAgICAgICAgIGZ1bmN0aW9uKHJlc3BvbnNlKXsKICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX2ludF9zdGF0dXMnKS5odG1sKHJlc3BvbnNlLnJlc3VsdCk7CiAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9pbnRfcHJpY2UnKS5odG1sKHJlc3BvbnNlLnByaWNlKTsKCSAgICBqUXVlcnkoJyNzZWxfbWVzc2FnZScpLmh0bWwocmVzcG9uc2UubWVzc2FnZSk7CgogICAgICAgICAgICBpZiggcmVzcG9uc2UucmVzdWx0ID09ICdhdmFpbGFibGUnICkKICAgICAgICAgICAgewoJICAgICAgICAvLyBnb3QgYW4gYXZhaWxhYmxlIHBlcmlvZAoJICAgICAgICBqUXVlcnkoJyNzZWxfYnRuX2FkZCcpLnNob3coKTsKICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9wcmljZV9hbXQnKS5odG1sKF9mb3JtYXRfcHJpY2UocmVzcG9uc2UucHJpY2UpKTsKICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9wcmljZScpLnNob3coKTsKICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9tZXNzYWdlJykuc2hvdygpOwogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX2R5bl9zdGFydF9kYXRlJykudmFsKHJlc3BvbnNlLnN0YXJ0X2RhdGUpOwogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX2R5bl9lbmRfZGF0ZScpLnZhbChyZXNwb25zZS5lbmRfZGF0ZSk7CiAKICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgZGF0ZXMgZnJvbSB3aGF0IHdlIGhhdmUKICAgICAgICAgICAgICAgIF91cGRhdGVfZGF0ZXMocnNyY190eXBlLHJlc3BvbnNlLnN0YXJ0X2RhdGUscmVzcG9uc2UuZW5kX2RhdGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX3ByaWNlJykuaGlkZSgpOwogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX21lc3NhZ2UnKS5zaG93KCk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfZHluX3N0YXJ0X2RhdGUnKS52YWwoJy0xJyk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfZHluX2VuZF9kYXRlJykudmFsKCctMScpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCAKICAgICAgICAgICdqc29uJyk7CgogICAgICAvLyBubyBtb3JlIHByb2Nlc3NpbmcuCiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwoKCiAgICBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0X2VkaXQgc2VsZWN0JykuY2hhbmdlKGZ1bmN0aW9uKCl7CiAgICAgIGpRdWVyeSgnI3NlbF9keW5fc3RhcnRfZGF0ZScpLnZhbCgnLTEnKTsKICAgICAgalF1ZXJ5KCcjc2VsX2R5bl9lbmRfZGF0ZScpLnZhbCgnLTEnKTsKICAgIH0pOwoKICAgIGpRdWVyeSgnI3NlbF9idG5fYWRkJykuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgIC8vIGhhdmUgdG8gYWRkIGEgcm93IHRvIHRoZSByZXNlcnZhdGlvbnMgcGFydHMgbGlzdAogICAgICB2YXIgY29udGFpbmVyID0galF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydF9lZGl0Jyk7CiAgICAgIHZhciB2YWwgPSBqUXVlcnkoJyNzZWxfcnNyYycpLnZhbCgpOwogICAgICB2YXIgcnNyY19pZCA9IHZhbC5zcGxpdCgnLCcpWzBdOwogICAgICB2YXIgcnNyY190eXBlID0gdmFsLnNwbGl0KCcsJylbMV07CiAgICAgIHZhciByc3JjX3N0ciA9IGpRdWVyeSgnI3NlbF9yc3JjIDpzZWxlY3RlZCcpLnRleHQoKTsKICAgICAgdmFyIG51bV9wZW9wbGUgPSBqUXVlcnkoJyNzZWxfbnVtcGVvcGxlJykudmFsKCk7CiAgICAgIHZhciBwcmljZSA9IGpRdWVyeSgnI3NlbF9pbnRfcHJpY2UnKS5odG1sKCk7CiAgICAgIHZhciBzdGFydF9kYXRlID0galF1ZXJ5KCcjc2VsX2R5bl9zdGFydF9kYXRlJykudmFsKCk7CiAgICAgIHZhciBlbmRfZGF0ZSA9IGpRdWVyeSgnI3NlbF9keW5fZW5kX2RhdGUnKS52YWwoKTsKICAgICAgdmFyIG1lcmlkaWFuID0gJyc7CgogICAgICBpZiggc3RhcnRfZGF0ZSA9PSAnLTEnIHx8IGVuZF9kYXRlID09ICctMScgKQogICAgICB7CglhbGVydCgnY2Fubm90IGFkZCcpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgaWYoIHJzcmNfdHlwZSA9PSAncCcgKQogICAgICB7CgltZXJpZGlhbiA9IGpRdWVyeSgnI3NlbF9tZXJpZGlhbicpLnZhbCgpOwogICAgICB9CgogICAgICAvLyBhZGQgdGhlIHJvdwogICAgICBhZGRfcm93KHJzcmNfaWQscnNyY190eXBlLHJzcmNfc3RyLHN0YXJ0X2RhdGUsZW5kX2RhdGUsbnVtX3Blb3BsZSxtZXJpZGlhbixwcmljZSk7CgogICAgICAvLyB1cGRhdGUgdG90YWxzLgogICAgICB2YXIgdG90YWxfcHJpY2UgPSBjYWxjX3RvdGFsX3ByaWNlKCk7CiAgICAgIGpRdWVyeSgnI2NhbGNwcmljZScpLmh0bWwodG90YWxfcHJpY2UpOwoKICAgICAgLy8gbm8gbW9yZSBwcm9jZXNzaW5nLgogICAgICBqUXVlcnkoJyNzZWxfYnRuX2FkZCcpLmhpZGUoKTsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7CgogICAgalF1ZXJ5KCcjc3VibWl0X2J0bicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgIC8vIHN1Ym1pdCBidXR0b24gcHJlc3NlZC4KICAgICAgdmFyIGNvdW50ID0galF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydHNfbGlzdCcpLmNoaWxkcmVuKCcucmVzZXJ2YXRpb25fcGFydCcpLnNpemUoKTsKICAgICAgaWYoIGNvdW50ID09IDAgKQogICAgICB7CiAgICAgICAgYWxlcnQoJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygnZXJyb3Jfbm9fcmVzZXJ2YXRpb25fcGFydHMnKX17bGl0ZXJhbH0nKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICB9KTsKICB9KTsKPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KCgp7aWYgaXNzZXQoJGFjdGlvbnBhcmFtcy5yZXN2bmlkKX0KPGgzPnskbW9kLT5MYW5nKCdlZGl0X3Jlc2VydmF0aW9uJyl9PC9oMz4Ke2Vsc2V9CjxoMz57JG1vZC0+TGFuZygnYWRkX3Jlc2VydmF0aW9uJyl9PC9oMz4Key9pZn0KCnskZm9ybXN0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2N1c3RvbWVyX25hbWUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogIHskaW5wdXRfY3VzdG9tZXJfaWR9Jm5ic3A7CiAgPGEgaHJlZj0iamF2YXNjcmlwdDp2aWV3X3VzZXIoKTsiIHRpdGxlPSJ7JG1vZC0+TGFuZygnaW5mb192aWV3X3VzZXInKX0iPntjZ2ltYWdlIGltYWdlPSJpY29ucy9zeXN0ZW0vdmlldy5naWYiIGFsdD0kbW9kLT5MYW5nKCd2aWV3X3VzZXInKX08L2E+Jm5ic3A7CiAge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0Zyb250RW5kVXNlcnMnIGFjdGlvbj0nYWRkdXNlcicgdXJsb25seT0xIG1lbWJlcm9mPSRtZW1iZXJvZiByZXR1cm50bz0nQXZhaWxhYmlsaXR5LGFkbWluX2VkaXRfcmVzdm4nIGFzc2lnbj0ndXJsJ308YSBocmVmPSJ7JHVybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnaW5mb19hZGRfdXNlcl9hY2NvdW50Jyl9Ij57Y2dpbWFnZSBpbWFnZT0iaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYiIGFsdD0iIn0mbmJzcDt7JG1vZC0+TGFuZygnYWRkX3VzZXJfYWNjb3VudCcpfTwvYT48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdldGV4dCIgaWQ9InVzZXJpbmZvIiBzdHlsZT0iYm9yZGVyOiAxcHggZGFzaGVkIHJlZDsgd2lkdGg6IDQwJTsgZGlzcGxheTogbm9uZTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJpY2UnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgeyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX08aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9wcmljZSIgaWQ9InByaWNlIiB2YWx1ZT0ieyRkYXRhLnByaWNlfSIgc2l6ZT0iMTAiIG1heGxlbmd0aD0iMTAiPgogICAgJm5ic3A7Jm5ic3A7eyRtb2QtPkxhbmcoJ2NhbGN1bGF0ZWRfcHJpY2UnKX06Jm5ic3A7eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX0mbmJzcDs8c3BhbiBpZD0iY2FsY3ByaWNlIj57JG1vZC0+TGFuZygnbm90X2NhbGN1bGF0ZWQnKX08L3NwYW4+CiAgPC9wPgo8L2Rpdj4KCjxkaXYgaWQ9InJlc2VydmF0aW9uX3BhcnRfdGVtcGxhdGUiIGNsYXNzPSJyZXNlcnZhdGlvbl9wYXJ0IiBzdHlsZT0iZGlzcGxheTogbm9uZTsgY2xlYXI6IGxlZnQ7Ij4KIDxwIGNsYXNzPSJyb3dfcGFydG51bSIgc3R5bGU9ImZsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB3aWR0aDogMmVtOyI+PC9wPgogPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyI+CiAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfcnNyY19pZCIgbmFtZT0ieyRhY3Rpb25pZH1ZWV9zZWxyc3JjX1hYIiB2YWx1ZT0iLTEiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19zdGFydGRhdGUiIG5hbWU9InskYWN0aW9uaWR9WVlfc3RhcnRkYXRlX1hYIiB2YWx1ZT0iLTEiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19tZXJpZGlhbiIgbmFtZT0ieyRhY3Rpb25pZH1ZWV9zdGFydGRhdGVfWFhtZXJpZGlhbiIgdmFsdWU9Ii0xIi8+CiAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfZW5kZGF0ZSIgbmFtZT0ieyRhY3Rpb25pZH1ZWV9lbmRkYXRlX1hYIiB2YWx1ZT0iLTEiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19udW1wZW9wbGUiIG5hbWU9InskYWN0aW9uaWR9WVlfbnVtcGVvcGxlX1hYIiB2YWx1ZT0iLTEiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19wcmljZSIgbmFtZT0ieyRhY3Rpb25pZH1ZWV9wcmljZV9YWCIgdmFsdWU9Ii0xIi8+CiAgIDxzcGFuIGNsYXNzPSJyb3dfcmVzb3VyY2UiPjwvc3Bhbj48YnIvPgogICB7JG1vZC0+TGFuZygnZnJvbScpfTombmJzcDs8c3BhbiBjbGFzcz0icm93X3N0YXJ0X2RhdGUiPjwvc3Bhbj4mbmJzcDsKICAgeyRtb2QtPkxhbmcoJ3RvJyl9OiZuYnNwOzxzcGFuIGNsYXNzPSJyb3dfZW5kX2RhdGUiPjwvc3Bhbj48YnIvPgogICB7JG1vZC0+TGFuZygnbnVtX3Blb3BsZScpfTombmJzcDs8c3BhbiBjbGFzcz0icm93X251bV9wZW9wbGUiPjwvc3Bhbj48YnIvPgogICB7JG1vZC0+TGFuZygncHJpY2UnKX06Jm5ic3A7eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5Ym1vbCcsJyQnKX08c3BhbiBjbGFzcz0icm93X3ByaWNlIj48L3NwYW4+PGJyLz4KICAgPHNwYW4gY2xhc3M9ImFjdGlvbnMiPgogICAgIHtjZ2ltYWdlIGNsYXNzPSJyb3dfZGVsZXRlIiBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGFsdD0kbW9kLT5MYW5nKCdkZWxldGUnKX0mbmJzcDsKICAgPC9zcGFuPgogPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4KPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9wYXJ0cycpfTwvbGVnZW5kPgp7KiB0aGUgYXJlYSB3aGVyZSB0aGUgY29tcGxldGVkIHJlc2VydmF0aW9uIHBhcnRzIGFyZSBnb2luZyB0byBnbyAqfQo8ZGl2IGlkPSJyZXNlcnZhdGlvbl9wYXJ0c19saXN0IiBzdHlsZT0id2lkdGg6IDM5JTsgZmxvYXQ6IGxlZnQ7Ij4Ke2ZvcmVhY2ggZnJvbT0kZGF0YS5wYXJ0cyBpdGVtPSdwYXJ0JyBuYW1lPSdwYXJ0J30KIHthc3NpZ24gdmFyPSdpZHgnIHZhbHVlPSRzbWFydHkuZm9yZWFjaC5wYXJ0Lml0ZXJhdGlvbn0KIHthc3NpZ24gdmFyPSdyc3JjX2lkJyB2YWx1ZT0kcGFydC5leHRfcnNyY2lkfQogPGRpdiBpZD0icmVzZXJ2YXRpb25fcGFydF97JHNtYXJ0eS5mb3JlYWNoLnBhcnQuaXRlcmF0aW9ufSIgY2xhc3M9InJlc2VydmF0aW9uX3BhcnQiIHN0eWxlPSJjbGVhcjogbGVmdDsiPgogICA8cCBjbGFzcz0icm93X3BhcnRudW0iIHN0eWxlPSJmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgd2lkdGg6IDJlbTsiPnskaWR4fTwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyI+CiAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19yc3JjX2lkIiBuYW1lPSJ7JGFjdGlvbmlkfXBhcnRfc2VscnNyY197JGlkeH0iIHZhbHVlPSJ7JHBhcnQucnNyY19pZH0iLz4KICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X3N0YXJ0ZGF0ZSIgbmFtZT0ieyRhY3Rpb25pZH1wYXJ0X3N0YXJ0ZGF0ZV97JGlkeH0iIHZhbHVlPSJ7JHBhcnQuc3RhcnRfZGF0ZXxzdHJ0b3RpbWV9Ii8+CiAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19lbmRkYXRlIiBuYW1lPSJ7JGFjdGlvbmlkfXBhcnRfZW5kZGF0ZV97JGlkeH0iIHZhbHVlPSJ7JHBhcnQuZW5kX2RhdGV8c3RydG90aW1lfSIvPgogICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfbnVtcGVvcGxlIiBuYW1lPSJ7JGFjdGlvbmlkfXBhcnRfbnVtcGVvcGxlX3skaWR4fSIgdmFsdWU9InskcGFydC5udW1fcGVvcGxlfSIvPgogICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfcHJpY2UiIG5hbWU9InskYWN0aW9uaWR9cGFydF9wcmljZV97JGlkeH0iIHZhbHVlPSJ7JHBhcnQucHJpY2V9Ii8+CiAgICAgPHNwYW4gY2xhc3M9InJvd19yZXNvdXJjZSI+eyRyc3JjX2xpc3QuJHJzcmNfaWR9PC9zcGFuPjxici8+CiAgICAgeyRtb2QtPkxhbmcoJ2Zyb20nKX06Jm5ic3A7PHNwYW4gY2xhc3M9InJvd19zdGFydF9kYXRlIj57JHBhcnQuc3RhcnRfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9zcGFuPiZuYnNwOwogICAgIHskbW9kLT5MYW5nKCd0bycpfTombmJzcDs8c3BhbiBjbGFzcz0icm93X2VuZF9kYXRlIj57JHBhcnQuZW5kX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvc3Bhbj48YnIvPgogICAgIHskbW9kLT5MYW5nKCdudW1fcGVvcGxlJyl9OiZuYnNwOzxzcGFuIGNsYXNzPSJyb3dfbnVtX3Blb3BsZSI+eyRwYXJ0Lm51bV9wZW9wbGV9PC9zcGFuPjxici8+CiAgICAgeyRtb2QtPkxhbmcoJ3ByaWNlJyl9OiZuYnNwO3skbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeWJtb2wnLCckJyl9PHNwYW4gY2xhc3M9InJvd19wcmljZSI+eyRwYXJ0LnByaWNlfTwvc3Bhbj48YnIvPiAgCiAgICAgPHNwYW4gY2xhc3M9ImFjdGlvbnMiPgogICAgICAge2NnaW1hZ2UgY2xhc3M9InJvd19kZWxldGUiIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicgYWx0PSRtb2QtPkxhbmcoJ2RlbGV0ZScpfSZuYnNwOwogICAgIDwvc3Bhbj4KICAgPC9wPgogIDwvZGl2PgogIAp7L2ZvcmVhY2h9CjwvZGl2PgoKeyogdGhlIGFyZWEgd2hlcmUgd2Ugd2lsbCBlZGl0IGEgcmVzZXJ2YXRpb24gcGFydCAqfQo8ZGl2IGlkPSJyZXNlcnZhdGlvbl9wYXJ0X2VkaXQiIHN0eWxlPSJ3aWR0aDogNTklOyBmbG9hdDogcmlnaHQ7IHBhZGRpbmctbGVmdDogMC41ZW07IGJvcmRlci1sZWZ0OiAxcHggc29saWQ7Ij4KIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJzZWxfZHluX3N0YXJ0X2RhdGUiIHZhbHVlPSItMSIvPgogPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9InNlbF9keW5fZW5kX2RhdGUiIHZhbHVlPSItMSIvPgogPGRpdj4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkdldFJlc291cmNlVHlwZSgpfTo8L3A+CiAgIDxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7IHdpZHRoOiA2OSU7Ij4KICAgICA8c2VsZWN0IGlkPSJzZWxfcnNyYyI+CiAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRyc3JjX2xpc3R9CiAgICAgPC9zZWxlY3Q+CiAgIDwvcD4KICAgPHAgaWQ9InNlbF9yc3JjX3N1bW1hcnkiIHN0eWxlPSJtYXJnaW4tbGVmdDogMWVtOyI+PC9wPgogPC9kaXY+CgogPGRpdiBpZD0icnNyY19wZXJpb2RfZCIgY2xhc3M9InJzcmNfcGVyaW9kIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiAgIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDMwJTsiPnskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9OjwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICAgIHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0ic2VsX3N0YXJ0ZGF0ZV9kXyIgZW5kX3llYXI9IisyIn0KICAgPC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMCU7Ij57JG1vZC0+TGFuZygnZW5kX2RhdGUnKX06PC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNjklOyI+CiAgICAge2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSJzZWxfZW5kZGF0ZV9kXyIgZW5kX3llYXI9IisyIn0KICAgPC9wPgogPC9kaXY+CgogPGRpdiBpZD0icnNyY19wZXJpb2RfcCIgY2xhc3M9InJzcmNfcGVyaW9kIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiAgIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDMwJTsiPnskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9OjwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICAgIHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0ic2VsX3N0YXJ0ZGF0ZV9wXyIgZW5kX3llYXI9IisyIn0KICAgICAmbmJzcDt7JG1vZC0+TGFuZygnYXQnKX0mbmJzcDsKICAgICA8c2VsZWN0IGlkPSdzZWxfbWVyaWRpYW5fcCc+CiAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JG1lcmlkaWFuc30KICAgICA8L3NlbGVjdD4gICAgIAogICA8L3A+CiA8L2Rpdj4KCiA8ZGl2IGlkPSJyc3JjX3BlcmlvZF9oIiBjbGFzcz0icnNyY19wZXJpb2QiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkxhbmcoJ3N0YXJ0X2RhdGUnKX06PC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNjklOyI+CiAgICAge2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSJzZWxfc3RhcnRkYXRlX2hfIiBlbmRfeWVhcj0iKzIifQogICAgICZuYnNwO3skbW9kLT5MYW5nKCdhdCcpfSZuYnNwOwogICAgIHtodG1sX3NlbGVjdF90aW1lIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTUgcHJlZml4PSJzZWxfc3RhcnRkYXRlX2hfIn0KICAgPC9wPgogPC9kaXY+CgogPGRpdiBpZD0ic2VsX3Jvd19udW1wZW9wbGUiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkxhbmcoJ251bV9wZW9wbGUnKX06PC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNjklOyI+CiAgICAgPHNlbGVjdCBpZD0ic2VsX251bXBlb3BsZSI+CiAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRwZW9wbGVfbGlzdH0KICAgICA8L3NlbGVjdD4KICAgPC9wPgogPC9kaXY+CgogPGRpdiBpZD0ic2VsX21lc3NhZ2UiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KIDwvZGl2PgoKIDxkaXYgaWQ9InNlbF9pbnRfcHJpY2UiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KIDwvZGl2PgoKIDxkaXYgaWQ9InNlbF9pbnRfc3RhdHVzIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiA8L2Rpdj4KCiA8ZGl2IGlkPSJzZWxfcHJpY2UiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkxhbmcoJ3ByaWNlJyl9PC9wPgogICA8cCBpZD0ic2VsX3ByaWNlX2FtdCIgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICA8L3A+CiA8L2Rpdj4KCiA8ZGl2IGlkPSJzZWxfYnRucyIgc3R5bGU9ImNsZWFyOiByaWdodDsgZGlzcGxheTogbm9uZTsiPgogICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMCU7Ij4mbmJzcDs8L3A+CiAgIDxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7IHdpZHRoOiA2OSU7Ij4KICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0ic2VsX2J0bl9jaGVjayIgdmFsdWU9InskbW9kLT5MYW5nKCdjaGVjaycpfSIvPgogICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGlkPSJzZWxfYnRuX2FkZCIgdmFsdWU9InskbW9kLT5MYW5nKCdhZGQnKX0iIHN0eWxlPSJkaXNwbGF5OiBub25lOyIvPgogICA8L3A+CiA8L2Rpdj4KPC9kaXY+Cgo8L2ZpZWxkc2V0Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3RhdHVzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X3N0YXR1cyI+CiAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRzdGF0dXNlcyBzZWxlY3RlZD0kZGF0YS5zdGF0dXN9CiAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYWRtaW5fbm90ZXMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWRtaW5fbm90ZXN9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0ic3VibWl0X2J0biIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgICAge2lmICRtb2QtPkNhbkVkaXRSZXNlcnZhdGlvbnMoKSAmJiAkZGF0YS5pZCA+IDB9e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9kZWxldGVfcmVzdm4nIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicgaW1hZ2Vvbmx5PTEgcmVzdm5pZD0kZGF0YS5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2RlbGV0ZScpIGNvbmZtZXNzYWdlPSRtb2QtPkxhbmcoJ2Fza19kZWxldGVfcmVzZXJ2YXRpb24nKX17L2lmfTwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_resvn_old.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gb25fY2hhbmdlX2N1c3RvbWVyKCkKewogIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1c2VyaW5mbycpOwogIGVsLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Cn0KCmZ1bmN0aW9uIHZpZXdfdXNlcigpCnsKICB2YXIgYmFyZV91cmwgPSAiey9saXRlcmFsfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPUZyb250RW5kVXNlcnMgYWN0aW9uPXZpZXd1c2VyIHVpZD1jaGFuZ2VtZSBwYWdlPSRkZWZhdWx0X2NvbnRlbnRfaWQgdXJsb25seT0xfXtsaXRlcmFsfSI7CiAgdmFyIGVsICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXRfY3VzdG9tZXJfaWQnKTsKICB2YXIgaWR4ICA9IGVsLnNlbGVjdGVkSW5kZXg7CiAgdmFyIHZhbCAgPSBlbFtpZHhdLnZhbHVlOwogIHZhciB0bXAgID0gYmFyZV91cmwucmVwbGFjZSgnY2hhbmdlbWUnLHZhbCkgKyAnJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CiAgdmFyIHVybCAgPSB0bXAucmVwbGFjZSgvYW1wOy9nLCcnKTsKCiAgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXNlcmluZm8nKTsKICAvLyBkbyBqcXVlcnkgYWpheCBzdHVmZgogIGpRdWVyeSgnI3VzZXJpbmZvJykubG9hZCh1cmwpOwogIC8vIGFuZCBkaXNwbGF5IHRoZSBlbGVtZW50IChiZSBuaWNlIGlmIHdlIGNvdWxkIGFuaW1hdGUgdGhpcykKICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKfQo8L3NjcmlwdD4Key9saXRlcmFsfQoKe2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMucmVzdm5pZCl9CjxoMz57JG1vZC0+TGFuZygnZWRpdF9yZXNlcnZhdGlvbicpfTwvaDM+CntlbHNlfQo8aDM+eyRtb2QtPkxhbmcoJ2FkZF9yZXNlcnZhdGlvbicpfTwvaDM+CnsvaWZ9Cgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdjdXN0b21lcl9uYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICB7JGlucHV0X2N1c3RvbWVyX2lkfSZuYnNwOwogIDxhIGhyZWY9ImphdmFzY3JpcHQ6dmlld191c2VyKCk7IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2luZm9fdmlld191c2VyJyl9Ij57Y2dpbWFnZSBpbWFnZT0iaWNvbnMvc3lzdGVtL3ZpZXcuZ2lmIiBhbHQ9JG1vZC0+TGFuZygndmlld191c2VyJyl9PC9hPiZuYnNwOwogIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdGcm9udEVuZFVzZXJzJyBhY3Rpb249J2FkZHVzZXInIHVybG9ubHk9MSBtZW1iZXJvZj0kbWVtYmVyb2YgcmV0dXJudG89J0F2YWlsYWJpbGl0eSxhZG1pbl9lZGl0X3Jlc3ZuJyBhc3NpZ249J3VybCd9PGEgaHJlZj0ieyR1cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2luZm9fYWRkX3VzZXJfYWNjb3VudCcpfSI+e2NnaW1hZ2UgaW1hZ2U9Imljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmIiBhbHQ9IiJ9Jm5ic3A7eyRtb2QtPkxhbmcoJ2FkZF91c2VyX2FjY291bnQnKX08L2E+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZXRleHQiIGlkPSJ1c2VyaW5mbyIgc3R5bGU9ImJvcmRlcjogMXB4IGRhc2hlZCByZWQ7IHdpZHRoOiA0MCU7IGRpc3BsYXk6IG5vbmU7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByaWNlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9aW5wdXRfcHJpY2UiIGlkPSJwcmljZSIgdmFsdWU9InskZGF0YS5wcmljZX0iIHNpemU9IjEwIiBtYXhsZW5ndGg9IjEwIj4KICAgICZuYnNwOyZuYnNwO3skbW9kLT5MYW5nKCdjYWxjdWxhdGVkX3ByaWNlJyl9OiZuYnNwO3skbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9Jm5ic3A7PHNwYW4gaWQ9ImNhbGNwcmljZSI+eyRtb2QtPkxhbmcoJ25vdF9jYWxjdWxhdGVkJyl9PC9zcGFuPgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdldGV4dCI+CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fcGFydHMnKX08L2xlZ2VuZD4KPGRpdiBpZD0icmVzb3VyY2VMaXN0Ij4KICB7KiAKICAgKiBiZWdpbiByZXNvdXJjZSByb3cgdGVtcGxhdGUgCiAgICp9CiAgPGRpdiBpZD0icmVzb3VyY2VUZW1wbGF0ZSIgbmFtZT0icmVzb3VyY2VSb3ciIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICA8cD4KICAgICAgPHNwYW4gY2xhc3M9InJvd251bSIgbmFtZT0ieyRhY3Rpb25pZH1yc3JjbnVtX1hYIj4wPC9zcGFuPiZuYnNwOwogICAgICA8c2VsZWN0IGNsYXNzPSJzZWxyc3JjIiBuYW1lPSJ7JGFjdGlvbmlkfXNlbHJzcmNfWFgiPgogICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcnNyY19saXN0fQogICAgICA8L3NlbGVjdD4KCiAgICAgIHsqIHN0YXJ0IGRhdGUgYW5kIHRpbWUgKn0KICAgICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9c3RhcnRkYXRlX1hYey9jYXB0dXJlfQogICAgICA8c3BhbiBjbGFzcz0ic3RhcnRfZGF0ZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgICAgeyRtb2QtPkxhbmcoJ3N0YXJ0X2RhdGUnKX06Jm5ic3A7e2h0bWxfc2VsZWN0X2RhdGUgZW5kX3llYXI9KzUgcHJlZml4PSR0bXB9CiAgICAgIDwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InN0YXJ0X3RpbWUiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICAgIHskbW9kLT5MYW5nKCdhdCcpfSZuYnNwO3todG1sX3NlbGVjdF90aW1lIHByZWZpeD0kdG1wIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9CiAgICAgIDwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InN0YXJ0X21lcmlkaWFuIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgICB7JG1vZC0+TGFuZygnYXQnKX0mbmJzcDsKICAgICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXN0YXJ0ZGF0ZV9YWE1lcmlkaWFuIiBjbGFzcz0ibWVyaWRpYW4iPgogICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kbWVyaWRpYW5zfQogICAgICAgICA8L3NlbGVjdD4KICAgICAgPC9zcGFuPgoKICAgICAgeyogZW5kIGRhdGUgYW5kIHRpbWUgPyp9CiAgICAgIDxzcGFuIGNsYXNzPSJlbmRfaW5mbyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9ZW5kZGF0ZV9YWHsvY2FwdHVyZX0KICAgICAgJm5ic3A7eyRtb2QtPkxhbmcoJ2VuZF9kYXRlJyl9Jm5ic3A7e2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSR0bXAgZW5kX3llYXI9KzV9CiAgICAgIDwvc3Bhbj4KCiAgICAgIHsqIGNoZWNrIGJ1dHRvbiAqfQogICAgICB7KiBkZWwgYnV0dG9uICp9CiAgICAgIDxzcGFuIGNsYXNzPSJidXR0b25zIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgICA8YSBocmVmPSIjIiBuYW1lPSJjaGVja19yb3dfWFgiIGNsYXNzPSJjaGVja19yb3ciPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vaW5mby5naWYnIGFsdD0kbW9kLT5MYW5nKCdjaGVja19hdmFpbGFiaWxpdHknKX08L2E+CiAgICAgIDxhIGhyZWY9IiMiIG5hbWU9ImRlbF9yb3dfWFgiIGNsYXNzPSJkZWxfcm93Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGFsdD0kbW9kLT5MYW5nKCdkZWxldGUnKX08L2E+CiAgICAgIDwvc3Bhbj4KICAgIDwvcD4KICAgIDxwIGNsYXNzPSJyc3JjaW5mbyIgc3R5bGU9Im1hcmdpbi1yaWdodDogM2VtOyBkaXNwbGF5OiBub25lOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJncmFudWxhcml0eSI+PC9zcGFuPiZuYnNwOyZuYnNwOwogICAgPC9wPgogICAgPHAgY2xhc3M9InJzcmNhdmFpbCIgc3R5bGU9Im1hcmdpbi1yaWdodDogM2VtOyBkaXNwbGF5OiBub25lOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJtZXNzYWdlIj48L3NwYW4+Jm5ic3A7Jm5ic3A7CiAgICAgIHskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeWJtb2wnLCckJyl9PHNwYW4gY2xhc3M9InByaWNlIj48L3NwYW4+CiAgICA8L3A+CiAgPC9kaXY+CiAgeyogZW5kIHJlc291cmNlIHJvdyB0ZW1wbGF0ZSAqfQoKICB7KiBhZGQgYnV0dG9uICp9CiAgPHA+IAogICAgPGlucHV0IGlkPSJhZGRSZXNvdXJjZSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2FkZCcpfSIvPgogIDwvcD4KCiAgeyogZXhpc3RpbmcgcGFydHMgKn0KICB7Zm9yZWFjaCBmcm9tPSRkYXRhLnBhcnRzIGl0ZW09J3BhcnQnIG5hbWU9J3BhcnRzJ30KICA8ZGl2IG5hbWU9InJlc291cmNlUm93Ij4KICAgIDxwPgogICAgICA8c3BhbiBjbGFzcz0icm93bnVtIiBuYW1lPSJ7JGFjdGlvbmlkfXJzcmNudW0iPnskc21hcnR5LmZvcmVhY2gucGFydHMuaXRlcmF0aW9ufTwvc3Bhbj4mbmJzcDsKICAgICAgPHNlbGVjdCBjbGFzcz0ic2VscnNyYyIgbmFtZT0ieyRhY3Rpb25pZH1zZWxyc3JjX3skc21hcnR5LmZvcmVhY2gucGFydHMuaXRlcmF0aW9ufSI+CiAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRyc3JjX2xpc3Qgc2VsZWN0ZWQ9JHBhcnQuZXh0X3JzcmNpZH0KICAgICAgPC9zZWxlY3Q+CgogICAgICB7KiBzdGFydCBkYXRlIGFuZCB0aW1lICp9CiAgICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfXN0YXJ0ZGF0ZV97JHNtYXJ0eS5mb3JlYWNoLnBhcnRzLml0ZXJhdGlvbn17L2NhcHR1cmV9CiAgICAgIDxzcGFuIGNsYXNzPSJzdGFydF9kYXRlIj4KICAgICAgICB7JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTombmJzcDt7aHRtbF9zZWxlY3RfZGF0ZSBlbmRfeWVhcj0rNSBwcmVmaXg9JHRtcCB0aW1lPSRwYXJ0LnN0YXJ0X2RhdGV9CiAgICAgIDwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InN0YXJ0X3RpbWUie2lmICRwYXJ0LmV4dF9wYXJ0X3R5cGUgIT0gImhvdXJseSJ9IHN0eWxlPSJkaXNwbGF5OiBub25lOyJ7L2lmfT4KICAgICAgICB7JG1vZC0+TGFuZygnYXQnKX0mbmJzcDt7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCBkaXNwbGF5X3NlY29uZHM9ZmFsc2UgbWludXRlX2ludGVydmFsPTE1IHRpbWU9JHBhcnQuc3RhcnRfZGF0ZX0KICAgICAgPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0ic3RhcnRfbWVyaWRpYW4ie2lmICRwYXJ0LmV4dF9wYXJ0X3R5cGUgIT0gJ2hhbGZfZGF5J30gc3R5bGU9ImRpc3BsYXk6IG5vbmU7InsvaWZ9PgogICAgICAgIHskbW9kLT5MYW5nKCdhdCcpfSZuYnNwOwogICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1zdGFydGRhdGVfeyRzbWFydHkuZm9yZWFjaC5wYXJ0cy5pdGVyYXRpb259TWVyaWRpYW4iIGNsYXNzPSJtZXJpZGlhbiI+CiAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JG1lcmlkaWFucyBzZWxlY3RlZD0kcGFydC5tZXJpZGlhbn0geyogdG9kbyAqfQogICAgICAgIDwvc2VsZWN0PgogICAgICA8L3NwYW4+CgogICAgICB7KiBlbmQgZGF0ZSBhbmQgdGltZSA/Kn0KICAgICAgPHNwYW4gY2xhc3M9ImVuZF9pbmZvIntpZiAkcGFydC5leHRfcGFydF90eXBlICE9ICdkYWlseSd9IHN0eWxlPSJkaXNwbGF5OiBub25lOyJ7L2lmfT4KICAgICAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1lbmRkYXRlX3skc21hcnR5LmZvcmVhY2gucGFydHMuaXRlcmF0aW9ufXsvY2FwdHVyZX0KICAgICAgICAmbmJzcDt7JG1vZC0+TGFuZygnZW5kX2RhdGUnKX0mbmJzcDt7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCBlbmRfeWVhcj0rNSB0aW1lPSRwYXJ0LmVuZF9kYXRlfQogICAgICA8L3NwYW4+CgogICAgICB7KiBjaGVjayBidXR0b24gKn0KICAgICAgeyogZGVsIGJ1dHRvbiAqfQogICAgICA8c3BhbiBjbGFzcz0iYnV0dG9ucyI+CiAgICAgICAgPGEgaHJlZj0iIyIgbmFtZT0iY2hlY2tfcm93IiBjbGFzcz0iY2hlY2tfcm93Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2luZm8uZ2lmJyBhbHQ9JG1vZC0+TGFuZygnY2hlY2tfYXZhaWxhYmlsaXR5Jyl9PC9hPgogICAgICAgIDxhIGhyZWY9IiMiIG5hbWU9ImRlbF9yb3ciIGNsYXNzPSJkZWxfcm93Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGFsdD0kbW9kLT5MYW5nKCdkZWxldGUnKX08L2E+CiAgICAgIDwvc3Bhbj4KICAgIDwvcD4KICAgIDxwIGNsYXNzPSJyc3JjaW5mbyIgc3R5bGU9Im1hcmdpbi1yaWdodDogM2VtOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJncmFudWxhcml0eSI+eyRwYXJ0LmV4dF9zdW1tYXJ5fTwvc3Bhbj4mbmJzcDsmbmJzcDsKICAgIDwvcD4KICAgIDxwIGNsYXNzPSJyc3JjYXZhaWwiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDNlbTsiPgogICAgICA8c3BhbiBjbGFzcz0ibWVzc2FnZSI+PC9zcGFuPiZuYnNwOyZuYnNwOwogICAgICB7JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3libW9sJywnJCcpfTxzcGFuIGNsYXNzPSJwcmljZSI+eyRwYXJ0LnByaWNlfTwvc3Bhbj4KICAgIDwvcD4KICA8L2Rpdj4KICB7L2ZvcmVhY2h9CjwvZGl2Pgo8L2ZpZWxkc2V0Pgo8L2Rpdj4KCntsaXRlcmFsfQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgdmFyIG51bXJvd3M9ey9saXRlcmFsfXskc21hcnR5LmZvcmVhY2gucGFydHMuaXRlcmF0aW9ufXtsaXRlcmFsfTsKICB2YXIgY2hlY2tfdXJsID0gInsvbGl0ZXJhbH17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1BdmFpbGFiaWxpdHkgYWN0aW9uPWpzb25fY2hlY2tfYXZhaWwgdXJsb25seT0xfXtsaXRlcmFsfSI7CiAgY2hlY2tfdXJsID0gY2hlY2tfdXJsLnJlcGxhY2UoL2FtcDsvZywnJykrJyZzdXBwcmVzc291dHB1dD1mYWxzZSc7CiAgdmFyIHJzcmNfdXJsID0gInsvbGl0ZXJhbH17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1BdmFpbGFiaWxpdHkgYWN0aW9uPWpzb25fcnNyY19pbmZvIHVybG9ubHk9MX17bGl0ZXJhbH0iOwogIHJzcmNfdXJsID0gcnNyY191cmwucmVwbGFjZSgvYW1wOy9nLCcnKSsnJnN1cHByZXNzb3V0cHV0PWZhbHNlJzsKCiAgdmFyIGFjdGlvbmlkID0gJ3svbGl0ZXJhbH17JGFjdGlvbmlkfXtsaXRlcmFsfSc7CgogIGpRdWVyeS5leHRlbmQoewogICAgICBwb3N0SlNPTjogZnVuY3Rpb24oIHVybCwgZGF0YSwgY2FsbGJhY2sgKSB7CiAgICAgICAgICAgcmV0dXJuIGpRdWVyeS5wb3N0KHVybCwgZGF0YSwgY2FsbGJhY2ssICJqc29uIik7CiAgICAgIH0KICB9KTsKCgogIGZ1bmN0aW9uIGJ1aWxkX2RhdGUoY29udGFpbmVyLHByZWZpeCxudW0sdGltZSkKICB7CiAgICB0aW1lID0gdHlwZW9mKHRpbWUpICE9ICd1bmRlZmluZWQnID8gdGltZSA6IDE7CgogICAgdmFyIHN0YXJ0X3llYXI9Y29udGFpbmVyLmZpbmQoJ1tuYW1lPVwnJythY3Rpb25pZCtwcmVmaXgrbnVtKydZZWFyJysnXCddJykudmFsKCk7CiAgICB2YXIgc3RhcnRfbW9udGg9Y29udGFpbmVyLmZpbmQoJ1tuYW1lPVwnJythY3Rpb25pZCtwcmVmaXgrbnVtKydNb250aCcrJ1wnXScpLnZhbCgpOwogICAgdmFyIHN0YXJ0X2RheT1jb250YWluZXIuZmluZCgnW25hbWU9XCcnK2FjdGlvbmlkK3ByZWZpeCtudW0rJ0RheScrJ1wnXScpLnZhbCgpOwoKICAgIGlmKCB0aW1lICkKICAgIHsKICAgICAgdmFyIHN0YXJ0X2hvdXI9Y29udGFpbmVyLmZpbmQoJ1tuYW1lPVwnJythY3Rpb25pZCtwcmVmaXgrbnVtKydIb3VyJysnXCddJykudmFsKCk7CiAgICAgIHZhciBzdGFydF9taW51dGU9Y29udGFpbmVyLmZpbmQoJ1tuYW1lPVwnJythY3Rpb25pZCtwcmVmaXgrbnVtKydNaW51dGUnKydcJ10nKS52YWwoKTsKICAgIH0KCiAgICB2YXIgc3RyID0gc3RhcnRfbW9udGgrJy8nK3N0YXJ0X2RheSsnLycrc3RhcnRfeWVhcjsKICAgIGlmKCB0aW1lICkKICAgIHsgCiAgICAgIHN0ciArPSAnICcrc3RhcnRfaG91cisnOicrc3RhcnRfbWludXRlKyc6MDAnOwogICAgfQogICAgcmV0dXJuIHN0cjsKICB9CgogIGZ1bmN0aW9uIGNhbGN1bGF0ZV90b3RhbF9wcmljZSgpCiAgewogICAgdmFyIHRvdGFscHJpY2UgPSAwOwogICAgJCgnI3Jlc291cmNlTGlzdCcpLmZpbmQoJy5wcmljZScpLmVhY2goZnVuY3Rpb24oaSkgewogICAgICB2YXIgY3VycmVudEVsZW0gPSAkKHRoaXMpOwogICAgICBpZiggY3VycmVudEVsZW0uaHRtbCgpICE9ICcnICkKICAgICAgICAgewogICAgICAgICAgIHRvdGFscHJpY2UgKz0gcGFyc2VGbG9hdChjdXJyZW50RWxlbS5odG1sKCkpOwogICAgICAgICB9CiAgICB9KTsKICAgICQoJyNjYWxjcHJpY2UnKS5odG1sKHRvdGFscHJpY2UudG9TdHJpbmcoKSk7CiAgICAkKCcjcHJpY2UnKS52YWwodG90YWxwcmljZS50b1N0cmluZygpKTsKICB9CgogIGZ1bmN0aW9uIGFkZHJvdygpCiAgeyAgCQkJCiAgICBudW1yb3dzKys7CiAgICBuZXdyc3JjID0gJCgiI3Jlc291cmNlVGVtcGxhdGUiKS5jbG9uZSh0cnVlKTsKICAgIG5ld3JzcmMuYXR0cignaWQnLG5ld3JzcmMuYXR0cignaWQnKStudW1yb3dzKTsKICAgIG5ld3JzcmMuZmluZCgnc3Bhbi5yb3dudW0nKS5lYWNoKGZ1bmN0aW9uKGkpIHsKCXZhciBjdXJyZW50RWxlbT0gJCh0aGlzKTsKCWN1cnJlbnRFbGVtLmh0bWwobnVtcm93cyk7ICAgICAgICAKICAgIH0pOwogICAgbmV3cnNyYy5maW5kKCJzZWxlY3QiKS5lYWNoKGZ1bmN0aW9uKGkpIHsKCXZhciBjdXJyZW50RWxlbT0gJCh0aGlzKTsKCWN1cnJlbnRFbGVtLmF0dHIoIm5hbWUiLGN1cnJlbnRFbGVtLmF0dHIoIm5hbWUiKS5yZXBsYWNlKCdYWCcsbnVtcm93cykpOwoJLy9jdXJyZW50RWxlbS5hdHRyKCJpZCIsY3VycmVudEVsZW0uYXR0cigiaWQiKStudW1yb3dzKTsKICAgIH0pOwogICAgbmV3cnNyYy5maW5kKCJpbnB1dCIpLmVhY2goZnVuY3Rpb24oaSkgewoJdmFyIGN1cnJlbnRFbGVtPSAkKHRoaXMpOwoJY3VycmVudEVsZW0uYXR0cigibmFtZSIsY3VycmVudEVsZW0uYXR0cigibmFtZSIpLnJlcGxhY2UoJ1hYJyxudW1yb3dzKSk7CgkvL2N1cnJlbnRFbGVtLmF0dHIoImlkIixjdXJyZW50RWxlbS5hdHRyKCJpZCIpK251bXJvd3MpOwogICAgfSk7CiAgICBuZXdyc3JjLmZpbmQoImEiKS5lYWNoKGZ1bmN0aW9uKGkpIHsKCXZhciBjdXJyZW50RWxlbT0gJCh0aGlzKTsKCWN1cnJlbnRFbGVtLmF0dHIoIm5hbWUiLGN1cnJlbnRFbGVtLmF0dHIoIm5hbWUiKS5yZXBsYWNlKCdYWCcsbnVtcm93cykpOwoJLy9jdXJyZW50RWxlbS5hdHRyKCJpZCIsY3VycmVudEVsZW0uYXR0cigiaWQiKStudW1yb3dzKTsKICAgIH0pOwoJCQkKICAgIG5ld3JzcmMuYXBwZW5kVG8oIiNyZXNvdXJjZUxpc3QiKTsKICAgIG5ld3JzcmMuZmFkZUluKCk7CiAgfQoKCiAgalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgICQuYWpheFNldHVwKHsKICAgICAgdGltZW91dDogMjAwMAogICAgfSk7CgogICAgYWRkcm93KCk7CiAgICBqUXVlcnkoJy5jaGVja19yb3cnKS5jbGljayhmdW5jdGlvbigpIHsKICAgICAgIHZhciBjdXJyZW50RWxlbT0gJCh0aGlzKTsKICAgICAgIHZhciBwYXJlbnQgPSBjdXJyZW50RWxlbS5wYXJlbnQoKS5wYXJlbnQoKTsKICAgICAgIHZhciBjb250YWluZXIgPSBjdXJyZW50RWxlbS5wYXJlbnRzKCJbbmFtZT0ncmVzb3VyY2VSb3cnXSIpOwogICAgICAgdmFyIHJvdyA9IGNvbnRhaW5lci5maW5kKCcucm93bnVtJykuaHRtbCgpOwoKICAgICAgIHZhciBvYmogPSBuZXcgT2JqZWN0KCk7CiAgICAgICBvYmoucnNyY19pZCA9IGNvbnRhaW5lci5maW5kKCcuc2VscnNyYycpLnZhbCgpLnNwbGl0KCcsJylbMF07CiAgICAgICBvYmouc3RhcnRfZGF0ZSA9IGJ1aWxkX2RhdGUoY29udGFpbmVyLCdzdGFydGRhdGVfJyxyb3cpOwogICAgICAgb2JqLmVuZF9kYXRlID0gYnVpbGRfZGF0ZShjb250YWluZXIsJ2VuZGRhdGVfJyxyb3csMCk7CiAgICAgICBvYmoubnVtX3Blb3BsZSA9IDEwOyAvLyB0b2RvCiAgICAgICBvYmoubWVyaWRpYW4gPSBjb250YWluZXIuZmluZCgnLm1lcmlkaWFuJykudmFsKCk7CiAgICAgICB2YXIgc3RyID0gJC50b0pTT04ob2JqKTsKICAgICAgIHZhciBqc29uID0gJC5wb3N0KGNoZWNrX3VybCwgeyBkYXRhOiBzdHIgfSwgCiAgICAgICAgICAgZnVuY3Rpb24ocmVzcG9uc2UpewogICAgICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5tZXNzYWdlJykuaHRtbChyZXNwb25zZS5yZXN1bHQpOwoJICAgICBjb250YWluZXIuZmluZCgnLnByaWNlJykuaHRtbChyZXNwb25zZS5wcmljZSk7CiAgICAgICAgICAgICBjb250YWluZXIuZmluZCgnLnJzcmNhdmFpbCcpLnNob3coKTsKCSAgICAgY2FsY3VsYXRlX3RvdGFsX3ByaWNlKCk7CiAgICAgICAgICAgfSwgCiAgICAgICAgICAgJ2pzb24nKTsKICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwogICAgalF1ZXJ5KCcuc2VscnNyYycpLmNoYW5nZShmdW5jdGlvbigpIHsKICAgICAgIHZhciBjdXJyZW50RWxlbT0gJCh0aGlzKTsKICAgICAgIHZhciB2YWwgPSBjdXJyZW50RWxlbS52YWwoKS5zcGxpdCgnLCcpOwogICAgICAgdmFyIGNvbnRhaW5lciA9IGN1cnJlbnRFbGVtLnBhcmVudHMoIltuYW1lPSdyZXNvdXJjZVJvdyddIik7CiAgICAgICBpZiggdmFsWzFdID09ICdkJyApCiAgICAgICB7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X2RhdGUnKS5zaG93KCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLmJ1dHRvbnMnKS5zaG93KCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X3RpbWUnKS5oaWRlKCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X21lcmlkaWFuJykuaGlkZSgpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5lbmRfaW5mbycpLnNob3coKTsKICAgICAgIH0KICAgICAgIGVsc2UgaWYoIHZhbFsxXSA9PSAncCcgKQogICAgICAgewogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5zdGFydF9kYXRlJykuc2hvdygpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5idXR0b25zJykuc2hvdygpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5zdGFydF90aW1lJykuaGlkZSgpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5zdGFydF9tZXJpZGlhbicpLnNob3coKTsKICAgICAgICAgIGNvbnRhaW5lci5maW5kKCcuZW5kX2luZm8nKS5oaWRlKCk7CiAgICAgICB9CiAgICAgICBlbHNlIGlmKCB2YWxbMV0gIT0gJy0xJyApCiAgICAgICB7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X2RhdGUnKS5zaG93KCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLmJ1dHRvbnMnKS5zaG93KCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLmVuZF9pbmZvJykuaGlkZSgpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5zdGFydF90aW1lJykuc2hvdygpOwogICAgICAgICAgY29udGFpbmVyLmZpbmQoJy5zdGFydF9tZXJpZGlhbicpLmhpZGUoKTsKICAgICAgIH0KICAgICAgIGVsc2UKICAgICAgIHsKICAgICAgICAgIGNvbnRhaW5lci5maW5kKCcuc3RhcnRfZGF0ZScpLmhpZGUoKTsKICAgICAgICAgIGNvbnRhaW5lci5maW5kKCcuYnV0dG9ucycpLmhpZGUoKTsKICAgICAgICAgIGNvbnRhaW5lci5maW5kKCcuZW5kX2luZm8nKS5oaWRlKCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X3RpbWUnKS5oaWRlKCk7CiAgICAgICAgICBjb250YWluZXIuZmluZCgnLnN0YXJ0X21lcmlkaWFuJykuaGlkZSgpOwogICAgICAgfQoKICAgICAgIGNvbnRhaW5lci5maW5kKCcucnNyY2F2YWlsJykuaGlkZSgpOwogICAgICAgdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKICAgICAgIG9iai5yc3JjX2lkID0gY29udGFpbmVyLmZpbmQoJy5zZWxyc3JjJykudmFsKCkuc3BsaXQoJywnKVswXTsKICAgICAgIHZhciBzdHIgPSAkLnRvSlNPTihvYmopOwogICAgICAgJC5wb3N0KHJzcmNfdXJsLCB7IGRhdGE6IHN0ciB9LAogICAgICAgICAgIGZ1bmN0aW9uKHJlc3BvbnNlKXsKICAgICAgICAgICAgICBpZihyZXNwb25zZS5yZXN1bHQgPT0gJ3N1Y2Nlc3MnICkKCSAgICAgIHsKICAgICAgICAgICAgICAgICBjb250YWluZXIuZmluZCgnLmdyYW51bGFyaXR5JykuaHRtbChyZXNwb25zZS5zdW1tYXJ5KTsKICAgICAgICAgICAgICAgICBjb250YWluZXIuZmluZCgnLnJzcmNpbmZvJykuc2hvdygpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICB9LAoJICAgJ2pzb24nKTsKICAgIH0pOwogICAgalF1ZXJ5KCcuZGVsX3JvdycpLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgdmFyIGN1cnJlbnRFbGVtPSAkKHRoaXMpOwogICAgICAgdmFyIGNvbnRhaW5lciA9IGN1cnJlbnRFbGVtLnBhcmVudHMoIltuYW1lPSdyZXNvdXJjZVJvdyddIik7CiAgICAgICBjb250YWluZXIucmVtb3ZlKCk7CiAgICAgICBjYWxjdWxhdGVfdG90YWxfcHJpY2UoKTsKICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwogICAgalF1ZXJ5KCcjYWRkUmVzb3VyY2UnKS5jbGljayhmdW5jdGlvbigpIHsKICAgICAgIGFkZHJvdygpOwogICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7CiAgfSk7Cjwvc2NyaXB0Pgp7L2xpdGVyYWx9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3N0YXR1cycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9zdGF0dXMiPgogICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kc3RhdHVzZXMgc2VsZWN0ZWQ9JGRhdGEuc3RhdHVzfQogICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ251bV9wZW9wbGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbnVtcGVvcGxlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYWRtaW5fbm90ZXMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWRtaW5fbm90ZXN9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH17aWYgJG1vZC0+Q2FuRWRpdFJlc2VydmF0aW9ucygpfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZGVsZXRlX3Jlc3ZuJyBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGltYWdlb25seT0xIHJlc3ZuaWQ9JGRhdGEuaWQgdGV4dD0kbW9kLT5MYW5nKCdkZWxldGUnKSBjb25mbWVzc2FnZT0kbW9kLT5MYW5nKCdhc2tfZGVsZXRlX3Jlc2VydmF0aW9uJyl9ey9pZn08L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_rsrc.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhY3Rpb25wYXJhbXMucnNyY2lkKX0KPGgzPnskbW9kLT5MYW5nKCdlZGl0Jyl9IHskbW9kLT5HZXRSZXNvdXJjZVR5cGUoKX08L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCdhZGQnKX0geyRtb2QtPkdldFJlc291cmNlVHlwZSgpfTwvaDM+CnsvaWZ9Cgp7JGZvcm1zdGFydH0KeyRtb2QtPlN0YXJ0VGFiSGVhZGVycygpfQp7JG1vZC0+U2V0VGFiSGVhZGVyKCdyZXNvdXJjZXMnLCRtb2QtPkdldFJlc291cmNlVHlwZSgpKX0KeyRtb2QtPlNldFRhYkhlYWRlcignc2NoZWR1bGluZycsJG1vZC0+TGFuZygnc2NoZWR1bGluZycpKX0KeyRtb2QtPlNldFRhYkhlYWRlcigncHJpY2luZycsJG1vZC0+TGFuZygncHJpY2VzJykpfQp7JG1vZC0+RW5kVGFiSGVhZGVycygpfQoKeyRtb2QtPlN0YXJ0VGFiQ29udGVudCgpfQoKeyRtb2QtPlN0YXJ0VGFiKCdyZXNvdXJjZXMnKX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCduYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhY3RpdmUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWN0aXZlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZGVzY3JpcHRpb259PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYWRtaW5fbm90ZXMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWRtaW5fbm90ZXN9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2FwYWNpdHknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X2NhcGFjaXR5Ij4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRsaXN0X2NhcGFjaXRpZXMgc2VsZWN0ZWQ9JHJzcmMuY2FwYWNpdHl9CiAgICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2PgoKCnsqIGN1c3RvbSBmaWVsZHMgKn0Ke2ZvcmVhY2ggZnJvbT0kZmllbGRzIGl0ZW09J29uZWZpZWxkJ30KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICB7JG9uZWZpZWxkLmhpZGRlbn0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskb25lZmllbGQucHJvbXB0fTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2lmIGlzc2V0KCRvbmVmaWVsZC5kaXNwbGF5X3ZhbHVlKX08c3Ryb25nPnskb25lZmllbGQuZGlzcGxheV92YWx1ZX08L3N0cm9uZz57aWYgaXNzZXQoJG9uZWZpZWxkLmRlbGV0ZV9maWVsZCl9Jm5ic3A7eyRtb2QtPkxhbmcoJ2RlbGV0ZScpfTogeyRvbmVmaWVsZC5kZWxldGVfZmllbGR9ey9pZn08YnIvPnsvaWZ9eyRvbmVmaWVsZC5maWVsZH08L3A+ICAgCjwvZGl2Pgp7L2ZvcmVhY2h9Cgp7KiBjYXRlZ29yaWVzICp9CntpZiBpc3NldCgkY2F0ZWdvcmllcyl9CjxmaWVsZHNldD4KICA8bGVnZW5kPiZuYnNwO3skbW9kLT5MYW5nKCdjYXRlZ29yaWVzJyl9OiZuYnNwOzwvbGVnZW5kPgogIHtmb3JlYWNoIGZyb209JGNhdGVnb3JpZXMgaXRlbT0nb25lY2F0J30KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG9uZWNhdC5uYW1lfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG9uZWNhdC5maWVsZH08L3A+CiAgPC9kaXY+CiAgey9mb3JlYWNofQo8L2ZpZWxkc2V0Pgp7L2lmfQp7JG1vZC0+RW5kVGFiKCl9Cgp7KiBzY2hlZHVsaW5nIHRhYiAqfQp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBvbl90aW1lX2ludGVydmFsKCkKewogIHZhciBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RmbHRfaW50ZXJ2YWwnKTsKICB2YXIgaG91cmx5ZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvdXJseScpOwogIHZhciBkYWlseWRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYWlseScpOwogIHZhciBpbnRlcnZhbHNkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZWludGVydmFscycpOwogIHZhciBncmFudWxhcml0eWRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdncmFudWxhcml0eScpOwogIHZhciBpZHggPSBlbGVtLnNlbGVjdGVkSW5kZXg7ICAgCiAgdmFyIHZhbCA9IGVsZW1baWR4XS52YWx1ZTsKCiAgaWYoIHZhbCA9PSAnaG91cmx5JykKICB7CiAgICBob3VybHlkaXYuc3R5bGUuZGlzcGxheT0nYmxvY2snOwogICAgaW50ZXJ2YWxzZGl2LnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKICAgIGRhaWx5ZGl2LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogIH0KICBlbHNlIGlmKCB2YWwgPT0gJ2RhaWx5JyApCiAgewogICAgaG91cmx5ZGl2LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgaW50ZXJ2YWxzZGl2LnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgZGFpbHlkaXYuc3R5bGUuZGlzcGxheT0nYmxvY2snOwogIH0KICBlbHNlIHsKICAgIGhvdXJseWRpdi5zdHlsZS5kaXNwbGF5PSdub25lJzsKICAgIGludGVydmFsc2Rpdi5zdHlsZS5kaXNwbGF5PSdibG9jayc7CiAgICBkYWlseWRpdi5zdHlsZS5kaXNwbGF5PSdub25lJzsKICB9Cn0gCjwvc2NyaXB0Pgp7L2xpdGVyYWx9Cgp7JG1vZC0+U3RhcnRUYWIoJ3NjaGVkdWxpbmcnKX0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc2NoZWR1bGluZ19pbnRlcnZhbCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1yZXNfaW50ZXJ2YWwiIGlkPSJkZmx0X2ludGVydmFsIiBvbmNoYW5nZT0ib25fdGltZV9pbnRlcnZhbCgpOyI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kaW50ZXJ2YWxzIHNlbGVjdGVkPSRyc3JjLnJlc19pbnRlcnZhbH0KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgp7KiBmb3IgaG91cmx5IGludGVydmFscyAgKn0KPGRpdiBpZD0iaG91cmx5IiB7aWYgJHJzcmMucmVzX2ludGVydmFsICE9ICJob3VybHkifXN0eWxlPSJkaXNwbGF5OiBub25lOyJ7L2lmfSA+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgaWQ9ImdyYW51bGFyaXR5Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkZWZhdWx0X2dyYW51bGFyaXR5Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1ncmFudWxhcml0eSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZ3JhbnVsYXJpdHkgc2VsZWN0ZWQ9JHJzcmMuZ3JhbnVsYXJpdHl9CiAgICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2Pgo8L2Rpdj4KCjxkaXYgaWQ9InRpbWVpbnRlcnZhbHMiIHtpZiAkcnNyYy5yZXNfaW50ZXJ2YWwgPT0gImRhaWx5In1zdHlsZT0iZGlzcGxheTogbm9uZTsiey9pZn0+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3RhcnRfdGltZV8xJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfXN0YXJ0dGltZTFfey9jYXB0dXJlfQogICAge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSR0bXAgdGltZT0kcnNyYy5zdGFydHRpbWUxIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW5kX3RpbWVfMScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1lbmR0aW1lMV97L2NhcHR1cmV9CiAgICB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCB0aW1lPSRyc3JjLmVuZHRpbWUxIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3RhcnRfdGltZV8yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfXN0YXJ0dGltZTJfey9jYXB0dXJlfQogICAge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSR0bXAgdGltZT0kcnNyYy5zdGFydHRpbWUyIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW5kX3RpbWVfMicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1lbmR0aW1lMl97L2NhcHR1cmV9CiAgICB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCB0aW1lPSRyc3JjLmVuZHRpbWUyIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9CiAgPC9wPgo8L2Rpdj4KPC9kaXY+Cgp7KiBmb3IgZGFpbHkgaW50ZXJ2YWxzICp9CjxkaXYgaWQ9ImRhaWx5IiB7aWYgJHJzcmMucmVzX2ludGVydmFsICE9ICJkYWlseSJ9c3R5bGU9ImRpc3BsYXk6IG5vbmU7InsvaWZ9Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfWNoZWNraW5fey9jYXB0dXJlfQogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NoZWNraW5fdGltZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSR0bXAgdGltZT0kcnNyYy5jaGVja2ludGltZSBkaXNwbGF5X3NlY29uZHM9ZmFsc2UgbWludXRlX2ludGVydmFsPTE1fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9Y2hlY2tvdXRfey9jYXB0dXJlfQogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NoZWNrb3V0X3RpbWUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPntodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kdG1wIHRpbWU9JHJzcmMuY2hlY2tvdXR0aW1lIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9IDwvcD4KPC9kaXY+CjwvZGl2PgoKeyRtb2QtPkVuZFRhYigpfQoKCnsqIHByaWNpbmcgdGFiICp9CnskbW9kLT5TdGFydFRhYigncHJpY2luZycpfQo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnYmFzaWNfcHJpY2luZycpfTombmJzcDs8L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdiYXNlX3ByaWNlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJywnJCcpfXskaW5wdXRfYmFzZV9wcmljZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ292ZXJjYXBfYW1vdW50Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9b3ZlcmNhcF9hbW91bnQiIHNpemU9IjYiIG1heGxlbmd0aD0iNiIgdmFsdWU9InskYWRqdXN0cy5vdmVyY2FwfSIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX292ZXJjYXBfYW1vdW50Jyl9CiAgPC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KCnsqIHdlZWtkYXkgYWRqdXN0cyAqfQo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnd2Vla2RheV9wcmljZV9hZGp1c3RtZW50cycpfTombmJzcDs8L2xlZ2VuZD4KPHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+eyRtb2QtPkxhbmcoJ2luZm9fYWRqdXN0bWVudF92YWx1ZXMnKX08L3A+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3VuZGF5Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJywnJCcpfXskc3VuZGF5X2FkanVzdH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ21vbmRheScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX17JG1vbmRheV9hZGp1c3R9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0dWVzZGF5Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJywnJCcpfXskdHVlc2RheV9hZGp1c3R9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd3ZWRuZXNkYXknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9eyR3ZWRuZXNkYXlfYWRqdXN0fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndGh1cnNkYXknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9eyR0aHVyc2RheV9hZGp1c3R9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdmcmlkYXknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9eyRmcmlkYXlfYWRqdXN0fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc2F0dXJkYXknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnLCckJyl9eyRzYXR1cmRheV9hZGp1c3R9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KeyogZW5kIHdlZWtkYXkgYWRqdXN0cyAqfQoKeyogZXh0ZW5kZWQgdXNlIGRpc2NvdW50cyAqfQo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnZXh0ZW5kZWRfdXNlX2Rpc2NvdW50cycpfTombmJzcDs8L2xlZ2VuZD4KPHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+eyRtb2QtPkxhbmcoJ2luZm9fYnVsa2Rpc2NvdW50X2FkanVzdG1lbnRfdmFsdWVzJyl9PC9wPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2Rpc2NvdW50X3R5cGUnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9ZGlzY291bnRfdHlwZSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZGlzY291bnRfdHlwZXMgc2VsZWN0ZWQ9JGFkanVzdHMuZGlzY291bnRfdHlwZX0KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGlzY291bnRfbWluX2Jsb2NrcycpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWRpc2NvdW50X2RheXMiIHZhbHVlPSJ7JGFkanVzdHMuZGlzY291bnRfZGF5c30iIHNpemU9IjMiIG1heGxlbmd0aD0iMyIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGlzY291bnRfYWRqdXN0bWVudCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWRpc2NvdW50X2FkanVzdCIgdmFsdWU9InskYWRqdXN0cy5kaXNjb3VudF9hZGp1c3R9IiBzaXplPSIxMCIgbWF4bGVuZ3RoPSIzMCIvPgogIDwvcD4KPC9kaXY+Cgo8L2ZpZWxkc2V0Pgp7KiBlbmQgZXh0ZW5kZWQgdXNlIGRpc2NvdW50cyAqfQp7JG1vZC0+RW5kVGFiKCl9Cgp7JG1vZC0+RW5kVGFiQ29udGVudCgpfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH08L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_events_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWx0ZXInKX06PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3VzZV9kYXRlc19pbl9maWx0ZXInKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF91c2VfZGF0ZXN9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1pbnB1dF9zdGFydGRhdGVfey9jYXB0dXJlfQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCBzdGFydF95ZWFyPS0yMCBlbmRfeWVhcj0rMjAgdGltZT0kaW5wdXRfc3RhcnRkYXRlfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9aW5wdXRfZW5kZGF0ZV97L2NhcHR1cmV9CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdlbmRfZGF0ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCBlbmRfeWVhcj0tMjAgZW5kX3llYXI9KzIwIHRpbWU9JGlucHV0X2VuZGRhdGV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdldmVudF90eXBlJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdHlwZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2Jvb2thYmxlX2JyJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYm9va2FibGV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwYWdlX2xpbWl0Jyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcGFnZWxpbWl0fTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGJ0bmZpbHRlcn08L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cjxici8+CnskZm9ybWVuZH0KCntpZiBpc3NldCgkZXZlbnRzKX0KICB7aWYgJHBhZ2Vjb3VudCA+IDF9CiAgPHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICB7aWYgJGN1cnBhZ2VfZXYgPiAxfQogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZV9ldj0xIHRleHQ9JG1vZC0+TGFuZygnZmlyc3RwYWdlJykgY2dfYWN0aXZldGFiPSdldmVudHMnfSZuYnNwOwogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZV9ldj0kcHJldnBhZ2UgdGV4dD0kbW9kLT5MYW5nKCdwcmV2cGFnZScpIGNnX2FjdGl2ZXRhYj0nZXZlbnRzJ30mbmJzcDsKICAgIHsvaWZ9CiAgICB7JG1vZC0+TGFuZygncGFnZScpfSB7JGN1cnBhZ2VfZXZ9IHskbW9kLT5MYW5nKCdvZicpfSB7JHBhZ2Vjb3VudH0mbmJzcDsKICAgIHtpZiAkY3VycGFnZV9ldiA8ICRwYWdlY291bnR9CiAgICAgIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nZGVmYXVsdGFkbWluJyBjdXJwYWdlX2V2PSRuZXh0cGFnZSB0ZXh0PSRtb2QtPkxhbmcoJ25leHRwYWdlJykgY2dfYWN0aXZldGFiPSdldmVudHMnfSZuYnNwOwogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZV9ldj0kcGFnZWNvdW50IHRleHQ9JG1vZC0+TGFuZygnbGFzdHBhZ2UnKSBjZ19hY3RpdmV0YWI9J2V2ZW50cyd9Jm5ic3A7CiAgICB7L2lmfQogIDwvcD4KICB7L2lmfQogIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIiBjZWxsc3BhY2luZz0iMCI+CiAgICA8dGhlYWQ+IAogICAgICA8dHI+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3R5cGUnKX08L3RoPgoJPHRoPnskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9PC90aD4KCTx0aD57JG1vZC0+TGFuZygnZW5kX2RhdGUnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnYm9va2FibGVfYnInKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX08L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgPC90cj4KICAgIDwvdGhlYWQ+CiAgICA8dGJvZHk+CiAgICB7Zm9yZWFjaCBmcm9tPSRldmVudHMgaXRlbT0nb25lZXZlbnQnfQogICAgICB7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQogICAgICA8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgogICAgICAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2VkaXRfZXZlbnQnIGV2ZW50aWQ9JG9uZWV2ZW50LmlkIHRleHQ9JG9uZWV2ZW50Lm5hbWUgdGl0bGU9JG1vZC0+TGFuZygnZWRpdF9ldmVudCcpfTwvdGQ+CiAgICAgICAgPHRkPnskbW9kLT5HZXRFdmVudFR5cGVGcm9tSUQoJG9uZWV2ZW50LmV2ZW50X3R5cGVfaWQpfTwvdGQ+CiAgICAJPHRkPnskb25lZXZlbnQuc3RhcnRfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC90ZD4KICAgIAk8dGQ+eyRvbmVldmVudC5lbmRfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC90ZD4KICAgICAgICA8dGQ+e2lmICRvbmVldmVudC5ib29rYWJsZX17JG1vZC0+TGFuZygneWVzJyl9e2Vsc2V9Jm5ic3A7ey9pZn08L3RkPgoJPHRkPnskb25lZXZlbnQuZGVzY3JpcHRpb258c3RyaXBfdGFnc3xzdW1tYXJpemU6MjB9PC90ZD4KICAgICAgICA8dGQ+e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9lZGl0X2V2ZW50JyBpbWFnZT0naWNvbnMvc3lzdGVtL2VkaXQuZ2lmJyBpbWFnZW9ubHk9MSBldmVudGlkPSRvbmVldmVudC5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2VkaXRfZXZlbnQnKX08L3RkPgogICAgICAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2RlbGV0ZV9ldmVudCcgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBpbWFnZW9ubHk9MSBldmVudGlkPSRvbmVldmVudC5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2RlbGV0ZV9ldmVudCcpIGNvbmZtZXNzYWdlPSRtb2QtPkxhbmcoJ2Fza19kZWxldGVldmVudCcpfTwvdGQ+CiAgICAgIDwvdHI+CiAgICB7L2ZvcmVhY2h9CiAgICA8L3Rib2R5PgogIDwvdGFibGU+CnsvaWZ9Cgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij4Ke2lmICRtb2QtPkhhdmVFdmVudFR5cGVzKCkgJiYgJG1vZC0+SGF2ZVJlc291cmNlcygpfQogIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZWRpdF9ldmVudCcgdGV4dD0kbW9kLT5MYW5nKCdhZGRfZXZlbnQnKSBpbWFnZT0naWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnfQp7ZWxzZX0KICB7aWYgISRtb2QtPkhhdmVFdmVudFR5cGVzKCl9CiAgICB7JG1vZC0+U2hvd0Vycm9ycygkbW9kLT5MYW5nKCdlcnJvcl9ub19ldmVudF90eXBlcycpKX0KICB7ZWxzZWlmICEkbW9kLT5IYXZlUmVzb3VyY2VzKCl9CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRtb2QtPkxhbmcoJ2Vycm9yX25vX3Jlc291cmNlcycsJG1vZC0+R2V0UmVzb3VyY2VUeXBlKDEpKX17L2NhcHR1cmV9CiAgICB7JG1vZC0+U2hvd0Vycm9ycygkdG1wKX0KICB7L2lmfQp7L2lmfQo8L3A+]]></data>
	</file>
	<file>
	  <filename>/templates/admin_event_types_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRldmVudF90eXBlcyl9CiAgPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiIGNlbGxzcGFjaW5nPSIwIj4KICAgIDx0aGVhZD4KICAgICAgPHRyPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnaWQnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnbmFtZScpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdjb2xvcicpfTwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7eyogZWRpdCAqfTwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7eyogZGVsZXRlICp9PC90aD4KICAgICAgPC90cj4KICAgIDwvdGhlYWQ+CiAgICA8dGJvZHk+CiAgICB7Zm9yZWFjaCBmcm9tPSRldmVudF90eXBlcyBpdGVtPSdvbmV0eXBlJ30KICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgICA8dGQ+eyRvbmV0eXBlLmlkfTwvdGQ+CiAgICAgICAgPHRkPnskb25ldHlwZS5uYW1lfTwvdGQ+CiAgICAgICAgPHRkPnskb25ldHlwZS5jb2xvcn08L3RkPgogICAgICAgIDx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2VkaXRfZXZlbnRfdHlwZScgaW1hZ2U9J2ljb25zL3N5c3RlbS9lZGl0LmdpZicgaW1hZ2Vvbmx5PTEgdHlwZWlkPSRvbmV0eXBlLmlkIHRleHQ9JG1vZC0+TGFuZygnZWRpdF9ldmVudF90eXBlJyl9PC90ZD4KICAgICAgICA8dGQ+eyogVE9ETzogc2hvdWxkIG5vdCBhbGxvdyBkZWxldGluZyBhbiBldmVudCB0eXBlIHRoYXQgaXMgaW4gdXNlICp9e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9kZWxldGVfZXZlbnRfdHlwZScgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBpbWFnZW9ubHk9MSB0eXBlaWQ9JG9uZXR5cGUuaWQgdGV4dD0kbW9kLT5MYW5nKCdkZWxldGVfZXZlbnRfdHlwZScpfTwvdGQ+CiAgICAgIDwvdHI+CiAgICB7L2ZvcmVhY2h9CiAgICA8L3Rib2R5PgogIDwvdGFibGU+CnsvaWZ9Cgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij4KIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZWRpdF9ldmVudF90eXBlJyB0ZXh0PSRtb2QtPkxhbmcoJ2FkZF9ldmVudF90eXBlJykgaW1hZ2U9J2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJ30KPC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_graphing.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygneWVhcl8xJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZXRleHQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXllYXIxIj4KICAgICAge2h0bWxfb3B0aW9ucyB2YWx1ZXM9JHllYXJzIG91dHB1dD0keWVhcnMgc2VsZWN0ZWQ9JHZhbHVlc1swXX0KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3llYXJfMicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH15ZWFyMiIgc2VsZWN0ZWQ9JHZhbHVlc1sxXT4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR5ZWFyc30KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3llYXJfMycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH15ZWFyMyIgc2VsZWN0ZWQ9JHZhbHVlc1syXT4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR5ZWFyc30KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnYXBwbHknKX0iIC8+CiAgPC9wPgo8L2Rpdj4KCnskZm9ybWVuZH0KCjxici8+PGJyLz4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+CjxpbWcgc3JjPSJ7JGdyYXBofSI+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_mail_resvn.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gdG9nZ2xlRGlzcGxheShlbGVtKQp7CiAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbSk7CiAgdmFyIHR4dCA9IGVsLnN0eWxlLmRpc3BsYXk7CiAgaWYoIHR4dCA9PSAnbm9uZScgKQogICAgewogICAgICB0eHQgPSAnYmxvY2snOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgdHh0ID0gJ25vbmUnOwogICAgfQogIGVsLnN0eWxlLmRpc3BsYXkgPSB0eHQ7Cn0KPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KCjxoMz57JG1vZC0+TGFuZygnbWFuYWdlX2N1c3RvbWVyX2NvbnRhY3RfcmVzdm4nKX06IHskcmVzdl9pZH08L2gzPgoKe2lmIGlzc2V0KCRyZXN2bil9CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9kZXRhaWxzJyl9PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2N1c3RvbWVyJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdXNlcmluZm8uZGlzcGxheX0gKHskdXNlcmluZm8uZW1haWx9KTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+R2V0UmVzb3VyY2VUeXBlKDEpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JywgJ3xpbXBsb2RlOiRyZXN2bi5yc3Jjc308L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NoZWNraW4nKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRyZXN2bi5zdGFydF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NoZWNrb3V0Jyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcmVzdm4uZW5kX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY3JlYXRlZCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHJlc3ZuLmNyZWF0ZV9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2xhc3RfbW9kaWZpZWQnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRyZXN2bi5tb2RpZmllZF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3ByaWNlJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeW1ib2wnKX17JHJlc3ZuLnByaWNlfG51bWJlcl9mb3JtYXQ6Mn08L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+CnsvaWZ9Cgp7aWYgaXNzZXQoJG5vdGVzKX0KPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwYXN0X21lc3NhZ2VzJyl9PC9sZWdlbmQ+Cntmb3JlYWNoIGZyb209JG5vdGVzIGl0ZW09J29uZSd9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBhZ2V0YWJsZSI+CiAgICA8cD48c3Ryb25nPnskbW9kLT5MYW5nKCdzdWJqZWN0Jyl9Ojwvc3Ryb25nPiZuYnNwO3skb25lLnN1YmplY3R9Jm5ic3A7PGEgb25jbGljaz0idG9nZ2xlRGlzcGxheSgnbm90ZXskb25lLmlkfScpOyI+KzwvYT48L3A+CiAgICA8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNlbTsiPjxzdHJvbmc+eyRtb2QtPkxhbmcoJ3NlbnQnKX06PC9zdHJvbmc+Jm5ic3A7eyRvbmUuY3JlYXRlX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvcD4KICAgIDxkaXYgaWQ9Im5vdGV7JG9uZS5pZH0iIHN0eWxlPSJtYXJnaW4tbGVmdDogM2VtOyBkaXNwbGF5OiBub25lOyI+CiAgICAgICAgeyRvbmUudGV4dH0KICAgIDwvZGl2PgogIDwvZGl2PiAKey9mb3JlYWNofQo8L2ZpZWxkc2V0Pgp7L2lmfQoKeyRmb3Jtc3RhcnR9CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygnc2VuZF9lbWFpbCcpfTombmJzcDs8L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtZXNzYWdlX3RlbXBsYXRlJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGVtcGxhdGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzdWJqZWN0Jyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X3N1YmplY3QiIHNpemU9IjgwIiBtYXhsZW5ndGg9IjI1NSIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJqX3JlX3Jlc3ZuJywkcmVzdm5faWQpfSIgLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ21lc3NhZ2VfdGV4dCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2JvZHl9PC9wPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYXR0YWNobWVudCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpbGV9PC9wPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzZW5kJyl9IiAvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9IiAvPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_preferences_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gb25fdGltZV9pbnRlcnZhbCgpCnsKICB2YXIgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZmx0X2ludGVydmFsJyk7CiAgdmFyIGhvdXJseWRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3VybHknKTsKICB2YXIgZGFpbHlkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGFpbHknKTsKICB2YXIgaW50ZXJ2YWxzZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVpbnRlcnZhbHMnKTsKICB2YXIgZ3JhbnVsYXJpdHlkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ3JhbnVsYXJpdHknKTsKICB2YXIgaWR4ID0gZWxlbS5zZWxlY3RlZEluZGV4OyAgIAogIHZhciB2YWwgPSBlbGVtW2lkeF0udmFsdWU7CgogIGlmKCB2YWwgPT0gJ2hvdXJseScpCiAgewogICAgaG91cmx5ZGl2LnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKICAgIGludGVydmFsc2Rpdi5zdHlsZS5kaXNwbGF5PSdibG9jayc7CiAgICBkYWlseWRpdi5zdHlsZS5kaXNwbGF5PSdub25lJzsKICB9CiAgZWxzZSBpZiggdmFsID09ICdkYWlseScgKQogIHsKICAgIGhvdXJseWRpdi5zdHlsZS5kaXNwbGF5PSdub25lJzsKICAgIGludGVydmFsc2Rpdi5zdHlsZS5kaXNwbGF5PSdub25lJzsKICAgIGRhaWx5ZGl2LnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKICB9CiAgZWxzZSB7CiAgICBob3VybHlkaXYuc3R5bGUuZGlzcGxheT0nbm9uZSc7CiAgICBpbnRlcnZhbHNkaXYuc3R5bGUuZGlzcGxheT0nYmxvY2snOwogICAgZGFpbHlkaXYuc3R5bGUuZGlzcGxheT0nbm9uZSc7CiAgfQp9IAo8L3NjcmlwdD4Key9saXRlcmFsfQoKeyRmb3Jtc3RhcnR9CjxmaWVsZHNldD4KPGxlZ2VuZD4mbmJzcDt7JG1vZC0+TGFuZygnZ2VuZXJhbF9jb25maWcnKX06Jm5ic3A7PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzb3VyY2VfdHlwZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZXNvdXJjZV90eXBlfTxici8+eyRtb2QtPkxhbmcoJ2luZm9fcmVzb3VyY2VfdHlwZScpfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY3VycmVuY3lfc3ltYm9sJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2N1cnJlbmN5X3N5bWJvbH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2RlZmF1bHRfdGltZV9pbnRlcnZhbCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1kZmx0X2ludGVydmFsIiBpZD0iZGZsdF9pbnRlcnZhbCIgb25jaGFuZ2U9Im9uX3RpbWVfaW50ZXJ2YWwoKTsiPgogICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGludGVydmFscyBzZWxlY3RlZD0kZGZsdF9pbnRlcnZhbH0KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgp7KiBmb3IgaG91cmx5IGludGVydmFscyAqfQo8ZGl2IGlkPSJob3VybHkiIHtpZiAkZGZsdF9pbnRlcnZhbCAhPSAiaG91cmx5In1zdHlsZT0iZGlzcGxheTogbm9uZTsiey9pZn0gPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciIGlkPSJncmFudWxhcml0eSI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZGVmYXVsdF9ncmFudWxhcml0eScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9ZGZsdF9ncmFudWxhcml0eSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZ3JhbnVsYXJpdHkgc2VsZWN0ZWQ9JGRmbHRfZ3JhbnVsYXJpdHl9CiAgICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2Pgo8L2Rpdj4KCjxkaXYgaWQ9InRpbWVpbnRlcnZhbHMiIHtpZiAkZGZsdF9pbnRlcnZhbCA9PSAiZGFpbHkifXN0eWxlPSJkaXNwbGF5OiBub25lOyJ7L2lmfT4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzdGFydF90aW1lXzEnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9c3RhcnR0aW1lMV97L2NhcHR1cmV9CiAgICB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCB0aW1lPSRzdGFydHRpbWUxIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW5kX3RpbWVfMScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1lbmR0aW1lMV97L2NhcHR1cmV9CiAgICB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCB0aW1lPSRlbmR0aW1lMSBkaXNwbGF5X3NlY29uZHM9ZmFsc2UgbWludXRlX2ludGVydmFsPTE1fQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3N0YXJ0X3RpbWVfMicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1zdGFydHRpbWUyX3svY2FwdHVyZX0KICAgIHtodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kdG1wIHRpbWU9JHN0YXJ0dGltZTIgZGlzcGxheV9zZWNvbmRzPWZhbHNlIG1pbnV0ZV9pbnRlcnZhbD0xNX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdlbmRfdGltZV8yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfWVuZHRpbWUyX3svY2FwdHVyZX0KICAgIHtodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kdG1wIHRpbWU9JGVuZHRpbWUyIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTV9CiAgPC9wPgo8L2Rpdj4KPC9kaXY+Cgp7KiBmb3IgZGFpbHkgaW50ZXJ2YWxzICp9CjxkaXYgaWQ9ImRhaWx5IiB7aWYgJGRmbHRfaW50ZXJ2YWwgIT0gImRhaWx5In1zdHlsZT0iZGlzcGxheTogbm9uZTsiey9pZn0+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAge2NhcHR1cmUgYXNzaWduPSd0bXAnfXskYWN0aW9uaWR9Y2hlY2tpbl97L2NhcHR1cmV9CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2hlY2tpbl90aW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcCB0aW1lPSRjaGVja2luX3RpbWUgZGlzcGxheV9zZWNvbmRzPWZhbHNlICBtaW51dGVfaW50ZXJ2YWw9MTV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1jaGVja291dF97L2NhcHR1cmV9CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2hlY2tvdXRfdGltZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSR0bXAgdGltZT0kY2hlY2tvdXRfdGltZSBkaXNwbGF5X3NlY29uZHM9ZmFsc2UgbWludXRlX2ludGVydmFsPTE1fSA8L3A+CjwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYWxsb3dfbm9fcHJpY2VzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1lcnJvcl9ub19wcmljZXMiPgogICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGxpc3RfeWVzbm8gc2VsZWN0ZWQ9JGVycm9yX25vX3ByaWNlc30KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2FsbG93X25vX3ByaWNlcycpfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2RlZmF1bHRfY2FwYWNpdHknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZGVmYXVsdF9jYXBhY2l0eSIgdmFsdWU9InskZGVmYXVsdF9jYXBhY2l0eX0iIHNpemU9IjQiIG1heGxlbmd0aD0iNCIvPgogIDwvcD4KPC9kaXY+Cgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPiZuYnNwO3skbW9kLT5MYW5nKCdpbWFnZV9oYW5kbGluZ19jb25maWcnKX06Jm5ic3A7PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYWxsb3dlZF9pbWFnZV90eXBlcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hbGxvd2VkX2ltYWdlX3R5cGVzfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYXV0b19nZW5lcmF0ZV90aHVtYm5haWxzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2F1dG9fdGh1bWJuYWlsfTwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+Jm5ic3A7eyRtb2QtPkxhbmcoJ2ZpbGVfaGFuZGxpbmdfY29uZmlnJyl9OiZuYnNwOzwvbGVnZW5kPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2FsbG93ZWRfZmlsZV90eXBlcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hbGxvd2VkX2ZpbGVfdHlwZXN9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhdHRhY2htZW50X2RpcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hdHRhY2htZW50X2Rpcn08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPiZuYnNwO3skbW9kLT5MYW5nKCdmZXVfcHJlZmVyZW5jZXMnKX06Jm5ic3A7PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY3VzdG9tZXJfZ3JvdXAnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY3VzdG9tZXJfZ3JvdXB9PC9wPgo8L2Rpdj4KeyoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnaW5mb19jdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJyl9PC9wPgo8L2Rpdj4KKn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdjdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2N1c3RvbWVyX2Rpc3BsYXlfdGVtcGxhdGUnKX08YnIvPgogICAgeyRpbnB1dF9jdXN0b21lcl9kaXNwbGF5X3RlbXBsYXRlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7JG1vZC0+TGFuZygnaW5mb19wYWdlX3JlZGlyZWN0X25vdGxvZ2dlZGluJyl9PGJyLz4KICAgIHskaW5wdXRfcGFnZV9yZWRpcmVjdF9ub3Rsb2dnZWRpbn08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPiZuYnNwO3skbW9kLT5MYW5nKCdjYWxlbmRhcl9jb25maWcnKX06Jm5ic3A7PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fcGFydGlhbF9mb3JlZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX3BhcnRpYWxfZm9yZWdyb3VuZH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uX3BhcnRpYWxfYmFja2dyb3VuZF9jb2xvcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jYWxlbmRhcl9wYXJ0aWFsX2JhY2tncm91bmR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9mb3JlZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX3Jlc3ZuX2ZvcmVncm91bmR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9iYWNrZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX3Jlc3ZuX2JhY2tncm91bmR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9jb25mbGljdF9mb3JlZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX2NvbmZsaWN0X2ZvcmVncm91bmR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9jb25mbGljdF9iYWNrZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX2NvbmZsaWN0X2JhY2tncm91bmR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9wZW5kaW5nX2ZvcmVncm91bmRfY29sb3InKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY2FsZW5kYXJfcGVuZGluZ19mb3JlZ3JvdW5kfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fcGVuZGluZ19iYWNrZ3JvdW5kX2NvbG9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhbGVuZGFyX3BlbmRpbmdfYmFja2dyb3VuZH08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPiZuYnNwO3skbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9jb25maWcnKX06Jm5ic3A7PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Jlc2VydmF0aW9uX2RlZmF1bHRfcGFnZX08YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fcmVzZXJ2YXRpb25fZGVmYXVsdF9wYWdlJyl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVzZXJ2YXRpb25fY29uZmlybV9wYWdlfTxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19yZXNlcnZhdGlvbl9jb25maXJtX3BhZ2UnKX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfZmxhZycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX2ZsYWd9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9jb25maXJtX2VtYWlsX3N1YmplY3QnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9zdWJqZWN0fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9hdHRhY2htZW50Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfYXR0YWNobWVudH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uX2NvbmZpcm1fZW1haWxfY2MnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jY308YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fcmVzZXJ2YXRpb25fY29uZmlybV9lbWFpbF9jYycpfTwvcD4KPC9kaXY+CgogIDxmaWVsZHNldD4KICAgIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uX2RlcG9zaXRfc2V0dGluZ3MnKX06Jm5ic3A7PC9sZWdlbmQ+CiAgIAogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVxdWlyZV9kZXBvc2l0Jyl9PC9wPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3Jlc2VydmF0aW9uX3JlcXVpcmVfZGVwb3NpdH08L3A+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkZXBvc2l0X2Ftb3VudHMnKX08L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIHskbW9kLT5MYW5nKCdwZXJjZW50YWdlX2RlcG9zaXRfcmVxdWlyZWQnKX06IHskaW5wdXRfcmVzZXJ2YXRpb25fZGVwb3NpdF9wZXJjZW50fTxici8+CiAgICAgICAgeyRtb2QtPkxhbmcoJ21pbmltdW1fZGVwb3NpdF9yZXF1aXJlZCcpfTogeyRpbnB1dF9yZXNlcnZhdGlvbl9kZXBvc2l0X21pbmltdW19PGJyLz4KICAgICAgICB7JG1vZC0+TGFuZygnaW5mb19kZXBvc2l0Jyl9CiAgICAgIDwvcD4KICAgIDwvZGl2PgoKICA8L2ZpZWxkc2V0Pgo8L2ZpZWxkc2V0PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH08L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_reservations_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2ZpbHRlcicpfTombmJzcDs8L2xlZ2VuZD4KICB7JGZvcm1zdGFydH0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+R2V0UmVzb3VyY2VUeXBlKCl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcnNyY3N9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICB7Y2FwdHVyZSBhc3NpZ249J3RtcCd9eyRhY3Rpb25pZH1yZXN2bl9tb250aF97L2NhcHR1cmV9CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtb250aCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57aHRtbF9zZWxlY3RfZGF0ZSBkaXNwbGF5X2RheXM9ZmFsc2UgcHJlZml4PSR0bXAgc3RhcnRfeWVhcj0tMjAgZW5kX3llYXI9KzIwIHRpbWU9JHJlc3ZfZGF0ZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRidG5maWx0ZXJ9eyRidG5yZXNldH08L3A+CiAgPC9kaXY+CiAgeyRmb3JtZW5kfQo8L2ZpZWxkc2V0Pgo8L2Rpdj4KPGJyLz4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMjQlOyI+eyRwcmV2bW9udGhfbGlua308L3A+CiAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiA1MCU7Ij48c3Ryb25nPnskcmVzdl9kYXRlfGNtc19kYXRlX2Zvcm1hdDoiJUIgJVkifTwvc3Ryb25nPjwvcD4KICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB0ZXh0LWFsaWduOiByaWdodDsgd2lkdGg6IDI0JTsiPnskbmV4dG1vbnRoX2xpbmt9PC9wPgo8L2Rpdj4KCntpZiBpc3NldCgkcmVzZXJ2YXRpb25zKX0KICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIiIGNlbGxzcGFjaW5nPSIwIj4KICAgIDx0aGVhZD4KICAgICAgPHRyPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnaWQnKX08L3RoPgoJPHRoPnskbW9kLT5HZXRSZXNvdXJjZVR5cGUoKX0ocyk8L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdlbmRfZGF0ZScpfTwvdGg+Cgk8dGg+eyRtb2QtPkxhbmcoJ2d1ZXN0Jyl9PC90aD4KCTx0aD57JG1vZC0+TGFuZygncHJpY2UnKX08L3RoPgoJPHRoPnskbW9kLT5MYW5nKCdzdGF0dXMnKX08L3RoPgoJPHRoPnskbW9kLT5MYW5nKCdvY2N1cnMnKX08L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD57KiBjb250YWN0ICp9CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiB7bGl0ZXJhbH17c29ydGVyOiBmYWxzZX17L2xpdGVyYWx9Ij4mbmJzcDs8L3RoPnsqIHZpZXcgKn0KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIHtsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0iPiZuYnNwOzwvdGg+eyogZWRpdCAqfQogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+Jm5ic3A7PC90aD57KiBkZWxldGUgKn0KICAgICAgPC90cj4KICAgIDwvdGhlYWQ+CiAgICA8dGJvZHk+CiAgICB7Zm9yZWFjaCBmcm9tPSRyZXNlcnZhdGlvbnMgaXRlbT1vbmV9CiAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgIHsqPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4qfQogICAgICA8dHI+Cgk8dGQ+eyIlMDRkInxzcHJpbnRmOiRvbmUuaWR9PC90ZD4KCTx0ZD57JG9uZS5yc3Jjc3x0cnVuY2F0ZTozMH08L3RkPgoJPHRkPnskb25lLnN0YXJ0X2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvdGQ+Cgk8dGQ+eyRvbmUuZW5kX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvdGQ+CiAgICAgICAgPHRkPnskb25lLnVzZXJkZXRhaWxzLmRpc3BsYXl9PC90ZD4KCTx0ZD57JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJyl9eyRvbmUucHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvdGQ+CiAgICAgICAgPHRkPgogICAgICAgICAge2Fzc2lnbiB2YXI9J3RtcCcgdmFsdWU9Jyd9CiAgICAgICAgICB7aWYgJG9uZS5zdGF0dXMgPT0gJ2NhbmNlbGxlZCd9CiAgICAgICAgICAgIHthc3NpZ24gdmFyPSd0bXAnIHZhbHVlPSdyZWQnfQogICAgICAgICAge2Vsc2VpZiAkb25lLnN0YXR1cyA9PSAnY29uZmlybWVkJ30KICAgICAgICAgICAge2Fzc2lnbiB2YXI9J3RtcCcgdmFsdWU9J2dyZWVuJ30KICAgICAgICAgIHsvaWZ9CgkgIHtpZiAhZW1wdHkoJHRtcCl9CiAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6IHskdG1wfTsiPnskbW9kLT5MYW5nKCRvbmUuc3RhdHVzKX08L3NwYW4+CiAgICAgICAgICB7ZWxzZX0KICAgICAgICAgICAgIHskbW9kLT5MYW5nKCRvbmUuc3RhdHVzKX0KICAgICAgICAgIHsvaWZ9CiAgICAgICAgPC90ZD4KCTx0ZD4KICAgICAgICAgIHthc3NpZ24gdmFyPSd0bXAnIHZhbHVlPSdncmVlbid9CiAgICAgICAgICB7aWYgJG9uZS5hZGRuX3N0YXR1cyA9PSAnZXhwaXJlZCd9CgkgICAge2Fzc2lnbiB2YXI9J3RtcCcgdmFsdWU9Jyd9CiAgICAgICAgICB7ZWxzZWlmICRvbmUuYWRkbl9zdGF0dXMgPT0gJ2luX3Byb2dyZXNzJ30KICAgICAgICAgICAge2Fzc2lnbiB2YXI9J3RtcCcgdmFsdWU9J3JlZCd9CiAgICAgICAgICB7L2lmfQoJICB7aWYgIWVtcHR5KCR0bXApfQogICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiB7JHRtcH07Ij57JG1vZC0+TGFuZygkb25lLmFkZG5fc3RhdHVzKX08L3NwYW4+CiAgICAgICAgICB7ZWxzZX0KICAgICAgICAgICAgIHskbW9kLT5MYW5nKCRvbmUuYWRkbl9zdGF0dXMpfQogICAgICAgICAgey9pZn0KICAgICAgICA8L3RkPgogICAgICAgIDx0ZD57aWYgJG1vZC0+Q2FuQ29udGFjdEN1c3RvbWVycygpICYmICgkb25lLmFkZG5fc3RhdHVzID09ICdmdXR1cmUnKX17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX21haWxfcmVzdm4nIGltYWdlPSdlbWFpbC5wbmcnIGltYWdlb25seT0xIHJlc3ZuaWQ9JG9uZS5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2VtYWlsJyl9ey9pZn08L3RkPgogICAgICAgIDx0ZD57aWYgJG1vZC0+Q2FuVmlld1Jlc2VydmF0aW9ucygpfXttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fdmlld19yZXN2bicgaW1hZ2U9J2ljb25zL3N5c3RlbS92aWV3LmdpZicgaW1hZ2Vvbmx5PTEgcmVzdm5pZD0kb25lLmlkIHRleHQ9JG1vZC0+TGFuZygndmlldycpfXsvaWZ9PC90ZD4KICAgICAgICA8dGQ+e2lmICRtb2QtPkNhbkVkaXRSZXNlcnZhdGlvbnMoKX17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2FkbWluX2VkaXRfcmVzdm4nIGltYWdlPSdpY29ucy9zeXN0ZW0vZWRpdC5naWYnIGltYWdlb25seT0xIHJlc3ZuaWQ9JG9uZS5pZCB0ZXh0PSRtb2QtPkxhbmcoJ2VkaXQnKX17L2lmfTwvdGQ+CiAgICAgICAgPHRkPntpZiAkbW9kLT5DYW5FZGl0UmVzZXJ2YXRpb25zKCl9e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9kZWxldGVfcmVzdm4nIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicgaW1hZ2Vvbmx5PTEgcmVzdm5pZD0kb25lLmlkIHRleHQ9JG1vZC0+TGFuZygnZGVsZXRlJykgY29uZm1lc3NhZ2U9JG1vZC0+TGFuZygnYXNrX2RlbGV0ZV9yZXNlcnZhdGlvbicpfXsvaWZ9PC90ZD4KICAgICAgPC90cj4gICAgICAgCiAgICB7L2ZvcmVhY2h9CiAgICA8L3Rib2R5PgogIDwvdGFibGU+CnsvaWZ9Cgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij4Ke2lmICRtb2QtPkhhdmVSZXNvdXJjZXMoKSAmJiAkbW9kLT5DYW5FZGl0UmVzZXJ2YXRpb25zKCl9CiAge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9lZGl0X3Jlc3ZuJyB0ZXh0PSRtb2QtPkxhbmcoJ2FkZF9yZXNlcnZhdGlvbicpIGltYWdlPSdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZid9CntlbHNlfQogIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JG1vZC0+TGFuZygnZXJyb3Jfbm9fcmVzb3VyY2VzJywkbW9kLT5HZXRSZXNvdXJjZVR5cGUoMSkpfXsvY2FwdHVyZX0KICB7JG1vZC0+U2hvd0Vycm9ycygkdG1wKX0Key9pZn0KPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_resources_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWx0ZXInKX06PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NhdGVnb3J5Jyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY2F0ZWdvcnl9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhY3RpdmUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hY3RpdmV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwYWdlX2xpbWl0Jyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcGFnZWxpbWl0fTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGJ0bmZpbHRlcn08L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cjxici8+CnskZm9ybWVuZH0KCntpZiBpc3NldCgkcmVzb3VyY2VzKX0KICB7aWYgJHBhZ2Vjb3VudCA+IDF9CiAgPHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICB7aWYgJGN1cnBhZ2UgPiAxfQogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZT0xIHRleHQ9JG1vZC0+TGFuZygnZmlyc3RwYWdlJykgY2dfYWN0aXZldGFiPSdyZXNvdXJjZXMnfSZuYnNwOwogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZT0kcHJldnBhZ2UgdGV4dD0kbW9kLT5MYW5nKCdwcmV2cGFnZScpIGNnX2FjdGl2ZXRhYj0ncmVzb3VyY2VzJ30mbmJzcDsKICAgIHsvaWZ9CiAgICB7JG1vZC0+TGFuZygncGFnZScpfSB7JGN1cnBhZ2V9IHskbW9kLT5MYW5nKCdvZicpfSB7JHBhZ2Vjb3VudH0mbmJzcDsKICAgIHtpZiAkY3VycGFnZSA8ICRwYWdlY291bnR9CiAgICAgIHttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nZGVmYXVsdGFkbWluJyBjdXJwYWdlPSRuZXh0cGFnZSB0ZXh0PSRtb2QtPkxhbmcoJ25leHRwYWdlJykgY2dfYWN0aXZldGFiPSdyZXNvdXJjZXMnfSZuYnNwOwogICAgICB7bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nQXZhaWxhYmlsaXR5JyBhY3Rpb249J2RlZmF1bHRhZG1pbicgY3VycGFnZT0kcGFnZWNvdW50IHRleHQ9JG1vZC0+TGFuZygnbGFzdHBhZ2UnKSBjZ19hY3RpdmV0YWI9J3Jlc291cmNlcyd9Jm5ic3A7CiAgICB7L2lmfQogIDwvcD4KICB7L2lmfQogIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIiBjZWxsc3BhY2luZz0iMCI+CiAgICA8dGhlYWQ+IAogICAgICA8dHI+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdpZCcpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2FjdGl2ZScpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdkZXNjcmlwdGlvbicpfTwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8L3RyPgogICAgPC90aGVhZD4KICAgIDx0Ym9keT4KICAgIHtmb3JlYWNoIGZyb209JHJlc291cmNlcyBpdGVtPSdvbmVyc3JjJ30KICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgICA8dGQ+eyRvbmVyc3JjLmlkfTwvdGQ+CiAgICAgICAgPHRkPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZWRpdF9yc3JjJyByc3JjaWQ9JG9uZXJzcmMuaWQgdGV4dD0kb25lcnNyYy5uYW1lfTwvdGQ+Cgk8dGQ+e2lmICRvbmVyc3JjLmFjdGl2ZSA9PSAxfXskbW9kLT5MYW5nKCd5ZXMnKX17ZWxzZX0mbmJzcDt7L2lmfTwvdGQ+Cgk8dGQ+eyRvbmVyc3JjLmRlc2NyaXB0aW9ufHN0cmlwX3RhZ3N8c3VtbWFyaXplOjIwfTwvdGQ+CiAgICAgICAgPHRkPnttb2R1bGVfYWN0aW9uX2xpbmsgbW9kdWxlPSdBdmFpbGFiaWxpdHknIGFjdGlvbj0nYWRtaW5fZWRpdF9yc3JjJyBpbWFnZT0naWNvbnMvc3lzdGVtL2VkaXQuZ2lmJyBpbWFnZW9ubHk9MSByc3JjaWQ9JG9uZXJzcmMuaWQgdGV4dD0kbW9kLT5MYW5nKCdlZGl0Jyl9PC90ZD4KICAgICAgICA8dGQ+e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9kZWxldGVfcnNyYycgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBpbWFnZW9ubHk9MSByc3JjaWQ9JG9uZXJzcmMuaWQgdGV4dD0kbW9kLT5MYW5nKCdkZWxldGUnKSBjb25mbWVzc2FnZT0kbW9kLT5MYW5nKCdhc2tfZGVsZXRlX3Jlc291cmNlJyl9PC90ZD4KICAgICAgPC90cj4KICAgIHsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CiAgPC90YWJsZT4Key9pZn0KCjxwIGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JG1vZC0+TGFuZygnYWRkJyl9IHskbW9kLT5HZXRSZXNvdXJjZVR5cGUoKX17L2NhcHR1cmV9CiAge21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9J0F2YWlsYWJpbGl0eScgYWN0aW9uPSdhZG1pbl9lZGl0X3JzcmMnIHRleHQ9IiR0bXAiIGltYWdlPSdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZid9CjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_view_day.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogYWRtaW4gdmlldyBkYXkgdGVtcGxhdGUgKn0KCjxkaXYgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkICM5OTk7IG1hcmdpbi1ib3R0b206IDVweDsgcGFkZGluZzogMC4yZW07IHRleHQtYWxpZ246IGNlbnRlcjsiPgogIDxoMz57JG1vZC0+TGFuZygnZGF5X3ZpZXcnKX08L2gzPgogIHskc3RhcnRfdGltZXxkYXRlX2Zvcm1hdDoiJXgifQo8L2Rpdj4KCntsaXRlcmFsfQo8c3R5bGUgdHlwZT0ndGV4dC9jc3MnPgo8IS0tCi5sZWZ0Y29sdW1uIHsKICBmbG9hdDogbGVmdDsKICB3aWR0aDogMzAlOwogIHRleHQtYWxpZ246IHJpZ2h0OwogIGZvbnQtd2VpZ2h0OiBib2xkOwp9Ci5yaWdodGNvbHVtbiB7CiAgZmxvYXQ6IHJpZ2h0OwogIHdpZHRoOiA2OSU7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQoucmVzdl9ub3RlIHsKICBjbGVhcjogbGVmdDsKICB3aWR0aDogYXV0bzsKICBwYWRkaW5nLXRvcDogMXB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWFyZ2luLWxlZnQ6IC01ZW07Cn0KCi0tPgo8L3N0eWxlPgp7L2xpdGVyYWx9Cgp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiB0b2dnbGVEaXNwbGF5KGVsZW0pCnsKICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtKTsKICB2YXIgdHh0ID0gZWwuc3R5bGUuZGlzcGxheTsKICBpZiggdHh0ID09ICdub25lJyApCiAgewogICAgdHh0ID0gJ2Jsb2NrJzsKICB9CiAgZWxzZQogIHsKICAgIHR4dCA9ICdub25lJzsKICB9CiAgZWwuc3R5bGUuZGlzcGxheSA9IHR4dDsKfQo8L3NjcmlwdD4Key9saXRlcmFsfQoKCntmb3JlYWNoIGZyb209JHJlc3ZucyBpdGVtPSdvbmVyZXN2J30KPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uJyl9OiB7JG9uZXJlc3YuaWR9PC9sZWdlbmQ+CiAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KICAgIDx0cj4KICAgIDx0ZCB3aWR0aD0iNTAlIiB2YWxpZ249InRvcCI+CiAgICAgIHsqIHJlc291cmNlIGxpc3QgKn0KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0ibGVmdGNvbHVtbiI+eyRtb2QtPkdldFJlc291cmNlVHlwZSgxKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJyaWdodGNvbHVtbiI+CiAgICAgICAge2ZvcmVhY2ggZnJvbT0kb25lcmVzdi5yZXNvdXJjZXMgaXRlbT0nb25lcnNyYyd9CiAgICAgICAgICB7JHJlc291cmNlc1skb25lcnNyY10ubmFtZX08YnIvPgogICAgICAgIHsvZm9yZWFjaH0KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgoKICAgICAge2lmICFlbXB0eSgkb25lcmVzdi5hZG1pbl9ub3Rlcyl9CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9ImxlZnRjb2x1bW4iPnskbW9kLT5MYW5nKCdhZG1pbl9ub3RlcycpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZXJlc3YuYWRtaW5fbm90ZXN9PC9wPgogICAgICA8L2Rpdj4KICAgICAgey9pZn0KICAgIDwvdGQ+CgogICAgPHRkIHZhbGlnbj0idG9wIj4KICAgICAgeyogZGF0ZXMgYW5kIHBlb3BsZSAqfQogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJsZWZ0Y29sdW1uIj57JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZXJlc3Yuc3RhcnRfZGF0ZXxkYXRlX2Zvcm1hdDoiJXgifTwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9ImxlZnRjb2x1bW4iPnskbW9kLT5MYW5nKCdlbmRfZGF0ZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZXJlc3YuZW5kX2RhdGV8ZGF0ZV9mb3JtYXQ6IiV4In08L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJsZWZ0Y29sdW1uIj57JG1vZC0+TGFuZygnY3JlYXRlZCcpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZXJlc3YuY3JlYXRlX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9ImxlZnRjb2x1bW4iPnskbW9kLT5MYW5nKCdtb2RpZmllZF9kYXRlJyl9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icmlnaHRjb2x1bW4iPnskb25lcmVzdi5tb2RpZmllZF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJsZWZ0Y29sdW1uIj57JG1vZC0+TGFuZygnbnVtX3Blb3BsZScpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZXJlc3YubnVtX3Blb3BsZX08L3A+CiAgICAgIDwvZGl2PgogICAgPC90ZD4KICAgIDwvdHI+CiAgPC90YWJsZT4KCiAge2lmIGlzc2V0KCRvbmVyZXN2Lm5vdGVzKX0KICAgIDxkaXYgc3R5bGU9Im1hcmdpbjogMmVtOyI+CiAgICAgICA8cCBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij48YSBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyIgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlRGlzcGxheSgnbm90ZXNfeyRvbmVyZXN2LmlkfScpOyByZXR1cm4gZmFsc2U7Ij57JGV4cGFuZF9pbWd9eyRtb2QtPkxhbmcoJ25vdGVzJyl9OjwvYT48L3A+CiAgICAgICA8ZGl2IGlkPSJub3Rlc197JG9uZXJlc3YuaWR9IiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgICAge2ZvcmVhY2ggZnJvbT0kb25lcmVzdi5ub3RlcyBpdGVtPSdvbmVub3RlJ30KICAgICAgICAgPGRpdiBzdHlsZT0iYm9yZGVyOiAxcHggZGFzaGVkICMwMDAiPgogICAgICAgICA8ZGl2IGNsYXNzPSJyZXN2X25vdGUiPgogICAgICAgICAgIDxwIGNsYXNzPSJsZWZ0Y29sdW1uIj57JG1vZC0+TGFuZygnc3ViamVjdCcpfTo8L3A+CiAgICAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZW5vdGUuc3ViamVjdH08L3A+CiAgICAgICAgIDwvZGl2PgogICAgICAgICA8ZGl2IGNsYXNzPSJyZXN2X25vdGUiPgogICAgICAgICAgIDxwIGNsYXNzPSJsZWZ0Y29sdW1uIj57JG1vZC0+TGFuZygnY3JlYXRlZCcpfTo8L3A+CiAgICAgICAgICAgPHAgY2xhc3M9InJpZ2h0Y29sdW1uIj57JG9uZW5vdGUuY3JlYXRlX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvcD4KICAgICAgICAgPC9kaXY+CiAgICAgICAgIDxkaXYgY2xhc3M9InJlc3Zfbm90ZSI+CiAgICAgICAgICAgPHAgY2xhc3M9ImxlZnRjb2x1bW4iPiZuYnNwOzwvcD4KICAgICAgICAgICA8cCBjbGFzcz0icmlnaHRjb2x1bW4iPnskb25lbm90ZS50ZXh0fTwvcD4KICAgICAgICAgPC9kaXY+CiAgICAgICAgIDwvZGl2PgogICAgICAgey9mb3JlYWNofQogICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICB7L2lmfQo8L2ZpZWxkc2V0Pgp7L2ZvcmVhY2h9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/orig_advanced_search_form_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogYWR2YW5jZXMgc2VhcmNoIGZvcm0gdGVtcGxhdGUgKn0KeyRmb3Jtc3RhcnR9CiAgPGRpdiBjbGFzcz0icm93Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiAzMCU7IGZsb2F0OiBsZWZ0OyI+CiAgICAgIHskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9OgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyI+CiAgICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfWF2YWlsX3N0YXJ0ZGF0ZV97L2NhcHR1cmV9CiAgICAgIHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kdG1wIHRpbWU9JHN0YXJ0ZGF0ZSBlbmRfeWVhcj0rMn0KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDMwJTsgZmxvYXQ6IGxlZnQ7Ij4KICAgICAgeyRtb2QtPkxhbmcoJ2VuZF9kYXRlJyl9OgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyI+CiAgICAgIHtjYXB0dXJlIGFzc2lnbj0ndG1wJ317JGFjdGlvbmlkfWF2YWlsX2VuZGRhdGVfey9jYXB0dXJlfQogICAgICB7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcCB0aW1lPSRlbmRkYXRlIGVuZF95ZWFyPSsyfQogICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAlOyBmbG9hdDogbGVmdDsiPiZuYnNwOzwvZGl2PgogICAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsiPgogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWF2YWlsX3N1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzZWFyY2gnKX0iLz4KICAgIDwvZGl2PgogIDwvZGl2PgoKeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_calendar_dates_across.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY2FsZW5kYXIgdmlldyB0ZW1wbGF0ZSAqfQoKe2lmIGlzc2V0KCRncmlkKX0KPGRpdiBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyX2J5ZGF0ZSI+CiAgPGRpdj4KICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyNCU7Ij48YSBocmVmPSJ7JHByZXZtb250aF91cmx9Ij57JG1vZC0+TGFuZygncHJldicpfTwvYT48L3A+CiAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiA1MCU7Ij48c3Ryb25nPnskZGlzcGRhdGV8Y21zX2RhdGVfZm9ybWF0OiIlQiAlWSJ9PC9zdHJvbmc+PC9wPgogIDxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7IHRleHQtYWxpZ246IHJpZ2h0OyB3aWR0aDogMjQlOyI+PGEgaHJlZj0ieyRuZXh0bW9udGhfdXJsfSI+eyRtb2QtPkxhbmcoJ25leHQnKX08L2E+PC9wPgogIDwvZGl2PgogIDxici8+CgogIDx0YWJsZSBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyX2J5ZGF0ZV90YWJsZSI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICB7KiBkYXkgbnVtYmVyIHJvdyAqfQogICAgICA8dGg+Jm5ic3A7PC90aD4KICAgICAge3NlY3Rpb24gbmFtZT0nZGF5JyBsb29wPSRncmlkIHN0YXJ0PTF9CiAgICAgIDx0aD4KICAgICAgICA8YSBocmVmPSJ7JGdyaWRbZGF5XVswXS0+dXJsfSIgdGl0bGU9InskbW9kLT5sYW5nKCd2aWV3X2RheScpfSI+eyRncmlkW2RheV1bMF0tPnRpbWV8Y21zX2RhdGVfZm9ybWF0OiclZSd9PC9hPgogICAgICA8L3RoPgogICAgICB7L3NlY3Rpb259CiAgICA8L3RyPgogICAgPHRyPgogICAgICB7KiB3ZWVrZGF5IHJvdyAqfQogICAgICA8dGg+Jm5ic3A7PC90aD4KICAgICAge3NlY3Rpb24gbmFtZT0nZGF5JyBsb29wPSRncmlkIHN0YXJ0PTF9CiAgICAgIDx0aD57JGdyaWRbZGF5XVswXS0+dGltZXxjbXNfZGF0ZV9mb3JtYXQ6IiVhInx0cnVuY2F0ZToyOiIifTwvdGg+CiAgICAgIHsvc2VjdGlvbn0KICAgIDwvdHI+CiAgPC90aGVhZD4KCiAgPHRib2R5PgogICAge3NlY3Rpb24gbmFtZT0ncnNyYycgbG9vcD0kZ3JpZFswXSBzdGFydD0xfXsqIGZvciBlYWNoIHJlc291cmNlICp9CiAgICA8dHI+CiAgICAgIDx0ZD48YSBocmVmPSJ7JGdyaWRbMF1bcnNyY10tPnVybH0iPnskZ3JpZFswXVtyc3JjXS0+bGFiZWx9PC9hPjwvdGQ+CiAgICAgIHtzZWN0aW9uIG5hbWU9J2RheScgbG9vcD0kZ3JpZCBzdGFydD0xfQogICAgICAgIDx0ZCBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogeyRncmlkW2RheV1bcnNyY10tPmJnfTsgY29sb3I6IHskZ3JpZFtkYXldW3JzcmNdLT5mZ307Ij4KICAgICAgICAgIHtpZiBpc3NldCgkZ3JpZFtkYXldW3JzcmNdLT51cmwpfQogICAgICAgICAgICA8YSBocmVmPSJ7JGdyaWRbZGF5XVtyc3JjXS0+dXJsfSI+eyRncmlkW2RheV1bcnNyY10tPmxhYmVsfTwvYT4KICAgICAgICAgIHtlbHNlfQogICAgICAgICAgICB7JGdyaWRbZGF5XVtyc3JjXS0+bGFiZWx9CiAgICAgICAgICB7L2lmfQogICAgICAgIDwvdGQ+CiAgICAgIHsvc2VjdGlvbn0KICAgIDwvdHI+CiAgICB7L3NlY3Rpb259CiAgPC90Ym9keT4KCiAgPC90YWJsZT4KCiAge2lmIGlzc2V0KCRsZWdlbmQpfQogIDxmaWVsZHNldCBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyX2xlZ2VuZCI+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnbGVnZW5kJyl9OsKgPC9sZWdlbmQ+CiAgICA8dGFibGU+CiAgICB7Zm9yZWFjaCBmcm9tPSRsZWdlbmQga2V5PSduYW1lJyBpdGVtPSdpdGVtJ30KICAgICAgPHRyPgogICAgICAgIDx0ZD57JG5hbWV9OjwvdGQ+CiAgICAgICAgPHRkIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB7JGl0ZW0tPmJnfTsgY29sb3I6IHskaXRlbS0+Zmd9OyI+CiAgICAgICAgICB7JGl0ZW0tPmxhYmVsfQogICAgICAgIDwvdGQ+ICAgCiAgICAgIDwvdHI+CiAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgogIDwvZmllbGRzZXQ+CiAgey9pZn0KCnsqIGF2YWlsYWJpbGl0eV9jYWxlbmRhciAqfTwvZGl2Pgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_calendar_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY2FsZW5kYXIgdmlldyB0ZW1wbGF0ZSAqfQoKe2lmIGlzc2V0KCRncmlkKX0KPGRpdiBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyIj4KICA8ZGl2PgogIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDI0JTsiPjxhIGhyZWY9InskcHJldm1vbnRoX3VybH0iPnskbW9kLT5MYW5nKCdwcmV2Jyl9PC9hPjwvcD4KICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6IDUwJTsiPjxzdHJvbmc+eyRkaXNwZGF0ZXxjbXNfZGF0ZV9mb3JtYXQ6IiVCICVZIn08L3N0cm9uZz48L3A+CiAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgdGV4dC1hbGlnbjogcmlnaHQ7IHdpZHRoOiAyNCU7Ij48YSBocmVmPSJ7JG5leHRtb250aF91cmx9Ij57JG1vZC0+TGFuZygnbmV4dCcpfTwvYT48L3A+CiAgPC9kaXY+CiAgPGRpdiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyI+PC9kaXY+CgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBvdmVyZmxvdzogYXV0bzsiPgogIDx0YWJsZSBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyX3RhYmxlIj4KICA8dGhlYWQ+CiAge3NlY3Rpb24gbmFtZT0nZGF5JyBsb29wPSRncmlkIG1heD0xfQogICAgPHRyPgogICAge3NlY3Rpb24gbmFtZT0ncnNyYycgbG9vcD0kZ3JpZFtkYXldfQogICAgICB7aWYgJHNtYXJ0eS5zZWN0aW9uLnJzcmMuaW5kZXggPT0gMH0KICAgICAgICB7KiBmaXJzdCBjZWxsICp9CiAgICAgICAgPHRoIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IiB3aWR0aD0iMiUiPnskZ3JpZFtkYXldW3JzcmNdfGNtc19kYXRlX2Zvcm1hdDoiJW0vJXkifTwvdGg+CiAgICAgIHtlbHNlfQogICAgICAgIDx0aCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGEgaHJlZj0ieyRncmlkW2RheV1bcnNyY10tPnVybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygndmlld19yc3JjX2RldGFpbHMnLCRtb2QtPkdldFJlc291cmNlVHlwZSgpKX0iPnskZ3JpZFtkYXldW3JzcmNdLT5sYWJlbH08L2E+PC90aD4KICAgICAgey9pZn0KICAgIHsvc2VjdGlvbn0KICAgIDwvdHI+CiAgey9zZWN0aW9ufQogIDwvdGhlYWQ+CgogIDx0Ym9keT4KICB7c2VjdGlvbiBuYW1lPSdkYXknIGxvb3A9JGdyaWQgc3RhcnQ9MX0KICAgIDx0cj4KICAgICAge3NlY3Rpb24gbmFtZT0ncnNyYycgbG9vcD0kZ3JpZFtkYXldfQogICAgICAgIHtpZiAkc21hcnR5LnNlY3Rpb24ucnNyYy5pbmRleCA9PSAwIH0KICAgICAgICAgIHsqIGRheSBjb2x1bW4gKn0KICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IGJhY2tncm91bmQtY29sb3I6ICNjY2M7Ij4KICAgICAgICAgICAgPGEgaHJlZj0ieyRncmlkW2RheV1bcnNyY10tPnVybH0iIHRpdGxlPSJ7JG1vZC0+bGFuZygndmlld19kYXknKX0iPnskc21hcnR5LnNlY3Rpb24uZGF5Lml0ZXJhdGlvbn08L2E+CiAgICAgICAgICA8L3RkPgogICAgICAgIHtlbHNlfSAKICAgICAgICAgIHthc3NpZ24gdmFyPSdsYWJlbCcgdmFsdWU9JGdyaWRbZGF5XVtyc3JjXS0+bGFiZWx9CiAgICAgICAgICB7aWYgJGdyaWRbZGF5XVtyc3JjXS0+c3RhdHVzID09ICdjbG9zZWQnfQogICAgICAgICAgICB7YXNzaWduIHZhcj0nbGFiZWwnIHZhbHVlPSRtb2QtPkxhbmcoJ2Nsb3NlZCcpfQogICAgICAgICAgey9pZn0KICAgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBiYWNrZ3JvdW5kLWNvbG9yOiB7JGdyaWRbZGF5XVtyc3JjXS0+Ymd9OyBjb2xvcjogeyRncmlkW2RheV1bcnNyY10tPmZnfTsiPgogICAgICAgICAge2lmIGlzc2V0KCRncmlkW2RheV1bcnNyY10tPnVybCl9CiAgICAgICAgICAgIDxhIGhyZWY9InskZ3JpZFtkYXldW3JzcmNdLT51cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2NyZWF0ZV9yZXNlcnZhdGlvbicpfSI+eyRsYWJlbH08L2E+CiAgICAgICAgICB7ZWxzZX0KICAgICAgICAgICAgeyRsYWJlbH0KICAgICAgICAgIHsvaWZ9CiAgICAgICAgICA8L3RkPgogICAgICAgIHsvaWZ9CiAgICAgIHsvc2VjdGlvbn0KICAgIDwvdHI+CiAgey9zZWN0aW9ufQogIDwvdGJvZHk+CiAgPC90YWJsZT4KICA8L2Rpdj4KCiAge2lmIGlzc2V0KCRsZWdlbmQpfQogIDxmaWVsZHNldCBjbGFzcz0iYXZhaWxhYmlsaXR5X2NhbGVuZGFyX2xlZ2VuZCI+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnbGVnZW5kJyl9OiZuYnNwOzwvbGVnZW5kPgogICAgPHRhYmxlPgogICAge2ZvcmVhY2ggZnJvbT0kbGVnZW5kIGtleT0nbmFtZScgaXRlbT0naXRlbSd9CiAgICAgIDx0cj4KICAgICAgICA8dGQ+eyRuYW1lfTo8L3RkPgogICAgICAgIDx0ZCBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogeyRpdGVtLT5iZ307IGNvbG9yOiB7JGl0ZW0tPmZnfTsiPgogICAgICAgICAgeyRpdGVtLT5sYWJlbH0KICAgICAgICA8L3RkPiAgIAogICAgICA8L3RyPgogICAgey9mb3JlYWNofQogICAgPC90YWJsZT4KICA8L2ZpZWxkc2V0PgogIHsvaWZ9Cgp7KiBhdmFpbGFiaWxpdHlfY2FsZW5kYXIgKn08L2Rpdj4Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_customer_email_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY3VzdG9tZXIgZW1haWwgdGVtcGxhdGUgKn0KPGh0bWw+CjxoZWFkPgo8L2hlYWQ+Cjxib2R5Pgo8c3Bhbj5NZXNzYWdlIFN1YmplY3Q6IHskc3ViamVjdH08L3NwYW4+PGJyLz4KCjxzcGFuPk1lc3NhZ2UgQm9keTo8L3NwYW4+CjxkaXY+CnskYm9keX0KPC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4K]]></data>
	</file>
	<file>
	  <filename>/templates/orig_day_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZGF5IHZpZXcgdGVtcGxhdGUgKn0Ke2lmICFpc3NldCgkcnNyY2lkKX0KPGgyPnskbW9kLT5MYW5nKCdkYXlfcmVwb3J0Jyl9IHskdGhlX2RhdGV8Y21zX2RhdGVfZm9ybWF0OiIleCJ9PC9oMj4Ke2Vsc2V9CjxoMj57JG1vZC0+TGFuZygnZGF5X3JlcG9ydF9yc3JjJywkdGhlX3Jlc291cmNlLm5hbWUpfSB7JHRoZV9kYXRlfGNtc19kYXRlX2Zvcm1hdDoiJXgifTwvaDI+CnsvaWZ9Cgo8ZGl2IGlkPSJhdmFpbGFiaWxpdHlfZGF5dmlldyI+CiAge2lmIGlzc2V0KCRldmVudHMpfQogIDxkaXYgY2xhc3M9ImRheXZpZXdfZXZlbnRsaXN0Ij4KICAgIDxoMz57aWYgaXNzZXQoJHJzcmNpZCl9eyRtb2QtPkxhbmcoJ2V2ZW50c19mb3JfcmVzb3VyY2UnLCR0aGVfcmVzb3VyY2UubmFtZSl9e2Vsc2V9eyRtb2QtPkxhbmcoJ2xibF9ldmVudHMnKX17L2lmfTwvaDM+CiAgICB7Zm9yZWFjaCBmcm9tPSRldmVudHMgaXRlbT0nb25lJ30KICAgICAgPGRpdiBjbGFzcz0iZGF5dmlld19ldmVudCI+Cgl7KiBpdCdkIGJlIGNvb2wgaWYgdGhlcmUgd2FzIGFuIGltYWdlIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGV2ZW50LCBvcHRpb25hbGx5ICp9CiAgICAgICAgPGg0IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjeyRvbmUuYmFja2dyb3VuZH07IGNvbG9yOiAjeyRvbmUuY29sb3J9OyI+eyRvbmUubmFtZX08L2g0PgogICAgICAgIDxwPnskb25lLmRlc2NyaXB0aW9ufTwvcD4KICAgICAgPC9kaXY+CiAgICB7L2ZvcmVhY2h9CiAgPC9kaXY+CiAgey9pZn0KCgogIHtpZiBpc3NldCgkcmVzb3VyY2VzKX0KICAgIHtpZiBpc3NldCgkcnNyY2lkKSAmJiAhaXNzZXQoJHJlc291cmNlc1skcnNyY2lkXSl9CiAgICAgIDxoND57JG1vZC0+R2V0UmVzb3VyY2VUeXBlKCl9Jm5ic3A7eyRtb2QtPkxhbmcoJ3Jlc2VydmVkJyl9PC9oND4KICAgIHtlbHNlfQogICAgICA8ZGl2IGNsYXNzPSJkYXl2aWV3X2F2YWlsX3Jlc2VvdXJjZXMiPgogICAgICA8aDM+eyRtb2QtPkxhbmcoJ2F2YWlsYWJsZScpfSZuYnNwO3skbW9kLT5HZXRSZXNvdXJjZVR5cGUoMSl9PC9oMz4KICAgICAge2ZvcmVhY2ggZnJvbT0kcmVzb3VyY2VzIGl0ZW09J29uZSd9CiAgICAgICAgPGRpdiBjbGFzcz0iZGF5dmlld19yZXNvdXJjZSI+CiAgICAgICAgICA8aDQ+eyRvbmUubmFtZX08L2g0PgogICAgICAgICAgPHA+PHN0cm9uZz57JG1vZC0+TGFuZygnYmFzZV9wcmljZScpfTo8L3N0cm9uZz4mbmJzcDt7JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJywnJCcpfXskb25lLmJhc2VfcHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvcD4KICAgICAgICAgIDxwPnskb25lLmRlc2NyaXB0aW9ufTwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgey9mb3JlYWNofSAgICAKICAgICAgPC9kaXY+CiAgICB7L2lmfQogIHsvaWZ9CiAgICAKPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/orig_detail_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogcmVzb3VyY2UgZGV0YWlsIHRlbXBsYXRlICp9CntpZiBpc3NldCgkcnNyYyl9CjxkaXYgaWQ9IkF2YWlsYWJpbGl0eVJlc291cmNlRGV0YWlsIj4KICA8ZGl2PjxzdHJvbmc+eyRtb2QtPkxhbmcoJ2lkJyl9Ojwvc3Ryb25nPiZuYnNwO3skcnNyYy5pZH08L2Rpdj4KICA8ZGl2PjxzdHJvbmc+eyRtb2QtPkxhbmcoJ25hbWUnKX06PC9zdHJvbmc+Jm5ic3A7eyRyc3JjLm5hbWV9PC9kaXY+CiAgPGRpdj48c3Ryb25nPnskbW9kLT5MYW5nKCdkZXNjcmlwdGlvbicpfTo8L3N0cm9uZz48YnIvPgogICAgeyRyc3JjLmRlc2NyaXB0aW9ufQogIDwvZGl2PgogIDxkaXY+PHN0cm9uZz57JG1vZC0+TGFuZygnYmFzZV9wcmljZScpfTo8L3N0cm9uZz4mbmJzcDt7JHJzcmMuYmFzZV9wcmljZX08L2Rpdj4KCiAgeyogZmllbGRzICp9CiAgeyogZmllbGRzIGNhbiBhbHNvIGJlIGFkZHJlc3NlZCBhcyAkZW50cnktPmZpZWxkcy5teWZpZWxkbmFtZS52YWx1ZSAqfQogIHtpZiBpc3NldCgkcnNyYy5maWVsZHMpfQogIDxkaXY+PC9kaXY+CiAgPGRpdj48c3Ryb25nPnskbW9kLT5MYW5nKCdmaWVsZHMnKX06PC9zdHJvbmc+PGJyLz4KICB7Zm9yZWFjaCBmcm9tPSRyc3JjLmZpZWxkcyBpdGVtPSdmaWVsZCd9CiAgICA8ZGl2PgogICAgICAmbmJzcDsmbmJzcDs8c3Ryb25nPnskZmllbGQubmFtZX06PC9zdHJvbmc+Jm5ic3A7Jm5ic3A7CiAgICB7aWYgJGZpZWxkLnR5cGUgPT0gJ2ltYWdlJ30KICAgICAge2lmIGlzc2V0KCRmaWVsZC50aHVtYm5haWwpfQogICAgICAgIDxpbWcgc3JjPSJ7JGZpbGVfbG9jYXRpb259L3skZmllbGQudGh1bWJuYWlsfSIgYWx0PSJ7JGZpZWxkLm5hbWV9IiAvPgogICAgICB7ZWxzZX0KICAgICAgICA8aW1nIHNyYz0ieyRmaWxlX2xvY2F0aW9ufS97JGZpZWxkLnZhbHVlfSIgd2lkdGg9IjE1MCIgYWx0PSJ7JGZpZWxkLm5hbWV9IiAvPgogICAgICB7L2lmfQogICAge2Vsc2VpZiAkZmllbGQudHlwZSA9PSAnZmlsZSd9CiAgICAgIDxhIGhyZWY9InskZmlsZV9sb2NhdGlvbn0veyRmaWVsZC52YWx1ZX0iIGFsdD0ieyRmaWVsZC5uYW1lfSI+eyRmaWVsZC52YWx1ZX08L2E+CiAgICB7ZWxzZX0KICAgICAgeyRmaWVsZC52YWx1ZX0KICAgIHsvaWZ9CiAgICA8L2Rpdj4KICB7L2ZvcmVhY2h9CiAgey9pZn0KCiAgeyogYXR0cmlidXRlcyAqfQogIHtpZiBpc3NldCgkcnNyYy5hdHRyaWJzKX0KICA8ZGl2PjwvZGl2PgogIDxkaXY+PHN0cm9uZz57JG1vZC0+TGFuZygnYXR0cmlidXRlcycpfTo8L3N0cm9uZz48YnIvPgogIHtmb3JlYWNoIGZyb209JHJzcmMuYXR0cmlicyBpdGVtPSdhdHRyaWInfQogICAgPGRpdj4mbmJzcDsmbmJzcDt7JGF0dHJpYi5uYW1lfSZuYnNwOyh7JGF0dHJpYi5pZH0pPC9kaXY+CiAgey9mb3JlYWNofQogIDwvZGl2PgogIHsvaWZ9CgogIHsqIHByaWNlcyAqfQogIHtpZiBpc3NldCgkcnNyYy5wcmljZXMpfQogIDxkaXY+PC9kaXY+CiAgPGRpdj48c3Ryb25nPnskbW9kLT5MYW5nKCdwcmljZXMnKX06PC9zdHJvbmc+PGJyLz4KICAgICZuYnNwOyZuYnNwOzxzdHJvbmc+eyRtb2QtPkxhbmcoJ3N1bmRheScpfTo8L3N0cm9uZz4mbmJzcDt7JHJzcmMucHJpY2VzLnN1bmRheX08YnIvPgogICAgJm5ic3A7Jm5ic3A7PHN0cm9uZz57JG1vZC0+TGFuZygnbW9uZGF5Jyl9Ojwvc3Ryb25nPiZuYnNwO3skcnNyYy5wcmljZXMubW9uZGF5fTxici8+CiAgICAmbmJzcDsmbmJzcDs8c3Ryb25nPnskbW9kLT5MYW5nKCd0dWVzZGF5Jyl9Ojwvc3Ryb25nPiZuYnNwO3skcnNyYy5wcmljZXMudHVlc2RheX08YnIvPgogICAgJm5ic3A7Jm5ic3A7PHN0cm9uZz57JG1vZC0+TGFuZygnd2VkbmVzZGF5Jyl9Ojwvc3Ryb25nPiZuYnNwO3skcnNyYy5wcmljZXMud2VkbmVzZGF5fTxici8+CiAgICAmbmJzcDsmbmJzcDs8c3Ryb25nPnskbW9kLT5MYW5nKCd0aHVyc2RheScpfTo8L3N0cm9uZz4mbmJzcDt7JHJzcmMucHJpY2VzLnRodXJzZGF5fTxici8+CiAgICAmbmJzcDsmbmJzcDs8c3Ryb25nPnskbW9kLT5MYW5nKCdmcmlkYXknKX06PC9zdHJvbmc+Jm5ic3A7eyRyc3JjLnByaWNlcy5mcmlkYXl9PGJyLz4KICAgICZuYnNwOyZuYnNwOzxzdHJvbmc+eyRtb2QtPkxhbmcoJ3NhdHVyZGF5Jyl9Ojwvc3Ryb25nPiZuYnNwO3skcnNyYy5wcmljZXMuc2F0dXJkYXl9PGJyLz4KICB7L2lmfQoKeyogQXZhaWxhYmlsaXR5UmVzb3VyY2VEZXRhaWwgKn08L2Rpdj4Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_myreservations_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogbXlyZXNlcnZhdGlvbnMgdmlldyAqfQp7aWYgaXNzZXQoJHJlc2VydmF0aW9ucyl9CjxkaXYgc3R5bGU9IndpZHRoOiA5NSU7IG92ZXJmbG93OiBhdXRvOyI+CjxkaXYgY2xhc3M9InJvdyI+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG1vZC0+TGFuZygnaWQnKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDEwJTsiPnskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG1vZC0+TGFuZygnZW5kX2RhdGUnKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDEwJTsiPnskbW9kLT5MYW5nKCdwcmljZScpfTwvZGl2PgogIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMTAlOyI+eyRtb2QtPkxhbmcoJ2NyZWF0ZV9kYXRlJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG1vZC0+TGFuZygnbW9kaWZpZWRfZGF0ZScpfTwvZGl2PgogIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMTAlOyI+Jm5ic3A7PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij4mbmJzcDs8L2Rpdj4KPC9kaXY+Cntmb3JlYWNoIGZyb209JHJlc2VydmF0aW9ucyBpdGVtPSdvbmUnfQo8ZGl2IGNsYXNzPSJyb3ciPgogIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMTAlOyI+eyIlMDZkInxzcHJpbnRmOiRvbmUuaWR9PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG9uZS5zdGFydF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDEwJTsiPnskb25lLmVuZF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDEwJTsiPnskb25lLm51bV9wZW9wbGV9PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG9uZS5jcmVhdGVfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9kaXY+CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7Ij57JG9uZS5tb2RpZmllZF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L2Rpdj4KICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDEwJTsiPgogIHtpZiBpc3NldCgkb25lLmVtYWlsX3VybCl9PGEgaHJlZj0ieyRvbmUuZW1haWxfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdzZW5kX2VtYWlsJyl9Ij57JG9uZS5lbWFpbF9pY29ufTwvYT57ZWxzZX0mbmJzcDt7L2lmfSAgIAogIDwvZGl2PgogIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMTAlOyI+CiAge2lmIGlzc2V0KCRvbmUuZWRpdF91cmwpfTxhIGhyZWY9Inskb25lLmVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0Jyl9Ij57JG9uZS5lZGl0X2ljb259PC9hPntlbHNlfSZuYnNwO3svaWZ9ICAgCiAgPC9kaXY+CjwvZGl2Pgp7L2ZvcmVhY2h9CjwvZGl2Pgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_resvn_confirm_email_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIGVtYWlsICp9CjxodG1sPgo8Ym9keT4KCjxoMz57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fY3JlYXRlZCcpfTwvaDM+CjxwPlRoYW5rIHlvdSB7JHVzZXJpbmZvLT5wcm9wZXJ0aWVzLmZ1bGxfbmFtZS0+dmFsdWV9IDxlbT4oeyR1c2VyaW5mby0+ZW1haWx9KTwvZW0+LiAgWW91ciByZXNlcnZhdGlvbiAoaWQgeyIlMDZkInxzcHJpbnRmOiRyZXNlcnZhdGlvbi5pZH0pIGhhcyBiZWVuIGNyZWF0ZWQuPC9wPgoKPGg0PnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9kZXRhaWxzJyl9OjwvaDQ+CjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDFlbTsiPgo8ZGl2IHN0eWxlPSJ3aWR0aDogODAlOyBtYXJnaW4tbGVmdDogM2VtOyI+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDMwJTsgZmxvYXQ6IGxlZnQ7Ij57JG1vZC0+TGFuZygneW91cl9uYW1lJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsiPnskdXNlcmluZm8tPnByb3BlcnRpZXMuZnVsbF9uYW1lLT52YWx1ZX08L2Rpdj4KPC9kaXY+Cgo8ZGl2IHN0eWxlPSJ3aWR0aDogODAlOyBtYXJnaW4tbGVmdDogM2VtOyI+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDMwJTsgZmxvYXQ6IGxlZnQ7Ij57JG1vZC0+TGFuZygncHJpY2UnKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyI+JHskcmVzZXJ2YXRpb24ucHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvZGl2Pgo8L2Rpdj4KCjxkaXYgc3R5bGU9IndpZHRoOiA4MCU7IG1hcmdpbi1sZWZ0OiAzZW07Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAlOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdjcmVhdGVkJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsiPnskcmVzZXJ2YXRpb24uY3JlYXRlX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cgp7aWYgaXNzZXQoJHJlc2VydmF0aW9uLnBhcnRzKSAmJiBjb3VudCgkcmVzZXJ2YXRpb24ucGFydHMpfQo8aDQ+eyRtb2QtPkdldFJlc291cmNldHlwZSgxKX06PC9oND4KPGRpdj4KPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5HZXRSZXNvdXJjZVR5cGUoKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAlOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdkYXRlJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDEwJTsgZmxvYXQ6IGxlZnQ7IHRleHQtYWxpZ246IHJpZ2h0OyI+eyRtb2QtPkxhbmcoJ251bV9wZW9wbGUnKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAlOyBmbG9hdDogbGVmdDsgdGV4dC1hbGlnbjogcmlnaHQ7Ij57JG1vZC0+TGFuZygncHJpY2UnKX08L2Rpdj4KPC9kaXY+IAoKe2ZvcmVhY2ggZnJvbT0kcmVzZXJ2YXRpb24ucGFydHMgaXRlbT0nb25lcGFydCd9CjxkaXYgY2xhc3M9InJvdyI+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsgZmxvYXQ6IGxlZnQ7Ij57JHJlc2VydmF0aW9uLnJlc291cmNlc1skb25lcGFydC5yc3JjX2lkXS5uYW1lfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMCU7IGZsb2F0OiBsZWZ0OyI+eyRvbmVwYXJ0LnN0YXJ0X2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMCU7IGZsb2F0OiBsZWZ0OyI+eyRvbmVwYXJ0Lm51bV9wZW9wbGV9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDEwJTsgZmxvYXQ6IGxlZnQ7IHRleHQtYWxpZ246IHJpZ2h0OyI+JHskb25lcGFydC5wcmljZXxudW1iZXJfZm9ybWF0OjJ9PC9kaXY+CjwvZGl2PiAKey9mb3JlYWNofQo8L2Rpdj4KPGJyLz4Key9pZn0KCjxici8+CjxoND57JG1vZC0+TGFuZygnbm90ZXMnKX06PC9oND4Ke2ZvcmVhY2ggZnJvbT0kbm90ZXMgaXRlbT0nb25lbm90ZSd9CiAgPGRpdiBzdHlsZT0id2lkdGg6IDgwJTsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLWJvdHRvbTogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA1MCU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ3N1YmplY3QnKX06Jm5ic3A7eyRvbmVub3RlLnN1YmplY3R9PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdjcmVhdGVkJyl9OiZuYnNwO3skb25lbm90ZS5jcmVhdGVfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9kaXY+CiAgICA8cD57JG9uZW5vdGUudGV4dH08L3A+CiAgPC9kaXY+CnsvZm9yZWFjaH0KCjxwPklmIHRoZXJlIGFyZSBlcnJvcnMgaW4geW91ciByZXNlcnZhdGlvbiwgeW91IGNhbiBlZGl0IGl0IGJ5IGNsaWNraW5nIDxhIGhyZWY9InskZWRpdF91cmx9Ij5oZXJlPC9hPi4gVGhpcyBsaW5rIHdpbGwgd29yayB1bnRpbCB0aGUgZGF0ZSBvZiB0aGUgcmVzZXJ2YXRpb24uPC9wPgo8cD5JZiB5b3Ugd291bGQgbGlrZSB0byBjb250YWN0IHRoZSBidXNpbmVzcyB0byBmdXJ0aGVyIGRpc2N1c3MgeW91ciByZXNlcnZhdGlvbiwgcGxlYXNlIGNsaWNrIDxhIGhyZWY9InskZW1haWxfdXJsfSI+aGVyZTwvYT4uPC9wPgo8L2JvZHk+CjwvaHRtbD4=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_resvn_confirm_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogcmVzZXJ2YXRpb24gY29uZmlybWF0aW9uIHRlbXBsYXRlICp9CjxoMz57JG1vZC0+TGFuZygncmVzZXJ2YXRpb25fY3JlYXRlZCcpfTwvaDM+CjxwPlRoYW5rIHlvdSB7JHVzZXJpbmZvLT5wcm9wZXJ0aWVzLmZ1bGxfbmFtZS0+dmFsdWV9IDxlbT4oeyR1c2VyaW5mby0+ZW1haWx9KTwvZW0+LiAgWW91ciByZXNlcnZhdGlvbiAoaWQgeyIlMDZkInxzcHJpbnRmOiRyZXNlcnZhdGlvbi5pZH0pIGhhcyBiZWVuIGNyZWF0ZWQuPC9wPgoKPGg0PnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9kZXRhaWxzJyl9OjwvaDQ+CjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDFlbTsiPgo8ZGl2IGNsYXNzPSJyb3ciPgogIDxkaXYgc3R5bGU9IndpZHRoOiAzMCU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ3lvdXJfbmFtZScpfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiA2OSU7Ij57JHVzZXJpbmZvLT5wcm9wZXJ0aWVzLmZ1bGxfbmFtZS0+dmFsdWV9PC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAlOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdwcmljZScpfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiA2OSU7Ij4keyRyZXNlcnZhdGlvbi5wcmljZXxudW1iZXJfZm9ybWF0OjJ9PC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAlOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdjcmVhdGVkJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsiPnskcmVzZXJ2YXRpb24uY3JlYXRlX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cgp7aWYgaXNzZXQoJHJlc2VydmF0aW9uLnBhcnRzKSAmJiBjb3VudCgkcmVzZXJ2YXRpb24ucGFydHMpfQo8aDQ+eyRtb2QtPkdldFJlc291cmNldHlwZSgxKX06PC9oND4KPGRpdj4KPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5HZXRSZXNvdXJjZVR5cGUoKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAlOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdkYXRlJyl9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDEwJTsgZmxvYXQ6IGxlZnQ7IHRleHQtYWxpZ246IHJpZ2h0OyI+eyRtb2QtPkxhbmcoJ251bV9wZW9wbGUnKX08L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAlOyBmbG9hdDogbGVmdDsgdGV4dC1hbGlnbjogcmlnaHQ7Ij57JG1vZC0+TGFuZygncHJpY2UnKX08L2Rpdj4KPC9kaXY+IAoKe2ZvcmVhY2ggZnJvbT0kcmVzZXJ2YXRpb24ucGFydHMgaXRlbT0nb25lcGFydCd9CjxkaXYgY2xhc3M9InJvdyI+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsgZmxvYXQ6IGxlZnQ7Ij57JHJlc2VydmF0aW9uLnJlc291cmNlc1skb25lcGFydC5yc3JjX2lkXS5uYW1lfTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMCU7IGZsb2F0OiBsZWZ0OyI+eyRvbmVwYXJ0LnN0YXJ0X2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiAxMCU7IGZsb2F0OiBsZWZ0OyI+eyRvbmVwYXJ0Lm51bV9wZW9wbGV9PC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDEwJTsgZmxvYXQ6IGxlZnQ7IHRleHQtYWxpZ246IHJpZ2h0OyI+JHskb25lcGFydC5wcmljZXxudW1iZXJfZm9ybWF0OjJ9PC9kaXY+CjwvZGl2PiAKey9mb3JlYWNofQo8L2Rpdj4KPGJyLz4Key9pZn0KCjxoND57JG1vZC0+TGFuZygnbm90ZXMnKX06PC9oND4Ke2ZvcmVhY2ggZnJvbT0kcmVzZXJ2YXRpb24ubm90ZXMgaXRlbT0nb25lbm90ZSd9CiAgPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC41ZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA1MCU7IGZsb2F0OiBsZWZ0OyI+eyRtb2QtPkxhbmcoJ3N1YmplY3QnKX06Jm5ic3A7eyRvbmVub3RlLnN1YmplY3R9PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPnskbW9kLT5MYW5nKCdjcmVhdGVkJyl9OiZuYnNwO3skb25lbm90ZS5jcmVhdGVfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9kaXY+CiAgICA8cD57JG9uZW5vdGUudGV4dH08L3A+CiAgPC9kaXY+CnsvZm9yZWFjaH0KPGJyLz4KPHA+QW4gZW1haWwgaGFzIGJlZW4gc2VudCB0byB0aGUgYWRkcmVzcyBzcGVjaWZpZWQgYWJvdmUgd2l0aCB0aGUgZGV0YWlscyBvZiB5b3VyIHJlc2VydmF0aW9uLCBhbmQgaW5zdHJ1Y3Rpb25zIGFzIHRvIGhvdyB0byBhcnJhbmdlIHBheW1lbnQuPC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_resvn_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogcmVzZXJ2YXRpb24gZm9ybSB0ZW1wbGF0ZSAqfQp7aWYgaXNzZXQoJHJlc3ZfaWQpfQo8aDM+eyRtb2QtPkxhbmcoJ2VkaXRfcmVzZXJ2YXRpb24nKX08L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCdjcmVhdGVfcmVzZXJ2YXRpb24nKX08L2gzPgp7L2lmfQoKe2lmICFpc3NldCgkZm9ybXN0YXJ0KX0KPHA+eyRtb2QtPkxhbmcoJ2Vycm9yX25vdGxvZ2dlZGluX2ZldScpfTwvcD4Ke2Vsc2V9CjxkaXYgaWQ9InJlc2VydmF0aW9uX2Zvcm1fY29udCI+CnskZm9ybXN0YXJ0fQoKCnsqCiAqID09PT0KICogTk9URQogKgogKiBUSElTIElTIE5PVCBZT1VSIFRZUElDQUwgVEVNUExBVEUgRk9SIEEgQ01TTVMgTU9EVUxFCiAqIC0KICogVGhpcyB0ZW1wbGF0ZSBtYWtlcyBleHRlbnNpdmUgdXNlIG9mIGphdmFzY3JpcHQsanF1ZXJ5LGFuZCBhamF4IHRvIHBlcmZvcm0gaXRzIGZ1bmN0aW9ucy4gIAogKiBhbHRob3VnaCBpdCBpcyBwb3NzaWJsZSB0byBtb2RpZnkgdGhlIGFwcGVhcmFuY2UsIGxheW91dCBhbmQgYmVoYXZvdXIgb2YgdGhpcyBtb2R1bGUgZXh0cmVtZQogKiBjYXV0aW9uIG11c3QgYmUgdGFrZW4gd2l0aCBlYWNoIG1vZGlmaWNhdGlvbi4KICoKICogVGhlIGlkcywgY2xhc3MgbmFtZXMsIGFuZCB3aGVyZSBuZWNlc3NhcnkgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcHMgdXNlZCB0aHJvdWdob3V0IHRoaXMgdGVtcGxhdGUgYXJlIG5vdAogKiBtZXJlbHkgZXhhbXBsZXMsIHRoZXkgYXJlIHRpZWQgdG9nZXRoZXIgdGhyb3VnaCB0aGUgamF2YXNjcmlwdC9qcXVlcnksIGFuZCB0ZXN0aW5nIHNob3VsZCBiZSBkb25lIGF0IGV2ZXJ5CiAqIHN0ZXAgZm9yIGVhY2ggbW9kaWZpY2F0aW9uLgogKgogKiA9PT09CiAqfQoKCnsqCiAqIEJFR0lOIEpRVUVSWSAvIEpBVkFTQ1JJUFQKICp9CntsaXRlcmFsfQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci8vPCFbQ0RBVEFbCiAgLy8gCiAgLy8gc29tZSBpbml0aWFsIGNoZWNrcwogIC8vCiAgaWYoICFqUXVlcnkgfHwgIXN0cmZ0aW1lIHx8ICFzdHJ0b3RpbWUgKQogIHsKICAgIGFsZXJ0KCdGQVRBTCBFUlJPUiAtLSBOZWNlc3NhcnkgdXRpbGl0aWVzIHJlcXVpcmVkIGZvciB0aGlzIGZ1bmN0aW9uYWxpdHkgdG8gb3BlcmF0ZSBoYXZlIG5vdCBiZWVuIGxvYWRlZCcpOwogIH0KCiAgLy8KICAvLyBpbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHdlIHdpbGwgbmVlZAogIC8vCiAgdmFyIGNoZWNrX3VybCA9ICJ7L2xpdGVyYWx9e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9QXZhaWxhYmlsaXR5IGFjdGlvbj1qc29uX2NoZWNrX2F2YWlsIHVybG9ubHk9MX17bGl0ZXJhbH0iOwogIGNoZWNrX3VybCA9IGNoZWNrX3VybC5yZXBsYWNlKC9hbXA7L2csJycpKycmc2hvd3RlbXBsYXRlPWZhbHNlJzsKCiAgdmFyIHJzcmNfdXJsID0gInsvbGl0ZXJhbH17bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT1BdmFpbGFiaWxpdHkgYWN0aW9uPWpzb25fcnNyY19pbmZvIHVybG9ubHk9MX17bGl0ZXJhbH0iOwogIHJzcmNfdXJsID0gcnNyY191cmwucmVwbGFjZSgvYW1wOy9nLCcnKSsnJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CgogIHZhciBkZXBvc2l0X3VybCA9ICJ7L2xpdGVyYWx9e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9QXZhaWxhYmlsaXR5IGFjdGlvbj1qc29uX3Jlc3ZuX2RlcG9zaXQgdXJsb25seT0xfXtsaXRlcmFsfSI7CiAgZGVwb3NpdF91cmwgPSBkZXBvc2l0X3VybC5yZXBsYWNlKC9hbXA7L2csJycpKycmc2hvd3RlbXBsYXRlPWZhbHNlJzsKCiAgdmFyIGFjdGlvbmlkID0gJ3svbGl0ZXJhbH17JGFjdGlvbmlkfXtsaXRlcmFsfSc7CiAgdmFyIGN1cnJlbmN5X3N5bWJvbCA9ICd7L2xpdGVyYWx9eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcsJyQnKX17bGl0ZXJhbH0nOwogIHZhciBkYXRlX2Zvcm1hdCA9ICd7L2xpdGVyYWx9eyRkYXRlX2Zvcm1hdH17bGl0ZXJhbH0nOwoKCiAgalF1ZXJ5LmV4dGVuZCh7CiAgICAgIHBvc3RKU09OOiBmdW5jdGlvbiggdXJsLCBkYXRhLCBjYWxsYmFjayApIHsKICAgICAgICAgICByZXR1cm4galF1ZXJ5LnBvc3QodXJsLCBkYXRhLCBjYWxsYmFjaywgImpzb24iKTsKICAgICAgfQogIH0pOwoKCiAgLy8gdXRpbGl0eSBmdW5jdGlvbiB0byBidWlsZCBhIGpxdWVyeSBhY2Nlc3NvciBmb3IgdGhlIGRhdGUgZmllbGRzCiAgZnVuY3Rpb24gX2J1aWxkX25hbWVfYWNjZXNzb3IocHJlZml4LGZpZWxkKQogIHsKICAgIHN0ciA9ICdbbmFtZT1cJycgKyBwcmVmaXggKyBmaWVsZCArICdcJ10nOwogICAgcmV0dXJuIHN0cjsJCiAgfQoKICAvLyB1dGlsaXR5IGZ1bmN0aW9uIHRvIGZvcm1hdCBhIHByaWNlLgogIGZ1bmN0aW9uIF9mb3JtYXRfcHJpY2UodmFsKQogIHsKICAgIHN0ciA9IGN1cnJlbmN5X3N5bWJvbCArIHZhbDsKICAgIHJldHVybiBzdHI7CiAgfQoKICAvLyB1dGlsaXR5IGZ1bmN0aW9uIHRvIGV4dHJhY3QgYSBkYXRlIGluIHRoZSBmb3JtIG9mICJtbS9kZC95eXl5IGhoOk1NIgogIC8vIGZyb20gdGhlIGlucHV0IGZpZWxkcy4KICBmdW5jdGlvbiBnZXRfZGF0ZV9mcm9tX2ZpZWxkcyhjb250YWluZXIscHJlZml4LHRpbWUpCiAgewogICAgdGltZSA9IHR5cGVvZih0aW1lKSAhPSAndW5kZWZpbmVkJyA/IHRpbWUgOiAxOwoKICAgIHZhciBzdGFydF95ZWFyPWNvbnRhaW5lci5maW5kKF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCwnWWVhcicpKS52YWwoKTsKICAgIHZhciBzdGFydF9tb250aD1jb250YWluZXIuZmluZChfYnVpbGRfbmFtZV9hY2Nlc3NvcihwcmVmaXgsJ01vbnRoJykpLnZhbCgpOwogICAgdmFyIHN0YXJ0X2RheT1jb250YWluZXIuZmluZChfYnVpbGRfbmFtZV9hY2Nlc3NvcihwcmVmaXgsJ0RheScpKS52YWwoKTsKICAgIHZhciBzdGFydF9ob3VyID0gMDsKICAgIHZhciBzdGFydF9taW51dGUgPSAwOwoKICAgIGlmKCB0aW1lICkKICAgIHsKICAgICAgc3RhcnRfaG91cj1jb250YWluZXIuZmluZChfYnVpbGRfbmFtZV9hY2Nlc3NvcihwcmVmaXgsJ0hvdXInKSkudmFsKCk7CiAgICAgIHN0YXJ0X21pbnV0ZT1jb250YWluZXIuZmluZChfYnVpbGRfbmFtZV9hY2Nlc3NvcihwcmVmaXgsJ01pbnV0ZScpKS52YWwoKTsKICAgIH0KCiAgICB2YXIgc3RyID0gc3RhcnRfbW9udGgrJy8nK3N0YXJ0X2RheSsnLycrc3RhcnRfeWVhcjsKICAgIGlmKCB0aW1lICkKICAgIHsgCiAgICAgIHN0ciArPSAnICcrc3RhcnRfaG91cisnOicrc3RhcnRfbWludXRlKyc6MDAnOwogICAgfQogICAgcmV0dXJuIHN0cjsKICB9CgoKICAvLyB1dGlsaXR5IGZ1bmN0aW9uIHRvIHBvcHVsYXRlIGRhdGUgZmllbGRzIGdpdmVuIGEgZGF0ZQogIGZ1bmN0aW9uIF9zZXRfZGF0ZV9pbnB1dChpbl9kYXRlLGNvbnRhaW5lcixwcmVmaXgsZG9fdGltZSkKICB7CiAgICBkb190aW1lID0gdHlwZW9mKGRvX3RpbWUpICE9ICd1bmRlZmluZWQnID8gZG9fdGltZSA6IDE7CgogICAgdmFyIHAxID0gaW5fZGF0ZS5zcGxpdCgnICcpOwogICAgdmFyIGRhdGUgPSBwMVswXS5zcGxpdCgnLycpOwogICAgdmFyIHRpbWUgPSBwMVsxXS5zcGxpdCgnOicpOwoKICAgIGNvbnRhaW5lci5maW5kKF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCwnWWVhcicpKS52YWwoZGF0ZVsyXSk7CiAgICBjb250YWluZXIuZmluZChfYnVpbGRfbmFtZV9hY2Nlc3NvcihwcmVmaXgsJ01vbnRoJykpLnZhbChkYXRlWzBdKTsKICAgIGNvbnRhaW5lci5maW5kKF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCwnRGF5JykpLnZhbChkYXRlWzFdKTsKCiAgICBpZiggZG9fdGltZSApCiAgICB7CiAgICAgIGpRdWVyeShjb250YWluZXIuZmluZChfYnVpbGRfbmFtZV9hY2Nlc3NvcihwcmVmaXgsJ0hvdXInKSkpLnZhbCh0aW1lWzBdKTsKICAgICAgalF1ZXJ5KGNvbnRhaW5lci5maW5kKF9idWlsZF9uYW1lX2FjY2Vzc29yKHByZWZpeCwnTWludXRlJykpKS52YWwodGltZVsxXSk7CiAgICB9CiAgfQoKCiAgLy8gbWFnaWMgdXRpbGl0eSBmdW5jdGlvbiB0aGF0IGNsb25lcyBhIHJlc2VydmF0aW9uX3BhcnRfdGVtcGxhdGUgb2JqZWN0CiAgLy8gaW50byB0aGUgcmVzZXJ2YXRpb24gcGFydHMgbGlzdCwgdGhlbiBwb3B1bGF0ZXMgdGhlIGRhdGEgaW4gdGhlcmUuCiAgLy8gdXNlIGV4dHJlbWUgY2F1dGlvbiB3aGVuIG1vZGlmeWluZyB0aGlzIGZ1bmN0aW9uLgogIGZ1bmN0aW9uIGFkZF9yb3cocnNyY19pZCxyc3JjX3R5cGUscnNyY19zdHIsc3RhcnRfZGF0ZSxlbmRfZGF0ZSxudW1fcGVvcGxlLG1lcmlkaWFuLHByaWNlKQogIHsKICAgICAvLyBnZXQgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBvZiBjbGFzcyByZXNlcnZhdGlvbl9wYXJ0CiAgICAgdmFyIGlkeCA9IDA7CiAgICAgalF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydHNfbGlzdCcpLmNoaWxkcmVuKCcucmVzZXJ2YXRpb25fcGFydCcpLmVhY2goZnVuY3Rpb24oZWxlbSl7CiAgICAgICB2YXIgdG1wID0galF1ZXJ5KHRoaXMpLmZpbmQoJy5yb3dfcGFydG51bScpLmh0bWwoKTsKICAgICAgIGlmKCB0bXAgPiBpZHggKSBpZHggPSB0bXA7CiAgICAgfSk7CiAgICAgaWR4Kys7CgogICAgIC8vIHJlcGxhY2UgYWxsIHRoZSBZWSBzdHVmZiBpbiB0aGUgZmllbGQgbmFtZXMgd2l0aCB0aGUgd29yZCB7YWN0aW9uaWR9YXZhaWxwYXJ0CiAgICAgLy8gYW5kIHJlcGxhY2UgdGhlIFhYIHN0dWZmIHdpdGggdGhlIGluZGV4IG9mIHRoZSBmaWVsZHMuCiAgICAgbmV3cm93ID0galF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydF90ZW1wbGF0ZScpLmNsb25lKHRydWUpOwogICAgIG5ld3Jvdy5hdHRyKCdpZCcsJ3Jlc2VydmF0aW9uX3BhcnRfJytpZHgpOwogICAgIG5ld3Jvdy5maW5kKCdpbnB1dCcpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICB2YXIgbmFtZSA9IGpRdWVyeSh0aGlzKS5hdHRyKCduYW1lJyk7CiAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKCdYWCcsaWR4KTsKICAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoJ1lZJywney9saXRlcmFsfXskYWN0aW9uaWR9e2xpdGVyYWx9YXZhaWxfcGFydCcpOwogICAgICAgalF1ZXJ5KHRoaXMpLmF0dHIoJ25hbWUnLG5hbWUpOwogICAgIH0pOwoKICAgICAvLyBub3cgcG9wdWxhdGUgYWxsIG9mIHRoZSBvdGhlciBmaWVsZHMuCiAgICAgbmV3cm93LmZpbmQoJ2lucHV0LnJvd19yc3JjX2lkJykuYXR0cigndmFsdWUnLHJzcmNfaWQpOwogICAgIG5ld3Jvdy5maW5kKCdpbnB1dC5yb3dfbWVyaWRpYW4nKS5hdHRyKCd2YWx1ZScsbWVyaWRpYW4pOwogICAgIG5ld3Jvdy5maW5kKCdpbnB1dC5yb3dfc3RhcnRkYXRlJykuYXR0cigndmFsdWUnLHN0cnRvdGltZShzdGFydF9kYXRlKSk7CiAgICAgbmV3cm93LmZpbmQoJ2lucHV0LnJvd19lbmRkYXRlJykuYXR0cigndmFsdWUnLHN0cnRvdGltZShlbmRfZGF0ZSkpOwogICAgIG5ld3Jvdy5maW5kKCdpbnB1dC5yb3dfbnVtcGVvcGxlJykuYXR0cigndmFsdWUnLG51bV9wZW9wbGUpOwogICAgIG5ld3Jvdy5maW5kKCdpbnB1dC5yb3dfcHJpY2UnKS5hdHRyKCd2YWx1ZScscHJpY2UpOwoKICAgICBuZXdyb3cuZmluZCgnLnJvd19zdGFydF9kYXRlJykuaHRtbChzdHJmdGltZShkYXRlX2Zvcm1hdCxzdGFydF9kYXRlKSk7CiAgICAgbmV3cm93LmZpbmQoJy5yb3dfZW5kX2RhdGUnKS5odG1sKHN0cmZ0aW1lKGRhdGVfZm9ybWF0LGVuZF9kYXRlKSk7CiAgICAgbmV3cm93LmZpbmQoJy5yb3dfcGFydG51bScpLmh0bWwoaWR4KTsKICAgICBuZXdyb3cuZmluZCgnLnJvd19yZXNvdXJjZScpLmh0bWwocnNyY19zdHIpOwogICAgIG5ld3Jvdy5maW5kKCcucm93X251bV9wZW9wbGUnKS5odG1sKG51bV9wZW9wbGUpOwogICAgIG5ld3Jvdy5maW5kKCcucm93X3ByaWNlJykuaHRtbChwcmljZSk7CgogICAgIC8vIG5ldyBidXR0b25zIGhhdmUgdG8gaGF2ZSB0aGVpciBjbGljayBldmVudHMgZGVmaW5lZCB0b28uCiAgICAgbmV3cm93LmZpbmQoJy5yb3dfZGVsZXRlJykuY2xpY2soZnVuY3Rpb24oKXsKICAgICAgIHZhciBjb250YWluZXIgPSBqUXVlcnkodGhpcykucGFyZW50cygnLnJlc2VydmF0aW9uX3BhcnQnKTsKICAgICAgIGNvbnRhaW5lci5yZW1vdmUoKTsKCiAgICAgICB2YXIgdG90YWxfcHJpY2UgPSBjYWxjX3RvdGFsX3ByaWNlKCk7CiAgICAgICBqUXVlcnkoJyNjYWxjcHJpY2UnKS5odG1sKHRvdGFsX3ByaWNlKTsKICAgICAgIHVwZGF0ZV9kZXBvc2l0X2Ftb3VudCh0b3RhbF9wcmljZSk7CgogICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0pOwogICAgIAogICAgIG5ld3Jvdy5hcHBlbmRUbygnI3Jlc2VydmF0aW9uX3BhcnRzX2xpc3QnKTsKICAgICBuZXdyb3cuZmFkZUluKCk7CiAgfQoKICAvLyB0aGlzIG1ldGhvZCBncmFicyBhbGwgdGhlIHJlc2VydmF0aW9uIHBhcnRzIGFuZCBjYWxjdWxhdGVzIGEgdG9nYWwgb3JkZXIgcHJpY2UuCiAgZnVuY3Rpb24gY2FsY190b3RhbF9wcmljZSgpIAogIHsKICAgIHZhciB0b3RhbHByaWNlID0gMDsKICAgIGpRdWVyeSgnI3Jlc2VydmF0aW9uX3BhcnRzX2xpc3QnKS5jaGlsZHJlbignLnJlc2VydmF0aW9uX3BhcnQnKS5lYWNoKGZ1bmN0aW9uKGVsZW0pewogICAgICB2YWwgPSBqUXVlcnkodGhpcykuZmluZCgnaW5wdXQucm93X3ByaWNlJykudmFsKCk7CiAgICAgIHRvdGFscHJpY2UgKz0gcGFyc2VGbG9hdCh2YWwpOwkKICAgIH0pOwogICAgcmV0dXJuIHRvdGFscHJpY2U7CiAgfQoKICBmdW5jdGlvbiB1cGRhdGVfZGVwb3NpdF9hbW91bnQocHJpY2UpCiAgewogICAgaWYoIHByaWNlIDw9IDAuMCApCiAgICB7CiAgICAgICBqUXVlcnkoJyNjYWxjZGVwb3NpdCcpLmh0bWwoJycpOwogICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBvYmogPSBuZXcgT2JqZWN0OwogICAgb2JqLnByaWNlID0gcHJpY2U7CiAgICB2YXIgc3RyID0gJC50b0pTT04ob2JqKTsKICAgICQucG9zdChkZXBvc2l0X3VybCwgeyBkYXRhOiBzdHIgfSwKICAgICAgICBmdW5jdGlvbihyZXNwb25zZSl7CiAgICAgICAgICBpZihyZXNwb25zZS5yZXN1bHQgPT0gJ3N1Y2Nlc3MnKQogICAgICAgICAgewogICAgICAgICAgICBqUXVlcnkoJyNjYWxjZGVwb3NpdCcpLmh0bWwocmVzcG9uc2UudmFsdWUpOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgJ2pzb24nKTsKICB9CgogIC8vIHVwZGF0ZSBkYXRlIGZpZWxkcyBpbiB0aGUgbWluaS1mb3JtIGdpdmVuIGEgc3RhcnQgYW5kIGVuZCBkYXRlLgogIGZ1bmN0aW9uIF91cGRhdGVfZGF0ZXMocnNyY190eXBlLHN0YXJ0X2RhdGUsZW5kX2RhdGUpCiAgewogICAgdmFyIGNvbnRhaW5lciA9IGpRdWVyeSgnI3JzcmNfcGVyaW9kXycrcnNyY190eXBlKTsKICAgIGlmKCByc3JjX3R5cGUgPT0gJ2QnICkKICAgIHsKICAgICAgX3NldF9kYXRlX2lucHV0KHN0YXJ0X2RhdGUsY29udGFpbmVyLCdzZWxfc3RhcnRkYXRlX2RfJywwKTsKICAgICAgX3NldF9kYXRlX2lucHV0KGVuZF9kYXRlLGNvbnRhaW5lciwnc2VsX2VuZGRhdGVfZF8nLDApOwogICAgfQogICAgZWxzZSBpZiggcnNyY190eXBlID09ICdoJyApCiAgICB7CiAgICAgIF9zZXRfZGF0ZV9pbnB1dChzdGFydF9kYXRlLGNvbnRhaW5lciwnc2VsX3N0YXJ0ZGF0ZV9kXycsMSk7CiAgICB9CiAgfQoKCiAgLy8gdGhpcyBtZXRob2QgY2hlY2tzIHRoYXQgdGhlIGV4aXN0aW5nIHJlc2VydmF0aW9uIHBhcnRzIGRvbid0IGNvbmZsaWN0IHdpdGggdGhlIAogIC8vIHN1cHBsaWVkIG9uZS4gIHRoaXMgaXMgdXNlZCBkdXJpbmcgdGhlIGNoZWNraW5nIHN0dWZmIHdoZW4gdGhlIGFkZCBidXR0b24gaXMgY2xpY2tlZC4KICBmdW5jdGlvbiBfY2hlY2tfZXhpc3RpbmdfcGFydHMob2JqKQogIHsKICAgIHZhciByZXMgPSAxOwogICAgalF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydHNfbGlzdCcpLmNoaWxkcmVuKCcucmVzZXJ2YXRpb25fcGFydCcpLmVhY2goZnVuY3Rpb24oZWxlbSl7CiAgICAgICB2YXIgcnNyY19pZCA9IGpRdWVyeSh0aGlzKS5maW5kKCdpbnB1dC5yb3dfcnNyY19pZCcpLnZhbCgpOwogICAgICAgdmFyIHN0YXJ0ID0galF1ZXJ5KHRoaXMpLmZpbmQoJ2lucHV0LnJvd19zdGFydGRhdGUnKS52YWwoKTsKICAgICAgIHZhciBlbmQgPSBqUXVlcnkodGhpcykuZmluZCgnaW5wdXQucm93X2VuZGRhdGUnKS52YWwoKTsKCiAgICAgICB2YXIgb3N0YXJ0ID0gc3RydG90aW1lKG9iai5zdGFydF9kYXRlKTsKICAgICAgIGlmKCBvYmoucnNyY19pZCA9PSByc3JjX2lkICkKICAgICAgIHsKCSBpZiggb3N0YXJ0ID09IHN0YXJ0ICkKICAgICAgICAgewogICAgICAgICAgIHJlcyA9IDA7CiAgICAgICAgIH0KICAgICAgIH0KICAgIH0pOwoKICAgIHJldHVybiByZXM7CiAgICAKICB9CgogIC8vCiAgLy8gdGhlIG1haW4ganF1ZXJ5IHJlYWR5IGZ1bmN0aW9uCiAgLy8KICBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewoKICAgIC8vIHNldCBzb21lIGFqYXggdGltZW91dHMuCiAgICAkLmFqYXhTZXR1cCh7CiAgICAgIHRpbWVvdXQ6IDIwMDAKICAgIH0pOwoKICAgIC8vIGhhbmRsZSBpbml0aWFsIHZhbHVlcy4KICAgIGpRdWVyeSgnLnJzcmNfcGVyaW9kJykuaGlkZSgpOwogICAgalF1ZXJ5KCcjcnNyY19wZXJpb2RfJysney9saXRlcmFsfXskaW5pdF9yc3JjX3R5cGV9e2xpdGVyYWx9Jykuc2hvdygpOwogICAgalF1ZXJ5KCcjc2VsX3Jvd19udW1wZW9wbGUnKS5zaG93KCk7CiAgICBqUXVlcnkoJyNzZWxfYnRucycpLnNob3coKTsKCiAgICAvLyBoaWRlIGFuZCBzaG93IHZhcmlvdXMgZmllbGRzIGJhc2VkIG9uIHRoZSByZXNvdXJjZSBzZWxlY3RlZCAKICAgIGpRdWVyeSgnI3NlbF9yc3JjJykuY2hhbmdlKGZ1bmN0aW9uKCkgewogICAgICBqUXVlcnkoJyNzZWxfYnRuX2FkZCcpLmhpZGUoKTsKICAgICAgdmFyIHRtcCA9IGpRdWVyeSh0aGlzKS52YWwoKS5zcGxpdCgnLCcpOwogICAgICBpZiggdG1wWzFdID09ICctMScgKQogICAgICB7IAogICAgICAgIGpRdWVyeSgnI3NlbF9idG5zJykuaGlkZSgpOwogICAgICAgIGpRdWVyeSgnI3NlbF9yb3dfbnVtcGVvcGxlJykuaGlkZSgpOwogICAgICB9CiAgICAgIGVsc2UKICAgICAgewogICAgICAgIGpRdWVyeSgnI3NlbF9idG5zJykuc2hvdygpOwogICAgICAgIGpRdWVyeSgnI3NlbF9yb3dfbnVtcGVvcGxlJykuc2hvdygpOwogICAgICB9CiAgICAgIGpRdWVyeSgnLnJzcmNfcGVyaW9kJykuaGlkZSgpOwogICAgICBqUXVlcnkoJyNyc3JjX3BlcmlvZF8nK3RtcFsxXSkuc2hvdygpOwogICAgICBqUXVlcnkoJyNzZWxfbWVzc2FnZScpLmhpZGUoKTsKICAgICAgalF1ZXJ5KCcjc2VsX3ByaWNlJykuaGlkZSgpOwoKICAgICAgLy8gYnVpbGQgYW4gb2JqZWN0IGFuZCBkbyBhbiBhamF4IHJlcXVlc3QgdG8gdGhlIHNlcnZlcgogICAgICAvLyB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlbGVjdGVkIHJlc291cmNlLgogICAgICB2YXIgb2JqID0gbmV3IE9iamVjdCgpOwogICAgICBvYmoucnNyY19pZCA9IHRtcFswXTsKICAgICAgdmFyIHN0ciA9ICQudG9KU09OKG9iaik7CiAgICAgICQucG9zdChyc3JjX3VybCwgeyBkYXRhOiBzdHIgfSwKICAgICAgICAgIGZ1bmN0aW9uKHJlc3BvbnNlKXsKICAgICAgICAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdCA9PSAnc3VjY2VzcycgKQoJICAgICAgewogICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9yc3JjX3N1bW1hcnknKS5odG1sKHJlc3BvbnNlLnN1bW1hcnkpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICB9LAoJICAgJ2pzb24nKTsKCiAgICB9KTsKCiAgICAvLyBoYW5kbGUgdGhlIGNoZWNrIGJ1dHRvbiBjbGljawogICAgalF1ZXJ5KCcjc2VsX2J0bl9jaGVjaycpLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICB2YXIgY29udGFpbmVyID0galF1ZXJ5KCcjcmVzZXJ2YXRpb25fcGFydF9lZGl0Jyk7CgogICAgICAvLyBidWlsZCB0aGUganNvbiBkYXRhCiAgICAgIHZhciBvYmogPSBuZXcgT2JqZWN0KCk7CiAgICAgIHZhciB2YWwgPSBqUXVlcnkoJyNzZWxfcnNyYycpLnZhbCgpOwogICAgICBvYmoucnNyY19pZCA9IHZhbC5zcGxpdCgnLCcpWzBdOwogICAgICB2YXIgcnNyY190eXBlID0gdmFsLnNwbGl0KCcsJylbMV07CiAgICAgIGlmKCByc3JjX3R5cGUgPT0gJ2QnICkKICAgICAgICB7CiAgICAgICAgICBvYmouc3RhcnRfZGF0ZSA9IGdldF9kYXRlX2Zyb21fZmllbGRzKGNvbnRhaW5lciwnc2VsX3N0YXJ0ZGF0ZV9kXycsMCkKICAgICAgICAgIG9iai5lbmRfZGF0ZSA9IGdldF9kYXRlX2Zyb21fZmllbGRzKGNvbnRhaW5lciwnc2VsX2VuZGRhdGVfZF8nLDApCiAgICAgICAgfQogICAgICBlbHNlIGlmKCByc3JjX3R5cGUgPT0gJ2gnICkKICAgICAgICB7CiAgICAgICAgICBvYmouc3RhcnRfZGF0ZSA9IGdldF9kYXRlX2Zyb21fZmllbGRzKGNvbnRhaW5lciwnc2VsX3N0YXJ0ZGF0ZV9oXycsMSkKICAgICAgICB9CiAgICAgIGVsc2UgaWYoIHJzcmNfdHlwZSA9PSAncCcgKQogICAgICAgIHsKICAgICAgICAgIG9iai5zdGFydF9kYXRlID0gZ2V0X2RhdGVfZnJvbV9maWVsZHMoY29udGFpbmVyLCdzZWxfc3RhcnRkYXRlX3BfJywwKQogICAgICAgICAgb2JqLm1lcmlkaWFuID0gY29udGFpbmVyLmZpbmQoJyNzZWxfbWVyaWRpYW5fcCcpLnZhbCgpOyAKICAgICAgICB9CiAgICAgIG9iai5udW1fcGVvcGxlID0gY29udGFpbmVyLmZpbmQoJyNzZWxfbnVtcGVvcGxlJykudmFsKCk7CgogICAgICB2YXIgcmVzID0gX2NoZWNrX2V4aXN0aW5nX3BhcnRzKG9iaik7CiAgICAgIGlmKCAhcmVzICkKICAgICAgICB7CiAgICAgICAgICAvLyB0aGVyZSBpcyBhIGNvbmZsaWN0IHdpdGggdGhlIGV4aXN0aW5nIHBhcnRzIG9mIG91ciBjdXJyZW50IHJlc2VydmF0aW9uCiAgICAgICAgICAvLyBkaXNwbGF5IGEgbWVzc2FnZSwgYW5kIGRvbid0IGJvdGhlciB3aXRoIHRoZSBhamF4IHJlcXVlc3QuCiAgICAgICAgICB2YXIgbXNnID0gJ3svbGl0ZXJhbH17JG1vZC0+TGFuZygnZXJyb3JfcmVzZXJ2YXRpb25fY29uZmxpY3QnKX17bGl0ZXJhbH0nOwoJICBqUXVlcnkoJyNzZWxfbWVzc2FnZScpLmh0bWwobXNnKS5zaG93KCk7CgkgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICB2YXIgc3RyID0gJC50b0pTT04ob2JqKTsKCiAgICAgIC8vIGRvIGFqYXggcmVxdWVzdCB0byB0ZXN0IGZvciBjb25mbGljdHMgd2l0aCBvdGhlciByZXNlcnZhdGlvbnMsIGFuZAogICAgICAvLyB0byBjYWxjdWxhdGUgYSBwcmljZS4KICAgICAgdmFyIGpzb24gPSAkLnBvc3QoY2hlY2tfdXJsLCB7IGRhdGE6IHN0ciB9LAogICAgICAgICAgZnVuY3Rpb24ocmVzcG9uc2UpewogICAgICAgICAgICBqUXVlcnkoJyNzZWxfaW50X3N0YXR1cycpLmh0bWwocmVzcG9uc2UucmVzdWx0KTsKICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX2ludF9wcmljZScpLmh0bWwocmVzcG9uc2UucHJpY2UpOwoJICAgIGpRdWVyeSgnI3NlbF9tZXNzYWdlJykuaHRtbChyZXNwb25zZS5tZXNzYWdlKTsKCQogICAgICAgICAgICBpZiggcmVzcG9uc2UucmVzdWx0ID09ICdhdmFpbGFibGUnICkKICAgICAgICAgICAgewoJICAgICAgICAvLyBnb3QgYW4gYXZhaWxhYmxlIHBlcmlvZAoJICAgICAgICAvLyBjaGFuZ2Ugd2hhdCdzIGRpc3BsYXllZCwgZGlzcGxheSBvdXIgcHJpY2UsIGFuZAoJICAgICAgICAvLyB1cGRhdGUgdGhlIGR5bl9zdGFydCBhbmQgZHluX2VuZCBkYXRlIHN0dWZmLCBhcyB0aGlzCiAgICAgICAgICAgICAgICAvLyBpcyB3aGF0IHRoZSBhZGQgYnV0dG9uIG5lZWRzLgoJICAgICAgICBqUXVlcnkoJyNzZWxfYnRuX2FkZCcpLnNob3coKTsKICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9wcmljZV9hbXQnKS5odG1sKF9mb3JtYXRfcHJpY2UocmVzcG9uc2UucHJpY2UpKTsKICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9wcmljZScpLnNob3coKTsKICAgICAgICAgICAgICAgIGpRdWVyeSgnI3NlbF9tZXNzYWdlJykuc2hvdygpOwogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX2R5bl9zdGFydF9kYXRlJykudmFsKHJlc3BvbnNlLnN0YXJ0X2RhdGUpOwogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX2R5bl9lbmRfZGF0ZScpLnZhbChyZXNwb25zZS5lbmRfZGF0ZSk7CiAKICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgZGF0ZXMgZnJvbSB3aGF0IHdlIGhhdmUKICAgICAgICAgICAgICAgIF91cGRhdGVfZGF0ZXMocnNyY190eXBlLHJlc3BvbnNlLnN0YXJ0X2RhdGUscmVzcG9uc2UuZW5kX2RhdGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgeyAgICAgCiAgICAgICAgICAgICAgICAvLyBnb3QgYW4gZXJyb3IgZm9yIHNvbWUgcmVhc29uLgogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX3ByaWNlJykuaGlkZSgpOwogICAgICAgICAgICAgICAgalF1ZXJ5KCcjc2VsX21lc3NhZ2UnKS5zaG93KCk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfZHluX3N0YXJ0X2RhdGUnKS52YWwoJy0xJyk7CiAgICAgICAgICAgICAgICBqUXVlcnkoJyNzZWxfZHluX2VuZF9kYXRlJykudmFsKCctMScpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCAKICAgICAgICAgICdqc29uJyk7CgogICAgICAvLyBubyBtb3JlIHByb2Nlc3NpbmcuCiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwoKCiAgICBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0X2VkaXQgc2VsZWN0JykuY2hhbmdlKGZ1bmN0aW9uKCl7CiAgICAgIC8vIAogICAgICAvLyB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuZXZlciBhbnkgb2YgdGhlIHNlbGVjdCBib3hlcyBjaGFuZ2UKICAgICAgLy8gaXQgcmVzZXRzIHRoZSBzZWxfZHluX3N0YXJ0X2RhdGUgYW5kIHNlbF9keW5fZW5kX2RhdGUKICAgICAgLy8gc28gdGhhdCB0aGUgYWRkIGJ1dHRvbiB3aWxsIG5vdCB3b3JrIHVudGlsIGEgY2hlY2sgaXMgZG9uZS4KICAgICAgLy8KICAgICAgalF1ZXJ5KCcjc2VsX2R5bl9zdGFydF9kYXRlJykudmFsKCctMScpOwogICAgICBqUXVlcnkoJyNzZWxfZHluX2VuZF9kYXRlJykudmFsKCctMScpOwogICAgICBqUXVlcnkoJyNzZWxfcHJpY2UnKS5oaWRlKCk7CiAgICB9KTsKCgogICAgalF1ZXJ5KCcjc2VsX2J0bl9hZGQnKS5jbGljayhmdW5jdGlvbigpIHsKICAgICAgLy8KICAgICAgLy8gdGhlIGFkZCBidXR0b24gaGFzIGJlZW4gcHJlc3NlZCwgbmVlZCB0byBnYXRoZXIgZGF0YQogICAgICAvLyBhbmQgYWRkIGEgcm93IHRvIHRoZSByZXNlcnZhdGlvbl9wYXJ0c19saXN0CiAgICAgIC8vCiAgICAgIHZhciBjb250YWluZXIgPSBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0X2VkaXQnKTsKICAgICAgdmFyIHZhbCA9IGpRdWVyeSgnI3NlbF9yc3JjJykudmFsKCk7CiAgICAgIHZhciByc3JjX2lkID0gdmFsLnNwbGl0KCcsJylbMF07CiAgICAgIHZhciByc3JjX3R5cGUgPSB2YWwuc3BsaXQoJywnKVsxXTsKICAgICAgdmFyIHJzcmNfc3RyID0galF1ZXJ5KCcjc2VsX3JzcmMgOnNlbGVjdGVkJykudGV4dCgpOwogICAgICB2YXIgbnVtX3Blb3BsZSA9IGpRdWVyeSgnI3NlbF9udW1wZW9wbGUnKS52YWwoKTsKICAgICAgdmFyIHByaWNlID0galF1ZXJ5KCcjc2VsX2ludF9wcmljZScpLmh0bWwoKTsKICAgICAgdmFyIHN0YXJ0X2RhdGUgPSBqUXVlcnkoJyNzZWxfZHluX3N0YXJ0X2RhdGUnKS52YWwoKTsKICAgICAgdmFyIGVuZF9kYXRlID0galF1ZXJ5KCcjc2VsX2R5bl9lbmRfZGF0ZScpLnZhbCgpOwogICAgICB2YXIgbWVyaWRpYW4gPSAnJzsKCiAgICAgIGlmKCBzdGFydF9kYXRlID09ICctMScgfHwgZW5kX2RhdGUgPT0gJy0xJyApCiAgICAgIHsKCWFsZXJ0KCdjYW5ub3QgYWRkJyk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgICBpZiggcnNyY190eXBlID09ICdwJyApCiAgICAgIHsKCW1lcmlkaWFuID0galF1ZXJ5KCcjc2VsX21lcmlkaWFuJykudmFsKCk7CiAgICAgIH0KCiAgICAgIC8vIGFkZCB0aGUgcm93CiAgICAgIGFkZF9yb3cocnNyY19pZCxyc3JjX3R5cGUscnNyY19zdHIsc3RhcnRfZGF0ZSxlbmRfZGF0ZSxudW1fcGVvcGxlLG1lcmlkaWFuLHByaWNlKTsKCiAgICAgIC8vIGhpZGUgc29tZSBzdHVmZi4KICAgICAgalF1ZXJ5KCcjc2VsX3ByaWNlJykuaGlkZSgpOwoKICAgICAgLy8gdXBkYXRlIHRvdGFscy4KICAgICAgdmFyIHRvdGFsX3ByaWNlID0gY2FsY190b3RhbF9wcmljZSgpOwogICAgICBqUXVlcnkoJyNjYWxjcHJpY2UnKS5odG1sKHRvdGFsX3ByaWNlKTsKICAgICAgdXBkYXRlX2RlcG9zaXRfYW1vdW50KHRvdGFsX3ByaWNlKTsKCiAgICAgIC8vIG5vIG1vcmUgcHJvY2Vzc2luZy4KICAgICAgalF1ZXJ5KCcjc2VsX2J0bl9hZGQnKS5oaWRlKCk7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwoKCiAgICBqUXVlcnkoJyNzdWJtaXRfYnRuJykuY2xpY2soZnVuY3Rpb24oKXsKICAgICAgLy8KICAgICAgLy8gc3VibWl0IGJ1dHRvbiBwcmVzc2VkLgogICAgICAvLyB3ZSBqdXN0IGRvIHNvbWUgYmFzaWMgY2hlY2tzIHRvIHNlZSBpZiB0aGVyZSBhcmUgYWN0dWFsbHkgYW55IGRlZmluZWQgcGFydHMKICAgICAgLy8gdG8gdGhlIHJlc2VydmF0aW9uLgogICAgICAvLwogICAgICB2YXIgY291bnQgPSBqUXVlcnkoJyNyZXNlcnZhdGlvbl9wYXJ0c19saXN0JykuY2hpbGRyZW4oJy5yZXNlcnZhdGlvbl9wYXJ0Jykuc2l6ZSgpOwogICAgICBpZiggY291bnQgPT0gMCApCiAgICAgIHsKICAgICAgICBhbGVydCgney9saXRlcmFsfXskbW9kLT5MYW5nKCdlcnJvcl9ub19yZXNlcnZhdGlvbl9wYXJ0cycpfXtsaXRlcmFsfScpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgIH0pOwogIH0pOwoKLy9dXT4KPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KIAoKeyogCiAqIHRoaXMgaXMgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIGVhY2ggaW5kaXZpZHVhbCBwYXJ0IG9mIHRoZSByZXNlcnZhdGlvbgogKn0KPGRpdiBpZD0icmVzZXJ2YXRpb25fcGFydF90ZW1wbGF0ZSIgY2xhc3M9InJlc2VydmF0aW9uX3BhcnQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyBjbGVhcjogbGVmdDsiPgogPHAgY2xhc3M9InJvd19wYXJ0bnVtIiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IG1hcmdpbi1yaWdodDogMC41ZW07IHdpZHRoOiAyZW07Ij48L3A+CiA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7Ij4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19yc3JjX2lkIiBuYW1lPSJZWV9zZWxyc3JjX1hYIiB2YWx1ZT0iLTEiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19zdGFydGRhdGUiIG5hbWU9IllZX3N0YXJ0ZGF0ZV9YWCIgdmFsdWU9Ii0xIi8+CiAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfbWVyaWRpYW4iIG5hbWU9IllZX3N0YXJ0ZGF0ZV9YWG1lcmlkaWFuIiB2YWx1ZT0iLTEiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19lbmRkYXRlIiBuYW1lPSJZWV9lbmRkYXRlX1hYIiB2YWx1ZT0iLTEiLz4KICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19udW1wZW9wbGUiIG5hbWU9IllZX251bXBlb3BsZV9YWCIgdmFsdWU9Ii0xIi8+CiAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfcHJpY2UiIG5hbWU9IllZX3ByaWNlX1hYIiB2YWx1ZT0iLTEiLz4KICAgPHNwYW4gY2xhc3M9InJvd19yZXNvdXJjZSI+PC9zcGFuPjxici8+CiAgIHskbW9kLT5MYW5nKCdmcm9tJyl9OsKgPHNwYW4gY2xhc3M9InJvd19zdGFydF9kYXRlIj48L3NwYW4+wqAKICAgeyRtb2QtPkxhbmcoJ3RvJyl9OsKgPHNwYW4gY2xhc3M9InJvd19lbmRfZGF0ZSI+PC9zcGFuPjxici8+CiAgIHskbW9kLT5MYW5nKCdudW1fcGVvcGxlJyl9OsKgPHNwYW4gY2xhc3M9InJvd19udW1fcGVvcGxlIj48L3NwYW4+PGJyLz4KICAgeyRtb2QtPkxhbmcoJ3ByaWNlJyl9OsKgeyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5Ym1vbCcsJyQnKX08c3BhbiBjbGFzcz0icm93X3ByaWNlIj48L3NwYW4+PGJyLz4KICAgPHNwYW4gY2xhc3M9ImFjdGlvbnMiPgogICAgIDxpbWcgc3JjPSJ7cm9vdF91cmx9L21vZHVsZXMvQXZhaWxhYmlsaXR5L2ljb25zL2RlbGV0ZS5naWYiIGNsYXNzPSJyb3dfZGVsZXRlIiBhbHQ9InskbW9kLT5MYW5nKCdkZWxldGUnKX0iLz4KICAgPC9zcGFuPgogPC9wPgo8L2Rpdj57KiBlbmQgcmVzZXJ2YXRpb25fcGFydF90ZW1wbGF0ZSAqfQoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdyZXNlcnZhdGlvbl9wYXJ0cycpfTwvbGVnZW5kPgogeyogdGhlIGFyZWEgd2hlcmUgdGhlIGNvbXBsZXRlZCByZXNlcnZhdGlvbiBwYXJ0cyBhcmUgZ29pbmcgdG8gZ28gKn0KIDxkaXYgaWQ9InJlc2VydmF0aW9uX3BhcnRzX2xpc3QiIHN0eWxlPSJ3aWR0aDogMzklOyBmbG9hdDogbGVmdDsiPgoKIHtpZiBpc3NldCgkcmVzZXJ2YXRpb24uaWQpICYmICRyZXNlcnZhdGlvbi5pZCA+IDB9CiB7Zm9yZWFjaCBmcm9tPSRyZXNlcnZhdGlvbi5wYXJ0cyBpdGVtPSdwYXJ0JyBuYW1lPSdwYXJ0J30KIHthc3NpZ24gdmFyPSdpZHgnIHZhbHVlPSRzbWFydHkuZm9yZWFjaC5wYXJ0Lml0ZXJhdGlvbn0KIHthc3NpZ24gdmFyPSdyc3JjX2lkJyB2YWx1ZT0kcGFydC5leHRfcnNyY2lkfQogPGRpdiBpZD0icmVzZXJ2YXRpb25fcGFydF97JHNtYXJ0eS5mb3JlYWNoLnBhcnQuaXRlcmF0aW9ufSIgY2xhc3M9InJlc2VydmF0aW9uX3BhcnQiIHN0eWxlPSJjbGVhcjogbGVmdDsiPgogICA8cCBjbGFzcz0icm93X3BhcnRudW0iIHN0eWxlPSJmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgd2lkdGg6IDJlbTsiPnskaWR4fTwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyI+CiAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19yc3JjX2lkIiBuYW1lPSJ7JGFjdGlvbmlkfXBhcnRfc2VscnNyY197JGlkeH0iIHZhbHVlPSJ7JHBhcnQucnNyY19pZH0iLz4KICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0icm93X3N0YXJ0ZGF0ZSIgbmFtZT0ieyRhY3Rpb25pZH1wYXJ0X3N0YXJ0ZGF0ZV97JGlkeH0iIHZhbHVlPSJ7JHBhcnQuc3RhcnRfZGF0ZXxzdHJ0b3RpbWV9Ii8+CiAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9InJvd19lbmRkYXRlIiBuYW1lPSJ7JGFjdGlvbmlkfXBhcnRfZW5kZGF0ZV97JGlkeH0iIHZhbHVlPSJ7JHBhcnQuZW5kX2RhdGV8c3RydG90aW1lfSIvPgogICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfbnVtcGVvcGxlIiBuYW1lPSJ7JGFjdGlvbmlkfXBhcnRfbnVtcGVvcGxlX3skaWR4fSIgdmFsdWU9InskcGFydC5udW1fcGVvcGxlfSIvPgogICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJyb3dfcHJpY2UiIG5hbWU9InskYWN0aW9uaWR9cGFydF9wcmljZV97JGlkeH0iIHZhbHVlPSJ7JHBhcnQucHJpY2V9Ii8+CiAgICAgPHNwYW4gY2xhc3M9InJvd19yZXNvdXJjZSI+eyRyc3JjX2xpc3QuJHJzcmNfaWR9PC9zcGFuPjxici8+CiAgICAgeyRtb2QtPkxhbmcoJ2Zyb20nKX06Jm5ic3A7PHNwYW4gY2xhc3M9InJvd19zdGFydF9kYXRlIj57JHBhcnQuc3RhcnRfZGF0ZXxjbXNfZGF0ZV9mb3JtYXR9PC9zcGFuPiZuYnNwOwogICAgIHskbW9kLT5MYW5nKCd0bycpfTombmJzcDs8c3BhbiBjbGFzcz0icm93X2VuZF9kYXRlIj57JHBhcnQuZW5kX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvc3Bhbj48YnIvPgogICAgIHskbW9kLT5MYW5nKCdudW1fcGVvcGxlJyl9OiZuYnNwOzxzcGFuIGNsYXNzPSJyb3dfbnVtX3Blb3BsZSI+eyRwYXJ0Lm51bV9wZW9wbGV9PC9zcGFuPjxici8+CiAgICAgeyRtb2QtPkxhbmcoJ3ByaWNlJyl9OiZuYnNwO3skbW9kLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW5jeV9zeWJtb2wnLCckJyl9PHNwYW4gY2xhc3M9InJvd19wcmljZSI+eyRwYXJ0LnByaWNlfTwvc3Bhbj48YnIvPiAgCiAgICAgPHNwYW4gY2xhc3M9ImFjdGlvbnMiPgogICAgICAgPGltZyBzcmM9Intyb290X3VybH0vbW9kdWxlcy9BdmFpbGFiaWxpdHkvaWNvbnMvZGVsZXRlLmdpZiIgY2xhc3M9InJvd19kZWxldGUiIGFsdD0ieyRtb2QtPkxhbmcoJ2RlbGV0ZScpfSIvPgogICAgIDwvc3Bhbj4KICAgPC9wPgogIDwvZGl2PgogIHsvZm9yZWFjaH0KICB7L2lmfQogIAogPC9kaXY+CgoKeyogCiAqIHRoZSBhcmVhIHdoZXJlIHdlIHdpbGwgZWRpdCBhIHJlc2VydmF0aW9uIHBhcnQgCiAqfQo8ZGl2IGlkPSJyZXNlcnZhdGlvbl9wYXJ0X2VkaXQiIHN0eWxlPSJ3aWR0aDogNTklOyBmbG9hdDogcmlnaHQ7IHBhZGRpbmctbGVmdDogMC41ZW07IGJvcmRlci1sZWZ0OiAxcHggc29saWQ7Ij4KIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJzZWxfZHluX3N0YXJ0X2RhdGUiIHZhbHVlPSItMSIvPgogPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9InNlbF9keW5fZW5kX2RhdGUiIHZhbHVlPSItMSIvPgogPGRpdj4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkdldFJlc291cmNlVHlwZSgpfTo8L3A+CiAgIDxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7IHdpZHRoOiA2OSU7Ij4KICAgICA8c2VsZWN0IGlkPSJzZWxfcnNyYyI+CiAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRyc3JjX2xpc3Qgc2VsZWN0ZWQ9JHNlbF9yc3JjfQogICAgIDwvc2VsZWN0PgogICA8L3A+CiAgIDxwIGlkPSJzZWxfcnNyY19zdW1tYXJ5IiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDFlbTsiPjwvcD4KIDwvZGl2PgoKIDxkaXYgaWQ9InJzcmNfcGVyaW9kX2QiIGNsYXNzPSJyc3JjX3BlcmlvZCIgc3R5bGU9ImNsZWFyOiByaWdodDsgZGlzcGxheTogbm9uZTsiPgogICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMCU7Ij57JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTo8L3A+CiAgIDxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7IHdpZHRoOiA2OSU7Ij4KICAgICB7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9InNlbF9zdGFydGRhdGVfZF8iIGVuZF95ZWFyPSIrMiIgdGltZT0kaW5pdF9zdGFydF9kYXRlfQogICA8L3A+CiAgIDxwIHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDMwJTsiPnskbW9kLT5MYW5nKCdlbmRfZGF0ZScpfTo8L3A+CiAgIDxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7IHdpZHRoOiA2OSU7Ij4KICAgICB7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9InNlbF9lbmRkYXRlX2RfIiBlbmRfeWVhcj0iKzIiIHRpbWU9JGluaXRfZW5kX2RhdGV9CiAgIDwvcD4KIDwvZGl2PgoKIDxkaXYgaWQ9InJzcmNfcGVyaW9kX3AiIGNsYXNzPSJyc3JjX3BlcmlvZCIgc3R5bGU9ImNsZWFyOiByaWdodDsgZGlzcGxheTogbm9uZTsiPgogICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMCU7Ij57JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTo8L3A+CiAgIDxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7IHdpZHRoOiA2OSU7Ij4KICAgICB7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9InNlbF9zdGFydGRhdGVfcF8iIGVuZF95ZWFyPSIrMiIgdGltZT0kaW5pdF9zdGFydF9kYXRlfQogICAgIHskbW9kLT5MYW5nKCdhdCcpfQogICAgIDxzZWxlY3QgaWQ9J3NlbF9tZXJpZGlhbl9wJz4KICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kbWVyaWRpYW5zfQogICAgIDwvc2VsZWN0PiAgICAgCiAgIDwvcD4KIDwvZGl2PgoKIDxkaXYgaWQ9InJzcmNfcGVyaW9kX2giIGNsYXNzPSJyc3JjX3BlcmlvZCIgc3R5bGU9ImNsZWFyOiByaWdodDsgZGlzcGxheTogbm9uZTsiPgogICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMCU7Ij57JG1vZC0+TGFuZygnc3RhcnRfZGF0ZScpfTo8L3A+CiAgIDxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7IHdpZHRoOiA2OSU7Ij4KICAgICB7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9InNlbF9zdGFydGRhdGVfaF8iIGVuZF95ZWFyPSIrMiIgdGltZT0kaW5pdF9zdGFydF9kYXRlfQogICAgIHskbW9kLT5MYW5nKCdhdCcpfQogICAgIHtodG1sX3NlbGVjdF90aW1lIGRpc3BsYXlfc2Vjb25kcz1mYWxzZSBtaW51dGVfaW50ZXJ2YWw9MTUgcHJlZml4PSJzZWxfc3RhcnRkYXRlX2hfIn0KICAgPC9wPgogPC9kaXY+CgogPGRpdiBpZD0ic2VsX3Jvd19udW1wZW9wbGUiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkxhbmcoJ251bV9wZW9wbGUnKX06PC9wPgogICA8cCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNjklOyI+CiAgICAgPHNlbGVjdCBpZD0ic2VsX251bXBlb3BsZSI+CiAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRwZW9wbGVfbGlzdH0KICAgICA8L3NlbGVjdD4KICAgPC9wPgogPC9kaXY+CgogPGRpdiBpZD0ic2VsX21lc3NhZ2UiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KIDwvZGl2PgoKIDxkaXYgaWQ9InNlbF9pbnRfcHJpY2UiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KIDwvZGl2PgoKIDxkaXYgaWQ9InNlbF9pbnRfc3RhdHVzIiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyBkaXNwbGF5OiBub25lOyI+CiA8L2Rpdj4KCiA8ZGl2IGlkPSJzZWxfcHJpY2UiIHN0eWxlPSJjbGVhcjogcmlnaHQ7IGRpc3BsYXk6IG5vbmU7Ij4KICAgPHAgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyI+eyRtb2QtPkxhbmcoJ3ByaWNlJyl9PC9wPgogICA8cCBpZD0ic2VsX3ByaWNlX2FtdCIgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICA8L3A+CiA8L2Rpdj4KCiA8ZGl2IGlkPSJzZWxfYnRucyIgc3R5bGU9ImNsZWFyOiByaWdodDsgZGlzcGxheTogbm9uZTsiPgogICA8cCBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMCU7Ij7CoDwvcD4KICAgPHAgc3R5bGU9ImZsb2F0OiByaWdodDsgd2lkdGg6IDY5JTsiPgogICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGlkPSJzZWxfYnRuX2NoZWNrIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NoZWNrJyl9Ii8+CiAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9InNlbF9idG5fYWRkIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2FkZCcpfSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ii8+CiAgIDwvcD4KIDwvZGl2Pgo8L2Rpdj4KCjwvZmllbGRzZXQ+CgoKeyoKICogdGhpcyBpcyB0aGUgYXJlYSBmb3IgdGhlIHJlc3Qgb2YgdGhlIGZvcm0KICp9CjxkaXYgY2xhc3M9ImZvcm1fcm93Ij4KICA8cCBjbGFzcz0iZm9ybV90ZXh0Ij57JG1vZC0+TGFuZygncHJpY2UnKX06PC9wPgogIDxwIGNsYXNzPSJmb3JtX2lucHV0Ij57JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJyl9PHNwYW4gaWQ9ImNhbGNwcmljZSI+PC9zcGFuPjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9ImZvcm1fcm93Ij4KICA8cCBjbGFzcz0iZm9ybV90ZXh0Ij57JG1vZC0+TGFuZygnbWluaW11bV9kZXBvc2l0X3JlcXVpcmVkJyl9OjwvcD4KICA8cCBjbGFzcz0iZm9ybV9pbnB1dCI+eyRtb2QtPkdldFByZWZlcmVuY2UoJ2N1cnJlbmN5X3N5bWJvbCcpfTxzcGFuIGlkPSJjYWxjZGVwb3NpdCI+PC9zcGFuPjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9ImZvcm1fcm93Ij4KICA8cCBjbGFzcz0iZm9ybV90ZXh0Ij57JG1vZC0+TGFuZygnbm90ZXMnKX06PC9wPgogIDxwIGNsYXNzPSJmb3JtX2lucHV0Ij4KICAgIHthc3NpZ24gdmFyPSd0eHQnIHZhbHVlPScnfQogICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9YXZhaWxfb3JkZXJfbm90ZXMiIHJvd3M9IjUiIGNvbHM9IjQwIj57JHR4dH08L3RleHRhcmVhPgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJmb3JtX3JvdyI+CiAgPHAgY2xhc3M9ImZvcm1fdGV4dCI+PC9wPgogIDxwIGNsYXNzPSJmb3JtX2lucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGlkPSJzdWJtaXRfYnRuIiBuYW1lPSJ7JGFjdGlvbmlkfWF2YWlsX3N1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2PgoKeyRmb3JtZW5kfQo8L2Rpdj57KiByZXNlcnZhdGlvbl9mb3JtX2NvbnQgKn0Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/orig_sendemail_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogc2VuZGVtYWlsIHRlbXBsYXRlICp9CjxoMz57JG1vZC0+TGFuZygnc2VuZF9lbWFpbCcpfTwvaDM+CjxzdHJvbmc+eyRtb2QtPkxhbmcoJ3Jlc2VydmF0aW9uJyl9OiZuYnNwO3siJTA2ZCJ8c3ByaW50ZjokcmVzdl9pZH08L3N0cm9uZz48YnIvPgp7aWYgaXNzZXQoJHN0YXR1cyl9CiAge2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAhZW1wdHkoJG1lc3NhZ2UpfQogIHtpZiAkc3RhdHVzIGVxICdlcnJvcid9CiAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjZWUwOyBjb2xvcjogIzEwMDsgcGFkZGluZy10b3A6IDAuNWVtOyBwYWRkaW5nLWJvdHRvbTogMC41ZW07Ij57JG1lc3NhZ2V9PC9kaXY+CiAge2Vsc2V9CiAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiOyBjb2xvcjogIzAwMDsgcGFkZGluZy10b3A6IDAuNWVtOyBwYWRkaW5nLWJvdHRvbTogMC41ZW07Ij57JG1lc3NhZ2V9PC9kaXY+CiAgey9pZn0KICB7L2lmfQp7L2lmfQoKe2lmIGlzc2V0KCRmb3Jtc3RhcnQpfQp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icm93Ij4KIDxwPnskbW9kLT5MYW5nKCdpbmZvX3NlbmRfbWVzc2FnZScpfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJyb3ciPgogIDxkaXYgc3R5bGU9IndpZHRoOiAzMCU7IGZsb2F0OiBsZWZ0OyI+CiAgICB7JG1vZC0+TGFuZygnc3ViamVjdCcpfToKICA8L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1hdmFpbF9zdWJqZWN0IiB2YWx1ZT0ieyRzdWJqZWN0fSIgc2l6ZT0iODAiIG1heGxlbmd0aD0iMjU1IiAvPgogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InJvdyI+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDMwJTsgZmxvYXQ6IGxlZnQ7Ij4KICAgIHskbW9kLT5MYW5nKCdtZXNzYWdlX3RleHQnKX06CiAgPC9kaXY+CiAgPGRpdiBzdHlsZT0id2lkdGg6IDY5JTsiPgogICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9YXZhaWxfYm9keSI+eyRib2R5fTwvdGV4dGFyZWE+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAlOyBmbG9hdDogbGVmdDsiPgogICAgeyRtb2QtPkxhbmcoJ2NjX215c2VsZicpfToKICA8L2Rpdj4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjklOyI+CiAgICA8ZGl2PjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9YXZhaWxfY2NteXNlbGYiIHZhbHVlPSIwIj48L2Rpdj4KICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1hdmFpbF9jY215c2VsZiIgdmFsdWU9IjEiIHtpZiAhZW1wdHkoJGNjbXlzZWxmKSAmJiAkY2NteXNlbGYgPT0gMX1jaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0icm93Ij4KICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAlOyBmbG9hdDogbGVmdDsiPiZuYnNwOzwvZGl2PgogIDxkaXYgc3R5bGU9IndpZHRoOiA2OSU7Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9YXZhaWxfc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3NlbmQnKX0iIC8+CiAgPC9kaXY+CjwvZGl2PgoKeyRmb3JtZW5kfQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_summary_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogc3VtbWFyeSB0ZW1wbGF0ZSAqfQp7aWYgJHBhZ2Vjb3VudCA+IDF9CntpZiBpc3NldCgkZmlyc3RwYWdlX3VybCl9CiAgPGEgaHJlZj0ieyRmaXJzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdmaXJzdHBhZ2UnKX0iPnskbW9kLT5MYW5nKCdmaXJzdHBhZ2UnKX08L2E+CiAgPGEgaHJlZj0ieyRwcmV2cGFnZV91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3ByZXZwYWdlJyl9Ij57JG1vZC0+TGFuZygncHJldnBhZ2UnKX08L2E+CnsvaWZ9Cgp7aWYgaXNzZXQoJGxhc3RwYWdlX3VybCl9CiAgPGEgaHJlZj0ieyRuZXh0cGFnZV91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ25leHRwYWdlJyl9Ij57JG1vZC0+TGFuZygnbmV4dHBhZ2UnKX08L2E+CiAgPGEgaHJlZj0ieyRsYXN0cGFnZV91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2xhc3RwYWdlJyl9Ij57JG1vZC0+TGFuZygnbGFzdHBhZ2UnKX08L2E+CnsvaWZ9CnsvaWZ9Cgp7aWYgaXNzZXQoJHJzcmNzKX0KPGRpdiBjbGFzcz0iYXZhaWxhYmlsaXR5X3N1bW1hcnkiPgogIHtmb3JlYWNoIGZyb209JHJzcmNzIGl0ZW09J29uZSd9CiAgPGRpdiBjbGFzcz0ic3VtbWFyeV9pdGVtIj4KICAgICA8ZGl2PnskbW9kLT5MYW5nKCdpZCcpfTogeyRvbmUuaWR9PC9kaXY+CiAgICAgPGRpdj57JG1vZC0+TGFuZygnbmFtZScpfTogeyRvbmUubmFtZX08L2Rpdj4KICAgICA8ZGl2PnskbW9kLT5MYW5nKCdiYXNlX3ByaWNlJyl9OiB7JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3VycmVuY3lfc3ltYm9sJyl9eyRvbmUuYmFzZV9wcmljZX08L2Rpdj4KICAgICA8ZGl2PjxhIGhyZWY9Inskb25lLmRldGFpbF91cmx9IiB0aXRsZT0ieyRvbmUubmFtZX0iPnskbW9kLT5MYW5nKCdtb3JlJyl9PC9hPgogICAgIDxkaXY+CiAgICAgICB7KiBEZXNjcmlwdGlvbiAqfQogICAgICAgeyRvbmUuZGVzY3JpcHRpb259CiAgICAgPC9kaXY+CgogICAgIHsqIGF0dHJpYnV0ZXMgKn0KICAgICB7KiBhdHRyaWJ1dGVzIGFyZSBhbHNvIGF2YWlsYWJsZSBieSBuYW1lIGFzICRvbmUuYXR0cmlic19ieW5hbWUuPG5hbWU+ICp9CiAgICAgPGZpZWxkc2V0IHN0eWxlPSJ3aWR0aDogODAlOyI+CiAgICAgICA8bGVnZW5kPnskbW9kLT5MYW5nKCdhdHRyaWJ1dGVzJyl9OiZuYnNwOzwvbGVnZW5kPgogICAgICAge2ZvcmVhY2ggZnJvbT0kb25lLmF0dHJpYnMgaXRlbT0nYXR0cmliJ30KICAgICAgICAgPHNwYW4+eyRhdHRyaWIubmFtZX0gPC9zcGFuPgogICAgICAgey9mb3JlYWNofQogICAgIDwvZmllbGRzZXQ+CgogICAgIHsqIGZpZWxkcyAqfQogICAgIHsqIGZpZWxkcyBhcmUgYWxzbyBhdmFpbGFibGUgYnkgbmFtZSBhcyAkb25lLmZpZWxkc19ieW5hbWUuPG5hbWU+ICp9CiAgICAge2lmIGNvdW50KCRvbmUuZmllbGRzKSA+IDB9CiAgICAgPGZpZWxkc2V0IHN0eWxlPSJ3aWR0aDogODAlOyI+CiAgICAgICA8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWVsZHMnKX06Jm5ic3A7PC9sZWdlbmQ+CiAgICAgICB7Zm9yZWFjaCBmcm9tPSRvbmUuZmllbGRzIGl0ZW09J2ZpZWxkJ30KICAgICAgICAgPGRpdj57JGZpZWxkLnByb21wdH06IHtpZiBpc3NldCgkZmllbGQudGh1bWJuYWlsKX08YSBocmVmPSJ7JG9uZS5maWxlX2xvY2F0aW9ufS97JGZpZWxkLnZhbHVlfSI+PGltZyBzcmM9Inskb25lLmZpbGVfbG9jYXRpb259L3skZmllbGQudGh1bWJuYWlsfSIvPjwvYT57ZWxzZX17JGZpZWxkLnZhbHVlfXsvaWZ9PC9kaXY+CiAgICAgICB7L2ZvcmVhY2h9CiAgICAgPC9maWVsZHNldD4KICAgICB7L2lmfQogIDwvZGl2PgogIHsvZm9yZWFjaH0KPC9kaXY+CnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/template_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgeyRtc2d9CjwvcD4KCnskdGVtcGxhdGVsaXN0fQ==]]></data>
	</file>
</module>
