<?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>SMSG</name>
	<version>0.9</version>
  <mincmsversion>1.9</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyBpdCBkbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBhbGxvd3Mgd2Vic2l0ZSB2aXNpdG9ycyB0byBlaXRoZXIgc2VuZCBhIHByZS1kZXRlcm1pbmVkIChhbmQgZW5jcnlwdGVkKSB0ZXh0CiBtZXNzYWdlIHRvIGFueSB0ZXh0IGNhcGFibGUgcGhvbmUsIG9yIHRvIGFsbG93IHNlbmRpbmcgYSB1c2VyIHNwZWNpZmllZCB0ZXh0IG1lc3NhZ2UgdG8gYSBwcmUtZGV0ZXJtaW5lZAogKGFuZCBoaWRkZW4pIG1vYmlsZSBwaG9uZSBudW1iZXIuICBJdCBpcyB1c2VmdWwgZm9yIHN1Y2ggdGhpbmdzIGFzIHNlbmRpbmcgYWRkcmVzc2VzIGZyb20gYSBkaXJlY3RvcnkgdG8gYSBtb2JpbGUgcGhvbmUgbnVtYmVyLi4uCiBvciBmb3IgbWVzc2FnaW5nIGEgd2Vic2l0ZSBhZG1pbmlzdHJhdG9yIHdpdGggdXJnZW50IGluZm9ybWF0aW9uLjwvcD4KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgo8cD5UaGUgZmlyc3QgdGhpbmcgdG8gZG8gaXMgZ3JhbnQgcmVsZXZhbnQgcGVybWlzc2lvbnMgdG8gdXNlcnMuIFRocmVlIHBlcm1pc3Npb25zIGFyZSBhdmFpbGFibGU6PC9wPgo8dWw+CjxsaT5Nb2RpZnkgbW9kdWxlIHNldHRpbmdzIG90aGVyIHRoYW4gdGVtcGxhdGVzPC9saT4KPGxpPk1vZGlmeSBtb2R1bGUgdGVtcGxhdGVzPC9saT4KPGxpPkFkbWluaXN0cmF0aW9uLCB3aGljaCBpbmNsdWRlcyB0aGUgYWJvdmUgdHdvIHBsdXMgbW9yZS1leHRlbnNpdmUgc2V0dGluZ3MgbWFuaXB1bGF0aW9uPC9saT4KPC91bD4KPHA+VGhlbiwgdmlhIHRoZSBtb2R1bGUncyBhZG1pbiBwYW5lbCAobWVudSAmcXVvdDtFeHRlbnNpb25zICZndDsmZ3Q7IFNNUyBVdGlsaXR5JnF1b3Q7KSwgcmVjb3JkIGluZm9ybWF0aW9uCmFib3V0IGhvdyB0aGUgbW9kdWxlIGlzIHRvIHdvcmsuCkNob29zZSBvbmUgb2YgdGhlIGF2YWlsYWJsZSBnYXRld2F5cyBhbmQgZW50ZXIgdGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJmYWNlIHBhcmFtZXRlcnMuCkNob29zZSB2YWx1ZXMgZm9yIG1vZHVsZSBzZXR0aW5ncyBzdWNoIGFzIHRoZSBTTVMgc2VuZGluZy1saW1pdHMgKHRvIHJlZHVjZSBzcGFtKS48L3A+CjxwPlRoZW4gcGVyZm9ybSBhdCBsZWFzdCBvbmUgdGVzdCAodGhlcmUncyBhIHRhYiBpbiB0aGUgbW9kdWxlIGFkbWluIHBhbmVsIHRvIGFsbG93IHRoaXMpIHRvIGVuc3VyZSB0aGF0IFNNUyBtZXNzYWdlcyBhcmUgYmVpbmcgc2VudCB0byB5b3VyIG1vYmlsZSBwaG9uZS48L3A+CjxiciAvPgo8cD5UaGVyZSBhcmUgdHdvIHByaW1hcnkgd2F5cyB0byB1c2UgdGhpcyBtb2R1bGUgaW4gdGhlIHdlYnNpdGUgZnJvbnQgZW5kOjwvcD4KPG9sPgogPGxpPlRvIHNlbmQgcHJlZGVmaW5lZCB0ZXh0IHRvIGEgdXNlci1zcGVjaWZpZWQgcGhvbmUgbnVtYmVyLCBwdXQgYSB0YWcgbGlrZQogPGNvZGU+e1NNU0cgYWN0aW9uPSdlbnRlcm51bWJlcicgc21zdGV4dD0ndGhlIHF1aWNrIGJyb3duIGZveCd9PC9jb2RlPiBpbnRvIGEgcGFnZSBvciB0ZW1wbGF0ZS4KIFRoYXQgY3JlYXRlcyBhIGxpbmsgdGhhdCB3aGVuIGNsaWNrZWQgd2lsbCBkaXNwbGF5IGEgZm9ybSBmb3IgdGhlIHVzZXIgdG8gZW50ZXIgYSBtb2JpbGUgcGhvbmUgbnVtYmVyLjwvcD4KIDwvbGk+CiA8bGk+VG8gc2VuZCB1c2VyLXNwZWNpZmllZCB0ZXh0IHRvIGEgcHJlZGVmaW5lZCBwaG9uZSBudW1iZXIsIHB1dCBhIHRhZyBsaWtlCiA8Y29kZT57U01TRyBhY3Rpb249J2VudGVydGV4dCcgc21zbnVtPTV9PC9jb2RlPiBpbnRvIGEgcGFnZSBvciB0ZW1wbGF0ZS4KIFRoYXQgY3JlYXRlcyBhIGxpbmsgdGhhdCB3aGVuIGNsaWNrZWQgd2lsbCBkaXNwbGF5IGEgZm9ybSBmb3IgdGhlIHVzZXIgdG8gZW50ZXIgYSAxNjAtY2hhcmFjdGVyIG1lc3NhZ2UKIHRoYXQgaXMgdGhlbiBzZW50IHRvIGEgcHJlZGV0ZXJtaW5lZCBtb2JpbGUgbnVtYmVyIChpbiB0aGUgZXhhbXBsZSwgdGhlIG9uZSB3aXRoIGlkPTUpCjwvbGk+Cjwvb2w+CjxoMz5TTVMgR2F0ZXdheXM8L2gzPgo8cD5UaGlzIG1vZHVsZSBkZXBlbmRzIG9uIHNlbGVjdGluZyBhIHN1cHBvcnRlZCBTTVMgZ2F0ZXdheSBhbmQgcmVjb3JkaW5nIHRoZSBjb3JyZXNwb25kaW5nIGF1dGhlbnRpY2F0aW9uIGFuZCBvdGhlciBwYXJhbWV0ZXJzLiBZb3Ugd2lsbCBuZWVkIHRvIHNpZ24gdXAgdG8gYXQgbGVhc3Qgb25lIG9mIHRoZSBzdXBwb3J0ZWQgZ2F0ZXdheXMuICBUaGlzIHdpbGwgdHlwaWNhbGx5IGludm9sdmUgcGF5aW5nIG1vbmV5IHRvIHRoZSBzZXJ2aWNlIHByb3ZpZGVyLjwvcD4KPHA+U01TIGdhdGV3YXlzIHdpbGwgaGF2ZSB0aGVpciBvd24gcmVxdWlyZW1lbnRzIGFuZCBsaW1pdGF0aW9ucyBvbiB0aGUgYW1vdW50LCBzaXplLCBzb3VyY2UsIGFuZCBkZXN0aW5hdGlvbiBtZXNzYWdlcyB0aGF0IGNhbiBiZSBzZW50LiBJdCBpcyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIHVuZGVyc3RhbmQgdGhlc2UgbGltaXRhdGlvbnMuPC9wPgo8cD5DdXJyZW50bHksIHRoZXNlIGdhdGV3YXlzIGFyZSBpbXBsZW1lbnRlZDo8L3A+Cjx1bD4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmNsaWNrYXRlbGwuY29tIj48c3Ryb25nPkNsaWNrYXRlbGw8L3N0cm9uZz48L2E+IC0gd2lkZS1jb3ZlcmFnZSBnYXRld2F5LCBtaXhlZCByZXZpZXdzLjwvbGk+CjxsaT48YSBocmVmPSJodHRwOi8vdm9pY2UuZ29vZ2xlLmNvbSI+PHN0cm9uZz5Hb29nbGUgVm9pY2U8L3N0cm9uZz48L2E+IC0gZXhwZXJpbWVudGFsIChidXQgd29ya2luZyBhdCB0aGlzIHRpbWUpIHV0aWxpdHkgdG8gYWxsb3cgc2VuZGluZyBTTVMgbWVzc2FnZXMgdGhyb3VnaCBHb29nbGUgVm9pY2UuPC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnNtc2Jyb2FkY2FzdC5jb20uYXUiPjxzdHJvbmc+U21zYnJvYWRjYXN0PC9zdHJvbmc+PC9hPiAtIEF1c3RyYWxpYS1vbmx5IGNvdmVyYWdlLCBoaWdobHkgcmVnYXJkZWQ8L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cudHdpbGlvLmNvbS9zbXMiPjxzdHJvbmc+VHdpbGlvPC9zdHJvbmc+PC9hPiAtIGdsb2JhbCBTTVMgZ2F0ZXdheSwgbG93IGNvc3QsIHdlbGwgcmVnYXJkZWQ8L2xpPgo8L3VsPgo8aDM+RXh0cmEgZ2F0ZXdheXM8L2gzPgo8cD5BIFBIUC1jbGFzcyBtdXN0IGJlIGNyZWF0ZWQgZm9yIGVhY2ggZ2F0ZXdheS4gUmVmZXIgdG8gdGhlIFJFQURNRSBkb2N1bWVudCBpbiB0aGUgbW9kdWxlIGZvbGRlciAuLi4vbGliL2dhdGV3YXlzLjwvcD4KPHA+SWYgeW91IGFzayA8c3Ryb25nPnJlYWxseSBuaWNlbHk8L3N0cm9uZz4sIGFuZCB5b3UgY2FuIG9mZmVyIHNvbWUgc29ydCBvZiBzZXJ2aWNlIGluIHJldHVybiwgdGhlIGF1dGhvciBtaWdodCBwZXJoYXBzIGJlIHBlcnN1YWRlZCB0byBhZGQgc3VwcG9ydCBmb3Igc29tZSBvdGhlciBnYXRld2F5LjwvcD4KPGgzPkFQSTwvaDM+CjxwPlRoaXMgbW9kdWxlIGNvbnRhaW5zIGEgc2ltcGxlIEFQSSBmb3Igc2VuZGluZyBTTVMgbWVzc2FnZXMgZnJvbSBvdGhlciBtb2R1bGVzIG9yIGZyb20gVURUcy4KVGhlIEFQSSBpcyBzZXQgb3V0IGluIGZpbGUgLi4uL2xpYi9jbGFzcy5zbXNfZ2F0ZXdheV9iYXNlLnBocC4gSW4gc3VtbWFyeSwgaXQgY29tcHJpc2VzPC9wPgo8dWw+CjxsaT5nZXRfYWxpYXMoKTwvbGk+CjxsaT5nZXRfZGVzY3JpcHRpb24oKTwvbGk+CjxsaT5nZXRfbmFtZSgpPC9saT4KPGxpPmdldF9zdGF0dXMoKTwvbGk+CjxsaT5nZXRfc3RhdHVzbXNnKCk8L2xpPgo8bGk+bXVsdGlfbnVtYmVyX3NlcGFyYXRvcigpPC9saT4KPGxpPnJlcXVpcmVfY291bnRyeV9wcmVmaXgoKTwvbGk+CjxsaT5yZXF1aXJlX3BsdXNfcHJlZml4KCk8L2xpPgo8bGk+cmVzZXQoKTwvbGk+CjxsaT5zZW5kKCk8L2xpPgo8bGk+c2V0X2Zyb20oJGZyb20pPC9saT4KPGxpPnNldF9tc2coJG1zZyk8L2xpPgo8bGk+c2V0X251bSgkbnVtKTwvbGk+CjxsaT5zdXBwb3J0X2N1c3RvbV9zZW5kZXIoKTwvbGk+CjxsaT5zdXBwb3J0X21tcygpPC9saT4KPC91bD4KPHA+QSBicmllZiBleGFtcGxlIG9mIGhvdyB0byB1c2UgaXQgaXM6CjxwcmUgc3R5bGU9Im1hcmdpbi1sZWZ0OiAyZW07Ij48Y29kZT4KJGdhdGV3YXkgPSBzbXNnX3V0aWxzOjpnZXRfZ2F0ZXdheSgpOwokZ2F0ZXdheS0+c2V0X21zZygnaGVsbG8gd29ybGQnKTsKJGdhdGV3YXktPnNldF9udW0oJzEyMjI1NTUxMjEyJyk7CiRnYXRld2F5LT5zZW5kKCk7CjwvY29kZT48L3ByZT48L3A+CjxoMz5TZWN1cml0eTwvaDM+CjxwPkF0dGVtcHRzIGhhdmUgYmVlbiBtYWRlIHRvIGVuc3VyZSBhIHJlYXNvbmFibGUgbGV2ZWwgb2Ygc2VjdXJpdHkgYXQgYWxsIHRpbWVzLgpUaGlzIGlzIGFjY29tcGxpc2hlZCBpbiBhIHZhcmlldHkgb2Ygd2F5czo8L3A+CjxvbD4KPGxpPkFsbCB0ZXh0IG1lc3NhZ2VzIGFyZSBjaGVja2VkIGZvciBsZW5ndGggbGltaXRzIGFuZCB2YWxpZCBjaGFyYWN0ZXJzLCBiZWZvcmUgc2VuZGluZy48L2xpPgo8bGk+QWxsIHRleHQgbWVzc2FnZXMgYXJlIHJlY29yZGVkIGluIHRoZSBkYXRhYmFzZSwgaW5jbHVkaW5nIHRoZSBJUCBhZGRyZXNzIG9mIHRoZSBzZW5kZXIuPC9saT4KPGxpPkJlZm9yZSBhbnkgdGV4dCBtZXNzYWdlIGlzIHNlbnQsIHRoZXJlJ3MgYSBjaGVjayB0aGF0IHRoZSBhbGxvd2VkIG1heGltdW0gKGRhaWx5LCBob3VybHkpIGNvdW50cyBvZiBtZXNzYWdlcyBmcm9tIHRoYXQgSVAgYWRkcmVzcyBoYXZlIG5vdCBiZWVuIGV4Y2VlZGVkLjwvbGk+CjxsaT5XaGVuIHNlbmRpbmcgdG8gYSBwcmUtZGVmaW5lZCBwaG9uZSwgdGhlIGRlc3RpbmF0aW9uIG51bWJlciBpcyBoaWRkZW4gZnJvbSB0aGUgaW5pdGlhdG9yLCB0byBwcmV2ZW50IHNwYW1taW5nLjwvbGk+CjxsaT5XaGVuIHNlbmRpbmcgYSBtZXNzYWdlLCB0aGUgbWVzc2FnZSB0ZXh0IGlzIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UgYW5kIGNhbm5vdCBiZSBhbHRlcmVkLjwvbGk+Cjwvb2w+CjxoMz5SZXF1aXJlbWVudHM6PC9oMz4KPHVsPgo8bGk+Q01TIE1hZGUgU2ltcGxlIDEuOSs8L2xpPgo8bGk+UEhQIDUuMisgKDUuMi4xMSsgaXMgcmVjb21tZW5kZWQpPC9saT4KPGxpPkF1dGhvcml0eSB0byB1c2UgYXQgbGVhc3Qgb25lIHN1cG9ydGVkIGdhdGV3YXk8L2xpPgo8bGk+VGhlIHdlYnNpdGUgaG9zdCBtdXN0IGFsbG93IG91dGdvaW5nIEhUVFAgY29ubmVjdGlvbnM8L2xpPgo8L3VsPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+CjxwPkZvciBoZWxwOjwvcD4KPHVsPgo8bGk+ZGlzY3Vzc2lvbiBtYXkgYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT47IG9yPC9saT4KPGxpPnlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPgo8L3VsPgo8cD5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUsIG9yIHRvIHJlcG9ydCBhIGJ1ZywgdmlzaXQgdGhlIG1vZHVsZSdzIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZyI+Zm9yZ2UtcGFnZTwvYT4uPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+UG9ydGlvbnMgY29weXJpZ2h0ICZjb3B5OyAyMDE1IFRvbSBQaGFuZSAmbHQ7dHBnd3dAb25lcG9zdC5uZXQmZ3Q7LjxiciAvPgpQb3J0aW9ucyBjb3B5cmlnaHQgJmNvcHk7IDIwMTAgUm9iZXJ0IENhbXBiZWxsICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0Oy48YnIgLz4KQWxsIHJpZ2h0cyByZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGlzIGZyZWUgc29mdHdhcmUuIEl0IG1heSBiZSByZWRpc3RyaWJ1dGVkIGFuZC9vciBtb2RpZmllZAp1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPlRoaXMgbW9kdWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQo8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNBR1BMIj5HTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2U8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9wPjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dFeHRlbnNpb25zID0mZ3Q7IDEuMjA8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPSJlbnRlcm51bWJlciIgLSBUaGlzIHBhcmFtZXRlciBpcyB1c2VkIHRvIGRlY2lkZSB0aGUgYmVoYXZvdXIgb2YgdGhlIG1vZHVsZS4gVmFsaWQgdmFsdWVzIGZvciB0aGlzIHBhcmFtZXRlciBhcmU6Cjx1bD4KPGxpPmVudGVybnVtYmVyIDxlbT4oZGVmYXVsdCk8L2VtPiAtIERpc3BsYXkgYSBsaW5rIHRvIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzZW5kIHByZS1kZWZpbmVkIHRleHQgdG8gYSB1c2VyLWRlZmluZWQgbW9iaWxlIHBob25lIG51bWJlci48L2xpPgo8bGk+ZW50ZXJ0ZXh0IC0gRGlzcGxheSBhIGxpbmsgdG8gYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNlbmQgdXNlci1kZWZpbmVkIHRleHQgdG8gYSBwcmUtZGVmaW5lZCBtb2JpbGUgcGhvbmUgbnVtYmVyLjwvbGk+CjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkZXN0cGFnZT0iMCIgLSBUaGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVzdWx0aW5nIGZvcm0gc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBhIGRpZmZlcmVudCBDTVNNUyBjb250ZW50IHBhZ2UgKHNwZWNpZmllZCBieSBwYWdlIGlkIG9yIGFsaWFzKTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZW50ZXJudW1iZXJ0ZW1wbGF0ZT0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgZW50ZXJudW1iZXIgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGVudGVybnVtYmVyIHRlbXBsYXRlIHRvIGNyZWF0ZSB0aGUgZm9ybSB3aXRoPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBlbnRlcnRleHR0ZW1wbGF0ZT0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgZW50ZXJudW1iZXIgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IGVudGVybnVtYmVyIHRlbXBsYXRlIHRvIGNyZWF0ZSB0aGUgZm9ybSB3aXRoPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBnYXRlbmFtZT0iIiAtIFRoaXMgcGFyYW1ldGVyIGFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IGdhdGV3YXk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGlubGluZT0iMCIgLSBUaGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhhdCB0aGUgZm9ybSBzaG91bGQgcmVwbGFjZSB0aGUgbGluayAoaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBjb250ZW50IGFyZWEgb2YgdGhlIHBhZ2UpLiAgSXQgaXMgbm90IHVzZWZ1bCB3aXRoIHRoZSBkZXN0cGFnZSBwYXJhbWV0ZXI8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxpbmt0ZXh0PSJTZW5kIHRvIG1vYmlsZSIgLSBUaGlzIHBhcmFtZXRlciBhbGxvd3Mgb3ZlcnJpZGluZyB0aGUgdGV4dCB0aGF0IGlzIGRpc3BsYXllZCBpbiB0aGUgbGluay4gVGhpcyBwYXJhbWV0ZXIgaGFzIG5vIGVmZmVjdCB3aGVuIHRoZSB1cmxvbmx5IHBhcmFtZXRlciBpcyB1c2VkLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc21zbnVtPSIwIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgZW50ZXJ0ZXh0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB0aGUgbnVtZXJpYyBJRCBvZiBhIHByZS1kZWZpbmVkIG1vYmlsZSBwaG9uZSBudW1iZXI8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNtc3RleHQ9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGVudGVybnVtYmVyIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB0aGUgdGV4dCB0aGF0IHdpbGwgYmUgc2VudCBpbiB0aGUgc21zIG1lc3NhZ2UuIFRoZSB0ZXh0IGlzIG5ldmVyIGRpc3BsYXllZCBpbiB0aGUgSFRNTCBvdXRwdXQgb2YgdGhlIHBhZ2UgZm9yIHNlY3VyaXR5IHJlYXNvbnMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB1cmxvbmx5PSIwIiAtIFRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGF0IGluc3RlYWQgb2YgYSBmdWxsIGxpbmsgb25seSB0aGUgVVJMIHNob3VsZCBiZSBlY2hvZWQsIGFsbG93aW5nIHlvdSB0byBidWlsZCB5b3VyIG93biBsaW5rLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiB0b21waGFudG9vICZsdDt0cGd3d0BvbmVwb3N0Lm5ldCZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAwLjk8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz48dWw+CiAgPGxpPkNHU01TIFZlcnNpb24gMS4wIC0gRmVicnVhcnkgMjAxMAogICAgPHVsPgogICAgICAgPGxpPkluaXRpYWwgcmVsZWFzZSB3aXRoIEludGVybGlua2VkIGFuZCBleHBlcmltZW50YWwgR29vZ2xlIFZvaWNlIGdhdGV3YXlzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlNNU0cgVmVyc2lvbiAwLjkgLSBBcHJpbCAyMDE1CiAgICA8dWw+CiAgICAgICA8bGk+V29yay1hbGlrZSByZXBsYWNlbWVudCBmb3IgQ0dTTVM8L2xpPgogICAgICAgPGxpPkdhdGV3YXlzOiBhZGQgQ2xpY2thdGVsbCwgVHdpbGlvLCBTbXNicm9hZGNhc3QsIHJlbW92ZSBkZWZ1bmN0IEludGVybGlua2VkPC9saT4KICAgICAgIDxsaT5FeHBhbmRlZCBnYXRld2F5IEFQSSBzdXBwb3J0cyBvcHRpb25hbCBjaGVja3MgZm9yIGFuZCB1c2Ugb2YgZXh0cmEgcGFyYW1ldGVyczwvbGk+CiAgICAgICA8bGk+RW5hYmxlIHJ1bnRpbWUgbW9kaWZpY2F0aW9ucyBvZiBnYXRld2F5cycgaW50ZXJmYWNlIGJ5IGF1dGhvcmlzZWQgdXNlcnM8L2xpPgogICAgICAgPGxpPk1vcmUgZ2VuZXJvdXMgcmVnZXggZm9yIGNoZWNraW5nIG1lc3NhZ2UgdmFsaWRpdHk8L2xpPgogICAgICAgPGxpPkJldHRlciBzdXBwb3J0IGZvciBsYXRlciBDTVNNUyB2ZXJzaW9ucywgYnVnIGZpeGVzLCBVSSByZWZpbmVtZW50czwvbGk+CiAgICA8L3VsPgogIDwvbGk+CjwvdWw+CjxiciAvPg==]]></about>
	<description><![CDATA[A module to allow sending of SMS messages from within a CMS Made Simple Website]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.20</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addgate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHNxbCA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4KICdtb2R1bGVfc21zZ19wcm9wcyAoZ2F0ZV9pZCx0aXRsZSxhcGluYW1lLGVuYWJsZWQsYXBpb3JkZXIpIFZBTFVFUyAoPyxcJy0tLVwnLFwndG9kb1wnLDAsOTkpJzsKJGRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoKGludCkkcGFyYW1zWydnYXRlX2lkJ10pKTsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdnYXRlcycpOwokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaW5jbHVkZV9vbmNlKGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ2FjdGlvbi5lbnRlcm51bWJlci5waHAnKSk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLyoqCiBAbW9kdWxlOiB0aGUgbW9kdWxlIHRoYXQgaXMgZGlzcGxheWluZyB0aGUgdGVtcGxhdGUKIEBzbWFydHk6IHRoZSBjdXJyZW50IHNtYXJ0eSBvYmplY3QKIEBtb2RpZnk6IGJvb2xlYW4sIHdoZXRoZXIgdG8gc2V0dXAgZm9yIGZ1bGwgZWRpdGluZwogQGRmbHR0cGw6IGJvb2xlYW4sIHdoZXRoZXIgdG8gc2V0dXAgZm9yIGVkaXRpbmcgZGVmYXVsdCB0ZW1wbGF0ZQogQGlkOiBpbnN0YW5jZSBpZCBvZiBAbW9kdWxlCiBAcmV0dXJuaWQ6IHBhZ2UgaWQgdG8gdXNlIG9uIHN1YnNlcXVlbnQgZm9ybXMgYW5kIGxpbmtzCiBAYWN0aXZldGFiOiB0YWIgdG8gcmV0dXJuIHRvCiBAcHJlZml4OiB0ZW1wbGF0ZSBmdWxsLW5hbWUgcHJlZml4ICgnZW50ZXJudW1iZXJfJyBvciAnZW50ZXJ0ZXh0XycpCiBAcHJlZmRlZm5hbWU6IG5hbWUgb2YgcHJlZmVyZW5jZSB0aGF0IGNvbnRhaW5zIHRoZSBiYXNlLW5hbWUgb2YgdGhlIGN1cnJlbnQKICBkZWZhdWx0IHRlbXBsYXRlIGZvciBAcHJlZml4CiAqLwpmdW5jdGlvbiBTZXR1cFRlbXBsYXRlTGlzdCgmJG1vZHVsZSwmJHNtYXJ0eSwkbW9kaWZ5LCRkZmx0dHBsLAoJJGlkLCRyZXR1cm5pZCwkYWN0aXZldGFiLAoJJHByZWZpeCwkcHJlZmRlZm5hbWUKCSkKewoJaWYoICRtb2RpZnkgKQoJewoJCSR0aGVtZSA9IGNtc21zKCktPnZhcmlhYmxlc1snYWRtaW50aGVtZSddOwoJCSR0cnVlaWNvbiA9ICR0aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCRtb2R1bGUtPkxhbmcoJ2RlZmF1bHRfdGlwJyksJycsJycsJ3N5c3RlbWljb24nKTsKCQkkZmFsc2VpY29uID0gJHRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCRtb2R1bGUtPkxhbmcoJ2RlZmF1bHRzZXRfdGlwJyksJycsJycsJ3N5c3RlbWljb24nKTsKCQkkZWRpdGljb24gPSAkdGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywkbW9kdWxlLT5MYW5nKCdlZGl0X3RpcCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CgkJJGRlbGV0ZWljb24gPSAkdGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCRtb2R1bGUtPkxhbmcoJ2RlbGV0ZW9uZV90aXAnKSwnJywnJywnc3lzdGVtaWNvbicpOwoJCSRwcm9tcHQgPSAkbW9kdWxlLT5MYW5nKCdzdXJlX2FzaycpOwoJCSRhcmdzID0gYXJyYXkoJ3ByZWZpeCc9PiRwcmVmaXgsJ2FjdGl2ZXRhYic9PiRhY3RpdmV0YWIpOwoJfQoJZWxzZQoJCSR5ZXMgPSAkbW9kdWxlLT5MYW5nKCd5ZXMnKTsKCgkkZGVmYXVsdG5hbWUgPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCRwcmVmZGVmbmFtZSk7Cgkkcm93YXJyYXkgPSBhcnJheSgpOwoKCSRteXRlbXBsYXRlcyA9ICRtb2R1bGUtPkxpc3RUZW1wbGF0ZXMoU01TRzo6TU9ETkFNRSk7CglhcnJheV93YWxrKCRteXRlbXBsYXRlcywKCQlmdW5jdGlvbigmJG4sJGssJHApeyRsPXN0cmxlbigkcCk7CiRuPShzdHJuY21wKCRuLCRwLCRsKSA9PT0gMCk/c3Vic3RyKCRuLCRsKTpGQUxTRTtpZigkbj09J2RlZmF1bHRjb250ZW50Jykkbj1GQUxTRTsKfSwkcHJlZml4KTsKCSRteXRlbXBsYXRlcyA9IGFycmF5X2ZpbHRlcigkbXl0ZW1wbGF0ZXMpOwoJc29ydCgkbXl0ZW1wbGF0ZXMsU09SVF9MT0NBTEVfU1RSSU5HKTsKCglmb3JlYWNoKCAkbXl0ZW1wbGF0ZXMgYXMgJG9uZSApCgl7CgkJJGRlZmF1bHQgPSAoJG9uZSA9PSAkZGVmYXVsdG5hbWUpOwoJCSRyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKCQlpZiggJG1vZGlmeSApCgkJewoJCQkkYXJnc1sndGVtcGxhdGUnXSA9ICRvbmU7CgkJCSRhcmdzWydtb2RlJ10gPSAnZWRpdCc7CgkJCSRyb3ctPm5hbWUgPSAkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwnc2V0dGVtcGxhdGUnLCRyZXR1cm5pZCwkb25lLCRhcmdzKTsKCQkJJHJvdy0+ZWRpdGxpbmsgPSAkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwnc2V0dGVtcGxhdGUnLCRyZXR1cm5pZCwkZWRpdGljb24sJGFyZ3MpOwoKCQkJJGFyZ3NbJ21vZGUnXSA9ICdkZWZhdWx0JzsKCQkJJHJvdy0+ZGVmYXVsdCA9ICggJGRlZmF1bHQgKSA/CgkJCQkkdHJ1ZWljb246CgkJCQkkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwnc2V0dGVtcGxhdGUnLCRyZXR1cm5pZCwkZmFsc2VpY29uLCRhcmdzKTsKCgkJCSRhcmdzWydtb2RlJ10gPSAnZGVsZXRlJzsKCQkJJHJvdy0+ZGVsZXRlbGluayA9ICggJGRlZmF1bHQgKSA/CgkJCQknJzoKCQkJCSRtb2R1bGUtPkNyZWF0ZUltYWdlTGluaygkaWQsJ3NldHRlbXBsYXRlJywkcmV0dXJuaWQsCgkJCQkJJG1vZHVsZS0+TGFuZygnZGVsZXRlb25lX3RpcCcpLAoJCQkJCSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsCgkJCQkJJGFyZ3MsJycsJHByb21wdCk7CgkJfQoJCWVsc2UKCQl7CgkJCSRyb3ctPm5hbWUgPSAkb25lOwoJCQkkcm93LT5kZWZhdWx0ID0gKCAkZGVmYXVsdCApID8gJHllczonJzsKCQkJJHJvdy0+ZWRpdGxpbmsgPSAnJzsKCQkJJHJvdy0+ZGVsZXRlbGluayA9ICcnOwoJCX0KCQkkcm93YXJyYXlbXSA9ICRyb3c7Cgl9CglpZiggJG1vZGlmeSAmJiAkZGZsdHRwbCApCgl7CgkJJHJvdyA9IG5ldyBTdGRDbGFzcygpOwoJCSRhcmdzWyd0ZW1wbGF0ZSddID0gJ2RlZmF1bHRjb250ZW50JzsKCQkkYXJnc1snbW9kZSddID0gJ2VkaXQnOwoJCSRyb3ctPm5hbWUgPSAkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwnc2V0dGVtcGxhdGUnLCRyZXR1cm5pZCwKCQkJJzxlbT4nLiRtb2R1bGUtPkxhbmcoJ2RlZmF1bHRfdGVtcGxhdGVfdGl0bGUnKS4nPC9lbT4nLCRhcmdzKTsKCQkkcm93LT5lZGl0bGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCdzZXR0ZW1wbGF0ZScsJHJldHVybmlkLCRlZGl0aWNvbiwkYXJncyk7CgoJCSRyb3ctPmRlZmF1bHQgPSAnJzsKCgkJJHJldmVydGljb24gPSAnPGltZyBzcmM9IicuJG1vZHVsZS0+R2V0TW9kdWxlVVJMUGF0aCgpLicvaW1hZ2VzL3JldmVydC5naWYiIGFsdD0iJy4KCQkgJG1vZHVsZS0+TGFuZygncmVzZXQnKS4nIiB0aXRsZT0iJy4kbW9kdWxlLT5MYW5nKCdyZXNldF90aXAnKS4KCQkgJyIgY2xhc3M9InN5c3RlbWljb24iIG9uY2xpY2s9InJldHVybiBjb25maXJtKFwnJy4kcHJvbXB0LidcJyk7IiAvPic7CgkJJGFyZ3NbJ21vZGUnXSA9ICdyZXZlcnQnOwoJCSRyb3ctPmRlbGV0ZWxpbmsgPSAkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwnc2V0dGVtcGxhdGUnLCRyZXR1cm5pZCwkcmV2ZXJ0aWNvbiwkYXJncyk7CgkJJHJvd2FycmF5W10gPSAkcm93OwoJfQoKCSRzbWFydHktPmFzc2lnbigkcHJlZml4LidpdGVtcycsJHJvd2FycmF5KTsKCSRzbWFydHktPmFzc2lnbigncGFyZW50X21vZHVsZV9uYW1lJywkbW9kdWxlLT5HZXRGcmllbmRseU5hbWUoKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3RpdGxlbmFtZScsJG1vZHVsZS0+TGFuZygnbmFtZScpKTsKCSRzbWFydHktPmFzc2lnbigndGl0bGVkZWZhdWx0JywkbW9kdWxlLT5MYW5nKCdkZWZhdWx0JykpOwoJaWYoICRtb2RpZnkgKQoJewoJCSRhcmdzWydtb2RlJ10gPSAnYWRkJzsKCQkkYWRkID0gJG1vZHVsZS0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnc2V0dGVtcGxhdGUnLCRyZXR1cm5pZCwKCQkgJG1vZHVsZS0+TGFuZygnYWRkX3RlbXBsYXRlJyksCgkJICdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsCgkJICRhcmdzLCcnLCcnLEZBTFNFKTsKCX0KCWVsc2UKCQkkYWRkID0gJyc7Cgkkc21hcnR5LT5hc3NpZ24oJ2FkZF8nLiRwcmVmaXguJ3RlbXBsYXRlJywkYWRkKTsKCn0KCnNtc2dfdXRpbHM6OnJlZnJlc2hfZ2F0ZXdheXMoJHRoaXMpOwokb2JqcyA9IHNtc2dfdXRpbHM6OmdldF9nYXRld2F5c19mdWxsKCR0aGlzKTsKaWYoICEkb2JqcyApCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX25vZ2F0ZXdheXNmb3VuZCcpKTsKCXJldHVybjsKfQoKJHBhZG0gPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyU01TR2F0ZXdheXMnKTsKJHBtb2QgPSAkcGFkbSB8fCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnlTTVNHYXRld2F5cycpOwokcHRwbCA9ICRwYWRtIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeVNNU0dhdGVUZW1wbGF0ZXMnKTsKJHB1c2UgPSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2VTTVNHYXRld2F5cycpOwoKJHNtYXJ0eS0+YXNzaWduKCdwYWRtJywkcGFkbSk7CiRzbWFydHktPmFzc2lnbigncG1vZCcsJHBtb2QpOwokc21hcnR5LT5hc3NpZ24oJ3B0cGwnLCRwdHBsKTsKJHNtYXJ0eS0+YXNzaWduKCdwdXNlJywkcHVzZSk7CgokaGVhZGVycyA9ICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYoICRwbW9kIHx8ICRwdXNlKQoJJGhlYWRlcnMgLj0KICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2dhdGVzJywkdGhpcy0+TGFuZygnZ2F0ZXdheXMnKSkuCiAkdGhpcy0+U2V0VGFiSGVhZGVyKCd0ZXN0JywkdGhpcy0+TGFuZygndGVzdCcpKTsKICR0aGlzLT5TZXRUYWJIZWFkZXIoJ21vYmlsZXMnLCR0aGlzLT5MYW5nKCdwaG9uZV9udW1iZXJzJykpOwppZiggJHB0cGwgfHwgJHB1c2UgKQoJJGhlYWRlcnMgLj0KICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2VudGVybnVtYmVyJywkdGhpcy0+TGFuZygnZW50ZXJfbnVtYmVyX3RlbXBsYXRlcycpKS4KICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2VudGVydGV4dCcsJHRoaXMtPkxhbmcoJ2VudGVyX3RleHRfdGVtcGxhdGVzJykpOwppZiggJHBhZG0gKQoJJGhlYWRlcnMgLj0KICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NlY3VyaXR5JywkdGhpcy0+TGFuZygnc2VjdXJpdHlfdGFiX2xibCcpKTsKJGhlYWRlcnMgLj0KICR0aGlzLT5FbmRUYWJIZWFkZXJzKCkuCiAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CiRzbWFydHktPmFzc2lnbignc3RhcnR0YWJjb250ZW50JywkaGVhZGVycyk7CiRzbWFydHktPmFzc2lnbignZW5kdGFiJywkdGhpcy0+RW5kVGFiKCkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZHRhYmNvbnRlbnQnLCR0aGlzLT5FbmRUYWJDb250ZW50KCkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKaWYoICRwbW9kIHx8ICRwdXNlICkKewoJJHNtYXJ0eS0+YXNzaWduKCd0YWJzdGFydF9nYXRlcycsJHRoaXMtPlN0YXJ0VGFiKCdnYXRlcycsJHBhcmFtcykpOwoJJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnRfZ2F0ZXMnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ3NhdmVnYXRlcycpKTsKCSRzbWFydHktPmFzc2lnbigncmVwb3J0dXJsJyxzbXNnX3V0aWxzOjpnZXRfcmVwb3J0aW5nX3VybCgkdGhpcykpOwoKCWlmKCAkcG1vZCApCgl7CgkJJG5hbWVzID0gYXJyYXkoLTEgPT4gJHRoaXMtPkxhbmcoJ25vbmUnKSk7CgkJZm9yZWFjaCggJG9ianMgYXMgJGtleT0+JiRyZWMgKQoJCXsKCQkJJG5hbWVzWyRrZXldID0gJHJlY1snb2JqJ10tPmdldF9uYW1lKCk7CgkJCSRyZWMgPSAkcmVjWydvYmonXS0+Z2V0X3NldHVwX2Zvcm0oKTsKCQl9CgkJdW5zZXQoJHJlYyk7CgkJJGN1cnJlbnQgPSAkZGItPkdldE9uZSgnU0VMRUNUIGFsaWFzIEZST00gJy5jbXNfZGJfcHJlZml4KCkuCgkJCSdtb2R1bGVfc21zZ19nYXRlcyBXSEVSRSBlbmFibGVkPTEgQU5EIGFjdGl2ZT0xJyk7CgkJaWYoICRjdXJyZW50ID09IEZBTFNFICkKCQkJJGN1cnJlbnQgPSAnLTEnOwoKCQkkc21hcnR5LT5hc3NpZ24oJ2dhdGVjdXJyZW50JywkY3VycmVudCk7CgkJJHNtYXJ0eS0+YXNzaWduKCdnYXRlc25hbWVzJywkbmFtZXMpOwoJfQoJZWxzZQoJewoJCWZvcmVhY2goICRvYmpzIGFzICRrZXk9PiYkcmVjICkKCQkJJHJlYyA9ICRyZWNbJ29iaiddLT5nZXRfc2V0dXBfZm9ybSgpOwoJCXVuc2V0KCRyZWMpOwoJfQoJJHNtYXJ0eS0+YXNzaWduKCdnYXRlc2RhdGEnLCRvYmpzKTsKCgkkc21hcnR5LT5hc3NpZ24oJ3RhYnN0YXJ0X3Rlc3QnLCR0aGlzLT5TdGFydFRhYigndGVzdCcsJHBhcmFtcykpOwoJJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnRfdGVzdCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnc21zdGVzdCcpKTsKCQoJJHNtYXJ0eS0+YXNzaWduKCd0YWJzdGFydF9tb2JpbGVzJywkdGhpcy0+U3RhcnRUYWIoJ21vYmlsZXMnLCRwYXJhbXMpKTsKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zZ19udW1zIE9SREVSIEJZIGlkJzsKCSRkYXRhID0gJGRiLT5HZXRBbGwoJHF1ZXJ5KTsKCWlmKCAkZGF0YSApCgl7CgkJJGVkdGlwID0gJHRoaXMtPkxhbmcoJ2VkaXRfdGlwJyk7IAoJCSRkZWx0aXAgPSAkdGhpcy0+TGFuZygnZGVsZXRlb25lX3RpcCcpOwoJCSRwcm9tcHQgPSAkdGhpcy0+TGFuZygnYXNrX2RlbGV0ZV9tb2JpbGUnKTsKCQlmb3JlYWNoKCAkZGF0YSBhcyAmJHJlYyApCgkJewoJCQkkcmVjID0gKG9iamVjdCkkcmVjOwoJCQlpZiggJHBtb2QgKQoJCQl7CgkJCQkkcmVjLT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCdlZGl0X21vYmlsZScsJycsJycsCgkJCQkJJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsYXJyYXkoJ21pZCc9PiRyZWMtPmlkKSwnJywnJywKCQkJCQlUUlVFLEZBTFNFLCd0aXRsZT0iJy4kZWR0aXAuJyInKTsKCQkJCSRyZWMtPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnZGVsX21vYmlsZScsJycsJycsCgkJCQkJJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyxhcnJheSgnbWlkJz0+JHJlYy0+aWQpLCdkZWxpdGVtbGluaycsJHByb21wdCwKCQkJCQlUUlVFLEZBTFNFLCd0aXRsZT0iJy4kZGVsdGlwLiciJyk7CgkJCX0KCQl9CgkJdW5zZXQoJHJlYyk7CgkJJHNtYXJ0eS0+YXNzaWduKCdudW1iZXJzJywkZGF0YSk7Cgl9CgllbHNlCgkJJHNtYXJ0eS0+YXNzaWduKCdub251bWJlcnMnLCR0aGlzLT5MYW5nKCdub251bWJlcnMnKSk7CglpZiggJHBtb2QgKQoJCSRzbWFydHktPmFzc2lnbignYWRkX21vYmlsZScsJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2VkaXRfbW9iaWxlJywnJywkdGhpcy0+TGFuZygnYWRkX21vYmlsZScpLAoJCQknaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLGFycmF5KCksJycsJycsRkFMU0UpKTsKfQppZiggJHB0cGwgfHwgJHB1c2UgKQp7CgkkdGlkID0gJ2VudGVybnVtYmVyJzsKCSRzbWFydHktPmFzc2lnbigndGFic3RhcnRfZW50ZXJudW1iZXInLCR0aGlzLT5TdGFydFRhYigkdGlkLCRwYXJhbXMpKTsKCVNldHVwVGVtcGxhdGVMaXN0KCR0aGlzLCRzbWFydHksJHB0cGwsJHBhZG0sCgkJJGlkLCRyZXR1cm5pZCwkdGlkLCAvL3RhYiB0byBjb21lIGJhY2sgdG8KCQknZW50ZXJudW1iZXJfJywgLy8ncHJlZml4JyBvZiB0ZW1wbGF0ZXMnIGZ1bGwtbmFtZQoJCVNNU0c6OlBSRUZfRU5URVJOVU1CRVJfVFBMREZMVCk7IC8vcHJlZmVyZW5jZSBob2xkaW5nIG5hbWUgb2YgZGVmYXVsdCB0ZW1wbGF0ZQoKCSR0aWQgPSAnZW50ZXJ0ZXh0JzsKCSRzbWFydHktPmFzc2lnbigndGFic3RhcnRfZW50ZXJ0ZXh0JywkdGhpcy0+U3RhcnRUYWIoJHRpZCwkcGFyYW1zKSk7CglTZXR1cFRlbXBsYXRlTGlzdCgkdGhpcywkc21hcnR5LCRwdHBsLCRwYWRtLAoJCSRpZCwkcmV0dXJuaWQsJHRpZCwnZW50ZXJ0ZXh0XycsU01TRzo6UFJFRl9FTlRFUlRFWFRfVFBMREZMVCk7Cn0KaWYoICRwYWRtICkKewoJJHNtYXJ0eS0+YXNzaWduKCd0YWJzdGFydF9zZWN1cml0eScsJHRoaXMtPlN0YXJ0VGFiKCdzZWN1cml0eScsJHBhcmFtcykpOwoJJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnRfc2VjdXJpdHknLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ3NhdmVzZWN1cml0eScpKTsKCSRzbWFydHktPmFzc2lnbignaG91cmxpbWl0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaG91cmxpbWl0JykpOwoJJHNtYXJ0eS0+YXNzaWduKCdkYXlsaW1pdCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RheWxpbWl0JykpOwoJJHNtYXJ0eS0+YXNzaWduKCdsb2dzZW5kcycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2xvZ3NlbmRzJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdsb2dkYXlzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbG9nZGF5cycpKTsKCSRzbWFydHktPmFzc2lnbignbG9nZGVsaXZlcmllcycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2xvZ2RlbGl2ZXJpZXMnKSk7CgkkcHcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWFzdGVycGFzcycpOwoJaWYoICRwdyApCgl7CgkJJHMgPSBiYXNlNjRfZGVjb2RlKHN1YnN0cigkcHcsNSkpOwoJCSRwdyA9IHN1YnN0cigkcyw1KTsKCX0KCSRzbWFydHktPmFzc2lnbignbWFzdGVycGFzcycsJHB3KTsKfQoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbnBhbmVsLnRwbCcpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.del_mobile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ21vYmlsZXMnKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ21pZCddKSApCnsKCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc2dfbnVtcyBXSEVSRSBpZD0/JzsKCSRyZXMgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KChpbnQpJHBhcmFtc1snbWlkJ10pKTsKCglpZiggJHJlcyApCgkJJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19yZWNfZGVsZXRlZCcpKTsKCWVsc2UKCQkkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX25vdGZvdW5kJykpOwp9CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.devreport.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJGdhdGV3YXkgPSBzbXNnX3V0aWxzOjpnZXRfZ2F0ZXdheShGQUxTRSwkdGhpcyk7IC8vb25seSBmb3IgdGhlIGRlZmF1bHQgZ2F0ZXdheSE/Ci8vIGRvd25zdHJlYW0gbXVzdCBwYXJzZSAkX1JFUVVFU1QgZGlyZWN0bHkKJG1zZyA9ICRnYXRld2F5LT5wcm9jZXNzX2RlbGl2ZXJ5X3JlcG9ydCgpOwppZiggJG1zZyAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbG9nZGVsaXZlcmllcycpICkKCSR0aGlzLT5BdWRpdChTTVNHOjpBVURJVF9ERUxJVixTTVNHOjpNT0ROQU1FLCRtc2cpOwoKJHRoaXMtPlNlbmRFdmVudCgnU01TRGVsaXZlcnlSZXBvcnRlZCcsYXJyYXkoCgknZ2F0ZXdheSc9PiRnYXRld2F5LT5nZXRfbmFtZSgpLAoJJ3N0YXR1cyc9PiRnYXRld2F5LT5nZXRfc3RhdHVzKCksCgknbWVzc2FnZSc9PiRtc2csCgkndGltZXN0YW1wJz0+c3RyZnRpbWUoJyVYICVaJykpKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.do_enternumber.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoICFpc3NldCgkcGFyYW1zWydzbXNrZXknXSkgKQoJcmV0dXJuOyAgLy8gbm8ga2V5Ci8vIHZlcmlmeSB0aGF0IHRoZSB0ZXh0IGlzIHN0aWxsIGNhY2hlZAoka2V5ID0gdHJpbSgkcGFyYW1zWydzbXNrZXknXSk7CiRkYXRhc3RvcmUgPSBuZXcgY2dlX2RhdGFzdG9yZSgpOwokc21zdGV4dCA9ICRkYXRhc3RvcmUtPmdldCgkdGhpcy0+R2V0TmFtZSgpLCRrZXkpOwppZiggISRzbXN0ZXh0ICkKCXJldHVybjsgIC8vIG5vdGhpbmcgdG8gZG8KLy8gYW5kIHRvdWNoIHRoZSB0ZXh0IHRvIHByZXZlbnQgZXhwaXJ5CiRkYXRhc3RvcmUtPmVyYXNlKCR0aGlzLT5HZXROYW1lKCksJGtleSk7CiRkYXRhc3RvcmUtPnN0b3JlKCRzbXN0ZXh0LCR0aGlzLT5HZXROYW1lKCksJGtleSk7CgokbWVzc2FnZSA9ICcnOwokZXJyb3IgPSAnJzsKCmlmKCBpc3NldCgkcGFyYW1zWydzbXNnX3N1Ym1pdCddKSApCnsKCS8vIGhhbmRsZSBmb3JtIHN1Ym1pc3Npb24KCWlmKCBpc3NldCgkcGFyYW1zWydzbXNnX21vYmlsZSddKSApCgl7CgkJJG1vYmlsZSA9IHRyaW0oJHBhcmFtc1snc21zZ19tb2JpbGUnXSk7CgkJaWYoIHNtc2dfdXRpbHM6OmlzX3ZhbGlkX3Bob25lKCRtb2JpbGUpICkKCQl7CgkJCS8vIG5vdyB3ZSdyZSByZWFkeSB0byBzZW5kCgkJCSR0aXRsZSA9ICggZW1wdHkoJHBhcmFtc1snZ2F0ZW5hbWUnXSkgKSA/IEZBTFNFIDogJHBhcmFtc1snZ2F0ZW5hbWUnXTsKCQkJJGdhdGV3YXkgPSBzbXNnX3V0aWxzOjpnZXRfZ2F0ZXdheSgkdGl0bGUsJHRoaXMpOwoJCQlpZiggJGdhdGV3YXkgKQoJCQl7CgkJCQkkZ2F0ZXdheS0+c2V0X21zZygkc21zdGV4dCk7CgkJCQkkZ2F0ZXdheS0+c2V0X251bSgkbW9iaWxlKTsKCQkJCSRnYXRld2F5LT5zZW5kKCk7CgoJCQkJaWYoICRnYXRld2F5LT5nZXRfc3RhdHVzKCkgPT0gc21zX2dhdGV3YXlfYmFzZTo6U1RBVF9PSyApCgkJCQkJJG1lc3NhZ2UgPSAkdGhpcy0+TGFuZygnc21zX21lc3NhZ2Vfc2VudCcpOwoJCQkJZWxzZQoJCQkJCSRlcnJvciA9ICRnYXRld2F5LT5nZXRfc3RhdHVzbXNnKCk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkZXJyb3IgPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9nYXRld2F5Zm91bmQnKTsKCQkJCSR0aGlzLT5BdWRpdChTTVNHOjpBVURJVF9FUlIsU01TRzo6TU9ETkFNRSwnZW50ZXJudW1iZXI6Jy4kZXJyb3IpOwoJCQl9CgkJfQoJCWVsc2UKCQkJJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRfbnVtYmVyJyk7Cgl9Cn0KCi8vIG5vdyBkaXNwbGF5IHRoZSBmb3JtCiRzbWFydHktPmFzc2lnbignbWVzc2FnZScsJG1lc3NhZ2UpOwokc21hcnR5LT5hc3NpZ24oJ2Vycm9yJywkZXJyb3IpOwppZiggIWVtcHR5KCRwYXJhbXNbJ2dhdGVuYW1lJ10pICkKCSRzbWFydHktPmFzc2lnbignZ2F0ZW5hbWUnLCRwYXJhbXNbJ2dhdGVuYW1lJ10pOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZG9fZW50ZXJudW1iZXInLAoJJHJldHVybmlkLCRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCmlmKCBlbXB0eSgkcGFyYW1zWydlbnRlcm51bWJlcnRlbXBsYXRlJ10pICkKCSR0aGV0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKFNNU0c6OlBSRUZfRU5URVJOVU1CRVJfVFBMREZMVCk7CmVsc2UKCSR0aGV0ZW1wbGF0ZSA9IHRyaW0oJHBhcmFtc1snZW50ZXJudW1iZXJ0ZW1wbGF0ZSddKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdlbnRlcm51bWJlcl8nLiR0aGV0ZW1wbGF0ZSk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.do_entertext.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoICFpc3NldCgkcGFyYW1zWydzbXNudW0nXSkgKSByZXR1cm47ICAvLyBubyBudW1iZXIgaWQKCiRzbXN0ZXh0ID0gJyc7CiRtZXNzYWdlID0gJyc7CgovLyBjaGVjayB0aGF0IHRoZSBzdXBwbGllZCBTTVMgSUQgaXMgdmFsaWQKJHNtc251bSA9IChpbnQpJHBhcmFtc1snc21zbnVtJ107CiRxdWVyeSA9ICdTRUxFQ1QgbW9iaWxlIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNnX251bXMgV0hFUkUgaWQ9Pyc7CiRtb2JpbGUgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHNtc251bSkpOwokZXJyb3IgPSAoICRtb2JpbGUgKSA/ICcnIDogJHRoaXMtPkxhbmcoJ2Vycm9yX25vdGZvdW5kJyk7CgppZiggISRlcnJvciAmJiBpc3NldCgkcGFyYW1zWydzbXNnX3N1Ym1pdCddKSApCnsKCWlmKCBpc3NldCgkcGFyYW1zWydzbXNnX3Ntc3RleHQnXSkgKQoJCSRzbXN0ZXh0ID0gdHJpbSgkcGFyYW1zWydzbXNnX3Ntc3RleHQnXSk7CgoJaWYoIHNtc2dfdXRpbHM6OnRleHRfaXNfdmFsaWQoJHNtc3RleHQpICkKCXsKCQkvLyBub3cgd2UncmUgcmVhZHkgdG8gc2VuZAoJCSR0aXRsZSA9ICggZW1wdHkoJHBhcmFtc1snZ2F0ZW5hbWUnXSkgKSA/IEZBTFNFIDogJHBhcmFtc1snZ2F0ZW5hbWUnXTsKCQkkZ2F0ZXdheSA9IHNtc2dfdXRpbHM6OmdldF9nYXRld2F5KCR0aXRsZSwkdGhpcyk7CgkJaWYoICRnYXRld2F5ICkKCQl7CgkJCSRnYXRld2F5LT5zZXRfbXNnKCRzbXN0ZXh0KTsKCQkJJGdhdGV3YXktPnNldF9udW0oJG1vYmlsZSk7CgkJCSRnYXRld2F5LT5zZW5kKCk7CgoJCQlpZiggJGdhdGV3YXktPmdldF9zdGF0dXMoKSA9PSBzbXNfZ2F0ZXdheV9iYXNlOjpTVEFUX09LICkKCQkJCSRtZXNzYWdlID0gJHRoaXMtPkxhbmcoJ3Ntc19tZXNzYWdlX3NlbnQnLCRtb2JpbGUpOwoJCQllbHNlCgkJCQkkZXJyb3IgPSAkZ2F0ZXdheS0+Z2V0X3N0YXR1c21zZygpOwoJCX0KCQllbHNlCgkJewoJCQkkZXJyb3IgPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9nYXRld2F5Zm91bmQnKTsKCQkJJHRoaXMtPkF1ZGl0KFNNU0c6OkFVRElUX0VSUixTTVNHOjpNT0ROQU1FLCdlbnRlcnRleHQ6Jy4kZXJyb3IpOwoJCX0KCX0KCWVsc2UKCQkkZXJyb3IgPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF90ZXh0Jyk7Cn0KCi8vIG5vdyBkaXNwbGF5IHRoZSBmb3JtCiRzbWFydHktPmFzc2lnbignbWVzc2FnZScsJG1lc3NhZ2UpOwokc21hcnR5LT5hc3NpZ24oJ2Vycm9yJywkZXJyb3IpOwppZiggIWVtcHR5KCRwYXJhbXNbJ2dhdGVuYW1lJ10pICkKCSRzbWFydHktPmFzc2lnbignZ2F0ZW5hbWUnLCRwYXJhbXNbJ2dhdGVuYW1lJ10pOwokc21hcnR5LT5hc3NpZ24oJ21heHNtc2NoYXJzJywxNjApOwokc21hcnR5LT5hc3NpZ24oJ3Ntc3RleHQnLCRzbXN0ZXh0KTsKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2RvX2VudGVydGV4dCcsCgkkcmV0dXJuaWQsJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwppZiggIWlzc2V0KCRwYXJhbXNbJ2VudGVybnVtYmVydGVtcGxhdGUnXSkgKQoJJHRoZXRlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoU01TRzo6UFJFRl9FTlRFUlRFWFRfVFBMREZMVCk7CmVsc2UKCSR0aGV0ZW1wbGF0ZSA9IHRyaW0oJHBhcmFtc1snZW50ZXJudW1iZXJ0ZW1wbGF0ZSddKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdlbnRlcnRleHRfJy4kdGhldGVtcGxhdGUpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.edit_mobile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJG1pZCA9ICcnOwokbmFtZSA9ICcnOwokbW9iaWxlID0gJyc7CiRwcmVmID0gY21zX2RiX3ByZWZpeCgpOwokdGhpcy0+U2V0Q3VycmVudFRhYignbW9iaWxlcycpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ21pZCddKSApCnsKICAgICRtaWQgPSAoaW50KSRwYXJhbXNbJ21pZCddOwp9CgppZiggJG1pZCAhPSAnJyApCnsKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuJHByZWYuJ21vZHVsZV9zbXNnX251bXMgV0hFUkUgaWQ9Pyc7CgkkdG1wID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRtaWQpKTsKCWlmKCAhJHRtcCApCgl7CgkJJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9ub3Rmb3VuZCcpKTsKCQkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoJfQoJJG5hbWUgPSAkdG1wWyduYW1lJ107CgkkbW9iaWxlID0gJHRtcFsnbW9iaWxlJ107Cn0KCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQp7CgkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCnsKCSRuYW1lID0gdHJpbSgkcGFyYW1zWyduYW1lJ10pOwoJJG1vYmlsZSA9IHRyaW0oJHBhcmFtc1snbW9iaWxlJ10pOwoJJGVycm9yID0gJyc7CgoJLy8gYmFzaWMgZGF0YSBjaGVja3MKCWlmKCAhJG5hbWUgfHwgIWlzX251bWVyaWMoJG1vYmlsZSkgKQoJewoJCSRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX2luZm8nKTsKCX0KCglpZiggZW1wdHkoJGVycm9yKSApCgl7CgkJLy8gY2hlY2sgZm9yIGR1cGxpY2F0ZSBuYW1lCgkJJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuJHByZWYuJ21vZHVsZV9zbXNnX251bXMgV0hFUkUgbmFtZT0/JzsKCQkkcGFybXMgPSBhcnJheSgpOwoJCWlmKCAkbWlkICE9ICcnICkKCQl7CgkJCSRxdWVyeSAuPSAnIEFORCBpZCE9Pyc7CgkJCSRwYXJtc1tdID0gJG1pZDsKCQl9CgkJJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSwkcGFybXMpOwoJCWlmKCAkdG1wICkKCQl7CgkJCSRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9uYW1lX2V4aXN0cycpOwoJCX0KCX0KCglpZiggZW1wdHkoJGVycm9yKSApCgl7CgkJLy8gZ29vZCB0byBnby4uLiBkbyBhZGQgb3IgaW5zZXJ0CgkJJHJlcyA9ICcnOwoJCWlmKCAkbWlkID09ICcnICkKCQl7CgkJCS8vIGluc2VydAoJCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy4kcHJlZi4nbW9kdWxlX3Ntc2dfbnVtcyAobmFtZSxtb2JpbGUpIFZBTFVFUyg/LD8pJzsKCQkJJHJlcyA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJG5hbWUsJG1vYmlsZSkpOwoJCX0KCQllbHNlCgkJewoJCQkvLyB1cGRhdGUKCQkJJHF1ZXJ5ID0gJ1VQREFURSAnLiRwcmVmLidtb2R1bGVfc21zZ19udW1zIFNFVCBuYW1lPT8sbW9iaWxlPT8gV0hFUkUgaWQ9Pyc7CgkJCSRyZXMgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRuYW1lLCRtb2JpbGUsJG1pZCkpOwoJCX0KCgkJaWYoICEkcmVzICkKCQl7CgkJCSRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9kYl9vcF9mYWlsZWQnKTsKCQl9Cgl9CgoJaWYoICFlbXB0eSgkZXJyb3IpICkKCXsKCQkkdGhpcy0+U2V0RXJyb3IoJGVycm9yKTsKCX0KCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KCi8vIGJ1aWxkIHRoZSBmb3JtCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdlZGl0X21vYmlsZScsJHJldHVybmlkLCRwYXJhbXMpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCduYW1lJywkbmFtZSk7CiRzbWFydHktPmFzc2lnbignbW9iaWxlJywkbW9iaWxlKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdF9tb2JpbGUudHBsJyk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.enternumber.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJGtleSA9ICcnOwokc21zdGV4dCA9ICcnOwokdXJsb25seSA9IDA7CiRsaW5rdGV4dCA9ICR0aGlzLT5MYW5nKCdzZW5kX3RvX21vYmlsZScpOwokaW5saW5lID0gMDsKCmlmKCBpc3NldCgkcGFyYW1zWydzbXN0ZXh0J10pICkKewoJJHNtc3RleHQgPSB0cmltKCRwYXJhbXNbJ3Ntc3RleHQnXSk7Cgl1bnNldCgkcGFyYW1zWydzbXN0ZXh0J10pOwp9CmlmKCBpc3NldCgkcGFyYW1zWydsaW5rdGV4dCddKSApCnsKCSRsaW5rdGV4dCA9IHRyaW0oJHBhcmFtc1snbGlua3RleHQnXSk7Cgl1bnNldCgkcGFyYW1zWydsaW5rdGV4dCddKTsKfQppZiggaXNzZXQoJHBhcmFtc1sndXJsb25seSddKSApCnsKCSR1cmxvbmx5ID0gKGludCkkcGFyYW1zWyd1cmxvbmx5J107Cgl1bnNldCgkcGFyYW1zWyd1cmxvbmx5J10pOwp9CmlmKCBpc3NldCgkcGFyYW1zWydpbmxpbmUnXSkgKQp7CgkkaW5saW5lID0gKGludCkkcGFyYW1zWydpbmxpbmUnXTsKfQppZiggaXNzZXQoJHBhcmFtc1snZGVzdHBhZ2UnXSkgKQp7CgkkcGFnZSA9ICR0aGlzLT5yZXNvbHZlX2FsaWFzX29yX2lkKCRwYXJhbXNbJ2Rlc3RwYWdlJ10pOwoJaWYoICRwYWdlICkKCXsKCQkkcmV0dXJuaWQgPSAkcGFnZTsKCQkkaW5saW5lID0gMDsKCX0KCXVuc2V0KCRwYXJhbXNbJ2Rlc3RwYWdlJ10pOwp9CmlmKCAkc21zdGV4dCA9PSAnJyApCnsKCS8vIGNvdWxkIG5vdCBmaW5kIHRleHQKCXJldHVybjsKfQoKLy8gZ2l2ZW4gdGhlIHRleHQuLi4gZ2V0IGEga2V5CiRrZXkgPSBtZDUoJHNtc3RleHQpOwoKLy8gc3RvcmUgdGhlIGRhdGEgaW4gdGhlIHRlbXBvcmFyeSBkYXRhIHN0b3JlLgovLyBpbiBjYXNlIHRoaXMgaXMgYSByZWFsb2FkZWQgcGFnZSwgbWFrZSBzdXJlIHdlIGVyYXNlIHRoZSBkYXRhIGZpcnN0CiRkYXRhc3RvcmUgPSBuZXcgY2dlX2RhdGFzdG9yZSgpOwokZGF0YXN0b3JlLT5lcmFzZSgkdGhpcy0+R2V0TmFtZSgpLCRrZXkpOwokZGF0YXN0b3JlLT5zdG9yZSgkc21zdGV4dCwkdGhpcy0+R2V0TmFtZSgpLCRrZXkpOwoKLy8gTm93IGNyZWF0ZSBhIGxpbmsuCiRwYXJhbXNbJ3Ntc2tleSddID0gJGtleTsKJHR4dCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZG9fZW50ZXJudW1iZXInLCRyZXR1cm5pZCwkbGlua3RleHQsJHBhcmFtcywKCScnLCR1cmxvbmx5LCRpbmxpbmUpOwplY2hvICR0eHQ7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.entertext.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHNtc251bSA9ICcnOwokc21zdGV4dCA9ICcnOwokdXJsb25seSA9IDA7CiRsaW5rdGV4dCA9ICR0aGlzLT5MYW5nKCdzZW5kX21lX21lc3NhZ2UnKTsKJGlubGluZSA9IDA7CgppZiggaXNzZXQoJHBhcmFtc1snc21zbnVtJ10pICkKewoJJHNtc251bSA9IChpbnQpJHBhcmFtc1snc21zbnVtJ107Cn0KaWYoIGlzc2V0KCRwYXJhbXNbJ3VybG9ubHknXSkgKQp7CgkkdXJsb25seSA9IChpbnQpJHBhcmFtc1sndXJsb25seSddOwoJdW5zZXQoJHBhcmFtc1sndXJsb25seSddKTsKfQppZiggaXNzZXQoJHBhcmFtc1snaW5saW5lJ10pICkKewoJJGlubGluZSA9IChpbnQpJHBhcmFtc1snaW5saW5lJ107Cn0KaWYoIGlzc2V0KCRwYXJhbXNbJ2Rlc3RwYWdlJ10pICkKewoJJHBhZ2UgPSAkdGhpcy0+cmVzb2x2ZV9hbGlhc19vcl9pZCgkcGFyYW1zWydkZXN0cGFnZSddKTsKCWlmKCAkcGFnZSApCgl7CgkJJGlubGluZSA9IDA7CgkJJHJldHVybmlkID0gJHBhZ2U7Cgl9Cgl1bnNldCgkcGFyYW1zWydkZXN0cGFnZSddKTsKfQppZiggaXNzZXQoJHBhcmFtc1snbGlua3RleHQnXSkgKQp7CgkkbGlua3RleHQgPSB0cmltKCRwYXJhbXNbJ2xpbmt0ZXh0J10pOwoJdW5zZXQoJHBhcmFtc1snbGlua3RleHQnXSk7Cn0KaWYoICRzbXNudW0gPT0gJycgKQp7CgkvLyBkb24ndCBrbm93IHdobyB0byBzZW5kIHRvCglyZXR1cm47Cn0KCiR0eHQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RvX2VudGVydGV4dCcsJHJldHVybmlkLCRsaW5rdGV4dCwKCSRwYXJhbXMsJycsJHVybG9ubHksJGlubGluZSk7CmVjaG8gJHR4dDsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.savegates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2dhdGVzJyk7CgokZ2F0ZXdheSA9ICRwYXJhbXNbJ3Ntc19nYXRld2F5J107IC8vZS5nLiAnc21zYnJvYWRjYXN0JyBvciAtMQppZiggIShpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1skZ2F0ZXdheS4nfmRlbGV0ZSddKSkgKQoJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCiRvYmpzID0gc21zZ191dGlsczo6Z2V0X2dhdGV3YXlzX2Z1bGwoJHRoaXMpOwppZiggJG9ianMgKQp7CglpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkKCXsKCQkkcHJlZiA9IGNtc19kYl9wcmVmaXgoKTsKCQkkc3FsID0gJ1VQREFURSAnLiRwcmVmLidtb2R1bGVfc21zZ19nYXRlcyBTRVQgYWN0aXZlPTAgV0hFUkUgYWN0aXZlPTEnOwoJCSRkYi0+RXhlY3V0ZSgkc3FsKTsKCQlpZiggJGdhdGV3YXkgIT0gJy0xJyApCgkJewoJCQkkc3FsID0gJ1VQREFURSAnLiRwcmVmLidtb2R1bGVfc21zZ19nYXRlcyBTRVQgZW5hYmxlZD0xLGFjdGl2ZT0xIFdIRVJFIGFsaWFzPT8nOwoJCQkkZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkZ2F0ZXdheSkpOwoJCX0KCX0KCglmb3JlYWNoKCAkb2JqcyBhcyAkY2xhc3NuYW1lID0+ICRyZWMgKQoJCSRyZWNbJ29iaiddLT5oYW5kbGVfc2V0dXBfZm9ybSgkcGFyYW1zKTsKfQoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.savesecurity.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3NlY3VyaXR5Jyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdob3VybGltaXQnLChpbnQpJHBhcmFtc1snaG91cmxpbWl0J10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGF5bGltaXQnLChpbnQpJHBhcmFtc1snZGF5bGltaXQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdsb2dzZW5kcycsIWVtcHR5KCRwYXJhbXNbJ2xvZ3NlbmRzJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2xvZ2RheXMnLChpbnQpJHBhcmFtc1snbG9nZGF5cyddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2xvZ2RlbGl2ZXJpZXMnLCFlbXB0eSgkcGFyYW1zWydsb2dkZWxpdmVyaWVzJ10pKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ21hc3RlcnBhc3MnXSkgKQp7Cgkkb2xkcHcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbWFzdGVycGFzcycpOwoJaWYoICRvbGRwdyApCgl7CgkJJHMgPSBiYXNlNjRfZGVjb2RlKHN1YnN0cigkb2xkcHcsNSkpOwoJCSRvbGRwdyA9IHN1YnN0cigkcyw1KTsKCX0KCSRuZXdwdyA9IHRyaW0oJHBhcmFtc1snbWFzdGVycGFzcyddKTsKCWlmKCAkb2xkcHcgIT0gJG5ld3B3ICkKCXsKCQkvL3VwZGF0ZSBjdXJyZW50IHBhc3N3b3JkcwoJCSRwcmVmID0gY21zX2RiX3ByZWZpeCgpOwoJCSRzcWwgPSAnU0VMRUNUIGdhdGVfaWQsdGl0bGUsdmFsdWUsZW5jdmFsdWUgRlJPTSAnLiRwcmVmLidtb2R1bGVfc21zZ19wcm9wcyBXSEVSRSBlbmNyeXB0PjAnOwoJCSRyb3dzID0gJGRiLT5HZXRBbGwoJHNxbCk7CgkJaWYoICRyb3dzICkKCQl7CgkJCSRlID0gKCAkdGhpcy0+aGF2ZW1jcnlwdCApID8KCQkJIG5ldyBFbmNyeXB0aW9uKE1DUllQVF9CTE9XRklTSCxNQ1JZUFRfTU9ERV9DQkMsU01TRzo6RU5DX1JPVU5EUykgOiBGQUxTRTsKCQkJaWYoICRlICYmICRuZXdwdyApCgkJCXsKCQkJCSR0b2ZpZWxkID0gJ2VuY3ZhbHVlJzsKCQkJCSRub3RmaWVsZCA9ICd2YWx1ZSc7CgkJCQkkZW5jdmFsID0gMTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCSR0b2ZpZWxkID0gJ3ZhbHVlJzsKCQkJCSRub3RmaWVsZCA9ICdlbmN2YWx1ZSc7CgkJCQkkZW5jdmFsID0gMDsKCQkJfQoJCQkkc3FsID0gJ1VQREFURSAnLiRwcmVmLidtb2R1bGVfc21zZ19wcm9wcyBTRVQgJy4kdG9maWVsZC4nPT8sJy4kbm90ZmllbGQuJz1OVUxMLGVuY3J5cHQ9PyBXSEVSRSBnYXRlX2lkPT8gQU5EIHRpdGxlPT8nOwoJCQlmb3JlYWNoKCAkcm93cyBhcyAmJG9uZXJvdyApCgkJCXsKCQkJCWlmKCAkb2xkcHcgKQoJCQkJCSRyYXcgPSAoJGUgJiYgJG9uZXJvd1snZW5jdmFsdWUnXSkgPyAkZS0+ZGVjcnlwdCgkb25lcm93WydlbmN2YWx1ZSddLCRvbGRwdykgOiAkb25lcm93WydlbmN2YWx1ZSddOwoJCQkJZWxzZQoJCQkJCSRyYXcgPSAkb25lcm93Wyd2YWx1ZSddOwoJCQkJaWYoICRuZXdwdyApCgkJCQkJJHJldmlzZWQgPSAoJHJhdyAmJiAkZSkgPyAkZS0+ZW5jcnlwdCgkcmF3LCRuZXdwdykgOiAkcmF3OwoJCQkJZWxzZQoJCQkJCSRyZXZpc2VkID0gJHJhdzsKCQkJCWlmKCAhJHJldmlzZWQgKQoJCQkJCSRyZXZpc2VkID0gTlVMTDsKCQkJCSRkYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRyZXZpc2VkLCRlbmN2YWwsJG9uZXJvd1snZ2F0ZV9pZCddLCRvbmVyb3dbJ3RpdGxlJ10pKTsKCQkJfQoJCQl1bnNldCggJG9uZXJvdyApOwoJCX0KCQlpZiggJG5ld3B3ICkKCQl7CgkJCSRzID0gc3Vic3RyKGJhc2U2NF9lbmNvZGUobWQ1KG1pY3JvdGltZSgpKSksMCw1KTsgLy9vYmZ1c2NhdGUKCQkJJG5ld3B3PSAkcy5iYXNlNjRfZW5jb2RlKCRzLiRuZXdwdyk7CgkJfQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtYXN0ZXJwYXNzJywkbmV3cHcpOwoJfQp9CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.settemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoZW1wdHkoJHBhcmFtc1snbW9kZSddKSkgLy93ZSdyZSBiYWNrIGZyb20gQ0dFeHRlbnNpb25zOjplZGl0dGVtcGxhdGUgYWN0aW9uCgkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKJG5hbWUgPSAkcGFyYW1zWyd0ZW1wbGF0ZSddOwokcHJlZiA9ICRwYXJhbXNbJ3ByZWZpeCddOwpzd2l0Y2goICRwYXJhbXNbJ21vZGUnXSApCnsKIGNhc2UgJ2FkZCc6CgkvL3NldHVwIGZvciBoYW5kb3ZlciB0byBDR0V4dGVuc2lvbnM6OmVkaXR0ZW1wbGF0ZSBhY3Rpb24KCSRwYXJhbXNbJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnXSA9ICRwcmVmLidkZWZhdWx0Y29udGVudCc7CiBjYXNlICdlZGl0JzoKCSRwYXJhbXNbJ21vZGRlc2MnXSA9ICR0aGlzLT5HZXRGcmllbmRseU5hbWUoKTsKCSRwYXJhbXNbJ21vZG5hbWUnXSA9ICR0aGlzLT5HZXROYW1lKCk7CgkkcGFyYW1zWydkZXN0YWN0aW9uJ10gPSAnc2V0dGVtcGxhdGUnOyAvL2NvbWUgYmFjayBoZXJlIHdoZW4gZG9uZQoJJHBhcmFtc1snY2dfYWN0aXZldGFiJ10gPSAkcGFyYW1zWydhY3RpdmV0YWInXTsKCXN3aXRjaCggJHByZWYgKQoJewoJIGNhc2UgJ2VudGVydGV4dF8nOgoJCS8vdGl0bGUgZGlzcGxheWVkIGluIGFkZC9lZGl0IHRlbXBsYXRlIGZvcm0KCQkkcGFyYW1zWyd0aXRsZSddID0gJHRoaXMtPkxhbmcoJ3RpdGxlX2VudGVydGV4dF90ZW1wbGF0ZXMnKTsKCQkvL2luZm9ybWF0aW9uIHRleHQgZGlzcGxheWVkIGluIGFkZC9lZGl0IHRlbXBsYXRlIGZvcm0KCQkkcGFyYW1zWydpbmZvJ10gPSAkdGhpcy0+TGFuZygnaW5mb19lbnRlcnRleHRfdGVtcGxhdGVzJyk7CgkJYnJlYWs7CgkgY2FzZSAnZW50ZXJudW1iZXJfJzoKCQkkcGFyYW1zWyd0aXRsZSddID0gJHRoaXMtPkxhbmcoJ3RpdGxlX2VudGVybnVtYmVyX3RlbXBsYXRlcycpOwoJCSRwYXJhbXNbJ2luZm8nXSA9ICR0aGlzLT5MYW5nKCdpbmZvX2VudGVybnVtYmVyX3RlbXBsYXRlcycpOwoJIAlicmVhazsKCSBkZWZhdWx0OgoJCSRwYXJhbXNbJ3RpdGxlJ10gPSAnJzsKCQkkcGFyYW1zWydpbmZvJ10gPSAnJzsKCSAJYnJlYWs7Cgl9CgkkY2dlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR0V4dGVuc2lvbnMnKTsKCSRjZ2UtPkRvQWN0aW9uKCdlZGl0dGVtcGxhdGUnLCRpZCwkcGFyYW1zLCRyZXR1cm5pZCk7CglyZXR1cm47CiBjYXNlICdkZWxldGUnOgoJJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCRwcmVmLiRuYW1lLFNNU0c6Ok1PRE5BTUUpOwoJYnJlYWs7CiBjYXNlICdkZWZhdWx0JzoKCSR0aGlzLT5TZXRUZW1wbGF0ZSgkcHJlZi4nZGVmYXVsdGNvbnRlbnQnLCR0aGlzLT5HZXRUZW1wbGF0ZSgkcHJlZi4kbmFtZSksU01TRzo6TU9ETkFNRSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkcHJlZi4nZGZsdHRwbCcsJG5hbWUpOwoJYnJlYWs7CiBjYXNlICdyZXZlcnQnOgoJJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywkcHJlZi4ndGVtcGxhdGUudHBsJyk7CglpZiggaXNfZmlsZSgkZm4pICkKCXsKCQkkdGV4dCA9ICcnLkBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCSR0aGlzLT5TZXRUZW1wbGF0ZSgkcHJlZi4nZGVmYXVsdGNvbnRlbnQnLCR0ZXh0LFNNU0c6Ok1PRE5BTUUpOwoJCSR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCd0ZW1wbGF0ZV9zYXZlZCcpKTsKCX0KCWVsc2UKCQkkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX25vdGZvdW5kJykpOwoJYnJlYWs7Cn0KCiR0aGlzLT5TZXRDdXJyZW50VGFiKCRwYXJhbXNbJ2FjdGl2ZXRhYiddKTsKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.smstest.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3Rlc3QnKTsKCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQp7CgkkbnVtYmVyID0gJyc7CglpZiggaXNzZXQoJHBhcmFtc1snbW9iaWxlJ10pICkKCQkkbnVtYmVyID0gdHJpbSgkcGFyYW1zWydtb2JpbGUnXSk7CgoJaWYoIHNtc2dfdXRpbHM6OmlzX3ZhbGlkX3Bob25lKCRudW1iZXIpICkKCXsKCQkvLyByZWFkeSB0byB0ZXN0IChkZWZhdWx0IGdhdGV3YXkpCgkJJGdhdGV3YXkgPSBzbXNnX3V0aWxzOjpnZXRfZ2F0ZXdheShGQUxTRSwkdGhpcyk7CgkJaWYoICRnYXRld2F5ICkKCQl7CgkJCSRnYXRld2F5LT5zZXRfbnVtKCRudW1iZXIpOwoJCQkkZ2F0ZXdheS0+c2V0X21zZygkdGhpcy0+TGFuZygndGVzdF9tZXNzYWdlJyxTTVNHOjpNT0ROQU1FLicgQCAnLnN0cmZ0aW1lKCclWCAlWicpKTsKCQkJJGdhdGV3YXktPnNlbmQoKTsKCQkJJHN0YXR1cyA9ICRnYXRld2F5LT5nZXRfc3RhdHVzKCk7CgkJCSRtc2cgPSAkZ2F0ZXdheS0+Z2V0X3N0YXR1c21zZygpOwoJCQlpZiggJHN0YXR1cyA9PSBzbXNfZ2F0ZXdheV9iYXNlOjpTVEFUX09LICkKCQkJCSR0aGlzLT5TZXRNZXNzYWdlKCRtc2cpOwoJCQllbHNlCgkJCQkkdGhpcy0+U2V0RXJyb3IoJG1zZyk7CgkJfQoJCWVsc2UKCQkJJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9ub2dhdGV3YXknKSk7Cgl9CgllbHNlCgkJJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkbnVtYmVyJykpOwp9CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhMAAwAOf/AEQAAE8BA0gEBU0IA3QAAXoEAI0BBZYAA6oAAH8MDKwAAa0AAaMCDK0ACZsHB7UAAK8CA7UABrcAB7ADAKYGALgACKYGBbkACboCCrIKBagMD7wHC7QOD70LFLUPB74MDbQPFq0VE78QFqUYFbcUEbcUGKgbF7oXE8MVGLoZGsMXH7wbFawgGr0cFrwdIq4jIr4fHcAhH7cjJ8EiJcIjILomI7MpJrIpK8MlJ70pJL4qK8YoKbYtLsEuLcksK7owMMgsMMsuMsUxML81NMc0Mro5OMI4Nsk2Oco3NMU7OcU8Pr8+PL4+Qc47N807PM89Psk/QcpAPNE+P8RCQL5FRMtCQ81ERNVCQsdGSMFIRtVDSNBGRtNISM1LR9RJScdNSsZNT9ZLS9hNTNFPT8dUU9RRUsZVWdpQVNdUVNJWU8tYVs1aXtpXV91ZWddcXd9bW8xhYeBdYdxgYdZiZdJlZd9jZNplYs9pZttnauNmZt9pZthratJtbuZpaeFraOFsbtVwcuRuatdyc+Rvcd5xb+FzcuBzd+hzdNd4dt13eOV2ded4d+Z4fOJ7fN19e+t7ed+Ag9qCg+d/gO1+fOOCgNeGhO+BhN6Gh+uDhOaFg+iHheKJiu6Gh9uLj+iJjOSLjPGIieaMh+2LidqRkuyMj+eOj/OLi/COjOqRkd+VlvOQjtuYlu2TlOiVk/KSle+VlvaUkfaVmOWam+yZl/KYmOGdnPSZmvmYm/Ccmumen/abm/KfnOyhovqfn+mko/Whn/Wipu+kpfyhofikoeyopv6jo/OnqPumpPWpqvCrqequsPisrfOurP+sr+6ys/Sxtfexr+q1tP2wsfC0tfu1s/S3ue65uOm7uPO9vO2/vPi8ve/DxvjBwevFxvPEwe7IyfbHxPTIyvLMzfTOz+/Qz/rN0PXP0PnT1PTV1PfY1/rb2vbf3PXg4//g3/fj5frj3/zn6vfq6/7p7Prs7fzv8P/x8vr18/z29f339v749//5+P/6+f/8+v/9+/3//P///yH5BAEKAP8ALAAAAAAwADAAAAj+AP8JHEiwoMGDCBMmtIOnocOHECNKjChHIRo3rXJp5MUrmDFjyUIyGwmtZMlqJac9g+aspUuXstyUOThmEy9Nih49sgRK1ClYtHT1ElbsWLOjzaQpVbqsaVNkyD4aC+YM26YxBctcKiUnz6BDhx5ZwgQK1ClYsW7p6iWs2LG3cIfJHfarLrBduPLOmuVs0xiCbmS1qaMn0KBDOjFxAnUKVqxbunr1ElZM7lu5wIDV/bVrV968e1tZczOQy6ZCbOrk6TPo0KJHkyyBMqUKVqxbuiTP3T1s82dce/e2QkXsExeBXTahYROnTp4+gw4tmoSp7ClYsWjp0iW5169ev4b+be6clxatV7NYtVr/adMWgV0uoWHzRk6ePIHAPpqEqewpWADGAst2BOpS1y7bmUfLK6yg4iAqrRhySRcCWXFJGWy08UYdefgxyCGPTGIJJ6BwYoouyCxDDTfcVAPNMsPQEouC5r3CyoMOfuKGI1YIZAUkY6DBxhtx1JHHIIcs8sgkk5wCTTnt4OPPlFTi88452uDiyiussOKgg6V8gooiYUBihUBVODKGGGyw8UYdefQxCFiYYOOOPv7oo+eee06pDzzg4EIKKV964sknnrTBhSNVCFSFI16IgQYbb8hRRx59DIKLO3x26qk+/ugjDzODkuJJKJ58QogXXDhShUD+SiCyhRdlnMHGG3XU4Qc2+eiTz6fA8gmOKJp4okkmjZzhxRaIKCGQEohYsUUYZ7DRxht5YKNnPtzmE2yw4miSSSaUtOHFFlYgooRASQhSxRVeiIFGm9P4ow+3enL77af+eCMJJXKE4YUVVQiShEBG8AGFFFuEcYYYm+SjDz565oOPnvnsi4+nvsghRhhcSFEFIEYINAQfUThhBRdhsJGOPvjoM48vhBSSCz763BPOPHqa846e6bQiCSXh6JmPPuqgEYYXWzwRBR9DCDQEHUc4IcUWWlCSDz746OPLGX8okgk9+qhTBzb+zCMJMfrMk8kgmkhSjT7cck3JFVtY4UT+FHcMIdAPdBzhxBNSPGGNPvfoUw8lbYhTDzz56INNHrnoc44fqOgzjiKo0DNPPfrkg889+lgjhRVSOHEEHT8I9AMcQhDhxBNboKPPPfncg4oYvtzjTz7++KJHJvBUM8gi9ajDSCPp+KMPPvdErw86W0jhhBNHwPGDQDys0QMRTiBRhjr6RK8POn9oQYg5emZynzOZDFKIOvo484cdvsyjT/T36LNOGtcjghDWwAOB8GANPQACEpAwBnXog3/6eAcq2oSOejSiDn5QhB42mA195EMckriCI+qRj+jpQx1jWCAReqAGHgjEBmToARCIQIQooEMf/NPHlJIhhk2g4w/+ichEG/6Aij/kgkrxqAMXvqGP6OkDHVFAAhGA0AM12EAgNgCDDnYAhCDsIBv6iF4+3LGNdORCDJRQBhuIoQw2NOIchGhEPsYhDnPYgQvb8Ef09JGNHdBwBz0ggw0E8gIw1AAHPhCCDyKRj+jpIxU7sIIU3GCOXHhBHO/Agyz0QQg7oAMNSNhCExxBj3xELx+R8EEQgICDHIDhBQJ5QRZqgAMc7MAHSWBHPu6hD3J8ghCbMIc/0KEMeuTDG+7QhzeiUY9oNCIRvoiHPuxxD324QwlAAEItXZCFFwjkBVRwAQxqWctI+CN6+sBHPfChD3zkQx9c09M99JQPfdzDHnr+4p8/IoEDIJDTBVR4gUBYwIQUwCAG5OzBNfzBv4Y69KEP9cc1ekBOHMAgBUxggUBMUIQSpAAGMKhlDIzQDX9A9KQQ9Uc3jEDOGMAgBSkoggkEMoIilGAFIIUBDXAAgyFcQ0/2QClE7aGnawwhBrWMAUhXUIIijEAgI/gBB0iwghWIAAYxoAEMdNCJeeTDHkJ1qD7m0YkexIAGMYgBDFqwghOA4AcjEMgIeMABEpDgBB0QAQxiQAMVpAAM7LiHPQZL2MLiY0/0iMYXUqACGsQABiqoql05wIMRCCQEN+DABTBAghOI4LMqiIEKYJAOfAz2HvqgEpXw4Q5xrGIKKWj+AQ1ioAIYfLYDHSCBBzhwgxAIJAEyyIAHMEDcDpzgs5+dA//01I1KdKIWtehEJfiABReQAAY0iIEKPruCDpyABMSVAAdkkACBCMAFEMiABy5wAQxsoAMn2AAOxOEPfdTjGnCowQUwcIITEHcDIlCBClCggs/i9gQd2AB7L5CBBrhAAAIZQAoUkIEMSEACF8DABjDQAWXogxyjWAIHSCACFJj4xChALnJxu4ENYIC9F84ABFIwAIEEIAUKmMADLpwBD1ygA3tYhRlAAAEMdEDFSP4sbjvQYuJiQAIeyMCFJaCAFARAIAMogQIewOUpZwADNVDABC7Q4hZ/4MxoRnPVmZ18gQtnYMpcVkAJBiCQAHBAAVzOswQyIIEHSGDBZQ60oFuMgQVP+cJ5foACOBAAgQQABA2YQKLzfOgLL/jSmL5ApSUw6QdMoAEgCMBAGKABBUyg05Pe9KYfcOEHSADVD5iAAjTAAIIUQAMWUIACJsDrXvsaAryGAAR8PQFhT0DYxPa1ri2ggQIU5AAMsAAFEEDtalv72rrW9bW3bW0KWIABBzDIPwzgAAuY+9zoTre6181uBxhA3AIBAAHmTe962/ve+M43AODN7377+98AD7jA+R0QADs=]]></data>
	</file>
	<file>
	  <filename>/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/images/revert.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAMZuACpqJSprJixtKC5wKi9xKzJ1LTN1LjZ6MTp+NDt/NTyBNj2CNz6DN0CFOUCGOkGHOkOKPEWNPkePQEmRQkqSQk6RSU+RSkuUQ06XRlCZR1GcSVOeS1qdVFahTVaiTV2gWVejTl6hWFmmUGKkWluoUmSlXV2qU2WoX2eoYV+sVWCuVmmrY2urZGqsYmutZGKxWGSzWW6wZmW1W2+xZ3CxaGe2XGi4XXWzbnS0bGq6X2u8YHi5cXu4c22+YnS7bW6/Ynq6dHu7dXe9cHDBZHy8dnDCZHy+dn2/d3LEZoG+eX/BeYDBeYHCe4LCe4LCfITDfoXEfYjDgYbEf4fFgIjGgozFg4rGg4vHhY3IhY3IhpDIiJDKiZLKipLLi5XMjZXNjJnPkZ3QlJ/Sl6LUmaXVnKfWnqjXn6rYoavYoqzYoq3Zo67apa/aprDbpv///////////////////////////////////////////////////////////////////////yH5BAEKAH8ALAAAAAAQABAAAAeUgH+Cg4SFhoeGSEU/OjYyLykkh0NtbGpoZmRhVTgZhT1raWdlZGNiX2A8EoQ5NTAqJiIdNFpeXSWIgxgUUVA3CbmCESxSSQfBfw8oTUQFhCAbhA4KQUIrA4MeMy4XEhANHEBKRxaDHTFcW1lWU09MPkYfAYMaLVhXVFJOSzsnFQCFJowIwQDBAQMEBCB6sACZQ0KBAAA7]]></data>
	</file>
	<file>
	  <filename>/include/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/include/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogIDxsaT5DR1NNUyBWZXJzaW9uIDEuMCAtIEZlYnJ1YXJ5IDIwMTAKICAgIDx1bD4KICAgICAgIDxsaT5Jbml0aWFsIHJlbGVhc2Ugd2l0aCBJbnRlcmxpbmtlZCBhbmQgZXhwZXJpbWVudGFsIEdvb2dsZSBWb2ljZSBnYXRld2F5cy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5TTVNHIFZlcnNpb24gMC45IC0gQXByaWwgMjAxNQogICAgPHVsPgogICAgICAgPGxpPldvcmstYWxpa2UgcmVwbGFjZW1lbnQgZm9yIENHU01TPC9saT4KICAgICAgIDxsaT5HYXRld2F5czogYWRkIENsaWNrYXRlbGwsIFR3aWxpbywgU21zYnJvYWRjYXN0LCByZW1vdmUgZGVmdW5jdCBJbnRlcmxpbmtlZDwvbGk+CiAgICAgICA8bGk+RXhwYW5kZWQgZ2F0ZXdheSBBUEkgc3VwcG9ydHMgb3B0aW9uYWwgY2hlY2tzIGZvciBhbmQgdXNlIG9mIGV4dHJhIHBhcmFtZXRlcnM8L2xpPgogICAgICAgPGxpPkVuYWJsZSBydW50aW1lIG1vZGlmaWNhdGlvbnMgb2YgZ2F0ZXdheXMnIGludGVyZmFjZSBieSBhdXRob3Jpc2VkIHVzZXJzPC9saT4KICAgICAgIDxsaT5Nb3JlIGdlbmVyb3VzIHJlZ2V4IGZvciBjaGVja2luZyBtZXNzYWdlIHZhbGlkaXR5PC9saT4KICAgICAgIDxsaT5CZXR0ZXIgc3VwcG9ydCBmb3IgbGF0ZXIgQ01TTVMgdmVyc2lvbnMsIGJ1ZyBmaXhlcywgVUkgcmVmaW5lbWVudHM8L2xpPgogICAgPC91bD4KICA8L2xpPgo8L3VsPgo=]]></data>
	</file>
	<file>
	  <filename>/include/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/include/jquery.tablednd.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohClRhYmxlRG5EIHBsdWctaW4gZm9yIEpRdWVyeQpWZXJzaW9uIDAuOApDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNSBUb20gUGhhbmUKTGljZW5zZWQgdW5kZXIgdGhlIEdOVSBBZmZlcm8gR1BMIHYuMyBvciwgYXQgdGhlIGRpc3RyaWJ1dG9yJ3MgZGlzY3JldGlvbiwgYSBsYXRlciB2ZXJzaW9uLgpTZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzI0FHUEwuCiovCihmdW5jdGlvbihhKXthLmV4dGVuZCh7dGFibGVEbkQ6bmV3IGZ1bmN0aW9uKCl7dmFyIG89YS5mbi5qcXVlcnk7dGhpcy5kZWZhdWx0cz17YnV0dG9uU3RhdGU6IiIsY29udGFpbmVySUQ6bnVsbCxkcmFnQ2xhc3M6InREbkRfd2hpbGVEcmFnIixkcmFnSGFuZGxlOm51bGwsZHJhZ1N0eWxlczp7Y29sb3I6InB1cnBsZSIsImZvbnQtc3R5bGUiOiJpdGFsaWMifSxkcm9wU3R5bGVzOm51bGwsb25BbGxvd0Ryb3A6bnVsbCxvbkRyYWdTdGFydDpudWxsLG9uRHJvcDpudWxsLG9uUm93c0NoYW5nZWQ6bnVsbCxmaWx0ZXJSZWdleHA6bnVsbH07dGhpcy5jb25zdHJ1Y3Q9ZnVuY3Rpb24odCl7dmFyIHU9e2N1cnJlbnRUYWJsZTpudWxsLGRyYWdCb2R5Om51bGwsZHJhZ09iamVjdDpudWxsLGJvdW5kOmZhbHNlLHByZXBhcmU6ZmFsc2UsZHJhZ2dpbmc6ZmFsc2UscHRyT2Zmc2V0Om51bGwsZmlyc3RZOjAsb2xkWTowLHVwaWQ6MCxkbmlkOjAsanFnZTE0OmZhbHNlLGpxZ2UxNzpmYWxzZX07dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHg9dGhpcy50Qm9kaWVzO2lmKCF4KXtyZXR1cm59dmFyIEE9MDtmb3IodmFyIHk9MDt5PHgubGVuZ3RoO3krKyl7QSs9eFt5XS5yb3dzLmxlbmd0aDtpZihBPjEpe2JyZWFrfX1pZihBPDIpe3JldHVybn12YXIgdz17fTthLmV4dGVuZCh3LHUsYS50YWJsZURuRC5kZWZhdWx0cyx0fHx7fSk7dy5jdXJyZW50VGFibGU9dGhpczthLmRhdGEodGhpcywidERuRGNvbmZpZyIsdyk7dmFyIHY7aWYody5jb250YWluZXJJRCl7dj1hKCIjIit3LmNvbnRhaW5lcklEKTtpZih2Lmxlbmd0aD4wKXt2YXIgej12LmNzcygib3ZlcmZsb3ciKTtpZighKHo9PSJhdXRvInx8ej09InNjcm9sbCIpKXt3LmNvbnRhaW5lcklEPW51bGx9fX1pZighdy5jb250YWluZXJJRCl7dj1hKHRoaXMpLnBhcmVudCgpO3o9di5jc3MoIm92ZXJmbG93Iik7aWYoKHo9PSJhdXRvInx8ej09InNjcm9sbCIpKXt3LmNvbnRhaW5lcklEPXYuYXR0cigiaWQiKTtpZighdy5jb250YWluZXJJRCl7dy5jb250YWluZXJJRD0idERuRGNvbnRhaW5lcklEIjt2LmF0dHIoImlkIix3LmNvbnRhaW5lcklEKX19fXcuanFnZTE0PShvPj0iMS40Iik7dy5qcWdlMTc9KG8+PSIxLjciKTtpZih3LmpxZ2UxNyl7YSh0aGlzKS5vbigibW91c2VvdmVyLnRkbmQiLCJ0Ym9keSIsdyxuKS5vbigibW91c2VvdXQudGRuZCIsInRib2R5Iix3LGgpfWVsc2V7Zm9yKHk9MDt5PHgubGVuZ3RoO3krKyl7YSh4W3ldKS5iaW5kKCJtb3VzZW92ZXIudGRuZCIsdyxuKS5iaW5kKCJtb3VzZW91dC50ZG5kIix3LGgpfX19KTtyZXR1cm4gdGhpc307dGhpcy5tYXBUYWJsZXM9ZnVuY3Rpb24oKXt2YXIgdD0iIjt0aGlzLmVhY2goZnVuY3Rpb24oKXt0Kz1zKHRoaXMpfSk7cmV0dXJuIHR9O2Z1bmN0aW9uIHModyl7dmFyIHU9YS5kYXRhKHcsInREbkRjb25maWciKTt2YXIgdD17fTt2YXIgdj0xO2EodykuZmluZCgidHIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHg9dGhpcy5nZXRBdHRyaWJ1dGUoImlkIil8fHRoaXMuZ2V0QXR0cmlidXRlKCJuYW1lIil8fCJyb3ciK3Y7aWYoIXV8fCF1LmZpbHRlclJlZ2V4cHx8eC5tYXRjaCh1LmZpbHRlclJlZ2V4cCkhPT1udWxsKXt2YXIgej17fTt2YXIgeT0xO2EodGhpcykuZWFjaChmdW5jdGlvbigpe3ZhciBCPVtdO2EodGhpcykuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKCl7QltCLmxlbmd0aF09KHRoaXMuaGFzQXR0cmlidXRlKCJ2YWx1ZSIpKT90aGlzLmdldEF0dHJpYnV0ZSgidmFsdWUiKTphKHRoaXMpLnRleHQoKX0pO3ZhciBEPXRoaXMuYXRnZXRBdHRyaWJ1dGUoImlkIil8fHRoaXMuZ2V0QXR0cmlidXRlKCJuYW1lIil8fCJjb2wiK3k7c3dpdGNoKEIubGVuZ3RoKXtjYXNlIDA6eltEXT0iPGVtcHR5PiI7YnJlYWs7Y2FzZSAxOnpbRF09QlswXTticmVhaztkZWZhdWx0OnZhciBDPXt9O2Zvcih2YXIgQT0wO0E8Qi5sZW5ndGg7KytBKXtDW0FdPUJbQV19eltEXT1DO2JyZWFrfXkrK30pO3RbeF09en12Kyt9KTtyZXR1cm4gdH1mdW5jdGlvbiBlKHQpe2lmKHQucGFnZVh8fHQucGFnZVkpe3JldHVybnt4OnQucGFnZVgseTp0LnBhZ2VZfX12YXIgdT0oZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCE9PW51bGwpP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudDpkb2N1bWVudC5ib2R5O3JldHVybnt4OnQuY2xpZW50WCt1LnNjcm9sbExlZnQseTp0LmNsaWVudFkrdS5zY3JvbGxUb3B9fWZ1bmN0aW9uIGsodyx2KXt2PXZ8fHdpbmRvdy5ldmVudDt2YXIgdT1yKHcpO3ZhciB0PWUodik7cmV0dXJue3g6dC54LXUueCx5OnQueS11Lnl9fWZ1bmN0aW9uIHIodil7dmFyIHU9MDt2YXIgdD0wO2lmKHYub2Zmc2V0SGVpZ2h0PT09MCl7aWYodi5maXJzdENoaWxkKXt2PXYuZmlyc3RDaGlsZH19d2hpbGUodi5vZmZzZXRQYXJlbnQpe3UrPXYub2Zmc2V0TGVmdDt0Kz12Lm9mZnNldFRvcDt2PXYub2Zmc2V0UGFyZW50fXUrPXYub2Zmc2V0TGVmdDt0Kz12Lm9mZnNldFRvcDtyZXR1cm57eDp1LHk6dH19ZnVuY3Rpb24gaigpe3ZhciB1PTA7aWYod2luZG93LnBhZ2VZT2Zmc2V0KXt1PXdpbmRvdy5wYWdlWU9mZnNldH1lbHNle2lmKHdpbmRvdy5zY3JvbGxZKXt1PXdpbmRvdy5zY3JvbGxZfWVsc2V7dmFyIHY7dT0oKCh2PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl8fCh2PWRvY3VtZW50LmJvZHkucGFyZW50Tm9kZSkpJiZ0eXBlb2Ygdi5TY3JvbGxUb3A9PSJudW1iZXIiKT92LlNjcm9sbFRvcDpkb2N1bWVudC5ib2R5LlNjcm9sbFRvcH19cmV0dXJuIHV9ZnVuY3Rpb24gZCgpe2lmKHdpbmRvdy5pbm5lckhlaWdodCYmd2luZG93LnNjcm9sbE1heFkpe3JldHVybiB3aW5kb3cuc2Nyb2xsTWF4WX12YXIgdD0od2luZG93LmlubmVySGVpZ2h0KT93aW5kb3cuaW5uZXJIZWlnaHQ6ZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7aWYoZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQ+ZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQpe3JldHVybiBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodC10fWVsc2V7cmV0dXJuIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0LXR9fWZ1bmN0aW9uIGcodix6LHksdSl7dmFyIHg7dmFyIEE7aWYoeil7dmFyIEI9aigpO2lmKHkpe2lmKEI+MCl7eD0tMX1lbHNle3UudXBpZD0wO3JldHVybn19ZWxzZXtBPWQoKTtpZihCPEEpe3g9MX1lbHNle3UuZG5pZD0wO3JldHVybn19d2luZG93LnNjcm9sbEJ5KDAseCl9ZWxzZXt4PWEodikuc2Nyb2xsVG9wKCk7aWYoeSl7aWYoeD4wKXt4LT0xfWVsc2V7dS51cGlkPTA7cmV0dXJufX1lbHNle0E9di5zY3JvbGxIZWlnaHQtdi5jbGllbnRIZWlnaHQ7aWYoeDxBKXt4Kz0xfWVsc2V7dS5kbmlkPTA7cmV0dXJufX12LnNjcm9sbFRvcCh4KX12YXIgdz1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zyh2LHoseSx1KX0sMjApO2lmKHkpe3UudXBpZD13fWVsc2V7dS5kbmlkPXd9fWZ1bmN0aW9uIHAodCl7aWYodC51cGlkKXt3aW5kb3cuY2xlYXJUaW1lb3V0KHQudXBpZCk7dC51cGlkPTB9aWYodC5kbmlkKXt3aW5kb3cuY2xlYXJUaW1lb3V0KHQuZG5pZCk7dC5kbmlkPTB9fWZ1bmN0aW9uIGkodyx1KXtpZih1LmRyb3BTdHlsZXMpe3ZhciB0PXt9O2Zvcih2YXIgdiBpbiB1LmRyb3BTdHlsZXMpe3Rbdl09IiJ9YSh3KS5jc3ModCl9aWYodS5kcmFnQ2xhc3Mpe2EodykuYWRkQ2xhc3ModS5kcmFnQ2xhc3MpfWlmKHUuZHJhZ1N0eWxlcyl7YSh3KS5jc3ModS5kcmFnU3R5bGVzKX19ZnVuY3Rpb24gbCh3LHUpe2lmKHUuZHJhZ1N0eWxlcyl7dmFyIHQ9e307Zm9yKHZhciB2IGluIHUuZHJhZ1N0eWxlcyl7dFt2XT0iIn1hKHcpLmNzcyh0KX1pZih1LmRyYWdDbGFzcyl7YSh3KS5yZW1vdmVDbGFzcyh1LmRyYWdDbGFzcyl9fWZ1bmN0aW9uIGMoeil7dmFyIHU9ei5kYXRhO2lmKHUuYnV0dG9uU3RhdGUpe3ZhciB4O2lmKHoud2hpY2g9PT1udWxsKXt4PSh6LmJ1dHRvbjwyKT8iMCI6KCh6LmJ1dHRvbj09PTQpPyIxIjoiMiIpfWVsc2V7eD0oei53aGljaDwyKT8iMCI6KCh6LndoaWNoPT09Mik/IjEiOiIyIil9aWYodS5idXR0b25TdGF0ZS5pbmRleE9mKHgpPT09LTEpe3JldHVybiBmYWxzZX1pZih1LmJ1dHRvblN0YXRlLmluZGV4T2YoInNoaWZ0IikhPT0tMSYmIXouc2hpZnRLZXkpe3JldHVybiBmYWxzZX1pZih1LmJ1dHRvblN0YXRlLmluZGV4T2YoImN0cmwiKSE9PS0xJiYhei5jdHJsS2V5KXtyZXR1cm4gZmFsc2V9aWYodS5idXR0b25TdGF0ZS5pbmRleE9mKCJhbHQiKSE9PS0xJiYhei5hbHRLZXkpe3JldHVybiBmYWxzZX1pZih1LmJ1dHRvblN0YXRlLmluZGV4T2YoIm1ldGEiKSE9PS0xJiYhei5tZXRhS2V5KXtyZXR1cm4gZmFsc2V9fXZhciB5PXoudGFyZ2V0fHx6LnNyY0VsZW1lbnR8fHoub3JpZ2luYWxUYXJnZXQ7dmFyIHc9eS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3N3aXRjaCh3KXtjYXNlInRkIjpjYXNlInRyIjpicmVhaztjYXNlInRib2R5IjpjYXNlImlucHV0IjpjYXNlInNlbGVjdCI6Y2FzZSJhIjpyZXR1cm4gZmFsc2U7ZGVmYXVsdDp5PWEoeSkuY2xvc2VzdCgidGQiKTtpZih5Lmxlbmd0aD09PTApe3JldHVybiBmYWxzZX13PSJ0ZCI7YnJlYWt9dmFyIEE7dmFyIHQ7aWYodS5kcmFnSGFuZGxlKXt2YXIgdj1hKCJ0ZC4iK3UuZHJhZ0hhbmRsZSx5KTtpZih2Lmxlbmd0aD4wKXtBPXZbMF0ucGFyZW50Tm9kZTtpZighYShBKS5oYXNDbGFzcygibm9kcmFnIikpe3Q9YShBKS5wYXJlbnQoInRib2R5IilbMF07aWYodCE9PXVuZGVmaW5lZCl7cmV0dXJue3RiOnQsb2I6QX19fX19ZWxzZXtpZih3PT0idGQiKXtBPWEoeSkucGFyZW50KCJ0ciIpWzBdO2lmKEE9PT11bmRlZmluZWQpe3JldHVybiBmYWxzZX19ZWxzZXtBPXl9aWYoIWEoQSkuaGFzQ2xhc3MoIm5vZHJhZyIpKXt0PWEoQSkucGFyZW50KCJ0Ym9keSIpWzBdO2lmKHQhPT11bmRlZmluZWQpe3JldHVybnt0Yjp0LG9iOkF9fX19cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIG4odSl7dmFyIHQ9dS5kYXRhO2lmKCF0LmRyYXFnZ2luZyl7aWYodC5qcWdlMTcpe2EodGhpcykub24oIm1vdXNlbW92ZS50ZG5kIix0LGYpfWVsc2V7YSh0aGlzKS5iaW5kKCJtb3VzZW1vdmUudGRuZCIsdCxmKX19cmV0dXJuIHRydWV9ZnVuY3Rpb24gaCh1KXt2YXIgdj1hKHRoaXMpO3ZhciB0PXUuZGF0YTtpZighdC5kcmFnZ2luZyl7dC5jdXJyZW50VGFibGUuc3R5bGUuY3Vyc29yPSJkZWZhdWx0IjtpZih0LmpxZ2UxNyl7di5vZmYoIm1vdXNlbW92ZS50ZG5kIixmKX1lbHNle3YudW5iaW5kKCJtb3VzZW1vdmUudGRuZCIsZil9fWlmKHQuYm91bmQpe2lmKHQuanFnZTE3KXt2Lm9mZigibW91c2Vkb3duLnRkbmQiLG0pLm9mZigiZGJsY2xpY2sudGRuZCIscSl9ZWxzZXt2LnVuYmluZCgibW91c2Vkb3duLnRkbmQiLG0pLnVuYmluZCgiZGJsY2xpY2sudGRuZCIscSl9dC5ib3VuZD1mYWxzZX1yZXR1cm4gdHJ1ZX1mdW5jdGlvbiBmKE4pe3ZhciB6PU4uZGF0YTt2YXIgUD1jKE4pO2lmKCF6LnByZXBhcmUpe2lmKFApe2lmKCF6LmJvdW5kKXt6LmN1cnJlbnRUYWJsZS5zdHlsZS5jdXJzb3I9ImNyb3NzaGFpciI7aWYoei5qcWdlMTcpeyR0aGlzLm9uKCJtb3VzZWRvd24udGRuZCIseixtKS5vbigiZGJsY2xpY2sudGRuZCIseixxKX1lbHNle2lmKHouanFnZTE0KXthKHRoaXMpLmJpbmQoIm1vdXNlZG93bi50ZG5kIix6LG0pLmJpbmQoImRibGNsaWNrLnRkbmQiLHoscSl9ZWxzZXthKHRoaXMpLmJpbmQoIm1vdXNlZG93bi50ZG5kIix6LG0pfX16LmJvdW5kPXRydWV9fWVsc2V7aWYoei5ib3VuZCYmIXouZHJhZ2dpbmcpe3ouY3VycmVudFRhYmxlLnN0eWxlLmN1cnNvcj0iZGVmYXVsdCI7aWYoei5qcWdlMTcpe2EodGhpcykub2ZmKCJtb3VzZWRvd24udGRuZCIsbSkub2ZmKCJkYmxjbGljay50ZG5kIixxKX1lbHNle2EodGhpcykudW5iaW5kKCJtb3VzZWRvd24udGRuZCIsbSkudW5iaW5kKCJkYmxjbGljay50ZG5kIixxKX16LmJvdW5kPWZhbHNlfX1yZXR1cm4gdHJ1ZX12YXIgSz1lKE4pO2lmKE1hdGguYWJzKEsueS16LmZpcnN0WSk8PTMpe3JldHVybiBmYWxzZX1pZighei5kcmFnZ2luZyl7aWYoUCl7aWYoei5kcmFnQm9keSl7aWYoei5kcmFnQm9keSE9UC50Yil7YS5lYWNoKHouZHJhZ09iamVjdCxmdW5jdGlvbigpe2wodGhpcyx6KX0pO3ouZHJhZ09iamVjdD1udWxsO3ouZHJhZ0JvZHk9UC50Yn19ZWxzZXt6LmRyYWdCb2R5PVAudGJ9aWYoei5kcmFnT2JqZWN0KXtpZihhLmluQXJyYXkoUC5vYix6LmRyYWdPYmplY3QpPT09LTEpe3ouZHJhZ09iamVjdFt6LmRyYWdPYmplY3QubGVuZ3RoXT1QLm9iO2koUC5vYix6KX19ZWxzZXt6LmRyYWdPYmplY3Q9W1Aub2JdO2koUC5vYix6KX19aWYoei5kcmFnT2JqZWN0PT09bnVsbCl7YihOKTtyZXR1cm4gdHJ1ZX1hLnVuaXF1ZSh6LmRyYWdPYmplY3QpO3ZhciBKPShQKT9QLm9iOnouZHJhZ09iamVjdFswXTt6LnB0ck9mZnNldD1rKEosTik7ei5kcmFnZ2luZz10cnVlO3oub2xkWT16LmZpcnN0WS16LnB0ck9mZnNldC55O2lmKHoub25EcmFnU3RhcnQpe3oub25EcmFnU3RhcnQodGFibGUsei5kcmFnT2JqZWN0KX16LmN1cnJlbnRUYWJsZS5zdHlsZS5jdXJzb3I9InJvdy1yZXNpemUiO3JldHVybiB0cnVlfXZhciB0O3ZhciB2O3ZhciBGPWZhbHNlO2lmKHouY29udGFpbmVySUQpe3ZhciBHPWEoIiMiK3ouY29udGFpbmVySUQpO3Q9Ry5vZmZzZXQoKS50b3A7aWYoSy55PHQrNSl7aWYoei51cGlkPT09MCl7ZyhHWzBdLGZhbHNlLHRydWUseil9Rj10cnVlfWVsc2V7dj10K0cub3V0ZXJIZWlnaHQodHJ1ZSk7aWYoSy55PnYtNSl7aWYoei5kbmlkPT09MCl7ZyhHWzBdLGZhbHNlLGZhbHNlLHopfUY9dHJ1ZX19fWlmKCFGKXt0PWooKTtpZihLLnk8dCs1KXtpZih6LnVwaWQ9PT0wKXtnKHdpbmRvdyx0cnVlLHRydWUseil9Rj10cnVlfWVsc2V7dj10K2Eod2luZG93KS5oZWlnaHQoKTtpZihLLnk+di01KXtpZih6LmRuaWQ9PT0wKXtnKHdpbmRvdyx0cnVlLGZhbHNlLHopfUY9dHJ1ZX19fWlmKCFGKXtwKHopfXZhciBEPUsueS16LnB0ck9mZnNldC55O2lmKEQhPXoub2xkWSl7dmFyIEg9KEQ8ei5vbGRZKTt2YXIgTT1udWxsO3ZhciBJPWEoIj4gdHIiLHouZHJhZ0JvZHkpO3ZhciBMO2ZvcihMPTA7TDxJLmxlbmd0aDtMKyspe3ZhciBDPUlbTF07dmFyIFE7dmFyIHU7aWYoQy5vZmZzZXRIZWlnaHQ+MCl7UT1yKEMpLnk7dT1wYXJzZUludChDLm9mZnNldEhlaWdodCwxMCkvMn1lbHNle1E9cihDLmZpcnN0Q2hpbGQpLnk7dT1wYXJzZUludChDLmZpcnN0Q2hpbGQub2Zmc2V0SGVpZ2h0LDEwKS8yfWlmKChEPihRLXUpKSYmKEQ8KFErdSkpKXtpZihhLmluQXJyYXkoQyx6LmRyYWdPYmplY3QpPT09LTEpe2lmKHoub25BbGxvd0Ryb3Ape2lmKHoub25BbGxvd0Ryb3Aoei5kcmFnT2JqZWN0LEMpKXtNPUN9fWVsc2V7aWYoIWEoQykuaGFzQ2xhc3MoIm5vZHJvcCIpKXtNPUN9fX1icmVha319aWYoTSl7dmFyIHc9W107YS5lYWNoKEksZnVuY3Rpb24oeSl7aWYoYSh0aGlzKS5oYXNDbGFzcygibm9kcm9wIikmJmEuaW5BcnJheSh0aGlzLHouZHJhZ09iamVjdCk9PS0xKXt3W3cubGVuZ3RoXT1beSx0aGlzXX19KTtpZihIKXthLmVhY2goei5kcmFnT2JqZWN0LGZ1bmN0aW9uKCl7aWYodGhpcyE9TSl7YSh0aGlzKS5pbnNlcnRCZWZvcmUoTSl9ZWxzZXt2YXIgeT1hKHRoaXMpLm5leHQoKTtpZih5Lmxlbmd0aCl7TT15WzBdfX19KX1lbHNle2EuZWFjaCh6LmRyYWdPYmplY3QsZnVuY3Rpb24oKXtpZih0aGlzIT1NKXthKHRoaXMpLmluc2VydEFmdGVyKE0pO009dGhpc31lbHNle3ZhciB5PWEodGhpcykucHJldigpO2lmKHkubGVuZ3RoKXtNPXlbMF19fX0pfXZhciBCPWEoIj4gdHIiLHouZHJhZ0JvZHkpLmVxKDApO2EuZWFjaCh3LGZ1bmN0aW9uKCl7aWYodGhpc1sxXSE9QlswXSl7YSh0aGlzWzFdKS5pbnNlcnRCZWZvcmUoQil9fSk7dmFyIEE9MDtmb3IodmFyIE89MDtPPHcubGVuZ3RoO08rKyl7dmFyIHg9d1tPXVswXTtpZih4PkEpe3ZhciBFPWEoIj4gdHIiLHouZHJhZ0JvZHkpO2EoRVtBXSkuaW5zZXJ0QWZ0ZXIoYShFW3hdKSl9ZWxzZXtBKyt9fWlmKHoub25Sb3dzQ2hhbmdlZCl7ei5vblJvd3NDaGFuZ2VkKHRoaXMsei5kcmFnT2JqZWN0LE0pfX16Lm9sZFk9RH1yZXR1cm4gZmFsc2V9ZnVuY3Rpb24gbSh1KXt2YXIgdD11LmRhdGE7dC5wcmVwYXJlPXRydWU7dC5maXJzdFk9ZSh1KS55O2lmKHQuanFnZTE3KXthKGRvY3VtZW50KS5vbigibW91c2V1cC50ZG5kIix0LGIpfWVsc2V7YShkb2N1bWVudCkuYmluZCgibW91c2V1cC50ZG5kIix0LGIpfXJldHVybiBmYWxzZX1mdW5jdGlvbiBiKHUpe3ZhciB0PXUuZGF0YTtpZih0LmpxZ2UxNyl7YShkb2N1bWVudCkub2ZmKCJtb3VzZXVwLnRkbmQiLGIpfWVsc2V7YShkb2N1bWVudCkudW5iaW5kKCJtb3VzZXVwLnRkbmQiLGIpfXQucHJlcGFyZT1mYWxzZTt0LmZpcnN0WT0wO2lmKHQuZHJhZ2dpbmcpe2lmKHQuZHJhZ09iamVjdCl7cCh0KTt0Lm9sZFk9MDthLmVhY2godC5kcmFnT2JqZWN0LGZ1bmN0aW9uKCl7bCh0aGlzLHQpfSk7aWYodC5kcm9wU3R5bGVzKXthLmVhY2godC5kcmFnT2JqZWN0LGZ1bmN0aW9uKCl7YSh0aGlzKS5jc3ModC5kcm9wU3R5bGVzKX0pfXQuY3VycmVudFRhYmxlLnN0eWxlLmN1cnNvcj0iY3Jvc3NoYWlyIjtpZih0Lm9uRHJvcCl7dC5vbkRyb3AodC5jdXJyZW50VGFibGUsdC5kcmFnT2JqZWN0KX10LmRyYWdPYmplY3Q9bnVsbDt0LmRyYWdCb2R5PW51bGx9dC5kcmFnZ2luZz1mYWxzZTtyZXR1cm4gZmFsc2V9fWZ1bmN0aW9uIHEodil7dmFyIHc9Yyh2KTtpZighdyl7cmV0dXJuIHRydWV9dmFyIHU9di5kYXRhO2lmKHUuZHJhZ0JvZHkpe2lmKHUuZHJhZ0JvZHkhPXcudGIpe2EuZWFjaCh1LmRyYWdPYmplY3QsZnVuY3Rpb24oKXtsKHRoaXMsdSl9KTt1LmRyYWdPYmplY3Q9bnVsbDt1LmRyYWdCb2R5PXcudGJ9fWVsc2V7dS5kcmFnQm9keT13LnRifWlmKHUuZHJhZ09iamVjdCl7dmFyIHQ9YS5pbkFycmF5KHcub2IsdS5kcmFnT2JqZWN0KTtpZih0IT09LTEpe2wodS5kcmFnT2JqZWN0W3RdLHUpO2lmKHUuZHJhZ09iamVjdC5sZW5ndGg9PTEpe3UuZHJhZ09iamVjdD1udWxsfWVsc2V7dS5kcmFnT2JqZWN0LnNwbGljZSh0LDEpfX1lbHNle2lmKCFhKHcub2IpLmhhc0NsYXNzKCJub2RyYWciKSl7dS5kcmFnT2JqZWN0W3UuZHJhZ09iamVjdC5sZW5ndGhdPXcub2I7aSh3Lm9iLHUpfX19ZWxzZXtpZighYSh3Lm9iKS5oYXNDbGFzcygibm9kcmFnIikpe3UuZHJhZ09iamVjdD1bdy5vYl07aSh3Lm9iLHUpfX1yZXR1cm4gZmFsc2V9fX0pO2EuZm4uZXh0ZW5kKHt0YWJsZURuRDphLnRhYmxlRG5ELmNvbnN0cnVjdH0pfSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/include/module.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKIC8vc2hvdyBvbmx5IHRoZSBmcmFtZXNldCBmb3Igc2VsZWN0ZWQgZ2F0ZXdheQogJCgnLnNtc19nYXRld2F5X3BhbmVsJykuaGlkZSgpOwogdmFyIHZhbCA9ICQoJyNzbXNfZ2F0ZXdheScpLnZhbCgpOwogJCgnIycrdmFsKS5zaG93KCk7CiAkKCcjc21zX2dhdGV3YXknKS5jaGFuZ2UoZnVuY3Rpb24oKSB7CiAgICQoJy5zbXNfZ2F0ZXdheV9wYW5lbCcpLmhpZGUoKTsKICAgdmFyIHZhbCA9ICQoJyNzbXNfZ2F0ZXdheScpLnZhbCgpOwogICAkKCcjJyt2YWwpLnNob3coKTsKIH0pOwoKIGlmKHxQQURNfCkgewogJCgnLmdhdGVkYXRhJykudGFibGVEbkQoewogIGRyYWdDbGFzczogJ3JvdzFob3ZlcicsCiAgb25Ecm9wOiBmdW5jdGlvbih0YWJsZSwgZHJvcHJvd3MpIHsKICAgdmFyIG9kZCA9IHRydWU7CiAgIHZhciBvZGRjbGFzcyA9ICdyb3cxJzsKICAgdmFyIGV2ZW5jbGFzcyA9ICdyb3cyJzsKICAgdmFyIGRyb3Byb3cgPSAkKGRyb3Byb3dzKVswXTsKICAgJCh0YWJsZSkuZmluZCgndGJvZHkgdHInKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgdmFyIG5hbWUgPSBvZGQgPyBvZGRjbGFzcyA6IGV2ZW5jbGFzczsKICAgIGlmICh0aGlzID09PSBkcm9wcm93KSB7CiAgICAgbmFtZSA9IG5hbWUrJ2hvdmVyJzsKICAgIH0KICAgICQodGhpcykucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcyhuYW1lKTsKICAgIG9kZCA9ICFvZGQ7CiAgIH0pOwogIH0KIH0pLmZpbmQoJ3Rib2R5IHRyJykucmVtb3ZlQXR0cignb25tb3VzZW92ZXInKS5yZW1vdmVBdHRyKCdvbm1vdXNlb3V0JykubW91c2VvdmVyKGZ1bmN0aW9uKCkgewogIHZhciBub3cgPSAkKHRoaXMpLmF0dHIoJ2NsYXNzJyk7CiAgJCh0aGlzKS5hdHRyKCdjbGFzcycsIG5vdysnaG92ZXInKTsKIH0pLm1vdXNlb3V0KGZ1bmN0aW9uKCkgewogIHZhciBub3cgPSAkKHRoaXMpLmF0dHIoJ2NsYXNzJyk7CiAgdmFyIHRvID0gbm93LmluZGV4T2YoJ2hvdmVyJyk7CiAgJCh0aGlzKS5hdHRyKCdjbGFzcycsIG5vdy5zdWJzdHJpbmcoMCx0bykpOwogfSk7CiB9Cn0pOwoKZnVuY3Rpb24gcm93X3NlbGVjdGVkKGV2LGJ0bikgewogdmFyIG5tID0gYnRuLm5hbWUsCiAgYWxpYXMgPSBubS5zdWJzdHIoMCxubS5pbmRleE9mKCd+JykpOwovL2ZpbmQgY2hlY2tlZCBib3hlcyBuYW1lZCBsaWtlICJtMV88YWxpYXM+fjxmaWVsZD5+c2VsIgogdmFyIGxpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dFtuYW1lXj0iJythbGlhcysnIl06Y2hlY2tlZCcpLAogIGMgPSBsaXN0Lmxlbmd0aDsKIGlmKGMgPiAwKSB7CiAgdmFyIHN1ZmZpeCA9ICd+c2VsJywKICAgc2wgPSBzdWZmaXgubGVuZ3RoOwogIGZvciAodmFyIGk9MDsgaTxjOyBpKyspIHsKICAgbm0gPSBsaXN0W2ldLm5hbWU7CiAgIGlmKG5tLmluZGV4T2Yoc3VmZml4LG5tLmxlbmd0aCAtIHNsKSAhPT0gLTEpCiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9CiByZXR1cm4gZmFsc2U7Cn0KLy9dXT4KPC9zY3JpcHQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBHYXRld2F5LXNwZWNpZmljIHN0cmluZ3MKCiRsYW5nWydhZHZpY2VfY2xpY2thdGVsbCddID0gJzxhIGhyZWY9Imh0dHBzOi8vd3d3LmNsaWNrYXRlbGwuY29tIj48c3Ryb25nPkNsaWNrYXRlbGw8L3N0cm9uZz48L2E+IC0gd2lkZS1jb3ZlcmFnZSBnYXRld2F5LCBtaXhlZCByZXZpZXdzLic7CiRsYW5nWydkZXNjcmlwdGlvbl9jbGlja2F0ZWxsJ10gPSAnUmVsYXRpdmVseS1lYXN5LCB3aWRlLWNvdmVyYWdlIGdhdGV3YXksIG1peGVkIHJldmlld3MnOwokbGFuZ1snYXBpaWQnXSA9ICdBUEkgSUQnOwokbGFuZ1snY2xpY2thdGVsbF9hdXRoJ10gPSAnQXV0aGVudGljYXRpb24gZmFpbHVyZTogJXMnOwokbGFuZ1snY2xpY2thdGVsbF9mYWlsJ10gPSAnU2VuZCBtZXNzYWdlIHRvICVzIGZhaWxlZCc7CiRsYW5nWydjbGlja2F0ZWxsX3N1Y2Nlc3MnXSA9ICdTZW50IG1lc3NhZ2UgSUQ6ICVzIHRvICVzJzsKCiRsYW5nWydhZHZpY2VfZ29vZ2xldm9pY2UnXSA9ICc8YSBocmVmPSJodHRwOi8vdm9pY2UuZ29vZ2xlLmNvbSI+PHN0cm9uZz5Hb29nbGUgVm9pY2U8L3N0cm9uZz48L2E+IC0gZXhwZXJpbWVudGFsIChidXQgd29ya2luZyBhdCB0aGlzIHRpbWUpIHV0aWxpdHkgdG8gYWxsb3cgc2VuZGluZyBTTVMgbWVzc2FnZXMgdGhyb3VnaCBHb29nbGUgVm9pY2UuJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uX2dvb2dsZXZvaWNlJ10gPSAnVE9ETyc7CiRsYW5nWydlbWFpbCddID0gJ0VtYWlsIGFkZHJlc3MnOwoKJGxhbmdbJ2FkdmljZV9zbXNicm9hZGNhc3QnXSA9ICc8YSBocmVmPSJodHRwczovL3d3dy5zbXNicm9hZGNhc3QuY29tLmF1Ij48c3Ryb25nPlNtc2Jyb2FkY2FzdDwvc3Ryb25nPjwvYT4gLSBBdXN0cmFsaWEtb25seSBjb3ZlcmFnZSwgaGlnaGx5IHJlZ2FyZGVkJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uX3Ntc2Jyb2FkY2FzdCddID0gJ1NpbXBsZSwgQXVzdHJhbGlhLW9ubHkgY292ZXJhZ2UgZ2F0ZXdheSwgaGlnaGx5LXJhdGVkJzsKJGxhbmdbJ3JlZmVyZW5jZSddID0gJ1JlZmVyZW5jZSc7CgokbGFuZ1snYWR2aWNlX3R3aWxpbyddID0gJzxhIGhyZWY9Imh0dHBzOi8vd3d3LnR3aWxpby5jb20vc21zIj48c3Ryb25nPlR3aWxpbzwvc3Ryb25nPjwvYT4gLSBnbG9iYWwgU01TIGdhdGV3YXksIGxvdyBjb3N0LCB3ZWxsIHJlZ2FyZGVkJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uX3R3aWxpbyddID0gJ0xvdyBjb3N0LCBnbG9iYWwgZ2F0ZXdheSwgd2VsbCByZWdhcmRlZCc7CiRsYW5nWyd0b2tlbiddID0gJ1Rva2VuJzsKCiNBCiRsYW5nWydhY2NvdW50J10gPSAnQWNjb3VudCc7CiRsYW5nWydhZGRfbW9iaWxlJ10gPSAnQWRkIG51bWJlcic7CiRsYW5nWydhZGRfcGFyYW1ldGVyJ10gPSAnQWRkIHBhcmFtZXRlcic7CiRsYW5nWydhZGRfdGVtcGxhdGUnXSA9ICdBZGQgdGVtcGxhdGUnOwokbGFuZ1snYWRkZWRpdF9tb2JpbGUnXSA9ICdBZGQvRWRpdCBhIE1vYmlsZSBQaG9uZSBSZWNvcmQnOwokbGFuZ1snYXBpbmFtZSddID0gJ0FQSSBuYW1lJzsKJGxhbmdbJ2Fza19kZWxldGVfbW9iaWxlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIG1vYmlsZSBwaG9uZSBudW1iZXIgZnJvbSB0aGUgZGF0YWJhc2U/JzsKCiNCCgoKI0MKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydjb25maXJtX3VuaW5zdGFsbCddPSdZb3VcJ3JlIHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoZSBTTVMgVXRpbGl0eSBtb2R1bGU/JzsKJGxhbmdbJ2N1c3RvbSddID0gJ0N1c3RvbSc7CgojRAokbGFuZ1snZGVmYXVsdCddID0gJ0RlZmF1bHQnOwokbGFuZ1snZGVmYXVsdF9nYXRld2F5J10gPSAnRGVmYXVsdCBHYXRld2F5JzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVfdGl0bGUnXSA9ICdQcm90b3R5cGUgZm9yIG5ldyB0ZW1wbGF0ZXMnOwokbGFuZ1snZGVmYXVsdF90aXAnXSA9ICdkZWZhdWx0JzsKJGxhbmdbJ2RlZmF1bHRzZXRfdGlwJ10gPSAnbWFrZSBkZWZhdWx0JzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7CiRsYW5nWydkZWxldGVfdGlwJ10gPSAnZGVsZXRlIHNlbGVjdGVkIHBhcmFtZXRlcihzKSc7CiRsYW5nWydkZWxldGVvbmVfdGlwJ10gPSAnZGVsZXRlJzsKJGxhbmdbJ2RmbHRfZW50ZXJudW1iZXJfdGVtcGxhdGUnXSA9ICdEZWZhdWx0ICZxdW90O0VudGVyIFlvdXIgTnVtYmVyJnF1b3Q7IHRlbXBsYXRlJzsKJGxhbmdbJ2RmbHRfZW50ZXJ0ZXh0X3RlbXBsYXRlJ10gPSAnRGVmYXVsdCAmcXVvdDtFbnRlciBZb3VyIE1lc3NhZ2UgVGV4dCZxdW90OyB0ZW1wbGF0ZSc7CgojRQokbGFuZ1snZWRpdF90aXAnXSA9ICdlZGl0JzsKJGxhbmdbJ2VuYWJsZWQnXSA9ICdFbmFibGVkJzsKJGxhbmdbJ2VuY3J5cHQnXSA9ICdFbmNyeXB0JzsKJGxhbmdbJ2VudGVyX21vYmlsZV9udW1iZXInXSA9ICdFbnRlciBNb2JpbGUgUGhvbmUgTnVtYmVyJzsKJGxhbmdbJ2VudGVyX251bWJlcl90ZW1wbGF0ZXMnXSA9ICcmcXVvdDtFbnRlciBZb3VyIE51bWJlciZxdW90OyBUZW1wbGF0ZXMnOwokbGFuZ1snZW50ZXJfdGV4dF90ZW1wbGF0ZXMnXSA9ICcmcXVvdDtTZW5kIEEgTWVzc2FnZSZxdW90OyBUZW1wbGF0ZXMnOwokbGFuZ1snZXJyb3JfZGJfb3BfZmFpbGVkJ10gPSAnRGF0YWJhc2Ugb3BlcmF0aW9uIGZhaWxlZCwgcGxlYXNlIGNvbnRhY3QgdGhlIHN5c3RlbSBhZG1pbmlzdHJhdG9yJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfaW5mbyddID0gJ09uZSBvciBtb3JlIHNwZWNpZmllZCB2YWx1ZXMgYXJlIGludmFsaWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZF9udW1iZXInXSA9ICdUaGUgbW9iaWxlIHBob25lIG51bWJlciB5b3UgZW50ZXJlZCBpcyBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdGV4dCddID0gJ1RoZSB0ZXh0IHlvdSBlbnRlcmVkIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycyc7CiRsYW5nWydlcnJvcl9uYW1lX2V4aXN0cyddID0gJ0FuIGl0ZW0gYnkgdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2Vycm9yX25vZGF0YWZvdW5kJ10gPSAnTm8gZGF0YSBhcmUgYXZhaWxhYmxlJzsKJGxhbmdbJ2Vycm9yX25vZ2F0ZXdheXNmb3VuZCddID0gJ0NvdWxkIG5vdCBmaW5kIGFueSBTTVMgZ2F0ZXdheSc7CiRsYW5nWydlcnJvcl9ub3BhcmVudGNsYXNzJ10gPSAnQ291bGQgbm90IGZpbmQgdGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUnOwokbGFuZ1snZXJyb3Jfbm90Zm91bmQnXSA9ICdDb3VsZCBub3QgZmluZCB0aGUgcmVxdWVzdGVkIGl0ZW0nOwokbGFuZ1snZXZlbnRfZGVzY19kZWxpdmVyeSddID0gJ1NlbnQgd2hlbiBhIG1lc3NhZ2UtZGVsaXZlcnktcmVwb3J0IGlzIHJlY2VpdmVkIGZyb20gdGhlIGN1cnJlbnQgZ2F0ZXdheSAoaWYgc3VjaCByZXBvcnRzIGFyZSBlbmFibGVkKSc7CiRsYW5nWydldmVudF9oZWxwX2RlbGl2ZXJ5J10gPSA8PDxFT1MKUGFyYW1ldGVyczoKPG9sPgo8bGk+J2dhdGV3YXknIHRoZSBnYXRld2F5IG5hbWU8L2xpPgo8bGk+J3N0YXR1cycgdGhlIHNob3J0LWZvcm0gc3RhdHVzLWRlc2NyaXB0b3IgcmVjb3JkZWQgYnkgdGhlIGdhdGV3YXkgb2JqZWN0PC9saT4KPGxpPidtZXNzYWdlJyBhIGxvbmctZm9ybSBzdGF0dXMgbWVzc2FnZTwvbGk+CjxsaT4ndGltZXN0YW1wJyBhIGRhdGUtdGltZSBzdHJpbmcsIGZvcm1hdHRlZCBieSBzdHJmdGltZSgpIGFzICclWCAlWic8L2xpPgo8L29sPgpFT1M7CgojRgokbGFuZ1snZnJhbWVfdGl0bGUnXSA9ICclcyBTTVMgR2F0ZXdheSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTTVMgVXRpbGl0eSc7CiRsYW5nWydmcm9tJ10gPSAnRnJvbSc7CgojRwokbGFuZ1snZ2F0ZXdheXMnXSA9ICdHYXRld2F5cyc7CgojSAokbGFuZ1snaGVscF9hY3Rpb24nXSA9IDw8PEVPVApUaGlzIHBhcmFtZXRlciBpcyB1c2VkIHRvIGRlY2lkZSB0aGUgYmVoYXZvdXIgb2YgdGhlIG1vZHVsZS4gVmFsaWQgdmFsdWVzIGZvciB0aGlzIHBhcmFtZXRlciBhcmU6Cjx1bD4KPGxpPmVudGVybnVtYmVyIDxlbT4oZGVmYXVsdCk8L2VtPiAtIERpc3BsYXkgYSBsaW5rIHRvIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzZW5kIHByZS1kZWZpbmVkIHRleHQgdG8gYSB1c2VyLWRlZmluZWQgbW9iaWxlIHBob25lIG51bWJlci48L2xpPgo8bGk+ZW50ZXJ0ZXh0IC0gRGlzcGxheSBhIGxpbmsgdG8gYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNlbmQgdXNlci1kZWZpbmVkIHRleHQgdG8gYSBwcmUtZGVmaW5lZCBtb2JpbGUgcGhvbmUgbnVtYmVyLjwvbGk+CjwvdWw+CkVPVDsKJGxhbmdbJ2hlbHBfZGVzdHBhZ2UnXSA9ICdUaGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVzdWx0aW5nIGZvcm0gc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBhIGRpZmZlcmVudCBDTVNNUyBjb250ZW50IHBhZ2UgKHNwZWNpZmllZCBieSBwYWdlIGlkIG9yIGFsaWFzKSc7CiRsYW5nWydoZWxwX2RuZCddID0gJ1lvdSBjYW4gY2hhbmdlIHRoZSBvcmRlciBieSBkcmFnZ2luZyByb3cocyknOwokbGFuZ1snaGVscF9lbnRlcm51bWJlcnRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBlbnRlcm51bWJlciBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgZW50ZXJudW1iZXIgdGVtcGxhdGUgdG8gY3JlYXRlIHRoZSBmb3JtIHdpdGgnOwokbGFuZ1snaGVscF9lbnRlcnRleHR0ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgZW50ZXJ0ZXh0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBlbnRlcnRleHQgdGVtcGxhdGUgdG8gY3JlYXRlIHRoZSBmb3JtIHdpdGgnOwokbGFuZ1snaGVscF9nYXRlbmFtZSddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IGdhdGV3YXknOwokbGFuZ1snaGVscF9pbmxpbmUnXSA9ICdUaGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhhdCB0aGUgZm9ybSBzaG91bGQgcmVwbGFjZSB0aGUgbGluayAoaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBjb250ZW50IGFyZWEgb2YgdGhlIHBhZ2UpLiAgSXQgaXMgbm90IHVzZWZ1bCB3aXRoIHRoZSBkZXN0cGFnZSBwYXJhbWV0ZXInOwokbGFuZ1snaGVscF9saW5rdGV4dCddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBvdmVycmlkaW5nIHRoZSB0ZXh0IHRoYXQgaXMgZGlzcGxheWVkIGluIHRoZSBsaW5rLiBUaGlzIHBhcmFtZXRlciBoYXMgbm8gZWZmZWN0IHdoZW4gdGhlIHVybG9ubHkgcGFyYW1ldGVyIGlzIHVzZWQuJzsKJGxhbmdbJ2hlbHBfc21zbnVtJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBlbnRlcnRleHQgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBkZWZpbmVzIHRoZSBudW1lcmljIElEIG9mIGEgcHJlLWRlZmluZWQgbW9iaWxlIHBob25lIG51bWJlcic7CiRsYW5nWydoZWxwX3Ntc3RleHQnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGVudGVybnVtYmVyIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB0aGUgdGV4dCB0aGF0IHdpbGwgYmUgc2VudCBpbiB0aGUgc21zIG1lc3NhZ2UuIFRoZSB0ZXh0IGlzIG5ldmVyIGRpc3BsYXllZCBpbiB0aGUgSFRNTCBvdXRwdXQgb2YgdGhlIHBhZ2UgZm9yIHNlY3VyaXR5IHJlYXNvbnMuJzsKJGxhbmdbJ2hlbHBfc3VyZSddID0gJ0JlIDxzdHJvbmc+dmVyeSBzdXJlPC9zdHJvbmc+IGFib3V0IHdoYXQgeW91XCdyZSBkb2luZywgYmVmb3JlIG1vZGlmeWluZyBhbnl0aGluZyBleGNlcHQgdGl0bGUocykgYW5kL29yIHZhbHVlKHMpISc7CiRsYW5nWydoZWxwX3VybGNoZWNrJ10gPSAnUmVmZXIgdG8gdGhlIDxhIGhyZWY9IiVzIj4lczwvYT4gZm9yIGRldGFpbHMnOwokbGFuZ1snaGVscF91cmxvbmx5J10gPSAnVGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHRoYXQgaW5zdGVhZCBvZiBhIGZ1bGwgbGluayBvbmx5IHRoZSBVUkwgc2hvdWxkIGJlIGVjaG9lZCwgYWxsb3dpbmcgeW91IHRvIGJ1aWxkIHlvdXIgb3duIGxpbmsuJzsKJGxhbmdbJ2hlbHBfbW9kdWxlJ10gPSA8PDxFT1MKPGgzPldoYXQgZG9lcyBpdCBkbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBhbGxvd3Mgd2Vic2l0ZSB2aXNpdG9ycyB0byBlaXRoZXIgc2VuZCBhIHByZS1kZXRlcm1pbmVkIChhbmQgZW5jcnlwdGVkKSB0ZXh0CiBtZXNzYWdlIHRvIGFueSB0ZXh0IGNhcGFibGUgcGhvbmUsIG9yIHRvIGFsbG93IHNlbmRpbmcgYSB1c2VyIHNwZWNpZmllZCB0ZXh0IG1lc3NhZ2UgdG8gYSBwcmUtZGV0ZXJtaW5lZAogKGFuZCBoaWRkZW4pIG1vYmlsZSBwaG9uZSBudW1iZXIuICBJdCBpcyB1c2VmdWwgZm9yIHN1Y2ggdGhpbmdzIGFzIHNlbmRpbmcgYWRkcmVzc2VzIGZyb20gYSBkaXJlY3RvcnkgdG8gYSBtb2JpbGUgcGhvbmUgbnVtYmVyLi4uCiBvciBmb3IgbWVzc2FnaW5nIGEgd2Vic2l0ZSBhZG1pbmlzdHJhdG9yIHdpdGggdXJnZW50IGluZm9ybWF0aW9uLjwvcD4KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgo8cD5UaGUgZmlyc3QgdGhpbmcgdG8gZG8gaXMgZ3JhbnQgcmVsZXZhbnQgcGVybWlzc2lvbnMgdG8gdXNlcnMuIFRocmVlIHBlcm1pc3Npb25zIGFyZSBhdmFpbGFibGU6PC9wPgo8dWw+CjxsaT5Nb2RpZnkgbW9kdWxlIHNldHRpbmdzIG90aGVyIHRoYW4gdGVtcGxhdGVzPC9saT4KPGxpPk1vZGlmeSBtb2R1bGUgdGVtcGxhdGVzPC9saT4KPGxpPkFkbWluaXN0cmF0aW9uLCB3aGljaCBpbmNsdWRlcyB0aGUgYWJvdmUgdHdvIHBsdXMgbW9yZS1leHRlbnNpdmUgc2V0dGluZ3MgbWFuaXB1bGF0aW9uPC9saT4KPC91bD4KPHA+VGhlbiwgdmlhIHRoZSBtb2R1bGUncyBhZG1pbiBwYW5lbCAobWVudSAmcXVvdDtFeHRlbnNpb25zICZndDsmZ3Q7IFNNUyBVdGlsaXR5JnF1b3Q7KSwgcmVjb3JkIGluZm9ybWF0aW9uCmFib3V0IGhvdyB0aGUgbW9kdWxlIGlzIHRvIHdvcmsuCkNob29zZSBvbmUgb2YgdGhlIGF2YWlsYWJsZSBnYXRld2F5cyBhbmQgZW50ZXIgdGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJmYWNlIHBhcmFtZXRlcnMuCkNob29zZSB2YWx1ZXMgZm9yIG1vZHVsZSBzZXR0aW5ncyBzdWNoIGFzIHRoZSBTTVMgc2VuZGluZy1saW1pdHMgKHRvIHJlZHVjZSBzcGFtKS48L3A+CjxwPlRoZW4gcGVyZm9ybSBhdCBsZWFzdCBvbmUgdGVzdCAodGhlcmUncyBhIHRhYiBpbiB0aGUgbW9kdWxlIGFkbWluIHBhbmVsIHRvIGFsbG93IHRoaXMpIHRvIGVuc3VyZSB0aGF0IFNNUyBtZXNzYWdlcyBhcmUgYmVpbmcgc2VudCB0byB5b3VyIG1vYmlsZSBwaG9uZS48L3A+CjxiciAvPgo8cD5UaGVyZSBhcmUgdHdvIHByaW1hcnkgd2F5cyB0byB1c2UgdGhpcyBtb2R1bGUgaW4gdGhlIHdlYnNpdGUgZnJvbnQgZW5kOjwvcD4KPG9sPgogPGxpPlRvIHNlbmQgcHJlZGVmaW5lZCB0ZXh0IHRvIGEgdXNlci1zcGVjaWZpZWQgcGhvbmUgbnVtYmVyLCBwdXQgYSB0YWcgbGlrZQogPGNvZGU+e1NNU0cgYWN0aW9uPSdlbnRlcm51bWJlcicgc21zdGV4dD0ndGhlIHF1aWNrIGJyb3duIGZveCd9PC9jb2RlPiBpbnRvIGEgcGFnZSBvciB0ZW1wbGF0ZS4KIFRoYXQgY3JlYXRlcyBhIGxpbmsgdGhhdCB3aGVuIGNsaWNrZWQgd2lsbCBkaXNwbGF5IGEgZm9ybSBmb3IgdGhlIHVzZXIgdG8gZW50ZXIgYSBtb2JpbGUgcGhvbmUgbnVtYmVyLjwvcD4KIDwvbGk+CiA8bGk+VG8gc2VuZCB1c2VyLXNwZWNpZmllZCB0ZXh0IHRvIGEgcHJlZGVmaW5lZCBwaG9uZSBudW1iZXIsIHB1dCBhIHRhZyBsaWtlCiA8Y29kZT57U01TRyBhY3Rpb249J2VudGVydGV4dCcgc21zbnVtPTV9PC9jb2RlPiBpbnRvIGEgcGFnZSBvciB0ZW1wbGF0ZS4KIFRoYXQgY3JlYXRlcyBhIGxpbmsgdGhhdCB3aGVuIGNsaWNrZWQgd2lsbCBkaXNwbGF5IGEgZm9ybSBmb3IgdGhlIHVzZXIgdG8gZW50ZXIgYSAxNjAtY2hhcmFjdGVyIG1lc3NhZ2UKIHRoYXQgaXMgdGhlbiBzZW50IHRvIGEgcHJlZGV0ZXJtaW5lZCBtb2JpbGUgbnVtYmVyIChpbiB0aGUgZXhhbXBsZSwgdGhlIG9uZSB3aXRoIGlkPTUpCjwvbGk+Cjwvb2w+CjxoMz5TTVMgR2F0ZXdheXM8L2gzPgo8cD5UaGlzIG1vZHVsZSBkZXBlbmRzIG9uIHNlbGVjdGluZyBhIHN1cHBvcnRlZCBTTVMgZ2F0ZXdheSBhbmQgcmVjb3JkaW5nIHRoZSBjb3JyZXNwb25kaW5nIGF1dGhlbnRpY2F0aW9uIGFuZCBvdGhlciBwYXJhbWV0ZXJzLiBZb3Ugd2lsbCBuZWVkIHRvIHNpZ24gdXAgdG8gYXQgbGVhc3Qgb25lIG9mIHRoZSBzdXBwb3J0ZWQgZ2F0ZXdheXMuICBUaGlzIHdpbGwgdHlwaWNhbGx5IGludm9sdmUgcGF5aW5nIG1vbmV5IHRvIHRoZSBzZXJ2aWNlIHByb3ZpZGVyLjwvcD4KPHA+U01TIGdhdGV3YXlzIHdpbGwgaGF2ZSB0aGVpciBvd24gcmVxdWlyZW1lbnRzIGFuZCBsaW1pdGF0aW9ucyBvbiB0aGUgYW1vdW50LCBzaXplLCBzb3VyY2UsIGFuZCBkZXN0aW5hdGlvbiBtZXNzYWdlcyB0aGF0IGNhbiBiZSBzZW50LiBJdCBpcyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIHVuZGVyc3RhbmQgdGhlc2UgbGltaXRhdGlvbnMuPC9wPgo8cD5DdXJyZW50bHksIHRoZXNlIGdhdGV3YXlzIGFyZSBpbXBsZW1lbnRlZDo8L3A+Cjx1bD4KPGxpPnskbGFuZ1snYWR2aWNlX2NsaWNrYXRlbGwnXX08L2xpPgo8bGk+eyRsYW5nWydhZHZpY2VfZ29vZ2xldm9pY2UnXX08L2xpPgo8bGk+eyRsYW5nWydhZHZpY2Vfc21zYnJvYWRjYXN0J119PC9saT4KPGxpPnskbGFuZ1snYWR2aWNlX3R3aWxpbyddfTwvbGk+CjwvdWw+CjxoMz5FeHRyYSBnYXRld2F5czwvaDM+CjxwPkEgUEhQLWNsYXNzIG11c3QgYmUgY3JlYXRlZCBmb3IgZWFjaCBnYXRld2F5LiBSZWZlciB0byB0aGUgUkVBRE1FIGRvY3VtZW50IGluIHRoZSBtb2R1bGUgZm9sZGVyIC4uLi9saWIvZ2F0ZXdheXMuPC9wPgo8cD5JZiB5b3UgYXNrIDxzdHJvbmc+cmVhbGx5IG5pY2VseTwvc3Ryb25nPiwgYW5kIHlvdSBjYW4gb2ZmZXIgc29tZSBzb3J0IG9mIHNlcnZpY2UgaW4gcmV0dXJuLCB0aGUgYXV0aG9yIG1pZ2h0IHBlcmhhcHMgYmUgcGVyc3VhZGVkIHRvIGFkZCBzdXBwb3J0IGZvciBzb21lIG90aGVyIGdhdGV3YXkuPC9wPgo8aDM+QVBJPC9oMz4KPHA+VGhpcyBtb2R1bGUgY29udGFpbnMgYSBzaW1wbGUgQVBJIGZvciBzZW5kaW5nIFNNUyBtZXNzYWdlcyBmcm9tIG90aGVyIG1vZHVsZXMgb3IgZnJvbSBVRFRzLgpUaGUgQVBJIGlzIHNldCBvdXQgaW4gZmlsZSAuLi4vbGliL2NsYXNzLnNtc19nYXRld2F5X2Jhc2UucGhwLiBJbiBzdW1tYXJ5LCBpdCBjb21wcmlzZXM8L3A+Cjx1bD4KPGxpPmdldF9hbGlhcygpPC9saT4KPGxpPmdldF9kZXNjcmlwdGlvbigpPC9saT4KPGxpPmdldF9uYW1lKCk8L2xpPgo8bGk+Z2V0X3N0YXR1cygpPC9saT4KPGxpPmdldF9zdGF0dXNtc2coKTwvbGk+CjxsaT5tdWx0aV9udW1iZXJfc2VwYXJhdG9yKCk8L2xpPgo8bGk+cmVxdWlyZV9jb3VudHJ5X3ByZWZpeCgpPC9saT4KPGxpPnJlcXVpcmVfcGx1c19wcmVmaXgoKTwvbGk+CjxsaT5yZXNldCgpPC9saT4KPGxpPnNlbmQoKTwvbGk+CjxsaT5zZXRfZnJvbShcJGZyb20pPC9saT4KPGxpPnNldF9tc2coXCRtc2cpPC9saT4KPGxpPnNldF9udW0oXCRudW0pPC9saT4KPGxpPnN1cHBvcnRfY3VzdG9tX3NlbmRlcigpPC9saT4KPGxpPnN1cHBvcnRfbW1zKCk8L2xpPgo8L3VsPgo8cD5BIGJyaWVmIGV4YW1wbGUgb2YgaG93IHRvIHVzZSBpdCBpczoKPHByZSBzdHlsZT0ibWFyZ2luLWxlZnQ6IDJlbTsiPjxjb2RlPgpcJGdhdGV3YXkgPSBzbXNnX3V0aWxzOjpnZXRfZ2F0ZXdheSgpOwpcJGdhdGV3YXktPnNldF9tc2coJ2hlbGxvIHdvcmxkJyk7ClwkZ2F0ZXdheS0+c2V0X251bSgnMTIyMjU1NTEyMTInKTsKXCRnYXRld2F5LT5zZW5kKCk7CjwvY29kZT48L3ByZT48L3A+CjxoMz5TZWN1cml0eTwvaDM+CjxwPkF0dGVtcHRzIGhhdmUgYmVlbiBtYWRlIHRvIGVuc3VyZSBhIHJlYXNvbmFibGUgbGV2ZWwgb2Ygc2VjdXJpdHkgYXQgYWxsIHRpbWVzLgpUaGlzIGlzIGFjY29tcGxpc2hlZCBpbiBhIHZhcmlldHkgb2Ygd2F5czo8L3A+CjxvbD4KPGxpPkFsbCB0ZXh0IG1lc3NhZ2VzIGFyZSBjaGVja2VkIGZvciBsZW5ndGggbGltaXRzIGFuZCB2YWxpZCBjaGFyYWN0ZXJzLCBiZWZvcmUgc2VuZGluZy48L2xpPgo8bGk+QWxsIHRleHQgbWVzc2FnZXMgYXJlIHJlY29yZGVkIGluIHRoZSBkYXRhYmFzZSwgaW5jbHVkaW5nIHRoZSBJUCBhZGRyZXNzIG9mIHRoZSBzZW5kZXIuPC9saT4KPGxpPkJlZm9yZSBhbnkgdGV4dCBtZXNzYWdlIGlzIHNlbnQsIHRoZXJlJ3MgYSBjaGVjayB0aGF0IHRoZSBhbGxvd2VkIG1heGltdW0gKGRhaWx5LCBob3VybHkpIGNvdW50cyBvZiBtZXNzYWdlcyBmcm9tIHRoYXQgSVAgYWRkcmVzcyBoYXZlIG5vdCBiZWVuIGV4Y2VlZGVkLjwvbGk+CjxsaT5XaGVuIHNlbmRpbmcgdG8gYSBwcmUtZGVmaW5lZCBwaG9uZSwgdGhlIGRlc3RpbmF0aW9uIG51bWJlciBpcyBoaWRkZW4gZnJvbSB0aGUgaW5pdGlhdG9yLCB0byBwcmV2ZW50IHNwYW1taW5nLjwvbGk+CjxsaT5XaGVuIHNlbmRpbmcgYSBtZXNzYWdlLCB0aGUgbWVzc2FnZSB0ZXh0IGlzIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UgYW5kIGNhbm5vdCBiZSBhbHRlcmVkLjwvbGk+Cjwvb2w+CjxoMz5SZXF1aXJlbWVudHM6PC9oMz4KPHVsPgo8bGk+Q01TIE1hZGUgU2ltcGxlIDEuOSs8L2xpPgo8bGk+UEhQIDUuMisgKDUuMi4xMSsgaXMgcmVjb21tZW5kZWQpPC9saT4KPGxpPkF1dGhvcml0eSB0byB1c2UgYXQgbGVhc3Qgb25lIHN1cG9ydGVkIGdhdGV3YXk8L2xpPgo8bGk+VGhlIHdlYnNpdGUgaG9zdCBtdXN0IGFsbG93IG91dGdvaW5nIEhUVFAgY29ubmVjdGlvbnM8L2xpPgo8L3VsPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+CjxwPkZvciBoZWxwOjwvcD4KPHVsPgo8bGk+ZGlzY3Vzc2lvbiBtYXkgYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT47IG9yPC9saT4KPGxpPnlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPgo8L3VsPgo8cD5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUsIG9yIHRvIHJlcG9ydCBhIGJ1ZywgdmlzaXQgdGhlIG1vZHVsZSdzIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZyI+Zm9yZ2UtcGFnZTwvYT4uPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+UG9ydGlvbnMgY29weXJpZ2h0ICZjb3B5OyAyMDE1IFRvbSBQaGFuZSAmbHQ7dHBnd3dAb25lcG9zdC5uZXQmZ3Q7LjxiciAvPgpQb3J0aW9ucyBjb3B5cmlnaHQgJmNvcHk7IDIwMTAgUm9iZXJ0IENhbXBiZWxsICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0Oy48YnIgLz4KQWxsIHJpZ2h0cyByZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGlzIGZyZWUgc29mdHdhcmUuIEl0IG1heSBiZSByZWRpc3RyaWJ1dGVkIGFuZC9vciBtb2RpZmllZAp1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPlRoaXMgbW9kdWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQo8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNBR1BMIj5HTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2U8L2E+IGZvciBtb3JlIGRldGFpbHMuPC9wPgpFT1M7CiRsYW5nWydoZWxwdGl0bGUnXSA9ICdIZWxwJzsKCiNJCiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2luZm9fZW50ZXJudW1iZXJfdGVtcGxhdGVzJ10gPSAnVGhpcyB0ZW1wbGF0ZSBhbGxvd3Mgd2Vic2l0ZSB2aXNpdG9ycyB0byBlbnRlciBhIG1vYmlsZSBwaG9uZSBudW1iZXIgdG8gcmVjZWl2ZSBhIHByZWRlZmluZWQgdGV4dCBtZXNzYWdlLic7CiRsYW5nWydpbmZvX2VudGVydGV4dF90ZW1wbGF0ZXMnXSA9ICdUaGlzIHRlbXBsYXRlIGFsbG93cyB3ZWJzaXRlIHZpc2l0b3JzIHRvIGVudGVyIGEgbWVzc2FnZSB0aGF0IHdpbGwgYmUgc2VudCB0byBhIHByZWRlZmluZWQgbW9iaWxlIHBob25lIG51bWJlci4nOwokbGFuZ1snaW5mb19zbXN0ZXN0J10gPSA8PDxFT1MKVG8gdGVzdCB3aGV0aGVyIHRoZSBzZXR0aW5ncyBmb3IgdGhlIGRlZmF1bHQgU01TIGdhdGV3YXkgYXJlIGNvcnJlY3QsIHlvdSBjYW4gc2VuZCBhIG1lc3NhZ2UgdG8gdGhlIHNwZWNpZmllZCBtb2JpbGUgcGhvbmUgbnVtYmVyLgpQbGVhc2UgYmUgYXdhcmUgdGhhdCBpdCBtYXkgdGFrZSBzZXZlcmFsIG1pbnV0ZXMgYmVmb3JlIHRoZSBwaG9uZSByZWNlaXZlcyB0aGUgbWVzc2FnZS4KRU9TOwokbGFuZ1snaW5mb19zeXNkZmx0X2VudGVybnVtYmVyX3RlbXBsYXRlJ10gPSAnVGhpcyBpcyB0aGUgc3RhcnRpbmcgcG9pbnQgZm9yIGNyZWF0aW5nIG5ldyBcJ2VudGVyIG51bWJlclwnIHRlbXBsYXRlcy4gQWx0ZXJpbmcgdGhpcyB0ZW1wbGF0ZSB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiBhbnl0aGluZyBkaXNwbGF5ZWQgb24gdGhlIHdlYnNpdGUuJzsKJGxhbmdbJ2luZm9fc3lzZGZsdF9lbnRlcnRleHRfdGVtcGxhdGUnXSA9ICdUaGlzIGlzIHRoZSBzdGFydGluZyBwb2ludCBmb3IgY3JlYXRpbmcgbmV3IFwnZW50ZXIgdGV4dFwnIHRlbXBsYXRlcy4gQWx0ZXJpbmcgdGhpcyB0ZW1wbGF0ZSB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiBhbnl0aGluZyBkaXNwbGF5ZWQgb24gdGhlIHdlYnNpdGUuJzsKCiNKCgoKI0sKCgojTAokbGFuZ1snbG9naW4nXSA9ICdMb2dpbic7CgojTQokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgdG8gYWxsb3cgc2VuZGluZyBvZiBTTVMgbWVzc2FnZXMgZnJvbSB3aXRoaW4gYSBDTVMgTWFkZSBTaW1wbGUgV2Vic2l0ZSc7CiRsYW5nWydtc2dfcmVjX2RlbGV0ZWQnXSA9ICdNb2JpbGUgTnVtYmVyIERlbGV0ZWQnOwoKI04KJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsKJGxhbmdbJ25vbnVtYmVycyddID0gJ05vIG51bWJlciBpcyByZWNvcmRlZCc7CiRsYW5nWydudW1iZXInXSA9ICdOdW1iZXInOwoKI08KCgojUAokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzd29yZCc7CiRsYW5nWydwZXJtX2FkbWluJ10gPSAnQWRtaW5pc3RlciBTTVMgR2F0ZXdheXMnOwokbGFuZ1sncGVybV9tb2RpZnknXSA9ICdNb2RpZnkgU01TIEdhdGV3YXkgU2V0dGluZ3MnOwokbGFuZ1sncGVybV90ZW1wbGF0ZXMnXSA9ICdNb2RpZnkgU01TIEdhdGV3YXkgVGVtcGxhdGVzJzsKJGxhbmdbJ3Blcm1fdXNlJ10gPSAnVXNlIFNNUyBHYXRld2F5cyc7CiRsYW5nWydwaG9uZV9udW1iZXInXSA9ICdQaG9uZSBudW1iZXInOwokbGFuZ1sncGhvbmVfbnVtYmVycyddID0gJ1Bob25lcyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJGxhbmdbJ2ZyaWVuZGx5bmFtZSddLicgbW9kdWxlIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQsIG5vdyBwbGVhc2UgZW5zdXJlIHRoYXQgaXQgaXMgY29uZmlndXJlZCBwcm9wZXJseSBmb3IgdXNlLCBhbmQgYXBwbHkgcmVsYXRlZCBwZXJtaXNzaW9ucyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAkbGFuZ1snZnJpZW5kbHluYW1lJ10uICcgbW9kdWxlIHN1Y2Nlc3NmdWxseSByZW1vdmVkJzsKJGxhbmdbJ3Byb21wdF9kYWlseV9saW1pdCddID0gJ051bWJlciBvZiBtZXNzYWdlcyB0aGF0IGNhbiBiZSBzZW50IGJ5IG9uZSBJUCBhZGRyZXNzIHBlciBkYXknOwokbGFuZ1sncHJvbXB0X2hvdXJseV9saW1pdCddID0gJ051bWJlciBvZiBtZXNzYWdlcyB0aGF0IGNhbiBiZSBzZW50IGJ5IG9uZSBJUCBhZGRyZXNzIHBlciBob3VyJzsKJGxhbmdbJ3Byb21wdF9sb2dfZGVsaXZlcnMnXSA9ICdSZWNvcmQgaW4gdGhlIGFkbWluIGxvZyBpbmZvcm1hdGlvbiBhYm91dCByZWNlaXZlZCBnYXRld2F5LWRlbGl2ZXJ5LXJlcG9ydHMnOwokbGFuZ1sncHJvbXB0X2xvZ19zZW5kcyddID0gJ0tlZXAgbG9jYWwgcmVjb3JkcyBvZiBzZW50IG1lc3NhZ2VzJzsKJGxhbmdbJ3Byb21wdF9sb2dfcmV0YWluX2RheXMnXSA9ICdOdW1iZXIgb2YgZGF5cyB0aGF0IGxvY2FsIHJlY29yZHMgKGlmIGVuYWJsZWQpIHdpbGwgYmUgcmV0YWluZWQnOwokbGFuZ1sncHJvbXB0X21hc3Rlcl9wYXNzd29yZCddID0gJ01hc3RlciBQYXNzd29yZCc7CgojUQoKCiNSCiRsYW5nWydyZXBvcnRpbmdfdXJsJ10gPSAnVVJMIHRvIHdoaWNoIHRoZSBTTVMgZ2F0ZXdheSBjYW4gc2VuZCBkZWxpdmVyeSByZXBvcnRzJzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVzZXQnOwokbGFuZ1sncmVzZXRfdGlwJ10gPSAncmV2ZXJ0IHRvIGZhY3RvcnkgZGVmYXVsdCc7CgoKI1MKJGxhbmdbJ3NhbXBsZSddID0gJ1NhbXBsZSc7CiRsYW5nWydzZWN1cml0eV90YWJfbGJsJ10gPSAnU2VjdXJpdHkgLyBBbnRpLVNwYW0nOwokbGFuZ1snc2VsZWN0J10gPSAnU2VsZWN0JzsKJGxhbmdbJ3NlbmQnXSA9ICdTZW5kJzsKJGxhbmdbJ3NlbmRfbWVfbWVzc2FnZSddID0gJ1NlbmQgbWUgYW4gU01TJzsKJGxhbmdbJ3NlbmRfdG9fbW9iaWxlJ10gPSAnU2VuZCB0byBtb2JpbGUnOwokbGFuZ1snc21zX21lc3NhZ2Vfc2VudCddID0gJ1lvdXIgbWVzc2FnZSBoYXMgYmVlbiBzZW50Li4uIEFjdHVhbCBkZWxpdmVyeSB0aW1lIG1heSB2YXJ5JzsKJGxhbmdbJ3Ntc19zZW50J10gPSAnU01TIE1lc3NhZ2UgIiVzIiBzZW50IHRvICVzIGZyb20gSVA6JXMgU01TSUQ9JXMnOwokbGFuZ1snc21zX2RlbGl2ZXJ5X29rJ10gPSAnU01TIE1lc3NhZ2UgSUQ6JXMgZGVsaXZlcmVkIHRvICVzIElQOiVzJzsKJGxhbmdbJ3Ntc19kZWxpdmVyeV9iaWxsaW5nJ10gPSAnU01TIE1lc3NhZ2UgSUQ6JXMgYmlsbGluZyBlcnJvciBhdCAlcy4gSVA6JXMnOwokbGFuZ1snc21zX2RlbGl2ZXJ5X2ludmFsaWQnXSA9ICdTTVMgTWVzc2FnZSBJRDolcyBmYWlsZWQgKGJhcnJlZCBvciBpbnZhbGlkIG51bWJlcjogJXMpIElQOiVzJzsKJGxhbmdbJ3Ntc19kZWxpdmVyeV9vdGhlciddID0gJ1NNUyBNZXNzYWdlIElEOiVzIG90aGVyIGVycm9yIChmaWx0ZXJlZCBvciBtaXNjIGVycm9yIHRvICVzKSBJUDogJXMnOwokbGFuZ1snc21zX2RlbGl2ZXJ5X3BlbmRpbmcnXSA9ICdTTVMgTWVzc2FnZSBJRDolcyBwZW5kaW5nIHRvICVzIElQOiVzJzsKJGxhbmdbJ3Ntc19kZWxpdmVyeV91bmtub3duJ10gPSAnU01TIE1lc3NhZ2UgSUQ6JXMgdW5rbm93biBlcnJvciBhdCAlcy4gSVA6JXMnOwokbGFuZ1snc21zX2Vycm9yX2F1dGgnXSA9ICdBdXRoZW50aWNhdGlvbiBFcnJvciBhdHRlbXB0aW5nIHRvIHNlbmQgU01TIE1lc3NhZ2UgIiVzIiB0byAlcyBmcm9tIElQOiVzJzsKJGxhbmdbJ3Ntc19lcnJvcl9ibG9ja2VkJ10gPSAnQXR0ZW1wdCB0byBzZW5kIFNNUyBNZXNzYWdlICIlcyIgdG8gJXMgZnJvbSBJUDolcyc7CiRsYW5nWydzbXNfZXJyb3JfaW52YWxpZF9kYXRhJ10gPSAnRGF0YSBFcnJvciBhdHRlbXB0aW5nIHRvIHNlbmQgU01TIE1lc3NhZ2UgIiVzIiB0byAlcyBmcm9tIElQOiVzJzsKJGxhbmdbJ3Ntc19lcnJvcl9saW1pdCddID0gJ0xpbWl0IEVycm9yIGF0dGVtcHRpbmcgdG8gc2VuZCBTTVMgTWVzc2FnZSAiJXMiIHRvICVzIGZyb20gSVA6JXMnOwokbGFuZ1snc21zX2Vycm9yX290aGVyJ10gPSAnVW5rbm93biBFcnJvciAoJXMpIGF0dGVtcHRpbmcgdG8gc2VuZCBTTVMgTWVzc2FnZSAiJXMiIHRvICVzIGZyb20gSVA6JXMnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ3N1cmVfYXNrJ10gPSAnQXJlIHlvdSBzdXJlID8nOwoKI1QKJGxhbmdbJ3Rhc2tkZXNjcmlwdGlvbl9jbGVhcmxvZyddID0gJ1JlbW92ZSBvbGQgbG9nIGRhdGEnOwokbGFuZ1sndGVtcGxhdGVfc2F2ZWQnXSA9ICdUZW1wbGF0ZSBzYXZlZCc7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdCc7CiRsYW5nWyd0ZXN0X21lc3NhZ2UnXSA9ICdUZXN0IG1lc3NhZ2UgZnJvbSAlcyc7CiRsYW5nWyd0aXRsZSddID0gJ0Rpc3BsYXllZCB0aXRsZSc7CiRsYW5nWyd0aXRsZV9lbnRlcm51bWJlcl90ZW1wbGF0ZXMnXSA9ICcmcXVvdDtFbnRlciBZb3VyIE51bWJlciZxdW90OyB0ZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9lbnRlcnRleHRfdGVtcGxhdGVzJ10gPSAnJnF1b3Q7RW50ZXIgWW91ciBNZXNzYWdlJnF1b3Q7IHRlbXBsYXRlJzsKCiNVCiRsYW5nWyd1c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKCiNWCiRsYW5nWyd2YWx1ZSddID0gJ1ZhbHVlJzsKCgojVwoKCiNYCgoKI1kKJGxhbmdbJ3llcyddID0gJ1llcyc7CgojWgoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.Encryption.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEEgY2xhc3MgdG8gaGFuZGxlIHNlY3VyZSBlbmNyeXB0aW9uIGFuZCBkZWNyeXB0aW9uIG9mIGFyYml0cmFyeSBkYXRhCiAqCiAqIE5vdGUgdGhhdCB0aGlzIGlzIG5vdCBqdXN0IHN0cmFpZ2h0IGVuY3J5cHRpb24uICBJdCBhbHNvIGhhcyBhIGZldyBvdGhlcgogKiAgZmVhdHVyZXMgaW4gaXQgdG8gbWFrZSB0aGUgZW5jcnlwdGVkIGRhdGEgZmFyIG1vcmUgc2VjdXJlLiAgTm90ZSB0aGF0IGFueQogKiAgb3RoZXIgaW1wbGVtZW50YXRpb25zIHVzZWQgdG8gZGVjcnlwdCBkYXRhIHdpbGwgaGF2ZSB0byBkbyB0aGUgc2FtZSBleGFjdAogKiAgb3BlcmF0aW9ucy4gIAogKgogKiBTZWN1cml0eSBCZW5lZml0czoKICoKICogLSBVc2VzIEtleSBzdHJldGNoaW5nCiAqIC0gSGlkZXMgdGhlIEluaXRpYWxpemF0aW9uIFZlY3RvcgogKiAtIERvZXMgSE1BQyB2ZXJpZmljYXRpb24gb2Ygc291cmNlIGRhdGEKICoKICogU2VlIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTA4OTg0MS90d28td2F5LWVuY3J5cHRpb24taS1uZWVkLXRvLXN0b3JlLXBhc3N3b3Jkcy10aGF0LWNhbi1iZS1yZXRyaWV2ZWQKICoKICogVXNhZ2U6CiAqICRlID0gbmV3IEVuY3J5cHRpb24oTUNSWVBUX0JMT1dGSVNILCBNQ1JZUFRfTU9ERV9DQkMpOwogKiAkZW5jcnlwdGVkRGF0YSA9ICRlLT5lbmNyeXB0KCRkYXRhLCRrZXkpOwogKiBUaGVuLCB0byBkZWNyeXB0OgogKiAkZSA9IG5ldyBFbmNyeXB0aW9uKE1DUllQVF9CTE9XRklTSCwgTUNSWVBUX01PREVfQ0JDKTsKICogJGRhdGEgPSAkZTItPmRlY3J5cHQoJGVuY3J5cHRlZERhdGEsJGtleSk7CiAqLwpjbGFzcyBFbmNyeXB0aW9uIHsKCiAgICAvKioKICAgICAqIEB2YXIgc3RyaW5nICRjaXBoZXIgVGhlIG1jcnlwdCBjaXBoZXIgdG8gdXNlIGZvciB0aGlzIGluc3RhbmNlCiAgICAgKi8KICAgIHByb3RlY3RlZCAkY2lwaGVyID0gJyc7CgogICAgLyoqCiAgICAgKiBAdmFyIGludCAkbW9kZSBUaGUgbWNyeXB0IGNpcGhlciBtb2RlIHRvIHVzZQogICAgICovCiAgICBwcm90ZWN0ZWQgJG1vZGUgPSAnJzsKCiAgICAvKioKICAgICAqIEB2YXIgaW50ICRyb3VuZHMgVGhlIG51bWJlciBvZiByb3VuZHMgdG8gZmVlZCBpbnRvIFBCS0RGMiBmb3Iga2V5IGdlbmVyYXRpb24KICAgICAqLwogICAgcHJvdGVjdGVkICRyb3VuZHMgPSAxMDA7CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RvciEKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjaXBoZXIgVGhlIE1DUllQVF8qIGN5cGhlciB0byB1c2UgZm9yIHRoaXMgaW5zdGFuY2UKICAgICAqIEBwYXJhbSBpbnQgICAgJG1vZGUgICBUaGUgTUNSWVBUX01PREVfKiBtb2RlIHRvIHVzZSBmb3IgdGhpcyBpbnN0YW5jZQogICAgICogQHBhcmFtIGludCAgICAkcm91bmRzIFRoZSBudW1iZXIgb2YgUEJLREYyIHJvdW5kcyB0byBkbyBvbiB0aGUga2V5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY2lwaGVyLCAkbW9kZSwgJHJvdW5kcyA9IDEwMCkgewogICAgICAgICR0aGlzLT5jaXBoZXIgPSAkY2lwaGVyOwogICAgICAgICR0aGlzLT5tb2RlID0gJG1vZGU7CiAgICAgICAgJHRoaXMtPnJvdW5kcyA9IChpbnQpICRyb3VuZHM7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZWNyeXB0IHRoZSBkYXRhIHdpdGggdGhlIHByb3ZpZGVkIGtleQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGRhdGEgVGhlIGVuY3J5cHRlZCBkYXRhdCB0byBkZWNyeXB0CiAgICAgKiBAcGFyYW0gc3RyaW5nICRrZXkgIFRoZSBrZXkgdG8gdXNlIGZvciBkZWNyeXB0aW9uCiAgICAgKiAKICAgICAqIEByZXR1cm5zIHN0cmluZ3xmYWxzZSBUaGUgcmV0dXJuZWQgc3RyaW5nIGlmIGRlY3J5cHRpb24gaXMgc3VjY2Vzc2Z1bAogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSBpZiBpdCBpcyBub3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRlY3J5cHQoJGRhdGEsICRrZXkpIHsKICAgICAgICAkc2FsdCA9IHN1YnN0cigkZGF0YSwgMCwgMTI4KTsKICAgICAgICAkZW5jID0gc3Vic3RyKCRkYXRhLCAxMjgsIC02NCk7CiAgICAgICAgJG1hYyA9IHN1YnN0cigkZGF0YSwgLTY0KTsKCiAgICAgICAgbGlzdCAoJGNpcGhlcktleSwgJG1hY0tleSwgJGl2KSA9ICR0aGlzLT5nZXRLZXlzKCRzYWx0LCAka2V5KTsKCiAgICAgICAgaWYgKCRtYWMgIT09IGhhc2hfaG1hYygnc2hhNTEyJywgJGVuYywgJG1hY0tleSwgdHJ1ZSkpIHsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICRkZWMgPSBtY3J5cHRfZGVjcnlwdCgkdGhpcy0+Y2lwaGVyLCAkY2lwaGVyS2V5LCAkZW5jLCAkdGhpcy0+bW9kZSwgJGl2KTsKCiAgICAgICAgJGRhdGEgPSAkdGhpcy0+dW5wYWQoJGRlYyk7CgogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICAvKioKICAgICAqIEVuY3J5cHQgdGhlIHN1cHBsaWVkIGRhdGEgdXNpbmcgdGhlIHN1cHBsaWVkIGtleQogICAgICogCiAgICAgKiBAcGFyYW0gc3RyaW5nICRkYXRhIFRoZSBkYXRhIHRvIGVuY3J5cHQKICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSAgVGhlIGtleSB0byBlbmNyeXB0IHdpdGgKICAgICAqCiAgICAgKiBAcmV0dXJucyBzdHJpbmcgVGhlIGVuY3J5cHRlZCBkYXRhCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBlbmNyeXB0KCRkYXRhLCAka2V5KSB7CiAgICAgICAgJHNhbHQgPSBtY3J5cHRfY3JlYXRlX2l2KDEyOCwgTUNSWVBUX0RFVl9VUkFORE9NKTsKICAgICAgICBsaXN0ICgkY2lwaGVyS2V5LCAkbWFjS2V5LCAkaXYpID0gJHRoaXMtPmdldEtleXMoJHNhbHQsICRrZXkpOwoKICAgICAgICAkZGF0YSA9ICR0aGlzLT5wYWQoJGRhdGEpOwoKICAgICAgICAkZW5jID0gbWNyeXB0X2VuY3J5cHQoJHRoaXMtPmNpcGhlciwgJGNpcGhlcktleSwgJGRhdGEsICR0aGlzLT5tb2RlLCAkaXYpOwoKICAgICAgICAkbWFjID0gaGFzaF9obWFjKCdzaGE1MTInLCAkZW5jLCAkbWFjS2V5LCB0cnVlKTsKICAgICAgICByZXR1cm4gJHNhbHQgLiAkZW5jIC4gJG1hYzsKICAgIH0KCiAgICAvKioKICAgICAqIEdlbmVyYXRlcyBhIHNldCBvZiBrZXlzIGdpdmVuIGEgcmFuZG9tIHNhbHQgYW5kIGEgbWFzdGVyIGtleQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHNhbHQgQSByYW5kb20gc3RyaW5nIHRvIGNoYW5nZSB0aGUga2V5cyBlYWNoIGVuY3J5cHRpb24KICAgICAqIEBwYXJhbSBzdHJpbmcgJGtleSAgVGhlIHN1cHBsaWVkIGtleSB0byBlbmNyeXB0IHdpdGgKICAgICAqCiAgICAgKiBAcmV0dXJucyBhcnJheSBBbiBhcnJheSBvZiBrZXlzIChhIGNpcGhlciBrZXksIGEgbWFjIGtleSwgYW5kIGEgSVYpCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRLZXlzKCRzYWx0LCAka2V5KSB7CiAgICAgICAgJGl2U2l6ZSA9IG1jcnlwdF9nZXRfaXZfc2l6ZSgkdGhpcy0+Y2lwaGVyLCAkdGhpcy0+bW9kZSk7CiAgICAgICAgJGtleVNpemUgPSBtY3J5cHRfZ2V0X2tleV9zaXplKCR0aGlzLT5jaXBoZXIsICR0aGlzLT5tb2RlKTsKICAgICAgICAkbGVuZ3RoID0gMiAqICRrZXlTaXplICsgJGl2U2l6ZTsKCiAgICAgICAgJGtleSA9ICR0aGlzLT5wYmtkZjIoJ3NoYTUxMicsICRrZXksICRzYWx0LCAkdGhpcy0+cm91bmRzLCAkbGVuZ3RoKTsKCiAgICAgICAgJGNpcGhlcktleSA9IHN1YnN0cigka2V5LCAwLCAka2V5U2l6ZSk7CiAgICAgICAgJG1hY0tleSA9IHN1YnN0cigka2V5LCAka2V5U2l6ZSwgJGtleVNpemUpOwogICAgICAgICRpdiA9IHN1YnN0cigka2V5LCAyICogJGtleVNpemUpOwogICAgICAgIHJldHVybiBhcnJheSgkY2lwaGVyS2V5LCAkbWFjS2V5LCAkaXYpOwogICAgfQoKICAgIC8qKgogICAgICogU3RyZXRjaCB0aGUga2V5IHVzaW5nIHRoZSBQQktERjIgYWxnb3JpdGhtCiAgICAgKgogICAgICogQHNlZSBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1BCS0RGMgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGFsZ28gICBUaGUgYWxnb3JpdGhtIHRvIHVzZQogICAgICogQHBhcmFtIHN0cmluZyAka2V5ICAgIFRoZSBrZXkgdG8gc3RyZXRjaAogICAgICogQHBhcmFtIHN0cmluZyAkc2FsdCAgIEEgcmFuZG9tIHNhbHQKICAgICAqIEBwYXJhbSBpbnQgICAgJHJvdW5kcyBUaGUgbnVtYmVyIG9mIHJvdW5kcyB0byBkZXJpdmUKICAgICAqIEBwYXJhbSBpbnQgICAgJGxlbmd0aCBUaGUgbGVuZ3RoIG9mIHRoZSBvdXRwdXQga2V5CiAgICAgKgogICAgICogQHJldHVybnMgc3RyaW5nIFRoZSBkZXJpdmVkIGtleS4KICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHBia2RmMigkYWxnbywgJGtleSwgJHNhbHQsICRyb3VuZHMsICRsZW5ndGgpIHsKICAgICAgICAkc2l6ZSAgID0gc3RybGVuKGhhc2goJGFsZ28sICcnLCB0cnVlKSk7CiAgICAgICAgJGxlbiAgICA9IGNlaWwoJGxlbmd0aCAvICRzaXplKTsKICAgICAgICAkcmVzdWx0ID0gJyc7CiAgICAgICAgZm9yICgkaSA9IDE7ICRpIDw9ICRsZW47ICRpKyspIHsKICAgICAgICAgICAgJHRtcCA9IGhhc2hfaG1hYygkYWxnbywgJHNhbHQgLiBwYWNrKCdOJywgJGkpLCAka2V5LCB0cnVlKTsKICAgICAgICAgICAgJHJlcyA9ICR0bXA7CiAgICAgICAgICAgIGZvciAoJGogPSAxOyAkaiA8ICRyb3VuZHM7ICRqKyspIHsKICAgICAgICAgICAgICAgICAkdG1wICA9IGhhc2hfaG1hYygkYWxnbywgJHRtcCwgJGtleSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgJHJlcyBePSAkdG1wOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRyZXN1bHQgLj0gJHJlczsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHN1YnN0cigkcmVzdWx0LCAwLCAkbGVuZ3RoKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcGFkKCRkYXRhKSB7CiAgICAgICAgJGxlbmd0aCA9IG1jcnlwdF9nZXRfYmxvY2tfc2l6ZSgkdGhpcy0+Y2lwaGVyLCAkdGhpcy0+bW9kZSk7CiAgICAgICAgJHBhZEFtb3VudCA9ICRsZW5ndGggLSBzdHJsZW4oJGRhdGEpICUgJGxlbmd0aDsKICAgICAgICBpZiAoJHBhZEFtb3VudCA9PSAwKSB7CiAgICAgICAgICAgICRwYWRBbW91bnQgPSAkbGVuZ3RoOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGRhdGEgLiBzdHJfcmVwZWF0KGNocigkcGFkQW1vdW50KSwgJHBhZEFtb3VudCk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHVucGFkKCRkYXRhKSB7CiAgICAgICAgJGxlbmd0aCA9IG1jcnlwdF9nZXRfYmxvY2tfc2l6ZSgkdGhpcy0+Y2lwaGVyLCAkdGhpcy0+bW9kZSk7CiAgICAgICAgJGxhc3QgPSBvcmQoJGRhdGFbc3RybGVuKCRkYXRhKSAtIDFdKTsKICAgICAgICBpZiAoJGxhc3QgPiAkbGVuZ3RoKSByZXR1cm4gZmFsc2U7CiAgICAgICAgaWYgKHN1YnN0cigkZGF0YSwgLTEgKiAkbGFzdCkgIT09IHN0cl9yZXBlYXQoY2hyKCRsYXN0KSwgJGxhc3QpKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHN1YnN0cigkZGF0YSwgMCwgLTEgKiAkbGFzdCk7CiAgICB9Cn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.skeleton_sms_gateway.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy9jbGFzcyBuYW1lIG11c3QgYmUgbGlrZSAnc29tZW5hbWVfc21zX2dhdGV3YXknCmNsYXNzIHNrZWxldG9uX3Ntc19nYXRld2F5IGV4dGVuZHMgc21zX2dhdGV3YXlfYmFzZQp7CgkvL1RPRE8gc3BlY2lmaWMgbmFtZSBhbmQgcmVhbCBVUkwgZm9yIEFQSSByZWZlcmVuY2UKCWNvbnN0IFNLRUxfQVBJX1VSTCA9ICdodHRwczovL3NvbWV3aGVyZS5jb20vLi4uJzsKCXByaXZhdGUgJF9yYXdzdGF0dXM7CgoJcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKCXsKCQkvL1RPRE8KCQlyZXR1cm4gJ015IE5hbWUnOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRfYWxpYXMoKQoJewoJCS8vbXVzdCBiZSB0aGlzIGNsYXNzJyBuYW1lIGxlc3MgdGhlIHRyYWlsaW5nICdfc21zX2dhdGV3YXknCgkJLy9UT0RPCgkJcmV0dXJuICdza2VsZXRvbic7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGdldF9kZXNjcmlwdGlvbigpCgl7CgkJLy9ERVBSRUNBVEVEIHNlZSBkYXRhYmFzZSB0YWJsZQoJCXJldHVybiAnJzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gc3VwcG9ydF9jdXN0b21fc2VuZGVyKCkKCXsKCQkvL1RPRE8KCQlyZXR1cm4gRkFMU0U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHN1cHBvcnRfbW1zKCkKCXsKCQkvL1RPRE8KCQlyZXR1cm4gRkFMU0U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHJlcXVpcmVfY291bnRyeV9wcmVmaXgoKQoJewoJCS8vVE9ETwoJCXJldHVybiBUUlVFOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiByZXF1aXJlX3BsdXNfcHJlZml4KCkKCXsKCQlyZXR1cm4gRkFMU0U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIG11bHRpX251bWJlcl9zZXBhcmF0b3IoKQoJewoJCS8vVE9ETwoJCXJldHVybiBGQUxTRTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdXBzZXJ0X3RhYmxlcygpCgl7CgkJJGdpZCA9IHNtc2dfdXRpbHM6OnNldGdhdGUoJHRoaXMpOwoJCWlmKCRnaWQpCgkJewoJCQlwYXJlbnQ6OnNldF9nYXRlaWQoJGdpZCk7CgkJCSRtb2R1bGUgPSAkdGhpcy0+X21vZHVsZTsKCQkgICAgLy9zZXRwcm9wcygpIGFyZ3VtZW50ICRwcm9wcyA9IGFycmF5IG9mIGFycmF5cywgZWFjaCB3aXRoIFswXT10aXRsZSBbMV09YXBpbmFtZSBbMl09dmFsdWUgWzNdPWVuY3J5cHQKCQkJLy9ieSBjb252ZW50aW9uLCBhcGluYW1lJ3Mgd2hpY2ggYXJlIG5vdCBhY3R1YWxseSB1c2VkIGFyZSBpbmRpY2F0ZWQgYnkgYSAnXycgcHJlZml4CgkJCXNtc2dfdXRpbHM6OnNldHByb3BzKCRnaWQsYXJyYXkoCgkJCSBhcnJheSgkbW9kdWxlLT5MYW5nKCd1c2VybmFtZScpLCd1c2VyJyxOVUxMLDApLAoJCQkgYXJyYXkoJG1vZHVsZS0+TGFuZygncGFzc3dvcmQnKSwncGFzc3dvcmQnLE5VTEwsMSkKCQkJKSk7CgkJfQoJCXJldHVybiAkZ2lkOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjdXN0b21fc2V0dXAoJiRzbWFydHksJHBhZG0pCgl7CgkJLy9UT0RPIGUuZy4KCQlmb3JlYWNoKCRzbWFydHktPnRwbF92YXJzWydkYXRhJ10tPnZhbHVlIGFzICYkb2IpCgkJewoJCQkvL3NldCBzdHVmZiBlLmcuICRvYi0+c2l6ZSwgJG9iLT5oZWxwCgkJfQoJCXVuc2V0KCRvYikKCQlpZigkcGFkbSkKCQl7CgkJCSRoZWxwID0gJHNtYXJ0eS0+dHBsX3ZhcnNbJ2hlbHAnXS0+dmFsdWUuJzxiciAvPicuCgkJCSAkdGhpcy0+X21vZHVsZS0+TGFuZygnaGVscF91cmxjaGVjaycsc2VsZjo6U0tFTF9BUElfVVJMLHNlbGY6OmdldF9uYW1lKCkuJyBBUEknKTsKCQkJJHNtYXJ0eS0+YXNzaWduKCdoZWxwJywkaGVscCk7CgkJfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjdXN0b21fc2F2ZSgmJHBhcmFtcykKCXsKCQkvL1RPRE8KLyogJHBhcmFtcyA9IGFycmF5IGxpa2UgKAogICdzbXNfZ2F0ZXdheScgPT4gJ3NrZWxldG9uJwogIC4uLi4KICAnc2tlbGV0b25+dXNlcn50aXRsZScgPT4gJ1VzZXJuYW1lJwogICdza2VsZXRvbn51c2VyfnZhbHVlJyA9PiAnTWUnCiAgJ3NrZWxldG9ufnVzZXJ+YXBpbmFtZScgPT4gJ3VzZXInCiAgJ3NrZWxldG9ufnVzZXJ+YWN0aXZlJyA9PiAnb24nCiAgJ3NrZWxldG9ufnBhc3N3b3JkfnRpdGxlJyA9PiAnUGFzc3dvcmQnCiAgJ3NrZWxldG9ufnBhc3N3b3JkfnZhbHVlJyA9PiAnYXNkYXNkYScKICAnc2tlbGV0b25+cGFzc3dvcmR+YXBpbmFtZScgPT4gJ3Bhc3N3b3JkJwogICdza2VsZXRvbn5wYXNzd29yZH5hY3RpdmUnID0+ICdvbicKICAuLi4uCiAgJ3NrZWxldG9ufmdhdGVfaWQnID0+IHN0cmluZyAnMScpCiAgLi4uLgoqLwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiBzZXR1cCgpCgl7CgkJLy9UT0RPCgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIHByZXBfY29tbWFuZCgpCgl7CgkJLy9nZXQgJ3B1YmxpYycgcGFyYW1ldGVycyBmb3IgaW50ZXJmYWNlCgkJJGdpZCA9IHBhcmVudDo6Z2V0X2dhdGVpZChzZWxmOjpnZXRfYWxpYXMoKSk7CgkJJHBhcm1zID0gc21zZ191dGlsczo6Z2V0cHJvcHMoJHRoaXMtPl9tb2R1bGUsJGdpZCk7CgkJaWYoCgkJICRwYXJtc1snd2hhdGV2ZXInXVsndmFsdWUnXSA9PSBGQUxTRSB8fAoJCSAkcGFybXNbJ3NvbWVvdGhlciddWyd2YWx1ZSddID09IEZBTFNFCgkJKQoJCXsKCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfRVJST1JfQVVUSDsKCQkJcmV0dXJuIEZBTFNFOwoJCX0KCQkvL2NvbnZlcnQgJHBhcm1zIGRhdGEgZm9ybWF0IGlmIG5lZWRlZAoJCS8vTU9SRSAkcGFybXMgLSB0bywgZnJvbSwgYm9keSBldGMsIGZvcm1hdC1hZGp1c3RlZCBhcyBuZWVkZWQKCQkkc3RyID0gY2dlX2FycmF5OjppbXBsb2RlX3dpdGhfa2V5KCRwYXJtcyk7CgkJJHN0ciA9IHNvbWVfdXJsLic/Jy5zdHJfcmVwbGFjZSgnYW1wOycsJycsJHN0cik7CgkJcmV0dXJuICRzdHI7Cgl9CgovKiBpZiB3ZSBjYW4ndCB1c2UgdGhlIGludGVybmFsIG1lY2hhbmlzbSB0byBzZW5kIG1lc3NhZ2VzLCBwb3B1bGF0ZSB0aGlzIGluc3RlYWQgb2YgcHJlcF9jb21tYW5kKCkKICAgYW5kIG1ha2UgcHJlcF9jb21tYW5kIHsgcmV0dXJuICdnb29kJzsgLy9vciBhbnl0aGluZyBlbHNlIG5vdCBGQUxTRSB9Cglwcm90ZWN0ZWQgZnVuY3Rpb24gX2NvbW1hbmQoJGNtZCkKCXsKCX0KKi8KCXByb3RlY3RlZCBmdW5jdGlvbiBwYXJzZV9yZXN1bHQoJHN0cikKCXsKCQkkdGhpcy0+X3Jhd3N0YXR1cyA9ICRzdHI7CgkJLy9UT0RPIHBhcnNlICRzdHIKCQkkdGhpcy0+X3N0YXR1cyA9IHBhcmVudDo6U1RBVF9FUlJPUl9BVVRIOyAvL29yIHdoYXRldmVyCgl9CgoJcHVibGljIGZ1bmN0aW9uIHByb2Nlc3NfZGVsaXZlcnlfcmVwb3J0KCkKCXsKCQkvL1RPRE8gbXVzdCBwYXJzZSAkX1JFUVVFU1QgZGlyZWN0bHkKCQkkc21zdG8gPSAnJzsKCQkkc21zaWQgPSAnJzsKCQkkc3RhdHVzID0gcGFyZW50OjpERUxJVkVSWV9VTktOT1dOOyAvL29yIHdoYXRldmVyCgkJcmV0dXJuIHNtc2dfdXRpbHM6OmdldF9kZWxpdmVyeV9tc2coJHRoaXMtPl9tb2R1bGUsJHN0YXR1cywkc21zaWQsJHNtc3RvKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0X3Jhd19zdGF0dXMoKQoJewoJCXJldHVybiAkdGhpcy0+X3Jhd3N0YXR1czsKCX0KfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.smsg_clearlog_task.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3Mgc21zZ19jbGVhcmxvZ190YXNrIGltcGxlbWVudHMgQ21zUmVndWxhclRhc2sKewoJcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkgCgl7CgkJcmV0dXJuIGdldF9jbGFzcygkdGhpcyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGdldF9kZXNjcmlwdGlvbigpCgl7CgkJJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZShTTVNHOjpNT0ROQU1FKTsKCQlyZXR1cm4gJG1vZHVsZS0+TGFuZygndGFza2Rlc2NyaXB0aW9uX2NsZWFybG9nJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHRlc3QoJHRpbWUgPSAnJykKCXsKCQkkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKFNNU0c6Ok1PRE5BTUUpOwoJCWlmKCEoJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnbG9nc2VuZHMnKQoJCSAgfHwgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnbG9nZGVsaXZlcmllcycpKSkKCQkJcmV0dXJuIEZBTFNFOwoJCSRkYXlzID0gKGludCkkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdsb2dkYXlzJyk7CgkJaWYoJGRheXMgPD0gMCkKCQkJcmV0dXJuIEZBTFNFOwoJCWlmKCEkdGltZSkKCQkJJHRpbWUgPSB0aW1lKCk7CgkJJGxhc3RfY2xlYXJlZCA9ICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2xhc3RjbGVhcmVkJyk7CgkJcmV0dXJuICgkdGltZSA+PSAkbGFzdF9jbGVhcmVkICsgJGRheXMqODY0MDApOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBleGVjdXRlKCR0aW1lID0gJycpCgl7CgkJaWYoISR0aW1lKQoJCQkkdGltZSA9IHRpbWUoKTsKCQlzbXNnX3V0aWxzOjpjbGVhbl9sb2coTlVMTCwkdGltZSk7CgkJcmV0dXJuIFRSVUU7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIG9uX3N1Y2Nlc3MoJHRpbWUgPSAnJykKCXsKCQlpZighJHRpbWUpCgkJCSR0aW1lID0gdGltZSgpOwoJCSRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoU01TRzo6TU9ETkFNRSk7CgkJJG1vZHVsZS0+U2V0UHJlZmVyZW5jZSgnbGFzdGNsZWFyZWQnLCR0aW1lKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gb25fZmFpbHVyZSgkdGltZSA9ICcnKQoJewoJfQp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.smsg_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3Mgc21zZ191dGlscwp7CglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9nYXRld2F5c19mdWxsKCYkbW9kdWxlID0gTlVMTCkKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRhbGlhc2VzID0gJGRiLT5HZXRDb2woJ1NFTEVDVCBhbGlhcyBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zZ19nYXRlcyBXSEVSRSBlbmFibGVkPjAnKTsKCQlpZiggISRhbGlhc2VzICkKCQkJcmV0dXJuIEZBTFNFOwoJCSRkaXIgPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCdnYXRld2F5cycsJycpOwoJCWlmKCAkbW9kdWxlID09PSBOVUxMICkKCQkJJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZShTTVNHOjpNT0ROQU1FKTsKCQkkb2JqcyA9IGFycmF5KCk7CgkJZm9yZWFjaCggJGFsaWFzZXMgYXMgJHRoaXNvbmUgKQoJCXsKCQkJJGNsYXNzbmFtZSA9ICR0aGlzb25lLidfc21zX2dhdGV3YXknOwoJCQlpZiggIWNsYXNzX2V4aXN0cygkY2xhc3NuYW1lKSApCgkJCQlpbmNsdWRlKCRkaXIuJ2NsYXNzLicuJGNsYXNzbmFtZS4nLnBocCcpOwoKCQkJJG9iaiA9IG5ldyAkY2xhc3NuYW1lKCRtb2R1bGUpOwoJCQkvL3JldHVybiBhcnJheSwgc28gb3RoZXIga2V5cyBtYXkgYmUgYWRkZWQsIHVwc3RyZWFtCgkJCSRvYmpzWyR0aGlzb25lXSA9IGFycmF5KCdvYmonID0+ICRvYmopOwoJCX0KCgkJcmV0dXJuICRvYmpzOwoJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2dhdGV3YXkoJHRpdGxlID0gRkFMU0UsICYkbW9kdWxlID0gTlVMTCkKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRwcmVmID0gY21zX2RiX3ByZWZpeCgpOwoJCSRhbGlhcyA9ICggJHRpdGxlICkgPwoJCQkkZGItPkdldE9uZSgnU0VMRUNUIGFsaWFzIEZST00gJy4kcHJlZi4nbW9kdWxlX3Ntc2dfZ2F0ZXMgV0hFUkUgdGl0bGU9PyBBTkQgZW5hYmxlZD4wJyxhcnJheSgkdGl0bGUpKToKCQkJJGRiLT5HZXRPbmUoJ1NFTEVDVCBhbGlhcyBGUk9NICcuJHByZWYuJ21vZHVsZV9zbXNnX2dhdGVzIFdIRVJFIGFjdGl2ZT4wIEFORCBlbmFibGVkPjAnKTsKCQlpZiggJGFsaWFzICkKCQl7CgkJCSRjbGFzc25hbWUgPSAkYWxpYXMuJ19zbXNfZ2F0ZXdheSc7CgkJCWlmKCAhY2xhc3NfZXhpc3RzKCRjbGFzc25hbWUpICkKCQkJewoJCQkJJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwnZ2F0ZXdheXMnLCdjbGFzcy4nLiRjbGFzc25hbWUuJy5waHAnKTsKCQkJCXJlcXVpcmVfb25jZSgkZm4pOwoJCQl9CgkJCWlmKCAkbW9kdWxlID09PSBOVUxMICkKCQkJCSRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoU01TRzo6TU9ETkFNRSk7CgkJCSRvYmogPSBuZXcgJGNsYXNzbmFtZSgkbW9kdWxlKTsKCQkJaWYoICRvYmogKQoJCQkJcmV0dXJuICRvYmo7CgkJfQoJCXJldHVybiBGQUxTRTsKCX0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNldGdhdGVfZnVsbCgmJG1vZHVsZSwkY2xhc3NuYW1lKQoJewoJCSRmbiA9IGNtc19qb2luX3BhdGgoJG1vZHVsZS0+R2V0TW9kdWxlUGF0aCgpLCdsaWInLCdnYXRld2F5cycsJ2NsYXNzLicuJGNsYXNzbmFtZS4nLnBocCcpOwoJCWlmKCBpc19maWxlKCRmbikgKQoJCXsKCQkJaW5jbHVkZV9vbmNlKCRmbik7CgkJCSRvYmogPSBuZXcgJGNsYXNzbmFtZSgkbW9kdWxlKTsKCQkJaWYoICRvYmogKQoJCQkgIHJldHVybiBzZWxmOjpzZXRnYXRlKCRvYmopOwoJCX0KCQlyZXR1cm4gRkFMU0U7Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXRnYXRlKCYkb2JqKQoJewoJCSRhbGlhcyA9ICRvYmotPmdldF9hbGlhcygpOwoJCWlmKCAhJGFsaWFzICkgcmV0dXJuIEZBTFNFOwoJCSR0aXRsZSA9ICRvYmotPmdldF9uYW1lKCk7CgkJaWYoICEkdGl0bGUgKSByZXR1cm4gRkFMU0U7CgkJJGRlc2MgPSAkb2JqLT5nZXRfZGVzY3JpcHRpb24oKTsKCQlpZiggISRkZXNjICkgJGRlc2MgPSBOVUxMOwoKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRwcmVmID0gY21zX2RiX3ByZWZpeCgpOwoJCS8vdXBzZXJ0LCBzb3J0LW9mCgkJJHNxbCA9ICdTRUxFQ1QgZ2F0ZV9pZCBGUk9NICcuJHByZWYuJ21vZHVsZV9zbXNnX2dhdGVzIFdIRVJFIGFsaWFzPT8nOwoJCSRnaWQgPSAkZGItPkdldE9uZSgkc3FsLGFycmF5KCRhbGlhcykpOwoJCWlmKCAhJGdpZCApCgkJewoJCSAgJGdpZCA9ICRkYi0+R2VuSUQoJHByZWYuJ21vZHVsZV9zbXNnX2dhdGVzX3NlcScpOwoJCSAgJHNxbCA9ICdJTlNFUlQgSU5UTyAnLiRwcmVmLidtb2R1bGVfc21zZ19nYXRlcyAoZ2F0ZV9pZCxhbGlhcyx0aXRsZSxkZXNjcmlwdGlvbikgVkFMVUVTICg/LD8sPyw/KSc7CgkJICAkZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkZ2lkLCRhbGlhcywkdGl0bGUsJGRlc2MpKTsKCQl9CgkJZWxzZQoJCXsKCQkgICAkZ2lkID0gKGludCkkZ2lkOwoJCSAgICRzcWwgPSAnVVBEQVRFICcuJHByZWYuCgkJCSdtb2R1bGVfc21zZ19nYXRlcyBzZXQgdGl0bGU9PyxkZXNjcmlwdGlvbj0/IFdIRVJFIGdhdGVfaWQ9Pyc7CgkJICAgJGRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJHRpdGxlLCRkZXNjLCRnaWQpKTsKCQl9CgkJcmV0dXJuICRnaWQ7Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZWZyZXNoX2dhdGV3YXlzKCYkbW9kdWxlKQoJewoJCSRkaXIgPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCdnYXRld2F5cycsJycpOwoJCSRmaWxlcyA9IGdsb2IoJGRpci4nY2xhc3MuKnNtc19nYXRld2F5LnBocCcpOwoJCWlmKCAhJGZpbGVzICkKCQkJIHJldHVybjsKCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkcHJlZiA9IGNtc19kYl9wcmVmaXgoKTsKCQkkcXVlcnkgPSAnU0VMRUNUIGdhdGVfaWQgRlJPTSAnLiRwcmVmLidtb2R1bGVfc21zZ19nYXRlcyBXSEVSRSBhbGlhcz0/JzsKCQkkZm91bmQgPSBhcnJheSgpOwoJCWZvcmVhY2goICRmaWxlcyBhcyAmJHRoaXNmaWxlICkKCQl7CgkJCWluY2x1ZGUoJHRoaXNmaWxlKTsKCQkJJGNsYXNzbmFtZSA9IHN0cl9yZXBsYWNlKGFycmF5KCRkaXIsJ2NsYXNzLicsJy5waHAnKSxhcnJheSgnJywnJywnJyksJHRoaXNmaWxlKTsKCQkJJG9iaiA9IG5ldyAkY2xhc3NuYW1lKCRtb2R1bGUpOwoJCQkkYWxpYXMgPSAkb2JqLT5nZXRfYWxpYXMoKTsKCQkJJHJlcyA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkYWxpYXMpKTsKCQkJaWYoICEkcmVzICkKCQkJCSRyZXMgPSAkb2JqLT51cHNlcnRfdGFibGVzKCk7CgkJCSRmb3VuZFtdID0gJHJlczsKCQl9CgkJdW5zZXQoJHRoaXNmaWxlKTsKCgkJJGZpbGxlcnMgPSBpbXBsb2RlKCcsJywkZm91bmQpOwoJCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLiRwcmVmLidtb2R1bGVfc21zZ19nYXRlcyBXSEVSRSBnYXRlX2lkIE5PVCBJTiAoJy4kZmlsbGVycy4nKSc7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuJHByZWYuJ21vZHVsZV9zbXNnX3Byb3BzIFdIRVJFIGdhdGVfaWQgTk9UIElOICgnLiRmaWxsZXJzLicpJzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCX0KCgkvLyRwcm9wcyA9IGFycmF5IG9mIGFycmF5cywgZWFjaCB3aXRoIFswXT10aXRsZSBbMV09YXBpbmFtZSBbMl09dmFsdWUgWzNdPWVuY3J5cHQKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2V0cHJvcHMoJGdpZCwkcHJvcHMpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkcHJlZiA9IGNtc19kYl9wcmVmaXgoKTsKCQkvL3Vwc2VydCwgc29ydC1vZgoJCS8vTk9URSBuZXcgcGFyYW1ldGVycyBhZGRlZCB3aXRoIGFwaW5hbWUgJ3RvZG8nICYgc2lnbmF0dXJlIE5VTEwKCQkkc3FsMSA9ICdVUERBVEUgJy4kcHJlZi4KCQkgJ21vZHVsZV9zbXNnX3Byb3BzIFNFVCB0aXRsZT0/LHZhbHVlPT8sZW5jdmFsdWU9PywKc2lnbmF0dXJlID0gQ0FTRSBXSEVOIHNpZ25hdHVyZSBJUyBOVUxMIFRIRU4gPyBFTFNFIHNpZ25hdHVyZSBFTkQsCmVuY3J5cHQ9PyxhcGlvcmRlcj0/IFdIRVJFIGdhdGVfaWQ9PyBBTkQgYXBpbmFtZT0/JzsKCQkkc3FsMiA9ICdJTlNFUlQgSU5UTyAnLiRwcmVmLgoJCSAnbW9kdWxlX3Ntc2dfcHJvcHMgKGdhdGVfaWQsdGl0bGUsdmFsdWUsZW5jdmFsdWUsYXBpbmFtZSxzaWduYXR1cmUsZW5jcnlwdCxhcGlvcmRlcikKU0VMRUNUID8sPyw/LD8sPyw/LD8sPyBGUk9NIChTRUxFQ1QgMSBBUyBkbXkpIFogV0hFUkUgTk9UIEVYSVNUUwooU0VMRUNUIDEgRlJPTSAnLiRwcmVmLidtb2R1bGVfc21zZ19wcm9wcyBUMSBXSEVSRSBUMS5nYXRlX2lkPT8gQU5EIFQxLmFwaW5hbWU9PyknOwoJCSRvID0gMTsKCQlmb3JlYWNoKCRwcm9wcyBhcyAmJGRhdGEpCgkJewoJCQlpZigkZGF0YVszXSkKCQkJewoJCQkJJGExID0gYXJyYXkoJGRhdGFbMF0sTlVMTCwkZGF0YVsyXSwkZGF0YVsxXSwxLCRvLCRnaWQsJGRhdGFbMV0pOwoJCQkJJGEyID0gYXJyYXkoJGdpZCwkZGF0YVswXSxOVUxMLCRkYXRhWzJdLCRkYXRhWzFdLCRkYXRhWzFdLDEsJG8sJGdpZCwkZGF0YVsxXSk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkYTEgPSBhcnJheSgkZGF0YVswXSwkZGF0YVsyXSxOVUxMLCRkYXRhWzFdLDAsJG8sJGdpZCwkZGF0YVsxXSk7CgkJCQkkYTIgPSBhcnJheSgkZ2lkLCRkYXRhWzBdLCRkYXRhWzJdLE5VTEwsJGRhdGFbMV0sJGRhdGFbMV0sMCwkbywkZ2lkLCRkYXRhWzFdKTsKCQkJfQoJCQkkZGItPkV4ZWN1dGUoJHNxbDEsJGExKTsKCQkJJGRiLT5FeGVjdXRlKCRzcWwyLCRhMik7CgkJCSRvKys7CgkJfQoJCXVuc2V0KCRkYXRhKTsKCX0KCgkvKioKCSAgUmV0dXJucyBhcnJheSwgZWFjaCBrZXkgPSBzaWduYXR1cmUtZmllbGQgdmFsdWUsIGVhY2ggdmFsdWUgPSBhcnJheQoJICAgd2l0aCBrZXlzICdhcGluYW1lJyBhbmQgJ3ZhbHVlJyAoZm9yIHdoaWNoIHRoZSBhY3R1YWwgdmFsdWUgaXMgZGVjcnlwdGVkIGlmIHJlbGV2YW50KQoJICAqLwoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRwcm9wcygmJG1vZHVsZSwkZ2lkKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHByZWYgPSBjbXNfZGJfcHJlZml4KCk7CgkJJHByb3BzID0gJGRiLT5HZXRBc3NvYygnU0VMRUNUIHNpZ25hdHVyZSxhcGluYW1lLHZhbHVlLGVuY3ZhbHVlLGVuY3J5cHQgRlJPTSAnLiRwcmVmLgoJCSAnbW9kdWxlX3Ntc2dfcHJvcHMgV0hFUkUgZ2F0ZV9pZD0/IEFORCBlbmFibGVkPjAgT1JERVIgQlkgYXBpb3JkZXInLAoJCSBhcnJheSgkZ2lkKSk7CgkJZm9yZWFjaCgkcHJvcHMgYXMgJiRyb3cpCgkJewoJCQlpZiAoJHJvd1snZW5jcnlwdCddKQoJCQkJJHJvd1sndmFsdWUnXSA9IHNlbGY6OmRlY3J5cHRfdmFsdWUoJG1vZHVsZSwkcm93WydlbmN2YWx1ZSddKTsKCQkJdW5zZXQoJHJvd1snZW5jcnlwdCddKTsKCQkJdW5zZXQoJHJvd1snZW5jdmFsdWUnXSk7CgkJfQoJCXVuc2V0KCRyb3cpOwoJCXJldHVybiAkcHJvcHM7Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBlbmNyeXB0X3ZhbHVlKCYkbW9kdWxlLCR2YWx1ZSwkcGFzc3dkID0gRkFMU0UpCgl7CgkJaWYoICR2YWx1ZSApCgkJewoJCQlpZiggISRwYXNzd2QgKQoJCQl7CgkJCQkkcGFzc3dkID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnbWFzdGVycGFzcycpOwoJCQkJaWYoICRwYXNzd2QgKQoJCQkJewoJCQkJCSRzID0gYmFzZTY0X2RlY29kZShzdWJzdHIoJHBhc3N3ZCw1KSk7CgkJCQkJJHBhc3N3ZCA9IHN1YnN0cigkcyw1KTsKCQkJCX0KCQkJfQoJCQlpZiggJHBhc3N3ZCAmJiAkbW9kdWxlLT5oYXZlbWNyeXB0ICkKCQkJewoJCQkJJGUgPSBuZXcgRW5jcnlwdGlvbihNQ1JZUFRfQkxPV0ZJU0gsTUNSWVBUX01PREVfQ0JDLFNNU0c6OkVOQ19ST1VORFMpOwoJCQkJJHZhbHVlID0gJGUtPmVuY3J5cHQoJHZhbHVlLCRwYXNzd2QpOwoJCQl9CgkJfQoJCXJldHVybiAkdmFsdWU7Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBkZWNyeXB0X3ZhbHVlKCYkbW9kdWxlLCR2YWx1ZSwkcGFzc3dkID0gRkFMU0UpCgl7CgkJaWYoICR2YWx1ZSApCgkJewoJCQlpZiggISRwYXNzd2QgKQoJCQl7CgkJCQkkcGFzc3dkID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnbWFzdGVycGFzcycpOwoJCQkJaWYoICRwYXNzd2QgKQoJCQkJewoJCQkJCSRzID0gYmFzZTY0X2RlY29kZShzdWJzdHIoJHBhc3N3ZCw1KSk7CgkJCQkJJHBhc3N3ZCA9IHN1YnN0cigkcyw1KTsKCQkJCX0KCQkJfQoJCQlpZiggJHBhc3N3ZCAmJiAkbW9kdWxlLT5oYXZlbWNyeXB0ICkKCQkJewoJCQkJJGUgPSBuZXcgRW5jcnlwdGlvbihNQ1JZUFRfQkxPV0ZJU0gsTUNSWVBUX01PREVfQ0JDLFNNU0c6OkVOQ19ST1VORFMpOwoJCQkJJHZhbHVlID0gJGUtPmRlY3J5cHQoJHZhbHVlLCRwYXNzd2QpOwoJCQl9CgkJfQoJCXJldHVybiAkdmFsdWU7Cgl9CgoJLy90aGlzIGlzIGEgdmFyYXJncyBmdW5jdGlvbiwgMm5kIGFyZ3VtZW50IChpZiBpdCBleGlzdHMpIGlzIGVpdGhlciBhCgkvL0xhbmcga2V5IG9yIG9uZSBvZiB0aGUgc21zX2dhdGV3YXlfYmFzZTo6U1RBVF8qIGNvbnN0YW50cwoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfbXNnKCYkbW9kdWxlKQoJewoJCSRpcCA9IGdldGVudignUkVNT1RFX0FERFInKTsKCQlpZiggZnVuY19udW1fYXJncygpID4gMSApCgkJewoJCQkkdG1wID0gJG1vZHVsZS0+TGFuZygnXycpOyAvL2Vuc3VyZSByZWxldmFudCBsYW5nIGlzIGxvYWRlZAoJCQkkcGFybXMgPSBhcnJheV9zbGljZShmdW5jX2dldF9hcmdzKCksMSk7CgkJCSRrZXkgPSAkcGFybXNbMF07CgkJCSRsYW5nZGF0YSA9ICggJG1vZHVsZS0+Y3VybGFuZyApID8KCQkJCSRtb2R1bGUtPmxhbmdoYXNoWyRtb2R1bGUtPmN1cmxhbmddOgoJCQkJcmVzZXQoJG1vZHVsZS0+bGFuZ2hhc2gpOwoJCQlpZiggaXNzZXQoJGxhbmdkYXRhWyRrZXldKSB8fCBhcnJheV9rZXlfZXhpc3RzKCRrZXksJGxhbmdkYXRhKSApCgkJCXsKCQkJCSR0eHQgPSAkbW9kdWxlLT5MYW5nKCRrZXksYXJyYXlfc2xpY2UoJHBhcm1zLDEpKTsKCQkJCWlmKCAkaXAgKQoJCQkJCSR0eHQgLj0gJywnLiRpcDsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCSR0eHQgPSBpbXBsb2RlKCcsJywkcGFybXMpOwoJCQkJaWYoICRpcCAmJiAkcGFybXNbMF0gIT0gc21zX2dhdGV3YXlfYmFzZTo6U1RBVF9OT1RTRU5UICkKCQkJCQkkdHh0IC49ICcsJy4kaXA7CgkJCX0KCQkJcmV0dXJuICR0eHQ7CgkJfQoJCXJldHVybiAkaXA7Cgl9CgoJLy90aGlzIGlzIGEgdmFyYXJncyBmdW5jdGlvbiwgMm5kIGFyZ3VtZW50IChpZiBpdCBleGlzdHMpIG1heSBiZSBhIExhbmcga2V5CglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9kZWxpdmVyeV9tc2coJiRtb2R1bGUpCgl7CgkJJGlwID0gZ2V0ZW52KCdSRU1PVEVfQUREUicpOwoJCWlmKCBmdW5jX251bV9hcmdzKCkgPiAxICkKCQl7CgkJCSR0bXAgPSAkbW9kdWxlLT5MYW5nKCdfJyk7IC8vZW5zdXJlIHJlbGV2YW50IGxhbmcgaXMgbG9hZGVkCgkJCSRwYXJtcyA9IGFycmF5X3NsaWNlKGZ1bmNfZ2V0X2FyZ3MoKSwxKTsKCQkJJGtleSA9ICRwYXJtc1swXTsKCQkJJGxhbmdkYXRhID0gKCAkbW9kdWxlLT5jdXJsYW5nICkgPwoJCQkJJG1vZHVsZS0+bGFuZ2hhc2hbJG1vZHVsZS0+Y3VybGFuZ106CgkJCQlyZXNldCgkbW9kdWxlLT5sYW5naGFzaCk7CgkJCWlmKCBpc3NldCgkbGFuZ2RhdGFbJGtleV0pIHx8IGFycmF5X2tleV9leGlzdHMoJGtleSwkbGFuZ2RhdGEpICkKCQkJCSR0eHQgPSAkbW9kdWxlLT5MYW5nKCRrZXksYXJyYXlfc2xpY2UoJHBhcm1zLDEpKTsKCQkJZWxzZQoJCQkJJHR4dCA9IGltcGxvZGUoJywnLCRwYXJtcyk7CgkJCWlmKCAkaXAgKQoJCQkJJHR4dCAuPSAnLCcuJGlwOwoJCQlyZXR1cm4gJHR4dDsKCQl9CgkJcmV0dXJuICRpcDsKCX0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9yZXBvcnRpbmdfdXJsKCYkbW9kdWxlKQoJewoJCS8vIGdldCB0aGUgZGVmYXVsdCBwYWdlIGlkCgkJJGNvbnRlbnRvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCSRyZXR1cm5pZCA9ICRjb250ZW50b3BzLT5HZXREZWZhdWx0Q29udGVudCgpOwoKCQkkcHJldHR5dXJsID0gJ1NNU0cvZGV2cmVwb3J0JzsKCQkkdXJsID0gJG1vZHVsZS0+Q3JlYXRlVVJMKCdjbnRudDAxJywnZGV2cmVwb3J0JywkcmV0dXJuaWQsYXJyYXkoKSxmYWxzZSwkcHJldHR5dXJsKTsKCQlyZXR1cm4gJHVybDsKCX0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGlzX3ZhbGlkX3Bob25lKCRudW1iZXIpCgl7CgkJaWYoICRudW1iZXIgKQoJCXsKCQkJJGZvcm1hdHMgPSBhcnJheSgKCQkJICcrIyMjIyMjIyMjIycsCgkJCSAnKyMjIyMjIyMjIyMjJywKCQkJICcjIyMtIyMjLSMjIyMnLCAKCQkJICcjIyMjLSMjIy0jIyMnLAoJCQkgJygjIyMpICMjIy0jIyMnLCAKCQkJICcjIyMjLSMjIyMtIyMjIycsCgkJCSAnIyMtIyMjLSMjIyMtIyMjIycsIAoJCQkgJyMjIyMtIyMjIycsIAoJCQkgJyMjIy0jIyMtIyMjJywKCQkJICcjIyMjIy0jIyMtIyMjJywgCgkJCSAnIyMjIyMjIyMjIycsCgkJCSAnIyMjIyMjIyMjIyMnKTsKCgkJCSRzdHIgPSBlcmVnX3JlcGxhY2UoJ1swLTldJywnIycsJG51bWJlcik7CgkJCWlmKCBpbl9hcnJheSgkc3RyLCRmb3JtYXRzKSApIHJldHVybiBUUlVFOwoJCX0KCQlyZXR1cm4gRkFMU0U7Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsb2dfc2VuZCgkaXBfYWRkcmVzcywkbW9iaWxlLCRtc2csJHN0YXR1c21zZyA9ICcnKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLgoJCSAnbW9kdWxlX3Ntc2dfc2VudCAobW9iaWxlLGlwLG1zZyxzZGF0ZSkgVkFMVUVTICg/LD8sPyxOT1coKSknOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJG1vYmlsZSwkaXBfYWRkcmVzcywkbXNnKSk7Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjbGVhbl9sb2coJiRtb2R1bGUgPSBOVUxMLCR0aW1lID0gMCkKCXsKCQlpZiggISR0aW1lICkgJHRpbWUgPSB0aW1lKCk7CgkJaWYoICRtb2R1bGUgPT09IE5VTEwgKQoJCQkkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKFNNU0c6Ok1PRE5BTUUpOwoJCSRkYXlzID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnbG9nZGF5cycpOwoJCWlmKCAhJGRheXMgKSAkZGF5cyA9IDE7CgkJJHRpbWUgLT0gJGRheXMqODY0MDA7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkcHJlZiA9IGNtc19kYl9wcmVmaXgoKTsKCQlpZiggJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnbG9nc2VuZHMnKSApCgkJewoJCQkkbGltaXQgPSAkZGItPkRiVGltZVN0YW1wKCR0aW1lKTsKCQkJJGRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLiRwcmVmLidtb2R1bGVfc21zZ19zZW50IFdIRVJFIHNkYXRlPCcuJGxpbWl0KTsKCQl9CgkJJGRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLiRwcmVmLidhZG1pbmxvZyBXSEVSRSB0aW1lc3RhbXA8PyBBTkQgKGl0ZW1faWQ9Jy5TTVNHOjpBVURJVF9TRU5ELgoJCScgT1IgaXRlbV9pZCA9ICcuU01TRzo6QVVESVRfREVMSVYuJykgQU5EIGl0ZW1fbmFtZT0nLlNNU0c6Ok1PRE5BTUUsYXJyYXkoJHRpbWUpKTsKCX0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGlwX2Nhbl9zZW5kKCYkbW9kdWxlLCRpcF9hZGRyZXNzKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHByZWYgPSBjbXNfZGJfcHJlZml4KCk7CgkJJHQgPSB0aW1lKCk7CgkJJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAoJHQpOwoJCSRkYXRlMSA9ICRkYi0+RGJUaW1lU3RhbXAoJHQtMzYwMCk7CgkJJGRhdGUyID0gJGRiLT5EYlRpbWVTdGFtcCgkdC0yNCozNjAwKTsKCQkkcXVlcnkgPSAnU0VMRUNUIENPVU5UKG1vYmlsZSkgQVMgbnVtIEZST00gJy4kcHJlZi4KCQkgIm1vZHVsZV9zbXNnX3NlbnQgV0hFUkUgaXA9PyBBTkQgKHNkYXRlIEJFVFdFRU4gJGRhdGUxIGFuZCAkbm93KSI7CgkJJG51bSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkaXBfYWRkcmVzcykpOwoKCQkkaG91cmx5ID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaG91cmxpbWl0Jyk7CgkJaWYoICRudW0gPiAkaG91cmx5ICkgcmV0dXJuIEZBTFNFOwoKCQkkcXVlcnkgPSAnU0VMRUNUIENPVU5UKG1vYmlsZSkgQVMgbnVtIEZST00gJy4kcHJlZi4KCQkgIm1vZHVsZV9zbXNnX3NlbnQgV0hFUkUgaXA9PyBBTkQgKHNkYXRlIEJFVFdFRU4gJGRhdGUyIGFuZCAkbm93KSI7CgkJJG51bSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkaXBfYWRkcmVzcykpOwoJCSRkYWlseSA9ICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2RheWxpbWl0Jyk7CgkJaWYoICRudW0gPiAkZGFpbHkgKSByZXR1cm4gRkFMU0U7CgoJCXJldHVybiBUUlVFOwoJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gdGV4dF9pc192YWxpZCgkdGV4dCwkbGVuID0gMTYwKQoJewoJCWlmKCAkdGV4dCA9PSAnJyApIHJldHVybiBGQUxTRTsKCQlpZiggJGxlbiAgPiAwICYmIHN0cmxlbigkdGV4dCkgPiAkbGVuICkgcmV0dXJuIEZBTFNFOwoJCWlmKCBwcmVnX21hdGNoKAoJCSAgJ35bXlx3XHNAwqMkwqXDqMOpw7nDrMOyw4dcZsOYw7hcbsOFw6XOlF/Ops6TzpvOqc6gzqjOo86Yzp7DhsOmw5/DiSAhIiPCpCUmXCcoKSorLC0uL1w6Ozw9Plw/wqHDhMOWw5HDnMKnwr/DpMO2w7HDvMOgXF5ce1x9XFtcXVx+XHzigqxdficsCgkJICAkdGV4dCkgKSByZXR1cm4gRkFMU0U7CgkJcmV0dXJuIFRSVUU7Cgl9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.sms_gateway_base.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKYWJzdHJhY3QgY2xhc3Mgc21zX2dhdGV3YXlfYmFzZQp7Cgljb25zdCBTVEFUX09LID0gJ3Ntc19zZW50JzsKCWNvbnN0IFNUQVRfTk9UU0VOVCA9ICdzbXNfbm90c2VudCc7Cgljb25zdCBTVEFUX0VSUk9SX09USEVSID0gJ3Ntc19lcnJvcl9vdGhlcic7Cgljb25zdCBTVEFUX0VSUk9SX0FVVEggPSAnc21zX2Vycm9yX2F1dGgnOwoJY29uc3QgU1RBVF9FUlJPUl9MSU1JVCA9ICdzbXNfZXJyb3JfbGltaXQnOwoJY29uc3QgU1RBVF9FUlJPUl9JTlZBTElEX0RBVEEgPSAnc21zX2Vycm9yX2ludmFsaWRfZGF0YSc7Cgljb25zdCBTVEFUX0VSUk9SX0JMT0NLRUQgPSAnc21zX2Vycm9yX2Jsb2NrZWRfbnVtYmVyJzsKCgljb25zdCBERUxJVkVSWV9PSyA9ICdzbXNfZGVsaXZlcnlfb2snOwoJY29uc3QgREVMSVZFUllfUEVORElORyA9ICdzbXNfZGVsaXZlcnlfcGVuZGluZyc7Cgljb25zdCBERUxJVkVSWV9JTlZBTElEID0gJ3Ntc19kZWxpdmVyeV9pbnZhbGlkJzsKCWNvbnN0IERFTElWRVJZX1VOS05PV04gPSAnc21zX2RlbGl2ZXJ5X3Vua25vd24nOwoJY29uc3QgREVMSVZFUllfQklMTElORyA9ICdzbXNfZGVsaXZlcnlfYmlsbGluZyc7Cgljb25zdCBERUxJVkVSWV9PVEhFUiAgID0gJ3Ntc19kZWxpdmVyeV9vdGhlcic7CgoJcHJvdGVjdGVkICRfbW9kdWxlOwoJcHJvdGVjdGVkICRfZ2F0ZV9pZDsKCXByb3RlY3RlZCAkX251bTsKCXByb3RlY3RlZCAkX2Zyb21udW07Cglwcm90ZWN0ZWQgJF9tc2c7Cglwcm90ZWN0ZWQgJF9zdGF0dXNtc2c7Cglwcm90ZWN0ZWQgJF91c2VfY3VybDsKCXByb3RlY3RlZCAkX3N0YXR1czsKCXByb3RlY3RlZCAkX3Ntc2lkOwoKCWZ1bmN0aW9uIF9fY29uc3RydWN0KCYkbW9kdWxlKQoJewoJCSR0aGlzLT5fbW9kdWxlID0gJG1vZHVsZTsKCSAgCSR0aGlzLT5fZ2F0ZV9pZCA9IDA7CgkJc2VsZjo6cmVzZXQoKTsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0X2dhdGVpZCgkZ2lkKQoJewoJCSR0aGlzLT5fZ2F0ZV9pZCA9IChpbnQpJGdpZDsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2dhdGVpZCgkYWxpYXMsJGZvcmNlID0gRkFMU0UpCgl7CgkJaWYoJGZvcmNlIHx8ICEkdGhpcy0+X2dhdGVfaWQpCgkJewoJCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCQkkcXVlcnkgPSAnU0VMRUNUIGdhdGVfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc2dfZ2F0ZXMgV0hFUkUgYWxpYXM9Pyc7CgkJCSRnaWQgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJGFsaWFzKSk7CgkJCSR0aGlzLT5fZ2F0ZV9pZCA9IChpbnQpJGdpZDsKCQl9CgkJcmV0dXJuICR0aGlzLT5fZ2F0ZV9pZDsKCX0KCgkvKioKCXJlc2V0OgoJQ2xlYXIgYWxsIGNhY2hlZCBkYXRhCgkqLwoJcHVibGljIGZ1bmN0aW9uIHJlc2V0KCkKCXsKCQkkdGhpcy0+X251bSA9ICcnOwoJCSR0aGlzLT5fZnJvbW51bSA9ICcnOwoJCSR0aGlzLT5fbXNnID0gJyc7CgkJJHRoaXMtPl91c2VfY3VybCA9IDA7CgkJJHRoaXMtPl9zdGF0dXMgPSBzZWxmOjpTVEFUX05PVFNFTlQ7CgkJJHRoaXMtPl9zdGF0dXNtc2cgPSAnJzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdXNlX2N1cmwoJGZsYWcgPSBUUlVFKQoJewoJCSR0aGlzLT5fdXNlX2N1cmwgPSAoICRmbGFnICkgPyAxIDogMDsKCX0KCgkvKioKCXNldF9tc2c6CglAbXNnOiB0aGUgYm9keS1jb250ZW50IG9mIHRoZSBtZXNzYWdlIHRvIGJlIHNlbnQsaW5jbHVkaW5nIG9ubHkgU01TLXZhbGlkCgljaGFyYWN0ZXJzLGFuZCBvZiBzdWl0YWJsZSBsZW5ndGgKCSovCglwdWJsaWMgZnVuY3Rpb24gc2V0X21zZygkbXNnKQoJewoJCSR0aGlzLT5fbXNnID0gJG1zZzsKCX0KCgkvKioKCXNldF9udW06CglAbnVtOiBkZXN0aW5hdGlvbiBwaG9uZS1udW1iZXIob3Igc2VwYXJhdGVkIG51bWJlcnMsaWYgdGhlIGdhdGV3YXkgc3VwcG9ydHMKCWJhdGNoaW5nKSBhcHByb3ByaWF0ZWx5IGZvcm1hdHRlZCBmb3IgdGhlIGdhdGV3YXkKCSovCglwdWJsaWMgZnVuY3Rpb24gc2V0X251bSgkbnVtKQoJewoJCSR0aGlzLT5fbnVtID0gJG51bTsKCX0KCgkvKioKCXNldF9mcm9tOgoJQGZyb206IHRoZSBzb3VyY2UgcGhvbmUtbnVtYmVyKGlmIHRoZSBnYXRld2F5IHN1cHBvcnRzIHRoYXQpIGFwcHJvcHJpYXRlbHkgZm9ybWF0dGVkCgkqLwoJcHVibGljIGZ1bmN0aW9uIHNldF9mcm9tKCRmcm9tKQoJewoJCSR0aGlzLT5fZnJvbW51bSA9ICggJGZyb20gKSA/ICRmcm9tIDogRkFMU0U7Cgl9CgoJLyoqCglnZXRfc3RhdHVzOgoJUmV0dXJucyBzdHJpbmcgZGVzY3JpYmluZyAoc2hvcnQtZm9ybSkgc3RhdHVzLCBvbmUgb2YgdGhlIGNvbnN0J3MgZGVmaW5lZCBhYm92ZQoJKi8KCXB1YmxpYyBmdW5jdGlvbiBnZXRfc3RhdHVzKCkKCXsKCQlyZXR1cm4gJHRoaXMtPl9zdGF0dXM7Cgl9CgoJLyoqCglnZXRfc3RhdHVzbXNnOgoJUmV0dXJucyBzdHJpbmcgZGVzY3JpYmluZyAobG9uZy1mb3JtKSBzdGF0dXMgLi4uCgkqLwoJcHVibGljIGZ1bmN0aW9uIGdldF9zdGF0dXNtc2coKQoJewoJCXJldHVybiAkdGhpcy0+X3N0YXR1c21zZzsKCX0KCgkvKioKCXNlbmQ6CglJbml0aWF0ZSB0aGUgbWVzc2FnZSB0cmFuc21pc3Npb24oYWZ0ZXIgYWxsIHJlbGV2YW50IHBhcmFtZXRlcnMgYXJlIHNldCB1cCkKCSovCglwdWJsaWMgZnVuY3Rpb24gc2VuZCgpCgl7CgkJJHRoaXMtPl9zbXNpZCA9ICcnOwoKCQkvLyBjaGVjayB0byBtYWtlIHN1cmUgd2UgaGF2ZSBuZWNlc3NhcnkgZGF0YQoJCSR0aGlzLT5zZXR1cCgpOwoJCWlmKCAkdGhpcy0+X251bSA9PSAnJyB8fCAkdGhpcy0+X21zZyA9PSAnJyApCgkJewoJCQkkdGhpcy0+X3N0YXR1cyA9IHNlbGY6OlNUQVRfRVJST1JfSU5WQUxJRF9EQVRBOwoJCQlyZXR1cm4gRkFMU0U7CgkJfQoKCQlpZiggIXNtc2dfdXRpbHM6OmlwX2Nhbl9zZW5kKCR0aGlzLT5fbW9kdWxlLGdldGVudignUkVNT1RFX0FERFInKSkgKQoJCXsKCQkJJHRoaXMtPl9zdGF0dXMgPSBzZWxmOjpTVEFUX0VSUk9SX0xJTUlUOwoJCQlyZXR1cm4gRkFMU0U7CgkJfQoKCQkvLyBuZXh0IHByZXBhcmUgdGhlIG91dHB1dAoJCSRjbWQgPSAkdGhpcy0+cHJlcF9jb21tYW5kKCk7CgkJaWYoICRjbWQgPT09IEZBTFNFIHx8ICRjbWQgPT0gJycgKQoJCXsKCQkJJHRoaXMtPl9zdGF0dXMgPSBzZWxmOjpTVEFUX0VSUk9SX0lOVkFMSURfREFUQTsKCQkJcmV0dXJuIEZBTFNFOwoJCX0KCgkJLy8gc2VuZCBpdAoJCSRyZXMgPSAkdGhpcy0+X2NvbW1hbmQoJGNtZCk7CgoJCS8vIGludGVycHJldCByZXN1bHQKCQkkdGhpcy0+cGFyc2VfcmVzdWx0KCRyZXMpOwoJCSR0aGlzLT5fc3RhdHVzbXNnID0gc21zZ191dGlsczo6Z2V0X21zZygkdGhpcy0+X21vZHVsZSwkdGhpcy0+X251bSwkdGhpcy0+X3N0YXR1cywkdGhpcy0+X21zZywkdGhpcy0+Z2V0X3Jhd19zdGF0dXMoKSk7CgkJJHN1Y2Nlc3MgPSAoICR0aGlzLT5fc3RhdHVzID09IHNlbGY6OlNUQVRfT0sgKTsKCQlpZiggJHN1Y2Nlc3MgKQoJCXsKCQkJaWYoICR0aGlzLT5fbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdsb2dzZW5kcycpICkKCQkJCXNtc2dfdXRpbHM6OmxvZ19zZW5kKGdldGVudignUkVNT1RFX0FERFInKSwkdGhpcy0+X251bSwkdGhpcy0+X21zZyk7CgkJCSR0aGlzLT5fbW9kdWxlLT5BdWRpdChTTVNHOjpBVURJVF9TRU5ELFNNU0c6Ok1PRE5BTUUsJHRoaXMtPl9zdGF0dXNtc2cpOwoJCX0KCQlyZXR1cm4gJHN1Y2Nlc3M7Cgl9CgoJLy9mb3IgaW50ZXJuYWwgdXNlIG9ubHkKCS8vZ2V0IHBhcmFtZXRlciBzdG9yZWQoZm9yIHNvbWUgZ2F0ZXdheXMpIHdoZW4gb3BlcmF0aW9uIHJlc3VsdC1tZXNzYWdlIHdhcyBwYXJzZWQKCXB1YmxpYyBmdW5jdGlvbiBnZXRfc21zaWQoKQoJewoJCXJldHVybiAkdGhpcy0+X3Ntc2lkOwoJfQoKCS8vcGVyZm9ybSB0aGUgc2VuZAoJLy9tYXkgbmVlZCB0byBiZSBvdmVyLXJpZGRlbiBpbiBzb21lIGdhdGV3YXktc3BlY2lmaWMgc3ViY2xhc3NlcwoJcHJvdGVjdGVkIGZ1bmN0aW9uIF9jb21tYW5kKCRjbWQpCgl7CgkJJHRoaXMtPl9jaGVja19jdXJsKCk7CgkJJHJlcyA9ICcnOwoJCSRyZXMgPSAoICR0aGlzLT5fdXNlX2N1cmwgPT0gMCApID8KCQkJJHRoaXMtPl9zZW5kX2ZvcGVuKCRjbWQpOgoJCQkkdGhpcy0+X3NlbmRfY3VybCgkY21kKTsKCQlyZXR1cm4gJHJlczsKCX0KCglwcml2YXRlIGZ1bmN0aW9uIF9zZW5kX2ZvcGVuKCRjbWQpCgl7CgkJJHJlcyA9ICcnOwoJCSRmaCA9IEBmb3BlbigkY21kLCdyJyk7CgkJaWYoICRmaCApCgkJewoJCQl3aGlsZSggJGxpbmUgPSBAZmdldHMoJGZoLDEwMjQpICkgJHJlcyAuPSAkbGluZTsKCQkJZmNsb3NlKCRmaCk7CgkJCXJldHVybiAkcmVzOwoJCX0KCQllbHNlCgkJCXJldHVybiBGQUxTRTsKCX0KCglwcml2YXRlIGZ1bmN0aW9uIF9zZW5kX2N1cmwoJGNtZCkKCXsKCQkkY2ggPSBjdXJsX2luaXQoJGNtZCk7CgkJY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfSEVBREVSLDApOwoJCWN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLDEpOwoJCWN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX1NTTF9WRVJJRllQRUVSLDApOwovKgkJaWYoICR0aGlzLT5jdXJsX3VzZV9wcm94eSApCgkJewoJCQljdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9QUk9YWSwkdGhpcy0+Y3VybF9wcm94eSk7CgkJCWN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX1BST1hZVVNFUlBXRCwkdGhpcy0+Y3VybF9wcm94eXVzZXJwd2QpOwoJCX0KKi8KCQkkcmVzID0gY3VybF9leGVjKCRjaCk7CgkJY3VybF9jbG9zZSgkY2gpOwoJCXJldHVybiAkcmVzOwoJfQoKCXByaXZhdGUgZnVuY3Rpb24gX2NoZWNrX2N1cmwoKQoJewoJCWlmKCAhJHRoaXMtPl91c2VfY3VybCApCgkJewoJCQlpZiggZXh0ZW5zaW9uX2xvYWRlZCgnY3VybCcpICkKCQkJCSR0aGlzLT5fdXNlX2N1cmwgPSAxOwoJCX0KCX0KCgkvKioKCWdldF9zZXR1cF9mb3JtOgoJUmV0dXJucyBzdHJpbmcsIHhodG1sIGZvciBlY2hvIGludG8gYWRtaW4gZGlzcGxheQoJKi8KCXB1YmxpYyBmdW5jdGlvbiBnZXRfc2V0dXBfZm9ybSgpCgl7CgkJJG1vZHVsZSA9ICR0aGlzLT5fbW9kdWxlOwoJCSRwYWRtID0gJG1vZHVsZS0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyU01TR2F0ZXdheXMnKTsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRwcmVmID0gY21zX2RiX3ByZWZpeCgpOwoJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuJHByZWYuJ21vZHVsZV9zbXNnX2dhdGVzIFdIRVJFIGFsaWFzPT8nOwoJCWlmKCAhJHBhZG0gKQoJCQkkcXVlcnkgLj0gJyBBTkQgZW5hYmxlZD0xJzsKCQkkYWxpYXMgPSAkdGhpcy0+Z2V0X2FsaWFzKCk7CgkJJGdkYXRhID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRhbGlhcykpOwoJCWlmKCAhJGdkYXRhICkKCQkJcmV0dXJuICcnOwoKCQkkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CgkJJHBtb2QgPSAkcGFkbSB8fCAkbW9kdWxlLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeVNNU0dhdGV3YXlzJyk7CgkJaWYoISgkcGFkbSB8fCAkcG1vZCkpCgkJewoJCQkkc21hcnR5LT5hc3NpZ24oJ2dhdGV0aXRsZScsJGdkYXRhWyd0aXRsZSddKTsKCQkJJHNtYXJ0eS0+YXNzaWduKCdkZWZhdWx0JywoJGdkYXRhWydhY3RpdmUnXSk/JG1vZHVsZS0+TGFuZygneWVzJyk6JycpOwoJCQlyZXR1cm4gJG1vZHVsZS0+UHJvY2Vzc1RlbXBsYXRlKCdnYXRlZGF0YV91c2UudHBsJyk7CgkJfQoJCQoJCSRzbWFydHktPmFzc2lnbignZ2F0ZXRpdGxlJywkbW9kdWxlLT5MYW5nKCdmcmFtZV90aXRsZScsJGdkYXRhWyd0aXRsZSddKSk7CgkJJHBhcm1zID0gYXJyYXkoKTsKCQkkcXVlcnkgPSAnU0VMRUNUIGdhdGVfaWQsdGl0bGUsdmFsdWUsZW5jdmFsdWUsYXBpbmFtZSxzaWduYXR1cmUsZW5jcnlwdCxlbmFibGVkIEZST00gJy4kcHJlZi4nbW9kdWxlX3Ntc2dfcHJvcHMgV0hFUkUgZ2F0ZV9pZD0/JzsKCQlpZiggISRwYWRtICkKCQkJJHF1ZXJ5IC49ICcgQU5EIGVuYWJsZWQ9MSc7CgkJJHF1ZXJ5IC49ICcgT1JERVIgQlkgYXBpb3JkZXInOwoJCSRnaWQgPSAoaW50KSRnZGF0YVsnZ2F0ZV9pZCddOwoJCSRyZXMgPSAkZGItPkdldEFsbCgkcXVlcnksYXJyYXkoJGdpZCkpOwoJCWlmKCAkcmVzICkKCQl7CgkJCWZvcmVhY2goICRyZXMgYXMgJiRyb3cgKQoJCQl7CgkJCQkkb2IgPSAob2JqZWN0KSRyb3c7CgkJCQkvL2FkanVzdG1lbnRzCgkJCQlpZigkb2ItPmVuY3J5cHQpCgkJCQkJJG9iLT52YWx1ZSA9IHNtc2dfdXRpbHM6OmRlY3J5cHRfdmFsdWUoJG1vZHVsZSwkb2ItPmVuY3ZhbHVlKTsKCQkJCXVuc2V0KCRvYi0+ZW5jdmFsdWUpOwoJCQkJJG9iLT5zcGFjZSA9ICRhbGlhcy4nficuJG9iLT5hcGluYW1lLid+JzsgLy9mb3IgZ2F0ZXdheS1kYXRhICduYW1lc3BhY2UnCgkJCQkkcGFybXNbXSA9ICRvYjsKCQkJfQoJCQl1bnNldCgkcm93KTsKCQl9CgkJJGRjb3VudCA9IGNvdW50KCRwYXJtcyk7CgkJaWYoJGRjb3VudCA9PSAwKQoJCXsKCQkJJG9iID0gbmV3IHN0ZENsYXNzKCk7CgkJCSRvYi0+dGl0bGUgPSAkbW9kdWxlLT5MYW5nKCdlcnJvcl9ub2RhdGFmb3VuZCcpOwoJCQkkb2ItPnZhbHVlID0gJyc7CgkJCSRvYi0+YXBpbmFtZSA9IEZBTFNFOyAvL3ByZXZlbnQgaW5wdXQtb2JqZWN0IGNyZWF0aW9uCgkJCSRvYi0+c3BhY2UgPSAnJzsKCQkJJHBhcm1zW10gPSAkb2I7CgkJfQoJCSRzbWFydHktPmFzc2lnbignZGF0YScsJHBhcm1zKTsKCQkkc21hcnR5LT5hc3NpZ24oJ2Rjb3VudCcsJGRjb3VudCk7CgkJJHNtYXJ0eS0+YXNzaWduKCdzcGFjZScsJGFsaWFzKTsgLy9mb3IgZ2F0ZXdheS1kYXRhICduYW1lc3BhY2UnCgkJJHNtYXJ0eS0+YXNzaWduKCdnYXRlaWQnLCRnaWQpOwoJCWlmKCAkcGFkbSApCgkJewoJCQkkc21hcnR5LT5hc3NpZ24oJ3RpdGxlX3RpdGxlJywkbW9kdWxlLT5MYW5nKCd0aXRsZScpKTsKCQkJJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV92YWx1ZScsJG1vZHVsZS0+TGFuZygndmFsdWUnKSk7CgkJCSRzbWFydHktPmFzc2lnbigndGl0bGVfZW5jcnlwdCcsJG1vZHVsZS0+TGFuZygnZW5jcnlwdCcpKTsKCQkJJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV9hcGluYW1lJywkbW9kdWxlLT5MYW5nKCdhcGluYW1lJykpOwoJCQkkc21hcnR5LT5hc3NpZ24oJ3RpdGxlX2VuYWJsZWQnLCRtb2R1bGUtPkxhbmcoJ2VuYWJsZWQnKSk7CgkJCSRzbWFydHktPmFzc2lnbigndGl0bGVfaGVscCcsJG1vZHVsZS0+TGFuZygnaGVscHRpdGxlJykpOwoJCQkkc21hcnR5LT5hc3NpZ24oJ3RpdGxlX3NlbGVjdCcsJG1vZHVsZS0+TGFuZygnc2VsZWN0JykpOwoJCQkkc21hcnR5LT5hc3NpZ24oJ2hlbHAnLAoJCQkgJG1vZHVsZS0+TGFuZygnaGVscF9kbmQnKS4nPGJyIC8+Jy4kbW9kdWxlLT5MYW5nKCdoZWxwX3N1cmUnKSk7CgkJCSRpZCA9ICRzbWFydHktPnRwbF92YXJzWydhY3Rpb25pZCddLT52YWx1ZTsKCQkJJHRleHQgPSAkbW9kdWxlLT5MYW5nKCdhZGRfcGFyYW1ldGVyJyk7CgkJCSRzbWFydHktPmFzc2lnbignYWRkaXRlbScsJG1vZHVsZS0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRkZ2F0ZScsCgkJCSAnJywkdGV4dCwnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLGFycmF5KCdnYXRlX2lkJz0+JGdpZCksJ3N5c3RlbWljb24nLCcnLEZBTFNFKSk7CgkJCWlmKCAkZGNvdW50ID4gMCApCgkJCQkkc21hcnR5LT5hc3NpZ24oJ2J0bmRlbGV0ZScsJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCRhbGlhcy4nfmRlbGV0ZScsCgkJCQkgJG1vZHVsZS0+TGFuZygnZGVsZXRlJyksJ3RpdGxlPSInLiRtb2R1bGUtPkxhbmcoJ2RlbGV0ZV90aXAnKS4KCQkJCSAnIiBvbmNsaWNrPSJpZihyb3dfc2VsZWN0ZWQoZXZlbnQsdGhpcykpIHtyZXR1cm4gY29uZmlybShcJycuJG1vZHVsZS0+TGFuZygnc3VyZV9hc2snKS4nXCcpO30gZWxzZSB7cmV0dXJuIGZhbHNlO30iJykpOwoJCX0KCQkvLyBhbnl0aGluZyBlbHNlIHRvIHNldCB1cCBmb3IgdGhlIHRlbXBsYXRlCgkJJHRoaXMtPmN1c3RvbV9zZXR1cCgkc21hcnR5LCRwYWRtKTsgLy9lLmcuIGVhY2ggJG9iLT5zaXplCgkJJHRwbCA9ICgkcGFkbSkgPyAnZ2F0ZWRhdGFfYWRtaW4udHBsJyA6ICdnYXRlZGF0YV9tb2QudHBsJzsKCQlyZXR1cm4gJG1vZHVsZS0+UHJvY2Vzc1RlbXBsYXRlKCR0cGwpOwoJfQoKCS8qKgoJaGFuZGxlX3NldHVwX2Zvcm06CglAcGFyYW1zOiBhcnJheSBvZiBwYXJhbXRlcnMgcHJvdmlkZWQgYWZ0ZXIgYWRtaW4gZm9ybSAnc3VibWl0JwoJUGFyc2VzIHJlbGV2YW50IEBwYXJhbXMgaW50byBzdG9yZWQgZGF0YSwgb3IgZGVsZXRlcyBzdG9yZWQgZGF0YSBpZiBzbyBpbnN0cnVjdGVkCgkqLwoJcHVibGljIGZ1bmN0aW9uIGhhbmRsZV9zZXR1cF9mb3JtKCRwYXJhbXMpCgl7CgkJJGFsaWFzID0gJHRoaXMtPmdldF9hbGlhcygpOwoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHByZWYgPSBjbXNfZGJfcHJlZml4KCk7CgoJCSRnaWQgPSAoaW50KSRwYXJhbXNbJGFsaWFzLid+Z2F0ZV9pZCddOwoJCXVuc2V0KCRwYXJhbXNbJGFsaWFzLid+Z2F0ZV9pZCddKTsKCgkJJHRoaXMtPmN1c3RvbV9zYXZlKCRwYXJhbXMpOyAvL2FueSBnYXRld2F5LXNwZWNpZmljIGFkanVzdG1lbnRzIHRvICRwYXJhbXMKCQkkZGVsZXRlID0gaXNzZXQoJHBhcmFtc1skYWxpYXMuJ35kZWxldGUnXSk7CgoJCSRzcmNoID0gYXJyYXkoJyAnLCInIiwnIicsJz0nLCdcXCcsJy8nLCdcMCcsIlxuIiwiXHIiLCdceDFhJyk7CgkJJHJlcGwgPSBhcnJheSgnJyAsJycgLCcnICwnJyAsJycgICwnJyAsJycgICwnJyAgLCcnICAsJycgKTsKCQkkY29uZHMgPSBhcnJheSgpOwoKCQlpZiggJGRlbGV0ZSApCgkJewoJCQl1bnNldCgkcGFyYW1zWyRhbGlhcy4nfmRlbGV0ZSddKTsKCQkJJHNxbDEyID0gJ0RFTEVURSBGUk9NICcuJHByZWYuJ21vZHVsZV9zbXNnX3Byb3BzIFdIRVJFIGdhdGVfaWQ9PyBBTkQgYXBpbmFtZT0/JzsKCQl9CgkJLy9hY2N1bXVsYXRlIGRhdGEgKGluIGFueSBvcmRlcikgaW50byBlYXNpbHktdXNhYmxlIGZvcm1hdAoJCWZvcmVhY2goICRwYXJhbXMgYXMgJGtleT0+JHZhbCApCgkJewoJCQkvLyRrZXkgaXMgbGlrZSAnY2xpY2thdGVsbH51c2VyfnRpdGxlJwoJCQlpZiggc3RycG9zKCRrZXksJGFsaWFzKSA9PT0gMCApCgkJCXsKCQkJCSRwYXJ0cyA9IGV4cGxvZGUoJ34nLCRrZXkpOyAvL2hlbmNlIFswXT0kYWxpYXMsWzFdPWFwaW5hbWUtZmllbGQgdmFsdWUsWzJdKG1vc3RseSk9ZmllbGRuYW1lIHRvIHVwZGF0ZQoJCQkJaWYoICRwYXJ0c1syXSAmJiAkcGFydHNbMl0gIT0gJ3NlbCcgJiYgISRkZWxldGUgKQoJCQkJewoJCQkJCS8vZm9pbCBpbmplY3Rpb24tYXR0ZW1wdHMKCQkJCQkkcGFydHNbMl0gPSBzdHJfcmVwbGFjZSgkc3JjaCwkcmVwbCwkcGFydHNbMl0pOwoJCQkJCWlmKCBwcmVnX21hdGNoKCcvW15cd35AI1wkJSY/Ky06fF0vJywkcGFydHNbMl0pICkKCQkJCQkJY29udGludWU7CgkJCQkJaWYoJHBhcnRzWzFdKQoJCQkJCXsKCQkJCQkJJHBhcnRzWzFdID0gc3RyX3JlcGxhY2UoJHNyY2gsJHJlcGwsJHBhcnRzWzFdKTsKCQkJCQkJaWYoIHByZWdfbWF0Y2goJy9bXlx3fkAjXCQlJj8rLTp8XS8nLCRwYXJ0c1sxXSkgKQoJCQkJCQkJY29udGludWU7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQkJJHBhcnRzWzFdID0gJ3RvZG8nOwoJCQkJCWlmKCFhcnJheV9rZXlfZXhpc3RzKCRwYXJ0c1sxXSwkY29uZHMpKQoJCQkJCQkkY29uZHNbJHBhcnRzWzFdXSA9IGFycmF5KCk7CgkJCQkJJGNvbmRzWyRwYXJ0c1sxXV1bJHBhcnRzWzJdXSA9ICR2YWw7CgkJCQl9CgkJCQllbHNlaWYoICRkZWxldGUgJiYgJHBhcnRzWzJdID09ICdzZWwnICkKCQkJCXsKCQkJCQkkZGItPkV4ZWN1dGUoJHNxbDEyLGFycmF5KCRnaWQsJHBhcnRzWzFdKSk7CgkJCQl9CgkJCX0KCQl9CgkJaWYoICRkZWxldGUgKQoJCQlyZXR1cm47CgoJCSRwYWRtID0gJHRoaXMtPl9tb2R1bGUtPkNoZWNrUGVybWlzc2lvbignQWRtaW5pc3RlclNNU0dhdGV3YXlzJyk7CgkJJG8gPSAxOwoJCWZvcmVhY2goJGNvbmRzIGFzICRhcGluYW1lPT4mJGRhdGEpCgkJewoJCQkkZW5jID0gKCBpc3NldCgkZGF0YVsnZW5jcnlwdCddKSApID8gMTowOwoJCQkkZGF0YVsnZW5jcnlwdCddID0gJGVuYzsKCQkJaWYoICRlbmMgKQoJCQl7CgkJCQkkZGF0YVsnZW5jdmFsdWUnXSA9IHNtc2dfdXRpbHM6OmVuY3J5cHRfdmFsdWUoJHRoaXMtPl9tb2R1bGUsJGRhdGFbJ3ZhbHVlJ10pOwoJCQkJJGRhdGFbJ3ZhbHVlJ10gPSBOVUxMOwoJCQl9CgkJCWVsc2UKCQkJCSRkYXRhWydlbmN2YWx1ZSddID0gTlVMTDsKCQkJaWYoICRwYWRtICkKCQkJCSRkYXRhWydlbmFibGVkJ10gPSAoaXNzZXQoJGRhdGFbJ2VuYWJsZWQnXSkpID8gMTowOwoJCQkkc3FsID0gJ1VQREFURSAnLiRwcmVmLidtb2R1bGVfc21zZ19wcm9wcyBTRVQgJwoJCQkJLmltcGxvZGUoJz0/LCcsYXJyYXlfa2V5cygkZGF0YSkpLgoJCQkJJz0/LHNpZ25hdHVyZT1DQVNFIFdIRU4gc2lnbmF0dXJlIElTIE5VTEwgVEhFTiA/IEVMU0Ugc2lnbmF0dXJlIEVORCxhcGlvcmRlcj0/IFdIRVJFIGdhdGVfaWQ9PyBBTkQgYXBpbmFtZT0/JzsKCQkJLy9OT1RFIGFueSByZWNvcmQgZm9yIGEgbmV3IHBhcmFtZXRlciBpbmNsdWRlcyBhcGluYW1lPSd0b2RvJyAmIHNpZ25hdHVyZT1OVUxMCgkJCSRzaWcgPSAoICRhcGluYW1lICE9ICd0b2RvJyApID8gJGFwaW5hbWUgOiAkZGF0YVsnYXBpbmFtZSddOwoJCQkkYXJncyA9IGFycmF5X21lcmdlKGFycmF5X3ZhbHVlcygkZGF0YSksYXJyYXkoJHNpZywkbywkZ2lkLCRhcGluYW1lKSk7CgkJCSRhcmVzID0gJGRiLT5FeGVjdXRlKCRzcWwsJGFyZ3MpOwoJCQkkbysrOwoJCX0KCQl1bnNldCgkZGF0YSk7Cgl9CgoJLy9Gb3IgaW50ZXJuYWwgdXNlIG9ubHkKCS8vUmVjb3JkIG9yIHVwZGF0ZSBnYXRld2F5LXNwZWNpZmljIGRldGFpbHMgaW4gdGhlIG1vZHVsZSdzIGRhdGFiYXNlIHRhYmxlcwoJLy9SZXR1cm5zIGtleS12YWx1ZSBvZiB0aGUgcm93IGFkZGVkIHRvIHRoZSBnYXRlcy10YWJsZSxmb3IgdGhlIGdhdGV3YXkKCWFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiB1cHNlcnRfdGFibGVzKCk7CgoJLy9Gb3IgaW50ZXJuYWwgdXNlIG9ubHkKCS8vU2V0dXAgZ2F0ZXdheS1zcGVjaWZpYyBkZXRhaWxzIGZvciBkZWZhdWx0YWRtaW4gYWN0aW9uCgkvLyRwYWRtID0gYm9vbGVhbixUUlVFIGlmIGN1cnJlbnQgdXNlciBoYXMgQWRtaW5pc3RlclNNU0dhdGV3YXlzIHBlcm1pc3Npb24KCWFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBjdXN0b21fc2V0dXAoJiRzbWFydHksJHBhZG0pOwoKCS8vRm9yIGludGVybmFsIHVzZSBvbmx5CgkvL1Byb2Nlc3MgZ2F0ZXdheS1zcGVjaWZpYyBkZXRhaWxzIGFmdGVyICdzdWJtaXQnIGluIGRlZmF1bHRhZG1pbiBhY3Rpb24KCWFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBjdXN0b21fc2F2ZSgmJHBhcmFtcyk7CgoJLyoqCglnZXRfbmFtZToKCVJldHVybnMgc3RyaW5nIHdoaWNoIGlzIHRoZSh1bi10cmFuc2xhdGVkKSBnYXRld2F5IGlkZW50aWZpZXIKCSovCglhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKTsKCgkvKioKCWdldF9hbGlhczoKCVJldHVybnMgc3RyaW5nIHdoaWNoIGlzIHRoZSh1bi10cmFuc2xhdGVkKSBnYXRld2F5IGFsaWFzLHVzZWQgZm9yIGNsYXNzbmFtZSBldGMKCSovCglhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X2FsaWFzKCk7CgoJLyoqCglnZXRfZGVzY3JpcHRpb246CglSZXR1cm5zIHN0cmluZyB3aGljaCBpcyBhKHRyYW5zbGF0ZWQpIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBnYXRld2F5CgkqLwoJYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGdldF9kZXNjcmlwdGlvbigpOwoKCS8qKgoJc3VwcG9ydF9jdXN0b21fc2VuZGVyOgoJUmV0dXJucyBib29sZWFuIFRSVUUvRkFMU0UgYWNjb3JkaW5nIHRvIHdoZXRoZXIgdGhlIGdhdGV3YXkgYWxsb3dzIHVzZSBvZgoJYSB1c2VyLXNwZWNpZmllZCBzb3VyY2UtcGhvbmUtbnVtYmVyKHdoaWNoIG1pZ2h0IG5lZWQgdG8gYmUgYSBudW1iZXIgcHJlLWFycmFuZ2VkCgl3aXRoIHRoZSBnYXRld2F5IHN1cHBsaWVyKQoJKi8KCWFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBzdXBwb3J0X2N1c3RvbV9zZW5kZXIoKTsKCgkvKioKCXJlcXVpcmVfY291bnRyeV9wcmVmaXg6CglSZXR1cm5zIGJvb2xlYW4gVFJVRS9GQUxTRSBhY2NvcmRpbmcgdG8gd2hldGhlciBhIGNvdW50cnktY29kZSBwcmVmaXggZm9yCgltdXN0IGJlIHByZXBlbmRlZCB0byBkZXN0aW5hdGlvbiBwaG9uZS1udW1iZXJzCgkqLwoJYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIHJlcXVpcmVfY291bnRyeV9wcmVmaXgoKTsKCgkvKioKCXJlcXVpcmVfcGx1c19wcmVmaXg6CglSZXR1cm5zIGJvb2xlYW4gVFJVRS9GQUxTRSBhY2NvcmRpbmcgdG8gd2hldGhlciB0aGUgY291bnRyeS1jb2RlIHByZWZpeCBmb3IKCWRlc3RpbmF0aW9uIG51bWJlcnMgbXVzdCBiZWdpbiB3aXRoIGEgJysnIGNoYXJhY3RlcgoJKi8KCWFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiByZXF1aXJlX3BsdXNfcHJlZml4KCk7CgoJLyoqCgltdWx0aV9udW1iZXJfc2VwYXJhdG9yOgoJUmV0dXJucyBzdHJpbmcgY29udGFpbmluZyBjaGFyYWN0ZXIgdG8gYmUgdXNlZCBmb3Igc2VwYXJhdGluZyBudW1iZXJzIGluCgltdWx0aS1kZXN0aW5hdGlvbiAndG8nIHZhbHVlcyxvciBGQUxTRSBpZiBvbmx5IHNpbmdsZS1kZXN0aW5hdGlvbiBpcyBhbGxvd2VkCgkqLwoJYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIG11bHRpX251bWJlcl9zZXBhcmF0b3IoKTsKCgkvKioKCXN1cHBvcnRfbW1zOgoJUmV0dXJucyBib29sZWFuIFRSVUUvRkFMU0UgYWNjb3JkaW5nIHRvIHdoZXRoZXIgdGhlIGdhdGV3YXkgc3VwcG9ydHMgYXV0b21hdGljCglwYXJ0aXRpb25pbmcgb2YgbWVzc2FnZXMgbG9uZ2VyIHRoYW4gMTYwIGNoYXJzIGludG8gYSBzZXJpZXMgb2Ygc2hvcnRlciBwYXJ0cwoJKi8KCWFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBzdXBwb3J0X21tcygpOwoKCS8vUGVyZm9ybSBwcmUtbWVzc2FnZS1zZW5kIGluaXRpYWxpc2F0aW9uIG9yIGNoZWNrcyxpZiBhbnkKCS8vUmV0dXJucyBub3RoaW5nCglhYnN0cmFjdCBwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0dXAoKTsKCgkvL0NvbnN0cnVjdCB0aGUgYWN0dWFsIHN0cmluZyB0byBiZSBzZW50IHRvIHRoZSBnYXRld2F5CgkvL1JldHVybnMgdGhhdCBzdHJpbmcsb3IgZWxzZSBlbXB0eSBzdHJpbmcgb3IgbGl0ZXJhbCBGQUxTRSB1cG9uIGZhaWx1cmUKCS8vTWF5IHJldHVybiBkdW1teSBlLmcuICdnb29kJyBvciAnICcgaWYgc3VjaCBzdHJpbmcgaXNuJ3QgbmVlZGVkCglhYnN0cmFjdCBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJlcF9jb21tYW5kKCk7CgoJLy9JbnRlcnByZXQgJHJlcyhzdHJpbmcgb3Igb2JqZWN0LHVzdWFsbHkpIHJldHVybmVkIGZyb20gbGFzdCBtZXNzYWdlLXNlbmQgcHJvY2VzcwoJYWJzdHJhY3QgcHJvdGVjdGVkIGZ1bmN0aW9uIHBhcnNlX3Jlc3VsdCgkcmVzKTsKCgkvKioKCXByb2Nlc3NfZGVsaXZlcnlfcmVwb3J0OgoJSW50ZXJwcmV0IG1lc3NhZ2UtZGVsaXZlcnkgcmVwb3J0IChkZXRhaWxzIGluICRfUkVRVUVTVCkgYW5kIHJldHVybiByZXN1bHRhbnQKCXN0cmluZywgc3VpdGFibGUgZm9yIHB1YmxpYyBkaXNwbGF5IG9yIGxvZ2dpbmcKCSovCglhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gcHJvY2Vzc19kZWxpdmVyeV9yZXBvcnQoKTsKCgkvL0ZvciBpbnRlcm5hbCB1c2Ugb25seQoJLy9HZXQgc3RyaW5nIHJldHVybmVkIGJ5IGdhdGV3YXkgaW4gcmVzcG9uc2UgdG8gbWVzc2FnZS1zZW5kIHByb2Nlc3MKCWFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBnZXRfcmF3X3N0YXR1cygpOwoKfQoKPz4KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/gateways/class.clickatell_sms_gateway.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgY2xpY2thdGVsbF9zbXNfZ2F0ZXdheSBleHRlbmRzIHNtc19nYXRld2F5X2Jhc2UKewoJY29uc3QgQ1RFTExfSFRUUF9HQVRFV0FZID0gJ2h0dHA6Ly9hcGkuY2xpY2thdGVsbC5jb20vaHR0cCc7Cgljb25zdCBDVEVMTF9BUElfVVJMID0gJ2h0dHBzOi8vd3d3LmNsaWNrYXRlbGwuY29tL2FwaXMtc2NyaXB0cy9hcGlzL2h0dHAtcyc7CgkvL0NIRUNLTUUgaHR0cHMgPwoJcHJpdmF0ZSAkX3Jhd3N0YXR1czsKCglwdWJsaWMgZnVuY3Rpb24gZ2V0X25hbWUoKQoJewoJCXJldHVybiAnQ2xpY2thdGVsbCc7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGdldF9hbGlhcygpCgl7CgkJcmV0dXJuICdjbGlja2F0ZWxsJzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rlc2NyaXB0aW9uKCkKCXsKCQlyZXR1cm4gJHRoaXMtPl9tb2R1bGUtPkxhbmcoJ2Rlc2NyaXB0aW9uX2NsaWNrYXRlbGwnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gc3VwcG9ydF9jdXN0b21fc2VuZGVyKCkKCXsKCQlyZXR1cm4gVFJVRTsgLy9vbmx5IHJlZ2lzdGVyZWQvYXBwcm92ZWQvcHVyY2hhc2VkIG51bWJlcnMKCX0KCglwdWJsaWMgZnVuY3Rpb24gc3VwcG9ydF9tbXMoKQoJewoJCXJldHVybiBGQUxTRTsgLy9UT0RPCgl9CgoJcHVibGljIGZ1bmN0aW9uIHJlcXVpcmVfY291bnRyeV9wcmVmaXgoKQoJewoJCXJldHVybiBUUlVFOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiByZXF1aXJlX3BsdXNfcHJlZml4KCkKCXsKCQlyZXR1cm4gRkFMU0U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIG11bHRpX251bWJlcl9zZXBhcmF0b3IoKQoJewoJCXJldHVybiBGQUxTRTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdXBzZXJ0X3RhYmxlcygpCgl7CgkJJGdpZCA9IHNtc2dfdXRpbHM6OnNldGdhdGUoJHRoaXMpOwoJCWlmKCRnaWQpCgkJewoJCQlwYXJlbnQ6OnNldF9nYXRlaWQoJGdpZCk7CgkJCSRtb2R1bGUgPSAkdGhpcy0+X21vZHVsZTsKCQkgICAgLy9zZXRwcm9wcygpIGFyZ3VtZW50ICRwcm9wcyA9IGFycmF5IG9mIGFycmF5cywgZWFjaCB3aXRoIFswXT10aXRsZSBbMV09YXBpbmFtZSBbMl09dmFsdWUgWzNdPWVuY3J5cHQKCQkJc21zZ191dGlsczo6c2V0cHJvcHMoJGdpZCxhcnJheSgKCQkJIGFycmF5KCRtb2R1bGUtPkxhbmcoJ3VzZXJuYW1lJyksJ3VzZXInLE5VTEwsMCksCgkJCSBhcnJheSgkbW9kdWxlLT5MYW5nKCdwYXNzd29yZCcpLCdwYXNzd29yZCcsTlVMTCwxKSwKCQkJIGFycmF5KCRtb2R1bGUtPkxhbmcoJ2FwaWlkJyksJ2FwaV9pZCcsTlVMTCwwKQoJCQkpKTsKCQl9CgkJcmV0dXJuICRnaWQ7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGN1c3RvbV9zZXR1cCgmJHNtYXJ0eSwkcGFkbSkKCXsKCQlmb3JlYWNoKCRzbWFydHktPnRwbF92YXJzWydkYXRhJ10tPnZhbHVlIGFzICYkb2IpCgkJewoJCQlpZigkb2ItPnNpZ25hdHVyZSA9PSAncGFzc3dvcmQnKQoJCQl7CgkJCQkkb2ItPnNpemUgPSAyMDsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJCXVuc2V0KCRvYik7CgkJaWYoJHBhZG0pCgkJewoJCQkkaGVscCA9ICRzbWFydHktPnRwbF92YXJzWydoZWxwJ10tPnZhbHVlLic8YnIgLz4nLgoJCQkgJHRoaXMtPl9tb2R1bGUtPkxhbmcoJ2hlbHBfdXJsY2hlY2snLHNlbGY6OkNURUxMX0FQSV9VUkwsc2VsZjo6Z2V0X25hbWUoKS4nIEFQSScpOwoJCQkkc21hcnR5LT5hc3NpZ24oJ2hlbHAnLCRoZWxwKTsKCQl9Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGN1c3RvbV9zYXZlKCYkcGFyYW1zKQoJewoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiBzZXR1cCgpCgl7Cgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIHByZXBfY29tbWFuZCgpCgl7CgkJJGdpZCA9IHBhcmVudDo6Z2V0X2dhdGVpZChzZWxmOjpnZXRfYWxpYXMoKSk7CgkJJHBhcm1zID0gc21zZ191dGlsczo6Z2V0cHJvcHMoJHRoaXMtPl9tb2R1bGUsJGdpZCk7CgkJaWYoCgkJICRwYXJtc1sndXNlciddWyd2YWx1ZSddID09IEZBTFNFIHx8CgkJICRwYXJtc1sncGFzc3dvcmQnXVsndmFsdWUnXSA9PSBGQUxTRSB8fAoJCSAkcGFybXNbJ2FwaV9pZCddWyd2YWx1ZSddID09IEZBTFNFCgkJKQoJCXsKCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfRVJST1JfQVVUSDsKCQkJcmV0dXJuIEZBTFNFOwoJCX0KCQlpZiggJHRoaXMtPl9udW0gPT0gRkFMU0UgKQoJCXsKCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfRVJST1JfSU5WQUxJRF9EQVRBOwoJCQlyZXR1cm4gRkFMU0U7CgkJfQoJCSR0ZXh0ID0gc3RyaXBfdGFncygkdGhpcy0+X21zZyk7CgkJaWYoICFzZWxmOjpzdXBwb3J0X21tcygpICkKCQkJJHRleHQgPSBzdWJzdHIoJHRleHQsMCwxNjApOwoJCWlmKCAhc21zZ191dGlsczo6dGV4dF9pc192YWxpZCgkdGV4dCwwKSApCgkJewoJCQkkdGhpcy0+X3N0YXR1cyA9IHBhcmVudDo6U1RBVF9FUlJPUl9JTlZBTElEX0RBVEE7CgkJCXJldHVybiBGQUxTRTsKCQl9CgoJCSRzZW5kcyA9IGFycmF5KCk7CgkJZm9yZWFjaCgkcGFybXMgYXMgJiR2YWwpCgkJCSRzZW5kc1skdmFsWydhcGluYW1lJ11dID0gJHZhbFsndmFsdWUnXTsgLy9DSEVDS01FIHVybGVuY29kZSA/CgkJdW5zZXQoJHZhbCk7CgoJCSRzZW5kc1sndG8nXSA9ICR0aGlzLT5fbnVtOwovKgpmcm9tID0gaW50ZXJuYXRpb25hbCBmb3JtYXQgbnVtYmVyLCByZWdpc3RlcmVkIGFuZCBhcHByb3ZlZApjYWxsYmFjayB0byByZWdpc3RlcmVkIFVSTApjb25jYXQgMiBvciAzIGpvaW5lZCBtZXNzYWdlcwpyZXFfZmVhdApxdWV1ZSAxLDIsMyAxPWhpZ2hlc3QgcHJpb3JpdHksIDM9ZGVmYXVsdAoqLwoJCSRzZW5kc1sndGV4dCddID0gdXJsZW5jb2RlKCR0ZXh0KTsKCgkJJHN0ciA9IGNnZV9hcnJheTo6aW1wbG9kZV93aXRoX2tleSgkc2VuZHMpOwoJCSRzdHIgPSBzZWxmOjpDVEVMTF9IVFRQX0dBVEVXQVkuJy9zZW5kbXNnPycuc3RyX3JlcGxhY2UoJ2FtcDsnLCcnLCRzdHIpOwoJCXJldHVybiAkc3RyOwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiBwYXJzZV9yZXN1bHQoJHN0cikKCXsKCQkkdGhpcy0+X3Jhd3N0YXR1cyA9ICRzdHI7Ci8qCgkJdG8gb25lCgkJSUQ6IGFwaW1zZ2lkCgkJb3I6CgkJRVJSOiBFcnJvciBudW1iZXIsIGVycm9yIGRlc2NyaXB0aW9uCgoJCXRvIG1hbnkKCQlJRDogYXBpbXNnaWQgVG86IHh4eHh4eAoJCUlEOiBhcGltc2dpZCBUbzogeHh4eHh4CQkKCQlvcjoKCQlFUlI6IEVycm9yIG51bWJlciwgZXJyb3IgZGVzY3JpcHRpb24gVG86IGRlc3RpbmF0aW9uIGFkZHJlc3MKCQlFUlI6IEVycm9yIG51bWJlciwgZXJyb3IgZGVzY3JpcHRpb24gVG86IGRlc3RpbmF0aW9uIGFkZHJlc3MKCQkKMDAxIEF1dGhlbnRpY2F0aW9uIGZhaWxlZCBBdXRoZW50aWNhdGlvbiBkZXRhaWxzIGFyZSBpbmNvcnJlY3QuCjAwMiBVbmtub3duIHVzZXJuYW1lIG9yIHBhc3N3b3JkIEF1dGhvcml6YXRpb24gZXJyb3IsIHVua25vd24gdXNlciBuYW1lIG9yIGluY29ycmVjdCBwYXNzd29yZC4KMDAzIFNlc3Npb24gSUQgZXhwaXJlZCBUaGUgc2Vzc2lvbiBJRCBoYXMgZXhwaXJlZCBhZnRlciBhIHByZS1zZXQgdGltZSBvZiBpbmFjdGl2aXR5LgowMDUgTWlzc2luZyBzZXNzaW9uIElEIE1pc3Npbmcgc2Vzc2lvbiBJRCBhdHRyaWJ1dGUgaW4gcmVxdWVzdC4KMDA3IElQIExvY2tkb3duIHZpb2xhdGlvbiBZb3UgaGF2ZSBsb2NrZWQgZG93biB0aGUgQVBJIGluc3RhbmNlIHRvIGEgc3BlY2lmaWMgSVAgYWRkcmVzcyBhbmQgdGhlbiBzZW50IGZyb20gYW4gSVAgYWRkcmVzcyBkaWZmZXJlbnQgdG8gdGhlIG9uZSB5b3Ugc2V0LgoxMDEgSW52YWxpZCBvciBtaXNzaW5nIHBhcmFtZXRlcnMgT25lIG9yIG1vcmUgcmVxdWlyZWQgcGFyYW1ldGVycyBhcmUgbWlzc2luZyBvciBpbnZhbGlkCjEwMiBJbnZhbGlkIHVzZXIgZGF0YSBoZWFkZXIgVGhlIGZvcm1hdCBvZiB0aGUgdXNlciBkYXRhIGhlYWRlciBpcyBpbmNvcnJlY3QuCjEwMyBVbmtub3duIEFQSSBtZXNzYWdlIElEIFRoZSBBUEkgbWVzc2FnZSBJRCBpcyB1bmtub3duLiBMb2cgaW4gdG8geW91ciBBUEkgYWNjb3VudCB0byBjaGVjayB0aGUgSUQgb3IgY3JlYXRlIGEgbmV3IG9uZS4KMTA0IFVua25vd24gY2xpZW50IG1lc3NhZ2UgSUQgVGhlIGNsaWVudCBJRCBtZXNzYWdlIHRoYXQgeW91IGFyZSBxdWVyeWluZyBkb2VzIG5vdCBleGlzdC4KMTA1IEludmFsaWQgZGVzdGluYXRpb24gYWRkcmVzcyBUaGUgZGVzdGluYXRpb24gYWRkcmVzcyB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gc2VuZCB0byBpcyBpbnZhbGlkLgoxMDYgSW52YWxpZCBzb3VyY2UgYWRkcmVzcyBUaGUgc2VuZGVyIGFkZHJlc3MgdGhhdCBpcyBzcGVjaWZpZWQgaXMgaW5jb3JyZWN0LgoxMDcgRW1wdHkgbWVzc2FnZSBUaGUgbWVzc2FnZSBoYXMgbm8gY29udGVudC4KMTA4IEludmFsaWQgb3IgbWlzc2luZyBBUEkgSUQgVGhlIEFQSSBtZXNzYWdlIElEIGlzIGVpdGhlciBpbmNvcnJlY3Qgb3IgaGFzIG5vdCBiZWVuIGluY2x1ZGVkIGluIHRoZSBBUEkgY2FsbC4KMTA5IE1pc3NpbmcgbWVzc2FnZSBJRCBUaGlzIGNhbiBiZSBlaXRoZXIgYSBjbGllbnQgbWVzc2FnZSBJRCBvciBBUEkgbWVzc2FnZSBJRC4gRm9yIGV4YW1wbGUgd2hlbiB1c2luZyB0aGUgc3RvcCBtZXNzYWdlIGNvbW1hbmQuCjExMyBNYXhpbXVtIG1lc3NhZ2UgcGFydHMgZXhjZWVkZWQgVGhlIHRleHQgbWVzc2FnZSBjb21wb25lbnQgb2YgdGhlIG1lc3NhZ2UgaXMgZ3JlYXRlciB0aGFuIHRoZSBwZXJtaXR0ZWQgMTYwIGNoYXJhY3RlcnMgKDcwIFVuaWNvZGUgY2hhcmFjdGVycykuIFNlbGVjdCBjb25jYXQgZXF1YWwgdG8gMSwyLDMtTiB0byBvdmVyY29tZSB0aGlzIGJ5IHNwbGl0dGluZyB0aGUgbWVzc2FnZSBhY3Jvc3MgbXVsdGlwbGUgbWVzc2FnZXMuCjExNCBDYW5ub3Qgcm91dGUgbWVzc2FnZSBUaGlzIGltcGxpZXMgdGhhdCB0aGUgZ2F0ZXdheSBpcyBub3QgY3VycmVudGx5IHJvdXRpbmcgbWVzc2FnZXMgdG8gdGhpcyBuZXR3b3JrIHByZWZpeC4gUGxlYXNlIGVtYWlsIHN1cHBvcnRAY2xpY2thdGVsbC5jb20gd2l0aCB0IGhlIG1vYmlsZSBudW1iZXIgaW4gcXVlc3Rpb24uCjExNSBNZXNzYWdlIGV4cGlyZWQgTWVzc2FnZSBoYXMgZXhwaXJlZCBiZWZvcmUgd2Ugd2VyZSBhYmxlIHRvIGRlbGl2ZXIgaXQgdG8gdGhlIHVwc3RyZWFtIGdhdGV3YXkuIE5vIGNoYXJnZSBhcHBsaWVzCjExNiBJbnZhbGlkIFVuaWNvZGUgZGF0YSBUaGUgZm9ybWF0IG9mIHRoZSB1bmljb2RlIGRhdGEgZW50ZXJlZCBpcyBpbmNvcnJlY3QuCjEyMCBJbnZhbGlkIGRlbGl2ZXJ5IHRpbWUgVGhlIGZvcm1hdCBvZiB0aGUgZGVsaXZlcnkgdGltZSBlbnRlcmVkIGlzIGluY29ycmVjdC4KMTIxIERlc3RpbmF0aW9uIG1vYmlsZSBudW1iZXIgYmxvY2tlZCBUaGlzIG51bWJlciBpcyBub3QgYWxsb3dlZCB0byByZWNlaXZlIG1lc3NhZ2VzIGZyb20gdXMgYW5kIGhhcyBiZWVuIHB1dCBvbiBvdXIgYmxvY2sgbGlzdC4KMTIyIERlc3RpbmF0aW9uIG1vYmlsZSBvcHRlZCBvdXQgVGhlIHVzZXIgaGFzIG9wdGVkIG91dCBhbmQgaXMgbm8gbG9uZ2VyIHN1YnNjcmliZWQgdG8geW91ciBzZXJ2aWNlLgoxMjMgSW52YWxpZCBTZW5kZXIgSUQgQSBzZW5kZXIgSUQgbmVlZHMgdG8gYmUgcmVnaXN0ZXJlZCBhbmQgYXBwcm92ZWQgYmVmb3JlIGl0IGNhbiBiZSBzdWNjZXNzZnVsbHkgdXNlZCBpbiBtZXNzYWdlIHNlbmRpbmcuCjEyOCBOdW1iZXIgZGVsaXN0ZWQgVGhpcyBlcnJvciBtYXkgYmUgcmV0dXJuZWQgd2hlbiBhIG51bWJlciBoYXMgYmVlbiBkZWxpc3RlZC4KMTMwIE1heGltdW0gTVQgbGltaXQgZXhjZWVkZWQgdW50aWwgPFVOSVggVElNRSBTVEFNUD4gVGhpcyBlcnJvciBpcyByZXR1cm5lZCB3aGVuIGFuIGFjY291bnQgaGFzIGV4Y2VlZGVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiBNVCBtZXNzYWdlcyB3aGljaCBjYW4gYmUgc2VudCBkYWlseSBvciBtb250aGx5LiBZb3UgY2FuIHNlbmQgbWVzc2FnZXMgYWdhaW4gb24gdGhlIGRhdGUgaW5kaWNhdGVkIGJ5IHRoZSBVTklYIFRJTUVTVEFNUC4KMjAxIEludmFsaWQgYmF0Y2ggSUQgVGhlIGJhdGNoIElEIHdoaWNoIHlvdSBoYXZlIGVudGVyZWQgZm9yIGJhdGNoIG1lc3NhZ2luZyBpcyBub3QgdmFsaWQuCjIwMiBObyBiYXRjaCB0ZW1wbGF0ZSBUaGUgYmF0Y2ggdGVtcGxhdGUgaGFzIG5vdCBiZWVuIGRlZmluZWQgZm9yIHRoZSBiYXRjaCBjb21tYW5kLgozMDEgTm8gY3JlZGl0IGxlZnQgSW5zdWZmaWNpZW50IGNyZWRpdHMKOTAxIEludGVybmFsIGVycm9yCiovCgkJJHBhcnRzID0gZXhwbG9kZSgnOicsJHN0cik7CgkJaWYoJHBhcnRzWzBdID09ICdJRCcpCgkJewoJCQkkdGhpcy0+X3N0YXR1cyA9IHBhcmVudDo6U1RBVF9PSzsKCQkJJHRoaXMtPl9zbXNpZCA9IHRyaW0oJHBhcnRzWzFdKTsKCQl9CgkJZWxzZQoJCXsKCQkJJHBhcnRzID0gZXhwbG9kZSgnLCcsJHBhcnRzWzFdKTsKCQkJJGNvZGUgPSB0cmltKCRwYXJ0c1swXSkgKyAwOwoJCQlzd2l0Y2goJGNvZGUpCgkJCXsKCQkJIGNhc2UgMToKCQkJIGNhc2UgMjoKCQkJIGNhc2UgNzoKCQkJIGNhc2UgMTAzOgoJCQkgY2FzZSAxMDg6CgkJCQkkdGhpcy0+X3N0YXR1cyA9IHBhcmVudDo6U1RBVF9FUlJPUl9BVVRIOwoJCQkJYnJlYWs7CgkJCSBjYXNlIDEwMToKCQkJIGNhc2UgMTA2OgoJCQkgY2FzZSAxMDc6CgkJCSBjYXNlIDExMzoKCQkJIGNhc2UgMTE2OgoJCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfRVJST1JfSU5WQUxJRF9EQVRBOwoJCQkJYnJlYWs7CgkJCSBjYXNlIDEyMToKCQkJCSR0aGlzLT5fc3RhdHVzID0gcGFyZW50OjpTVEFUX0VSUk9SX0JMT0NLRUQ7CgkJCQlicmVhazsKCQkJIGNhc2UgMTMwOgoJCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfRVJST1JfTElNSVQ7CgkJCQlicmVhazsKCQkJIGRlZmF1bHQ6CgkJCQkkdGhpcy0+X3N0YXR1cyA9IHBhcmVudDo6U1RBVF9FUlJPUl9PVEhFUjsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBwcm9jZXNzX2RlbGl2ZXJ5X3JlcG9ydCgpCgl7Ci8qCjAwMSAweDAwMSBNZXNzYWdlIHVua25vd24gVGhlIG1lc3NhZ2UgSUQgaXMgaW5jb3JyZWN0IG9yIHJlcG9ydGluZyBpcyBkZWxheWVkLgowMDIgMHgwMDIgTWVzc2FnZSBxdWV1ZWQgVGhlIG1lc3NhZ2UgY291bGQgbm90IGJlIGRlbGl2ZXJlZCBhbmQgaGFzIGJlZW4gcXVldWVkIGZvciBhdHRlbXB0ZWQgcmVkZWxpdmVyeS4KMDAzIDB4MDAzIERlbGl2ZXJlZCB0byBnYXRld2F5IERlbGl2ZXJlZCB0byB0aGUgdXBzdHJlYW0gZ2F0ZXdheSBvciBuZXR3b3JrIChkZWxpdmVyZWQgdG8gdGhlIHJlY2lwaWVudCkuCjAwNCAweDAwNCBSZWNlaXZlZCBieSByZWNpcGllbnQgQ29uZmlybWF0aW9uIG9mIHJlY2VpcHQgb24gdGhlIGhhbmRzZXQgb2YgdGhlIHJlY2lwaWVudC4KMDA1IDB4MDA1IEVycm9yIHdpdGggbWVzc2FnZSBUaGVyZSB3YXMgYW4gZXJyb3Igd2l0aCB0aGUgbWVzc2FnZSwgcHJvYmFibHkgY2F1c2VkIGJ5IHRoZSBjb250ZW50IG9mIHRoZSBtZXNzYWdlIGl0c2VsZi4KMDA2IDB4MDA2IFVzZXIgY2FuY2VsbGVkIG1lc3NhZ2UgZGVsaXZlcnkgVGhlIG1lc3NhZ2Ugd2FzIHRlcm1pbmF0ZWQgYnkgYSB1c2VyIChzdG9wIG1lc3NhZ2UgY29tbWFuZCkgb3IgYnkgb3VyIHN0YWZmLgowMDcgMHgwMDcgRXJyb3IgZGVsaXZlcmluZyBtZXNzYWdlIEFuIGVycm9yIG9jY3VycmVkIGRlbGl2ZXJpbmcgdGhlIG1lc3NhZ2UgdG8gdGhlIGhhbmRzZXQuCjAwOCAweDAwOCBPSyBNZXNzYWdlIHJlY2VpdmVkIGJ5IGdhdGV3YXkuCjAwOSAweDAwOSBSb3V0aW5nIGVycm9yIEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGF0dGVtcHRpbmcgdG8gcm91dGUgdGhlIG1lc3NhZ2UuCjAxMCAweDAwQSBNZXNzYWdlIGV4cGlyZWQgTWVzc2FnZSBoYXMgZXhwaXJlZCBiZWZvcmUgd2Ugd2VyZSBhYmxlIHRvIGRlbGl2ZXIgaXQgdG8gdGhlIHVwc3RyZWFtIGdhdGV3YXkuIE5vIGNoYXJnZSBhcHBsaWVzLgowMTEgMHgwMEIgTWVzc2FnZSBxdWV1ZWQgZm9yIGxhdGVyIGRlbGl2ZXJ5IE1lc3NhZ2UgaGFzIGJlZW4gcXVldWVkIGF0IHRoZSBnYXRld2F5IGZvciBkZWxpdmVyeSBhdCBhIGxhdGVyIHRpbWUgKGRlbGF5ZWQgZGVsaXZlcnkpLgowMTIgMHgwMEMgT3V0IG9mIGNyZWRpdCBUaGUgbWVzc2FnZSBjYW5ub3QgYmUgZGVsaXZlcmVkIGR1ZSB0byBhIGxhY2sgb2YgZnVuZHMgaW4geW91ciBhY2NvdW50LiBQbGVhc2UgcmUtcHVyY2hhc2UgY3JlZGl0cy4KMDE0IDB4MDBFIE1heGltdW0gTVQgbGltaXQgZXhjZWVkZWQgVGhlIGFsbG93YWJsZSBhbW91bnQgZm9yIE1UIG1lc3NhZ2luZyBoYXMgYmVlbiBleGNlZWRlZC4KKi8KCQkvL1RPRE8gbXVzdCBwYXJzZSAkX1JFUVVFU1QgZGlyZWN0bHkKCQkkc21zdG8gPSAnJzsKCQkkc21zaWQgPSAnJzsKCQkkc3RhdHVzID0gcGFyZW50OjpERUxJVkVSWV9VTktOT1dOOyAvL29yIHdoYXRldmVyCgkJcmV0dXJuIHNtc2dfdXRpbHM6OmdldF9kZWxpdmVyeV9tc2coJHRoaXMtPl9tb2R1bGUsJHN0YXR1cywkc21zaWQsJHNtc3RvKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0X3Jhd19zdGF0dXMoKQoJewoJCXJldHVybiAkdGhpcy0+X3Jhd3N0YXR1czsKCX0KfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/class.googlevoice_sms_gateway.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgZ29vZ2xldm9pY2Vfc21zX2dhdGV3YXkgZXh0ZW5kcyBzbXNfZ2F0ZXdheV9iYXNlCnsKCWNvbnN0IEdPT0dMRVZPSUNFX0FQSV9VUkwgPSAnaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9waHBnb29nbGV2b2ljZSc7Cglwcml2YXRlICRfcmF3c3RhdHVzOwoKCXB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCgl7CgkJcmV0dXJuICdHb29nbGUgVm9pY2UnOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRfYWxpYXMoKQoJewoJCXJldHVybiAnZ29vZ2xldm9pY2UnOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRfZGVzY3JpcHRpb24oKQoJewoJCXJldHVybiAkdGhpcy0+X21vZHVsZS0+TGFuZygnZGVzY3JpcHRpb25fZ29vZ2xldm9pY2UnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gc3VwcG9ydF9jdXN0b21fc2VuZGVyKCkKCXsKCQlyZXR1cm4gRkFMU0U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHN1cHBvcnRfbW1zKCkKCXsKCQlyZXR1cm4gRkFMU0U7IC8vVE9ETwoJfQoKCXB1YmxpYyBmdW5jdGlvbiByZXF1aXJlX2NvdW50cnlfcHJlZml4KCkKCXsKCQlyZXR1cm4gVFJVRTsgLy9UT0RPCgl9CgoJcHVibGljIGZ1bmN0aW9uIHJlcXVpcmVfcGx1c19wcmVmaXgoKQoJewoJCXJldHVybiBGQUxTRTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gbXVsdGlfbnVtYmVyX3NlcGFyYXRvcigpCgl7CgkJcmV0dXJuIEZBTFNFOyAvL1RPRE8KCX0KCglwdWJsaWMgZnVuY3Rpb24gdXBzZXJ0X3RhYmxlcygpCgl7CgkJJGdpZCA9IHNtc2dfdXRpbHM6OnNldGdhdGUoJHRoaXMpOwoJCWlmKCRnaWQpCgkJewoJCQlwYXJlbnQ6OnNldF9nYXRlaWQoJGdpZCk7CgkJCSRtb2R1bGUgPSAkdGhpcy0+X21vZHVsZTsKCQkJLy9zZXRwcm9wcygpIGFyZ3VtZW50ICRwcm9wcyA9IGFycmF5IG9mIGFycmF5cywgZWFjaCB3aXRoIFswXT10aXRsZSBbMV09YXBpbmFtZSBbMl09dmFsdWUgWzNdPWVuY3J5cHQKCQkJLy9ub25lIG9mIHRoZSBhcGluYW1lJ3MgaXMgYWN0dWFsbHkgdXNlZCAoaW5kaWNhdGVkIGJ5ICdfJyBwcmVmaXgpCgkJCXNtc2dfdXRpbHM6OnNldHByb3BzKCRnaWQsYXJyYXkoCgkJCSBhcnJheSgkbW9kdWxlLT5MYW5nKCdlbWFpbCcpLCdfZW1haWwnLE5VTEwsMCksCgkJCSBhcnJheSgkbW9kdWxlLT5MYW5nKCdwYXNzd29yZCcpLCdfcGFzc3dvcmQnLE5VTEwsMSkKCQkJKSk7CgkJfQoJCXJldHVybiAkZ2lkOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjdXN0b21fc2V0dXAoJiRzbWFydHksJHBhZG0pCgl7CgkJZm9yZWFjaCgkc21hcnR5LT50cGxfdmFyc1snZGF0YSddLT52YWx1ZSBhcyAmJG9iKQoJCXsKCQkJaWYoJG9iLT5zaWduYXR1cmUgPT0gJ19lbWFpbCcpCgkJCSAgJG9iLT5zaXplID0gMjQ7CgkJCWVsc2VpZigkb2ItPnNpZ25hdHVyZSA9PSAnX3Bhc3N3b3JkJykKCQkJICAkb2ItPnNpemUgPSAyMDsKCQl9CgkJdW5zZXQoJG9iKTsKCQlpZigkcGFkbSkKCQl7CgkJCSRoZWxwID0gJHNtYXJ0eS0+dHBsX3ZhcnNbJ2hlbHAnXS0+dmFsdWUuJzxiciAvPicuCgkJCSAkdGhpcy0+X21vZHVsZS0+TGFuZygnaGVscF91cmxjaGVjaycsc2VsZjo6R09PR0xFVk9JQ0VfQVBJX1VSTCxzZWxmOjpnZXRfbmFtZSgpLicgQVBJJyk7CgkJCSRzbWFydHktPmFzc2lnbignaGVscCcsJGhlbHApOwoJCX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gY3VzdG9tX3NhdmUoJiRwYXJhbXMpCgl7Cgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIHNldHVwKCkKCXsKCQlyZXF1aXJlX29uY2UoY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwnZ29vZ2xldm9pY2UnLCdjbGFzcy5nb29nbGV2b2ljZTIucGhwJykpOwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiBwcmVwX2NvbW1hbmQoKQoJewoJCS8vIG5lZWQgdG8gcmV0dXJuIHNvbWV0aGluZy4gZXZlbiB0aG91Z2ggd2UgaWdub3JlIGl0CgkJcmV0dXJuICdnb29kJzsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gX2NvbW1hbmQoJGNtZCkKCXsKCQl0cnkKCQl7CgkJCSRnaWQgPSBwYXJlbnQ6OmdldF9nYXRlaWQoc2VsZjo6Z2V0X2FsaWFzKCkpOwoJCQkkcGFybXMgPSBzbXNnX3V0aWxzOjpnZXRwcm9wcygkdGhpcy0+X21vZHVsZSwkZ2lkKTsKCQkJJGd2ID0gbmV3IEdvb2dsZVZvaWNlKAoJCQkkcGFybXNbJ19lbWFpbCddWyd2YWx1ZSddLAoJCQkkcGFybXNbJ19wYXNzd29yZCddWyd2YWx1ZSddKTsKCgkJCSRudW0gPSAkdGhpcy0+X251bTsKCQkJaWYoICEkbnVtICkKCQkJCXJldHVybiBGQUxTRTsKCQkJJG1zZyA9IHN0cmlwX3RhZ3MoJHRoaXMtPl9tc2cpOwoJCQlpZiggIXNlbGY6OnN1cHBvcnRfbW1zKCkgKQoJCQkJJG1zZyA9IHN1YnN0cigkbXNnLDAsMTYwKTsKCQkJaWYoICFzbXNnX3V0aWxzOjp0ZXh0X2lzX3ZhbGlkKCRtc2csMCkgKQoJCQkJcmV0dXJuIEZBTFNFOwoJCQkkZ3YtPnNtcygkbnVtLCRtc2cpOyAvL3Jlc3VsdCBpZ25vcmVkCgkJCS8vIG5lZWQgdG8gcmV0dXJuIGEgc3RhdHVzCgkJCXJldHVybiAnZ29vZCc7CgkJfQoJCWNhdGNoKEV4Y2VwdGlvbiAkZSkKCQl7CgkJCXJldHVybiAkZS0+Z2V0TWVzc2FnZSgpOwoJCX0KCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gcGFyc2VfcmVzdWx0KCRzdHIpCgl7CgkJJHRoaXMtPl9yYXdzdGF0dXMgPSAkc3RyOwoJCWlmKCAkc3RyID09ICdnb29kJyApCgkJCSR0aGlzLT5fc3RhdHVzID0gcGFyZW50OjpTVEFUX09LOwoJCWVsc2VpZiggJHN0ciA9PT0gRkFMU0UgKQoJCQkkdGhpcy0+X3N0YXR1cyA9IHBhcmVudDo6U1RBVF9FUlJPUl9JTlZBTElEX0RBVEE7CgkJZWxzZQoJCQkkdGhpcy0+X3N0YXR1cyA9IHBhcmVudDo6U1RBVF9FUlJPUl9PVEhFUjsKCX0KCglwdWJsaWMgZnVuY3Rpb24gcHJvY2Vzc19kZWxpdmVyeV9yZXBvcnQoKQoJewoJCXJldHVybiAnJzsgLy9ub3RoaW5nIHRvIHJlcG9ydCBoZXJlCgl9CgoJcHVibGljIGZ1bmN0aW9uIGdldF9yYXdfc3RhdHVzKCkKCXsKCQlyZXR1cm4gJHRoaXMtPl9yYXdzdGF0dXM7Cgl9Cn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/class.smsbroadcast_sms_gateway.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3Mgc21zYnJvYWRjYXN0X3Ntc19nYXRld2F5IGV4dGVuZHMgc21zX2dhdGV3YXlfYmFzZQp7Cgljb25zdCBTTVNCQ19BUElfVVJMID0gJ2h0dHBzOi8vd3d3LnNtc2Jyb2FkY2FzdC5jb20uYXUvQWR2YW5jZWQlMjBIVFRQJTIwQVBJLnBkZic7Cglwcml2YXRlICRfcmF3c3RhdHVzOwoKCXB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpCgl7CgkJcmV0dXJuICdTbXNicm9hZGNhc3QnOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRfYWxpYXMoKQoJewoJCXJldHVybiAnc21zYnJvYWRjYXN0JzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rlc2NyaXB0aW9uKCkKCXsKCQlyZXR1cm4gJHRoaXMtPl9tb2R1bGUtPkxhbmcoJ2Rlc2NyaXB0aW9uX3Ntc2Jyb2FkY2FzdCcpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBzdXBwb3J0X2N1c3RvbV9zZW5kZXIoKQoJewoJCXJldHVybiBUUlVFOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBzdXBwb3J0X21tcygpCgl7CgkJcmV0dXJuIEZBTFNFOyAvL1RPRE8KCX0KCglwdWJsaWMgZnVuY3Rpb24gcmVxdWlyZV9jb3VudHJ5X3ByZWZpeCgpCgl7CgkJcmV0dXJuIEZBTFNFOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiByZXF1aXJlX3BsdXNfcHJlZml4KCkKCXsKCQlyZXR1cm4gRkFMU0U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIG11bHRpX251bWJlcl9zZXBhcmF0b3IoKQoJewoJCXJldHVybiAnLCc7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHVwc2VydF90YWJsZXMoKQoJewoJCSRnaWQgPSBzbXNnX3V0aWxzOjpzZXRnYXRlKCR0aGlzKTsKCQlpZigkZ2lkKQoJCXsKCQkJcGFyZW50OjpzZXRfZ2F0ZWlkKCRnaWQpOwoJCQkkbW9kdWxlID0gJHRoaXMtPl9tb2R1bGU7CgkJICAgIC8vc2V0cHJvcHMoKSBhcmd1bWVudCAkcHJvcHMgPSBhcnJheSBvZiBhcnJheXMsIGVhY2ggd2l0aCBbMF09dGl0bGUgWzFdPWFwaW5hbWUgWzJdPXZhbHVlIFszXT1lbmNyeXB0CgkJCXNtc2dfdXRpbHM6OnNldHByb3BzKCRnaWQsYXJyYXkoCgkJCSBhcnJheSgkbW9kdWxlLT5MYW5nKCd1c2VybmFtZScpLCd1c2VybmFtZScsTlVMTCwwKSwKCQkJIGFycmF5KCRtb2R1bGUtPkxhbmcoJ3Bhc3N3b3JkJyksJ3Bhc3N3b3JkJyxOVUxMLDEpLAoJCQkgYXJyYXkoJG1vZHVsZS0+TGFuZygnZnJvbScpLCdmcm9tJyxOVUxMLDApLAoJCQkgYXJyYXkoJG1vZHVsZS0+TGFuZygncmVmZXJlbmNlJyksJ3JlZicsTlVMTCwwKQoJCQkpKTsKCQl9CgkJcmV0dXJuICRnaWQ7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGN1c3RvbV9zZXR1cCgmJHNtYXJ0eSwkcGFkbSkKCXsKCQlmb3JlYWNoKCRzbWFydHktPnRwbF92YXJzWydkYXRhJ10tPnZhbHVlIGFzICYkb2IpCgkJewoJCQlpZigkb2ItPnNpZ25hdHVyZSA9PSAncGFzc3dvcmQnKQoJCQl7CgkJCQkkb2ItPnNpemUgPSAyMDsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJCXVuc2V0KCRvYik7CgkJaWYoJHBhZG0pCgkJewoJCQkkaGVscCA9ICRzbWFydHktPnRwbF92YXJzWydoZWxwJ10tPnZhbHVlLic8YnIgLz4nLgoJCQkgJHRoaXMtPl9tb2R1bGUtPkxhbmcoJ2hlbHBfdXJsY2hlY2snLHNlbGY6OlNNU0JDX0FQSV9VUkwsc2VsZjo6Z2V0X25hbWUoKS4nIEFQSScpOwoJCQkkc21hcnR5LT5hc3NpZ24oJ2hlbHAnLCRoZWxwKTsKCQl9Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGN1c3RvbV9zYXZlKCYkcGFyYW1zKQoJewoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiBzZXR1cCgpCgl7Cgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIHByZXBfY29tbWFuZCgpCgl7CgkJcmV0dXJuICdnb29kJzsgLy9hbnl0aGluZyB3aGljaCBwYXNzZXMgdXBzdHJlYW0gdGVzdAoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiBfY29tbWFuZCgkZHVtbXkpCgl7CgkJJGdpZCA9IHBhcmVudDo6Z2V0X2dhdGVpZChzZWxmOjpnZXRfYWxpYXMoKSk7CgkJJHBhcm1zID0gc21zZ191dGlsczo6Z2V0cHJvcHMoJHRoaXMtPl9tb2R1bGUsJGdpZCk7CgkJaWYoJHBhcm1zWyd1c2VybmFtZSddWyd2YWx1ZSddID09IEZBTFNFIHx8CgkJICAgJHBhcm1zWydwYXNzd29yZCddWyd2YWx1ZSddID09IEZBTFNFKQoJCXsKCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfRVJST1JfQVVUSDsKCQkJcmV0dXJuIEZBTFNFOwoJCX0KCgkJJHRvID0gJHRoaXMtPl9udW07CgkJJHRleHQgPSBzdHJpcF90YWdzKCR0aGlzLT5fbXNnKTsKCQlpZiggIXNlbGY6OnN1cHBvcnRfbW1zKCkgKQoJCQkkdGV4dCA9IHN1YnN0cigkdGV4dCwwLDE2MCk7CgkJaWYoICEkdG8gfHwgIXNtc2dfdXRpbHM6OnRleHRfaXNfdmFsaWQoJHRleHQsMCkgKQoJCXsKCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfRVJST1JfSU5WQUxJRF9EQVRBOwoJCQlyZXR1cm4gRkFMU0U7CgkJfQoKCQkkc291cmNlID0gJHRoaXMtPl9mcm9tbnVtOyAvL2NhbiBiZSB0ZXh0IGUuZy4gJ015Q29tcGFueSc7CgkJJHJlZiA9ICcnOyAvLydhYmMxMjMnOwoKCQkkY2ggPSBjdXJsX2luaXQoJ2h0dHBzOi8vYXBpLnNtc2Jyb2FkY2FzdC5jb20uYXUvYXBpLWFkdi5waHAnKTsKCQlpZighJGNoKQoJCXsKCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfRVJST1JfT1RIRVI7CgkJCXJldHVybiBGQUxTRTsKCQl9CgoJCWZvcmVhY2goJHBhcm1zIGFzICYkdmFsKQoJCQkkdmFsID0gcmF3dXJsZW5jb2RlKCR2YWxbJ3ZhbHVlJ10pOwoJCXVuc2V0KCR2YWwpOwoKCQkkcGFybXNbJ3RvJ10gPSByYXd1cmxlbmNvZGUoJHRvKTsKCQlpZigkc291cmNlKQoJCQkkcGFybXNbJ2Zyb20nXSA9IHJhd3VybGVuY29kZSgkc291cmNlKTsKCQkkcGFybXNbJ21lc3NhZ2UnXSA9IHJhd3VybGVuY29kZSgkdGV4dCk7CgkJaWYoJHJlZikKCQkJJHBhcm1zWydyZWYnXSA9IHJhd3VybGVuY29kZSgkcmVmKTsKCgkJJHN0ciA9IGNnZV9hcnJheTo6aW1wbG9kZV93aXRoX2tleSgkcGFybXMpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnYW1wOycsJycsJHN0cik7CgoJCWN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX1BPU1QsVFJVRSk7CgkJY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUE9TVEZJRUxEUywkc3RyKTsKCQljdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUixUUlVFKTsKCQkkcmVzdWx0ID0gY3VybF9leGVjKCRjaCk7CgkJY3VybF9jbG9zZSgkY2gpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiBwYXJzZV9yZXN1bHQoJHN0cikKCXsKCQkkbGluZXMgPSBleHBsb2RlKCdcbicsJHN0cik7CgkJZm9yZWFjaCgkbGluZXMgYXMgJG9uZWxpbmUpCgkJewoJCQkkbWVzc2FnZV9kYXRhID0gZXhwbG9kZSgnOicsJG9uZWxpbmUpOwoJCQlzd2l0Y2ggKCRtZXNzYWdlX2RhdGFbMF0pCgkJCXsKCQkJIGNhc2UgJ09LJzoKCQkJCSR0aGlzLT5fcmF3c3RhdHVzID0gJyc7CgkJCQkkdGhpcy0+X3N0YXR1cyA9IHBhcmVudDo6U1RBVF9PSzsKCQkJCWJyZWFrOwoJCQkgY2FzZSAnQkFEJzoKCQkJCSR0aGlzLT5fcmF3c3RhdHVzID0gJG1lc3NhZ2VfZGF0YVsyXTsKCQkJCSR0aGlzLT5fc3RhdHVzID0gcGFyZW50OjpTVEFUX05PVFNFTlQ7CgkJCQlicmVhazsKCQkJIGNhc2UgJ0VSUk9SJzoKCQkJCSR0aGlzLT5fcmF3c3RhdHVzID0gJG1lc3NhZ2VfZGF0YVsxXTsKCQkJCSR0aGlzLT5fc3RhdHVzID0gcGFyZW50OjpTVEFUX0VSUk9SX09USEVSOwoJCQkJYnJlYWs7CgkJCX0JCQoJCX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gcHJvY2Vzc19kZWxpdmVyeV9yZXBvcnQoKQoJewoJCS8vVE9ETyBtdXN0IHBhcnNlICRfUkVRVUVTVCBkaXJlY3RseQoJCSRzbXN0byA9ICcnOwoJCSRzbXNpZCA9ICcnOwoJCSRzdGF0dXMgPSBwYXJlbnQ6OkRFTElWRVJZX1VOS05PV047IC8vb3Igd2hhdGV2ZXIKCQlyZXR1cm4gc21zZ191dGlsczo6Z2V0X2RlbGl2ZXJ5X21zZygkdGhpcy0+X21vZHVsZSwkc3RhdHVzLCRzbXNpZCwkc21zdG8pOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRfcmF3X3N0YXR1cygpCgl7CgkJcmV0dXJuICR0aGlzLT5fcmF3c3RhdHVzOwoJfQoKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/class.twilio_sms_gateway.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgdHdpbGlvX3Ntc19nYXRld2F5IGV4dGVuZHMgc21zX2dhdGV3YXlfYmFzZQp7Cgljb25zdCBUV0lMSU9fQVBJX1VSTCA9ICdodHRwczovL3d3dy50d2lsaW8uY29tL2RvY3MvYXBpJzsKCXByaXZhdGUgJF9yYXdzdGF0dXM7CgoJcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkKCXsKCQlyZXR1cm4gJ1R3aWxpbyc7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGdldF9hbGlhcygpCgl7CgkJcmV0dXJuICd0d2lsaW8nOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXRfZGVzY3JpcHRpb24oKQoJewoJCXJldHVybiAkdGhpcy0+X21vZHVsZS0+TGFuZygnZGVzY3JpcHRpb25fdHdpbGlvJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHN1cHBvcnRfY3VzdG9tX3NlbmRlcigpCgl7CgkJcmV0dXJuIEZBTFNFOyAvL29ubHkgYWNjb3VudC1zcGVjaWZpYyBmcm9tLW51bWJlcnMgYXJlIGFsbG93ZWQKCX0KCQoJcHVibGljIGZ1bmN0aW9uIHN1cHBvcnRfbW1zKCkKCXsKCQlyZXR1cm4gRkFMU0U7IC8vVE9ETwoJfQoKCXB1YmxpYyBmdW5jdGlvbiByZXF1aXJlX2NvdW50cnlfcHJlZml4KCkKCXsKCQlyZXR1cm4gVFJVRTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gcmVxdWlyZV9wbHVzX3ByZWZpeCgpCgl7CgkJcmV0dXJuIFRSVUU7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIG11bHRpX251bWJlcl9zZXBhcmF0b3IoKQoJewoJCXJldHVybiBGQUxTRTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdXBzZXJ0X3RhYmxlcygpCgl7CgkJJGdpZCA9IHNtc2dfdXRpbHM6OnNldGdhdGUoJHRoaXMpOwoJCWlmKCRnaWQpCgkJewoJCQlwYXJlbnQ6OnNldF9nYXRlaWQoJGdpZCk7CgkJCSRtb2R1bGUgPSAkdGhpcy0+X21vZHVsZTsKCQkJLy9zZXRwcm9wcygpIGFyZ3VtZW50ICRwcm9wcyA9IGFycmF5IG9mIGFycmF5cywgZWFjaCB3aXRoIFswXT10aXRsZSBbMV09YXBpbmFtZSBbMl09dmFsdWUgWzNdPWVuY3J5cHQKCQkJLy9ub25lIG9mIHRoZSBhcGluYW1lJ3MgaXMgYWN0dWFsbHkgdXNlZCAoaW5kaWNhdGVkIGJ5ICdfJyBwcmVmaXgpCgkJCXNtc2dfdXRpbHM6OnNldHByb3BzKCRnaWQsYXJyYXkoCgkJCSBhcnJheSgkbW9kdWxlLT5MYW5nKCdhY2NvdW50JyksJ19hY2NvdW50JyxOVUxMLDApLAoJCQkgYXJyYXkoJG1vZHVsZS0+TGFuZygndG9rZW4nKSwnX3Rva2VuJyxOVUxMLDEpLAoJCQkgYXJyYXkoJG1vZHVsZS0+TGFuZygnZnJvbScpLCdfZnJvbScsTlVMTCwwKQoJCQkpKTsKCQl9CgkJcmV0dXJuICRnaWQ7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGN1c3RvbV9zZXR1cCgmJHNtYXJ0eSwkcGFkbSkKCXsKCQlmb3JlYWNoKCRzbWFydHktPnRwbF92YXJzWydkYXRhJ10tPnZhbHVlIGFzICYkb2IpCgkJewoJCQlpZigkb2ItPnNpZ25hdHVyZSA9PSAnX2FjY291bnQnCgkJCXx8ICRvYi0+c2lnbmF0dXJlID09ICdfdG9rZW4nKQoJCQkJJG9iLT5zaXplID0gMzI7CgkJfQoJCXVuc2V0KCRvYik7CgkJaWYoJHBhZG0pCgkJewoJCQkkaGVscCA9ICRzbWFydHktPnRwbF92YXJzWydoZWxwJ10tPnZhbHVlLic8YnIgLz4nLgoJCQkgJHRoaXMtPl9tb2R1bGUtPkxhbmcoJ2hlbHBfdXJsY2hlY2snLHNlbGY6OlRXSUxJT19BUElfVVJMLHNlbGY6OmdldF9uYW1lKCkuJyBBUEknKTsKCQkJJHNtYXJ0eS0+YXNzaWduKCdoZWxwJywkaGVscCk7CgkJfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjdXN0b21fc2F2ZSgmJHBhcmFtcykKCXsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0dXAoKQoJewoJCXJlcXVpcmVfb25jZSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0d2lsaW8nLCdUd2lsaW8ucGhwJyk7Cgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIHByZXBfY29tbWFuZCgpCgl7CgkJcmV0dXJuICdnb29kJzsgLy9hbnl0aGluZyB3aGljaCBwYXNzZXMgdXBzdHJlYW0gdGVzdAoJfQoKCS8vcmV0dXJucyBvYmplY3Q6IFNlcnZpY2VzX1R3aWxpb19SZXN0X01lc3NhZ2Ugb3IgU2VydmljZXNfVHdpbGlvX1Jlc3RFeGNlcHRpb24sIG9yIEZBTFNFCglwcm90ZWN0ZWQgZnVuY3Rpb24gX2NvbW1hbmQoJGR1bW15KQoJewoJCSR0byA9ICR0aGlzLT5fbnVtOwoJCSRib2R5ID0gc3RyaXBfdGFncygkdGhpcy0+X21zZyk7CgkJaWYoICFzZWxmOjpzdXBwb3J0X21tcygpICkKCQkJJGJvZHkgPSBzdWJzdHIoJGJvZHksMCwxNjApOwoJCWlmKCAhJHRvIHx8ICFzbXNnX3V0aWxzOjp0ZXh0X2lzX3ZhbGlkKCRib2R5LDApICkKCQl7CgkJCSR0aGlzLT5fc3RhdHVzID0gcGFyZW50OjpTVEFUX0VSUk9SX0lOVkFMSURfREFUQTsKCQkJcmV0dXJuIEZBTFNFOwoJCX0KCgkJJGZyb20gPSAnVE9ETyc7CgkJaWYoISRmcm9tKQoJCXsKCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfRVJST1JfSU5WQUxJRF9EQVRBOwoJCQlyZXR1cm4gRkFMU0U7CgkJfQoKCQkkZ2lkID0gcGFyZW50OjpnZXRfZ2F0ZWlkKHNlbGY6OmdldF9hbGlhcygpKTsKCQkkcGFybXMgPSBzbXNnX3V0aWxzOjpnZXRwcm9wcygkdGhpcy0+X21vZHVsZSwkZ2lkKTsKCQkkb2IgPSBuZXcgU2VydmljZXNfVHdpbGlvKAoJCSAkcGFybXNbJ19hY2NvdW50J11bJ3ZhbHVlJ10sCgkJICRwYXJtc1snX3Rva2VuJ11bJ3ZhbHVlJ10KCQkpOwoKCQl0cnkKCQl7CgkJCS8vc2VuZCBpdCBOT1RFIHRoZXNlIGFycmF5IGtleXMgbXVzdCBiZSBjYXBpdGFsaXNlZAoJCQlyZXR1cm4gJG9iLT5hY2NvdW50LT5tZXNzYWdlcy0+Y3JlYXRlKGFycmF5KAoJCQkgJ0Zyb20nID0+ICRmcm9tLCdUbycgPT4gJHRvLCdCb2R5JyA9PiAkYm9keSkpOwoJCX0KCQljYXRjaCAoU2VydmljZXNfVHdpbGlvX1Jlc3RFeGNlcHRpb24gJGUpCgkJewoJCQlyZXR1cm4gJGU7CgkJfQoJfQoKCS8vJG9iID0gb2JqZWN0IFNlcnZpY2VzX1R3aWxpb19SZXN0X01lc3NhZ2Ugb2JqZWN0IG9yIFNlcnZpY2VzX1R3aWxpb19SZXN0RXhjZXB0aW9uLCBvciBGQUxTRQoJcHJvdGVjdGVkIGZ1bmN0aW9uIHBhcnNlX3Jlc3VsdCgkb2IpCgl7CgkJaWYgKCEkb2IpCgkJewoJCQkkdGhpcy0+X3Jhd3N0YXR1cyA9ICcnOwoJCQkvLyR0aGlzLT5fc3RhdHVzIHNldCBpbiBzZWxmOjpfY29tbWFuZCgpCgkJCXJldHVybjsKCQl9CgkJZWxzZWlmKGdldF9jbGFzcygkb2IpID09ICdTZXJ2aWNlc19Ud2lsaW9fUmVzdF9NZXNzYWdlJykKCQl7CgkJCWlmKCRvYi0+ZXJyb3JfY29kZSkKCQkJewoJCQkJJHRoaXMtPl9yYXdzdGF0dXMgPSAkb2ItPmVycm9yX21lc3NhZ2U7CgkJCQkkY29kZSA9IChpbnQpJG9iLT5lcnJvcl9jb2RlOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJJHRoaXMtPl9yYXdzdGF0dXMgPSAnJzsKCQkJCSRjb2RlID0gMDsKCQkJfQoJCX0KCQllbHNlIC8vU2VydmljZXNfVHdpbGlvX1Jlc3RFeGNlcHRpb24KCQl7CgkJCSR0aGlzLT5fcmF3c3RhdHVzID0gJG9iLT5nZXRNZXNzYWdlKCk7CgkJCSRjb2RlID0gJG9iLT5nZXRDb2RlKCk7CgkJfQoJCS8vc2VlIGh0dHBzOi8vd3d3LnR3aWxpby5jb20vZG9jcy9lcnJvcnMvcmVmZXJlbmNlCgkJc3dpdGNoICgkY29kZSkKCQl7CgkJIGNhc2UgMDoKCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfT0s7CgkJCWJyZWFrOwoJCSBjYXNlIDIwMDAzOgoJCSBjYXNlIDIwNDAzOgoJCQkkdGhpcy0+X3N0YXR1cyA9IHBhcmVudDo6U1RBVF9FUlJPUl9BVVRIOwoJCQlicmVhazsKCQkgY2FzZSAxMTEwMDoKCQkgY2FzZSAxNDEwMToKCQkgY2FzZSAxNDEwMjoKCQkgY2FzZSAxNDEwMzoKCQkgY2FzZSAyMTYwMToKCQkgY2FzZSAyMTYwMjoKCQkgY2FzZSAyMTYwMzoKCQkgY2FzZSAyMTYwNDoKCQkgY2FzZSAyMTYwNToKCQkgY2FzZSAyMTYwNjoKCQkgY2FzZSAyMTYwNzoKCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfRVJST1JfSU5WQUxJRF9EQVRBOwoJCQlicmVhazsKCQkgY2FzZSAyMTYxMjoKCQkgY2FzZSAyMjAwMToKCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfTk9UU0VOVDsKCQkJYnJlYWs7CgkJIGNhc2UgMTQxMDc6CgkJCSR0aGlzLT5fc3RhdHVzID0gcGFyZW50OjpTVEFUX0VSUk9SX0xJTUlUOwoJCQlicmVhazsKCQkgY2FzZSAyMTYxMDoKCQkgY2FzZSAzMDAwNDoKCQkJJHRoaXMtPl9zdGF0dXMgPSBwYXJlbnQ6OlNUQVRfRVJST1JfQkxPQ0tFRDsKCQkJYnJlYWs7CgkJIGRlZmF1bHQ6CgkJCSR0aGlzLT5fc3RhdHVzID0gcGFyZW50OjpTVEFUX0VSUk9SX09USEVSOwoJCQlicmVhazsKCQl9Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHByb2Nlc3NfZGVsaXZlcnlfcmVwb3J0KCkKCXsKCQkvL1RPRE8gbXVzdCBwYXJzZSAkX1JFUVVFU1QgZGlyZWN0bHkKCQkkc21zdG8gPSAnJzsKCQkkc21zaWQgPSAnJzsKCQkkc3RhdHVzID0gcGFyZW50OjpERUxJVkVSWV9VTktOT1dOOyAvL29yIHdoYXRldmVyCgkJcmV0dXJuIHNtc2dfdXRpbHM6OmdldF9kZWxpdmVyeV9tc2coJHRoaXMtPl9tb2R1bGUsJHN0YXR1cywkc21zaWQsJHNtc3RvKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0X3Jhd19zdGF0dXMoKQoJewoJCXJldHVybiAkdGhpcy0+X3Jhd3N0YXR1czsKCX0KfSAvLyBlbmQgb2YgY2xhc3MKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/googlevoice/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/gateways/googlevoice/class.googlevoice.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9QSFAKICAgIGNsYXNzIEdvb2dsZVZvaWNlCiAgICB7CiAgICAgICAgcHVibGljICR1c2VybmFtZTsKICAgICAgICBwdWJsaWMgJHBhc3N3b3JkOwoKICAgICAgICBwcml2YXRlICRsYXN0VVJMOwoKICAgICAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHVzZXJuYW1lLCAkcGFzc3dvcmQpCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+dXNlcm5hbWUgPSAkdXNlcm5hbWU7CiAgICAgICAgICAgICR0aGlzLT5wYXNzd29yZCA9ICRwYXNzd29yZDsKICAgICAgICB9CgogICAgICAgIC8vIExvZ2luIHRvIEdvb2dsZSBWb2ljZQogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dpbigpCiAgICAgICAgewogICAgICAgICAgICAkaHRtbCA9ICR0aGlzLT5jdXJsKCdodHRwOi8vd3d3Lmdvb2dsZS5jb20vdm9pY2UvbScpOwoKICAgICAgICAgICAgJGFjdGlvbiA9ICR0aGlzLT5tYXRjaCgnITxmb3JtLio/YWN0aW9uPSIoLio/KSIhbXMnLCAkaHRtbCwgMSk7CgogICAgICAgICAgICBwcmVnX21hdGNoX2FsbCgnITxpbnB1dC4qP3R5cGU9ImhpZGRlbiIuKj9uYW1lPSIoLio/KSIuKj92YWx1ZT0iKC4qPykiIW1zJywgJGh0bWwsICRoaWRkZW4pOwoKICAgICAgICAgICAgJHBvc3QgPSAiRW1haWw9eyR0aGlzLT51c2VybmFtZX0mUGFzc3dkPXskdGhpcy0+cGFzc3dvcmR9IjsKICAgICAgICAgICAgZm9yKCRpID0gMDsgJGkgPCBjb3VudCgkaGlkZGVuWzBdKTsgJGkrKykKICAgICAgICAgICAgICAgICRwb3N0IC49ICcmJyAuICRoaWRkZW5bMV1bJGldIC4gJz0nIC4gdXJsZW5jb2RlKCRoaWRkZW5bMl1bJGldKTsKCgkgICAgZGllKCdhY3Rpb24gPSAnLiRhY3Rpb24pOwogICAgICAgICAgICAkaHRtbCA9ICR0aGlzLT5jdXJsKCRhY3Rpb24sICR0aGlzLT5sYXN0VVJMLCAkcG9zdCk7CgogICAgICAgICAgICByZXR1cm4gJGh0bWw7CiAgICAgICAgfQoKICAgICAgICAvLyBDb25uZWN0ICR5b3UgdG8gJHRoZW0uIFRha2VzIHR3byAxMCBkaWdpdCBVUyBwaG9uZSBudW1iZXJzLgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBjYWxsKCR5b3UsICR0aGVtKQogICAgICAgIHsKICAgICAgICAgICAgJHlvdSA9IHByZWdfcmVwbGFjZSgnL1teMC05XS8nLCAnJywgJHlvdSk7CiAgICAgICAgICAgICR0aGVtID0gcHJlZ19yZXBsYWNlKCcvW14wLTldLycsICcnLCAkdGhlbSk7CgogICAgICAgICAgICAkaHRtbCA9ICR0aGlzLT5sb2dpbigpOwoKICAgICAgICAgICAgJGNydW1iID0gdXJsZW5jb2RlKCR0aGlzLT5tYXRjaCgnITxpbnB1dC4qP25hbWU9Il9ybnJfc2UiLio/dmFsdWU9IiguKj8pIiFtcycsICRodG1sLCAxKSk7CgogICAgICAgICAgICAkcG9zdCA9ICJfcm5yX3NlPSRjcnVtYiZudW1iZXI9JHRoZW0mY2FsbD1DYWxsIjsKICAgICAgICAgICAgJGh0bWwgPSAkdGhpcy0+Y3VybCgiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS92b2ljZS9tL2NhbGxzbXMiLCAkdGhpcy0+bGFzdFVSTCwgJHBvc3QpOwoKICAgICAgICAgICAgcHJlZ19tYXRjaF9hbGwoJyE8aW5wdXQuKj90eXBlPSJoaWRkZW4iLio/bmFtZT0iKC4qPykiLio/dmFsdWU9IiguKj8pIiFtcycsICRodG1sLCAkaGlkZGVuKTsKICAgICAgICAgICAgJHBvc3QgPSAnJzsKICAgICAgICAgICAgZm9yKCRpID0gMDsgJGkgPCBjb3VudCgkaGlkZGVuWzBdKTsgJGkrKykKICAgICAgICAgICAgICAgICRwb3N0IC49ICcmJyAuICRoaWRkZW5bMV1bJGldIC4gJz0nIC4gdXJsZW5jb2RlKCRoaWRkZW5bMl1bJGldKTsKICAgICAgICAgICAgJHBvc3QgLj0gIiZwaG9uZT0rMSR5b3UmQ2FsbD0iOwoKICAgICAgICAgICAgJGh0bWwgPSAkdGhpcy0+Y3VybCgiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS92b2ljZS9tL3NlbmRjYWxsIiwgJHRoaXMtPmxhc3RVUkwsICRwb3N0KTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBmdW5jdGlvbiBzbXMoJHRoZW0sICRzbXR4dCkKICAgICAgICB7CiAgICAgICAgICAgICR0aGVtID0gcHJlZ19yZXBsYWNlKCcvW14wLTldLycsICcnLCAkdGhlbSk7CgogICAgICAgICAgICAkaHRtbCA9ICR0aGlzLT5sb2dpbigpOwoKICAgICAgICAgICAgJGNydW1iID0gdXJsZW5jb2RlKCR0aGlzLT5tYXRjaCgnITxpbnB1dC4qP25hbWU9Il9ybnJfc2UiLio/dmFsdWU9IiguKj8pIiFtcycsICRodG1sLCAxKSk7CgogICAgICAgICAgICAkcG9zdCA9ICJfcm5yX3NlPSRjcnVtYiZudW1iZXI9JHRoZW0mc21zdGV4dD0kc210eHQmc3VibWl0PVNlbmQiOwogICAgICAgICAgICAkaHRtbCA9ICR0aGlzLT5jdXJsKCJodHRwczovL3d3dy5nb29nbGUuY29tL3ZvaWNlL20vc2VuZHNtcyIsICR0aGlzLT5sYXN0VVJMLCAkcG9zdCk7CgogICAgICAgICAgICBwcmVnX21hdGNoX2FsbCgnITxpbnB1dC4qP3R5cGU9ImhpZGRlbiIuKj9uYW1lPSIoLio/KSIuKj92YWx1ZT0iKC4qPykiIW1zJywgJGh0bWwsICRoaWRkZW4pOwogICAgICAgICAgICAkcG9zdCA9ICcnOwogICAgICAgICAgICBmb3IoJGkgPSAwOyAkaSA8IGNvdW50KCRoaWRkZW5bMF0pOyAkaSsrKQogICAgICAgICAgICAgICAgJHBvc3QgLj0gJyYnIC4gJGhpZGRlblsxXVskaV0gLiAnPScgLiB1cmxlbmNvZGUoJGhpZGRlblsyXVskaV0pOwogICAgICAgICAgICAkcG9zdCAuPSAiJnN1Ym1pdD0iOwoKICAgICAgICAgICAgJGh0bWwgPSAkdGhpcy0+Y3VybCgiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS92b2ljZS9tL3NlbmRjYWxsIiwgJHRoaXMtPmxhc3RVUkwsICRwb3N0KTsKICAgICAgICB9CgogICAgICAgIHByaXZhdGUgZnVuY3Rpb24gY3VybCgkdXJsLCAkcmVmZXJlciA9IG51bGwsICRwb3N0ID0gbnVsbCwgJHJldHVybl9oZWFkZXIgPSBmYWxzZSkKICAgICAgICB7CiAgICAgICAgICAgIHN0YXRpYyAkdG1wZmlsZTsKCiAgICAgICAgICAgIGlmKCFpc3NldCgkdG1wZmlsZSkgfHwgKCR0bXBmaWxlID09ICcnKSkgJHRtcGZpbGUgPSB0ZW1wbmFtKCcvdG1wJywgJ0ZPTycpOwoKICAgICAgICAgICAgJGNoID0gY3VybF9pbml0KCR1cmwpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFRklMRSwgJHRtcGZpbGUpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFSkFSLCAkdG1wZmlsZSk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgdHJ1ZSk7CiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsICJNb3ppbGxhLzUuMCAoaVBob25lOyBVOyBDUFUgaVBob25lIE9TIDJfMl8xIGxpa2UgTWFjIE9TIFg7IGVuLXVzKSBBcHBsZVdlYktpdC81MjUuMTguMSAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vMy4xLjEgTW9iaWxlLzVIMTEgU2FmYXJpLzUyNS4yMCIpOwogICAgICAgICAgICBpZigkcmVmZXJlcikgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFRkVSRVIsICRyZWZlcmVyKTsKCiAgICAgICAgICAgIGlmKCFpc19udWxsKCRwb3N0KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIHRydWUpOwogICAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsICRwb3N0KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYoJHJldHVybl9oZWFkZXIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsIDEpOwogICAgICAgICAgICAgICAgJGh0bWwgICAgICAgID0gY3VybF9leGVjKCRjaCk7CiAgICAgICAgICAgICAgICAkaGVhZGVyX3NpemUgPSBjdXJsX2dldGluZm8oJGNoLCBDVVJMSU5GT19IRUFERVJfU0laRSk7CiAgICAgICAgICAgICAgICAkdGhpcy0+bGFzdFVSTCA9IGN1cmxfZ2V0aW5mbygkY2gsIENVUkxJTkZPX0VGRkVDVElWRV9VUkwpOwogICAgICAgICAgICAgICAgcmV0dXJuIHN1YnN0cigkaHRtbCwgMCwgJGhlYWRlcl9zaXplKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRodG1sID0gY3VybF9leGVjKCRjaCk7CiAgICAgICAgICAgICAgICAkdGhpcy0+bGFzdFVSTCA9IGN1cmxfZ2V0aW5mbygkY2gsIENVUkxJTkZPX0VGRkVDVElWRV9VUkwpOwogICAgICAgICAgICAgICAgcmV0dXJuICRodG1sOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBwcml2YXRlIGZ1bmN0aW9uIG1hdGNoKCRyZWdleCwgJHN0ciwgJGkgPSAwKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIHByZWdfbWF0Y2goJHJlZ2V4LCAkc3RyLCAkbWF0Y2gpID09IDEgPyAkbWF0Y2hbJGldIDogZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIC8vIEV4YW1wbGUgVXNnZToKICAgIC8qCiAgICAkZ3YgPSBuZXcgR29vZ2xlVm9pY2UoJ3VzZXJuYW1lQGdtYWlsLmNvbScsICdwYXNzd29yZCcpOwogICAgJGd2LT5jYWxsKCd5b3VybnVtYmVyJywgJ3RoZWlyIG51bWJlcicpOwoKICAgICRndi0+c21zKCdzb21lbnVtYmVyJywgaGVsbG8gd29ybGQnKTsKICAgICovCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/googlevoice/class.googlevoice2.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9QSFANCi8qDQpMaWNlbnNlCQlUaGlzIGNvZGUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBPcGVuIFNvdXJjZSBMaWNlbnNlLiBGZWVsIGZyZWUgdG8gZG8gd2hhdGV2ZXIgeW91IHdhbnQgd2l0aCBpdC4NCkF1dGhvcgkJbG9zdGxlb25AZ21haWwuY29tLCBodHRwOi8vd3d3Lmxvc3RsZW9uLmNvbS8NCiovDQpjbGFzcyBHb29nbGVWb2ljZQ0Kew0KICAgIHB1YmxpYyAkdXNlcm5hbWU7DQogICAgcHVibGljICRwYXNzd29yZDsNCiAgICBwdWJsaWMgJHN0YXR1czsNCiAgICBwcml2YXRlICRsYXN0VVJMOw0KICAgIHByaXZhdGUgJGxvZ2luX2F1dGg7DQoJcHJpdmF0ZSAkaW5ib3hVUkwgPSAnaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS92b2ljZS9tLyc7DQoJcHJpdmF0ZSAkbG9naW5VUkwgPSAnaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9hY2NvdW50cy9DbGllbnRMb2dpbic7DQoJcHJpdmF0ZSAkc21zVVJMID0gJ2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdm9pY2UvbS9zZW5kc21zJzsNCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdXNlcm5hbWUsICRwYXNzd29yZCkNCiAgICB7DQogICAgICAgICR0aGlzLT51c2VybmFtZSA9ICR1c2VybmFtZTsNCiAgICAgICAgJHRoaXMtPnBhc3N3b3JkID0gJHBhc3N3b3JkOw0KICAgIH0NCg0KCXB1YmxpYyBmdW5jdGlvbiBnZXRMb2dpbkF1dGgoKQ0KCXsNCgkJJGxvZ2luX3BhcmFtID0gImFjY291bnRUeXBlPUdPT0dMRSZFbWFpbD17JHRoaXMtPnVzZXJuYW1lfSZQYXNzd2Q9eyR0aGlzLT5wYXNzd29yZH0mc2VydmljZT1ncmFuZGNlbnRyYWwmc291cmNlPWxvc3RsZW9uQVRnbWFpbERPVGNvbS1Hb29nbGVWb2ljZVRvb2wiOw0KCSAgICAkbG9naW5fb3V0cHV0ID0gJHRoaXMtPmN1cmwoJHRoaXMtPmxvZ2luVVJMLCAkdGhpcy0+bGFzdFVSTCwgJGxvZ2luX3BhcmFtKTsNCgkgICAgJHRoaXMtPmxvZ2luX2F1dGggPSAkdGhpcy0+bWF0Y2goJy9BdXRoPShbQS16MC05Xy1dKykvJywgJGxvZ2luX291dHB1dCwgMSk7DQoJICAgIHJldHVybiAkdGhpcy0+bG9naW5fYXV0aDsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gZ2V0X3Jucl9zZSgpDQoJew0KCQkkYXV0aF9wYXJhbSA9ICI/YXV0aD0iLiR0aGlzLT5nZXRMb2dpbkF1dGgoKTsNCgkgICAgJGluYm94X291dHB1dCA9ICR0aGlzLT5jdXJsKCR0aGlzLT5pbmJveFVSTC4kYXV0aF9wYXJhbSwgJHRoaXMtPmxhc3RVUkwpOw0KCSAgICAkX3Jucl9zZSA9ICR0aGlzLT5tYXRjaCgnITxpbnB1dC4qP25hbWU9Il9ybnJfc2UiLio/dmFsdWU9IiguKj8pIiFtcycsICRpbmJveF9vdXRwdXQsIDEpOw0KCSAgICByZXR1cm4gJF9ybnJfc2U7DQoJfQ0KDQoJcHVibGljIGZ1bmN0aW9uIHNtcygkdG9fcGhvbmVudW1iZXIsICRzbXN0eHQpDQoJew0KCSAgICAkX3Jucl9zZSA9ICR0aGlzLT5nZXRfcm5yX3NlKCk7DQoJICAgICRzbXNfcGFyYW0gPSAiaWQ9JmM9Jm51bWJlcj0iLnVybGVuY29kZSgkdG9fcGhvbmVudW1iZXIpLiImc21zdGV4dD0iLnVybGVuY29kZSgkc21zdHh0KS4iJl9ybnJfc2U9Ii51cmxlbmNvZGUoJF9ybnJfc2UpOw0KCQkkcG9zdHVybCA9ICR0aGlzLT5zbXNVUkwuIj9hdXRoPSIuJHRoaXMtPmxvZ2luX2F1dGg7DQoJICAgICRzbXNfb3V0cHV0ID0gJHRoaXMtPmN1cmwoJHBvc3R1cmwsICR0aGlzLT5sYXN0VVJMLCAkc21zX3BhcmFtKTsNCgkgICAgJHRoaXMtPnN0YXR1cyA9ICRzbXNfb3V0cHV0Ow0KCSAgICByZXR1cm4gJHNtc19vdXRwdXQ7DQoJfQ0KDQoJcHJpdmF0ZSBmdW5jdGlvbiBjdXJsKCR1cmwsICRyZWZlcmVyID0gbnVsbCwgJHBvc3RfcGFyYW0gPSBudWxsKQ0KCXsNCgkJJGNoID0gY3VybF9pbml0KCR1cmwpOw0KCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsNCgkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBmYWxzZSk7IA0KCSAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOw0KCSAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUkFHRU5ULCAiTW96aWxsYS81LjAgKGlQaG9uZTsgVTsgQ1BVIGlQaG9uZSBPUyAyXzJfMSBsaWtlIE1hYyBPUyBYOyBlbi11cykgQXBwbGVXZWJLaXQvNTI1LjE4LjEgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzMuMS4xIE1vYmlsZS81SDExIFNhZmFyaS81MjUuMjAiKTsNCg0KCQlpZigkcmVmZXJlcikNCgkJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRUZFUkVSLCAkcmVmZXJlcik7DQoNCgkgICAgaWYoIWlzX251bGwoJHBvc3RfcGFyYW0pKQ0KCSAgICB7DQoJICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgdHJ1ZSk7DQoJICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgJHBvc3RfcGFyYW0pOw0KCSAgICB9DQoNCgkJJGh0bWwgPSBjdXJsX2V4ZWMoJGNoKTsNCiAgICAgICAgJHRoaXMtPmxhc3RVUkwgPSBjdXJsX2dldGluZm8oJGNoLCBDVVJMSU5GT19FRkZFQ1RJVkVfVVJMKTsNCgkJY3VybF9jbG9zZSgkY2gpOw0KCQlyZXR1cm4gJGh0bWw7DQoJfQ0KCQ0KCXByaXZhdGUgZnVuY3Rpb24gbWF0Y2goJHJlZ2V4LCAkc3RyLCAkb3V0X2FyeSA9IDApDQoJew0KCSAgICByZXR1cm4gcHJlZ19tYXRjaCgkcmVnZXgsICRzdHIsICRtYXRjaCkgPT0gMSA/ICRtYXRjaFskb3V0X2FyeV0gOiBmYWxzZTsNCgl9DQoNCn0NCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/googlevoice/GoogleVoice.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZ1bmN0aW9uIGN1cmxfcmVkaXJlY3RfZXhlYygkY2gsICRjdXJsb3B0X2hlYWRlciA9IGZhbHNlKSB7CiAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUiwgdHJ1ZSk7CiAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKICAkZGF0YSA9IGN1cmxfZXhlYygkY2gpOwogICRpbmZvID0gICAgY3VybF9nZXRpbmZvKCRjaCk7CiAgJGh0dHBfY29kZSA9ICRpbmZvWydodHRwX2NvZGUnXTsKICBpZiAoJGh0dHBfY29kZSA9PSAzMDEgfHwgJGh0dHBfY29kZSA9PSAzMDIgfHwgJGh0dHBfY29kZSA9PSAzMDMpIHsKICAgIGxpc3QoJGhlYWRlcikgPSBleHBsb2RlKCJcclxuXHJcbiIsICRkYXRhLCAyKTsKICAgICRtYXRjaGVzID0gYXJyYXkoKTsKICAgIHByZWdfbWF0Y2goJy8oTG9jYXRpb246fFVSSTopKC4qPylcbi8nLCAkaGVhZGVyLCAkbWF0Y2hlcyk7CiAgICAkdXJsID0gdHJpbShhcnJheV9wb3AoJG1hdGNoZXMpKTsKICAgICR1cmxfcGFyc2VkID0gcGFyc2VfdXJsKCR1cmwpOwogICAgaWYgKGlzc2V0KCR1cmxfcGFyc2VkWydob3N0J10pKSB7CiAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwpOwogICAgICByZXR1cm4gY3VybF9yZWRpcmVjdF9leGVjKCRjaCk7CiAgICB9CiAgfQoKICBlbHNlaWYoJGh0dHBfY29kZSA9PSAyMDApewogICAgJG1hdGNoZXMgPSBhcnJheSgpOwogICAgcHJlZ19tYXRjaCgnLyg8bWV0YSBodHRwLWVxdWl2PSkoLio/KShyZWZyZXNoKSguKj8pKHVybD0pKC4qPylbXCd8Il1ccyo+LycsIHN0cnRvbG93ZXIoJGRhdGEpLCAkbWF0Y2hlcyk7CiAgICAkdXJsID0gdHJpbShhcnJheV9wb3AoJG1hdGNoZXMpKTsKICAgICR1cmxfcGFyc2VkID0gcGFyc2VfdXJsKCR1cmwpOwogICAgaWYgKGlzc2V0KCR1cmxfcGFyc2VkWydob3N0J10pKSB7CiAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwpOwogICAgICByZXR1cm4gY3VybF9yZWRpcmVjdF9leGVjKCRjaCk7CiAgICB9CiAgfQoKICByZXR1cm4gICAgICRpbmZvWyd1cmwnXTsKfSAKCmNsYXNzIEdvb2dsZVZvaWNlCnsKICBjb25zdCBsb2dpblVSTCA9ICJodHRwczovL3d3dy5nb29nbGUuY29tL2FjY291bnRzL0NsaWVudExvZ2luIjsKICBjb25zdCBnZW5VUkwgICA9ICJodHRwczovL3d3dy5nb29nbGUuY29tL3ZvaWNlLyI7CiAgY29uc3Qgc2VuZFNNU1VSTCA9ICJodHRwczovL3d3dy5nb29nbGUuY29tL3ZvaWNlL3Ntcy9zZW5kLyI7CgoJLy8gT3VyIGNyZWRlbnRpYWxzCglwcml2YXRlICRfbG9naW47Cglwcml2YXRlICRfcGFzczsKCXByaXZhdGUgJF9ybnJfc2U7IC8vIHNvbWUgY3JhenkgZ29vZ2xlIHRoaW5nIHRoYXQgd2UgbmVlZCBsYXRlcgogICAgICAgIHByaXZhdGUgJF9hdXRoOwoKCS8vIE91ciBwcml2YXRlIGN1cmwgaGFuZGxlCglwcml2YXRlICRfY2g7CgoJLy8gVGhlIGxvY2F0aW9uIG9mIG91ciBjb29raWVzCglwcml2YXRlICRfY29va2llRmlsZTsKCgkvLyBBcmUgd2UgbG9nZ2VkIGluIGFscmVhZHk/Cglwcml2YXRlICRfbG9nZ2VkSW4gPSBGQUxTRTsKCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGxvZ2luLCAkcGFzcykKCXsKCQkkdGhpcy0+X2xvZ2luID0gJGxvZ2luOwoJCSR0aGlzLT5fcGFzcyA9ICRwYXNzOwoKCQkkY29uZmlnID0gY21zbXMoKS0+Z2V0Q29uZmlnKCk7CgkJJHRoaXMtPl9jb29raWVGaWxlID0gJGNvbmZpZ1sncm9vdF91cmwnXS4nL3RtcC9jYWNoZS9ndkNvb2tpZXMudHh0JzsKCgkJJHRoaXMtPl9jaCA9IGN1cmxfaW5pdCgpOwoJCWN1cmxfc2V0b3B0KCR0aGlzLT5fY2gsIENVUkxPUFRfQ09PS0lFSkFSLCAkdGhpcy0+X2Nvb2tpZUZpbGUpOwoJCWN1cmxfc2V0b3B0KCR0aGlzLT5fY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIEZBTFNFKTsKCQljdXJsX3NldG9wdCgkdGhpcy0+X2NoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCBUUlVFKTsKCQljdXJsX3NldG9wdCgkdGhpcy0+X2NoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLDApOwoJCWN1cmxfc2V0b3B0KCR0aGlzLT5fY2gsIENVUkxPUFRfVVNFUkFHRU5ULCAiTW96aWxsYS80LjAgKGNvbXBhdGlibGU7IE1TSUUgNy4wOyBXaW5kb3dzIE5UIDYuMCkiKTsKCX0KCQoJcHJpdmF0ZSBmdW5jdGlvbiBfbG9nSW4oKQoJewoJCWdsb2JhbCAkY29uZjsKCgkJaWYoICR0aGlzLT5fbG9nZ2VkSW4gKQoJCSAgcmV0dXJuIFRSVUU7CgoJCS8vCgkJLy8gZG8gdGhlIGxvZ2luIGFuZCBmZXRjaCBBVVRICgkJLy8KCQkvL2N1cmxfc2V0b3B0KCR0aGlzLT5fY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIFRSVUUpOwoJCWN1cmxfc2V0b3B0KCR0aGlzLT5fY2gsIENVUkxPUFRfVVJMLCBzZWxmOjpsb2dpblVSTCk7CgkJY3VybF9zZXRvcHQoJHRoaXMtPl9jaCwgQ1VSTE9QVF9QT1NULCBUUlVFKTsKCQkkZGF0YSA9IGFycmF5KAoJCQkgICAgICAnYWNjb3VudFR5cGUnID0+ICdHT09HTEUnLAoJCQkgICAgICAnRW1haWwnID0+ICR0aGlzLT5fbG9naW4sCgkJCSAgICAgICdQYXNzd2QnID0+ICR0aGlzLT5fcGFzcywKCQkJICAgICAgJ3NlcnZpY2UnID0+ICdncmFuZGNlbnRyYWwnLAoJCQkgICAgICAnc291cmNlJyA9PiAnU01TRycKCQkJKTsKCQlkZWJ1Z19kaXNwbGF5KCRkYXRhKTsKCQljdXJsX3NldG9wdCgkdGhpcy0+X2NoLCBDVVJMT1BUX1BPU1RGSUVMRFMsICRkYXRhICk7CQoJCSRodG1sID0gY3VybF9leGVjKCR0aGlzLT5fY2gpOwoJCSRyZXNjb2RlID0gY3VybF9nZXRpbmZvKCR0aGlzLT5fY2gsQ1VSTElORk9fSFRUUF9DT0RFKTsKCQlpZiggJHJlc2NvZGUgPiAzOTkgKQoJCSAgewoJCSAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGdldCBMb2dpbiBmYWlsZWQgd2l0aCBjb2RlICcuJHJlc2NvZGUpOwoJCSAgfQoKCQlpZiggJGh0bWwgPT0gJycgKQoJCSAgewoJCSAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRtcHQgdG8gbG9naW4gLSByZXN1bHQgZW1wdHknKTsKCQkgIH0KCgkJaWYoIHByZWdfbWF0Y2goJy9BdXRoPShbX2EtekEtWjAtOV0rKS8nLCAkaHRtbCwgJG1hdGNoZXMpICkKCQkgIHsKCQkgICAgJHRoaXMtPl9hdXRoID0gJG1hdGNoZXNbMV07CgkJICB9CgkJZWxzZQoJCSAgewoJCSAgICBkZWJ1Z19kaXNwbGF5KCRodG1sKTsgZGllKCk7CgkJICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0NvdWxkIG5vdCBnZXQgYXV0aCB0b2tlbicpOwoJCSAgfQoKCQkvLwoJCS8vIGdldCB0aGUgcm5yX3NlZSB2YWx1ZQoJCS8vCgkJY3VybF9zZXRvcHQoJHRoaXMtPl9jaCwgQ1VSTE9QVF9VUkwsIHNlbGY6OmdlblVSTC4nP2F1dGg9Jy4kdGhpcy0+X2F1dGgpOwoJCWN1cmxfc2V0b3B0KCR0aGlzLT5fY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIEZBTFNFKTsKCQljdXJsX3NldG9wdCgkdGhpcy0+X2NoLCBDVVJMT1BUX0hUVFBHRVQsIDEpOwoJCSRodG1sID0gY3VybF9leGVjKCR0aGlzLT5fY2gpOwoJCWRlYnVnX2Rpc3BsYXkoY3VybF9nZXRpbmZvKCR0aGlzLT5fY2gpKTsKCQkkcmVzY29kZSA9IGN1cmxfZ2V0aW5mbygkdGhpcy0+X2NoLENVUkxJTkZPX0hUVFBfQ09ERSk7CgkJaWYoICRyZXNjb2RlID4gMzk5ICkKCQkgIHsKCQkgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBnZXQgTG9naW4gZmFpbGVkIHdpdGggY29kZSAnLiRyZXNjb2RlKTsKCQkgIH0KCgkJaWYoIHByZWdfbWF0Y2goJy9uYW1lPSJfcm5yX3NlIi4qP3ZhbHVlPSIoLio/KSIvJywgJGh0bWwsICRtYXRjaCkgKQoJCXsKCQkJJHRoaXMtPl9ybnJfc2UgPSAkbWF0Y2hbMV07CgkJfQoJCWVsc2UKCQl7CgkJICBkZWJ1Z19kaXNwbGF5KCRodG1sKTsgZGllKCk7CgkJCXRocm93IG5ldyBFeGNlcHRpb24oIkNvdWxkIG5vdCBsb2cgaW4gdG8gR29vZ2xlIFZvaWNlIHdpdGggdXNlcm5hbWU6ICIgLiAkdGhpcy0+X2xvZ2luKTsKCQl9CgoJfQoKCS8qKgoJICogUGxhY2UgYSBjYWxsIHRvICRudW1iZXIgY29ubmVjdGluZyBmaXJzdCB0byAkZnJvbU51bWJlcgoJICogQHBhcmFtICRudW1iZXIgVGhlIDEwLWRpZ2l0IHBob25lIG51bWJlciB0byBjYWxsIChmb3JtYXR0ZWQgd2l0aCBwYXJlbnMgYW5kIGh5cGhlbnMgb3Igbm9uZSkKCSAqIEBwYXJhbSAkZnJvbU51bWJlciBUaGUgMTAtZGlnaXQgbnVtYmVyIG9uIHlvdXIgYWNjb3VudCB0byBjb25uZWN0IHRoZSBjYWxsIChubyBoeXBoZW5zIG9yIHNwYWNlcykKCSAqIEBwYXJhbSAkcGhvbmVUeXBlIChtb2JpbGUsIHdvcmssIGhvbWUsIGdpem1vKSBUaGUgdHlwZSBvZiBwaG9uZSB0aGUgJGZyb21OdW1iZXIgaXMuIFRoZSBjYWxsIHdpbGwgbm90IGJlIGNvbm5lY3RlZCB3aXRob3V0IHRoaXMgdmFsdWUuIAoJICovCglwdWJsaWMgZnVuY3Rpb24gY2FsbE51bWJlcigkbnVtYmVyLCAkZnJvbU51bWJlciwgJHBob25lVHlwZT0nbW9iaWxlJykKCXsKCQkkdHlwZXMgPSBhcnJheSgKCQkJJ21vYmlsZScgPT4gMiwKCQkJJ3dvcmsnID0+IDMsCgkJCSdob21lJyA9PiAxLAoJCQknZ2l6bW8nID0+IDcKCQkpOwoJCgkJaWYoIWFycmF5X2tleV9leGlzdHMoJHBob25lVHlwZSwgJHR5cGVzKSkKCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbignUGhvbmUgdHlwZSBtdXN0IGJlIG1vYmlsZSwgd29yaywgaG9tZSBvciBnaXptbycpOwoJCQoJCSR0aGlzLT5fbG9nSW4oKTsKCQkKCQljdXJsX3NldG9wdCgkdGhpcy0+X2NoLCBDVVJMT1BUX1VSTCwgJ2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdm9pY2UvY2FsbC9jb25uZWN0LycpOwoJCWN1cmxfc2V0b3B0KCR0aGlzLT5fY2gsIENVUkxPUFRfUE9TVCwgVFJVRSk7CgkJY3VybF9zZXRvcHQoJHRoaXMtPl9jaCwgQ1VSTE9QVF9QT1NURklFTERTLCBhcnJheSgKCQkJJ19ybnJfc2UnPT4kdGhpcy0+X3Jucl9zZSwKCQkJJ2F1dGgnPT4kdGhpcy0+X2F1dGgsCgkJCSdmb3J3YXJkaW5nTnVtYmVyJz0+JysxJyAuICRmcm9tTnVtYmVyLAoJCQknb3V0Z29pbmdOdW1iZXInPT4kbnVtYmVyLAoJCQkncGhvbmVUeXBlJz0+JHR5cGVzWyRwaG9uZVR5cGVdLAoJCQkncmVtZW1iZXInPT4wLAoJCQknc3Vic2NyaWJlck51bWJlcic9Pid1bmRlZmluZWQnCgkJCSkpOwoJCWN1cmxfZXhlYygkdGhpcy0+X2NoKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gc2VuZFNNUygkbnVtYmVyLCAkbWVzc2FnZSkKCXsKCQkkdGhpcy0+X2xvZ0luKCk7CgoJCWN1cmxfc2V0b3B0KCR0aGlzLT5fY2gsIENVUkxPUFRfVVJMLCAnaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS92b2ljZS9zbXMvc2VuZC8nKTsKCQljdXJsX3NldG9wdCgkdGhpcy0+X2NoLCBDVVJMT1BUX1BPU1QsIFRSVUUpOwoJCWN1cmxfc2V0b3B0KCR0aGlzLT5fY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgYXJyYXkoCgkJCSdfcm5yX3NlJz0+JHRoaXMtPl9ybnJfc2UsCgkJCSdhdXRoJz0+JHRoaXMtPl9hdXRoLAoJCQkncGhvbmVOdW1iZXInPT4nKzEnIC4gJG51bWJlciwKCQkJJ3RleHQnPT4kbWVzc2FnZSwKCQkJJ2lkJz0+JycKCQkJKSk7CgkJJHJlcyA9IGN1cmxfZXhlYygkdGhpcy0+X2NoKTsKCQkkcmVzY29kZSA9IGN1cmxfZ2V0aW5mbygkdGhpcy0+X2NoLENVUkxJTkZPX0hUVFBfQ09ERSk7CgkJaWYoICRyZXNjb2RlICE9IDIwMCApCgkJICB7CgkJICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gZ2V0IExvZ2luIGZhaWxlZCB3aXRoIGNvZGUgJy4kcmVzY29kZSk7CgkJICB9Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXROZXdTTVMoKQoJewoJCSR0aGlzLT5fbG9nSW4oKTsKCQljdXJsX3NldG9wdCgkdGhpcy0+X2NoLCBDVVJMT1BUX1VSTCwgJ2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdm9pY2UvaW5ib3gvcmVjZW50L3Ntcy8nKTsKCQljdXJsX3NldG9wdCgkdGhpcy0+X2NoLCBDVVJMT1BUX1BPU1QsIEZBTFNFKTsKCQljdXJsX3NldG9wdCgkdGhpcy0+X2NoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCBUUlVFKTsKCQkkeG1sID0gY3VybF9leGVjKCR0aGlzLT5fY2gpOwoKCQkkZG9tID0gbmV3IERPTURvY3VtZW50KCk7CgoJCS8vIGxvYWQgdGhlICJ3cmFwcGVyIiB4bWwgKGNvbnRhaW5zIHR3byBlbGVtZW50cywganNvbiBhbmQgaHRtbCkKCQkkZG9tLT5sb2FkWE1MKCR4bWwpOwoJCSRqc29uID0gJGRvbS0+ZG9jdW1lbnRFbGVtZW50LT5nZXRFbGVtZW50c0J5VGFnTmFtZSgianNvbiIpLT5pdGVtKDApLT5ub2RlVmFsdWU7CgkJJGpzb24gPSBqc29uX2RlY29kZSgkanNvbik7CgoJCS8vIG5vdyBtYWtlIGEgZG9tIHBhcnNlciB3aGljaCBjYW4gcGFyc2UgdGhlIGNvbnRlbnRzIG9mIHRoZSBIVE1MIHRhZwoJCSRodG1sID0gJGRvbS0+ZG9jdW1lbnRFbGVtZW50LT5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaHRtbCIpLT5pdGVtKDApLT5ub2RlVmFsdWU7CgkJLy8gcmVwbGFjZSBhbGwgIiYiIHdpdGggIiZhbXA7IiBzbyBpdCBjYW4gYmUgcGFyc2VkCgkJJGh0bWwgPSBzdHJfcmVwbGFjZSgiJiIsICImYW1wOyIsICRodG1sKTsKCQkkZG9tLT5sb2FkSFRNTCgkaHRtbCk7CgkJJHhwYXRoID0gbmV3IERPTVhQYXRoKCRkb20pOwoJCQoJCSRyZXN1bHRzID0gYXJyYXkoKTsKCQkKCQlmb3JlYWNoKCAkanNvbi0+bWVzc2FnZXMgYXMgJG1pZD0+JGNvbnZvICkKCQl7CgkJCSRlbGVtZW50cyA9ICR4cGF0aC0+cXVlcnkoIi8vZGl2W0BpZD0nJG1pZCddLy9kaXZbQGNsYXNzPSdnYy1tZXNzYWdlLXNtcy1yb3cnXSIpOwoJCQlpZighaXNfbnVsbCgkZWxlbWVudHMpKQoJCQl7CgkJCQlpZiggaW5fYXJyYXkoJ3VucmVhZCcsICRjb252by0+bGFiZWxzKSApCgkJCQl7CgkJCQkJZm9yZWFjaCgkZWxlbWVudHMgYXMgJGk9PiRlbGVtZW50KQoJCQkJCXsKCQkJCQkJJFhNc2dGcm9tID0gJHhwYXRoLT5xdWVyeSgic3BhbltAY2xhc3M9J2djLW1lc3NhZ2Utc21zLWZyb20nXSIsICRlbGVtZW50KTsKCQkJCQkJJG1zZ0Zyb20gPSAnJzsKCQkJCQkJZm9yZWFjaCgkWE1zZ0Zyb20gYXMgJG0pCgkJCQkJCQkkbXNnRnJvbSA9IHRyaW0oJG0tPm5vZGVWYWx1ZSk7CgoJCQkJCQlpZiggJG1zZ0Zyb20gIT0gIk1lOiIgKQoJCQkJCQl7CgkJCQkJCQkkWE1zZ1RleHQgPSAkeHBhdGgtPnF1ZXJ5KCJzcGFuW0BjbGFzcz0nZ2MtbWVzc2FnZS1zbXMtdGV4dCddIiwgJGVsZW1lbnQpOwoJCQkJCQkJJG1zZ1RleHQgPSAnJzsKCQkJCQkJCWZvcmVhY2goJFhNc2dUZXh0IGFzICRtKQoJCQkJCQkJCSRtc2dUZXh0ID0gdHJpbSgkbS0+bm9kZVZhbHVlKTsKCQoJCQkJCQkJJFhNc2dUaW1lID0gJHhwYXRoLT5xdWVyeSgic3BhbltAY2xhc3M9J2djLW1lc3NhZ2Utc21zLXRpbWUnXSIsICRlbGVtZW50KTsKCQkJCQkJCSRtc2dUaW1lID0gJyc7CgkJCQkJCQlmb3JlYWNoKCRYTXNnVGltZSBhcyAkbSkKCQkJCQkJCQkkbXNnVGltZSA9IHRyaW0oJG0tPm5vZGVWYWx1ZSk7CgkKCQkJCQkJCSRyZXN1bHRzW10gPSBhcnJheSgnbXNnSUQnPT4kbWlkLCAncGhvbmVOdW1iZXInPT4kY29udm8tPnBob25lTnVtYmVyLCAnbWVzc2FnZSc9PiRtc2dUZXh0LCAnZGF0ZSc9PmRhdGUoJ1ktbS1kIEg6aTpzJywgc3RydG90aW1lKGRhdGUoJ20vZC9ZICcsaW50dmFsKCRjb252by0+c3RhcnRUaW1lLzEwMDApKS4kbXNnVGltZSkpKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkvL2VjaG8gIlRoaXMgbWVzc2FnZSBpcyBub3QgdW5yZWFkXG4iOwkKCQkJCX0KCQkJfQoJCQllbHNlCgkJCXsKCQkJCS8vZWNobyAiZ2MtbWVzc2FnZS1zbXMtcm93IHF1ZXJ5IGZhaWxlZFxuIjsKCQkJfQoJCX0KCQkKCQlyZXR1cm4gJHJlc3VsdHM7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBtYXJrU01TUmVhZCgkbXNnSUQpCgl7CgkJJHRoaXMtPl9sb2dJbigpOwoKCQljdXJsX3NldG9wdCgkdGhpcy0+X2NoLCBDVVJMT1BUX1VSTCwgJ2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdm9pY2UvaW5ib3gvbWFyay8nKTsKCQljdXJsX3NldG9wdCgkdGhpcy0+X2NoLCBDVVJMT1BUX1BPU1QsIFRSVUUpOwoJCWN1cmxfc2V0b3B0KCR0aGlzLT5fY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgYXJyYXkoCgkJCSdfcm5yX3NlJz0+JHRoaXMtPl9ybnJfc2UsCgkJCSdtZXNzYWdlcyc9PiRtc2dJRCwKCQkJJ3JlYWQnPT4xCgkJCSkpOwoJCWN1cmxfZXhlYygkdGhpcy0+X2NoKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0TmV3Vm9pY2VtYWlsKCkKCXsKCQkkdGhpcy0+X2xvZ0luKCk7CgkJY3VybF9zZXRvcHQoJHRoaXMtPl9jaCwgQ1VSTE9QVF9VUkwsICdodHRwczovL3d3dy5nb29nbGUuY29tL3ZvaWNlL2luYm94L3JlY2VudC92b2ljZW1haWwvJyk7CgkJY3VybF9zZXRvcHQoJHRoaXMtPl9jaCwgQ1VSTE9QVF9QT1NULCBGQUxTRSk7CgkJY3VybF9zZXRvcHQoJHRoaXMtPl9jaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgVFJVRSk7CgkJJHhtbCA9IGN1cmxfZXhlYygkdGhpcy0+X2NoKTsKCgkJJGRvbSA9IG5ldyBET01Eb2N1bWVudCgpOwoKCQkvLyBsb2FkIHRoZSAid3JhcHBlciIgeG1sIChjb250YWlucyB0d28gZWxlbWVudHMsIGpzb24gYW5kIGh0bWwpCgkJJGRvbS0+bG9hZFhNTCgkeG1sKTsKCQkkanNvbiA9ICRkb20tPmRvY3VtZW50RWxlbWVudC0+Z2V0RWxlbWVudHNCeVRhZ05hbWUoImpzb24iKS0+aXRlbSgwKS0+bm9kZVZhbHVlOwoJCSRqc29uID0ganNvbl9kZWNvZGUoJGpzb24pOwoKCQkvLyBub3cgbWFrZSBhIGRvbSBwYXJzZXIgd2hpY2ggY2FuIHBhcnNlIHRoZSBjb250ZW50cyBvZiB0aGUgSFRNTCB0YWcKCQkkaHRtbCA9ICRkb20tPmRvY3VtZW50RWxlbWVudC0+Z2V0RWxlbWVudHNCeVRhZ05hbWUoImh0bWwiKS0+aXRlbSgwKS0+bm9kZVZhbHVlOwoJCS8vIHJlcGxhY2UgYWxsICImIiB3aXRoICImYW1wOyIgc28gaXQgY2FuIGJlIHBhcnNlZAoJCSRodG1sID0gc3RyX3JlcGxhY2UoIiYiLCAiJmFtcDsiLCAkaHRtbCk7CgkJJGRvbS0+bG9hZEhUTUwoJGh0bWwpOwoJCSR4cGF0aCA9IG5ldyBET01YUGF0aCgkZG9tKTsKCQkKCQkkcmVzdWx0cyA9IGFycmF5KCk7CgkJCgkJZm9yZWFjaCggJGpzb24tPm1lc3NhZ2VzIGFzICRtaWQ9PiRjb252byApCgkJewoJCQkkZWxlbWVudHMgPSAkeHBhdGgtPnF1ZXJ5KCIvL2RpdltAaWQ9JyRtaWQnXSIpOwoJCQlpZighaXNfbnVsbCgkZWxlbWVudHMpKQoJCQl7CgkJCQlpZiggJGNvbnZvLT5pc1JlYWQgPT0gZmFsc2UgKQoJCQkJewoJCQkJCSRlbGVtZW50ID0gJGVsZW1lbnRzLT5pdGVtKDApOwoJCQkJCSRYTXNnID0gJHhwYXRoLT5xdWVyeSgiLy9kaXZbQGNsYXNzPSdnYy1tZXNzYWdlLW1lc3NhZ2UtZGlzcGxheSddIiwgJGVsZW1lbnQpOwoJCQkJCSRYTXNnUGFydCA9ICR4cGF0aC0+cXVlcnkoInNwYW58YSIsICRYTXNnLT5pdGVtKDApKTsKCQkJCQkKCQkJCQkkbXNnVGV4dCA9ICcnOwoJCQkJCSRtc2dXb3JkcyA9IGFycmF5KCk7CgkJCQkJZm9yZWFjaCgkWE1zZ1BhcnQgYXMgJG0pCgkJCQkJewoJCQkJCQkkd29yZCA9ICR0aGlzLT5fdW5odG1sZW50aXRpZXModHJpbSgkbS0+bm9kZVZhbHVlKSk7CgkJCQkJCSRtc2dUZXh0IC49ICR3b3JkIC4gJyAnOwoJCQkJCQlpZihwcmVnX21hdGNoKCcvZ2Mtd29yZC0oLispLycsICRtLT5hdHRyaWJ1dGVzLT5nZXROYW1lZEl0ZW0oJ2NsYXNzJyktPnRleHRDb250ZW50LCAkbWF0Y2gpKQoJCQkJCQkJJGNvbmZpZGVuY2UgPSAkbWF0Y2hbMV07CgkJCQkJCWVsc2UKCQkJCQkJCSRjb25maWRlbmNlID0gJyc7CgkJCQkJCSRtc2dXb3Jkc1tdID0gYXJyYXkoJ3dvcmQnPT4kd29yZCwgJ2NvbmZpZGVuY2UnPT4kY29uZmlkZW5jZSk7CgkJCQkJfQoJCQkJCQkKCQkJCQkkcmVzdWx0c1tdID0gYXJyYXkoJ21zZ0lEJz0+JG1pZCwgJ3Bob25lTnVtYmVyJz0+JGNvbnZvLT5waG9uZU51bWJlciwgJ21lc3NhZ2UnPT4kbXNnVGV4dCwgJ2RhdGUnPT5kYXRlKCdZLW0tZCBIOmk6cycsIGludHZhbCgkY29udm8tPnN0YXJ0VGltZS8xMDAwKSksICd3b3Jkcyc9PiRtc2dXb3Jkcyk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJZWNobyAiVGhpcyBtZXNzYWdlICgkbWlkKSBpcyBub3QgdW5yZWFkXG4iOwoJCQkJfQoJCQl9CgkJCWVsc2UKCQkJewoJCQkJZWNobyAiQ291bGQgbm90IGZpbmQgSFRNTCB2ZXJzaW9uIG9mIG1lc3NhZ2U6ICRtaWRcbiI7CgkJCX0KCQl9CgkJCgkJcmV0dXJuICRyZXN1bHRzOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZG9tX2R1bXAoJG9iaikgewoJCWlmICgkY2xhc3NuYW1lID0gZ2V0X2NsYXNzKCRvYmopKSB7CgkJCSRyZXR2YWwgPSAiSW5zdGFuY2Ugb2YgJGNsYXNzbmFtZSwgbm9kZSBsaXN0OiBcbiI7CgkJCXN3aXRjaCAodHJ1ZSkgewoJCQkJY2FzZSAoJG9iaiBpbnN0YW5jZW9mIERPTURvY3VtZW50KToKCQkJCQkkcmV0dmFsIC49ICJYUGF0aDogeyRvYmotPmdldE5vZGVQYXRoKCl9XG4iLiRvYmotPnNhdmVYTUwoJG9iaik7CgkJCQkJYnJlYWs7CgkJCQljYXNlICgkb2JqIGluc3RhbmNlb2YgRE9NRWxlbWVudCk6CgkJCQkJJHJldHZhbCAuPSAiWFBhdGg6IHskb2JqLT5nZXROb2RlUGF0aCgpfVxuIi4kb2JqLT5vd25lckRvY3VtZW50LT5zYXZlWE1MKCRvYmopOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAoJG9iaiBpbnN0YW5jZW9mIERPTUF0dHIpOgoJCQkJCSRyZXR2YWwgLj0gIlhQYXRoOiB7JG9iai0+Z2V0Tm9kZVBhdGgoKX1cbiIuJG9iai0+b3duZXJEb2N1bWVudC0+c2F2ZVhNTCgkb2JqKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgKCRvYmogaW5zdGFuY2VvZiBET01Ob2RlTGlzdCk6CgkJCQkJZm9yICgkaSA9IDA7ICRpIDwgJG9iai0+bGVuZ3RoOyAkaSsrKSB7CgkJCQkJCSRyZXR2YWwgLj0gIkl0ZW0gIyRpLCBYUGF0aDogeyRvYmotPml0ZW0oJGkpLT5nZXROb2RlUGF0aCgpfVxuIi4ieyRvYmotPml0ZW0oJGkpLT5vd25lckRvY3VtZW50LT5zYXZlWE1MKCRvYmotPml0ZW0oJGkpKX1cbiI7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJZGVmYXVsdDoKCQkJCQlyZXR1cm4gIkluc3RhbmNlIG9mIHVua25vd24gY2xhc3MiOwoJCQl9CgkJfSBlbHNlIHsKCQkJcmV0dXJuICdubyBlbGVtZW50cy4uLic7CgkJfQoJCXJldHVybiBodG1sc3BlY2lhbGNoYXJzKCRyZXR2YWwpOwoJfQoJCglwcml2YXRlIGZ1bmN0aW9uIF91bmh0bWxlbnRpdGllcygkc3RyaW5nKQoJewoJCS8vIHJlcGxhY2UgbnVtZXJpYyBlbnRpdGllcwoJCSRzdHJpbmcgPSBwcmVnX3JlcGxhY2UoJ34mI3goWzAtOWEtZl0rKTt+ZWknLCAnY2hyKGhleGRlYygiXFwxIikpJywgJHN0cmluZyk7CgkJJHN0cmluZyA9IHByZWdfcmVwbGFjZSgnfiYjKFswLTldKyk7fmUnLCAnY2hyKCJcXDEiKScsICRzdHJpbmcpOwoJCS8vIHJlcGxhY2UgbGl0ZXJhbCBlbnRpdGllcwoJCSRzdHJpbmcgPSBodG1sX2VudGl0eV9kZWNvZGUoJHN0cmluZyk7CgkJcmV0dXJuICRzdHJpbmc7Cgl9Cn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/googlevoice/LICENSE</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvQlNELwoKQ29weXJpZ2h0IChjKSAyMDA5LCBBYXJvbiBQYXJlY2tpCkFsbCByaWdodHMgcmVzZXJ2ZWQuCgpSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CiAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQogICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEFhcm9uIFBhcmVja2kgbm9yIHRoZQogICAgICBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cwogICAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KClRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQUFST04gUEFSRUNLSSAnJ0FTIElTJycgQU5EIEFOWQpFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECldBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQUFST04gUEFSRUNLSSAgQkUgTElBQkxFIEZPUiBBTlkKRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwpMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/googlevoice/README.md</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R29vZ2xlIFZvaWNlIFBIUCBBUEkKPT09PT09PT09PT09PT09PT09PT0KCkFuIEFQSSB0byBpbnRlcmFjdCB3aXRoIEdvb2dsZSBWb2ljZSB1c2luZyBQSFAuCgpDdXJyZW50bHkgdGhlIEFQSSBjYW4gcGxhY2UgY2FsbHMsIHNlbmQgYW5kIHJlY2VpdmUgU01TIG1lc3NhZ2VzLCBhbmQKZG93bmxvYWQgdHJhbnNjcmlwdGlvbnMgb2Ygdm9pY2VtYWlsLgoKRmVlbCBmcmVlIHRvIGltcGxlbWVudCBuZXcgZnVuY3Rpb25hbGl0eSBhbmQgc2VuZCBtZSB5b3VyIGNoYW5nZXMgc28KSSBjYW4gaW5jb3Jwb3JhdGUgdGhlbSBpbnRvIHRoaXMgbGlicmFyeSEKCk5vdGU6IFJlY2VpdmluZyBTTVNzIGFuZCB2b2ljZW1haWxzIGlzIG1vc3RseSB1bm5lY2Vzc2FyeSB2aWEgdGhpcyBBUEkKc2luY2UgR29vZ2xlIG5vdyBhbGxvd3MgU01TcyB0byBiZSBmb3J3YXJkZWQgdG8gYW4gZW1haWwgYWRkcmVzcy4gSXQgaXMgCmEgYmV0dGVyIGlkZWEgdG8gcGFyc2UgdGhvc2UgaW5jb21pbmcgZW1haWxzIHdpdGggYSBzY3JpcHQuCgpEaXNjbGFpbWVyCj09PT09PT09PT0KClRoaXMgY29kZSBpcyBwcm92aWRlZCBmb3IgZWR1Y2F0aW9uYWwgcHVycG9zZXMgb25seS4gVGhpcyBjb2RlIG1heSBzdG9wIHdvcmtpbmcKYXQgYW55IHRpbWUgaWYgR29vZ2xlIGNoYW5nZXMgdGhlaXIgbG9naW4gbWVjaGFuaXNtIG9yIHRoZWlyIHdlYiBwYWdlcy4gWW91IGFncmVlIHRoYXQKYnkgZG93bmxvYWRpbmcgdGhpcyBjb2RlIHlvdSBhZ3JlZSB0byB1c2UgaXQgc29sZWx5IGF0IHlvdXIgb3duIHJpc2suCgpMaWNlbnNlCj09PT09PT0KCkNvcHlyaWdodCAyMDA5IGJ5IEFhcm9uIFBhcmVja2kKaHR0cDovL2Fhcm9ucGFyZWNraS5jb20KClNlZSBMSUNFTlNFCgo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAqIEF1dGhvcjogICBOZXVtYW4gVm9uZyBuZXVtYW5AdHdpbGlvLmNvbQogKiBMaWNlbnNlOiAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvTUlULyBNSVQKICogTGluazogICAgIGh0dHBzOi8vdHdpbGlvLXBocC5yZWFkdGhlZG9jcy5vcmcvZW4vbGF0ZXN0LwogKi8KCmZ1bmN0aW9uIFNlcnZpY2VzX1R3aWxpb19hdXRvbG9hZCgkY2xhc3NOYW1lKQp7CiAgICBpZiAoc3Vic3RyKCRjbGFzc05hbWUsIDAsIDE1KSAhPSAnU2VydmljZXNfVHdpbGlvJyAmJiBzdWJzdHIoJGNsYXNzTmFtZSwgMCwgMjYpICE9ICdUYXNrUm91dGVyX1NlcnZpY2VzX1R3aWxpbycpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICAkZmlsZSA9IHN0cl9yZXBsYWNlKCdfJywgJy8nLCAkY2xhc3NOYW1lKTsKICAgICRmaWxlID0gc3RyX3JlcGxhY2UoJ1NlcnZpY2VzLycsICcnLCAkZmlsZSk7CiAgICByZXR1cm4gaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICIvJGZpbGUucGhwIjsKfQoKc3BsX2F1dG9sb2FkX3JlZ2lzdGVyKCdTZXJ2aWNlc19Ud2lsaW9fYXV0b2xvYWQnKTsKCi8qKgogKiBCYXNlIGNsaWVudCBjbGFzcwogKi8KYWJzdHJhY3QgY2xhc3MgQmFzZV9TZXJ2aWNlc19Ud2lsaW8gZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fUmVzb3VyY2UKewogICAgY29uc3QgVVNFUl9BR0VOVCA9ICd0d2lsaW8tcGhwLzMuMTMuMCc7CgogICAgcHJvdGVjdGVkICRodHRwOwogICAgcHJvdGVjdGVkICRsYXN0X3Jlc3BvbnNlOwogICAgcHJvdGVjdGVkICRyZXRyeUF0dGVtcHRzOwogICAgcHJvdGVjdGVkICR2ZXJzaW9uOwogICAgcHJvdGVjdGVkICR2ZXJzaW9ucyA9IGFycmF5KCcyMDEwLTA0LTAxJyk7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KAogICAgICAgICRzaWQsCiAgICAgICAgJHRva2VuLAogICAgICAgICR2ZXJzaW9uID0gbnVsbCwKICAgICAgICBTZXJ2aWNlc19Ud2lsaW9fVGlueUh0dHAgJF9odHRwID0gbnVsbCwKICAgICAgICAkcmV0cnlBdHRlbXB0cyA9IDEKICAgICkKICAgIHsKICAgICAgICAkdGhpcy0+dmVyc2lvbiA9IGluX2FycmF5KCR2ZXJzaW9uLCAkdGhpcy0+dmVyc2lvbnMpID8gJHZlcnNpb24gOiBlbmQoJHRoaXMtPnZlcnNpb25zKTsKCiAgICAgICAgaWYgKG51bGwgPT09ICRfaHR0cCkgewogICAgICAgICAgICBpZiAoIWluX2FycmF5KCdvcGVuc3NsJywgZ2V0X2xvYWRlZF9leHRlbnNpb25zKCkpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU2VydmljZXNfVHdpbGlvX0h0dHBFeGNlcHRpb24oIlRoZSBPcGVuU1NMIGV4dGVuc2lvbiBpcyByZXF1aXJlZCBidXQgbm90IGN1cnJlbnRseSBlbmFibGVkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9ib29rLm9wZW5zc2wucGhwIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGluX2FycmF5KCdjdXJsJywgZ2V0X2xvYWRlZF9leHRlbnNpb25zKCkpKSB7CiAgICAgICAgICAgICAgICAkX2h0dHAgPSBuZXcgU2VydmljZXNfVHdpbGlvX1RpbnlIdHRwKAogICAgICAgICAgICAgICAgICAgICR0aGlzLT5fZ2V0QmFzZVVyaSgpLAogICAgICAgICAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAiY3VybG9wdHMiID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1VSTE9QVF9VU0VSQUdFTlQgPT4gc2VsZjo6cXVhbGlmaWVkVXNlckFnZW50KHBocHZlcnNpb24oKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gYXJyYXkoJ0FjY2VwdC1DaGFyc2V0OiB1dGYtOCcpLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkX2h0dHAgPSBuZXcgU2VydmljZXNfVHdpbGlvX0h0dHBTdHJlYW0oCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPl9nZXRCYXNlVXJpKCksCiAgICAgICAgICAgICAgICAgICAgYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICJodHRwX29wdGlvbnMiID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHAiID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2VyX2FnZW50IiA9PiBzZWxmOjpxdWFsaWZpZWRVc2VyQWdlbnQocGhwdmVyc2lvbigpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGVhZGVyIiA9PiAiQWNjZXB0LUNoYXJzZXQ6IHV0Zi04XHJcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNzbCIgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcmlmeV9wZWVyJyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJpZnlfZGVwdGgnID0+IDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJF9odHRwLT5hdXRoZW50aWNhdGUoJHNpZCwgJHRva2VuKTsKICAgICAgICAkdGhpcy0+aHR0cCA9ICRfaHR0cDsKICAgICAgICAkdGhpcy0+cmV0cnlBdHRlbXB0cyA9ICRyZXRyeUF0dGVtcHRzOwogICAgfQoKICAgIC8qKgogICAgICogQnVpbGQgYSBxdWVyeSBzdHJpbmcgZnJvbSBxdWVyeSBkYXRhCiAgICAgKgogICAgICogOnBhcmFtIGFycmF5ICRxdWVyeURhdGE6IEFuIGFzc29jaWF0aXZlIGFycmF5IG9mIGtleXMgYW5kIHZhbHVlcy4gVGhlCiAgICAgKiAgICAgIHZhbHVlcyBjYW4gYmUgYSBzaW1wbGUgdHlwZSBvciBhIGxpc3QsIGluIHdoaWNoIGNhc2UgdGhlIGxpc3QgaXMKICAgICAqICAgICAgY29udmVydGVkIHRvIG11bHRpcGxlIHF1ZXJ5IHBhcmFtZXRlcnMgd2l0aCB0aGUgc2FtZSBrZXkuCiAgICAgKiA6cGFyYW0gc3RyaW5nICRudW1lcmljUHJlZml4OgogICAgICogOnBhcmFtIHN0cmluZyAkcXVlcnlTdHJpbmdTdHlsZTogRGV0ZXJtaW5lIGhvdyB0byBidWlsZCB0aGUgdXJsCiAgICAgKiAgICAgIC0gc3RyaWN0OiBCdWlsZCBhIHN0YW5kYXJkcyBjb21wbGlhbnQgcXVlcnkgc3RyaW5nIHdpdGhvdXQgYnJhY2VzIChjYW4gYmUgaGFja2VkIGJ5IHVzaW5nIGJyYWNlcyBpbiBrZXkpCiAgICAgKiAgICAgIC0gcGhwOiBCdWlsZCBhIFBIUCBjb21wYXRpYmxlIHF1ZXJ5IHN0cmluZyB3aXRoIG5lc3RlZCBhcnJheSBzeW50YXgKICAgICAqIDpyZXR1cm46IFRoZSBlbmNvZGVkIHF1ZXJ5IHN0cmluZwogICAgICogOnJ0eXBlOiBzdHJpbmcKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBidWlsZFF1ZXJ5KCRxdWVyeURhdGEsICRudW1lcmljUHJlZml4ID0gJycpCiAgICB7CiAgICAgICAgJHF1ZXJ5ID0gJyc7CiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIGFsbCBvZiB0aGUgJHF1ZXJ5X2RhdGEKICAgICAgICBmb3JlYWNoICgkcXVlcnlEYXRhIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgIC8vIElmIHRoZSBrZXkgaXMgYW4gaW50LCBhZGQgdGhlIG51bWVyaWNfcHJlZml4IHRvIHRoZSBiZWdpbm5pbmcKICAgICAgICAgICAgaWYgKGlzX2ludCgka2V5KSkgewogICAgICAgICAgICAgICAgJGtleSA9ICRudW1lcmljUHJlZml4IC4gJGtleTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gSWYgdGhlIHZhbHVlIGlzIGFuIGFycmF5LCB3ZSB3aWxsIGVuZCB1cCByZWN1cnNpbmcKICAgICAgICAgICAgaWYgKGlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgdmFsdWVzCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkdmFsdWUgYXMgJHZhbHVlMikgewogICAgICAgICAgICAgICAgICAgIC8vIEFkZCBhbiBhcmdfc2VwYXJhdG9yIGlmIG5lZWRlZAogICAgICAgICAgICAgICAgICAgIGlmICgkcXVlcnkgIT09ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSAuPSAnJic7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIC8vIFJlY3Vyc2UKICAgICAgICAgICAgICAgICAgICAkcXVlcnkgLj0gc2VsZjo6YnVpbGRRdWVyeShhcnJheSgka2V5ID0+ICR2YWx1ZTIpLCAkbnVtZXJpY1ByZWZpeCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBBZGQgYW4gYXJnX3NlcGFyYXRvciBpZiBuZWVkZWQKICAgICAgICAgICAgICAgIGlmICgkcXVlcnkgIT09ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5IC49ICcmJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUga2V5IGFuZCB0aGUgdXJsZW5jb2RlZCB2YWx1ZSAoYXMgYSBzdHJpbmcpCiAgICAgICAgICAgICAgICAkcXVlcnkgLj0gJGtleSAuICc9JyAuIHVybGVuY29kZSgoc3RyaW5nKSR2YWx1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRxdWVyeTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnN0cnVjdCBhIFVSSSBiYXNlZCBvbiBpbml0aWFsIHBhdGgsIHF1ZXJ5IHBhcmFtcywgYW5kIHBhZ2luZwogICAgICogaW5mb3JtYXRpb24KICAgICAqCiAgICAgKiBXZSB3YW50IHRvIHVzZSB0aGUgcXVlcnkgcGFyYW1zLCB1bmxlc3Mgd2UgaGF2ZSBhIG5leHRfcGFnZV91cmkgZnJvbSB0aGUKICAgICAqIEFQSS4KICAgICAqCiAgICAgKiA6cGFyYW0gc3RyaW5nICRwYXRoOiBUaGUgcmVxdWVzdCBwYXRoIChtYXkgY29udGFpbiBxdWVyeSBwYXJhbXMgaWYgaXQncwogICAgICogICAgICBhIG5leHRfcGFnZV91cmkpCiAgICAgKiA6cGFyYW0gYXJyYXkgJHBhcmFtczogUXVlcnkgcGFyYW1ldGVycyB0byB1c2Ugd2l0aCB0aGUgcmVxdWVzdAogICAgICogOnBhcmFtIGJvb2xlYW4gJGZ1bGxfdXJpOiBXaGV0aGVyIHRoZSAkcGF0aCBjb250YWlucyB0aGUgZnVsbCB1cmkKICAgICAqCiAgICAgKiA6cmV0dXJuOiB0aGUgVVJJIHRoYXQgc2hvdWxkIGJlIHJlcXVlc3RlZCBieSB0aGUgbGlicmFyeQogICAgICogOnJldHVybnR5cGU6IHN0cmluZwogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFJlcXVlc3RVcmkoJHBhdGgsICRwYXJhbXMsICRmdWxsX3VyaSA9IGZhbHNlKQogICAgewogICAgICAgICRqc29uX3BhdGggPSAkZnVsbF91cmkgPyAkcGF0aCA6ICIkcGF0aC5qc29uIjsKICAgICAgICBpZiAoISRmdWxsX3VyaSAmJiAhZW1wdHkoJHBhcmFtcykpIHsKICAgICAgICAgICAgJHF1ZXJ5X3BhdGggPSAkanNvbl9wYXRoIC4gJz8nIC4gaHR0cF9idWlsZF9xdWVyeSgkcGFyYW1zLCAnJywgJyYnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcXVlcnlfcGF0aCA9ICRqc29uX3BhdGg7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcXVlcnlfcGF0aDsKICAgIH0KCiAgICAvKioKICAgICAqIEZ1bGx5IHF1YWxpZmllZCB1c2VyIGFnZW50IHdpdGggdGhlIGN1cnJlbnQgUEhQIFZlcnNpb24uCiAgICAgKgogICAgICogOnJldHVybjogdGhlIHVzZXIgYWdlbnQKICAgICAqIDpydHlwZTogc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcXVhbGlmaWVkVXNlckFnZW50KCRwaHBfdmVyc2lvbikKICAgIHsKICAgICAgICByZXR1cm4gc2VsZjo6VVNFUl9BR0VOVCAuICIgKHBocCAkcGhwX3ZlcnNpb24pIjsKICAgIH0KCiAgICAvKioKICAgICAqIFBPU1QgdG8gdGhlIHJlc291cmNlIGF0IHRoZSBzcGVjaWZpZWQgcGF0aC4KICAgICAqCiAgICAgKiA6cGFyYW0gc3RyaW5nICRwYXRoOiAgIFBhdGggdG8gdGhlIHJlc291cmNlCiAgICAgKiA6cGFyYW0gYXJyYXkgICRwYXJhbXM6IFF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzCiAgICAgKgogICAgICogOnJldHVybjogVGhlIG9iamVjdCByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmVzb3VyY2UKICAgICAqIDpydHlwZTogb2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVEYXRhKCRwYXRoLCAkcGFyYW1zID0gYXJyYXkoKSwgJGZ1bGxfdXJpID0gZmFsc2UpCiAgICB7CgkJaWYgKCEkZnVsbF91cmkpIHsKCQkJJHBhdGggPSAiJHBhdGguanNvbiI7CgkJfQogICAgICAgICRoZWFkZXJzID0gYXJyYXkoJ0NvbnRlbnQtVHlwZScgPT4gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICRyZXNwb25zZSA9ICR0aGlzLT5odHRwLT5wb3N0KAogICAgICAgICAgICAkcGF0aCwgJGhlYWRlcnMsIHNlbGY6OmJ1aWxkUXVlcnkoJHBhcmFtcywgJycpCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gJHRoaXMtPl9wcm9jZXNzUmVzcG9uc2UoJHJlc3BvbnNlKTsKICAgIH0KCiAgICAvKioKICAgICAqIERFTEVURSB0aGUgcmVzb3VyY2UgYXQgdGhlIHNwZWNpZmllZCBwYXRoLgogICAgICoKICAgICAqIDpwYXJhbSBzdHJpbmcgJHBhdGg6ICAgUGF0aCB0byB0aGUgcmVzb3VyY2UKICAgICAqIDpwYXJhbSBhcnJheSAgJHBhcmFtczogUXVlcnkgc3RyaW5nIHBhcmFtZXRlcnMKICAgICAqCiAgICAgKiA6cmV0dXJuOiBUaGUgb2JqZWN0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSByZXNvdXJjZQogICAgICogOnJ0eXBlOiBvYmplY3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZURhdGEoJHBhdGgsICRwYXJhbXMgPSBhcnJheSgpKQogICAgewogICAgICAgICR1cmkgPSBzZWxmOjpnZXRSZXF1ZXN0VXJpKCRwYXRoLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tYWtlSWRlbXBvdGVudFJlcXVlc3QoYXJyYXkoJHRoaXMtPmh0dHAsICdkZWxldGUnKSwKICAgICAgICAgICAgJHVyaSwgJHRoaXMtPnJldHJ5QXR0ZW1wdHMpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSByZXRyeSBhdHRlbXB0IGxpbWl0IHVzZWQgYnkgdGhlIHJlc3QgY2xpZW50CiAgICAgKgogICAgICogOnJldHVybjogdGhlIG51bWJlciBvZiByZXRyeSBhdHRlbXB0cwogICAgICogOnJ0eXBlOiBpbnQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJldHJ5QXR0ZW1wdHMoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmV0cnlBdHRlbXB0czsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgYXBpIHZlcnNpb24gdXNlZCBieSB0aGUgcmVzdCBjbGllbnQKICAgICAqCiAgICAgKiA6cmV0dXJuOiB0aGUgQVBJIHZlcnNpb24gaW4gdXNlCiAgICAgKiA6cmV0dXJudHlwZTogc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRWZXJzaW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnZlcnNpb247CiAgICB9CgogICAgLyoqCiAgICAgKiBHRVQgdGhlIHJlc291cmNlIGF0IHRoZSBzcGVjaWZpZWQgcGF0aC4KICAgICAqCiAgICAgKiA6cGFyYW0gc3RyaW5nICRwYXRoOiAgIFBhdGggdG8gdGhlIHJlc291cmNlCiAgICAgKiA6cGFyYW0gYXJyYXkgICRwYXJhbXM6IFF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzCiAgICAgKiA6cGFyYW0gYm9vbGVhbiAgJGZ1bGxfdXJpOiBXaGV0aGVyIHRoZSBmdWxsIFVSSSBoYXMgYmVlbiBwYXNzZWQgYXMgYW4KICAgICAqICAgICAgYXJndW1lbnQKICAgICAqCiAgICAgKiA6cmV0dXJuOiBUaGUgb2JqZWN0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSByZXNvdXJjZQogICAgICogOnJ0eXBlOiBvYmplY3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJldHJpZXZlRGF0YSgkcGF0aCwgJHBhcmFtcyA9IGFycmF5KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmdWxsX3VyaSA9IGZhbHNlCiAgICApCiAgICB7CiAgICAgICAgJHVyaSA9IHN0YXRpYzo6Z2V0UmVxdWVzdFVyaSgkcGF0aCwgJHBhcmFtcywgJGZ1bGxfdXJpKTsKICAgICAgICByZXR1cm4gJHRoaXMtPl9tYWtlSWRlbXBvdGVudFJlcXVlc3QoYXJyYXkoJHRoaXMtPmh0dHAsICdnZXQnKSwKICAgICAgICAgICAgJHVyaSwgJHRoaXMtPnJldHJ5QXR0ZW1wdHMpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBiYXNlIFVSSSBmb3IgdGhpcyBjbGllbnQuCiAgICAgKgogICAgICogOnJldHVybjogYmFzZSBVUkkKICAgICAqIDpydHlwZTogc3RyaW5nCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfZ2V0QmFzZVVyaSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdodHRwczovL2FwaS50d2lsaW8uY29tJzsKICAgIH0KCiAgICAvKioKICAgICAqIEhlbHBlciBtZXRob2QgZm9yIGltcGxlbWVudGluZyByZXF1ZXN0IHJldHJ5IGxvZ2ljCiAgICAgKgogICAgICogOnBhcmFtIGFycmF5ICAkY2FsbGFibGU6ICAgICAgVGhlIGZ1bmN0aW9uIHRoYXQgbWFrZXMgYW4gSFRUUCByZXF1ZXN0CiAgICAgKiA6cGFyYW0gc3RyaW5nICR1cmk6ICAgICAgICAgICBUaGUgVVJJIHRvIHJlcXVlc3QKICAgICAqIDpwYXJhbSBpbnQgICAgJHJldHJpZXNMZWZ0OiAgIE51bWJlciBvZiB0aW1lcyB0byByZXRyeQogICAgICoKICAgICAqIDpyZXR1cm46IFRoZSBvYmplY3QgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlc291cmNlCiAgICAgKiA6cnR5cGU6IG9iamVjdAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX21ha2VJZGVtcG90ZW50UmVxdWVzdCgkY2FsbGFibGUsICR1cmksICRyZXRyaWVzTGVmdCkKICAgIHsKICAgICAgICAkcmVzcG9uc2UgPSBjYWxsX3VzZXJfZnVuY19hcnJheSgkY2FsbGFibGUsIGFycmF5KCR1cmkpKTsKICAgICAgICBsaXN0KCRzdGF0dXMsICRoZWFkZXJzLCAkYm9keSkgPSAkcmVzcG9uc2U7CiAgICAgICAgaWYgKCRzdGF0dXMgPj0gNTAwICYmICRyZXRyaWVzTGVmdCA+IDApIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fbWFrZUlkZW1wb3RlbnRSZXF1ZXN0KCRjYWxsYWJsZSwgJHVyaSwgJHJldHJpZXNMZWZ0IC0gMSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fcHJvY2Vzc1Jlc3BvbnNlKCRyZXNwb25zZSk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ29udmVydCB0aGUgSlNPTiBlbmNvZGVkIHJlc291cmNlIGludG8gYSBQSFAgb2JqZWN0LgogICAgICoKICAgICAqIDpwYXJhbSBhcnJheSAkcmVzcG9uc2U6IDMtdHVwbGUgY29udGFpbmluZyBzdGF0dXMsIGhlYWRlcnMsIGFuZCBib2R5CiAgICAgKgogICAgICogOnJldHVybjogUEhQIG9iamVjdCBkZWNvZGVkIGZyb20gSlNPTgogICAgICogOnJ0eXBlOiBvYmplY3QKICAgICAqIDp0aHJvd3M6IEEgOnBocDpjbGFzczpgU2VydmljZXNfVHdpbGlvX1Jlc3RFeGNlcHRpb25gIGlmIHRoZSBSZXNwb25zZSBpcwogICAgICogICAgICBpbiB0aGUgMzAwLTUwMCByYW5nZSBvZiBzdGF0dXMgY29kZXMuCiAgICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gX3Byb2Nlc3NSZXNwb25zZSgkcmVzcG9uc2UpCiAgICB7CiAgICAgICAgbGlzdCgkc3RhdHVzLCAkaGVhZGVycywgJGJvZHkpID0gJHJlc3BvbnNlOwogICAgICAgIGlmICgkc3RhdHVzID09PSAyMDQpIHsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgICRkZWNvZGVkID0ganNvbl9kZWNvZGUoJGJvZHkpOwogICAgICAgIGlmICgkZGVjb2RlZCA9PT0gbnVsbCkgewogICAgICAgICAgICB0aHJvdyBuZXcgU2VydmljZXNfVHdpbGlvX1Jlc3RFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAkc3RhdHVzLAogICAgICAgICAgICAgICAgJ0NvdWxkIG5vdCBkZWNvZGUgcmVzcG9uc2UgYm9keSBhcyBKU09OLiAnIC4KICAgICAgICAgICAgICAgICdUaGlzIGxpa2VseSBpbmRpY2F0ZXMgYSA1MDAgc2VydmVyIGVycm9yJwogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBpZiAoMjAwIDw9ICRzdGF0dXMgJiYgJHN0YXR1cyA8IDMwMCkgewogICAgICAgICAgICAkdGhpcy0+bGFzdF9yZXNwb25zZSA9ICRkZWNvZGVkOwogICAgICAgICAgICByZXR1cm4gJGRlY29kZWQ7CiAgICAgICAgfQogICAgICAgIHRocm93IG5ldyBTZXJ2aWNlc19Ud2lsaW9fUmVzdEV4Y2VwdGlvbigKICAgICAgICAgICAgJHN0YXR1cywKICAgICAgICAgICAgaXNzZXQoJGRlY29kZWQtPm1lc3NhZ2UpID8gJGRlY29kZWQtPm1lc3NhZ2UgOiAnJywKICAgICAgICAgICAgaXNzZXQoJGRlY29kZWQtPmNvZGUpID8gJGRlY29kZWQtPmNvZGUgOiBudWxsLAogICAgICAgICAgICBpc3NldCgkZGVjb2RlZC0+bW9yZV9pbmZvKSA/ICRkZWNvZGVkLT5tb3JlX2luZm8gOiBudWxsCiAgICAgICAgKTsKICAgIH0KfQoKLyoqCiAqIENyZWF0ZSBhIGNsaWVudCB0byB0YWxrIHRvIHRoZSBUd2lsaW8gUmVzdCBBUEkuCiAqCiAqCiAqIDpwYXJhbSBzdHJpbmcgICAgICAgICAgICAgICAkc2lkOiAgICAgIFlvdXIgQWNjb3VudCBTSUQKICogOnBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICR0b2tlbjogICAgWW91ciBBdXRoIFRva2VuIGZyb20gYHlvdXIgZGFzaGJvYXJkCiAqICAgICAgPGh0dHBzOi8vd3d3LnR3aWxpby5jb20vdXNlci9hY2NvdW50PmBfCiAqIDpwYXJhbSBzdHJpbmcgICAgICAgICAgICAgICAkdmVyc2lvbjogIEFQSSB2ZXJzaW9uIHRvIHVzZQogKiA6cGFyYW0gJF9odHRwOiAgICBBIEhUVFAgY2xpZW50IGZvciBtYWtpbmcgcmVxdWVzdHMuCiAqIDp0eXBlICRfaHR0cDogOnBocDpjbGFzczpgU2VydmljZXNfVHdpbGlvX1RpbnlIdHRwYAogKiA6cGFyYW0gaW50ICAgICAgICAgICAgICAgICAgJHJldHJ5QXR0ZW1wdHM6CiAqICAgICAgTnVtYmVyIG9mIHRpbWVzIHRvIHJldHJ5IGZhaWxlZCByZXF1ZXN0cy4gQ3VycmVudGx5IG9ubHkgaWRlbXBvdGVudAogKiAgICAgIHJlcXVlc3RzIChHRVQncyBhbmQgREVMRVRFJ3MpIGFyZSByZXRyaWVkLgogKgogKiBIZXJlJ3MgYW4gZXhhbXBsZToKICoKICogLi4gY29kZS1ibG9jazo6IHBocAogKgogKiAgICAgIHJlcXVpcmUoJ1NlcnZpY2VzL1R3aWxpby5waHAnKTsKICogICAgICAkY2xpZW50ID0gbmV3IFNlcnZpY2VzX1R3aWxpbygnQUMxMjMnLCAnNDU2YmVmJywgbnVsbCwgbnVsbCwgMyk7CiAqICAgICAgLy8gVGFrZSBzb21lIGFjdGlvbiB3aXRoIHRoZSBjbGllbnQsIGV0Yy4KICovCmNsYXNzIFNlcnZpY2VzX1R3aWxpbyBleHRlbmRzIEJhc2VfU2VydmljZXNfVHdpbGlvCnsKCiAgICBDT05TVCBVUkkgPSAnaHR0cHM6Ly9hcGkudHdpbGlvLmNvbSc7CiAgICBwcm90ZWN0ZWQgJHZlcnNpb25zID0gYXJyYXkoJzIwMDgtMDgtMDEnLCAnMjAxMC0wNC0wMScpOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgKICAgICAgICAkc2lkLAogICAgICAgICR0b2tlbiwKICAgICAgICAkdmVyc2lvbiA9IG51bGwsCiAgICAgICAgU2VydmljZXNfVHdpbGlvX1RpbnlIdHRwICRfaHR0cCA9IG51bGwsCiAgICAgICAgJHJldHJ5QXR0ZW1wdHMgPSAxCiAgICApCiAgICB7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkc2lkLCAkdG9rZW4sICR2ZXJzaW9uLCAkX2h0dHAsICRyZXRyeUF0dGVtcHRzKTsKCiAgICAgICAgJHRoaXMtPmFjY291bnRzID0gbmV3IFNlcnZpY2VzX1R3aWxpb19SZXN0X0FjY291bnRzKCR0aGlzLCAiL3skdGhpcy0+dmVyc2lvbn0vQWNjb3VudHMiKTsKICAgICAgICAkdGhpcy0+YWNjb3VudCA9ICR0aGlzLT5hY2NvdW50cy0+Z2V0KCRzaWQpOwogICAgfQp9CgovKioKICogQ3JlYXRlIGEgY2xpZW50IHRvIHRhbGsgdG8gdGhlIFR3aWxpbyBUYXNrUm91dGVyIEFQSS4KICoKICoKICogOnBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICRzaWQ6ICAgICAgWW91ciBBY2NvdW50IFNJRAogKiA6cGFyYW0gc3RyaW5nICAgICAgICAgICAgICAgJHRva2VuOiAgICBZb3VyIEF1dGggVG9rZW4gZnJvbSBgeW91ciBkYXNoYm9hcmQKICogICAgICA8aHR0cHM6Ly93d3cudHdpbGlvLmNvbS91c2VyL2FjY291bnQ+YF8KICogOnBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICR3b3Jrc3BhY2VTaWQ6CiAqICAgICAgV29ya3NwYWNlIFNJRCB0byB3b3JrIHdpdGgKICogOnBhcmFtIHN0cmluZyAgICAgICAgICAgICAgICR2ZXJzaW9uOiAgQVBJIHZlcnNpb24gdG8gdXNlCiAqIDpwYXJhbSAkX2h0dHA6ICAgIEEgSFRUUCBjbGllbnQgZm9yIG1ha2luZyByZXF1ZXN0cy4KICogOnR5cGUgJF9odHRwOiA6cGhwOmNsYXNzOmBTZXJ2aWNlc19Ud2lsaW9fVGlueUh0dHBgCiAqIDpwYXJhbSBpbnQgICAgICAgICAgICAgICAgICAkcmV0cnlBdHRlbXB0czoKICogICAgICBOdW1iZXIgb2YgdGltZXMgdG8gcmV0cnkgZmFpbGVkIHJlcXVlc3RzLiBDdXJyZW50bHkgb25seSBpZGVtcG90ZW50CiAqICAgICAgcmVxdWVzdHMgKEdFVCdzIGFuZCBERUxFVEUncykgYXJlIHJldHJpZWQuCiAqCiAqIEhlcmUncyBhbiBleGFtcGxlOgogKgogKiAuLiBjb2RlLWJsb2NrOjogcGhwCiAqCiAqICAgICAgcmVxdWlyZSgnU2VydmljZXMvVHdpbGlvLnBocCcpOwogKiAgICAgICRjbGllbnQgPSBuZXcgVGFza1JvdXRlcl9TZXJ2aWNlc19Ud2lsaW8oJ0FDMTIzJywgJzQ1NmJlZicsIG51bGwsIG51bGwsIDMpOwogKiAgICAgIC8vIFRha2Ugc29tZSBhY3Rpb24gd2l0aCB0aGUgY2xpZW50LCBldGMuCiAqLwpjbGFzcyBUYXNrUm91dGVyX1NlcnZpY2VzX1R3aWxpbyBleHRlbmRzIEJhc2VfU2VydmljZXNfVHdpbGlvCnsKICAgIHByb3RlY3RlZCAkdmVyc2lvbnMgPSBhcnJheSgndjEnKTsKICAgIHByaXZhdGUgJGFjY291bnRTaWQ7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KAogICAgICAgICRzaWQsCiAgICAgICAgJHRva2VuLAogICAgICAgICR3b3Jrc3BhY2VTaWQsCiAgICAgICAgJHZlcnNpb24gPSBudWxsLAogICAgICAgIFNlcnZpY2VzX1R3aWxpb19UaW55SHR0cCAkX2h0dHAgPSBudWxsLAogICAgICAgICRyZXRyeUF0dGVtcHRzID0gMQogICAgKQogICAgewogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJHNpZCwgJHRva2VuLCAkdmVyc2lvbiwgJF9odHRwLCAkcmV0cnlBdHRlbXB0cyk7CgogICAgICAgICR0aGlzLT53b3Jrc3BhY2VzID0gbmV3IFNlcnZpY2VzX1R3aWxpb19SZXN0X1Rhc2tSb3V0ZXJfV29ya3NwYWNlcygkdGhpcywgIi97JHRoaXMtPnZlcnNpb259L1dvcmtzcGFjZXMiKTsKICAgICAgICAkdGhpcy0+d29ya3NwYWNlID0gJHRoaXMtPndvcmtzcGFjZXMtPmdldCgkd29ya3NwYWNlU2lkKTsKICAgICAgICAkdGhpcy0+YWNjb3VudFNpZCA9ICRzaWQ7CiAgICB9CgoJLyoqCgkgKiBDb25zdHJ1Y3QgYSBVUkkgYmFzZWQgb24gaW5pdGlhbCBwYXRoLCBxdWVyeSBwYXJhbXMsIGFuZCBwYWdpbmcKCSAqIGluZm9ybWF0aW9uCgkgKgoJICogV2Ugd2FudCB0byB1c2UgdGhlIHF1ZXJ5IHBhcmFtcywgdW5sZXNzIHdlIGhhdmUgYSBuZXh0X3BhZ2VfdXJpIGZyb20gdGhlCgkgKiBBUEkuCgkgKgoJICogOnBhcmFtIHN0cmluZyAkcGF0aDogVGhlIHJlcXVlc3QgcGF0aCAobWF5IGNvbnRhaW4gcXVlcnkgcGFyYW1zIGlmIGl0J3MKCSAqICAgICAgYSBuZXh0X3BhZ2VfdXJpKQoJICogOnBhcmFtIGFycmF5ICRwYXJhbXM6IFF1ZXJ5IHBhcmFtZXRlcnMgdG8gdXNlIHdpdGggdGhlIHJlcXVlc3QKCSAqIDpwYXJhbSBib29sZWFuICRmdWxsX3VyaTogV2hldGhlciB0aGUgJHBhdGggY29udGFpbnMgdGhlIGZ1bGwgdXJpCgkgKgoJICogOnJldHVybjogdGhlIFVSSSB0aGF0IHNob3VsZCBiZSByZXF1ZXN0ZWQgYnkgdGhlIGxpYnJhcnkKCSAqIDpyZXR1cm50eXBlOiBzdHJpbmcKCSAqLwoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRSZXF1ZXN0VXJpKCRwYXRoLCAkcGFyYW1zLCAkZnVsbF91cmkgPSBmYWxzZSkKCXsKCQlpZiAoISRmdWxsX3VyaSAmJiAhZW1wdHkoJHBhcmFtcykpIHsKCQkJJHF1ZXJ5X3BhdGggPSAkcGF0aCAuICc/JyAuIGh0dHBfYnVpbGRfcXVlcnkoJHBhcmFtcywgJycsICcmJyk7CgkJfSBlbHNlIHsKCQkJJHF1ZXJ5X3BhdGggPSAkcGF0aDsKCQl9CgkJcmV0dXJuICRxdWVyeV9wYXRoOwoJfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY3JlYXRlV29ya3NwYWNlKCRzaWQsICR0b2tlbiwgJGZyaWVuZGx5TmFtZSwgYXJyYXkgJHBhcmFtcyA9IGFycmF5KCksIFNlcnZpY2VzX1R3aWxpb19UaW55SHR0cCAkX2h0dHAgPSBudWxsKQogICAgewogICAgICAgICR0YXNrcm91dGVyQ2xpZW50ID0gbmV3IFRhc2tSb3V0ZXJfU2VydmljZXNfVHdpbGlvKCRzaWQsICR0b2tlbiwgbnVsbCwgbnVsbCwgJF9odHRwKTsKICAgICAgICByZXR1cm4gJHRhc2tyb3V0ZXJDbGllbnQtPndvcmtzcGFjZXMtPmNyZWF0ZSgkZnJpZW5kbHlOYW1lLCAkcGFyYW1zKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VGFza1F1ZXVlc1N0YXRpc3RpY3MoYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXRyaWV2ZURhdGEoIi97JHRoaXMtPnZlcnNpb259L1dvcmtzcGFjZXMveyR0aGlzLT53b3Jrc3BhY2UtPnNpZH0vVGFza1F1ZXVlcy9TdGF0aXN0aWNzIiwgJHBhcmFtcyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFRhc2tRdWV1ZVN0YXRpc3RpY3MoJHRhc2tRdWV1ZVNpZCwgYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXRyaWV2ZURhdGEoIi97JHRoaXMtPnZlcnNpb259L1dvcmtzcGFjZXMveyR0aGlzLT53b3Jrc3BhY2UtPnNpZH0vVGFza1F1ZXVlcy97JHRhc2tRdWV1ZVNpZH0vU3RhdGlzdGljcyIsICRwYXJhbXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRXb3JrZXJzU3RhdGlzdGljcyhhcnJheSAkcGFyYW1zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJldHJpZXZlRGF0YSgiL3skdGhpcy0+dmVyc2lvbn0vV29ya3NwYWNlcy97JHRoaXMtPndvcmtzcGFjZS0+c2lkfS9Xb3JrZXJzL1N0YXRpc3RpY3MiLCAkcGFyYW1zKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0V29ya2VyU3RhdGlzdGljcygkd29ya2VyU2lkLCBhcnJheSAkcGFyYW1zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJldHJpZXZlRGF0YSgiL3skdGhpcy0+dmVyc2lvbn0vV29ya3NwYWNlcy97JHRoaXMtPndvcmtzcGFjZS0+c2lkfS9Xb3JrZXJzL3skd29ya2VyU2lkfS9TdGF0aXN0aWNzIiwgJHBhcmFtcyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFdvcmtmbG93U3RhdGlzdGljcygkd29ya2Zsb3dTaWQsIGFycmF5ICRwYXJhbXMgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+cmV0cmlldmVEYXRhKCIveyR0aGlzLT52ZXJzaW9ufS9Xb3Jrc3BhY2VzL3skdGhpcy0+d29ya3NwYWNlLT5zaWR9L1dvcmtmbG93cy97JHdvcmtmbG93U2lkfS9TdGF0aXN0aWNzIiwgJHBhcmFtcyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFdvcmtzcGFjZVN0YXRpc3RpY3MoYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXRyaWV2ZURhdGEoIi97JHRoaXMtPnZlcnNpb259L1dvcmtzcGFjZXMveyR0aGlzLT53b3Jrc3BhY2UtPnNpZH0vU3RhdGlzdGljcyIsICRwYXJhbXMpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfZ2V0QmFzZVVyaSgpCiAgICB7CiAgICAgICAgcmV0dXJuICdodHRwczovL3Rhc2tyb3V0ZXIudHdpbGlvLmNvbSc7CiAgICB9Cn0KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/InstanceResource.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBAY2F0ZWdvcnkgU2VydmljZXMKICogQHBhY2thZ2UgIFNlcnZpY2VzX1R3aWxpbwogKiBAYXV0aG9yICAgTmV1bWFuIFZvbmcgPG5ldW1hbkB0d2lsaW8uY29tPgogKiBAbGljZW5zZSAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvTUlULyBNSVQKICogQGxpbmsgICAgIGh0dHA6Ly9wZWFyLnBocC5uZXQvcGFja2FnZS9TZXJ2aWNlc19Ud2lsaW8KICovCgovKioKICogQWJzdHJhY3Rpb24gb2YgYW4gaW5zdGFuY2UgcmVzb3VyY2UgZnJvbSB0aGUgVHdpbGlvIEFQSS4KICovCmFic3RyYWN0IGNsYXNzIFNlcnZpY2VzX1R3aWxpb19JbnN0YW5jZVJlc291cmNlIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX1Jlc291cmNlIHsKCiAgICAvKioKICAgICAqIE1ha2UgYSByZXF1ZXN0IHRvIHRoZSBBUEkgdG8gdXBkYXRlIGFuIGluc3RhbmNlIHJlc291cmNlCiAgICAgKgogICAgICogOnBhcmFtIG1peGVkICRwYXJhbXM6IEFuIGFycmF5IG9mIHVwZGF0ZXMsIG9yIGEgcHJvcGVydHkgbmFtZQogICAgICogOnBhcmFtIG1peGVkICR2YWx1ZTogIEEgdmFsdWUgd2l0aCB3aGljaCB0byB1cGRhdGUgdGhlIHJlc291cmNlCiAgICAgKgogICAgICogOnJ0eXBlOiBudWxsCiAgICAgKiA6dGhyb3dzOiBhIDpwaHA6Y2xhc3M6YFJlc3RFeGNlcHRpb24gPFNlcnZpY2VzX1R3aWxpb19SZXN0RXhjZXB0aW9uPmAgaWYKICAgICAqICAgICAgdGhlIHVwZGF0ZSBmYWlscy4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZSgkcGFyYW1zLCAkdmFsdWUgPSBudWxsKQogICAgewogICAgICAgIGlmICghaXNfYXJyYXkoJHBhcmFtcykpIHsKICAgICAgICAgICAgJHBhcmFtcyA9IGFycmF5KCRwYXJhbXMgPT4gJHZhbHVlKTsKICAgICAgICB9CiAgICAgICAgJGRlY2FtZWxpemVkUGFyYW1zID0gJHRoaXMtPmNsaWVudC0+Y3JlYXRlRGF0YSgkdGhpcy0+dXJpLCAkcGFyYW1zKTsKICAgICAgICAkdGhpcy0+dXBkYXRlQXR0cmlidXRlcygkZGVjYW1lbGl6ZWRQYXJhbXMpOwogICAgfQoKICAgIC8qCiAgICAgKiBBZGQgYWxsIHByb3BlcnRpZXMgZnJvbSBhbiBhc3NvY2lhdGl2ZSBhcnJheSAodGhlIEpTT04gcmVzcG9uc2UgYm9keSkgYXMKICAgICAqIHByb3BlcnRpZXMgb24gdGhpcyBpbnN0YW5jZSByZXNvdXJjZSwgZXhjZXB0IHRoZSBVUkkKICAgICAqCiAgICAgKiA6cGFyYW0gc3RkQ2xhc3MgJHBhcmFtczogQW4gb2JqZWN0IGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBwYXJhbWV0ZXJzIG9mCiAgICAgKiAgICAgIHRoaXMgaW5zdGFuY2UKICAgICAqIDpyZXR1cm46IE5vdGhpbmcsIHRoaXMgaXMgcHVyZWx5IHNpZGUgZWZmZWN0aW5nCiAgICAgKiA6cnR5cGU6IG51bGwKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZUF0dHJpYnV0ZXMoJHBhcmFtcykgewogICAgICAgIHVuc2V0KCRwYXJhbXMtPnVyaSk7CiAgICAgICAgZm9yZWFjaCAoJHBhcmFtcyBhcyAkbmFtZSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJHRoaXMtPiRuYW1lID0gJHZhbHVlOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgdmFsdWUgb2YgYSBwcm9wZXJ0eSBvbiB0aGlzIHJlc291cmNlLgogICAgICoKICAgICAqIEluc3RlYWQgb2YgZGVmaW5pbmcgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIG9mIGFuIG9iamVjdCBkaXJlY3RseSwgd2UgcmVseQogICAgICogb24gdGhlIEFQSSB0byB0ZWxsIHVzIHdoaWNoIHByb3BlcnRpZXMgYW4gb2JqZWN0IGhhcy4gVGhpcyBtZXRob2Qgd2lsbAogICAgICogcXVlcnkgdGhlIEFQSSB0byByZXRyaWV2ZSBhIHByb3BlcnR5IGZvciBhbiBvYmplY3QsIGlmIGl0IGlzIG5vdCBhbHJlYWR5CiAgICAgKiBzZXQgb24gdGhlIG9iamVjdC4KICAgICAqCiAgICAgKiBJZiB0aGUgY2FsbCBpcyB0byBhIHN1YnJlc291cmNlLCBlZyBgYCRjbGllbnQtPmFjY291bnQtPm1lc3NhZ2VzYGAsIG5vCiAgICAgKiByZXF1ZXN0IGlzIG1hZGUuCiAgICAgKgogICAgICogVG8gaGVscCB3aXRoIGxhenkgSFRUUCByZXF1ZXN0cywgd2UgZG9uJ3QgYWN0dWFsbHkgcmV0cmlldmUgYW4gb2JqZWN0CiAgICAgKiBmcm9tIHRoZSBBUEkgdW5sZXNzIHlvdSByZWFsbHkgbmVlZCBpdC4gSGVuY2UsIHRoaXMgZnVuY3Rpb24gbWF5IG1ha2UgQVBJCiAgICAgKiByZXF1ZXN0cyBldmVuIGlmIHRoZSBwcm9wZXJ0eSB5b3UncmUgcmVxdWVzdGluZyBpc24ndCBhdmFpbGFibGUgb24gdGhlCiAgICAgKiByZXNvdXJjZS4KICAgICAqCiAgICAgKiA6cGFyYW0gc3RyaW5nICRrZXk6IFRoZSBwcm9wZXJ0eSBuYW1lCiAgICAgKgogICAgICogOnJldHVybiBtaXhlZDogQ291bGQgYmUgYW55dGhpbmcuCiAgICAgKiA6dGhyb3dzOiBhIDpwaHA6Y2xhc3M6YFJlc3RFeGNlcHRpb24gPFNlcnZpY2VzX1R3aWxpb19SZXN0RXhjZXB0aW9uPmAgaWYKICAgICAqICAgICAgdGhlIHVwZGF0ZSBmYWlscy4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgaWYgKCRzdWJyZXNvdXJjZSA9ICR0aGlzLT5nZXRTdWJyZXNvdXJjZXMoJGtleSkpIHsKICAgICAgICAgICAgcmV0dXJuICRzdWJyZXNvdXJjZTsKICAgICAgICB9CiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+JGtleSkpIHsKICAgICAgICAgICAgJHBhcmFtcyA9ICR0aGlzLT5jbGllbnQtPnJldHJpZXZlRGF0YSgkdGhpcy0+dXJpKTsKICAgICAgICAgICAgJHRoaXMtPnVwZGF0ZUF0dHJpYnV0ZXMoJHBhcmFtcyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+JGtleTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/ListResource.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBAYXV0aG9yICAgTmV1bWFuIFZvbmcgbmV1bWFuQHR3aWxpby5jb20KICogQGxpY2Vuc2UgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL01JVC8gTUlUCiAqIEBsaW5rICAgICBodHRwOi8vcGVhci5waHAubmV0L3BhY2thZ2UvU2VydmljZXNfVHdpbGlvCiAqLwoKLyoqCiAqIEFic3RyYWN0aW9uIG9mIGEgbGlzdCByZXNvdXJjZSBmcm9tIHRoZSBUd2lsaW8gQVBJLgogKgogKiBUaGUgbGlzdCByZXNvdXJjZSBpbXBsZW1lbnRzIHRoZSBgSXRlcmF0b3JBZ2dyZWdhdGUKICogPGh0dHA6Ly9waHAubmV0L21hbnVhbC9lbi9jbGFzcy5pdGVyYXRvcmFnZ3JlZ2F0ZS5waHA+YF8gYW5kIHRoZSBgQ291bnRhYmxlCiAqIDxodHRwOi8vcGhwLm5ldC9tYW51YWwvZW4vY2xhc3MuY291bnRhYmxlLnBocD5gXyBpbnRlcmZhY2VzLgogKgogKi8KYWJzdHJhY3QgY2xhc3MgU2VydmljZXNfVHdpbGlvX0xpc3RSZXNvdXJjZSBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19SZXNvdXJjZQogICAgaW1wbGVtZW50cyBJdGVyYXRvckFnZ3JlZ2F0ZSwgQ291bnRhYmxlCnsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNsaWVudCwgJHVyaSkgewogICAgICAgICRuYW1lID0gJHRoaXMtPmdldFJlc291cmNlTmFtZSh0cnVlKTsKICAgICAgICAvKgogICAgICAgICAqIEJ5IGRlZmF1bHQgdHJpbSB0aGUgJ3MnIGZyb20gdGhlIGVuZCBvZiB0aGUgbGlzdCBuYW1lIHRvIGdldCB0aGUKICAgICAgICAgKiBpbnN0YW5jZSBuYW1lIChleCBBY2NvdW50cyAtPiBBY2NvdW50KS4gVGhpcyBiZWhhdmlvciBjYW4gYmUKICAgICAgICAgKiBvdmVycmlkZGVuIGJ5IGNoaWxkIGNsYXNzZXMgaWYgdGhlIHJ1bGUgZG9lc24ndCB3b3JrLgogICAgICAgICAqLwogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPmluc3RhbmNlX25hbWUpKSB7CiAgICAgICAgICAgICR0aGlzLT5pbnN0YW5jZV9uYW1lID0gIlNlcnZpY2VzX1R3aWxpb19SZXN0XyIgLiBydHJpbSgkbmFtZSwgJ3MnKTsKICAgICAgICB9CgogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGNsaWVudCwgJHVyaSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXRzIGEgcmVzb3VyY2UgZnJvbSB0aGlzIGxpc3QuCiAgICAgKgogICAgICogOnBhcmFtIHN0cmluZyAkc2lkOiBUaGUgcmVzb3VyY2UgU0lECiAgICAgKiA6cmV0dXJuOiBUaGUgcmVzb3VyY2UKICAgICAqIDpydHlwZTogOnBocDpjbGFzczpgSW5zdGFuY2VSZXNvdXJjZSA8U2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2U+YAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0KCRzaWQpIHsKICAgICAgICAkaW5zdGFuY2UgPSBuZXcgJHRoaXMtPmluc3RhbmNlX25hbWUoCiAgICAgICAgICAgICR0aGlzLT5jbGllbnQsICR0aGlzLT51cmkgLiAiLyRzaWQiCiAgICAgICAgKTsKICAgICAgICAvLyBYWFggY2hlY2sgaWYgdGhpcyBpcyBhY3R1YWxseSBhIHNpZCBpbiBhbGwgY2FzZXMuCiAgICAgICAgJGluc3RhbmNlLT5zaWQgPSAkc2lkOwogICAgICAgIHJldHVybiAkaW5zdGFuY2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3QgYW4gOnBocDpjbGFzczpgSW5zdGFuY2VSZXNvdXJjZQogICAgICogPFNlcnZpY2VzX1R3aWxpb19JbnN0YW5jZVJlc291cmNlPmAgd2l0aCB0aGUgc3BlY2lmaWVkIHBhcmFtcy4KICAgICAqCiAgICAgKiA6cGFyYW0gYXJyYXkgJHBhcmFtczogdXN1YWxseSBhIEpTT04gSFRUUCByZXNwb25zZSBmcm9tIHRoZSBBUEkKICAgICAqIDpyZXR1cm46IEFuIGluc3RhbmNlIHdpdGggcHJvcGVydGllcwogICAgICogICAgICBpbml0aWFsaXplZCB0byB0aGUgdmFsdWVzIGluIHRoZSBwYXJhbXMgYXJyYXkuCiAgICAgKiA6cnR5cGU6IDpwaHA6Y2xhc3M6YEluc3RhbmNlUmVzb3VyY2UgPFNlcnZpY2VzX1R3aWxpb19JbnN0YW5jZVJlc291cmNlPmAKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE9iamVjdEZyb21Kc29uKCRwYXJhbXMsICRpZFBhcmFtID0gInNpZCIpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXMtPnskaWRQYXJhbX0pKSB7CiAgICAgICAgICAgICR1cmkgPSAkdGhpcy0+dXJpIC4gIi8iIC4gJHBhcmFtcy0+eyRpZFBhcmFtfTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdXJpID0gJHRoaXMtPnVyaTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyAkdGhpcy0+aW5zdGFuY2VfbmFtZSgkdGhpcy0+Y2xpZW50LCAkdXJpLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIERlbGV0ZXMgYSByZXNvdXJjZSBmcm9tIHRoaXMgbGlzdC4KICAgICAqCiAgICAgKiA6cGFyYW0gc3RyaW5nICRzaWQ6IFRoZSByZXNvdXJjZSBTSUQKICAgICAqIDpydHlwZTogbnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCRzaWQsICRwYXJhbXMgPSBhcnJheSgpKQogICAgewogICAgICAgICR0aGlzLT5jbGllbnQtPmRlbGV0ZURhdGEoJHRoaXMtPnVyaSAuICcvJyAuICRzaWQsICRwYXJhbXMpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgcmVzb3VyY2Ugb24gdGhlIGxpc3QgYW5kIHRoZW4gcmV0dXJuIGl0cyByZXByZXNlbnRhdGlvbiBhcyBhbgogICAgICogSW5zdGFuY2VSZXNvdXJjZS4KICAgICAqCiAgICAgKiA6cGFyYW0gYXJyYXkgJHBhcmFtczogVGhlIHBhcmFtZXRlcnMgd2l0aCB3aGljaCB0byBjcmVhdGUgdGhlIHJlc291cmNlCiAgICAgKgogICAgICogOnJldHVybjogVGhlIGNyZWF0ZWQgcmVzb3VyY2UKICAgICAqIDpydHlwZTogOnBocDpjbGFzczpgSW5zdGFuY2VSZXNvdXJjZSA8U2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2U+YAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2NyZWF0ZSgkcGFyYW1zKQogICAgewogICAgICAgICRwYXJhbXMgPSAkdGhpcy0+Y2xpZW50LT5jcmVhdGVEYXRhKCR0aGlzLT51cmksICRwYXJhbXMpOwogICAgICAgIC8qIFNvbWUgbWV0aG9kcyBsaWtlIHZlcmlmaWVkIGNhbGxlciBJRCBkb24ndCByZXR1cm4gc2lkcy4gKi8KICAgICAgICBpZiAoaXNzZXQoJHBhcmFtcy0+c2lkKSkgewogICAgICAgICAgICAkcmVzb3VyY2VfdXJpID0gJHRoaXMtPnVyaSAuICcvJyAuICRwYXJhbXMtPnNpZDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcmVzb3VyY2VfdXJpID0gJHRoaXMtPnVyaTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyAkdGhpcy0+aW5zdGFuY2VfbmFtZSgkdGhpcy0+Y2xpZW50LCAkcmVzb3VyY2VfdXJpLCAkcGFyYW1zKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBwYWdlIG9mIDpwaHA6Y2xhc3M6YEluc3RhbmNlUmVzb3VyY2VzCiAgICAgKiA8U2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2U+YCBmcm9tIHRoaXMgbGlzdC4KICAgICAqCiAgICAgKiA6cGFyYW0gaW50ICAgICRwYWdlOiBUaGUgc3RhcnQgcGFnZQogICAgICogOnBhcmFtIGludCAgICAkc2l6ZTogTnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlCiAgICAgKiA6cGFyYW0gYXJyYXkgICRmaWx0ZXJzOiBPcHRpb25hbCBmaWx0ZXJzCiAgICAgKiA6cGFyYW0gc3RyaW5nICRkZWVwX3BhZ2luZ191cmk6IGlmIHByb3ZpZGVkLCB0aGUgJHBhZ2UgYW5kICRzaXplCiAgICAgKiAgICAgIHBhcmFtZXRlcnMgd2lsbCBiZSBpZ25vcmVkIGFuZCB0aGlzIFVSSSB3aWxsIGJlIHJlcXVlc3RlZCBkaXJlY3RseS4KICAgICAqCiAgICAgKiA6cmV0dXJuOiBBIHBhZ2Ugb2YgcmVzb3VyY2VzCiAgICAgKiA6cnR5cGU6IDpwaHA6Y2xhc3M6YFNlcnZpY2VzX1R3aWxpb19QYWdlYAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFnZSgKICAgICAgICAkcGFnZSA9IDAsICRzaXplID0gNTAsICRmaWx0ZXJzID0gYXJyYXkoKSwgJGRlZXBfcGFnaW5nX3VyaSA9IG51bGwKICAgICkgewogICAgICAgICRsaXN0X25hbWUgPSAkdGhpcy0+Z2V0UmVzb3VyY2VOYW1lKCk7CiAgICAgICAgaWYgKCRkZWVwX3BhZ2luZ191cmkgIT09IG51bGwpIHsKICAgICAgICAgICAgJHBhZ2UgPSAkdGhpcy0+Y2xpZW50LT5yZXRyaWV2ZURhdGEoJGRlZXBfcGFnaW5nX3VyaSwgYXJyYXkoKSwgdHJ1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHBhZ2UgPSAkdGhpcy0+Y2xpZW50LT5yZXRyaWV2ZURhdGEoJHRoaXMtPnVyaSwgYXJyYXkoCiAgICAgICAgICAgICAgICAnUGFnZScgPT4gJHBhZ2UsCiAgICAgICAgICAgICAgICAnUGFnZVNpemUnID0+ICRzaXplLAogICAgICAgICAgICApICsgJGZpbHRlcnMpOwogICAgICAgIH0KCiAgICAgICAgLyogY3JlYXRlIGEgbmV3IFBIUCBvYmplY3QgZm9yIGVhY2gganNvbiBvYmogaW4gdGhlIGFwaSByZXNwb25zZS4gKi8KICAgICAgICAkcGFnZS0+JGxpc3RfbmFtZSA9IGFycmF5X21hcCgKICAgICAgICAgICAgYXJyYXkoJHRoaXMsICdnZXRPYmplY3RGcm9tSnNvbicpLAogICAgICAgICAgICAkcGFnZS0+JGxpc3RfbmFtZQogICAgICAgICk7CiAgICAgICAgaWYgKGlzc2V0KCRwYWdlLT5uZXh0X3BhZ2VfdXJpKSkgewogICAgICAgICAgICAkbmV4dF9wYWdlX3VyaSA9ICRwYWdlLT5uZXh0X3BhZ2VfdXJpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRuZXh0X3BhZ2VfdXJpID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBTZXJ2aWNlc19Ud2lsaW9fUGFnZSgkcGFnZSwgJGxpc3RfbmFtZSwgJG5leHRfcGFnZV91cmkpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB0b3RhbCBudW1iZXIgb2YgaW5zdGFuY2VzIGZvciB0aGlzIGxpc3QuCiAgICAgKgogICAgICogVGhpcyB3aWxsIG1ha2Ugb25lIEhUVFAgcmVxdWVzdCB0byByZXRyaWV2ZSB0aGUgdG90YWwsIGV2ZXJ5IHRpbWUgdGhpcwogICAgICogbWV0aG9kIGlzIGNhbGxlZC4KICAgICAqCiAgICAgKiBJZiB0aGUgdG90YWwgaXMgbm90IHNldCwgb3IgYW4gRXhjZXB0aW9uIHdhcyB0aHJvd24sIHJldHVybnMgMAogICAgICoKICAgICAqIDpyZXR1cm46IFRoZSB0b3RhbCBudW1iZXIgb2YgaW5zdGFuY2UgbWVtYmVycwogICAgICogOnJ0eXBlOiBpbnRlZ2VyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb3VudCgpIHsKICAgICAgICB0cnkgewogICAgICAgICAgICAkcGFnZSA9ICR0aGlzLT5nZXRQYWdlKDAsIDEpOwogICAgICAgICAgICByZXR1cm4gJHBhZ2UgPyAoaW50KSRwYWdlLT50b3RhbCA6IDA7CiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgIH0KCgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIGl0ZXJhYmxlIGxpc3Qgb2YKICAgICAqIDpwaHA6Y2xhc3M6YGluc3RhbmNlIHJlc291cmNlcyA8U2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2U+YC4KICAgICAqCiAgICAgKiA6cGFyYW0gaW50ICAgJHBhZ2U6IFRoZSBzdGFydCBwYWdlCiAgICAgKiA6cGFyYW0gaW50ICAgJHNpemU6IE51bWJlciBvZiBpdGVtcyBwZXIgcGFnZQogICAgICogOnBhcmFtIGFycmF5ICRmaWx0ZXJzOiBPcHRpb25hbCBmaWx0ZXJzLgogICAgICogICAgICBUaGUgZmlsdGVyIGFycmF5IGNhbiBhY2NlcHQgZnVsbCBkYXRldGltZXMgd2hlbiBTdGFydFRpbWUgb3IgRGF0ZUNyZWF0ZWQKICAgICAqICAgICAgYXJlIHVzZWQuIEluZXF1YWxpdGllcyBzaG91bGQgYmUgd2l0aGluIHRoZSBrZXkgcG9ydGlvbiBvZiB0aGUgYXJyYXkgYW5kCiAgICAgKiAgICAgIG11bHRpcGxlIGZpbHRlciBwYXJhbWV0ZXJzIGNhbiBiZSBjb21iaW5lZCBmb3IgbW9yZSBzcGVjaWZpYyBzZWFyY2hlcy4KICAgICAqCiAgICAgKiAgICAgIC4uIGNvZGUtYmxvY2s6OiBwaHAKICAgICAqCiAgICAgKiAgICAgICAgICBhcnJheSgnRGF0ZUNyZWF0ZWQ+JyA9PiAnMjAxMS0wNy0wNSAwODowMDowMCcsICdEYXRlQ3JlYXRlZDwnID0+ICcyMDExLTA4LTAxJykKICAgICAqCiAgICAgKiAgICAgIC4uIGNvZGUtYmxvY2s6OiBwaHAKICAgICAqCiAgICAgKiAgICAgICAgICBhcnJheSgnU3RhcnRUaW1lPCcgPT4gJzIwMTEtMDctMDUgMDg6MDA6MDAnKQogICAgICoKICAgICAqIDpyZXR1cm46IEFuIGl0ZXJhdG9yCiAgICAgKiA6cnR5cGU6IDpwaHA6Y2xhc3M6YFNlcnZpY2VzX1R3aWxpb19BdXRvUGFnaW5nSXRlcmF0b3JgCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRJdGVyYXRvcigKICAgICAgICAkcGFnZSA9IDAsICRzaXplID0gNTAsICRmaWx0ZXJzID0gYXJyYXkoKQogICAgKSB7CiAgICAgICAgcmV0dXJuIG5ldyBTZXJ2aWNlc19Ud2lsaW9fQXV0b1BhZ2luZ0l0ZXJhdG9yKAogICAgICAgICAgICBhcnJheSgkdGhpcywgJ2dldFBhZ2VHZW5lcmF0b3InKSwgJHBhZ2UsICRzaXplLCAkZmlsdGVycwogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXRyaWV2ZSBhIG5ldyBwYWdlIG9mIEFQSSByZXN1bHRzLCBhbmQgdXBkYXRlIGl0ZXJhdG9yIHBhcmFtZXRlcnMuIFRoaXMKICAgICAqIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSB0aGUgcGFnaW5nIGl0ZXJhdG9yIHRvIHJldHJpZXZlIGEgbmV3IHBhZ2UgYW5kCiAgICAgKiBzaG91bGRuJ3QgYmUgY2FsbGVkIGRpcmVjdGx5LgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGFnZUdlbmVyYXRvcigKICAgICAgICAkcGFnZSwgJHNpemUsICRmaWx0ZXJzID0gYXJyYXkoKSwgJGRlZXBfcGFnaW5nX3VyaSA9IG51bGwKICAgICkgewogICAgICAgIHJldHVybiAkdGhpcy0+Z2V0UGFnZSgkcGFnZSwgJHNpemUsICRmaWx0ZXJzLCAkZGVlcF9wYWdpbmdfdXJpKTsKICAgIH0KfQoK]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/NumberType.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19OdW1iZXJUeXBlIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0xpc3RSZXNvdXJjZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzb3VyY2VOYW1lKCRjYW1lbGl6ZWQgPSBmYWxzZSkgewogICAgICAgICR0aGlzLT5pbnN0YW5jZV9uYW1lID0gJ1NlcnZpY2VzX1R3aWxpb19SZXN0X0luY29taW5nUGhvbmVOdW1iZXInOwogICAgICAgIHJldHVybiAkY2FtZWxpemVkID8gJ0luY29taW5nUGhvbmVOdW1iZXJzJyA6ICdpbmNvbWluZ19waG9uZV9udW1iZXJzJzsKICAgIH0KCiAgICAvKioKICAgICAqIFB1cmNoYXNlIGEgbmV3IHBob25lIG51bWJlci4KICAgICAqCiAgICAgKiBFeGFtcGxlIHVzYWdlOgogICAgICoKICAgICAqIC4uIGNvZGUtYmxvY2s6OiBwaHAKICAgICAqCiAgICAgKiAgICAgICRtYXJsb3NCdXJuZXIgPSAnKzE0MTA1NTUxMjM0JzsKICAgICAqICAgICAgJGNsaWVudC0+YWNjb3VudC0+aW5jb21pbmdfcGhvbmVfbnVtYmVycy0+bG9jYWwtPnB1cmNoYXNlKCRtYXJsb3NCdXJuZXIpOwogICAgICoKICAgICAqIDpwYXJhbSBzdHJpbmcgJHBob25lX251bWJlcjogVGhlIHBob25lIG51bWJlciB0byBwdXJjaGFzZQogICAgICogOnBhcmFtIGFycmF5ICRwYXJhbXM6IEFuIG9wdGlvbmFsIGFycmF5IG9mIHBhcmFtZXRlcnMgdG8gcGFzcyBhbG9uZyB3aXRoCiAgICAgKiAgICAgIHRoZSByZXF1ZXN0ICh0byBjb25maWd1cmUgdGhlIHBob25lIG51bWJlcikKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHB1cmNoYXNlKCRwaG9uZV9udW1iZXIsIGFycmF5ICRwYXJhbXMgPSBhcnJheSgpKSB7CiAgICAgICAgJHBvc3RQYXJhbXMgPSBhcnJheSgKICAgICAgICAgICAgJ1Bob25lTnVtYmVyJyA9PiAkcGhvbmVfbnVtYmVyCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gJHRoaXMtPmNyZWF0ZSgkcG9zdFBhcmFtcyArICRwYXJhbXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGUoYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpIHsKICAgICAgICByZXR1cm4gcGFyZW50OjpfY3JlYXRlKCRwYXJhbXMpOwogICAgfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Resource.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBYnN0cmFjdGlvbiBvZiBhIFR3aWxpbyByZXNvdXJjZS4KICoKICogQGNhdGVnb3J5IFNlcnZpY2VzCiAqIEBwYWNrYWdlICBTZXJ2aWNlc19Ud2lsaW8KICogQGF1dGhvciAgIE5ldW1hbiBWb25nIDxuZXVtYW5AdHdpbGlvLmNvbT4KICogQGxpY2Vuc2UgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL01JVC8gTUlUCiAqIEBsaW5rICAgICBodHRwOi8vcGVhci5waHAubmV0L3BhY2thZ2UvU2VydmljZXNfVHdpbGlvCiAqLwphYnN0cmFjdCBjbGFzcyBTZXJ2aWNlc19Ud2lsaW9fUmVzb3VyY2UgewogICAgcHJvdGVjdGVkICRzdWJyZXNvdXJjZXM7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjbGllbnQsICR1cmksICRwYXJhbXMgPSBhcnJheSgpKQogICAgewogICAgICAgICR0aGlzLT5zdWJyZXNvdXJjZXMgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5jbGllbnQgPSAkY2xpZW50OwoKICAgICAgICBmb3JlYWNoICgkcGFyYW1zIGFzICRuYW1lID0+ICRwYXJhbSkgewogICAgICAgICAgICAkdGhpcy0+JG5hbWUgPSAkcGFyYW07CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+dXJpID0gJHVyaTsKICAgICAgICAkdGhpcy0+aW5pdCgkY2xpZW50LCAkdXJpKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5pdCgkY2xpZW50LCAkdXJpKQogICAgewogICAgICAgIC8vIExlZnQgZW1wdHkgZm9yIGRlcml2ZWQgY2xhc3NlcyB0byBpbXBsZW1lbnQKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U3VicmVzb3VyY2VzKCRuYW1lID0gbnVsbCkgewogICAgICAgIGlmIChpc3NldCgkbmFtZSkpIHsKICAgICAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5zdWJyZXNvdXJjZXNbJG5hbWVdKQogICAgICAgICAgICAgICAgPyAkdGhpcy0+c3VicmVzb3VyY2VzWyRuYW1lXQogICAgICAgICAgICAgICAgOiBudWxsOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHRoaXMtPnN1YnJlc291cmNlczsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gc2V0dXBTdWJyZXNvdXJjZXMoKQogICAgewogICAgICAgIGZvcmVhY2ggKGZ1bmNfZ2V0X2FyZ3MoKSBhcyAkbmFtZSkgewogICAgICAgICAgICAkY29uc3RhbnRpemVkID0gdWNmaXJzdChzZWxmOjpjYW1lbGl6ZSgkbmFtZSkpOwogICAgICAgICAgICAkdHlwZSA9ICJTZXJ2aWNlc19Ud2lsaW9fUmVzdF8iIC4gJGNvbnN0YW50aXplZDsKICAgICAgICAgICAgJHRoaXMtPnN1YnJlc291cmNlc1skbmFtZV0gPSBuZXcgJHR5cGUoCiAgICAgICAgICAgICAgICAkdGhpcy0+Y2xpZW50LCAkdGhpcy0+dXJpIC4gIi8kY29uc3RhbnRpemVkIgogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAvKgogICAgICogR2V0IHRoZSByZXNvdXJjZSBuYW1lIGZyb20gdGhlIGNsYXNzbmFtZQogICAgICoKICAgICAqIEV4OiBTZXJ2aWNlc19Ud2lsaW9fUmVzdF9BY2NvdW50cyAtPiBBY2NvdW50cwogICAgICoKICAgICAqIEBwYXJhbSBib29sZWFuICRjYW1lbGl6ZWQgV2hldGhlciB0byByZXR1cm4gY2FtZWwgY2FzZSBvciBub3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlc291cmNlTmFtZSgkY2FtZWxpemVkID0gZmFsc2UpCiAgICB7CiAgICAgICAgJG5hbWUgPSBnZXRfY2xhc3MoJHRoaXMpOwogICAgICAgICRwYXJ0cyA9IGV4cGxvZGUoJ18nLCAkbmFtZSk7CiAgICAgICAgJGJhc2VuYW1lID0gZW5kKCRwYXJ0cyk7CiAgICAgICAgaWYgKCRjYW1lbGl6ZWQpIHsKICAgICAgICAgICAgcmV0dXJuICRiYXNlbmFtZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gc2VsZjo6ZGVjYW1lbGl6ZSgkYmFzZW5hbWUpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlY2FtZWxpemUoJHdvcmQpCiAgICB7CiAgICAgICAgJGNhbGxiYWNrID0gY3JlYXRlX2Z1bmN0aW9uKCckbWF0Y2hlcycsCiAgICAgICAgICAgICdyZXR1cm4gc3RydG9sb3dlcihzdHJsZW4oIiRtYXRjaGVzWzFdIikgPyAiJG1hdGNoZXNbMV1fJG1hdGNoZXNbMl0iIDogIiRtYXRjaGVzWzJdIik7Jyk7CgogICAgICAgIHJldHVybiBwcmVnX3JlcGxhY2VfY2FsbGJhY2soCiAgICAgICAgICAgICcvKF58W2Etel0pKFtBLVpdKS8nLAogICAgICAgICAgICAkY2FsbGJhY2ssCiAgICAgICAgICAgICR3b3JkCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBjYW1lbGl6ZWQgdmVyc2lvbiBvZiBhIHdvcmQKICAgICAqIEV4YW1wbGVzOiBzbXNfbWVzc2FnZXMgPT4gU01TTWVzc2FnZXMsIGNhbGxzID0+IENhbGxzLAogICAgICogaW5jb21pbmdfcGhvbmVfbnVtYmVycyA9PiBJbmNvbWluZ1Bob25lTnVtYmVycwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHdvcmQgVGhlIHdvcmQgdG8gY2FtZWxpemUKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2FtZWxpemUoJHdvcmQpIHsKICAgICAgICAkY2FsbGJhY2sgPSBjcmVhdGVfZnVuY3Rpb24oJyRtYXRjaGVzJywgJ3JldHVybiBzdHJ0b3VwcGVyKCIkbWF0Y2hlc1syXSIpOycpOwoKICAgICAgICByZXR1cm4gcHJlZ19yZXBsYWNlX2NhbGxiYWNrKCcvKF58XykoW2Etel0pLycsCiAgICAgICAgICAgICRjYWxsYmFjaywKICAgICAgICAgICAgJHdvcmQpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB2YWx1ZSBvZiBhIHByb3BlcnR5IG9uIHRoaXMgcmVzb3VyY2UuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAka2V5IFRoZSBwcm9wZXJ0eSBuYW1lCiAgICAgKiBAcmV0dXJuIG1peGVkIENvdWxkIGJlIGFueXRoaW5nLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkgewogICAgICAgIGlmICgkc3VicmVzb3VyY2UgPSAkdGhpcy0+Z2V0U3VicmVzb3VyY2VzKCRrZXkpKSB7CiAgICAgICAgICAgIHJldHVybiAkc3VicmVzb3VyY2U7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+JGtleTsKICAgIH0KCiAgICAvKioKICAgICAqIFByaW50IGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGlzIG9iamVjdC4gU3RyaXBzIHRoZSBIVFRQIGNsaWVudAogICAgICogYmVmb3JlIHJldHVybmluZy4KICAgICAqCiAgICAgKiBOb3RlLCB0aGlzIHNob3VsZCBtYWlubHkgYmUgdXNlZCBmb3IgZGVidWdnaW5nLCBhbmQgaXMgbm90IGd1YXJhbnRlZWQKICAgICAqIHRvIGNvcnJlc3BvbmQgMToxIHdpdGggdGhlIEpTT04gQVBJIG91dHB1dC4KICAgICAqCiAgICAgKiBOb3RlIHRoYXQgZWNob2luZyBhbiBvYmplY3QgYmVmb3JlIGFuIEhUVFAgcmVxdWVzdCBoYXMgYmVlbiBtYWRlIHRvCiAgICAgKiAiZmlsbCBpbiIgaXRzIHByb3BlcnRpZXMgbWF5IHJldHVybiBhbiBlbXB0eSBvYmplY3QKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKSB7CiAgICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgaWYgKCRrZXkgIT09ICdjbGllbnQnICYmICRrZXkgIT09ICdzdWJyZXNvdXJjZXMnKSB7CiAgICAgICAgICAgICAgICAkb3V0WyRrZXldID0gJHZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBqc29uX2VuY29kZSgkb3V0LCB0cnVlKTsKICAgIH0KCn0KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Account.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0FjY291bnQgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fSW5zdGFuY2VSZXNvdXJjZSB7CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXQoJGNsaWVudCwgJHVyaSkgewogICAgICAgICR0aGlzLT5zZXR1cFN1YnJlc291cmNlcygKICAgICAgICAgICAgJ2FwcGxpY2F0aW9ucycsCiAgICAgICAgICAgICdhdmFpbGFibGVfcGhvbmVfbnVtYmVycycsCiAgICAgICAgICAgICdvdXRnb2luZ19jYWxsZXJfaWRzJywKICAgICAgICAgICAgJ2NhbGxzJywKICAgICAgICAgICAgJ2NvbmZlcmVuY2VzJywKICAgICAgICAgICAgJ2luY29taW5nX3Bob25lX251bWJlcnMnLAogICAgICAgICAgICAnbWVkaWEnLAogICAgICAgICAgICAnbWVzc2FnZXMnLAogICAgICAgICAgICAnbm90aWZpY2F0aW9ucycsCiAgICAgICAgICAgICdvdXRnb2luZ19jYWxsZXJpZHMnLAogICAgICAgICAgICAncmVjb3JkaW5ncycsCiAgICAgICAgICAgICdzbXNfbWVzc2FnZXMnLAogICAgICAgICAgICAnc2hvcnRfY29kZXMnLAogICAgICAgICAgICAndG9rZW5zJywKICAgICAgICAgICAgJ3RyYW5zY3JpcHRpb25zJywKICAgICAgICAgICAgJ2Nvbm5lY3RfYXBwcycsCiAgICAgICAgICAgICdhdXRob3JpemVkX2Nvbm5lY3RfYXBwcycsCiAgICAgICAgICAgICd1c2FnZV9yZWNvcmRzJywKICAgICAgICAgICAgJ3VzYWdlX3RyaWdnZXJzJywKICAgICAgICAgICAgJ3F1ZXVlcycsCiAgICAgICAgICAgICdzaXAnLAogICAgICAgICAgICAnYWRkcmVzc2VzJwogICAgICAgICk7CgogICAgICAgICR0aGlzLT5zYW5kYm94ID0gbmV3IFNlcnZpY2VzX1R3aWxpb19SZXN0X1NhbmRib3goCiAgICAgICAgICAgICRjbGllbnQsICR1cmkgLiAnL1NhbmRib3gnCiAgICAgICAgKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Accounts.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBgQWNjb3VudCBMaXN0IFJlc291cmNlCiAqIDxodHRwOi8vd3d3LnR3aWxpby5jb20vZG9jcy9hcGkvcmVzdC9hY2NvdW50I2xpc3Q+YF8gZG9jdW1lbnRhdGlvbi4KICovCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0FjY291bnRzIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0xpc3RSZXNvdXJjZSB7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBuZXcgc3ViYWNjb3VudC4KICAgICAqCiAgICAgKiA6cGFyYW0gYXJyYXkgJHBhcmFtczogQW4gYXJyYXkgb2YgcGFyYW1ldGVycyBkZXNjcmliaW5nIHRoZSBuZXcKICAgICAqICAgICAgc3ViYWNjb3VudC4gVGhlIGBgJHBhcmFtc2BgIGFycmF5IGNhbiBjb250YWluIHRoZSBmb2xsb3dpbmcga2V5czoKICAgICAqCiAgICAgKiAgICAgICpGcmllbmRseU5hbWUqCiAgICAgKiAgICAgICAgICBBIGRlc2NyaXB0aW9uIG9mIHRoaXMgYWNjb3VudCwgdXAgdG8gNjQgY2hhcmFjdGVycyBsb25nCiAgICAgKgogICAgICogOnJldHVybnM6IFRoZSBuZXcgc3ViYWNjb3VudAogICAgICogOnJ0eXBlOiA6cGhwOmNsYXNzOmBTZXJ2aWNlc19Ud2lsaW9fUmVzdF9BY2NvdW50YAogICAgICoKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZSgkcGFyYW1zID0gYXJyYXkoKSkgewogICAgICAgIHJldHVybiBwYXJlbnQ6Ol9jcmVhdGUoJHBhcmFtcyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Address.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0FkZHJlc3MKICAgIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXQoJGNsaWVudCwgJHVyaSkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0dXBTdWJyZXNvdXJjZXMoCiAgICAgICAgICAgICdkZXBlbmRlbnRfcGhvbmVfbnVtYmVycycKICAgICAgICApOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Addresses.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0FkZHJlc3NlcwogICAgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fTGlzdFJlc291cmNlCnsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Application.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0FwcGxpY2F0aW9uCiAgICBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19JbnN0YW5jZVJlc291cmNlCnsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Applications.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0FwcGxpY2F0aW9ucwogICAgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fTGlzdFJlc291cmNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGUoJG5hbWUsIGFycmF5ICRwYXJhbXMgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBwYXJlbnQ6Ol9jcmVhdGUoYXJyYXkoCiAgICAgICAgICAgICdGcmllbmRseU5hbWUnID0+ICRuYW1lCiAgICAgICAgKSArICRwYXJhbXMpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/AuthorizedConnectApp.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0F1dGhvcml6ZWRDb25uZWN0QXBwCiAgICBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19JbnN0YW5jZVJlc291cmNlCnsKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/AuthorizedConnectApps.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0F1dGhvcml6ZWRDb25uZWN0QXBwcwogICAgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fTGlzdFJlc291cmNlCnsKICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZSgkbmFtZSwgYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgdGhyb3cgbmV3IEJhZE1ldGhvZENhbGxFeGNlcHRpb24oJ05vdCBhbGxvd2VkJyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/AvailablePhoneNumber.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0F2YWlsYWJsZVBob25lTnVtYmVyCiAgICBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19JbnN0YW5jZVJlc291cmNlCnsKfQoK]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/AvailablePhoneNumbers.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0F2YWlsYWJsZVBob25lTnVtYmVycwogICAgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fTGlzdFJlc291cmNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRMb2NhbCgkY291bnRyeSkgewogICAgICAgICRjdXJyaWVkID0gbmV3IFNlcnZpY2VzX1R3aWxpb19QYXJ0aWFsQXBwbGljYXRpb25IZWxwZXIoKTsKICAgICAgICAkY3VycmllZC0+c2V0KAogICAgICAgICAgICAnZ2V0TGlzdCcsCiAgICAgICAgICAgIGFycmF5KCR0aGlzLCAnZ2V0TGlzdCcpLAogICAgICAgICAgICBhcnJheSgkY291bnRyeSwgJ0xvY2FsJykKICAgICAgICApOwogICAgICAgIHJldHVybiAkY3VycmllZDsKICAgIH0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUb2xsRnJlZSgkY291bnRyeSkgewogICAgICAgICRjdXJyaWVkID0gbmV3IFNlcnZpY2VzX1R3aWxpb19QYXJ0aWFsQXBwbGljYXRpb25IZWxwZXIoKTsKICAgICAgICAkY3VycmllZC0+c2V0KAogICAgICAgICAgICAnZ2V0TGlzdCcsCiAgICAgICAgICAgIGFycmF5KCR0aGlzLCAnZ2V0TGlzdCcpLAogICAgICAgICAgICBhcnJheSgkY291bnRyeSwgJ1RvbGxGcmVlJykKICAgICAgICApOwogICAgICAgIHJldHVybiAkY3VycmllZDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TW9iaWxlKCRjb3VudHJ5KQogICAgewogICAgICAgICRjdXJyaWVkID0gbmV3IFNlcnZpY2VzX1R3aWxpb19QYXJ0aWFsQXBwbGljYXRpb25IZWxwZXIoKTsKICAgICAgICAkY3VycmllZC0+c2V0KAogICAgICAgICAgICAnZ2V0TGlzdCcsCiAgICAgICAgICAgIGFycmF5KCR0aGlzLCAnZ2V0TGlzdCcpLAogICAgICAgICAgICBhcnJheSgkY291bnRyeSwgJ01vYmlsZScpCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gJGN1cnJpZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSBsaXN0IG9mIGF2YWlsYWJsZSBwaG9uZSBudW1iZXJzLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGNvdW50cnkgVGhlIDItZGlnaXQgY291bnRyeSBjb2RlIHlvdSdkIGxpa2UgdG8gc2VhcmNoIGZvcgogICAgICogICAgbnVtYmVycyBlLmcuICgnVVMnLCAnQ0EnLCAnR0InKQogICAgICogQHBhcmFtIHN0cmluZyAkdHlwZSBUaGUgdHlwZSBvZiBudW1iZXIgKCdMb2NhbCcsICdUb2xsRnJlZScsIG9yICdNb2JpbGUnKQogICAgICogQHJldHVybiBvYmplY3QgVGhlIG9iamVjdCByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmVzb3VyY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExpc3QoJGNvdW50cnksICR0eXBlLCBhcnJheSAkcGFyYW1zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNsaWVudC0+cmV0cmlldmVEYXRhKCR0aGlzLT51cmkgLiAiLyRjb3VudHJ5LyR0eXBlIiwgJHBhcmFtcyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlc291cmNlTmFtZSgkY2FtZWxpemVkID0gZmFsc2UpIHsKICAgICAgICAvLyBZb3UgY2FuJ3QgcGFnZSB0aHJvdWdoIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBwaG9uZSBudW1iZXJzLgogICAgICAgICR0aGlzLT5pbnN0YW5jZV9uYW1lID0gJ1NlcnZpY2VzX1R3aWxpb19SZXN0X0F2YWlsYWJsZVBob25lTnVtYmVyJzsKICAgICAgICByZXR1cm4gJGNhbWVsaXplZCA/ICdDb3VudHJpZXMnIDogJ2NvdW50cmllcyc7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Call.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiAgIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGBDYWxsIEluc3RhbmNlIFJlc291cmNlIDxodHRwOi8vd3d3LnR3aWxpby5jb20vZG9jcy9hcGkvcmVzdC9jYWxsI2luc3RhbmNlPmBfIGRvY3VtZW50YXRpb24uCiAqCiAqICAgLi4gcGhwOmF0dHI6OiBzaWQKICoKICogICAgICBBIDM0IGNoYXJhY3RlciBzdHJpbmcgdGhhdCB1bmlxdWVseSBpZGVudGlmaWVzIHRoaXMgcmVzb3VyY2UuCiAqCiAqICAgLi4gcGhwOmF0dHI6OiBwYXJlbnRfY2FsbF9zaWQKICoKICogICAgICBBIDM0IGNoYXJhY3RlciBzdHJpbmcgdGhhdCB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSBjYWxsIHRoYXQgY3JlYXRlZCB0aGlzIGxlZy4KICoKICogICAuLiBwaHA6YXR0cjo6IGRhdGVfY3JlYXRlZAogKgogKiAgICAgIFRoZSBkYXRlIHRoYXQgdGhpcyByZXNvdXJjZSB3YXMgY3JlYXRlZCwgZ2l2ZW4gYXMgR01UIGluIFJGQyAyODIyIGZvcm1hdC4KICoKICogICAuLiBwaHA6YXR0cjo6IGRhdGVfdXBkYXRlZAogKgogKiAgICAgIFRoZSBkYXRlIHRoYXQgdGhpcyByZXNvdXJjZSB3YXMgbGFzdCB1cGRhdGVkLCBnaXZlbiBhcyBHTVQgaW4gUkZDIDI4MjIgZm9ybWF0LgogKgogKiAgIC4uIHBocDphdHRyOjogYWNjb3VudF9zaWQKICoKICogICAgICBUaGUgdW5pcXVlIGlkIG9mIHRoZSBBY2NvdW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGNhbGwuCiAqCiAqICAgLi4gcGhwOmF0dHI6OiB0bwogKgogKiAgICAgIFRoZSBwaG9uZSBudW1iZXIgdGhhdCByZWNlaXZlZCB0aGlzIGNhbGwuIGUuZy4sICsxNjE3NTU1MTIxMiAoRS4xNjQgZm9ybWF0KQogKgogKiAgIC4uIHBocDphdHRyOjogZnJvbQogKgogKiAgICAgIFRoZSBwaG9uZSBudW1iZXIgdGhhdCBtYWRlIHRoaXMgY2FsbC4gZS5nLiwgKzE2MTc1NTUxMjEyIChFLjE2NCBmb3JtYXQpCiAqCiAqICAgLi4gcGhwOmF0dHI6OiBwaG9uZV9udW1iZXJfc2lkCiAqCiAqICAgICAgSWYgdGhlIGNhbGwgd2FzIGluYm91bmQsIHRoaXMgaXMgdGhlIFNpZCBvZiB0aGUgSW5jb21pbmdQaG9uZU51bWJlciB0aGF0CiAqICAgICAgcmVjZWl2ZWQgdGhlIGNhbGwuIElmIHRoZSBjYWxsIHdhcyBvdXRib3VuZCwgaXQgaXMgdGhlIFNpZCBvZiB0aGUKICogICAgICBPdXRnb2luZ0NhbGxlcklkIGZyb20gd2hpY2ggdGhlIGNhbGwgd2FzIHBsYWNlZC4KICoKICogICAuLiBwaHA6YXR0cjo6IHN0YXR1cwogKgogKiAgICAgIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgc3RhdHVzIG9mIHRoZSBjYWxsLiBNYXkgYmUgYFFVRVVFRGAsIGBSSU5HSU5HYCwKICogICAgICBgSU4tUFJPR1JFU1NgLCBgQ09NUExFVEVEYCwgYEZBSUxFRGAsIGBCVVNZYCBvciBgTk9fQU5TV0VSYC4KICoKICogICAuLiBwaHA6YXR0cjo6IHN0YXJ0X3RpbWUKICoKICogICAgICBUaGUgc3RhcnQgdGltZSBvZiB0aGUgY2FsbCwgZ2l2ZW4gYXMgR01UIGluIFJGQyAyODIyIGZvcm1hdC4gRW1wdHkgaWYgdGhlIGNhbGwgaGFzIG5vdCB5ZXQgYmVlbiBkaWFsZWQuCiAqCiAqICAgLi4gcGhwOmF0dHI6OiBlbmRfdGltZQogKgogKiAgICAgIFRoZSBlbmQgdGltZSBvZiB0aGUgY2FsbCwgZ2l2ZW4gYXMgR01UIGluIFJGQyAyODIyIGZvcm1hdC4gRW1wdHkgaWYgdGhlIGNhbGwgZGlkIG5vdCBjb21wbGV0ZSBzdWNjZXNzZnVsbHkuCiAqCiAqICAgLi4gcGhwOmF0dHI6OiBkdXJhdGlvbgogKgogKiAgICAgIFRoZSBsZW5ndGggb2YgdGhlIGNhbGwgaW4gc2Vjb25kcy4gVGhpcyB2YWx1ZSBpcyBlbXB0eSBmb3IgYnVzeSwgZmFpbGVkLCB1bmFuc3dlcmVkIG9yIG9uZ29pbmcgY2FsbHMuCiAqCiAqICAgLi4gcGhwOmF0dHI6OiBwcmljZQogKgogKiAgICAgIFRoZSBjaGFyZ2UgZm9yIHRoaXMgY2FsbCBpbiBVU0QuIFBvcHVsYXRlZCBhZnRlciB0aGUgY2FsbCBpcyBjb21wbGV0ZWQuIE1heSBub3QgYmUgaW1tZWRpYXRlbHkgYXZhaWxhYmxlLgogKgogKiAgIC4uIHBocDphdHRyOjogZGlyZWN0aW9uCiAqCiAqICAgICAgICAgQSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBjYWxsLiBpbmJvdW5kIGZvciBpbmJvdW5kCiAqICAgICAgICAgY2FsbHMsIG91dGJvdW5kLWFwaSBmb3IgY2FsbHMgaW5pdGlhdGVkIHZpYSB0aGUgUkVTVCBBUEkgb3IKICogICAgICAgICBvdXRib3VuZC1kaWFsIGZvciBjYWxscyBpbml0aWF0ZWQgYnkgYSA8RGlhbD4gdmVyYi4KICoKICogICAuLiBwaHA6YXR0cjo6IGFuc3dlcmVkX2J5CiAqCiAqICAgICAgSWYgdGhpcyBjYWxsIHdhcyBpbml0aWF0ZWQgd2l0aCBhbnN3ZXJpbmcgbWFjaGluZSBkZXRlY3Rpb24sIGVpdGhlciBodW1hbiBvciBtYWNoaW5lLiBFbXB0eSBvdGhlcndpc2UuCiAqCiAqICAgLi4gcGhwOmF0dHI6OiBmb3J3YXJkZWRfZnJvbQogKgogKiAgICAgICAgSWYgdGhpcyBjYWxsIHdhcyBhbiBpbmNvbWluZyBjYWxsIGZvcndhcmRlZCBmcm9tIGFub3RoZXIgbnVtYmVyLCB0aGUKICogICAgICAgIGZvcndhcmRpbmcgcGhvbmUgbnVtYmVyIChkZXBlbmRzIG9uIGNhcnJpZXIgc3VwcG9ydGluZyBmb3J3YXJkaW5nKS4KICogICAgICAgIEVtcHR5IG90aGVyd2lzZS4KICoKICogICAuLiBwaHA6YXR0cjo6IGNhbGxlcl9uYW1lCiAqCiAqICAgICAgSWYgdGhpcyBjYWxsIHdhcyBhbiBpbmNvbWluZyBjYWxsIGZyb20gYSBwaG9uZSBudW1iZXIgd2l0aCBDYWxsZXIgSUQgTG9va3VwIGVuYWJsZWQsIHRoZSBjYWxsZXIncyBuYW1lLiBFbXB0eSBvdGhlcndpc2UuCiAqLwpjbGFzcyBTZXJ2aWNlc19Ud2lsaW9fUmVzdF9DYWxsIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UgewoKICAgIC8qKgogICAgICogSGFuZyB1cCB0aGUgY2FsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFuZ3VwKCkgewogICAgICAgICR0aGlzLT51cGRhdGUoJ1N0YXR1cycsICdjb21wbGV0ZWQnKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlZGlyZWN0IHRoZSBjYWxsIHRvIGEgbmV3IFVSTAogICAgICoKICAgICAqIDpwYXJhbSBzdHJpbmcgJHVybDogdGhlIG5ldyBVUkwgdG8gcmV0cmlldmUgY2FsbCBmbG93IGZyb20uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByb3V0ZSgkdXJsKSB7CiAgICAgICAgJHRoaXMtPnVwZGF0ZSgnVXJsJywgJHVybCk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXQoJGNsaWVudCwgJHVyaSkgewogICAgICAgICR0aGlzLT5zZXR1cFN1YnJlc291cmNlcygKICAgICAgICAgICAgJ25vdGlmaWNhdGlvbnMnLAogICAgICAgICAgICAncmVjb3JkaW5ncycsCiAgICAgICAgICAgICdmZWVkYmFjaycKICAgICAgICApOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Calls.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0NhbGxzCiAgICBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19MaXN0UmVzb3VyY2UKewoKICAgIGZ1bmN0aW9uIGluaXQoJGNsaWVudCwgJHVyaSkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0dXBTdWJyZXNvdXJjZXMoCiAgICAgICAgICAgICdmZWVkYmFja19zdW1tYXJ5JwogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpc0FwcGxpY2F0aW9uU2lkKCR2YWx1ZSkKICAgIHsKICAgICAgICByZXR1cm4gc3RybGVuKCR2YWx1ZSkgPT0gMzQKICAgICAgICAgICAgJiYgIShzdHJwb3MoJHZhbHVlLCAiQVAiKSA9PT0gZmFsc2UpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGUoJGZyb20sICR0bywgJHVybCwgYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CgogICAgICAgICRwYXJhbXNbIlRvIl0gPSAkdG87CiAgICAgICAgJHBhcmFtc1siRnJvbSJdID0gJGZyb207CgogICAgICAgIGlmIChzZWxmOjppc0FwcGxpY2F0aW9uU2lkKCR1cmwpKSB7CiAgICAgICAgICAgICRwYXJhbXNbIkFwcGxpY2F0aW9uU2lkIl0gPSAkdXJsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRwYXJhbXNbIlVybCJdID0gJHVybDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBwYXJlbnQ6Ol9jcmVhdGUoJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBmZWVkYmFjayBmb3IgYSBjYWxsLgogICAgICoKICAgICAqIEBwYXJhbSAkY2FsbFNpZAogICAgICogQHBhcmFtICRxdWFsaXR5U2NvcmUKICAgICAqIEBwYXJhbSBhcnJheSAkaXNzdWUKICAgICAqIEByZXR1cm4gU2VydmljZXNfVHdpbGlvX1Jlc3RfRmVlZGJhY2sKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZUZlZWRiYWNrKCRjYWxsU2lkLCAkcXVhbGl0eVNjb3JlLCBhcnJheSAkaXNzdWUgPSBhcnJheSgpKQogICAgewogICAgICAgICRwYXJhbXNbIlF1YWxpdHlTY29yZSJdID0gJHF1YWxpdHlTY29yZTsKICAgICAgICAkcGFyYW1zWyJJc3N1ZSJdID0gJGlzc3VlOwoKICAgICAgICAkZmVlZGJhY2tVcmkgPSAkdGhpcy0+dXJpIC4gJy8nIC4gJGNhbGxTaWQgLiAnL0ZlZWRiYWNrJzsKCiAgICAgICAgJHJlc3BvbnNlID0gJHRoaXMtPmNsaWVudC0+Y3JlYXRlRGF0YSgkZmVlZGJhY2tVcmksICRwYXJhbXMpOwogICAgICAgIHJldHVybiBuZXcgU2VydmljZXNfVHdpbGlvX1Jlc3RfRmVlZGJhY2soJHRoaXMtPmNsaWVudCwgJGZlZWRiYWNrVXJpLCAkcmVzcG9uc2UpOwogICAgfQoKICAgIC8qKgogICAgICogRGVsZXRlIGEgZmVlZGJhY2sgZm9yIGEgY2FsbC4KICAgICAqCiAgICAgKiBAcGFyYW0gJGNhbGxTaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGRlbGV0ZUZlZWRiYWNrKCRjYWxsU2lkKQogICAgewogICAgICAgICRmZWVkYmFja1VyaSA9ICR0aGlzLT51cmkgLiAnLycgLiAkY2FsbFNpZCAuICcvRmVlZGJhY2snOwogICAgICAgICR0aGlzLT5jbGllbnQtPmRlbGV0ZURhdGEoJGZlZWRiYWNrVXJpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhIGZlZWRiYWNrIGZvciBhIGNhbGwuCiAgICAgKgogICAgICogQHBhcmFtICRjYWxsU2lkCiAgICAgKiBAcmV0dXJuIFNlcnZpY2VzX1R3aWxpb19SZXN0X0ZlZWRiYWNrCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRGZWVkYmFjaygkY2FsbFNpZCkKICAgIHsKICAgICAgICAkZmVlZGJhY2tVcmkgPSAkdGhpcy0+dXJpIC4gJy8nIC4gJGNhbGxTaWQgLiAnL0ZlZWRiYWNrJzsKICAgICAgICAkcmVzcG9uc2UgPSAkdGhpcy0+Y2xpZW50LT5yZXRyaWV2ZURhdGEoJGZlZWRiYWNrVXJpKTsKICAgICAgICByZXR1cm4gbmV3IFNlcnZpY2VzX1R3aWxpb19SZXN0X0ZlZWRiYWNrKCR0aGlzLT5jbGllbnQsICRmZWVkYmFja1VyaSwgJHJlc3BvbnNlKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Conference.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0NvbmZlcmVuY2UKICAgIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UKewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXQoJGNsaWVudCwgJHVyaSkKICAgIHsKICAgICAgICAkdGhpcy0+c2V0dXBTdWJyZXNvdXJjZXMoCiAgICAgICAgICAgICdwYXJ0aWNpcGFudHMnCiAgICAgICAgKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Conferences.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0NvbmZlcmVuY2VzCiAgICBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19MaXN0UmVzb3VyY2UKewp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/ConnectApp.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0Nvbm5lY3RBcHAKICAgIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UKewp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/ConnectApps.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0Nvbm5lY3RBcHBzCiAgICBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19MaXN0UmVzb3VyY2UKewogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZSgkbmFtZSwgYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgdGhyb3cgbmV3IEJhZE1ldGhvZENhbGxFeGNlcHRpb24oJ05vdCBhbGxvd2VkJyk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/CredentialList.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBIHNpbmdsZSBDcmVkZW50aWFsTGlzdAogKgogKiAuLiBwaHA6YXR0cjo6IGRhdGVfY3JlYXRlZAogKgogKiAgICBUaGUgZGF0ZSB0aGUgY3JlZGVudGlhbCBsaXN0IHdhcyBjcmVhdGVkCiAqCiAqIC4uIHBocDphdHRyOjogZGF0ZV91cGRhdGVkCiAqCiAqICAgIFRoZSBkYXRlIHRoZSBjcmVkZW50aWFsIGxpc3Qgd2FzIHVwZGF0ZWQKICoKICogLi4gcGhwOmF0dHI6OiBzaWQKICoKICogICAgQSAzNCBjaGFyYWN0ZXIgc3RyaW5nIHRoYXQgaWRlbnRpZmllcyB0aGlzIG9iamVjdAogKgogKiAuLiBwaHA6YXR0cjo6IGFjY291bnRfc2lkCiAqCiAqICAgIFRoZSBhY2NvdW50IHRoYXQgY3JlYXRlZCB0aGUgY3JlZGVudGlhbCBsaXN0CiAqCiAqIC4uIHBocDphdHRyOjogZnJpZW5kbHlfbmFtZQogKgogKiAgICBUaGUgZnJpZW5kbHkgbmFtZSBvZiB0aGUgY3JlZGVudGlhbCBsaXN0CiAqCiAqIC4uIHBocDphdHRyOjogdXJpCiAqCiAqICAgIFRoZSB1cmkgb2YgdGhlIGNyZWRlbnRpYWwgbGlzdAogKgogKiAuLiBwaHA6YXR0cjo6IHN1YnJlc291cmNlX3VyaXMKICoKICogICAgVGhlIHN1YnJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBjcmVkZW50aWFsIGxpc3QgKENyZWRlbnRpYWxzKQogKi8KCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0NyZWRlbnRpYWxMaXN0IGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UgewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXQoJGNsaWVudCwgJHVyaSkgewogICAgICAgICR0aGlzLT5zZXR1cFN1YnJlc291cmNlcygKICAgICAgICAgICAgJ2NyZWRlbnRpYWxzJwogICAgICAgICk7CiAgICB9Cn0KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/CredentialLists.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0NyZWRlbnRpYWxMaXN0cyBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19TSVBMaXN0UmVzb3VyY2UgewoKICAgIC8qKgogICAgICogQ3JlYXRlcyBhIG5ldyBDcmVkZW50aWFsTGlzdCBpbnN0YW5jZQogICAgICoKICAgICAqIEV4YW1wbGUgdXNhZ2U6CiAgICAgKgogICAgICogLi4gY29kZS1ibG9jazo6IHBocAogICAgICoKICAgICAqICAgICAgJGNsaWVudC0+YWNjb3VudC0+c2lwLT5jcmVkZW50aWFsX2xpc3RzLT5jcmVhdGUoIk15RnJpZW5kbHlOYW1lIik7CiAgICAgKgogICAgICogOnBhcmFtIHN0cmluZyAkZnJpZW5kbHlfbmFtZTogdGhlIGZyaWVuZGx5IG5hbWUgb2YgdGhpcyBjcmVkZW50aWFsIGxpc3QKICAgICAqIDpwYXJhbSBhcnJheSAkcGFyYW1zOiBhIHNpbmdsZSBhcnJheSBvZiBwYXJhbWV0ZXJzIHdoaWNoIGlzIHNlcmlhbGl6ZWQgYW5kCiAgICAgKiAgICAgIHNlbnQgZGlyZWN0bHkgdG8gdGhlIFR3aWxpbyBBUEkuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGUoJGZyaWVuZGx5X25hbWUsICRwYXJhbXMgPSBhcnJheSgpKSB7CiAgICAgICAgcmV0dXJuIHBhcmVudDo6X2NyZWF0ZShhcnJheSgKICAgICAgICAgICAgJ0ZyaWVuZGx5TmFtZScgPT4gJGZyaWVuZGx5X25hbWUsCiAgICAgICAgKSArICRwYXJhbXMpOwogICAgfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Credentials.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0NyZWRlbnRpYWxzIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX1NJUExpc3RSZXNvdXJjZSB7CgogICAgLyoqCiAgICAgKiBDcmVhdGVzIGEgbmV3IENyZWRlbnRpYWwgaW5zdGFuY2UKICAgICAqCiAgICAgKiBFeGFtcGxlIHVzYWdlOgogICAgICoKICAgICAqICAuLiBjb2RlLWJsb2NrOjogcGhwCiAgICAgKgogICAgICogICAgICAkY2xpZW50LT5hY2NvdW50LT5zaXAtPmNyZWRlbnRpYWxfbGlzdHMtPmdldCgnQ0xYWFgnKS0+Y3JlZGVudGlhbHMtPmNyZWF0ZSgKICAgICAqICAgICAgICAgICJBd2Vzb21lVXNlcm5hbWUiLCAiU3VwZXJTZWNyZXRQYXNzd29yZCIsCiAgICAgKiAgICAgICk7CiAgICAgKgogICAgICogOnBhcmFtIHN0cmluZyAkdXNlcm5hbWU6IHRoZSB1c2VybmFtZSBmb3IgdGhlIG5ldyBDcmVkZW50aWFsIG9iamVjdAogICAgICogOnBhcmFtIHN0cmluZyAkcGFzc3dvcmQ6IHRoZSBwYXNzd29yZCBmb3IgdGhlIG5ldyBDcmVkZW50aWFsIG9iamVjdAogICAgICogOnBhcmFtIGFycmF5ICRwYXJhbXM6IGEgc2luZ2xlIGFycmF5IG9mIHBhcmFtZXRlcnMgd2hpY2ggaXMgc2VyaWFsaXplZCBhbmQKICAgICAqICAgICAgc2VudCBkaXJlY3RseSB0byB0aGUgVHdpbGlvIEFQSS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZSgkdXNlcm5hbWUsICRwYXNzd29yZCwgJHBhcmFtcyA9IGFycmF5KCkpIHsKICAgICAgICByZXR1cm4gcGFyZW50OjpfY3JlYXRlKGFycmF5KAogICAgICAgICAgICAnVXNlcm5hbWUnID0+ICR1c2VybmFtZSwKICAgICAgICAgICAgJ1Bhc3N3b3JkJyA9PiAkcGFzc3dvcmQsCiAgICAgICAgKSArICRwYXJhbXMpOwogICAgfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Domain.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBIHNpbmdsZSBEb21haW4KICoKICogLi4gcGhwOmF0dHI6OiBkYXRlX2NyZWF0ZWQKICoKICogICAgVGhlIGRhdGUgdGhlIGRvbWFpbiB3YXMgY3JlYXRlZAogKgogKiAuLiBwaHA6YXR0cjo6IGRhdGVfdXBkYXRlZAogKgogKiAgICBUaGUgZGF0ZSB0aGUgZG9tYWluIHdhcyB1cGRhdGVkCiAqCiAqIC4uIHBocDphdHRyOjogc2lkCiAqCiAqICAgIEEgMzQgY2hhcmFjdGVyIHN0cmluZyB0aGF0IGlkZW50aWZpZXMgdGhpcyBvYmplY3QKICoKICogLi4gcGhwOmF0dHI6OiBhY2NvdW50X3NpZAogKgogKiAgICBUaGUgYWNjb3VudCB0aGF0IGNyZWF0ZWQgdGhlIGRvbWFpbgogKgogKiAuLiBwaHA6YXR0cjo6IGZyaWVuZGx5X25hbWUKICoKICogICAgVGhlIGZyaWVuZGx5IG5hbWUgb2YgdGhlIGRvbWFpbgogKgogKiAuLiBwaHA6YXR0cjo6IGRvbWFpbl9uYW1lCiAqCiAqICAgIFRoZSAqLnNpcC50d2lsaW8gZG9tYWluIGZvciB0aGUgZG9tYWluCiAqCiAqIC4uIHBocDphdHRyOjogYXV0aF90eXBlCiAqCiAqICAgIFRoZSBhdXRoIHR5cGUgdXNlZCBmb3IgdGhlIGRvbWFpbgogKgogKiAuLiBwaHA6YXR0cjo6IHZvaWNlX3VybAogKgogKiAgICBUaGUgdm9pY2UgdXJsIGZvciB0aGUgZG9tYWluCiAqCiAqIC4uIHBocDphdHRyOjogdm9pY2VfZmFsbGJhY2tfdXJsCiAqCiAqICAgIFRoZSB2b2ljZSBmYWxsYmFjayB1cmwgZm9yIHRoZSBkb21haW4KICoKICogLi4gcGhwOmF0dHI6OiB2b2ljZV9mYWxsYmFja19tZXRob2QKICoKICogICAgVGhlIHZvaWNlIGZhbGxiYWNrIG1ldGhvZCBmb3IgdGhlIGRvbWFpbgogKgogKiAuLiBwaHA6YXR0cjo6IHZvaWNlX3N0YXR1c19jYWxsYmFja191cmwKICoKICogICAgVGhlIHZvaWNlIHN0YXR1cyBjYWxsYmFjayB1cmwgZm9yIHRoZSBkb21haW4KICoKICogLi4gcGhwOmF0dHI6OiB2b2ljZV9zdGF0dXNfY2FsbGJhY2tfbWV0aG9kCiAqCiAqICAgIFRoZSB2b2ljZSBzdGF0dXNfY2FsbGJhY2tfbWV0aG9kIGZvciB0aGUgZG9tYWluCiAqCiAqIC4uIHBocDphdHRyOjogdXJpCiAqCiAqICAgIFRoZSB1cmkgb2YgdGhlIGRvbWFpbgogKgogKiAuLiBwaHA6YXR0cjo6IHN1YnJlc291cmNlX3VyaXMKICoKICogICAgVGhlIHN1YnJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBkb21haW4gKElwQWNjZXNzQ29udHJvbExpc3RNYXBwaW5ncywgQ3JlZGVudGlhbExpc3RNYXBwaW5ncykKICoKICovCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0RvbWFpbiBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19JbnN0YW5jZVJlc291cmNlIHsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbml0KCRjbGllbnQsICR1cmkpIHsKICAgICAgICAkdGhpcy0+c2V0dXBTdWJyZXNvdXJjZXMoCiAgICAgICAgICAgICdpcF9hY2Nlc3NfY29udHJvbF9saXN0X21hcHBpbmdzJywKICAgICAgICAgICAgJ2NyZWRlbnRpYWxfbGlzdF9tYXBwaW5ncycKICAgICAgICApOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Domains.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0RvbWFpbnMgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fU0lQTGlzdFJlc291cmNlIHsKCiAgICAvKioKICAgICAqIENyZWF0ZXMgYSBuZXcgRG9tYWluIGluc3RhbmNlCiAgICAgKgogICAgICogRXhhbXBsZSB1c2FnZToKICAgICAqCiAgICAgKiAgLi4gY29kZS1ibG9jazo6IHBocAogICAgICoKICAgICAqICAgICAgJGNsaWVudC0+YWNjb3VudC0+c2lwLT5kb21haW5zLT5jcmVhdGUoCiAgICAgKiAgICAgICAgICAiTXlGcmllbmRseU5hbWUiLCAiTXlEb21haW5OYW1lIgogICAgICogICAgICApOwogICAgICoKICAgICAqIDpwYXJhbSBzdHJpbmcgJGZyaWVuZGx5X25hbWU6IHRoZSBmcmllbmRseSBuYW1lIG9mIHRoaXMgZG9tYWluCiAgICAgKiA6cGFyYW0gc3RyaW5nICRkb21haW5fbmFtZTogdGhlIGRvbWFpbiBuYW1lIGZvciB0aGlzIGRvbWFpbgogICAgICogOnBhcmFtIGFycmF5ICRwYXJhbXM6IGEgc2luZ2xlIGFycmF5IG9mIHBhcmFtZXRlcnMgd2hpY2ggaXMgc2VyaWFsaXplZCBhbmQKICAgICAqICAgICAgc2VudCBkaXJlY3RseSB0byB0aGUgVHdpbGlvIEFQSS4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZSgkZnJpZW5kbHlfbmFtZSwgJGRvbWFpbl9uYW1lLCAkcGFyYW1zID0gYXJyYXkoKSkgewogICAgICAgIHJldHVybiBwYXJlbnQ6Ol9jcmVhdGUoYXJyYXkoCiAgICAgICAgICAgICdGcmllbmRseU5hbWUnID0+ICRmcmllbmRseV9uYW1lLAogICAgICAgICAgICAnRG9tYWluTmFtZScgPT4gJGRvbWFpbl9uYW1lLAogICAgICAgICkgKyAkcGFyYW1zKTsKICAgIH0KfQoK]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/FeedbackSummary.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0ZlZWRiYWNrU3VtbWFyeSBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19JbnN0YW5jZVJlc291cmNlIHsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNsaWVudCwgJHVyaSwgJHBhcmFtcyA9IGFycmF5KCkpIHsKICAgICAgICAkdGhpcy0+aW5zdGFuY2VfbmFtZSA9ICJTZXJ2aWNlc19Ud2lsaW9fUmVzdF9GZWVkYmFja1N1bW1hcnkiOwogICAgICAgIHJldHVybiBwYXJlbnQ6Ol9fY29uc3RydWN0KCRjbGllbnQsICR1cmksICRwYXJhbXMpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGZlZWRiYWNrIHN1bW1hcnkgZm9yIGNhbGxzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGUoYXJyYXkgJHBhcmFtcyA9IGFycmF5KCkpIHsKICAgICAgICAkcGFyYW1zID0gJHRoaXMtPmNsaWVudC0+Y3JlYXRlRGF0YSgkdGhpcy0+dXJpLCAkcGFyYW1zKTsKICAgICAgICByZXR1cm4gbmV3ICR0aGlzLT5pbnN0YW5jZV9uYW1lKCR0aGlzLT5jbGllbnQsICR0aGlzLT51cmksICRwYXJhbXMpOwogICAgfQoKICAgIC8qKgogICAgICogRGVsZXRlIGEgZmVlZGJhY2sgc3VtbWFyeQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCRzaWQpIHsKICAgICAgICAkdGhpcy0+Y2xpZW50LT5kZWxldGVEYXRhKCR0aGlzLT51cmkgLiAnLycgLiAkc2lkKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhIGZlZWRiYWNrIHN1bW1hcnkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldCgkc2lkKSB7CiAgICAgICAgcmV0dXJuIG5ldyAkdGhpcy0+aW5zdGFuY2VfbmFtZSgKICAgICAgICAgICAgJHRoaXMtPmNsaWVudCwgJHRoaXMtPnVyaSAuICcvJyAuICRzaWQKICAgICAgICApOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/IncomingPhoneNumber.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiAgIEFuIG9iamVjdCByZXByZXNlbnRpbmcgYSBzaW5nbGUgcGhvbmUgbnVtYmVyLiBGb3IgbW9yZQogKiAgIGluZm9ybWF0aW9uLCBzZWUgdGhlIGBJbmNvbWluZ1Bob25lTnVtYmVyIEluc3RhbmNlIFJlc291cmNlCiAqICAgPGh0dHA6Ly93d3cudHdpbGlvLmNvbS9kb2NzL2FwaS9yZXN0L2luY29taW5nLXBob25lLW51bWJlcnMjaW5zdGFuY2U+YF8KICogICBkb2N1bWVudGF0aW9uLgogKgogKiAgIC4uIHBocDphdHRyOjogc2lkCiAqCiAqICAgICAgQSAzNCBjaGFyYWN0ZXIgc3RyaW5nIHRoYXQgdW5pcXVlbHkgaWRldGlmaWVzIHRoaXMgcmVzb3VyY2UuCiAqCiAqICAgLi4gcGhwOmF0dHI6OiBkYXRlX2NyZWF0ZWQKICoKICogICAgICBUaGUgZGF0ZSB0aGF0IHRoaXMgcmVzb3VyY2Ugd2FzIGNyZWF0ZWQsIGdpdmVuIGFzIEdNVCBSRkMgMjgyMiBmb3JtYXQuCiAqCiAqICAgLi4gcGhwOmF0dHI6OiBkYXRlX3VwZGF0ZWQKICoKICogICAgICBUaGUgZGF0ZSB0aGF0IHRoaXMgcmVzb3VyY2Ugd2FzIGxhc3QgdXBkYXRlZCwgZ2l2ZW4gYXMgR01UIFJGQyAyODIyIGZvcm1hdC4KICoKICogICAuLiBwaHA6YXR0cjo6IGZyaWVuZGx5X25hbWUKICoKICogICAgICBBIGh1bWFuIHJlYWRhYmxlIGRlc2NyaXB0aXZlIHRleHQgZm9yIHRoaXMgcmVzb3VyY2UsIHVwIHRvIDY0CiAqICAgICAgY2hhcmFjdGVycyBsb25nLiBCeSBkZWZhdWx0LCB0aGUgRnJpZW5kbHlOYW1lIGlzIGEgbmljZWx5IGZvcm1hdHRlZAogKiAgICAgIHZlcnNpb24gb2YgdGhlIHBob25lIG51bWJlci4KICoKICogICAuLiBwaHA6YXR0cjo6IGFjY291bnRfc2lkCiAqCiAqICAgICAgVGhlIHVuaXF1ZSBpZCBvZiB0aGUgQWNjb3VudCByZXNwb25zaWJsZSBmb3IgdGhpcyBwaG9uZSBudW1iZXIuCiAqCiAqICAgLi4gcGhwOmF0dHI6OiBwaG9uZV9udW1iZXIKICoKICogICAgICBUaGUgaW5jb21pbmcgcGhvbmUgbnVtYmVyLiBlLmcuLCArMTYxNzU1NTEyMTIgKEUuMTY0IGZvcm1hdCkKICoKICogICAuLiBwaHA6YXR0cjo6IGFwaV92ZXJzaW9uCiAqCiAqICAgICAgQ2FsbHMgdG8gdGhpcyBwaG9uZSBudW1iZXIgd2lsbCBzdGFydCBhIG5ldyBUd2lNTCBzZXNzaW9uIHdpdGggdGhpcwogKiAgICAgIEFQSSB2ZXJzaW9uLgogKgogKiAgIC4uIHBocDphdHRyOjogdm9pY2VfY2FsbGVyX2lkX2xvb2t1cAogKgogKiAgICAgIExvb2sgdXAgdGhlIGNhbGxlcidzIGNhbGxlci1JRCBuYW1lIGZyb20gdGhlIENOQU0gZGF0YWJhc2UgKGFkZGl0aW9uYWwgY2hhcmdlcyBhcHBseSkuIEVpdGhlciB0cnVlIG9yIGZhbHNlLgogKgogKiAgIC4uIHBocDphdHRyOjogdm9pY2VfdXJsCiAqCiAqICAgICAgVGhlIFVSTCBUd2lsaW8gd2lsbCByZXF1ZXN0IHdoZW4gdGhpcyBwaG9uZSBudW1iZXIgcmVjZWl2ZXMgYSBjYWxsLgogKgogKiAgIC4uIHBocDphdHRyOjogdm9pY2VfbWV0aG9kCiAqCiAqICAgICAgVGhlIEhUVFAgbWV0aG9kIFR3aWxpbyB3aWxsIHVzZSB3aGVuIHJlcXVlc3RpbmcgdGhlIGFib3ZlIFVybC4gRWl0aGVyIEdFVCBvciBQT1NULgogKgogKiAgIC4uIHBocDphdHRyOjogdm9pY2VfZmFsbGJhY2tfdXJsCiAqCiAqICAgICAgVGhlIFVSTCB0aGF0IFR3aWxpbyB3aWxsIHJlcXVlc3QgaWYgYW4gZXJyb3Igb2NjdXJzIHJldHJpZXZpbmcgb3IgZXhlY3V0aW5nIHRoZSBUd2lNTCByZXF1ZXN0ZWQgYnkgVXJsLgogKgogKiAgIC4uIHBocDphdHRyOjogdm9pY2VfZmFsbGJhY2tfbWV0aG9kCiAqCiAqICAgICAgVGhlIEhUVFAgbWV0aG9kIFR3aWxpbyB3aWxsIHVzZSB3aGVuIHJlcXVlc3RpbmcgdGhlIFZvaWNlRmFsbGJhY2tVcmwuIEVpdGhlciBHRVQgb3IgUE9TVC4KICoKICogICAuLiBwaHA6YXR0cjo6IHN0YXR1c19jYWxsYmFjawogKgogKiAgICAgIFRoZSBVUkwgdGhhdCBUd2lsaW8gd2lsbCByZXF1ZXN0IHRvIHBhc3Mgc3RhdHVzIHBhcmFtZXRlcnMgKHN1Y2ggYXMgY2FsbCBlbmRlZCkgdG8geW91ciBhcHBsaWNhdGlvbi4KICoKICogICAuLiBwaHA6YXR0cjo6IHN0YXR1c19jYWxsYmFja19tZXRob2QKICoKICogICAgICBUaGUgSFRUUCBtZXRob2QgVHdpbGlvIHdpbGwgdXNlIHRvIG1ha2UgcmVxdWVzdHMgdG8gdGhlIFN0YXR1c0NhbGxiYWNrIFVSTC4gRWl0aGVyIEdFVCBvciBQT1NULgogKgogKiAgIC4uIHBocDphdHRyOjogc21zX3VybAogKgogKiAgICAgIFRoZSBVUkwgVHdpbGlvIHdpbGwgcmVxdWVzdCB3aGVuIHJlY2VpdmluZyBhbiBpbmNvbWluZyBTTVMgbWVzc2FnZSB0byB0aGlzIG51bWJlci4KICoKICogICAuLiBwaHA6YXR0cjo6IHNtc19tZXRob2QKICoKICogICAgICBUaGUgSFRUUCBtZXRob2QgVHdpbGlvIHdpbGwgdXNlIHdoZW4gbWFraW5nIHJlcXVlc3RzIHRvIHRoZSBTbXNVcmwuIEVpdGhlciBHRVQgb3IgUE9TVC4KICoKICogICAuLiBwaHA6YXR0cjo6IHNtc19mYWxsYmFja191cmwKICoKICogICAgICBUaGUgVVJMIHRoYXQgVHdpbGlvIHdpbGwgcmVxdWVzdCBpZiBhbiBlcnJvciBvY2N1cnMgcmV0cmlldmluZyBvciBleGVjdXRpbmcgdGhlIFR3aU1MIGZyb20gU21zVXJsLgogKgogKiAgIC4uIHBocDphdHRyOjogc21zX2ZhbGxiYWNrX21ldGhvZAogKgogKiAgICAgIFRoZSBIVFRQIG1ldGhvZCBUd2lsaW8gd2lsbCB1c2Ugd2hlbiByZXF1ZXN0aW5nIHRoZSBhYm92ZSBVUkwuIEVpdGhlciBHRVQgb3IgUE9TVC4KICoKICogICAuLiBwaHA6YXR0cjo6IHVyaQogKgogKiAgICBUaGUgVVJJIGZvciB0aGlzIHJlc291cmNlLCByZWxhdGl2ZSB0byBodHRwczovL2FwaS50d2lsaW8uY29tLgogKi8KY2xhc3MgU2VydmljZXNfVHdpbGlvX1Jlc3RfSW5jb21pbmdQaG9uZU51bWJlcgogICAgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fSW5zdGFuY2VSZXNvdXJjZQp7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/IncomingPhoneNumbers.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZQogKiBgSW5jb21pbmdQaG9uZU51bWJlcnMgQVBJIFJlc291cmNlCiAqIDxodHRwOi8vd3d3LnR3aWxpby5jb20vZG9jcy9hcGkvcmVzdC9pbmNvbWluZy1waG9uZS1udW1iZXJzI2xvY2FsPmBfCiAqIGRvY3VtZW50YXRpb24gYXQgdHdpbGlvLmNvbS4KICovCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0luY29taW5nUGhvbmVOdW1iZXJzIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0xpc3RSZXNvdXJjZSB7CiAgICBmdW5jdGlvbiBpbml0KCRjbGllbnQsICR1cmkpIHsKICAgICAgICAkdGhpcy0+c2V0dXBTdWJyZXNvdXJjZXMoCiAgICAgICAgICAgICdsb2NhbCcsCiAgICAgICAgICAgICd0b2xsX2ZyZWUnLAogICAgICAgICAgICAnbW9iaWxlJwogICAgICAgICk7CiAgICB9CgogICAgZnVuY3Rpb24gY3JlYXRlKGFycmF5ICRwYXJhbXMgPSBhcnJheSgpKSB7CiAgICAgICAgcmV0dXJuIHBhcmVudDo6X2NyZWF0ZSgkcGFyYW1zKTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRMaXN0KCR0eXBlLCBhcnJheSAkcGFyYW1zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNsaWVudC0+cmV0cmlldmVEYXRhKCR0aGlzLT51cmkgLiAiLyR0eXBlIiwgJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBwaG9uZSBudW1iZXIgaW5zdGFuY2UgZnJvbSBpdHMgRS4xNjQgcmVwcmVzZW50YXRpb24uIElmIG1vcmUKICAgICAqIHRoYW4gb25lIG51bWJlciBtYXRjaGVzIHRoZSBzZWFyY2ggc3RyaW5nLCByZXR1cm5zIHRoZSBmaXJzdCBvbmUuCiAgICAgKgogICAgICogRXhhbXBsZSB1c2FnZToKICAgICAqCiAgICAgKiAuLiBjb2RlLWJsb2NrOjogcGhwCiAgICAgKgogICAgICogICAgICAkbnVtYmVyID0gJGNsaWVudC0+YWNjb3VudC0+aW5jb21pbmdfcGhvbmVfbnVtYmVycy0+Z2V0TnVtYmVyKCcrMTQxMDU1NTEyMzQnKTsKICAgICAqICAgICAgZWNobyAkbnVtYmVyLT5zaWQ7CiAgICAgKgogICAgICogOnBhcmFtIHN0cmluZyAkbnVtYmVyOiBUaGUgbnVtYmVyIGluIEUuMTY0IGZvcm1hdCwgZWcgIis2ODQxMDU1NTEyMzQiCiAgICAgKiA6cmV0dXJuOiAgQSA6cGhwOmNsYXNzOmBTZXJ2aWNlc19Ud2lsaW9fUmVzdF9JbmNvbWluZ1Bob25lTnVtYmVyYCBvYmplY3QsIG9yIG51bGwKICAgICAqIDpyYWlzZXM6IGEgQSA6cGhwOmNsYXNzOmBTZXJ2aWNlc19Ud2lsaW9fUmVzdEV4Y2VwdGlvbmAgaWYgdGhlIG51bWJlciBpcwogICAgICogICAgICBpbnZhbGlkLCBub3QgcHJvdmlkZWQgaW4gRS4xNjQgZm9ybWF0IG9yIGZvciBhbnkgb3RoZXIgQVBJIGV4Y2VwdGlvbi4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldE51bWJlcigkbnVtYmVyKSB7CiAgICAgICAgJHBhZ2UgPSAkdGhpcy0+Z2V0UGFnZSgwLCAxLCBhcnJheSgKICAgICAgICAgICAgJ1Bob25lTnVtYmVyJyA9PiAkbnVtYmVyCiAgICAgICAgKSk7CiAgICAgICAgJGl0ZW1zID0gJHBhZ2UtPmdldEl0ZW1zKCk7CiAgICAgICAgaWYgKGlzX251bGwoJGl0ZW1zKSB8fCBlbXB0eSgkaXRlbXMpKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGl0ZW1zWzBdOwogICAgfQp9CgpjbGFzcyBTZXJ2aWNlc19Ud2lsaW9fUmVzdF9Mb2NhbCBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19OdW1iZXJUeXBlIHsgfQoKY2xhc3MgU2VydmljZXNfVHdpbGlvX1Jlc3RfTW9iaWxlIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX051bWJlclR5cGUgeyB9CgpjbGFzcyBTZXJ2aWNlc19Ud2lsaW9fUmVzdF9Ub2xsRnJlZSBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19OdW1iZXJUeXBlIHsgfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/IpAccessControlLists.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0lwQWNjZXNzQ29udHJvbExpc3RzIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX1NJUExpc3RSZXNvdXJjZSB7CgogICAgLyoqCiAgICAgKiBDcmVhdGVzIGEgbmV3IElwQWNjZXNzQ29udHJvbExpc3RzIGluc3RhbmNlCiAgICAgKgogICAgICogRXhhbXBsZSB1c2FnZToKICAgICAqCiAgICAgKiAuLiBjb2RlLWJsb2NrOjogcGhwCiAgICAgKgogICAgICogICAgICAkY2xpZW50LT5hY2NvdW50LT5zaXAtPmlwX2FjY2Vzc19jb250cm9sX2xpc3RzLT5jcmVhdGUoIk15RnJpZW5kbHlOYW1lIik7CiAgICAgKgogICAgICogOnBhcmFtIHN0cmluZyAkZnJpZW5kbHlfbmFtZTogdGhlIGZyaWVuZGx5IG5hbWUgb2YgdGhpcyBpcCBhY2Nlc3MgY29udHJvbCBsaXN0CiAgICAgKiA6cGFyYW0gYXJyYXkgJHBhcmFtczogYSBzaW5nbGUgYXJyYXkgb2YgcGFyYW1ldGVycyB3aGljaCBpcyBzZXJpYWxpemVkIGFuZAogICAgICogICAgICBzZW50IGRpcmVjdGx5IHRvIHRoZSBUd2lsaW8gQVBJLgogICAgICogOnJldHVybjogdGhlIGNyZWF0ZWQgbGlzdAogICAgICogOnJ0eXBlOiA6Y2xhc3M6YFNlcnZpY2VzX1R3aWxpb19SZXN0X0lwQWNjZXNzQ29udHJvbExpc3RgCiAgICAgKgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JlYXRlKCRmcmllbmRseV9uYW1lLCAkcGFyYW1zID0gYXJyYXkoKSkgewogICAgICAgIHJldHVybiBwYXJlbnQ6Ol9jcmVhdGUoYXJyYXkoCiAgICAgICAgICAgICdGcmllbmRseU5hbWUnID0+ICRmcmllbmRseV9uYW1lLAogICAgICAgICkgKyAkcGFyYW1zKTsKICAgIH0KCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Media.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBIGxpc3Qgb2YgOmNsYXNzOmBNZWRpYSA8U2VydmljZXNfVHdpbGlvX1Jlc3RfTWVkaWFJbnN0YW5jZT5gIG9iamVjdHMuCiAqIEZvciB0aGUgZGVmaW5pdGl2ZSByZWZlcmVuY2UsIHNlZSB0aGUgYFR3aWxpbyBNZWRpYSBMaXN0IERvY3VtZW50YXRpb24KICogPGh0dHBzOi8vd3d3LnR3aWxpby5jb20vZG9jcy9hcGkvcmVzdC9tZWRpYT5gXy4KICovCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X01lZGlhIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0xpc3RSZXNvdXJjZSB7CgoKICAgIC8vIFRoaXMgaXMgb3ZlcnJpZGRlbiBiZWNhdXNlIHRoZSBsaXN0IGtleSBpbiB0aGUgVHdpbGlvIHJlc3BvbnNlCiAgICAvLyBpcyAibWVkaWFfbGlzdCIsIG5vdCAibWVkaWEiLgogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlc291cmNlTmFtZSgkY2FtZWxpemVkID0gZmFsc2UpCiAgICB7CiAgICAgICAgaWYgKCRjYW1lbGl6ZWQpIHsKICAgICAgICAgICAgcmV0dXJuICJNZWRpYUxpc3QiOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAibWVkaWFfbGlzdCI7CiAgICAgICAgfQogICAgfQoKICAgIC8vIFdlIG1hbnVhbGx5IHNldCB0aGUgaW5zdGFuY2UgbmFtZSBoZXJlIHNvIHRoYXQgdGhlIHBhcmVudAogICAgLy8gY29uc3RydWN0b3IgZG9lc24ndCBhdHRlbXB0IHRvIGZpZ3VyZSBvdXQgaXQuIEl0IHdvdWxkIGRvIGl0CiAgICAvLyBpbmNvcnJlY3RseSBiZWNhdXNlIHdlIG92ZXJyaWRlIGdldFJlc291cmNlTmFtZSBhYm92ZS4KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY2xpZW50LCAkdXJpKSB7CiAgICAgICAgJHRoaXMtPmluc3RhbmNlX25hbWUgPSAiU2VydmljZXNfVHdpbGlvX1Jlc3RfTWVkaWFJbnN0YW5jZSI7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkY2xpZW50LCAkdXJpKTsKICAgIH0KCn0KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Message.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBIHNpbmdsZSBNZXNzYWdlCiAqCiAqIC4uIHBocDphdHRyOjogZGF0ZV9jcmVhdGVkCiAqCiAqICAgIFRoZSBkYXRlIHRoZSBtZXNzYWdlIHdhcyBjcmVhdGVkCiAqCiAqIC4uIHBocDphdHRyOjogZGF0ZV91cGRhdGVkCiAqCiAqICAgIFRoZSBkYXRlIHRoZSBtZXNzYWdlIHdhcyB1cGRhdGVkCiAqCiAqIC4uIHBocDphdHRyOjogc2lkCiAqCiAqICAgIEEgMzQgY2hhcmFjdGVyIHN0cmluZyB0aGF0IGlkZW50aWZpZXMgdGhpcyBvYmplY3QKICoKICogLi4gcGhwOmF0dHI6OiBhY2NvdW50X3NpZAogKgogKiAgICBUaGUgYWNjb3VudCB0aGF0IHNlbnQgdGhlIG1lc3NhZ2UKICoKICogLi4gcGhwOmF0dHI6OiBib2R5CiAqCiAqICAgIFRoZSBib2R5IG9mIHRoZSBtZXNzYWdlCiAqCiAqIC4uIHBocDphdHRyOjogbnVtX3NlZ21lbnRzCiAqCiAqICAgIFRoZSBudW1iZXIgb2Ygc21zIG1lc3NhZ2VzIHVzZWQgdG8gZGVsaXZlciB0aGUgYm9keQogKgogKiAuLiBwaHA6YXR0cjo6IG51bV9tZWRpYQogKgogKiAgICBUaGUgbnVtYmVyIG9mIG1lZGlhIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW1hZ2UKICoKICogLi4gcGhwOmF0dHI6OiBzdWJyZXNvdXJjZV91cmlzCiAqCiAqICAgIFRoZSBzdWJyZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbWVzc2FnZSAoanVzdCBNZWRpYSBhdCB0aGUgbW9tZW50KQogKgogKiAuLiBwaHA6YXR0cjo6IGZyb20KICoKICogICAgVGhlIG51bWJlciB0aGlzIG1lc3NhZ2Ugd2FzIHNlbnQgZnJvbQogKgogKiAuLiBwaHA6YXR0cjo6IHRvCiAqCiAqICAgIFRoZSBwaG9uZSBudW1iZXIgdGhpcyBtZXNzYWdlIHdhcyBzZW50IHRvCiAqLwpjbGFzcyBTZXJ2aWNlc19Ud2lsaW9fUmVzdF9NZXNzYWdlIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UgewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXQoJGNsaWVudCwgJHVyaSkgewogICAgICAgICR0aGlzLT5zZXR1cFN1YnJlc291cmNlcygKICAgICAgICAgICAgJ21lZGlhJwogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlZGFjdCgpIHsKICAgICAgICAkcG9zdFBhcmFtcyA9IGFycmF5KCdCb2R5JyA9PiAnJyk7CiAgICAgICAgc2VsZjo6dXBkYXRlKCRwb3N0UGFyYW1zKTsKICAgIH0KfQoK]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Messages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X01lc3NhZ2VzIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0xpc3RSZXNvdXJjZSB7CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBuZXcgTWVzc2FnZSBpbnN0YW5jZQogICAgICoKICAgICAqIEV4YW1wbGUgdXNhZ2U6CiAgICAgKgogICAgICogLi4gY29kZS1ibG9jazo6IHBocAogICAgICoKICAgICAqICAgICAgJGNsaWVudC0+YWNjb3VudC0+bWVzc2FnZXMtPmNyZWF0ZShhcnJheSgKICAgICAqICAgICAgICAgICJCb2R5IiA9PiAiZm9vIiwKICAgICAqICAgICAgICAgICJGcm9tIiA9PiAiKzE0MTA1NTUxMjM0IiwKICAgICAqICAgICAgICAgICJUbyIgPT4gIisxNDEwNTU1Njc4OSIsCiAgICAgKiAgICAgICkpOwogICAgICoKICAgICAqIDpwYXJhbSBhcnJheSAkcGFyYW1zOiBhIHNpbmdsZSBhcnJheSBvZiBwYXJhbWV0ZXJzIHdoaWNoIGlzIHNlcmlhbGl6ZWQgYW5kCiAgICAgKiAgICAgIHNlbnQgZGlyZWN0bHkgdG8gdGhlIFR3aWxpbyBBUEkuIFlvdSBtYXkgZmluZCBpdCBlYXNpZXIgdG8gdXNlIHRoZQogICAgICogICAgICBzZW5kTWVzc2FnZSBoZWxwZXIgaW5zdGVhZCBvZiB0aGlzIGZ1bmN0aW9uLgogICAgICoKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZSgkcGFyYW1zID0gYXJyYXkoKSkgewogICAgICAgIHJldHVybiBwYXJlbnQ6Ol9jcmVhdGUoJHBhcmFtcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIGEgbWVzc2FnZQogICAgICoKICAgICAqIC4uIGNvZGUtYmxvY2s6OiBwaHAKICAgICAqCiAgICAgKiAgICAgICRjbGllbnQgPSBuZXcgU2VydmljZXNfVHdpbGlvKCdBQzEyMycsICcxMjMnKTsKICAgICAqICAgICAgJG1lc3NhZ2UgPSAkY2xpZW50LT5hY2NvdW50LT5tZXNzYWdlcy0+c2VuZE1lc3NhZ2UoCiAgICAgKiAgICAgICAgICAnKzE0MTA1NTUxMjM0JywgLy8gRnJvbSBhIFR3aWxpbyBudW1iZXIgaW4geW91ciBhY2NvdW50CiAgICAgKiAgICAgICAgICAnKzE0MTA1NTU2Nzg5JywgLy8gVGV4dCBhbnkgbnVtYmVyCiAgICAgKiAgICAgICAgICAnQ29tZSBhdCB0aGUga2luZywgeW91IGJlc3Qgbm90IG1pc3MuJyAgIC8vIE1lc3NhZ2UgYm9keSAoaWYgYW55KQogICAgICogICAgICAgICAgYXJyYXkoJ2h0dHBzOi8vZGVtby50d2lsaW8uY29tL293bC5wbmcnKSwgICAvLyBBbiBhcnJheSBvZiBNZWRpYVVybHMKICAgICAqICAgICAgKTsKICAgICAqCiAgICAgKiA6cGFyYW0gc3RyaW5nICRmcm9tOiB0aGUgZnJvbSBudW1iZXIgZm9yIHRoZSBtZXNzYWdlLCB0aGlzIG11c3QgYmUgYQogICAgICogICAgICBudW1iZXIgeW91IHB1cmNoYXNlZCBmcm9tIFR3aWxpbwogICAgICogOnBhcmFtIHN0cmluZyAkdG86IHRoZSBtZXNzYWdlIHJlY2lwaWVudCdzIHBob25lIG51bWJlcgogICAgICogOnBhcmFtICRtZWRpYVVybHM6IHRoZSBVUkxzIG9mIGltYWdlcyB0byBzZW5kIGluIHRoaXMgTU1TCiAgICAgKiA6dHlwZSAkbWVkaWFVcmxzOiBudWxsIChkb24ndCBpbmNsdWRlIG1lZGlhKSwgYSBzaW5nbGUgVVJMLCBvciBhbiBhcnJheQogICAgICogICAgICBvZiBVUkxzIHRvIHNlbmQgYXMgbWVkaWEgd2l0aCB0aGlzIG1lc3NhZ2UKICAgICAqIDpwYXJhbSBzdHJpbmcgJGJvZHk6IHRoZSB0ZXh0IHRvIGluY2x1ZGUgYWxvbmcgd2l0aCB0aGlzIE1NUwogICAgICogOnBhcmFtIGFycmF5ICRwYXJhbXM6IEFueSBhZGRpdGlvbmFsIHBhcmFtcyAoY2FsbGJhY2ssIGV0YykgeW91J2QgbGlrZSB0bwogICAgICogICAgICBzZW5kIHdpdGggdGhpcyByZXF1ZXN0LCB0aGVzZSBhcmUgc2VyaWFsaXplZCBhbmQgc2VudCBhcyBQT1NUCiAgICAgKiAgICAgIHBhcmFtZXRlcnMKICAgICAqCiAgICAgKiA6cmV0dXJuOiBUaGUgY3JlYXRlZCA6Y2xhc3M6YFNlcnZpY2VzX1R3aWxpb19SZXN0X01lc3NhZ2VgCiAgICAgKiA6cmFpc2VzOiA6Y2xhc3M6YFNlcnZpY2VzX1R3aWxpb19SZXN0RXhjZXB0aW9uYAogICAgICogICAgICBBbiBleGNlcHRpb24gaWYgdGhlIHBhcmFtZXRlcnMgYXJlIGludmFsaWQgKGZvciBleGFtcGxlLCB0aGUgZnJvbQogICAgICogICAgICBudW1iZXIgaXMgbm90IGEgVHdpbGlvIG51bWJlciByZWdpc3RlcmVkIHRvIHlvdXIgYWNjb3VudCwgb3IgaXMKICAgICAqICAgICAgdW5hYmxlIHRvIHNlbmQgTU1TKQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2VuZE1lc3NhZ2UoJGZyb20sICR0bywgJGJvZHkgPSBudWxsLCAkbWVkaWFVcmxzID0gbnVsbCwKICAgICAgICAkcGFyYW1zID0gYXJyYXkoKQogICAgKSB7CiAgICAgICAgJHBvc3RQYXJhbXMgPSBhcnJheSgKICAgICAgICAgICAgJ0Zyb20nID0+ICRmcm9tLAogICAgICAgICAgICAnVG8nID0+ICR0bywKICAgICAgICApOwogICAgICAgIC8vIFdoZW4gdGhlIHJlcXVlc3QgaXMgbWFkZSwgdGhpcyB3aWxsIGdldCBzZXJpYWxpemVkIGludG8gTWVkaWFVcmw9YSZNZWRpYVVybD1iCiAgICAgICAgaWYgKCFpc19udWxsKCRtZWRpYVVybHMpKSB7CiAgICAgICAgICAgICRwb3N0UGFyYW1zWydNZWRpYVVybCddID0gJG1lZGlhVXJsczsKICAgICAgICB9CiAgICAgICAgaWYgKCFpc19udWxsKCRib2R5KSkgewogICAgICAgICAgICAkcG9zdFBhcmFtc1snQm9keSddID0gJGJvZHk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzZWxmOjpjcmVhdGUoJHBvc3RQYXJhbXMgKyAkcGFyYW1zKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Notification.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X05vdGlmaWNhdGlvbgogICAgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fSW5zdGFuY2VSZXNvdXJjZQp7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Notifications.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X05vdGlmaWNhdGlvbnMKICAgIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0xpc3RSZXNvdXJjZQp7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/OutgoingCallerId.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X091dGdvaW5nQ2FsbGVySWQKICAgIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UKewp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/OutgoingCallerIds.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X091dGdvaW5nQ2FsbGVySWRzCiAgICBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19MaXN0UmVzb3VyY2UKewogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZSgkcGhvbmVOdW1iZXIsIGFycmF5ICRwYXJhbXMgPSBhcnJheSgpKQogICAgewogICAgICAgIHJldHVybiBwYXJlbnQ6Ol9jcmVhdGUoYXJyYXkoCiAgICAgICAgICAgICdQaG9uZU51bWJlcicgPT4gJHBob25lTnVtYmVyLAogICAgICAgICkgKyAkcGFyYW1zKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Queue.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1F1ZXVlCiAgICBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19JbnN0YW5jZVJlc291cmNlIHsKCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5pdCgkY2xpZW50LCAkdXJpKSB7CiAgICAgICAgJHRoaXMtPnNldHVwU3VicmVzb3VyY2VzKCdtZW1iZXJzJyk7CiAgICB9Cn0KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Queues.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1F1ZXVlcwogICAgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fTGlzdFJlc291cmNlCnsKICAgIC8qKgogICAgICogQ3JlYXRlIGEgbmV3IFF1ZXVlCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZnJpZW5kbHlfbmFtZSBUaGUgbmFtZSBvZiB0aGlzIHF1ZXVlCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcyBBIGxpc3Qgb2Ygb3B0aW9uYWwgcGFyYW1ldGVycywgYW5kIHRoZWlyIHZhbHVlcwogICAgICogQHJldHVybiBTZXJ2aWNlc19Ud2lsaW9fUmVzdF9RdWV1ZSBUaGUgY3JlYXRlZCBRdWV1ZQogICAgICovCiAgICBmdW5jdGlvbiBjcmVhdGUoJGZyaWVuZGx5X25hbWUsIGFycmF5ICRwYXJhbXMgPSBhcnJheSgpKSB7CiAgICAgICAgcmV0dXJuIHBhcmVudDo6X2NyZWF0ZShhcnJheSgKICAgICAgICAgICAgJ0ZyaWVuZGx5TmFtZScgPT4gJGZyaWVuZGx5X25hbWUsCiAgICAgICAgKSArICRwYXJhbXMpOwogICAgfQp9Cgo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Recording.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1JlY29yZGluZwogICAgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fSW5zdGFuY2VSZXNvdXJjZQp7CiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5pdCgkY2xpZW50LCAkdXJpKSB7CiAgICAgICAgJHRoaXMtPnNldHVwU3VicmVzb3VyY2VzKCd0cmFuc2NyaXB0aW9ucycpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Recordings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1JlY29yZGluZ3MKICAgIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0xpc3RSZXNvdXJjZQp7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Sandbox.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1NhbmRib3gKICAgIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UKewp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/ShortCode.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1Nob3J0Q29kZQogICAgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fSW5zdGFuY2VSZXNvdXJjZQp7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/ShortCodes.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1Nob3J0Q29kZXMKICAgIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0xpc3RSZXNvdXJjZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNsaWVudCwgJHVyaSkgewogICAgICAgICR1cmkgPSBwcmVnX3JlcGxhY2UoIiNTaG9ydENvZGVzIyIsICJTTVMvU2hvcnRDb2RlcyIsICR1cmkpOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGNsaWVudCwgJHVyaSk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Sip.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBGb3IgTGludXggZmlsZW5hbWUgY29tcGF0aWJpbGl0eSwgdGhpcyBmaWxlIG5lZWRzIHRvIGJlIG5hbWVkIFNpcC5waHAsIG9yCiAqIGNhbWVsaXplKCkgbmVlZHMgdG8gYmUgc3BlY2lhbCBjYXNlZCBpbiBzZXR1cFN1YnJlc291cmNlcwogKi8KY2xhc3MgU2VydmljZXNfVHdpbGlvX1Jlc3RfU2lwIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UgewogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXQoJGNsaWVudCwgJHVyaSkgewogICAgICAgICR0aGlzLT5zZXR1cFN1YnJlc291cmNlcygKICAgICAgICAgICAgJ2RvbWFpbnMnLAogICAgICAgICAgICAnaXBfYWNjZXNzX2NvbnRyb2xfbGlzdHMnLAogICAgICAgICAgICAnY3JlZGVudGlhbF9saXN0cycKICAgICAgICApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRSZXNvdXJjZU5hbWUoJGNhbWVsaXplZCA9IGZhbHNlKSB7CiAgICAgICAgcmV0dXJuICJTSVAiOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/SmsMessage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1Ntc01lc3NhZ2UKICAgIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UKewp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/SmsMessages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1Ntc01lc3NhZ2VzCiAgICBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19MaXN0UmVzb3VyY2UKewogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRjbGllbnQsICR1cmkpIHsKICAgICAgICAkdXJpID0gcHJlZ19yZXBsYWNlKCIjU21zTWVzc2FnZXMjIiwgIlNNUy9NZXNzYWdlcyIsICR1cmkpOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGNsaWVudCwgJHVyaSk7CiAgICB9CgogICAgZnVuY3Rpb24gY3JlYXRlKCRmcm9tLCAkdG8sICRib2R5LCBhcnJheSAkcGFyYW1zID0gYXJyYXkoKSkgewogICAgICAgIHJldHVybiBwYXJlbnQ6Ol9jcmVhdGUoYXJyYXkoCiAgICAgICAgICAgICdGcm9tJyA9PiAkZnJvbSwKICAgICAgICAgICAgJ1RvJyA9PiAkdG8sCiAgICAgICAgICAgICdCb2R5JyA9PiAkYm9keQogICAgICAgICkgKyAkcGFyYW1zKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Token.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1Rva2VuIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UgewoKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Tokens.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1Rva2VucyBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19MaXN0UmVzb3VyY2UgewoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgbmV3IFRva2VuIGluc3RhbmNlCiAgICAgKgogICAgICogRXhhbXBsZSB1c2FnZToKICAgICAqCiAgICAgKiAuLiBjb2RlLWJsb2NrOjogcGhwCiAgICAgKgogICAgICogICAgICAkY2xpZW50LT5hY2NvdW50LT50b2tlbnMtPmNyZWF0ZShhcnJheSgKICAgICAqICAgICAgICAgICJUdGwiID0+IDEwMCwKICAgICAqICAgICAgKSk7CiAgICAgKgogICAgICogOnBhcmFtIGFycmF5ICRwYXJhbXM6IGEgc2luZ2xlIGFycmF5IG9mIHBhcmFtZXRlcnMgd2hpY2ggaXMgc2VyaWFsaXplZCBhbmQKICAgICAqICAgICAgc2VudCBkaXJlY3RseSB0byB0aGUgVHdpbGlvIEFQSS4KICAgICAqCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGUoJHBhcmFtcyA9IGFycmF5KCkpIHsKICAgICAgICByZXR1cm4gcGFyZW50OjpfY3JlYXRlKCRwYXJhbXMpOwogICAgfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Transcription.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1RyYW5zY3JpcHRpb24KICAgIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UKewp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/Transcriptions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1RyYW5zY3JpcHRpb25zCiAgICBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19MaXN0UmVzb3VyY2UKewp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/UsageRecord.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1VzYWdlUmVjb3JkIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0luc3RhbmNlUmVzb3VyY2UKewp9Cgo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/UsageRecords.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1VzYWdlUmVjb3JkcyBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19UaW1lUmFuZ2VSZXNvdXJjZSB7CgogICAgcHVibGljIGZ1bmN0aW9uIGluaXQoJGNsaWVudCwgJHVyaSkgewogICAgICAgICR0aGlzLT5zZXR1cFN1YnJlc291cmNlcygKICAgICAgICAgICAgJ3RvZGF5JywKICAgICAgICAgICAgJ3llc3RlcmRheScsCiAgICAgICAgICAgICdhbGxfdGltZScsCiAgICAgICAgICAgICd0aGlzX21vbnRoJywKICAgICAgICAgICAgJ2xhc3RfbW9udGgnLAogICAgICAgICAgICAnZGFpbHknLAogICAgICAgICAgICAnbW9udGhseScsCiAgICAgICAgICAgICd5ZWFybHknCiAgICAgICAgKTsKICAgIH0KfQoKY2xhc3MgU2VydmljZXNfVHdpbGlvX1Jlc3RfVG9kYXkgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fVGltZVJhbmdlUmVzb3VyY2UgeyB9IAoKY2xhc3MgU2VydmljZXNfVHdpbGlvX1Jlc3RfWWVzdGVyZGF5IGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX1RpbWVSYW5nZVJlc291cmNlIHsgfQoKY2xhc3MgU2VydmljZXNfVHdpbGlvX1Jlc3RfTGFzdE1vbnRoIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX1RpbWVSYW5nZVJlc291cmNlIHsgfQoKY2xhc3MgU2VydmljZXNfVHdpbGlvX1Jlc3RfVGhpc01vbnRoIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX1RpbWVSYW5nZVJlc291cmNlIHsgfQoKY2xhc3MgU2VydmljZXNfVHdpbGlvX1Jlc3RfQWxsVGltZSBleHRlbmRzIFNlcnZpY2VzX1R3aWxpb19UaW1lUmFuZ2VSZXNvdXJjZSB7IH0KCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X0RhaWx5IGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX1VzYWdlUmVzb3VyY2UgeyB9CgpjbGFzcyBTZXJ2aWNlc19Ud2lsaW9fUmVzdF9Nb250aGx5IGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX1VzYWdlUmVzb3VyY2UgeyB9CgpjbGFzcyBTZXJ2aWNlc19Ud2lsaW9fUmVzdF9ZZWFybHkgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fVXNhZ2VSZXNvdXJjZSB7IH0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/UsageTrigger.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1VzYWdlVHJpZ2dlcgogICAgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fSW5zdGFuY2VSZXNvdXJjZSB7IH0KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/Rest/UsageTriggers.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19SZXN0X1VzYWdlVHJpZ2dlcnMgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fTGlzdFJlc291cmNlIHsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNsaWVudCwgJHVyaSkgewogICAgICAgICR1cmkgPSBwcmVnX3JlcGxhY2UoIiNVc2FnZVRyaWdnZXJzIyIsICJVc2FnZS9UcmlnZ2VycyIsICR1cmkpOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGNsaWVudCwgJHVyaSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBuZXcgVXNhZ2VUcmlnZ2VyCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjYXRlZ29yeSBUaGUgY2F0ZWdvcnkgb2YgdXNhZ2UgdG8gZmlyZSBhIHRyaWdnZXIgZm9yLiBBIGZ1bGwgbGlzdCBvZiBjYXRlZ29yaWVzIGNhbiBiZSBmb3VuZCBpbiB0aGUgYFVzYWdlIENhdGVnb3JpZXMgZG9jdW1lbnRhdGlvbiA8aHR0cDovL3d3dy50d2lsaW8uY29tL2RvY3MvYXBpL3Jlc3QvdXNhZ2UtcmVjb3JkcyN1c2FnZS1jYXRlZ29yaWVzPmBfLgogICAgICogQHBhcmFtIHN0cmluZyAkdmFsdWUgRmlyZSB0aGUgdHJpZ2dlciB3aGVuIHVzYWdlIGNyb3NzZXMgdGhpcyB2YWx1ZS4KICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCBUaGUgVVJMIHRvIHJlcXVlc3Qgd2hlbiB0aGUgdHJpZ2dlciBmaXJlcy4KICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIE9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHRoaXMgdHJpZ2dlci4gQSBmdWxsIGxpc3Qgb2YgcGFyYW1ldGVycyBjYW4gYmUgZm91bmQgaW4gdGhlIGBVc2FnZSBUcmlnZ2VyIGRvY3VtZW50YXRpb24gPGh0dHA6Ly93d3cudHdpbGlvLmNvbS9kb2NzL2FwaS9yZXN0L3VzYWdlLXRyaWdnZXJzI2xpc3QtcG9zdC1vcHRpb25hbC1wYXJhbWV0ZXJzPmBfLgogICAgICogQHJldHVybiBTZXJ2aWNlc19Ud2lsaW9fUmVzdF9Vc2FnZVRyaWdnZXIgVGhlIGNyZWF0ZWQgdHJpZ2dlcgogICAgICovCiAgICBmdW5jdGlvbiBjcmVhdGUoJGNhdGVnb3J5LCAkdmFsdWUsICR1cmwsIGFycmF5ICRwYXJhbXMgPSBhcnJheSgpKSB7CiAgICAgICAgcmV0dXJuIHBhcmVudDo6X2NyZWF0ZShhcnJheSgKICAgICAgICAgICAgJ1VzYWdlQ2F0ZWdvcnknID0+ICRjYXRlZ29yeSwKICAgICAgICAgICAgJ1RyaWdnZXJWYWx1ZScgPT4gJHZhbHVlLAogICAgICAgICAgICAnQ2FsbGJhY2tVcmwnID0+ICR1cmwsCiAgICAgICAgKSArICRwYXJhbXMpOwogICAgfQoKfQoK]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/RestException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBbiBleGNlcHRpb24gdGFsa2luZyB0byB0aGUgVHdpbGlvIEFQSS4gVGhpcyBpcyB0aHJvd24gd2hlbmV2ZXIgdGhlIFR3aWxpbwogKiBBUEkgcmV0dXJucyBhIDQwMCBvciA1MDAtbGV2ZWwgZXhjZXB0aW9uLgogKgogKiA6cGFyYW0gaW50ICRzdGF0dXM6IHRoZSBIVFRQIHN0YXR1cyBmb3IgdGhlIGV4Y2VwdGlvbgogKiA6cGFyYW0gc3RyaW5nICRtZXNzYWdlOiBhIGh1bWFuLXJlYWRhYmxlIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBleGNlcHRpb24KICogOnBhcmFtIGludCAkY29kZTogYSBUd2lsaW8tc3BlY2lmaWMgZXJyb3IgY29kZSBmb3IgdGhlIGV4Y2VwdGlvbgogKiA6cGFyYW0gc3RyaW5nICRpbmZvOiBhIGxpbmsgdG8gbW9yZSBpbmZvcm1hdGlvbgogKi8KY2xhc3MgU2VydmljZXNfVHdpbGlvX1Jlc3RFeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24gewoKICAgIC8qKgogICAgICogVGhlIEhUVFAgc3RhdHVzIGZvciB0aGUgZXhjZXB0aW9uLgogICAgICovCiAgICBwcm90ZWN0ZWQgJHN0YXR1czsKCiAgICAvKioKICAgICAqIEEgVVJMIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBlcnJvci4gVGhpcyBpcyBub3QgYWx3YXlzCiAgICAgKiBhdmFpbGFibGUKICAgICAqLwogICAgcHJvdGVjdGVkICRpbmZvOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkc3RhdHVzLCAkbWVzc2FnZSwgJGNvZGUgPSAwLCAkaW5mbyA9ICcnKSB7CiAgICAgICAgJHRoaXMtPnN0YXR1cyA9ICRzdGF0dXM7CiAgICAgICAgJHRoaXMtPmluZm8gPSAkaW5mbzsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRtZXNzYWdlLCAkY29kZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIEhUVFAgc3RhdHVzIGNvZGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFN0YXR1cygpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnN0YXR1czsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhIGxpbmsgdG8gbW9yZSBpbmZvcm1hdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SW5mbygpIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmluZm87CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/SIPListResource.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUaGlzIHN1YmNsYXNzIG9mIExpc3RSZXNvdXJjZSBpcyB1c2VkIHNvbGVseSB0byB1cGRhdGUKICogdGhlIFVSSSBmb3Igc2lwIHJlc291cmNlcy4KICovCmFic3RyYWN0IGNsYXNzIFNlcnZpY2VzX1R3aWxpb19TSVBMaXN0UmVzb3VyY2UgZXh0ZW5kcyBTZXJ2aWNlc19Ud2lsaW9fTGlzdFJlc291cmNlIHsKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY2xpZW50LCAkdXJpKSB7CiAgICAgICAgLy8gUmVuYW1lIGFsbCAvU2lwLyB1cmlzIHRvIC9TSVAvCiAgICAgICAgJHVyaSA9IHByZWdfcmVwbGFjZSgiIy9TaXAjIiwgIi9TSVAiLCAkdXJpKTsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRjbGllbnQsICR1cmkpOwogICAgfQp9Cgo=]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/TimeRangeResource.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBQYXJlbnQgY2xhc3MgZm9yIHVzYWdlIHJlc291cmNlcyB0aGF0IGV4cG9zZSBhIHNpbmdsZSBkYXRlLCBlZyAnVG9kYXknLCAnVGhpc01vbnRoJywgZXRjCiAqIEBhdXRob3IgS2V2aW4gQnVya2UgPGtldmluQHR3aWxpby5jb20+CiAqIEBsaWNlbnNlICBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9NSVQvIE1JVAogKiBAbGluayAgICAgaHR0cDovL3BlYXIucGhwLm5ldC9wYWNrYWdlL1NlcnZpY2VzX1R3aWxpbwogKi8KY2xhc3MgU2VydmljZXNfVHdpbGlvX1RpbWVSYW5nZVJlc291cmNlIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX1VzYWdlUmVzb3VyY2UgewoKICAgIC8qKgogICAgICogUmV0dXJuIGEgVXNhZ2VSZWNvcmQgY29ycmVzcG9uZGluZyB0byB0aGUgZ2l2ZW4gY2F0ZWdvcnkuCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkY2F0ZWdvcnkgVGhlIGNhdGVnb3J5IG9mIHVzYWdlIHRvIHJldHJpZXZlLiBGb3IgYSBmdWxsIAogICAgICogICAgICBsaXN0IG9mIHZhbGlkIGNhdGVnb3JpZXMsIHBsZWFzZSBzZWUgdGhlIGRvY3VtZW50YXRpb24gYXQgCiAgICAgKiAgICAgIGh0dHA6Ly93d3cudHdpbGlvLmNvbS9kb2NzL2FwaS9yZXN0L3VzYWdlLXJlY29yZHMjdXNhZ2UtYWxsLWNhdGVnb3JpZXMKICAgICAqIEByZXR1cm4gU2VydmljZXNfVHdpbGlvX1Jlc3RfVXNhZ2VSZWNvcmQKICAgICAqIEB0aHJvd3MgU2VydmljZXNfVHdpbGlvX1Jlc3RFeGNlcHRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldENhdGVnb3J5KCRjYXRlZ29yeSkgewogICAgICAgICRwYWdlID0gJHRoaXMtPmdldFBhZ2UoMCwgMSwgYXJyYXkoCiAgICAgICAgICAgICdDYXRlZ29yeScgPT4gJGNhdGVnb3J5LAogICAgICAgICkpOwogICAgICAgICRpdGVtcyA9ICRwYWdlLT5nZXRJdGVtcygpOwogICAgICAgIGlmICghaXNfYXJyYXkoJGl0ZW1zKSB8fCBjb3VudCgkaXRlbXMpID09PSAwKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBTZXJ2aWNlc19Ud2lsaW9fUmVzdEV4Y2VwdGlvbigKICAgICAgICAgICAgICAgIDQwMCwgIlVzYWdlIHJlY29yZCBkYXRhIGlzIHVuZm9ybWF0dGFibGUuIik7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkaXRlbXNbMF07CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/TinyHttp.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIEJhc2VkIG9uIFRpbnlIdHRwIGZyb20gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vNjE4MTU3LgogKiBDb3B5cmlnaHQgMjAxMSwgTmV1bWFuIFZvbmcuIEJTRCBMaWNlbnNlLgogKi8KCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19UaW55SHR0cEV4Y2VwdGlvbiBleHRlbmRzIEVycm9yRXhjZXB0aW9uIHt9CgovKioKICogQW4gSFRUUCBjbGllbnQgdGhhdCBtYWtlcyByZXF1ZXN0cwogKgogKiA6cGFyYW0gc3RyaW5nICR1cmk6IFRoZSBiYXNlIHVyaSB0byB1c2UgZm9yIHJlcXVlc3RzCiAqIDpwYXJhbSBhcnJheSAka3dhcmdzOiBBbiBhcnJheSBvZiBhZGRpdGlvbmFsIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZQogKiAgbGlicmFyeS4gQWNjZXB0ZWQgYXJndW1lbnRzIGFyZToKICoKICogICAgICAtICoqZGVidWcqKiAtIFByaW50IHRoZSBIVFRQIHJlcXVlc3QgYmVmb3JlIG1ha2luZyBpdCB0byBUd2lsaW8KICogICAgICAtICoqY3VybG9wdHMqKiAtIEFuIGFycmF5IG9mIGtleXMgYW5kIHZhbHVlcyB0aGF0IGFyZSBwYXNzZWQgdG8KICogICAgICAgICAgYGBjdXJsX3NldG9wdF9hcnJheWBgLgogKgogKiBIZXJlJ3MgYW4gZXhhbXBsZS4gVGhpcyBpcyB0aGUgZGVmYXVsdCBIVFRQIGNsaWVudCB1c2VkIGJ5IHRoZSBsaWJyYXJ5LgogKgogKiAuLiBjb2RlLWJsb2NrOjogcGhwCiAqCiAqICAgICAkX2h0dHAgPSBuZXcgU2VydmljZXNfVHdpbGlvX1RpbnlIdHRwKAogKiAgICAgICAgICJodHRwczovL2FwaS50d2lsaW8uY29tIiwKICogICAgICAgICBhcnJheSgiY3VybG9wdHMiID0+IGFycmF5KAogKiAgICAgICAgICAgICBDVVJMT1BUX1VTRVJBR0VOVCA9PiBzZWxmOjpVU0VSX0FHRU5ULAogKiAgICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gYXJyYXkoJ0FjY2VwdC1DaGFyc2V0OiB1dGYtOCcpLAogKiAgICAgICAgICAgICBDVVJMT1BUX0NBSU5GTyA9PiBkaXJuYW1lKF9fRklMRV9fKSAuICcvY2FjZXJ0LnBlbScsCiAqICAgICAgICAgKSkKICogICAgICk7CiAqLwpjbGFzcyBTZXJ2aWNlc19Ud2lsaW9fVGlueUh0dHAgewogIHZhciAkdXNlciwgJHBhc3MsICRzY2hlbWUsICRob3N0LCAkcG9ydCwgJGRlYnVnLCAkY3VybG9wdHM7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdXJpID0gJycsICRrd2FyZ3MgPSBhcnJheSgpKSB7CiAgICBmb3JlYWNoIChwYXJzZV91cmwoJHVyaSkgYXMgJG5hbWUgPT4gJHZhbHVlKSAkdGhpcy0+JG5hbWUgPSAkdmFsdWU7CiAgICAkdGhpcy0+ZGVidWcgPSBpc3NldCgka3dhcmdzWydkZWJ1ZyddKSA/ICEhJGt3YXJnc1snZGVidWcnXSA6IE5VTEw7CiAgICAkdGhpcy0+Y3VybG9wdHMgPSBpc3NldCgka3dhcmdzWydjdXJsb3B0cyddKSA/ICRrd2FyZ3NbJ2N1cmxvcHRzJ10gOiBhcnJheSgpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9fY2FsbCgkbmFtZSwgJGFyZ3MpIHsKICAgIGxpc3QoJHJlcywgJHJlcV9oZWFkZXJzLCAkcmVxX2JvZHkpID0gJGFyZ3MgKyBhcnJheSgwLCBhcnJheSgpLCAnJyk7CgoJICBpZiAoc3RycG9zKCRyZXMsICdodHRwJykgPT09IDApIHsKCQkgIC8vIFdlIGdvdCBoYW5kZWQgYSBjb21wbGV0ZSBVUkwsIGp1c3QgdXNlIGl0CgkJICAkdXJsID0gJHJlczsKCSAgfSBlbHNlIHsKCQkgIC8vIEJ1aWxkIGZyb20gcGF0aCBhbmQgZGVmYXVsdCBzY2hlbWUvaG9zdC4KCQkgICR1cmwgPSAiJHRoaXMtPnNjaGVtZTovLyR0aGlzLT5ob3N0JHJlcyI7CgkgIH0KCiAgICAkb3B0cyA9ICR0aGlzLT5jdXJsb3B0cyArIGFycmF5KAogICAgICBDVVJMT1BUX1VSTCA9PiAkdXJsLAogICAgICBDVVJMT1BUX0hFQURFUiA9PiBUUlVFLAogICAgICBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSID0+IFRSVUUsCiAgICAgIENVUkxPUFRfSU5GSUxFU0laRSA9PiAtMSwKICAgICAgQ1VSTE9QVF9QT1NURklFTERTID0+IE5VTEwsCiAgICAgIENVUkxPUFRfVElNRU9VVCA9PiA2MCwKICAgICAgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiA9PiBGQUxTRSAvL0JBRCB0ZW1wIHdvcmthcm91ZCBiYWQgVHdpbGlvIGNlcnRpZmljYXRlCiAgICApOwoKICAgIGZvcmVhY2ggKCRyZXFfaGVhZGVycyBhcyAkayA9PiAkdikgJG9wdHNbQ1VSTE9QVF9IVFRQSEVBREVSXVtdID0gIiRrOiAkdiI7CiAgICBpZiAoJHRoaXMtPnBvcnQpICRvcHRzW0NVUkxPUFRfUE9SVF0gPSAkdGhpcy0+cG9ydDsKICAgIGlmICgkdGhpcy0+ZGVidWcpICRvcHRzW0NVUkxJTkZPX0hFQURFUl9PVVRdID0gVFJVRTsKICAgIGlmICgkdGhpcy0+dXNlciAmJiAkdGhpcy0+cGFzcykgJG9wdHNbQ1VSTE9QVF9VU0VSUFdEXSA9ICIkdGhpcy0+dXNlcjokdGhpcy0+cGFzcyI7CiAgICBzd2l0Y2ggKCRuYW1lKSB7CiAgICBjYXNlICdnZXQnOgogICAgICAkb3B0c1tDVVJMT1BUX0hUVFBHRVRdID0gVFJVRTsKICAgICAgYnJlYWs7CiAgICBjYXNlICdwb3N0JzoKICAgICAgJG9wdHNbQ1VSTE9QVF9QT1NUXSA9IFRSVUU7CiAgICAgICRvcHRzW0NVUkxPUFRfUE9TVEZJRUxEU10gPSAkcmVxX2JvZHk7CiAgICAgIGJyZWFrOwogICAgY2FzZSAncHV0JzoKICAgICAgJG9wdHNbQ1VSTE9QVF9QVVRdID0gVFJVRTsKICAgICAgaWYgKHN0cmxlbigkcmVxX2JvZHkpKSB7CiAgICAgICAgaWYgKCRidWYgPSBmb3BlbigncGhwOi8vbWVtb3J5JywgJ3crJykpIHsKICAgICAgICAgIGZ3cml0ZSgkYnVmLCAkcmVxX2JvZHkpOwogICAgICAgICAgZnNlZWsoJGJ1ZiwgMCk7CiAgICAgICAgICAkb3B0c1tDVVJMT1BUX0lORklMRV0gPSAkYnVmOwogICAgICAgICAgJG9wdHNbQ1VSTE9QVF9JTkZJTEVTSVpFXSA9IHN0cmxlbigkcmVxX2JvZHkpOwogICAgICAgIH0gZWxzZSB0aHJvdyBuZXcgU2VydmljZXNfVHdpbGlvX1RpbnlIdHRwRXhjZXB0aW9uKCd1bmFibGUgdG8gb3BlbiB0ZW1wb3JhcnkgZmlsZScpOwogICAgICB9CiAgICAgIGJyZWFrOwogICAgY2FzZSAnaGVhZCc6CiAgICAgICRvcHRzW0NVUkxPUFRfTk9CT0RZXSA9IFRSVUU7CiAgICAgIGJyZWFrOwogICAgZGVmYXVsdDoKICAgICAgJG9wdHNbQ1VSTE9QVF9DVVNUT01SRVFVRVNUXSA9IHN0cnRvdXBwZXIoJG5hbWUpOwogICAgICBicmVhazsKICAgIH0KICAgIHRyeSB7CiAgICAgIHRyeSB7CiAgICAgICRjdXJsID0gY3VybF9pbml0KCk7CgkJdHJ5IHsKICAgICAgICAgIGN1cmxfc2V0b3B0X2FycmF5KCRjdXJsLCAkb3B0cyk7CgkJICB0cnkgewogICAgICAgICAgICAkcmVzcG9uc2UgPSBjdXJsX2V4ZWMoJGN1cmwpOwogICAgICAgICAgICAkc3RhdHVzID0gY3VybF9nZXRpbmZvKCRjdXJsLCBDVVJMSU5GT19IVFRQX0NPREUpOwogICAgICAgICAgICBpZiAoJHRoaXMtPmRlYnVnKSB7CiAgICAgICAgICAgICAgZXJyb3JfbG9nKAogICAgICAgICAgICAgICAgY3VybF9nZXRpbmZvKCRjdXJsLCBDVVJMSU5GT19IRUFERVJfT1VUKSAuCiAgICAgICAgICAgICAgICAkcmVxX2JvZHkKICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGN1cmxfY2xvc2UoJGN1cmwpOwogICAgICAgICAgICBpZiAoaXNzZXQoJGJ1ZikgJiYgaXNfcmVzb3VyY2UoJGJ1ZikpIHsKICAgICAgICAgICAgICBmY2xvc2UoJGJ1Zik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCRyZXNwb25zZSkgewogICAgICAgICAgICAgICRwYXJ0cyA9IGV4cGxvZGUoIlxyXG5cclxuIiwgJHJlc3BvbnNlLCAzKTsKICAgICAgICAgICAgICBsaXN0KCRoZWFkLCAkYm9keSkgPSAoJHBhcnRzWzBdID09ICdIVFRQLzEuMSAxMDAgQ29udGludWUnKQogICAgICAgICAgICAgICAgPyBhcnJheSgkcGFydHNbMV0sICRwYXJ0c1syXSkKICAgICAgICAgICAgICAgIDogYXJyYXkoJHBhcnRzWzBdLCAkcGFydHNbMV0pOwogICAgICAgICAgICAgICRoZWFkZXJfbGluZXMgPSBleHBsb2RlKCJcclxuIiwgJGhlYWQpOwogICAgICAgICAgICAgIGFycmF5X3NoaWZ0KCRoZWFkZXJfbGluZXMpOwogICAgICAgICAgICAgIGZvcmVhY2ggKCRoZWFkZXJfbGluZXMgYXMgJGxpbmUpIHsKICAgICAgICAgICAgICAgIGxpc3QoJGtleSwgJHZhbHVlKSA9IGV4cGxvZGUoIjoiLCAkbGluZSwgMik7CiAgICAgICAgICAgICAgICAkaGVhZGVyc1ska2V5XSA9IHRyaW0oJHZhbHVlKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcmV0dXJuIGFycmF5KCRzdGF0dXMsICRoZWFkZXJzLCAkYm9keSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICByZXR1cm4gJ2NvbW11bmljYXRpb24gZXJyb3InOwogICAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIGlmIChpc19yZXNvdXJjZSgkY3VybCkpIHsKICAgICAgICAgICAgICAkbSA9IGN1cmxfZXJyb3IoJGN1cmwpOwogICAgICAgICAgICAgIGN1cmxfY2xvc2UoJGN1cmwpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICRtID0gJGUtPmdldE1lc3NhZ2UoKTsKCQkJfQogICAgICAgICAgICBpZiAoaXNzZXQoJGJ1ZikgJiYgaXNfcmVzb3VyY2UoJGJ1ZikpIGZjbG9zZSgkYnVmKTsKICAgICAgICAgICAgdGhyb3cgbmV3IFNlcnZpY2VzX1R3aWxpb19UaW55SHR0cEV4Y2VwdGlvbigkbSk7CiAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7CiAgICAgICAgICAgIGlmIChpc19yZXNvdXJjZSgkY3VybCkpIHsKICAgICAgICAgICAgICAkbSA9IGN1cmxfZXJyb3IoJGN1cmwpOwogICAgICAgICAgICAgIGN1cmxfY2xvc2UoJGN1cmwpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICRtID0gJGUtPmdldE1lc3NhZ2UoKTsKCQkJfQogICAgICAgICAgICBpZiAoaXNzZXQoJGJ1ZikgJiYgaXNfcmVzb3VyY2UoJGJ1ZikpIGZjbG9zZSgkYnVmKTsKICAgICAgICAgICAgdGhyb3cgbmV3IFNlcnZpY2VzX1R3aWxpb19UaW55SHR0cEV4Y2VwdGlvbigkbSk7CiAgICAgICAgfQogICAgICB9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKCQl0aHJvdyBuZXcgU2VydmljZXNfVHdpbGlvX1RpbnlIdHRwRXhjZXB0aW9uKCd1bmFibGUgdG8gaW5pdGlhbGl6ZSBjVVJMJyk7CgkgIH0KICAgIH0gY2F0Y2ggKEVycm9yRXhjZXB0aW9uICRlKSB7CiAgICAgIGlmIChpc19yZXNvdXJjZSgkY3VybCkpIGN1cmxfY2xvc2UoJGN1cmwpOwogICAgICBpZiAoaXNzZXQoJGJ1ZikgJiYgaXNfcmVzb3VyY2UoJGJ1ZikpIGZjbG9zZSgkYnVmKTsKICAgICAgdGhyb3cgJGU7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gYXV0aGVudGljYXRlKCR1c2VyLCAkcGFzcykgewogICAgJHRoaXMtPnVzZXIgPSAkdXNlcjsKICAgICR0aGlzLT5wYXNzID0gJHBhc3M7CiAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/gateways/twilio/Twilio/UsageResource.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKiAKICogUGFyZW50IGNsYXNzIGZvciBhbGwgVXNhZ2VSZWNvcmQgc3ViY2xhc3NlcwogKiBAYXV0aG9yIEtldmluIEJ1cmtlIDxrZXZpbkB0d2lsaW8uY29tPgogKiBAbGljZW5zZSAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvTUlULyBNSVQKICogQGxpbmsgICAgIGh0dHA6Ly9wZWFyLnBocC5uZXQvcGFja2FnZS9TZXJ2aWNlc19Ud2lsaW8KICovCmNsYXNzIFNlcnZpY2VzX1R3aWxpb19Vc2FnZVJlc291cmNlIGV4dGVuZHMgU2VydmljZXNfVHdpbGlvX0xpc3RSZXNvdXJjZSB7CiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzb3VyY2VOYW1lKCRjYW1lbGl6ZWQgPSBmYWxzZSkgewogICAgICAgICR0aGlzLT5pbnN0YW5jZV9uYW1lID0gJ1NlcnZpY2VzX1R3aWxpb19SZXN0X1VzYWdlUmVjb3JkJzsKICAgICAgICByZXR1cm4gJGNhbWVsaXplZCA/ICdVc2FnZVJlY29yZHMnIDogJ3VzYWdlX3JlY29yZHMnOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY2xpZW50LCAkdXJpKSB7CiAgICAgICAgJHVyaSA9IHByZWdfcmVwbGFjZSgiI1VzYWdlUmVjb3JkcyMiLCAiVXNhZ2UvUmVjb3JkcyIsICR1cmkpOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGNsaWVudCwgJHVyaSk7CiAgICB9Cn0KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/README-GATEWAYS</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[RWFjaCB3b3JraW5nIGdhdGV3YXkgbmVlZHMgYSBjbGFzcyBmaWxlLCBuYW1lZCBsaWtlICdjbGFzcy5zb21lbmFtZV9zbXNfZ2F0ZXdheS5waHAnLApsb2NhdGVkIGluIG1vZHVsZSBkaXJlY3RvcnkgJy4uLi9saWIvZ2F0ZXdheXMnLCBhbmQgY29udGFpbmluZyBhdCBsZWFzdCBhIApjb3JyZXNwb25kaW5nIGNsYXNzIG5hbWVkIGxpa2UgJ3NvbWVuYW1lX3Ntc19nYXRld2F5Jy4KCkZvciBlZmZpY2llbmN5IHB1cnBvc2VzLCBpdCB3b3VsZCBiZSBiZXN0IHRvIGxlYXZlIGFzIGZldyBjbGFzc2VzIGFzIHBvc3NpYmxlIGluCnRoZSBnYXRld2F5cyBkaXJlY3RvcnkuIFBhcmsgdGhlIHVudXNlZCBvbmVzIHNvbWV3aGVyZSBlbHNlLgoKTkVXIEdBVEVXQVlTCgpUaGUgZmlsZSAnY2xhc3Muc2tlbGV0b25fc21zX2dhdGV3YXkucGhwJyBjb25zdGl0dXRlcyBhIHRlbXBsYXRlIG9mIHNvcnRzLgoKR2F0ZXdheSBjbGFzcyBkZXZlbG9wZXJzIHNob3VsZCBiZWNvbWUgZmFtaWxpYXIgd2l0aCB0aGUgQVBJIG9mIHRoZSBwYXJlbnQtY2xhc3MKKHNtc19nYXRld2F5X2Jhc2UpLCBhbmQgbWF5IGdldCBzb21lIGluc3BpcmF0aW9uIGZyb20gZXhpc3RpbmcgZ2F0ZXdheXMsIG9mIGNvdXJzZS4KCkV4aXN0aW5nICdpbmZyYXN0cnVjdHVyZScgZnJvbSBnYXRld2F5IHByb3ZpZGVycyBjYW4gYmUgdXNlZCwgcHJvdmlkZWQgdGhlcmUncyBhCnN1aXRhYmxlIGludGVyZmFjZSB0byBpdC4KCkFkZCBhbnkgdHJhbnNsYXRlYWJsZSBzdHJpbmdzIHRvIExhbmcgZmlsZShzKSwgaW5jbHVkaW5nIG9uZSBzdHJpbmcgdG8gYmUgdXNlZCBhcwphIG9uZS1saW5lIHJlZmVyZW5jZSBpbiBtb2R1bGUgaGVscCAoYW5kIGluc2VydCBpdCB0aGVyZSkuCgpodHRwOi8vd3d3LnByb2dyYW1tYWJsZXdlYi5jb20vY2F0ZWdvcnkvYWxsL21hc2h1cHM/a2V5d29yZD1TTVMKbWF5IGJlIGEgdXNlZnVsIHJlZmVyZW5jZQ==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokcHJlZiA9IGNtc19kYl9wcmVmaXgoKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnRU5HSU5FIE15SVNBTSBDSEFSQUNURVIgU0VUIHV0ZjggQ09MTEFURSB1dGY4X2dlbmVyYWxfY2knLAogJ215c3FsaScgPT4gJ0VOR0lORSBNeUlTQU0gQ0hBUkFDVEVSIFNFVCB1dGY4IENPTExBVEUgdXRmOF9nZW5lcmFsX2NpJyk7CgokZmxkcyA9ICIKaWQgSSBLRVkgQVVUTywKbW9iaWxlIEMoMjUpLApuYW1lIEMoMjUpIEtFWQoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoJHByZWYuJ21vZHVsZV9zbXNnX251bXMnLCRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRmbGRzID0gIgpnYXRlX2lkCUkgS0VZLAphbGlhcyBDKDQ4KSwKdGl0bGUgQygxMjgpIE5PVE5VTEwsCmRlc2NyaXB0aW9uIEMoMjU2KSwKZW5hYmxlZCBJKDEpIE5PVE5VTEwgREVGQVVMVCAxLAphY3RpdmUgSSgxKSBOT1ROVUxMIERFRkFVTFQgMAoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoJHByZWYuJ21vZHVsZV9zbXNnX2dhdGVzJywkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZGItPkNyZWF0ZVNlcXVlbmNlKCRwcmVmLidtb2R1bGVfc21zZ19nYXRlc19zZXEnKTsKCi8vcG9zdGdyZXMgc3VwcG9ydGVkIHByZS0xLjExCiRmdHlwZSA9IChwcmVnX21hdGNoKCcvbXlzcWwvaScsJGNvbmZpZ1snZGJtcyddKSkgPyAnVkFSQklOQVJZKDI1NiknOidCSVQgVkFSWUlORygyMDQ4KSc7CiRmbGRzID0gIgpnYXRlX2lkIEkgTk9UTlVMTCwKdGl0bGUgQyg5NiksCnZhbHVlIEMoMjU2KSwKZW5jdmFsdWUgJGZ0eXBlLAphcGluYW1lIEMoNjQpLApzaWduYXR1cmUgQyg2NCksCmVuY3J5cHQgSSgxKSBERUZBVUxUIDAsCmVuYWJsZWQgSSgxKSBERUZBVUxUIDEsCmFwaW9yZGVyIEkoMSkgREVGQVVMVCAtMQoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoJHByZWYuJ21vZHVsZV9zbXNnX3Byb3BzJywkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICIKbW9iaWxlIEMoMjUpLAppcCBDKDI1KSwKbXNnIEMoMTYwKSwKc2RhdGUgIi5DTVNfQURPREJfRFQ7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCgkcHJlZi4nbW9kdWxlX3Ntc2dfc2VudCcsJGZsZHMsJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2hvdXJsaW1pdCcsNSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkYXlsaW1pdCcsMjApOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbG9nc2VuZHMnLFRSVUUpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbG9nZGF5cycsNyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdsb2dkZWxpdmVyaWVzJyxUUlVFKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2xhc3RjbGVhcmVkJyx0aW1lKCkpOwoKJHNhbXBsZSA9ICR0aGlzLT5MYW5nKCdzYW1wbGUnKTsKLy9lbnRlci1udW1iZXIgdGVtcGxhdGUKJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnZW50ZXJudW1iZXJfdGVtcGxhdGUudHBsJyk7CmlmKGlzX2ZpbGUoJGZuKSkKewoJJHRleHQgPSAnJy5AZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnZW50ZXJudW1iZXJfJy4kc2FtcGxlLCR0ZXh0KTsKCSR0aGlzLT5TZXRUZW1wbGF0ZShTTVNHOjpQUkVGX0VOVEVSTlVNQkVSX0NPTlRFTlRERkxULCR0ZXh0KTsKCSRuYW1lID0gJHNhbXBsZTsKfQplbHNlCgkkbmFtZSA9ICcnOwokdGhpcy0+U2V0UHJlZmVyZW5jZShTTVNHOjpQUkVGX0VOVEVSTlVNQkVSX1RQTERGTFQsJG5hbWUpOwovL2VudGVyLXRleHQgdGVtcGxhdGUKJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnZW50ZXJ0ZXh0X3RlbXBsYXRlLnRwbCcpOwppZihpc19maWxlKCRmbikpCnsKCSR0ZXh0ID0gJycuQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2VudGVydGV4dF8nLiRzYW1wbGUsJHRleHQpOwoJJHRoaXMtPlNldFRlbXBsYXRlKFNNU0c6OlBSRUZfRU5URVJURVhUX0NPTlRFTlRERkxULCR0ZXh0KTsKCSRuYW1lID0gJHNhbXBsZTsKfQplbHNlCgkkbmFtZSA9ICcnOwokdGhpcy0+U2V0UHJlZmVyZW5jZShTTVNHOjpQUkVGX0VOVEVSVEVYVF9UUExERkxULCRuYW1lKTsKCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdBZG1pbmlzdGVyU01TR2F0ZXdheXMnLCR0aGlzLT5MYW5nKCdwZXJtX2FkbWluJykpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTW9kaWZ5U01TR2F0ZXdheXMnLCR0aGlzLT5MYW5nKCdwZXJtX21vZGlmeScpKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ01vZGlmeVNNU0dhdGVUZW1wbGF0ZXMnLCR0aGlzLT5MYW5nKCdwZXJtX3RlbXBsYXRlcycpKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1VzZVNNU0dhdGV3YXlzJywkdGhpcy0+TGFuZygncGVybV91c2UnKSk7CgokdGhpcy0+Q3JlYXRlRXZlbnQoJ1NNU0RlbGl2ZXJ5UmVwb3J0ZWQnKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokcHJlZiA9IGNtc19kYl9wcmVmaXgoKTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoJHByZWYuJ21vZHVsZV9zbXNnX251bXMnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCRwcmVmLidtb2R1bGVfc21zZ19nYXRlcycpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoJHByZWYuJ21vZHVsZV9zbXNnX3Byb3BzJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCgkcHJlZi4nbW9kdWxlX3Ntc2dfc2VudCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZGItPkRyb3BTZXF1ZW5jZSgkcHJlZi4nbW9kdWxlX3Ntc2dfZ2F0ZXNfc2VxJyk7CgokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdBZG1pbmlzdGVyU01TR2F0ZXdheXMnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01vZGlmeVNNU0dhdGV3YXlzJyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNb2RpZnlTTVNHYXRlVGVtcGxhdGVzJyk7CgokdGhpcy0+UmVtb3ZlRXZlbnQoJHRoaXMtPkdldE5hbWUoKSwnU01TRGVsaXZlcnlSZXBvcnRlZCcpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgUmVmZXIgdG8gbGljZW5jZSBhbmQgb3RoZXIgZGV0YWlscyBhdCB0aGUgdG9wIG9mIGZpbGUgU01TRy5tb2R1bGUucGhwCiMgTW9yZSBpbmZvIGF0IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokcHJlZiA9IGNtc19kYl9wcmVmaXgoKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnRU5HSU5FIE15SVNBTSBDSEFSQUNURVIgU0VUIHV0ZjggQ09MTEFURSB1dGY4X2dlbmVyYWxfY2knLAogJ215c3FsaScgPT4gJ0VOR0lORSBNeUlTQU0gQ0hBUkFDVEVSIFNFVCB1dGY4IENPTExBVEUgdXRmOF9nZW5lcmFsX2NpJyk7Cgpzd2l0Y2goJG9sZHZlcnNpb24pCnsKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/SMSG.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlOiBTTVNHCiMgQ29weXJpZ2h0IChDKSAyMDE1IFRvbSBQaGFuZSA8dHBnd3dAb25lcG9zdC5uZXQ+CiMgRGVyaXZlZCBpbiBwYXJ0IGZyb20gbW9kdWxlIENHU01TIGJ5IFJvYmVydCBDYW1wYmVsbCA8Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz4KIyBUaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgYWJpbGl0eSBmb3Igb3RoZXIgbW9kdWxlcyB0byBzZW5kIFNNUyBtZXNzYWdlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyBNYWRlIFNpbXBsZSAoQykgMjAwNS0yMDE1IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBJdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIG1vZHVsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IGl0CiMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkCiMgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBtb2R1bGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQojIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFJlYWQgdGhlIExpY2VuY2Ugb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNBR1BMCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gVGhpcyBtb2R1bGUgaXMgZGVyaXZlZCBmcm9tIENHRXh0ZW5zaW9ucwokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiRjZ2V4dGVuc2lvbnMgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLCdtb2R1bGVzJywnQ0dFeHRlbnNpb25zJywKCSdDR0V4dGVuc2lvbnMubW9kdWxlLnBocCcpOwppZiggIWlzX3JlYWRhYmxlKCRjZ2V4dGVuc2lvbnMpICkKewoJZWNobyAnPGgxIHN0eWxlPSJjb2xvcjpyZWQ7Ij5FUlJPUjogJy4kdGhpcy0+TGFuZygnZXJyb3Jfbm9wYXJlbnRjbGFzcycpLic8L2gxPic7CglyZXR1cm47Cn0KcmVxdWlyZV9vbmNlKCRjZ2V4dGVuc2lvbnMpOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmNsYXNzIFNNU0cgZXh0ZW5kcyBDR0V4dGVuc2lvbnMKewoJY29uc3QgTU9ETkFNRSA9ICdTTVNHJzsKCWNvbnN0IEFVRElUX1NFTkQgPSAxOwoJY29uc3QgQVVESVRfREVMSVYgPSAyOwoJY29uc3QgQVVESVRfRVJSID0gMzsKCS8vdGhlc2UgYXJlIGFsbCBsaWtlIHByZWZpeC5iYXNlCgljb25zdCBQUkVGX0VOVEVSTlVNQkVSX1RQTERGTFQgPSAnZW50ZXJudW1iZXJfZGZsdHRwbCc7Cgljb25zdCBQUkVGX0VOVEVSTlVNQkVSX0NPTlRFTlRERkxUID0gJ2VudGVybnVtYmVyX2RlZmF1bHRjb250ZW50JzsKCWNvbnN0IFBSRUZfRU5URVJURVhUX1RQTERGTFQgPSAnZW50ZXJ0ZXh0X2RmbHR0cGwnOwoJY29uc3QgUFJFRl9FTlRFUlRFWFRfQ09OVEVOVERGTFQgPSAnZW50ZXJ0ZXh0X2RlZmF1bHRjb250ZW50JzsKCgljb25zdCBFTkNfUk9VTkRTID0gMTAwMDA7CgkvL3doZXRoZXIgcGFzc3dvcmQgZW5jcnlwdGlvbiBpcyBzdXBwb3J0ZWQKCXB1YmxpYyAkaGF2ZW1jcnlwdDsKCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQoJewoJCXBhcmVudDo6X19jb25zdHJ1Y3QoKTsKCQkkdGhpcy0+aGF2ZW1jcnlwdCA9IChmdW5jdGlvbl9leGlzdHMoJ21jcnlwdF9lbmNyeXB0JykpOwoJCSR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBBbGxvd0F1dG9JbnN0YWxsKCkKCXsKCQlyZXR1cm4gRkFMU0U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEFsbG93QXV0b1VwZ3JhZGUoKQoJewoJCXJldHVybiBGQUxTRTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0TmFtZSgpCgl7CgkJcmV0dXJuIHNlbGY6Ok1PRE5BTUU7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpCgl7CgkJcmV0dXJuICcwLjknOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBHZXRIZWxwKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHBfbW9kdWxlJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvcigpCgl7CgkJcmV0dXJuICd0b21waGFudG9vJzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQoJewoJCXJldHVybiAndHBnd3dAb25lcG9zdC5uZXQnOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQoJewoJCXJldHVybiAnJy5AZmlsZV9nZXRfY29udGVudHMoY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwnaW5jbHVkZScsJ2NoYW5nZWxvZy5pbmMnKSk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKCXsKCQlyZXR1cm4gVFJVRTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwkcGFyYW1zID0gYXJyYXkoKSkKCXsKCQlzd2l0Y2goJGNhcGFiaWxpdHkpCgkJewoJCQljYXNlICdTTVNnYXRld2F5JzoKCQkJY2FzZSAnU01TbWVzc2FnaW5nJzoKCQkJY2FzZSAnU01TRyc6CgkJCWNhc2UgJ0NHU01TJzoKCQkJCXJldHVybiBUUlVFOwoJCQlkZWZhdWx0OgoJCQkJcmV0dXJuIEZBTFNFOwoJCX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gSGFzQWRtaW4oKQoJewoJCXJldHVybiBUUlVFOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkKCXsKCQlyZXR1cm4gRkFMU0U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCgl7CgkJcmV0dXJuICdleHRlbnNpb25zJzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdtb2R1bGVfZGVzY3JpcHRpb24nKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKCXsKCQlyZXR1cm4KCQkgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQWRtaW5pc3RlclNNU0dhdGV3YXlzJykgfHwKCQkgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5U01TR2F0ZXdheXMnKSB8fAoJCSAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnlTTVNHYXRlVGVtcGxhdGVzJykgfHwKCQkgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlU01TR2F0ZXdheXMnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gQWRtaW5TdHlsZSgpCgl7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEdldEhlYWRlckhUTUwoKQoJewoJCSRmcCA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ2luY2x1ZGUnLCdtb2R1bGUuanMnKTsKCQkkanMgPSAnJy5AZmlsZV9nZXRfY29udGVudHMoJGZwKTsKCQlpZiggJGpzICkKCQl7CgkJCSRwID0gKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0FkbWluaXN0ZXJTTVNHYXRld2F5cycpKSA/ICcxJzonMCc7CgkJCSRqcyA9IHN0cl9yZXBsYWNlKCd8UEFETXwnLCRwLCRqcyk7CgkJCXJldHVybgoJCQkgJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicuJHRoaXMtPkdldE1vZHVsZVVSTFBhdGgoKS4KCQkJICcvaW5jbHVkZS9qcXVlcnkudGFibGVkbmQubWluLmpzIj48L3NjcmlwdD4nLiJcbiIuJGpzOwoJCX0KCQlyZXR1cm4gJyc7Cgl9CQoKCXB1YmxpYyBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQoJewoJCXJldHVybiBhcnJheSgnQ0dFeHRlbnNpb25zJz0+JzEuMjAnKTsKCX0KCgkvL2ZvciAxLjExKwoJcHVibGljIGZ1bmN0aW9uIEFsbG93U21hcnR5Q2FjaGluZygpCgl7CgkJcmV0dXJuIFRSVUU7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIExhenlMb2FkRnJvbnRlbmQoKQoJewoJCXJldHVybiBUUlVFOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCgl7CgkJcmV0dXJuICcxLjknOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBNYXhpbXVtQ01TVmVyc2lvbigpCgl7CgkJcmV0dXJuICcxLjE5Ljk5JzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygnY29uZmlybV91bmluc3RhbGwnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwoJfQoKCS8vc2V0dXAgZm9yIHByZS0xLjEwCglwdWJsaWMgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpCgl7CgkJJHRoaXMtPkluaXRpYWxpemVBZG1pbigpOwoJCSR0aGlzLT5Jbml0aWFsaXplRnJvbnRlbmQoKTsKCX0KCgkvL3BhcnRpYWwgc2V0dXAgZm9yIHByZS0xLjEwLCBiYWNrZW5kIHNldHVwIGZvciAxLjEwKwoJcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpCgl7CgkJJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhY3Rpb24nLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2Rlc3RwYWdlJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdlbnRlcm51bWJlcnRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdlbnRlcnRleHR0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZ2F0ZW5hbWUnLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lubGluZScsQ0xFQU5fSU5UKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbGlua3RleHQnLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Ntc2tleScsQ0xFQU5fU1RSSU5HKTsgLy9oYXNoIG9mIGNhY2hlZCBkYXRhLCBmb3IgaW50ZXJuYWwgdXNlIG9ubHkKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc21zbnVtJyxDTEVBTl9JTlQpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzbXN0ZXh0JyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd1cmxvbmx5JyxDTEVBTl9JTlQpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUC4nL3Ntc2dfLiovJyxDTEVBTl9OT05FKTsKCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9TTVNHXC9kZXZyZXBvcnQkLycsYXJyYXkoJ2FjdGlvbic9PidkZXZyZXBvcnQnKSk7Cgl9CgoJLy9wYXJ0aWFsIHNldHVwIGZvciBwcmUtMS4xMCwgYmFja2VuZCBzZXR1cCBmb3IgMS4xMCsKCXB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKQoJewoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2FjdGlvbicsJ2VudGVybnVtYmVyJywkdGhpcy0+TGFuZygnaGVscF9hY3Rpb24nKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZGVzdHBhZ2UnLCcwJywkdGhpcy0+TGFuZygnaGVscF9kZXN0cGFnZScpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdlbnRlcm51bWJlcnRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9lbnRlcm51bWJlcnRlbXBsYXRlJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2VudGVydGV4dHRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygnaGVscF9lbnRlcm51bWJlcnRlbXBsYXRlJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2dhdGVuYW1lJywnJywkdGhpcy0+TGFuZygnaGVscF9nYXRlbmFtZScpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpbmxpbmUnLDAsJHRoaXMtPkxhbmcoJ2hlbHBfaW5saW5lJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2xpbmt0ZXh0JywkdGhpcy0+TGFuZygnc2VuZF90b19tb2JpbGUnKSwkdGhpcy0+TGFuZygnaGVscF9saW5rdGV4dCcpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzbXNudW0nLDAsJHRoaXMtPkxhbmcoJ2hlbHBfc21zbnVtJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3Ntc3RleHQnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX3Ntc3RleHQnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndXJsb25seScsMCwkdGhpcy0+TGFuZygnaGVscF91cmxvbmx5JykpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uKCRldmVudG5hbWUpCgl7CgkJc3dpdGNoKCRldmVudG5hbWUpCgkJewoJCSBjYXNlICdTTVNEZWxpdmVyeVJlcG9ydGVkJzoKCQkJcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9kZXNjX2RlbGl2ZXJ5Jyk7CgkJIGRlZmF1bHQ6CgkJCXJldHVybiAnJzsKCQl9Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEdldEV2ZW50SGVscCgkZXZlbnRuYW1lKSAKCXsKCQlzd2l0Y2goJGV2ZW50bmFtZSkKCQl7CgkJIGNhc2UgJ1NNU0RlbGl2ZXJ5UmVwb3J0ZWQnOgoJCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2hlbHBfZGVsaXZlcnknKTsKCQkgZGVmYXVsdDoKCQkJcmV0dXJuICcnOwoJCX0KCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldF90YXNrcygpCgl7CgkJcmV0dXJuIG5ldyBzbXNnX2NsZWFybG9nX3Rhc2soKTsKCX0KCn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICFlbXB0eSgkbWVzc2FnZSl9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQoKeyRzdGFydHRhYmNvbnRlbnR9CntpZiAoJHBtb2QgfHwgJHB1c2UpfQp7JHRhYnN0YXJ0X2dhdGVzfQp7aWYgJHBtb2R9CnskZm9ybXN0YXJ0X2dhdGVzfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncmVwb3J0aW5nX3VybCcpfTo8L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHJlcG9ydHVybH08L3A+CiA8YnIgLz4KIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2RlZmF1bHRfZ2F0ZXdheScpfTo8L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICA8c2VsZWN0IGlkPSJzbXNfZ2F0ZXdheSIgbmFtZT0ieyRhY3Rpb25pZH1zbXNfZ2F0ZXdheSI+IAogICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGdhdGVzbmFtZXMgc2VsZWN0ZWQ9JGdhdGVjdXJyZW50fQogIDwvc2VsZWN0PgogPC9wPgo8L2Rpdj4Ke2ZvcmVhY2ggZnJvbT0kZ2F0ZXNkYXRhIGtleT1hbGlhcyBpdGVtPW9uZX0KPGRpdiBpZD0ieyRhbGlhc30iIGNsYXNzPSJwYWdlb3ZlcmZsb3cgc21zX2dhdGV3YXlfcGFuZWwiIHN0eWxlPSJtYXJnaW46MC41ZW0gMDsiPgp7JG9uZX0KPC9kaXY+CnsvZm9yZWFjaH0KPGJyIC8+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iIC8+CiA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9CntlbHNlfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgc3R5bGU9ImJvcmRlcjowOyI+CiA8dGhlYWQ+PHRyPgogIDx0aD57JHRpdGxlbmFtZX08L3RoPgogIDx0aD57JHRpdGxlZGVmYXVsdH08L3RoPgogPC90cj48L3RoZWFkPgo8dGJvZHk+Cntmb3JlYWNoIGZyb209JGdhdGVzZGF0YSBpdGVtPW9uZX0Ke2N5Y2xlIG5hbWU9Z2F0ZXMgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQogPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KeyRvbmV9CiA8L3RyPgp7L2ZvcmVhY2h9CjwvdGJvZHk+PC90YWJsZT4KPC9kaXY+CnsvaWZ9eyokcG1vZCp9CnskZW5kdGFifQoKeyR0YWJzdGFydF90ZXN0fQo8cD57JG1vZC0+TGFuZygnaW5mb19zbXN0ZXN0Jyl9PC9wPgp7JGZvcm1zdGFydF90ZXN0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncGhvbmVfbnVtYmVyJyl9OjwvcD4KIDxwIGNsYXNzPSJwYWdlaW5wdXQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW1vYmlsZSIgc2l6ZT0iMjAiIG1heGxlbmd0aD0iMjAiIC8+PC9wPgo8L2Rpdj4KPGJyIC8+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iIC8+PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQp7JGVuZHRhYn0KCnskdGFic3RhcnRfbW9iaWxlc30Ke2lmICFlbXB0eSgkbnVtYmVycyl9PHRhYmxlIGNsYXNzPSJwYWdldGFibGUiIHN0eWxlPSJib3JkZXI6MDsiPgogPHRoZWFkPjx0cj4KICA8dGg+eyRtb2QtPkxhbmcoJ2lkJyl9PC90aD4KICA8dGg+eyR0aXRsZW5hbWV9PC90aD4Ke2lmICRwbW9kfSA8dGg+eyRtb2QtPkxhbmcoJ251bWJlcicpfTwvdGg+CiAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPnsvaWZ9CiA8L3RyPjwvdGhlYWQ+CiA8dGJvZHk+Cntmb3JlYWNoIGZyb209JG51bWJlcnMgaXRlbT1vbmV9CntjeWNsZSBuYW1lPXBob25lcyB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgPHRkPnskb25lLT5pZH08L3RkPgogICA8dGQ+eyRvbmUtPm5hbWV9PC90ZD4KICAgPHRkPnskb25lLT5tb2JpbGV9PC90ZD4Ke2lmICRwbW9kfSA8dGQ+eyRvbmUtPmVkaXRsaW5rfTwvdGQ+CiAgIDx0ZD57JG9uZS0+ZGVsZXRlbGlua308L3RkPnsvaWZ9CiAgPC90cj4Key9mb3JlYWNofQogPC90Ym9keT4KPC90YWJsZT57ZWxzZX0KPHA+eyRub251bWJlcnN9PC9wPgp7L2lmfXsqJG51bWJlcnMqfQp7aWYgJHBtb2R9PGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgp7JGFkZF9tb2JpbGV9CjwvZGl2PnsvaWZ9CnskZW5kdGFifQp7L2lmfXsqJHBtb2R8fCRwdXNlKn0KCntpZiAoJHB0cGx8fCAkcHVzZSl9CnskdGFic3RhcnRfZW50ZXJudW1iZXJ9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cjx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KIDx0aGVhZD48dHI+CiAgPHRoPnskdGl0bGVuYW1lfTwvdGg+CiAgPHRoPnskdGl0bGVkZWZhdWx0fTwvdGg+CntpZiAkcHRwbH08dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+ey9pZn0KIDwvdHI+PC90aGVhZD4KIDx0Ym9keT4Ke2ZvcmVhY2ggZnJvbT0kZW50ZXJudW1iZXJfaXRlbXMgaXRlbT1vbmV9CntjeWNsZSBuYW1lPW51bXRwbCB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgPHRkPnskb25lLT5uYW1lfTwvdGQ+CiAgIDx0ZD57JG9uZS0+ZGVmYXVsdH08L3RkPgp7aWYgJHB0cGx9IDx0ZD57JG9uZS0+ZWRpdGxpbmt9PC90ZD4KICAgPHRkPnskb25lLT5kZWxldGVsaW5rfTwvdGQ+ey9pZn0KICA8L3RyPgp7L2ZvcmVhY2h9CiA8L3Rib2R5Pgo8L3RhYmxlPgp7aWYgJHB0cGx9PGJyIC8+CjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRfZW50ZXJudW1iZXJfdGVtcGxhdGV9PC9wPnsvaWZ9eyokcHRwbCp9CjwvZGl2Pgp7JGVuZHRhYn0KeyR0YWJzdGFydF9lbnRlcnRleHR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cjx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KIDx0aGVhZD48dHI+CiAgPHRoPnskdGl0bGVuYW1lfTwvdGg+CiAgPHRoPnskdGl0bGVkZWZhdWx0fTwvdGg+CntpZiAkcHRwbH0gPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPnsvaWZ9CiA8L3RyPjwvdGhlYWQ+CiA8dGJvZHk+Cntmb3JlYWNoIGZyb209JGVudGVydGV4dF9pdGVtcyBpdGVtPW9uZX0Ke2N5Y2xlIG5hbWU9dGV4dHRwbCB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgPHRkPnskb25lLT5uYW1lfTwvdGQ+CiAgIDx0ZD57JG9uZS0+ZGVmYXVsdH08L3RkPgp7aWYgJHB0cGx9IDx0ZD57JG9uZS0+ZWRpdGxpbmt9PC90ZD4KICAgPHRkPnskb25lLT5kZWxldGVsaW5rfTwvdGQ+ey9pZn0KICA8L3RyPgp7L2ZvcmVhY2h9CiA8L3Rib2R5Pgo8L3RhYmxlPgp7aWYgJHB0cGx9PGJyIC8+CjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRfZW50ZXJ0ZXh0X3RlbXBsYXRlfTwvcD57L2lmfXsqJHB0cGwqfQo8L2Rpdj4KeyRlbmR0YWJ9CnsvaWZ9eyokcHRwbHx8JHB1c2UqfQoKe2lmICRwYWRtfQp7JHRhYnN0YXJ0X3NlY3VyaXR5fQp7JGZvcm1zdGFydF9zZWN1cml0eX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9ob3VybHlfbGltaXQnKX06PC9wPgogPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9aG91cmxpbWl0IiB2YWx1ZT0ieyRob3VybGltaXR9IiBzaXplPSIzIiBtYXhsZW5ndGg9IjMiIC8+CiA8L3A+CiA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZGFpbHlfbGltaXQnKX06PC9wPgogPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZGF5bGltaXQiIHZhbHVlPSJ7JGRheWxpbWl0fSIgc2l6ZT0iMyIgbWF4bGVuZ3RoPSI0IiAvPgogPC9wPgogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2xvZ19zZW5kcycpfTo8L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9bG9nc2VuZHMie2lmICRsb2dzZW5kc30gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgogPC9wPgogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2xvZ19yZXRhaW5fZGF5cycpfTo8L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1sb2dkYXlzIiB2YWx1ZT0ieyRsb2dkYXlzfSIgc2l6ZT0iMiIgbWF4bGVuZ3RoPSIzIiAvPgogPC9wPgogPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2xvZ19kZWxpdmVycycpfTo8L3A+CiA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9bG9nZGVsaXZlcmllcyJ7aWYgJGxvZ2RlbGl2ZXJpZXN9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KIDwvcD4KIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9tYXN0ZXJfcGFzc3dvcmQnKX06PC9wPgogPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJ7JGFjdGlvbmlkfW1hc3RlcnBhc3MiIHZhbHVlPSJ7JG1hc3RlcnBhc3N9IiBzaXplPSIyMCIgbWF4bGVuZ3RoPSI2NCIgLz4KIDwvcD4KIDxiciAvPgogPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9IiAvPgogPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQp7JGVuZHRhYn0Key9pZn17KiRwYWRtKn0KeyRlbmR0YWJjb250ZW50fQo=]]></data>
	</file>
	<file>
	  <filename>/templates/edit_mobile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdhZGRlZGl0X21vYmlsZScpfTwvaDM+CnskZm9ybXN0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ25hbWUnKX08L3A+IAogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9bmFtZSIgdmFsdWU9InskbmFtZX0iIHNpemU9IjI1IiBtYXhsZW5ndGg9IjI1IiAvPgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Bob25lX251bWJlcicpfTwvcD4gCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1tb2JpbGUiIHZhbHVlPSJ7JG1vYmlsZX0iIHNpemU9IjI1IiBtYXhsZW5ndGg9IjI1IiAvPgogIDwvcD4KPC9kaXY+CjxiciAvPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9IiAvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9IiAvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0K]]></data>
	</file>
	<file>
	  <filename>/templates/enternumber_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZGVmYXVsdCBlbnRlci1udW1iZXIgdGVtcGxhdGUgKn0KPGRpdiBjbGFzcz0ic21zZ19lbnRlcm51bWJlciI+CntpZiAhZW1wdHkoJGVycm9yKX08cCBjbGFzcz0iZXJyb3Jtc2ciPnskZXJyb3J9PC9wPnsvaWZ9CntpZiAhZW1wdHkoJG1lc3NhZ2UpfTxwIGNsYXNzPSJpbmZvbXNnIj57JG1lc3NhZ2V9PC9wPnsvaWZ9CnskZm9ybXN0YXJ0fQp7aWYgIWVtcHR5KCRnYXRlbmFtZSl9PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1nYXRlbmFtZSIgdmFsdWU9InskZ2F0ZW5hbWV9IiAvPnsvaWZ9CiA8ZGl2IGNsYXNzPSJyb3ciPgogIDxwIGNsYXNzPSJsZWZ0Y29sIj57JG1vZC0+TGFuZygnZW50ZXJfbW9iaWxlX251bWJlcicpfTo8L3A+CiAgPHAgY2xhc3M9InJpZ2h0Y29sIj4KICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9c21zZ19tb2JpbGUiIHZhbHVlPSIiIHNpemU9IjE0IiBtYXhsZW5ndGg9IjE0IiAvPgogIDwvcD4KIDwvZGl2PgogPGJyIC8+CiA8cCBjbGFzcz0icmlnaHRjb2wiPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c21zZ19zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc2VuZCcpfSIgLz4KIDwvcD4KeyRmb3JtZW5kfQo8L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/templates/entertext_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZGVmYXVsdCBlbnRlci10ZXh0IHRlbXBsYXRlICp9CjxkaXYgaWQ9InNtc2dfZW50ZXJ0ZXh0Ij4Ke2lmICFlbXB0eSgkZXJyb3IpfTxwIGNsYXNzPSJlcnJvcm1zZyI+eyRlcnJvcn08L3A+ey9pZn0Ke2lmICFlbXB0eSgkbWVzc2FnZSl9PHAgY2xhc3M9ImluZm9tc2ciPnskbWVzc2FnZX08L3A+ey9pZn0KeyRmb3Jtc3RhcnR9CntpZiAhZW1wdHkoJGdhdGVuYW1lKX08aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWdhdGVuYW1lIiB2YWx1ZT0ieyRnYXRlbmFtZX0iIC8+ey9pZn0KIDx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfXNtc2dfc21zdGV4dCIgaWQ9InNtc2dfZW50ZXJ0ZXh0IiByb3dzPSI0IiBjb2xzPSI0MCIgb25rZXlwcmVzcz0ic21zZ19lbnRlcnRleHRfb25jaGFuZ2UoKTsiPnskc21zdGV4dH08L3RleHRhcmVhPgogPGJyIC8+PGJyIC8+CiA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0ic21zZ19lbnRlcnRleHRfc3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXNtc2dfc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIgLz4KIDxzcGFuIGlkPSJzbXNnX2NoYXJzbGVmdCI+eyRtYXhzbXNjaGFyc308L3NwYW4+CnskZm9ybWVuZH0KPC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLy88IVtDREFUQVt7bGl0ZXJhbH0KdmFyIHN0ID0gbnVsbCwgY2wgPSBudWxsOwpmdW5jdGlvbiBzbXNnX2VudGVydGV4dF9vbmNoYW5nZSgpIHsKIGlmKHN0ID09IG51bGwpIHN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Ntc2dfZW50ZXJ0ZXh0Jyk7CiB2YXIgY2hhcnNsZWZ0ID0gey9saXRlcmFsfXskbWF4c21zY2hhcnN9e2xpdGVyYWx9IC0gc3QudmFsdWUubGVuZ3RoOwogaWYoY2hhcnNsZWZ0IDwgMCkgcmV0dXJuIGZhbHNlOwogaWYoY2wgPT0gbnVsbCkgY2wgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc21zZ19jaGFyc2xlZnQnKTsKIGNsLmlubmVySFRNTCA9IGNoYXJzbGVmdDsKIHJldHVybiB0cnVlOwp9Ci8vXV0+ey9saXRlcmFsfQo8L3NjcmlwdD4K]]></data>
	</file>
	<file>
	  <filename>/templates/gatedata_admin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGZpZWxkc2V0Pgo8bGVnZW5kPnskZ2F0ZXRpdGxlfTwvbGVnZW5kPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciIHN0eWxlPSJtYXJnaW4tdG9wOjA7Ij4KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUgZ2F0ZWRhdGEiIHN0eWxlPSJtYXJnaW4tdG9wOjA7Ij4KPHRoZWFkPjx0cj4KPHRoPnskdGl0bGVfdGl0bGV9PC90aD4KPHRoPnskdGl0bGVfdmFsdWV9PC90aD4KPHRoPnskdGl0bGVfZW5jcnlwdH08L3RoPgo8dGg+eyR0aXRsZV9hcGluYW1lfTwvdGg+Cjx0aD57JHRpdGxlX2VuYWJsZWR9PC90aD4KPHRoPnskdGl0bGVfaGVscH08L3RoPgo8dGg+eyR0aXRsZV9zZWxlY3R9PC90aD4KPC90cj48L3RoZWFkPgo8dGJvZHk+Cntmb3JlYWNoIGZyb209JGRhdGEgaXRlbT1vbmUgbmFtZT1ibG9ja30Ke2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249cm93Y2xhc3N9Cjx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+Cjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH17JG9uZS0+c3BhY2V9dGl0bGUiIHNpemU9IjE1IiB2YWx1ZT0ieyRvbmUtPnRpdGxlfSIgLz48L3RkPgo8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9eyRvbmUtPnNwYWNlfXZhbHVlIiBzaXplPSJ7aWYgIWVtcHR5KCRvbmUtPnNpemUpfXskb25lLT5zaXplfXtlbHNlfTE1ey9pZn0iIHZhbHVlPSJ7JG9uZS0+dmFsdWV9IiAvPjwvdGQ+Cjx0ZD48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9eyRvbmUtPnNwYWNlfWVuY3J5cHQie2lmICRvbmUtPmVuY3J5cHR9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz48L3RkPgo8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9eyRvbmUtPnNwYWNlfWFwaW5hbWUiIHNpemU9IjE1IiB2YWx1ZT0ieyRvbmUtPmFwaW5hbWV9IiAvPjwvdGQ+Cjx0ZD48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9eyRvbmUtPnNwYWNlfWVuYWJsZWQie2lmICRvbmUtPmVuYWJsZWR9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz48L3RkPgo8dGQ+e2lmICFlbXB0eSgkb25lLT5oZWxwKX17JG9uZS0+aGVscH0+ey9pZn08L3RkPgo8dGQ+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfXskb25lLT5zcGFjZX1zZWwiIC8+PC90ZD4KPC90cj4Key9mb3JlYWNofQo8L3Rib2R5Pgo8L3RhYmxlPgo8YnIgLz4KeyRoZWxwfQo8YnIgLz48YnIgLz4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgp7JGFkZGl0ZW19CntpZiAkZGNvdW50fTxkaXYgc3R5bGU9Im1hcmdpbjowO2Zsb2F0OnJpZ2h0O3RleHQtYWxpZ246cmlnaHQiPnskYnRuZGVsZXRlfTwvZGl2Pgo8ZGl2IHN0eWxlPSJmbG9hdDpjbGVhciI+PC9kaXY+ey9pZn0KPC9kaXY+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9eyRzcGFjZX1+Z2F0ZV9pZCIgdmFsdWU9InskZ2F0ZWlkfSIgLz4Ke2lmICFlbXB0eSgkaGlkZGVuKX17JGhpZGRlbn17L2lmfQo8L2ZpZWxkc2V0Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/gatedata_mod.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGZpZWxkc2V0Pgo8bGVnZW5kPnskZ2F0ZXRpdGxlfTwvbGVnZW5kPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciIHN0eWxlPSJtYXJnaW4tdG9wOjA7Ij4Ke2ZvcmVhY2ggZnJvbT0kZGF0YSBpdGVtPW9uZSBuYW1lPWJsb2NrfQogPHAgY2xhc3M9InBhZ2V0ZXh0IntpZiAkc21hcnR5LmZvcmVhY2guYmxvY2suZmlyc3R9IHN0eWxlPSJtYXJnaW4tdG9wOjA7InsvaWZ9Pnskb25lLT50aXRsZX08L3A+CntpZiAkb25lLT5hcGluYW1lfTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+CiAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9eyRvbmUtPnNwYWNlfXZhbHVlIiBzaXplPSJ7aWYgIWVtcHR5KCRvbmUtPnNpemUpfXskb25lLT5zaXplfXtlbHNlfTE1ey9pZn0iIHZhbHVlPSJ7JG9uZS0+dmFsdWV9IiAvPgogIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9eyRvbmUtPnNwYWNlfWVuY3J5cHQiIHZhbHVlPSJ7JG9uZS0+ZW5jcnlwdH0iIC8+CiA8L2Rpdj57L2lmfQp7aWYgIWVtcHR5KCRvbmUtPmhlbHApfTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb25lLT5oZWxwfTwvcD57L2lmfQp7L2ZvcmVhY2h9CjwvZGl2Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfXskc3BhY2V9fmdhdGVfaWQiIHZhbHVlPSJ7JGdhdGVpZH0iIC8+CntpZiAhZW1wdHkoJGhpZGRlbil9eyRoaWRkZW59ey9pZn0KPC9maWVsZHNldD4K]]></data>
	</file>
	<file>
	  <filename>/templates/gatedata_use.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHRkPnskZ2F0ZXRpdGxlfTwvdGQ+Cjx0ZD57JGRlZmF1bHR9PC90ZD4K]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
</module>
