<?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>Presence</name>
	<version>0.2</version>
    <mincmsversion>2.0</mincmsversion>
	<help><![CDATA[PGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4KPHA+Q2UgbW9kdWxlIHLDqWN1cMOocmUgbGVzIHLDqXN1bHRhdHMgZGUgdm90cmUgY2x1YiBldCByw6lhbGlzZSBkZXMgdHJhaXRlbWVudHMgYWZpbiBkZSBsZXMgZGlzcG9zZXIgc3VyIHZvdHJlIHNpdGUgaW50ZXJuZXQuPC9wPgo8aDM+Q29tbWVudCBsJ3V0aWxpc2VyID88L2gzPgo8cD5MZSB0YWcgcGFyIGTDqWZhdXQgZXN0IGNlbHVpLWNpIHtjbXNfbW9kdWxlIG1vZHVsZT0nUGluZyd9PC9wPgo8aDM+U3VwcG9ydDwvaDM+Cjx1bD4KPGxpPlBvdXIgb2J0ZW5pciBsYSBkZXJuacOocmUgdmVyc2lvbiBvZmZpY2llbGxlLCBGQVFzLCBvdSBwb3VyIHNpZ25hbGVyIHVuIGJ1ZywgZmFpcmUgdW5lIGRlbWFuZGUgZCdhbcOpbGlvcmF0aW9ucywgbWVyY2kgZGUgY29uc3VsdGVyIGxhIGZvcmdlIGR1IG1vZHVsZSDDoCBjZXR0ZSBhZHJlc3NlIDogCjxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvcGluZy8iPlBpbmc8L2E+LjwvbGk+CjwvdWw+CjxwPkNlIG1vZHVsZSBlc3QgZm91cm5pIHNvdXMgbGljZW5jZSBHUEwgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LlBvdXIgdXRpbGlzZXIgbGUgbG9naWNpZWwsIHZvdXMgZGV2ZXogZW4gIGFjY2VwdGVyIGxlcyB0ZXJtZXM8L3A+Cgo8aDM+Q29weXJpZ2h0IGV0IExpY2VuY2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTQsIENsYXVkZSBTaW9oYW4gPGEgaHJlZj0ibWFpbHRvOmNsYXVkZUBhZ2ktd2ViY29uc2VpbC5mciI+Y2xhdWRlQGFnaS13ZWJjb25zZWlsLmZyPC9hPi4gVG91cyBkcm9pdHMgcsOpc2VydsOpcy48L3A+CjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+QWRoZXJlbnRzID0mZ3Q7IDAuMzwvbGk+PGxpPk1lc3NhZ2VzID0mZ3Q7IDAuMzwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBDbGF1ZGUgU0lPSEFOICZsdDtjbGF1ZGUuc2lvaGFuQGdtYWlsLmNvbSZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAwLjI8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+CjxsaT5WZXJzaW9uIDAuMWJldGEzLCBOb3YgMjAxNCBTYyBBbcOpbGlvcmF0aW9ucyBkdSBmcm9udC1vZmZpY2UgZXQgZMOpYm9ndWFnZSBkdSBiYWNrPC9saT4KPHVsPgogICA8bGk+TWlzZSBuZSBwbGFjZSBkdSBmcm9udC1vZmZpY2UuPC9saT4KICAgPGxpPkFtw6lsaW9yYXRpb25zIGR1IGJhY2stb2ZmaWNlIGV0IGNvcnJlY3Rpb25zIGRlIGJ1Z3MuPC9saT4KPC91bD48YnIgLz4=]]></about>
	<description><![CDATA[Ce module gère les absences/présences.]]></description>
	<requires>
	  <requiredname>Adherents</requiredname>
	  <requiredversion>0.3</requiredversion>
	</requires>
	<requires>
	  <requiredname>Messages</requiredname>
	  <requiredversion>0.3</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABgAAAAIAAAAGAAAABALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAABMAAAABAAAQAGRzY2xib29sAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAQAbABhAG4AZ2RzY2xib29sAQAAAAQAbABhAG4AZ2xnMVNjb21wAAAAAAAAZKoAAAAEAGwAYQBuAGdtb0REZHV0YwAA06KbPAAAAAAABABsAGEAbgBnbW9kRGR1dGMAANOimzwAAAAAAAQAbABhAG4AZ3BoMVNjb21wAAAAAAAAkAAAAAADAGwAaQBiYndzcGJsb2IAAAD5YnBsaXN0MDDZAQIDBAUGBwgJCgoMCgwKEBEMXVNob3dTdGF0dXNCYXJbU2hvd1NpZGViYXJbU2hvd1BhdGhiYXJbU2hvd1Rvb2xiYXJbU2hvd1RhYlZpZXdfEBRDb250YWluZXJTaG93U2lkZWJhclxXaW5kb3dCb3VuZHNcU2lkZWJhcldpZHRoXxAVUHJldmlld1BhbmVWaXNpYmlsaXR5CQkICQgJXxAYe3s4ODEsIDE5NX0sIHs5NDQsIDQzNn19EKMICBspNUFNWXB9iqKjpKWmp6jDxQAAAAAAAAEBAAAAAAAAABMAAAAAAAAAAAAAAAAAAADGAAAAAwBsAGkAYmRzY2xib29sAQAAAAMAbABpAGJsZzFTY29tcAAAAAAAAAAAAAAAAwBsAGkAYmxzdlBibG9iAAACb2JwbGlzdDAw2AECAwQFBgcICQoLDEQVCkZYaWNvblNpemVfEA9zaG93SWNvblByZXZpZXdfEBFjYWxjdWxhdGVBbGxTaXplc1djb2x1bW5zWHRleHRTaXplWnNvcnRDb2x1bW5fEBB1c2VSZWxhdGl2ZURhdGVzXxASdmlld09wdGlvbnNWZXJzaW9uI0AwAAAAAAAACQiqDRYbHyQpLjM4PdQODxARChMKFVd2aXNpYmxlVXdpZHRoWWFzY2VuZGluZ1ppZGVudGlmaWVyCREBgwlUbmFtZdQODxARChgLGgkQtQhcZGF0ZU1vZGlmaWVk1A4PEBELGAseCAhbZGF0ZUNyZWF0ZWTUDg8QEQohCyMJEGEIVHNpemXUDg8QEQomCigJEHMJVGtpbmTUDg8QEQsrCi0IEGQJVWxhYmVs1A4PEBELMAoyCBBLCVd2ZXJzaW9u1A4PEBELNQo3CBEBLAlYY29tbWVudHPUDg8QEQs6CzwIEMgIXmRhdGVMYXN0T3BlbmVk1D4/QBELGAtDV3Zpc2libGVVd2lkdGhZYXNjZW5kaW5nCAhZZGF0ZUFkZGVkI0AoAAAAAAAACRAAAAgAGQAiADQASABQAFkAZAB3AIwAlQCWAJcAogCrALMAuQDDAM4AzwDSANMA2ADhAOIA5ADlAPIA+wD8AP0BCQESARMBFQEWARsBJAElAScBKAEtATYBNwE5AToBQAFJAUoBTAFNAVUBXgFfAWIBYwFsAXUBdgF4AXkBiAGRAZkBnwGpAaoBqwG1Ab4BvwAAAAAAAAIBAAAAAAAAAEcAAAAAAAAAAAAAAAAAAAHBAAAAAwBsAGkAYmxzdnBibG9iAAACV2JwbGlzdDAw2AECAwQFBgcICQoLDEYUCkFYaWNvblNpemVfEA9zaG93SWNvblByZXZpZXdfEBFjYWxjdWxhdGVBbGxTaXplc1djb2x1bW5zWHRleHRTaXplWnNvcnRDb2x1bW5fEBB1c2VSZWxhdGl2ZURhdGVzXxASdmlld09wdGlvbnNWZXJzaW9uI0AwAAAAAAAACQjZDQ4PEBESExQVFh8kKS4zOD1CWGNvbW1lbnRzXmRhdGVMYXN0T3BlbmVkW2RhdGVDcmVhdGVkVHNpemVVbGFiZWxUa2luZFd2ZXJzaW9uVG5hbWVcZGF0ZU1vZGlmaWVk1BcYGRoLHAoeV3Zpc2libGVVd2lkdGhZYXNjZW5kaW5nVWluZGV4CBEBLAkQB9QXGBkaCyELIwgQyAgQCNQXGBkaCyYLKAgQtQgQAtQXGBkaCisLLQkQYQgQA9QXGBkaCzAKMggQZAkQBdQXGBkaCjUKNwkQcwkQBNQXGBkaCzoKPAgQSwkQBtQXGBkaCj8KQQkRAYMJEADUFxgZGgomC0UJCBABI0AoAAAAAAAACQAIABkAIgA0AEgAUABZAGQAdwCMAJUAlgCXAKoAswDCAM4A0wDZAN4A5gDrAPgBAQEJAQ8BGQEfASABIwEkASYBLwEwATIBMwE1AT4BPwFBAUIBRAFNAU4BUAFRAVMBXAFdAV8BYAFiAWsBbAFuAW8BcQF6AXsBfQF+AYABiQGKAY0BjgGQAZkBmgGbAZ0BpgAAAAAAAAIBAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAGnAAAAAwBsAGkAYm1vRERkdXRjAADW8MoXAAAAAAADAGwAaQBibW9kRGR1dGMAANbwyhcAAAAAAAMAbABpAGJwaDFTY29tcAAAAAAAAAAAAAAAAwBsAGkAYnZTcm5sb25nAAAAAQAAAAkAdABlAG0AcABsAGEAdABlAHNkc2NsYm9vbAEAAAAJAHQAZQBtAHAAbABhAHQAZQBzbGcxU2NvbXAAAAAAAAAAAAAAAAkAdABlAG0AcABsAGEAdABlAHNtb0REZHV0YwAA1vDKJgAAAAAACQB0AGUAbQBwAGwAYQB0AGUAc21vZERkdXRjAADW8MomAAAAAAAJAHQAZQBtAHAAbABhAHQAZQBzcGgxU2NvbXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAYCwAAAEUAABALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEERFNEQgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAgAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAEAAAgAAAAAAAAAAAEAACAAAAAAAQAAQAAAAAABAACAAAAAAAEAAQAAAAAAAQACAAAAAAABAAQAAAAAAAEACAAAAAAAAQAQAAAAAAABACAAAAAAAAEAQAAAAAAAAQCAAAAAAAABAQAAAAAAAAECAAAAAAAAAQQAAAAAAAABCAAAAAAAAAEQAAAAAAAAASAAAAAAAAABQAAAAAAAAAAJCNkNDg8QERITFBUWHyQpLjM4PUJYY29tbWVudHNeZGF0ZUxhc3RPcGVuZWRbZGF0ZUNyZWF0ZWRUc2l6ZVVsYWJlbFRraW5kV3ZlcnNpb25UbmFtZVxkYXRlTW9kaWZpZWTUFxgZGgscCh5XdmlzaWJsZVV3aWR0aFlhc2NlbmRpbmdVaW5kZXgIEQEsCRAH1BcYGRoLIQsjCBDICBAI1BcYGRoLJgsoCBC1CBAC1BcYGRoKKwstCRBhCBAD1BcYGRoLMAoyCBBkCRAF1BcYGRoKNQo3CRBzCRAE1BcYGRoLOgo8CBBLCRAG1BcYGRoKPwpBCREBgwkQANQXGBkaCiYLRQkIEAEjQCgAAAAAAAAJAAgAGQAiADQASABQAFkAZAB3AIwAlQCWAJcAqgCzAMIAzgDTANkA3gDmAOsA+AEBAQkBDwEZAR8BIAEjASQBJgEvATABMgEzATUBPgE/AUEBQgFEAU0BTgFQAVEBUwFcAV0BXwFgAWIBawFsAW4BbwFxAXoBewF9AX4BgAGJAYoBjQGOAZABmQGaAZsBnQGmAAAAAAAAAgEAAAAAAAAASAAAAAAAAAAAAAAAAAAAAacAAAADAGwAaQBibW9ERGR1dGMAANbwyhcAAAAAAAMAbABpAGJtb2REZHV0YwAA1vDKFwAAAAAAAwBsAGkAYnBoMVNjb21wAAAAAAAAAAAAAAADAGwAaQBidlNybmxvbmcAAAABAAAACQB0AGUAbQBwAGwAYQB0AGUAc2RzY2xib29sAQAAAAkAdABlAG0AcABsAGEAdABlAHNsZzFTY29tcAAAAAAAAAAAAAAACQB0AGUAbQBwAGwAYQB0AGUAc21vRERkdXRjAADW8MomAAAAAAAJAHQAZQBtAHAAbABhAHQAZQBzbW9kRGR1dGMAANbwyiYAAAAAAAkAdABlAG0AcABsAGEAdABlAHNwaDFTY29tcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></data>
	</file>
	<file>
	  <filename>/action.add_edit_presence.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCglpZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0luc2NyaXB0aW9ucyB1c2UnKSkKICAJewogICAgCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicpKTsKCQlyZXR1cm47CiAgIAogIAl9CgoJaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApCiAgCXsKICAgIAkJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignY290aXNhdGlvbnMnKTsKICAgIAkJcmV0dXJuOwogIAl9Ci8vZGVidWdfZGlzcGxheSgkcGFyYW1zLCAnUGFyYW1ldGVycycpOwokZGIgPSYgJHRoaXMtPkdldERiKCk7Ci8vcydhZ2l0LWlsIGQndW5lIG1vZGlmIG91IGQndW5lIGNyw6lhID8KJHJlY29yZF9pZCA9ICcnOwokaW5kZXggPSAwOwokbGliZWxsZSA9ICcnOwokYWN0aWYgPSAwOwokZWRpdCA9IDA7CiRpbnNjX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CgppZihpc3NldCgkcGFyYW1zWydyZWNvcmRfaWQnXSkgJiYgJHBhcmFtc1sncmVjb3JkX2lkJ10gIT0iIikKewoJCSRyZWNvcmRfaWQgPSAkcGFyYW1zWydyZWNvcmRfaWQnXTsKCQkkZWRpdCA9IDE7Ly9vbiBlc3QgYmllbiBlbiB0cmFpbiBkJ8OpZGl0ZXIgdW4gZW5yZWdpc3RyZW1lbnQKCQkvL09OIFZBIENIRVJDSEVSIGwnZW5yZWdpc3RyZW1lbnQgZW4gcXVlc3Rpb24KCQkkZGV0YWlscyA9ICRpbnNjX29wcy0+ZGV0YWlsc19wcmVzZW5jZSgkcmVjb3JkX2lkKTsKfQokZ3Bfb3BzID0gbmV3IGNvbnRhY3Q7CiRsaXN0ZV9ncm91cGVzID0gJGdwX29wcy0+bGlzdGVfZ3JvdXBlcygpOwokT3VpTm9uID0gYXJyYXkoJ091aSc9PicxJywgJ05vbic9PicwJyk7CQoJCgkKCS8vb24gY29uc3RydWl0IGxlIGZvcm11bGFpcmUKCSRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkJICAgICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ2RvX2FkZF9lZGl0X3ByZXNlbmNlJywgJHJldHVybmlkICkgKTsKCWlmKCRlZGl0PT0xKQoJewoJCSRzbWFydHktPmFzc2lnbigncmVjb3JkX2lkJywKCQkJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3JlY29yZF9pZCcsJHJlY29yZF9pZCkpOwoJCQoJfQoJCgkKCSRzbWFydHktPmFzc2lnbignbm9tJywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ25vbScsKGlzc2V0KCRkZXRhaWxzWydub20nXSk/JGRldGFpbHNbJ25vbSddOiIiKSw1MCwyMDApKTsKCSRzbWFydHktPmFzc2lnbignZGVzY3JpcHRpb24nLAoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnZGVzY3JpcHRpb24nLChpc3NldCgkZGV0YWlsc1snZGVzY3JpcHRpb24nXSk/JGRldGFpbHNbJ2Rlc2NyaXB0aW9uJ106IiIpLDUwLDIwMCkpOwoJJHNtYXJ0eS0+YXNzaWduKCdkYXRlX2RlYnV0JywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0RGF0ZSgkaWQsJ2RhdGVfZGVidXQnLChpc3NldCgkZGV0YWlsc1snZGF0ZV9kZWJ1dCddKT8kZGV0YWlsc1snZGF0ZV9kZWJ1dCddOiIiKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdoZXVyZV9kZWJ1dCcsCgkJCQkJJHRoaXMtPkNyZWF0ZUlucHV0RGF0ZSgkaWQsJ2hldXJlX2RlYnV0JywoaXNzZXQoJGRldGFpbHNbJ2hldXJlX2RlYnV0J10pPyRkZXRhaWxzWydoZXVyZV9kZWJ1dCddOiIwMDowMCIpKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2RhdGVfbGltaXRlJywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0RGF0ZSgkaWQsJ2RhdGVfbGltaXRlJywoaXNzZXQoJGRldGFpbHNbJ2RhdGVfbGltaXRlJ10pPyRkZXRhaWxzWydkYXRlX2xpbWl0ZSddOiIiKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdhY3RpZicsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnYWN0aWYnLCRPdWlOb24sJHNlbGVjdGVkaW5kZXggPSAkaW5kZXgsICRzZWxlY3RlZHZhbHVlPShpc3NldCgkZGV0YWlsc1snYWN0aWYnXSk/JGRldGFpbHNbJ2FjdGlmJ106IiIpKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2dyb3VwZScsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnZ3JvdXBlJywkbGlzdGVfZ3JvdXBlcywkc2VsZWN0ZWRpbmRleCA9ICRpbmRleCwgKGlzc2V0KCRkZXRhaWxzWydncm91cGUnXSk/JGRldGFpbHNbJ2dyb3VwZSddOiIiKSkpOwoJCgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnc3VibWl0JyksICdjbGFzcz0iYnV0dG9uIicpKTsKCSRzbWFydHktPmFzc2lnbignY2FuY2VsJywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FuY2VsJywKCQkJCQkJJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgoKCSRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsCgkJCSR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoJCgkKCgoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZGRfZWRpdF9wcmVzZW5jZS50cGwnKTsKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_config_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwovL29uIHbDqXJpZmllIGxlcyBkcm9pdHMgZGUgY2V0IHV0aWxpc2F0ZXVyCmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignUHJlc2VuY2UgU2V0IFByZWZzJykpewoJJG1lc3NhZ2UgPSAiVm91cyBuXCdhdmV6IHBhcyBsZXMgYXV0b3Jpc2F0aW9ucyBwb3VyIGFjY8OpZGVyIGF1eCBwcsOpZsOpcmVuY2VzIjsKCSR0aGlzLT5TZXRNZXNzYWdlKCIkbWVzc2FnZSIpOwoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigncHJlcycpOwp9CmlmKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkKewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3BhZ2VpZF9wcmVzZW5jZScsICRwYXJhbXNbJ3BhZ2VpZF9wcmVzZW5jZSddKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdiaXRseV9jbGllbnRfaWQnLCAkcGFyYW1zWydiaXRseV9jbGllbnRfaWQnXSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X3NlY3JldCcsICRwYXJhbXNbJ2JpdGx5X2NsaWVudF9zZWNyZXQnXSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfYWNjZXNzX3Rva2VuJywgJHBhcmFtc1snYml0bHlfYWNjZXNzX3Rva2VuJ10pOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2JpdGx5X3JlZGlyZWN0X3VyaScsICRwYXJhbXNbJ2JpdGx5X3JlZGlyZWN0X3VyaSddKTsKfQplbHNlCnsKCSRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnYWRtaW5fY29uZmlnX3RhYicsICRyZXR1cm5pZCkpOwoKCSRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kICgpKTsKCgkkc21hcnR5LT5hc3NpZ24oJ3BhZ2VpZF9wcmVzZW5jZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwYWdlaWRfcHJlc2VuY2UnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRfcHJlc2VuY2UnKSw1MCwyNTUpKTsKCSRzbWFydHktPmFzc2lnbignYml0bHlfY2xpZW50X2lkJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnYml0bHlfY2xpZW50X2lkJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X2lkJywnJyksNTAsMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2JpdGx5X2NsaWVudF9zZWNyZXQnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdiaXRseV9jbGllbnRfc2VjcmV0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X3NlY3JldCcsJycpLDUwLDI1NSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdiaXRseV9hY2Nlc3NfdG9rZW4nLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdiaXRseV9hY2Nlc3NfdG9rZW4nLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdiaXRseV9hY2Nlc3NfdG9rZW4nLCcnKSw1MCwyNTUpKTsKCSRzbWFydHktPmFzc2lnbignYml0bHlfcmVkaXJlY3RfdXJpJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnYml0bHlfcmVkaXJlY3RfdXJpJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfcmVkaXJlY3RfdXJpJyksNTAsMjU1KSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CgoJLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUgKCdjb25maWcudHBsJyk7Cn0KCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNZXNzYWdlcyB1c2UnKSkKaWYoIWlzc2V0KCRwYXJhbXNbJ21lc3NhZ2VfaWQnXSkgfHwgJHBhcmFtc1snbWVzc2FnZV9pZCddID09ICcnKQp7CgkvL3JlZGlyCgkkdGhpcy0+U2V0TWVzc2FnZSgnSWwgbWFucXVlIHVuIHBhcmFtZXRyZScpOwoJfQplbHNlCnsKCSRtZXNzYWdlX2lkID0gJHBhcmFtc1snbWVzc2FnZV9pZCddOwoJLy9vbiB2YSBzdXBwcmltZXIgbGUgbWVzc2FnZSBldCBsZXMgcmVjaXBpZW50cwoJJG1lc3Nfb3BzID0gbmV3IFQydF9tZXNzYWdlczsKCSRkZWxfbWVzcyA9ICRtZXNzX29wcy0+ZGVsZXRlX21lc3NhZ2UoJG1lc3NhZ2VfaWQpOwoJaWYodHJ1ZSA9PT0gJGRlbF9tZXNzKQoJewoJCS8vb24gc3VwcHJpbWUgYXVzc2kgbGVzIG1lc3NhZ2UgZGUgbGEgdGFibGUgcmVjaXBpZW50cwoJCSRkZWxfcmVjaXAgPSAkbWVzc19vcHMtPmRlbGV0ZV9yZWNpcGllbnRzKCRtZXNzYWdlX2lkKTsKCX0KCSR0aGlzLT5TZXRNZXNzYWdlKCdNZXNzYWdlIHN1cHByaW3DqScpOwp9CiR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ21lc3MnKTs=]]></data>
	</file>
	<file>
	  <filename>/action.admin_emails_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47Cn0KLy9kZWJ1Z19kaXNwbGF5KCRwYXJhbXMsICdQYXJhbWV0ZXJzJyk7CmlmKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkKewoJLy9vbiBzYXV2ZWdhcmRlICEgQmVuIG91YWlzICEKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhZG1pbl9lbWFpbCcsICRwYXJhbXNbJ2FkbWluZW1haWwnXSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1haWxfcHJlc2VuY2Vfc3ViamVjdCcsICRwYXJhbXNbJ2VtYWlscHJlc2VuY2VzdWJqZWN0J10pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdwcmVzZW5jZW1haWxfU2FtcGxlJywgJHBhcmFtc1snZW1haWxwcmVzZW5jZWJvZHknXSk7CgkKCS8vb24gcmVkaXJpZ2UgIQoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignbm90aWZpY2F0aW9ucycpOwp9CiRzbWFydHktPmFzc2lnbignc3RhcnRfZm9ybScsIAoJCSR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fZW1haWxzX3RhYicsICRyZXR1cm5pZCkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZF9mb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQgKCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2VtYWlscHJlc2VuY2VzdWJqZWN0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdlbWFpbHByZXNlbmNlc3ViamVjdCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VtYWlsX3ByZXNlbmNlX3N1YmplY3QnKSwgNTAsIDE1MCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FkbWluZW1haWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2FkbWluZW1haWwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZG1pbl9lbWFpbCcpLCA1MCwgMTUwKSk7CiRzbWFydHktPmFzc2lnbignZW1haWxwcmVzZW5jZWJvZHknLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSgkaWQsICR0aGlzLT5HZXRUZW1wbGF0ZSgncHJlc2VuY2VtYWlsX1NhbXBsZScpLCAnZW1haWxwcmVzZW5jZWJvZHknLCAnJywgJycsICcnLCAnJywgODAsIDcpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ25vdGlmaWNhdGlvbnMudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_oauth.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkkY29kZSA9ICRfUkVRVUVTVFsnY29kZSddOwoKCS8vIEVudGVyIHlvdXIgQ2xpZW50IElELCBDbGllbnQgU2VjcmV0IGFuZCBSZWRpcmVjdCBVUkkKCSRjbGllbnRfaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfY2xpZW50X2lkJyk7CgkkY2xpZW50X3NlY3JldCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjbGllbnRfc2VjcmV0Jyk7CgkkcmVkaXJlY3RfdXJpID0gImh0dHA6Ly8uLi4vb2F1dGgucGhwIjsgLy9UaGUgcmVkaXJlY3RfdXJpIGlzIGp1c3QgcG9pbnRpbmcgYmFjayB0byB0aGUgbG9jYXRpb24gb2YgdGhpcyBmaWxlCgoJJHVyaSA9ICJodHRwczovL2FwaS1zc2wuYml0bHkuY29tL29hdXRoL2FjY2Vzc190b2tlbiI7IAoJCgkvL1BPU1QgdG8gdGhlIGJpdGx5IGF1dGhlbnRpY2F0aW9uIGVuZHBvaW50CgkkcGFyYW1zID0gYXJyYXkoKTsKICAgIAkkcGFyYW1zWydjbGllbnRfaWQnXSA9ICRjbGllbnRfaWQ7CiAgICAJJHBhcmFtc1snY2xpZW50X3NlY3JldCddID0gJGNsaWVudF9zZWNyZXQ7CiAgICAJJHBhcmFtc1snY29kZSddID0gJGNvZGU7CiAgICAJJHBhcmFtc1sncmVkaXJlY3RfdXJpJ10gPSAkcmVkaXJlY3RfdXJpOwoJCgkkb3V0cHV0ID0gIiI7CiAgCSRwYXJhbXNfc3RyaW5nID0gIiI7CiAgCWZvcmVhY2ggKCRwYXJhbXMgYXMgJGtleT0+JHZhbHVlKSB7ICRwYXJhbXNfc3RyaW5nIC49ICRrZXkuJz0nLiR2YWx1ZS4nJic7IH0KICAJCXJ0cmltKCRwYXJhbXNfc3RyaW5nLCcmJyk7CiAgCXRyeSB7CgkJJGNoID0gY3VybF9pbml0KCk7CgkJY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfVVJMLCAkdXJpKTsKCQljdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9QT1NULCBjb3VudCgkcGFyYW1zKSk7CgkJY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUE9TVEZJRUxEUywgJHBhcmFtc19zdHJpbmcpOwoJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CgkgICAgJG91dHB1dCA9IGN1cmxfZXhlYygkY2gpOwogIAl9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAJfQoJLy8gUmV0dXJucyBhIFVSTCBlbmNvZGVkIHN0cmluZyBpbiB0aGUgZm9ybWF0IG9mICJhY2Nlc3NfdG9rZW49JXMmbG9naW49JXMmYXBpS2V5PSVzIgoJCgkvLyBwYXJzZV9zdHIoKSBjcmVhdGVzIHZhcmlhYmxlcyAkYWNjZXNzX3Rva2VuLCAkbG9naW4sICRhcGlLZXkgKGh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5wYXJzZS1zdHIucGhwKQoJcGFyc2Vfc3RyKCRvdXRwdXQpOwoKCS8vdGhlIE9BdXRoIGFjY2VzcyB0b2tlbiBmb3Igc3BlY2lmaWVkIHVzZXIKCWVjaG8gJGFjY2Vzc190b2tlbjsKCgkvL3RoZSBlbmQtdXNlcidzIGJpdGx5IHVzZXJuYW1lCgllY2hvICRsb2dpbjsKCgkvL2VjaG8gJGFwaUtleTsgIAoJLy9BUEkga2V5cyBhcmUgZGVwcmVjYXRlZC4gVGhpcyB2YWx1ZSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIGZ1dHVyZS4KIAo/PgoKCgo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_presence_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47Cn0KJGRiID0mICR0aGlzLT5HZXREYigpOwpnbG9iYWwgJHRoZW1lT2JqZWN0OwoKJHNtYXJ0eS0+YXNzaWduKCdhZGRfZWRpdCcsIAoJCSR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZF9lZGl0X3ByZXNlbmNlJywgJHJldHVybmlkLCR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYWRkLmdpZicsICdBam91dGVyJywgJycsICcnLCAnc3lzdGVtaWNvbicpKSk7CgoJCQokZGJyZXN1bHQ9IGFycmF5ICgpOwokcXVlcnk9ICJTRUxFQ1QgaWQsbm9tLCBkZXNjcmlwdGlvbiwgZGF0ZV9kZWJ1dCwgaGV1cmVfZGVidXQsICBkYXRlX2xpbWl0ZSwgYWN0aWYsIGdyb3VwZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfcHJlc2VuY2UgT1JERVIgQlkgZGF0ZV9kZWJ1dCBERVNDIjsKCiRkYnJlc3VsdD0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiRyb3djbGFzcz0gJ3JvdzEnOwokcm93YXJyYXk9IGFycmF5ICgpOwokY29udF9vcHMgPSBuZXcgY29udGFjdDsKaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwKQogIHsKCSRpbnNjX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CiAgICB3aGlsZSAoJHJvdz0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICB7CgkKCSRvbmVyb3c9IG5ldyBTdGRDbGFzcygpOwoJJG9uZXJvdy0+cm93Y2xhc3M9ICRyb3djbGFzczsKCSRhY3RpZiA9ICRyb3dbJ2FjdGlmJ107CgkkZGF0ZV9saW1pdGUgPSAkcm93WydkYXRlX2xpbWl0ZSddOwoJJG5iX3RvdGFsID0gJGNvbnRfb3BzLT5Db3VudFVzZXJzRnJvbUdyb3VwKCRyb3dbJ2dyb3VwZSddKTsKCSRpbnNjcml0cyA9ICRpbnNjX29wcy0+Y291bnRfdXNlcnNfaW5fcHJlc2VuY2UoJHJvd1snaWQnXSk7CglpZigkYWN0aWYgPT0gMCkKCXsKCQkkb25lcm93LT5hY3RpZj0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAncHJlc2VuY2UnLCAkcmV0dXJuaWQsICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPkxhbmcoJ2ZhbHNlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoIm9iaiI9PiJhY3RpdmF0ZV9kZXNhY3RpdmF0ZSIsICJyZWNvcmRfaWQiPT4kcm93WydpZCddLCAiYWN0Ij0+IjEiKSk7Cgl9CgllbHNlaWYoJGRhdGVfbGltaXRlIDwgZGF0ZSgnWS1tLWQnKSB8fCAkaW5zY3JpdHMgPT0gJG5iX3RvdGFsKQoJewoJCSRvbmVyb3ctPmFjdGlmPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcmVzZW5jZScsICRyZXR1cm5pZCwgJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5MYW5nKCd0cnVlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoIm9iaiI9PiJhY3RpdmF0ZV9kZXNhY3RpdmF0ZSIsICJyZWNvcmRfaWQiPT4kcm93WydpZCddLCAiYWN0Ij0+IjAiKSk7Cgl9CgllbHNlCgl7CgkJJG9uZXJvdy0+YWN0aWY9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3ByZXNlbmNlJywgJHJldHVybmlkLCAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPkxhbmcoJ3RydWUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgib2JqIj0+ImFjdGl2YXRlX2Rlc2FjdGl2YXRlIiwgInJlY29yZF9pZCI9PiRyb3dbJ2lkJ10sICJhY3QiPT4iMCIpKTsKCQkkb25lcm93LT5lbWFpbGluZyA9ICR0aGlzLT5DcmVhdGVsaW5rKCRpZCwgJ2VtYWlsaW5nJywgJHJldHVybmlkLCAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvdG9wZmlsZXMvY21zbWFpbGVyLmdpZicsICdQcsOpdmVuaXIvUmVsYW5jZXInLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCJpZF9wcmVzZW5jZSI9PiRyb3dbJ2lkJ10pKTsKCX0KCQoJCgkkb25lcm93LT5pZD0gJHJvd1snaWQnXTsKCSRvbmVyb3ctPm5vbT0gJHJvd1snbm9tJ107Cgkkb25lcm93LT5kZXNjcmlwdGlvbj0gJHJvd1snZGVzY3JpcHRpb24nXTsKCSRvbmVyb3ctPmRhdGVfZGVidXQ9ICRyb3dbJ2RhdGVfZGVidXQnXTsKCSRvbmVyb3ctPmhldXJlX2RlYnV0PSAkcm93WydoZXVyZV9kZWJ1dCddOwoJJG9uZXJvdy0+ZGF0ZV9saW1pdGU9ICRyb3dbJ2RhdGVfbGltaXRlJ107Cgkkb25lcm93LT5pbnNjcml0cyA9ICRpbnNjX29wcy0+Y291bnRfdXNlcnNfaW5fcHJlc2VuY2UoJHJvd1snaWQnXSk7Cgkkb25lcm93LT50YXV4ID0gJG5iX3RvdGFsOwoJJG9uZXJvdy0+dmlldz0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fcmVwb25zZXMnLCAkcmV0dXJuaWQsICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdmlldy5naWYnLCAkdGhpcy0+TGFuZygndmlldycpLCAnJywgJycsICdzeXN0ZW1pY29uJyksYXJyYXkoJ3JlY29yZF9pZCc9PiRyb3dbJ2lkJ10pKTsKCSRvbmVyb3ctPnByaW50ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fcHJpbnQnLCAkcmV0dXJuaWQsJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kb2N1bWVudC1saXN0LnBuZycsICR0aGlzLT5MYW5nKCdwcmludCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCJpZF9pbnNjcmlwdGlvbiI9PiRyb3dbJ2lkJ10pKTsKCSRvbmVyb3ctPmVkaXRsaW5rPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRfZWRpdF9wcmVzZW5jZScsICRyZXR1cm5pZCwgJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSxhcnJheSgncmVjb3JkX2lkJz0+JHJvd1snaWQnXSkpOwoJKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3M9ICJyb3cyIiA6ICRyb3djbGFzcz0gInJvdzEiKTsKCSRyb3dhcnJheVtdPSAkb25lcm93OwogICAgICB9CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdpdGVtc2ZvdW5kJywgJHRoaXMtPkxhbmcoJ3Jlc3VsdHNmb3VuZHRleHQnKSk7CiRzbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CiRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdwcmVzZW5jZS50cGwnKTsKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_print.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZihpc3NldCgkcGFyYW1zWydpZF9pbnNjcmlwdGlvbiddKSAmJiAkcGFyYW1zWydpZF9pbnNjcmlwdGlvbiddICE9IiIpCnsKCSRpZF9pbnNjcmlwdGlvbiA9ICRwYXJhbXNbJ2lkX2luc2NyaXB0aW9uJ107Cn0KZWxzZQp7Ci8vcmVkaXIKCSR0aGlzLT5SZWRpcmVjdCgpOwp9CiRkYiA9IGNtc21zKCktPkdldERiKCk7CiRpPSAwOwokcm93YXJyYXkgPSBhcnJheSgpOwokcXVlcnkgPSAiU0VMRUNUIGluc2MuaWQsIGluc2Mubm9tLCBpbnNjLmRhdGVfZGVidXQsIGluc2MuZGF0ZV9maW4sIGluc2MuaGV1cmVfZGVidXQsIGluc2MuaGV1cmVfZmluICwgb3B0LmlkIEFTIGlkX29wdGlvbiwgb3B0Lm5vbSBBUyBkaXZpc2lvbiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfaW5zY3JpcHRpb25zX2luc2NyaXB0aW9ucyBBUyBpbnNjLCAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2luc2NyaXB0aW9uc19vcHRpb25zIEFTIG9wdCBXSEVSRSBpbnNjLmlkID0gb3B0LmlkX2luc2NyaXB0aW9uIEFORCBpZF9pbnNjcmlwdGlvbiA9ID8iOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfaW5zY3JpcHRpb24pKTsKaWYoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKT4wKQp7Cgl3aGlsZSgkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJewoJCSRpZCA9ICRyb3dbJ2lkJ107CgkJJG5vbSA9ICRyb3dbJ25vbSddOwoJCSRkaXZpc2lvbiA9ICRyb3dbJ2RpdmlzaW9uJ107CgkJZWNobyAkbm9tOwoJCWVjaG8gJzxiciAvPicuJGRpdmlzaW9uOwoJCSRyb3djbGFzcyA9ICdyb3cxJzsKCQkkaWRfb3B0aW9uID0gJHJvd1snaWRfb3B0aW9uJ107CgkJJHF1ZXJ5MiA9ICJTRUxFQ1QgbGljZW5jZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfaW5zY3JpcHRpb25zX2JlbG9uZ3MgV0hFUkUgaWRfb3B0aW9uID0gPyBBTkQgaWRfaW5zY3JpcHRpb24gPSA/IjsKCQkkZGJyZXN1bHQyID0gJGRiLT5FeGVjdXRlKCRxdWVyeTIsIGFycmF5KCRpZF9vcHRpb24sICRpZF9pbnNjcmlwdGlvbikpOwoJCWlmKCRkYnJlc3VsdDIpCgkJewoJCQlpZigkZGJyZXN1bHQyLT5SZWNvcmRDb3VudCgpPjApCgkJCXsKCQkJCXdoaWxlKCRyb3cyID0gJGRicmVzdWx0Mi0+RmV0Y2hSb3coKSkKCQkJCXsKCQkJCQkkb25lcm93PSBuZXcgU3RkQ2xhc3MoKTsKCQkJCQkkb25lcm93LT5yb3djbGFzcz0gJHJvd2NsYXNzOwoJCQkJCSRvbmVyb3ctPmxpY2VuY2UgPSAkcm93MlsnbGljZW5jZSddOwoJCQkJCSgkcm93Y2xhc3MgPT0gInJvdzEiID8gJHJvd2NsYXNzPSAicm93MiIgOiAkcm93Y2xhc3M9ICJyb3cxIik7CgkJCQkJJHJvd2FycmF5W109ICRvbmVyb3c7CgkJCQl9CgkJCQkkc21hcnR5LT5hc3NpZ24oJ2l0ZW1zZm91bmQnLCAkdGhpcy0+TGFuZygncmVzdWx0c2ZvdW5kdGV4dCcpKTsKCQkJCSRzbWFydHktPmFzc2lnbignaXRlbWNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CgkJCQkkc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJHJvd2FycmF5KTsKCgkJCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ByaW50LnRwbCcpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJZWNobyAicGFzIGRlIHLDqXN1bHRhdHMiOwoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCWVjaG8gImxhIHJlcSBuZSBmb25jdGlvbm5lIHBhcyI7CgkJfQoJfQp9]]></data>
	</file>
	<file>
	  <filename>/action.admin_reponses.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47Cn0KJGRiID0mICR0aGlzLT5HZXREYigpOwpnbG9iYWwgJHRoZW1lT2JqZWN0OwoKCmlmKGlzc2V0KCRwYXJhbXNbJ3JlY29yZF9pZCddKSAmJiAkcGFyYW1zWydyZWNvcmRfaWQnXSAhPScnKQp7CgkkcmVjb3JkX2lkID0gJHBhcmFtc1sncmVjb3JkX2lkJ107CgkvL2RldGFpbHMgZGUgbGEgcHLDqXNlbmNlCgkKCSRwcmVzX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CgkkZGV0YWlsc19wcmVzID0gJHByZXNfb3BzLT5kZXRhaWxzX3ByZXNlbmNlKCRyZWNvcmRfaWQpOwoJJGdyb3VwZSA9ICRkZXRhaWxzX3ByZXNbJ2dyb3VwZSddOwoJJHRpdHJlID0gJGRldGFpbHNfcHJlc1snbm9tJ107Cgkkc21hcnR5LT5hc3NpZ24oJ3RpdHJlJywgJHRpdHJlKTsKfQplbHNlCnsKCS8vcmVkaXIKfQoJCiRkYnJlc3VsdD0gYXJyYXkoKTsKLy9TRUxFQ1QgKiBGUk9NIHBpbmdfbW9kdWxlX3BpbmdfcmVjdXBfcGFydGllcyBBUyByZWMgcmlnaHQgSk9JTiBwaW5nX21vZHVsZV9waW5nX2pvdWV1cnMgQVMgaiBPTiBqLmxpY2VuY2UgPSByZWMubGljZW5jZSAgT1JERVIgQlkgai5pZCBBU0MKJHF1ZXJ5PSAiU0VMRUNUIGdlbmlkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9hZGhlcmVudHNfZ3JvdXBlc19iZWxvbmdzIFdIRVJFIGlkX2dyb3VwID0gPyI7Ly8iIE9SREVSIEJZIGRhdGVfZGVidXQgREVTQyI7CgokZGJyZXN1bHQ9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRncm91cGUpKTsKJHJvd2NsYXNzPSAncm93MSc7CiRyb3dhcnJheT0gYXJyYXkoKTsKaWYgKCRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwKQogIHsKCSRpbnNjX29wcyA9IG5ldyBUMnRfaW5zY3JpcHRpb25zOwoJJGFzc29hZGggPSBuZXcgYWRoZXJlbnRzX3NwaWQ7CiAgICAJd2hpbGUgKCRyb3c9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICAgICAgCXsKCQoJCS8vJGlkX2Vudm9pID0gKGludCkgJHJvd1snaWRfZW52b2knXTsKCQkkb25lcm93PSBuZXcgU3RkQ2xhc3MoKTsKCQkkb25lcm93LT5yb3djbGFzcz0gJHJvd2NsYXNzOwoJCSRnZW5pZCA9ICRyb3dbJ2dlbmlkJ107CgkJJG9uZXJvdy0+Z2VuaWQgPSAkYXNzb2FkaC0+Z2V0X25hbWUoJHJvd1snZ2VuaWQnXSk7CgkJJGhhc19leHByZXNzZWQgPSAkcHJlc19vcHMtPmhhc19leHByZXNzZWQoJHJlY29yZF9pZCwkZ2VuaWQpOwoJCWlmKEZBTFNFID09PSAkaGFzX2V4cHJlc3NlZCkKCQl7CgkJCSRvbmVyb3ctPmlkX29wdGlvbj0gJyc7CgkJLy8JJG9uZXJvdy0+cmVsYW5jZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3JlbGFuY2UnLCAkcmV0dXJuaWQsICdSZWxhbmNlcicsIGFycmF5KCJnZW5pZCI9PiRyb3dbJ2dlbmlkJ10sICJpZF9wcmVzZW5jZSI9PiRyZWNvcmRfaWQpKTsKCQl9CgkJZWxzZWlmKCRoYXNfZXhwcmVzc2VkID09ICcxJykKCQl7CgkJCSRvbmVyb3ctPmlkX29wdGlvbj0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5MYW5nKCd0cnVlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKTsKCQkvLwkkb25lcm93LT5yZWxhbmNlID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL2V4dHJhL2ZhbHNlLmdpZicsICR0aGlzLT5MYW5nKCdmYWxzZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7CgkJfQoJCWVsc2VpZigkaGFzX2V4cHJlc3NlZCA9PSAnMCcpCgkJewoJCQkkb25lcm93LT5pZF9vcHRpb249ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9leHRyYS9mYWxzZS5naWYnLCAkdGhpcy0+TGFuZygnZmFsc2UnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwoJCS8vCSRvbmVyb3ctPnJlbGFuY2UgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvZXh0cmEvZmFsc2UuZ2lmJywgJHRoaXMtPkxhbmcoJ2ZhbHNlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKTsKCQl9CgkJCgkKCQkkcm93YXJyYXlbXT0gJG9uZXJvdzsKICAgICAgfQogIH0KCiRzbWFydHktPmFzc2lnbignaXRlbXNmb3VuZCcsICR0aGlzLT5MYW5nKCdyZXN1bHRzZm91bmR0ZXh0JykpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRyb3dhcnJheSkpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJHJvd2FycmF5KTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncmVwb25zZXMudHBsJyk7CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.assign_users.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwovL2RlYnVnX2Rpc3BsYXkoJHBhcmFtcywgJ1BhcmFtZXRlcnMnKTsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdJbnNjcmlwdGlvbiB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47Cn0KJGlkX29wdGlvbiA9ICcnOwokaWRfaW5zY3JpcHRpb24gID0gJyc7CiRyb3dhcnJheSA9IGFycmF5KCk7CgoJCmlmKCFpc3NldCgkcGFyYW1zWydpZF9vcHRpb24nXSkgfHwgJHBhcmFtc1snaWRfb3B0aW9uJ10gPT0gJycpCnsKCSR0aGlzLT5TZXRNZXNzYWdlKCJwYXJhbWV0cmVzIG1hbnF1YW50cyIpOwoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignZ3JvdXBzJyk7Cn0KZWxzZQp7CgkkaWRfb3B0aW9uID0gJHBhcmFtc1snaWRfb3B0aW9uJ107Cn0KaWYoIWlzc2V0KCRwYXJhbXNbJ2lkX2luc2NyaXB0aW9uJ10pIHx8ICRwYXJhbXNbJ2lkX2luc2NyaXB0aW9uJ10gPT0gJycpCnsKCSR0aGlzLT5TZXRNZXNzYWdlKCJwYXJhbWV0cmVzIG1hbnF1YW50cyIpOwoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignZ3JvdXBzJyk7Cn0KZWxzZQp7CgkkaWRfaW5zY3JpcHRpb24gPSAkcGFyYW1zWydpZF9pbnNjcmlwdGlvbiddOwp9CgkKJGRiID0gJHRoaXMtPkdldERiKCk7Ci8qCi8vb24gdmEgc8OpbGVjdGlvbm5lciBsZXMgbGljZW5jZXMgZMOpasOgIHByw6lzZW50ZXMgZW4gYmRkIHBvdXIgY2V0dGUgY290aXNhdGlvbiBldCBsJ2V4Y2x1cmUgZGUgbGEgbGlzdGUKJHF1ZXJ5ID0gIlNFTEVDVCBsaWNlbmNlIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9pbnNjcmlwdGlvbnNfYmVsb25ncyBXSEVSRSBpZF9vcHRpb24gPSA/IEFORCBpZF9pbnNjcmlwdGlvbiA9ID8iOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfb3B0aW9uLCRpZF9pbnNjcmlwdGlvbiApKTsKJGNvdW50ID0gJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpOwokdGFibGVhdSA9IGFycmF5KCk7CmlmKCRjb3VudCA+MCkKewoJd2hpbGUoJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCXsKCQkkbGljZW5jZSA9ICRyb3dbJ2xpY2VuY2UnXTsKCQkkdGFibGVhdVtdPSRsaWNlbmNlOwoJfQoKJHRhYiA9IGltcGxvZGUoJywgJywkdGFibGVhdSk7Ci8vJHRhYiA9IGFycmF5X3ZhbHVlcygkdGFibGVhdSk7CQovL29uIHZhIGF1c3NpIGV4Y2x1cmUgY2VydGFpbmVzIGxpY2VuY2VzIG5lIGZhaXNhbnQgcGFzIHBhcnRpZXMgZGVzIGNhdMOpZ29yaWVzIGRlIGxhIGNvdGlzYXRpb24KCn0KKi8KJGluc2Nfb3BzID0gbmV3IFQydF9pbnNjcmlwdGlvbnM7CiR0YWIxID0gJGluc2Nfb3BzLT5jYXRlZ19wZXJfb3B0aW9uKCRpZF9vcHRpb24pOwp2YXJfZHVtcCgkdGFiMSk7CgoKLy92YXJfZHVtcCgkdGFiMik7CgppZihmYWxzZSAhPT0gJHRhYjEgJiYgZmFsc2UgPT0gaXNfbnVsbCgkdGFiMSkpCnsKCSR0YWIyID0gaW1wbG9kZSgnLCAnLCAkdGFiMSk7CgkkcXVlcnkgPSAiU0VMRUNUIGoubGljZW5jZSwgQ09OQ0FUX1dTKCcgJyxqLm5vbSwgai5wcmVub20gKSBBUyBqb3VldXIgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2FkaGVyZW50c19hZGhlcmVudHMgQVMgaiBXSEVSRSBqLmFjdGlmID0gMSAgQU5EIGouY2F0IElOICgkdGFiMikgT1JERVIgQlkgai5ub20gQVNDLCBqLnByZW5vbSBBU0MgIjsKfQplbHNlCnsKCSRxdWVyeSA9ICJTRUxFQ1Qgai5saWNlbmNlLCBDT05DQVRfV1MoJyAnLGoubm9tLCBqLnByZW5vbSApIEFTIGpvdWV1ciBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYWRoZXJlbnRzX2FkaGVyZW50cyBBUyBqIFdIRVJFIGouYWN0aWYgPSAxICI7Ci8vCSRxdWVyeS49IiBBTkQgai5jYXQgSU4gKCR0YWIyKSAiOwoJJHF1ZXJ5Lj0iIE9SREVSIEJZIGoubm9tIEFTQywgai5wcmVub20gQVNDICI7Cn0KCi8vZWNobyAkcXVlcnk7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOy8vLCBhcnJheSgkdGFibGVhdSkpOwovL2VjaG8gJHF1ZXJ5OwoJaWYoISRkYnJlc3VsdCkKCXsKCQkkZGVzaWduYXRpb24uPSAkZGItPkVycm9yTXNnKCk7CgkJJHRoaXMtPlNldE1lc3NhZ2UoIiRkZXNpZ25hdGlvbiIpOwoJCSR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ2dyb3VwcycpOwoJfQoKCSRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkJJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnZG9fYXNzaWduX3VzZXJzJywgJHJldHVybmlkICkgKTsKCSRzbWFydHktPmFzc2lnbignaWRfb3B0aW9uJywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lkX29wdGlvbicsJGlkX29wdGlvbiwxMCwxNSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpZF9pbnNjcmlwdGlvbicsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpZF9pbnNjcmlwdGlvbicsJGlkX2luc2NyaXB0aW9uLDEwLDE1KSk7CQoJaWYoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKT4wKQoJewoJCXdoaWxlKCRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJewoJCQkvL3Zhcl9kdW1wKCRyb3cpOwoJCQkKCQkJJGxpY2VuY2UgPSAkcm93WydsaWNlbmNlJ107CgkJCSRqb3VldXIgPSAkcm93Wydqb3VldXInXTsKCQkJJHJvd2FycmF5WyRsaWNlbmNlXVsnbmFtZSddID0gJGpvdWV1cjsKCQkJJHJvd2FycmF5WyRsaWNlbmNlXVsncGFydGljaXBlJ10gPSBmYWxzZTsKCQkJCgkJCS8vb24gdmEgY2hlcmNoZXIgc2kgbGUgam91ZXVyIGVzdCBkw6lqw6AgZGFucyBsYSB0YWJsZSBwYXJ0aWNpcGUKCQkJJHF1ZXJ5MiA9ICJTRUxFQ1QgbGljZW5jZSwgaWRfb3B0aW9uIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9pbnNjcmlwdGlvbnNfYmVsb25ncyBXSEVSRSBsaWNlbmNlID0gPyBBTkQgaWRfb3B0aW9uID0gPyI7CgkJCS8vZWNobyAkcXVlcnkyOwoJCQkkZGJyZXN1bHRhdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkyLCBhcnJheSgkbGljZW5jZSwgJGlkX29wdGlvbikpOwoJCQkKCQkJaWYoJGRicmVzdWx0YXQtPlJlY29yZENvdW50KCk+MCkKCQkJewoJCQkJd2hpbGUoJHJvdzIgPSAkZGJyZXN1bHRhdC0+RmV0Y2hSb3coKSkKCQkJCXsKCQkJCgkJCQkJLy8gbCdhZGjDqXJlbnQgZXN0IGTDqWrDoCBlbiBiZGQKCQkJCQkkcm93YXJyYXlbJGxpY2VuY2VdWydwYXJ0aWNpcGUnXSA9IHRydWU7CgkJCQl9CgkJCX0KCQkJCgkJCS8vcHJpbnRfcigkcm93YXJyYXkpOwoJCQkKCQkJCgkJCQkJCQoJCQkKCQkJCgkJfQoJCSRzbWFydHktPmFzc2lnbigncm93YXJyYXknLCRyb3dhcnJheSk7CQoJCQkKCX0KCSRzbWFydHktPmFzc2lnbignc3VibWl0JywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSwgJ2NsYXNzPSJidXR0b24iJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLAoJCQkJCQkkdGhpcy0+TGFuZygnY2FuY2VsJykpKTsKCSRzbWFydHktPmFzc2lnbignYmFjaycsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2JhY2snLAoJCQkJCQkkdGhpcy0+TGFuZygnYmFjaycpKSk7CgoJJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywKCQkJJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYXNzaWduX3VzZXJzLnRwbCcpOwojCiNFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.config_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwovL29uIHbDqXJpZmllIGxlcyBkcm9pdHMgZGUgY2V0IHV0aWxpc2F0ZXVyCmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignUHJlc2VuY2UgU2V0IFByZWZzJykpewoJJG1lc3NhZ2UgPSAiVm91cyBuXCdhdmV6IHBhcyBsZXMgYXV0b3Jpc2F0aW9ucyBwb3VyIGFjY8OpZGVyIGF1eCBwcsOpZsOpcmVuY2VzIjsKCSR0aGlzLT5TZXRNZXNzYWdlKCIkbWVzc2FnZSIpOwoJJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigncHJlcycpOwp9Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ3VwZGF0ZW9wdGlvbnMnLCAkcmV0dXJuaWQpKTsKCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kICgpKTsKCiRzbWFydHktPmFzc2lnbigncGFnZWlkX3ByZXNlbmNlJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3BhZ2VpZF9wcmVzZW5jZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3BhZ2VpZF9wcmVzZW5jZScpLDUwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2JpdGx5X2NsaWVudF9pZCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2JpdGx5X2NsaWVudF9pZCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2JpdGx5X2NsaWVudF9pZCcsJzEnKSw1MCwyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdiaXRseV9jbGllbnRfc2VjcmV0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnYml0bHlfY2xpZW50X3NlY3JldCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2JpdGx5X2NsaWVudF9zZWNyZXQnLCcxJyksNTAsMjU1KSk7CiRzbWFydHktPmFzc2lnbignYml0bHlfYWNjZXNzX3Rva2VuJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnYml0bHlfYWNjZXNzX3Rva2VuJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYml0bHlfYWNjZXNzX3Rva2VuJywnMScpLDUwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2JpdGx5X3JlZGlyZWN0X3VyaScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3NhaXNvbl9lbl9jb3VycycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2JpdGx5X3JlZGlyZWN0X3VyaScpLDUwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnb3B0aW9uc3N1Ym1pdGJ1dHRvbicsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwoKLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSAoJ2NvbmZpZy50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkgZXhpdDsKJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiRlcnJvciA9IDA7IC8vb24gaW5zdGFuY2llIHVuIGNvbXB0ZXVyIGQnZXJyZXVyCmlmKGlzc2V0KCRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10pICYmICRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10gIT0nJykKewoJJGlkX3ByZXNlbmNlID0gJHBhcmFtc1snaWRfcHJlc2VuY2UnXTsKCSRwcmVzX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CgkkZGV0YWlscyA9ICRwcmVzX29wcy0+ZGV0YWlsc19wcmVzZW5jZSgkaWRfcHJlc2VuY2UpOwkKCSRkYXRlX2xpbWl0ZSA9ICRkZXRhaWxzWydkYXRlX2xpbWl0ZSddOwoJJGFjdGlmID0gJGRldGFpbHNbJ2FjdGlmJ107CgkKCWlmKCRhY3RpZiA9PSAwIHx8ICRkYXRlX2xpbWl0ZSA8IGRhdGUoJ1ktbS1kJykpCgl7CgkJZWNobyAnTGUgc29uZGFnZSBlc3QgZmVybcOpIG91IGxhIGRhdGUgbGltaXRlIGRlIHLDqXBvbnNlIGTDqXBhc3PDqWUgISc7CgkvLwkkdGhpcy0+UmVkaXJlY3QoKTsKCX0KfQplbHNlCnsKCSRlcnJvcisrOwp9CmlmKGlzc2V0KCRwYXJhbXNbJ2dlbmlkJ10pICYmICRwYXJhbXNbJ2dlbmlkJ10gIT0nJykKewoJJGdlbmlkID0gJHBhcmFtc1snZ2VuaWQnXTsKfQplbHNlCnsKCSRlcnJvcisrOwp9CmlmKGlzc2V0KCRwYXJhbXNbJ3JlcG9uc2UnXSkgJiYgJHBhcmFtc1sncmVwb25zZSddICE9JycpCnsKCSRyZXBvbnNlID0gJHBhcmFtc1sncmVwb25zZSddOwoJLyoKCWlmKCRyZXBvbnNlID09IDApCgl7CgkJLy9vbiBjcsOpw6kgdW5lIGFsZXJ0ZSBwb3VyIGxlIHJlc3BvbnNhYmxlID8KCQkvL29uIHLDqWN1cMOocmUgbGUgbm9tIGR1IGpvdWV1cgoJCSRzZW5kZXIgPSAnJzsKCQkkYWRoX29wcyA9IG5ldyBhZGhlcmVudHNfc3BpZDsKCQkkam91ZXVyID0gJGFkaF9vcHMtPmdldF9uYW1lKCRsaWNlbmNlKTsKCQkkbWVzc2FnZSA9ICdBdHRlbnRpb24sICcuJGpvdWV1ci4nIGVzdCBhYnNlbnQgcG91ciA6ICcuJGRldGFpbHNbJ25vbSddOwoJCSRzZW5kX21lc3NhZ2UgPSAkcHJlc19vcHMtPnNlbmRfbm9ybWFsX2VtYWlsKCk7CgkJCgl9CgkqLwp9CmlmKCRlcnJvciA8IDEpCnsKCS8vb24gZMOpdHJ1aXQgdW4gw6l2ZW50dWVsIHByw6ljw6lkZW50IGVucmVnaXN0cmVtZW50ID8KCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3ByZXNlbmNlX2JlbG9uZ3MgV0hFUkUgaWRfcHJlc2VuY2UgPSA/IEFORCBnZW5pZCA9ID8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGlkX3ByZXNlbmNlLCAkZ2VuaWQpKTsKCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcmVzZW5jZV9iZWxvbmdzKGlkX3ByZXNlbmNlLCBpZF9vcHRpb24sIGdlbmlkKSBWQUxVRVMoID8sID8sID8pIjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGlkX3ByZXNlbmNlLCAkcmVwb25zZSwgJGdlbmlkKSk7CglpZigkZGJyZXN1bHQpCgl7CgoJZWNobyAiTWVyY2kgZCdhdm9pciByw6lwb25kdSAhISI7CgoJfQp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICggIWlzc2V0KCRnQ21zKSApIGV4aXQ7IA0KCWlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignUHJlc2VuY2UgdXNlJykpDQoJew0KCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicpKTsNCgkJcmV0dXJuOw0KCX0NCgkNCi8vZGVidWdfZGlzcGxheSgkcGFyYW1zLCAnUGFyYW1ldGVycycpOw0KZWNobyAkdGhpcy0+U3RhcnRUYWJoZWFkZXJzKCk7DQoNCmlmKGlzc2V0KCRwYXJhbXNbJ2FjdGl2ZXRhYiddKSAmJiAhZW1wdHkoJHBhcmFtc1snYWN0aXZldGFiJ10pKQ0KICB7DQogICAgJHRhYiA9ICRwYXJhbXNbJ2FjdGl2ZXRhYiddOw0KICB9IGVsc2Ugew0KICAkdGFiID0gJ3ByZXMnOw0KIH0JDQoJDQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdwcmVzJywgJ1Byw6lzZW5jZXMnLCAoJ3ByZXMnID09ICR0YWIpP3RydWU6ZmFsc2UpOw0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZW1haWxzJywgJ0VtYWlscycsICgnZW1haWxzJyA9PSAkdGFiKT90cnVlOmZhbHNlKTsNCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2NvbmZpZycsICdDb25maWcnLCAoJ2NvbmZpZycgPT0gJHRhYik/dHJ1ZTpmYWxzZSk7CQ0KCWVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsNCg0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOw0KCQ0KCQ0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVzJywgJHBhcmFtcyk7DQoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2FjdGlvbi5hZG1pbl9wcmVzZW5jZV90YWIucGhwJyk7DQogICAJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCgllY2hvICR0aGlzLT5TdGFydFRhYignZW1haWxzJywgJHBhcmFtcyk7DQoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2FjdGlvbi5hZG1pbl9lbWFpbHNfdGFiLnBocCcpOw0KICAgCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2NvbmZpZycsICRwYXJhbXMpOw0KCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9hY3Rpb24uYWRtaW5fY29uZmlnX3RhYi5waHAnKTsNCiAgIAllY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KDQplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7DQoNCj8+DQoNCg0K]]></data>
	</file>
	<file>
	  <filename>/action.do_add_edit_presence.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmRlYnVnX2Rpc3BsYXkoJHBhcmFtcywgJ1BhcmFtZXRlcnMnKTsKCglpZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1ByZXNlbmNlIHVzZScpKQoJewoJCSRkZXNpZ25hdGlvbiAuPSR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicpOwoJCSR0aGlzLT5TZXRNZXNzYWdlKCIkZGVzaWduYXRpb24iKTsKCQkkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdwcmVzJyk7Cgl9CgovL29uIHLDqWN1cMOocmUgbGVzIHZhbGV1cnMKLy9wb3VyIGwnaW5zdGFudCBwYXMgZCdlcnJldXIKJGF1am91cmRodWkgPSBkYXRlKCdZLW0tZCAnKTsKJGVycm9yID0gMDsKJGVkaXQgPSAwOy8vcG91ciBzYXZvaXIgc2kgb24gZmFpdCB1biB1cGRhdGUgb3UgdW4gaW5zZXJ0OyAwID0gaW5zZXJ0CiRpbnNjX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CQoJCQoJCQoJCWlmIChpc3NldCgkcGFyYW1zWydyZWNvcmRfaWQnXSkgJiYgJHBhcmFtc1sncmVjb3JkX2lkJ10gIT0nJykKCQl7CgkJCSRyZWNvcmRfaWQgPSAkcGFyYW1zWydyZWNvcmRfaWQnXTsKCQkJJGVkaXQgPSAxOwoJCQkJCQkKCQl9CgkJCQkKCQlpZiAoaXNzZXQoJHBhcmFtc1snbm9tJ10pICYmICRwYXJhbXNbJ25vbSddICE9JycpCgkJewoJCQkkbm9tID0gJHBhcmFtc1snbm9tJ107CgkJfQoJCWVsc2UKCQl7CgkJCSRlcnJvcisrOwoJCX0KCQlpZiAoaXNzZXQoJHBhcmFtc1snZGVzY3JpcHRpb24nXSkgJiYgJHBhcmFtc1snZGVzY3JpcHRpb24nXSAhPScnKQoJCXsKCQkJJGRlc2NyaXB0aW9uID0gJHBhcmFtc1snZGVzY3JpcHRpb24nXTsKCQl9CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2RhdGVfZGVidXQnXSkgJiYgJHBhcmFtc1snZGF0ZV9kZWJ1dCddICE9JycpCgkJewoJCQkkZGF0ZV9kZWJ1dCA9ICRwYXJhbXNbJ2RhdGVfZGVidXQnXTsKCQl9CgkJCgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2hldXJlX2RlYnV0J10pICYmICRwYXJhbXNbJ2hldXJlX2RlYnV0J10gIT0nJykKCQl7CgkJCSRoZXVyZV9kZWJ1dCA9ICRwYXJhbXNbJ2hldXJlX2RlYnV0J107CgkJfQoJCWlmIChpc3NldCgkcGFyYW1zWydkYXRlX2xpbWl0ZSddKSAmJiAkcGFyYW1zWydkYXRlX2xpbWl0ZSddICE9JycpCgkJewoJCQkkZGF0ZV9saW1pdGUgPSAkcGFyYW1zWydkYXRlX2xpbWl0ZSddOwoJCX0KCQlpZiAoaXNzZXQoJHBhcmFtc1snYWN0aWYnXSkgJiYgJHBhcmFtc1snYWN0aWYnXSAhPScnKQoJCXsKCQkJJGFjdGlmID0gJHBhcmFtc1snYWN0aWYnXTsKCQl9CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2dyb3VwZSddKSAmJiAkcGFyYW1zWydncm91cGUnXSAhPScnKQoJCXsKCQkJJGdyb3VwZSA9ICRwYXJhbXNbJ2dyb3VwZSddOwoJCX0KCQkKCQkKCQlpZigkZXJyb3IgPCAxKQoJCXsKCQkJCgkJCSRwcmVzX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CgkJCWlmKCRlZGl0ID09IDApCgkJCXsKCQkJCSRhZGQgPSAkaW5zY19vcHMtPmFkZF9wcmVzZW5jZSgkbm9tLCAkZGVzY3JpcHRpb24sICRkYXRlX2RlYnV0LCAkaGV1cmVfZGVidXQsICRkYXRlX2xpbWl0ZSwgJGFjdGlmLCAkZ3JvdXBlKTsKCQkJCWlmKHRydWUgPT09ICRhZGQpCgkJCQl7CgkJCQkJJHRoaXMtPlNldE1lc3NhZ2UoJ1Byw6lzZW5jZSBham91dMOpZScpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSR0aGlzLT5TZXRNZXNzYWdlKCdQcsOpc2VuY2Ugbm9uIGFqb3V0w6llICEhJyk7CgkJCQl9CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkZWRpdCA9ICRpbnNjX29wcy0+ZWRpdF9wcmVzZW5jZSgkcmVjb3JkX2lkLCRub20sICRkZXNjcmlwdGlvbiwgJGRhdGVfZGVidXQsICRoZXVyZV9kZWJ1dCwkZGF0ZV9saW1pdGUsICRhY3RpZiwkZ3JvdXBlKTsKCQkJCWlmKHRydWUgPT09ICRlZGl0KQoJCQkJewoJCQkJCSR0aGlzLT5TZXRNZXNzYWdlKCdQcsOpc2VuY2UgbW9kaWZpw6llJyk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJHRoaXMtPlNldE1lc3NhZ2UoJ1Byw6lzZW5jZSBub24gbW9kaWZpw6llICEhJyk7CgkJCQl9CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJJHRoaXMtPlNldE1lc3NhZ2UoJ0lsIG1hbnF1ZSBsZSBub20gIScpOwoJCX0KCQkJCgkJCQokdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdwcmVzJyk7Ly8oJGlkLCdhZGRfdHlwZXNfY290aXNfY2F0ZWcnLCRyZXR1cm5pZCwgYXJyYXkoJ3JlY29yZF9pZCc9PiRyZWNvcmRfaWQpKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_assign_users.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7Ci8vcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvaW5jbHVkZS9wcmVmcy5waHAnKTsKLy9kZWJ1Z19kaXNwbGF5KCRwYXJhbXMsICdQYXJhbWV0ZXJzJyk7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignSW5zY3JpcHRpb25zIHVzZScpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicpKTsKCXJldHVybjsKfQokbWVzc2FnZSA9ICcnOwokYW5uZWUgPSBkYXRlKCdZJyk7Ci8vb24gcsOpY3Vww6hyZSBsZXMgdmFsZXVycwovL3BvdXIgbCdpbnN0YW50IHBhcyBkJ2VycmV1cgokZXJyb3IgPSAwOwoJCQoJCSRpZF9vcHRpb24gPSAnJzsKCQlpZiAoaXNzZXQoJHBhcmFtc1snaWRfb3B0aW9uJ10pICYmICRwYXJhbXNbJ2lkX29wdGlvbiddICE9ICcnKQoJCXsKCQkJJGlkX29wdGlvbiA9ICRwYXJhbXNbJ2lkX29wdGlvbiddOwoJCX0KCQllbHNlCgkJewoJCQkkZXJyb3IrKzsKCQl9CgkJJGlkX2luc2NyaXB0aW9uID0gJyc7CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2lkX2luc2NyaXB0aW9uJ10pICYmICRwYXJhbXNbJ2lkX2luc2NyaXB0aW9uJ10gIT0gJycpCgkJewoJCQkkaWRfaW5zY3JpcHRpb24gPSAkcGFyYW1zWydpZF9pbnNjcmlwdGlvbiddOwoJCX0KCQllbHNlCgkJewoJCQkkZXJyb3IrKzsKCQl9CgkKCQlpZigkZXJyb3IgPT0wKQoJCXsKCQkJLy9vbiB2aXJlIHRvdXRlcyBsZXMgZG9ubsOpZXMgZGUgY2V0dGUgY29tcGV0IGF2YW50IAoJCQoJCQkJJGxpY2VuY2UgPSAnJzsKCQkJCWlmIChpc3NldCgkcGFyYW1zWydsaWNlbmNlJ10pICYmICRwYXJhbXNbJ2xpY2VuY2UnXSAhPSAnJykKCQkJCXsKCQkJCQkkbGljZW5jZSA9ICRwYXJhbXNbJ2xpY2VuY2UnXTsKCQkJCQkvL3Zhcl9kdW1wKCRsaWNlbmNlKTsKCQkJCQkkZXJyb3IrKzsKCQkJCX0KCQkJCSRpbnNjX29wcyA9IG5ldyBUMnRfaW5zY3JpcHRpb25zOwoJCQkJJGRlbGV0ZSA9ICRpbnNjX29wcy0+ZGVsZXRlX3VzZXJzX2luX29wdGlvbigkaWRfb3B0aW9uKTsKCQkJCgkJCQlmb3JlYWNoKCRsaWNlbmNlIGFzICRrZXk9PiR2YWx1ZSkKCQkJCXsKCQkJCS8vCSRyZWZfYWN0aW9uID0gJHRoaXMtPnJhbmRvbV9zdHJpbmcoMTUpOwoJCQkJCSRxdWVyeTIgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9pbnNjcmlwdGlvbnNfYmVsb25ncyAoaWRfaW5zY3JpcHRpb24saWRfb3B0aW9uLGxpY2VuY2UpIFZBTFVFUyAoID8sID8sID8pIjsKCQkJCQkvL2VjaG8gJHF1ZXJ5MjsKCQkJCQkkZGJyZXN1bHRhdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkyLCBhcnJheSgkaWRfaW5zY3JpcHRpb24sJGlkX29wdGlvbiwka2V5KSk7CgkJCQkvKgkvL2xhIHJlcXVldGUgYSBmb25jdGlvbm7DqSA/IE9uIGFqb3V0ZSDDoCBsYSB0YWJsZSBQYWllbWVudHMKCQkJCQlpZigkZGJyZXN1bHRhdCkKCQkJCQl7CgkJCQkJCS8vb24gYWpvdXRlIAoJCQkJCQkkbWVzc2FnZS49IkFkaMOpcmVudChzKSBham91dMOpKHMpIMOgIGwnb3B0aW9ucy4iOwoJCQkJCQkkdGFibGVhdSA9ICRjb3Rpc2F0aW9uX29wcy0+dHlwZXNfY290aXNhdGlvbnMoJHJlY29yZF9pZCk7CgkJCQkJCS8vdmFyX2R1bXAoJG5vbSk7CgkJCQkJCWlmKGlzX2FycmF5KCR0YWJsZWF1KSkKCQkJCQkJewoJCQkJCQkJJG5vbSA9ICR0YWJsZWF1Wydub20nXTsKCQkJCQkJCSR0YXJpZiA9ICR0YWJsZWF1Wyd0YXJpZiddOwoJCQkJCQkJJG1vZHVsZSA9ICdDb3Rpc2F0aW9ucyc7CgkJCQkJCQkkYWRkID0gJHBhaWVtZW50c19vcHMtPmFkZF9wYWllbWVudCgka2V5LCRyZWZfYWN0aW9uLCRtb2R1bGUsJG5vbSwkdGFyaWYpOwoJCQkJCQkJaWYodHJ1ZSA9PT0gJGFkZCkKCQkJCQkJCXsKCQkJCQkJCQkkbWVzc2FnZS49IiBQYWllbWVudCBlbiBhdHRlbnRlIGRlIHLDqGdsZW1lbnQuIjsKCQkJCQkJCX0KCQkJCQkJCS8vdmFyX2R1bXAoJGFkZCk7CgkJCQkJCQkKCQkJCQkJfQoJCQkJCQkKCQkJCQl9CgkJCQkJKi8KCQkJCX0KCQkJJHRoaXMtPlNldE1lc3NhZ2UoJG1lc3NhZ2UpOwoJCQkKCQkJCQoJCQkJCgkJfQoJCWVsc2UKCQl7CgkJCWVjaG8gIklsIHkgYSBkZXMgZXJyZXVycyAhIjsKCQl9CgkJCgoKJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignZGVmYXVsdCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.emailing.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nKSk7CglyZXR1cm47Cn0KLy9kZWJ1Z19kaXNwbGF5KCRwYXJhbXMsICdQYXJhbWV0ZXJzJyk7CmlmKGlzc2V0KCRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10pICYmICRwYXJhbXNbJ2lkX3ByZXNlbmNlJ10gIT0nJykKewoJJGlkX3ByZXNlbmNlID0gJHBhcmFtc1snaWRfcHJlc2VuY2UnXTsKCSRpbnNjX29wcyA9IG5ldyBUMnRfcHJlc2VuY2U7CgkkZGV0YWlscyA9ICRpbnNjX29wcy0+ZGV0YWlsc19wcmVzZW5jZSgkaWRfcHJlc2VuY2UpOwoJJHRpdHJlID0gJGRldGFpbHNbJ25vbSddOwoJJHNtYXJ0eS0+YXNzaWduKCd0aXRyZScsICR0aXRyZSk7CgkkZXJyb3IgPSAwOwoJCgkkZ3JvdXBfaWQgPSAkZGV0YWlsc1snZ3JvdXBlJ107Cgkkc2VuZGVyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FkbWluX2VtYWlsJyk7CQoJJHByaW9yaXR5ID0gJHBhcmFtc1sncHJpb3JpdHknXSA9ICcxJzsKCSRzdWJqZWN0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VtYWlsX3ByZXNlbmNlX3N1YmplY3QnKTsKCSRtZXNzYWdlID0gJHRoaXMtPkdldFRlbXBsYXRlKCdwcmVzZW5jZW1haWxfU2FtcGxlJyk7Ci8vCSRib2R5ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCRib2R5KTsKCSRhdWpvdXJkaHVpID0gdGltZSgpOwoJCgoJaWYoaXNzZXQoJHBhcmFtc1snc2VuZGRhdGUnXSkgJiYgJHBhcmFtc1snc2VuZGRhdGUnXSkKCXsKCQkkc2VuZGRhdGUgPSAkcGFyYW1zWydzZW5kZGF0ZSddOwoJfQoJZWxzZQoJewoJCSRzZW5kZGF0ZSA9IGRhdGUoJ1ktbS1kJyk7Cgl9CglpZihpc3NldCgkcGFyYW1zWydzZW5kdGltZSddKSAmJiAkcGFyYW1zWydzZW5kdGltZSddKQoJewoJCSRzZW5kdGltZSA9ICRwYXJhbXNbJ3NlbmR0aW1lJ107Cgl9CgllbHNlCgl7CgkJJHNlbmR0aW1lID0gZGF0ZSgiSDppOnMiKTsKCX0KCSRtZXNzX29wcyA9IG5ldyBUMnRfbWVzc2FnZXM7CgkkdGltZV9lbnZvaSA9ICRtZXNzX29wcy0+ZGF0ZXRvdGltZXVuaXgoJHNlbmRkYXRlLCAkc2VuZHRpbWUpOwoKCSRzZW50ID0gMTsKCWlmKCR0aW1lX2Vudm9pID4gJGF1am91cmRodWkpCgl7CgkJJHNlbnQgPSAwOwoJfQoKCWlmKCRlcnJvciA+MCkKCXsKCQkvL3BhcyBnbG9wLCBkZXMgZXJyZXVycyAhCgkJZWNobyAidHJvcCBkXCdlcnJldXJzICEiOwoJfQoJZWxzZQoJewoJCS8vIG9uIGNvbW1lbmNlIGxlIHRyYWl0ZW1lbnQKCQkvL2lmKCRhdWpvdXJkaHVpIDw9ICRzZW5kZGF0ZSA9IGRhdGUoJ1ktbS1kJyk7CgoJCSRyZXBseXRvID0gJHNlbmRlcjsKCQkkZ3Bfb3BzID0gbmV3IGdyb3VwczsKCQkkcmVjaXBpZW50c19udW1iZXIgPSAkZ3Bfb3BzLT5jb3VudF91c2Vyc19pbl9ncm91cCgkZ3JvdXBfaWQpOwoJCSRtZXNzX29wcyA9IG5ldyBUMnRfbWVzc2FnZXM7CgkJJHByZXNfb3BzID0gbmV3IFQydF9wcmVzZW5jZTsKCQkkbWVzcyA9ICRtZXNzX29wcy0+YWRkX21lc3NhZ2UoJHNlbmRlciwgJHNlbmRkYXRlLCAkc2VuZHRpbWUsICRyZXBseXRvLCAkZ3JvdXBfaWQsJHJlY2lwaWVudHNfbnVtYmVyLCAkc3ViamVjdCwgJHRpdHJlLCAkc2VudCk7CgkJJG1lc3NhZ2VfaWQgPSRkYi0+SW5zZXJ0X0lEKCk7CgkJCgkJCgkJCgkJaWYgKCRzZW50ID09IDEpCgkJewoJCQkvL29uIGV4dHJhaXQgbGVzIHV0aWxpc2F0ZXVycyAoZ2VuaWQpIGR1IGdyb3VwZSBzw6lsZWN0aW9ubsOpCgkJCS8vYXR0ZW50aW9uLCBvbiDDqWxpbWluZSBsZXMgdXRpbGlzYXRldXJzIGF5YW50IGTDqWrDoCByw6lwb25kdQoJCQkkbGljZW5jZXMgPSAkcHJlc19vcHMtPnJlbGFuY2VfZW1haWxfbGljZW5jZSgkaWRfcHJlc2VuY2UpOwoJCQl2YXJfZHVtcCgkbGljZW5jZXMpOwoJCQkkdGFiID0gaW1wbG9kZSgnLCAnLCRsaWNlbmNlcyk7CgkJCSRjb250YWN0c19vcHMgPSBuZXcgY29udGFjdDsKCQkJJGFkaGVyZW50cyA9ICRjb250YWN0c19vcHMtPlVzZXJzRnJvbUdyb3VwKCRncm91cF9pZCk7CgkJCSRjZ19vcHMgPSBuZXcgQ0dFeHRlbnNpb25zOwoJCgkJCWZvcmVhY2goJGFkaGVyZW50cyBhcyAkc2VscykKCQkJewoJCQkJLy9hdmFudCBvbiBlbnZvaWUgZGFucyBsZSBtb2R1bGUgZW1haWxzIHBvdXIgdG91cyBsZXMgdXRpbGlzYXRldXJzIGV0IHNhbnMgdHJhaXRlbWVudAoJCQkJaWYoRkFMU0UgPT09ICRsaWNlbmNlcyB8fCBGQUxTRSA9PT0gaW5fYXJyYXkoJHNlbHMsICRsaWNlbmNlcykpCgkJCQl7CgkJCQkJJHF1ZXJ5ID0gIlNFTEVDVCBjb250YWN0IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9hZGhlcmVudHNfY29udGFjdHMgV0hFUkUgZ2VuaWQgPSA/IEFORCB0eXBlX2NvbnRhY3QgPSAxIExJTUlUIDEiOwoJCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRzZWxzKSk7CgkJCQkJaWYoJGRicmVzdWx0ICYmICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKT4wKQoJCQkJCXsKCQkJCQkJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCgkJCQkJCSRlbWFpbF9jb250YWN0ID0gJHJvd1snY29udGFjdCddOwoJCQkJCQkkZGVzdGluYXRhaXJlcyA9IGFycmF5KCk7CgoJCQkJCQlpZighaXNfbnVsbCgkZW1haWxfY29udGFjdCkpCgkJCQkJCXsKCQkJCQkJCSRkZXN0aW5hdGFpcmVzWydlbWFpbHMnXSA9ICRlbWFpbF9jb250YWN0OwoJCQkJCQkJJGRlc3RpbmF0YWlyZXNbJ2dlbmlkJ10gPSAkc2VsczsKCQkJCQkJCSRzZW50dG91c2VyID0gMTsKCQkJCQkJCSRzdGF0dXMgPSAiRW1haWwgT2siOwoJCQkJCQkJJGFyID0gMDsKCQkJCQkJCSRkZWJ1dF91cmwgPSAkY29uZmlnWydyb290X3VybCddOwoKCQkJCQkJCSRyZXRvdXJpZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwYWdlaWRfcHJlc2VuY2UnKTsvLzQ0OwoJCQkJCQkJJHBhZ2UgPSAkY2dfb3BzLT5yZXNvbHZlX2FsaWFzX29yX2lkKCRyZXRvdXJpZCk7Ly8ncHJlc2VuY2UnOwoKCQkJCQkJCSRhY3Rpb25fbW9kdWxlID0gJ2NudG50MDEnOwoJCQkJCQkJJGxpZW5vayA9ICRkZWJ1dF91cmwuJy9pbmRleC5waHA/cGFnZT0nLiRwYWdlLicmbWFjdD1QcmVzZW5jZSwnLiRhY3Rpb25fbW9kdWxlLicsZGVmYXVsdCwwJicuJGFjdGlvbl9tb2R1bGUuJ2lkX3ByZXNlbmNlPScuJGlkX3ByZXNlbmNlLicmJy4kYWN0aW9uX21vZHVsZS4nZ2VuaWQ9Jy4kc2Vscy4nJicuJGFjdGlvbl9tb2R1bGUuJ3JlcG9uc2U9MSc7CgkJCQkJCQkvLyRsaWVub2sgPSAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwkcmV0dXJuaWQsICdkZWZhdWx0JywgJGNvbnRlbnRzPSdQcsOpc2VudCcsIGFycmF5KCJpZF9wcmVzZW5jZSI9PiRpZF9wcmVzZW5jZSwicmVwb25zZSI9PiIxIiwgImxpY2VuY2UiPT4kc2VscykpOwoKCQkJCQkJCSRzbWFydHktPmFzc2lnbignbGllbm9rJywgJGxpZW5vayk7CgoJCQkJCQkJJGxpZW5rbyA9ICRkZWJ1dF91cmwuJ2luZGV4LnBocD9wYWdlPScuJHBhZ2UuJyZtYWN0PVByZXNlbmNlLCcuJGFjdGlvbl9tb2R1bGUuJyxkZWZhdWx0LDAmJy4kYWN0aW9uX21vZHVsZS4naWRfcHJlc2VuY2U9Jy4kaWRfcHJlc2VuY2UuJyYnLiRhY3Rpb25fbW9kdWxlLidnZW5pZD0nLiRzZWxzLicmJy4kYWN0aW9uX21vZHVsZS4ncmVwb25zZT0wJzsvLyR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICdBYnNlbnQnLCBhcnJheSgiaWRfcHJlc2VuY2UiPT4kaWRfcHJlc2VuY2UsInJlcG9uc2UiPT4iMCIsICJsaWNlbmNlIj0+JHNlbHMpKTsKCQkJCQkJCSRzbWFydHktPmFzc2lnbignbGllbmtvJywgJGxpZW5rbyk7CgkJCQkJCQkkZW52b2kgPSAkcHJlc19vcHMtPnNlbmRfZW1haWwoJHNlbmRlciwgJGVtYWlsX2NvbnRhY3QsJHN1YmplY3QsICRwcmlvcml0eSwgJGxpZW5vaywgJGxpZW5rbyk7CgkJCQkJCQlpZihGQUxTRSA9PT0gJGVudm9pKQoJCQkJCQkJewoJCQkJCQkJCSRtZXNzX29wcy0+bm90X3NlbnRfZW1haWxzKCRtZXNzYWdlX2lkLCAkcmVjaXBpZW50cyk7CgkJCQkJCQl9CgkJCQkJCQl1bnNldCgkbGllbm9rKTsKCQkJCQkJCXVuc2V0KCRsaWVua28pOwoJCQkJCQl9CgkJCQkJCWVsc2UKCQkJCQkJewoJCQkJCQkJLy9vbiBpbmRpcXVlIGwnZXJyZXVyIDogcGFzIGQnZW1haWwgZGlzcG9uaWJsZSAhCgkJCQkJCQkkc2VudHRvdXNlciA9IDA7CgkJCQkJCQkkc3RhdHVzID0gIkVtYWlsIGFic2VudCI7CgkJCQkJCQkkYXIgPSAwOwoJCQkJCQkJJGVtYWlsX2NvbnRhY3QgPSAicmllbiI7CgkJCQkJCX0KCgkJCQkJCSRhZGRfdG9fcmVjaXBpZW50cyA9ICRtZXNzX29wcy0+YWRkX21lc3NhZ2VzX3RvX3JlY2lwaWVudHMoJG1lc3NhZ2VfaWQsICRzZWxzLCAkZW1haWxfY29udGFjdCwkc2VudHRvdXNlciwkc3RhdHVzLCAkYXIpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQkJCgkJCQkKCQkJCgkJCgkJfQoJCSR0aGlzLT5TZXRNZXNzYWdlKCdNZXNzYWdlIGVudm95w6kgIScpOwoJCSR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ3ByZXMnKTsKCX0KCQp9CmVsc2UKewoJJHRoaXMtPlNldE1lc3NhZ2UoJ0lsIG1hbnF1ZSB1biBwYXJhbcOodHJlICEnKTsKCSR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ3ByZXMnKTsKfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.presence.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKc2V0X3RpbWVfbGltaXQoMzAwKTsKaWYoIWlzc2V0KCRnQ21zKSkgZXhpdDsKLy9vbiB2w6lyaWZpZSBsZXMgcGVybWlzc2lvbnMKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1ByZXNlbmNlIHVzZScpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicpKTsKCXJldHVybjsKfQokZGIgPSYgJHRoaXMtPkdldERiKCk7Cmdsb2JhbCAkdGhlbWVPYmplY3Q7CiRhdWpvdXJkaHVpID0gZGF0ZSgnWS1tLWQnKTsKCmlmKGlzc2V0KCRwYXJhbXNbJ29iaiddKSAmJiAkcGFyYW1zWydvYmonXSAhPSAnJykKewoJJG9iaiA9ICRwYXJhbXNbJ29iaiddOwp9CmVsc2UKewoJLy9yZWRpcgp9CnN3aXRjaCgkb2JqKQp7CgljYXNlICJhY3RpdmF0ZV9kZXNhY3RpdmF0ZSIgOgoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJaWYoaXNzZXQoJHBhcmFtc1sncmVjb3JkX2lkJ10pICYmICRwYXJhbXNbJ3JlY29yZF9pZCddICE9ICcnKQoJCXsKCQkJJHJlY29yZF9pZCA9ICRwYXJhbXNbJ3JlY29yZF9pZCddOwoJCX0KCQlpZihpc3NldCgkcGFyYW1zWydhY3QnXSkgJiYgJHBhcmFtc1snYWN0J10gIT0gJycpCgkJewoJCQkkYWN0ID0gJHBhcmFtc1snYWN0J107CgkJCQoJCX0KCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfcHJlc2VuY2UgU0VUIGFjdGlmID0gPyBXSEVSRSBpZCA9ID8iOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRhY3QsICRyZWNvcmRfaWQpKTsKCQkKCQkkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdwcmVzJyk7CglicmVhazsKCQoJY2FzZSAiZGVsZXRlIiA6CgkJaWYoaXNzZXQoJHBhcmFtc1sncmVjb3JkX2lkJ10pICYmICRwYXJhbXNbJ3JlY29yZF9pZCddICE9ICcnKQoJCXsKCQkJCgkJfQoJYnJlYWs7Cn0=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAGUAeAB0ZHNjbGJvb2wBAAAAAAAAAAACAAAAAAAAAAEAAAABAAAQAGNsYm9vbAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1QyVCBQcsOpc2VuY2UnOwoKCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0NlIG1vZHVsZSBnw6hyZSBsZXMgYWJzZW5jZXMvcHLDqXNlbmNlcy4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+QmllbnZlbnVlIGRhbnMgbGUgbW9kdWxlIFByw6lzZW5jZTwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPgo8bGk+VmVyc2lvbiAwLjFiZXRhMywgTm92IDIwMTQgU2MgQW3DqWxpb3JhdGlvbnMgZHUgZnJvbnQtb2ZmaWNlIGV0IGTDqWJvZ3VhZ2UgZHUgYmFjazwvbGk+Cjx1bD4KICAgPGxpPk1pc2UgbmUgcGxhY2UgZHUgZnJvbnQtb2ZmaWNlLjwvbGk+CiAgIDxsaT5BbcOpbGlvcmF0aW9ucyBkdSBiYWNrLW9mZmljZSBldCBjb3JyZWN0aW9ucyBkZSBidWdzLjwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+UXVlIGZhaXQgY2UgbW9kdWxlID88L2gzPgo8cD5DZSBtb2R1bGUgcsOpY3Vww6hyZSBsZXMgcsOpc3VsdGF0cyBkZSB2b3RyZSBjbHViIGV0IHLDqWFsaXNlIGRlcyB0cmFpdGVtZW50cyBhZmluIGRlIGxlcyBkaXNwb3NlciBzdXIgdm90cmUgc2l0ZSBpbnRlcm5ldC48L3A+CjxoMz5Db21tZW50IGxcJ3V0aWxpc2VyID88L2gzPgo8cD5MZSB0YWcgcGFyIGTDqWZhdXQgZXN0IGNlbHVpLWNpIHtjbXNfbW9kdWxlIG1vZHVsZT1cJ1BpbmdcJ308L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHVsPgo8bGk+UG91ciBvYnRlbmlyIGxhIGRlcm5pw6hyZSB2ZXJzaW9uIG9mZmljaWVsbGUsIEZBUXMsIG91IHBvdXIgc2lnbmFsZXIgdW4gYnVnLCBmYWlyZSB1bmUgZGVtYW5kZSBkXCdhbcOpbGlvcmF0aW9ucywgbWVyY2kgZGUgY29uc3VsdGVyIGxhIGZvcmdlIGR1IG1vZHVsZSDDoCBjZXR0ZSBhZHJlc3NlIDogCjxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvcGluZy8iPlBpbmc8L2E+LjwvbGk+CjwvdWw+CjxwPkNlIG1vZHVsZSBlc3QgZm91cm5pIHNvdXMgbGljZW5jZSBHUEwgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LlBvdXIgdXRpbGlzZXIgbGUgbG9naWNpZWwsIHZvdXMgZGV2ZXogZW4gIGFjY2VwdGVyIGxlcyB0ZXJtZXM8L3A+Cgo8aDM+Q29weXJpZ2h0IGV0IExpY2VuY2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTQsIENsYXVkZSBTaW9oYW4gPGEgaHJlZj0ibWFpbHRvOmNsYXVkZUBhZ2ktd2ViY29uc2VpbC5mciI+Y2xhdWRlQGFnaS13ZWJjb25zZWlsLmZyPC9hPi4gVG91cyBkcm9pdHMgcsOpc2VydsOpcy48L3A+Cic7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Fzc28gUHLDqXNlbmNlcyc7CiRsYW5nWydyZXN1bHRzZm91bmR0ZXh0J10gPSAnUsOpc3VsdGF0cyB0cm91dsOpcyc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0dlc3Rpb24gZGVzIHByw6lzZW50cy9hYnNlbnRzLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5CaWVudmVudWUgZGFucyBsZSBtb2R1bGUgZGUgZ2VzdGlvbiBkZXMgcHLDqXNlbmNlczwvcD4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNZXJjaSBkXCdhdm9pciBpbnN0YWxsZXIgY2UgbW9kdWxlLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWxlIGTDqXNpbnN0YWxsw6kuJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdFdGVzLXZvdXMgY2VydGFpbiBkZSB2b3Vsb2lyIGTDqXNpbnN0YWxsZXIgY2UgbW9kdWxlID8nOwokbGFuZ1snZmFsc2UnXSA9ICdGYXV4JzsKJGxhbmdbJ3RydWUnXSA9ICdWcmFpJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1N1cHByaW1lcic7CiRsYW5nWydlZGl0J10gPSAnTW9kaWZpZXInOwokbGFuZ1snYWRkJ10gPSAnQWpvdXRlciAnOwokbGFuZ1snc3VibWl0J10gPSAnRW52b3llcic7CiRsYW5nWydzdWJtaXRhc25ldyddID0gJ0Fqb3V0ZXIgZW4gdGFudCBxdWUgbm91dmVsbGUgw6lxdWlwZSc7CiRsYW5nWydzdWJtaXRhbGwnXSA9ICdUb3V0IHPDqWxlY3Rpb25uZXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlcic7CiRsYW5nWyd2aWV3J10gPSAnVm9pcic7CiRsYW5nWyduZXcnXSA9ICdOb3V2ZWF1JzsKJGxhbmdbJ3NlbmQnXSA9ICdFbnZvaSBlbWFpbCc7CiRsYW5nWydjb3B5J10gPSAnRHVwbGlxdWVyJzsKJGxhbmdbJ2ZpbHRyZXMnXSA9ICdGaWx0cmV6ICEnOwokbGFuZ1snZ3JvdXBhc3NpZ24nXSA9ICdDcsOpZXIgdW5lIGxpc3RlJzsKJGxhbmdbJ2FwcGx5X3RvX3NlbGVjdGlvbiddID0gJ0FwcGxpcXVlciDDoCBsYSBzw6lsZWN0aW9uJzsKJGxhbmdbJ2FyZXlvdXN1cmVfYWN0aW9ubXVsdGlwbGUnXSA9ICdFdGVzLXZvdXMgY2VydGFpbiA/JzsKJGxhbmdbJ25vbV9jb3VydCddID0gJ0Rvbm5leiB1biBub20gY291cnQgZXgoTjEsIEQyKWV0IGlkZW50aWZpZXogcmFwaWRlbWVudCB2b3Mgw6lxdWlwZXMnOwokbGFuZ1snbmJfam91ZXVycyddID0gJ0luZGlxdWV6IGxlIG5vbWJyZSBkZSBqb3VldXJzIHBvdXIgY2V0dGUgw6lxdWlwZSc7CiRsYW5nWydjbHRfbWluaSddID0gJ0luZGlxdWV6IGxlIGNsYXNzZW1lbnQgbWluaW11bSByZXF1aXMgZW4gcG9pbnRzIHBvdXIgcG91dm9pciBqb3VlciBkYW5zIGNldHRlIMOpcXVpcGUuIDAgcGFyIGTDqWZhdXQnOwokbGFuZ1sncG9pbnRzX21heGknXSA9ICdJbmRpcXVleiBsZSB0b3RhbCBkZXMgcG9pbnRzIG1heGltdW0gcXVlIGNldHRlIMOpcXVpcGUgbmUgZG9pdCBwYXMgZMOpcGFzc2VyLiAwIHBhciBkw6lmYXV0JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+UXVlIGZhaXQgY2UgbW9kdWxlID88L2gzPgo8cD5DZSBtb2R1bGUgdm91cyBwZXJtZXQgZGUgZ8OpcmVyIGxlcyBhYnNlbmNlcy9wcsOpc2VuY2VzIHBvdXIgdW5lIG1hbmlmZXN0YXRpb24sIHLDqXVuaW9uLCByZW5jb250cmVzIHNwb3J0aXZlcywgZW50cmFpbmVtZW50cyxldGMuLjxiciAvPgpEYW5zIGNldHRlIHZlcnNpb24sIHZvdXMgY3LDqWVyIHZvdHJlIHF1ZXN0aW9uIGV0IGxcJ2Vudm9pIHNlIGZhaXQgcGFyIG1haWwuIERhbnMgZGVzIHZlcnNpb25zIHVsdMOpcmlldXJlcywgaWwgZXN0IHByw6l2dSBkaWZmw6lyZW50cyB0eXBlcyBkXCdlbnZvaXMgKFNNUywgbWVzc2VuZ2VyKS48L3A+CjxwPlBvdXIgZ8OpcmVyIGxlcyByw6lwb25zZXMsIHV0aWxpc2V6IGxlIHRhZyBzdWl2YW50IGRhbnMgdW5lIGRlIHZvcyBwYWdlcyhtZXJjaSBkZSByZW5zZWlnbmVyIGNldCBhbGlhcyBkYW5zIGxcJ29uZ2xldCAiQ29uZmlnIikge2Ntc19tb2R1bGUgbW9kdWxlPVByZXNlbmNlfTwvcD4KPHVsPgo8bGk+UG91ciBvYnRlbmlyIGxhIGRlcm5pw6hyZSB2ZXJzaW9uIGVuIGNvdXJzIChhdmFudCByZWxlYXNlIG9mZmljaWVsbGUpCjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9zaW9oYW4vcHJlc2VuY2UiPlZlcnNpb24gZ2l0aHViPC9hPi48L2xpPgo8bGk+TFwnYXV0ZXVyIHBldXQgYXVzc2kgw6p0cmUgY29udGFjdMOpIHZpYSBza3lwZSBzb3VzIGxlIHBzZXVkbyBhZ2l3ZWJjb25zZWlsLjwvbGk+CjxsaT5FbmZpbiwgdm91cyBwb3V2ZXogYXVzc2kgbVwnZW52b3llciB1biBtYWlsLjwvbGk+ICAKPC91bD4KPHA+RW4gdGFudCBxdWUgbGljZW5jZSBHUEwsIGNlIG1vZHVsZSBlc3QgbGl2csOpIHRlbCBxdWVsLiBNZXJjaSBkZSBsaXJlIGxlIHRleHRlIGNvbXBsZXQgZGUgbGEgbGljZW5zZSBwb3VyIHVuZSBpbmZvcm1hdGlvbiBjb21wbMOqdGUuPC9wPgo8aDM+UmVtZXJjaWVtZW50czwvaDM+CjxwPk1lcmNpIMOgIG1hIGZlbW1lIGV0IMOgIG1lcyBlbmZhbnRzIHBvdXIgbGV1ciBzb3V0aWVuIHRvdWpvdXJzIGluZMOpZmVjdGlibGUuPC9wPgo8cD5VbiByZW1lcmNpZW1lbnQgdG91dCBwYXJ0aWN1bGllciDDoCBtb24gYW1pIEVyaWMgUG9uY2hhbnQoZXJpY2ZyZWVsYW5jZSkgcG91ciBzb24gc291dGllbiwgc2EgYmllbnZlaWxsYW5jZSwgc2EgcGF0aWVuY2UsIHNlcyBjb25zZWlscyB0b3Vqb3VycyBhdmlzw6lzIGV0IHNvbiBleHBlcnRpc2UgcG91ciBtXCdhaWRlciDDoCBjaGFxdWUgZm9pcyDDoCBtZSBzb3J0aXIgZGUgbFwnb3JuacOocmUuLjwvcD4KPGgzPkNvcHlyaWdodCBldCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAxNCwgQ2xhdWRlIFNpb2hhbiA8YSBocmVmPSJtYWlsdG86Y2xhdWRlLnNpb2hhbkBnbWFpbC5jb20iPmNsYXVkZS5zaW9oYW5AZ21haWwuY29tPC9hPi4gVG91cyBkcm9pdHMgcsOpc2VydsOpcy48L3A+CjxwPkNlIG1vZHVsZSBlc3Qgc291cyBsaWNlbmNlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gVm91cyBkZXZleiBhY2NlcHRlciBsYSBsaWNlbmNlIGF2YW50IGRcJ3V0aWxpc2VyIGNlIG1vZHVsZS48L3A+CjxwPkNlIG1vZHVsZSBhIMOpdMOpIGRpc3RyaWJ1w6kgZGFucyBsXCdlc3BvaXIgZFwnw6p0cmUgdXRpbGUsIG1haXMgc2FucwpBVUNVTkUgR0FSQU5USUUuIElsIHZvdXMgYXBwYXJ0aWVudCBkZSBsZSB0ZXN0ZXIgYXZhbnQgdG91dGUgbWlzZSBlbgpwcm9kdWN0aW9uLCBxdWUgY2Ugc29pdCBkYW5zIGxlIGNhZHJlIGRcJ3VuZSBub3V2ZWxsZSBpbnN0YWxsYXRpb24gb3UKZFwndW5lIG1pc2Ugw6Agam91ciBkdSBtb2R1bGUuIExcJ2F1dGV1ciBkdSBtb2R1bGUgbmUgcG91cnJhaXQgw6p0cmUgdGVudQpwb3VyIHJlc3BvbnNhYmxlIGRlIHRvdXQgZHlzZm9uY3Rpb25uZW1lbnQgZHUgc2l0ZSBwcm92ZW5hbnQgZGUgY2UKbW9kdWxlLiBQb3VyIHBsdXMgZFwnaW5mb3JtYXRpb25zLCA8YQpocmVmPVwiaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Y29uc3VsdGV6CmxhIGxpY2VuY2UgR05VIEdQTDwvYT4uPC9wPgonOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAYAAAAAAAAAABAAAAgAAAAAEAAAEAAAAAAQAAAgAAAAABAAAEAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/lib/class.bitly.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEJpdGx5IEFQSSBDbGllbnQuCiAqCiAqIExJQ0VOU0U6IEFwYWNoZSBTb2Z0d2FyZSBMaWNlbnNlIHYyLjAsIHNlZSBMSUNFTlNFCiAqCiAqIEBwYWNrYWdlICAgIEJpdGx5CiAqIEBjb3B5cmlnaHQgIENvcHlyaWdodCAoYykgMjAxMyBCaXRseSBJbmMuCiAqIEBsaWNlbnNlICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKiBAdmVyc2lvbiAgICAwLjEuMAogKiBAbGluayAgICAgICBodHRwczovL2dpdGh1Yi5jb20vYml0bHkvYml0bHktYXBpLXBocAogKi8KCi8qKgogKiBCYXNlIGNsYXNzIGZvciBCaXRseSBjbGllbnQgZXJyb3JzLgogKi8KY2xhc3MgQml0bHlFcnJvciBleHRlbmRzIEV4Y2VwdGlvbgp7fQoKCi8qKgogKiBSYWlzZWQgd2hlbiBjb21tdW5pY2F0aW5nIHdpdGggdGhlIEFQSSByZXN1bHRzIGluIGFuIGVycm9yLgogKi8KY2xhc3MgQml0bHlBUElFcnJvciBleHRlbmRzIEJpdGx5RXJyb3IKe30KCi8qKgogKiBCdWlsZCBhIHF1ZXJ5IHN0cmluZyBmcm9tIGFuIGFycmF5IG9mIHBhcmFtID0+IHZhbHVlcy4gSGFuZGxlCiAqIG11bHRpcGxlIHZhbHVlcyBjb3JyZWN0bHkuCiAqCiAqIFBIUCdzIGJ1aWx0LWluIGh0dHBfYnVpbGRfcXVlcnkgZG9lcyB0aGUgaW5zYW5lIHRoaW5nIG9mIGNvbnZlcnRpbmcKICogcGFyYW0gbmFtZXMgd2hlbiBnaXZlbiBhbiBhcnJheSB2YWx1ZSwgd2hpY2ggaXMgb25seSBjb3JyZWN0IGZvciBQSFAKICogc2VydmVycy4gVGhpcyBidWlsZHMgY29ycmVjdCBxdWVyeSBzdHJpbmdzIGdpdmVuIGEgc21hbGxlciBzZXQgb2YKICogYWxsb3dhYmxlIGlucHV0cy4gT25seSBvbmUgbGV2ZWwgb2YgbmVzdGluZyBpcyBPSywgZS5nLjoKICoKICogICAgICRkYXRhID0gYXJyYXkoCiAqICAgICAgICAgJ2ZvbycgPT4gJ0ZPTycsCiAqICAgICAgICAgJ2JhcicgPT4gYXJyYXkoJzEnLCAnMicsICczJykKICogICAgICk7CiAqICAgICBlY2hvIGJ1aWxkX3BhcmFtcygkZGF0YSk7CiAqICAgICAvLyBmb289Rk9PJmJhcj0xJmJhcj0yJmJhcj0zCiAqCiAqIEBpbnRlcm5hbAogKgogKiBAcGFyYW0gYXJyYXkgJHBhcmFtcwogKgogKiBAcmV0dXJuIHN0cmluZwogKi8KZnVuY3Rpb24gYnVpbGRfcXVlcnkoQXJyYXkgJHBhcmFtcykgewogICAgJHJldCA9IGFycmF5KCk7CiAgICAkZm10ID0gJyVzPSVzJzsKICAgICRzZXBhcmF0b3IgPSAnJic7CiAgICBmb3JlYWNoICgkcGFyYW1zIGFzICRrID0+ICR2KSB7CiAgICAgICAgaWYgKGlzX2FycmF5KCR2KSkgewogICAgICAgICAgICBmb3JlYWNoICgkdiBhcyAkX3YpIHsKICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJHJldCwgc3ByaW50ZigkZm10LCAkaywgdXJsZW5jb2RlKCRfdikpKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFycmF5X3B1c2goJHJldCwgc3ByaW50ZigkZm10LCAkaywgdXJsZW5jb2RlKCR2KSkpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBpbXBsb2RlKCRzZXBhcmF0b3IsICRyZXQpOwp9CgoKLyoqCiAqIEEgcG9zc2libHktYXV0aGVudGljYXRlZCBjb25uZWN0aW9uIHRvIHRoZSBCaXRseSBBUEkuCiAqLwpjbGFzcyBCaXRseQp7CiAgICAvKioKICAgICAqIFRoZSBhcHBsaWNhdGlvbidzIE9BdXRoMiBjbGllbnQgSUQuCiAgICAgKgogICAgICogQHR5cGUgc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljICRjbGllbnRJZCA9IG51bGw7CgogICAgLyoqCiAgICAgKiBUaGUgYXBwbGljYXRpb24ncyBPQXV0aDIgY2xpZW50IHNlY3JldC4KICAgICAqCiAgICAgKiBAdHlwZSBzdHJpbmd8bnVsbAogICAgICovCiAgICBwdWJsaWMgJGNsaWVudFNlY3JldCA9IG51bGw7CgogICAgLyoqCiAgICAgKiBUaGUgdXNlciBvciBhcHBsaWNhdGlvbidzIE9BdXRoMiBhY2Nlc3MgdG9rZW4uCiAgICAgKgogICAgICogQHR5cGUgc3RyaW5nfG51bGwKICAgICAqLwogICAgcHVibGljICRhY2Nlc3NUb2tlbiA9IG51bGw7CgogICAgLyoqCiAgICAgKiBUaGUgQVBJIGhvc3RuYW1lLgogICAgICoKICAgICAqIEB0eXBlIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgJGFwaVVybCA9ICdodHRwczovL2FwaS1zc2wuYml0bHkuY29tLyc7CgogICAgLyoqCiAgICAgKiBUaGUgYXBwbGljYXRpb24ncyB1c2VyIGFnZW50LgogICAgICoKICAgICAqIEB0eXBlIHN0cmluZ3xudWxsCiAgICAgKi8KICAgIHB1YmxpYyAkdXNlckFnZW50ID0gbnVsbDsKCiAgICAvKioKICAgICAqIFRpbWVvdXQgZm9yIGNvbW11bmljYXRpbmcgd2l0aCBCaXRseS4KICAgICAqCiAgICAgKiBAdHlwZSBpbnQKICAgICAqLwogICAgcHVibGljICR0aW1lb3V0ID0gNDsKCiAgICAvKioKICAgICAqIFRpbWVvdXQgZm9yIGNvbm5lY3RpbmcgdG8gQml0bHkuCiAgICAgKgogICAgICogQHR5cGUgaW50CiAgICAgKi8KICAgIHB1YmxpYyAkY29ubmVjdFRpbWVvdXQgPSAyOwoKICAgIC8qKgogICAgICogQHZhciBib29sCiAgICAgKi8KICAgIHByaXZhdGUgJGlzSVB2NkRpc2FibGVkID0gZmFsc2U7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBuZXcgQml0bHkgQVBJIGNsaWVudCB3aXRoIHRoZSBnaXZlbiBjcmVkZW50aWFscy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjbGllbnRJZAogICAgICogIChPcHRpb25hbCkgVGhlIGFwcGxpY2F0aW9uJ3MgcmVnaXN0ZXJlZCBCaXRseSBjbGllbnQgSUQuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjbGllbnRTZWNyZXQKICAgICAqICAoT3B0aW9uYWwpIFRoZSBhcHBsaWNhdGlvbidzIHJlZ2lzdGVyZWQgQml0bHkgY2xpZW50IHNlY3JldC4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGFjY2Vzc1Rva2VuCiAgICAgKiAgKE9wdGlvbmFsKSBUaGUgYXBwbGljYXRpb24gb3IgY3VycmVudCB1c2VyJ3MgYWNjZXNzIHRva2VuLiBOZWNlc3NhcnkKICAgICAqICBmb3IgbW9zdCBBUEkgbWV0aG9kcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIEJpdGx5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9hdXRoZW50aWNhdGlvbi5odG1sCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY2xpZW50SWQ9bnVsbCwgJGNsaWVudFNlY3JldD1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhY2Nlc3NUb2tlbj1udWxsKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnRJZCA9ICRjbGllbnRJZDsKICAgICAgICAkdGhpcy0+Y2xpZW50U2VjcmV0ID0gJGNsaWVudFNlY3JldDsKICAgICAgICAkdGhpcy0+YWNjZXNzVG9rZW4gPSAkYWNjZXNzVG9rZW47CiAgICAgICAgJHRoaXMtPnVzZXJBZ2VudCA9ICdQSFAvJyAuIHBocHZlcnNpb24oKSAuICcgYml0bHlfYXBpLzAuMS4wJzsKICAgIH0KCiAgICAvKioKICAgICAqIEdpdmVuIGFuIE9BdXRoMiBhdXRoIGNvZGUsIGdldCBhbiBhY2Nlc3MgdG9rZW4gZnJvbSBCaXRseS4KICAgICAqCiAgICAgKiBFeGNoYW5nZXMgYW4gYXV0aCBjb2RlIGZvciBhbiBhY2Nlc3MgdG9rZW4sIHNldHMgdGhlIGFjY2VzcyB0b2tlbiBvbgogICAgICogdGhpcyBjbGllbnQgaW5zdGFuY2UsIGFuZCByZXR1cm5zIHRoZSB0b2tlbi4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2RlCiAgICAgKiAgQXV0aG9yaXphdGlvbiBjb2RlIGZyb20gQml0bHkuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRyZWRpcmVjdFVyaQogICAgICogIFRoZSBVUkkgdG8gd2hpY2ggdGhlIHVzZXIgd2FzIHJlZGlyZWN0ZWQgYWZ0ZXIgYXV0aGVudGljYXRpbmcuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2F1dGhlbnRpY2F0aW9uLmh0bWwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEFjY2Vzc1Rva2VuKCRjb2RlLCAkcmVkaXJlY3RVcmkpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdjb2RlJyA9PiAkY29kZSwgJ3JlZGlyZWN0X3VyaScgPT4gJHJlZGlyZWN0VXJpLAogICAgICAgICAgICAgICAgICAgICAgICAnY2xpZW50X2lkJyA9PiAkdGhpcy0+Y2xpZW50SWQsCiAgICAgICAgICAgICAgICAgICAgICAgICdjbGllbnRfc2VjcmV0JyA9PiAkdGhpcy0+Y2xpZW50U2VjcmV0KTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ29hdXRoL2FjY2Vzc190b2tlbicsICRwYXJhbXMsIHRydWUsIGZhbHNlKTsKICAgICAgICAkZGF0YSA9IGFycmF5KCk7CiAgICAgICAgcGFyc2Vfc3RyKCRyZXN1bHQsICRkYXRhKTsKICAgICAgICAkdGhpcy0+YWNjZXNzVG9rZW4gPSAkZGF0YVsnYWNjZXNzX3Rva2VuJ107CiAgICAgICAgcmV0dXJuICRkYXRhWydhY2Nlc3NfdG9rZW4nXTsKICAgIH0KCiAgICAvKioKICAgICAqIEV4cGFuZCBhIHNob3J0IFVSTCBvciBoYXNoLgogICAgICoKICAgICAqIE9uZSBwYXJhbWV0ZXIgbXVzdCBiZSBzcGVjaWZpZWQuIElmIGJvdGggYXJlIHNwZWNpZmllZCwgdGhlIHNob3J0IFVSTAogICAgICogaGFzIHByZWNlZGVuY2UuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkc2hvcnRVcmwKICAgICAqICAoT3B0aW9uYWwpIEEgZnVsbCBiaXRseSBzaG9ydCBVUkwsIGUuZy4gImh0dHA6Ly9iaXQubHkvMTIzNCIKICAgICAqIEBwYXJhbSBzdHJpbmcgJGhhc2gKICAgICAqICAoT3B0aW9uYWwpIFRoZSBoYXNoIGNvbXBvbmVudCBvZiBhIGJpdGx5IHNob3J0IFVSTCwgZS5nLiAiMTIzNCIKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rcy5odG1sI3YzX2V4cGFuZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZXhwYW5kKCRzaG9ydFVybD1udWxsLCAkaGFzaD1udWxsKQogICAgewogICAgICAgIGlmICghJHNob3J0VXJsICYmICEkaGFzaCkgewogICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlFcnJvcignc2hvcnRVcmwgb3IgaGFzaCBtdXN0IGJlIHNwZWNpZmllZCcpOwogICAgICAgIH0KCiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCk7CiAgICAgICAgaWYgKCRzaG9ydFVybCkgewogICAgICAgICAgICAkcGFyYW1zWydzaG9ydFVybCddID0gJHNob3J0VXJsOwogICAgICAgIH0KICAgICAgICBlbHNlaWYgKCRoYXNoKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2hhc2gnXSA9ICRoYXNoOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5jYWxsKCd2My9leHBhbmQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdHNbJ2V4cGFuZCddWzBdOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGluZm8gYWJvdXQgYSBnaXZlbiBzaG9ydCBVUkwgb3IgaGFzaC4KICAgICAqCiAgICAgKiBPbmUgcGFyYW1ldGVyIG11c3QgYmUgc3BlY2lmaWVkLiBpZiBib3RoIGFyZSBzcGVjaWZpZWQsIHRoZSBzaG9ydCBVUkwKICAgICAqIGhhcyBwcmVjZWRlbmNlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHNob3J0VXJsCiAgICAgKiAgKE9wdGlvbmFsKSBBIGZ1bGwgYml0bHkgc2hvcnQgVVJMLCBlLmcuICJodHRwOi8vYml0Lmx5LzEyMzQiCiAgICAgKiBAcGFyYW0gc3RyaW5nICRoYXNoCiAgICAgKiAgKE9wdGlvbmFsKSBUaGUgaGFzaCBjb21wb25lbnQgb2YgYSBiaXRseSBzaG9ydCBVUkwsIGUuZy4gIjEyMzQiCiAgICAgKiBAcGFyYW0gJGV4cGFuZFVzZXIKICAgICAqICAoT3B0aW9uYWwpIEluY2x1ZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHVzZXIuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M19pbmZvCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpbmZvKCRzaG9ydFVybD1udWxsLCAkaGFzaD1udWxsLCAkZXhwYW5kVXNlcj1udWxsKQogICAgewogICAgICAgIGlmICghJHNob3J0VXJsICYmICEkaGFzaCkgewogICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlFcnJvcignc2hvcnRVcmwgb3IgaGFzaCBtdXN0IGJlIHNwZWNpZmllZCcpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRleHBhbmRVc2VyICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXMgPSBhcnJheSgnZXhwYW5kX3VzZXInID0+ICRleHBhbmRVc2VyKTsKICAgICAgICB9CgogICAgICAgIGlmICgkc2hvcnRVcmwpIHsKICAgICAgICAgICAgJHBhcmFtc1snc2hvcnRVcmwnXSA9ICRzaG9ydFVybDsKICAgICAgICB9CiAgICAgICAgZWxzZWlmICgkaGFzaCkgewogICAgICAgICAgICAkcGFyYW1zWydoYXNoJ10gPSAkaGFzaDsKICAgICAgICB9CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvaW5mbycsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snaW5mbyddWzBdOwogICAgfQoKICAgIC8qKgogICAgICogTG9vayB1cCBhIGJpdGx5IGxpbmsgYmFzZWQgb24gYSBsb25nIFVSTC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmwKICAgICAqICBBIGxvbmcgVVJMIHRvIGxvb2sgdXAuCiAgICAgKgogICAgICogQHJldHVybiBzdHJpbmcKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtzLmh0bWwjdjNfbGlua19sb29rdXAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtMb29rdXAoJHVybCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3VybCcgPT4gJHVybCk7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvbGluay9sb29rdXAnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdHNbJ2xpbmtfbG9va3VwJ11bMF1bJ2FnZ3JlZ2F0ZV9saW5rJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBTaG9ydGVuIGEgbG9uZyBVUkwuCiAgICAgKgogICAgICogJ2RvbWFpbicgaXMgYSBwcmVmZXJyZWQgZG9tYWluLCBidXQgaWYgdGhlIHVzZXIgaGFzIGEgY3VzdG9tIHNob3J0CiAgICAgKiBkb21haW4sIHRoZSBjdXN0b20gZG9tYWluIHdpbGwgYWx3YXlzIGJlIHVzZWQuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbG9uZ1VybAogICAgICogIEEgbG9uZyBVUkwgdG8gc2hvcnRlbi4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGRvbWFpbgogICAgICogIChPcHRpb25hbCkgQSBwcmVmZXJyZWQgZG9tYWluIChlaXRoZXIgJ2JpdC5seScsICdqLm1wJywgb3IgJ2JpdGx5LmNvbScpLgogICAgICoKICAgICAqIEByZXR1cm5zIGFycmF5CiAgICAgKiAgQW4gYXNzb2NpYXRpdmUgYXJyYXkgY29udGFpbmluZzoKICAgICAqICAgLSAnbmV3X2hhc2gnIChib29sKSBXaGV0aGVyIHRoaXMgVVJMIGhhcyBiZWVuIHNob3J0ZW5lZCBiZWZvcmUuCiAgICAgKiAgIC0gJ3VybCcgKHN0cmluZykgVGhlIGFjdHVhbCBzaG9ydCBVUkwuCiAgICAgKiAgIC0gJ2hhc2gnIChzdHJpbmcpIEEgQml0bHkgaWRlbnRpZmllciB3aGljaCBpcyB1bmlxdWUgdG8gdGhpcyBhY2NvdW50LgogICAgICogICAtICdnbG9iYWxfaGFzaCcgKHN0cmluZykgQSBCaXRseSBpZGVudGlmaWVyIHdoaWNoIGNhbiBiZSB0cmFja2VkCiAgICAgKiAgICAgYWNyb3NzIGFjY291bnRzLgogICAgICogICAtICdsb25nX3VybCcgKHN0cmluZykgQW4gbm9ybWFsaXplZCBlY2hvIGJhY2sgb2YgdGhlIG9yaWdpbmFsIGxvbmcgVVJMLgogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M19zaG9ydGVuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBzaG9ydGVuKCR1cmwsICRkb21haW49bnVsbCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xvbmdVcmwnID0+ICR1cmwpOwogICAgICAgIGlmICgkZG9tYWluICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2RvbWFpbiddID0gJGRvbWFpbjsKICAgICAgICB9CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvc2hvcnRlbicsICRwYXJhbXMpOwogICAgICAgICRyZXN1bHRzWyduZXdfaGFzaCddID0gKCRyZXN1bHRzWyduZXdfaGFzaCddID09IDEpID8gdHJ1ZSA6IGZhbHNlOwogICAgICAgIHJldHVybiAkcmVzdWx0czsKICAgIH0KCiAgICAvKioKICAgICAqIEVkaXQgYSBzYXZlZCBsaW5rLgogICAgICoKICAgICAqIFBvc3NpYmxlIGtleXMvdmFsdWVzIGZvciAkcGFyYW1zIGFyZSBhcyBvbgogICAgICogICBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rcy5odG1sI3YzX3VzZXJfbGlua19lZGl0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIGJpdGx5IGxpbmssIGUuZy4gJ2h0dHA6Ly9iaXQubHkvMTIzNCcuCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcyBBbiBhcnJheSBvZiBvcHRpb25hbCB2YWx1ZXMgZnJvbSBhYm92ZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZyBBbiBlY2hvIGJhY2sgb2YgdGhlIGVkaXRlZCBsaW5rLgogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M191c2VyX2xpbmtfZWRpdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckxpbmtFZGl0KCRsaW5rLCBBcnJheSAkcGFyYW1zKQogICAgewogICAgICAgICRrZXlzID0gYXJyYXlfa2V5cygkcGFyYW1zKTsKICAgICAgICAkcGFyYW1zWydlZGl0J10gPSBpbXBsb2RlKCcsJywgJGtleXMpOwogICAgICAgICRwYXJhbXNbJ2xpbmsnXSA9ICRsaW5rOwogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvbGlua19lZGl0JywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRzWydsaW5rX2VkaXQnXTsKICAgIH0KCiAgICAvKioKICAgICAqIExvb2sgdXAgYSBCaXRseSBsaW5rIHNob3J0ZW5lZCBieSB0aGUgYXV0aGVudGljYXRlZCB1c2VyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCBBIGxvbmcgVVJMIHRvIGxvb2sgdXAuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICogIEFuIGFzc29jaWF0aXZlIGFycmF5IGNvbnRhaW5pbmc6CiAgICAgKiAgIC0gJ3VybCcgKHN0cmluZykgQW4gZWNobyBiYWNrIG9mIHRoZSBsb25nIFVSTC4KICAgICAqICAgLSAnbGluaycgKHN0cmluZykgVGhlIGNvcnJlc3BvbmRpbmcgQml0bHkgbGluay4KICAgICAqICAgLSAnYWdncmVnYXRlX2xpbmsnIChzdHJpbmcpIFRoZSBjb3JyZXNwb25kaW5nIGFnZ3JlZ2F0ZSBsaW5rLgogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua3MuaHRtbCN2M191c2VyX2xpbmtfbG9va3VwCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyTGlua0xvb2t1cCgkdXJsKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCd1cmwnID0+ICR1cmwpOwogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvbGlua19sb29rdXAnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdHNbJ2xpbmtfbG9va3VwJ11bMF07CiAgICB9CgogICAgLyoqCiAgICAgKiBTYXZlIGEgQml0bHkgbGluayBhcyB0aGUgYXV0aGVudGljYXRlZCB1c2VyLgogICAgICoKICAgICAqIFBvc3NpYmxlIGtleXMvdmFsdWVzIGZvciAkcGFyYW1zIGFyZSBhcyBvbgogICAgICogICBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rcy5odG1sI3YzX3VzZXJfbGlua19zYXZlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdXJsIEEgbG9uZyBVUkwgdG8gc2hvcnRlbiBhbmQgc2F2ZS4KICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIEFuIGFzc29jaWF0aXZlIGFycmF5IG9mIG9wdGlvbmFsIHZhbHVlcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKiAgQW4gYXNzb2NpYXRpdmUgYXJyYXkgY29udGFpbmluZzoKICAgICAqICAgLSAnbGluaycgKHN0cmluZykgVGhlIEJpdGx5IGxpbmsgZm9yIHRoZSBsb25nIFVSTC4KICAgICAqICAgLSAnYWdncmVnYXRlX2xpbmsnIChzdHJpbmcpIFRoZSBjb3JyZXNwb25kaW5nIEJpdGx5IGFnZ3JlZ2F0ZSBsaW5rLgogICAgICogICAtICduZXdfbGluaycgKGJvb2wpIFdoZXRoZXIgdGhlIHVzZXIgaGFzIHNhdmVkIHRoaXMgbGluayBiZWZvcmUuCiAgICAgKiAgIC0gJ2xvbmdfdXJsJyAoc3RyaW5nKSBBIG5vcm1hbGl6ZWQgZWNobyBiYWNrIG9mIHRoZSBsb25nIFVSTC4KICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtzLmh0bWwjdjNfdXNlcl9saW5rX3NhdmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJMaW5rU2F2ZSgkdXJsLCBBcnJheSAkcGFyYW1zKQogICAgewogICAgICAgICRwYXJhbXNbJ2xvbmdVcmwnXSA9ICR1cmw7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvdXNlci9saW5rX3NhdmUnLCAkcGFyYW1zKTsKICAgICAgICAkcmVzdWx0cyA9ICRyZXN1bHRzWydsaW5rX3NhdmUnXTsKICAgICAgICAkcmVzdWx0c1snbmV3X2xpbmsnXSA9ICgkcmVzdWx0c1snbmV3X2xpbmsnXSA9PSAxKSA/IHRydWUgOiBmYWxzZTsKICAgICAgICByZXR1cm4gJHJlc3VsdHM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBzcGVjaWZpZWQgbnVtYmVyIG9mICdoaWdoLXZhbHVlJyBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCBNYXhpbXVtIG51bWJlciBvZiBsaW5rcyB0byByZXR1cm4uCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICogIEEgbGlzdCBvZiBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2RhdGFfYXBpcy5odG1sI3YzX2hpZ2h2YWx1ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaGlnaHZhbHVlKCRsaW1pdCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbWl0JyA9PiAkbGltaXQpOwogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL2hpZ2h2YWx1ZScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1sndmFsdWVzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBTZWFyY2ggbGlua3MgcmVjZWl2aW5nIGNsaWNrcy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRxdWVyeSBBIHN0cmluZyB0byBzZWFyY2ggZm9yLgogICAgICogQHBhcmFtIGludCAkbGltaXQKICAgICAqICAoT3B0aW9uYWwpIFRoZSBtYXhpbXVtIG51bWJlciBvZiBsaW5rcyB0byByZXR1cm4gKDEwKS4KICAgICAqIEBwYXJhbSBpbnQgJG9mZnNldAogICAgICogIChPcHRpb25hbCkgVGhlIHJlc3VsdCB0byBzdGFydCB3aXRoICgwKS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGxhbmcKICAgICAqICAoT3B0aW9uYWwpIEEgdHdvLWxldHRlciBJU08gbGFuZ3VhZ2UgY29kZS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGNpdGllcwogICAgICogIChPcHRpb25hbCkgTGltaXQgdG8gbGlua3MgYWN0aXZlIGluIHRoaXMgY2l0eSAob3JkZXJlZCBsaWtlCiAgICAgKiAgJ3VzLWlsLWNoaWNhZ28nKS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGRvbWFpbgogICAgICogIChPcHRpb25hbCkgUmVzdHJpY3QgcmVzdWx0cyB0byB0aGlzIGRvbWFpbi4KICAgICAqIEBmaWVsZHMgc3RyaW5nW10KICAgICAqICAoT3B0aW9uYWwpIFdoaWNoIGZpZWxkcyB0byByZXR1cm4gaW4gdGhlIHJlc3BvbnNlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqICBBbiBhcnJheSBvZiByZXN1bHRzLCBlYWNoIHJlc3VsdCBpcyBhbiBhc3NvY2lhdGl2ZSBhcnJheSBhbmQgaXRzCiAgICAgKiAgY29udGVudHMgd2lsbCBkZXBlbmQgb24gJ2ZpZWxkcycuCiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19zZWFyY2gKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNlYXJjaCgkcXVlcnksICRsaW1pdD0xMCwgJG9mZnNldD0wLCAkbGFuZz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAkY2l0aWVzPW51bGwsICRkb21haW49bnVsbCwgQXJyYXkgJGZpZWxkcz1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgncXVlcnknID0+ICRxdWVyeSwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICdvZmZzZXQnID0+ICRvZmZzZXQpOwogICAgICAgIGlmICgkbGFuZyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydsYW5nJ10gPSAkbGFuZzsKICAgICAgICB9CiAgICAgICAgaWYgKCRjaXRpZXMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtWydjaXRpZXMnXSA9ICRjaXRpZXM7CiAgICAgICAgfQogICAgICAgIGlmICgkZG9tYWluICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2RvbWFpbiddID0gJGRvbWFpbjsKICAgICAgICB9CiAgICAgICAgaWYgKCRmaWVsZHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snZmllbGRzJ10gPSBpbXBsb2RlKCcsJywgJGZpZWxkcyk7CiAgICAgICAgfQogICAgICAgICRyZXN1bHRzID0gJHRoaXMtPmNhbGwoJ3YzL3NlYXJjaCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1sncmVzdWx0cyddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBwaHJhc2VzIHRoYXQgYXJlIHJlY2VpdmluZyBhbiB1bmNoYXJhY3RlcmlzdGljYWxseSBoaWdoIHZvbHVtZQogICAgICogb2YgY2xpY2sgdHJhZmZpYywgYW5kIHRoZSBpbmRpdmlkdWFsIGxpbmtzIChoYXNoZXMpIGRyaXZpbmcgdHJhZmZpYyB0bwogICAgICogcGFnZXMgY29udGFpbmluZyB0aGVzZSBwaHJhc2VzLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2RhdGFfYXBpcy5odG1sI3YzX3JlYWx0aW1lX2J1cnN0aW5nX3BocmFzZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlYWx0aW1lQnVyc3RpbmdQaHJhc2VzKCkgewogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvcmVhbHRpbWUvYnVyc3RpbmdfcGhyYXNlcycpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBwaHJhc2VzIHRoYXQgYXJlIHJlY2VpdmluZyBhIGNvbnNpc3RlbnRseSBoaWdoIHZvbHVtZSBvZiBjbGljawogICAgICogdHJhZmZpYywgYW5kIHRoZSBpbmRpdmlkdWFsIGxpbmtzIChoYXNoZXMpIGRyaXZpbmcgdHJhZmZpYyB0byBwYWdlcwogICAgICogY29udGFpbmluZyB0aGVzZSBwaHJhc2VzLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2RhdGFfYXBpcy5odG1sI3YzX3JlYWx0aW1lX2hvdF9waHJhc2VzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZWFsdGltZUhvdFBocmFzZXMoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9yZWFsdGltZS9ob3RfcGhyYXNlcycpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY2xpY2sgcmF0ZSBmb3IgY29udGVudCBjb250YWluaW5nIGEgc3BlY2lmaWVkIHBocmFzZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwaHJhc2UKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19yZWFsdGltZV9jbGlja3JhdGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlYWx0aW1lQ2xpY2tyYXRlKCRwaHJhc2UpIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3BocmFzZScgPT4gJHBocmFzZSk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9yZWFsdGltZS9jbGlja3JhdGUnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0YWRhdGEgYWJvdXQgYSBzaW5nbGUgYml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19saW5rX2luZm8KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtJbmZvKCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9saW5rL2luZm8nLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIOKAnG1haW4gYXJ0aWNsZeKAnSBmcm9tIHRoZSBsaW5rZWQgcGFnZSwgYXMgZGV0ZXJtaW5lZCBieSB0aGUKICAgICAqIGNvbnRlbnQgZXh0cmFjdG9yLCBpbiBlaXRoZXIgSFRNTCBvciBwbGFpbiB0ZXh0IGZvcm1hdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19saW5rX2NvbnRlbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtDb250ZW50KCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9saW5rL2NvbnRlbnQnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGRldGVjdGVkIGNhdGVnb3JpZXMgZm9yIGEgZG9jdW1lbnQsIGluIGRlc2NlbmRpbmcgb3JkZXIgb2YKICAgICAqIGNvbmZpZGVuY2UuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vZGF0YV9hcGlzLmh0bWwjdjNfbGlua19jYXRlZ29yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlua0NhdGVnb3J5KCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvbGluay9jYXRlZ29yeScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snY2F0ZWdvcmllcyddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgInNvY2lhbCBzY29yZSIgZm9yIGEgc3BlY2lmaWVkIGJpdGx5IGxpbmsuCiAgICAgKgogICAgICogTm90ZSB0aGF0IHRoZSBzb2NpYWwgc2NvcmUgYXJlIGhpZ2hseSBkZXBlbmRlbnQgdXBvbiBhY3Rpdml0eSAoY2xpY2tzKQogICAgICogb2NjdXJyaW5nIG9uIHRoZSBiaXRseSBsaW5rLiBJZiB0aGVyZSBoYXZlIG5vdCBiZWVuIGNsaWNrcyBvbiBhIGJpdGx5CiAgICAgKiBsaW5rIHdpdGhpbiB0aGUgbGFzdCAyNCBob3VycywgaXQgaXMgcG9zc2libGUgYSBzb2NpYWwgc2NvcmUgZm9yIHRoYXQKICAgICAqIGxpbmsgZG9lcyBub3QgZXhpc3QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vZGF0YV9hcGlzLmh0bWwjdjNfbGlua19zb2NpYWwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtTb2NpYWwoJGxpbmspIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rKTsKICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5jYWxsKCd2My9saW5rL3NvY2lhbCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snc29jaWFsX3Njb3JlcyddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgc2lnbmlmaWNhbnQgbG9jYXRpb25zIGZvciB0aGUgYml0bHkgbGluay4KICAgICAqCiAgICAgKiBOb3RlIHRoYXQgbG9jYXRpb25zIGFyZSBoaWdobHkgZGVwZW5kZW50IHVwb24gYWN0aXZpdHkgKGNsaWNrcykKICAgICAqIG9jY3VycmluZyBvbiB0aGUgYml0bHkgbGluay4gSWYgdGhlcmUgaGF2ZSBub3QgYmVlbiBjbGlja3Mgb24gYSBiaXRseQogICAgICogbGluayB3aXRoaW4gdGhlIGxhc3QgMjQgaG91cnMsIGl0IGlzIHBvc3NpYmxlIHRoYXQgbG9jYXRpb24gZGF0YSBmb3IKICAgICAqIHRoYXQgbGluayBkb2VzIG5vdCBleGlzdC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kYXRhX2FwaXMuaHRtbCN2M19saW5rX2xvY2F0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rTG9jYXRpb24oJGxpbmspIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rKTsKICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5jYWxsKCd2My9saW5rL2xvY2F0aW9uJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRzWydsb2NhdGlvbnMnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHNpZ25pZmljYW50IGxhbmd1YWdlcyBmb3IgdGhlIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vZGF0YV9hcGlzLmh0bWwjdjNfbGlua19sYW5ndWFnZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlua0xhbmd1YWdlKCRsaW5rKSB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+Y2FsbCgndjMvbGluay9sYW5ndWFnZScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0c1snbGFuZ3VhZ2VzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2xpY2tzIG9uIGEgc2luZ2xlIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfbGlua19jbGlja3MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtDbGlja3MoJGxpbmssICR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRyb2xsdXA9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaW1pdD0xMDAsICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluaywgJ3VuaXQnID0+ICR1bml0LAogICAgICAgICAgICAgICAgICAgICAgICAndGltZXpvbmUnID0+ICR0aW1lem9uZSwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9jbGlja3MnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0cmljcyBhYm91dCB0aGUgY291bnRyaWVzIHJlZmVycmluZyBjbGljayB0cmFmZmljIHRvIGEgQml0bHkKICAgICAqIGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX2xpbmtfY291bnRyaWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rQ291bnRyaWVzKCRsaW5rLCAkdW5pdD0nZGF5JywgJHVuaXRzPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLCAkbGltaXQ9MTAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rLCAndW5pdCcgPT4gJHVuaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lem9uZScgPT4gJHRpbWV6b25lLCAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9jb3VudHJpZXMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdXNlcnMgd2hvIGhhdmUgZW5jb2RlZCB0aGlzIGxpbmsuCiAgICAgKgogICAgICogT3B0aW9uYWxseSByZXN0cmljdGVkIHRvIHRoZSByZXF1ZXN0aW5nIHVzZXIncyBzb2NpYWwgZ3JhcGguCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gYm9vbCAkbXlOZXR3b3JrIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRleHBhbmRVc2VyIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX2VuY29kZXJzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rRW5jb2RlcnMoJGxpbmssICRteU5ldHdvcms9bnVsbCwgJGxpbWl0PTEwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXhwYW5kVXNlcj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnbGluaycgPT4gJGxpbmssICdsaW1pdCcgPT4gJGxpbWl0KTsKICAgICAgICBpZiAoJG15TmV0d29yayAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydteV9uZXR3b3JrJ10gPSAkbXlOZXR3b3JrOwogICAgICAgIH0KICAgICAgICBpZiAoJGV4cGFuZFVzZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snZXhwYW5kX3VzZXInXSA9ICRleHBhbmRVc2VyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL2xpbmsvZW5jb2RlcnMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIG51bWJlciBvZiB1c2VycyB3aG8gaGF2ZSBzaG9ydGVuZWQgYSBzaW5nbGUgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluay4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX2VuY29kZXJzX2NvdW50CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rRW5jb2RlcnNDb3VudCgkbGluaykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rKTsKICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL2xpbmsvZW5jb2RlcnNfY291bnQnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0cmljcyBhYm91dCB0aGUgcGFnZXMgcmVmZXJyaW5nIGNsaWNrIHRyYWZmaWMgdG8gYSBCaXRseSBsaW5rLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQSBCaXRseSBsaW5rLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX3JlZmVycmVycwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlua1JlZmVycmVycygkbGluaywgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRpbWV6b25lPSdBbWVyaWNhL05ld19Zb3JrJywgJGxpbWl0PTEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluaywgJ3VuaXQnID0+ICR1bml0LCAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL2xpbmsvcmVmZXJyZXJzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIG1ldHJpY3MgYWJvdXQgdGhlIHBhZ2VzIHJlZmVycmluZyBjbGljayB0cmFmZmljIHRvIGEgQml0bHkgbGluaywKICAgICAqIGdyb3VwZWQgYnkgZG9tYWluLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQSBCaXRseSBsaW5rLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX3JlZmVycmVyc19ieV9kb21haW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtSZWZlcnJlcnNCeURvbWFpbigkbGluaywgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGltaXQ9MTAwLCAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnbGluaycgPT4gJGxpbmssICd1bml0JyA9PiAkdW5pdCwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAndW5pdF9yZWZlcmVuY2VfdHMnID0+ICR1bml0UmVmZXJlbmNlVHMpOwogICAgICAgIGlmICgkdW5pdHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sndW5pdHMnXSA9ICR1bml0czsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My9saW5rL3JlZmVyZXJyc19ieV9kb21haW4nLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgbWV0cmljcyBhYm91dCB0aGUgZG9tYWlucyByZWZlcnJpbmcgY2xpY2sgdHJhZmZpYyB0byBhIEJpdGx5CiAgICAgKiBsaW5rLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQSBCaXRseSBsaW5rLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M19saW5rX3JlZmVycmluZ19kb21haW5zCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBsaW5rUmVmZXJyaW5nRG9tYWlucygkbGluaywgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2xpbmsnID0+ICRsaW5rLCAndW5pdCcgPT4gJHVuaXQsICdsaW1pdCcgPT4gJGxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAndGltZXpvbmUnID0+ICR0aW1lem9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9yZWZlcmVycmluZ19kb21haW5zJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIG1ldHJpY3MgYWJvdXQgc2hhcmVzIG9mIGEgc2luZ2xlIEJpdGx5IGxpbmsuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBBIEJpdGx5IGxpbmsuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfbGlua19zaGFyZXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxpbmtTaGFyZXMoJGxpbmssICR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRyb2xsdXA9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaW1pdD0xMDAsICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdsaW5rJyA9PiAkbGluaywgJ3VuaXQnID0+ICR1bml0LCAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvbGluay9zaGFyZXMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBvciB1cGRhdGUgaW5mb3JtYXRpb24gYWJvdXQgYSB1c2VyLgogICAgICoKICAgICAqIElmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cywgd2lsbCByZXR1cm4gaW5mb3JtYXRpb24gYWJvdXQgdGhlCiAgICAgKiBhdXRoZW50aWNhdGVkIHVzZXIuCiAgICAgKgogICAgICogVGhlICRmdWxsTmFtZSBhcmd1bWVudCBpcyBvbmx5IHZhbGlkIGZvciB0aGUgYXV0aGVudGljYXRlZCB1c2VyIGFuZCB3aWxsCiAgICAgKiBzZXQgdGhlIHVzZXIncyBmdWxsIG5hbWUgcHJvcGVydHkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkbG9naW4gKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkZnVsbE5hbWUgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL3VzZXJfaW5mby5odG1sI3YzX3VzZXJfaW5mbwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckluZm8oJGxvZ2luPW51bGwsICRmdWxsTmFtZT1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIGlmICgkbG9naW4gIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snbG9naW4nXSA9ICRsb2dpbjsKICAgICAgICB9CiAgICAgICAgaWYgKCRmdWxsTmFtZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydmdWxsX25hbWUnXSA9ICRmdWxsTmFtZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL2luZm8nLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgZW50cmllcyBmcm9tIGEgdXNlcidzIGxpbmsgaGlzdG9yeSBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwKICAgICAqIG9yZGVyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkb2Zmc2V0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGNyZWF0ZWRCZWZvcmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkY3JlYXRlZEFmdGVyIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJG1vZGlmaWVkQWZ0ZXIgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJGV4cGFuZENsaWVudElkIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFyY2hpdmVkIChPcHRpb25hbCkgIm9uIiwgIm9mZiIgb3IgImJvdGgiLgogICAgICogQHBhcmFtIHN0cmluZyAkcHJpdmF0ZSAoT3B0aW9uYWwpICJvbiIsICJvZmYiIG9yICJib3RoIi4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHVzZXIgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL3VzZXJfaW5mby5odG1sI3YzX3VzZXJfbGlua19oaXN0b3J5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyTGlua0hpc3RvcnkoJGxpbms9bnVsbCwgJGxpbWl0PTUwLCAkb2Zmc2V0PW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjcmVhdGVkQmVmb3JlPW51bGwsICRjcmVhdGVkQWZ0ZXI9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1vZGlmaWVkQWZ0ZXI9bnVsbCwgJGV4cGFuZENsaWVudElkPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhcmNoaXZlZD1udWxsLCAkcHJpdmF0ZT1udWxsLCAkdXNlcj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIGlmICgkbGluayAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydsaW5rJ10gPSAkbGluazsKICAgICAgICB9CiAgICAgICAgaWYgKCRsaW1pdCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydsaW1pdCddID09ICRsaW1pdDsKICAgICAgICB9CiAgICAgICAgaWYgKCRvZmZzZXQgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snb2Zmc2V0J10gPSAkb2Zmc2V0OwogICAgICAgIH0KICAgICAgICBpZiAoJGNyZWF0ZWRCZWZvcmUgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snY3JlYXRlZF9iZWZvcmUnXSA9ICRjcmVhdGVkQmVmb3JlOwogICAgICAgIH0KICAgICAgICBpZiAoJGNyZWF0ZWRBZnRlciAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydjcmVhdGVkX2FmdGVyJ10gPSAkY3JlYXRlZEFmdGVyOwogICAgICAgIH0KICAgICAgICBpZiAoJG1vZGlmaWVkQWZ0ZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snbW9kaWZpZWRfYWZ0ZXInXSA9ICRtb2RpZmllZEFmdGVyOwogICAgICAgIH0KICAgICAgICBpZiAoJGFyY2hpdmVkICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2FyY2hpdmVkJ10gPSAkYXJjaGl2ZWQ7CiAgICAgICAgfQogICAgICAgIGlmICgkcHJpdmF0ZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydwcml2YXRlJ10gPSAkcHJpdmF0ZTsKICAgICAgICB9CiAgICAgICAgaWYgKCR1c2VyICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VzZXInXSA9ICR1c2VyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvbGlua19oaXN0b3J5JywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGVudHJpZXMgZnJvbSBhIHVzZXIncyBuZXR3b3JrIGhpc3RvcnkgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsCiAgICAgKiBvcmRlci4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRvZmZzZXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJGV4cGFuZENsaWVudElkIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRleHBhbmRVc2VyIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS91c2VyX2luZm8uaHRtbCN2M191c2VyX25ldHdvcmtfaGlzdG9yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlck5ldHdvcmtIaXN0b3J5KCRvZmZzZXQ9bnVsbCwgJGV4cGFuZENsaWVudElkPWZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGltaXQ9MjAsICRleHBhbmRVc2VyPW51bGwpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdleHBhbmRfY2xpZW50X2lkJyA9PiAkZXhwYW5kQ2xpZW50SWQsCiAgICAgICAgICAgICAgICAgICAgICAgICdsaW1pdCcgPT4gJGxpbWl0KTsKICAgICAgICBpZiAoJG9mZnNldCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydvZmZzZXQnXSA9ICRvZmZzZXQ7CiAgICAgICAgfQogICAgICAgIGlmICgkZXhwYW5kVXNlciAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydleHBhbmRfdXNlciddID0gJGV4cGFuZFVzZXI7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9uZXR3b3JrX2hpc3RvcnknLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBsaXN0IG9mIHRyYWNraW5nIGRvbWFpbnMgYSB1c2VyIGhhcyBjb25maWd1cmVkLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL3VzZXJfaW5mby5odG1sI3YzX3VzZXJfdHJhY2tpbmdfZG9tYWluX2xpc3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJUcmFja2luZ0RvbWFpbkxpc3QoKQogICAgewogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvdXNlci90cmFja2luZ19kb21haW5fbGlzdCcpOwogICAgICAgIHJldHVybiAkcmVzdWx0Wyd0cmFja2luZ19kb21haW5zJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBhZ2dyZWdhdGUgbnVtYmVyIG9mIGNsaWNrcyBvbiBhbGwgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlcidzCiAgICAgKiBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfdXNlcl9jbGlja3MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJDbGlja3MoJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRpbWV6b25lPSdBbWVyaWNhL05ld19Zb3JrJywgJHJvbGx1cD1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3VuaXQnID0+ICR1bml0LCAndGltZXpvbmUnID0+ICR0aW1lem9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9jbGlja3MnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYWdncmVnYXRlIG1ldHJpY3MgYWJvdXQgdGhlIGNvdW50cmllcyByZWZlcnJpbmcgY2xpY2tzIHRvIGFsbAogICAgICogdGhlIGF1dGhlbnRpY2F0ZWQgdXNlcidzIEJpdGx5IGxpbmtzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkdW5pdHMgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZ3xpbnQgJHRpbWV6b25lIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRyb2xsdXAgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M191c2VyX2NvdW50cmllcwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckNvdW50cmllcygkdW5pdD0nZGF5JywgJHVuaXRzPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLCAkcm9sbHVwPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGltaXQ9MTAwLCAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL2NvdW50cmllcycsICRwYXJhbXMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgYXV0aGVudGljYXRlZCB1c2VyJ3MgbW9zdC1jbGlja2VkIEJpdGx5IGxpbmtzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkdW5pdHMgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZ3xpbnQgJHRpbWV6b25lIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfdXNlcl9wb3B1bGFyX2xpbmtzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyUG9wdWxhckxpbmtzKCR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRsaW1pdD0xMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9wb3B1bGFyX2xpbmtzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFnZ3JlZ2F0ZSBtZXRyaWNzIGFib3V0IHRoZSBwYWdlcyByZWZlcnJpbmcgY2xpY2sgdHJhZmZpYyB0byBhbGwKICAgICAqIG9mIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIncyBCaXRseSBsaW5rcy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJHVuaXRzIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmd8aW50ICR0aW1lem9uZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcm9sbHVwIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBpbnQgJGxpbWl0IChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXRSZWZlcmVuY2VUcyAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vbGlua19tZXRyaWNzLmh0bWwjdjNfdXNlcl9yZWZlcnJlcnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJSZWZlcnJlcnMoJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRpbWV6b25lPSdBbWVyaWNhL05ld19Zb3JrJywgJHJvbGx1cD1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ3VuaXQnID0+ICR1bml0LCAndGltZXpvbmUnID0+ICR0aW1lem9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+Y2FsbCgndjMvdXNlci9yZWZlcnJlcnMnLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYWdncmVnYXRlIG1ldHJpY3MgYWJvdXQgdGhlIGRvbWFpbnMgcmVmZXJyaW5nIGNsaWNrIHRyYWZmaWMgdG8KICAgICAqIGFsbCBvZiB0aGUgYXV0aGVudGljYXRlZCB1c2VyJ3MgQml0bHkgbGlua3MuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX3VzZXJfcmVmZXJyaW5nX2RvbWFpbnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJSZWZlcnJpbmdEb21haW5zKCR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyb2xsdXA9bnVsbCwgJGxpbWl0PTEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL3JlZmVycmluZ19kb21haW5zJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc2hhcmVzIGJ5IHRoZSBhdXRoZW50aWNhdGVkIHVzZXIgaW4gYSBnaXZlbiB0aW1lCiAgICAgKiBwZXJpb2QuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX3VzZXJfc2hhcmVfY291bnRzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyU2hhcmVDb3VudHMoJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLCAkcm9sbHVwPW51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaW1pdD0xMDAsICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCd1bml0JyA9PiAkdW5pdCwgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICdsaW1pdCcgPT4gJGxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAndW5pdF9yZWZlcmVuY2VfdHMnID0+ICR1bml0UmVmZXJlbmNlVHMpOwogICAgICAgIGlmICgkdW5pdHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sndW5pdHMnXSA9ICR1bml0czsKICAgICAgICB9CiAgICAgICAgaWYgKCRyb2xsdXAgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncm9sbHVwJ10gPSAkcm9sbHVwOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvc2hhcmVfY291bnRzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc2hhcmVzIGJ5IHRoZSBhdXRoZW50aWNhdGVkIHVzZXIsIGJyb2tlbiBkb3duIGJ5CiAgICAgKiBzaGFyZSB0eXBlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkdW5pdHMgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZ3xpbnQgJHRpbWV6b25lIChPcHRpb25hbCkKICAgICAqIEBwYXJhbSBib29sICRyb2xsdXAgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGludCAkbGltaXQgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdFJlZmVyZW5jZVRzIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9saW5rX21ldHJpY3MuaHRtbCN2M191c2VyX3NoYXJlX2NvdW50c19ieV9zaGFyZV90eXBlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyU2hhcmVDb3VudHNCeVNoYXJlVHlwZSgKICAgICAgICAkdW5pdD0nZGF5JywgJHVuaXRzPW51bGwsICR0aW1lem9uZT0nQW1lcmljYS9OZXdfWW9yaycsICRyb2xsdXA9bnVsbCwKICAgICAgICAkbGltaXQ9MTAwLCAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL3NoYXJlX2NvdW50c19ieV9zaGFyZV90eXBlJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgbGlua3Mgc2hvcnRlbmVkIGluIGEgZ2l2ZW4gdGltZSBwZXJpb2QgYnkgdGhlCiAgICAgKiBhdXRoZW50aWNhdGVkIHVzZXIuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2xpbmtfbWV0cmljcy5odG1sI3YzX3VzZXJfc2hvcnRlbl9jb3VudHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJTaG9ydGVuQ291bnRzKCR1bml0PSdkYXknLCAkdW5pdHM9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyb2xsdXA9bnVsbCwgJGxpbWl0PTEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdW5pdFJlZmVyZW5jZVRzPSdub3cnKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndW5pdCcgPT4gJHVuaXQsICd0aW1lem9uZScgPT4gJHRpbWV6b25lLAogICAgICAgICAgICAgICAgICAgICAgICAnbGltaXQnID0+ICRsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3VuaXRfcmVmZXJlbmNlX3RzJyA9PiAkdW5pdFJlZmVyZW5jZVRzKTsKICAgICAgICBpZiAoJHVuaXRzICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3VuaXRzJ10gPSAkdW5pdHM7CiAgICAgICAgfQogICAgICAgIGlmICgkcm9sbHVwICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3JvbGx1cCddID0gJHJvbGx1cDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5jYWxsKCd2My91c2VyL3Nob3J0ZW5fY291bnRzJywgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBcmNoaXZlIGEgYnVuZGxlIGZvciB0aGUgYXV0aGVudGljYXRlIHVzZXIuCiAgICAgKgogICAgICogT25seSB0aGUgYnVuZGxlJ3Mgb3duZXIgaXMgYWxsb3dlZCB0byBhcmNoaXZlIGl0LgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVGhlIFVSTCBvZiB0aGUgYnVuZGxlIHRvIGFyY2hpdmUuCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2FyY2hpdmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1bmRsZUFyY2hpdmUoJGJ1bmRsZUxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2FyY2hpdmUnLCAkcGFyYW1zLCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgcmV0dXJuICgkcmVzdWx0ID09PSAnT0snKSA/IHRydWUgOiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBsaXN0IG9mIHB1YmxpYyBidW5kbGVzIGNyZWF0ZWQgYnkgYSB1c2VyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVzZXIgVGhlIHVzZXIgdG8gZ2V0IGJ1bmRsZXMgZm9yLgogICAgICogQHBhcmFtIGJvb2wgJGV4cGFuZFVzZXIgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfYnVuZGxlc19ieV91c2VyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVCdW5kbGVzQnlVc2VyKCR1c2VyLCAkZXhwYW5kVXNlcj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgndXNlcicgPT4gJHVzZXIpOwogICAgICAgIGlmICgkZXhwYW5kVXNlciAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydleHBhbmRfdXNlciddID0gJGV4cGFuZFVzZXI7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2J1bmRsZXNfYnlfdXNlcicsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGVzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBDbG9uZSBhIGJ1bmRsZSBmb3IgdGhlIGF1dGhlbnRpY2F0ZSB1c2VyLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUgdG8gY2xvbmUuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9jbG9uZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlQ2xvbmUoJGJ1bmRsZUxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2Nsb25lJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgY29sbGFib3JhdG9yIHRvIGEgYnVuZGxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xsYWJvcmF0b3IgQml0bHkgbG9naW4gb3IgZW1haWwgYWRkcmVzcyB0byBhZGQuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9jb2xsYWJvcmF0b3JfYWRkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVDb2xsYWJvcmF0b3JBZGQoJGJ1bmRsZUxpbmssICRjb2xsYWJvcmF0b3IpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdjb2xsYWJvcmF0b3InID0+ICRjb2xsYWJvcmF0b3IpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2NvbGxhYm9yYXRvcl9hZGQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSBjb2xsYWJvcmF0b3IgZnJvbSBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkY29sbGFib3JhdG9yIEJpdGx5IGxvZ2luIG9mIHRoZSBjb2xsYWJvcmF0b3IgdG8gcmVtb3ZlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfY29sbGFib3JhdG9yX3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlQ29sbGFib3JhdG9yUmVtb3ZlKCRidW5kbGVMaW5rLCAkY29sbGFib3JhdG9yKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAnY29sbGFib3JhdG9yJyA9PiAkY29sbGFib3JhdG9yKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9jb2xsYWJvcmF0b3JfcmVtb3ZlJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIGJ1bmRsZSBhbmQgaXRzIGNvbnRlbnRzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gYm9vbCAkZXhwYW5kVXNlciAoT3B0aW9uYWwpCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9jb250ZW50cwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlQ29udGVudHMoJGJ1bmRsZUxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2NvbnRlbnRzJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgYnVuZGxlIGZvciB0aGUgYXV0aGVudGljYXRlIHVzZXIuCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJHByaXZhdGUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkdGl0bGUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIHN0cmluZyAkZGVzY3JpcHRpb24gKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfY3JlYXRlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVDcmVhdGUoJHByaXZhdGU9bnVsbCwgJHRpdGxlPW51bGwsICRkZXNjcmlwdGlvbj1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIGlmICgkcHJpdmF0ZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydwcml2YXRlJ10gPSAkcHJpdmF0ZTsKICAgICAgICB9CiAgICAgICAgaWYgKCR0aXRsZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd0aXRsZSddID0gJHRpdGxlOwogICAgICAgIH0KICAgICAgICBpZiAoJGRlc2NyaXB0aW9uICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10gPSAkZGVzY3JpcHRpb247CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2NyZWF0ZScsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEVkaXQgYSBidW5kbGUgZm9yIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIuCiAgICAgKgogICAgICogRm9yIG9wdGlvbmFsIHN0cmluZyB2YWx1ZXMsICJudWxsIiBtZWFucyAiZG9uJ3QgY2hhbmdlLCIgd2hpbGUgdGhlIGVtcHR5CiAgICAgKiBzdHJpbmcgd2lsbCBjbGVhciB0aGUgdmFsdWUuIEZvciBhbGwgb3RoZXIgb3B0aW9uYWwgdmFsdWVzLCAibnVsbCIgbWVhbnMKICAgICAqICJubyBjaGFuZ2UiLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICR0aXRsZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkZXNjcmlwdGlvbiAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcHJpdmF0ZSAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gYm9vbCAkcHJldmlldyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICRvZ0ltYWdlIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2VkaXQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1bmRsZUVkaXQoJGJ1bmRsZUxpbmssICR0aXRsZT1udWxsLCAkZGVzY3JpcHRpb249bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcml2YXRlPW51bGwsICRwcmV2aWV3PW51bGwsICRvZ0ltYWdlPW51bGwpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmspOwogICAgICAgICRrZXlzID0gYXJyYXkoKTsKICAgICAgICBpZiAoJHRpdGxlICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3RpdGxlJ10gPSAkdGl0bGU7CiAgICAgICAgICAgICRrZXlzW10gPSAndGl0bGUnOwogICAgICAgIH0KICAgICAgICBpZiAoJGRlc2NyaXB0aW9uICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10gPSAkZGVzY3JpcHRpb247CiAgICAgICAgICAgICRrZXlzW10gPSAnZGVzY3JpcHRpb24nOwogICAgICAgIH0KICAgICAgICBpZiAoJHByaXZhdGUgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncHJpdmF0ZSddID0gJHByaXZhdGU7CiAgICAgICAgICAgICRrZXlzW10gPSAncHJpdmF0ZSc7CiAgICAgICAgfQogICAgICAgIGlmICgkcHJldmlldyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydwcmV2aWV3J10gPSAkcHJldmlldzsKICAgICAgICAgICAgJGtleXNbXSA9ICdwcmV2aWV3JzsKICAgICAgICB9CiAgICAgICAgaWYgKCRvZ0ltYWdlICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ29nX2ltYWdlJ10gPSAkb2dJbWFnZTsKICAgICAgICAgICAgJGtleXNbXSA9ICdvZ19pbWFnZSc7CiAgICAgICAgfQogICAgICAgICRwYXJhbXNbJ2VkaXQnXSA9IGltcGxvZGUoJywnLCAka2V5cyk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9idW5kbGUvZWRpdCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIGxpbmsgdG8gYSBidW5kbGUuCiAgICAgKgogICAgICogTGlua3MgYXJlIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIHRvcCAocG9zaXRpb24gMCkgb2YgdGhlIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEEgQml0bHkgbGluayBvciBsb25nIFVSTC4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHRpdGxlIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2xpbmtfYWRkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBidW5kbGVMaW5rQWRkKCRidW5kbGVMaW5rLCAkbGluaywgJHRpdGxlPW51bGwpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssICdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgaWYgKCR0aXRsZSAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd0aXRsZSddID0gJHRpdGxlOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9saW5rX2FkZCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIGNvbW1lbnQgdG8gYSBidW5kbGUgaXRlbS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBCaXRseSBsaW5rIGluIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb21tZW50IFRoZSBjb21tZW50LCBtdXN0IGJlIDw9IDUxMiBjaGFyYWN0ZXJzLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfbGlua19jb21tZW50X2FkZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0NvbW1lbnRBZGQoJGJ1bmRsZUxpbmssICRsaW5rLCAkY29tbWVudCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2J1bmRsZV9saW5rJyA9PiAkYnVuZGxlTGluaywgJ2xpbmsnID0+ICRsaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAnY29tbWVudCcgPT4gJGNvbW1lbnQpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2xpbmtfY29tbWVudF9hZGQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBFZGl0IGEgY29tbWVudCBvbiBhIGJ1bmRsZSBpdGVtLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEJpdGx5IGxpbmsgaW4gdGhlIGJ1bmRsZS4KICAgICAqIEBwYXJhbSBpbnQgJGNvbW1lbnRJZCBJRCBvZiB0aGUgY29tbWVudCB0byBlZGl0LgogICAgICogQHBhcmFtIHN0cmluZyAkY29tbWVudCBUaGUgZWRpdGVkIGNvbW1lbnQsIG11c3QgYmUgPD0gNTEyIGNoYXJhY3RlcnMuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9saW5rX2NvbW1lbnRfZWRpdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0NvbW1lbnRFZGl0KCRidW5kbGVMaW5rLCAkbGluaywgJGNvbW1lbnRJZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1lbnQpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssICdsaW5rJyA9PiAkbGluaywKICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbW1lbnRfaWQnID0+ICRjb21tZW50SWQsICdjb21tZW50JyA9PiAkY29tbWVudCk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9idW5kbGUvbGlua19jb21tZW50X2VkaXQnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW1vdmUgYSBjb21tZW50IGZyb20gYSBidW5kbGUgaXRlbS4KICAgICAqCiAgICAgKiBPbmx5IHRoZSBvcmlnaW5hbCBjb21tZW50ZXIgYW5kIHRoZSBidW5kbGUgb3duZXIgY2FuIHJlbW92ZSBjb21tZW50cy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBCaXRseSBsaW5rIGluIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gaW50ICRjb21tZW50SWQgSUQgb2YgdGhlIGNvbW1lbnQgdG8gcmVtb3ZlLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqCiAgICAgKiBAc2VlIGh0dHA6Ly9kZXYuYml0bHkuY29tL2J1bmRsZXMuaHRtbCN2M19idW5kbGVfbGlua19jb21tZW50X3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0NvbW1lbnRSZW1vdmUoJGJ1bmRsZUxpbmssICRsaW5rLCAkY29tbWVudElkKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLCAnbGluaycgPT4gJGxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdjb21tZW50X2lkJyA9PiAkY29tbWVudElkKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9saW5rX2NvbW1lbnRfcmVtb3ZlJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ2J1bmRsZSddOwogICAgfQoKICAgIC8qKgogICAgICogRWRpdCBhIGJ1bmRsZSBpdGVtLgogICAgICoKICAgICAqIEZvciB0aGUgb3B0aW9uYWwgcGFyYW1ldGVycywgYSB2YWx1ZSBvZiAibnVsbCIgbWVhbnMgIm5vIGNoYW5nZS4iCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkYnVuZGxlTGluayBVUkwgb2YgdGhlIGJ1bmRsZS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJGxpbmsgQml0bHkgbGluayBpbiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkdGl0bGUgKE9wdGlvbmFsKSBUaGUgbmV3IHRpdGxlLgogICAgICogQHBhcmFtIGJvb2wgJHByZXZpZXcgKE9wdGlvbmFsKSBEaXNwbGF5IHByZXZpZXcgY29udGVudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2xpbmtfZWRpdAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua0VkaXQoJGJ1bmRsZUxpbmssICRsaW5rLCAkdGl0bGU9bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJldmlldz1udWxsKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLCAnbGluaycgPT4gJGxpbmspOwogICAgICAgICRrZXlzID0gYXJyYXkoKTsKICAgICAgICBpZiAoJHRpdGxlICE9PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXNbJ3RpdGxlJ10gPSAkdGl0bGU7CiAgICAgICAgICAgICRrZXlzW10gPSAndGl0bGUnOwogICAgICAgIH0KICAgICAgICBpZiAoJHByZXZpZXcgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncHJldmlldyddID0gJHByZXZpZXc7CiAgICAgICAgICAgICRrZXlzW10gPSAncHJldmlldyc7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL2xpbmtfZWRpdCcsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlbW92ZSBhIGxpbmsgZnJvbSBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICogQHBhcmFtIHN0cmluZyAkbGluayBCaXRseSBsaW5rIGluIHRoZSBidW5kbGUuCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICoKICAgICAqIEBzZWUgaHR0cDovL2Rldi5iaXRseS5jb20vYnVuZGxlcy5odG1sI3YzX2J1bmRsZV9saW5rX3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua1JlbW92ZSgkYnVuZGxlTGluaywgJGxpbmspCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssICdsaW5rJyA9PiAkbGluayk7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9idW5kbGUvbGlua19yZW1vdmUnLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZW9yZGVyIGEgbGluayBpbiBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBGb3IgJGRpc3BsYXlPcmRlciwgYSB2YWx1ZSBvZiAtMSBtb3ZlcyB0aGUgbGluayB0byB0aGUgZW5kIG9mIHRoZQogICAgICogYnVuZGxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRsaW5rIEJpdGx5IGxpbmsgaW4gdGhlIGJ1bmRsZS4KICAgICAqIEBwYXJhbSBpbnQgJGRpc3BsYXlPcmRlciBOZXcgcG9zaXRpb24gaW4gdGhlIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX2xpbmtfcmVvcmRlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlTGlua1Jlb3JkZXIoJGJ1bmRsZUxpbmssICRsaW5rLCAkZGlzcGxheU9yZGVyKQogICAgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rLCAnbGluaycgPT4gJGxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdkaXNwbGF5X29yZGVyJyA9PiAkZGlzcGxheU9yZGVyKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS9saW5rX3Jlb3JkZXInLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlJ107CiAgICB9CgogICAgLy8gVE9ETzogSG93PwogICAgLy9wdWJsaWMgZnVuY3Rpb24gYnVuZGxlUmVvcmRlcigkYnVuZGxlTGluaywgQXJyYXkgJGxpbmtzKSB7fQoKICAgIC8qKgogICAgICogUmVtb3ZlIGEgcGVuZGluZy9pbnZpdGVkIGNvbGxhYm9yYXRvciBmcm9tIGEgYnVuZGxlLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJ1bmRsZUxpbmsgVVJMIG9mIHRoZSBidW5kbGUuCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xsYWJvcmF0b3IgQml0bHkgbG9naW4gb3IgZW1haWwgYWRkcmVzcy4KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX3BlbmRpbmdfY29sbGFib3JhdG9yX3JlbW92ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYnVuZGxlUGVuZGluZ0NvbGxhYm9yYXRvclJlbW92ZSgkYnVuZGxlTGluaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xsYWJvcmF0b3IpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdidW5kbGVfbGluaycgPT4gJGJ1bmRsZUxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICdjb2xsYWJvcmF0b3InID0+ICRjb2xsYWJvcmF0b3IpOwogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvYnVuZGxlL3BlbmRpbmdfY29sbGFib3JhdG9yX3JlbW92ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0WydidW5kbGUnXTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbnVtYmVyIG9mIHZpZXdzIGZvciBhIGJ1bmRsZS4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRidW5kbGVMaW5rIFVSTCBvZiB0aGUgYnVuZGxlLgogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfYnVuZGxlX3ZpZXdfY291bnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJ1bmRsZVZpZXdDb3VudCgkYnVuZGxlTGluaykgewogICAgICAgICRwYXJhbXMgPSBhcnJheSgnYnVuZGxlX2xpbmsnID0+ICRidW5kbGVMaW5rKTsKICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL2J1bmRsZS92aWV3X2NvdW50JywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRbJ3ZpZXdfY291bnQnXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYWxsIHRoZSBidW5kbGVzIHRoaXMgdXNlciBoYXMgYWNjZXNzIHRvLgogICAgICoKICAgICAqIEBwYXJhbSBib29sICRleHBhbmRVc2VyIChPcHRpb25hbCkKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9idW5kbGVzLmh0bWwjdjNfdXNlcl9idW5kbGVfaGlzdG9yeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlckJ1bmRsZUhpc3RvcnkoJGV4cGFuZFVzZXI9bnVsbCkKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoKTsKICAgICAgICBpZiAoJGV4cGFuZFVzZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1snZXhwYW5kX3VzZXInXSA9ICRleHBhbmRVc2VyOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvYnVuZGxlX2hpc3RvcnknLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsnYnVuZGxlcyddOwogICAgfQoKICAgIC8qKgogICAgICogUXVlcnkgd2hldGhlciBhIGdpdmVuIGRvbWFpbiBpcyBhIHZhbGlkIEJpdGx5IHBybyBkb21haW4uCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZG9tYWluIEEgc2hvcnQgZG9tYWluIChlLmcuICJueXRpLm1zIikuCiAgICAgKgogICAgICogQHJldHVybiBib29sCiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kb21haW5zLmh0bWwjdjNfYml0bHlfcHJvX2RvbWFpbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYml0bHlQcm9Eb21haW4oJGRvbWFpbikKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2RvbWFpbicgPT4gJGRvbWFpbik7CiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5jYWxsKCd2My9iaXRseV9wcm9fZG9tYWluJywgJHBhcmFtcyk7CiAgICAgICAgcmV0dXJuICgkcmVzdWx0WydiaXRseV9wcm9fZG9tYWluJ10gPT0gMSkgPyB0cnVlIDogZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2xpY2tzIG9uIEJpdGx5IGxpbmtzIHBvaW50aW5nIHRvIHRoZQogICAgICogc3BlY2lmaWVkIHRyYWNraW5nIGRvbWFpbnMuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZG9tYWluIEEgdHJhY2tpbmcgZG9tYWluLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kb21haW5zLmh0bWwjdjNfdXNlcl90cmFja2luZ19kb21haW5fY2xpY2tzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1c2VyVHJhY2tpbmdEb21haW5DbGlja3MoJGRvbWFpbiwgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcm9sbHVwPW51bGwsICRsaW1pdD0xMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR1bml0UmVmZXJlbmNlVHM9J25vdycpCiAgICB7CiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCdkb21haW4nID0+ICRkb21haW4sICd1bml0JyA9PiAkdW5pdCwKICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWV6b25lJyA9PiAkdGltZXpvbmUsICdsaW1pdCcgPT4gJGxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAndW5pdF9yZWZlcmVuY2VfdHMnID0+ICR1bml0UmVmZXJlbmNlVHMpOwogICAgICAgIGlmICgkdW5pdHMgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sndW5pdHMnXSA9ICR1bml0czsKICAgICAgICB9CiAgICAgICAgaWYgKCRyb2xsdXAgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhcmFtc1sncm9sbHVwJ10gPSAkcm9sbHVwOwogICAgICAgIH0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmNhbGwoJ3YzL3VzZXIvdHJhY2tpbmdfZG9tYWluX2NsaWNrcycsICRwYXJhbXMpOwogICAgICAgIHJldHVybiAkcmVzdWx0Wyd0cmFja2luZ19kb21haW5fY2xpY2tzJ107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgbGlua3MgcG9pbnRpbmcgdG8gYSBzcGVjaWZpZWQgdHJhY2tpbmcKICAgICAqIGRvbWFpbiBzaG9ydGVuZWQgaW4gYSBnaXZlbiB0aW1lIHBlcmlvZCBieSBhbGwgQml0bHkgdXNlcnMuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZG9tYWluIEEgdHJhY2tpbmcgZG9tYWluLgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICR1bml0cyAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nfGludCAkdGltZXpvbmUgKE9wdGlvbmFsKQogICAgICogQHBhcmFtIGJvb2wgJHJvbGx1cCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gaW50ICRsaW1pdCAoT3B0aW9uYWwpCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0UmVmZXJlbmNlVHMgKE9wdGlvbmFsKQogICAgICoKICAgICAqIEByZXR1cm4gaW50CiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZGV2LmJpdGx5LmNvbS9kb21haW5zLmh0bWwjdjNfdXNlcl90cmFja2luZ19kb21haW5fc2hvcnRlbl9jb3VudHMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJUcmFja2luZ0RvbWFpblNob3J0ZW5Db3VudHMoCiAgICAgICAgJGRvbWFpbiwgJHVuaXQ9J2RheScsICR1bml0cz1udWxsLCAkdGltZXpvbmU9J0FtZXJpY2EvTmV3X1lvcmsnLAogICAgICAgICRyb2xsdXA9bnVsbCwgJGxpbWl0PTEwMCwgJHVuaXRSZWZlcmVuY2VUcz0nbm93JykKICAgIHsKICAgICAgICAkcGFyYW1zID0gYXJyYXkoJ2RvbWFpbicgPT4gJGRvbWFpbiwgJ3VuaXQnID0+ICR1bml0LAogICAgICAgICAgICAgICAgICAgICAgICAndGltZXpvbmUnID0+ICR0aW1lem9uZSwgJ2xpbWl0JyA9PiAkbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICd1bml0X3JlZmVyZW5jZV90cycgPT4gJHVuaXRSZWZlcmVuY2VUcyk7CiAgICAgICAgaWYgKCR1bml0cyAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWyd1bml0cyddID0gJHVuaXRzOwogICAgICAgIH0KICAgICAgICBpZiAoJHJvbGx1cCAhPT0gbnVsbCkgewogICAgICAgICAgICAkcGFyYW1zWydyb2xsdXAnXSA9ICRyb2xsdXA7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+Y2FsbCgndjMvdXNlci90cmFja2luZ19kb21haW5fc2hvcnRlbl9jb3VudHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHJlc3VsdFsndHJhY2tpbmdfZG9tYWluX3Nob3J0ZW5fY291bnRzJ107CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRpc2FibGVJUHY2KCkKICAgIHsKICAgICAgICAkdGhpcy0+aXNJUHY2RGlzYWJsZWQgPSB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogRXhlY3V0ZSBhIHF1ZXJ5IGFnYWluc3QgdGhlIEJpdGx5IEFQSSBhbmQgcmV0dXJuIGRlY29kZWQgcmVzdWx0cy4KICAgICAqCiAgICAgKiBAaW50ZXJuYWwKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRlbmRwb2ludCBBUEkgZW5kcG9pbnQgdG8gcXVlcnkuCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcyAoT3B0aW9uYWwpIFF1ZXJ5IHBhcmFtZXRlcnMuCiAgICAgKiBAcGFyYW0gYm9vbCAkcG9zdCBEbyBhbiBIVFRQIFBPU1QgaW5zdGVhZCBvZiBHRVQuCiAgICAgKiBAcGFyYW0gYm9vbCAkanNvbiBBdHRlbXB0IHRvIGRlY29kZSByZXNwb25zZSBhcyBKU09OLgogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNhbGwoJGVuZHBvaW50LCBBcnJheSAkcGFyYW1zPW51bGwsICRwb3N0PWZhbHNlLCAkanNvbj10cnVlKQogICAgewogICAgICAgIGlmICgkcGFyYW1zID09PSBudWxsKSB7CiAgICAgICAgICAgICRwYXJhbXMgPSBhcnJheSgpOwogICAgICAgIH0KICAgICAgICAkdXJsID0gJHRoaXMtPmFwaVVybCAuICRlbmRwb2ludDsKICAgICAgICAkcGFyYW1zWydmb3JtYXQnXSA9ICdqc29uJzsKICAgICAgICBpZiAoJHRoaXMtPmFjY2Vzc1Rva2VuICE9PSBudWxsICYmCiAgICAgICAgICAgICFhcnJheV9rZXlfZXhpc3RzKCdhY2Nlc3NfdG9rZW4nLCAkcGFyYW1zKSkKICAgICAgICB7CiAgICAgICAgICAgICRwYXJhbXNbJ2FjY2Vzc190b2tlbiddID0gJHRoaXMtPmFjY2Vzc1Rva2VuOwogICAgICAgIH0KCiAgICAgICAgLy8gQ29udmVydCBib29sZWFucyB0byAndHJ1ZScvJ2ZhbHNlJy4KICAgICAgICBmb3JlYWNoKCRwYXJhbXMgYXMgJGsgPT4gJiR2KSB7CiAgICAgICAgICAgIGlmIChpc19ib29sKCR2KSkgewogICAgICAgICAgICAgICAgJHYgPSAkdiA/ICd0cnVlJyA6ICdmYWxzZSc7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRjaCA9IGN1cmxfaW5pdCgpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAkdGhpcy0+Y29ubmVjdFRpbWVvdXQpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9USU1FT1VULCAkdGhpcy0+dGltZW91dCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJBR0VOVCwgJHRoaXMtPnVzZXJBZ2VudCk7CgogICAgICAgIGlmICgkdGhpcy0+aXNJUHY2RGlzYWJsZWQpIHsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0lQUkVTT0xWRSwgQ1VSTF9JUFJFU09MVkVfVjQpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiAoJHBvc3QpIHsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIHRydWUpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgJHBhcmFtcyk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRxdWVyeSA9IGJ1aWxkX3F1ZXJ5KCRwYXJhbXMpOwogICAgICAgICAgICAkdXJsIC49ICc/JyAuICRxdWVyeTsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybCk7CiAgICAgICAgfQogICAgICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAkc3RhdHVzX2NvZGUgPSBjdXJsX2dldGluZm8oJGNoLCBDVVJMSU5GT19IVFRQX0NPREUpOwogICAgICAgIGlmICgkc3RhdHVzX2NvZGUgIT09IDIwMCkgewogICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlBUElFcnJvcigkcmVzdWx0LCAkc3RhdHVzX2NvZGUpOwogICAgICAgIH0KICAgICAgICBpZiAoJGpzb24pIHsKICAgICAgICAgICAgJHJlc3VsdCA9IGpzb25fZGVjb2RlKCRyZXN1bHQsIHRydWUpOwogICAgICAgICAgICBpZiAoJHJlc3VsdFsnc3RhdHVzX2NvZGUnXSAhPT0gMjAwKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQml0bHlBUElFcnJvcigkcmVzdWx0WydzdGF0dXNfdHh0J10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KSRyZXN1bHRbJ3N0YXR1c19jb2RlJ10pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkcmVzdWx0WydkYXRhJ107CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.T2t_presence.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQoKCgpjbGFzcyBUMnRfcHJlc2VuY2UKewogIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCmZ1bmN0aW9uIGRldGFpbHNfcHJlc2VuY2UoJGlkX3ByZXNlbmNlKQp7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJJHF1ZXJ5ID0gIlNFTEVDVCBpZCxub20sIGRlc2NyaXB0aW9uLCBkYXRlX2RlYnV0LCBoZXVyZV9kZWJ1dCwgZGF0ZV9saW1pdGUsIGFjdGlmLCBncm91cGUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3ByZXNlbmNlX3ByZXNlbmNlIFdIRVJFIGlkID0gPyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfcHJlc2VuY2UpKTsKCSRkZXRhaWxzID0gYXJyYXkoKTsKCWlmKCRkYnJlc3VsdCkKCXsKCQl3aGlsZSgkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJCXsKCQkJJGRldGFpbHNbJ2lkX3ByZXNlbmNlJ10gPSAkcm93WydpZCddOwoJCQkkZGV0YWlsc1snbm9tJ10gPSAkcm93Wydub20nXTsKCQkJJGRldGFpbHNbJ2Rlc2NyaXB0aW9uJ10gPSAkcm93WydkZXNjcmlwdGlvbiddOwoJCQkkZGV0YWlsc1snZGF0ZV9kZWJ1dCddID0gJHJvd1snZGF0ZV9kZWJ1dCddOwoJCQkkZGV0YWlsc1snaGV1cmVfZGVidXQnXSA9ICRyb3dbJ2hldXJlX2RlYnV0J107CgkJCSRkZXRhaWxzWydkYXRlX2xpbWl0ZSddID0gJHJvd1snZGF0ZV9saW1pdGUnXTsKCQkJJGRldGFpbHNbJ2FjdGlmJ10gPSAkcm93WydhY3RpZiddOwoJCQkkZGV0YWlsc1snZ3JvdXBlJ10gPSAkcm93Wydncm91cGUnXTsKCQl9Cgl9CgkJcmV0dXJuICRkZXRhaWxzOwoJCgp9Ci8vYWpvdXRlIHVuZSBpbnNjcmlwdGlvbgpmdW5jdGlvbiBhZGRfcHJlc2VuY2UoJG5vbSwgJGRlc2NyaXB0aW9uLCAkZGF0ZV9kZWJ1dCwgICRoZXVyZV9kZWJ1dCwgJGRhdGVfbGltaXRlLCAkYWN0aWYsICRncm91cGUpCnsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcHJlc19vcHMgPSBuZXcgVDJ0X3ByZXNlbmNlOwoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfcHJlc2VuY2UgKG5vbSwgZGVzY3JpcHRpb24sIGRhdGVfZGVidXQsIGhldXJlX2RlYnV0LCBkYXRlX2xpbWl0ZSwgYWN0aWYsIGdyb3VwZSkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCA/KSI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbm9tLCAkZGVzY3JpcHRpb24sICRkYXRlX2RlYnV0LCAkaGV1cmVfZGVidXQsJGRhdGVfbGltaXRlLCAkYWN0aWYsICRncm91cGUpKTsKCWlmKCRkYnJlc3VsdCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCQkKCX0KCWVsc2UKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KIyMKZnVuY3Rpb24gZWRpdF9wcmVzZW5jZSgkcmVjb3JkX2lkLCRub20sICRkZXNjcmlwdGlvbiwgJGRhdGVfZGVidXQsICRoZXVyZV9kZWJ1dCwgJGRhdGVfbGltaXRlLCAkYWN0aWYsICRncm91cGUpCnsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfcHJlc2VuY2UgU0VUIG5vbSA9ID8sIGRlc2NyaXB0aW9uID0gPywgZGF0ZV9kZWJ1dCA9ID8sIGhldXJlX2RlYnV0ID0gPywgZGF0ZV9saW1pdGUgPSA/LCAgYWN0aWYgPSA/LCBncm91cGUgPSA/IFdIRVJFIGlkID0gPyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbm9tLCAkZGVzY3JpcHRpb24sICRkYXRlX2RlYnV0LCAkaGV1cmVfZGVidXQsJGRhdGVfbGltaXRlLCAkYWN0aWYsICRncm91cGUsICRyZWNvcmRfaWQpKTsKCWlmKCRkYnJlc3VsdCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCWVsc2UKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KLy9hY3RpdmUgb3UgZMOpc2FjdGl2ZSB1bmUgaW5zY3JpcHRpb24KZnVuY3Rpb24gYWN0aXZhdGVfZGVzYWN0aXZhdGVfaW5zY3JpcHRpb24oJGlkX3ByZXNlbmNlLCRhY3Rpb24pCnsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfcHJlc2VuY2UgU0VUIGFjdGlmID0gPyBXSEVSRSBpZCA9ID8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGFjdGlvbiwgJGlkX3ByZXNlbmNlKSk7Cn0KLy9yZW52b2llIGxlIG5iIGRlIGpvdWV1cnMgZGFucyB1bmUgb3B0aW9uIGRvbm7DqWUKZnVuY3Rpb24gY291bnRfdXNlcnNfaW5fcHJlc2VuY2UoJGlkX3ByZXNlbmNlKQp7CglnbG9iYWwgJGdDbXM7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJJHF1ZXJ5ID0gIlNFTEVDVCBjb3VudCgqKSBBUyBuYiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfYmVsb25ncyBXSEVSRSBpZF9wcmVzZW5jZSA9ID8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGlkX3ByZXNlbmNlKSk7CglpZigkZGJyZXN1bHQpCgl7CgkJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCQkkbmIgPSAkcm93WyduYiddOwoJfQoJZWxzZQoJewoJCSRuYiA9IDA7Cgl9CglyZXR1cm4gJG5iOwp9Ci8vc3VwcHJpbWUgdG91cyBsZXMgam91ZXVycyBkJ3VuZSBpbnNjcmlwdGlvbiAhCmZ1bmN0aW9uIGRlbGV0ZV91c2Vyc19pbl9wcmVzZW5jZSgkaWRfcHJlc2VuY2UpCnsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcmVzZW5jZV9iZWxvbmdzIFdIRVJFIGlkX2luc2NyaXB0aW9uID0gPyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfcHJlc2VuY2UpKTsKCQp9Ci8vZMOpdGVybWluZSBzaSB1biB1dGlsaXNhdGV1ciBhIHLDqXBvbmR1IG91IG5vbgpmdW5jdGlvbiBoYXNfZXhwcmVzc2VkKCRpZF9wcmVzZW5jZSwgJGdlbmlkKQp7CgkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJJHF1ZXJ5ID0gIlNFTEVDVCBnZW5pZCwgaWRfb3B0aW9uIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcmVzZW5jZV9iZWxvbmdzIFdIRVJFIGlkX3ByZXNlbmNlID0gPyBBTkQgZ2VuaWQgPSA/IjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpZF9wcmVzZW5jZSwgJGdlbmlkKSk7CglpZigkZGJyZXN1bHQpCgl7CgkJaWYoJGRicmVzdWx0LT5yZWNvcmRDb3VudCgpPjApCgkJewoJCQkkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwoJCQkkaWRfb3B0aW9uID0gJHJvd1snaWRfb3B0aW9uJ107CgkJCXJldHVybiAkaWRfb3B0aW9uOwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoJZWxzZQoJewoJCXJldHVybiBmYWxzZTsKCX0KfQovL2Vudm9pZSB1biBlbWFpbCBwb3VyIGxlcyBwcsOpc2VuY2VzIC9hYnNlbmNlcwpmdW5jdGlvbiBzZW5kX2VtYWlsKCRzZW5kZXIsICRyZWNpcGllbnQsJHN1YmplY3QsICRwcmlvcml0eSwgJGxpZW5vaywgJGxpZW5rbykKewoJCSRwcmVzID0gbmV3IHByZXNlbmNlOwoJCgkJJGJvZHkgPSAkcHJlcy0+R2V0VGVtcGxhdGUoJ3ByZXNlbmNlbWFpbF9TYW1wbGUnKTsKCQkkYm9keSA9ICRwcmVzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkYm9keSk7CgkJJGNtc21haWxlciA9IG5ldyBcY21zX21haWxlcigpOwoJCSRjbXNtYWlsZXItPnJlc2V0KCk7CgkvLwkkY21zbWFpbGVyLT5TZXRGcm9tKCRzZW5kZXIpOy8vJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FkbWluX2VtYWlsJykpOwoJCSRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJHJlY2lwaWVudCwkbmFtZT0nJyk7CgkJJGNtc21haWxlci0+SXNIVE1MKHRydWUpOwoJCSRjbXNtYWlsZXItPlNldFByaW9yaXR5KCRwcmlvcml0eSk7CgkJCgkJJGNtc21haWxlci0+U2V0Qm9keSgkYm9keSk7CgkJJGNtc21haWxlci0+U2V0U3ViamVjdCgkc3ViamVjdCk7CgkJJGNtc21haWxlci0+U2VuZCgpOwogICAgICAgICAgICAgICAgaWYoICEkY21zbWFpbGVyLT5TZW5kKCkgKSAKCQl7CQkJCiAgICAgICAgICAgICAgICAgICAgCXJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KfQovL2Vudm9pZSB1biBlbWFpbCBub3JtYWwKZnVuY3Rpb24gc2VuZF9ub3JtYWxfZW1haWwoJHNlbmRlciwgJHJlY2lwaWVudCwkc3ViamVjdCwgJHByaW9yaXR5LCAkbWVzc2FnZSkKewoJCSRwcmVzID0gbmV3IHByZXNlbmNlOwoJCgkJJGJvZHkgPSAkcHJlcy0+R2V0VGVtcGxhdGUoJ3ByZXNlbmNlbWFpbF9TYW1wbGUnKTsKCQkkYm9keSA9ICRwcmVzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkYm9keSk7CgkJJGNtc21haWxlciA9IG5ldyBcY21zX21haWxlcigpOwoJCSRjbXNtYWlsZXItPnJlc2V0KCk7CgkvLwkkY21zbWFpbGVyLT5TZXRGcm9tKCRzZW5kZXIpOy8vJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FkbWluX2VtYWlsJykpOwoJCSRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJHJlY2lwaWVudCwkbmFtZT0nJyk7CgkJJGNtc21haWxlci0+SXNIVE1MKHRydWUpOwoJCSRjbXNtYWlsZXItPlNldFByaW9yaXR5KCRwcmlvcml0eSk7CgkJCgkJJGNtc21haWxlci0+U2V0Qm9keSgkbWVzc2FnZSk7CgkJJGNtc21haWxlci0+U2V0U3ViamVjdCgkc3ViamVjdCk7CgkJJGNtc21haWxlci0+U2VuZCgpOwogICAgICAgICAgICAgICAgaWYoICEkY21zbWFpbGVyLT5TZW5kKCkgKSAKCQl7CQkJCiAgICAgICAgICAgICAgICAgICAgCXJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KfQoKLy9jb2xsZWN0ZSBsZXMgZ2VuaWQgZGVzIHBlcnNvbm5lcyBheWFudCBkw6lqw6AgcsOpcG9uZHVlcyDDoCB1bmUgcHLDqXNlbmNlCmZ1bmN0aW9uIHJlbGFuY2VfZW1haWxfbGljZW5jZSgkaWRfcHJlc2VuY2UpCnsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcXVlcnkgPSAiU0VMRUNUIGdlbmlkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcmVzZW5jZV9iZWxvbmdzIFdIRVJFIGlkX3ByZXNlbmNlID0gPyI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaWRfcHJlc2VuY2UpKTsKCSRsaXN0ZV9saWNlbmNlcyA9IGFycmF5KCk7CglpZigkZGJyZXN1bHQgJiYgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpPjApCgl7CgkJd2hpbGUoJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCQl7CgkJCSRsaXN0ZV9saWNlbmNlc1tdID0gJHJvd1snZ2VuaWQnXTsKCQl9CgkJcmV0dXJuICRsaXN0ZV9saWNlbmNlczsKCX0KCWVsc2UKCXsKCQlyZXR1cm4gRkFMU0U7Cgl9Cn0KIyMKI0VORCBPRiBDTEFTUwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByZXNlbmNlCiMgVmVyc2lvbjogMC4yLCBDbGF1ZGUgU0lPSEFOCiMgTWV0aG9kOiBJbnN0YWxsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoqCiAqIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogKiBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogKiBBUEksIGFuZCB0aGF0IGV2ZXJ5dGhpbmcncyBzYWZlIHRvIGNvbnRpbnVlOgogKi8gCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCi8qKiAKICogQWZ0ZXIgdGhpcywgdGhlIGNvZGUgaXMgaWRlbnRpY2FsIHRvIHRoZSBjb2RlIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlCiAqIHdyYXBwZWQgaW4gdGhlIEluc3RhbGwoKSBtZXRob2QgaW4gdGhlIG1vZHVsZSBib2R5LgogKi8KCiRkYiA9ICRnQ21zLT5HZXREYigpOwoKLy8gbXlzcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCiR0YWJvcHRhcnJheSA9IGFycmF5KCAnbXlzcWwnID0+ICdFTkdJTkU9TXlJU0FNJyApOwoKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgovLyB0YWJsZSBzY2hlbWEgZGVzY3JpcHRpb24KJGZsZHMgPSAiCglpZCBJKDExKSBBVVRPIEtFWSwKCW5vbSBDKDI1NSksCglkZXNjcmlwdGlvbiBDKDI1NSksCglkYXRlX2RlYnV0IEQsCglkYXRlX2xpbWl0ZSBELAoJaGV1cmVfZGVidXQgVCwKCWFjdGlmIEkoMSkgREVGQVVMVCAwLAoJZ3JvdXBlIEkoMikgREVGQVVMVCAwIjsKCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfcHJlc2VuY2UiLCAkZmxkcywgJHRhYm9wdGFycmF5KTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsJCQkKLy8KLy8gbXlzcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCiR0YWJvcHRhcnJheSA9IGFycmF5KCAnbXlzcWwnID0+ICdFTkdJTkU9TXlJU0FNJyApOwoKCgokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCi8vIHRhYmxlIHNjaGVtYSBkZXNjcmlwdGlvbgokZmxkcyA9ICIKCWlkIEkoMTEpIEFVVE8gS0VZLAoJaWRfcHJlc2VuY2UgSSgxMSksCglpZF9vcHRpb24gSSgxKSwKCWdlbmlkIEkoMTEpIjsKCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfYmVsb25ncyIsICRmbGRzLCAkdGFib3B0YXJyYXkpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwkJCQovLwovLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UKJHRhYm9wdGFycmF5ID0gYXJyYXkoICdteXNxbCcgPT4gJ0VOR0lORT1NeUlTQU0nICk7CgovL1Blcm1pc3Npb25zCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnLCAnVXRpbGlzZXIgbGUgbW9kdWxlIFByw6lzZW5jZScpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignUHJlc2VuY2UgU2V0IFByZWZzJywgJ01vZGlmaWVyIGxlcyBkb25uw6llcyBkdSBjb21wdGUnKTsKCgovL21haWxzIHRlbXBsYXRlcwojIE1haWxzIHRlbXBsYXRlcwoKJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ19wcmVzZW5jZW1haWx0ZW1wbGF0ZS50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCnsKCSR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCAkZm4gKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgncHJlc2VuY2VtYWlsX1NhbXBsZScsJHRlbXBsYXRlKTsKfQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX3JlbGFuY2VlbWFpbHRlbXBsYXRlLnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkKewoJJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoICRmbiApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdyZWxhbmNlZW1haWxfU2FtcGxlJywkdGVtcGxhdGUpOwp9CgoKIyBMZXMgcHLDqWbDqXJlbmNlcyAKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluX2VtYWlsJywgJ3Jvb3RAbG9jYWxob3N0LmNvbScpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1haWxfcHJlc2VuY2Vfc3ViamVjdCcsJ1Byw6lzZW5jZS9BYnNlbmNlJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbWFpbF9yZWxhbmNlX3N1YmplY3QnLCAnUmVsYW5jZSBQcsOpc2VuY2UvQWJzZW5jZSAhJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwYWdlaWRfcHJlc2VuY2UnLCAnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdiaXRseV9jbGllbnRfaWQnLCAnJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdiaXRseV9jbGllbnRfc2VjcmV0JywgJycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfYWNjZXNzX3Rva2VuJywgJycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYml0bHlfcmVkaXJlY3RfdXJpJywgJycpOwovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAKCSAgICAgICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgCgkgICAgICAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkgKTsKCgkKCSAgICAgIAo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEluc2NyaXB0aW9ucyAoYykgMjAxNiBwYXIgQ2xhdWRlIFNJT0hBTgojICAgICAgICAKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNU01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBWaXNpdCB0aGUgQ01TTVMgSG9tZXBhZ2UgYXQ6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCiRkYiA9ICR0aGlzLT5HZXREYigpOwoKLy8gcmVtb3ZlIHRoZSBkYXRhYmFzZSB0YWJsZXMKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcmVzZW5jZV9wcmVzZW5jZSIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJlc2VuY2VfYmVsb25ncyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCi8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ1ByZXNlbmNlIHVzZScpOwoKCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbGVkJykpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByZXNlbmNlCiMgVmVyc2lvbjogMC4xCiMgTWV0aG9kOiBVcGdyYWRlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9za2VsZXRvbi8KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoqCiAqIEZvciBzZXBhcmF0ZWQgbWV0aG9kcywgeW91J2xsIGFsd2F5cyB3YW50IHRvIHN0YXJ0IHdpdGggdGhlIGZvbGxvd2luZwogKiBsaW5lIHdoaWNoIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG1ldGhvZCB3YXMgY2FsbGVkIGZyb20gdGhlIG1vZHVsZQogKiBBUEksIGFuZCB0aGF0IGV2ZXJ5dGhpbmcncyBzYWZlIHRvIGNvbnRpbnVlOgoqLyAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsJCQkvKiBAdmFyICRkYiBBRE9Db25uZWN0aW9uICovCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsgCS8qIEB2YXIgJGRpY3QgQURPREJfRGF0YURpY3QgKi8KLyoqCiAqIEFmdGVyIHRoaXMsIHRoZSBjb2RlIGlzIGlkZW50aWNhbCB0byB0aGUgY29kZSB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZQogKiB3cmFwcGVkIGluIHRoZSBVcGdyYWRlKCkgbWV0aG9kIGluIHRoZSBtb2R1bGUgYm9keS4KICovCiRub3cgPSB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgIiciKTsKJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOwpzd2l0Y2goJGN1cnJlbnRfdmVyc2lvbikKewogIC8vIHdlIGFyZSBub3cgMS4wIGFuZCB3YW50IHRvIHVwZ3JhZGUgdG8gbGF0ZXN0CiAKCQoJY2FzZSAiMC4xIiA6IAkKCQoJewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdMYXN0U2VuZE1lc3NhZ2UnLCB0aW1lKCkpOwoJfQkKCQoKfQovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAKCSAgICAgICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgCgkgICAgICAkdGhpcy0+TGFuZygndXBncmFkZWQnLCAkdGhpcy0+R2V0VmVyc2lvbigpKSk7CgovL25vdGU6IG1vZHVsZSBhcGkgaGFuZGxlcyBzZW5kaW5nIGdlbmVyaWMgZXZlbnQgb2YgbW9kdWxlIHVwZ3JhZGVkIGhlcmUKPz4=]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJQcmVzZW5jZSIKdmVyc2lvbiA9IDAuMgphdXRob3IgPSAiQ2xhdWRlIFNJT0hBTiIKYXV0aG9yZW1haWwgPSAiY2xhdWRlLnNpb2hhbkBnbWFpbC5jb20iCm1pbmNtc3ZlcnNpb24gPSAyLjAKbGF6eWxvYWRhZG1pbiA9IDAKbGF6eWxvYWRmcm9udGVuZCA9IDAKW2RlcGVuZHNdCkFkaGVyZW50cyA9IDAuMwpNZXNzYWdlcyA9IDAuMwo=]]></data>
	</file>
	<file>
	  <filename>/Presence.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlIDogUHJlc2VuY2UgLSAKIyBWZXJzaW9uIDogMC4yLCBTYwojIEF1dGV1ciA6IENsYXVkZSBTSU9IQU4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLyoqCiAqCiAqIEBhdXRob3IgQ2xhdWRlIFNJT0hBTgogKiBAc2luY2UgMC4xCiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMSAkCiAqIEBtb2RpZmllZGJ5ICRMYXN0Q2hhbmdlZEJ5OiBDbGF1ZGUKICogQGxhc3Rtb2RpZmllZCAkRGF0ZTogMjAxNy0wMy0yNiAxMTo1NjoxNiArMDIwMCAoTW9uLCAyOCBKdWlsIDIwMTUpICQKICogQGxpY2Vuc2UgR1BMCiAqKi8KCmNsYXNzIFByZXNlbmNlIGV4dGVuZHMgQ01TTW9kdWxlCnsKICAKICBmdW5jdGlvbiBHZXROYW1lKCkgeyByZXR1cm4gJ1ByZXNlbmNlJzsgfSAgIAogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsgfSAgIAogIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7IHJldHVybiAnMC4yJzsgfSAgCiAgZnVuY3Rpb24gR2V0SGVscCgpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7IH0gICAKICBmdW5jdGlvbiBHZXRBdXRob3IoKSB7IHJldHVybiAnQ2xhdWRlIFNJT0hBTic7IH0gCiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSB7IHJldHVybiAnY2xhdWRlLnNpb2hhbkBnbWFpbC5jb20nOyB9CiAgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOyB9CiAgICAKICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIHRydWU7IH0KICBmdW5jdGlvbiBIYXNBZG1pbigpIHsgcmV0dXJuIHRydWU7IH0gICAKICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7IHJldHVybiAnY29udGVudCc7IH0KICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7IH0KIAogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgCXJldHVybiAKCQkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdQcmVzZW5jZSB1c2UnKTsKCQogIH0KICAKICAKICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKCXJldHVybiBhcnJheSgnQWRoZXJlbnRzJz0+JzAuMycsICdNZXNzYWdlcyc9PicwLjMnKTsKICB9CgogIAoKICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCiAgewogICAgcmV0dXJuICIyLjAiOwogIH0KCiAgCiAgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpCiAgeyAKICAJJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CgkkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGlzcGxheScsQ0xFQU5fU1RSSU5HKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhY3Rpb24nLENMRUFOX1NUUklORyk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmVjb3JkX2lkJywgQ0xFQU5fSU5UKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpZF9wcmVzZW5jZScsIENMRUFOX0lOVCk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbGljZW5jZScsIENMRUFOX1NUUklORyk7CgkKCQoJLy9mb3JtIHBhcmFtZXRlcnMKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdWJtaXQnLENMRUFOX1NUUklORyk7CgkvLyR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd0b3VybGlzdCcsQ0xFQU5fSU5UKTsKCQoKfQoKZnVuY3Rpb24gSW5pdGlhbGl6ZUFkbWluKCkKewogIAkkdGhpcy0+U2V0UGFyYW1ldGVycygpOwoJLy8kdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwYWdlbGltaXQnLCAxMDAwMDAsICR0aGlzLT5MYW5nKCdoZWxwX3BhZ2VsaW1pdCcpKTsKfQoKcHVibGljIGZ1bmN0aW9uIEhhc0NhcGFiaWxpdHkoJGNhcGFiaWxpdHksICRwYXJhbXMgPSBhcnJheSgpKQp7CiAgIGlmKCAkY2FwYWJpbGl0eSA9PSAndGFza3MnICkgcmV0dXJuIFRSVUU7CiAgIHJldHVybiBGQUxTRTsKfQoKcHVibGljIGZ1bmN0aW9uIGdldF90YXNrcygpCnsKICAgJG9iaiA9IGFycmF5KCk7CgkvLyRvYmpbMF0gPSBuZXcgUmVjdXBBZGhlcmVudHNUYXNrKCk7CiAvLyAgCSRvYmpbMF0gPSBuZXcgc2VuZFRhc2soKTsgIAoJCnJldHVybiAkb2JqOyAKfQoKICBmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uICggJGV2ZW50bmFtZSApCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9pbmZvXycuJGV2ZW50bmFtZSApOwogIH0KICAgICAKICBmdW5jdGlvbiBHZXRFdmVudEhlbHAgKCAkZXZlbnRuYW1lICkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2hlbHBfJy4kZXZlbnRuYW1lICk7CiAgfQoKICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsgfQogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsgfQogIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncmVhbGx5X3VuaW5zdGFsbCcpOyB9CiAgZnVuY3Rpb24gcmFuZG9tX3N0cmluZygkY2FyKSB7Cgkkc3RyaW5nID0gIiI7CgkkY2hhaW5lID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSI7CglzcmFuZCgoZG91YmxlKW1pY3JvdGltZSgpKjEwMDAwMDApOwoJZm9yKCRpPTA7ICRpPCRjYXI7ICRpKyspIHsKCQkkc3RyaW5nIC49ICRjaGFpbmVbcmFuZCgpJXN0cmxlbigkY2hhaW5lKV07Cgl9CglyZXR1cm4gJHN0cmluZzsKICB9CgogIAogIGZ1bmN0aW9uIF9TZXRTdGF0dXMoJG9pZCwgJHN0YXR1cykgewogICAgLy8uLi4KICB9CgoKCgp9IC8vZW5kIGNsYXNzCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/.DS_Store</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[AAAAAUJ1ZDEAABAAAAAIAAAAEAAAAAQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAgAAAABAAAQAABlAG4AYwBlAC4AdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAcAByAGUAcwBlAG4AYwBlAC4AdABwAGxwdGJMdXN0cgAAADMAQQBwAHAAbABpAGMAYQB0AGkAbwBuAHMALwBNAEEATQBQAC8AaAB0AGQAbwBjAHMALwAxAC4AMAAvAG0AbwBkAHUAbABlAHMALwBSAHMAcwAvAHQAZQBtAHAAbABhAHQAZQBzAC8AAAAMAHAAcgBlAHMAZQBuAGMAZQAuAHQAcABscHRiTnVzdHIAAAAHAHIAcwBzAC4AdABwAGwAAAAMAHIAZQBwAG8AbgBzAGUAcwAuAHQAcABscHRiTHVzdHIAAAAzAEEAcABwAGwAaQBjAGEAdABpAG8AbgBzAC8ATQBBAE0AUAAvAGgAdABkAG8AYwBzAC8AMQAuADAALwBtAG8AZAB1AGwAZQBzAC8AUgBzAHMALwB0AGUAbQBwAGwAYQB0AGUAcwAvAAAADAByAGUAcABvAG4AcwBlAHMALgB0AHAAbHB0Yk51c3RyAAAABwByAHMAcwAuAHQAcABsAAAAEABzAGgAbwB3AF8AbQBlAHMAcwBhAGcAZQAuAHQAcABscHRiTHVzdHIAAAAzAEEAcABwAGwAaQBjAGEAdABpAG8AbgBzAC8ATQBBAE0AUAAvAGgAdABkAG8AYwBzAC8AMQAuADAALwBtAG8AZAB1AGwAZQBzAC8AUgBzAHMALwB0AGUAbQBwAGwAYQB0AGUAcwAvAAAAEABzAGgAbwB3AF8AbQBlAHMAcwBhAGcAZQAuAHQAcABscHRiTnVzdHIAAAAHAHIAcwBzAC4AdABwAGwAAAATAHMAaABvAHcAXwByAGUAYwBpAHAAaQBlAG4AdABzAC4AdABwAGxwdGJMdXN0cgAAADMAQQBwAHAAbABpAGMAYQB0AGkAbwBuAHMALwBNAEEATQBQAC8AaAB0AGQAbwBjAHMALwAxAC4AMAAvAG0AbwBkAHUAbABlAHMALwBSAHMAcwAvAHQAZQBtAHAAbABhAHQAZQBzAC8AAAATAHMAaABvAHcAXwByAGUAYwBpAHAAaQBlAG4AdABzAC4AdABwAGxwdGJOdXN0cgAAAAcAcgBzAHMALgB0AHAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAgLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAABAAAAQAAAAAEAAACAAAAAAQAAAQAAAAABAAACAAAAAAEAAAQAAAAAAAAAAAEAABAAAAAAAQAAIAAAAAABAABAAAAAAAEAAIAAAAAAAQABAAAAAAABAAIAAAAAAAEABAAAAAAAAQAIAAAAAAABABAAAAAAAAEAIAAAAAAAAQBAAAAAAAABAIAAAAAAAAEBAAAAAAAAAQIAAAAAAAABBAAAAAAAAAEIAAAAAAAAARAAAAAAAAABIAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAEAsAAABFAAAECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBERTREIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAIAAAAGAAAAAAAAAAAQAAAIAAAAABAAABAAAAAAEAAAIAAAAAAAAAAAIAAAgAAAAYAAAAAAAAAAABAAAgAAAAAAEAAEAAAAAAAQAAgAAAAAABAAEAAAAAAAEAAgAAAAAAAQAEAAAAAAABAAgAAAAAAAEAEAAAAAAAAQAgAAAAAAABAEAAAAAAAAEAgAAAAAAAAQEAAAAAAAABAgAAAAAAAAEEAAAAAAAAAQgAAAAAAAABEAAAAAAAAAEgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/templates/add_edit_presence.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KeyRmb3Jtc3RhcnR9CnskcmVjb3JkX2lkfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPkxpYmVsbMOpPC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbm9tfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij5EZXNjcmlwdGlvbjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGRlc2NyaXB0aW9ufTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij5EYXRlIGV0IGhldXJlIGRlIGTDqWJ1dDwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGRhdGVfZGVidXR9IC0geyRoZXVyZV9kZWJ1dH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+RGF0ZSBsaW1pdGUgZGUgcsOpcG9uc2U8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRkYXRlX2xpbWl0ZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+QWN0aWY8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhY3RpZn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+R3JvdXBlID88L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRncm91cGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgogIDwvZGl2Pgp7JGZvcm1lbmR9CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/assign_users.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CnsqKn08ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHA+TGVzIGFkaMOpcmVudHMgc8OpbGVjdGlvbm7DqXMgcGFyIGNhdMOpZ29yaWUgc29udCBhY3RpZnMgZXQgbm9uIGTDqWrDoCBhZmZlY3TDqXMgw6AgY2V0dGUgY290aXNhdGlvbjwvcD4KeyRmb3Jtc3RhcnR9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij5OwrAgb3B0aW9uIDo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlkX29wdGlvbn08L3A+CiAgPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPk7CsCBJbnNjcmlwdGlvbiA6PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpZF9pbnNjcmlwdGlvbn08L3A+CiAgPC9kaXY+Cgp7Zm9yZWFjaCBmcm9tPSRyb3dhcnJheSBrZXk9a2V5IGl0ZW09ZW50cnl9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giICBuYW1lPSJtMV9saWNlbmNlW3ska2V5fV0iIGlkPSJtMV9saWNlbmNlW3ska2V5fV0iIHtpZiAkZW50cnlbJ3BhcnRpY2lwZSddID09MX1jaGVja2VkPSdjaGVja2VkJyB7L2lmfSB2YWx1ZSA9ICcxJz57JGVudHJ5WyduYW1lJ119PC9wPgogIDwvZGl2Pgp7L2ZvcmVhY2h9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgogIDwvZGl2Pgp7JGZvcm1lbmR9CjwvZGl2Pgp7Kip9]]></data>
	</file>
	<file>
	  <filename>/templates/config.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+Q29uZmlndXJhdGlvbiBwcmluY2lwYWxlPC9sZWdlbmQ+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+QWxpYXMgZGUgbGEgcGFnZSBkZXMgcsOpcG9uc2VzIChPYmxpZ2F0b2lyZSk8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwYWdlaWRfcHJlc2VuY2V9PC9wPgoJPC9kaXY+CjwvZmllbGRzZXQ+CjwhLS0KPGZpZWxkc2V0PgoJPGxlZ2VuZD5PcHRpb25zIEJpdGx5PC9sZWdlbmQ+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Q2xpZW50IElEPC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYml0bHlfY2xpZW50X2lkfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPkNsaWVudCBzZWNyZXQ8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRiaXRseV9jbGllbnRfc2VjcmV0fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPkFjY2VzcyB0b2tlbjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGJpdGx5X2FjY2Vzc190b2tlbn08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij5QYWdlIGRlIHJldG91ciBkZSBsJ2FwcGxpY2F0aW9uPC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYml0bHlfcmVkaXJlY3RfdXJpfTwvcD4KCTwvZGl2Pgo8L2ZpZWxkc2V0PgotLT4JCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KCTwvZGl2Pgp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/notifications.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydF9mb3JtfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij5FbWFpbCBkdSBnZXN0aW9ubmFpcmUgZGUgcHLDqXNlbmNlPC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hZG1pbmVtYWlsfTwvcD4KPC9kaXY+CjxmaWVsZHNldD4KPGxlZ2VuZD5MJ2VtYWlsIGRlIHByZW1pw6hyZSBkZW1hbmRlPC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPkxlIHN1amV0IGR1IG1haWw8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2VtYWlscHJlc2VuY2VzdWJqZWN0fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPkxlIGNvcnBzIGR1IG1haWw8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGVtYWlscHJlc2VuY2Vib2R5fTwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+Cnskc3VibWl0fQp7JGVuZF9mb3JtfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_presencemailtemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9PHN0eWxlPgphIHt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAjZmZmZmZmO30KPC9zdHlsZT4Key9saXRlcmFsfQo8dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMTAiIGJvcmRlcj0iMCI+IAo8dHIgY29sc3Bhbj0iMiI+Cjx0ZD57JHRpdHJlfSB7JGRlc2NyaXB0aW9ufTwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxhIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjNENBRjUwO2JvcmRlcjogbm9uZTtjb2xvcjogd2hpdGU7cGFkZGluZzogMTVweCAzMnB4O3RleHQtYWxpZ246IGNlbnRlcjt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGRpc3BsYXk6IGlubGluZS1ibG9jaztmb250LXNpemU6IDE2cHg7IiBocmVmPSJ7JGxpZW5va30iPlByw6lzZW50PC9hPjwvdGQ+PHRkPjxhIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO2JvcmRlcjogbm9uZTtjb2xvcjogd2hpdGU7cGFkZGluZzogMTVweCAzMnB4O3RleHQtYWxpZ246IGNlbnRlcjt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGRpc3BsYXk6IGlubGluZS1ibG9jaztmb250LXNpemU6IDE2cHg7IiBocmVmPSJ7JGxpZW5rb30iPkFic2VudDwvYT48L3RkPgo8L3RyPgo8L3RhYmxlPgo8cD5Sw6lwb25kcyBlbiBjbGlxdWFudCBzdXIgdW4gZGVzIGRldXggYm91dG9ucyBjaSBkZXNzdXMgb3UgY29ubmVjdGUtdG9pIHN1ciB0b24gZXNwYWNlIHByaXbDqSDDoCBsJ2FkcmVzc2Ugc3VpdmFudGUgOiBodHRwOi8vZXNzYWkuYWdpLXdlYmNvbnNlaWwuZnIvaW5kZXgucGhwP3BhZ2U9bW9uLWNvbXB0ZQ==]]></data>
	</file>
	<file>
	  <filename>/templates/presence.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPkxpc3RlIGRlcyBNYXRjaHMvRW50cmFpbmVtZW50cy9FdGMuLjwvaDI+CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj48cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskaXRlbWNvdW50fSZuYnNwO3skaXRlbXNmb3VuZH0gJm5ic3A7IHskYWRkX2VkaXR9PC9wPjwvZGl2Pgp7aWYgJGl0ZW1jb3VudCA+IDB9CnskZm9ybTJzdGFydH0KPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KIDx0aGVhZD4KCTx0cj4KCQk8dGg+SWQ8L3RoPgoJCTx0aD5Ob208L3RoPgoJCTx0aD5EZXNjcmlwdGlvbiA8L3RoPgoJCTx0aD5Ew6lidXQ8L3RoPgoJCTx0aD5MaW1pdGU8L3RoPgoJCTx0aD5hY3RpZiA/PC90aD4KCQk8dGg+UHLDqXZlbmlyL1JlbGFuY2VyPC90aD4KCQk8dGg+UsOpcG9uc2VzICh0YXV4KTwvdGg+CgkJPHRoIGNvbHNwYW49IjMiPkFjdGlvbihzKTwvdGg+CgkJPCEtLTx0aD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJzZWxlY3RhbGwiIG5hbWU9InNlbGVjdGFsbCI+PC90aD4tLT4KCTwvdHI+CiA8L3RoZWFkPgogPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCTx0ZD57JGVudHJ5LT5pZH08L3RkPgoJPHRkPnskZW50cnktPm5vbX08L3RkPgoJPHRkPnskZW50cnktPmRlc2NyaXB0aW9ufTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+ZGF0ZV9kZWJ1dHxkYXRlX2Zvcm1hdDoiJWQtJW0tJVkifSAtIHskZW50cnktPmhldXJlX2RlYnV0fTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+ZGF0ZV9saW1pdGV8ZGF0ZV9mb3JtYXQ6IiVkLSVtLSVZIn08L3RkPgoJPHRkPnskZW50cnktPmFjdGlmfTwvdGQ+Cgk8dGg+eyRlbnRyeS0+ZW1haWxpbmd9PC90ZD4KCTx0ZD57JGVudHJ5LT5pbnNjcml0c30veyRlbnRyeS0+dGF1eH08L3RkPgoJPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+IAoJPHRkPnskZW50cnktPnZpZXd9PC90ZD4gCgk8dGQ+eyRlbnRyeS0+cHJpbnR9PC90ZD4gCjwhLS0JPHRkPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1zZWxbXSIgdmFsdWU9InskZW50cnktPmlkfSIgY2xhc3M9InNlbGVjdCI+PC90ZD4tLT4KICA8L3RyPgp7L2ZvcmVhY2h9CiA8L3Rib2R5Pgo8L3RhYmxlPgo8IS0tIFNFTEVDVCBEUk9QRE9XTiAtLT4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij4KPGJyLz57JGFjdGlvbmRlbWFzc2V9eyRzdWJtaXRfbWFzc2FjdGlvbn0KICA8L2Rpdj4KeyokZm9ybTJlbmQqfQp7L2lmfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/print.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfTwvcD48L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQo8aDM+TWEgbGlzdGUgZGUgcGFydGljaXBhbnRzPC9oMz4KPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBjbGFzcz0idGFibGUgdGFibGUtYm9yZGVyZWQiPgogPHRoZWFkPgoJPHRyPgoJCTx0aD5MaWNlbmNlPC90aD4KCQoJPC90cj4KIDwvdGhlYWQ+CiA8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CiAgPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgoJPHRkPnskZW50cnktPmxpY2VuY2V9PC90ZD4KICAgCiAgICAKICA8L3RyPgp7L2ZvcmVhY2h9CiA8L3Rib2R5Pgo8L3RhYmxlPgp7L2lmfQp7aWYgJGl0ZW1jb3VudDIgPiAwfQp7Zm9yZWFjaCBmcm9tPSRpdGVtczIgaXRlbT1lbnRyeX0Keyo8cHJlPnskaXRlbXMyfHZhcl9kdW1wfTwvcHJlPip9CjxoMz5Sw6lzdWx0YXRzIGR1IHskZW50cnktPmRhdGVfZXZlbnR8ZGF0ZV9mb3JtYXQ6IiVkLyVtIn08L2gzPgkKe2lmICRpdGVtc2NvdW50X3skZW50cnktPnZhbGV1cn0gPjAgfQogIAk8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWJvcmRlcmVkIj4KCQl7Zm9yZWFjaCBmcm9tPSRwcm9kc197JGVudHJ5LT52YWxldXJ9IGl0ZW09ZG9ubmVlfQoJCXsqPHByZT57JHByb2RzX3skZW50cnktPnZhbGV1cn18dmFyX2R1bXB9PC9wcmU+Kn0JPHRyPjx0ZD57JGRvbm5lZS0+ZXF1YX08L3RkPjx0ZD57JGRvbm5lZS0+c2NvcmVhfTwvdGQ+PHRkPnskZG9ubmVlLT5zY29yZWJ9PC90ZD48dGQ+eyRkb25uZWUtPmVxdWJ9PC90ZD48L3RyPgoJCXsvZm9yZWFjaH0KCQk8L3RhYmxlPgoJCQoJCXtlbHNlfQoJCTxwPlBhcyBlbmNvcmUgZGUgcsOpc3VsdGF0cyAhPC9wPgoJCXsvaWZ9CnsvZm9yZWFjaH0KIDwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo=]]></data>
	</file>
	<file>
	  <filename>/templates/reponses.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNzZWxlY3RhbGwnKS5jbGljayhmdW5jdGlvbigpewogICAgdmFyIHYgPSAkKHRoaXMpLmF0dHIoJ2NoZWNrZWQnKTsKICAgIGlmKCB2ID09ICdjaGVja2VkJyApIHsKICAgICAgJCgnLnNlbGVjdCcpLmF0dHIoJ2NoZWNrZWQnLCdjaGVja2VkJyk7CiAgICB9IGVsc2UgewogICAgICAkKCcuc2VsZWN0JykucmVtb3ZlQXR0cignY2hlY2tlZCcpOwogICAgfQogIH0pOwogICQoJy5zZWxlY3QnKS5jbGljayhmdW5jdGlvbigpewogICAgJCgnI3NlbGVjdGFsbCcpLnJlbW92ZUF0dHIoJ2NoZWNrZWQnKTsKICB9KTsKICAkKCcjdG9nZ2xlX2ZpbHRlcicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAkKCcjZmlsdGVyX2Zvcm0nKS50b2dnbGUoKTsKICB9KTsKICB7aWYgaXNzZXQoJHRhYmxlc29ydGVyKX0KICAkKCcjYXJ0aWNsZWxpc3QnKS50YWJsZXNvcnRlcih7IHNvcnRMaXN0OnskdGFibGVzb3J0ZXJ9IH0pOwogIHsvaWZ9Cn0pOwovL11dPgo8L3NjcmlwdD4KPGgyPkxpc3RlIGRlcyByw6lwb25zZXMgcG91ciA6IHskdGl0cmV9PC9oMj4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfSAmbmJzcDsgeyRhZGRfZWRpdH08L3A+PC9kaXY+CntpZiAkaXRlbWNvdW50ID4gMH0KCjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiA8dGhlYWQ+Cgk8dHI+CQoJCTx0aD5Ob208L3RoPgkKCQk8dGg+UsOpcG9uc2UgPzwvdGg+Cgk8L3RyPgogPC90aGVhZD4KIDx0Ym9keT4Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KICA8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSI+Cgk8dGQ+eyRlbnRyeS0+Z2VuaWR9PC90ZD4KCTx0ZD57JGVudHJ5LT5pZF9vcHRpb259PC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiA8L3Rib2R5Pgo8L3RhYmxlPgoKey9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/show_message.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNzZWxlY3RhbGwnKS5jbGljayhmdW5jdGlvbigpewogICAgdmFyIHYgPSAkKHRoaXMpLmF0dHIoJ2NoZWNrZWQnKTsKICAgIGlmKCB2ID09ICdjaGVja2VkJyApIHsKICAgICAgJCgnLnNlbGVjdCcpLmF0dHIoJ2NoZWNrZWQnLCdjaGVja2VkJyk7CiAgICB9IGVsc2UgewogICAgICAkKCcuc2VsZWN0JykucmVtb3ZlQXR0cignY2hlY2tlZCcpOwogICAgfQogIH0pOwogICQoJy5zZWxlY3QnKS5jbGljayhmdW5jdGlvbigpewogICAgJCgnI3NlbGVjdGFsbCcpLnJlbW92ZUF0dHIoJ2NoZWNrZWQnKTsKICB9KTsKICAkKCcjdG9nZ2xlX2ZpbHRlcicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAkKCcjZmlsdGVyX2Zvcm0nKS50b2dnbGUoKTsKICB9KTsKICB7aWYgaXNzZXQoJHRhYmxlc29ydGVyKX0KICAkKCcjYXJ0aWNsZWxpc3QnKS50YWJsZXNvcnRlcih7IHNvcnRMaXN0OnskdGFibGVzb3J0ZXJ9IH0pOwogIHsvaWZ9Cn0pOwovL11dPgo8L3NjcmlwdD4KPGgyPkxpc3RlIGRlcyBkZXN0aW5hdGFpcmVzPC9oMj4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfSAmbmJzcDsgeyRyZXZlbmlyfTwvcD48L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQp7JGZvcm0yc3RhcnR9Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiA8dGhlYWQ+Cgk8dHI+CgkJPHRoPklkPC90aD4KCQk8dGg+RGVzdGluYXRhaXJlPC90aD4KCQk8dGg+RW52b3nDqSA/PC90aD4JCgkJPHRoPkFjdGlvbnM8L3RoPgoJCTx0aD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJzZWxlY3RhbGwiIG5hbWU9InNlbGVjdGFsbCI+PC90aD4KCTwvdHI+CiA8L3RoZWFkPgogPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCTx0ZD57JGVudHJ5LT5tZXNzYWdlX2lkfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+bGljZW5jZX08L3RkPgoJPHRkPnskZW50cnktPnNlbnR9PC90ZD4KCTx0ZD57JGVudHJ5LT5zdGF0dXN9PC90ZD4KCTx0ZD57JGVudHJ5LT5hcn08L3RkPgoJPHRkPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1zZWxbXSIgdmFsdWU9InskZW50cnktPmlkfSIgY2xhc3M9InNlbGVjdCI+PC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiA8L3Rib2R5Pgo8L3RhYmxlPgo8IS0tIFNFTEVDVCBEUk9QRE9XTiAtLT4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij4KPGJyLz57JGFjdGlvbmRlbWFzc2V9eyRzdWJtaXRfbWFzc2FjdGlvbn0KICA8L2Rpdj4KeyRmb3JtMmVuZH0Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/show_recipients.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNzZWxlY3RhbGwnKS5jbGljayhmdW5jdGlvbigpewogICAgdmFyIHYgPSAkKHRoaXMpLmF0dHIoJ2NoZWNrZWQnKTsKICAgIGlmKCB2ID09ICdjaGVja2VkJyApIHsKICAgICAgJCgnLnNlbGVjdCcpLmF0dHIoJ2NoZWNrZWQnLCdjaGVja2VkJyk7CiAgICB9IGVsc2UgewogICAgICAkKCcuc2VsZWN0JykucmVtb3ZlQXR0cignY2hlY2tlZCcpOwogICAgfQogIH0pOwogICQoJy5zZWxlY3QnKS5jbGljayhmdW5jdGlvbigpewogICAgJCgnI3NlbGVjdGFsbCcpLnJlbW92ZUF0dHIoJ2NoZWNrZWQnKTsKICB9KTsKICAkKCcjdG9nZ2xlX2ZpbHRlcicpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAkKCcjZmlsdGVyX2Zvcm0nKS50b2dnbGUoKTsKICB9KTsKICB7aWYgaXNzZXQoJHRhYmxlc29ydGVyKX0KICAkKCcjYXJ0aWNsZWxpc3QnKS50YWJsZXNvcnRlcih7IHNvcnRMaXN0OnskdGFibGVzb3J0ZXJ9IH0pOwogIHsvaWZ9Cn0pOwovL11dPgo8L3NjcmlwdD4KPGgyPkxpc3RlIGRlcyBkZXN0aW5hdGFpcmVzPC9oMj4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfSAmbmJzcDsgeyRyZXZlbmlyfTwvcD48L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQp7JGZvcm0yc3RhcnR9Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiA8dGhlYWQ+Cgk8dHI+CgkJPHRoPklkPC90aD4KCQk8dGg+RGVzdGluYXRhaXJlPC90aD4KCQk8dGg+RW52b3nDqSA/PC90aD4JCgkJPHRoPkFjdGlvbnM8L3RoPgoJCTx0aD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJzZWxlY3RhbGwiIG5hbWU9InNlbGVjdGFsbCI+PC90aD4KCTwvdHI+CiA8L3RoZWFkPgogPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCTx0ZD57JGVudHJ5LT5tZXNzYWdlX2lkfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+bGljZW5jZX08L3RkPgoJPHRkPnskZW50cnktPnNlbnR9PC90ZD4KCTx0ZD57JGVudHJ5LT5zdGF0dXN9PC90ZD4KCTx0ZD57JGVudHJ5LT5hcn08L3RkPgoJPHRkPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1zZWxbXSIgdmFsdWU9InskZW50cnktPmlkfSIgY2xhc3M9InNlbGVjdCI+PC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiA8L3Rib2R5Pgo8L3RhYmxlPgo8IS0tIFNFTEVDVCBEUk9QRE9XTiAtLT4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij4KPGJyLz57JGFjdGlvbmRlbWFzc2V9eyRzdWJtaXRfbWFzc2FjdGlvbn0KICA8L2Rpdj4KeyRmb3JtMmVuZH0Key9pZn0K]]></data>
	</file>
</module>
