<?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>youtubeplayer</name>
	<version>1.1</version>
  <mincmsversion>1.6.4</mincmsversion>
	<help>PGgyPkdlbmVyYWwgSGVscDwvaDI+PGJyLz4NCgkJCQk8cD5UbyBjYWxsIHRoZSBtb2R1bGUsIHNpbXBseSB1c2UgdGhlIGZvbGxvd2luZyB0YWc6PGJyLz4NCgkJCQl7Y21zX21vZHVsZSBtb2R1bGU9InlvdXR1YmVwbGF5ZXIifTwvcD4NCgkJCQk8cD5JbiB0aGlzIGNhc2UgdGhlIGxpc3Qgb2YgdGhlIGxhc3QgbGV2ZWwgZWxlbWVudHMgKHZpZGVvcykgd2lsbCBiZSBkaXNwbGF5ZWQuIFRvIHNlbGVjdCBhIGxldmVsLCB1c2UgdGhlICJ3aGF0IiBwYXJhbWV0ZXI6PGJyLz4NCgkJCQl7Y21zX21vZHVsZSBtb2R1bGU9InlvdXR1YmVwbGF5ZXIiIHdoYXQ9InZpZGVvcyJ9PGJyLz4NCgkJCQk8aT5UaGUgcG9zc2libGUgdmFsdWVzIGZvciB0aGUgIndoYXQiIHBhcmFtZXRlciBhcmUgOiBjYXRlZ29yeSwgdmlkZW9zPC9pPjwvcD4NCgkJCQk8cD5Zb3UgbWF5IGFsc28gYXNrIGZvciBlbGVtZW50cyB3aG8gYmVsb25nIHRvIGEgc3BlY2lmaWMgcGFyZW50Ojxici8+DQoJCQkJe2Ntc19tb2R1bGUgbW9kdWxlPSJ5b3V0dWJlcGxheWVyIiBwYXJlbnQ9ImFsaWFzX29mX3BhcmVudCJ9PC9wPg0KCQkJCTxwPllvdSBtYXkgZmluYWxseSBhc2sgZm9yIGEgc3BlY2lmaWMgZWxlbWVudDo8YnI+DQoJCQkJe2Ntc19tb2R1bGUgbW9kdWxlPSJ5b3V0dWJlcGxheWVyIiBhbGlhcz0iYWxpYXNfb2ZfaXRlbSJ9PC9wPg0KCQkJCTxici8+PGgyPlNlcGFyYXRpbmcgaW50byBwYWdlczwvaDI+DQoJCQkJPHA+WW91IG1heSBsaW1pdCB0aGUgbnVtYmVyIG9mIGl0ZW1zIHRvIGJlIHNob3duIG9uIG9uZSBwYWdlOjxici8+DQoJCQkJe2Ntc19tb2R1bGUgbW9kdWxlPSJ5b3V0dWJlcGxheWVyIiBuYnBlcnBhZ2U9IjUifTxici8+DQoJCQkJVGhlIHBhZ2UgbWVudSBzaG91bGQgdGhlbiBiZSBzaG93biB3aXRoIHRoZSB7JHBhZ2VtZW51fSB0YWcuPC9wPg0KCQkJCTxwPlRoZSBlbGVtZW50cyBvZiB0aGUgcGFnZSBtZW51IGhhdmUgc29tZSBjbGFzc2VzIGFzc2lnbmVkIHNvIHRoYXQgeW91IG1heSBjdXN0b21pemUgaXQuPC9wPg0KCQkJCTxici8+PGgyPlRoZSBsaW5rIGFjdGlvbjwvaDI+DQoJCQkJPHA+WW91IG1heSB1c2UgdGhlIGFjdGlvbiA8Yj4ibGluayI8L2I+IHRvIGNyZWF0ZSBhIGxpbmsgdG8gdGhlIGRlZmF1bHQgYWN0aW9uLCB1c2luZyB0aGUgc2FtZSBwYXJhbWV0ZXJzOjxici8+DQoJCQkJe2Ntc19tb2R1bGUgbW9kdWxlPSJ5b3V0dWJlcGxheWVyIiBhY3Rpb249ImxpbmsiIHdoYXQ9InZpZGVvcyIgcmFuZG9tPSIxIn08YnIvPg0KCQkJCXdvdWxkIGNyZWF0ZSBhIGxpbmsgdG8gYSByYW5kb20gZWxlbWVudCBvZiB0aGlzIGxldmVsLjwvcD4NCgkJCQk8YnIvPjxoMj5UaGUgc2VhcmNoIGFjdGlvbjwvaDI+DQoJCQkJPHA+WW91IG1heSB1c2UgdGhlIGFjdGlvbiA8Yj4ic2VhcmNoIjwvYj4gdG8gZGlzcGxheSBhIHNlYXJjaCBmb3JtOjxici8+DQoJCQkJe2Ntc19tb2R1bGUgbW9kdWxlPSJ5b3V0dWJlcGxheWVyIiBhY3Rpb249InNlYXJjaCJ9PGJyLz4NCgkJCQlVc2UgdGhlICJzZWFyY2htb2RlIiBwYXJhbWV0ZXIgdG8gc3dpdGNoIGJldHdlZW4gYWR2YW5jZWQgKGRlZmF1bHQpIGFuZCBzaW1wbGUgbW9kZS4gWW91IG1heSBzcGVjaWZ5IHRoZSBsZXZlbCBpbiB3aGljaCB0byBzZWFyY2ggdXNpbmcgdGhlICJ3aGF0IiBwYXJhbWV0ZXIuIFlvdSBjYW5ub3QgdXNlIHRoZSBhZHZhbmNlZCBzZWFyY2ggbW9kZSBpbiBhbGwgbGV2ZWxzIGF0IHRoZSBzYW1lIHRpbWUuPGJyLz4NCgkJCQlUaGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgY2FuIGJlIHVzZWQgd2l0aCB0aGUgc2VhcmNoIGFjdGlvbjogd2hhdCwgbGltaXQsIG9yZGVyYnksIGRldGFpbHBhZ2UsIGxpc3R0ZW1wbGF0ZSwgaW5saW5lLCBzZWFyY2htb2RlLjxici8+DQoJCQkJU2VlIHlvdXR1YmVwbGF5ZXIvdGVtcGxhdGVzL3NlYXJjaC50cGwgdG8gbW9kaWZ5IHRoZSBzZWFyY2ggZm9ybS48L3A+PGJyLz48YnIvPg0KCQkJCTxwPkZvciBtb3JlIGhlbHAsIHlvdSBtYXkgdGFrZSBhIGxvb2sgYXQgdGhlIDxhIGhyZWY9Ii4uL21vZHVsZXMveW91dHViZXBsYXllci9kb2MvZmFxLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5GQVE8L2E+LjwvcD48YnIvPjxici8+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPSJkZWZhdWx0IiAtIEVpdGhlciAibGluayIsICJzZWFyY2giLCAiYnJlYWRjcnVtYnMiIG9yICJkZWZhdWx0Ii48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHdoYXQ9IiIgLSBBbGxvd3MgeW91IHRvIHNwZWNpZnkgdGhlIGxldmVsIHlvdSB3aXNoIHRvIGRpc3BsYXkuIFBvc3NpYmxlIHZhbHVlcyBhcmUgOiA8aT5jYXRlZ29yeSwgdmlkZW9zPC9pPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWxpYXM9IiIgLSBBbGlhcyBvZiB0aGUgaXRlbSB5b3Ugd2lzaCB0byBkaXNwbGF5LjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2hvd2RlZmF1bHQ9IiIgLSBTZXQgdG8gInRydWUiIGlmIHlvdSB3aXNoIHRvIGRpc3BsYXkgdGhlIGRlZmF1bHQgZWxlbWVudC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHBhcmVudD0iIiAtIElmIHlvdSB3aXNoIHRvIGxpbWl0IHRoZSBkaXNwbGF5ZWQgZWxlbWVudHMgdG8gdGhvc2Ugd2hvIGJlbG9uZyB0byBhIHNwZWNpZmljIHBhcmVudCwgZW50ZXIgdGhlIHBhcmVudCBhbGlhcyBoZXJlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGltaXQ9IjAiIC0gTGltaXQgdGhlIG51bWJlciBvZiBpdGVtIHJldHVybmVkIGJ5IHRoZSBxdWVyeSAoMCA9IG5vIGxpbWl0KTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbmJwZXJwYWdlPSIwIiAtIFNldCB0aGUgbnVtYmVyIG9mIGl0ZW1zIGRpc3BsYXllZCBvbiBlYWNoIHBhZ2UuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBvcmRlcmJ5PSIwIiAtIFlvdSBjYW4gc2V0IHRvICJtb2RpZmllZCIsICJjcmVhdGVkIiBvciAibmFtZSIgdG8gb3JkZXIgaXRlbXMgaW4gdGhpcyB3YXkuIEFueSBvdGhlciB2YWx1ZSB3aWxsIG9yZGVyIHdpdGggdGhlIGl0ZW0gb3JkZXIuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkZXRhaWxwYWdlPSIiIC0gU3BlY2lmeSB0aGUgYWxpYXMgb2YgdGhlIHBhZ2UgaW4gd2hpY2ggbGlua3MgdG8gY2hpbGQgZWxlbWVudHMgc2hvdWxkIGJlIHNlbnQgKGlmIG5vbmUgaXMgc3BlY2lmaWVkLCBjdXJyZW50IHBhZ2UgaXMgdXNlZCk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJhbmRvbT0iMCIgLSBTZXQgdG8gYSBudW1iZXIgdG8gc2hvdyBhIG51bWJlciBvZiByYW5kb20gZWxlbWVudHMgZnJvbSB5b3VyIHF1ZXJ5LjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGlzdHRlbXBsYXRlPSIiIC0gU3BlY2lmeSB0aGUgdGVtcGxhdGUgeW91IHdpc2ggdG8gdXNlIGZvciB0aGUgbGlzdCB2aWV3LjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmluYWx0ZW1wbGF0ZT0iIiAtIFNwZWNpZnkgdGhlIHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZSBmb3IgdGhlIGRldGFpbCB2aWV3IG9mIHRoZSBmaW5hbCBsZXZlbC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZvcmNlbGlzdD0iMCIgLSBTZXQgdG8gMSBpZiB5b3Ugd2lzaCB0byBkaXNwbGF5IGEgbGlzdCB2aWV3IGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSBlbGVtZW50LjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaW5saW5lPSIwIiAtIE1ha2VzIHRoZSBsaW5rcyBpbmxpbmUuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzZWFyY2htb2RlPSJhZHZhbmNlZCIgLSBGb3IgdXNlIHdpdGggdGhlICJzZWFyY2giIGFjdGlvbi4gU2V0IHRvICJzaW1wbGUiIHRvIHNlYXJjaCBpbiBhbGwgdGV4dCBmaWVsZHMsIGFuZCAiYWR2YW5jZWQiIHRvIHNlYXJjaCBpbiBzcGVjaWZpYyBmaWVsZHMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwYWdlaW5kZXg9IjAiIC0gRm9yIGludGVybmFsIHVzZTsgc3BlY2lmeSB0aGUgcGFnZSAod2hlbiB1c2luZyBuYnBlcnBhZ2UpLjwvbGk+PC91bD4=</help>
	<about>PGJyIC8+QXV0aG9yOiBDVExNb2R1bGVNYWtlciAxLjguMi4yPGJyIC8+PGJyIC8+VmVyc2lvbjogMS4xPGJyIC8+</about>
	<description>Embed YouTube Player</description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.assignfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCmlmKCFpc3NldCgkcGFyYW1zWydmaWVsZCddKSB8fCAhaXNzZXQoJHBhcmFtc1sncHJlZml4J10pIHx8ICFpc3NldCgkcGFyYW1zWyRwYXJhbXNbJ3ByZWZpeCddLidpZCddKSB8fCAhaXNzZXQoJHBhcmFtc1sndGFibGVuYW1lJ10pKQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgpKTsNCg0KJGZpbGVwYXRoID0gaXNzZXQoJHBhcmFtc1snZmlsZXBhdGgnXSk/c3RyX3JlcGxhY2UoJy8vJywnLycsJHBhcmFtc1snZmlsZXBhdGgnXSk6Jyc7DQokdGFibGVuYW1lID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfJy4kcGFyYW1zWyd0YWJsZW5hbWUnXTsNCiRmaWVsZCA9ICRwYXJhbXNbJ2ZpZWxkJ107DQokaXRlbWlkID0gJHBhcmFtc1skcGFyYW1zWydwcmVmaXgnXS4naWQnXTsNCg0KaWYoJGZpbGVwYXRoICE9ICcnICYmIGlzc2V0KCRwYXJhbXNbJ3RodW1iJ10pKSB7DQoJJHRodW1ic2l6ZSA9IGV4cGxvZGUoJ3gnLCRwYXJhbXNbJ3RodW1iJ10pOw0KCSR0aHVtYnBhdGggPSAnJzsNCglpZihjb3VudCgkdGh1bWJzaXplKSA9PSAyKXsNCgkJJGZ1bGxwYXRoID0gJGdDbXMtPmNvbmZpZ1sidXBsb2Fkc19wYXRoIl07DQoJCWlmKGlzc2V0KCRwYXJhbXNbJ3N0YXJ0ZGlyJ10pICAmJiAkcGFyYW1zWydzdGFydGRpciddICE9ICcvJyl7DQoJCQkkZnVsbHBhdGggLj0gKHN1YnN0cigkcGFyYW1zWydzdGFydGRpciddLDAsMSkgPT0gJy8nPycnOicvJykuJHBhcmFtc1snc3RhcnRkaXInXTsNCgkJfQ0KCQkkdGhpcy0+cGxSZXNpemUoJGZ1bGxwYXRoLiRmaWxlcGF0aCwgJ3BsdGh1bWJfJywgJHRodW1ic2l6ZVswXSwgJHRodW1ic2l6ZVsxXSk7DQoJfQ0KfQ0KJGZpbGVwYXRoID0gc3RyX3JlcGxhY2UoJy8vJywnLycsJHBhcmFtc1snZmlsZXBhdGgnXSk7DQoNCiRkYiA9ICR0aGlzLT5HZXREYigpOw0KDQppZiggaXNzZXQoJHBhcmFtc1snYWRkZmlsZXMnXSkgJiYgJHBhcmFtc1snYWRkZmlsZXMnXSApIHsNCgkkbmV3aWQgPSAkZGItPkdlbklEKCR0YWJsZW5hbWUuJ19zZXEnKTsNCgkkcXVlcnkgPSAiSU5TRVJUIElOVE8gJHRhYmxlbmFtZSBTRVQgZmlsZWlkPT8sIGl0ZW1pZD0/LCBmaWVsZG5hbWU9PywgZmlsZXBhdGg9PyI7DQoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCRuZXdpZCwgJGl0ZW1pZCwgJGZpZWxkLCAkZmlsZXBhdGgpICk7DQp9ZWxzZXsNCgkkcXVlcnkgPSAiVVBEQVRFICR0YWJsZW5hbWUgU0VUICRmaWVsZD0/IFdIRVJFIGlkPT8gTElNSVQgMSI7DQoJJGRiID0gJHRoaXMtPkdldERiKCk7DQoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZmlsZXBhdGgsJGl0ZW1pZCkpOw0KfQ0KaWYobXlzcWxfZXJyb3IoKSl7DQoJZWNobyAnPGRpdiBjbGFzcz0icGFnZWVycm9yY29udGFpbmVyIj4nLm15c3FsX2Vycm9yKCkuJzwvZGl2Pic7DQp9ZWxzZXsNCgkkbmV3cGFyYW1zID0gYXJyYXkoICRwYXJhbXNbJ3ByZWZpeCddLidpZCcgPT4gJGl0ZW1pZCApOw0KCWlmKGlzc2V0KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkpICRuZXdwYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICRwYXJhbXNbJ2FjdGl2ZV90YWInXTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZWRpdCcuJHBhcmFtc1sncHJlZml4J10sICRyZXR1cm5pZCwgJG5ld3BhcmFtcyApOwkJDQp9DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.browsefiles.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMjIGFjdGlvbi5Ccm93c2VmaWxlcy5waHANCiMjIEJ5OiBQaWVycmUtTHVjIEdlcm1haW4NCiMjIFBBUkFNUzoNCiMjICRwYXJhbXNbJ21vZGUnXSA6IGltYWdlcyB8fCBmaWxlcw0KIyMgJHBhcmFtc1snZXh0ZW5zaW9ucyddIDogYXJyYXkgb2Ygc2hvd24gZmlsZSBleHRlbnNpb25zDQojIyAkcGFyYW1zWydzdGFydGRpciddIDogdGhlIGZvbGRlciB0byBzdGFydCBhdCAoIHVwbG9hZHMvIFtzdGFydGRpcl0gLyApDQojIyAkcGFyYW1zWyd0YWJsZW5hbWUnXSA6IHRoZSBuYW1lIG9mIHRoZSBkYiB0YWJsZQ0KIyMgJHBhcmFtc1sncHJlZml4J10gOiB0aGUgdmFyaWFibGUgcHJlZml4DQojIyAkcGFyYW1zW3ByZWZpeC4naWQnXSA6IHRoZSBpZCBvZiB0aGUgaXRlbSB0byB3aGljaCB0aGUgaW1hZ2Ugd2lsbCBiZSBhc3NpZ25lZCAodmFsdWUgaXMgbm90IHVzZWQsIGJ1dCByZXR1cm5lZCBhdCB0aGUgZW5kKQ0KIyMgJHBhcmFtc1snZmllbGQnXSA6IG9ubHkgYSBwYXNzLXRocm91Z2ggdG8gdGhlIGFzc2lnbiBhY3Rpb24NCg0KaWYgKCFpc3NldCgkcGFyYW1zWydtb2RlJ10pIHx8ICFpc3NldCgkcGFyYW1zWydmaWVsZCddKSB8fCAhaXNzZXQoJHBhcmFtc1sncHJlZml4J10pIHx8ICFpc3NldCgkcGFyYW1zWydmaWVsZCddKSB8fCAhaXNzZXQoJHBhcmFtc1sndGFibGVuYW1lJ10pICkgZXhpdDsNCg0KIyMgZGVmaW5pbmcgdGhlIGFsbG93ZWQgZXh0ZW5zaW9uczoNCiRtZWRpYWV4dCA9IGFycmF5KCdzd2YnLCdmbHYnLCdqcGVnJywnanBnJywncG5nJywnZ2lmJyk7DQokZG9jZXh0ID0gYXJyYXkoJ2RvYycsJ2RvY3gnLCd4bHMnLCd4bHN4JywncnRmJywndHh0JywncGRmJyk7DQoNCmlmKCRwYXJhbXNbJ21vZGUnXSA9PSAnaW1hZ2VzJyB8fCAkcGFyYW1zWydtb2RlJ10gPT0gJ2ltYWdlJykgew0KCSRtb2RlID0gJ2ltYWdlJzsNCgkkYWxsb3dlZGV4dCA9ICRtZWRpYWV4dDsNCn1lbHNlew0KCSRtb2RlID0gJ290aGVyJzsNCgkkYWxsb3dlZGV4dCA9IGFycmF5X21lcmdlKCRtZWRpYWV4dCwkZG9jZXh0KTsNCn0NCmlmKGlzc2V0KCRwYXJhbXNbJ2V4dGVuc2lvbnMnXSkpCSRhbGxvd2VkZXh0ID0gJHBhcmFtc1snZXh0ZW5zaW9ucyddOw0KDQokb3V0cHV0c3R1ZmYgPSAnJzsNCg0KZnVuY3Rpb24gc3RybGltaXQoJHN0cmluZyl7DQoJaWYgKHN1YnN0cigkc3RyaW5nLDAsMjEpID09ICRzdHJpbmcpew0KCQlyZXR1cm4gJHN0cmluZzsNCgl9ZWxzZXsNCgkJcmV0dXJuIHN1YnN0cigkc3RyaW5nLDAsMTkpLicuLi4nOw0KCX0NCn0NCg0KZnVuY3Rpb24gYnVpbGRsaW5rY29udGVudCgkYmFzZXVybCwgJGZpbGVuYW1lLCAkbW9kZSwgJGRpcj0nJyl7DQoJJGV4dGVuc2lvbiA9IHN0cnRvbG93ZXIoc3Vic3RyKHN0cnJjaHIoJGZpbGVuYW1lLCAiLiIpLCAxKSk7DQoJaWYoJGV4dGVuc2lvbiA9PSAnZmx2JyB8fCAkZXh0ZW5zaW9uID09ICdzd2YnKXsNCgkJcmV0dXJuICgkbW9kZSA9PSAnaW1hZ2UnPyc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij4nOicnKS4nPGltZyBib3JkZXI9MCBzcmM9InRoZW1lcy9kZWZhdWx0L2ltYWdlcy9pY29ucy9maWxldHlwZXMvZm1lZGlhLmdpZiIgc3R5bGU9InBhZGRpbmctcmlnaHQ6IDVweDsiLz4gJy4oJG1vZGUgPT0gJ2ltYWdlJz8nPC9kaXY+Jy5zdHJsaW1pdCgkZmlsZW5hbWUpOiRmaWxlbmFtZSk7DQoJfWVsc2VpZihpbl9hcnJheSgkZXh0ZW5zaW9uLCBhcnJheSgnanBlZycsJ2pwZycsJ3BuZycsJ2dpZicpKSAmJiAkbW9kZSA9PSAnaW1hZ2UnKXsNCgkJJHRodW1ibmFtZSA9ICd0aHVtYl8nLiRmaWxlbmFtZTsNCgkJbGlzdCgkd2lkdGgsICRoZWlnaHQsICR0eXBlLCAkYXR0cikgPSBnZXRpbWFnZXNpemUoJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmaWxlbmFtZSk7DQoJCWlmIChmaWxlX2V4aXN0cygkZGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRodW1ibmFtZSkpIHsNCgkJCXJldHVybiAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGltZyBib3JkZXI9MCBzcmM9IicuJGJhc2V1cmwuJy8nLiR0aHVtYm5hbWUuJyIgLz48L2Rpdj4nLnN0cmxpbWl0KCRmaWxlbmFtZSkuJzxicj4nLiR3aWR0aC4neCcuJGhlaWdodDsNCgkJfWVsc2V7DQoJCQkkdGh1bWJuYWlscmF0aW8gPSBtYXgoJHdpZHRoIC8gMTA2LCRoZWlnaHQgLyAxMDYpOw0KCQkJaWYgKCR0aHVtYm5haWxyYXRpbyA8IDEpICR0aHVtYm5haWxyYXRpbyA9IDE7DQoJCQkkdGhlaWdodCA9IGZsb29yKCRoZWlnaHQgLyAkdGh1bWJuYWlscmF0aW8pOw0KCQkJJHR3aWR0aCA9IGZsb29yKCR3aWR0aCAvICR0aHVtYm5haWxyYXRpbyk7DQoJCQlyZXR1cm4gJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxpbWcgYm9yZGVyPTAgc3JjPSInLiRiYXNldXJsLicvJy4kZmlsZW5hbWUuJyIgd2lkdGg9IicuJHR3aWR0aC4nIiBoZWlnaHQ9IicuJHRoZWlnaHQuJyIgLz48L2Rpdj4nLnN0cmxpbWl0KCRmaWxlbmFtZSkuJzxicj4nLiR3aWR0aC4neCcuJGhlaWdodDsNCgkJfQ0KCX1lbHNlew0KCQlyZXR1cm4gKCRtb2RlID09ICdpbWFnZSc/JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPic6JycpLic8aW1nIGJvcmRlcj0wIHNyYz0idGhlbWVzL2RlZmF1bHQvaW1hZ2VzL2ljb25zL2ZpbGV0eXBlcy9mZG9jLmdpZiIgc3R5bGU9InBhZGRpbmctcmlnaHQ6IDVweDsiLz4gJy4oJG1vZGUgPT0gJ2ltYWdlJz8nPC9kaXY+Jy5zdHJsaW1pdCgkZmlsZW5hbWUpOiRmaWxlbmFtZSk7DQoJfQ0KfQ0KJGRpdm9wdGlvbiA9ICgkbW9kZSA9PSAnaW1hZ2UnKT8nPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBmbG9hdDogbGVmdDsgd2lkdGg6IDE2NXB4OyBoZWlnaHQ6IDE4MHB4OyI+PGJyLz4nOic8bGkgc3R5bGU9Im1hcmdpbjogNXB4OyI+JzsNCiRjbG9zZWRpdiA9ICgkbW9kZSA9PSAnaW1hZ2UnKT8nPC9kaXY+JzonPC9saT4NCic7DQoNCiRzdGFydGRpciA9IGlzc2V0KCRwYXJhbXNbJ3N0YXJ0ZGlyJ10pPyRwYXJhbXNbJ3N0YXJ0ZGlyJ106Jyc7DQppZigkc3RhcnRkaXIgIT0gJycgJiYgc3Vic3RyKCRzdGFydGRpciwwLDEpICE9ICcvJyAmJiBzdWJzdHIoJHN0YXJ0ZGlyLDAsMSkgIT0gJ1xcJykgJHN0YXJ0ZGlyID0gJy8nLiRzdGFydGRpcjsNCmlmKCFmaWxlX2V4aXN0cygkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXS4kc3RhcnRkaXIpKSBta2RpcigkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXS4nLycuJHN0YXJ0ZGlyKTsNCg0KDQokcGFyZW50ZGlyID0gKGlzc2V0KCRwYXJhbXNbJ3BhcmVudGRpciddKSA/ICRwYXJhbXNbJ3BhcmVudGRpciddIDogJycpOw0KJGN1cmRpciA9IChpc3NldCgkcGFyYW1zWydjdXJkaXInXSkgPyAkcGFyYW1zWydjdXJkaXInXSA6ICcnKTsNCiRkaXIgPSAkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXS4kc3RhcnRkaXIuJGN1cmRpcjsNCmlmIChGQUxTRSA9PSBpc19kaXIoJGRpcikpew0KCSRkaXIgPSAkZ0Ntcy0+Y29uZmlnWyJ1cGxvYWRzX3BhdGgiXTsNCgkkY3VyZGlyID0gJyc7DQoJJHBhcmVudGRpciA9ICcnOw0KfQ0KJGJhc2V1cmwgPSAkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3VybCddLiRzdGFydGRpci4kY3VyZGlyOw0KDQppZiAoaXNzZXQoJHBhcmFtc1snZGVsZXRlZmlsZSddKSl7DQoJaWYoZmlsZV9leGlzdHMoJGRpci4nLycuJHBhcmFtc1snZGVsZXRlZmlsZSddKSkgdW5saW5rKCRkaXIuJy8nLiRwYXJhbXNbJ2RlbGV0ZWZpbGUnXSk7DQp9DQoNCmVjaG8gJzxoMj4nLiR0aGlzLT5MYW5nKCdicm93c2VmaWxlc3RpdGxlJykuJzwvaDI+JzsNCg0KJGRoICA9IG9wZW5kaXIoJGRpcik7DQoNCmVjaG8gJzxwPicuJHRoaXMtPkxhbmcoJ3Nob3dpbmdkaXInKS4nIDogJy4kZGlyLic8L3A+JzsNCg0KZWNobyAnPGRpdiBpZD0iZmlsZXNlbGVjdCIgY2xhc3M9InBhZ2VvdmVyZmxvdyIgc3R5bGU9InBhZGRpbmc6IDRweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgYm9yZGVyOiAxcHggc29saWQgIzY2NjY2NjsgYmFja2dyb3VuZDogI0ZGRkZGRjsgb3ZlcmZsb3c6IGF1dG87Ij4nOw0KZWNobyAoJG1vZGUgPT0gJ2ltYWdlJz8nPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGg7Ij4nOic8dWw+Jyk7DQoNCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMgUE9QVUxBVElORyBGT0xERVJTICMjIyMjIyMjIyMjIyMjIyMjIyMjDQoNCndoaWxlIChmYWxzZSAhPT0gKCRmaWxlbmFtZSA9IHJlYWRkaXIoJGRoKSkpDQp7DQoJaWYgKGlzX2RpcigkZGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGZpbGVuYW1lKSAmJiAkZmlsZW5hbWUhPScuJyl7DQoJCQlpZiAoJGZpbGVuYW1lPT0nLi4nKQ0KCQkJew0KCQkJCWlmICgkY3VyZGlyICE9ICcnKXsNCgkJCQkJZWNobyAkZGl2b3B0aW9uOw0KCQkJCQkkbmV3cGFyYW1zID0gYXJyYXlfbWVyZ2UoJHBhcmFtcywgYXJyYXkoJ2N1cmRpcicgPT4gJHBhcmVudGRpcikpOw0KCQkJCQllY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJGFjdGlvbiwgJHJldHVybmlkLCAnPGltZyBib3JkZXI9MCBzcmM9InRoZW1lcy9kZWZhdWx0L2ltYWdlcy9pY29ucy9maWxldHlwZXMvdXBmb2xkZXIuZ2lmIiAvPiAnLigkbW9kZT09J2ltYWdlJz8nPGJyLz4nOicnKS4kdGhpcy0+TGFuZygncGFyZW50ZGlyJyksICRuZXdwYXJhbXMpOw0KCQkJCQllY2hvICRjbG9zZWRpdjsNCgkJCQl9DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJZWNobyAkZGl2b3B0aW9uOw0KCQkJCSRuZXdwYXJhbXMgPSBhcnJheV9tZXJnZSgkcGFyYW1zLCBhcnJheSgnY3VyZGlyJyA9PiAkY3VyZGlyLicvJy4kZmlsZW5hbWUsICdwYXJlbnRkaXInID0+ICRjdXJkaXIpKTsNCgkJCQllY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJGFjdGlvbiwgJHJldHVybmlkLCAoJG1vZGU9PSdpbWFnZSc/JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxpbWcgYm9yZGVyPTAgc3JjPSIuLi9saWIvZmlsZW1hbmFnZXIvSW1hZ2VNYW5hZ2VyL2ltZy9mb2xkZXIuZ2lmIiAvPjwvZGl2PicuJGZpbGVuYW1lOic8aW1nIGJvcmRlcj0wIHNyYz0idGhlbWVzL2RlZmF1bHQvaW1hZ2VzL2ljb25zL2ZpbGV0eXBlcy9mb2xkZXIuZ2lmIiAvPiAnLiRmaWxlbmFtZSksICRuZXdwYXJhbXMpOw0KCQkJCWVjaG8gJGNsb3NlZGl2Ow0KCQkJfQ0KCX0NCn0NCg0KaWYgKGlzc2V0KCRkaCkpCWNsb3NlZGlyKCRkaCk7DQokZGggID0gb3BlbmRpcigkZGlyKTsNCg0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIFBPUFVMQVRJTkcgRklMRVMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KDQp3aGlsZSAoZmFsc2UgIT09ICgkZmlsZW5hbWUgPSByZWFkZGlyKCRkaCkpKQ0Kew0KCSRleHRlbnNpb24gPSBzdHJ0b2xvd2VyKHN1YnN0cihzdHJyY2hyKCRmaWxlbmFtZSwgIi4iKSwgMSkpOw0KCWlmIChpbl9hcnJheSgkZXh0ZW5zaW9uLCAkYWxsb3dlZGV4dCkpIHsNCgkJaWYgKHN1YnN0cigkZmlsZW5hbWUsMCw2KSAhPSAndGh1bWJfJyAmJiBzdWJzdHIoJGZpbGVuYW1lLDAsOCkgIT0gJ3BsdGh1bWJfJykgew0KCQkJZWNobyAkZGl2b3B0aW9uOw0KCQkJJG5ld3BhcmFtcyA9IGFycmF5X21lcmdlKCRwYXJhbXMsIGFycmF5KCdmaWxlbmFtZSc9PiRmaWxlbmFtZSwgJ2ZpbGVwYXRoJyA9PiAkY3VyZGlyLicvJy4kZmlsZW5hbWUpKTsNCgkJCWVjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYXNzaWduZmlsZScsICRyZXR1cm5pZCwgYnVpbGRsaW5rY29udGVudCgkYmFzZXVybCwgJGZpbGVuYW1lLCAkbW9kZSwgJGRpciksICRuZXdwYXJhbXMpOw0KCQkJJG5ld3BhcmFtcyA9IGFycmF5X21lcmdlKCRwYXJhbXMsIGFycmF5KCdkZWxldGVmaWxlJz0+JGZpbGVuYW1lKSk7DQoJCQllY2hvICcgJy4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICRhY3Rpb24sICRyZXR1cm5pZCwgJzxpbWcgYm9yZGVyPTAgc3JjPSJ0aGVtZXMvZGVmYXVsdC9pbWFnZXMvaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYiLz4nLCRuZXdwYXJhbXMpOw0KCQkJZWNobyAkY2xvc2VkaXY7DQoJCX0NCgl9DQp9DQoNCmVjaG8gKCRtb2RlID09ICdpbWFnZSc/JzwvZGl2Pic6JzwvdWw+Jyk7DQplY2hvICc8L2Rpdj4nOw0KDQppZiAoaXNzZXQoJGRoKSkJY2xvc2VkaXIoJGRoKTsNCg0KLy8gVVBMT0FEIEZPUk0NCmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICd1cGxvYWRGaWxlJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJyk7DQoJZWNobyAnPGRpdj48aDM+Jy5sYW5nKCd1cGxvYWRmaWxlJykuJzo8L2gzPic7DQoJaWYoJHBhcmFtc1snbW9kZSddID09ICdpbWFnZXMnKSBlY2hvICc8cD4oJy4kdGhpcy0+TGFuZygnYnJvd3NlZmlsZXNyZXNpemUnKS4nKTwvcD4nOw0KCWVjaG8gJzxwPic7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ3VwbG9hZGZpbGUnKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLGxhbmcoJ3NlbmQnKSk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnY3VyZGlyJywkY3VyZGlyKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdmaWVsZCcsJHBhcmFtc1snZmllbGQnXSk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFibGVuYW1lJywkcGFyYW1zWyd0YWJsZW5hbWUnXSk7DQoJCWlmKGlzc2V0KCRwYXJhbXNbJ2V4dGVuc2lvbnMnXSkpIGVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnZXh0ZW5zaW9ucycsJHBhcmFtc1snZXh0ZW5zaW9ucyddKTsNCgkJaWYoaXNzZXQoJHBhcmFtc1snc3RhcnRkaXInXSkpIGVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnc3RhcnRkaXInLCRwYXJhbXNbJ3N0YXJ0ZGlyJ10pOw0KCQlpZihpc3NldCgkcGFyYW1zWydzaXplJ10pKSBlY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3NpemUnLCRwYXJhbXNbJ3NpemUnXSk7DQoJCWlmKGlzc2V0KCRwYXJhbXNbJ3RodW1iJ10pKSBlY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RodW1iJywkcGFyYW1zWyd0aHVtYiddKTsNCgkJaWYoaXNzZXQoJHBhcmFtc1snYWRkZmlsZXMnXSkpIGVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnYWRkZmlsZXMnLCRwYXJhbXNbJ2FkZGZpbGVzJ10pOw0KCQlpZihpc3NldCgkcGFyYW1zWydhY3RpdmVfdGFiJ10pKSBlY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2FjdGl2ZV90YWInLCRwYXJhbXNbJ2FjdGl2ZV90YWInXSk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnbW9kZScsJHBhcmFtc1snbW9kZSddKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdwcmVmaXgnLCRwYXJhbXNbJ3ByZWZpeCddKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCRwYXJhbXNbJ3ByZWZpeCddLidpZCcsJHBhcmFtc1skcGFyYW1zWydwcmVmaXgnXS4naWQnXSk7DQoJZWNobyAnPC9wPjwvZGl2Pic7CQkNCmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIHdlIG5lZWQgdG8ga25vdyB3aGljaCBsZXZlbCBpcyB0aGUgZmluYWwgbGV2ZWwNCiRsZXZlbGFycmF5ID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQokZmluYWxsZXZlbCA9ICJ2aWRlb3MiOw0KDQovLyB3ZSBjaGVjayB3aGF0IGxldmVsIHdlJ3JlIHdhdGNoaW5nLi4uIGlmIG5vbmUgaXMgc3BlY2lmaWVkLCB3ZSB1c2UgdGhlIGZpbmFsIGxldmVsDQokd2hhdCA9IChpc3NldCgkcGFyYW1zWyJ3aGF0Il0pICYmIGluX2FycmF5KCRwYXJhbXNbIndoYXQiXSwkbGV2ZWxhcnJheSkpPyRwYXJhbXNbIndoYXQiXTokZmluYWxsZXZlbDsNCi8vIHdlIGdpdmUgaXQgYmFjayB0byB0aGUgcGFyYW1zIGZvciBwcmV0dHkgdXJscyBhbmQgcGFnZSB2aWV3DQppZighaXNzZXQoJHBhcmFtc1sid2hhdCJdKSB8fCAkcGFyYW1zWyJ3aGF0Il0gPT0gIiIpCSRwYXJhbXNbIndoYXQiXSA9ICR3aGF0Ow0KJHBhcmVudGxldmVsID0gJHRoaXMtPmdldF9uZXh0bGV2ZWwoJHdoYXQsIGZhbHNlKTsNCg0KLy8gd2UgcmV0cmlldmUgc29tZSBvdGhlciBwYXJhbWV0ZXJzDQokZm9yY2VsaXN0ID0gaXNzZXQoJHBhcmFtc1siZm9yY2VsaXN0Il0pPyRwYXJhbXNbImZvcmNlbGlzdCJdOmZhbHNlOw0KaWYoJHdoYXQgIT0gJGZpbmFsbGV2ZWwpCSRmb3JjZWxpc3QgPSB0cnVlOwkJLy8gQWx3YXlzIGRpc3BsYXkgYXMgbGlzdCB3aGVuIHdlJ3JlIG5vdCBvbiB0aGUgZmluYWwgbGV2ZWwNCiRpbmxpbmUgPSAoaXNzZXQoJHBhcmFtc1siaW5saW5lIl0pICYmICRwYXJhbXNbImlubGluZSJdKT90cnVlOmZhbHNlOw0KDQovLyB3ZSBidWlsZCB0aGUgcXVlcnkuIFRoZSAkd2hlcmUgaG9sZHMgZWxlbWVudHMgb2YgdGhlIFdIRVJFIGNsYXVzZSBvZiB0aGUgcXVlcnksIGluIHRoZSBmb3JtIGZpZWxkX25hbWU9PmZpZWxkX3ZhbHVlDQppZihpc3NldCgkcGFyYW1zWyJhbGlhcyJdKSAmJiAkcGFyYW1zWyJhbGlhcyJdICE9ICIiKSB7DQoJJHdoZXJlID0gYXJyYXkoImFsaWFzIj0+JHBhcmFtc1siYWxpYXMiXSk7DQp9ZWxzZWlmKGlzc2V0KCRwYXJhbXNbInNob3dkZWZhdWx0Il0pICYmICRwYXJhbXNbInNob3dkZWZhdWx0Il0pIHsNCgkkd2hlcmUgPSBhcnJheSgiaXNkZWZhdWx0Ij0+MSk7DQp9ZWxzZXsNCgkkd2hlcmUgPSBhcnJheSgpOw0KfQ0KaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pICYmICRwYXJhbXNbInBhcmVudCJdICE9ICIiKSAkd2hlcmVbInBhcmVudCJdID0gJHBhcmFtc1sicGFyZW50Il07DQoNCiR3aGVyZVsiYWN0aXZlIl0gPSAxOw0KLy8gd2UgcmV0cmlldmUgdGhlIGZ1bmN0aW9uIHRoYXQgd2lsbCBkbyB0aGUgcXVlcnkNCiRnZXRmdW5jdGlvbiA9ICJnZXRfbGV2ZWxfIi4kd2hhdDsNCi8vIHdlIGRvIHRoZSBxdWVyeQ0KJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbigkd2hlcmUsIGZhbHNlLCAiIiwgIiIsIGlzc2V0KCRwYXJhbXNbIm9yZGVyYnkiXSk/JHBhcmFtc1sib3JkZXJieSJdOjAsIGlzc2V0KCRwYXJhbXNbImxpbWl0Il0pPyRwYXJhbXNbImxpbWl0Il06MCk7DQoNCi8vICBTVEFSVCBQUk9DRVNTSU5HDQoNCmlmKGNvdW50KCRpdGVtbGlzdCkgPT0gMSAmJiAhJGZvcmNlbGlzdCl7DQoJDQoJLy8gIyMjIyMjIyMjIyMjIyMjIyMgV0UgQVJFIERJU1BMQVlJTkcgQU4gSVRFTSBJTiBERVRBSUwgVklFVw0KCQ0KCSRpdGVtPSRpdGVtbGlzdFswXTsNCg0KCS8vIGlmIGEgdGVtcGxhdGUgaGFzIGJlZW4gc3BlY2lmaWVkLCB3ZSB0cnkgdG8gcmV0cmlldmUgaXQJDQoJJHRlbXBsYXRlID0gZmFsc2U7DQoJaWYoaXNzZXQoJHBhcmFtc1siZmluYWx0ZW1wbGF0ZSJdKSAmJiAkcGFyYW1zWyJmaW5hbHRlbXBsYXRlIl0gIT0gIiIpew0KCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHBhcmFtc1siZmluYWx0ZW1wbGF0ZSJdKTsNCgl9DQoNCgkvLyBpZiBubyB0ZW1wbGF0ZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHdlIHJldHJpZXZlIHRoZSBkZWZhdWx0IGZpbmFsIHRlbXBsYXRlDQoJaWYoISR0ZW1wbGF0ZSB8fCAkdGVtcGxhdGUgPT0gIiIpew0KCQkkdGVtcGxhdGVuYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImZpbmFsdGVtcGxhdGUiKTsNCgkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUsICR0aGlzLT5HZXROYW1lKCkpOw0KCX0NCgkvLyB3ZSByZXRyaWV2ZSB0aGUgcGFyZW50IHRyZWU6DQoJJHBhcmVudHRyZWUgPSAkdGhpcy0+Z2V0X29ianRyZWUoICRpdGVtLT5wYXJlbnRfaWQsICR0aGlzLT5nZXRfbmV4dGxldmVsKCR3aGF0LCBmYWxzZSkgKTsNCgkkaXRlbS0+cGFyZW50X29iamVjdCA9ICRwYXJlbnR0cmVlOw0KDQoJDQoJLy8gaWYgdGhlIGl0ZW0gaGFzIHBhcmVudHMsIHdlIGFzc2lnbiBsaW5rcyB0byB0aGF0IHBhcmVudA0KCWlmKGlzc2V0KCRpdGVtLT5wYXJlbnRfYWxpYXMpKXsNCgkJJHByZXR0eXVybCA9ICR0aGlzLT5CdWlsZFByZXR0eVVybHMoYXJyYXkoInBhcmVudCI9PiRpdGVtLT5wYXJlbnRfYWxpYXMsICJ3aGF0Ij0+JHdoYXQpLCAkcmV0dXJuaWQpOw0KCQkkaXRlbS0+cGFyZW50bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICRpdGVtLT5wYXJlbnRfbmFtZSwgYXJyYXkoInBhcmVudCI9PiRpdGVtLT5wYXJlbnRfYWxpYXMpLCAiIiwgZmFsc2UsICRpbmxpbmUsICIiLCBmYWxzZSwgJHByZXR0eXVybCk7DQoJCSRpdGVtLT5wYXJlbnR1cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0IiwgJHJldHVybmlkLCAiIiwgYXJyYXkoInBhcmVudCI9PiRpdGVtLT5wYXJlbnRfYWxpYXMpLCAiIiwgdHJ1ZSwgJGlubGluZSwgIiIsIGZhbHNlLCAkcHJldHR5dXJsKTsNCgl9DQoJDQoJLy8gd2UgcmV0cmlldmUgYSBsYWJlbCBmb3IgZWFjaCBvZiB0aGUgaXRlbSdzIGZpZWxkIGFuZCBhc3NpZ24gaXQgdG8gc21hcnR5DQoJJGxhYmVscyA9IG5ldyBTdGRDbGFzcygpOw0KCWZvcmVhY2goJGl0ZW0gYXMgJGtleT0+JHZhbHVlKXsNCgkJJGxhYmVscy0+JGtleSA9ICR0aGlzLT5MYW5nKCR3aGF0LiJfIi4ka2V5KTsJCQ0KCX0NCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhYmVscyIsICRsYWJlbHMpOw0KCQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbSIsJGl0ZW0pOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigibGV2ZWx0aXRsZSIsJHRoaXMtPkxhbmcoJHdoYXQuIl9wbHVyYWwiKSk7DQoJLy8gd2UgcHJvY2VzcyB0aGUgdGVtcGxhdGUNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOw0KCQ0KfWVsc2VpZihjb3VudCgkaXRlbWxpc3QpID4gMCl7DQoJDQoJLy8gIyMjIyMjIyMjIyMjIyMjIyMgV0UgQVJFIERJU1BMQVlJTkcgQSBMSVNUIFZJRVcNCgkkcGFyZW50b2JqID0gZmFsc2U7DQoJLy8gaWYgd2UgYXJlIHdhdGNoaW5nIGl0ZW1zIGZyb20gYSBzcGVjaWZpYyBwYXJlbnRzLCB3ZSB3YW50IHRvIGhhdmUgdGhlIGluZm9ybWF0aW9ucyBvZiB0aGlzIHBhcmVudCBhdmFpbGFibGUNCgkvLyBpbiB0aGUgdGVtcGxhdGUgKGZvciBleGFtcGxlLCBpZiB3ZSB3YW50IHRvIGRpc3BsYXkgYSBjYXRlZ29yeSBwYWdlLCB3ZSBtaWdodCB3YW50IHRvIHNob3cgdGhlIGNhdGVnb3J5IGRlc2NyaXB0aW9uKQ0KCS8vIGlmIGl0IGlzIHRoZSBjYXNlLCB3ZSByZXRyaWV2ZSB0aGUgcGFyZW50IGFuZCBnaXZlIGl0IHRvIHNtYXJ0eQ0KCWlmKGlzc2V0KCRwYXJhbXNbInBhcmVudCJdKSAmJiAkcGFyYW1zWyJwYXJlbnQiXSAhPSAiIil7DQoJCSRwYXJlbnRvYmogPSAkdGhpcy0+Z2V0X29ianRyZWUoJHBhcmFtc1sicGFyZW50Il0sICR0aGlzLT5nZXRfbmV4dGxldmVsKCR3aGF0LGZhbHNlKSwgImFsaWFzIik7DQoJfQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFyZW50b2JqIiwkcGFyZW50b2JqKTsNCgkNCgkkc2VsZWN0ZWRhbGlhcyA9IGZhbHNlOw0KCS8vIHdlIGNoZWNrIGlmIHRoZSBjdXJyZW50IHBhZ2UgaGFzIG90aGVyIGluc3RhbmNlcyBvZiB0aGUgbW9kdWxlIHdoaWNoIGFyZSBpbiBhY3Rpb24NCgkkZ2xvYiA9ICR0aGlzLT5nZXRfbW9kdWxlR2V0VmFycygpOw0KCWlmKCR3aGF0ID09ICRmaW5hbGxldmVsICYmIGlzc2V0KCRnbG9iWyJhbGlhcyJdKSl7DQoJCSRzZWxlY3RlZGFsaWFzID0gJGdsb2JbImFsaWFzIl07DQoJfWVsc2VpZihpc3NldCgkZ2xvYlsicGFyZW50Il0pICYmIGlzc2V0KCRnbG9iWyJ3aGF0Il0pICYmICRnbG9iWyJ3aGF0Il0gPT0gJHRoaXMtPmdldF9uZXh0bGV2ZWwoJHdoYXQpKXsNCgkJJHNlbGVjdGVkYWxpYXMgPSAkZ2xvYlsicGFyZW50Il07DQoJfQ0KCWlmKGlzc2V0KCRwYXJhbXNbIm5icGVycGFnZSJdKSAmJiBpc3NldCgkZ2xvYlsicGFnZWluZGV4Il0pICYmICFpc3NldCgkcGFyYW1zWyJwYWdlaW5kZXgiXSkpICRwYXJhbXNbInBhZ2VpbmRleCJdID0gJGdsb2JbInBhZ2VpbmRleCJdOw0KCWlmKCFpc3NldCgkdGhpcy0+cGxjdXJyZW50WyR3aGF0XSkpCSR0aGlzLT5idWlsZEdsb2JhbFRyZWUoKTsNCglpZihpc3NldCgkdGhpcy0+cGxjdXJyZW50WyR3aGF0XSkpCSRzZWxlY3RlZGFsaWFzID0gJHRoaXMtPnBsY3VycmVudFskd2hhdF07DQoJaWYoaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pICYmICFpc3NldCgkcGFyYW1zWyJwYWdlaW5kZXgiXSkpICRwYXJhbXNbInBhZ2VpbmRleCJdID0gJHRoaXMtPmN1cnJlbnRwYWdlaW5kZXg7DQoJJGxpbmtyZXR1cm5pZCA9IChpc3NldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pKT8kdGhpcy0+Z2V0X3BhZ2VpZCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pOiRyZXR1cm5pZDsNCg0KCS8vIHdlIHJldHJpZXZlIHRoZSB0ZW1wbGF0ZQ0KCWlmKGlzc2V0KCRwYXJhbXNbImxpc3R0ZW1wbGF0ZSJdKSAmJiAkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSAhPSAiIiAmJiAkY3VzdG9tdHBsID0gJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbImxpc3R0ZW1wbGF0ZSJdLCAkdGhpcy0+R2V0TmFtZSgpKSl7DQoJCSR0ZW1wbGF0ZSA9ICRjdXN0b210cGw7DQoJfWVsc2V7DQoJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlXyIuJHdoYXQpOw0KCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlbmFtZSwgJHRoaXMtPkdldE5hbWUoKSk7DQoJfQ0KDQoJLy8gaWYgUkFORE9NIG9wdGlvbiBpcyBzZXQsIHdlIHJhbmRvbWx5IHNlbGVjdGVkIG9ubHkgYSBudW1iZXIgb2YgdGhlIGl0ZW1zIHJldHJpZXZlZA0KCWlmKGlzc2V0KCRwYXJhbXNbInJhbmRvbSJdKSAmJiAkcGFyYW1zWyJyYW5kb20iXSA+IDApew0KCQkkbmV3bGlzdCA9IGFycmF5KCk7DQoJCSRpID0gMTsNCgkJJHNlbGVjdGVkID0gYXJyYXkoKTsNCgkJJGN1cnJhbmQgPSByYW5kKDAsKGNvdW50KCRpdGVtbGlzdCktMSkpOw0KCQl3aGlsZSgkaSA8PSAkcGFyYW1zWyJyYW5kb20iXSl7DQoJCQl3aGlsZShpbl9hcnJheSgkY3VycmFuZCwgJHNlbGVjdGVkKSkJJGN1cnJhbmQgPSByYW5kKDAsKGNvdW50KCRpdGVtbGlzdCktMSkpOw0KCQkJJG5ld2xpc3RbXSA9ICRpdGVtbGlzdFskY3VycmFuZF07DQoJCQkkc2VsZWN0ZWRbXSA9ICRjdXJyYW5kOw0KCQkJJGkrKzsNCgkJfQ0KCQkkaXRlbWxpc3QgPSAkbmV3bGlzdDsNCgl9DQoJDQoJLy8gY2hlY2sgaWYgd2UgbXVzdCBzZXBhcmF0ZSBpbnRvIHBhZ2VzDQoJaWYoaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pICYmICRwYXJhbXNbIm5icGVycGFnZSJdID4gMCAmJiAkcGFyYW1zWyJuYnBlcnBhZ2UiXSA8IGNvdW50KCRpdGVtbGlzdCkpew0KCQkvLyBTRVBBUkFUSU5HIEVMRU1FTlRTIElOVE8gUEFHRVMNCgkJJG5ld2xpc3QgPSBhcnJheSgpOw0KCQkkcGFnZWluZGV4ID0gKGlzc2V0KCRwYXJhbXNbInBhZ2VpbmRleCJdKSAmJiAkcGFyYW1zWyJwYWdlaW5kZXgiXSA+IDApPyRwYXJhbXNbInBhZ2VpbmRleCJdOjE7DQoJCSRiZWdpbiA9ICgkcGFnZWluZGV4IC0gMSkgKiAkcGFyYW1zWyJuYnBlcnBhZ2UiXTsNCgkJJGkgPSAkYmVnaW47DQoJCXdoaWxlKCRpIDwgKCRiZWdpbiArICRwYXJhbXNbIm5icGVycGFnZSJdKSl7DQoJCQlpZihpc3NldCgkaXRlbWxpc3RbJGldKSkgJG5ld2xpc3RbXSA9ICRpdGVtbGlzdFskaV07DQoJCQkkaSsrOw0KCQl9DQoJCSRuYnBhZ2VzID0gY2VpbChjb3VudCgkaXRlbWxpc3QpIC8gJHBhcmFtc1sibmJwZXJwYWdlIl0gKTsNCgkJJHBhZ2VtZW51ID0gIiI7DQoJCSRuZXdwYXJhbXMgPSAkcGFyYW1zOw0KCQkkbmV3cGFyYW1zWyJwYWdlaW5kZXgiXSA9ICRwYWdlaW5kZXggLSAxOw0KCQlpZigkbmJwYWdlcyA+IDEpICRwYWdlbWVudSAuPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0IiwgJHJldHVybmlkLCAiJmx0OyIsICRuZXdwYXJhbXMsICIiLCBmYWxzZSwgdHJ1ZSwgIiBjbGFzcz1cInByZXZpb3VzbGluayIuKCRwYWdlaW5kZXggPCAyPyIgZGlzYWJsZWQiOiIiKS4iXCIiLCBmYWxzZSwgJHRoaXMtPkJ1aWxkUHJldHR5VXJscygkbmV3cGFyYW1zLCAkcmV0dXJuaWQpKTsNCgkJJGkgPSAxOw0KCQkkbGlua3MgPSBhcnJheSgpOw0KCQl3aGlsZSgkaSA8PSAkbmJwYWdlcyAmJiAkbmJwYWdlcyA+IDEpew0KCQkJJG5ld3BhcmFtcyA9ICRwYXJhbXM7DQoJCQkkbmV3cGFyYW1zWyJwYWdlaW5kZXgiXSA9ICRpOw0KCQkJaWYoJGkgPT0gJHBhZ2VpbmRleCl7DQoJCQkJJGxpbmtzW10gPSAnPGEgY2xhc3M9InBhZ2VudW1iZXIgY3VycmVudCI+Jy4kaS4iPC9hPiI7DQoJCQl9ZWxzZXsNCgkJCQkkbGlua3NbXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICRpLCAkbmV3cGFyYW1zLCAiIiwgZmFsc2UsIHRydWUsICIgY2xhc3M9XCJwYWdlbnVtYmVyXCIiLCBmYWxzZSwgJHRoaXMtPkJ1aWxkUHJldHR5VXJscygkbmV3cGFyYW1zLCAkcmV0dXJuaWQpKTsNCgkJCX0NCgkJCSRpKys7DQoJCX0NCgkJJGkgPSAwOw0KCQkkdG1wZmxhZyA9IHRydWU7DQoJCXdoaWxlKCRpIDwgY291bnQoJGxpbmtzKSl7DQoJCQlpZigkaSA8IDYgfHwgJG5icGFnZXMgPCA4KXsNCgkJCQkkcGFnZW1lbnUgLj0gKCRwYWdlbWVudSA9PSAiIj8iIjokdGhpcy0+TGFuZygicGFnZW1lbnVkZWxpbWl0ZXIiKSkuJGxpbmtzWyRpXTsNCgkJCX1lbHNlaWYoJGkgPT0gY291bnQoJGxpbmtzKSl7DQoJCQkJJHBhZ2VtZW51IC49ICRsaW5rc1skaV07DQoJCQl9ZWxzZWlmKCR0bXBmbGFnKXsNCgkJCQkkdG1wZmxhZyA9IGZhbHNlOw0KCQkJCSRwYWdlbWVudSAuPSAiPHNwYW4gY2xhc3M9XCJwYWdlbWVudW92ZXJmbG93XCI+Ii4kdGhpcy0+TGFuZygicGFnZW1lbnVvdmVyZmxvdyIpLiI8L3NwYW4+IjsNCgkJCX0NCgkJCSRpKys7DQoJCX0NCgkJJG5ld3BhcmFtc1sicGFnZWluZGV4Il0gPSAkcGFnZWluZGV4ICsgMTsNCgkJaWYoJHBhZ2VtZW51ICE9ICIiKXsNCgkJCSRwYWdlbWVudSAuPSAiJm5ic3A7JiMxMjQ7Jm5ic3A7Ii4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0IiwgJHJldHVybmlkLCAiJmd0OyIsICRuZXdwYXJhbXMsICIiLCBmYWxzZSwgdHJ1ZSwgIiBjbGFzcz1cIm5leHRsaW5rIi4oJHBhZ2VpbmRleCA8ICRuYnBhZ2VzPyIiOiIgZGlzYWJsZWQiKS4iXCIiLCBmYWxzZSwgJHRoaXMtPkJ1aWxkUHJldHR5VXJscygkbmV3cGFyYW1zLCAkcmV0dXJuaWQpKTsNCgkJCSRwYWdlbWVudSA9ICI8ZGl2IGNsYXNzPVwicGFnaW5hdGlvblwiPiIuJHBhZ2VtZW51LiI8L2Rpdj4iOw0KCQl9DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFnZW1lbnUiLCRwYWdlbWVudSk7DQoJCSRpdGVtbGlzdCA9ICRuZXdsaXN0Ow0KCX0NCgkNCgkvLyBub3csICRpdGVtbGlzdCByZWFsbHkgY29udGFpbnMgdGhlIGl0ZW1zIHRoYXQgd2Ugd2lsbCBkaXNwbGF5DQoJDQoJLy8gZmluYWwgcHJvY2Vzc2luZyAtIHdlIGNyZWF0ZSB0aGUgZGV0YWlsbGlua3MgZm9yIGVhY2ggaXRlbQ0KCSR3YW50ZWRwYXJhbSA9ICgkd2hhdCA9PSAkZmluYWxsZXZlbD8iYWxpYXMiOiJwYXJlbnQiKTsNCgkkbmV4dGxldmVsID0gJHRoaXMtPmdldF9uZXh0bGV2ZWwoJHdoYXQpOw0KCWlmKCEkbmV4dGxldmVsKQkkbmV4dGxldmVsID0gJGZpbmFsbGV2ZWw7DQoJJG5ld3BhcmFtcyA9ICRwYXJhbXM7DQoJJG5ld3BhcmFtc1sid2hhdCJdID0gJG5leHRsZXZlbDsNCglpZigkbmV4dGxldmVsID09ICRmaW5hbGxldmVsICYmIGlzc2V0KCRuZXdwYXJhbXNbImZvcmNlbGlzdCJdKSkJJG5ld3BhcmFtc1siZm9yY2VsaXN0Il0gPSBmYWxzZTsNCgkkbmV3bGlzdCA9IGFycmF5KCk7DQoJZm9yZWFjaCgkaXRlbWxpc3QgYXMgJGl0ZW0pew0KCQkkdG1wcGFyYW1zID0gJG5ld3BhcmFtczsNCgkJJHRtcHBhcmFtc1skd2FudGVkcGFyYW1dID0gJGl0ZW0tPmFsaWFzOw0KCQkkaXRlbS0+ZGV0YWlsbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkbGlua3JldHVybmlkLCAkaXRlbS0+bmFtZSwgJHRtcHBhcmFtcywgIiIsIGZhbHNlLCAkaW5saW5lLCAiIiwgZmFsc2UsICR0aGlzLT5CdWlsZFByZXR0eVVybHMoJHRtcHBhcmFtcywgJGxpbmtyZXR1cm5pZCkpOw0KCQkkaXRlbS0+ZGV0YWlsdXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdCIsICRsaW5rcmV0dXJuaWQsICIiLCAkdG1wcGFyYW1zLCAiIiwgdHJ1ZSwgJGlubGluZSwgIiIsIGZhbHNlLCAkdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCR0bXBwYXJhbXMsICRsaW5rcmV0dXJuaWQpKTsNCgkJJGl0ZW0tPmlzX3NlbGVjdGVkID0gKCRpdGVtLT5hbGlhcyA9PSAkc2VsZWN0ZWRhbGlhcyk/dHJ1ZTpmYWxzZTsNCgkJYXJyYXlfcHVzaCgkbmV3bGlzdCwgJGl0ZW0pOw0KCX0NCgkkaXRlbWxpc3QgPSAkbmV3bGlzdDsNCgkNCgkvLyB3ZSBnaXZlIGV2ZXJ5dGhpbmcgdG8gc21hcnR5IGFuZCBwcm9jZXNzIHRoZSB0ZW1wbGF0ZQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCRpdGVtbGlzdCk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsZXZlbHRpdGxlIiwkdGhpcy0+TGFuZygkd2hhdC4iX3BsdXJhbCIpKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOw0KCQ0KfWVsc2V7DQoJDQoJLy8gIyMjIyMjIyMjIyMjIyMjIyMgV0UgQVJFTidUIERJU1BMQVlJTkcgQU5ZVEhJTkcgQVQgQUxMDQoJDQoJZWNobyAiPHA+Ii4oaXNzZXQoJHBhcmFtc1siYWxpYXMiXSk/JHRoaXMtPkxhbmcoImVycm9yX25vdGZvdW5kIik6JHRoaXMtPkxhbmcoImVycm9yX25vaXRlbWZvdW5kIikpLiI8L3A+IjsNCn0NCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQokYWN0aXZlX3RhYiA9IGlzc2V0KCRwYXJhbXNbImFjdGl2ZV90YWIiXSk/JHBhcmFtc1siYWN0aXZlX3RhYiJdOiJjYXRlZ29yeSI7DQoNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOw0KCWlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJ5b3V0dWJlcGxheWVyX21hbmFnZV9jYXRlZ29yeSIpICkgew0KCQllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoImNhdGVnb3J5IiwgJHRoaXMtPkxhbmcoImNhdGVnb3J5X3BsdXJhbCIpLCAiY2F0ZWdvcnkiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsNCgl9DQoJaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oInlvdXR1YmVwbGF5ZXJfbWFuYWdlX3ZpZGVvcyIpICkgew0KCQllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoInZpZGVvcyIsICR0aGlzLT5MYW5nKCJ2aWRlb3NfcGx1cmFsIiksICJ2aWRlb3MiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsNCgl9DQoJaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIk1vZGlmeSBUZW1wbGF0ZXMiKSApIHsNCgkJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJ0ZW1wbGF0ZXMiLCAkdGhpcy0+TGFuZygidGVtcGxhdGVzIiksICJ0ZW1wbGF0ZXMiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsJCQ0KCX0NCmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsNCg0KDQoNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOw0KDQoNCmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJ5b3V0dWJlcGxheWVyX21hbmFnZV9jYXRlZ29yeSIpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJjYXRlZ29yeSIpOw0KDQoJCQllY2hvICI8cD4iLiR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImVkaXRBIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJhZGRfY2F0ZWdvcnkiKSkuIjwvcD4iOw0KCQkJJGl0ZW1saXN0ID0gJHRoaXMtPmdldF9sZXZlbF9jYXRlZ29yeShpc3NldCgkd2hlcmVjbGF1c2UpPyR3aGVyZWNsYXVzZTphcnJheSgpLHRydWUsICRpZCwgJHJldHVybmlkKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCAkaXRlbWxpc3QpOw0KCQkJJGFkbWluc2hvdyA9IGFycmF5KA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJuYW1lIiksImVkaXRsaW5rIiksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImFjdGl2ZSIpLCJ0b2dnbGVhY3RpdmUiKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygicmVvcmRlciIpLCJtb3ZlbGlua3MiKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygiQWN0aW9ucyIpLCJkZWxldGVsaW5rIikJCQ0KCQkJCSk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFkbWluc2hvdyIsICRhZG1pbnNob3cpOw0KCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJhZG1pbnBhbmVsLnRwbCIpOw0KCQkJZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0QSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYiLCAiIiwiIiwiIiwic3lzdGVtaWNvbiIpLiIgIi4kdGhpcy0+TGFuZygiYWRkX2NhdGVnb3J5IikpLiI8L3A+IjsNCg0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQp9DQoNCmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJ5b3V0dWJlcGxheWVyX21hbmFnZV92aWRlb3MiKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYigidmlkZW9zIik7DQoNCglpZigkdGhpcy0+Y291bnRzb21ldGhpbmcoImNhdGVnb3J5IikgPiAwKXsNCg0KCQkJZWNobyAnPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyI+JzsNCgkJCWlmKCFpc3NldCgkcGFyYW1zWyJzaG93b25seSJdKSl7DQoJCQkJJGZpbHRlcm9wdGlvbnMgPSAkdGhpcy0+Z2V0X29wdGlvbnMoImNhdGVnb3J5Iik7DQoJCQkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCk7DQoJCQkJCWVjaG8gJHRoaXMtPkxhbmcoImZpbHRlcmJ5X2NhdGVnb3J5IikuIiA6ICI7DQoJCQkJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAic2hvd29ubHkiLCAkZmlsdGVyb3B0aW9ucywgLTEpOw0KCQkJCQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJhY3RpdmVfdGFiIiwgInZpZGVvcyIpOw0KCQkJCQllY2hvICIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpOw0KCQkJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkJCX1lbHNlew0KCQkJCWVjaG8gIjxwPiIuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkdGhpcy0+TGFuZygic2hvd2FsbCIpLCBhcnJheSgiYWN0aXZlX3RhYiIgPT4gInZpZGVvcyIpKS4iPC9wPiI7DQoJCQkJJHdoZXJlY2xhdXNlID0gYXJyYXkoInBhcmVudF9pZCI9PiRwYXJhbXNbInNob3dvbmx5Il0pOw0KCQkJfQ0KCQkJZWNobyAiPC9kaXY+IjsNCgkJCQ0KCQkJZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0QiIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYiLCAiIiwiIiwiIiwic3lzdGVtaWNvbiIpLiIgIi4kdGhpcy0+TGFuZygiYWRkX3ZpZGVvcyIpKS4iPC9wPiI7DQoJCQkkaXRlbWxpc3QgPSAkdGhpcy0+Z2V0X2xldmVsX3ZpZGVvcyhpc3NldCgkd2hlcmVjbGF1c2UpPyR3aGVyZWNsYXVzZTphcnJheSgpLHRydWUsICRpZCwgJHJldHVybmlkKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCAkaXRlbWxpc3QpOw0KCQkJJGFkbWluc2hvdyA9IGFycmF5KA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJuYW1lIiksImVkaXRsaW5rIiksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImFjdGl2ZSIpLCJ0b2dnbGVhY3RpdmUiKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygiaXNkZWZhdWx0IiksInRvZ2dsZWRlZmF1bHQiKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygicmVvcmRlciIpLCJtb3ZlbGlua3MiKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygiQWN0aW9ucyIpLCJkZWxldGVsaW5rIikJCQ0KCQkJCSk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFkbWluc2hvdyIsICRhZG1pbnNob3cpOw0KCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJhZG1pbnBhbmVsLnRwbCIpOw0KCQkJZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0QiIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYiLCAiIiwiIiwiIiwic3lzdGVtaWNvbiIpLiIgIi4kdGhpcy0+TGFuZygiYWRkX3ZpZGVvcyIpKS4iPC9wPiI7DQoNCgl9ZWxzZXsNCgkJZWNobyAiPHA+Ii4kdGhpcy0+TGFuZygiZXJyb3Jfbm9wYXJlbnQiKS4iPC9wPiI7DQoJfQ0KDQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCn0NCg0KaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIk1vZGlmeSBUZW1wbGF0ZXMiKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYigidGVtcGxhdGVzIik7DQoNCiAgICBlY2hvICI8aDI+Ii4kdGhpcy0+TGFuZygiZGVmYXVsdHRlbXBsYXRlcyIpLiI8L2gyPiI7DQogICAgZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImNoYW5nZWRlZnRlbXBsYXRlcyIsICRyZXR1cm5pZCk7DQogICAgJHRlbXBsYXRlbGlzdCA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCR0aGlzLT5HZXROYW1lKCkpOw0KICAgICRkZWZ0cGxzID0gJHRoaXMtPmdldERlZmF1bHRUZW1wbGF0ZXMoKTsNCiAgICAkdHBsb3B0aW9ucyA9IGFycmF5KCk7DQogICAgJGl0ZW1saXN0ID0gYXJyYXkoKTsNCiAgICBmb3JlYWNoKCR0ZW1wbGF0ZWxpc3QgYXMgJG9uZXRwbCl7DQoJICAgJHRwbG9wdGlvbnNbJG9uZXRwbF0gPSAkb25ldHBsOw0KCSAgICR0cGwgPSBuZXcgc3RkQ2xhc3MoKTsNCgkgICAkdHBsLT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICJlZGl0VGVtcGxhdGUiLCAkcmV0dXJuaWQsICRvbmV0cGwsIGFycmF5KCJ0cGxuYW1lIj0+JG9uZXRwbCkgKTsNCgkgICAkdHBsLT5kZWxldGVsaW5rID0gaW5fYXJyYXkoJG9uZXRwbCwgJGRlZnRwbHMpPyIiOiR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICJkZWxldGV0cGwiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9kZWxldGUuZ2lmIiwgJHRoaXMtPkxhbmcoImRlbGV0ZSIpLCAiIiwgIiIsICJzeXN0ZW1pY29uIiksIGFycmF5KCJ0cGxuYW1lIj0+JG9uZXRwbCkgKTsNCgkgICBhcnJheV9wdXNoKCRpdGVtbGlzdCwgJHRwbCk7DQogICAgfQ0KDQoJICAgZWNobyAiCTxkaXYgY2xhc3M9XCJwYWdlb3ZlcmZsb3dcIj4NCgkJCSA8cCBjbGFzcz1cInBhZ2V0ZXh0XCI+Ii4kdGhpcy0+TGFuZygiZGVmdGVtcGxhdGVmb3IiKS4iIFwiY2F0ZWdvcnlcIjo8L3A+DQoJCQkgPHAgY2xhc3M9XCJwYWdlaW5wdXRcIj4iLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwibGlzdHRlbXBsYXRlX2NhdGVnb3J5IiwkdHBsb3B0aW9ucywtMSwkdGhpcy0+R2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlX2NhdGVnb3J5IikpLiI8L3A+DQoJCTwvZGl2Pg0KICAgICI7DQoJICAgZWNobyAiCTxkaXYgY2xhc3M9XCJwYWdlb3ZlcmZsb3dcIj4NCgkJCSA8cCBjbGFzcz1cInBhZ2V0ZXh0XCI+Ii4kdGhpcy0+TGFuZygiZGVmdGVtcGxhdGVmb3IiKS4iIFwidmlkZW9zXCI6PC9wPg0KCQkJIDxwIGNsYXNzPVwicGFnZWlucHV0XCI+Ii4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImxpc3R0ZW1wbGF0ZV92aWRlb3MiLCR0cGxvcHRpb25zLC0xLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfdmlkZW9zIikpLiI8L3A+DQoJCTwvZGl2Pg0KICAgICI7DQogICAgZWNobyAiCTxkaXYgY2xhc3M9XCJwYWdlb3ZlcmZsb3dcIj4NCgkJCSA8cCBjbGFzcz1cInBhZ2V0ZXh0XCI+Ii4kdGhpcy0+TGFuZygiZGVmZGV0YWlsdGVtcGxhdGUiKS4iOjwvcD4NCgkJCSA8cCBjbGFzcz1cInBhZ2VpbnB1dFwiPiIuJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJmaW5hbHRlbXBsYXRlIiwkdHBsb3B0aW9ucywtMSwkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZmluYWx0ZW1wbGF0ZSIpKS4iPC9wPg0KCQk8L2Rpdj4NCiAgICA8cD4iLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuIjwvcD4iOw0KICAgIGVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCg0KICAgIGVjaG8gIjxici8+PGJyLz48aHIvPjxoMj4iLiR0aGlzLT5MYW5nKCJ0ZW1wbGF0ZXMiKS4iPC9oMj4iOw0KICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCAkaXRlbWxpc3QpOw0KICAgICRhZG1pbnNob3cgPSBhcnJheSgJYXJyYXkoJHRoaXMtPkxhbmcoInRlbXBsYXRlIiksICJlZGl0bGluayIpLCBhcnJheSgkdGhpcy0+TGFuZygiQWN0aW9ucyIpLCAiZGVsZXRlbGluayIpCSk7DQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZG1pbnNob3ciLCAkYWRtaW5zaG93KTsNCiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImFkbWlucGFuZWwudHBsIik7DQogICAgZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0VGVtcGxhdGUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmIiwgIiIsIiIsIiIsInN5c3RlbWljb24iKS4iICIuJHRoaXMtPkxhbmcoImFkZHRlbXBsYXRlIikpLiI8L3A+IjsNCg0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KfQ0KDQplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.editA.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoNCmlmIChpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkpCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJhY3RpdmVfdGFiIiA9PiAiY2F0ZWdvcnkiKSk7DQoNCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCg0KDQppZihpc3NldCgkcGFyYW1zWyJBaWQiXSkpIHsNCgkvLyBpZiB3ZSBhcmUgd29ya2luZyBvbiBhbiBpdGVtIHRoYXQgZXhpc3RzLCB3ZSBsb2FkIGl0LiBXZSBtdXN0IGRvIHRoaXMgZXZlbiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgb3RoZXJ3aXNlIHdlIHdvbid0IGhhdmUgdGhlIGZpbGUgZmllbGRzDQoJJGl0ZW1zID0gJHRoaXMtPmdldF9sZXZlbF9jYXRlZ29yeShhcnJheSgiaWQiPT4kcGFyYW1zWyJBaWQiXSkpOw0KCSRpdGVtID0gJGl0ZW1zWzBdOw0KfQ0KDQovLyBDSEVDSyBJRiBUSEUgRk9STSBJUyBCRUlORyBTVUJNSVRURUQgOg0KLy8gKHdlIG11c3QgZGV0ZWN0IGFsbCBraW5kcyBvZiBzdWJtaXQgYnV0dG9ucywgaW5jbHVkaW5nIGZpbGVzLCBzaW5jZSBpbmZvcm1hdGlvbiBtdXN0IGJlIHNhdmVkIGJlZm9yZSB3ZSBnbyB0byBmaWxlIHN1Ym1pc3Npb24pDQppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IA0KCWlzc2V0KCRwYXJhbXNbImFwcGx5Il0pIA0KCSkNCnsNCglkZWJ1Z19idWZmZXIoIkVkaXQgRm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQiLl9fTElORV9fKTsNCg0KCS8vIFJFVFJJRVZJTkcgVEhFIEZPUk0gVkFMVUVTIChhbmQgZXNjYXBpbmcgaXQsIGlmIG5lZWRlZCkNCglpZighaXNzZXQoJGl0ZW0pKSAkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCWlmKGlzc2V0KCRwYXJhbXNbIkFpdGVtX29yZGVyIl0pKSAkaXRlbS0+aXRlbV9vcmRlciA9ICRwYXJhbXNbIkFpdGVtX29yZGVyIl07DQoJJGl0ZW0tPmRlc2NyaXB0aW9uID0gJHBhcmFtc1siQWRlc2NyaXB0aW9uIl07DQoJCSRpdGVtLT5uYW1lID0gJHBhcmFtc1siQW5hbWUiXTsNCgkJDQoJJGl0ZW0tPmFsaWFzID0gJHRoaXMtPnBsY3JlYXRlYWxpYXMoJGl0ZW0tPm5hbWUpOw0KCQ0KCS8vIENIRUNLIElGIFRIRSBORUVERUQgVkFMVUVTIEFSRSBUSEVSRQ0KCWlmKAkhaXNzZXQoJHBhcmFtc1siQW5hbWUiXSkgfHwgJHBhcmFtc1siQW5hbWUiXSA9PSAiIg0KCQkgKQ0KCXsNCgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZXJyb3JfbWlzc2dpbnZhbHVlIikpOw0KCX1lbHNlaWYoZmFsc2UgPT0gJHRoaXMtPmNoZWNrYWxpYXMoIm1vZHVsZV95b3V0dWJlcGxheWVyX2NhdGVnb3J5IiwgJGl0ZW0tPmFsaWFzLCBpc3NldCgkcGFyYW1zWyJBaWQiXSk/JHBhcmFtc1siQWlkIl06ZmFsc2UpKXsNCgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZXJyb3JfYWxyZWFkeWV4aXN0cyIpKTsNCgl9ZWxzZXsNCgkJIyMjIyMjIyMjIyMjIERPSU5HIFRIRSBVUERBVEUNCg0KCQkvLyBGSUVMRFMgVE8gVVBEQVRFDQoJCSRxdWVyeSA9IChpc3NldCgkaXRlbS0+aWQpPyJVUERBVEUgIjoiSU5TRVJUIElOVE8gIikuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl9jYXRlZ29yeSBTRVQgDQoJCQlkZXNjcmlwdGlvbj0/LA0KCQkJbmFtZT0/LA0KCQlhbGlhcz0/LA0KCQlkYXRlX21vZGlmaWVkPT8sDQoJCWFjdGl2ZT0iLihpc3NldCgkaXRlbS0+YWN0aXZlKT8kaXRlbS0+YWN0aXZlOjEpLiIsDQoJCWlzZGVmYXVsdD0iLihpc3NldCgkaXRlbS0+aXNkZWZhdWx0KT8kaXRlbS0+aXNkZWZhdWx0OjApLiIiOw0KCQkJDQoJCS8vIFZBTFVFUw0KCQkkdmFsdWVzID0gYXJyYXkoYWRkc2xhc2hlcygkaXRlbS0+ZGVzY3JpcHRpb24pLA0KCQkJYWRkc2xhc2hlcygkaXRlbS0+bmFtZSksJGl0ZW0tPmFsaWFzLHN0cl9yZXBsYWNlKCInIiwiIiwkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkpKTsNCg0KCQlpZihpc3NldCgkaXRlbS0+aWQpKXsNCgkJCSRldmVudCA9ICJ5b3V0dWJlcGxheWVyX21vZGlmaWVkIjsNCgkJCSRxdWVyeSAuPSAiIFdIRVJFIGlkPT87IjsNCgkJCWFycmF5X3B1c2goJHZhbHVlcywkaXRlbS0+aWQpOw0KCQl9ZWxzZXsNCgkJCS8vIE5FVyBJVEVNDQoJCQkkZXZlbnQgPSAieW91dHViZXBsYXllcl9hZGRlZCI7DQoJCQkvLyBnZXQgYSBuZXcgaWQgZnJvbSB0aGUgc2VxdWVuY2UgdGFibGUNCgkJCSRpdGVtLT5pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl9jYXRlZ29yeV9zZXEiKTsNCgkJCS8vIG5ldyBpdGVtcyBnZXQgdG8gdGhlIHRvcCAtIHNvIHdlIG11c3QgcHV0IGFsbCBvdGhlciBpdGVtcyBkb3duIGZyb20gb25lIHN0ZXAsIGFuZCB0aGVuIHNldCB0aGlzIGl0ZW0ncyBvcmRlciB0byAxDQoJCQkkcXVlcnkyID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3lvdXR1YmVwbGF5ZXJfY2F0ZWdvcnkgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkiOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeTIpOw0KCQkJJHF1ZXJ5IC49ICIsaXRlbV9vcmRlcj0xLCBpZD0iLiRpdGVtLT5pZDsNCgkJfQ0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsNCg0KCQkkcmVkaXJlY3QgPSB0cnVlOw0KCQkvL2lmKG15c3FsX2FmZmVjdGVkX3Jvd3MoKSl7CS8vIG15c3FsLW9ubHkNCgkJaWYoJGRiLT5BZmZlY3RlZF9Sb3dzKCkpew0KCQkJLy8gSUYgQU5ZVEhJTkcgV0FTIE1PRElGSUVELCBXRSBNVVNUIFVQREFURSBUSEUgU0VBUkNIIElOREVYIEFORCBTRU5EIEFOIEVWRU5ULi4uDQoJCQlpZihpc3NldCgkZXZlbnQpKQkkdGhpcy0+U2VuZEV2ZW50KCRldmVudCwgYXJyYXkoIndoYXQiPT4iY2F0ZWdvcnkiLCAiaXRlbWlkIiA9PiAkaXRlbS0+aWQsICJhbGlhcyI9PiRpdGVtLT5hbGlhcykpOw0KCQkJZGVidWdfYnVmZmVyKCJTRUFSSEMgSU5ERVggV0FTIFVQREFURUQgIi5fX0xJTkVfXyk7DQoJCQkkbW9kdWxlID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgiU2VhcmNoIik7DQoJCQlpZiAoJG1vZHVsZSAhPSBGQUxTRSkgew0KCQkJCSR0ZXh0ID0gIiRpdGVtLT5uYW1lIjsNCgkJCQkkbW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkaXRlbS0+aWQsICJjYXRlZ29yeSIsICR0ZXh0LCBOVUxMKTsNCgkJCSAgfQ0KCQl9ZWxzZWlmKG15c3FsX2Vycm9yKCkpew0KCQkJLy8gZG8gbm90IHJlZGlyZWN0IDoNCgkJCSRyZWRpcmVjdCA9IGZhbHNlOw0KCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsNCgkJfQ0KDQoJCS8vIFJFRElSRUNUSU5HLi4uDQoJCQlpZigkcmVkaXJlY3QgPT0gZmFsc2Upew0KCQkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJhcHBseSJdKSl7DQoJCQkJJHBhcmFtc1sibW9kdWxlX21lc3NhZ2UiXSA9ICR0aGlzLT5sYW5nKCJtZXNzYWdlX21vZGlmaWVkIik7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyYW1zID0gYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+bGFuZygibWVzc2FnZV9tb2RpZmllZCIpLCAiYWN0aXZlX3RhYiI9PiJjYXRlZ29yeSIpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRwYXJhbXMpOwkNCgkJCX0NCgl9DQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfQ0KDQoNCg0KLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUw0KQ3JlYXRlSW5wdXRUZXh0IDogKGlkLG5hbWUsdmFsdWUsc2l6ZSxtYXhsZW5ndGgpDQpDcmVhdGVJbnB1dFRleHRBcmVhIDogKHd5c2l3eWcsaWQsdGV4dCxuYW1lKQ0KQ3JlYXRlSW5wdXRTZWxlY3RMaXN0IDogKGlkLG5hbWUsaXRlbXMsc2VsZWN0ZWRpdGVtcyxzaXplKQ0KQ3JlYXRlSW5wdXREcm9wZG93biA6IChpZCxuYW1lLGl0ZW1zLHNpbmRleCxzdmFsdWUpDQoqLw0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImRlc2NyaXB0aW9uX2xhYmVsIiwgJHRoaXMtPkxhbmcoImNhdGVnb3J5X2Rlc2NyaXB0aW9uIikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJBZGVzY3JpcHRpb24iLGlzc2V0KCRpdGVtKT8kaXRlbS0+ZGVzY3JpcHRpb246IiIsNTAsMjU1KSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygibmFtZSIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJBbmFtZSIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5uYW1lOiIiLDUwLDY0KSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1hbGlhcyIsaXNzZXQoJGl0ZW0tPmFsaWFzKT8iKGFsaWFzIDogIi4kaXRlbS0+YWxpYXMuIikiOiIiKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZWRpdHRpdGxlIiwgJHRoaXMtPkxhbmcoImVkaXRfY2F0ZWdvcnkiKSk7DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigic3VibWl0IiwgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImFwcGx5IiwgKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKT8kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKToiIik7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImNhbmNlbCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJjYW5jZWwiLCBsYW5nKCJjYW5jZWwiKSkpOw0KDQoNCi8vIERJU1BMQVlJTkcNCmlmKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKXsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRBIiwgJHJldHVybmlkKTsNCgkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJlZGl0QS50cGwiKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiQWlkIiwgJGl0ZW0tPmlkKTsNCgkJaWYoaXNzZXQoJGl0ZW0pICYmIGlzc2V0KCRpdGVtLT5wYXJlbnQpKSBlY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJvbGRwYXJlbnQiLCAkaXRlbS0+cGFyZW50KTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiQWl0ZW1fb3JkZXIiLCAkaXRlbS0+aXRlbV9vcmRlcik7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkNCg0KfWVsc2V7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRBIiwgJHJldHVybmlkKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImVkaXRBLnRwbCIpOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCn0NCj8+]]></data>
	</file>
	<file>
	  <filename>/action.editB.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoNCmlmIChpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkpCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJhY3RpdmVfdGFiIiA9PiAidmlkZW9zIikpOw0KDQokZGIgPSYgJHRoaXMtPkdldERiKCk7DQokcGFyZW50b3B0aW9ucyA9ICR0aGlzLT5nZXRfb3B0aW9ucygiY2F0ZWdvcnkiKTsNCg0KDQppZihpc3NldCgkcGFyYW1zWyJCaWQiXSkpIHsNCgkvLyBpZiB3ZSBhcmUgd29ya2luZyBvbiBhbiBpdGVtIHRoYXQgZXhpc3RzLCB3ZSBsb2FkIGl0LiBXZSBtdXN0IGRvIHRoaXMgZXZlbiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgb3RoZXJ3aXNlIHdlIHdvbid0IGhhdmUgdGhlIGZpbGUgZmllbGRzDQoJJGl0ZW1zID0gJHRoaXMtPmdldF9sZXZlbF92aWRlb3MoYXJyYXkoImlkIj0+JHBhcmFtc1siQmlkIl0pKTsNCgkkaXRlbSA9ICRpdGVtc1swXTsNCn0NCg0KLy8gQ0hFQ0sgSUYgVEhFIEZPUk0gSVMgQkVJTkcgU1VCTUlUVEVEIDoNCi8vICh3ZSBtdXN0IGRldGVjdCBhbGwga2luZHMgb2Ygc3VibWl0IGJ1dHRvbnMsIGluY2x1ZGluZyBmaWxlcywgc2luY2UgaW5mb3JtYXRpb24gbXVzdCBiZSBzYXZlZCBiZWZvcmUgd2UgZ28gdG8gZmlsZSBzdWJtaXNzaW9uKQ0KaWYgKGlzc2V0KCRwYXJhbXNbInN1Ym1pdCJdKSB8fCANCglpc3NldCgkcGFyYW1zWyJhcHBseSJdKSANCgkpDQp7DQoJZGVidWdfYnVmZmVyKCJFZGl0IEZvcm0gaGFzIGJlZW4gc3VibWl0dGVkIi5fX0xJTkVfXyk7DQoNCgkvLyBSRVRSSUVWSU5HIFRIRSBGT1JNIFZBTFVFUyAoYW5kIGVzY2FwaW5nIGl0LCBpZiBuZWVkZWQpDQoJaWYoIWlzc2V0KCRpdGVtKSkgJGl0ZW0gPSBuZXcgc3RkQ2xhc3MoKTsNCglpZihpc3NldCgkcGFyYW1zWyJCaXRlbV9vcmRlciJdKSkgJGl0ZW0tPml0ZW1fb3JkZXIgPSAkcGFyYW1zWyJCaXRlbV9vcmRlciJdOw0KCSRpdGVtLT52aWRlb2lkID0gJHBhcmFtc1siQnZpZGVvaWQiXTsNCgkJJGl0ZW0tPmRlc2NyaXB0aW9uID0gJHBhcmFtc1siQmRlc2NyaXB0aW9uIl07DQoJCSRpdGVtLT5wYXJlbnQgPSAkcGFyYW1zWyJCcGFyZW50Il07DQoJCSRpdGVtLT5uYW1lID0gJHBhcmFtc1siQm5hbWUiXTsNCgkJDQoJJGl0ZW0tPmFsaWFzID0gJHRoaXMtPnBsY3JlYXRlYWxpYXMoJGl0ZW0tPm5hbWUpOw0KCQ0KCS8vIENIRUNLIElGIFRIRSBORUVERUQgVkFMVUVTIEFSRSBUSEVSRQ0KCWlmKAkhaXNzZXQoJHBhcmFtc1siQnZpZGVvaWQiXSkgfHwgJHBhcmFtc1siQnZpZGVvaWQiXSA9PSAiIg0KCQkgfHwgIWlzc2V0KCRwYXJhbXNbIkJkZXNjcmlwdGlvbiJdKSB8fCAkcGFyYW1zWyJCZGVzY3JpcHRpb24iXSA9PSAiIg0KCQkgfHwgIWlzc2V0KCRwYXJhbXNbIkJuYW1lIl0pIHx8ICRwYXJhbXNbIkJuYW1lIl0gPT0gIiINCgkJICkNCgl7DQoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yX21pc3NnaW52YWx1ZSIpKTsNCgl9ZWxzZWlmKGZhbHNlID09ICR0aGlzLT5jaGVja2FsaWFzKCJtb2R1bGVfeW91dHViZXBsYXllcl92aWRlb3MiLCAkaXRlbS0+YWxpYXMsIGlzc2V0KCRwYXJhbXNbIkJpZCJdKT8kcGFyYW1zWyJCaWQiXTpmYWxzZSkpew0KCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCJlcnJvcl9hbHJlYWR5ZXhpc3RzIikpOw0KCX1lbHNlew0KCQkjIyMjIyMjIyMjIyMgRE9JTkcgVEhFIFVQREFURQ0KDQoJCS8vIEZJRUxEUyBUTyBVUERBVEUNCgkJJHF1ZXJ5ID0gKGlzc2V0KCRpdGVtLT5pZCk/IlVQREFURSAiOiJJTlNFUlQgSU5UTyAiKS5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV95b3V0dWJlcGxheWVyX3ZpZGVvcyBTRVQgDQoJCQl2aWRlb2lkPT8sDQoJCQlkZXNjcmlwdGlvbj0/LA0KCQkJcGFyZW50PT8sDQoJCQluYW1lPT8sDQoJCWFsaWFzPT8sDQoJCWRhdGVfbW9kaWZpZWQ9PywNCgkJYWN0aXZlPSIuKGlzc2V0KCRpdGVtLT5hY3RpdmUpPyRpdGVtLT5hY3RpdmU6MSkuIiwNCgkJaXNkZWZhdWx0PSIuKGlzc2V0KCRpdGVtLT5pc2RlZmF1bHQpPyRpdGVtLT5pc2RlZmF1bHQ6MCkuIiI7DQoJCQkNCgkJLy8gVkFMVUVTDQoJCSR2YWx1ZXMgPSBhcnJheShhZGRzbGFzaGVzKCRpdGVtLT52aWRlb2lkKSwNCgkJCWFkZHNsYXNoZXMoJGl0ZW0tPmRlc2NyaXB0aW9uKSwNCgkJCSRpdGVtLT5wYXJlbnQsDQoJCQlhZGRzbGFzaGVzKCRpdGVtLT5uYW1lKSwkaXRlbS0+YWxpYXMsc3RyX3JlcGxhY2UoIiciLCIiLCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSkpOw0KDQoJCWlmKGlzc2V0KCRpdGVtLT5pZCkpew0KCQkJJGV2ZW50ID0gInlvdXR1YmVwbGF5ZXJfbW9kaWZpZWQiOw0KCQkJJHF1ZXJ5IC49ICIgV0hFUkUgaWQ9PzsiOw0KCQkJYXJyYXlfcHVzaCgkdmFsdWVzLCRpdGVtLT5pZCk7DQoJCX1lbHNlew0KCQkJLy8gTkVXIElURU0NCgkJCSRldmVudCA9ICJ5b3V0dWJlcGxheWVyX2FkZGVkIjsNCgkJCS8vIGdldCBhIG5ldyBpZCBmcm9tIHRoZSBzZXF1ZW5jZSB0YWJsZQ0KCQkJJGl0ZW0tPmlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV95b3V0dWJlcGxheWVyX3ZpZGVvc19zZXEiKTsNCgkJCS8vIG5ldyBpdGVtcyBnZXQgdG8gdGhlIGJvdHRvbSAtIHNvIHdlIG11c3Qgc2V0IHRoZSBpdGVtX29yZGVyIHRvIHRoZSBudW1iZXIgb2YgaXRlbXMgKyAxDQoJCQkkaXRlbV9vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygidmlkZW9zIiwiaWQiLGFycmF5KCJwYXJlbnQiPT4kaXRlbS0+cGFyZW50KSkgKyAxOw0KCQkJJHF1ZXJ5IC49ICIsaXRlbV9vcmRlcj0iLiRpdGVtX29yZGVyLiIsIGlkPSIuJGl0ZW0tPmlkOw0KCQl9DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOw0KDQoJCWlmKGlzc2V0KCRwYXJhbXNbIm9sZHBhcmVudCJdKSAmJiAkcGFyYW1zWyJvbGRwYXJlbnQiXSAhPSAkaXRlbS0+cGFyZW50KXsNCgkJCS8vIHRoZSBpdGVtIGlzIGNoYW5naW5nIHBhcmVudCwgYW5kIHdlJ3JlIG9yZGVyaW5nIGJ5IHBhcmVudHMNCgkJCS8vIFVQREFURSBUSEUgT1JERVIgT0YgVEhFIElURU1TIFdJVEggVEhFIE9MRCBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV95b3V0dWJlcGxheWVyX3ZpZGVvcyBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBpdGVtX29yZGVyID4gPyBBTkQgcGFyZW50PT8iOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW0tPml0ZW1fb3JkZXIsICRwYXJhbXNbIm9sZHBhcmVudCJdKSk7DQoJCQkvLyBVUERBVEUgTkVXIFBBUkVOVA0KCQkJJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3lvdXR1YmVwbGF5ZXJfdmlkZW9zIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIHBhcmVudD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5wYXJlbnQpKTsNCgkJCS8vIEdFVCBORVcgSVRFTSBPUkRFUg0KCQkJJGl0ZW0tPml0ZW1fb3JkZXIgPSAxOw0KCQkJJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3lvdXR1YmVwbGF5ZXJfdmlkZW9zIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+aXRlbV9vcmRlciwgJGl0ZW0tPmlkKSk7DQoJCX0NCg0KCQkkcmVkaXJlY3QgPSB0cnVlOw0KCQkvL2lmKG15c3FsX2FmZmVjdGVkX3Jvd3MoKSl7CS8vIG15c3FsLW9ubHkNCgkJaWYoJGRiLT5BZmZlY3RlZF9Sb3dzKCkpew0KCQkJLy8gSUYgQU5ZVEhJTkcgV0FTIE1PRElGSUVELCBXRSBNVVNUIFVQREFURSBUSEUgU0VBUkNIIElOREVYIEFORCBTRU5EIEFOIEVWRU5ULi4uDQoJCQlpZihpc3NldCgkZXZlbnQpKQkkdGhpcy0+U2VuZEV2ZW50KCRldmVudCwgYXJyYXkoIndoYXQiPT4idmlkZW9zIiwgIml0ZW1pZCIgPT4gJGl0ZW0tPmlkLCAiYWxpYXMiPT4kaXRlbS0+YWxpYXMpKTsNCgkJCWRlYnVnX2J1ZmZlcigiU0VBUkhDIElOREVYIFdBUyBVUERBVEVEICIuX19MSU5FX18pOw0KCQkJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoIlNlYXJjaCIpOw0KCQkJaWYgKCRtb2R1bGUgIT0gRkFMU0UpIHsNCgkJCQkkdGV4dCA9ICIkaXRlbS0+bmFtZSI7DQoJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAidmlkZW9zIiwgJHRleHQsIE5VTEwpOw0KCQkJICB9DQoJCX1lbHNlaWYobXlzcWxfZXJyb3IoKSl7DQoJCQkvLyBkbyBub3QgcmVkaXJlY3QgOg0KCQkJJHJlZGlyZWN0ID0gZmFsc2U7DQoJCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKG15c3FsX2Vycm9yKCkpOw0KCQl9DQoNCgkJLy8gUkVESVJFQ1RJTkcuLi4NCgkJCWlmKCRyZWRpcmVjdCA9PSBmYWxzZSl7DQoJCQl9ZWxzZWlmKGlzc2V0KCRwYXJhbXNbImFwcGx5Il0pKXsNCgkJCQkkcGFyYW1zWyJtb2R1bGVfbWVzc2FnZSJdID0gJHRoaXMtPmxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKTsNCgkJCX1lbHNlew0KCQkJCSRwYXJhbXMgPSBhcnJheSgibW9kdWxlX21lc3NhZ2UiID0+ICR0aGlzLT5sYW5nKCJtZXNzYWdlX21vZGlmaWVkIiksICJhY3RpdmVfdGFiIj0+InZpZGVvcyIpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRwYXJhbXMpOwkNCgkJCX0NCgl9DQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfQ0KDQoNCg0KLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUw0KQ3JlYXRlSW5wdXRUZXh0IDogKGlkLG5hbWUsdmFsdWUsc2l6ZSxtYXhsZW5ndGgpDQpDcmVhdGVJbnB1dFRleHRBcmVhIDogKHd5c2l3eWcsaWQsdGV4dCxuYW1lKQ0KQ3JlYXRlSW5wdXRTZWxlY3RMaXN0IDogKGlkLG5hbWUsaXRlbXMsc2VsZWN0ZWRpdGVtcyxzaXplKQ0KQ3JlYXRlSW5wdXREcm9wZG93biA6IChpZCxuYW1lLGl0ZW1zLHNpbmRleCxzdmFsdWUpDQoqLw0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInZpZGVvaWRfbGFiZWwiLCAkdGhpcy0+TGFuZygidmlkZW9zX3ZpZGVvaWQiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInZpZGVvaWRfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiQnZpZGVvaWQiLGlzc2V0KCRpdGVtKT8kaXRlbS0+dmlkZW9pZDoiIiw1MCwyNTUpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVzY3JpcHRpb25fbGFiZWwiLCAkdGhpcy0+TGFuZygidmlkZW9zX2Rlc2NyaXB0aW9uIikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJCZGVzY3JpcHRpb24iLGlzc2V0KCRpdGVtKT8kaXRlbS0+ZGVzY3JpcHRpb246IiIsNTAsMjU1KSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygibmFtZSIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJCbmFtZSIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5uYW1lOiIiLDUwLDY0KSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhcmVudF9sYWJlbCIsICR0aGlzLT5MYW5nKCJjYXRlZ29yeSIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigicGFyZW50X2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJCcGFyZW50IiwkcGFyZW50b3B0aW9ucywtMSxpc3NldCgkaXRlbSk/JGl0ZW0tPnBhcmVudDowKSk7aWYoaXNzZXQoJGl0ZW0pKSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAib2xkcGFyZW50IiwgJGl0ZW0tPnBhcmVudCk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1hbGlhcyIsaXNzZXQoJGl0ZW0tPmFsaWFzKT8iKGFsaWFzIDogIi4kaXRlbS0+YWxpYXMuIikiOiIiKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZWRpdHRpdGxlIiwgJHRoaXMtPkxhbmcoImVkaXRfdmlkZW9zIikpOw0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhcHBseSIsIChpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSk/JHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImFwcGx5IiwgbGFuZygiYXBwbHkiKSk6IiIpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJjYW5jZWwiLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpKTsNCg0KDQovLyBESVNQTEFZSU5HDQppZihpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0QiIsICRyZXR1cm5pZCk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiZWRpdEIudHBsIik7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgIkJpZCIsICRpdGVtLT5pZCk7DQoJCWlmKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+cGFyZW50KSkgZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAib2xkcGFyZW50IiwgJGl0ZW0tPnBhcmVudCk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgIkJpdGVtX29yZGVyIiwgJGl0ZW0tPml0ZW1fb3JkZXIpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQoJDQoNCn1lbHNlew0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0QiIsICRyZXR1cm5pZCk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJlZGl0Qi50cGwiKTsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.editTemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInPT4ndGVtcGxhdGVzJykgKTsKCiR0cGxjb250ZW50ID0gJyc7CmlmKCAoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSApICYmIGlzc2V0KCRwYXJhbXNbJ3RwbG5hbWUnXSkgKXsKCWlmKCRwYXJhbXNbJ3RwbG5hbWUnXSAhPSAnJyl7CgkJaWYoaXNzZXQoJHBhcmFtc1snaXNuZXcnXSkpCSRwYXJhbXNbJ3RwbG5hbWUnXSA9IG11bmdlX3N0cmluZ190b191cmwoJHBhcmFtc1sndHBsbmFtZSddLCBmYWxzZSk7CgkJJHRwbGNvbnRlbnQgPSAkcGFyYW1zWyd0cGxjb250ZW50J107CgkJaWYoJHRoaXMtPlNldFRlbXBsYXRlKCRwYXJhbXNbJ3RwbG5hbWUnXSwkcGFyYW1zWyd0cGxjb250ZW50J10sJHRoaXMtPkdldE5hbWUoKSkpOwoJCWVjaG8gJzxkaXYgY2xhc3M9InBhZ2VtY29udGFpbmVyIj48cCBjbGFzcz0icGFnZW1lc3NhZ2UiPicuJHRoaXMtPkxhbmcoJ21lc3NhZ2VfbW9kaWZpZWQnKS4nPC9wPjwvZGl2Pic7CgkJaWYoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgibW9kdWxlX21lc3NhZ2UiID0+ICR0aGlzLT5sYW5nKCJtZXNzYWdlX21vZGlmaWVkIiksICdhY3RpdmVfdGFiJz0+J3RlbXBsYXRlcycpICk7Cgl9ZWxzZXsKCQllY2hvICc8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPicuJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NnaW52YWx1ZScpLic8L2Rpdj4nOwoJfQp9ZWxzZWlmKCBpc3NldCgkcGFyYW1zWyd0cGxuYW1lJ10pICl7CgkkdHBsY29udGVudCA9ICR0aGlzLT5HZXRUZW1wbGF0ZSggJHBhcmFtc1sndHBsbmFtZSddLCAkdGhpcy0+R2V0TmFtZSgpICk7Cn0KCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJ0ZW1wbGF0ZSIsICR0aGlzLT5MYW5nKCJ0ZW1wbGF0ZSIpLCB0cnVlKTsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigiaGVscHRhYiIsICR0aGlzLT5MYW5nKCJ0ZW1wbGF0ZXZhcnMiKSwgZmFsc2UpOwkJCmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwoKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJ0ZW1wbGF0ZSIpOwoJCWVjaG8gJzxoMT4nLiR0aGlzLT5MYW5nKCJlZGl0dGVtcGxhdGUiKS4nPC9oMT4nOwoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0VGVtcGxhdGUiLCAkcmV0dXJuaWQpOwoJCS8vZWNobyAnPHA+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKS4nICcuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKS4nPC9wPjxici8+PGJyLz4nOwoJCWVjaG8gJwk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5MYW5nKCduYW1lJykuJyA6PC9wPgoJCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+JzsKCQlpZihpc3NldCgkcGFyYW1zWyd0cGxuYW1lJ10pICYmICRwYXJhbXNbJ3RwbG5hbWUnXSAhPSAnJyl7CgkJICAgIGVjaG8gJHBhcmFtc1sndHBsbmFtZSddLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ0cGxuYW1lIiwgJHBhcmFtc1sndHBsbmFtZSddKTsKCQl9ZWxzZXsKCQkgICAgZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwndHBsbmFtZScsJycsMzAsNjQpOwoJCX0KCQllY2hvICc8L3A+CgkJICAgIDwvZGl2PgoJCSc7CgkJZWNobyAnCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQk8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPkxhbmcoJ3RlbXBsYXRlJykuJyA6PC9wPgoJCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsJGlkLCR0cGxjb250ZW50LCd0cGxjb250ZW50JykuJzwvcD4KCQkgICAgPC9kaXY+CgkJJzsKCQllY2hvICc8cD4nLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJhcHBseSIsIGxhbmcoImFwcGx5IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpLic8L3A+JzsKCQlpZighaXNzZXQoJHBhcmFtc1sidHBsbmFtZSJdKSB8fCAkcGFyYW1zWyJ0cGxuYW1lIl0gPT0gJycpCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImlzbmV3IiwgInllcyIpOwoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwoKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJoZWxwdGFiIik7CgkJZWNobyAkdGhpcy0+TGFuZygndGVtcGxhdGVoZWxwJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.movesomething.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQokbmV3cGFyYW1zID0gaXNzZXQoJHBhcmFtc1sibGV2ZWxuYW1lIl0pP2FycmF5KCJhY3RpdmVfdGFiIj0+JHBhcmFtc1sibGV2ZWxuYW1lIl0pOmFycmF5KCk7DQoNCmlmICghaXNzZXQoJHBhcmFtc1sibW92ZSJdKSB8fCAhaXNzZXQoJHBhcmFtc1sidGFibGVuYW1lIl0pIHx8ICFpc3NldCgkcGFyYW1zWyJwcmVmaXgiXSkgfHwgIWlzc2V0KCRwYXJhbXNbImN1cnJlbnRvcmRlciJdKSApDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KJGRidGFibGUgPSBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV8iLiRwYXJhbXNbInRhYmxlbmFtZSJdOw0KJG9yZGVyID0gJHBhcmFtc1siY3VycmVudG9yZGVyIl07DQokaXRlbWlkID0gJHBhcmFtc1skcGFyYW1zWyJwcmVmaXgiXS4iaWQiXTsNCiR3cGFyZW50ID0gaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pPyIgQU5EIHBhcmVudD0nIi4kcGFyYW1zWyJwYXJlbnQiXS4iJyI6IiI7DQoNCnN3aXRjaCgkcGFyYW1zWyJtb3ZlIl0pew0KCQ0KCWNhc2UgImRlbGV0ZSI6DQoJCWlmKGlzc2V0KCRwYXJhbXNbInNoYXJlY2hpbGRyZW4iXSkgJiYgJHBhcmFtc1sic2hhcmVjaGlsZHJlbiJdKXsNCgkJCS8vIHRoaXMgbGV2ZWwgc2hhcmUgaXRzIGNoaWxkcmVuLi4uIHdlIGRlbGV0ZSB0aGUgaXRlbSdzIGxpbmtzIHRvIGNoaWxkcmVuDQoJCQlpZigkY2hpbGRsZXZlbCA9ICR0aGlzLT5nZXRfbmV4dGxldmVsKCRwYXJhbXNbImxldmVsbmFtZSJdKSl7DQoJCQkJJGxpbmt0YWJsZSA9ICRkYnRhYmxlLiJfaGFzXyIuJGNoaWxkbGV2ZWw7DQoJCQkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICRsaW5rdGFibGUgV0hFUkUgIi4kcGFyYW1zWyJsZXZlbG5hbWUiXS4iX2lkPT8iOw0KCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtaWQpKTsNCgkJCX0NCgkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJjaGlsZCJdKSAmJiAkcGFyYW1zWyJjaGlsZCJdICE9ICIiKXsNCgkJCS8vIHRoaXMgbGV2ZWwgZG9lc24ndCBzaGFyZSBpdHMgY2hpbGRyZW4uLi4gd2UgZGVsZXRlIHRoZSBpdGVtJ3MgY2hpbGRyZW4NCgkJCSRjaGlsZHRhYmxlID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfIi4kcGFyYW1zWyJjaGlsZCJdOw0KCQkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICRjaGlsZHRhYmxlIFdIRVJFIHBhcmVudCA9ID8iOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1pZCkpOw0KCQl9DQoJCWlmKGlzc2V0KCRwYXJhbXNbInNoYXJlZGJ5cGFyZW50cyJdKSAmJiAkcGFyYW1zWyJzaGFyZWRieXBhcmVudHMiXSl7DQoJCQkvLyB0aGlzIGl0ZW0gaXMgc2hhcmVkIGJ5IGl0cyBwYXJlbnRzLi4uIHdlIGRlbGV0ZSBsaW5rcyBmcm9tIHBhcmVudHMgdG8gdGhpcyBjaGlsZA0KCQkJaWYoJHBhcmVudGxldmVsID0gJHRoaXMtPmdldF9uZXh0bGV2ZWwoJHBhcmFtc1sibGV2ZWxuYW1lIl0sIGZhbHNlKSl7DQoJCQkJJGxpbmt0YWJsZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3lvdXR1YmVwbGF5ZXJfIi4kcGFyZW50bGV2ZWwuIl9oYXNfIi4kcGFyYW1zWyJsZXZlbG5hbWUiXTsNCgkJCQkkcXVlcnkgPSAiREVMRVRFIEZST00gJGxpbmt0YWJsZSBXSEVSRSAiLiRwYXJhbXNbImxldmVsbmFtZSJdLiJfaWQ9PyI7DQoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1pZCkpOw0KCQkJfQ0KCQl9DQoJCQ0KCQkvLyBpZiB0aGUgbGV2ZWwgaGFzIGZpZWxkcyBvZiB0aGUgdHlwZSAiVW5kZWZpbmVkIGFtb3VudCBvZiBmaWxlcyIsIHdlIGRlbGV0ZSB0aGUgZmlsZXMNCgkJaWYoaXNzZXQoJHBhcmFtc1siYWRkZmlsZXMiXSkgJiYgJHBhcmFtc1siYWRkZmlsZXMiXSAhPSAiIil7DQoJCQkkZmllbGRzID0gZXhwbG9kZSgiLCIsJHBhcmFtc1siYWRkZmlsZXMiXSk7DQoJCQlpZihjb3VudCgkZmllbGRzKSA+IDApew0KCQkJCSR3aGVyZSA9ICIiOw0KCQkJCSR2YWx1ZXMgPSBhcnJheSgpOw0KCQkJCWZvcmVhY2goJGZpZWxkcyBhcyAkZmllbGQpew0KCQkJCQkkd2hlcmUgLj0gKCR3aGVyZSA9PSAiIj8iIjoiIE9SICIpLiIgZmllbGRuYW1lPT8iOw0KCQkJCQkkdmFsdWVzW10gPSAkZmllbGQ7DQoJCQkJfQ0KCQkJCSRhZGRmaWxlc3RhYmxlID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl9tdWx0aXBsZWZpbGVzZmllbGRzIjsNCgkJCQkkcXVlcnkgPSAiREVMRVRFIEZST00gJGFkZGZpbGVzdGFibGUgV0hFUkUgKCR3aGVyZSkgQU5EIGl0ZW1pZD0iLiRpdGVtaWQ7DQoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7DQoJCQl9DQoJCX0NCgkJDQoJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAkZGJ0YWJsZSBXSEVSRSBpZCA9ID8gTElNSVQgMSI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtaWQpKTsNCg0KCQkvLyBVUERBVEUgVEhFIE9SREVSIE9GIFRIRSBJVEVNUw0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGl0ZW1fb3JkZXIgPiA/ICIuJHdwYXJlbnQ7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvcmRlcikpOw0KDQoJCWlmKGlzc2V0KCRwYXJhbXNbImxldmVsbmFtZSJdKSkJJHRoaXMtPlNlbmRFdmVudCgieW91dHViZXBsYXllcl9kZWxldGVkIiwgYXJyYXkoIndoYXQiPT4kcGFyYW1zWyJsZXZlbG5hbWUiXSkpOw0KCQkkbmV3cGFyYW1zWyJtb2R1bGVfbWVzc2FnZSJdID0gJHRoaXMtPmxhbmcoIm1lc3NhZ2VfZGVsZXRlZCIpOw0KCQlicmVhazsJDQoNCgljYXNlICJ1cCI6DQoJCWlmICgkb3JkZXIgIT0gMSl7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIGl0ZW1fb3JkZXIgPSA/ICR3cGFyZW50IExJTUlUIDE7IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvcmRlci0xKSk7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGlkID0gPyBMSU1JVCAxOyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbWlkKSk7DQoJCX0NCgkJYnJlYWs7DQoJCQ0KCWNhc2UgImRvd24iOg0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGl0ZW1fb3JkZXIgPSA/ICR3cGFyZW50IExJTUlUIDE7IjsNCgkJaWYoICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvcmRlcisxKSkgKXsNCgkJCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkgV0hFUkUgaWQgPSA/IExJTUlUIDE7IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtaWQpKTsNCgkJfQ0KCQlicmVhazsNCn0NCg0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJG5ld3BhcmFtcyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCiRsZXZlbGFycmF5ID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7CiRmaW5hbGxldmVsID0gInZpZGVvcyI7Cgokc2VhcmNobW9kZSA9IChpc3NldCgkcGFyYW1zWyJzZWFyY2htb2RlIl0pICYmIGluX2FycmF5KCRwYXJhbXNbInNlYXJjaG1vZGUiXSwgYXJyYXkoInNpbXBsZSIsImFkdmFuY2VkIikpKT8kcGFyYW1zWyJzZWFyY2htb2RlIl06ImFkdmFuY2VkIjsKCmlmKGlzc2V0KCRwYXJhbXNbInN1Ym1pdHNlYXJjaCJdKSl7CgkvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyAjIFNFQVJDSCBSRVNVTFRTCgkkaW5saW5lID0gKGlzc2V0KCRwYXJhbXNbImlubGluZSJdKSAmJiAkcGFyYW1zWyJpbmxpbmUiXSk/dHJ1ZTpmYWxzZTsKCSRsaW5rcmV0dXJuaWQgPSAoaXNzZXQoJHBhcmFtc1siZGV0YWlscGFnZSJdKSk/JHRoaXMtPmdldF9wYWdlaWQoJHBhcmFtc1siZGV0YWlscGFnZSJdKTpmYWxzZTsKCWlmKCEkbGlua3JldHVybmlkKQkkbGlua3JldHVybmlkID0gJHJldHVybmlkOwoJJHdoYXQgPSAkcGFyYW1zWyJ3aGF0Il07CgkkbXVsdGlwbGVsaXN0ZmllbGRzID0gYXJyYXkoKTsKCQoJaWYoJHNlYXJjaG1vZGUgPT0gImFkdmFuY2VkIil7CgkJLy8gQURWQU5DRUQgU0VBUkNICgkJCgkJLy8gd2UgcGFyc2UgdGhlIGtleXdvcmRzCgkJJHdoZXJlID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRwYXJhbXMgYXMgJGtleT0+JHZhbHVlKXsKCQkJaWYoc3Vic3RyKCRrZXksMCw2KSA9PSAiZmllbGRfIiAmJiB0cmltKCR2YWx1ZSkgIT0gIiIpewoJCQkJJGtleSA9IHN1YnN0cigka2V5LDYpOwoJCQkJJHZhbHVlID0gYWRkc2xhc2hlcyhodG1sX2VudGl0eV9kZWNvZGUoJHZhbHVlKSk7CgkJCQlpZihpc3NldCgkcGFyYW1zWyRrZXkuIl9jb21wYXJlIl0pIHx8ICRwYXJhbXNbJGtleS4iX2NvbXBhcmUiXSA9PSAxKXsKCQkJCQkka2V5d29yZHMgPSAkdGhpcy0+cGFyc2VrZXl3b3JkcygkdmFsdWUpOwoJCQkJCWZvcmVhY2goJGtleXdvcmRzIGFzICR2YWx1ZSkJJHdoZXJlW10gPSBhcnJheSgka2V5LCAkdmFsdWUsIGZhbHNlKTsKCQkJCX1lbHNlewoJCQkJCWlmKGluX2FycmF5KCR3aGF0LiJfIi4ka2V5LCAkbXVsdGlwbGVsaXN0ZmllbGRzKSl7CgkJCQkJCS8vIGxpc3Qgd2l0aCBtdWx0aXBsZSBzZWxlY3RlZCB2YWx1ZXMgYXJlIHNhdmVkIGluIGEgc2VyaWFsaXplZCBhcnJheSwKCQkJCQkJLy8gc28gd2UgaGF2ZSB0byB0d2VhayB0aGUgc2VhcmNoCgkJCQkJCSR3aGVyZVtdID0gYXJyYXkoJGtleSwgJyInLiR2YWx1ZS4nIicsIGZhbHNlKTsKCQkJCQl9ZWxzZXsKCQkJCQkJJHdoZXJlW10gPSBhcnJheSgka2V5LCAkdmFsdWUsIHRydWUpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCQkKCQkvLyB3ZSBidWlsZCB0aGUgd2hlcmUgY2xhdXNlIGZvciB0aGUgc3FsIHF1ZXJ5CgkJJHdoZXJlY2xhdXNlID0gIkEuYWN0aXZlPTEiOwoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7CgkJZm9yZWFjaCgkd2hlcmUgYXMgJGNsYXVzZSl7CgkJCWlmKCRjbGF1c2VbMl0pewoJCQkJaWYoJGNsYXVzZVswXSA9PSAicGFyZW50Iil7CgkJCQkJJGNyaXRlcmlhID0gZXhwbG9kZSgiLCIsJGNsYXVzZVsxXSk7CgkJCQkJaWYoY291bnQoJGNyaXRlcmlhKSA+IDEpewoJCQkJCQkkdG1wID0gIiI7CgkJCQkJCWZvcmVhY2goJGNyaXRlcmlhIGFzICRjcml0KXsKCQkJCQkJCSR0bXAgPSAoJHRtcD09IiI/IiI6IiBPUiAiKS4iQS5wYXJlbnQ9Ii4kY3JpdDsKCQkJCQkJfQoJCQkJCQkkdG1wID0gIiBBTkQgKCIuJHRtcC4iKSI7CgkJCQkJfWVsc2V7CgkJCQkJCSR0bXAgPSAiIEFORCBBLnBhcmVudD0/IjsKCQkJCQkJJHdoZXJldmFsdWVzW10gPSAkY2xhdXNlWzFdOwoJCQkJCX0KCQkJCQkkd2hlcmVjbGF1c2UgLj0gJHRtcDsKCQkJCX1lbHNlewoJCQkJCSR3aGVyZWNsYXVzZSAuPSAiIEFORCBBLiIuJGNsYXVzZVswXS4iPT8iOwoJCQkJCSR3aGVyZXZhbHVlc1tdID0gYWRkc2xhc2hlcygkY2xhdXNlWzFdKTsKCQkJCX0KCQkJfWVsc2V7CgkJCQkkd2hlcmVjbGF1c2UgLj0gIiBBTkQgQS4iLiRjbGF1c2VbMF0uIiBMSUtFICclIi5hZGRzbGFzaGVzKCRjbGF1c2VbMV0pLiIlJyI7CgkJCX0KCQl9CgkJCgkJJGdldGZ1bmN0aW9uID0gImdldF9sZXZlbF8iLiR3aGF0OwoJCS8vIHdlIGRvIHRoZSBxdWVyeQoJCSRpdGVtbGlzdCA9ICR0aGlzLT4kZ2V0ZnVuY3Rpb24oYXJyYXkoKSwgZmFsc2UsICIiLCAiIiwgaXNzZXQoJHBhcmFtc1sib3JkZXJieSJdKT8kcGFyYW1zWyJvcmRlcmJ5Il06MCwgaXNzZXQoJHBhcmFtc1sibGltaXQiXSk/JHBhcmFtc1sibGltaXQiXTowLCAkd2hlcmVjbGF1c2UsICR3aGVyZXZhbHVlcyk7CgkJCgkJaWYoY291bnQoJGl0ZW1saXN0KSA+IDApewoJCQkKCQkJLy8gd2UgbXVzdCBidWlsZCBhIGRldGFpbCBsaW5rIGZvciBlYWNoIHJlc3VsdCBlbGVtZW50CgkJCSRuZXdsaXN0ID0gYXJyYXkoKTsKCQkJJG5ld3BhcmFtcyA9IGFycmF5KCJ3aGF0Ij0+JHdoYXQpOwoJCQkkd2FudGVkcGFyYW0gPSAkd2hhdD09JGZpbmFsbGV2ZWw/ImFsaWFzIjoicGFyZW50IjsKCQkJZm9yZWFjaCgkaXRlbWxpc3QgYXMgJGl0ZW0pewoJCQkJJG5ld3BhcmFtc1skd2FudGVkcGFyYW1dID0gJGl0ZW0tPmFsaWFzOwoJCQkJJGl0ZW0tPmRldGFpbGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0IiwgJGxpbmtyZXR1cm5pZCwgJGl0ZW0tPm5hbWUsICRuZXdwYXJhbXMsICIiLCBmYWxzZSwgJGlubGluZSwgIiIsIGZhbHNlLCAkdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCR0bXBwYXJhbXMsICRyZXR1cm5pZCkpOwoJCQkJJGl0ZW0tPmRldGFpbHVybCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkbGlua3JldHVybmlkLCAiIiwgJG5ld3BhcmFtcywgIiIsIHRydWUsICRpbmxpbmUsICIiLCBmYWxzZSwgJHRoaXMtPkJ1aWxkUHJldHR5VXJscygkdG1wcGFyYW1zLCAkcmV0dXJuaWQpKTsKCQkJCSRpdGVtLT5pc19zZWxlY3RlZCA9IGZhbHNlOwoJCQkJYXJyYXlfcHVzaCgkbmV3bGlzdCwgJGl0ZW0pOwoJCQl9CgkJCQoJCQkvLyB3ZSByZXRyaWV2ZSB0aGUgZGlzcGxheSB0ZW1wbGF0ZQoJCQlpZihpc3NldCgkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSkpCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0sICR0aGlzLT5HZXROYW1lKCkpOwoJCQlpZighaXNzZXQoJHRlbXBsYXRlKSB8fCAhJHRlbXBsYXRlKXsKCQkJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlXyIuJHdoYXQpOwoJCQkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUsICR0aGlzLT5HZXROYW1lKCkpOwoJCQl9CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCRuZXdsaXN0KTsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsZXZlbHRpdGxlIiwkdGhpcy0+TGFuZygkd2hhdC4iX3BsdXJhbCIpKTsKCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJicmVhZGNydW1icyIsZmFsc2UpOwoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhcmVudG9iaiIsZmFsc2UpOwoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2VtZW51IixmYWxzZSk7CgkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0ZW1wbGF0ZSk7CgkJCQoJCX1lbHNlewoJCQllY2hvICI8cD4iLiR0aGlzLT5MYW5nKCJlcnJvcl9ub2l0ZW1mb3VuZCIpLiI8L3A+IjsKCQl9Cgl9ZWxzZXsKCQkvLyBTSU1QTEUgU0VBUkNICgkJCgkJJGZvdW5kc29tZXRoaW5nID0gZmFsc2U7CgkJJHRlbXBsYXRlID0gZmFsc2U7CgkJJGxldmVscyA9ICgkd2hhdCA9PSAiLWFsbCIpPyRsZXZlbGFycmF5OmFycmF5KCR3aGF0KTsKCQkKCQkvLyB3ZSByZXRyaWV2ZSB0aGUgZGlzcGxheSB0ZW1wbGF0ZQoJCS8vIGlmIHRoZSB1c2VyIGhhcyBhc2tlZCBmb3IgYSBzcGVjaWZpYyBkaXNwbGF5IHRlbXBsYXRlLCB3ZSB3aWxsIHVzZSBpdCBmb3IgZXZlcnkgY2F0ZWdvcnkgOgoJCWlmKGlzc2V0KCRwYXJhbXNbImxpc3R0ZW1wbGF0ZSJdKSkJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSwgJHRoaXMtPkdldE5hbWUoKSk7CgkJLy8gb3RoZXJ3aXNlLCBpZiB0aGVyZSdzIG9ubHkgb25lIGxldmVsLCB3ZSB1c2UgdGhlIGRlZmF1bHQgdGVtcGxhdGUgZm9yIHRoaXMgbGV2ZWwKCQlpZihjb3VudCgkbGV2ZWxzKSA9PSAxICYmICghaXNzZXQoJHRlbXBsYXRlKSB8fCAhJHRlbXBsYXRlKSApewoJCQkkdGVtcGxhdGVuYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImxpc3R0ZW1wbGF0ZV8iLiRsZXZlbCk7CgkJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkdGVtcGxhdGVuYW1lLCAkdGhpcy0+R2V0TmFtZSgpKTsKCQl9ZWxzZWlmKCFpc3NldCgkdGVtcGxhdGUpIHx8ICEkdGVtcGxhdGUpewoJCQkvLyBpZiB0aGVyZSdzIG1vcmUgdGhhbiBvbmUgbGV2ZWwsIHdlIHVzZSB0aGUgZ2VuZXJpYyByZXN1bHQgdGVtcGxhdGUKCQkJJHRlbXBsYXRlID0gZmFsc2U7CgkJfQoJCQoJCWZvcmVhY2goJGxldmVscyBhcyAkbGV2ZWwpewoJCQkkd2hlcmVjbGF1c2UgPSAiIjsKCQkJJGZpZWxkcyA9ICR0aGlzLT5nZXRfbGV2ZWx0ZXh0ZmllbGRzKCRsZXZlbCk7CgkJCSRrZXl3b3JkcyA9ICR0aGlzLT5wYXJzZWtleXdvcmRzKGh0bWxfZW50aXR5X2RlY29kZSgkcGFyYW1zWyJzZWFyY2hmaWVsZCJdKSk7CgkJCWZvcmVhY2goJGZpZWxkcyBhcyAkZmllbGQpewoJCQkJZm9yZWFjaCgka2V5d29yZHMgYXMgJGtleXdvcmQpewoJCQkJCSR3aGVyZWNsYXVzZSAuPSAoJHdoZXJlY2xhdXNlID09ICIiPyIiOiIgT1IgIikuIkEuIi4kZmllbGQuIiBMSUtFICclIi5hZGRzbGFzaGVzKCRrZXl3b3JkKS4iJSciOwoJCQkJfQoJCQl9CgkJCSR3aGVyZWNsYXVzZSA9ICJBLmFjdGl2ZT0xIi4oJHdoZXJlY2xhdXNlID09ICIiPyIiOiIgQU5EICgiLiR3aGVyZWNsYXVzZS4iKSIpOwoJCQkkZ2V0ZnVuY3Rpb24gPSAiZ2V0X2xldmVsXyIuJGxldmVsOwoJCQkkaXRlbWxpc3QgPSAkdGhpcy0+JGdldGZ1bmN0aW9uKGFycmF5KCksIGZhbHNlLCAiIiwgIiIsIGlzc2V0KCRwYXJhbXNbIm9yZGVyYnkiXSk/JHBhcmFtc1sib3JkZXJieSJdOjAsIGlzc2V0KCRwYXJhbXNbImxpbWl0Il0pPyRwYXJhbXNbImxpbWl0Il06MCwgJHdoZXJlY2xhdXNlKTsKCQkJCgkJCWlmKGNvdW50KCRpdGVtbGlzdCkgPiAwKXsKCQkJCQoJCQkJJGZvdW5kc29tZXRoaW5nID0gdHJ1ZTsKCQkJCS8vIHdlIG11c3QgYnVpbGQgYSBkZXRhaWwgbGluayBmb3IgZWFjaCByZXN1bHQgZWxlbWVudAoJCQkJJG5ld2xpc3QgPSBhcnJheSgpOwoJCQkJJG5ld3BhcmFtcyA9IGFycmF5KCJ3aGF0Ij0+JGxldmVsKTsKCQkJCSR3YW50ZWRwYXJhbSA9ICRsZXZlbD09JGZpbmFsbGV2ZWw/ImFsaWFzIjoicGFyZW50IjsKCQkJCWZvcmVhY2goJGl0ZW1saXN0IGFzICRpdGVtKXsKCQkJCQkkbmV3cGFyYW1zWyR3YW50ZWRwYXJhbV0gPSAkaXRlbS0+YWxpYXM7CgkJCQkJJGl0ZW0tPmRldGFpbGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0IiwgJGxpbmtyZXR1cm5pZCwgJGl0ZW0tPm5hbWUsICRuZXdwYXJhbXMsICIiLCBmYWxzZSwgJGlubGluZSwgIiIsIGZhbHNlLCAkdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCR0bXBwYXJhbXMsICRyZXR1cm5pZCkpOwoJCQkJCSRpdGVtLT5kZXRhaWx1cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0IiwgJGxpbmtyZXR1cm5pZCwgIiIsICRuZXdwYXJhbXMsICIiLCB0cnVlLCAkaW5saW5lLCAiIiwgZmFsc2UsICR0aGlzLT5CdWlsZFByZXR0eVVybHMoJHRtcHBhcmFtcywgJHJldHVybmlkKSk7CgkJCQkJJGl0ZW0tPmlzX3NlbGVjdGVkID0gZmFsc2U7CgkJCQkJYXJyYXlfcHVzaCgkbmV3bGlzdCwgJGl0ZW0pOwoJCQkJfQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsJG5ld2xpc3QpOwoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsZXZlbHRpdGxlIiwkdGhpcy0+TGFuZygkbGV2ZWwuIl9wbHVyYWwiKSk7CgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImJyZWFkY3J1bWJzIixmYWxzZSk7CgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2VtZW51IixmYWxzZSk7CgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhcmVudG9iaiIsZmFsc2UpOwoJCQkJCgkJCQlpZigkdGVtcGxhdGUgPT0gRkFMU0UpewoJCQkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgic2VhcmNoX2dlbmVyYWxyZXN1bHRzLnRwbCIpOwoJCQkJfWVsc2V7CgkJCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsJCQkJCgkJCQl9CgkJCQkKCQkJfQoJCX0KCQlpZighJGZvdW5kc29tZXRoaW5nKQllY2hvICI8cD4iLiR0aGlzLT5MYW5nKCJlcnJvcl9ub2l0ZW1mb3VuZCIpLiI8L3A+IjsKCQkKCQkKCX0KCQoJLy8gd2UgZGlzcGxheSB0aGUgImRvIGFub3RoZXIgc2VhcmNoIiBsaW5rLCBrZWVwaW5nIHRoZSBzZWFyY2ggcGFyYW1ldGVycwoJJG5ld3BhcmFtcyA9IGFycmF5KCJ3aGF0Ij0+JHdoYXQsICJzZWFyY2htb2RlIj0+JHNlYXJjaG1vZGUpOwoJaWYoaXNzZXQoJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0pKQkkbmV3cGFyYW1zWyJsaXN0dGVtcGxhdGUiXSA9ICRwYXJhbXNbImxpc3R0ZW1wbGF0ZSJdOwoJaWYoaXNzZXQoJHBhcmFtc1sibGltaXQiXSkpCQkJJG5ld3BhcmFtc1sibGltaXQiXSA9ICRwYXJhbXNbImxpbWl0Il07CglpZihpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkpCQkkbmV3cGFyYW1zWyJpbmxpbmUiXSA9ICRwYXJhbXNbImlubGluZSJdOwoJaWYoaXNzZXQoJHBhcmFtc1sib3JkZXJieSJdKSkJCSRuZXdwYXJhbXNbIm9yZGVyYnkiXSA9ICRwYXJhbXNbIm9yZGVyYnkiXTsKCWlmKGlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkpCSRuZXdwYXJhbXNbImRldGFpbHBhZ2UiXSA9ICRwYXJhbXNbImRldGFpbHBhZ2UiXTsKCWVjaG8gIjxwPiIuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAic2VhcmNoIiwgJHJldHVybmlkLCAkdGhpcy0+TGFuZygic2VhcmNoYWdhaW4iKSwgJG5ld3BhcmFtcywgIiIsIGZhbHNlLCAkaW5saW5lKS4iPC9wPiI7CgoJLy8gIyBFTkQgU0VBUkNIIFJFU1VMVFMKCS8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCn1lbHNlewoJCgkvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyAjIFNFQVJDSCBGT1JNCQoJCgkkd2hhdCA9IChpc3NldCgkcGFyYW1zWyJ3aGF0Il0pICYmIGluX2FycmF5KCRwYXJhbXNbIndoYXQiXSwkbGV2ZWxhcnJheSkpPyRwYXJhbXNbIndoYXQiXToiLWFsbCI7CglpZigkc2VhcmNobW9kZSA9PSAiYWR2YW5jZWQiICYmICR3aGF0ID09ICItYWxsIikJCSR3aGF0ID0gJGZpbmFsbGV2ZWw7CgoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgInNlYXJjaCIsICRyZXR1cm5pZCk7CgllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ3aGF0IiwgJHdoYXQpOwoJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAic2VhcmNobW9kZSIsICRzZWFyY2htb2RlKTsKCWlmKGlzc2V0KCRwYXJhbXNbImxpc3R0ZW1wbGF0ZSJdKSkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAibGlzdHRlbXBsYXRlIiwgJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0pOwoJaWYoaXNzZXQoJHBhcmFtc1sibGltaXQiXSkpCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImxpbWl0IiwgJHBhcmFtc1sibGltaXQiXSk7CglpZihpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkpCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImlubGluZSIsICRwYXJhbXNbImlubGluZSJdKTsKCWlmKGlzc2V0KCRwYXJhbXNbIm9yZGVyYnkiXSkpCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgIm9yZGVyYnkiLCAkcGFyYW1zWyJvcmRlcmJ5Il0pOwoJaWYoaXNzZXQoJHBhcmFtc1siZGV0YWlscGFnZSJdKSkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiZGV0YWlscGFnZSIsICRwYXJhbXNbImRldGFpbHBhZ2UiXSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInNlYXJjaHRpdGxlIiwgJHRoaXMtPkxhbmcoInNlYXJjaHRpdGxlIikpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ3aGF0IiwgKCR3aGF0ID09ICItYWxsIik/ZmFsc2U6JHRoaXMtPkxhbmcoJHdoYXQpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigic3VibWl0IiwgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdHNlYXJjaCIsICR0aGlzLT5MYW5nKCJzZWFyY2hidG4iKSkpOwoKCWlmKCRzZWFyY2htb2RlID09ICJzaW1wbGUiKXsKCQkvLyBXRSBBUkUgRE9JTkcgQSBTSU1QTEUgU0VBUkNICgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJzZWFyY2hmaWVsZCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJzZWFyY2hmaWVsZCIsIiIsNTApKTsKCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoInNlYXJjaC50cGwiKTsKCQkKCX1lbHNlewoJCS8vIFdFIEFSRSBET0lORyBBTiBBRFZBTkNFRCBTRUFSQ0gKCQoJCSRjb21wYXJlY2hvaWNlcyA9IGFycmF5KCR0aGlzLT5MYW5nKCJjb250YWlucyIpID0+MSwgJHRoaXMtPkxhbmcoImlzZXhhY3RseSIpID0+MCk7CgoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9sYWJlbCIsICR0aGlzLT5MYW5nKCJuYW1lIikpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwibmFtZV9jb21wYXJlIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9uYW1lIiwiIiwzMCkpOwkKCQlzd2l0Y2goJHdoYXQpewoJCQljYXNlICJjYXRlZ29yeSI6CgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImRlc2NyaXB0aW9uX2xhYmVsIiwgJHRoaXMtPkxhbmcoImNhdGVnb3J5X2Rlc2NyaXB0aW9uIikpOwoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiZGVzY3JpcHRpb25fY29tcGFyZSIsJGNvbXBhcmVjaG9pY2VzLC0xLDEpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiZmllbGRfZGVzY3JpcHRpb24iLCIiLDMwKSk7CgkJCQlicmVhazsKCQkJY2FzZSAidmlkZW9zIjoKCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigidmlkZW9pZF9sYWJlbCIsICR0aGlzLT5MYW5nKCJ2aWRlb3NfdmlkZW9pZCIpKTsKCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigidmlkZW9pZF9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwidmlkZW9pZF9jb21wYXJlIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF92aWRlb2lkIiwiIiwzMCkpOwoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9sYWJlbCIsICR0aGlzLT5MYW5nKCJ2aWRlb3NfZGVzY3JpcHRpb24iKSk7CgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImRlc2NyaXB0aW9uX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJkZXNjcmlwdGlvbl9jb21wYXJlIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9kZXNjcmlwdGlvbiIsIiIsMzApKTsKCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFyZW50X2xhYmVsIiwgJHRoaXMtPkxhbmcoInBhcmVudCIpKTsKCQkJCSRwYXJlbnRvcHRpb25zID0gJHRoaXMtPmdldF9oaWVyYXJjaHlvcHRpb25zKCJ2aWRlb3MiKTsKCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFyZW50X2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJmaWVsZF9wYXJlbnQiLCRwYXJlbnRvcHRpb25zKSk7CgkJCQlicmVhazsKCQkJCgkJfQoKCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoInNlYXJjaF8iLiR3aGF0LiIudHBsIik7CgkJCgl9CgkKCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCQoJLy8gIyBFTkQgU0VBUkNIIEZPUk0KCS8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMJCgkKfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.toggle.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qIFBBUkFNUyA6DQp3aGF0KiA6ICdhY3RpdmUnIHx8ICdkZWZhdWx0Jw0KdGFibGVuYW1lKg0KcHJlZml4DQpwcmVmaXguaWQNCm5ld3ZhbCA6IG5ldyB2YWx1ZSBmb3IgYWN0aXZlICggMCB8fCAxICkNCiovDQoNCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQokbmV3cGFyYW1zID0gaXNzZXQoJHBhcmFtc1snbGV2ZWxuYW1lJ10pP2FycmF5KCdhY3RpdmVfdGFiJz0+JHBhcmFtc1snbGV2ZWxuYW1lJ10pOmFycmF5KCk7DQoNCmlmKCAhaXNzZXQoJHBhcmFtc1snd2hhdCddKSB8fCAhaXNzZXQoJHBhcmFtc1sndGFibGVuYW1lJ10pICkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJG5ld3BhcmFtcyk7DQoNCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCiRkYnRhYmxlID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfJy4kcGFyYW1zWyd0YWJsZW5hbWUnXTsNCiRmaWVsZCA9ICRwYXJhbXNbJ3doYXQnXTsNCiRpdGVtaWQgPSBpc3NldCgkcGFyYW1zWydwcmVmaXgnXSk/JHBhcmFtc1skcGFyYW1zWydwcmVmaXgnXS4naWQnXTpmYWxzZTsNCiR2YWx1ZSA9IGlzc2V0KCRwYXJhbXNbJ25ld3ZhbCddKT8kcGFyYW1zWyduZXd2YWwnXToxOw0KDQppZigkZmllbGQgPT0gJ2FjdGl2ZScpew0KCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGFjdGl2ZT0/IFdIRVJFIGlkPT8gTElNSVQgMSI7DQoJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdmFsdWUsICRpdGVtaWQpKTsNCn1lbHNlaWYoJGZpZWxkID09ICdkZWZhdWx0Jyl7DQoJaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pICYmIGlzc2V0KCRwYXJhbXNbInBhcmVudGRlZmF1bHQiXSkgJiYgJHBhcmFtc1sicGFyZW50ZGVmYXVsdCJdKSB7DQoJCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGlzZGVmYXVsdD0wIFdIRVJFIHBhcmVudD0/IjsNCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWyJwYXJlbnQiXSkpOw0KCX1lbHNlew0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpc2RlZmF1bHQ9MCI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCX0NCglpZigkaXRlbWlkKXsNCgkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXNkZWZhdWx0PTEgV0hFUkUgaWQ9PyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGl0ZW1pZCkpOw0KCX0NCn0NCg0KDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/action.uploadFile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCglpZighaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQoJJHJlc2l6ZSA9IGlzc2V0KCRwYXJhbXNbJ3NpemUnXSk/ZXhwbG9kZSgneCcsJHBhcmFtc1snc2l6ZSddKTpmYWxzZTsNCg0KCSRlcnJvcnMgPSAnJzsNCgkkY3VyZGlyID0gKGlzc2V0KCRwYXJhbXNbJ2N1cmRpciddKSA/ICRwYXJhbXNbJ2N1cmRpciddLicvJyA6ICcnKTsNCgkkc3RhcnRkaXIgPSAoaXNzZXQoJHBhcmFtc1snc3RhcnRkaXInXSkgPyAkcGFyYW1zWydzdGFydGRpciddLicvJyA6ICcnKTsNCgkkZGlyID0gc3RyX3JlcGxhY2UoJy8vJywnLycsJGdDbXMtPmNvbmZpZ1sidXBsb2Fkc19wYXRoIl0gLiAnLycgLiAkc3RhcnRkaXIgLiAkY3VyZGlyKTsNCgllY2hvICRkaXI7DQoJJGZpZWxkbmFtZSA9ICRpZC4ndXBsb2FkZmlsZSc7DQoNCglpZiAoaXNzZXQoJF9GSUxFUykgJiYgaXNzZXQoJF9GSUxFU1skZmllbGRuYW1lXSkgJiYgaXNzZXQoJF9GSUxFU1skZmllbGRuYW1lXVsnbmFtZSddKSAmJiAkX0ZJTEVTWyRmaWVsZG5hbWVdWyduYW1lJ10gIT0gIiIpDQoJew0KCQkkdG1wZmlsZW5hbWUgPSBzdHJfcmVwbGFjZSgnICcsJ18nLCRfRklMRVNbJGZpZWxkbmFtZV1bJ25hbWUnXSk7DQoJCSRleHRlbnNpb24gPSBzdWJzdHIoc3RycmNocigkdG1wZmlsZW5hbWUsICIuIiksIDEpOw0KCQkkY2xlYW5maWxlbmFtZSA9IHN0cl9yZXBsYWNlKCcuJy4kZXh0ZW5zaW9uLCAnJywgJHRtcGZpbGVuYW1lKTsNCg0KCQkkZGVzdGRpciA9ICRkaXIuJHRtcGZpbGVuYW1lOw0KCQkkaSA9IDE7DQoJCXdoaWxlKGZpbGVfZXhpc3RzKCRkZXN0ZGlyKSl7DQoJCQkkdG1wZmlsZW5hbWUgPSAkY2xlYW5maWxlbmFtZS4nXycuJGkuJy4nLiRleHRlbnNpb247DQoJCQkkZGVzdGRpciA9ICRkaXIuJHRtcGZpbGVuYW1lOw0KCQkJJGkrKzsNCgkJfQ0KCQlpZiAoIWNtc19tb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1skZmllbGRuYW1lXVsndG1wX25hbWUnXSwgJGRlc3RkaXIpKQkJew0KCQkJJGVycm9ycyAuPSAiPGxpPiIubGFuZygnZmlsZW5vdHVwbG9hZGVkJykuIjwvbGk+IjsNCgkJfWVsc2V7DQoJCQkvL2NobW9kKCcuLi91cGxvYWRzLycuJHN0YXJ0ZGlyLiRjdXJkaXIuJHRtcGZpbGVuYW1lLCAwNzU1KTsNCgkJCS8vYXVkaXQoLTEsICR0bXBmaWxlbmFtZSwgJ1VwbG9hZGVkIEZpbGUnKTsNCgkJCWlmKGlzX2FycmF5KCRyZXNpemUpICYmIGNvdW50KCRyZXNpemUpID09IDIpICR0aGlzLT5wbFJlc2l6ZSgkZGlyLicvJy4kdG1wZmlsZW5hbWUsICcnLCAkcmVzaXplWzBdLCAkcmVzaXplWzFdKTsNCgkJfQ0KCX0NCglpZiAoJGVycm9ycyAhPSAnJyl7DQoJCWVjaG8gJzxkaXYgY2xhc3M9InBhZ2VlcnJvcmNvbnRhaW5lciI+PHVsPicuJGVycm9ycy4nPC91bD48L2Rpdj4nOw0KCX1lbHNlew0KCQkkcGFyYW1zWydmaWxlcGF0aCddID0gJGN1cmRpci4kdG1wZmlsZW5hbWU7DQoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdhc3NpZ25maWxlJywgJHJldHVybmlkLCAkcGFyYW1zKTsNCgl9DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/faq.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkNUTE1vZHVsZU1ha2VyIEZBUTwvdGl0bGU+CQoJPHN0eWxlPgoJCWEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KCQlhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0KCQlkaXYucWRpdiB7IG1hcmdpbjogMjVweCAyNXB4IDgwcHggMjVweDsgfQoJCWgxIHsgdGV4dC1hbGlnbjogcmlnaHQ7wqB9CgkJI21lbnUgeyBwYWRkaW5nLWJvdHRvbTogMjVweDsgfQoJCWRpdi5hbnN3ZXIgewoJCQliYWNrZ3JvdW5kLWNvbG9yIDogI2UxZWNmZTsKCQkJcGFkZGluZzogMTBweDsKCQkJYm9yZGVyOiAxcHggc29saWQgRGFya2JsdWU7CgkJCWJvcmRlci10b3A6IG5vbmU7CgkJfQoJCWRpdi5xdWVzdGlvbiB7IAoJCQlmb250LXdlaWdodDogYm9sZDsKCQkJYmFja2dyb3VuZC1jb2xvciA6ICNhNGM1ZmY7CgkJCXBhZGRpbmc6IDEwcHg7CgkJCWJvcmRlcjogMXB4IHNvbGlkIERhcmtibHVlOwoJCQlib3JkZXItYm90dG9tOiBub25lOwoJCX0KCQkuY29kZSB7CgkJCWRpc3BsYXk6IGJsb2NrOwoJCQliYWNrZ3JvdW5kLWNvbG9yOiBMaWdodEdyZXk7CgkJCWJvcmRlcjogMXB4IHNvbGlkIERhcmtHcmV5OwoJCQlwYWRkaW5nOiA1cHg7CgkJCW1hcmdpbjogMTBweDsKCQl9CgkJCgkJCQoJPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KPGgxIGlkPSJ0b3AiPkNUTE1vZHVsZU1ha2VyIEZBUTwvaDE+Cjx1bCBpZD0ibWVudSI+CgoJPGxpPjxhIGhyZWY9IiNxOSI+Q2FuIEkgcHV0IHNtYXJ0eSBjb2RlIGluIHRoZSBpdGVtJ3MgZmllbGRzPzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9IiNxNSI+SG93IGNhbiBJIHJldHJpZXZlIGltYWdlcyBpbiB0aGUgZGlzcGxheSB0ZW1wbGF0ZXM/PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iI3E2Ij5JJ20gdHJ5aW5nIHRvIGRpc3BsYXkgYSBsaXN0IG9mIGl0ZW1zLCBidXQgdGhlIGRldGFpbCB0ZW1wbGF0ZSBpcyB1c2VkIGluc3RlYWQuIFdoYXQncyBnb2luZyBvbj88L2E+PC9saT4KCTxsaT48YSBocmVmPSIjcTEiPkNhbiBJIGNoYW5nZSB0aGUgZmllbGQgaW5wdXRzIHRoYXQgYXJlIGRpc3BsYXllZCBpbiB0aGUgbW9kdWxlJ3Mgc2VhcmNoIGZvcm0/PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iI3E0Ij5DYW4gSSBjaGFuZ2UgdGhlIGVkaXQgZm9ybSBmb3IgYSBsZXZlbD88L2E+PC9saT4KCTxsaT48YSBocmVmPSIjcTciPkhvdyBhcmUgdGhlIGRlZmF1bHRhZG1pbiBwYW5lbHMgZ2VuZXJhdGVkPzwvYT48L2xpPgoJPGxpPjxhIGhyZWY9IiNxMiI+Q291bGQgSSBzaG93IHRoZSBuYW1lIG9mIHRoZSBzZWxlY3RlZCBpdGVtIGluLCBzYXksIHRoZSBwYWdlJ3MgPDwvPnRpdGxlPiB0YWc/PC9hPjwvbGk+Cgk8bGk+PGEgaHJlZj0iI3EzIj5DYW4gSSBjaGFuZ2UgaG93IHRoZSBwcmV0dHkgdXJscyBhcmUgZ2VuZXJhdGVkIGFuZCBpbnRlcnByZXRlZD88L2E+PC9saT4KCTxsaT48YSBocmVmPSIjcTgiPkNhbiBJIG1ha2UgbXkgbW9kdWxlIGFsd2F5cyBhY3QgYXMgaWYgdGhlICJmb3JjZWxpc3QiIHBhcmFtZXRlciB3YXMgZW5hYmxlZD88L2E+PC9saT4KCQo8L3VsPgoKPGRpdiBpZD0icXVlc3Rpb25zIj4KCgoJPGRpdiBjbGFzcz0icWRpdiIgaWQ9InE5Ij4KCQk8ZGl2IGNsYXNzPSJxdWVzdGlvbiI+Q2FuIEkgcHV0IHNtYXJ0eSBjb2RlIGluIHRoZSBpdGVtJ3MgZmllbGRzPzwvZGl2PgoJCTxkaXYgY2xhc3M9ImFuc3dlciI+CgkJPHA+WWVzLjwvcD4KCQk8cD5MZXQncyBzYXkgeW91IGhhdmUgcHJvZHVjdHMgd2hpY2ggaGF2ZSBhIGRlc2NyaXB0aW9uIGZpZWxkLCBhbmQgaW4gdGhhdCBkZXNjcmlwdGlvbiB5b3Ugd291bGQgbGlrZSB0byBwdXQgc29tZSBzbWFydHkgY29kZS4gSWYgeW91IHRyeSBhbmQgcHV0LCBzYXksIHt0aXRsZX0gaW4gYW4gYXR0ZW1wdCB0byBkaXNwbGF5IHRoZSBwYWdlIHRpdGxlLCB5b3Ugc2hvdWxkIG5vdGljZSB0aGF0ICJ7dGl0bGV9IiB3aWxsIGJlIGRpc3BsYXllZCBleGFjdGx5IGxpa2UgdGhhdCBpbiB0aGUgcHJvZHVjdCdzIGRlc2NyaXB0aW9uLiBUaGF0IGlzIGJlY2F1c2UgaXRlbXMnIGZpZWxkcyBhcmVuJ3QgZXZhbHVhdGVkLjwvcD4KCQk8cD5Ib3dldmVyLCBpbiB5b3VyIHRlbXBsYXRlLCB5b3UgbWF5IGNob29zZSB0byBldmFsdWF0ZSB0aGUgZmllbGRzLiBGb3IgZXhhbXBsZSwgaW4geW91ciB0ZW1wbGF0ZSwgaWYgaW5zdGVhZCBvZiB0aGUgc2ltcGxlIDxjb2RlPnskaXRlbS0+ZGVzY3JpcHRpb259PC9jb2RlPiB5b3Ugd3JpdGU6PC9wPgoJCTxwcmUgY2xhc3M9ImNvZGUiPntldmFsIHZhcj0kaXRlbS0+ZGVzY3JpcHRpb259PC9wcmU+CgkJPHA+WW91IHdpbGwgdGhlbiBub3RpY2UgdGhhdCB7dGl0bGV9IGlzIGV2YWx1YXRlZCwgYW5kIHRoZSBwYWdlJ3MgdGl0bGUgaXMgZGlzcGxheWVkLjxici8+CgkJPC9kaXY+CgkJPGEgY2xhc3M9ImJhY2t0b3RvcCIgaHJlZj0iI3RvcCI+QmFjayB0byB0b3A8L2E+Cgk8L2Rpdj4KCgoJPGRpdiBjbGFzcz0icWRpdiIgaWQ9InE1Ij4KCQk8ZGl2IGNsYXNzPSJxdWVzdGlvbiI+SG93IGNhbiBJIHJldHJpZXZlIGltYWdlcyBpbiB0aGUgZGlzcGxheSB0ZW1wbGF0ZXM/PC9kaXY+CgkJPGRpdiBjbGFzcz0iYW5zd2VyIj4KCQk8cD5Zb3UgcHV0IHskaXRlbS0+aW1hZ2V9IGluIHlvdXIgdGVtcGxhdGUsIGFuZCB0aGUgaW1hZ2UgZG9lc24ndCBzaG93IHVwLCBpdCBqdXN0IGRpc3BsYXlzIDxjb2RlPi9mb2xkZXIvbmFtZW9maW1hZ2UuanBnPC9jb2RlPiAuLi48L3A+CgkJPHA+Li4uPC9wPgoJCTxwPlRoYXQncyBwcmV0dHkgbXVjaCBub3JtYWwuPC9wPgoJCTxwPk5vdCBhbGwgcGVvcGxlIHdhbnQgdG8gc2ltcGx5ICJkaXNwbGF5IiB0aGUgaW1hZ2UgaW4gdGhlIG9sZCBmYXNoaW9uZWQgd2F5LiBGb3IgdGhpcyByZWFzb24sIHdoYXQgaXMgZ2l2ZW4gaXMgdGhlIHBhdGggdG8gdGhlIGltYWdlLCBzdGFydGluZyBmcm9tIHlvdXIgdXBsb2FkIGRpci4gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgaW1hZ2UsIHlvdSdkIGhhdmUgdG8gcHV0IHNvbWV0aGluZyBsaWtlIHRoaXMgaW4geW91ciB0ZW1wbGF0ZTo8YnIvPgoJCTxwcmUgY2xhc3M9ImNvZGUiPjw8Lz5pbWcgc3JjPSJ1cGxvYWRzL3NvbWVmb2xkZXIveyRpdGVtLT5pbWFnZX0iIGFsdD0iIi8+PC9wcmU+PC9wPgoJCTwvZGl2PgoJCTxhIGNsYXNzPSJiYWNrdG90b3AiIGhyZWY9IiN0b3AiPkJhY2sgdG8gdG9wPC9hPgoJPC9kaXY+CgoKCTxkaXYgY2xhc3M9InFkaXYiIGlkPSJxNiI+CgkJPGRpdiBjbGFzcz0icXVlc3Rpb24iPkknbSB0cnlpbmcgdG8gZGlzcGxheSBhIGxpc3Qgb2YgaXRlbXMsIGJ1dCB0aGUgZGV0YWlsIHRlbXBsYXRlIGlzIHVzZWQgaW5zdGVhZC4gV2hhdCdzIGdvaW5nIG9uPzwvZGl2PgoJCTxkaXYgY2xhc3M9ImFuc3dlciI+CgkJPHA+SWYgeW91J3JlIG9uIHRoZSBmaW5hbCBsZXZlbCBhbmQgdGhlcmUncyBvbmx5IG9uZSBpdGVtIHRvIHNob3csIHRoZSBtb2R1bGUgd29uJ3QgZGlzcGxheSB0aGUgbGlzdCB2aWV3IGJ1dCB3aWxsIGltbWVkaWF0ZWx5IHNob3cgdGhlIGRldGFpbHMgb2YgdGhpcyBpdGVtLCBzbyB0aGF0IHRoZSB1c2VyIGRvZXNuJ3QgaGF2ZSB0byBjbGljayB0d2ljZSBmb3Igbm8gcmVhc29uLjwvcD4KCQk8cD5JZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBsaXN0IHZpZXcgYW55d2F5LCB0aGVyZSBpcyBub3cgIGEgImZvcmNlbGlzdCIgcGFyYW1ldGVyIHRoYXQgd2lsbCBkbyB0aGUgam9iIChzZWUgdGhlIGhlbHAgb2YgeW91ciBtb2R1bGUpLiBZb3VyIHRhZyBzaG91bGQgYmVjb21lOjwvcD4KCQk8cHJlIGNsYXNzPSJjb2RlIj57Y21zX21vZHVsZSBtb2R1bGU9InByb2R1Y3RzIiB3aGF0PSJwcm9kdWN0IiBmb3JjZWxpc3Q9IjEifTwvcHJlPgoJCTwvZGl2PgoJCTxhIGNsYXNzPSJiYWNrdG90b3AiIGhyZWY9IiN0b3AiPkJhY2sgdG8gdG9wPC9hPgoJPC9kaXY+CgkKCgk8ZGl2IGNsYXNzPSJxZGl2IiBpZD0icTEiPgoJCTxkaXYgY2xhc3M9InF1ZXN0aW9uIj5DYW4gSSBjaGFuZ2UgdGhlIGZpZWxkIGlucHV0cyB0aGF0IGFyZSBkaXNwbGF5ZWQgaW4gdGhlIG1vZHVsZSdzIGFkdmFuY2VkIHNlYXJjaCBmb3JtPzwvZGl2PgoJCTxkaXYgY2xhc3M9ImFuc3dlciI+CgkJPHA+PGI+WWVzLjwvYj48L3A+CgkJPHA+VGhlIHNlYXJjaCBmb3JtIGZvciB0aGUgbW9kdWxlJ3Mgc2VhcmNoIGFjdGlvbiBhcmUgZ2VuZXJhdGVkIGZyb20gdGVtcGxhdGVzIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSAidGVtcGxhdGVzIiBmb2xkZXIgb2YgeW91ciBtb2R1bGUuPC9wPgoJCTxwPlRoZSAic2VhcmNoLnRwbCIgZmlsZSBpcyB0aGUgdGVtcGxhdGUgZm9yIHRoZSBzZWFyY2ggZm9ybSB3aGVuIHRoZSAic2ltcGxlIiBzZWFyY2htb2RlIGlzIGNob3Nlbi48L3A+CgkJPHA+VGhlICJzZWFyY2hfZ2VuZXJhbHJlc3VsdHMudHBsIiBmaWxlIGlzIHRoZSB0ZW1wbGF0ZSBmb3IgdGhlIHNlYXJjaCByZXN1bHRzIHdoZW4gd2UgYXJlIHNlYXJjaGluZyBpbiBtb3JlIHRoYW4gb25lIGxldmVsIGF0IHRoZSBzYW1lIHRpbWUuIE90aGVyd2lzZSwgdGhlIGxldmVsJ3MgZGVmYXVsdCBsaXN0IG1vZHVsZSBpcyB1c2VkLjwvcD4KCQk8cD5Gb3IgZWFjaCBsZXZlbCBvZiB5b3VyIG1vZHVsZSwgdGhlcmUgc2hvdWxkIGJlIGEgZmlsZSBuYW1lZCAic2VhcmNoX05BTUVPRlRIRUxFVkVMLnRwbCIuIFRoaXMgY29udGFpbnMgdGhlIHRlbXBsYXRlIGZvciB0aGUgYWR2YW5jZWQgc2VhcmNoIGZvcm0gZm9yIHRoaXMgbGV2ZWwuIElmIHlvdSB3YW50IHRvIHJlbW92ZSBhIGZpZWxkIGlucHV0IGZyb20gdGhlIHNlYXJjaCBmb3JtLCB5b3UgY2FuIHNpbXBseSBkZWxldGUgdGhlIGFwcHJvcHJpYXRlIHNlY3Rpb24gb2YgdGhlIHRlbXBsYXRlLiAoSSB3b3VsZCByZWNvbW1hbmQgdG8gbWFrZSBhIGJhY2t1cCBvZiB0aGUgb3JpZ2luYWwgdGVtcGxhdGUsIGlmIHlvdSBldmVyIGNoYW5nZSB5b3VyIG1pbmQhKTwvcD4KCQk8L2Rpdj4KCQk8YSBjbGFzcz0iYmFja3RvdG9wIiBocmVmPSIjdG9wIj5CYWNrIHRvIHRvcDwvYT4KCTwvZGl2PgoJCgkKCTxkaXYgY2xhc3M9InFkaXYiIGlkPSJxNCI+CgkJPGRpdiBjbGFzcz0icXVlc3Rpb24iPkNhbiBJIGNoYW5nZSB0aGUgZWRpdCBmb3JtIGZvciBhIGxldmVsPzwvZGl2PgoJCTxkaXYgY2xhc3M9ImFuc3dlciI+CgkJPHA+PGI+WWVzLjwvYj48L3A+CgkJPHA+VGhlIGVkaXQgZm9ybXMgZm9yIGVhY2ggbGV2ZWwgYXJlIGdlbmVyYXRlZCBmcm9tIHRlbXBsYXRlcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgInRlbXBsYXRlcyIgZm9sZGVyIG9mIHlvdXIgbW9kdWxlLiBGb3IgZWFjaCBsZXZlbCBvZiB5b3VyIG1vZHVsZSwgdGhlIHRlbXBsYXRlIGZvciB0aGUgZWRpdCBmb3JtcmUgc2hvdWxkIGJlIGluIGEgZmlsZSBuYW1lZCAiZWRpdFBSRUZJWE9GVEhFTEVWRUwudHBsIi48L3A+CgkJPHA+WW91IGNhbiBtb2RpZnkgdGhlIHRlbXBsYXRlLCBidXQga2VlcCB0d28gdGhpbmdzIGluIG1pbmQ6PGJyLz4KCQktIElmIHlvdSByZW1vdmUgYW4gaW5wdXQsIHRoZSBmb3JtIG1pZ2h0IG5vdCB3b3JrIGFueW1vcmUuPGJyLz4KCQktIElmIHlvdSB3aXNoIHRvIGNoYW5nZSB0aGUgZmllbGQgbGFiZWxzLCB5b3Ugc2hvdWxkIHByZWZlcmFibHkgZG8gc28gaW4gdGhlIGxhbmd1YWdlIGZpbGUuPC9wPgoJCTwvZGl2PgoJCTxhIGNsYXNzPSJiYWNrdG90b3AiIGhyZWY9IiN0b3AiPkJhY2sgdG8gdG9wPC9hPgoJPC9kaXY+CgkKCgk8ZGl2IGNsYXNzPSJxZGl2IiBpZD0icTciPgoJCTxkaXYgY2xhc3M9InF1ZXN0aW9uIj5Ib3cgYXJlIHRoZSBkZWZhdWx0YWRtaW4gcGFuZWxzIGdlbmVyYXRlZD88L2Rpdj4KCQk8ZGl2IGNsYXNzPSJhbnN3ZXIiPgoJCTxwPklmIHlvdSBvcGVuIHRoZSAvdGVtcGxhdGVzLyBmb2xkZXIsIHlvdSB3aWxsIG5vdGljZSB0aGF0IHRoZXJlJ3Mgb25seSBvbmUgdGVtcGxhdGUgZm9yIHRoZSBkZWZhdWx0YWRtaW4gOiBhZG1pbnBhbmVsLnRwbC4gVGhpcyBpcyB1c2VkIGZvciBhbGwgbGV2ZWxzLiBTbyB0aGUgZGlmZmVyZW5jZSBpcyB0aGUgaW5mb3JtYXRpb24gcGFzc2VkIHRvIHRoZSB0ZW1wbGF0ZS4gQmVmb3JlIHRha2luZyBhIGxvb2sgYXQgaXQsIGxldCdzIHNlZSB0aGF0IGluZm9ybWF0aW9uLjxici8+CgkJT3BlbiB0aGUgYWN0aW9uLmRlZmF1bHRhZG1pbi5waHAgb2YgeW91ciBtb2R1bGUuIFlvdSB3aWxsIG5vdGljZSB0aGF0IGl0IGlzIGRpdmlkZWQgaW50byB0YWJzIChkZWxpbWl0ZWQgYnkgPGNvZGU+ZWNobyAkdGhpcy0+U3RhcnRUYWIoIm5hbWVvZmxldmVsIik7PC9jb2RlPiBhbmQgPGNvZGU+ZWNobyAkdGhpcy0+RW5kVGFiKCk7PC9jb2RlPikuIEZvciBlYWNoIGxldmVsIHRhYiwgdGhlIGxpc3Qgb2YgaXRzIGl0ZW1zIGlzIGZldGNoZWQgYW5kIHN0b3JlZCBpbnRvIDxjb2RlPiRpdGVtbGlzdDwvY29kZT4sIHdoaWNoIGlzIHRoZW4gcGFzc2VkIHRvIHNtYXJ0eS4gJGl0ZW1saXN0IGlzIGFuIGFycmF5IG9mIG9iamVjdHMgaGF2aW5nIHlvdXIgZmllbGRzIGFzIGF0dHJpYnV0ZXMgKCRpdGVtLT5maWVsZCkuPGJyLz4KCQlKdXN0IGJlbG93IHRoYXQsIHlvdSB3aWxsIG5vdGljZSBsaW5lcyB0aGF0IGxvb2sgbGlrZSB0aGlzOjwvcD4KCQk8cHJlIGNsYXNzPSJjb2RlIj4KCQkkYWRtaW5zaG93ID0gYXJyYXkoCgkJCWFycmF5KCR0aGlzLT5MYW5nKCJuYW1lIiksImVkaXRsaW5rIiksCgkJCWFycmF5KCR0aGlzLT5MYW5nKCJhbGlhcyIpLCJhbGlhcyIpLAoJCQlhcnJheSgkdGhpcy0+TGFuZygiYWN0aXZlIiksInRvZ2dsZWFjdGl2ZSIpLAoJCQlhcnJheSgkdGhpcy0+TGFuZygibmJjaGlsZHJlbiIpLCJuYmNoaWxkcmVuIiksCgkJCWFycmF5KCR0aGlzLT5MYW5nKCJyZW9yZGVyIiksIm1vdmVsaW5rcyIpLAoJCQlhcnJheSgkdGhpcy0+TGFuZygiQWN0aW9ucyIpLCJkZWxldGVsaW5rIikJCQoJCQkpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRtaW5zaG93IiwgJGFkbWluc2hvdyk7CgkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJhZG1pbnBhbmVsLnRwbCIpOzwvcHJlPgoJCTxwPlRoZSA8Y29kZT4kYWRtaW5zaG93PC9jb2RlPiB2YXJpYWJsZSBjb250YWlucyB3aGF0IHNob3VsZCBiZSBzaG93biBpbiB0aGUgYWRtaW5wYW5lbCBvZiB0aGF0IGxldmVsLiBXZSB0aGVuIHBhc3MgdGhpcyB2YXJpYWJsZSB0byBzbWFydHksIGFuZCB0aGUgbGFzdCBsaW5lIHRlbGxzIHNtYXJ0eSB0byBkaXNwbGF5IHRoZSB0ZW1wbGF0ZSAiYWRtaW5wYW5lbC50cGwiLjxici8+CgkJJGFkbWluc2hvdyBpcyBhbiBhcnJheSwgd2hlcmUgZWFjaCBlbGVtZW50IHJlcHJlc2VudHMgYSBjb2x1bW4gb2YgdGhlIGFkbWlucGFuZWwuIEVhY2ggY29sdW1uLCBpbiB0dXJuLCBpcyBhbiBhcnJheSBjb250YWluaW5nIHR3byB2YWx1ZXM6IHRoZSBmaXJzdCAocG9zaXRpb24gMCkgaXMgdGhlIHRpdGxlIG9mIHRoZSBjb2x1bW4sIGFuZCB0aGUgc2Vjb25kIChwb3NpdGlvbiAxKSBpcyB0aGUgbmFtZSBvZiB0aGUgb2JqZWN0J3MgZmllbGQgdGhhdCBzaG91bGQgYmUgc2hvd24gaW4gdGhpcyBjb2x1bW4uPC9wPgoJCTxwPkZvciBleGFtcGxlLCA8Y29kZT5hcnJheSgkdGhpcy0+TGFuZygibmFtZSIpLCJlZGl0bGluayIpPC9jb2RlPiBtZWFucywgaGVyZSwgdGhhdCB3ZSB0YWtlICR0aGlzLT5MYW5nKCJuYW1lIikgKCJuYW1lIiBpbiB0aGUgbGFuZ3VhZ2UgdGhhdCBpcyBjdXJyZW50bHkgZGlzcGxheWVkKSB0byBiZSB0aGUgdGl0bGUgb2YgdGhlIGNvbHVtbiwgYW5kIHRoYXQgZm9yIGVhY2ggcm93IG9mIHRoZSB0YWJsZSwgd2hhdGV2ZXIgaXMgaW4gJG9uZWl0ZW0tPmVkaXRsaW5rIHdpbGwgYmUgZGlzcGxheWVkICh0aGlzIHBhcnRpY3VsYXIgdmFsdWUgaXMgbm90IHN0cmljdGx5IHNwZWFraW5nIGEgZmllbGQgb2YgdGhlIGxldmVsLCBidXQgYW4gYXR0cmlidXRlIGNyZWF0ZWQgYnkgdGhlIGFkZGFkbWlubGlua3MoKSBmdW5jdGlvbikuPC9wPgoJCTxwPk5vdywgbGV0J3MgdGFrZSBhIGxvb2sgYXQgdGhlIGFkbWlucGFuZWwudHBsIGZpbGU6PC9wPgoJCTxwcmUgY2xhc3M9ImNvZGUiPgojMQkJPDwvPmRpdj4KIzIJCTw8Lz50YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiMzCQk8PC8+dGhlYWQ+PDwvPnRyPgojNAkJCXtmb3JlYWNoIGZyb209JGFkbWluc2hvdyBpdGVtPWNvbHVtbn0KIzUJCQkJPDwvPnRoPnskY29sdW1uWzBdfTw8Lz4vdGg+CiM2CQkJey9mb3JlYWNofQojNwkJPDwvPi90cj48PC8+L3RoZWFkPgojOAkJPDwvPnRib2R5PgojOQkJe2N5Y2xlIHZhbHVlcz0icm93Mixyb3cxIiBhc3NpZ249cm93Y2xhc3MgcmVzZXQ9dHJ1ZX0KIzEwCQl7Zm9yZWFjaCBmcm9tPSRpdGVtbGlzdCBpdGVtPW9uZWl0ZW19CiMxMQkJe2N5Y2xlIHZhbHVlcz0icm93Mixyb3cxIiBhc3NpZ249cm93Y2xhc3N9CiMxMgkJPDwvPnRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KIzEzCQkJe2ZvcmVhY2ggZnJvbT0kYWRtaW5zaG93IGl0ZW09Y29sdW1ufQojMTQJCQkJe2Fzc2lnbiB2YXI9b25ldmFsIHZhbHVlPSRjb2x1bW5bMV19CiMxNQkJCQk8PC8+dGQ+eyRvbmVpdGVtLT4kb25ldmFsfTw8Lz4vdGQ+CiMxNgkJCXsvZm9yZWFjaH0KIzE3CQk8PC8+L3RyPgojMTgJCXsvZm9yZWFjaH0KIzE5CQk8PC8+L3Rib2R5PgojMjAJCTw8Lz4vdGFibGU+CiMyMQkJPDwvPi9kaXY+PC9wcmU+CgkJPHA+Tm93LCBJIHdpbGwgYXNzdW1lIHRoYXQgZXZlcnlvbmUgdW5kZXJzdGFuZHMgdGhlIGh0bWwgdGFncywgYW5kIHdpbGwgbGVhdmUgYWxvbmUgdGhlIGNvZGUgY29uY2VybmluZyB0aGUgY2xhc3Nlcy4gSSB3aWxsIGV4cGxhaW4gbGluZXMgIzQgdG8gIzYsIHdoaWNoIHdyaXRlIHRoZSB0YWJsZSBoZWFkZXIgKHRoZSB0aXRsZXMgb2YgdGhlIGNvbHVtbnMpLCBhbmQgbGluZXMgIzkgdG8gIzE4LCB3aGljaCB3cml0ZSB0aGUgdGFibGUgcm93cy48L3A+CgkJPHA+TGluZSAjNSBpcyBleGVjdXRlZCBmb3IgZWFjaCBlbGVtZW50IG9mIHRoZSAkYWRtaW5zaG93IHZhcmlhYmxlOyBpbiBvdGhlciB3b3JkcywgZm9yIGVhY2ggY29sdW1uIG9mIHRoZSB0YWJsZS4gTm93LCByZW1lbWJlciB0aGF0IGVhY2ggZWxlbWVudCBvZiB0aGUgJGFkbWluc2hvdyB2YXJpYWJsZSBpcyBhbiBhcnJheSBvZiB0d28gZWxlbWVudHMsIHNvIHdoYXQgbGluZSAjNSBkb2VzIGlzIGRpc3BsYXkgdGhlIGZpcnN0IChwb3NpdGlvbiBbMF0pIG9mIHRoZXNlIHR3byBlbGVtZW50cyBhcyB0aGUgY29sdW1uIGhlYWRlci48L3A+CgkJPHA+TGluZXMgIzExIHRvICMxNyBhcmUgcmVwZWF0ZWQgZm9yIGVhY2ggaXRlbSBpbiAkaXRlbWxpc3QgKGZvciBlYWNoIHJvdyBvZiB0aGUgdGFibGUpLiBGb3IgZWFjaCByb3csIGZvciBlYWNoIGVsZW1lbnQgb2YgdGhlICRhZG1pbnNob3cgdmFyaWFibGUsIGxpbmVzICMxNCBhbmQgIzE1IGFyZSByZXBlYXRlZC4gTGluZSAjMTQgZmV0Y2ggdGhlIG5hbWUgb2YgdGhlIG9iamVjdCdzIGF0dHJpYnV0ZSB0aGF0IHNob3VsZCBiZSBkaXNwbGF5ZWQgKHBvc2l0aW9uIFsxXSBvZiB0aGUgYWRtaW5zaG93IGVsZW1lbnQpLCBhbmQgbGluZSAjMTUgZGlzcGxheXMgdGhpcyBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgb2JqZWN0LjwvcD4KCQk8cD48Yj5BbHJpZ2h0Li4uIGhvdyBjYW4gSSBjaGFuZ2UgdGhpcz88L2I+PC9wPgoJCTxwPklmIHlvdSB3YW50IHRvIG1ha2UgbWFqb3IgY2hhbmdlcywgdGhlIGJlc3QgdGhpbmcgdG8gZG8gd291bGQgYmUgdG8gY3JlYXRlIGFuIGluZGl2aWR1YWwgdGVtcGxhdGUgZm9yIHlvdXIgbGV2ZWwuIEluIHRoZSB0ZW1wbGF0ZXMvIGZvbGRlciwgY3JlYXRlIGEgZmlsZSAobGlrZSAiYWRtaW5wYW5lbF9uYW1lb2ZsZXZlbC50cGwiKSwgcHV0IHRoZSB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UgaW4gaXQsIGFuZCBpbiB0aGUgYWNjb3JkaW5nIHRhYiBvZiB0aGUgYWN0aW9uLmRlZmF1bHRhZG1pbi5waHAgZmlsZSwgY2hhbmdlPGJyLz4KCQk8Y29kZT5lY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImFkbWlucGFuZWwudHBsIik7PC9jb2RlPjxici8+CgkJdG88YnIvPgoJCTxjb2RlPmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiYWRtaW5wYW5lbF9uYW1lb2ZsZXZlbC50cGwiKTs8L2NvZGU+PC9wPgoJCTxwPk5vdywgbGV0J3Mgc2F5IHlvdSB3aXNoIHRvIG1ha2UgYSB2ZXJ5IHNpbXBsZSBtb2RpZmljYXRpb24uIEZvciBleGFtcGxlLCB0aGUgYWRtaW5wYW5lbCBzaG93cyBlaXRoZXIgYSAiMSIgb3IgYSAiMCIgZm9yIHNvbWUgZmllbGQgKHdoaWNoIHdlJ2xsIGNhbGwgIm15ZmllbGQiKSwgYW5kIHlvdSB3b3VsZCBsaWtlIHRvIGRpc3BsYXkgIlllcyIgYW5kICJObyIgaW5zdGVhZC4gV2hhdCB5b3UgY291bGQgZG8gaXMgdGhpczo8YnIvPgoJCUluIHRoZSBhZG1pbnBhbmVsLnRwbCB0ZW1wbGF0ZSBmaWxlLCB5b3UgY291bGQgY2hhbmdlIGxpbmUgIzE1IHRvIHNvbWV0aGluZyBsaWtlIHRoaXM6CgkJPHByZSBjbGFzcz0iY29kZSI+CgkJCTw8Lz50ZD57aWYgJG9uZXZhbCA9PSAnbXlmaWVsZCd9CgkJCQl7aWYgJG9uZWl0ZW0tPiRvbmV2YWwgPT0gMX1ZZXN7ZWxzZX1Ob3svaWZ9CgkJCXtlbHNlfQoJCQkJeyRvbmVpdGVtLT4kb25ldmFsfQoJCQl7L2lmfTw8Lz4vdGQ+PC9wcmU+CgkJPHA+VGhpcyBtZWFucyB0aGF0IHNtYXJ0eSBjaGVja3MgaWYgdGhlIGZpZWxkIHdlJ3JlIGRpc3BsYXlpbmcgaXMgJ215ZmllbGQnLCBhbmQgaWYgaXQgaXMsIGluc3RlYWQgb2Ygc2ltcGx5IGRpc3BsYXlpbmcgaXQsIGl0IHdpbGwgY2hlY2sgaWYgaXQgaXMgZXF1YWwgdG8gIjEiLCBkaXNwbGF5ICJZZXMiIGlmIGl0IGlzLCBhbmQgIk5vIiBpZiBpdCBpc24ndC48L3A+CgkJPC9kaXY+CgkJPGEgY2xhc3M9ImJhY2t0b3RvcCIgaHJlZj0iI3RvcCI+QmFjayB0byB0b3A8L2E+Cgk8L2Rpdj4JCgkKCQoJPGRpdiBjbGFzcz0icWRpdiIgaWQ9InEyIj4KCQk8ZGl2IGNsYXNzPSJxdWVzdGlvbiI+Q291bGQgSSBzaG93IHRoZSBuYW1lIG9mIHRoZSBzZWxlY3RlZCBpdGVtIGluLCBzYXksIHRoZSBwYWdlJ3MgPDwvPnRpdGxlPiB0YWc/PC9kaXY+CgkJPGRpdiBjbGFzcz0iYW5zd2VyIj4KCQk8cCBzdHlsZT0iY29sb3I6IHJlZDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5bKioqIFNlZSB1cGRhdGUgYmVsb3cuLi4gKioqXTwvcD4KCQk8cD48Yj5UaGUgc2hvcnQgYW5zd2VyOjwvYj4gbm8uPC9wPgoJCTxwPjxiPlRoZSBsb25nIGFuc3dlcjo8L2I+IHllcywgbW9zdCBvZiB0aGUgdGltZS48L3A+CgkJPHA+VGhlIG5hbWUgb2YgdGhlIHNlbGVjdGVkIGl0ZW0gb3IgY2F0ZWdvcnkgaXMgcmV0cmlldmVkIG9ubHkgd2hlbiB0aGUgPGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPSJ5b3VybW9kdWxlIn08L2NvZGU+IHRhZyBpcyBlbmNvdW50ZXJlZCBpbiB0aGUgdGVtcGxhdGUgLSB3aGljaCBpcyBxdWl0ZSBhbHdheXMgd2F5IGFmdGVyIHRoZSBwYWdlJ3MgaGVhZC4gSG93ZXZlciwgaW4gbW9zdCBjYXNlcyBpbiBjb3VsZCBiZSByZXRyaWV2ZWQgYnkgYSB1c2VyLWRlZmluZWQgdGFnIChVRFQpLjwvcD4KCQk8cCBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ij5Ob3RlIHRoYXQgdGhpcyB3aWxsIG5vIHdvcmsgd2hlbiB0aGUgdGFnIGlzIGRpcmVjdGx5IGNhbGxlZCBvbiB0aGUgcGFnZSwgYW5kIHdpbGwgb25seSB3b3JrIHdoZW4gd2UgYXJlIGZvbGxvd2luZyBhIG1vZHVsZSBhY3Rpb24gKHdoZW4geW91IGhhdmUgY2xpY2tlZCBvbiBhIGxpbmspPC9wPgoJCTxwPkNyZWF0ZSB0aGUgZm9sbG93aW5nIFVEVCwgcmVwbGFjaW5nIE5BTUVfT0ZfWU9VUl9NT0RVTEUgd2l0aCB5b3VyIG1vZHVsZSdzIG5hbWU6PC9wPgoJCTxwcmUgY2xhc3M9ImNvZGUiPiRtb2R1bGVuYW1lID0gJ05BTUVfT0ZfWU9VUl9NT0RVTEUnOwpnbG9iYWwgJGdDbXM7CmlmKCBpc3NldCgkZ0Ntcy0+bW9kdWxlc1skbW9kdWxlbmFtZV0pICYmCiAgICAkZ0Ntcy0+bW9kdWxlc1skbW9kdWxlbmFtZV1bJ2FjdGl2ZSddICYmCiAgICBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgKXsKCWdsb2JhbCAkc21hcnR5OwoJJGluc3RhbmNlID0gJGdDbXMtPm1vZHVsZXNbJG1vZHVsZW5hbWVdWydvYmplY3QnXTsKCSRnbG9iID0gJGluc3RhbmNlLT5nZXRfbW9kdWxlR2V0VmFycygpOwoJJHdhbnRlZGxldmVsID0gZmFsc2U7CgkkbW9kbGV2ZWxzID0gJGluc3RhbmNlLT5nZXRfbGV2ZWxhcnJheSgpOwoJaWYoaXNzZXQoJGdsb2JbJ2FsaWFzJ10pKXsKCQkkd2FudGVkbGV2ZWwgPSBpc3NldCgkZ2xvYlsnd2hhdCddKT8kZ2xvYlsnd2hhdCddOiRtb2RsZXZlbHNbY291bnQoJG1vZGxldmVscyktMV07CgkJJGFsaWFzID0gJGdsb2JbJ2FsaWFzJ107Cgl9ZWxzZWlmKGlzc2V0KCRnbG9iWydwYXJlbnQnXSkpewoJCWlmKGlzc2V0KCRnbG9iWyd3aGF0J10pKXsKCQkJJHdhbnRlZGxldmVsID0gJGluc3RhbmNlLT5nZXRfbmV4dGxldmVsKCRnbG9iWyd3aGF0J10sIGZhbHNlKTsKCQl9ZWxzZXsKCQkJJHdhbnRlZGxldmVsID0kbW9kbGV2ZWxzW2NvdW50KCRtb2RsZXZlbHMpLTJdOwoJCX0KCQkkYWxpYXMgPSAkZ2xvYlsncGFyZW50J107Cgl9CglpZigkd2FudGVkbGV2ZWwpewoJCSRnZXRmdW5jdGlvbiA9ICdnZXRfbGV2ZWxfJy4kd2FudGVkbGV2ZWw7CgkJJGl0ZW0gPSAkaW5zdGFuY2UtPiRnZXRmdW5jdGlvbihhcnJheSgnYWxpYXMnPT4kYWxpYXMpKTsKCQlpZihpc3NldCgkaXRlbVswXSkpCSRzbWFydHktPmFzc2lnbigkcGFyYW1zWydhc3NpZ24nXSwkaXRlbVswXSk7Cgl9Cn0KCTwvcHJlPgoJPHA+TGV0J3Mgc2F5IHlvdSd2ZSBuYW1lZCB5b3VyIHRhZyAicmV0cmlldmVtb2RpbmZvIi4gVGhlbiwgYXQgdGhlIGJlZ2lubmluZyBvZiB5b3VyIHBhZ2UncyB0ZW1wbGF0ZSwgeW91IHJldHJpZXZlIHRoZSBtb2R1bGUgaW5mb3JtYXRpb25zIGJ5IHVzaW5nIHRoZSB0YWcgPGNvZGU+e3JldHJpZXZlbW9kaW5mbyBhc3NpZ249ImN1cnJlbnRlbGVtZW50In08L2NvZGU+LiBUaGlzIG1lYW5zIHRoYXQgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IGl0ZW0gYXJlIHN0b3JlZCBpbiB0aGUgdmFyaWFibGUgJGN1cnJlbnRlbGVtZW50ICh3aGljaCBjb3VsZCBoYXZlIGJlZW4gYW55dGhpbmcpLiBTbyBpbiB0aGUgPDwvPnRpdGxlPiB0YWcgb2YgeW91ciB0ZW1wbGF0ZSwgeW91IGNvdWxkIHdyaXRlOiA8Y29kZT57aWYgJGN1cnJlbnRlbGVtZW50fXskY3VycmVudGVsZW1lbnQtPm5hbWV9ey9pZn08L2NvZGU+LCB3aGljaCB3b3VsZCBkaXNwbGF5IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGVsZW1lbnQgaWYgaXQgY291bGQgaGF2ZSBiZWVuIHJldHJpZXZlZC48L3A+Cgk8cCBzdHlsZT0iY29sb3I6IHJlZDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5VUERBVEU6IHNpbmNlIHZlcnNpb24gMS44LCB5b3UgY2FuIGRvIHRoZSBzYW1lIHRoaW5nIG11Y2ggbW9yZSBlYXNpbHkganVzdCBieSB1c2luZyB0aGUgImJyZWFkY3J1bWJzIiBhY3Rpb24gYW5kIGl0cyBwYXJhbWV0ZXJzLjwvcD4KCQk8L2Rpdj4KCQk8YSBjbGFzcz0iYmFja3RvdG9wIiBocmVmPSIjdG9wIj5CYWNrIHRvIHRvcDwvYT4KCTwvZGl2PgoKCgk8ZGl2IGNsYXNzPSJxZGl2IiBpZD0icTMiPgoJCTxkaXYgY2xhc3M9InF1ZXN0aW9uIj5DYW4gSSBjaGFuZ2UgaG93IHRoZSBwcmV0dHkgdXJscyBhcmUgZ2VuZXJhdGVkIGFuZCBpbnRlcnByZXRlZD88L2Rpdj4KCQk8ZGl2IGNsYXNzPSJhbnN3ZXIiPgoJCTxwPjxiPlllcywgdG8gc29tZSBleHRlbnQuPC9iPjwvcD4KCQk8cD5JJ2xsIHRyeSB0byBtYWtlIHRoaXMgdmVyeSBjb21wcmVoZW5zaXZlLiBCZWZvcmUgdGFsa2luZyBvZiBtb2R5aW5nIGl0LCBsZXQncyBzZWUgaG93IHRoaXMgd29ya3MuPC9wPgoJCTxwPkJhc2ljYWxseSwgdGhlIG1vZHVsZSBoYXMgdHdvIGtpbmRzIG9mIHVybHM6PGJyPgoJCVR5cGUgQTogPGNvZGU+aHR0cDovL3d3dy5teWRvbWFpbi5jb20vbmFtZW9mbW9kdWxlL2RldGFpbC9uYW1lb2ZvYmplY3QvNS88L2NvZGU+PGJyLz4KCQlhbmQ8YnIvPgoJCVR5cGUgQjogPGNvZGU+aHR0cDovL3d3dy5teWRvbWFpbi5jb20vbmFtZW9mbW9kdWxlL25hbWVvZmxldmVsL25hbWVvZnBhcmVudC81LzwvY29kZT48YnIvPgoJCShpZiB5b3UgYXJlIHNlcGFyYXRpbmcgZWxlbWVudHMgaW50byBwYWdlcywgeW91IHdpbGwgbm90aWNlIHRoYXQgdHlwZSBCIGhhcyBzb21lIHZhcmlhdGlvbnMuLi4gd2Ugd2lsbCBkaXNjdXNzIHRoaXMgbGF0ZXIuKTwvcD4KCQk8cD5UeXBlIEEgaXMgdXNlZCB3aGVuIHdlIGFyZSBsb29raW5nIGF0IHRoZSBkZXRhaWxzIG9mIGEgbGFzdC1sZXZlbCBvYmplY3QuIFR5cGUgQiBpcyB1c2VkIHdoZW4gd2UgZGlzcGxheSBhIGxpc3Qgb2YgaXRlbXMuIE5vdywgcmVtZW1iZXIgdGhhdCB0aGUgdXJsIGhhcyB0byBjb250YWluIGFsbCB0aGUgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBzaG91bGQgYmUgZGlzcGxheWVkLiBTbyBsZXQncyB0YWtlIGEgbG9vayBhYm91dCB3aGF0J3MgY29tbW9uIHRvIGJvdGggdHlwZXMgb2YgdXJsczo8L3A+CgkJPHA+VGhlIDxiPm5hbWVvZm1vZHVsZS88L2I+IHRlbGxzIHVzIHRoYXQgdGhlIG1vZHVsZSBzaG91bGQgYmUgY2FsbGVkLjxici8+CgkJVGhlIDxiPjUvPC9iPiAodGhhdCBhbm5veWluZyBudW1iZXIpIGlzIHRoZSByZXR1cm5pZCBvZiB0aGUgcGFnZS4gSW4gb3RoZXIgd29yZHMsIGl0IHRlbGxzIHVzIG9uIHdoYXQgcGFnZSBvZiB0aGUgY21zIHRoZSBpbmZvcm1hdGlvbnMgb2YgdGhlIG1vZHVsZSBzaG91bGQgYmUgc2hvd24uIEV2ZW4gdGhvdWdoIHRoZSBwYWdlIGNvbnRlbnQgaXMgcmVwbGFjZWQgYnkgd2hhdCB0aGUgbW9kdWxlIGhhcyB0byBkaXNwbGF5LCB0aGlzIGlzIHZlcnkgaW1wb3J0YW50IGFzIGl0IGRldGVybWluZXMsIGZvciBpbnN0YW5jZSwgd2hhdCBwYWdlIHRlbXBsYXRlIHNob3VsZCBiZSB1c2VkLjwvcD4KCQk8cD5XaGVuIHRoZSA8Yj4vZGV0YWlsLzwvYj4gaXMgaW4gdGhlIHVybCwgdGhlIG1vZHVsZSBrbm93cyB0aGF0IHdlJ3JlIGRpc3BsYXlpbmcgdGhlIGRldGFpbHMgb2YgYSBsYXN0IGxldmVsIGl0ZW0uIEFsbCB3ZSBuZWVkIHRvIHNwZWNpZnkgaXMgd2hpY2ggaXRlbSB0byBkaXNwbGF5LCBhbmQgdGhhdHMgdGhlIDxiPm5hbWVvZm9iamVjdDwvYj4gcGFydC48L3A+CgkJPHA+V2hlbiB0aGUgPGI+L2RldGFpbC88L2I+IDxpPmlzbid0PC9pPiBpbiB0aGUgdXJsLCB0aGUgbW9kdWxlIGNvbmNsdWRlcyB0aGF0IHdlIGFyZSBkaXNwbGF5aW5nIGEgbGlzdCBvZiBzb21ldGhpbmcqLiBUaGUgZWxlbWVudHMgb2Ygd2hhdCBsZXZlbCBhcmUgZGlzcGxheWVkIGlzIGRldGVybWluZWQgYnkgd2hhdGV2ZXIgaXMgaW4gdGhlIHBsYWNlIG9mICIvZGV0YWlsLyI6IGluIG91ciBjYXNlLCA8Yj5uYW1lb2ZsZXZlbC88L2I+LiBBIHVybCBsaWtlIDxjb2RlPmh0dHA6Ly93d3cubXlkb21haW4uY29tL25hbWVvZm1vZHVsZS9wcm9kdWN0LzUvPC9jb2RlPiB3b3VsZCBiZSB2YWxpZCwgYW5kIHdvdWxkIHRlbGwgdGhlIG1vZHVsZSB0byBkaXNwbGF5IGFsbCBlbGVtZW50cyBvZiB0aGUgInByb2R1Y3QiIGxldmVsLjxici8+CgkJVGhlIDxiPi9uYW1lb2ZwYXJlbnQvPC9iPiBwYXJ0IHRlbGxzIHRoZSBtb2R1bGUgdG8gZGlzcGxheSBvbmx5IHRoZSBpdGVtcyBvZiB0aGUgY2hvc2VuIGxldmVsIHRoYXQgaGF2ZSAibmFtZW9mcGFyZW50IiBhcyBhIHBhcmVudC48L3A+CgkJPHA+VGhlIHByZXR0eSB1cmxzIGFyZSByZWdpc3RlcmVkIGluIHRoZSBTZXRQYXJhbWV0ZXJzKCkgZnVuY3Rpb24gb2YgdGhlIG1haW4gbW9kdWxlIGZpbGUgKHdoaWNoIHNob3VsZCBiZSBzb21ldGhpbmcgbGlrZSBOQU1FT0ZZT1VSTU9EVUxFLm1vZHVsZS5waHApLiBPcGVuIHRoaXMgZmlsZSwgYW5kIGRvIGEgc2VhcmNoIHRvIGZpbmQgdGhlIGZ1bmN0aW9uLiBXaGF0IG1hdHRlcnMgaW4gdGhlcmUgaXMgdGhlIGxpbmVzIHRoYXQgbG9vayBsaWtlIHRoaXMgKHdpdGhvdXQgdGhlIG51bWJlcnMgb24gdGhlIGxlZnQpIDo8L3A+CgkJPHByZSBjbGFzcz0iY29kZSI+CiMxCSR0aGlzLT5SZWdpc3RlclJvdXRlKCIvW25OXWFtZW9mbW9kdWxlXC8oW0RkXWV0YWlsKVwvKD9QPGFsaWFzPlteXC9dKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iKTsKIzIJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9bbk5dYW1lb2Ztb2R1bGVcLyg/UDx3aGF0PlteXC9dKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iKTsKIzMJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9bbk5dYW1lb2Ztb2R1bGVcLyg/UDx3aGF0PlteXC9dKylcLyg/UDxwYXJlbnQ+W15cL10rKVwvKD9QPHJldHVybmlkPlswLTldKykkLyIpOwojNAkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgiL1tuTl1hbWVvZm1vZHVsZVwvKD9QPHdoYXQ+W15cL10rKVwvKD9QPHBhZ2VpbmRleD5bMC05XSspXC8oP1A8bmJwZXJwYWdlPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iKTsKIzUJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9bbk5dYW1lb2Ztb2R1bGVcLyg/UDx3aGF0PlteXC9dKylcLyg/UDxwYXJlbnQ+W15cL10rKVwvKD9QPHBhZ2VpbmRleD5bMC05XSspXC8oP1A8bmJwZXJwYWdlPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iKTs8L3ByZT4KCQk8cD5FYWNoIGxpbmUgaGVyZSByZWdpc3RlciBhIGRpZmZlcmVudCB1cmwgc3RydWN0dXJlLjxici8+CgkJTGluZSAjMSByZWdpc3RlcnMgdGhlIFR5cGUgQSB1cmxzLjxici8+CgkJQWxsIHRoZSBvdGhlciBsaW5lcyByZWdpc3RlciBUeXBlIEIgdXJsczo8YnIvPgoJCUxpbmUgIzIgaXMgZm9yIHdoZW4gbm8gcGFyZW50IGlzIHNwZWNpZmllZCwgbGlrZSBpbiA8Y29kZT5odHRwOi8vd3d3Lm15ZG9tYWluLmNvbS9uYW1lb2Ztb2R1bGUvbmFtZW9mbGV2ZWwvNTwvY29kZT48YnIvPgoJCUxpbmUgIzMgaXMgdXNlZCB3aGVuIGEgcGFyZW50IGlzIHNwZWNpZmllZCwgbGlrZSBpbiA8Y29kZT5odHRwOi8vd3d3Lm15ZG9tYWluLmNvbS9uYW1lb2Ztb2R1bGUvbmFtZW9mbGV2ZWwvbmFtZW9mcGFyZW50LzU8L2NvZGU+PGJyLz4KCQlMaW5lICM0IGlzIGEgdmFyaWF0aW9uIG9mIGxpbmUgIzIgdGhhdCBoYW5kbGVzIHNlcGFyYXRpb24gaW50byBwYWdlcyAod2hlbiB3ZSBzZXBhcmF0ZSBpbnRvIHBhZ2VzLCB3ZSBuZWVkIHRvIGtub3cgd2hpY2ggcGFnZSB3ZSdyZSBsb29raW5nIGF0KS4gRm9yIGV4YW1wbGUsIDxjb2RlPmh0dHA6Ly93d3cubXlkb21haW4uY29tL25hbWVvZm1vZHVsZS9wcm9kdWN0LzIvMTAvNTwvY29kZT4gd291bGQgbWVhbiB0aGF0IHdlIGFyZSBsb29raW5nIGF0IHRoZSBsaXN0IG9mIGFsbCBpdGVtcyBvZiB0aGUgInByb2R1Y3QiIGxldmVsLCB0aGF0IHdlIGFyZSBzZXBhcmF0aW5nIGluIHBhZ2VzIHdpdGggIjEwIiBlbGVtZW50cyBwZXIgcGFnZSwgYW5kIHRoYXQgd2UgYXJlIGxvb2tpbmcgYXQgdGhlIHBhZ2UgIjIiLjxici8+CgkJSW4gcHJldHR5IG11Y2ggdGhlIHNhbWUgd2F5LCBsaW5lICM1IGlzIGEgdmFyaWF0aW9uIG9mIGxpbmUgIzMuPC9wPgoJCTxwPlRoZSA8PC8+cGFyYW1uYW1lPiB0aGluZyBtZWFucyB0aGF0IHdoYXRldmVyIGlzIGluIHRoYXQgcGxhY2UgaW4gdGhlIHVybCB3aWxsIGJlIGludGVycHJldGVkIGFzIHRoZSAicGFyYW1uYW1lIiBwYXJhbWV0ZXIuIEluIG90aGVyIHdvcmRzLCBlYWNoIHVybCBzdHJ1Y3R1cmUgb3V0cHV0IGRpZmZlcmVudCBwYXJhbWV0ZXJzIHRoYXQgd2lsbCB0ZWxsIHRoZSBtb2R1bGUgd2hhdCB0byBkby48L3A+CgkJPHA+PGI+TW9kaWZ5aW5nIGFsbCB0aGlzLi4uPC9iPjxici8+CgkJVGhlcmUgYXJlIHNvbWUgdGhpbmdzIHRoYXQgeW91IGNhbiBjaGFuZ2UsIHNvbWUgdGhhdCB5b3UgY2FuJ3QsIGFuZCBzb21lIHRoYXQgeW91IGNhbiBhdCBhIHByaWNlLjwvcD4KCQk8cD5MZXQncyBzYXkgeW91IGRvbid0IGxpa2UgdGhlIHdvcmQgIjxiPmRldGFpbDwvYj4iIGluIHRoZSB1cmwsIGFuZCB3b3VsZCBsaWtlIHRvIGNoYW5nZSBpdCB0byBzb21ldGhpbmcgZWxzZSoqLiBGaXJzdCwgbGV0J3Mgbm90IHRoYXQgdGhlICJbRGRdIiBwYXJ0IGluIHRoZSB1cmwgc3RydWN0dXJlIHNheXMgdGhhdCB0aGVyZSBjYW4gYmUgZWl0aGVyIGEgIkQiIG9yIGEgImQiIGhlcmUuIAoJCUluIG90aGVyIHdvcmRzLCA8Y29kZT5odHRwOi8vd3d3Lm15ZG9tYWluLmNvbS9uYW1lb2Ztb2R1bGUvZGV0YWlsL25hbWVvZm9iamVjdC81LzwvY29kZT4gaXMgdGhlIHNhbWUgdGhpbmcgYXMgPGNvZGU+aHR0cDovL3d3dy5teWRvbWFpbi5jb20vbmFtZW9mbW9kdWxlL0RldGFpbC9uYW1lb2ZvYmplY3QvNS88L2NvZGU+Ljxici8+CgkJWW91IGNhbiBjaGFuZ2UgdGhlIHdvcmQgImRldGFpbCIgZm9yIHNvbWV0aGluZyBlbHNlLCBidXQgeW91IGhhdmUgdG8gYmUgY2FyZWZ1bCBhbmQgcmVtZW1iZXIgdGhhdCB0aGUgdXJsIGNhcnJ5IGFsbCBuZWNlc3NhcnkgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBzaG91bGQgYmUgc2hvd24uIEZvciBleGFtcGxlLCBpZiBvbmUgb2YgeW91ciBsZXZlbCBpcyBuYW1lZCAicHJvZHVjdCIsIHlvdSBjb3VsZG4ndCByZXBsYWNlIHRoZSB3b3JkICJkZXRhaWwiIGJ5IHRoZSB3b3JkICJwcm9kdWN0Ii4gSWYgeW91IGRpZCwgdGhlIG1vZHVsZSBjb3VsZG4ndCBrbm93IGlmIHRoZSB3b3JkICJwcm9kdWN0IiBpdCBlbmNvdW50ZXJzIG1lYW5zIHRoYXQgd2UncmUgd2F0Y2hpbmcgdGhlIGRldGFpbHMgb2YgYW4gaXRlbSwgb3IgaWYgaXQgbWVhbnMgdGhhdCB3ZSBhcmUgd2F0Y2hpbmcgYSBsaXN0IG9mIHRoZSBpdGVtcyBpbiB0aGUgInByb2R1Y3QiIGxldmVsLjwvcD4KCQk8cD5TbyBsZXQncyBzYXkgd2Ugd2FudCB0byBjaGFuZ2UgImRldGFpbCIgZm9yICJ2aWV3IiAocHJvdmlkZWQgdGhhdCB5b3UgZG9uJ3QgaGF2ZSBhIGxldmVsIGNhbGxlZCAidmlldyIpLiBJbiBsaW5lICMxLCB3ZSB3b3VsZCByZXBsYWNlIDxjb2RlPihbRGRdZXRhaWwpPC9jb2RlPiB3aXRoIDxjb2RlPih2aWV3KTwvY29kZT4gKG9yIDxjb2RlPihbVnZdaWV3KTwvY29kZT4sIGlmIHlvdSB3YW50IGl0IHRvIGFjY2VwdCBib3RoICJWaWV3IiBhbmQgInZpZXciKS48L3A+CgkJPHA+PHU+QnV0IHRoaXMgaXMgbm90IGVub3VnaC48L3U+IFlvdSd2ZSBjaGFuZ2VkIHRoZSB3YXkgdGhlIHVybHMgYXJlIGludGVycHJldGVkLCBidXQgbm90IHRoZSB3YXkgdGhleSBhcmUgY3JlYXRlZC4gSW4gdGhlIHNhbWUgZmlsZSwgc2VhcmNoIGZvciB0aGUgQnVpbGRQcmV0dHlVUkxzIGZ1bmN0aW9uLiBJdCBzaG91bGQgY29udGFpbiBzb21ldGhpbmcgbGlrZSB0aGlzOjwvcD4KCQk8cHJlIGNsYXNzPSJjb2RlIj4KIzEJCSRwcmV0dHl1cmwgPSAibmFtZW9mbW9kdWxlLyI7CiMyCQlpZihpc3NldCgkcGFyYW1zWyJhbGlhcyJdKSl7CiMzCQkJJHByZXR0eXVybCAuPSAiZGV0YWlsLyIuJHBhcmFtc1siYWxpYXMiXTsKIzQJCX1lbHNlaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pKXsKIzUJCQkkcHJldHR5dXJsIC49ICRwYXJhbXNbIndoYXQiXS4iLyIuJHBhcmFtc1sicGFyZW50Il07CiM2CQl9ZWxzZXsKIzcJCQkkcHJldHR5dXJsIC49ICRwYXJhbXNbIndoYXQiXTsKIzgJCX0KIzkJCWlmKCFpc3NldCgkcGFyYW1zWyJhbGlhcyJdKSAmJiBpc3NldCgkcGFyYW1zWyJwYWdlaW5kZXgiXSkgJiYgaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pKQkkcHJldHR5dXJsIC49ICIvIi4kcGFyYW1zWyJwYWdlaW5kZXgiXS4iLyIuJHBhcmFtc1sibmJwZXJwYWdlIl07CiMxMAkJJHByZXR0eXVybCAuPSAiLyIuJHJldHVybmlkOwojMTEJCXJldHVybiAkcHJldHR5dXJsOzwvcHJlPgoJCTxwPlRoaXMgZnVuY3Rpb24gdHJhbnNmb3JtcyB0aGUgcGFyYW1ldGVycyBpbnRvIGEgdXJsLjxici8+CgkJTGluZSAjMSBzdGFydHMgd2l0aCB0aGUgbW9kdWxlJ3MgbmFtZS48YnIvPgoJCUluIGxpbmVzICMyLSMzLCBpZiB3ZSB3YW50IHRvIHdhdGNoIHRoZSBkZXRhaWxzIG9mIGFuIGl0ZW0sIHdlIGFkZCB0aGUgImRldGFpbC8iIGJsb2NrIHRvIHRoZSB1cmwuPGJyLz4KCQlJZiB0aGlzIGlzbid0IHRoZSBjYXNlLCB3ZSBhZGQgdGhlIGxldmVsIG9mIHRoZSBpdGVtcyB3ZSB3YW50IHRvIHNob3cgYW5kLCBpZiBzcGVjaWZpZWQsIHRoZSBwYXJlbnQgKGxpbmVzICM0IHRvICM4KS4gSW4gbGluZSAjOSwgaWYgd2UncmUgc2VwYXJhdGluZyBpbnRvIHBhZ2VzIHdlIGFkZCB0aGUgcGFnZSB3ZSB3aXNoIHRvIGxvb2sgYW5kIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgcGVyIHBhZ2UuCgkJRmluYWxseSwgaW4gbGluZSAjMTAsIHdlIGFkZCB0aGUgaWQgb2YgdGhlIHBhZ2UgaW4gd2hpY2ggaXQgc2hvdWxkIGJlIGRpc3BsYXllZC48L3A+CgkJPHA+SWYgd2UgY2hhbmdlZCAiW0RkXWV0YWlsIiB0byAiW1Z2XWlldyIgaW4gdGhlIFNldFBhcmFtZXRlcnMoKSBmdW5jdGlvbiwgd2UgbXVzdCBhbHNvIGNoYW5nZSB0aGUgImRldGFpbC8iIGluIGxpbmUgIzMgZm9yICJ2aWV3LyIuPGJyLz5Ob3csIHRoaXMgc2hvdWxkIGRvIHRoZSB0cmljay48L3A+CgkJPHA+PGI+Q2FuIEkgZ2V0IHJpZCBvZiB0aGUgcmV0dXJuaWQ/PC9iPjxici8+Tm8sIG5vdCByZWFsbHkuIEhvd2V2ZXIsIGlmIHlvdSB0aGUgbW9kdWxlIGlzIDx1PmFsd2F5czwvdT4gZGlzcGxheWVkIGluIHRoZSBzYW1lIHBhZ2UgKGkuZS4sIGlmIGl0J3MgPHU+YWx3YXlzPC91PiB0aGUgc2FtZSBudW1iZXIpLCB3ZSBjb3VsZCByZW1vdmUgaXQgZnJvbSB0aGUgdXJsIGFuZCBwcm92aWRlIGl0IGluIGFub3RoZXIgd2F5LiBIZXJlJ3MgaG93IHRvIGRvIGl0OjwvcD4KCQk8cD5MZXQncyBzYXkgdGhlIGlkIG9mIHRoZSBwYWdlIGluIHdoaWNoIHRoZSBtb2R1bGUgaXMgYWx3YXlzIGNhbGxlZCAodGhlIG51bWJlciB3ZSdyZSB0cnlpbmcgdG8gZ2V0IHJpZCBvZikgaXMgNS48YnIvPgoJCTEuIGluIHRoZSBTZXRQYXJhbWV0ZXJzKCkgZnVuY3Rpb24gb2YgeW91ciBtb2R1bGUsIHJlbW92ZSBhbGwgPGNvZGU+XC8oP1A8cmV0dXJuaWQ+WzAtOV0rKTwvY29kZT4gcGFydHMuIChpdCB3b3VsZCBiZSBhIGdvb2QgaWRlYSB0byBjb3B5IGFuZCBwYXN0ZSB0aGUgb3JpZ2luYWwgbGluZXMganVzdCBpbiBjYXNlLi4uIHlvdSBjYW4gY29tbWVudCBsaW5lcyB1c2luZyA8Y29kZT4vLzwvY29kZT4pLjxici8+CgkJMi4gaW4gdGhlIEJ1aWxkUHJldHR5VVJMcygpIGZ1bmN0aW9uIG9mIHlvdXIgbW9kdWxlLCBjb21tZW50IChhZGQgPGNvZGU+Ly88L2NvZGU+IGJlZm9yZSBpdCkgdGhlIGxpbmUgIzEwICg8Y29kZT4vLyAkcHJldHR5dXJsIC49ICIvIi4kcmV0dXJuaWQ7PC9jb2RlPikuPGJyLz4KCQkzLiB3ZSBub3cgbmVlZCB0byBwcm92aWRlIHRoZSBpZC4gR28gYmFjayB0byB0aGUgU2V0UGFyYW1ldGVycygpIGZ1bmN0aW9uLCBhbmQgZm9yIGVhY2ggbGluZSwganVzdCBhZnRlciB0aGUgPGNvZGU+JCIvPC9jb2RlPiBwYXJ0IChhbmQgYmVmb3JlIHRoZSBjbG9zdXJlIG9mIHRoZSBwYXJlbnRoZXNpcyksIGFkZCA8Y29kZT4sIGFycmF5KCJyZXR1cm5pZCI9PjUpPC9jb2RlPiAod2l0aCB0aGUgY29tbWEpLCB3aGVyZSAiNSIgaXMgeW91ciBpZC4gRm9yIGV4YW1wbGUsIHRoaXM6PGJyLz4KCQk8Y29kZT4kdGhpcy0+UmVnaXN0ZXJSb3V0ZSgiL1tuTl1hbWVvZm1vZHVsZVwvKFtEZF1ldGFpbClcLyg/UDxhbGlhcz5bXlwvXSspJC8iKTs8L2NvZGU+PGJyLz4KCQlzaG91bGQgYmVjb21lOjxici8+CgkJPGNvZGU+JHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9bbk5dYW1lb2Ztb2R1bGVcLyhbRGRdZXRhaWwpXC8oP1A8YWxpYXM+W15cL10rKSQvIiwgYXJyYXkoInJldHVybmlkIj0+NSkpOzwvY29kZT48YnIvPgoJCShSZW1lbWJlciBub3QganVzdCB0byBjb3B5IGFuZCBwYXN0ZSBsaW5lcyBmcm9tIHRoaXMgaGVscCwgYmVjYXVzZSB5b3VyIG1vZHVsZSBpcyBwcm9iYWJseSA8aT5ub3Q8L2k+IG5hbWVkICJuYW1lb2Ztb2R1bGUiKTxici8+CgkJVGhpcyBzaG91bGQgZG8gdGhlIHRyaWNrLCBidXQgdGhlIG1vZHVsZSB3aWxsIG5ldmVyIHVzZSBhbm90aGVyIHBhZ2UgdG8gZGlzcGxheSBpdHMgY29udGVudC48L3A+CgkJPHA+PHU+RmluYWwgbm90aWNlOjwvdT4gSWYgeW91IGNoYW5nZSB0aGUgcHJldHR5IHVybHMgYW5kIG1ha2UgdXNlIG9mIHRoZSAiaXNfc2VsZWN0ZWQiIGF0dHJpYnV0ZXMgaW4geW91ciB0ZW1wbGF0ZXMsIHlvdSBtaWdodCBhbHNvIGhhdmUgdG8gY2hhbmdlIHRoZSBnZXRfbW9kdWxlR2V0VmFycygpIGZ1bmN0aW9uIChpbiB0aGUgbWFpbiBtb2R1bGUgZmlsZSkuPC9wPgoJCTxwIHN0eWxlPSJmb250LXNpemU6IDExcHg7Ij48YnIvPiogaWYgdGhlcmUgaXMgb25seSBvbmUgaXRlbSB0byBkaXNwbGF5LCBhbmQgaWYgeW91IGFyZW4ndCB1c2luZyB0aGUgImZvcmNlbGlzdCIgcGFyYW1ldGVyLCB0aGUgZGV0YWlscyB3aWxsIGJlIGRpc3BsYXllZCBpbnN0ZWFkIG9mIGEgbGlzdC48YnIvPgoJCSoqIG5vLCB5b3UgY2FuJ3QganVzdCBnZXQgcmlkIG9mIGl0LCB1bmxlc3MgeW91IGNoYW5nZSBhbGwgcmVnaXN0ZXJlZCB1cmxzLi4uIGZvciBleGFtcGxlLCBpbnN0ZWFkIG9mIGhhdmluZyBhICIvZGV0YWlsLyIsIGFsbCBvdGhlciB1cmxzIGNvdWxkIGhhdmUgYSAiL2xpc3QvIiBibG9jay48L3A+CgkJPC9kaXY+CgkJPGEgY2xhc3M9ImJhY2t0b3RvcCIgaHJlZj0iI3RvcCI+QmFjayB0byB0b3A8L2E+Cgk8L2Rpdj4KCQoKCTxkaXYgY2xhc3M9InFkaXYiIGlkPSJxOCI+CgkJPGRpdiBjbGFzcz0icXVlc3Rpb24iPkNhbiBJIG1ha2UgbXkgbW9kdWxlIGFsd2F5cyBhY3QgYXMgaWYgdGhlICJmb3JjZWxpc3QiIHBhcmFtZXRlciB3YXMgZW5hYmxlZD88L2Rpdj4KCQk8ZGl2IGNsYXNzPSJhbnN3ZXIiPgoJCTxwPjxiPlllcy48L2I+PC9wPgoJCTxwPk9wZW4gdGhlIGFjdGlvbi5kZWZhdWx0LnBocCBmaWxlLiBBcm91bmQgdGhlIGxpbmUgIzE2IHlvdSBzaG91bGQgc2VlIHNvbWV0aGluZyBsaWtlIHRoaXM6PC9wPgoJCTxwcmUgY2xhc3M9ImNvZGUiPgoJCSRmb3JjZWxpc3QgPSBpc3NldCgkcGFyYW1zWyJmb3JjZWxpc3QiXSk/JHBhcmFtc1siZm9yY2VsaXN0Il06ZmFsc2U7PC9wcmU+CgkJPHA+V2hhdCB0aGlzIHNheXMgaXMgdGhhdCBpZiB0aGUgZm9yY2VsaXN0IHBhcmFtZXRlciBoYXMgYmVlbiBzZXQsIHdlIHVzZSB0aGlzIHZhbHVlLCBhbmQgaWYgaXQgaGFzbid0LCB3ZSB1c2UgdGhlIHZhbHVlICJmYWxzZSIuPGJyLz4KCQlDaGFuZ2luZyB0aGlzIDxjb2RlPmZhbHNlPC9jb2RlPiB0byBhIDxjb2RlPnRydWU8L2NvZGU+IHdvdWxkIG1lYW4gdGhhdCB0aGUgZm9yY2VsaXN0IG1vZGUgaXMgYWx3YXlzIGVuYWJsZWQsIHVubGVzcyBzcGVjaWZpZWQgb3RoZXJ3aXNlLjwvcD4KCQk8cD5Ob3RpY2UgdGhhdCB0d28gbGluZXMgYmVsb3csIHlvdSBjb3VsZCBkbyB0aGUgc2FtZSB0aGluZyBmb3IgdGhlICJpbmxpbmUiIHBhcmFtZXRlci4uLjwvcD4KCQk8L2Rpdj4KCQk8YSBjbGFzcz0iYmFja3RvdG9wIiBocmVmPSIjdG9wIj5CYWNrIHRvIHRvcDwvYT4KCTwvZGl2PgoJCgkJCjwvZGl2PgoKPC9ib2R5Pgo8L2h0bWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif.old</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></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[PD9waHANCgkkbGFuZ1siZnJpZW5kbHluYW1lIl0gPSAiWW91VHViZVBsYXllciI7DQoJJGxhbmdbIm1vZGRlc2NyaXB0aW9uIl0gPSAiRW1iZWQgWW91VHViZSBQbGF5ZXIiOw0KCSRsYW5nWyJhZG1pbmRlc2NyaXB0aW9uIl0gPSAiRW1iZWQgWW91VHViZSBQbGF5ZXIiOw0KDQoJJGxhbmdbInBhZ2VtZW51ZGVsaW1pdGVyIl0gPSAiJm5ic3A7JiMxMjQ7Jm5ic3A7IjsNCgkkbGFuZ1sicGFnZW1lbnVvdmVyZmxvdyJdID0gIiZuYnNwOy4uLiZuYnNwOyI7DQoJDQovLyBzdHJpbmdzIGZvciBjYXRlZ29yeQ0KCSRsYW5nWyJjYXRlZ29yeSJdID0gIkNhdGVnb3J5IjsNCgkkbGFuZ1siY2F0ZWdvcnlfcGx1cmFsIl0gPSAiQ2F0ZWdvcmllcyI7DQoJJGxhbmdbImFkZF9jYXRlZ29yeSJdID0gIkFkZCBjYXRlZ29yeSI7DQoJJGxhbmdbImVkaXRfY2F0ZWdvcnkiXSA9ICJFZGl0IGNhdGVnb3J5IjsNCgkkbGFuZ1siZmlsdGVyYnlfY2F0ZWdvcnkiXSA9ICJGaWx0ZXIgYnkgY2F0ZWdvcnkiOw0KCSRsYW5nWyJjYXRlZ29yeV9kZXNjcmlwdGlvbiJdID0gIkRlc2NyaXB0aW9uIjsNCgkkbGFuZ1sicHJvbXRfZGVsZXRlY2F0ZWdvcnkiXSA9ICJZb3UgYXJlIGFib3V0IHRvIGRlbGV0ZSB0aGlzIGNhdGVnb3J5ICglcyk/IEFsbCBjaGlsZHJlbiB3aWxsIGJlIGxvc3QuIERvIHlvdSB3aXNoIHRvIGNvbnRpbnVlPyI7DQoJDQovLyBzdHJpbmdzIGZvciB2aWRlb3MNCgkkbGFuZ1sidmlkZW9zIl0gPSAiVmlkZW9zIjsNCgkkbGFuZ1sidmlkZW9zX3BsdXJhbCJdID0gIlZpZGVvcyI7DQoJJGxhbmdbImFkZF92aWRlb3MiXSA9ICJBZGQgdmlkZW8iOw0KCSRsYW5nWyJlZGl0X3ZpZGVvcyJdID0gIkVkaXQgdmlkZW8iOw0KCSRsYW5nWyJmaWx0ZXJieV92aWRlb3MiXSA9ICJGaWx0ZXIgYnkgdmlkZW8iOw0KCSRsYW5nWyJ2aWRlb3NfdmlkZW9pZCJdID0gIlZpZGVvaWQiOw0KCSRsYW5nWyJ2aWRlb3NfZGVzY3JpcHRpb24iXSA9ICJEZXNjcmlwdGlvbiI7DQoJJGxhbmdbInByb210X2RlbGV0ZXZpZGVvcyJdID0gIllvdSBhcmUgYWJvdXQgdG8gZGVsZXRlIHRoaXMgdmlkZW8gKCVzKT8gRG8geW91IHdpc2ggdG8gY29udGludWU/IjsNCgkkbGFuZ1sidGVtcGxhdGVoZWxwIl0gPSAnPGgzPlNtYXJ0eSB2YXJpYWJsZXMgZm9yIGxpc3QgdGVtcGxhdGUgb2Y6IGNhdGVnb3J5PC9oMz48dWw+DQoJPGxpPiRsZXZlbHRpdGxlPC9saT4NCgk8bGk+JHBhcmVudG9iaiAoaWYgcGFyZW50IGlzIHNwZWNpZmllZCk8L2xpPg0KCTxsaT4kaXRlbWxpc3QgKGFycmF5IG9mIGl0ZW1zKTwvbGk+DQoJPGxpPiRpdGVtLSZndDtpc19zZWxlY3RlZDwvbGk+DQoJPGxpPiRpdGVtLSZndDtuYW1lPC9saT4NCgk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgk8bGk+JGl0ZW0tJmd0O2RldGFpbGxpbms8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsdXJsPC9saT4NCgk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgk8bGk+JGl0ZW0tJmd0O2lzZGVmYXVsdDwvbGk+DQoJPC91bD48YnIvPjxoci8+PGJyLz48aDM+U21hcnR5IHZhcmlhYmxlcyBmb3IgbGlzdCB0ZW1wbGF0ZSBvZjogdmlkZW9zPC9oMz48dWw+DQoJPGxpPiRsZXZlbHRpdGxlPC9saT4NCgk8bGk+JHBhcmVudG9iaiAoaWYgcGFyZW50IGlzIHNwZWNpZmllZCk8L2xpPg0KCTxsaT4kaXRlbWxpc3QgKGFycmF5IG9mIGl0ZW1zKTwvbGk+DQoJPGxpPiRpdGVtLSZndDtpc19zZWxlY3RlZDwvbGk+DQoJPGxpPiRpdGVtLSZndDtuYW1lPC9saT4NCgk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgk8bGk+JGl0ZW0tJmd0O2RldGFpbGxpbms8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsdXJsPC9saT4NCgk8bGk+JGl0ZW0tJmd0O3ZpZGVvaWQ8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7ZGVzY3JpcHRpb248L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2lkPC9saT4NCgk8bGk+JGl0ZW0tJmd0O3BhcmVudF9hbGlhczwvbGk+DQoJPGxpPiRpdGVtLSZndDtwYXJlbnRfbmFtZTwvbGk+DQoJPGxpPiRpdGVtLSZndDtwYXJlbnRsaW5rPC9saT4NCgk8bGk+JHRpZW0tJmd0O3BhcmVudHVybDwvbGk+DQoJPGxpPiRpdGVtLSZndDtpc2RlZmF1bHQ8L2xpPg0KCTwvdWw+PGJyLz48aHIvPjxici8+PGgzPlNtYXJ0eSB2YXJpYWJsZXMgZm9yIHRoZSBkZXRhaWwgdGVtcGxhdGU8L2gzPjx1bD4NCgk8bGk+JGxldmVsdGl0bGU8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJPGxpPiRpdGVtLSZndDthbGlhczwvbGk+DQoJPGxpPiRpdGVtLSZndDt2aWRlb2lkPC9saT4NCgk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgk8bGk+JGl0ZW0tJmd0O3BhcmVudF9pZDwvbGk+DQoJPGxpPiRpdGVtLSZndDtwYXJlbnRfYWxpYXM8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X25hbWU8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7cGFyZW50bGluazwvbGk+DQoJPGxpPiR0aWVtLSZndDtwYXJlbnR1cmw8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgk8bGk+JGxhYmVscy0+Li4uPC9saT4NCgk8L3VsPjxici8+PHA+SW4gdGhlIGZpbmFsIGxldmVsIGRldGFpbCB0ZW1wbGF0ZSwgdXNlIHRoZSBvYmplY3QgJGxhYmVscyB0byBwcmludCBsYW5ndWFnZS1zZW5zaWJsZSBmaWVsZCBsYWJlbHMgKCRsYWJlbHMtPmZpZWxkbmFtZSkuPC9wPjxwPllvdSBtYXkgcmVhY2ggdGhlIHBhcmVudCBvYmplY3RzIHVzaW5nICRpdGVtLT5wYXJlbnRfb2JqZWN0LT5wYXJlbnRfb2JqZWN0LT4uLi4gYW5kIHNvIG9uLjwvcD48cD48YnIvPjxoMj5CcmVhZGNydW1iczwvaDI+DQoJCQkJPHA+V2hlbiB5b3UgYXJlIGluIGEgbW9kdWxlIHRlbXBsYXRlLCB5b3UgbWF5IGNhbGwgdGhlIGJyZWFkY3J1bWJzIHVzaW5nIHRoZSB7eW91dHViZXBsYXllcl9icmVhZGNydW1ic30gdGFnLiBZb3UgbWF5IHVzZSB0aGUgc2FtZSBwYXJhbWV0ZXJzIGFzIHRoZSBjbXMgY29yZSBicmVhZGNydW1icyB0YWcgKGluaXRpYWwsIGRlbGltaXRlciwgY2xhc3NpZCwgY3VycmVudGNsYXNzaWQpLCBhcyB3ZWxsIGFzIHRoZSAic3RhcnRsZXZlbCIgcGFyYW1ldGVyLjxici8+DQoJCQkJT3V0c2lkZSBtb2R1bGUgdGVtcGxhdGVzLCBhbnl3aGVyZSBvbiB0aGUgcGFnZSwgeW91IG1heSBjYWxsIHRoZSBicmVhZGNydW1icyBhY3Rpb24ge2Ntc19tb2R1bGUgbW9kdWxlPSJ5b3V0dWJlcGxheWVyIiBhY3Rpb249ImJyZWFkY3J1bWJzIn0sIG9uY2UgYWdhaW4gdXNpbmcgdGhlIHNhbWUgcGFyYW1ldGVycy48L3A+PC9wPic7DQoNCi8vIEZvciBmaWxlIGZpZWxkcw0KJGxhbmdbIlJlbW92ZSJdID0gIlJlbW92ZSI7DQokbGFuZ1siYnJvd3NlZmlsZXN0aXRsZSJdID0gIlNlbGVjdCBhIGZpbGUgb3IgdXBsb2FkIGEgbmV3IGZpbGUgYmVsb3cuIjsNCiRsYW5nWyJzaG93aW5nZGlyIl0gPSAiU2hvd2luZyBkaXJlY3RvcnkiOw0KJGxhbmdbImJyb3dzZWZpbGVzcmVzaXplIl0gPSAiVGhlIHBpY3R1cmUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlc2l6ZWQgZm9yIHRoZSBtb2R1bGUuIjsNCiRsYW5nWyJicm93c2VmaWxlY3VycmVudHBhdGgiXSA9ICJDdXJyZW50bHkgc2VlaW5nIGZpbGVzIGluIDogIjsNCiRsYW5nWyJwYXJlbnRkaXIiXSA9ICJQYXJlbnQgRGlyZWN0b3J5IjsNCiRsYW5nWyJhZGRhZmlsZSJdID0gIkFkZCBhIGZpbGUiOw0KDQovLyBzdHJpbmdzIGZvciBnZW5lcmFsIGZpZWxkcw0KJGxhbmdbImlkIl0gPSAiaWQiOw0KJGxhbmdbIm5hbWUiXSA9ICJOYW1lIjsNCiRsYW5nWyJhbGlhcyJdID0gIkFsaWFzIjsNCiRsYW5nWyJpc2RlZmF1bHQiXSA9ICJJcyBkZWZhdWx0PyI7DQokbGFuZ1siYWN0aXZlIl0gPSAiQWN0aXZlIjsNCiRsYW5nWyJwYXJlbnQiXSA9ICJQYXJlbnQiOw0KJGxhbmdbIm5iY2hpbGRyZW4iXSA9ICJOYiBvZiBpdGVtcyI7DQoJDQovLyBHRU5FUkFMDQokbGFuZ1siYWN0aXZhdGUiXSA9ICJBY3RpdmF0ZSI7DQokbGFuZ1sidW5hY3RpdmF0ZSJdID0gIlR1cm4gb2ZmIjsNCiRsYW5nWyJZZXMiXSA9ICJZZXMiOw0KJGxhbmdbIk5vIl0gPSAiTm8iOw0KJGxhbmdbIkFjdGlvbnMiXSA9ICJBY3Rpb25zIjsNCiRsYW5nWyJyZW9yZGVyIl0gPSAiUmVvcmRlciI7DQokbGFuZ1sibGlzdHRlbXBsYXRlIl0gPSAiTGlzdCB0ZW1wbGF0ZSBmb3IiOw0KJGxhbmdbInRlbXBsYXRlcyJdID0gIlRlbXBsYXRlcyI7DQokbGFuZ1sidGVtcGxhdGUiXSA9ICJUZW1wbGF0ZSI7DQokbGFuZ1siZGVmYXVsdHRlbXBsYXRlcyJdID0gIkRlZmF1bHQgdGVtcGxhdGVzIjsNCiRsYW5nWyJ0ZW1wbGF0ZXZhcnMiXSA9ICJUZW1wbGF0ZSB2YXJpYWJsZXMiOw0KJGxhbmdbImVkaXR0ZW1wbGF0ZSJdID0gIkVkaXQgdGVtcGxhdGUiOw0KJGxhbmdbImRlZnRlbXBsYXRlZm9yIl0gPSAiRGVmYXVsdCBsaXN0IHRlbXBsYXRlIGZvciBsZXZlbCAiOw0KJGxhbmdbImRlZmRldGFpbHRlbXBsYXRlIl0gPSAiRGVmYXVsdCBkZXRhaWwgdGVtcGxhdGUiOw0KJGxhbmdbImFkZHRlbXBsYXRlIl0gPSAiQWRkIHRlbXBsYXRlIjsNCiRsYW5nWyJmaWx0ZXJieSJdID0gIkZpbHRlciBieSI7DQokbGFuZ1sic2hvd2FsbCJdID0gIlNob3cgYWxsIChubyBmaWx0ZXIpIjsNCiRsYW5nWyJmaWVsZG9wdGlvbnMiXSA9ICJGaWVsZCBvcHRpb25zIjsNCiRsYW5nWyJhZGRvcHRpb24iXSA9ICJBZGQgYW4gb3B0aW9uIjsNCiRsYW5nWyJtb2RpZnlhbm9wdGlvbiJdID0gIk1vZGlmeSBhbiBvcHRpb24iOw0KJGxhbmdbIm1lc3NhZ2VfZGVsZXRlZCJdID0gIkVsZW1lbnQgZGVsZXRlZCI7DQokbGFuZ1sibWVzc2FnZV9tb2RpZmllZCJdID0gIk1vZGlmaWNhdGlvbiBzYXZlZCI7DQokbGFuZ1sid2FybmluZ190YWIiXSA9ICJOb3RpY2U6IFNhdmUgY2hhbmdlcyBpbiBvdGhlciB0YWJzIGJlZm9yZSB3b3JraW5nIGluIHRoaXMgb25lLi4uIjsNCiRsYW5nWyJlcnJvcl9taXNzZ2ludmFsdWUiXSA9ICJPbmUgb3IgbW9yZSBuZWNlc3NhcnkgdmFsdWVzIGhhdmUgbm90IGJlZW4gZW50ZXJlZC4iOw0KJGxhbmdbImVycm9yX2FscmVhZHlleGlzdHMiXSA9ICJUaGVyZSBpcyBhbHJlYWR5IGFuIGVsZW1lbnQgYmVhcmluZyB0aGF0IG5hbWUuIjsNCiRsYW5nWyJlcnJvcl9kYXRlIl0gPSAiVGhlIGRhdGUgeW91IGhhdmUgZW50ZXJlZCBpcyBpbnZhbGlkLiI7DQokbGFuZ1siZXJyb3Jfbm9wYXJlbnQiXSA9ICJObyBwYXJlbnQgaXMgZGVmaW5lZCEiOw0KJGxhbmdbImVycm9yX25vdGZvdW5kIl0gPSAiVGhlIGl0ZW0gY291bGQgbm90IGJlIGZvdW5kLiI7DQokbGFuZ1siZXJyb3Jfbm9pdGVtZm91bmQiXSA9ICJObyBpdGVtIGZvdW5kLiI7DQokbGFuZ1siZmluYWx0ZW1wbGF0ZSJdID0gIkRpc3BsYXkgdGVtcGxhdGUgZm9yIGZpbmFsIGxldmVsICh2aWRlb3MpIjsNCiRsYW5nWyJwcm9tcHRfZGVsZXRlb3B0aW9uIl0gPSAiRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIG9wdGlvbj8iOw0KJGxhbmdbImZyb250ZW5kX3N1Ym1pdCJdID0gIlN1Ym1pdCI7DQokbGFuZ1siZnJvbnRlbmRfY2FuY2VsIl0gPSAiQ2FuY2VsIjsNCg0KLy8gQlJFQURDUlVNQlMgOg0KJGxhbmdbInlvdWFyZWhlcmUiXSA9ICJZb3UgYXJlIGhlcmU6ICI7DQokbGFuZ1siYnJlYWRjcnVtYnNfZGVsaW1pdGVyIl0gPSAiICZndDsgIjsNCg0KLy8gU0VBUkNIIDoNCiRsYW5nWyJzZWFyY2h0aXRsZSJdID0gIlNlYXJjaCI7DQokbGFuZ1sic2VhcmNoYWdhaW4iXSA9ICJEbyBhbm90aGVyIHNlYXJjaCI7DQokbGFuZ1sic2VhcmNoYnRuIl0gPSAiU2VhcmNoISI7DQokbGFuZ1siY29udGFpbnMiXSA9ICJDb250YWlucyI7DQokbGFuZ1siaXNleGFjdGx5Il0gPSAiSXMgZXhhY3RseSI7DQoNCi8vIE1PRFVMRSBJTlRFUkFDVElPTg0KJGxhbmdbInBvc3RpbnN0YWxsIl0gPSAiTW9kdWxlIHN1Y2Nlc3NmdWxseSBhZGRlZC4iOw0KJGxhbmdbInBvc3R1bmluc3RhbGwiXSA9ICJNb2R1bGUgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuIjsNCiRsYW5nWyJyZWFsbHlfdW5pbnN0YWxsIl0gPSAiQWxsIG9mIHRoaXMgbW9kdWxlJ3MgY29udGVudCB3aWxsIGJlIGxvc3QuIENvbnRpbnVlPyI7DQokbGFuZ1sidW5pbnN0YWxsZWQiXSA9ICJNb2R1bGUgVW5pbnN0YWxsZWQuIjsNCiRsYW5nWyJpbnN0YWxsZWQiXSA9ICJNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuIjsNCiRsYW5nWyJoZWxwIl0gPSAiPGgyPkdlbmVyYWwgSGVscDwvaDI+PGJyLz4NCgkJCQk8cD5UbyBjYWxsIHRoZSBtb2R1bGUsIHNpbXBseSB1c2UgdGhlIGZvbGxvd2luZyB0YWc6PGJyLz4NCgkJCQl7Y21zX21vZHVsZSBtb2R1bGU9XCJ5b3V0dWJlcGxheWVyXCJ9PC9wPg0KCQkJCTxwPkluIHRoaXMgY2FzZSB0aGUgbGlzdCBvZiB0aGUgbGFzdCBsZXZlbCBlbGVtZW50cyAodmlkZW9zKSB3aWxsIGJlIGRpc3BsYXllZC4gVG8gc2VsZWN0IGEgbGV2ZWwsIHVzZSB0aGUgXCJ3aGF0XCIgcGFyYW1ldGVyOjxici8+DQoJCQkJe2Ntc19tb2R1bGUgbW9kdWxlPVwieW91dHViZXBsYXllclwiIHdoYXQ9XCJ2aWRlb3NcIn08YnIvPg0KCQkJCTxpPlRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yIHRoZSBcIndoYXRcIiBwYXJhbWV0ZXIgYXJlIDogY2F0ZWdvcnksIHZpZGVvczwvaT48L3A+DQoJCQkJPHA+WW91IG1heSBhbHNvIGFzayBmb3IgZWxlbWVudHMgd2hvIGJlbG9uZyB0byBhIHNwZWNpZmljIHBhcmVudDo8YnIvPg0KCQkJCXtjbXNfbW9kdWxlIG1vZHVsZT1cInlvdXR1YmVwbGF5ZXJcIiBwYXJlbnQ9XCJhbGlhc19vZl9wYXJlbnRcIn08L3A+DQoJCQkJPHA+WW91IG1heSBmaW5hbGx5IGFzayBmb3IgYSBzcGVjaWZpYyBlbGVtZW50Ojxicj4NCgkJCQl7Y21zX21vZHVsZSBtb2R1bGU9XCJ5b3V0dWJlcGxheWVyXCIgYWxpYXM9XCJhbGlhc19vZl9pdGVtXCJ9PC9wPg0KCQkJCTxici8+PGgyPlNlcGFyYXRpbmcgaW50byBwYWdlczwvaDI+DQoJCQkJPHA+WW91IG1heSBsaW1pdCB0aGUgbnVtYmVyIG9mIGl0ZW1zIHRvIGJlIHNob3duIG9uIG9uZSBwYWdlOjxici8+DQoJCQkJe2Ntc19tb2R1bGUgbW9kdWxlPVwieW91dHViZXBsYXllclwiIG5icGVycGFnZT1cIjVcIn08YnIvPg0KCQkJCVRoZSBwYWdlIG1lbnUgc2hvdWxkIHRoZW4gYmUgc2hvd24gd2l0aCB0aGUgeyIuJyQnLiJwYWdlbWVudX0gdGFnLjwvcD4NCgkJCQk8cD5UaGUgZWxlbWVudHMgb2YgdGhlIHBhZ2UgbWVudSBoYXZlIHNvbWUgY2xhc3NlcyBhc3NpZ25lZCBzbyB0aGF0IHlvdSBtYXkgY3VzdG9taXplIGl0LjwvcD4NCgkJCQk8YnIvPjxoMj5UaGUgbGluayBhY3Rpb248L2gyPg0KCQkJCTxwPllvdSBtYXkgdXNlIHRoZSBhY3Rpb24gPGI+XCJsaW5rXCI8L2I+IHRvIGNyZWF0ZSBhIGxpbmsgdG8gdGhlIGRlZmF1bHQgYWN0aW9uLCB1c2luZyB0aGUgc2FtZSBwYXJhbWV0ZXJzOjxici8+DQoJCQkJe2Ntc19tb2R1bGUgbW9kdWxlPVwieW91dHViZXBsYXllclwiIGFjdGlvbj1cImxpbmtcIiB3aGF0PVwidmlkZW9zXCIgcmFuZG9tPVwiMVwifTxici8+DQoJCQkJd291bGQgY3JlYXRlIGEgbGluayB0byBhIHJhbmRvbSBlbGVtZW50IG9mIHRoaXMgbGV2ZWwuPC9wPg0KCQkJCTxici8+PGgyPlRoZSBzZWFyY2ggYWN0aW9uPC9oMj4NCgkJCQk8cD5Zb3UgbWF5IHVzZSB0aGUgYWN0aW9uIDxiPlwic2VhcmNoXCI8L2I+IHRvIGRpc3BsYXkgYSBzZWFyY2ggZm9ybTo8YnIvPg0KCQkJCXtjbXNfbW9kdWxlIG1vZHVsZT1cInlvdXR1YmVwbGF5ZXJcIiBhY3Rpb249XCJzZWFyY2hcIn08YnIvPg0KCQkJCVVzZSB0aGUgXCJzZWFyY2htb2RlXCIgcGFyYW1ldGVyIHRvIHN3aXRjaCBiZXR3ZWVuIGFkdmFuY2VkIChkZWZhdWx0KSBhbmQgc2ltcGxlIG1vZGUuIFlvdSBtYXkgc3BlY2lmeSB0aGUgbGV2ZWwgaW4gd2hpY2ggdG8gc2VhcmNoIHVzaW5nIHRoZSBcIndoYXRcIiBwYXJhbWV0ZXIuIFlvdSBjYW5ub3QgdXNlIHRoZSBhZHZhbmNlZCBzZWFyY2ggbW9kZSBpbiBhbGwgbGV2ZWxzIGF0IHRoZSBzYW1lIHRpbWUuPGJyLz4NCgkJCQlUaGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgY2FuIGJlIHVzZWQgd2l0aCB0aGUgc2VhcmNoIGFjdGlvbjogd2hhdCwgbGltaXQsIG9yZGVyYnksIGRldGFpbHBhZ2UsIGxpc3R0ZW1wbGF0ZSwgaW5saW5lLCBzZWFyY2htb2RlLjxici8+DQoJCQkJU2VlIHlvdXR1YmVwbGF5ZXIvdGVtcGxhdGVzL3NlYXJjaC50cGwgdG8gbW9kaWZ5IHRoZSBzZWFyY2ggZm9ybS48L3A+PGJyLz48YnIvPg0KCQkJCTxwPkZvciBtb3JlIGhlbHAsIHlvdSBtYXkgdGFrZSBhIGxvb2sgYXQgdGhlIDxhIGhyZWY9XCIuLi9tb2R1bGVzL3lvdXR1YmVwbGF5ZXIvZG9jL2ZhcS5odG1sXCIgdGFyZ2V0PVwiX2JsYW5rXCI+RkFRPC9hPi48L3A+PGJyLz48YnIvPiI7DQoNCi8vRVZFTlRTDQokbGFuZ1siZXZlbnRkZXNjX21vZGlmaWVkIl0gPSAiQ2FsbGVkIGFmdGVyIGFuIGVsZW1lbnQgaGFzIGJlZW4gbW9kaWZpZWQuIFBhcmFtczogXCJ3aGF0XCI9PmxldmVsIG9mIHRoZSBlbGVtZW50LCBcIml0ZW1pZFwiPT5pZCBvZiB0aGUgZWxlbWVudCwgXCJhbGlhc1wiPT5hbGlhcyBvZiB0aGUgZWxlbWVudC4iOw0KJGxhbmdbImV2ZW50ZGVzY19kZWxldGVkIl0gPSAiQ2FsbGVkIGFmdGVyIGFuIGVsZW1lbnQgaGFzIGJlZW4gZGVsZXRlZC4gUGFyYW1zOiBcIndoYXRcIj0+bGV2ZWwgb2YgdGhlIGVsZW1lbnQuIjsNCiRsYW5nWyJldmVudGRlc2NfYWRkZWQiXSA9ICJDYWxsZWQgYWZ0ZXIgYW4gZWxlbWVudCBoYXMgYmVlbiBhZGRlZC4gUGFyYW1zOiBcIndoYXRcIj0+bGV2ZWwgb2YgdGhlIGVsZW1lbnQsIFwiaXRlbWlkXCI9PmlkIG9mIHRoZSBlbGVtZW50LCBcImFsaWFzXCI9PmFsaWFzIG9mIHRoZSBlbGVtZW50LiI7DQoNCi8vUEFSQU1FVEVSUw0KJGxhbmdbInBoZWxwX2FjdGlvbiJdID0gIkVpdGhlciBcImxpbmtcIiwgXCJzZWFyY2hcIiwgXCJicmVhZGNydW1ic1wiIG9yIFwiZGVmYXVsdFwiLiI7DQokbGFuZ1sicGhlbHBfd2hhdCJdID0gIkFsbG93cyB5b3UgdG8gc3BlY2lmeSB0aGUgbGV2ZWwgeW91IHdpc2ggdG8gZGlzcGxheS4gUG9zc2libGUgdmFsdWVzIGFyZSA6IDxpPmNhdGVnb3J5LCB2aWRlb3M8L2k+IjsNCiRsYW5nWyJwaGVscF9hbGlhcyJdID0gIkFsaWFzIG9mIHRoZSBpdGVtIHlvdSB3aXNoIHRvIGRpc3BsYXkuIjsNCiRsYW5nWyJwaGVscF9wYXJlbnQiXSA9ICJJZiB5b3Ugd2lzaCB0byBsaW1pdCB0aGUgZGlzcGxheWVkIGVsZW1lbnRzIHRvIHRob3NlIHdobyBiZWxvbmcgdG8gYSBzcGVjaWZpYyBwYXJlbnQsIGVudGVyIHRoZSBwYXJlbnQgYWxpYXMgaGVyZS4iOw0KJGxhbmdbInBoZWxwX2xpbWl0Il0gPSAiTGltaXQgdGhlIG51bWJlciBvZiBpdGVtIHJldHVybmVkIGJ5IHRoZSBxdWVyeSAoMCA9IG5vIGxpbWl0KSI7DQokbGFuZ1sicGhlbHBfbmJwZXJwYWdlIl0gPSAiU2V0IHRoZSBudW1iZXIgb2YgaXRlbXMgZGlzcGxheWVkIG9uIGVhY2ggcGFnZS4iOw0KJGxhbmdbInBoZWxwX29yZGVyYnkiXSA9ICJZb3UgY2FuIHNldCB0byBcIm1vZGlmaWVkXCIsIFwiY3JlYXRlZFwiIG9yIFwibmFtZVwiIHRvIG9yZGVyIGl0ZW1zIGluIHRoaXMgd2F5LiBBbnkgb3RoZXIgdmFsdWUgd2lsbCBvcmRlciB3aXRoIHRoZSBpdGVtIG9yZGVyLiI7DQokbGFuZ1sicGhlbHBfZGV0YWlscGFnZSJdID0gIlNwZWNpZnkgdGhlIGFsaWFzIG9mIHRoZSBwYWdlIGluIHdoaWNoIGxpbmtzIHRvIGNoaWxkIGVsZW1lbnRzIHNob3VsZCBiZSBzZW50IChpZiBub25lIGlzIHNwZWNpZmllZCwgY3VycmVudCBwYWdlIGlzIHVzZWQpIjsNCiRsYW5nWyJwaGVscF9zaG93ZGVmYXVsdCJdID0gIlNldCB0byBcInRydWVcIiBpZiB5b3Ugd2lzaCB0byBkaXNwbGF5IHRoZSBkZWZhdWx0IGVsZW1lbnQuIjsNCiRsYW5nWyJwaGVscF9yYW5kb20iXSA9ICJTZXQgdG8gYSBudW1iZXIgdG8gc2hvdyBhIG51bWJlciBvZiByYW5kb20gZWxlbWVudHMgZnJvbSB5b3VyIHF1ZXJ5LiI7DQokbGFuZ1sicGhlbHBfZmluYWx0ZW1wbGF0ZSJdID0gIlNwZWNpZnkgdGhlIHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZSBmb3IgdGhlIGRldGFpbCB2aWV3IG9mIHRoZSBmaW5hbCBsZXZlbC4iOw0KJGxhbmdbInBoZWxwX2xpc3R0ZW1wbGF0ZSJdID0gIlNwZWNpZnkgdGhlIHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZSBmb3IgdGhlIGxpc3Qgdmlldy4iOw0KJGxhbmdbInBoZWxwX2ZvcmNlbGlzdCJdID0gIlNldCB0byAxIGlmIHlvdSB3aXNoIHRvIGRpc3BsYXkgYSBsaXN0IHZpZXcgZXZlbiB3aGVuIHRoZXJlIGlzIG9ubHkgb25lIGVsZW1lbnQuIjsNCiRsYW5nWyJwaGVscF9pbnRlcm5hbCJdID0gIkZvciBpbnRlcm5hbCB1c2U7IHNwZWNpZnkgdGhlIHBhZ2UgKHdoZW4gdXNpbmcgbmJwZXJwYWdlKS4iOw0KJGxhbmdbInBoZWxwX2lubGluZSJdID0gIk1ha2VzIHRoZSBsaW5rcyBpbmxpbmUuIjsNCiRsYW5nWyJwaGVscF9zZWFyY2htb2RlIl0gPSAiRm9yIHVzZSB3aXRoIHRoZSBcInNlYXJjaFwiIGFjdGlvbi4gU2V0IHRvIFwic2ltcGxlXCIgdG8gc2VhcmNoIGluIGFsbCB0ZXh0IGZpZWxkcywgYW5kIFwiYWR2YW5jZWRcIiB0byBzZWFyY2ggaW4gc3BlY2lmaWMgZmllbGRzLiI7DQokbGFuZ1sicGhlbHBfZGVjb2RlZW50aXRpZXMiXSA9ICJGb3IgdXNlIHdpdGggdGhlIFwiZnJvbnRlbmRhZGRcIiBhY3Rpb24uIElmIGFjdGl2ZSwgaHRtbCBlbnRpdGllcyB3aWxsIGJlIGRlY29kZWQuIEluYWN0aXZlIGJ5IGRlZmF1bHQgZm9yIHNlY3VyaXR5IHJlYXNvbnMuIjsNCg0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCgkkbGFuZ1siZnJpZW5kbHluYW1lIl0gPSAiWW91VHViZVBsYXllciI7DQoJJGxhbmdbIm1vZGRlc2NyaXB0aW9uIl0gPSAiRW1iZWQgWW91VHViZSBQbGF5ZXIiOw0KCSRsYW5nWyJhZG1pbmRlc2NyaXB0aW9uIl0gPSAiRW1iZWQgWW91VHViZSBQbGF5ZXIiOw0KDQoJJGxhbmdbInBhZ2VtZW51ZGVsaW1pdGVyIl0gPSAiJm5ic3A7JiMxMjQ7Jm5ic3A7IjsNCgkkbGFuZ1sicGFnZW1lbnVvdmVyZmxvdyJdID0gIiZuYnNwOy4uLiZuYnNwOyI7DQoJDQovLyBzdHJpbmdzIGZvciBjYXRlZ29yeQ0KCSRsYW5nWyJjYXRlZ29yeSJdID0gIkNhdGVnb3J5IjsNCgkkbGFuZ1siY2F0ZWdvcnlfcGx1cmFsIl0gPSAiQ2F0ZWdvcmllcyI7DQoJJGxhbmdbImFkZF9jYXRlZ29yeSJdID0gIkFqb3V0ZXIgY2F0ZWdvcnkiOw0KCSRsYW5nWyJlZGl0X2NhdGVnb3J5Il0gPSAiTW9kaWZpZXIgY2F0ZWdvcnkiOw0KCSRsYW5nWyJmaWx0ZXJieV9jYXRlZ29yeSJdID0gIkZpbHRyZXIgcGFyIGNhdGVnb3J5IjsNCgkkbGFuZ1siY2F0ZWdvcnlfZGVzY3JpcHRpb24iXSA9ICJEZXNjcmlwdGlvbiI7DQoJJGxhbmdbInByb210X2RlbGV0ZWNhdGVnb3J5Il0gPSAiVm91cyAmZWNpcmM7dGVzIHN1ciBsZSBwb2ludCBkZSBzdXBwcmltZXIgY2UgY2F0ZWdvcnkgKCVzKT8gVG91cyBsZXMgJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyByYXR0YWNoJmVhY3V0ZTtzIHNlcm9udCBwZXJkdXMuIFZvdWxlei12b3VzIGNvbnRpbnVlcj8iOw0KCQ0KLy8gc3RyaW5ncyBmb3IgdmlkZW9zDQoJJGxhbmdbInZpZGVvcyJdID0gIlZpZGVvcyI7DQoJJGxhbmdbInZpZGVvc19wbHVyYWwiXSA9ICJWaWRlb3NzIjsNCgkkbGFuZ1siYWRkX3ZpZGVvcyJdID0gIkFqb3V0ZXIgdmlkZW9zIjsNCgkkbGFuZ1siZWRpdF92aWRlb3MiXSA9ICJNb2RpZmllciB2aWRlb3MiOw0KCSRsYW5nWyJmaWx0ZXJieV92aWRlb3MiXSA9ICJGaWx0cmVyIHBhciB2aWRlb3MiOw0KCSRsYW5nWyJ2aWRlb3NfdmlkZW9pZCJdID0gIlZpZGVvaWQiOw0KCSRsYW5nWyJ2aWRlb3NfZGVzY3JpcHRpb24iXSA9ICJEZXNjcmlwdGlvbiI7DQoJJGxhbmdbInByb210X2RlbGV0ZXZpZGVvcyJdID0gIlZvdXMgJmVjaXJjO3RlcyBzdXIgbGUgcG9pbnQgZGUgc3VwcHJpbWVyIGNlIHZpZGVvcyAoJXMpPyBWb3VsZXotdm91cyBjb250aW51ZXI/IjsNCgkkbGFuZ1sidGVtcGxhdGVoZWxwIl0gPSAnPGgzPlNWYXJpYWJsZXMgU21hcnR5IHBvdXIgbGUgZ2FiYXJpdCBkZSBsaXN0ZSBkZTogY2F0ZWdvcnk8L2gzPjx1bD4NCgk8bGk+JGxldmVsdGl0bGU8L2xpPg0KCTxsaT4kcGFyZW50b2JqIChpZiBwYXJlbnQgaXMgc3BlY2lmaWVkKTwvbGk+DQoJPGxpPiRpdGVtbGlzdCAoYXJyYXkgb2YgaXRlbXMpPC9saT4NCgk8bGk+JGl0ZW0tJmd0O2lzX3NlbGVjdGVkPC9saT4NCgk8bGk+JGl0ZW0tJmd0O25hbWU8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7YWxpYXM8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsbGluazwvbGk+DQoJPGxpPiRpdGVtLSZndDtkZXRhaWx1cmw8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7ZGVzY3JpcHRpb248L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgk8L3VsPjxici8+PGhyLz48YnIvPjxoMz5TVmFyaWFibGVzIFNtYXJ0eSBwb3VyIGxlIGdhYmFyaXQgZGUgbGlzdGUgZGU6IHZpZGVvczwvaDM+PHVsPg0KCTxsaT4kbGV2ZWx0aXRsZTwvbGk+DQoJPGxpPiRwYXJlbnRvYmogKGlmIHBhcmVudCBpcyBzcGVjaWZpZWQpPC9saT4NCgk8bGk+JGl0ZW1saXN0IChhcnJheSBvZiBpdGVtcyk8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7aXNfc2VsZWN0ZWQ8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJPGxpPiRpdGVtLSZndDthbGlhczwvbGk+DQoJPGxpPiRpdGVtLSZndDtkZXRhaWxsaW5rPC9saT4NCgk8bGk+JGl0ZW0tJmd0O2RldGFpbHVybDwvbGk+DQoJPGxpPiRpdGVtLSZndDt2aWRlb2lkPC9saT4NCgk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgk8bGk+JGl0ZW0tJmd0O3BhcmVudF9pZDwvbGk+DQoJPGxpPiRpdGVtLSZndDtwYXJlbnRfYWxpYXM8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X25hbWU8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7cGFyZW50bGluazwvbGk+DQoJPGxpPiR0aWVtLSZndDtwYXJlbnR1cmw8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgk8L3VsPjxici8+PGhyLz48YnIvPjxoMz5WYXJpYWJsZXMgU21hcnR5IHBvdXIgbGUgZ2FiYXJpdCBkZSBkJmVhY3V0ZTt0YWlsPC9oMz48dWw+DQoJPGxpPiRsZXZlbHRpdGxlPC9saT4NCgk8bGk+JGl0ZW0tJmd0O25hbWU8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7YWxpYXM8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7dmlkZW9pZDwvbGk+DQoJPGxpPiRpdGVtLSZndDtkZXNjcmlwdGlvbjwvbGk+DQoJPGxpPiRpdGVtLSZndDtwYXJlbnRfaWQ8L2xpPg0KCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2FsaWFzPC9saT4NCgk8bGk+JGl0ZW0tJmd0O3BhcmVudF9uYW1lPC9saT4NCgk8bGk+JGl0ZW0tJmd0O3BhcmVudGxpbms8L2xpPg0KCTxsaT4kdGllbS0mZ3Q7cGFyZW50dXJsPC9saT4NCgk8bGk+JGl0ZW0tJmd0O2lzZGVmYXVsdDwvbGk+DQoJPGxpPiRsYWJlbHMtPi4uLjwvbGk+DQoJPC91bD48YnIvPjxwPkRhbnMgbGUgZ2FiYXJpdCBkZSBkJmVhY3V0ZTt0YWlsIGR1IG5pdmVhdSBmaW5hbCwgdXRpbGlzZXogbFwnb2JqZXQgJGxhYmVscyBwb3VyIGFmZmljaGVyIGxlcyAmZWFjdXRlO3RpcXVldHRlcyBkZSBjaGFtcHMgc2Vsb24gbGEgbGFuZ3VlICgkbGFiZWxzLT5ub21fZHVfY2hhbXApLjwvcD48cD5Wb3VzIHBvdXZleiBhY2MmZWFjdXRlO2RlciBhdXggb2JqZXRzIHBhcmVudHMgZW4gdXRpbGlzYW50ICRpdGVtLT5wYXJlbnRfb2JqZWN0LT5wYXJlbnRfb2JqZWN0LT4uLi4gKGV0IGFpbnNpIGRlIHN1aXRlKTwvcD48cD48YnIvPjxoMj5CcmVhZGNydW1iczwvaDI+CgkJCQk8cD5Mb3JzcXVlIHZvdXMgJmVjaXJjO3RlcyBkYW5zIHVuIGdhYmFyaXQgZGUgbW9kdWxlLCB5b3UgcG91dmV6IGFwcGVsZXIgbGVzIGJyZWFkY3J1bWJzIGVuIHV0aWxpc2FudCBsYSBiYWxpc2Uge3lvdXR1YmVwbGF5ZXJfYnJlYWRjcnVtYnN9LiBWb3VzIHBvdXZleiB1dGlsaXNlciBsZXMgbSZlY2lyYzttZXMgcGFyYW0mZWdyYXZlO3RyZXMgcXVlIGRhbnMgbGEgYmFsaXNlIGJyZWFkY3J1bWJzIGR1IGNtcyAoaW5pdGlhbCwgZGVsaW1pdGVyLCBjbGFzc2lkLCBjdXJyZW50Y2xhc3NpZCksIGRlIG0mZWNpcmM7bWUgcXVlIGxlIHBhcmFtJmVncmF2ZTt0cmUgInN0YXJ0bGV2ZWwiLjxici8+CgkJCQlFbiBkZWhvcnMgZGVzIGdhYmFyaXRzIGRlIG1vZHVsZSwgblwnaW1wb3J0ZSBvJnVncmF2ZTsgc3VyIGxhIHBhZ2UsIHZvdXMgcG91dmV6IGFwcGVsZXIgbFwnYWN0aW9uIGJyZWFkY3J1bWJzIHtjbXNfbW9kdWxlIG1vZHVsZT0ieW91dHViZXBsYXllciIgYWN0aW9uPSJicmVhZGNydW1icyJ9LCB1dGlsaXNhbnQgbGVzIG0mZWNpcmM7bWVzIHBhcmFtJmVncmF2ZTt0cmVzLjwvcD48L3A+JzsNCgovLyBGb3IgZmlsZSBmaWVsZHMKJGxhbmdbIlJlbW92ZSJdID0gIkVubGV2ZXIiOwokbGFuZ1siYnJvd3NlZmlsZXN0aXRsZSJdID0gIkNob2lzaXNzZXogdW4gZmljaGllciBvdSB1cGxvYWRleiB1biBub3V2ZWF1IGZpY2hpZXIgcGx1cyBiYXMuIjsKJGxhbmdbInNob3dpbmdkaXIiXSA9ICJSJmVhY3V0ZTtwZXJ0b2lyZSI7CiRsYW5nWyJicm93c2VmaWxlc3Jlc2l6ZSJdID0gIkwnaW1hZ2Ugc2VyYSBhdXRvbWF0aXF1ZW1lbnQgcmVkaW1lbnNpb25uJmVhY3V0ZTtlIHBvdXIgbGUgbW9kdWxlLiI7CiRsYW5nWyJicm93c2VmaWxlY3VycmVudHBhdGgiXSA9ICJSJmVhY3V0ZTtwZXJ0b2lyZSA6ICI7CiRsYW5nWyJwYXJlbnRkaXIiXSA9ICJSJmVhY3V0ZTtwZXJ0b2lyZSBwYXJlbnQiOwokbGFuZ1siYWRkYWZpbGUiXSA9ICJBam91dGVyIHVuIGZpY2hpZXIiOwoKLy8gc3RyaW5ncyBmb3IgZ2VuZXJhbCBmaWVsZHMKJGxhbmdbImlkIl0gPSAiaWQiOwokbGFuZ1sibmFtZSJdID0gIk5vbSI7CiRsYW5nWyJhbGlhcyJdID0gIkFsaWFzIjsKJGxhbmdbImlzZGVmYXVsdCJdID0gIlBhciBkJmVhY3V0ZTtmYXV0PyI7CiRsYW5nWyJhY3RpdmUiXSA9ICJBY3RpZiI7CiRsYW5nWyJwYXJlbnQiXSA9ICJQYXJlbnQiOwokbGFuZ1sibmJjaGlsZHJlbiJdID0gIk5iIGQnJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyI7CgkKLy8gR0VORVJBTAokbGFuZ1siYWN0aXZhdGUiXSA9ICJBY3RpdmVyIjsKJGxhbmdbInVuYWN0aXZhdGUiXSA9ICJEJmVhY3V0ZTtzYWN0aXZlciI7CiRsYW5nWyJZZXMiXSA9ICJPdWkiOwokbGFuZ1siTm8iXSA9ICJOb24iOwokbGFuZ1siQWN0aW9ucyJdID0gIkFjdGlvbnMiOwokbGFuZ1sicmVvcmRlciJdID0gIlImZWFjdXRlO29yZG9ubmVyIjsKJGxhbmdbImxpc3R0ZW1wbGF0ZSJdID0gIkdhYmFyaXQgZGUgbGlzdGUgcG91ciI7CiRsYW5nWyJkZWZhdWx0dGVtcGxhdGVzIl0gPSAiR2FiYXJpdHMgcGFyIGQmZWFjdXRlO2ZhdXQiOwokbGFuZ1sidGVtcGxhdGVzIl0gPSAiR2FiYXJpdHMiOwokbGFuZ1sidGVtcGxhdGUiXSA9ICJHYWJhcml0IjsKJGxhbmdbImVkaXR0ZW1wbGF0ZSJdID0gIk1vZGlmaWVyIGxlIGdhYmFyaXQiOwokbGFuZ1sidGVtcGxhdGV2YXJzIl0gPSAiVmFyaWFibGVzIGRlIGdhYmFyaXQiOwokbGFuZ1siZGVmdGVtcGxhdGVmb3IiXSA9ICJHYWJhcml0IGRlIGxpc3RlIHBhciBkJmVhY3V0ZTtmYXV0IHBvdXIgbGUgbml2ZWF1ICI7CiRsYW5nWyJkZWZkZXRhaWx0ZW1wbGF0ZSJdID0gIkdhYmFyaXQgZGUgZCZlYWN1dGU7dGFpbCBwYXIgZCZlYWN1dGU7ZmF1dCI7CiRsYW5nWyJhZGR0ZW1wbGF0ZSJdID0gIkFqb3V0ZXIgdW4gZ2FiYXJpdCI7CiRsYW5nWyJmaWx0ZXJieSJdID0gIkZpbHRyZXIgcGFyIjsKJGxhbmdbInNob3dhbGwiXSA9ICJUb3V0IHZvaXIgKGF1Y3VuIGZpbHRyZSkiOwokbGFuZ1siZmllbGRvcHRpb25zIl0gPSAiT3B0aW9ucyBkZSBjaGFtcHMiOwokbGFuZ1siYWRkb3B0aW9uIl0gPSAiQWpvdXRlciB1bmUgb3B0aW9uIjsKJGxhbmdbIm1vZGlmeWFub3B0aW9uIl0gPSAiTW9kaWZpZXIgdW5lIG9wdGlvbiI7CiRsYW5nWyJtZXNzYWdlX2RlbGV0ZWQiXSA9ICImRWFjdXRlO2wmZWFjdXRlO21lbnQgc3VwcHJpbSZlYWN1dGU7LiI7CiRsYW5nWyJtZXNzYWdlX21vZGlmaWVkIl0gPSAiTW9kaWZpY2F0aW9uIHNhdXZlZ2FyZCZlYWN1dGU7ZS4iOwokbGFuZ1sid2FybmluZ190YWIiXSA9ICJBdHRlbnRpb246IFNhdXZlZ2FyZGV6IGxlcyBjaGFuZ2VtZW50cyBkYW5zIGxlcyBhdXRyZXMgb25nbGV0cyBhdmFudCBkZSB0cmF2YWlsbGVyIGRhbnMgY2VsdWktY2kuLi4iOwokbGFuZ1siZXJyb3JfbWlzc2dpbnZhbHVlIl0gPSAiVW5lIG91IHBsdXNpZXVycyB2YWxldXIgb2JsaWdhdG9pcmVzIG4nb250IHBhcyAmZWFjdXRlO3QmZWFjdXRlOyBlbnRyJmVhY3V0ZTtlcy4iOwokbGFuZ1siZXJyb3JfYWxyZWFkeWV4aXN0cyJdID0gIklsIHkgYSBkJmVhY3V0ZTtqJmFncmF2ZTsgdW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHBvcnRhbnQgY2Ugbm9tLiI7CiRsYW5nWyJlcnJvcl9kYXRlIl0gPSAiTGEgZGF0ZSBxdWUgdm91cyBhdmV6IGVudHImZWFjdXRlO2UgZXN0IGludmFsaWRlLiI7CiRsYW5nWyJlcnJvcl9ub3BhcmVudCJdID0gIkF1Y3VuIHBhcmVudCBkJmVhY3V0ZTtmaW5pISI7CiRsYW5nWyJlcnJvcl9ub3Rmb3VuZCJdID0gIkwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50IG4nYSBwYXMgcHUgJmVjaXJjO3RyZSB0cm91diZlYWN1dGU7LiI7CiRsYW5nWyJlcnJvcl9ub2l0ZW1mb3VuZCJdID0gIkF1Y3VuICZlYWN1dGU7bCZlYWN1dGU7bWVudCB0cm91diZlYWN1dGU7LiI7CiRsYW5nWyJmaW5hbHRlbXBsYXRlIl0gPSAiR2FiYXJpdCBwb3VyIGxlIG5pdmVhdSBmaW5hbCAodmlkZW9zKSI7CiRsYW5nWyJwcm9tcHRfZGVsZXRlb3B0aW9uIl0gPSAiVm91bGV6LXZvdXMgdnJhaW1lbnQgc3VwcHJpbWVyIGNldHRlIG9wdGlvbj8iOwokbGFuZ1siZnJvbnRlbmRfc3VibWl0Il0gPSAiRW52b3llciI7CiRsYW5nWyJmcm9udGVuZF9jYW5jZWwiXSA9ICJBbm51bGVyIjsKCi8vIEJSRUFEQ1JVTUJTIDoKJGxhbmdbInlvdWFyZWhlcmUiXSA9ICJWb3VzICZlY2lyYzt0ZXMgaWNpOiAiOwokbGFuZ1siYnJlYWRjcnVtYnNfZGVsaW1pdGVyIl0gPSAiICZndDsgIjsKCi8vIFNFQVJDSCA6CiRsYW5nWyJzZWFyY2h0aXRsZSJdID0gIlJlY2hlcmNoZSI7CiRsYW5nWyJzZWFyY2hhZ2FpbiJdID0gIlJlY29tbWVuY2VyIGxhIHJlY2hlcmNoZSI7CiRsYW5nWyJzZWFyY2hidG4iXSA9ICJDaGVyY2hlciEiOwokbGFuZ1siY29udGFpbnMiXSA9ICJDb250aWVucyI7CiRsYW5nWyJpc2V4YWN0bHkiXSA9ICJFc3QgZWdhbCAmYWdyYXZlOyI7CgovLyBNT0RVTEUgSU5URVJBQ1RJT04KJGxhbmdbInBvc3RpbnN0YWxsIl0gPSAiTW9kdWxlIGFqb3V0JmVhY3V0ZTsuIjsKJGxhbmdbInBvc3R1bmluc3RhbGwiXSA9ICJNb2R1bGUgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOy4iOwokbGFuZ1sicmVhbGx5X3VuaW5zdGFsbCJdID0gIlRvdXQgbGUgY29udGVudSBkdSBtb2R1bGUgc2VyYSBwZXJkdS4gUG91cnN1aXZyZT8iOwokbGFuZ1sidW5pbnN0YWxsZWQiXSA9ICJNb2R1bGUgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOy4iOwokbGFuZ1siaW5zdGFsbGVkIl0gPSAiTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbCZlYWN1dGU7LiI7CiRsYW5nWyJoZWxwIl0gPSAiPGgyPkFpZGUgZyZlYWN1dGU7biZlYWN1dGU7cmFsZTwvaDI+PGJyLz4KCQkJCTxwPlBvdXIgYXBwZWxlciBsZSBtb2R1bGUsIHV0aWxpc2V6IGxhIGJhbGlzZSBzdWl2YW50ZSA6PGJyLz4KCQkJCXtjbXNfbW9kdWxlIG1vZHVsZT1cInlvdXR1YmVwbGF5ZXJcIn08L3A+CgkJCQk8cD5EYW5zIGNlIGNhcyB1bmUgbGlzdGUgZGVzICZlYWN1dGU7bCZlYWN1dGU7bWVudHMgZHUgZGVybmllciBuaXZlYXUgKHZpZGVvcykgc2VyYSBhZmZpY2gmZWFjdXRlO2UuIFBvdXIgc3AmZWFjdXRlO2NpZmllciB1biBuaXZlYXUsIHV0aWxpc2V6IGxlIHBhcmFtJmVncmF2ZTt0cmUgXCJ3aGF0XCIgOjxici8+CgkJCQl7Y21zX21vZHVsZSBtb2R1bGU9XCJ5b3V0dWJlcGxheWVyXCIgd2hhdD1cInZpZGVvc1wifTxici8+CgkJCQk8aT5MZXMgdmFsZXVycyBwb3NzaWJsZXMgcG91ciBcIndoYXRcIiBzb250IDogY2F0ZWdvcnksIHZpZGVvczwvaT48L3A+CgkJCQk8cD5Wb3VzIHBvdXZleiBhdXNzaSBkZW1hbmRlciBsZXMgJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBxdWkgYXBwYXJ0aWVubmVudCAmYWdyYXZlOyB1biBwYXJlbnQgc3AmZWFjdXRlO2NpZmlxdWU6PGJyLz4KCQkJCXtjbXNfbW9kdWxlIG1vZHVsZT1cInlvdXR1YmVwbGF5ZXJcIiBwYXJlbnQ9XCJhbGlhc19vZl9wYXJlbnRcIn08L3A+CgkJCQk8cD5Wb3VzIHBvdXZleiBmaW5hbGVtZW50IGFwcGVsZXIgdW4gZWFjdXRlO2xlYWN1dGU7bWVudCBlbiBwYXJ0aWN1bGllcjo8YnI+CgkJCQl7Y21zX21vZHVsZSBtb2R1bGU9XCJ5b3V0dWJlcGxheWVyXCIgYWxpYXM9XCJhbGlhc19vZl9pdGVtXCJ9PC9wPgoJCQkJPGJyLz48aDI+UyZlYWN1dGU7cGFyYXRpb24gZW4gcGFnZXM8L2gyPgoJCQkJPHA+Vm91cyBwb3V2ZXogbGltaXRlciBsZSBub21icmUgZCcmZWFjdXRlO2wmZWFjdXRlO21lbnRzIGRldmFudCAmZWNpcmM7dHJlIGFmZmljaCZlYWN1dGU7cyBzdXIgdW5lIG0mZWNpcmM7bWUgcGFnZTo8YnIvPgoJCQkJe2Ntc19tb2R1bGUgbW9kdWxlPVwieW91dHViZXBsYXllclwiIG5icGVycGFnZT1cIjVcIn08YnIvPgoJCQkJTGUgbWVudSBkZXMgcGFnZXMgZXN0IGVuc3VpdGUgYWZmaWNoJmVhY3V0ZTsgYXZlYyBsYSBiYWxpc2UgeyIuJyQnLiJwYWdlbWVudX08L3A+CgkJCQk8cD5EZXMgY2xhc3NlcyBvbnQgJmVhY3V0ZTt0JmVhY3V0ZTsgYXNzaWduJmVhY3V0ZTtlcyBhdXggJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBkdSBtZW51IGRlIHBhZ2UgcG91ciBxdWUgdm91cyBwdWlzc2V6IGxlIHBlcnNvbm5hbGlzZXIuPC9wPgoJCQkJPGJyLz48aDI+TCdhY3Rpb24gZGUgcmVjaGVyY2hlPC9oMj4KCQkJCTxwPlZvdXMgcG91dmV6IHV0aWxpc2VyIGwnYWN0aW9uIFwic2VhcmNoXCIgcG91ciBhZmZpY2hlciB1biBmb3JtdWxhaXJlIGRlIHJlY2hlcmNoZTo8YnIvPgoJCQkJe2Ntc19tb2R1bGUgbW9kdWxlPVwieW91dHViZXBsYXllclwiIGFjdGlvbj1cInNlYXJjaFwiIHdoYXQ9XCJ2aWRlb3NcIn08YnIvPgoJCQkJVXRpbGlzZXogbGUgcGFyYW0mZWdyYXZlO3RyZSBcInNlYXJjaG1vZGVcIiBwb3VyIGNob2lzaXIgbGEgcmVjaGVyY2hlIHNpbXBsZSBvdSBhdmFuYyZlYWN1dGU7ZSAocGFyIGQmZWFjdXRlO2ZhdXQpLiBOb3RleiBxdWUgdm91cyBuZSBwb3V2ZXogcGFzIGZhaXJlIHVuZSByZWNoZXJjaGUgZW4gbW9kZSBhdmFuYyZlYWN1dGU7IGRhbnMgdG91cyBsZXMgbml2ZWF1eCBlbiBtJmVjaXJjO21lIHRlbXBzLjxici8+CgkJCQlMZXMgcGFyYW0mZWdyYXZlO3RyZXMgc3VpdmFudHMgcGV1dmVudCAmZWNpcmM7dHJlIHV0aWxpcyZlYWN1dGU7cyBhdmVjIGwnYWN0aW9uIFwic2VhcmNoXCI6IHdoYXQsIGxpbWl0LCBvcmRlcmJ5LCBkZXRhaWxwYWdlLCBsaXN0dGVtcGxhdGUsIGlubGluZSwgc2VhcmNobW9kZS48L3A+PGJyLz48YnIvPgoJCQkJPHA+UG91ciBkYXZhbnRhZ2UgZCdhaWRlLCB2b3VzIHBvdXZleiBjb25zdWx0ZXIgbGUgPGEgaHJlZj1cIi4uL21vZHVsZXMveW91dHViZXBsYXllci9kb2MvZmFxLmh0bWxcIiB0YXJnZXQ9XCJfYmxhbmtcIj5GQVE8L2E+LjwvcD48YnIvPjxici8+IjsKCgovL0VWRU5UUwokbGFuZ1siZXZlbnRkZXNjX21vZGlmaWVkIl0gPSAiQXBwZWwmZWFjdXRlOyBhcHImZWdyYXZlO3MgcXUndW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHNvaXQgbW9kaWZpJmVhY3V0ZTsuIjsKJGxhbmdbImV2ZW50ZGVzY19kZWxldGVkIl0gPSAiQXBwZWwmZWFjdXRlOyBhcHImZWdyYXZlO3MgcXUndW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHNvaXQgc3VwcHJpbSZlYWN1dGU7LiI7CiRsYW5nWyJldmVudGRlc2NfYWRkZWQiXSA9ICJBcHBlbCZlYWN1dGU7IGFwciZlZ3JhdmU7cyBxdSd1biAmZWFjdXRlO2wmZWFjdXRlO21lbnQgc29pdCBham91dCZlYWN1dGU7LiI7CiRsYW5nWyJldmVudGhlbHBfbW9kaWZpZWQiXSA9ICJQYXJhbSZlZ3JhdmU7dHJlczogXCJ3aGF0XCI9Pm5pdmVhdSBkZSBsJyZlYWN1dGU7bCZlYWN1dGU7bWVudCwgXCJpdGVtaWRcIj0+aWQgZGUgIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50LCBcImFsaWFzXCI9PmFsaWFzIGRlIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50LiI7CiRsYW5nWyJldmVudGhlbHBfZGVsZXRlZCJdID0gIlBhcmFtJmVncmF2ZTt0cmVzOiBcIndoYXRcIj0+bml2ZWF1IGRlIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50LiI7CiRsYW5nWyJldmVudGhlbHBfYWRkZWQiXSA9ICJQYXJhbSZlZ3JhdmU7dHJlczogXCJ3aGF0XCI9Pm5pdmVhdSBkZSBsJyZlYWN1dGU7bCZlYWN1dGU7bWVudCwgXCJpdGVtaWRcIj0+aWQgZGUgIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50LCBcImFsaWFzXCI9PmFsaWFzIGRlIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50LiI7CgovL1BBUkFNRVRFUlMKJGxhbmdbInBoZWxwX2FjdGlvbiJdID0gIlNvaXQgXCJsaW5rXCIsIFwic2VhcmNoXCIsIFwiYnJlYWRjcnVtYnNcIiBvdSBcImRlZmF1bHRcIi4iOwokbGFuZ1sicGhlbHBfd2hhdCJdID0gIlBlcm1ldCBkZSBzcCZlYWN1dGU7Y2lmaWVyIGxlIG5pdmVhdS4gTGVzIHZhbGV1cnMgcG9zc2libGVzIHNvbnQgOiA8aT5jYXRlZ29yeSwgdmlkZW9zPC9pPiI7CiRsYW5nWyJwaGVscF9hbGlhcyJdID0gIkFsaWFzIGRlIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHF1ZSB2b3VzIHZvdWxleiBhZmZpY2hlci4iOwokbGFuZ1sicGhlbHBfcGFyZW50Il0gPSAiU2kgdm91cyB2b3VsZXogbGltaXRlciBsZXMgJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBhZmZpY2gmZWFjdXRlO3MgJmFncmF2ZTsgY2V1eCBhcHBhcnRlbmFudCAmYWdyYXZlOyB1biBwYXJlbnQgcGFydGljdWxpZXIsIGVudHJleiBpY2kgbCdhbGlhcyBkdSBwYXJlbnQuIjsKJGxhbmdbInBoZWxwX2xpbWl0Il0gPSAiTGltaXRlIGxlIG5vbWJyZSBkJ2l0ZW0gcmV0b3VybiZlYWN1dGU7cyBwYXIgbGEgcmVxdSZlY2lyYzt0ZSAoMCA9IHBhcyBkZSBsaW1pdGUpIjsKJGxhbmdbInBoZWxwX25icGVycGFnZSJdID0gIkxpbWl0ZSBsZSBub21icmUgZCcmZWFjdXRlO2wmZWFjdXRlO21lbnRzIGFmZmljaCZlYWN1dGU7cyBwYXIgcGFnZS4iOwokbGFuZ1sicGhlbHBfb3JkZXJieSJdID0gIlZhbGV1cnMgcG9zc2libGVzIDogXCJtb2RpZmllZFwiLCBcImNyZWF0ZWRcIiBldCBcIm5hbWVcIi4gVG91dGUgYXV0cmUgdmFsZXVyIG9yZG9ubmVyYSBlbiBmb25jdGlvbiBkZSBsJ29yZHJlIG5vcm1hbCBkZXMgaXRlbXMuIjsKJGxhbmdbInBoZWxwX2RldGFpbHBhZ2UiXSA9ICJTcCZlYWN1dGU7Y2lmaWUgbCdhbGlhcyBkZSBsYSBwYWdlIHZlcnMgbGFxdWVsbGUgcG9pbnRlcm9udCBsZXMgbGllbnMgKHNpIHJpZW4gbidlc3Qgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOywgbGEgcGFnZSBhY3R1ZWxsZSBlc3QgdXRpbGlzJmVhY3V0ZTtlKSI7CiRsYW5nWyJwaGVscF9zaG93ZGVmYXVsdCJdID0gIk1ldHRyZSBcInRydWVcIiBzaSB2b3VzIHZvdWxleiBhZmZpY2hlciBsJyZlYWN1dGU7bCZlYWN1dGU7bWVudCBwYXIgZCZlYWN1dGU7ZmF1dC4iOwokbGFuZ1sicGhlbHBfcmFuZG9tIl0gPSAiRW50cmV6IHVuIG5vbWJyZSBwb3VyIGFmZmljaGVyIGNlIG5vbWJyZSBkJyZlYWN1dGU7bCZlYWN1dGU7bWVudHMgYWwmZWFjdXRlO2F0b2lyZXMuIjsKJGxhbmdbInBoZWxwX2ZpbmFsdGVtcGxhdGUiXSA9ICJQZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciBsZSBnYWJhcml0ICZhZ3JhdmU7IHV0aWxpc2VyIHBvdXIgbCdhZmZpY2hhZ2UgLiI7CiRsYW5nWyJwaGVscF9saXN0dGVtcGxhdGUiXSA9ICJQZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciBsZSBnYWJhcml0ICZhZ3JhdmU7IHV0aWxpc2VyIHBvdXIgbCdhZmZpY2hhZ2UgZGUgbGlzdGUgZCZlYWN1dGU7dGFpbGwmZWFjdXRlOyBkdSBuaXZlYXUgZmluYWwuIjsKJGxhbmdbInBoZWxwX2ZvcmNlbGlzdCJdID0gIk1ldHRyZSAmYWdyYXZlOyAxIHNpIHZvdXMgdm91bGV6IGFmZmljaGVyIGVuIGZvcm1hdCBsaXN0IG0mZWNpcmM7bWUgbG9yc3F1J2lsIG4neSBhIHF1J3VuICZlYWN1dGU7bCZlYWN1dGU7bWVudCAoYWZmZWN0ZSBsZSBuaXZlYXUgZmluYWwgc2V1bGVtZW50KS4iOwokbGFuZ1sicGhlbHBfaW50ZXJuYWwiXSA9ICJQb3VyIHVzYWdlIGludGVybmU7IHNwJmVhY3V0ZTtjaWZpZSBsYSBwYWdlIChsb3JzcXVlIG5icGVycGFnZSBlc3QgdXRpbGlzJmVhY3V0ZTsuIjsKJGxhbmdbInBoZWxwX3NlYXJjaG1vZGUiXSA9ICJVdGlsaXNlciBhdmVjIGwnYWN0aW9uIFwic2VhcmNoXCIuIE1ldHRyZSBcInNpbXBsZVwiIHBvdXIgY2hlcmNoZXIgZGFucyB0b3VzIGxlcyBjaGFtcHMsIGV0IFwiYWR2YW5jZWRcIiBwb3VyIGNoZXJjaGVyIGRhbnMgZGVzIGNoYW1wcyBzcCZlYWN1dGU7Y2lmaXF1ZXMuIjsKJGxhbmdbInBoZWxwX2lubGluZSJdID0gIk1ldCBsZXMgbGllbnMgXCJpbmxpbmVcIi4iOwokbGFuZ1sicGhlbHBfZGVjb2RlZW50aXRpZXMiXSA9ICJVdGlsaXNlciBhdmVjIGwnYWN0aW9uIFwiZnJvbnRlbmRhZGRcIi4gU2kgYWN0aWYsIGQmZWFjdXRlO2NvZGUgbGVzIGVudGl0JmVhY3V0ZTtzIGh0bWwuIjsKDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24NCiRkYiA9ICYkdGhpcy0+Y21zLT5kYjsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCgkJDQovLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UNCiR0YWJvcHRhcnJheSA9IGFycmF5KCJteXNxbCIgPT4gIlRZUEU9TXlJU0FNIik7DQoJCQ0KDQovLyBDcmVhdGVzIHRoZSBjYXRlZ29yeSB0YWJsZQ0KJGZsZHMgPSAiDQoJZGVzY3JpcHRpb24gQygyNTUpLA0KCWlkIEkgS0VZLA0KCW5hbWUgQyg2NCksDQoJYWxpYXMgQyg2NCksDQoJaXRlbV9vcmRlciBJLA0KCWFjdGl2ZSBMLA0KCWlzZGVmYXVsdCBMLA0KICAgIGRhdGVfbW9kaWZpZWQgIi5DTVNfQURPREJfRFQuIg0KCSI7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV95b3V0dWJlcGxheWVyX2NhdGVnb3J5IiwgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQokZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3lvdXR1YmVwbGF5ZXJfY2F0ZWdvcnlfc2VxIik7DQoNCg0KLy8gQ3JlYXRlcyB0aGUgdmlkZW9zIHRhYmxlDQokZmxkcyA9ICINCgl2aWRlb2lkIEMoMjU1KSwNCglkZXNjcmlwdGlvbiBDKDI1NSksDQoJcGFyZW50IEksDQoJaWQgSSBLRVksDQoJbmFtZSBDKDY0KSwNCglhbGlhcyBDKDY0KSwNCglpdGVtX29yZGVyIEksDQoJYWN0aXZlIEwsDQoJaXNkZWZhdWx0IEwsDQogICAgZGF0ZV9tb2RpZmllZCAiLkNNU19BRE9EQl9EVC4iDQoJIjsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3lvdXR1YmVwbGF5ZXJfdmlkZW9zIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQokZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3lvdXR1YmVwbGF5ZXJfdmlkZW9zX3NlcSIpOw0KDQoNCi8vIElOU0VSVElORyBFWEFNUExFIFRFTVBMQVRFUw0KCSR0ZW1wbGF0ZSA9ICc8aDI+eyRsZXZlbHRpdGxlfTwvaDI+DQp7aWYgJGl0ZW1jb3VudCA+IDB9DQo8dWw+DQp7Zm9yZWFjaCBmcm9tPSRpdGVtbGlzdCBpdGVtPSJpdGVtIn0NCgk8bGkge2lmICRpdGVtLT5pc19zZWxlY3RlZH1jbGFzcz0iYWN0aXZlInsvaWZ9PnskaXRlbS0+ZGV0YWlsbGlua30NCjxiciAvPg0KPGEgaHJlZj0ieyRpdGVtLT5kZXRhaWx1cmx9Ij4NCjxpbWcgc3JjPSJodHRwOi8vaW1nLnlvdXR1YmUuY29tL3ZpL3skaXRlbS0+dmlkZW9pZH0vMS5qcGciIHdpZHRoPSIxMzAiIGhlaWdodD0iOTciIGJvcmRlcj0iMCIgYWx0PSJ7JGl0ZW0tPm5hbWV9IiB0aXRsZT0ieyRpdGVtLT5uYW1lfSI+IA0KPC9BPg0KPGJyIC8+PGJyIC8+DQo8L2xpPg0Key9mb3JlYWNofQ0KPC91bD4NCntpZiAkcGFnZV9wYWdlbnVtYmVyc30NCjxkaXYgaWQ9InBhZ2VtZW51IiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+DQp7JHBhZ2VfcHJldmlvdXN9Jm5ic3A7IHskcGFnZV9zaG93aW5nfS97JHBhZ2VfdG90YWxpdGVtc30gJm5ic3A7eyRwYWdlX25leHR9PGJyLz4NCnskcGFnZV9wYWdlbnVtYmVyc30NCjwvZGl2Pg0Key9pZn0NCntlbHNlfQ0KPHA+eyRlcnJvcl9tc2d9PC9wPg0Key9pZn0NCic7DQokdGhpcy0+U2V0VGVtcGxhdGUoImxpc3RfZGVmYXVsdCIsJHRlbXBsYXRlLCR0aGlzLT5HZXROYW1lKCkpOw0KICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfY2F0ZWdvcnkiLCJsaXN0X2RlZmF1bHQiKTsNCiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlX3ZpZGVvcyIsImxpc3RfZGVmYXVsdCIpOw0KDQokdGVtcGxhdGUgPSAnPGgzPnskaXRlbS0+bmFtZX08L2gzPg0KPHA+eyRsYWJlbHMtPnZpZGVvaWR9OiB7JGl0ZW0tPnZpZGVvaWR9PC9wPg0KPHA+eyRsYWJlbHMtPmRlc2NyaXB0aW9ufTogeyRpdGVtLT5kZXNjcmlwdGlvbn08L3A+DQo8b2JqZWN0IHdpZHRoPSI0MjUiIGhlaWdodD0iMzQ0Ij48cGFyYW0gbmFtZT0ibW92aWUiIHZhbHVlPSJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3YveyRpdGVtLT52aWRlb2lkfT9yZWw9MCZmcz0xJmxvb3A9MCI+PC9wYXJhbT48cGFyYW0gbmFtZT0id21vZGUiIHZhbHVlPSJ0cmFuc3BhcmVudCI+PC9wYXJhbT48cGFyYW0gbmFtZT0iYWxsb3dGdWxsU2NyZWVuIiB2YWx1ZT0idHJ1ZSI+PGVtYmVkIHNyYz0iaHR0cDovL3d3dy55b3V0dWJlLmNvbS92L3skaXRlbS0+dmlkZW9pZH0/cmVsPTAmZnM9MSZsb29wPTAiIGFsbG93ZnVsbHNjcmVlbj0idHJ1ZSIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHdtb2RlPSJ0cmFuc3BhcmVudCIgd2lkdGg9IjQyNSIgaGVpZ2h0PSIzNDQiPjwvZW1iZWQ+PC9vYmplY3Q+DQonOw0KDQoJJHRoaXMtPlNldFRlbXBsYXRlKCJmaW5hbF9kZWZhdWx0IiwkdGVtcGxhdGUsJHRoaXMtPkdldE5hbWUoKSk7DQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoImZpbmFsdGVtcGxhdGUiLCJmaW5hbF9kZWZhdWx0Iik7DQoNCg0KLy8gcGVybWlzc2lvbnMNCgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigieW91dHViZXBsYXllcl9tYW5hZ2VfY2F0ZWdvcnkiLCAieW91dHViZXBsYXllcjogTWFuYWdlIGNhdGVnb3J5Iik7DQoJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oInlvdXR1YmVwbGF5ZXJfbWFuYWdlX3ZpZGVvcyIsICJ5b3V0dWJlcGxheWVyOiBNYW5hZ2UgdmlkZW9zIik7DQovLyBldmVudHMNCgkkdGhpcy0+Q3JlYXRlRXZlbnQoInlvdXR1YmVwbGF5ZXJfYWRkZWQiKTsNCgkkdGhpcy0+Q3JlYXRlRXZlbnQoInlvdXR1YmVwbGF5ZXJfbW9kaWZpZWQiKTsNCgkkdGhpcy0+Q3JlYXRlRXZlbnQoInlvdXR1YmVwbGF5ZXJfZGVsZXRlZCIpOw0KCQ0KLy8gcHJlcGFyZSBpbmZvcm1hdGlvbiBmb3IgYW4gZXZlbnR1YWwgdXBncmFkZQ0KCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJtYWtlcnZlcnNpb24iLCIxLjguMi4yIik7DQoNCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KCSR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoImZyaWVuZGx5bmFtZSIpLCAkdGhpcy0+TGFuZygiaW5zdGFsbGVkIiwkdGhpcy0+R2V0VmVyc2lvbigpKSk7DQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24NCiRkYiA9ICYkdGhpcy0+Y21zLT5kYjsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCg0KDQoNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3lvdXR1YmVwbGF5ZXJfY2F0ZWdvcnkiKTsNCgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoJJGRiLT5Ecm9wU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl9jYXRlZ29yeV9zZXEiKTsNCgkNCg0KCSRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl92aWRlb3MiKTsNCgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoJJGRiLT5Ecm9wU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl92aWRlb3Nfc2VxIik7DQoJDQoNCgkvLyRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl90ZW1wbGF0ZXMiKTsNCgkvLyRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkkdGhpcy0+RGVsZXRlVGVtcGxhdGUoIiIsJHRoaXMtPkdldE5hbWUoKSk7DQoNCi8vIHBlcm1pc3Npb25zDQoJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oInlvdXR1YmVwbGF5ZXJfbWFuYWdlX2NhdGVnb3J5Iik7DQoJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oInlvdXR1YmVwbGF5ZXJfbWFuYWdlX3ZpZGVvcyIpOw0KDQovLyBldmVudHMNCgkkdGhpcy0+UmVtb3ZlRXZlbnQoInlvdXR1YmVwbGF5ZXJfYWRkZWQiKTsNCgkkdGhpcy0+UmVtb3ZlRXZlbnQoInlvdXR1YmVwbGF5ZXJfbW9kaWZpZWQiKTsNCgkkdGhpcy0+UmVtb3ZlRXZlbnQoInlvdXR1YmVwbGF5ZXJfZGVsZXRlZCIpOw0KDQovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cNCgkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCJmcmllbmRseW5hbWUiKSwgJHRoaXMtPkxhbmcoInVuaW5zdGFsbGVkIikpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokZGIgPSYgJHRoaXMtPkdldERiKCk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKJHRhYm9wdCA9IGFycmF5KCJteXNxbCIgPT4gIlRZUEU9TXlJU0FNIik7CgovLyBQQVJUIDE6IFRoaXMgZG9lcyB0aGUgdXBncmFkZSBmb3IgdGhlIENUTE1vZHVsZU1ha2VyIHBhcnQKLy8gVW5mb3J0dW5hdGVseSwgdGhpcyBpcyBvbmx5IGJhY2t3YXJkIGNvbXBhdGlibGUgdG8gQ1RMTW9kdWxlTWFrZXIgMS42LjMuIEkgY291bGRuJ3QgZ28gYW55IGZ1cnRoZXIgYmVoaW5kIGJlY2F1c2UgYXQgdGhhdCB0aW1lIHRoZSBtYWtlciB2ZXJzaW9uIHdhc24ndCBzYXZlZCBhbnl3aGVyZQoKJG9sZG1ha2VyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoIm1ha2VydmVyc2lvbiIsICJ2ZXJ5b2xkIik7Cgpzd2l0Y2goJG9sZG1ha2VyKXsKCS8vIEJFR0lOIFNXSVRDSCgkb2xkbWFrZXIpCgoJY2FzZSAidmVyeW9sZCI6CgkJLy8gdGhlIG1vZHVsZSB3YXMgY3JlYXRlZCB3aXRoIHZlcnNpb24gMS42LjMgb3IgcHJpb3IuCgkJJHRoaXMtPkNyZWF0ZUV2ZW50KCJ5b3V0dWJlcGxheWVyX2FkZGVkIik7CgkJJHRoaXMtPkNyZWF0ZUV2ZW50KCJ5b3V0dWJlcGxheWVyX21vZGlmaWVkIik7CgkJJHRoaXMtPkNyZWF0ZUV2ZW50KCJ5b3V0dWJlcGxheWVyX2RlbGV0ZWQiKTsKCQlicmVhazsKCWNhc2UgIjEuNi40IjoKCWNhc2UgIjEuNyI6CgljYXNlICIxLjcuMSI6CgljYXNlICIxLjcuMiI6CgljYXNlICIxLjcuMyI6CgljYXNlICIxLjcuNCI6CgkJCgkvLyBFTkQgU1dJVENIKCRvbGRtYWtlcikKfQoKJHRoaXMtPlNldFByZWZlcmVuY2UoIm1ha2VydmVyc2lvbiIsICIxLjguMi4yIik7Cj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdj4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KPHRoZWFkPjx0cj4KCXtmb3JlYWNoIGZyb209JGFkbWluc2hvdyBpdGVtPWNvbHVtbn0KCQk8dGg+eyRjb2x1bW5bMF19PC90aD4KCXsvZm9yZWFjaH0KPC90cj48L3RoZWFkPgo8dGJvZHk+CntjeWNsZSB2YWx1ZXM9InJvdzIscm93MSIgYXNzaWduPXJvd2NsYXNzIHJlc2V0PXRydWV9Cntmb3JlYWNoIGZyb209JGl0ZW1saXN0IGl0ZW09b25laXRlbX0Ke2N5Y2xlIHZhbHVlcz0icm93Mixyb3cxIiBhc3NpZ249cm93Y2xhc3N9Cjx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+Cgl7Zm9yZWFjaCBmcm9tPSRhZG1pbnNob3cgaXRlbT1jb2x1bW59CgkJe2Fzc2lnbiB2YXI9b25ldmFsIHZhbHVlPSRjb2x1bW5bMV19CgkJPHRkPnskb25laXRlbS0+JG9uZXZhbH08L3RkPgoJey9mb3JlYWNofQo8L3RyPgp7L2ZvcmVhY2h9CjwvdGJvZHk+CjwvdGFibGU+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/editA.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQo8c3BhbiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IDgwJSI+eyRpdGVtYWxpYXN9PC9zcGFuPjxoMT57JGVkaXR0aXRsZX08L2gxPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCjxici8+PGJyLz4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbmFtZV9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbmFtZV9pbnB1dH08L3A+DQoJPC9kaXY+DQoNCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGVzY3JpcHRpb25fbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVzY3JpcHRpb25faW5wdXR9PC9wPg0KCTwvZGl2Pg0KPGJyLz4NCjxwPnskc3VibWl0fSB7JGFwcGx5fSB7JGNhbmNlbH08L3A+DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/editB.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQo8c3BhbiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IDgwJSI+eyRpdGVtYWxpYXN9PC9zcGFuPjxoMT57JGVkaXR0aXRsZX08L2gxPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCjxici8+PGJyLz4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbmFtZV9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbmFtZV9pbnB1dH08L3A+DQoJPC9kaXY+DQoNCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcGFyZW50X2xhYmVsfSogOjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwYXJlbnRfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR2aWRlb2lkX2xhYmVsfSogOjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR2aWRlb2lkX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGVzY3JpcHRpb25fbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGRlc2NyaXB0aW9uX2lucHV0fTwvcD4NCgk8L2Rpdj4NCjxici8+DQo8cD57JHN1Ym1pdH0geyRhcHBseX0geyRjYW5jZWx9PC9wPg0K]]></data>
	</file>
	<file>
	  <filename>/templates/search.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskc2VhcmNodGl0bGV9e2lmICR3aGF0fTogeyR3aGF0fXsvaWZ9PC9oMj4KPHA+eyRzZWFyY2hmaWVsZH17JHN1Ym1pdH08L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/search_category.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskc2VhcmNodGl0bGV9OiB7JHdoYXR9PC9oMj4KPHRhYmxlPgo8dHI+PHRkPnskZGVzY3JpcHRpb25fbGFiZWx9PC90ZD48dGQ+eyRkZXNjcmlwdGlvbl9pbnB1dH08L3RkPjwvdHI+Cjx0cj48dGQ+eyRuYW1lX2xhYmVsfTwvdGQ+PHRkPnskbmFtZV9pbnB1dH08L3RkPjwvdHI+CjwvdGFibGU+CjxwPnskc3VibWl0fTwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/search_generalresults.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskbGV2ZWx0aXRsZX08L2gyPgo8dWwgY2xhc3M9ImN0bF9zZWFyY2hyZXN1bHRzIj4Ke2ZvcmVhY2ggZnJvbT0kaXRlbWxpc3QgaXRlbT0iaXRlbSJ9CjxsaT57JGl0ZW0tPmRldGFpbGxpbmt9PC9saT4Key9mb3JlYWNofQo8L3VsPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/search_videos.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskc2VhcmNodGl0bGV9OiB7JHdoYXR9PC9oMj4KPHRhYmxlPgo8dHI+PHRkPnskdmlkZW9pZF9sYWJlbH08L3RkPjx0ZD57JHZpZGVvaWRfaW5wdXR9PC90ZD48L3RyPgo8dHI+PHRkPnskZGVzY3JpcHRpb25fbGFiZWx9PC90ZD48dGQ+eyRkZXNjcmlwdGlvbl9pbnB1dH08L3RkPjwvdHI+Cjx0cj48dGQ+eyRwYXJlbnRfbGFiZWx9PC90ZD48dGQ+eyRwYXJlbnRfaW5wdXR9PC90ZD48L3RyPgo8dHI+PHRkPnskbmFtZV9sYWJlbH08L3RkPjx0ZD57JG5hbWVfaW5wdXR9PC90ZD48L3RyPgo8L3RhYmxlPgo8cD57JHN1Ym1pdH08L3A+]]></data>
	</file>
	<file>
	  <filename>/youtubeplayer.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogeW91dHViZXBsYXllcg0KIyBWZXJzaW9uOiAxLjAsIA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0InMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMNCiMgVGhpcyBtb2R1bGUgd2FzIGNyZWF0ZWQgd2l0aCBDVExNb2R1bGVNYWtlciAxLjguMi4yIGJ5DQojIFBpZXJyZS1MdWMgR2VybWFpbg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY2xhc3MgeW91dHViZXBsYXllciBleHRlbmRzIENNU01vZHVsZQ0Kew0KCXZhciAkY3VycmVudHRyZWUgPSBmYWxzZTsNCgl2YXIgJGN1cnJlbnRwYWdlaW5kZXggPSAxOw0KCXZhciAkcGxjdXJyZW50ID0gYXJyYXkoKTsNCg0KCWZ1bmN0aW9uIEdldE5hbWUoKQ0KCXsNCgkJcmV0dXJuICJ5b3V0dWJlcGxheWVyIjsNCgl9DQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldEZyaWVuZGx5TmFtZSgpDQoJICAgVGhpcyBjYW4gcmV0dXJuIGFueSBzdHJpbmcsIHByZWZlcmFibHkgYSBsb2NhbGl6ZWQgbmFtZQ0KCSAgIG9mIHRoZSBtb2R1bGUuIFRoaXMgaXMgdGhlIG5hbWUgdGhhdCJzIHNob3duIGluIHRoZQ0KCSAgIEFkbWluIE1lbnVzIGFuZCBzZWN0aW9uIHBhZ2VzIChpZiB0aGUgbW9kdWxlIGhhcyBhbiBhZG1pbg0KCSAgIGNvbXBvbmVudCkuDQoJICAgDQoJICAgU2VlIHRoZSBub3RlIG9uIGxvY2FsaXphdGlvbiBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZS4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygiZnJpZW5kbHluYW1lIik7DQoJfQ0KCQ0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0VmVyc2lvbigpDQoJICAgVGhpcyBjYW4gcmV0dXJuIGFueSBzdHJpbmcsIHByZWZlcmFibHkgYSBudW1iZXIgb3INCgkgICBzb21ldGhpbmcgdGhhdCBtYWtlcyBzZW5zZSBmb3IgZGVzaWduYXRpbmcgYSB2ZXJzaW9uLg0KCSAgIFRoZSBDTVMgd2lsbCB1c2UgdGhpcyB0byBpZGVudGlmeSB3aGV0aGVyIG9yIG5vdA0KCSAgIHRoZSBpbnN0YWxsZWQgdmVyc2lvbiBvZiB0aGUgbW9kdWxlIGlzIGN1cnJlbnQsIGFuZA0KCSAgIHRoZSBtb2R1bGUgd2lsbCB1c2UgaXQgdG8gZmlndXJlIG91dCBob3cgdG8gdXBncmFkZQ0KCSAgIGl0c2VsZiBpZiByZXF1ZXN0ZWQuCSAgIA0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRWZXJzaW9uKCkNCgl7DQoJCXJldHVybiAiMS4xIjsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0RGVwZW5kZW5jaWVzKCkNCgkgICBZb3VyIG1vZHVsZSBtYXkgbmVlZCBhbm90aGVyIG1vZHVsZSB0byBhbHJlYWR5IGJlIGluc3RhbGxlZA0KCSAgIGJlZm9yZSB5b3UgY2FuIGluc3RhbGwgaXQuDQoJICAgVGhpcyBtZXRob2QgcmV0dXJucyBhIGxpc3Qgb2YgdGhvc2UgZGVwZW5kZW5jaWVzIGFuZA0KCSAgIG1pbmltdW0gdmVyc2lvbiBudW1iZXJzIHRoYXQgdGhpcyBtb2R1bGUgcmVxdWlyZXMuDQoJICAgDQoJICAgSXQgc2hvdWxkIHJldHVybiBhbiBoYXNoLCBlZy4NCgkgICByZXR1cm4gYXJyYXkoInNvbWVtb2R1bGUiPT4iMS4wIiwgIm90aGVybW9kdWxlIj0+IjEuMSIpOw0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQ0KCXsNCgkJcmV0dXJuIGFycmF5KCk7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXRIZWxwKCkNCgkgICBUaGlzIHJldHVybnMgSFRNTCBpbmZvcm1hdGlvbiBvbiB0aGUgbW9kdWxlLg0KCSAgIFR5cGljYWxseSwgeW91ImxsIHdhbnQgdG8gaW5jbHVkZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8NCgkgICB1c2UgdGhlIG1vZHVsZS4NCgkgICANCgkgICBTZWUgdGhlIG5vdGUgb24gbG9jYWxpemF0aW9uIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRIZWxwKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygiaGVscCIpOw0KCX0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0QXV0aG9yKCkNCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQ0KCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRBdXRob3IoKQ0KCXsNCgkJcmV0dXJuICJDVExNb2R1bGVNYWtlciAxLjguMi4yIjsNCgkJLy8gb2YgY291cnNlIHlvdSBtYXkgY2hhbmdlIHRoaXMsIGJ1dCBpdCB3b3VsZCBiZSBuaWNlDQoJCS8vIHRvIGtlZXAgYSBtZW50aW9uIG9mIHRoZSBDVExNb2R1bGVNYWtlciBzb21ld2hlcmUNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0QXV0aG9yRW1haWwoKQ0KCSAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgTW9kdWxlDQoJICAgQWRtaW4gaWYgeW91IGNsaWNrIG9uIHRoZSAiQWJvdXQiIGxpbmsuIEl0IGhlbHBzIHVzZXJzDQoJICAgb2YgeW91ciBtb2R1bGUgZ2V0IGluIHRvdWNoIHdpdGggeW91IHRvIHNlbmQgYnVnIHJlcG9ydHMsDQoJICAgcXVlc3Rpb25zLCBjYXNlcyBvZiBiZWVyLCBhbmQvb3IgbGFyZ2Ugc3VtcyBvZiBtb25leS4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQ0KCXsNCgkJcmV0dXJuICIiOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBJc1BsdWdpbk1vZHVsZSgpDQoJICAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUgb3IgZmFsc2UsIGRlcGVuZGluZyB1cG9uDQoJICAgd2hldGhlciB1c2VycyBjYW4gaW5jbHVkZSB0aGUgbW9kdWxlIGluIGEgcGFnZSBvcg0KCSAgIHRlbXBsYXRlIHVzaW5nIGEgc21hcnR5IHRhZyBvZiB0aGUgZm9ybQ0KCSAgIHtjbXNfbW9kdWxlIG1vZHVsZT0iUHJvZCIgcGFyYW0xPXZhbCBwYXJhbTI9dmFsLi4ufQ0KCSAgIA0KCSAgIElmIHlvdXIgbW9kdWxlIGRvZXMgbm90IGdldCBpbmNsdWRlZCBpbiBwYWdlcyBvcg0KCSAgIHRlbXBsYXRlcywgcmV0dXJuICJmYWxzZSIgaGVyZS4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQ0KCXsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KDQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEhhc0FkbWluKCkNCgkgICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBib29sZWFuIHZhbHVlLCBkZXBlbmRpbmcgb24NCgkgICB3aGV0aGVyIHlvdXIgbW9kdWxlIGFkZHMgYW55dGhpbmcgdG8gdGhlIEFkbWluIGFyZWEgb2YNCgkgICB0aGUgc2l0ZS4gRm9yIHRoZSByZXN0IG9mIHRoZXNlIGNvbW1lbnRzLCBJImxsIGJlIGNhbGxpbmcNCgkgICB0aGUgYWRtaW4gcGFydCBvZiB5b3VyIG1vZHVsZSB0aGUgIkFkbWluIFBhbmVsIiBmb3INCgkgICB3YW50IG9mIGEgYmV0dGVyIHRlcm0uDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEhhc0FkbWluKCkgewlyZXR1cm4gdHJ1ZTsJfQ0KCWZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpIHtyZXR1cm4gImNvbnRlbnQiO30NCglmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkge3JldHVybiAkdGhpcy0+TGFuZygiYWRtaW5kZXNjcmlwdGlvbiIpO30NCg0KCWZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpew0KCQlyZXR1cm4gKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oInlvdXR1YmVwbGF5ZXJfbWFuYWdlX2NhdGVnb3J5IikgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbigieW91dHViZXBsYXllcl9tYW5hZ2VfdmlkZW9zIikpOw0KCX0NCgkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIE1vZHVsZSBDb25zdHJ1Y3RvciANCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIHlvdXR1YmVwbGF5ZXIoKQ0KCXsNCgkJZ2xvYmFsICRnQ21zOw0KICAgIAkkc21hcnR5ID0mICRnQ21zLT5HZXRTbWFydHkoKTsNCgkJJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oInlvdXR1YmVwbGF5ZXJfYnJlYWRjcnVtYnMiLCBhcnJheSgmJHRoaXMsImZ1bmN0aW9uX21vZGJyZWFkY3J1bWJzIikpOw0KCQlwYXJlbnQ6OkNNU01vZHVsZSgpOw0KCX0NCgkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIFNldFBhcmFtZXRlcnMoKQ0KCSAgIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyB5b3UgdG8gY3JlYXRlIG1hcHBpbmdzIGZvcg0KCSAgIHlvdXIgbW9kdWxlIHdoZW4gdXNpbmcgIlByZXR0eSBVcmxzIi4NCgkgICANCgkgICBUeXBpY2FsbHksIG1vZHVsZXMgY3JlYXRlIGludGVybmFsIGxpbmtzIHRoYXQgaGF2ZQ0KCSAgIGJpZyB1Z2x5IHN0cmluZ3MgYWxvbmcgdGhlIGxpbmVzIG9mOg0KCSAgIGluZGV4LnBocD9tYWN0PU1vZE5hbWUsY250bnQwMSxhY3Rpb25OYW1lLDAmY250bnQwMXBhcmFtMT0xJmNudG50MDFwYXJhbTI9MiZjbnRudDAxcmV0dXJuaWQ9Mw0KCSAgIA0KCSAgIFlvdSBtaWdodCBwcmVmZXIgdGhlc2UgdG8gbG9vayBsaWtlOg0KCSAgIC9Nb2R1bGVGdW5jdGlvbi8yLzMNCgkgICANCgkgICBUbyBkbyB0aGlzLCB5b3UgaGF2ZSB0byByZWdpc3RlciByb3V0ZXMgYW5kIG1hcA0KCSAgIHlvdXIgcGFyYW1ldGVycyBpbiBhIHdheSB0aGF0IHRoZSBBUEkgd2lsbCBiZSBhYmxlDQoJICAgdG8gdW5kZXJzdGFuZC4NCg0KCSAgIEFsc28gbm90ZSB0aGF0IGFueSBjYWxscyB0byBDcmVhdGVMaW5rIHdpbGwgbmVlZCB0bw0KCSAgIGJlIHVwZGF0ZWQgdG8gcGFzcyB0aGUgcHJldHR5IHVybCBwYXJhbWV0ZXIuDQoJICAgDQoJICAgU2luY2UgdGhlIFNrZWxldG9uIGRvZXNuInQgcmVhbGx5IGNyZWF0ZSBhbnkgbGlua3MsDQoJICAgdGhlIHNlY3Rpb24gYmVsb3cgaXMgY29tbWVudGVkIG91dCwgYnV0IHlvdSBjYW4NCgkgICB1c2UgaXQgdG8gZmlndXJlIG91dCBwcmV0dHkgdXJscy4NCgkgICANCgkgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQ0KCXsNCg0KCQkvLyB0aGVzZSBhcmUgZm9yIGludGVybmFsIHByZXR0eSBVUkxTLg0KCQkvLyB5b3UgbWF5IGNoYW5nZSB0aGVzZSwgYnV0IHlvdSB3aWxsIGFsc28gbmVlZCB0byBjaGFuZ2UgdGhlIEJ1aWxkUHJldHR5VVJMcyBmdW5jdGlvbiBiZWxvdyBhY2NvcmRpbmdseQ0KCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgiL1t5WV1vdXR1YmVwbGF5ZXJcLyhbRGRdZXRhaWwpXC8oP1A8YWxpYXM+W15cL10rKVwvKD9QPHJldHVybmlkPlswLTldKykkLyIpOw0KCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgiL1t5WV1vdXR1YmVwbGF5ZXJcLyg/UDx3aGF0PlteXC9dKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iKTsNCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9beVldb3V0dWJlcGxheWVyXC8oP1A8d2hhdD5bXlwvXSspXC8oP1A8cGFyZW50PlteXC9dKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iKTsNCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9beVldb3V0dWJlcGxheWVyXC8oP1A8d2hhdD5bXlwvXSspXC8oP1A8cGFnZWluZGV4PlswLTldKylcLyg/UDxuYnBlcnBhZ2U+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLyIpOw0KCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgiL1t5WV1vdXR1YmVwbGF5ZXJcLyg/UDx3aGF0PlteXC9dKylcLyg/UDxwYXJlbnQ+W15cL10rKVwvKD9QPHBhZ2VpbmRleD5bMC05XSspXC8oP1A8bmJwZXJwYWdlPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iKTsNCgkNCgkJLy8gQmVjYXVzZSBvZiB0aGUgYWR2YW5jZWQgc2VhcmNoIGFjdGlvbiwgd2UgZG8gbm90IHJlc3RyaWN0IHBhcmFtZXRlcnMuDQoJCS8vIE90aGVyd2lzZSB3ZSdkIG5lZWQgdG8gY3JlYXRlIGEgcGFyYW1ldGVyIGZvciBlYWNoIGZpZWxkIG9mIGVhY2ggbGV2ZWwuDQoJCS8vIElmIHlvdSBkb24ndCB1c2UgdGhlICJzZWFyY2giIGFjdGlvbiwgeW91IGNhbiBzYWZlbHkgdHVybg0KCQkvLyBSZXN0cmljdFVua25vd25QYXJhbXMgT24uIE90aGVyIHBhcmFtZXRlcnMgYXJlIGFsbCBzZXQuDQoJCSR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoZmFsc2UpOw0KCQkNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiYWN0aW9uIiwgImRlZmF1bHQiLCAkdGhpcy0+TGFuZygicGhlbHBfYWN0aW9uIikpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJ3aGF0IiwgIiIsICR0aGlzLT5MYW5nKCJwaGVscF93aGF0IikpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJhbGlhcyIsICIiLCAkdGhpcy0+TGFuZygicGhlbHBfYWxpYXMiKSk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoInNob3dkZWZhdWx0IiwgZmFsc2UsICR0aGlzLT5MYW5nKCJwaGVscF9zaG93ZGVmYXVsdCIpKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigicGFyZW50IiwgIiIsICR0aGlzLT5MYW5nKCJwaGVscF9wYXJlbnQiKSk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoImxpbWl0IiwgMCwgJHRoaXMtPkxhbmcoInBoZWxwX2xpbWl0IikpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJuYnBlcnBhZ2UiLCAwLCAkdGhpcy0+TGFuZygicGhlbHBfbmJwZXJwYWdlIikpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJvcmRlcmJ5IiwgMCwgJHRoaXMtPkxhbmcoInBoZWxwX29yZGVyYnkiKSk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoImRldGFpbHBhZ2UiLCAiIiwgJHRoaXMtPkxhbmcoInBoZWxwX2RldGFpbHBhZ2UiKSk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoInJhbmRvbSIsIDAsICR0aGlzLT5MYW5nKCJwaGVscF9yYW5kb20iKSk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoImxpc3R0ZW1wbGF0ZSIsICIiLCAkdGhpcy0+bGFuZygicGhlbHBfbGlzdHRlbXBsYXRlIikpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJmaW5hbHRlbXBsYXRlIiwgIiIsICR0aGlzLT5sYW5nKCJwaGVscF9maW5hbHRlbXBsYXRlIikpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJmb3JjZWxpc3QiLCAiMCIsICR0aGlzLT5sYW5nKCJwaGVscF9mb3JjZWxpc3QiKSk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoImlubGluZSIsIDAsICR0aGlzLT5sYW5nKCJwaGVscF9pbmxpbmUiKSk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoInNlYXJjaG1vZGUiLCAiYWR2YW5jZWQiLCAkdGhpcy0+bGFuZygicGhlbHBfc2VhcmNobW9kZSIpKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigicGFnZWluZGV4IiwgMCwgJHRoaXMtPmxhbmcoInBoZWxwX2ludGVybmFsIikpOw0KCQkNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoIndoYXQiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJhbGlhcyIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoInNob3dkZWZhdWx0IixDTEVBTl9JTlQpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgicGFyZW50IixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgibGltaXQiLENMRUFOX0lOVCk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJuYnBlcnBhZ2UiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJvcmRlcmJ5IixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgiZGV0YWlscGFnZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoInJhbmRvbSIsQ0xFQU5fSU5UKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoImxpc3R0ZW1wbGF0ZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoImZpbmFsdGVtcGxhdGUiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJmb3JjZWxpc3QiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJpbmxpbmUiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJzZWFyY2htb2RlIixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgicGFnZWluZGV4IixDTEVBTl9JTlQpOw0KCQkJDQoJfQ0KDQogICAgZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbigkZXZlbnRuYW1lKQ0KICAgIHsNCgkJJGV2ZW50bmFtZSA9IHN0cl9yZXBsYWNlKCJ5b3V0dWJlcGxheWVyIiwgIiIsICRldmVudG5hbWUpOw0KCQlyZXR1cm4gJHRoaXMtPmxhbmcoImV2ZW50ZGVzYyIuJGV2ZW50bmFtZSk7DQogICAgfQ0KICAgIA0KCWZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoInBvc3RpbnN0YWxsIik7DQoJfQ0KCWZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygicG9zdHVuaW5zdGFsbCIpOw0KCX0NCglmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygicmVhbGx5X3VuaW5zdGFsbCIpOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBJbnN0YWxsKCkNCgkgICBXaGVuIHlvdXIgbW9kdWxlIGlzIGluc3RhbGxlZCwgeW91IG1heSBuZWVkIHRvIGRvIHNvbWUNCgkgICBzZXR1cC4gVHlwaWNhbCB0aGluZ3MgdGhhdCBoYXBwZW4gaGVyZSBhcmUgdGhlIGNyZWF0aW9uDQoJICAgYW5kIHByZXBvcHVsYXRpb24gb2YgZGF0YWJhc2UgdGFibGVzLCBkYXRhYmFzZSBzZXF1ZW5jZXMsDQoJICAgcGVybWlzc2lvbnMsIHByZWZlcmVuY2VzLCBldGMuDQoJICAgCSAgIA0KCSAgIEZvciBpbmZvcm1hdGlvbiBvbiB0aGUgY3JlYXRpb24gb2YgZGF0YWJhc2UgdGFibGVzLA0KCSAgIGNoZWNrIG91dCB0aGUgQURPREIgRGF0YSBEaWN0aW9uYXJ5IHBhZ2UgYXQNCgkgICBodHRwOi8vcGhwbGVucy5jb20vbGVucy9hZG9kYi9kb2NzLWRhdGFkaWN0Lmh0bQ0KCSAgIA0KCSAgIFRoaXMgZnVuY3Rpb24gY2FuIHJldHVybiBhIHN0cmluZyBpbiBjYXNlIG9mIGFueSBlcnJvciwNCgkgICBhbmQgQ01TIHdpbGwgbm90IGNvbnNpZGVyIHRoZSBtb2R1bGUgaW5zdGFsbGVkLg0KCSAgIFN1Y2Nlc3NmdWwgaW5zdGFsbHMgc2hvdWxkIHJldHVybiBGQUxTRSBvciBub3RoaW5nIGF0IGFsbC4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gSW5zdGFsbCgpDQoJew0KCQlnbG9iYWwgJGdDbXM7DQoJCXJlcXVpcmUgIm1ldGhvZC5pbnN0YWxsLnBocCI7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBVbmluc3RhbGwoKQ0KCSAgIFNvbWV0aW1lcywgYW4gZXhjZXB0aW9uYWxseSB1bmVubGlnaHRlbmVkIG9yIGlnbm9yYW50DQoJICAgYWRtaW4gd2lsbCB3aXNoIHRvIHVuaW5zdGFsbCB5b3VyIG1vZHVsZS4gV2hpbGUgaXQNCgkgICB3b3VsZCBiZSBiZXN0IHRvIGxheSBpbnRvIHRoZXNlIGlkaW90cyB3aXRoIGEgY2x1ZXN0aWNrLA0KCSAgIHdlIHdpbGwgZG8gdGhlIG1hZ25hbmltb3VzIHRoaW5nIGFuZCByZW1vdmUgdGhlIG1vZHVsZQ0KCSAgIGFuZCBjbGVhbiB1cCB0aGUgZGF0YWJhc2UsIHBlcm1pc3Npb25zLCBhbmQgcHJlZmVyZW5jZXMNCgkgICB0aGF0IGFyZSBzcGVjaWZpYyB0byBpdC4NCgkgICBUaGlzIGlzIHRoZSBtZXRob2Qgd2hlcmUgd2UgZG8gdGhpcy4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gVW5pbnN0YWxsKCkNCgl7DQoJCWdsb2JhbCAkZ0NtczsNCgkJcmVxdWlyZSAibWV0aG9kLnVuaW5zdGFsbC5waHAiOw0KCX0NCg0KDQogICAgZnVuY3Rpb24gU2VhcmNoUmVzdWx0KCRyZXR1cm5pZCwgJGl0ZW1pZCwgJGxldmVsID0gIiIpDQogICAgew0KCQkkcmVzdWx0ID0gYXJyYXkoKTsNCgkJJHdhbnRlZHBhcmFtID0gZmFsc2U7DQoJCSRuZXdwYXJhbXMgPSBhcnJheSgpOw0KCQlpZigkbGV2ZWwgPT0gInZpZGVvcyIpew0KCQkJLy8gd2Ugc2VlayBhbiBlbGVtZW50IG9mIHRoZSBsYXN0IGxldmVsLCBhbmQgd2lsbCBkaXNwbGF5IHRoZSBkZXRhaWwgdmlldw0KCQkJJHdhbnRlZHBhcmFtID0gImFsaWFzIjsNCgkJfWVsc2V7DQoJCQlpZigkbmV3cGFyYW1zWyJ3aGF0Il0gPSAkdGhpcy0+Z2V0X25leHRsZXZlbCgkbGV2ZWwpKXsNCgkJCS8vIHdlIHNlZWsgYW4gZWxlbWVudCBvZiBhbm90aGVyIGxldmVsLCBhbmQgd2lsbCBkaXNwbGF5IHRoZSBsaXN0IHZpZXcgb2YgaXRzIGNoaWxkcmVuDQoJCQkJJHdhbnRlZHBhcmFtID0gInBhcmVudCI7DQoJCQl9DQoJCX0NCgkJaWYgKCR3YW50ZWRwYXJhbSl7DQoJCQkkdGFibGVuYW1lID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl8iLiRsZXZlbDsNCgkJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJCSRxdWVyeSA9ICJTRUxFQ1QgbmFtZSwgYWxpYXMgRlJPTSAkdGFibGVuYW1lIFdIRVJFIGlkID0gPyI7DQoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRpdGVtaWQgKSApOw0KCQkJaWYgKCRkYnJlc3VsdCl7DQoJCQkJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsNCgkJCQkkbmV3cGFyYW1zWyR3YW50ZWRwYXJhbV0gPSAkcm93WyJhbGlhcyJdOw0KDQoJCQkJLy8wIHBvc2l0aW9uIGlzIHRoZSBwcmVmaXggZGlzcGxheWVkIGluIHRoZSBsaXN0IHJlc3VsdHMuDQoJCQkJJHJlc3VsdFswXSA9ICR0aGlzLT5HZXRGcmllbmRseU5hbWUoKTsNCg0KCQkJCS8vMSBwb3NpdGlvbiBpcyB0aGUgdGl0bGUNCgkJCQkkcmVzdWx0WzFdID0gJHJvd1sibmFtZSJdOw0KCQkNCgkJCQkvLzIgcG9zaXRpb24gaXMgdGhlIFVSTCB0byB0aGUgdGl0bGUuDQoJCQkJJHJlc3VsdFsyXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICIiLCAkbmV3cGFyYW1zLCAiIiwgdHJ1ZSwgZmFsc2UsICIiLCBmYWxzZSwgJHRoaXMtPkJ1aWxkUHJldHR5VXJscygkbmV3cGFyYW1zLCAkcmV0dXJuaWQpKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiAkcmVzdWx0Ow0KCX0NCg0KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpOT1QgUEFSVCBPRiBUSEUgTk9STUFMIE1PRFVMRSBBUEkNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQoJZnVuY3Rpb24gcGxjcmVhdGVhbGlhcygkbmFtZSl7DQoJCS8vIGNyZWF0ZXMgdGhlIGFsaWFzIGZvciBuZXcgZWxlbWVudHMuLi4NCgkJLy8gYXMgYSBzdWdnZXN0aW9uIGZyb20gQU1ULCB0aGUgZmlyc3QgcGFydCBkZWFscyB3aXRoIHNtYXJ0IHF1b3Rlcw0KIAkJJHNlYXJjaCA9IGFycmF5KGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDk4KSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTkpLA0KCQkJCQkJICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5YyksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDlkKSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTMpLA0KCQkJCQkJICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5NCkpOw0KIAkJJG5hbWUgPSBzdHJfcmVwbGFjZSgkc2VhcmNoLCAiIiwgJG5hbWUpOw0KIAkJLy8gdGhlIHNlY29uZCBwYXJ0IHVzZXMgdGhlIGNtcyB2ZXJzaW9uDQogCQkkYWxpYXMgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRuYW1lLCBmYWxzZSk7DQogCQlyZXR1cm4gJGFsaWFzOw0KCX0gDQoJCQ0KCWZ1bmN0aW9uIGNoZWNrYWxpYXMoJGRidGFibGUsICRhbGlhcywgJGl0ZW1pZD1mYWxzZSwgJGlkZmllbGQ9ImlkIiwgJGFsaWFzZmllbGQ9ImFsaWFzIil7DQoJCS8vIGNoZWNrcyBpZiB0aGlzIGFsaWFzIGFscmVhZHkgZXhpc3RzIGluIHRoZSBsZXZlbA0KCQkkcXVlcnkgPSAiU0VMRUNUICIuJGlkZmllbGQuIiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiRkYnRhYmxlLiIgV0hFUkUgIi4kYWxpYXNmaWVsZC4iID0gPyI7DQoJCWlmKCRpdGVtaWQpICRxdWVyeSAuPSAiIEFORCAiLiRpZGZpZWxkLiIhPSIuJGl0ZW1pZDsNCgkJJGRiID0gJHRoaXMtPkdldERiKCk7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGFsaWFzKSk7DQoJCSR0YXJnZXRpZCA9IDA7DQoJCWlmKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSAkdGFyZ2V0aWQgPSAkcm93WyJpZCJdOw0KCQlyZXR1cm4gKCR0YXJnZXRpZCA9PSAwKTsNCgl9DQoNCiAgICBmdW5jdGlvbiBnZXREZWZhdWx0VGVtcGxhdGVzKCl7DQogICAgCS8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIHRlbXBsYXRlcyB0aGF0IGFyZSBzZWxlY3RlZCBhcyBkZWZhdWx0IChqdXN0IHNvIHRoYXQgd2UgZG9uJ3QgZGVsZXRlIHRoZW0pDQoJICAgJHJlc3VsdCA9IGFycmF5KCk7DQoJICAgJHJlc3VsdFtdID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImZpbmFsdGVtcGxhdGUiKTsNCgkgICAkcmVzdWx0W10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlX2NhdGVnb3J5Iik7DQoJICAgJHJlc3VsdFtdID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImxpc3R0ZW1wbGF0ZV92aWRlb3MiKTsNCgkgICByZXR1cm4gJHJlc3VsdDsNCiAgICB9DQoNCglmdW5jdGlvbiBCdWlsZFByZXR0eVVybHMoJHBhcmFtcywgJHJldHVybmlkPS0xKXsNCgkJJHByZXR0eXVybCA9ICJ5b3V0dWJlcGxheWVyLyI7DQoJCWlmKGlzc2V0KCRwYXJhbXNbImFsaWFzIl0pKXsNCgkJCSRwcmV0dHl1cmwgLj0gImRldGFpbC8iLiRwYXJhbXNbImFsaWFzIl07DQoJCX1lbHNlaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pKXsNCgkJCSRwcmV0dHl1cmwgLj0gJHBhcmFtc1sid2hhdCJdLiIvIi4kcGFyYW1zWyJwYXJlbnQiXTsNCgkJfWVsc2V7DQoJCQkkcHJldHR5dXJsIC49ICRwYXJhbXNbIndoYXQiXTsNCgkJfQ0KCQlpZighaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkgJiYgaXNzZXQoJHBhcmFtc1sicGFnZWluZGV4Il0pICYmIGlzc2V0KCRwYXJhbXNbIm5icGVycGFnZSJdKSkJJHByZXR0eXVybCAuPSAiLyIuJHBhcmFtc1sicGFnZWluZGV4Il0uIi8iLiRwYXJhbXNbIm5icGVycGFnZSJdOw0KCQkkcHJldHR5dXJsIC49ICIvIi4kcmV0dXJuaWQ7DQoJCXJldHVybiAkcHJldHR5dXJsOw0KCX0NCg0KCWZ1bmN0aW9uIERvQWN0aW9uKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkPS0xKXsNCgkJZ2xvYmFsICRnQ21zOw0KCQkNCgkJc3dpdGNoKCRhY3Rpb24pew0KCQkJY2FzZSAibGluayI6DQoJCQkJZWNobyAkdGhpcy0+Q3JlYXRlTGluaygkaWQsImRlZmF1bHQiLCRyZXR1cm5pZCwiIiwkcGFyYW1zLCIiLHRydWUpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiYnJlYWRjcnVtYnMiOg0KCQkJCSRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOw0KCQkJCSR0aGlzLT5mdW5jdGlvbl9tb2RicmVhZGNydW1icygkcGFyYW1zLCAkc21hcnR5KTsNCgkJCQlicmVhazsNCgkJCWNhc2UgImNoYW5nZWRlZnRlbXBsYXRlcyI6DQoJCQkJZm9yZWFjaCgkcGFyYW1zIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJICAgIGlmKCRrZXkgIT0gInN1Ym1pdCIpCSAgICR0aGlzLT5zZXRQcmVmZXJlbmNlKCRrZXksICR2YWx1ZSk7DQoJCQkJfQ0KCQkJCSRwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiI9PiJ0ZW1wbGF0ZXMiLCAibW9kdWxlX21lc3NhZ2UiPT4kdGhpcy0+bGFuZygibWVzc2FnZV9tb2RpZmllZCIpKTsNCgkJCQkvLyBubyBicmVhaywgbmF0dXJhbCByZWRpcmVjdCB0byBkZWZhdWx0YWRtaW4NCgkJCWNhc2UgImRlZmF1bHRhZG1pbiI6DQoJCQkJcmVxdWlyZSAiYWN0aW9uLmRlZmF1bHRhZG1pbi5waHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAibW92ZXNvbWV0aGluZyI6DQoJCQkJcmVxdWlyZSAiYWN0aW9uLm1vdmVzb21ldGhpbmcucGhwIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgInRvZ2dsZSI6DQoJCQkJcmVxdWlyZSAiYWN0aW9uLnRvZ2dsZS5waHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZGVsZXRldHBsIjoNCgkJCQkkbmV3cGFyYW1zID0gYXJyYXkoImFjdGl2ZV90YWIiPT4idGVtcGxhdGVzIik7DQoJCQkJJGRlZnRlbXBsYXRlcyA9ICR0aGlzLT5nZXREZWZhdWx0VGVtcGxhdGVzKCk7DQoJCQkgICAgaWYoaXNzZXQoJHBhcmFtc1sidHBsbmFtZSJdKSAmJiAhaW5fYXJyYXkoJHBhcmFtc1sidHBsbmFtZSJdLCAkZGVmdGVtcGxhdGVzKSl7DQoJCQkJICAgIGlmKCR0aGlzLT5EZWxldGVUZW1wbGF0ZSgkcGFyYW1zWyJ0cGxuYW1lIl0pKQkgICAkbmV3cGFyYW1zWyJtb2R1bGVfbWVzc2FnZT4iXSA9ICR0aGlzLT5sYW5nKCJtZXNzYWdlX21vZGlmaWVkIik7DQoJCQkJfQ0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRuZXdwYXJhbXMpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZWRpdFRlbXBsYXRlIjoNCgkJCQlyZXF1aXJlICJhY3Rpb24uZWRpdFRlbXBsYXRlLnBocCI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJzZWFyY2giOg0KCQkJCXJlcXVpcmUgImFjdGlvbi5zZWFyY2gucGhwIjsNCgkJCQlicmVhazsNCg0KCQkJY2FzZSAiYnJvd3NlZmlsZXMiOg0KCQkJCXJlcXVpcmUgImFjdGlvbi5icm93c2VmaWxlcy5waHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAidXBsb2FkRmlsZSI6DQoJCQkJcmVxdWlyZSAiYWN0aW9uLnVwbG9hZEZpbGUucGhwIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgImFzc2lnbmZpbGUiOg0KCQkJCXJlcXVpcmUgImFjdGlvbi5hc3NpZ25maWxlLnBocCI7DQoJCQkJYnJlYWs7DQoNCgkJCWNhc2UgImVkaXRBIjoNCgkJCQlyZXF1aXJlICJhY3Rpb24uZWRpdEEucGhwIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgImVkaXRCIjoNCgkJCQlyZXF1aXJlICJhY3Rpb24uZWRpdEIucGhwIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgImRlZmF1bHQiOg0KCQkJZGVmYXVsdDoNCgkJCQlyZXF1aXJlICJhY3Rpb24uZGVmYXVsdC5waHAiOw0KCQkJCWJyZWFrOw0KCQl9DQoNCg0KCX0NCgkNCglmdW5jdGlvbiBEb0NoZWNrYm94ZXMoJGlkLCAkbmFtZSwgJGNob2ljZXMsICRzZWxlY3RlZD1hcnJheSgpLCAkZGVsaW1pdGVyPSI8YnIvPiIpew0KCQkkb3V0cHV0ID0gIiI7DQoJCWZvcmVhY2goJGNob2ljZXMgYXMgJGtleT0+JHZhbHVlKXsNCgkJCSRvdXRwdXQgLj0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAkbmFtZS4iW10iLCAkdmFsdWUsIChpbl9hcnJheSgkdmFsdWUsICRzZWxlY3RlZCk/JHZhbHVlOjApKS4iICIuJGtleS4kZGVsaW1pdGVyOw0KCQl9DQoJCXJldHVybiAkb3V0cHV0Ow0KCX0NCg0KCWZ1bmN0aW9uIHBhcnNla2V5d29yZHMoJHN0cmluZyl7DQoJCSRpbnNpZGUgPSAoc3Vic3RyKCRzdHJpbmcsMCwxKSA9PSAnIicpOw0KCQkkcGFydHMgPSBleHBsb2RlKCciJywkc3RyaW5nKTsNCgkNCgkJaWYoY291bnQoJHBhcnRzKSA8IDIpew0KCQkJaWYoJGluc2lkZSl7DQoJCQkJcmV0dXJuIGFycmF5KHN0cl9yZXBsYWNlKCciJywiIiwkc3RyaW5nKSk7DQoJCQl9ZWxzZXsNCgkJCQlyZXR1cm4gZXhwbG9kZSgiICIsJHN0cmluZyk7DQoJCQl9DQoJCX0NCgkNCgkJJGtleXdvcmRzID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkcGFydHMgYXMgJHBhcnQpew0KCQkJaWYoJHBhcnQgIT0gIiIpew0KCQkJCWlmKCRpbnNpZGUpew0KCQkJCQkka2V5d29yZHNbXSA9ICRwYXJ0Ow0KCQkJCX1lbHNlew0KCQkJCQkkd29yZHMgPSBleHBsb2RlKCIgIix0cmltKCRwYXJ0KSk7DQoJCQkJCWZvcmVhY2goJHdvcmRzIGFzICR3b3JkKXsNCgkJCQkJCWlmKHRyaW0oJHdvcmQpICE9ICIiKQkka2V5d29yZHNbXSA9ICR3b3JkOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCSRpbnNpZGUgPSAhJGluc2lkZTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJGtleXdvcmRzOw0KCX0NCgkNCg0KCWZ1bmN0aW9uIGdldF9sZXZlbGFycmF5KCl7DQoJCS8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIGxldmVscyAodG9wIHRvIGJvdHRvbSkNCgkJcmV0dXJuIGFycmF5KCJjYXRlZ29yeSIsInZpZGVvcyIpOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF9tb2R1bGVoaWVyYXJjaHkoJGxldmVsPWZhbHNlKXsNCgkJJGhpZXJhcmNoeSA9IGFycmF5KCk7DQoJCQkkaGllcmFyY2h5WzFdID0gImNhdGVnb3J5IjsNCgkJCSRoaWVyYXJjaHlbMl0gPSAidmlkZW9zIjsNCgkJcmV0dXJuICRoaWVyYXJjaHk7DQoJfQ0KCQ0KCWZ1bmN0aW9uIGdldF9sZXZlbHRleHRmaWVsZHMoJGxldmVsKXsNCgkJLy8gcmV0dXJucyB0aGUgZmllbGQgb2YgYSBsZXZlbCB3aGljaCBhcmUgdGV4dCBmaWVsZHMgKGZvciB0aGUgc2ltcGxlIHNlYXJjaCBhY3Rpb24pDQoJCSRmaWVsZHMgPSBhcnJheSgpOw0KCQlzd2l0Y2goJGxldmVsKXsNCgkJCWNhc2UgImNhdGVnb3J5IjoNCgkJCQkkZmllbGRzID0gYXJyYXkoImRlc2NyaXB0aW9uIiwibmFtZSIpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAidmlkZW9zIjoNCgkJCQkkZmllbGRzID0gYXJyYXkoInZpZGVvaWQiLCJkZXNjcmlwdGlvbiIsIm5hbWUiKTsNCgkJCQlicmVhazsNCgkJCQkJCQ0KCQl9DQoJCXJldHVybiAkZmllbGRzOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF9oaWVyYXJjaHlvcHRpb25zKCRlbmQ9ZmFsc2UsICR3aXRoZW1wdHlyb3c9dHJ1ZSl7DQoJCS8vIHJldHVybnMgYW4gYXJyYXkgb2YgcGFyZW50IG9wdGlvbnMgZm9yIGEgbGlua2VkIHRvIGEgc2VsZWN0ZWQgbGV2ZWwNCgkJLy8gdXNlZCBmb3IgdGhlIGhpZXJhcmNoeSBkcm9wZG93biBsaXN0IGluIHNlYXJjaCBhY3Rpb24NCgkJJGxldmVsYXJyYXkgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCgkJIGlmKCFpbl9hcnJheSgkZW5kLCAkbGV2ZWxhcnJheSkpCSRlbmQgPSAidmlkZW9zIjsNCgkJDQoJCS8vIGJ1aWxkaW5nIHRoZSBqb2luZWQgcXVlcnkNCgkJJHRhYmxlcyA9ICIiOw0KCQkkZmllbGRzID0gIiI7DQoJCSRvcmRlcmJ5ID0gIiI7DQoJCSR3aGVyZSA9ICIiOw0KCQkkZmluaXNoZWQgPSBmYWxzZTsNCgkJJGkgPSAxOw0KCQlmb3JlYWNoKCRsZXZlbGFycmF5IGFzICRsZXZlbCl7DQoJCQlpZigkbGV2ZWwgPT0gJGVuZCkJJGZpbmlzaGVkID0gdHJ1ZTsNCgkJCWlmKCEkZmluaXNoZWQpew0KCQkJCSR0YWJsZXMgLj0gKCR0YWJsZXMgPT0gIiI/IiI6IiwgIikuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl8iLiRsZXZlbC4iIHQiLiRpLiIgIjsNCgkJCQkkZmllbGRzIC49ICgkZmllbGRzID09ICIiPyIiOiIsICIpLiJ0Ii4kaS4iLmlkIGlkIi4kaS4iLCB0Ii4kaS4iLm5hbWUgbmFtZSIuJGk7DQoJCQkJJG9yZGVyYnkgLj0gKCRvcmRlcmJ5ID09ICIiPyIiOiIsICIpLiJ0Ii4kaS4iLml0ZW1fb3JkZXIgREVTQyI7DQoJCQkJaWYoJGkgPiAxKSAkd2hlcmUgLj0gIiBBTkQgdCIuKCRpLTEpLiIuaWQgPSB0Ii4kaS4iLnBhcmVudCAiOw0KCQkJCSR3aGVyZSAuPSAoJHdoZXJlID09ICIiPyIiOiIgQU5EICIpLiIgdCIuJGkuIi5hY3RpdmU9MSI7DQoJCQkJJGkrKzsNCgkJCX0NCgkJfQ0KCQlpZigkZmllbGRzID09ICIiKQlyZXR1cm4gZmFsc2U7DQoJCQ0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgIi4kZmllbGRzLiIgRlJPTSAiLiR0YWJsZXMuIiBXSEVSRSAiLiR3aGVyZS4iIE9SREVSIEJZICIuJG9yZGVyYnk7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KDQoJCS8vIHBhcnNpbmcgcmVzdWx0cw0KCQkkY3VycmVudCA9IGFycmF5KCk7DQoJCSR0bXBsYXN0bGV2ZWwgPSBhcnJheSgpOw0KCQkkcmVzdWx0cyA9IGFycmF5KCk7DQoJCSRmaW5hbCA9ICRpIC0xOw0KCQl3aGlsZSgkaiA8ICRmaW5hbCApew0KCQkJJGN1cnJlbnRbJGpdID0gYXJyYXkoImlkIj0+ZmFsc2UsIm5hbWUiPT4iIik7DQoJCQkkaisrOw0KCQl9DQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCS8vIGVhY2ggcm93IGhhcyBhIGZ1bGwgaGllcmFyY2h5LCBmcm9tIHRvcCBwYXJlbnQgdG8gZmluYWwgY2hpbGQNCgkJCSRqID0gJGZpbmFsOw0KCQkJd2hpbGUoJGogPiAwICl7DQoJCQkJaWYoJHJvd1siaWQiLiRqXSAhPSAkY3VycmVudFskal1bImlkIl0pew0KCQkJCQlpZigkY3VycmVudFskal1bImlkIl0gJiYgY291bnQoJGN1cnJlbnRbJGpdWyJyZXMiXSkgPiAwKXsNCgkJCQkJCSRrZXkgPSBzdHJfcmVwZWF0KCImbmJzcDstJm5ic3A7IiwgKCRqIC0xKSkuJGN1cnJlbnRbJGpdWyJuYW1lIl07DQoJCQkJCQkkcmVzdWx0c1ska2V5XSA9IGltcGxvZGUoIiwiLCRjdXJyZW50WyRqXVsicmVzIl0pOw0KCQkJCQl9DQoJCQkJCSRjdXJyZW50WyRqXSA9IGFycmF5KCJpZCI9PiRyb3dbImlkIi4kal0sICJuYW1lIj0+JHJvd1sibmFtZSIuJGpdLCAicmVzIj0+YXJyYXkoKSk7DQoJCQkJfQ0KCQkJCSRjdXJyZW50WyRqXVsicmVzIl1bXSA9ICRyb3dbImlkIi4kZmluYWxdOw0KCQkJCSRqLS07DQoJCQl9DQoJCQkkcmVzdWx0c1tzdHJfcmVwZWF0KCImbmJzcDstJm5ic3A7IiwgKCRmaW5hbCAtMSkpLiRyb3dbIm5hbWUiLiRmaW5hbF1dID0gJHJvd1siaWQiLiRmaW5hbF07DQoJCX0NCgkJLy8gd2UgY2xvc2UgdGhlIHJlbWFpbmluZyBzZXRzDQoJCSRqID0gJGZpbmFsIC0xOw0KCQl3aGlsZSgkaiA+IDAgKXsNCgkJCSRrZXkgPSBzdHJfcmVwZWF0KCImbmJzcDstJm5ic3A7IiwgKCRqIC0xKSkuJGN1cnJlbnRbJGpdWyJuYW1lIl07DQoJCQkkcmVzdWx0c1ska2V5XSA9IGltcGxvZGUoIiwiLCRjdXJyZW50WyRqXVsicmVzIl0pOw0KCQkJJGotLTsNCgkJfQ0KCQlpZigkd2l0aGVtcHR5cm93KQkkcmVzdWx0c1siIl0gPSAiIjsNCgkJcmV0dXJuIGFycmF5X3JldmVyc2UoJHJlc3VsdHMpOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF9tb2R1bGVHZXRWYXJzKCl7DQoJCS8vIHVub3J0aG9kb3ggaGFjayBzbyB0aGF0IGRpZmZlcmVudCBjYWxscyBvZiB0aGUgbW9kdWxlIHNwZWFrIHdpdGggZWFjaCBvdGhlcg0KCQlnbG9iYWwgJF9HRVQ7DQoJCWdsb2JhbCAkZ0NtczsNCgkJJGdsb2JhbG1vZHVsZXZhcnMgPSBhcnJheSgpOw0KCQlpZihpc3NldCgkX0dFVFsibWFjdCJdKSl7DQoJCQkvLyBpZiB3ZSBhcmVuJ3QgdXNpbmcgcHJldHR5IHVybHMuLi4NCgkJCSRtb2RpbmZvID0gZXhwbG9kZSgiLCIsJF9HRVRbIm1hY3QiXSk7DQoJCQlpZihpc3NldCgkbW9kaW5mbykgJiYgJG1vZGluZm9bMF0gPT0gJHRoaXMtPkdldE5hbWUoKSl7DQoJCQkJaWYoaXNzZXQoJF9HRVRbJG1vZGluZm9bMV0uInBhcmVudCJdKSkNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbInBhcmVudCJdPSRfR0VUWyRtb2RpbmZvWzFdLiJwYXJlbnQiXTsNCgkJCQlpZihpc3NldCgkX0dFVFskbW9kaW5mb1sxXS4id2hhdCJdKSkNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbIndoYXQiXT0kX0dFVFskbW9kaW5mb1sxXS4id2hhdCJdOw0KCQkJCWlmKGlzc2V0KCRfR0VUWyRtb2RpbmZvWzFdLiJhbGlhcyJdKSkNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbImFsaWFzIl09JF9HRVRbJG1vZGluZm9bMV0uImFsaWFzIl07DQoJCQkJaWYoaXNzZXQoJF9HRVRbJG1vZGluZm9bMV0uInBhZ2VpbmRleCJdKSkNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbInBhZ2VpbmRleCJdPSRfR0VUWyRtb2RpbmZvWzFdLiJwYWdlaW5kZXgiXTsNCgkJCX0NCgkJfWVsc2VpZigkZ0Ntcy0+Y29uZmlnWyJpbnRlcm5hbF9wcmV0dHlfdXJscyJdIHx8ICRnQ21zLT5jb25maWdbImFzc3VtZV9tb2RfcmV3cml0ZSJdKXsNCgkJCSRwYXJhbXMgPSBhcnJheSgpOw0KCQkJaWYoJGdDbXMtPmNvbmZpZ1siYXNzdW1lX21vZF9yZXdyaXRlIl0gJiYgaXNzZXQoJF9HRVRbInBhZ2UiXSkpew0KCQkJCS8vIGlmIHdlIGFyZSB1c2luZyBhbiBleHRlcm5hbCBtb2RfcmV3cml0ZSwgYXNzdW1pbmcgeW91IGFyZSB1c2luZyB0aGUgdmVyeQ0KCQkJCS8vIGJhc2ljIHJld3JpdGUgd2hpY2ggcHV0cyB0aGUgbW9kdWxlIGluZm9ybWF0aW9ucyBpbnNpZGUgdGhlIHBhZ2UgdmFyaWFibGUNCgkJCQkkcGFydHMgPSBleHBsb2RlKCIvIiwkX0dFVFsicGFnZSJdKTsNCgkJCQlmb3JlYWNoKCRwYXJ0cyBhcyAkcGFydCl7DQoJCQkJCWlmKCRwYXJ0ICE9ICIiKQkkcGFyYW1zW10gPSAkcGFydDsNCgkJCQl9DQoJCQl9ZWxzZWlmKCEkZ0Ntcy0+Y29uZmlnWyJhc3N1bWVfbW9kX3Jld3JpdGUiXSAmJiAkZ0Ntcy0+Y29uZmlnWyJpbnRlcm5hbF9wcmV0dHlfdXJscyJdICYmIGlzc2V0KCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKSl7DQoJCQkJLy8gaWYgd2UgYXJlIHVzaW5nIHRoZSBpbnRlcm5hbCBwcmV0dHkgdXJscw0KCQkJCSRwYXJ0cyA9IGV4cGxvZGUoIi8iLCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdKTsNCgkJCQkkc3RhcnRlZCA9IGZhbHNlOw0KCQkJCWZvcmVhY2goJHBhcnRzIGFzICRwYXJ0KXsNCgkJCQkJaWYoJHN0YXJ0ZWQgJiYgJHBhcnQgIT0gIiIpCSRwYXJhbXNbXSA9ICRwYXJ0Ow0KCQkJCQlpZihzdHJ0b2xvd2VyKCRwYXJ0KSA9PSAiaW5kZXgucGhwIikJJHN0YXJ0ZWQgPSB0cnVlOw0KCQkJCX0NCgkJCX0NCgkJCWlmKGlzc2V0KCRwYXJhbXNbMF0pICYmIHN0cnRvbG93ZXIoJHBhcmFtc1swXSkgPT0gc3RydG9sb3dlcigkdGhpcy0+R2V0TmFtZSgpKSl7DQoJCQkJIC8vIHdlIGFyZSBpbiBhIG1vZHVsZSBhY3Rpb24NCgkJCQlpZihpc3NldCgkcGFyYW1zWzFdKSAmJiBzdHJ0b2xvd2VyKCRwYXJhbXNbMV0pID09ICJkZXRhaWwiKXsNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbIndoYXQiXSA9ICJ2aWRlb3MiOw0KCQkJCQkkZ2xvYmFsbW9kdWxldmFyc1siYWxpYXMiXSA9ICRwYXJhbXNbMl07DQoJCQkJfWVsc2V7DQoJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJ3aGF0Il0gPSAkcGFyYW1zWzFdOw0KCQkJCQlzd2l0Y2goY291bnQoJHBhcmFtcykpew0KCQkJCQkJY2FzZSA2Og0KCQkJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJwYWdlaW5kZXgiXSA9ICRwYXJhbXNbM107DQoJCQkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbIm5icGVycGFnZSJdID0gJHBhcmFtc1s0XTsNCgkJCQkJCWNhc2UgNDoNCgkJCQkJCQkkZ2xvYmFsbW9kdWxldmFyc1sicGFyZW50Il0gPSAkcGFyYW1zWzJdOw0KCQkJCQkJCWJyZWFrOw0KCQkJCQkJY2FzZSA1Og0KCQkJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJwYWdlaW5kZXgiXSA9ICRwYXJhbXNbMl07DQoJCQkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbIm5icGVycGFnZSJdID0gJHBhcmFtc1szXTsNCgkJCQkJCQlicmVhazsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJGdsb2JhbG1vZHVsZXZhcnM7DQoJfQ0KCQ0KCWZ1bmN0aW9uIGdldF9vYmp0cmVlKCRjdXJpZCwgJGN1cmxldmVsPSJ2aWRlb3MiLCAkZmllbGQ9ImlkIil7DQoJCS8vIHRoaXMgYnVpbGRzIGFuIG9iamVjdCB0cmVlICgkaXRlbS0+cGFyZW50X29iamVjdC0+cGFyZW50X29iamVjdC4uLikNCgkJLy8gd2UgZmlyc3QgcHV0IGFsbCB0aGUgcGFyZW50cyBpbiBhbiBhcnJheQ0KCQkkcGFyZW50cyA9IGFycmF5KCk7DQoJCSRsZXZlbHMgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCgkJJGkgPSBjb3VudCgkbGV2ZWxzKTsNCgkJJHN0YXJ0ZWQgPSBmYWxzZTsNCgkJd2hpbGUoJGN1cmlkICYmICRpID4gMCl7DQoJCQlpZigkbGV2ZWxzWyRpIC0xXSA9PSAkY3VybGV2ZWwpCSRzdGFydGVkID0gdHJ1ZTsNCgkJCWlmKCRzdGFydGVkKXsNCgkJCQkkZ2V0ZnVuY3Rpb24gPSAiZ2V0X2xldmVsXyIuJGxldmVsc1skaSAtMV07DQoJCQkJJGl0ZW0gPSAkdGhpcy0+JGdldGZ1bmN0aW9uKGFycmF5KCRmaWVsZD0+JGN1cmlkKSk7DQoJCQkJJGl0ZW0gPSBpc19hcnJheSgkaXRlbSk/JGl0ZW1bMF06JGl0ZW07DQoJCQkJJGl0ZW0tPl9fd2hhdCA9ICRsZXZlbHNbJGktMV07DQoJCQkJJHBhcmVudHNbXSA9ICRpdGVtOw0KCQkJCSRmaWVsZCA9ICJpZCI7DQoJCQkJJGN1cmlkID0gaXNzZXQoJGl0ZW0tPnBhcmVudF9pZCk/JGl0ZW0tPnBhcmVudF9pZDpmYWxzZTsNCgkJCX0NCgkJCSRpLS07DQoJCX0NCgkJDQoJCS8vIG5leHQsIHdlIHByb2Nlc3MgdGhlIGFycmF5IG9mIHBhcmVudHMgdG8gYnVpbGQgdGhlIHBhcmVudCB0cmVlDQoJCSRwYXJlbnR0cmVlID0gZmFsc2U7DQoJCSRpID0gY291bnQoJHBhcmVudHMpIC0gMTsNCgkJd2hpbGUoJGkgPj0gMCl7DQoJCQlpZigkcGFyZW50dHJlZSl7DQoJCQkJJG5ld3RyZWUgPSAkcGFyZW50c1skaV07DQoJCQkJJG5ld3RyZWUtPnBhcmVudF9vYmplY3QgPSAkcGFyZW50dHJlZTsNCgkJCQkkcGFyZW50dHJlZSA9ICRuZXd0cmVlOw0KCQkJfWVsc2V7DQoJCQkJJHBhcmVudHRyZWUgPSAkcGFyZW50c1skaV07DQoJCQl9DQoJCQkkaS0tOw0KCQl9DQoJCSR0aGlzLT5jdXJyZW50dHJlZSA9ICRwYXJlbnR0cmVlOw0KCQlyZXR1cm4gJHBhcmVudHRyZWU7DQoJfQ0KDQoJZnVuY3Rpb24gYnVpbGRHbG9iYWxUcmVlKCl7DQoJCS8vIHRoaXMgc2F2ZXMgdGhlIGN1cnJlbnQgdHJlZSBpbiB0aGUgbW9kdWxlLi4uDQoJCSRsZXZlbHMgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCgkJJGdsb2IgPSAkdGhpcy0+Z2V0X21vZHVsZUdldFZhcnMoKTsNCgkJaWYoaXNzZXQoJGdsb2JbInBhZ2VpbmRleCJdKSkJJHRoaXMtPmN1cnJlbnRwYWdlaW5kZXggPSAkZ2xvYlsicGFnZWluZGV4Il07DQoJCWlmKGlzc2V0KCRnbG9iWyJhbGlhcyJdKSl7DQoJCQkkdHJlZSA9ICR0aGlzLT5nZXRfb2JqdHJlZSgkZ2xvYlsiYWxpYXMiXSwgJGxldmVsc1tjb3VudCgkbGV2ZWxzKS0xXSwgImFsaWFzIik7DQoJCX1lbHNlaWYoaXNzZXQoJGdsb2JbInBhcmVudCJdKSAmJiBpc3NldCgkZ2xvYlsid2hhdCJdKSl7DQoJCQkkdHJlZSA9ICR0aGlzLT5nZXRfb2JqdHJlZSgkZ2xvYlsicGFyZW50Il0sICR0aGlzLT5nZXRfbmV4dGxldmVsKCRnbG9iWyJ3aGF0Il0sZmFsc2UpLCAiYWxpYXMiKTsNCgkJfQ0KCQkkdGhpcy0+Y3VycmVudHRyZWUgPSAkdHJlZTsNCgkJDQoJCWlmKCR0cmVlKXsNCgkJCS8vIHRoaXMgc2F2ZXMgdGhlIHNlbGVjdGVkIGl0ZW0gZm9yIGVhY2ggbGV2ZWwNCgkJCSR0aGlzLT5wbGN1cnJlbnRbJHRyZWUtPl9fd2hhdF0gPSAkdHJlZS0+YWxpYXM7DQoJCQl3aGlsZShpc3NldCgkdHJlZS0+cGFyZW50X29iamVjdCkpew0KCQkJCSR0cmVlID0gJHRyZWUtPnBhcmVudF9vYmplY3Q7DQoJCQkJJHRoaXMtPnBsY3VycmVudFskdHJlZS0+X193aGF0XSA9ICR0cmVlLT5hbGlhczsNCgkJCX0NCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGZ1bmN0aW9uX21vZGJyZWFkY3J1bWJzKCRwYXJhbXMsICYkc21hcnR5KXsNCgkJaWYoISR0aGlzLT5jdXJyZW50dHJlZSkJCSR0aGlzLT5idWlsZEdsb2JhbFRyZWUoKTsNCgkJDQoJCWlmKCR0aGlzLT5jdXJyZW50dHJlZSl7DQoJCQlnbG9iYWwgJGdDbXM7DQoJCQkkcmV0dXJuaWQgPSAkZ0Ntcy0+dmFyaWFibGVzWyJjb250ZW50X2lkIl07DQoJCQkvLyB3ZSBjcmVhdGUgdGhlIGJyZWFkY3J1bWJzDQoJCQkkY2xhc3NpZCA9IGlzc2V0KCRwYXJhbXNbImNsYXNzaWQiXSk/IiBjbGFzcz1cIiIuJHBhcmFtc1siY2xhc3NpZCJdLiJcIiI6IiI7DQoJCQkkY3VycmVudGNsYXNzaWQgPSBpc3NldCgkcGFyYW1zWyJjdXJyZW50Y2xhc3NpZCJdKT8iIGNsYXNzPVwiIi4kcGFyYW1zWyJjdXJyZW50Y2xhc3NpZCJdLiJcIiI6IiBjbGFzcz1cImxhc3RpdGVtXCIiOw0KCQkJJHN0YXJ0bGV2ZWwgPSBpc3NldCgkcGFyYW1zWyJzdGFydGxldmVsIl0pPyR0aGlzLT5nZXRfbmV4dGxldmVsKCRwYXJhbXNbInN0YXJ0bGV2ZWwiXSwgZmFsc2UpOmZhbHNlOw0KCQkJJGRlbGltaXRlciA9IGlzc2V0KCRwYXJhbXNbImRlbGltaXRlciJdKT8kcGFyYW1zWyJkZWxpbWl0ZXIiXTokdGhpcy0+TGFuZygiYnJlYWRjcnVtYnNfZGVsaW1pdGVyIik7DQoJCQkkaW5pdGlhbCA9IGlzc2V0KCRwYXJhbXNbImluaXRpYWwiXSk/JHBhcmFtc1siaW5pdGlhbCJdOiR0aGlzLT5MYW5nKCJ5b3VhcmVoZXJlIik7DQoNCgkJCSRvdXRwdXQgPSAiIjsNCgkJCSRjdXJyZW50ID0gJHRoaXMtPmN1cnJlbnR0cmVlOw0KCQkJJGdvaW5nb24gPSBmYWxzZTsNCgkJCXdoaWxlKGlzc2V0KCRjdXJyZW50LT5wYXJlbnRfb2JqZWN0KSl7DQoJCQkJJGN1cnJlbnQgPSAkY3VycmVudC0+cGFyZW50X29iamVjdDsNCgkJCQlpZigkY3VycmVudC0+X193aGF0ID09ICRzdGFydGxldmVsKQkkZW5kZWQgPSB0cnVlOw0KCQkJCWlmKCEkZW5kZWQpew0KCQkJCQkkcGFyYW1zID0gYXJyYXkoIndoYXQiPT4kdGhpcy0+Z2V0X25leHRsZXZlbCgkY3VycmVudC0+X193aGF0KSwgInBhcmVudCI9PiRjdXJyZW50LT5hbGlhcyk7DQoJCQkJCSRwcmV0dHl1cmwgPSAkdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCRwYXJhbXMsICRyZXR1cm5pZCk7DQoJCQkJCSRvdXRwdXQgPSAiPHNwYW4iLiRjbGFzc2lkLiI+Ii4kdGhpcy0+Q3JlYXRlTGluaygiIiwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICRjdXJyZW50LT5uYW1lLCAkcGFyYW1zLCAiIiwgZmFsc2UsIGZhbHNlLCAiIiwgZmFsc2UsICRwcmV0dHl1cmwpLiI8L3NwYW4+Ii4kZGVsaW1pdGVyLiRvdXRwdXQ7DQoJCQkJfQ0KCQkJfQ0KCQkJaWYoJG91dHB1dCAhPSAiIikgJG91dHB1dCA9ICRpbml0aWFsLiRvdXRwdXQuIjxzcGFuIi4kY3VycmVudGNsYXNzaWQuIj4iLiR0aGlzLT5jdXJyZW50dHJlZS0+bmFtZS4iPC9zcGFuPiI7DQoJCQkNCgkJCWlmKGlzc2V0KCRwYXJhbXNbImFzc2lnbiJdKSAmJiAkcGFyYW1zWyJhc3NpZ24iXSAhPSAiIil7DQoJCQkJJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbImFzc2lnbiJdLCAkb3V0cHV0KTsNCgkJCX1lbHNlew0KCQkJCWVjaG8gJG91dHB1dDsNCgkJCX0NCgkJfQ0KCX0NCg0KDQoNCglmdW5jdGlvbiBjb3VudHNvbWV0aGluZygkdGFibGVuYW1lLCR3aGF0PSJpZCIsJHdoZXJlPWFycmF5KCkpew0KCQkvLyByZXR1cm5zIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gYSB0YWJsZQ0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSR3aGVyZXN0cmluZyA9ICIiOw0KCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCR3aGVyZSBhcyAka2V5PT4kdmFsdWUpew0KCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiBXSEVSRSAiOiIgQU5EICIpLiRrZXkuIj0/IjsNCgkJCSR3aGVyZXZhbHVlc1tdID0gJHZhbHVlOw0KCQl9DQoJCSRxdWVyeSA9ICJTRUxFQ1QgQ09VTlQoJHdoYXQpIG91cmNvdW50IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV95b3V0dWJlcGxheWVyXyR0YWJsZW5hbWUiLiR3aGVyZXN0cmluZzsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkd2hlcmV2YWx1ZXMpOw0KCQlpZiAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJcmV0dXJuICRyb3dbIm91cmNvdW50Il07DQoJCX1lbHNlew0KCQkJcmV0dXJuIDA7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBnZXRfZGlzdGFuY2V0b2xldmVsKCRwYXJlbnRuYW1lLCRjaGlsZG5hbWU9InZpZGVvcyIpew0KCQkvLyBnZXQgdGhlIGRpc3RhbmNlIGJldHdlZW4gdHdvIGxldmVscyAobW9zdCBsaWtlbHkgYmV0d2VlbiBhIGxldmVsIGFuZCB0aGUgZmluYWwgbGV2ZWwpDQoJCSRsZXZlbHMgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCgkJJHBhcmVudHBvc2l0aW9uID0gZmFsc2U7DQoJCSRjaGlsZHBvc2l0aW9uID0gZmFsc2U7DQoJCSRjb3VudGVyID0gMDsNCgkJZm9yZWFjaCgkbGV2ZWxzIGFzICRsZXZlbCl7DQoJCQkkY291bnRlcisrOw0KCQkJaWYoJGxldmVsID09ICRwYXJlbnRuYW1lKSAkcGFyZW50cG9zaXRpb24gPSAkY291bnRlcjsNCgkJCWlmKCRsZXZlbCA9PSAkY2hpbGRuYW1lKSAkY2hpbGRwb3NpdGlvbiA9ICRjb3VudGVyOw0KCQl9DQoJCWlmKCRjaGlsZHBvc2l0aW9uICYmICRwYXJlbnRwb3NpdGlvbil7DQoJCQlyZXR1cm4gYWJzKCRwYXJlbnRwb3NpdGlvbiAtICRjaGlsZHBvc2l0aW9uKTsNCgkJfQ0KCX0NCglmdW5jdGlvbiBnZXRfbmV4dGxldmVsKCRjdXJsZXZlbCwkZmluZGNoaWxkPXRydWUpew0KCQkvLyByZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGxldmVsIGJlbG93ICgkZmluZGNoaWxkPXRydWUpIG9yIGFib3ZlICgkZmluZGNoaWxkPWZhbHNlKQ0KCQkkbGV2ZWxzID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQoJCSRpID0gMDsNCgkJJHdhbnRlZGxldmVsID0gZmFsc2U7DQoJCXdoaWxlKCRpIDwgY291bnQoJGxldmVscykpew0KCQkJJG5leHQgPSAkZmluZGNoaWxkPyRpKzE6JGktMTsNCgkJCWlmKCRsZXZlbHNbJGldID09ICRjdXJsZXZlbCAmJiBpc3NldCgkbGV2ZWxzWyRuZXh0XSkpICR3YW50ZWRsZXZlbCA9ICRsZXZlbHNbJG5leHRdOw0KCQkJJGkrKzsNCgkJfQ0KCQlyZXR1cm4gJHdhbnRlZGxldmVsOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF9wYXJlbnRzKCRwYXJlbnRuYW1lLCRjaGlsZG5hbWUsJGNoaWxkaWQpew0KCQkvLyBmdW5jdGlvbiB3aXRoIHRoZSBzaGFyZWNoaWxkcmVuIiBvcHRpb24uLi4NCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICIuJHBhcmVudG5hbWUuIl9pZCBwYXJlbnRpZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl8iLiRwYXJlbnRuYW1lLiJfaGFzXyIuJGNoaWxkbmFtZS4iIFdIRVJFICIuJGNoaWxkbmFtZS4iX2lkPT8iOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRjaGlsZGlkKSk7DQoJCSRwYXJlbnRzID0gYXJyYXkoKTsNCgkJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCSRwYXJlbnRzW10gPSAkcm93WyJwYXJlbnRpZCJdOw0KCQl9DQoJCXJldHVybiAkcGFyZW50czsNCgl9DQoNCglmdW5jdGlvbiBnZXRfb3B0aW9ucygkdGFibGVuYW1lLCRvbmx5YWN0aXZlPWZhbHNlLCRmdWxsb2JqZWN0PWZhbHNlKXsNCgkJLy8gcmV0dXJucyB0aGUgZWxlbWVudHMgb2YgYW55IHRhYmxlIGFzIG9wdGlvbnMgdG8gdXNlIGZvciBhIGRyb3Bkb3duIGxpc3QNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3lvdXR1YmVwbGF5ZXJfIi4kdGFibGVuYW1lOw0KCQlpZigkb25seWFjdGl2ZSkJJHF1ZXJ5IC49ICIgV0hFUkUgYWN0aXZlPTEiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsNCgkJJG9wdGlvbnMgPSBhcnJheSgpOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJaWYoJGZ1bGxvYmplY3Qpew0KCQkJCSRvYmogPSBuZXcgU3RkQ2xhc3MoKTsNCgkJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKQkkb2JqLT4ka2V5ID0gJHZhbHVlOw0KCQkJCSRvcHRpb25zW10gPSAkb2JqOw0KCQkJfWVsc2V7DQoJCQkJJG9wdGlvbnNbJHJvd1sibmFtZSJdXSA9ICRyb3dbImlkIl07DQoJCQl9DQoJCX0NCgkJDQoJCXJldHVybiAkb3B0aW9uczsNCgl9DQoJDQoJZnVuY3Rpb24gZ2V0X2ZpZWxkb3B0aW9ucygkZmllbGQsJGZ1bGxvYmplY3Q9ZmFsc2Upew0KCQkvLyByZXR1cm5zIGZpZWxkIG9wdGlvbnMgYXMgb3B0aW9ucyB0byB1c2UgZm9yIGEgZHJvcGRvd24gbGlzdA0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl9maWVsZG9wdGlvbnMgV0hFUkUgZmllbGQ9PyBPUkRFUiBCWSBpdGVtX29yZGVyIjsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZmllbGQpKTsNCgkJJG9wdGlvbnMgPSBhcnJheSgpOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJaWYoJGZ1bGxvYmplY3Qpew0KCQkJCSRvYmogPSBuZXcgU3RkQ2xhc3MoKTsNCgkJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKQkkb2JqLT4ka2V5ID0gJHZhbHVlOw0KCQkJCSRvcHRpb25zW10gPSAkb2JqOw0KCQkJfWVsc2V7DQoJCQkJJG9wdGlvbnNbJHJvd1sibmFtZSJdXSA9ICRyb3dbImlkIl07DQoJCQl9DQoJCX0NCgkJDQoJCXJldHVybiAkb3B0aW9uczsNCgl9DQoNCglmdW5jdGlvbiBnZXRfcGFnZWlkKCRhbGlhcyl7DQoJCS8vIHJldHVybnMgdGhlIHBhZ2UgaWQgZnJvbSBhbiBhbGlhcw0KCQlnbG9iYWwgJGdDbXM7DQoJCSRtYW5hZ2VyID0mICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7DQoJCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJGFsaWFzKTsNCgkJaWYgKGlzc2V0KCRub2RlKSkgew0KCQkJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsJDQoJCQlpZiAoaXNzZXQoJGNvbnRlbnQpKQlyZXR1cm4gJGNvbnRlbnQtPklkKCk7DQoJCX1lbHNlew0KCQkJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkYWxpYXMpOw0KCQkJaWYgKGlzc2V0KCRub2RlKSkgcmV0dXJuICRhbGlhczsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGFkZGFkbWlubGlua3MoJGl0ZW0sJHBhcmFtcywkaWQsJHJldHVybmlkKXsNCgkJLy8gYWRkIHRoZSBhZG1pbiBsaW5rcyB0byB0aGUgbGV2ZWwgaXRlbXMuLi4NCgkJLyogJHBhcmFtcyA6IHRoZSBiYXNlIHBhcmFtZXRlcnMgZm9yIHRoZSBhZG1pbiBsaW5rcw0KCQkJCXByZWZpeA0KCQkJCXRhYmxlbmFtZQ0KCQkJCWNoaWxkIChpZiB0aGUgbGV2ZWwgaGFzIGEgY2hpbGQgbGV2ZWwsIHRoZSBuYW1lIG9mIHRoZSBjaGlsZCBsZXZlbCkNCgkJCQlsZXZlbG5hbWUNCgkJCQlwYXJlbnRkZWZhdWx0IChib29sLi4uIHdoZXRoZXIgb3Igbm90IHRoZXJlIGlzIGEgZGVmYXVsdCBlbGVtZW50IGZvciBlYWNoIHBhcmVudCkNCgkJCQlvcmRlcmJ5cGFyZW50IChib29sKQ0KCQkJCWFkZGZpbGVzDQoJCQkJc2hhcmVjaGlsZHJlbiAoYm9vbCkNCgkJCQlzaGFyZWRieXBhcmVudHMgKGJvb2wpDQoJCSovDQoJCSRwcmVmaXggPSAkcGFyYW1zWyJwcmVmaXgiXTsNCgkJJG1vdmVwYXJhbXMgPSAkcGFyYW1zOw0KCQkkbW92ZXBhcmFtc1skcHJlZml4LiJpZCJdID0gJGl0ZW0tPmlkOw0KCQkkbW92ZXBhcmFtc1siY3VycmVudG9yZGVyIl0gPSAkaXRlbS0+aXRlbV9vcmRlcjsNCgkJDQoJCWdsb2JhbCAkZ0NtczsNCgkJJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoNCgkJaWYoJG1vdmVwYXJhbXNbIm9yZGVyYnlwYXJlbnQiXSAmJiBpc3NldCgkaXRlbS0+cGFyZW50X2lkKSkgJG1vdmVwYXJhbXNbInBhcmVudCJdID0gJGl0ZW0tPnBhcmVudF9pZDsNCg0KCQkkaXRlbS0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0Ii4kcHJlZml4LCAkcmV0dXJuaWQsICRpdGVtLT5uYW1lLCBhcnJheSgkcHJlZml4LiJpZCI9PiRpdGVtLT5pZCkpOw0KCQkkaXRlbS0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgIm1vdmVzb21ldGhpbmciLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9kZWxldGUuZ2lmIixsYW5nKCJkZWxldGUiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgibW92ZSI9PiJkZWxldGUiKSwkbW92ZXBhcmFtcyksJHRoaXMtPkxhbmcoInByb210X2RlbGV0ZSIuJHBhcmFtc1sibGV2ZWxuYW1lIl0sICRpdGVtLT5uYW1lKSk7DQoJCSRpdGVtLT5tb3ZldXBsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAibW92ZXNvbWV0aGluZyIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2Fycm93LXUuZ2lmIixsYW5nKCJ1cCIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJtb3ZlIj0+InVwIiksJG1vdmVwYXJhbXMpKTsNCgkJJGl0ZW0tPm1vdmVkb3dubGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgIm1vdmVzb21ldGhpbmciLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9hcnJvdy1kLmdpZiIsbGFuZygiZG93biIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJtb3ZlIj0+ImRvd24iKSwkbW92ZXBhcmFtcykpOw0KCQkkaXRlbS0+bW92ZWxpbmtzID0gJGl0ZW0tPm1vdmV1cGxpbmsgLiIgIi4gJGl0ZW0tPm1vdmVkb3dubGluazsNCgkJDQoJCS8vIHdlIHJlYnVpbGQgdGhlIHBhcmFtcywgYmVjYXVzZSB3ZSBkb24ndCBuZWVkIHRvIG1hbnkgZm9yIHRoZSB0b2dnbGUgYWN0aW9uDQoJCSR0b2dnbGVwYXJhbXMgPSBhcnJheSgkcHJlZml4LiJpZCI9PiRpdGVtLT5pZCwgInByZWZpeCI9PiRwcmVmaXgsICJ0YWJsZW5hbWUiPT4kcGFyYW1zWyJ0YWJsZW5hbWUiXSwgImxldmVsbmFtZSI9PiRwYXJhbXNbImxldmVsbmFtZSJdKTsNCgkJaWYoJHBhcmFtc1sicGFyZW50ZGVmYXVsdCJdICYmIGlzc2V0KCRpdGVtLT5wYXJlbnRfaWQpKXsNCgkJCSR0b2dnbGVwYXJhbXNbInBhcmVudCJdID0gJGl0ZW0tPnBhcmVudF9pZDsNCgkJCSR0b2dnbGVwYXJhbXNbInBhcmVudGRlZmF1bHQiXSA9IDE7DQoJCX0NCgkJaWYgKCRpdGVtLT5hY3RpdmUgPT0gMSl7DQoJCQkkaXRlbS0+dG9nZ2xlYWN0aXZlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAidG9nZ2xlIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vdHJ1ZS5naWYiLGxhbmcoInNldGZhbHNlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIndoYXQiPT4iYWN0aXZlIiwibmV3dmFsIj0+MCksJHRvZ2dsZXBhcmFtcykpOw0KCQl9ZWxzZXsNCgkJCSRpdGVtLT50b2dnbGVhY3RpdmUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0b2dnbGUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9mYWxzZS5naWYiLGxhbmcoInNldHRydWUiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgid2hhdCI9PiJhY3RpdmUiLCJuZXd2YWwiPT4xKSwkdG9nZ2xlcGFyYW1zKSk7DQoJCX0NCg0KCQlpZiAoJGl0ZW0tPmlzZGVmYXVsdCA9PSAxKXsNCgkJCSRpdGVtLT50b2dnbGVkZWZhdWx0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAidG9nZ2xlIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vdHJ1ZS5naWYiLGxhbmcoInNldGZhbHNlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIndoYXQiPT4iZGVmYXVsdCIsIm5ld3ZhbCI9PjApLCR0b2dnbGVwYXJhbXMpKTsNCgkJfWVsc2V7DQoJCQkkaXRlbS0+dG9nZ2xlZGVmYXVsdCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInRvZ2dsZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZiIsbGFuZygic2V0dHJ1ZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJ3aGF0Ij0+ImRlZmF1bHQiLCJuZXd2YWwiPT4xKSwkdG9nZ2xlcGFyYW1zKSk7DQoJCX0NCgkJcmV0dXJuICRpdGVtOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF9sZXZlbF9jYXRlZ29yeSgkd2hlcmU9YXJyYXkoKSwkYWRtaW49ZmFsc2UsJGlkPSIiLCRyZXR1cm5pZD0iIiwkb3JkZXI9ZmFsc2UsJGxpbWl0PTAsJGN1c3RvbXdoZXJlPWZhbHNlLCRjdXN0b212YWx1ZXM9YXJyYXkoKSl7DQoJCWlmKCEkb3JkZXIpCSRvcmRlciA9ICJub3JtYWwiOw0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSR3aGVyZXN0cmluZyA9ICIiOw0KCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOw0KCQkNCg0KCQlpZigkY3VzdG9td2hlcmUpew0KCQkJJHdoZXJlc3RyaW5nID0gJGN1c3RvbXdoZXJlOw0KCQkJJHdoZXJldmFsdWVzID0gJGN1c3RvbXZhbHVlczsNCgkJfWVsc2V7DQoJCQlmb3JlYWNoKCR3aGVyZSBhcyAka2V5PT4kdmFsdWUpew0KCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgQU5EICIpLiRrZXkuIj0/IjsNCgkJCQkkd2hlcmV2YWx1ZXNbXSA9ICR2YWx1ZTsNCgkJCX0NCgkJfQ0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3lvdXR1YmVwbGF5ZXJfY2F0ZWdvcnkgQSAiLigkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBXSEVSRSAiLiR3aGVyZXN0cmluZykuIiBPUkRFUiBCWSBpdGVtX29yZGVyIjsNCg0KCQlpZigkbGltaXQgPiAwKQkkcXVlcnkgLj0gIiBMSU1JVCAiLiRsaW1pdDsNCg0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR3aGVyZXZhbHVlcyk7DQoJCSRpdGVtbGlzdCA9IGFycmF5KCk7DQoJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCQkJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJJGl0ZW0tPiRrZXkgPSAkdmFsdWU7DQoJCQl9DQoJCQkkaXRlbS0+ZGVzY3JpcHRpb24gPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPmRlc2NyaXB0aW9uKTsNCgkJCSRpdGVtLT5uYW1lID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5uYW1lKTsNCgkJCSRpdGVtLT5hbGlhcyA9IHN0cmlwc2xhc2hlcygkaXRlbS0+YWxpYXMpOw0KCQkkaXRlbS0+bmJjaGlsZHJlbiA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygidmlkZW9zIiwiaWQiLGFycmF5KCJwYXJlbnQiID0+ICRpdGVtLT5pZCkpOw0KCQkNCgkJCWlmKCRhZG1pbiA9PSB0cnVlKXsNCgkJCQkvLyAkcGFybXMgd2lsbCBiZSB0aGUgYmFzZSBmb3IgcGFyYW1ldGVycyBvZiB0aGUgYWRtaW4gbGlua3MNCgkJCQkkcGFybXMgPSBhcnJheSgNCgkJCQkJInByZWZpeCI9PiJBIiwNCgkJCQkJInRhYmxlbmFtZSI9PiJ5b3V0dWJlcGxheWVyX2NhdGVnb3J5IiwNCgkJCQkJImxldmVsbmFtZSI9PiJjYXRlZ29yeSIsDQoJCQkJCSJjaGlsZCI9PiJ5b3V0dWJlcGxheWVyX3ZpZGVvcyIsDQoJCQkJCSJwYXJlbnRkZWZhdWx0Ij0+ZmFsc2UsDQoJCQkJCSJvcmRlcmJ5cGFyZW50Ij0+dHJ1ZSwNCgkJCQkJImFkZGZpbGVzIj0+IiIsDQoJCQkJCSJzaGFyZWNoaWxkcmVuIj0+ZmFsc2UsDQoJCQkJCSJzaGFyZWRieXBhcmVudHMiPT5mYWxzZQ0KCQkJCQkpOw0KCQkJCSRpdGVtID0gJHRoaXMtPmFkZGFkbWlubGlua3MoJGl0ZW0sJHBhcm1zLCRpZCwkcmV0dXJuaWQpOw0KCQkJfQ0KCQkJYXJyYXlfcHVzaCgkaXRlbWxpc3QsJGl0ZW0pOw0KCQl9DQoNCgkJcmV0dXJuICRpdGVtbGlzdDsNCgl9DQoNCglmdW5jdGlvbiBnZXRfbGV2ZWxfdmlkZW9zKCR3aGVyZT1hcnJheSgpLCRhZG1pbj1mYWxzZSwkaWQ9IiIsJHJldHVybmlkPSIiLCRvcmRlcj1mYWxzZSwkbGltaXQ9MCwkY3VzdG9td2hlcmU9ZmFsc2UsJGN1c3RvbXZhbHVlcz1hcnJheSgpKXsNCgkJaWYoISRvcmRlcikJJG9yZGVyID0gIm5vcm1hbCI7DQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJJHdoZXJlc3RyaW5nID0gIiI7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCQ0KDQoJCWlmKCRjdXN0b213aGVyZSl7DQoJCQkkd2hlcmVzdHJpbmcgPSAkY3VzdG9td2hlcmU7DQoJCQkkd2hlcmV2YWx1ZXMgPSAkY3VzdG9tdmFsdWVzOw0KCQl9ZWxzZXsNCgkJCWZvcmVhY2goJHdoZXJlIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJaWYoJGtleSA9PSAicGFyZW50Iil7DQoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgQU5EICIpLiJCLmFsaWFzPT8iOw0KCQkJCX1lbHNlaWYoJGtleSA9PSAicGFyZW50X2lkIil7DQoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgQU5EICIpLiJCLmlkPT8iOw0KCQkJCX1lbHNlew0KCQkJCQkkd2hlcmVzdHJpbmcgLj0gKCR3aGVyZXN0cmluZyA9PSAiIj8iIjoiIEFORCAiKS4iQS4iLiRrZXkuIj0/IjsNCgkJCQl9DQoJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQl9DQoJCX0NCgkJDQoJCSRxdWVyeSA9ICJTRUxFQ1QgQS4qLCBCLmlkIHBhcmVudF9pZCwgQi5uYW1lIHBhcmVudF9uYW1lLCBCLmFsaWFzIHBhcmVudF9hbGlhcyBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfeW91dHViZXBsYXllcl92aWRlb3MgQSwgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV95b3V0dWJlcGxheWVyX2NhdGVnb3J5IEIgV0hFUkUgQS5wYXJlbnQgPSBCLmlkICIuKCR3aGVyZXN0cmluZyA9PSAiIj8iIjoiIEFORCAiKS4kd2hlcmVzdHJpbmc7DQoJCWlmKCRvcmRlciA9PSAibW9kaWZpZWQiKXsNCgkJCSAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLmRhdGVfbW9kaWZpZWQgREVTQyI7DQoJCX1lbHNlaWYoJG9yZGVyID09ICJjcmVhdGVkIil7DQoJCQkgJHF1ZXJ5IC49ICIgT1JERVIgQlkgQS5pZCBERVNDIjsNCgkJfWVsc2VpZigkb3JkZXIgPT0gIm5hbWUiKXsNCgkJCSAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLm5hbWUiOwkNCgkJfWVsc2V7DQoJCQkgJHF1ZXJ5IC49ICIgT1JERVIgQlkgQi5pdGVtX29yZGVyLCBBLml0ZW1fb3JkZXIiOw0KCQl9DQoJCWlmKCRsaW1pdCA+IDApCSRxdWVyeSAuPSAiIExJTUlUICIuJGxpbWl0Ow0KDQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHdoZXJldmFsdWVzKTsNCgkJJGl0ZW1saXN0ID0gYXJyYXkoKTsNCgkJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCSRpdGVtID0gbmV3IHN0ZENsYXNzKCk7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQkkaXRlbS0+JGtleSA9ICR2YWx1ZTsNCgkJCX0NCgkJCSRpdGVtLT52aWRlb2lkID0gc3RyaXBzbGFzaGVzKCRpdGVtLT52aWRlb2lkKTsNCgkJCSRpdGVtLT5kZXNjcmlwdGlvbiA9IHN0cmlwc2xhc2hlcygkaXRlbS0+ZGVzY3JpcHRpb24pOw0KCQkJJGl0ZW0tPm5hbWUgPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPm5hbWUpOw0KCQkJJGl0ZW0tPmFsaWFzID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5hbGlhcyk7DQoNCgkJCWlmKCRhZG1pbiA9PSB0cnVlKXsNCgkJCQkvLyAkcGFybXMgd2lsbCBiZSB0aGUgYmFzZSBmb3IgcGFyYW1ldGVycyBvZiB0aGUgYWRtaW4gbGlua3MNCgkJCQkkcGFybXMgPSBhcnJheSgNCgkJCQkJInByZWZpeCI9PiJCIiwNCgkJCQkJInRhYmxlbmFtZSI9PiJ5b3V0dWJlcGxheWVyX3ZpZGVvcyIsDQoJCQkJCSJsZXZlbG5hbWUiPT4idmlkZW9zIiwNCgkJCQkJImNoaWxkIj0+ZmFsc2UsDQoJCQkJCSJwYXJlbnRkZWZhdWx0Ij0+ZmFsc2UsDQoJCQkJCSJvcmRlcmJ5cGFyZW50Ij0+dHJ1ZSwNCgkJCQkJImFkZGZpbGVzIj0+IiIsDQoJCQkJCSJzaGFyZWNoaWxkcmVuIj0+ZmFsc2UsDQoJCQkJCSJzaGFyZWRieXBhcmVudHMiPT5mYWxzZQ0KCQkJCQkpOw0KCQkJCSRpdGVtID0gJHRoaXMtPmFkZGFkbWlubGlua3MoJGl0ZW0sJHBhcm1zLCRpZCwkcmV0dXJuaWQpOw0KCQkJfQ0KCQkJYXJyYXlfcHVzaCgkaXRlbWxpc3QsJGl0ZW0pOw0KCQl9DQoNCgkJcmV0dXJuICRpdGVtbGlzdDsNCgl9DQoJDQpmdW5jdGlvbiBwbFJlc2l6ZSgkZnVsbHBhdGgsICRwcmVmaXgsICRuZXd3aWR0aCwgJG5ld2hlaWdodD1mYWxzZSwgJHRyYW5zcGFyZW5jeT10cnVlKSB7DQoJJG5hbWUgPSBzdHJfcmVwbGFjZSgnLy8nLCcvJywkZnVsbHBhdGgpOw0KCWlmKCFmaWxlX2V4aXN0cygkbmFtZSkpCXJldHVybiBmYWxzZTsNCgkkaW1hZ2VfaW5mb3MgPSBnZXRpbWFnZXNpemUoJG5hbWUpOw0KCWlmKCRpbWFnZV9pbmZvc1swXSA+ICRuZXd3aWR0aCB8fCAoJG5ld2hlaWdodCAhPSBmYWxzZSAmJiAkaW1hZ2VfaW5mb3NbMV0gPiAkbmV3aGVpZ2h0KSl7DQoJCWlmKCRwcmVmaXggPT0gJycpew0KCQkJJG5ld25hbWUgPSAkbmFtZTsNCgkJfWVsc2V7DQoJCQkkdG1wYXJyID0gZXhwbG9kZSgnLycsJG5hbWUpOw0KCQkJJGZpbGVuYW1lID0gJHRtcGFycltjb3VudCgkdG1wYXJyKSAtIDFdOw0KCQkJJG5ld25hbWUgPSBzdHJfcmVwbGFjZSgkZmlsZW5hbWUsICRwcmVmaXguJGZpbGVuYW1lLCAkbmFtZSk7DQoJCX0NCgkJJGFyciA9IHNwbGl0KCJcLiIsJG5hbWUpOw0KCQkkZXh0ID0gJGFycltjb3VudCgkYXJyKS0xXTsNCg0KCQlpZigkZXh0PT0ianBlZyIgfHwgJGV4dD09ImpwZyIpew0KCQkJJGltZyA9IEBpbWFnZWNyZWF0ZWZyb21qcGVnKCRuYW1lKTsNCgkJfSBlbHNlaWYoJGV4dD09InBuZyIpew0KCQkJJGltZyA9IEBpbWFnZWNyZWF0ZWZyb21wbmcoJG5hbWUpOw0KCQl9IGVsc2VpZigkZXh0PT0iZ2lmIikgew0KCQkJJGltZyA9IEBpbWFnZWNyZWF0ZWZyb21naWYoJG5hbWUpOw0KCQl9DQoJCWlmKCEkaW1nKSAgIHJldHVybiBmYWxzZTsNCg0KCQkkb2xkX3ggPSBpbWFnZVNYKCRpbWcpOw0KCQkkb2xkX3kgPSBpbWFnZVNZKCRpbWcpOw0KDQoJCSRyYXRpbyA9ICRuZXdoZWlnaHQ/bWluKCRuZXd3aWR0aCAvICRpbWFnZV9pbmZvc1swXSwgJG5ld2hlaWdodCAvICRpbWFnZV9pbmZvc1sxXSk6KCRuZXd3aWR0aCAvICRpbWFnZV9pbmZvc1swXSk7DQoJCSR0aHVtYl9oID0gJGltYWdlX2luZm9zWzFdICogJHJhdGlvOw0KCQkkdGh1bWJfdyA9ICRpbWFnZV9pbmZvc1swXSAqICRyYXRpbzsNCg0KCQkkbmV3X2ltZyA9IEltYWdlQ3JlYXRlVHJ1ZUNvbG9yKCR0aHVtYl93LCAkdGh1bWJfaCk7DQoJICAgDQoJCWlmKCR0cmFuc3BhcmVuY3kpIHsNCgkJCWlmKCRleHQ9PSJwbmciKSB7DQoJCQkJaW1hZ2VhbHBoYWJsZW5kaW5nKCRuZXdfaW1nLCBmYWxzZSk7DQoJCQkJJGNvbG9yVHJhbnNwYXJlbnQgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkbmV3X2ltZywgMCwgMCwgMCwgMTI3KTsNCgkJCQlpbWFnZWZpbGwoJG5ld19pbWcsIDAsIDAsICRjb2xvclRyYW5zcGFyZW50KTsNCgkJCQlpbWFnZXNhdmVhbHBoYSgkbmV3X2ltZywgdHJ1ZSk7DQoJCQl9IGVsc2VpZigkZXh0PT0iZ2lmIikgew0KCQkJCSR0cm5wcnRfaW5keCA9IGltYWdlY29sb3J0cmFuc3BhcmVudCgkaW1nKTsNCgkJCQlpZiAoJHRybnBydF9pbmR4ID49IDApIHsNCgkJCQkJLy9pdHMgdHJhbnNwYXJlbnQNCgkJCQkJJHRybnBydF9jb2xvciA9IGltYWdlY29sb3JzZm9yaW5kZXgoJGltZywgJHRybnBydF9pbmR4KTsNCgkJCQkJJHRybnBydF9pbmR4ID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRuZXdfaW1nLCAkdHJucHJ0X2NvbG9yWydyZWQnXSwgJHRybnBydF9jb2xvclsnZ3JlZW4nXSwgJHRybnBydF9jb2xvclsnYmx1ZSddKTsNCgkJCQkJaW1hZ2VmaWxsKCRuZXdfaW1nLCAwLCAwLCAkdHJucHJ0X2luZHgpOw0KCQkJCQlpbWFnZWNvbG9ydHJhbnNwYXJlbnQoJG5ld19pbWcsICR0cm5wcnRfaW5keCk7DQoJCQkJfQ0KCQkJfQ0KCQl9IGVsc2Ugew0KCQkJSW1hZ2VmaWxsKCRuZXdfaW1nLCAwLCAwLCBpbWFnZWNvbG9yYWxsb2NhdGUoJG5ld19pbWcsIDI1NSwgMjU1LCAyNTUpKTsNCgkJfQ0KCQlpbWFnZWNvcHlyZXNhbXBsZWQoJG5ld19pbWcsICRpbWcsIDAsMCwwLDAsICR0aHVtYl93LCAkdGh1bWJfaCwgJG9sZF94LCAkb2xkX3kpOw0KDQoJCWlmKGZpbGVfZXhpc3RzKCRuZXduYW1lKSkJQHVubGluaygkbmV3bmFtZSk7DQoNCgkJaWYoJGV4dD09ImpwZWciIHx8ICRleHQ9PSJqcGciKXsNCgkJCWltYWdlanBlZygkbmV3X2ltZywgJG5ld25hbWUpOw0KCQkJJHJldHVybiA9IHRydWU7DQoJCX0gZWxzZWlmKCRleHQ9PSJwbmciKXsNCgkJCWltYWdlcG5nKCRuZXdfaW1nLCAkbmV3bmFtZSk7DQoJCQkkcmV0dXJuID0gdHJ1ZTsNCgkJfSBlbHNlaWYoJGV4dD09ImdpZiIpIHsNCgkJCWltYWdlZ2lmKCRuZXdfaW1nLCAkbmV3bmFtZSk7DQoJCQkkcmV0dXJuID0gdHJ1ZTsNCgkJfQ0KCQlpbWFnZWRlc3Ryb3koJG5ld19pbWcpOw0KCQlpbWFnZWRlc3Ryb3koJGltZyk7DQoJCWlmKCRyZXR1cm4pICRyZXR1cm4gPSAkbmV3bmFtZTsNCgkJcmV0dXJuICRyZXR1cm47DQoJfWVsc2V7DQoJCXJldHVybiAkbmFtZTsNCgl9DQp9DQoNCn0NCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/youtubeplayer_auto_export.dna</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[YToyOntzOjU6ImluZm9zIjthOjE1OntzOjQ6Im5hbWUiO3M6MTM6InlvdXR1YmVwbGF5ZXIiO3M6MTI6ImZyaWVuZGx5bmFtZSI7czoxMzoiWW91VHViZVBsYXllciI7czoxMToiZGVzY3JpcHRpb24iO3M6MjA6IkVtYmVkIFlvdVR1YmUgUGxheWVyIjtzOjg6Im5ibGV2ZWxzIjtzOjE6IjIiO3M6MTM6InRlbXBsYXRlbGV2ZWwiO3M6MToiMCI7czo5OiJkb3VwZ3JhZGUiO2I6MDtzOjE0OiJ1cGdyYWRlcXVlcmllcyI7YTowOnt9czoxMzoibW9kaWZpY2F0aW9ucyI7YTowOnt9czoxMjoibmFtZW9mbW9kdWxlIjtzOjEzOiJ5b3V0dWJlcGxheWVyIjtzOjc6InZlcnNpb24iO3M6MzoiMS4wIjtzOjExOiJkZWxldGVmaWxlcyI7YjowO3M6MTM6ImVkaXRhYmxlYWxpYXMiO2I6MDtzOjc6ImRvZmVhZGQiO3M6MToiMCI7czo5OiJsYW5nZmlsZXMiO2E6MTp7aTowO3M6OToiZW5fVVMucGhwIjt9czo4OiJ0ZW1wZmlsZSI7czoyMzoidGVtcC90ZW1wX3lvdXR1YmVwbGF5ZXIiO31zOjY6ImxldmVscyI7YToyOntpOjA7YToxMDp7aTowO3M6ODoiY2F0ZWdvcnkiO2k6MTtzOjE6IkEiO2k6MjtzOjE6IjAiO2k6MztzOjE6IjEiO2k6NjtzOjE6IjEiO2k6NztzOjE6IjAiO2k6ODtzOjE6IjEiO2k6OTthOjI6e2k6MDtzOjg6IkNhdGVnb3J5IjtpOjE7czoxMDoiQ2F0ZWdvcmllcyI7fWk6NDthOjE6e2k6MDthOjc6e2k6MDtzOjExOiJkZXNjcmlwdGlvbiI7aToxO3M6MToiNCI7aToyO3M6MToiMCI7aTozO3M6MToiMCI7aTo0O3M6MDoiIjtpOjU7YTo1OntzOjExOiJsaXN0b3B0aW9ucyI7czowOiIiO3M6ODoibGlzdG1vZGUiO3M6MToiMSI7czo4OiJ1cGZvbGRlciI7czowOiIiO3M6NToidGh1bWIiO3M6MDoiIjtzOjQ6InNpemUiO3M6MDoiIjt9aTo2O2E6MDp7fX19aTo1O3M6MjE6Im5hbWUsYWN0aXZlLG1vdmVsaW5rcyI7fWk6MTthOjEwOntpOjA7czo2OiJ2aWRlb3MiO2k6MTtzOjE6IkIiO2k6MjtpOjA7aTozO3M6MToiMiI7aTo2O3M6MToiMSI7aTo3O3M6MToiMCI7aTo4O3M6MToiMCI7aTo5O2E6Mjp7aTowO3M6NToiVmlkZW8iO2k6MTtzOjY6IlZpZGVvcyI7fWk6NDthOjI6e2k6MDthOjc6e2k6MDtzOjc6InZpZGVvaWQiO2k6MTtzOjE6IjQiO2k6MjtzOjE6IjEiO2k6MztzOjE6IjAiO2k6NDtzOjA6IiI7aTo1O2E6NTp7czoxMToibGlzdG9wdGlvbnMiO3M6MDoiIjtzOjg6Imxpc3Rtb2RlIjtzOjE6IjEiO3M6ODoidXBmb2xkZXIiO3M6MDoiIjtzOjU6InRodW1iIjtzOjA6IiI7czo0OiJzaXplIjtzOjA6IiI7fWk6NjthOjA6e319aToxO2E6Nzp7aTowO3M6MTE6ImRlc2NyaXB0aW9uIjtpOjE7czoxOiI0IjtpOjI7czoxOiIxIjtpOjM7czoxOiIwIjtpOjQ7czowOiIiO2k6NTthOjU6e3M6MTE6Imxpc3RvcHRpb25zIjtzOjA6IiI7czo4OiJsaXN0bW9kZSI7czoxOiIxIjtzOjg6InVwZm9sZGVyIjtzOjA6IiI7czo1OiJ0aHVtYiI7czowOiIiO3M6NDoic2l6ZSI7czowOiIiO31pOjY7YTowOnt9fX1pOjU7czozMToibmFtZSxhY3RpdmUsaXNkZWZhdWx0LG1vdmVsaW5rcyI7fX19]]></data>
	</file>
</module>
