<?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>SmartForms</name>
	<version>2.1.0</version>
    <mincmsversion>2.2.16</mincmsversion>
	<help><![CDATA[PHNjcmlwdCBzcmM9Imh0dHA6Ly9sb2NhbGhvc3QvQ01TTVMtMi00LURFVi1NT0RTL21vZHVsZXMvQ01TTVNFeHQvanMvanMuY29va2llLmpzIj48L3NjcmlwdD48c2NyaXB0PmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXt2YXIgYWN0aXZlX3RhYiA9IENvb2tpZXMuZ2V0KCdTbWFydEZvcm1zX2FjdGl2ZScpOyQoIiNkb25hdGluZyIpLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KXtldmVudC5wcmV2ZW50RGVmYXVsdCgpO19zZXRfYWN0aXZlX3RhYignY29udHJpYnV0ZScpO30pO2lmKHR5cGVvZiBhY3RpdmVfdGFiID09PSAidW5kZWZpbmVkIil7X3NldF9hY3RpdmVfdGFiKCdnZW5lcmFsJyk7fWVsc2V7X3NldF9hY3RpdmVfdGFiKGFjdGl2ZV90YWIpO30kKCcjcGFnZV90YWJzID4gZGl2JykuZWFjaChmdW5jdGlvbigpeyQodGhpcykuY2xpY2soZnVuY3Rpb24oKXtDb29raWVzLnNldCgnU21hcnRGb3Jtc19hY3RpdmUnLCB0aGlzLmlkKTt9KTt9KTt9KTtmdW5jdGlvbiBfc2V0X2FjdGl2ZV90YWIodGFiX25hbWUpeyQoJyNwYWdlX3RhYnMgPiBkaXYnKS5lYWNoKGZ1bmN0aW9uKCl7JCh0aGlzKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7fSk7JCgnI3BhZ2VfY29udGVudCA+IGRpdicpLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmhpZGUoKTt9KTskKCcjJyArIHRhYl9uYW1lKS5hZGRDbGFzcygnYWN0aXZlJyk7JCgnIycgKyB0YWJfbmFtZSArICdfYycpLnNob3coKTtDb29raWVzLnNldCgnU21hcnRGb3Jtc19hY3RpdmUnLCB0YWJfbmFtZSk7fWZ1bmN0aW9uIGNvcHlUb0NsaXBib2FyZChlbGVtZW50KXt2YXIgJHRlbXAgPSAkKCI8aW5wdXQ+Iik7JCgiYm9keSIpLmFwcGVuZCgkdGVtcCk7JHRlbXAudmFsKCQoZWxlbWVudCkudGV4dCgpKS5zZWxlY3QoKTtkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpOyR0ZW1wLnJlbW92ZSgpO308L3NjcmlwdD48ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+PGRpdiBpZD0icGFnZV90YWJzIj48ZGl2IGlkPSJnZW5lcmFsIj5XaGF0IElzIEl0PC9kaXY+PGRpdiBpZD0iaG93Ij5Ib3cgVG8gVXNlIEl0IC0gSTwvZGl2PjxkaXYgaWQ9Imhvd18yIj5Ib3cgVG8gVXNlIEl0IC0gSUk8L2Rpdj48ZGl2IGlkPSJwYXJhbXMiPlBhcmFtZXRlcnM8L2Rpdj48ZGl2IGlkPSJtaXNjIj5NaXNjZWxsYW5lb3VzPC9kaXY+PGRpdiBpZD0iY29udHJpYnV0ZSI+Q29udHJpYnV0ZTwvZGl2PjxkaXYgaWQ9ImFib3V0Ij5BYm91dDwvZGl2PjwvZGl2PjxkaXYgaWQ9InBhZ2VfY29udGVudCI+PGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj48ZGl2IGlkPSJnZW5lcmFsX2MiPjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CgogIDxwPlRoaXMgaXMgYSBuZXcgZ2VuZXJhdGlvbiBvZiBmb3JtIGhhbmRsaW5nIG1vZHVsZSB0aGF0IHByb3ZpZGVzIHRoZSBhYmlsaXR5IGZvciB3ZWIgcHJvZmVzc2lvbmFscyB0byBidWlsZCBmb3JtcyB0aGUgd2F5IHRoZXkga25vdyBob3csIHVzaW5nIEhUTUwsIENTUyBhbmQgamF2YXNjcmlwdCBhbmQgdGhlbiBlYXNpbHkgZGVmaW5lIHdoYXQgc2hvdWxkIGhhcHBlbiB3aXRoIHRoZSBkYXRhIHVzZXJzIHN1Ym1pdHRlZC48L3A+CiAgPHA+VGhpcyBtb2R1bGUgY2FuIGFsbG93IHlvdSB0byBjcmVhdGUgd2VsbCBzdHlsZWQsIGR5bmFtaWMgZm9ybXMsIHVzaW5nIHdoYXRldmVyIHRvb2xraXQgeW91IGxpa2UgKEJvb3RzdHJhcCwgRm91bmRhdGlvbiwgZXRjKS4gIGFuZCBpbnRlZ3JhdGUgamF2YXNjcmlwdC4gVGhlbiBxdWlja2x5IGRlZmluZSBob3cgdGhlIGZvcm0gZGF0YSBzaG91bGQgYmUgcHJvY2Vzc2VkLjwvcD4KCiAgPGgzPkZlYXR1cmVzPC9oMz4KICA8cD5BbW9uZ3N0IG90aGVycywgdGhlc2UgYXJlIHRoZSBtYWluIGZlYXR1cmVzOjwvcD4KICA8dWw+CiAgICA8bGk+WW91IGNyZWF0ZSB0aGUgZm9ybSwgYW5kIGNhbiBnZXQgaXQgbG9va2luZyB0aGUgd2F5IHlvdSB3YW50LjwvbGk+CiAgICA8bGk+QWxsb3dzIGZvciBqYXZhc2NyaXB0IHZhbGlkYXRpb24sIGFuZCBIVE1MNSBmaWVsZCB0eXBlcy48L2xpPgogICAgPGxpPkNhbiB2ZXJpZnkgZGF0YSBmcm9tIEhUTUw1IGF0dHJpYnV0ZXMgb24gdGhlIHNlcnZlciBzaWRlLCAgZXZlbiBpZiB0aGUgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRoZW0gbmF0aXZlbHkuPC9saT4KICAgIDxsaT5Qcm92aWRlcyBkYXRhIGF0dHJpYnV0ZXMgdG8gYXNzaXN0IGluIHJlbmRlcmluZyBhbmQgaGFuZGxpbmcgdGhlIGZvcm0uPC9saT4KICAgIDxsaT5JbnRlZ3JhdGVzIHdpdGggc21hcnR5PC9saT4KICAgIDxsaT5UYWtlcyBhZHZhbnRhZ2Ugb2YgQ01TTVMgMi4yKyBmZWF0dXJlcyBsaWtlIHRlbXBsYXRlIHR5cGVzIGFuZCBob29rczwvbGk+CiAgICA8bGk+VGVzdHMgeW91ciBjb2RlIHRvIHRlbGwgeW91IGFib3V0IHBhcnNpbmcgZXJyb3JzIGFuZCBwb3RlbnRpYWwgcmVuZGVyaW5nLCBvciBzdWJtaXNzaW9uIHByb2JsZW1zLjwvbGk+CiAgICA8bGk+U3VwcG9ydHMgZmlsZSB1cGxvYWRzPC9saT4KICAgIDxsaT5BZGRyZXNzZXMgc2VjdXJpdHkgaXNzdWVzOgogICAgICA8dWw+CiAgICAgICAgPGxpPlN1cHBvcnRzIGNhcHRjaGE8L2xpPgogICAgICAgIDxsaT5IYXMgYnVpbHQgaW4gaG9uZXlwb3QgY2FwdGNoYSBzdXBwb3J0PC9saT4KICAgICAgICA8bGk+RWFjaCByZXF1ZXN0IGlzIGFzc2lnbmVkIGEgdW5pcXVlIEdVSUQsIHdoaWNoIGlzIHZhbGlkYXRlZCBvbiBzdWJtaXNzaW9uLjwvbGk+CiAgICAgICAgPGxpPkF1dG9tYXRpY2FsbHkgZGlzYWxsb3dzIEhUTUwgdGFncyBpbiBzdWJtaXR0ZWQgcmVzcG9uc2VzLjwvbGk+CiAgICAgICAgPGxpPkZvcm0gYXR0cmlidXRlcyBhcmUgcGFyc2VkIGFuZCBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLCBhbmQgdmFsaWRhdGVkIG9uIHRoZSBzZXJ2ZXIgdG8gbWl0aWdhdGUgTWFuLWluLXRoZS1NaWRkbGUgYXR0YWNrcy48L2xpPgogICAgICA8L3VsPgogICAgPC9saT4KICAgIDxsaT5IYXMgbXVsdGlwbGUgc2VydmVyLXNpZGUgZGF0YSB2YWxpZGF0aW9uIHJvdXRpbmVzPC9saT4KICAgIDxsaT5BdXRvbWF0aWNhbGx5IHNldCBmaWVsZCB2YWx1ZXMgYmFzZWQgb24gZW50ZXJlZCByZXNwb25zZSwgd2l0aG91dCByZXF1aXJpbmcgbWFya3VwIG9yIGxvZ2ljLjwvbGk+CiAgICA8bGk+Q3JlYXRlIHZhbGlkYXRpb25zIGJ5IGF1dG9tYXRpY2FsbHkgcGFyc2luZyB5b3VyIEhUTUwgYW5kIHRlbXBsYXRlLjwvbGk+CiAgICA8bGk+TXVsdGlwbGUgYnVpbHQtaW4gaGFuZGxlcnMvZGlzcG9zaXRpb25zLjwvbGk+CiAgICA8bGk+RWFzaWx5IGFkZCBoYW5kbGVycyBhbmQgZGlzcG9zaXRpb25zIHZpYSB0aGUgQVBJLjwvbGk+CiAgICA8bGk+U3VwcG9ydHMgaG9va3MgZm9yIHZhbGlkYXRpb24gYW5kIGRpc3Bvc2l0aW9uL2hhbmRsaW5nLjwvbGk+CiAgPC91bD4KPC9kaXY+PC9kaXY+PGRpdiBpZD0iaG93X2MiPjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+CiAgPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGlzIG1vZHVsZSBpcyBhaW1lZCBhdCB0aGUgZXhwZXJpZW5jZWQgQ01TTVMgd2ViIHByb2Zlc3Npb25hbC4gWW91IHNob3VsZCBoYXZlIGdvb2QgZXhwZXJpZW5jZSB3aXRoIENNU01TLCBIVE1MLCBDU1MgYW5kIHBvdGVudGlhbGx5IGphdmFzY3JpcHQuPC9wPgogIDxwPlRoZSBmb2xsb3dpbmcgYXJlIHRoZSBzdGVwcyByZXF1aXJlZCB0byB1c2UgdGhpcyBtb2R1bGU8L3A+CiAgPG9sPgogICAgPGxpPkNyZWF0ZSB5b3VyIGZvcm0gSFRNTCB0ZW1wbGF0ZToKICAgICAgIDx1bD4KICAgICAgICAgPGxpPkNyZWF0ZSBhIG5ldyB0ZW1wbGF0ZSBvZiB0eXBlIDxjb2RlPlNtYXJ0Rm9ybXM6OkZvcm08L2NvZGU+IGluIHRoZSBEZXNpZ24gbWFuYWdlci4gQmUgY2FyZWZ1bCB0byByZW1lbWJlciB0aGUgbmFtZSB5b3UgZ2l2ZSB0aGUgbmV3IHRlbXBsYXRlLjwvbGk+CiAgICAgICAgIDxsaT5Db3B5L3Bhc3RlIG9yIGVudGVyIHlvdXIgSFRNTCBmb3JtIGNvZGUgaW50byB0aGUgdGVtcGxhdGUuIFNhdmUgd2hlbiByZWFkeS48L2xpPgogICAgICAgPC91bD4KICAgIDwvbGk+CiAgICA8bGk+Q3JlYXRlIGEgbmV3IGNvbnRlbnQgcGFnZSBhbmQgdGVzdCB5b3VyIGZvcm0gSFRNTAogICAgICAgPHA+QWRkIHRoaXMgY29kZSB0byB0aGUgY29udGVudCBhcmVhOjwvcD4KICAgICAgIDxwcmU+JiMxMjM7aW5jbHVkZSBmaWxlPSdjbXNfdGVtcGxhdGU6eW91cl90ZW1wbGF0ZV9uYW1lJ308L3ByZT4KICAgICAgIDxwPlRoaXMgaXMgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHlvdSB3aWxsIGJlIGNoYW5naW5nIGl0IGxhdGVyIG9uY2UgdGhlIGZvcm0gbG9va3MgZ29vZC48L3A+CiAgICAgICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFlvdSBwcm9iYWJseSB3YW50IHRvIGRpc2FibGUgdGhlIFdZU0lXWUcgZWRpdG9yIGZvciB0aGlzIG5ldyBjb250ZW50IHBhZ2UuPC9wPgogICAgPC9saT4KICAgIDxsaT5FZGl0LCBzdHlsZSwgYW5kIGNvZGUgeW91ciBmb3JtIEhUTUwgdGVtcGxhdGUuCiAgICAgICA8cD5TYXZlIHRoZSBjb250ZW50IHBhZ2UgYW5kIHZpZXcgaXQgaW4geW91ciBicm93c2VyLiBZb3Ugc2hvdWxkIHRlc3Qgb3V0IHlvdXIgSFRNTCwgQ1NTLCBhbmQgamF2YXNjcmlwdC4gRW5zdXJlIHlvdXIgZm9ybSBpcyByZXNwb25zaXZlLCBhbmQgdGVzdCBmb3IgSFRNTCBhbmQgdmFsaWRhdGlvbiBmdW5jdGlvbmFsaXR5LiBZb3UgY2FuIGV2ZW4gc3VibWl0IHlvdXIgZm9ybSwgdGhvdWdoIGF0IHRoaXMgcG9pbnQgaXQgc2hvdWxkIG5vdCBkbyBhbnl0aGluZyBleGNlcHQgcmVmcmVzaCB0aGUgcGFnZS48L3A+CiAgICAgICA8cD5Zb3UgbWF5IG5lZWQgdG8gcmVwZWF0ZWRseSByZWxvYWQgdGhlIGNvbnRlbnQgcGFnZSBhcyB5b3UgYXJlIGVkaXRpbmcgdGhlIEhUTUwsIGFuZCBzdHlsaW5nIHlvdXIgZm9ybS48L3A+CiAgICAgICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFlvdXIgSFRNTCBmb3JtIHRhZyBzaG91bGQgYmUgYXMgc2ltcGxlIGFzIDxjb2RlPiZsdDtmb3JtJmd0OzwvY29kZT4uIFBhcnRpY3VsYXJseSwgeW91IHNob3VsZCBsZWF2ZSBvdXQgdGhlIG1ldGhvZCwgYW5kIGFjdGlvbiBhdHRyaWJ1dGVzLiBMYXRlciwgd2hlbiB0aGUgU21hcnRGb3JtcyBtb2R1bGUgaXMgcmVuZGVyaW5nIHlvdXIgZm9ybSwgYW55IGltcG9ydGFudCBmb3JtIGF0dHJpYnV0ZXMgYW5kIGhpZGRlbiB2YXJpYWJsZXMgd2lsbCBiZSBpbmplY3RlZC4gWW91IGNhbiB0aG91Z2ggYWRkIGFueSBpZCwgY2xhc3MgYW5kIHN0eWxlIGF0dHJpYnV0ZXMgdGhhdCB5b3Ugd2lzaC48L3A+CiAgICAgICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEl0IGlzIGltcG9ydGFudCB0aGF0IHlvdXIgSFRNTCB2YWxpZGF0ZSBhcyBtdWNoIGFzIHBvc3NpYmxlLiBTbyBpdCBpcyBhIGdvb2QgaWRlYSB0byBjaGVjayB5b3VyIG91dHB1dCB3aXRoIGEgdmFsaWRhdG9yLiBBbHNvIGNoZWNrIHRoZSBqYXZhc2NyaXB0IGNvbnNvbGUgZm9yIHdhcm5pbmdzIG9yIGVycm9ycy48L3A+CiAgICA8L2xpPgogICAgPGxpPkNyZWF0ZSBhIGZvcm0gaW4gU21hcnRGb3JtcyBhbmQgbGluayBpdCB0byB5b3VyIGZvcm0gdGVtcGxhdGUuCiAgICAgICA8b2w+CiAgICAgICA8bGk+QnJvd3NlIHRvIDxjb2RlPkV4dGVuc2lvbnMgPj4gPC9jb2RlPiBpbiB0aGUgQ01TTVMgYWRtaW4gcGFuZWwsIGFuZCBjcmVhdGUgYSBuZXcgZm9ybS48L2xpPgogICAgICAgPGxpPlNlbGVjdCB0aGUgbmFtZSBvZiB0aGUgZm9ybSB5b3UgY3JlYXRlZCBhbmQgZWRpdGVkIGFib3ZlLi4uIGFuZCBvcHRpb25hbGx5IHByb3ZpZGUgYSBkZXNjcmlwdGlvbi48L2xpPgogICAgICAgPGxpPkNsaWNrICZxdW90O3NjYW4mcXVvdDsgdGhpcyB3aWxsIHBhcnNlIHlvdXIgSE1UTCB0ZW1wbGF0ZSBhbmQgcHJvdmlkZSBmZWVkYmFjayBvbiB0aGUgJnF1b3Q7bWVzc2FnZXMmcXVvdDsgdGFiIHRvIGluZGljYXRlIGVycm9ycyBhbmQgcG9zc2libGUgaW1wcm92ZW1lbnRzLjwvbGk+CiAgICAgICA8bGk+UmV2aWV3IHRoZSBjb250ZW50IG9mIHRoZSAmcXVvdDtmaWVsZHMmcXVvdDsgdGFiIHRvIGVuc3VyZSB0aGF0IGFsbCBuZWNlc3NhcnkgZmllbGRzIGFyZSBwcmVzZW50LCBhbmQgdGhhdCBldmVyeXRoaW5nIGxvb2tzIGNvcnJlY3QuPC9saT4KICAgICAgIDxsaT5BZGQgb25lIG9yIG1vcmUgJnF1b3Q7aGFuZGxlcnMmcXVvdDs8L2xpPgogICAgICAgPGxpPkVudGVyIGluIHNvbWUgdGV4dCwgb3Igc2VsZWN0IGEgZmluYWwgYWN0aW9uLjwvbGk+CiAgICAgICA8bGk+U2F2ZSB5b3VyIGZvcm0uPC9saT4KICAgICAgIDwvb2w+CiAgICA8L2xpPgogICAgPGxpPkNoYW5nZSB0aGUgY2FsbCB0byByZW5kZXIgeW91ciBmb3JtLgogICAgICA8cD5FZGl0IHRoZSBwYWdlIHlvdSBjcmVhdGVkIGluIHN0ZXAgMiBhYm92ZSwgYW5kIGNoYW5nZSB0aGUgY2FsbCB0byA8Y29kZT4mIzEyMztTbWFydEZvcm1zIGZvcm09J3lvdXJmb3JtbmFtZSd9PC9jb2RlPi4gVGhlbiBzYXZlIHRoZSBjb250ZW50IHBhZ2UuPC9wPgogICAgPC9saT4KICAgIDxsaT5UZXN0CiAgICAgIDxwPlJlbG9hZCB0aGUgY29udGVudCBwYWdlIHdlIGNyZWF0ZWQgYWJvdmUgaW4geW91ciBicm93c2VyLCBhbmQgZW5zdXJlIGV2ZXJ5dGhpbmcgbG9va3MgY29ycmVjdC4gQW5kIHRoZW4gdGVzdCB0aGUgc3VibWlzc2lvbiBvZiB0aGUgZm9ybS48L3A+CiAgICAgIDxwPkJlaGF2aW9yIG9mIHRoZSBmb3JtIHdpbGwgYmUgZGVwZW5kYW50IHVwb24gd2hhdCBmb3JtIG9wdGlvbnMgYXJlIHNlbGVjdGVkLCB3aGF0IHZhbGlkYXRpb25zIGFyZSBzZWxlY3RlZCwgYW5kIHRoZSBoYW5kbGVycy48L3A+CiAgICA8L2xpPgogIDwvb2w+CgogIDxoMz5CdWlsdCBpbiBGb3JtIGFuZCBUZW1wbGF0ZSBUZXN0czwvaDM+CiAgPHVsPgogICAgPGxpPlZhbGlkYXRlIHRlbXBsYXRlIGNvbnRlbnRzIDxlbT4oVGVtcGxhdGVWYWxpZGF0b3IpPC9lbT4KICAgICAgPHA+VGhpcyB0ZXN0IGNoZWNrcyBmb3IgdmFsaWQgZm9ybSBzdGFydGluZyBhbmQgZW5kaW5nIHRhZ3MsIHdoZXRoZXIgdGhleSBhcmUgcHJvdmlkZWQgdmlhIEhUTUwgdGFncywgb3IgdGhlIENNU01TICYjMTIzO2Zvcm1fc3RhcnR9IGFuZCAmIzEyMztmb3JtX2VuZH0gdGFncy4gSXQgYWxzbyBjaGVja3MgaWYgeW91ciB0ZW1wbGF0ZSBpcyBjYWxsaW5nICYjMTIzO3NtdGZtX2Zvcm1fZXJyb3JzfSB0byByZXRyaWV2ZSB2YWxpZGF0aW9uIGVycm9ycy48L3A+CiAgICA8L2xpPgogICAgPGxpPkZvcm0gVmFsaWRhdGlvbiA8ZW0+KEZvcm1UYWdWYWxpZGF0b3IpPC9lbT4KICAgICAgPHA+VGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB5b3VyIHRlbXBsYXRlIGNvbnRhaW5zIG9ubHkgb25lIGZvcm0sIGFuZCBjaGVja3MgdG8gZW5zdXJlIHRoYXQgeW91IGhhdmUgbm90IHByb3ZpZGVkIGFueSBmb3JtIGF0dHJpYnV0ZXMgdGhhdCB3aWxsIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGZvcm0gcmVuZGVyaW5nIHByb2Nlc3MuPC9wPgogICAgPC9saT4KICAgIDxsaT5UZXN0IGZvciBtaXNzaW5nIGlucHV0IG5hbWVzIDxlbT4oRm9ybU1pc3NpbmdOYW1lVmFsaWRhdG9yKTwvZW0+CiAgICAgIDxwPldoZW4gc3VibWl0dGluZyBhIGZvcm0gdG8gYSBzZXJ2ZXIsIHRoZSBuYW1lIG9mIGVhY2ggaW5wdXQsIHRleHRhcmVhLCBhbmQgc2VsZWN0IGZpZWxkIGlzIG1hbmRhdG9yeS4gVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBlYWNoIG9mIHRob3NlIGZpZWxkcyBoYXMgYSB2YWxpZCBuYW1lIGF0dHJpYnV0ZS48L3A+CiAgICA8L2xpPgogICAgPGxpPlRlc3QgZm9yIG1pc3NpbmcgbGFiZWxzIDxlbT4oRm9ybU1pc3NpbmdMYWJlbFZhbGlkYXRvcik8L2VtPgogICAgICA8cD5UaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGVhY2ggaW5wdXQgaGFzIHNvbWUgc29ydCBvZiBsYWJlbCBkZXRlY3RlZC4gVGhlIGxhYmVsIGlzIHVzZWQgYXV0b21hdGljYWxseSBieSBmb3JtIGhhbmRsZXJzIGFzIHRoZSBodW1hbi1yZWFkYWJsZSB2YWx1ZSBmb3IgZWFjaCBmaWVsZCB3aGVuIHNhdm5nIHRoZSBmb3JtLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+VGVzdCBmb3IgbWlzc2luZyB2YWx1ZXMgPGVtPihGb3JtTWlzc2luZ1ZhbHVlVmFsaWRhdG9yKTwvZW0+CiAgICAgIDxwPlNvbWUgaW5wdXRzIChsaWtlIGNoZWNrYm94ZXMsIGFuZCByYWRpbyBidXR0b25zKSByZXF1aXJlIGEgdmFsdWUgYXR0cmlidXRlLCBhbmQgcmVxdWlyZSBpdCB0byBiZSBmaWxsZWQgaW4gc28gdGhhdCBkYXRhIGNhbiBiZSBwcm9wZXJseSB0cmFuc21pdHRlZCB0byB0aGUgc2VydmVyLiBUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGVhY2ggb2YgeW91ciBmaWVsZHMgaGFzIGEgdmFsdWUsIGFzIHJlcXVpcmVkLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+RHVwbGljYXRlIElEIHRlc3QgPGVtPihGb3JtRHVwbGljYXRlSWRWYWxpZGF0b3IpPC9lbT4KICAgICAgPHA+QXMgYSBjb252ZW5pZW5jZSwgdGhvdWdoIGl0IGlzIG5vdCBpbXBvcnRhbnQgZm9yIHRoZSBmb3JtIHN1Ym1pc3Npb24gcHJvY2VzcywgdGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBubyB0d28gaW5wdXQgZmllbGRzIGhhdmUgdGhlIHNhbWUgaWQuPC9wPgogICAgPC9saT4KICAgIDxsaT5EdXBsaWNhdGUgbmFtZSB0ZXN0IDxlbT4oRm9ybUR1cGxpY2F0ZU5hbWVWYWxpZGF0b3IpPC9lbT4KICAgICAgPHA+VGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB0aGUgbmFtZSBvZiBpbnB1dCBmaWVsZHMgaXMgbm90IGVycm9uZW91c2x5IGR1cGxpY2F0ZWQuIFdlIGNoZWNrIGZvciBkdXBsaWNhdGUgbmFtZXMgd2l0aCBkaWZmZXJlbnQgdHlwZXMgb2YgZmllbGRzLiBJdCBpZ25vcmVzIHJhZGlvIGJ1dHRvbiBncm91cHMsIGFuZCBvdGhlciBmaWVsZHMgd2hlcmUgaXQgaXMgdmFsaWQgdG8gZHVwbGljYXRlIHRoZSBpbnB1dCBuYW1lLjwvcD4KICAgIDwvbGk+CiAgPC91bD4KCiAgPGgzPkZvcm0gU2Nhbm5pbmcgYW5kIFNhdmluZzwvaDM+CiAgPHA+VGhpcyBtb2R1bGUgc3RvcmVzIG1ldGFkYXRhIGFib3V0IHRoZSBmb3JtIHRlbXBsYXRlIGluIHRoZSBkYXRhYmFzZS4gVGhpcyBtZXRhZGF0YSBpcyB1c2VkIGZvciBidWlsZGluZyB2YWxpZGF0b3JzIGFuZCBoYW5kbGVycywgYW5kIG9uIHRoZSBmcm9udGVuZCB0byBhaWQgaW4gcmVuZGVyaW5nLCB2YWxpZGF0aW9uIGFuZCBoYW5kbGluZy4gVGhlcmVmb3JlLCBlYWNoIHRpbWUgdGhlIGZvcm0gdGVtcGxhdGUgaXMgY2hhbmdlZCB0aGUgZm9ybSBtdXN0IGJlIHJlLXNjYW5uZWQuPC9wPgogIDxwPlRoZSBzY2FubmluZyBwcm9jZXNzIHdpbGwgcGFyc2UgdGhlIEhUTUwgb2YgdGhlIGZvcm0gdGVtcGxhdGUsIGFuZCBidWlsZCBtZXRhZGF0YS4gSXQgd2lsbCBvdXRwdXQgYSBsaXN0IG9mIHBvdGVudGlhbCBwcm9ibGVtcyB3aXRoIHlvdXIgZm9ybS4gaS5lLjogaW52YWxpZCBzeW50YXgsIG1pc3NpbmcgbGFiZWxzLCBldGMuIFNvbWUgb2YgdGhlc2UgbWVzc2FnZXMgbWF5IGJlIGludGVudGlvbmFsLCBvciBtYXkgYmUgYW4gZXJyb3IgaW4gdGhlIHRlbXBsYXRlLiBFYWNoIGRldmVsb3BlciB3aWxsIG5lZWQgdG8gZGV0ZXJtaW5lIHRoaXMgZm9yIGhpbXNlbGYuPC9wPgoKICA8aDM+UHJlLXJlbmRlciBsb2dpYzwvaDM+CiAgPHA+VGhpcyBzbWFydHkgdGVtcGxhdGUgYWxsb3dzIHlvdSB0byBpbml0aWFsaXplIHN0YXRlIGluZm9ybWF0aW9uIGZvciB1c2UgaW4gdGhlIGZvcm0gZm9yIHVzZSB3aGVuIHRoZSBmb3JtIGlzIGluaXRpYWxseSBkaXNwbGF5ZWQgKGkuZS46IG5vdCB0aGUgcmVzdWx0IG9mIGEgc3VibWlzc2lvbikuIEl0IGlzIHVzZWZ1bCBmb3Igc2V0dGluZyB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBpbnB1dCBmaWVsZHMgYmFzZWQgb24gc29tZSBsb2dpYy48L3A+CiAgPHA+VGhpcyBpcyBhY2NvbXBsaXNoZWQgYnkgdXNpbmcgdGhlIDxjb2RlPiYjMTIzO3NtdGZtX3NldH08L2NvZGU+IHNtYXJ0eSBwbHVnaW4uIGkuZTogPGNvZGU+JiMxMjM7c210Zm1fc2V0IGZpZWxkPXdpZGdldF9jb2xvciB2YWx1ZT13aGl0ZX08L2NvZGU+LjwvcD4KICA8cD5UaGlzIHNpbXBsZSBleGFtcGxlLCB3aWxsIHNldCB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgYSBmaWVsZCBuYW1lZCAmcXVvdDt3aWRnZXRfY29sb3ImcXVvdDsgdG8gd2hpdGUgb24gc3VuZGF5czo8L3A+CiAgPHByZT48Y29kZT4mIzEyMztpZiAkc21hcnR5Lm5vd3xkYXRlX2Zvcm1hdDonJWQnID09IDB9JiMxMjM7c210Zm1fc2V0IGZpZWxkPXdpZGdldF9jb2xvciB2YWx1ZT0nd2hpdGUnfSYjMTIzOy9pZn08L2NvZGU+PC9wcmU+CgogIDxoMz5TdWJtaXNzaW9uIFZhbGlkYXRpb25zPC9oMz4KICA8cD5TdWJtaXNzaW9uIHZhbGlkYXRpb25zIHRha2UgdGhlIHVzZXIgZW50ZXJlZCByZXNwb25zZSwgYW5kIGVuc3VyZSB0aGF0IGl0IGNvbmZvcm1zIHRvIHRoZSByZXF1aXJlbWVudHMgc3BlY2lmaWVkIGVpdGhlciBpbiB0aGUgZm9ybSBpdHNlbGYsIG9yIHZpYSBhZGRpdGlvbmFsIHZhbGlkYXRvcnMgeW91IGFkZGVkLiBUaGV5IG1heSBhbHNvIG1vZGlmeSB0aGUgcmVzcG9uc2UuIFVzdWFsbHkgdGhvdWdoIHRoZXkgZG8gbm90IHN0b3JlIHRoZSBkYXRhIG9yIHNlbmQgdGhlIGRhdGEgYW55d2hlcmUuPC9wPgogIDxwPklmIGFueSB2YWxpZGF0aW9ucyBmYWlsLCB0aGUgZXJyb3IgbWVzc2FnZXMgYXJlIGNvbGxlY3RlZCBhbmQgdGhlIGZvcm0gaXMgcmUtcmVuZGVyZWQsIHdpdGhvdXQgZXhlY3V0aW5nIGFueSBvZiB0aGUgaGFuZGxlcnMuPC9wPgogIDxwPkJlbG93IGlzIGEgbGlzdCBvZiB0aGUgc3VibWlzc2lvbiB2YWxpZGF0aW9ucyB0aGF0IGFyZSBidWlsdCBpbiB0byAuPC9wPgogIDx1bD4KICAgIDxsaT5DaGVjayBmb3IgSFRNTCBpbiBpbnB1dCBzdWJtaXNzaW9uIDxlbT4oSHRtbERldGVjdGlvblZhbGlkYXRpb24pPC9lbT4KICAgICAgIDxwPlRoaXMgdmFsaWRhdGlvbiBlbnN1cmVzIHRoYXQgYSB1c2VyIGhhcyBub3QgYW55IGluamVjdGVkIEhUTUwgY29kZSAoaW5jbHVkaW5nIHBvdGVudGlhbGx5IG1hbGljaW91cyBzY3JpcHQgdGFncykgaW50byBhbnkgc3VibWl0dGVkIGZpZWxkcy48L3A+CiAgICAgICA8cD5UaGlzIHRlc3QgaXMgYWRkZWQgYXV0b21hdGljYWxseSB3aGVuIGF1dG8tdmFsaWRhdGlvbiBpcyBlbmFibGVkLjwvcD4KICAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyB2YWxpZGF0b3IgZG9lcyBub3Qgb2JleSB0aGUgZGF0YS1zbXRmbS1ub3ZhbGlkYXRlIGF0dHJpYnV0ZS48L3A+CiAgICA8L2xpPgogICAgPGxpPkNoZWNrIGZvciByZXF1aXJlZCBkYXRhIDxlbT4oSHRtbFJlcXVpcmVkRmllbGRWYWxpZGF0aW9uKTwvZW0+CiAgICAgICA8cD5UaGlzIHZhbGlkYXRpb24gZW5zdXJlcyB0aGF0IHRoZXJlIGlzIHNvbWUgZGF0YSBpbiBldmVyeSBmaWVsZCB0aGF0IGlzIG1hcmtlZCBhcyByZXF1aXJlZC4gRWl0aGVyIHZpYSB0aGUgPGNvZGU+cmVxdWlyZWQ8L2NvZGU+IEhUTUw1IGF0dHJpYnV0ZSBvciB0aGUgPGNvZGU+ZGF0YS1zbXRmbS1yZXF1aXJlZDwvY29kZT4gYXR0cmlidXRlLjwvcD4KICAgICAgIDxwPlRoaXMgdGVzdCBpcyBhZGRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gYXV0by12YWxpZGF0aW9uIGlzIGVuYWJsZWQuPC9wPgogICAgPC9saT4KICAgIDxsaT5DaGVjayB0aGUgdmFsdWUgb2YgYWxsIFNlbGVjdCBmaWVsZHMsIHJhZGlvLWJ1dHRvbiBncm91cHMsIGFuZCBjaGVja2JveC1ncm91cHMgPGVtPihTZWxlY3RGaWVsZFZhbGlkYXRpb24pPC9lbT4KICAgICAgIDxwPlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgZm9yIGVhY2ggb2YgdGhlIG11bHRpLW9wdGlvbiAoc2VsZWN0IGZpZWxkcywgcmFkaW8tYnV0dG9uLWdyb3VwcyBhbmQgY2hlY2tib3gtZ3JvdXBzKSBmaWVsZHMgdGhhdCBvbmx5IGEgdmFsaWQgdmFsdWUgaXMgc3VibWl0dGVkLjwvcD4KICAgICAgIDxwPlRoaXMgdGVzdCBpcyBhZGRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gYXV0by12YWxpZGF0aW9uIGlzIGVuYWJsZWQgYW5kIG9uZSBvciBtb3JlIG11bHRpLW9wdGlvbiBmaWVsZHMgYXJlIGRldGVjdGVkLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+Q2hlY2sgdGhlIHZhbHVlIG9mIGFsbCBlbWFpbCBmaWVsZHMuIDxlbT4oRW1haWxQcmltaXRpdmllVmFsaWRhdGlvbik8L2VtPgogICAgICAgPHA+VGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBmb3IgZWFjaCBlbWFpbCBmaWVsZCAoZGVub3RlZCBieSBlaXRoZXIgPGNvZGU+dHlwZT0iZW1haWwiPC9jb2RlPiBvciA8Y29kZT5kYXRhLXNtdGZtLXByaW1hcnk9ImVtYWlsIjwvY29kZT4pIFRoYXQgZWFjaCBvZiB0aGUgdmFsdWVzIGNvbnRhaW5zIGEgdmFsaWQgZW1haWwgYWRkcmVzcy48L3A+CiAgICAgICA8cD5UaGlzIHRlc3QgaXMgYWRkZWQgYXV0b21hdGljYWxseSB3aGVuIGF1dG8tdmFsaWRhdGlvbiBpcyBlbmFibGVkIGFuZCBvbmUgb3IgbW9yZSBlbWFpbCBmaWVsZHMgYXJlIGRldGVjdGVkLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+Q2hlY2sgdGhlIHZhbHVlIG9mIGFsbCBkYXRlIGZpZWxkcy4gPGVtPihEYXRlUHJpbWl0aXZlVmFsaWRhdGlvbik8L2VtPgogICAgICAgPHA+VGhpcyB0ZXN0IHdpbGwgZW5zdXJlIHRoYXQgZm9yIGVhY2ggZGF0ZSBmaWVsZCAoZGVub3RlZCBieSBlaXRoZXIgPGNvZGU+dHlwZT0iZGF0ZSI8L2NvZGU+IG9yIDxjb2RlPmRhdGEtc210Zm0tcHJpbWFyeT0iZGF0ZSI8L2NvZGU+KSBUaGF0IGVhY2ggb2YgdGhlIHZhbHVlcyBpcyBhIHZhbGlkIGRhdGUuIFRoaXMgdGVzdCB3aWxsIGFsc28gdmFsaWRhdGUgdGhlIHZhbHVlcyBnaXZlbiBhbnkgcmFuZ2UgYXR0cmlidXRlcyBzdWNoIGFzIG1pbixtYXgsZGF0YS1zbXRmbS1taW4sZGF0YS1zbXRmbS1tYXguIEEgZGF0ZSBzdHJpbmcgbXVzdCBiZSBpbiB0aGUgZm9ybWF0IG9mIHl5eXktbW0tZGQuPC9wPgogICAgICAgPHA+VGhpcyB0ZXN0IGlzIGFkZGVkIGF1dG9tYXRpY2FsbHkgd2hlbiBhdXRvLXZhbGlkYXRpb24gaXMgZW5hYmxlZCBhbmQgb25lIG9yIG1vcmUgZGF0ZSBmaWVsZHMgYXJlIGRldGVjdGVkLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+RW5zdXJlIHRoYXQgYWxsIHVwbG9hZHMgY29uZm9ybSB0byB0aGUgc3BlY2lmaWNhdGlvbnMuIDxlbT4oRmlsZVZhbGlkYXRvcik8L2VtPgogICAgICAgPHA+VE9ETzwvcD4KICAgICAgIDxwPlRoaXMgdGVzdCBpcyBhZGRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gYXV0by12YWxpZGF0aW9uIGlzIGVuYWJsZWQsIGFuZCBvbmUgb3IgbW9yZSBmaWxlIGZpbGVzIGFyZSBkZXRlY3RlZC48L3A+CiAgICA8L2xpPgogICAgPGxpPkNoZWNrIHRoZSB2YWx1ZSBvZiBzcGVjaWZpYyBpbnRlZ2VyIGZpZWxkcy4gPGVtPihJbnRlZ2VyRmllbGRWYWxpZGF0aW9uKTwvZW0+CiAgICAgICA8cD5UaGlzIHRlc3Qgd2lsbCBlbnN1cmUgdGhhdCB0aGUgc3BlY2lmaWVkIGZpZWxkIGlzIGFuIGludGVnZXIsIGFuZCB0aGF0IGl0J3MgdmFsdWVzIGNvbmZvcm0gdG8gZGV2ZWxvcGVyIGVudGVyZWQgcmFuZ2UgdmFsdWVzLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+Q2hlY2sgdGhlIHZhbHVlIG9mIHNwZWNpZmljIGZsb2F0IGZpZWxkcy4gPGVtPihGbG9hdEZpZWxkVmFsaWRhdGlvbik8L2VtPgogICAgICAgPHA+VGhpcyB0ZXN0IHdpbGwgZW5zdXJlIHRoYXQgdGhlIHNwZWNpZmllZCBmaWVsZCBpcyBhIGZsb2F0LCBhbmQgdGhhdCBpdCdzIHZhbHVlcyBjb25mb3JtIHRvIGRldmVsb3BlciBlbnRlcmVkIHJhbmdlIHZhbHVlcy48L3A+CiAgICA8L2xpPgogICAgPGxpPkVuc3VyZSB0aGUgdmFsdWUgb2YgYSBzcGVjaWZpYyBmaWVsZCBtYXRjaGVzIGEgcmVndWxhciBleHByZXNzaW9uL3BhdHRlcm4uIDxlbT4oUmVnZXhGaWVsZFZhbGlkYXRpb24pPC9lbT4KICAgICAgIDxwPlRoaXMgdGVzdCB3aWxsIGVuc3VyZSB0aGF0IGFsbCB0aGUgdmFsdWVzIG9mIHRoZSBzcGVjaWZpZWQgZmllbGQgbWF0Y2ggdGhlIHByb3ZpZGVkIHJlZ3VsYXIgZXhwcmVzc2lvbi9wYXR0ZXJuLjwvcD4KICAgICAgIDxwPlRoaXMgdGVzdCBpcyBhZGRlZCBhdXRvbWF0aWNhbGx5IGZvciBlYWNoIGZpZWxkIHdpdGggYSBwYXR0ZXJuLCBvciBkYXRhLXNtdGZtLXBhdHRlcm4gYXR0cmlidXRlIHdoZW4gYXV0by12YWxpZGF0aW9uIGlzIGVuYWJsZWQgaW4gdGhlIGZvcm0uPC9wPgogICAgPC9saT4KICAgIDxsaT5FbnN1cmUgdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWMgZmllbGQgaXMgYW4gZW1haWwgYWRkcmVzcy4gPGVtPihFbWFpbEZpZWxkVmFsaWRhdGlvbik8L2VtPgogICAgICAgPHA+VGhpcyB0ZXN0IHdpbGwgZW5zdXJlIHRoYXQgYWxsIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHNwZWNpZmllZCBmaWVsZCBhcmUgdmFsaWQgZW1haWwgYWRkcmVzc2VzLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+VmFsaWRhdGUgdmlhIFNtYXJ0eSBUZW1wbGF0ZS4gPGVtPihUZW1wbGF0ZVZhbGlkYXRpb24pPC9lbT4KICAgICAgIDxwPlRoaXMgdmFsaWRhdG9yIGFsbG93cyB5b3UgdG8gdXNlIHNtYXJ0eSB0byB2YWxpZGF0ZSB0aGUgZm9ybSBzdWJtaXNzaW9uLiBZb3UgY2FuIHVzZSBzbWFydHkgbG9naWMsIGFuZC9vciBVRFRzIG9yIG90aGVyIHBsdWdpbnMgdG8gZXZhbHVhdGUgdGhlIGNvbnRlbnQuIElmIHRoZSB0ZXN0IGZhaWxzLCB0aGUgdGVtcGxhdGUgc2hvdWxkIG91dHB1dCBhbiBlcnJvciBtZXNzYWdlLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+Q29tcHV0ZSB0aGUgdmFsdWUgb2YgYSBmaWVsZCwgZ2l2ZW4gYSB0ZW1wbGF0ZS4gPGVtPihDb21wdXRlZFZhbHVlKTwvZW0+CiAgICAgICA8cD5UaGlzIGlzIGEgc3BlY2lhbCBraW5kIG9mIHZhbGlkYXRpb24gdGVzdC4gSXQgaXMgY2FwYWJsZSBvZiBjb21wdXRpbmcgdGhlIHZhbHVlIG9mIG9uZSBmaWVsZCBnaXZlbiB0aGUgb3RoZXIgZGF0YSBpbiB0aGUgc3VibWl0dGVkIHJlc3BvbnNlLiBJdCBpcyB1c2VmdWwgZm9yIGRvaW5nIGNhbGN1bGF0aW9ucyBhbmQgcHV0dGluZyB0aGUgb3V0cHV0IGludG8gYSBuZXcgZmllbGQsIG9yIGZvciBhZGp1c3RpbmcgdGhlIHZhbHVlIG9mIG9uZSBmaWVsZCBiYXNlZCBvbiBsaW1pdHMgc3BlY2lmaWVkIGluIG90aGVyIGZpZWxkcy48L3A+CiAgICAgICA8cD5UaGUgb3V0cHV0IG9mIGEgc21hcnR5IHRlbXBsYXRlIDxlbT4oYSBzdHJpbmcpPC9lbT4gcmVwbGFjZXMgdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWVkIGZpZWxkLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+VXNlIGEgaG9vayB0byB2YWxpZGF0ZSB0aGUgcmVzcG9uc2UuIDxlbT4oSG9va1ZhbGlkYXRpb24pPC9lbT4KICAgICAgIDxwPlRoaXMgdmFsaWRhdGlvbiBjYWxscyBhIGhvb2sgZW50aXRsZWQgPGNvZGU+U21hcnRGb3Jtczo6dmFsaWRhdGVGb3JtPC9jb2RlPiBhbmQgcGFzc2VzIHRoZSBlbnRpcmUgZm9ybSByZXNwb25zZS4gVGhlIGhvb2sgaGFuZGxlcnMgY2FuIGNob29zZSB0byBtb2RpZnkgdGhlIHJlc3BvbnNlLCBvciB0byBwZXJmb3JtIHZhcmlvdXMgb3RoZXIgdGVzdHMuIElmIGEgdGVzdCBmYWlscywgdGhlbiBpdCBpcyBleHBlY3RlZCB0byB0aHJvdyBhIHNwZWNpYWwgZXhjZXB0aW9uLjwvcD4KICAgIDwvbGk+CiAgPC91bD4KCiAgPGgzPkJ1aWx0IGluIEhhbmRsZXJzL0Rpc3Bvc2l0aW9uczwvaDM+CiAgPHA+Rm9ybSBoYW5kbGVycyBhcmUgZXhlY3V0ZWQgYWZ0ZXIgYWxsIHN1Ym1pc3Npb24gdmFsaWRhdGlvbnMgaGF2ZSBwYXNzZWQsIGFuZCBhcmUgdXNlZCB0byAmcXVvdDtkbyB0aGluZ3MmcXVvdDsgd2l0aCB0aGUgZGF0YS4gVGhleSBkbyBub3QgdHlwaWNhbGx5IG1vZGlmeSB0aGUgb3V0cHV0IGRhdGEuPC9wPgogIDxwPklmIGFuIGVycm9yIG9jY3VycyBpbiBhIGRpc3Bvc2l0aW9uLCB0aGUgZXJyb3IgaXMgbm9ybWFsbHkgbG9nZ2VkIGluIHNvbWUgZm9ybWF0ICh0aGlzIGlzIHRoZSB0YXNrIG9mIHRoZSBzcGVjaWZpYyBoYW5kbGVyKSwgYW5kIHByb2Nlc3NpbmcgY29udGludWVzLjwvcD4KICA8cD5CZWxvdyBpcyBhIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBidWlsdC1pbiBkaXNwb3NpdGlvbnMuPC9wPgogIDx1bD4KICAgIDxsaT5TYXZlIHRoZSByZXN1bHRzIHRvIGEgZmlsZSBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgYSBtdWx0aS1vcHRpb24gZmllbGQuPC9saT4KICAgIDxsaT5TYXZlIHRoZSByZXN1bHRzIHRvIGEgdW5pcXVlIGZpbGUuPC9saT4KICAgIDxsaT5TYXZlIHRoZSByZXN1bHRzIHRvIGEgZmxhdCBmaWxlIDxlbT4odXN1YWxseSBDU1YpPC9lbT48L2xpPgogICAgPGxpPlNlbmQgdGhlIHJlc3VsdHMgdmlhIGVtYWlsIGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiBhIG11bHRpLW9wdGlvbiBmaWVsZC48L2xpPgogICAgPGxpPlNlbmQgdGhlIHJlc3VsdHMgdmlhIGVtYWlsIHRvIHNwZWNpZmllZCBlbWFpbCBhZGRyZXNzZXMuPC9saT4KICAgIDxsaT5TZW5kIHRoZSByZXN1bHRzIHZpYSBlbWFpbCB0byBhIHVzZXIgc3BlY2lmaWVkIGVtYWlsIGFkZHJlc3MuPC9saT4KICAgIDxsaT5QT1NUIGZvcm0gcmVzdWx0cyB0byBhIFVSTC9XZWJIb29rLjwvbGk+CiAgICA8bGk+UmVkaXJlY3QgdG8gYSBVUkwgYmFzZWQgb24gdGhlIG91dHB1dCBvZiBhIHRlbXBsYXRlLjwvbGk+CiAgICA8bGk+UmVkaXJlY3QgdG8gYSBwYWdlIGJhc2VkIG9uIHRoZSBvdXRwdXQgb2YgYSB0ZW1wbGF0ZS48L2xpPgogICAgPGxpPlVzZSBhIGhvb2sgdG8gaGFuZGxlL2Rpc3Bvc2Ugb2YgdGhlIHJlc3BvbnNlLjwvbGk+CiAgICA8bGk+U3RvcmUgZm9ybSByZXN1bHRzIHRvIHRoZSBzZXNzaW9uIGZvciBsYXRlciBwcm9jZXNzaW5nLjwvbGk+CiAgICA8bGk+U3RvcCBQcm9jZXNzaW5nIERpc3Bvc2l0aW9ucyBiYXNlZCBvbiBhIENvbmRpdGlvbjwvbGk+CiAgPC91bD4KPC9kaXY+PC9kaXY+PGRpdiBpZD0iaG93XzJfYyI+PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8aDM+Q29tbW9uIEVycm9ycyBhbmQgUHJvYmxlbXMuPC9oMz4KICA8dWw+CiAgICA8bGk+Q291bGQgbm90IHJldHJpZXZlIGZvcm0gb2JqZWN0CiAgICAgICA8cD4gdXNlcyB0aGUgc2Vzc2lvbiB3aGVuIGVkaXRpbmcgYSBmb3JtLiBUaGlzIG1lc3NhZ2UgaW5kaWNhdGVzIHRoYXQgdGhlIHNlc3Npb24gaGFzIHRpbWVkIG91dCwgYW5kIGFueXRoaW5nIHVuLXNhdmVkIGluIHlvdXIgZm9ybSBoYXMgYmVlbiBsb3N0LiBQbGVhc2UgZW5zdXJlIHRoYXQgeW91IHNhdmUgeW91ciBmb3JtIG9mdGVuLjxwPgogICAgPC9saT4KICAgIDxsaT5Nb2RpZmljYXRpb24gb2YgZmllbGQgdmFyaWFibGVzIGluIHNtYXJ0eQogICAgICAgPHA+RWFjaCB0ZW1wbGF0ZSB1c2VkIGJ5IGVhY2ggdmFsaWRhdGlvbiBvciBoYW5kbGVyIGluIHRoZSAgbW9kdWxlIHVzZXMgaXRzIG93biBzY29wZSB0byBwcmV2ZW50IHZhcmlhYmxlIG5hbWUgY29uZmxpY3RzLiBGb3IgdGhpcyByZWFzb24geW91IGNhbm5vdCBtb2RpZnkgdGhlIHZhbHVlcyBvZiB0aGUgcmVzcG9uc2UgYnkgZWRpdGluZyB0aGUgc21hcnR5IHZhcmlhYmxlcy48L3A+CiAgICA8L2xpPgogICAgPGxpPk5hbWVzIG9mIG11bHRpc2VsZWN0IGZpZWxkcyBvciBjaGVja2JveCBncm91cHMuCiAgICAgICA8cD5XaGVuIHNlbmRpbmcgbXVsdGlwbGUgdmFsdWVzIGZvciBhIHNwZWNpZmljIGZpZWxkIHRvIHRoZSBzZXJ2ZXIsIFBIUCBleHBlY3RzIGFuIGFycmF5LiBUbyB0ZWxsIFBIUCB0byBleHBlY3QgYW4gYXJyYXkgb2YgdmFsdWVzLCBbXSBtdXN0IGJlIGFkZGVkIHRvIHRoZSBuYW1lIG9mIHRoZSBtdWx0aXNlbGVjdCBmaWVsZCwgb3IgdG8gdGhlIG5hbWUgb2YgZWFjaCBjaGVja2JveCBpbiBhIGNoZWNrYm94IGdyb3VwLjwvcD4KICAgICAgIDxwPldoZW4gcmVuZGVyaW5nIHRoZSBmb3JtLCAgd2lsbCBhdHRlbXB0IHRvIGRldGVjdCB0aGUgZWZmZWN0ZWQgZmllbGRzLCBhbmQgYXV0b21hdGljYWxseSBhcHBlbmQgdGhlIFtdIHRvIHRoZSBmaWVsZCBuYW1lcyBhcyBhcHByb3ByaWF0ZS4gWW91IGNhbiBkaXNhYmxlIHRoaXMgd2l0aCB0aGUgPGNvZGU+ZGF0YS1zbXRmbS1ub25hbWVhZGp1c3Q8L2NvZGU+IGF0dHJpYnV0ZSBvbiB0aGUgZm9ybSB0YWcuPC9wPgogICAgPC9saT4KICAgIDxsaT5Db25kaXRpb25hbCBvciBkeW5hbWljIGZpZWxkcyAodmlhIHNtYXJ0eSkKICAgICAgPHA+VGhlIHNjYW4gZnVuY3Rpb25hbGl0eSBvZiAgaXMgYW4gYWRtaW4gc2lkZSBhY3Rpb24gdGhhdCB0YWtlcyB5b3VyIGZvcm0gdGVtcGxhdGUsIHBhc3NlcyBpdCB0aHJvdWdoIHNtYXJ0eSwgYW5kIHRoZW4gcGFyc2VzIHRoZSByZXN1bHRpbmcgSFRNTCBjb2RlLiAgdGhlbiBidWlsZHMgYSBsaXN0IG9mIHRoZSBmaWVsZHMgYW5kIHRoZXJlIHZhcmlvdXMgb3B0aW9ucyBhbmQgYXR0cmlidXRlcyBmb3IgdXNlIGluIHJlbmRlcmluZywgaGFuZGxlcnMgYW5kIGRpc3Bvc2l0aW9ucy4gVGhlIHNtYXJ0eSBlbnZpcm9ubWVudCBpbiB0aGUgYWRtaW4gaW50ZXJmYWNlIGlzIGRpZmZlcmVudCB0aGFuIHRoYXQgaW4gdGhlIGZyb250ZW5kLCBvciBldmVuIG9uIGRpZmZlcmVudCBDTVNNUyBjb250ZW50IHBhZ2VzIG9yIGRpZmZlcmVudCBzdGF0ZSBvZiB5b3VyIGFwcGxpY2F0aW9uLiBUaGVyZWZvcmUsIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBkeW5hbWljYWxseSBhZGQgYW5kIHJlbW92ZSBmaWVsZHMgZnJvbSB0aGUgdGVtcGxhdGUgdXNpbmcgbG9naWMgaW4gc21hcnR5IHRlbXBsYXRlcyBvciBkeW5hbWljYWxseSByZXRyaWV2ZWQgZnJvbSB0aGUgZGF0YWJhc2UuPC9wPgogICAgPC9saT4KICAgIDxsaT5UcnkgdG8gYXZvaWQgdGhlIHVzZSBvZiBzbWFydHkgY29uZGl0aW9uYWxzIHRvIGRpc3BsYXkgZm9ybXMgaW4geW91ciB0ZW1wbGF0ZSwgdXNlIGphdmFzY3JpcHQgd2hlcmUgcG9zc2libGUuIEhvd2V2ZXIsIGlmIHRoZXJlIGFyZSBzbWFydHkgY29uZGl0aW9uYWxzIHRoYXQgY29udHJvbCB0aGUgZGlzcGxheSBvZiBjZXJ0YWluIGZpZWxkcywgdGhlbiBpdCBpcyBzdHJvbmdseSBhZHZpc2VkIHRoYXQgeW91IGNyZWF0ZSBhIGhpZGRlbiBmaWVsZCBhcyBhIHBsYWNlIGhvbGRlciBmb3IgdGhhdCBmaWVsZCBwcmlvciB0byB0aGUgY29uZGl0aW9uYWwuIFRoaXMgd2lsbCB1c3VhbGx5IGVuc3VyZSB0aGF0IHRoZSBmaWVsZCBuYW1lIGlzIHNjYW5uZWQuPC9saT4KICA8L3VsPgoKICA8aDM+Q29udHJvbGxpbmcgZm9ybSBiZWhhdmlvciB3aXRoIGF0dHJpYnV0ZXM8L2gzPgogIDx1bD4KICAgIDxsaT5Vc2luZyByZWd1bGFyIEhUTUw1IGF0dHJpYnV0ZXMKICAgICAgPHA+ICB3aWxsIHBhcnNlIGFuZCByZW1lbWJlciB0aGUgdmFsdWUgb2YgdmFyaW91cyBIVE1MIGlucHV0IGF0dHJpYnV0ZXMuIGkuZTogcmVxdWlyZWQsIG1pbiwgbWF4IGFuZCBwYXR0ZXJuLiBUaGVzZSB3aWxsIGJlIHVzZWQgdG8gYWxzbyBwZXJmb3JtIHNlcnZlci1zaWRlIHZhbGlkYXRpb24gb24gdGhlIHN1Ym1pdHRlZCBkYXRhLjwvcD4KICAgICAgPHA+VXNpbmcgdGhlc2UgYXR0cmlidXRlcyB0byB2YWxpZGF0ZSBkYXRhIG9uIHRoZSBzZXJ2ZXIgc2lkZSBpcyBhIGdvb2Qgd2F5IG9mIG1pdGlnYXRpbmcgbWFuLWluLXRoZS1taWRkbGUgYXR0YWNrcywgb3IgZG9pbmcgZGF0YSB2YWxpZGF0aW9uIHdoZW4gdGhlIHNpdGUgdmlzaXRvciBpcyB1c2luZyBhIGJyb3dzZXIgdGhhdCBkb2VzIG5vdCBlbmZvcmNlIHRoZW0uPC9wPgogICAgPC9saT4KICAgIDxsaT5EYXRhIGF0dHJpYnV0ZXMgZm9yIHJlbmRlcmluZwogICAgICA8cD5UaGUgZm9sbG93aW5nIGRhdGEgYXR0cmlidXRlcyBhcmUgaGludHMgdG8gdGhlIHJlbmRlcmVyIHRvIG1ha2UgaXQgZWFzeSBmb3IgdGhlIGRldmVsb3BlciB0byBpbnRlZ3JhdGUgc21hcnR5IGludG8gYSBmb3JtLCB0byBpbmNsdWRlIGNhcHRjaGEsIGFuZCBvdGhlciB0aGluZ3MuPC9wPgogICAgICA8dWw+CiAgICAgICAgPGxpPjxjb2RlPmRhdGEtc210Zm0tY2FwdGNoYTwvY29kZT4gLSBUaGlzIGF0dHJpYnV0ZSBpbmRpY2F0ZXMgd2hlcmUgdGhlIGNhcHRjaGEgZGlzcGxheSB3aWxsIGFwcGVhci4KICAgICAgICAgICA8cD5JZiBzcGVjaWZpZWQsIGFuZCBpZiBDYXB0Y2hhIGlzIGluc3RhbGxlZCBhbmQgZW5hYmxlZCwgdXBvbiByZW5kZXJpbmcgdGhlIGZvcm0sIHRoZSBjYXB0Y2hhIGRpc3BsYXkgd2lsbCBiZSBhcHBlbmRlZCB0byBjb250ZW50cyBvZiB0aGUgbWF0Y2hpbmcgZWxlbWVudC48L3A+CiAgICAgICAgICA8cD5JZiB0aGUgY2FwdGNoYSBkaXNwbGF5IHJlcXVpcmVzIGFuIGlucHV0IGZpZWxkLCBhbmQgbm8gZWxlbWVudCB3aXRoIHRoZSBkYXRhLXNtdGZtLWNhcHRjaGEtaW5wdXQgYXR0cmlidXRlIGV4aXN0cywgdGhlbiB0aGUgY2FwdGNoYSBpbnB1dCBmaWVsZCB3aWxsIGFsc28gYmUgYXBwZW5kZWQgdG8gdGhlIGNvbnRlbnRzIG9mIHRoaXMgZWxlbWVudC48L3A+CiAgICAgICAgPC9saT4KICAgICAgICA8bGk+PGNvZGU+ZGF0YS1zbXRmbS1jYXB0Y2hhLWlucHV0PC9jb2RlPiAtIFRoaXMgYXR0cmlidXRlIGluZGljYXRlcyB3aGVyZSwgaWYgbmVjZXNzYXJ5IGFueSBpbnB1dCBmaWVsZCBuZWVkZWQgYnkgdGhlIGNhcHRjaGEgZGlzcGxheSB3aWxsIGJlIGluc2VydGVkLgogICAgICAgICAgIDxwPlNvbWUgY2FwdGNoYSBtZXRob2RzIHJlcXVpcmUgdGhlIHVzZXIgdG8gZW50ZXIgc29tZSB0ZXh0LiBVc2luZyB0aGlzIGF0dHJpYnV0ZSBhbGxvd3MgdGhlIGZvcm0gY3JlYXRvciB0byBkZWZpbmUgd2hlcmUgYW5kIGhvdyB0aGUgaW5wdXQgZmllbGQgd2lsbCBiZSBkaXNwbGF5ZWQuPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPjxjb2RlPmRhdGEtc210Zm0tbm9uYW1lYWRqdXN0PC9jb2RlPiAtIFRoaXMgYXR0cmlidXRlIHdpbGwgZGlzYWJsZSB0aGUgYXV0b21hdGljIGFwcGVuZGluZyBvZiBbXSB0byBuYW1lcyBvZiBtdWx0aXNlbGVjdCBpbnB1dCBmaWVsZHMsIG9yIGluIGNoZWNrYm94IGdyb3Vwcy4gVXNlIHdpdGggY2F1dGlvbi48L2xpPgogICAgICAgIDxsaT48Y29kZT5kYXRhLXNtdGZtLW5vYXV0b3ZhbHVlPC9jb2RlPiAtIFRoaXMgYXR0cmlidXRlIGlzIHVzZWZ1bCB0byBkaXNhYmxlIGF1dG9tYXRpY2FsbHkgc2V0dGluZyB0aGUgdmFsdWUgb2YgZm9ybSBmaWVsZHMgYmFzZWQgb24gcHJlc2V0IG9yIHVzZXIgZW50ZXJlZCBkYXRhLgogICAgICAgICAgIDxwPldoZW4gYXBwbGllZCB0byB0aGUgZm9ybSBlbGVtZW50LCBubyBhdXRvbWF0aWMgZmllbGQgdmFsdWUvY29udGVudC9zZWxlY3RlZC9jaGVja2VkIHByb2Nlc3Npbmcgd2lsbCBvY2N1ciBmb3IgYW55IGZpZWxkIHdpdGhpbiB0aGUgZm9ybS48L3A+CiAgICAgPHA+d2hlbiBhcHBsaWVkIHRvIGFuIGluZGl2aWR1YWwgZmllbGQsIGF1dG9tYXRpYyBjYWxjdWxhdGlvbiB3aWxsIGJlIGRpc2FibGVkIGZvciB0aGF0IHNwZWNpZmljIGZpZWxkLjwvcD4KICAgICA8cD5TZWUgdGhlIHNlY3Rpb24gYmVsb3cgcmVnYXJkaW5nIHNldHRpbmcgZmllbGQgdmFsdWVzLjwvcD4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT48Y29kZT5kYXRhLXNtdGZtLXNlbGVjdGVkPC9jb2RlPiAtIFRoaXMgYXR0cmlidXRlIGlzIHVzZWZ1bCBvbiA8Y29kZT4mbHQ7c2VsZWN0Jmd0OzwvY29kZT4gZWxlbWVudHMgYW5kIHJhZGlvLWJ1dHRvbiBncm91cHMgdG8gaW5kaWNhdGUgdGhlIHZhbHVlIG9mIHRoZSBzZWxlY3RlZCBvcHRpb24uIGkuZS46PGJyLz4KICA8cHJlPiZsdDtzZWxlY3QgbmFtZT0ibXlzZWxlY3QiIGRhdGEtc210Zm0tc2VsZWN0ZWQ9JnF1b3Q7JiMxMjM7JGZvcm1fZGF0YS0mZ3Q7bXlzZWxlY3R8ZGVmYXVsdDonPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij5vcHQyPC9zcGFuPid9JnF1b3Q7Jmd0OwogICAgICAmbHQ7b3B0aW9uIHZhbHVlPSJvcHQxIiZndDtPcHRpb24gMSZsdDsvb3B0aW9uJmd0OwogICAgICAmbHQ7b3B0aW9uIHZhbHVlPSI8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPm9wdDI8L3NwYW4+IiZndDtPcHRpb24gMiZsdDsvb3B0aW9uJmd0OwogICAgICAmbHQ7b3B0aW9uIHZhbHVlPSJvcHQzIiZndDtPcHRpb24gMyZsdDsvb3B0aW9uJmd0OwogICZsdDsvc2VsZWN0Jmd0OzwvcHJlPgogICAgICAgICAgPHA+VGhpcyBhdHRyaWJ1dGUgaGFzIG5vIGVmZmVjdCBvbiBjaGVja2JveCBncm91cHMsIHRleHRhcmVhcywgb3Igb3RoZXIgdHlwZXMgb2YgaW5wdXQgZmllbGRzLjwvcD4KICAgIDxwPlJhZGlvIGJ1dHRvbiBncm91cHMgb3Igc2VsZWN0IGVsZW1lbnRzIHdpdGggdGhpcyBhdHRyaWJ1dGUgYXJlIG5vdCBzdWJqZWN0IHRvIGF1dG8tdmFsdWUgY2FsY3VsYXRpb25zLjwvcD4KICAgICAgICA8L2xpPgogICAgICA8L3VsPgogICAgPC9saT4KICAgIDxsaT5EYXRhIGF0dHJpYnV0ZXMgdG8gYWlkZSBzZXJ2ZXIgc2lkZSBmb3JtIHZhbGlkYXRpb24KICAgICAgPHVsPgogICAgICAgIDxsaT5kYXRhLXNtdGZtLW5vdmFsaWRhdGUKICAgICAgICAgICA8cD5UaGlzIGF0dHJpYnV0ZSwgb24gYW55IGlucHV0LCBzZWxlY3QsIG9yIHRleHRhcmVhIGZpZWxkcyBpbmRpY2F0ZXMgdG8gZGlzYWJsZSBhbGwgc2VydmVyLXNpZGUgdmFsaWRhdGlvbiBmb3IgdGhhdCBmaWVsZC4gU29tZSB2YWxpZGF0b3JzIG1heSBub3Qgb2JleSBpdC48L3A+CiAgICAgICAgPC9saT4KICAgICAgICA8bGk+ZGF0YS1zbXRmbS1hY2NlcHQKICAgICAgICAgICA8cD5BcHBsaWNhYmxlIG9ubHkgdG8gZmlsZSBmaWVsZHMsIHRoaXMgYXR0cmlidXRlIGNhbiBjb250YWluIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Ygd2lsZGNhcmQgbWltZSB0eXBlcyB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiBmaWxlcyB0aGF0IGFyZSBhY2NlcHRlZC4gaS5lLjogPGNvZGU+ZGF0YS1zbXRmbS1hY2NlcHQ9ImltYWdlLyosdGV4dC8qIjwvY29kZT4uPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPmRhdGEtc210Zm0tbWF4c2l6ZQogICAgICAgICAgIDxwPkFwcGxpY2FibGUgb25seSB0byBmaWxlIGZpZWxkcywgdGhpcyBhdHRyaWJ1dGUgY2FuIHNwZWNpZnkgYSBtYXhpbXVtIHNpemUgPGVtPihpbiBieXRlcyk8L2VtPiBmb3IgYW55IHNpbmdsZSBmaWxlIHVwbG9hZGVkIHRvIHRoYXQgZmllbGQuPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPmRhdGEtc210Zm0tZXh0ZW5zaW9uCiAgICAgICAgICAgPHA+QXBwbGljYWJsZSBvbmx5IHRvIGZpbGUgZmllbGRzLCB0aGlzIGF0dHJpYnV0ZSBjYW4gY29udGFpbiBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHZhbGlkIGZpbGUgZXh0ZW5zaW9ucyB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiBmaWxlcyB0aGF0IGFyZSBhY2NlcHRlZC48L3A+CiAgICAgPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBXZSBkbyBub3QgcmVjb21tZW5kIHVzaW5nIHRoaXMgYXMgc29tZSBvcGVyYXRpbmcgc3lzdGVtcywgb3IgdXNlcnMgZG8gbm90IG1haW50YWluIGEgcmVsaWdvdXMgcG9saWN5IG9uIGZpbGUgZXh0ZW5zaW9ucy48L3A+CiAgICAgICAgPC9saT4KICAgICAgICA8bGk+ZGF0YS1zbXRmbS1wcmltaXRpdmUKICAgICAgICAgICA8cD5BcHBsaWNhYmxlIHRvIGFsbCBidXQgZmlsZSBmaWVsZHMsIHRoaXMgYXR0cmlidXRlIGluZGljYXRlcyB0aGUgdHlwZSBvZiBkYXRhIHRoYXQgc2hvdWxkIGFwcGVhciBpbiB0aGUgdmFsdWUocykgZm9yIHRoYXQgZmllbGQuIFBvc3NpYmxlIHZhbHVlcyBmb3IgdGhpcyBhdHRyaWJ1dGUgYXJlOiBpbnQsIGZsb2F0LCBkYXRlLCBlbWFpbCwgYW5kIHN0cmluZy4gSWYgbm9uZSBzcGVjaWZpZmVkLCB0aGVuIHRoZSBkYXRhIHByaW1pdGl2ZSB3aWxsIGJlIGludGVycHJldGVkIGZyb20gdGhlIGZpZWxkIHR5cGUsIG9yIHN0cmluZyB3aWxsIGJlIGFzc3VtZWQuPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPmRhdGEtc210Zm0tcmVxdWlyZWQKICAgICAgICAgICA8cD5BcHBsaWNhYmxlIHRvIGFsbCBmaWVsZHMsIHRoaXMgYXR0cmlidXRlIGluZGljYXRlcyB0aGF0IGF0IGxlYXN0IG9uZSB2YWx1ZSBtdXN0IGJlIHNwZWNpZmllZCBmb3IgdGhlIGZpZWxkLjwvcD4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT5kYXRhLXNtdGZtLXBhdHRlcm4KICAgICAgICAgICA8cD5BcHBsaWNhYmxlIHRvIGFsbCBidXQgZmlsZSBmaWVsZHMsIHRoaXMgYXR0cmlidXRlIGluZGljYXRlcyB0aGF0IGFsbCB2YWx1ZXMgb2YgdGhlIGZpZWxkIG11c3QgY29uZmlybSB0byB0aGUgc3BlY2lmaWVkIHJlZ3VsYXIgZXhwcmVzc2lvbi48L3A+CiAgICAgPHA+SWYgYm90aCB0aGUgZGF0YS1zbXRmbS1wYXR0ZXJuIGFuZCB0aGUgcGF0dGVybiBhdHRyaWJ1dGVzIGFyZSBwcm92aWRlZCBmb3IgYW4gaW5wdXQgZWxlbWVudCwgdGhlbiB0aGUgZGF0YS1jZmJmLXBhdHRlcm4gYXR0cmlidXRlIHdpbGwgdGFrZSBwcmVjZWRlbnNlLiBUaGlzIGlzIHRvIGFsbG93IGZvciB0aGlyZCBwYXJ0eSBsaWJyYXJpZXMgdGhhdCBoYXZlIGV4dGVuZGVkIHRoZSBwdXJwb3NlIG9mIHRoZSBwYXR0ZXJuIGF0dHJpYnV0ZS48L3A+CiAgICAgPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBQSFAgcmVxdWlyZXMgYSBzdGFydCBhbmQgZW5kIGRlbGltaXRlciB0byBhIHJlZ3VsYXIgZXhwcmVzc2lvbi4gaS5lOiA8Y29kZT58WzAtOV0qfDwvY29kZT4gd2hlcmVhcyBIVE1MIGRvZXMgbm90LiAgd2lsbCBwcm92aWRlIHRoZW0uPC9wPgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpPmRhdGEtc210Zm0tbWluICh0b2RvKQogICAgICAgICAgIDxwPkFwcGxpY2FibGUgdG8gaW50ZWdlciBhbmQgZmxvYXQgZmllbGRzLCB0aGlzIGF0dHJpYnV0ZSBpbmRpY2F0ZXMgYSBtaW5pbXVtIHZhbHVlIGZvciBhbGwgdmFsdWVzIG9mIHRoZSBmaWVsZC48L3A+CiAgICAgICAgPC9saT4KICAgICAgICA8bGk+ZGF0YS1zbXRmbS1tYXggKHRvZG8pCiAgICAgICAgICAgPHA+QXBwbGljYWJsZSB0byBpbnRlZ2VyIGFuZCBmbG9hdCBmaWVsZHMsIHRoaXMgYXR0cmlidXRlIGluZGljYXRlcyBhIG1heGltdW0gdmFsdWUgZm9yIGFsbCB2YWx1ZXMgb2YgdGhlIGZpZWxkLjwvcD4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT5kYXRhLXNtdGZtLWNhcHRjaGEKICAgICAgICAgICA8cD5UaGlzIGF0dHJpYnV0ZSBzZXJ2ZXMgdHdvIHB1cnBvc2VzLiBPbiByZW5kZXIgaXQgd2lsbCBhcHBlbmQgdGhlIGNvbnRlbnRzIG9mIGEgPGNvZGU+Jmx0O2RpdiZndDs8L2NvZGU+IHRhZyB3aXRoIHRoaXMgYXR0cmlidXRlIHdpdGggc29tZSBjYXB0Y2hhIGlucHV0LiBPbiB2YWxpZGF0aW9uIHRoZSBjYXB0Y2hhIHdpbGwgYmUgdGVzdGVkLjwvcD4KICAgICAgICA8L2xpPgogICAgICA8L3VsPgogICAgPC9saT4KICAgIDxsaT5EYXRhIGF0dHJpYnV0ZXMgdXNlZnVsIGZvciBzY2FubmluZyBhbmQgZGlzcG9zaXRpb24KICAgICAgPHVsPgogICAgICAgIDxsaT5kYXRhLXNtdGZtLW5vbGFiZWwKICAgICAgPHA+VGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCBkdXJpbmcgdGhlIHNjYW5uaW5nIHByb2Nlc3MgdG8gaW5kaWNhdGUgdGhhdCBhIGxhYmVsIGZvciB0aGUgZmllbGQgaXMgbm90IHJlcXVpcmVkLjwvcD4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT5kYXRhLXNtdGZtLWxhYmVsCiAgICAgICAgICAgPHA+VGhpcyBhdHRyaWJ1dGUgaXMgdXNlZnVsIG9uIHJhZGlvLWJ1dHRvbiBhbmQgY2hlY2tib3ggZ3JvdXBzIHdoZW4gdGhlIGZvcm0gaXMgc2Nhbm5lZCBhbmQgcGFyc2VkLiBCZWNhdXNlIGluZGl2aWR1YWwgcmFkaW8tYnV0dG9uIG9yIGNoZWNrYm94IGZpZWxkcyBtYXkgaGF2ZSBzZXBhcmF0ZSBsYWJlbHMsIHRoaXMgYXR0cmlidXRlIGFsbG93cyBleHBsaWNpdGx5IHNwZWNpZnlpbmcgYSBsYWJlbCB0byBiZSB1c2VkIGZvciB0aGUgZmllbGQgYXMgYSB3aG9sZSBpbiB0aGUgZGlzcG9zaXRpb24gcHJvY2Vzcy48L3A+CiAgICAgPHA+dGhpcyBhdHRyaWJ1dGUgY2FuIGJlIHVzZWQgb24gYW55IGlucHV0IGVsZW1lbnQgdG8gZm9yY2Ugc3BlY2lmeWluZyB0aGUgbGFiZWwgZm9yIHRoZSBlbGVtZW50LCBwYXJ0aWN1bGFybHkgaWYgaW4geW91ciBtYXJrdXAgYSBzcGVjaWZpYyBsYWJlbCBmaWVsZCBpcyBub3QgcmVxdWlyZWQsIGFuZCB5b3Ugd2lzaCB0byBoYXZlIHJlYWRhYmxlIHByb21wdHMgZm9yIHZhcmlvdXMgZmllbGRzLjwvcD4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT5kYXRhLXNtdGZtLWh1bWFuCiAgICAgICAgICAgPHA+VGhpcyBhdHRyaWJ1dGUgaXMgdXNlZnVsIG9uIHRoZSBpbmRpdmlkdWFsIG9wdGlvbnMgb2Ygc2VsZWN0IGZpZWxkcywgcmFkaW8tYnV0dG9uIGdyb3Vwcywgb3IgY2hlY2tib3gtZ3JvdXBzIHRvIHNwZWNpZnkgYSBodW1hbiByZWFkYWJsZSB2YWx1ZSBmb3IgZWFjaCBvcHRpb24gdG8gdXNlIGluIHRoZSBkaXNwb3NpdGlvbiBwcm9jZXNzLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGVuIHRoZSB0ZXh0IHBvcnRpb24gb2YgZWFjaCAmbHQ7b3B0aW9uJmd0OyBlbGVtZW50LCBvciB0aGUgbGFiZWwgb2YgZWFjaCByYWRpby1idXR0b24gb3IgY2hlY2tib3ggd2lsbCBiZSB1c2VkLjwvcD4KICAgICAgICA8L2xpPgogICAgICAgIDxsaT5kYXRhLXNtdGZtLXJlcGx5dG8KICAgICAgICAgICA8cD5UaGlzIGF0dHJpYnV0ZSBpcyB1c2VmdWwgdG8gaWRlbnRpZnkgYSBmaWVsZCB0aGF0IG9uIHN1Ym1pc3Npb24gd2lsbCBjb250YWluIGFuIGVtYWlsIGFkZHJlc3MgdGhhdCBjYW4gYmUgdXNlZCBmb3IgdGhlIHJlcGx5dG8tYWRkcmVzcyBvZiBlbWFpbHMgc2VudCB0byBhZG1pbmlzdHJhdG9ycy48L3A+CiAgICAgPHA+aS5lOiA8Y29kZT4mbHQ7aW5wdXQgdHlwZT0iZW1haWwiIG5hbWU9InlvdXJfZW1haWwiIGRhdGEtc210Zm0tcmVwbHl0byByZXF1aXJlZCZndDs8L2NvZGU+CiAgICAgPHA+Rm9yIGVtYWlscyB0aGF0IGFyZSBzZW50IHRvIGZpeGVkIGFkZHJlc3NlcyBvciB0byBhZG1pbiBncm91cHMsIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIHdpbGwgYmUgdXNlZCBhcyB0aGUgcmVwbHktdG8gZW1haWwgYWRkcmVzcy48L3A+CiAgICAgICAgPC9saT4KICAgICAgPC91bD4KICAgIDwvbGk+CiAgPC91bD4KPC9kaXY+PC9kaXY+PGRpdiBpZD0icGFyYW1zX2MiPjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHA+CiAgQXMgc2VlbiBpbiB0aGUgPGI+SG93IFRvIFVzZSBJdDwvYj4gdGFiIHRoZSBtb3N0IGJhc2ljIHVzYWdlIG9mIHRoZSBtb2R1bGUgaXMgYnkgY2FsbGluZyB0aGUgPGI+e1NtYXJ0Rm9ybXMgZm9ybT08aT4nJmx0O2Zvcm1fbmFtZSZndDsnPC9pPn08L2I+IHRhZyBpbiBhbnkgb2YgeW91ciBmcm9udGVuZCB0ZW1wbGF0ZXMuIEhvd2V2ZXIsIHlvdSBjYW4gZXh0ZW5kIGFuZCBjb250cm9sIHRoZSBtb2R1bGUncyBiZWhhdmlvdXIgd2l0aCBwYXJhbWV0ZXJzIGluIHRoZSB0YWcuCjwvcD4KCjxoMz5QYXJhbWV0ZXJzPC9oMz4KCiAgPHA+VGhpcyBpcyBhIGxpc3Qgb2YgdGhlIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBtb2R1bGUgdGFnOjwvcD4KCgogIDx1bD4KICAgIDxsaT4KICAgICAgPGVtPihvcHRpb25hbCk8L2VtPiA8Yj5mb3JtPC9iPj0gdGhlIG5hbWUgb2YgdGhlIGZvcm0KCiAgICA8L2xpPgogIDwvdWw+Cgo8L2Rpdj48L2Rpdj48ZGl2IGlkPSJtaXNjX2MiPjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPGgzPlNtYXJ0eSBwbHVnaW5zIGFuZCB2YXJpYWJsZXMgZm9yIGZvcm0gcmVuZGVyaW5nPC9oMz4KICA8dWw+CiAgICA8bGk+PGNvZGU+JiMxMjM7c210Zm1fZm9ybV9lcnJvcnMgYXNzaWduPXN0cmluZ308L2NvZGU+CiAgICAgICA8cD5HYXRoZXIgZm9ybSBlcnJvcnMgZnJvbSBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLCBhbmQgYXNzaWduIHRoZW0gdG8gYSBzbWFydHkgYXJyYXkuIGkuZS46PC9wPgogICAgICAgPHByZT48Y29kZT4mIzEyMztzbXRmbV9mb3JtX2Vycm9ycyBhc3NpZ249ZXJyb3JzfQogICAgICAgICAgICAgICAmIzEyMztpZiAhZW1wdHkoJGVycm9ycyl9CiAgICAgICAgICAgICAgICAgJmx0O3VsIGNsYXNzPSJlcnJvcnMiJmd0OwogICAgICAgICAgICAgICAgICAgJiMxMjM7Zm9yZWFjaCAkZXJyb3JzIGFzICRlcnJvcn0KICAgICAgICAgICAgICAgICAgICAgJmx0O2xpJmd0OyYjMTIzOyRlcnJvcn0mbHQ7L2xpJmd0OwogICAgICAgICAgICAgICAgICAgJiMxMjM7L2ZvcmVhY2h9CiAgICAgICAgICAgICAgICAgJmx0Oy91bCZndDsKICAgICAgICAgICAgICAgJiMxMjM7L2lmfTwvY29kZT48L3ByZT4KICAgIDwvbGk+CiAgPC91bD4KCiAgPGgzPkNvbmZpZyB2YXJpYWJsZXM8L2gzPgogIDxwPllvdSBjYW4gc2V0IHRoZSBmb2xsb3dpbmcgY29uZmlnIHZhcmlhYmxlcyB0byBpbmZsdWVuY2UgbW9kdWxlIGJlaGF2aW9yOjwvcD4KICA8dWw+CiAgICA8bGk+PGNvZGU+JGNvbmZpZ1snc210Zm1fc2tpcF92ZXJzaW9uY2hlY2snXTwvY29kZT4gPSBib29sCiAgICAgICA8cD5JZiBlbmFibGVkLCBTbWFydEZvcm1zIHdpbGwgbm90IHRlc3QgaWYgeW91ciBmb3JtcyB3ZXJlIHNhdmVkIHdpdGggYSBkaWZmZXJlbnQgdmVyc2lvbiBvZiB0aGUgbW9kdWxlLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+PGNvZGU+JGNvbmZpZ1snc210Zm1fc2tpcF9kYXRlY2hlY2snXTwvY29kZT4gPSBib29sCiAgICAgICA8cD5JZiBlbmFibGVkLCBTbWFydEZvcm1zIHdpbGwgbm90IHRlc3QgaWYgeW91ciB0ZW1wbGF0ZSB3YXMgYWx0ZXJlZCBhZnRlciB5b3VyIGZvcm0gd2FzIHNhdmVkLjwvcD4KICAgIDwvbGk+CiAgPC91bD4KCiAgPGgzPlRpcHMgYW5kIFRlY2huaXF1ZXM8L2gzPgogIDx1bD4KICAgIDxsST5TZXR0aW5nIGZpZWxkIHZhbHVlczoKICAgICAgIDxwPkluIG1vc3QgY2FzZXMsIFNtYXJ0Rm9ybXMgY2FuIHNldCBmaWVsZCB2YWx1ZXMgYXV0b21hdGljYWxseSBmb3IgeW91LiAgSW5jbHVkaW5nIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGV4dGFyZWEgZmllbGRzLCBzZWxlY3RlZCBvcHRpb25zIGluIHNlbGVjdCBzdGF0ZW1lbnRzLiBhbmQgY2hlY2tlZCBjaGVja2JveGVzIG9yIHJhZGlvIGJ1dHRvbiBmaWVsZHMuICAgVGhpcyBpcyBkb25lIGJ5IHVzaW5nIHRoZSBmb3JtIHN1Ym1pc3Npb24gZGF0YSwgYW5kIGFkanVzdGluZyB0aGUgYXBwcm9wcmlhdGUgdmFsdWUgb2YgZWxlbWVudHMgd2hlbiByZWRlcmluZyB0aGUgZm9ybS48L3A+CiAgICAgICA8cD5EaXNhYmxpbmcgdGhpcyBhdXRvLXZhbHVlIGZ1bmN0aW9uYWxpdHkgZm9yIHRoZSBlbnRpcmUgZm9ybSBpcyBwb3NzaWJsZSBieSBhZGRpbmcgdGhlIGRhdGEtY2ZiZi1ub2F1dG92YWx1ZSBhdHRyaWJ1dGUgdG8gdGhlIGZvcm0gZWxlbWVudC48L3A+CiAgICAgICA8cD5EaXNhYmxpbmcgdGhpcyBhdXRvLXZhbHVlIGZ1bmN0aW9uYWxpdHkgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudCBpcyBwb3NzaWJsZSBieSBhZGRpbmcgdGhlIGRhdGEtc210Zm0tbm9hdXRvdmFsdWUgYXR0cmlidXRlIHRvIGFuIGluZGl2aWR1YWwgaW5wdXQsIHNlbGVjdCwgb3IgdGV4dGFyZWEgZWxlbWVudC48L3A+CiAgICAgICA8cD5BdXRvLXZhbHVlIGNhbGN1bGF0aW9uIHdpbGwgYWxzbyBiZSBkaXNhYmxlZCBvbiBpbmRpdmlkdWFsIGlucHV0IGVsZW1lbnRzICh0aGF0IGFyZSBub3QgY2hlY2tib3hlcyBvciByYWRpbyBidXR0b25zKSwgSUYgdGhlIGVsZW1lbnQgaGFzIGEgdmFsdWUgYXR0cmlidXRlLjwvcD4KICAgICAgIDxwPmF1dG8gdmFsdWUgY2FsY3VsYXRpb24gaXMgYWxzbyBkaXNhYmxlZCBmb3Igc2VsZWN0IGJveGVzLCBjaGVja2JveGVzIG9yIHJhZGlvIGJ1dHRvbnMgd2l0aCB0aGUgZGF0YS1zbXRmbS1zZWxlY3RlZCBhdHRyaWJ1dGUuPC9wPgogICAgICAgPHA+VGhlIDxjb2RlPiYjMTIzOyRmb3JtX2RhdGF9PC9jb2RlPiBzbWFydHkgdmFyaWFibGUgcmVwcmVzZW50cyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgZm9ybSByZXNwb25zZSBpbmZvcm1hdGlvbi4gIEl0IGFsc28gcmVwcmVzZW50cyBpbml0aWFsIGZvcm0gc3RhdGUgYmVmb3JlIHRoZSBmb3JtIGhhcyBiZWVuIHN1Ym1pdHRlZC4gIFlvdSBjYW4gdXNlIHRoaXMgb2JqZWN0J3MgdmFyaW91cyBtZW1iZXJzIHRvIHNldCB0aGUgZmllbGQgZGF0YSB1c2luZyBzbWFydHkgbG9naWMuICBpLmUuOjwvcD4KICAgICAgIDxwcmU+PGNvZGU+Jmx0O2lucHV0IHR5cGU9InRleHQiIG5hbWU9InNvbWV0aGluZyIgdmFsdWU9IiYjMTIzOyRmb3JtX2RhdGEtPnNvbWV0aGluZ30iLyZndDs8L2NvZGU+PC9wcmU+CiAgICA8L2xpPgogICAgPGxpPkNhcHRjaGEgdmFsaWRhdGlvbi4KICAgICAgIDxwPkNhcHRjaGEgdmFsaWRhdGlvbiBpcyBhIHR3byBwYXJ0IHByb2Nlc3MuICBhOiAgdGhlIGNhcHRjaGEgbXVzdCBiZSByZW5kZXJlZCBpbiB0aGUgZm9ybSB1c2luZyB0aGUgJmx0O2RpdiBkYXRhLXNtdGZtLWNhcHRjaGEmZ3Q7Jmx0Oy9kaXYmZ3Q7IHN5bnRheCwgYW5kIGI6IFRoZSBjYXB0Y2hhIGlucHV0IG11c3QgYmUgdmFsaWRhdGVkIGluIHRoZSByZXNwb25zZS4gIFlvdSBtdXN0IGhhdmUgYSAmcXVvdDtWYWxpZGF0ZSBDYXB0Y2hhJnF1b3Q7IHZhbGlkYXRpb24gZW5hYmxlZC48L3A+CiAgICA8L2xpPgogICAgPGxpPkxpbWl0IHRoZSBudW1iZXIgb2YgZmllbGRzLgogICAgICAgPHA+Rm9yIGEgYmV0dGVyIHVzZXIgaW50ZXJmYWNlIGl0IGlzIGltcG9ydGFudCB0byBsaW1pdCB0aGUgbnVtYmVyIG9mIGZpZWxkcyBpbiBhIGZvcm0uICBJZiB5b3VyIGZpZWxkIGhhcyBtb3JlIHRoYW4gYWJvdXQgYSBkb3plbiBmaWVsZHMgdGhhdCB0aGUgdXNlciBjYW4gZWRpdCBvciBhZGp1c3QgdGhlbiB0eXBpY2FsbHkgdXNlcnMgd2lsbCBub3QgcmVzcG9uZCB0byB0aGVtLCBvciBpZiB0aGV5IGRvIHRoZSBxdWFsaXR5IG9mIHRoZSBpbmZvcm1hdGlvbiBzdWJtaXR0ZWQgaXMgcmVkdWNlZC4gIGZvciB0aG9zZSBwdXJwb3NlcyBpdCBpcyBvZnRlbiBiZXN0IHRvIGtlZXAgdGhlIGZvcm1zIHNtYWxsLCBzaW1wbGUsIGFuZCBlYXN5IHRvIHVzZS48L3A+CiAgICA8L2xpPgogICAgPGxpPkNvbmRpdGlvbmFsIEZpZWxkcwogICAgICAgPHA+SWYgeW91IHdvdWxkIGxpa2UgdG8gaGlkZSBkaWZmZXJlbnQgZmllbGRzIGJhc2VkIG9uIGNlcnRhaW4gY29uZGl0aW9ucywgaXQgaXMgYmVzdCB0byBkbyB0aGF0IHVzaW5nIGphdmFzY3JpcHQgYW5kIHlvdXIgZmF2b3JpdGUganF1ZXJ5IHBsdWdpbnMgZXRjLjwvcD4KICAgICAgIDxwPkhpbnQ6ICBZb3UgY2FuIHN1cHBseSBkYXRhIHRvIGphdmFzY3JpcHQgZnJvbSB3aXRoaW4geW91ciB0ZW1wbGF0ZSB1c2luZyBzbWFydHkgdmFyaWFibGVzLiBpLmUuOjwvcD4KICAgICAgIDxwcmU+Jmx0O3NjcmlwdCZndDt2YXIgbWFtc191aWQgPSAnJiMxMjM7JG1hbXNfc21hcnR5OjpnZXRfY3VycmVudF91c2VyaWQoKX0nOyZsdDsvc2NyaXB0Jmd0OzwvcHJlPgogICAgPC9saT4KICAgIDxsaT5EeW5hbWljIG11bHRpLW9wdGlvbiBmaWVsZHMKICAgICAgIDxwPklmIHlvdSB3b3VsZCBsaWtlIHRvIGFkZCBvcHRpb25zIHRvIHNlbGVjdCwgb3Igb3RoZXIgbXVsdGktb3B0aW9uIGZpZWxkcyAoY2hlY2tib3ggZ3JvdXBzLCByYWRpby1idXR0b24gZ3JvdXBzKSBkeW5hbWljYWxseSB2aWEgc21hcnR5IHBsdWdpbnMgd2hlcmUgdGhlIG9wdGlvbnMgaW4gdGhlIGZpZWxkIG1heSBjaGFuZ2UsIGl0IGlzIGJlc3QgdG8gdHVybiBvZmYgdmFsaWRhdGlvbiBmb3IgdGhhdCBmaWVsZC48L3A+CiAgICAgICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgd2lsbCB0dXJuIG9mZiBhbGwgdmFsaWRhdGlvbnMgZm9yIHRoYXQgZmllbGQsIGluY2x1ZGluZyBIVE1MIHZhbGlkYXRpb24uPC9wPgogICAgPC9saT4KICAgIDxsaT5QcmUtZmlsbGVkIGZpZWxkcwogICAgICAgPHA+VGhlcmUgYXJlIG51bWVyb3VzIHdheXMgdG8gcHJvdmlkZSBpbml0aWFsIGRhdGEgdG8gYSBmb3JtIChpLmUuOiBiZWZvcmUgdGhlIGZvcm0gaXMgc3VibWl0dGVkIGJ5IHRoZSB1c2VyIGZvciB0aGUgZmlyc3QgdGltZSkuIFRoZXNlIG1ldGhvZHMsIGlmIGRvbmUgY29ycmVjdGx5IHdpbGwgYWxzbyBwcmVzZXJ2ZSB1c2VyIGRhdGEgaWYgdGhlcmUgaXMgYW4gZXJyb3IgaW4gZm9ybSBzdWJtaXNzaW9uLjwvcD4KICAgICAgIDx1bD4KICAgICAgICAgPGxpPlVzaW5nIGZpZWxkIG5hbWUgYXJndW1lbnRzIG9uIHRoZSBzbWFydHkgdGFnOgogICAgICAgICAgICA8cD5pLmUuOiAgPGNvZGU+JiMxMjM7U21hcnRGb3JtcyBmb3JtPSdteWZvcm0nIHNtdGZtX215ZmllbGRuYW1lPSdzb21ldmFsdWUnfTwvY29kZT48L3A+CiAgICAgICAgIDwvbGk+CiAgICAgICAgIDxsaT5DYWxsaW5nIDxjb2RlPiYjMTIzO3NtdGZtX3NldCBmaWVsZD1maWVsZF9uYW1lIHZhbHVlPXNvbWV0aGluZ308L2NvZGU+IHRoZSAmcXVvdDtQcmUtcmVuZGVyIExvZ2ljJnF1b3Q7IHRhYiB3aGVuIGVkaXRpbmcgdGhlIGZvcm0uPC9saT4KICAgICAgICAgPGxpPkNhbGxpbmcgYSBVRFQgZnJvbSB3aXRoaW4gdGhlIGZvcm0gdGVtcGxhdGUgdG8gYWRqdXN0IHRoZSAkZm9ybV9kYXRhIHJlc3BvbnNlIG9iamVjdC48L2xpPgogICAgICAgICA8bGk+VXNpbmcgdGhlIDxjb2RlPmRhdGEtc210Zm0tc2VsZWN0ZWQ8L2NvZGU+IGF0dHJpYnV0ZSBvbiBzZWxlY3QgYm94ZXMgYW5kIHJhZGlvIGJ1dHRvbiBncm91cHMuPC9saT4KICAgICAgICAgPGxpPlVzaW5nIDxjb2RlPiYjMTIzOyRmb3JtX2RhdGEtPm15ZmllbGRuYW1lfTwvY29kZT4gYW5kIHRoZSAmcXVvdDtkZWZhdWx0JnF1b3Q7IHNtYXJ0eSBtb2RpZmllci4KICAgICAgICAgICAgPHA+aS5lOiA8Y29kZT4mIzEyMzskZm9ybV9kYXRhLT5teWZpZWxkbmFtZXxkZWZhdWx0Oidmb28nfTwvY29kZT4uPC9wPgogICAgICAgICA8L2xpPgogICAgICAgPC91bD4KICAgIDwvbGk+CiAgICA8bGk+UHJldmVudCBtb2RpZmljYXRpb24gb2YgaGlkZGVuIGZpZWxkcyBpbiBzdWJtaXNzaW9uLgogICAgICAgPHA+WW91IGNhbiB1c2UgdGhlICJWYWxpZGF0ZSB2aWEgc21hcnR5IFRlbXBsYXRlIiB2YWxpZGF0aW9uIHRvIHZlcmlmeSB0aGF0IGhpZGRlbiBmaWVsZHMgaGF2ZSBhIHByZXNldCB2YWx1ZSBvciBhcmUgZW1wdHkgdXBvbiBzdWJtaXNzaW9uLCBidXQgYmVmb3JlIGFueSB2YWx1ZXMgYXJlIGNhbGN1bGF0ZWQuCiAgICAgICA8cD5Gb3IgZW1wdHkgZmllbGRzIHlvdSBjYW4gYWxzbyBzZXQgYSB2YWxpZGF0aW9uIHBhdHRlcm4uICBpLmU6IGlmIHRoZSBoaWRkZW4gaW5wdXQgbXVzdCBiZSBlbXB0eSBvbiBzdWJtaXQgYSBwYXR0ZXIgb2Y6IDxjb2RlPmRhdGEtc210Zm0tcGF0dGVybj0iXiQiPC9jb2RlPiBzaG91bGQgYmUgc3VmZmljaWVudC4uPC9wPgogICAgPC9sST4KICAgIDxsaT5Xb3JraW5nIHdpdGggRmlsZXM8L2xpPgogICAgPGxpPkFycmF5cyBvZiBkYXRhPC9saT4KICAgIDxsaT5DYWxjdWxhdGVkIGZpZWxkcwogICAgICAgIDxwPlVzZSB0aGUgIkNvbXB1dGUgYSBGaWVsZCBWYWx1ZSIgdmFsaWRhdGlvbi48L3A+CiAgICA8L2xpPgogICAgPGxpPlVEVCdzIGluIHZhbGlkYXRpb24KICAgICAgIDxwPllvdSBjYW4gdXNlIHRoZSAiVmFsaWRhdGUgdmlhIFNtYXJ0eSBUZW1wbGF0ZSIgdmFsaWRhdGlvbi4gSW4gdGhlIHRlbXBsYXRlIGZvciB0aGF0IHZhbGlkYXRpb24gY2FsbCB5b3VyIFVEVC4gIElmIHlvdXIgVURUIHJldHVybnMgYW55IG91dHB1dCBpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYSB2YWxpZGF0aW9uIGVycm9yLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+VURUJ3MgaW4gZGlzcG9zaXRpb25zCiAgICAgICA8cD5Vc2UgdGhlIFN0b3BEaXNwb3NpbmcgRGlzcG9zaXRpb24sIGFuZCBpbiB0aGF0IHRlbXBsYXRlIGNhbGwgeW91ciBVRFQuICBJZiB5b3VyIFVEVCByZXR1cm5zIGFueSBvdXRwdXQgdGhlbiBkaXNwb3Npbmcgd2lsbCBzdG9wLjwvcD4KICAgIDwvbGk+CiAgICA8bGk+U3VibWl0dGluZyBwYXltZW50IHRvIGEgcGF5bWVudCBnYXRld2E8L2xpPgogICAgICAgIDxwPkZvciBub24taW50ZXJhY3RpdmUgc3VibWlzc2lvbnMgdG8gYSBwYXltZW50IGdhdGV3YXkgdGhhdCBqdXN0IHJldHVybnMgYSBzdWNjZXNzIG9yIGZhaWx1cmUsICB0aGUgIkNvbXB1dGUiIHZhbGlkYXRpb24gY2FuIGJlIHVzZWQsIGFuZCBhIHNtYXJ0eSBwbHVnaW4KICAgICAgICAgICBjcmVhdGVkIHRvIHN1Ym1pdCB0aGUgaW5mb3JtYXRpb24uICBPbiBlcnJvcnMsIHRoZSBwbHVnaW4gc2hvdWxkIHRocm93IGEgXFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzXFZhbGlkYXRpb25FeGNlcHRpb24gZXJyb3IuICBPbiBzdWNlc3MsIHRoZQogICAgIHBsdWdpbiBzaG91bGQgZWNobyB0aGUgb3JkZXIgbnVtYmVyIHNvIHRoYXQgaXQgY2FuIGJlIHN0b3JlZCB3aGVuIHRoZSBmb3JtIGlzIGhhbmRsZWQuPC9wPgogICAgICAgIDxwPkZvciBpbnRlcmFjdGl2ZSBzdWJtaXNzaW9ucywgaS5lLjogZ2F0ZXdheXMgdGhhdCByZXF1aXJlIHRoZSB1c2VyIHRvIGVudGVyIGNyZWRpdCBjYXJkIGRldGFpbHMgb3IgbG9naW4gaW5mb3JtYXRpb24gb24gdGhlaXIgc2VjdXJlIHNpdGUuLi4KICAgICAgICAgICBUT0RPCiAgICAgICAgPC9wPgogICAgPC9saT4KICAgIDxsaT5DaGFpbmluZyBmb3JtcwogICAgICAgPG9sPgogICAgICAgICA8bGk+VXNlIGEgVURUIHRvIGRpc3Bvc2UgdGhlIGZvcm0gcmVzcG9uc2UgdG8gdGhlIHNlc3Npb24uPC9saT4KICAgICAgICAgPGxpPkVpdGhlciB1c2luZyBhbm90aGVyIGRpc3Bvc2l0aW9uLCBvciBjb2RlIHdpdGhpbiB5b3VyIFVEVCwgcmVkaXJlY3QgdG8gdGhlIHBhZ2UgY29udGFpbmluZyB0aGUgc2Vjb25kIGZvcm0uPC9saT4KICAgICAgICAgPGxpPlVzZSBoaWRkZW4gZmllbGRzIGluIHRoZSBzZWNvbmQgZm9ybSB0byBjb250YWluIHRoZSB2YWx1ZXMgZnJvbSB0aGUgZmlyc3QgZm9ybS48L2xpPgogICAgICAgPC9vbD4KICAgIDwvbGk+CiAgPC91TD4KCiAgPGg0Pkhvb2tzPC9oND4KICA8cD5TbWFydEZvcm1zIHVzZXMgSG9va3Mgb24gZXZlcnkgZm9ybSBzdWJtaXNzaW9uLiAgSG9va3MgYXJlIGFub3RoZXIgbWV0aG9kIG9mIHVzaW5nIHRoaXJkIHBhcnR5IGNvZGUgdG8gZG8gdmFsaWRhdGlvbiBvciBkaXNwb3NpdGlvbnMgb2YgZm9ybXMuPC9wPgogIDx1bD4KICAgIDxsaT48Y29kZT5TbWFydEZvcm1zOjp2YWxpZGF0ZUZvcm08L2NvZGU+CiAgICAgICA8cD5UaGlzIGhvb2sgaXMgY2FsbGVkIGFmdGVyIGFsbCBvdGhlciB2YWxpZGF0aW9ucy4gIFRoZSBzYW1lIGhvb2sgaXMgY2FsbGVkIGZvciBlYWNoIGZvcm0gc28gaGFuZGxlcnMgc2hvdWxkIGNoZWNrIHRoZSB2YWx1ZSBvZiB0aGUgZm9ybV9uYW1lIHByb3BlcnR5IHRvIGRvIGRpZmZlcmVudCB2YWxpZGF0aW9ucyBmb3IgZmllbGRzIG9uIGRpZmZlcmVudCBmb3Jtcy4gIFRoZSBoYW5kbGVycyBzaG91bGQgdGhyb3cgYSBcU21hcnRGb3Jtc1xGb3JtVmFsaWRhdGlvbkVycm9yIGV4Y2VwdGlvbiBpbiB0aGUgY2FzZSBvZiBlcnJvcnMuPC9wPgogICAgICAgPGg1PkFyZ3VtZW50czo8L2g1PgogICAgICAgPHA+VGhpcyBob29rIHNlbmRzIHRoZSBGb3JtUmVzcG9uc2Ugb2JqZWN0IGFzIGl0cyBzaW5nbGUgYXJndW1lbnQuPC9wPgogICAgICAgPGg1PlJldHVybnM6IDxjb2RlPnZvaWQ8L2NvZGU+PGg1PgogICAgICAgPGg1PkV4YW1wbGU6PC9oNT4KICAgICAgIDxwcmU+PGNvZGU+XENNU01TXEhvb2tNYW5hZ2VyOjphZGRfaG9vayggJ1NtYXJ0Rm9ybXM6OnZhbGlkYXRlRm9ybScsIGZ1bmN0aW9uKCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJHJlc3BvbnNlICkmIzEyMzsKICAgICAgaWYoICRyZXNwb25zZS0+Zm9ybSAhPSAnbXlmb3JtJyApIHJldHVybjsKICAgICAgJGVtYWlsID0gJHJlc3BvbnNlLT5nZXRfZmllbGRfdmFsdWUoJ2VtYWlsJyk7CiAgICAgIGlmKCAhaXNfZW1haWwoJGVtYWlsKSApIHRocm93IG5ldyBcU21hcnRGb3Jtc1xGb3JtVmFsaWRhdGlvbkVycm9yKCdQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzJyk7CiAgICAgIC8vIGhlcmUgd2UgY291bGQgY2hlY2sgaWYgdGhlIGVtYWlsIGFscmVhZHkgZXhpc3RzIGluIG91ciBkYXRhYmFzZSwgZXRjLgogIH0pOzwvY29kZT48L3ByZT4KICAgIDwvbGk+CgogICAgPGxpPjxjb2RlPlNtYXJ0Rm9ybXM6OmRpc3Bvc2U8L2NvZGU+CiAgICAgICA8cD5UaGlzIGhvb2sgaXMgY2FsbGVkIGFmdGVyIGFsbCBvdGhlciBkaXNwb3NpdGlvbnMgKGFzc3VtaW5nIHByb2Nlc3NpbmcgaGFzIG5vdCBiZWVuIHN0b3BwZWQgYnkgYSBwcmV2aW91cyBkaXNwb3NpdGlvbiksIGJ1dCBiZWZvcmUgdGhlIGZpbmFsIHJlc3BvbnNlIGlzIGdlbmVyYXRlZCBvciBmaW5hbCByZWRpcmVjdCBpcyBwZXJmb3JtZWQuICBUaGUgc2FtZSBob29rIGlzIGNhbGxlZCBmb3IgZWFjaCBmb3JtLCBzbyBoYW5kbGVycyBzaG91bGQgY2hlY2sgdGhlIHZhbHVlIG9mIHRoZSBmb3JtIHByb3BlcnR5IG9mIHRoZSByZXNwb25zZSBvYmplY3QgdG8gZG8gZGlmZmVyZW50IHByb2Nlc3Npbmcgb24gZGlmZmVyZW50IGZvcm1zLiAgVGhlIGhhbmRsZXJzIHNob3VsZCB0aHJvdyBydW50aW1lIGV4Y2VwdGlvbnMgaW4gdGhlIGNhc2Ugb2YgZXJyb3JzLjwvcD4KICAgICAgIDxoNT5Bcmd1bWVudHM6PC9oNT4KICAgICAgIDxwPlRoaXMgaG9vayBzZW5kcyB0aGUgRm9ybVJlc3BvbnNlIG9iamVjdCBhcyBpdHMgc2luZ2xlIGFyZ3VtZW50LjwvcD4KICAgICAgIDxoNT5SZXR1cm5zOiA8Y29kZT52b2lkPC9jb2RlPjxoNT4KICAgICAgIDxoNT5FeGFtcGxlOjwvaDU+CiAgICAgICA8cHJlPjxjb2RlPlxDTVNNU1xIb29rTWFuYWdlcjo6YWRkX2hvb2soICdTbWFydEZvcm1zOjpkaXNwb3NlJywgZnVuY3Rpb24oIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkcmVzcG9uc2UgKSYjMTIzOwogICAgICBpZiggJHJlc3BvbnNlLT5mb3JtICE9ICdteWZvcm0nICkgcmV0dXJuOwogICAgICAkbmFtZSA9ICRyZXNwb25zZS0+Z2V0X2ZpZWxkX3ZhbHVlKCduYW1lJyk7CiAgICAgICRlbWFpbCA9ICRyZXNwb25zZS0+Z2V0X2ZpZWxkX3ZhbHVlKCdlbWFpbCcpOwogICAgICAvLyB2YWxpZGF0aW9uIGlzIGFscmVhZHkgZG9uZS4uLiBzYXZlIHRoaXMgaW5mbyBpbnRvIGFuIGVtYWlsIGxpc3QuCiAgICAgICRmaCA9IGZvcGVuKENNU19ST09UX1VSTC4nL3VwbG9hZHMvZW1haWxzLmRhdCcsJ2EnKTsKICAgICAgZnByaW50ZiggJGZoLCAiJGVtYWlsLCRuYW1lXG4iLCAkZW1haWwsICRuYW1lICk7CiAgICAgIGZjbG9zZSggJGZoICk7CiAgfSk7PC9jb2RlPjwvcHJlPgogICAgPC9saT4KCiAgICA8bGk+PGNvZGU+U21hcnRGb3Jtczo6Y2xlYW51cDwvY29kZT4KICAgICAgIDxwPlRoaXMgaG9vayBpcyBjYWxsZWQgYWZ0ZXIgYWxsIHZhbGlkYXRpb25zIGFuZCBkaXNwb3NpdGlvbnMgYW5kIGV2ZW4gaW4gdGhlIGV2ZW50IG9mIHZhbGlkYXRpb24gZXJyb3JzLiAgSXRzIGludGVudCBpcyB0byBjbGVhbnVwIGFueSB0ZW1wb3JhcnkgZ2FyYmFnZSBsZWZ0IG92ZXIgZnJvbSB2YWxpZGF0aW5nIGFuZCBwcm9jZXNzaW5nIHRoZSBzdWJtaXNzaW9uLjwvcD4KICAgICAgIDxoNT5Bcmd1bWVudHM6PC9oNT4KICAgICAgIDxwPlRoaXMgaG9vayBzZW5kcyB0aGUgRm9ybVJlc3BvbnNlIG9iamVjdCBhcyBpdHMgc2luZ2xlIGFyZ3VtZW50LjwvcD4KICAgICAgIDxoNT5SZXR1cm5zOiA8Y29kZT52b2lkPC9jb2RlPjxoNT4KICAgIDwvbGk+CiAgPC91bD4KCiAgPGgzPkFQSSBSZWZlcmVuY2U8L2gzPgogIDx1bD4KICAgIDxsaT48c3Ryb25nPkZvcm1SZXNwb25zZSBvYmplY3Q8L3N0cm9uZz4KICAgICAgIDxwPlRoaXMgb2JqZWN0IHJlcHJlc2VudHMgdGhlIHJlc3VsdHMgb2YgdXNlciBmb3JtIHN1Ym1pc3Npb25zLiAgSXQgZW5jYXBzdWxhdGVzIHRoZSB1c2VyIHN1Ym1pdHRlZCBpbmZvcm1hdGlvbiwgdXBsb2FkZWQgZmlsZXMsIGFuZCBtZXRhZGF0YSBhYm91dCB0aGUgZm9ybS4gIFRoaXMgb2JqZWN0IGlzIHBhc3NlZCB2aWEgc21hcnR5IHRvIGVhY2ggZGlzcG9zaXRpb24gZm9yIHVzZSBpbiBVRFQncyBhbmQgb3RoZXIgY29kZS48L3A+CiAgICAgICA8aDQ+UHJvcGVydGllczo8L2g0PgogICAgICAgPHVsPgogICAgICAgICA8bGk+PGNvZGU+Zm9ybTwvY29kZT4gLSA8ZW0+KHN0cmluZywgcmVhZCBvbmx5KTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGZvcm0uPC9saT4KICAgICAgICAgPGxpPjxjb2RlPnJlbW90ZV9pcDwvY29kZT4gLSA8ZW0+KHN0cmluZywgcmVhZCBvbmx5KTwvZW0+IC0gVGhlIElQIGFkZHJlc3Mgb2YgdGhlIGNsaWVudCBicm93c2VyLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT5zdWJtaXRfdGltZTwvY29kZT4gLSA8ZW0+KGludCwgcmVhZCBvbmx5KTwvZW0+IC0gVGhlIFVuaXggdGltZXN0YW1wIG9mIHRoZSB0aW1lIHRoYXQgdGhlIGZvcm0gd2FzIHN1Ym1pdHRlZC48L2xpPgogICAgICAgICA8bGk+PGNvZGU+dmVyc2lvbjwvY29kZT4gLSA8ZW0+KHN0cmluZywgcmVhZCBvbmx5KTwvZW0+IC0gVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBTbWFydEZvcm1zLjwvbGk+CiAgICAgICAgIDxsaT48Y29kZT5ndWlkPC9jb2RlPiAtIDxlbT4oc3RyaW5nLCByZWFkIG9ubHkpPC9lbT4gLSBUaGUgdW5pcXVlIGd1aWQgb2YgdGhpcyBzdWJtaXNzaW9uLgogICAgICAgICAgICA8cD5UbyBhaWRlIGluIHNlY3VpdHksIGFuZCB3aXRoIHVwbG9hZGluZyBtdWx0aXBsZSBmaWxlcywgQSB1bmlxdWUgZ3VpZCBzdHJpbmcgaXMgZ2VuZXJhdGVkIHdoZW4gdGhlIGZvcm0gaXMgcmVuZGVyZWQuICBUaGlzIHByb3BlcnR5IGNvbnRhaW5zIHRoYXQgZ3VpZCB2YWx1ZS48L3A+CiAgICAgICAgIDwvbGk+CiAgICAgICA8L3VsPgogICAgICAgPGg0Pk1ldGhvZHM6PC9oND4KICAgICAgIDx1bD4KICAgICAgICAgPGxpPjxjb2RlPmdldF9maWVsZF92YWx1ZSg8ZW0+c3RyaW5nPC9lbT4gJGtleSk8L2NvZGU+IC0gUmV0dXJuIHRoZSB2YWx1ZSBmb3IgYSBzcGVjaWZpYyBmaWVsZCwgaWYgYW55LgogICAgICAgICAgICAgPGg1PkFyZ3VtZW50czo8L2g1PgogICAgICAgPHA+PGNvZGU+JGtleTwvY29kZT4gLSA8ZW0+KHN0cmluZyk8L2VtPiAtIEEgZmllbGQgbmFtZS48L3A+CiAgICAgICA8aDU+UmV0dXJuczogPGNvZGU+PGVtPm1peGVkPC9lbT48L2NvZGU+PC9oNT4KICAgICAgICAgPC9saT4KICAgICAgICAgPGxpPjxjb2RlPmdldF9odW1hbl9yZWFkYWJsZV9maWVsZF92YWx1ZSg8ZW0+c3RyaW5nPC9lbT4gJGtleSk8L2NvZGU+IC0gUmV0dXJuIHRoZSBodW1hbiByZWFkYWJsZSB2YWx1ZSBmb3IgYSBzcGVjaWZpYyBmaWVsZCwgaWYgYW55LgogICAgICAgICAgICAgPHA+RmllbGRzIHN1Y2ggYXMgc2VsZWN0IGZpZWxkcywgcmFkaW8tYnV0dG9uIGdyb3VwcyBvciBjaGVja2JveC1ncm91cHMgY2FuIGhhdmUgYW4gZXhwbGljaXQgdmFsdWUgZm9yIGVhY2ggb3B0aW9uIHVzZWZ1bCBmb3IgcHJvY2Vzc2luZywgYW5kIGEgaHVtYW4gcmVhZGFibGUgdmFsdWUgdGhhdCBpcyBzdWl0YWJsZSBmb3IgcHJlc2VudGF0aW9uIGluIGVtYWlscyBhbmQgcmVwb3J0cy4gVGhpcyBtZXRob2QgYXR0ZW1wdHMgdG8gcmV0dXJuIHRoZSBodW1hbiByZWFkYWJsZSB2YWx1ZSBmb3IgYSBmaWVsZCBpbiBhIHJlc3BvbnNlLiAgSWYgbm8gZXhwbGljaXQgaHVtYW4gcmVhZGFibGUgdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSB1c2VyIGVudGVyZWQgdmFsdWUgaXMgcmV0dXJuZWQgdmVyYmF0dW0uICBTZWUgdGhlIDxjb2RlPmRhdGEtc210Zm0taHVtYW48L2NvZGU+IGRhdGEgYXR0cmlidXRlLjwvcD4KICAgICAgICAgICAgIDxoNT5Bcmd1bWVudHM6PC9oNT4KICAgICAgIDxwPjxjb2RlPiRrZXk8L2NvZGU+IC0gPGVtPihzdHJpbmcpPC9lbT4gLSBBIGZpZWxkIG5hbWUuPC9wPgogICAgICAgPGg1PlJldHVybnM6IDxjb2RlPjxlbT5zdHJpbmc8L2VtPjwvY29kZT48L2g1PgogICAgICAgPHA+VGhlIGh1bWFuIHJlYWRhYmxlIHZhbHVlLCBpZiBhbnkgY2FuIGJlIGZvdW5kLiAgSWYgbm90LCB0aGVuIHRoZSBpbnB1dCBmaWVsZCB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLjwvcD4KICAgICAgICAgPC9saT4KICAgICAgICAgPGxpPjxjb2RlPmxpc3RfZmlsZXMoPGVtPnN0cmluZzwvZW0+ICRuYW1lID0gbnVsbCk8L2NvZGU+IC0gUmV0dXJuIGZpbGVzIHVwbG9hZGVkIHdpdGggdGhpcyBzdWJtaXNzaW9uIHJlcXVlc3QuICBJZiBhbnkuCiAgICAgICAgICAgICA8aDU+QXJndW1lbnRzOjwvaDU+CiAgICAgICA8cD48Y29kZT4kbmFtZTwvY29kZT4gLSA8ZW0+KHN0cmluZyk8L2VtPiAtIEFuIG9wdGlvbmFsIGZpZWxkIG5hbWUuPC9wPgogICAgICAgPGg1PlJldHVybnM6IDxjb2RlPjxlbT5zdHJpbmdbXXxudWxsPC9lbT48L2NvZGU+PC9oNT4KICAgICAgICAgICAgIDxwPklmIGEgZmllbGQgbmFtZSBpcyBzcGVjaWZpZWQsIGFuZCBvbmUgb3IgbW9yZSBmaWxlcyB3ZXJlIHVwbG9hZGVkIGZvciB0aGF0IGZpZWxkLCB0aGVuIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIGFuIGFycmF5IG9mIGZpbGUgbmFtZXMgcmVwcmVzZW50aW5nIHRoZSBmaWxlcyB1cGxvYWRlZCBmb3IgaHRhdCBmaWVsZC48L3A+CiAgICAgICA8cD5JZiBubyBmaWVsZCBuYW1lIGlzIHNwZWNpZmllZCwgdGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gYXJyYXkgb2YgYWxsIHVwbG9hZHMgZm9yIHRoZSBlbnRpcmUgZm9ybSBzdWJtaXNzaW9uLCBrZXllZCBieSB0aGUgZmllbGQgbmFtZS48L3A+CiAgICAgICA8cD5JZiBubyBmaWxlcyB3ZXJlIHVwbG9hZGVkIGZvciB0aGlzIHJlc3BvbnNlIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG51bGwsIG9yIGFuIGVtcHR5IGFycmF5LjwvcD4KICAgICAgICAgPC9saT4KICAgICAgICAgPGxpPjxjb2RlPmhhc19maWxlcyg8ZW0+c3RyaW5nPC9lbT4gJG5hbWUpPC9jb2RlPiAtIFRlc3QgaWYgYSBmaWxlIGhhcyBiZWVuIHVwbG9hZGVkIGZvciBhIHNwZWNpZmljIGZpZWxkIG5hbWUuCiAgICAgICAgICAgICA8aDU+QXJndW1lbnRzOjwvaDU+CiAgICAgICA8cD48Y29kZT4kbmFtZTwvY29kZT4gLSA8ZW0+KHN0cmluZyk8L2VtPiAtIEEgZmllbGQgbmFtZS48L3A+CiAgICAgICA8aDU+UmV0dXJuczogPGNvZGU+PGVtPmJvb2w8L2VtPjwvY29kZT48L2g1PgogICAgICAgICA8L2xpPgogICAgICAgICA8bGk+PGNvZGU+aXNfZmlsZV9maWVsZCg8ZW0+c3RyaW5nPC9lbT4gJG5hbWUpPC9jb2RlPiAtIFRlc3QgaWYgYSBzcGVjaWZpYyBmaWVsZCBuYW1lIHJlcHJlc2VudHMgYSBmaWxlIHVwbG9hZCBmaWVsZC4KICAgICAgICAgICAgIDxoNT5Bcmd1bWVudHM6PC9oNT4KICAgICAgIDxwPjxjb2RlPiRuYW1lPC9jb2RlPiAtIDxlbT4oc3RyaW5nKTwvZW0+IC0gQSBmaWVsZCBuYW1lLjwvcD4KICAgICAgIDxoNT5SZXR1cm5zOiA8Y29kZT48ZW0+Ym9vbDwvZW0+PC9jb2RlPjwvaDU+CiAgICAgICAgIDwvbGk+CiAgICAgICAgIDxsaT48Y29kZT5oYXNfdXBsb2FkcygpPC9jb2RlPiAtIFRlc3QgaWYgdGhlIGZvcm0gcmVzcG9uc2UgY29udGFpbnMgYW55IHVwbG9hZGVkIGZpbGVzLgogICAgICAgICAgICAgPGg1PkFyZ3VtZW50czo8L2g1PgogICAgICAgPGg1PlJldHVybnM6IDxjb2RlPjxlbT5ib29sPC9lbT48L2NvZGU+PC9oNT4KICAgICAgICAgPC9saT4KICAgICAgICAgPGxpPjxjb2RlPmdldF9maWxlX2FzX3VybCg8ZW0+c3RyaW5nPC9lbT4gJG5hbWUpPC9jb2RlPiAtIEdldCB0aGUgVVJMKHMpIGZvciBhbGwgZmlsZXMgdXBsb2FkZWQgdG8gZm9yIGEgc3BlY2lmaWVkIGZpZWxkLgogICAgICAgICAgICAgPGg1PkFyZ3VtZW50czo8L2g1PgogICAgICAgPHA+PGNvZGU+JG5hbWU8L2NvZGU+IC0gPGVtPihzdHJpbmcpPC9lbT4gLSBBIGZpZWxkIG5hbWUuPC9wPgogICAgICAgPGg1PlJldHVybnM6IDxjb2RlPjxlbT5zdHJpbmdbXXxzdHJpbmd8bnVsbDwvZW0+PC9jb2RlPjwvaDU+CiAgICAgICA8cD5TaW1pbGFyIHRvIHRoZSA8ZW0+PHN0cm9uZz5saXN0X2ZpbGVzKCk8L3N0cm9uZz48L2VtPiBtZXRob2QsIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIGFsbCBvZiB0aGUgZmlsZXMgdXBsb2FkZWQgZm9yIGEgc3BlY2lmaWMgZmllbGQuICBIb3dldmVyLCB0aGUgb3V0cHV0IGlzIGNvbXBsZXRlIFVSTHMgdG8gdGhlIHVwbG9hZGVkIGZpbGVzLjwvcD4KICAgICAgIDxwPklmIG11bHRpcGxlIGZpbGVzIHdlcmUgdXBsb2FkZWQgZm9yIHRoZSBzcGVjaWZlZCBmaWVsZCwgdGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gYXJyYXkgb2Ygc3RyaW5ncy48L3A+CiAgICAgICA8cD5JZiBhIHNpbmdsZSBmaWxlIHdhcyB1cGxvYWRlZCBmb3IgdGhlIHNwZWNpZmllZCBmaWVsZCwgdGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYSBzaW5nbGUgc3RyaW5nLjwvcD4KICAgICAgIDxwPklmIG5vIGZpbGVzIHdlcmUgdXBsb2FkZWQgZm9yIHRoZSBzcGVjaWZpZWQgZmllbGQsIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG51bGwuPC9wPgogICAgICAgICA8L2xpPgogICAgICAgICA8bGk+PGNvZGU+aGFzX2Vycm9ycygpPC9jb2RlPiAtIFRlc3Qgd2hldGhlciBhbnkgZXJyb3JzIGhhdmUgYmVlbiByZWNvcmRlZCAoeWV0KSBpbiB0aGUgZm9ybSByZXNwb25zZS48L2xpPgogICAgICAgICAgICAgPHA+VGhpcyBtZXRob2QgaXMgdXNlZnVsIGluIHRlbXBsYXRlcyB1c2VkIGZvciBmaWVsZCB2YWxpZGF0aW9uIGFuZCBmb3IgdGVtcGxhdGVzIHVzZWQgaW4gZGlzcG9zaXRpb25zIHRvIGNvbnRyb2wgb3V0cHV0IG9yIGZ1cnRoZXIgYWN0aW9ucy48L3A+CiAgICAgICA8cD5pLmUuOiBjb2RlIGxpa2UgdGhpcyBjb3VsZCBiZSB1c2VkIGluIHRoZSAiQ29tcHV0ZSBhIGZpZWxkIHZhbHVlIiB2YWxpZGF0aW9uOjwvcD4KICAgICAgIDxwcmU+PGNvZGU+JiMxMjM7aWYgISRyZXNwb25zZS0mZ3Q7aGFzX2Vycm9ycygpfSYjMTIzO3NvbWVfcGx1Z2lufSYjMTIzOy9pZn08L2NvZGU+PC9wcmU+CiAgICAgICAgIDwvbGk+CiAgICAgICA8L3VsPgogICAgPC9saT4KICA8L3VsPgoKICAgICAgCjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImNvbnRyaWJ1dGVfYyI+PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCiAgPGgzPkhvdyBDYW4gSSBIZWxwPzwvaDM+CiAgPHA+SWYgeW91IHdhbnQgdG8gaGVscCB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1haW50ZW5hbmNlIG9mIHRoaXMgbW9kdWxlLCBwbGVhc2UgY29uc2lkZXIgZG9uYXRpbmcuPC9wPgogIDxwPkFsbCBoZWxwIGlzIGFwcHJlY2lhdGVkLCBubyBjb250cmlidXRpb24gaXMgdG9vIHNtYWxsISBUaGUgbW9yZSBwZW9wbGUgY29udHJpYnV0ZSB0aGUgbW9yZSB0aW1lIGNhbiBiZSBhbGxvY2F0ZWQgdG8gdGhlIG1haW50ZW5hbmNlIGFuZCBkZXZlbG9wbWVudCBvZiB0aGUgbW9kdWxlLiBUaGlzIGFsc28gZW5yaWNoZXMgQ01TIE1hZGUgU2ltcGxlLjwvcD4KCiAgPGg0PlBheVBhbDwvaDQ+CiAgPHA+WW91IGNhbiBjb250cmlidXRlIHdpdGggYSBvbmUgdGltZSBkb25hdGlvbiBvciBhIHJlY3VycmVudCBvbmUsIGp1c3QgY2xpY2sgb246PHA+CiAgICA8ZGl2IGNsYXNzPSJtX3RvcF8yNSI+PC9kaXY+CiAgPHA+CiAgICAgIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2RvbmF0ZS8/aG9zdGVkX2J1dHRvbl9pZD0zNkxUWEgyNDhMN0dMIj4KICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2xvY2FsaG9zdC9DTVNNUy0yLTQtREVWLU1PRFMvbW9kdWxlcy9TbWFydEZvcm1zL2ltYWdlcy9wcF9idXR0b24ucG5nIiBhbHQ9IlBheVBhbCBEb25hdGUgQnV0dG9uIiAvPgogICAgICA8L2E+CiAgPC9wPgogIDxkaXYgY2xhc3M9Im1fdG9wXzI1Ij48L2Rpdj4KICA8cD4KICAgIE9yIHVzZSB0aGUgZm9sbG93aW5nIFFSIGNvZGUgZm9yIHRoZSBzYW1lIFBheVBhbCBhY2NvdW50OiA8L3A+CiAgPGRpdiBjbGFzcz0ibV90b3BfMjUiPjwvZGl2PgogICAgPHA+PGltZyBzcmM9Imh0dHA6Ly9sb2NhbGhvc3QvQ01TTVMtMi00LURFVi1NT0RTL21vZHVsZXMvU21hcnRGb3Jtcy9pbWFnZXMvcHBfcXJfY29kZS5wbmciIGFsdD0iUGF5UGFsIFFSIENvZGUiIC8+CiAgPC9wPgogIDxkaXYgY2xhc3M9Im1fdG9wXzI1Ij48L2Rpdj4KPHA+Tm90ZTogdGhlIHBheXBhbCBkb25hdGUgbGluayBoYXMgYmVlbiB1cGRhdGVkIHRvIG15IFNtQXJ0IExhYiBhY2NvdW50LiBJIHdhc24ndCB1c2luZyBteSBwZXJzb25hbCBhY2NvdW50IHRoYXQgbXVjaCBhbmQgdGhlIGFjY291bnQgd2FzIGJlaW5nIG1vcmUgb2YgYW4gaGFzc2xlIHRoYW4gYW4gYXNzZXQuLi4gVGhhdCdzIFBQIGZvcid5YS4uLjwvcD4KICA8aDQ+Qml0Y29pbjwvaDQ+CiAgPHA+IFVzZSB0aGUgZm9sbG93aW5nIGJ0YyBhZGRyZXNzOiA8L3A+CiAgPHA+PHNwYW4gaWQ9InMxIj4xN0cySkQ0MTFzVTNzd2Nwck5jR0xRQ2NIYVpCeUsxOThOPC9zcGFuPiA8YnV0dG9uIG9uY2xpY2s9ImNvcHlUb0NsaXBib2FyZCgnI3MxJykiPkNvcHkgdG8gQ2xpcGJvYXJkPC9idXR0b24+PC9wPgogIDxwPgogICAgT3IgdXNlIHRoZSBmb2xsb3dpbmcgUVIgY29kZTogPGJyPgogICAgPGltZyBzcmM9Imh0dHA6Ly9sb2NhbGhvc3QvQ01TTVMtMi00LURFVi1NT0RTL21vZHVsZXMvU21hcnRGb3Jtcy9pbWFnZXMvYnRjX3FyX2NvZGUucG5nIiBhbHQ9IlBheVBhbCBRUiBDb2RlIiAvPgogIDwvcD4KCiAgPGgzPkNvbnRyaWJ1dGlvbnM8L2gzPgogIDxwPk9wZW4gU291cmNlIG1vZHVsZSBkZXZlbG9wbWVudCBmb3IgQ01TTVMgaXMgcHJldHR5IG11Y2ggYSB2b2x1bnRlZXIgY29tbWl0bWVudC4gVGhlIGRldmVsb3BlciBjb21taXRzIHRoZSB0aW1lIGhlIGNhbiBzcGFyZSB0byB0aGUgcHJvamVjdHMgaGUgY29uc2lkZXJzIGltcG9ydGFudCB0byB0aGUgZnV0dXJlIG9mIHRoZSBncmVhdGVyIHByb2plY3QgdGhhdCBDTVNNUyBpcy4gU29tZXRpbWVzIHdoYXQgb25lIGJlbGlldmVzIGlzIGltcG9ydGFudCBpcyBub3QgY29udmVyZ2VudCB3aXRoIHdoYXQgdGhlIGNvbW11bml0eSBiZWxpZXZlcyB0byBiZSBpbXBvcnRhbnQuIFNvbWV0aW1lcyBpdCdzIGEgd2FrZXVwIGNhbGwgYW5kIHRoZSBkZXZlbG9wZXIgZW1icmFjZXMgc29tZSBvZiB0aGUgY29tbXVuaXR5J3MgdmlzaW9uLCBzb21ldGltZXMgYm90aCB2aXNpb25zIGFyZSBub3QgY29tcGF0aWJsZS4gSXQncyBhIGJhbGFuY2UgZGlmZmljdWx0IHRvIGFjaGlldmUsIGJ1dCBicmluZ3MgbW9yZSByZXNwb25zaWJpbGl0eSB0byB0aGUgZGV2ZWxvcGVyLiBCdXQgYWxzbyByZXF1aXJlcyBzb21lIGVtcGF0aHkgZnJvbSB0aGUgY29tbXVuaXR5LiBBbmQgdGltZS4uLjwvcD4KICA8cD5QbGVhc2Uga2VlcCBpbiBtaW5kIHRoYXQgZGV2ZWxvcGVycyBkbyBoYXZlIHRoZWlyIGRhaWx5IGpvYnMgd2hpY2ggbWVhbnMgdGhhdCBmZWF0dXJlIHJlcXVlc3RzIGFyZSBjb25zaWRlcmVkIGFuZCBkb25lIGFzIHRpbWUgYWxsb3dzLiBJZiB5b3UgbmVlZCBhIGZlYXR1cmUgcmVhbGx5IGJhZGx5IGNvbnNpZGVyIGNvbnRhY3Rpbmcgb25lIG9mIHRoZSBkZXZlbG9wZXJzIGZvciBhIHNwb25zb3JlZCBkZXZlbG9wbWVudC48L3A+CiAgPHA+QW5vdGhlciB3YXkgdGhhdCAna2lja3MgdGhlIGNhbicgZm9yd2FyZCB3aGlsZSBtb3RpdmF0aW5nIHRoZSBtb2R1bGUgZGV2ZWxvcGVyIGlzIHRvIHNwb25zb3IgZmVhdHVyZXMgdGhhdCB3ZWIgZGV2ZWxvcGVycyB3b3VsZCBsaWtlIHRvIHNlZSBpbXBsZW1lbnRlZC4gV2ViIGRldmVsb3BlcnMsIG1vcmUgb2Z0ZW4gdGhhdCBub3QsIGtub3cgd2hhdCB0aGUgZmluYWwgY2xpZW50IHdhbnRzIG9yIG5lZWRzIGFuZCBoZWxwIGJyaWRnaW5nIHRoZSBnYXAgYmV0d2VlbiB0aGUgZmluYWwgdXNlciBhbmQgdGhlIG9yaWdpbmFsIGNyZWF0b3Igb2YgdGhlIG1vZHVsZXMuIEtlZXAgaW4gbWluZCB0aGF0IG1vZHVsZXMsIG1vcmUgdGhhbiB0aGUgQ01TTVMgY29yZSwgYXJlIHBhcnRpY3VsYXJseSBhcHQgdG8gY292ZXIgc2l0ZXMgc3BlY2lhbCBuZWVkcywgdGhlIGNvcmUgYmVpbmcgdGhlIHN1cHBvcnQgYXJvdW5kIHdoaWNoIGFsbCB0aGluZ3MgYXJlIHBvc3NpYmxlLiBTbywgaWYgc2VlIHRoZSBuZWVkIGZvciBhIHBhcnRpY3VsYXIgZmVhdHVyZSBpbiBhbiBleGlzdGluZyBtb2R1bGUsIG9yIGEgYmVzcG9rZSBtb2R1bGUgZm9yIGEgc3BlY2lhbCBuZWVkLCBzZWUgaWYgdGhlIGZpbmFsIGN1c3RvbWVyIGNhbiBmaXQgaW4gdGhlIGJ1ZGdldCB0aGUgc3BvbnNvcnNoaXAgb2YgdGhhdCBwcm9qZWN0LiBBc2sgYSBkZXZlbG9wZXIgb3IgdGhlIGFjdHVhbCBtb2R1bGUgZGV2ZWxvcGVyIGlmIGl0cyBhIG1vZHVsZSBmZWF0dXJlIHRoYXQgaXMgcmVxdWVzdGVkLCBmb3IgYW4gZXN0aW1hdGUgZm9yIHRoZSBqb2IgYW5kIHRyeSB0byBtYWtlIGl0IHBvc3NpYmxlLiBTb21ldGltZXMgaXQgbWF5IGJlIGNoZWFwZXIgdGhhbiBpdCBsb29rcywgb3RoZXIgdGltZXMgaXQgbWF5IGJlIHBvc3NpYmxlIHZpYSBzb21lIHNvcnQgb2YgY3Jvd2QgZnVuZGluZy4gV2hlbiBpdCBoYXBwZW5zLCBpdCdzIGEgd2luLXdpbiBzaXR1YXRpb24uIFRoZSBjb21tdW5pdHkgd2lucywgdGhlIHdlYiBkZXZlbG9wZXIgd2lucywgdGhlIGNsaWVudCB3aW5zLCBDTVNNUyB3aW5zIGFuZCB0aGUgbW9kdWxlIGRldmVsb3BlciB3aW5zLjwvcD4KICA8cD5BIGRpZmZlcmVudCB3YXkgdGhhdCBoZWxwcyB0b286IGZvdW5kIGEgYnVnPyBmaWxlIGEgYnVnIHJlcG9ydC4gQnV0IHBsZWFzZSwgYmUgYXMgdGhvcm91Z2ggaW4gdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBidWcsIHRoZSBjaXJjdW1zdGFuY2VzIGFuZCBlbnZpcm9ubWVudCB3aGVyZSBpdCBoYXBwZW5lZCBhbmQgdGhlIHN0ZXBzIHRvIHJlcHJvZHVjZSBpdDsgaWYgdGhlIGRldmVsb3BlciBjYW4ndCByZXByb2R1Y2UgdGhlIGJ1ZyBpdCB3aWxsIGJlIGRpZmZpY3VsdCwgaWYgbm90IGltcG9zc2libGUsIHRvIGZpeCBpdDogYXMgZmFyIGFzIHRoZSBkZXZlbG9wZXIgaXMgY29uY2VybmVkIGlmIGl0IGNhbm5vdCBiZSByZXByb2R1Y2VkIGl0IGRvZXNuJ3QgZXhpc3QuIEJldHRlciB5ZXQsIGlmIHlvdSBrbm93IGhvdyB0byBmaXggaXQsIHN1Z2dlc3QgdGhlIHBvc3NpYmxlIGZpeC4gSWYgdmFsaWQsIHRoZSBkZXZlbG9wZXIgd2lsbCBzdXJlbHkgaW5jbHVkZSBpdC48L3A+CjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImFib3V0X2MiPjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgogIDxoMz5BYm91dCB0aGlzIG1vZHVsZTwvaDM+CgogIDxwPlRoaXMgbW9kdWxlIG9yaWdpbmF0ZWQgaXMgYSBmb3JrIG9mIHRoZSBDR0JGIG1vZHVsZSBmb3IgQ01TTVMgYnkgYnkgUm9iZXJ0IENhbXBiZWxsIDxlbT4oY2FsZ3V5MTAwMCk8L2VtPiBpbiAyMDA4LCBhbmQgc2luY2UgdGhlbiBoYXMgaGFkIG51bWVyb3VzIGNvbnRyaWJ1dGlvbnMgYnkgTW9ydGVuIFBvdWxzZW4gPGVtPihtb3J0ZW5AcG91bHNlbi5vcmcpPC9lbT4uPC9wPgogIDxwPkl0IGhhcyBiZWVuIGZvcmtlZCAgYnkgTW9ydGVuIFBvdWxzZW4gPGVtPihtb3J0ZW5AcG91bHNlbi5vcmcpPC9lbT4gYW5kIGhhcyBiZWVuICBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gPGVtPihKbyBNb3JnKTwvZW0+IGZvciBjb250aW51aXR5IHNha2UuVGhlIHByb2plY3QgaXMgYWRtaW5pc3RlcmVkIGJ5IHRoZSBDTVMgTWFkZSBTaW1wbGUgRm91bmRhdGlvbiB0byBwcmV2ZW50IHRoZSBuZWVkIGZvciBmdXJ0aGVyIGZvcmtzLjwvcD4KCjxoMz5TdXBwb3J0PC9oMz4KICA8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgogIDxwPlRoZSBtb2R1bGUgYXV0aG9yIGlzIGluIG5vIHdheSBvYmxpZ2F0ZWQgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciB0aGlzIGNvZGUgaW4gYW55IGZhc2hpb24uIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXRzIHVzZTo8L3A+CiAgSWYgeW91IGZpbmQgYW55IGJ1Z3MgcGxlYXNlIGZlZWwgZnJlZSB0byBzdWJtaXQgYSBidWcgcmVwb3J0ICBvciBmb3IgYW55IGdvb2QgaWRlYXMgY29uc2lkZXIgc3VibWl0dGluZyBhIGZlYXR1cmUgcmVxdWVzdCA7CiAgPHA+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LiAgV2hlbiBkZXNjcmliaW5nIGFuIGlzc3VlIHBsZWFzZSBtYWtlIGFuIGVmZm9ydCB0byBwcm92aWRlIGFsbCByZWxldmFudCBpbmZvcm1hdGlvbiwgYSB0aG9yb3VnaCBkZXNjcmlwdGlvbiBvZiB5b3VyIGlzc3VlLCBhbmQgc3RlcHMgdG8gcmVwcm9kdWNlIGl0IG9yIHlvdXIgZGlzY3Vzc2lvbiBtYXkgYmUgaWdub3JlZC48L3A+CiAgPHA+UGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IGRldmVsb3BlcnMgZG8gaGF2ZSB0aGVpciBkYWlseSBqb2JzIHdoaWNoIG1lYW5zIHRoYXQgZmVhdHVyZSByZXF1ZXN0cyBhcmUgY29uc2lkZXJlZCBhbmQgZG9uZSBhcyB0aW1lIGFsbG93cy4gSWYgeW91IG5lZWQgYSBmZWF0dXJlIHJlYWxseSBiYWRseSBjb25zaWRlciBjb250YWN0aW5nIG9uZSBvZiB0aGUgZGV2ZWxvcGVycyBmb3IgYSBzcG9uc29yZWQgZGV2ZWxvcG1lbnQuPC9wPgoKICA8cD5JZiB3YW50IHRvIGhlbHAgdGhlIGRldmVsb3BtZW50IGFuZCBtYWludGVuYW5jZSBvZiB0aGlzIG1vZHVsZSwgcGxlYXNlIGNvbnNpZGVyIDxhIGhyZWY9IiIgaWQ9ImRvbmF0aW5nIj5kb25hdGluZzwvYT4uPC9wPgoKCiAgPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CgogIDxwPlRoZSBNb2R1bGUgaXMgY3VycmVudGx5IGJlaW5nIGRldmVsb3BlZCBhbmQgbWFpbnRhaW5lZCBieSA8c3Ryb25nPkZlcm5hbmRvIE1vcmdhZG8gKEpvIE1vcmcpPC9zdHJvbmc+CiAgPGJyPgogIFdlYjogPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnNtLWFydC1sYWIuY29tIiByZWw9ImV4dGVybmFsIj53d3cuc20tYXJ0LWxhYi5jb208L2E+CiAgPGJyPgogIEVtYWlsOiA8YSBocmVmPSJtYWlsdG86am9tb3JnQHNtLWFydC1sYWIuY29tIj5qb21vcmdAc20tYXJ0LWxhYi5jb208L2E+CiAgPC9wPgogICAgCiAgPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDIzIC4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPGJyPjwvcD4KICA8ZGl2IGNsYXNzPSJtX3RvcF8yNSI+PC9kaXY+CiAgPHA+PHN0cm9uZz48L3N0cm9uZz4gaXMgZnJlZSBzb2Z0d2FyZTs8YnIgLz4geW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIDxzdHJvbmc+R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2U8L3N0cm9uZz4gYXMgcHVibGlzaGVkIGJ5IHRoZSA8c3Ryb25nPkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjwvc3Ryb25nPjs8YnIgLz4gZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CiAgPHA+PHN0cm9uZz48L3N0cm9uZz4gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IDxzdHJvbmc+V0lUSE9VVCBBTlkgV0FSUkFOVFk8L3N0cm9uZz47PGJyIC8+IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiA8c3Ryb25nPk1FUkNIQU5UQUJJTElUWTwvc3Ryb25nPiBvciA8c3Ryb25nPkZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFPC9zdHJvbmc+LjwvcD4KICA8cD5TZWUgdGhlR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy48L3A+CiAgPHA+WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgPHN0cm9uZz5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTwvc3Ryb25nPiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTs8YnIgLz4gaWYgbm90LCB3cml0ZSB0byB0aGUgPHN0cm9uZz5GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBPC9zdHJvbmc+IG9yIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPnJlYWQgaXQgb25saW5lPC9hPi48L3A+CiAgPHA+PHN0cm9uZz5Zb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIDxzdHJvbmc+PC9zdHJvbmc+Ljwvc3Ryb25nPjwvcD4KICA8ZGl2IGNsYXNzPSJtX3RvcF8yNSI+PC9kaXY+CiAgPGg0PkNvbnRyaWJ1dG9yczwvaDQ+CiAgPGRpdiBjbGFzcz0ibV90b3BfMjUiPjwvZGl2PgogIDxwPlJvYmVydCBDYW1wYmVsbCA8ZW0+KGNhbGd1eTEwMDApPC9lbT4gLSBjb2RlLjwvcD4KICA8cD5Nb3J0ZW4gUG91bHNlbiA8ZW0+KHNpbG1hcmlsbGlvbik8L2VtPiAtIGNvZGUuPC9wPgo8L2Rpdj48L2Rpdj48aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNNU01TRXh0ID0mZ3Q7IDEuNC4zPC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9ybT0iIiAtIFRoZSBmb3JtIG5hbWUgdG8gcmVuZGVyIGFuZCBwcm9jZXNzPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2RhdGVjaGVjaz0iMCIgLSBTcGVjaWZ5IGEgcG9zaXRpdmUgaW50ZWdlciB0byBkaXNhYmxlIGRhdGUgY2hlY2tpbmcgd2hlbiByZW5kZXJpbmcgYSBmb3JtLiAgVGhpcyBpcyB1c2VmdWwgZm9yIGRldmVsb3BtZW50IGFuZCB0ZXN0aW5nIHB1cnBvc2VzLCBidXQgc2hvdWxkIG5vdCBiZSB1c2VkIGluIGEgcHJvZHVjdGlvbiBzeXN0ZW0uPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBNb3J0ZW4gUG91bHNlbiAoU2lsbWFyaWxsaW9uKSBmb3JrZWQgZnJvbSBDR0JldHRlckZvcm1zIGJ5IFJvYmVydCBDYW1iZWxsPGJyIC8+PGJyIC8+VmVyc2lvbjogMi4xLjA8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48aDE+Q3VycmVudCBjaGFuZ2Vsb2c8L2gxPgo8dWw+CiAgICA8bGk+CiAgICAgICAgMi4wLjEgLSA/CiAgICAgICAgPHA+QWRkZWQgZXJyb3IudHBsIHdoaWNoIHdhcyBtaXNzaW5nPC9wPgoKICAgIDwvbGk+CiAgICA8bGk+Mi4wLjAgLSBhdWd1c3QgMjAyMQogICAgICAgIDxwPkluaXRpYWwgZnVuY3Rpb25pbmcgZm9yayBvZiBDR0JldHRlckZvcm1zPC9wPgogICAgICAgIDxwPkFkZGVkIGNvbmZpcm1hdGlvbiBib3ggd2hlbiBkZWxldGluZyBmb3JtPC9wPgogICAgPC9saT4KCgoKPC91bD4KCjxoMT5QcmV2aW91cyBjaGFuZ2Vsb2c8L2gxPgo8dWw+Cgk8bGk+djEuMCAtIEluaXRpYWwgc3RhYmxlIHJlbGVhc2UuPC9saT4KCTxsaT52MS4xIC0gU2VwdGVtYmVyIDIwMTcKCQk8cD4tIE1pbm9yIGJ1ZyBmaXguPC9wPgoJCTxwPi0gQWRkcyBiYXNpYyBpbXBvcnQgYW5kIGV4cG9ydCBmdW5jdGlvbmFsaXR5LjwvcD4KCTwvbGk+CgoJPGxpPnYxLjEuMiAtIFNlcHRlbWJlciAyMDE3CgkJPHA+LSBJbXByb3ZlcyB0aGUgZWRpdC1mb3JtIGludGVyZmFjZSBpbiB0aGUgZXZlbnQgb2Ygc2V2ZXJlIGVycm9ycyB3aGVuIHBhcnNpbmcgdGhlIGZvcm0gSFRNTC48L3A+CgkgICAgICAgIDxwPi0gSW1wcm92ZXMgbWVzc2FnZXMgYWJvdXQgdW5rbm93biBIVE1MNSBlbGVtZW50cy4gIFdpbGwgbG9vayBhdCB1c2luZyBhIGRpZmZlcmVudCBsaWJyYXJ5IGluIGxhdGVyIHZlcnNpb25zLjwvcD4KCQk8cD4tIE1pbm9yIGJ1ZyBmaXggcmVsYXRlZCB0byBzdGF0aWMgdXNlIG9mIG5vbi1zdGF0aWMgbWV0aG9kLjwvcD4KCTwvbGk+Cgk8bGk+djEuMiAtIE5vdmVtYmVyIDIwMTcKCQk8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEZvciBhbGwgZm9ybXMgdXNpbmcgY2FwdGNoYSwgeW91IG1heSBuZWVkIHRvIHJlbW92ZSBhbmQgcmUtYWRkIGFueSAmcXVvdDtWYWxpZGF0ZSBDYXB0Y2hhJnF1b3Q7IHZhbGlkYXRpb24gaW4gdGhlIHZhbGlkYXRpb24gdGFiIHRvIGVuc3VyZSB0aGF0IGNhcHRjaGEgaXMgdmFsaWRhdGVkIG9uIHRoZSBzZXJ2ZXIgc2lkZS48L3A+CgkJPHVsPgoJCTxsaT5GaXhlcyB0byBjYXB0Y2hhIHZhbGlkYXRpb24gKHdhc24ndCBoYXBwZW5pbmcgc2VydmVyIHNpZGUpPC9saT4KCQk8bGk+Q2FuIG5vdyBhdXRvLWFkZCB2YWxpYXRpb25zIGV2ZW4gaWYgdGhlcmUgYXJlIGV4aXN0aW5nIHZhbGlkYXRpb25zLjwvbGk+CgkJPGxpPk1pbm9yIGZpeCB0byB0ZW1wbGF0ZSBoZWxwIHN0dWZmLjwvbGk+CgkJPGxpPkFkZHMgYSBuZXcgTW9kdWxlUmVmZXJlbmNlIGNsYXNzIGFuZCB1c2UgaXQgaW4gYXQgbGVhc3Qgb25lIHBsYWNlIHRvIGFsbG93IHN0b3JpbmcgYSBzaW1wbGUgcmVmZXJlbmNlIHRvIGEgbW9kdWxlIHRvIHVzZSBpbnZpc2libHkuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT52MS4yLjEgLSBEZWNlbWJlciAyMDE3CgkJPHVsPgoJCTxsaT5Gb3JtUmVzcG9uc2Ugbm93IGNvbnRhaW5zIGEgdHJhbnNsYXRvciBtZW1iZXIgYW5kIGEgZ2V0X3RyYW5zbGF0b3IoKSBtZXRob2QuICBNYXkgcmVtb3ZlIHRoZXNlIGxhdGVyLjwvbGk+CgkJPGxpPkltcHJvdmVtZW50cyB0byB2YWxpZGF0aW9uIGVycm9ycy48L2xpPgoJCTxsaT5Ob3cgaGFuZGxlIGRpc3Bvc2l0aW9uIGVycm9ycyBzaW1pbGFyIHRvIHZhbGlkYXRpb24gZXJyb3JzLjwvbGk+CgkJPGxpPlNtYXJ0eSB0ZW1wbGF0ZXMgY2FuIG5vdyBhY2Nlc3MgcmF3IHJlc3BvbnNlIGRhdGEuPC9saT4KCQk8bGk+bW9yZS4uLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+djEuMyAtIERlY2VtYmVyIDIwMTcKCQk8dWw+CgkgICAgICAgIDxsaT5SZW1vdmUgdGhlIHJlc2V0IGJ1dHRvbiBmcm9tIHRoZSBmaW5hbCBtZXNzYWdlIHRlbXBsYXRlLjwvbGk+CgkJPGxpPkZpeCBpc3N1ZSB3aXRoIHRoZSBob25leXBvdCBmaWVsZCBub3QgYmVpbmcgcHJvdmlkZWQgdG8gdGhlIHJlc3BvbnNlIG9iamVjdCBwcm9wZXJseS48L2xpPgoJICAgICAgICA8bGk+Rml4IGlzc3VlIHdpdGggc3VibWlzc2lvbnMgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgZm9ybXMgb24gYSBwYWdlLjwvbGk+CgkgICAgICAgIDxsaT5GaXggbGFiZWxzIGluIHRoZSBTbWFydHkgVGVtcGxhdGUgdmFsaWRhdGlvbi48L2xpPgoJICAgICAgICA8bGk+Rml4IGlzc3VlIHdpdGggdmFsaWRhdGlvbnMgdGhyb3dpbmcgdGhlIHdyb25nIGV4Y2VwdGlvbi48L2xpPgoJICAgICAgICA8bGk+Rml4IHRoZSBzZWxlY3QgaW4gdGhlIERyb3Bkb3duLUVtYWlsIHZhbGlkYXRpb24gKHlvdSBtYXkgbmVlZCB0byByZW1vdmUgYW5kIHJlLWFkZCB0aGlzIHZhbGlkYXRpb24gb24geW91ciBmb3JtcykuPC9saT4KCQk8bGk+Zml4IHByb2JsZW0gdGhhdCByZXN1bHRlZCBpbiBhbiBlbXB0eSB0ZW1wbGF0ZSBiZWluZyBpbXBvcnRlZC48L2xpPgoJICAgICAgICA8bGk+VW5pcXVlIGZpbGVuYW1lIGRpc3Bvc2l0aW9uIG5vdyBoYXMgYSBmaWxlbmFtZSB0ZW1wbGF0ZS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPnYxLjQueAoJCTx1bD4KCSAgICAgICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gZGlzcG9zZSB2aWEgZW1haWwgdG8gYWxsIG1lbWJlcnMgb2YgYW4gYWRtaW4gZ3JvdXAuPC9saT4KCSAgICAgICAgPGxpPmRhdGEtc210Zm0tbGFiZWwgbm93IHdvcmtzIGZvciBzZWxlY3QgZmllbGRzLjwvbGk+CgkgICAgICAgIDxsaT5JbXByb3ZlbWVudHMgdG8gZXh0cmFjdGlvbiBvZiBsYWJlbHMuPC9saT4KCQk8bGk+TWlub3IgZml4IHRvIHRoZSBTdG9wRGlzcG9zaW5nIERpc3Bvc2l0aW9uLjwvbGk+CgkJPGxpPk5vdyB1c2UgZmlsdGVyX3ZhciBvbiBhbGwgcmVzcG9uc2UgZmllbGRzLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+djEuNS54CgkJPHVsPgoJCTxsaT5GaXhlcyBmb3IgZW50aXRpZXMgaW4gdmFsaWRhdGlvbiBhbmQgaGFuZGxlciB0ZW1wbGF0ZXMuPC9saT4KCQk8bGk+Tm93IGVuc3VyZSB0aGF0IG11bHRpc2VsZWN0IGZpZWxkIG5hbWVzIGVuZCB3aXRoIFtdIHdoZW4gcmVuZGVyaW5nLjwvbGk+CgkJPGxpPkhlbHAgaW1wcm92ZW1lbnRzLjwvbGk+CgkJPGxpPkZpeCBmb3IgY2FzZSB3aGVuIHRoZSBmb3JtIGlzIGlubGluZSBhbmQgZW1wYmVkZGVkIHdpdGhpbiBhIGRldGFpbCB2aWV3IG9yIHNvbWUgb3RoZXIgdmlldyBvZiBhbm90aGVyIG1vZHVsZS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPnYxLjYueAoJCTx1bD4KCSAgICAgICAgPGxpPk5vdyBhbGxvdyBzcGVjaWZ5aW5nIGEgc21hcnR5IHJlc291cmNlIGFzIGEgdGVtcGxhdGUuPC9saT4KCSAgICAgICAgPGxpPk5vIGxvbmdlciBjaGVjayBpZiBmb3JtIG5lZWRzIHNjYW5uaW5nIG9uIGxvYWQgaWYgdXNpbmcgZmlsZSBiYXNlZCB0ZW1wbGF0ZS48L2xpPgoJICAgICAgICA8bGk+TW9kaWZ5IHRoZSBmb3JtIHJlc3BvbnNlIG9iamVjdCB0byBoYXZlIGEgaGFzX2Vycm9ycygpIG1ldGhvZCB0aGF0IGNhbiBiZSB1c2VkIGluIHZhbGlkYXRpb24gdGVtcGxhdGVzLjwvbGk+CgkgICAgICAgIDxsaT5BZGQgYWJpbGl0eSB0byBkaXNhYmxlIGEgZGlzcG9zaXRpb24uPC9saT4KCSAgICAgICAgPGxpPkFkZHMgY29uZmlnIGVudHJpZXMgZm9yIHNraXBwaW5nIHZlcnNpb24gYW5kIGRhdGUgY2hlY2tzLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+djEuNy54CgkJPHVsPgoJCTxsaT5BZGRzIEVtYWlsQWRtaW5Hcm91cFdpdGhSZXBseVRvIGRpc3Bvc2l0aW9uLjwvbGk+CgkJPGxpPk51bWVyb3VzIGJ1ZyBmaXhlcy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPnYxLjgueAoJICAgICAgICA8dWw+CgkJPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgoJICAgICAgICA8bGk+QWRkcyB0aGUgZGF0YS1zbXRmbS1yZXBseXRvIGF0dHJpYnV0ZSB0aGF0IGlzIHVzZWQgdG8gbWFyayBhIGZpZWxkIGFzIGFuIGVtYWlsIGZpZWxkIHRoYXQgY29udGFpbnMgYSByZXBseXRvIGFkZHJlc3MgZm9yIGFkbWluIGVtYWlscy48L2xpPgoJICAgICAgICA8bGk+TW9kaWZpZXMgdGhlIHdlYiBob29rIGRpc3Bvc2l0aW9uIHNvIHRoYXQgdGhlICdleHRyYSB2YXJpYWJsZXMnIHRleHQgYXJlYSBpcyB0cmVhdGVkIGFzIGEgc21hcnR5IHRlbXBsYXRlLgoJICAgICAgICA8L3VsPgoJPC9saT4KCTxsaT52MS45LngKCTx1bD4KICAJCTxsaT5Ob3cgYXV0by1zZXQgdGhlIHZhbHVlIG9mIGZpZWxkcyAoaW5jbHVkaW5nIGNoZWNrYm94ZXMsIGFuZCByYWRpbyBidXR0b25zKQoJCQk8cD53aGVuIHJlbmRlcmluZyBhIGZvcm0sIGlmIHRoZXJlIGlzIG5vIHNwZWNpZmljIGNvbnRlbnQgc2V0IGluIHRoZSB2YWx1ZSwgd2Ugc2V0IHRoZSB2YWx1ZSwgY29udGVudCwgY2hlY2tlZCwgb3Igc2VsZWN0ZWQgc3RhdGUgYXBwcm9wcmlhdGVseSBiYXNlZCBvbiB0aGUgdmFsdWUgc2V0IGluIHRoZSBmb3JtIHJlc3BvbnNlLjwvcD4KCSAgICAgICAgPC9saT4KCQk8bGk+QWRkcyB0aGUgZGF0YS1zbXRmbS1ub2F1dG92YWx1ZSBhdHRyaWJ1dGUgdG8gYXZvaWQgc2V0dGluZyB0aGUgdmFsdWUgYXV0b21hdGljYWxseS4gIFRoaXMgYXR0cmlidXRlIHdvcmtzIGdsb2JhbGx5IGZvciBhIGZvcm0sIG9yIG9uIGVhY2ggaW5kaXZpZHVhbCBmaWVsZC48L2xpPgoKCQk8bGk+Tm93IGVuc3VyZSB0aGF0IGNoZWNrYm94IGdyb3VwcyBoYXZlIHRoZSBbXSBhcHBlbmRlZCB0byB0aGVpciBuYW1lIG9uIHJlbmRlcmluZy48L2xpPgoJICAgICAgICA8bGk+QWRkcyB0aGUgZGF0YS1zbXRmbS1ub25hbWVhZGp1c3QgYXR0cmlidXRlIHRvIGF2b2lkIGF0dGVtcHRpbmcgdG8gYXV0by1hcHBlbmQgW10gdG8gdGhlIG5hbWUgb2YgbXVsdGlzZWxlY3QgZmllbGRzLCBvciBjaGVja2JveCBncm91cHMuPC9saT4KCSAgICAgICAgPGxpPkVtYWlsIGRpc3Bvc2l0aW9ucyB3aWxsIG5vdyBkbyBub3RoaW5nIGlmIHRoZSByZXN1bHQgb2YgcGFzc2luZyB0aGUgYm9keSB0ZW1wbGF0ZSBvciBzdWJqZWN0IHRlbXBsYXRlIHRocm91Z2ggc21hcnR5IHJlc3VsdCBpbiBlbXB0eSBzdHJpbmdzLjwvbGk+CgkJPGxpPkZvciBwZXJmb3JtYW5jZSByZWFzb25zLCBvbmx5IGFsbG93IHZhbGlkYXRpb24gZWRpdG9ycyB0byBiZSByZWdpc3RlcmVkIGZyb20gYWRtaW4gcmVxdWVzdHMuPC9saT4KCTwvdWw+Cgk8L2xpPgoKCTxsaT52MS4xMC54Cgk8dWw+CiAgICAgICAgCTxsaT5TZXZlcmFsIG1pbm9yIG5ldyBmZWF0dXJlcy48L2xpPgogICAgICAgICAgICAgICAgPGxpPnYxLjEwLjMgLSBmaXggdG8gdGhlIGF1dG8gdmFsaWRhdGlvbiBzY2FubmVyLi4uIHlvdSBtYXkgbmVlZCB0byByZW1vdmUgYW5kIHJlLWF1dG8tdmFsaWRhdGUgdmFsaWRhdGlvbnMgdGhhdCB3ZXJlIGF1dG8tYWRkZWQgdG8gZml4IGEgcHJvYmxlbSB3aXRoIG9yZGVyaW5nIHZhbGlkYXRpb25zLjwvbGk+Cgk8L3VsPgoJPC9saT4KPC91bD4KPGJyIC8+]]></about>
	<description><![CDATA[A module for handling forms that were created and designed by a developer]]></description>
	<requires>
	  <requiredname>CMSMSExt</requiredname>
	  <requiredversion>1.4.3</requiredversion>
	</requires>
	<file>
	  <filename>/action.admin_delete_form.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CmlmKCAhXGRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIGV4aXQ7Cgp0cnkgewogICAgJGZvcm0gPSBudWxsOwogICAgaWYoICgkZm9ybV9pZCA9IFx4dF9wYXJhbTo6Z2V0X2ludCgkcGFyYW1zLCdmb3JtJykpICkgewogICAgICAgICRmb3JtID0gJHRoaXMtPmZvcm1zdG9yYWdlLT5sb2FkX2J5X2lkKCAkZm9ybV9pZCApOwogICAgfQoKICAgIGlmKCAhJGZvcm0gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdDYW5ub3QgZGVsZXRlIGZvcm0gKGludmFsaWQgZm9ybSBpZCknKTsKICAgICR0aGlzLT5mb3Jtc3RvcmFnZS0+ZGVsZXRlKCAkZm9ybSApOwoKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfZm9ybWRlbGV0ZWQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJGUtPkdldE1lc3NhZ2UoKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7Cn0=]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_disposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CmlmKCAhXGRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIGV4aXQ7Cgp0cnkgewogICAgJGZvcm1fZ3VpZCAgID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2Zvcm1fZ3VpZCcpOwogICAgJGRpc3BfZ3VpZCAgID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2Rpc3BfZ3VpZCcpOwogICAgJGVkaXRvcl9uYW1lID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2VkaXRvcl9uYW1lJyk7CiAgICAkZWRpdG9yID0gJGRpc3Bvc2l0aW9uID0gbnVsbDsKCiAgICAkaGVscGVyID0gbmV3IERpc3Bvc2l0aW9uRWRpdG9ySGVscGVyUHJveHkoICR0aGlzICk7CiAgICAkZm9ybSA9ICR0aGlzLT5nZXRfZm9ybSggJGZvcm1fZ3VpZCApOwogICAgaWYoICRkaXNwX2d1aWQgKSB7CiAgICAgICAgJGRpc3Bvc2l0aW9uID0gJGZvcm0tPmdldERpc3Bvc2l0aW9uKCAkZGlzcF9ndWlkICk7CiAgICAgICAgJGVkaXRvciA9ICR0aGlzLT5maW5kX2VkaXRvcl9ieV9kaXNwb3NpdGlvbiggJGRpc3Bvc2l0aW9uICk7CiAgICAgICAgJGVkaXRvci0+c2V0X2Rpc3Bvc2l0aW9uKCAkZGlzcG9zaXRpb24gKTsKICAgIH0KICAgIGVsc2UgewogICAgICAgICRlZGl0b3IgPSAkdGhpcy0+Z2V0X2Rpc3Bvc2l0aW9uX2VkaXRvciggJGVkaXRvcl9uYW1lICk7CiAgICB9CiAgICAkZWRpdG9yLT5zZXRfaGVscGVyX3Byb3h5KCAkaGVscGVyICk7CiAgICAkZWRpdG9yLT5oYW5kbGVfZWRpdF9mb3JtKCRwYXJhbXMsICRmb3JtLCAkZm9ybV9ndWlkLCAkZGlzcF9ndWlkKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgIGRlYnVnX2Rpc3BsYXkoJGUpOwogICAgZGllKCk7Cn0=]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_form.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CmlmKCAhXGRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIGV4aXQ7CgpzdGF0aWMgJHRlc3RlciwgJHNjYW5uZXI7CgokbWFrZV9maWVsZF9saXN0ID0gZnVuY3Rpb24oIGFycmF5ICRmaWVsZHMgKSB7CiAgICAkb3V0ID0gW107CiAgICBmb3JlYWNoKCAkZmllbGRzIGFzICRmaWVsZCApIHsKICAgICAgICAkb3V0WyRmaWVsZC0+bmFtZV0gPSAieyRmaWVsZC0+bmFtZX0gKHskZmllbGQtPnR5cGV9KSI7CiAgICB9CiAgICByZXR1cm4gJG91dDsKfTsKCiRkb19zY2FuID0gZnVuY3Rpb24oIEZvcm0gJGZvcm0sICRzbWFydHkgKSB1c2UgKCRzY2FubmVyLCR0ZXN0ZXIpIHsKICAgIHN0YXRpYyAkdGVzdGVyLCAkc2Nhbm5lcjsKCiAgICBpZiggIWlzX29iamVjdCgkdGVzdGVyKSApIHsKICAgICAgICAvLyBvbmx5IGRvIHRoaXMgb25jZSBwZXIgcmVxdWVzdC4KICAgICAgICAkc2Nhbm5lciA9IG5ldyBUZW1wbGF0ZUZvcm1TY2FubmVyKCAkdGhpcywgJGZvcm0gKTsKICAgICAgICAkdGVzdGVyID0gbmV3IFRlbXBsYXRlRm9ybVRlc3RlciggJHNjYW5uZXIsICR0aGlzLT5nZXRfZm9ybXRlc3RzKCkgKTsKICAgIH0KCiAgICAkcmVzdWx0cyA9IG5ldyBTY2FubmVkVGVtcGxhdGUoICRzY2FubmVyLCAkdGVzdGVyICk7CiAgICByZXR1cm4gJHJlc3VsdHM7Cn07Cgp0cnkgewogICAgJHRoaXMtPmNtcy0+R2V0U21hcnR5KCktPmFkZFRlbXBsYXRlRGlyKCAkY29uZmlnWydhc3NldHNfcGF0aCddLicvdGVtcGxhdGVzJyApOyAgLy8gPCBjbXNtcyAyLjMKCiAgICAkc2Nhbl9uZWVkZWQgPSBmYWxzZTsKICAgICRmb3JtID0gbmV3IEZvcm07CiAgICAkZm9ybV9ndWlkID0gJGRpc3BfZ3VpZCA9ICR2YWxpZGF0b3JfZ3VpZCA9IG51bGw7CiAgICBpZiggXHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnY2FuY2VsJykgKSAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7CgogICAgaWYoICgkZm9ybV9pZCA9IFx4dF9wYXJhbTo6Z2V0X2ludCgkcGFyYW1zLCdmb3JtJykpICkgewogICAgICAgICRmb3JtID0gJHRoaXMtPmZvcm1zdG9yYWdlLT5sb2FkX2J5X2lkKCAkZm9ybV9pZCApOwogICAgICAgICRmb3JtX2d1aWQgPSAkdGhpcy0+c3RvcmVfZm9ybSggJGZvcm0gKTsKICAgIH0KICAgIGVsc2UgaWYoICgkZm9ybV9ndWlkID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2Zvcm1fZ3VpZCcpKSApIHsKICAgICAgICAvLyBnZXQgaXQgZnJvbSBzZXNzaW9uLgogICAgICAgICRmb3JtID0gJHRoaXMtPmdldF9mb3JtKCAkZm9ybV9ndWlkICk7CiAgICAgICAgJHN1YmFjdGlvbiA9IFx4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdzdWJhY3Rpb24nKTsKICAgICAgICBpZiggJHN1YmFjdGlvbiAmJiAoJGd1aWRzID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2d1aWRzJykpICkgewogICAgICAgICAgICAvLyBoYW5kbGUgYSBzdWJhY3Rpb24KICAgICAgICAgICAgJGd1aWRzID0gZXhwbG9kZSgnLCcsJGd1aWRzKTsKICAgICAgICAgICAgaWYoICFlbXB0eSgkZ3VpZHMpICkgewogICAgICAgICAgICAgICAgc3dpdGNoKCAkc3ViYWN0aW9uICkgewogICAgICAgICAgICAgICAgY2FzZSAnb3JkZXJfZGlzcG9zaXRpb25zJzoKICAgICAgICAgICAgICAgICAgICAkZm9ybS0+b3JkZXJEaXNwb3NpdGlvbnMoICRndWlkcyApOwogICAgICAgICAgICAgICAgICAgICRmb3JtX2d1aWQgPSAkdGhpcy0+c3RvcmVfZm9ybSggJGZvcm0gKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ29yZGVyX3ZhbGlkYXRpb25zJzoKICAgICAgICAgICAgICAgICAgICAkZm9ybS0+b3JkZXJWYWxpZGF0aW9ucyggJGd1aWRzICk7CiAgICAgICAgICAgICAgICAgICAgJGZvcm1fZ3VpZCA9ICR0aGlzLT5zdG9yZV9mb3JtKCAkZm9ybSApOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoICgkZGlzcF9ndWlkID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2Rpc3BfZ3VpZCcpKSApIHsKICAgICAgICAgICAgLy8gaGFuZGxlIGFuIHVwZGF0ZWQgZGlzcG9zaXRpb24uCiAgICAgICAgICAgICRkaXNwID0gdXRpbHM6OnJldHJpZXZlX29iamVjdCgkZGlzcF9ndWlkKTsKICAgICAgICAgICAgJGZvcm0tPnNldERpc3Bvc2l0aW9uKCAkZGlzcCApOwogICAgICAgICAgICAkZm9ybV9ndWlkID0gJHRoaXMtPnN0b3JlX2Zvcm0oICRmb3JtICk7CiAgICAgICAgICAgIC8vIHRvZG86IHNldCBjdXJyZW50IHRhYi4KICAgICAgICB9CiAgICAgICAgZWxzZSBpZiggKCR2YWxpZGF0b3JfZ3VpZCA9IFx4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCd2YWxpZGF0b3JfZ3VpZCcpKSApIHsKICAgICAgICAgICAgLy8gaGFuZGxlIGFuIHVwZGF0ZWQgdmFsaWRhdGlvbgogICAgICAgICAgICAkdmFsaWRhdG9yID0gdXRpbHM6OnJldHJpZXZlX29iamVjdCgkdmFsaWRhdG9yX2d1aWQpOwogICAgICAgICAgICAkZm9ybS0+c2V0VmFsaWRhdGlvbiggJHZhbGlkYXRvciApOwogICAgICAgICAgICAkZm9ybV9ndWlkID0gJHRoaXMtPnN0b3JlX2Zvcm0oICRmb3JtICk7CiAgICAgICAgICAgIC8vIHRvZG86IHNldCBjdXJyZW50IHRhYgogICAgICAgIH0KICAgIH0KCiAgICAvLyBpZiB3ZSBoYXZlIGEgdGVtcGxhdGUgcmVzb3VyY2Ugb3IgaWQuLi4KICAgIGlmKCAkZm9ybS0+Z2V0U21hcnR5VGVtcGxhdGVSZXNvdXJjZSgpICYmICFceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdzY2FuJykgKSB7CiAgICAgICAgJGVycnMgPSBudWxsOwogICAgICAgIGlmKCAhIFx4dF9wYXJhbTo6Z2V0X2Jvb2woICRwYXJhbXMsICdzbXRmbV9za2lwX3ZlcnNpb25jaGVjaycpICkgewogICAgICAgICAgICBpZiggdmVyc2lvbl9jb21wYXJlKCRmb3JtLT5zbXRmbV92ZXJzaW9uLCR0aGlzLT5HZXRWZXJzaW9uKCkpICE9IDAgKSB7CiAgICAgICAgICAgICAgICAkZXJyc1tdID0gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycl9mb3JtX3ZlcnNpb25jaGFuZ2UnKSk7CiAgICAgICAgICAgICAgICAkc2Nhbl9uZWVkZWQgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKCBlbXB0eSgkZm9ybS0+dGVtcGxhdGVfcnNyYykgJiYgJGZvcm0tPnRlbXBsYXRlX2lkID4gMCApIHsKICAgICAgICAgICAgaWYoICFceHRfcGFyYW06OmdldF9ib29sKCAkcGFyYW1zLCAnc210Zm1fc2tpcF9kYXRlY2hlY2snKSApIHsKICAgICAgICAgICAgICAgICR0cGwgPSBcQ21zTGF5b3V0VGVtcGxhdGU6OmxvYWQoICRmb3JtLT50ZW1wbGF0ZV9pZCApOwogICAgICAgICAgICAgICAgJG1vZF90aW1lID0gJHRwbC0+Z2V0X21vZGlmaWVkKCk7CiAgICAgICAgICAgICAgICBpZiggJGZvcm0tPm1vZGlmaWVkIDwgJG1vZF90aW1lICYmICRmb3JtLT50cGxfbW9kaWZpZWQgPCAkbW9kX3RpbWUgKSB7CiAgICAgICAgICAgICAgICAgICAgJGVycnNbXSA9ICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJfZm9ybV9zY2FubmVlZGVkJykpOwogICAgICAgICAgICAgICAgICAgICRzY2FuX25lZWRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoICFlbXB0eSgkZXJycykgKSBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJzKTsKICAgIH0KCiAgICBpZiggXHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnc2NhbicpICkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIC8vIGZpbGwgdGhlIGZvcm0gb2JqZWN0IHdpdGggYSBuYW1lLCB0ZW1wbGF0ZSBpZCwgZGVzY3JpcHRpb24sIGV0Yy4uLgogICAgICAgICAgICAkZm9ybSA9ICRmb3JtLT5hZGp1c3RXaXRoKCAkcGFyYW1zICk7CgogICAgICAgICAgICAvLyBnZXQgdGhlIG1lc3NhZ2VzLCBhbmQgZmllbGRzIGFuZCBzdG9yZSB0aGVtIGluIHRoZSBmb3JtCiAgICAgICAgICAgIC8vIHRvZG86IGZpbHRlciB0aGUgZmllbGRzIGRvd24gdG8gb25lIHBlciBuYW1lLgogICAgICAgICAgICAkcmVzID0gJHRoaXMtPnNjYW5fZm9ybSggJGZvcm0gKTsKICAgICAgICAgICAgJGZvcm0tPmFkanVzdFdpdGgoIFsgJ3RwbF9tb2RpZmllZCc9PiRyZXMtPmdldF9tb2RpZmllZF90aW1lKCkgXSApOwogICAgICAgICAgICAkZm9ybS0+YWRqdXN0V2l0aCggWyAncmVwbHl0b19maWVsZCc9PiAkcmVzLT5nZXRfcmVwbHl0b19maWVsZCgpIF0gKTsKICAgICAgICAgICAgJGZvcm0tPmFkanVzdFdpdGgoIFsgJ2ZpZWxkcyc9PiRyZXMtPmdldF9maWVsZHMoKSAsICdmaWVsZF9tZXNzYWdlcyc9PiRyZXMtPmdldF9tZXNzYWdlcygpLCAnaGFzX2NhcHRjaGEnPT4kcmVzLT5oYXNfY2FwdGNoYSgpIF0gKTsKICAgICAgICAgICAgJGZvcm0tPmFkanVzdFdpdGgoIFsgJ3NtdGZtX3ZlcnNpb24nPT4kdGhpcy0+R2V0VmVyc2lvbigpIF0gKTsKCiAgICAgICAgICAgIC8vIHNhdmUgdGhlIGZvcm0gdG8gdGhlIHNlc3Npb24KICAgICAgICAgICAgJHRoaXMtPlNldEN1cnJlbnRUYWIoJ21lc3NhZ2VzJyk7CiAgICAgICAgICAgIGVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfc2Nhbm5lZF9zYXZlbmVlZGVkJykpOwogICAgICAgICAgICAkZm9ybV9ndWlkID0gJHRoaXMtPnN0b3JlX2Zvcm0oICRmb3JtICk7CiAgICAgICAgfQogICAgICAgIGNhdGNoKCBGb3JtU2Nhbm5lckVycm9yICRlICkgewogICAgICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCRlLT5HZXRNZXNzYWdlKCkpKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAgICAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGUtPkdldE1lc3NhZ2UoKSk7CiAgICAgICAgfQogICAgfQogICAgZWxzZSBpZiggXHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnYXV0b192YWxpZGF0aW9uJykgKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3ZhbGlkYXRpb24nKTsKICAgICAgICAgICAgJHNjYW5uZXIgPSBuZXcgVmFsaWRhdGlvblNjYW5uZXIoICR0aGlzLCAkZm9ybSwgJGZvcm0tPmdldF9maWVsZHMoKSApOwogICAgICAgICAgICAkdmFsaWRhdGlvbnMgPSAkc2Nhbm5lci0+Z2V0X3ZhbGlkYXRpb25zKCk7CiAgICAgICAgICAgIGlmKCAhZW1wdHkoJHZhbGlkYXRpb25zKSApIHsKICAgICAgICAgICAgICAgIGZvcmVhY2goICR2YWxpZGF0aW9ucyBhcyAkb2JqICkgewogICAgICAgICAgICAgICAgICAgICRmb3JtLT5zZXRWYWxpZGF0aW9uKCRvYmopOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJGZvcm1fZ3VpZCA9ICR0aGlzLT5zdG9yZV9mb3JtKCAkZm9ybSApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlLT5HZXRNZXNzYWdlKCkpOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UgaWYoIFx4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ2FkZF92YWxpZGF0aW9uJykgKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgLy8gaW5pdGlhdGUgYWRkaW5nIGEgdmFsaWRhdGlvbgogICAgICAgICAgICAkZWRpdG9yX2NsYXNzID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3ZhbGlkYXRpb24nKTsKICAgICAgICAgICAgaWYoICEkZWRpdG9yX2NsYXNzICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW50ZXJuYWwgZXJyb3I6ICBObyB2YWxpZGF0aW9uIHNwZWNpZmllZCcpOwogICAgICAgICAgICAkZWRpdG9yID0gJHRoaXMtPmdldF92YWxpZGF0aW9uX2VkaXRvciggJGVkaXRvcl9jbGFzcyApOwogICAgICAgICAgICBpZiggISRlZGl0b3IgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnRlcm5hbCBlcnJvcjogVmFsaWRhdGlvbiBub3QgZm91bmQnKTsKCiAgICAgICAgICAgIC8vIHRlc3QgaWYgd2UgY2FuIGhhdmUgbWFueSBvZiB0aGVzZS4KICAgICAgICAgICAgaWYoICEkZWRpdG9yLT5hbGxvd3NfbXVsdGlwbGUoKSAmJiAkZm9ybS0+aGFzVmFsaWRhdGlvbiggJGVkaXRvci0+Z2V0X291dHB1dGNsYXNzKCkgKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyX21vZF92YWxpZGF0aW9vbmVvbmx5JykpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCAkZWRpdG9yLT5oYXNfaW50ZXJmYWNlKCkgKSB7CiAgICAgICAgICAgICAgICAkdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdhZG1pbl9lZGl0X3ZhbGlkYXRpb24nLCRyZXR1cm5pZCwgWyAnZm9ybV9ndWlkJz0+JGZvcm1fZ3VpZCwgJ2VkaXRvcl9uYW1lJz0+JGVkaXRvcl9jbGFzcyBdKTsKICAgICAgICAgICAgICAgICR1cmwgPSBzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywkdXJsKTsKICAgICAgICAgICAgICAgIHJlZGlyZWN0KCR1cmwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgLy8gdGhlcmUncyBubyBlZGl0b3IuCiAgICAgICAgICAgICAgICAkZm9ybS0+c2V0VmFsaWRhdGlvbiggJGVkaXRvci0+Z2V0X3ZhbGlkYXRpb24oKSApOwogICAgICAgICAgICAgICAgJGZvcm1fZ3VpZCA9ICR0aGlzLT5zdG9yZV9mb3JtKCAkZm9ybSApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlLT5HZXRNZXNzYWdlKCkpOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UgaWYoIFx4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ2FkZF9kaXNwb3NpdGlvbicpICkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIC8vIGluaXRpYXRlIGFkZGluZyBhIGRpc3Bvc2l0aW9uCiAgICAgICAgICAgICRlZGl0b3JfY2xhc3MgPSBceHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZGlzcG9zaXRpb24nKTsKICAgICAgICAgICAgaWYoICEkZWRpdG9yX2NsYXNzICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW50ZXJuYWwgZXJyb3I6ICBObyBkaXNwb3NpdGlvbiBzcGVjaWZpZWQnKTsKICAgICAgICAgICAgJG9iaiA9ICR0aGlzLT5nZXRfZGlzcG9zaXRpb25fZWRpdG9yKCAkZWRpdG9yX2NsYXNzICk7CiAgICAgICAgICAgIGlmKCAhJG9iaiApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludGVybmFsIGVycm9yOiBEaXNwb3NpdGlvbiBub3QgZm91bmQnKTsKCiAgICAgICAgICAgIGlmKCAkb2JqLT5oYXNfaW50ZXJmYWNlKCkgKSB7CiAgICAgICAgICAgICAgICAkdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdhZG1pbl9lZGl0X2Rpc3Bvc2l0aW9uJywkcmV0dXJuaWQsIFsgJ2Zvcm1fZ3VpZCc9PiRmb3JtX2d1aWQsICdlZGl0b3JfbmFtZSc9PiRlZGl0b3JfY2xhc3MgXSk7CiAgICAgICAgICAgICAgICAkdXJsID0gc3RyX3JlcGxhY2UoJyZhbXA7JywnJicsJHVybCk7CiAgICAgICAgICAgICAgICByZWRpcmVjdCgkdXJsKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICRmb3JtLT5zZXREaXNwb3NpdGlvbiggJG9iai0+Z2V0X2Rpc3Bvc2l0aW9uKCkgKTsKICAgICAgICAgICAgICAgICRmb3JtX2d1aWQgPSAkdGhpcy0+c3RvcmVfZm9ybSggJGZvcm0gKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZS0+R2V0TWVzc2FnZSgpKTsKICAgICAgICB9CiAgICB9CiAgICBlbHNlIGlmKCBceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdlZGl0X3ZhbGlkYXRpb24nKSAmJiAoJHZhbGlkYXRvcl9ndWlkID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2VkaXRfdmFsaWRhdGlvbicpKSA+PSAwICkgewogICAgICAgICR2YWxpZGF0b3IgPSAkZm9ybS0+Z2V0VmFsaWRhdGlvbigkdmFsaWRhdG9yX2d1aWQpOwogICAgICAgIGlmKCAhJHZhbGlkYXRvciApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgdmFsaWRhdGlvbiBndWlkICcuJHZhbGlkYXRvcl9ndWlkKTsKICAgICAgICAkZWRpdG9yID0gJHRoaXMtPmZpbmRfZWRpdG9yX2J5X3ZhbGlkYXRpb24oICR2YWxpZGF0b3IgKTsKICAgICAgICBpZiggJGVkaXRvci0+aGFzX2ludGVyZmFjZSgpICkgewogICAgICAgICAgICAkdmFsaWRhdG9yX2d1aWQgPSB1dGlsczo6c3RvcmVfb2JqZWN0KCAkdmFsaWRhdG9yLCAkdmFsaWRhdG9yLT5nZXRfZ3VpZCgpICk7CiAgICAgICAgICAgICR1cmwgPSAkdGhpcy0+Y3JlYXRlX3VybCgkaWQsJ2FkbWluX2VkaXRfdmFsaWRhdGlvbicsJHJldHVybmlkLCBbICdmb3JtX2d1aWQnPT4kZm9ybV9ndWlkLCAnZ3VpZCc9PiR2YWxpZGF0b3JfZ3VpZCBdICk7CiAgICAgICAgICAgICR1cmwgPSBzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywkdXJsKTsKICAgICAgICAgICAgcmVkaXJlY3QoJHVybCk7CiAgICAgICAgfQogICAgfQogICAgZWxzZSBpZiggXHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnZWRpdF9kaXNwb3NpdGlvbicpICYmICgkZGlzcF9ndWlkID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2VkaXRfZGlzcG9zaXRpb24nKSkgPj0gMCApIHsKICAgICAgICAvLyBpbml0aWF0ZSBlZGl0aW5nIG9mIGEgZGlzcG9zaXRpb24KICAgICAgICAkZGlzcCA9ICRmb3JtLT5nZXREaXNwb3NpdGlvbigkZGlzcF9ndWlkKTsKICAgICAgICBpZiggISRkaXNwICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBkaXNwb3NpdGlvbiBndWlkICcuJGRpc3BfZ3VpZCk7CiAgICAgICAgJGVkaXRvciA9ICR0aGlzLT5maW5kX2VkaXRvcl9ieV9kaXNwb3NpdGlvbiggJGRpc3AgKTsKICAgICAgICAkZGlzcF9ndWlkID0gdXRpbHM6OnN0b3JlX29iamVjdCggJGRpc3AsICRkaXNwLT5nZXRfZ3VpZCgpICk7CiAgICAgICAgJHVybCA9ICR0aGlzLT5jcmVhdGVfdXJsKCRpZCwnYWRtaW5fZWRpdF9kaXNwb3NpdGlvbicsJHJldHVybmlkLCBbICdmb3JtX2d1aWQnPT4kZm9ybV9ndWlkLCAnZGlzcF9ndWlkJz0+JGRpc3BfZ3VpZCBdKTsKICAgICAgICAkdXJsID0gc3RyX3JlcGxhY2UoJyZhbXA7JywnJicsJHVybCk7CiAgICAgICAgcmVkaXJlY3QoJHVybCk7CiAgICB9CiAgICBlbHNlIGlmKCBceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdkZWxfdmFsaWRhdGlvbicpICYmICgkdl9ndWlkID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2RlbF92YWxpZGF0aW9uJykpID49IDAgKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3ZhbGlkYXRpb24nKTsKICAgICAgICAgICAgJGRpc3AgPSAkZm9ybS0+Z2V0VmFsaWRhdGlvbiggJHZfZ3VpZCApOwogICAgICAgICAgICBpZiggISRkaXNwICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCB2YWxpZGF0aW9uIGd1aWQgJy4kdl9ndWlkKTsKICAgICAgICAgICAgJGZvcm0tPnJlbW92ZVZhbGlkYXRpb24oICR2X2d1aWQgKTsKICAgICAgICAgICAgJGZvcm1fZ3VpZCA9ICR0aGlzLT5zdG9yZV9mb3JtKCAkZm9ybSApOwogICAgICAgIH0KICAgICAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZS0+R2V0TWVzc2FnZSgpKTsKICAgICAgICB9CiAgICB9CiAgICBlbHNlIGlmKCBceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdkZWxfZGlzcG9zaXRpb24nKSAmJiAoJGRpc3BfZ3VpZCA9IFx4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdkZWxfZGlzcG9zaXRpb24nKSkgPj0gMCApIHsKICAgICAgICAkZGlzcCA9ICRmb3JtLT5nZXREaXNwb3NpdGlvbiggJGRpc3BfZ3VpZCApOwogICAgICAgIGlmKCAhJGRpc3AgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRpc3Bvc2l0aW9uIGd1aWQgJy4kZGlzcF9ndWlkKTsKICAgICAgICAkZm9ybS0+cmVtb3ZlRGlzcG9zaXRpb24oICRkaXNwX2d1aWQgKTsKICAgICAgICAkZm9ybV9ndWlkID0gJHRoaXMtPnN0b3JlX2Zvcm0oICRmb3JtICk7CiAgICAgICAgJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2hhbmRsZXJzJyk7CiAgICB9CiAgICBlbHNlIGlmKCBceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdzdWJtaXQnKSB8fCBceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdhcHBseScpKSB7CiAgICAgICAgLy8gZmlsbCB0aGUgZm9ybQogICAgICAgICRmb3JtID0gJGZvcm0tPmFkanVzdFdpdGgoICRwYXJhbXMgKTsKICAgICAgICAkZm9ybSA9ICRmb3JtLT5hZGp1c3RXaXRoKCBbICdzbXRmbV92ZXJzaW9uJz0+JHRoaXMtPkdldFZlcnNpb24oKSBdICk7CgogICAgICAgICRyZXMgPSAkdGhpcy0+c2Nhbl9mb3JtKCAkZm9ybSApOwogICAgICAgICRmb3JtLT5hZGp1c3RXaXRoKCBbJ2ZpZWxkcyc9PiRyZXMtPmdldF9maWVsZHMoKSwgJ2hhc19jYXB0Y2hhJz0+JHJlcy0+aGFzX2NhcHRjaGEoKSBdICk7CgogICAgICAgIC8vIGNhbiBzYXZlIGluIGFuIGluY29tcGxldGUgc3RhdGUuCiAgICAgICAgJHRoaXMtPmZvcm1zdG9yYWdlLT5TYXZlKCAkZm9ybSApOwoKICAgICAgICBpZiggXHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnc3VibWl0JykgKSB7CiAgICAgICAgICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfZm9ybXNhdmVkJykpOwogICAgICAgICAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgLy8kZm9ybV9ndWlkID0gJHRoaXMtPnN0b3JlX2Zvcm0oICRmb3JtICk7CiAgICAgICAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2Zvcm1zYXZlZCcpKTsKICAgICAgICAgICAgLy9lY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2Zvcm1zYXZlZCcpKTsKICAgICAgICB9CiAgICB9CgogICAgJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgnYWRtaW5fZWRpdF9mb3JtLnRwbCcpOwogICAgJHRwbC0+YXNzaWduKCdmb3JtJywkZm9ybSk7CiAgICAkdHBsLT5hc3NpZ24oJ2Zvcm1fZ3VpZCcsJGZvcm1fZ3VpZCk7CiAgICAkdHBsLT5hc3NpZ24oJ2ZpZWxkX2xpc3QnLCRtYWtlX2ZpZWxkX2xpc3QoJGZvcm0tPmZpZWxkcykpOwogICAgJHRwbC0+YXNzaWduKCdmaWVsZHMnLCRmb3JtLT5maWVsZHMpOwogICAgJHRwbC0+YXNzaWduKCdzY2FuX25lZWRlZCcsJHNjYW5fbmVlZGVkKTsKICAgICR0cGwtPmFzc2lnbignbWVzc2FnZXMnLCRmb3JtLT5maWVsZF9tZXNzYWdlcyk7CiAgICAkdHBsLT5hc3NpZ24oJ2FsbF90ZW1wbGF0ZXMnLHV0aWxzOjpsaXN0X3N1aXRhYmxlX3RlbXBsYXRlcygpKTsKICAgICR0cGwtPmFzc2lnbignYWxsX3ZhbGlkYXRpb25zJyx1dGlsczo6bGlzdF92YWxpZGF0aW9uX2VkaXRvcnMoICR0aGlzLT5nZXRfdmFsaWRhdGlvbl9lZGl0b3JzKCkgKSApOwogICAgJHRwbC0+YXNzaWduKCdhbGxfZGlzcG9zaXRpb25zJyx1dGlsczo6bGlzdF9kaXNwb3NpdGlvbl9lZGl0b3JzKCAkdGhpcy0+Z2V0X2Rpc3Bvc2l0aW9uX2VkaXRvcnMoKSApICk7CiAgICAkdHBsLT5hc3NpZ24oJ2Zvcm1faGVscCcsdXRpbHM6OmdldF9mb3JtX3RwbF9oZWxwKCAkZm9ybSApKTsKICAgICR0cGwtPmRpc3BsYXkoKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApCnsKICAvL2RpZSgkZS0+R2V0TWVzc2FnZSgpKTsKICAgICR0aGlzLT5TZXRFcnJvciggJGUtPkdldE1lc3NhZ2UoKSApOwogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_validation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CmlmKCAhXGRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIGV4aXQ7Cgp0cnkgewogICAgJGZvcm1fZ3VpZCAgID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2Zvcm1fZ3VpZCcpOwogICAgJGd1aWQgICA9IFx4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdndWlkJyk7CiAgICAkZWRpdG9yX25hbWUgPSBceHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZWRpdG9yX25hbWUnKTsKICAgICRlZGl0b3IgPSAkdmFsaWRhdGlvbiA9IG51bGw7CgogICAgJGhlbHBlciA9IG5ldyBWYWxpZGF0aW9uRWRpdG9ySGVscGVyUHJveHkoICR0aGlzICk7CiAgICAkZm9ybSA9ICR0aGlzLT5nZXRfZm9ybSggJGZvcm1fZ3VpZCApOwogICAgaWYoICRndWlkICkgewogICAgICAgICR2YWxpZGF0aW9uID0gJGZvcm0tPmdldFZhbGlkYXRpb24oICRndWlkICk7CiAgICAgICAgJGVkaXRvciA9ICR0aGlzLT5maW5kX2VkaXRvcl9ieV92YWxpZGF0aW9uKCAkdmFsaWRhdGlvbiApOwogICAgICAgICRlZGl0b3ItPnNldF92YWxpZGF0aW9uKCAkdmFsaWRhdGlvbiApOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJGVkaXRvciA9ICR0aGlzLT5nZXRfdmFsaWRhdGlvbl9lZGl0b3IoICRlZGl0b3JfbmFtZSApOwogICAgfQogICAgJGVkaXRvci0+c2V0X2hlbHBlcl9wcm94eSggJGhlbHBlciApOwogICAgJGVkaXRvci0+aGFuZGxlX2VkaXRfZm9ybSgkcGFyYW1zLCAkZm9ybSwgJGZvcm1fZ3VpZCwgJGd1aWQpOwp9CmNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgZGVidWdfZGlzcGxheSgkZSk7CiAgICBkaWUoKTsKfQ==]]></data>
	</file>
	<file>
	  <filename>/action.admin_enable_disposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CmlmKCAhXGRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIGV4aXQ7CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdoYW5kbGVycycpOwoKdHJ5IHsKICAgICRzdGF0ZSAgICAgICA9IFx4dF9wYXJhbTo6Z2V0X2Jvb2woJHBhcmFtcywnc3RhdGUnLDEpOwogICAgJGZvcm1fZ3VpZCAgID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2Zvcm1fZ3VpZCcpOwogICAgJGRpc3BfZ3VpZCAgID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2Rpc3BfZ3VpZCcpOwoKICAgICRmb3JtID0gJHRoaXMtPmdldF9mb3JtKCAkZm9ybV9ndWlkICk7CiAgICAkZGlzcCA9ICRmb3JtLT5nZXREaXNwb3NpdGlvbiggJGRpc3BfZ3VpZCApOwogICAgJGRpc3AtPnNldF9hY3RpdmUoICRzdGF0ZSApOwogICAgJGZvcm0tPnNldERpc3Bvc2l0aW9uKCAkZGlzcCApOwogICAgJGZvcm1fZ3VpZCA9IFxTbWFydEZvcm1zXHV0aWxzOjpzdG9yZV9vYmplY3QoICRmb3JtLCAkZm9ybV9ndWlkICk7CiAgICAkZGlzcF9ndWlkID0gXFNtYXJ0Rm9ybXNcdXRpbHM6OnN0b3JlX29iamVjdCggJGRpc3AsICRkaXNwX2d1aWQgKTsKICAgICRmb3JtX2d1aWQgPSAkdGhpcy0+c3RvcmVfZm9ybSggJGZvcm0gKTsKICAgICR0aGlzLT5SZWRpcmVjdCgnbTFfJywnYWRtaW5fZWRpdF9mb3JtJywgJycsIFsgJ2Zvcm1fZ3VpZCc9PiRmb3JtX2d1aWQsICdkaXNwX2d1aWQnPT4kZGlzcF9ndWlkLCAneHRfYWN0aXZldGFiJz0+J2hhbmRsZXJzJyBdICk7Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICBkZWJ1Z19kaXNwbGF5KCRlKTsKICAgIGRpZSgpOwp9]]></data>
	</file>
	<file>
	  <filename>/action.admin_export_form.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CmlmKCAhXGRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIGV4aXQ7Cgp0cnkgewogICAgJGZvcm0gPSBudWxsOwogICAgaWYoICgkZm9ybV9pZCA9IFx4dF9wYXJhbTo6Z2V0X2ludCgkcGFyYW1zLCdmb3JtJykpICkgewogICAgICAgICRmb3JtID0gJHRoaXMtPmZvcm1zdG9yYWdlLT5sb2FkX2J5X2lkKCAkZm9ybV9pZCApOwogICAgfQoKICAgIGlmKCAhJGZvcm0gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdDYW5ub3QgZXhwb3J0IGZvcm0gKGludmFsaWQgZm9ybSBpZCknKTsKCiAgICAkZXhwb3J0ZXIgPSBuZXcgRm9ybUV4cG9ydGVyKCAkZm9ybSApOwogICAgJGV4cG9ydGVyLT5kb3dubG9hZCgpOwoKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfZm9ybWV4cG9ydGVkJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigpOwp9CmNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgJHRoaXMtPlNldEVycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigpOwp9]]></data>
	</file>
	<file>
	  <filename>/action.admin_import_cgbf_form.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBTbWFydEZvcm1zOwoKaWYoIWlzc2V0KCRnQ21zKSkgeyBleGl0OyB9CgppZighJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpKSB7IGV4aXQ7IH0KCnRyeQp7CiAgaWYoXHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywgJ3N1Ym1pdCcpKQogIHsKICAgIHRyeQogICAgewogICAgICBpZighaXNzZXQoJF9GSUxFU1snc210Zm1fZmlsZSddKSkKICAgICAgewogICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyX25vdXBsb2FkJykpOwogICAgICB9CiAgICAgIAogICAgICBpZigwID09PSAkX0ZJTEVTWydzbXRmbV9maWxlJ11bJ3NpemUnXSB8fCAkX0ZJTEVTWydzbXRmbV9maWxlJ11bJ2Vycm9yJ10gPiAwKQogICAgICB7CiAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJfYmFkdXBsb2FkJykpOwogICAgICB9CiAgICAgIAogICAgICAkZGF0YSA9IFxmaWxlX2dldF9jb250ZW50cygkX0ZJTEVTWydzbXRmbV9maWxlJ11bJ3RtcF9uYW1lJ10pOwogICAgICAKICAgICAgJGltcG9ydGVyID0gbmV3IENnYmZGb3JtSW1wb3J0ZXIoJHRoaXMsICR0aGlzLT5mb3Jtc3RvcmFnZSwgJGRhdGEpOwogICAgICAkZm9ybSA9ICRpbXBvcnRlci0+aW1wb3J0KCk7CiAgICAgICR0aGlzLT5mb3Jtc3RvcmFnZS0+c2F2ZSgkZm9ybSk7CiAgICAgIAogICAgICAvLyBhbmQgZG9uZS4KICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19pbXBvcnRlZCcpKTsKICAgICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYigpOwogICAgfQogICAgY2F0Y2goXFJ1bnRpbWVFeGNlcHRpb24gJGUpCiAgICB7CiAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGUtPkdldE1lc3NhZ2UoKSk7CiAgICAgIAogICAgfQogIH0KICAKICAkdHBsID0gJHRoaXMtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl9pbXBvcnRfZm9ybS50cGwnKTsKICAkdHBsLT5kaXNwbGF5KCk7Cn0KY2F0Y2goXEV4Y2VwdGlvbiAkZSkKewogICR0aGlzLT5TZXRFcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7Cn0=]]></data>
	</file>
	<file>
	  <filename>/action.admin_import_data_from_cgbf.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIHsgZXhpdDsgfQ0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgeyByZXR1cm47IH0NCg0KIw0KIyBJbml0aWFsaXphdGlvbg0KIw0KJHBhcm1zWydlcnJvciddID0gMDsNCiRwYXJtc1snbWVzc2FnZSddID0gJ1N1Y2Nlc3MhJzsNCiRwYXJtcyA9IFtdOw0KDQppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pIHx8IGlzc2V0KCRwYXJhbXNbJ2RvX2ltcG9ydCddKSApDQp7DQogICRpbXBvcnRlciA9IG5ldyBcU21hcnRGb3Jtc1xjZ2JmX2ltcG9ydGVyKCk7DQogICRkb19kZWxldGVfZGF0YSA9ICRwYXJhbXNbJ2RvX2RlbGV0ZSddID8/IEZBTFNFOw0KICAkaW1wb3J0ZXItPkRlbGV0ZURhdGEoJGRvX2RlbGV0ZV9kYXRhKTsNCiAgJHJlc3VsdCA9ICRpbXBvcnRlci0+cnVuKCk7DQp9DQplbHNlDQp7DQogICRwYXJtc1snZXJyb3InXSA9IDE7DQogICRwYXJtc1snbWVzc2FnZSddID0gJ05vIGRpcmVjdCBhY2Nlc3MhJzsNCn0NCg0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoICRpZCwgJ2FkbWluX3ByZWZzJywgJHBhcm1zKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_import_form.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CmlmKCAhXGRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiggISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSApIGV4aXQ7Cgp0cnkgewogICAgaWYoIFx4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgICAgIHRyeSB7CgogICAgICAgICAgICBpZiggIWlzc2V0KCRfRklMRVNbJ3NtdGZtX2ZpbGUnXSkgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycl9ub3VwbG9hZCcpKTsKICAgICAgICAgICAgaWYoICRfRklMRVNbJ3NtdGZtX2ZpbGUnXVsnc2l6ZSddID09IDAgfHwgJF9GSUxFU1snc210Zm1fZmlsZSddWydlcnJvciddID4gMCApIHsKCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycl9iYWR1cGxvYWQnKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRkYXRhID0gZmlsZV9nZXRfY29udGVudHMoICRfRklMRVNbJ3NtdGZtX2ZpbGUnXVsndG1wX25hbWUnXSApOwogICAgICAgICAgICAvL3ByaW50X3IoJGRhdGEpO2RpZSgpOwogICAgICAgICAgICAkaW1wb3J0ZXIgPSBuZXcgRm9ybUltcG9ydGVyKCAkdGhpcywgJHRoaXMtPmZvcm1zdG9yYWdlLCAkZGF0YSApOwogICAgICAgICAgLy8gIHByaW50X3IoJGltcG9ydGVyKTtkaWUoKTsKICAgICAgICAgICAgJGZvcm0gPSAkaW1wb3J0ZXItPmltcG9ydCgpOwogICAgICAgICAgICAvL3ByaW50X3IoJGZvcm0pO2RpZSgpOwogICAgICAgICAgICAkdGhpcy0+Zm9ybXN0b3JhZ2UtPnNhdmUoICAkZm9ybSApOwoKICAgICAgICAgICAgLy8gYW5kIGRvbmUuCiAgICAgICAgICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfaW1wb3J0ZWQnKSk7CiAgICAgICAgICAgICR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2goIFxSdW50aW1lRXhjZXB0aW9uICRlICkgewogICAgICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCAkZS0+R2V0TWVzc2FnZSgpICk7CgogICAgICAgIH0KICAgIH0KCiAgICAkdHBsID0gJHRoaXMtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl9pbXBvcnRfZm9ybS50cGwnKTsKICAgICR0cGwtPmRpc3BsYXkoKTsKfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICR0aGlzLT5TZXRFcnJvcigkZS0+R2V0TWVzc2FnZSgpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoKTsKfQ==]]></data>
	</file>
	<file>
	  <filename>/action.ajax_upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNtYXJ0Rm9ybXMgKGMpIDIwMTctNiBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUtMjAxMCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIGhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCnRyeSB7CiAgICAvLyBjbGVhciBvdXRwdXQgYnVmZmVycy4KICAgICRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsKICAgIGZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CgogICAgJGNvbmZpZyA9IFxjbXNfY29uZmlnOjpnZXRfaW5zdGFuY2UoKTsKICAgICRndWlkID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRfUkVRVUVTVCwnZ3VpZCcpOwogICAgJGVsZW1lbnQgPSBceHRfcGFyYW06OmdldF9zdHJpbmcoJF9SRVFVRVNULCdlbGVtZW50Jyk7CiAgICBpZiggISRndWlkICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignTWlzc2luZyBndWlkIHBhcmFtJyw0MDApOwogICAgaWYoICEkZWxlbWVudCApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ01pc3NpbmcgZWxlbWVudCBwYXJhbScsNDAwKTsKCiAgICBpZiggIWlzc2V0KCRfRklMRVMpIHx8ICFpc3NldCgkX0ZJTEVTWydmaWxlJ10pICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdOb3RoaW5nIHVwbG9hZGVkJyw0MDApOwogICAgJGZpbGUgPSAkX0ZJTEVTWydmaWxlJ107CiAgICBpZiggJGZpbGVbJ3NpemUnXSA9PSAwIHx8ICRmaWxlWydlcnJvciddID4gMCApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignUHJvYmxlbSB1cGxvYWRpbmcgZmlsZSAnLDQwMCk7CiAgICBpZiggIWlzX3VwbG9hZGVkX2ZpbGUoJGZpbGVbJ3RtcF9uYW1lJ10pICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdJbnZhbGlkIHVwbG9hZCBmaWxlICcsNDAwKTsKCiAgICAkdG1wX2xvY2F0aW9uID0gVE1QX0NBQ0hFX0xPQ0FUSU9OLicvJy4kZ3VpZDsKICAgIEBta2RpcigkdG1wX2xvY2F0aW9uKTsKICAgICR0bXBfZmlsZW5hbWUgPSBtZDUodGltZSgpLiRndWlkLiRlbGVtZW50LiRmaWxlWyd0bXBfbmFtZSddKTsKICAgIEBtb3ZlX3VwbG9hZGVkX2ZpbGUoICRmaWxlWyd0bXBfbmFtZSddLCAkdG1wX2xvY2F0aW9uLicvJy4kdG1wX2ZpbGVuYW1lICk7CgogICAgXHh0X3V0aWxzOjpzZW5kX2FqYXhfYW5kX2V4aXQoIFsgJ3RtcF9uYW1lJz0+JHRtcF9maWxlbmFtZSwgJ2VsZW1lbnQnPT4kZWxlbWVudCwgJ2d1aWQnPT4kZ3VpZCwgJ25hbWUnPT4kZmlsZVsnbmFtZSddLCAnc2l6ZSc9PiRmaWxlWydzaXplJ10gXSApOwp9CmNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgJGNvZGUgPSAkZS0+Z2V0Q29kZSgpOwogICAgaGVhZGVyKCdIVFRQLzEuMCAnLiRjb2RlLicgJy4kZS0+R2V0TWVzc2FnZSgpKTsKICAgIGhlYWRlcignU3RhdHVzICcuJGNvZGUuJyAnLiRlLT5HZXRNZXNzYWdlKCkpOwogICAgZXhpdDsKfQoKCiMKIyBFT0YKIwo=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBTbWFydEZvcm1zOwoKdXNlIHh0X3BhcmFtOwp1c2UgQ21zTGF5b3V0VGVtcGxhdGU7CmlmKCFcZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSkgeyBleGl0OyB9Ci8qKiB0aGUgZm9sbG93aW5nIHZhcnMgdXNlZCBoZXJlIGFyZSBhbHJlYWR5IGRlZmluZWQgKi8KLyoqIEB2YXIgYXJyYXkgJHBhcmFtcyAqLwovKiogQHZhciBcU21hcnR5ICRzbWFydHkgKi8KCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCnRyeQp7CiAgJGlzX3N1Ym1pc3Npb24gPSBmdW5jdGlvbigpIHVzZSAoJGlkKQogIHsKICAgIC8vIGEgc3VibWlzc2lvbiBmb3IgVEhJUyBGT1JNIGlzIGluZGljYXRlZCBieSBhIHJlcXVlc3QgcG9zdAogICAgaWYoXHN0cnRvbG93ZXIoJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ10pICE9ICdwb3N0JykgeyByZXR1cm4gRkFMU0U7IH0KICAgIAogICAgaWYoIXh0X3BhcmFtOjpnZXRfc3RyaW5nKCRfUE9TVCwgJ19fZ3VpZCcpKSB7IHJldHVybiBGQUxTRTsgfQogICAgCiAgICBpZighKCRzdWJtaXR0ZWRfZm9ybSA9IHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRfUE9TVCwgJGlkIC4gJ2Zvcm0nKSkpIHsgcmV0dXJuIEZBTFNFOyB9CiAgICAKICAgIHJldHVybiAkc3VibWl0dGVkX2Zvcm07CiAgfTsKICAKICAkZm9ybW5hbWUgPSB4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCAnZm9ybScpOwogIAogIGlmKCEkZm9ybW5hbWUpCiAgewogICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignUGxlYXNlIHNwZWNpZnkgYSBmb3JtIG5hbWUgd2hlbiBjYWxsaW5nIFNtYXJ0Rm9ybXMnKTsKICB9CiAgCiAgJGZvcm0gPSAkdGhpcy0+Zm9ybXN0b3JhZ2UtPmxvYWQoJGZvcm1uYW1lKTsKICAKICBpZighJGZvcm0pCiAgewogICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignU29ycnksIGNvdWxkIG5vdCBmaW5kIGEgZm9ybSB3aXRoIHRoZSBuYW1lICcgLiAkZm9ybW5hbWUpOwogIH0KICAKICAvLyBtYWtlIHN1cmUgaXQncyB2ZXJzaW9uIGNvbXBhdGlibGUuCiAgaWYoIXh0X3BhcmFtOjpnZXRfYm9vbCgkY29uZmlnLCAnc210Zm1fc2tpcF92ZXJzaW9uY2hlY2snKSkKICB7CiAgICBpZigwICE9IFx2ZXJzaW9uX2NvbXBhcmUoJGZvcm0tPnNtdGZtX3ZlcnNpb24sICR0aGlzLT5HZXRWZXJzaW9uKCkpKQogICAgewogICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJfZm9ybV92ZXJzaW9uY2hhbmdlJykpOwogICAgfQogIH0KICAKICAvLyBpZiB0ZW1wbGF0ZSBtb2RpZmllZCBzaW5jZSBmb3JtIHNhdmVkCiAgaWYoIXh0X3BhcmFtOjpnZXRfYm9vbCgkY29uZmlnLCAnc210Zm1fc2tpcF9kYXRlY2hlY2snKSkKICB7CiAgICAkdGVtcGxhdGVfb2JqID0gQ21zTGF5b3V0VGVtcGxhdGU6OmxvYWQoJGZvcm0tPnRlbXBsYXRlX2lkKTsKICAgIAogICAgaWYoIXh0X3BhcmFtOjpnZXRfYm9vbCgkcGFyYW1zLCAnbm9kYXRlY2hlY2snKSkKICAgIHsKICAgICAgJG1vZF90aW1lID0gJHRlbXBsYXRlX29iai0+Z2V0X21vZGlmaWVkKCk7CiAgICAgIAogICAgICBpZigkZm9ybS0+bW9kaWZpZWQgPCAkbW9kX3RpbWUgJiYgJGZvcm0tPnRwbF9tb2RpZmllZCA8ICRtb2RfdGltZSkKICAgICAgewogICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycl9mb3JtX3NjYW5uZWVkZWQnKSk7CiAgICAgIH0KICAgIH0KICB9CiAgCiAgLy8gY3JlYXRlIGEgcHJlLWZpbGxlZCByZXNwb25zZSB3aXRoIHNvbWUgcGFyZW10ZXJzIGZyb20gdGhlIGNhbGwKICAkaW5wdXRfZGF0YSA9IFtdOwogICRwcmVmaXggICAgID0gJ3NtdGZtXyc7CiAgCiAgZm9yZWFjaCgkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlKQogIHsKICAgIGlmKCFzdGFydHN3aXRoKCRrZXksICRwcmVmaXgpKSB7IGNvbnRpbnVlOyB9CiAgICAKICAgICRrZXkgICAgICAgICAgICAgID0gc3Vic3RyKCRrZXksIHN0cmxlbigkcHJlZml4KSk7CiAgICAkaW5wdXRfZGF0YVska2V5XSA9ICR2YWx1ZTsKICB9CiAgCiAgaWYoJGlzX3N1Ym1pc3Npb24oKSAhPSAkZm9ybW5hbWUpCiAgewogICAgLy8gdGhpcyBpcyBub3QgYSBzdWJtaXNzaW9uCiAgICAvLyB3ZSBjYW4gbW9kaWZ5IHRoZSBpbnB1dCBkYXRhIHdpdGggdmFyaWFibGVzIGFzc2lnbmVkIGluIHRoZSB0ZW1wbGF0ZQogICAgLy8gaS5lOiB7c210Zm1fc2V0IHdpZGdldF9zaXplPSdyZWQnfQogICAgaWYoJGZvcm0tPnByZXJlbmRlcl9sb2dpYykKICAgIHsKICAgICAgJHRoaXMtPl9pbl9wcmVyZW5kZXIgPSBUUlVFOwogICAgICAkZm9ybV9maWVsZHMgICAgICAgICA9ICRmb3JtLT5nZXRfZmllbGRuYW1lcygpOwogICAgICAkdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJ3N0cmluZzonIC4gJGZvcm0tPnByZXJlbmRlcl9sb2dpYyk7CiAgICAgICR0cGwtPmFzc2lnbignbW9kJywgJHRoaXMpOwogICAgICAkdHBsLT5hc3NpZ24oJ2Zvcm0nLCAkZm9ybSk7CiAgICAgICR0cGwtPmZldGNoKCk7IC8vIGRvIHRoZSB3b3JrLCBidXQgaWdub3JlIG91dHB1dC4KICAgICAgCiAgICAgIGZvcmVhY2goJGZvcm1fZmllbGRzIGFzICRmaWVsZF9uYW1lKQogICAgICB7CiAgICAgICAgaWYoIWlzc2V0KCR0aGlzLT5fcHJlcmVuZGVyX3ZhcnNbJGZpZWxkX25hbWVdKSkgeyBjb250aW51ZTsgfQogICAgICAgIAogICAgICAgICRpbnB1dF9kYXRhWyRmaWVsZF9uYW1lXSA9ICR0aGlzLT5fcHJlcmVuZGVyX3ZhcnNbJGZpZWxkX25hbWVdOwogICAgICB9CiAgICAgIAogICAgICAkdGhpcy0+X2luX3ByZXJlbmRlciAgID0gTlVMTDsKICAgICAgJHRoaXMtPl9wcmVyZW5kZXJfdmFycyA9IE5VTEw7CiAgICB9CiAgfQogIAogICRyZXNwb25zZSA9IE5VTEw7CiAgaWYoJGlzX3N1Ym1pc3Npb24oKSAhPSAkZm9ybW5hbWUpCiAgewogICAgJHJlc3BvbnNlID0gbmV3IEZvcm1SZXNwb25zZSgkdGhpcywgJGZvcm0sIE5VTEwsICRpbnB1dF9kYXRhKTsKICB9CiAgZWxzZQogIHsKICAgIC8vIG5vdyBoYW5kbGUgUE9TVC4KICAgIHRyeQogICAgewogICAgICAvLyBtZXJnZSBpbnB1dCBkYXRhIHdpdGggZGF0YSBvbiB0aGUgcG9zdC4KICAgICAgJGd1aWQgICAgICAgICAgICAgICAgICA9IHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRfUE9TVCwgJ19fZ3VpZCcpOwogICAgICAkdGhpcy0+X3JlcXVlc3RfZXJyb3JzID0gW107CiAgICAgIAogICAgICAvLyBjaGVjayB0byBtYWtlIHN1cmUgdGhhdCB0aGUgZ3VpZCBpcyBpbiB0aGUgc2Vzc2lvbgogICAgICAvLyB0aGlzIHByZXZlbnRzIHN1Ym1pdHRpbmcgdGhlIGZvcm0gdmlhIGEgcG9zdCBvciByZWxvYWQgd2l0aG91dCByZW5kZXJpbmcgdGhlIGZvcm0gZWFjaCB0aW1lLgogICAgICBpZighZ2V0X3VzZXJpZChGQUxTRSkpCiAgICAgIHsKICAgICAgICBpZighJGd1aWQgfHwgIWlzc2V0KCRfU0VTU0lPTlsnU01URk1fR1VJRF9UT0tFTiddKSB8fCAhaXNzZXQoJF9TRVNTSU9OWydTTVRGTV9HVUlEX1RPS0VOJ11bJGd1aWRdKSkKICAgICAgICB7CiAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJfc2VjdXJpdHlfcmVxdWVzdGd1aWQnKSk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAvLyBoZXJlIHdlIGNvdWxkIGNoZWNrIGlmIHRvbyBtdWNoIHRpbWUgaGFzIHBhc3NlZCwgb3Igc29tZSBvdGhlciBjcml0ZXJpYS4KICAgICAgICAgICRyZWMgPSAkX1NFU1NJT05bJ1NNVEZNX0dVSURfVE9LRU4nXVskZ3VpZF07CiAgICAgICAgICAKICAgICAgICAgIGlmKCFpc3NldCgkcmVjWydmb3JtJ10pIHx8IGVtcHR5KCRyZWNbJ2Zvcm0nXSkgfHwgJGZvcm0tPm5hbWUgIT0gJHJlY1snZm9ybSddKQogICAgICAgICAgewogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJfc2VjdXJpdHlfcmVxdWVzdGd1aWQnKSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICB1bnNldCgkX1NFU1NJT05bJ1NNVEZNX0dVSURfVE9LRU4nXVskZ3VpZF0pOwogICAgICAKICAgICAgLy8gY3JlYXRlIGEgZm9ybXJlc3BvbnNlIG9iamVjdAogICAgICAvLyBtZXJnZSBpbiBkYXRhIGZyb20gcGFyYW1ldGVycyBhcyBkZWZhdWx0IHZhbHVlcyB0byB0aGUgcmVzcG9uc2UuCiAgICAgICRyZXNwb25zZSA9IG5ldyBGb3JtUmVzcG9uc2UoJHRoaXMsICRmb3JtLCAkZ3VpZCwgJF9QT1NUKTsKICAgICAgCiAgICAgIGlmKCRyZXNwb25zZS0+X19ocG5hbWUpCiAgICAgIHsKICAgICAgICAvLyBvb3BzLi4uIGhvbmV5cHQgaXNuJ3QgZW1wdHkuCiAgICAgICAgdGhyb3cgbmV3IEJvdERldGVjdGVkRXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2JvdGRldGVjdGVkJykpOwogICAgICB9CiAgICAgIAogICAgICAvLwogICAgICAvLyBoYW5kbGUgdmFsaWRhdGlvbnMuCiAgICAgIC8vIHRvZG86IHZhbGlkYXRpb24gc2hvdWxkIHByb2JhYmx5IGJlIGluIGEgdmFsaWRhdG9yIGNsYXNzCiAgICAgIC8vCiAgICAgICR0aGlzLT5fcmVxdWVzdF9lcnJvcnMgPSAkZm9ybS0+dmFsaWRhdGVfcmVzcG9uc2UoJHJlc3BvbnNlLCAkdGhpcy0+dHJhbnNsYXRvcik7CiAgICAgIGlmKCFlbXB0eSgkdGhpcy0+X3JlcXVlc3RfZXJyb3JzKSkKICAgICAgewogICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ3ZhbGlkYXRpb24gZXJyb3JzJyk7CiAgICAgIH0KICAgICAgCiAgICAgIC8vCiAgICAgIC8vIGFuZCBkbyBkaXNwb3NpdGlvbnMKICAgICAgLy8gdG9kbzogZGlzcG9zaXRpb25zIHByb2JhYmx5IHNob3VsZCBiZSBpbiB0aGVpciBvd24gY2xhc3MKICAgICAgLy8KICAgICAgJGZvcm0tPmRpc3Bvc2VfcmVzcG9uc2Vfbm92YWxpZGF0ZSgkcmVzcG9uc2UpOwogICAgICAKICAgICAgLy8gY2xlYW4gdXAgYW55IHN1Ym1pc3Npb24gbGVmdG92ZXJzLgogICAgICAkZm9ybS0+Y2xlYW51cF9yZXNwb25zZSgkcmVzcG9uc2UpOwogICAgICBlY2hvICRmb3JtLT5kb19maW5hbF9hY3Rpb24oJHJlc3BvbnNlKTsKICAgICAgCiAgICAgIHJldHVybjsKICAgIH0KICAgIGNhdGNoKFZhbGlkYXRpb25FcnJvciAkZSkKICAgIHsKICAgICAgLy8gVE9ETzogU2hvdWxkIGJlIFZhbGlkYXRpb25FcnJvcgogICAgICAvLyBzb21lIGtpbmQgb2YgdmFsaWRhdGlvbiBlcnJvci4KICAgICAgLy8gcmVuZGVyIHRoZSBmb3JtIGFnYWluLi4uIHNtYXJ0eSB3aWxsIHB1bGwgdGhlIHJlcXVlc3QgZXJyb3JzLgogICAgICAvLyBjbGVhbiB1cCBhbnkgc3VibWlzc2lvbiBsZWZ0b3ZlcnMuCiAgICAgICRmb3JtLT5jbGVhbnVwX3Jlc3BvbnNlKCRyZXNwb25zZSk7CiAgICB9CiAgICBjYXRjaChEaXNwb3NpdGlvbkVycm9yICRlKQogICAgewogICAgICAvLyBjbGVhbnVwLCBzZXQgYW4gZXJyb3IgdG8gZGlzcGxheSwgYW5kIHJlbmRlciB0aGUgZm9ybSBhZ2Fpbi4KICAgICAgJHRoaXMtPl9yZXF1ZXN0X2Vycm9ycyA9IFtuZXcgRmllbGRFcnJvcignX18nLCAkZS0+R2V0TWVzc2FnZSgpKV07CiAgICAgICRmb3JtLT5jbGVhbnVwX3Jlc3BvbnNlKCRyZXNwb25zZSk7CiAgICB9CiAgICAKICB9CiAgCiAgLy8gbm93IHJlbmRlciB0aGUgZm9ybQogICRjYXB0Y2hhX3Byb3ZpZGVyID0gTlVMTDsKICBpZigkZm9ybS0+aGFzX2NhcHRjaGEpCiAgewogICAgJGNhcHRjaGFfcHJvdmlkZXIgPSAkdGhpcy0+Z2V0X2NhcHRjaGFfcHJvdmlkZXIoKTsKICB9CiAgJHBhcm1zWydkYXRlY2hlY2snXSA9ICF4dF9wYXJhbTo6Z2V0X2Jvb2woJGNvbmZpZywgJ3NtdGZtX3NraXBfZGF0ZWNoZWNrJyk7CiAgJHBhcm1zWydkYXRlY2hlY2snXSA9ICRwYXJtc1snZGF0ZWNoZWNrJ10gfHwgeHRfcGFyYW06OmdldF9ib29sKCRwYXJhbXMsICdub2RhdGVjaGVjaycpOwogICRyZW5kZXJlciAgICAgICAgICAgPSBuZXcgRm9ybVJlbmRlcmVyKCR0aGlzLCAkZm9ybSwgJGNhcHRjaGFfcHJvdmlkZXIsICRzbWFydHksICRpZCwgJHJldHVybmlkLCAkcmVzcG9uc2UsICRwYXJtcyk7CiAgZWNobyAkcmVuZGVyZXItPmdldEhUTUwoKTsKfQpjYXRjaChcRXhjZXB0aW9uICRlKQp7CiAgXHh0X3V0aWxzOjpsb2dfZXhjZXB0aW9uKCRlKTsKICAvL2VjaG8gJGUtPkdldE1lc3NhZ2UoKTsKICBlY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JNZXNzYWdlKCRlLT5HZXRNZXNzYWdlKCkpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgppZighaXNzZXQoJGdDbXMpKSB7IGV4aXQ7IH0KaWYoISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSkgeyBleGl0OyB9CgokdHBsID0gJHRoaXMtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdkZWZhdWx0YWRtaW4udHBsJyk7Cgp0cnkKewogICMjIyBpbXBvcnQgZnJvbSBDR0JGIHN0dWZmCiAgIyB3ZSBkbyBuZWVkIHRvIGluaXRpYWxpc2UgaXQganVzdCB0byBxdWVyeSBzdHVmZi4uLgogICRpbXBvcnRlciA9IG5ldyBcU21hcnRGb3Jtc1xjZ2JmX2ltcG9ydGVyKCk7CiAgJHRwbC0+YXNzaWduKCAnaGF2ZV9jZ2JmJywgJGltcG9ydGVyLT5oYXZlX3NvdXJjZSgpICk7Cn0KY2F0Y2goXENNU01TRXh0XE1pZ3JhdG9yUnVudGltZUV4Y2VwdGlvbiAkZXhjZXB0aW9uKQp7CiAgJHRwbC0+YXNzaWduKCAnaGF2ZV9jZ2JmJywgRkFMU0UgKTsKfQoKCiR0cGwtPmFzc2lnbignZm9ybXMnLCR0aGlzLT5mb3Jtc3RvcmFnZS0+bGlzdF9hbGwoKSk7CiR0cGwtPmRpc3BsYXkoKTs=]]></data>
	</file>
	<file>
	  <filename>/doc</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgxPkN1cnJlbnQgY2hhbmdlbG9nPC9oMT4KPHVsPgogICAgPGxpPgogICAgICAgIDIuMC4xIC0gPwogICAgICAgIDxwPkFkZGVkIGVycm9yLnRwbCB3aGljaCB3YXMgbWlzc2luZzwvcD4KCiAgICA8L2xpPgogICAgPGxpPjIuMC4wIC0gYXVndXN0IDIwMjEKICAgICAgICA8cD5Jbml0aWFsIGZ1bmN0aW9uaW5nIGZvcmsgb2YgQ0dCZXR0ZXJGb3JtczwvcD4KICAgICAgICA8cD5BZGRlZCBjb25maXJtYXRpb24gYm94IHdoZW4gZGVsZXRpbmcgZm9ybTwvcD4KICAgIDwvbGk+CgoKCjwvdWw+Cgo8aDE+UHJldmlvdXMgY2hhbmdlbG9nPC9oMT4KPHVsPgoJPGxpPnYxLjAgLSBJbml0aWFsIHN0YWJsZSByZWxlYXNlLjwvbGk+Cgk8bGk+djEuMSAtIFNlcHRlbWJlciAyMDE3CgkJPHA+LSBNaW5vciBidWcgZml4LjwvcD4KCQk8cD4tIEFkZHMgYmFzaWMgaW1wb3J0IGFuZCBleHBvcnQgZnVuY3Rpb25hbGl0eS48L3A+Cgk8L2xpPgoKCTxsaT52MS4xLjIgLSBTZXB0ZW1iZXIgMjAxNwoJCTxwPi0gSW1wcm92ZXMgdGhlIGVkaXQtZm9ybSBpbnRlcmZhY2UgaW4gdGhlIGV2ZW50IG9mIHNldmVyZSBlcnJvcnMgd2hlbiBwYXJzaW5nIHRoZSBmb3JtIEhUTUwuPC9wPgoJICAgICAgICA8cD4tIEltcHJvdmVzIG1lc3NhZ2VzIGFib3V0IHVua25vd24gSFRNTDUgZWxlbWVudHMuICBXaWxsIGxvb2sgYXQgdXNpbmcgYSBkaWZmZXJlbnQgbGlicmFyeSBpbiBsYXRlciB2ZXJzaW9ucy48L3A+CgkJPHA+LSBNaW5vciBidWcgZml4IHJlbGF0ZWQgdG8gc3RhdGljIHVzZSBvZiBub24tc3RhdGljIG1ldGhvZC48L3A+Cgk8L2xpPgoJPGxpPnYxLjIgLSBOb3ZlbWJlciAyMDE3CgkJPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBGb3IgYWxsIGZvcm1zIHVzaW5nIGNhcHRjaGEsIHlvdSBtYXkgbmVlZCB0byByZW1vdmUgYW5kIHJlLWFkZCBhbnkgJnF1b3Q7VmFsaWRhdGUgQ2FwdGNoYSZxdW90OyB2YWxpZGF0aW9uIGluIHRoZSB2YWxpZGF0aW9uIHRhYiB0byBlbnN1cmUgdGhhdCBjYXB0Y2hhIGlzIHZhbGlkYXRlZCBvbiB0aGUgc2VydmVyIHNpZGUuPC9wPgoJCTx1bD4KCQk8bGk+Rml4ZXMgdG8gY2FwdGNoYSB2YWxpZGF0aW9uICh3YXNuJ3QgaGFwcGVuaW5nIHNlcnZlciBzaWRlKTwvbGk+CgkJPGxpPkNhbiBub3cgYXV0by1hZGQgdmFsaWF0aW9ucyBldmVuIGlmIHRoZXJlIGFyZSBleGlzdGluZyB2YWxpZGF0aW9ucy48L2xpPgoJCTxsaT5NaW5vciBmaXggdG8gdGVtcGxhdGUgaGVscCBzdHVmZi48L2xpPgoJCTxsaT5BZGRzIGEgbmV3IE1vZHVsZVJlZmVyZW5jZSBjbGFzcyBhbmQgdXNlIGl0IGluIGF0IGxlYXN0IG9uZSBwbGFjZSB0byBhbGxvdyBzdG9yaW5nIGEgc2ltcGxlIHJlZmVyZW5jZSB0byBhIG1vZHVsZSB0byB1c2UgaW52aXNpYmx5LjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+djEuMi4xIC0gRGVjZW1iZXIgMjAxNwoJCTx1bD4KCQk8bGk+Rm9ybVJlc3BvbnNlIG5vdyBjb250YWlucyBhIHRyYW5zbGF0b3IgbWVtYmVyIGFuZCBhIGdldF90cmFuc2xhdG9yKCkgbWV0aG9kLiAgTWF5IHJlbW92ZSB0aGVzZSBsYXRlci48L2xpPgoJCTxsaT5JbXByb3ZlbWVudHMgdG8gdmFsaWRhdGlvbiBlcnJvcnMuPC9saT4KCQk8bGk+Tm93IGhhbmRsZSBkaXNwb3NpdGlvbiBlcnJvcnMgc2ltaWxhciB0byB2YWxpZGF0aW9uIGVycm9ycy48L2xpPgoJCTxsaT5TbWFydHkgdGVtcGxhdGVzIGNhbiBub3cgYWNjZXNzIHJhdyByZXNwb25zZSBkYXRhLjwvbGk+CgkJPGxpPm1vcmUuLi48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPnYxLjMgLSBEZWNlbWJlciAyMDE3CgkJPHVsPgoJICAgICAgICA8bGk+UmVtb3ZlIHRoZSByZXNldCBidXR0b24gZnJvbSB0aGUgZmluYWwgbWVzc2FnZSB0ZW1wbGF0ZS48L2xpPgoJCTxsaT5GaXggaXNzdWUgd2l0aCB0aGUgaG9uZXlwb3QgZmllbGQgbm90IGJlaW5nIHByb3ZpZGVkIHRvIHRoZSByZXNwb25zZSBvYmplY3QgcHJvcGVybHkuPC9saT4KCSAgICAgICAgPGxpPkZpeCBpc3N1ZSB3aXRoIHN1Ym1pc3Npb25zIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIGZvcm1zIG9uIGEgcGFnZS48L2xpPgoJICAgICAgICA8bGk+Rml4IGxhYmVscyBpbiB0aGUgU21hcnR5IFRlbXBsYXRlIHZhbGlkYXRpb24uPC9saT4KCSAgICAgICAgPGxpPkZpeCBpc3N1ZSB3aXRoIHZhbGlkYXRpb25zIHRocm93aW5nIHRoZSB3cm9uZyBleGNlcHRpb24uPC9saT4KCSAgICAgICAgPGxpPkZpeCB0aGUgc2VsZWN0IGluIHRoZSBEcm9wZG93bi1FbWFpbCB2YWxpZGF0aW9uICh5b3UgbWF5IG5lZWQgdG8gcmVtb3ZlIGFuZCByZS1hZGQgdGhpcyB2YWxpZGF0aW9uIG9uIHlvdXIgZm9ybXMpLjwvbGk+CgkJPGxpPmZpeCBwcm9ibGVtIHRoYXQgcmVzdWx0ZWQgaW4gYW4gZW1wdHkgdGVtcGxhdGUgYmVpbmcgaW1wb3J0ZWQuPC9saT4KCSAgICAgICAgPGxpPlVuaXF1ZSBmaWxlbmFtZSBkaXNwb3NpdGlvbiBub3cgaGFzIGEgZmlsZW5hbWUgdGVtcGxhdGUuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT52MS40LngKCQk8dWw+CgkgICAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGRpc3Bvc2UgdmlhIGVtYWlsIHRvIGFsbCBtZW1iZXJzIG9mIGFuIGFkbWluIGdyb3VwLjwvbGk+CgkgICAgICAgIDxsaT5kYXRhLXNtdGZtLWxhYmVsIG5vdyB3b3JrcyBmb3Igc2VsZWN0IGZpZWxkcy48L2xpPgoJICAgICAgICA8bGk+SW1wcm92ZW1lbnRzIHRvIGV4dHJhY3Rpb24gb2YgbGFiZWxzLjwvbGk+CgkJPGxpPk1pbm9yIGZpeCB0byB0aGUgU3RvcERpc3Bvc2luZyBEaXNwb3NpdGlvbi48L2xpPgoJCTxsaT5Ob3cgdXNlIGZpbHRlcl92YXIgb24gYWxsIHJlc3BvbnNlIGZpZWxkcy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPnYxLjUueAoJCTx1bD4KCQk8bGk+Rml4ZXMgZm9yIGVudGl0aWVzIGluIHZhbGlkYXRpb24gYW5kIGhhbmRsZXIgdGVtcGxhdGVzLjwvbGk+CgkJPGxpPk5vdyBlbnN1cmUgdGhhdCBtdWx0aXNlbGVjdCBmaWVsZCBuYW1lcyBlbmQgd2l0aCBbXSB3aGVuIHJlbmRlcmluZy48L2xpPgoJCTxsaT5IZWxwIGltcHJvdmVtZW50cy48L2xpPgoJCTxsaT5GaXggZm9yIGNhc2Ugd2hlbiB0aGUgZm9ybSBpcyBpbmxpbmUgYW5kIGVtcGJlZGRlZCB3aXRoaW4gYSBkZXRhaWwgdmlldyBvciBzb21lIG90aGVyIHZpZXcgb2YgYW5vdGhlciBtb2R1bGUuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT52MS42LngKCQk8dWw+CgkgICAgICAgIDxsaT5Ob3cgYWxsb3cgc3BlY2lmeWluZyBhIHNtYXJ0eSByZXNvdXJjZSBhcyBhIHRlbXBsYXRlLjwvbGk+CgkgICAgICAgIDxsaT5ObyBsb25nZXIgY2hlY2sgaWYgZm9ybSBuZWVkcyBzY2FubmluZyBvbiBsb2FkIGlmIHVzaW5nIGZpbGUgYmFzZWQgdGVtcGxhdGUuPC9saT4KCSAgICAgICAgPGxpPk1vZGlmeSB0aGUgZm9ybSByZXNwb25zZSBvYmplY3QgdG8gaGF2ZSBhIGhhc19lcnJvcnMoKSBtZXRob2QgdGhhdCBjYW4gYmUgdXNlZCBpbiB2YWxpZGF0aW9uIHRlbXBsYXRlcy48L2xpPgoJICAgICAgICA8bGk+QWRkIGFiaWxpdHkgdG8gZGlzYWJsZSBhIGRpc3Bvc2l0aW9uLjwvbGk+CgkgICAgICAgIDxsaT5BZGRzIGNvbmZpZyBlbnRyaWVzIGZvciBza2lwcGluZyB2ZXJzaW9uIGFuZCBkYXRlIGNoZWNrcy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPnYxLjcueAoJCTx1bD4KCQk8bGk+QWRkcyBFbWFpbEFkbWluR3JvdXBXaXRoUmVwbHlUbyBkaXNwb3NpdGlvbi48L2xpPgoJCTxsaT5OdW1lcm91cyBidWcgZml4ZXMuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT52MS44LngKCSAgICAgICAgPHVsPgoJCTxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KCSAgICAgICAgPGxpPkFkZHMgdGhlIGRhdGEtc210Zm0tcmVwbHl0byBhdHRyaWJ1dGUgdGhhdCBpcyB1c2VkIHRvIG1hcmsgYSBmaWVsZCBhcyBhbiBlbWFpbCBmaWVsZCB0aGF0IGNvbnRhaW5zIGEgcmVwbHl0byBhZGRyZXNzIGZvciBhZG1pbiBlbWFpbHMuPC9saT4KCSAgICAgICAgPGxpPk1vZGlmaWVzIHRoZSB3ZWIgaG9vayBkaXNwb3NpdGlvbiBzbyB0aGF0IHRoZSAnZXh0cmEgdmFyaWFibGVzJyB0ZXh0IGFyZWEgaXMgdHJlYXRlZCBhcyBhIHNtYXJ0eSB0ZW1wbGF0ZS4KCSAgICAgICAgPC91bD4KCTwvbGk+Cgk8bGk+djEuOS54Cgk8dWw+CiAgCQk8bGk+Tm93IGF1dG8tc2V0IHRoZSB2YWx1ZSBvZiBmaWVsZHMgKGluY2x1ZGluZyBjaGVja2JveGVzLCBhbmQgcmFkaW8gYnV0dG9ucykKCQkJPHA+d2hlbiByZW5kZXJpbmcgYSBmb3JtLCBpZiB0aGVyZSBpcyBubyBzcGVjaWZpYyBjb250ZW50IHNldCBpbiB0aGUgdmFsdWUsIHdlIHNldCB0aGUgdmFsdWUsIGNvbnRlbnQsIGNoZWNrZWQsIG9yIHNlbGVjdGVkIHN0YXRlIGFwcHJvcHJpYXRlbHkgYmFzZWQgb24gdGhlIHZhbHVlIHNldCBpbiB0aGUgZm9ybSByZXNwb25zZS48L3A+CgkgICAgICAgIDwvbGk+CgkJPGxpPkFkZHMgdGhlIGRhdGEtc210Zm0tbm9hdXRvdmFsdWUgYXR0cmlidXRlIHRvIGF2b2lkIHNldHRpbmcgdGhlIHZhbHVlIGF1dG9tYXRpY2FsbHkuICBUaGlzIGF0dHJpYnV0ZSB3b3JrcyBnbG9iYWxseSBmb3IgYSBmb3JtLCBvciBvbiBlYWNoIGluZGl2aWR1YWwgZmllbGQuPC9saT4KCgkJPGxpPk5vdyBlbnN1cmUgdGhhdCBjaGVja2JveCBncm91cHMgaGF2ZSB0aGUgW10gYXBwZW5kZWQgdG8gdGhlaXIgbmFtZSBvbiByZW5kZXJpbmcuPC9saT4KCSAgICAgICAgPGxpPkFkZHMgdGhlIGRhdGEtc210Zm0tbm9uYW1lYWRqdXN0IGF0dHJpYnV0ZSB0byBhdm9pZCBhdHRlbXB0aW5nIHRvIGF1dG8tYXBwZW5kIFtdIHRvIHRoZSBuYW1lIG9mIG11bHRpc2VsZWN0IGZpZWxkcywgb3IgY2hlY2tib3ggZ3JvdXBzLjwvbGk+CgkgICAgICAgIDxsaT5FbWFpbCBkaXNwb3NpdGlvbnMgd2lsbCBub3cgZG8gbm90aGluZyBpZiB0aGUgcmVzdWx0IG9mIHBhc3NpbmcgdGhlIGJvZHkgdGVtcGxhdGUgb3Igc3ViamVjdCB0ZW1wbGF0ZSB0aHJvdWdoIHNtYXJ0eSByZXN1bHQgaW4gZW1wdHkgc3RyaW5ncy48L2xpPgoJCTxsaT5Gb3IgcGVyZm9ybWFuY2UgcmVhc29ucywgb25seSBhbGxvdyB2YWxpZGF0aW9uIGVkaXRvcnMgdG8gYmUgcmVnaXN0ZXJlZCBmcm9tIGFkbWluIHJlcXVlc3RzLjwvbGk+Cgk8L3VsPgoJPC9saT4KCgk8bGk+djEuMTAueAoJPHVsPgogICAgICAgIAk8bGk+U2V2ZXJhbCBtaW5vciBuZXcgZmVhdHVyZXMuPC9saT4KICAgICAgICAgICAgICAgIDxsaT52MS4xMC4zIC0gZml4IHRvIHRoZSBhdXRvIHZhbGlkYXRpb24gc2Nhbm5lci4uLiB5b3UgbWF5IG5lZWQgdG8gcmVtb3ZlIGFuZCByZS1hdXRvLXZhbGlkYXRlIHZhbGlkYXRpb25zIHRoYXQgd2VyZSBhdXRvLWFkZGVkIHRvIGZpeCBhIHByb2JsZW0gd2l0aCBvcmRlcmluZyB2YWxpZGF0aW9ucy48L2xpPgoJPC91bD4KCTwvbGk+CjwvdWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/doc/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMiwgSnVuZSAxOTkxCgogQ29weXJpZ2h0IChDKSAxOTg5LCAxOTkxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcwogb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlYW1ibGUKCiAgVGhlIGxpY2Vuc2VzIGZvciBtb3N0IHNvZnR3YXJlIGFyZSBkZXNpZ25lZCB0byB0YWtlIGF3YXkgeW91cgpmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgaXQuICBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYwpMaWNlbnNlIGlzIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBmcmVlCnNvZnR3YXJlLS10byBtYWtlIHN1cmUgdGhlIHNvZnR3YXJlIGlzIGZyZWUgZm9yIGFsbCBpdHMgdXNlcnMuICBUaGlzCkdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBtb3N0IG9mIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24ncyBzb2Z0d2FyZSBhbmQgdG8gYW55IG90aGVyIHByb2dyYW0gd2hvc2UgYXV0aG9ycyBjb21taXQgdG8KdXNpbmcgaXQuICAoU29tZSBvdGhlciBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gc29mdHdhcmUgaXMgY292ZXJlZCBieQp0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdAppZiB5b3Ugd2FudCBpdCwgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdAppbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCgogIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQKYW55b25lIHRvIGRlbnkgeW91IHRoZXNlIHJpZ2h0cyBvciB0byBhc2sgeW91IHRvIHN1cnJlbmRlciB0aGUgcmlnaHRzLgpUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IgeW91IGlmIHlvdQpkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgc29mdHdhcmUsIG9yIGlmIHlvdSBtb2RpZnkgaXQuCgogIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2Ygc3VjaCBhIHByb2dyYW0sIHdoZXRoZXIKZ3JhdGlzIG9yIGZvciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0CnlvdSBoYXZlLiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlCnNvdXJjZSBjb2RlLiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIKcmlnaHRzLgoKICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggdHdvIHN0ZXBzOiAoMSkgY29weXJpZ2h0IHRoZSBzb2Z0d2FyZSwgYW5kCigyKSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlIHdoaWNoIGdpdmVzIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksCmRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGUgc29mdHdhcmUuCgogIEFsc28sIGZvciBlYWNoIGF1dGhvcidzIHByb3RlY3Rpb24gYW5kIG91cnMsIHdlIHdhbnQgdG8gbWFrZSBjZXJ0YWluCnRoYXQgZXZlcnlvbmUgdW5kZXJzdGFuZHMgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhpcyBmcmVlCnNvZnR3YXJlLiAgSWYgdGhlIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB3ZQp3YW50IGl0cyByZWNpcGllbnRzIHRvIGtub3cgdGhhdCB3aGF0IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsLCBzbwp0aGF0IGFueSBwcm9ibGVtcyBpbnRyb2R1Y2VkIGJ5IG90aGVycyB3aWxsIG5vdCByZWZsZWN0IG9uIHRoZSBvcmlnaW5hbAphdXRob3JzJyByZXB1dGF0aW9ucy4KCiAgRmluYWxseSwgYW55IGZyZWUgcHJvZ3JhbSBpcyB0aHJlYXRlbmVkIGNvbnN0YW50bHkgYnkgc29mdHdhcmUKcGF0ZW50cy4gIFdlIHdpc2ggdG8gYXZvaWQgdGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZQpwcm9ncmFtIHdpbGwgaW5kaXZpZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVmZmVjdCBtYWtpbmcgdGhlCnByb2dyYW0gcHJvcHJpZXRhcnkuICBUbyBwcmV2ZW50IHRoaXMsIHdlIGhhdmUgbWFkZSBpdCBjbGVhciB0aGF0IGFueQpwYXRlbnQgbXVzdCBiZSBsaWNlbnNlZCBmb3IgZXZlcnlvbmUncyBmcmVlIHVzZSBvciBub3QgbGljZW5zZWQgYXQgYWxsLgoKICBUaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZAptb2RpZmljYXRpb24gZm9sbG93LgoKICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgQ09QWUlORywgRElTVFJJQlVUSU9OIEFORCBNT0RJRklDQVRJT04KCiAgMC4gVGhpcyBMaWNlbnNlIGFwcGxpZXMgdG8gYW55IHByb2dyYW0gb3Igb3RoZXIgd29yayB3aGljaCBjb250YWlucwphIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgc2F5aW5nIGl0IG1heSBiZSBkaXN0cmlidXRlZAp1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhlICJQcm9ncmFtIiwgYmVsb3csCnJlZmVycyB0byBhbnkgc3VjaCBwcm9ncmFtIG9yIHdvcmssIGFuZCBhICJ3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtIgptZWFucyBlaXRoZXIgdGhlIFByb2dyYW0gb3IgYW55IGRlcml2YXRpdmUgd29yayB1bmRlciBjb3B5cmlnaHQgbGF3Ogp0aGF0IGlzIHRvIHNheSwgYSB3b3JrIGNvbnRhaW5pbmcgdGhlIFByb2dyYW0gb3IgYSBwb3J0aW9uIG9mIGl0LAplaXRoZXIgdmVyYmF0aW0gb3Igd2l0aCBtb2RpZmljYXRpb25zIGFuZC9vciB0cmFuc2xhdGVkIGludG8gYW5vdGhlcgpsYW5ndWFnZS4gIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMgaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0aW9uIGluCnRoZSB0ZXJtICJtb2RpZmljYXRpb24iLikgIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLgoKQWN0aXZpdGllcyBvdGhlciB0aGFuIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQgbW9kaWZpY2F0aW9uIGFyZSBub3QKY292ZXJlZCBieSB0aGlzIExpY2Vuc2U7IHRoZXkgYXJlIG91dHNpZGUgaXRzIHNjb3BlLiAgVGhlIGFjdCBvZgpydW5uaW5nIHRoZSBQcm9ncmFtIGlzIG5vdCByZXN0cmljdGVkLCBhbmQgdGhlIG91dHB1dCBmcm9tIHRoZSBQcm9ncmFtCmlzIGNvdmVyZWQgb25seSBpZiBpdHMgY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24gdGhlClByb2dyYW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuIG1hZGUgYnkgcnVubmluZyB0aGUgUHJvZ3JhbSkuCldoZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVuZHMgb24gd2hhdCB0aGUgUHJvZ3JhbSBkb2VzLgoKICAxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3MKc291cmNlIGNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91CmNvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUKY29weXJpZ2h0IG5vdGljZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QgYWxsIHRoZQpub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7CmFuZCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBQcm9ncmFtIGEgY29weSBvZiB0aGlzIExpY2Vuc2UKYWxvbmcgd2l0aCB0aGUgUHJvZ3JhbS4KCllvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksIGFuZAp5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEgZmVlLgoKICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkgb3IgY29waWVzIG9mIHRoZSBQcm9ncmFtIG9yIGFueSBwb3J0aW9uCm9mIGl0LCB0aHVzIGZvcm1pbmcgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBhbmQgY29weSBhbmQKZGlzdHJpYnV0ZSBzdWNoIG1vZGlmaWNhdGlvbnMgb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxCmFib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgWW91IG11c3QgY2F1c2UgdGhlIG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCiAgICBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgoKICAgIGIpIFlvdSBtdXN0IGNhdXNlIGFueSB3b3JrIHRoYXQgeW91IGRpc3RyaWJ1dGUgb3IgcHVibGlzaCwgdGhhdCBpbgogICAgd2hvbGUgb3IgaW4gcGFydCBjb250YWlucyBvciBpcyBkZXJpdmVkIGZyb20gdGhlIFByb2dyYW0gb3IgYW55CiAgICBwYXJ0IHRoZXJlb2YsIHRvIGJlIGxpY2Vuc2VkIGFzIGEgd2hvbGUgYXQgbm8gY2hhcmdlIHRvIGFsbCB0aGlyZAogICAgcGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgoKICAgIGMpIElmIHRoZSBtb2RpZmllZCBwcm9ncmFtIG5vcm1hbGx5IHJlYWRzIGNvbW1hbmRzIGludGVyYWN0aXZlbHkKICAgIHdoZW4gcnVuLCB5b3UgbXVzdCBjYXVzZSBpdCwgd2hlbiBzdGFydGVkIHJ1bm5pbmcgZm9yIHN1Y2gKICAgIGludGVyYWN0aXZlIHVzZSBpbiB0aGUgbW9zdCBvcmRpbmFyeSB3YXksIHRvIHByaW50IG9yIGRpc3BsYXkgYW4KICAgIGFubm91bmNlbWVudCBpbmNsdWRpbmcgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgYQogICAgbm90aWNlIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgKG9yIGVsc2UsIHNheWluZyB0aGF0IHlvdSBwcm92aWRlCiAgICBhIHdhcnJhbnR5KSBhbmQgdGhhdCB1c2VycyBtYXkgcmVkaXN0cmlidXRlIHRoZSBwcm9ncmFtIHVuZGVyCiAgICB0aGVzZSBjb25kaXRpb25zLCBhbmQgdGVsbGluZyB0aGUgdXNlciBob3cgdG8gdmlldyBhIGNvcHkgb2YgdGhpcwogICAgTGljZW5zZS4gIChFeGNlcHRpb246IGlmIHRoZSBQcm9ncmFtIGl0c2VsZiBpcyBpbnRlcmFjdGl2ZSBidXQKICAgIGRvZXMgbm90IG5vcm1hbGx5IHByaW50IHN1Y2ggYW4gYW5ub3VuY2VtZW50LCB5b3VyIHdvcmsgYmFzZWQgb24KICAgIHRoZSBQcm9ncmFtIGlzIG5vdCByZXF1aXJlZCB0byBwcmludCBhbiBhbm5vdW5jZW1lbnQuKQoKVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgppZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtLAphbmQgY2FuIGJlIHJlYXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVuZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4KdGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQpzZWN0aW9ucyB3aGVuIHlvdSBkaXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UKZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkCm9uIHRoZSBQcm9ncmFtLCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgp0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQplbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuCgpUaHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QKeW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCmV4ZXJjaXNlIHRoZSByaWdodCB0byBjb250cm9sIHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgpjb2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9uIHRoZSBQcm9ncmFtLgoKSW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0aGUgUHJvZ3JhbQp3aXRoIHRoZSBQcm9ncmFtIChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSkgb24gYSB2b2x1bWUgb2YKYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIKdGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KCiAgMy4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhIHdvcmsgYmFzZWQgb24gaXQsCnVuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHVuZGVyIHRoZSB0ZXJtcyBvZgpTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6CgogICAgYSkgQWNjb21wYW55IGl0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZQogICAgc291cmNlIGNvZGUsIHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zCiAgICAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKCiAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZQogICAgeWVhcnMsIHRvIGdpdmUgYW55IHRoaXJkIHBhcnR5LCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHlvdXIKICAgIGNvc3Qgb2YgcGh5c2ljYWxseSBwZXJmb3JtaW5nIHNvdXJjZSBkaXN0cmlidXRpb24sIGEgY29tcGxldGUKICAgIG1hY2hpbmUtcmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUKICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtCiAgICBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCgogICAgYykgQWNjb21wYW55IGl0IHdpdGggdGhlIGluZm9ybWF0aW9uIHlvdSByZWNlaXZlZCBhcyB0byB0aGUgb2ZmZXIKICAgIHRvIGRpc3RyaWJ1dGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZS4gIChUaGlzIGFsdGVybmF0aXZlIGlzCiAgICBhbGxvd2VkIG9ubHkgZm9yIG5vbmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFuZCBvbmx5IGlmIHlvdQogICAgcmVjZWl2ZWQgdGhlIHByb2dyYW0gaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHdpdGggc3VjaAogICAgYW4gb2ZmZXIsIGluIGFjY29yZCB3aXRoIFN1YnNlY3Rpb24gYiBhYm92ZS4pCgpUaGUgc291cmNlIGNvZGUgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCm1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGFuIGV4ZWN1dGFibGUgd29yaywgY29tcGxldGUgc291cmNlCmNvZGUgbWVhbnMgYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55CmFzc29jaWF0ZWQgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlwdHMgdXNlZCB0bwpjb250cm9sIGNvbXBpbGF0aW9uIGFuZCBpbnN0YWxsYXRpb24gb2YgdGhlIGV4ZWN1dGFibGUuICBIb3dldmVyLCBhcyBhCnNwZWNpYWwgZXhjZXB0aW9uLCB0aGUgc291cmNlIGNvZGUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZQphbnl0aGluZyB0aGF0IGlzIG5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFyeQpmb3JtKSB3aXRoIHRoZSBtYWpvciBjb21wb25lbnRzIChjb21waWxlciwga2VybmVsLCBhbmQgc28gb24pIG9mIHRoZQpvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudAppdHNlbGYgYWNjb21wYW5pZXMgdGhlIGV4ZWN1dGFibGUuCgpJZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nCmFjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQKYWNjZXNzIHRvIGNvcHkgdGhlIHNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2UgY291bnRzIGFzCmRpc3RyaWJ1dGlvbiBvZiB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdApjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgoKICA0LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0KZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgYXR0ZW1wdApvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gaXMKdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLgpIb3dldmVyLCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywgb3IgcmlnaHRzLCBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcyB0ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaApwYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCgogIDUuIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UsIHNpbmNlIHlvdSBoYXZlIG5vdApzaWduZWQgaXQuICBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvcgpkaXN0cmlidXRlIHRoZSBQcm9ncmFtIG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtzLiAgVGhlc2UgYWN0aW9ucyBhcmUKcHJvaGliaXRlZCBieSBsYXcgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBieQptb2RpZnlpbmcgb3IgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKUHJvZ3JhbSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLCBhbmQKYWxsIGl0cyB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIG1vZGlmeWluZwp0aGUgUHJvZ3JhbSBvciB3b3JrcyBiYXNlZCBvbiBpdC4KCiAgNi4gRWFjaCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQpQcm9ncmFtKSwgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZQpvcmlnaW5hbCBsaWNlbnNvciB0byBjb3B5LCBkaXN0cmlidXRlIG9yIG1vZGlmeSB0aGUgUHJvZ3JhbSBzdWJqZWN0IHRvCnRoZXNlIHRlcm1zIGFuZCBjb25kaXRpb25zLiAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyCnJlc3RyaWN0aW9ucyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cyBncmFudGVkIGhlcmVpbi4KWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgdG8KdGhpcyBMaWNlbnNlLgoKICA3LiBJZiwgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIGNvdXJ0IGp1ZGdtZW50IG9yIGFsbGVnYXRpb24gb2YgcGF0ZW50CmluZnJpbmdlbWVudCBvciBmb3IgYW55IG90aGVyIHJlYXNvbiAobm90IGxpbWl0ZWQgdG8gcGF0ZW50IGlzc3VlcyksCmNvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3IKb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdApleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNhbm5vdApkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCkxpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UKbWF5IG5vdCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiBhIHBhdGVudApsaWNlbnNlIHdvdWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVlIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtIGJ5CmFsbCB0aG9zZSB3aG8gcmVjZWl2ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbgp0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxkIGJlIHRvCnJlZnJhaW4gZW50aXJlbHkgZnJvbSBkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0uCgpJZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIKYW55IHBhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlLCB0aGUgYmFsYW5jZSBvZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRlZCB0bwphcHBseSBhbmQgdGhlIHNlY3Rpb24gYXMgYSB3aG9sZSBpcyBpbnRlbmRlZCB0byBhcHBseSBpbiBvdGhlcgpjaXJjdW1zdGFuY2VzLgoKSXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueQpwYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0byBjb250ZXN0IHZhbGlkaXR5IG9mIGFueQpzdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlCmludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtLCB3aGljaCBpcwppbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuICBNYW55IHBlb3BsZSBoYXZlIG1hZGUKZ2VuZXJvdXMgY29udHJpYnV0aW9ucyB0byB0aGUgd2lkZSByYW5nZSBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZAp0aHJvdWdoIHRoYXQgc3lzdGVtIGluIHJlbGlhbmNlIG9uIGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdApzeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVjaWRlIGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nCnRvIGRpc3RyaWJ1dGUgc29mdHdhcmUgdGhyb3VnaCBhbnkgb3RoZXIgc3lzdGVtIGFuZCBhIGxpY2Vuc2VlIGNhbm5vdAppbXBvc2UgdGhhdCBjaG9pY2UuCgpUaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB0aG9yb3VnaGx5IGNsZWFyIHdoYXQgaXMgYmVsaWV2ZWQgdG8KYmUgYSBjb25zZXF1ZW5jZSBvZiB0aGUgcmVzdCBvZiB0aGlzIExpY2Vuc2UuCgogIDguIElmIHRoZSBkaXN0cmlidXRpb24gYW5kL29yIHVzZSBvZiB0aGUgUHJvZ3JhbSBpcyByZXN0cmljdGVkIGluCmNlcnRhaW4gY291bnRyaWVzIGVpdGhlciBieSBwYXRlbnRzIG9yIGJ5IGNvcHlyaWdodGVkIGludGVyZmFjZXMsIHRoZQpvcmlnaW5hbCBjb3B5cmlnaHQgaG9sZGVyIHdobyBwbGFjZXMgdGhlIFByb2dyYW0gdW5kZXIgdGhpcyBMaWNlbnNlCm1heSBhZGQgYW4gZXhwbGljaXQgZ2VvZ3JhcGhpY2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZwp0aG9zZSBjb3VudHJpZXMsIHNvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGluIG9yIGFtb25nCmNvdW50cmllcyBub3QgdGh1cyBleGNsdWRlZC4gIEluIHN1Y2ggY2FzZSwgdGhpcyBMaWNlbnNlIGluY29ycG9yYXRlcwp0aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGluIHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4KCiAgOS4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMKb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCkVhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlIFByb2dyYW0Kc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kICJhbnkKbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucwplaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQpTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIFByb2dyYW0gZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mCnRoaXMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4KCiAgMTAuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBhcnRzIG9mIHRoZSBQcm9ncmFtIGludG8gb3RoZXIgZnJlZQpwcm9ncmFtcyB3aG9zZSBkaXN0cmlidXRpb24gY29uZGl0aW9ucyBhcmUgZGlmZmVyZW50LCB3cml0ZSB0byB0aGUgYXV0aG9yCnRvIGFzayBmb3IgcGVybWlzc2lvbi4gIEZvciBzb2Z0d2FyZSB3aGljaCBpcyBjb3B5cmlnaHRlZCBieSB0aGUgRnJlZQpTb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMKbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLiAgT3VyIGRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMKb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMgb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZApvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcgYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOTyBXQVJSQU5UWQoKICAxMS4gQkVDQVVTRSBUSEUgUFJPR1JBTSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8gV0FSUkFOVFkKRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOCk9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMKUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQKT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUwpUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0gSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFClBST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLApSRVBBSVIgT1IgQ09SUkVDVElPTi4KCiAgMTIuIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1BWSBNT0RJRlkgQU5EL09SClJFRElTVFJJQlVURSBUSEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsCklOQ0xVRElORyBBTlkgR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORwpPVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEClRPIExPU1MgT0YgREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWQpZT1UgT1IgVEhJUkQgUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUgpQUk9HUkFNUyksIEVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUKUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTLgoKICAgICAgICAgICAgICAgICAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCgogICAgICAgICAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKCiAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdApwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyB0byBtYWtlIGl0CmZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgoKICBUbyBkbyBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdAp0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5CmNvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0CnRoZSAiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgoKICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CiAgICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCiAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZwogICAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKICAgIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCgpBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KCklmIHRoZSBwcm9ncmFtIGlzIGludGVyYWN0aXZlLCBtYWtlIGl0IG91dHB1dCBhIHNob3J0IG5vdGljZSBsaWtlIHRoaXMKd2hlbiBpdCBzdGFydHMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZToKCiAgICBHbm9tb3Zpc2lvbiB2ZXJzaW9uIDY5LCBDb3B5cmlnaHQgKEMpIHllYXIgbmFtZSBvZiBhdXRob3IKICAgIEdub21vdmlzaW9uIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWTsgZm9yIGRldGFpbHMgdHlwZSBgc2hvdyB3Jy4KICAgIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQKICAgIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9uczsgdHlwZSBgc2hvdyBjJyBmb3IgZGV0YWlscy4KClRoZSBoeXBvdGhldGljYWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBzaG93IGMnIHNob3VsZCBzaG93IHRoZSBhcHByb3ByaWF0ZQpwYXJ0cyBvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIE9mIGNvdXJzZSwgdGhlIGNvbW1hbmRzIHlvdSB1c2UgbWF5CmJlIGNhbGxlZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBgc2hvdyB3JyBhbmQgYHNob3cgYyc7IHRoZXkgY291bGQgZXZlbiBiZQptb3VzZS1jbGlja3Mgb3IgbWVudSBpdGVtcy0td2hhdGV2ZXIgc3VpdHMgeW91ciBwcm9ncmFtLgoKWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIKc2Nob29sLCBpZiBhbnksIHRvIHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZvciB0aGUgcHJvZ3JhbSwgaWYKbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOgoKICBZb3lvZHluZSwgSW5jLiwgaGVyZWJ5IGRpc2NsYWltcyBhbGwgY29weXJpZ2h0IGludGVyZXN0IGluIHRoZSBwcm9ncmFtCiAgYEdub21vdmlzaW9uJyAod2hpY2ggbWFrZXMgcGFzc2VzIGF0IGNvbXBpbGVycykgd3JpdHRlbiBieSBKYW1lcyBIYWNrZXIuCgogIDxzaWduYXR1cmUgb2YgVHkgQ29vbj4sIDEgQXByaWwgMTk4OQogIFR5IENvb24sIFByZXNpZGVudCBvZiBWaWNlCgpUaGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtIGludG8KcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdSBtYXkKY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGggdGhlCmxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLgo=]]></data>
	</file>
	<file>
	  <filename>/doc/FEATURES.TXT</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LSBCdWlsZCB5b3VyIGZvcm0gaW4gSFRNTCBhbmQgamF2YXNjcmlwdCwgc3R5bGUgd2l0aCBDU1MgZWFzaWx5Ci0gWW91IGNvbnRyb2wgaW5wdXQgZmllbGQgbmFtZXMgCi0gV29ya3Mgd2l0aCBzbWFydHkKLSBTZWN1cmUKICAtIFN1cHBvcnRzIGNhcHRjaGEKICAtIEJ1aWx0IGluIGhvbmV5cG90IGNhcHRjaGEKLSBQcm92aWRlcyBzeW50YXggY2hlY2tpbmcgYW5kIGJhc2ljIGVycm9yIGNoZWNraW5nIG9mIHlvdXIgZm9ybXMgSFRNTAotIFN1cHBvcnRzIGZpbGUgdXBsb2FkcwotIEZsZXhpYmxlIGFuZCBleHRlbmRhYmxlIHZhbGlkYXRpb25zCi0gRmxleGlibGUgYW5kIGV4dGVuZGFibGUgZGlzcG9zaXRpb25zCi0gRXh0ZW5kYWJsZQotIEZ1bGwgQVBJCg==]]></data>
	</file>
	<file>
	  <filename>/doc/template_help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0id2FybmluZyIgc3R5bGU9IndpZHRoOiA5NSU7Ij48c3Ryb25nPlJlbWVtYmVyPC9zdHJvbmc+IHRvIHJlLXNjYW4gYW5kIHJlLXNhdmUgYW55IGZvcm1zIHVzaW5nIHRoaXMgdGVtcGxhdGUgZWFjaCB0aW1lIHlvdSBzYXZlIGl0LjwvZGl2PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPlNtYXJ0eSBWYXJpYWJsZXM8L2xlZ2VuZD4KPHRhYmxlIHN0eWxlPSJ3aWR0aDogMTAwJTsiPgogIDx0cj4KICAgIDx0ZD4kZm9ybV9kYXRhPC90ZD4KICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij48ZW0+KFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSBvYmplY3QpPC9lbT48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRoIGNvbHNwYW49IjIiPk1lbWJlcnM8L3RoPgogIDwvdHI+CiAgPHRyPgogICAgPHRkIGNvbHNwYW49IjIiPkVhY2ggZm9ybSBmaWVsZCAoYXMgaWRlbnRpZmllZCBpbiB0aGUgZmllbGRzIHRhYikgaXMgYXZhaWxhYmxlIGFzIGEgbWVtYmVyIG9mIHRoaXMgb2JqZWN0LiBpLmU6IDxjb2RlPnskZm9ybV9kYXRhLT5mb299PC9jb2RlPjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGggY29sc3Bhbj0iMiI+TWV0aG9kczwvdGg+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGNvZGU+c3RyaW5nW10geyRmb3JtX2RhdGEtPmxpc3RfZmllbGRzKCl9PC9jb2RlPjwvdGQ+CiAgICA8dGQ+UmV0dXJuIGEgbGlzdCBvZiBhbGwga25vd24gZmllbGQgbmFtZXMuPC90ZD4KICA8L3RyPgo8L3RhYmxlPgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPlNtYXJ0eSBQbHVnaW5zPC9sZWdlbmQ+Cjx0YWJsZSBzdHlsZT0id2lkdGg6IDEwMCU7Ij4KICA8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiPjxjb2RlPntzbXRmbV9mb3JtX2Vycm9ycyBhc3NpZ249bmFtZX08L2NvZGU+PC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCI+CiAgICAgIDxwPk91dHB1dDogIDxjb2RlPnN0cmluZ1tdPC9jb2RlPjwvcD4KICAgICAgPHA+UGFyYW1ldGVyczogPGNvZGU+YXNzaWduPC9jb2RlPiAtIEFzc2lnbiB0aGUgb3V0cHV0IGZyb20gdGhpcyBwbHVnaW4gdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS48L3A+CiAgICAgIDxwPkFmdGVyIHRoZSBmb3JtIGhhcyBiZWVuIHN1Ym1pdHRlZCwgaWYgYW55IGVycm9ycyBvY2N1ciwgdGhlIGZvcm0gd2lsbCBiZSByZS1yZW5kZXJlZC4gIFRoaXMgcGx1Z2luIGNhbiBiZSB1c2VkIHRvIHJldHJpZXZlIHRoZSBlcnJvcnMuPC9wPgogICAgPC90ZD4KICA8L3RyPgo8L3RhYmxlPgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPkRhdGEgQXR0cmlidXRlczwvbGVnZW5kPgo8dGFibGUgc3R5bGU9IndpZHRoOiAxMDAlOyI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGggc3R5bGU9Im1pbi13aWR0aDogMTVlbTsiPk5hbWU8L3RoPgogICAgICA8dGg+VmFsaWQgZm9yPC90aD4KICAgICAgPHRoPkNvbnRlbnRzIChpZiBhbnkpPC90aD4KICAgICAgPHRoPkRlc2NyaXB0aW9uPC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KICA8dGJvZHk+CiAgICA8dHI+CiAgICAgIDx0ZD48Y29kZT5kYXRhLXNtdGZtLW5vdmFsaWRhdGU8Y29kZT48L3RkPgogICAgICA8dGQ+aW5wdXQsIHNlbGVjdCwgdGV4dGFyZWE8L3RkPgogICAgICA8dGQ+PC90ZD4KICAgICAgPHRkPldoZW4gc2Nhbm5pbmcgdGhlIGZvcm0sIGRvIG5vdCB2YWxpZGF0ZSB0aGlzIGZpZWxkIGF0IGFsbC48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkPjxjb2RlPmRhdGEtc210Zm0tYWNjZXB0PGNvZGU+PC90ZD4KICAgICAgPHRkPnR5cGU9ImZpbGUiPC90ZD4KICAgICAgPHRkPjxwPkNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgbWltZSB0eXBlcy4gIFdpbGRjYXJkcyBzdXBwb3J0ZWQuPC9wPjxwPmkuZTogPGNvZGU+aW1hZ2UvKixhcHBsaWNhdGlvbi9wZGY8Y29kZT48L3A+PC90ZD4KICAgICAgPHRkPldoZW4gdmFsaWRhdGluZyB0aGUgZm9ybSByZXNwb25zZSBhY2NlcHQgb25seSB1cGxvYWRzIG1hdGNoaW5nIHRoZXNlIGZpbGUgdHlwZXMuPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZD48Y29kZT5kYXRhLXNtdGZtLW1heHNpemU8Y29kZT48L3RkPgogICAgICA8dGQ+dHlwZT0iZmlsZSI8L3RkPgogICAgICA8dGQ+aW50ZWdlcjwvdGQ+CiAgICAgIDx0ZD5UaGUgbWF4aW11bSBmaWxlIHNpemUgb2YgYW55IGZpbGUgdXBsb2FkZWQgZm9yIHRoaXMgZmllbGQuPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZD48Y29kZT5kYXRhLXNtdGZtLWV4dGVuc2lvbjxjb2RlPjwvdGQ+CiAgICAgIDx0ZD50eXBlPSJmaWxlIjwvdGQ+CiAgICAgIDx0ZD5zdHJpbmc8L3RkPgogICAgICA8dGQ+PGVtPihub3QgcmVjb21tZW5kZWQpPC9lbT4gQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB2YWxpZCBmaWxlIGV4dGVuc2lvbnMgdGhhdCBjYW4gYmUgdXBsb2FkZWQuPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZD48Y29kZT5kYXRhLXNtdGZtLXByaW1pdGl2ZTxjb2RlPjwvdGQ+CiAgICAgIDx0ZD4hIHR5cGU9ImZpbGUiPC90ZD4KICAgICAgPHRkPlRoZSB2YWx1ZXMgPGNvZGU+aW50LCBmbG9hdCwgZGF0ZSwgZW1haWwsIG9yIHN0cmluZzwvY29kZT48L3RkPgogICAgICA8dGQ+RXhwbGljaXRseSBzcGVjaWZ5IHRoZSB0eXBlIG9mIHZhbHVlIGV4cGVjdGVkIGluIHRoZSBmaWVsZCwgZm9yIHNlcnZlci1zaWRlIHZhbGlkYXRpb24gcHVycG9zZXMuICBJZiBub3Qgc3BlY2lmaWVkIHRoZW4gaW50ZWxsaWdlbnQgZ3Vlc3NlcyBhcmUgbWFkZSBiYXNlZCBvbiB0aGUgdHlwZSBvZiBmaWVsZCBhbmQgb3RoZXIgYXR0cmlidXRlcy48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkPjxjb2RlPmRhdGEtc210Zm0tcmVxdWlyZWQ8Y29kZT48L3RkPgogICAgICA8dGQ+aW5wdXQsIHNlbGVjdCwgdGV4dGFyZWE8L3RkPgogICAgICA8dGQ+PC90ZD4KICAgICAgPHRkPkluZGljYXRlcyB0aGF0IGF0IGxlYXN0IG9uZSB2YWx1ZSBmb3IgdGhpcyBmaWVsZCBpcyByZXF1aXJlZCB0byBwYXNzIHZhbGlkYXRpb24uPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZD48Y29kZT5kYXRhLXNtdGZtLXBhdHRlcm48Y29kZT48L3RkPgogICAgICA8dGQ+ISB0eXBlPSJmaWxlIjwvdGQ+CiAgICAgIDx0ZD5zdHJpbmc8L3RkPgogICAgICA8dGQ+QSByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBhbGwgdmFsdWVzIGZvciB0aGUgZmllbGQgbXVzdCBtYXRjaC48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkPjxjb2RlPmRhdGEtc210Zm0tbWluPGNvZGU+PC90ZD4KICAgICAgPHRkPnR5cGU9Im51bWJlciIgfCBkYXRhLXNtdGZtLXByaW1pdGl2ZT0iZmxvYXQiIHwgZGF0YS1zbXRmbS1wcmltaXRpdmU9ImludCI8L3RkPgogICAgICA8dGQ+c3RyaW5nPC90ZD4KICAgICAgPHRkPlRoZSBtaW5pbXVtIHZhbHVlIGZvciB0aGlzIGZpZWxkLjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQ+PGNvZGU+ZGF0YS1zbXRmbS1tYXg8Y29kZT48L3RkPgogICAgICA8dGQ+dHlwZT0ibnVtYmVyIiB8IGRhdGEtc210Zm0tcHJpbWl0aXZlPSJmbG9hdCIgfCBkYXRhLXNtdGZtLXByaW1pdGl2ZT0iaW50IjwvdGQ+CiAgICAgIDx0ZD5zdHJpbmc8L3RkPgogICAgICA8dGQ+VGhlIG1heGltdW0gdmFsdWUgZm9yIHRoaXMgZmllbGQuPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZD48Y29kZT5kYXRhLXNtdGZtLWNhcHRjaGE8Y29kZT48L3RkPgogICAgICA8dGQ+Jmx0O2RpdiZndDsgb3IgJmx0O3NwYW4mZ3Q7IG9yICZsdDtwJmd0OzwvdGQ+CiAgICAgIDx0ZD48L3RkPgogICAgICA8dGQ+TWFya3MgYSBjb250YWluZXIgZm9yIHBsYWNpbmcgY2F0Y2hhIEhUTUwgY29kZS4gSWYgY2FwdGNoYSBpcyBhdmFpbGFibGUuPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZD48Y29kZT5kYXRhLXNtdGZtLWNhcHRjaGEtaW5wdXQ8Y29kZT48L3RkPgogICAgICA8dGQ+Jmx0O2RpdiZndDsgb3IgJmx0O3NwYW4mZ3Q7IG9yICZsdDtwJmd0OzwvdGQ+CiAgICAgIDx0ZD48L3RkPgogICAgICA8dGQ+TWFya3MgYSBjb250YWluZXIgZm9yIHBsYWNpbmcgY2F0Y2hhIGlucHV0IEhUTUwgY29kZS48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkPjxjb2RlPmRhdGEtc210Zm0tbGFiZWw8Y29kZT48L3RkPgogICAgICA8dGQ+dHlwZT0icmFkaW8iIG9yIHR5cGU9ImNoZWNrYm94IjwvdGQ+CiAgICAgIDx0ZD5zdHJpbmc8L3RkPgogICAgICA8dGQ+VXNlZCBvbiB0aGUgZmlyc3QgZmllbGQgb2YgYSBjaGVja2JveCBvciByYWRpbyBncm91cCwgc3BlY2lmaWVzIGEgaHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIHRoZSBmaWVsZCBpZiBub25lIGNhbiBvdGhlcndpc2UgYmUgZGV0ZXJtaW5lZC4gIFRoaXMgbGFiZWwgaXMgdXNlZCBpbiB0aGUgZGlzcG9zaXRpb24gcHJvY2Vzcy48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkPjxjb2RlPmRhdGEtc210Zm0taHVtYW48Y29kZT48L3RkPgogICAgICA8dGQ+dHlwZT0icmFkaW8iIG9yIHR5cGU9ImNoZWNrYm94IiBvciAmbHQ7b3B0aW9uJmd0OzwvdGQ+CiAgICAgIDx0ZD5zdHJpbmc8L3RkPgogICAgICA8dGQ+VXNlZCB0byBzcGVjaWZ5IGEgaHVtYW4gcmVhZGFibGUgdmFsdWUgdG8gYmUgdXNlZCB0byBkZW5vdGUgdGhlIG9wdGlvbiBpbiB0aGUgZGlzcG9zaXRpb24gcHJvY2Vzcy48L3RkPgogICAgPC90cj4KICA8L3Rib2R5Pgo8L3RhYmxlPgo8L2ZpZWxkc2V0Pg==]]></data>
	</file>
	<file>
	  <filename>/doc/TODO.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[RmllbGQgVmFsaWRhdG9ycwogLSBCb3QgZGV0ZWN0aW9uIChvcHRpb25hbCkKCkRpc3Bvc2l0aW9ucwogIC0gU3RvcmUgcmVzcG9uc2UgaW4gc2Vzc2lvbiAoY2FuIGJlIGRvbmUgaW4gYSBVRFQgdmlhIGFueSBkaXNwb3NpdGlvbiB0aGF0IHVzZXMgYSB0ZW1wbGF0ZSkKICAtIEZpbGUgZGlzcG9zaXRpb25zCiAgICAtIEFiaWxpdHkgdG8gc3BlY2lmeSBmaWxlIGV4dGVuc2lvbnMKClZhbGlkYXRlIHZpYSBhamF4CiAgKiBWYWxpZGF0ZSB2aWEgYWpheCAoRm9ybURhdGEgcGx1Z2luKSBkbyBub3QgYWxsb3cgZGlzcG9zaXRpb25zIHRvIHJ1biAqCiAgKiByZXR1cm4ganNvbiBkYXRhIHdpdGggZmllbGQgbmFtZSwgYW5kIGVycm9yIG1lc3NhZ2UuLi4gYWxsb3dzIGphdmFzY3JpcHQgdG8gaGlsaWdodCBiYWQgZmllbGRzICoKICAqIGFzIGEgc21hcnR5IHBsdWdpbiBsaWtlIHtzbXRmbV9wcmVzdWJtaXRfdmFsaWRhdGV9Cgp7c210Zm1fc2V0X3Jlc3BvbnNlX3ZhbHVlIGZpZWxkPXh4eHggdmFsdWU9eHh4eH0gZm9yIHVzZSBpbiB2YWxpZGF0aW9ucyBhbmQgZGlzcG9zaXRpb24gdGVtcGxhdGVzLgoKTGFuZ3VhZ2Ugc3RyaW5ncyAocGFydGljdWxhcmx5IGZvciBleGNlcHRpb25zKQpTb21lIHdheSBvZiBjbGVhbmluZyB1cCB1cGxvYWRlZCBmaWxlcwpBUEkgRG9jdW1lbnRhdGlvbgpVc2FnZSBEb2N1bWVudGF0aW9uCiEhISBIYW5kbGUgc2Nhbm5pbmcgb2Ygc21hcnR5IHRlbXBsYXRlIHZpYSBhIGZyb250ZW5kIHJlcXVlc3QgPz8KICAgLSBwZXJoYXBzIHNldCBhIHNlc3Npb24gdmFyaWFibGUsIHRoZW4gcmVuZGVyIHRoZSBwYWdlIChub24taW5saW5lKSBvciB1c2Ugc2hvd3RlbXBsYXRlPWZhbHNlIGlubGluZS4uLiBhbmQgZ2F0aGVyIHRoZSBvdXRwdXQuCiAgIC0gcGFzcyBhIHJlbmRlcj1HVUlEIHBhcmFtLCBjb21wYXJlIGl0IHRvIGEgc2Vzc2lvbiB2YXJpYWJsZS4uLiBpZiB0aGUgdGVzdCBwYXNzZXMgdGhlbiB3ZSBqdXN0IGdldCB0aGUgcmVuZGVyZWQgSFRNTAogICAqIE5lZWQgYSBQQUdFIGlkCgpGb3JtUmVzcG9uc2U6OnRvX2pzb24KLy8ganNvbiBlbmNvZGUgdGhlIHJlc3BvbnNlIGZvciB1c2UgaW4gamF2YXNjcmlwdC4K]]></data>
	</file>
	<file>
	  <filename>/images</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/btc_qr_code.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAALgUlEQVR4Xu2d4WLbKgxGb9//oXfnbGtrjMuJJGzHOfsthPh0EII02cev3//+858K3ESBD4G+SSZdxkMBgRaEWykg0LdKp4sRaBm4lQICfat0uhiBloFbKSDQt0qnixFoGbiVAgJ9q3S6GIGWgVspINC3SqeLEWgZuJUCAn2rdLoYgZaBWykg0LdKp4sRaBm4lQICfat0uhiBloFbKSDQt0qniykH+uPj4xKq9r4q2YuNfKWSjsusncZLxCVrWvxk4iVxUBsaL/En0OA7wgJNUIrbCDTQjlY8IqZAA8ETJiQH1L0V2gpNWZlmJ9BAWiv0WCR76LFG3YtG5Q7shZBpCSpjywBylQ1YqUcmVwC1rskhLcdVRKLgh8VMvPAIdFT19TiBBj00ldoKPVZqelGp/imw2QFnjrHZsQm0QI8VABYUVGoHpuz3b7YcQ+mm5+CsCh2tZplek4oZjW2Yzb8G9E5B4riyHpnYqJat3Wk9NElWb1EZkQS6uUB1ThSqLwGO+qIbnMwp0J1LYXSzEcEXG5pAEkcGmtkbPBMb1dIK3ShARY8KTE8Zetlt7Wj81XZEj8ycxH9XM3vo7X9gQCpjVHAr9PavMemJRTR/q5YjWgVnV9kM5JkqaMsBtsiriRStxrSqUP9RfwLdXHTfqeWwQvvKAWrya4tEKyi5jGU2jBX6adS6A96qh65sh8466gn4mXXSdRH8qC+yJjLfYiPQwXfoTLKqgdu8xSY+MKHrIoBRXwLdqFkNCGlDMsmqjlegvxSwQluhV/uBblQrNKiqs0XKVEZyKcz4pyCR4/mIOGbnivjvXsLPeraLBkxfEkjiMzGQtmTPP40tOkfGPx0b1Y5utrB/gY5JF4VtmY1CE50j45+OjanW/3GbyjlP66Gjglihx8pRQGZXyzNyJdBjProW0epphb7pHycFOcJw0SoVjUOgY8rNPhUOqdCxpedGZV4NWtErfe1VaJro2bHlVI+Nriw+Ag3eoQU6BiodJdBAqUoIK31ZobfJE2iB/lSgerMBactNBBpIWpnoSl9W6Ber0IC1y5tEXzAy4NM329aues7LJ2cQYPml8NUFWeIX6NfNokB3cifQAv26Cgj0vXJX/cdJd1DHCv26WSxvOegnXtFLULXU5MkoCng21mhs1RdFktOMRmSdVEuBBj94nkkWTUTPjiSawLZ30SX+6diMRjQOoqVAC/SQE7JpBLrwMjbMyA8GpDpkknVGbLYcGdWbsWQ37013BjgCPU4+yWkmdyQH4yj/WJS3HHTiykshFYSKTv2RtRIYiJ9/NnQNrU+6psp4aaw0NqKTQHdUKhUY/ugLSdbeBY2MpWsSaKImtKE7urL6RF8X4JLK/yPSMzSim6HVhMYa9d895a/0wQoVQKDpdvqyo9BYoZ/XdneEQI/FPEMjuhnepkLTJFQKF/XV61Mzz2CVFa+6h87khYzN6Dbe2n2LQy6FZPFLeFEIZ0OTSczs2Gji6RronYLklM4ZzftpPTRZvEAzNKmW5J5BfVEwo3MKdKPc7CpIE5qxYzjP//KBFZpmAtjRikEqQfc4Cr4J07go0BQasobK6raXosqCUenrtJYDsPwwoeAI9JcCAr2m4ZBLoUCPFaBgtpuejhtHsG9RWVUrfVmhbTlCXFdCWOlLoAVaoJ9VgO7AaL/8bDzf7enxTI71TPz08kjs6JqobpX5I/EvcVWuobyHrhSEJoHaUeEEeq0oBZNc1ikfNKetnUB3lBNogf5UgO7AzJEd3b1W6LFylfmjlZ3mZRz9hG+sVApCFvCMDRXOCm2F/pGrKOQUQAp19FSojoPGS+zomugaaK42vSt8QYr6J1osNuU9dPdtMLhYmgS82E4cZGx1HGROaiPQa6UEGpAj0L+GKtHKS+2GE+4YCDRQTqAFeoUJ3ZXkMgb42zWhx3PrQKDfGGgKLwGT+qJ2ZE56B+jZ0WcqGsfsjXSGbtPX9HuC8fajGVhumfACSFxSX9SOzCnQdTjMzks3VwI9xpy2Klbo5sWhsLiNs/THovxSWLkrqS9qR0Vp7QQ6ptzsvFihY3nB36SxQr9JhZ59gSq+BmzCpZUmU8kzvXvlq0zlGip90Vp0SMsh0GsF6AakQAj0lwICDba+FXorEtmUdEMSXyBNx10KrdBW6J+AFOhGnUpBaC+buQDSeGmFs+V4kZajOvFRfxRe6p9uGnrMEju6BnqakjnPsLl0D00BoZUs6o/CQP0L9DzUBbqjLfkjKXpRpKmjm5L6I20InTOzUaPxRscJtEAP2RHooUT932IglTFzXNPEkDis0CDJJ5hcukJTPSio1N8ZdvT4J61Edfxk8xKbJS5qF12DQEeVKx4n0DWCCnSNjmkvAp2W8OFAoGt0THsR6LSEAl0jYY0XgS7S8YhvrNBQyeWOJp74opcUepHJxJYZ2+pLfWXyQuY44gOpzdoF+mOT1zYRAr39nqFAg3JAqioRcpmK+LJCg6TsaEnyYIUGX0AnQgr09tRh6PatKJjtaDqOFh+yhtNeOUhw1CYjHGkniA2t9nRNe/4INM/MEbWlhYX4F+hGJYEm2NTaCHStnitvAj1R3B3XAj1Rc4GeKK5A115ISKoEmqhUa2OFDvS99LKQEZfMUe2/8pKZia0W8bg3kgPq/bRXDlJV6UIzSSVzVPsX6DWeJAcCDRUgYgo0FDNoRnJAXVuhCz/M6YlOTqJlXNQus9koJLPtBLpROJNUIma1f1uOF2o5Zu/mjP8oSAT6Ja6o/70KHV0rjYP6r/RX6asXf3nLQUU6w46K2doJ9PgvEmk+aQ6ov9ZOoDs9tECvMamEsNKXFRr+FwkCLdDRE+LQcbQ6CLRAfyqQeRGopJs+g5E5r9RDk80W3bhnPR9SfUmuyntogR4/SVHguj1i0zbRjTvbLpN3gQZblSYQuCr9Otczz3sCTbLTtEe/E1/3Py3uvMU+H1Z+hEDXnRTkRLFC55n90YNAC3QJYmQ3l0z0zQmdk9ptHus7z310DZmNlRnbxpc5iKO6kZZp7yJK9d3k6oiWIyMmWRgVnNoJdNOXwvf7ylwRX90NI9DjK0R1f0j9WaGfx/qQZzsr9Lji9VIn0AL9qQCFgWw2WlGroaRrIGkn69zzE23V3qqHjkJCk0ztKIQEGpr4jB257EW1JWv8ZxPdIHTtz8Ty3fa0liMqOgWV2gl0DB2BbnQT6LUg0Q0YHRfD+GuUQAv0pwL02CWbXqCbC/dZz3YkWbQdqARkmXN29amMV6AFenjatpBUAjic/JsB2VjRwrAXB5lzGUvmpb6e0WRk66Wwo5BAj7AR6I1CZIdfpeWwQm8zQfJnhR4XhvAPstBjstdDC7RArxSovLhQX5nq0AJM58ycKGAvP0zIukj1pL724qJzkHWRNRE/j6L1Tq8cWJTg15wEmiq8thPoRjfaElC5rdBjpazQAMKxjPEfNSS+/9kI9FgtgRboTwUyMJDjmfonvuyhC7/dMK4TfyyqWw4yL52TwnVE/03WRSEnpxiZr9rmtEth5UIoXGfMKdCVqo99CfRYo64F3UQCHRQ4OEygo8LB1kqggwIHhwl0VDiBXilHe++g3HjYIUDjaAoN6ad7xI4mK9OG0DmiEtHYev6jY6Pjomt8PBAc8UlhJsDoWALq4pvYUdhoAqlddO2VUD4ggadRO290XGbdAn3DX/AX6MyWaMZmLkGFYaDKa4Ue/8iOFTrxO3ACXanA2lfm+I+OjY7LqFDecmSCcawKZBUQ6KyCjr+UAgJ9qXQYTFYBgc4q6PhLKSDQl0qHwWQVEOisgo6/lAICfal0GExWAYHOKuj4Sykg0JdKh8FkFRDorIKOv5QCAn2pdBhMVgGBziro+EspINCXSofBZBUQ6KyCjr+UAgJ9qXQYTFYBgc4q6PhLKSDQl0qHwWQVEOisgo6/lAICfal0GExWgf8B3hFzxmN1vUkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAwHpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjabVDBEQMhCPxTRUpQQIVyvJyZSQcpP6jc5UyyM66466wItNfzAbcOjAycimTNORhYWbFaIWGiDo6BBw+QW3ZedDgNNIk+NyX7/UOPZ8DcqlXpEiR3N7bVUPZ8+QpC76x31Ovdg9SDCKcRPaDOb4WsUq5f2FpYIXNBJ5a17Z9zsentyd4hxEaRgjERzwaoLwKqVqhxt4c0FDFGEg+zgfyb0wF4A9w0WRJVhY3rAAABhGlDQ1BJQ0MgcHJvZmlsZQAAeJx9kT1Iw0AcxV9TRS0VByuoOGSoTnZREcdSxSJYKG2FVh1MLv2CJg1Jiouj4Fpw8GOx6uDirKuDqyAIfoC4ujgpukiJ/0sKLWI8OO7Hu3uPu3eA0Kgw1eyKAqpmGal4TMzmVsWeV/QhgCGMQJSYqSfSixl4jq97+Ph6F+FZ3uf+HP1K3mSATySOMt2wiDeIZzctnfM+cYiVJIX4nHjSoAsSP3JddvmNc9FhgWeGjExqnjhELBY7WO5gVjJU4hnisKJqlC9kXVY4b3FWKzXWuid/YTCvraS5TnMMcSwhgSREyKihjAosRGjVSDGRov2Yh3/U8SfJJZOrDEaOBVShQnL84H/wu1uzMD3lJgVjQPeLbX+MAz27QLNu29/Htt08AfzPwJXW9lcbwNwn6fW2Fj4CBraBi+u2Ju8BlzvA8JMuGZIj+WkKhQLwfkbflAMGb4HAmttbax+nD0CGulq+AQ4OgYkiZa97vLu3s7d/z7T6+wGtnHK+JIARCwAADXZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4KIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgIHhtbG5zOkdJTVA9Imh0dHA6Ly93d3cuZ2ltcC5vcmcveG1wLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICB4bXBNTTpEb2N1bWVudElEPSJnaW1wOmRvY2lkOmdpbXA6N2ZlOTJkYTYtYWZhYy00ZGI2LTgxOTctZGVjMzE4NjA0MjgzIgogICB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRhYjdlMDE0LWFlYmItNDE3ZS1iNDFkLWIxNzNlZTI0MjQ2ZCIKICAgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjBmOGNlYTQxLTJjZGYtNDMxNi1iYWVlLTc1MDFhMDVkOWVjMiIKICAgZGM6Rm9ybWF0PSJpbWFnZS9wbmciCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09IldpbmRvd3MiCiAgIEdJTVA6VGltZVN0YW1wPSIxNjk0MzgzNzEyODA5NTM3IgogICBHSU1QOlZlcnNpb249IjIuMTAuMzQiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lNUCAyLjEwIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDIzOjA5OjEwVDIzOjA4OjI4KzAxOjAwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAyMzowOToxMFQyMzowODoyOCswMTowMCI+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjY5MmFjOGQ3LTM3MmQtNDhmMS1iMDk1LWE5NzhlNmZlM2QzMiIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChXaW5kb3dzKSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMy0wOS0xMFQyMzowODozMiIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz6ijVydAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5wkKFgggTiR2jQAABLFJREFUaN7tmV9oHFUUxn/3zs4mA7sxiaZQIRiwohGJaUAfhL4UqREECwVLEAMqVfoQELTEpypCENS36ktBhUKlwT9JQSjNQ18KfaigpQRjYsAWaQtNDSZZspudnbm+nIXLZDc7uzvbVNgDw87s3DnnO+fe+805Z6AtbWnL/1pUUoo8z1OFQiFrjBkEHgP2RYYsAzeVUgudnZ0b+XzePBgRUOoh4AhwHrgF+EAImMgRyr1bMvaIPLurwCeBRSCoAtY+ok4F8uyJZhypewm5rqt93z8EfAE8benYAq4Dl4B5OTeWnSHgGeCgnHfIPQP8Dnzguu6c7/thK6PeAUwBm1YkbwMfA8Na63QtHTJmWJ65benZBKbERkvA9wAzQEkMFoFvgIEm1A6IjqLoLAEzYivxyM9Y6/geMOY4TqpZ3aJjTHSW9893Wms3EfCu62pZNuXI/wWMdHd3J0bBomtEdJdnYkpsNy2j1pq/J4ZaJSPWTGyK7aapct5a82PlyGutXa11OqHDtWZizNoT87UottYymAQ+lXHfOo7zThAEJWAQOAtkEop8DngdWHAcJxUEwWngTXFiAviq0egvWlRps827Fd60zR5vRdipTLGLO81CVRYxxrxo5TOngRs2nctvKGnBPw1G/mHgVdFn8/8NsfkRsE+w/BjbAc/zVD6fHxfFW8BsFQBbwHu9vb1/N4J+dXW1XzaqV+H2LPChODbued5PsRNApVSXJF0GuFrhDXvcYor+ODpFxyjwiPV3v8VwxyuMvyr3bgmm7XqrLJ9BYI9cXgrDsNjMDtVap8Mw/Az4GXg/zjNi87Jc7hFM8RwAHgecMpXFBZrJZJTWuqMK+Akgb4GKI78JBkdqjNgODAh1BpJVxuPCXO5oGIbXJOOMgt8EjmUymQt1OHBdMKgKBdLOLGSvqDqTsyeBaeCNMAxHI+Cnc7lcPfpqjm06GYts/i+NMc8CR4VF3DL4bDY7vbGxkXgZGSdZip20GWNySqljMgPpMviurq5GwatGZ2DZ2jxD9eyDshPGmCXgSjabnVtfX2808kMWmSzX48BN2TwpKQN3ilDKdV0n8n8e+ASgUCho162c2vu+n6oR5f1yvySY4jmglFowxtwFHgUOCptUehd0AD/4vr/eYIS7IilElH4PyOVdwRS/xyM5jgEKUsPa8nYLkrnxiI1hsW2A84Ip3gxIznEGeEUidBi4Zg25CHwPZBMikw3pZthyWGyHwJlqeZDaKZ02xvwCPAHcAV6wM9K+vj4Vhsl0QLTWrKysmMj75AqwF/hTKfWcMWat3nR6DfhaCpq9wEmroIkaRAqRCeCpGnj/cBznVFlPpSI/CIKTYtMAp6qBb6ik7OnpqTZrfcC/Mdb6mozdJqI70ZIS4GUpJjwpXA4Bv26bylTKKZVKrwHP10rQUqnU2VKpFFQp6uek0MlLz/VCU+sznU5XbKvsMBN1i+ja1lYR24lssg7Jbcx9aGwZ4Fxija1Ia3H2PrQWzyXeWozMREubu/VGXjWyJ4rF4kvA51Xa65elkqrUXt8PHKjSXj+RTqcvFovF1rXXK1DsJLBE4x84loCJB+FLza59Ymp/5GtLW9qyu/IfSRoiA44FP7IAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/pp_button.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAJYAAAAZCAYAAADT59fvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAABIgSURBVHja7FtpsGVVdf7W2nufe++599zp3Tf0iDTGspyCE5iYQEAraiqCiTFKMEqp0ASJjUNAUSEhiKBBItIgkwPGxMJobFJliEaNUSsRKKEMFQWTboGmm+43vzufc/Za+XHvfXM/upumlZJd9ar6vXPOHr/1rbW+tdtu2LABazVVRSYTIMxlQALsm5hCIZdFO4kR5vNot9rHDFWrp4v4U4noeAA1AIyn269a66jqfd6nNxhnv2wPtxcm2pLNZN6TDYK3ABIREVS1Q0TTANKn9/lXroVEdIpzwSmi8tbDApbLBFtzhfxfMdGoqja9l1uNMXdMTk79sBhFjSDjVFWf9JUQrfY3hog8JU+G+ak5dyJCnKTGsvljMG4m0IUHDywFRLU0VK1ca615CzHDi9w8PTP78Ww287N8GOJogGnQvCjE+yXoIgDtThP5MAdm05v0U6SJCJrNFgqFPIjoKQUwEUG73QYR31rIh5cT0ZZDYawRMny7JT459emubqt9XjaXvfNobQD1YZKkHkQEL4okTkCLgUWE2dk5ZDNZMAOiANNK61puAKv9bTWrPNA7az8DVnskqoD2viUCRAUPPbwbYZjDcG0IhUIegC75trdWhf6S2UvqPYgJTLQFQJWIHrHMa8fZaZpCgQKYvwTFyVD8p0/9mc1Wa1cuzB0VmlVVpF6QeoGowhoDAmrMzIvdIYFgrUkBtAB0RBQCgJnABHgRdLsx8rkcFAoFQVUAERhjeuDQlT7W+xTdOEE+DKHiVzxvtlrIZDIw8yxJ84lPmnowM5gJwMJaehhRGGPm12mtCVqtVrx7dwdRMcL6dWPz3akqkjQFE8MY/oW6TWaeN24RBbNFLmtgjXkHEYI4Se60s7Ozax5qpVJGxgVXE+gUhd4FkdMATNBqAc4RnryKIElSxEkK1d55MjMION05+xlnjRsc4oDWRoIRIaI9Cr0ZwDU9qlYQM1Lve+4mF/YYg4DUC36+6+dYt24MURRBRVbEbj71aLbayId5QHuABBGYCFPT0+h0OqjVqmAyACmgBFBv3CT1ADyYCYELVmObsgKnM5kXbznmmMuZaH+z1UKQzUC1T3d9RvNeMDU7g3a7heHhGqJCYd4VHS1AAcBcvY5Ws93bQwBhPodCvvAiQN8FUMd7+bSdm5tbs7OxsZE/CZw7R0QeU5EzoJh4MmOpAWDr9QYmJifRarWXLOzYY5+xyTm7XVWrq4Gber6vBNAnmPEtQH+si2Kt5d8QgCRJ0Gy2EEXFx53XggyzIMesZWQDV7h8y4joBUR0NhGdxsybW+3WGa1WZ7+qotvtYjifW+FiB+M0my00mw8jigoYGqoeFYARE+bm5jA+MYVWq7XsaSlfKZdu9Knkxculxpj77cjIyKralaqCmZ/JzJ8kIqRe3tntdncyM+I4BhH16f3IgkpUsWfPXszN1ZccWv/fzMzbAQzENwHwE1XNE9Hm5fqZpGmGCDCWMQDXWnHS4+l5h9N0WR/MBBCvZ6J/BrCZiNBoNC6Ok+RLYT6PZqMBJoKukngsB1m93kC93nhSATbYlyTxaDbbCIIA2Wx2HvREhGJUuFwFLyHm7yZpchUA2KGhoVUoj0DEjoAbAa3V6/XrZmfrX/XSD5y9h4ggk8ng8WK0Q6HYOE4QJymiqIhisbQM6IJ8PrzAGvNaXaCLy5nNFRNTEyYMw0tyudxFg8V673/6yO5H769UKiiXIwAoGGNemc+Hv6m9A3Ug2g3g7wDcvejQhgFsBWABdKC41RjzrHwYvg7QY0E8C6JrSHE/AKgoiMgCeAURXg7QMSAUAQgzTTtj707S9HMAugA2AXgbEb0CwOb+2tqZjBvO5nK/Z4z9eqvRBBEZAL8N4HeI6JkA8kw8Ezi+W0Q+C6C9GGQDgIVhDrWhIRSL0RPO0FeEIgBK5fLSd4yBNeZ0a/iCNPVTk1OTW5Mk7RIR7IMPPrjCKoZrFYyOjL7fi55qDN87Mzt38fT09IrBgyBAGIZPGFCDjellfCvZIwxDFAr5E6yxly18a76Tev8REYlzYR7WmtximlDV62rDtXaYzQUi2MpM51s2z3KLZBECYIw5Y6Q2/NJsmHuoF1/RJwGc0e/pYQVOMda+Mu8caz/QU+h+VXwAALK57GsyQfCX1toTela81NqdNW83hnd6L98kopsAvJqWMkKOyJ4/OTn1hVKpiFyYfV3RFi601v5GL21c0OeM4bOKUVQzxlx2oLS/041RUO2x3mGA60ChyOIz6XszbNly7EZDdIOqQlTfvX//+AODd+wBej8ZRB8G0IqT5JwwDOurdZ7P55EkCYLAHbK76LmAJiYmJ1GvN9Z81xgTDdeGbkzTNN/XeCb37d9/rvc+zufziKLo1wnytsH4zHxPu9nd3u12n1eKip8WlZf3u3pEVXcCOAFATnsHMDw6NrI+Sf1DqvoOYjpj0dAbmLBZF62NiFS9fHPPnscwNjqyLSoU/rb3TBtpmt7KzPcT8KcgOqn/QZOJf0LMZ0P1VcuW1gWQpt6/1Tn3P9aYz2YzwVmqgIr+RKGfJ8IwQO8GwCKCfCF/TJjPP47GJwAJDiXBGoBFVLHn0b2Yq68MRRa/S0TMRNvBWAfF55j5ttHRUUjPOGGPO+64JYgnoqqz5ibvxaWpv7Dd6dzjnEN5GQ0OWqPR6KXhUOTzIYzhgwKVF8HDj+yG9/6AG0BEqJTLKEaFK0Xk+IGkoJq+e//+/Q/2F5kplYrXiUdhkP1Pz8y+2Vrz0mqlskNU1vXBeJWofoyJp4jwXwBO7I/xUJr6+1T12cbwxxdF9d/3qVwq4tcHQfAF7WdnXuSLnU732+12C0y4S1Rfl6Z+c7fTuTsXuntB9CKAi72yF2Ou0bh+bm5ud1Qo/KhUjB4R1c19Hesfmc1lXtKWszxTKZe/oSoniShU9DNQ/DlIWwBeCKIL5g/Vy53yeJqb9qNNOjgDj+MEc3N11GpD6LQ7ABE2bdp0QACqCsIwt80Yc5qk8oAXeS+IUK1W59+zU1NT8wNUKxVYa64homelqd+xc9eua9M0XfXgRQRBEKBSKSObDQDtAWsQ+B+MhYj3azKdAhgdGfkja815vm8J3W73s3Eaf6EQFRC4AKVSdBVUf2uhJOLPA2k7m818zxgz3NN/kg+S4golhkKPJ6LnDtbcbXc+2u52O6VS6RZAB9bz76rp6amXOSbePu9+wTvn6rPvCTIBhoaqGS/StooqM23Mhdk3GubnqqK8CJw/arWaf62SgInOBNHmvq/c5dP0nXv3P7bfBc6MjQ5/Q0ROGiybiEogXA8Qg/ASAKbf4fe9yo41NnUhRj6UxEoXzkChyGQySNMUzWZzpZcKc4gK0UuNMZcbY+LHxvedMzE5ObUcI3ZiYmL+l2q5/FYieosCjyrwTlWVnjK8zL8SYWi4hmq1gkzg4L0cliscGRmGFz0g8CzzM5TwqYGFeu/vTUXOD2yAYlREMSpc4pzbJiJgZtTr9SuMtbeVisUfqupwXxX+2q5dP79ibGwdwjAsENENQI/dVGRHs92+0Vp3OTO9XHpz2Zsm6VmP7n10bmxs7I2ZTHBen8nTVPw5zVZrPJvLvn2oWt0G4PkKBRPV09TfCRCYqO92qRHHydahobDubPn10MwFvXlSEneTc7txsj+VFKVc9BEondrPH0VVmwD+YEFlRUxEdQCNbhxfICLxgfbUWgNnzRNOpqy1aLfbmJmZWfnMIKrVhm5KUx96kQ97kf9Y7dxtz8UpgiB4NvfYCqp6HjM/umXLlhUsRQQYZrjAQkXnQXVIKXgfnMPDNSSprAAkE4GYjWO+3quM9X160o271zuX2eiseX7JmrOY+fcHoJqdmb1yYmr6g5s3b9wK1RMG4QYpLl2/fgT5MD8sojcT4WV9XeZ7SZy8OYqiU4MgeL+Ih2Gj3SQ5f3pm9qFMJrfFOXftIM5oNBofBfG3hqqVTwfObe3v049F5f1xN/mXmZnpF4yOjn51vlKQph9Kvb8noOxmEfMpQIiItNlsXWaM/UbgHDasW/885+w20YFh+vd24vRWBpExXFHAE8E3my1jreuoYgKryCbWGjjnYM2Rua0kIigWI3S7nSXBe6VcRiGKrhTR44n436ZnZq5yzmE1ycpWq1UQIRPmsjcCVKnXG9c0mo07FpclRASZIEClWobpZ3Lin5hW0tPGPHbt3NWrNS0KEiuVCtaNjb7Pq7xmERhtmAuvVtVAVbPMpldjE9mnoIubrdZnhqplOGtfP9BxVJWMNWdGQfQqEX0bMz27//cv1+ca5zjngmzG3SLiDRNjdm5ue7vT+Wo2l7XFqHCDqo5or4T0PVVcmg3ce1zgtvaDdUmS5KJ6o/mDaqWybXRs9AMEGu33v+PhRx65duPGjURs/gbAusEyjDXPtNadlqbpHYD+IYDsgkOiRsa5YQadRkxnKEEN80/HxycuEcFEtVqB9x6D7NQaRuAcbJ+ljpRwLSKIogitVgvNZmveyw7CksT78cmJyXNb7XayButZGMMfENGTDNPdM7OzH15MgUSEarWCqFg47BT28dhrecbBTK9g4iu9+qUxqWqR+nK2qjRFcPvU9MyVURQ9GEURgiAgEYkXKdYM4EKReVe+M0nSqyanpm5qNptm08aN/0REx6oqwLi30WxcHAQZRIXCJar6uz09TGb2TY6fXa1WmJkvmo9FFOyc+1q5XGoAWiaQ6SUWOrX3sX3bwjDUTCY4SUXesGht7Fxw5sT4xNVeBFGhkA+CoJdlAQTim4l61UHtlaLuAfR2gPYCMr9X1ponBVDLwQUQhqpVGGYQ03FKuE6hUNVt+8fH/29Nd+q9f17g7EWq2vSiW4vFYtNa16vLEaFSKSEIAojIEV1AnwmwcdNGNFvt+QSGiIJKufQmL/4eLL0wSCA009TvipPkx4boX8H8gIggTT327N2LNPVayIcf2rRpQxagF6sqE2hGofeKyNeNoa8AmFRVjI6OnJzJBJtU9S4AcbcTX1CtDtWDwG2B6kkA7uqFYX77+MTEA1EU2SBwOwC8QUSImfYpcBcR/b2qnkpEJ4PA3U78lU63+9BwrQYV7QD6v6oYAeCZeY9PkqvHx8f/W3su/5ZiMXqOqr5MVAMiEiJ6DNAfxnH6tUazeUetNiQi/eK7tcgETy6glkkKGB4eQsYGNSV8UVRHkyS9MU7Sf6hUKvPSwqrAMobPBZAF0UdVcW8URSgWiyBSUB+53vsnbfJhmEPgHNqdLuIkAROlIHqXQpNlFREiUJqkKZqtVq980dderGVksxnMzdUxV6/fJyKvBHFlamqaS1HUsdY00zSFsa7/vgMR/0ChJypUoJA4ScQ5C0B2K/AqAL4/x5SNgRdJRfQcABftfWwfj47UWsbYdv/ywTf7JRhK0iQpRhHCMIQXucswXtBqtfPduOuHa0MtiHaNMYMC7s8M0WvHp2dKrU7HhdlsUqsNdUTSrqrOu72oGIEBZDPuoLPuI3U+3sux3ugXVfVEAN+Jk/R9cRyjVCqtnQAEzr1aROJWu31LT013cM5B5Shd+lGFcxbOWcRxgm43FkDbBxJhiKiXPNje4VTKJTATNm/aiEajicnp6b61YXrpdz1hhxkIwyyYqLs8o+prcPHSRIKxYf3YvAgMLOu395MOdsswI5fLgmneKtr9n968mLBp0wYEQYAkTtAP3GdXxiiMfD4EVFAuRkf1FsOC0YevMdZsB+FYqH4Xqm8C0DiYi4hWVdcDmFLRncYaOGtxtG+SDSywB2q7JggzgUPgimBmGF0o1aoqoqiAfD4P1V72OlQtz1N1ENj+xTqg0Nfb0IttAAIygUP/itQCpFVhLCMK8pBFhrZubGRRjXShPARV5HKLCrTzJakswjALEQE7g0JQgKrCOYfUe1QqJZS12L856gEQjDHIh/aoMtSiUtuvEdFfRIX82SqCNElvY8K7iGn2oCULADuJ6Dn5MHx76v3tROT1F3RF8WDHPdCNzYEVDcB0IP+/liC7eiCrq9Y4D3YdS+ahGLDUkufcj9qPxI2Kw0vSqQDgxGwmc1qYzb6JiPLe+31pklw6PTN342itekgXva1CP8bEnwfjFsf2KlW0DqoW8HQ7skb1ixpXARc4W61WKqqaNYYhonVV3T4zM/OJjHU7D0tkBeG2JIlbxtg/I6IXovf/Ap9uv1pNiGifqt5HZL49PTO1IxfmHpInwJj/PwA5xrq/dBP+BAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/pp_qr_code.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAgAElEQVR4Xu1de5BeRZW/E5SQBAmPEBIymomQGsBHJoCWpVZlklDqAruwkCAg8jDArkAVssJqlYRkCP6BgkqVUCWPFcQlEIIGV1gVk0y2fFSx6gw+wHVGA2UyQ4LAh0CGoDD7O923+57ue77vnu8xmQncWzWZSd9+nv7d0+f0Oae7LUmSUfyM69PdvTjZvHlTzT5QJ9uSpB+/u/DbPJS2ZXNvsnjJYl+W3i1a3J1s3rQ5qG9zb2+ydPFiO1hkWr1qdbJq1TX2P9UeZO65tidZvXp1bfpQFaNtvUnbaPe4UhP9oHF3L+r2w3J0Qw+73CAobQlo0buld9xn35BuXNGHxrsFwFTpUz8nJOXpBbAWg5j8yQN6NNncuyVZQkBNZ8QA8JpVNfFHdRoAIq/i6QUxu8eTmDSZmzYDgN2L4g8rRzeiGdFuvJ+JAcBucCwQrtYjfckEJvqKDQdMZ54G1I36aCKyZzTp3byFcco2cLVV4IAAYMHjOWAtZFkm2ts2OgEASBwQH7R/LOFKAFadZ0zeYiwZIWCE3I6Qo1hK2BpsOCBbgqnk4hwAsTQhHy077qFlVQXAnp6kB3mL8DfalvQiE5v5Imi3/r3ngKoleAk4YO2PvvU9zNdYmwNyYYvndH9b2Qd4GKVfEIHCD8/8j+fBf0zeqB+1lmCLu5T/QQbEnxkAie1ABqSlldeZry9dgjkAe1Yn12AJ5kMJKklfEAcsAmA6yF50JwNgQNmQzDlScjrXNetZTa4KswQzAKbVgQOOQgbMGlq8BAAE7fyTzp+jtKcn61v2pzyP2XzbWn3vWN3x8EQAvj46asGUtsj+NOWL/h9nMPnxD4E0VhqojRwH5Etr2iB15ZRTTun/7nc3hABMORsHYJ4Dpo2z8VwLzhYrF+m3EiznjmCFHDAJlRCqi+q/RljmPf3SP+qQM4P5I7GFxI1AjDecIMsmiS6UZpQQyMVZ2TajCC5Cfax4bq7zCWlbbpIZu4hx0tbGa45Aykc2CgCOzQNZzCyZS4JJjrVWan2LW1qZbPdPAOCGDQAgQ4WRARejPsa+iANugiyUH25WsOfaa5MeKBctGan9jHsx80BDVuNqcFmj6BQ8PYplXqrCADDP7aSs0coxamjGtWAaglVgCNCtf4gqkzQApI4QBxyLxwJrcwqYrAUadKyEWO2WAQsdO/WfwAE3fDdbSgynDOuj/lN9G0HMagCkflzbc61RRFrxpO0AgFwJacPSvcos87V2eqh9x43ro7rlWILGGwxJ4oCUIa8FtwGAm4z8PFaPigMSMV+jJXiMekHAIvbPZQz6iu0+YLZGbgZn40oDdYeW4A0cgEiTt2Fqa9UWgFiCwaFawQLTpRtKCOOASLR7jUUgH016zMeAvtT50J4frR6KuQq1YBCA5GainZsHwwFjDbrO/tTMjobaJrVyCXZiVfqJxeu9/X8+leQOvm9HXcptHBNnIw64dHEAkFNOBQBJBmQPCdKSFixxwKw30aRzITknFdsERzpXB4lakdKSasHpC/yiJf4av9kd08KWp3okeZSP0Tfl/kh/ZzJgIVKCJZh6YmXAXl+QqiSa5TggZ8seP2nHqTTS+Mg8fTJ2YtqwS/CkiGhMUcmGANiMvh6OyKGXEUDUeE2pbMJIoCW5guPebodEMluVfUAOGJqpbdu3jcxpb5+S/47CyZXAH3NKvw3DCNyzhjadezyRqJ1VqSKRtQnwQn40HIuVvf76L1X+/d+vOpBPQACstAKjjKXUDYDlZknAkuFOZrntNvQ1bQh4pqL0MdJHmc3CaPLcc8+PHHTQgVN41Q6AHF85QOOlqc9ZTKIPwNVnkqMPUtIjSAbk7WVoiQZttOAgDf836NU/VD4nixFnM0oDOBvrPWnBtWQ2l/XVV18d2Hfffefre5HlpD0vK1Pax2mofJy0FJLc5omEl/llVFgyke8/7viPvgsuuGAh75vZwmmRomNMbHyDuQoRjGwXmdieeeaZwRkzZhzpihgOmAKVV0PMYjG3oiAj5SOmUddDXPH1GGpWCSkGIBV+jVgea9JxwLp6YTeEQ2CRFhwuwdk2DJMBhXbSDz63o6/tkmwLXuWLU/35pVC2mJDWGsts999/f++yZcu6AwC2SM60HFCn8RJniwHzzM5n+mccOiNvC46AFXNAaalW0Rsdfh0AjFcqlRJCDdglOCxuBMg8qGv2x2q3IbBySgOqJSUkXqrzFRsINgzAWPkhR4TVq2m5zR4LrGwJpjekRFht2dLDAjXklPTmvnvX9S4/Y7nXCGRAq6ZPzETgiPfochndksmBhc4RAA+ZMSNw4sg5IyCf4bKRFixxVM0oRAzpZEACYIQ04oD7NArAzQGXMft7kfOA2Tgm7xWP+ZTfcTnH/m0A6JL9a9ddU14Wjvi2DmWjDeKYi1UH4OqgWpMv0qDXrQMAlwOA7kE3rsUSvMrlS2WkSFQK5lJ8l9LEg4ONNT/SdH9PACCW4EB5ywEL7dAccCUkW6q3pHTVQM9+q9ISrOSAeSWEOjKpTg5IdKMv1rhFMWYac0B6ZZwHeD40mJMVke/oo44aeeL3v/fCdDZh9i/3/+r7iostBZFR2iLJWSQiRAT/Zf+hP+9dt65yxvJlB/LBWoDgX2adiJdvKksgpQ1rjy1TMPvMaGTkShYsrRLHIg6InQNyvODLFTjgCJbgTAmROCVKWBkw+4aoQ4ESosSfYQPSKqreiCYBkoHGzJlQuFZ/DADJzWojA2AKrGAf0AFQ0Ja9/14Kmre97W0DL/71xZpKiAh80y6Im1pg+KTzMUiynYrmqHDtPWv7zjzzzEAJkcpKbWgsJpJsZzeiCTBussABYxsv3m7bvn1wzuGHeyWE+iW5Y+X3FQWOqiJIfhU1TEwDQIveaAluAICZcpEtwVR3vG/ngMpNZ9S6tFQjWSEDtkFbXBQ6pHqOard/DADJG4ZZKajNov24WrSXlJB8/lSD5st3FW4clEXnYm2UxhD7/tEYcpwSo31m587+Q6CEcJ5COwJkleIzneOADqh1Oq5SO5I1TdIjRLGjJQBMOVvOxBZ7r6AH3YuwvGyCspJSyABQ2GDGay8D1gJDziEVFcaWFQKfkeP807hFgqpYFykh1fonLsEK1zBJGRABk1o4OLKMFkwyIEOg2y90/TSAdkoIy2c4b50AFJkYLaqTNBvRaFwWIPOFa4FAWgolzlZ1qXZOC+G2bT/yGyWEHvf12N/ZMpTXvrPtH1eGtFvigraUldPsRrQDJXc5yr7TuC33Zt26e6GEfLybi3w5JQEJZhO7Z1WwoxDvSWbSXyYKWucBrCapdER5cppxKrPR6mFolJLEcMAZh0YcMPaIdrbl7mBaG/WczsmABoCRXMfmMGhUK0DWAqB2CaZ81hbMlmo/cxnU6K9bbrl55LLLLpvCv+6qvoRs9jkQzN8OCMb+mrVB2y2kHWdQdgCwAHWoDwCSEuFf/vVfKrd941YoIVnWWNExy3zk4h8uQex/0dpk9+gWmcqdTpOXCwEirCRmwzrtMo31tddfG9lnn32YJSTvDUP9dt4wfPy09NNqxJfqmvOeAj+3l0x0FxTZ/BKMFHkTsT4OSJ8fEUzycil0RhBGSAS4b+29A2edfZZXQjyXLXDnz1WXAjCweiCT1ktamoCzzz67b+3atYESEtcnAbBwMlPUS54q1RQJo5gwcebV3bsHJ0+eXKyECO5YtFTXDUD6CJVbeToZ0LDPSWZLwX/9aUlfQVSTW1oDvzwUFv33BJux50vsS37wvx7sP/WUU4P9LLflkudKAp9inNV6oPRYFpemSxyLL/MWLEQDLM+uXymCzjjjjF4oIpj57CFP6tAhVTbjOfYSihSZiEFgot0EUq7sJpv9lQEwmwzDASFTR7sYojeM3dbJJs5bQtL66RdxQOO0QBhg3L0qS0yrM2JcsOLK5twcACkh1mCoI/92xRXJ008/bX6oZgLjgq4um7YDaWl7XS4N6bQlcPXKlcGS9t8PPZx84eovJP2PkZe45dcnnvgPyRe/eF3S1WUZCCU/tfXJ5Mknn7Szmc72lv/ZMgDFYT4f/IknnoiyXzR9ceOlclvxw8fv+k79o+ehhx9KfvG/v2BUHU1OPvkfk+OOO5ZjCOMbNn2cddisdOkbTfbbb0rSMbcjmTV7lu/vBeef3/etu+5ayJeqK6+8Mvm3z342mT3L5qPngQceSNavX5/S0Y5/1qzDTF+Hn95hRv/KK68kr+x+xdJ2mOidJCuvXpkcc8wxQZs3fPnLya5duyyJUrpdddVVydSptNpmdteOuXMH5nXMm8+54kUrViQPP/ww2rT1U/477rg9+QfQk/d3zZo1yeOPP+7nmOhn++qwAKGc5hwY2IG+plOaC4ulcS089lgzHosh12ogDttECb1Zdl82/cN+Loy58H3XLD3NHQcHmaWatk3whXNvcpMPX58hTcqk2tvnjGBPK5QBU+7pJoF+c7uvyOKRJxD8U262BhYOUkyCR6jALK3O0zllSB9ffkZl/fr7jTeM6wttMBuHVEMh9zDW6YmW0j3N4l2lWNu5lYa4YmA6s/WajeiUYzlUPvfcc/CGOSiUAYX9Qu/wwPuVdjccQ9ZfNy6+3kh5TZqTAaVxefoQQQVPhhh2jf5ftAWTxYRvWKcgih1S29vbR7Zt2xa4Fcn25mzTuVo/JXlPG5shlcUSXLkfAOTLqQNgsBIVEI4mMr+XJxeSXPIluTAGoF9aWVAS9XHsXfI12zDoSN4dq1G45cuJHsyxxQSzSF4zscUErlgDr/7t1WwJBtViDZqIa/YQI2fWmKvlTHEoGG7DVB9zzpULZc88+6y+++67dyEXD0gGXMm0ah0VR42/pMYFqqrpLHI03Rm5Y1E/LFC34K9MaLCWFbvqtP5RyoDUcLYEM14cs2Jh+TBfOhNg7ZcfLtGyN4zdiOZLsPdeCdeeVJjO9ugku69fvnNuy+hOWp/1cllt6VxrCWZCuuuKzAGX996/fr3ZBzQPMgcgdysvW4HdJBsKMRkmBGC0XjmS4rcHDJsLvzXjiuG334hOGzQcUDgZQfQ5jOY5m1I2r1z+irQfPka1Kc5snaSEdKDo7++HsDzL/Linvw9pEMRJQHft9iEfCbGURoKpEThR16zZh6HsbOy2b0rWXLcmkDxPPAmKxHVfTLoWpPFGyP/wf0NZ+cIXksdQn5vT+fPnD8yZMyewBb/zne9MPvnJc1JkWTD9aeufkrvvvpt9xG3J7ldGkhEI96T80GSTcnDOJ84xoHeKyVduvDG54YYbAqWqo6MjmTuvw8hXbhfgH08+OVl43HEWZymg7vnP/+wb/OOg5YDp5J+MfFapsYIitTVl8n5JB+rL6DgKZeup5EkoXQ64X2bKhatsN/pOitUO0NM1cdsddyQnQWk4DPR2y/yKC61y4ZQXeoF5Gliw4L2gW5oLFfh8TCEghZEUHZo/R3Nqz86fnXeaX6IDzaUbg5lzzDflcX3jeHFpcfRi+p0KCnVKQPuLfYFuSoP32dw7TdiVCcqHnCwAB3nhBicjoMeZ6SxrDJxhZOOPN07hH5kLTGeMIT1rxh12ZIke26C9IpGybeqzUUKgOLCdGWszprgOyaOFkeYbt36jcvGFFx/oyYV3dqtnlZ93qtd5vvilAn1zsqerzlk43ATRb8kU5zgWZ0Dee8URxHLAkRmHwBsmw59wOJF9GR8cIMw+mzv/zTCXfBkv7kON0aapP9dgqxOMNSNSQqTouVMQlhlExYHyPs6YjcydDeO4Ak0QmaecTEnpVo4LT8cSPVUEO60FTI/5PN0UrL9/Xe/py07v5lzGxB5zF39MrzmTJucEwUJE0TmVY2iaL3ZSzcl2FoDWFsweybum1fOqqW9CAFA6y8UCa3GwVJuwzNzJCBTrsTQDA0YkKibcERZ5CECrVq1k7Fs+CYscFtwRHo6pSF4zVV3yuYc1tUuAXplxRYJwXJ8YHBT7+REAzeY0MM+eWAumCYYSkgMg5fM2Yw1SxigPeWilIUj2a3ZcwxGbp5kcyJBjpw7GMvc19Wa12wWDW1WM4yozp1EOAmDmD2grPhUA/A5ORuDNmWCj6KQF5+DKzLeoLw1KSgvH3jASECir8ZymwCIadzoQ4+kc7Rcaj+hlmUs+DdierNWT7pLaGSStmLRj/5h8Mgd0/JXyqhxSkS9YqtO5qgZAF5ZpSeIm1s142jqfU/M3z2dHIWHGjc8XT/9wVThhsQ2TFQa9sgo5AchK8fSOYQi3tFtPmXBK0IKFEIqH7W56WnNX1wIjKA9DASFFxAm01hKxw+z6UxoJqQ6YS8ligp1+PhLafb/t9ttIgPZi1eGHHz5w0YUXzffAQgc3YuvgOq7UoB/HHH1MgnxJ10JadSzg//Qnrpi0JZdeckmybPmyDAjI98B3vpOsvx9WitSyQy9POumk5Pjjjw/y3XzLLckDyJfRpy25885v9p133nnMFpzVZxSHlD6XXop2l/F2k+TGr6TKj7F6tCUrV16dHHzwwV7po3Yuu/QyWCR+x/oBMKdKg1EGUiXnxlSBcXIhtfu9DQ8O7H/AAfM5UNasuc7Ux60STqkwikf6kIJDj8tnFDZURFYPZ7lZiDRuGaF2vJUsrcukYT68NQ0dpLQ2GI0tHdMB8BG6Dnshl+WzHMzaRLng7ZBtk9Mp8kdnEb9lH5HjKg6JnEK8I2kb3/rW3SPnnXeuiQuWmjVFqnyOwYZ1XNi15frG6qfl0blt8Q8yQALaXHffugpiQow3jKNn1h9GXN75NGuujYBN2DHxeOKgbUf+tF6rmCzy1LfeMH9PvWEscdw4xAOo+GT7v0PC2NUgm+FqMcq1p9XWmQEwHtUE/P+DD8IZ4Z/hjFAVCXKniex2ma8d+pkvLQehS62sR1hmoIQo6UdDsSbAHgYNZWEhm3fb4iovgrnQTuAP2HgLrS25FwFwNPneg9/rP+XU0BtGS446jgHOqsSsac6IJoCvW4+44NOZFqztGPJJUXZ1FM+yoiOSBo0MilCGhlpsrhAtw7QEe5acVhcsuYyPmnRhmfLrYbXuxBVyDpYumYyh52pxxYkD/jMAGDDAeLmiPrJx0J/0f/HELDYWsesMgL4ZR4+0Xte3tVBCPk5KiGuwmqgRN4R8Tqlxq7PNYv/nx5Iuw664uD+Llx6ApqAnPANgKjpVmSu+6gaiFa8tqDr3H1szm/OwzhAMbWDZRKpAnnNA4/JUf3+f3/12VXhLCLOO0K44CbOzoWyQ29J+2PmnekiYJeWDdvyNmxWjNik3JNCSMOvqdq5IVpGwAzLuWKvhjsUeslTQT/a0wZ1pBJaPV8yuvXu8tYWEaNT15FORyxbS9psCKwXq4tae0H3KooB2/UkO8tYGNPKJT5zTd+QRRyzkX+jk/bL6qom31L8bb/xKcuMNX/auUR0d85J5HXNT+NnPzfSJt4m/d49Y64hXmpDm3La4dcQcafLWfY3y5nC5H/VtHo31MNRue0fz4l3gUsJRvrmgiVMmyc5O2d080e8DDzzQK0y2JnsmN+cE1PZBaT7et+wzI3Zoisb8gypM0ZJ+hZYkWT5fDpPjDi2iPG7Z4xwriHaLmsowmR37m47HNNd+OLxhyB0rFQIpv9/CYdyMB6G7rsZHwBkrhYvNSBvOnAwilu2/SEsfDiY3tn+FS/6tt8IlP02gPDzetxoAKTvfB6R8ZBVyG8yuaaf5c8pnWy6OcvLRuUcddfTI//3+iSm+DlQqnayVry8fdyKF59o1NOJsqeuVn2ICLXlZRaTN5jxFfCt/FQaI199YTpbRthHn01o9tF2UPKK1Lv5xX7THrtURMJSjW1UAFpwXUx2AIaXU+VLoaulcVz4tOOqotAQgI1YJwALklADUnJCaasHMOvJm44B9Gg60ZMmSzilTpmx7y1ve8rLL/+c//7lz586dcFLe5tN4voULF05bsWJFO+WfOXPmNjiUvjw8PDwNZqt2EPn/XD0vvvjitEql0v6rX/3Kp+HdNPxQWZ/2rne9q3LkkUdmm72UCc9HP/rR9unTp/t8L7/88rQf/vCH7S+88IJPi/M9+uijM9Hvg6gPLt9ZZ50180Mf+tBUeF4/6fo2ODg486mnnpr60ksv+bRnn3125lvf+tapBxxwgE/72te+tg2ypxmrez7ykY/MXLRo0VT0u2ZZRNPN/OlPfzoV/TH5brrpJuhCHZNnz569+33ve58r24FXFACy09V/+eWXd4COu37zm9/4NLindcBtbReUB58Gq1JlYGAgoBuVxTh3Ia/P9+1vf7sD40KYyS6fds0111BfdsEyY9LQt076jbl/HrQxaaeddlonjk3ZNmnSJI8DhM8abEAB8mlos/OII47Y9o53vMOnqWVA7WkJjZywL3lJ84l0f9szoqMjeoXTtjSct1H5TOpXmtaL39013qtfNcMBpbKHHnpo/1/+8pfAG0bqjLbduGy95wbx8iUAC2BRx4FFJQDVn1iWsQRgCUBPgZIDFoChlUtwEBNSo92SAxaztaaWYOOOFT38+H736qtf/WouJoQmJ36Kbr2UdttDVylbo4s/cW5blIa+DgA4gSWE4h8odoTnc8HqLtaDyhr3rtvg3pVaR/JuVpnLEbeE3HzzzSaQnD9560uCYPCpfRDeg6M5KMCcxstdnqSyrj2Xj9qk2Az+SHQLY0dsbqksvHQGIAMGdIvbrFZWgw0JB1Aq2UEGtpb4+F9KE50RtIhulcIhKQ3SdwctcQSaWxAXLIZ5Vrn2gddZB2fLdUVSYH75y19WjjvuuEDTbOVmt3gOjPJqLWjAI9B2A7pJ9NWkqTeYhcMoRUWW+SL49icqANHB3Eb0RAEg+tZLH3kRyLXadwyGZgAo0U0DNilPCUB29TwRqARggPlquGqZO1YJwL0cgFrl503NAeNrFIgYklDZ10cuWmGwOldgstO0MqVCUjhscPknA5qTGxD9cEUCGQbwEwjTsXJBlcAaY+Il+BML8Q89hNOxfoHTsdgjCeaSIkGnXn0Wge1cWUE1ZFEKlJD8SVhJcumll+ZiQuK+Obpx2lI5Git/gpiQ9IVxs4L7VNS3HN0kVikpOk4xcvVJCod0IaNWQVV7RDfDevlgNVYKyl9FMRnBq4aE6Xip1spidSgSFfQtUEK0clYzClHcRpW9PBXdNM4NrbaI7W0AbFiW2QMA7KXvRgs6nm8PAFBFtxKAbFaqcEAVISUQlABMCm3BJQD3IAC1ykAdS3DJAdn8afeI05iQ4oVDUkwk6wjPJ+36SwqHOTELR8HyR7JmYEN1YPv27YESEh+9S3VICkxsMTn99NOTD3/4w6ZJp+jEAje9k5QVe+qVPR3LPbCC9MEaEighVRSCHLFvdKdypUHcGmsJVSIpSJJiIl1zK/XNH8fLAtPjNmjO6eEKklbhkFCmdkYohmg+h1bhkOqWygKoI0uXLi1UQpppN+6LeJKqcF0rAFmBNSRQQhpVdLROAZolk8ZzFO7Y+z27Y4/SWtmGltvt9QA0gemKuODxACCI24ufbk7kiQJA9EkVEyIBRAPyEoAR5UoA5qA0cQGIrzTnDeOPrmXj4JuNbk+QNEvyLqFNaumB40ACF3rziuQsih+Fazu50fvsVBelL1iwwJ7ujofSKA9c64NqIcsMwWX8cJdYrSxc4HObvXBkSOBC7tuYN29eMnfuXFMVtUt10UYsjYd71nzmM59JcOhQsCFO7ynvY4895vsHd/TB1157zV8GQ/UhTIDc/YMxUDmiF99gh5d30Obtt9+ewHXd0MXlu/POOxOEBgR1ff3rX0/g5RKknX/++VGctKHn0Ouvv27o5uZOoi+1RfPA46x/8pOfGLpRv6ksQgxMe/R/1x/tRjTR2eHAz6HWGUG7ASkikSVqPV8kG++55547ctdddxXKgEV9qPa+Do03V4XWG0bTN23IpFSXVBby3wjkwIBuTTo3FA5D69CidscqAVib5iUAQ/q8IQEoeUQXfop1ZGiGA9JKjp9u3lyjFo5Wc0D0KScDlhywABjSEjweANRuWJcAbJADSkpIHUwjl1WrmHD3bBLKSbDnaaSs7L///kH9UECG/va3v3klhF5KZTVp3PPDtUvlSPDnj6RIkJBOwnrkqTOIcsGNlJKyQmWpTq7AxMqPpIRceOGFycaNG4PDgySFQ1IuPv3pTw8hLjugm1MuuGJDHjc4zLyZ6fdlicPGCqqk3Iob0Vp5T5uvkRFJygo0wcoFF1zQkMeJpg/aTecq+3t0q+FsTTtxHs3ZMNols8pVXRXcFTdmdJPGrPaeQuHcNowWWNp8jUyKBEDtRnQj7VGZJgGYkwG1/RhrAD4jnJKv7Vuj+UoANkC5EoANEK1KkRKADdCyBGADRGsWgFolhC+3tfZ4eD7IHUZYp4cEUrIKSFYPrSXkiSeeGLrvvvsCYZqEerJUuIf65pQQHh4Q55MsIZLCEVspqB1SPqg+roTggKTBD3zgA4ESQu1v2bIlmCJJgcHBRgk22L01hLx0cAhUYAmRrB6krMA5Q7RccOUCXjpD8NYJ6CZZPSRri5RPkmHjNAkvksWk5RvRzRim+SCkbRiY9iowqQXCtNbuq7HANLpvR/3GaVzDOA0rUEK0+4qNtqv1aDn22GMriN8J6Kbda9S0oV1uRWWl1aa4sQQgMVJiQHwgEwWA1a/qWh3QXbvMaxZDDTioHul0rBKABRSucmRbCUBGtxKAyuMXNF9znGdvA6C5K255ek1DOhhpaZUsK2O9BE9oDqh1x6KvLXalcVYP7nLEBU3a4Sfhmj+SlcIpIdwSQjv15F7OFQm4dg2dc845gTAtuV5JZZ1rmGtDsoRICof244GL/+B73vOeQAmR6pPcu2IlRLJwODcxfo2CpIRIisSXvvSlnBIilZWsLaQQkUudc9Fy7lg8bEDCgUQ3Kptzx0LG3Ea0VLgR2U578qlWjjvhhBMqjzzySOGOvrZdLbg0+XCR4iwXBuQAAA8nSURBVNNDQ0PZdfJVCmlkwGbkM8kSAl/FCvwBG1JCamm3teiiVUzUMSETAYBaZ4TxACAmoxc/3UVgHQ8ASsqbFuQlABkFSgASxrOnDhCpXPJbGf9RckB4Y+zhp+SAjOD1AHBzPFHQ6HySqwg77l2IJd2Kqxp8kMPnP//5Lhi6t+KaBZ+Gw4e65syZs3Xy5MkvwLIwHdcMzKPKcIz/VrhTvYD06ZCX5iEffZUmzuCwww6b/u53v3seLCcmjZ6f//zn0xGDOg/7az4NG70vYcM39NFKkunITm34fM8///x0/MyDl7JvA8L7dJSd9+Mf/9jloysVnO+RScOpqe042Gja29/+dnO9QxrX0Y5xT0PMcC5tx44d/hoInL5a+dGPfhTIWVJ96Ec7LDrTQDNf9ne/+107XV+BPpu0G264oRNXGUwB+UYwZpO2devWTrT3Mq5H2ObmBNdadNIVGYjd3ebohqsxOqFwvUxXarg0xNK8BNobumnKYry+DcT/dsKK8jIUTZMGGdzsw46MjPzFtXvxxRdDt+jaClcujwPcHNWFOdyK/vk0xIR3IdZlK5ROn6Z2x5K4SZHbtcb6INVLaa12SNXIhdowSqnP2qu6NFsu2v09rYtW+nEGG/h1lA2Gq+ZswhadiCEkqtyxSgBW+1RsegnAkD5FzMnlLjkgo1vJATeLB4lzaJUcMLopqTZfyt6WS3BoQ9/rlmDpABrJx5+nSVYKyToiWUJcIDl3Z9LGhGgtKzF4JTcrKZBccqnCaaiDv/3tbwNLCLaN4rgR43IVB7XHcSL1Bo0XxXXg6oYhBLAHFiTJvSu2ehB9Yncsd/gUtyRJVrI9EhMicZ+iDetGDxWntrQxIVrLipZ7xvmkpRqndg1D+28oJiSuv1HuVG08xx9/fO7gJO3YY4WomSVYDOHQKiFaoXIsAaiNCRkPAJLijp9u7cTWytdqAGovK5T6VAKQUaUEYGP4LgHIQNTMElwC8E0CQEm5kHz8yb3GBR9LS7RTBpwwS/+PT6miclplRRsTIgnxUBCCO99omXauRdS/aqdjSfkk5QJV5ALTpSVNEydCblF//OMffWwL1aN1vZJiOHCn3BBOGgtOx6J8sLz4U6+oDY3Ll3OP46djFekCDhtiTIgkAxZVWEt+4UBstSWkmZgQjSKhjeGoMn5VYLqmDa0MqM0HsFSgaRe6sWnri8evVUwkurXcHWssAUgfKX4aignZAwBUKSHjAUCJbhIYSgAWyIolAEMZsA7AqK63qKO+AL8lB0S4AH80Vg9tbEYzp2NJXKbkgCFV2pqJCakmZLsgdK1yoT0dC1/aEJShYEdfUjikk7WcQuQsK80EoUvWERzPO7jPPvsElhApn3QCV6zUUEzL3//+d6OEuFO0pHFqrRnS6VjS3EknZsXttjwmpJm44FrKSLV3Gu5EZSUFBj6EFfiUBcJ0o9s6GreoesaHj20Yfn2FlpBGHR403srV+vvcc881fDpW3G6RocH1QbssN3UyQj0T5PI2A0BJBpwoAETfVErIeACwmdOxSgCGKM8J0yUAi9nAhAYglrqcQ6q0YchjdmsNmV/VRdc5fe5znzPZcUq7uULrr3/9a4IQweBaAroi6/rrrw/SDjjggAThhIE3CdzMK3AFD5ZgHLyTXHXVVUGX4EKeYPM1SHN9cQcK0fUGdAAQPe5ahh/84AcJrC0JTpX3ZSlGlx9+RC+oLpIpeT4sc8MHH3xwsARL+eiOYrr+iz80fpL3iEb0EM2oLNHLpaH+ZOfOnYm7TozyOZrxNGlunn322Qr6FtANB30Gp626dok+/K7huF3JK4qu73Lz69pHaIChD1315R6iWZyvKYdUabCN7ANql2Xpyimt44FmU1yjoVb7+KRT8qW8GtmzGZd8qU1wwBHEa7Tkmga1bLcnXPL3NAChgFSgiOzR07G0MhsUkGEoIoVKyHgAENy+csghhwR0G+s9P6331F7FAWm1xE9DlpBGOeCe2AeMP+Qx4ID94IBvvKCkPc0BSwCGFNduzUhKyBuWA5Iw7YRPXA2QHHPMMQHVaHOWBGD+SIqEE8D5vW1QQCpQRIKlRFI4pPqkvsQfEOJxkzvuuCNQLujaAlJWnDJAZT72sY8ltHnM02655ZZhxDAHS3CsXFBZeCdT/HHQdKz8kCKEuOBACZGUhosuuihBjHVQF/WJ5oArJjfddBOSKgHdfvaznyWIFw7KQlFJiE5cCaG5JOXBpfHDolxhHH6pUkKIs8dPy5fgakK6S29024TKg6hDIERA8Wbqi/uqkc+ojCQX4o6NQYAwsIRItBjrs2GkNjs7O4f+8Ic/hEgtmqg63mtvS2jKJb+O/tTM2iRgWrYPKHWyGQBKccETBYDNeERr5r0EYHQOjEbhGC8AapwgtIcOaZWVEoBstt/sHLAEYPjpNyUDcquHq5aUBrfbTbvgzlrg0rQKgqSsYJ+tAg+QQJiWLCsa5YcUCVytYLrtrCOSEiJxyiuvvDJZsWJFoIQ8+uijw1CIGrKEULgAv3ialAGyFnFLiKQ0kLLy/ve/P1AapP5u2rSpAqtSQDfJivLNb34zd9m1xtoiWTi01rSmAKjdbORE0S6PEqeEWWwIRGpImI7r0ygD1eQfqSzMXYPY7C1UQrRypkb20i7BAPcQtPmAbtptGO1WT9xftdcMCo7Z4UQSEZsBoPaASqndsQYg2uzFT3cRcMYDgOhTTnkrAVgwU2N9PJtGFquHA5YADKlVcsAIPTGgSwAuDm4gIHJpte8iLk/v9wgAJZebos5JblZOWeF3r5Hr0eOPPx5UB+WiAstKIEzHblbV2o+VFcktKlYGqC7JHQunueYudtZaQqQ24j5rlQGN5YLqltzYtJYQKV/cX8nCIbnvSUrrHldCigBa6z2O9x3avXt3IExrZcq4Xq0spvWG0VpCNONvJSei9vCRDsGK1JDypumvmtsJLlp7FQAlYXqiAFBrCdFMaKsBKNFN0w9tnhKAgpG7iHit5oAlAIsonh2QznOWHLCAbtoluARggwCEr1hfXJRckISnE2nb8fOSe4fY1U5cN7AdMbE+DdcxdML1ZztiZF/Cbv40xN/SdQjkIhSk8WsKXD6eBgvKtMsvv7wdVxH46wzIEgJtNlBCcDrotEsuuaQdntI+H3b9p+FagXb0xafBEjMNbkntuDvXpMEVaSbyHZT2zaTdeuutM++5556p8G5+0o1x3333nYm/p0J58mkY90zIolMRM+vT1qxZs23ZsmVmrO6BG9dMyK1TcTCQzyelxe2Cdh3Y5J+M/u127WI8HVjqdqHtna5+XKfRAZrsgnLm0z71qU91gGa7cGCmT4PiU8FVGAHd0PcOjCGoT0oT6iMc0PM8fkwbGFPn/vvvvx2/PQ5wJUbn0UcfvR0KkE+D1aYTXjnbMRafJoZlSujb02nafUBtPIlGVtQuyxItpPuCtTRrtF2trNjKqDjtmLQeMiUAGUUbBQJVUQIwhGYJwOhTHWsOKN0XrOUWjQK/5IBaCjeQb29bgksANsgBpcB0CS/czcq9L0qT3LEkq4dkzfj1r39tAsJ5TIhkCdHGk8QuWnSxc3yZtiZeg8YuWUdwT9ww7kYL3LGk2BGJtuSKRYcRxa5rMf3iWA/cT5fgjuKgSsly0UxgOsW+wNUsiDGJxyBZQqQA9qZOSG2AiamLaIPLx9oSonXRkvKde+65g3fffXfgjqXdwlETKsqodZXCJYdD+ADHzB1LK++pY0IaJUij5bQARP2quGBNP7SnIGjzae+K0/RNm0cLwGbCMjVtlABskSWkGQ5YAjD8bNRHeKBYziFV+wW2Kl/JARujpIY7Uc17HQeUhEpylYpPOypK4zENrqx0EtZ73/teoxBwdywp1kMKTNcEnFcT/OPTsSQ3KylORBsTIrl8SYpJrBA5WsX04wHiNCaNqxTlk5QQ6bStD37wgwksPwG5NEqIFBMiBbDvkdOxir7lZqLipMD0ovaafa+VAaWYEG3ZRvcBtWOTlBBtWS2X1dYX52vKGaGRRpsBoKSENNKHespoQYQ6e/HTzevWlh1rAI6HKU5L4xKABZTSgkgLwGZCAbSTGucrAcgo8mbngCUAw89DzQGLgtBdtdw6Ih3RK1k4JCVECkyXYhskK4pUNs4nWUK0p1lJysXVV189vHTp0sASEls4iEaSoqOxhDQTSI5+VeAyF7hjxadeUd+kNI2iIymtV1xxRU5pbep0rFYFoWs5oJRPim3QbuHE+bRyl3Zv8Pvf//4gjl0rDExvdBltJo4X/p25G9Mb7YdUruUb0doKiwbRKDio3ip+fipLiAbkrQZgM+5YRXSk980AcKyVNy1e1KY4bYVFhHsjAFArszXjDVNExxKAoMBEWILRjRH8BKe9a0EeT7LWUUDLKaUD1DXAanUeyUcQ8cMjuBs4oJvWl7DR/qkj5dCA6myYEoC1p6IEYEifNyoAyfmtMDBdEyfSag6Ik7EGYQ0ZMyVEy4kkzoa+DcH0FtCt5ICMonUsow0rIfEEaq9f0C7BpDfhp1sLlLHKJwFLOiG1BGAJwDHBYAnABoBVBwdUKSGamdWa2LT5tFd1SX2rg8sWDk0C4MDAwMj8+fMLr+qSKo/rU/v5CefAvBG2YQZApPmcUJpoN+2kazedq5yQ2gdZa2EhQoQMYw1ABKAPIpwhkE+1Xi4lAMMJU8mAGhBoOZs2XzMy4FgDEH1TnZBackBGgWYsISUAc7pQCUAHCo2ZjPKWANR8Rvk8VQ4u3/sB2Bg58qWaAeCSJUtGNm7cGAjTreoX1dPMUvjII49UTjjhhMDjRLt8a9rVnohfhR455U1LN62sGNfX8o1obYeL8jUDQHibDMDrJFBCitqr570GCNXq27BhQx/iJwIlZAIBcBD9bmiTvAQgm/FmrmnQALEZAEreMBMIgLklWEMPylMCcC8BoOQNIwFQ610TA6TJJbgEYCuUkInMAUsAhp9MUzKglj23Kp/WEgIAjkDWakgJ0TgoNDMeALCyfPnyQAlppr64bKNLIdWD02FH4G5fSDcNl90jlpBWEk5TlxaAp5122sADDzzQkBIy1gBcu3Zt35lnntmQJURDo2YAiKOKB3H8caESUgKQzYT2fEDN5FGesQbgeLjka8eOfCoZsARgCcCqmGqGA5YALPhUtUtwM0pIyQGTriKOOR4c8P8Bye1SwAszTewAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/js</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/async_upload.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[aWYoIHdpbmRvdy5qUXVlcnkgKSB7CiAgICAvLyB0aGlzIHRhZyBtdXN0IGJlIElOU0lERSB0aGUgZm9ybSBIVE1MLgogICAgLy8gdGhpcyBjb2RlIHNob3VsZCBiZQogICAgdmFyIHRoaXNTY3JpcHQgPSBkb2N1bWVudC5jdXJyZW50U2NyaXB0OwogICAgJChmdW5jdGlvbigpewogICAgICAgIHZhciBmb3JtID0gJCh0aGlzU2NyaXB0KS5jbG9zZXN0KCdmb3JtJyk7Cglmb3JtLlNNVEZNVXBsb2FkSGFuZGxlcigpOwoJLyoKICAgICAgICBpZiggIWRvY3VtZW50LmNnYmYudXBsb2FkU2NyaXB0ICkgewoJICAgIHZhciBzbXRmbV91cGxvYWRIYW5kbGVyID0gJ3skbW9kLT5HZXRNb2R1bGVVUkxQYXRoKCkuJy9qcy9qcXVlcnkuQ0dCRlVwbG9hZEhhbmRsZXIuanMnfSc7CgkgICAgaWYoICFkb2N1bWVudC5jZ2JmICkgZG9jdW1lbnQuY2diZiA9IHt9OwogICAgCSAgICB2YXIgc2NyaXB0X2VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CgkgICAgJChib2R5KS5hcHBlbmQoc2NyaXB0X2VsKTsKCSAgICBzY3JpcHQub25sb2FkID0gZnVuY3Rpb24oKSB7CgkgICAgICAgZG9jdW1lbnQuY2diZi51cGxvYWRTY3JpcHQgPSAxOwoJICAgICAgIGZvcm0uQ0dCRlVwbG9hZEhhbmRsZXIoKTsKCSAgICB9CgkgICAgc2NyaXB0LnNyYyA9IHNtdGZtX3VwbG9hZEhhbmRsZXI7CiAgICAgICAgfQoJZWxzZSB7CgkgICAgZm9ybS5DR0JGVXBsb2FkSGFuZGxlcigpOwoJfQoJKi8KICAgIH0pOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/js/jquery.SMTFMUploadHandler.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uICggJCApIHsKICAgIHZhciB0aGlzU2NyaXB0ID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdDsKICAgIHZhciBhamF4X3VybCA9IHRoaXNTY3JpcHQuZ2V0QXR0cmlidXRlKCdkYXRhLXNtdGZtLXVwbG9hZHVybCcpOwogICAgaWYoICFhamF4X3VybCApIHRocm93ICJTTVRGTVVwbG9hZEhhbmRsZXIgY291bGQgbm90IGRldGVybWluZSB1cGxvYWQgVVJMIjsKCiAgICAkLmZuLlNNVEZNVXBsb2FkSGFuZGxlciA9IGZ1bmN0aW9uKCBvcHRpb25zICkgewoJLy8gd2UgZXhwZWN0IGEgc2luZ2xlIGZvcm0KCXZhciBmb3JtID0gdGhpczsKCXZhciBndWlkID0gJCgnaW5wdXRbbmFtZT1fX2d1aWRdJyxmb3JtKS52YWwoKTsKCXZhciBzZXR0aW5ncz0gICQuZXh0ZW5kKHsKCSAgICBzdWJtaXRfbmFtZTogJ3N1Ym1pdCcsCgkgICAgdXBsb2FkX3VybDogYWpheF91cmwsCgkgICAgdXBsb2FkX2ZhaWxfbXNnOiAnT25lIG9yIG1vcmUgdXBsb2FkcyBmYWlsZWQnCgl9KTsKCglmdW5jdGlvbiB1cGxvYWRGaWxlKCBuYW1lLCBpc19tdWx0aXBsZSwgZmlsZSApIHsKCSAgICB2YXIgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTsKCSAgICBmb3JtRGF0YS5hcHBlbmQoICdmaWxlJywgZmlsZSApOwoJICAgIGZvcm1EYXRhLmFwcGVuZCggJ2d1aWQnLCBndWlkICk7CgkgICAgZm9ybURhdGEuYXBwZW5kKCAnZWxlbWVudCcsIG5hbWUgKTsKCSAgICByZXR1cm4gJC5hamF4KHsKCQl0eXBlOiAncG9zdCcsCgkJdXJsOiBzZXR0aW5ncy51cGxvYWRfdXJsLAoJCWNvbnRleHQ6IGZvcm0sCgkJY29udGVudFR5cGU6IGZhbHNlLAoJCXByb2Nlc3NEYXRhOiBmYWxzZSwKCQlkYXRhOiBmb3JtRGF0YQoJICAgIH0pLmRvbmUoZnVuY3Rpb24oZGF0YSl7CgkJdmFyIGhpZGRlbl9uYW1lID0gbmFtZTsKCQlpZiggaXNfbXVsdGlwbGUgJiYgaGlkZGVuX25hbWUuc3Vic3RyKC0yKSAhPSAnW10nICkgaGlkZGVuX25hbWUgKz0gJ1tdJzsKCQl2YXIgaGlkZGVuID0gJCgnPGlucHV0Lz4nKS5wcm9wKCd0eXBlJywnaGlkZGVuJykucHJvcCgnbmFtZScsaGlkZGVuX25hbWUpLnByb3AoJ3ZhbHVlJyxkYXRhLnRtcF9uYW1lKyc6fDonK2RhdGEubmFtZSk7CgkJZm9ybS5hcHBlbmQoaGlkZGVuKTsKCQkvLyB0b2RvOiBjYWxsIHVwbG9hZCBkb25lIGNhbGxiYWNrCgkJY29uc29sZS5kZWJ1ZygnZmluaXNuZWQgdXBsb2FkJyk7CgkgICAgfSkuZmFpbChmdW5jdGlvbih4aHIsdGV4dFN0YXR1cyxlcnJvcil7CgkJY29uc29sZS5kZWJ1ZygndXBsb2FkIGZhaWxlZCAnK3RleHRTdGF0dXMrJyAvLyAnK2Vycm9yICk7CgkgICAgfSkKCX0KCgkvLyB0b2RvOiBjYWxsIGJ1c3kgY2FsbGJhY2sKCWZvcm0uc3VibWl0KGZ1bmN0aW9uKGV2ZW50KXsKCSAgICB2YXIgaGF2ZV91cGxvYWRzID0gKCAkKCdpbnB1dFt0eXBlPWZpbGVdJyxmb3JtKS5sZW5ndGggKSA/IHRydWUgOiBmYWxzZTsKCSAgICBpZiggIWhhdmVfdXBsb2FkcyApIHJldHVybjsKCgkgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKCSAgICBmb3JtLm9mZignc3VibWl0Jyk7CgkgICAgdmFyIHByb21pc2VzID0gW107CgoJICAgICQoJ2lucHV0W3R5cGU9ZmlsZV0nLGZvcm0pLmVhY2goZnVuY3Rpb24oKXsKCQlpZiggISQodGhpcykudmFsKCkgKSByZXR1cm47CgkJdmFyIGlzX211bHRpcGxlID0gJCh0aGlzKS5wcm9wKCdtdWx0aXBsZScpOwoJCXZhciBlbF9uYW1lID0gJCh0aGlzKS5wcm9wKCduYW1lJyk7CgkJdmFyIGhpZGRlbl9uYW1lID0gZWxfbmFtZTsKCQlpZiggaXNfbXVsdGlwbGUgKSBoaWRkZW5fbmFtZSArPSAnW10nOwoJCXZhciBlbCA9ICQodGhpcylbMF07CgkJZm9yKCB2YXIgaWR4ID0gMDsgaWR4IDwgZWwuZmlsZXMubGVuZ3RoOyBpZHgrKyApIHsKCQkgICAgdmFyIGZpbGUgPSBlbC5maWxlc1tpZHhdOwoJCSAgICBwcm9taXNlcy5wdXNoKCB1cGxvYWRGaWxlKCBlbF9uYW1lLCBpc19tdWx0aXBsZSwgZmlsZSApICk7CgkJfQoJCS8vIHJlbW92ZSB0aGUgZWxlbWVudC4KCQkkKHRoaXMpLnJlbW92ZSgpOwoJICAgIH0pCgogICAgICAgICAgICBpZiggIXByb21pc2VzLmxlbmd0aCApIHsKICAgICAgICAgICAgICAgIGZvcm0uc3VibWl0KCk7CgkJcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkLndoZW4uYXBwbHkoJCwgcHJvbWlzZXMpLmRvbmUoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIC8vIHRvZG86IGNhbGwgdW5idXN5IGNhbGxiYWNrCgkgICAgICAgIC8vdmFyIHN1Ym1pdCA9ICQoJzxpbnB1dC8+JykuYXR0cigndHlwZScsJ2hpZGRlbicpLnByb3AoJ25hbWUnLHNldHRpbmdzLnN1Ym1pdF9uYW1lKS52YWwoJzEnKTsKCSAgICAgICAgLy9mb3JtLmFwcGVuZChzdWJtaXQpOwoJICAgICAgICBmb3JtLnN1Ym1pdCgpOwogICAgICAgICAgICB9KS5mYWlsKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBhbGVydCggc2V0dGluZ3MudXBsb2FkX2ZhaWxfbXNnICk7CiAgICAgICAgICAgIH0pCgoJfSkKICAgICAgICByZXR1cm4gdGhpczsKICAgIH07Cgp9KCBqUXVlcnkgKSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/lang</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ25hbWVfQ2FwdGNoYUZpZWxkVmFsaWRhdG9yJ10gPSAnVmFsaWRhdGUgdXNlciBzdWJtaXR0ZWQgY2FwdGNoYSc7CiRsYW5nWydub3RpY2Vfbm9fY2FwdGNoYSddID0gJ05PVElDRTogTm8gY2FwdGNoYSBjb250YWluZXIgd2FzIGRldGVjdGVkIGluIHRoZSBmb3JtIG1hcmt1cC4nOwokbGFuZ1snZXJyX3Vua25vd25fZGlzcG9zaXRpb24nXSA9ICdUaGlzIGZvcm0gY29udGFpbnMgYSBkaXNwb3NpdGlvbiBvZiB0eXBlICVzIHRoYXQgY2Fubm90IGJlIHJlc29sdmVkJzsKJGxhbmdbJ2Vycl91bmtub3duX3ZhbGlkYXRpb24nXSA9ICdUaGlzIGZvcm0gY29udGFpbnMgYSB2YWxpZGF0aW9uIG9mIHR5cGUgJXMgdGhhdCBjYW5ub3QgYmUgcmVzb2x2ZWQnOwokbGFuZ1snZm9ybV90ZW1wbGF0ZV9yc3JjJ10gPSAnVGVtcGxhdGUgcmVzb3VyY2UnOwokbGFuZ1snaW5mb190ZW1wbGF0ZV9yc3JjJ10gPSAnSWYgYSBzbWFydHkgdGVtcGxhdGUgcmVzb3VyY2UgaXMgc3BlY2lmaWVkIGhlcmUgKGkuZTogZmlsZTpzb21ldGhpbmcudHBsKSB0aGVuIGl0IHdpbGwgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB0ZW1wbGF0ZSBpZCBhYm92ZS4nOwokbGFuZ1snZXJyX2lucHV0X2h0bWxkZXRlY3RlZCddID0gJ0hUTUwgZGV0ZWN0ZWQgaW4gYSBmaWVsZCB0aGF0IGV4cGVjdHMgb25seSB0ZXh0JzsKJGxhbmdbJ3Byb21wdF91bmlxdWVmaWxlX2ZpbGVuYW1ldHBsJ10gPSAnRmlsZSBuYW1lIHRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fdW5pcXVlZmlsZV9maWxlbmFtZXRwbCddID0gJ1NwZWNpZnkgYSB0ZW1wbGF0ZSB1c2VkIHRvIGNyZWF0ZSB0aGUgb3V0cHV0IGZpbGVuYW1lLiAgTm90ZSwgdGhlIGZpbGVuYW1lIHNob3VsZCBlbnN1cmUgdW5pcXVlbmVzcywgb3Igb3ZlcndyaXRpbmcgbWF5IG9jY3VyLiAgSWYgdGhlIHRlbXBsYXRlIGlzIGVtcHR5LCBvciB0aGUgdGVtcGxhdGUgZG9lcyBub3QgcmVzdWx0IGluIGFueSBvdXRwdXQgYWZ0ZXIgcHJvY2Vzc2luZywgdGhlbiB0aGUgdW5pcXVlIHJlcXVlc3QgaWQgd2lsbCBiZSB1c2VkLic7CiRsYW5nWydlcnJfY2FwdGNoYV9taXNtYXRjaCddID0gJ1NvcnJ5LCBpbmNvcnJlY3QgY2FwdGNoYSB2YWx1ZSc7CiRsYW5nWyd2YWxpZGF0ZV9jYXB0Y2hhJ10gPSAnVmFsaWRhdGUgQ2FwdGNoYSc7CiRsYW5nWyd1c2VfYXN5bmNfdXBsb2FkJ10gPSAnVXBsb2FkIGZpbGVzIGFzeW5jaHJvbm91c2x5JzsKJGxhbmdbJ2luZm9fdXNlX2FzeW5jX3VwbG9hZCddID0gJ0lmIGVuYWJsZWQsIGphdmFzY3JpcHQgd2lsbCBiZSBhcHBlbmRlZCB0byB0aGUgZm9ybSB0byBhbGxvdyB1cGxvYWRpbmcgZmlsZXMgYXN5bmNocm9ub3VzbHkuICBUaGlzIGdyZWF0bHkgaW1wcm92ZXMgdXNhYmlsaXR5IHdoZW4gdXBsb2FkaW5nIG11bHRpcGxlIGZpbGVzJzsKJGxhbmdbJ3ZhcmhlbHBfZm9ybSddID0gJ1RoZSBGb3JtIG9iamVjdCBpdHNlbGYuJzsKJGxhbmdbJ3ZhcmhlbHBfcmVzcG9uc2UnXSA9ICdUaGUgRm9ybVJlc3BvbnNlIG9iamVjdCBpdHNlbGYuJzsKJGxhbmdbJ2VkaXRfY3N2X2Rpc3Bvc2l0aW9uJ10gPSAnU2F2ZSByZXN1bHRzIHRvIGEgZmxhdCBmaWxlJzsKJGxhbmdbJ2luZm9fZmxhdGZpbGVfZmlsZW5hbWUnXSA9ICdTcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBmaWxlIChyZWxhdGl2ZSB0byB0aGUgc2l0ZSByb290KSc7CiRsYW5nWydwcm9tcHRfZmlsZSddID0gJ0ZpbGUnOwokbGFuZ1snbXNnX2Zvcm1leHBvcnRlZWQnXSA9ICdGb3JtIGV4cG9ydGVkJzsKJGxhbmdbJ21zZ19pbXBvcnRlZCddID0gJ0Zvcm0gaW1wb3J0ZWQnOwokbGFuZ1snZXJyX2ltcG9ydF92YWxpZGF0aW9uX25vdGZvdW5kJ10gPSAnU29ycnksIHdlIGNvdWxkIG5vdCBmaW5kIGEgcmVnaXN0ZXJlZCB2YWxpZGF0aW9uIG9mIHR5cGUgJXMuICBUaGlzIGZvcm0gY2Fubm90IGJlIGltcG9ydGVkJzsKJGxhbmdbJ2Vycl9pbXBvcnRfZGlzcG9zaXRpb25fbm90Zm91bmQnXSA9ICdTb3JyeSwgd2UgY291bGQgbm90IGZpbmQgYSByZWdpc3RlcmVkIGRpc3Bvc2l0aW9uIG9mIHR5cGUgJXMuICBUaGlzIGZvcm0gY2Fubm90IGJlIGltcG9ydGVkJzsKJGxhbmdbJ2Vycl9pbXBvcnRfZm9ybWF0J10gPSAnU29ycnksIGJ1dCB0aGVyZSB3YXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm1hdCBvZiB0aGUgZGF0YSc7CiRsYW5nWydlcnJfbm91cGxvYWQnXSA9ICdZb3UgbXVzdCBzZWxlY3QgYSBmaWxlIHRvIHVwbG9hZCc7CiRsYW5nWydlcnJfYmFkdXBsb2FkJ10gPSAnVGhlcmUgd2FzIGEgcHJvYmxlbSB1cGxvYWRpbmcgdGhlIHNlbGVjdGVkIGZpbGUnOwokbGFuZ1snaW1wb3J0J10gPSAnSW1wb3J0JzsKJGxhbmdbJ2ltcG9ydF9mb3JtJ10gPSAnSW1wb3J0JzsKJGxhbmdbJ2NvbmZpcm1faW1wb3J0X2Zyb21fY2dmYiddID0gJ0FyZSB5b3Ugc3VyZT8nOwokbGFuZ1snaW1wb3J0X2NnYmZfZm9ybSddID0gJ0ltcG9ydCBhIENHQkYgRm9ybSc7CiRsYW5nWydpbXBvcnRfY2diZiddID0gJ01pZ3JhdGUgRGF0YSBGcm9tIENHIEJldHRlciBGb3Jtcyc7CiRsYW5nWydpbmZvX2ltcG9ydF9mcm9tX2NnYmYnXSA9ICdDRyBCZXR0ZXIgRm9ybXMgbW9kdWxlIGhhcyBiZWVuIGRldGVjdGVkLiBUaGlzIG1lYW5zIHRoYXQgeW91IGNhbiB0cnkgdG8gaW1wb3J0IGRhdGEgZnJvbSBpdC4gQWxsIGRhdGEgZXhjZXB0IGZvciBiYWNrZW5kIHBlcm1pc3Npb25zIHdpbGwgYmUgY29waWVkLiBBbiBhdHRlbXB0IHdpbGwgYmUgbWFkZSB0byBmaXggdGhlIGNvcGllZCB0ZW1wbGF0ZXMgYnkgcmVwbGFjaW5nIENHRkIgcmVsYXRlZCBwbHVnaW5zIHdpdGggdGhlIFNGIGVxdWl2YWxlbnRzIGJ1dCB3ZSBoaWdobHkgcmVjb21tZW5kIHJldmlzaW5nIHRoZSBnZW5lcmF0ZWQgdGVtcGxhdGVzIGZvciBvdGhlciBwb3RlbnRpYWwgaXNzdWVzIHRoZSBpbXBvcnQgcHJvY2Vzc29yIG1heSBoYXZlIG1pc3NlZC4gQWRkaXRpb25hbGx5LCB5b3UgbWF5IGhhdmUgdG8gcmUtc2NhbiB0aGUgaW1wb3J0ZWQgZm9ybXMuIE1ha2UgYSB0aG9yb3VnaCByZXZpc2lvbiBvZiBhbGwgdGhlIGltcG9ydGVkIGRhdGEgYmVmb3JlIHVzaW5nIGl0IGluIGEgbGl2ZSBwYWdlLic7CiRsYW5nWydleHBvcnRfZm9ybSddID0gJ0V4cG9ydCB0aGlzIGZvcm0nOwokbGFuZ1snbmFtZV9TZXNzaW9uRGlzcG9zaXRpb24nXSA9ICdTdG9yZSBmb3JtIHJlc3VsdHMgaW4gdGhlIHNlc3Npb24gZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZyc7CiRsYW5nWydkaXNwbGF5X0VtYWlsQWRtaW5XaXRoUmVwbHlUbyddID0gJ0VtYWlsIGZpeGVkIGFkZGVzc2VzLCBhbmQgc2V0IHJlcGx5LXRvIGFzIHZhbHVlIHByb3ZpZGVkIGluICVzIGZpZWxkJzsKJGxhbmdbJ2luZm9fZW1haWx1c2VyYWRkcmVzcyddID0gJ1NlbGVjdCBhIGZvcm0gZmllbGQgdGhhdCBzaG91bGQgY29udGFpbiBhIHVzZXIgc3VwcGxpZWQgZW1haWwgYWRkcmVzcyc7CiRsYW5nWyduYW1lX0VtYWlsQWRtaW5XaXRoUmVwbHlUbyddID0gJ1NlbmQgYW4gZW1haWwgdG8gZml4ZWQgYWRkcmVzc2VzLCB3aXRoIHJlcGx5LXRvIGFzIHVzZXIgYWRkcmVzcyc7CiRsYW5nWyduYW1lX0VtYWlsQWRtaW5Hcm91cFdpdGhSZXBseVRvRGlzcG9zaXRpb24nXSA9ICdTZW5kIGFuIGVtYWlsIHRvIG1lbWJlcnMgb2YgYW4gYWRtaW4gZ3JvdXAsIHdpdGggcmVwbHktdG8gYXMgdXNlciBhZGRyZXNzJzsKJGxhbmdbJ2Rpc3BsYXlfRW1haWxBZG1pbkdyb3VwV2l0aFJlcGx5VG9EaXNwb3NpdGlvbiddID0gJ0VtYWlsIGFsbCBtZW1iZXJzIG9mIHRoZSAiJXMiIGFkbWluIGdyb3VwLCBhbmQgc2V0IHRoZSByZXBseSB0byBhZGRyZXNzJzsKJGxhbmdbJ2Vycl9ub2NvbnRlbnRzJ10gPSAnU29ycnksIGJ1dCBpdCBzZWVtcyB0aGVyZSBpcyBubyBjb250ZW50IChvciBhdCBsZWFzdCBubyB2YWxpZCBIVE1MKSBpbiB5b3VyIGZvcm0gdGVtcGxhdGUuJzsKJGxhbmdbJ25hbWVfRmlsZVZhbGlkYXRvciddID0gJ1ZhbGlkYXRlIHVwbG9hZGVkIGZpbGVzJzsKJGxhbmdbJ3Byb21wdF9wcmVyZW5kZXJfbG9naWMnXSA9ICdQcmUtcmVuZGVyIExvZ2ljJzsKJGxhbmdbJ2luZm9fcHJlcmVuZGVyX3RhYiddID0gJzxwPlVzZSB0aGUgdGV4dCBhcmVhIGJlbG93IHRvIGFkanVzdCB0aGUgJGZvcm1fZGF0YSBvYmplY3QgdGhhdCBpcyBhdmFpbGFibGUgd2hlbiB5b3VyIGZvcm0gaXMgaW5pdGlhbGx5IHJlbmRlcmVkLjxici8+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGlzIGxvZ2ljIGlzIG5vdCBldmFsdWF0ZWQgd2hlbiBoYW5kbGluZyB0aGUgZm9ybSByZXNwb25zZS48L3A+PHA+PGVtPmhpbnQ8L2VtPjogIFVzZSA8Y29kZT57c210Zm1fc2V0IGtleT1maWVsZG5hbWUgdmFsdWU9dGhldmFsdWV9PC9jb2RlPjwvcD4nOwokbGFuZ1sncHJlcmVuZGVyX2xvZ2ljJ10gPSAnUHJlLXJlbmRlciBMb2dpYyc7CiRsYW5nWydhdXRvX2FkZF92YWxpZGF0aW9ucyddID0gJ0F1dG8gQWRkIFZhbGlkYXRpb25zJzsKJGxhbmdbJ2FwcGx5J10gPSAnQXBwbHknOwokbGFuZ1snaW5mb19zdG9wZGlzcG9zaW5nX3RwbCddID0gJ1Byb3ZpZGUgYSB0ZXN0IDxlbT4odmlhIGEgc21hcnR5IHRlbXBsYXRlKTwvZW0+IHRvIGluZGljYXRlIHdoZXRoZXIgYW55IGZ1cnRoZXIgcHJvY2Vzc2luZyBvZiBkaXNwb3NpdGlvbnMgc2hvdWxkIGJlIHByZXZlbnRlZC48YnIvPklmIHRoZSByZXN1bHQgb2YgcHJvY2Vzc2luZyB0aGlzIHRlbXBsYXRlIHJldHVybnMgYW55dGhpbmcgb3RoZXIgdGhhbiBhbiBlbXB0eSBzdHJpbmcgYWxsIGZ1cnRoZXIgZGlzcG9zaXRpb24gcHJvY2Vzc2luZyBleGNlcHQgdGhlIGZpbmFsIGFjdGlvbiwgd2lsbCBzdG9wLiAgaS5lLjoKPHByZT57aWYgJHNvbWVfZHJvcGRvd25fZmllbGQgPT0gJnF1b3Q7c29tZV92YWx1ZSZxdW90O30xey9pZn08L3ByZT4nOwokbGFuZ1snZGlzcGxheV9TdG9wRGlzcG9zaW5nRGlzcG9zaXRpb24nXSA9ICdTdG9wIHByb2Nlc3NpbmcgZGlzcG9zaXRpb25zIGJhc2VkIG9uIGEgY29uZGl0aW9uJzsKJGxhbmdbJ25hbWVfU3RvcERpc3Bvc2luZ0Rpc3Bvc2l0aW9uJ10gPSAnU3RvcCBwcm9jZXNzaW5nIGRpc3Bvc2l0aW9ucyBiYXNlZCBvbiBhIGNvbmRpdGlvbic7CiRsYW5nWydlcnJfZm9ybV9hY3Rpb25hdHRyJ10gPSAnWW91ciBmb3JtIHRhZyBoYXMgYW4gYWN0aW9uIGF0dHJpYnV0ZS4gIFRoaXMgd2lsbCBiZSByZXBsYWNlZCB3aGVuIHRoZSBmb3JtIGlzIHJlbmRlcmVkLic7CiRsYW5nWydlcnJfZm9ybV9tZXRob2RhdHRyJ10gPSAnWW91ciBmb3JtIHRhZyBoYXMgYSBtZXRob2QgYXR0cmlidXRlLiAgVGhpcyB3aWxsIGJlIHJlcGxhY2VkIHdoZW4gdGhlIGZvcm0gaXMgcmVuZGVyZWQuJzsKJGxhbmdbJ2Vycl9mb3JtX2VuY3R5cGVhdHRyJ10gPSAnWW91ciBmb3JtIHRhZyBoYXMgYW4gZW5jdHlwZSBhdHRyaWJ1dGUuICBUaGlzIHdpbGwgYmUgcmVwbGFjZWQgd2hlbiB0aGUgZm9ybSBpcyByZW5kZXJlZC4nOwokbGFuZ1snaW5mb190ZW1wbGF0ZXZhbGlkYXRpb24nXSA9ICdVc2UgdGhlIGNvbnRlbnRzIG9mIHRoaXMgc21hcnR5IHRlbXBsYXRlIHRvIGV2YWx1YXRlIHRoZSBkYXRhIHN1Ym1pdHRlZCB0byB0aGUgZm9ybS4gIElmIHRoZSB0ZW1wbGF0ZSByZXR1cm5zIGFueSB2YWxpZCAobm9uIHdoaXRlc3BhY2UpIG91dHB1dCwgaXQgd2lsbCBiZSBpbnRlcnByZXRlZCBhcyBhbiBlcnJvciBhbmQgdGhlIG91dHB1dCB1c2VkIGFzIGFuIGVycm9yIG1lc3NhZ2UuICBIZXJlIGlzIGEgc2ltcGxlIGV4YW1wbGU6PGJyLz4KPHByZT57aWYgJGEgPCAwIHx8ICRhID4gMjB9VmFsaWQgdmFsdWVzIGZvciB0aGUgJnF1b3Q7YSZxdW90OyBmaWVsZCBhcmUgYmV0d2VlbiAwIGFuZCAyMHsvaWZ9PC9wcmU+JzsKJGxhbmdbJ2Rpc3BsYXlfVGVtcGxhdGVWYWxpZGF0aW9uJ10gPSAnVmFsaWRhdGUgdmlhIFNtYXJ0eSBUZW1wbGF0ZSc7CiRsYW5nWyduYW1lX1RlbXBsYXRlVmFsaWRhdGlvbiddID0gJ1ZhbGlkYXRlIHZpYSBTbWFydHkgVGVtcGxhdGUnOwokbGFuZ1sncGFyYW1fZm9ybSddID0gJ1RoZSBmb3JtIG5hbWUgdG8gcmVuZGVyIGFuZCBwcm9jZXNzJzsKJGxhbmdbJ3BhcmFtX25vZGF0ZWNoZWNrJ10gPSAnU3BlY2lmeSBhIHBvc2l0aXZlIGludGVnZXIgdG8gZGlzYWJsZSBkYXRlIGNoZWNraW5nIHdoZW4gcmVuZGVyaW5nIGEgZm9ybS4gIFRoaXMgaXMgdXNlZnVsIGZvciBkZXZlbG9wbWVudCBhbmQgdGVzdGluZyBwdXJwb3NlcywgYnV0IHNob3VsZCBub3QgYmUgdXNlZCBpbiBhIHByb2R1Y3Rpb24gc3lzdGVtLic7CiRsYW5nWydlcnJfZmllbGRfaW52YWxpZHZhbHVlJ10gPSAnVGhlIHZhbHVlIGZvciB0aGUgJXMgZmllbGQgaXMgaW52YWxpZCc7CiRsYW5nWydhdHRyaWJzJ10gPSAnQXR0cmlidXRlcyc7CiRsYW5nWydhdHRyX211bHRpcGxlJ10gPSAnbXVsdGlwbGUnOwokbGFuZ1snYXR0cl9ub3ZhbGlkYXRlJ10gPSAnbm92YWxpZGF0ZSc7CiRsYW5nWydhdHRyX21pbiddID0gJ21pbic7CiRsYW5nWydhdHRyX21heCddID0gJ21heCc7CiRsYW5nWydhdHRyX3BhdHRlcm4nXSA9ICdwYXR0ZXJuJzsKJGxhbmdbJ2F0dHJfcmVwbHl0byddID0gJ3JlcGx5dG8nOwokbGFuZ1snZXJyX2Zvcm1fdmVyc2lvbmNoYW5nZSddID0gJ1RoaXMgZm9ybSB3YXMgbGFzdCBzYXZlZCB3aXRoIGEgZGlmZmVyZW50IHZlcnNpb24gb2YgU21hcnRGb3Jtcy4uLiBwbGVhc2Ugc2NhbiBhbmQgc2F2ZSB0aGUgZm9ybS4nOwokbGFuZ1snbmFtZV9EYXRlUHJpbWl0aXZlVmFsaWRhdG9yJ10gPSAnRW5zdXJlIGEgcmVhc29uYWJsZSB2YWx1ZSBmb3IgYWxsIGRhdGUgZmllbGRzJzsKJGxhbmdbJ2Rpc3BsYXlfRGF0ZVByaW1pdGl2ZVZhbGlkYXRvciddID0gJ0Vuc3VyZSBhIHJlYXNvbmFibGUgdmFsdWUgZm9yIGFsbCBkYXRlIGZpZWxkcyc7CiRsYW5nWydlcnJfaW5wdXRfb3V0b2ZyYW5nZSddID0gJ09uZSBvciBtb3JlIHZhbHVlcyBvZiB0aGUgJXMgZmllbGQgYXJlIG91dHNpZGUgb2YgdGhlIGFsbG93ZWQgbGltaXRzJzsKJGxhbmdbJ2Rpc3BsYXlfUmVkaXJlY3RVUkxEaXNwb3NpdGlvbiddID0gJ1JlZGlyZWN0IHRvIGEgY29tcHV0ZWQgVVJMJzsKJGxhbmdbJ2luZm9fcmVkaXJlY3R1cmxfdGVtcGxhdGUnXSA9ICdUaGUgb3V0cHV0IG9mIHRoaXMgdGVtcGxhdGUgc2hvdWxkIGJlIGEgc2ltcGxlIFVSTCBpbiBhIHN0cmluZy4gIElmIG5vbiBlbXB0eSwgYW5kIGEgdmFsaWQgVVJMIHRoZW4gdGhlIHN5c3RlbSB3aWxsIHJlZGlyZWN0IHRvIHRoaXMgVVJMIHZpYSBHRVQuJzsKJGxhbmdbJ3Byb21wdF9yZWRpcmVjdHVybF90ZW1wbGF0ZSddID0gJ1VSTCBUZW1wbGF0ZSc7CiRsYW5nWyduYW1lX1JlZGlyZWN0VVJMRGlzcG9zaXRpb24nXSA9ICdSZWRpcmVjdCB0byBhIGNvbXB1dGVkIFVSTCc7CiRsYW5nWydkaXNwbGF5X0NvbXB1dGVkUGFnZURpc3Bvc2l0aW9uJ10gPSAnUmVkaXJlY3QgdG8gYSBjb21wdXRlZCBwYWdlIGFsaWFzL2lkJzsKJGxhbmdbJ3Byb21wdF9wYWdlX3RwbCddID0gJ1BhZ2UgYWxpYXMgdGVtcGxhdGUnOwokbGFuZ1snaW5mb19wYWdlX3RwbCddID0gJ1RoZSBvdXRwdXQgb2YgdGhpcyBzbWFydHkgdGVtcGxhdGUgc2hvdWxkIGJlIGEgc2luZ2xlIHBhZ2UgYWxpYXMgb3IgaWQgdG8gcmVkaXJlY3QgdG8uICBJZiBub3RoaW5nIGlzIG91dHB1dCwgdGhlbiB0aGlzIGRpc3Bvc2l0aW9uIHdpbGwgYmUgaWdub3JlZCc7CiRsYW5nWydkaXNwbGF5X0VtYWlsVXNlckFkZHJlc3NEaXNwb3NpdGlvbiddID0gJ1NlbmQgYSBjb3B5IG9mIHRoZSBzdWJtaXNzaW9uIHRvIHRoZSB1c2VyIGFkZHJlc3Mgc3BlY2lmaWVkIGluIHRoZSAlcyBmaWVsZCc7CiRsYW5nWydlZGl0X0NvbXB1dGVkUGFnZURpc3Bvc2l0aW9uJ10gPSAnUmVkaXJlY3QgdG8gYSBjb21wdXRlZCBwYWdlIGFsaWFzL2lkJzsKJGxhbmdbJ25hbWVfQ29tcHV0ZWRQYWdlRGlzcG9zaXRpb24nXSA9ICdSZWRpcmVjdCB0byBhIGNvbXB1dGVkIHBhZ2UgYWxpYXMvaWQnOwokbGFuZ1sncHJvbXB0X2VtYWlsX2ZpZWxkJ10gPSAnRW1haWwgYWRkcmVzcyBmaWVsZCc7CiRsYW5nWyduYW1lX0VtYWlsVXNlckFkZHJlc3NEaXNwb3NpdGlvbiddID0gJ1NlbmQgZW1haWwgdG8gdXNlciBzdXBwbGllZCBhZGRyZXNzJzsKJGxhbmdbJ21zZ19zY2FubmVkX3NhdmVuZWVkZWQnXSA9ICdUaGUgZm9ybSB0ZW1wbGF0ZSBoYXMgYmVlbiBzY2FubmVkLiAgUGxlYXNlIGVuc3VyZSB0aGF0IHlvdSBzYXZlIHRoZSBmb3JtJzsKJGxhbmdbJ2Zvcm1fZnJvbV9lbWFpbCddID0gJ1JlcGx5LXRvIEVtYWlsIEFkZHJlc3MnOwokbGFuZ1snZW1haWxhZGRyX3N5c2RmbHQnXSA9ICdVc2Ugc3lzdGVtIGRlZmF1bHQnOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwokbGFuZ1snZm9ybV9mcm9tX25hbWUnXSA9ICdFbWFpbCByZXBseS10byBOYW1lJzsKJGxhbmdbJ2luZm9fZm9ybV9mcm9tX2VtYWlsJ10gPSAnU3BlY2lmeSBhbiBlbWFpbCBhZGRyZXNzIGZvciB0aGUgcmVwbHktdG8gYWRkcmVzcyBmb3IgZW1haWxzIHNlbnQgYnkgdGhpcyBmb3JtLiAgSWYgbm90IHNwZWNpZmllZCwgdGhlbiBzeXN0ZW0gZGVmYXVsdCBpbmZvcm1hdGlvbiB3aWxsIGJlIHVzZWQuCjxici8+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGlzIGFkanVzdHMgdGhlIHJlcGx5LXRvIGFkZHJlc3MgaW4gdGhlIGVtYWlsIGZyb20gdGhlIHN5c3RlbSBkZWZhdWx0cy4gIFNvbWUgZGlzcG9zaXRpb25zIG1heSBmdXJ0aGVyIG1vZGlmeSB0aGUgcmVwbHktdG8gaGVhZGVyLic7CiRsYW5nWydpbmZvX2Zvcm1fZnJvbV9uYW1lJ10gPSAnU3BlY2lmeSBhIG5hbWUgdG8gdXNlIHdpdGggdGhlIHJlcGx5LXRvIGFkZHJlc3MgZm9yIGVtYWlscyBzZW50IGJ5IHRoaXMgZm9ybS4gIElmIG5vdCBzcGVjaWZpZWQsIG5vIHZhbHVlIHdpbGwgYmUgdXNlZCc7CiRsYW5nWydkaXNwbGF5X0ZpbGVWYWxpZGF0b3InXSA9ICdFbnN1cmUgYWxsIHVwbG9hZHMgY29uZm9ybSB0byBzcGVjaWZpY2F0aW9ucyBpbiBhdHRyaWJ1dGVzJzsKJGxhbmdbJ2F1dG9fdmFsaWRhdGlvbnMnXSA9ICdBdXRvIFZhbGlkYXRpb25zJzsKJGxhbmdbJ2Rpc3BsYXlfRW1haWxQcmltaXRpdmVWYWxpZGF0b3InXSA9ICdFbnN1cmUgYSByZWFzb25hYmxlIHZhbHVlIGZvciBhbGwgZW1haWwgZmllbGRzJzsKJGxhbmdbJ25hbWVfRW1haWxQcmltaXRpdmVWYWxpZGF0b3InXSA9ICdFbnN1cmUgYSByZWFzb25hYmxlIHZhbHVlIGZvciBhbGwgZW1haWwgZmllbGRzJzsKJGxhbmdbJ2Rpc3BsYXlfUmVxdWlyZWRGaWVsZFZhbGlkYXRvciddID0gJ1ZhbGlkYXRlIHRoYXQgYWxsIHJlcXVpcmVkIGZpZWxkcyBhcmUgcHJlc2VudCc7CiRsYW5nWyduYW1lX1JlcXVpcmVkRmllbGRWYWxpZGF0b3InXSA9ICdWYWxpZGF0ZSB0aGF0IGFsbCByZXF1aXJlZCBmaWVsZHMgYXJlIHByZXNlbnQnOwokbGFuZ1snZXJyX2lucHV0X21pc3NpbmdyZXF1aXJlZHZhbHVlJ10gPSAnQSB2YWx1ZSB3YXMgbm90IHN1Ym1pdHRlZCBmb3IgdGhlICVzIGZpZWxkJzsKJGxhbmdbJ2Zvcm1fYXV0b192YWxpZGF0aW9ucyddID0gJ1VzZSBhdXRvbWF0aWMgdmFsaWRhdGlvbnMnOwokbGFuZ1snaW5mb19hdXRvX3ZhbGlkYXRpb25zJ10gPSAnSWYgZW5hYmxlZCwgc2VydmVyIHNpZGUgdmFsaWRhdGlvbiB3aWxsIGJlIGRvbmUgYmFzZWQgb24gYXR0cmlidXRlcyBkZXRlY3RlZCBmb3IgZWFjaCBlbGVtZW50IGluIHRoZSBmb3JtIHRlbXBsYXRlLiAgT3RoZXJ3aXNlLCB5b3UgbXVzdCBtYW51YWxseSB2YWxpZGF0ZSBlYWNoIGZpZWxkJzsKJGxhbmdbJ2Vycl91cGxvYWRfc2l6ZSddID0gJ1NvcnJ5LCBidXQgdGhlIGZpbGVzIHlvdSB1cGxvYWRlZCBmb3IgdGhlICVzIGZpZWxkIGFyZSB0b28gbGFyZ2UuJzsKJGxhbmdbJ2Vycl91cGxvYWRfdHlwZSddID0gJ1NvcnJ5LCBidXQgZmlsZXMgb2YgdGhpcyB0eXBlIGFyZSBub3QgYWxsb3dlZCBmb3IgZmllbGQgJXMnOwokbGFuZ1snZXJyX3VwbG9hZF9leHRlbnNpb24nXSA9ICdTb3JyeSwgYnV0IGZpbGVzIG9mIHRoaXMgdHlwZSBhcmUgbm90IGFsbG93ZWQgZm9yIGZpZWxkICVzJzsKJGxhbmdbJ3RpdGxlX3RlbXBsYXRpbmdfaGVscCddID0gJ0Zvcm0gdGVtcGxhdGluZyBoZWxwJzsKJGxhbmdbJ3ZhcmhlbHBfc210Zm1fc3VibWl0X3RpbWUnXSA9ICdUaGUgdW5peCB0aW1lc3RhbXAgb2YgdGhlIHRpbWUgdGhlIHVzZXIgc3VibWl0dGVkIHRoZSBmb3JtLjxici8+PGVtPihoaW50OiB1c2UgdGhlIGRhdGVfZm9ybWF0IG1vZGlmaWVyIHRvIGZvcm1hdCB0aGUgdGltZXN0YW1wIGludG8gc29tZXRoaW5nIHJlYWRhYmxlIGZvciB5b3VyIGxvY2FsZSk8L2VtLic7CiRsYW5nWyd2YXJoZWxwX3NtdGZtX3N1Ym1pdF9pcCddID0gJ1RoZSBJUCBhZGRyZXNzIG9mIHRoZSB1c2VyIHN1Ym1pdHRpbmcgdGhlIGZvcm0nOwokbGFuZ1sndmFyaGVscF9zbXRmbV9mb3JtbmFtZSddID0gJ1RoZSBuYW1lIG9mIHRoZSBmb3JtIGJlaW5nIHN1Ym1pdHRlZCc7CiRsYW5nWyd2YXJoZWxwX3NtdGZtX2Zvcm1kZXNjJ10gPSAnVGhlIGRlc2NyaXB0aW9uIDxlbT4oaWYgYW55KTwvZW0+IGFzc29jaWF0ZWQgd2l0aCB0aGUgZm9ybS4nOwokbGFuZ1sndmFyaGVscF9zbXRmbV9yZXF1ZXN0aWQnXSA9ICdUaGUgdW5pcXVlIGlkIGdlbmVyYXRlZCBmb3IgZWFjaCBmb3JtIHN1Ym1pc3Npb24uJzsKJGxhbmdbJ3ZhcmhlbHBfc210Zm1fRU9MJ10gPSAnQW4gZW5kIG9mIGxpbmUgY2hhcmFjdGVyIHNlcXVlbmNlIChtYXkgYmUgcGxhdGZvcm0gc3BlY2lmaWMpLiAgVGhpcyBpcyBzdWl0YWJsZSBmb3IgdXNlIGluIGZpbGUgb3V0cHV0IHRlbXBsYXRlcy4nOwokbGFuZ1sndmFyaGVscF9zbXRmbV9MRiddID0gJ0EgbGluZSBmZWVkIGNoYXJhY3Rlcic7CiRsYW5nWyd2YXJoZWxwX3NtdGZtX1RBQiddID0gJ0EgdGFiIGNoYXJhY3Rlciwgc3VpdGFibGUgZm9yIHVzZSBpbiBmaWxlIG91dHB1dCB0ZW1wbGF0ZXMuJzsKJGxhbmdbJ3ZhcmhlbHBfc210Zm1fdmVyc2lvbiddID0gJ1RoZSBjdXJyZW50IFNtYXJ0Rm9ybXMgdmVyc2lvbiBudW1iZXIuJzsKJGxhbmdbJ2luZm9fZm9ybV9pbmxpbmUnXSA9ICdJZiBlbmFibGVkLCB0aGUgb3V0cHV0IG9mIHRoaXMgZm9ybSA8ZW0+KHdoZW4gaXQgaXMgdGV4dCBiYXNlZCk8L2VtPiB3aWxsIHJlcGxhY2UgdGhlIG9yaWdpbmFsIHRhZy4gIFRoaXMgYWxsb3dzIHRoZSB0YWcgdG8gYmUgaW4gYSBzaWRlYmFyIG9yIGVtYmVkZGVkIGluIGEgY29udGVudCBhcmVhLic7CiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9ucyc7CiRsYW5nWydmb3JtX2lubGluZSddID0gJ0Rpc3BsYXkgZm9ybSBpbmxpbmUnOwokbGFuZ1snZGlzcGxheV9Db21wdXRlZFZhbHVlJ10gPSAnQ29tcHV0ZSBhIHZhbHVlIGFuZCBwbGFjZSB0aGUgcmVzdWx0IGludG8gJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snZWRpdF9jb21wdXRlZF92YWx1ZSddID0gJ0NvbXB1dGVkIFZhbHVlIEZpZWxkJzsKJGxhbmdbJ2luZm9fY29tcHV0ZWRfdmFsdWVfZmllbGQnXSA9ICdTZWxlY3QgdGhlIGZpZWxkIHRoYXQgd2lsbCByZWNlaXZlIHRoZSBvdXRwdXQgb2YgdGhlIHRlbXBsYXRlLic7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7CiRsYW5nWyduYW1lX0NvbXB1dGVkVmFsdWUnXSA9ICdDb21wdXRlIGEgZmllbGQgdmFsdWUnOwokbGFuZ1snaW5mb19maWVsZHNfdGFiJ10gPSAnQmVsb3cgaXMgYSBsaXN0IG9mIGFsbCBvZiB0aGUgaW5wdXQgZmllbGRzIHRoYXQgd2lsbCBiZSBzdWJtaXR0ZWQgd2l0aCB5b3VyIGZvcm0uICBPbmx5IGlucHV0IGZpZWxkcyBmb3Igd2hpY2ggYSBuYW1lIHdhcyBkZXRlY3RlZCBhcmUgbGlzdGVkLic7CiRsYW5nWydub19tZXNzYWdlcyddID0gJ1dvb3QhIFlvdXIgZm9ybSBpcyBsb29raW5nIGdvb2QuJzsKJGxhbmdbJ3R5cGVfU21hcnRGb3JtcyddID0gJ1NtYXJ0Rm9ybXMnOwokbGFuZ1sndHlwZV9Gb3JtJ10gPSAnRm9ybSc7CiRsYW5nWydlcnJfbW9kX3ZhbGlkYXRpb29uZW9ubHknXSA9ICdTb3JyeSwgeW91IGFyZSBhbHJlYWR5IHVzaW5nIHRoaXMgdmFsaWRhdGlvbiBvbiB0aGlzIGZvcm0uJzsKJGxhbmdbJ2Rpc3BsYXlfV2ViSG9va0Rpc3Bvc2l0aW9uJ10gPSAnUG9zdCBmb3JtIHJlc3VsdHMgdG8gJXMnOwokbGFuZ1snaW5mb193ZWJob29rX2V4dHJhdmFycyddID0gJ0VudGVyIGFueSBleHRyYSBmaXhlZCBkYXRhIHRoYXQgc2hvdWxkIGJlIHNlbnQgd2l0aCB0aGUgZm9ybS4gIE9uZSBlbnRyeSBwZXIgbGluZSB3aXRoIHZhcmlhYmxlcyBhbmQgZGF0YSBzZXBhcmF0ZWQgd2l0aCBhbiBlcXVhbCBzaWduLiAgaS5lOjxici8+PHByZT5mb289YmFyPGJyLz5mb28yPWJhcjI8L3ByZT48YnIvPlRoaXMgZmllbGQgaXMgdHJlYXRlZCBhcyBhIHNtYXJ0eSB0ZW1wbGF0ZSBzbyB0aGF0IHlvdSBjYW4gY3JlYXRlIG5ldyBwb3N0IHZhcmlhYmxlcyBiYXNlZCBvbiBmb3JtIGlucHV0Lic7CiRsYW5nWydwcm9tcHRfd2ViaG9va19leHRyYXZhcnMnXSA9ICdFeHRyYSBmb3JtIHZhcmlhYmxlcyc7CiRsYW5nWydpbmZvX3dlYmhvb2tfdXJsJ10gPSAnU3BlY2lmeSB0aGUgY29tcGxldGUgVVJMIHRoYXQgdGhlIGZvcm0gcmVzdWx0cyB3aWxsIGJlIHNlbnQgdG8gdmlhIFBPU1QuJzsKJGxhbmdbJ3Byb21wdF93ZWJob29rX3VybCddID0gJ1dlYkhvb2sgVVJMJzsKJGxhbmdbJ2VkaXRfV2ViSG9va0Rpc3Bvc2l0aW9uJ10gPSAnRWRpdCBhIFdlYkhvb2sgRGlzcG9zaXRpb24nOwokbGFuZ1snbmFtZV9XZWJIb29rRGlzcG9zaXRpb24nXSA9ICdQT1NUIGZvcm0gcmVzdWx0cyB0byBhIFVSTC9XZWJIb29rJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7CiRsYW5nWydkaXNwbGF5X1VuaXF1ZUZpbGVEaXNwb3NpdGlvbiddID0gJ1N0b3JlIGZvcm0gcmVzdWx0cyBpbiBhIHVuaXF1ZSBmaWxlIGluICZxdW90OyZsdDtyb290Jmd0Oy8lcyZxdW90Oyc7CiRsYW5nWyduYW1lX1VuaXF1ZUZpbGVEaXNwb3NpdGlvbiddID0gJ1N0b3JlIGZvcm0gcmVzdWx0cyBpbiBhIHVuaXF1ZSBmaWxlIGZvciBlYWNoIHN1Ym1pc3Npb24nOwokbGFuZ1snaW5mb191bmlxdWVmaWxlX2ZvbGRlciddID0gJ1NwZWNpZnkgYSBmb2xkZXIgPGVtPihyZWxhdGl2ZSB0byB0aGUgQ01TTVMgcm9vdCBkaXJlY3RvcnkpIHRvIHRoZSBzdG9yZSBvdXRwdXQgZmlsZXMuJzsKJGxhbmdbJ2VkaXRfdW5pcXVlZmlsZV9kaXNwb3NpdGlvbiddID0gJ1N0b3JlIHJlc3VsdHMgaW4gYSB1bmlxdWUgZmlsZSc7CiRsYW5nWydwcm9tcHRfdW5pcXVlZmlsZV9mb2xkZXInXSA9ICdPdXRwdXQgZm9sZGVyJzsKJGxhbmdbJ25hbWVfRW1haWxGaWVsZFZhbGlkYXRvciddID0gJ0Vuc3VyZSBhIHNwZWNpZmljIGZpZWxkIHZhbHVlIGNvbnRhaW5zIGVtYWlsIGFkZHJlc3Nlcyc7CiRsYW5nWydlZGl0X2VtYWlsX2ZpZWxkdmFsaWRhdGlvbiddID0gJ1ZhbGlkYXRlIHRoYXQgc3VibWl0dGVkIHZhbHVlKHMpIGZvciBhIGZpZWxkIGNvbnRhaW4gZW1haWwgYWRkcmVzc2VzJzsKJGxhbmdbJ2Rpc3BsYXlfRW1haWxGaWVsZFZhbGlkYXRpb24nXSA9ICdFbnN1cmUgdGhhdCB2YWx1ZXMgZm9yIGZpZWxkICVzIGFyZSB2YWxpZCBlbWFpbCBhZGRyZXNzZXMnOwokbGFuZ1snZGlzcGxheV9SZWdleEZpZWxkVmFsaWRhdGlvbiddID0gJ0Vuc3VyZSB0aGF0IHZhbHVlcyBmb3IgZmllbGQgJXMgbWF0Y2ggdGhlIHBhdHRlcm4gJXMnOwokbGFuZ1snbmFtZV9SZWdleEZpZWxkVmFsaWRhdG9yJ10gPSAnTWF0Y2ggZmllbGQgdmFsdWVzIGFnYWluc3QgYSByZWd1bGFyIGV4cHJlc3Npb24nOwokbGFuZ1snZWRpdF9yZWdleF9maWVsZHZhbGlkYXRpb24nXSA9ICdWYWxpZGF0ZSB0aGF0IHN1Ym1pdHRlZCB2YWx1ZShzKSBmb3IgYSBmaWVsZCBtYXRjaCBhIHJlZ3VsYXIgZXhwcmVzc2lvbic7CiRsYW5nWydwcm9tcHRfcmVnZXhfcGF0dGVybiddID0gJ1JlZ3VsYXIgRXhwcmVzc2lvbic7CiRsYW5nWydtc2dfdmFsaWRhdGlvbl9zYXZlZCddID0gJ1ZhbGlkYXRpb24gc2F2ZWQuLi4gUGxlYXNlIHNhdmUgdGhlIGZvcm0uJzsKJGxhbmdbJ2Rpc3BsYXlfSHRtbERldGVjdGlvblZhbGlkYXRpb24nXSA9ICdEZXRlY3QgSFRNTCB0YWdzIGluIGZvcm0gaW5wdXQnOwokbGFuZ1snZXJyX3NlY3VyaXR5X3JlcXVlc3RndWlkJ10gPSAnU29ycnksIHNvbWV0aGluZyBoYXMgZ29uZSB3cm9uZy4gIFdlIGNvdWxkIG5vdCBmaW5kIGEgdmFsaWQgdW5pcXVlIHJlcXVlc3QgaWQgaW4gdGhlIHBvc3RlZCBkYXRhJzsKJGxhbmdbJ2NhcHRjaGFfdmFsaWRhdGUnXSA9ICdQbGVhc2UgdmFsaWRhdGUgdGhlIGNhcHRjaGEgdGV4dCc7CiRsYW5nWydlcnJfZm9ybV9zY2FubmVlZGVkJ10gPSAnVGhlIHRlbXBsYXRlIG9iamVjdCBoYXMgYmVlbiBtb2RpZmllZC4gIFBsZWFzZSBzY2FuIHRoZSBmb3JtLjxici8+PHN0cm9uZz5SZW1pbmRlcjo8L3N0cm9uZz4gSWYgeW91IG1vZGlmaWVkIHRoZSBpbnB1dCBmaWVsZHMgaW4gdGhpcyBmb3JtIHlvdSBtYXkgYWxzbyBuZWVkIHRvIGFkanVzdCB5b3VyIGhhbmRsZXIgdGVtcGxhdGVzLic7CiRsYW5nWydkaXNwbGF5X0Ryb3Bkb3duRW1haWxEaXNwb3NpdGlvbiddID0gJ1NlbmQgcmVzdWx0cyB2aWEgZW1haWwgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGZpZWxkICVzJzsKJGxhbmdbJ3Byb21wdF9kZmx0X2VtYWlsX2FkZHJlc3MnXSA9ICdEZWZhdWx0IGVtYWlsIGFkZHJlc3MnOwokbGFuZ1sncHJvbXB0X2RkZW1haWxfdmFsdWVfbWFwJ10gPSAnTWFwIGZpZWxkIHZhbHVlcyB0byBFbWFpbCBhZGRyZXNzZXMnOwokbGFuZ1snaW5mb19kZmx0X2VtYWlsX2FkZHJlc3MnXSA9ICdFbnRlciBhbiBlbWFpbCBhZGRyZXNzIHRvIHVzZSBpbiB0aGUgZXZlbnQgdGhhdCBhIHZhbHVlIHNlbGVjdGVkIGJ5IHRoZSB1c2VyIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAgYmVsb3cuJzsKJGxhbmdbJ2luZm9fZGRlbWFpbF92YWx1ZV9tYXAnXSA9ICdFbnRlciBhIG1hcCAob25lIGVudHJ5IHBlciBsaW5lKSBvZiB2YWx1ZXMgYXZhaWxhYmxlIGluIHRoZSBmaWVsZCB0byBlbWFpbCBhZGRyZXNzZXMuICBWYWx1ZXMgc2hvdWxkIGJlIHNlcGFyYXRlZCBmcm9tIGVtYWlscyB1c2luZyBhIHBpcGUgPGVtPih8KTwvZW0+IGNoYXJhY3Rlci4nOwokbGFuZ1snZWRpdF9kZGVtYWlsX2Rpc3Bvc2l0aW9uJ10gPSAnU2VuZCBvdXRwdXQgdmlhIGVtYWlsIGRlcGVuZGluZyBvbiBhIGRyb3Bkb3duL211bHRpLW9wdGlvbiBmaWVsZCc7CiRsYW5nWyduYW1lX0Ryb3Bkb3duRW1haWxEaXNwb3NpdGlvbiddID0gJ1NlbmQgZm9ybSBzdWJtaXNzaW9uIHZpYSBlbWFpbCBiYXNlZCBvbiBhIGRyb3Bkb3duJzsKJGxhbmdbJ2luZm9fZGRlbWFpbF9maWVsZCddID0gJ1RoZSBmaWVsZHMgbGlzdGVkIGFib3ZlIGFyZSB0aGUgZmllbGRzIGRldGVjdGVkIHRvIGFsbG93IHByZWRlZmluZWQgdmFsdWVzLiAgU2VsZWN0IG9uZSBvZiB0aG9zZSBmaWVsZHMuICBUaGUgdmFsdWUgb2YgdGhpcyBmaWVsZCBpbiB0aGUgZm9ybSBzdWJtaXNzaW9uIHdpbGwgYmUgY3Jvc3MgcmVmZXJlbmNlZCBhZ2FpbnN0IHRoZSBtYXAgYmVsb3cgdG8gZGV0ZXJtaW5lIHRoZSBlbWFpbCBhZGRyZXNzIHRvIHNlbmQgdG8uJzsKJGxhbmdbJ2luZm9fZGRmaWxlX2ZpZWxkJ10gPSAnVGhlIGZpZWxkcyBsaXN0ZWQgYWJvdmUgYXJlIHRoZSBmaWVsZHMgZGV0ZWN0ZWQgdG8gYWxsb3cgcHJlZGVmaW5lZCB2YWx1ZXMuICBTZWxlY3Qgb25lIG9mIHRob3NlIGZpZWxkcyB0byBiYXNlIHRoZSBvdXRwdXQgZmlsZW5hbWUgdXBvbi4nOwokbGFuZ1sncHJvbXB0X2hkcnRlbXBsYXRlJ10gPSAnSGVhZGVyIFRlbXBsYXRlJzsKJGxhbmdbJ3Byb21wdF9lbnRyeXRlbXBsYXRlJ10gPSAnRW50cnkgVGVtcGxhdGUnOwokbGFuZ1snZXJyX2R1cGxpY2F0ZV9maWVsZG5hbWUnXSA9ICdUaGUgZmllbGQgYXQgbGluZSAlcyBoYXMgdGhlIHNhbWUgbmFtZSBhcyB0aGUgZmllbGQgYXQgbGluZSAlcyc7CiRsYW5nWydlcnJfZHVwbGljYXRlX2ZpZWxkaWQnXSA9ICdUaGUgZmllbGQgYXQgbGluZSAlcyBoYXMgdGhlIHNhbWUgaWQgKCVzKSBhcyB0aGUgZmllbGQgYXQgbGluZSAlcyc7CiRsYW5nWydlcnJfaW5wdXRfbWlzc2luZ3ZhbHVlJ10gPSAnVGhlICVzIGZpZWxkIHdpdGggbmFtZSAlcyBhdCBhYm91dCBsaW5lICVkIGlzIG1pc3NpbmcgYSB2YWx1ZSBhdHRyaWJ1dGUnOwokbGFuZ1sncHJvbXB0X2ZpbmFsYWN0aW9uJ10gPSAnQmVoYXZpb3IgYWZ0ZXIgYWxsIG90aGVyIGRpc3Bvc2l0aW9ucyBhcmUgY29tcGxldGUnOwokbGFuZ1sncHJvbXB0X2RvZmluYWxtc2cnXSA9ICdEaXNwbGF5IGEgbWVzc2FnZSB0byB0aGUgdXNlcic7CiRsYW5nWydwcm9tcHRfZG9maW5hbHJlZGlyZWN0J10gPSAnUmVkaXJlY3QgdG8gYSBjb250ZW50IHBhZ2UnOwokbGFuZ1sncHJvbXB0X2ZpbmFscGFnZSddID0gJ1BhZ2UgdG8gcmVkaXJlY3QgdG8nOwokbGFuZ1sncHJvbXB0X2ZpbmFsbWVzc2FnZSddID0gJ1NtYXJ0eSB0ZW1wbGF0ZSBmb3IgdGhlIGZpbmFsIG1lc3NhZ2UgdG8gZGlzcGxheSB0byB0aGUgdXNlcic7CiRsYW5nWydpbmZvX2ZpbmFsX2Rpc3Bvc2l0aW9uJ10gPSAnVGhpcyB0YWIgaXMgdXNlZCB0byBkZWZpbmUgdGhlIGZpbmFsIGRpc3Bvc2l0aW9uLiAgSXQgaXMgcG9zc2libGUgdGhhdCB0aGlzIGZpbmFsIGRpc3Bvc2l0aW9uIGlzIG5vdCBwZXJmb3JtZWQsIGRlcGVuZGluZyB1cG9uIHRoZSBiZWhhdmlvciBvZiBvdGhlciBkaXNwb3NpdGlvbnMuJzsKJGxhbmdbJ2luZm9fZm9ybV9oYW5kbGVycyddID0gJ1RoaXMgdGFiIGlzIHVzZWQgdG8gZGVmaW5lIGhvdyB0aGUgdXNlci1lbnRlcmVkIGluZm9ybWF0aW9uIHdpbGwgYmUgcHJvY2Vzc2VkIGFmdGVyIGZvcm0gc3VibWl0LiAgTm90ZSwgdGhhdCBpdCBpcyBwb3NzaWJsZSB0aGF0IHNvbWUgaGFuZGxlcnMgbWF5IHN0b3AgdGhlIHByb2Nlc3Npbmcgb2YgZnVydGhlciBoYW5kbGVycywgb3IgZXZlbiB0aGUgZmluYWwgZGlzcG9zaXRpb24uIHNvIHRoZWlyIG9yZGVyIG1heSBiZSBpbXBvcnRhbnQuJzsKJGxhbmdbJ2luZm9fZm9ybV92YWxpZGF0aW9ucyddID0gJ1ZhbGlkYXRpb25zIGFyZSB0ZXN0cyB0aGF0IGFyZSBydW4gb24geW91ciBmb3JtIGFmdGVyIGEgdXNlciBzdWJtaXRzIGl0LiAgSWYgYSB0ZXN0IGZhaWxzLCB0aGVuIGFuIGVycm9yIG1lc3NhZ2UgaXMgZGlzcGxheWVkIGFuZCB5b3VyIGZvcm0gaXMgcmUtZGlzcGxheWVkLiAgTm90ZSB0aGF0IGZpbGUgdXBsb2FkcyBjYW4gYmUgbG9zdCB3aGVuIGFuIGVycm9yIG9jY3Vycy4nOwokbGFuZ1snaW5mb19mb3JtX21lc3NhZ2VzJ10gPSAnVGhlIG1lc3NhZ2VzIGJlbG93IGluZGljYXRlIHBvdGVudGlhbCBwcm9ibGVtcyBkZXRlY3RlZCB3aGVuIHNjYW5uaW5nIHRoZSB0ZW1wbGF0ZSBwcm92aWRlZC4gIFBsZWFzZSByZXNvbHZlIGFzIG1hbnkgb2YgdGhlc2UgYXMgcG9zc2libGUgdG8gZW5zdXJlIHRoYXQgeW91ciBmb3JtIGJlaGF2ZXMgd2VsbC4nOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snbXVsdGlwbGUnXSA9ICdNdWx0aXBsZSc7CiRsYW5nWydtc2dfY2FuY2VsbGVkJ10gPSAnQ2FuY2VsbGVkJzsKJGxhbmdbJ21zZ19oYW5kbGVyX3NhdmVkJ10gPSAnSGFuZGxlciBlZGl0ZWQuLi4gUGxlYXNlIHNhdmUgdGhlIGZvcm0uJzsKJGxhbmdbJ3Byb21wdF9lbWFpbF9ib2R5X3RlbXBsYXRlJ10gPSAnQm9keSBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfZW1haWxfc3ViamVjdF90ZW1wbGF0ZSddID0gJ1N1YmplY3QgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X2Nzdl9lbWFpbF9hZGRyZXNzZXMnXSA9ICdFbWFpbCBBZGRyZXNzZXMgKGNzdiknOwokbGFuZ1snbmFtZV9IdG1sRGV0ZWN0aW9uVmFsaWRhdG9yJ10gPSAnRGV0ZWN0IEhUTUwgdGFncyBpbiBpbnB1dCB2YWx1ZXMnOwokbGFuZ1snbmFtZV9TZWxlY3RGaWVsZFZhbGlkYXRvciddID0gJ1ZhbGlkYXRlIHZhbHVlcyBmb3Igc2VsZWN0IGZpZWxkcyc7CiRsYW5nWyduYW1lX0Zsb2F0RmllbGRWYWxpZGF0b3InXSA9ICdGbG9hdCBGaWVsZCBWYWxpZGF0b3InOwokbGFuZ1snbmFtZV9JbnRlZ2VyRmllbGRWYWxpZGF0b3InXSA9ICdJbnRlZ2VyIEZpZWxkIFZhbGlkYXRvcic7CiRsYW5nWydkaXNwbGF5X0Zsb2F0RmllbGRWYWxpZGF0aW9uMSddID0gJ1ZhbGlkYXRlIHRoYXQgdGhlICVzIGZpZWxkIGhhcyBhIHZhbHVlIG9mIGF0IGxlYXN0ICUuM2YnOwokbGFuZ1snZGlzcGxheV9GbG9hdEZpZWxkVmFsaWRhdGlvbjInXSA9ICdWYWxpZGF0ZSB0aGF0IHRoZSAlcyBmaWVsZCBoYXMgYSB2YWx1ZSBvZiBubyBtb3JlIHRoYW4gJS4zZic7CiRsYW5nWydkaXNwbGF5X0Zsb2F0RmllbGRWYWxpZGF0aW9uMyddID0gJ1ZhbGlkYXRlIHRoYXQgdGhlICVzIGZpZWxkIGhhcyBhIHZhbHVlIGJldHdlZW4gJS4zZiBhbmQgJS4zZic7CiRsYW5nWydkaXNwbGF5X0ludGVnZXJGaWVsZFZhbGlkYXRpb24xJ10gPSAnVmFsaWRhdGUgdGhhdCB0aGUgJXMgZmllbGQgaGFzIGEgdmFsdWUgb2YgYXQgbGVhc3QgJWQnOwokbGFuZ1snZGlzcGxheV9JbnRlZ2VyRmllbGRWYWxpZGF0aW9uMiddID0gJ1ZhbGlkYXRlIHRoYXQgdGhlICVzIGZpZWxkIGhhcyBhIHZhbHVlIG9mIG5vIG1vcmUgdGhhbiAlZCc7CiRsYW5nWydkaXNwbGF5X0ludGVnZXJGaWVsZFZhbGlkYXRpb24zJ10gPSAnVmFsaWRhdGUgdGhhdCB0aGUgJXMgZmllbGQgaGFzIGEgdmFsdWUgYmV0d2VlbiAlZCBhbmQgJWQnOwokbGFuZ1snZWRpdF9mbG9hdF9maWVsZHZhbGlkYXRpb24nXSA9ICdFbnN1cmUgdGhhdCBhIGZpZWxkIGlzIGEgZmxvYXRpbmcgcG9pbnQgdmFsdWUgd2l0aGluIGEgc3BlY2lmaWVkIHJhbmdlLic7CiRsYW5nWydlZGl0X2ludGVnZXJfZmllbGR2YWxpZGF0aW9uJ10gPSAnRW5zdXJlIHRoYXQgYSBmaWVsZCBpcyBhbiBpbnRlZ2VyIHZhbHVlIHdpdGhpbiBhIHNwZWNpZmllZCByYW5nZS4nOwokbGFuZ1sncHJvbXB0X21heHZhbHVlJ10gPSAnTWF4aW11bSBWYWx1ZSc7CiRsYW5nWydwcm9tcHRfbWludmFsdWUnXSA9ICdNaW5pbXVtIFZhbHVlJzsKJGxhbmdbJ2Vycl9tb2RfdmFsaWRhdGlvbm9uZW9ubHknXSA9ICdPbmx5IG9uZSBvZiB0aGVzZSB2YWxpZGF0aW9ucyBpcyBhbGxvd2VkIHBlciBmb3JtJzsKJGxhbmdbJ2Rpc3BsYXlfU2VsZWN0RmllbGRWYWxpZGF0aW9uJ10gPSAnVmFsaWRhdGUgdGhlIHZhbHVlIG9mIHNlbGVjdCBmaWVsZHMnOwokbGFuZ1snYWRkX3ZhbGlkYXRpb24nXSA9ICdBZGQgYSB2YWxpZGF0aW9uJzsKJGxhbmdbJ2Vycm9yX2JvdGRldGVjdGVkJ10gPSAnSG1tbS4uLiBTb21ldGhpbmcgaGFzIGdvbmUgd3JvbmcgKEVCMDAxKSc7CiRsYW5nWydtc2dfZm9ybXNhdmVkJ10gPSAnRm9ybSBzYXZlZCc7CiRsYW5nWydtc2dfZm9ybWRlbGV0ZWQnXSA9ICdGb3JtIGRlbGV0ZWQnOwokbGFuZ1snZmluYWwnXSA9ICdGb3JtIG91dHB1dCc7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsKJGxhbmdbJ2Rpc3BsYXlfRHJvcGRvd25GaWxlRGlzcG9zaXRpb24nXSA9ICdTdG9yZSByZXN1bHRzIHRvIGEgZmlsZSBpbiAlcyBiYXNlZCBvbiB2YWx1ZSBvZiBmaWVsZCAlcyc7CiRsYW5nWydyZXNldF90cGxzJ10gPSAnUmVzZXQgVGVtcGxhdGVzJzsKJGxhbmdbJ2VkaXRfZGRmaWxlX2Rpc3Bvc2l0aW9uJ10gPSAnU2F2ZSBvdXRwdXQgdG8gZmlsZSBkZXBlbmRpbmcgb24gZHJvcGRvd24vbXVsdGktb3B0aW9uIGZpZWxkJzsKJGxhbmdbJ3Byb21wdF9maWVsZCddID0gJ0ZpZWxkJzsKJGxhbmdbJ3Byb21wdF9kZGZpbGVfZm9sZGVyJ10gPSAnT3V0cHV0IEZvbGRlcic7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ3RhZyddID0gJ1RhZyc7CiRsYW5nWydzYXZlJ10gPSAnU2F2ZSc7CiRsYW5nWydkaXNwbGF5X0VtYWlsRml4ZWRBZGRyZXNzZXNEaXNwb3NpdGlvbjEnXSA9ICdFbWFpbCByZXN1bHRzIHRvICVzJzsKJGxhbmdbJ2Rpc3BsYXlfRW1haWxGaXhlZEFkZHJlc3Nlc0Rpc3Bvc2l0aW9uMiddID0gJ0VtYWlsIHJlc3VsdHMgdG8gJWQgYWRkcmVzc2VzJzsKJGxhbmdbJ2Zvcm0nXSA9ICdGb3JtJzsKJGxhbmdbJ3Byb21wdF9hZG1pbl9ncm91cCddID0gJ0FkbWluIEdyb3VwJzsKJGxhbmdbJ2Rpc3BsYXlfRW1haWxBZG1pbkdyb3VwRGlzcG9zaXRpb24nXSA9ICdFbWFpbCByZXN1bHRzIHRvIGFsbCBtZW1iZXJzIG9mIHRoZSAiJXNcIiBhZG1pbiBncm91cCc7CiRsYW5nWyduYW1lX0VtYWlsQWRtaW5Hcm91cERpc3Bvc2l0aW9uJ10gPSAnRW1haWwgcmVzdWx0cyB0byBtZW1iZXJzIG9mIGFuIGFkbWluIGdyb3VwJzsKJGxhbmdbJ25hbWVfRW1haWxGaXhlZEFkZHJlc3Nlc0Rpc3Bvc2l0aW9uJ10gPSAnRW1haWwgcmVzdWx0cyB0byBzcGVjaWZpZWQgYWRkcmVzc2VzJzsKJGxhbmdbJ2Rpc3BsYXlfRmxhdEZpbGVEaXNwb3NpdGlvbiddID0gJ1NhdmUgZm9ybSByZXN1bHRzIHRvIGEgZmxhdCBGaWxlICVzJzsKJGxhbmdbJ2luZm9fRmxhdEZpbGVfZmlsZW5hbWUnXSA9ICdUaGUgcGF0aCAocmVsYXRpdmUgdG8gdGhlIHdlYnNpdGUgcm9vdCkgb2YgdGhlIEZsYXQgZmlsZSc7CiRsYW5nWydwcm9tcHRfZmlsZW5hbWUnXSA9ICdGaWxlbmFtZSc7CiRsYW5nWydlcnJfbm9kaXNwb3NpdGlvbiddID0gJ1BsZWFzZSBzZWxlY3QgYSBoYW5kbGVyJzsKJGxhbmdbJ25hbWVfRmxhdEZpbGVEaXNwb3NpdGlvbiddID0gJ1NhdmUgZm9ybSByZXN1bHRzIHRvIGEgZmxhdCBGaWxlJzsKJGxhbmdbJ25hbWVfRHJvcGRvd25GaWxlRGlzcG9zaXRpb24nXSA9ICdTYXZlIGZvcm0gcmVzdWx0cyB0byBhIGZpbGUgYmFzZWQgb24gYSBkcm9wZG93bic7CiRsYW5nWydhZGRfZGlzcG9zaXRpb24nXSA9ICdBZGQgYSBIYW5kbGVyJzsKJGxhbmdbJ2FkZCddID0gJ0FkZCc7CiRsYW5nWydoYW5kbGVyJ10gPSAnSGFuZGxlcic7CiRsYW5nWydoYW5kbGVycyddID0gJ0hhbmRsZXJzJzsKJGxhbmdbJ3ZhbGlkYXRpb24nXSA9ICdWYWxpZGF0aW9uJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NtYXJ0Rm9ybXMnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSBmb3IgaGFuZGxpbmcgZm9ybXMgdGhhdCB3ZXJlIGNyZWF0ZWQgYW5kIGRlc2lnbmVkIGJ5IGEgZGV2ZWxvcGVyJzsKJGxhbmdbJ2FkZF9uZXdfZm9ybSddID0gJ0NyZWF0ZSBhIG5ldyBmb3JtJzsKJGxhbmdbJ2VkaXRpbmdfZm9ybSddID0gJ0VkaXQgYSBmb3JtJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snZm9ybV9uYW1lJ10gPSAnRm9ybSBOYW1lJzsKJGxhbmdbJ3BoX2Zvcm1fbmFtZSddID0gJ0VudGVyIGEgdW5pcXVlIG5hbWUnOwokbGFuZ1snZm9ybV90ZW1wbGF0ZSddID0gJ0Zvcm0gVGVtcGxhdGUnOwokbGFuZ1snc2NhbiddID0gJ1NjYW4nOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydwaF9mb3JtX2Rlc2MnXSA9ICdFbnRlciBhIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoaXMgZm9ybSc7CiRsYW5nWydlcnJfbm9mb3JtcyddID0gJ0NvdWxkIG5vdCBmaW5kIGFueSBmb3JtIHRhZ3MnOwokbGFuZ1snZXJyX21hbnlmb3JtcyddID0gJ0ZvdW5kIG11bHRpcGxlIGZvcm0gdGFncyc7CiRsYW5nWydlcnJfbWlzc2luZ19mb3Jtc3RhcnQnXSA9ICdDb3VsZCBub3QgZmluZCBhbnkgZm9ybSB0YWdzJzsKJGxhbmdbJ2Vycl9taXNzaW5nX2Zvcm1lbmQnXSA9ICdDb3VsZCBub3QgZmluZCBhbnkgZW5kIGZvcm0gdGFncyc7CiRsYW5nWydlcnJfbWlzc2luZ19tZXNzYWdlc3RyaW5nJ10gPSAnQ291bGQgbm90IGZpbmQgYSBjYWxsIHRvIHtzbXRmbV9mb3JtX2Vycm9yc30gaW4gdGhlIHRlbXBsYXRlLic7CiRsYW5nWydlcnJfaW5wdXRfbWlzc2luZ25hbWUnXSA9ICdUaGUgJXMgZmllbGQgYXQgYWJvdXQgbGluZSAlcyBpcyBtaXNzaW5nIGEgbmFtZS4nOwokbGFuZ1snZXJyX2lucHV0X2ludmFsaWRuYW1lJ10gPSAnVGhlICVzIGZpZWxkIGF0IGFib3V0IGxpbmUgJXMgaGFzIGEgcHJvYmxlbWF0aWMgbmFtZSBvZjogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snZXJyX2lucHV0X25vdGRhdGUnXSA9ICdPbmUgb3IgbW9yZSB2YWx1ZXMgb2YgdGhlICVzIGZpZWxkIGFyZSBub3QgdmFsaWQgZGF0ZXMuJzsKJGxhbmdbJ2Vycl9pbnB1dF9ub3RlbWFpbCddID0gJ09uZSBvciBtb3JlIHZhbHVlcyBvZiB0aGUgJXMgZmllbGQgYXJlIG5vdCB2YWxpZCBlbWFpbCBhZGRyZXNzZXMuJzsKJGxhbmdbJ2Vycl9pbnB1dF9taXNzaW5nbGFiZWwnXSA9ICdDb3VsZCBub3QgZmluZCBhIGxhYmVsIGZvciBmaWVsZCAmcXVvdDslcyZxdW90OyBhdCBhYm91dCBsaW5lICVkLic7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydsYWJlbCddID0gJ0xhYmVsJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ25vZGUnXSA9ICdOb2RlJzsKJGxhbmdbJ21lc3NhZ2VzJ10gPSAnTWVzc2FnZXMnOwokbGFuZ1snZmllbGRzJ10gPSAnRmllbGRzJzsK]]></data>
	</file>
	<file>
	  <filename>/lib</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/abstract.DOMField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgphYnN0cmFjdCBjbGFzcyBET01GaWVsZCBleHRlbmRzIEZpZWxkCnsKICAgIHByaXZhdGUgJF9saW5lOwogICAgcHJpdmF0ZSAkX3ZhbHVlOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChcRE9NTm9kZSAkbm9kZSkKICAgIHsKICAgICAgICAkbm9kZW5hbWUgPSAkbm9kZS0+bm9kZU5hbWU7CiAgICAgICAgJGF0dHJpYnMgPSAkdGhpcy0+Z2V0QXR0cmlidXRlc0FycmF5KCRub2RlLT5hdHRyaWJ1dGVzKTsKICAgICAgICAkdGhpcy0+X2xpbmUgPSAkbm9kZS0+Z2V0TGluZU5vKCk7CiAgICAgICAgJHRoaXMtPl92YWx1ZSA9ICR0aGlzLT5nZXROb2RlVmFsdWUoICRub2RlICk7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCggJG5vZGVuYW1lLCAkYXR0cmlicyApOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXROb2RlVmFsdWUoXERPTU5vZGUgJG5vZGUpCiAgICB7CiAgICAgICAgcmV0dXJuICRub2RlLT5ub2RlVmFsdWU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEF0dHJpYnV0ZXNBcnJheShcRE9NTmFtZWROb2RlTWFwICRtYXApCiAgICB7CiAgICAgICAgJG91dCA9IFtdOwogICAgICAgIGZvcmVhY2goICRtYXAgYXMgJGF0dHIgKSB7CiAgICAgICAgICAgICRvdXRbJGF0dHItPm5vZGVOYW1lXSA9ICRhdHRyLT5ub2RlVmFsdWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfc2hvcnRfYXR0cmlidXRlKCAka2V5ICkKICAgIHsKICAgICAgICAkdmFsID0gJHRoaXMtPmhhc19hdHRyaWJ1dGUoICRrZXkgKTsKICAgICAgICAkc3RyID0gJHRoaXMtPmdldF9hdHRyaWJ1dGUoICRrZXkgKTsKICAgICAgICBpZiggc3RybGVuKCRzdHIpICkgJHZhbCA9ICRzdHI7CiAgICAgICAgcmV0dXJuICR2YWw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF92YWx1ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdmFsdWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9saW5lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9saW5lOwogICAgfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/abstract.Field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgphYnN0cmFjdCBjbGFzcyBGaWVsZAp7CiAgICBwcml2YXRlICRfYXR0cmlicyA9IFtdOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggJG5vZGVuYW1lLCBhcnJheSAkYXR0cmlidXRlcyApCiAgICB7CiAgICAgICAgJHRoaXMtPl9ub2RlbmFtZSA9IHN0cnRvbG93ZXIodHJpbSgkbm9kZW5hbWUpKTsKICAgICAgICBmb3JlYWNoKCAkYXR0cmlidXRlcyBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICAgICAgICAgICRrZXkgPSBzdHJ0b2xvd2VyKCRrZXkpOwogICAgICAgICAgICAkdGhpcy0+X2F0dHJpYnNbJGtleV0gPSAkdmFsOwogICAgICAgIH0KICAgICAgICBpZiggIWlzc2V0KCR0aGlzLT5fYXR0cmlic1sndHlwZSddKSApIHsKICAgICAgICAgICAgaWYoICR0aGlzLT5fbm9kZW5hbWUgPT0gJ2lucHV0JyApICR0aGlzLT5fYXR0cmlic1sndHlwZSddID0gJ3RleHQnOwogICAgICAgICAgICBpZiggJHRoaXMtPl9ub2RlbmFtZSA9PSAnYnV0dG9uJyApICR0aGlzLT5fYXR0cmlic1sndHlwZSddID0gJ3N1Ym1pdCc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPl9hdHRyaWJzWyd0eXBlJ10gPSBzdHJ0b2xvd2VyKCR0aGlzLT5fYXR0cmlic1sndHlwZSddKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmdldF9hdHRyaWJ1dGUoJ25hbWUnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X25vZGVuYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9ub2RlbmFtZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX2F0dHJpYnV0ZSggJGtleSApCiAgICB7CiAgICAgICAgJGtleSA9IHN0cnRvbG93ZXIodHJpbSgka2V5KSk7CiAgICAgICAgaWYoICEka2V5ICkgcmV0dXJuOwogICAgICAgIHJldHVybiBhcnJheV9rZXlfZXhpc3RzKCRrZXksICR0aGlzLT5fYXR0cmlicyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9hdHRyaWJ1dGUoJGtleSkKICAgIHsKICAgICAgICAka2V5ID0gc3RydG9sb3dlcih0cmltKCRrZXkpKTsKICAgICAgICBpZiggISRrZXkgKSByZXR1cm47CiAgICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fYXR0cmlic1ska2V5XSkgKSByZXR1cm4gJHRoaXMtPl9hdHRyaWJzWyRrZXldOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfc2lnbmF0dXJlKCkKICAgIHsKICAgICAgICByZXR1cm4gbWQ1KF9fQ0xBU1NfXy4kdGhpcy0+X3R5cGUuJHRoaXMtPl9ub2RlbmFtZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9hdHRyaWJ1dGVzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9hdHRyaWJzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfYXR0cmlidXRlc19ieV9wcmVmaXgoICRwcmVmaXggKQogICAgewogICAgICAgICRwcmVmaXggPSBzdHJ0b2xvd2VyKHRyaW0oJHByZWZpeCkpOwogICAgICAgICRvdXQgPSBbXTsKICAgICAgICBmb3JlYWNoKCAkdGhpcy0+X2F0dHJpYnMgYXMgJGtleSA9PiAkdmFsICkgewogICAgICAgICAgICBpZiggc3RhcnRzd2l0aCggJGtleSwgJHByZWZpeCkgKSAkb3V0WyRrZXldID0gJHZhbDsKICAgICAgICB9CiAgICAgICAgaWYoIGNvdW50KCRvdXQpICkgcmV0dXJuICRvdXQ7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/abstract.FormTester.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgphYnN0cmFjdCBjbGFzcyBGb3JtVGVzdGVyIGltcGxlbWVudHMgSUZvcm1UZXN0ZXIKewogICAgcHJpdmF0ZSAkX3NjYW5uZXI7CiAgICBwcml2YXRlICRfdGVzdHM7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCBGb3JtU2Nhbm5lciAkc2Nhbm5lciwgYXJyYXkgJHRlc3RzID0gbnVsbCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9zY2FubmVyID0gJHNjYW5uZXI7CiAgICAgICAgJHRoaXMtPl90ZXN0cyA9ICR0ZXN0czsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X3Rlc3RzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl90ZXN0czsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2Zvcm1zKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9zY2FubmVyLT5nZXRfZm9ybXMoKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2lucHV0cygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fc2Nhbm5lci0+Z2V0X2ZpZWxkcygpOwogICAgfQoKfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.CaptchaModuleProvider.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CnVzZSBDTVNNb2R1bGU7CgpjbGFzcyBDYXB0Y2hhTW9kdWxlUHJvdmlkZXIgaW1wbGVtZW50cyBJQ2FwdGNoYVByb3ZpZGVyCnsKICAgIHByaXZhdGUgJF9jYXB0Y2hhX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIENNU01vZHVsZSAkY2FwdGNoYSApCiAgICB7CiAgICAgICAgaWYoICFtZXRob2RfZXhpc3RzKCAkY2FwdGNoYSwgJ0NoZWNrQ2FwdGNoYScgKSB8fCAhbWV0aG9kX2V4aXN0cyggJGNhcHRjaGEsICdOZWVkc0lucHV0RmllbGQnKSApIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oICRjYXB0Y2hhLT5HZXROYW1lKCkuJyBpcyBub3QgYSB2YWxpZCBjYXB0Y2hhIG1vZHVsZScpOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+X2NhcHRjaGFfbW9kID0gbmV3IE1vZHVsZVJlZmVyZW5jZSggJGNhcHRjaGEtPkdldE5hbWUoKSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfY2FwdGNoYV9pbnB1dGZpZWxkKCkKICAgIHsKICAgICAgICBpZiggJHRoaXMtPl9jYXB0Y2hhX21vZC0+TmVlZHNJbnB1dEZpZWxkKCkgKSB7CiAgICAgICAgICAgIHJldHVybiAnPGlucHV0IG5hbWU9InNtdGZtX2lucHV0X2NhcHRjaGEiIGNsYXNzPSJzbXRmbV9pbnB1dF9jYXB0Y2hhIiBhdXRvY29tcGxldGU9Im9mZiIvPic7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfY2FwdGNoYV9kaXNwbGF5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9jYXB0Y2hhX21vZC0+Z2V0Q2FwdGNoYSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZV9jYXB0Y2hhKCkKICAgIHsKICAgICAgICAkaW5wdXQgPSBudWxsOwogICAgICAgICRtb2QgPSAkdGhpcy0+X2NhcHRjaGFfbW9kOwogICAgICAgIGlmKCAkbW9kLT5OZWVkc0lucHV0RmllbGQoKSApICRpbnB1dCA9IFx4dF9wYXJhbTo6Z2V0X3N0cmluZygkX1JFUVVFU1QsJ3NtdGZtX2lucHV0X2NhcHRjaGEnKTsKICAgICAgICAkb3V0ID0gJG1vZC0+Q2hlY2tDYXB0Y2hhKCAkaW5wdXQgKTsKICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KfSAvLyBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CgbfFormImporter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBDZ2JmRm9ybUltcG9ydGVyCnsKICAgIHByaXZhdGUgJF9tb2Q7CiAgICBwcml2YXRlICRfc3RvcmFnZTsKICAgIHByaXZhdGUgJF9tdXN0X2NyZWF0ZV90ZW1wbGF0ZTsKICAgIHByaXZhdGUgJF92YWxpZGF0aW9uX2xpc3Q7CiAgICBwcml2YXRlICRfZGlzcG9zaXRpb25fbGlzdDsKICAgIHByaXZhdGUgJF9uYW1lX2RhdGE7CiAgICBwcml2YXRlICRfdGVtcGxhdGVfZGF0YTsKICAgIHByaXZhdGUgJF90ZW1wbGF0ZV9uYW1lX2RhdGE7CiAgICBwcml2YXRlICRfZm9ybV9kYXRhOwogIAogICAgCiAgcHJpdmF0ZSBmdW5jdGlvbiBfY29udmVydF9jZ2JmMnNmKCRkYXRhKQogIHsKICAgIHJldHVybiB1dGlsczo6Y2diZl9kYXRhXzJfc2ZfZGF0YSgkZGF0YSk7CiAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXMgJG1vZCwgRm9ybVN0b3JhZ2VJbnRlcmZhY2UgJHN0b3JhZ2UsICRkYXRhICkKICB7CiAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgICAgCiAgICAgICR0aGlzLT5fc3RvcmFnZSA9ICRzdG9yYWdlOwogICAgICBpZiggISR0aGlzLT5leHBhbmQoICRkYXRhICkgKQogICAgICB7CiAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5fbW9kLT5MYW5nKCdlcnJfaW1wb3J0X2Zvcm1hdCcpKTsKICAgICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNldF9jcmVhdGVfdGVtcGxhdGVfZmxhZyggJGZsYWcgPSB0cnVlICkKICB7CiAgICAgICR0aGlzLT5fYWx3YXlzX2NyZWF0ZV90ZW1wbGF0ZSA9IChib29sKSAkZmxhZzsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfcmVwbGFjZV9mb3JtX2ZsYWcoICRmbGFnID0gdHJ1ZSApCiAgewogICAgICAkdGhpcy0+X3JlcGxhY2VfZXhpc3RpbmdfZm9ybSA9IChib29sKSAkZmxhZzsKICB9CiAgCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGV4cGFuZCgkZGF0YSkKICB7CiAgICBpZiggIVxpc19zdHJpbmcoJGRhdGEpICkgeyByZXR1cm4gRkFMU0U7IH0KICAgIAogICAgJGRlbGltID0gJ35+fic7CiAgICAKICAgIGlmKCAhc3RhcnRzd2l0aCgkZGF0YSwgJ0NHQkYnIC4gJGRlbGltKSApIHsgcmV0dXJuIEZBTFNFOyB9CiAgICAKICAgICRwYXJ0cyA9IFxleHBsb2RlKCRkZWxpbSwgJGRhdGEpOwogICAgCiAgICBpZiggMTAgIT09IFxjb3VudCgkcGFydHMpICkgeyByZXR1cm4gRkFMU0U7IH0KICAgIAogICAgaWYoMSAhPT0gKGludCkkcGFydHNbMV0pIHsgcmV0dXJuIEZBTFNFOyB9CiAgCiAgICAkdHBsX25hbWVfZGF0YSAgICAgICAgID0gJHBhcnRzWzldOwogICAgJGRpc3Bvc2l0aW9uX2xpc3RfZGF0YSA9ICRwYXJ0c1s4XTsKICAgICR2YWxpZGF0aW9uX2xpc3RfZGF0YSAgPSAkcGFydHNbN107CiAgICAkdGVtcGxhdGVfZGF0YSAgICAgICAgID0gJHBhcnRzWzZdOwogICAgJGZvcm1fZGF0YSAgICAgICAgICAgICA9ICRwYXJ0c1s1XTsKICAgICRja3N1bV9mb3JtICAgICAgICAgICAgPSAkcGFydHNbNF07CiAgICAkY2tzdW1fdGVtcGxhdGUgICAgICAgID0gJHBhcnRzWzNdOwogICAgJG5hbWVfZGF0YSAgICAgICAgICAgICA9ICRwYXJ0c1syXTsKICAgICRzYWx0X2Zvcm0gICAgICAgICAgICAgPSBcbWQ1KCR0ZW1wbGF0ZV9kYXRhKTsKICAgICRzYWx0X3RlbXBsYXRlICAgICAgICAgPSBcbWQ1KCRmb3JtX2RhdGEpOwogICAgCiAgICBpZigkY2tzdW1fdGVtcGxhdGUgIT0gXG1kNSgkdGVtcGxhdGVfZGF0YSAuICRzYWx0X3RlbXBsYXRlKSkgeyByZXR1cm4gRkFMU0U7IH0KICAgIAogICAgaWYoJGNrc3VtX2Zvcm0gIT0gXG1kNSgkZm9ybV9kYXRhIC4gJHNhbHRfZm9ybSkpIHsgcmV0dXJuIEZBTFNFOyB9CiAgCiAgICAkdGhpcy0+X25hbWVfZGF0YSAgICAgICAgICA9ICRuYW1lX2RhdGE7CiAgICAkdGhpcy0+X2Rpc3Bvc2l0aW9uX2xpc3QgICA9IFx1bnNlcmlhbGl6ZShcYmFzZTY0X2RlY29kZSgkZGlzcG9zaXRpb25fbGlzdF9kYXRhKSk7CiAgICAkdGhpcy0+X2Rpc3Bvc2l0aW9uX2xpc3QgICA9IFxzdHJfcmVwbGFjZSgnQ0dCZXR0ZXJGb3JtcycsICdTbWFydEZvcm1zJywgJHRoaXMtPl9kaXNwb3NpdGlvbl9saXN0KTsKICAgICR0aGlzLT5fZGlzcG9zaXRpb25fbGlzdCAgID0gXHN0cl9yZXBsYWNlKCdDR0JGQ3J1ZCcsICdTbWFydEZvcm1zQWNjZXNzJywgJHRoaXMtPl9kaXNwb3NpdGlvbl9saXN0KTsKICAgICR0aGlzLT5fdmFsaWRhdGlvbl9saXN0ICAgID0gXHVuc2VyaWFsaXplKFxiYXNlNjRfZGVjb2RlKCR2YWxpZGF0aW9uX2xpc3RfZGF0YSkpOwogICAgJHRoaXMtPl92YWxpZGF0aW9uX2xpc3QgICAgPSBcc3RyX3JlcGxhY2UoJ0NHQmV0dGVyRm9ybXMnLCAnU21hcnRGb3JtcycsICR0aGlzLT5fdmFsaWRhdGlvbl9saXN0KTsKICAgICR0aGlzLT5fdmFsaWRhdGlvbl9saXN0ICAgID0gXHN0cl9yZXBsYWNlKCdDR0JGQ3J1ZCcsICdTbWFydEZvcm1zQWNjZXNzJywgJHRoaXMtPl92YWxpZGF0aW9uX2xpc3QpOwogICAgJHRoaXMtPl90ZW1wbGF0ZV9uYW1lX2RhdGEgPSBcYmFzZTY0X2RlY29kZSgkdHBsX25hbWVfZGF0YSk7CiAgICAkdGhpcy0+X3RlbXBsYXRlX2RhdGEgICAgICA9IFxiYXNlNjRfZGVjb2RlKCR0ZW1wbGF0ZV9kYXRhKTsKICAgICR0aGlzLT5fdGVtcGxhdGVfZGF0YSAgICAgID0gXHN0cl9yZXBsYWNlKCdjZ2JmJywgJ3NtdGZtJywgJHRoaXMtPl90ZW1wbGF0ZV9kYXRhKTsKICAgICR0aGlzLT5fZm9ybV9kYXRhICAgICAgICAgID0gXHVuc2VyaWFsaXplKCAkdGhpcy0+X2NvbnZlcnRfY2diZjJzZiggXGJhc2U2NF9kZWNvZGUoJGZvcm1fZGF0YSkgKSApOwogICAgCiAgICByZXR1cm4gVFJVRTsKICB9CiAgCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIHZhbGlkYXRlX2RlcGVuZGVuY2llcygpCiAgewogICAgLy8gZ2l2ZW4gdGhlIGRpc3Bvc2l0aW9uIGxpc3QsIGFuZCB0aGUgdmFsaWRhdGlvbiBsaXN0CiAgICAvLyBtYWtlIHN1cmUgd2UgaGF2ZSBhbGwgb2YgdGhvc2UgY2xhc3Nlcy4KICAgIGZvcmVhY2goJHRoaXMtPl92YWxpZGF0aW9uX2xpc3QgYXMgJGNsYXNzX25hbWUpCiAgICB7CiAgICAgIGlmKCFcY2xhc3NfZXhpc3RzKCRjbGFzc19uYW1lKSkKICAgICAgewogICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+X21vZC0+TGFuZygnZXJyX2ltcG9ydF92YWxpZGF0aW9uX25vdGZvdW5kJywgJGNsYXNzX25hbWUpKTsKICAgICAgfQogICAgfQogICAgZm9yZWFjaCgkdGhpcy0+X2Rpc3Bvc2l0aW9uX2xpc3QgYXMgJGNsYXNzX25hbWUpCiAgICB7CiAgICAgIGlmKCFcY2xhc3NfZXhpc3RzKCRjbGFzc19uYW1lKSkKICAgICAgewogICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+X21vZC0+TGFuZygnZXJyX2ltcG9ydF9kaXNwb3NpdGlvbl9ub3Rmb3VuZCcsICRjbGFzc19uYW1lKSk7CiAgICAgIH0KICAgIH0KICB9CiAgCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGZvcm1fdGVtcGxhdGVfZXhpc3RzKCRpbl90cGxfbmFtZSkKICB7CiAgICAvLyBjaGVjayBpZiBhIHRlbXBsYXRlIGJ5IHRoaXMgbmFtZSBleGlzdHMgYW5kIGlzIG9mIHRoZSBzYW1lIHR5cGUuCiAgICB0cnkKICAgIHsKICAgICAgJHRwbCAgPSBcQ21zTGF5b3V0VGVtcGxhdGU6OmxvYWQoJGluX3RwbF9uYW1lKTsKICAgICAgJHR5cGUgPSBcQ21zTGF5b3V0VGVtcGxhdGVUeXBlOjpsb2FkKCdTbWFydEZvcm1zOjpGb3JtJyk7CiAgICAgIGlmKCR0cGwtPmdldF90eXBlX2lkKCkgIT0gJHR5cGUtPmdldF9pZCgpKSByZXR1cm4gRkFMU0U7CiAgICB9CiAgICBjYXRjaChcQ21zRGF0YU5vdEZvdW5kRXhjZXB0aW9uICRlKQogICAgewogICAgICAvLyB0ZW1wbGF0ZSBuYW1lIGRvZXMgbm90IGV4aXN0LgogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgICAKICAgIHJldHVybiBUUlVFOwogIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW1wb3J0X3RlbXBsYXRlKCkKICAgIHsKICAgICAgLy8gY2hlY2sgaWYgdGhlIHRlbXBsYXRlIG5hbWUgZXhpc3RzLgogICAgICAvLyBpZiBpdCBkb2VzLCB0aGVuIGRlcGVuZGluZyBvbiB0aGUgdHlwZSBvdXIgZmxhZywgd2UgY2FuIGltcG9ydCBuZXcgb3Igb3ZlcndyaXRlCiAgICAgICRpbl90cGxfbmFtZSA9ICR0aGlzLT5fdGVtcGxhdGVfbmFtZV9kYXRhOwogIAogICAgICAvLyBoYXZlIHRvIGNyZWF0ZSBhIG5ldyB0ZW1wbGF0ZS4KICAgICAgJHR5cGUgICAgID0gXENtc0xheW91dFRlbXBsYXRlVHlwZTo6bG9hZCgnU21hcnRGb3Jtczo6Rm9ybScpOwogICAgICAkbmV3X25hbWUgPSBcQ21zTGF5b3V0VGVtcGxhdGU6OmdlbmVyYXRlX3VuaXF1ZV9uYW1lKCRpbl90cGxfbmFtZSk7CiAgICAgICR0cGwgICAgICA9IG5ldyBcQ21zTGF5b3V0VGVtcGxhdGU7CiAgICAgICR0cGwtPnNldF9uYW1lKCRuZXdfbmFtZSk7CiAgICAgICR0cGwtPnNldF90eXBlKCR0eXBlKTsKICAgICAgJHRwbC0+c2V0X2NvbnRlbnQoJHRoaXMtPl90ZW1wbGF0ZV9kYXRhKTsKICAgICAgJHRwbC0+c2F2ZSgpOwogIAogICAgICByZXR1cm4gJHRwbC0+Z2V0X2lkKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGltcG9ydCgpCiAgICB7CiAgICAgICAgJHRoaXMtPnZhbGlkYXRlX2RlcGVuZGVuY2llcygpOwogIAogICAgICAkZXhpc3RpbmdfdHBsX2lkID0gTlVMTDsKICAgICAgJGluX2Zvcm1fbmFtZSAgICA9IFxiYXNlNjRfZGVjb2RlKCR0aGlzLT5fbmFtZV9kYXRhKTsKCiAgICAgICAgJGkgPSAxOwogICAgICAgICRuYW1lID0gbnVsbDsKICAgICAgICB3aGlsZSggJGkgPCAxMDAgKSB7CiAgICAgICAgICAgICRuYW1lID0gJGluX2Zvcm1fbmFtZTsKICAgICAgICAgICAgaWYoICRpID4gMSApICRuYW1lID0gJGluX2Zvcm1fbmFtZS4nICcuJGk7CiAgICAgICAgICAgIGlmKCAhJHRoaXMtPl9zdG9yYWdlLT5leGlzdHMoICRuYW1lICkgKSBicmVhazsKICAgICAgICAgICAgJGkrKzsKICAgICAgICB9CgogICAgICAgIC8vIG5leHQgY3JlYXRlIHRoZSB0ZW1wbGF0ZSwgYW5kIGltcG9ydAogICAgICAgIC8vJHRwbF9pZCA9ICR0aGlzLT5pbXBvcnRfdGVtcGxhdGUoKTsKICAgICAgICAkdHBsX2lkID0gJHRoaXMtPmltcG9ydF90ZW1wbGF0ZSgpOwoKICAgICAgICAvLyBmaW5kIGEgbmV3IGZvcm0gbmFtZS4KICAgICAgICAkbmV3Zm9ybSA9IGNsb25lICR0aGlzLT5fZm9ybV9kYXRhOwogICAgICAgIHVuc2V0KCAkZm9ybSApOwogICAgICAkbmV3Zm9ybS0+YWRqdXN0V2l0aChbJ25hbWUnID0+ICRuYW1lLCAndGVtcGxhdGVfaWQnID0+ICR0cGxfaWQsICdzbXRmbV92ZXJzaW9uJyA9PiAkdGhpcy0+X21vZC0+R2V0VmVyc2lvbigpXSk7CiAgICAgICAgcmV0dXJuICRuZXdmb3JtOwogICAgfQp9IC8vIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgbf_importer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KDQpuYW1lc3BhY2UgU21hcnRGb3JtczsNCg0KdXNlIENNU01TRXh0XG1vZHVsZV9taWdyYXRvcjsNCnVzZSBDTVNNU0V4dFxNaWdyYXRvckV4Y2VwdGlvbjsNCnVzZSBDR0JldHRlckZvcm1zXERpc3Bvc2l0aW9uc1xEaXNwb3NpdGlvbjsNCnVzZSBDR0JldHRlckZvcm1zXEZpZWxkVmFsaWRhdG9yc1xWYWxpZGF0aW9uOw0KdXNlIENNU01TRXh0XEZTXHV0aWxzIGFzIG91cl91dGlsczsNCg0KIyBiYXNlIHVzZWQgaGVyZSBqdXN0IHRvIG1ha2Ugc3VyZSBNaWdyYXRvckV4Y2VwdGlvbiBjbGFzcyBpcyBsb2FkZWQNCmNsYXNzIGNnYmZfaW1wb3J0ZXJfYmFzZSBleHRlbmRzIG1vZHVsZV9taWdyYXRvcg0Kew0KICBwdWJsaWMgY29uc3Qgc291cmNlICAgICAgICAgICAgICAgPSAnQ0dCZXR0ZXJGb3Jtcyc7DQogIHB1YmxpYyBjb25zdCB0YXJnZXQgICAgICAgICAgICAgICA9ICdTbWFydEZvcm1zJzsNCn0NCmNsYXNzIE1pZ3JhdG9yQ2diZkltcG9ydEV4Y2VwdGlvbiBleHRlbmRzIE1pZ3JhdG9yRXhjZXB0aW9uIHt9DQoNCi8qKg0KICogQ2xhc3MgY2djYWxfaW1wb3J0ZXINCiAqDQogKiBAcGFja2FnZSBTbWFydEZvcm1zDQogKi8NCmNsYXNzIGNnYmZfaW1wb3J0ZXIgZXh0ZW5kcyBjZ2JmX2ltcG9ydGVyX2Jhc2UNCnsNCiAgcHJvdGVjdGVkICRfZG9fZGF0YV9kZWxldGUgPSBGQUxTRTsNCiAgDQogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpDQogIHsNCiAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KHNlbGY6OnNvdXJjZSwgc2VsZjo6dGFyZ2V0KTsNCiAgfQ0KICANCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9nZXRfZm9ybV9ieV9pZCgkaWQpDQogIHsNCiAgICAkaWQgPSAoaW50KSAkaWQ7DQogICAgDQogICAgaWYoICRpZCA8IDEgKQ0KICAgIHsNCiAgICAgIG91cl91dGlsczo6bG9nKCdJbnZhbGlkIGZvcm0gaWQgcGFzc2VkIHRvICcgLiBfX01FVEhPRF9fICwgXFRNUF9DQUNIRV9MT0NBVElPTik7DQogICAgICB0aHJvdyBuZXcgTWlncmF0b3JDZ2JmSW1wb3J0RXhjZXB0aW9uKCdJbnZhbGlkIGZvcm0gaWQgcGFzc2VkIHRvICcgLiBfX01FVEhPRF9fKTsNCiAgICB9DQogIA0KICAgICR0YWJsZV9uYW1lID0gQ01TX0RCX1BSRUZJWC4nbW9kX2NnYmZfZm9ybXMnOw0KICANCiAgICAkc3FsID0gJ1NFTEVDVCAqIEZST00gJyAuICR0YWJsZV9uYW1lIC4gJyBXSEVSRSBpZCA9ID8nOw0KICAgICRyb3cgPSAkdGhpcy0+X2RiLT5HZXRSb3coJHNxbCxbICRpZCBdKTsNCiAgICANCiAgICBpZighXGlzX2FycmF5KCRyb3cpICYmICFcY291bnQoJHJvdykgKSB7IHJldHVybiBOVUxMOyB9DQogICAgDQogICAgJG9iaiA9IFx1bnNlcmlhbGl6ZSgkcm93WydkYXRhJ10pOw0KICAgIA0KICAgIGlmKCAhJG9iaiBpbnN0YW5jZW9mIFxDR0JldHRlckZvcm1zXEZvcm0gKQ0KICAgIHsNCiAgICAgIG91cl91dGlsczo6bG9nKCdDb3VsZCBub3QgZGVzZXJpYWxpemUgZm9ybScsIFxUTVBfQ0FDSEVfTE9DQVRJT04pOw0KICAgICAgdGhyb3cgbmV3IE1pZ3JhdG9yQ2diZkltcG9ydEV4Y2VwdGlvbignQ291bGQgbm90IGRlc2VyaWFsaXplIGZvcm0nKTsNCiAgICB9DQogICAgDQogICAgaWYoIWVtcHR5KCRvYmotPmRpc3Bvc2l0aW9ucykpDQogICAgew0KICAgICAgZm9yZWFjaCgkb2JqLT5kaXNwb3NpdGlvbnMgYXMgJGtleSA9PiAkZGlzcCkNCiAgICAgIHsNCiAgICAgICAgaWYoISRkaXNwIGluc3RhbmNlb2YgRGlzcG9zaXRpb24pDQogICAgICAgIHsNCiAgICAgICAgICAkZGlzcCA9IChhcnJheSkkZGlzcDsNCiAgICAgICAgICAkbWVzc2FnZSA9ICR0aGlzLT5fc291cmNlX21vZHVsZS0+TGFuZygnZXJyX3Vua25vd25fZGlzcG9zaXRpb24nLCAkZGlzcFsnX19QSFBfSW5jb21wbGV0ZV9DbGFzc19OYW1lJ10gPz8gJ3Vua25vd24nKTsNCiAgICAgICAgICBvdXJfdXRpbHM6OmxvZygkbWVzc2FnZSwgXFRNUF9DQUNIRV9MT0NBVElPTik7DQogICAgICAgICAgDQogICAgICAgICAgdGhyb3cgbmV3IE1pZ3JhdG9yQ2diZkltcG9ydEV4Y2VwdGlvbigkdGhpcy0+X3NvdXJjZV9tb2R1bGUtPkxhbmcoJG1lc3NhZ2UgLDIwMDAwKSk7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9DQogIA0KICAgIGlmKCFlbXB0eSgkb2JqLT52YWxpZGF0aW9ucykpDQogICAgew0KICAgICAgZm9yZWFjaCgkb2JqLT52YWxpZGF0aW9ucyBhcyAka2V5ID0+ICR2YWxpZGF0b3IpDQogICAgICB7DQogICAgICAgIGlmKCEkdmFsaWRhdG9yIGluc3RhbmNlb2YgVmFsaWRhdGlvbikNCiAgICAgICAgew0KICAgICAgICAgICR2YWxpZGF0b3IgPSAoYXJyYXkpJHZhbGlkYXRvcjsNCiAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oDQogICAgICAgICAgICAkdGhpcy0+X3NvdXJjZV9tb2R1bGUtPkxhbmcoDQogICAgICAgICAgICAgICdlcnJfdW5rbm93bl92YWxpZGF0aW9uJywgJHZhbGlkYXRvclsnX19QSFBfSW5jb21wbGV0ZV9DbGFzc19OYW1lJ10gPz8gJ3Vua25vd24nDQogICAgICAgICAgICApLCAyMDAwMQ0KICAgICAgICAgICk7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9DQogIA0KICAgIHVuc2V0KCRyb3dbJ2RhdGEnXSk7DQogICAgJG9iai0+YWRqdXN0UHJpdmF0ZSgkcm93KTsNCiAgICANCiAgICByZXR1cm4gJG9iajsNCiAgfQ0KICANCiAgLyoqDQogICAqIGNoZWNrIGlmIGEgdGVtcGxhdGUgYnkgdGhpcyBuYW1lIGV4aXN0cyBhbmQgaXMgb2YgdGhlIHNhbWUgdHlwZS4NCiAgICoNCiAgICogQHBhcmFtICRpbl90cGxfbmFtZQ0KICAgKg0KICAgKiBAcmV0dXJuIGJvb2wNCiAgICovDQogIHByb3RlY3RlZCBmdW5jdGlvbiBmb3JtX3RlbXBsYXRlX2V4aXN0cygkaW5fdHBsX25hbWUpDQogIHsNCiAgICB0cnkNCiAgICB7DQogICAgICAkdHBsICA9IFxDbXNMYXlvdXRUZW1wbGF0ZTo6bG9hZCgkaW5fdHBsX25hbWUpOw0KICAgICAgJHR5cGUgPSBcQ21zTGF5b3V0VGVtcGxhdGVUeXBlOjpsb2FkKCdTbWFydEZvcm1zOjpGb3JtJyk7DQogICAgICANCiAgICAgIGlmKCR0cGwtPmdldF90eXBlX2lkKCkgIT0gJHR5cGUtPmdldF9pZCgpKSB7IHJldHVybiBGQUxTRTsgfQ0KICAgIH0NCiAgICBjYXRjaChcQ21zRGF0YU5vdEZvdW5kRXhjZXB0aW9uICRlKQ0KICAgIHsNCiAgICAgIC8vIHRlbXBsYXRlIG5hbWUgZG9lcyBub3QgZXhpc3QuDQogICAgICByZXR1cm4gRkFMU0U7DQogICAgfQ0KICAgIA0KICAgIHJldHVybiBUUlVFOw0KICB9DQogIA0KICBwdWJsaWMgZnVuY3Rpb24gRGVsZXRlRGF0YSgkZG8pDQogIHsNCiAgICAkdGhpcy0+X2RvX2RhdGFfZGVsZXRlID0gKGJvb2wpJGRvOw0KICB9DQogIA0KICAvKioNCiAgICogV2Ugb3ZlcnJpZGUgdGhlIHBhcmVudA0KICAgKiBhcyB3ZSBkb24ndCBuZWVkIGFsbCBpdHMgc3RlcHMNCiAgICoNCiAgICogQHJldHVybiBhcnJheQ0KICAgKiBAdGhyb3dzIFxFeGNlcHRpb24NCiAgICovDQogIHB1YmxpYyBmdW5jdGlvbiBydW4oKSA6IGFycmF5DQogIHsNCiAgICAkY29kZSA9IDA7DQogICAgJG1zZyAgPSAnT0snOw0KICAgICRlcnIgID0gWyRjb2RlLCAkbXNnXTsNCiAgICAkZmFpbCA9IEZBTFNFOw0KDQogICAgaWYoICEkdGhpcy0+X2lzX3NvdXJjZV9pbnN0YWxsZWQoKSApDQogICAgew0KICAgICAgJGNvZGUgPSAxOw0KICAgICAgJG1zZyA9ICdub19zb3VyY2VfaW5zdGFsbCc7DQogICAgICBvdXJfdXRpbHM6OmxvZygkbXNnLCBcVE1QX0NBQ0hFX0xPQ0FUSU9OKTsNCiAgICAgICRlcnIgPSBbJGNvZGUsICRtc2ddOw0KICAgICAgcmV0dXJuIFtGQUxTRSwgJGVycl07DQogICAgfQ0KDQogICAgJGNvbnRleHQgPSAkdGhpcy0+X3NvdXJjZV9tb2R1bGVfbmFtZSAuICcyJyAuICR0aGlzLT5fdGFyZ2V0X21vZHVsZV9uYW1lOw0KICAgICRkYiA9IFxjbXNfdXRpbHM6OmdldF9kYigpOw0KICAgIA0KICAgIHRyeQ0KICAgIHsNCiAgICAgIGlmKCR0aGlzLT5fZG9fZGF0YV9kZWxldGUpDQogICAgICB7DQogICAgICAgIG91cl91dGlsczo6bG9nKCdEZWxldGluZyBmb3JtcyBmcm9tICcgLiAkdGhpcy0+X3RhcmdldF9tb2R1bGVfbmFtZSwgXFRNUF9DQUNIRV9MT0NBVElPTik7DQogICAgICAgIFxhdWRpdCg4ODAwODUsICRjb250ZXh0LCAnRGVsZXRpbmcgZm9ybXMgZnJvbSAnIC4gJHRoaXMtPl90YXJnZXRfbW9kdWxlX25hbWUpOw0KICANCiAgICAgICAgJHEgPSAnVFJVTkNBVEUgJw0KICAgICAgICAgICAgICAgLiBGb3JtREFPOjp0YWJsZV9uYW1lKCk7DQogICAgICAgICRyID0gJHRoaXMtPl9kYi0+RXhlY3V0ZSgkcSk7DQogIA0KICAgICAgICBpZighJHIpDQogICAgICAgIHsNCiAgICAgICAgICAkbWVzc2FnZSA9ICR0aGlzLT5fZGItPkVycm9yTm8oKSAuICcgLSAnIC4gJHRoaXMtPl9kYi0+RXJyb3JNc2coKTsNCiAgICAgICAgICBvdXJfdXRpbHM6OmxvZygkbWVzc2FnZSwgXFRNUF9DQUNIRV9MT0NBVElPTik7DQogICAgICAgICAgdGhyb3cgbmV3IE1pZ3JhdG9yQ2diZkltcG9ydEV4Y2VwdGlvbigNCiAgICAgICAgICAgICRtZXNzYWdlLA0KICAgICAgICAgICAgJHRoaXMtPl9kYi0+RXJyb3JObygpDQogICAgICAgICAgKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgDQogICAgICAkbWVzc2FnZSA9ICdDb3B5aW5nIGZvcm1zIGZyb20gJyAuICR0aGlzLT5fc291cmNlX21vZHVsZV9uYW1lOw0KICAgICAgb3VyX3V0aWxzOjpsb2coJG1lc3NhZ2UsIFxUTVBfQ0FDSEVfTE9DQVRJT04pOw0KICAgICAgXGF1ZGl0KDg4MDA4NSwgJGNvbnRleHQsICRtZXNzYWdlKTsNCiAgICAgIA0KICAgICAgJHRhYmxlX25hbWUgPSBDTVNfREJfUFJFRklYLidtb2RfY2diZl9mb3Jtcyc7DQogICAgICANCiAgICAgICRxID0gJ1NFTEVDVCBNQVgoaWQpIEZST00gJyAuICR0YWJsZV9uYW1lOw0KICAgICAgJHIgPSAkdGhpcy0+X2RiLT5HZXRPbmUoJHEpOw0KICAgICAgDQogICAgICBpZiggJHRoaXMtPl9kYi0+RXJyb3JObygpICkNCiAgICAgIHsNCiAgICAgICAgJG1lc3NhZ2UgPSAkdGhpcy0+X2RiLT5FcnJvck5vKCkgLiAnIC0gJyAuICR0aGlzLT5fZGItPkVycm9yTXNnKCk7DQogICAgICAgIG91cl91dGlsczo6bG9nKCRtZXNzYWdlLCBcVE1QX0NBQ0hFX0xPQ0FUSU9OKTsNCiAgICAgICAgdGhyb3cgbmV3IE1pZ3JhdG9yQ2diZkltcG9ydEV4Y2VwdGlvbigNCiAgICAgICAgICAkbWVzc2FnZSwNCiAgICAgICAgICAkdGhpcy0+X2RiLT5FcnJvck5vKCkNCiAgICAgICAgKTsNCiAgICAgIH0NCiAgICAgICAgDQogICAgICBmb3IgKCR4ID0gMDsgJHggPD0gJHI7ICR4KyspDQogICAgICB7DQogICAgICAgICRzcWwgPSAnSU5TRVJUIElOVE8gJyAuIEZvcm1EQU86OnRhYmxlX25hbWUoKSAuDQogICAgICAgICAgICAgICAnIChuYW1lLCBkYXRhLCBjcmVhdGVkLCBtb2RpZmllZCkgVkFMVUVTICg/LD8sVU5JWF9USU1FU1RBTVAoKSxVTklYX1RJTUVTVEFNUCgpKSc7DQoNCiAgICAgICAgJHRoaXMtPl9kYi0+RXhlY3V0ZSgkc3FsLCBbJycsIFxzZXJpYWxpemUoW10pXSk7DQogICAgICB9DQoNCiAgICAgICR0YWJsZV9uYW1lID0gQ01TX0RCX1BSRUZJWC4nbW9kX2NnYmZfZm9ybXMnOw0KICANCiAgICAgICRzcWwgPSAnU0VMRUNUIGlkIEZST00gJw0KICAgICAgICAgICAgIC4gJHRhYmxlX25hbWUNCiAgICAgICAgICAgICAuICcgT1JERVIgQlkgbmFtZSBBU0MnOw0KICAgICAgDQogICAgICAkbGlzdCA9ICRkYi0+R2V0QXJyYXkoJHNxbCk7DQoNCiAgICAgIGlmKCAhJGxpc3QgfHwgIVxjb3VudCgkbGlzdCkgKQ0KICAgICAgew0KICAgICAgICBvdXJfdXRpbHM6OmxvZygnTm8gZm9ybXMgc3RvcmVkIGZvciAnIC4gJHRoaXMtPl9zb3VyY2VfbW9kdWxlX25hbWUpOw0KICAgICAgICBcYXVkaXQoODgwMDg1LCAkY29udGV4dCwgJ0NvdWxkIG5vdCBmaW5kIG5vIGZvcm1zIHN0b3JlZCBmb3IgJyAuICR0aGlzLT5fc291cmNlX21vZHVsZV9uYW1lKTsNCiAgICAgIH0NCiAgICAgIGVsc2UNCiAgICAgIHsNCiAgICAgICAgb3VyX3V0aWxzOjpsb2coJ0ltcG9ydGluZyAnIC4gXGNvdW50KCRsaXN0KSAuICcgZm9ybXMnLCBcVE1QX0NBQ0hFX0xPQ0FUSU9OKTsNCiAgICAgICAgDQogICAgICAgIGZvcmVhY2goICRsaXN0IGFzICRvbmUgKQ0KICAgICAgICB7DQogICAgICAgICAgb3VyX3V0aWxzOjpsb2coJG9uZVsnaWQnXSwgXFRNUF9DQUNIRV9MT0NBVElPTik7DQogICAgICAgICAgDQogICAgICAgICAgdHJ5DQogICAgICAgICAgew0KICAgICAgICAgICAgIyBncmFiIHRoZSBuZWVkZWQgZGF0YQ0KICAgICAgICAgICAgJHNvdXJjZV9mb3JtID0gJHRoaXMtPl9nZXRfZm9ybV9ieV9pZCgkb25lWydpZCddKTsNCiAgICAgICAgICAgICR0aWQgICAgICAgICA9ICRzb3VyY2VfZm9ybS0+dGVtcGxhdGVfaWQ7DQogICAgICAgICAgICB0cnkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgJHRwbCAgICAgICAgID0gXENtc0xheW91dFRlbXBsYXRlOjpsb2FkKCR0aWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgY2F0Y2goXENtc0RhdGFOb3RGb3VuZEV4Y2VwdGlvbiAkZSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgJGVycl9tc2cgPSAnQ291bGQgbm90IGxvYWQgYSB0ZW1wbGF0ZSB3aXRoIGlkICcgLiAkdGlkIC4gJyBvZiB0eXBlIENHQmV0dGVyRm9ybXM6OkZvcm0nOw0KICAgICAgICAgICAgICBvdXJfdXRpbHM6OmxvZygkZXJyX21zZywgXFRNUF9DQUNIRV9MT0NBVElPTik7DQogICAgICAgICAgICAgIHRocm93IG5ldyBNaWdyYXRvckNnYmZJbXBvcnRFeGNlcHRpb24oJGVycl9tc2cgLCAyMDAwMik7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIA0KICAgICAgICAgICAgb3VyX3V0aWxzOjpsb2coJ0ltcG9ydGluZyBmb3JtICcgLiAkc291cmNlX2Zvcm0tPm5hbWUsIFxUTVBfQ0FDSEVfTE9DQVRJT04pOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBpZiggIVxpc19vYmplY3QoJHRwbCkgKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAkZXJyX21zZyA9ICdDb3VsZCBub3QgbG9hZCBhIHRlbXBsYXRlIHdpdGggaWQgJyAuICR0aWQgLiAnIG9mIHR5cGUgQ0dCZXR0ZXJGb3Jtczo6Rm9ybSc7DQogICAgICAgICAgICAgIG91cl91dGlsczo6bG9nKCRlcnJfbXNnLCBcVE1QX0NBQ0hFX0xPQ0FUSU9OKTsNCiAgICAgICAgICAgICAgdGhyb3cgbmV3IE1pZ3JhdG9yQ2diZkltcG9ydEV4Y2VwdGlvbigkZXJyX21zZyAsIDIwMDAyKTsNCiAgICAgICAgICAgIH0NCiAgDQogICAgICAgICAgICAkZm9ybV9kYXRhICAgICA9IFxzZXJpYWxpemUoJHNvdXJjZV9mb3JtKTsNCiAgICAgICAgICAgICRuZXdfZm9ybV9kYXRhID0gdXRpbHM6OmNnYmZfZGF0YV8yX3NmX2RhdGEoJGZvcm1fZGF0YSk7DQogICAgICAgICAgICAkZm9ybSAgICAgICAgICA9IFx1bnNlcmlhbGl6ZSgkbmV3X2Zvcm1fZGF0YSk7DQogICAgICAgICAgICAkc3RvcmFnZSAgICAgICA9IG5ldyBcU21hcnRGb3Jtc1xGb3JtREFPKCR0aGlzLT5fdGFyZ2V0X21vZHVsZSwgJHRoaXMtPl90YXJnZXRfbW9kdWxlLT5nZXRfZXh0ZW5kZWRfZGIoKSk7DQogICAgICAgICAgICAkaW5fZm9ybV9uYW1lICA9ICRmb3JtLT5uYW1lOw0KICAgICAgICAgICAgJGkgICAgICAgICAgICAgPSAxOw0KICAgICAgICAgICAgJG5hbWUgICAgICAgICAgPSBOVUxMOw0KICAgICAgICAgICAgDQogICAgICAgICAgICB3aGlsZSgkaSA8IDEwMCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgJG5hbWUgPSAkaW5fZm9ybV9uYW1lOw0KICAgICAgICAgICAgICBpZigkaSA+IDEpIHsgJG5hbWUgPSAkaW5fZm9ybV9uYW1lIC4gJyAnIC4gJGk7IH0NCiAgICAgICAgICAgICAgaWYoICEkc3RvcmFnZS0+ZXhpc3RzKCRuYW1lKSApIHsgYnJlYWs7IH0NCiAgICAgICAgICAgICAgJGkrKzsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8kZXhpc3RpbmdfdHBsX2lkID0gTlVMTDsNCiAgICAgICAgICAgICR0ZW1wbGF0ZV9kYXRhICAgPSAkdHBsLT5nZXRfY29udGVudCgpOw0KICAgICAgICAgICAgJHRwbF9uYW1lICAgICAgICA9ICR0cGwtPmdldF9uYW1lKCk7DQogIA0KICAgICAgICAgICAgJGluX3RwbF9uYW1lID0gJHRwbF9uYW1lOw0KICANCiAgICAgICAgICAgIC8vIGhhdmUgdG8gY3JlYXRlIGEgbmV3IHRlbXBsYXRlLg0KICAgICAgICAgICAgJHR5cGUgICAgID0gXENtc0xheW91dFRlbXBsYXRlVHlwZTo6bG9hZCgnU21hcnRGb3Jtczo6Rm9ybScpOw0KICAgICAgICAgICAgJG5ld19uYW1lID0gXENtc0xheW91dFRlbXBsYXRlOjpnZW5lcmF0ZV91bmlxdWVfbmFtZSgkaW5fdHBsX25hbWUpOw0KICAgICAgICAgICAgJHRwbCAgICAgID0gbmV3IFxDbXNMYXlvdXRUZW1wbGF0ZTsNCiAgICAgICAgICAgICR0cGwtPnNldF9uYW1lKCRuZXdfbmFtZSk7DQogICAgICAgICAgICAkdHBsLT5zZXRfdHlwZSgkdHlwZSk7DQogICAgICAgICAgICAkdHBsLT5zZXRfY29udGVudChcc3RyX3JlcGxhY2UoJ2NnYmYnLCAnc210Zm0nLCAkdGVtcGxhdGVfZGF0YSkpOw0KICAgICAgICAgICAgJHRwbC0+c2F2ZSgpOw0KICAgICAgICAgICAgJHRwbF9pZCA9ICR0cGwtPmdldF9pZCgpOw0KICANCiAgICAgICAgICAgICRwYXJhbXMgPSBbDQogICAgICAgICAgICAgICduYW1lJyAgICAgICAgICA9PiAkbmFtZSwNCiAgICAgICAgICAgICAgJ3RlbXBsYXRlX2lkJyAgID0+ICR0cGxfaWQsDQogICAgICAgICAgICAgICdzbXRmbV92ZXJzaW9uJyA9PiAkdGhpcy0+X3RhcmdldF9tb2R1bGUtPkdldFZlcnNpb24oKQ0KICAgICAgICAgICAgXTsNCiAgDQogICAgICAgICAgICAvLyBmaW5kIGEgbmV3IGZvcm0gbmFtZS4NCiAgICAgICAgICAgIGlmKCEkdGhpcy0+X2RvX2RhdGFfZGVsZXRlKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAkbmV3X2Zvcm0gPSBjbG9uZSAkZm9ybTsNCiAgICAgICAgICAgICAgdW5zZXQoJGZvcm0pOw0KICAgICAgICAgICAgICAkbmV3X2Zvcm0tPmFkanVzdFdpdGgoJHBhcmFtcyk7DQogICAgICAgICAgICAgICRzdG9yYWdlLT5TYXZlKCRuZXdfZm9ybSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICRmb3JtLT5hZGp1c3RXaXRoKCRwYXJhbXMpOw0KICAgICAgICAgICAgICAkc3RvcmFnZS0+U2F2ZSgkZm9ybSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICAgIGNhdGNoKE1pZ3JhdG9yQ2diZkltcG9ydEV4Y2VwdGlvbiAkZSkNCiAgICAgICAgICB7DQogICAgICAgICAgICAkY29kZSA9ICRlLT5nZXRDb2RlKCk7DQogICAgICAgICAgICAkbXNnICA9ICRlLT5nZXRNZXNzYWdlKCk7DQogICAgICAgICAgICBvdXJfdXRpbHM6OmxvZygkbXNnLCBcVE1QX0NBQ0hFX0xPQ0FUSU9OKTsNCiAgICAgICAgICAgIFxhdWRpdCg4ODAwODUsICRjb250ZXh0LCAnRXJyb3IgY29weWluZyBmb3JtcyBmcm9tICcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICR0aGlzLT5fc291cmNlX21vZHVsZV9uYW1lIC4gJzogJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJGNvZGUgLiAnIC0gJyAuICRtc2cpOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICANCiAgICAgICAgaWYoJHRoaXMtPl9kb19kYXRhX2RlbGV0ZSkNCiAgICAgICAgew0KICAgICAgICAgICRxID0gJ0RFTEVURSBGUk9NICcgLiBGb3JtREFPOjp0YWJsZV9uYW1lKCkgLiAiIFdIRVJFIG5hbWU9JyciOw0KICAgICAgICAgICRyID0gJHRoaXMtPl9kYi0+RXhlY3V0ZSgkcSk7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9DQogICAgY2F0Y2goXEV4Y2VwdGlvbiAkZSkNCiAgICB7DQogICAgICAkY29kZSA9ICRlLT5nZXRDb2RlKCk7DQogICAgICAkbXNnICA9ICRlLT5nZXRNZXNzYWdlKCk7DQogICAgICAkZXJyICA9IFskY29kZSwgJG1zZ107DQogICAgICBvdXJfdXRpbHM6OmxvZygkbXNnLCBcVE1QX0NBQ0hFX0xPQ0FUSU9OKTsNCiAgICAgIHJldHVybiBbRkFMU0UsICRlcnJdOw0KICAgIH0NCiAgICANCiAgICB0cnkNCiAgICB7DQogICAgICBcYXVkaXQoODgwMDg1LCAkY29udGV4dCwgJ1N0YXJ0IGNvcHlpbmcgcHJlZmVyZW5jZXMgZnJvbSAnIC4gJHRoaXMtPl9zb3VyY2VfbW9kdWxlX25hbWUpOw0KICAgICAgJHRoaXMtPl9Db3B5UHJlZmVyZW5jZXMoKTsNCiAgICB9DQogICAgY2F0Y2goXEV4Y2VwdGlvbiAkZSkNCiAgICB7DQogICAgICAkY29kZSA9ICRlLT5nZXRDb2RlKCk7DQogICAgICAkbXNnICA9ICRlLT5nZXRNZXNzYWdlKCk7DQogICAgICAkZXJyICA9IFskY29kZSwgJG1zZ107DQogICAgICByZXR1cm4gW0ZBTFNFLCAkZXJyXTsNCiAgICB9DQoNCiAgICByZXR1cm4gW1RSVUUsICRlcnJdOw0KICB9DQp9DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.DispositionEditorHelperProxy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBEaXNwb3NpdGlvbkVkaXRvckhlbHBlclByb3h5CnsKICAgIHByaXZhdGUgJF9tb2Q7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCBcU21hcnRGb3JtcyAkbW9kICkKICAgIHsKICAgICAgICAkdGhpcy0+X21vZCA9ICRtb2Q7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNhbmNlbCggJGZvcm1fZ3VpZCApCiAgICB7CiAgICAgICAgaWYoICEkZm9ybV9ndWlkICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignTm8gZm9ybV9ndWlkIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwogICAgICAgICR0aGlzLT5fbW9kLT5TZXRNZXNzYWdlKCR0aGlzLT5fbW9kLT5MYW5nKCdtc2dfY2FuY2VsbGVkJykpOwogICAgICAgICR0aGlzLT5fbW9kLT5SZWRpcmVjdCgnbTFfJywnYWRtaW5fZWRpdF9mb3JtJywgJycsIFsnZm9ybV9ndWlkJz0+JGZvcm1fZ3VpZCwgJ3h0X2FjdGl2ZXRhYic9PidoYW5kbGVycyddICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGZpbmlzaCggRm9ybSAkZm9ybSwgJGZvcm1fZ3VpZCwgRGlzcG9zaXRpb25zXElEaXNwb3NpdGlvbiAkZGlzcCwgJGRpc3BfZ3VpZCApCiAgICB7CiAgICAgICAgaWYoICEkZm9ybV9ndWlkICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignTm8gZm9ybV9ndWlkIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwogICAgICAgICRmb3JtX2d1aWQgPSBcU21hcnRGb3Jtc1x1dGlsczo6c3RvcmVfb2JqZWN0KCAkZm9ybSwgJGZvcm1fZ3VpZCApOwogICAgICAgICRkaXNwX2d1aWQgPSBcU21hcnRGb3Jtc1x1dGlsczo6c3RvcmVfb2JqZWN0KCAkZGlzcCwgJGRpc3BfZ3VpZCApOwogICAgICAgICR0aGlzLT5fbW9kLT5TZXRNZXNzYWdlKCR0aGlzLT5fbW9kLT5MYW5nKCdtc2dfaGFuZGxlcl9zYXZlZCcpKTsKICAgICAgICAkdGhpcy0+X21vZC0+UmVkaXJlY3QoICdtMV8nLCAnYWRtaW5fZWRpdF9mb3JtJywgJycsIFsgJ2Zvcm1fZ3VpZCc9PiRmb3JtX2d1aWQsICdkaXNwX2d1aWQnPT4kZGlzcF9ndWlkLCAneHRfYWN0aXZldGFiJz0+J2hhbmRsZXJzJ10gKTsKICAgIH0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.DOMButtonField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBET01CdXR0b25GaWVsZCBleHRlbmRzIERPTUZpZWxkIHsKICAgIHVzZSBET01MYWJlbEZpZWxkVHJhaXQ7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFxET01Ob2RlICRub2RlKQogICAgewogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJG5vZGUpOwogICAgICAgICR0aGlzLT5zZXRfbGFiZWwoJHRoaXMtPmZpbmRQYXJlbnRMYWJlbCgkbm9kZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfYXR0cmlidXRlKCRrZXkpCiAgICB7CiAgICAgICAgJHJlcyA9IHBhcmVudDo6Z2V0X2F0dHJpYnV0ZSgka2V5KTsKICAgICAgICBpZiggJHJlcyApIHJldHVybiAkcmVzOwogICAgICAgIGlmKCAka2V5ID09ICd0eXBlJyApIHJldHVybiAnc3VibWl0JzsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.DOMFormField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBET01Gb3JtRmllbGQgZXh0ZW5kcyBET01GaWVsZCB7fQo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.DOMInputField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBET01JbnB1dEZpZWxkIGV4dGVuZHMgRE9NRmllbGQgewogICAgdXNlIERPTUxhYmVsRmllbGRUcmFpdDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXERPTU5vZGUgJG5vZGUpCiAgICB7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkbm9kZSk7CiAgICAgICAgJHRoaXMtPnNldF9sYWJlbCgkdGhpcy0+ZmluZFBhcmVudExhYmVsKCRub2RlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF92YWx1ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRfYXR0cmlidXRlKCd2YWx1ZScpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfYXR0cmlidXRlKCAka2V5ICkKICAgIHsKICAgICAgICAkcmVzID0gcGFyZW50OjpnZXRfYXR0cmlidXRlKCAka2V5ICk7CiAgICAgICAgaWYoICRyZXMgKSByZXR1cm4gJHJlczsKICAgICAgICBpZiggJGtleSA9PSAndHlwZScgKSByZXR1cm4gJ3RleHQnOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.DOMLabelField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBET01MYWJlbEZpZWxkIGV4dGVuZHMgRE9NRmllbGQKewogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFxEb21Ob2RlICRub2RlKQogICAgewogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJG5vZGUpOwogICAgICAgIC8vJHRoaXMtPl92YWx1ZSA9IHRyaW0oJG5vZGUtPm5vZGVWYWx1ZSk7CiAgICB9CgogICAgLyoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROb2RlVmFsdWUoXERPTU5vZGUgJG5vZGUpCiAgICB7CiAgICAgICAgLy8gY29uY2F0ZW5hdGUgYW5kIHN0cmlwIHRhZ3Mgb24gYWxsIHRleHQgbm9kZXMuCiAgICAgICAgJHRleHQgPSBudWxsOwogICAgICAgIGZvcmVhY2goICRub2RlLT5jaGlsZE5vZGVzIGFzICRjaGlsZCApIHsKICAgICAgICAgICAgaWYoICRjaGlsZC0+bm9kZVR5cGUgPT0gMyApIHsKICAgICAgICAgICAgICAgICR0ZXh0IC49ICRjaGlsZC0+dGV4dENvbnRlbnQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRyaW0oJHRleHQpOwogICAgfQogICAgKi8KfSAvLyBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.DOMSelectField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBET01TZWxlY3RGaWVsZCBleHRlbmRzIERPTUZpZWxkCnsKICAgIHVzZSBET01MYWJlbEZpZWxkVHJhaXQ7CgogICAgcHJpdmF0ZSAkX29wdGlvbnMgPSBbXTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXERPTU5vZGUgJG5vZGUpCiAgICB7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkbm9kZSk7CiAgICAgICAgJHRoaXMtPnNldF9sYWJlbCgkdGhpcy0+ZmluZFBhcmVudExhYmVsKCRub2RlKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzX211bHRpc2VsZWN0KCkKICAgIHsKICAgICAgICAkbXVsdGlwbGUgPSAkdGhpcy0+Z2V0X2F0dHJpYnV0ZSgnbXVsdGlwbGUnKTsKICAgICAgICBpZiggJG11bHRpcGxlICkgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF92YWx1ZSgpCiAgICB7CiAgICAgICAgaWYoICR0aGlzLT5pc19tdWx0aXNlbGVjdCgpICkgewogICAgICAgICAgICAkb3V0ID0gW107CiAgICAgICAgICAgIGZvcmVhY2goICR0aGlzLT5fb3B0aW9ucyBhcyAkb3B0aW9uICkgewogICAgICAgICAgICAgICAgaWYoICRvcHRpb24tPmdldF9zZWxlY3RlZCgpICkgJG91dFtdID0gJG9wdGlvbi0+Z2V0X3ZhbHVlKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICRvdXQ7CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoKCAkdGhpcy0+X29wdGlvbnMgYXMgJG9wdGlvbiApIHsKICAgICAgICAgICAgaWYoICRvcHRpb24tPmdldF9zZWxlY3RlZCgpICkgcmV0dXJuICRvcHRpb24tPmdldF92YWx1ZSgpOwogICAgICAgIH0KCiAgICAgICAgaWYoICFpc3NldCgkdGhpcy0+X29wdGlvbnNbMF0pICkgcmV0dXJuOwogICAgICAgIHJldHVybiAkdGhpcy0+X29wdGlvbnNbMF0tPmdldF92YWx1ZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRfb3B0aW9uKCBET01TZWxlY3RPcHRpb24gJG9wdGlvbiApCiAgICB7CiAgICAgICAgJHRoaXMtPl9vcHRpb25zW10gPSAkb3B0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3B0aW9ucygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fb3B0aW9uczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX29wdGlvbnMoKQogICAgewogICAgICAgIHJldHVybiBjb3VudCgkdGhpcy0+X29wdGlvbnMpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.DOMSelectOption.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBET01TZWxlY3RPcHRpb24KewogICAgcHJpdmF0ZSAkX2F0dHJpYnMgPSBudWxsOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChcRE9NTm9kZSAkbm9kZSkKICAgIHsKICAgICAgICAkbmFtZSA9IHN0cnRvbG93ZXIoJG5vZGUtPm5vZGVOYW1lKTsKICAgICAgICBpZiggJG5hbWUgIT0gJ29wdGlvbicgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdDYW5ub3QgY3JlYXRlIGEgJy5fX0NMQVNTX18uJyBmcm9tIGEgJy4kbmFtZS4nIG5vZGUnKTsKCiAgICAgICAgJHRoaXMtPl9hdHRyaWJzID0gJHRoaXMtPmdldEF0dHJpYnV0ZXNBcnJheSgkbm9kZS0+YXR0cmlidXRlcyk7CiAgICAgICAgJHRoaXMtPl9hdHRyaWJzWyd0ZXh0J10gPSAkbm9kZS0+dGV4dENvbnRlbnQ7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEF0dHJpYnV0ZXNBcnJheShcRE9NTmFtZWROb2RlTWFwICRtYXApCiAgICB7CiAgICAgICAgJG91dCA9IFtdOwogICAgICAgIGZvcmVhY2goICRtYXAgYXMgJGF0dHIgKSB7CiAgICAgICAgICAgICRvdXRbJGF0dHItPm5vZGVOYW1lXSA9ICRhdHRyLT5ub2RlVmFsdWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfYXR0cmlicygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fYXR0cmliczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2h1bWFuUmVhZGFibGUoKQogICAgewogICAgICAgICR2YWwgPSBceHRfcGFyYW06OmdldF9zdHJpbmcoICR0aGlzLT5fYXR0cmlicywgJ2RhdGEtc210Zm0taHVtYW4nKTsKICAgICAgICBpZiggJHZhbCApIHJldHVybiAkdmFsOwogICAgICAgIHJldHVybiAkdGhpcy0+dGV4dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2hyUmF3KCkKICAgIHsKICAgICAgICByZXR1cm4gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCAkdGhpcy0+X2F0dHJpYnMsICdkYXRhLXNtdGZtLWh1bWFuJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF90ZXh0UmF3KCkKICAgIHsKICAgICAgICByZXR1cm4gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCAkdGhpcy0+X2F0dHJpYnMsICd0ZXh0Jyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF92YWx1ZVJhdygpCiAgICB7CiAgICAgICAgcmV0dXJuIFx4dF9wYXJhbTo6Z2V0X3N0cmluZyggJHRoaXMtPl9hdHRyaWJzLCAndmFsdWUnICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF92YWx1ZSgpCiAgICB7CiAgICAgICAgJHZhbCA9ICR0aGlzLT5nZXRfdmFsdWVSYXcoKTsKICAgICAgICBpZiggJHZhbCApIHJldHVybiAkdmFsOwogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0X3RleHRSYXcoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3NlbGVjdGVkKCkKICAgIHsKICAgICAgICByZXR1cm4gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCAkdGhpcy0+X2F0dHJpYnMsICdzZWxlY3RlZCcgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoICRrZXksICR2YWwgKQogICAgewogICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oX19DTEFTU19fLicgY2Fubm90IGJlIG1vZGlmaWVkIHRoaXMgd2F5Jyk7CiAgICB9Cgp9IC8vIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.DOMTextAreaField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBET01UZXh0QXJlYUZpZWxkIGV4dGVuZHMgRE9NRmllbGQKewogICAgdXNlIERPTUxhYmVsRmllbGRUcmFpdDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXERPTU5vZGUgJG5vZGUpCiAgICB7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkbm9kZSk7CiAgICAgICAgJHRoaXMtPnNldF9sYWJlbCgkdGhpcy0+ZmluZFBhcmVudExhYmVsKCRub2RlKSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/class.FieldError.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBGaWVsZEVycm9yCnsKICAgIGNvbnN0IE5PTlNQRUNJRklDX0ZJRUxEID0gJ05PVC1TUEVDSUZJQyc7CgogICAgcHJpdmF0ZSAkX2ZpZWxkX25hbWU7CiAgICBwcml2YXRlICRfbWVzc2FnZTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoICRmaWVsZF9uYW1lLCAkbWVzc2FnZSA9IG51bGwgKQogICAgewogICAgICAgICRmaWVsZF9uYW1lID0gdHJpbSgkZmllbGRfbmFtZSk7CiAgICAgICAgaWYoICEkZmllbGRfbmFtZSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0EgZmllbGQgbmFtZSBpcyByZXF1aXJlZCB3aGVuIGNyZWF0aW5nIGEgJy5fX0NMQVNTX18pOwogICAgICAgICR0aGlzLT5fZmllbGRfbmFtZSA9ICRmaWVsZF9uYW1lOwogICAgICAgICR0aGlzLT5fbWVzc2FnZSA9IHRyaW0oJG1lc3NhZ2UpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdmaWVsZF9uYW1lJzoKICAgICAgICBjYXNlICdmaWVsZCc6CiAgICAgICAgY2FzZSAnZmllbGROYW1lJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZmllbGRfbmFtZTsKCiAgICAgICAgY2FzZSAnbXNnJzoKICAgICAgICBjYXNlICdtZXNzYWdlJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fbWVzc2FnZTsKICAgICAgICB9CiAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigiJGtleSBpcyBub3QgYSBnZXR0YWJsZSBtZW1iZXIgb2YgIi5fX0NMQVNTX18pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgka2V5LCR2YWwpCiAgICB7CiAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigiJGtleSBpcyBub3QgYSBzZXR0YWJsZSBtZW1iZXIgb2YgIi5fX0NMQVNTX18pOwogICAgfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.Form.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CnVzZSBcU21hcnRGb3Jtc1xEaXNwb3NpdGlvbnNcRGlzcG9zaXRpb247CnVzZSBTbWFydEZvcm1zXERpc3Bvc2l0aW9uc1xJRGlzcG9zaXRpb247CnVzZSBcU21hcnRGb3Jtc1xGaWVsZFZhbGlkYXRvcnNcVmFsaWRhdGlvbjsKCmNsYXNzIEZvcm0KewogIHByaXZhdGUgICAgICAgJF9pZDsKICBwcml2YXRlICAgICAgICRfbmFtZTsKICBwcml2YXRlICAgICAgICRfdGVtcGxhdGVfaWQ7CiAgcHJpdmF0ZSAgICAgICAkX3RlbXBsYXRlX3JzcmM7CiAgcHJpdmF0ZSAgICAgICAkX3RwbF9tb2RpZmllZDsgLy8gdGhlIGRhdGUgdGhlIHRlbXBsYXRlIHdhcyBsYXN0IG1vZGlmaWVkCiAgcHJpdmF0ZSAgICAgICAkX2Rlc2NyaXB0aW9uOwogIHByaXZhdGUgICAgICAgJF9maWVsZF9tZXNzYWdlcyA9IFtdOwogIHByaXZhdGUgICAgICAgJF9maWVsZHMgICAgICAgICA9IFtdOwogIHByaXZhdGUgICAgICAgJF9wcmVyZW5kZXJfbG9naWM7CiAgcHJpdmF0ZSAgICAgICAkX2ZpbmFsYWN0aW9uOwogIHByaXZhdGUgICAgICAgJF9maW5hbG1zZzsKICBwcml2YXRlICAgICAgICRfZmluYWxwYWdlOwogIHByaXZhdGUgICAgICAgJF9kaXNwb3NpdGlvbnM7CiAgcHJpdmF0ZSAgICAgICAkX3ZhbGlkYXRpb25zOyAvLyB1c2VyIGFkZGVkIHZhbGlkYXRpb25zCiAgcHJpdmF0ZSAgICAgICAkX2hhc19jYXB0Y2hhOwogIHByaXZhdGUgICAgICAgJF9jcmVhdGVkOwogIHByaXZhdGUgICAgICAgJF9tb2RpZmllZDsKICBwcml2YXRlICAgICAgICRfZGlzcGxheV9pbmxpbmU7CiAgcHJpdmF0ZSAgICAgICAkX2VtYWlsX2Zyb21fYWRkcjsKICBwcml2YXRlICAgICAgICRfZW1haWxfZnJvbV9uYW1lOwogIHByaXZhdGUgICAgICAgJF9zbXRmbV92ZXJzaW9uOwogIHByaXZhdGUgICAgICAgJF91c2VfYXN5bmNfdXBsb2FkOwogIHByaXZhdGUgICAgICAgJF9yZXBseXRvX2ZpZWxkOwogIHByaXZhdGUgYXJyYXkgJGZpZWxkX21lc3NhZ2VzOwogIAogIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRWYWx1ZSgka2V5LCAkdmFsKQogICAgewogICAgICAka2V5ID0gXHRyaW0oJGtleSk7CiAgICAgICRra2V5ID0gJ18nIC4gXHRyaW0oJGtleSk7CiAgCiAgICAgIHN3aXRjaCgka2V5KQogICAgICB7CiAgICAgICAgY2FzZSAnbW9kaWZpZWQnOgogICAgICAgIGNhc2UgJ2NyZWF0ZWQnOgogICAgICAgIGNhc2UgJ3RwbF9tb2RpZmllZCc6CiAgICAgICAgY2FzZSAnZmluYWxwYWdlJzoKICAgICAgICBjYXNlICdpZCc6CiAgICAgICAgICAkdGhpcy0+JGtrZXkgPSAoaW50KSR2YWw7CiAgICAgICAgYnJlYWs7CiAgICAKICAgICAgICBjYXNlICduYW1lJzoKICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgY2FzZSAndGVtcGxhdGVfcnNyYyc6CiAgICAgICAgY2FzZSAnZW1haWxfZnJvbV9hZGRyJzoKICAgICAgICBjYXNlICdlbWFpbF9mcm9tX25hbWUnOgogICAgICAgIGNhc2UgJ3NtdGZtX3ZlcnNpb24nOwogICAgICAgIGNhc2UgJ2ZpbmFsbXNnJzoKICAgICAgICBjYXNlICdwcmVyZW5kZXJfbG9naWMnOgogICAgICAgIGNhc2UgJ2ZpbmFsYWN0aW9uJzoKICAgICAgICBjYXNlICdyZXBseXRvX2ZpZWxkJzsKICAgICAgICAgICR0aGlzLT4ka2tleSA9IFx0cmltKCAoc3RyaW5nKSR2YWwgKTsKICAgICAgICBicmVhazsKICAgIAogICAgICAgIGNhc2UgJ2hhc19jYXB0Y2hhJzoKICAgICAgICBjYXNlICdkaXNwbGF5X2lubGluZSc6CiAgICAgICAgY2FzZSAndXNlX2FzeW5jX3VwbG9hZCc6CiAgICAgICAgICAkdGhpcy0+JGtrZXkgPSBcY21zX3RvX2Jvb2woJHZhbCk7CiAgICAgICAgYnJlYWs7CiAgICAKICAgICAgICBjYXNlICd0ZW1wbGF0ZV9pZCc6CiAgICAgICAgICAkdmFsID0gKGludCkkdmFsOwogICAgICAgICAgaWYoJHZhbCA8IDEpCiAgICAgICAgICB7CiAgICAgICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgdGVtcGxhdGVfaWQgcHJvdmlkZWQgdG8gJyAuIF9fQ0xBU1NfXyk7CiAgICAgICAgICB9CiAgICAgICAgICAkdGhpcy0+JGtrZXkgPSAkdmFsOwogICAgICAgIGJyZWFrOwogICAgCiAgICAgICAgY2FzZSAnZmllbGRfbWVzc2FnZXMnOgogICAgICAgICAgaWYoICFcaXNfYXJyYXkoJHZhbCkgKQogICAgICAgICAgewogICAgICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGZpZWxkX21lc3NhZ2VzcyBhcnJheSBwcm92aWRlZCB0byAnIC4gX19DTEFTU19fKTsKICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgJHRoaXMtPmZpZWxkX21lc3NhZ2VzID0gW107CiAgICAgICAgICAKICAgICAgICAgIGZvcmVhY2goJHZhbCBhcyAkb25lKQogICAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+ZmllbGRfbWVzc2FnZXNbXSA9IFx0cmltKCRvbmUpOwogICAgICAgICAgfQogICAgICAgIGJyZWFrOwogICAgCiAgICAgICAgY2FzZSAnZmllbGRzJzoKICAgICAgICAgIGlmKCFcaXNfYXJyYXkoJHZhbCkpCiAgICAgICAgICB7CiAgICAgICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgZmllbGRzIGFycmF5IHByb3ZpZGVkIHRvICcgLiBfX0NMQVNTX18pOwogICAgICAgICAgfQogICAgICAgICAgZm9yZWFjaCgkdmFsIGFzICRvbmUpCiAgICAgICAgICB7CiAgICAgICAgICAgIGlmKCEkb25lIGluc3RhbmNlb2YgRm9ybUZpZWxkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBmaWVsZHMgYXJyYXkgcHJvdmlkZWQgdG8gJyAuIF9fQ0xBU1NfXyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgICR0aGlzLT4ka2tleSA9ICR2YWw7CiAgICAgICAgYnJlYWs7CiAgICAKICAgICAgICBjYXNlICd2YWxpZGF0aW9ucyc6CiAgICAgICAgICBpZighXGlzX2FycmF5KCR2YWwpKQogICAgICAgICAgewogICAgICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIHZhbGlkYXRpb25zIGFycmF5IHByb3ZpZGVkIHRvICcgLiBfX0NMQVNTX18pOwogICAgICAgICAgfQogICAgICAgICAgZm9yZWFjaCgkdmFsIGFzICRvbmUpCiAgICAgICAgICB7CiAgICAgICAgICAgIGlmKCEkb25lIGluc3RhbmNlb2YgVmFsaWRhdGlvbikKICAgICAgICAgICAgewogICAgICAgICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgdmFsaWRhdGlvbnMgYXJyYXkgcHJvdmlkZWQgdG8gJyAuIF9fQ0xBU1NfXyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgICR0aGlzLT4ka2tleSA9ICR2YWw7CiAgICAgICAgYnJlYWs7CiAgICAKICAgICAgICBjYXNlICdkaXNwb3NpdGlvbnMnOgogICAgICAgICAgaWYoIVxpc19hcnJheSgkdmFsKSkKICAgICAgICAgIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBkaXNwb3NpdGlvbnMgYXJyYXkgcHJvdmlkZWQgdG8gJyAuIF9fQ0xBU1NfXyk7CiAgICAgICAgICB9CiAgICAgICAgICBmb3JlYWNoKCR2YWwgYXMgJG9uZSkKICAgICAgICAgIHsKICAgICAgICAgICAgaWYoISRvbmUgaW5zdGFuY2VvZiBJRGlzcG9zaXRpb24pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRpc3Bvc2l0aW9ucyBhcnJheSBwcm92aWRlZCB0byAnIC4gX19DTEFTU19fKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgJHRoaXMtPiRra2V5ID0gJHZhbDsKICAgICAgICBicmVhazsKICAKICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggLyphcnJheSovICRkYXRhID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+X2ZpbmFsYWN0aW9uID0gJ21lc3NhZ2UnOwogICAgICAgIC8vaWYoICFpc19hcnJheSgkZGF0YSkgKSByZXR1cm47CiAgICAgICAgLy9mb3JlYWNoKCAkZGF0YSBhcyAka2V5ID0+ICR2YWwgKSB7CgogICAgICAgIC8vfQogICAgICBpZiAobnVsbCAhPSAkZGF0YSkgewogICAgICAgICR0aGlzLT5hZGp1c3RXaXRoKCAkZGF0YSApOwogICAgICB9CiAgICB9CiAgICAKICAgIAoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2Nsb25lKCkKICAgIHsKICAgICAgJHRoaXMtPl9uYW1lICAgICA9IE5VTEw7CiAgICAgICR0aGlzLT5faWQgICAgICAgPSBOVUxMOwogICAgICAkdGhpcy0+X21vZGlmaWVkID0gTlVMTDsKICAgICAgJHRoaXMtPl9jcmVhdGVkICA9IE5VTEw7CiAgICB9CiAgCiAgICAKICBwdWJsaWMgIGZ1bmN0aW9uIF9faXNzZXQoJGtleSkKICB7CiAgICAka2V5ID0gXHRyaW0oJGtleSk7CiAgICAka2tleSA9ICdfJyAuIFx0cmltKCRrZXkpOwogICAgCiAgICByZXR1cm4gaXNzZXQoJHRoaXMtPiRra2V5KTsKICB9CiAgCiAgCiAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgewogICAgJGtleSA9IFx0cmltKCRrZXkpOwogICAgJGtrZXkgPSAnXycgLiBcdHJpbSgka2V5KTsKICAgIAogICAgc3dpdGNoKCRrZXkpCiAgICB7CiAgICAgIGNhc2UgJ25hbWUnOgogICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgIGNhc2UgJ3RlbXBsYXRlX3JzcmMnOgogICAgICBjYXNlICdlbWFpbF9mcm9tX2FkZHInOgogICAgICBjYXNlICdlbWFpbF9mcm9tX25hbWUnOgogICAgICBjYXNlICdmaW5hbGFjdGlvbic6CiAgICAgIGNhc2UgJ3ByZXJlbmRlcl9sb2dpYyc6CiAgICAgIGNhc2UgJ2ZpbmFsbXNnJzoKICAgICAgY2FzZSAnc210Zm1fdmVyc2lvbic6CiAgICAgIGNhc2UgJ3JlcGx5dG9fZmllbGQnOgogICAgICAgIHJldHVybiBcdHJpbSgoc3RyaW5nKSR0aGlzLT4ka2tleSk7CiAgICAgIAogICAgICBjYXNlICdpZCc6CiAgICAgIGNhc2UgJ21vZGlmaWVkJzoKICAgICAgY2FzZSAnY3JlYXRlZCc6CiAgICAgIGNhc2UgJ3RwbF9tb2RpZmllZCc6CiAgICAgIGNhc2UgJ2ZpbmFscGFnZSc6CiAgICAgIGNhc2UgJ3RlbXBsYXRlX2lkJzoKICAgICAgICByZXR1cm4gKGludCkkdGhpcy0+JGtrZXk7CiAgICAgIAogICAgICBjYXNlICdoYXNfY2FwdGNoYSc6CiAgICAgIGNhc2UgJ2Rpc3BsYXlfaW5saW5lJzoKICAgICAgY2FzZSAndXNlX2FzeW5jX3VwbG9hZCc6CiAgICAgICAgcmV0dXJuIChib29sKSR0aGlzLT4ka2tleTsKICAgICAgCiAgICAgIGNhc2UgJ2ZpZWxkX21lc3NhZ2VzJzoKICAgICAgY2FzZSAnZmllbGRzJzoKICAgICAgY2FzZSAndmFsaWRhdGlvbnMnOgogICAgICBjYXNlICdkaXNwb3NpdGlvbnMnOgogICAgICAgIHJldHVybiAkdGhpcy0+JGtrZXk7CiAgCiAgICB9CiAgICAKICAgIHJldHVybiBudWxsOwogIH0KCiAgICAvKioKICAgICAqIEdldCBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHNtYXJ0eSB0ZW1wbGF0ZSByZXNvdXJjZSB0byB1c2Ugd2hlbiByZW5kZXJpbmcgb3Igc2Nhbm5pbmcgdGhpcyB0ZW1wbGF0ZS4KICAgICAqCiAgICAgKiBAaWdub3JlCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U21hcnR5VGVtcGxhdGVSZXNvdXJjZSgpCiAgICB7CiAgICAgICAgaWYoICR0aGlzLT50ZW1wbGF0ZV9yc3JjICkgcmV0dXJuICR0aGlzLT5fdGVtcGxhdGVfcnNyYzsKICAgICAgICBpZiggJHRoaXMtPnRlbXBsYXRlX2lkID4gMCApIHJldHVybiAnY21zX3RlbXBsYXRlOicuJHRoaXMtPnRlbXBsYXRlX2lkOwogICAgfQoKICAgIC8qKgogICAgICogQWxsb3dzIGFkanVzdGluZyB0aGUgZm9ybSBpZCwgY3JlYXRlZCBhbmQgbW9kaWZpZWQgZGF0ZXMuCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGp1c3RQcml2YXRlKGFycmF5ICRkYXRhKQogICAgewogICAgICAgIGZvcmVhY2goICRkYXRhIGFzICRrZXkgPT4gJHZhbCApIHsKICAgICAgICAgICAgJHRoaXMtPnNldFZhbHVlKCAka2V5LCAkdmFsICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRqdXN0V2l0aCgvKmFycmF5Ki8gJGRhdGEpCiAgICB7CiAgICAgICAgZm9yZWFjaCggJGRhdGEgYXMgJGtleSA9PiAkdmFsICkgewogICAgICAgICAgICBpZiggJGtleSA9PSAnaWQnICkgY29udGludWU7IC8vIGNhbid0IGJlIHNldCBhdCBydW50aW1lLgogICAgICAgICAgICBpZiggJGtleSA9PSAnY3JlYXRlZCcgKSBjb250aW51ZTsgLy8gY2FuJ3QgYmUgc2V0IGF0IHJ1bnRpbWUuCiAgICAgICAgICAgIGlmKCAka2V5ID09ICdtb2RpZmllZCcgKSBjb250aW51ZTsgLy8gY2FuJ3QgYmUgc2V0IGF0IHJ1bnRpbWUuCiAgICAgICAgICAgICR0aGlzLT5zZXRWYWx1ZSggJGtleSwgJHZhbCApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldEZpZWxkKEZvcm1GaWVsZCAkZmllbGQpCiAgICB7CiAgICAgICAgaWYoIGlzX2FycmF5KCR0aGlzLT5fZmllbGRzKSAmJiBjb3VudCgkdGhpcy0+X2ZpZWxkcykgKSB7CiAgICAgICAgICAgIGZvcmVhY2goICR0aGlzLT5fZmllbGRzIGFzICYkZV9maWVsZCApIHsKICAgICAgICAgICAgICAgIGlmKCAkZV9maWVsZC0+bmFtZSA9PSAkZmllbGQtPm5hbWUgKSB7CiAgICAgICAgICAgICAgICAgICAgJGVfZmllbGQgPSAkZmllbGQ7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIGl0J3MgYW4gYWRkCiAgICAgICAgJHRoaXMtPl9maWVsZHNbXSA9ICRmaWVsZDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0VmFsaWRhdGlvbiggVmFsaWRhdGlvbiAkb2JqICkKICAgIHsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRpb25zWyRvYmotPmdldF9ndWlkKCldID0gJG9iajsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VmFsaWRhdGlvbiggJGd1aWQgKQogICAgewogICAgICAgIGlmKCBpc3NldCgkdGhpcy0+X3ZhbGlkYXRpb25zWyRndWlkXSkgKSByZXR1cm4gJHRoaXMtPl92YWxpZGF0aW9uc1skZ3VpZF07CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhc1ZhbGlkYXRpb24oICRjbGFzc25hbWUgKQogICAgewogICAgICAgIGlmKCAhY291bnQoJHRoaXMtPl92YWxpZGF0aW9ucykgKSByZXR1cm47CiAgICAgICAgZm9yZWFjaCggJHRoaXMtPl92YWxpZGF0aW9ucyBhcyAkZ3VpZCA9PiAkb2JqICkgewogICAgICAgICAgICBpZiggZ2V0X2NsYXNzKCRvYmopID09ICRjbGFzc25hbWUgKSByZXR1cm4gVFJVRTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZVZhbGlkYXRpb24oICRndWlkICkKICAgIHsKICAgICAgICBpZiggaXNzZXQoJHRoaXMtPl92YWxpZGF0aW9uc1skZ3VpZF0pICkgdW5zZXQoJHRoaXMtPl92YWxpZGF0aW9uc1skZ3VpZF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXREaXNwb3NpdGlvbiggRGlzcG9zaXRpb24gJG9iaiApCiAgICB7CiAgICAgICAgJHRoaXMtPl9kaXNwb3NpdGlvbnNbJG9iai0+Z2V0X2d1aWQoKV0gPSAkb2JqOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXREaXNwb3NpdGlvbiggJGd1aWQgKQogICAgewogICAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2Rpc3Bvc2l0aW9uc1skZ3VpZF0pICkgcmV0dXJuICR0aGlzLT5fZGlzcG9zaXRpb25zWyRndWlkXTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVtb3ZlRGlzcG9zaXRpb24oICRndWlkICkKICAgIHsKICAgICAgICBpZiggaXNzZXQoJHRoaXMtPl9kaXNwb3NpdGlvbnNbJGd1aWRdKSApIHVuc2V0KCR0aGlzLT5fZGlzcG9zaXRpb25zWyRndWlkXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG9yZGVyRGlzcG9zaXRpb25zKCBhcnJheSAkZ3VpZF9saXN0ICkKICAgIHsKICAgICAgICBpZiggIWNvdW50KCRndWlkX2xpc3QpICkgcmV0dXJuOwogICAgICAgIGlmKCBjb3VudCgkZ3VpZF9saXN0KSAhPSBjb3VudCgkdGhpcy0+X2Rpc3Bvc2l0aW9ucykgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRhdGEgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CgogICAgICAgICRuZXdfbGlzdCA9IFtdOwogICAgICAgIGZvcmVhY2goICRndWlkX2xpc3QgYXMgJG9uZV9ndWlkICkgewogICAgICAgICAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGlzcG9zaXRpb25zWyRvbmVfZ3VpZF0pICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBkYXRhIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwogICAgICAgICAgICAkb2JqID0gJHRoaXMtPl9kaXNwb3NpdGlvbnNbJG9uZV9ndWlkXTsKICAgICAgICAgICAgJG5ld19saXN0WyRvbmVfZ3VpZF0gPSAkb2JqOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+X2Rpc3Bvc2l0aW9ucyA9ICRuZXdfbGlzdDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb3JkZXJWYWxpZGF0aW9ucyggYXJyYXkgJGd1aWRfbGlzdCApCiAgICB7CiAgICAgICAgaWYoICFjb3VudCgkZ3VpZF9saXN0KSApIHJldHVybjsKICAgICAgICBpZiggY291bnQoJGd1aWRfbGlzdCkgIT0gY291bnQoJHRoaXMtPl92YWxpZGF0aW9ucykgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRhdGEgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CgogICAgICAgICRuZXdfbGlzdCA9IFtdOwogICAgICAgIGZvcmVhY2goICRndWlkX2xpc3QgYXMgJG9uZV9ndWlkICkgewogICAgICAgICAgICBpZiggIWlzc2V0KCR0aGlzLT5fdmFsaWRhdGlvbnNbJG9uZV9ndWlkXSkgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIGRhdGEgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CiAgICAgICAgICAgICRvYmogPSAkdGhpcy0+X3ZhbGlkYXRpb25zWyRvbmVfZ3VpZF07CiAgICAgICAgICAgICRuZXdfbGlzdFskb25lX2d1aWRdID0gJG9iajsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPl92YWxpZGF0aW9ucyA9ICRuZXdfbGlzdDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2ZpZWxkcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZmllbGRzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZmllbGQoICRuYW1lICkKICAgIHsKICAgICAgICBmb3JlYWNoKCAkdGhpcy0+ZmllbGRzIGFzICRmaWVsZCApIHsKICAgICAgICAgICAgJHRfbmFtZSA9ICRmaWVsZC0+bmFtZTsKICAgICAgICAgICAgaWYoICR0X25hbWUgPT0gJG5hbWUgKSByZXR1cm4gJGZpZWxkOwogICAgICAgICAgICBpZiggJHRfbmFtZSA9PSAkbmFtZS4nW10nICkgcmV0dXJuICRmaWVsZDsKICAgICAgICB9CiAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgYSBmaWVsZCB3aXRoIG5hbWUgJy4kbmFtZS4nIGluIGZpZWxkIGxpc3QnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2ZpZWxkbmFtZXMoKQogICAgewogICAgICAgICRuYW1lcyA9IFtdOwogICAgICAgIGZvcmVhY2goICR0aGlzLT5maWVsZHMgYXMgJGZpZWxkICkgewogICAgICAgICAgICAkbmFtZSA9ICRmaWVsZC0+bmFtZTsKICAgICAgICAgICAgaWYoIGVuZHN3aXRoKCRuYW1lLCdbXScpICkgJG5hbWUgPSBzdWJzdHIoJG5hbWUsMCwtMik7CiAgICAgICAgICAgIGlmKCAhaW5fYXJyYXkoJG5hbWUsJG5hbWVzKSApICRuYW1lc1tdID0gJG5hbWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkbmFtZXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9maWVsZF9saXN0KCkKICAgIHsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJHRoaXMtPmZpZWxkcyBhcyAkZmllbGQgKSB7CiAgICAgICAgICAgICRtdWx0aXBsZSA9IGZhbHNlOwogICAgICAgICAgICAkbmFtZSA9ICRmaWVsZC0+bmFtZTsKICAgICAgICAgICAgaWYoIGVuZHN3aXRoKCRuYW1lLCdbXScpICkgewogICAgICAgICAgICAgICAgJG5hbWUgPSBzdWJzdHIoJG5hbWUsMCwtMik7CiAgICAgICAgICAgICAgICAkbXVsdGlwbGUgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCAkZmllbGQtPm11bHRpcGxlICkgJG11bHRpcGxlID0gdHJ1ZTsKICAgICAgICAgICAgaWYoIGFycmF5X2tleV9leGlzdHMoJG5hbWUsJG91dCkgKSBjb250aW51ZTsKICAgICAgICAgICAgJHN0ciA9ICRuYW1lOwogICAgICAgICAgICBpZiggJG11bHRpcGxlICkgJHN0ciAuPSAiW10iOwogICAgICAgICAgICAkc3RyIC49ICcgKCcuJGZpZWxkLT50eXBlLicpJzsKICAgICAgICAgICAgJG91dFskbmFtZV0gPSAkc3RyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlzdF9maWVsZHNfYnlfdHlwZSgkdHlwZSkKICAgIHsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJHRoaXMtPmZpZWxkcyBhcyAkZmllbGQgKSB7CiAgICAgICAgICAgIGlmKCAkZmllbGQtPnR5cGUgIT0gJHR5cGUgKSBjb250aW51ZTsKICAgICAgICAgICAgJG91dFtdID0gJGZpZWxkLT5uYW1lOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNfZmlsZV9maWVsZCggJG5hbWUgKQogICAgewogICAgICAgICRuYW1lID0gdHJpbSgkbmFtZSk7CiAgICAgICAgaWYoICEkbmFtZSApIHJldHVybjsKCiAgICAgICAgaWYoIHN0YXJ0c3dpdGgoJG5hbWUsJ3NtdGZtXycpICkgcmV0dXJuIEZBTFNFOwogICAgICAgICRmaWVsZCA9ICR0aGlzLT5nZXRfZmllbGQoICRuYW1lICk7CiAgICAgICAgJHJlcyA9ICggJGZpZWxkICYmICRmaWVsZC0+dHlwZSA9PSAnZmlsZScgKTsKICAgICAgICByZXR1cm4gJHJlczsKICAgIH0KCiAgICAvKioKICAgICAqIEdpdmVuIGEgZmllbGQgbmFtZSBhbmQgYSBmaWVsZCB2YWx1ZSwgIGxvb2t1cCBhbnkgaHVtYW4tcmVhZGFibGUgZXF1aXZhbGVudCB2YWx1ZS4KICAgICAqIFRoaXMgaXMgdXNlZnVsIGluIG91dHB1dCBkaXNwbGF5cyAoZW1haWxzLCB3ZWIgZnJvbnRlbmRzKSBldGMuICAgaS5lOiAgRGlzcGxheSAnZicgYXMgJ0ZlbWFsZScgYW5kICdtJyBhcyAnTWFsZScsCiAgICAgKiBUaGlzIG1ldGhvZCBpcyBvbmx5IHJlYWxseSB1c2VmdWwgd2hlbiB0aGUgZmllbGRfbmFtZSByZXByZXNlbnRzIGEgc2VsZWN0LCBvciByYWRpbyBidXR0b24gZ3JvdXAgb3IgY2hlY2tib3ggZ3JvdXAuCiAgICAgKgogICAgICogSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQgaW4sIHRoZW4gYW4gYXR0ZW1wdCB3aWxsIGJlIG1hZGUgdG8gZ2V0IGFuIGFycmF5IG9mIGh1bWFuIHJlYWRhYmxlIHZhbHVlcy4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRmaWVsZF9uYW1lIFRoZSBmaWVsZCBuYW1lCiAgICAgKiBAcGFyYW0gc3RyaW5nfHN0cmluZ1tdICRmaWVsZF92YWx1ZSBUaGUgdmFsdWUgZm9yCiAgICAgKiBAcmV0dXJuIHN0cmluZ3xzdHJpbmdbXQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2h1bWFuX3JlYWRhYmxlX2ZpZWxkX3ZhbHVlKCAkZmllbGRfbmFtZSwgJGZpZWxkX3ZhbHVlICkKICAgIHsKICAgICAgICBpZiggc3RhcnRzd2l0aCgkZmllbGRfbmFtZSwnc210Zm1fJykgKSByZXR1cm4gJGZpZWxkX3ZhbHVlOwogICAgICAgICRmaWVsZF9uYW1lID0gdHJpbSgkZmllbGRfbmFtZSk7CiAgICAgICAgaWYoICEkZmllbGRfbmFtZSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgZmllbGQgbmFtZSBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICBJRiggISRmaWVsZF92YWx1ZSApIHJldHVybjsKCiAgICAgICAgJGZpZWxkID0gJHRoaXMtPmdldF9maWVsZCggJGZpZWxkX25hbWUgKTsKCiAgICAgICAgaWYoICEgJGZpZWxkLT5tdWx0aXBsZSApIHsKICAgICAgICAgICAgaWYoICRmaWVsZC0+aGFzX29wdGlvbnMoKSApIHsKICAgICAgICAgICAgICAgICRvcHQgPSAkZmllbGQtPmdldF9vcHRpb25fYnlfdmFsdWUoICRmaWVsZF92YWx1ZSApOwogICAgICAgICAgICAgICAgaWYoICEkb3B0ICkgcmV0dXJuOwogICAgICAgICAgICAgICAgcmV0dXJuICRvcHQtPmhyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuICRmaWVsZF92YWx1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gJGZpZWxkX3ZhbCBpcyBhbiBhcnJheS4gbXVzdCByZXR1cm4gYW4gYXJyYXkKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJGZpZWxkX3ZhbHVlIGFzICRvbmUgKSB7CiAgICAgICAgICAgICRvcHQgPSAkZmllbGQtPmdldF9vcHRpb25fYnlfdmFsdWUoIHRyaW0oJG9uZSkgKTsKICAgICAgICAgICAgaWYoICEkb3B0ICkgY29udGludWU7CiAgICAgICAgICAgICRvdXRbXSA9ICRvcHQtPmhyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlzdF9maWVsZHNfYnlfdHlwZV9vcl9wcmltaXRpdmUoJHR5cGUsJHByaW0sJGFsbG93X211bHRpcGxlID0gZmFsc2UpCiAgICB7CiAgICAgICAgJHR5cGUgPSBzdHJ0b2xvd2VyKHRyaW0oJHR5cGUpKTsKICAgICAgICAkcHJpbSA9IHN0cnRvbG93ZXIodHJpbSgkcHJpbSkpOwogICAgICAgICRvdXQgPSBbXTsKICAgICAgICBmb3JlYWNoKCAkdGhpcy0+ZmllbGRzIGFzICRmaWVsZCApIHsKICAgICAgICAgICAgaWYoICRmaWVsZC0+dHlwZSAhPSAkdHlwZSAmJiAkZmllbGQtPnByaW1pdGl2ZSAhPSAkcHJpbSApIGNvbnRpbnVlOwogICAgICAgICAgICBpZiggJGZpZWxkLT5tdWx0aXBsZSAmJiAhJGFsbG93X211bHRpcGxlICkgY29udGludWU7CiAgICAgICAgICAgICRzdHIgPSAkZmllbGQtPm5hbWU7CiAgICAgICAgICAgIGlmKCAkZmllbGQtPm11bHRpcGxlICkgJHN0ciAuPSAnW10nOwogICAgICAgICAgICAkc3RyIC49ICcgKCcuJGZpZWxkLT50eXBlLicpJzsKICAgICAgICAgICAgJG91dFskZmllbGQtPm5hbWVdID0gJHN0cjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGxpc3RfbXVsdGlvcHRpb25fZmllbGRzKCAkbXVsdGlwbGVfb2theSA9IEZBTFNFICkKICAgIHsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJHRoaXMtPmZpZWxkcyBhcyAkZmllbGQgKSB7CiAgICAgICAgICAgIGlmKCAhJGZpZWxkLT5oYXNfbXVsdGlwbGVfb3B0aW9ucygpICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCAhJG11bHRpcGxlX29rYXkgJiYgJGZpZWxkLT5tdWx0aXBsZSApIGNvbnRpbnVlOwogICAgICAgICAgICAkb3V0W10gPSAkZmllbGQtPm5hbWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbXVsdGlvcHRpb25fZmllbGRzKCAkbXVsdGlwbGVfb2theSA9IEZBTFNFICkKICAgIHsKICAgICAgICAvLyBmaWVsZHMgYXJlIG11bHRpLW9wdGlvbiBmaWVsZHNzIElGIHRoZXkgb2NjdXIgbXVsdGlwbGUgdHlwZXMsIGFuZCB0aGV5IGFyZSByYWRpbwogICAgICAgIC8vIE9SIHRoZXkgYXJlIGEgc2VsZWN0LgogICAgICAgICRvdXQgPSAkdG1wID0gW107CiAgICAgICAgZm9yZWFjaCggJHRoaXMtPmZpZWxkcyBhcyAkZmllbGQgKSB7CiAgICAgICAgICAgIGlmKCAhJG11bHRpcGxlX29rYXkgJiYgJGZpZWxkLT5tdWx0aXBsZSApIGNvbnRpbnVlOwogICAgICAgICAgICBpZiggISRmaWVsZC0+aGFzX211bHRpcGxlX29wdGlvbnMoKSApIGNvbnRpbnVlOwogICAgICAgICAgICAkc3RyID0gJGZpZWxkLT5uYW1lOwogICAgICAgICAgICBpZiggJGZpZWxkLT5tdWx0aXBsZSApICRzdHIgLj0gIltdIjsKICAgICAgICAgICAgJHN0ciAuPSAiICh7JGZpZWxkLT50eXBlfSkiOwogICAgICAgICAgICAkb3V0WyRmaWVsZC0+bmFtZV0gPSAkc3RyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNfbXVsdGl2YWx1ZV9maWVsZCgkbmFtZSkKICAgIHsKICAgICAgICAvLyBhIGZpZWxkIGlzIGEgbXVsdGktdmFsdWUgZmllbGQgSUYgaXQncyBuYW1lIGVuZHMgd2l0aCBbXQogICAgICAgIGZvcmVhY2goICR0aGlzLT5maWVsZHMgYXMgJGZpZWxkICkgewogICAgICAgICAgICBpZiggJGZpZWxkLT5uYW1lICE9ICRuYW1lICApIGNvbnRpbnVlOwogICAgICAgICAgICByZXR1cm4gJGZpZWxkLT5tdWx0aXBsZTsKICAgICAgICB9CiAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgYSBmaWVsZCB3aXRoIG5hbWUgJy4kbmFtZS4nIGluIGZpZWxkIGxpc3QnKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdpdmVuIGEgcmVzcG9uc2UsIHZhbGlkYXRlIGl0IGFnYWluc3QgYWxsIHZhbGlkYXRpb25zLCBhbmQgY2FsbCBhIGhvb2suCiAgICAgKgogICAgICogQHBhcmFtIEZvcm1SZXNwb25zZSAkcmVzcG9uc2UgVGhlIHBvcHVsYXRlZCByZXNwb25zZSBvYmplY3QKICAgICAqIEBwYXJhbSBUUmFuc2xhdG9yICR0cmFuc2xhdG9yIFRoZSBvYmplY3QgZm9yIHRyYW5zbGF0aW5nIG1lc3NhZ2VzLgogICAgICogQHJldHVybiBzdHJpbmdbXXxudWxsIEEgbGlzdCBvZiBlcnJvciBtZXNzYWdlcyBjcmVhdGVkIGJ5IGFjY3VtdWxhdGluZyBtZXNzYWdlcyBjYXVnaHQgYnkgVmFsaWRhdGlvbkV4Y2VwdGlvbiBlcnJvcnMuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZV9yZXNwb25zZSggRm9ybVJlc3BvbnNlICRyZXNwb25zZSwgVHJhbnNsYXRvciAkdHJhbnNsYXRvciApCiAgICB7CiAgICAgICAgJGVycm9ycyA9IG51bGw7CiAgICAgICAgJHZhbGlkYXRpb25zID0gJHRoaXMtPnZhbGlkYXRpb25zOwogICAgICAgICR2YWxpZGF0aW9uc1tdID0gbmV3IEZpZWxkVmFsaWRhdG9yc1xIb29rVmFsaWRhdG9yKCk7CiAgICAgICAgZm9yZWFjaCggJHZhbGlkYXRpb25zIGFzICR2YWxpZGF0aW9uICkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgJHZhbGlkYXRpb24tPnZhbGlkYXRlKCAkdGhpcywgJHJlc3BvbnNlLCAkdHJhbnNsYXRvciApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhdGNoKCBGaWVsZFZhbGlkYXRvcnNcVmFsaWRhdGlvbkV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgICAgICRyZXNwb25zZS0+YWRkX2Vycm9yKCAkZS0+R2V0RmllbGRFcnJvcigpLT5tc2cgKTsKICAgICAgICAgICAgICAgICRlcnJvcnNbXSA9ICRlLT5HZXRGaWVsZEVycm9yKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRlcnJvcnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBVc2UgYWxsIGRpc3Bvc2l0aW9ucyBhdHRhY2hlZCB0byBhIGZvcm0sIGFuZCBjYWxsIHRoZW0uCiAgICAgKiBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoYXQgYWxsIHZhbGlkYXRpb25zIGhhdmUgYWxyZWFkeSBwYXNzZWQuCiAgICAgKiBUaGlzIG1ldGhvZCBET0VTIE5PVCBwcm9jZXNzIHRoZSBmaW5hbCBhY3Rpb24gb3B0aW9ucy4KICAgICAqCiAgICAgKiBAcGFyYW0gRm9ybVJlc3BvbnNlICRyZXNwb25zZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZGlzcG9zZV9yZXNwb25zZV9ub3ZhbGlkYXRlKCBGb3JtUmVzcG9uc2UgJHJlc3BvbnNlICkKICAgIHsKICAgICAgICAkZGlzcG9zaXRpb25zID0gJHRoaXMtPmRpc3Bvc2l0aW9uczsKICAgICAgICBpZiggJHJlc3BvbnNlLT5oYXNfdXBsb2FkcygpICkgewogICAgICAgICAgICAvLyBzcGVjaWFsIGRpc3Bvc2l0aW9uIHRvIG1vdmUgdXBsb2FkZWQgZmlsZXMgdG8gYSBtb3JlIHBlcm1hbmVudCBsb2NhdGlvbiAobmFtZWQgYnkgR1VJRCkKICAgICAgICAgICAgLy8gdGhpcyBkaXNwb3NpdGlvbiBpcyBwcmVwZW5kZWQgdG8gdGhlIGxpc3QuCiAgICAgICAgICAgICRkaXNwID0gbmV3IERpc3Bvc2l0aW9uc1xHVUlERmlsZURpc3Bvc2l0aW9uKCk7CiAgICAgICAgICAgIGlmKCAkZGlzcG9zaXRpb25zICkgewogICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCggJGRpc3Bvc2l0aW9ucywgJGRpc3AgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICRkaXNwb3NpdGlvbnMgPSBbICRkaXNwIF07CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIGFwcGVuZCBhIGhvb2sgZGlzcG9zaXRpb24KICAgICAgICAkZGlzcG9zaXRpb25zW10gPSBuZXcgRGlzcG9zaXRpb25zXEhvb2tEaXNwb3NpdGlvbigpOwoKICAgICAgICAvLyBub3cgZG8gdGhlIGRpc3Bvc2luZwogICAgICAgIGZvcmVhY2goICRkaXNwb3NpdGlvbnMgYXMgJGRpc3AgKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBpZiggISAkZGlzcC0+aXNfYWN0aXZlKCkgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICRkaXNwLT5kaXNwb3NlKCAkdGhpcywgJHJlc3BvbnNlICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2F0Y2goIFxTbWFydEZvcm1zXFN0b3BEaXNwb3NpdGlvblRyaWdnZXIgJGUgKSB7CiAgICAgICAgICAgICAgICAvLyB3b290LCB3ZSBzdG9wIGhhbmRsaW5nIHN0dWZmLgogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGlzIG1ldGhvZCBpcyByZXNwb25zaWJsZSBmb3IgY2xlYW5pbmcgdXAgYWZ0ZXIgYSBmb3JtIGlzIGRpc3Bvc2VkLgogICAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGFmdGVyIGRpc3Bvc2l0aW9uLCBidXQgYmVmb3JlIHRoZSBmaW5hbCBhY3Rpb24uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjbGVhbnVwX3Jlc3BvbnNlKCBGb3JtUmVzcG9uc2UgJHJlc3BvbnNlICkKICAgIHsKICAgICAgICBpZiggJHJlc3BvbnNlLT5jYW5fY2xlYW51cCgpICkgXENNU01TXEhvb2tNYW5hZ2VyOjpkb19ob29rKCAnU21hcnRGb3Jtczo6Y2xlYW51cCcsICRyZXNwb25zZSApOwogICAgfQoKICAgIC8qKgogICAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBwZXJmb3JtIGEgZmluYWwgYWN0aW9uIGFmdGVyIHRoZSBmb3JtIGlzIGRpc3Bvc2VkIGFuZCBjbGVhbmVkIHVwLgogICAgICogSXQgbWF5IHJlZGlyZWN0IHRvIGEgY29udGVudCBwYWdlLCBvciBtYXkgcmV0dXJuIGEgc3RyaW5nIHRvIGRpc3BsYXkgaW4gdGhlIHByaW1hcnkgY29udGVudCBhcmVhLgogICAgICoKICAgICAqIFRoaXMgbWV0aG9kIG1heSBub3QgYmUgY2FsbGVkIGluIGEgZm9ybSBkaXNwb3NpdGlvbiBpZiBhbm90aGVyIGRpc3Bvc3Rpb24gcmVzdWx0cyBpbiBhIHJlZGlyZWN0LgogICAgICoKICAgICAqIEBwYXJhbSBGb3JtUmVzcG9uc2UgJHJlc3BvbnNlCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZG9fZmluYWxfYWN0aW9uKCBGb3JtUmVzcG9uc2UgJHJlc3BvbnNlICkKICAgIHsKICAgICAgICAvLyB0aGlzIGlzIGp1c3QgYmFzaWNhbGx5IGEgZGlzcG9zaXRpb24uCiAgICAgICAgc3dpdGNoKCAkdGhpcy0+ZmluYWxhY3Rpb24gKSB7CiAgICAgICAgY2FzZSAncmVkaXJlY3QnOgogICAgICAgICAgICBpZiggJHJlc3BvbnNlLT5maW5hbF91cmwgKSB7CiAgICAgICAgICAgICAgICByZWRpcmVjdCggJHJlc3BvbnNlLT5maW5hbF91cmwgKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSgnU21hcnRGb3JtcycpOwogICAgICAgICAgICAkbW9kLT5SZWRpcmVjdENvbnRlbnQoICR0aGlzLT5maW5hbHBhZ2UgKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgY2FzZSAnbWVzc2FnZSc6CiAgICAgICAgICAgICR0ZW1wbGF0ZSA9ICR0aGlzLT5maW5hbG1zZzsKICAgICAgICAgICAgcmV0dXJuIHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGVtcGxhdGUsICR0aGlzLCAkcmVzcG9uc2UgKTsKICAgICAgICB9CgogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.FormDAO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CnVzZSBTbWFydEZvcm1zOwp1c2UgU21hcnRGb3Jtc1xEaXNwb3NpdGlvbnNcRGlzcG9zaXRpb247CnVzZSBTbWFydEZvcm1zXEZpZWxkVmFsaWRhdG9yc1xWYWxpZGF0aW9uOwp1c2UgQ01TTVNcRGF0YWJhc2VcQ29ubmVjdGlvbiBhcyBEYXRhYmFzZTsKCmNsYXNzIEZvcm1EQU8gaW1wbGVtZW50cyBGb3JtU3RvcmFnZUludGVyZmFjZQp7CiAgICBwcml2YXRlICRfbW9kOwogICAgcHJpdmF0ZSAkX2RiOwogICAgcHJpdmF0ZSAkX25hbWVfY2FjaGU7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFNtYXJ0Rm9ybXMgJG1vZCwgRGF0YWJhc2UgJGRiKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgICAgICAkdGhpcy0+X2RiID0gJGRiOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gdGFibGVfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIENNU19EQl9QUkVGSVguJ21vZF9zbXRmbV9mb3Jtcyc7CiAgICB9CiAgICAKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfaW5zZXJ0KCBGb3JtICRmb3JtICkKICAgIHsKICAgICAgJHNxbCA9ICdJTlNFUlQgSU5UTyAnIC4gc2VsZjo6dGFibGVfbmFtZSgpIC4KICAgICAgICAgICAgICcgKG5hbWUsIGRhdGEsIGNyZWF0ZWQsIG1vZGlmaWVkKSBWQUxVRVMgKD8sPyxVTklYX1RJTUVTVEFNUCgpLFVOSVhfVElNRVNUQU1QKCkpJzsKICAgICAgCiAgICAgICR0aGlzLT5fZGItPkV4ZWN1dGUoJHNxbCwgWyRmb3JtLT5uYW1lLCBcc2VyaWFsaXplKCRmb3JtKV0pOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfdXBkYXRlKCBGb3JtICRmb3JtICkKICAgIHsKICAgICAgICAkc3FsID0gJ1VQREFURSAnLnNlbGY6OnRhYmxlX25hbWUoKS4nIFNFVCBuYW1lID0gPywgZGF0YSA9ID8sIG1vZGlmaWVkID0gVU5JWF9USU1FU1RBTVAoKSBXSEVSRSBpZCA9ID8nOwogICAgICAgICR0aGlzLT5fZGItPkV4ZWN1dGUoICRzcWwsIFskZm9ybS0+bmFtZSwgXHNlcmlhbGl6ZSgkZm9ybSksICRmb3JtLT5pZCBdICk7CiAgICB9CgogICAgLy8gZm9ybSBvYmplY3QgY2Fubm90IGJlIGFsdGVyZWQgYW5kIHJlLXNhdmVkIGFmdGVyIHNhdmluZy4KICAgIHB1YmxpYyBmdW5jdGlvbiBTYXZlKCBGb3JtICRmb3JtICkKICAgIHsKICAgICAgICBpZiggJGZvcm0tPmlkIDwgMSApIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5faW5zZXJ0KCAkZm9ybSApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fdXBkYXRlKCAkZm9ybSApOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlzdF9hbGwoKQogICAgewogICAgICAkb3V0ID0gW107CiAgICAgIAogICAgICAkc3FsID0gJ1NFTEVDVCBpZCxuYW1lIEZST00gJyAuIHNlbGY6OnRhYmxlX25hbWUoKSAuICcgT1JERVIgQlkgbmFtZSBBU0MnOwogICAgICAkdG1wID0gJHRoaXMtPl9kYi0+R2V0QXJyYXkoJHNxbCk7CiAgICAgIGlmKCEkdG1wIHx8ICFcY291bnQoJHRtcCkpIHsgcmV0dXJuICRvdXQ7IH0KICAKICAKICAgICAgZm9yZWFjaCgkdG1wIGFzICRyb3cpCiAgICAgIHsKICAgICAgICAkb3V0WyRyb3dbJ2lkJ11dID0gJHJvd1snbmFtZSddOwogICAgICB9CiAgCiAgICAgIHJldHVybiAkb3V0OwogICAgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBleGlzdHMoJG5hbWUpCiAgewogICAgaWYoISR0aGlzLT5fbmFtZV9jYWNoZSkKICAgIHsKICAgICAgJHRoaXMtPl9uYW1lX2NhY2hlID0gW107CiAgICAgICRuYW1lICAgICAgICAgICAgICA9IFx0cmltKCRuYW1lKTsKICAgICAgaWYoISRuYW1lKQogICAgICB7CiAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBmb3JtIG5hbWUgcGFzc2VkIHRvICcgLiBfX01FVEhPRF9fKTsKICAgICAgfQogICAgICAKICAgICAgJHNxbCA9ICdTRUxFQ1QgaWQsbmFtZSBGUk9NICcgLiBzZWxmOjp0YWJsZV9uYW1lKCk7CiAgICAgICR0bXAgPSAkdGhpcy0+X2RiLT5HZXRBcnJheSgkc3FsKTsKICAgICAgaWYoXGlzX2FycmF5KCR0bXApICYmIFxjb3VudCgkdG1wKSkKICAgICAgewogICAgICAgICR0aGlzLT5fbmFtZV9jYWNoZSA9ICR0bXA7CiAgICAgIH0KICAgIH0KICAgIGZvcmVhY2goJHRoaXMtPl9uYW1lX2NhY2hlIGFzICRyb3cpCiAgICB7CiAgICAgIGlmKCRyb3dbJ25hbWUnXSA9PSAkbmFtZSkKICAgICAgewogICAgICAgIHJldHVybiBUUlVFOwogICAgICB9CiAgICB9CiAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2FkKCAkbmFtZSApCiAgICB7CiAgICAgICAgJG5hbWUgPSB0cmltKCRuYW1lKTsKICAgICAgICBpZiggISRuYW1lICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBmb3JtIG5hbWUgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CgogICAgICAgICRzcWwgPSAnU0VMRUNUICogRlJPTSAnLnNlbGY6OnRhYmxlX25hbWUoKS4nIFdIRVJFIG5hbWUgPSA/JzsKICAgICAgICAkcm93ID0gJHRoaXMtPl9kYi0+R2V0Um93KCRzcWwsWyAkbmFtZSBdKTsKICAgICAgICBpZiggIWlzX2FycmF5KCRyb3cpIHx8ICFjb3VudCgkcm93KSApIHJldHVybjsKCiAgICAgICAgJG9iaiA9IHVuc2VyaWFsaXplKCRyb3dbJ2RhdGEnXSk7CiAgICAgICAgdW5zZXQoJHJvd1snZGF0YSddKTsKICAgICAgICAkb2JqLT5hZGp1c3RQcml2YXRlKCAkcm93ICk7CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGxvYWRfYnlfaWQoICRpZCApCiAgICB7CiAgICAgICAgJGlkID0gKGludCkgJGlkOwogICAgICAgIGlmKCAkaWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBmb3JtIGlkIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwoKICAgICAgICAkc3FsID0gJ1NFTEVDVCAqIEZST00gJy5zZWxmOjp0YWJsZV9uYW1lKCkuJyBXSEVSRSBpZCA9ID8nOwogICAgICAgICRyb3cgPSAkdGhpcy0+X2RiLT5HZXRSb3coJHNxbCxbICRpZCBdKTsKICAgICAgICBpZiggIWlzX2FycmF5KCRyb3cpIHx8ICFjb3VudCgkcm93KSApIHJldHVybjsKICAgICAgICAKICAgICAgICAKICAgICAgICAkdCA9ICRyb3dbJ2RhdGEnXTsKICAgICAgICAKICAgICAgaWYoICggZmFsc2UgIT09IFxzdHJwb3MoJHQsICdDR0JldHRlckZvcm1zJykgKSB8fCAoIGZhbHNlICE9PSBcc3RycG9zKCR0LCAnQ0dCRkNydWQnKSApICkKICAgICAgewogICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignRm9ybSBzdGlsbCBjb250YWlucyBlbGVtZW50cyBmcm9tIGVpdGhlciBDR0JldHRlckZvcm1zIG9yIENHQkZDcnVkJyk7CiAgICAgIH0KICAgICAgZWxzZQogICAgICB7CiAgICAgICAgJG9iaiA9IHVuc2VyaWFsaXplKCRyb3dbJ2RhdGEnXSk7CiAgICAgICAgaWYoICEkb2JqIGluc3RhbmNlb2YgRm9ybSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0NvdWxkIG5vdCBkZXNlcmlhbGl6ZSBmb3JtJyk7CiAgICAgICAgaWYoICFlbXB0eSgkZm9ybS0+ZGlzcG9zaXRpb25zKSApIHsKICAgICAgICAgIGZvcmVhY2goICRvYmotPmRpc3Bvc2l0aW9ucyBhcyAka2V5ID0+ICRkaXNwICkgewogICAgICAgICAgICBpZiggISRkaXNwIGluc3RhbmNlb2YgRGlzcG9zaXRpb24gKSB7CiAgICAgICAgICAgICAgJGRpc3AgPSAoYXJyYXkpICRkaXNwOwogICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+X21vZC0+TGFuZygnZXJyX3Vua25vd25fZGlzcG9zaXRpb24nLCRkaXNwWydfX1BIUF9JbmNvbXBsZXRlX0NsYXNzX05hbWUnXSA/PyAndW5rbm93bicpKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAKICAgICAgICBpZiggIWVtcHR5KCRmb3JtLT52YWxpZGF0aW9ucykgKSB7CiAgICAgICAgICBmb3JlYWNoKCAkb2JqLT52YWxpZGF0aW9ucyBhcyAka2V5ID0+ICR2YWxpZGF0b3IgKSB7CiAgICAgICAgICAgIGlmKCAhJHZhbGlkYXRvciBpbnN0YW5jZW9mIFZhbGlkYXRpb24gKSB7CiAgICAgICAgICAgICAgJHZhbGlkYXRvciA9IChhcnJheSkgJHZhbGlkYXRvcjsKICAgICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPl9tb2QtPkxhbmcoJ2Vycl91bmtub3duX3ZhbGlkYXRpb24nLCAkdmFsaWRhdG9yWydfX1BIUF9JbmNvbXBsZXRlX0NsYXNzX05hbWUnXSA/PyAndW5rbm93bicpKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAkb2JqLT5hZGp1c3RQcml2YXRlKCAkcm93ICk7CiAgICAgIH0KICAgICAgCiAgICAgIHVuc2V0KCRyb3dbJ2RhdGEnXSk7CgogICAgICAgIHJldHVybiAkb2JqOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoIEZvcm0gJGZvcm0gKQogICAgewogICAgICAgIGlmKCAkZm9ybS0+aWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignQ2Fubm90IGRlbGV0ZSBhIGZvcm0gdGhhdCBoYXMgbm90IGJlZW4gc2F2ZWQnKTsKCiAgICAgICAgJHNxbCA9ICdERUxFVEUgRlJPTSAnLnNlbGY6OnRhYmxlX25hbWUoKS4nIFdIRVJFIGlkID0gPyc7CiAgICAgICAgJHRoaXMtPl9kYi0+RXhlY3V0ZSggJHNxbCwgWyAkZm9ybS0+aWRdICk7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.FormExporter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgoKY2xhc3MgRm9ybUV4cG9ydGVyCnsKICAgIHByaXZhdGUgJF9mb3JtOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggRm9ybSAkZm9ybSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9mb3JtID0gJGZvcm07CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRvd25sb2FkKCkKICAgIHsKICAgICAgICAkZ2V0X2NsYXNzbmFtZXMgPSBmdW5jdGlvbiggYXJyYXkgJGluID0gbnVsbCApIHsKICAgICAgICAgICAgaWYoIGlzX251bGwoJGluKSApIHJldHVybjsKICAgICAgICAgICAgJG91dCA9IG51bGw7CiAgICAgICAgICAgIGZvcmVhY2goICRpbiBhcyAkb25lICkgewogICAgICAgICAgICAgICAgaWYoICFpc19vYmplY3QoJG9uZSkgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICRvdXRbXSA9IGdldF9jbGFzcyggJG9uZSApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBhcnJheV91bmlxdWUoJG91dCk7CiAgICAgICAgfTsKICAKICAgICAgJHRwbCAgICAgICAgICAgICAgPSBcQ21zTGF5b3V0VGVtcGxhdGU6OmxvYWQoJHRoaXMtPl9mb3JtLT50ZW1wbGF0ZV9pZCk7CiAgICAgICRkZWxpbSAgICAgICAgICAgID0gJ35+fic7CiAgICAgICRhcnIgICAgICAgICAgICAgID0gW107CiAgICAgICRhcnJbMF0gICAgICAgICAgID0gJ1NNVEZNJzsKICAgICAgJGFyclsxXSAgICAgICAgICAgPSAnMSc7CiAgICAgICRhcnJbMl0gICAgICAgICAgID0gYmFzZTY0X2VuY29kZSgkdGhpcy0+X2Zvcm0tPm5hbWUpOwogICAgICAkdGVtcGxhdGVfZGF0YSAgICA9IGJhc2U2NF9lbmNvZGUoJHRwbC0+Z2V0X2NvbnRlbnQoKSk7CiAgICAgICRmb3JtX2RhdGEgICAgICAgID0gYmFzZTY0X2VuY29kZShzZXJpYWxpemUoJHRoaXMtPl9mb3JtKSk7CiAgICAgICRzYWx0X3RlbXBsYXRlICAgID0gbWQ1KCRmb3JtX2RhdGEpOwogICAgICAkc2FsdF9mb3JtICAgICAgICA9IG1kNSgkdGVtcGxhdGVfZGF0YSk7CiAgICAgICRhcnJbM10gICAgICAgICAgID0gbWQ1KCR0ZW1wbGF0ZV9kYXRhIC4gJHNhbHRfdGVtcGxhdGUpOwogICAgICAkYXJyWzRdICAgICAgICAgICA9IG1kNSgkZm9ybV9kYXRhIC4gJHNhbHRfZm9ybSk7CiAgICAgICRhcnJbNV0gICAgICAgICAgID0gJGZvcm1fZGF0YTsKICAgICAgJGFycls2XSAgICAgICAgICAgPSAkdGVtcGxhdGVfZGF0YTsKICAgICAgJHZhbGlkYXRpb25fbGlzdCAgPSAkZ2V0X2NsYXNzbmFtZXMoJHRoaXMtPl9mb3JtLT52YWxpZGF0aW9ucyk7CiAgICAgICRhcnJbN10gICAgICAgICAgID0gYmFzZTY0X2VuY29kZShzZXJpYWxpemUoJHZhbGlkYXRpb25fbGlzdCkpOwogICAgICAkZGlzcG9zaXRpb25fbGlzdCA9ICRnZXRfY2xhc3NuYW1lcygkdGhpcy0+X2Zvcm0tPmRpc3Bvc2l0aW9ucyk7CiAgICAgICRhcnJbOF0gICAgICAgICAgID0gYmFzZTY0X2VuY29kZShzZXJpYWxpemUoJGRpc3Bvc2l0aW9uX2xpc3QpKTsKICAgICAgJGFycls5XSAgICAgICAgICAgPSBiYXNlNjRfZW5jb2RlKCR0cGwtPmdldF9uYW1lKCkpOwoKICAgICAgICAkZGF0YSA9IGltcGxvZGUoICRkZWxpbSwgJGFyciApOwogICAgICAgIFx4dF91dGlsczo6c2VuZF9kYXRhX2FuZF9leGl0KCAkZGF0YSwgJ3RleHQvcGxhaW4nLCAkdGhpcy0+X2Zvcm0tPm5hbWUuJy5zbXRmbScpOwogICAgfQp9IC8vIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.FormField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBGb3JtRmllbGQKewogICAgcHJpdmF0ZSAkX2RhdGEgPSBbICdub2RlJz0+bnVsbCwgJ25hbWUnPT5udWxsLCAndHlwZSc9Pm51bGwsICdvcHRpb25zJz0+bnVsbCwgJ2lkJz0+bnVsbCwgJ2NsYXNzJz0+bnVsbCwgJ211bHRpcGxlJz0+ZmFsc2UsICdsYWJlbCc9Pm51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVkJz0+bnVsbCwgJ21pbic9Pm51bGwsICdtYXgnPT5udWxsLCAncGF0dGVybic9Pm51bGwsICdub3ZhbGlkYXRlJz0+bnVsbCwgJ3ByaW1pdGl2ZSc9Pm51bGwsICdleHRyYSc9Pm51bGwgXTsKCiAgICBwcml2YXRlICRvcHRpb25zID0gW107CiAgICBwcml2YXRlICRfdmFsdWVzID0gW107CiAgICBwcml2YXRlICRfZXh0cmFfYXR0cmlicyA9IFtdOwogIAogIAoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggYXJyYXkgJGluICkKICAgIHsKICAgICAgICBmb3JlYWNoKCAkaW4gYXMgJGtleSA9PiAkdmFsICkgewogICAgICAgICAgICBpZiggJGtleSA9PSAnZXh0cmEnICkgewogICAgICAgICAgICAgICAgaWYoIGlzX2FycmF5KCR2YWwpICYmIGNvdW50KCR2YWwpICkgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbDsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCAka2V5ID09ICdleHRyYV9hdHRyaWJzJyApIHsKICAgICAgICAgICAgICAgIGlmKCBpc19hcnJheSgkdmFsKSAmJiBjb3VudCgkdmFsKSApICR0aGlzLT5fZXh0cmFfYXR0cmlicyA9ICR2YWw7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoJICAgIGlmKCAka2V5ID09ICdvcHRpb25zJyApIHsKCQlpZiggaXNfYXJyYXkoJHZhbCkgJiYgY291bnQoJHZhbCkgKSAkdGhpcy0+b3B0aW9ucyA9ICR2YWw7CgkgICAgfQogICAgICAgICAgICAvLyByZW1vdmUgW10gZnJvbSBlbmQgb2YgbmFtZXMuCiAgICAgICAgICAgIGlmKCAka2V5ID09ICduYW1lJyAmJiBlbmRzd2l0aCggJHZhbCwgJ1tdJykgKSAkdmFsID0gc3Vic3RyKCR2YWwsMCwtMik7CiAgICAgICAgICAgIGlmKCBhcnJheV9rZXlfZXhpc3RzKCRrZXksICR0aGlzLT5fZGF0YSkgKSAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKICAgIHsKICAgICAgICBpZiggYXJyYXlfa2V5X2V4aXN0cygka2V5LCAkdGhpcy0+X2RhdGEpICkgcmV0dXJuICR0aGlzLT5fZGF0YVska2V5XTsKICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCRrZXkuJyBpcyBub3QgYSBnZXR0YWJsZSBtZW1iZXIgb2YgJy5fX0NMQVNTX18pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRfdmFsdWUoICR2YWwgKSB7CiAgICAgICAgaWYoIGlzX2FycmF5KCR2YWwpICkgewogICAgICAgICAgICBmb3JlYWNoKCAkdmFsIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+YWRkX3ZhbHVlKCAkb25lICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZiggc3RybGVuKCR2YWwpICkgJHRoaXMtPl92YWx1ZXNbXSA9ICR2YWw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF92YWx1ZSgpCiAgICB7CiAgICAgICAgaWYoICR0aGlzLT5tdWx0aXBsZSApIHJldHVybiAkdGhpcy0+X3ZhbHVlczsKICAgICAgICBpZiggY291bnQoJHRoaXMtPl92YWx1ZXMpICkgcmV0dXJuICR0aGlzLT5fdmFsdWVzWzBdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRfb3B0aW9uKCBGb3JtTXVsdGlWYWx1ZU9wdGlvbiAkb3B0ICkKICAgIHsKICAgICAgICAkdGhpcy0+b3B0aW9uc1tdID0gJG9wdDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX211bHRpcGxlX29wdGlvbnMoKQogICAgewoJaWYoIGVtcHR5KCR0aGlzLT5vcHRpb25zKSApIHJldHVybiBGQUxTRTsKICAgICAgICByZXR1cm4gKGNvdW50KCR0aGlzLT5vcHRpb25zKSA+IDEgfHwgY291bnQoJHRoaXMtPl92YWx1ZXMpID4gMSk/VFJVRTpGQUxTRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX29wdGlvbnMoKQogICAgewogICAgICAgIHJldHVybiAoYm9vbCkgIWVtcHR5KCR0aGlzLT5vcHRpb25zKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X29wdGlvbnMoKQogICAgewogICAgICAgIGlmKCAkdGhpcy0+b3B0aW9ucyApIHJldHVybiAkdGhpcy0+b3B0aW9uczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X29wdGlvbl92YWx1ZXMoKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPmhhc19tdWx0aXBsZV9vcHRpb25zKCkgKSByZXR1cm47CiAgICAgICAgJG91dCA9IFtdOwogICAgICAgIGZvcmVhY2goICR0aGlzLT5vcHRpb25zIGFzICRvcHQgKSB7CiAgICAgICAgICAgICRvdXRbXSA9ICRvcHQtPmdldF92YWx1ZSgpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3NpbmdsZV9vcHRpb25fdmFsdWUoKQogICAgewogICAgICAgIGlmKCAkdGhpcy0+aGFzX211bHRpcGxlX29wdGlvbnMoKSApIHJldHVybjsKICAgICAgICByZXR1cm4gJHRoaXMtPm9wdGlvbnNbMF0tPnZhbHVlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3B0aW9uX2J5X3ZhbHVlKCAkdmFsICkKICAgIHsKICAgICAgICAkdmFsID0gdHJpbSgkdmFsKTsKICAgICAgICBpZiggISR2YWwgKSByZXR1cm47CgogICAgICAgIC8vIGZpbmQgdGhlIGZpcnN0IG9wdGlvbiBpbiBvcHRpb25zIHRoYXQgaGFzIHRoaXMgdmFsdWUuCiAgICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPm9wdGlvbnMpOyAkaSsrICkgewogICAgICAgICAgICAkb3B0ID0gJHRoaXMtPm9wdGlvbnNbJGldOwogICAgICAgICAgICBpZiggJG9wdC0+Z2V0X3ZhbHVlKCkgPT0gJHZhbCApIHJldHVybiAkb3B0OwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkX2V4dHJhX2F0dHJpYnV0ZSggJGtleSwgJHZhbCApCiAgICB7CiAgICAgICAgLy8gc3RvcmVzIHN0cmluZyBrZXlzLCBhbmQgc3RyaW5nIHZhbHVlcy4KICAgICAgICAka2V5ID0gdHJpbSgka2V5KTsKICAgICAgICAkdmFsID0gdHJpbSgkdmFsKTsKICAgICAgICBpZiggISRrZXkgKSByZXR1cm47CiAgICAgICAgaWYoIGlzX251bGwoICR2YWwgKSAmJiBhcnJheV9rZXlfZXhpc3RzKCAka2V5LCAkdGhpcy0+X2V4dHJhX2F0dHJpYnMgKSApIHsKICAgICAgICAgICAgdW5zZXQoICR0aGlzLT5fZXh0cmFfYXR0cmlic1sgJGtleSBdICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPl9leHRyYV9hdHRyaWJzWyAka2V5IF0gPSAkdmFsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZXh0cmFfYXR0cmlidXRlKCAka2V5ICkKICAgIHsKICAgICAgICAka2V5ID0gdHJpbSggJGtleSApOwogICAgICAgIGlmKCAhJGtleSApIHJldHVybjsKICAgICAgICBpZiggYXJyYXlfa2V5X2V4aXN0cyggJGtleSwgJHRoaXMtPl9leHRyYV9hdHRyaWJzICkgKSByZXR1cm4gJHRoaXMtPl9leHRyYV9hdHRyaWJzWyAka2V5IF07CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.FormFieldConverter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBTbWFydEZvcm1zOwoKY2xhc3MgRm9ybUZpZWxkQ29udmVydGVyCnsKICBjb25zdCBUWVBFX1RFWFQgICAgICAgICAgID0gJ3RleHQnOwogIGNvbnN0IFRZUEVfUkFESU8gICAgICAgICAgPSAncmFkaW8nOwogIGNvbnN0IFRZUEVfQ0hFQ0tCT1ggICAgICAgPSAnY2hlY2tib3gnOwogIGNvbnN0IFRZUEVfSElEREVOICAgICAgICAgPSAnaGlkZGVuJzsKICBjb25zdCBUWVBFX0RBVEUgICAgICAgICAgID0gJ2RhdGUnOwogIGNvbnN0IFRZUEVfTlVNQkVSICAgICAgICAgPSAnbnVtYmVyJzsKICBjb25zdCBUWVBFX1NFTEVDVCAgICAgICAgID0gJ3NlbGVjdCc7CiAgY29uc3QgVFlQRV9GSUxFICAgICAgICAgICA9ICdmaWxlJzsKICBjb25zdCBUWVBFX1RFWFRBUkVBICAgICAgID0gJ3RleHRhcmVhJzsKICBjb25zdCBUWVBFX1BBU1NXT1JEICAgICAgID0gJ3Bhc3N3b3JkJzsKICBjb25zdCBUWVBFX1NVQk1JVCAgICAgICAgID0gJ3N1Ym1pdCc7CiAgY29uc3QgVFlQRV9SRVNFVCAgICAgICAgICA9ICdyZXNldCc7CiAgY29uc3QgVFlQRV9CVVRUT04gICAgICAgICA9ICdidXR0b24nOwogIGNvbnN0IFRZUEVfQ09MT1IgICAgICAgICAgPSAnY29sb3InOwogIGNvbnN0IFRZUEVfREFURVRJTUVfTE9DQUwgPSAnZGF0ZXRpbWUtbG9jYWwnOwogIGNvbnN0IFRZUEVfRU1BSUwgICAgICAgICAgPSAnZW1haWwnOwogIGNvbnN0IFRZUEVfTU9OVEggICAgICAgICAgPSAnbW9udGgnOwogIGNvbnN0IFRZUEVfU0VBUkNIICAgICAgICAgPSAnc2VhcmNoJzsKICBjb25zdCBUWVBFX1RFTCAgICAgICAgICAgID0gJ3RlbCc7CiAgY29uc3QgVFlQRV9USU1FICAgICAgICAgICA9ICd0aW1lJzsKICBjb25zdCBUWVBFX1VSTCAgICAgICAgICAgID0gJ3VybCc7CiAgY29uc3QgVFlQRV9XRUVLICAgICAgICAgICA9ICd3ZWVrJzsKICAKICBwcml2YXRlICRfZmllbGRzID0gW107CiAgCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KGFycmF5ICRmaWVsZHMpCiAgewogICAgLyoqCiAgICAgKiB3ZSBhbHJlYWR5IGhhdmUgb3VyIG1lc3NhZ2VzLCBzbyBoZXJlIHdlIGRvbid0IGNhcmUgYWJvdXQgdmFsaWRhdGlvbgogICAgICogaWYgdGhlcmUgYXJlIG11bHRpcGxlIERPTSBmaWVsZHMgd2l0aCB0aGUgc2FtZSBuYW1lLi4uIHdlIGdldCB0aGVpcgogICAgICogdmFsdWUgYW5kIGFkZCB0aGVtIGFzIG9wdGlvbnMKICAgICAqIGlmIGl0IGlzIGEgc2VsZWN0LCB3ZSBnZXQgaXRzIG9wdGlvbnMuCiAgICAgKi8KICAgIAogICAgJHRtcCA9IFtdOwogICAgCiAgICAvLyBkbyB0aGUgbWFnaWMKICAgIGZvcmVhY2goJGZpZWxkcyBhcyAkZmllbGQpCiAgICB7CiAgICAgIGlmKCEkZmllbGQgaW5zdGFuY2VvZiBET01GaWVsZCkgeyBjb250aW51ZTsgfQogICAgICAKICAgICAgJG5hbWUgPSAkZmllbGQtPmdldF9uYW1lKCk7CiAgICAgIAogICAgICBpZighJG5hbWUpIHsgY29udGludWU7IH0KICAgICAgCiAgICAgICRpc19uZXcgICA9IE5VTEw7CiAgICAgICRub2RlbmFtZSA9IFxzdHJ0b2xvd2VyKCAkZmllbGQtPmdldF9ub2RlbmFtZSgpICk7CiAgICAgIAogICAgICBpZighaXNzZXQoJHRtcFskbmFtZV0pKQogICAgICB7CiAgICAgICAgJGlzX25ldyAgICAgICAgICAgPSBUUlVFOwogICAgICAgICRwYXIgICAgICAgICAgICAgID0gW107CiAgICAgICAgJHBhclsnbm9kZSddICAgICAgPSAkbm9kZW5hbWU7CiAgICAgICAgJHBhclsnbmFtZSddICAgICAgPSAkbmFtZTsKICAgICAgICAkcGFyWyd0eXBlJ10gICAgICA9ICR0aGlzLT5nZXRfdHlwZSgkZmllbGQpOwogICAgICAgICRwYXJbJ29wdGlvbnMnXSAgID0gJHRoaXMtPmdldF9zZWxlY3Rfb3B0aW9ucygkZmllbGQpOwogICAgICAgICRwYXJbJ2lkJ10gICAgICAgID0gJGZpZWxkLT5nZXRfYXR0cmlidXRlKCdpZCcpOwogICAgICAgICRwYXJbJ2NsYXNzJ10gICAgID0gJGZpZWxkLT5nZXRfYXR0cmlidXRlKCdjbGFzcycpOwogICAgICAgICRwYXJbJ21pbiddICAgICAgID0gJGZpZWxkLT5nZXRfYXR0cmlidXRlKCdtaW4nKTsKICAgICAgICAkcGFyWydtYXgnXSAgICAgICA9ICRmaWVsZC0+Z2V0X2F0dHJpYnV0ZSgnbWF4Jyk7CiAgICAgICAgJHBhclsncGF0dGVybiddICAgPSAkZmllbGQtPmdldF9hdHRyaWJ1dGUoJ3BhdHRlcm4nKTsKICAgICAgICAkcGFyWydtdWx0aXBsZSddICA9ICR0aGlzLT5pc19tdWx0aXZhbHVlX2ZpZWxkKCRmaWVsZCk7CiAgICAgICAgJHBhclsncmVxdWlyZWQnXSAgPSAkZmllbGQtPmhhc19hdHRyaWJ1dGUoJ3JlcXVpcmVkJyk7CiAgICAgICAgJHBhclsnbGFiZWwnXSAgICAgPSAkZmllbGQtPmdldF9sYWJlbCgpOwogICAgICAgICRwYXJbJ3ByaW1pdGl2ZSddID0gXHN0cnRvbG93ZXIoIChzdHJpbmcpJGZpZWxkLT5nZXRfYXR0cmlidXRlKCdkYXRhLXNtdGZtLXByaW1pdGl2ZScpICk7CiAgICAgICAgCiAgICAgICAgaWYoISRwYXJbJ3ByaW1pdGl2ZSddKQogICAgICAgIHsKICAgICAgICAgICRwYXJbJ3ByaW1pdGl2ZSddID0gJ3N0cmluZyc7CiAgICAgICAgICAKICAgICAgICAgIGlmKCdlbWFpbCcgPT09ICRwYXJbJ3R5cGUnXSkgeyAkcGFyWydwcmltaXRpdmUnXSA9ICdlbWFpbCc7IH0KICAgICAgICAgIGlmKCdkYXRlJyA9PT0gJHBhclsndHlwZSddKSB7ICRwYXJbJ3ByaW1pdGl2ZSddID0gJ2RhdGUnOyB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRwYXJbJ25vdmFsaWRhdGUnXSA9ICRmaWVsZC0+aGFzX2F0dHJpYnV0ZSgnZGF0YS1zbXRmbS1ub3ZhbGlkYXRlJyk7CiAgICAgICAgCiAgICAgICAgaWYoISRwYXJbJ3JlcXVpcmVkJ10pCiAgICAgICAgewogICAgICAgICAgJHBhclsncmVxdWlyZWQnXSA9ICRmaWVsZC0+aGFzX2F0dHJpYnV0ZSgnZGF0YS1zbXRmbS1yZXF1aXJlZCcpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZighJHBhclsnbWluJ10pCiAgICAgICAgewogICAgICAgICAgJHBhclsnbWluJ10gPSAkZmllbGQtPmdldF9hdHRyaWJ1dGUoJ2RhdGEtc210Zm0tbWluJyk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmKCEkcGFyWydtYXgnXSkKICAgICAgICB7CiAgICAgICAgICAkcGFyWydtYXgnXSA9ICRmaWVsZC0+Z2V0X2F0dHJpYnV0ZSgnZGF0YS1zbXRmbS1tYXgnKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJHRtcDIgPSAkZmllbGQtPmdldF9hdHRyaWJ1dGUoJ2RhdGEtc210Zm0tcGF0dGVybicpOwogICAgICAgIAogICAgICAgIGlmKCR0bXAyKSB7ICRwYXJbJ3BhdHRlcm4nXSA9ICR0bXAyOyB9CiAgICAgICAgCiAgICAgICAgJGV4dHJhX2F0dHJzID0gJHRoaXMtPmdldF9maWVsZF9leHRyYV9hdHRycygkZmllbGQpOwogICAgICAgIAogICAgICAgIGlmKCRleHRyYV9hdHRycykgeyAkcGFyWydleHRyYV9hdHRyaWJzJ10gPSAkZXh0cmFfYXR0cnM7IH0KICAgICAgICAKICAgICAgICBzd2l0Y2goJHBhclsndHlwZSddKQogICAgICAgIHsKICAgICAgICAgIGNhc2Ugc2VsZjo6VFlQRV9DSEVDS0JPWDoKICAgICAgICAgIGNhc2Ugc2VsZjo6VFlQRV9SQURJTzoKICAgICAgICAgIGNhc2Ugc2VsZjo6VFlQRV9TRUxFQ1Q6CiAgICAgICAgICAgIC8qCiAgICAgICAgICAgICAqIG92ZXJyaWRlIHRoZSBpbnRlcm5hbCBsYWJlbAogICAgICAgICAgICAgKiBidXQgb25seSBmb3IgdGhlIGZpcnN0IGluc3RhbmNlCiAgICAgICAgICAgICAqIG9mIGFuIGVsZW1lbnQgd2l0aCB0aGlzIG5hbWUuCiAgICAgICAgICAgICAqLwogICAgICAgICAgICBpZiggKCRhdHRyID0gJGZpZWxkLT5nZXRfYXR0cmlidXRlKCdkYXRhLXNtdGZtLWxhYmVsJykgKSApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAkcGFyWydsYWJlbCddID0gJGF0dHI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgICR0bXBbJG5hbWVdID0gbmV3IEZvcm1GaWVsZCgkcGFyKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgICAgCiAgICAgICAgICBjYXNlIHNlbGY6OlRZUEVfRklMRToKICAgICAgICAgICAgJHRtcFskbmFtZV0gPSAkdGhpcy0+Y3JlYXRlX2ZpbGVfZmllbGQoJHBhciwgJGZpZWxkKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgICAgCiAgICAgICAgICAvLyB0b2RvOiBzaG91bGQgY3JlYXRlIGRpZmZlcmVudCBmb3JtIGZpZWxkIG9iamVjdHMgZm9yIHJhZGlvIGJ1dHRvbiBncm91cHMgYW5kIHNlbGVjdHMgYW5kIG11bHRpLXNlbGVjdHMKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICR0bXBbJG5hbWVdID0gbmV3IEZvcm1GaWVsZCgkcGFyKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgJG9iaiA9ICYkdG1wWyRuYW1lXTsKICAgICAgLyoqCiAgICAgICAqIGRvIHdlIGFkZCBhIHZhbHVlIGZvciB0aGlzIHRoaW5nLCBvciBkbyB3ZSBhZGQgYW4gb3B0aW9uCiAgICAgICAqIGFkZCBhbiBvcHRpb24gaWYgdHlwZSBpcyByYWRpbywgY2hlY2tib3gsIGJ1dHRvbj8uLi4KICAgICAgICogb3RoZXJ3aXNlLCBhZGQgYSB2YWx1ZS4KICAgICAgICovCiAgICAgIAogICAgICBpZihcaW5fYXJyYXkoJG9iai0+dHlwZSwgW3NlbGY6OlRZUEVfUkFESU8sIHNlbGY6OlRZUEVfQ0hFQ0tCT1gsIHNlbGY6OlRZUEVfQlVUVE9OXSkpCiAgICAgIHsKICAgICAgICAvLyBpdCdzIGEgY2hlY2tib3gsIHNlbGVjdCwgb3IgcmFkaW8KICAgICAgICAvLyBhZGQgdGhlIHZhbHVlIGFuZCBodW1hbi1yZWFkYWJsZSBzdHVmZgogICAgICAgICRwYXJtcyA9ICRmaWVsZC0+Z2V0X2F0dHJpYnV0ZXMoKTsKICAgICAgICAkbGFiZWwgPSAkZmllbGQtPmdldF9sYWJlbCgpOwogICAgICAgIAogICAgICAgIGlmKCEkbGFiZWwpIHsgJGxhYmVsID0gJGZpZWxkLT5nZXRfdmFsdWUoKTsgfQogICAgICAgIAogICAgICAgICRwYXJtcyA9IGFycmF5X21lcmdlKCRwYXJtcywgWyd0ZXh0JyA9PiAkbGFiZWwsICd2YWx1ZScgPT4gJGZpZWxkLT5nZXRfdmFsdWUoKSwgJ2hyJyA9PiAkZmllbGQtPmdldF92YWx1ZSgpXSk7CiAgICAgICAgCiAgICAgICAgaWYoKCRociA9ICRmaWVsZC0+Z2V0X2F0dHJpYnV0ZSgnZGF0YS1zbXRmbS1odW1hbicpKSkKICAgICAgICB7CiAgICAgICAgICAkcGFybXNbJ2hyJ10gPSAkaHI7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmKCRmaWVsZC0+aGFzX2F0dHJpYnV0ZSgnY2hlY2tlZCcpKQogICAgICAgIHsKICAgICAgICAgICRwYXJtc1snc2VsZWN0ZWQnXSA9IFRSVUU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRvcHQgPSBuZXcgRm9ybU11bHRpVmFsdWVPcHRpb24oJHBhcm1zKTsKICAgICAgICAkb2JqLT5hZGRfb3B0aW9uKCRvcHQpOwogICAgICB9CiAgICAgIGVsc2UKICAgICAgewogICAgICAgICR2YWx1ZSA9ICR0aGlzLT5jbGVhbl92YWx1ZSgkZmllbGQtPmdldF92YWx1ZSgpKTsKICAgICAgICAkb2JqLT5hZGRfdmFsdWUoJHZhbHVlKTsKICAgICAgfQogICAgfQogICAgJHRoaXMtPl9maWVsZHMgPSAkdG1wOwogIH0KICAKICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2ZpZWxkX2V4dHJhX2F0dHJzKERPTUZpZWxkICRmaWVsZCkKICB7CiAgICAkYXJyID0gJGZpZWxkLT5nZXRfYXR0cmlidXRlc19ieV9wcmVmaXgoJ2RhdGEtJyk7CiAgICAKICAgIGlmKCEkYXJyKSB7IHJldHVybiBbXTsgfQogICAgCiAgICAkb3V0ID0gW107CiAgICAKICAgIGZvcmVhY2goJGFyciBhcyAka2V5ID0+ICR2YWwpCiAgICB7CiAgICAgIGlmKCBzdGFydHN3aXRoKCRrZXksICdkYXRhLScpICYmICFzdGFydHN3aXRoKCRrZXksICdkYXRhLXNtdGZtLScpICkgeyAkb3V0WyRrZXldID0gJHZhbDsgfQogICAgfQogICAgCiAgICByZXR1cm4gJG91dDsKICB9CiAgCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNsZWFuX3ZhbHVlKCRpbikKICB7CiAgICBpZighJGluKSB7IHJldHVybiAnJzsgfQogIAogICAgaWYoZmFsc2UgIT09IFxzdHJwb3MoJ1VuZGVmaW5lZCBpbmRleDonLCAkaW4pKSB7IHJldHVybiAnJzsgfQogICAgaWYoZmFsc2UgIT09IFxzdHJwb3MoJ1RyeWluZyB0byBnZXQgcHJvcGVydHkgb2Ygbm9uLW9iamVjdCBpbicsICRpbikpIHsgcmV0dXJuICcnOyB9CgogICAgcmV0dXJuICRpbjsKICB9CiAgCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZV9maWxlX2ZpZWxkKGFycmF5ICRwYXIsIERPTUZpZWxkICRmaWVsZCkKICB7CiAgICAkcGFyWydhY2NlcHQnXSA9ICRmaWVsZC0+Z2V0X2F0dHJpYnV0ZSgnYWNjZXB0Jyk7CiAgICAkbWF4c2l6ZSAgICAgICA9IE5VTEw7CiAgICAkZXh0ZW5zaW9ucyAgICA9IE5VTEw7CiAgICAkZGF0YV9hdHRyaWJzICA9ICRmaWVsZC0+Z2V0X2F0dHJpYnV0ZXNfYnlfcHJlZml4KCdkYXRhLScpOwogICAgCiAgICBpZighZW1wdHkoJGRhdGFfYXR0cmlicykpCiAgICB7CiAgICAgIGZvcmVhY2goJGRhdGFfYXR0cmlicyBhcyAka2V5ID0+ICR2YWx1ZSkKICAgICAgewogICAgICAgICRrZXkgPSBcc3Vic3RyKCRrZXksIFxzdHJsZW4oJ2RhdGEtJykpOwogICAgICAgIHN3aXRjaCgka2V5KQogICAgICAgIHsKICAgICAgICAgIGNhc2UgJ3NtdGZtLWFjY2VwdCc6CiAgICAgICAgICAgIGlmKCEkcGFyWydhY2NlcHQnXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICRwYXJbJ2FjY2VwdCddID0gXHRyaW0oJHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdzbXRmbS1tYXhzaXplJzoKICAgICAgICAgICAgJHZhbHVlID0gKGludCkkdmFsdWU7CiAgICAgICAgICAgIGlmKCR2YWx1ZSA+IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAkcGFyWydtYXhfc2l6ZSddID0gJHZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICAgIGNhc2UgJ3NtdGZtLWV4dGVuc2lvbic6CiAgICAgICAgICAgICRwYXJbJ2V4dGVuc2lvbnMnXSA9IFx0cmltKCR2YWx1ZSk7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIAogICAgJG91dCA9IG5ldyBGb3JtRmlsZUZpZWxkKCRwYXIpOwogICAgCiAgICByZXR1cm4gJG91dDsKICB9CiAgCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGlzX211bHRpdmFsdWVfZmllbGQoRE9NRmllbGQgJGZpZWxkKQogIHsKICAgICRuYW1lID0gJGZpZWxkLT5nZXRfbmFtZSgpOwogICAgCiAgICBpZihlbmRzd2l0aCgkbmFtZSwgJ1tdJykpIHsgcmV0dXJuIFRSVUU7IH0KICAgIAogICAgaWYoJGZpZWxkLT5oYXNfYXR0cmlidXRlKCdtdWx0aXBsZScpKSB7IHJldHVybiBUUlVFOyB9CiAgICAKICAgIHJldHVybiBGQUxTRTsKICB9CiAgCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZV9vcHRpb25fZnJvbV9kb21vcHRpb24oRE9NU2VsZWN0T3B0aW9uICRvcHRpb24pCiAgewogICAgJHBhcm1zICAgICAgICAgPSAkb3B0aW9uLT5nZXRfYXR0cmlicygpOwogICAgJHBhcm1zWyd0ZXh0J10gPSAkb3B0aW9uLT5nZXRfdGV4dFJhdygpOwogICAgJG9iaiAgICAgICAgICAgPSBuZXcgRm9ybU11bHRpVmFsdWVPcHRpb24oJHBhcm1zKTsKICAgIAogICAgcmV0dXJuICRvYmo7CiAgfQogIAogIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfc2VsZWN0X29wdGlvbnMoRE9NRmllbGQgJGZpZWxkKQogIHsKICAgIGlmKCRmaWVsZCBpbnN0YW5jZW9mIERPTVNlbGVjdEZpZWxkKQogICAgewogICAgICAkb3V0ICAgICA9IFtdOwogICAgICAkb3B0aW9ucyA9ICRmaWVsZC0+Z2V0X29wdGlvbnMoKTsKICAgICAgCiAgICAgIGZvcmVhY2goJG9wdGlvbnMgYXMgJGRvbV9vcHRpb24pCiAgICAgIHsKICAgICAgICAkbmV3X29wdGlvbiA9ICR0aGlzLT5jcmVhdGVfb3B0aW9uX2Zyb21fZG9tb3B0aW9uKCRkb21fb3B0aW9uKTsKICAgICAgICAkb3V0W10gICAgICA9ICRuZXdfb3B0aW9uOwogICAgICB9CiAgICAgIAogICAgICByZXR1cm4gJG91dDsKICAgIH0KICAgIAogICAgcmV0dXJuIE5VTEw7CiAgfQogIAogIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfdHlwZShET01GaWVsZCAkZmllbGQpCiAgewogICAgc3dpdGNoKCRmaWVsZC0+Z2V0X25vZGVuYW1lKCkpCiAgICB7CiAgICAgIGNhc2UgJ3NlbGVjdCc6CiAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfU0VMRUNUOwogICAgICBjYXNlICd0ZXh0YXJlYSc6CiAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfVEVYVEFSRUE7CiAgICAgIGNhc2UgJ2J1dHRvbic6CiAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfQlVUVE9OOwogICAgICBjYXNlICdpbnB1dCc6CiAgICAgICAgJHR5cGUgPSAkZmllbGQtPmdldF9hdHRyaWJ1dGUoJ3R5cGUnKTsKICAgICAgICAKICAgICAgICBzd2l0Y2goJHR5cGUpCiAgICAgICAgewogICAgICAgICAgY2FzZSAncmFkaW8nOgogICAgICAgICAgICByZXR1cm4gc2VsZjo6VFlQRV9SQURJTzsKICAgICAgICAgIGNhc2UgJ2NoZWNrYm94JzoKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfQ0hFQ0tCT1g7CiAgICAgICAgICBjYXNlICdoaWRkZW4nOgogICAgICAgICAgICByZXR1cm4gc2VsZjo6VFlQRV9ISURERU47CiAgICAgICAgICBjYXNlICdmaWxlJzoKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfRklMRTsKICAgICAgICAgIGNhc2UgJ2VtYWlsJzoKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfRU1BSUw7CiAgICAgICAgICBjYXNlICdwYXNzd29yZCc6CiAgICAgICAgICAgIHJldHVybiBzZWxmOjpUWVBFX1BBU1NXT1JEOwogICAgICAgICAgY2FzZSAnYnV0dG9uJzoKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfQlVUVE9OOwogICAgICAgICAgY2FzZSAnc3VibWl0JzoKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfU1VCTUlUOwogICAgICAgICAgY2FzZSAncmVzZXQnOgogICAgICAgICAgICByZXR1cm4gc2VsZjo6VFlQRV9SRVNFVDsKICAgICAgICAgIGNhc2UgJ251bWJlcic6CiAgICAgICAgICAgIHJldHVybiBzZWxmOjpUWVBFX05VTUJFUjsKICAgICAgICAgIGNhc2UgJ2NvbG9yJzoKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfQ09MT1I7CiAgICAgICAgICBjYXNlICdtb250aCc6CiAgICAgICAgICAgIHJldHVybiBzZWxmOjpUWVBFX01PTlRIOwogICAgICAgICAgY2FzZSAnc2VhcmNoJzoKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfU0VBUkNIOwogICAgICAgICAgY2FzZSAndGVsJzoKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfVEVMOwogICAgICAgICAgY2FzZSAndGltZSc6CiAgICAgICAgICAgIHJldHVybiBzZWxmOjpUWVBFX1RJTUU7CiAgICAgICAgICBjYXNlICd1cmwnOgogICAgICAgICAgICByZXR1cm4gc2VsZjo6VFlQRV9VUkw7CiAgICAgICAgICBjYXNlICd3ZWVrJzoKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfV0VFSzsKICAgICAgICAgIGNhc2UgJ2RhdGUnOgogICAgICAgICAgICByZXR1cm4gc2VsZjo6VFlQRV9EQVRFOwogICAgICAgICAgY2FzZSAnZGF0ZXRpbWUtbG9jYWwnOgogICAgICAgICAgICByZXR1cm4gc2VsZjo6VFlQRV9EQVRFVElNRV9MT0NBTDsKICAgICAgICAgIGNhc2UgJ3RleHQnOgogICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgcmV0dXJuIHNlbGY6OlRZUEVfVEVYVDsKICAgICAgICB9CiAgICB9CiAgICAKICAgIHJldHVybiAnJzsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIGdldF9maWVsZHMoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X2ZpZWxkczsKICB9CiAgCiAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCRrZXksICR2YWwpCiAgewogICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbihfX0NMQVNTX18gLiAnIGNhbm5vdCBiZSBtb2RpZmllZCB0aGlzIHdheScpOwogIH0KICAKfSAvLyBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.FormFileField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBGb3JtRmlsZUZpZWxkIGV4dGVuZHMgRm9ybUZpZWxkCnsKICAgIHByaXZhdGUgJF9kYXRhID0gWydhY2NlcHQnPT5udWxsLCAnbWF4X3NpemUnPT5udWxsLCAnZXh0ZW5zaW9ucyc9Pm51bGwsICdub3ZhbGlkYXRlJz0+bnVsbCBdOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggYXJyYXkgJGluICkKICAgIHsKICAgICAgICBmb3JlYWNoKCAkaW4gYXMgJGtleSA9PiAkdmFsICkgewogICAgICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgICAgIGNhc2UgJ2FjY2VwdCc6CiAgICAgICAgICAgIGNhc2UgJ2V4dGVuc2lvbnMnOgogICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdtYXhfc2l6ZSc6CiAgICAgICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAoaW50KSBtYXgoMCwoaW50KSAkdmFsKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoICRpbiApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogICAgewogICAgICAgIGlmKCBhcnJheV9rZXlfZXhpc3RzKCRrZXksICR0aGlzLT5fZGF0YSkgKSByZXR1cm4gJHRoaXMtPl9kYXRhWyRrZXldOwogICAgICAgIHJldHVybiBwYXJlbnQ6Ol9fZ2V0KCAka2V5ICk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/class.FormImporter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBGb3JtSW1wb3J0ZXIKewogICAgcHJpdmF0ZSAkX21vZDsKICAgIHByaXZhdGUgJF9zdG9yYWdlOwogICAgcHJpdmF0ZSAkX211c3RfY3JlYXRlX3RlbXBsYXRlOwogICAgcHJpdmF0ZSAkX3ZhbGlkYXRpb25fbGlzdDsKICAgIHByaXZhdGUgJF9kaXNwb3NpdGlvbl9saXN0OwogICAgcHJpdmF0ZSAkX25hbWVfZGF0YTsKICAgIHByaXZhdGUgJF90ZW1wbGF0ZV9kYXRhOwogICAgcHJpdmF0ZSAkX3RlbXBsYXRlX25hbWVfZGF0YTsKICAgIHByaXZhdGUgJF9mb3JtX2RhdGE7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCBcU21hcnRGb3JtcyAkbW9kLCBGb3JtU3RvcmFnZUludGVyZmFjZSAkc3RvcmFnZSwgJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgICAgICAkdGhpcy0+X3N0b3JhZ2UgPSAkc3RvcmFnZTsKCiAgICAgICAgaWYoICEkdGhpcy0+ZXhwYW5kKCAkZGF0YSApICkgewogICAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5fbW9kLT5MYW5nKCdlcnJfaW1wb3J0X2Zvcm1hdCcpKTsKICAgICAgICB9CgogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfY3JlYXRlX3RlbXBsYXRlX2ZsYWcoICRmbGFnID0gdHJ1ZSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9hbHdheXNfY3JlYXRlX3RlbXBsYXRlID0gKGJvb2wpICRmbGFnOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfcmVwbGFjZV9mb3JtX2ZsYWcoICRmbGFnID0gdHJ1ZSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9yZXBsYWNlX2V4aXN0aW5nX2Zvcm0gPSAoYm9vbCkgJGZsYWc7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGV4cGFuZCggJGRhdGEgKQogICAgewoKICAgICAgICBpZiggIWlzX3N0cmluZygkZGF0YSkgKSByZXR1cm4gRkFMU0U7CgogICAgICAgICRkZWxpbSA9ICd+fn4nOwoKICAgICAgICBpZiggIXN0YXJ0c3dpdGgoICRkYXRhLCAnU01URk0nLiRkZWxpbSApICkgewogICAgICAgICAgaWYoICFzdGFydHN3aXRoKCAkZGF0YSwgJ0NHQkYnLiRkZWxpbSApICkgewogICAgICAgICAgICByZXR1cm4gRkFMU0U7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICRwYXJ0cyA9IGV4cGxvZGUoICRkZWxpbSwgJGRhdGEgKTsKCiAgICAgICAgaWYoIGNvdW50KCRwYXJ0cykgIT0gMTAgKSByZXR1cm4gRkFMU0U7CiAgICAgICAgaWYoIChpbnQpICRwYXJ0c1sxXSAhPSAxICkgcmV0dXJuIEZBTFNFOwoKICAgICAgICAkdHBsX25hbWVfZGF0YSA9ICRwYXJ0c1s5XTsKICAgICAgICAkZGlzcG9zaXRpb25fbGlzdF9kYXRhID0gJHBhcnRzWzhdOwogICAgICAgICR2YWxpZGF0aW9uX2xpc3RfZGF0YSA9ICRwYXJ0c1s3XTsKICAgICAgICAkdGVtcGxhdGVfZGF0YSA9ICRwYXJ0c1s2XTsKICAgICAgICAkZm9ybV9kYXRhID0gJHBhcnRzWzVdOwogICAgICAgICRja3N1bV9mb3JtID0gJHBhcnRzWzRdOwogICAgICAgICRja3N1bV90ZW1wbGF0ZSA9ICRwYXJ0c1szXTsKICAgICAgICAkbmFtZV9kYXRhID0gJHBhcnRzWzJdOwoKICAgICAgICAkc2FsdF9mb3JtID0gbWQ1KCR0ZW1wbGF0ZV9kYXRhKTsKICAgICAgICAkc2FsdF90ZW1wbGF0ZSA9IG1kNSgkZm9ybV9kYXRhKTsKICAgICAgICBpZiggJGNrc3VtX3RlbXBsYXRlICE9IG1kNSgkdGVtcGxhdGVfZGF0YS4kc2FsdF90ZW1wbGF0ZSkgKSByZXR1cm4gRkFMU0U7CiAgICAgICAgaWYoICRja3N1bV9mb3JtICE9IG1kNSgkZm9ybV9kYXRhLiRzYWx0X2Zvcm0pICkgcmV0dXJuIEZBTFNFOwoKICAgICAgICAkdGhpcy0+X25hbWVfZGF0YSA9ICRuYW1lX2RhdGE7CiAgICAgICAgJHRoaXMtPl9kaXNwb3NpdGlvbl9saXN0ID0gdW5zZXJpYWxpemUoIGJhc2U2NF9kZWNvZGUoICRkaXNwb3NpdGlvbl9saXN0X2RhdGEgKSApOwogICAgICAgICR0aGlzLT5fdmFsaWRhdGlvbl9saXN0ID0gdW5zZXJpYWxpemUoIGJhc2U2NF9kZWNvZGUoICR2YWxpZGF0aW9uX2xpc3RfZGF0YSApICk7CiAgICAgICAgJHRoaXMtPl90ZW1wbGF0ZV9uYW1lX2RhdGEgPSBiYXNlNjRfZGVjb2RlKCAkdHBsX25hbWVfZGF0YSApOwogICAgICAgICR0aGlzLT5fdGVtcGxhdGVfZGF0YSA9IGJhc2U2NF9kZWNvZGUoICR0ZW1wbGF0ZV9kYXRhICk7CiAgICAgICAgJHRoaXMtPl9mb3JtX2RhdGEgPSB1bnNlcmlhbGl6ZSggYmFzZTY0X2RlY29kZSggJGZvcm1fZGF0YSApICk7CiAgICAgICAgcmV0dXJuIFRSVUU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHZhbGlkYXRlX2RlcGVuZGVuY2llcygpCiAgICB7CiAgICAgICAgLy8gZ2l2ZW4gdGhlIGRpc3Bvc2l0aW9uIGxpc3QsIGFuZCB0aGUgdmFsaWRhdGlvbiBsaXN0CiAgICAgICAgLy8gbWFrZXMgdXJlIHdlIGhhdmUgYWxsIG9mIHRob3NlIGNsYXNzZXMuCiAgICAgICAgZm9yZWFjaCggJHRoaXMtPl92YWxpZGF0aW9uX2xpc3QgYXMgJGNsYXNzX25hbWUgKSB7CiAgICAgICAgICAgIGlmKCAhY2xhc3NfZXhpc3RzKCAkY2xhc3NfbmFtZSApICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJfaW1wb3J0X3ZhbGlkYXRpb25fbm90Zm91bmQnLCRjbGFzc19uYW1lKSApOwogICAgICAgIH0KICAgICAgICBmb3JlYWNoKCAkdGhpcy0+X2Rpc3Bvc2l0aW9uX2xpc3QgYXMgJGNsYXNzX25hbWUgKSB7CiAgICAgICAgICAgIGlmKCAhY2xhc3NfZXhpc3RzKCAkY2xhc3NfbmFtZSApICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJfaW1wb3J0X2Rpc3Bvc2l0aW9uX25vdGZvdW5kJywkY2xhc3NfbmFtZSkgKTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGZvcm1fdGVtcGxhdGVfZXhpc3RzKCAkaW5fdHBsX25hbWUgKQogICAgewogICAgICAgIC8vIGNoZWNrIGlmIGEgdGVtcGxhdGUgYnkgdGhpcyBuYW1lIGV4aXN0cyBhbmQgaXMgb2YgdGhlIHNhbWUgdHlwZS4KICAgICAgICB0cnkgewogICAgICAgICAgICAkdHBsID0gXENtc0xheW91dFRlbXBsYXRlOjpsb2FkKCAkaW5fdHBsX25hbWUgKTsKICAgICAgICAgICAgJHR5cGUgPSBcQ21zTGF5b3V0VGVtcGxhdGVUeXBlOjpsb2FkKCdTbWFydEZvcm1zOjpGb3JtJyk7CiAgICAgICAgICAgIGlmKCAkdHBsLT5nZXRfdHlwZV9pZCgpICE9ICR0eXBlLT5nZXRfaWQoKSApIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgY2F0Y2goIFxDbXNEYXRhTm90Rm91bmRFeGNlcHRpb24gJGUgKSB7CiAgICAgICAgICAgIC8vIHRlbXBsYXRlIG5hbWUgZG9lcyBub3QgZXhpc3QuCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGltcG9ydF90ZW1wbGF0ZSgpCiAgICB7CiAgICAgICAgLy8gY2hlY2sgaWYgdGhlIHRlbXBsYXRlIG5hbWUgZXhpc3RzLgogICAgICAgIC8vIGlmIGl0IGRvZXMsIHRoZW4gZGVwZW5kaW5nIG9uIHRoZSB0eXBlIG91ciBmbGFnLCB3ZSBjYW4gaW1wb3J0IG5ldyBvciBvdmVyd3JpdGUKICAgICAgICAkaW5fdHBsX25hbWUgPSAkdGhpcy0+X3RlbXBsYXRlX25hbWVfZGF0YTsKCiAgICAgICAgLy8gaGF2ZSB0byBjcmVhdGUgYSBuZXcgdGVtcGxhdGUuCgogICAgICAgICR0eXBlID0gXENtc0xheW91dFRlbXBsYXRlVHlwZTo6bG9hZCgnU21hcnRGb3Jtczo6Rm9ybScpOwogICAgICAgICRuZXdfbmFtZSA9IFxDbXNMYXlvdXRUZW1wbGF0ZTo6Z2VuZXJhdGVfdW5pcXVlX25hbWUoICRpbl90cGxfbmFtZSApOwoKICAgICAgICAkdHBsID0gbmV3IFxDbXNMYXlvdXRUZW1wbGF0ZTsKICAgICAgICAkdHBsLT5zZXRfbmFtZSggJG5ld19uYW1lICk7CiAgICAgICAgJHRwbC0+c2V0X3R5cGUoICR0eXBlICk7CgogICAgICAgICR0cGwtPnNldF9jb250ZW50KCAkdGhpcy0+X3RlbXBsYXRlX2RhdGEgKTsKICAgICAgICAkdHBsLT5zYXZlKCk7CiAgICAgICAgcmV0dXJuICR0cGwtPmdldF9pZCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpbXBvcnQoKQogICAgewoKICAgICAgICAkdGhpcy0+dmFsaWRhdGVfZGVwZW5kZW5jaWVzKCk7CgoKICAgICAgICAkZXhpc3RpbmdfdHBsX2lkID0gbnVsbDsKICAgICAgICAkaW5fZm9ybV9uYW1lID0gYmFzZTY0X2RlY29kZSggJHRoaXMtPl9uYW1lX2RhdGEgKTsKCiAgICAgICAgJGkgPSAxOwogICAgICAgICRuYW1lID0gbnVsbDsKICAgICAgICB3aGlsZSggJGkgPCAxMDAgKSB7CiAgICAgICAgICAgICRuYW1lID0gJGluX2Zvcm1fbmFtZTsKICAgICAgICAgICAgaWYoICRpID4gMSApICRuYW1lID0gJGluX2Zvcm1fbmFtZS4nICcuJGk7CiAgICAgICAgICAgIGlmKCAhJHRoaXMtPl9zdG9yYWdlLT5leGlzdHMoICRuYW1lICkgKSBicmVhazsKICAgICAgICAgICAgJGkrKzsKICAgICAgICB9CgogICAgICAgIC8vIG5leHQgY3JlYXRlIHRoZSB0ZW1wbGF0ZSwgYW5kIGltcG9ydAogICAgICAgIC8vJHRwbF9pZCA9ICR0aGlzLT5pbXBvcnRfdGVtcGxhdGUoKTsKCiAgICAgICAgJHRwbF9pZCA9ICR0aGlzLT5pbXBvcnRfdGVtcGxhdGUoKTsKCiAgICAgICAgLy8gZmluZCBhIG5ldyBmb3JtIG5hbWUuCiAgICAgICAgJG5ld2Zvcm0gPSBjbG9uZSAkdGhpcy0+X2Zvcm1fZGF0YTsKICAgICAgICB1bnNldCggJGZvcm0gKTsKICAgICAgICAkbmV3Zm9ybS0+YWRqdXN0V2l0aCggWyduYW1lJz0+JG5hbWUsICd0ZW1wbGF0ZV9pZCc9PiR0cGxfaWQgXSApOwogICAgICAgIHJldHVybiAkbmV3Zm9ybTsKICAgIH0KfSAvLyBjbGFzcw==]]></data>
	</file>
	<file>
	  <filename>/lib/class.FormMultiValueOption.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBGb3JtTXVsdGlWYWx1ZU9wdGlvbgp7CiAgICBwcml2YXRlICRfZGF0YTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIGFycmF5ICRwYXJhbXMgKQogICAgewogICAgICAgICR0aGlzLT5fZGF0YSA9ICRwYXJhbXM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2h1bWFuJzoKICAgICAgICBjYXNlICdocic6CiAgICAgICAgICAgICR2YWwgPSBceHRfcGFyYW06OmdldF9zdHJpbmcoICR0aGlzLT5fZGF0YSwgJ2RhdGEtc210Zm0taHVtYW4nICk7CiAgICAgICAgICAgIGlmKCAhJHZhbCApICR2YWwgPSAkdGhpcy0+X2RhdGFbJ3RleHQnXTsKICAgICAgICAgICAgcmV0dXJuIHRyaW0oJHZhbCk7CiAgICAgICAgY2FzZSAndGV4dCc6CiAgICAgICAgY2FzZSAndmFsdWUnOgogICAgICAgICAgICByZXR1cm4gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCAkdGhpcy0+X2RhdGEsICRrZXkgKTsKICAgICAgICBjYXNlICdzZWxlY3RlZCc6CiAgICAgICAgICAgIHJldHVybiBceHRfcGFyYW06OmdldF9ib29sKCAkdGhpcy0+X2RhdGEsICRrZXkgKTsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBpZiggXHh0X3BhcmFtOjpleGlzdHMoICR0aGlzLT5fZGF0YSwgJGtleSApICkgcmV0dXJuIFx4dF9wYXJhbTo6Z2V0X3N0cmluZyggJHRoaXMtPl9kYXRhLCAka2V5ICk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdmFsdWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+dmFsdWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCAka2V5LCAkdmFsICkKICAgIHsKICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKF9fQ0xBU1NfXy4nIGNhbm5vdCBiZSBtb2RpZmllZCB0aGlzIHdheScpOwogICAgfQp9IC8vIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.FormRenderer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CnVzZSBTbWFydEZvcm1zOwp1c2UgY21zX3VybDsKdXNlIHh0X3VybDsKdXNlIHh0X3V0aWxzOwp1c2UgeHRfcGFyYW07CgpjbGFzcyBGb3JtUmVuZGVyZXIKewogICAgcHJpdmF0ZSAkX21vZDsKICAgIHByaXZhdGUgJF9kb207CiAgICBwcml2YXRlICRfZm9ybTsKICAgIHByaXZhdGUgJF9pZDsKICAgIHByaXZhdGUgJF9yZXR1cm5pZDsKICAgIHByaXZhdGUgJF9jYXB0Y2hhX3Byb3ZpZGVyOwogICAgcHJpdmF0ZSAkX3Jlc3BvbnNlOwogICAgcHJpdmF0ZSAkX25vYXV0b3ZhbHVlOwogICAgcHJpdmF0ZSAkX25vbmFtZWFkanVzdDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIFNtYXJ0Rm9ybXMgJG1vZCwgRm9ybSAkZm9ybSwgSUNhcHRjaGFQcm92aWRlciAkcHJvdmlkZXIgPSBudWxsLCAkc21hcnR5LCAkaWQsICRyZXR1cm5pZCwgRm9ybVJlc3BvbnNlICRyZXNwb25zZSwgJHBhcm1zICkKICAgIHsKICAgICAgICAvLyBpZiB0ZW1wbGF0ZSBtb2RpZmllZCBzaW5jZSBmb3JtIHNhdmVkLi4gZG9uJ3QgcmVuZGVyLgogICAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgICAgICAkdGhpcy0+X2Zvcm0gPSAkZm9ybTsKICAgICAgICAkdGhpcy0+X2lkID0gKCRmb3JtLT5kaXNwbGF5X2lubGluZSkgPyB0cmltKCRpZCkgOiAnY250bnQwMSc7CiAgICAgICAgJHRoaXMtPl9yZXR1cm5pZCA9IChpbnQpICRyZXR1cm5pZDsKICAgICAgICAkdGhpcy0+X2Vycm9yID0gbnVsbDsKICAgICAgICAkdGhpcy0+X3VybCA9ICR0aGlzLT5fbW9kLT5jcmVhdGVfdXJsKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCBbJ2Zvcm0nPT4kZm9ybS0+bmFtZSwgJ3Byb2Nlc3MnPT4xIF0gKTsKICAgICAgICAkdGhpcy0+X2NhcHRjaGFfcHJvdmlkZXIgPSAkcHJvdmlkZXI7CiAgICAgICAgJHRoaXMtPl9yZXNwb25zZSA9ICRyZXNwb25zZTsKCiAgICAgICAgLy8gY2Fubm90IHJlbmRlciBpZiB0aGUgbW9kaWZpY2F0aW9uIGRhdGUgaXMgb2ZmLgogICAgICAgICR0cGwgPSAkbW9kLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSggJGZvcm0tPmdldFNtYXJ0eVRlbXBsYXRlUmVzb3VyY2UoKSApOwogICAgICAgIGlmKCB4dF9wYXJhbTo6Z2V0X2Jvb2woICRwYXJtcywgJ2RhdGVjaGVjaycpICkgewogICAgICAgICAgICAkdHBsX3RzID0gJHRwbC0+c291cmNlLT5nZXRUaW1lU3RhbXAoKTsKICAgICAgICAgICAgaWYoICRmb3JtLT5tb2RpZmllZCA8ICR0cGxfdHMgJiYgJGZvcm0tPnRwbF9tb2RpZmllZCA8ICR0cGxfdHMgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJG1vZC0+TGFuZygnZXJyX2Zvcm1fc2Nhbm5lZWRlZCcpKTsKICAgICAgICB9CgogICAgICAgICR0cGwtPmFzc2lnbignZm9ybV9kYXRhJywkcmVzcG9uc2UpOwogICAgICAgICRodG1sID0gJHRwbC0+ZmV0Y2goKTsKCiAgICAgICAgXGxpYnhtbF91c2VfaW50ZXJuYWxfZXJyb3JzKHRydWUpOwogICAgICAgIFxzZXRfZXJyb3JfaGFuZGxlcihmdW5jdGlvbigkbnVtYmVyLCAkZXJyb3IpewogICAgICAgICAgICAgICAgaWYoICRudW1iZXIgIT0gRV9OT1RJQ0UgKSBkZWJ1Z190b19sb2coIlNtYXJ0Rm9ybXMgRVJST1I6ICIuJGVycm9yKSA7CiAgICAgICAgICAgIH0pOwogICAgICAgICR0aGlzLT5fZG9tID0gbmV3IFxEb21Eb2N1bWVudDsKICAgICAgICAvLyR0aGlzLT5fZG9tLT5sb2FkSFRNTCggJGh0bWwsICBMSUJYTUxfSFRNTF9OT0lNUExJRUQgfCBMSUJYTUxfSFRNTF9OT0RFRkRURCApOwogICAgICAgICR0aGlzLT5fZG9tLT5sb2FkSFRNTCggJzw/eG1sIGVuY29kaW5nPSJ1dGYtOCIgPz4nIC4gJGh0bWwgKTsKICAgICAgICAkdGhpcy0+aGFuZGxlRm9ybVRhZygpOwogICAgICAgICR0aGlzLT5hZGRIaWRkZW5SZXR1cm5pZCgpOwogICAgICAgICR0aGlzLT5hZGRIaWRkZW5Gb3JtTmFtZSgpOwogICAgICAgICR0aGlzLT5hZGRIaWRkZW5NYWN0KCk7CiAgICAgICAgJHRoaXMtPmFkZEhpZGRlbkd1aWQoKTsKICAgICAgICAkdGhpcy0+YWRkSGlkZGVuSG9uZXlQb3QoKTsKICAgICAgICAkdGhpcy0+aGFuZGxlQXV0b1ZhbHVlcygpOwogICAgICAgICR0aGlzLT5oYW5kbGVEYXRhU2VsZWN0ZWQoKTsKICAgICAgICAkdGhpcy0+YWRqdXN0TXVsdGlGaWVsZE5hbWVzKCk7IC8vdGVzdCBtZSEhCiAgICAgICAgJHRoaXMtPmFkZEphdmFzY3JpcHQoKTsKICAgICAgICBpZiggJGZvcm0tPmhhc19jYXB0Y2hhICYmICR0aGlzLT5fY2FwdGNoYV9wcm92aWRlciApICR0aGlzLT5hZGRDYXB0Y2hhQ29udGVudCgpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRJbnB1dHNCeVR5cGUoJHR5cGUpCiAgICB7CiAgICAgICAgJHR5cGUgPSBzdHJ0b2xvd2VyKHRyaW0oJHR5cGUpKTsKICAgICAgICBpZiggISR0eXBlICkgcmV0dXJuOwoKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgJG5vZGVzID0gJHRoaXMtPl9kb20tPmdldEVsZW1lbnRzQnlUYWdOYW1lKCAnaW5wdXQnICk7CiAgICAgICAgaWYoICEgJG5vZGVzICkgcmV0dXJuOwogICAgICAgIGZvcmVhY2goICRub2RlcyBhcyAkbm9kZSApIHsKICAgICAgICAgICAgaWYoIHN0cnRvbG93ZXIoJG5vZGUtPmdldEF0dHJpYnV0ZSgndHlwZScpKSA9PSAkdHlwZSApICRvdXRbXSA9ICRub2RlOwogICAgICAgIH0KICAgICAgICBpZiggY291bnQoJG91dCkgKSByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gd2Fsa0RPTShcRE9NTm9kZSAkbm9kZSwgY2FsbGFibGUgJGZ1bmMpCiAgICB7CiAgICAgICAgJGZ1bmMoJG5vZGUpOwogICAgICAgICRub2RlID0gJG5vZGUtPmZpcnN0Q2hpbGQ7CiAgICAgICAgd2hpbGUoICRub2RlICkgewogICAgICAgICAgICAkdGhpcy0+d2Fsa0RPTSgkbm9kZSwkZnVuYyk7CiAgICAgICAgICAgICRub2RlID0gJG5vZGUtPm5leHRTaWJsaW5nOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0QXR0cmlidXRlc0FycmF5KFxET01OYW1lZE5vZGVNYXAgJG1hcCkKICAgIHsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJG1hcCBhcyAkYXR0ciApIHsKICAgICAgICAgICAgJG91dFskYXR0ci0+bm9kZU5hbWVdID0gJGF0dHItPm5vZGVWYWx1ZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGFkanVzdE11bHRpRmllbGROYW1lcygpCiAgICB7CiAgICAgICAgaWYoICR0aGlzLT5fbm9uYW1lYWRqdXN0ICkgcmV0dXJuOwoKICAgICAgICAvLyBmb3Igc2VsZWN0IHN0YXRlbWVudHMgd2l0aCB0aGUgbXVsdGlwbGUgYXR0cmlidXRlLCBlbnN1cmUgdGhlIG5hbWUgYXR0cmlidXRlIGVuZHMgd2l0aCBbXQogICAgICAgICRub2RlcyA9ICR0aGlzLT5fZG9tLT5nZXRFbGVtZW50c0J5VGFnTmFtZSggJ3NlbGVjdCcgKTsKICAgICAgICBpZiggJG5vZGVzICkgewogICAgICAgICAgICBmb3JlYWNoKCAkbm9kZXMgYXMgJG5vZGUgKSB7CiAgICAgICAgICAgICAgICAvLyB2YWx1ZSBvZiB0aGUgbXVsdGlwbGUgYXR0cmlidXRlIG1heSBiZSBlbXB0eQogICAgICAgICAgICAgICAgaWYoICEgJG5vZGUtPmhhc0F0dHJpYnV0ZSgnbXVsdGlwbGUnKSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgJG5hbWUgPSAkbm9kZS0+Z2V0QXR0cmlidXRlKCduYW1lJyk7CiAgICAgICAgICAgICAgICBpZiggJG5hbWUgJiYgIWVuZHN3aXRoKCRuYW1lLCdbXScpICkgJG5vZGUtPnNldEF0dHJpYnV0ZSgnbmFtZScsJG5hbWUuJ1tdJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIGZvciBjaGVja2JveCBpbnB1dHMuLi4gZ2V0IHRoZSBlbGVtZW50cywgYW5kIGNvdW50IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgYnkgbmFtZS4KICAgICAgICAvLyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lLCBhcHBlbmQgdGhlIFtdIHRvIGl0LgogICAgICAgICRub2RlcyA9ICR0aGlzLT5fZG9tLT5nZXRFbGVtZW50c0J5VGFnTmFtZSggJ2lucHV0JyApOwogICAgICAgICRuYW1lcyA9IG51bGw7CiAgICAgICAgaWYoICRub2RlcyApIHsKICAgICAgICAgICAgZm9yZWFjaCggJG5vZGVzIGFzICRub2RlICkgewogICAgICAgICAgICAgICAgJHR5cGUgPSBzdHJ0b2xvd2VyKCAkbm9kZS0+Z2V0QXR0cmlidXRlKCd0eXBlJykgKTsKICAgICAgICAgICAgICAgIGlmKCAkdHlwZSAhPT0gJ2NoZWNrYm94JyApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgJG5hbWUgPSAkbm9kZS0+Z2V0QXR0cmlidXRlKCduYW1lJyk7CiAgICAgICAgICAgICAgICBpZiggISRuYW1lIHx8IGVuZHN3aXRoKCRuYW1lLCdbXScpICkgY29udGludWU7CiAgICAgICAgICAgICAgICAkbmFtZXNbJG5hbWVdID0gKGlzc2V0KCRuYW1lc1skbmFtZV0pKSA/ICRuYW1lc1skbmFtZV0rMSA6IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yZWFjaCggJG5vZGVzIGFzICRub2RlICkgewogICAgICAgICAgICAgICAgJG5hbWUgPSAkbm9kZS0+Z2V0QXR0cmlidXRlKCduYW1lJyk7CiAgICAgICAgICAgICAgICBpZiggaXNzZXQoJG5hbWVzWyRuYW1lXSkgJiYgJG5hbWVzWyRuYW1lXSA+IDEgKSB7CiAgICAgICAgICAgICAgICAgICAgJG5vZGUtPnNldEF0dHJpYnV0ZSgnbmFtZScsJG5hbWUuJ1tdJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhbmRsZURhdGFTZWxlY3RlZCgpCiAgICB7CiAgICAgICAgLy8gZmluZCBub2RlcyBvZiB0eXBlIHNlbGVjdCwgcmFkaW8sIGNoZWNrYm94IHdpdGggYXR0cmlidXRlIGRhdGEtc210Zm0tc2VsZWN0ZWQKICAgICAgICAvLyBwYXJzZSB0aGUgdmFsdWVzIG9mIHRoZSBhdHRyaWJ1dGUKICAgICAgICAvLyBmb3Igc2VsZWN0Li4gYWRkICdzZWxlY3RlZCcgYXR0cmlidXRlIHRvIGVhY2ggb3B0aW9uIHdoZXJlIHZhbHVlcyBtYXRjaAogICAgICAgIC8vIGZvciBjaGVja2JveC9yYWRpbyBhZGQgJ2NoZWNrZWQnIGF0dHJpYnV0ZSB0byBlYWNoIGlucHV0IG5vZGUgd2hlcmUgdmFsdWVzIG1hdGNoCiAgICAgICAgJG5vZGVzID0gJHRoaXMtPl9kb20tPmdldEVsZW1lbnRzQnlUYWdOYW1lKCAnc2VsZWN0JyApOwogICAgICAgIGlmKCAkbm9kZXMgKSB7CiAgICAgICAgICAgIGZvcmVhY2goICRub2RlcyBhcyAkbm9kZSApIHsKICAgICAgICAgICAgICAgIGlmKCAhKCRhdHRyID0gJG5vZGUtPmdldEF0dHJpYnV0ZSgnZGF0YS1zbXRmbS1zZWxlY3RlZCcpKSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgJHRoaXMtPndhbGtET00oICRub2RlLCBmdW5jdGlvbihcRE9NTm9kZSAkaW5fbm9kZSkgdXNlICgkYXR0cikgewogICAgICAgICAgICAgICAgICAgICAgICBpZiggJGluX25vZGUtPm5vZGVOYW1lICE9ICdvcHRpb24nICkgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICBpZiggJGluX25vZGUtPmdldEF0dHJpYnV0ZSgndmFsdWUnKSA9PSAkYXR0ciApICRpbl9ub2RlLT5zZXRBdHRyaWJ1dGUoJ3NlbGVjdGVkJywnc2VsZWN0ZWQnKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJG5vZGVzID0gJHRoaXMtPmdldElucHV0c0J5VHlwZSggJ2NoZWNrYm94JyApOwogICAgICAgIGlmKCAkbm9kZXMgKSB7CiAgICAgICAgICAgIGZvcmVhY2goICRub2RlcyBhcyAkbm9kZSApIHsKICAgICAgICAgICAgICAgIGlmKCAhKCRhdHRyID0gJG5vZGUtPmdldEF0dHJpYnV0ZSgnZGF0YS1zbXRmbS1zZWxlY3RlZCcpKSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaWYoICRub2RlLT5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgPT0gJGF0dHIgKSAkbm9kZS0+c2V0QXR0cmlidXRlKCdjaGVja2VkJywnY2hlY2tlZCcpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkbm9kZXMgPSAkdGhpcy0+Z2V0SW5wdXRzQnlUeXBlKCAncmFkaW8nICk7CiAgICAgICAgaWYoICRub2RlcyApIHsKICAgICAgICAgICAgZm9yZWFjaCggJG5vZGVzIGFzICRub2RlICkgewogICAgICAgICAgICAgICAgaWYoICEoJGF0dHIgPSAkbm9kZS0+Z2V0QXR0cmlidXRlKCdkYXRhLXNtdGZtLXNlbGVjdGVkJykpICkgY29udGludWU7CiAgICAgICAgICAgICAgICBpZiggJG5vZGUtPmdldEF0dHJpYnV0ZSgndmFsdWUnKSA9PSAkYXR0ciApICRub2RlLT5zZXRBdHRyaWJ1dGUoJ2NoZWNrZWQnLCdjaGVja2VkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLy8gZGF0YS1zbXRmbS1ub2F1dG92YWx1ZQogICAgLy8gb3RoZXJ3aXNlLCBmb3IgaW5wdXQtdGV4dC9udW1iZXIvZGF0ZSAtIHZhbHVlPXZhbHVlIGZyb20gcmVzcG9uc2UgKGlmIHZhbHVlIGlzIGVtcHR5KQogICAgLy8gICAgICAgICAgICBmb3IgY2hlY2tib3gvcmFkaW8gaWYgcmVzcG9uc2UgdmFsdWUgPT0gdmFsdWUgYXR0ciBzZXQgY2hlY2tlZAogICAgLy8gICAgICAgICAgICBmb3IgdGV4dGFyZWEgLi4uIGlubmVyIGh0bWwgPSB2YWx1ZSBmcm9tIHJlc3BvbnNlIChpZiBlbXB0eSkKICAgIC8vICAgICAgICAgICAgZm9yIHNlbGVjdCAtLSBnZXQgdmFsdWUgZnJvbSByZXNwb25zZSwgYW5kIHNldCB0aGUgb3B0aW9ucyBhcyBzZWxlY3RlZAogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhbmRsZUF1dG9WYWx1ZXMoKQogICAgewogICAgICAgIC8vIGlmIHRoZXJlIGlzIGEgZGF0YS1zbXRmbS1ub2F1dG92YWx1ZSBpbiB0aGUgZm9ybSwgd2UgZG8gbm90IGRvIHRoaXMgc3R1ZmYuCiAgICAgICAgaWYoICR0aGlzLT5fbm9hdXRvdmFsdWUgKSByZXR1cm47CgogICAgICAgICRsaXN0ID0gJHRoaXMtPl9kb20tPmdldEVsZW1lbnRzQnlUYWdOYW1lKCAnaW5wdXQnICk7CiAgICAgICAgaWYoICRsaXN0ICkgewogICAgICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkbm9kZSApIHsKICAgICAgICAgICAgICAgIGlmKCAkbm9kZS0+aGFzQXR0cmlidXRlKCdkYXRhLXNtdGZtLW5vYXV0b3ZhbHVlJykgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICRuYW1lID0gJG5vZGUtPmdldEF0dHJpYnV0ZSgnbmFtZScpOwogICAgICAgICAgICAgICAgJHJlc3BvbnNldmFsID0gJHRoaXMtPl9yZXNwb25zZS0+X19nZXQoJG5hbWUpOwogICAgICAgICAgICAgICAgJHR5cGUgPSBzdHJ0b2xvd2VyKCRub2RlLT5nZXRBdHRyaWJ1dGUoJ3R5cGUnKSk7CiAgICAgICAgICAgICAgICBzd2l0Y2goICR0eXBlICkgewogICAgICAgICAgICAgICAgY2FzZSAnY2hlY2tib3gnOgogICAgICAgICAgICAgICAgY2FzZSAncmFkaW8nOgogICAgICAgICAgICAgICAgICAgIGlmKCAhJG5vZGUtPmhhc0F0dHJpYnV0ZSgnZGF0YS1zbXRmbS1zZWxlY3RlZCcpICkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiggIWlzX2FycmF5KCAkcmVzcG9uc2V2YWwgKSApICRyZXNwb25zZXZhbCA9IFsgJHJlc3BvbnNldmFsIF07CiAgICAgICAgICAgICAgICAgICAgICAgICRub2RldmFsID0gJG5vZGUtPmdldEF0dHJpYnV0ZSgndmFsdWUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoIGluX2FycmF5KCRub2RldmFsLCRyZXNwb25zZXZhbCkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm9kZS0+c2V0QXR0cmlidXRlKCdjaGVja2VkJywnY2hlY2tlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgZGVmYXVsdDogLy8gdGV4dCBmaWVsZCwgbnVtYmVyLCBkYXRlLCBldGMuCiAgICAgICAgICAgICAgICAgICAgaWYoICRub2RlLT5oYXNBdHRyaWJ1dGUoJ3ZhbHVlJykgKSBicmVhazsKICAgICAgICAgICAgICAgICAgICAkbm9kZS0+c2V0QXR0cmlidXRlKCd2YWx1ZScsJHJlc3BvbnNldmFsKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIGlmKCAhZW1wdHkoJG5vZGV2YWwpICkgY29udGludWU7IC8vIHZhbHVlIGZpbGxlZCBieSB0ZW1wbGF0ZQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkbGlzdCA9ICR0aGlzLT5fZG9tLT5nZXRFbGVtZW50c0J5VGFnTmFtZSggJ3NlbGVjdCcgKTsKICAgICAgICBpZiggJGxpc3QgKSB7CiAgICAgICAgICAgIGZvcmVhY2goICRsaXN0IGFzICRub2RlICkgewogICAgICAgICAgICAgICAgaWYoICRub2RlLT5oYXNBdHRyaWJ1dGUoJ2RhdGEtc210Zm0tbm9hdXRvdmFsdWUnKSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaWYoICRub2RlLT5oYXNBdHRyaWJ1dGUoJ2RhdGEtc210Zm0tc2VsZWN0ZWQnKSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgJG11bHRpcGxlID0gJG5vZGUtPmhhc0F0dHJpYnV0ZSgnbXVsdGlwbGUnKTsKICAgICAgICAgICAgICAgICRuYW1lID0gdHJpbSgkbm9kZS0+Z2V0QXR0cmlidXRlKCduYW1lJykpOwogICAgICAgICAgICAgICAgJHJlc3BvbnNldmFsID0gJHRoaXMtPl9yZXNwb25zZS0+X19nZXQoJG5hbWUpOwogICAgICAgICAgICAgICAgaWYoICFpc19hcnJheSgkcmVzcG9uc2V2YWwpICkgJHJlc3BvbnNldmFsID0gWyAkcmVzcG9uc2V2YWwgXTsKICAgICAgICAgICAgICAgICR0aGlzLT53YWxrRE9NKCAkbm9kZSwgZnVuY3Rpb24oXERPTU5vZGUgJGluX25vZGUpIHVzZSAoJHJlc3BvbnNldmFsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAkaW5fbm9kZS0+bm9kZU5hbWUgIT0gJ29wdGlvbicgKSByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCBpbl9hcnJheSgkaW5fbm9kZS0+Z2V0QXR0cmlidXRlKCd2YWx1ZScpLCRyZXNwb25zZXZhbCkgKSAkaW5fbm9kZS0+c2V0QXR0cmlidXRlKCdzZWxlY3RlZCcsJ3NlbGVjdGVkJyk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRsaXN0ID0gJHRoaXMtPl9kb20tPmdldEVsZW1lbnRzQnlUYWdOYW1lKCAndGV4dGFyZWEnICk7CiAgICAgICAgaWYoICRsaXN0ICkgewogICAgICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkbm9kZSApIHsKICAgICAgICAgICAgICAgIGlmKCAkbm9kZS0+aGFzQXR0cmlidXRlKCdkYXRhLXNtdGZtLW5vYXV0b3ZhbHVlJykgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICRub2RldmFsID0gJG5vZGUtPm5vZGVWYWx1ZTsKICAgICAgICAgICAgICAgICRuYW1lID0gJG5vZGUtPmdldEF0dHJpYnV0ZSgnbmFtZScpOwogICAgICAgICAgICAgICAgJHJlc3BvbnNldmFsID0gJHRoaXMtPl9yZXNwb25zZS0+X19nZXQoJG5hbWUpOwogICAgICAgICAgICAgICAgaWYoIGVtcHR5KCRub2RldmFsKSAmJiAkcmVzcG9uc2V2YWwgKSB7CiAgICAgICAgICAgICAgICAgICAgJG5vZGUtPm5vZGVWYWx1ZSA9ICRyZXNwb25zZXZhbDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0Q29udGVudFVybCgpCiAgICB7CiAgICAgICAgJG91dCA9IHh0X3VybDo6Y3VycmVudF91cmwoKTsKICAgICAgICByZXR1cm4gJG91dDsKICAgICAgICAvKgogICAgICAgICRvdXQgPSAnbW9kdWxlaW50ZXJmYWNlLnBocCc7CiAgICAgICAgJGhtID0gXENtc0FwcDo6Z2V0X2luc3RhbmNlKCktPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKICAgICAgICAkbm9kZSA9ICRobS0+c3VyZUdldE5vZGVCeUlkKCAkdGhpcy0+X3JldHVybmlkICk7CiAgICAgICAgaWYoICRub2RlICkgewogICAgICAgICAgICAkY29udGVudF9vYmogPSAkbm9kZS0+Z2V0Q29udGVudCgpOwogICAgICAgICAgICBpZiggJGNvbnRlbnRfb2JqICkgJG91dCA9ICRjb250ZW50X29iai0+R2V0VVJMKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgICAgICovCiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEZvcm1Ob2RlKCkKICAgIHsKICAgICAgICAkZm9ybSA9ICR0aGlzLT5fZG9tLT5nZXRFbGVtZW50c0J5VGFnTmFtZSggJ2Zvcm0nICktPml0ZW0oMCk7CiAgICAgICAgcmV0dXJuICRmb3JtOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBoYW5kbGVGb3JtVGFnKCkKICAgIHsKICAgICAgICAvLyBmaW5kIHRoZSBmb3JtIGRvbSBub2RlCiAgICAgICAgJGZvcm0gPSAkdGhpcy0+Z2V0Rm9ybU5vZGUoKTsKICAgICAgICBpZiggJGZvcm0tPmhhc0F0dHJpYnV0ZSgnZGF0YS1zbXRmbS1ub2F1dG92YWx1ZScpICkgJHRoaXMtPl9ub2F1dG92YWx1ZSA9IHRydWU7CiAgICAgICAgaWYoICRmb3JtLT5oYXNBdHRyaWJ1dGUoJ2RhdGEtc210Zm0tbm9uYW1lYWRqdXN0JykgKSAkdGhpcy0+X25vbmFtZWFkanVzdCA9IHRydWU7CiAgICAgICAgJGZvcm0tPnNldEF0dHJpYnV0ZSggJ21ldGhvZCcsICdwb3N0JyApOwogICAgICAgICRmb3JtLT5zZXRBdHRyaWJ1dGUoICdhY3Rpb24nLCAkdGhpcy0+Z2V0Q29udGVudFVybCgpICk7CiAgICAgICAgJGZvcm0tPnNldEF0dHJpYnV0ZSggJ2VuY3R5cGUnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScgKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZmluZElucHV0KCRuYW1lKQogICAgewogICAgICAgICRsaXN0ID0gJHRoaXMtPl9kb20tPmdldEVsZW1lbnRzQnlUYWdOYW1lKCAnaW5wdXQnICk7CiAgICAgICAgaWYoICRsaXN0ICkgewogICAgICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkbm9kZSApewogICAgICAgICAgICAgICAgJHRfbmFtZSA9ICRub2RlLT5nZXRBdHRyaWJ1dGUoICduYW1lJyApOwogICAgICAgICAgICAgICAgaWYoICR0X25hbWUgPT0gJG5hbWUgKSByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZmluZEZpbGVJbnB1dHMoKQogICAgewogICAgICAgICRsaXN0ID0gJHRoaXMtPl9kb20tPmdldEVsZW1lbnRzQnlUYWdOYW1lKCAnaW5wdXQnICk7CiAgICAgICAgJG91dCA9IG51bGw7CiAgICAgICAgaWYoICRsaXN0ICkgewogICAgICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkbm9kZSApIHsKICAgICAgICAgICAgICAgICR0X3R5cGUgPSAkbm9kZS0+Z2V0QXR0cmlidXRlKCAndHlwZScgKTsKICAgICAgICAgICAgICAgIGlmKCBzdHJ0b2xvd2VyKCR0X3R5cGUpID09ICdmaWxlJyApICRvdXRbXSA9ICRub2RlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRTZWxlY3ROb2RlKCRuYW1lKQogICAgewogICAgICAgICRsaXN0ID0gJHRoaXMtPl9kb20tPmdldEVsZW1lbnRzQnlUYWdOYW1lKCAnc2VsZWN0JyApOwogICAgICAgIGZvcmVhY2goICRsaXN0IGFzICRub2RlICl7CiAgICAgICAgICAgICR0X25hbWUgPSAkbm9kZS0+Z2V0QXR0cmlidXRlKCAnbmFtZScgKTsKICAgICAgICAgICAgaWYoICR0X25hbWUgPT0gJG5hbWUgKSByZXR1cm4gJG5vZGU7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBhcHBlbmRIVE1MdG9Ob2RlKFxET01Ob2RlICRwYXJlbnQsICRzb3VyY2UpCiAgICB7CiAgICAgICAgJHRtcERvYyA9IG5ldyBcRE9NRG9jdW1lbnQoKTsKICAgICAgICAkdG1wRG9jLT5sb2FkSFRNTCgkc291cmNlKTsKICAgICAgICBmb3JlYWNoICgkdG1wRG9jLT5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpLT5pdGVtKDApLT5jaGlsZE5vZGVzIGFzICRub2RlKSB7CiAgICAgICAgICAgICRub2RlID0gJHBhcmVudC0+b3duZXJEb2N1bWVudC0+aW1wb3J0Tm9kZSgkbm9kZSx0cnVlKTsKICAgICAgICAgICAgJHBhcmVudC0+YXBwZW5kQ2hpbGQoJG5vZGUpOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkQ2FwdGNoYUNvbnRlbnQoKQogICAgewogICAgICAgICR4cGF0aCA9IG5ldyBcRE9NWFBhdGgoICR0aGlzLT5fZG9tICk7CiAgICAgICAgJHRtcCA9ICR4cGF0aC0+cXVlcnkoICcvL0BkYXRhLXNtdGZtLWNhcHRjaGEnKS0+aXRlbSgwKTsKICAgICAgICBpZiggISR0bXAgKSByZXR1cm47CiAgICAgICAgJGVsZW0gPSAkdG1wLT5wYXJlbnROb2RlOwogICAgICAgIGlmKCAhJGVsZW0gKSByZXR1cm47CiAgICAgICAgJG91dHB1dCA9ICR0aGlzLT5fY2FwdGNoYV9wcm92aWRlci0+Z2V0X2NhcHRjaGFfZGlzcGxheSgpOwogICAgICAgIGlmKCAkb3V0cHV0KSAkdGhpcy0+YXBwZW5kSFRNTHRvTm9kZSggJGVsZW0sICRvdXRwdXQgKTsKCiAgICAgICAgJG91dHB1dCA9ICR0aGlzLT5fY2FwdGNoYV9wcm92aWRlci0+Z2V0X2NhcHRjaGFfaW5wdXRmaWVsZCgpOwogICAgICAgIGlmKCAhJG91dHB1dCApIHJldHVybjsKCiAgICAgICAgJGVsZW0yID0gbnVsbDsKICAgICAgICAkdG1wID0gJHhwYXRoLT5xdWVyeSggJy8vQGRhdGEtc210Zm0tY2FwdGNoYS1pbnB1dCcpLT5pdGVtKDApOwogICAgICAgIGlmKCAkdG1wICkgJGVsZW0yID0gJHRtcC0+cGFyZW50Tm9kZTsKICAgICAgICBpZiggJGVsZW0yICkgewogICAgICAgICAgICAkdGhpcy0+YXBwZW5kSFRNTHRvTm9kZSggJGVsZW0yLCAkb3V0cHV0ICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkdGhpcy0+YXBwZW5kSFRNTHRvTm9kZSggJGVsZW0sICRvdXRwdXQgKTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGFkZEhpZGRlbklucHV0KCAkbmFtZSwgJHZhbCApCiAgICB7CiAgICAgICAgJGVsZW0gPSAkdGhpcy0+X2RvbS0+Q3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKICAgICAgICAkZWxlbS0+c2V0QXR0cmlidXRlKCd0eXBlJywnaGlkZGVuJyk7CiAgICAgICAgJGVsZW0tPnNldEF0dHJpYnV0ZSgnbmFtZScsJG5hbWUpOwogICAgICAgICRlbGVtLT5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywkdmFsKTsKICAgICAgICAkdGhpcy0+Z2V0Rm9ybU5vZGUoKS0+YXBwZW5kQ2hpbGQoICRlbGVtICk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGFkZEludmlzaWJsZUlucHV0KCAkbmFtZSwgJHZhbCApCiAgICB7CiAgICAgICAgJGVsZW0gPSAkdGhpcy0+X2RvbS0+Q3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKICAgICAgICAkZWxlbS0+c2V0QXR0cmlidXRlKCd0eXBlJywndGV4dCcpOwogICAgICAgICRlbGVtLT5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywnZGlzcGxheTogbm9uZTsnKTsKICAgICAgICAkZWxlbS0+c2V0QXR0cmlidXRlKCduYW1lJywkbmFtZSk7CiAgICAgICAgJGVsZW0tPnNldEF0dHJpYnV0ZSgndmFsdWUnLCR2YWwpOwogICAgICAgICR0aGlzLT5nZXRGb3JtTm9kZSgpLT5hcHBlbmRDaGlsZCggJGVsZW0gKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkSGlkZGVuUmV0dXJuSWQoKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPmZpbmRJbnB1dCgncmV0dXJuaWQnKSApICR0aGlzLT5hZGRIaWRkZW5JbnB1dCggJ3JldHVybmlkJywgJHRoaXMtPl9yZXR1cm5pZCApOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBhZGRIaWRkZW5NYWN0KCkKICAgIHsKICAgICAgICBpZiggISR0aGlzLT5maW5kSW5wdXQoJ21hY3QnKSApIHsKICAgICAgICAgICAgJG1hY3RfdXJsID0gJHRoaXMtPl9tb2QtPmNyZWF0ZV91cmwoJHRoaXMtPl9pZCwgJ2RlZmF1bHQnLCAkdGhpcy0+X3JldHVybmlkLCBbXSwgJHRoaXMtPl9mb3JtLT5kaXNwbGF5X2lubGluZSk7CiAgICAgICAgICAgICRtYWN0X3VybCA9IG5ldyBjbXNfdXJsKCRtYWN0X3VybCk7CiAgICAgICAgICAgICRtYWN0ID0gdXJsZGVjb2RlKCRtYWN0X3VybC0+Z2V0X3F1ZXJ5KCkpOwogICAgICAgICAgICBpZiggc3RhcnRzd2l0aCgkbWFjdCwnbWFjdD0nKSApICRtYWN0ID0gc3Vic3RyKCRtYWN0LDUpOwogICAgICAgICAgICAkdGhpcy0+YWRkSGlkZGVuSW5wdXQoICdtYWN0JywgJG1hY3QgKTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGFkZEhpZGRlbkd1aWQoKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPmZpbmRJbnB1dCgnX19ndWlkJykgKSB7CiAgICAgICAgICAgICRndWlkID0geHRfdXRpbHM6OmNyZWF0ZV9ndWlkKCk7CiAgICAgICAgICAgICRfU0VTU0lPTlsnU01URk1fR1VJRF9UT0tFTiddWyRndWlkXSA9IFsgJ2Zvcm0nPT4kdGhpcy0+X2Zvcm0tPm5hbWUsICd0aW1lJz0+dGltZSgpIF07CiAgICAgICAgICAgICR0aGlzLT5hZGRIaWRkZW5JbnB1dCggJ19fZ3VpZCcsICRndWlkICk7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBhZGRIaWRkZW5Ib25leVBvdCgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+ZmluZElucHV0KCdfX2hwbmFtZScpICkgJHRoaXMtPmFkZEludmlzaWJsZUlucHV0KCAnX19ocG5hbWUnLCAnJyk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGFkZEhpZGRlbkZvcm1OYW1lKCkKICAgIHsKICAgICAgICBpZiggISR0aGlzLT5maW5kSW5wdXQoICR0aGlzLT5faWQuJ2Zvcm0nKSApICR0aGlzLT5hZGRIaWRkZW5JbnB1dCggJHRoaXMtPl9pZC4nZm9ybScsICR0aGlzLT5fZm9ybS0+bmFtZSApOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBhZGRGaWxlU2NyaXB0Tm9kZSggJHNyYyApCiAgICB7CiAgICAgICAgJGVsZW0gPSAkdGhpcy0+X2RvbS0+Q3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgICAgJGVsZW0tPnNldEF0dHJpYnV0ZSgnc3JjJywkc3JjKTsKICAgICAgICAkdGhpcy0+Z2V0Rm9ybU5vZGUoKS0+YXBwZW5kQ2hpbGQoICRlbGVtICk7CiAgICAgICAgcmV0dXJuICRlbGVtOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaWxlbmFtZV90b191cmwoICRmbiApCiAgICB7CiAgICAgICAgJGNvbmZpZyA9IFxDbXNBcHA6OmdldF9pbnN0YW5jZSgpLT5HZXRDb25maWcoKTsKICAgICAgICAkb3V0ID0gc3RyX3JlcGxhY2UoICRjb25maWdbJ3Jvb3RfcGF0aCddLCAkY29uZmlnWydyb290X3VybCddLCAkZm4gKTsKICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWRkSmF2YXNjcmlwdCgpCiAgICB7CiAgICAgICAgLy8gaWYgd2UgaGF2ZSBhdCBsZWFzdCBvbmUgZmlsZSBpbnB1dCBmaWVsZC4uLiBkbyB0aGlzLgogICAgICAgIGlmKCAhJHRoaXMtPl9mb3JtLT51c2VfYXN5bmNfdXBsb2FkICkgcmV0dXJuOwogICAgICAgICR0bXAgPSAkdGhpcy0+ZmluZEZpbGVJbnB1dHMoKTsKICAgICAgICBpZiggISR0bXAgKSByZXR1cm47CgogICAgICAgIHN0YXRpYyAkaGF2ZV9maWxldXBsb2FkOwogICAgICAgICRzcmNfZXZlcnl0aW1lID0gJHRoaXMtPmZpbGVuYW1lX3RvX3VybCggJHRoaXMtPl9tb2QtPmZpbmRfbW9kdWxlX2ZpbGUoJ2pzL2FzeW5jX3VwbG9hZC5qcycpICk7CgogICAgICAgIGlmKCAhJGhhdmVfZmlsZXVwbG9hZCApIHsKICAgICAgICAgICAgLy8gdG9kbzogYWxsb3cgdXNlIG9mIGpzcmVuZGVyIGZvciB0aGlzLgogICAgICAgICAgICAvLyBvbmx5IGluY2x1ZGUgdGhlIGpxdWVyeS5TTVRGTVVwbG9hZEhhbmRsZXIgc3R1ZmYgb25jZS4KICAgICAgICAgICAgJHBhZ2VfaWQgPSBcQ29udGVudE9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5HZXREZWZhdWx0Q29udGVudCgpOwogICAgICAgICAgICAkYWpheF91cmwgPSAkdGhpcy0+X21vZC0+Y3JlYXRlX3VybCggJ2NudG50MDEnLCAnYWpheF91cGxvYWQnLCAkcGFnZV9pZCApOwogICAgICAgICAgICAkYWpheF91cmwgPSBzdHJfcmVwbGFjZSgnYW1wOycsJycsJGFqYXhfdXJsKS4nJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CiAgICAgICAgICAgICRzcmNfZmlsZXVwbG9hZCA9ICR0aGlzLT5maWxlbmFtZV90b191cmwoICR0aGlzLT5fbW9kLT5maW5kX21vZHVsZV9maWxlKCAnanMvanF1ZXJ5LlNNVEZNVXBsb2FkSGFuZGxlci5qcycpICk7CiAgICAgICAgICAgICRlbGVtID0gJHRoaXMtPmFkZEZpbGVTY3JpcHROb2RlKCAkc3JjX2ZpbGV1cGxvYWQgKTsKICAgICAgICAgICAgJGVsZW0tPnNldEF0dHJpYnV0ZSgnZm9vJywnYmFyJyk7CiAgICAgICAgICAgICRlbGVtLT5zZXRBdHRyaWJ1dGUoJ2RhdGEtc210Zm0tdXBsb2FkdXJsJywkYWpheF91cmwpOwogICAgICAgICAgICAkaGF2ZV9maWxldXBsb2FkID0gMTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmFkZEZpbGVTY3JpcHROb2RlKCAkc3JjX2V2ZXJ5dGltZSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRIVE1MKCkKICAgIHsKICAgICAgICAkb3V0ID0gJHRoaXMtPl9kb20tPnNhdmVIVE1MKCk7CiAgICAgICAgJG91dCA9IHByZWdfcmVwbGFjZSgnfjwoPzohRE9DVFlQRXwvPyg/Omh0bWx8aGVhZHxib2R5KSlbXj5dKj5ccyp+aScsICcnLCAkb3V0KTsKICAgICAgICAkb3V0ID0gcHJlZ19yZXBsYWNlKCd+PFw/eG1sW14+XSpcPz5ccyp+JywgJycsICRvdXQpOwogICAgICAgIHJldHVybiAkb3V0OwogICAgfQp9IC8vIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.FormResponse.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBGb3JtUmVzcG9uc2UKewogICAgcHJpdmF0ZSAkX2RhdGE7CiAgICBwcml2YXRlICRfZmlsZXMgPSBbXTsKICAgIHByaXZhdGUgJF9ndWlkOwogICAgcHJpdmF0ZSAkX3RpbWU7CiAgICBwcml2YXRlICRfY2FuX2NsZWFudXAgPSB0cnVlOwogICAgcHJpdmF0ZSAkX2ZpZWxkX25hbWVzOwogICAgcHJpdmF0ZSAkX2Zvcm1faWQ7CiAgICBwcml2YXRlICRfbW9kaWZpZWQ7CiAgICBwcml2YXRlICRfZm9ybTsKICAgIHByaXZhdGUgJF9maW5hbF91cmw7CiAgICBwcml2YXRlICRfdHJhbnNsYXRvcjsKICAgIHByaXZhdGUgJF9ob25leXBvdF92YWx1ZTsKICAgIHByaXZhdGUgJF9lcnJvcnM7CiAgICBwcml2YXRlICRfcmVwbHl0b19hZGRyZXNzOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXMgJG1vZCwgRm9ybSAkZm9ybSwgJGd1aWQgPSBudWxsLCBhcnJheSAkaW5wdXQgPSBudWxsKQogICAgewogICAgICAgIC8vIHRvZG86IHRoaXMgc2hvdWxkIGJlIGEgdmFsdWUgb2JqZWN0LgogICAgICAgIC8vIHRoZSBnYXRoZXIgc3R1ZmYgc2hvdWxkIGJlIGluIGEgZmFjdG9yeSBjbGFzcy9mdW5jdGlvbi4KICAgICAgICAkdGhpcy0+X2ZpZWxkX25hbWVzID0gJGZvcm0tPmdldF9maWVsZG5hbWVzKCk7CiAgICAgICAgJHRoaXMtPl90aW1lID0gXHRpbWUoKTsKICAgICAgICAkdGhpcy0+X2Zvcm1faWQgPSAkZm9ybS0+aWQ7CiAgICAgICAgJHRoaXMtPmluaXRpYWxpemUoICRtb2QsICRmb3JtLCAkZ3VpZCApOwogICAgICAgIGlmKCBcaXNfYXJyYXkoJGlucHV0KSApICR0aGlzLT5nYXRoZXJfaW5wdXQoJGZvcm0sICRpbnB1dCApOwogICAgICAgIGlmKCAkZm9ybS0+cmVwbHl0b19maWVsZCApIHsKICAgICAgICAgICAgJHRoaXMtPl9yZXBseXRvX2FkZHJlc3MgPSAkdGhpcy0+Z2V0X2ZpZWxkX3ZhbHVlKCAkZm9ybS0+cmVwbHl0b19maWVsZCApOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+X3RyYW5zbGF0b3IgPSAkbW9kLT5nZXRfdHJhbnNsYXRvcigpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbml0aWFsaXplKCBcU21hcnRGb3JtcyAkbW9kLCBGb3JtICRmb3JtLCAkZ3VpZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9maWVsZF9uYW1lc1tdID0gJ3NtdGZtX3N1Ym1pdF90aW1lJzsKICAgICAgICAkdGhpcy0+X2ZpZWxkX25hbWVzW10gPSAnc210Zm1fc3VibWl0X2lwJzsKICAgICAgICAkdGhpcy0+X2ZpZWxkX25hbWVzW10gPSAnc210Zm1fdmVyc2lvbic7CiAgICAgICAgJHRoaXMtPl9maWVsZF9uYW1lc1tdID0gJ3NtdGZtX2Zvcm1uYW1lJzsKICAgICAgICAkdGhpcy0+X2ZpZWxkX25hbWVzW10gPSAnc210Zm1fZm9ybWRlc2MnOwogICAgICAgICR0aGlzLT5fZmllbGRfbmFtZXNbXSA9ICdzbXRmbV9yZXF1ZXN0aWQnOwogICAgICAgICR0aGlzLT5fZGF0YVsnc210Zm1fc3VibWl0X3RpbWUnXSA9ICR0aGlzLT5nZXRfdGltZSgpOwogICAgICAgICR0aGlzLT5fZGF0YVsnc210Zm1fc3VibWl0X2lwJ10gPSBceHRfdXRpbHM6OmdldF9yZWFsX2lwKCk7CiAgICAgICAgJHRoaXMtPl9kYXRhWydzbXRmbV92ZXJzaW9uJ10gPSAkbW9kLT5HZXRWZXJzaW9uKCk7CiAgICAgICAgJHRoaXMtPl9kYXRhWydzbXRmbV9mb3JtbmFtZSddID0gJGZvcm0tPm5hbWU7CiAgICAgICAgJHRoaXMtPl9kYXRhWydzbXRmbV9mb3JtZGVzYyddID0gJGZvcm0tPmRlc2NyaXB0aW9uOwogICAgICAgICR0aGlzLT5fZGF0YVsnc210Zm1fcmVxdWVzdGlkJ10gPSAkZ3VpZDsKICAgICAgICAkdGhpcy0+X2d1aWQgPSAkZ3VpZDsKICAgIH0KICAKICBwcm90ZWN0ZWQgZnVuY3Rpb24gY2xlYW5faW5wdXQoJGl0ZW0pCiAgewogICAgJGl0ZW0gPSBcZmlsdGVyX3ZhcigkaXRlbSk7CiAgICAkaXRlbSA9IFxodG1sc3BlY2lhbGNoYXJzKCRpdGVtKTsKICAgICRpdGVtID0gXHRyaW0oJGl0ZW0pOwogICAgCiAgICByZXR1cm4gXGNtc19odG1sX2VudGl0eV9kZWNvZGUoJGl0ZW0pOwogIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2F0aGVyX2FzeW5jX3VwbG9hZHMoIEZvcm0gJGZvcm0sIGFycmF5ICRpbnB1dCApCiAgICB7CiAgICAgICAgJGd1aWQgPSAkdGhpcy0+X2d1aWQ7CiAgICAgICAgJHRtcF9sb2NhdGlvbiA9IFxUTVBfQ0FDSEVfTE9DQVRJT04gLiAnLycgLiAkZ3VpZDsKICAgICAgICBpZiggIVxpc19kaXIoJHRtcF9sb2NhdGlvbiApICkgcmV0dXJuOwoKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJGZvcm0tPmZpZWxkcyBhcyAkZmllbGQgKSB7CiAgICAgICAgICAgIGlmKCAkZmllbGQtPnR5cGUgIT0gJ2ZpbGUnICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCBlbXB0eSggJGlucHV0WyRmaWVsZC0+bmFtZV0gKSApIGNvbnRpbnVlOyAvLyBubyBhc3luYyB1cGxvYWRzCgogICAgICAgICAgICBpZiggaXNfYXJyYXkoJGlucHV0WyRmaWVsZC0+bmFtZV0pICkgewogICAgICAgICAgICAgICAgJGFyciA9IFtdOwogICAgICAgICAgICAgICAgZm9yZWFjaCggJGlucHV0WyRmaWVsZC0+bmFtZV0gYXMgJHN0ciApIHsKICAgICAgICAgICAgICAgICAgICBbJHRtcF9uYW1lLCRkZXN0X25hbWVdID0gZXhwbG9kZSgnOnw6Jywkc3RyKTsKICAgICAgICAgICAgICAgICAgICBpZiggISR0bXBfbmFtZSB8fCAhJGRlc3RfbmFtZSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICR0bXBfZmlsZSA9ICR0bXBfbG9jYXRpb24uJy8nLiR0bXBfbmFtZTsKICAgICAgICAgICAgICAgICAgICBpZiggIWlzX2ZpbGUoICR0bXBfZmlsZSApICkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgJHJlYyA9IFsndG1wX25hbWUnPT4kdG1wX25hbWUsICduYW1lJz0+JGRlc3RfbmFtZSwgJ2Vycm9yJz0+MCwgJ3NpemUnPT5maWxlc2l6ZSggJHRtcF9maWxlICksICdtaW1lX3R5cGUnPT5ceHRfdXRpbHM6OmdldF9taW1lX3R5cGUoICR0bXBfZmlsZSApIF07CiAgICAgICAgICAgICAgICAgICAgJGFycltdID0gJHJlYzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmKCBjb3VudCgkYXJyKSApICRvdXRbJGZpZWxkLT5uYW1lXSA9ICRhcnI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBbJHRtcF9uYW1lLCRkZXN0X25hbWVdID0gZXhwbG9kZSgnOnw6JywkaW5wdXRbJGZpZWxkLT5uYW1lXSk7CiAgICAgICAgICAgICAgICBpZiggISR0bXBfbmFtZSB8fCAhJGRlc3RfbmFtZSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgJHRtcF9maWxlID0gJHRtcF9sb2NhdGlvbi4nLycuJHRtcF9uYW1lOwogICAgICAgICAgICAgICAgaWYoICFpc19maWxlKCAkdG1wX2ZpbGUgKSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgJHJlYyA9IFsndG1wX25hbWUnPT4kdG1wX25hbWUsICduYW1lJz0+JGRlc3RfbmFtZSwgJ2Vycm9yJz0+MCwgJ3NpemUnPT5maWxlc2l6ZSggJHRtcF9maWxlICksICdtaW1lX3R5cGUnPT5ceHRfdXRpbHM6OmdldF9taW1lX3R5cGUoICR0bXBfZmlsZSApIF07CiAgICAgICAgICAgICAgICAkb3V0WyRmaWVsZC0+bmFtZV0gPSBbICRyZWMgXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2F0aGVyX3VwbG9hZHMoIEZvcm0gJGZvcm0sIGFycmF5ICRpbnB1dCApCiAgICB7CiAgICAgICAgLy8gcmVzdHJ1Y3R1cmVzIHRoZSAkX0ZJTEVTIGRhdGEgaW50byBzb21ldGhpbmcgbW9yZSBzYW5lLgogICAgICAgICRvdXQgPSAkdGhpcy0+Z2F0aGVyX2FzeW5jX3VwbG9hZHMoICRmb3JtLCAkaW5wdXQgKTsKICAgICAgICBmb3JlYWNoKCAkX0ZJTEVTIGFzICRmaWVsZF9uYW1lID0+ICRyZWMgKSB7CiAgICAgICAgICAgIGlmKCBpc19zdHJpbmcoJHJlY1snbmFtZSddKSApIHsKICAgICAgICAgICAgICAgICRvdXRbJGZpZWxkX25hbWVdID0gWyAkcmVjIF07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAka2V5cyA9IGFycmF5X2tleXMoJHJlYyk7CiAgICAgICAgICAgICAgICAkb3V0MiA9IFtdOwogICAgICAgICAgICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHJlY1snbmFtZSddKTsgJGkrKyApIHsKICAgICAgICAgICAgICAgICAgICAkbmV3X3JlYyA9IFtdOwogICAgICAgICAgICAgICAgICAgIGZvcmVhY2goICRrZXlzIGFzICRrZXkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRuZXdfcmVjWyRrZXldID0gJHJlY1ska2V5XVskaV07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICRvdXQyW10gPSAkbmV3X3JlYzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRvdXRbJGZpZWxkX25hbWVdID0gJG91dDI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdhdGhlcl9pbnB1dCggRm9ybSAkZm9ybSwgYXJyYXkgJGlucHV0ICkKICAgIHsKICAgICAgICAkdGhpcy0+X2hvbmV5cG90X3ZhbHVlID0gbWQ1KF9fRklMRV9fKTsKICAgICAgICBpZiggXHh0X3BhcmFtOjpleGlzdHMoICRpbnB1dCwgJ19faHBuYW1lJykgKSAkdGhpcy0+X2hvbmV5cG90X3ZhbHVlID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCAkaW5wdXQsICdfX2hwbmFtZScgKTsKCiAgICAgICAgJHVwbG9hZGVkID0gJHRoaXMtPmdhdGhlcl91cGxvYWRzKCAkZm9ybSwgJGlucHV0ICk7CiAgICAgICAgZm9yZWFjaCggJGZvcm0tPmZpZWxkcyBhcyAkZmllbGQgKSB7CiAgICAgICAgICAgICRuYW1lID0gJGZpZWxkLT5uYW1lOwogICAgICAgICAgICBpZiggJGZpZWxkLT50eXBlID09ICdmaWxlJyApIHsKICAgICAgICAgICAgICAgIGlmKCBpc3NldCggJHVwbG9hZGVkWyRuYW1lXSkgKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoICFpc3NldCgkdXBsb2FkZWRbJG5hbWVdKSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICR0aGlzLT5fZmlsZXNbJG5hbWVdID0gJHVwbG9hZGVkWyRuYW1lXTsKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoKCAkdXBsb2FkZWRbJG5hbWVdIGFzICRyZWMgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAkcmVjWydlcnJvciddID4gMCB8fCAkcmVjWydzaXplJ10gPT0gMCB8fCAkcmVjWydlcnJvciddID4gMCApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiggJGZpZWxkLT5tdWx0aXBsZSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWyRuYW1lXSkgKSAkdGhpcy0+X2RhdGFbJG5hbWVdID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X2RhdGFbJG5hbWVdW10gPSAkcmVjWyduYW1lJ107CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X2RhdGFbJG5hbWVdID0gJHJlY1snbmFtZSddOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJHZhbCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZiggKCRkYXRhID0gXHh0X3V0aWxzOjpnZXRfcGFyYW0oICRpbnB1dCwgJG5hbWUpKSApIHsKICAgICAgICAgICAgICAgICAgICBpZiggaXNfYXJyYXkoICRkYXRhICkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3dhbGtfcmVjdXJzaXZlKCAkZGF0YSwgZnVuY3Rpb24oJiRpdGVtLCRrZXkpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpdGVtID0gJHRoaXMtPmNsZWFuX2lucHV0KCRpdGVtKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAkb3V0ID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2goICRkYXRhIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb25lID0gdHJpbSgkb25lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAkb25lICkgJG91dFtdID0gJG9uZTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAkdmFsID0gJG91dDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNpbmdsZSB2YWx1ZS4KICAgICAgICAgICAgICAgICAgICAgICAgJHZhbCA9ICR0aGlzLT5jbGVhbl9pbnB1dCgkZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRuYW1lXSA9ICR2YWw7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9mb3JtX2lkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9mb3JtX2lkOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdGltZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdGltZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3JlcXVlc3RpZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZ3VpZDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3RyYW5zbGF0b3IoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3RyYW5zbGF0b3I7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGxpc3RfZmllbGRzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9maWVsZF9uYW1lczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkX2ZpZWxkKCAkbmFtZSApCiAgICB7CiAgICAgICAgJG5hbWUgPSB0cmltKCRuYW1lKTsKICAgICAgICBpZiggIWluX2FycmF5KCAkbmFtZSwgJHRoaXMtPl9maWVsZF9uYW1lcyApICkgJHRoaXMtPl9maWVsZF9uYW1lc1tdID0gJG5hbWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNhbl9jbGVhbnVwKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9jYW5fY2xlYW51cDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGlzYWJsZV9jbGVhbigpCiAgICB7CiAgICAgICAgJHRoaXMtPl9jYW5fY2xlYW51cCA9IGZhbHNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZmluYWxfdXJsKCAkdXJsICkKICAgIHsKICAgICAgICAvLyBjYW4gb25seSBiZSBzZXQgb25jZSBmb3IgYSByZXNwb25zZS4uLgogICAgICAgIC8vIG1heSBiZSBzZXQgZnJvbSBhIGRpc3Bvc2l0aW9uLgogICAgICAgICR0aGlzLT5fZmluYWxfdXJsID0gJHVybDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKICAgIHsKICAgICAgICAkZmllbGRzID0gJHRoaXMtPmxpc3RfZmllbGRzKCk7CiAgICAgICAgaWYoIHN0YXJ0c3dpdGgoJGtleSwnXycpICkgJGtleSA9IHN1YnN0cigka2V5LDEpOwogICAgICAgIGlmKCBpbl9hcnJheSgka2V5LCRmaWVsZHMpICYmIGFycmF5X2tleV9leGlzdHMoJGtleSwkdGhpcy0+X2RhdGEpICkgcmV0dXJuICR0aGlzLT5fZGF0YVska2V5XTsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnZm9ybV9uYW1lJzoKICAgICAgICBjYXNlICdmb3JtJzoKICAgICAgICBjYXNlICdmb3JtbmFtZSc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+c210Zm1fZm9ybW5hbWU7CiAgICAgICAgY2FzZSAncmVtb3RlX2lwJzoKICAgICAgICBjYXNlICdpcF9hZGRyZXNzJzoKICAgICAgICBjYXNlICdpcGFkZHJlc3MnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnNtdGZtX3N1Ym1pdF9pcDsKICAgICAgICBjYXNlICdzdWJtaXRfdGltZSc6CiAgICAgICAgY2FzZSAnc3VibWl0X2RhdGUnOgogICAgICAgIGNhc2UgJ2RhdGUnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnNtdGZtX3N1Ym1pdF90aW1lOwogICAgICAgIGNhc2UgJ3ZlcnNpb24nOgogICAgICAgIGNhc2UgJ3NtdGZtX3ZlcnNpb24nOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnNtdGZtX3ZlcnNpb247CiAgICAgICAgY2FzZSAncmVxdWVzdF9pZCc6CiAgICAgICAgY2FzZSAnZ3VpZCc6CiAgICAgICAgY2FzZSAnc210Zm1fcmVxdWVzdGlkJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5zbXRmbV9yZXF1ZXN0aWQ7CiAgICAgICAgY2FzZSAnZmluYWxfdXJsJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZmluYWxfdXJsOwogICAgICAgIGNhc2UgJ19faHBuYW1lJzoKICAgICAgICBjYXNlICdob25leXBvdCc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2hvbmV5cG90X3ZhbHVlOwogICAgICAgIGNhc2UgJ3JlcGx5dG9fYWRkcmVzcyc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3JlcGx5dG9fYWRkcmVzczsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIG1vZGlmeV92YWx1ZSgka2V5LCR2YWwpCiAgICB7CiAgICAgICAgLy8ga2V5IGlzIGEgc3RyaW5nLCAgdmFsIGlzIG51bGx8c3RyaW5nfHN0cmluZ1tdCiAgICAgICAgJGtleSA9IHRyaW0oJGtleSk7CiAgICAgICAgaWYoICFpc19hcnJheSgkdmFsKSApIHsKICAgICAgICAgICAgJHZhbCA9IGlzX251bGwoJHZhbCkgPyBudWxsIDogdHJpbSgkdmFsKTsKICAgICAgICB9CiAgICAgICAgaWYoICEka2V5ICkgcmV0dXJuOwoKICAgICAgICBpZiggIWluX2FycmF5KCRrZXksJHRoaXMtPl9maWVsZF9uYW1lcykgKSByZXR1cm47CiAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbDsKICAgICAgICAkdGhpcy0+X21vZGlmaWVkID0gVFJVRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNfbW9kaWZpZWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZGlmaWVkOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBsaXN0X2ZpbGVzKCRuYW1lID0gbnVsbCkKICAgIHsKICAgICAgICAvLyBmaWVsZCBuYW1lCiAgICAgICAgJG5hbWUgPSAkbmFtZSA/PyAnJzsKICAgICAgICAkbmFtZSA9IFx0cmltKCRuYW1lKTsKICAgICAgICBpZiggISRuYW1lICkgcmV0dXJuICR0aGlzLT5fZmlsZXM7CgogICAgICAgIGlmKCBpc3NldCgkdGhpcy0+X2ZpbGVzWyRuYW1lXSkgKSByZXR1cm4gJHRoaXMtPl9maWxlc1skbmFtZV07CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhc19maWxlKCRuYW1lKQogICAgewogICAgICAgIC8vIGZpZWxkIG5hbWUKICAgICAgICAkbmFtZSA9ICRuYW1lID8/ICcnOwogICAgICAgICRuYW1lID0gdHJpbSgkbmFtZSk7CiAgICAgICAgaWYoICEkbmFtZSApIHJldHVybjsKCiAgICAgICAgcmV0dXJuIChib29sKSAkdGhpcy0+bGlzdF9maWxlcyggJG5hbWUgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX3VwbG9hZHMoKQogICAgewogICAgICAgIHJldHVybiAoY291bnQoJHRoaXMtPl9maWxlcykgPiAwICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9maWxlX2FzX3VybCgkbmFtZSkKICAgIHsKICAgICAgICAvLyB0aGVyZSBtYXkgYmUgbXVsdGlwbGUgZmlsZXMgZm9yIG9uZSBmaWVsZC4KICAgICAgICAkY29uZmlnID0gXGNtc19jb25maWc6OmdldF9pbnN0YW5jZSgpOwogICAgICAgICRvdXQgPSBbXTsKICAgICAgICAkZmlsZXMgPSAkdGhpcy0+Z2V0X2ZpZWxkX3ZhbHVlKCRuYW1lKTsKICAgICAgICBpZiggISRmaWxlcyApIHJldHVybjsKICAgICAgICBpZiggIWlzX2FycmF5KCRmaWxlcykgKSAkZmlsZXMgPSBbICRmaWxlcyBdOwogICAgICAgIGZvcmVhY2goICRmaWxlcyBhcyAkZmlsZSApIHsKICAgICAgICAgICAgJHN0ciA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRmaWxlKTsKICAgICAgICAgICAgJHVybCA9IHN0cl9yZXBsYWNlKCRjb25maWdbJ3Jvb3RfcGF0aCddLCRjb25maWdbJ3Jvb3RfdXJsJ10sJHN0cik7CiAgICAgICAgICAgICRvdXRbXSA9ICR1cmw7CiAgICAgICAgfQoKICAgICAgICBpZiggY291bnQoJG91dCkgPT0gMSApIHJldHVybiAkb3V0WzBdOwogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZmllbGRfdmFsdWUoJGtleSkKICAgIHsKICAgICAgJGtleSA9ICRrZXkgPz8gJyc7CiAgICAgICAgJGtleSA9IHRyaW0oJGtleSk7CiAgICAgICAgaWYoICEka2V5ICkgcmV0dXJuOwoKICAgICAgICBpZiggXGFycmF5X2tleV9leGlzdHMoJGtleSwgJHRoaXMtPl9kYXRhICkgKSByZXR1cm4gJHRoaXMtPl9kYXRhWyRrZXldOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRfZXJyb3IoJG1zZykKICAgIHsKICAgICAgJG1zZyA9ICRtc2cgPz8gJyc7CiAgICAgICAgJG1zZyA9IHRyaW0oJG1zZyk7CiAgICAgICAgaWYoICEkbXNnICkgcmV0dXJuOwoKICAgICAgICAkdGhpcy0+X2Vycm9yc1tdID0gJG1zZzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX2Vycm9ycygpCiAgICB7CiAgICAgICAgcmV0dXJuICFlbXB0eSgkdGhpcy0+X2Vycm9ycyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFzX2FycmF5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kYXRhOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.FormScanner.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBGb3JtU2Nhbm5lciBpbXBsZW1lbnRzIElGb3JtU2Nhbm5lcgp7CiAgICBjb25zdCBDQVBUQ0hBX0FUVFJJQlVURSA9ICdkYXRhLXNtdGZtLWNhcHRjaGEnOwogICAgY29uc3QgU0tJUF9DQVBUQ0hBX0FUVFJJQlVURSA9ICdkYXRhLXNtdGZtLW5vY2FwdGNoYSc7CgogICAgcHJpdmF0ZSAkX2h0bWw7CiAgICBwcml2YXRlICRfdHI7CiAgICBwcml2YXRlICRfZm9ybXMgPSBbXTsKICAgIHByaXZhdGUgJF9pbnB1dHMgPSBbXTsKICAgIHByaXZhdGUgJF9sYWJlbHMgPSBbXTsKICAgIHByaXZhdGUgJF9oYXNfY2FwdGNoYSA9IGZhbHNlOwogICAgcHJpdmF0ZSAkX3NraXBfY2FwdGNoYSA9IGZhbHNlOwogICAgcHJpdmF0ZSAkX2Vycm9yczsKICAgIHByaXZhdGUgJF9yZXBseXRvOyAvLyB0aGUgbmFtZSBvZiBhIGZpZWxkIHRoYXQgd2lsbCBjb250YWluIHRoZSByZXBseSB0byBhZGRyZXNzLgoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggJGh0bWxfY29udGVudHMsIFRyYW5zbGF0b3IgJHRyICkKICAgIHsKICAgICAgICAkdGhpcy0+X3RyID0gJHRyOwogICAgICAgICRodG1sX2NvbnRlbnRzID0gdHJpbSggJGh0bWxfY29udGVudHMgKTsKICAgICAgICBpZiggISRodG1sX2NvbnRlbnRzICkgdGhyb3cgbmV3IEZvcm1TY2FubmVyRXJyb3IoJ2Vycl9ub2NvbnRlbnRzJyk7CiAgICAgICAgJHRoaXMtPl9odG1sID0gJGh0bWxfY29udGVudHM7CiAgICAgICAgJHRoaXMtPnBhcnNlKCk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldFBhcmVudExhYmVsKFxET01Ob2RlICRub2RlKQogICAgewogICAgICAgICRub2RlID0gJG5vZGUtPnBhcmVudE5vZGU7CiAgICAgICAgaWYoICEkbm9kZSApIHJldHVybjsKCiAgICAgICAgJG5hbWUgPSBzdHJ0b2xvd2VyKCRub2RlLT5ub2RlTmFtZSk7CiAgICAgICAgaWYoICRuYW1lICE9ICdsYWJlbCcgKSByZXR1cm47CiAgICAgICAgcmV0dXJuICRub2RlLT5ub2RlVmFsdWU7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGV4dHJhY3RGb3JtKFxET01Ob2RlICRub2RlKQogICAgewogICAgICAgICRmbGQgPSBuZXcgRE9NRm9ybUZpZWxkKCRub2RlKTsKICAgICAgICByZXR1cm4gJGZsZDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZXh0cmFjdElucHV0KFxEb21Ob2RlICRub2RlKQogICAgewogICAgICAgICRmbGQgPSBuZXcgRE9NSW5wdXRGaWVsZCgkbm9kZSk7CiAgICAgICAgJG5hbWUgPSAkZmxkLT5nZXRfYXR0cmlidXRlKCduYW1lJyk7CiAgICAgICAgaWYoICEkdGhpcy0+X3JlcGx5dG8gJiYgJG5hbWUgKSB7CiAgICAgICAgICAgIGlmKCAkZmxkLT5oYXNfYXR0cmlidXRlKCdkYXRhLXNtdGZtLXJlcGx5dG8nKSApICR0aGlzLT5fcmVwbHl0byA9ICRuYW1lOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGZsZDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZXh0cmFjdEJ1dHRvbihcRG9tTm9kZSAkbm9kZSkKICAgIHsKICAgICAgICAkZmxkID0gbmV3IERPTUJ1dHRvbkZpZWxkKCRub2RlKTsKICAgICAgICByZXR1cm4gJGZsZDsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZXh0cmFjdFRleHRBcmVhKFxEb21Ob2RlICRub2RlKQogICAgewogICAgICAgICRmbGQgPSBuZXcgRE9NVGV4dEFyZWFGaWVsZCgkbm9kZSk7CiAgICAgICAgcmV0dXJuICRmbGQ7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGV4dHJhY3RTZWxlY3QoXERvbU5vZGUgJG5vZGUpCiAgICB7CiAgICAgICAgJGZsZCA9IG5ldyBET01TZWxlY3RGaWVsZCggJG5vZGUgKTsKICAgICAgICBmb3JlYWNoKCAkbm9kZS0+Y2hpbGROb2RlcyBhcyAkbm9kZSApIHsKICAgICAgICAgICAgJG5hbWUgPSBzdHJ0b2xvd2VyKCAkbm9kZS0+bm9kZU5hbWUgKTsKICAgICAgICAgICAgaWYoICRuYW1lICE9ICdvcHRpb24nICkgY29udGludWU7CiAgICAgICAgICAgICRvcHRpb24gPSBuZXcgRE9NU2VsZWN0T3B0aW9uKCAkbm9kZSApOwogICAgICAgICAgICAkZmxkLT5hZGRfb3B0aW9uKCAkb3B0aW9uICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkZmxkOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBleHRyYWN0TGFiZWwoXERPTU5vZGUgJG5vZGUpCiAgICB7CiAgICAgICAgJGZsZCA9IG5ldyBET01MYWJlbEZpZWxkKCAkbm9kZSApOwogICAgICAgIHJldHVybiAkZmxkOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpc0NhcHRjaGFDb250YWluZXIoXERPTU5vZGUgJG5vZGUpCiAgICB7CiAgICAgICAgLy8gbG9vayBmb3IgdGhlIGRhdGEtc210Zm0tY2FwdGNoYSBhdHRyaWJ1dGUKICAgICAgICBmb3JlYWNoKCAkbm9kZS0+YXR0cmlidXRlcyBhcyAkYXR0ciApIHsKICAgICAgICAgICAgaWYoICRhdHRyLT5sb2NhbE5hbWUgPT0gc2VsZjo6Q0FQVENIQV9BVFRSSUJVVEUgKSByZXR1cm4gVFJVRTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGlzU2tpcENhcHRjaGFtYXJrZXIoXERPTU5vZGUgJG5vZGUpCiAgICB7CiAgICAgICAgLy8gbG9vayBmb3IgdGhlIGRhdGEtc210Zm0tY2FwdGNoYSBhdHRyaWJ1dGUKICAgICAgICBmb3JlYWNoKCAkbm9kZS0+YXR0cmlidXRlcyBhcyAkYXR0ciApIHsKICAgICAgICAgICAgaWYoICRhdHRyLT5sb2NhbE5hbWUgPT0gc2VsZjo6U0tJUF9DQVBUQ0hBX0FUVFJJQlVURSApIHJldHVybiBUUlVFOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZXh0cmFjdEZpZWxkcyhcRG9tTm9kZSAkcGFyZW50KQogICAgewogICAgICAgIGZvcmVhY2goICRwYXJlbnQtPmNoaWxkTm9kZXMgYXMgJG5vZGUpIHsKICAgICAgICAgICAgJG5hbWUgPSBzdHJ0b2xvd2VyKCRub2RlLT5ub2RlTmFtZSk7CiAgICAgICAgICAgIHN3aXRjaCggJG5hbWUgKSB7CiAgICAgICAgICAgIGNhc2UgJ2Rpdic6CiAgICAgICAgICAgIGNhc2UgJ3AnOgogICAgICAgICAgICAgICAgaWYoICR0aGlzLT5pc0NhcHRjaGFDb250YWluZXIoICRub2RlICkgKSAkdGhpcy0+X2hhc19jYXB0Y2hhID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGlmKCAkdGhpcy0+aXNTa2lwQ2FwdGNoYU1hcmtlciggJG5vZGUgKSApICR0aGlzLT5fc2tpcF9jYXB0Y2hhID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdmb3JtJzoKICAgICAgICAgICAgICAgICRyZWMgPSAkdGhpcy0+ZXh0cmFjdEZvcm0oICRub2RlICk7CiAgICAgICAgICAgICAgICAkdGhpcy0+X2Zvcm1zW10gPSAkcmVjOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2lucHV0JzoKICAgICAgICAgICAgICAgICRyZWMgPSAkdGhpcy0+ZXh0cmFjdElucHV0KCAkbm9kZSApOwogICAgICAgICAgICAgICAgJHRoaXMtPl9pbnB1dHNbXSA9ICRyZWM7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnYnV0dG9uJzoKICAgICAgICAgICAgICAgICRyZWMgPSAkdGhpcy0+ZXh0cmFjdEJ1dHRvbiggJG5vZGUgKTsKICAgICAgICAgICAgICAgICR0aGlzLT5faW5wdXRzW10gPSAkcmVjOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgICAgICAgICAgICRyZWMgPSAkdGhpcy0+ZXh0cmFjdFRleHRBcmVhKCAkbm9kZSApOwogICAgICAgICAgICAgICAgJHRoaXMtPl9pbnB1dHNbXSA9ICRyZWM7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnc2VsZWN0JzoKICAgICAgICAgICAgICAgICRyZWMgPSAkdGhpcy0+ZXh0cmFjdFNlbGVjdCggJG5vZGUgKTsKICAgICAgICAgICAgICAgICR0aGlzLT5faW5wdXRzW10gPSAkcmVjOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2xhYmVsJzoKICAgICAgICAgICAgICAgICRyZWMgPSAkdGhpcy0+ZXh0cmFjdExhYmVsKCAkbm9kZSApOwogICAgICAgICAgICAgICAgaWYoICRyZWMgKSAkdGhpcy0+X2xhYmVsc1tdID0gJHJlYzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCAkbm9kZS0+aGFzQ2hpbGROb2RlcygpICkgJHRoaXMtPmV4dHJhY3RGaWVsZHMoICRub2RlICk7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzZXRMYWJlbHMoIGFycmF5ICRpbnB1dHMsIGFycmF5ICRsYWJlbHMgKQogICAgewogICAgICAgIC8vIGdpdmVuIGFuIGFycmF5IG9mIGlucHV0cywgYW5kIGxhYmVscy4uIGZvciBpbnB1dHMgd2l0aCBpZCdzLi4gc2V0IHRoZSBsYWJlbCBlbGVtZW50CiAgICAgICAgZm9yZWFjaCggJGlucHV0cyBhcyAmJGlucHV0ICkgewogICAgICAgICAgICBpZiggISgkaWQgPSAkaW5wdXQtPmdldF9hdHRyaWJ1dGUoJ2lkJykpICkgY29udGludWU7CiAgICAgICAgICAgIGZvcmVhY2goICRsYWJlbHMgYXMgJGxhYmVsICkgewogICAgICAgICAgICAgICAgJGZvciA9ICRsYWJlbC0+Z2V0X2F0dHJpYnV0ZSgnZm9yJyk7CiAgICAgICAgICAgICAgICBpZiggJGxhYmVsLT5nZXRfYXR0cmlidXRlKCdmb3InKSA9PSAkaWQgKSB7CiAgICAgICAgICAgICAgICAgICAgJHZhbCA9ICRsYWJlbC0+Z2V0X3ZhbHVlKCk7CiAgICAgICAgICAgICAgICAgICAgJHZhbCA9IHRyaW0ocnRyaW0odHJpbSgkdmFsKSwnOicpKTsKICAgICAgICAgICAgICAgICAgICAkaW5wdXQtPnNldF9sYWJlbCgkdmFsKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJGlucHV0czsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcGFyc2VfZXJyb3JzKCBhcnJheSAkZXJyb3JzID0gbnVsbCApCiAgICB7CiAgICAgICAgaWYoICFjb3VudCgkZXJyb3JzKSApIHJldHVybjsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJGVycm9ycyBhcyAkb2JqICkgewogICAgICAgICAgICBzd2l0Y2goICRvYmotPmxldmVsICkgewogICAgICAgICAgICBjYXNlIExJQlhNTF9FUlJfV0FSTklORzoKICAgICAgICAgICAgICAgICRvdXRbXSA9IHNwcmludGYoIldBUk5JTkc6ICVzIGF0IGFib3V0IGxpbmUgJWQgY29sdW1uICVkIix0cmltKCRvYmotPm1lc3NhZ2UpLCRvYmotPmxpbmUsJG9iai0+Y29sdW1uKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIExJQlhNTF9FUlJfRVJST1I6CiAgICAgICAgICAgICAgICBpZiggJG9iai0+Y29kZSA9PSA4MDEgKSB7CiAgICAgICAgICAgICAgICAgICAgJG91dFtdID0gc3ByaW50ZigiRVJST1I6ICVzIGF0IGFib3V0IGxpbmUgJWQgY29sdW1uICVkLiAgKFBIUCdzIGxpYnhtbCBkb2VzIG5vdCB1bmRlcnN0YW5kIEhUTUw1IGVsZW1lbnRzKSIsdHJpbSgkb2JqLT5tZXNzYWdlKSwkb2JqLT5saW5lLCRvYmotPmNvbHVtbik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkb3V0W10gPSBzcHJpbnRmKCJFUlJPUjogJXMgYXQgYWJvdXQgbGluZSAlZCBjb2x1bW4gJWQiLHRyaW0oJG9iai0+bWVzc2FnZSksJG9iai0+bGluZSwkb2JqLT5jb2x1bW4pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgTElCWE1MX0VSUl9GQVRBTDoKICAgICAgICAgICAgICAgICRvdXRbXSA9IHNwcmludGYoIkZBVEFMOiAlcyBhdCBhYm91dCBsaW5lICVkIGNvbHVtbiAlZCIsdHJpbSgkb2JqLT5tZXNzYWdlKSwkb2JqLT5saW5lLCRvYmotPmNvbHVtbik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICRvdXRbXSA9IHNwcmludGYoIk5PVElDRTogJXMgYXQgYWJvdXQgbGluZSAlZCBjb2x1bW4gJWQiLHRyaW0oJG9iai0+bWVzc2FnZSksJG9iai0+bGluZSwkb2JqLT5jb2x1bW4pOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHBhcnNlKCkKICAgIHsKICAgICAgICAvLyBub3RlOiBtYXkgbmVlZCB0byBzZXR1cCBhbiBlcnJvciBoYW5kbGVyIGhlcmUgdGhhdCB0aHJvd3MgZXhjZXB0aW9ucwogICAgICAgICRkb20gPSBuZXcgXERvbURvY3VtZW50KCk7CiAgICAgICAgJG9yaWcgPSBpbmlfZ2V0KCdkaXNwbGF5X2Vycm9ycycpOwogICAgICAgIEBpbmlfc2V0KCdkaXNwbGF5X2Vycm9ycycsMCk7CiAgICAgICAgbGlieG1sX3VzZV9pbnRlcm5hbF9lcnJvcnModHJ1ZSk7CiAgICAgICAgJGRvbS0+bG9hZEhUTUwoICc8P3htbCBlbmNvZGluZz0idXRmLTgiID8+JyAuICR0aGlzLT5faHRtbCApOwogICAgICAgICR0aGlzLT5fZXJyb3JzID0gJHRoaXMtPnBhcnNlX2Vycm9ycyhsaWJ4bWxfZ2V0X2Vycm9ycygpKTsKICAgICAgICAkdGhpcy0+ZXh0cmFjdEZpZWxkcyggJGRvbSApOwogICAgICAgICR0aGlzLT5faW5wdXRzID0gJHRoaXMtPnNldExhYmVscyggJHRoaXMtPl9pbnB1dHMsICR0aGlzLT5fbGFiZWxzICk7CiAgICAgICAgQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywkb3JpZyk7CiAgICAgICAgaWYoICEkdGhpcy0+X2hhc19jYXB0Y2hhICYmICEkdGhpcy0+X3NraXBfY2FwdGNoYSApIHsKICAgICAgICAgICAgJHRoaXMtPl9lcnJvcnNbXSA9ICR0aGlzLT5fdHItPnRyYW5zbGF0ZSgnbm90aWNlX25vX2NhcHRjaGEnKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9tb2RpZmllZF90aW1lKCkKICAgIHsKICAgICAgICAvLyB3ZSB3ZXJlIGdpdmVuIGh0bWwsIG5vIHdheSB0byBrbm93IHdoYXQgdGhlIG1vZGlmaWVkIHRpbWUgaXMKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Vycm9ycygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZXJyb3JzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZm9ybXMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2Zvcm1zOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZmllbGRzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9pbnB1dHM7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9yZXBseXRvX2ZpZWxkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9yZXBseXRvOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNfY2FwdGNoYSgpCiAgICB7CiAgICAgICAgLy8gbm90ZS4uLiBvbmx5IGRldGVjdHMgaWYgY2FwdGNoYSBpcyBkZXRlY3RlZCBhY3Jvc3MgdGhlIHdob2xlIHRlbXBsYXRlLgogICAgICAgIC8vIG5vdCBpbmRpdmlkdWFsIGZvcm1zIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBmb3JtcyAod2hpY2ggaXMgaW52YWxpZCBhbnl3YXlzKQogICAgICAgIHJldHVybiAkdGhpcy0+X2hhc19jYXB0Y2hhOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcw==]]></data>
	</file>
	<file>
	  <filename>/lib/class.ModuleReference.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBNb2R1bGVSZWZlcmVuY2UKewogICAgcHJpdmF0ZSAkX21vZHVsZV9uYW1lOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggJG1vZF9uYW1lICkKICAgIHsKICAgICAgICAkdGhpcy0+X21vZHVsZV9uYW1lID0gdHJpbSggJG1vZF9uYW1lICk7CiAgICAgICAgaWYoICEkdGhpcy0+X21vZHVsZV9uYW1lICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignQ2Fubm90IGluaXRpYWxpemUgYSAnLl9fQ0xBU1NfXy4nIHdpdGggYW4gZW1wdHkgdmFsdWUnKTsKICAgICAgICAkdGhpcy0+Z2V0X21vZCgpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfbW9kKCkKICAgIHsKICAgICAgICAkbW9kID0gY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoICR0aGlzLT5fbW9kdWxlX25hbWUgKTsKICAgICAgICBpZiggISRtb2QgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oIk1vZHVsZSB7JHRoaXMtPl9tb2R1bGVfbmFtZX0gaXMgcmVmZXJlbmNlZCBidXQgbm90IGF2YWlsYWJsZSIpOwogICAgICAgIHJldHVybiAkbW9kOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCggJGtleSApCiAgICB7CiAgICAgICAgaWYoICRrZXkgPT0gJ25hbWUnICkgcmV0dXJuICR0aGlzLT5fbW9kdWxlX25hbWU7CgogICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oIiRrZXkgaXMgbm90IGEgZ2V0dGFibGUgbWVtYmVyIG9mICIuX19DTEFTU19fKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoICRrZXksICR2YWwgKQogICAgewogICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oIiRrZXkgaXMgbm90IGEgc2V0dGFibGUgbWVtYmVyIG9mICIuX19DTEFTU19fKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19pbnZva2UoICRhcmdzICkKICAgIHsKICAgICAgICAvLyBjYWxsZWQgYXMgJHJlZmVyZW5jZSgpLT5zb21ldGhpbmcuCiAgICAgICAgcmV0dXJuICR0aGlzLT5nZXRfbW9kKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY2FsbCggJG1ldGhvZCwgJGFyZ3MgKQogICAgewogICAgICAgIC8vIGNhbGxlZCBsaWtlICRyZWZlcmVuY2UtPnNvbWV0aGluZygpCiAgICAgICAgcmV0dXJuIGNhbGxfdXNlcl9mdW5jX2FycmF5KCBbICR0aGlzLT5nZXRfbW9kKCksICRtZXRob2QgXSwgJGFyZ3MgKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.ScannedTemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgovLyB0aGlzIGNsYXNzIGhhbmRsZXMgdGhlIG1ldGFkYXRhIGNvbWluZyBmcm9tIHRoZSB0ZW1wbGF0ZSB0ZXN0ZXIgYW5kIHRoZSB0ZW1wbGFlIHNjYW5uZXIKY2xhc3MgU2Nhbm5lZFRlbXBsYXRlCnsKICAgIHByaXZhdGUgJF9tZXNzYWdlczsKICAgIHByaXZhdGUgJF9maWVsZHM7CiAgICBwcml2YXRlICRfaGFzX2NhcHRjaGE7CiAgICBwcml2YXRlICRfbXRpbWU7CiAgICBwcml2YXRlICRfcmVwbHl0b19maWVsZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIElGb3JtU2Nhbm5lciAkc2Nhbm5lciwgSUZvcm1UZXN0ZXIgJHRlc3RlciApCiAgICB7CiAgICAgICAgJG1lc3NhZ2VzID0gJHNjYW5uZXItPmdldF9lcnJvcnMoKTsKICAgICAgICBpZiggZW1wdHkoJG1lc3NhZ2VzKSApICRtZXNzYWdlcyA9IFtdOwogICAgICAgICRtZXNzYWdlczIgPSAkdGVzdGVyLT5nZXRfbWVzc2FnZXMoKTsKICAgICAgICBpZiggZW1wdHkoJG1lc3NhZ2VzMikgKSAkbWVzc2FnZXMyID0gW107CiAgICAgICAgJHRoaXMtPl9tZXNzYWdlcyA9IGFycmF5X21lcmdlKCAkbWVzc2FnZXMsICRtZXNzYWdlczIgKTsKCiAgICAgICAgJGRvbV9maWVsZHMgPSAkc2Nhbm5lci0+Z2V0X2ZpZWxkcygpOwogICAgICAgICRjb252ZXJ0ZXIgPSBuZXcgRm9ybUZpZWxkQ29udmVydGVyKCAkZG9tX2ZpZWxkcyApOwogICAgICAgICR0aGlzLT5fZmllbGRzID0gJGNvbnZlcnRlci0+Z2V0X2ZpZWxkcygpOwogICAgICAgICR0aGlzLT5faGFzX2NhcHRjaGEgPSAkc2Nhbm5lci0+aGFzX2NhcHRjaGEoKTsKICAgICAgICAkdGhpcy0+X210aW1lID0gJHNjYW5uZXItPmdldF9tb2RpZmllZF90aW1lKCk7CiAgICAgICAgJHRoaXMtPl9yZXBseXRvX2ZpZWxkID0gJHNjYW5uZXItPmdldF9yZXBseXRvX2ZpZWxkKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9tb2RpZmllZF90aW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tdGltZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X21lc3NhZ2VzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tZXNzYWdlczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2ZpZWxkcygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZmllbGRzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNfY2FwdGNoYSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5faGFzX2NhcHRjaGE7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9yZXBseXRvX2ZpZWxkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9yZXBseXRvX2ZpZWxkOwogICAgfQp9IC8vIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.TemplateFormScanner.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CnVzZSBTbWFydEZvcm1zOwoKY2xhc3MgVGVtcGxhdGVGb3JtU2Nhbm5lciBleHRlbmRzIEZvcm1TY2FubmVyCnsKICAgIHByaXZhdGUgJF90cGxfb2JqOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggU21hcnRGb3JtcyAkbW9kLCBGb3JtICRmb3JtLCBUcmFuc2xhdG9yICR0ciApCiAgICB7CiAgICAgICAgJG9yaWcgPSBpbmlfZ2V0KCdkaXNwbGF5X2Vycm9ycycpOwogICAgICAgIEBpbmlfc2V0KCdkaXNwbGF5X2Vycm9ycycsMCk7CiAgICAgICAgJHJzcmMgPSAkZm9ybS0+Z2V0U21hcnR5VGVtcGxhdGVSZXNvdXJjZSgpOwogICAgICAgIC8vJHJzcmMgPSAnY21zX3RlbXBsYXRlOicuJGZvcm0tPnRlbXBsYXRlX2lkOwogICAgICAgICR0aGlzLT5fdHBsX29iaiA9ICRtb2QtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCAkcnNyYyApOwogICAgICAgICR0aGlzLT5fdHBsX29iai0+YXNzaWduKCdmb3JtX2RhdGEnLG5ldyBEdW1teUZvcm1SZXNwb25zZSgpKTsKICAgICAgICAkaHRtbCA9ICR0aGlzLT5fdHBsX29iai0+ZmV0Y2goKTsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCAkaHRtbCwgJHRyICk7CiAgICAgICAgQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywkb3JpZyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF90ZW1wbGF0ZV9jb250ZW50cygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdHBsX29iai0+c291cmNlLT5nZXRDb250ZW50KCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9tb2RpZmllZF90aW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl90cGxfb2JqLT5zb3VyY2UtPmdldFRpbWVTdGFtcCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZmllbGRzKCkKICAgIHsKICAgICAgICAkZmllbGRzID0gcGFyZW50OjpnZXRfZmllbGRzKCk7CiAgICAgICAgJG91dCA9IFtdOwogICAgICAgIGZvcmVhY2goICRmaWVsZHMgYXMgJGZpZWxkICkgewogICAgICAgICAgICBpZiggJGZpZWxkLT5nZXRfYXR0cmlidXRlKCduYW1lJykgPT0gJ21hY3QnICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCAkZmllbGQtPmdldF9hdHRyaWJ1dGUoJ25hbWUnKSA9PSBDTVNfU0VDVVJFX1BBUkFNX05BTUUgKSBjb250aW51ZTsKICAgICAgICAgICAgJG91dFtdID0gJGZpZWxkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MKCgovKiBhIHNpbXBsZSBmb3JtIHJlc3BvbnNlIG9iamVjdCB0byB1c2UgaW4gdGhlIHRlbXBsYXRlIHNjYW5uZXIgKi8KY2xhc3MgRHVtbXlGb3JtUmVzcG9uc2UKewogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCAka2V5ICkKICAgIHsKICAgICAgICByZXR1cm4gJyc7CiAgICB9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.TemplateFormTester.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBUZW1wbGF0ZUZvcm1UZXN0ZXIgZXh0ZW5kcyBGb3JtVGVzdGVyCnsKICAgIHByaXZhdGUgJF90cGxfdGV4dDsKICAgIHByaXZhdGUgJF9tZXNzYWdlczsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIFRlbXBsYXRlRm9ybVNjYW5uZXIgJHNjYW5uZXIsIGFycmF5ICR0ZXN0cyA9IG51bGwgKQogICAgewogICAgICAgICR0aGlzLT5fdHBsX3RleHQgPSAkc2Nhbm5lci0+Z2V0X3RlbXBsYXRlX2NvbnRlbnRzKCk7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCggJHNjYW5uZXIsICR0ZXN0cyApOwogICAgICAgICR0aGlzLT50ZXN0KCk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHRlc3QoKQogICAgewogICAgICAgIC8vIGZyb20gaGVyZSBkb3duIGFjY3VtdWxhdGUgbWVzc2FnZXMgdXNpbmcgdGhlIHZhcmlvdXMgdGVzdHMKICAgICAgICAkdGVzdHMgPSAkdGhpcy0+Z2V0X3Rlc3RzKCk7CiAgICAgICAgaWYoICFjb3VudCgkdGVzdHMpICkgcmV0dXJuOwoKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJHRlc3RzIGFzICR0ZXN0ICkgewogICAgICAgICAgICBpZiggJHRlc3QgaW5zdGFuY2VvZiBcU21hcnRGb3Jtc1xGb3JtVmFsaWRhdG9yXFRlbXBsYXRlVGVzdGVyVGVzdCApIHsKICAgICAgICAgICAgICAgICRtZXNzYWdlcyA9ICR0ZXN0LT50ZXN0X3RlbXBsYXRlKCAkdGhpcy0+X3RwbF90ZXh0ICk7CiAgICAgICAgICAgICAgICBpZiggJG1lc3NhZ2VzICkgJG91dCA9IGFycmF5X21lcmdlKCAkb3V0LCAkbWVzc2FnZXMgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiggJHRlc3QgaW5zdGFuY2VvZiBcU21hcnRGb3Jtc1xGb3JtVmFsaWRhdG9yXEZvcm1UZXN0ZXJUZXN0ICkgewogICAgICAgICAgICAgICAgJG1lc3NhZ2VzID0gJHRlc3QtPnRlc3RfZm9ybSggJHRoaXMtPmdldF9mb3JtcygpLCAkdGhpcy0+Z2V0X2lucHV0cygpICk7CiAgICAgICAgICAgICAgICBpZiggJG1lc3NhZ2VzICkgJG91dCA9IGFycmF5X21lcmdlKCAkb3V0LCAkbWVzc2FnZXMgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+X21lc3NhZ2VzID0gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X21lc3NhZ2VzKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tZXNzYWdlczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ZhbGlkX2ZpZWxkcygpCiAgICB7CiAgICAgICAgLy8gcmV0dXJuIG9ubHkgZmllbGRzIHRoYXQgaGF2ZSBuYW1lcywgYW5kIG9ubHkgdGhlIGxhc3Qgb2NjdXJhbmNlIG9mIHRoYXQgbmFtZS4KICAgICAgICAkaW5wdXRzID0gJHRoaXMtPmdldF9pbnB1dHMoKTsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJGlucHV0cyBhcyAkZmllbGQgKSB7CiAgICAgICAgICAgICRuYW1lID0gJGZpZWxkLT5nZXRfYXR0cmlidXRlKCduYW1lJyk7CiAgICAgICAgICAgIGlmKCAhJG5hbWUgKSBjb250aW51ZTsKICAgICAgICAgICAgJG91dFskbmFtZV0gPSAkZmllbGQ7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.Translator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBUcmFuc2xhdG9yCnsKICAgIHByaXZhdGUgJF9tb2Q7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFxTbWFydEZvcm1zICRtb2QpCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2xhdGUoLyogdmFyIGFyZ3MgKi8pCiAgICB7CiAgICAgICAgJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CiAgICAgICAgaWYoIGlzX2FycmF5KCRhcmdzKSAmJiBjb3VudCgkYXJncykgPT0gMSAmJiBpc19hcnJheSgkYXJnc1swXSkgKSAkYXJncyA9ICRhcmdzWzBdOwogICAgICAgIHJldHVybiBjYWxsX3VzZXJfZnVuY19hcnJheSggWyAkdGhpcy0+X21vZCwgJ0xhbmcnXSwgJGFyZ3MgKTsKICAgIH0KCn0gLy8gY2xhc3M=]]></data>
	</file>
	<file>
	  <filename>/lib/class.utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpmaW5hbCBjbGFzcyB1dGlscwp7CiAgICBwcml2YXRlIHN0YXRpYyAkX3RyYW5zbGF0b3I7CiAgICBwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldF90cmFuc2xhdG9yKFRyYW5zbGF0b3IgJHRyKQogICAgewogICAgICAgIHNlbGY6OiRfdHJhbnNsYXRvciA9ICR0cjsKICAgIH0KCiAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiB0cigvKiB2YXIgYXJncyAqLykKICAgIHsKICAgICAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgICAgICBpZiggaXNfYXJyYXkoJGFyZ3MpICYmIGNvdW50KCRhcmdzKSA9PSAxICYmIGlzX2FycmF5KCRhcmdzWzBdKSApICRhcmdzID0gJGFyZ3NbMF07CiAgICAgICAgcmV0dXJuIHNlbGY6OiRfdHJhbnNsYXRvci0+dHJhbnNsYXRlKCAkYXJncyApOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbWtkaXIoJGRpcikKICAgIHsKICAgICAgICBpZiggIXNlbGY6OmlzX2Ntc21zX3JlbGF0aXZlKCAkZGlyICkgKSB0aHJvdyBuZXcgU2VjdXJpdHlFeGNlcHRpb24oc2VsZjo6dHIoJ2Vycl9zZWN1cml0eV9ta2Rpcl9ub3RyZWxhdGl2ZScpKTsKCiAgICAgICAgaWYoIGlzX2ZpbGUoICRkaXIgKSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oc2VsZjo6dHIoJ2Vycl9zZWN1cml0eV9ta2Rpcl9maWxlZXhpc3RzJykpOwogICAgICAgIGlmKCAhaXNfZGlyKCAkZGlyICkgKSB7CiAgICAgICAgICAgICRyZXMgPSBta2RpciggJGRpciApOwogICAgICAgICAgICBpZiggISRyZXMgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdTWVNURU0gRVJST1I6IENvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICcuJGRpcik7CiAgICAgICAgfQogICAgICAgIGlmKCAhaXNfZmlsZSgkZGlyLicvaW5kZXguaHRtbCcpICYmICFpc19maWxlKCRkaXIuJy9pbmRleC5waHAnKSApIGZpbGVfcHV0X2NvbnRlbnRzKCAkZGlyLicvaW5kZXguaHRtbCcsJzwhLS0gRFVNTVkgSFRNTCAtLT4nKTsKICAgIH0KCiAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBta2Rpcl9wYXJlbnQoJGRpcikKICAgIHsKICAgICAgICAkcGFyZW50ID0gZGlybmFtZSgkZGlyKTsKICAgICAgICBpZiggIWlzX2RpcigkcGFyZW50KSApIHsKICAgICAgICAgICAgc2VsZjo6bWtkaXJfcGFyZW50KCRwYXJlbnQpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmKCAhaXNfd3JpdGFibGUoICRwYXJlbnQgKSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ1NZU1RFTSBFUlJPUjogQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgaW4gJy4kcGFyZW50KTsKICAgICAgICB9CiAgICAgICAgc2VsZjo6bWtkaXIoICRkaXIgKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG1rZGlycigkZGlyKQogICAgewogICAgICAgIGlmKCAhc2VsZjo6aXNfY21zbXNfcmVsYXRpdmUoICRkaXIgKSApIHRocm93IG5ldyBTZWN1cml0eUV4Y2VwdGlvbihzZWxmOjp0cignZXJyX3NlY3VyaXR5X21rZGlyX25vdHJlbGF0aXZlJykpOwogICAgICAgIGlmKCBpc19maWxlKCAkZGlyICkgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKHNlbGY6OnRyKCdlcnJfc2VjdXJpdHlfbWtkaXJfZmlsZWV4aXN0cycpKTsKICAgICAgICBzZWxmOjpta2Rpcl9wYXJlbnQoICRkaXIgKTsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxpc3Rfc3VpdGFibGVfdGVtcGxhdGVzKCkKICAgIHsKICAgICAgICAvLyBnZXQgdGhlIGdlbmVyaWMgdGVtcGxhdGUgdHlwZQogICAgICAgICR0eXBlID0gXENtc0xheW91dFRlbXBsYXRlVHlwZTo6bG9hZCgnU21hcnRGb3Jtczo6Rm9ybScpOwogICAgICAgICRxcnkgPSBuZXcgXENtc0xheW91dFRlbXBsYXRlUXVlcnkoWyd0OicuJHR5cGUtPmdldF9pZCgpXSk7CiAgICAgICAgJHRtcCA9ICRxcnktPkdldE1hdGNoZXMoKTsKICAgICAgICBpZiggIWNvdW50KCR0bXApICkgcmV0dXJuOwoKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb2JqICkgewogICAgICAgICAgICAkb3V0WyRvYmotPmdldF9pZCgpXSA9ICRvYmotPmdldF9uYW1lKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbGlzdF92YWxpZGF0aW9uX2VkaXRvcnMoYXJyYXkgJGVkaXRvcnMpCiAgICB7CiAgICAgICAgJG91dCA9IFtdOwogICAgICAgIGZvcmVhY2goICRlZGl0b3JzIGFzICRjbGFzcyA9PiAkb25lICkgewogICAgICAgICAgICBpZiggISAkb25lIGluc3RhbmNlb2YgRmllbGRWYWxpZGF0b3JzXFZhbGlkYXRpb25FZGl0b3IgKSBjb250aW51ZTsKICAgICAgICAgICAgJG91dFskY2xhc3NdID0gJG9uZS0+Z2V0X25hbWUoKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsaXN0X2Rpc3Bvc2l0aW9uX2VkaXRvcnMoYXJyYXkgJGRpc3Bvc2l0aW9ucykKICAgIHsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJGRpc3Bvc2l0aW9ucyBhcyAkY2xhc3MgPT4gJG9uZSApIHsKICAgICAgICAgICAgaWYoICEgJG9uZSBpbnN0YW5jZW9mIERpc3Bvc2l0aW9uc1xEaXNwb3NpdGlvbkVkaXRvciApIGNvbnRpbnVlOwogICAgICAgICAgICAkb3V0WyRjbGFzc10gPSAkb25lLT5nZXRfbmFtZSgpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHN0b3JlX29iamVjdCggJGRhdGEsICRrZXkgPSBudWxsICkKICAgIHsKICAgICAgICBpZiggISRrZXkgKSAka2V5ID0gXHh0X3V0aWxzOjpjcmVhdGVfZ3VpZCgpOwogICAgICAgICRfU0VTU0lPTlska2V5XSA9IHNlcmlhbGl6ZSgkZGF0YSk7CiAgICAgICAgcmV0dXJuICRrZXk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZXRyaWV2ZV9vYmplY3QoICRrZXkgKQogICAgewogICAgICAkb2JqID0gbnVsbDsKICAgICAgaWYoIGlzc2V0KCRfU0VTU0lPTlska2V5XSkgKSAkb2JqID0gdW5zZXJpYWxpemUoJF9TRVNTSU9OWyRrZXldKTsKICAgICAgcmV0dXJuICRvYmo7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZW1vdmVfc3RvcmVkX29iamVjdCggJGtleSApCiAgICB7CiAgICAgICAgaWYoIGlzc2V0KCRfU0VTU0lPTlska2V5XSkgKSB1bnNldCgkX1NFU1NJT05bJGtleV0pOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfY21zbXNfcmVsYXRpdmUoICRmaWxlICkKICAgIHsKICAgICAgICAkZmlsZSA9IHRyaW0oJGZpbGUpOwogICAgICAgIGlmKCAhJGZpbGUgKSByZXR1cm47CiAgICAgICAgJGNvbmZpZyA9IFxjbXNfY29uZmlnOjpnZXRfaW5zdGFuY2UoKTsKCiAgICAgICAgaWYoIHN0YXJ0c3dpdGgoICRmaWxlLCAkY29uZmlnWydyb290X3BhdGgnXSApICkgcmV0dXJuIFRSVUU7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjYW5fd3JpdGVfZmlsZSggJGZpbGUgKQogICAgewogICAgICAgICRmaWxlID0gdHJpbSgkZmlsZSk7CiAgICAgICAgaWYoICEkZmlsZSApIHJldHVybjsKCiAgICAgICAgaWYoIGlzX2ZpbGUoJGZpbGUpICkgewogICAgICAgICAgICBpZiggaXNfd3JpdGFibGUoICRmaWxlKSApIHJldHVybiBUUlVFOwogICAgICAgICAgICByZXR1cm4gRkFMU0U7CiAgICAgICAgfQogICAgICAgICRkaXIgPSBkaXJuYW1lKCRmaWxlKTsKICAgICAgICBpZiggIWlzX2RpciggJGRpcikgKSByZXR1cm4gRkFMU0U7CiAgICAgICAgaWYoICFpc193cml0YWJsZSggJGRpciApICkgcmV0dXJuIEZBTFNFOwogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcHJvY2Vzc190ZW1wbGF0ZSggJHRlbXBsYXRlX3RleHQsIEZvcm0gJGZvcm0sIEZvcm1SZXNwb25zZSAkcmVzcG9uc2UgKQogICAgewogICAgICAgICR0ZW1wbGF0ZV90ZXh0ID0gdHJpbSgkdGVtcGxhdGVfdGV4dCk7CiAgICAgICAgaWYoICEkdGVtcGxhdGVfdGV4dCApIHJldHVybjsKICAgICAgICAkdGVtcGxhdGVfdGV4dCA9IGh0bWxfZW50aXR5X2RlY29kZSggJHRlbXBsYXRlX3RleHQgKTsgLy8gZGVjb2RpbmcgYWdhaW4gPz8KCiAgICAgICAgJHNtYXJ0eSA9IFxjbXNfdXRpbHM6OmdldF9zbWFydHkoKTsKICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfU01BUlRGT1JNUyk7CiAgICAgICAgJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCdzdHJpbmc6Jy4kdGVtcGxhdGVfdGV4dCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdtb2QnLCRtb2QpOwogICAgICAgICR0cGwtPmFzc2lnbignZm9ybScsJGZvcm0pOwogICAgICAgICR0cGwtPmFzc2lnbigncmVzcG9uc2UnLCRyZXNwb25zZSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdFT0wnLFBIUF9FT0wpOwogICAgICAgICR0cGwtPmFzc2lnbignTEYnLCJcbiIpOwogICAgICAgICR0cGwtPmFzc2lnbignVEFCJywiXHQiKTsKICAgICAgICBmb3JlYWNoKCAkcmVzcG9uc2UtPmxpc3RfZmllbGRzKCkgYXMgJGZpZWxkX25hbWUgKSB7CiAgICAgICAgICAgIGlmKCAkZm9ybS0+aXNfZmlsZV9maWVsZCggJGZpZWxkX25hbWUpICkgewogICAgICAgICAgICAgICAgJHZhbCA9ICRyZXNwb25zZS0+Z2V0X2ZpbGVfYXNfdXJsKCAkZmllbGRfbmFtZSApOwogICAgICAgICAgICAgICAgJHRwbC0+YXNzaWduKCRmaWVsZF9uYW1lLCR2YWwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJHZhbCA9ICRyZXNwb25zZS0+Z2V0X2ZpZWxkX3ZhbHVlKCAkZmllbGRfbmFtZSApOwogICAgICAgICAgICAgICAgJHRwbC0+YXNzaWduKCdfJy4kZmllbGRfbmFtZSwgJHZhbCk7CiAgICAgICAgICAgICAgICAkdmFsID0gJGZvcm0tPmdldF9odW1hbl9yZWFkYWJsZV9maWVsZF92YWx1ZSggJGZpZWxkX25hbWUsICR2YWwgKTsKICAgICAgICAgICAgICAgICR0cGwtPmFzc2lnbigkZmllbGRfbmFtZSwgJHZhbCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0cGwtPmZldGNoKCk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZm9ybV90cGxfaGVscCggRm9ybSAkZm9ybSApCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1NNQVJURk9STVMpOwogICAgICAgICRmaWVsZF9uYW1lcyA9ICRmb3JtLT5nZXRfZmllbGRuYW1lcygpOwogICAgICAgICR2YXJzID0gW107CgogICAgICAgIGZvcmVhY2goICRmaWVsZF9uYW1lcyBhcyAkbmFtZSApIHsKICAgICAgICAgICAgJGZpZWxkID0gJGZvcm0tPmdldF9maWVsZCgkbmFtZSk7CiAgICAgICAgICAgICRvYmogPSBuZXcgXFN0ZENsYXNzOwogICAgICAgICAgICAkb2JqLT5rZXkgPSAkbmFtZTsKICAgICAgICAgICAgJG9iai0+dHlwZSA9ICRmaWVsZC0+cHJpbWl0aXZlOwogICAgICAgICAgICBpZiggJGZpZWxkLT5tdWx0aXBsZSApICRvYmotPnR5cGUgLj0gJ1tdJzsKICAgICAgICAgICAgJHZhcnNbXSA9ICRvYmo7CgogICAgICAgICAgICAkb2JqID0gbmV3IFxTdGRDbGFzczsKICAgICAgICAgICAgJG9iai0+a2V5ID0gJ18nLiRuYW1lOwogICAgICAgICAgICAkb2JqLT50eXBlID0gJGZpZWxkLT5wcmltaXRpdmU7CiAgICAgICAgICAgICRvYmotPmRlc2MgPSAiUmF3IHN1Ym1pdHRlZCB2YWx1ZSBmb3IgdGhlICRuYW1lIGZpZWxkIjsKICAgICAgICAgICAgJHZhcnNbXSA9ICRvYmo7CiAgICAgICAgfQoKICAgICAgICAkb2JqID0gbmV3IFxTdGRDbGFzczsKICAgICAgICAkb2JqLT5rZXkgPSAnc210Zm1fc3VibWl0X3RpbWUnOwogICAgICAgICRvYmotPnR5cGUgPSAnaW50JzsKICAgICAgICAkb2JqLT5kZXNjID0gJG1vZC0+TGFuZygndmFyaGVscF9zbXRmbV9zdWJtaXRfdGltZScpOwogICAgICAgICR2YXJzW10gPSAkb2JqOwoKICAgICAgICAkb2JqID0gbmV3IFxTdGRDbGFzczsKICAgICAgICAkb2JqLT5rZXkgPSAnc210Zm1fc3VibWl0X2lwJzsKICAgICAgICAkb2JqLT50eXBlID0gJ3N0cmluZyc7CiAgICAgICAgJG9iai0+ZGVzYyA9ICRtb2QtPkxhbmcoJ3ZhcmhlbHBfc210Zm1fc3VibWl0X2lwJyk7CiAgICAgICAgJHZhcnNbXSA9ICRvYmo7CgogICAgICAgICRvYmogPSBuZXcgXFN0ZENsYXNzOwogICAgICAgICRvYmotPmtleSA9ICdzbXRmbV92ZXJzaW9uJzsKICAgICAgICAkb2JqLT50eXBlID0gJ3N0cmluZyc7CiAgICAgICAgJG9iai0+ZGVzYyA9ICRtb2QtPkxhbmcoJ3ZhcmhlbHBfc210Zm1fdmVyc2lvbicpOwoKICAgICAgICAkb2JqID0gbmV3IFxTdGRDbGFzczsKICAgICAgICAkb2JqLT5rZXkgPSAnc210Zm1fZm9ybW5hbWUnOwogICAgICAgICRvYmotPnR5cGUgPSAnc3RyaW5nJzsKICAgICAgICAkb2JqLT5kZXNjID0gJG1vZC0+TGFuZygndmFyaGVscF9zbXRmbV9mb3JtbmFtZScpOwogICAgICAgICR2YXJzW10gPSAkb2JqOwoKICAgICAgICAkb2JqID0gbmV3IFxTdGRDbGFzczsKICAgICAgICAkb2JqLT5rZXkgPSAnc210Zm1fZm9ybWRlc24nOwogICAgICAgICRvYmotPnR5cGUgPSAnc3RyaW5nJzsKICAgICAgICAkb2JqLT5kZXNjID0gJG1vZC0+TGFuZygndmFyaGVscF9zbXRmbV9mb3JtZGVzYycpOwogICAgICAgICR2YXJzW10gPSAkb2JqOwoKICAgICAgICAkb2JqID0gbmV3IFxTdGRDbGFzczsKICAgICAgICAkb2JqLT5rZXkgPSAnc210Zm1fcmVxdWVzdGlkJzsKICAgICAgICAkb2JqLT50eXBlID0gJ3N0cmluZyc7CiAgICAgICAgJG9iai0+ZGVzYyA9ICRtb2QtPkxhbmcoJ3ZhcmhlbHBfc210Zm1fcmVxdWVzdGlkJyk7CiAgICAgICAgJHZhcnNbXSA9ICRvYmo7CgogICAgICAgICRvYmogPSBuZXcgXFN0ZENsYXNzOwogICAgICAgICRvYmotPmtleSA9ICdyZXNwb25zZSc7CiAgICAgICAgJG9iai0+dHlwZSA9ICdvYmplY3QnOwogICAgICAgICRvYmotPmRlc2MgPSAkbW9kLT5MYW5nKCd2YXJoZWxwX3Jlc3BvbnNlJyk7CiAgICAgICAgJHZhcnNbXSA9ICRvYmo7CgogICAgICAgICRvYmogPSBuZXcgXFN0ZENsYXNzOwogICAgICAgICRvYmotPmtleSA9ICdmb3JtJzsKICAgICAgICAkb2JqLT50eXBlID0gJ29iamVjdCc7CiAgICAgICAgJG9iai0+ZGVzYyA9ICRtb2QtPkxhbmcoJ3ZhcmhlbHBfZm9ybScpOwogICAgICAgICR2YXJzW10gPSAkb2JqOwoKICAgICAgICAkb2JqID0gbmV3IFxTdGRDbGFzczsKICAgICAgICAkb2JqLT5rZXkgPSAnRU9MJzsKICAgICAgICAkb2JqLT50eXBlID0gJ3N0cmluZyc7CiAgICAgICAgJG9iai0+ZGVzYyA9ICRtb2QtPkxhbmcoJ3ZhcmhlbHBfc210Zm1fRU9MJyk7CiAgICAgICAgJHZhcnNbXSA9ICRvYmo7CgogICAgICAgICRvYmogPSBuZXcgXFN0ZENsYXNzOwogICAgICAgICRvYmotPmtleSA9ICdMRic7CiAgICAgICAgJG9iai0+dHlwZSA9ICdzdHJpbmcnOwogICAgICAgICRvYmotPmRlc2MgPSAkbW9kLT5MYW5nKCd2YXJoZWxwX3NtdGZtX0xGJyk7CiAgICAgICAgJHZhcnNbXSA9ICRvYmo7CgogICAgICAgICRvYmogPSBuZXcgXFN0ZENsYXNzOwogICAgICAgICRvYmotPmtleSA9ICdUQUInOwogICAgICAgICRvYmotPnR5cGUgPSAnc3RyaW5nJzsKICAgICAgICAkb2JqLT5kZXNjID0gJG1vZC0+TGFuZygndmFyaGVscF9zbXRmbV9UQUInKTsKICAgICAgICAkdmFyc1tdID0gJG9iajsKCiAgICAgICAgJHRwbCA9ICRtb2QtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl92YXJoZWxwLnRwbCcpOwogICAgICAgICR0cGwtPmFzc2lnbigndmFycycsJHZhcnMpOwogICAgICAgIHJldHVybiAkdHBsLT5mZXRjaCgpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X21haWxlciggRm9ybSAkZm9ybSApCiAgICB7CiAgICAgICAgJG1haWxlciA9IG5ldyBcY21zX21haWxlcjsKICAgICAgICAkbWFpbGVyLT5Jc0hUTUwoVFJVRSk7CiAgICAgICAgJGFkZHIgPSAkZm9ybS0+ZW1haWxfZnJvbV9hZGRyOwogICAgICAgICRuYW1lID0gJGZvcm0tPmVtYWlsX2Zyb21fbmFtZTsKICAgICAgICBpZiggJGFkZHIgKSB7CiAgICAgICAgICAgICRtYWlsZXItPkFkZFJlcGx5VG8oICRhZGRyLCAkbmFtZSApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG1haWxlcjsKICAgIH0KICAKICAvKioKICAgKiBjb252ZXJ0IENHQmV0dGVyRm9ybXMgZm9ybSBkYXRhIHRvICdldmVuIGJldHRlciBmb3JtcycgOkQgU21hcnRGb3JtcyBmb3JtIGRhdGEKICAgKgogICAqIEBwYXJhbSAkZm9ybV9kYXRhCiAgICoKICAgKiBAcmV0dXJuIHN0cmluZwogICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjZ2JmX2RhdGFfMl9zZl9kYXRhKCRmb3JtX2RhdGEpIDogc3RyaW5nCiAgICB7CiAgICAgIC8qKgogICAgICAgKiBzdGFnZSAxOgogICAgICAgKiAtIHJlcGxhY2UgbWFpbiBvYmplY3QgYW5kIGludGVybmFsIG9iamVjdHMgY2xhc3NlcwogICAgICAgKiAtIGZpeCBfY2diZl92ZXJzaW9uIGludGVybmFsIHByb3BlcnR5IG5hbWUgd2hpbGUgYXQgaXQKICAgICAgICoKICAgICAgICogdGhlcmUgaXMgYSBjYXRjaCB0aG91Z2guLi4KICAgICAgICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgICogT2JqZWN0cyBhcmUgc2VyaWFsaXplZCBhczoKICAgICAgICogTzo8aT46IjxzPiI6PGk+Ons8cHJvcGVydGllcz59CiAgICAgICAqCiAgICAgICAqIFRoZSBzZWNvbmQgPGk+IGlzIGFuIGludGVnZXIgcmVwcmVzZW50aW5nCiAgICAgICAqIHRoZSBudW1iZXIgb2Ygb2JqZWN0IHByb3BlcnRpZXMuCiAgICAgICAqIDxwcm9wZXJ0aWVzPiBhcmUgemVybyBvciBtb3JlIHNlcmlhbGl6ZWQgbmFtZSB2YWx1ZSBwYWlyczoKICAgICAgICogPG5hbWU+PHZhbHVlPgogICAgICAgKgogICAgICAgKiBUaGVyZSdzIGEgY2F0Y2ggd2l0aCA8bmFtZT4gdGhvdWdoOgogICAgICAgKiA8bmFtZT4gaXMgcmVwcmVzZW50ZWQgYXMKICAgICAgICoKICAgICAgICogczo8aT46IjxzPiI7CiAgICAgICAqCiAgICAgICAqIHdoZXJlIDxpPiBpcyBhbiBpbnRlZ2VyIHJlcHJlc2VudGluZyB0aGUgc3RyaW5nIGxlbmd0aCBvZiA8cz4uCiAgICAgICAqCiAgICAgICAqIEJ1dCB0aGUgdmFsdWVzIG9mIDxzPiBkaWZmZXJzIHBlciB2aXNpYmlsaXR5IG9mIHByb3BlcnRpZXM6CiAgICAgICAqCiAgICAgICAqIGEuIFdpdGggcHVibGljIHByb3BlcnRpZXMgPHM+IGlzIHRoZSBzaW1wbGUgbmFtZSBvZiB0aGUgcHJvcGVydHkuCiAgICAgICAqCiAgICAgICAqIGIuIFdpdGggcHJvdGVjdGVkIHByb3BlcnRpZXMsIGhvd2V2ZXIsIDxzPiBpcyB0aGUgc2ltcGxlIG5hbWUgb2YgdGhlIHByb3BlcnR5LAogICAgICAgKiAgICBwcmVwZW5kZWQgd2l0aCBcMCpcMCDigJQgYW4gYXN0ZXJpeCwgZW5jbG9zZWQgaW4gdHdvIE5VTEwgY2hhcmFjdGVycyAoaS5lLiBjaHIoMCkpLgogICAgICAgKgogICAgICAgKiBjLiBBbmQgd2l0aCBwcml2YXRlIHByb3BlcnRpZXMsIDxzPiBpcyB0aGUgc2ltcGxlIG5hbWUgb2YgdGhlIHByb3BlcnR5LAogICAgICAgKiAgICBwcmVwZW5kZWQgd2l0aCBcMDxzPlwwIOKAlCA8cz4sIGVuY2xvc2VkIGluIHR3byBOVUxMIGNoYXJhY3RlcnMsCiAgICAgICAqICAgIHdoZXJlIDxzPiBpcyB0aGUgZnVsbHkgcXVhbGlmaWVkIGNsYXNzIG5hbWUuCiAgICAgICAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICAgICAqIGZyb206IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE0Mjk3OTI2L3N0cnVjdHVyZS1vZi1hLXNlcmlhbGl6ZWQtcGhwLXN0cmluZwogICAgICAgKi8KICAKICAgICAgJHBhdHRlcm4gPSAgJyMoW3NPXSk6KFxkKyk6IihDR0JldHRlckZvcm1zLio/fFx4MDBDR0JldHRlckZvcm1zLio/XHgwMHxceDAwP1wqP1x4MDA/Q0dCZXR0ZXJGb3Jtcy4qPykiKFs6O10rKSNzJzsKICAgICAgJHRtcCA9ICBccHJlZ19yZXBsYWNlX2NhbGxiYWNrKCRwYXR0ZXJuLAogICAgICAgIHN0YXRpYyBmdW5jdGlvbiAoJG1hdGNoZXMpCiAgICAgICAgewogICAgICAgICAgJHJlcGxhY2VtZW50ID0gXHN0cl9yZXBsYWNlKAogICAgICAgICAgICBbJ0NHQmV0dGVyRm9ybXMnLCAnX2NnYmZfdmVyc2lvbicsICdDR0JGQ3J1ZCddLAogICAgICAgICAgICBbJ1NtYXJ0Rm9ybXMnLCAnX3NtdGZtX3ZlcnNpb24nLCAnU21hcnRGb3Jtc0FjY2VzcyddLAogICAgICAgICAgICAkbWF0Y2hlc1szXQogICAgICAgICAgKTsKICAgICAgCiAgICAgICAgICByZXR1cm4gJG1hdGNoZXNbMV0gLiAnOicgLiBcc3RybGVuKCRyZXBsYWNlbWVudCkgLiAnOiInIC4gJHJlcGxhY2VtZW50IC4gJyInIC4gJG1hdGNoZXNbNF07CiAgICAgICAgfSwgJGZvcm1fZGF0YQogICAgICApOwogIAogICAgICAvKioKICAgICAgICogc3RhZ2UgMjoKICAgICAgICogZml4IGFueSBwcm9wZXJ0eSB2YWx1ZXMgdGhhdCBtYXkgY29udGFpbiBzb21lIGxlZnRvdmVycyB0aGF0IHdlIG1heSB3YW50IHRvIGdldCByaWQgb2Y6CiAgICAgICAqIGZvciBub3cgd2Ugb25seSBjYW1lIGFjcm9zcyBjZ2JmLi4uCiAgICAgICAqLwogICAgICAkcGF0dGVybiA9ICAnI3M6KFxkKyk6IigoPyFTbWFydEZvcm1zKXwoPyFceDAwU21hcnRGb3Jtcyl8KD8hXHgwMD9cKj9ceDAwP1NtYXJ0Rm9ybXMpKC4qPykpIjsjcyc7CiAgICAgICR0bXAgPSAgXHByZWdfcmVwbGFjZV9jYWxsYmFjaygKICAgICAgICAkcGF0dGVybiwKICAgICAgICBzdGF0aWMgZnVuY3Rpb24gKCRtYXRjaGVzKQogICAgICAgIHsKICAgICAgICAgICNjYmdmCiAgICAgICAgICAkcmVwbGFjZW1lbnQgPSBcc3RyX3JlcGxhY2UoCiAgICAgICAgICAgIFsnY2diZicsICd7Q0dCZXR0ZXJGb3JtcyddLAogICAgICAgICAgICBbJ3NtdGZtJywgJ3tTbWFydEZvcm1zJ10sCiAgICAgICAgICAgICRtYXRjaGVzWzJdCiAgICAgICAgICApOwogICAgICAKICAgICAgICAgIHJldHVybiAnczonIC4gXHN0cmxlbigkcmVwbGFjZW1lbnQpIC4gJzoiJyAuICRyZXBsYWNlbWVudCAuICciOyc7CiAgICAgICAgfSwKICAgICAgICAkdG1wCiAgICAgICk7CiAgICAgIAogICAgICAjIGluIGNhc2Ugd2UgaGF2ZSBTRkEgYW5kIGEgQ0dCRiBfQ1JVRCBzZXJpYWxpemF0aW9uIGlzc3VlIHdlIHRyeSB0byBzb2x2ZSBpdCB0b28KICAgICAgIyBOT1RFOiB0aGlzIGRvZXNuJ3Qgc2VlbSB0byBiZSB3b3JraW5nLCBzbyB3ZSB0cmllZCB0byBkbyB0aGF0IG9uIHRoZSAxc3Qgc3RlcCBhbnl3YXkKICAgICAgaWYoIFxjbGFzc19leGlzdHMoJ1xcU21hcnRGb3Jtc0FjY2Vzc1xcdXRpbHMnKSApCiAgICAgIHsKICAgICAgICAkdG1wID0gXFNtYXJ0Rm9ybXNBY2Nlc3NcdXRpbHM6OmNnYmZjcnVkX2RhdGFfMl9zZmFfZGF0YSgkdG1wKTsKICAgICAgfQogIAogICAgICByZXR1cm4gJHRtcDsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/class.ValidationEditorHelperProxy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBWYWxpZGF0aW9uRWRpdG9ySGVscGVyUHJveHkKewogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIFxTbWFydEZvcm1zICRtb2QgKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FuY2VsKCAkZm9ybV9ndWlkICkKICAgIHsKICAgICAgICBpZiggISRmb3JtX2d1aWQgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdObyBmb3JtX2d1aWQgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CiAgICAgICAgJHRoaXMtPl9tb2QtPlNldE1lc3NhZ2UoJHRoaXMtPl9tb2QtPkxhbmcoJ21zZ19jYW5jZWxsZWQnKSk7CiAgICAgICAgJHRoaXMtPl9tb2QtPlJlZGlyZWN0KCdtMV8nLCdhZG1pbl9lZGl0X2Zvcm0nLCAnJywgWydmb3JtX2d1aWQnPT4kZm9ybV9ndWlkLCAneHRfYWN0aXZldGFiJz0+J3ZhbGlkYXRpb24nXSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBmaW5pc2goIEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsIEZpZWxkVmFsaWRhdG9yc1xJVmFsaWRhdGlvbiAkdmFsaWRhdG9yLCAkZ3VpZCApCiAgICB7CiAgICAgICAgaWYoICEkZm9ybV9ndWlkICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignTm8gZm9ybV9ndWlkIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwogICAgICAgICRmb3JtX2d1aWQgPSBcU21hcnRGb3Jtc1x1dGlsczo6c3RvcmVfb2JqZWN0KCAkZm9ybSwgJGZvcm1fZ3VpZCApOwogICAgICAgICRndWlkID0gXFNtYXJ0Rm9ybXNcdXRpbHM6OnN0b3JlX29iamVjdCggJHZhbGlkYXRvciwgJGd1aWQgKTsKICAgICAgICAkdGhpcy0+X21vZC0+U2V0TWVzc2FnZSgkdGhpcy0+X21vZC0+TGFuZygnbXNnX3ZhbGlkYXRpb25fc2F2ZWQnKSk7CiAgICAgICAgJHRoaXMtPl9tb2QtPlJlZGlyZWN0KCAnbTFfJywgJ2FkbWluX2VkaXRfZm9ybScsICcnLCBbICdmb3JtX2d1aWQnPT4kZm9ybV9ndWlkLCAndmFsaWRhdG9yX2d1aWQnPT4kZ3VpZCwgJ3h0X2FjdGl2ZXRhYic9Pid2YWxpZGF0aW9uJyBdICk7CiAgICB9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.ValidationScanner.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CnVzZSBcU21hcnRGb3Jtc1xGaWVsZFZhbGlkYXRvcnM7CgovLyBzY2FucyBhIGZvcm0gYW5kIGZpZWxkcywgYW5kIGRldGVybWluZXMgYSBtaW5pbWFsIGxpc3Qgb2YgdmFsaWRhdGlvbnMuCmNsYXNzIFZhbGlkYXRpb25TY2FubmVyCnsKICAgIHByaXZhdGUgJF9mb3JtOwogICAgcHJpdmF0ZSAkX2ZpZWxkczsKICAgIHByaXZhdGUgJF9jYXB0Y2hhX3Byb3ZpZGVyOwogICAgcHJpdmF0ZSAkX3ZhbGlkYXRpb25zOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXMgJG1vZCwgRm9ybSAkZm9ybSwgYXJyYXkgJGZpZWxkcyApCiAgICB7CiAgICAgICAgJHRoaXMtPl9mb3JtID0gJGZvcm07CiAgICAgICAgJHRoaXMtPl9maWVsZHMgPSAkZmllbGRzOwogICAgICAgICR0aGlzLT5fY2FwdGNoYV9wcm92aWRlciA9ICRtb2QtPmdldF9jYXB0Y2hhX3Byb3ZpZGVyKCk7CgogICAgICAgICR2YWxpZGF0aW9ucyA9ICR0aGlzLT5fZm9ybS0+dmFsaWRhdGlvbnM7CiAgICAgICAgaWYoICFlbXB0eSggJHZhbGlkYXRpb25zICkgKSB7CiAgICAgICAgICAgIGZvcmVhY2goICR2YWxpZGF0aW9ucyBhcyAkZ3VpZCA9PiAkb2JqICkgewogICAgICAgICAgICAgICAgJGNsYXNzID0gZ2V0X2NsYXNzKCRvYmopOwogICAgICAgICAgICAgICAgJHRoaXMtPl92YWxpZGF0aW9uc1tdID0gJGNsYXNzOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBhZGRfdW5pcXVlX3ZhbGlkYXRpb24oIGFycmF5JiAkb3V0LCAkY2xhc3NuYW1lLCAkZmllbGQgPSBudWxsLCBjYWxsYWJsZSAkY2IgPSBudWxsICkKICAgIHsKCSRndWlkID0gXHh0X3V0aWxzOjpjcmVhdGVfZ3VpZCgpOwogICAgICAgIGlmKCAhc3RhcnRzd2l0aCggJGNsYXNzbmFtZSwgJ1xcJyApICkgJGNsYXNzbmFtZSA9IF9fTkFNRVNQQUNFX18uJ1xcJy4kY2xhc3NuYW1lOwogICAgICAgIGlmKCBpc19hcnJheSgkdGhpcy0+X3ZhbGlkYXRpb25zKSAmJiBpbl9hcnJheSggJGNsYXNzbmFtZSwgJHRoaXMtPl92YWxpZGF0aW9ucyApICkgcmV0dXJuOwogICAgICAgIGlmKCAhaXNfY2FsbGFibGUoJGNiKSApIHsKICAgICAgICAgICAgJG9iaiA9IG5ldyAkY2xhc3NuYW1lOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRvYmogPSBjYWxsX3VzZXJfZnVuYyggJGNiLCAkY2xhc3NuYW1lLCAkZmllbGQgKTsKICAgICAgICB9CiAgICAgICAgJG91dFskZ3VpZF0gPSAkb2JqOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdmFsaWRhdGlvbnMoKQogICAgewogICAgICAgICRvdXQgPSBbXTsKICAgICAgICAkdGhpcy0+YWRkX3VuaXF1ZV92YWxpZGF0aW9uKCAkb3V0LCAnRmllbGRWYWxpZGF0b3JzXEh0bWxEZXRlY3Rpb25WYWxpZGF0aW9uJyApOwogICAgICAgICR0aGlzLT5hZGRfdW5pcXVlX3ZhbGlkYXRpb24oICRvdXQsICdGaWVsZFZhbGlkYXRvcnNcU2VsZWN0RmllbGRWYWxpZGF0aW9uJyApOwogICAgICAgIGlmKCAkdGhpcy0+X2Zvcm0tPmhhc19jYXB0Y2hhICYmICR0aGlzLT5fY2FwdGNoYV9wcm92aWRlciApIHsKICAgICAgICAgICAgJHRoaXMtPmFkZF91bmlxdWVfdmFsaWRhdGlvbiggJG91dCwgJ0ZpZWxkVmFsaWRhdG9yc1xDYXB0Y2hhVmFsaWRhdG9yUHJveHknLCBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiggJGNsYXNzbmFtZSwgJGZpZWxkICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyAkY2xhc3NuYW1lKCAkdGhpcy0+X2NhcHRjaGFfcHJvdmlkZXIgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIGlmKCAkdGhpcy0+aGFzX3JlcXVpcmVkX2ZpZWxkcygpICkgJHRoaXMtPmFkZF91bmlxdWVfdmFsaWRhdGlvbiggJG91dCwgJ0ZpZWxkVmFsaWRhdG9yc1xSZXF1aXJlZEZpZWxkVmFsaWRhdGlvbicgKTsKICAgICAgICBpZiggJHRoaXMtPmhhc19maWxlX2ZpZWxkcygpICkgJHRoaXMtPmFkZF91bmlxdWVfdmFsaWRhdGlvbiggJG91dCwgJ0ZpZWxkVmFsaWRhdG9yc1xGaWxlVmFsaWRhdG9yJyApOwogICAgICAgIGlmKCAkdGhpcy0+aGFzX2RhdGVfZmllbGRzKCkgKSAkdGhpcy0+YWRkX3VuaXF1ZV92YWxpZGF0aW9uKCAkb3V0LCAnRmllbGRWYWxpZGF0b3JzXERhdGVQcmltaXRpdmVWYWxpZGF0aW9uJyApOwogICAgICAgIGlmKCAkdGhpcy0+aGFzX2VtYWlsX2ZpZWxkcygpICkgJHRoaXMtPmFkZF91bmlxdWVfdmFsaWRhdGlvbiggJG91dCwgJ0ZpZWxkVmFsaWRhdG9yc1xFbWFpbFByaW1pdGl2ZVZhbGlkYXRpb24nICk7CgogICAgICAgIC8vIG5vdyBwcm9jZXNzIGVhY2ggZmllbGQgaW5kaXZpZHVhbGx5LgogICAgICAgIGZvcmVhY2goICR0aGlzLT5fZmllbGRzIGFzICRmaWVsZCApIHsKICAgICAgICAgICAgaWYoICRmaWVsZC0+bm92YWxpZGF0ZSApIGNvbnRpbnVlOwogICAgICAgICAgICBpZiggJGZpZWxkLT5wYXR0ZXJuICkgewogICAgICAgICAgICAgICAgLy8gaWYgZmllbGQgaGFzIHBhdHRlcm4sIGFkZCByZWdleCB2YWxpZGF0aW9uIGZvciB0aGlzIGZpbGVkLgogICAgICAgICAgICAgICAgJHRoaXMtPmFkZF91bmlxdWVfdmFsaWRhdGlvbiggJG91dCwgJ0ZpZWxkVmFsaWRhdG9yc1xSZWdleEZpZWxkVmFsaWRhdGlvbicsICRmaWVsZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCAkY2xhc3NuYW1lLCAkZmllbGQgKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2JqID0gbmV3ICRjbGFzc25hbWUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5zZXRfZmllbGROYW1lKCAkZmllbGQtPm5hbWUgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5zZXRfcGF0dGVybignfCcuJGZpZWxkLT5wYXR0ZXJuLid8Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRvYmo7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gaWYgaXQncyBhIHNpbXBsZSBwcmltaXRpdmUuLi4gIHdlIGNhbiB2YWxpZGF0ZSBpdCdzIHZhbHVlICBpLmU6ICB0byBlbnN1cmUgYSBudW1lcmljIG51bWJlciBpcyBpbnB1dCBpbiB0aGUgZmllbGQKICAgICAgICAgICAgLy8gYW5kIHRoZW4gb3B0aW9uYWxseSB2YWxpZGF0ZSBtaW4gYW5kIG1heCB2YWx1ZXMuCiAgICAgICAgICAgICRwcmltaXRpdmUgPSAkZmllbGQtPnByaW1pdGl2ZTsKICAgICAgICAgICAgaWYoICRwcmltaXRpdmUgPT0gJ3N0cmluZycgKSB7CiAgICAgICAgICAgICAgICBpZiggJGZpZWxkLT5taW4gfHwgJGZpZWxkLT5tYXggKSB7CiAgICAgICAgICAgICAgICAgICAgJHByaW1pdGl2ZSA9ICdmbG9hdCc7CiAgICAgICAgICAgICAgICAgICAgaWYoICgkZmllbGQtPm1pbiAmJiB0cmltKChpbnQpICRmaWVsZC0+bWluKSA9PSB0cmltKCRmaWVsZC0+bWluKSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgKCRmaWVsZC0+bWF4ICYmIHRyaW0oKGludCkgJGZpZWxkLT5tYXgpID09IHRyaW0oJGZpZWxkLT5tYXgpKSApICRwcmltaXRpdmUgPSAnaW50JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goICRwcmltaXRpdmUgKSB7CiAgICAgICAgICAgIGNhc2UgJ2ludCc6CiAgICAgICAgICAgICAgICAkdGhpcy0+YWRkX3VuaXF1ZV92YWxpZGF0aW9uKCAkb3V0LCAnRmllbGRWYWxpZGF0b3JzXEludGVnZXJGaWVsZFZhbGlkYXRpb24nLCAkZmllbGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiggJGNsYXNzbmFtZSwgJGZpZWxkICl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9iaiA9IG5ldyAkY2xhc3NuYW1lKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+c2V0X2ZpZWxkTmFtZSggJGZpZWxkLT5uYW1lICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoICRmaWVsZC0+bWluICkgJG9iai0+c2V0X21pblZhbHVlKCAoaW50KSAkZmllbGQtPm1pbiApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAkZmllbGQtPm1heCApICRvYmotPnNldF9tYXhWYWx1ZSggKGludCkgJGZpZWxkLT5tYXggKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJG9iajsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ2Zsb2F0JzoKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRfdW5pcXVlX3ZhbGlkYXRpb24oICRvdXQsICdGaWVsZFZhbGlkYXRvcnNcRmxvYXRGaWVsZFZhbGlkYXRpb24nLCAkZmllbGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiggJGNsYXNzbmFtZSwgJGZpZWxkICl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9iaiA9IG5ldyBGaWVsZFZhbGlkYXRvcnNcRmxvYXRGaWVsZFZhbGlkYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5zZXRfZmllbGROYW1lKCAkZmllbGQtPm5hbWUgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggJGZpZWxkLT5taW4gKSAkb2JqLT5zZXRfbWluVmFsdWUoIChmbG9hdCkgJGZpZWxkLT5taW4gKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggJGZpZWxkLT5tYXggKSAkb2JqLT5zZXRfbWF4VmFsdWUoIChmbG9hdCkgJGZpZWxkLT5tYXggKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJG9iajsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmKCBjb3VudCgkb3V0KSApIHJldHVybiAkb3V0OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBoYXNfZW1haWxfZmllbGRzKCkKICAgIHsKICAgICAgICBmb3JlYWNoKCAkdGhpcy0+X2ZpZWxkcyBhcyAkZmllbGQgKSB7CiAgICAgICAgICAgIGlmKCAkZmllbGQtPnR5cGUgPT0gJ2VtYWlsJyB8fCAkZmllbGQtPnByaW1pdGl2ZSA9PSAnZW1haWwnICkgcmV0dXJuIFRSVUU7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBoYXNfZGF0ZV9maWVsZHMoKQogICAgewogICAgICAgIGZvcmVhY2goICR0aGlzLT5fZmllbGRzIGFzICRmaWVsZCApIHsKICAgICAgICAgICAgaWYoICRmaWVsZC0+dHlwZSA9PSAnZGF0ZScgfHwgJGZpZWxkLT5wcmltaXRpdmUgPT0gJ2RhdGUnICkgcmV0dXJuIFRSVUU7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBoYXNfZmlsZV9maWVsZHMoKQogICAgewogICAgICAgIGZvcmVhY2goICR0aGlzLT5fZmllbGRzIGFzICRmaWVsZCApIHsKICAgICAgICAgICAgaWYoICRmaWVsZC0+dHlwZSA9PSAnZmlsZScgKSByZXR1cm4gVFJVRTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGhhc19yZXF1aXJlZF9maWVsZHMoKQogICAgewogICAgICAgIGZvcmVhY2goICR0aGlzLT5fZmllbGRzIGFzICRmaWVsZCApIHsKICAgICAgICAgICAgaWYoICRmaWVsZC0+cmVxdWlyZWQgKSByZXR1cm4gVFJVRTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/Dispositions/abstract.Disposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwoKYWJzdHJhY3QgY2xhc3MgRGlzcG9zaXRpb24gaW1wbGVtZW50cyBJRGlzcG9zaXRpb24KewogICAgcHJpdmF0ZSAkX2d1aWQ7CiAgICBwcml2YXRlICRfYWN0aXZlID0gdHJ1ZTsKICAgIAogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgIHsKICAgICAgICAkdGhpcy0+X2d1aWQgPSBceHRfdXRpbHM6OmNyZWF0ZV9ndWlkKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9ndWlkKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9ndWlkOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc19hY3RpdmUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2FjdGl2ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2FjdGl2ZSggJGZsYWcgPSBmYWxzZSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9hY3RpdmUgPSAoYm9vbCkgJGZsYWc7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/abstract.DispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwoKYWJzdHJhY3QgY2xhc3MgRGlzcG9zaXRpb25FZGl0b3IKewogICAgcHJpdmF0ZSAkX2hlbHBlcjsKCiAgICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKTsKICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcG9zaXRpb24oKTsKICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBzZXRfZGlzcG9zaXRpb24oIERpc3Bvc2l0aW9uICRpbiApOwogICAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGdldF9vdXRwdXRjbGFzcygpOwogICAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9lZGl0X2Zvcm0oIGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRkaXNwX2d1aWQgKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX2ludGVyZmFjZSgpIHsgcmV0dXJuIFRSVUU7IH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2hlbHBlcl9wcm94eSggXFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25FZGl0b3JIZWxwZXJQcm94eSAkcHJveHkgKQogICAgewogICAgICAgICR0aGlzLT5faGVscGVyID0gJHByb3h5OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfaGVscGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9oZWxwZXI7CiAgICB9Cn0gLy8gZW5kIG9mIGludGVyZmFjZQo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.ComputedPageDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBDb21wdXRlZFBhZ2VEaXNwb3NpdGlvbiBleHRlbmRzIERpc3Bvc2l0aW9uCnsKICAgIHByaXZhdGUgJF90cGw7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCAka2V5ICkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAndHBsJzoKICAgICAgICBjYXNlICd0ZW1wbGF0ZSc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RwbDsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF90ZW1wbGF0ZSggJHN0ciApCiAgICB7CiAgICAgICAgJHRoaXMtPl90cGwgPSB0cmltKCRzdHIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJHJlc3BvbnNlICkKICAgIHsKICAgICAgICBpZiggISR0aGlzLT5fdHBsICkgcmV0dXJuOwogICAgICAgICRvdXQgPSB1dGlsczo6cHJvY2Vzc190ZW1wbGF0ZSggJHRoaXMtPnRwbCwgJGZvcm0sICRyZXNwb25zZSApOwogICAgICAgICRvdXQgPSB0cmltKCRvdXQpOwogICAgICAgIGlmKCAhJG91dCApIHJldHVybjsKCiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1NtYXJ0Rm9ybXMpOyAvLyBub3QgREkuLi4gYnV0IHdobyBjYXJlcwogICAgICAgICRwYWdlaWQgPSAkbW9kLT5yZXNvbHZlX2FsaWFzX29yX2lkKCAkb3V0ICk7CiAgICAgICAgaWYoICEkcGFnZWlkICkgcmV0dXJuOwoKICAgICAgICByZWRpcmVjdF90b19hbGlhcygkcGFnZWlkKTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.ComputedPageDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfdXRpbHM7CnVzZSB4dF9wYXJhbTsKCmNsYXNzIENvbXB1dGVkUGFnZURpc3Bvc2l0aW9uRWRpdG9yIGV4dGVuZHMgRGlzcG9zaXRpb25FZGl0b3IKewogICAgcHJpdmF0ZSAkX2Rpc3A7CiAgICBwcml2YXRlICRfbW9kOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChcU21hcnRGb3JtcyAkbW9kICkKICAgIHsKICAgICAgICAkdGhpcy0+X21vZCA9ICRtb2Q7CiAgICAgICAgJHRoaXMtPl9kaXNwID0gbmV3IENvbXB1dGVkUGFnZURpc3Bvc2l0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICd0cGwnOgogICAgICAgIGNhc2UgJ3RlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+dGVtcGxhdGU7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfdGVtcGxhdGUoICRzdHIgKQogICAgewogICAgICAgICR0aGlzLT5fZGlzcC0+c2V0X3RlbXBsYXRlKCAkc3RyICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ25hbWVfQ29tcHV0ZWRQYWdlRGlzcG9zaXRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnZGlzcGxheV9Db21wdXRlZFBhZ2VEaXNwb3NpdGlvbicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfc2V0dGluZ3NfZm9ybV91cmwoYXJyYXkgJHBhcmFtcyA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5jcmVhdGVfdXJsKCAnbTFfJywgJ2FkbWluX2VkaXRfZGRmaWxlX2Rpc3Bvc2l0aW9uJywgJycsICRwYXJhbXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcG9zaXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2Rpc3A7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9kaXNwb3NpdGlvbiggRGlzcG9zaXRpb24gJGRpc3AgKQogICAgewogICAgICAgIGlmKCAhICRkaXNwIGluc3RhbmNlb2YgQ29tcHV0ZWRQYWdlRGlzcG9zaXRpb24gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdvYmplY3Qgb2YgdHlwZSAnLmdldF9jbGFzcygkZGlzcCkuJyBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X2Rpc3AgPSAkZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gJ1NtYXJ0Rm9ybXNcXERpc3Bvc2l0aW9uc1xcQ29tcHV0ZWRQYWdlRGlzcG9zaXRpb24nOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVfZWRpdF9mb3JtKGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRkaXNwX2d1aWQpCiAgICB7CiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwoKICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdjYW5jZWwnKSApIHsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+Y2FuY2VsKCAkZm9ybV9ndWlkICk7CiAgICAgICAgfQogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgICAgICAgICAkdGhpcy0+c2V0X3RlbXBsYXRlKHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywndGVtcGxhdGUnKSk7CgogICAgICAgICAgICAvLyBub3cgaGF2ZSB0aGUgZGlzcG9zaXRpb24gb2JqZWN0LCBzdG9yZSBpdC4KICAgICAgICAgICAgLy8gdG9kbzogJHRoaXMtPmZpbmlzaF9lZGl0aW5nX3Nlc3Npb24oKTsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF9kaXNwb3NpdGlvbigpLCAkZGlzcF9ndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJG1vZC0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VkaXRfY29tcHV0ZWRwYWdlX2Rpc3Bvc2l0aW9uLnRwbCcpOwogICAgICAgICR0cGwtPmFzc2lnbignZWRpdG9yX25hbWUnLGdldF9jbGFzcygkdGhpcykpOwogICAgICAgICR0cGwtPmFzc2lnbignaGFuZGxlcicsJHRoaXMtPl9kaXNwKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2Zvcm1fZ3VpZCcsJGZvcm1fZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdndWlkJywkZGlzcF9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3RwbF9oZWxwJyxcU21hcnRGb3Jtc1x1dGlsczo6Z2V0X2Zvcm1fdHBsX2hlbHAoICRmb3JtICkpOwogICAgICAgICR0cGwtPmRpc3BsYXkoKTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.DropdownEmailDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBEcm9wZG93bkVtYWlsRGlzcG9zaXRpb24gZXh0ZW5kcyBEaXNwb3NpdGlvbgp7CiAgICBwcml2YXRlICRfZmllbGQ7CiAgICBwcml2YXRlICRfZGZsdF9hZGRyZXNzOwogICAgcHJpdmF0ZSAkX3ZhbHVlX21hcDsKICAgIHByaXZhdGUgJF9zdWJqZWN0dGVtcGxhdGU7CiAgICBwcml2YXRlICRfYm9keXRlbXBsYXRlOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdmaWVsZCc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fZmllbGQpOwogICAgICAgIGNhc2UgJ2RmbHRfYWRkcmVzcyc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fZGZsdF9hZGRyZXNzKTsKICAgICAgICBjYXNlICdzdWJqZWN0dGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X3N1YmplY3R0ZW1wbGF0ZSk7CiAgICAgICAgY2FzZSAnYm9keXRlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oJHRoaXMtPl9ib2R5dGVtcGxhdGUpOwogICAgICAgIGNhc2UgJ3ZhbHVlX21hcCc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fdmFsdWVfbWFwKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9maWVsZCggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fZmllbGQgPSB0cmltKCRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2RmbHRfYWRkcmVzcyggJGRhdGEgKQogICAgewogICAgICAgICRkYXRhID0gdHJpbSgkZGF0YSk7CiAgICAgICAgaWYoICRkYXRhICYmICFpc19lbWFpbCggJGRhdGEgKSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oIiRkYXRhIGlzIG5vdCBhIHZhbGlkIGVtYWlsIGFkZHJlc3MiKTsKICAgICAgICAkdGhpcy0+X2RmbHRfYWRkcmVzcyA9ICRkYXRhOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfdmFsdWVfbWFwKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl92YWx1ZV9tYXAgPSB0cmltKCRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3N1YmplY3R0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fc3ViamVjdHRlbXBsYXRlID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9ib2R5dGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICAkdGhpcy0+X2JvZHl0ZW1wbGF0ZSA9IHRyaW0oJGRhdGEpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmcm9tX3RleHQoJG1hcF90ZXh0KQogICAgewogICAgICAgICRvdXQgPSBbXTsKICAgICAgICAkbGluZXMgPSBleHBsb2RlKCJcbiIsJG1hcF90ZXh0KTsKICAgICAgICBmb3JlYWNoKCAkbGluZXMgYXMgJGxpbmUgKSB7CiAgICAgICAgICAgICRsaW5lID0gdHJpbSgkbGluZSk7CiAgICAgICAgICAgIGlmKCAhJGxpbmUgKSBjb250aW51ZTsKICAgICAgICAgICAgJHBhcnRzID0gZXhwbG9kZSgifCIsJGxpbmUsMik7CiAgICAgICAgICAgIGlmKCBjb3VudCgkcGFydHMpICE9IDIgKSBjb250aW51ZTsKICAgICAgICAgICAgJGtleSA9IHRyaW0oJHBhcnRzWzBdKTsKICAgICAgICAgICAgJHZhbCA9IHRyaW0oJHBhcnRzWzFdKTsKICAgICAgICAgICAgJG91dFska2V5XSA9ICR2YWw7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJGRhdGEpCiAgICB7CiAgICAgICAgJGFkZHJlc3NlcyA9IFtdOwogICAgICAgICR2YWwgPSAkZGF0YS0+eyR0aGlzLT5maWVsZH07CiAgICAgICAgJGZpZWxkID0gJGZvcm0tPmdldF9maWVsZCggJHRoaXMtPmZpZWxkICk7CgogICAgICAgIC8vICR2YWwgY291bGQgYmUgYW4gYXJyYXkKICAgICAgICBpZiggIWlzX2FycmF5KCR2YWwpICkgJHZhbCA9IFsgJHZhbCBdOwogICAgICAgICRtYXAgPSAkdGhpcy0+ZnJvbV90ZXh0KCR0aGlzLT52YWx1ZV9tYXApOwogICAgICAgIGlmKCBjb3VudCgkbWFwKSApIHsKICAgICAgICAgICAgZm9yZWFjaCggJHZhbCBhcyAkb25lX3ZhbCApIHsKICAgICAgICAgICAgICAgIGlmKCBhcnJheV9rZXlfZXhpc3RzKCRvbmVfdmFsLCRtYXApICkgJGFkZHJlc3Nlc1tdID0gJG1hcFskb25lX3ZhbF07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoICFjb3VudCgkYWRkcmVzc2VzKSAmJiAkdGhpcy0+ZGZsdF9hZGRyZXNzICkgJGFkZHJlc3Nlc1tdID0gJHRoaXMtPmRmbHRfYWRkcmVzczsKICAgICAgICBpZiggIWNvdW50KCRhZGRyZXNzZXMpICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdObyB2YWxpZCBlbWFpbCBhZGRyZXNzZXMgdG8gc2VuZCB0byBmb3IgRHJvcERvd25FbWFpbERpc3Bvc3Rpb24gb24gJy4kZmllbGQtPm5hbWUpOwoKICAgICAgICAkbWFpbGVyID0gXFNtYXJ0Rm9ybXNcdXRpbHM6OmdldF9tYWlsZXIoICRmb3JtICk7CiAgICAgICAgZm9yZWFjaCggJGFkZHJlc3NlcyBhcyAkZW1haWwgKSB7CiAgICAgICAgICAgICRtYWlsZXItPkFkZEFkZHJlc3MoICRlbWFpbCApOwogICAgICAgIH0KICAgICAgICBpZiggJGRhdGEtPnJlcGx5dG9fYWRkcmVzcyAmJiBpc19lbWFpbCgkZGF0YS0+cmVwbHl0b19hZGRyZXNzKSApIHsKICAgICAgICAgICAgJG1haWxlci0+Y2xlYXJSZXBseVRvcygpOwogICAgICAgICAgICAkbWFpbGVyLT5BZGRSZXBseVRvKCAkZGF0YS0+cmVwbHl0b19hZGRyZXNzICk7CiAgICAgICAgfQoKICAgICAgICAkc3ViamVjdCA9IHRyaW0oIHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+c3ViamVjdHRlbXBsYXRlLCAkZm9ybSwgJGRhdGEpICk7CiAgICAgICAgJGJvZHkgPSB0cmltKCB1dGlsczo6cHJvY2Vzc190ZW1wbGF0ZSggJHRoaXMtPmJvZHl0ZW1wbGF0ZSwgJGZvcm0sICRkYXRhKSApOwogICAgICAgIGlmKCAhJHN1YmplY3QgfHwgISRib2R5ICkgcmV0dXJuOwogICAgICAgICRtYWlsZXItPlNldFN1YmplY3QoICRzdWJqZWN0ICk7CiAgICAgICAgJG1haWxlci0+U2V0Qm9keSggJGJvZHkgKTsKICAgICAgICAkbWFpbGVyLT5TZW5kKCk7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.DropdownEmailDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfdXRpbHM7CnVzZSB4dF9wYXJhbTsKCmNsYXNzIERyb3Bkb3duRW1haWxEaXNwb3NpdGlvbkVkaXRvciBleHRlbmRzIERpc3Bvc2l0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF9kaXNwOwogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fZGlzcCA9IG5ldyBEcm9wZG93bkVtYWlsRGlzcG9zaXRpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2ZpZWxkJzoKICAgICAgICBjYXNlICdkZmx0X2FkZHJlc3MnOgogICAgICAgIGNhc2UgJ3N1YmplY3R0ZW1wbGF0ZSc6CiAgICAgICAgY2FzZSAndmFsdWVfbWFwJzoKICAgICAgICBjYXNlICdib2R5dGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwLT4ka2V5OwogICAgICAgIGNhc2UgJ3ZhbHVlX21hcF9hcnJheSc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+ZnJvbV90ZXh0KCR0aGlzLT52YWx1ZV9tYXApOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZnJvbV90ZXh0KCRtYXBfdGV4dCkKICAgIHsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgJGxpbmVzID0gZXhwbG9kZSgiXG4iLCRtYXBfdGV4dCk7CiAgICAgICAgZm9yZWFjaCggJGxpbmVzIGFzICRsaW5lICkgewogICAgICAgICAgICAkbGluZSA9IHRyaW0oJGxpbmUpOwogICAgICAgICAgICBpZiggISRsaW5lICkgY29udGludWU7CiAgICAgICAgICAgICRwYXJ0cyA9IGV4cGxvZGUoInwiLCRsaW5lLDIpOwogICAgICAgICAgICBpZiggY291bnQoJHBhcnRzKSAhPSAyICkgY29udGludWU7CiAgICAgICAgICAgICRrZXkgPSB0cmltKCRwYXJ0c1swXSk7CiAgICAgICAgICAgICR2YWwgPSB0cmltKCRwYXJ0c1sxXSk7CiAgICAgICAgICAgICRvdXRbJGtleV0gPSAkdmFsOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2ZpZWxkKCAkZmllbGRuYW1lICkKICAgIHsKICAgICAgICAkdGhpcy0+X2Rpc3AtPnNldF9maWVsZCggJGZpZWxkbmFtZSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZGZsdF9hZGRyZXNzKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9kaXNwLT5zZXRfZGZsdF9hZGRyZXNzKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfdmFsdWVfbWFwKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9kaXNwLT5zZXRfdmFsdWVfbWFwKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3ViamVjdHRlbXBsYXRlKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9kaXNwLT5zZXRfc3ViamVjdHRlbXBsYXRlKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfYm9keXRlbXBsYXRlKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9kaXNwLT5zZXRfYm9keXRlbXBsYXRlKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXNldF90ZW1wbGF0ZXMoIEZvcm0gJGZvcm0gKQogICAgewogICAgICAgICR0bXAgPSBudWxsOwogICAgICAgIGZvcmVhY2goICRmb3JtLT5maWVsZHMgYXMgJGZpZWxkICkgewogICAgICAgICAgICAkbmFtZSA9ICRmaWVsZC0+bmFtZTsKICAgICAgICAgICAgJGxhYmVsID0gJGZpZWxkLT5sYWJlbDsKICAgICAgICAgICAgaWYoICEkbGFiZWwgKSAkbGFiZWwgPSAkbmFtZTsKCiAgICAgICAgICAgICR2YWxzdHIgPSBudWxsOwogICAgICAgICAgICBpZiggJGZpZWxkLT5tdWx0aXBsZSApIHsKICAgICAgICAgICAgICAgICR2YWxzdHIgPSAiXCJ7aWYgIWVtcHR5KFwkJG5hbWUpfXtpbXBsb2RlKCcrJyxcJCRuYW1lKX17L2lmfVwiIjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR2YWxzdHIgPSAnInskJy4kbmFtZS4nfGRlZmF1bHQ6XCdcJ30iJzsKICAgICAgICAgICAgfQogICAgICAgICAgICAkdG1wIC49ICI8cD48c3Ryb25nPnskbGFiZWx9PC9zdHJvbmc+IDxzcGFuPnskdmFsc3RyfTwvc3Bhbj48L3A+XG4iOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+c2V0X3N1YmplY3R0ZW1wbGF0ZSggJ05ldyBmb3JtIHN1Ym1pc3Npb24nKTsKICAgICAgICAkdGhpcy0+c2V0X2JvZHl0ZW1wbGF0ZSggIntzdHJpcH17JHRtcH17L3N0cmlwfSIgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnbmFtZV9Ecm9wZG93bkVtYWlsRGlzcG9zaXRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnZGlzcGxheV9Ecm9wZG93bkVtYWlsRGlzcG9zaXRpb24nLCR0aGlzLT5maWVsZCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9zZXR0aW5nc19mb3JtX3VybChhcnJheSAkcGFyYW1zID0gbnVsbCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPmNyZWF0ZV91cmwoICdtMV8nLCAnYWRtaW5fZWRpdF9kZGZpbGVfZGlzcG9zaXRpb24nLCAnJywgJHBhcmFtcyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9kaXNwb3NpdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2Rpc3Bvc2l0aW9uKCBEaXNwb3NpdGlvbiAkZGlzcCApCiAgICB7CiAgICAgICAgaWYoICEgJGRpc3AgaW5zdGFuY2VvZiBEcm9wZG93bkVtYWlsRGlzcG9zaXRpb24gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdvYmplY3Qgb2YgdHlwZSAnLmdldF9jbGFzcygkZGlzcCkuJyBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X2Rpc3AgPSAkZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gJ1NtYXJ0Rm9ybXNcXERpc3Bvc2l0aW9uc1xcRHJvcGRvd25FbWFpbERpc3Bvc2l0aW9uJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFuZGxlX2VkaXRfZm9ybShhcnJheSAkcGFyYW1zLCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCAkZm9ybV9ndWlkLCAkZGlzcF9ndWlkKQogICAgewogICAgICAgICRtb2QgPSAkdGhpcy0+X21vZDsKCiAgICAgICAgaWYoICEkZGlzcF9ndWlkICkgJHRoaXMtPnJlc2V0X3RlbXBsYXRlcyggJGZvcm0gKTsKCiAgICAgICAgaWYoIHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnY2FuY2VsJykgKSB7CiAgICAgICAgICAgICR0aGlzLT5nZXRfaGVscGVyKCktPmNhbmNlbCggJGZvcm1fZ3VpZCApOwogICAgICAgIH0KICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdyZXNldF90cGwnKSApIHsKICAgICAgICAgICAgJHRoaXMtPnJlc2V0X3RlbXBsYXRlcyggJGZvcm0gKTsKICAgICAgICB9CiAgICAgICAgaWYoIHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnc3VibWl0JykgKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRfZmllbGQoeHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZmllbGQnKSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRfZGZsdF9hZGRyZXNzKHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2RmbHRfYWRkcmVzcycpKTsKICAgICAgICAgICAgJHRoaXMtPnNldF92YWx1ZV9tYXAoeHRfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCd2YWx1ZV9tYXAnKSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRfc3ViamVjdHRlbXBsYXRlKHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnc3ViamVjdHRlbXBsYXRlJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0X2JvZHl0ZW1wbGF0ZSh4dF91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2JvZHl0ZW1wbGF0ZScpKTsKCiAgICAgICAgICAgIC8vIG5vdyBoYXZlIHRoZSBkaXNwb3NpdGlvbiBvYmplY3QsIHN0b3JlIGl0LgogICAgICAgICAgICAkdGhpcy0+Z2V0X2hlbHBlcigpLT5maW5pc2goICRmb3JtLCAkZm9ybV9ndWlkLCAkdGhpcy0+Z2V0X2Rpc3Bvc2l0aW9uKCksICRkaXNwX2d1aWQgKTsKICAgICAgICB9CgogICAgICAgICR0cGwgPSAkbW9kLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgnYWRtaW5fZWRpdF9kZGVtYWlsX2Rpc3Bvc2l0aW9uLnRwbCcpOwogICAgICAgICR0cGwtPmFzc2lnbignc2VsZWN0X2ZpZWxkcycsJGZvcm0tPmdldF9tdWx0aW9wdGlvbl9maWVsZHMoVFJVRSkpOwogICAgICAgICR0cGwtPmFzc2lnbignZWRpdG9yX25hbWUnLGdldF9jbGFzcygkdGhpcykpOwogICAgICAgICR0cGwtPmFzc2lnbignaGFuZGxlcicsJHRoaXMpOwogICAgICAgICR0cGwtPmFzc2lnbignZm9ybV9ndWlkJywkZm9ybV9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2d1aWQnLCRkaXNwX2d1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbigndHBsX2hlbHAnLFxTbWFydEZvcm1zXHV0aWxzOjpnZXRfZm9ybV90cGxfaGVscCggJGZvcm0gKSk7CiAgICAgICAgJHRwbC0+ZGlzcGxheSgpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.DropdownFileDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBEcm9wZG93bkZpbGVEaXNwb3NpdGlvbiBleHRlbmRzIERpc3Bvc2l0aW9uCnsKICAgIHByaXZhdGUgJF9maWVsZDsKICAgIHByaXZhdGUgJF9mb2xkZXI7CiAgICBwcml2YXRlICRfaGVhZGVydGVtcGxhdGU7CiAgICBwcml2YXRlICRfZW50cnl0ZW1wbGF0ZTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnZmllbGQnOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X2ZpZWxkKTsKICAgICAgICBjYXNlICdmb2xkZXInOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X2ZvbGRlcik7CiAgICAgICAgY2FzZSAnaGVhZGVydGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X2hlYWRlcnRlbXBsYXRlKTsKICAgICAgICBjYXNlICdlbnRyeXRlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oJHRoaXMtPl9lbnRyeXRlbXBsYXRlKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9maWVsZCggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fZmllbGQgPSB0cmltKCRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2ZvbGRlciggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fZm9sZGVyID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9oZWFkZXJ0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5faGVhZGVydGVtcGxhdGUgPSB0cmltKCRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2VudHJ5dGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICAkdGhpcy0+X2VudHJ5dGVtcGxhdGUgPSB0cmltKCRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGlzcG9zZSggXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgXFNtYXJ0Rm9ybXNcRm9ybVJlc3BvbnNlICRkYXRhKQogICAgewogICAgICAgICRjb25maWcgPSBcY21zX2NvbmZpZzo6Z2V0X2luc3RhbmNlKCk7CiAgICAgICAgLy8gZ2V0IHRoZSB2YWx1ZS4KICAgICAgICAkdmFsID0gJGRhdGEtPnskdGhpcy0+ZmllbGR9OwoKICAgICAgICAvLyBidWlsZCBhIGZpbGVuYW1lIGZvciB0aGlzIHZhbHVlLgogICAgICAgIC8vLyBnZXQgdGhlIGZpZWxkCiAgICAgICAgJGZpZWxkID0gJGZvcm0tPmdldF9maWVsZCggJHRoaXMtPmZpZWxkICk7CiAgICAgICAgJGhyID0gJHZhbDsKICAgICAgICAkb3B0ID0gJGZpZWxkLT5nZXRfb3B0aW9uX2J5X3ZhbHVlKCAkdmFsICk7CiAgICAgICAgaWYoICRvcHQgKSAkaHIgPSAkb3B0LT5ocjsKCiAgICAgICAgLy8gdG9kbzogY2xlYW51cCAkaHIgdG8gc21ldGhpbmcgcmVhc29uYWJsZSAobm8gZnVua3kgY2hhcnMpCgogICAgICAgICRmaWxlbmFtZSA9ICR0aGlzLT5maWVsZC4nXycuJGhyLicudHh0JzsKICAgICAgICAkZmlsZW5hbWUgPSAkY29uZmlnWydyb290X3BhdGgnXS4nLycuJHRoaXMtPmZvbGRlci4nLycuJGZpbGVuYW1lOwoKICAgICAgICAvLyBpZiB0aGUgZGlyZWN0b3J5IGlzIHJlbGF0aXZlIHRvIHRoZSByb290IHBhdGgsICBBTkQgZG9lc24ndCBleGlzdAogICAgICAgIC8vIGNyZWF0ZSBpdC4KICAgICAgICAkZGlyID0gZGlybmFtZSgkZmlsZW5hbWUpOwogICAgICAgIGlmKCAhaXNfZGlyKCAkZGlyICkgJiYgdXRpbHM6OmlzX2Ntc21zX3JlbGF0aXZlKCAkZGlyICkgKSB7CiAgICAgICAgICAgICRyZXMgPSBta2RpciggJGRpciwgMDc3NywgVFJVRSApOwogICAgICAgICAgICBpZiggISRyZXMgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ1NZU1RFTSBFUlJPUjogIENvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IGF0ICcuJGRpcik7CiAgICAgICAgfQogICAgICAgIGlmKCAhdXRpbHM6OmNhbl93cml0ZV9maWxlKCAkZmlsZW5hbWUpICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdTWVNURU0gRVJST1I6IENhbm5vdCB3cml0ZSB0byAnLiRmaWxlbmFtZSk7CiAgICAgICAgLy8gaWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QKICAgICAgICAvLyBwcm9jZXNzIHRoZSB0ZW1wbGF0ZSBmb3IgdGhlIGhlYWRlciwgYW5kIHdyaXRlIGl0LgoKICAgICAgICBpZiggIWlzX2ZpbGUoJGZpbGVuYW1lKSApIHsKICAgICAgICAgICAgJG91dHB1dCA9IHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+aGVhZGVydGVtcGxhdGUsICRmb3JtLCAkZGF0YSApOwogICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkZmlsZW5hbWUsJG91dHB1dCk7CiAgICAgICAgfQoKICAgICAgICAvLyBwcm9jZXNzIHRlbXBsYXRlIGZvciB0aGUgZW50cnksICBhbmQgd3JpdGUuCiAgICAgICAgJG91dHB1dCA9IHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+ZW50cnl0ZW1wbGF0ZSwgJGZvcm0sICRkYXRhICk7CiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGZpbGVuYW1lLCRvdXRwdXQsRklMRV9BUFBFTkQpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.DropdownFileDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfdXRpbHM7CnVzZSB4dF9wYXJhbTsKCmNsYXNzIERyb3Bkb3duRmlsZURpc3Bvc2l0aW9uRWRpdG9yIGV4dGVuZHMgRGlzcG9zaXRpb25FZGl0b3IKewogICAgcHJpdmF0ZSAkX2Rpc3A7CiAgICBwcml2YXRlICRfbW9kOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChcU21hcnRGb3JtcyAkbW9kICkKICAgIHsKICAgICAgICAkdGhpcy0+X21vZCA9ICRtb2Q7CiAgICAgICAgJHRoaXMtPl9kaXNwID0gbmV3IERyb3Bkb3duRmlsZURpc3Bvc2l0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdmaWVsZCc6CiAgICAgICAgY2FzZSAnZm9sZGVyJzoKICAgICAgICBjYXNlICdoZWFkZXJ0ZW1wbGF0ZSc6CiAgICAgICAgY2FzZSAnZW50cnl0ZW1wbGF0ZSc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2Rpc3AtPiRrZXk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZmllbGQoICRmaWVsZG5hbWUgKQogICAgewogICAgICAgICR0aGlzLT5fZGlzcC0+c2V0X2ZpZWxkKCAkZmllbGRuYW1lICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9mb2xkZXIoICRmb2xkZXIgKQogICAgewogICAgICAgICR0aGlzLT5fZGlzcC0+c2V0X2ZvbGRlciggJGZvbGRlciApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfaGVhZGVydGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICAkdGhpcy0+X2Rpc3AtPnNldF9oZWFkZXJ0ZW1wbGF0ZSggJGRhdGEgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2VudHJ5dGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICAkdGhpcy0+X2Rpc3AtPnNldF9lbnRyeXRlbXBsYXRlKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXNldF90ZW1wbGF0ZXMoIEZvcm0gJGZvcm0gKQogICAgewogICAgICAgICRsYWJlbHMgPSBbXTsKCiAgICAgICAgJHRtcCA9IFtdOwogICAgICAgIGZvcmVhY2goICRmb3JtLT5maWVsZHMgYXMgJGZpZWxkICkgewogICAgICAgICAgICAkbmFtZSA9ICRmaWVsZC0+bmFtZTsKICAgICAgICAgICAgJGxhYmVsID0gJGZpZWxkLT5sYWJlbDsKICAgICAgICAgICAgaWYoICEkbGFiZWwgKSAkbGFiZWwgPSAkbmFtZTsKICAgICAgICAgICAgJGxhYmVsc1tdID0gJGxhYmVsOwoKICAgICAgICAgICAgaWYoICRmaWVsZC0+bXVsdGlwbGUgKSB7CiAgICAgICAgICAgICAgICAkdG1wW10gPSAiXCJ7aWYgIWVtcHR5KFwkJG5hbWUpfXtpbXBsb2RlKCcrJyxcJCRuYW1lKX17L2lmfVwiXG4iOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHRtcFtdID0gJyJ7JCcuJG5hbWUuJ3xkZWZhdWx0OlwnXCd9IicuIlxuIjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+c2V0X2hlYWRlcnRlbXBsYXRlKCAnIycuaW1wbG9kZSgnLCcsJGxhYmVscykuJ3skRU9MfScgKTsKICAgICAgICAkdGhpcy0+c2V0X2VudHJ5dGVtcGxhdGUoICJ7c3RyaXB9XG4iLmltcGxvZGUoJywnLCR0bXApLiJ7XCRFT0x9ey9zdHJpcH0iICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ25hbWVfRHJvcGRvd25GaWxlRGlzcG9zaXRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnZGlzcGxheV9Ecm9wZG93bkZpbGVEaXNwb3NpdGlvbicsJHRoaXMtPmZvbGRlciwkdGhpcy0+ZmllbGQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfc2V0dGluZ3NfZm9ybV91cmwoYXJyYXkgJHBhcmFtcyA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5jcmVhdGVfdXJsKCAnbTFfJywgJ2FkbWluX2VkaXRfZGRmaWxlX2Rpc3Bvc2l0aW9uJywgJycsICRwYXJhbXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcG9zaXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2Rpc3A7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9kaXNwb3NpdGlvbiggRGlzcG9zaXRpb24gJGRpc3AgKQogICAgewogICAgICAgIGlmKCAhICRkaXNwIGluc3RhbmNlb2YgRHJvcGRvd25GaWxlRGlzcG9zaXRpb24gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdvYmplY3Qgb2YgdHlwZSAnLmdldF9jbGFzcygkZGlzcCkuJyBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X2Rpc3AgPSAkZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gJ1NtYXJ0Rm9ybXNcXERpc3Bvc2l0aW9uc1xcRHJvcGRvd25GaWxlRGlzcG9zaXRpb24nOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVfZWRpdF9mb3JtKGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRkaXNwX2d1aWQpCiAgICB7CiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwoKICAgICAgICBpZiggISRkaXNwX2d1aWQgKSAkdGhpcy0+cmVzZXRfdGVtcGxhdGVzKCAkZm9ybSApOwoKICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdjYW5jZWwnKSApIHsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+Y2FuY2VsKCAkZm9ybV9ndWlkICk7CiAgICAgICAgfQogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3Jlc2V0X3RwbCcpICkgewogICAgICAgICAgICAkdGhpcy0+cmVzZXRfdGVtcGxhdGVzKCAkZm9ybSApOwogICAgICAgIH0KICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdzdWJtaXQnKSApIHsKICAgICAgICAgICAgJHRoaXMtPnNldF9maWVsZCh4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdmaWVsZCcpKTsKICAgICAgICAgICAgJHRoaXMtPnNldF9mb2xkZXIoeHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZm9sZGVyJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0X2hlYWRlcnRlbXBsYXRlKHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnaGVhZGVydGVtcGxhdGUnKSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRfZW50cnl0ZW1wbGF0ZSh4dF91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2VudHJ5dGVtcGxhdGUnKSk7CgogICAgICAgICAgICAvLyBub3cgaGF2ZSB0aGUgZGlzcG9zaXRpb24gb2JqZWN0LCBzdG9yZSBpdC4KICAgICAgICAgICAgLy8gdG9kbzogJHRoaXMtPmZpbmlzaF9lZGl0aW5nX3Nlc3Npb24oKTsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF9kaXNwb3NpdGlvbigpLCAkZGlzcF9ndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJG1vZC0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VkaXRfZGRmaWxlX2Rpc3Bvc2l0aW9uLnRwbCcpOwogICAgICAgICR0cGwtPmFzc2lnbignc2VsZWN0X2ZpZWxkcycsJGZvcm0tPmdldF9tdWx0aW9wdGlvbl9maWVsZHMoKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdlZGl0b3JfbmFtZScsZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdoYW5kbGVyJywkdGhpcyk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdmb3JtX2d1aWQnLCRmb3JtX2d1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbignZ3VpZCcsJGRpc3BfZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCd0cGxfaGVscCcsXFNtYXJ0Rm9ybXNcdXRpbHM6OmdldF9mb3JtX3RwbF9oZWxwKCAkZm9ybSApKTsKICAgICAgICAkdHBsLT5kaXNwbGF5KCk7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.EmailAdminGroupDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBFbWFpbEFkbWluR3JvdXBEaXNwb3NpdGlvbiBleHRlbmRzIERpc3Bvc2l0aW9uCnsKICAgIHByaXZhdGUgJF9ncm91cDsKICAgIHByaXZhdGUgJF9zdWJqZWN0dGVtcGxhdGU7CiAgICBwcml2YXRlICRfYm9keXRlbXBsYXRlOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdncm91cCc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2dyb3VwOwogICAgICAgIGNhc2UgJ3N1YmplY3R0ZW1wbGF0ZSc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fc3ViamVjdHRlbXBsYXRlKTsKICAgICAgICBjYXNlICdib2R5dGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X2JvZHl0ZW1wbGF0ZSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZ3JvdXAoICRnaWQgKQogICAgewogICAgICAgICR0aGlzLT5fZ3JvdXAgPSAoaW50KSAkZ2lkOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZ3JvdXAoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2dyb3VwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3ViamVjdHRlbXBsYXRlKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9zdWJqZWN0dGVtcGxhdGUgPSB0cmltKCRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2JvZHl0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fYm9keXRlbXBsYXRlID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRpc3Bvc2UoIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkZGF0YSkKICAgIHsKICAgICAgICAkbGlzdCA9IG51bGw7CiAgICAgICAgaWYoICR0aGlzLT5fZ3JvdXAgPiAwICkgJGxpc3QgPSBceHRfdXNlcm9wczo6ZXhwYW5kX2dyb3VwX2VtYWlscyggJHRoaXMtPl9ncm91cCApOwogICAgICAgIGlmKCAhJGxpc3QgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ05vIHZhbGlkIGVtYWlsIGFkZHJlc3NlcyB0byBzZW5kIHRvIGZvciBFbWFpbEFkbWluR3JvdXBEaXNwb3NpdGlvbicpOwoKICAgICAgICAkbWFpbGVyID0gXFNtYXJ0Rm9ybXNcdXRpbHM6OmdldF9tYWlsZXIoICRmb3JtICk7CiAgICAgICAgJGFkZGVkID0gZmFsc2U7CiAgICAgICAgZm9yZWFjaCggJGxpc3QgYXMgJGFkZHIgKSB7CiAgICAgICAgICAgICRhZGRyID0gdHJpbSgkYWRkcik7CiAgICAgICAgICAgIGlmKCAhJGFkZHIgKSBjb250aW51ZTsKICAgICAgICAgICAgaWYoICFpc19lbWFpbCggJGFkZHIpICkgY29udGludWU7CiAgICAgICAgICAgICRtYWlsZXItPkFkZEFkZHJlc3MoICRhZGRyICk7CiAgICAgICAgICAgICRhZGRlZCA9IHRydWU7CiAgICAgICAgfQogICAgICAgIGlmKCAhJGFkZGVkICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdObyB2YWxpZCBlbWFpbCBhZGRyZXNzZXMgdG8gc2VuZCB0byBmb3IgRW1haWxBZG1pbkdyb3VwRGlzcG9zaXRpb24nKTsKCiAgICAgICAgJHN1YmplY3QgPSB0cmltKHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+c3ViamVjdHRlbXBsYXRlLCAkZm9ybSwgJGRhdGEpKTsKICAgICAgICAkYm9keSA9IHRyaW0odXRpbHM6OnByb2Nlc3NfdGVtcGxhdGUoICR0aGlzLT5ib2R5dGVtcGxhdGUsICRmb3JtLCAkZGF0YSkpOwogICAgICAgIGlmKCAhJHN1YmplY3QgfHwgISRib2R5ICkgcmV0dXJuOwoKICAgICAgICAkbWFpbGVyLT5TZXRTdWJqZWN0KCAkc3ViamVjdCApOwogICAgICAgICRtYWlsZXItPlNldEJvZHkoICRib2R5ICk7CiAgICAgICAgaWYoICRkYXRhLT5yZXBseXRvX2FkZHJlc3MgJiYgaXNfZW1haWwoJGRhdGEtPnJlcGx5dG9fYWRkcmVzcykgKSB7CiAgICAgICAgICAgICRtYWlsZXItPmNsZWFyUmVwbHlUb3MoKTsKICAgICAgICAgICAgJG1haWxlci0+QWRkUmVwbHlUbyggJGRhdGEtPnJlcGx5dG9fYWRkcmVzcyApOwogICAgICAgIH0KICAgICAgICAkbWFpbGVyLT5TZW5kKCk7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.EmailAdminGroupDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfdXRpbHM7CnVzZSB4dF9wYXJhbTsKCmNsYXNzIEVtYWlsQWRtaW5Hcm91cERpc3Bvc2l0aW9uRWRpdG9yIGV4dGVuZHMgRGlzcG9zaXRpb25FZGl0b3IKewoKICAgIHByaXZhdGUgJF9kaXNwOwogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fZGlzcCA9IG5ldyBFbWFpbEFkbWluR3JvdXBEaXNwb3NpdGlvbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnZ3JvdXAnOgogICAgICAgIGNhc2UgJ3N1YmplY3R0ZW1wbGF0ZSc6CiAgICAgICAgY2FzZSAnYm9keXRlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+JGtleTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9ncm91cCggJGdpZCApCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+c2V0X2dyb3VwKCAkZ2lkICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9zdWJqZWN0dGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwLT5zZXRfc3ViamVjdHRlbXBsYXRlKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfYm9keXRlbXBsYXRlKCAkZGF0YSApCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+c2V0X2JvZHl0ZW1wbGF0ZSggJGRhdGEgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzZXRfdGVtcGxhdGVzKCBGb3JtICRmb3JtICkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0X3N1YmplY3R0ZW1wbGF0ZSgnU3VibWlzc2lvbiBmcm9tIHskcmVzcG9uc2UtPmZvcm1fbmFtZX0gZm9ybScpOwogICAgICAgICRvdXQgPSBudWxsOwogICAgICAgIGZvcmVhY2goICRmb3JtLT5maWVsZHMgYXMgJGZpZWxkICkgewogICAgICAgICAgICAkbmFtZSA9ICRmaWVsZC0+bmFtZTsKICAgICAgICAgICAgJGxhYmVsID0gJGZpZWxkLT5sYWJlbDsKICAgICAgICAgICAgaWYoICEkbGFiZWwgKSAkbGFiZWwgPSAkbmFtZTsKCiAgICAgICAgICAgIGlmKCAkZmllbGQtPm11bHRpcGxlICkgewogICAgICAgICAgICAgICAgJG91dCAuPSAie2lmICFlbXB0eShcJCRuYW1lKX08cD48c3Ryb25nPiRsYWJlbDo8L3N0cm9uZz4ge2ltcGxvZGUoJyArICcsXCQkbmFtZSl9PC9wPnsvaWZ9XG4iOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJG91dCAuPSAie2lmICFlbXB0eShcJCRuYW1lKX08cD48c3Ryb25nPiRsYWJlbDo8L3N0cm9uZz4ge1wkJG5hbWV9PC9wPnsvaWZ9XG4iOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICR0aGlzLT5zZXRfYm9keXRlbXBsYXRlKCJ7c3RyaXB9XG4iLiRvdXQuInsvc3RyaXB9Iik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ25hbWVfRW1haWxBZG1pbkdyb3VwRGlzcG9zaXRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgICRsaXN0ID0gXHh0X3VzZXJvcHM6OmdldF9ncm91cGxpc3QoRkFMU0UpOwogICAgICAgICRnaWQgPSAkdGhpcy0+Z3JvdXA7CiAgICAgICAgJGduYW1lID0gJ3Vua25vd24nOwogICAgICAgIGlmKCBpc3NldCggJGxpc3RbJGdpZF0pICkgJGduYW1lID0gJGxpc3RbJGdpZF07CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCdkaXNwbGF5X0VtYWlsQWRtaW5Hcm91cERpc3Bvc2l0aW9uJywgJGduYW1lKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3Bvc2l0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZGlzcG9zaXRpb24oIERpc3Bvc2l0aW9uICRkaXNwICkKICAgIHsKICAgICAgICBpZiggISRkaXNwIGluc3RhbmNlb2YgRW1haWxBZG1pbkdyb3VwZGlzcG9zaXRpb24gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdvYmplY3Qgb2YgdHlwZSAnLmdldF9jbGFzcygkZGlzcCkuJyBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X2Rpc3AgPSAkZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gJ1NtYXJ0Rm9ybXNcXERpc3Bvc2l0aW9uc1xcRW1haWxBZG1pbkdyb3VwRGlzcG9zaXRpb24nOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVfZWRpdF9mb3JtKGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRkaXNwX2d1aWQgKQogICAgewogICAgICAgICRtb2QgPSAkdGhpcy0+X21vZDsKCiAgICAgICAgaWYoICEkZGlzcF9ndWlkICkgJHRoaXMtPnJlc2V0X3RlbXBsYXRlcyggJGZvcm0gKTsKCiAgICAgICAgaWYoIHh0X3BhcmFtOjpleGlzdHMoICRwYXJhbXMsICdjYW5jZWwnICkgKSB7CiAgICAgICAgICAgICR0aGlzLT5nZXRfaGVscGVyKCktPmNhbmNlbCggJGZvcm1fZ3VpZCApOwogICAgICAgIH0KICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdyZXNldF90cGwnKSApIHsKICAgICAgICAgICAgJHRoaXMtPnJlc2V0X3RlbXBsYXRlcyggJGZvcm0gKTsKICAgICAgICB9CiAgICAgICAgaWYoIHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnc3VibWl0JykgKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRfZ3JvdXAoeHRfcGFyYW06OmdldF9pbnQoJHBhcmFtcywnZ3JvdXAnKSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRfc3ViamVjdHRlbXBsYXRlKHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnc3ViamVjdHRlbXBsYXRlJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0X2JvZHl0ZW1wbGF0ZSh4dF91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2JvZHl0ZW1wbGF0ZScpKTsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF9kaXNwb3NpdGlvbigpLCAkZGlzcF9ndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJG1vZC0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VkaXRfZW1haWxhZG1pbmdyb3VwX2Rpc3Bvc2l0aW9uLnRwbCcpOwogICAgICAgICR0cGwtPmFzc2lnbignZWRpdG9yX25hbWUnLGdldF9jbGFzcygkdGhpcykpOwogICAgICAgICR0cGwtPmFzc2lnbignaGFuZGxlcicsJHRoaXMpOwogICAgICAgICR0cGwtPmFzc2lnbignZm9ybV9ndWlkJywkZm9ybV9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2d1aWQnLCRkaXNwX2d1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbignZ3JvdXBsaXN0JyxceHRfdXNlcm9wczo6Z2V0X2dyb3VwbGlzdChGQUxTRSkpOwogICAgICAgICR0cGwtPmFzc2lnbigndHBsX2hlbHAnLFxTbWFydEZvcm1zXHV0aWxzOjpnZXRfZm9ybV90cGxfaGVscCggJGZvcm0gKSk7CiAgICAgICAgJHRwbC0+ZGlzcGxheSgpOwogICAgfQoKfSAvLyBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.EmailAdminGroupWithReplyToDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBFbWFpbEFkbWluR3JvdXBXaXRoUmVwbHlUb0Rpc3Bvc2l0aW9uIGV4dGVuZHMgRGlzcG9zaXRpb24KewogICAgcHJpdmF0ZSAkX2dyb3VwOwogICAgcHJpdmF0ZSAkX2ZpZWxkbmFtZTsKICAgIHByaXZhdGUgJF9zdWJqZWN0dGVtcGxhdGU7CiAgICBwcml2YXRlICRfYm9keXRlbXBsYXRlOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdncm91cCc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2dyb3VwOwogICAgICAgIGNhc2UgJ2ZpZWxkbmFtZSc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2ZpZWxkbmFtZTsKICAgICAgICBjYXNlICdzdWJqZWN0dGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X3N1YmplY3R0ZW1wbGF0ZSk7CiAgICAgICAgY2FzZSAnYm9keXRlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oJHRoaXMtPl9ib2R5dGVtcGxhdGUpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2dyb3VwKCAkZ2lkICkKICAgIHsKICAgICAgICAkdGhpcy0+X2dyb3VwID0gKGludCkgJGdpZDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2dyb3VwKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9ncm91cDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2ZpZWxkbmFtZSggJGVtYWlsICkKICAgIHsKICAgICAgICAkdGhpcy0+X2ZpZWxkbmFtZSA9IHRyaW0oJGVtYWlsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2ZpZWxkbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZmllbGRuYW1lOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3ViamVjdHRlbXBsYXRlKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9zdWJqZWN0dGVtcGxhdGUgPSB0cmltKCRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2JvZHl0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fYm9keXRlbXBsYXRlID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRpc3Bvc2UoIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgJGxpc3QgPSBudWxsOwogICAgICAgIGlmKCAkdGhpcy0+X2dyb3VwID4gMCApICRsaXN0ID0gXHh0X3VzZXJvcHM6OmV4cGFuZF9ncm91cF9lbWFpbHMoICR0aGlzLT5fZ3JvdXAgKTsKICAgICAgICBpZiggISRsaXN0ICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdObyB2YWxpZCBlbWFpbCBhZGRyZXNzZXMgdG8gc2VuZCB0byBmb3IgRW1haWxBZG1pbkdyb3VwRGlzcG9zaXRpb24nKTsKCiAgICAgICAgaWYoICEkdGhpcy0+ZmllbGRuYW1lICkgcmV0dXJuOwogICAgICAgICRyZXBseXRvID0gJHJlc3BvbnNlLT5nZXRfZmllbGRfdmFsdWUoJHRoaXMtPmZpZWxkbmFtZSk7CiAgICAgICAgaWYoICEkcmVwbHl0byApICRyZXBseXRvID0gJHJlc3BvbnNlLT5yZXBseXRvX2FkZHJlc3M7CiAgICAgICAgaWYoICEkcmVwbHl0byB8fCAhaXNfZW1haWwoJHJlcGx5dG8pICkgcmV0dXJuOwoKICAgICAgICAkbWFpbGVyID0gXFNtYXJ0Rm9ybXNcdXRpbHM6OmdldF9tYWlsZXIoICRmb3JtICk7CiAgICAgICAgJG1haWxlci0+Q2xlYXJSZXBseVRvcygpOwogICAgICAgICRtYWlsZXItPkFkZFJlcGx5VG8oJHJlcGx5dG8pOwogICAgICAgICRhZGRlZCA9IGZhbHNlOwogICAgICAgIGZvcmVhY2goICRsaXN0IGFzICRhZGRyICkgewogICAgICAgICAgICAkYWRkciA9IHRyaW0oJGFkZHIpOwogICAgICAgICAgICBpZiggISRhZGRyICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCAhaXNfZW1haWwoICRhZGRyKSApIGNvbnRpbnVlOwogICAgICAgICAgICAkbWFpbGVyLT5BZGRBZGRyZXNzKCAkYWRkciApOwogICAgICAgICAgICAkYWRkZWQgPSB0cnVlOwogICAgICAgIH0KICAgICAgICBpZiggISRhZGRlZCApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignTm8gdmFsaWQgZW1haWwgYWRkcmVzc2VzIHRvIHNlbmQgdG8gZm9yIEVtYWlsQWRtaW5Hcm91cERpc3Bvc2l0aW9uJyk7CiAgICAgICAgJHN1YmplY3QgPSB0cmltKHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+c3ViamVjdHRlbXBsYXRlLCAkZm9ybSwgJHJlc3BvbnNlKSk7CiAgICAgICAgJGJvZHkgPSB0cmltKHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+Ym9keXRlbXBsYXRlLCAkZm9ybSwgJHJlc3BvbnNlKSk7CiAgICAgICAgaWYoICEkc3ViamVjdCB8fCAhJGJvZHkgKSByZXR1cm47CiAgICAgICAgJG1haWxlci0+U2V0U3ViamVjdCggJHN1YmplY3QgKTsKICAgICAgICAkbWFpbGVyLT5TZXRCb2R5KCAkYm9keSApOwogICAgICAgICRtYWlsZXItPlNlbmQoKTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.EmailAdminGroupWithReplyToDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfdXRpbHM7CnVzZSB4dF9wYXJhbTsKCmNsYXNzIEVtYWlsQWRtaW5Hcm91cFdpdGhSZXBseVRvRGlzcG9zaXRpb25FZGl0b3IgZXh0ZW5kcyBEaXNwb3NpdGlvbkVkaXRvcgp7CgogICAgcHJpdmF0ZSAkX2Rpc3A7CiAgICBwcml2YXRlICRfbW9kOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChcU21hcnRGb3JtcyAkbW9kICkKICAgIHsKICAgICAgICAkdGhpcy0+X21vZCA9ICRtb2Q7CiAgICAgICAgJHRoaXMtPl9kaXNwID0gbmV3IEVtYWlsQWRtaW5Hcm91cFdpdGhSZXBseVRvRGlzcG9zaXRpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2dyb3VwJzoKICAgICAgICBjYXNlICdmaWVsZG5hbWUnOgogICAgICAgIGNhc2UgJ3N1YmplY3R0ZW1wbGF0ZSc6CiAgICAgICAgY2FzZSAnYm9keXRlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+JGtleTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9ncm91cCggJGdpZCApCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+c2V0X2dyb3VwKCAkZ2lkICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9zdWJqZWN0dGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwLT5zZXRfc3ViamVjdHRlbXBsYXRlKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZmllbGRuYW1lKCAkc3RyICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwLT5zZXRfZmllbGRuYW1lKCAkc3RyICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9ib2R5dGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwLT5zZXRfYm9keXRlbXBsYXRlKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXNldF90ZW1wbGF0ZXMoIEZvcm0gJGZvcm0gKQogICAgewogICAgICAgICR0aGlzLT5zZXRfc3ViamVjdHRlbXBsYXRlKCdTdWJtaXNzaW9uIGZyb20geyRyZXNwb25zZS0+Zm9ybV9uYW1lfSBmb3JtJyk7CiAgICAgICAgJG91dCA9IG51bGw7CiAgICAgICAgZm9yZWFjaCggJGZvcm0tPmZpZWxkcyBhcyAkZmllbGQgKSB7CiAgICAgICAgICAgICRuYW1lID0gJGZpZWxkLT5uYW1lOwogICAgICAgICAgICAkbGFiZWwgPSAkZmllbGQtPmxhYmVsOwogICAgICAgICAgICBpZiggISRsYWJlbCApICRsYWJlbCA9ICRuYW1lOwoKICAgICAgICAgICAgaWYoICRmaWVsZC0+bXVsdGlwbGUgKSB7CiAgICAgICAgICAgICAgICAkb3V0IC49ICJ7aWYgIWVtcHR5KFwkJG5hbWUpfTxwPjxzdHJvbmc+JGxhYmVsOjwvc3Ryb25nPiB7aW1wbG9kZSgnICsgJyxcJCRuYW1lKX08L3A+ey9pZn1cbiI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkb3V0IC49ICJ7aWYgIWVtcHR5KFwkJG5hbWUpfTxwPjxzdHJvbmc+JGxhYmVsOjwvc3Ryb25nPiB7XCQkbmFtZX08L3A+ey9pZn1cbiI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHRoaXMtPnNldF9ib2R5dGVtcGxhdGUoIntzdHJpcH1cbiIuJG91dC4iey9zdHJpcH0iKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKQogICAgewogICAgICAgICRmaWVsZG5hbWUgPSAkdGhpcy0+X2Rpc3AtPmdldF9maWVsZG5hbWUoKTsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ25hbWVfRW1haWxBZG1pbkdyb3VwV2l0aFJlcGx5VG9EaXNwb3NpdGlvbicsJGZpZWxkbmFtZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9kaXNwbGF5c3RyaW5nKCkKICAgIHsKICAgICAgICAkbGlzdCA9IFx4dF91c2Vyb3BzOjpnZXRfZ3JvdXBsaXN0KEZBTFNFKTsKICAgICAgICAkZ2lkID0gJHRoaXMtPmdyb3VwOwogICAgICAgICRnbmFtZSA9ICd1bmtub3duJzsKICAgICAgICBpZiggaXNzZXQoICRsaXN0WyRnaWRdKSApICRnbmFtZSA9ICRsaXN0WyRnaWRdOwogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnZGlzcGxheV9FbWFpbEFkbWluR3JvdXBXaXRoUmVwbHlUb0Rpc3Bvc2l0aW9uJywgJGduYW1lKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3Bvc2l0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZGlzcG9zaXRpb24oIERpc3Bvc2l0aW9uICRkaXNwICkKICAgIHsKICAgICAgICBpZiggISRkaXNwIGluc3RhbmNlb2YgRW1haWxBZG1pbkdyb3VwV2l0aFJlcGx5VG9EaXNwb3NpdGlvbiApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ29iamVjdCBvZiB0eXBlICcuZ2V0X2NsYXNzKCRkaXNwKS4nIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwogICAgICAgICR0aGlzLT5fZGlzcCA9ICRkaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3V0cHV0Y2xhc3MoKQogICAgewogICAgICAgIHJldHVybiAnU21hcnRGb3Jtc1xcRGlzcG9zaXRpb25zXFxFbWFpbEFkbWluR3JvdXBXaXRoUmVwbHlUb0Rpc3Bvc2l0aW9uJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFuZGxlX2VkaXRfZm9ybShhcnJheSAkcGFyYW1zLCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCAkZm9ybV9ndWlkLCAkZGlzcF9ndWlkICkKICAgIHsKICAgICAgICAkbW9kID0gJHRoaXMtPl9tb2Q7CgogICAgICAgIGlmKCAhJGRpc3BfZ3VpZCApICR0aGlzLT5yZXNldF90ZW1wbGF0ZXMoICRmb3JtICk7CgogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCAkcGFyYW1zLCAnY2FuY2VsJyApICkgewogICAgICAgICAgICAkdGhpcy0+Z2V0X2hlbHBlcigpLT5jYW5jZWwoICRmb3JtX2d1aWQgKTsKICAgICAgICB9CiAgICAgICAgaWYoIHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywncmVzZXRfdHBsJykgKSB7CiAgICAgICAgICAgICR0aGlzLT5yZXNldF90ZW1wbGF0ZXMoICRmb3JtICk7CiAgICAgICAgfQogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgICAgICAgICAkdGhpcy0+c2V0X2ZpZWxkbmFtZSh4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdmaWVsZG5hbWUnKSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRfZ3JvdXAoeHRfcGFyYW06OmdldF9pbnQoJHBhcmFtcywnZ3JvdXAnKSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRfc3ViamVjdHRlbXBsYXRlKHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnc3ViamVjdHRlbXBsYXRlJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0X2JvZHl0ZW1wbGF0ZSh4dF91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2JvZHl0ZW1wbGF0ZScpKTsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF9kaXNwb3NpdGlvbigpLCAkZGlzcF9ndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJG1vZC0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VkaXRfZW1haWxhZG1pbmdyb3VwcmVwbHl0b19kaXNwb3NpdGlvbi50cGwnKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2VkaXRvcl9uYW1lJyxnZXRfY2xhc3MoJHRoaXMpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2ZpZWxkX2xpc3QnLCRmb3JtLT5saXN0X2ZpZWxkc19ieV90eXBlX29yX3ByaW1pdGl2ZSgnZW1haWwnLCdlbWFpbCcpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2hhbmRsZXInLCR0aGlzKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2Zvcm1fZ3VpZCcsJGZvcm1fZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdndWlkJywkZGlzcF9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2dyb3VwbGlzdCcsXHh0X3VzZXJvcHM6OmdldF9ncm91cGxpc3QoRkFMU0UpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3RwbF9oZWxwJyxcU21hcnRGb3Jtc1x1dGlsczo6Z2V0X2Zvcm1fdHBsX2hlbHAoICRmb3JtICkpOwogICAgICAgICR0cGwtPmRpc3BsYXkoKTsKICAgIH0KCn0gLy8gY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.EmailAdminWithReplyTo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBFbWFpbEFkbWluV2l0aFJlcGx5VG8gZXh0ZW5kcyBEaXNwb3NpdGlvbgp7CiAgICBwcml2YXRlICRfYWRkcmVzc2VzOwogICAgcHJpdmF0ZSAkX2ZpZWxkbmFtZTsKICAgIHByaXZhdGUgJF9zdWJqZWN0dGVtcGxhdGU7CiAgICBwcml2YXRlICRfYm9keXRlbXBsYXRlOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdhZGRyZXNzZXMnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9hZGRyZXNzZXM7CiAgICAgICAgY2FzZSAnZmllbGRuYW1lJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZmllbGRuYW1lOwogICAgICAgIGNhc2UgJ3N1YmplY3R0ZW1wbGF0ZSc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fc3ViamVjdHRlbXBsYXRlKTsKICAgICAgICBjYXNlICdib2R5dGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X2JvZHl0ZW1wbGF0ZSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfYWRkcmVzc2VzKCAkZW1haWwgKQogICAgewogICAgICAgICR0aGlzLT5fYWRkcmVzc2VzID0gdHJpbSgkZW1haWwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfYWRkcmVzc2VzKCkKICAgIHsKICAgICAgICBpZiggISR0aGlzLT5fYWRkcmVzc2VzICkgcmV0dXJuOwogICAgICAgICR0bXAgPSBwcmVnX3NwbGl0KCIvKCx8XG4pLyIsICR0aGlzLT5fYWRkcmVzc2VzKTsKICAgICAgICAkdG1wMiA9IFtdOwogICAgICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApIHsKICAgICAgICAgICAgJG9uZSA9IHRyaW0oJG9uZSk7CiAgICAgICAgICAgIGlmKCAkb25lICYmICFpbl9hcnJheSgkb25lLCR0bXAyKSkgJHRtcDJbXSA9ICRvbmU7CiAgICAgICAgfQogICAgICAgIGlmKCBjb3VudCgkdG1wMikgKSByZXR1cm4gJHRtcDI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9maWVsZG5hbWUoICRlbWFpbCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9maWVsZG5hbWUgPSB0cmltKCRlbWFpbCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9maWVsZG5hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2ZpZWxkbmFtZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3N1YmplY3R0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fc3ViamVjdHRlbXBsYXRlID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9ib2R5dGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICAkdGhpcy0+X2JvZHl0ZW1wbGF0ZSA9IHRyaW0oJGRhdGEpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJHJlc3BvbnNlICkKICAgIHsKICAgICAgICAkdG1wX2FkZHJlc3NlcyA9ICR0aGlzLT5nZXRfYWRkcmVzc2VzKCk7CgogICAgICAgIGlmKCAhJHRoaXMtPmZpZWxkbmFtZSApIHJldHVybjsKICAgICAgICAkcmVwbHl0byA9ICRyZXNwb25zZS0+Z2V0X2ZpZWxkX3ZhbHVlKCR0aGlzLT5maWVsZG5hbWUpOwogICAgICAgIGlmKCAhJHJlcGx5dG8gKSAkcmVwbHl0byA9ICRyZXNwb25zZS0+cmVwbHl0b19hZGRyZXNzOwogICAgICAgIGlmKCAhJHJlcGx5dG8gfHwgIWlzX2VtYWlsKCRyZXBseXRvKSApICRyZXBseXRvID0gbnVsbDsKCiAgICAgICAgJG1haWxlciA9IFxTbWFydEZvcm1zXHV0aWxzOjpnZXRfbWFpbGVyKCAkZm9ybSApOwogICAgICAgIC8vIG9ubHkgb25lIHJlcGx5IHRvLCAgYW5kIHRoYXQncyB0aGUgcmVwbHkgdG8gYWRkcmVzcyB0aGF0IHRoZSB1c2VyIHB1dCBpbi4KICAgICAgICBpZiggJHJlcGx5dG8gKSAkbWFpbGVyLT5DbGVhclJlcGx5VG9zKCk7CiAgICAgICAgJGFkZGVkID0gZmFsc2U7CiAgICAgICAgZm9yZWFjaCggJHRtcF9hZGRyZXNzZXMgYXMgJGFkZHIgKSB7CiAgICAgICAgICAgICRhZGRyID0gdHJpbSgkYWRkcik7CiAgICAgICAgICAgIGlmKCAhJGFkZHIgKSBjb250aW51ZTsKICAgICAgICAgICAgaWYoICFpc19lbWFpbCggJGFkZHIpICkgY29udGludWU7CiAgICAgICAgICAgICRtYWlsZXItPkFkZEFkZHJlc3MoICRhZGRyICk7CiAgICAgICAgICAgICRhZGRlZCA9IHRydWU7CiAgICAgICAgfQogICAgICAgIGlmKCAhJGFkZGVkICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdObyB2YWxpZCBlbWFpbCBhZGRyZXNzZXMgdG8gc2VuZCB0byBmb3IgRW1haWxBZG1pbldpdGhSZXBseVRvJyk7CgogICAgICAgIGlmKCAkcmVwbHl0byApICRtYWlsZXItPkFkZFJlcGx5VG8oJHJlcGx5dG8pOwogICAgICAgICRzdWJqZWN0ID0gdHJpbSggdXRpbHM6OnByb2Nlc3NfdGVtcGxhdGUoICR0aGlzLT5zdWJqZWN0dGVtcGxhdGUsICRmb3JtLCAkcmVzcG9uc2UpICk7CiAgICAgICAgJGJvZHkgPSB0cmltKCB1dGlsczo6cHJvY2Vzc190ZW1wbGF0ZSggJHRoaXMtPmJvZHl0ZW1wbGF0ZSwgJGZvcm0sICRyZXNwb25zZSkgKTsKICAgICAgICBpZiggISRzdWJqZWN0IHx8ICEkYm9keSApIHJldHVybjsKICAgICAgICAkbWFpbGVyLT5TZXRTdWJqZWN0KCAkc3ViamVjdCApOwogICAgICAgICRtYWlsZXItPlNldEJvZHkoICRib2R5ICk7CiAgICAgICAgJG1haWxlci0+U2VuZCgpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.EmailAdminWithReplyToEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfcGFyYW07CnVzZSB4dF91dGlsczsKCmNsYXNzIEVtYWlsQWRtaW5XaXRoUmVwbHlUb0VkaXRvciBleHRlbmRzIERpc3Bvc2l0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF9kaXNwOwogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fZGlzcCA9IG5ldyBFbWFpbEFkbWluV2l0aFJlcGx5VG87CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2FkZHJlc3Nlcyc6CiAgICAgICAgY2FzZSAnZmllbGRuYW1lJzoKICAgICAgICBjYXNlICdzdWJqZWN0dGVtcGxhdGUnOgogICAgICAgIGNhc2UgJ2JvZHl0ZW1wbGF0ZSc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2Rpc3AtPiRrZXk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfYWRkcmVzc2VzKCAkc3RyICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwLT5zZXRfYWRkcmVzc2VzKCAkc3RyICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9maWVsZG5hbWUoICRzdHIgKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2Rpc3AtPnNldF9maWVsZG5hbWUoICRzdHIgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3N1YmplY3R0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2Rpc3AtPnNldF9zdWJqZWN0dGVtcGxhdGUoICRkYXRhICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9ib2R5dGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwLT5zZXRfYm9keXRlbXBsYXRlKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXNldF90ZW1wbGF0ZXMoIEZvcm0gJGZvcm0gKQogICAgewogICAgICAgICR0aGlzLT5zZXRfc3ViamVjdHRlbXBsYXRlKCdTdWJtaXNzaW9uIGZyb20geyRyZXNwb25zZS0+Zm9ybV9uYW1lfSBmb3JtJyk7CiAgICAgICAgJG91dCA9IG51bGw7CiAgICAgICAgZm9yZWFjaCggJGZvcm0tPmZpZWxkcyBhcyAkZmllbGQgKSB7CiAgICAgICAgICAgICRuYW1lID0gJGZpZWxkLT5uYW1lOwogICAgICAgICAgICAkbGFiZWwgPSAkZmllbGQtPmxhYmVsOwogICAgICAgICAgICBpZiggISRsYWJlbCApICRsYWJlbCA9ICRuYW1lOwoKICAgICAgICAgICAgaWYoICRmaWVsZC0+bXVsdGlwbGUgKSB7CiAgICAgICAgICAgICAgICAkb3V0IC49ICJ7aWYgIWVtcHR5KFwkJG5hbWUpfTxwPjxzdHJvbmc+JGxhYmVsOjwvc3Ryb25nPiB7aW1wbG9kZSgnICsgJyxcJCRuYW1lKX08L3A+ey9pZn1cbiI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkb3V0IC49ICJ7aWYgIWVtcHR5KFwkJG5hbWUpfTxwPjxzdHJvbmc+JGxhYmVsOjwvc3Ryb25nPiB7XCQkbmFtZX08L3A+ey9pZn1cbiI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHRoaXMtPnNldF9ib2R5dGVtcGxhdGUoIntzdHJpcH1cbiIuJG91dC4iey9zdHJpcH0iKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnbmFtZV9FbWFpbEFkbWluV2l0aFJlcGx5VG8nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgICRmaWVsZG5hbWUgPSAkdGhpcy0+X2Rpc3AtPmdldF9maWVsZG5hbWUoKTsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ2Rpc3BsYXlfRW1haWxBZG1pbldpdGhSZXBseVRvJywkZmllbGRuYW1lKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3Bvc2l0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZGlzcG9zaXRpb24oIERpc3Bvc2l0aW9uICRkaXNwICkKICAgIHsKICAgICAgICBpZiggISAkZGlzcCBpbnN0YW5jZW9mIEVtYWlsQWRtaW5XaXRoUmVwbHlUbyApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ29iamVjdCBvZiB0eXBlICcuZ2V0X2NsYXNzKCRkaXNwKS4nIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwogICAgICAgICR0aGlzLT5fZGlzcCA9ICRkaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3V0cHV0Y2xhc3MoKQogICAgewogICAgICAgIHJldHVybiAnU21hcnRGb3Jtc1xcRGlzcG9zaXRpb25zXFxFbWFpbEFkbWluV2l0aFJlcGx5VG8nOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVfZWRpdF9mb3JtKGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRkaXNwX2d1aWQgKQogICAgewogICAgICAgICRtb2QgPSAkdGhpcy0+X21vZDsKCiAgICAgICAgaWYoICEkZGlzcF9ndWlkICkgJHRoaXMtPnJlc2V0X3RlbXBsYXRlcyggJGZvcm0gKTsKCiAgICAgICAgaWYoIHh0X3BhcmFtOjpleGlzdHMoICRwYXJhbXMsICdjYW5jZWwnICkgKSB7CiAgICAgICAgICAgICR0aGlzLT5nZXRfaGVscGVyKCktPmNhbmNlbCggJGZvcm1fZ3VpZCApOwogICAgICAgIH0KICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdyZXNldF90cGwnKSApIHsKICAgICAgICAgICAgJHRoaXMtPnJlc2V0X3RlbXBsYXRlcyggJGZvcm0gKTsKICAgICAgICB9CiAgICAgICAgaWYoIHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnc3VibWl0JykgKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRfZmllbGRuYW1lKHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2ZpZWxkbmFtZScpKTsKICAgICAgICAgICAgJHRoaXMtPnNldF9hZGRyZXNzZXMoeHRfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdhZGRyZXNzZXMnKSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRfc3ViamVjdHRlbXBsYXRlKHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnc3ViamVjdHRlbXBsYXRlJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0X2JvZHl0ZW1wbGF0ZSh4dF91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2JvZHl0ZW1wbGF0ZScpKTsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF9kaXNwb3NpdGlvbigpLCAkZGlzcF9ndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJG1vZC0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VkaXRfZW1haWxhZG1pbndpdGhyZXBseXRvX2Rpc3Bvc2l0aW9uLnRwbCcpOwogICAgICAgICR0cGwtPmFzc2lnbignZWRpdG9yX25hbWUnLGdldF9jbGFzcygkdGhpcykpOwogICAgICAgICR0cGwtPmFzc2lnbignZmllbGRfbGlzdCcsJGZvcm0tPmxpc3RfZmllbGRzX2J5X3R5cGVfb3JfcHJpbWl0aXZlKCdlbWFpbCcsJ2VtYWlsJykpOwogICAgICAgICR0cGwtPmFzc2lnbignaGFuZGxlcicsJHRoaXMpOwogICAgICAgICR0cGwtPmFzc2lnbignZm9ybV9ndWlkJywkZm9ybV9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2d1aWQnLCRkaXNwX2d1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbigndHBsX2hlbHAnLFxTbWFydEZvcm1zXHV0aWxzOjpnZXRfZm9ybV90cGxfaGVscCggJGZvcm0gKSk7CiAgICAgICAgJHRwbC0+ZGlzcGxheSgpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.EmailFixedAddressesDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBFbWFpbEZpeGVkQWRkcmVzc2VzRGlzcG9zaXRpb24gZXh0ZW5kcyBEaXNwb3NpdGlvbgp7CiAgICBwcml2YXRlICRfYWRkcmVzc2VzOwogICAgcHJpdmF0ZSAkX3N1YmplY3R0ZW1wbGF0ZTsKICAgIHByaXZhdGUgJF9ib2R5dGVtcGxhdGU7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2FkZHJlc3Nlcyc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2FkZHJlc3NlczsKICAgICAgICBjYXNlICdzdWJqZWN0dGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X3N1YmplY3R0ZW1wbGF0ZSk7CiAgICAgICAgY2FzZSAnYm9keXRlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oJHRoaXMtPl9ib2R5dGVtcGxhdGUpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2FkZHJlc3NlcyggJGVtYWlsICkKICAgIHsKICAgICAgICAkdGhpcy0+X2FkZHJlc3NlcyA9IHRyaW0oJGVtYWlsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2FkZHJlc3NlcygpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2FkZHJlc3NlcyApIHJldHVybjsKICAgICAgICAkdG1wID0gZXhwbG9kZSgnLCcsJHRoaXMtPl9hZGRyZXNzZXMpOwogICAgICAgICR0bXAyID0gW107CiAgICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewogICAgICAgICAgICAkb25lID0gdHJpbSgkb25lKTsKICAgICAgICAgICAgaWYoICRvbmUgJiYgIWluX2FycmF5KCRvbmUsJHRtcDIpKSAkdG1wMltdID0gJG9uZTsKICAgICAgICB9CiAgICAgICAgaWYoIGNvdW50KCR0bXAyKSApIHJldHVybiAkdG1wMjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3N1YmplY3R0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fc3ViamVjdHRlbXBsYXRlID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9ib2R5dGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICAkdGhpcy0+X2JvZHl0ZW1wbGF0ZSA9IHRyaW0oJGRhdGEpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJGRhdGEpCiAgICB7CiAgICAgICAgJHRtcF9hZGRyZXNzZXMgPSBleHBsb2RlKCcsJywkdGhpcy0+YWRkcmVzc2VzKTsKCiAgICAgICAgJG1haWxlciA9IFxTbWFydEZvcm1zXHV0aWxzOjpnZXRfbWFpbGVyKCAkZm9ybSApOwogICAgICAgICRhZGRlZCA9IGZhbHNlOwogICAgICAgIGZvcmVhY2goICR0bXBfYWRkcmVzc2VzIGFzICRhZGRyICkgewogICAgICAgICAgICAkYWRkciA9IHRyaW0oJGFkZHIpOwogICAgICAgICAgICBpZiggISRhZGRyICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCAhaXNfZW1haWwoICRhZGRyKSApIGNvbnRpbnVlOwogICAgICAgICAgICAkbWFpbGVyLT5BZGRBZGRyZXNzKCAkYWRkciApOwogICAgICAgICAgICAkYWRkZWQgPSB0cnVlOwogICAgICAgIH0KICAgICAgICBpZiggISRhZGRlZCApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignTm8gdmFsaWQgZW1haWwgYWRkcmVzc2VzIHRvIHNlbmQgdG8gZm9yIEVtYWlsRml4ZWRBZGRyZXNzZXNEaXNwb3NpdGlvbicpOwogICAgICAgIGlmKCAkZGF0YS0+cmVwbHl0b19hZGRyZXNzICYmIGlzX2VtYWlsKCRkYXRhLT5yZXBseXRvX2FkZHJlc3MpICkgewogICAgICAgICAgICAkbWFpbGVyLT5jbGVhclJlcGx5VG9zKCk7CiAgICAgICAgICAgICRtYWlsZXItPkFkZFJlcGx5VG8oICRkYXRhLT5yZXBseXRvX2FkZHJlc3MgKTsKICAgICAgICB9CiAgICAgICAgJHN1YmplY3QgPSB0cmltKCB1dGlsczo6cHJvY2Vzc190ZW1wbGF0ZSggJHRoaXMtPnN1YmplY3R0ZW1wbGF0ZSwgJGZvcm0sICRkYXRhKSApOwogICAgICAgICRib2R5ID0gdHJpbSggdXRpbHM6OnByb2Nlc3NfdGVtcGxhdGUoICR0aGlzLT5ib2R5dGVtcGxhdGUsICRmb3JtLCAkZGF0YSkgKTsKICAgICAgICBpZiggISRzdWJqZWN0IHx8ICEkYm9keSApIHJldHVybjsKICAgICAgICAkbWFpbGVyLT5TZXRTdWJqZWN0KCAkc3ViamVjdCApOwogICAgICAgICRtYWlsZXItPlNldEJvZHkoICRib2R5ICk7CiAgICAgICAgJG1haWxlci0+U2VuZCgpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.EmailFixedAddressesDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfcGFyYW07CnVzZSB4dF91dGlsczsKCmNsYXNzIEVtYWlsRml4ZWRBZGRyZXNzZXNEaXNwb3NpdGlvbkVkaXRvciBleHRlbmRzIERpc3Bvc2l0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF9kaXNwOwogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fZGlzcCA9IG5ldyBFbWFpbEZpeGVkQWRkcmVzc2VzRGlzcG9zaXRpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2FkZHJlc3Nlcyc6CiAgICAgICAgY2FzZSAnc3ViamVjdHRlbXBsYXRlJzoKICAgICAgICBjYXNlICdib2R5dGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwLT4ka2V5OwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2FkZHJlc3NlcyggJHN0ciApCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+c2V0X2FkZHJlc3NlcyggJHN0ciApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3ViamVjdHRlbXBsYXRlKCAkZGF0YSApCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+c2V0X3N1YmplY3R0ZW1wbGF0ZSggJGRhdGEgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2JvZHl0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2Rpc3AtPnNldF9ib2R5dGVtcGxhdGUoICRkYXRhICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlc2V0X3RlbXBsYXRlcyggRm9ybSAkZm9ybSApCiAgICB7CiAgICAgICAgJHRoaXMtPnNldF9zdWJqZWN0dGVtcGxhdGUoJ1N1Ym1pc3Npb24gZnJvbSB7JHJlc3BvbnNlLT5mb3JtX25hbWV9IGZvcm0nKTsKICAgICAgICAkb3V0ID0gbnVsbDsKICAgICAgICBmb3JlYWNoKCAkZm9ybS0+ZmllbGRzIGFzICRmaWVsZCApIHsKICAgICAgICAgICAgJG5hbWUgPSAkZmllbGQtPm5hbWU7CiAgICAgICAgICAgICRsYWJlbCA9ICRmaWVsZC0+bGFiZWw7CiAgICAgICAgICAgIGlmKCAhJGxhYmVsICkgJGxhYmVsID0gJG5hbWU7CgogICAgICAgICAgICBpZiggJGZpZWxkLT5tdWx0aXBsZSApIHsKICAgICAgICAgICAgICAgICRvdXQgLj0gIntpZiAhZW1wdHkoXCQkbmFtZSl9PHA+PHN0cm9uZz4kbGFiZWw6PC9zdHJvbmc+IHtpbXBsb2RlKCcgKyAnLFwkJG5hbWUpfTwvcD57L2lmfVxuIjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRvdXQgLj0gIntpZiAhZW1wdHkoXCQkbmFtZSl9PHA+PHN0cm9uZz4kbGFiZWw6PC9zdHJvbmc+IHtcJCRuYW1lfTwvcD57L2lmfVxuIjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+c2V0X2JvZHl0ZW1wbGF0ZSgie3N0cmlwfVxuIi4kb3V0LiJ7L3N0cmlwfSIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX0VtYWlsRml4ZWRBZGRyZXNzZXNEaXNwb3NpdGlvbicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheXN0cmluZygpCiAgICB7CiAgICAgICAgJGFkZHJlc3NlcyA9ICR0aGlzLT5fZGlzcC0+Z2V0X2FkZHJlc3NlcygpOwogICAgICAgIGlmKCBjb3VudCgkYWRkcmVzc2VzKSA9PSAxICkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ2Rpc3BsYXlfRW1haWxGaXhlZEFkZHJlc3Nlc0Rpc3Bvc2l0aW9uMScsJGFkZHJlc3Nlc1swXSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCdkaXNwbGF5X0VtYWlsRml4ZWRBZGRyZXNzZXNEaXNwb3NpdGlvbjInLGNvdW50KCRhZGRyZXNzZXMpKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9kaXNwb3NpdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2Rpc3Bvc2l0aW9uKCBEaXNwb3NpdGlvbiAkZGlzcCApCiAgICB7CiAgICAgICAgaWYoICEgJGRpc3AgaW5zdGFuY2VvZiBFbWFpbEZpeGVkQWRkcmVzc2VzRGlzcG9zaXRpb24gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdvYmplY3Qgb2YgdHlwZSAnLmdldF9jbGFzcygkZGlzcCkuJyBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X2Rpc3AgPSAkZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gJ1NtYXJ0Rm9ybXNcXERpc3Bvc2l0aW9uc1xcRW1haWxGaXhlZEFkZHJlc3Nlc0Rpc3Bvc2l0aW9uJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFuZGxlX2VkaXRfZm9ybShhcnJheSAkcGFyYW1zLCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCAkZm9ybV9ndWlkLCAkZGlzcF9ndWlkICkKICAgIHsKICAgICAgICAkbW9kID0gJHRoaXMtPl9tb2Q7CgogICAgICAgIGlmKCAhJGRpc3BfZ3VpZCApICR0aGlzLT5yZXNldF90ZW1wbGF0ZXMoICRmb3JtICk7CgogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCAkcGFyYW1zLCAnY2FuY2VsJyApICkgewogICAgICAgICAgICAkdGhpcy0+Z2V0X2hlbHBlcigpLT5jYW5jZWwoICRmb3JtX2d1aWQgKTsKICAgICAgICB9CiAgICAgICAgaWYoIHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywncmVzZXRfdHBsJykgKSB7CiAgICAgICAgICAgICR0aGlzLT5yZXNldF90ZW1wbGF0ZXMoICRmb3JtICk7CiAgICAgICAgfQogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgICAgICAgICAkdGhpcy0+c2V0X2FkZHJlc3Nlcyh4dF91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2FkZHJlc3NlcycpKTsKICAgICAgICAgICAgJHRoaXMtPnNldF9zdWJqZWN0dGVtcGxhdGUoeHRfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdzdWJqZWN0dGVtcGxhdGUnKSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRfYm9keXRlbXBsYXRlKHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnYm9keXRlbXBsYXRlJykpOwogICAgICAgICAgICAkdGhpcy0+Z2V0X2hlbHBlcigpLT5maW5pc2goICRmb3JtLCAkZm9ybV9ndWlkLCAkdGhpcy0+Z2V0X2Rpc3Bvc2l0aW9uKCksICRkaXNwX2d1aWQgKTsKICAgICAgICB9CgogICAgICAgICR0cGwgPSAkbW9kLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgnYWRtaW5fZWRpdF9lbWFpbGZpeGVkYWRkcmVzc2VzX2Rpc3Bvc2l0aW9uLnRwbCcpOwogICAgICAgICR0cGwtPmFzc2lnbignZWRpdG9yX25hbWUnLGdldF9jbGFzcygkdGhpcykpOwogICAgICAgICR0cGwtPmFzc2lnbignaGFuZGxlcicsJHRoaXMpOwogICAgICAgICR0cGwtPmFzc2lnbignZm9ybV9ndWlkJywkZm9ybV9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2d1aWQnLCRkaXNwX2d1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbigndHBsX2hlbHAnLFxTbWFydEZvcm1zXHV0aWxzOjpnZXRfZm9ybV90cGxfaGVscCggJGZvcm0gKSk7CiAgICAgICAgJHRwbC0+ZGlzcGxheSgpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.EmailUserAddressDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBFbWFpbFVzZXJBZGRyZXNzRGlzcG9zaXRpb24gZXh0ZW5kcyBEaXNwb3NpdGlvbgp7CiAgICBwcml2YXRlICRfZmllbGRuYW1lOwogICAgcHJpdmF0ZSAkX3N1YmplY3R0ZW1wbGF0ZTsKICAgIHByaXZhdGUgJF9ib2R5dGVtcGxhdGU7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2ZpZWxkbmFtZSc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2ZpZWxkbmFtZTsKICAgICAgICBjYXNlICdzdWJqZWN0dGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X3N1YmplY3R0ZW1wbGF0ZSk7CiAgICAgICAgY2FzZSAnYm9keXRlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oJHRoaXMtPl9ib2R5dGVtcGxhdGUpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2ZpZWxkbmFtZSggJGVtYWlsICkKICAgIHsKICAgICAgICAkdGhpcy0+X2ZpZWxkbmFtZSA9IHRyaW0oJGVtYWlsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2ZpZWxkbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZmllbGRuYW1lOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3ViamVjdHRlbXBsYXRlKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9zdWJqZWN0dGVtcGxhdGUgPSB0cmltKCRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2JvZHl0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fYm9keXRlbXBsYXRlID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRpc3Bvc2UoIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkcmVzcG9uc2UgKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPmZpZWxkbmFtZSApIHJldHVybjsKICAgICAgICAkYWRkciA9ICRyZXNwb25zZS0+Z2V0X2ZpZWxkX3ZhbHVlKCR0aGlzLT5maWVsZG5hbWUpOwogICAgICAgIGlmKCAhJGFkZHIgfHwgIWlzX2VtYWlsKCRhZGRyKSApIHJldHVybjsKCiAgICAgICAgJHN1YmplY3QgPSB0cmltKHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+c3ViamVjdHRlbXBsYXRlLCAkZm9ybSwgJHJlc3BvbnNlKSk7CiAgICAgICAgaWYoICEkc3ViamVjdCApIHJldHVybjsKICAgICAgICAkYm9keSA9IHRyaW0odXRpbHM6OnByb2Nlc3NfdGVtcGxhdGUoICR0aGlzLT5ib2R5dGVtcGxhdGUsICRmb3JtLCAkcmVzcG9uc2UgKSk7CiAgICAgICAgaWYoICEkYm9keSApIHJldHVybjsKCiAgICAgICAgJG1haWxlciA9IFxTbWFydEZvcm1zXHV0aWxzOjpnZXRfbWFpbGVyKCAkZm9ybSApOwogICAgICAgICRtYWlsZXItPkFkZEFkZHJlc3MoICRhZGRyICk7CiAgICAgICAgJG1haWxlci0+U2V0U3ViamVjdCggJHN1YmplY3QgKTsKICAgICAgICAkbWFpbGVyLT5TZXRCb2R5KCAkYm9keSApOwogICAgICAgICRtYWlsZXItPlNlbmQoKTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.EmailUserAddressDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfdXRpbHM7CnVzZSB4dF9wYXJhbTsKCmNsYXNzIEVtYWlsVXNlckFkZHJlc3NEaXNwb3NpdGlvbkVkaXRvciBleHRlbmRzIERpc3Bvc2l0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF9kaXNwOwogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fZGlzcCA9IG5ldyBFbWFpbFVzZXJBZGRyZXNzRGlzcG9zaXRpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2ZpZWxkbmFtZSc6CiAgICAgICAgY2FzZSAnc3ViamVjdHRlbXBsYXRlJzoKICAgICAgICBjYXNlICdib2R5dGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwLT4ka2V5OwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2ZpZWxkbmFtZSggJHN0ciApCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+c2V0X2ZpZWxkbmFtZSggJHN0ciApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3ViamVjdHRlbXBsYXRlKCAkZGF0YSApCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+c2V0X3N1YmplY3R0ZW1wbGF0ZSggJGRhdGEgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2JvZHl0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2Rpc3AtPnNldF9ib2R5dGVtcGxhdGUoICRkYXRhICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlc2V0X3RlbXBsYXRlcyggRm9ybSAkZm9ybSApCiAgICB7CiAgICAgICAgJHRoaXMtPnNldF9zdWJqZWN0dGVtcGxhdGUoJ1N1Ym1pc3Npb24gZnJvbSB7JHJlc3BvbnNlLT5mb3JtX25hbWV9IGZvcm0nKTsKICAgICAgICAkb3V0ID0gbnVsbDsKICAgICAgICBmb3JlYWNoKCAkZm9ybS0+ZmllbGRzIGFzICRmaWVsZCApIHsKICAgICAgICAgICAgJG5hbWUgPSAkZmllbGQtPm5hbWU7CiAgICAgICAgICAgICRsYWJlbCA9ICRmaWVsZC0+bGFiZWw7CiAgICAgICAgICAgIGlmKCAhJGxhYmVsICkgJGxhYmVsID0gJG5hbWU7CgogICAgICAgICAgICBpZiggJGZpZWxkLT5tdWx0aXBsZSApIHsKICAgICAgICAgICAgICAgICRvdXQgLj0gIntpZiAhZW1wdHkoXCQkbmFtZSl9PHA+PHN0cm9uZz4kbGFiZWw6PC9zdHJvbmc+IHtpbXBsb2RlKCcgKyAnLFwkJG5hbWUpfTwvcD57L2lmfVxuIjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRvdXQgLj0gIntpZiAhZW1wdHkoXCQkbmFtZSl9PHA+PHN0cm9uZz4kbGFiZWw6PC9zdHJvbmc+IHtcJCRuYW1lfTwvcD57L2lmfVxuIjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+c2V0X2JvZHl0ZW1wbGF0ZSgie3N0cmlwfVxuIi4kb3V0LiJ7L3N0cmlwfSIpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX0VtYWlsVXNlckFkZHJlc3NEaXNwb3NpdGlvbicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheXN0cmluZygpCiAgICB7CiAgICAgICAgJGZpZWxkbmFtZSA9ICR0aGlzLT5fZGlzcC0+Z2V0X2ZpZWxkbmFtZSgpOwogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnZGlzcGxheV9FbWFpbFVzZXJBZGRyZXNzRGlzcG9zaXRpb24nLCRmaWVsZG5hbWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcG9zaXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2Rpc3A7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9kaXNwb3NpdGlvbiggRGlzcG9zaXRpb24gJGRpc3AgKQogICAgewogICAgICAgIGlmKCAhICRkaXNwIGluc3RhbmNlb2YgRW1haWxVc2VyQWRkcmVzc0Rpc3Bvc2l0aW9uICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignb2JqZWN0IG9mIHR5cGUgJy5nZXRfY2xhc3MoJGRpc3ApLicgcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CiAgICAgICAgJHRoaXMtPl9kaXNwID0gJGRpc3A7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9vdXRwdXRjbGFzcygpCiAgICB7CiAgICAgICAgcmV0dXJuICdTbWFydEZvcm1zXFxEaXNwb3NpdGlvbnNcXEVtYWlsVXNlckFkZHJlc3NEaXNwb3NpdGlvbic7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9lZGl0X2Zvcm0oYXJyYXkgJHBhcmFtcywgXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgJGZvcm1fZ3VpZCwgJGRpc3BfZ3VpZCApCiAgICB7CiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwoKICAgICAgICBpZiggISRkaXNwX2d1aWQgKSAkdGhpcy0+cmVzZXRfdGVtcGxhdGVzKCAkZm9ybSApOwoKICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cyggJHBhcmFtcywgJ2NhbmNlbCcgKSApIHsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+Y2FuY2VsKCAkZm9ybV9ndWlkICk7CiAgICAgICAgfQogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3Jlc2V0X3RwbCcpICkgewogICAgICAgICAgICAkdGhpcy0+cmVzZXRfdGVtcGxhdGVzKCAkZm9ybSApOwogICAgICAgIH0KICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdzdWJtaXQnKSApIHsKICAgICAgICAgICAgJHRoaXMtPnNldF9maWVsZG5hbWUoeHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZmllbGRuYW1lJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0X3N1YmplY3R0ZW1wbGF0ZSh4dF91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ3N1YmplY3R0ZW1wbGF0ZScpKTsKICAgICAgICAgICAgJHRoaXMtPnNldF9ib2R5dGVtcGxhdGUoeHRfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdib2R5dGVtcGxhdGUnKSk7CiAgICAgICAgICAgICR0aGlzLT5nZXRfaGVscGVyKCktPmZpbmlzaCggJGZvcm0sICRmb3JtX2d1aWQsICR0aGlzLT5nZXRfZGlzcG9zaXRpb24oKSwgJGRpc3BfZ3VpZCApOwogICAgICAgIH0KCiAgICAgICAgJHRwbCA9ICRtb2QtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl9lZGl0X2VtYWlsdXNlcmFkZHJlc3NfZGlzcG9zaXRpb24udHBsJyk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdlZGl0b3JfbmFtZScsZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdmaWVsZF9saXN0JywkZm9ybS0+bGlzdF9maWVsZHNfYnlfdHlwZV9vcl9wcmltaXRpdmUoJ2VtYWlsJywnZW1haWwnKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdoYW5kbGVyJywkdGhpcyk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdmb3JtX2d1aWQnLCRmb3JtX2d1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbignZ3VpZCcsJGRpc3BfZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCd0cGxfaGVscCcsXFNtYXJ0Rm9ybXNcdXRpbHM6OmdldF9mb3JtX3RwbF9oZWxwKCAkZm9ybSApKTsKICAgICAgICAkdHBsLT5kaXNwbGF5KCk7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.FlatFileDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBGbGF0RmlsZURpc3Bvc2l0aW9uIGV4dGVuZHMgRGlzcG9zaXRpb24KewogICAgcHJpdmF0ZSAkX2ZpbGVuYW1lOwogICAgcHJpdmF0ZSAkX2hlYWRlcnRlbXBsYXRlOwogICAgcHJpdmF0ZSAkX2VudHJ5dGVtcGxhdGU7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2ZpbGVuYW1lJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oJHRoaXMtPl9maWxlbmFtZSk7CiAgICAgICAgY2FzZSAnaGVhZGVydGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X2hlYWRlcnRlbXBsYXRlKTsKICAgICAgICBjYXNlICdlbnRyeXRlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oJHRoaXMtPl9lbnRyeXRlbXBsYXRlKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9maWxlbmFtZSggJGZpbGVuYW1lICkKICAgIHsKICAgICAgICAkdGhpcy0+X2ZpbGVuYW1lID0gdHJpbSgkZmlsZW5hbWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfaGVhZGVydGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICAkdGhpcy0+X2hlYWRlcnRlbXBsYXRlID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9lbnRyeXRlbXBsYXRlKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9lbnRyeXRlbXBsYXRlID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRpc3Bvc2UoIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkZGF0YSkKICAgIHsKICAgICAgICAkY29uZmlnID0gXGNtc19jb25maWc6OmdldF9pbnN0YW5jZSgpOwogICAgICAgICR2YWwgPSAkZGF0YS0+eyR0aGlzLT5maWVsZH07CgogICAgICAgICRmaWxlbmFtZSA9ICRjb25maWdbJ3Jvb3RfcGF0aCddLicvJy4kdGhpcy0+ZmlsZW5hbWU7CiAgICAgICAgJGRpciA9IGRpcm5hbWUoJGZpbGVuYW1lKTsKICAgICAgICBpZiggIWlzX2RpciggJGRpciApICYmIHV0aWxzOjppc19jbXNtc19yZWxhdGl2ZSggJGRpciApICkgewogICAgICAgICAgICAkcmVzID0gbWtkaXIoICRkaXIsIDA3NzcsIFRSVUUgKTsKICAgICAgICAgICAgaWYoICEkcmVzICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdTWVNURU0gRVJST1I6ICBDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBhdCAnLiRkaXIpOwogICAgICAgIH0KICAgICAgICBpZiggIXV0aWxzOjpjYW5fd3JpdGVfZmlsZSggJGZpbGVuYW1lKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignU1lTVEVNIEVSUk9SOiBDYW5ub3Qgd3JpdGUgdG8gJy4kZmlsZW5hbWUpOwoKICAgICAgICBpZiggIWlzX2ZpbGUoJGZpbGVuYW1lKSApIHsKICAgICAgICAgICAgJG91dHB1dCA9IHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+aGVhZGVydGVtcGxhdGUsICRmb3JtLCAkZGF0YSApOwogICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkZmlsZW5hbWUsJG91dHB1dCk7CiAgICAgICAgfQoKICAgICAgICAvLyBwcm9jZXNzIHRlbXBsYXRlIGZvciB0aGUgZW50cnksICBhbmQgd3JpdGUuCiAgICAgICAgJG91dHB1dCA9IHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+ZW50cnl0ZW1wbGF0ZSwgJGZvcm0sICRkYXRhICk7CiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGZpbGVuYW1lLCRvdXRwdXQsRklMRV9BUFBFTkQpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.FlatFileDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfdXRpbHM7CnVzZSB4dF9wYXJhbTsKCmNsYXNzIEZsYXRGaWxlRGlzcG9zaXRpb25FZGl0b3IgZXh0ZW5kcyBEaXNwb3NpdGlvbkVkaXRvcgp7CiAgICBwcml2YXRlICRfZGlzcDsKICAgIHByaXZhdGUgJF9tb2Q7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFxTbWFydEZvcm1zICRtb2QgKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgICAgICAkdGhpcy0+X2Rpc3AgPSBuZXcgRmxhdEZpbGVEaXNwb3NpdGlvbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnZmlsZW5hbWUnOgogICAgICAgIGNhc2UgJ2hlYWRlcnRlbXBsYXRlJzoKICAgICAgICBjYXNlICdlbnRyeXRlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+JGtleTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9maWxlbmFtZSggJGZpbGVuYW1lICkKICAgIHsKICAgICAgICAkdGhpcy0+X2Rpc3AtPnNldF9maWxlbmFtZSggJGZpbGVuYW1lICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9oZWFkZXJ0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fZGlzcC0+c2V0X2hlYWRlcnRlbXBsYXRlKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZW50cnl0ZW1wbGF0ZSggJGRhdGEgKQogICAgewogICAgICAgICR0aGlzLT5fZGlzcC0+c2V0X2VudHJ5dGVtcGxhdGUoICRkYXRhICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlc2V0X3RlbXBsYXRlcyggRm9ybSAkZm9ybSApCiAgICB7CiAgICAgICAgJG5hbWVzID0gJGZvcm0tPmdldF9maWVsZG5hbWVzKCk7CiAgICAgICAgJHRoaXMtPnNldF9oZWFkZXJ0ZW1wbGF0ZSggJyMnLmltcGxvZGUoJywnLCRuYW1lcykuJ3skRU9MfScgKTsKCiAgICAgICAgJHRtcCA9IFtdOwogICAgICAgIGZvcmVhY2goICRuYW1lcyBhcyAkbmFtZSApIHsKICAgICAgICAgICAgaWYoICRmb3JtLT5pc19tdWx0aXZhbHVlX2ZpZWxkKCAkbmFtZSApICkgewogICAgICAgICAgICAgICAgJHRtcFtdID0gIlwie2lmICFlbXB0eShcJCRuYW1lKX17aW1wbG9kZSgnKycsXCQkbmFtZSl9ey9pZn1cIlxuIjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR0bXBbXSA9ICcieyQnLiRuYW1lLid8ZGVmYXVsdDpcJ1wnfSInLiJcbiI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHRoaXMtPnNldF9lbnRyeXRlbXBsYXRlKCAie3N0cmlwfVxuIi5pbXBsb2RlKCcsJywkdG1wKS4ie1wkRU9MfXsvc3RyaXB9IiApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX0ZsYXRGaWxlRGlzcG9zaXRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnZGlzcGxheV9GbGF0RmlsZURpc3Bvc2l0aW9uJywkdGhpcy0+ZmlsZW5hbWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfc2V0dGluZ3NfZm9ybV91cmwoYXJyYXkgJHBhcmFtcyA9IG51bGwpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5jcmVhdGVfdXJsKCAnbTFfJywgJ2FkbWluX2VkaXRfZmxhdGZpbGVkaXNwb3NpdGlvbicsICcnLCAkcGFyYW1zKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3Bvc2l0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZGlzcG9zaXRpb24oIERpc3Bvc2l0aW9uICRkaXNwICkKICAgIHsKICAgICAgICBpZiggISAkZGlzcCBpbnN0YW5jZW9mIEZsYXRGaWxlRGlzcG9zaXRpb24gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdvYmplY3Qgb2YgdHlwZSAnLmdldF9jbGFzcygkZGlzcCkuJyBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X2Rpc3AgPSAkZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gJ1NtYXJ0Rm9ybXNcXERpc3Bvc2l0aW9uc1xcRmxhdEZpbGVEaXNwb3NpdGlvbic7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9lZGl0X2Zvcm0oYXJyYXkgJHBhcmFtcywgXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgJGZvcm1fZ3VpZCwgJGRpc3BfZ3VpZCkKICAgIHsKICAgICAgICAkbW9kID0gJHRoaXMtPl9tb2Q7CgogICAgICAgIGlmKCAhJGRpc3BfZ3VpZCApICR0aGlzLT5yZXNldF90ZW1wbGF0ZXMoICRmb3JtICk7CgogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ2NhbmNlbCcpICkgewogICAgICAgICAgICAkdGhpcy0+Z2V0X2hlbHBlcigpLT5jYW5jZWwoICRmb3JtX2d1aWQgKTsKICAgICAgICB9CiAgICAgICAgaWYoIHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywncmVzZXRfdHBsJykgKSB7CiAgICAgICAgICAgICR0aGlzLT5yZXNldF90ZW1wbGF0ZXMoICRmb3JtICk7CiAgICAgICAgfQogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgICAgICAgICAkdGhpcy0+c2V0X2ZpbGVuYW1lKHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2ZpbGVuYW1lJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0X2hlYWRlcnRlbXBsYXRlKHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnaGVhZGVydGVtcGxhdGUnKSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRfZW50cnl0ZW1wbGF0ZSh4dF91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ2VudHJ5dGVtcGxhdGUnKSk7CgogICAgICAgICAgICAvLyBub3cgaGF2ZSB0aGUgZGlzcG9zaXRpb24gb2JqZWN0LCBzdG9yZSBpdC4KICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF9kaXNwb3NpdGlvbigpLCAkZ3VpZCApOwogICAgICAgIH0KCiAgICAgICAgJHRwbCA9ICRtb2QtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl9lZGl0X2ZsYXRmaWxlZGlzcG9zaXRpb24udHBsJyk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdlZGl0b3JfbmFtZScsZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdoYW5kbGVyJywkdGhpcyk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdmb3JtX2d1aWQnLCRmb3JtX2d1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbignZ3VpZCcsJGRpc3BfZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCd0cGxfaGVscCcsXFNtYXJ0Rm9ybXNcdXRpbHM6OmdldF9mb3JtX3RwbF9oZWxwKCAkZm9ybSApKTsKICAgICAgICAkdHBsLT5kaXNwbGF5KCk7CiAgICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.GUIDFileDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBHVUlERmlsZURpc3Bvc2l0aW9uIGV4dGVuZHMgRGlzcG9zaXRpb24KewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIG1vdmVfZmlsZSggJGd1aWQsICR0bXBfbmFtZSwgJGRlc3QgKQogICAgewogICAgICAgICRzcmNkaXIgPSBUTVBfQ0FDSEVfTE9DQVRJT04uIi8kZ3VpZCI7CiAgICAgICAgJGZuID0gIiRzcmNkaXIvJHRtcF9uYW1lIjsKICAgICAgICBpZiggaXNfZmlsZSggJGZuICkgKSB7CiAgICAgICAgICAgICRjb25maWcgPSBcQ21zQXBwOjpnZXRfaW5zdGFuY2UoKS0+R2V0Q29uZmlnKCk7CiAgICAgICAgICAgIHJlbmFtZSggJGZuLCAkZGVzdCApOwogICAgICAgICAgICBAY2htb2QoJGRlc3RpbmF0aW9uLG9jdGRlYygkY29uZmlnWydkZWZhdWx0X3VwbG9hZF9wZXJtaXNzaW9uJ10pKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjbXNfbW92ZV91cGxvYWRlZF9maWxlKCAkdG1wX25hbWUsICRkZXN0ICk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJHJlc3ApCiAgICB7CiAgICAgICAgJGRlc3RkaXIgPSAkdGhpcy0+Z2V0X2Rlc3RkaXIoICRyZXNwICk7CiAgICAgICAgdXRpbHM6Om1rZGlyciggJGRlc3RkaXIgKTsKCiAgICAgICAgLy8gbm93LCBmb3IgZWFjaCBmaWxlIGZpZWxkLi4gd2UgZ2V0IHRoZSB2YWx1ZXMKICAgICAgICAkbW92ZWRfZmlsZXMgPSBmYWxzZTsKICAgICAgICBmb3JlYWNoKCAkZm9ybS0+ZmllbGRzIGFzICRmaWVsZCApIHsKICAgICAgICAgICAgaWYoICEgJGZpZWxkIGluc3RhbmNlb2YgXFNtYXJ0Rm9ybXNcRm9ybUZpbGVGaWVsZCApIGNvbnRpbnVlOwogICAgICAgICAgICAkbmFtZSA9ICRmaWVsZC0+bmFtZTsKICAgICAgICAgICAgaWYoIGVuZHN3aXRoKCAkbmFtZSwgJ1tdJykgKSAkbmFtZSA9IHN1YnN0cigkbmFtZSwwLC0yKTsKICAgICAgICAgICAgJHZhbHVlID0gJHJlc3AtPiRuYW1lOwogICAgICAgICAgICBpZiggISR2YWx1ZSApIGNvbnRpbnVlOwoKICAgICAgICAgICAgJGZpbGVuYW1lcyA9IFtdOwogICAgICAgICAgICAkZmlsZXMgPSAkcmVzcC0+bGlzdF9maWxlcygkbmFtZSk7CiAgICAgICAgICAgIGlmKCAhY291bnQoJGZpbGVzKSApIGNvbnRpbnVlOwogICAgICAgICAgICBmb3JlYWNoKCAkZmlsZXMgYXMgJGZpbGUgKSB7CiAgICAgICAgICAgICAgICBpZiggISRmaWxlWyduYW1lJ10gfHwgISRmaWxlWyd0bXBfbmFtZSddICkgY29udGludWU7CiAgICAgICAgICAgICAgICAkZGVzdG5hbWUgPSAkZGVzdGRpci4nLycuJGZpbGVbJ25hbWUnXTsKICAgICAgICAgICAgICAgICR0aGlzLT5tb3ZlX2ZpbGUoICRyZXNwLT5ndWlkLCAkZmlsZVsndG1wX25hbWUnXSwgJGRlc3RuYW1lICk7CiAgICAgICAgICAgICAgICAkZmlsZW5hbWVzW10gPSAkZGVzdG5hbWU7CiAgICAgICAgICAgICAgICAkbW92ZWRfZmlsZXMgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCAkZmllbGQtPm11bHRpcGxlICkgewogICAgICAgICAgICAgICAgJHJlc3AtPm1vZGlmeV92YWx1ZSggJG5hbWUsICRmaWxlbmFtZXMgKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRyZXNwLT5tb2RpZnlfdmFsdWUoICRuYW1lLCAkZmlsZW5hbWVzWzBdICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIHB1dCBhIG1ldGEgZGF0YSBmaWxlIGluIHRoaXMgZGlyZWN0b3J5IHNvIHRoYXQgd2UgY2FuIHRyYWNrIHRoaXMgbGF0ZXIuCiAgICAgICAgaWYoICRtb3ZlZF9maWxlcyApICR0aGlzLT5jcmVhdGVfbWV0YWZpbGUoICRmb3JtLCAkcmVzcCApOwoKICAgICAgICAkZGlyID0gVE1QX0NBQ0hFX0xPQ0FUSU9OLicvJy4kcmVzcC0+Z3VpZDsKICAgICAgICBpZiggaXNfZGlyKCAkZGlyICkgKSByZWN1cnNpdmVfZGVsZXRlKCAkZGlyICk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9kZXN0ZGlyKCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJHJlc3AgKQogICAgewogICAgICAgICRjb25maWcgPSBcY21zX2NvbmZpZzo6Z2V0X2luc3RhbmNlKCk7CiAgICAgICAgJHBhcmVudF9kaXIgPSAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4nL19TbWFydEZvcm1zJzsKICAgICAgICAkZGVzdGRpciA9ICRwYXJlbnRfZGlyLicvJy4kcmVzcC0+Z3VpZDsKICAgICAgICByZXR1cm4gJGRlc3RkaXI7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNyZWF0ZV9tZXRhZmlsZShcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJHJlc3ApCiAgICB7CiAgICAgICAgJG91dCA9IFtdOwogICAgICAgICRvdXRbJ2Zvcm1fbmFtZSddID0gJGZvcm0tPm5hbWU7CiAgICAgICAgJG91dFsncmVzcG9uc2VpZCddID0gJHJlc3AtPmdldF9yZXF1ZXN0aWQoKTsKICAgICAgICAkb3V0WydkYXRlJ10gPSAkcmVzcC0+Z2V0X3RpbWUoKTsKICAgICAgICAkZmlsZW5hbWUgPSAkdGhpcy0+Z2V0X2Rlc3RkaXIoICRyZXNwICkuJy8ubWV0YS5qc29uJzsKICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkZmlsZW5hbWUsanNvbl9lbmNvZGUoJG91dCkpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.HookDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBIb29rRGlzcG9zaXRpb24gZXh0ZW5kcyBEaXNwb3NpdGlvbgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gZGlzcG9zZSggXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgXFNtYXJ0Rm9ybXNcRm9ybVJlc3BvbnNlICRyZXNwb25zZSApCiAgICB7CiAgICAgICAgXENNU01TXEhvb2tNYW5hZ2VyOjpkb19ob29rKCdTbWFydEZvcm1zOjpkaXNwb3NlJywgJHJlc3BvbnNlICk7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.RedirectURLDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBSZWRpcmVjdFVSTERpc3Bvc2l0aW9uIGV4dGVuZHMgRGlzcG9zaXRpb24KewogICAgcHJpdmF0ZSAkX3RwbDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAndHBsJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fdHBsOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3RwbCggJHRwbCApCiAgICB7CiAgICAgICAgJHRoaXMtPl90cGwgPSB0cmltKCR0cGwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJHJlc3BvbnNlKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPnRwbCApIHJldHVybjsKICAgICAgICAkb3V0ID0gdXRpbHM6OnByb2Nlc3NfdGVtcGxhdGUoJHRoaXMtPnRwbCwgJGZvcm0sICRyZXNwb25zZSk7CiAgICAgICAgJG91dCA9IHRyaW0oJG91dCk7CiAgICAgICAgaWYoICEkb3V0ICkgcmV0dXJuOwoKICAgICAgICAkcmVzcG9uc2UtPnNldF9maW5hbF91cmwoICR1cmwgKTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.RedirectURLDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfcGFyYW07CnVzZSB4dF91dGlsczsKCmNsYXNzIFJlZGlyZWN0VVJMRGlzcG9zaXRpb25FZGl0b3IgZXh0ZW5kcyBEaXNwb3NpdGlvbkVkaXRvcgp7CiAgICBwcml2YXRlICRfZGlzcDsKICAgIHByaXZhdGUgJF9tb2Q7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFxTbWFydEZvcm1zICRtb2QgKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgICAgICAkdGhpcy0+X2Rpc3AgPSBuZXcgUmVkaXJlY3RVUkxEaXNwb3NpdGlvbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAndHBsJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+dHBsOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3RwbCggJHRwbCApCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+c2V0X3RwbCggJHRwbCApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX1JlZGlyZWN0VVJMRGlzcG9zaXRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnZGlzcGxheV9SZWRpcmVjdFVSTERpc3Bvc2l0aW9uJywkdGhpcy0+dXJsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3Bvc2l0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZGlzcG9zaXRpb24oIERpc3Bvc2l0aW9uICRkaXNwICkKICAgIHsKICAgICAgICBpZiggISAkZGlzcCBpbnN0YW5jZW9mIFJlZGlyZWN0VVJMRGlzcG9zaXRpb24gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdvYmplY3Qgb2YgdHlwZSAnLmdldF9jbGFzcygkZGlzcCkuJyBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X2Rpc3AgPSAkZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gJ1NtYXJ0Rm9ybXNcXERpc3Bvc2l0aW9uc1xcUmVkaXJlY3RVUkxEaXNwb3NpdGlvbic7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9lZGl0X2Zvcm0oYXJyYXkgJHBhcmFtcywgXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgJGZvcm1fZ3VpZCwgJGRpc3BfZ3VpZCApCiAgICB7CiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwoKICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cyggJHBhcmFtcywgJ2NhbmNlbCcgKSApIHsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+Y2FuY2VsKCAkZm9ybV9ndWlkICk7CiAgICAgICAgfQogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgICAgICAgICAkdGhpcy0+c2V0X3RwbCh4dF91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ3RwbCcpKTsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF9kaXNwb3NpdGlvbigpLCAkZGlzcF9ndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJG1vZC0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VkaXRfcmVkaXJlY3R1cmxfZGlzcG9zaXRpb24udHBsJyk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdlZGl0b3JfbmFtZScsZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdoYW5kbGVyJywkdGhpcyk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdmb3JtX2d1aWQnLCRmb3JtX2d1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbignZ3VpZCcsJGRpc3BfZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCd0cGxfaGVscCcsXFNtYXJ0Rm9ybXNcdXRpbHM6OmdldF9mb3JtX3RwbF9oZWxwKCAkZm9ybSApKTsKICAgICAgICAkdHBsLT5kaXNwbGF5KCk7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.SessionDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBTZXNzaW9uRGlzcG9zaXRpb24gZXh0ZW5kcyBEaXNwb3NpdGlvbgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gZGlzcG9zZSggXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgXFNtYXJ0Rm9ybXNcRm9ybVJlc3BvbnNlICRyZXNwKQogICAgewogICAgICAgIC8vIHllcCwgaXQncyB0aGF0IHRyaXZpYWwuCiAgICAgICAgJF9TRVNTSU9OWyRmb3JtLT5uYW1lXSA9ICRyZXNwOwogICAgfQoKfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.SessionDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfdXRpbHM7CnVzZSB4dF9wYXJhbTsKCmNsYXNzIFNlc3Npb25EaXNwb3NpdGlvbkVkaXRvciBleHRlbmRzIERpc3Bvc2l0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF9kaXNwOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChcU21hcnRGb3JtcyAkbW9kICkKICAgIHsKICAgICAgICAkdGhpcy0+X21vZCA9ICRtb2Q7CiAgICAgICAgJHRoaXMtPl9kaXNwID0gbmV3IFNlc3Npb25EaXNwb3NpdGlvbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnbmFtZV9TZXNzaW9uRGlzcG9zaXRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnbmFtZV9TZXNzaW9uRGlzcG9zaXRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3Bvc2l0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZGlzcG9zaXRpb24oIERpc3Bvc2l0aW9uICRkaXNwICkKICAgIHsKICAgICAgICBpZiggISAkZGlzcCBpbnN0YW5jZW9mIFNlc3Npb25EaXNwb3NpdGlvbiApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ29iamVjdCBvZiB0eXBlICcuZ2V0X2NsYXNzKCRkaXNwKS4nIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwogICAgICAgICR0aGlzLT5fZGlzcCA9ICRkaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3V0cHV0Y2xhc3MoKQogICAgewogICAgICAgIHJldHVybiBnZXRfY2xhc3MoJHRoaXMtPl9kaXNwKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX2ludGVyZmFjZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVfZWRpdF9mb3JtKCBhcnJheSAkcGFyYW1zLCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCAkZm9ybV9ndWlkLCAkZGlzcF9ndWlkICkKICAgIHsKICAgICAgICAvLyBkbyBub3RoaW5nLCBubyBpbnRlcmZhY2UuCiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzLg==]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.StopDisposingDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBTdG9wRGlzcG9zaW5nRGlzcG9zaXRpb24gZXh0ZW5kcyBEaXNwb3NpdGlvbgp7CiAgICBwcml2YXRlICRfdHBsOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCggJGtleSApCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ3RwbCc6CiAgICAgICAgY2FzZSAndGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl90cGw7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfdGVtcGxhdGUoICRzdHIgKQogICAgewogICAgICAgICR0aGlzLT5fdHBsID0gdHJpbSgkc3RyKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGlzcG9zZSggXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgXFNtYXJ0Rm9ybXNcRm9ybVJlc3BvbnNlICRyZXNwb25zZSApCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+dHBsICkgcmV0dXJuOwogICAgICAgICRvdXQgPSB1dGlsczo6cHJvY2Vzc190ZW1wbGF0ZSggJHRoaXMtPnRwbCwgJGZvcm0sICRyZXNwb25zZSApOwogICAgICAgICRvdXQgPSB0cmltKCRvdXQpOwogICAgICAgIGlmKCAhJG91dCApIHJldHVybjsKCiAgICAgICAgdGhyb3cgbmV3IFxTbWFydEZvcm1zXFN0b3BEaXNwb3NpdGlvblRyaWdnZXIoJ3N0b3BwZWQnKTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.StopDisposingDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfcGFyYW07CnVzZSB4dF91dGlsczsKCmNsYXNzIFN0b3BEaXNwb3NpbmdEaXNwb3NpdGlvbkVkaXRvciBleHRlbmRzIERpc3Bvc2l0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF9kaXNwOwogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fZGlzcCA9IG5ldyBTdG9wRGlzcG9zaW5nRGlzcG9zaXRpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ3RwbCc6CiAgICAgICAgY2FzZSAndGVtcGxhdGUnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwLT50ZW1wbGF0ZTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF90ZW1wbGF0ZSggJHN0ciApCiAgICB7CiAgICAgICAgJHRoaXMtPl9kaXNwLT5zZXRfdGVtcGxhdGUoICRzdHIgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnbmFtZV9TdG9wRGlzcG9zaW5nRGlzcG9zaXRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnZGlzcGxheV9TdG9wRGlzcG9zaW5nRGlzcG9zaXRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3NldHRpbmdzX2Zvcm1fdXJsKGFycmF5ICRwYXJhbXMgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+Y3JlYXRlX3VybCggJ20xXycsICdhZG1pbl9lZGl0X2RkZmlsZV9kaXNwb3NpdGlvbicsICcnLCAkcGFyYW1zKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3Bvc2l0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZGlzcG9zaXRpb24oIERpc3Bvc2l0aW9uICRkaXNwICkKICAgIHsKICAgICAgICBpZiggISAkZGlzcCBpbnN0YW5jZW9mIFN0b3BEaXNwb3NpbmdEaXNwb3NpdGlvbiApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ29iamVjdCBvZiB0eXBlICcuZ2V0X2NsYXNzKCRkaXNwKS4nIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwogICAgICAgICR0aGlzLT5fZGlzcCA9ICRkaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3V0cHV0Y2xhc3MoKQogICAgewogICAgICAgIHJldHVybiAnU21hcnRGb3Jtc1xcRGlzcG9zaXRpb25zXFxTdG9wRGlzcG9zaW5nRGlzcG9zaXRpb24nOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVfZWRpdF9mb3JtKGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRkaXNwX2d1aWQpCiAgICB7CiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwoKICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdjYW5jZWwnKSApIHsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+Y2FuY2VsKCAkZm9ybV9ndWlkICk7CiAgICAgICAgfQogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgICAgICAgICAkdGhpcy0+c2V0X3RlbXBsYXRlKHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywndGVtcGxhdGUnKSk7CgogICAgICAgICAgICAvLyBub3cgaGF2ZSB0aGUgZGlzcG9zaXRpb24gb2JqZWN0LCBzdG9yZSBpdC4KICAgICAgICAgICAgLy8gdG9kbzogJHRoaXMtPmZpbmlzaF9lZGl0aW5nX3Nlc3Npb24oKTsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCRmb3JtLCAkZm9ybV9ndWlkLCAkdGhpcy0+Z2V0X2Rpc3Bvc2l0aW9uKCksICRkaXNwX2d1aWQpOwogICAgICAgIH0KCiAgICAgICAgJHRwbCA9ICRtb2QtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl9lZGl0X3N0b3BkaXNwb3NpbmdfZGlzcG9zaXRpb24udHBsJyk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdlZGl0b3JfbmFtZScsZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdoYW5kbGVyJywkdGhpcy0+X2Rpc3ApOwogICAgICAgICR0cGwtPmFzc2lnbignZm9ybV9ndWlkJywkZm9ybV9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2d1aWQnLCRkaXNwX2d1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbigndHBsX2hlbHAnLFxTbWFydEZvcm1zXHV0aWxzOjpnZXRfZm9ybV90cGxfaGVscCggJGZvcm0gKSk7CiAgICAgICAgJHRwbC0+ZGlzcGxheSgpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.UniqueFileDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBVbmlxdWVGaWxlRGlzcG9zaXRpb24gZXh0ZW5kcyBEaXNwb3NpdGlvbgp7CiAgICBwcml2YXRlICRfZm9sZGVyOwogICAgcHJpdmF0ZSAkX2ZpbGVuYW1lX3RlbXBsYXRlOwogICAgcHJpdmF0ZSAkX2hlYWRlcnRlbXBsYXRlOwogICAgcHJpdmF0ZSAkX2VudHJ5dGVtcGxhdGU7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2ZvbGRlcic6CiAgICAgICAgICAgIHJldHVybiBcdHJpbSgoc3RyaW5nKSR0aGlzLT5fZm9sZGVyKTsKICAgICAgICBjYXNlICdmaWxlbmFtZV90ZW1wbGF0ZSc6CiAgICAgICAgICAgIHJldHVybiBcdHJpbSgoc3RyaW5nKSR0aGlzLT5fZmlsZW5hbWVfdGVtcGxhdGUpOwogICAgICAgIGNhc2UgJ2hlYWRlcnRlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuIFx0cmltKChzdHJpbmcpJHRoaXMtPl9oZWFkZXJ0ZW1wbGF0ZSk7CiAgICAgICAgY2FzZSAnZW50cnl0ZW1wbGF0ZSc6CiAgICAgICAgICAgIHJldHVybiBcdHJpbSgoc3RyaW5nKSR0aGlzLT5fZW50cnl0ZW1wbGF0ZSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZm9sZGVyKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9mb2xkZXIgPSB0cmltKCRkYXRhKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2ZpbGVuYW1lX3RlbXBsYXRlKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9maWxlbmFtZV90ZW1wbGF0ZSA9IHRyaW0oJGRhdGEpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfaGVhZGVydGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICAkdGhpcy0+X2hlYWRlcnRlbXBsYXRlID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9lbnRyeXRlbXBsYXRlKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9lbnRyeXRlbXBsYXRlID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRpc3Bvc2UoIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkZGF0YSkKICAgIHsKICAgICAgICAkY29uZmlnID0gXGNtc19jb25maWc6OmdldF9pbnN0YW5jZSgpOwogICAgICAgIC8vIGdldCB0aGUgdmFsdWUuCiAgICAgICAgJHZhbCA9ICRkYXRhLT5nZXRfcmVxdWVzdGlkKCk7CiAgICAgICAgJGZpbGVuYW1lID0gJGNvbmZpZ1sncm9vdF9wYXRoJ10uJy8nLiR0aGlzLT5mb2xkZXIuJy8nLiR2YWw7CiAgICAgICAgaWYoICR0aGlzLT5fZmlsZW5hbWVfdGVtcGxhdGUgKSB7CiAgICAgICAgICAgICR0bXAgPSB1dGlsczo6cHJvY2Vzc190ZW1wbGF0ZSggJHRoaXMtPl9maWxlbmFtZV90ZW1wbGF0ZSwgJGZvcm0sICRkYXRhICk7CiAgICAgICAgICAgIGlmKCAkdG1wICkgJGZpbGVuYW1lID0gJGNvbmZpZ1sncm9vdF9wYXRoJ10uJy8nLiR0aGlzLT5fZm9sZGVyLicvJy5iYXNlbmFtZSgkdG1wKTsKICAgICAgICB9CgogICAgICAgIC8vIGlmIHRoZSBkaXJlY3RvcnkgaXMgcmVsYXRpdmUgdG8gdGhlIHJvb3QgcGF0aCwgIEFORCBkb2Vzbid0IGV4aXN0CiAgICAgICAgLy8gY3JlYXRlIGl0LgogICAgICAgICRkaXIgPSBkaXJuYW1lKCRmaWxlbmFtZSk7CiAgICAgICAgaWYoICFpc19kaXIoICRkaXIgKSAmJiB1dGlsczo6aXNfY21zbXNfcmVsYXRpdmUoICRkaXIgKSApIHsKICAgICAgICAgICAgJHJlcyA9IG1rZGlyKCAkZGlyLCAwNzc3LCBUUlVFICk7CiAgICAgICAgICAgIGlmKCAhJHJlcyApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignU1lTVEVNIEVSUk9SOiAgQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgYXQgJy4kZGlyKTsKICAgICAgICB9CiAgICAgICAgaWYoICF1dGlsczo6Y2FuX3dyaXRlX2ZpbGUoICRmaWxlbmFtZSApICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdTWVNURU0gRVJST1I6IENhbm5vdCB3cml0ZSB0byAnLiRmaWxlbmFtZSk7CgogICAgICAgIC8vIGlmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0CiAgICAgICAgLy8gcHJvY2VzcyB0aGUgdGVtcGxhdGUgZm9yIHRoZSBoZWFkZXIsIGFuZCB3cml0ZSBpdC4KICAgICAgICBpZiggIWlzX2ZpbGUoICRmaWxlbmFtZSApICYmICR0aGlzLT5oZWFkZXJ0ZW1wbGF0ZSApIHsKICAgICAgICAgICAgJG91dHB1dCA9IHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+aGVhZGVydGVtcGxhdGUsICRmb3JtLCAkZGF0YSApOwogICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkZmlsZW5hbWUsJG91dHB1dCk7CiAgICAgICAgfQoKICAgICAgICAvLyBwcm9jZXNzIHRlbXBsYXRlIGZvciB0aGUgZW50cnksICBhbmQgd3JpdGUuCiAgICAgICAgJG91dHB1dCA9IHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+ZW50cnl0ZW1wbGF0ZSwgJGZvcm0sICRkYXRhICk7CiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGZpbGVuYW1lLCRvdXRwdXQsRklMRV9BUFBFTkQpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.UniqueFileDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgU21hcnRGb3Jtc1xGb3JtOwp1c2UgeHRfdXRpbHM7CnVzZSB4dF9wYXJhbTsKCmNsYXNzIFVuaXF1ZUZpbGVEaXNwb3NpdGlvbkVkaXRvciBleHRlbmRzIERpc3Bvc2l0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF9kaXNwOwogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fZGlzcCA9IG5ldyBVbmlxdWVGaWxlRGlzcG9zaXRpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2ZvbGRlcic6CiAgICAgICAgY2FzZSAnZmlsZW5hbWVfdGVtcGxhdGUnOgogICAgICAgIGNhc2UgJ2hlYWRlcnRlbXBsYXRlJzoKICAgICAgICBjYXNlICdlbnRyeXRlbXBsYXRlJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+JGtleTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9mb2xkZXIoICRmb2xkZXIgKQogICAgewogICAgICAgICR0aGlzLT5fZGlzcC0+c2V0X2ZvbGRlciggJGZvbGRlciApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZmlsZW5hbWVfdGVtcGxhdGUoICRmaWxlbmFtZV90ZW1wbGF0ZSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9kaXNwLT5zZXRfZmlsZW5hbWVfdGVtcGxhdGUoICRmaWxlbmFtZV90ZW1wbGF0ZSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfaGVhZGVydGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICAkdGhpcy0+X2Rpc3AtPnNldF9oZWFkZXJ0ZW1wbGF0ZSggJGRhdGEgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2VudHJ5dGVtcGxhdGUoICRkYXRhICkKICAgIHsKICAgICAgICAkdGhpcy0+X2Rpc3AtPnNldF9lbnRyeXRlbXBsYXRlKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXNldF90ZW1wbGF0ZXMoIEZvcm0gJGZvcm0gKQogICAgewogICAgICAgICRsYWJlbHMgPSBbXTsKCiAgICAgICAgJHRtcCA9IFtdOwogICAgICAgIGZvcmVhY2goICRmb3JtLT5maWVsZHMgYXMgJGZpZWxkICkgewogICAgICAgICAgICAkbmFtZSA9ICRmaWVsZC0+bmFtZTsKICAgICAgICAgICAgJGxhYmVsID0gJGZpZWxkLT5sYWJlbDsKICAgICAgICAgICAgaWYoICEkbGFiZWwgKSAkbGFiZWwgPSAkbmFtZTsKICAgICAgICAgICAgJGxhYmVsc1tdID0gJGxhYmVsOwoKICAgICAgICAgICAgaWYoICRmaWVsZC0+bXVsdGlwbGUgKSB7CiAgICAgICAgICAgICAgICAkdG1wW10gPSAiXCJ7aWYgIWVtcHR5KFwkJG5hbWUpfXtpbXBsb2RlKCcrJyxcJCRuYW1lKX17L2lmfVwiXG4iOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHRtcFtdID0gJyJ7JCcuJG5hbWUuJ3xkZWZhdWx0OlwnXCd9IicuIlxuIjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdGhpcy0+c2V0X2hlYWRlcnRlbXBsYXRlKCAnIycuaW1wbG9kZSgnLCcsJGxhYmVscykuJ3skRU9MfScgKTsKICAgICAgICAkdGhpcy0+c2V0X2VudHJ5dGVtcGxhdGUoICJ7c3RyaXB9XG4iLmltcGxvZGUoJywnLCR0bXApLiJ7XCRFT0x9ey9zdHJpcH0iICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ25hbWVfVW5pcXVlRmlsZURpc3Bvc2l0aW9uJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9kaXNwbGF5c3RyaW5nKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ2Rpc3BsYXlfVW5pcXVlRmlsZURpc3Bvc2l0aW9uJywkdGhpcy0+Zm9sZGVyKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3NldHRpbmdzX2Zvcm1fdXJsKGFycmF5ICRwYXJhbXMgPSBudWxsKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+Y3JlYXRlX3VybCggJ20xXycsICdhZG1pbl9lZGl0X2RkZmlsZV9kaXNwb3NpdGlvbicsICcnLCAkcGFyYW1zKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3Bvc2l0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZGlzcG9zaXRpb24oIERpc3Bvc2l0aW9uICRkaXNwICkKICAgIHsKICAgICAgICBpZiggISAkZGlzcCBpbnN0YW5jZW9mIFVuaXF1ZUZpbGVEaXNwb3NpdGlvbiApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ29iamVjdCBvZiB0eXBlICcuZ2V0X2NsYXNzKCRkaXNwKS4nIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwogICAgICAgICR0aGlzLT5fZGlzcCA9ICRkaXNwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3V0cHV0Y2xhc3MoKQogICAgewogICAgICAgIHJldHVybiAnU21hcnRGb3Jtc1xcRGlzcG9zaXRpb25zXFxVbmlxdWVGaWxlRGlzcG9zaXRpb24nOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVfZWRpdF9mb3JtKGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRkaXNwX2d1aWQpCiAgICB7CiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwoKICAgICAgICBpZiggISRkaXNwX2d1aWQgKSAkdGhpcy0+cmVzZXRfdGVtcGxhdGVzKCAkZm9ybSApOwoKICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdjYW5jZWwnKSApIHsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+Y2FuY2VsKCAkZm9ybV9ndWlkICk7CiAgICAgICAgfQogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3Jlc2V0X3RwbCcpICkgewogICAgICAgICAgICAkdGhpcy0+cmVzZXRfdGVtcGxhdGVzKCAkZm9ybSApOwogICAgICAgIH0KICAgICAgICBpZiggeHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdzdWJtaXQnKSApIHsKICAgICAgICAgICAgJHRoaXMtPnNldF9mb2xkZXIoeHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZm9sZGVyJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0X2ZpbGVuYW1lX3RlbXBsYXRlKHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnZmlsZW5hbWVfdGVtcGxhdGUnKSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRfaGVhZGVydGVtcGxhdGUoeHRfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCdoZWFkZXJ0ZW1wbGF0ZScpKTsKICAgICAgICAgICAgJHRoaXMtPnNldF9lbnRyeXRlbXBsYXRlKHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywnZW50cnl0ZW1wbGF0ZScpKTsKCiAgICAgICAgICAgIC8vIG5vdyBoYXZlIHRoZSBkaXNwb3NpdGlvbiBvYmplY3QsIHN0b3JlIGl0LgogICAgICAgICAgICAvLyB0b2RvOiAkdGhpcy0+ZmluaXNoX2VkaXRpbmdfc2Vzc2lvbigpOwogICAgICAgICAgICAkdGhpcy0+Z2V0X2hlbHBlcigpLT5maW5pc2goICRmb3JtLCAkZm9ybV9ndWlkLCAkdGhpcy0+Z2V0X2Rpc3Bvc2l0aW9uKCksICRkaXNwX2d1aWQgKTsKICAgICAgICB9CgogICAgICAgICR0cGwgPSAkbW9kLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgnYWRtaW5fZWRpdF91bmlxdWVmaWxlX2Rpc3Bvc2l0aW9uLnRwbCcpOwogICAgICAgICR0cGwtPmFzc2lnbignZWRpdG9yX25hbWUnLGdldF9jbGFzcygkdGhpcykpOwogICAgICAgICR0cGwtPmFzc2lnbignaGFuZGxlcicsJHRoaXMpOwogICAgICAgICR0cGwtPmFzc2lnbignZm9ybV9ndWlkJywkZm9ybV9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2d1aWQnLCRkaXNwX2d1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbigndHBsX2hlbHAnLFxTbWFydEZvcm1zXHV0aWxzOjpnZXRfZm9ybV90cGxfaGVscCggJGZvcm0gKSk7CiAgICAgICAgJHRwbC0+ZGlzcGxheSgpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.WebHookDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBXZWJIb29rRGlzcG9zaXRpb24gZXh0ZW5kcyBEaXNwb3NpdGlvbgp7CiAgICBwcml2YXRlICRfdXJsOwogICAgcHJpdmF0ZSAkX2V4dHJhcG9zdHZhcnM7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ3VybCc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3VybDsKICAgICAgICBjYXNlICdleHRyYXBvc3R2YXJzJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oJHRoaXMtPl9leHRyYXBvc3R2YXJzKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF91cmwoICR1cmwgKQogICAgewogICAgICAgICR0aGlzLT5fdXJsID0gdHJpbSgkdXJsKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZnJvbV90ZXh0KCRtYXBfdGV4dCkKICAgIHsKICAgICAgICBpZiggISRtYXBfdGV4dCApIHJldHVybjsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgJGxpbmVzID0gZXhwbG9kZSgiXG4iLCRtYXBfdGV4dCk7CiAgICAgICAgZm9yZWFjaCggJGxpbmVzIGFzICRsaW5lICkgewogICAgICAgICAgICAkbGluZSA9IHRyaW0oJGxpbmUpOwogICAgICAgICAgICBpZiggISRsaW5lICkgY29udGludWU7CiAgICAgICAgICAgICRwYXJ0cyA9IGV4cGxvZGUoIj0iLCRsaW5lLDIpOwogICAgICAgICAgICBpZiggY291bnQoJHBhcnRzKSAhPSAyICkgY29udGludWU7CiAgICAgICAgICAgICRrZXkgPSB0cmltKCRwYXJ0c1swXSk7CiAgICAgICAgICAgICR2YWwgPSAkcGFydHNbMV07CiAgICAgICAgICAgICRvdXRbJGtleV0gPSAkdmFsOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2V4dHJhdmFycyggXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgXFNtYXJ0Rm9ybXNcRm9ybVJlc3BvbnNlICRyZXNwb25zZSApCiAgICB7CiAgICAgICAgaWYoICR0aGlzLT5fZXh0cmFwb3N0dmFycyApIHsKICAgICAgICAgICAgJHR4dCA9IHV0aWxzOjpwcm9jZXNzX3RlbXBsYXRlKCAkdGhpcy0+X2V4dHJhcG9zdHZhcnMsICRmb3JtLCAkcmVzcG9uc2UgKTsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5mcm9tX3RleHQoICR0eHQgKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9leHRyYXBvc3R2YXJzKCAkZGF0YSApCiAgICB7CiAgICAgICAgJHRoaXMtPl9leHRyYXBvc3R2YXJzID0gdHJpbSgkZGF0YSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRpc3Bvc2UoIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+dXJsICkgcmV0dXJuOwogICAgICAgICRkYXRhID0gJHJlc3BvbnNlLT5hc19hcnJheSgpOwogICAgICAgICRkYXRhMiA9ICR0aGlzLT5nZXRfZXh0cmF2YXJzKCAkZm9ybSwgJHJlc3BvbnNlICk7CiAgICAgICAgaWYoIGlzX2FycmF5KCRkYXRhMikgKSAkZGF0YSA9IGFycmF5X21lcmdlKCRkYXRhLCRkYXRhMik7CgogICAgICAgICRyZXF1ZXN0ID0gbmV3IFxjbXNfaHR0cF9yZXF1ZXN0KCk7CiAgICAgICAgJHJlcXVlc3QtPnNldE1ldGhvZCgnUE9TVCcpOwogICAgICAgICRyZXF1ZXN0LT5zZXRQYXJhbXMoJGRhdGEpOwogICAgICAgICRyZXF1ZXN0LT5leGVjdXRlKCR0aGlzLT51cmwpOwogICAgICAgICRzdGF0dXMgPSAkcmVxdWVzdC0+Z2V0U3RhdHVzKCk7CiAgICAgICAgJGVycm9yID0gJHJlcXVlc3QtPmdldEVycm9yKCk7CiAgICAgICAgaWYoICRzdGF0dXMgIT0gMjAwICkgewogICAgICAgICAgICBhdWRpdCgkc3RhdHVzLCdTbWFydEZvcm1zJywnV2ViSG9vayBQb3N0IHRvICcuJHRoaXMtPnVybC4nIGZhaWxlZCcpOwogICAgICAgICAgICBAdHJpZ2dlcl9lcnJvcigiV2ViSG9vayBlcnJvciAkc3RhdHVzIHBvc3RpbmcgdG8gIi4kdGhpcy0+dXJsKTsKICAgICAgICAgICAgZGVidWdfdG9fbG9nKCdXZWJIb29rIHBvc3QgdG8gJy4kdGhpcy0+dXJsLicgZmFpbGVkIHdpdGggc3RhdHVzICcuJHN0YXR1cyk7CiAgICAgICAgICAgIGRlYnVnX3RvX2xvZygkZXJyb3IpOwogICAgICAgIH0KICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/class.WebHookDispositionEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwp1c2UgXFNtYXJ0Rm9ybXNcRm9ybTsKdXNlIHh0X3BhcmFtOwp1c2UgeHRfdXRpbHM7CgpjbGFzcyBXZWJIb29rRGlzcG9zaXRpb25FZGl0b3IgZXh0ZW5kcyBEaXNwb3NpdGlvbkVkaXRvcgp7CiAgICBwcml2YXRlICRfZGlzcDsKICAgIHByaXZhdGUgJF9tb2Q7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFxTbWFydEZvcm1zICRtb2QgKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgICAgICAkdGhpcy0+X2Rpc3AgPSBuZXcgV2ViSG9va0Rpc3Bvc2l0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICd1cmwnOgogICAgICAgIGNhc2UgJ2V4dHJhcG9zdHZhcnMnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9kaXNwLT4ka2V5OwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3VybCggJHN0ciApCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcC0+c2V0X3VybCggJHN0ciApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZXh0cmFwb3N0dmFycyggJGRhdGEgKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2Rpc3AtPnNldF9leHRyYXBvc3R2YXJzKCAkZGF0YSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX1dlYkhvb2tEaXNwb3NpdGlvbicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheXN0cmluZygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCdkaXNwbGF5X1dlYkhvb2tEaXNwb3NpdGlvbicsJHRoaXMtPnVybCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9kaXNwb3NpdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2Rpc3Bvc2l0aW9uKCBEaXNwb3NpdGlvbiAkZGlzcCApCiAgICB7CiAgICAgICAgaWYoICEgJGRpc3AgaW5zdGFuY2VvZiBXZWJIb29rRGlzcG9zaXRpb24gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdvYmplY3Qgb2YgdHlwZSAnLmdldF9jbGFzcygkZGlzcCkuJyBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X2Rpc3AgPSAkZGlzcDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gJ1NtYXJ0Rm9ybXNcXERpc3Bvc2l0aW9uc1xcV2ViSG9va0Rpc3Bvc2l0aW9uJzsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFuZGxlX2VkaXRfZm9ybShhcnJheSAkcGFyYW1zLCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCAkZm9ybV9ndWlkLCAkZGlzcF9ndWlkICkKICAgIHsKICAgICAgICAkbW9kID0gJHRoaXMtPl9tb2Q7CgogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsICdjYW5jZWwnKSApIHsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+Y2FuY2VsKCAkZm9ybV9ndWlkICk7CiAgICAgICAgfQogICAgICAgIGlmKCB4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgICAgICAgICAkdGhpcy0+c2V0X3VybCh4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCAndXJsJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0X2V4dHJhcG9zdHZhcnMoeHRfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCAnZXh0cmFwb3N0dmFycycpKTsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF9kaXNwb3NpdGlvbigpLCAkZGlzcF9ndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJG1vZC0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VkaXRfd2ViaG9va19kaXNwb3NpdGlvbi50cGwnKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2VkaXRvcl9uYW1lJyxnZXRfY2xhc3MoJHRoaXMpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2hhbmRsZXInLCR0aGlzKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2Zvcm1fZ3VpZCcsJGZvcm1fZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdndWlkJywkZGlzcF9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3RwbF9oZWxwJyxcU21hcnRGb3Jtc1x1dGlsczo6Z2V0X2Zvcm1fdHBsX2hlbHAoICRmb3JtICkpOwogICAgICAgICR0cGwtPmRpc3BsYXkoKTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/Dispositions/interface.IDisposition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zOwoKaW50ZXJmYWNlIElEaXNwb3NpdGlvbgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2d1aWQoKTsKICAgIHB1YmxpYyBmdW5jdGlvbiBkaXNwb3NlKFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkZGF0YSk7Cn0gLy8gZW5kIG9mIGludGVyZmFjZQo=]]></data>
	</file>
	<file>
	  <filename>/lib/DOMFields</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/DOMFields/class.DOMButtonField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRE9NRmllbGRzOwoKY2xhc3MgRE9NQnV0dG9uRmllbGQgZXh0ZW5kcyBET01GaWVsZCB7CiAgICB1c2UgRE9NTGFiZWxGaWVsZFRyYWl0OwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChcRE9NTm9kZSAkbm9kZSkKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRub2RlKTsKICAgICAgICAkdGhpcy0+c2V0X2xhYmVsKCR0aGlzLT5maW5kUGFyZW50TGFiZWwoJG5vZGUpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/DOMFields/class.DOMField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRE9NRmllbGRzOwoKYWJzdHJhY3QgY2xhc3MgRE9NRmllbGQgZXh0ZW5kcyBGaWVsZAp7CiAgICBwcml2YXRlICRfbGluZTsKICAgIHByaXZhdGUgJF92YWx1ZTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoXERPTU5vZGUgJG5vZGUpCiAgICB7CiAgICAgICAgJG5vZGVuYW1lID0gJG5vZGUtPm5vZGVOYW1lOwogICAgICAgICRhdHRyaWJzID0gJHRoaXMtPmdldEF0dHJpYnV0ZXNBcnJheSgkbm9kZS0+YXR0cmlidXRlcyk7CiAgICAgICAgJHRoaXMtPl9saW5lID0gJG5vZGUtPmdldExpbmVObygpOwogICAgICAgICR0aGlzLT5fdmFsdWUgPSAkbm9kZS0+bm9kZVZhbHVlOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoICRub2RlbmFtZSwgJGF0dHJpYnMgKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0QXR0cmlidXRlc0FycmF5KFxET01OYW1lZE5vZGVNYXAgJG1hcCkKICAgIHsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJG1hcCBhcyAkYXR0ciApIHsKICAgICAgICAgICAgJG91dFskYXR0ci0+bm9kZU5hbWVdID0gJGF0dHItPm5vZGVWYWx1ZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF92YWx1ZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdmFsdWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9saW5lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9saW5lOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/DOMFields/class.DOMFormField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRE9NRmllbGRzOwoKY2xhc3MgRE9NRm9ybUZpZWxkIGV4dGVuZHMgRE9NRmllbGQge30K]]></data>
	</file>
	<file>
	  <filename>/lib/DOMFields/class.DOMInputField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRE9NRmllbGRzOwoKY2xhc3MgRE9NSW5wdXRGaWVsZCBleHRlbmRzIERPTUZpZWxkIHsKICAgIHVzZSBET01MYWJlbEZpZWxkVHJhaXQ7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFxET01Ob2RlICRub2RlKQogICAgewogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJG5vZGUpOwogICAgICAgICR0aGlzLT5zZXRfbGFiZWwoJHRoaXMtPmZpbmRQYXJlbnRMYWJlbCgkbm9kZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdmFsdWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0X2F0dHJpYnV0ZSgndmFsdWUnKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/DOMFields/class.DOMLabelField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRE9NRmllbGRzOwoKY2xhc3MgRE9NTGFiZWxGaWVsZCBleHRlbmRzIERPTUZpZWxkIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/DOMFields/class.DOMSelectField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRE9NRmllbGRzOwoKY2xhc3MgRE9NU2VsZWN0RmllbGQgZXh0ZW5kcyBET01GaWVsZAp7CiAgICB1c2UgRE9NTGFiZWxGaWVsZFRyYWl0OwoKICAgIHByaXZhdGUgJF9vcHRpb25zID0gW107CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KFxET01Ob2RlICRub2RlKQogICAgewogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJG5vZGUpOwogICAgICAgICR0aGlzLT5zZXRfbGFiZWwoJHRoaXMtPmZpbmRQYXJlbnRMYWJlbCgkbm9kZSkpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpc19tdWx0aXNlbGVjdCgpCiAgICB7CiAgICAgICAgJG11bHRpcGxlID0gJHRoaXMtPmdldF9hdHRyaWJ1dGUoJ211bHRpcGxlJyk7CiAgICAgICAgaWYoICRtdWx0aXBsZSApIHJldHVybiB0cnVlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdmFsdWUoKQogICAgewogICAgICAgIGlmKCAkdGhpcy0+aXNfbXVsdGlzZWxlY3QoKSApIHsKICAgICAgICAgICAgJG91dCA9IFtdOwogICAgICAgICAgICBmb3JlYWNoKCAkdGhpcy0+X29wdGlvbnMgYXMgJG9wdGlvbiApIHsKICAgICAgICAgICAgICAgIGlmKCAkb3B0aW9uLT5nZXRfc2VsZWN0ZWQoKSApICRvdXRbXSA9ICRvcHRpb24tPmdldF92YWx1ZSgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkb3V0OwogICAgICAgIH0KCiAgICAgICAgZm9yZWFjaCggJHRoaXMtPl9vcHRpb25zIGFzICRvcHRpb24gKSB7CiAgICAgICAgICAgIGlmKCAkb3B0aW9uLT5nZXRfc2VsZWN0ZWQoKSApIHJldHVybiAkb3B0aW9uLT5nZXRfdmFsdWUoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+X29wdGlvbnNbMF0tPmdldF92YWx1ZSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRfb3B0aW9uKCBET01TZWxlY3RPcHRpb24gJG9wdGlvbiApCiAgICB7CiAgICAgICAgJHRoaXMtPl9vcHRpb25zW10gPSAkb3B0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3B0aW9ucygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fb3B0aW9uczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX29wdGlvbnMoKQogICAgewogICAgICAgIHJldHVybiBjb3VudCgkdGhpcy0+X29wdGlvbnMpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/DOMFields/class.DOMTextAreaField.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRE9NRmllbGRzOwoKY2xhc3MgRE9NVGV4dEFyZWFGaWVsZCBleHRlbmRzIERPTUZpZWxkIHsKICAgIHVzZSBET01MYWJlbEZpZWxkOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChcRE9NTm9kZSAkbm9kZSkKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRub2RlKTsKICAgICAgICAkdGhpcy0+c2V0X2xhYmVsKCR0aGlzLT5maW5kUGFyZW50TGFiZWwoJG5vZGUpKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/extraclasses.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgpjbGFzcyBFeGNlcHRpb24gZXh0ZW5kcyBcRXhjZXB0aW9uIHt9CmNsYXNzIEZvcm1TY2FubmVyRXJyb3IgZXh0ZW5kcyBcUnVudGltZUV4Y2VwdGlvbiB7fSAgICAvLyBhZG1pbiBzaWRlCmNsYXNzIEZvcm1WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBGb3JtU2Nhbm5lckVycm9yIHt9ICAvLyBhZG1pbiBzaWRlCmNsYXNzIEJvdERldGVjdGVkRXJyb3IgZXh0ZW5kcyBFeGNlcHRpb24ge30gIC8vIGZyb250ZW5kCmNsYXNzIFN0b3BEaXNwb3NpdGlvblRyaWdnZXIgZXh0ZW5kcyBFeGNlcHRpb24ge30gLy8gZnJvbnRlbmQKY2xhc3MgVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXhjZXB0aW9uIHt9IC8vIGZyb250ZW5kCmNsYXNzIERpc3Bvc2l0aW9uRXJyb3IgZXh0ZW5kcyBFeGNlcHRpb24ge30gLy8gZnJvbnRlbmQK]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/FieldValidators/abstract.Validation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKYWJzdHJhY3QgY2xhc3MgVmFsaWRhdGlvbiBpbXBsZW1lbnRzIElWYWxpZGF0aW9uCnsKICAgIHByaXZhdGUgJF9ndWlkOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgICB7CiAgICAgICAgJHRoaXMtPl9ndWlkID0gXHh0X3V0aWxzOjpjcmVhdGVfZ3VpZCgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX3NldCggJGtleSwgJHZhbCApCiAgICB7CiAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigiJGtleSBpcyBub3QgYSBzZXR0YWJsZSBtZW1iZXIgb2YgIi5nZXRfY2xhc3MoJHRoaXMpKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2d1aWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2d1aWQ7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/abstract.ValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKYWJzdHJhY3QgY2xhc3MgVmFsaWRhdGlvbkVkaXRvcgp7CiAgICBwcml2YXRlICRfaGVscGVyOwoKICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpOwogICAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGdldF92YWxpZGF0aW9uKCk7CiAgICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gc2V0X3ZhbGlkYXRpb24oIFZhbGlkYXRpb24gJGluICk7CiAgICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCk7CiAgICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKTsKICAgIHB1YmxpYyBmdW5jdGlvbiBhbGxvd3NfbXVsdGlwbGUoKSB7IHJldHVybiBUUlVFOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX2ludGVyZmFjZSgpIHsgcmV0dXJuIFRSVUU7IH0KICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVfZWRpdF9mb3JtKCBhcnJheSAkcGFyYW1zLCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCAkZm9ybV9ndWlkLCAkZ3VpZCApOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfaGVscGVyX3Byb3h5KCBcU21hcnRGb3Jtc1xWYWxpZGF0aW9uRWRpdG9ySGVscGVyUHJveHkgJHByb3h5ICkKICAgIHsKICAgICAgICAkdGhpcy0+X2hlbHBlciA9ICRwcm94eTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2hlbHBlcigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5faGVscGVyOwogICAgfQp9IC8vIGVuZCBvZiBpbnRlcmZhY2UK]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.BadUploadError.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgQmFkVXBsb2FkRXJyb3IgZXh0ZW5kcyBWYWxpZGF0aW9uRXhjZXB0aW9uIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.CaptchaFieldValidatorProxyEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgQ2FwdGNoYUZpZWxkVmFsaWRhdG9yUHJveHlFZGl0b3IgZXh0ZW5kcyBWYWxpZGF0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF92YWxpZGF0b3I7CiAgICBwcml2YXRlICRfbW9kOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yID0gbmV3IENhcHRjaGFWYWxpZGF0b3JQcm94eSgpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX0NhcHRjaGFGaWVsZFZhbGlkYXRvcicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdmFsaWRhdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdmFsaWRhdG9yOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfdmFsaWRhdGlvbiggVmFsaWRhdGlvbiAkaW4gKQogICAgewogICAgICAgIGlmKCAhICRpbiBpbnN0YW5jZW9mIENhcHRjaGFWYWxpZGF0b3JQcm94eSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgdmFsaWRhdGlvbiBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9ICRpbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX2ludGVyZmFjZSgpIHsgcmV0dXJuIEZBTFNFOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gaGFuZGxlX2VkaXRfZm9ybSggYXJyYXkgJHBhcmFtcywgXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgJGZvcm1fZ3VpZCwgJGd1aWQgKSB7fQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3V0cHV0Y2xhc3MoKQogICAgewogICAgICAgIHJldHVybiBnZXRfY2xhc3MoJHRoaXMtPl92YWxpZGF0b3IpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheXN0cmluZygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdmFsaWRhdG9yLT5nZXRfZGlzcGxheV9zdHJpbmcoICR0aGlzLT5fbW9kLT5nZXRfdHJhbnNsYXRvcigpICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFsbG93c19tdWx0aXBsZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.CaptchaValidatorProxy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwp1c2UgXFNtYXJ0Rm9ybXNcSUNhcHRjaGFQcm92aWRlcjsKCmNsYXNzIENhcHRjaGFWYWxpZGF0b3JQcm94eSBleHRlbmRzIFZhbGlkYXRpb24KewogICAgcHJpdmF0ZSAkX3Byb3ZpZGVyOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggSUNhcHRjaGFQcm92aWRlciAkcHJvdmlkZXIgPSBudWxsICkKICAgIHsKICAgICAgICAkdGhpcy0+X3Byb3ZpZGVyID0gJHByb3ZpZGVyOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheV9zdHJpbmcoIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyICkKICAgIHsKICAgICAgICByZXR1cm4gJHRyLT50cmFuc2xhdGUoJ3ZhbGlkYXRlX2NhcHRjaGEnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgXFNtYXJ0Rm9ybXNcRm9ybVJlc3BvbnNlICRkYXRhLCBcU21hcnRGb3Jtc1xUcmFuc2xhdG9yICR0ciApCiAgICB7CiAgICAgICAgaWYoICEgJGZvcm0tPmhhc19jYXB0Y2hhICkgcmV0dXJuOwogICAgICAgIGlmKCAkdGhpcy0+X3Byb3ZpZGVyICYmICEgJHRoaXMtPl9wcm92aWRlci0+dmFsaWRhdGVfY2FwdGNoYSgpICkgdGhyb3cgbmV3IFZhbGlkYXRpb25FeGNlcHRpb24oJ0NBUFRDSEEnLCR0ci0+dHJhbnNsYXRlKCdlcnJfY2FwdGNoYV9taXNtYXRjaCcpKTsKICAgIH0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.ComputedValue.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBDb21wdXRlZFZhbHVlIGV4dGVuZHMgVmFsaWRhdGlvbgp7CiAgICBwcml2YXRlICRfZmllbGROYW1lOwogICAgcHJpdmF0ZSAkX3RlbXBsYXRlOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCggJGtleSApCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2ZpZWxkTmFtZSc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fZmllbGROYW1lKTsKICAgICAgICBjYXNlICd0ZW1wbGF0ZSc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fdGVtcGxhdGUpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlfc3RyaW5nKCBcU21hcnRGb3Jtc1xUcmFuc2xhdG9yICR0ciApCiAgICB7CiAgICAgICAgcmV0dXJuICR0ci0+dHJhbnNsYXRlKCdkaXNwbGF5X0NvbXB1dGVkVmFsdWUnLCR0aGlzLT5maWVsZE5hbWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZmllbGROYW1lKCR2YWwpCiAgICB7CiAgICAgICAgJHRoaXMtPl9maWVsZE5hbWUgPSB0cmltKCR2YWwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfdGVtcGxhdGUoJHZhbCkKICAgIHsKICAgICAgICAkdGhpcy0+X3RlbXBsYXRlID0gdHJpbSgkdmFsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgXFNtYXJ0Rm9ybXNcRm9ybVJlc3BvbnNlICRyZXNwb25zZSwgXFNtYXJ0Rm9ybXNcVHJhbnNsYXRvciAkdHJhbnNsYXRvciApCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2ZpZWxkTmFtZSApIHJldHVybjsKICAgICAgICAkb3V0ID0gdXRpbHM6OnByb2Nlc3NfdGVtcGxhdGUoICR0aGlzLT5fdGVtcGxhdGUsICRmb3JtLCAkcmVzcG9uc2UgKTsKICAgICAgICAkcmVzcG9uc2UtPm1vZGlmeV92YWx1ZSggJHRoaXMtPl9maWVsZE5hbWUsICRvdXQgKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.ComputedValueEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgQ29tcHV0ZWRWYWx1ZUVkaXRvciBleHRlbmRzIFZhbGlkYXRpb25FZGl0b3IKewogICAgcHJpdmF0ZSAkX3ZhbGlkYXRvcjsKICAgIHByaXZhdGUgJF9tb2Q7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCBcU21hcnRGb3JtcyAkbW9kICkKICAgIHsKICAgICAgICAkdGhpcy0+X21vZCA9ICRtb2Q7CiAgICAgICAgJHRoaXMtPl92YWxpZGF0b3IgPSBuZXcgQ29tcHV0ZWRWYWx1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X21vZC0+TGFuZygnbmFtZV9Db21wdXRlZFZhbHVlJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF92YWxpZGF0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl92YWxpZGF0b3I7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF92YWxpZGF0aW9uKCBWYWxpZGF0aW9uICRpbiApCiAgICB7CiAgICAgICAgaWYoICEgJGluIGluc3RhbmNlb2YgQ29tcHV0ZWRWYWx1ZSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgdmFsaWRhdGlvbiBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9ICRpbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX2ludGVyZmFjZSgpIHsgcmV0dXJuIFRSVUU7IH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gZ2V0X2NsYXNzKCR0aGlzLT5fdmFsaWRhdG9yKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvci0+Z2V0X2Rpc3BsYXlfc3RyaW5nKCAkdGhpcy0+X21vZC0+Z2V0X3RyYW5zbGF0b3IoKSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZmllbGQoICRmaWVsZF9uYW1lICkKICAgIHsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvci0+c2V0X2ZpZWxkTmFtZSggJGZpZWxkX25hbWUgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3RlbXBsYXRlKCAkdGVtcGxhdGUgKQogICAgewogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yLT5zZXRfdGVtcGxhdGUoICR0ZW1wbGF0ZSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVfZWRpdF9mb3JtKCBhcnJheSAkcGFyYW1zLCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCAkZm9ybV9ndWlkLCAkZ3VpZCApCiAgICB7CiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwoKICAgICAgICBpZiggXHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnY2FuY2VsJykgKSB7CiAgICAgICAgICAgICR0aGlzLT5nZXRfaGVscGVyKCktPmNhbmNlbCggJGZvcm1fZ3VpZCApOwogICAgICAgIH0KICAgICAgICBpZiggXHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnc3VibWl0JykgKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRfZmllbGQoXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2ZpZWxkbmFtZScpKTsKICAgICAgICAgICAgJHRoaXMtPnNldF90ZW1wbGF0ZShceHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywndGVtcGxhdGUnKSk7CgogICAgICAgICAgICAvLyBub3cgaGF2ZSB0aGUgZGlzcG9zaXRpb24gb2JqZWN0LCBzdG9yZSBpdC4KICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF92YWxpZGF0aW9uKCksICRndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJG1vZC0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VkaXRfY29tcHV0ZWR2YWx1ZS50cGwnKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2VkaXRvcl9uYW1lJyxnZXRfY2xhc3MoJHRoaXMpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2hhbmRsZXInLCR0aGlzKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2Zvcm1fZ3VpZCcsJGZvcm1fZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdndWlkJywkZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdmaWVsZHMnLCRmb3JtLT5nZXRfZmllbGRfbGlzdCgpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3ZhbGlkYXRpb24nLCR0aGlzLT5nZXRfdmFsaWRhdGlvbigpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3RwbF9oZWxwJyxcU21hcnRGb3Jtc1x1dGlsczo6Z2V0X2Zvcm1fdHBsX2hlbHAoICRmb3JtKSApOwogICAgICAgICR0cGwtPmRpc3BsYXkoKTsKICAgIH0KCn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.DatePrimitiveValidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgRGF0ZVByaW1pdGl2ZVZhbGlkYXRpb24gZXh0ZW5kcyBWYWxpZGF0aW9uCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheV9zdHJpbmcoIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyICkKICAgIHsKICAgICAgICByZXR1cm4gJHRyLT50cmFuc2xhdGUoJ2Rpc3BsYXlfRGF0ZVByaW1pdGl2ZVZhbGlkYXRvcicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZShcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJGRhdGEsIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyYW5zbGF0b3IgKQogICAgewogICAgICAgICRpc19kYXRlID0gZnVuY3Rpb24oICRpbiApIHsKICAgICAgICAgICAgaWYoICEgcHJlZ19tYXRjaCggJy9bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfS8nLCRpbikgKSByZXR1cm47CiAgICAgICAgICAgIHJldHVybiBzdHJ0b3RpbWUoICRpbiApOwogICAgICAgIH07CgogICAgICAgICRuYW1lcyA9ICRmb3JtLT5nZXRfZmllbGRuYW1lcygpOwogICAgICAgIGZvcmVhY2goICRuYW1lcyBhcyAkbmFtZSApIHsKICAgICAgICAgICAgJGZpZWxkID0gJGZvcm0tPmdldF9maWVsZCggJG5hbWUgKTsKCSAgICBpZiggJGZpZWxkLT5ub3ZhbGlkYXRlICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCAkZmllbGQtPnR5cGUgIT0gJ2RhdGUnICYmICRmaWVsZC0+cHJpbWl0aXZlICE9ICdkYXRlJyApIGNvbnRpbnVlOwogICAgICAgICAgICAkdXNlcnZhbCA9ICRkYXRhLT5nZXRfZmllbGRfdmFsdWUoICRuYW1lICk7CiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHVzZXJ2YWwpICkgJHVzZXJ2YWwgPSBbICR1c2VydmFsIF07CiAgICAgICAgICAgIGZvcmVhY2goICR1c2VydmFsIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAkdHMgPSAkaXNfZGF0ZSgkb25lKTsKICAgICAgICAgICAgICAgIGlmKCAhJHRzICkgdGhyb3cgbmV3IFZhbGlkYXRpb25FeGNlcHRpb24oJGZpZWxkLT5uYW1lLCR0cmFuc2xhdG9yLT50cmFuc2xhdGUoJ2Vycl9pbnB1dF9ub3RkYXRlJywkZmllbGQtPm5hbWUpKTsKICAgICAgICAgICAgICAgIGlmKCAkZmllbGQtPm1pbiAmJiAoJG1pbl90cyA9ICRpc19kYXRlKCRmaWVsZC0+bWluKSkgJiYgJHRzIDwgJG1pbl90cyApIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkV4Y2VwdGlvbigkZmllbGQtPm5hbWUsJHRyYW5zbGF0b3ItPnRyYW5zbGF0ZSgnZXJyX2lucHV0X291dG9mcmFuZ2UnLCRmaWVsZC0+bmFtZSkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYoICRmaWVsZC0+bWF4ICYmICgkbWF4X3RzID0gJGlzX2RhdGUoJGZpZWxkLT5tYXgpKSAmJiAkdHMgPiAkbWF4X3RzICkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCRmaWVsZC0+bmFtZSwkdHJhbnNsYXRvci0+dHJhbnNsYXRlKCdlcnJfaW5wdXRfb3V0b2ZyYW5nZScsJGZpZWxkLT5uYW1lKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.DatePrimitiveValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgRGF0ZVByaW1pdGl2ZVZhbGlkYXRpb25FZGl0b3IgZXh0ZW5kcyBWYWxpZGF0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF92YWxpZGF0b3I7CiAgICBwcml2YXRlICRfbW9kOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yID0gbmV3IERhdGVQcmltaXRpdmVWYWxpZGF0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX0RhdGVQcmltaXRpdmVWYWxpZGF0b3InKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ZhbGlkYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvcjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3ZhbGlkYXRpb24oIFZhbGlkYXRpb24gJGluICkKICAgIHsKICAgICAgICBpZiggISAkaW4gaW5zdGFuY2VvZiBEYXRlUHJpbWl0aXZlVmFsaWRhdGlvbiApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgdmFsaWRhdGlvbiBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9ICRpbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX2ludGVyZmFjZSgpIHsgcmV0dXJuIEZBTFNFOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gaGFuZGxlX2VkaXRfZm9ybSggYXJyYXkgJHBhcmFtcywgXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgJGZvcm1fZ3VpZCwgJGd1aWQgKSB7fQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3V0cHV0Y2xhc3MoKQogICAgewogICAgICAgIHJldHVybiBnZXRfY2xhc3MoJHRoaXMtPl92YWxpZGF0b3IpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheXN0cmluZygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdmFsaWRhdG9yLT5nZXRfZGlzcGxheV9zdHJpbmcoICR0aGlzLT5fbW9kLT5nZXRfdHJhbnNsYXRvcigpICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFsbG93c19tdWx0aXBsZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKCn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.EmailFieldValidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgRW1haWxGaWVsZFZhbGlkYXRpb24gZXh0ZW5kcyBWYWxpZGF0aW9uCnsKICAgIHByaXZhdGUgJF9maWVsZE5hbWU7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCAka2V5ICkKICAgIHsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnZmllbGROYW1lJzoKICAgICAgICAgICAgcmV0dXJuIHRyaW0oJHRoaXMtPl9maWVsZE5hbWUpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlfc3RyaW5nKCBcU21hcnRGb3Jtc1xUcmFuc2xhdG9yICR0ciApCiAgICB7CiAgICAgICAgcmV0dXJuICR0ci0+dHJhbnNsYXRlKCdkaXNwbGF5X0VtYWlsRmllbGRWYWxpZGF0aW9uJywkdGhpcy0+ZmllbGROYW1lKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2ZpZWxkTmFtZSgkdmFsKQogICAgewogICAgICAgICR0aGlzLT5fZmllbGROYW1lID0gdHJpbSgkdmFsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgXFNtYXJ0Rm9ybXNcRm9ybVJlc3BvbnNlICRyZXNwb25zZSwgXFNtYXJ0Rm9ybXNcVHJhbnNsYXRvciAkdHJhbnNsYXRvciApCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2ZpZWxkTmFtZSApIHJldHVybjsKCiAgICAgICAgJHZhbCA9ICRyZXNwb25zZS0+Z2V0X2ZpZWxkX3ZhbHVlKCAkdGhpcy0+X2ZpZWxkTmFtZSApOwogICAgICAgICRmaWVsZCA9ICRmb3JtLT5nZXRfZmllbGQoICR0aGlzLT5fZmllbGROYW1lICk7CiAgICAgICAgaWYoICRmaWVsZC0+bm92YWxpZGF0ZSApIHJldHVybjsKCiAgICAgICAgaWYoICFpc19hcnJheSggJHZhbCkgKSAkdmFsID0gWyAkdmFsIF07CiAgICAgICAgZm9yZWFjaCggJHZhbCBhcyAkb25lX3ZhbCApIHsKICAgICAgICAgICAgaWYoICFpc19lbWFpbCggJG9uZV92YWwgKSApIHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCR0aGlzLT5fZmllbGROYW1lLCR0cmFuc2xhdG9yLT50cmFuc2xhdGUoJ2Vycl9maWVsZF9pbnZhbGlkdmFsdWUnLCAkdGhpcy0+X2ZpZWxkTmFtZSkpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.EmailFieldValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgRW1haWxGaWVsZFZhbGlkYXRpb25FZGl0b3IgZXh0ZW5kcyBWYWxpZGF0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF92YWxpZGF0b3I7CiAgICBwcml2YXRlICRfbW9kOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yID0gbmV3IEVtYWlsRmllbGRWYWxpZGF0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX0VtYWlsRmllbGRWYWxpZGF0b3InKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ZhbGlkYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvcjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3ZhbGlkYXRpb24oIFZhbGlkYXRpb24gJGluICkKICAgIHsKICAgICAgICBpZiggISAkaW4gaW5zdGFuY2VvZiBFbWFpbEZpZWxkVmFsaWRhdGlvbiApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgdmFsaWRhdGlvbiBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9ICRpbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gZ2V0X2NsYXNzKCR0aGlzLT5fdmFsaWRhdG9yKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvci0+Z2V0X2Rpc3BsYXlfc3RyaW5nKCAkdGhpcy0+X21vZC0+Z2V0X3RyYW5zbGF0b3IoKSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhbGxvd3NfbXVsdGlwbGUoKQogICAgewogICAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2ZpZWxkKCAkZmllbGRuYW1lICkKICAgIHsKICAgICAgICAkZmllbGRuYW1lID0gdHJpbSgkZmllbGRuYW1lKTsKICAgICAgICBpZiggISRmaWVsZG5hbWUgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdUaGUgZmllbGQgbmFtZSBmb3IgYSBFbWFpbEZpZWxkVmFsaWRhdGlvbiBjYW5ub3QgYmUgZW1wdHknKTsKCiAgICAgICAgJHRoaXMtPl92YWxpZGF0b3ItPnNldF9maWVsZE5hbWUoJGZpZWxkbmFtZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9lZGl0X2Zvcm0oIGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRndWlkICkKICAgIHsKICAgICAgICAkbW9kID0gJHRoaXMtPl9tb2Q7CgogICAgICAgIGlmKCBceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdjYW5jZWwnKSApIHsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+Y2FuY2VsKCAkZm9ybV9ndWlkICk7CiAgICAgICAgfQogICAgICAgIGlmKCBceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdzdWJtaXQnKSApIHsKICAgICAgICAgICAgJHRoaXMtPnNldF9maWVsZChceHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZmllbGRuYW1lJykpOwoKICAgICAgICAgICAgLy8gbm93IGhhdmUgdGhlIGRpc3Bvc2l0aW9uIG9iamVjdCwgc3RvcmUgaXQuCiAgICAgICAgICAgICR0aGlzLT5nZXRfaGVscGVyKCktPmZpbmlzaCggJGZvcm0sICRmb3JtX2d1aWQsICR0aGlzLT5nZXRfdmFsaWRhdGlvbigpLCAkZ3VpZCApOwogICAgICAgIH0KCiAgICAgICAgJHRwbCA9ICRtb2QtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl9lZGl0X2VtYWlsZmllbGR2YWxpZGF0aW9uLnRwbCcpOwogICAgICAgICR0cGwtPmFzc2lnbignZWRpdG9yX25hbWUnLGdldF9jbGFzcygkdGhpcykpOwogICAgICAgICR0cGwtPmFzc2lnbignaGFuZGxlcicsJHRoaXMpOwogICAgICAgICR0cGwtPmFzc2lnbignZm9ybV9ndWlkJywkZm9ybV9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2d1aWQnLCRndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2ZpZWxkcycsJGZvcm0tPmdldF9maWVsZF9saXN0KCkpOwogICAgICAgICR0cGwtPmFzc2lnbigndmFsaWRhdGlvbicsJHRoaXMtPmdldF92YWxpZGF0aW9uKCkpOwogICAgICAgICR0cGwtPmRpc3BsYXkoKTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.EmailPrimitiveValidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgRW1haWxQcmltaXRpdmVWYWxpZGF0aW9uIGV4dGVuZHMgVmFsaWRhdGlvbgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlfc3RyaW5nKCBcU21hcnRGb3Jtc1xUcmFuc2xhdG9yICR0ciApCiAgICB7CiAgICAgICAgcmV0dXJuICR0ci0+dHJhbnNsYXRlKCdkaXNwbGF5X0VtYWlsUHJpbWl0aXZlVmFsaWRhdG9yJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlKFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkZGF0YSwgXFNtYXJ0Rm9ybXNcVHJhbnNsYXRvciAkdHJhbnNsYXRvciApCiAgICB7CiAgICAgICAgJG5hbWVzID0gJGZvcm0tPmdldF9maWVsZG5hbWVzKCk7CiAgICAgICAgZm9yZWFjaCggJG5hbWVzIGFzICRuYW1lICkgewogICAgICAgICAgICAkZmllbGQgPSAkZm9ybS0+Z2V0X2ZpZWxkKCAkbmFtZSApOwoJICAgIGlmKCAkZmllbGQtPm5vdmFsaWRhdGUgKSBjb250aW51ZTsKICAgICAgICAgICAgaWYoICRmaWVsZC0+dHlwZSAhPSAnZW1haWwnICYmICRmaWVsZC0+cHJpbWl0aXZlICE9ICdlbWFpbCcgKSBjb250aW51ZTsKICAgICAgICAgICAgJHVzZXJ2YWwgPSAkZGF0YS0+Z2V0X2ZpZWxkX3ZhbHVlKCAkbmFtZSApOwogICAgICAgICAgICBpZiggISR1c2VydmFsICkgY29udGludWU7IC8vIHJlcXVpcmVkIGlzIGNoZWNrZWQgZWxzZXdoZXJlCiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHVzZXJ2YWwpICkgJHVzZXJ2YWwgPSBbICR1c2VydmFsIF07CiAgICAgICAgICAgIGZvcmVhY2goICR1c2VydmFsIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICBpZiggISBpc19lbWFpbCgkb25lKSApIHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCRmaWVsZC0+bmFtZSwkdHJhbnNsYXRvci0+dHJhbnNsYXRlKCdlcnJfaW5wdXRfbm90ZW1haWwnLCRmaWVsZC0+bmFtZSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.EmailPrimitiveValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgRW1haWxQcmltaXRpdmVWYWxpZGF0aW9uRWRpdG9yIGV4dGVuZHMgVmFsaWRhdGlvbkVkaXRvcgp7CiAgICBwcml2YXRlICRfdmFsaWRhdG9yOwogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIFxTbWFydEZvcm1zICRtb2QgKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9IG5ldyBFbWFpbFByaW1pdGl2ZVZhbGlkYXRpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ25hbWVfRW1haWxQcmltaXRpdmVWYWxpZGF0b3InKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ZhbGlkYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvcjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3ZhbGlkYXRpb24oIFZhbGlkYXRpb24gJGluICkKICAgIHsKICAgICAgICBpZiggISAkaW4gaW5zdGFuY2VvZiBFbWFpbFByaW1pdGl2ZVZhbGlkYXRpb24gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIHZhbGlkYXRpb24gcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CiAgICAgICAgJHRoaXMtPl92YWxpZGF0b3IgPSAkaW47CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhc19pbnRlcmZhY2UoKSB7IHJldHVybiBGQUxTRTsgfQogICAgcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9lZGl0X2Zvcm0oIGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRndWlkICkge30KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gZ2V0X2NsYXNzKCR0aGlzLT5fdmFsaWRhdG9yKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvci0+Z2V0X2Rpc3BsYXlfc3RyaW5nKCAkdGhpcy0+X21vZC0+Z2V0X3RyYW5zbGF0b3IoKSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhbGxvd3NfbXVsdGlwbGUoKQogICAgewogICAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCgp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.FileValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgRmlsZVZhbGlkYXRpb25FZGl0b3IgZXh0ZW5kcyBWYWxpZGF0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF92YWxpZGF0b3I7CiAgICBwcml2YXRlICRfbW9kOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yID0gbmV3IEZpbGVWYWxpZGF0b3I7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ25hbWVfRmlsZVZhbGlkYXRvcicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdmFsaWRhdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdmFsaWRhdG9yOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfdmFsaWRhdGlvbiggVmFsaWRhdGlvbiAkaW4gKQogICAgewogICAgICAgIGlmKCAhICRpbiBpbnN0YW5jZW9mIEZpbGVWYWxpZGF0b3IgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIHZhbGlkYXRpb24gcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CiAgICAgICAgJHRoaXMtPl92YWxpZGF0b3IgPSAkaW47CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhc19pbnRlcmZhY2UoKSB7IHJldHVybiBGQUxTRTsgfQogICAgcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9lZGl0X2Zvcm0oIGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRndWlkICkge30KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gZ2V0X2NsYXNzKCR0aGlzLT5fdmFsaWRhdG9yKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvci0+Z2V0X2Rpc3BsYXlfc3RyaW5nKCAkdGhpcy0+X21vZC0+Z2V0X3RyYW5zbGF0b3IoKSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhbGxvd3NfbXVsdGlwbGUoKQogICAgewogICAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.FileValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwp1c2UgXFNtYXJ0Rm9ybXNcRm9ybUZpbGVGaWVsZDsKCmNsYXNzIEZpbGVWYWxpZGF0b3IgZXh0ZW5kcyBWYWxpZGF0aW9uCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheV9zdHJpbmcoIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyICkKICAgIHsKICAgICAgICByZXR1cm4gJHRyLT50cmFuc2xhdGUoICdkaXNwbGF5X0ZpbGVWYWxpZGF0b3InICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIFZhbGlkYXRlKFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkcmVzcG9uc2UsIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyYW5zbGF0b3IgKQogICAgewogICAgICAgIGlmKCAhICRyZXNwb25zZS0+aGFzX3VwbG9hZHMoKSApIHJldHVybjsKCiAgICAgICAgLy8gaGVyZSBmb3IgZWFjaCB1cGxvYWQgZmllbGQuLi4gd2UgY2hlY2sgdGhlIHZhbHVlCiAgICAgICAgJGZpbGVzID0gJHJlc3BvbnNlLT5saXN0X2ZpbGVzKCk7CiAgICAgICAgaWYoICFjb3VudCgkZmlsZXMpICkgcmV0dXJuOyAvLyBub3RoaW5nIHRvIGRvLgoKICAgICAgICBmb3JlYWNoKCAkZm9ybS0+ZmllbGRzIGFzICRmaWVsZCApIHsKICAgICAgICAgICAgaWYoICRmaWVsZC0+bm92YWxpZGF0ZSApIGNvbnRpbnVlOwogICAgICAgICAgICBpZiggJGZpZWxkLT50eXBlICE9ICdmaWxlJyApIGNvbnRpbnVlOwogICAgICAgICAgICAkbmFtZSA9ICRmaWVsZC0+bmFtZTsKICAgICAgICAgICAgJHZhbHVlID0gJHJlc3BvbnNlLT5nZXRfZmllbGRfdmFsdWUoICRuYW1lICk7CiAgICAgICAgICAgIGlmKCAhJHZhbHVlICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCAhaXNzZXQoJGZpbGVzWyRuYW1lXSkgKSBjb250aW51ZTsKICAgICAgICAgICAgJHRoaXMtPnZhbGlkYXRlX2ZpbGVzKCAkZmllbGQsICRmaWxlc1skbmFtZV0sICR0cmFuc2xhdG9yICk7CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiB2YWxpZGF0ZV9maWxlcyggRm9ybUZpbGVGaWVsZCAkZmllbGQsIGFycmF5ICRmaWxlX2luZm8sIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyYW5zbGF0b3IgKQogICAgewogICAgICAgIGlmKCAhY291bnQoJGZpbGVfaW5mbykgKSByZXR1cm47CiAgICAgICAgZm9yZWFjaCggJGZpbGVfaW5mbyBhcyAkcmVjICkgewogICAgICAgICAgICBpZiggJGZpZWxkLT5hY2NlcHQgJiYgISAkdGhpcy0+ZmlsZV9hY2NlcHRlZF9ieV90eXBlKCAkZmllbGQtPmFjY2VwdCwgJHJlYyApICkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFVwbG9hZEVycm9yKCRmaWVsZC0+bmFtZSwgJHRyYW5zbGF0b3ItPnRyYW5zbGF0ZSgnZXJyX3VwbG9hZF90eXBlJywgJGZpZWxkLT5uYW1lKSApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCAkZmllbGQtPmV4dGVuc2lvbnMgJiYgISAkdGhpcy0+ZmlsZV9hY2NlcHRlZF9ieV9leHRlbnNpb24oJGZpZWxkLT5leHRlbnNpb25zLCAkcmVjKSApIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBCYWRVcGxvYWRFcnJvcigkZmllbGQtPm5hbWUsICR0cmFuc2xhdG9yLT50cmFuc2xhdGUoJ2Vycl91cGxvYWRfZXh0ZW5zaW9uJywgJGZpZWxkLT5uYW1lKSApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCAkZmllbGQtPm1heF9zaXplICAmJiAhJHRoaXMtPmZpbGVfYWNjZXB0ZWRfYnlfc2l6ZSggJGZpZWxkLT5tYXhfc2l6ZSwgJHJlYyApICkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJhZFVwbG9hZEVycm9yKCRmaWVsZC0+bmFtZSwgJHRyYW5zbGF0b3ItPnRyYW5zbGF0ZSgnZXJyX3VwbG9hZF9zaXplJywgJGZpZWxkLT5uYW1lICkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaWxlX2FjY2VwdGVkX2J5X3NpemUoICRtYXhfc2l6ZSwgYXJyYXkgJHJlYyApCiAgICB7CiAgICAgICAgJHRvdGFsID0gMDsKICAgICAgICBpZiggaXNzZXQoJHJlY1snc2l6ZSddKSApICAkcmVjID0gWyAkcmVjIF07CiAgICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHJlYyk7ICRpKysgKSB7CiAgICAgICAgICAgICR0b3RhbCArPSAkcmVjWyRpXVsnc2l6ZSddOwogICAgICAgIH0KICAgICAgICBpZiggJHRvdGFsIDw9ICRtYXhfc2l6ZSApIHJldHVybiBUUlVFOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaWxlX2FjY2VwdGVkX2J5X2V4dGVuc2lvbiggJGV4dGVuc2lvbnMsIGFycmF5ICRyZWMgKQogICAgewogICAgICAgIGlmKCAhJGV4dGVuc2lvbnMgKSByZXR1cm4gVFJVRTsKICAgICAgICBpZiggaXNzZXQoJHJlY1snc2l6ZSddKSApICAkcmVjID0gWyAkcmVjIF07CiAgICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHJlYyk7ICRpKysgKSB7CiAgICAgICAgICAgICRuYW1lID0gJHJlY1skaV1bJ25hbWUnXTsKICAgICAgICAgICAgaWYoICEkbmFtZSApIHJldHVybiBGQUxTRTsKCiAgICAgICAgICAgICRleHQgPSBzdHJ0b2xvd2VyKHN1YnN0cihzdHJyY2hyKCRmaWxlbmFtZSwiLiIpLDEpKTsKICAgICAgICAgICAgaWYoICEkZXh0ICkgcmV0dXJuIEZBTFNFOwoKICAgICAgICAgICAgJGxpc3QgPSBleHBsb2RlKCcsJywkZXh0ZW5zaW9ucyk7CiAgICAgICAgICAgIGZvcmVhY2goICRsaXN0IGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAkb25lID0gdHJpbSgkb25lKTsKICAgICAgICAgICAgICAgIGlmKCAhJG9uZSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgJG9uZSA9IHN0cnRvbG93ZXIoJG9uZSk7CiAgICAgICAgICAgICAgICBpZiggJGV4dCA9PSAkb25lICkgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gd2lsZGNhcmRNYXRjaE1pbWVUeXBlKCAkdHlwZSwgJHRlc3QgKQogICAgewogICAgICAgIGlmKCAhJHR5cGUgKSByZXR1cm4gVFJVRTsKICAgICAgICBpZiggJHR5cGUgPT0gJyovKicgfHwgJHR5cGUgPT0gJyonICkgcmV0dXJuIFRSVUU7CiAgICAgICAgaWYoIHN0cnBvcygnKicsJHR5cGUpICE9PSBGQUxTRSApIHsKICAgICAgICAgICAgcmV0dXJuIChzdHJ0b2xvd2VyKCR0eXBlKSA9PSBzdHJ0b2xvd2VyKCR0ZXN0KSk7CiAgICAgICAgfQoKICAgICAgICAvLyBpdCdzIGEgd2lsZGNhcmQgcGF0dGVybi4KICAgICAgICAkdHlwZV9wYXJ0cyA9IGV4cGxvZGUoJy8nLCR0eXBlLDIpOwogICAgICAgICR0ZXN0X3BhcnRzID0gZXhwbG9kZSgnLycsJHRlc3QsMik7CiAgICAgICAgJG4gPSBtaW4oY291bnQoJHR5cGVfcGFydHMpLGNvdW50KCR0ZXN0X3BhcnRzKSk7CiAgICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgJG47ICRpKysgKSB7CiAgICAgICAgICAgICRhID0gc3RydG9sb3dlcigkdHlwZV9wYXJ0c1skaV0pOwogICAgICAgICAgICAkYiA9IHN0cnRvbG93ZXIoJHRlc3RfcGFydHNbJGldKTsKICAgICAgICAgICAgaWYoICRhID09ICcqJyApIHJldHVybiBUUlVFOwogICAgICAgICAgICBpZiggJGEgIT0gJGIgKSByZXR1cm4gRkFMU0U7CiAgICAgICAgfQogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaWxlX2FjY2VwdGVkX2J5X3R5cGUoICRhY2NlcHQsIGFycmF5ICRyZWMgKQogICAgewogICAgICAgIGlmKCAhJGFjY2VwdCApIHJldHVybiBUUlVFOwoKICAgICAgICBpZiggaXNzZXQoJHJlY1snc2l6ZSddKSApICAkcmVjID0gWyAkcmVjIF07CiAgICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHJlYyk7ICRpKysgKSB7CiAgICAgICAgICAgICRtaW1lX3R5cGUgPSBceHRfcGFyYW06OmdldF9zdHJpbmcoICRyZWNbJGldLCAnbWltZV90eXBlJyApOwogICAgICAgICAgICAkbWltZV90eXBlID0gXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCAkcmVjWyRpXSwgJ3R5cGUnLCAkbWltZV90eXBlICk7CiAgICAgICAgICAgICRhbGwgPSBleHBsb2RlKCcsJywkYWNjZXB0KTsKICAgICAgICAgICAgJGZuZCA9IGZhbHNlOwogICAgICAgICAgICBmb3JlYWNoKCAkYWxsIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAkb25lID0gdHJpbSgkb25lKTsKICAgICAgICAgICAgICAgIGlmKCAhJG9uZSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaWYoICR0aGlzLT53aWxkY2FyZE1hdGNoTWltZVR5cGUoICRvbmUsICRtaW1lX3R5cGUgKSApIHsKICAgICAgICAgICAgICAgICAgICAkZm5kID0gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiggISRmbmQgKSByZXR1cm4gRkFMU0U7CiAgICAgICAgfQogICAgICAgIHJldHVybiBUUlVFOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.FloatFieldValidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgRmxvYXRGaWVsZFZhbGlkYXRpb24gZXh0ZW5kcyBWYWxpZGF0aW9uCnsKICAgIHByaXZhdGUgJF9maWVsZE5hbWU7CiAgICBwcml2YXRlICRfbWluVmFsOwogICAgcHJpdmF0ZSAkX21heFZhbDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoICRrZXkgKQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdmaWVsZE5hbWUnOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X2ZpZWxkTmFtZSk7CgogICAgICAgIGNhc2UgJ21pblZhbCc6CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X21pblZhbDsKCiAgICAgICAgY2FzZSAnbWF4VmFsJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fbWF4VmFsOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlfc3RyaW5nKCBcU21hcnRGb3Jtc1xUcmFuc2xhdG9yICR0ciApCiAgICB7CiAgICAgICAgJG1pblYgPSAkdGhpcy0+bWluVmFsOwogICAgICAgICRtYXhWID0gJHRoaXMtPm1heFZhbDsKICAgICAgICBpZiggJG1pblYgJiYgISRtYXhWICkgewogICAgICAgICAgICByZXR1cm4gJHRyLT50cmFuc2xhdGUoJ2Rpc3BsYXlfRmxvYXRGaWVsZFZhbGlkYXRpb24xJywkdGhpcy0+ZmllbGROYW1lLCRtaW5WKTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiggJG1heFYgJiYgISRtaW5WICkgewogICAgICAgICAgICByZXR1cm4gJHRyLT50cmFuc2xhdGUoJ2Rpc3BsYXlfRmxvYXRGaWVsZFZhbGlkYXRpb24yJywkdGhpcy0+ZmllbGROYW1lLCRtYXhWKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAkdHItPnRyYW5zbGF0ZSgnZGlzcGxheV9GbG9hdEZpZWxkVmFsaWRhdGlvbjMnLCR0aGlzLT5maWVsZE5hbWUsJG1pblYsJG1heFYpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2ZpZWxkTmFtZSgkdmFsKQogICAgewogICAgICAgICR0aGlzLT5fZmllbGROYW1lID0gdHJpbSgkdmFsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X21pblZhbHVlKCR2YWwpCiAgICB7CiAgICAgICAgaWYoICFpc19udWxsKCR2YWwpICkgJHZhbCA9IChmbG9hdCkgJHZhbDsKICAgICAgICAkdGhpcy0+X21pblZhbCA9ICR2YWw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9tYXhWYWx1ZSgkdmFsKQogICAgewogICAgICAgIGlmKCAhaXNfbnVsbCgkdmFsKSApICR2YWwgPSAoZmxvYXQpICR2YWw7CiAgICAgICAgJHRoaXMtPl9tYXhWYWwgPSAkdmFsOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZShcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJHJlc3BvbnNlLCBcU21hcnRGb3Jtc1xUcmFuc2xhdG9yICR0cmFuc2xhdG9yICkKICAgIHsKICAgICAgICBpZiggISR0aGlzLT5fZmllbGROYW1lICkgcmV0dXJuOwogICAgICAgICR2YWwgPSAkcmVzcG9uc2UtPmdldF9maWVsZF92YWx1ZSggJHRoaXMtPl9maWVsZE5hbWUgKTsKCiAgICAgICAgJGZpZWxkID0gJGZvcm0tPmdldF9maWVsZCggJHRoaXMtPl9maWVsZE5hbWUgKTsKICAgICAgICBpZiggJGZpZWxkLT5ub3ZhbGlkYXRlICkgcmV0dXJuOwoKICAgICAgICAkbWluViA9ICR0aGlzLT5fbWluVmFsOwogICAgICAgICRtYXhWID0gJHRoaXMtPl9tYXhWYWw7CiAgICAgICAgaWYoIHN0cmxlbigkbWluVikgJiYgc3RybGVuKCRtYXhWKSAmJiAkbWluViA+ICRtYXhWICkgewogICAgICAgICAgICAkdG1wID0gJG1heFY7CiAgICAgICAgICAgICRtYXhWID0gJG1pblY7CiAgICAgICAgICAgICRtaW5WID0gJHRtcDsKICAgICAgICB9CiAgICAgICAgaWYoICFpc19hcnJheSggJHZhbCApICkgJHZhbCA9IFsgJHZhbCBdOwogICAgICAgIGZvcmVhY2goICR2YWwgYXMgJG9uZV92YWwgKSB7CiAgICAgICAgICAgICRvbmVfdmFsID0gKGZsb2F0KSAkb25lX3ZhbDsKICAgICAgICAgICAgaWYoIHN0cmxlbigkbWluVikgJiYgJG9uZV92YWwgPCAoZmxvYXQpICRtaW5WICkgdGhyb3cgbmV3IFZhbGlkYXRpb25FeGNlcHRpb24oJHRoaXMtPl9maWVsZE5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0cmFuc2xhdG9yLT50cmFuc2xhdGUoJ2Vycl9maWVsZF9pbnZhbGlkdmFsdWUnLCR0aGlzLT5fZmllbGROYW1lKSk7CiAgICAgICAgICAgIGlmKCBzdHJsZW4oJG1heFYpICYmICRvbmVfdmFsID4gKGZsb2F0KSAkbWF4ViApIHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCR0aGlzLT5fZmllbGROYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHJhbnNsYXRvci0+dHJhbnNsYXRlKCdlcnJfZmllbGRfaW52YWxpZHZhbHVlJywkdGhpcy0+X2ZpZWxkTmFtZSkpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.FloatFieldValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgRmxvYXRGaWVsZFZhbGlkYXRpb25FZGl0b3IgZXh0ZW5kcyBWYWxpZGF0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF92YWxpZGF0b3I7CiAgICBwcml2YXRlICRfbW9kOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yID0gbmV3IEZsb2F0RmllbGRWYWxpZGF0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX0Zsb2F0RmllbGRWYWxpZGF0b3InKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ZhbGlkYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvcjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3ZhbGlkYXRpb24oIFZhbGlkYXRpb24gJGluICkKICAgIHsKICAgICAgICBpZiggISAkaW4gaW5zdGFuY2VvZiBGbG9hdEZpZWxkVmFsaWRhdGlvbiApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgdmFsaWRhdGlvbiBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9ICRpbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gZ2V0X2NsYXNzKCR0aGlzLT5fdmFsaWRhdG9yKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvci0+Z2V0X2Rpc3BsYXlfc3RyaW5nKCAkdGhpcy0+X21vZC0+Z2V0X3RyYW5zbGF0b3IoKSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhbGxvd3NfbXVsdGlwbGUoKQogICAgewogICAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2ZpZWxkKCAkZmllbGRuYW1lICkKICAgIHsKICAgICAgICAkZmllbGRuYW1lID0gdHJpbSgkZmllbGRuYW1lKTsKICAgICAgICBpZiggISRmaWVsZG5hbWUgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdUaGUgZmllbGQgbmFtZSBmb3IgYW4gRmxvYXRGaWVsZFZhbGlkYXRpb24gY2Fubm90IGJlIGVtcHR5Jyk7CgogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yLT5zZXRfZmllbGROYW1lKCRmaWVsZG5hbWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfbWluVmFsdWUoICR2YWwgKQogICAgewogICAgICAgICR2YWwgPSB0cmltKCAkdmFsICk7CiAgICAgICAgaWYoIHN0cmxlbigkdmFsKSApIHsKICAgICAgICAgICAgJHRoaXMtPl92YWxpZGF0b3ItPnNldF9taW5WYWx1ZSgoaW50KSAkdmFsKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvci0+c2V0X21pblZhbHVlKG51bGwpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X21heFZhbHVlKCAkdmFsICkKICAgIHsKICAgICAgICAkdmFsID0gdHJpbSggJHZhbCApOwogICAgICAgIGlmKCBzdHJsZW4oJHZhbCkgKSB7CiAgICAgICAgICAgICR0aGlzLT5fdmFsaWRhdG9yLT5zZXRfbWF4VmFsdWUoKGludCkgJHZhbCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPl92YWxpZGF0b3ItPnNldF9tYXhWYWx1ZShudWxsKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9lZGl0X2Zvcm0oIGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRndWlkICkKICAgIHsKICAgICAgICAkbW9kID0gJHRoaXMtPl9tb2Q7CgogICAgICAgIGlmKCBceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdjYW5jZWwnKSApIHsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+Y2FuY2VsKCAkZm9ybV9ndWlkICk7CiAgICAgICAgfQogICAgICAgIGlmKCBceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdzdWJtaXQnKSApIHsKICAgICAgICAgICAgJHRoaXMtPnNldF9maWVsZChceHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZmllbGRuYW1lJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0X21pblZhbHVlKFx4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdtaW5WYWx1ZScpKTsKICAgICAgICAgICAgJHRoaXMtPnNldF9tYXhWYWx1ZShceHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnbWF4VmFsdWUnKSk7CgogICAgICAgICAgICAvLyBub3cgaGF2ZSB0aGUgZGlzcG9zaXRpb24gb2JqZWN0LCBzdG9yZSBpdC4KICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF92YWxpZGF0aW9uKCksICRndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJG1vZC0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VkaXRfZmxvYXRmaWVsZHZhbGlkYXRpb24udHBsJyk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdlZGl0b3JfbmFtZScsZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdoYW5kbGVyJywkdGhpcyk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdmb3JtX2d1aWQnLCRmb3JtX2d1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbignZ3VpZCcsJGd1aWQpOwogICAgICAgICR0cGwtPmFzc2lnbignZmllbGRzJywkZm9ybS0+Z2V0X2ZpZWxkX2xpc3QoKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCd2YWxpZGF0aW9uJywkdGhpcy0+Z2V0X3ZhbGlkYXRpb24oKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCd0cGxfaGVscCcsXFNtYXJ0Rm9ybXNcdXRpbHM6OmdldF9mb3JtX3RwbF9oZWxwKCAkZm9ybSkgKTsKICAgICAgICAkdHBsLT5kaXNwbGF5KCk7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.HookValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgSG9va1ZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRpb24KewogICAgcHVibGljIGZ1bmN0aW9uIGdldF9kaXNwbGF5X3N0cmluZyggXFNtYXJ0Rm9ybXNcVHJhbnNsYXRvciAkdHIgKQogICAgewogICAgICAgIHJldHVybiAnSG9vayBWYWxpZGF0b3IgKGludGVybmFsKSc7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIFZhbGlkYXRlKFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkcmVzcG9uc2UsIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyICkKICAgIHsKICAgICAgICAkcmVzID0gXENNU01TXEhvb2tNYW5hZ2VyOjpkb19ob29rKCAnU21hcnRGb3Jtczo6dmFsaWRhdGVGb3JtJywgJHJlc3BvbnNlICk7CiAgICAgICAgaWYoICRyZXMgJiYgJHJlcyBpbnN0YW5jZW9mIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSApICRyZXNwb25zZSA9ICRyZXM7CiAgICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwo=]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.HtmlDetectionValidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgSHRtbERldGVjdGlvblZhbGlkYXRpb24gZXh0ZW5kcyBWYWxpZGF0aW9uCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheV9zdHJpbmcoIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyICkKICAgIHsKICAgICAgICByZXR1cm4gJHRyLT50cmFuc2xhdGUoJ2Rpc3BsYXlfSHRtbERldGVjdGlvblZhbGlkYXRpb24nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgXFNtYXJ0Rm9ybXNcRm9ybVJlc3BvbnNlICRkYXRhLCBcU21hcnRGb3Jtc1xUcmFuc2xhdG9yICR0cmFuc2xhdG9yICkKICAgIHsKICAgICAgICAkbmFtZXMgPSAkZm9ybS0+Z2V0X2ZpZWxkbmFtZXMoKTsKICAgICAgICBmb3JlYWNoKCAkbmFtZXMgYXMgJG5hbWUgKSB7CiAgICAgICAgICAgICRmaWVsZCA9ICRmb3JtLT5nZXRfZmllbGQoICRuYW1lICk7CiAgICAgICAgICAgICR1c2VydmFsID0gJGRhdGEtPmdldF9maWVsZF92YWx1ZSggJG5hbWUgKTsKICAgICAgICAgICAgaWYoICEgJHVzZXJ2YWwgKSBjb250aW51ZTsKCiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoICR1c2VydmFsKSApICR1c2VydmFsID0gWyAkdXNlcnZhbCBdOwogICAgICAgICAgICBmb3JlYWNoKCAkdXNlcnZhbCBhcyAkb25lX3ZhbCApIHsKICAgICAgICAgICAgICAgICR0bXAgPSBzdHJpcF90YWdzKCAkb25lX3ZhbCApOwogICAgICAgICAgICAgICAgaWYoICR0bXAgIT0gJG9uZV92YWwgKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkV4Y2VwdGlvbigkZmllbGQtPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0cmFuc2xhdG9yLT50cmFuc2xhdGUoJ2Vycl9pbnB1dF9odG1sZGV0ZWN0ZWQnKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.HtmlDetectionValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgSHRtbERldGVjdGlvblZhbGlkYXRpb25FZGl0b3IgZXh0ZW5kcyBWYWxpZGF0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF92YWxpZGF0b3I7CiAgICBwcml2YXRlICRfbW9kOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yID0gbmV3IEh0bWxEZXRlY3Rpb25WYWxpZGF0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX0h0bWxEZXRlY3Rpb25WYWxpZGF0b3InKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ZhbGlkYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvcjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3ZhbGlkYXRpb24oIFZhbGlkYXRpb24gJGluICkKICAgIHsKICAgICAgICBpZiggISAkaW4gaW5zdGFuY2VvZiBIdG1sRGV0ZWN0aW9uVmFsaWRhdGlvbiApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgdmFsaWRhdGlvbiBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9ICRpbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX2ludGVyZmFjZSgpIHsgcmV0dXJuIEZBTFNFOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gaGFuZGxlX2VkaXRfZm9ybSggYXJyYXkgJHBhcmFtcywgXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgJGZvcm1fZ3VpZCwgJGd1aWQgKSB7fQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3V0cHV0Y2xhc3MoKQogICAgewogICAgICAgIHJldHVybiBnZXRfY2xhc3MoJHRoaXMtPl92YWxpZGF0b3IpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheXN0cmluZygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdmFsaWRhdG9yLT5nZXRfZGlzcGxheV9zdHJpbmcoICR0aGlzLT5fbW9kLT5nZXRfdHJhbnNsYXRvcigpICk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCdkaXNwbGF5X0h0bWxEZXRlY3Rpb25WYWxpZGF0aW9uJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFsbG93c19tdWx0aXBsZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKCn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.IntegerFieldValidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgSW50ZWdlckZpZWxkVmFsaWRhdGlvbiBleHRlbmRzIFZhbGlkYXRpb24KewogICAgcHJpdmF0ZSAkX2ZpZWxkTmFtZTsKICAgIHByaXZhdGUgJF9taW5WYWw7CiAgICBwcml2YXRlICRfbWF4VmFsOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCggJGtleSApCiAgICB7CiAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgIGNhc2UgJ2ZpZWxkTmFtZSc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fZmllbGROYW1lKTsKCiAgICAgICAgY2FzZSAnbWluVmFsJzoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fbWluVmFsOwoKICAgICAgICBjYXNlICdtYXhWYWwnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPl9tYXhWYWw7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheV9zdHJpbmcoIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyICkKICAgIHsKICAgICAgICAkbWluViA9ICR0aGlzLT5taW5WYWw7CiAgICAgICAgJG1heFYgPSAkdGhpcy0+bWF4VmFsOwogICAgICAgIGlmKCAkbWluViAmJiAhJG1heFYgKSB7CiAgICAgICAgICAgIHJldHVybiAkdHItPnRyYW5zbGF0ZSgnZGlzcGxheV9JbnRlZ2VyRmllbGRWYWxpZGF0aW9uMScsJHRoaXMtPmZpZWxkTmFtZSwkbWluVik7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoICRtYXhWICYmICEkbWluViApIHsKICAgICAgICAgICAgcmV0dXJuICR0ci0+dHJhbnNsYXRlKCdkaXNwbGF5X0ludGVnZXJGaWVsZFZhbGlkYXRpb24yJywkdGhpcy0+ZmllbGROYW1lLCRtYXhWKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAkdHItPnRyYW5zbGF0ZSgnZGlzcGxheV9JbnRlZ2VyRmllbGRWYWxpZGF0aW9uMycsJHRoaXMtPmZpZWxkTmFtZSwkbWluViwkbWF4Vik7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZmllbGROYW1lKCR2YWwpCiAgICB7CiAgICAgICAgJHRoaXMtPl9maWVsZE5hbWUgPSB0cmltKCR2YWwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfbWluVmFsdWUoJHZhbCkKICAgIHsKICAgICAgICBpZiggIWlzX251bGwoJHZhbCkgKSAkdmFsID0gKGludCkgJHZhbDsKICAgICAgICAkdGhpcy0+X21pblZhbCA9ICR2YWw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9tYXhWYWx1ZSgkdmFsKQogICAgewogICAgICAgIGlmKCAhaXNfbnVsbCgkdmFsKSApICR2YWwgPSAoaW50KSAkdmFsOwogICAgICAgICR0aGlzLT5fbWF4VmFsID0gJHZhbDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgXFNtYXJ0Rm9ybXNcRm9ybVJlc3BvbnNlICRyZXNwb25zZSwgXFNtYXJ0Rm9ybXNcVHJhbnNsYXRvciAkdHJhbnNsYXRvciApCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2ZpZWxkTmFtZSApIHJldHVybjsKICAgICAgICAkdmFsID0gJHJlc3BvbnNlLT5nZXRfZmllbGRfdmFsdWUoICR0aGlzLT5fZmllbGROYW1lICk7CgogICAgICAgICRmaWVsZCA9ICRmb3JtLT5nZXRfZmllbGQoICR0aGlzLT5fZmllbGROYW1lICk7CiAgICAgICAgaWYoICRmaWVsZC0+bm92YWxpZGF0ZSApIHJldHVybjsKCiAgICAgICAgJG1pblYgPSAkdGhpcy0+X21pblZhbDsKICAgICAgICAkbWF4ViA9ICR0aGlzLT5fbWF4VmFsOwogICAgICAgIGlmKCBzdHJsZW4oJG1pblYpICYmIHN0cmxlbigkbWF4VikgJiYgJG1pblYgPiAkbWF4ViApIHsKICAgICAgICAgICAgJHRtcCA9ICRtYXhWOwogICAgICAgICAgICAkbWF4ViA9ICRtaW5WOwogICAgICAgICAgICAkbWluViA9ICR0bXA7CiAgICAgICAgfQogICAgICAgIGlmKCAhaXNfYXJyYXkoJHZhbCkgKSAkdmFsID0gWyAkdmFsIF07CiAgICAgICAgZm9yZWFjaCggJHZhbCBhcyAkb25lX3ZhbCApIHsKICAgICAgICAgICAgJG9uZV92YWwgPSAoaW50KSAkb25lX3ZhbDsKICAgICAgICAgICAgaWYoIHN0cmxlbigkbWluVikgJiYgJG9uZV92YWwgPCAoaW50KSAkbWluViApIHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCR0aGlzLT5fZmllbGROYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRyYW5zbGF0b3ItPnRyYW5zbGF0ZSgnZXJyX2ZpZWxkX2ludmFsaWR2YWx1ZScsJHRoaXMtPl9maWVsZE5hbWUpKTsKICAgICAgICAgICAgaWYoIHN0cmxlbigkbWF4VikgJiYgJG9uZV92YWwgPiAoaW50KSAkbWF4ViApIHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCR0aGlzLT5fZmllbGROYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRyYW5zbGF0b3ItPnRyYW5zbGF0ZSgnZXJyX2ZpZWxkX2ludmFsaWR2YWx1ZScsJHRoaXMtPl9maWVsZE5hbWUpKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.IntegerFieldValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBJbnRlZ2VyRmllbGRWYWxpZGF0aW9uRWRpdG9yIGV4dGVuZHMgVmFsaWRhdGlvbkVkaXRvcgp7CiAgICBwcml2YXRlICRfdmFsaWRhdG9yOwogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIFxTbWFydEZvcm1zICRtb2QgKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9IG5ldyBJbnRlZ2VyRmllbGRWYWxpZGF0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX0ludGVnZXJGaWVsZFZhbGlkYXRvcicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdmFsaWRhdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdmFsaWRhdG9yOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfdmFsaWRhdGlvbiggVmFsaWRhdGlvbiAkaW4gKQogICAgewogICAgICAgIGlmKCAhICRpbiBpbnN0YW5jZW9mIEludGVnZXJGaWVsZFZhbGlkYXRpb24gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIHZhbGlkYXRpb24gcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CiAgICAgICAgJHRoaXMtPl92YWxpZGF0b3IgPSAkaW47CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9vdXRwdXRjbGFzcygpCiAgICB7CiAgICAgICAgcmV0dXJuIGdldF9jbGFzcygkdGhpcy0+X3ZhbGlkYXRvcik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9kaXNwbGF5c3RyaW5nKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl92YWxpZGF0b3ItPmdldF9kaXNwbGF5X3N0cmluZyggJHRoaXMtPl9tb2QtPmdldF90cmFuc2xhdG9yKCkgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWxsb3dzX211bHRpcGxlKCkKICAgIHsKICAgICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9maWVsZCggJGZpZWxkbmFtZSApCiAgICB7CiAgICAgICAgJGZpZWxkbmFtZSA9IHRyaW0oJGZpZWxkbmFtZSk7CiAgICAgICAgaWYoICEkZmllbGRuYW1lICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignVGhlIGZpZWxkIG5hbWUgZm9yIGFuIEludGVnZXJGaWVsZFZhbGlkYXRpb24gY2Fubm90IGJlIGVtcHR5Jyk7CgogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yLT5zZXRfZmllbGROYW1lKCRmaWVsZG5hbWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfbWluVmFsdWUoICR2YWwgKQogICAgewogICAgICAgICR2YWwgPSB0cmltKCAkdmFsICk7CiAgICAgICAgaWYoIHN0cmxlbigkdmFsKSApIHsKICAgICAgICAgICAgJHRoaXMtPl92YWxpZGF0b3ItPnNldF9taW5WYWx1ZSgoaW50KSAkdmFsKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvci0+c2V0X21pblZhbHVlKG51bGwpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X21heFZhbHVlKCAkdmFsICkKICAgIHsKICAgICAgICAkdmFsID0gdHJpbSggJHZhbCApOwogICAgICAgIGlmKCBzdHJsZW4oJHZhbCkgKSB7CiAgICAgICAgICAgICR0aGlzLT5fdmFsaWRhdG9yLT5zZXRfbWF4VmFsdWUoKGludCkgJHZhbCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPl92YWxpZGF0b3ItPnNldF9tYXhWYWx1ZShudWxsKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9lZGl0X2Zvcm0oIGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRndWlkICkKICAgIHsKICAgICAgICAkbW9kID0gJHRoaXMtPl9tb2Q7CgogICAgICAgIGlmKCBceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdjYW5jZWwnKSApIHsKICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+Y2FuY2VsKCAkZm9ybV9ndWlkICk7CiAgICAgICAgfQogICAgICAgIGlmKCBceHRfcGFyYW06OmV4aXN0cygkcGFyYW1zLCdzdWJtaXQnKSApIHsKICAgICAgICAgICAgJHRoaXMtPnNldF9maWVsZChceHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZmllbGRuYW1lJykpOwogICAgICAgICAgICAkdGhpcy0+c2V0X21pblZhbHVlKFx4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdtaW5WYWx1ZScpKTsKICAgICAgICAgICAgJHRoaXMtPnNldF9tYXhWYWx1ZShceHRfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnbWF4VmFsdWUnKSk7CgogICAgICAgICAgICAvLyBub3cgaGF2ZSB0aGUgZGlzcG9zaXRpb24gb2JqZWN0LCBzdG9yZSBpdC4KICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF92YWxpZGF0aW9uKCksICRndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJG1vZC0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VkaXRfaW50ZWdlcmZpZWxkdmFsaWRhdGlvbi50cGwnKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2VkaXRvcl9uYW1lJyxnZXRfY2xhc3MoJHRoaXMpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2hhbmRsZXInLCR0aGlzKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2Zvcm1fZ3VpZCcsJGZvcm1fZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdndWlkJywkZ3VpZCk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdmaWVsZHMnLCRmb3JtLT5nZXRfZmllbGRfbGlzdCgpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3ZhbGlkYXRpb24nLCR0aGlzLT5nZXRfdmFsaWRhdGlvbigpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3RwbF9oZWxwJyx1dGlsczo6Z2V0X2Zvcm1fdHBsX2hlbHAoICRmb3JtKSApOwogICAgICAgICR0cGwtPmRpc3BsYXkoKTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.RegexFieldValidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgUmVnZXhGaWVsZFZhbGlkYXRpb24gZXh0ZW5kcyBWYWxpZGF0aW9uCnsKICAgIHByaXZhdGUgJF9maWVsZE5hbWU7CiAgICBwcml2YXRlICRfcGF0dGVybjsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoICRrZXkgKQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdmaWVsZE5hbWUnOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X2ZpZWxkTmFtZSk7CiAgICAgICAgY2FzZSAncGF0dGVybic6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fcGF0dGVybik7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheV9zdHJpbmcoIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyICkKICAgIHsKICAgICAgICByZXR1cm4gJHRyLT50cmFuc2xhdGUoJ2Rpc3BsYXlfUmVnZXhGaWVsZFZhbGlkYXRpb24nLCR0aGlzLT5maWVsZE5hbWUsJHRoaXMtPnBhdHRlcm4pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZmllbGROYW1lKCR2YWwpCiAgICB7CiAgICAgICAgJHRoaXMtPl9maWVsZE5hbWUgPSB0cmltKCR2YWwpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfcGF0dGVybigkdmFsKQogICAgewogICAgICAgICR0aGlzLT5fcGF0dGVybiA9IHRyaW0oJHZhbCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlKFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkcmVzcG9uc2UsIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyYW5zbGF0b3IgKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPl9maWVsZE5hbWUgKSByZXR1cm47CiAgICAgICAgaWYoICEkdGhpcy0+X3BhdHRlcm4gKSByZXR1cm47CgogICAgICAgICR2YWwgPSAkcmVzcG9uc2UtPmdldF9maWVsZF92YWx1ZSggJHRoaXMtPl9maWVsZE5hbWUgKTsKICAgICAgICAkZmllbGQgPSAkZm9ybS0+Z2V0X2ZpZWxkKCAkdGhpcy0+X2ZpZWxkTmFtZSApOwoJaWYoICRmaWVsZC0+bm92YWxpZGF0ZSApIHJldHVybjsKCiAgICAgICAgaWYoICFpc19hcnJheSggJHZhbCkgKSAkdmFsID0gWyAkdmFsIF07CiAgICAgICAgZm9yZWFjaCggJHZhbCBhcyAkb25lX3ZhbCApIHsKICAgICAgICAgICAgaWYoICFwcmVnX21hdGNoKCAkdGhpcy0+X3BhdHRlcm4sICRvbmVfdmFsKSApIHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCR0aGlzLT5fZmllbGROYW1lLCR0cmFuc2xhdG9yLT50cmFuc2xhdGUoJ2Vycl9maWVsZF9pbnZhbGlkdmFsdWUnLCAkdGhpcy0+X2ZpZWxkTmFtZSApKTsKICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.RegexFieldValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgUmVnZXhGaWVsZFZhbGlkYXRpb25FZGl0b3IgZXh0ZW5kcyBWYWxpZGF0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF92YWxpZGF0b3I7CiAgICBwcml2YXRlICRfbW9kOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yID0gbmV3IFJlZ2V4RmllbGRWYWxpZGF0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX1JlZ2V4RmllbGRWYWxpZGF0b3InKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ZhbGlkYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvcjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3ZhbGlkYXRpb24oIFZhbGlkYXRpb24gJGluICkKICAgIHsKICAgICAgICBpZiggISAkaW4gaW5zdGFuY2VvZiBSZWdleEZpZWxkVmFsaWRhdGlvbiApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgdmFsaWRhdGlvbiBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9ICRpbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gZ2V0X2NsYXNzKCR0aGlzLT5fdmFsaWRhdG9yKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvci0+Z2V0X2Rpc3BsYXlfc3RyaW5nKCAkdGhpcy0+X21vZC0+Z2V0X3RyYW5zbGF0b3IoKSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhbGxvd3NfbXVsdGlwbGUoKQogICAgewogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZmllbGQoICRmaWVsZG5hbWUgKQogICAgewogICAgICAgICRmaWVsZG5hbWUgPSB0cmltKCRmaWVsZG5hbWUpOwogICAgICAgIGlmKCAhJGZpZWxkbmFtZSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ1RoZSBmaWVsZCBuYW1lIGZvciBhIFJlZ2V4RmllbGRWYWxpZGF0aW9uIGNhbm5vdCBiZSBlbXB0eScpOwoKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvci0+c2V0X2ZpZWxkTmFtZSgkZmllbGRuYW1lKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3BhdHRlcm4oICRwYXR0ZXJuICkKICAgIHsKICAgICAgICAkcGF0dGVybiA9IHRyaW0oJHBhdHRlcm4pOwogICAgICAgIGlmKCAhJHBhdHRlcm4gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdUaGUgcGF0dGVybiBmb3IgYSBSZWdleEZpZWxkVmFsaWRhdGlvbiBjYW5ub3QgYmUgZW1wdHknKTsKCiAgICAgICAgJHRoaXMtPl92YWxpZGF0b3ItPnNldF9wYXR0ZXJuKCAkcGF0dGVybiApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVfZWRpdF9mb3JtKCBhcnJheSAkcGFyYW1zLCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCAkZm9ybV9ndWlkLCAkZ3VpZCApCiAgICB7CiAgICAgICAgJG1vZCA9ICR0aGlzLT5fbW9kOwoKICAgICAgICBpZiggXHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnY2FuY2VsJykgKSB7CiAgICAgICAgICAgICR0aGlzLT5nZXRfaGVscGVyKCktPmNhbmNlbCggJGZvcm1fZ3VpZCApOwogICAgICAgIH0KICAgICAgICBpZiggXHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnc3VibWl0JykgKSB7CiAgICAgICAgICAgICR0aGlzLT5zZXRfZmllbGQoXHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2ZpZWxkbmFtZScpKTsKICAgICAgICAgICAgJHRoaXMtPnNldF9wYXR0ZXJuKFx4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdwYXR0ZXJuJykpOwoKICAgICAgICAgICAgLy8gbm93IGhhdmUgdGhlIGRpc3Bvc2l0aW9uIG9iamVjdCwgc3RvcmUgaXQuCiAgICAgICAgICAgICR0aGlzLT5nZXRfaGVscGVyKCktPmZpbmlzaCggJGZvcm0sICRmb3JtX2d1aWQsICR0aGlzLT5nZXRfdmFsaWRhdGlvbigpLCAkZ3VpZCApOwogICAgICAgIH0KCiAgICAgICAgJHRwbCA9ICRtb2QtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCdhZG1pbl9lZGl0X3JlZ2V4ZmllbGR2YWxpZGF0aW9uLnRwbCcpOwogICAgICAgICR0cGwtPmFzc2lnbignZWRpdG9yX25hbWUnLGdldF9jbGFzcygkdGhpcykpOwogICAgICAgICR0cGwtPmFzc2lnbignaGFuZGxlcicsJHRoaXMpOwogICAgICAgICR0cGwtPmFzc2lnbignZm9ybV9ndWlkJywkZm9ybV9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2d1aWQnLCRndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2ZpZWxkcycsJGZvcm0tPmdldF9maWVsZF9saXN0KCkpOwogICAgICAgICR0cGwtPmFzc2lnbigndmFsaWRhdGlvbicsJHRoaXMtPmdldF92YWxpZGF0aW9uKCkpOwogICAgICAgICR0cGwtPmRpc3BsYXkoKTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.RequiredFieldValidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgUmVxdWlyZWRGaWVsZFZhbGlkYXRpb24gZXh0ZW5kcyBWYWxpZGF0aW9uCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheV9zdHJpbmcoIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyICkKICAgIHsKICAgICAgICByZXR1cm4gJHRyLT50cmFuc2xhdGUoJ2Rpc3BsYXlfUmVxdWlyZWRGaWVsZFZhbGlkYXRvcicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZShcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJGRhdGEsIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyYW5zbGF0b3IgKQogICAgewogICAgICAgICRuYW1lcyA9ICRmb3JtLT5nZXRfZmllbGRuYW1lcygpOwogICAgICAgIGZvcmVhY2goICRuYW1lcyBhcyAkbmFtZSApIHsKICAgICAgICAgICAgJGZpZWxkID0gJGZvcm0tPmdldF9maWVsZCggJG5hbWUgKTsKICAgICAgICAgICAgaWYoICRmaWVsZC0+bm92YWxpZGF0ZSApIGNvbnRpbnVlOwogICAgICAgICAgICBpZiggISRmaWVsZC0+cmVxdWlyZWQgKSBjb250aW51ZTsKICAgICAgICAgICAgJHVzZXJ2YWwgPSAkZGF0YS0+Z2V0X2ZpZWxkX3ZhbHVlKCAkbmFtZSApOwogICAgICAgICAgICBpZiggISAkdXNlcnZhbCApIHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKCRmaWVsZC0+bmFtZSwkdHJhbnNsYXRvci0+dHJhbnNsYXRlKCdlcnJfaW5wdXRfbWlzc2luZ3JlcXVpcmVkdmFsdWUnLCRmaWVsZC0+bmFtZSkpOwogICAgICAgIH0KICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.RequiredFieldValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgUmVxdWlyZWRGaWVsZFZhbGlkYXRpb25FZGl0b3IgZXh0ZW5kcyBWYWxpZGF0aW9uRWRpdG9yCnsKICAgIHByaXZhdGUgJF92YWxpZGF0b3I7CiAgICBwcml2YXRlICRfbW9kOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXMgJG1vZCApCiAgICB7CiAgICAgICAgJHRoaXMtPl9tb2QgPSAkbW9kOwogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yID0gbmV3IFJlcXVpcmVkRmllbGRWYWxpZGF0aW9uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fbW9kLT5MYW5nKCduYW1lX1JlcXVpcmVkRmllbGRWYWxpZGF0b3InKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ZhbGlkYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvcjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3ZhbGlkYXRpb24oIFZhbGlkYXRpb24gJGluICkKICAgIHsKICAgICAgICBpZiggISAkaW4gaW5zdGFuY2VvZiBSZXF1aXJlZEZpZWxkVmFsaWRhdGlvbiApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0ludmFsaWQgdmFsaWRhdGlvbiBwYXNzZWQgdG8gJy5fX01FVEhPRF9fKTsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9ICRpbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX2ludGVyZmFjZSgpIHsgcmV0dXJuIEZBTFNFOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gaGFuZGxlX2VkaXRfZm9ybSggYXJyYXkgJHBhcmFtcywgXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgJGZvcm1fZ3VpZCwgJGd1aWQgKSB7fQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3V0cHV0Y2xhc3MoKQogICAgewogICAgICAgIHJldHVybiBnZXRfY2xhc3MoJHRoaXMtPl92YWxpZGF0b3IpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheXN0cmluZygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdmFsaWRhdG9yLT5nZXRfZGlzcGxheV9zdHJpbmcoICR0aGlzLT5fbW9kLT5nZXRfdHJhbnNsYXRvcigpICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFsbG93c19tdWx0aXBsZSgpCiAgICB7CiAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKCn0gLy8gZW5kIG9mIGNsYXNzCg==]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.SelectFieldValidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgU2VsZWN0RmllbGRWYWxpZGF0aW9uIGV4dGVuZHMgVmFsaWRhdGlvbgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlfc3RyaW5nKCBcU21hcnRGb3Jtc1xUcmFuc2xhdG9yICR0ciApCiAgICB7CiAgICAgICAgcmV0dXJuICR0ci0+dHJhbnNsYXRlKCdkaXNwbGF5X1NlbGVjdEZpZWxkVmFsaWRhdGlvbicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZShcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJGRhdGEsIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyYW5zbGF0b3IgKQogICAgewogICAgICAgICRuYW1lcyA9ICRmb3JtLT5nZXRfZmllbGRuYW1lcygpOwogICAgICAgIGZvcmVhY2goICRuYW1lcyBhcyAkbmFtZSApIHsKICAgICAgICAgICAgJGZpZWxkID0gJGZvcm0tPmdldF9maWVsZCggJG5hbWUgKTsKICAgICAgICAgICAgaWYoICRmaWVsZC0+bm92YWxpZGF0ZSApIGNvbnRpbnVlOwogICAgICAgICAgICAkdXNlcnZhbCA9ICRkYXRhLT5nZXRfZmllbGRfdmFsdWUoICRuYW1lICk7CiAgICAgICAgICAgIGlmKCAhICR1c2VydmFsICkgY29udGludWU7CgogICAgICAgICAgICBzd2l0Y2goICRmaWVsZC0+dHlwZSApIHsKICAgICAgICAgICAgY2FzZSAnc2VsZWN0JzoKICAgICAgICAgICAgY2FzZSAncmFkaW8nOgogICAgICAgICAgICBjYXNlICdjaGVja2JveCc6CiAgICAgICAgICAgIGNhc2UgJ2J1dHRvbic6CiAgICAgICAgICAgICAgICAkdmFsaWRfdmFsdWVzID0gJGZpZWxkLT5nZXRfb3B0aW9uX3ZhbHVlcygpOwogICAgICAgICAgICAgICAgaWYoIGlzX2FycmF5KCR2YWxpZF92YWx1ZXMpICkgewogICAgICAgICAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHVzZXJ2YWwpICkgJHVzZXJ2YWwgPSBbICR1c2VydmFsIF07CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCggJHVzZXJ2YWwgYXMgJHZhbCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gbm90ZTogZW1wdHkgdmFsdWVzIGFyZSBhbGxvd2VkLgogICAgICAgICAgICAgICAgICAgICAgICBpZiggJHZhbCAmJiAhaW5fYXJyYXkoJHZhbCwkdmFsaWRfdmFsdWVzKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHByb2JhYmx5IG1lYW5zIHRoYXQgb25lIG9mIHRoZSBjaGVja2JveGVzIGV0Yy4gIGRvbid0IGhhdmUgdmFsdWVzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FeGNlcHRpb24oXFNtYXJ0Rm9ybXNcRmllbGRFcnJvcjo6Tk9OU1BFQ0lGSUNfRklFTEQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHJhbnNsYXRvci0+dHJhbnNsYXRlKCdlcnJfaW52YWxpZF9maWVsZHZhbHVlJykpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.SelectFieldValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgU2VsZWN0RmllbGRWYWxpZGF0aW9uRWRpdG9yIGV4dGVuZHMgVmFsaWRhdGlvbkVkaXRvcgp7CiAgICBwcml2YXRlICRfdmFsaWRhdG9yOwogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIFxTbWFydEZvcm1zICRtb2QgKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9IG5ldyBTZWxlY3RGaWVsZFZhbGlkYXRpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ25hbWVfU2VsZWN0RmllbGRWYWxpZGF0b3InKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ZhbGlkYXRpb24oKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvcjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3ZhbGlkYXRpb24oIFZhbGlkYXRpb24gJGluICkKICAgIHsKICAgICAgICBpZiggISAkaW4gaW5zdGFuY2VvZiBTZWxlY3RGaWVsZFZhbGlkYXRpb24gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdJbnZhbGlkIHZhbGlkYXRpb24gcGFzc2VkIHRvICcuX19NRVRIT0RfXyk7CiAgICAgICAgJHRoaXMtPl92YWxpZGF0b3IgPSAkaW47CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhhc19pbnRlcmZhY2UoKSB7IHJldHVybiBGQUxTRTsgfQogICAgcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9lZGl0X2Zvcm0oIGFycmF5ICRwYXJhbXMsIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsICRndWlkICkge30KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X291dHB1dGNsYXNzKCkKICAgIHsKICAgICAgICByZXR1cm4gZ2V0X2NsYXNzKCR0aGlzLT5fdmFsaWRhdG9yKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlzdHJpbmcoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRvci0+Z2V0X2Rpc3BsYXlfc3RyaW5nKCAkdGhpcy0+X21vZC0+Z2V0X3RyYW5zbGF0b3IoKSApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhbGxvd3NfbXVsdGlwbGUoKQogICAgewogICAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.TemplateValidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwp1c2UgXFNtYXJ0Rm9ybXNcdXRpbHM7CgpjbGFzcyBUZW1wbGF0ZVZhbGlkYXRpb24gZXh0ZW5kcyBWYWxpZGF0aW9uCnsKICAgIHByaXZhdGUgJF90ZW1wbGF0ZTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoICRrZXkgKQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICd0ZW1wbGF0ZSc6CiAgICAgICAgICAgIHJldHVybiB0cmltKCR0aGlzLT5fdGVtcGxhdGUpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3BsYXlfc3RyaW5nKCBcU21hcnRGb3Jtc1xUcmFuc2xhdG9yICR0ciApCiAgICB7CiAgICAgICAgcmV0dXJuICR0ci0+dHJhbnNsYXRlKCdkaXNwbGF5X1RlbXBsYXRlVmFsaWRhdGlvbicpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfdGVtcGxhdGUoJHZhbCkKICAgIHsKICAgICAgICAkdGhpcy0+X3RlbXBsYXRlID0gdHJpbSgkdmFsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgXFNtYXJ0Rm9ybXNcRm9ybVJlc3BvbnNlICRyZXNwb25zZSwgXFNtYXJ0Rm9ybXNcVHJhbnNsYXRvciAkdHJhbnNsYXRvciAgKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPl90ZW1wbGF0ZSApIHJldHVybjsKICAgICAgICAkb3V0ID0gdXRpbHM6OnByb2Nlc3NfdGVtcGxhdGUoICR0aGlzLT5fdGVtcGxhdGUsICRmb3JtLCAkcmVzcG9uc2UgKTsKICAgICAgICAkb3V0ID0gdHJpbSgkb3V0KTsKICAgICAgICBpZiggJG91dCApIHRocm93IG5ldyBWYWxpZGF0aW9uRXhjZXB0aW9uKFxTbWFydEZvcm1zXEZpZWxkRXJyb3I6Ok5PTlNQRUNJRklDX0ZJRUxELCRvdXQpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.TemplateValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgVGVtcGxhdGVWYWxpZGF0aW9uRWRpdG9yIGV4dGVuZHMgVmFsaWRhdGlvbkVkaXRvcgp7CiAgICBwcml2YXRlICRfdmFsaWRhdG9yOwogICAgcHJpdmF0ZSAkX21vZDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoIFxTbWFydEZvcm1zICRtb2QgKQogICAgewogICAgICAgICR0aGlzLT5fbW9kID0gJG1vZDsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvciA9IG5ldyBUZW1wbGF0ZVZhbGlkYXRpb247CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tb2QtPkxhbmcoJ25hbWVfVGVtcGxhdGVWYWxpZGF0aW9uJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF92YWxpZGF0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl92YWxpZGF0b3I7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF92YWxpZGF0aW9uKCBWYWxpZGF0aW9uICRpbiApCiAgICB7CiAgICAgICAgaWYoICEgJGluIGluc3RhbmNlb2YgVGVtcGxhdGVWYWxpZGF0aW9uICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCB2YWxpZGF0aW9uIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwogICAgICAgICR0aGlzLT5fdmFsaWRhdG9yID0gJGluOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNfaW50ZXJmYWNlKCkgeyByZXR1cm4gVFJVRTsgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfb3V0cHV0Y2xhc3MoKQogICAgewogICAgICAgIHJldHVybiBnZXRfY2xhc3MoJHRoaXMtPl92YWxpZGF0b3IpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGlzcGxheXN0cmluZygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdmFsaWRhdG9yLT5nZXRfZGlzcGxheV9zdHJpbmcoICR0aGlzLT5fbW9kLT5nZXRfdHJhbnNsYXRvcigpICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF90ZW1wbGF0ZSggJHRlbXBsYXRlICkKICAgIHsKICAgICAgICAkdGhpcy0+X3ZhbGlkYXRvci0+c2V0X3RlbXBsYXRlKCAkdGVtcGxhdGUgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFuZGxlX2VkaXRfZm9ybSggYXJyYXkgJHBhcmFtcywgXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgJGZvcm1fZ3VpZCwgJGd1aWQgKQogICAgewogICAgICAgICRtb2QgPSAkdGhpcy0+X21vZDsKCiAgICAgICAgaWYoIFx4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ2NhbmNlbCcpICkgewogICAgICAgICAgICAkdGhpcy0+Z2V0X2hlbHBlcigpLT5jYW5jZWwoICRmb3JtX2d1aWQgKTsKICAgICAgICB9CiAgICAgICAgaWYoIFx4dF9wYXJhbTo6ZXhpc3RzKCRwYXJhbXMsJ3N1Ym1pdCcpICkgewogICAgICAgICAgICAkdGhpcy0+c2V0X3RlbXBsYXRlKFx4dF9wYXJhbTo6Z2V0X2h0bWwoJHBhcmFtcywndGVtcGxhdGUnKSk7CgogICAgICAgICAgICAvLyBub3cgaGF2ZSB0aGUgZGlzcG9zaXRpb24gb2JqZWN0LCBzdG9yZSBpdC4KICAgICAgICAgICAgJHRoaXMtPmdldF9oZWxwZXIoKS0+ZmluaXNoKCAkZm9ybSwgJGZvcm1fZ3VpZCwgJHRoaXMtPmdldF92YWxpZGF0aW9uKCksICRndWlkICk7CiAgICAgICAgfQoKICAgICAgICAkdHBsID0gJG1vZC0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VkaXRfdGVtcGxhdGV2YWxpZGF0aW9uLnRwbCcpOwogICAgICAgICR0cGwtPmFzc2lnbignZWRpdG9yX25hbWUnLGdldF9jbGFzcygkdGhpcykpOwogICAgICAgICR0cGwtPmFzc2lnbignaGFuZGxlcicsJHRoaXMpOwogICAgICAgICR0cGwtPmFzc2lnbignZm9ybV9ndWlkJywkZm9ybV9ndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2d1aWQnLCRndWlkKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2ZpZWxkcycsJGZvcm0tPmdldF9maWVsZF9saXN0KCkpOwogICAgICAgICR0cGwtPmFzc2lnbigndmFsaWRhdGlvbicsJHRoaXMtPmdldF92YWxpZGF0aW9uKCkpOwogICAgICAgICR0cGwtPmFzc2lnbigndHBsX2hlbHAnLFxTbWFydEZvcm1zXHV0aWxzOjpnZXRfZm9ybV90cGxfaGVscCggJGZvcm0pICk7CiAgICAgICAgJHRwbC0+ZGlzcGxheSgpOwogICAgfQoKfSAvLyBlbmQgb2YgY2xhc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/class.ValidationException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKY2xhc3MgVmFsaWRhdGlvbkV4Y2VwdGlvbiBleHRlbmRzIFxTbWFydEZvcm1zXFZhbGlkYXRpb25FcnJvcgp7CiAgICBwcml2YXRlICRfZmllbGRfZXJyb3I7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAkZmllbGRfbmFtZSwgJG1lc3NhZ2UgPSBudWxsICkKICAgIHsKICAgICAgICAkdGhpcy0+X2ZpZWxkX2Vycm9yID0gbmV3IFxTbWFydEZvcm1zXEZpZWxkRXJyb3IoICRmaWVsZF9uYW1lLCAkbWVzc2FnZSApOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoICRtZXNzYWdlICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEdldEZpZWxkRXJyb3IoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2ZpZWxkX2Vycm9yOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/interface.IValidation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKaW50ZXJmYWNlIElWYWxpZGF0aW9uCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZ3VpZCgpOwogICAgcHVibGljIGZ1bmN0aW9uIGdldF9kaXNwbGF5X3N0cmluZyggXFNtYXJ0Rm9ybXNcVHJhbnNsYXRvciAkdHIgKTsKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZShcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJGRhdGEsIFxTbWFydEZvcm1zXFRyYW5zbGF0b3IgJHRyYW5zbGF0b3IgKTsKfSAvLyBlbmQgb2YgaW50ZXJmYWNlCg==]]></data>
	</file>
	<file>
	  <filename>/lib/FieldValidators/interface.ValidationEditor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzOwoKYWJzdHJhY3QgY2xhc3MgVmFsaWRhdGlvbkVkaXRvcgp7CiAgICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKTsKICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBnZXRfc2V0dGluZ3NfZm9ybV91cmwoYXJyYXkgJHBhcmFtcyA9IG51bGwpOwogICAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGdldF92YWxpZGF0b3IoKTsKICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBzZXRfdmFsaWRhdG9yKCBJVmFsaWRhdGlvbiAkaW4gKTsKICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBnZXRfb3V0cHV0Y2xhc3MoKTsKfSAvLyBlbmQgb2YgaW50ZXJmYWNlCg==]]></data>
	</file>
	<file>
	  <filename>/lib/FormValidator</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/FormValidator/abstract.FormTesterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRm9ybVZhbGlkYXRvcjsKCmFic3RyYWN0IGNsYXNzIEZvcm1UZXN0ZXJUZXN0CnsKICAgIHByaXZhdGUgJF90cmFuc2xhdG9yOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggXFNtYXJ0Rm9ybXNcVHJhbnNsYXRvciAkb2JqICkKICAgIHsKICAgICAgICAkdGhpcy0+X3RyYW5zbGF0b3IgPSAkb2JqOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2xhdGUoLyogdmFyIGFyZ3MgKi8pCiAgICB7CiAgICAgICAgJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdHJhbnNsYXRvci0+dHJhbnNsYXRlKCAkYXJncyApOwogICAgfQoKICAgIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgbWVzc2FnZXMsIG9yIG51bGwKICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiB0ZXN0X2Zvcm0oIGFycmF5ICRmb3JtcywgYXJyYXkgJGlucHV0cyApOwp9]]></data>
	</file>
	<file>
	  <filename>/lib/FormValidator/class.FormDuplicateIdValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBTbWFydEZvcm1zXEZvcm1WYWxpZGF0b3I7CgpjbGFzcyBGb3JtRHVwbGljYXRlSWRWYWxpZGF0b3IgZXh0ZW5kcyBGb3JtVGVzdGVyVGVzdAp7CiAgcHVibGljIGZ1bmN0aW9uIHRlc3RfZm9ybShhcnJheSAkZm9ybXMsIGFycmF5ICRpbnB1dHMpCiAgewogICAgJG91dCA9IFtdOwogICAgJG1hcCA9ICRvdXQ7CiAgICAKICAgIGZvcmVhY2goJGlucHV0cyBhcyAkaW5wdXQpCiAgICB7CiAgICAgICRpZCA9IFx0cmltKCAoc3RyaW5nKSRpbnB1dC0+Z2V0X2F0dHJpYnV0ZSgnaWQnKSApOwogICAgICAKICAgICAgaWYoISRpZCkgeyBjb250aW51ZTsgfQogICAgICAKICAgICAgJGxpbmUgPSAkaW5wdXQtPmdldF9saW5lKCk7CiAgICAgIAogICAgICBpZiggIVxhcnJheV9rZXlfZXhpc3RzKCRpZCwgJG1hcCkgKQogICAgICB7CiAgICAgICAgJG1hcFskaWRdID0gJGxpbmU7CiAgICAgIH0KICAgICAgZWxzZQogICAgICB7CiAgICAgICAgJG91dFtdID0gJHRoaXMtPnRyYW5zbGF0ZSgnZXJyX2R1cGxpY2F0ZV9maWVsZGlkJywgJGxpbmUsICRpZCwgJG1hcFskaWRdKTsKICAgICAgfQogICAgfQogICAgCiAgICByZXR1cm4gJG91dDsKICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/FormValidator/class.FormDuplicateNameValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBTbWFydEZvcm1zXEZvcm1WYWxpZGF0b3I7CgpjbGFzcyBGb3JtRHVwbGljYXRlTmFtZVZhbGlkYXRvciBleHRlbmRzIEZvcm1UZXN0ZXJUZXN0CnsKICBwdWJsaWMgZnVuY3Rpb24gdGVzdF9mb3JtKGFycmF5ICRmb3JtcywgYXJyYXkgJGlucHV0cykKICB7CiAgICAkb3V0ID0gW107CiAgICAkbWFwID0gJG91dDsKICAgIAogICAgZm9yZWFjaCgkaW5wdXRzIGFzICRpbnB1dCkKICAgIHsKICAgICAgJG5hbWUgPSAkaW5wdXQtPmdldF9hdHRyaWJ1dGUoJ25hbWUnKTsKICAgICAgaWYoISRuYW1lKQogICAgICB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0gLy8gYWxyZWFkeSBjaGVjayBmb3IgdGhpcwogICAgICAkdHlwZSA9IFxzdHJ0b2xvd2VyKChzdHJpbmcpJGlucHV0LT5nZXRfYXR0cmlidXRlKCd0eXBlJykgKTsKICAgICAgCiAgICAgIGlmKCdoaWRkZW4nID09PSAkdHlwZSkgeyBjb250aW51ZTsgfSAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IGhpZGRlbiBmaWVsZHMuCiAgICAgIAogICAgICAkbGluZSAgICAgICAgPSAkaW5wdXQtPmdldF9saW5lKCk7CiAgICAgICRpc19tdWx0aXBsZSA9IGVuZHN3aXRoKCRuYW1lLCAnW10nKTsKICAgICAgCiAgICAgIGlmKCAhXGFycmF5X2tleV9leGlzdHMoJG5hbWUsICRtYXApICkKICAgICAgewogICAgICAgICRtYXBbJG5hbWVdID0gWyR0eXBlLCAkbGluZV07CiAgICAgIH0KICAgICAgZWxzZSBpZigkdHlwZSAhPSAkbWFwWyRuYW1lXVswXSkKICAgICAgewogICAgICAgIC8vIGNoYW5nZSBvZiBmaWVsZCB0eXBlCiAgICAgICAgLy8gYnV0IGlmIHRoZSBwcmV2aW91cyB0eXBlIHdhcyBoaWRkZW4sIHdlIGFjY2VwdCB0aGF0LgogICAgICAgICRvdXRbXSA9ICR0aGlzLT50cmFuc2xhdGUoJ2Vycl9kdXBsaWNhdGVfZmllbGRuYW1lJywgJGxpbmUsICRtYXBbJG5hbWVdWzFdKTsKICAgICAgfQogICAgICBlbHNlIGlmKCEkaXNfbXVsdGlwbGUgJiYgJ3JhZGlvJyAhPT0gJHR5cGUgJiYgJ2NoZWNrYm94JyAhPT0gJHR5cGUpCiAgICAgIHsKICAgICAgICAvLyByYWRpbyBhbmQgY2hlY2tib3ggZmllbGRzIGNhbiB2YWxpZGx5IG9jY3VyIG11bHRpcGxlIHRpbWVzIHdpdGggdGhlIHNhbWUgbmFtZS4KICAgICAgICAkb3V0W10gPSAkdGhpcy0+dHJhbnNsYXRlKCdlcnJfZHVwbGljYXRlX2ZpZWxkbmFtZScsICRsaW5lLCAkbWFwWyRuYW1lXVsxXSk7CiAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuICRvdXQ7CiAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/FormValidator/class.FormMissingLabelValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBTbWFydEZvcm1zXEZvcm1WYWxpZGF0b3I7CgpjbGFzcyBGb3JtTWlzc2luZ0xhYmVsVmFsaWRhdG9yIGV4dGVuZHMgRm9ybVRlc3RlclRlc3QKewogIHB1YmxpYyBmdW5jdGlvbiB0ZXN0X2Zvcm0oYXJyYXkgJGZvcm1zLCBhcnJheSAkaW5wdXRzKQogIHsKICAgICRvdXQgPSBbXTsKICAgIGZvcmVhY2goJGlucHV0cyBhcyAkaW5wdXQpCiAgICB7CiAgICAgIGlmKCEkaW5wdXQtPmdldF9sYWJlbCgpKQogICAgICB7CiAgICAgICAgJG5hbWUgPSAkaW5wdXQtPmdldF9hdHRyaWJ1dGUoJ25hbWUnKTsKICAgICAgICAKICAgICAgICBpZighJG5hbWUpIHsgY29udGludWU7IH0KICAgICAgICAKICAgICAgICAkdHlwZSA9ICRpbnB1dC0+Z2V0X2F0dHJpYnV0ZSgndHlwZScpOwogICAgICAgIAogICAgICAgIGlmKCdyZXNldCcgPT09ICR0eXBlIHx8ICdzdWJtaXQnID09PSAkdHlwZSB8fCAnaGlkZGVuJyA9PT0gJHR5cGUpIHsgY29udGludWU7IH0KICAgICAgICBpZigkaW5wdXQtPmdldF9hdHRyaWJ1dGUoJ2RhdGEtc210Zm0tbm9sYWJlbCcpKSB7IGNvbnRpbnVlOyB9CiAgICAgICAgaWYoJGlucHV0IGluc3RhbmNlb2YgXFNtYXJ0Rm9ybXNcRE9NQnV0dG9uRmllbGQpIHsgY29udGludWU7IH0gLy8gbm90IG5lZWRlZAogICAgICAgIAogICAgICAgICRvdXRbXSA9ICR0aGlzLT50cmFuc2xhdGUoJ2Vycl9pbnB1dF9taXNzaW5nbGFiZWwnLCAkbmFtZSwgJGlucHV0LT5nZXRfbGluZSgpKTsKICAgICAgfQogICAgfQogICAgCiAgICByZXR1cm4gJG91dDsKICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/FormValidator/class.FormMissingNameValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRm9ybVZhbGlkYXRvcjsKCmNsYXNzIEZvcm1NaXNzaW5nTmFtZVZhbGlkYXRvciBleHRlbmRzIEZvcm1UZXN0ZXJUZXN0CnsKICBwdWJsaWMgZnVuY3Rpb24gdGVzdF9mb3JtKGFycmF5ICRmb3JtcywgYXJyYXkgJGlucHV0cykKICB7CiAgICAkb3V0ID0gW107CiAgICBmb3JlYWNoKCRpbnB1dHMgYXMgJGlucHV0KQogICAgewogICAgICAkbmFtZSA9ICRpbnB1dC0+Z2V0X2F0dHJpYnV0ZSgnbmFtZScpOwogICAgICAkdHlwZSA9IFxzdHJ0b2xvd2VyKCAoc3RyaW5nKSRpbnB1dC0+Z2V0X2F0dHJpYnV0ZSgndHlwZScpICk7CiAgICAgIGlmKCEkdHlwZSkKICAgICAgewogICAgICAgICR0eXBlID0gXHN0cnRvbG93ZXIoIChzdHJpbmcpJGlucHV0LT5nZXRfbm9kZW5hbWUoKSApOwogICAgICB9CiAgICAgIAogICAgICBpZigncmVzZXQnID09PSAkdHlwZSB8fCAnc3VibWl0JyA9PT0gJHR5cGUpIHsgY29udGludWU7IH0KICAgICAgaWYoISR0eXBlKSB7ICR0eXBlID0gJz8/JzsgfQogICAgICAKICAgICAgaWYoISRuYW1lKQogICAgICB7CiAgICAgICAgJG91dFtdID0gJHRoaXMtPnRyYW5zbGF0ZSgnZXJyX2lucHV0X21pc3NpbmduYW1lJywgJHR5cGUsICRpbnB1dC0+Z2V0X2xpbmUoKSk7CiAgICAgIH0KICAgICAgZWxzZQogICAgICB7CiAgICAgICAgLy8gYWxzbyBjaGVjayBmb3IgaW52YWxpZCBuYW1lcy4KICAgICAgICAkcmVnZXggPSAnL15bX2Etel1bX2EtejAtOVxbXF1dKiQvaSc7CiAgICAgICAgaWYoIVxwcmVnX21hdGNoKCRyZWdleCwgJG5hbWUpKQogICAgICAgIHsKICAgICAgICAgICRvdXRbXSA9ICR0aGlzLT50cmFuc2xhdGUoJ2Vycl9pbnB1dF9pbnZhbGlkbmFtZScsICR0eXBlLCAkaW5wdXQtPmdldF9saW5lKCksICRuYW1lKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuICRvdXQ7CiAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/FormValidator/class.FormMissingValueValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRm9ybVZhbGlkYXRvcjsKdXNlIFxTbWFydEZvcm1zXEZvcm1WYWxpZGF0aW9uRXJyb3I7CgpjbGFzcyBGb3JtTWlzc2luZ1ZhbHVlVmFsaWRhdG9yIGV4dGVuZHMgRm9ybVRlc3RlclRlc3QKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RfZm9ybSggYXJyYXkgJGZvcm1zLCBhcnJheSAkaW5wdXRzICkKICAgIHsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJGlucHV0cyBhcyAkaW5wdXQgKSB7CiAgICAgICAgICAgIGlmKCAkaW5wdXQgaW5zdGFuY2VvZiBcU21hcnRGb3Jtc1xET01JbnB1dEZpZWxkICkgewogICAgICAgICAgICAgICAgJHR5cGUgPSAkaW5wdXQtPmdldF9hdHRyaWJ1dGUoJ3R5cGUnKTsKICAgICAgICAgICAgICAgIGlmKCAkdHlwZSA9PSAncmFkaW8nIHx8ICR0eXBlID09ICdjaGVja2JveCcgKSB7CiAgICAgICAgICAgICAgICAgICAgJHZhbCA9ICRpbnB1dC0+Z2V0X2F0dHJpYnV0ZSgndmFsdWUnKTsKICAgICAgICAgICAgICAgICAgICAkdHlwZSA9ICRpbnB1dC0+Z2V0X2F0dHJpYnV0ZSgndHlwZScpOwogICAgICAgICAgICAgICAgICAgICRuYW1lID0gJGlucHV0LT5nZXRfYXR0cmlidXRlKCduYW1lJyk7CiAgICAgICAgICAgICAgICAgICAgaWYoICEkbmFtZSApICRuYW1lID0gJz8/JzsKICAgICAgICAgICAgICAgICAgICBpZiggISR2YWwgJiYgJHR5cGUgIT0gJ2hpZGRlbicgKSAkb3V0W10gPSAkdGhpcy0+dHJhbnNsYXRlKCdlcnJfaW5wdXRfbWlzc2luZ3ZhbHVlJywkdHlwZSwkbmFtZSwkaW5wdXQtPmdldF9saW5lKCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/FormValidator/class.FormTagValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRm9ybVZhbGlkYXRvcjsKdXNlIFxTbWFydEZvcm1zXEZvcm1WYWxpZGF0aW9uRXJyb3I7CgpjbGFzcyBGb3JtVGFnVmFsaWRhdG9yIGV4dGVuZHMgRm9ybVRlc3RlclRlc3QKewogICAgcHVibGljIGZ1bmN0aW9uIHRlc3RfZm9ybSggYXJyYXkgJGZvcm1zLCBhcnJheSAkaW5wdXRzICkKICAgIHsKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgaWYoIGNvdW50KCRmb3JtcykgPCAxICkgdGhyb3cgbmV3IEZvcm1WYWxpZGF0aW9uRXJyb3IoJHRoaXMtPnRyYW5zbGF0ZSgnZXJyX25vZm9ybXMnKSk7CiAgICAgICAgaWYoIGNvdW50KCRmb3JtcykgPiAxICkgdGhyb3cgbmV3IEZvcm1WYWxpZGF0aW9uRXJyb3IoJHRoaXMtPnRyYW5zbGF0ZSgnZXJyX21hbnlmb3JtcycpKTsKICAgICAgICBpZiggaXNzZXQoJF9TRVNTSU9OWydoYXZlX2Zvcm1zdGFydF9zbWFydHl0YWcnXSkgKSB7CiAgICAgICAgICAgIHVuc2V0KCRfU0VTU0lPTlsnaGF2ZV9mb3Jtc3RhcnRfc21hcnR5dGFnJ10pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRmb3JtID0gJGZvcm1zWzBdOwogICAgICAgICAgICBpZiggJGZvcm0tPmhhc19hdHRyaWJ1dGUoJ2FjdGlvbicpICkgJG91dFtdID0gJHRoaXMtPnRyYW5zbGF0ZSgnZXJyX2Zvcm1fYWN0aW9uYXR0cicpOwogICAgICAgICAgICBpZiggJGZvcm0tPmhhc19hdHRyaWJ1dGUoJ21ldGhvZCcpICkgJG91dFtdID0gJHRoaXMtPnRyYW5zbGF0ZSgnZXJyX2Zvcm1fbWV0aG9kYXR0cicpOwogICAgICAgICAgICBpZiggJGZvcm0tPmhhc19hdHRyaWJ1dGUoJ2VuY3R5cGUnKSApICRvdXRbXSA9ICR0aGlzLT50cmFuc2xhdGUoJ2Vycl9mb3JtX2VuY3R5cGVhdHRyJyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkb3V0OwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/FormValidator/class.TemplateTesterTest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRm9ybVZhbGlkYXRvcjsKCmFic3RyYWN0IGNsYXNzIFRlbXBsYXRlVGVzdGVyVGVzdCBleHRlbmRzIEZvcm1UZXN0ZXJUZXN0CnsKICAgIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgbWVzc2FnZXMgb3IgbnVsbAogICAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIHRlc3RfdGVtcGxhdGUoICRzdHIgKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdF9mb3JtKCBhcnJheSAkZm9ybXMsIGFycmF5ICRpbnB1dHMgKSB7fSAvLyBkbyBub3RoaW5nCn0=]]></data>
	</file>
	<file>
	  <filename>/lib/FormValidator/class.TemplateValidator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXNcRm9ybVZhbGlkYXRvcjsKdXNlIFxTbWFydEZvcm1zXEZvcm1WYWxpZGF0aW9uRXJyb3I7CgpjbGFzcyBUZW1wbGF0ZVZhbGlkYXRvciBleHRlbmRzIFRlbXBsYXRlVGVzdGVyVGVzdAp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdF90ZW1wbGF0ZSggJHN0ciApCiAgICB7CiAgICAgICAgLy8gcmV0dXJuIGFuIGFycmF5IG9mIG1lc3NhZ2VzCiAgICAgICAgLy8gY2hlY2sgZm9yIHtmb3JtX3N0YXJ0fSBvciA8Zm9ybSAoZXhjZXB0aW9uKQogICAgICAgIGlmKCBzdHJwb3MoJHN0ciwne2Zvcm1fc3RhcnQnKSAhPT0gRkFMU0UgKSAkX1NFU1NJT05bJ2hhdmVfZm9ybXN0YXJ0X3NtYXJ0eXRhZyddID0gMTsKICAgICAgICBpZiggc3RycG9zKCRzdHIsJ3tmb3JtX3N0YXJ0JykgPT09IEZBTFNFICYmIHN0cmlwb3MoJHN0ciwnPGZvcm0nKSA9PT0gRkFMU0UgKSB0aHJvdyBuZXcgRm9ybVZhbGlkYXRpb25FcnJvcigkdGhpcy0+dHJhbnNsYXRlKCdlcnJfbWlzc2luZ19mb3Jtc3RhcnQnKSk7CgogICAgICAgICRvdXQgPSBudWxsOwogICAgICAgIC8vIGNoZWNrIGZvciB7Zm9ybV9lbmR9IG9yIDwvZm9ybSAobWVzc2FnZSkKICAgICAgICBpZiggc3RycG9zKCRzdHIsJ3tmb3JtX2VuZCcpID09PSBGQUxTRSAmJiAhc3RyaXBvcygkc3RyLCc8L2Zvcm0nKSApICRvdXRbXSA9ICR0aGlzLT50cmFuc2xhdGUoJ2Vycl9taXNzaW5nX2Zvcm1lbmQnKTsKCiAgICAgICAgaWYoIHN0cnBvcygkc3RyLCd7c210Zm1fZm9ybV9lcnJvcnMnKSA9PT0gRkFMU0UgKSAkb3V0W10gPSAkdGhpcy0+dHJhbnNsYXRlKCdlcnJfbWlzc2luZ19tZXNzYWdlc3RyaW5nJyk7CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICAgICAgLy8gY2hlY2sgZm9yIHtzbXRmbV9mb3JtX2Vycm9yfSB0YWcuKG1lc3NhZ2UpCiAgICB9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/interface.FormStorageInterface.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgppbnRlcmZhY2UgRm9ybVN0b3JhZ2VJbnRlcmZhY2UKewogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB0YWJsZV9uYW1lKCk7CiAgICBwdWJsaWMgZnVuY3Rpb24gU2F2ZSggRm9ybSAkZm9ybSApOwogICAgcHVibGljIGZ1bmN0aW9uIGxpc3RfYWxsKCk7CiAgICBwdWJsaWMgZnVuY3Rpb24gbG9hZCggJG5hbWUgKTsKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2FkX2J5X2lkKCAkaWQgKTsKICAgIHB1YmxpYyBmdW5jdGlvbiBleGlzdHMoICRuYW1lICk7CiAgICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCBGb3JtICRmb3JtICk7Cn0gLy8gaW50ZXJmYWNl]]></data>
	</file>
	<file>
	  <filename>/lib/interface.ICaptchaProvider.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgppbnRlcmZhY2UgSUNhcHRjaGFQcm92aWRlcgp7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2NhcHRjaGFfZGlzcGxheSgpOwogICAgcHVibGljIGZ1bmN0aW9uIGdldF9jYXB0Y2hhX2lucHV0ZmllbGQoKTsKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZV9jYXB0Y2hhKCk7Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/interface.IFormScanner.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgppbnRlcmZhY2UgSUZvcm1TY2FubmVyCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbW9kaWZpZWRfdGltZSgpOwogICAgcHVibGljIGZ1bmN0aW9uIGdldF9mb3JtcygpOwogICAgcHVibGljIGZ1bmN0aW9uIGdldF9maWVsZHMoKTsKICAgIHB1YmxpYyBmdW5jdGlvbiBoYXNfY2FwdGNoYSgpOwp9]]></data>
	</file>
	<file>
	  <filename>/lib/interface.IFormTester.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7CgppbnRlcmZhY2UgSUZvcm1UZXN0ZXIgIHt9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/trait.DOMLabelFieldTrait.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKbmFtZXNwYWNlIFNtYXJ0Rm9ybXM7Cgp0cmFpdCBET01MYWJlbEZpZWxkVHJhaXQKewogICAgcHJpdmF0ZSAkX2xhYmVsOwoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaW5kUGFyZW50TGFiZWwoXERPTUVsZW1lbnQgJG5vZGUpCiAgICB7CiAgICAgICAgLy8gYSBmdW5jdGlvbiwgZ2l2ZW4gYSBsYWJlbCB0byBnZXQgc29tZSB0ZXh0LgogICAgICAgICRnZXRfbGFiZWx0ZXh0ID0gZnVuY3Rpb24oXERvbU5vZGUgJG5vZGUpIHsKICAgICAgICAgICAgaWYoIHN0cnRvbG93ZXIoJG5vZGUtPm5vZGVOYW1lKSAhPSAnbGFiZWwnICkgcmV0dXJuOwogICAgICAgICAgICBpZiggISRub2RlLT5oYXNDaGlsZE5vZGVzKCkgKSByZXR1cm4gJGNoaWxkLT5ub2RlVmFsdWU7CiAgICAgICAgICAgICRvdXQgPSBudWxsOwogICAgICAgICAgICBmb3JlYWNoKCAkbm9kZS0+Y2hpbGROb2RlcyBhcyAkY2hpbGQgKSB7CiAgICAgICAgICAgICAgICBpZiggJGNoaWxkLT5ub2RlVHlwZSA9PSAzICkgJG91dCAuPSAkY2hpbGQtPnRleHRDb250ZW50OwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkb3V0OwogICAgICAgIH07CgogICAgICAgIC8vIGlmIHdlIGhhdmUgYSBkYXRhLXNtdGZtLWxhYmVsIGF0dHJpYnV0ZQogICAgICAgIGlmKCAoJHR4dCA9ICRub2RlLT5nZXRBdHRyaWJ1dGUoJ2RhdGEtc210Zm0tbGFiZWwnKSkgKSB7CiAgICAgICAgICAgIHJldHVybiAkdHh0OwogICAgICAgIH0KCiAgICAgICAgLy8gaWYgd2Ugd2VyZSB3cmFwcGVkIGJ5IGEgbGFiZWwKICAgICAgICBpZiggJG5vZGUtPnBhcmVudE5vZGUgJiYgc3RydG9sb3dlcigkbm9kZS0+cGFyZW50Tm9kZS0+bm9kZU5hbWUpID09ICdsYWJlbCcgKSB7CiAgICAgICAgICAgIHJldHVybiAkZ2V0X2xhYmVsdGV4dCgkbm9kZS0+cGFyZW50Tm9kZSk7CiAgICAgICAgfQoKICAgICAgICAvLyBzZWFyY2ggYmFja3dhcmRzIHRocm91Z2ggcGVlcnMgZm9yIGEgbGFiZWwuCiAgICAgICAgJHByZXYgPSAoJG5vZGUtPnByZXZpb3VzU2libGluZykgPyAkbm9kZS0+cHJldmlvdXNTaWJsaW5nICA6IG51bGw7CiAgICAgICAgd2hpbGUoICRwcmV2ICkgewogICAgICAgICAgICAkbm9kZW5hbWUgPSBzdHJ0b2xvd2VyKCRwcmV2LT5ub2RlTmFtZSk7CiAgICAgICAgICAgIGlmKCAkbm9kZW5hbWUgPT0gJ2lucHV0JyB8fCAkbm9kZW5hbWUgPT0gJ3NlbGVjdCcgfHwgJG5vZGVuYW1lID09ICd0ZXh0YXJlYScgKSBicmVhazsKICAgICAgICAgICAgaWYoICRub2RlbmFtZSA9PSAnbGFiZWwnICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRnZXRfbGFiZWx0ZXh0KCRwcmV2KTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkcHJldiA9ICRwcmV2LT5wcmV2aW91c1NpYmxpbmc7CiAgICAgICAgfQoKICAgICAgICAvLyBjaGVjayB1cCB0byAzIGxldmVscyBvZiBwYXJlbnQgZm9yIGEgbGFiZWwgd2l0aCBhIGZvciBhdHRyaWJ1dGUgdGhhdCBtYXRjaGVzIHRoaXMgaWQuCiAgICAgICAgJGN1cnJlbnRfaWQgPSAkbm9kZS0+Z2V0QXR0cmlidXRlKCdpZCcpOwogICAgICAgIGlmKCAkY3VycmVudF9pZCApIHsKICAgICAgICAgICAgJHBhcmVudCA9ICRub2RlOwogICAgICAgICAgICBmb3IoICRpID0gMDsgJGkgPCA1OyAkaSsrICkgewogICAgICAgICAgICAgICAgaWYoICRwYXJlbnQtPnBhcmVudE5vZGUgKSAkcGFyZW50ID0gJHBhcmVudC0+cGFyZW50Tm9kZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHdhbGsgPSBmdW5jdGlvbigkY2hpbGRyZW4pIHVzZSAoJiR3YWxrLCAmJGdldF9sYWJlbHRleHQpIHsKICAgICAgICAgICAgICAgIGZvcmVhY2goICRjaGlsZHJlbiBhcyAkY2hpbGQgKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoIHN0cnRvbG93ZXIoJGNoaWxkLT5ub2RlTmFtZSkgPT0gJ2xhYmVsJyAmJiAoKHN0cmluZykgJGNoaWxkLT5nZXRBdHRyaWJ1dGUoJ2ZvcicpID09ICRjdXJyZW50X2lkKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRnZXRfbGFiZWx0ZXh0KCRjaGlsZCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoICRjaGlsZC0+aGFzQ2hpbGROb2RlcygpICkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHdhbGsoJGNoaWxkLT5jaGlsZE5vZGVzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH07CiAgICAgICAgICAgICR0ZXh0ID0gJHdhbGsoJG5vZGUtPmNoaWxkTm9kZXMpOwogICAgICAgICAgICBpZiggJHRleHQgKSByZXR1cm4gJHRleHQ7CiAgICAgICAgfQoKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2xhYmVsKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPl9sYWJlbDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X2xhYmVsKCRzdHIpCiAgICB7CiAgICAgICAgJHRoaXMtPl9sYWJlbCA9IFx0cmltKCAoc3RyaW5nKSRzdHIgKTsKICAgIH0KfSAvLyBlbmQgb2YgdHJhaXQ=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJHRoaXMtPkluaXRpYWxpemVBZG1pbigpOwokZGljdCAgICAgICAgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokdGFib3B0YXJyYXkgPSBbJ215c3FsaScgPT4gJ0VOR0lORT1Jbm5vREInXTsKCiRmbGRzID0gJ2lkIEkgS0VZIEFVVE8sCiAgICAgICAgIG5hbWUgQygyNTUpIEtFWSBOT1ROVUxMLAogICAgICAgICBkYXRhIFgyLAogICAgICAgICBjcmVhdGVkIEksCiAgICAgICAgIG1vZGlmaWVkIEkKICAgICAgICAgJzsKCiRzcWxhcnIgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoXFNtYXJ0Rm9ybXNcRm9ybURBTzo6dGFibGVfbmFtZSgpLCAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyKTsKCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKFNtYXJ0Rm9ybXM6Ok1BTkFHRV9QRVJNLCAnTWFuYWdlIFNtYXJ0Rm9ybXMnKTsKCi8vIHRlbXBsYXRlIHN0dWZmCnRyeQp7CiAgJHRwbF90eXBlID0gbmV3IFxDbXNMYXlvdXRUZW1wbGF0ZVR5cGUoKTsKICAkdHBsX3R5cGUtPnNldF9vcmlnaW5hdG9yKCdTbWFydEZvcm1zJyk7CiAgJHRwbF90eXBlLT5zZXRfbmFtZSgnRm9ybScpOwogICR0cGxfdHlwZS0+c2V0X2hlbHBfY2FsbGJhY2soJ1NtYXJ0Rm9ybXM6OnRwbF90eXBlX2hlbHBfY2FsbGJhY2snKTsKICAkdHBsX3R5cGUtPnNldF9sYW5nX2NhbGxiYWNrKCdTbWFydEZvcm1zOjp0cGxfdHlwZV9sYW5nX2NhbGxiYWNrJyk7CiAgJHRwbF90eXBlLT5zYXZlKCk7Cn0KY2F0Y2goXENtc0V4Y2VwdGlvbiAkZSkKewogIFx4dF91dGlsczo6bG9nX2V4Y2VwdGlvbigkZSk7CiAgYXVkaXQoJycsICdTbWFydEZvcm1zJywgJ0luc3RhbGwgZXJyb3I6ICcgLiAkZS0+R2V0TWVzc2FnZSgpKTsKfQoKJHRwbF90eXBlID0gXENtc0xheW91dFRlbXBsYXRlVHlwZTo6bG9hZCgnU21hcnRGb3Jtczo6Rm9ybScpOwoKJGNyZWF0ZV90ZW1wbGF0ZV9vZl90eXBlID0gc3RhdGljIGZ1bmN0aW9uKCR0eXBlX29iLCAkbmFtZSwgJGNvbnRlbnRzLCAkZGZsdCA9IEZBTFNFKQp7CiAgJG9iID0gbmV3IFxDbXNMYXlvdXRUZW1wbGF0ZSgpOwogICRvYi0+c2V0X3R5cGUoJHR5cGVfb2IpOwogICRvYi0+c2V0X2NvbnRlbnQoJGNvbnRlbnRzKTsKICAkb2ItPnNldF9vd25lcihnZXRfdXNlcmlkKCkpOwogICRuZXdfbmFtZSA9IFxDbXNMYXlvdXRUZW1wbGF0ZTo6Z2VuZXJhdGVfdW5pcXVlX25hbWUoJG5hbWUsICdTbWFydCBGb3JtcyAnKTsKICAkb2ItPnNldF9uYW1lKCRuZXdfbmFtZSk7CiAgJG9iLT5zYXZlKCk7CiAgCiAgcmV0dXJuICRvYjsKfTsKCiRkb19mb3JtX3NjYW4gPSBmdW5jdGlvbihcU21hcnRGb3JtcyAkbW9kLCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtKQp7CiAgJHNjYW5uZXIgPSBuZXcgXFNtYXJ0Rm9ybXNcVGVtcGxhdGVGb3JtU2Nhbm5lcigKICAgICRtb2QsICRmb3JtLCAkdGhpcy0+Z2V0X3RyYW5zbGF0b3IoKQogICk7IC8vIGNhbiB0aHJvdyBleGNlcHRpb24gZm9yIG11bHRpcGxlIGZvcm1zIGV0Yy4KICAkdGVzdGVyICA9IG5ldyBcU21hcnRGb3Jtc1xUZW1wbGF0ZUZvcm1UZXN0ZXIoJHNjYW5uZXIsICR0aGlzLT5nZXRfZm9ybXRlc3RzKCkpOwogIAogIHJldHVybiBuZXcgXFNtYXJ0Rm9ybXNcU2Nhbm5lZFRlbXBsYXRlKCRzY2FubmVyLCAkdGVzdGVyKTsKfTsKCi8vIGNyZWF0ZSBhIHNhbXBsZSBjb250YWN0IGZvcm0uCiRjb250ZW50cyAgICAgICAgICAgICAgPSBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fIC4gJy90ZW1wbGF0ZXMvb3JpZ19jb250YWN0X2Zvcm0udHBsJyk7CiR0cGwgICAgICAgICAgICAgICAgICAgPSAkY3JlYXRlX3RlbXBsYXRlX29mX3R5cGUoJHRwbF90eXBlLCAnQ29udGFjdCBGb3JtJywgJGNvbnRlbnRzKTsKJGRhdGEgICAgICAgICAgICAgICAgICA9IFtdOwokZGF0YVsnbmFtZSddICAgICAgICAgID0gJ1NhbXBsZSBjb250YWN0IGZvcm0nOwokZGF0YVsnZGVzY3JpcHRpb24nXSAgID0gJ1NhbXBsZSBjb250YWN0IGZvcm0nOwokZGF0YVsndGVtcGxhdGVfaWQnXSAgID0gJHRwbC0+Z2V0X2lkKCk7CiRkYXRhWydmaW5hbG1zZyddICAgICAgPSAnWW91ciBpbnB1dCBpcyB2YWx1YWJsZSB0byB1cy4gIFdlIHdpbGwgZ2V0IGJhY2sgdG8geW91IHNvb24nOwokZGF0YVsnc210Zm1fdmVyc2lvbiddID0gJHRoaXMtPkdldFZlcnNpb24oKTsKJGZvcm0gICAgICAgICAgICAgICAgICA9IG5ldyBcU21hcnRGb3Jtc1xGb3JtKCRkYXRhKTsKJHJlcyAgICAgICAgICAgICAgICAgICA9ICRkb19mb3JtX3NjYW4oJHRoaXMsICRmb3JtKTsKCiRmb3JtLT5hZGp1c3RXaXRoKAogIFsnZmllbGRzJyA9PiAkcmVzLT5nZXRfZmllbGRzKCksICdmaWVsZF9tZXNzYWdlcycgPT4gJHJlcy0+Z2V0X21lc3NhZ2VzKCksICdoYXNfY2FwdGNoYScgPT4gJHJlcy0+aGFzX2NhcHRjaGEoKV0KKTsKCiR2YWxpZGF0aW9uID0gbmV3IFxTbWFydEZvcm1zXEZpZWxkVmFsaWRhdG9yc1xIdG1sRGV0ZWN0aW9uVmFsaWRhdGlvbigpOwokZm9ybS0+c2V0VmFsaWRhdGlvbigkdmFsaWRhdGlvbik7CiR2YWxpZGF0aW9uID0gbmV3IFxTbWFydEZvcm1zXEZpZWxkVmFsaWRhdG9yc1xFbWFpbEZpZWxkVmFsaWRhdGlvbigpOwokdmFsaWRhdGlvbi0+c2V0X2ZpZWxkTmFtZSgnZW1haWwnKTsKJGZvcm0tPnNldFZhbGlkYXRpb24oJHZhbGlkYXRpb24pOwokZWRpdG9yID0gbmV3IFxTbWFydEZvcm1zXERpc3Bvc2l0aW9uc1xVbmlxdWVGaWxlRGlzcG9zaXRpb25FZGl0b3IoJHRoaXMpOwokZWRpdG9yLT5yZXNldF90ZW1wbGF0ZXMoJGZvcm0pOwokZm9ybS0+c2V0RGlzcG9zaXRpb24oJGVkaXRvci0+Z2V0X2Rpc3Bvc2l0aW9uKCkpOwokdGhpcy0+Zm9ybXN0b3JhZ2UtPlNhdmUoJGZvcm0pOwoKLy8gY3JlYXRlIGEgc2FtcGxlIGFkdmFuY2VkIGNvbnRhY3QgZm9ybQokY29udGVudHMgICAgICAgICAgICAgID0gZmlsZV9nZXRfY29udGVudHMoX19ESVJfXyAuICcvdGVtcGxhdGVzL29yaWdfYWR2YW5jZWRfY29udGFjdF9mb3JtLnRwbCcpOwokdHBsICAgICAgICAgICAgICAgICAgID0gJGNyZWF0ZV90ZW1wbGF0ZV9vZl90eXBlKCR0cGxfdHlwZSwgJ01vcmUgYWR2YW5jZWQgY29udGFjdCBmb3JtJywgJGNvbnRlbnRzKTsKJGRhdGEgICAgICAgICAgICAgICAgICA9IFtdOwokZGF0YVsnbmFtZSddICAgICAgICAgID0gJ01vcmUgYWR2YW5jZWQgY29udGFjdCBmb3JtJzsKJGRhdGFbJ2Rlc2NyaXB0aW9uJ10gICA9ICdNb3JlIGFkdmFuY2VkIGNvbnRhY3QgZm9ybS4gIFRoaXMgZm9ybSBkZW1vbnN0cmF0ZXMgcmVxdWlyZWQgZmllbGRzLCBIVE1MNSBpbnB1dCB0eXBlcywgYW5kIGRhdGEgYXR0cmlidXRlcy4nOwokZGF0YVsndGVtcGxhdGVfaWQnXSAgID0gJHRwbC0+Z2V0X2lkKCk7CiRkYXRhWydmaW5hbG1zZyddICAgICAgPSAnWW91ciBpbnB1dCBpcyB2YWx1YWJsZSB0byB1cy4gIFdlIHdpbGwgZ2V0IGJhY2sgdG8geW91IHNvb24nOwokZGF0YVsnc210Zm1fdmVyc2lvbiddID0gJHRoaXMtPkdldFZlcnNpb24oKTsKJGZvcm0gICAgICAgICAgICAgICAgICA9IG5ldyBcU21hcnRGb3Jtc1xGb3JtKCRkYXRhKTsKJHJlcyAgICAgICAgICAgICAgICAgICA9ICRkb19mb3JtX3NjYW4oJHRoaXMsICRmb3JtKTsKCiRmb3JtLT5hZGp1c3RXaXRoKAogIFsnZmllbGRzJyA9PiAkcmVzLT5nZXRfZmllbGRzKCksICdmaWVsZF9tZXNzYWdlcycgPT4gJHJlcy0+Z2V0X21lc3NhZ2VzKCksICdoYXNfY2FwdGNoYScgPT4gJHJlcy0+aGFzX2NhcHRjaGEoKV0KKTsKCi8vIG5vdyBhdXRvbWF0aWNhbGx5IGFkZCB2YWxpZGF0aW9ucwokc2Nhbm5lciAgICAgPSBuZXcgXFNtYXJ0Rm9ybXNcVmFsaWRhdGlvblNjYW5uZXIoJHRoaXMsICRmb3JtLCAkcmVzLT5nZXRfZmllbGRzKCkpOwokdmFsaWRhdGlvbnMgPSAkc2Nhbm5lci0+Z2V0X3ZhbGlkYXRpb25zKCk7CgppZiggY291bnQoJHZhbGlkYXRpb25zKSApCnsKICBmb3JlYWNoKCR2YWxpZGF0aW9ucyBhcyAkb2JqKSB7ICRmb3JtLT5zZXRWYWxpZGF0aW9uKCRvYmopOyB9Cn0KCiRlZGl0b3IgPSBuZXcgXFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zXFVuaXF1ZUZpbGVEaXNwb3NpdGlvbkVkaXRvcigkdGhpcyk7CiRlZGl0b3ItPnJlc2V0X3RlbXBsYXRlcygkZm9ybSk7CiRmb3JtLT5zZXREaXNwb3NpdGlvbigkZWRpdG9yLT5nZXRfZGlzcG9zaXRpb24oKSk7CiRlZGl0b3IgPSBuZXcgXFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zXEVtYWlsRml4ZWRBZGRyZXNzZXNEaXNwb3NpdGlvbkVkaXRvcigkdGhpcyk7CiRlZGl0b3ItPnNldF9hZGRyZXNzZXMoJ3lvdXJfZW1haWxfYWRkcmVzc19oZXJlQGxvY2FsaG9zdC5sb2NhbGRvbWFpbicpOwokZWRpdG9yLT5yZXNldF90ZW1wbGF0ZXMoJGZvcm0pOwokZm9ybS0+c2V0RGlzcG9zaXRpb24oJGVkaXRvci0+Z2V0X2Rpc3Bvc2l0aW9uKCkpOwokdGhpcy0+Zm9ybXN0b3JhZ2UtPlNhdmUoJGZvcm0pOwoKLy8gY3JlYXRlIHNhbXBsZSB0cml2aWFsIHdpZGdldCBidWlsZGVyLgokY29udGVudHMgICAgICAgICAgICAgID0gZmlsZV9nZXRfY29udGVudHMoX19ESVJfXyAuICcvdGVtcGxhdGVzL29yaWdfdHJpdmlhbF93aWRnZXRfYnVpbGRlci50cGwnKTsKJHRwbCAgICAgICAgICAgICAgICAgICA9ICRjcmVhdGVfdGVtcGxhdGVfb2ZfdHlwZSgkdHBsX3R5cGUsICdUcml2aWFsIFdpZGdldCBCdWlsZGVyJywgJGNvbnRlbnRzKTsKJGRhdGEgICAgICAgICAgICAgICAgICA9IFtdOwokZGF0YVsnbmFtZSddICAgICAgICAgID0gJ1RyaXZpYWwgV2lkZ2V0IEJ1aWxkZXInOwokZGF0YVsnZGVzY3JpcHRpb24nXSAgID0gJ0EgdHJpdmlhbCB3aWRnZXQgYnVpbGRlci4gIFRoaXMgZm9ybSBkZW1vbnN0cmF0ZXMgdXNpbmcganF1ZXJ5IHRvIHBlcmZvcm0gY2FsY3VsYXRpb25zLCBhbmQgdGhlIGRhdGEtc210Zm0tc2VsZWN0ZWQgYXR0cmlidXRlLic7CiRkYXRhWyd0ZW1wbGF0ZV9pZCddICAgPSAkdHBsLT5nZXRfaWQoKTsKJGRhdGFbJ2ZpbmFsbXNnJ10gICAgICA9ICc8cD5UaGFuayB5b3UgZm9yIHlvdXIgc3VibWlzc2lvbjwvcD4nOwokZGF0YVsnc210Zm1fdmVyc2lvbiddID0gJHRoaXMtPkdldFZlcnNpb24oKTsKJGZvcm0gICAgICAgICAgICAgICAgICA9IG5ldyBcU21hcnRGb3Jtc1xGb3JtKCRkYXRhKTsKJHJlcyAgICAgICAgICAgICAgICAgICA9ICRkb19mb3JtX3NjYW4oJHRoaXMsICRmb3JtKTsKCiRmb3JtLT5hZGp1c3RXaXRoKAogIFsnZmllbGRzJyA9PiAkcmVzLT5nZXRfZmllbGRzKCksICdmaWVsZF9tZXNzYWdlcycgPT4gJHJlcy0+Z2V0X21lc3NhZ2VzKCksICdoYXNfY2FwdGNoYScgPT4gJHJlcy0+aGFzX2NhcHRjaGEoKV0KKTsKCi8vIG5vdyAgbWFudWFsbHkgYWRkIGEgdmFsaWRhdGlvbgokZWRpdG9yID0gbmV3IFxTbWFydEZvcm1zXEZpZWxkVmFsaWRhdG9yc1xUZW1wbGF0ZVZhbGlkYXRpb25FZGl0b3IoJHRoaXMpOwokZWRpdG9yLT5zZXRfdGVtcGxhdGUoCiAgIntpZiBcJHJlc3BvbnNlLT53aWRnZXRfc2l6ZSA9PSAnbWVkaXVtJyAmJiBcJHJlc3BvbnNlLT53aWRnZXRfY29sb3IgPT0gJ3JlZCd9U29ycnksIHdlIGRvIG5vdCBoYXZlIHRoYXQgaW4gc3RvY2t7L2lmfSIKKTsKJGZvcm0tPnNldFZhbGlkYXRpb24oJGVkaXRvci0+Z2V0X3ZhbGlkYXRpb24oKSk7CiR0aGlzLT5mb3Jtc3RvcmFnZS0+U2F2ZSgkZm9ybSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokdGFib3B0YXJyYXkgPSBhcnJheSggJ215c3FsaScgPT4gJ0VOR0lORT1Jbm5vREInICk7Cgokc3FsYXJyID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggXFNtYXJ0Rm9ybXNcRm9ybURBTzo6dGFibGVfbmFtZSgpICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycik7CgokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbihTbWFydEZvcm1zOjpNQU5BR0VfUEVSTSk7CgovLyB0ZW1wbGF0ZSBzdHVmZgp0cnkgewogICAgJHR5cGVzID0gXENtc0xheW91dFRlbXBsYXRlVHlwZTo6bG9hZF9hbGxfYnlfb3JpZ2luYXRvcigkdGhpcy0+R2V0TmFtZSgpKTsKICAgIGlmKCBpc19hcnJheSgkdHlwZXMpICYmIGNvdW50KCR0eXBlcykgKSB7CiAgICAgICAgZm9yZWFjaCggJHR5cGVzIGFzICR0eXBlICkgewogICAgICAgICAgICAkdGVtcGxhdGVzID0gJHR5cGUtPmdldF90ZW1wbGF0ZV9saXN0KCk7CiAgICAgICAgICAgIGlmKCBpc19hcnJheSgkdGVtcGxhdGVzKSAmJiBjb3VudCgkdGVtcGxhdGVzKSApIHsKICAgICAgICAgICAgICAgIGZvcmVhY2goICR0ZW1wbGF0ZXMgYXMgJHRlbXBsYXRlICkgewogICAgICAgICAgICAgICAgICAgICR0ZW1wbGF0ZS0+ZGVsZXRlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHR5cGUtPmRlbGV0ZSgpOwogICAgICAgIH0KICAgIH0KfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgIFx4dF91dGlsczo6bG9nX2V4Y2VwdGlvbiggJGUgKTsKICAgIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ1VuaW5zdGFsbCBlcnJvcjogJy4kZS0+R2V0TWVzc2FnZSgpKTsKfQo=]]></data>
	</file>
	<file>
	  <filename>/SmartForms.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKdXNlIFNtYXJ0Rm9ybXNcRm9ybTsKdXNlIFNtYXJ0Rm9ybXNcVGVtcGxhdGVGb3JtU2Nhbm5lcjsKdXNlIFNtYXJ0Rm9ybXNcVGVtcGxhdGVGb3JtVGVzdGVyOwp1c2UgU21hcnRGb3Jtc1xTY2FubmVkVGVtcGxhdGU7CnVzZSBTbWFydEZvcm1zXERpc3Bvc2l0aW9uc1xEaXNwb3NpdGlvbjsKdXNlIFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zXERpc3Bvc2l0aW9uRWRpdG9yOwp1c2UgU21hcnRGb3Jtc1xGaWVsZFZhbGlkYXRvcnNcVmFsaWRhdGlvbjsKdXNlIFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzXFZhbGlkYXRpb25FZGl0b3I7CgpjbGFzcyBTbWFydEZvcm1zIGV4dGVuZHMgXENNU01TRXh0XFhUTW9kdWxlCnsKICBjb25zdCBNQU5BR0VfUEVSTSA9ICdTbWFydEZvcm1zOjpNQU5BR0VfUEVSTSc7CiAgcHJpdmF0ZSAgICRfZWFybHlfZm9ybXRlc3RzICAgID0gW107CiAgcHJpdmF0ZSAgICRfZm9ybXRlc3RzICAgICAgICAgID0gW107CiAgcHJpdmF0ZSAgICRfdmFsaWRhdGlvbl9lZGl0b3JzID0gW107CiAgcHJpdmF0ZSAgICRfZGlzcF9lZGl0b3JzICAgICAgID0gW107CiAgcHJpdmF0ZSAgICRfY2FwdGNoYV9wcm92aWRlcjsKICBwcm90ZWN0ZWQgJF9yZXF1ZXN0X2Vycm9yczsKICBwcm90ZWN0ZWQgJGZvcm1zdG9yYWdlOwogIHByb3RlY3RlZCAkdHJhbnNsYXRvcjsKICBwcm90ZWN0ZWQgJF9pbl9wcmVyZW5kZXI7CiAgcHJvdGVjdGVkICRfcHJlcmVuZGVyX3ZhcnM7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CgogICAgICAgICRzbWFydHkgPSBcQ21zQXBwOjpnZXRfaW5zdGFuY2UoKS0+R2V0U21hcnR5KCk7CiAgICAgICAgCiAgICAgICAgaWYoISRzbWFydHkpIHsgcmV0dXJuOyB9CgogICAgICAgIHN0YXRpYyAkX2RvbmU7CiAgICAgICAgCiAgICAgICAgaWYoJF9kb25lKSB7IHJldHVybjsgfQogICAgICAgIAogICAgICAgICRfZG9uZSA9IHRydWU7CgogICAgICAgICR0aGlzLT5mb3Jtc3RvcmFnZSA9IG5ldyBcU21hcnRGb3Jtc1xGb3JtREFPKCAkdGhpcywgJHRoaXMtPmdldF9leHRlbmRlZF9kYigpICk7CiAgICAgICAgJHRoaXMtPnRyYW5zbGF0b3IgPSBuZXcgXFNtYXJ0Rm9ybXNcVHJhbnNsYXRvciggJHRoaXMgKTsKICAgICAgICAkdGhpcy0+cmVnaXN0ZXJfYnVpbHRpbl9mb3JtX3Rlc3RzKCk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX2J1aWx0aW5fZGlzcF9lZGl0b3JzKCk7CiAgICAgICAgXFNtYXJ0Rm9ybXNcdXRpbHM6OnNldF90cmFuc2xhdG9yKCAkdGhpcy0+dHJhbnNsYXRvciApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7IHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXREZXNjcmlwdGlvbigpIHsgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsgcmV0dXJuICcyLjEuMCc7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIFRSVUU7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbigpIHsgcmV0dXJuIFRSVUU7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7IHJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKHNlbGY6Ok1BTkFHRV9QRVJNKTsgfQogICAgcHVibGljIGZ1bmN0aW9uIE1pbmltdW1DbXNWZXJzaW9uKCkgeyByZXR1cm4gJzIuMi4xNic7IH0KICAgIHB1YmxpYyBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7IHJldHVybiBbICdDTVNNU0V4dCcgPT4gJzEuNC4zJyBdOyB9CiAgICBwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yKCl7IHJldHVybiAnTW9ydGVuIFBvdWxzZW4gKFNpbG1hcmlsbGlvbikgZm9ya2VkIGZyb20gQ0dCZXR0ZXJGb3JtcyBieSBSb2JlcnQgQ2FtYmVsbCc7IH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gSW5pdGlhbGl6ZUFkbWluKCkKICAgIHsKICAgICAgICAvLyB0aGlzIGlzIGFsc28gY2FsbGVkIG1hbnVhbGx5IGZyb20gdGhlIGluc3RhbGwgcm91dGluZSAoYW5kIHBlcmhhcHMgdGhlIHVwZ3JhZGUgcm91dGluZSkKICAgICAgICAvLyBidXQgbWF5IGJlIGNhbGxlZCBkdXJpbmcgbm9ybWFsIHJlcXVlc3RzLi4uIHNvIHdlIGRvdWJsZS1jaGVjayB0aGF0IGl0IGRvZXMgbm90IGdldCBjYWxsZWQgdHdpY2UuCiAgICAgICAgc3RhdGljICRfZG9uZSA9IG51bGw7CiAgICAgICAgaWYoICRfZG9uZSApIHJldHVybjsKICAgICAgICAkX2RvbmUgPSAxOwoKICAgICAgICBwYXJlbnQ6OkluaXRpYWxpemVBZG1pbigpOwogICAgICAgICR0aGlzLT5yZWdpc3Rlcl9idWlsdGluX3ZhbGlkYXRpb25fZWRpdG9ycygpOwoKICAgICAgICAkc21hcnR5ID0gQ21zQXBwOjpnZXRfaW5zdGFuY2UoKS0+R2V0U21hcnR5KCk7CiAgICAgICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3NtdGZtX2Zvcm1fZXJyb3JzJywgWyAkdGhpcywgJ3NtYXJ0eV9zbXRmbV9nZXRfZXJyb3JzJ10sIGZhbHNlICk7CiAgICAgICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZm9ybScsbnVsbCwkdGhpcy0+TGFuZygncGFyYW1fZm9ybScpKTsKICAgICAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdub2RhdGVjaGVjaycsMCwkdGhpcy0+TGFuZygncGFyYW1fbm9kYXRlY2hlY2snKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpCiAgICB7CiAgICAgICAgcGFyZW50OjpJbml0aWFsaXplRnJvbnRlbmQoKTsKICAgICAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZm9ybScsQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9kYXRlY2hlY2snLENMRUFOX0lOVCk7CiAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQLicvc210Zm1fLiovJyxDTEVBTl9TVFJJTkcpOwoKICAgICAgICAkc21hcnR5ID0gQ21zQXBwOjpnZXRfaW5zdGFuY2UoKS0+R2V0U21hcnR5KCk7CiAgICAgICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3NtdGZtX2Zvcm1fZXJyb3JzJywgWyAkdGhpcywgJ3NtYXJ0eV9zbXRmbV9nZXRfZXJyb3JzJ10sIGZhbHNlICk7CiAgICAgICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3NtdGZtX3NldCcsIFsgJHRoaXMsICdzbWFydHlfc210Zm1fc2V0J10sIGZhbHNlICk7CiAgICAgICAgaWYoICFkZWZpbmVkKCdTTVRGTV9HVUlEX1RPS0VOJykgKSBkZWZpbmUoJ1NNVEZNX0dVSURfVE9LRU4nLG1kNShfX0ZJTEVfXykpOwoKICAgICAgICBcQ01TTVNcSG9va21hbmFnZXI6OmFkZF9ob29rKCAnU21hcnRGb3Jtczo6Y2xlYW51cCcsIGZ1bmN0aW9uKCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJHJlc3AgKXsKICAgICAgICAgICAgICAgICRndWlkID0gJHJlc3AtPmd1aWQ7CiAgICAgICAgICAgICAgICAkdG1wX2RpciA9IFRNUF9DQUNIRV9MT0NBVElPTi4nLycuJGd1aWQ7CiAgICAgICAgICAgICAgICBpZiggaXNfZGlyKCAkdG1wX2RpciApICkgcmVjdXJzaXZlX2RlbGV0ZSggJHRtcF9kaXIgKTsKICAgICAgICAgICAgfSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF90cmFuc2xhdG9yKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnRyYW5zbGF0b3I7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGxvYWRfZm9ybSggJG5hbWVfb3JfaWQgKQogICAgewogICAgICAgIC8vIGFjY2VwdHMgaW50IG9yIHN0cmluZwogICAgICAgIGlmKCBpc19pbnQoICRuYW1lX29yX2lkICkgKSByZXR1cm4gJHRoaXMtPmZvcm1zdG9yYWdlLT5sb2FkX2J5X2lkKCAkbmFtZV9vcl9pZCApOwogICAgICAgIHJldHVybiAkdGhpcy0+Zm9ybXN0b3JhZ2UtPmxvYWQoICRuYW1lX29yX2lkICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlZ2lzdGVyX2Zvcm10ZXN0KCBcU21hcnRGb3Jtc1xGb3JtVmFsaWRhdG9yXEZvcm1UZXN0ZXJUZXN0ICR0ZXN0ICkKICAgIHsKICAgICAgICAkdGhpcy0+X2Zvcm10ZXN0c1tdID0gJHRlc3Q7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlZ2lzdGVyX2Vhcmx5X2Zvcm10ZXN0KCBcU21hcnRGb3Jtc1xGb3JtVmFsaWRhdG9yXEZvcm1UZXN0ZXJUZXN0ICR0ZXN0ICkKICAgIHsKICAgICAgICAkdGhpcy0+X2Vhcmx5X2Zvcm10ZXN0c1tdID0gJHRlc3Q7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9mb3JtdGVzdHMoKQogICAgewogICAgICAgIHJldHVybiBhcnJheV9tZXJnZSggJHRoaXMtPl9lYXJseV9mb3JtdGVzdHMsICR0aGlzLT5fZm9ybXRlc3RzICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlZ2lzdGVyX3ZhbGlkYXRpb25fZWRpdG9yKCBWYWxpZGF0aW9uRWRpdG9yICRvYmogKQogICAgewogICAgICAgIGlmKCBjbXNtcygpLT5pc19mcm9udGVuZF9yZXF1ZXN0KCkgKSB7CiAgICAgICAgICAgIHRyaWdnZXJfZXJyb3IoJ0Nhbm5vdCBjYWxsICcuX19NRVRIT0RfXy4nIGZyb20gYSBmcm9udGVuZCByZXF1ZXN0Jyk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgLy90aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCd0aGlzIG1ldGhvZCBtdXN0IG9ubHkgYmUgY2FsbGVkIGZyb20gYWRtaW4gcmVxdWVzdHMuLi4gc2VlIEluaXRpYWxpemVBZG1pbigpJyk7CiAgICAgICAgfQogICAgICAgICRjbGFzcyA9IGdldF9jbGFzcygkb2JqKTsKICAgICAgICBpZiggaXNzZXQoJHRoaXMtPl92YWxpZGF0aW9uX2VkaXRvcnNbJGNsYXNzXSkgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdFYWNoIHZhbGlkYXRpb24gZWRpdG9yIGNsYXNzIGNhbiBvbmx5IGJlIHJlZ2lzdGVyZWQgb25jZScpOwogICAgICAgICR0aGlzLT5fdmFsaWRhdGlvbl9lZGl0b3JzWyRjbGFzc10gPSAkb2JqOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdmFsaWRhdGlvbl9lZGl0b3IoICRjbGFzc25hbWUgKQogICAgewogICAgICAgIGlmKCBpc3NldCgkdGhpcy0+X3ZhbGlkYXRpb25fZWRpdG9yc1skY2xhc3NuYW1lXSkgKSByZXR1cm4gJHRoaXMtPl92YWxpZGF0aW9uX2VkaXRvcnNbJGNsYXNzbmFtZV07CiAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgYSBmaWVsZCB2YWxpZGF0aW9uIGVkaXRvciBvZiB0eXBlICcuJGNsYXNzbmFtZSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF92YWxpZGF0aW9uX2VkaXRvcnMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkYXRpb25fZWRpdG9yczsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVnaXN0ZXJfZGlzcG9zaXRpb25fZWRpdG9yKCBEaXNwb3NpdGlvbkVkaXRvciAkb2JqICkKICAgIHsKICAgICAgICAkY2xhc3MgPSBnZXRfY2xhc3MoJG9iaik7CiAgICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGlzcF9lZGl0b3JzWyRjbGFzc10pKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdFYWNoIGRpc3Bvc2l0aW9uIGVkaXRvciBjbGFzcyBjYW4gb25seSBiZSByZWdpc3RlcmVkIG9uY2UnKTsKICAgICAgICAkdGhpcy0+X2Rpc3BfZWRpdG9yc1skY2xhc3NdID0gJG9iajsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2Rpc3Bvc2l0aW9uX2VkaXRvcnMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+X2Rpc3BfZWRpdG9yczsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2Rpc3Bvc2l0aW9uX2VkaXRvciggJGNsYXNzbmFtZSApCiAgICB7CiAgICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGlzcF9lZGl0b3JzWyRjbGFzc25hbWVdKSApIHJldHVybiAkdGhpcy0+X2Rpc3BfZWRpdG9yc1skY2xhc3NuYW1lXTsKICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdDb3VsZCBub3QgZmluZCBhIGRpc3Bvc2l0aW9uIGVkaXRvciBvZiB0eXBlICcuJGNsYXNzbmFtZSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlZ2lzdGVyX2J1aWx0aW5fZm9ybV90ZXN0cygpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX2Vhcmx5X2Zvcm10ZXN0KCBuZXcgXFNtYXJ0Rm9ybXNcRm9ybVZhbGlkYXRvclxUZW1wbGF0ZVZhbGlkYXRvciggJHRoaXMtPnRyYW5zbGF0b3IgKSApOwogICAgICAgICR0aGlzLT5yZWdpc3Rlcl9lYXJseV9mb3JtdGVzdCggbmV3IFxTbWFydEZvcm1zXEZvcm1WYWxpZGF0b3JcRm9ybVRhZ1ZhbGlkYXRvciggJHRoaXMtPnRyYW5zbGF0b3IgKSApOwogICAgICAgICR0aGlzLT5yZWdpc3Rlcl9lYXJseV9mb3JtdGVzdCggbmV3IFxTbWFydEZvcm1zXEZvcm1WYWxpZGF0b3JcRm9ybU1pc3NpbmdOYW1lVmFsaWRhdG9yKCAkdGhpcy0+dHJhbnNsYXRvciApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX2Vhcmx5X2Zvcm10ZXN0KCBuZXcgXFNtYXJ0Rm9ybXNcRm9ybVZhbGlkYXRvclxGb3JtTWlzc2luZ0xhYmVsVmFsaWRhdG9yKCAkdGhpcy0+dHJhbnNsYXRvciApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX2Vhcmx5X2Zvcm10ZXN0KCBuZXcgXFNtYXJ0Rm9ybXNcRm9ybVZhbGlkYXRvclxGb3JtTWlzc2luZ1ZhbHVlVmFsaWRhdG9yKCAkdGhpcy0+dHJhbnNsYXRvciApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX2Vhcmx5X2Zvcm10ZXN0KCBuZXcgXFNtYXJ0Rm9ybXNcRm9ybVZhbGlkYXRvclxGb3JtRHVwbGljYXRlSWRWYWxpZGF0b3IoICR0aGlzLT50cmFuc2xhdG9yICkgKTsKICAgICAgICAkdGhpcy0+cmVnaXN0ZXJfZWFybHlfZm9ybXRlc3QoIG5ldyBcU21hcnRGb3Jtc1xGb3JtVmFsaWRhdG9yXEZvcm1EdXBsaWNhdGVOYW1lVmFsaWRhdG9yKCAkdGhpcy0+dHJhbnNsYXRvciApICk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlZ2lzdGVyX2J1aWx0aW5fdmFsaWRhdGlvbl9lZGl0b3JzKCkKICAgIHsKICAgICAgICAvLyBjb21wdXRlZCBmaWVsZCAob3V0cHV0cyBhIHN0cmluZykKICAgICAgICAkdGhpcy0+cmVnaXN0ZXJfdmFsaWRhdGlvbl9lZGl0b3IoIG5ldyBcU21hcnRGb3Jtc1xGaWVsZFZhbGlkYXRvcnNcSHRtbERldGVjdGlvblZhbGlkYXRpb25FZGl0b3IoICR0aGlzICkgKTsKICAgICAgICAkdGhpcy0+cmVnaXN0ZXJfdmFsaWRhdGlvbl9lZGl0b3IoIG5ldyBcU21hcnRGb3Jtc1xGaWVsZFZhbGlkYXRvcnNcUmVxdWlyZWRGaWVsZFZhbGlkYXRpb25FZGl0b3IoICR0aGlzICkgKTsKICAgICAgICAkdGhpcy0+cmVnaXN0ZXJfdmFsaWRhdGlvbl9lZGl0b3IoIG5ldyBcU21hcnRGb3Jtc1xGaWVsZFZhbGlkYXRvcnNcU2VsZWN0RmllbGRWYWxpZGF0aW9uRWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX3ZhbGlkYXRpb25fZWRpdG9yKCBuZXcgXFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzXEZpbGVWYWxpZGF0aW9uRWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX3ZhbGlkYXRpb25fZWRpdG9yKCBuZXcgXFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzXEludGVnZXJGaWVsZFZhbGlkYXRpb25FZGl0b3IoICR0aGlzICkgKTsKICAgICAgICAkdGhpcy0+cmVnaXN0ZXJfdmFsaWRhdGlvbl9lZGl0b3IoIG5ldyBcU21hcnRGb3Jtc1xGaWVsZFZhbGlkYXRvcnNcRmxvYXRGaWVsZFZhbGlkYXRpb25FZGl0b3IoICR0aGlzICkgKTsKICAgICAgICAkdGhpcy0+cmVnaXN0ZXJfdmFsaWRhdGlvbl9lZGl0b3IoIG5ldyBcU21hcnRGb3Jtc1xGaWVsZFZhbGlkYXRvcnNcRW1haWxQcmltaXRpdmVWYWxpZGF0aW9uRWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX3ZhbGlkYXRpb25fZWRpdG9yKCBuZXcgXFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzXERhdGVQcmltaXRpdmVWYWxpZGF0aW9uRWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX3ZhbGlkYXRpb25fZWRpdG9yKCBuZXcgXFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzXFJlZ2V4RmllbGRWYWxpZGF0aW9uRWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX3ZhbGlkYXRpb25fZWRpdG9yKCBuZXcgXFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzXEVtYWlsRmllbGRWYWxpZGF0aW9uRWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX3ZhbGlkYXRpb25fZWRpdG9yKCBuZXcgXFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzXENhcHRjaGFGaWVsZFZhbGlkYXRvclByb3h5RWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX3ZhbGlkYXRpb25fZWRpdG9yKCBuZXcgXFNtYXJ0Rm9ybXNcRmllbGRWYWxpZGF0b3JzXFRlbXBsYXRlVmFsaWRhdGlvbkVkaXRvciggJHRoaXMgKSApOwogICAgICAgICR0aGlzLT5yZWdpc3Rlcl92YWxpZGF0aW9uX2VkaXRvciggbmV3IFxTbWFydEZvcm1zXEZpZWxkVmFsaWRhdG9yc1xDb21wdXRlZFZhbHVlRWRpdG9yKCAkdGhpcyApICk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHJlZ2lzdGVyX2J1aWx0aW5fZGlzcF9lZGl0b3JzKCkKICAgIHsKICAgICAgICAvLyBhZGQgZGlzcG9zZSB0byBzZXNzaW9uCiAgICAgICAgLy8gYWRkIHJlZGlyZWN0IGJhc2VkIG9uIGRyb3Bkb3duCiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2VkaXRvciggbmV3IFxTbWFydEZvcm1zXERpc3Bvc2l0aW9uc1xEcm9wZG93bkZpbGVEaXNwb3NpdGlvbkVkaXRvciggJHRoaXMgKSApOwogICAgICAgICR0aGlzLT5yZWdpc3Rlcl9kaXNwb3NpdGlvbl9lZGl0b3IoIG5ldyBcU21hcnRGb3Jtc1xEaXNwb3NpdGlvbnNcVW5pcXVlRmlsZURpc3Bvc2l0aW9uRWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2VkaXRvciggbmV3IFxTbWFydEZvcm1zXERpc3Bvc2l0aW9uc1xEcm9wZG93bkVtYWlsRGlzcG9zaXRpb25FZGl0b3IoICR0aGlzICkgKTsKICAgICAgICAkdGhpcy0+cmVnaXN0ZXJfZGlzcG9zaXRpb25fZWRpdG9yKCBuZXcgXFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zXEZsYXRGaWxlRGlzcG9zaXRpb25FZGl0b3IoICR0aGlzICkgKTsKICAgICAgICAkdGhpcy0+cmVnaXN0ZXJfZGlzcG9zaXRpb25fZWRpdG9yKCBuZXcgXFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zXEVtYWlsRml4ZWRBZGRyZXNzZXNEaXNwb3NpdGlvbkVkaXRvciggJHRoaXMgKSApOwogICAgICAgICR0aGlzLT5yZWdpc3Rlcl9kaXNwb3NpdGlvbl9lZGl0b3IoIG5ldyBcU21hcnRGb3Jtc1xEaXNwb3NpdGlvbnNcRW1haWxBZG1pbldpdGhSZXBseVRvRWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2VkaXRvciggbmV3IFxTbWFydEZvcm1zXERpc3Bvc2l0aW9uc1xFbWFpbEFkbWluR3JvdXBEaXNwb3NpdGlvbkVkaXRvciggJHRoaXMgKSApOwogICAgICAgICR0aGlzLT5yZWdpc3Rlcl9kaXNwb3NpdGlvbl9lZGl0b3IoIG5ldyBcU21hcnRGb3Jtc1xEaXNwb3NpdGlvbnNcRW1haWxBZG1pbkdyb3VwV2l0aFJlcGx5VG9EaXNwb3NpdGlvbkVkaXRvciggJHRoaXMgKSApOwogICAgICAgICR0aGlzLT5yZWdpc3Rlcl9kaXNwb3NpdGlvbl9lZGl0b3IoIG5ldyBcU21hcnRGb3Jtc1xEaXNwb3NpdGlvbnNcRW1haWxVc2VyQWRkcmVzc0Rpc3Bvc2l0aW9uRWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2VkaXRvciggbmV3IFxTbWFydEZvcm1zXERpc3Bvc2l0aW9uc1xSZWRpcmVjdFVSTERpc3Bvc2l0aW9uRWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2VkaXRvciggbmV3IFxTbWFydEZvcm1zXERpc3Bvc2l0aW9uc1xDb21wdXRlZFBhZ2VEaXNwb3NpdGlvbkVkaXRvciggJHRoaXMgKSApOwogICAgICAgICR0aGlzLT5yZWdpc3Rlcl9kaXNwb3NpdGlvbl9lZGl0b3IoIG5ldyBcU21hcnRGb3Jtc1xEaXNwb3NpdGlvbnNcV2ViSG9va0Rpc3Bvc2l0aW9uRWRpdG9yKCAkdGhpcyApICk7CiAgICAgICAgJHRoaXMtPnJlZ2lzdGVyX2Rpc3Bvc2l0aW9uX2VkaXRvciggbmV3IFxTbWFydEZvcm1zXERpc3Bvc2l0aW9uc1xTZXNzaW9uRGlzcG9zaXRpb25FZGl0b3IoICR0aGlzICkgKTsKICAgICAgICAkdGhpcy0+cmVnaXN0ZXJfZGlzcG9zaXRpb25fZWRpdG9yKCBuZXcgXFNtYXJ0Rm9ybXNcRGlzcG9zaXRpb25zXFN0b3BEaXNwb3NpbmdEaXNwb3NpdGlvbkVkaXRvciggJHRoaXMgKSApOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaW5kX2VkaXRvcl9ieV9kaXNwb3NpdGlvbiggRGlzcG9zaXRpb24gJGRpc3AgKQogICAgewogICAgICAgICRjbGFzcyA9IGdldF9jbGFzcygkZGlzcCk7CiAgICAgICAgZm9yZWFjaCggJHRoaXMtPl9kaXNwX2VkaXRvcnMgYXMgJGVkaXRvciApIHsKICAgICAgICAgICAgaWYoICRlZGl0b3ItPmdldF9vdXRwdXRjbGFzcygpID09ICRjbGFzcyApIHJldHVybiAkZWRpdG9yOwogICAgICAgIH0KICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdVbmFibGUgdG8gZmluZCBhbiBlZGl0b3IgZm9yIGRpc3Bvc2l0aW9ucyBvZiB0eXBlICcuJGNsYXNzKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZmluZF9lZGl0b3JfYnlfdmFsaWRhdGlvbiggVmFsaWRhdGlvbiAkb2JqICkKICAgIHsKICAgICAgICAkY2xhc3MgPSBnZXRfY2xhc3MoJG9iaik7CiAgICAgICAgZm9yZWFjaCggJHRoaXMtPl92YWxpZGF0aW9uX2VkaXRvcnMgYXMgJGVkaXRvciApIHsKICAgICAgICAgICAgaWYoICRlZGl0b3ItPmdldF9vdXRwdXRjbGFzcygpID09ICRjbGFzcyApIHJldHVybiAkZWRpdG9yOwogICAgICAgIH0KICAgICAgICB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdVbmFibGUgdG8gZmluZCBhbiBlZGl0b3IgZm9yIGEgdmFsaWRhdGlvbiBvZiB0eXBlICcuJGNsYXNzKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGlvbl9oYXNfZWRpdG9yKCBWYWxpZGF0aW9uICRvYmogKQogICAgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRlZGl0b3IgPSAkdGhpcy0+ZmluZF9lZGl0b3JfYnlfdmFsaWRhdGlvbigkb2JqKTsKICAgICAgICAgICAgcmV0dXJuICRlZGl0b3ItPmhhc19pbnRlcmZhY2UoKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2goIFxMb2dpY0V4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgLy8gZG8gbm90aGluZwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rpc3Bvc2l0aW9uX2Rpc3BsYXlzdHJpbmcoIERpc3Bvc2l0aW9uICRkaXNwICkKICAgIHsKICAgICAgICAkZWRpdG9yID0gJHRoaXMtPmZpbmRfZWRpdG9yX2J5X2Rpc3Bvc2l0aW9uKCAkZGlzcCApOwogICAgICAgICRlZGl0b3ItPnNldF9kaXNwb3NpdGlvbiggJGRpc3AgKTsKICAgICAgICByZXR1cm4gJGVkaXRvci0+Z2V0X2Rpc3BsYXlzdHJpbmcoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3ZhbGlkYXRpb25fZGlzcGxheXN0cmluZyggVmFsaWRhdGlvbiAkb2JqICkKICAgIHsKICAgICAgICAkb3V0ID0gJG9iai0+Z2V0X2Rpc3BsYXlfc3RyaW5nKCAkdGhpcy0+dHJhbnNsYXRvciApOwogICAgICAgIGlmKCAkdGhpcy0+dmFsaWRhdGlvbl9oYXNfZWRpdG9yKCAkb2JqICkgKSB7CiAgICAgICAgICAgICRlZGl0b3IgPSAkdGhpcy0+ZmluZF9lZGl0b3JfYnlfdmFsaWRhdGlvbiggJG9iaiApOwogICAgICAgICAgICAkZWRpdG9yLT5zZXRfdmFsaWRhdGlvbiggJG9iaiApOwogICAgICAgICAgICAkb3V0ID0gJGVkaXRvci0+Z2V0X2Rpc3BsYXlzdHJpbmcoKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9jYXB0Y2hhX3Byb3ZpZGVyKCBJQ2FwdGNoYVByb3ZpZGVyICRwcm92aWRlciApCiAgICB7CiAgICAgICAgJHRoaXMtPl9jYXB0Y2hhX3Byb3ZpZGVyID0gJHByb3ZpZGVyOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfY2FwdGNoYV9wcm92aWRlcigpCiAgICB7CiAgICAgICAgaWYoICR0aGlzLT5fY2FwdGNoYV9wcm92aWRlciApIHJldHVybiAkdGhpcy0+X2NhcHRjaGFfcHJvdmlkZXI7CiAgICAgICAgJG1vZCA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ2FwdGNoYScpOwogICAgICAgIGlmKCAkbW9kICkgewogICAgICAgICAgICByZXR1cm4gbmV3IFxTbWFydEZvcm1zXENhcHRjaGFNb2R1bGVQcm92aWRlciggJG1vZCApOwogICAgICAgIH0KICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2Nhbl9mb3JtKEZvcm0gJGZvcm0pIDogU2Nhbm5lZFRlbXBsYXRlCiAgICB7CiAgICAgICAgc3RhdGljICR0ZXN0ZXIsICRzY2FsbGVyOwogICAgICAgIGlmKCAhaXNfb2JqZWN0KCR0ZXN0ZXIpICkgewogICAgICAgICAgICAvLyBvbmx5IGRvIHRoaXMgb25jZSBwZXIgcmVxdWVzdC4KICAgICAgICAgICAgJHNjYW5uZXIgPSBuZXcgVGVtcGxhdGVGb3JtU2Nhbm5lciggJHRoaXMsICRmb3JtLCAkdGhpcy0+Z2V0X3RyYW5zbGF0b3IoKSApOwogICAgICAgICAgICAkdGVzdGVyID0gbmV3IFRlbXBsYXRlRm9ybVRlc3RlciggJHNjYW5uZXIsICR0aGlzLT5nZXRfZm9ybXRlc3RzKCkgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBTY2FubmVkVGVtcGxhdGUoJHNjYW5uZXIsICR0ZXN0ZXIpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfZm9ybSggJGd1aWQgKQogICAgewogICAgICAgIC8vIHJldHJpZXZlcyBmb3JtIG9iamVjdCBmcm9tIHNlc3Npb24uCiAgICAgICAgJG91dCA9IFxTbWFydEZvcm1zXHV0aWxzOjpyZXRyaWV2ZV9vYmplY3QoICRndWlkICk7CiAgICAgICAgaWYoICEgJG91dCBpbnN0YW5jZW9mIFxTbWFydEZvcm1zXEZvcm0gKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCAnQ291bGQgbm90IHJldHJpZXZlIGZvcm0gb2JqZWN0JyApOwogICAgICAgIHJldHVybiAkb3V0OwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzdG9yZV9mb3JtKCBcU21hcnRGb3Jtc1xGb3JtICRmb3JtLCAkZ3VpZCA9IG51bGwgKQogICAgewogICAgICAgIC8vIHN0b3JlcyBmb3JtIG9iamVjdCB0byBzZXNzaW9uLgogICAgICAgIHJldHVybiBcU21hcnRGb3Jtc1x1dGlsczo6c3RvcmVfb2JqZWN0KCAkZm9ybSwgJGd1aWQgKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZmluaXNoX2VkaXRpbmdfdmFsaWRhdGlvbiggXFNtYXJ0Rm9ybXNcRm9ybSAkZm9ybSwgJGZvcm1fZ3VpZCwgVmFsaWRhdGlvbiAkdmFsaWRhdG9yLCAkdmFsaWRhdG9yX2d1aWQgKQogICAgewogICAgICAgICRmb3JtX2d1aWQgPSAkdGhpcy0+c3RvcmVfZm9ybSggJGZvcm0sICRmb3JtX2d1aWQgKTsKICAgICAgICAkdmFsaWRhdG9yX2d1aWQgPSBcU21hcnRGb3Jtc1x1dGlsczo6c3RvcmVfb2JqZWN0KCAkdmFsaWRhdG9yLCAkdmFsaWRhdG9yX2d1aWQgKTsKICAgICAgICAkdGhpcy0+U2V0Q3VycmVudFRhYigndmFsaWRhdG9ycycpOwogICAgICAgICR0aGlzLT5SZWRpcmVjdCggJ20xXycsICdhZG1pbl9lZGl0X2Zvcm0nLCAnJywgWyAnZm9ybV9ndWlkJz0+JGZvcm1fZ3VpZCwgJ3ZhbGlkYXRvcl9ndWlkJz0+JHZhbGlkYXRvcl9ndWlkIF0gKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZmluaXNoX2VkaXRpbmdfZGlzcG9zaXRpb24oIFxTbWFydEZvcm1zXEZvcm0gJGZvcm0sICRmb3JtX2d1aWQsIERpc3Bvc2l0aW9uICRkaXNwLCAkZGlzcF9ndWlkICkKICAgIHsKICAgICAgICAkZm9ybV9ndWlkID0gJHRoaXMtPnN0b3JlX2Zvcm0oICRmb3JtLCAkZm9ybV9ndWlkICk7CiAgICAgICAgJGRpc3BfZ3VpZCA9IFxTbWFydEZvcm1zXHV0aWxzOjpzdG9yZV9vYmplY3QoICRkaXNwLCAkZGlzcF9ndWlkICk7CiAgICAgICAgJHRoaXMtPlNldEN1cnJlbnRUYWIoICdoYW5kbGVycycgKTsKICAgICAgICAkdGhpcy0+UmVkaXJlY3QoICdtMV8nLCAnYWRtaW5fZWRpdF9mb3JtJywgJycsIFsgJ2Zvcm1fZ3VpZCc9PiRmb3JtX2d1aWQsICdkaXNwX2d1aWQnPT4kZGlzcF9ndWlkIF0gKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNtYXJ0eV9zbXRmbV9zZXQoICRwYXJhbXMsICR0ZW1wbGF0ZSApCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2luX3ByZXJlbmRlciApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignc210Zm1fc2V0IGlzIG9ubHkgdmFsaWQgd2hlbiB1c2VkIGluIHRoZSBwcmVyZW5kZXIgbG9naWMgZmllbGQuJyk7CgogICAgICAgICRrZXkgPSB4dF9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdrJyk7CiAgICAgICAgJGtleSA9IHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2tleScsJGtleSk7CiAgICAgICAgJGtleSA9IHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2ZsZCcsJGtleSk7CiAgICAgICAgJGtleSA9IHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2ZpZWxkJywka2V5KTsKCiAgICAgICAgJHZhbCA9IHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywndicpOwogICAgICAgICR2YWwgPSB4dF91dGlsczo6Z2V0X3BhcmFtKCRwYXJhbXMsJ3ZhbCcsJHZhbCk7CiAgICAgICAgJHZhbCA9IHh0X3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywndmFsdWUnLCR2YWwpOwogICAgICAgICR0aGlzLT5fcHJlcmVuZGVyX3ZhcnNbJGtleV0gPSAkdmFsOwogICAgfQoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc21hcnR5X3NtdGZtX2dldF9lcnJvcnMoICRwYXJhbXMsICR0ZW1wbGF0ZSApCiAgICB7CiAgICAgICAgJGFzc2lnbiA9IHh0X3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2Fzc2lnbicpOwogICAgICAgIGlmKCAhJGFzc2lnbiApIHsKICAgICAgICAgICAgdHJpZ2dlcl9lcnJvcignc210Zm1fZm9ybV9lcnJvcnMgY2FsbGVkIHdpdGhvdXQgYXNzaWduIGF0dHJpYnV0ZScpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgaWYoIHh0X3BhcmFtOjpleGlzdHMoJHBhcmFtcywnZnVsbCcpICkgewogICAgICAgICAgICAkb3V0ID0gJHRoaXMtPl9yZXF1ZXN0X2Vycm9yczsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiggIWVtcHR5KCR0aGlzLT5fcmVxdWVzdF9lcnJvcnMpICkgewogICAgICAgICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdGhpcy0+X3JlcXVlc3RfZXJyb3JzKTsgJGkrKyApIHsKICAgICAgICAgICAgICAgICRvYmogPSAkdGhpcy0+X3JlcXVlc3RfZXJyb3JzWyRpXTsKICAgICAgICAgICAgICAgICRvdXRbXSA9ICRvYmotPm1zZzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRlbXBsYXRlLT5hc3NpZ24oJGFzc2lnbiwkb3V0KTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB0cGxfdHlwZV9sYW5nX2NhbGxiYWNrKCRzdHIpCiAgICB7CiAgICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnU21hcnRGb3JtcycpOwogICAgICAgICRzdHIgPSBzdHJfcmVwbGFjZSgnICcsJ18nLCRzdHIpOwogICAgICAgIGlmKCBpc19vYmplY3QoJG1vZCkgKSByZXR1cm4gJG1vZC0+TGFuZygndHlwZV8nLiRzdHIpOwogICAgfQoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHRwbF90eXBlX2hlbHBfY2FsbGJhY2soKQogICAgewogICAgICAgIHJldHVybiBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvZG9jL3RlbXBsYXRlX2hlbHAuaW5jJyk7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNzCi8qaWYgKCFjbGFzc19leGlzdHMoIkNHQmV0dGVyRm9ybXMiKSkgewogIGNsYXNzIENHQmV0dGVyRm9ybXMgZXh0ZW5kcyBTbWFydEZvcm1zCiAgewoKICB9Cn0qLwo=]]></data>
	</file>
	<file>
	  <filename>/templates</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_edit_computedpage_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCduYW1lX0NvbXB1dGVkUGFnZURpc3Bvc2l0aW9uJyl9PC9oMz4KCntmb3JtX3N0YXJ0IGZvcm1fZ3VpZD0kZm9ybV9ndWlkIGRpc3BfZ3VpZD0kZ3VpZCBlZGl0b3JfbmFtZT0kZWRpdG9yX25hbWV9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9IiBmb3Jtbm92YWxpZGF0ZS8+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfcGFnZV90cGwnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIHt4dF90ZXh0YXJlYSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9dGVtcGxhdGUgdmFsdWU9JGhhbmRsZXItPnRlbXBsYXRlIHJvd3M9NX0KICAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX3BhZ2VfdHBsJyl9CiAgPC9wPgo8L2Rpdj4Ke2Zvcm1fZW5kfQp7JHRwbF9oZWxwfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_computedvalue.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X2NvbXB1dGVkX3ZhbHVlJyl9PC9oMz4KCntmb3JtX3N0YXJ0IGZvcm1fZ3VpZD0kZm9ybV9ndWlkIGd1aWQ9JGd1aWQgZWRpdG9yX25hbWU9JGVkaXRvcl9uYW1lfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgZm9ybW5vdmFsaWRhdGUvPgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgPGxhYmVsIGNsYXNzPSJncmlkXzIiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmllbGQnKX06PC9sYWJlbD4KICA8ZGl2IGNsYXNzPSJncmlkXzkiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWZpZWxkbmFtZSIgY2xhc3M9ImdyaWRfMTIiIHJlcXVpcmVkPgogICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZpZWxkcyBzZWxlY3RlZD0kdmFsaWRhdGlvbi0+ZmllbGROYW1lfQogICAgPC9zZWxlY3Q+CiAgICA8cCBjbGFzcz0iZ3JpZF8xMiI+eyRtb2QtPkxhbmcoJ2luZm9fY29tcHV0ZWRfdmFsdWVfZmllbGQnKX08L3A+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZScpfTo8L2xhYmVsPgogIDxkaXYgY2xhc3M9ImdyaWRfOSI+CiAgICA8dGV4dGFyZWEgY2xhc3M9ImdyaWRfMTIiIHJvd3M9IjUiIG5hbWU9InskYWN0aW9uaWR9dGVtcGxhdGUiPnskdmFsaWRhdGlvbi0+dGVtcGxhdGV9PC90ZXh0YXJlYT4KICA8L2Rpdj4KPC9kaXY+Cntmb3JtX2VuZH0KeyR0cGxfaGVscH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_ddemail_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X2RkZW1haWxfZGlzcG9zaXRpb24nKX08L2gzPgoKe2Zvcm1fc3RhcnQgZm9ybV9ndWlkPSRmb3JtX2d1aWQgZGlzcF9ndWlkPSRndWlkIGVkaXRvcl9uYW1lPSRlZGl0b3JfbmFtZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2V0X3RwbCIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXNldF90cGxzJyl9IiBmb3Jtbm92YWxpZGF0ZS8+CjwvZGl2PgoKPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ3Byb21wdF9maWVsZCcpfTo8L2xhYmVsPgogIDxkaXYgY2xhc3M9ImdyaWRfOSI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9ZmllbGQiIGNsYXNzPSJncmlkXzEyIiByZXF1aXJlZD4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRzZWxlY3RfZmllbGRzIHNlbGVjdGVkPSRoYW5kbGVyLT5maWVsZH0KICAgIDwvc2VsZWN0PgogICAgPHAgY2xhc3M9ImdyaWRfMTEiPnskbW9kLT5MYW5nKCdpbmZvX2RkZW1haWxfZmllbGQnKX08L3A+CiAgPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X2RmbHRfZW1haWxfYWRkcmVzcycpfTo8L2xhYmVsPgogIDxkaXYgY2xhc3M9ImdyaWRfOSI+CiAgICAgPGlucHV0IHR5cGU9ImVtYWlsIiB2YWx1ZT0ieyRoYW5kbGVyLT5kZmx0X2FkZHJlc3N9IiBuYW1lPSJ7JGFjdGlvbmlkfWRmbHRfYWRkcmVzcyIgbWF4bGVuZ3RoPSIyNTUiIGNsYXNzPSJncmlkXzEyIi8+CiAgICAgPHAgY2xhc3M9ImdyaWRfMTEiPnskbW9kLT5MYW5nKCdpbmZvX2RmbHRfZW1haWxfYWRkcmVzcycpfTwvcD4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X2RkZW1haWxfdmFsdWVfbWFwJyl9OjwvbGFiZWw+CiAgPGRpdiBjbGFzcz0iZ3JpZF85Ij4KICAgICB7eHRfdGV4dGFyZWEgcHJlZml4PSRhY3Rpb25pZCBuYW1lPXZhbHVlX21hcCB2YWx1ZT0kaGFuZGxlci0+dmFsdWVfbWFwIHJvd3M9NSBjbGFzcz0iZ3JpZF8xMiJ9CiAgICAgPHAgY2xhc3M9ImdyaWRfMTEiPnskbW9kLT5MYW5nKCdpbmZvX2RkZW1haWxfdmFsdWVfbWFwJyl9PC9wPgogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbWFpbF9zdWJqZWN0X3RlbXBsYXRlJyl9OjwvbGFiZWw+CiAgPGRpdiBjbGFzcz0iZ3JpZF85Ij4KICAgIHt4dF90ZXh0YXJlYSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9c3ViamVjdHRlbXBsYXRlIHZhbHVlPSRoYW5kbGVyLT5zdWJqZWN0dGVtcGxhdGUgcm93cz0yIGNsYXNzPWdyaWRfMTJ9CiAgPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbWFpbF9ib2R5X3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICB7eHRfdGV4dGFyZWEgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWJvZHl0ZW1wbGF0ZSB2YWx1ZT0kaGFuZGxlci0+Ym9keXRlbXBsYXRlfQogIDwvcD4KPC9kaXY+Cntmb3JtX2VuZH0KeyR0cGxfaGVscH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_ddfile_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X2RkZmlsZV9kaXNwb3NpdGlvbicpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBndWlkPSRndWlkIGVkaXRvcl9uYW1lPSRlZGl0b3JfbmFtZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2V0X3RwbCIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXNldF90cGxzJyl9IiBmb3Jtbm92YWxpZGF0ZS8+CjwvZGl2PgoKPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ3Byb21wdF9maWVsZCcpfTo8L2xhYmVsPgogIDxkaXYgY2xhc3M9ImdyaWRfOSI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9ZmllbGQiIGNsYXNzPSJncmlkXzEyIiByZXF1aXJlZD4KICAgICAge2h0bWxfb3B0aW9ucyB2YWx1ZXM9JHNlbGVjdF9maWVsZHMgb3V0cHV0PSRzZWxlY3RfZmllbGRzIHNlbGVjdGVkPSRoYW5kbGVyLT5maWVsZH0KICAgIDwvc2VsZWN0PgogICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19kZGZpbGVfZmllbGQnKX0KICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgPGxhYmVsIGNsYXNzPSJncmlkXzIiPnskbW9kLT5MYW5nKCdwcm9tcHRfZGRmaWxlX2ZvbGRlcicpfTo8L2xhYmVsPgogIDxkaXYgY2xhc3M9ImdyaWRfOSI+CiAgICAgPGlucHV0IGNsYXNzPSJncmlkXzEyIiBuYW1lPSJ7JGFjdGlvbmlkfWZvbGRlciIgdmFsdWU9InskaGFuZGxlci0+Zm9sZGVyfSI+CiAgICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19kZGZpbGVfZm9sZGVyJyl9CiAgPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9oZHJ0ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAge3h0X3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1oZWFkZXJ0ZW1wbGF0ZSB2YWx1ZT0kaGFuZGxlci0+aGVhZGVydGVtcGxhdGV9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZW50cnl0ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAge3h0X3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1lbnRyeXRlbXBsYXRlIHZhbHVlPSRoYW5kbGVyLT5lbnRyeXRlbXBsYXRlfQogIDwvcD4KPC9kaXY+Cntmb3JtX2VuZH0KeyR0cGxfaGVscH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_emailadmingroupreplyto_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCduYW1lX0VtYWlsQWRtaW5Hcm91cFdpdGhSZXBseVRvRGlzcG9zaXRpb24nKX08L2gzPgoKe2Zvcm1fc3RhcnQgZm9ybV9ndWlkPSRmb3JtX2d1aWQgZGlzcF9ndWlkPSRndWlkIGVkaXRvcl9uYW1lPSRlZGl0b3JfbmFtZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2V0X3RwbCIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXNldF90cGxzJyl9IiBmb3Jtbm92YWxpZGF0ZS8+CjwvZGl2PgoKPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ3Byb21wdF9hZG1pbl9ncm91cCcpfTo8L2xhYmVsPgogIDxkaXYgY2xhc3M9ImdyaWRfOSI+CiAgICAgIDxzZWxlY3QgY2xhc3M9ImdyaWRfMTIiIG5hbWU9InskYWN0aW9uaWR9Z3JvdXAiPgogICAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRncm91cGxpc3Qgc2VsZWN0ZWQ9JGhhbmRsZXItPmdyb3VwfQogICAgICA8L3NlbGVjdD4KICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsX2ZpZWxkJyl9OjwvbGFiZWw+CiAgPGRpdiBjbGFzcz0iZ3JpZF85Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1maWVsZG5hbWUiIGNsYXNzPSJncmlkXzEyIj4KICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZmllbGRfbGlzdCBzZWxlY3RlZD0kaGFuZGxlci0+ZmllbGRuYW1lfQogICAgPC9zZWxlY3Q+CiAgICA8cCBjbGFzcz0iZ3JpZF8xMiI+eyRtb2QtPkxhbmcoJ2luZm9fZW1haWx1c2VyYWRkcmVzcycpfTwvcD4KICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsX3N1YmplY3RfdGVtcGxhdGUnKX06PC9sYWJlbD4KICA8ZGl2IGNsYXNzPSJncmlkXzkiPgogICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1YmplY3R0ZW1wbGF0ZSIgdmFsdWU9InskaGFuZGxlci0+c3ViamVjdHRlbXBsYXRlfSIgY2xhc3M9ImdyaWRfMTIiLz4KICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsX2JvZHlfdGVtcGxhdGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIHt4dF90ZXh0YXJlYSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9ImJvZHl0ZW1wbGF0ZSIgdmFsdWU9JGhhbmRsZXItPmJvZHl0ZW1wbGF0ZX0KICA8L3A+CjwvZGl2Pgp7Zm9ybV9lbmR9CnskdHBsX2hlbHB9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_emailadmingroup_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCduYW1lX0VtYWlsQWRtaW5Hcm91cERpc3Bvc2l0aW9uJyl9PC9oMz4KCntmb3JtX3N0YXJ0IGZvcm1fZ3VpZD0kZm9ybV9ndWlkIGRpc3BfZ3VpZD0kZ3VpZCBlZGl0b3JfbmFtZT0kZWRpdG9yX25hbWV9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9IiBmb3Jtbm92YWxpZGF0ZS8+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1yZXNldF90cGwiIHZhbHVlPSJ7JG1vZC0+TGFuZygncmVzZXRfdHBscycpfSIgZm9ybW5vdmFsaWRhdGUvPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2FkbWluX2dyb3VwJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9Z3JvdXAiPgogICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZ3JvdXBsaXN0IHNlbGVjdGVkPSRoYW5kbGVyLT5ncm91cH0KICAgICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbWFpbF9zdWJqZWN0X3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJqZWN0dGVtcGxhdGUiIHZhbHVlPSJ7JGhhbmRsZXItPnN1YmplY3R0ZW1wbGF0ZX0iIHN0eWxlPSJ3aWR0aDogOTclOyIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsX2JvZHlfdGVtcGxhdGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIHt4dF90ZXh0YXJlYSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9ImJvZHl0ZW1wbGF0ZSIgdmFsdWU9JGhhbmRsZXItPmJvZHl0ZW1wbGF0ZX0KICA8L3A+CjwvZGl2Pgp7Zm9ybV9lbmR9CnskdHBsX2hlbHB9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_emailadminwithreplyto_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCduYW1lX0VtYWlsQWRtaW5XaXRoUmVwbHlUbycpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBkaXNwX2d1aWQ9JGd1aWQgZWRpdG9yX25hbWU9JGVkaXRvcl9uYW1lfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgZm9ybW5vdmFsaWRhdGUvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cmVzZXRfdHBsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0X3RwbHMnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsX2ZpZWxkJyl9OjwvbGFiZWw+CiAgPGRpdiBjbGFzcz0iZ3JpZF85Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1maWVsZG5hbWUiIGNsYXNzPSJncmlkXzEyIj4KICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZmllbGRfbGlzdCBzZWxlY3RlZD0kaGFuZGxlci0+ZmllbGRuYW1lfQogICAgPC9zZWxlY3Q+CiAgICA8cCBjbGFzcz0iZ3JpZF8xMiI+eyRtb2QtPkxhbmcoJ2luZm9fZW1haWx1c2VyYWRkcmVzcycpfTwvcD4KICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2Nzdl9lbWFpbF9hZGRyZXNzZXMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIHt4dF90ZXh0YXJlYSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9YWRkcmVzc2VzIHZhbHVlPSRoYW5kbGVyLT5hZGRyZXNzZXMgcm93cz0zfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsX3N1YmplY3RfdGVtcGxhdGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1YmplY3R0ZW1wbGF0ZSIgdmFsdWU9InskaGFuZGxlci0+c3ViamVjdHRlbXBsYXRlfSIgc3R5bGU9IndpZHRoOiA5NyU7Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZW1haWxfYm9keV90ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAge3h0X3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0iYm9keXRlbXBsYXRlIiB2YWx1ZT0kaGFuZGxlci0+Ym9keXRlbXBsYXRlfQogIDwvcD4KPC9kaXY+Cntmb3JtX2VuZH0KeyR0cGxfaGVscH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_emailfieldvalidation.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X2VtYWlsX2ZpZWxkdmFsaWRhdGlvbicpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBndWlkPSRndWlkIGVkaXRvcl9uYW1lPSRlZGl0b3JfbmFtZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X2ZpZWxkJyl9OjwvbGFiZWw+CiAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWZpZWxkbmFtZSIgY2xhc3M9ImdyaWRfOCIgcmVxdWlyZWQ+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZpZWxkcyBzZWxlY3RlZD0kdmFsaWRhdGlvbi0+ZmllbGROYW1lfQogIDwvc2VsZWN0Pgo8L2Rpdj4Ke2Zvcm1fZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_emailfixedaddresses_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCduYW1lX0VtYWlsRml4ZWRBZGRyZXNzZXNEaXNwb3NpdGlvbicpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBkaXNwX2d1aWQ9JGd1aWQgZWRpdG9yX25hbWU9JGVkaXRvcl9uYW1lfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgZm9ybW5vdmFsaWRhdGUvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cmVzZXRfdHBsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0X3RwbHMnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jc3ZfZW1haWxfYWRkcmVzc2VzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICB7eHRfdGV4dGFyZWEgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWFkZHJlc3NlcyB2YWx1ZT0kaGFuZGxlci0+YWRkcmVzc2VzIHJvd3M9M30KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbWFpbF9zdWJqZWN0X3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJqZWN0dGVtcGxhdGUiIHZhbHVlPSJ7JGhhbmRsZXItPnN1YmplY3R0ZW1wbGF0ZX0iIHN0eWxlPSJ3aWR0aDogOTclOyIvPgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsX2JvZHlfdGVtcGxhdGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIHt4dF90ZXh0YXJlYSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9ImJvZHl0ZW1wbGF0ZSIgdmFsdWU9JGhhbmRsZXItPmJvZHl0ZW1wbGF0ZX0KICA8L3A+CjwvZGl2Pgp7Zm9ybV9lbmR9CnskdHBsX2hlbHB9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_emailuseraddress_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCduYW1lX0VtYWlsVXNlckFkZHJlc3NEaXNwb3NpdGlvbicpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBkaXNwX2d1aWQ9JGd1aWQgZWRpdG9yX25hbWU9JGVkaXRvcl9uYW1lfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgZm9ybW5vdmFsaWRhdGUvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cmVzZXRfdHBsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0X3RwbHMnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsX2ZpZWxkJyl9OjwvbGFiZWw+CiAgPGRpdiBjbGFzcz0iZ3JpZF85Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1maWVsZG5hbWUiIGNsYXNzPSJncmlkXzEyIj4KICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZmllbGRfbGlzdCBzZWxlY3RlZD0kaGFuZGxlci0+ZmllbGRuYW1lfQogICAgPC9zZWxlY3Q+CiAgICA8cCBjbGFzcz0iZ3JpZF8xMiI+eyRtb2QtPkxhbmcoJ2luZm9fZW1haWx1c2VyYWRkcmVzcycpfTwvcD4KICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2VtYWlsX3N1YmplY3RfdGVtcGxhdGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1YmplY3R0ZW1wbGF0ZSIgdmFsdWU9InskaGFuZGxlci0+c3ViamVjdHRlbXBsYXRlfSIgc3R5bGU9IndpZHRoOiA5NyU7Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZW1haWxfYm9keV90ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAge3h0X3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0iYm9keXRlbXBsYXRlIiB2YWx1ZT0kaGFuZGxlci0+Ym9keXRlbXBsYXRlfQogIDwvcD4KPC9kaXY+Cntmb3JtX2VuZH0KeyR0cGxfaGVscH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_flatfiledisposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X2Nzdl9kaXNwb3NpdGlvbicpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBkaXNwX2d1aWQ9JGd1aWQgZWRpdG9yX25hbWU9JGVkaXRvcl9uYW1lfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgZm9ybW5vdmFsaWRhdGUvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cmVzZXRfdHBsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0X3RwbHMnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X2ZpbGVuYW1lJyl9OjwvbGFiZWw+CiAgPGlucHV0IGNsYXNzPSJncmlkXzkiIG5hbWU9InskYWN0aW9uaWR9ZmlsZW5hbWUiIHZhbHVlPSJ7JGhhbmRsZXItPmZpbGVuYW1lfSIgcmVxdWlyZWQvPgogIDxici8+PGJyLz48c3BhbiBjbGFzcz0iZ3JpZF8yIj4mbmJzcDs8L3NwYW4+PHNwYW4+eyRtb2QtPkxhbmcoJ2luZm9fZmxhdGZpbGVfZmlsZW5hbWUnKX08L3NwYW4+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9oZHJ0ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAge3h0X3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1oZWFkZXJ0ZW1wbGF0ZSB2YWx1ZT0kaGFuZGxlci0+aGVhZGVydGVtcGxhdGV9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZW50cnl0ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAge3h0X3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1lbnRyeXRlbXBsYXRlIHZhbHVlPSRoYW5kbGVyLT5lbnRyeXRlbXBsYXRlfQogIDwvcD4KPC9kaXY+Cntmb3JtX2VuZH0KeyR0cGxfaGVscH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_floatfieldvalidation.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X2Zsb2F0X2ZpZWxkdmFsaWRhdGlvbicpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBndWlkPSRndWlkIGVkaXRvcl9uYW1lPSRlZGl0b3JfbmFtZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X2ZpZWxkJyl9OjwvbGFiZWw+CiAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWZpZWxkbmFtZSIgY2xhc3M9ImdyaWRfOCIgcmVxdWlyZWQ+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZpZWxkcyBzZWxlY3RlZD0kdmFsaWRhdGlvbi0+ZmllbGROYW1lfQogIDwvc2VsZWN0Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ3Byb21wdF9taW52YWx1ZScpfTo8L2xhYmVsPgogIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW1pblZhbHVlIiBjbGFzcz0iZ3JpZF85IiBtYXhsZW5ndGg9IjEwIiB2YWx1ZT0ieyR2YWxpZGF0aW9uLT5taW5WYWx9Ii8+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X21heHZhbHVlJyl9OjwvbGFiZWw+CiAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9bWF4VmFsdWUiIGNsYXNzPSJncmlkXzkiIG1heGxlbmd0aD0iMTAiIHZhbHVlPSJ7JHZhbGlkYXRpb24tPm1heFZhbH0iLz4KPC9kaXY+Cntmb3JtX2VuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRmb3JtLT5pZCA8IDF9CjxoMz57JG1vZC0+TGFuZygnYWRkX25ld19mb3JtJyl9PC9oMz4Ke2Vsc2V9CjxoMz57JG1vZC0+TGFuZygnZWRpdGluZ19mb3JtJyl9PC9oMz4Key9pZn0KCjxzY3JpcHQ+CnZhbGlkYXRpb25IYW5kbGVyID0gZnVuY3Rpb24oc2VsKSB7CiAgICB2YXIgZWxlbWVudCwgZV9zYXZlYnRuLCBlX3N1YmFjdGlvbiwgZV9ndWlkbGlzdDsKICAgIHZhciB2YXJfcHJlZml4ID0gJ3skYWN0aW9uaWR9JzsKCiAgICAvLyBjb25zdHJ1Y3QKICAgIGVsZW1lbnQgPSBzZWw7CiAgICBlX2Zvcm0gPSBlbGVtZW50LmNsb3Nlc3QoJ2Zvcm0nKTsKICAgIGVfc2F2ZWJ0biA9ICQoJyNzYXZlX3ZhbGlkYXRpb25fb3JkZXInKTsKICAgIGVfc3ViYWN0aW9uID0gJCgnI3N1YmFjdGlvbicpOwogICAgZV9ndWlkbGlzdCA9ICQoJyNndWlkX2xpc3QnKTsKCiAgICBlX3NhdmVidG4uY2xpY2soZnVuY3Rpb24oZXYpewogICAgICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgY21zX2NvbmZpcm0oJ3NhdmUgdGhlc2UgcG9zaXRpb25zJykuZG9uZShmdW5jdGlvbigpewoJICAgICAgdmFyIGxpc3QgPSBbXTsKCSAgICAgICQoJ3RyJyxlbGVtZW50KS5lYWNoKGZ1bmN0aW9uKCl7CgkgICAgICAgICB2YXIgdCA9ICQodGhpcykuZGF0YSgnZ3VpZCcpOwoJCSBpZiggIXQgfHwgdC5sZW5ndGggPT0gMCApIHJldHVybjsKCQkgbGlzdC5wdXNoKHQpOwogICAgICAgICAgICAgIH0pOwoJICAgICAgLy8gbm93IHNhdmUgdGhpcyBkYXRhIHNvbWV3aGVyZSwgYW5kIHN1Ym1pdCB0aGUgZm9ybS4KCSAgICAgIGVfc3ViYWN0aW9uLnZhbCgnb3JkZXJfdmFsaWRhdGlvbnMnKTsKCSAgICAgIGVfZ3VpZGxpc3QudmFsKGxpc3Quam9pbignLCcpKTsKCSAgICAgIGVfZm9ybS5zdWJtaXQoKTsKICAgICAgICAgICB9KQogICAgfSk7CgogICAgJCgndGJvZHknLGVsZW1lbnQpLnNvcnRhYmxlKHsKICAgICAgIGN1cnNvcjogJ21vdmUnLAogICAgICAgaGVscGVyOiBmdW5jdGlvbihldiwgdWkpIHsKICAgICAgICAgIHVpLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAkKHRoaXMpLndpZHRoKCQodGhpcykud2lkdGgoKSk7CiAgICAgICAgICB9KTsKICAgIAkgIHJldHVybiB1aTsKICAgICAgIH0sCiAgICAgICBzdG9wOiBmdW5jdGlvbihldmVudCx1aSkgewogICAgICAgICAgIGVfc2F2ZWJ0bi5zaG93KCk7CiAgICAgICB9LAogICAgfSk7Cn07CgpkaXNwb3NpdGlvbkhhbmRsZXIgPSBmdW5jdGlvbihzZWwpIHsKICAgIHZhciBlbGVtZW50LCBlX3NhdmVidG4sIGVfc3ViYWN0aW9uLCBlX2d1aWRsaXN0OwogICAgdmFyIHZhcl9wcmVmaXggPSAneyRhY3Rpb25pZH0nOwoKICAgIC8vIGNvbnN0cnVjdAogICAgZWxlbWVudCA9IHNlbDsKICAgIGVfZm9ybSA9IGVsZW1lbnQuY2xvc2VzdCgnZm9ybScpOwogICAgZV9zYXZlYnRuID0gJCgnI3NhdmVfZGlzcF9vcmRlcicpOwogICAgZV9zdWJhY3Rpb24gPSAkKCcjc3ViYWN0aW9uJyk7CiAgICBlX2d1aWRsaXN0ID0gJCgnI2d1aWRfbGlzdCcpOwoKICAgIGVfc2F2ZWJ0bi5jbGljayhmdW5jdGlvbihldil7CiAgICAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICBjbXNfY29uZmlybSgnc2F2ZSB0aGVzZSBwb3NpdGlvbnMnKS5kb25lKGZ1bmN0aW9uKCl7CgkgICAgICB2YXIgbGlzdCA9IFtdOwoJICAgICAgJCgndHInLGVsZW1lbnQpLmVhY2goZnVuY3Rpb24oKXsKCSAgICAgICAgIHZhciB0ID0gJCh0aGlzKS5kYXRhKCdndWlkJyk7CgkJIGlmKCAhdCB8fCB0Lmxlbmd0aCA9PSAwICkgcmV0dXJuOwoJCSBsaXN0LnB1c2godCk7CiAgICAgICAgICAgICAgfSk7CgkgICAgICAvLyBub3cgc2F2ZSB0aGlzIGRhdGEgc29tZXdoZXJlLCBhbmQgc3VibWl0IHRoZSBmb3JtLgoJICAgICAgZV9zdWJhY3Rpb24udmFsKCdvcmRlcl9kaXNwb3NpdGlvbnMnKTsKCSAgICAgIGVfZ3VpZGxpc3QudmFsKGxpc3Quam9pbignLCcpKTsKCSAgICAgIGVfZm9ybS5zdWJtaXQoKTsKICAgICAgICAgICB9KQogICAgfSk7CgogICAgJCgndGJvZHknLGVsZW1lbnQpLnNvcnRhYmxlKHsKICAgICAgIGN1cnNvcjogJ21vdmUnLAogICAgICAgaGVscGVyOiBmdW5jdGlvbihldiwgdWkpIHsKICAgICAgICAgIHVpLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAkKHRoaXMpLndpZHRoKCQodGhpcykud2lkdGgoKSk7CiAgICAgICAgICB9KTsKICAgIAkgIHJldHVybiB1aTsKICAgICAgIH0sCiAgICAgICBzdG9wOiBmdW5jdGlvbihldmVudCx1aSkgewogICAgICAgICAgIGVfc2F2ZWJ0bi5zaG93KCk7CiAgICAgICB9LAogICAgfSk7Cn07CgokKCBmdW5jdGlvbigpIHsKCiAgIC8vIHJlYWR5Li4KICAgdmFyIGRpc3BfaGFuZGxlciA9IG5ldyBkaXNwb3NpdGlvbkhhbmRsZXIoJCgnI2Rpc3Bvc2l0aW9uX2xpc3QnKSk7CiAgIHZhciBkaXNwX2hhbmRsZXIgPSBuZXcgdmFsaWRhdGlvbkhhbmRsZXIoJCgnI3ZhbGlkYXRpb25fbGlzdCcpKTsKICAgdmFyIGNvbnRfdHBsaWQgPSAkKCcjY29udF90cGxpZCcpOwogICB2YXIgdHBsX3JzcmMgPSAkKCcjdGVtcGxhdGVfcnNyYycpOwoKICAgdHBsX3JzcmMuY2hhbmdlKGZ1bmN0aW9uKCl7CiAgICAgICBpZiggJCh0aGlzKS52YWwoKS5sZW5ndGggPiAwICkgewogICAgICAgICAgIGNvbnRfdHBsaWQuaGlkZSgpOwogICAgICAgfSBlbHNlIHsKICAgICAgICAgICBjb250X3RwbGlkLnNob3coKTsKICAgICAgIH0KICAgfSk7CiAgIHRwbF9yc3JjLnRyaWdnZXIoJ2NoYW5nZScpOwoKfSk7Cjwvc2NyaXB0PgoKPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KYnV0dG9uLmJ0bmxpbmsgewogICBiYWNrZ3JvdW5kOm5vbmUhaW1wb3J0YW50OwogICBjb2xvcjppbmhlcml0OwogICBib3JkZXI6bm9uZTsKICAgcGFkZGluZzowIWltcG9ydGFudDsKICAgZm9udDogaW5oZXJpdDsKICAgLypib3JkZXIgaXMgb3B0aW9uYWwqLwogICBjdXJzb3I6IHBvaW50ZXI7Cn0KdHIuYmFkZmllbGQgdGQgewogICBjb2xvcjogb3JhbmdlICFpbXBvcnRhbnQ7Cn0KI2Rpc3Bvc2l0aW9uX2xpc3QgewogICBjdXJzb3I6IG1vdmU7Cn0KI3ZhbGlkYXRpb25fbGlzdCB7CiAgIGN1cnNvcjogbW92ZTsKfQo8L3N0eWxlPgoKe2Zvcm1fc3RhcnQgZm9ybV9ndWlkPSRmb3JtX2d1aWR9PGlucHV0IGlkPSJzdWJhY3Rpb24iIG5hbWU9InskYWN0aW9uaWR9c3ViYWN0aW9uIiB0eXBlPSJoaWRkZW4iLz48aW5wdXQgaWQ9Imd1aWRfbGlzdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWd1aWRzIi8+CnskZGlzcG9zaXRpb25zPSRmb3JtLT5kaXNwb3NpdGlvbnN9CnskdmFsaWRhdGlvbnM9JGZvcm0tPnZhbGlkYXRpb25zfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAge2lmIGNvdW50KCRmaWVsZHMpfQogICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3NhdmUnKX0iLz4KICAgICB7KmlmICFlbXB0eSgkZm9ybV9ndWlkKSp9CgogICAgICAge2lmICRmb3JtLT5pZCA+IDB9CiAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9YXBwbHkiIHZhbHVlPSJ7JG1vZC0+TGFuZygnYXBwbHknKX0iLz4KICAgICB7L2lmfQogICB7L2lmfQogICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXNjYW4iIHZhbHVlPSJ7JG1vZC0+TGFuZygnc2NhbicpfSIvPgogICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+Cgp7eHRfc3RhcnRfdGFic30Ke3h0X3RhYmhlYWRlciBuYW1lPSdmb3JtJyBsYWJlbD0kbW9kLT5MYW5nKCdmb3JtJyl9CntpZiBjb3VudCgkbWVzc2FnZXMpfQogIHt4dF90YWJoZWFkZXIgbmFtZT0nbWVzc2FnZXMnIGxhYmVsPSRtb2QtPkxhbmcoJ21lc3NhZ2VzJyl9CnsvaWZ9CntpZiBjb3VudCgkZmllbGRzKX0KICB7eHRfdGFiaGVhZGVyIG5hbWU9J2ZpZWxkcycgbGFiZWw9JG1vZC0+TGFuZygnZmllbGRzJyl9CiAge3h0X3RhYmhlYWRlciBuYW1lPSdwcmVyZW5kZXJfbG9naWMnIGxhYmVsPSRtb2QtPkxhbmcoJ3ByZXJlbmRlcl9sb2dpYycpfQogIHt4dF90YWJoZWFkZXIgbmFtZT0ndmFsaWRhdGlvbicgbGFiZWw9JG1vZC0+TGFuZygndmFsaWRhdGlvbicpfQogIHt4dF90YWJoZWFkZXIgbmFtZT0naGFuZGxlcnMnIGxhYmVsPSRtb2QtPkxhbmcoJ2hhbmRsZXJzJyl9CiAge3h0X3RhYmhlYWRlciBuYW1lPSdmaW5hbCcgbGFiZWw9JG1vZC0+TGFuZygnZmluYWwnKX0Key9pZn0KCnt4dF90YWJjb250ZW50X3N0YXJ0IG5hbWU9J2Zvcm0nfQogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICA8bGFiZWwgY2xhc3M9ImdyaWRfMyByZXF1aXJlZCI+KnskbW9kLT5MYW5nKCdmb3JtX25hbWUnKX06PC9sYWJlbD4KICAgIDxkaXYgY2xhc3M9ImdyaWRfOCI+CiAgICAgIDxpbnB1dCBjbGFzcz0iZ3JpZF8xMiByZXF1aXJlZCIgbmFtZT0ieyRhY3Rpb25pZH1uYW1lIiB2YWx1ZT0ieyRmb3JtLT5uYW1lfSIgcGxhY2Vob2xkZXI9InskbW9kLT5MYW5nKCdwaF9mb3JtX25hbWUnKX0iIHJlcXVpcmVkLz4KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiIgaWQ9ImNvbnRfdHBsaWQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICA8bGFiZWwgY2xhc3M9ImdyaWRfMyByZXF1aXJlZCI+KnskbW9kLT5MYW5nKCdmb3JtX3RlbXBsYXRlJyl9OjwvbGFiZWw+CiAgICA8ZGl2IGNsYXNzPSJncmlkXzgiPgogICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9dGVtcGxhdGVfaWQiIGNsYXNzPSJncmlkXzEyIiByZXF1aXJlZD4KICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGFsbF90ZW1wbGF0ZXMgc2VsZWN0ZWQ9JGZvcm0tPnRlbXBsYXRlX2lkfQogICAgICA8L3NlbGVjdD4KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICA8bGFiZWwgY2xhc3M9ImdyaWRfMyI+eyRtb2QtPkxhbmcoJ2Zvcm1fdGVtcGxhdGVfcnNyYycpfTo8L2xhYmVsPgogICAgPGRpdiBjbGFzcz0iZ3JpZF84Ij4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZW1wbGF0ZV9yc3JjIiBuYW1lPSJ7JGFjdGlvbmlkfXRlbXBsYXRlX3JzcmMiIGNsYXNzPSJncmlkXzEyIiB2YWx1ZT0ieyRmb3JtLT50ZW1wbGF0ZV9yc3JjfSIvPgogICAgICA8cCBjbGFzcz0iZ3JpZF8xMiI+eyRtb2QtPkxhbmcoJ2luZm9fdGVtcGxhdGVfcnNyYycpfTwvcD4KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICA8bGFiZWwgY2xhc3M9ImdyaWRfMyByZXF1aXJlZCI+eyRtb2QtPkxhbmcoJ2Rlc2NyaXB0aW9uJyl9OjwvbGFiZWw+CiAgICA8ZGl2IGNsYXNzPSJncmlkXzgiPgogICAgICA8dGV4dGFyZWEgY2xhc3M9ImdyaWRfMTIiIG5hbWU9InskYWN0aW9uaWR9ZGVzY3JpcHRpb24iIHBsYWNlaG9sZGVyPSJ7JG1vZC0+TGFuZygncGhfZm9ybV9kZXNjJyl9Ij57JGZvcm0tPmRlc2NyaXB0aW9ufTwvdGV4dGFyZWE+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPGhyLz4KICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygnZm9ybV9mcm9tX2VtYWlsJyl9PC9sYWJlbD4KICAgICA8ZGl2IGNsYXNzPSJncmlkXzgiPgogICAgICAgPGlucHV0IGNsYXNzPSJncmlkXzEyIiB0eXBlPSJlbWFpbCIgbmFtZT0ieyRhY3Rpb25pZH1lbWFpbF9mcm9tX2FkZHIiIHZhbHVlPSJ7JGZvcm0tPmVtYWlsX2Zyb21fYWRkcn0iIHBsYWNlaG9sZGVyPSJ7JG1vZC0+TGFuZygnZW1haWxhZGRyX3N5c2RmbHQnKX0iLz4KICAgICAgIDxwIGNsYXNzPSJncmlkXzEyIj57JG1vZC0+TGFuZygnaW5mb19mb3JtX2Zyb21fZW1haWwnKX08L3A+CiAgICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgPGxhYmVsIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdmb3JtX2Zyb21fbmFtZScpfTwvbGFiZWw+CiAgICAgPGRpdiBjbGFzcz0iZ3JpZF84Ij4KICAgICAgIDxpbnB1dCBjbGFzcz0iZ3JpZF8xMiIgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1lbWFpbF9mcm9tX25hbWUiIHZhbHVlPSJ7JGZvcm0tPmVtYWlsX2Zyb21fbmFtZX0iIHBsYWNlaG9sZGVyPSJ7JG1vZC0+TGFuZygnbm9uZScpfSIvPgogICAgICAgPHAgY2xhc3M9ImdyaWRfMTIiPnskbW9kLT5MYW5nKCdpbmZvX2Zvcm1fZnJvbV9uYW1lJyl9PC9wPgogICAgIDwvZGl2PgogIDwvZGl2PgoKICA8aHIvPgogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgPGxhYmVsIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdmb3JtX2lubGluZScpfTwvbGFiZWw+CiAgICAgPGRpdiBjbGFzcz0iZ3JpZF84Ij4KICAgICAgIHt4dF95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1kaXNwbGF5X2lubGluZSBzZWxlY3RlZD0kZm9ybS0+ZGlzcGxheV9pbmxpbmV9CiAgICAgICA8cCBjbGFzcz0iZ3JpZF8xMiI+eyRtb2QtPkxhbmcoJ2luZm9fZm9ybV9pbmxpbmUnKX08L3A+CiAgICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgPGxhYmVsIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCd1c2VfYXN5bmNfdXBsb2FkJyl9PC9sYWJlbD4KICAgICA8ZGl2IGNsYXNzPSJncmlkXzgiPgogICAgICAge3h0X3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPXVzZV9hc3luY191cGxvYWQgc2VsZWN0ZWQ9JGZvcm0tPnVzZV9hc3luY191cGxvYWR9CiAgICAgICA8cCBjbGFzcz0iZ3JpZF8xMiI+eyRtb2QtPkxhbmcoJ2luZm9fdXNlX2FzeW5jX3VwbG9hZCcpfTwvcD4KICAgICA8L2Rpdj4KICA8L2Rpdj4KCntpZiBjb3VudCgkbWVzc2FnZXMpfQogIHt4dF90YWJjb250ZW50X3N0YXJ0IG5hbWU9bWVzc2FnZXN9CiAgPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdpbmZvX2Zvcm1fbWVzc2FnZXMnKX08L2Rpdj4KICB7aWYgZW1wdHkoJG1lc3NhZ2VzKX0KICAgICAgPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdub19tZXNzYWdlcycpfTwvZGl2PgogIHtlbHNlfQogICAgICAgPHVsPgogICAgICAgICB7Zm9yZWFjaCAkbWVzc2FnZXMgYXMgJG1zZ30KCSAgIDxsaT57JG1zZ308L2xpPgoJIHsvZm9yZWFjaH0KICAgICAgIDwvdWw+CiAgey9pZn0Key9pZn0KCntpZiBjb3VudCgkZmllbGRzKX0KICB7eHRfdGFiY29udGVudF9zdGFydCBuYW1lPWZpZWxkc30KICAgICAgPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdpbmZvX2ZpZWxkc190YWInKX08L2Rpdj4KICAgICAgPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPgogICAgICAgIDx0aGVhZD4KCSAgPHI+CgkgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KCSAgICA8dGg+eyRtb2QtPkxhbmcoJ2xhYmVsJyl9PC90aD4KCSAgICA8dGg+eyRtb2QtPkxhbmcoJ25vZGUnKX08L3RoPgoJICAgIDx0aD57JG1vZC0+TGFuZygndHlwZScpfTwvdGg+CgkgICAgPHRoPnskbW9kLT5MYW5nKCdhdHRyaWJzJyl9PC90aD4KCSAgPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cgl7Zm9yZWFjaCAkZmllbGRzIGFzICRmaWVsZH0KCSAgeyRpc19yZXBseXRvPTB9e2lmICRmb3JtLT5yZXBseXRvX2ZpZWxkID09ICRmaWVsZC0+bmFtZX17JGlzX3JlcGx5dG89MX17L2lmfQoJICA8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9J3JvdzEscm93Mid9Ij4KCSAgICA8dGQ+eyRmaWVsZC0+bmFtZX08L3RkPgoJICAgIDx0ZD57JGZpZWxkLT5sYWJlbH08L3RkPgoJICAgIDx0ZD57JGZpZWxkLT5ub2RlfTwvdGQ+CgkgICAgPHRkPnskZmllbGQtPnR5cGV9PC90ZD4KCSAgICA8dGQ+CgkgICAgICB7JGF0dHJpYnM9W119CgkgICAgICB7aWYgJGZpZWxkLT5ub3ZhbGlkYXRlfXskYXR0cmlic1tdPSRtb2QtPkxhbmcoJ2F0dHJfbm92YWxpZGF0ZScpfXsvaWZ9CgkgICAgICB7aWYgJGZpZWxkLT5wcmltaXRpdmUgIT0gJ3N0cmluZyd9eyRhdHRyaWJzW109JGZpZWxkLT5wcmltaXRpdmV9ey9pZn0KCSAgICAgIHtpZiAkZmllbGQtPm11bHRpcGxlfXskYXR0cmlic1tdPSRtb2QtPkxhbmcoJ2F0dHJfbXVsdGlwbGUnKX17L2lmfQoJICAgICAge2lmICRmaWVsZC0+bWlufXskYXR0cmlic1tdPSRtb2QtPkxhbmcoJ2F0dHJfbWluJyl9ey9pZn0KCSAgICAgIHtpZiAkZmllbGQtPm1heH17JGF0dHJpYnNbXT0kbW9kLT5MYW5nKCdhdHRyX21heCcpfXsvaWZ9CgkgICAgICB7aWYgJGZpZWxkLT5wYXR0ZXJufXskYXR0cmlic1tdPSRtb2QtPkxhbmcoJ2F0dHJfcGF0dGVybicpfXsvaWZ9CgkgICAgICB7aWYgJGlzX3JlcGx5dG99eyRhdHRyaWJzW109JG1vZC0+TGFuZygnYXR0cl9yZXBseXRvJyl9ey9pZn0KCSAgICAgIHtpbXBsb2RlKCcsICcsJGF0dHJpYnMpfQoJICAgIDwvdGQ+CgkgIDwvdHI+Cgl7L2ZvcmVhY2h9Cgk8L3Rib2R5PgogICAgICA8L3RhYmxlPgoKe3h0X3RhYmNvbnRlbnRfc3RhcnQgbmFtZT1wcmVyZW5kZXJfbG9naWN9CiAgICA8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiI+eyRtb2QtPkxhbmcoJ2luZm9fcHJlcmVuZGVyX3RhYicpfTwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3ByZXJlbmRlcl9sb2dpYycpfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9cHJlcmVuZGVyX2xvZ2ljIiByb3dzPSIxMCI+eyRmb3JtLT5wcmVyZW5kZXJfbG9naWN9PC90ZXh0YXJlYT4KICAgICAgICA8L3A+CiAgICA8L2Rpdj4KCnt4dF90YWJjb250ZW50X3N0YXJ0IG5hbWU9dmFsaWRhdGlvbn0KICAgIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIj57JG1vZC0+TGFuZygnaW5mb19mb3JtX3ZhbGlkYXRpb25zJyl9PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgICA8cCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygnYWRkX3ZhbGlkYXRpb24nKX08L3A+CiAgICAgIDxzZWxlY3QgY2xhc3M9ImdyaWRfNyIgbmFtZT0ieyRhY3Rpb25pZH12YWxpZGF0aW9uIj4KICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGFsbF92YWxpZGF0aW9uc30KICAgICAgPC9zZWxlY3Q+CiAgICAgIDxidXR0b24gbmFtZT0ieyRhY3Rpb25pZH1hZGRfdmFsaWRhdGlvbiI+eyRtb2QtPkxhbmcoJ2FkZCcpfTwvYnV0dG9uPgogICAgICA8YnV0dG9uIG5hbWU9InskYWN0aW9uaWR9YXV0b192YWxpZGF0aW9uIj57JG1vZC0+TGFuZygnYXV0b19hZGRfdmFsaWRhdGlvbnMnKX08L2J1dHRvbj4KICAgIDwvZGl2PgogICAge2lmICFlbXB0eSgkdmFsaWRhdGlvbnMpfQogICAgICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgICAgICA8YnV0dG9uIGlkPSJzYXZlX3ZhbGlkYXRpb25fb3JkZXIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+eyRtb2QtPkxhbmcoJ3NhdmUnKX08L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDx0YWJsZSBpZD0idmFsaWRhdGlvbl9saXN0IiBjbGFzcz0icGFnZXRhYmxlIj4KICAgICAgICA8dGhlYWQ+CgkgIDx0cj4KCSAgICA8dGg+eyRtb2QtPkxhbmcoJ3ZhbGlkYXRpb24nKX08L3RoPgoJICAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+CgkgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+PC90aD4KCSAgPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+CiAgICAgICAge2ZvcmVhY2ggJHZhbGlkYXRpb25zIGFzICRoYW5kbGVyfQoJICB7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX2VkaXRfdmFsaWRhdGlvbiBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBndWlkPSRoYW5kbGVyLT5nZXRfZ3VpZCgpIGFzc2lnbj1lZGl0X3VybH0KICAgICAgICAgIDx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0ncm93MSxyb3cyJ30iIGRhdGEtZ3VpZD0ieyRoYW5kbGVyLT5nZXRfZ3VpZCgpfSI+CiAJICAgIDx0ZD4KCSAgICAgIHtpZiAkbW9kLT52YWxpZGF0aW9uX2hhc19lZGl0b3IoJGhhbmRsZXIpfQoJICAgICAgICA8YSBocmVmPSJ7JGVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0Jyl9Ij57JG1vZC0+Z2V0X3ZhbGlkYXRpb25fZGlzcGxheXN0cmluZygkaGFuZGxlcil9PC9hPgoJICAgICAge2Vsc2V9CiAgICAgICAgICAgICAgICB7JG1vZC0+Z2V0X3ZhbGlkYXRpb25fZGlzcGxheXN0cmluZygkaGFuZGxlcil9CgkgICAgICB7L2lmfQoJICAgIDwvdGQ+CgkgICAgPHRkPgoJICAgICAge2lmICRtb2QtPnZhbGlkYXRpb25faGFzX2VkaXRvcigkaGFuZGxlcil9CgkgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bmxpbmsiIG5hbWU9InskYWN0aW9uaWR9ZWRpdF92YWxpZGF0aW9uIiB2YWx1ZT0ieyRoYW5kbGVyLT5nZXRfZ3VpZCgpfSIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0Jyl9Ij57YWRtaW5faWNvbiBpY29uPSdlZGl0LmdpZid9PC9idXR0b24+CgkgICAgICB7L2lmfQoJICAgIDwvdGQ+CgkgICAgPHRkPgoJICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bmxpbmsiIG5hbWU9InskYWN0aW9uaWR9ZGVsX3ZhbGlkYXRpb24iIHZhbHVlPSJ7JGhhbmRsZXItPmdldF9ndWlkKCl9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2RlbGV0ZScpfSI+e2FkbWluX2ljb24gaWNvbj0nZGVsZXRlLmdpZid9PC9idXR0b24+CgkgICAgPC90ZD4KCSAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9Cgk8L3Rib2R5PgogICAgICA8L3RhYmxlPgogICAgey9pZn0KCnt4dF90YWJjb250ZW50X3N0YXJ0IG5hbWU9aGFuZGxlcnN9CiAgPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iPnskbW9kLT5MYW5nKCdpbmZvX2Zvcm1faGFuZGxlcnMnKX08L2Rpdj4KICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgPHAgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ2FkZF9kaXNwb3NpdGlvbicpfTwvcD4KICAgIDxzZWxlY3QgY2xhc3M9ImdyaWRfNyIgbmFtZT0ieyRhY3Rpb25pZH1kaXNwb3NpdGlvbiI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kYWxsX2Rpc3Bvc2l0aW9uc30KICAgIDwvc2VsZWN0PgogICAgPGJ1dHRvbiBuYW1lPSJ7JGFjdGlvbmlkfWFkZF9kaXNwb3NpdGlvbiI+eyRtb2QtPkxhbmcoJ2FkZCcpfTwvYnV0dG9uPgogIDwvZGl2PgogIHtpZiAhZW1wdHkoJGRpc3Bvc2l0aW9ucyl9CiAgICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgICAgPGJ1dHRvbiBpZD0ic2F2ZV9kaXNwX29yZGVyIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPnskbW9kLT5MYW5nKCdzYXZlJyl9PC9idXR0b24+CiAgICA8L2Rpdj4KICAgIDx0YWJsZSBpZD0iZGlzcG9zaXRpb25fbGlzdCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgIDx0aGVhZD4KICAgICAgICA8dHI+CgkgIDx0aD57JG1vZC0+TGFuZygnaGFuZGxlcicpfTwvdGg+CgkgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+CgkgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+CgkgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+Cgk8L3RyPgogICAgICA8L3RoZWFkPgogICAgICA8dGJvZHk+CiAgICAgIHtmb3JlYWNoICRkaXNwb3NpdGlvbnMgYXMgJGhhbmRsZXJ9CiAgICAgICAge2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9lZGl0X2Rpc3Bvc2l0aW9uIGZvcm1fZ3VpZD0kZm9ybV9ndWlkIGRpc3BfZ3VpZD0kaGFuZGxlci0+Z2V0X2d1aWQoKSBhc3NpZ249J2VkaXRfdXJsJ30KICAgICAgICA8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9J3JvdzEscm93Mid9IiBkYXRhLWd1aWQ9InskaGFuZGxlci0+Z2V0X2d1aWQoKX0iPgogICAgICAgICAgPHRkPjxhIGhyZWY9InskZWRpdF91cmx9IiB0aXRsZT0ieyRtb2QtPmxhbmcoJ2VkaXQnKX0iPnskbW9kLT5nZXRfZGlzcG9zaXRpb25fZGlzcGxheXN0cmluZygkaGFuZGxlcil9PC9hPjwvdGQ+CgkgIDx0ZD4KCSAgICAgIHtpZiAkaGFuZGxlci0+aXNfYWN0aXZlKCl9CgkgICAgICAgICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX2VuYWJsZV9kaXNwb3NpdGlvbiBzdGF0ZT0wIGZvcm1fZ3VpZD0kZm9ybV9ndWlkIGRpc3BfZ3VpZD0kaGFuZGxlci0+Z2V0X2d1aWQoKX0iPnthZG1pbl9pY29uIGljb249J3RydWUuZ2lmJ308L2E+CgkgICAgICB7ZWxzZX0KCSAgICAgICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fZW5hYmxlX2Rpc3Bvc2l0aW9uIHN0YXRlPTEgZm9ybV9ndWlkPSRmb3JtX2d1aWQgZGlzcF9ndWlkPSRoYW5kbGVyLT5nZXRfZ3VpZCgpfSI+e2FkbWluX2ljb24gaWNvbj0nZmFsc2UuZ2lmJ308L2E+CgkgICAgICB7L2lmfQoJICA8L3RkPgoJICA8dGQ+PGJ1dHRvbiBjbGFzcz0iYnRubGluayIgbmFtZT0ieyRhY3Rpb25pZH1lZGl0X2Rpc3Bvc2l0aW9uIiB2YWx1ZT0ieyRoYW5kbGVyLT5nZXRfZ3VpZCgpfSIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0Jyl9Ij57YWRtaW5faWNvbiBpY29uPSdlZGl0LmdpZid9PC9idXR0b24+PC90ZD4KCSAgPHRkPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bmxpbmsiIG5hbWU9InskYWN0aW9uaWR9ZGVsX2Rpc3Bvc2l0aW9uIiB2YWx1ZT0ieyRoYW5kbGVyLT5nZXRfZ3VpZCgpfSIgdGl0bGU9InskbW9kLT5MYW5nKCdkZWxldGUnKX0iPnthZG1pbl9pY29uIGljb249J2RlbGV0ZS5naWYnfTwvYnV0dG9uPgoJICA8L3RkPgogICAgICAgIDwvdHI+CiAgICAgIHsvZm9yZWFjaH0KICAgICAgPC90Ym9keT4KICAgIDwvdGFibGU+CiAgey9pZn0KCnt4dF90YWJjb250ZW50X3N0YXJ0IG5hbWU9J2ZpbmFsJ30KICA8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiI+eyRtb2QtPkxhbmcoJ2luZm9fZmluYWxfZGlzcG9zaXRpb24nKX08L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ZpbmFsYWN0aW9uJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8bGFiZWw+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ7JGFjdGlvbmlkfWZpbmFsYWN0aW9uIiB2YWx1ZT0ibWVzc2FnZSIge2lmICRmb3JtLT5maW5hbGFjdGlvbiE9InJlZGlyZWN0In1jaGVja2Vkey9pZn0vPiB7JG1vZC0+TGFuZygncHJvbXB0X2RvZmluYWxtc2cnKX08L2xhYmVsPjxici8+CiAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InskYWN0aW9uaWR9ZmluYWxhY3Rpb24iIHZhbHVlPSJyZWRpcmVjdCIge2lmICRmb3JtLT5maW5hbGFjdGlvbj09InJlZGlyZWN0In1jaGVja2Vkey9pZn0vPiB7JG1vZC0+TGFuZygncHJvbXB0X2RvZmluYWxyZWRpcmVjdCcpfTwvbGFiZWw+CiAgICA8L3A+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgaWQ9InNlbF9maW5hbHBhZ2UiPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ZpbmFscGFnZScpfTwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICB7cGFnZV9zZWxlY3RvciBuYW1lPSJ7JGFjdGlvbmlkfWZpbmFscGFnZSIgdmFsdWU9JGZvcm0tPmZpbmFscGFnZX0KICAgIDwvcD4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBpZD0ic2VsX2ZpbmFsbWVzc2FnZSI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmluYWxtZXNzYWdlJyl9PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfWZpbmFsbXNnIiByb3dzPSIyMCI+eyRmb3JtLT5maW5hbG1zZ308L3RleHRhcmVhPgogICAgPC9wPgogIDwvZGl2PgoKICB7JGZvcm1faGVscH0Key9pZn17KiBjb3VudCgkZmllbGRzKSAqfQp7eHRfZW5kX3RhYnN9Cntmb3JtX2VuZH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_integerfieldvalidation.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X2ludGVnZXJfZmllbGR2YWxpZGF0aW9uJyl9PC9oMz4KCntmb3JtX3N0YXJ0IGZvcm1fZ3VpZD0kZm9ybV9ndWlkIGd1aWQ9JGd1aWQgZWRpdG9yX25hbWU9JGVkaXRvcl9uYW1lfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgZm9ybW5vdmFsaWRhdGUvPgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgPGxhYmVsIGNsYXNzPSJncmlkXzIiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmllbGQnKX06PC9sYWJlbD4KICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9ZmllbGRuYW1lIiBjbGFzcz0iZ3JpZF84IiByZXF1aXJlZD4KICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZmllbGRzIHNlbGVjdGVkPSR2YWxpZGF0aW9uLT5maWVsZE5hbWV9CiAgPC9zZWxlY3Q+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X21pbnZhbHVlJyl9OjwvbGFiZWw+CiAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9bWluVmFsdWUiIGNsYXNzPSJncmlkXzkiIG1heGxlbmd0aD0iMTAiIHZhbHVlPSJ7JHZhbGlkYXRpb24tPm1pblZhbH0iLz4KPC9kaXY+CjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgPGxhYmVsIGNsYXNzPSJncmlkXzIiPnskbW9kLT5MYW5nKCdwcm9tcHRfbWF4dmFsdWUnKX06PC9sYWJlbD4KICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1tYXhWYWx1ZSIgY2xhc3M9ImdyaWRfOSIgbWF4bGVuZ3RoPSIxMCIgdmFsdWU9InskdmFsaWRhdGlvbi0+bWF4VmFsfSIvPgo8L2Rpdj4Ke2Zvcm1fZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_redirecturl_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X1dlYkhvb2tEaXNwb3NpdGlvbicpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBkaXNwX2d1aWQ9JGd1aWQgZWRpdG9yX25hbWU9JGVkaXRvcl9uYW1lfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgZm9ybW5vdmFsaWRhdGUvPgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgPGxhYmVsIGNsYXNzPSJncmlkXzIiPnskbW9kLT5MYW5nKCdwcm9tcHRfcmVkaXJlY3R1cmxfdGVtcGxhdGUnKX06PC9sYWJlbD4KICA8ZGl2IGNsYXNzPSJncmlkXzkiPgogICAgIHt4dF90ZXh0YXJlYSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9InRwbCIgdmFsdWU9JGhhbmRsZXItPnRwbCBjbGFzcz0iZ3JpZF8xMiIgcm93cz01fQogICAgIDxwIGNsYXNzPSJncmlkXzEyIj57JG1vZC0+TGFuZygnaW5mb19yZWRpcmVjdHVybF90ZW1wbGF0ZScpfTwvcD4KICA8L2Rpdj4KPC9kaXY+Cntmb3JtX2VuZH0KeyR0cGxfaGVscH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_regexfieldvalidation.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X3JlZ2V4X2ZpZWxkdmFsaWRhdGlvbicpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBndWlkPSRndWlkIGVkaXRvcl9uYW1lPSRlZGl0b3JfbmFtZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X2ZpZWxkJyl9OjwvbGFiZWw+CiAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWZpZWxkbmFtZSIgY2xhc3M9ImdyaWRfOCIgcmVxdWlyZWQ+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZpZWxkcyBzZWxlY3RlZD0kdmFsaWRhdGlvbi0+ZmllbGROYW1lfQogIDwvc2VsZWN0Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ3Byb21wdF9yZWdleF9wYXR0ZXJuJyl9OjwvbGFiZWw+CiAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9cGF0dGVybiIgY2xhc3M9ImdyaWRfOSIgbWF4bGVuZ3RoPSIyNTUiIHZhbHVlPSJ7JHZhbGlkYXRpb24tPnBhdHRlcm59IiByZXF1aXJlZC8+CjwvZGl2Pgp7Zm9ybV9lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_stopdisposing_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCduYW1lX1N0b3BEaXNwb3NpbmdEaXNwb3NpdGlvbicpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBkaXNwX2d1aWQ9JGd1aWQgZWRpdG9yX25hbWU9JGVkaXRvcl9uYW1lfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgZm9ybW5vdmFsaWRhdGUvPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICB7eHRfdGV4dGFyZWEgcHJlZml4PSRhY3Rpb25pZCBuYW1lPXRlbXBsYXRlIHZhbHVlPSRoYW5kbGVyLT50ZW1wbGF0ZSByb3dzPTV9CiAgICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19zdG9wZGlzcG9zaW5nX3RwbCcpfQogIDwvcD4KPC9kaXY+Cntmb3JtX2VuZH0KeyR0cGxfaGVscH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_templatevalidation.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdkaXNwbGF5X1RlbXBsYXRlVmFsaWRhdGlvbicpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBndWlkPSRndWlkIGVkaXRvcl9uYW1lPSRlZGl0b3JfbmFtZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlJyl9OjwvbGFiZWw+CiAgPGRpdiBjbGFzcz0iZ3JpZF85Ij4KICAgIDx0ZXh0YXJlYSBjbGFzcz0iZ3JpZF8xMiIgcm93cz0iNSIgbmFtZT0ieyRhY3Rpb25pZH10ZW1wbGF0ZSI+eyR2YWxpZGF0aW9uLT50ZW1wbGF0ZX08L3RleHRhcmVhPgogICAgPHAgY2xhc3M9ImdyaWRfMTIiPnskbW9kLT5MYW5nKCdpbmZvX3RlbXBsYXRldmFsaWRhdGlvbicpfTwvcD4KICA8L2Rpdj4KPC9kaXY+Cntmb3JtX2VuZH0KeyR0cGxfaGVscH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_uniquefile_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X3VuaXF1ZWZpbGVfZGlzcG9zaXRpb24nKX08L2gzPgoKe2Zvcm1fc3RhcnQgZm9ybV9ndWlkPSRmb3JtX2d1aWQgZGlzcF9ndWlkPSRndWlkIGVkaXRvcl9uYW1lPSRlZGl0b3JfbmFtZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc2V0X3RwbCIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXNldF90cGxzJyl9IiBmb3Jtbm92YWxpZGF0ZS8+CjwvZGl2PgoKPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ3Byb21wdF91bmlxdWVmaWxlX2ZvbGRlcicpfTo8L2xhYmVsPgogIDxkaXYgY2xhc3M9ImdyaWRfOSI+CiAgICAgPGlucHV0IGNsYXNzPSJncmlkXzEyIiBuYW1lPSJ7JGFjdGlvbmlkfWZvbGRlciIgdmFsdWU9InskaGFuZGxlci0+Zm9sZGVyfSI+CiAgICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb191bmlxdWVmaWxlX2ZvbGRlcicpfQogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8cCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X3VuaXF1ZWZpbGVfZmlsZW5hbWV0cGwnKX06PC9wPgogIDxwIGNsYXNzPSJncmlkXzkiPgogICAgIHt4dF90ZXh0YXJlYSBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9ZmlsZW5hbWVfdGVtcGxhdGUgdmFsdWU9JGhhbmRsZXItPmZpbGVuYW1lX3RlbXBsYXRlfQogICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fdW5pcXVlZmlsZV9maWxlbmFtZXRwbCcpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2hkcnRlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICB7eHRfdGV4dGFyZWEgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWhlYWRlcnRlbXBsYXRlIHZhbHVlPSRoYW5kbGVyLT5oZWFkZXJ0ZW1wbGF0ZX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbnRyeXRlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICB7eHRfdGV4dGFyZWEgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWVudHJ5dGVtcGxhdGUgdmFsdWU9JGhhbmRsZXItPmVudHJ5dGVtcGxhdGV9CiAgPC9wPgo8L2Rpdj4Ke2Zvcm1fZW5kfQp7JHRwbF9oZWxwfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_webhook_disposition.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X1dlYkhvb2tEaXNwb3NpdGlvbicpfTwvaDM+Cgp7Zm9ybV9zdGFydCBmb3JtX2d1aWQ9JGZvcm1fZ3VpZCBkaXNwX2d1aWQ9JGd1aWQgZWRpdG9yX25hbWU9JGVkaXRvcl9uYW1lfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgZm9ybW5vdmFsaWRhdGUvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cmVzZXRfdHBsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0X3RwbHMnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogIDxsYWJlbCBjbGFzcz0iZ3JpZF8yIj57JG1vZC0+TGFuZygncHJvbXB0X3dlYmhvb2tfdXJsJyl9OjwvbGFiZWw+CiAgPGRpdiBjbGFzcz0iZ3JpZF85Ij4KICAgICA8aW5wdXQgY2xhc3M9ImdyaWRfMTIiIHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9dXJsIiB2YWx1ZT0ieyRoYW5kbGVyLT51cmx9IiByZXF1aXJlZC8+CiAgICAgPHAgY2xhc3M9ImdyaWRfMTIiPnskbW9kLT5MYW5nKCdpbmZvX3dlYmhvb2tfdXJsJyl9PC9wPgogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICA8bGFiZWwgY2xhc3M9ImdyaWRfMiI+eyRtb2QtPkxhbmcoJ3Byb21wdF93ZWJob29rX2V4dHJhdmFycycpfTo8L2xhYmVsPgogIDxkaXYgY2xhc3M9ImdyaWRfOSI+CiAgICAge3h0X3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0iZXh0cmFwb3N0dmFycyIgdmFsdWU9JGhhbmRsZXItPmV4dHJhcG9zdHZhcnMgY2xhc3M9ImdyaWRfMTIifQogICAgIDxwIGNsYXNzPSJncmlkXzEyIj57JG1vZC0+TGFuZygnaW5mb193ZWJob29rX2V4dHJhdmFycycpfTwvcD4KICA8L2Rpdj4KPC9kaXY+Cntmb3JtX2VuZH0KeyR0cGxfaGVscH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_import_form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdpbXBvcnRfZm9ybScpfTwvaDM+Cntmb3JtX3N0YXJ0fQogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgPGxhYmVsIGNsYXNzPSJncmlkXzIiPip7JG1vZC0+TGFuZygncHJvbXB0X2ZpbGUnKX06PC9sYWJlbD4KICAgICA8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0ic210Zm1fZmlsZSIgdmFsdWU9IiIgcmVxdWlyZWQgY2xhc3M9ImdyaWRfOSIvPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgPC9kaXY+Cntmb3JtX2VuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_varhelp.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZGlzcGxheSB2YXJpYWJsZSBoZWxwICp9CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCd0aXRsZV90ZW1wbGF0aW5nX2hlbHAnKX08L2xlZ2VuZD4KICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ25hbWUnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ3R5cGUnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ2Rlc2NyaXB0aW9uJyl9PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KICA8dGJvZHk+CiAge2ZvcmVhY2ggJHZhcnMgYXMgJHZhcn0KICAgIDx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0ncm93MSxyb3cyJ30iPgogICAgICA8dGQ+eyR2YXItPmtleX08L3RkPgogICAgICA8dGQ+eyR2YXItPnR5cGV8ZGVmYXVsdDonJ308L3RkPgogICAgICA8dGQ+eyR2YXItPmRlc2N8ZGVmYXVsdDonJ308L3RkPgogICAgPC90cj4KICB7L2ZvcmVhY2h9CiAgPC90Ym9keT4KICA8L3RhYmxlPgo8L2ZpZWxkc2V0Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/defaultadmin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgogIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fZWRpdF9mb3JtfSI+e2FkbWluX2ljb24gaWNvbj0nbmV3b2JqZWN0LmdpZid9IHskbW9kLT5MYW5nKCdhZGRfbmV3X2Zvcm0nKX08L2E+CiAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9pbXBvcnRfZm9ybX0iPnthZG1pbl9pY29uIGljb249J2ltcG9ydC5naWYnfSB7JG1vZC0+TGFuZygnaW1wb3J0X2Zvcm0nKX08L2E+CiAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1hZG1pbl9pbXBvcnRfY2diZl9mb3JtfSI+e2FkbWluX2ljb24gaWNvbj0naW1wb3J0LmdpZid9IHskbW9kLT5MYW5nKCdpbXBvcnRfY2diZl9mb3JtJyl9PC9hPgo8L2Rpdj4KCntpZiAhZW1wdHkoJGZvcm1zKSAmJiBjb3VudCgkZm9ybXMpfQo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ2lkJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KICAgICAgPHRoPnskbW9kLT5MYW5nKCd0YWcnKX08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgogIDx0Ym9keT4KICAgIHtmb3JlYWNoICRmb3JtcyBhcyAkaWQgPT4gJG5hbWV9CiAgICAgIHtjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fZWRpdF9mb3JtIGZvcm09JGlkIGFzc2lnbj0nZWRpdF91cmwnfQogICAgICA8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9J3JvdzEscm93Mid9Ij4KICAgICAgICA8dGQ+PGEgaHJlZj0ieyRlZGl0X3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZWRpdCcpfSI+eyRpZH08L2E+PC90ZD4KCTx0ZD48YSBocmVmPSJ7JGVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0Jyl9Ij57JG5hbWV9PC9hPjwvdGQ+Cgk8dGQ+e2xkZWxpbX1TbWFydEZvcm1zIGZvcm09JnF1b3Q7eyRuYW1lfSZxdW90O3tyZGVsaW19PC90ZD4KCTx0ZD48YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX2V4cG9ydF9mb3JtIGZvcm09JGlkfSIgdGl0bGU9InskbW9kLT5MYW5nKCdleHBvcnRfZm9ybScpfSI+e2FkbWluX2ljb24gaWNvbj0nZXhwb3J0LmdpZid9PC9hPjwvdGQ+Cgk8dGQ+PGEgaHJlZj0ieyRlZGl0X3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZWRpdCcpfSI+e2FkbWluX2ljb24gaWNvbj0nZWRpdC5naWYnfTwvYT48L3RkPgoJPHRkPjxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fZGVsZXRlX2Zvcm0gZm9ybT0kaWR9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2RlbGV0ZScpfSIgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdjb25maXJtZGVsZXRlJyl9Jyk7Ij57YWRtaW5faWNvbiBpY29uPSdkZWxldGUuZ2lmJ308L2E+PC90ZD4KICAgICAgPC90cj4KICAgIHsvZm9yZWFjaH0KICA8L3Rib2R5Pgo8L3RhYmxlPgoKey9pZn0KCntpZiAkaGF2ZV9jZ2JmfQogICAge2Zvcm1fc3RhcnQgYWN0aW9uPWFkbWluX2ltcG9ydF9kYXRhX2Zyb21fY2diZiBpZD0nY2diZl9pbXBvcnRfZm9ybSd9CiAgPGZpZWxkc2V0PgogICAgPGxlZ2VuZD57JG1vZC0+TGFuZygnaW1wb3J0X2NnYmYnKX06PC9sZWdlbmQ+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogOTUlOyI+CiAgICAgIDxkaXYgY2xhc3M9Indhcm5pbmciIHN0eWxlPSJ3aWR0aDogOTklOyI+PHA+PHN0cm9uZyBzdHlsZT0iY29sb3I6IHJlZDsiPldhcm5pbmc6PC9zdHJvbmc+PC9wPgogICAgICAgIDxwPnskbW9kLT5MYW5nKCdpbmZvX2ltcG9ydF9mcm9tX2NnYmYnKX08L3A+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWRvX2ltcG9ydCIgdmFsdWU9ImRvX2ltcG9ydCIvPgogICAgPGxhYmVsIGZvcj0ieyRhY3Rpb25pZH1kb19kZWxldGUiPkRlbGV0ZSBjdXJyZW50IGRhdGEgYmVmb3JlIGltcG9ydAogICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJ7JGFjdGlvbmlkfWRvX2RlbGV0ZSIgbmFtZT0ieyRhY3Rpb25pZH1kb19kZWxldGUiIHZhbHVlPSIxIj4KICAgIDwvbGFiZWw+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdpbXBvcnQnKX0iLz4KICA8L2ZpZWxkc2V0PgogICAge2Zvcm1fZW5kfQp7L2lmfQoKCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KJChkb2N1bWVudCkKICAucmVhZHkoZnVuY3Rpb24oKQogIHsKCiAgICAkKCcjY2diZl9pbXBvcnRfZm9ybScpLnN1Ym1pdCggZnVuY3Rpb24oZXYpewogICAgICBldi5wcmV2ZW50RGVmYXVsdCgpOwogICAgICBjbXNfY29uZmlybSgneyRtb2QtPkxhbmcoJ2NvbmZpcm1faW1wb3J0X2Zyb21fY2dmYicpfGVzY2FwZTonamF2YXNjcmlwdCd9JykuZG9uZShmdW5jdGlvbigpewogICAgICAgIGV2LmN1cnJlbnRUYXJnZXQuc3VibWl0KCk7CiAgICAgIH0pCiAgICB9KTsKCiAgfSk7Cjwvc2NyaXB0Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogb3JpZ2luYWwgdGVtcGxhdGUgZm9yIGRpc3BsYXlpbmcgZnJvbnRlbmQgZXJyb3JzICp9DQo8ZGl2IGNsYXNzPSJ7JHh0X2Vycm9yY2xhc3N9Ij5TbWFydEZvcm1zIGVycm9yOiB7JHh0X2Vycm9ybXNnfTwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/help.tab.about.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCg0KICA8aDM+QWJvdXQgdGhpcyBtb2R1bGU8L2gzPg0KDQogIDxwPlRoaXMgbW9kdWxlIG9yaWdpbmF0ZWQgaXMgYSBmb3JrIG9mIHRoZSBDR0JGIG1vZHVsZSBmb3IgQ01TTVMgYnkgYnkgUm9iZXJ0IENhbXBiZWxsIDxlbT4oY2FsZ3V5MTAwMCk8L2VtPiBpbiAyMDA4LCBhbmQgc2luY2UgdGhlbiBoYXMgaGFkIG51bWVyb3VzIGNvbnRyaWJ1dGlvbnMgYnkgTW9ydGVuIFBvdWxzZW4gPGVtPihtb3J0ZW5AcG91bHNlbi5vcmcpPC9lbT4uPC9wPg0KICA8cD5JdCBoYXMgYmVlbiBmb3JrZWQgIGJ5IE1vcnRlbiBQb3Vsc2VuIDxlbT4obW9ydGVuQHBvdWxzZW4ub3JnKTwvZW0+IGFuZCBoYXMgYmVlbiAgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIDxlbT4oSm8gTW9yZyk8L2VtPiBmb3IgY29udGludWl0eSBzYWtlLlRoZSBwcm9qZWN0IGlzIGFkbWluaXN0ZXJlZCBieSB0aGUgQ01TIE1hZGUgU2ltcGxlIEZvdW5kYXRpb24gdG8gcHJldmVudCB0aGUgbmVlZCBmb3IgZnVydGhlciBmb3Jrcy48L3A+DQoNCjxoMz5TdXBwb3J0PC9oMz4NCiAgPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCiAgPHA+VGhlIG1vZHVsZSBhdXRob3IgaXMgaW4gbm8gd2F5IG9ibGlnYXRlZCB0byBwcm92aWRlIHN1cHBvcnQgZm9yIHRoaXMgY29kZSBpbiBhbnkgZmFzaGlvbi4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdHMgdXNlOjwvcD4NCiAgSWYgeW91IGZpbmQgYW55IGJ1Z3MgcGxlYXNlIGZlZWwgZnJlZSB0byBzdWJtaXQgYSBidWcgcmVwb3J0IHsqPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9idWcvbGlzdC8xNDY5IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4qfSBvciBmb3IgYW55IGdvb2QgaWRlYXMgY29uc2lkZXIgc3VibWl0dGluZyBhIGZlYXR1cmUgcmVxdWVzdCB7KiA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2ZlYXR1cmVfcmVxdWVzdC9saXN0LzE0NjkiIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPiAqfTsNCiAgPHA+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LiAgV2hlbiBkZXNjcmliaW5nIGFuIGlzc3VlIHBsZWFzZSBtYWtlIGFuIGVmZm9ydCB0byBwcm92aWRlIGFsbCByZWxldmFudCBpbmZvcm1hdGlvbiwgYSB0aG9yb3VnaCBkZXNjcmlwdGlvbiBvZiB5b3VyIGlzc3VlLCBhbmQgc3RlcHMgdG8gcmVwcm9kdWNlIGl0IG9yIHlvdXIgZGlzY3Vzc2lvbiBtYXkgYmUgaWdub3JlZC48L3A+DQogIDxwPlBsZWFzZSBrZWVwIGluIG1pbmQgdGhhdCBkZXZlbG9wZXJzIGRvIGhhdmUgdGhlaXIgZGFpbHkgam9icyB3aGljaCBtZWFucyB0aGF0IGZlYXR1cmUgcmVxdWVzdHMgYXJlIGNvbnNpZGVyZWQgYW5kIGRvbmUgYXMgdGltZSBhbGxvd3MuIElmIHlvdSBuZWVkIGEgZmVhdHVyZSByZWFsbHkgYmFkbHkgY29uc2lkZXIgY29udGFjdGluZyBvbmUgb2YgdGhlIGRldmVsb3BlcnMgZm9yIGEgc3BvbnNvcmVkIGRldmVsb3BtZW50LjwvcD4NCg0KICA8cD5JZiB3YW50IHRvIGhlbHAgdGhlIGRldmVsb3BtZW50IGFuZCBtYWludGVuYW5jZSBvZiB0aGlzIG1vZHVsZSwgcGxlYXNlIGNvbnNpZGVyIDxhIGhyZWY9IiIgaWQ9ImRvbmF0aW5nIj5kb25hdGluZzwvYT4uPC9wPg0KDQoNCiAgPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQoNCiAgPHA+VGhlIE1vZHVsZSBpcyBjdXJyZW50bHkgYmVpbmcgZGV2ZWxvcGVkIGFuZCBtYWludGFpbmVkIGJ5IDxzdHJvbmc+RmVybmFuZG8gTW9yZ2FkbyAoSm8gTW9yZyk8L3N0cm9uZz4NCiAgPGJyPg0KICBXZWI6IDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5zbS1hcnQtbGFiLmNvbSIgcmVsPSJleHRlcm5hbCI+d3d3LnNtLWFydC1sYWIuY29tPC9hPg0KICA8YnI+DQogIEVtYWlsOiA8YSBocmVmPSJtYWlsdG86am9tb3JnQHNtLWFydC1sYWIuY29tIj5qb21vcmdAc20tYXJ0LWxhYi5jb208L2E+DQogIDwvcD4NCiAgeyRzdGFydF9kYXRlID0gJzIwMjMnfQ0KICB7aWYgJHNtYXJ0eS5ub3d8ZGF0ZV9mb3JtYXQ6IiVZIiA9PSAkc3RhcnRfZGF0ZX17JGNyID0gJHN0YXJ0X2RhdGV9e2Vsc2V9eyRjciA9ICJ7JHN0YXJ0X2RhdGV9IC0geyRzbWFydHkubm93fGRhdGVfZm9ybWF0OiclWSd9In17L2lmfQ0KDQogIDxwPkNvcHlyaWdodCAmY29weTsgeyRjcn0gLiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48YnI+PC9wPg0KICA8ZGl2IGNsYXNzPSJtX3RvcF8yNSI+PC9kaXY+DQogIDxwPjxzdHJvbmc+eyRtb2RfZl9uYW1lfTwvc3Ryb25nPiBpcyBmcmVlIHNvZnR3YXJlOzxiciAvPiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgPHN0cm9uZz5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTwvc3Ryb25nPiBhcyBwdWJsaXNoZWQgYnkgdGhlIDxzdHJvbmc+RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uPC9zdHJvbmc+OzxiciAvPiBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCiAgPHA+PHN0cm9uZz57JG1vZF9mX25hbWV9PC9zdHJvbmc+IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCA8c3Ryb25nPldJVEhPVVQgQU5ZIFdBUlJBTlRZPC9zdHJvbmc+OzxiciAvPiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgPHN0cm9uZz5NRVJDSEFOVEFCSUxJVFk8L3N0cm9uZz4gb3IgPHN0cm9uZz5GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRTwvc3Ryb25nPi48L3A+DQogIDxwPlNlZSB0aGVHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLjwvcD4NCiAgPHA+WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgPHN0cm9uZz5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTwvc3Ryb25nPiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTs8YnIgLz4gaWYgbm90LCB3cml0ZSB0byB0aGUgPHN0cm9uZz5GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBPC9zdHJvbmc+IG9yIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPnJlYWQgaXQgb25saW5lPC9hPi48L3A+DQogIDxwPjxzdHJvbmc+WW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyA8c3Ryb25nPnskbW9kX2ZfbmFtZX08L3N0cm9uZz4uPC9zdHJvbmc+PC9wPg0KICA8ZGl2IGNsYXNzPSJtX3RvcF8yNSI+PC9kaXY+DQogIDxoND5Db250cmlidXRvcnM8L2g0Pg0KICA8ZGl2IGNsYXNzPSJtX3RvcF8yNSI+PC9kaXY+DQogIDxwPlJvYmVydCBDYW1wYmVsbCA8ZW0+KGNhbGd1eTEwMDApPC9lbT4gLSBjb2RlLjwvcD4NCiAgPHA+TW9ydGVuIFBvdWxzZW4gPGVtPihzaWxtYXJpbGxpb24pPC9lbT4gLSBjb2RlLjwvcD4NCjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/help.tab.contribute.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCg0KICA8aDM+SG93IENhbiBJIEhlbHA/PC9oMz4NCiAgPHA+SWYgeW91IHdhbnQgdG8gaGVscCB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1haW50ZW5hbmNlIG9mIHRoaXMgbW9kdWxlLCBwbGVhc2UgY29uc2lkZXIgZG9uYXRpbmcuPC9wPg0KICA8cD5BbGwgaGVscCBpcyBhcHByZWNpYXRlZCwgbm8gY29udHJpYnV0aW9uIGlzIHRvbyBzbWFsbCEgVGhlIG1vcmUgcGVvcGxlIGNvbnRyaWJ1dGUgdGhlIG1vcmUgdGltZSBjYW4gYmUgYWxsb2NhdGVkIHRvIHRoZSBtYWludGVuYW5jZSBhbmQgZGV2ZWxvcG1lbnQgb2YgdGhlIG1vZHVsZS4gVGhpcyBhbHNvIGVucmljaGVzIENNUyBNYWRlIFNpbXBsZS48L3A+DQoNCiAgPGg0PlBheVBhbDwvaDQ+DQogIDxwPllvdSBjYW4gY29udHJpYnV0ZSB3aXRoIGEgb25lIHRpbWUgZG9uYXRpb24gb3IgYSByZWN1cnJlbnQgb25lLCBqdXN0IGNsaWNrIG9uOjxwPg0KICAgIDxkaXYgY2xhc3M9Im1fdG9wXzI1Ij48L2Rpdj4NCiAgPHA+DQogICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9kb25hdGUvP2hvc3RlZF9idXR0b25faWQ9MzZMVFhIMjQ4TDdHTCI+DQogICAgICAgIDxpbWcgc3JjPSJ7JHJvb3RfdXJsfS9tb2R1bGVzL3skbW9kLT5HZXROYW1lKCl9L2ltYWdlcy9wcF9idXR0b24ucG5nIiBhbHQ9IlBheVBhbCBEb25hdGUgQnV0dG9uIiAvPg0KICAgICAgPC9hPg0KICA8L3A+DQogIDxkaXYgY2xhc3M9Im1fdG9wXzI1Ij48L2Rpdj4NCiAgPHA+DQogICAgT3IgdXNlIHRoZSBmb2xsb3dpbmcgUVIgY29kZSBmb3IgdGhlIHNhbWUgUGF5UGFsIGFjY291bnQ6IDwvcD4NCiAgPGRpdiBjbGFzcz0ibV90b3BfMjUiPjwvZGl2Pg0KICAgIDxwPjxpbWcgc3JjPSJ7JHJvb3RfdXJsfS9tb2R1bGVzL3skbW9kLT5HZXROYW1lKCl9L2ltYWdlcy9wcF9xcl9jb2RlLnBuZyIgYWx0PSJQYXlQYWwgUVIgQ29kZSIgLz4NCiAgPC9wPg0KICA8ZGl2IGNsYXNzPSJtX3RvcF8yNSI+PC9kaXY+DQo8cD5Ob3RlOiB0aGUgcGF5cGFsIGRvbmF0ZSBsaW5rIGhhcyBiZWVuIHVwZGF0ZWQgdG8gbXkgU21BcnQgTGFiIGFjY291bnQuIEkgd2Fzbid0IHVzaW5nIG15IHBlcnNvbmFsIGFjY291bnQgdGhhdCBtdWNoIGFuZCB0aGUgYWNjb3VudCB3YXMgYmVpbmcgbW9yZSBvZiBhbiBoYXNzbGUgdGhhbiBhbiBhc3NldC4uLiBUaGF0J3MgUFAgZm9yJ3lhLi4uPC9wPg0KICA8aDQ+Qml0Y29pbjwvaDQ+DQogIDxwPiBVc2UgdGhlIGZvbGxvd2luZyBidGMgYWRkcmVzczogPC9wPg0KICA8cD48c3BhbiBpZD0iczEiPjE3RzJKRDQxMXNVM3N3Y3ByTmNHTFFDY0hhWkJ5SzE5OE48L3NwYW4+IDxidXR0b24gb25jbGljaz0iY29weVRvQ2xpcGJvYXJkKCcjczEnKSI+Q29weSB0byBDbGlwYm9hcmQ8L2J1dHRvbj48L3A+DQogIDxwPg0KICAgIE9yIHVzZSB0aGUgZm9sbG93aW5nIFFSIGNvZGU6IDxicj4NCiAgICA8aW1nIHNyYz0ieyRyb290X3VybH0vbW9kdWxlcy97JG1vZC0+R2V0TmFtZSgpfS9pbWFnZXMvYnRjX3FyX2NvZGUucG5nIiBhbHQ9IlBheVBhbCBRUiBDb2RlIiAvPg0KICA8L3A+DQoNCiAgPGgzPkNvbnRyaWJ1dGlvbnM8L2gzPg0KICA8cD5PcGVuIFNvdXJjZSBtb2R1bGUgZGV2ZWxvcG1lbnQgZm9yIENNU01TIGlzIHByZXR0eSBtdWNoIGEgdm9sdW50ZWVyIGNvbW1pdG1lbnQuIFRoZSBkZXZlbG9wZXIgY29tbWl0cyB0aGUgdGltZSBoZSBjYW4gc3BhcmUgdG8gdGhlIHByb2plY3RzIGhlIGNvbnNpZGVycyBpbXBvcnRhbnQgdG8gdGhlIGZ1dHVyZSBvZiB0aGUgZ3JlYXRlciBwcm9qZWN0IHRoYXQgQ01TTVMgaXMuIFNvbWV0aW1lcyB3aGF0IG9uZSBiZWxpZXZlcyBpcyBpbXBvcnRhbnQgaXMgbm90IGNvbnZlcmdlbnQgd2l0aCB3aGF0IHRoZSBjb21tdW5pdHkgYmVsaWV2ZXMgdG8gYmUgaW1wb3J0YW50LiBTb21ldGltZXMgaXQncyBhIHdha2V1cCBjYWxsIGFuZCB0aGUgZGV2ZWxvcGVyIGVtYnJhY2VzIHNvbWUgb2YgdGhlIGNvbW11bml0eSdzIHZpc2lvbiwgc29tZXRpbWVzIGJvdGggdmlzaW9ucyBhcmUgbm90IGNvbXBhdGlibGUuIEl0J3MgYSBiYWxhbmNlIGRpZmZpY3VsdCB0byBhY2hpZXZlLCBidXQgYnJpbmdzIG1vcmUgcmVzcG9uc2liaWxpdHkgdG8gdGhlIGRldmVsb3Blci4gQnV0IGFsc28gcmVxdWlyZXMgc29tZSBlbXBhdGh5IGZyb20gdGhlIGNvbW11bml0eS4gQW5kIHRpbWUuLi48L3A+DQogIDxwPlBsZWFzZSBrZWVwIGluIG1pbmQgdGhhdCBkZXZlbG9wZXJzIGRvIGhhdmUgdGhlaXIgZGFpbHkgam9icyB3aGljaCBtZWFucyB0aGF0IGZlYXR1cmUgcmVxdWVzdHMgYXJlIGNvbnNpZGVyZWQgYW5kIGRvbmUgYXMgdGltZSBhbGxvd3MuIElmIHlvdSBuZWVkIGEgZmVhdHVyZSByZWFsbHkgYmFkbHkgY29uc2lkZXIgY29udGFjdGluZyBvbmUgb2YgdGhlIGRldmVsb3BlcnMgZm9yIGEgc3BvbnNvcmVkIGRldmVsb3BtZW50LjwvcD4NCiAgPHA+QW5vdGhlciB3YXkgdGhhdCAna2lja3MgdGhlIGNhbicgZm9yd2FyZCB3aGlsZSBtb3RpdmF0aW5nIHRoZSBtb2R1bGUgZGV2ZWxvcGVyIGlzIHRvIHNwb25zb3IgZmVhdHVyZXMgdGhhdCB3ZWIgZGV2ZWxvcGVycyB3b3VsZCBsaWtlIHRvIHNlZSBpbXBsZW1lbnRlZC4gV2ViIGRldmVsb3BlcnMsIG1vcmUgb2Z0ZW4gdGhhdCBub3QsIGtub3cgd2hhdCB0aGUgZmluYWwgY2xpZW50IHdhbnRzIG9yIG5lZWRzIGFuZCBoZWxwIGJyaWRnaW5nIHRoZSBnYXAgYmV0d2VlbiB0aGUgZmluYWwgdXNlciBhbmQgdGhlIG9yaWdpbmFsIGNyZWF0b3Igb2YgdGhlIG1vZHVsZXMuIEtlZXAgaW4gbWluZCB0aGF0IG1vZHVsZXMsIG1vcmUgdGhhbiB0aGUgQ01TTVMgY29yZSwgYXJlIHBhcnRpY3VsYXJseSBhcHQgdG8gY292ZXIgc2l0ZXMgc3BlY2lhbCBuZWVkcywgdGhlIGNvcmUgYmVpbmcgdGhlIHN1cHBvcnQgYXJvdW5kIHdoaWNoIGFsbCB0aGluZ3MgYXJlIHBvc3NpYmxlLiBTbywgaWYgc2VlIHRoZSBuZWVkIGZvciBhIHBhcnRpY3VsYXIgZmVhdHVyZSBpbiBhbiBleGlzdGluZyBtb2R1bGUsIG9yIGEgYmVzcG9rZSBtb2R1bGUgZm9yIGEgc3BlY2lhbCBuZWVkLCBzZWUgaWYgdGhlIGZpbmFsIGN1c3RvbWVyIGNhbiBmaXQgaW4gdGhlIGJ1ZGdldCB0aGUgc3BvbnNvcnNoaXAgb2YgdGhhdCBwcm9qZWN0LiBBc2sgYSBkZXZlbG9wZXIgb3IgdGhlIGFjdHVhbCBtb2R1bGUgZGV2ZWxvcGVyIGlmIGl0cyBhIG1vZHVsZSBmZWF0dXJlIHRoYXQgaXMgcmVxdWVzdGVkLCBmb3IgYW4gZXN0aW1hdGUgZm9yIHRoZSBqb2IgYW5kIHRyeSB0byBtYWtlIGl0IHBvc3NpYmxlLiBTb21ldGltZXMgaXQgbWF5IGJlIGNoZWFwZXIgdGhhbiBpdCBsb29rcywgb3RoZXIgdGltZXMgaXQgbWF5IGJlIHBvc3NpYmxlIHZpYSBzb21lIHNvcnQgb2YgY3Jvd2QgZnVuZGluZy4gV2hlbiBpdCBoYXBwZW5zLCBpdCdzIGEgd2luLXdpbiBzaXR1YXRpb24uIFRoZSBjb21tdW5pdHkgd2lucywgdGhlIHdlYiBkZXZlbG9wZXIgd2lucywgdGhlIGNsaWVudCB3aW5zLCBDTVNNUyB3aW5zIGFuZCB0aGUgbW9kdWxlIGRldmVsb3BlciB3aW5zLjwvcD4NCiAgPHA+QSBkaWZmZXJlbnQgd2F5IHRoYXQgaGVscHMgdG9vOiBmb3VuZCBhIGJ1Zz8gZmlsZSBhIGJ1ZyByZXBvcnQuIEJ1dCBwbGVhc2UsIGJlIGFzIHRob3JvdWdoIGluIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYnVnLCB0aGUgY2lyY3Vtc3RhbmNlcyBhbmQgZW52aXJvbm1lbnQgd2hlcmUgaXQgaGFwcGVuZWQgYW5kIHRoZSBzdGVwcyB0byByZXByb2R1Y2UgaXQ7IGlmIHRoZSBkZXZlbG9wZXIgY2FuJ3QgcmVwcm9kdWNlIHRoZSBidWcgaXQgd2lsbCBiZSBkaWZmaWN1bHQsIGlmIG5vdCBpbXBvc3NpYmxlLCB0byBmaXggaXQ6IGFzIGZhciBhcyB0aGUgZGV2ZWxvcGVyIGlzIGNvbmNlcm5lZCBpZiBpdCBjYW5ub3QgYmUgcmVwcm9kdWNlZCBpdCBkb2Vzbid0IGV4aXN0LiBCZXR0ZXIgeWV0LCBpZiB5b3Uga25vdyBob3cgdG8gZml4IGl0LCBzdWdnZXN0IHRoZSBwb3NzaWJsZSBmaXguIElmIHZhbGlkLCB0aGUgZGV2ZWxvcGVyIHdpbGwgc3VyZWx5IGluY2x1ZGUgaXQuPC9wPg0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/help.tab.general.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQoNCiAgPHA+VGhpcyBpcyBhIG5ldyBnZW5lcmF0aW9uIG9mIGZvcm0gaGFuZGxpbmcgbW9kdWxlIHRoYXQgcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIHdlYiBwcm9mZXNzaW9uYWxzIHRvIGJ1aWxkIGZvcm1zIHRoZSB3YXkgdGhleSBrbm93IGhvdywgdXNpbmcgSFRNTCwgQ1NTIGFuZCBqYXZhc2NyaXB0IGFuZCB0aGVuIGVhc2lseSBkZWZpbmUgd2hhdCBzaG91bGQgaGFwcGVuIHdpdGggdGhlIGRhdGEgdXNlcnMgc3VibWl0dGVkLjwvcD4NCiAgPHA+VGhpcyBtb2R1bGUgY2FuIGFsbG93IHlvdSB0byBjcmVhdGUgd2VsbCBzdHlsZWQsIGR5bmFtaWMgZm9ybXMsIHVzaW5nIHdoYXRldmVyIHRvb2xraXQgeW91IGxpa2UgKEJvb3RzdHJhcCwgRm91bmRhdGlvbiwgZXRjKS4gIGFuZCBpbnRlZ3JhdGUgamF2YXNjcmlwdC4gVGhlbiBxdWlja2x5IGRlZmluZSBob3cgdGhlIGZvcm0gZGF0YSBzaG91bGQgYmUgcHJvY2Vzc2VkLjwvcD4NCg0KICA8aDM+RmVhdHVyZXM8L2gzPg0KICA8cD5BbW9uZ3N0IG90aGVycywgdGhlc2UgYXJlIHRoZSBtYWluIGZlYXR1cmVzOjwvcD4NCiAgPHVsPg0KICAgIDxsaT5Zb3UgY3JlYXRlIHRoZSBmb3JtLCBhbmQgY2FuIGdldCBpdCBsb29raW5nIHRoZSB3YXkgeW91IHdhbnQuPC9saT4NCiAgICA8bGk+QWxsb3dzIGZvciBqYXZhc2NyaXB0IHZhbGlkYXRpb24sIGFuZCBIVE1MNSBmaWVsZCB0eXBlcy48L2xpPg0KICAgIDxsaT5DYW4gdmVyaWZ5IGRhdGEgZnJvbSBIVE1MNSBhdHRyaWJ1dGVzIG9uIHRoZSBzZXJ2ZXIgc2lkZSwgIGV2ZW4gaWYgdGhlIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGVtIG5hdGl2ZWx5LjwvbGk+DQogICAgPGxpPlByb3ZpZGVzIGRhdGEgYXR0cmlidXRlcyB0byBhc3Npc3QgaW4gcmVuZGVyaW5nIGFuZCBoYW5kbGluZyB0aGUgZm9ybS48L2xpPg0KICAgIDxsaT5JbnRlZ3JhdGVzIHdpdGggc21hcnR5PC9saT4NCiAgICA8bGk+VGFrZXMgYWR2YW50YWdlIG9mIENNU01TIDIuMisgZmVhdHVyZXMgbGlrZSB0ZW1wbGF0ZSB0eXBlcyBhbmQgaG9va3M8L2xpPg0KICAgIDxsaT5UZXN0cyB5b3VyIGNvZGUgdG8gdGVsbCB5b3UgYWJvdXQgcGFyc2luZyBlcnJvcnMgYW5kIHBvdGVudGlhbCByZW5kZXJpbmcsIG9yIHN1Ym1pc3Npb24gcHJvYmxlbXMuPC9saT4NCiAgICA8bGk+U3VwcG9ydHMgZmlsZSB1cGxvYWRzPC9saT4NCiAgICA8bGk+QWRkcmVzc2VzIHNlY3VyaXR5IGlzc3VlczoNCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPlN1cHBvcnRzIGNhcHRjaGE8L2xpPg0KICAgICAgICA8bGk+SGFzIGJ1aWx0IGluIGhvbmV5cG90IGNhcHRjaGEgc3VwcG9ydDwvbGk+DQogICAgICAgIDxsaT5FYWNoIHJlcXVlc3QgaXMgYXNzaWduZWQgYSB1bmlxdWUgR1VJRCwgd2hpY2ggaXMgdmFsaWRhdGVkIG9uIHN1Ym1pc3Npb24uPC9saT4NCiAgICAgICAgPGxpPkF1dG9tYXRpY2FsbHkgZGlzYWxsb3dzIEhUTUwgdGFncyBpbiBzdWJtaXR0ZWQgcmVzcG9uc2VzLjwvbGk+DQogICAgICAgIDxsaT5Gb3JtIGF0dHJpYnV0ZXMgYXJlIHBhcnNlZCBhbmQgc3RvcmVkIGluIHRoZSBkYXRhYmFzZSwgYW5kIHZhbGlkYXRlZCBvbiB0aGUgc2VydmVyIHRvIG1pdGlnYXRlIE1hbi1pbi10aGUtTWlkZGxlIGF0dGFja3MuPC9saT4NCiAgICAgIDwvdWw+DQogICAgPC9saT4NCiAgICA8bGk+SGFzIG11bHRpcGxlIHNlcnZlci1zaWRlIGRhdGEgdmFsaWRhdGlvbiByb3V0aW5lczwvbGk+DQogICAgPGxpPkF1dG9tYXRpY2FsbHkgc2V0IGZpZWxkIHZhbHVlcyBiYXNlZCBvbiBlbnRlcmVkIHJlc3BvbnNlLCB3aXRob3V0IHJlcXVpcmluZyBtYXJrdXAgb3IgbG9naWMuPC9saT4NCiAgICA8bGk+Q3JlYXRlIHZhbGlkYXRpb25zIGJ5IGF1dG9tYXRpY2FsbHkgcGFyc2luZyB5b3VyIEhUTUwgYW5kIHRlbXBsYXRlLjwvbGk+DQogICAgPGxpPk11bHRpcGxlIGJ1aWx0LWluIGhhbmRsZXJzL2Rpc3Bvc2l0aW9ucy48L2xpPg0KICAgIDxsaT5FYXNpbHkgYWRkIGhhbmRsZXJzIGFuZCBkaXNwb3NpdGlvbnMgdmlhIHRoZSBBUEkuPC9saT4NCiAgICA8bGk+U3VwcG9ydHMgaG9va3MgZm9yIHZhbGlkYXRpb24gYW5kIGRpc3Bvc2l0aW9uL2hhbmRsaW5nLjwvbGk+DQogIDwvdWw+DQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/help.tab.how.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgPGgzPkhvdyBkbyBJIHVzZSBpdDwvaDM+DQogIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBtb2R1bGUgaXMgYWltZWQgYXQgdGhlIGV4cGVyaWVuY2VkIENNU01TIHdlYiBwcm9mZXNzaW9uYWwuIFlvdSBzaG91bGQgaGF2ZSBnb29kIGV4cGVyaWVuY2Ugd2l0aCBDTVNNUywgSFRNTCwgQ1NTIGFuZCBwb3RlbnRpYWxseSBqYXZhc2NyaXB0LjwvcD4NCiAgPHA+VGhlIGZvbGxvd2luZyBhcmUgdGhlIHN0ZXBzIHJlcXVpcmVkIHRvIHVzZSB0aGlzIG1vZHVsZTwvcD4NCiAgPG9sPg0KICAgIDxsaT5DcmVhdGUgeW91ciBmb3JtIEhUTUwgdGVtcGxhdGU6DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPkNyZWF0ZSBhIG5ldyB0ZW1wbGF0ZSBvZiB0eXBlIDxjb2RlPlNtYXJ0Rm9ybXM6OkZvcm08L2NvZGU+IGluIHRoZSBEZXNpZ24gbWFuYWdlci4gQmUgY2FyZWZ1bCB0byByZW1lbWJlciB0aGUgbmFtZSB5b3UgZ2l2ZSB0aGUgbmV3IHRlbXBsYXRlLjwvbGk+DQogICAgICAgICA8bGk+Q29weS9wYXN0ZSBvciBlbnRlciB5b3VyIEhUTUwgZm9ybSBjb2RlIGludG8gdGhlIHRlbXBsYXRlLiBTYXZlIHdoZW4gcmVhZHkuPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDwvbGk+DQogICAgPGxpPkNyZWF0ZSBhIG5ldyBjb250ZW50IHBhZ2UgYW5kIHRlc3QgeW91ciBmb3JtIEhUTUwNCiAgICAgICA8cD5BZGQgdGhpcyBjb2RlIHRvIHRoZSBjb250ZW50IGFyZWE6PC9wPg0KICAgICAgIDxwcmU+JiMxMjM7aW5jbHVkZSBmaWxlPSdjbXNfdGVtcGxhdGU6eW91cl90ZW1wbGF0ZV9uYW1lJ308L3ByZT4NCiAgICAgICA8cD5UaGlzIGlzIGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB5b3Ugd2lsbCBiZSBjaGFuZ2luZyBpdCBsYXRlciBvbmNlIHRoZSBmb3JtIGxvb2tzIGdvb2QuPC9wPg0KICAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gWW91IHByb2JhYmx5IHdhbnQgdG8gZGlzYWJsZSB0aGUgV1lTSVdZRyBlZGl0b3IgZm9yIHRoaXMgbmV3IGNvbnRlbnQgcGFnZS48L3A+DQogICAgPC9saT4NCiAgICA8bGk+RWRpdCwgc3R5bGUsIGFuZCBjb2RlIHlvdXIgZm9ybSBIVE1MIHRlbXBsYXRlLg0KICAgICAgIDxwPlNhdmUgdGhlIGNvbnRlbnQgcGFnZSBhbmQgdmlldyBpdCBpbiB5b3VyIGJyb3dzZXIuIFlvdSBzaG91bGQgdGVzdCBvdXQgeW91ciBIVE1MLCBDU1MsIGFuZCBqYXZhc2NyaXB0LiBFbnN1cmUgeW91ciBmb3JtIGlzIHJlc3BvbnNpdmUsIGFuZCB0ZXN0IGZvciBIVE1MIGFuZCB2YWxpZGF0aW9uIGZ1bmN0aW9uYWxpdHkuIFlvdSBjYW4gZXZlbiBzdWJtaXQgeW91ciBmb3JtLCB0aG91Z2ggYXQgdGhpcyBwb2ludCBpdCBzaG91bGQgbm90IGRvIGFueXRoaW5nIGV4Y2VwdCByZWZyZXNoIHRoZSBwYWdlLjwvcD4NCiAgICAgICA8cD5Zb3UgbWF5IG5lZWQgdG8gcmVwZWF0ZWRseSByZWxvYWQgdGhlIGNvbnRlbnQgcGFnZSBhcyB5b3UgYXJlIGVkaXRpbmcgdGhlIEhUTUwsIGFuZCBzdHlsaW5nIHlvdXIgZm9ybS48L3A+DQogICAgICAgPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBZb3VyIEhUTUwgZm9ybSB0YWcgc2hvdWxkIGJlIGFzIHNpbXBsZSBhcyA8Y29kZT4mbHQ7Zm9ybSZndDs8L2NvZGU+LiBQYXJ0aWN1bGFybHksIHlvdSBzaG91bGQgbGVhdmUgb3V0IHRoZSBtZXRob2QsIGFuZCBhY3Rpb24gYXR0cmlidXRlcy4gTGF0ZXIsIHdoZW4gdGhlIFNtYXJ0Rm9ybXMgbW9kdWxlIGlzIHJlbmRlcmluZyB5b3VyIGZvcm0sIGFueSBpbXBvcnRhbnQgZm9ybSBhdHRyaWJ1dGVzIGFuZCBoaWRkZW4gdmFyaWFibGVzIHdpbGwgYmUgaW5qZWN0ZWQuIFlvdSBjYW4gdGhvdWdoIGFkZCBhbnkgaWQsIGNsYXNzIGFuZCBzdHlsZSBhdHRyaWJ1dGVzIHRoYXQgeW91IHdpc2guPC9wPg0KICAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gSXQgaXMgaW1wb3J0YW50IHRoYXQgeW91ciBIVE1MIHZhbGlkYXRlIGFzIG11Y2ggYXMgcG9zc2libGUuIFNvIGl0IGlzIGEgZ29vZCBpZGVhIHRvIGNoZWNrIHlvdXIgb3V0cHV0IHdpdGggYSB2YWxpZGF0b3IuIEFsc28gY2hlY2sgdGhlIGphdmFzY3JpcHQgY29uc29sZSBmb3Igd2FybmluZ3Mgb3IgZXJyb3JzLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5DcmVhdGUgYSBmb3JtIGluIFNtYXJ0Rm9ybXMgYW5kIGxpbmsgaXQgdG8geW91ciBmb3JtIHRlbXBsYXRlLg0KICAgICAgIDxvbD4NCiAgICAgICA8bGk+QnJvd3NlIHRvIDxjb2RlPkV4dGVuc2lvbnMgPj4geyRtb2RfZl9uYW1lfTwvY29kZT4gaW4gdGhlIENNU01TIGFkbWluIHBhbmVsLCBhbmQgY3JlYXRlIGEgbmV3IGZvcm0uPC9saT4NCiAgICAgICA8bGk+U2VsZWN0IHRoZSBuYW1lIG9mIHRoZSBmb3JtIHlvdSBjcmVhdGVkIGFuZCBlZGl0ZWQgYWJvdmUuLi4gYW5kIG9wdGlvbmFsbHkgcHJvdmlkZSBhIGRlc2NyaXB0aW9uLjwvbGk+DQogICAgICAgPGxpPkNsaWNrICZxdW90O3NjYW4mcXVvdDsgdGhpcyB3aWxsIHBhcnNlIHlvdXIgSE1UTCB0ZW1wbGF0ZSBhbmQgcHJvdmlkZSBmZWVkYmFjayBvbiB0aGUgJnF1b3Q7bWVzc2FnZXMmcXVvdDsgdGFiIHRvIGluZGljYXRlIGVycm9ycyBhbmQgcG9zc2libGUgaW1wcm92ZW1lbnRzLjwvbGk+DQogICAgICAgPGxpPlJldmlldyB0aGUgY29udGVudCBvZiB0aGUgJnF1b3Q7ZmllbGRzJnF1b3Q7IHRhYiB0byBlbnN1cmUgdGhhdCBhbGwgbmVjZXNzYXJ5IGZpZWxkcyBhcmUgcHJlc2VudCwgYW5kIHRoYXQgZXZlcnl0aGluZyBsb29rcyBjb3JyZWN0LjwvbGk+DQogICAgICAgPGxpPkFkZCBvbmUgb3IgbW9yZSAmcXVvdDtoYW5kbGVycyZxdW90OzwvbGk+DQogICAgICAgPGxpPkVudGVyIGluIHNvbWUgdGV4dCwgb3Igc2VsZWN0IGEgZmluYWwgYWN0aW9uLjwvbGk+DQogICAgICAgPGxpPlNhdmUgeW91ciBmb3JtLjwvbGk+DQogICAgICAgPC9vbD4NCiAgICA8L2xpPg0KICAgIDxsaT5DaGFuZ2UgdGhlIGNhbGwgdG8gcmVuZGVyIHlvdXIgZm9ybS4NCiAgICAgIDxwPkVkaXQgdGhlIHBhZ2UgeW91IGNyZWF0ZWQgaW4gc3RlcCAyIGFib3ZlLCBhbmQgY2hhbmdlIHRoZSBjYWxsIHRvIDxjb2RlPiYjMTIzO1NtYXJ0Rm9ybXMgZm9ybT0neW91cmZvcm1uYW1lJ308L2NvZGU+LiBUaGVuIHNhdmUgdGhlIGNvbnRlbnQgcGFnZS48L3A+DQogICAgPC9saT4NCiAgICA8bGk+VGVzdA0KICAgICAgPHA+UmVsb2FkIHRoZSBjb250ZW50IHBhZ2Ugd2UgY3JlYXRlZCBhYm92ZSBpbiB5b3VyIGJyb3dzZXIsIGFuZCBlbnN1cmUgZXZlcnl0aGluZyBsb29rcyBjb3JyZWN0LiBBbmQgdGhlbiB0ZXN0IHRoZSBzdWJtaXNzaW9uIG9mIHRoZSBmb3JtLjwvcD4NCiAgICAgIDxwPkJlaGF2aW9yIG9mIHRoZSBmb3JtIHdpbGwgYmUgZGVwZW5kYW50IHVwb24gd2hhdCBmb3JtIG9wdGlvbnMgYXJlIHNlbGVjdGVkLCB3aGF0IHZhbGlkYXRpb25zIGFyZSBzZWxlY3RlZCwgYW5kIHRoZSBoYW5kbGVycy48L3A+DQogICAgPC9saT4NCiAgPC9vbD4NCg0KICA8aDM+QnVpbHQgaW4gRm9ybSBhbmQgVGVtcGxhdGUgVGVzdHM8L2gzPg0KICA8dWw+DQogICAgPGxpPlZhbGlkYXRlIHRlbXBsYXRlIGNvbnRlbnRzIDxlbT4oVGVtcGxhdGVWYWxpZGF0b3IpPC9lbT4NCiAgICAgIDxwPlRoaXMgdGVzdCBjaGVja3MgZm9yIHZhbGlkIGZvcm0gc3RhcnRpbmcgYW5kIGVuZGluZyB0YWdzLCB3aGV0aGVyIHRoZXkgYXJlIHByb3ZpZGVkIHZpYSBIVE1MIHRhZ3MsIG9yIHRoZSBDTVNNUyAmIzEyMztmb3JtX3N0YXJ0fSBhbmQgJiMxMjM7Zm9ybV9lbmR9IHRhZ3MuIEl0IGFsc28gY2hlY2tzIGlmIHlvdXIgdGVtcGxhdGUgaXMgY2FsbGluZyAmIzEyMztzbXRmbV9mb3JtX2Vycm9yc30gdG8gcmV0cmlldmUgdmFsaWRhdGlvbiBlcnJvcnMuPC9wPg0KICAgIDwvbGk+DQogICAgPGxpPkZvcm0gVmFsaWRhdGlvbiA8ZW0+KEZvcm1UYWdWYWxpZGF0b3IpPC9lbT4NCiAgICAgIDxwPlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgeW91ciB0ZW1wbGF0ZSBjb250YWlucyBvbmx5IG9uZSBmb3JtLCBhbmQgY2hlY2tzIHRvIGVuc3VyZSB0aGF0IHlvdSBoYXZlIG5vdCBwcm92aWRlZCBhbnkgZm9ybSBhdHRyaWJ1dGVzIHRoYXQgd2lsbCBiZSBvdmVycmlkZGVuIGJ5IHRoZSBmb3JtIHJlbmRlcmluZyBwcm9jZXNzLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5UZXN0IGZvciBtaXNzaW5nIGlucHV0IG5hbWVzIDxlbT4oRm9ybU1pc3NpbmdOYW1lVmFsaWRhdG9yKTwvZW0+DQogICAgICA8cD5XaGVuIHN1Ym1pdHRpbmcgYSBmb3JtIHRvIGEgc2VydmVyLCB0aGUgbmFtZSBvZiBlYWNoIGlucHV0LCB0ZXh0YXJlYSwgYW5kIHNlbGVjdCBmaWVsZCBpcyBtYW5kYXRvcnkuIFRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgZWFjaCBvZiB0aG9zZSBmaWVsZHMgaGFzIGEgdmFsaWQgbmFtZSBhdHRyaWJ1dGUuPC9wPg0KICAgIDwvbGk+DQogICAgPGxpPlRlc3QgZm9yIG1pc3NpbmcgbGFiZWxzIDxlbT4oRm9ybU1pc3NpbmdMYWJlbFZhbGlkYXRvcik8L2VtPg0KICAgICAgPHA+VGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBlYWNoIGlucHV0IGhhcyBzb21lIHNvcnQgb2YgbGFiZWwgZGV0ZWN0ZWQuIFRoZSBsYWJlbCBpcyB1c2VkIGF1dG9tYXRpY2FsbHkgYnkgZm9ybSBoYW5kbGVycyBhcyB0aGUgaHVtYW4tcmVhZGFibGUgdmFsdWUgZm9yIGVhY2ggZmllbGQgd2hlbiBzYXZuZyB0aGUgZm9ybS48L3A+DQogICAgPC9saT4NCiAgICA8bGk+VGVzdCBmb3IgbWlzc2luZyB2YWx1ZXMgPGVtPihGb3JtTWlzc2luZ1ZhbHVlVmFsaWRhdG9yKTwvZW0+DQogICAgICA8cD5Tb21lIGlucHV0cyAobGlrZSBjaGVja2JveGVzLCBhbmQgcmFkaW8gYnV0dG9ucykgcmVxdWlyZSBhIHZhbHVlIGF0dHJpYnV0ZSwgYW5kIHJlcXVpcmUgaXQgdG8gYmUgZmlsbGVkIGluIHNvIHRoYXQgZGF0YSBjYW4gYmUgcHJvcGVybHkgdHJhbnNtaXR0ZWQgdG8gdGhlIHNlcnZlci4gVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBlYWNoIG9mIHlvdXIgZmllbGRzIGhhcyBhIHZhbHVlLCBhcyByZXF1aXJlZC48L3A+DQogICAgPC9saT4NCiAgICA8bGk+RHVwbGljYXRlIElEIHRlc3QgPGVtPihGb3JtRHVwbGljYXRlSWRWYWxpZGF0b3IpPC9lbT4NCiAgICAgIDxwPkFzIGEgY29udmVuaWVuY2UsIHRob3VnaCBpdCBpcyBub3QgaW1wb3J0YW50IGZvciB0aGUgZm9ybSBzdWJtaXNzaW9uIHByb2Nlc3MsIHRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgbm8gdHdvIGlucHV0IGZpZWxkcyBoYXZlIHRoZSBzYW1lIGlkLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5EdXBsaWNhdGUgbmFtZSB0ZXN0IDxlbT4oRm9ybUR1cGxpY2F0ZU5hbWVWYWxpZGF0b3IpPC9lbT4NCiAgICAgIDxwPlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgdGhlIG5hbWUgb2YgaW5wdXQgZmllbGRzIGlzIG5vdCBlcnJvbmVvdXNseSBkdXBsaWNhdGVkLiBXZSBjaGVjayBmb3IgZHVwbGljYXRlIG5hbWVzIHdpdGggZGlmZmVyZW50IHR5cGVzIG9mIGZpZWxkcy4gSXQgaWdub3JlcyByYWRpbyBidXR0b24gZ3JvdXBzLCBhbmQgb3RoZXIgZmllbGRzIHdoZXJlIGl0IGlzIHZhbGlkIHRvIGR1cGxpY2F0ZSB0aGUgaW5wdXQgbmFtZS48L3A+DQogICAgPC9saT4NCiAgPC91bD4NCg0KICA8aDM+Rm9ybSBTY2FubmluZyBhbmQgU2F2aW5nPC9oMz4NCiAgPHA+VGhpcyBtb2R1bGUgc3RvcmVzIG1ldGFkYXRhIGFib3V0IHRoZSBmb3JtIHRlbXBsYXRlIGluIHRoZSBkYXRhYmFzZS4gVGhpcyBtZXRhZGF0YSBpcyB1c2VkIGZvciBidWlsZGluZyB2YWxpZGF0b3JzIGFuZCBoYW5kbGVycywgYW5kIG9uIHRoZSBmcm9udGVuZCB0byBhaWQgaW4gcmVuZGVyaW5nLCB2YWxpZGF0aW9uIGFuZCBoYW5kbGluZy4gVGhlcmVmb3JlLCBlYWNoIHRpbWUgdGhlIGZvcm0gdGVtcGxhdGUgaXMgY2hhbmdlZCB0aGUgZm9ybSBtdXN0IGJlIHJlLXNjYW5uZWQuPC9wPg0KICA8cD5UaGUgc2Nhbm5pbmcgcHJvY2VzcyB3aWxsIHBhcnNlIHRoZSBIVE1MIG9mIHRoZSBmb3JtIHRlbXBsYXRlLCBhbmQgYnVpbGQgbWV0YWRhdGEuIEl0IHdpbGwgb3V0cHV0IGEgbGlzdCBvZiBwb3RlbnRpYWwgcHJvYmxlbXMgd2l0aCB5b3VyIGZvcm0uIGkuZS46IGludmFsaWQgc3ludGF4LCBtaXNzaW5nIGxhYmVscywgZXRjLiBTb21lIG9mIHRoZXNlIG1lc3NhZ2VzIG1heSBiZSBpbnRlbnRpb25hbCwgb3IgbWF5IGJlIGFuIGVycm9yIGluIHRoZSB0ZW1wbGF0ZS4gRWFjaCBkZXZlbG9wZXIgd2lsbCBuZWVkIHRvIGRldGVybWluZSB0aGlzIGZvciBoaW1zZWxmLjwvcD4NCg0KICA8aDM+UHJlLXJlbmRlciBsb2dpYzwvaDM+DQogIDxwPlRoaXMgc21hcnR5IHRlbXBsYXRlIGFsbG93cyB5b3UgdG8gaW5pdGlhbGl6ZSBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgdXNlIGluIHRoZSBmb3JtIGZvciB1c2Ugd2hlbiB0aGUgZm9ybSBpcyBpbml0aWFsbHkgZGlzcGxheWVkIChpLmUuOiBub3QgdGhlIHJlc3VsdCBvZiBhIHN1Ym1pc3Npb24pLiBJdCBpcyB1c2VmdWwgZm9yIHNldHRpbmcgdGhlIGRlZmF1bHQgdmFsdWUgb2YgaW5wdXQgZmllbGRzIGJhc2VkIG9uIHNvbWUgbG9naWMuPC9wPg0KICA8cD5UaGlzIGlzIGFjY29tcGxpc2hlZCBieSB1c2luZyB0aGUgPGNvZGU+JiMxMjM7c210Zm1fc2V0fTwvY29kZT4gc21hcnR5IHBsdWdpbi4gaS5lOiA8Y29kZT4mIzEyMztzbXRmbV9zZXQgZmllbGQ9d2lkZ2V0X2NvbG9yIHZhbHVlPXdoaXRlfTwvY29kZT4uPC9wPg0KICA8cD5UaGlzIHNpbXBsZSBleGFtcGxlLCB3aWxsIHNldCB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgYSBmaWVsZCBuYW1lZCAmcXVvdDt3aWRnZXRfY29sb3ImcXVvdDsgdG8gd2hpdGUgb24gc3VuZGF5czo8L3A+DQogIDxwcmU+PGNvZGU+JiMxMjM7aWYgJHNtYXJ0eS5ub3d8ZGF0ZV9mb3JtYXQ6JyVkJyA9PSAwfSYjMTIzO3NtdGZtX3NldCBmaWVsZD13aWRnZXRfY29sb3IgdmFsdWU9J3doaXRlJ30mIzEyMzsvaWZ9PC9jb2RlPjwvcHJlPg0KDQogIDxoMz5TdWJtaXNzaW9uIFZhbGlkYXRpb25zPC9oMz4NCiAgPHA+U3VibWlzc2lvbiB2YWxpZGF0aW9ucyB0YWtlIHRoZSB1c2VyIGVudGVyZWQgcmVzcG9uc2UsIGFuZCBlbnN1cmUgdGhhdCBpdCBjb25mb3JtcyB0byB0aGUgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCBlaXRoZXIgaW4gdGhlIGZvcm0gaXRzZWxmLCBvciB2aWEgYWRkaXRpb25hbCB2YWxpZGF0b3JzIHlvdSBhZGRlZC4gVGhleSBtYXkgYWxzbyBtb2RpZnkgdGhlIHJlc3BvbnNlLiBVc3VhbGx5IHRob3VnaCB0aGV5IGRvIG5vdCBzdG9yZSB0aGUgZGF0YSBvciBzZW5kIHRoZSBkYXRhIGFueXdoZXJlLjwvcD4NCiAgPHA+SWYgYW55IHZhbGlkYXRpb25zIGZhaWwsIHRoZSBlcnJvciBtZXNzYWdlcyBhcmUgY29sbGVjdGVkIGFuZCB0aGUgZm9ybSBpcyByZS1yZW5kZXJlZCwgd2l0aG91dCBleGVjdXRpbmcgYW55IG9mIHRoZSBoYW5kbGVycy48L3A+DQogIDxwPkJlbG93IGlzIGEgbGlzdCBvZiB0aGUgc3VibWlzc2lvbiB2YWxpZGF0aW9ucyB0aGF0IGFyZSBidWlsdCBpbiB0byB7JG1vZF9mX25hbWV9LjwvcD4NCiAgPHVsPg0KICAgIDxsaT5DaGVjayBmb3IgSFRNTCBpbiBpbnB1dCBzdWJtaXNzaW9uIDxlbT4oSHRtbERldGVjdGlvblZhbGlkYXRpb24pPC9lbT4NCiAgICAgICA8cD5UaGlzIHZhbGlkYXRpb24gZW5zdXJlcyB0aGF0IGEgdXNlciBoYXMgbm90IGFueSBpbmplY3RlZCBIVE1MIGNvZGUgKGluY2x1ZGluZyBwb3RlbnRpYWxseSBtYWxpY2lvdXMgc2NyaXB0IHRhZ3MpIGludG8gYW55IHN1Ym1pdHRlZCBmaWVsZHMuPC9wPg0KICAgICAgIDxwPlRoaXMgdGVzdCBpcyBhZGRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gYXV0by12YWxpZGF0aW9uIGlzIGVuYWJsZWQuPC9wPg0KICAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyB2YWxpZGF0b3IgZG9lcyBub3Qgb2JleSB0aGUgZGF0YS1zbXRmbS1ub3ZhbGlkYXRlIGF0dHJpYnV0ZS48L3A+DQogICAgPC9saT4NCiAgICA8bGk+Q2hlY2sgZm9yIHJlcXVpcmVkIGRhdGEgPGVtPihIdG1sUmVxdWlyZWRGaWVsZFZhbGlkYXRpb24pPC9lbT4NCiAgICAgICA8cD5UaGlzIHZhbGlkYXRpb24gZW5zdXJlcyB0aGF0IHRoZXJlIGlzIHNvbWUgZGF0YSBpbiBldmVyeSBmaWVsZCB0aGF0IGlzIG1hcmtlZCBhcyByZXF1aXJlZC4gRWl0aGVyIHZpYSB0aGUgPGNvZGU+cmVxdWlyZWQ8L2NvZGU+IEhUTUw1IGF0dHJpYnV0ZSBvciB0aGUgPGNvZGU+ZGF0YS1zbXRmbS1yZXF1aXJlZDwvY29kZT4gYXR0cmlidXRlLjwvcD4NCiAgICAgICA8cD5UaGlzIHRlc3QgaXMgYWRkZWQgYXV0b21hdGljYWxseSB3aGVuIGF1dG8tdmFsaWRhdGlvbiBpcyBlbmFibGVkLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5DaGVjayB0aGUgdmFsdWUgb2YgYWxsIFNlbGVjdCBmaWVsZHMsIHJhZGlvLWJ1dHRvbiBncm91cHMsIGFuZCBjaGVja2JveC1ncm91cHMgPGVtPihTZWxlY3RGaWVsZFZhbGlkYXRpb24pPC9lbT4NCiAgICAgICA8cD5UaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGZvciBlYWNoIG9mIHRoZSBtdWx0aS1vcHRpb24gKHNlbGVjdCBmaWVsZHMsIHJhZGlvLWJ1dHRvbi1ncm91cHMgYW5kIGNoZWNrYm94LWdyb3VwcykgZmllbGRzIHRoYXQgb25seSBhIHZhbGlkIHZhbHVlIGlzIHN1Ym1pdHRlZC48L3A+DQogICAgICAgPHA+VGhpcyB0ZXN0IGlzIGFkZGVkIGF1dG9tYXRpY2FsbHkgd2hlbiBhdXRvLXZhbGlkYXRpb24gaXMgZW5hYmxlZCBhbmQgb25lIG9yIG1vcmUgbXVsdGktb3B0aW9uIGZpZWxkcyBhcmUgZGV0ZWN0ZWQuPC9wPg0KICAgIDwvbGk+DQogICAgPGxpPkNoZWNrIHRoZSB2YWx1ZSBvZiBhbGwgZW1haWwgZmllbGRzLiA8ZW0+KEVtYWlsUHJpbWl0aXZpZVZhbGlkYXRpb24pPC9lbT4NCiAgICAgICA8cD5UaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGZvciBlYWNoIGVtYWlsIGZpZWxkIChkZW5vdGVkIGJ5IGVpdGhlciA8Y29kZT50eXBlPSJlbWFpbCI8L2NvZGU+IG9yIDxjb2RlPmRhdGEtc210Zm0tcHJpbWFyeT0iZW1haWwiPC9jb2RlPikgVGhhdCBlYWNoIG9mIHRoZSB2YWx1ZXMgY29udGFpbnMgYSB2YWxpZCBlbWFpbCBhZGRyZXNzLjwvcD4NCiAgICAgICA8cD5UaGlzIHRlc3QgaXMgYWRkZWQgYXV0b21hdGljYWxseSB3aGVuIGF1dG8tdmFsaWRhdGlvbiBpcyBlbmFibGVkIGFuZCBvbmUgb3IgbW9yZSBlbWFpbCBmaWVsZHMgYXJlIGRldGVjdGVkLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5DaGVjayB0aGUgdmFsdWUgb2YgYWxsIGRhdGUgZmllbGRzLiA8ZW0+KERhdGVQcmltaXRpdmVWYWxpZGF0aW9uKTwvZW0+DQogICAgICAgPHA+VGhpcyB0ZXN0IHdpbGwgZW5zdXJlIHRoYXQgZm9yIGVhY2ggZGF0ZSBmaWVsZCAoZGVub3RlZCBieSBlaXRoZXIgPGNvZGU+dHlwZT0iZGF0ZSI8L2NvZGU+IG9yIDxjb2RlPmRhdGEtc210Zm0tcHJpbWFyeT0iZGF0ZSI8L2NvZGU+KSBUaGF0IGVhY2ggb2YgdGhlIHZhbHVlcyBpcyBhIHZhbGlkIGRhdGUuIFRoaXMgdGVzdCB3aWxsIGFsc28gdmFsaWRhdGUgdGhlIHZhbHVlcyBnaXZlbiBhbnkgcmFuZ2UgYXR0cmlidXRlcyBzdWNoIGFzIG1pbixtYXgsZGF0YS1zbXRmbS1taW4sZGF0YS1zbXRmbS1tYXguIEEgZGF0ZSBzdHJpbmcgbXVzdCBiZSBpbiB0aGUgZm9ybWF0IG9mIHl5eXktbW0tZGQuPC9wPg0KICAgICAgIDxwPlRoaXMgdGVzdCBpcyBhZGRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gYXV0by12YWxpZGF0aW9uIGlzIGVuYWJsZWQgYW5kIG9uZSBvciBtb3JlIGRhdGUgZmllbGRzIGFyZSBkZXRlY3RlZC48L3A+DQogICAgPC9saT4NCiAgICA8bGk+RW5zdXJlIHRoYXQgYWxsIHVwbG9hZHMgY29uZm9ybSB0byB0aGUgc3BlY2lmaWNhdGlvbnMuIDxlbT4oRmlsZVZhbGlkYXRvcik8L2VtPg0KICAgICAgIDxwPlRPRE88L3A+DQogICAgICAgPHA+VGhpcyB0ZXN0IGlzIGFkZGVkIGF1dG9tYXRpY2FsbHkgd2hlbiBhdXRvLXZhbGlkYXRpb24gaXMgZW5hYmxlZCwgYW5kIG9uZSBvciBtb3JlIGZpbGUgZmlsZXMgYXJlIGRldGVjdGVkLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5DaGVjayB0aGUgdmFsdWUgb2Ygc3BlY2lmaWMgaW50ZWdlciBmaWVsZHMuIDxlbT4oSW50ZWdlckZpZWxkVmFsaWRhdGlvbik8L2VtPg0KICAgICAgIDxwPlRoaXMgdGVzdCB3aWxsIGVuc3VyZSB0aGF0IHRoZSBzcGVjaWZpZWQgZmllbGQgaXMgYW4gaW50ZWdlciwgYW5kIHRoYXQgaXQncyB2YWx1ZXMgY29uZm9ybSB0byBkZXZlbG9wZXIgZW50ZXJlZCByYW5nZSB2YWx1ZXMuPC9wPg0KICAgIDwvbGk+DQogICAgPGxpPkNoZWNrIHRoZSB2YWx1ZSBvZiBzcGVjaWZpYyBmbG9hdCBmaWVsZHMuIDxlbT4oRmxvYXRGaWVsZFZhbGlkYXRpb24pPC9lbT4NCiAgICAgICA8cD5UaGlzIHRlc3Qgd2lsbCBlbnN1cmUgdGhhdCB0aGUgc3BlY2lmaWVkIGZpZWxkIGlzIGEgZmxvYXQsIGFuZCB0aGF0IGl0J3MgdmFsdWVzIGNvbmZvcm0gdG8gZGV2ZWxvcGVyIGVudGVyZWQgcmFuZ2UgdmFsdWVzLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5FbnN1cmUgdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWMgZmllbGQgbWF0Y2hlcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbi9wYXR0ZXJuLiA8ZW0+KFJlZ2V4RmllbGRWYWxpZGF0aW9uKTwvZW0+DQogICAgICAgPHA+VGhpcyB0ZXN0IHdpbGwgZW5zdXJlIHRoYXQgYWxsIHRoZSB2YWx1ZXMgb2YgdGhlIHNwZWNpZmllZCBmaWVsZCBtYXRjaCB0aGUgcHJvdmlkZWQgcmVndWxhciBleHByZXNzaW9uL3BhdHRlcm4uPC9wPg0KICAgICAgIDxwPlRoaXMgdGVzdCBpcyBhZGRlZCBhdXRvbWF0aWNhbGx5IGZvciBlYWNoIGZpZWxkIHdpdGggYSBwYXR0ZXJuLCBvciBkYXRhLXNtdGZtLXBhdHRlcm4gYXR0cmlidXRlIHdoZW4gYXV0by12YWxpZGF0aW9uIGlzIGVuYWJsZWQgaW4gdGhlIGZvcm0uPC9wPg0KICAgIDwvbGk+DQogICAgPGxpPkVuc3VyZSB0aGUgdmFsdWUgb2YgYSBzcGVjaWZpYyBmaWVsZCBpcyBhbiBlbWFpbCBhZGRyZXNzLiA8ZW0+KEVtYWlsRmllbGRWYWxpZGF0aW9uKTwvZW0+DQogICAgICAgPHA+VGhpcyB0ZXN0IHdpbGwgZW5zdXJlIHRoYXQgYWxsIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHNwZWNpZmllZCBmaWVsZCBhcmUgdmFsaWQgZW1haWwgYWRkcmVzc2VzLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5WYWxpZGF0ZSB2aWEgU21hcnR5IFRlbXBsYXRlLiA8ZW0+KFRlbXBsYXRlVmFsaWRhdGlvbik8L2VtPg0KICAgICAgIDxwPlRoaXMgdmFsaWRhdG9yIGFsbG93cyB5b3UgdG8gdXNlIHNtYXJ0eSB0byB2YWxpZGF0ZSB0aGUgZm9ybSBzdWJtaXNzaW9uLiBZb3UgY2FuIHVzZSBzbWFydHkgbG9naWMsIGFuZC9vciBVRFRzIG9yIG90aGVyIHBsdWdpbnMgdG8gZXZhbHVhdGUgdGhlIGNvbnRlbnQuIElmIHRoZSB0ZXN0IGZhaWxzLCB0aGUgdGVtcGxhdGUgc2hvdWxkIG91dHB1dCBhbiBlcnJvciBtZXNzYWdlLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5Db21wdXRlIHRoZSB2YWx1ZSBvZiBhIGZpZWxkLCBnaXZlbiBhIHRlbXBsYXRlLiA8ZW0+KENvbXB1dGVkVmFsdWUpPC9lbT4NCiAgICAgICA8cD5UaGlzIGlzIGEgc3BlY2lhbCBraW5kIG9mIHZhbGlkYXRpb24gdGVzdC4gSXQgaXMgY2FwYWJsZSBvZiBjb21wdXRpbmcgdGhlIHZhbHVlIG9mIG9uZSBmaWVsZCBnaXZlbiB0aGUgb3RoZXIgZGF0YSBpbiB0aGUgc3VibWl0dGVkIHJlc3BvbnNlLiBJdCBpcyB1c2VmdWwgZm9yIGRvaW5nIGNhbGN1bGF0aW9ucyBhbmQgcHV0dGluZyB0aGUgb3V0cHV0IGludG8gYSBuZXcgZmllbGQsIG9yIGZvciBhZGp1c3RpbmcgdGhlIHZhbHVlIG9mIG9uZSBmaWVsZCBiYXNlZCBvbiBsaW1pdHMgc3BlY2lmaWVkIGluIG90aGVyIGZpZWxkcy48L3A+DQogICAgICAgPHA+VGhlIG91dHB1dCBvZiBhIHNtYXJ0eSB0ZW1wbGF0ZSA8ZW0+KGEgc3RyaW5nKTwvZW0+IHJlcGxhY2VzIHRoZSB2YWx1ZSBvZiBhIHNwZWNpZmllZCBmaWVsZC48L3A+DQogICAgPC9saT4NCiAgICA8bGk+VXNlIGEgaG9vayB0byB2YWxpZGF0ZSB0aGUgcmVzcG9uc2UuIDxlbT4oSG9va1ZhbGlkYXRpb24pPC9lbT4NCiAgICAgICA8cD5UaGlzIHZhbGlkYXRpb24gY2FsbHMgYSBob29rIGVudGl0bGVkIDxjb2RlPlNtYXJ0Rm9ybXM6OnZhbGlkYXRlRm9ybTwvY29kZT4gYW5kIHBhc3NlcyB0aGUgZW50aXJlIGZvcm0gcmVzcG9uc2UuIFRoZSBob29rIGhhbmRsZXJzIGNhbiBjaG9vc2UgdG8gbW9kaWZ5IHRoZSByZXNwb25zZSwgb3IgdG8gcGVyZm9ybSB2YXJpb3VzIG90aGVyIHRlc3RzLiBJZiBhIHRlc3QgZmFpbHMsIHRoZW4gaXQgaXMgZXhwZWN0ZWQgdG8gdGhyb3cgYSBzcGVjaWFsIGV4Y2VwdGlvbi48L3A+DQogICAgPC9saT4NCiAgPC91bD4NCg0KICA8aDM+QnVpbHQgaW4gSGFuZGxlcnMvRGlzcG9zaXRpb25zPC9oMz4NCiAgPHA+Rm9ybSBoYW5kbGVycyBhcmUgZXhlY3V0ZWQgYWZ0ZXIgYWxsIHN1Ym1pc3Npb24gdmFsaWRhdGlvbnMgaGF2ZSBwYXNzZWQsIGFuZCBhcmUgdXNlZCB0byAmcXVvdDtkbyB0aGluZ3MmcXVvdDsgd2l0aCB0aGUgZGF0YS4gVGhleSBkbyBub3QgdHlwaWNhbGx5IG1vZGlmeSB0aGUgb3V0cHV0IGRhdGEuPC9wPg0KICA8cD5JZiBhbiBlcnJvciBvY2N1cnMgaW4gYSBkaXNwb3NpdGlvbiwgdGhlIGVycm9yIGlzIG5vcm1hbGx5IGxvZ2dlZCBpbiBzb21lIGZvcm1hdCAodGhpcyBpcyB0aGUgdGFzayBvZiB0aGUgc3BlY2lmaWMgaGFuZGxlciksIGFuZCBwcm9jZXNzaW5nIGNvbnRpbnVlcy48L3A+DQogIDxwPkJlbG93IGlzIGEgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGJ1aWx0LWluIGRpc3Bvc2l0aW9ucy48L3A+DQogIDx1bD4NCiAgICA8bGk+U2F2ZSB0aGUgcmVzdWx0cyB0byBhIGZpbGUgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGEgbXVsdGktb3B0aW9uIGZpZWxkLjwvbGk+DQogICAgPGxpPlNhdmUgdGhlIHJlc3VsdHMgdG8gYSB1bmlxdWUgZmlsZS48L2xpPg0KICAgIDxsaT5TYXZlIHRoZSByZXN1bHRzIHRvIGEgZmxhdCBmaWxlIDxlbT4odXN1YWxseSBDU1YpPC9lbT48L2xpPg0KICAgIDxsaT5TZW5kIHRoZSByZXN1bHRzIHZpYSBlbWFpbCBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgYSBtdWx0aS1vcHRpb24gZmllbGQuPC9saT4NCiAgICA8bGk+U2VuZCB0aGUgcmVzdWx0cyB2aWEgZW1haWwgdG8gc3BlY2lmaWVkIGVtYWlsIGFkZHJlc3Nlcy48L2xpPg0KICAgIDxsaT5TZW5kIHRoZSByZXN1bHRzIHZpYSBlbWFpbCB0byBhIHVzZXIgc3BlY2lmaWVkIGVtYWlsIGFkZHJlc3MuPC9saT4NCiAgICA8bGk+UE9TVCBmb3JtIHJlc3VsdHMgdG8gYSBVUkwvV2ViSG9vay48L2xpPg0KICAgIDxsaT5SZWRpcmVjdCB0byBhIFVSTCBiYXNlZCBvbiB0aGUgb3V0cHV0IG9mIGEgdGVtcGxhdGUuPC9saT4NCiAgICA8bGk+UmVkaXJlY3QgdG8gYSBwYWdlIGJhc2VkIG9uIHRoZSBvdXRwdXQgb2YgYSB0ZW1wbGF0ZS48L2xpPg0KICAgIDxsaT5Vc2UgYSBob29rIHRvIGhhbmRsZS9kaXNwb3NlIG9mIHRoZSByZXNwb25zZS48L2xpPg0KICAgIDxsaT5TdG9yZSBmb3JtIHJlc3VsdHMgdG8gdGhlIHNlc3Npb24gZm9yIGxhdGVyIHByb2Nlc3NpbmcuPC9saT4NCiAgICA8bGk+U3RvcCBQcm9jZXNzaW5nIERpc3Bvc2l0aW9ucyBiYXNlZCBvbiBhIENvbmRpdGlvbjwvbGk+DQogIDwvdWw+DQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/help.tab.how_2.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgPGgzPkNvbW1vbiBFcnJvcnMgYW5kIFByb2JsZW1zLjwvaDM+DQogIDx1bD4NCiAgICA8bGk+Q291bGQgbm90IHJldHJpZXZlIGZvcm0gb2JqZWN0DQogICAgICAgPHA+eyRtb2RfZl9uYW1lfSB1c2VzIHRoZSBzZXNzaW9uIHdoZW4gZWRpdGluZyBhIGZvcm0uIFRoaXMgbWVzc2FnZSBpbmRpY2F0ZXMgdGhhdCB0aGUgc2Vzc2lvbiBoYXMgdGltZWQgb3V0LCBhbmQgYW55dGhpbmcgdW4tc2F2ZWQgaW4geW91ciBmb3JtIGhhcyBiZWVuIGxvc3QuIFBsZWFzZSBlbnN1cmUgdGhhdCB5b3Ugc2F2ZSB5b3VyIGZvcm0gb2Z0ZW4uPHA+DQogICAgPC9saT4NCiAgICA8bGk+TW9kaWZpY2F0aW9uIG9mIGZpZWxkIHZhcmlhYmxlcyBpbiBzbWFydHkNCiAgICAgICA8cD5FYWNoIHRlbXBsYXRlIHVzZWQgYnkgZWFjaCB2YWxpZGF0aW9uIG9yIGhhbmRsZXIgaW4gdGhlIHskbW9kX2ZfbmFtZX0gbW9kdWxlIHVzZXMgaXRzIG93biBzY29wZSB0byBwcmV2ZW50IHZhcmlhYmxlIG5hbWUgY29uZmxpY3RzLiBGb3IgdGhpcyByZWFzb24geW91IGNhbm5vdCBtb2RpZnkgdGhlIHZhbHVlcyBvZiB0aGUgcmVzcG9uc2UgYnkgZWRpdGluZyB0aGUgc21hcnR5IHZhcmlhYmxlcy48L3A+DQogICAgPC9saT4NCiAgICA8bGk+TmFtZXMgb2YgbXVsdGlzZWxlY3QgZmllbGRzIG9yIGNoZWNrYm94IGdyb3Vwcy4NCiAgICAgICA8cD5XaGVuIHNlbmRpbmcgbXVsdGlwbGUgdmFsdWVzIGZvciBhIHNwZWNpZmljIGZpZWxkIHRvIHRoZSBzZXJ2ZXIsIFBIUCBleHBlY3RzIGFuIGFycmF5LiBUbyB0ZWxsIFBIUCB0byBleHBlY3QgYW4gYXJyYXkgb2YgdmFsdWVzLCBbXSBtdXN0IGJlIGFkZGVkIHRvIHRoZSBuYW1lIG9mIHRoZSBtdWx0aXNlbGVjdCBmaWVsZCwgb3IgdG8gdGhlIG5hbWUgb2YgZWFjaCBjaGVja2JveCBpbiBhIGNoZWNrYm94IGdyb3VwLjwvcD4NCiAgICAgICA8cD5XaGVuIHJlbmRlcmluZyB0aGUgZm9ybSwgeyRtb2RfZl9uYW1lfSB3aWxsIGF0dGVtcHQgdG8gZGV0ZWN0IHRoZSBlZmZlY3RlZCBmaWVsZHMsIGFuZCBhdXRvbWF0aWNhbGx5IGFwcGVuZCB0aGUgW10gdG8gdGhlIGZpZWxkIG5hbWVzIGFzIGFwcHJvcHJpYXRlLiBZb3UgY2FuIGRpc2FibGUgdGhpcyB3aXRoIHRoZSA8Y29kZT5kYXRhLXNtdGZtLW5vbmFtZWFkanVzdDwvY29kZT4gYXR0cmlidXRlIG9uIHRoZSBmb3JtIHRhZy48L3A+DQogICAgPC9saT4NCiAgICA8bGk+Q29uZGl0aW9uYWwgb3IgZHluYW1pYyBmaWVsZHMgKHZpYSBzbWFydHkpDQogICAgICA8cD5UaGUgc2NhbiBmdW5jdGlvbmFsaXR5IG9mIHskbW9kX2ZfbmFtZX0gaXMgYW4gYWRtaW4gc2lkZSBhY3Rpb24gdGhhdCB0YWtlcyB5b3VyIGZvcm0gdGVtcGxhdGUsIHBhc3NlcyBpdCB0aHJvdWdoIHNtYXJ0eSwgYW5kIHRoZW4gcGFyc2VzIHRoZSByZXN1bHRpbmcgSFRNTCBjb2RlLiB7JG1vZF9mX25hbWV9IHRoZW4gYnVpbGRzIGEgbGlzdCBvZiB0aGUgZmllbGRzIGFuZCB0aGVyZSB2YXJpb3VzIG9wdGlvbnMgYW5kIGF0dHJpYnV0ZXMgZm9yIHVzZSBpbiByZW5kZXJpbmcsIGhhbmRsZXJzIGFuZCBkaXNwb3NpdGlvbnMuIFRoZSBzbWFydHkgZW52aXJvbm1lbnQgaW4gdGhlIGFkbWluIGludGVyZmFjZSBpcyBkaWZmZXJlbnQgdGhhbiB0aGF0IGluIHRoZSBmcm9udGVuZCwgb3IgZXZlbiBvbiBkaWZmZXJlbnQgQ01TTVMgY29udGVudCBwYWdlcyBvciBkaWZmZXJlbnQgc3RhdGUgb2YgeW91ciBhcHBsaWNhdGlvbi4gVGhlcmVmb3JlLCBpdCBpcyBub3QgcG9zc2libGUgdG8gZHluYW1pY2FsbHkgYWRkIGFuZCByZW1vdmUgZmllbGRzIGZyb20gdGhlIHRlbXBsYXRlIHVzaW5nIGxvZ2ljIGluIHNtYXJ0eSB0ZW1wbGF0ZXMgb3IgZHluYW1pY2FsbHkgcmV0cmlldmVkIGZyb20gdGhlIGRhdGFiYXNlLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5UcnkgdG8gYXZvaWQgdGhlIHVzZSBvZiBzbWFydHkgY29uZGl0aW9uYWxzIHRvIGRpc3BsYXkgZm9ybXMgaW4geW91ciB0ZW1wbGF0ZSwgdXNlIGphdmFzY3JpcHQgd2hlcmUgcG9zc2libGUuIEhvd2V2ZXIsIGlmIHRoZXJlIGFyZSBzbWFydHkgY29uZGl0aW9uYWxzIHRoYXQgY29udHJvbCB0aGUgZGlzcGxheSBvZiBjZXJ0YWluIGZpZWxkcywgdGhlbiBpdCBpcyBzdHJvbmdseSBhZHZpc2VkIHRoYXQgeW91IGNyZWF0ZSBhIGhpZGRlbiBmaWVsZCBhcyBhIHBsYWNlIGhvbGRlciBmb3IgdGhhdCBmaWVsZCBwcmlvciB0byB0aGUgY29uZGl0aW9uYWwuIFRoaXMgd2lsbCB1c3VhbGx5IGVuc3VyZSB0aGF0IHRoZSBmaWVsZCBuYW1lIGlzIHNjYW5uZWQuPC9saT4NCiAgPC91bD4NCg0KICA8aDM+Q29udHJvbGxpbmcgZm9ybSBiZWhhdmlvciB3aXRoIGF0dHJpYnV0ZXM8L2gzPg0KICA8dWw+DQogICAgPGxpPlVzaW5nIHJlZ3VsYXIgSFRNTDUgYXR0cmlidXRlcw0KICAgICAgPHA+IHskbW9kX2ZfbmFtZX0gd2lsbCBwYXJzZSBhbmQgcmVtZW1iZXIgdGhlIHZhbHVlIG9mIHZhcmlvdXMgSFRNTCBpbnB1dCBhdHRyaWJ1dGVzLiBpLmU6IHJlcXVpcmVkLCBtaW4sIG1heCBhbmQgcGF0dGVybi4gVGhlc2Ugd2lsbCBiZSB1c2VkIHRvIGFsc28gcGVyZm9ybSBzZXJ2ZXItc2lkZSB2YWxpZGF0aW9uIG9uIHRoZSBzdWJtaXR0ZWQgZGF0YS48L3A+DQogICAgICA8cD5Vc2luZyB0aGVzZSBhdHRyaWJ1dGVzIHRvIHZhbGlkYXRlIGRhdGEgb24gdGhlIHNlcnZlciBzaWRlIGlzIGEgZ29vZCB3YXkgb2YgbWl0aWdhdGluZyBtYW4taW4tdGhlLW1pZGRsZSBhdHRhY2tzLCBvciBkb2luZyBkYXRhIHZhbGlkYXRpb24gd2hlbiB0aGUgc2l0ZSB2aXNpdG9yIGlzIHVzaW5nIGEgYnJvd3NlciB0aGF0IGRvZXMgbm90IGVuZm9yY2UgdGhlbS48L3A+DQogICAgPC9saT4NCiAgICA8bGk+RGF0YSBhdHRyaWJ1dGVzIGZvciByZW5kZXJpbmcNCiAgICAgIDxwPlRoZSBmb2xsb3dpbmcgZGF0YSBhdHRyaWJ1dGVzIGFyZSBoaW50cyB0byB0aGUgcmVuZGVyZXIgdG8gbWFrZSBpdCBlYXN5IGZvciB0aGUgZGV2ZWxvcGVyIHRvIGludGVncmF0ZSBzbWFydHkgaW50byBhIGZvcm0sIHRvIGluY2x1ZGUgY2FwdGNoYSwgYW5kIG90aGVyIHRoaW5ncy48L3A+DQogICAgICA8dWw+DQogICAgICAgIDxsaT48Y29kZT5kYXRhLXNtdGZtLWNhcHRjaGE8L2NvZGU+IC0gVGhpcyBhdHRyaWJ1dGUgaW5kaWNhdGVzIHdoZXJlIHRoZSBjYXB0Y2hhIGRpc3BsYXkgd2lsbCBhcHBlYXIuDQogICAgICAgICAgIDxwPklmIHNwZWNpZmllZCwgYW5kIGlmIENhcHRjaGEgaXMgaW5zdGFsbGVkIGFuZCBlbmFibGVkLCB1cG9uIHJlbmRlcmluZyB0aGUgZm9ybSwgdGhlIGNhcHRjaGEgZGlzcGxheSB3aWxsIGJlIGFwcGVuZGVkIHRvIGNvbnRlbnRzIG9mIHRoZSBtYXRjaGluZyBlbGVtZW50LjwvcD4NCiAgICAgICAgICA8cD5JZiB0aGUgY2FwdGNoYSBkaXNwbGF5IHJlcXVpcmVzIGFuIGlucHV0IGZpZWxkLCBhbmQgbm8gZWxlbWVudCB3aXRoIHRoZSBkYXRhLXNtdGZtLWNhcHRjaGEtaW5wdXQgYXR0cmlidXRlIGV4aXN0cywgdGhlbiB0aGUgY2FwdGNoYSBpbnB1dCBmaWVsZCB3aWxsIGFsc28gYmUgYXBwZW5kZWQgdG8gdGhlIGNvbnRlbnRzIG9mIHRoaXMgZWxlbWVudC48L3A+DQogICAgICAgIDwvbGk+DQogICAgICAgIDxsaT48Y29kZT5kYXRhLXNtdGZtLWNhcHRjaGEtaW5wdXQ8L2NvZGU+IC0gVGhpcyBhdHRyaWJ1dGUgaW5kaWNhdGVzIHdoZXJlLCBpZiBuZWNlc3NhcnkgYW55IGlucHV0IGZpZWxkIG5lZWRlZCBieSB0aGUgY2FwdGNoYSBkaXNwbGF5IHdpbGwgYmUgaW5zZXJ0ZWQuDQogICAgICAgICAgIDxwPlNvbWUgY2FwdGNoYSBtZXRob2RzIHJlcXVpcmUgdGhlIHVzZXIgdG8gZW50ZXIgc29tZSB0ZXh0LiBVc2luZyB0aGlzIGF0dHJpYnV0ZSBhbGxvd3MgdGhlIGZvcm0gY3JlYXRvciB0byBkZWZpbmUgd2hlcmUgYW5kIGhvdyB0aGUgaW5wdXQgZmllbGQgd2lsbCBiZSBkaXNwbGF5ZWQuPC9wPg0KICAgICAgICA8L2xpPg0KICAgICAgICA8bGk+PGNvZGU+ZGF0YS1zbXRmbS1ub25hbWVhZGp1c3Q8L2NvZGU+IC0gVGhpcyBhdHRyaWJ1dGUgd2lsbCBkaXNhYmxlIHRoZSBhdXRvbWF0aWMgYXBwZW5kaW5nIG9mIFtdIHRvIG5hbWVzIG9mIG11bHRpc2VsZWN0IGlucHV0IGZpZWxkcywgb3IgaW4gY2hlY2tib3ggZ3JvdXBzLiBVc2Ugd2l0aCBjYXV0aW9uLjwvbGk+DQogICAgICAgIDxsaT48Y29kZT5kYXRhLXNtdGZtLW5vYXV0b3ZhbHVlPC9jb2RlPiAtIFRoaXMgYXR0cmlidXRlIGlzIHVzZWZ1bCB0byBkaXNhYmxlIGF1dG9tYXRpY2FsbHkgc2V0dGluZyB0aGUgdmFsdWUgb2YgZm9ybSBmaWVsZHMgYmFzZWQgb24gcHJlc2V0IG9yIHVzZXIgZW50ZXJlZCBkYXRhLg0KICAgICAgICAgICA8cD5XaGVuIGFwcGxpZWQgdG8gdGhlIGZvcm0gZWxlbWVudCwgbm8gYXV0b21hdGljIGZpZWxkIHZhbHVlL2NvbnRlbnQvc2VsZWN0ZWQvY2hlY2tlZCBwcm9jZXNzaW5nIHdpbGwgb2NjdXIgZm9yIGFueSBmaWVsZCB3aXRoaW4gdGhlIGZvcm0uPC9wPg0KICAgICA8cD53aGVuIGFwcGxpZWQgdG8gYW4gaW5kaXZpZHVhbCBmaWVsZCwgYXV0b21hdGljIGNhbGN1bGF0aW9uIHdpbGwgYmUgZGlzYWJsZWQgZm9yIHRoYXQgc3BlY2lmaWMgZmllbGQuPC9wPg0KICAgICA8cD5TZWUgdGhlIHNlY3Rpb24gYmVsb3cgcmVnYXJkaW5nIHNldHRpbmcgZmllbGQgdmFsdWVzLjwvcD4NCiAgICAgICAgPC9saT4NCiAgICAgICAgPGxpPjxjb2RlPmRhdGEtc210Zm0tc2VsZWN0ZWQ8L2NvZGU+IC0gVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZnVsIG9uIDxjb2RlPiZsdDtzZWxlY3QmZ3Q7PC9jb2RlPiBlbGVtZW50cyBhbmQgcmFkaW8tYnV0dG9uIGdyb3VwcyB0byBpbmRpY2F0ZSB0aGUgdmFsdWUgb2YgdGhlIHNlbGVjdGVkIG9wdGlvbi4gaS5lLjo8YnIvPg0KICA8cHJlPiZsdDtzZWxlY3QgbmFtZT0ibXlzZWxlY3QiIGRhdGEtc210Zm0tc2VsZWN0ZWQ9JnF1b3Q7JiMxMjM7JGZvcm1fZGF0YS0mZ3Q7bXlzZWxlY3R8ZGVmYXVsdDonPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij5vcHQyPC9zcGFuPid9JnF1b3Q7Jmd0Ow0KICAgICAgJmx0O29wdGlvbiB2YWx1ZT0ib3B0MSImZ3Q7T3B0aW9uIDEmbHQ7L29wdGlvbiZndDsNCiAgICAgICZsdDtvcHRpb24gdmFsdWU9IjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+b3B0Mjwvc3Bhbj4iJmd0O09wdGlvbiAyJmx0Oy9vcHRpb24mZ3Q7DQogICAgICAmbHQ7b3B0aW9uIHZhbHVlPSJvcHQzIiZndDtPcHRpb24gMyZsdDsvb3B0aW9uJmd0Ow0KICAmbHQ7L3NlbGVjdCZndDs8L3ByZT4NCiAgICAgICAgICA8cD5UaGlzIGF0dHJpYnV0ZSBoYXMgbm8gZWZmZWN0IG9uIGNoZWNrYm94IGdyb3VwcywgdGV4dGFyZWFzLCBvciBvdGhlciB0eXBlcyBvZiBpbnB1dCBmaWVsZHMuPC9wPg0KICAgIDxwPlJhZGlvIGJ1dHRvbiBncm91cHMgb3Igc2VsZWN0IGVsZW1lbnRzIHdpdGggdGhpcyBhdHRyaWJ1dGUgYXJlIG5vdCBzdWJqZWN0IHRvIGF1dG8tdmFsdWUgY2FsY3VsYXRpb25zLjwvcD4NCiAgICAgICAgPC9saT4NCiAgICAgIDwvdWw+DQogICAgPC9saT4NCiAgICA8bGk+RGF0YSBhdHRyaWJ1dGVzIHRvIGFpZGUgc2VydmVyIHNpZGUgZm9ybSB2YWxpZGF0aW9uDQogICAgICA8dWw+DQogICAgICAgIDxsaT5kYXRhLXNtdGZtLW5vdmFsaWRhdGUNCiAgICAgICAgICAgPHA+VGhpcyBhdHRyaWJ1dGUsIG9uIGFueSBpbnB1dCwgc2VsZWN0LCBvciB0ZXh0YXJlYSBmaWVsZHMgaW5kaWNhdGVzIHRvIGRpc2FibGUgYWxsIHNlcnZlci1zaWRlIHZhbGlkYXRpb24gZm9yIHRoYXQgZmllbGQuIFNvbWUgdmFsaWRhdG9ycyBtYXkgbm90IG9iZXkgaXQuPC9wPg0KICAgICAgICA8L2xpPg0KICAgICAgICA8bGk+ZGF0YS1zbXRmbS1hY2NlcHQNCiAgICAgICAgICAgPHA+QXBwbGljYWJsZSBvbmx5IHRvIGZpbGUgZmllbGRzLCB0aGlzIGF0dHJpYnV0ZSBjYW4gY29udGFpbiBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHdpbGRjYXJkIG1pbWUgdHlwZXMgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgZmlsZXMgdGhhdCBhcmUgYWNjZXB0ZWQuIGkuZS46IDxjb2RlPmRhdGEtc210Zm0tYWNjZXB0PSJpbWFnZS8qLHRleHQvKiI8L2NvZGU+LjwvcD4NCiAgICAgICAgPC9saT4NCiAgICAgICAgPGxpPmRhdGEtc210Zm0tbWF4c2l6ZQ0KICAgICAgICAgICA8cD5BcHBsaWNhYmxlIG9ubHkgdG8gZmlsZSBmaWVsZHMsIHRoaXMgYXR0cmlidXRlIGNhbiBzcGVjaWZ5IGEgbWF4aW11bSBzaXplIDxlbT4oaW4gYnl0ZXMpPC9lbT4gZm9yIGFueSBzaW5nbGUgZmlsZSB1cGxvYWRlZCB0byB0aGF0IGZpZWxkLjwvcD4NCiAgICAgICAgPC9saT4NCiAgICAgICAgPGxpPmRhdGEtc210Zm0tZXh0ZW5zaW9uDQogICAgICAgICAgIDxwPkFwcGxpY2FibGUgb25seSB0byBmaWxlIGZpZWxkcywgdGhpcyBhdHRyaWJ1dGUgY2FuIGNvbnRhaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB2YWxpZCBmaWxlIGV4dGVuc2lvbnMgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgZmlsZXMgdGhhdCBhcmUgYWNjZXB0ZWQuPC9wPg0KICAgICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFdlIGRvIG5vdCByZWNvbW1lbmQgdXNpbmcgdGhpcyBhcyBzb21lIG9wZXJhdGluZyBzeXN0ZW1zLCBvciB1c2VycyBkbyBub3QgbWFpbnRhaW4gYSByZWxpZ291cyBwb2xpY3kgb24gZmlsZSBleHRlbnNpb25zLjwvcD4NCiAgICAgICAgPC9saT4NCiAgICAgICAgPGxpPmRhdGEtc210Zm0tcHJpbWl0aXZlDQogICAgICAgICAgIDxwPkFwcGxpY2FibGUgdG8gYWxsIGJ1dCBmaWxlIGZpZWxkcywgdGhpcyBhdHRyaWJ1dGUgaW5kaWNhdGVzIHRoZSB0eXBlIG9mIGRhdGEgdGhhdCBzaG91bGQgYXBwZWFyIGluIHRoZSB2YWx1ZShzKSBmb3IgdGhhdCBmaWVsZC4gUG9zc2libGUgdmFsdWVzIGZvciB0aGlzIGF0dHJpYnV0ZSBhcmU6IGludCwgZmxvYXQsIGRhdGUsIGVtYWlsLCBhbmQgc3RyaW5nLiBJZiBub25lIHNwZWNpZmlmZWQsIHRoZW4gdGhlIGRhdGEgcHJpbWl0aXZlIHdpbGwgYmUgaW50ZXJwcmV0ZWQgZnJvbSB0aGUgZmllbGQgdHlwZSwgb3Igc3RyaW5nIHdpbGwgYmUgYXNzdW1lZC48L3A+DQogICAgICAgIDwvbGk+DQogICAgICAgIDxsaT5kYXRhLXNtdGZtLXJlcXVpcmVkDQogICAgICAgICAgIDxwPkFwcGxpY2FibGUgdG8gYWxsIGZpZWxkcywgdGhpcyBhdHRyaWJ1dGUgaW5kaWNhdGVzIHRoYXQgYXQgbGVhc3Qgb25lIHZhbHVlIG11c3QgYmUgc3BlY2lmaWVkIGZvciB0aGUgZmllbGQuPC9wPg0KICAgICAgICA8L2xpPg0KICAgICAgICA8bGk+ZGF0YS1zbXRmbS1wYXR0ZXJuDQogICAgICAgICAgIDxwPkFwcGxpY2FibGUgdG8gYWxsIGJ1dCBmaWxlIGZpZWxkcywgdGhpcyBhdHRyaWJ1dGUgaW5kaWNhdGVzIHRoYXQgYWxsIHZhbHVlcyBvZiB0aGUgZmllbGQgbXVzdCBjb25maXJtIHRvIHRoZSBzcGVjaWZpZWQgcmVndWxhciBleHByZXNzaW9uLjwvcD4NCiAgICAgPHA+SWYgYm90aCB0aGUgZGF0YS1zbXRmbS1wYXR0ZXJuIGFuZCB0aGUgcGF0dGVybiBhdHRyaWJ1dGVzIGFyZSBwcm92aWRlZCBmb3IgYW4gaW5wdXQgZWxlbWVudCwgdGhlbiB0aGUgZGF0YS1jZmJmLXBhdHRlcm4gYXR0cmlidXRlIHdpbGwgdGFrZSBwcmVjZWRlbnNlLiBUaGlzIGlzIHRvIGFsbG93IGZvciB0aGlyZCBwYXJ0eSBsaWJyYXJpZXMgdGhhdCBoYXZlIGV4dGVuZGVkIHRoZSBwdXJwb3NlIG9mIHRoZSBwYXR0ZXJuIGF0dHJpYnV0ZS48L3A+DQogICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gUEhQIHJlcXVpcmVzIGEgc3RhcnQgYW5kIGVuZCBkZWxpbWl0ZXIgdG8gYSByZWd1bGFyIGV4cHJlc3Npb24uIGkuZTogPGNvZGU+fFswLTldKnw8L2NvZGU+IHdoZXJlYXMgSFRNTCBkb2VzIG5vdC4geyRtb2RfZl9uYW1lfSB3aWxsIHByb3ZpZGUgdGhlbS48L3A+DQogICAgICAgIDwvbGk+DQogICAgICAgIDxsaT5kYXRhLXNtdGZtLW1pbiAodG9kbykNCiAgICAgICAgICAgPHA+QXBwbGljYWJsZSB0byBpbnRlZ2VyIGFuZCBmbG9hdCBmaWVsZHMsIHRoaXMgYXR0cmlidXRlIGluZGljYXRlcyBhIG1pbmltdW0gdmFsdWUgZm9yIGFsbCB2YWx1ZXMgb2YgdGhlIGZpZWxkLjwvcD4NCiAgICAgICAgPC9saT4NCiAgICAgICAgPGxpPmRhdGEtc210Zm0tbWF4ICh0b2RvKQ0KICAgICAgICAgICA8cD5BcHBsaWNhYmxlIHRvIGludGVnZXIgYW5kIGZsb2F0IGZpZWxkcywgdGhpcyBhdHRyaWJ1dGUgaW5kaWNhdGVzIGEgbWF4aW11bSB2YWx1ZSBmb3IgYWxsIHZhbHVlcyBvZiB0aGUgZmllbGQuPC9wPg0KICAgICAgICA8L2xpPg0KICAgICAgICA8bGk+ZGF0YS1zbXRmbS1jYXB0Y2hhDQogICAgICAgICAgIDxwPlRoaXMgYXR0cmlidXRlIHNlcnZlcyB0d28gcHVycG9zZXMuIE9uIHJlbmRlciBpdCB3aWxsIGFwcGVuZCB0aGUgY29udGVudHMgb2YgYSA8Y29kZT4mbHQ7ZGl2Jmd0OzwvY29kZT4gdGFnIHdpdGggdGhpcyBhdHRyaWJ1dGUgd2l0aCBzb21lIGNhcHRjaGEgaW5wdXQuIE9uIHZhbGlkYXRpb24gdGhlIGNhcHRjaGEgd2lsbCBiZSB0ZXN0ZWQuPC9wPg0KICAgICAgICA8L2xpPg0KICAgICAgPC91bD4NCiAgICA8L2xpPg0KICAgIDxsaT5EYXRhIGF0dHJpYnV0ZXMgdXNlZnVsIGZvciBzY2FubmluZyBhbmQgZGlzcG9zaXRpb24NCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPmRhdGEtc210Zm0tbm9sYWJlbA0KICAgICAgPHA+VGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCBkdXJpbmcgdGhlIHNjYW5uaW5nIHByb2Nlc3MgdG8gaW5kaWNhdGUgdGhhdCBhIGxhYmVsIGZvciB0aGUgZmllbGQgaXMgbm90IHJlcXVpcmVkLjwvcD4NCiAgICAgICAgPC9saT4NCiAgICAgICAgPGxpPmRhdGEtc210Zm0tbGFiZWwNCiAgICAgICAgICAgPHA+VGhpcyBhdHRyaWJ1dGUgaXMgdXNlZnVsIG9uIHJhZGlvLWJ1dHRvbiBhbmQgY2hlY2tib3ggZ3JvdXBzIHdoZW4gdGhlIGZvcm0gaXMgc2Nhbm5lZCBhbmQgcGFyc2VkLiBCZWNhdXNlIGluZGl2aWR1YWwgcmFkaW8tYnV0dG9uIG9yIGNoZWNrYm94IGZpZWxkcyBtYXkgaGF2ZSBzZXBhcmF0ZSBsYWJlbHMsIHRoaXMgYXR0cmlidXRlIGFsbG93cyBleHBsaWNpdGx5IHNwZWNpZnlpbmcgYSBsYWJlbCB0byBiZSB1c2VkIGZvciB0aGUgZmllbGQgYXMgYSB3aG9sZSBpbiB0aGUgZGlzcG9zaXRpb24gcHJvY2Vzcy48L3A+DQogICAgIDxwPnRoaXMgYXR0cmlidXRlIGNhbiBiZSB1c2VkIG9uIGFueSBpbnB1dCBlbGVtZW50IHRvIGZvcmNlIHNwZWNpZnlpbmcgdGhlIGxhYmVsIGZvciB0aGUgZWxlbWVudCwgcGFydGljdWxhcmx5IGlmIGluIHlvdXIgbWFya3VwIGEgc3BlY2lmaWMgbGFiZWwgZmllbGQgaXMgbm90IHJlcXVpcmVkLCBhbmQgeW91IHdpc2ggdG8gaGF2ZSByZWFkYWJsZSBwcm9tcHRzIGZvciB2YXJpb3VzIGZpZWxkcy48L3A+DQogICAgICAgIDwvbGk+DQogICAgICAgIDxsaT5kYXRhLXNtdGZtLWh1bWFuDQogICAgICAgICAgIDxwPlRoaXMgYXR0cmlidXRlIGlzIHVzZWZ1bCBvbiB0aGUgaW5kaXZpZHVhbCBvcHRpb25zIG9mIHNlbGVjdCBmaWVsZHMsIHJhZGlvLWJ1dHRvbiBncm91cHMsIG9yIGNoZWNrYm94LWdyb3VwcyB0byBzcGVjaWZ5IGEgaHVtYW4gcmVhZGFibGUgdmFsdWUgZm9yIGVhY2ggb3B0aW9uIHRvIHVzZSBpbiB0aGUgZGlzcG9zaXRpb24gcHJvY2Vzcy4gSWYgbm90IHNwZWNpZmllZCwgdGhlbiB0aGUgdGV4dCBwb3J0aW9uIG9mIGVhY2ggJmx0O29wdGlvbiZndDsgZWxlbWVudCwgb3IgdGhlIGxhYmVsIG9mIGVhY2ggcmFkaW8tYnV0dG9uIG9yIGNoZWNrYm94IHdpbGwgYmUgdXNlZC48L3A+DQogICAgICAgIDwvbGk+DQogICAgICAgIDxsaT5kYXRhLXNtdGZtLXJlcGx5dG8NCiAgICAgICAgICAgPHA+VGhpcyBhdHRyaWJ1dGUgaXMgdXNlZnVsIHRvIGlkZW50aWZ5IGEgZmllbGQgdGhhdCBvbiBzdWJtaXNzaW9uIHdpbGwgY29udGFpbiBhbiBlbWFpbCBhZGRyZXNzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHRoZSByZXBseXRvLWFkZHJlc3Mgb2YgZW1haWxzIHNlbnQgdG8gYWRtaW5pc3RyYXRvcnMuPC9wPg0KICAgICA8cD5pLmU6IDxjb2RlPiZsdDtpbnB1dCB0eXBlPSJlbWFpbCIgbmFtZT0ieW91cl9lbWFpbCIgZGF0YS1zbXRmbS1yZXBseXRvIHJlcXVpcmVkJmd0OzwvY29kZT4NCiAgICAgPHA+Rm9yIGVtYWlscyB0aGF0IGFyZSBzZW50IHRvIGZpeGVkIGFkZHJlc3NlcyBvciB0byBhZG1pbiBncm91cHMsIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIHdpbGwgYmUgdXNlZCBhcyB0aGUgcmVwbHktdG8gZW1haWwgYWRkcmVzcy48L3A+DQogICAgICAgIDwvbGk+DQogICAgICA8L3VsPg0KICAgIDwvbGk+DQogIDwvdWw+DQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/help.tab.misc.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgPGgzPlNtYXJ0eSBwbHVnaW5zIGFuZCB2YXJpYWJsZXMgZm9yIGZvcm0gcmVuZGVyaW5nPC9oMz4NCiAgPHVsPg0KICAgIDxsaT48Y29kZT4mIzEyMztzbXRmbV9mb3JtX2Vycm9ycyBhc3NpZ249c3RyaW5nfTwvY29kZT4NCiAgICAgICA8cD5HYXRoZXIgZm9ybSBlcnJvcnMgZnJvbSBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLCBhbmQgYXNzaWduIHRoZW0gdG8gYSBzbWFydHkgYXJyYXkuIGkuZS46PC9wPg0KICAgICAgIDxwcmU+PGNvZGU+JiMxMjM7c210Zm1fZm9ybV9lcnJvcnMgYXNzaWduPWVycm9yc30NCiAgICAgICAgICAgICAgICYjMTIzO2lmICFlbXB0eSgkZXJyb3JzKX0NCiAgICAgICAgICAgICAgICAgJmx0O3VsIGNsYXNzPSJlcnJvcnMiJmd0Ow0KICAgICAgICAgICAgICAgICAgICYjMTIzO2ZvcmVhY2ggJGVycm9ycyBhcyAkZXJyb3J9DQogICAgICAgICAgICAgICAgICAgICAmbHQ7bGkmZ3Q7JiMxMjM7JGVycm9yfSZsdDsvbGkmZ3Q7DQogICAgICAgICAgICAgICAgICAgJiMxMjM7L2ZvcmVhY2h9DQogICAgICAgICAgICAgICAgICZsdDsvdWwmZ3Q7DQogICAgICAgICAgICAgICAmIzEyMzsvaWZ9PC9jb2RlPjwvcHJlPg0KICAgIDwvbGk+DQogIDwvdWw+DQoNCiAgPGgzPkNvbmZpZyB2YXJpYWJsZXM8L2gzPg0KICA8cD5Zb3UgY2FuIHNldCB0aGUgZm9sbG93aW5nIGNvbmZpZyB2YXJpYWJsZXMgdG8gaW5mbHVlbmNlIG1vZHVsZSBiZWhhdmlvcjo8L3A+DQogIDx1bD4NCiAgICA8bGk+PGNvZGU+JGNvbmZpZ1snc210Zm1fc2tpcF92ZXJzaW9uY2hlY2snXTwvY29kZT4gPSBib29sDQogICAgICAgPHA+SWYgZW5hYmxlZCwgU21hcnRGb3JtcyB3aWxsIG5vdCB0ZXN0IGlmIHlvdXIgZm9ybXMgd2VyZSBzYXZlZCB3aXRoIGEgZGlmZmVyZW50IHZlcnNpb24gb2YgdGhlIG1vZHVsZS48L3A+DQogICAgPC9saT4NCiAgICA8bGk+PGNvZGU+JGNvbmZpZ1snc210Zm1fc2tpcF9kYXRlY2hlY2snXTwvY29kZT4gPSBib29sDQogICAgICAgPHA+SWYgZW5hYmxlZCwgU21hcnRGb3JtcyB3aWxsIG5vdCB0ZXN0IGlmIHlvdXIgdGVtcGxhdGUgd2FzIGFsdGVyZWQgYWZ0ZXIgeW91ciBmb3JtIHdhcyBzYXZlZC48L3A+DQogICAgPC9saT4NCiAgPC91bD4NCg0KICA8aDM+VGlwcyBhbmQgVGVjaG5pcXVlczwvaDM+DQogIDx1bD4NCiAgICA8bEk+U2V0dGluZyBmaWVsZCB2YWx1ZXM6DQogICAgICAgPHA+SW4gbW9zdCBjYXNlcywgU21hcnRGb3JtcyBjYW4gc2V0IGZpZWxkIHZhbHVlcyBhdXRvbWF0aWNhbGx5IGZvciB5b3UuICBJbmNsdWRpbmcgdGhlIHRleHQgY29udGVudCBvZiB0ZXh0YXJlYSBmaWVsZHMsIHNlbGVjdGVkIG9wdGlvbnMgaW4gc2VsZWN0IHN0YXRlbWVudHMuIGFuZCBjaGVja2VkIGNoZWNrYm94ZXMgb3IgcmFkaW8gYnV0dG9uIGZpZWxkcy4gICBUaGlzIGlzIGRvbmUgYnkgdXNpbmcgdGhlIGZvcm0gc3VibWlzc2lvbiBkYXRhLCBhbmQgYWRqdXN0aW5nIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZSBvZiBlbGVtZW50cyB3aGVuIHJlZGVyaW5nIHRoZSBmb3JtLjwvcD4NCiAgICAgICA8cD5EaXNhYmxpbmcgdGhpcyBhdXRvLXZhbHVlIGZ1bmN0aW9uYWxpdHkgZm9yIHRoZSBlbnRpcmUgZm9ybSBpcyBwb3NzaWJsZSBieSBhZGRpbmcgdGhlIGRhdGEtY2ZiZi1ub2F1dG92YWx1ZSBhdHRyaWJ1dGUgdG8gdGhlIGZvcm0gZWxlbWVudC48L3A+DQogICAgICAgPHA+RGlzYWJsaW5nIHRoaXMgYXV0by12YWx1ZSBmdW5jdGlvbmFsaXR5IGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnQgaXMgcG9zc2libGUgYnkgYWRkaW5nIHRoZSBkYXRhLXNtdGZtLW5vYXV0b3ZhbHVlIGF0dHJpYnV0ZSB0byBhbiBpbmRpdmlkdWFsIGlucHV0LCBzZWxlY3QsIG9yIHRleHRhcmVhIGVsZW1lbnQuPC9wPg0KICAgICAgIDxwPkF1dG8tdmFsdWUgY2FsY3VsYXRpb24gd2lsbCBhbHNvIGJlIGRpc2FibGVkIG9uIGluZGl2aWR1YWwgaW5wdXQgZWxlbWVudHMgKHRoYXQgYXJlIG5vdCBjaGVja2JveGVzIG9yIHJhZGlvIGJ1dHRvbnMpLCBJRiB0aGUgZWxlbWVudCBoYXMgYSB2YWx1ZSBhdHRyaWJ1dGUuPC9wPg0KICAgICAgIDxwPmF1dG8gdmFsdWUgY2FsY3VsYXRpb24gaXMgYWxzbyBkaXNhYmxlZCBmb3Igc2VsZWN0IGJveGVzLCBjaGVja2JveGVzIG9yIHJhZGlvIGJ1dHRvbnMgd2l0aCB0aGUgZGF0YS1zbXRmbS1zZWxlY3RlZCBhdHRyaWJ1dGUuPC9wPg0KICAgICAgIDxwPlRoZSA8Y29kZT4mIzEyMzskZm9ybV9kYXRhfTwvY29kZT4gc21hcnR5IHZhcmlhYmxlIHJlcHJlc2VudHMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGZvcm0gcmVzcG9uc2UgaW5mb3JtYXRpb24uICBJdCBhbHNvIHJlcHJlc2VudHMgaW5pdGlhbCBmb3JtIHN0YXRlIGJlZm9yZSB0aGUgZm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQuICBZb3UgY2FuIHVzZSB0aGlzIG9iamVjdCdzIHZhcmlvdXMgbWVtYmVycyB0byBzZXQgdGhlIGZpZWxkIGRhdGEgdXNpbmcgc21hcnR5IGxvZ2ljLiAgaS5lLjo8L3A+DQogICAgICAgPHByZT48Y29kZT4mbHQ7aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic29tZXRoaW5nIiB2YWx1ZT0iJiMxMjM7JGZvcm1fZGF0YS0+c29tZXRoaW5nfSIvJmd0OzwvY29kZT48L3ByZT4NCiAgICA8L2xpPg0KICAgIDxsaT5DYXB0Y2hhIHZhbGlkYXRpb24uDQogICAgICAgPHA+Q2FwdGNoYSB2YWxpZGF0aW9uIGlzIGEgdHdvIHBhcnQgcHJvY2Vzcy4gIGE6ICB0aGUgY2FwdGNoYSBtdXN0IGJlIHJlbmRlcmVkIGluIHRoZSBmb3JtIHVzaW5nIHRoZSAmbHQ7ZGl2IGRhdGEtc210Zm0tY2FwdGNoYSZndDsmbHQ7L2RpdiZndDsgc3ludGF4LCBhbmQgYjogVGhlIGNhcHRjaGEgaW5wdXQgbXVzdCBiZSB2YWxpZGF0ZWQgaW4gdGhlIHJlc3BvbnNlLiAgWW91IG11c3QgaGF2ZSBhICZxdW90O1ZhbGlkYXRlIENhcHRjaGEmcXVvdDsgdmFsaWRhdGlvbiBlbmFibGVkLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5MaW1pdCB0aGUgbnVtYmVyIG9mIGZpZWxkcy4NCiAgICAgICA8cD5Gb3IgYSBiZXR0ZXIgdXNlciBpbnRlcmZhY2UgaXQgaXMgaW1wb3J0YW50IHRvIGxpbWl0IHRoZSBudW1iZXIgb2YgZmllbGRzIGluIGEgZm9ybS4gIElmIHlvdXIgZmllbGQgaGFzIG1vcmUgdGhhbiBhYm91dCBhIGRvemVuIGZpZWxkcyB0aGF0IHRoZSB1c2VyIGNhbiBlZGl0IG9yIGFkanVzdCB0aGVuIHR5cGljYWxseSB1c2VycyB3aWxsIG5vdCByZXNwb25kIHRvIHRoZW0sIG9yIGlmIHRoZXkgZG8gdGhlIHF1YWxpdHkgb2YgdGhlIGluZm9ybWF0aW9uIHN1Ym1pdHRlZCBpcyByZWR1Y2VkLiAgZm9yIHRob3NlIHB1cnBvc2VzIGl0IGlzIG9mdGVuIGJlc3QgdG8ga2VlcCB0aGUgZm9ybXMgc21hbGwsIHNpbXBsZSwgYW5kIGVhc3kgdG8gdXNlLjwvcD4NCiAgICA8L2xpPg0KICAgIDxsaT5Db25kaXRpb25hbCBGaWVsZHMNCiAgICAgICA8cD5JZiB5b3Ugd291bGQgbGlrZSB0byBoaWRlIGRpZmZlcmVudCBmaWVsZHMgYmFzZWQgb24gY2VydGFpbiBjb25kaXRpb25zLCBpdCBpcyBiZXN0IHRvIGRvIHRoYXQgdXNpbmcgamF2YXNjcmlwdCBhbmQgeW91ciBmYXZvcml0ZSBqcXVlcnkgcGx1Z2lucyBldGMuPC9wPg0KICAgICAgIDxwPkhpbnQ6ICBZb3UgY2FuIHN1cHBseSBkYXRhIHRvIGphdmFzY3JpcHQgZnJvbSB3aXRoaW4geW91ciB0ZW1wbGF0ZSB1c2luZyBzbWFydHkgdmFyaWFibGVzLiBpLmUuOjwvcD4NCiAgICAgICA8cHJlPiZsdDtzY3JpcHQmZ3Q7dmFyIG1hbXNfdWlkID0gJyYjMTIzOyRtYW1zX3NtYXJ0eTo6Z2V0X2N1cnJlbnRfdXNlcmlkKCl9JzsmbHQ7L3NjcmlwdCZndDs8L3ByZT4NCiAgICA8L2xpPg0KICAgIDxsaT5EeW5hbWljIG11bHRpLW9wdGlvbiBmaWVsZHMNCiAgICAgICA8cD5JZiB5b3Ugd291bGQgbGlrZSB0byBhZGQgb3B0aW9ucyB0byBzZWxlY3QsIG9yIG90aGVyIG11bHRpLW9wdGlvbiBmaWVsZHMgKGNoZWNrYm94IGdyb3VwcywgcmFkaW8tYnV0dG9uIGdyb3VwcykgZHluYW1pY2FsbHkgdmlhIHNtYXJ0eSBwbHVnaW5zIHdoZXJlIHRoZSBvcHRpb25zIGluIHRoZSBmaWVsZCBtYXkgY2hhbmdlLCBpdCBpcyBiZXN0IHRvIHR1cm4gb2ZmIHZhbGlkYXRpb24gZm9yIHRoYXQgZmllbGQuPC9wPg0KICAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyB3aWxsIHR1cm4gb2ZmIGFsbCB2YWxpZGF0aW9ucyBmb3IgdGhhdCBmaWVsZCwgaW5jbHVkaW5nIEhUTUwgdmFsaWRhdGlvbi48L3A+DQogICAgPC9saT4NCiAgICA8bGk+UHJlLWZpbGxlZCBmaWVsZHMNCiAgICAgICA8cD5UaGVyZSBhcmUgbnVtZXJvdXMgd2F5cyB0byBwcm92aWRlIGluaXRpYWwgZGF0YSB0byBhIGZvcm0gKGkuZS46IGJlZm9yZSB0aGUgZm9ybSBpcyBzdWJtaXR0ZWQgYnkgdGhlIHVzZXIgZm9yIHRoZSBmaXJzdCB0aW1lKS4gVGhlc2UgbWV0aG9kcywgaWYgZG9uZSBjb3JyZWN0bHkgd2lsbCBhbHNvIHByZXNlcnZlIHVzZXIgZGF0YSBpZiB0aGVyZSBpcyBhbiBlcnJvciBpbiBmb3JtIHN1Ym1pc3Npb24uPC9wPg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT5Vc2luZyBmaWVsZCBuYW1lIGFyZ3VtZW50cyBvbiB0aGUgc21hcnR5IHRhZzoNCiAgICAgICAgICAgIDxwPmkuZS46ICA8Y29kZT4mIzEyMztTbWFydEZvcm1zIGZvcm09J215Zm9ybScgc210Zm1fbXlmaWVsZG5hbWU9J3NvbWV2YWx1ZSd9PC9jb2RlPjwvcD4NCiAgICAgICAgIDwvbGk+DQogICAgICAgICA8bGk+Q2FsbGluZyA8Y29kZT4mIzEyMztzbXRmbV9zZXQgZmllbGQ9ZmllbGRfbmFtZSB2YWx1ZT1zb21ldGhpbmd9PC9jb2RlPiB0aGUgJnF1b3Q7UHJlLXJlbmRlciBMb2dpYyZxdW90OyB0YWIgd2hlbiBlZGl0aW5nIHRoZSBmb3JtLjwvbGk+DQogICAgICAgICA8bGk+Q2FsbGluZyBhIFVEVCBmcm9tIHdpdGhpbiB0aGUgZm9ybSB0ZW1wbGF0ZSB0byBhZGp1c3QgdGhlICRmb3JtX2RhdGEgcmVzcG9uc2Ugb2JqZWN0LjwvbGk+DQogICAgICAgICA8bGk+VXNpbmcgdGhlIDxjb2RlPmRhdGEtc210Zm0tc2VsZWN0ZWQ8L2NvZGU+IGF0dHJpYnV0ZSBvbiBzZWxlY3QgYm94ZXMgYW5kIHJhZGlvIGJ1dHRvbiBncm91cHMuPC9saT4NCiAgICAgICAgIDxsaT5Vc2luZyA8Y29kZT4mIzEyMzskZm9ybV9kYXRhLT5teWZpZWxkbmFtZX08L2NvZGU+IGFuZCB0aGUgJnF1b3Q7ZGVmYXVsdCZxdW90OyBzbWFydHkgbW9kaWZpZXIuDQogICAgICAgICAgICA8cD5pLmU6IDxjb2RlPiYjMTIzOyRmb3JtX2RhdGEtPm15ZmllbGRuYW1lfGRlZmF1bHQ6J2Zvbyd9PC9jb2RlPi48L3A+DQogICAgICAgICA8L2xpPg0KICAgICAgIDwvdWw+DQogICAgPC9saT4NCiAgICA8bGk+UHJldmVudCBtb2RpZmljYXRpb24gb2YgaGlkZGVuIGZpZWxkcyBpbiBzdWJtaXNzaW9uLg0KICAgICAgIDxwPllvdSBjYW4gdXNlIHRoZSAiVmFsaWRhdGUgdmlhIHNtYXJ0eSBUZW1wbGF0ZSIgdmFsaWRhdGlvbiB0byB2ZXJpZnkgdGhhdCBoaWRkZW4gZmllbGRzIGhhdmUgYSBwcmVzZXQgdmFsdWUgb3IgYXJlIGVtcHR5IHVwb24gc3VibWlzc2lvbiwgYnV0IGJlZm9yZSBhbnkgdmFsdWVzIGFyZSBjYWxjdWxhdGVkLg0KICAgICAgIDxwPkZvciBlbXB0eSBmaWVsZHMgeW91IGNhbiBhbHNvIHNldCBhIHZhbGlkYXRpb24gcGF0dGVybi4gIGkuZTogaWYgdGhlIGhpZGRlbiBpbnB1dCBtdXN0IGJlIGVtcHR5IG9uIHN1Ym1pdCBhIHBhdHRlciBvZjogPGNvZGU+ZGF0YS1zbXRmbS1wYXR0ZXJuPSJeJCI8L2NvZGU+IHNob3VsZCBiZSBzdWZmaWNpZW50Li48L3A+DQogICAgPC9sST4NCiAgICA8bGk+V29ya2luZyB3aXRoIEZpbGVzPC9saT4NCiAgICA8bGk+QXJyYXlzIG9mIGRhdGE8L2xpPg0KICAgIDxsaT5DYWxjdWxhdGVkIGZpZWxkcw0KICAgICAgICA8cD5Vc2UgdGhlICJDb21wdXRlIGEgRmllbGQgVmFsdWUiIHZhbGlkYXRpb24uPC9wPg0KICAgIDwvbGk+DQogICAgPGxpPlVEVCdzIGluIHZhbGlkYXRpb24NCiAgICAgICA8cD5Zb3UgY2FuIHVzZSB0aGUgIlZhbGlkYXRlIHZpYSBTbWFydHkgVGVtcGxhdGUiIHZhbGlkYXRpb24uIEluIHRoZSB0ZW1wbGF0ZSBmb3IgdGhhdCB2YWxpZGF0aW9uIGNhbGwgeW91ciBVRFQuICBJZiB5b3VyIFVEVCByZXR1cm5zIGFueSBvdXRwdXQgaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGEgdmFsaWRhdGlvbiBlcnJvci48L3A+DQogICAgPC9saT4NCiAgICA8bGk+VURUJ3MgaW4gZGlzcG9zaXRpb25zDQogICAgICAgPHA+VXNlIHRoZSBTdG9wRGlzcG9zaW5nIERpc3Bvc2l0aW9uLCBhbmQgaW4gdGhhdCB0ZW1wbGF0ZSBjYWxsIHlvdXIgVURULiAgSWYgeW91ciBVRFQgcmV0dXJucyBhbnkgb3V0cHV0IHRoZW4gZGlzcG9zaW5nIHdpbGwgc3RvcC48L3A+DQogICAgPC9saT4NCiAgICA8bGk+U3VibWl0dGluZyBwYXltZW50IHRvIGEgcGF5bWVudCBnYXRld2E8L2xpPg0KICAgICAgICA8cD5Gb3Igbm9uLWludGVyYWN0aXZlIHN1Ym1pc3Npb25zIHRvIGEgcGF5bWVudCBnYXRld2F5IHRoYXQganVzdCByZXR1cm5zIGEgc3VjY2VzcyBvciBmYWlsdXJlLCAgdGhlICJDb21wdXRlIiB2YWxpZGF0aW9uIGNhbiBiZSB1c2VkLCBhbmQgYSBzbWFydHkgcGx1Z2luDQogICAgICAgICAgIGNyZWF0ZWQgdG8gc3VibWl0IHRoZSBpbmZvcm1hdGlvbi4gIE9uIGVycm9ycywgdGhlIHBsdWdpbiBzaG91bGQgdGhyb3cgYSBcU21hcnRGb3Jtc1xGaWVsZFZhbGlkYXRvcnNcVmFsaWRhdGlvbkV4Y2VwdGlvbiBlcnJvci4gIE9uIHN1Y2VzcywgdGhlDQogICAgIHBsdWdpbiBzaG91bGQgZWNobyB0aGUgb3JkZXIgbnVtYmVyIHNvIHRoYXQgaXQgY2FuIGJlIHN0b3JlZCB3aGVuIHRoZSBmb3JtIGlzIGhhbmRsZWQuPC9wPg0KICAgICAgICA8cD5Gb3IgaW50ZXJhY3RpdmUgc3VibWlzc2lvbnMsIGkuZS46IGdhdGV3YXlzIHRoYXQgcmVxdWlyZSB0aGUgdXNlciB0byBlbnRlciBjcmVkaXQgY2FyZCBkZXRhaWxzIG9yIGxvZ2luIGluZm9ybWF0aW9uIG9uIHRoZWlyIHNlY3VyZSBzaXRlLi4uDQogICAgICAgICAgIFRPRE8NCiAgICAgICAgPC9wPg0KICAgIDwvbGk+DQogICAgPGxpPkNoYWluaW5nIGZvcm1zDQogICAgICAgPG9sPg0KICAgICAgICAgPGxpPlVzZSBhIFVEVCB0byBkaXNwb3NlIHRoZSBmb3JtIHJlc3BvbnNlIHRvIHRoZSBzZXNzaW9uLjwvbGk+DQogICAgICAgICA8bGk+RWl0aGVyIHVzaW5nIGFub3RoZXIgZGlzcG9zaXRpb24sIG9yIGNvZGUgd2l0aGluIHlvdXIgVURULCByZWRpcmVjdCB0byB0aGUgcGFnZSBjb250YWluaW5nIHRoZSBzZWNvbmQgZm9ybS48L2xpPg0KICAgICAgICAgPGxpPlVzZSBoaWRkZW4gZmllbGRzIGluIHRoZSBzZWNvbmQgZm9ybSB0byBjb250YWluIHRoZSB2YWx1ZXMgZnJvbSB0aGUgZmlyc3QgZm9ybS48L2xpPg0KICAgICAgIDwvb2w+DQogICAgPC9saT4NCiAgPC91TD4NCg0KICA8aDQ+SG9va3M8L2g0Pg0KICA8cD5TbWFydEZvcm1zIHVzZXMgSG9va3Mgb24gZXZlcnkgZm9ybSBzdWJtaXNzaW9uLiAgSG9va3MgYXJlIGFub3RoZXIgbWV0aG9kIG9mIHVzaW5nIHRoaXJkIHBhcnR5IGNvZGUgdG8gZG8gdmFsaWRhdGlvbiBvciBkaXNwb3NpdGlvbnMgb2YgZm9ybXMuPC9wPg0KICA8dWw+DQogICAgPGxpPjxjb2RlPlNtYXJ0Rm9ybXM6OnZhbGlkYXRlRm9ybTwvY29kZT4NCiAgICAgICA8cD5UaGlzIGhvb2sgaXMgY2FsbGVkIGFmdGVyIGFsbCBvdGhlciB2YWxpZGF0aW9ucy4gIFRoZSBzYW1lIGhvb2sgaXMgY2FsbGVkIGZvciBlYWNoIGZvcm0gc28gaGFuZGxlcnMgc2hvdWxkIGNoZWNrIHRoZSB2YWx1ZSBvZiB0aGUgZm9ybV9uYW1lIHByb3BlcnR5IHRvIGRvIGRpZmZlcmVudCB2YWxpZGF0aW9ucyBmb3IgZmllbGRzIG9uIGRpZmZlcmVudCBmb3Jtcy4gIFRoZSBoYW5kbGVycyBzaG91bGQgdGhyb3cgYSBcU21hcnRGb3Jtc1xGb3JtVmFsaWRhdGlvbkVycm9yIGV4Y2VwdGlvbiBpbiB0aGUgY2FzZSBvZiBlcnJvcnMuPC9wPg0KICAgICAgIDxoNT5Bcmd1bWVudHM6PC9oNT4NCiAgICAgICA8cD5UaGlzIGhvb2sgc2VuZHMgdGhlIEZvcm1SZXNwb25zZSBvYmplY3QgYXMgaXRzIHNpbmdsZSBhcmd1bWVudC48L3A+DQogICAgICAgPGg1PlJldHVybnM6IDxjb2RlPnZvaWQ8L2NvZGU+PGg1Pg0KICAgICAgIDxoNT5FeGFtcGxlOjwvaDU+DQogICAgICAgPHByZT48Y29kZT5cQ01TTVNcSG9va01hbmFnZXI6OmFkZF9ob29rKCAnU21hcnRGb3Jtczo6dmFsaWRhdGVGb3JtJywgZnVuY3Rpb24oIFxTbWFydEZvcm1zXEZvcm1SZXNwb25zZSAkcmVzcG9uc2UgKSYjMTIzOw0KICAgICAgaWYoICRyZXNwb25zZS0+Zm9ybSAhPSAnbXlmb3JtJyApIHJldHVybjsNCiAgICAgICRlbWFpbCA9ICRyZXNwb25zZS0+Z2V0X2ZpZWxkX3ZhbHVlKCdlbWFpbCcpOw0KICAgICAgaWYoICFpc19lbWFpbCgkZW1haWwpICkgdGhyb3cgbmV3IFxTbWFydEZvcm1zXEZvcm1WYWxpZGF0aW9uRXJyb3IoJ1BsZWFzZSBlbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MnKTsNCiAgICAgIC8vIGhlcmUgd2UgY291bGQgY2hlY2sgaWYgdGhlIGVtYWlsIGFscmVhZHkgZXhpc3RzIGluIG91ciBkYXRhYmFzZSwgZXRjLg0KICB9KTs8L2NvZGU+PC9wcmU+DQogICAgPC9saT4NCg0KICAgIDxsaT48Y29kZT5TbWFydEZvcm1zOjpkaXNwb3NlPC9jb2RlPg0KICAgICAgIDxwPlRoaXMgaG9vayBpcyBjYWxsZWQgYWZ0ZXIgYWxsIG90aGVyIGRpc3Bvc2l0aW9ucyAoYXNzdW1pbmcgcHJvY2Vzc2luZyBoYXMgbm90IGJlZW4gc3RvcHBlZCBieSBhIHByZXZpb3VzIGRpc3Bvc2l0aW9uKSwgYnV0IGJlZm9yZSB0aGUgZmluYWwgcmVzcG9uc2UgaXMgZ2VuZXJhdGVkIG9yIGZpbmFsIHJlZGlyZWN0IGlzIHBlcmZvcm1lZC4gIFRoZSBzYW1lIGhvb2sgaXMgY2FsbGVkIGZvciBlYWNoIGZvcm0sIHNvIGhhbmRsZXJzIHNob3VsZCBjaGVjayB0aGUgdmFsdWUgb2YgdGhlIGZvcm0gcHJvcGVydHkgb2YgdGhlIHJlc3BvbnNlIG9iamVjdCB0byBkbyBkaWZmZXJlbnQgcHJvY2Vzc2luZyBvbiBkaWZmZXJlbnQgZm9ybXMuICBUaGUgaGFuZGxlcnMgc2hvdWxkIHRocm93IHJ1bnRpbWUgZXhjZXB0aW9ucyBpbiB0aGUgY2FzZSBvZiBlcnJvcnMuPC9wPg0KICAgICAgIDxoNT5Bcmd1bWVudHM6PC9oNT4NCiAgICAgICA8cD5UaGlzIGhvb2sgc2VuZHMgdGhlIEZvcm1SZXNwb25zZSBvYmplY3QgYXMgaXRzIHNpbmdsZSBhcmd1bWVudC48L3A+DQogICAgICAgPGg1PlJldHVybnM6IDxjb2RlPnZvaWQ8L2NvZGU+PGg1Pg0KICAgICAgIDxoNT5FeGFtcGxlOjwvaDU+DQogICAgICAgPHByZT48Y29kZT5cQ01TTVNcSG9va01hbmFnZXI6OmFkZF9ob29rKCAnU21hcnRGb3Jtczo6ZGlzcG9zZScsIGZ1bmN0aW9uKCBcU21hcnRGb3Jtc1xGb3JtUmVzcG9uc2UgJHJlc3BvbnNlICkmIzEyMzsNCiAgICAgIGlmKCAkcmVzcG9uc2UtPmZvcm0gIT0gJ215Zm9ybScgKSByZXR1cm47DQogICAgICAkbmFtZSA9ICRyZXNwb25zZS0+Z2V0X2ZpZWxkX3ZhbHVlKCduYW1lJyk7DQogICAgICAkZW1haWwgPSAkcmVzcG9uc2UtPmdldF9maWVsZF92YWx1ZSgnZW1haWwnKTsNCiAgICAgIC8vIHZhbGlkYXRpb24gaXMgYWxyZWFkeSBkb25lLi4uIHNhdmUgdGhpcyBpbmZvIGludG8gYW4gZW1haWwgbGlzdC4NCiAgICAgICRmaCA9IGZvcGVuKENNU19ST09UX1VSTC4nL3VwbG9hZHMvZW1haWxzLmRhdCcsJ2EnKTsNCiAgICAgIGZwcmludGYoICRmaCwgIiRlbWFpbCwkbmFtZVxuIiwgJGVtYWlsLCAkbmFtZSApOw0KICAgICAgZmNsb3NlKCAkZmggKTsNCiAgfSk7PC9jb2RlPjwvcHJlPg0KICAgIDwvbGk+DQoNCiAgICA8bGk+PGNvZGU+U21hcnRGb3Jtczo6Y2xlYW51cDwvY29kZT4NCiAgICAgICA8cD5UaGlzIGhvb2sgaXMgY2FsbGVkIGFmdGVyIGFsbCB2YWxpZGF0aW9ucyBhbmQgZGlzcG9zaXRpb25zIGFuZCBldmVuIGluIHRoZSBldmVudCBvZiB2YWxpZGF0aW9uIGVycm9ycy4gIEl0cyBpbnRlbnQgaXMgdG8gY2xlYW51cCBhbnkgdGVtcG9yYXJ5IGdhcmJhZ2UgbGVmdCBvdmVyIGZyb20gdmFsaWRhdGluZyBhbmQgcHJvY2Vzc2luZyB0aGUgc3VibWlzc2lvbi48L3A+DQogICAgICAgPGg1PkFyZ3VtZW50czo8L2g1Pg0KICAgICAgIDxwPlRoaXMgaG9vayBzZW5kcyB0aGUgRm9ybVJlc3BvbnNlIG9iamVjdCBhcyBpdHMgc2luZ2xlIGFyZ3VtZW50LjwvcD4NCiAgICAgICA8aDU+UmV0dXJuczogPGNvZGU+dm9pZDwvY29kZT48aDU+DQogICAgPC9saT4NCiAgPC91bD4NCg0KICA8aDM+QVBJIFJlZmVyZW5jZTwvaDM+DQogIDx1bD4NCiAgICA8bGk+PHN0cm9uZz5Gb3JtUmVzcG9uc2Ugb2JqZWN0PC9zdHJvbmc+DQogICAgICAgPHA+VGhpcyBvYmplY3QgcmVwcmVzZW50cyB0aGUgcmVzdWx0cyBvZiB1c2VyIGZvcm0gc3VibWlzc2lvbnMuICBJdCBlbmNhcHN1bGF0ZXMgdGhlIHVzZXIgc3VibWl0dGVkIGluZm9ybWF0aW9uLCB1cGxvYWRlZCBmaWxlcywgYW5kIG1ldGFkYXRhIGFib3V0IHRoZSBmb3JtLiAgVGhpcyBvYmplY3QgaXMgcGFzc2VkIHZpYSBzbWFydHkgdG8gZWFjaCBkaXNwb3NpdGlvbiBmb3IgdXNlIGluIFVEVCdzIGFuZCBvdGhlciBjb2RlLjwvcD4NCiAgICAgICA8aDQ+UHJvcGVydGllczo8L2g0Pg0KICAgICAgIDx1bD4NCiAgICAgICAgIDxsaT48Y29kZT5mb3JtPC9jb2RlPiAtIDxlbT4oc3RyaW5nLCByZWFkIG9ubHkpPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgZm9ybS48L2xpPg0KICAgICAgICAgPGxpPjxjb2RlPnJlbW90ZV9pcDwvY29kZT4gLSA8ZW0+KHN0cmluZywgcmVhZCBvbmx5KTwvZW0+IC0gVGhlIElQIGFkZHJlc3Mgb2YgdGhlIGNsaWVudCBicm93c2VyLjwvbGk+DQogICAgICAgICA8bGk+PGNvZGU+c3VibWl0X3RpbWU8L2NvZGU+IC0gPGVtPihpbnQsIHJlYWQgb25seSk8L2VtPiAtIFRoZSBVbml4IHRpbWVzdGFtcCBvZiB0aGUgdGltZSB0aGF0IHRoZSBmb3JtIHdhcyBzdWJtaXR0ZWQuPC9saT4NCiAgICAgICAgIDxsaT48Y29kZT52ZXJzaW9uPC9jb2RlPiAtIDxlbT4oc3RyaW5nLCByZWFkIG9ubHkpPC9lbT4gLSBUaGUgY3VycmVudCB2ZXJzaW9uIG9mIFNtYXJ0Rm9ybXMuPC9saT4NCiAgICAgICAgIDxsaT48Y29kZT5ndWlkPC9jb2RlPiAtIDxlbT4oc3RyaW5nLCByZWFkIG9ubHkpPC9lbT4gLSBUaGUgdW5pcXVlIGd1aWQgb2YgdGhpcyBzdWJtaXNzaW9uLg0KICAgICAgICAgICAgPHA+VG8gYWlkZSBpbiBzZWN1aXR5LCBhbmQgd2l0aCB1cGxvYWRpbmcgbXVsdGlwbGUgZmlsZXMsIEEgdW5pcXVlIGd1aWQgc3RyaW5nIGlzIGdlbmVyYXRlZCB3aGVuIHRoZSBmb3JtIGlzIHJlbmRlcmVkLiAgVGhpcyBwcm9wZXJ0eSBjb250YWlucyB0aGF0IGd1aWQgdmFsdWUuPC9wPg0KICAgICAgICAgPC9saT4NCiAgICAgICA8L3VsPg0KICAgICAgIDxoND5NZXRob2RzOjwvaDQ+DQogICAgICAgPHVsPg0KICAgICAgICAgPGxpPjxjb2RlPmdldF9maWVsZF92YWx1ZSg8ZW0+c3RyaW5nPC9lbT4gJGtleSk8L2NvZGU+IC0gUmV0dXJuIHRoZSB2YWx1ZSBmb3IgYSBzcGVjaWZpYyBmaWVsZCwgaWYgYW55Lg0KICAgICAgICAgICAgIDxoNT5Bcmd1bWVudHM6PC9oNT4NCiAgICAgICA8cD48Y29kZT4ka2V5PC9jb2RlPiAtIDxlbT4oc3RyaW5nKTwvZW0+IC0gQSBmaWVsZCBuYW1lLjwvcD4NCiAgICAgICA8aDU+UmV0dXJuczogPGNvZGU+PGVtPm1peGVkPC9lbT48L2NvZGU+PC9oNT4NCiAgICAgICAgIDwvbGk+DQogICAgICAgICA8bGk+PGNvZGU+Z2V0X2h1bWFuX3JlYWRhYmxlX2ZpZWxkX3ZhbHVlKDxlbT5zdHJpbmc8L2VtPiAka2V5KTwvY29kZT4gLSBSZXR1cm4gdGhlIGh1bWFuIHJlYWRhYmxlIHZhbHVlIGZvciBhIHNwZWNpZmljIGZpZWxkLCBpZiBhbnkuDQogICAgICAgICAgICAgPHA+RmllbGRzIHN1Y2ggYXMgc2VsZWN0IGZpZWxkcywgcmFkaW8tYnV0dG9uIGdyb3VwcyBvciBjaGVja2JveC1ncm91cHMgY2FuIGhhdmUgYW4gZXhwbGljaXQgdmFsdWUgZm9yIGVhY2ggb3B0aW9uIHVzZWZ1bCBmb3IgcHJvY2Vzc2luZywgYW5kIGEgaHVtYW4gcmVhZGFibGUgdmFsdWUgdGhhdCBpcyBzdWl0YWJsZSBmb3IgcHJlc2VudGF0aW9uIGluIGVtYWlscyBhbmQgcmVwb3J0cy4gVGhpcyBtZXRob2QgYXR0ZW1wdHMgdG8gcmV0dXJuIHRoZSBodW1hbiByZWFkYWJsZSB2YWx1ZSBmb3IgYSBmaWVsZCBpbiBhIHJlc3BvbnNlLiAgSWYgbm8gZXhwbGljaXQgaHVtYW4gcmVhZGFibGUgdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSB1c2VyIGVudGVyZWQgdmFsdWUgaXMgcmV0dXJuZWQgdmVyYmF0dW0uICBTZWUgdGhlIDxjb2RlPmRhdGEtc210Zm0taHVtYW48L2NvZGU+IGRhdGEgYXR0cmlidXRlLjwvcD4NCiAgICAgICAgICAgICA8aDU+QXJndW1lbnRzOjwvaDU+DQogICAgICAgPHA+PGNvZGU+JGtleTwvY29kZT4gLSA8ZW0+KHN0cmluZyk8L2VtPiAtIEEgZmllbGQgbmFtZS48L3A+DQogICAgICAgPGg1PlJldHVybnM6IDxjb2RlPjxlbT5zdHJpbmc8L2VtPjwvY29kZT48L2g1Pg0KICAgICAgIDxwPlRoZSBodW1hbiByZWFkYWJsZSB2YWx1ZSwgaWYgYW55IGNhbiBiZSBmb3VuZC4gIElmIG5vdCwgdGhlbiB0aGUgaW5wdXQgZmllbGQgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC48L3A+DQogICAgICAgICA8L2xpPg0KICAgICAgICAgPGxpPjxjb2RlPmxpc3RfZmlsZXMoPGVtPnN0cmluZzwvZW0+ICRuYW1lID0gbnVsbCk8L2NvZGU+IC0gUmV0dXJuIGZpbGVzIHVwbG9hZGVkIHdpdGggdGhpcyBzdWJtaXNzaW9uIHJlcXVlc3QuICBJZiBhbnkuDQogICAgICAgICAgICAgPGg1PkFyZ3VtZW50czo8L2g1Pg0KICAgICAgIDxwPjxjb2RlPiRuYW1lPC9jb2RlPiAtIDxlbT4oc3RyaW5nKTwvZW0+IC0gQW4gb3B0aW9uYWwgZmllbGQgbmFtZS48L3A+DQogICAgICAgPGg1PlJldHVybnM6IDxjb2RlPjxlbT5zdHJpbmdbXXxudWxsPC9lbT48L2NvZGU+PC9oNT4NCiAgICAgICAgICAgICA8cD5JZiBhIGZpZWxkIG5hbWUgaXMgc3BlY2lmaWVkLCBhbmQgb25lIG9yIG1vcmUgZmlsZXMgd2VyZSB1cGxvYWRlZCBmb3IgdGhhdCBmaWVsZCwgdGhlbiB0aGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBhcnJheSBvZiBmaWxlIG5hbWVzIHJlcHJlc2VudGluZyB0aGUgZmlsZXMgdXBsb2FkZWQgZm9yIGh0YXQgZmllbGQuPC9wPg0KICAgICAgIDxwPklmIG5vIGZpZWxkIG5hbWUgaXMgc3BlY2lmaWVkLCB0aGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBhcnJheSBvZiBhbGwgdXBsb2FkcyBmb3IgdGhlIGVudGlyZSBmb3JtIHN1Ym1pc3Npb24sIGtleWVkIGJ5IHRoZSBmaWVsZCBuYW1lLjwvcD4NCiAgICAgICA8cD5JZiBubyBmaWxlcyB3ZXJlIHVwbG9hZGVkIGZvciB0aGlzIHJlc3BvbnNlIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG51bGwsIG9yIGFuIGVtcHR5IGFycmF5LjwvcD4NCiAgICAgICAgIDwvbGk+DQogICAgICAgICA8bGk+PGNvZGU+aGFzX2ZpbGVzKDxlbT5zdHJpbmc8L2VtPiAkbmFtZSk8L2NvZGU+IC0gVGVzdCBpZiBhIGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQgZm9yIGEgc3BlY2lmaWMgZmllbGQgbmFtZS4NCiAgICAgICAgICAgICA8aDU+QXJndW1lbnRzOjwvaDU+DQogICAgICAgPHA+PGNvZGU+JG5hbWU8L2NvZGU+IC0gPGVtPihzdHJpbmcpPC9lbT4gLSBBIGZpZWxkIG5hbWUuPC9wPg0KICAgICAgIDxoNT5SZXR1cm5zOiA8Y29kZT48ZW0+Ym9vbDwvZW0+PC9jb2RlPjwvaDU+DQogICAgICAgICA8L2xpPg0KICAgICAgICAgPGxpPjxjb2RlPmlzX2ZpbGVfZmllbGQoPGVtPnN0cmluZzwvZW0+ICRuYW1lKTwvY29kZT4gLSBUZXN0IGlmIGEgc3BlY2lmaWMgZmllbGQgbmFtZSByZXByZXNlbnRzIGEgZmlsZSB1cGxvYWQgZmllbGQuDQogICAgICAgICAgICAgPGg1PkFyZ3VtZW50czo8L2g1Pg0KICAgICAgIDxwPjxjb2RlPiRuYW1lPC9jb2RlPiAtIDxlbT4oc3RyaW5nKTwvZW0+IC0gQSBmaWVsZCBuYW1lLjwvcD4NCiAgICAgICA8aDU+UmV0dXJuczogPGNvZGU+PGVtPmJvb2w8L2VtPjwvY29kZT48L2g1Pg0KICAgICAgICAgPC9saT4NCiAgICAgICAgIDxsaT48Y29kZT5oYXNfdXBsb2FkcygpPC9jb2RlPiAtIFRlc3QgaWYgdGhlIGZvcm0gcmVzcG9uc2UgY29udGFpbnMgYW55IHVwbG9hZGVkIGZpbGVzLg0KICAgICAgICAgICAgIDxoNT5Bcmd1bWVudHM6PC9oNT4NCiAgICAgICA8aDU+UmV0dXJuczogPGNvZGU+PGVtPmJvb2w8L2VtPjwvY29kZT48L2g1Pg0KICAgICAgICAgPC9saT4NCiAgICAgICAgIDxsaT48Y29kZT5nZXRfZmlsZV9hc191cmwoPGVtPnN0cmluZzwvZW0+ICRuYW1lKTwvY29kZT4gLSBHZXQgdGhlIFVSTChzKSBmb3IgYWxsIGZpbGVzIHVwbG9hZGVkIHRvIGZvciBhIHNwZWNpZmllZCBmaWVsZC4NCiAgICAgICAgICAgICA8aDU+QXJndW1lbnRzOjwvaDU+DQogICAgICAgPHA+PGNvZGU+JG5hbWU8L2NvZGU+IC0gPGVtPihzdHJpbmcpPC9lbT4gLSBBIGZpZWxkIG5hbWUuPC9wPg0KICAgICAgIDxoNT5SZXR1cm5zOiA8Y29kZT48ZW0+c3RyaW5nW118c3RyaW5nfG51bGw8L2VtPjwvY29kZT48L2g1Pg0KICAgICAgIDxwPlNpbWlsYXIgdG8gdGhlIDxlbT48c3Ryb25nPmxpc3RfZmlsZXMoKTwvc3Ryb25nPjwvZW0+IG1ldGhvZCwgdGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYWxsIG9mIHRoZSBmaWxlcyB1cGxvYWRlZCBmb3IgYSBzcGVjaWZpYyBmaWVsZC4gIEhvd2V2ZXIsIHRoZSBvdXRwdXQgaXMgY29tcGxldGUgVVJMcyB0byB0aGUgdXBsb2FkZWQgZmlsZXMuPC9wPg0KICAgICAgIDxwPklmIG11bHRpcGxlIGZpbGVzIHdlcmUgdXBsb2FkZWQgZm9yIHRoZSBzcGVjaWZlZCBmaWVsZCwgdGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gYXJyYXkgb2Ygc3RyaW5ncy48L3A+DQogICAgICAgPHA+SWYgYSBzaW5nbGUgZmlsZSB3YXMgdXBsb2FkZWQgZm9yIHRoZSBzcGVjaWZpZWQgZmllbGQsIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIGEgc2luZ2xlIHN0cmluZy48L3A+DQogICAgICAgPHA+SWYgbm8gZmlsZXMgd2VyZSB1cGxvYWRlZCBmb3IgdGhlIHNwZWNpZmllZCBmaWVsZCwgdGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gbnVsbC48L3A+DQogICAgICAgICA8L2xpPg0KICAgICAgICAgPGxpPjxjb2RlPmhhc19lcnJvcnMoKTwvY29kZT4gLSBUZXN0IHdoZXRoZXIgYW55IGVycm9ycyBoYXZlIGJlZW4gcmVjb3JkZWQgKHlldCkgaW4gdGhlIGZvcm0gcmVzcG9uc2UuPC9saT4NCiAgICAgICAgICAgICA8cD5UaGlzIG1ldGhvZCBpcyB1c2VmdWwgaW4gdGVtcGxhdGVzIHVzZWQgZm9yIGZpZWxkIHZhbGlkYXRpb24gYW5kIGZvciB0ZW1wbGF0ZXMgdXNlZCBpbiBkaXNwb3NpdGlvbnMgdG8gY29udHJvbCBvdXRwdXQgb3IgZnVydGhlciBhY3Rpb25zLjwvcD4NCiAgICAgICA8cD5pLmUuOiBjb2RlIGxpa2UgdGhpcyBjb3VsZCBiZSB1c2VkIGluIHRoZSAiQ29tcHV0ZSBhIGZpZWxkIHZhbHVlIiB2YWxpZGF0aW9uOjwvcD4NCiAgICAgICA8cHJlPjxjb2RlPiYjMTIzO2lmICEkcmVzcG9uc2UtJmd0O2hhc19lcnJvcnMoKX0mIzEyMztzb21lX3BsdWdpbn0mIzEyMzsvaWZ9PC9jb2RlPjwvcHJlPg0KICAgICAgICAgPC9saT4NCiAgICAgICA8L3VsPg0KICAgIDwvbGk+DQogIDwvdWw+DQoNCiAgeyo8aDM+RXh0ZW5kaW5nIGZ1bmN0aW9uYWxpdHk8L2gzPip9DQogIHsqPGg0PkFkZGluZyBWYWxpZGF0aW9uczwvaDQ+Kn0NCiAgeyo8aDQ+QWRkaW5nIERpc3Bvc2l0aW9uczwvaDQ+Kn0NCg0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/help.tab.params.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgPHA+DQogIEFzIHNlZW4gaW4gdGhlIDxiPkhvdyBUbyBVc2UgSXQ8L2I+IHRhYiB0aGUgbW9zdCBiYXNpYyB1c2FnZSBvZiB0aGUgbW9kdWxlIGlzIGJ5IGNhbGxpbmcgdGhlIDxiPntsZGVsaW19eyRtb2RfbmFtZX0gZm9ybT08aT4nJmx0O2Zvcm1fbmFtZSZndDsnPC9pPntyZGVsaW19PC9iPiB0YWcgaW4gYW55IG9mIHlvdXIgZnJvbnRlbmQgdGVtcGxhdGVzLiBIb3dldmVyLCB5b3UgY2FuIGV4dGVuZCBhbmQgY29udHJvbCB0aGUgbW9kdWxlJ3MgYmVoYXZpb3VyIHdpdGggcGFyYW1ldGVycyBpbiB0aGUgdGFnLg0KPC9wPg0KDQo8aDM+UGFyYW1ldGVyczwvaDM+DQoNCiAgPHA+VGhpcyBpcyBhIGxpc3Qgb2YgdGhlIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBtb2R1bGUgdGFnOjwvcD4NCg0KeyogICAgICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Zvcm0nLENMRUFOX1NUUklORyk7Kn0NCnsqICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9kYXRlY2hlY2snLENMRUFOX0lOVCk7Kn0NCnsqICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9zbXRmbV8uKi8nLENMRUFOX1NUUklORyk7Kn0NCg0KICA8dWw+DQogICAgPGxpPg0KICAgICAgPGVtPihvcHRpb25hbCk8L2VtPiA8Yj5mb3JtPC9iPj0gdGhlIG5hbWUgb2YgdGhlIGZvcm0NCnsqICAgICAgPHVsPip9DQp7KiAgICAgICAgPGxpPjxiPmRlZmF1bHQ8L2I+IC0gU3BlY2lmaWVzIHRoZSBkZWZhdWx0IGFjdGlvbiwgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgPGI+bm9kYXRlY2hlY2s8L2I+IHBhcmFtZXRlciBiZWxvdzs8L2xpPip9DQoNCnsqICAgICAgPC91bD4qfQ0KICAgIDwvbGk+DQogIDwvdWw+DQoNCjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/help.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e3N0cmlwfXskbW9kX25hbWUgPSAkbW9kLT5HZXROYW1lKCl9eyRtb2RfZl9uYW1lID0gJG1vZC0+R2V0RnJhbWVOYW1lKCl9DQo8c2NyaXB0IHNyYz0ieyR4dC0+R2V0TW9kdWxlVVJMUGF0aCgpfS9qcy9qcy5jb29raWUuanMiPjwvc2NyaXB0Pg0KICA8c2NyaXB0Pg0KICAgIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCiAgICAgIHZhciBhY3RpdmVfdGFiID0gQ29va2llcy5nZXQoJ3skbW9kX25hbWV9X2FjdGl2ZScpOw0KICAgICAgJCgiI2RvbmF0aW5nIikuY2xpY2soZnVuY3Rpb24oZXZlbnQpDQogICAgICB7DQogICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgIF9zZXRfYWN0aXZlX3RhYignY29udHJpYnV0ZScpOw0KICAgICAgfSk7DQoNCiAgICAgIGlmKHR5cGVvZiBhY3RpdmVfdGFiID09PSAidW5kZWZpbmVkIikNCiAgICAgIHsNCiAgICAgICAgX3NldF9hY3RpdmVfdGFiKCdnZW5lcmFsJyk7DQogICAgICB9DQogICAgICBlbHNlDQogICAgICB7DQogICAgICAgIF9zZXRfYWN0aXZlX3RhYihhY3RpdmVfdGFiKTsNCiAgICAgIH0NCg0KICAgICAgJCgnI3BhZ2VfdGFicyA+IGRpdicpDQogICAgICAgIC5lYWNoKGZ1bmN0aW9uKCkNCiAgICAgICAgew0KICAgICAgICAgICQodGhpcykuY2xpY2soZnVuY3Rpb24oKQ0KICAgICAgICAgIHsNCiAgICAgICAgICAgIENvb2tpZXMuc2V0KCd7JG1vZF9uYW1lfV9hY3RpdmUnLCB0aGlzLmlkKTsNCiAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgfSk7DQoNCg0KICAgIGZ1bmN0aW9uIF9zZXRfYWN0aXZlX3RhYih0YWJfbmFtZSkNCiAgICB7DQogICAgICAkKCcjcGFnZV90YWJzID4gZGl2JykNCiAgICAgICAgLmVhY2goZnVuY3Rpb24oKQ0KICAgICAgICB7DQogICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7DQogICAgICAgIH0pOw0KDQogICAgICAkKCcjcGFnZV9jb250ZW50ID4gZGl2JykNCiAgICAgICAgLmVhY2goZnVuY3Rpb24oKQ0KICAgICAgICB7DQogICAgICAgICAgJCh0aGlzKS5oaWRlKCk7DQogICAgICAgIH0pOw0KDQogICAgICAkKCcjJyArIHRhYl9uYW1lKS5hZGRDbGFzcygnYWN0aXZlJyk7DQogICAgICAkKCcjJyArIHRhYl9uYW1lICsgJ19jJykuc2hvdygpOw0KICAgICAgQ29va2llcy5zZXQoJ3skbW9kX25hbWV9X2FjdGl2ZScsIHRhYl9uYW1lKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBjb3B5VG9DbGlwYm9hcmQoZWxlbWVudCkNCiAgICB7DQogICAgICB2YXIgJHRlbXAgPSAkKCI8aW5wdXQ+Iik7DQogICAgICAkKCJib2R5IikuYXBwZW5kKCR0ZW1wKTsNCiAgICAgICR0ZW1wLnZhbCgkKGVsZW1lbnQpLnRleHQoKSkuc2VsZWN0KCk7DQogICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpOw0KICAgICAgJHRlbXAucmVtb3ZlKCk7DQogICAgfQ0KICA8L3NjcmlwdD4NCg0KICA8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+DQogIHsqIFRhYnMgSGVhZGVycyAqfQ0KICA8ZGl2IGlkPSJwYWdlX3RhYnMiPg0KICAgIDxkaXYgaWQ9ImdlbmVyYWwiPg0KICAgICAgV2hhdCBJcyBJdA0KICAgIDwvZGl2Pg0KICAgIDxkaXYgaWQ9ImhvdyI+DQogICAgICBIb3cgVG8gVXNlIEl0IC0gSQ0KICAgIDwvZGl2Pg0KICAgIDxkaXYgaWQ9Imhvd18yIj4NCiAgICAgIEhvdyBUbyBVc2UgSXQgLSBJSQ0KICAgIDwvZGl2Pg0KICAgIDxkaXYgaWQ9InBhcmFtcyI+DQogICAgICBQYXJhbWV0ZXJzDQogICAgPC9kaXY+DQogICAgPGRpdiBpZD0ibWlzYyI+DQogICAgICBNaXNjZWxsYW5lb3VzDQogICAgPC9kaXY+DQogICAgPGRpdiBpZD0iY29udHJpYnV0ZSI+DQogICAgICBDb250cmlidXRlDQogICAgPC9kaXY+DQogICAgPGRpdiBpZD0iYWJvdXQiPg0KICAgICAgQWJvdXQNCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQogIHsqIFRhYnMgSGVhZGVycyAqfQ0KICAgIHsqIFRhYnMgQ29udGVudHMgKn0NCiAgPGRpdiBpZD0icGFnZV9jb250ZW50Ij4NCiAgPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4NCg0KICAgIHsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqfQ0KICAgIHsqIFdoYXQgSXMgSXQgKn0NCiAgICA8ZGl2IGlkPSJnZW5lcmFsX2MiPg0KICAgICAge2luY2x1ZGUgZmlsZT0nbW9kdWxlX2ZpbGVfdHBsOlNtYXJ0Rm9ybXM7aGVscC50YWIuZ2VuZXJhbC50cGwnfQ0KICAgIDwvZGl2Pg0KDQogICAgeyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKip9DQogICAgeyogSG93IFRvIFVzZSBJdCAtIEkgKn0NCiAgICA8ZGl2IGlkPSJob3dfYyI+DQogICAgICB7aW5jbHVkZSBmaWxlPSdtb2R1bGVfZmlsZV90cGw6U21hcnRGb3JtcztoZWxwLnRhYi5ob3cudHBsJ30NCiAgICA8L2Rpdj4NCiAgICB7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKn0NCiAgICB7KiBIb3cgVG8gVXNlIEl0IC0gSUkgKn0NCiAgICA8ZGl2IGlkPSJob3dfMl9jIj4NCiAgICAgIHtpbmNsdWRlIGZpbGU9J21vZHVsZV9maWxlX3RwbDpTbWFydEZvcm1zO2hlbHAudGFiLmhvd18yLnRwbCd9DQogICAgPC9kaXY+DQoNCiAgICB7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKn0NCiAgICB7KiBQYXJhbWV0ZXJzICp9DQogICAgPGRpdiBpZD0icGFyYW1zX2MiPg0KICAgICAge2luY2x1ZGUgZmlsZT0nbW9kdWxlX2ZpbGVfdHBsOlNtYXJ0Rm9ybXM7aGVscC50YWIucGFyYW1zLnRwbCd9DQogICAgPC9kaXY+DQoNCiAgICB7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKn0NCiAgICB7KiBNaXNjZWxsYW5lb3VzICp9DQogICAgPGRpdiBpZD0ibWlzY19jIj4NCiAgICAgIHtpbmNsdWRlIGZpbGU9J21vZHVsZV9maWxlX3RwbDpTbWFydEZvcm1zO2hlbHAudGFiLm1pc2MudHBsJ30NCiAgICA8L2Rpdj4NCg0KICAgIHsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqfQ0KICAgIHsqIERvbmF0aW9ucyAqfQ0KICAgIDxkaXYgaWQ9ImNvbnRyaWJ1dGVfYyI+DQogICAgICB7aW5jbHVkZSBmaWxlPSdtb2R1bGVfZmlsZV90cGw6U21hcnRGb3JtcztoZWxwLnRhYi5jb250cmlidXRlLnRwbCd9DQogICAgPC9kaXY+DQoNCiAgICB7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKn0NCiAgICB7KiBDcmVkaXRzICp9DQogICAgPGRpdiBpZD0iYWJvdXRfYyI+DQogICAgICB7aW5jbHVkZSBmaWxlPSdtb2R1bGVfZmlsZV90cGw6U21hcnRGb3JtcztoZWxwLnRhYi5hYm91dC50cGwnfQ0KICAgIDwvZGl2Pg0Key9zdHJpcH0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_advanced_contact_form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e3NtdGZtX2Zvcm1fZXJyb3JzIGFzc2lnbj0nZXJyb3JzJ30Ke2lmICFlbXB0eSgkZXJyb3JzKX0KICA8dWwgY2xhc3M9ImVycm9yIj4KICB7Zm9yZWFjaCAkZXJyb3JzIGFzICRlcnJ9CiAgICA8bGk+eyRlcnJ9PC9saT4KICB7L2ZvcmVhY2h9CiAgPC91bD4Key9pZn0KCjxmb3JtPgogIDxoMz5BIG1vcmUgYWR2YW5jZWQgY29udGFjdCBmb3JtPC9oMz4KCiAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgPGxhYmVsIGZvcj0ibXluYW1lIj5Zb3VyIE5hbWU6PC9sYWJlbD4KICAgICA8aW5wdXQgaWQ9Im15bmFtZSIgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0ibmFtZSIgdmFsdWU9InskZm9ybV9kYXRhLT5uYW1lfSIgcmVxdWlyZWQvPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICA8bGFiZWwgZm9yPSJteWVtYWlsIj5Zb3VyIEVtYWlsOjwvbGFiZWw+CiAgICAgPGlucHV0IGlkPSJteWVtYWlsIiBjbGFzcz0iZm9ybS1jb250cm9sIiB0eXBlPSJlbWFpbCIgbmFtZT0iZW1haWwiIHZhbHVlPSJ7JGZvcm1fZGF0YS0+ZW1haWx9IiByZXF1aXJlZC8+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgIDxsYWJlbCBmb3I9InBob25lIj5QaG9uZSBOdW1iZXIgKDEwIGRpZ2l0cyk6PC9sYWJlbD4KICAgICA8aW5wdXQgaWQ9InBob25lIiBjbGFzcz0iZm9ybS1jb250cm9sIiB0eXBlPSJ0ZXh0IiBuYW1lPSJwaG9uZSIgdmFsdWU9InskZm9ybV9kYXRhLT5waG9uZX0iIHBhdHRlcm49IlswLTlde2xkZWxpbX0xMCwxMXtyZGVsaW19Ii8+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgIDxsYWJlbCBmb3I9ImR1ZWRhdGUiPkR1ZSBEYXRlOjwvbGFiZWw+CiAgICAgPGlucHV0IGlkPSJkdWVkYXRlIiBjbGFzcz0iZm9ybS1jb250cm9sIiB0eXBlPSJkYXRlIiBuYW1lPSJkdWVkYXRlIiB2YWx1ZT0ieyRmb3JtX2RhdGEtPmR1ZWRhdGV9IiBkYXRhLXNtdGZtLW1pbj0ieyRzbWFydHkubm93fGRhdGVfZm9ybWF0OiclWS0lbS0lZCd9Ii8+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgIDxsYWJlbCBmb3I9ImlucXVpcnlfdHlwZSI+SG93IGRpZCB5b3UgaGVhciBhYm91dCB1czo8L2xhYmVsPgogICAgIDxzZWxlY3QgaWQ9ImlucXVpcnlfdHlwZSIgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0iaW5xdWlyeV90eXBlIiBkYXRhLXNtdGZtLXJlcXVpcmVkIGRhdGEtc210Zm0tc2VsZWN0ZWQ9IndlYmFkIj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSIiIGxhYmVsPSJub25lIj48L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9IndlYmFkIiBkYXRhLXNtdGZtLWh1bWFuPSJXZWIgQWR2ZXJ0aXNlbWVudCI+VmlhIGEgd2ViIGFkPC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPSJzZWFyY2giIGRhdGEtc210Zm0taHVtYW49IlNlYXJjaCBFbmdpbmUiPkludGVybmV0IHNlYXJjaDwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iZnJpZW5kIj5Gcm9tIGEgZnJpZW5kPC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPSJjdXN0b21lciIgZGF0YS1zbXRmbS1odW1hbj0iQ3VzdG9tZXIiPkkgYW0gYSBjdXJyZW50L3Bhc3QgY3VzdG9tZXI8L29wdGlvbj4KICAgICA8L3NlbGVjdD4KICAgICA8Zm9vPnsqIHRoaXMgaW52YWxpZCB0YWcgaXMgaGVyZSBpbnRlbnRpb25hbGx5LCB0byBpbGx1c3RyYXRlIHNvbWUgb2YgdGhlIGZvcm0gc2Nhbm5pbmcgcHJvY2VzcyAqfQogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICA8bGFiZWwgZm9yPSJjb21tZW50cyI+WW91ciBDb21tZW50czo8L2xhYmVsPgogICAgIDx0ZXh0YXJlYSBpZD0iY29tbWVudHMiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9ImNvbW1lbnRzIiBkYXRhLXNtdGZtLXJlcXVpcmVkPnskZm9ybV9kYXRhLT5jb250ZW50c308L3RleHRhcmVhPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICA8bGFiZWwgZm9yPSJpbWFnZSI+SW1hZ2UgQXR0YWNobWVudCAocmVxdWlyZWQpPC9sYWJlbD4KICAgICA8aW5wdXQgaWQ9ImltYWdlIiBjbGFzcz0iZm9ybS1jb250cm9sIiB0eXBlPSJmaWxlIiBuYW1lPSJpbWFnZSIgYWNjZXB0PSJpbWFnZS8qIiBkYXRhLXNtdGZtLW1heHNpemU9NTAwMDAgZGF0YS1zbXRmbS1yZXF1aXJlZC8+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgIDxsYWJlbCBmb3I9InByaW9yaXR5Ij5Qcmlvcml0eTwvbGFiZWw+CiAgICAgPGlucHV0IGlkPSJwcmlvcml0eSIgY2xhc3M9ImZvcm0tY29udHJvbCIgdHlwZT0ibnVtYmVyIiBuYW1lPSJwcmlvcml0eSIgdmFsdWU9InskZm9ybV9kYXRhLT5wcmlvcml0eXxkZWZhdWx0OjV9IiBkYXRhLXNtdGZtLXJlcXVpcmVkLz4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgPHA+UGxlYXNlIGNvbnRhY3QgbWUgdmlhOjwvcD4KICAgICA8bGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWNvbnRyb2wiIHR5cGU9InJhZGlvIiBuYW1lPSJjb250YWN0X2J5IiB2YWx1ZT0iZW1haWwiIGRhdGEtc210Zm0tbGFiZWw9J0NvbnRhY3QgVmlhJyBkYXRhLXNtdGZtLXNlbGVjdGVkPSJ7JGZvcm1fZGF0YS0+Y29udGFjdF9ieXxkZWZhdWx0OidlbWFpbCd9Ii8+IEVtYWlsPC9sYWJlbD4KICAgICA8bGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWNvbnRyb2wiIHR5cGU9InJhZGlvIiBuYW1lPSJjb250YWN0X2J5IiB2YWx1ZT0icGhvbmUiIGRhdGEtc210Zm0tc2VsZWN0ZWQ9InskZm9ybV9kYXRhLT5jb250YWN0X2J5fGRlZmF1bHQ6J2VtYWlsJ30iLz4gUGhvbmU8L2xhYmVsPgogIDwvZGl2PgoKICA8ZGl2IGRhdGEtc210Zm0tY2FwdGNoYT57KiBjYXB0Y2hhIHdpbGwgYmUgYXBwZW5kZWQgaGVyZSAqfTwvZGl2PgogIDxkaXYgZGF0YS1zbXRmbS1jYXB0Y2hhLWlucHV0PnsqIGNhcHRjaGEgaW5wdXQgZmllbGQsIGlmIG5lY2Vzc2FyeSB3aWxsIGJlIGFwcGVuZGVkIGhlcmUgKn08L2Rpdj4KCiAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICA8YnV0dG9uIHR5cGU9InJlc2V0Ij5SZXNldDwvYnV0dG9uPgogICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiPlN1Ym1pdDwvYnV0dG9uPgogIDwvZGl2Pgo8L2Zvcm0+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_contact_form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e3NtdGZtX2Zvcm1fZXJyb3JzIGFzc2lnbj0nZXJyb3JzJ30Ke2lmICFlbXB0eSgkZXJyb3JzKX0KICA8dWwgY2xhc3M9ImVycm9yIj4KICB7Zm9yZWFjaCAkZXJyb3JzIGFzICRlcnJ9CiAgICA8bGk+eyRlcnJ9PC9saT4KICB7L2ZvcmVhY2h9CiAgPC91bD4Key9pZn0KCjxmb3JtPgoKICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgIDxsYWJlbCBmb3I9Im15bmFtZSI+WW91ciBOYW1lOjwvbGFiZWw+CiAgICAgPGlucHV0IGlkPSJteW5hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9Im5hbWUiIHJlcXVpcmVkLz4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icm93Ij4KICAgICA8bGFiZWwgZm9yPSJteWVtYWlsIj5Zb3VyIEVtYWlsOjwvbGFiZWw+CiAgICAgPGlucHV0IGlkPSJteWVtYWlsIiBjbGFzcz0iZm9ybS1jb250cm9sIiB0eXBlPSJlbWFpbCIgbmFtZT0iZW1haWwiIHJlcXVpcmVkLz4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icm93Ij4KICAgICA8bGFiZWwgZm9yPSJjb21tZW50cyI+WW91ciBDb21tZW50czo8L2xhYmVsPgogICAgIDx0ZXh0YXJlYSBpZD0iY29tbWVudHMiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9ImNvbW1lbnRzIiByZXF1aXJlZD48L3RleHRhcmVhPgogIDwvZGl2PgoKICA8ZGl2IGRhdGEtc210Zm0tY2FwdGNoYT48L2Rpdj4KCiAgPGRpdiBjbGFzcz0icm93Ij4KICAgIDxidXR0b24gdHlwZT0icmVzZXQiPlJlc2V0PC9idXR0b24+CiAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCI+U3VibWl0PC9idXR0b24+CiAgPC9kaXY+CjwvZm9ybT4=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_trivial_widget_builder.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdD4KJChmdW5jdGlvbigpewogICB7KgogICBUaGlzIHRlbXBsYXRlIHJlcXVpcmVzIGpxdWVyeSwgIGl0IHNob3VsZCBiZSBpbml0aWFsaXplZCBzb21ld2hlcmUgaW4gdGhlIGhlYWQgb2YgeW91ciBwYWdlIHRlbXBsYXRlIChub3QgdGhlIGJvZHkpIGluIG9yZGVyIHRvIHVzZSB0aGlzIHRlbXBsYXRlIGFzIGlzLgogICAKICAgdGhpcyBpcyBhIHRyaXZpYWwgZXhhbXBsZSBvZiBjYWxjdWxhdGluZyBwcmljZSBpbiBqYXZhc2NyaXB0L2pxdWVyeS4KICAgeW91IGNvdWxkIHVzZSBhamF4LCBvciBhbnkgb3RoZXIgbWVhbnMgdG8gZ2V0IGdldCBpbml0aWFsIGRhdGEsIHBvcHVsYXRlIHRoZSBmb3JtCiAgIGFuZCB0byBjYWxjdWxhdGUgdGhlIHByaWNlLgogICAqfQogICB2YXIgYmFzZV9wcmljZSA9IDEwLjA7CiAgIHZhciBlbF9zaXplID0gJCgnI3dpZGdldF9zaXplJyk7CiAgIHZhciBlbF9jb2xvciA9ICQoJyN3aWRnZXRfY29sb3InKTsKICAgdmFyIGVsX3NoYXBlID0gJCgnI3dpZGdldF9zaGFwZScpOwogICB2YXIgZWxfcHJpY2UgPSAkKCcjd2lkZ2V0X3ByaWNlJyk7CgogICBmdW5jdGlvbiBjYWxjX3ByaWNlKCkgewogICAgICB2YXIgcHJpY2UgPSBiYXNlX3ByaWNlOwogICAgICBwcmljZSArPSAkKCdvcHRpb246c2VsZWN0ZWQnLGVsX3NpemUpLmRhdGEoJ3ByaWNlJyk7CiAgICAgIHByaWNlICs9ICQoJ29wdGlvbjpzZWxlY3RlZCcsZWxfY29sb3IpLmRhdGEoJ3ByaWNlJyk7CiAgICAgIHByaWNlICs9ICQoJ29wdGlvbjpzZWxlY3RlZCcsZWxfc2hhcGUpLmRhdGEoJ3ByaWNlJyk7CiAgICAgIGVsX3ByaWNlLnZhbChwcmljZSk7CiAgIH0KCiAgIGVsX3NpemUuY2hhbmdlKGNhbGNfcHJpY2UpOwogICBlbF9jb2xvci5jaGFuZ2UoY2FsY19wcmljZSk7CiAgIGVsX3NoYXBlLmNoYW5nZShjYWxjX3ByaWNlKTsKICAgZWxfc2l6ZS50cmlnZ2VyKCdjaGFuZ2UnKTsKfSk7Cjwvc2NyaXB0PgoKe3NtdGZtX2Zvcm1fZXJyb3JzIGFzc2lnbj0nZXJyb3JzJ30Ke2lmICFlbXB0eSgkZXJyb3JzKX0KICA8dWwgY2xhc3M9ImFsZXJ0IGFsZXJ0LWRhbmdlciI+CiAge2ZvcmVhY2ggJGVycm9ycyBhcyAkZXJyfQogICAgPGxpPnskZXJyfTwvbGk+CiAgey9mb3JlYWNofQogIDwvdWw+CnsvaWZ9Cgo8aDM+VHJpdmlhbCBXaWRnZXQgQnVpbGRlcjwvaDM+Cjxmb3JtIGlkPSJzaW1wbGVfY2FsY3VsYXRvciI+CjxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0yIj5XaWRnZXQgU2l6ZToKICAgICAgPHNlbGVjdCBpZD0id2lkZ2V0X3NpemUiIG5hbWU9IndpZGdldF9zaXplIiBjbGFzcz0iY29sLXNtLTkiIGRhdGEtc210Zm0tc2VsZWN0ZWQ9InskZm9ybV9kYXRhLT53aWRnZXRfc2l6ZXxkZWZhdWx0OidtZWRpdW0nfSI+CiAgICAgICAgIDxvcHRpb24gdmFsdWU9InNtYWxsIiBkYXRhLXByaWNlPTA+U21hbGw8L29wdGlvbj4KICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibWVkaXVtIiBkYXRhLXByaWNlPTE+TWVkaXVtPC9vcHRpb24+CiAgICAgICAgIDxvcHRpb24gdmFsdWU9ImxhcmdlIiBkYXRhLXByaWNlPTI+TGFyZ2U8L29wdGlvbj4KICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iWEwiIGRhdGEtcHJpY2U9Mz5YTDwvb3B0aW9uPgogICAgICAgICA8b3B0aW9uIHZhbHVlPSJYWEwiIGRhdGEtcHJpY2U9ND5YWEw8L29wdGlvbj4KICAgICAgPC9zZWxlY3Q+CiAgIDwvbGFiZWw+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMiI+V2lkZ2V0IENvbG9yOgogICAgICA8c2VsZWN0IGlkPSJ3aWRnZXRfY29sb3IiIG5hbWU9IndpZGdldF9jb2xvciIgY2xhc3M9ImNvbC1zbS05IiBkYXRhLXNtdGZtLXNlbGVjdGVkPSJ7JGZvcm1fZGF0YS0+d2lkZ2V0X2NvbG9yfGRlZmF1bHQ6J3JlZCd9Ij4KICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iYmxhY2siIGRhdGEtcHJpY2U9MD5CbGFjazwvb3B0aW9uPgogICAgICAgICA8b3B0aW9uIHZhbHVlPSJ3aGl0ZSIgZGF0YS1wcmljZT0wPldoaXRlPC9vcHRpb24+CiAgICAgICAgIDxvcHRpb24gdmFsdWU9InJlZCIgZGF0YS1wcmljZT0xPlJlZDwvb3B0aW9uPgogICAgICAgICA8b3B0aW9uIHZhbHVlPSJncmVlbiIgZGF0YS1wcmljZT0yPkdyZWVuPC9vcHRpb24+CiAgICAgICAgIDxvcHRpb24gdmFsdWU9ImJsdWUiIGRhdGEtcHJpY2U9Mz5CbHVlPC9vcHRpb24+CiAgICAgIDwvc2VsZWN0PgogICA8L2xhYmVsPgo8L2Rpdj4KPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTIiPldpZGdldCBDb2xvcjoKICAgICAgPHNlbGVjdCBpZD0id2lkZ2V0X3NoYXBlIiBuYW1lPSJ3aWRnZXRfc2hhcGUiIGNsYXNzPSJjb2wtc20tOSIgZGF0YS1zbXRmbS1zZWxlY3RlZD0ieyRmb3JtX2RhdGEtPndpZGdldF9zaGFwZXxkZWZhdWx0Oidyb3VuZCd9Ij4KICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ic3F1YXJlIiBkYXRhLXByaWNlPTA+U3F1YXJlPC9vcHRpb24+CiAgICAgICAgIDxvcHRpb24gdmFsdWU9InJvdW5kIiBkYXRhLXByaWNlPTA+Q2lyY3VsYXI8L29wdGlvbj4KICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ib3ZhbCIgZGF0YS1wcmljZT0xPk92YWw8L29wdGlvbj4KICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaGV4IiBkYXRhLXByaWNlPTI+SGV4YWdvbjwvb3B0aW9uPgogICAgICAgICA8b3B0aW9uIHZhbHVlPSJvY3QiIGRhdGEtcHJpY2U9Mz5PY3RhZ29uPC9vcHRpb24+CiAgICAgIDwvc2VsZWN0PgogICA8L2xhYmVsPgo8L2Rpdj4KPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMiI+RmluYWwgUHJpY2U6CiAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJ3aWRnZXRfcHJpY2UiIGRpc2FibGVkPnsqIG5hbWUgb21pdHRlZCBpbnRlbnRpb25hbGx5LCBzbyB0aGF0IGNhbGN1bGF0ZWQgZGF0YSBpcyBub3Qgc3VibWl0dGVkLiAqfQogIDwvbGFiZWw+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgogICA8YnV0dG9uPlN1Ym1pdDwvYnV0dG9uPgo8L2Rpdj4KPC9mb3JtPgo=]]></data>
	</file>
</module>
