<?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>Widgets</name>
	<version>1.2</version>
    <mincmsversion>2.2.8</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQo8cD4nV2lkZ2V0cycgcHJvdmlkZXMgY29udGVudCBibG9ja3MgdGhhdCBjYW4gYmUgZWFzaWx5IHNob3duIGFjcm9zcyBtdWx0aXBsZSBwYWdlcy4gVGhlICdXaWRnZXQnIGNhbiBiZSBjcmVhdGVkL2VkaXRlZCBvbmNlLCBhbmQgYWRkZWQgdG8gbXVsdGlwbGUgcGFnZXMuIEluY2x1ZGVzIGEgZHJhZy1uLWRyb3Agc2VsZWN0aW9uIG9mIGF2YWlsYWJsZSBXaWRnZXRzIHdpdGhpbiBjb250ZW50IHBhZ2VzLjwvcD48YnI+DQo8cD5FYWNoIFdpZGdldCBpbmNsdWRlcyBhbiBvcHRpb25hbCBoZWFkaW5nIGFuZCBhIHNpbXBsZSBvcHRpb24gZm9yIGxpbmtpbmcgdG8gb3RoZXIgY29udGVudCBwYWdlcy4gRXhhbXBsZXMgb2YgdXNlOiBXaWRnZXRzIHRoYXQgY2FuIGJlIG9wdGlvbmFsbHkgcGxhY2VkIGluIHRoZSBzaWRlYmFyIG9mIGJvdHRvbSBvZiBjb250ZW50IHBhZ2VzLCBjb21tb25seSB1c2VkIGFzIGUuZy4gTGF0ZXN0IE5ld3MsIFNpZGViYXIgRW5xdWlyeSBGb3JtLCBTb2NpYWwgTWVkaWEgU2hhcmluZyBMaW5rcywgQ3VzdG9tZXIgUmV2aWV3cywgLi4uPC9wPg0KPGJyPg0KDQo8aDM+R2V0dGluZyBTdGFydGVkPC9oMz4NCjxwPjEuIEFkZCB0aGUgZm9sbG93aW5nIHRhZyBhdCB0aGUgdG9wIG9mIGEgcGFnZSB0ZW1wbGF0ZSwgKHRoaXMgY3JlYXRlcyB0aGUgZHJhZy1uLWRyb3AgZmllbGRzIGluIHRoZSBDb250ZW50IE1hbmFnZXIgcGFnZSk6PC9wPg0KPHByZT57Y29udGVudF9tb2R1bGUgbW9kdWxlPSdXaWRnZXRzJyBibG9jaz0ndGVzdDEnIGFzc2lnbj10ZXN0MX17JHRlc3QxPSR0ZXN0MSBzY29wZT1nbG9iYWx9PC9wcmU+DQo8cD4yLiBXaXRoaW4gdGhlIGh0bWwgYm9keSAoZS5nLiBpbiBhIHNpZGViYXIgY29sdW1uKSwgYWRkIHRoZSBmb2xsb3dpbmcuIChUaGlzIGdlbmVyYXRlcyB0aGUgb3V0cHV0IG9mIHRoZSBzZWxlY3RlZCBXaWRnZXRzIHVzaW5nIHRoZSBXaWRnZXQgdGVtcGxhdGUsIGVpdGhlciBkZWZhdWx0IG9yIHNwZWNpZmllZCk6PC9wPg0KPHByZT57V2lkZ2V0cyBpdGVtcz0kdGVzdDF9PC9wcmU+DQo8cD4zLiBBZGQgYSBmZXcgdGVzdCBXaWRnZXRzIHdpdGggZHVtbXkgY29udGVudCwgYW5kIHZpZXcgYSBwYWdlIHVzaW5nIHRoYXQgdGVtcGxhdGUgaW4gQ29udGVudCBNYW5hZ2VyLCBhbmQgb24gdGhlIGZyb250IGVuZC48L3A+PGJyPg0KPHA+NC4gU2V0IEdyb3VwIFBlcm1pc3Npb25zIGZvciB0aGlzIG1vZHVsZSBpZiB5b3UgaW50ZW5kIEVkaXRvcnMgb3Igb3RoZXIgZ3JvdXBzIHRvIGVkaXQgV2lkZ2V0cy48L3A+DQo8YnI+DQoNCjxoMz5Db250ZW50IEJsb2NrIHBhcmFtZXRlcnM8L2gzPg0KPHA+dGhlIGZvbGxvd2luZyBvcHRpb25zIGNhbiBiZSBpbmNsdWRlZCBpbiB0aGUgJ1dpZGdldHMnIGNvbnRlbnRfbW9kdWxlIHRhZy4gTWluaW11bSByZXF1aXJlZCBpczo8L3A+DQo8cHJlPntjb250ZW50X21vZHVsZSBtb2R1bGU9J1dpZGdldHMnIGJsb2NrPSd0ZXN0MSd9PC9wcmU+DQo8dWw+DQogICA8bGk+KHJlcXVpcmVkKSBtb2R1bGU9J1dpZGdldHMnIC0gdGVsbHMgQ01TTVMgdG8gcGFzcyB0aGVzZSBkZXRhaWxzIHRvIHRoZSBXaWRnZXRzIG1vZHVsZSo8L2xpPg0KICAgPGxpPihyZXF1aXJlZCkgYmxvY2sgLSB0aGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jaywgdGhhdCBzdG9yZXMgdGhlIHNlbGVjdGVkIFdpZGdldHMqPC9saT4NCiAgIDxsaT4ob3B0aW9uYWwpIGxhYmVsIC0gYSBsYWJlbCBmb3IgdGhlIGNvbnRlbnQgYmxvY2sgZm9yIHVzZSB3aGVuIGVkaXRpbmcgdGhlIHBhZ2UqPC9saT4NCiAgIDxsaT4ob3B0aW9uYWwpIGNhdGVnb3J5IC0gc3BlY2lmeSB0aGUgY2F0ZWdvcnkgb2YgV2lkZ2V0cyBhdmFpbGFibGUgZm9yIHNlbGVjdGlvbiAoZGVmYXVsdCBpcyBhbGwgV2lkZ2V0cyk8L2xpPg0KICAgPGxpPihvcHRpb25hbCkgZGVzY3JpcHRpb24gLSBhbiBhZGRpdGlvbmFsIHRleHQgZGVzY3JpcHRpb24gZm9yIGluc3RydWN0aW9ucyB0byBlZGl0b3JzPC9saT4NCiAgIDxsaT4ob3B0aW9uYWwpIGxhYmVsX2xlZnQgLSBhbHRlcm5hdGl2ZSBsYWJlbCBmb3IgdGhlIGxlZnQgc2V0IG9mICdTZWxlY3RlZCBXaWRnZXRzJzwvbGk+DQogICA8bGk+KG9wdGlvbmFsKSBsYWJlbF9yaWdodCAtIGFsdGVybmF0aXZlIGxhYmVsIGZvciB0aGUgcmlnaHQgc2V0IG9mICdBdmFpbGFibGUgV2lkZ2V0cyc8L2xpPg0KICAgPGxpPihvcHRpb25hbCkgdGFiIC0gdGhlIGRlc2lyZWQgdGFiIHRvIGRpc3BsYXkgdGhpcyBmaWVsZCBvbiB0aGUgQ29udGVudCBNYW5hZ2VyIHBhZ2UqPC9saT4NCiAgIDxsaT4ob3B0aW9uYWwpIGFzc2lnbiAoc3RyaW5nKSAtIGFzc2lnbnMgdGhlIHJlc3VsdCB0byBhIHNtYXJ0eSB2YXJpYWJsZSB3aXRoIHRoYXQgbmFtZSo8L2xpPg0KPC91bD4NCjxwPjxzbWFsbD4oKiA9IGFzIHBlciBkZWZhdWx0IGNvbnRlbnRfbW9kdWxlIHRhZyApPC9zbWFsbD48L3A+DQo8YnI+DQoNCjxoMz5XaWRnZXRzIE91dHB1dDwvaDM+DQo8cD50aGUgZm9sbG93aW5nIG9wdGlvbnMgY2FuIGJlIGluY2x1ZGVkIGluIHRoZSAnV2lkZ2V0cycgdGFnLCB0byBvdXRwdXQgdGhlIHNlbGVjdGVkIFdpZGdldHMuIE1pbmltdW0gcmVxdWlyZWQgaXM6PC9wPg0KPHByZT57V2lkZ2V0c308L3ByZT4NCjxwPlNlZSA8c3Ryb25nPlBhcmFtZXRlcnM8L3N0cm9uZz4gYmVsb3cgZm9yIHBvc3NpYmxlIHBhcmFtZXRlcnMuPC9wPg0KPGJyPg0KDQo8aDM+UGVybWlzc2lvbnM8L2gzPg0KPHA+UGVybWlzc2lvbnMgZXhpc3QgdG86PC9wPg0KPHVsPg0KICAgPGxpPldpZGdldHMgLSBVc2UgLSBjYW4gY3JlYXRlLCBlZGl0LCBkZWxldGUgV2lkZ2V0cyAmYW1wOyBDYXRlZ29yaWVzPC9saT4NCiAgIDxsaT5XaWRnZXRzIC0gTWFuYWdlIC0gYXMgYWJvdmUsIHBsdXMgY2FuIHNldCBPcHRpb25zPC9saT4NCjwvdWw+PGJyPg0KDQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5BcyBwZXIgdGhlIEdQTCBsaWNlbmNlLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzIGlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci4NClRoZSBtb2R1bGUgYXV0aG9yIGlzIG5vdCBvYmxpZ2F0ZWQgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciB0aGlzIGNvZGUuIEhvd2V2ZXIgeW91IG1pZ2h0IGdldCBzdXBwb3J0IHRocm91Z2ggdGhlIGZvbGxvd2luZzo8L3A+DQo8dWw+DQogICA8bGk+Rm9yIHN1cHBvcnQsIGZpcnN0IDxzdHJvbmc+c2VhcmNoPC9zdHJvbmc+IHRoZSA8YSBocmVmPSIvL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW08L2E+LCBmb3IgaXNzdWVzIHdpdGggdGhlIG1vZHVsZSBzaW1pbGFyIHRvIHRob3NlIHlvdSBhcmUgZmluZGluZy48L2xpPg0KICAgPGxpPlRoZW4sIGlmIG5lY2Vzc2FyeSwgb3BlbiBhIDxzdHJvbmc+bmV3IGZvcnVtIHRvcGljPC9zdHJvbmc+IHRvIHJlcXVlc3QgaGVscCwgd2l0aCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQuPC9saT4NCiAgIDxsaT5JZiB5b3UgZmluZCBhIGJ1ZyB5b3UgY2FuIDxhIGhyZWY9Ii8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2J1Zy9saXN0LzEzODMiPnN1Ym1pdCBhIEJ1ZyBSZXBvcnQ8L2E+LjwvbGk+DQogICA8bGk+Rm9yIGFueSBnb29kIGlkZWFzIHlvdSBjYW4gPGEgaHJlZj0iLy9kZXYuY21zbWFkZXNpbXBsZS5vcmcvZmVhdHVyZV9yZXF1ZXN0L2xpc3QvMTM4MyI+c3VibWl0IGEgRmVhdHVyZSBSZXF1ZXN0PC9hPi48L2xpPg0KICAgPGxpPklmIHlvdSBmb3VuZCB0aGUgTW9kdWxlIHVzZWZ1bCAtIHNob3V0IG91dCB0byBtZSBvbiBUd2l0dGVyIDxhIGhyZWY9Ii8vdHdpdHRlci5jb20vS2l3aUNocmlzQlQiPkBLaXdpQ2hyaXNCVDwvYT48L2xpPg0KPC91bD48YnI+DQoNCjxoMz5Db3B5cmlnaHQgJmFtcDsgTGljZW5jZTwvaDM+DQo8cD5Db3B5cmlnaHQgwqkgMjAxNiwgQ2hyaXMgVGF5bG9yIDxjaHJpcyBhdCBiaW5ub3ZhdGl2ZSBkb3QgY28gZG90IHVrPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPjxicj4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgUHVibGljIExpY2Vuc2UgdjMuIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiBZb3UgbWF5IG9ubHkgdXNlIHRoaXMgc29mdHdhcmUgd2hlbiB0aGVyZSBpcyBhIGNsZWFyIGFuZCBvYnZpb3VzIGluZGljYXRpb24gaW4gdGhlIGFkbWluIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBTaW1wbGUhPC9wPjxicj4NCjxwPkluc3BpcmVkIGJ5OiBHbG9iYWwgQ29udGVudCBCbG9ja3MsIExJU0UsIEVDQiBhbmQgQ0dFeHRlbnNpb25zLjwvcD48YnI+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB3aWQ9IiIgLSBTcGVjaWZ5IGFuIGlkIChpbnRlZ2VyKSBvZiBhIHdpZGdldCB0byBkaXNwbGF5PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB0ZW1wbGF0ZT0iIiAtIFNwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIFdpZGdldCB0ZW1wbGF0ZSB0byB1c2UuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjYXRlZ29yeT0iIiAtIFNwZWNpZnkgYW4gYWxpYXMgb2YgdGhlIGNhdGVnb3J5IGRpc3BsYXllZCBpdGVtcyBtdXN0IGJlIGEgbWVtYmVyIG9mLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaXRlbXM9IiIgLSBTcGVjaWZ5IGFuIGFsaWFzIG9yIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIFdpZGdldCBhbGlhc2VzIHRvIGJlIGRpc3BsYXllZC48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBDaHJpcyBUYXlsb3IgJmx0O2NocmlzQGJpbm5vdmF0aXZlLmNvLnVrJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMjxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4NCiAgIDxsaT48c3Ryb25nPlZlcnNpb24gMS4yPC9zdHJvbmc+IC0gMTZTZXAxOA0KICAgICAgPHVsPg0KICAgICAgICAgPGxpPkFkZGVkIGFuIG9wdGlvbmFsICdpbWFnZScgZm9yIGVhY2ggV2lkZ2V0LiBVc2VzIGVpdGhlciBKTUZpbGVQaWNrZXIgb3IgdGhlIGNvcmUgRmlsZVBpY2tlciB0byBzZWxlY3QgJiB1cGxvYWQgaW1hZ2VzPC9saT4NCiAgICAgICAgIDxsaT5VcGRhdGVkIHRoZSBkZWZhdWx0IHRlbXBsYXRlPC9saT4NCiAgICAgICAgIDxsaT5idWcgZml4IGZvciBlbXB0eSBzdHlsZXM8L2xpPg0KICAgICAgICAgPGxpPkZSIzExNjEwIC0gQ2xlYW4gJGl0ZW1zIGJlZm9yZSBwYXNzaW5nIHRvIHNtYXJ0eSB0ZW1wbGF0ZTwvbGk+DQogICAgICA8L3VsPg0KICAgPC9saT4NCiAgIDxsaT48c3Ryb25nPlZlcnNpb24gMS4xPC9zdHJvbmc+IC0gMDJEZWMxNg0KICAgICAgPHVsPg0KICAgICAgICAgPGxpPkFkZGVkIG9wdGlvbiB0byBkaXNhYmxlIFdZU0lXWUcgZm9yIGVhY2ggV2lkZ2V0PC9saT4NCiAgICAgICAgIDxsaT5BZGRlZCBBcHBseSBvcHRpb24gd2hlbiBlZGl0aW5nIGEgV2lkZ2V0PC9saT4NCiAgICAgIDwvdWw+DQogICA8L2xpPg0KICAgPGxpPjxzdHJvbmc+VmVyc2lvbiAxLjA8L3N0cm9uZz4gLSAwMURlYzE2DQogICAgICA8dWw+DQogICAgICAgICA8bGk+SW5pdGlhbCBtb2R1bGUgcmVsZWFzZTwvbGk+DQogICAgICA8L3VsPg0KICAgPC9saT4NCjwvdWw+PGJyIC8+]]></about>
	<description><![CDATA[A module for managing and displaying Widgets - blocks of content that can be added to many pages]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_converter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFdpZGdldHM6OlVTRV9QRVJNKSApIHJldHVybjsNCg0KJHBhcm1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdjb252ZXJ0ZXInKTsNCg0KaWYoaXNzZXQoJHBhcmFtc1snaW1wb3J0X2Zyb21fTElTRVdpZGdldHMnXSkpIHsNCiAgIC8vDQogICAkbW9kX3ByZWZpeCA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlXyc7DQogICAkdGFibGVfbGlzdCA9IGFycmF5KCd3aWRnZXRzJywgJ3dpZGdldHNfY2F0ZWdvcnknKTsNCiAgICRkYiA9IGNtc21zKCktPkdldERiKCk7DQoNCiAgIC8vIHJlbW92ZSBhbGwgY3VycmVudCBXaWRnZXRzICYgY2F0ZWdvcmllcw0KICAgZm9yZWFjaCgkdGFibGVfbGlzdCBhcyAkb25lKSB7DQogICAgICAkc3FsID0gJ0RFTEVURSBGUk9NICcuJG1vZF9wcmVmaXguJG9uZTsNCiAgICAgICRyZXMgPSAkZGItPkV4ZWN1dGUoJHNxbCk7DQoNCiAgICAgIGlmKCEkcmVzKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCAkZGItPkVycm9yTXNnKCkgKTsNCiAgIH0NCg0KICAgLy8gYWRkIGNhdGVnb3JpZXMgZnJvbSBMSVNFV2lkZ2V0cw0KICAgJHNxbCA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3dpZGdldHNfY2F0ZWdvcnkgKGNhdGVnb3J5X2lkLCBjYXRlZ29yeV9uYW1lLCBjYXRlZ29yeV9hbGlhcykNCiAgICAgIFNFTEVDVCBjYXRlZ29yeV9pZCwgY2F0ZWdvcnlfbmFtZSwgY2F0ZWdvcnlfYWxpYXMgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2xpc2V3aWRnZXRzX2NhdGVnb3J5JzsNCiAgICRyZXMgPSAkZGItPkV4ZWN1dGUoJHNxbCk7DQogICBpZighJHJlcykgdGhyb3cgbmV3IEV4Y2VwdGlvbiggJGRiLT5FcnJvck1zZygpICk7DQogICAvLyBzZXQgZGVmYXVsdCBjYXRlZ29yeQ0KICAgJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV93aWRnZXRzX2NhdGVnb3J5IFNFVCBkZWZhdWx0X2NhdGVnb3J5ID0gIjEiIExJTUlUIDEnOw0KICAgJHJlcyA9ICRkYi0+RXhlY3V0ZSgkc3FsKTsNCiAgIGlmKCEkcmVzKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCAkZGItPkVycm9yTXNnKCkgKTsNCg0KICAgJHNxbCA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3dpZGdldHMgKHRpdGxlLCBhbGlhcywgcG9zaXRpb24sIGFjdGl2ZSwgY2F0ZWdvcnlfaWQpDQogICAgICBTRUxFQ1QgTFcudGl0bGUsIExXLmFsaWFzLCBMVy5wb3NpdGlvbiwgTFcuYWN0aXZlLCBMQ0FULmNhdGVnb3J5X2lkDQogICAgICBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfbGlzZXdpZGdldHNfaXRlbSBBUyBMVw0KICAgICAgTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfbGlzZXdpZGdldHNfaXRlbV9jYXRlZ29yaWVzIEFTIExDQVQNCiAgICAgICAgIE9OIExXLml0ZW1faWQ9TENBVC5pdGVtX2lkJzsNCiAgICRyZXMgPSAkZGItPkV4ZWN1dGUoJHNxbCk7DQogICBpZighJHJlcykgdGhyb3cgbmV3IEV4Y2VwdGlvbiggJGRiLT5FcnJvck1zZygpICk7DQoNCiAgIC8vIGZpZWxkTWFwIC0gYXJyYXkgb2YgV2lkZ2V0IGZpZWxkIG5hbWVzID0+IExJU0UgRmllbGQgVmFsdWUgYWxpYXNlcw0KICAgJGZpZWxkTWFwID0gYXJyYXkoJ2hlYWRpbmcnPT4naGVhZGluZycsICdjb250ZW50Jz0+J2NvbnRlbnQnLCAnbGlua190byc9PidsaW5rX3RvJywgJ2xpbmtfdGV4dCc9PidsaW5rX3RleHQnLCAnaW1hZ2UnPT4naW1hZ2UnKTsNCiAgIGZvcmVhY2ggKCRmaWVsZE1hcCBhcyAkd2lkZ2V0RmllbGQgPT4gJExJU0VGaWVsZCkgew0KICAgICAgJHNxbCA9ICdVUERBVEUgY21zX21vZHVsZV93aWRnZXRzIEFTIFcNCiAgICAgICAgIEpPSU4gY21zX21vZHVsZV9saXNld2lkZ2V0c19pdGVtIEFTIExXDQogICAgICAgICAgICBPTiBXLmFsaWFzPUxXLmFsaWFzDQogICAgICAgICBKT0lOIGNtc19tb2R1bGVfbGlzZXdpZGdldHNfZmllbGR2YWwgQVMgTEZWDQogICAgICAgICAgICBPTiBMVy5pdGVtX2lkPUxGVi5pdGVtX2lkDQogICAgICAgICBKT0lOIGNtc19tb2R1bGVfbGlzZXdpZGdldHNfZmllbGRkZWYgQVMgTEZEDQogICAgICAgICAgICAgICBPTiBMRlYuZmllbGRkZWZfaWQ9TEZELmZpZWxkZGVmX2lkDQogICAgICAgICBTRVQgVy4nLiR3aWRnZXRGaWVsZC4nPUxGVi52YWx1ZQ0KICAgICAgICAgV0hFUkUgTEZELmFsaWFzPT8nOw0KICAgICAgJHJlcyA9ICRkYi0+RXhlY3V0ZSgkc3FsLCBhcnJheSgkTElTRUZpZWxkKSApOw0KICAgICAgaWYoISRyZXMpIHRocm93IG5ldyBFeGNlcHRpb24oICRkYi0+RXJyb3JNc2coKSApOw0KICAgfQ0KDQogICAvLyBjb21iaW5lIG11bHRpcGxlIExJU0Ugc3R5bGVzIHJlY29yZHMgaW50byBvbmUgY29tbWEgc2VwYXJhdGVkIHRleHQgZmllbGQgJ3N0eWxlX29wdGlvbnMnDQogICAkc3FsID0gJ1NFTEVDVCBMVy5hbGlhcyxMRlYudmFsdWUgRlJPTSBjbXNfbW9kdWxlX3dpZGdldHMgQVMgVw0KICAgICAgSk9JTiBjbXNfbW9kdWxlX2xpc2V3aWRnZXRzX2l0ZW0gQVMgTFcNCiAgICAgICAgIE9OIFcuYWxpYXM9TFcuYWxpYXMNCiAgICAgIEpPSU4gY21zX21vZHVsZV9saXNld2lkZ2V0c19maWVsZHZhbCBBUyBMRlYNCiAgICAgICAgIE9OIExXLml0ZW1faWQ9TEZWLml0ZW1faWQNCiAgICAgIEpPSU4gY21zX21vZHVsZV9saXNld2lkZ2V0c19maWVsZGRlZiBBUyBMRkQNCiAgICAgICAgICAgIE9OIExGVi5maWVsZGRlZl9pZD1MRkQuZmllbGRkZWZfaWQNCiAgICAgIFdIRVJFIExGRC5hbGlhcyA9ID8nOw0KICAgJHJlcyA9ICRkYi0+R2V0QWxsKCRzcWwsIGFycmF5KCdzdHlsZXMnKSApOw0KICAgaWYgKCRyZXMpIHsNCiAgICAgICRjb21iaW5lZFN0eWxlcyA9IGFycmF5KCk7DQogICAgICBmb3JlYWNoICgkcmVzIGFzICRzdHlsZSkgew0KICAgICAgICAgaWYgKCBhcnJheV9rZXlfZXhpc3RzKCRzdHlsZVsnYWxpYXMnXSwgJGNvbWJpbmVkU3R5bGVzKSApIHsNCiAgICAgICAgICAgICRjb21iaW5lZFN0eWxlc1skc3R5bGVbJ2FsaWFzJ11dIC49ICcsJy4kc3R5bGVbJ3ZhbHVlJ107DQogICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJGNvbWJpbmVkU3R5bGVzWyRzdHlsZVsnYWxpYXMnXV0gPSAkc3R5bGVbJ3ZhbHVlJ107DQogICAgICAgICB9DQogICAgICB9DQogICAgICBmb3JlYWNoICgkY29tYmluZWRTdHlsZXMgYXMgJGFsaWFzID0+ICRzdHlsZSkgew0KICAgICAgICAgJHNxbCA9ICdVUERBVEUgY21zX21vZHVsZV93aWRnZXRzIEFTIFcgU0VUIFcuc3R5bGVfb3B0aW9ucz0/IFdIRVJFIFcuYWxpYXM9Pyc7DQogICAgICAgICAkcmVzID0gJGRiLT5FeGVjdXRlKCRzcWwsIGFycmF5KCRzdHlsZSwgJGFsaWFzKSApOw0KICAgICAgICAgaWYoISRyZXMpIHRocm93IG5ldyBFeGNlcHRpb24oICRkYi0+RXJyb3JNc2coKSApOw0KICAgICAgfQ0KICAgfQ0KDQogICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFybXMpOw0KfQ0K]]></data>
	</file>
	<file>
	  <filename>/action.admin_save_options.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFdpZGdldHM6Ok1BTkFHRV9QRVJNKSApIHsNCiAgICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQpOw0KfQ0KDQovLyBTYXZlIFBhcmFtZXRlcnMgT3B0aW9ucyBUYWINCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXN0b21Nb2R1bGVOYW1lJywgaXNzZXQoJHBhcmFtc1snaW5wdXRfY3VzdG9tTW9kdWxlTmFtZSddKSA/ICRwYXJhbXNbJ2lucHV0X2N1c3RvbU1vZHVsZU5hbWUnXSA6ICdXaWRnZXRzJyk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWRtaW5TZWN0aW9uJywgaXNzZXQoJHBhcmFtc1snaW5wdXRfYWRtaW5TZWN0aW9uJ10pID8gJHBhcmFtc1snaW5wdXRfYWRtaW5TZWN0aW9uJ10gOiAnY29udGVudCcpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N0eWxlT3B0aW9ucycsIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3N0eWxlT3B0aW9ucyddKSA/ICRwYXJhbXNbJ2lucHV0X3N0eWxlT3B0aW9ucyddIDogJHRoaXMtPkxhbmcoJ2RlZmF1bHRfc3R5bGVfb3B0aW9ucycpKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbmFibGVJbWFnZXMnLCBpc3NldCgkcGFyYW1zWydpbnB1dF9lbmFibGVJbWFnZXMnXSkgPyAkcGFyYW1zWydpbnB1dF9lbmFibGVJbWFnZXMnXSA6IGZhbHNlKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZURpcicsIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2ltYWdlRGlyJ10pID8gJHBhcmFtc1snaW5wdXRfaW1hZ2VEaXInXSA6IGZhbHNlKTsNCg0KDQovLyBUb3VjaCBtZW51IGNhY2hlIGZpbGVzDQppZiAodmVyc2lvbl9jb21wYXJlKENNU19WRVJTSU9OLCAnMS45OS1hbHBoYTAnLCAnPCcpKSB7DQogICBmb3JlYWNoIChnbG9iKGNtc19qb2luX3BhdGgoVE1QX0NBQ0hFX0xPQ0FUSU9OLCAidGhlbWVpbmZvKi5jYWNoZSIpKSBhcyAkZmlsZW5hbWUpIHsgQHVubGluaygkZmlsZW5hbWUpOyB9IC8vIDEuMTENCn0gZWxzZSB7DQogICBmb3JlYWNoIChnbG9iKGNtc19qb2luX3BhdGgoVE1QX0NBQ0hFX0xPQ0FUSU9OLCAiY2FjaGUqLmNtcyIpKSBhcyAkZmlsZW5hbWUpIHsgQHVubGluaygkZmlsZW5hbWUpOyB9IC8vIDIuMA0KfQ0KDQovLyBTaG93IHNhdmVkIHBhcmFtZXRlcnMgaW4gZGVidWcgbW9kZQ0KZGVidWdfZGlzcGxheSgkcGFyYW1zKTsNCg0KLy8gUHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nDQphdWRpdCgnJywgJ1dpZGdldHMgLSBPcHRpb25zIHRhYicsICdTYXZlZCcpOw0KDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnbW9kdWxlX21lc3NhZ2UnID0+ICR0aGlzLT5MYW5nKCdzZXR0aW5nc19zYXZlZCcpLCAnYWN0aXZlX3RhYicgPT4gJ29wdGlvbnMnKSk7DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KJHRlbXBsYXRlID0gbnVsbDsNCmlmIChpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSkgew0KICAgJHRlbXBsYXRlID0gdHJpbSgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsNCn0NCmVsc2Ugew0KICAgJHRwbCA9IENtc0xheW91dFRlbXBsYXRlOjpsb2FkX2RmbHRfYnlfdHlwZSgnV2lkZ2V0czo6VGVtcGxhdGUnKTsNCiAgIGlmKCAhaXNfb2JqZWN0KCR0cGwpICkgew0KICAgICAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnTm8gZGVmYXVsdCB0ZW1wbGF0ZSBmb3VuZCcpOw0KICAgICAgcmV0dXJuOw0KICAgfQ0KJHRlbXBsYXRlID0gJHRwbC0+Z2V0X25hbWUoKTsNCn0NCg0KJGl0ZW1zID0gYXJyYXkoKTsNCiRzcWwgPSAnU0VMRUNUIFcuKixDQVRTLmNhdGVnb3J5X25hbWUgRlJPTSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzIEFTIFcNCiAgIExFRlQgT1VURVIgSk9JTiAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzX2NhdGVnb3J5IENBVFMNCiAgIE9OIENBVFMuY2F0ZWdvcnlfaWQgPSBXLmNhdGVnb3J5X2lkICc7DQppZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkpIHsNCiAgICRzcWwgLj0gJ1dIRVJFIENBVFMuY2F0ZWdvcnlfYWxpYXMgPSA/IEFORCBhY3RpdmUgPSAxDQogICAgICBPUkRFUiBCWSBXLnBvc2l0aW9uJzsNCiAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRwYXJhbXNbJ2NhdGVnb3J5J10pICk7DQp9IGVsc2Ugew0KICAgJHNxbCAuPSAnV0hFUkUgYWN0aXZlID0gMSc7DQogICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHNxbCk7DQp9DQoNCmlmKCBpc19vYmplY3QoJGRicmVzdWx0KSApIHsNCiAgICRkYnJlc3VsdC0+TW92ZUZpcnN0KCk7DQogICAkZW5hYmxlSW1hZ2VzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VuYWJsZUltYWdlcycpOw0KICAgd2hpbGUoICRkYnJlc3VsdCAmJiAhJGRicmVzdWx0LT5FT0YgKSB7DQogICAgICAkcm93ID0gJGRicmVzdWx0LT5maWVsZHM7DQogICAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7DQoNCiAgICAgICRvbmVyb3ctPmlkID0gJHJvd1snaWQnXTsNCiAgICAgICRvbmVyb3ctPmNhdGVnb3J5X2lkID0gJHJvd1snY2F0ZWdvcnlfaWQnXTsNCiAgICAgICRvbmVyb3ctPnRpdGxlID0gJHJvd1sndGl0bGUnXTsNCiAgICAgICRvbmVyb3ctPmFsaWFzID0gJHJvd1snYWxpYXMnXTsNCiAgICAgICRvbmVyb3ctPnBvc2l0aW9uID0gJHJvd1sncG9zaXRpb24nXTsNCiAgICAgICRvbmVyb3ctPmFjdGl2ZSA9ICRyb3dbJ2FjdGl2ZSddOw0KICAgICAgJG9uZXJvdy0+aGVhZGluZyA9ICRyb3dbJ2hlYWRpbmcnXTsNCiAgICAgICRvbmVyb3ctPmNvbnRlbnQgPSAkcm93Wydjb250ZW50J107DQogICAgICAkb25lcm93LT5saW5rX3RvID0gJHJvd1snbGlua190byddOw0KICAgICAgJG9uZXJvdy0+bGlua190ZXh0ID0gJHJvd1snbGlua190ZXh0J107DQogICAgICAkb25lcm93LT5zdHlsZV9vcHRpb25zID0gJHJvd1snc3R5bGVfb3B0aW9ucyddOw0KICAgICAgJG9uZXJvdy0+Y2F0ZWdvcnlfbmFtZSA9ICRyb3dbJ2NhdGVnb3J5X25hbWUnXTsNCiAgICAgICRvbmVyb3ctPmltYWdlID0gJGVuYWJsZUltYWdlcyA/ICRyb3dbJ2ltYWdlJ10gOiAnJzsNCg0KICAgICAgLy8gZmllbGRkZWZzIChkZXByZWNpYXRlZCkgLSBjb21wYXRpYmxlIHdpdGggTElTRQ0KICAgICAgJG9uZXJvdy0+ZmllbGRkZWZzWydoZWFkaW5nJ11bJ3ZhbHVlJ10gPSAkcm93WydoZWFkaW5nJ107DQogICAgICAkb25lcm93LT5maWVsZGRlZnNbJ2NvbnRlbnQnXVsndmFsdWUnXSA9ICRyb3dbJ2NvbnRlbnQnXTsNCiAgICAgICRvbmVyb3ctPmZpZWxkZGVmc1snbGlua190byddWyd2YWx1ZSddID0gJHJvd1snbGlua190byddOw0KICAgICAgJG9uZXJvdy0+ZmllbGRkZWZzWydsaW5rX3RleHQnXVsndmFsdWUnXSA9ICRyb3dbJ2xpbmtfdGV4dCddOw0KICAgICAgJG9uZXJvdy0+ZmllbGRkZWZzWydzdHlsZXMnXVsndmFsdWUnXSA9ICRyb3dbJ3N0eWxlX29wdGlvbnMnXTsNCiAgICAgICRvbmVyb3ctPmZpZWxkZGVmc1snaW1hZ2UnXVsndmFsdWUnXSA9ICRlbmFibGVJbWFnZXMgPyAkcm93WydpbWFnZSddIDogJyc7DQoNCiAgICAgICRpdGVtc1skb25lcm93LT5hbGlhc10gPSAkb25lcm93Ow0KICAgICAgJGRicmVzdWx0LT5Nb3ZlTmV4dCgpOw0KICAgfQ0KfQ0KDQovLyBzZWxlY3QgJ2l0ZW1zJyBpbiBvcmRlciBwcm92aWRlZA0KaWYgKGlzc2V0KCRwYXJhbXNbJ2l0ZW1zJ10pKSB7DQogICAkYWxsSXRlbXMgPSAkaXRlbXM7DQogICAkc2VsZWN0QWxpYXNlcyA9IGV4cGxvZGUoICcsJywgc3RyX3JlcGxhY2UoJyAnLCAnJywgJHBhcmFtc1snaXRlbXMnXSkgKTsNCiAgICRzZWxlY3RJdGVtcyA9IGFycmF5KCk7DQogICBmb3JlYWNoICgkc2VsZWN0QWxpYXNlcyBhcyAkYWxpYXMpIHsNCiAgICAgIGlmICggIWVtcHR5KCRpdGVtc1skYWxpYXNdKSApDQogICAgICAgICAkc2VsZWN0SXRlbXNbJGFsaWFzXSA9ICRpdGVtc1skYWxpYXNdOw0KICAgfQ0KICAgJGl0ZW1zID0gJHNlbGVjdEl0ZW1zOw0KfQ0KDQokdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJHRlbXBsYXRlKSxudWxsLG51bGwsJHNtYXJ0eSk7DQoNCiR0cGwtPmFzc2lnbignaXRlbXMnLCRpdGVtcyk7DQoNCi8vIERpc3BsYXkgdGVtcGxhdGUNCiR0cGwtPmRpc3BsYXkoKTs=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFdpZGdldHM6Ok1BTkFHRV9QRVJNKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbihXaWRnZXRzOjpVU0VfUEVSTSkgKSB7DQogICAkdGhpcy0+U2hvd0Vycm9ycyggJHRoaXMtPkxhbmcoJ25lZWRfcGVybWlzc2lvbicpICk7DQogICByZXR1cm47DQp9DQoNCiRsb2FkaW5nSWNvbiA9ICcuLi9tb2R1bGVzL1dpZGdldHMvbGliL2ltYWdlcy9sb2FkaW5nLmdpZic7DQoNCi8vIHNldCAnYWN0aXZlX3RhYicgaWYgcGFyYW0gc2V0DQppZiAoIGlzc2V0KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkgKSAkdGhpcy0+U2V0Q3VycmVudFRhYiggJHBhcmFtc1snYWN0aXZlX3RhYiddICk7DQoNCi8vIG9wdGlvbmFsIHVwZ3JhZGUgaWYgTElTRVdpZGdldHMgaW5zdGFsbGVkDQokdXBncmFkZVBvc3NpYmxlID0gZmFsc2U7DQokd2lkZ2V0c1VEVHNFeGlzdCA9IGZhbHNlOw0KaWYgKCBjbXNfdXRpbHM6Om1vZHVsZV9hdmFpbGFibGUoJ0xJU0VXaWRnZXRzJykgKSB7DQogICAkdXBncmFkZVBvc3NpYmxlID0gdHJ1ZTsNCn0NCiR0YWdPcHMgPSAkZ0Ntcy0+R2V0VXNlclRhZ09wZXJhdGlvbnMoKTsNCmlmICgkdGFnT3BzLT5Vc2VyVGFnRXhpc3RzKCd3aWRnZXRzUGFnZUJvdHRvbScpIHx8ICR0YWdPcHMtPlVzZXJUYWdFeGlzdHMoJ3dpZGdldHNTaWRlYmFyJykgKSB7DQogICAkd2lkZ2V0c1VEVHNFeGlzdCA9IHRydWU7DQp9DQoNCg0KLy8gQ3JlYXRlIEFkbWluIHRhYnMNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOw0KICAgLy8kYWN0aXZlX3RhYiA9IGVtcHR5KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkgPyAnJyA6ICRwYXJhbXNbJ2FjdGl2ZV90YWInXTsNCg0KICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJ3aWRnZXRzIiwkdGhpcy0+TGFuZygidGFiX3dpZGdldHMiKSk7DQoNCiAgIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigiY2F0ZWdvcmllcyIsJHRoaXMtPkxhbmcoInRhYl9jYXRlZ29yaWVzIikpOw0KDQogICBpZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oV2lkZ2V0czo6TUFOQUdFX1BFUk0pICkgew0KICAgICAgaWYgKCAkdXBncmFkZVBvc3NpYmxlICkgew0KICAgICAgICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJjb252ZXJ0ZXIiLCR0aGlzLT5MYW5nKCJjb252ZXJ0ZXIiKSk7DQogICAgICB9DQogICAgICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoIm9wdGlvbnMiLCR0aGlzLT5MYW5nKCJ0YWJfb3B0aW9ucyIpKTsNCiAgIH0NCmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsNCg0KDQovLyBjcmVhdGUgVGFiIGNvbnRlbnQNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOw0KDQogICBlY2hvICR0aGlzLT5TdGFydFRhYigid2lkZ2V0cyIpOw0KICAgICAgJHF1ZXJ5ID0gbmV3IFdpZGdldFF1ZXJ5Ow0KICAgICAgJHdpZGdldHMgPSAkcXVlcnktPkdldE1hdGNoZXMoKTsNCiAgICAgICRjYXRlZ29yeSA9IG5ldyBXaWRnZXRDYXRlZ29yeSgpOw0KICAgICAgJGNhdGVnb3JpZXMgPSAkY2F0ZWdvcnktPmdldENhdGVnb3JpZXMoKTsNCiAgICAgICR0cGwgPSAkc21hcnR5LT5DcmVhdGVUZW1wbGF0ZSggJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ2RlZmF1bHRhZG1pbi50cGwnKSwgbnVsbCwgbnVsbCwgJHNtYXJ0eSApOw0KICAgICAgJHRwbC0+YXNzaWduKCd3aWRnZXRzJywkd2lkZ2V0cyk7DQogICAgICAkdHBsLT5hc3NpZ24oJ2NhdGVnb3JpZXMnLCRjYXRlZ29yaWVzKTsNCiAgICAgICR0cGwtPmFzc2lnbignbG9hZGluZ0ljb24nLCRsb2FkaW5nSWNvbik7DQogICAgICAkdHBsLT5kaXNwbGF5KCk7DQogICBlY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KDQogICBlY2hvICR0aGlzLT5TdGFydFRhYigiY2F0ZWdvcmllcyIpOw0KICAgICAgJHF1ZXJ5ID0gbmV3IFdpZGdldENhdGVnb3J5UXVlcnk7DQogICAgICAkY2F0ZWdvcnkgPSAkcXVlcnktPkdldE1hdGNoZXMoKTsNCiAgICAgICR0cGwgPSAkc21hcnR5LT5DcmVhdGVUZW1wbGF0ZSggJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ2FkbWluX2NhdGVnb3J5LnRwbCcpLCBudWxsLCBudWxsLCAkc21hcnR5ICk7DQogICAgICAkdHBsLT5hc3NpZ24oJ2NhdGVnb3J5JywkY2F0ZWdvcnkpOw0KICAgICAgJHRwbC0+ZGlzcGxheSgpOw0KICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCiAgIGlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbihXaWRnZXRzOjpNQU5BR0VfUEVSTSkgKSB7DQogICAgICBpZiAoJHVwZ3JhZGVQb3NzaWJsZSB8fCAkd2lkZ2V0c1VEVHNFeGlzdCkgew0KICAgICAgICAgZWNobyAkdGhpcy0+U3RhcnRUYWIoImNvbnZlcnRlciIpOw0KICAgICAgICAgJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCAkdGhpcy0+R2V0VGVtcGxhdGVSZXNvdXJjZSgnYWRtaW5fY29udmVydGVyLnRwbCcpLCBudWxsLCBudWxsLCAkc21hcnR5ICk7DQogICAgICAgICAkdHBsLT5hc3NpZ24oJ2J1dHRvbl9pbXBvcnRfZnJvbV9MSVNFV2lkZ2V0cycsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdpbXBvcnRfZnJvbV9MSVNFV2lkZ2V0cycsICdJbXBvcnQgZnJvbSBMSVNFV2lkZ2V0cycsICcnLCAnJywgJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgYWxsIGV4aXN0aW5nIFdpZGdldHMgYW5kIGltcG9ydCBhbGwgZnJvbSBMSVNFV2lkZ2V0cz8nKSk7DQogICAgICAgICAkdHBsLT5hc3NpZ24oJ3dpZGdldHNVRFRzRXhpc3QnLCAkd2lkZ2V0c1VEVHNFeGlzdCk7DQogICAgICAgICAkdHBsLT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ2FkbWluX2NvbnZlcnRlcicsICRyZXR1cm5pZCApKTsNCiAgICAgICAgICR0cGwtPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KICAgICAgICAgJHRwbC0+ZGlzcGxheSgpOw0KICAgICAgICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7DQogICAgICB9DQoNCiAgICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJvcHRpb25zIik7DQogICAgICAgICAkdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoICR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdhZG1pbl9vcHRpb25zLnRwbCcpLCBudWxsLCBudWxsLCAkc21hcnR5ICk7DQogICAgICAgICAkdHBsLT5hc3NpZ24oJ3RpdGxlX2N1c3RvbU1vZHVsZU5hbWUnLCAkdGhpcy0+TGFuZygndGl0bGVfY3VzdG9tTW9kdWxlTmFtZScpKTsNCiAgICAgICAgICR0cGwtPmFzc2lnbignaW5wdXRfY3VzdG9tTW9kdWxlTmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW5wdXRfY3VzdG9tTW9kdWxlTmFtZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1c3RvbU1vZHVsZU5hbWUnLCcnKSw1MCwyNTUpKTsNCg0KICAgICAgICAgJHRwbC0+YXNzaWduKCd0aXRsZV9hZG1pblNlY3Rpb24nLCAkdGhpcy0+TGFuZygndGl0bGVfYWRtaW5TZWN0aW9uJykpOw0KICAgICAgICAgJHRwbC0+YXNzaWduKCdpbnB1dF9hZG1pblNlY3Rpb24nLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdpbnB1dF9hZG1pblNlY3Rpb24nLA0KICAgICAgICAgICAgICAgYXJyYXkobGFuZygnbWFpbicpID0+ICdtYWluJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmcoJ2NvbnRlbnQnKSA9PiAnY29udGVudCcsDQogICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdsYXlvdXQnKSA9PiAnbGF5b3V0JywNCiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmcoJ3VzZXJzZ3JvdXBzJykgPT4gJ3VzZXJzZ3JvdXBzJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmcoJ2V4dGVuc2lvbnMnKSA9PiAnZXh0ZW5zaW9ucycsDQogICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdhZG1pbicpID0+ICdhZG1pbicsDQogICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdteXByZWZzJykgPT4gJ215cHJlZnMnKSwNCiAgICAgICAgICAgICAgIC0xLA0KICAgICAgICAgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FkbWluU2VjdGlvbicsICdjb250ZW50JykNCiAgICAgICAgICkpOw0KDQogICAgICAgICAkdHBsLT5hc3NpZ24oICd0aXRsZV93aWRnZXRTdHlsZU9wdGlvbnMnLCAkdGhpcy0+TGFuZygndGl0bGVfd2lkZ2V0U3R5bGVPcHRpb25zJykgKTsNCiAgICAgICAgICR0cGwtPmFzc2lnbiggJ2hlbHBfd2lkZ2V0U3R5bGVPcHRpb25zJywgJHRoaXMtPkxhbmcoJ2hlbHBfd2lkZ2V0U3R5bGVPcHRpb25zJykgKTsNCiAgICAgICAgICR0cGwtPmFzc2lnbiggJ3N0eWxlT3B0aW9ucycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdHlsZU9wdGlvbnMnLCAkdGhpcy0+TGFuZygnZGVmYXVsdF9zdHlsZV9vcHRpb25zJykpICk7DQoNCiAgICAgICAgICR0cGwtPmFzc2lnbiggJ3RpdGxlX2VuYWJsZUltYWdlcycsICR0aGlzLT5MYW5nKCd0aXRsZV9lbmFibGVJbWFnZXMnKSApOw0KICAgICAgICAgJHRwbC0+YXNzaWduKCAnaGVscF9lbmFibGVJbWFnZXMnLCAkdGhpcy0+TGFuZygnaGVscF9lbmFibGVJbWFnZXMnKSApOw0KICAgICAgICAgJHRwbC0+YXNzaWduKCAnaW5wdXRfZW5hYmxlSW1hZ2VzJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaW5wdXRfZW5hYmxlSW1hZ2VzJywgdHJ1ZSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2VuYWJsZUltYWdlcycsIGZhbHNlKSkgKTsNCg0KICAgICAgICAgJHRwbC0+YXNzaWduKCAndGl0bGVfaW1hZ2VEaXInLCAkdGhpcy0+TGFuZygndGl0bGVfaW1hZ2VEaXInKSApOw0KICAgICAgICAgJHRwbC0+YXNzaWduKCAnaGVscF9pbWFnZURpcicsICR0aGlzLT5MYW5nKCdoZWxwX2ltYWdlRGlyJykgKTsNCiAgICAgICAgICR0cGwtPmFzc2lnbiggJ2lucHV0X2ltYWdlRGlyJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9pbWFnZURpcicsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlRGlyJywnJyksNTAsMjU1KSApOw0KDQogICAgICAgICAkdHBsLT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ2FkbWluX3NhdmVfb3B0aW9ucycsICRyZXR1cm5pZCApKTsNCiAgICAgICAgICR0cGwtPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KICAgICAgICAgJHRwbC0+ZGlzcGxheSgpOw0KICAgICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7DQogICB9DQoNCg0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOw==]]></data>
	</file>
	<file>
	  <filename>/action.delete_category.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFdpZGdldHM6OlVTRV9QRVJNKSApIHJldHVybjsNCg0KaWYgKCBpc3NldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSAmJiAkcGFyYW1zWydjYXRlZ29yeV9pZCddID4gMSkgew0KICAgJGNhdGVnb3J5ID0gV2lkZ2V0Q2F0ZWdvcnk6OmxvYWRfYnlfaWQoIChpbnQpJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSApOw0KICAgJGlzRGVsZXRlZCA9ICRjYXRlZ29yeS0+ZGVsZXRlKCk7DQoNCiAgIGlmICggISRpc0RlbGV0ZWQgKSB7DQogICAgICAkdGhpcy0+U2V0RXJyb3IoICR0aGlzLT5MYW5nKCdjYXRlZ29yeV9ub3RfZGVsZXRlZCcpICk7DQogICAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdjYXRlZ29yaWVzJyk7DQogICB9IGVsc2Ugew0KICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoICR0aGlzLT5MYW5nKCdjYXRlZ29yeV9kZWxldGVkJykgKTsNCiAgICAgICR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ2NhdGVnb3JpZXMnKTsNCiAgIH0NCg0KfQ==]]></data>
	</file>
	<file>
	  <filename>/action.delete_widget.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFdpZGdldHM6OlVTRV9QRVJNKSApIHJldHVybjsNCg0KaWYgKCBpc3NldCgkcGFyYW1zWyd3aWQnXSkgJiYgJHBhcmFtc1snd2lkJ10gPiAwKSB7DQogICAkd2lkZ2V0ID0gV2lkZ2V0SXRlbTo6bG9hZF9ieV9pZCggKGludCkkcGFyYW1zWyd3aWQnXSApOw0KICAgJHdpZGdldC0+ZGVsZXRlKCk7DQoNCiAgICRxdWVyeSA9IG5ldyBXaWRnZXRRdWVyeTsNCiAgICR1cGRhdGVkID0gJHF1ZXJ5LT51cGRhdGVQb3NpdGlvbnMoKTsNCg0KICAgJHRoaXMtPlNldE1lc3NhZ2UoICR0aGlzLT5MYW5nKCd3aWRnZXRfZGVsZXRlZCcpICk7DQogICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7DQp9]]></data>
	</file>
	<file>
	  <filename>/action.edit_category.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCmlmICggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oV2lkZ2V0czo6VVNFX1BFUk0pICkgcmV0dXJuOw0KDQokY2F0ZWdvcnkgPSBuZXcgV2lkZ2V0Q2F0ZWdvcnkoKTsNCiRpc05ld0NhdGVnb3J5ID0gdHJ1ZTsNCg0KaWYgKCBpc3NldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSAmJiAkcGFyYW1zWydjYXRlZ29yeV9pZCddID4gMCApIHsNCiAgICRjYXRlZ29yeSA9IFdpZGdldENhdGVnb3J5Ojpsb2FkX2J5X2lkKCAoaW50KSRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10gKTsNCiAgICRpc05ld0NhdGVnb3J5ID0gZmFsc2U7DQp9DQppZiAoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApIHsNCiAgICR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoJ2NhdGVnb3JpZXMnKTsNCg0KfSBlbHNlIGlmICggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkgew0KICAgJGVycm9ycyA9IGFycmF5KCk7DQogICAkY2F0ZWdvcnktPmNhdGVnb3J5X25hbWUgPSB0cmltKCRwYXJhbXNbJ2NhdGVnb3J5X25hbWUnXSk7DQogICAkY2F0ZWdvcnktPmNhdGVnb3J5X2FsaWFzID0gdHJpbSgkcGFyYW1zWydjYXRlZ29yeV9hbGlhcyddKTsNCg0KICAgLy8gY2hlY2sgbmFtZQ0KICAgaWYgKCAkY2F0ZWdvcnktPmNhdGVnb3J5X25hbWU9PScnICkgew0KICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NhdGVnb3J5X25hbWUnKTsNCiAgIH0NCiAgIC8vIENoZWNrIGZvciBuYW1lIGR1cGxpY2F0ZQ0KICAgaWYgKCBpc3NldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSAmJiAkcGFyYW1zWydjYXRlZ29yeV9pZCddID4gMCApICB7DQogICAgICAkc3FsID0gJ1NFTEVDVCBjYXRlZ29yeV9pZCBGUk9NICcuQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHNfY2F0ZWdvcnkgV0hFUkUgY2F0ZWdvcnlfbmFtZSA9ICInLiRjYXRlZ29yeS0+Y2F0ZWdvcnlfbmFtZS4nIiBBTkQgY2F0ZWdvcnlfaWQgIT0gIicuJHBhcmFtc1snY2F0ZWdvcnlfaWQnXS4nIic7DQogICAgICAkZXhpc3RzID0gJGRiLT5HZXRPbmUoICRzcWwgKTsNCiAgIH0gZWxzZSB7DQogICAgICAkc3FsID0gJ1NFTEVDVCBjYXRlZ29yeV9pZCBGUk9NICcuQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHNfY2F0ZWdvcnkgV0hFUkUgY2F0ZWdvcnlfbmFtZSA9ICInLiRjYXRlZ29yeS0+Y2F0ZWdvcnlfbmFtZS4nIic7DQogICAgICAkZXhpc3RzID0gJGRiLT5HZXRPbmUoICRzcWwgKTsNCiAgIH0NCiAgIGlmICgkZXhpc3RzKSB7DQogICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfY2F0ZWdvcnlfbmFtZScpOw0KICAgfQ0KDQogICAvLyBjaGVjayBhbGlhcw0KICAgaWYgKCAkY2F0ZWdvcnktPmNhdGVnb3J5X2FsaWFzPT0nJyApIHsNCiAgICAgICRjYXRlZ29yeS0+Y2F0ZWdvcnlfYWxpYXMgPSBXaWRnZXRJdGVtOjpnZW5lcmF0ZV9hbGlhcygkY2F0ZWdvcnktPmNhdGVnb3J5X25hbWUpOw0KICAgfQ0KICAgaWYgKCAhV2lkZ2V0SXRlbTo6aXNfdmFsaWRfYWxpYXMoJGNhdGVnb3J5LT5jYXRlZ29yeV9hbGlhcykgKSB7DQogICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfYWxpYXNfaW52YWxpZCcpLiI6ICckY2F0ZWdvcnktPmNhdGVnb3J5X2FsaWFzJyI7DQogICB9DQogICAvLyBDaGVjayBmb3IgYWxpYXMgZHVwbGljYXRlDQogICBpZiAoIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pICYmICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10gPiAwICkgIHsNCiAgICAgICRzcWwgPSAnU0VMRUNUIGNhdGVnb3J5X2lkIEZST00gJy5DTVNfREJfUFJFRklYLidtb2R1bGVfd2lkZ2V0c19jYXRlZ29yeSBXSEVSRSBjYXRlZ29yeV9hbGlhcyA9ICInLiRjYXRlZ29yeS0+Y2F0ZWdvcnlfYWxpYXMuJyIgQU5EIGNhdGVnb3J5X2lkICE9ICInLiRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10uJyInOw0KICAgICAgJGV4aXN0cyA9ICRkYi0+R2V0T25lKCAkc3FsICk7DQogICB9IGVsc2Ugew0KICAgICAgJHNxbCA9ICdTRUxFQ1QgY2F0ZWdvcnlfaWQgRlJPTSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzX2NhdGVnb3J5IFdIRVJFIGNhdGVnb3J5X2FsaWFzID0gIicuJGNhdGVnb3J5LT5jYXRlZ29yeV9hbGlhcy4nIic7DQogICAgICAkZXhpc3RzID0gJGRiLT5HZXRPbmUoICRzcWwgKTsNCiAgIH0NCiAgIGlmICgkZXhpc3RzKSB7DQogICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfYWxpYXNfaW52YWxpZCcpOw0KICAgfQ0KDQoNCiAgIC8vIGVpdGhlciBkaXNwbGF5IGVycm9ycyBvciBzYXZlIENhdGVnb3J5DQogICAkZm9ybWF0dGVkRXJyb3JzID0gJyc7DQogICBpZiAoICFlbXB0eSgkZXJyb3JzKSApIHsNCiAgICAgIGZvcmVhY2ggKCRlcnJvcnMgYXMgJGVycm9yKSB7DQogICAgICAgICAkZm9ybWF0dGVkRXJyb3JzIC49ICc8bGk+Jy4kZXJyb3IuJzwvbGk+JzsNCiAgICAgIH0NCiAgICAgICR0aGlzLT5TaG93RXJyb3JzKCc8dWw+Jy4kZm9ybWF0dGVkRXJyb3JzLic8L3VsPicpOw0KDQogICB9IGVsc2Ugew0KICAgICAgJGlzU2F2ZWQgPSAkY2F0ZWdvcnktPnNhdmUoKTsNCiAgICAgIGlmICggISRpc1NhdmVkICkgew0KICAgICAgICAgJHRoaXMtPlNldEVycm9yKCAkdGhpcy0+TGFuZygnY2F0ZWdvcnlfbm90c2F2ZWQnKSApOw0KDQogICAgICB9IGVsc2Ugew0KICAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoICR0aGlzLT5MYW5nKCdjYXRlZ29yeV9zYXZlZCcpICk7DQogICAgICAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdjYXRlZ29yaWVzJyk7DQogICAgICB9DQogICB9DQp9DQoNCg0KLy8gc21hcnR5IHByb2Nlc3NpbmcgdG8gZGlzcGxheSBhZG1pbiBwYWdlDQokdHBsID0gJHNtYXJ0eS0+Q3JlYXRlVGVtcGxhdGUoJHRoaXMtPkdldFRlbXBsYXRlUmVzb3VyY2UoJ2VkaXRfY2F0ZWdvcnkudHBsJyksIG51bGwsIG51bGwsICRzbWFydHkpOw0KJHRwbC0+YXNzaWduKCdjYXRlZ29yeScsJGNhdGVnb3J5KTsNCiR0cGwtPmFzc2lnbignaXNOZXdDYXRlZ29yeScsJGlzTmV3Q2F0ZWdvcnkpOw0KDQokdHBsLT5kaXNwbGF5KCk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.edit_widget.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCmlmICggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oV2lkZ2V0czo6VVNFX1BFUk0pICkgcmV0dXJuOw0KDQokd2lkZ2V0ID0gbmV3IFdpZGdldEl0ZW0oKTsNCiRpc05ld1dpZGdldCA9IHRydWU7DQppZiAoIGlzc2V0KCRwYXJhbXNbJ3dpZCddKSAmJiAkcGFyYW1zWyd3aWQnXSA+IDAgKSB7DQogICAkd2lkZ2V0ID0gV2lkZ2V0SXRlbTo6bG9hZF9ieV9pZCgoaW50KSRwYXJhbXNbJ3dpZCddKTsNCiAgICRpc05ld1dpZGdldCA9IGZhbHNlOw0KfQ0KaWYgKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKSB7DQogICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCk7DQoNCn0gZWxzZSBpZiAoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSApIHsNCiAgICRlcnJvcnMgPSBhcnJheSgpOw0KICAgaWYgKCAhaXNzZXQoJHBhcmFtc1snYWN0aXZlJ10pICkgJHBhcmFtc1snYWN0aXZlJ10gPSBmYWxzZTsNCiAgIGlmICggIWlzc2V0KCRwYXJhbXNbJ3d5c2l3eWcnXSkgKSAkcGFyYW1zWyd3eXNpd3lnJ10gPSBmYWxzZTsNCiAgIGlmICggIWlzc2V0KCRwYXJhbXNbJ2ltYWdlJ10pICkgJHBhcmFtc1snaW1hZ2UnXSA9ICcnOw0KICAgJHdpZGdldC0+dGl0bGUgPSB0cmltKCRwYXJhbXNbJ3RpdGxlJ10pOw0KICAgJHdpZGdldC0+Y2F0ZWdvcnlfaWQgPSAoaW50KSAkcGFyYW1zWydjYXRlZ29yeV9pZCddOw0KICAgJHdpZGdldC0+YWxpYXMgPSB0cmltKCRwYXJhbXNbJ2FsaWFzJ10pOw0KICAgJHdpZGdldC0+YWN0aXZlID0gKGJvb2wpICRwYXJhbXNbJ2FjdGl2ZSddOw0KICAgJHdpZGdldC0+aGVhZGluZyA9IHRyaW0oJHBhcmFtc1snaGVhZGluZyddKTsNCiAgICR3aWRnZXQtPmNvbnRlbnQgPSB0cmltKCRwYXJhbXNbJ2NvbnRlbnQnXSk7DQogICAkd2lkZ2V0LT5saW5rX3RvID0gKGludCkgJHBhcmFtc1snbGlua190byddOw0KICAgJHdpZGdldC0+bGlua190ZXh0ID0gdHJpbSgkcGFyYW1zWydsaW5rX3RleHQnXSk7DQogICAkd2lkZ2V0LT53eXNpd3lnID0gKGJvb2wpICRwYXJhbXNbJ3d5c2l3eWcnXTsNCiAgICR3aWRnZXQtPmltYWdlID0gdHJpbSgkcGFyYW1zWydpbWFnZSddKTsNCiAgIGlmICghZW1wdHkoJHBhcmFtc1snc3R5bGVfb3B0aW9ucyddKSl7DQogICAgICAkd2lkZ2V0LT5zdHlsZV9vcHRpb25zID0gdHJpbSggaW1wbG9kZSgnLCcsICRwYXJhbXNbJ3N0eWxlX29wdGlvbnMnXSkgKTsNCiAgIH0gZWxzZSB7DQogICAgICAkd2lkZ2V0LT5zdHlsZV9vcHRpb25zID0gJyc7DQogICB9DQoNCiAgIC8vIGNoZWNrIHRpdGxlDQogICBpZiAoICR3aWRnZXQtPnRpdGxlPT0nJyApIHsNCiAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl90aXRsZV9lbXB0eScpOw0KICAgfQ0KDQogICAvLyBjaGVjayBhbGlhcw0KICAgaWYgKCAkd2lkZ2V0LT5hbGlhcz09JycgKSB7DQogICAgICAkd2lkZ2V0LT5hbGlhcyA9IFdpZGdldEl0ZW06OmdlbmVyYXRlX2FsaWFzKCR3aWRnZXQtPnRpdGxlKTsNCiAgIH0NCiAgIGlmICggIVdpZGdldEl0ZW06OmlzX3ZhbGlkX2FsaWFzKCR3aWRnZXQtPmFsaWFzKSApIHsNCiAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9hbGlhc19pbnZhbGlkJykuIjogJyR3aWRnZXQtPmFsaWFzJyI7DQogICB9DQogICAvLyBDaGVjayBmb3IgYWxpYXMgZHVwbGljYXRlDQogICBpZiAoIGlzc2V0KCRwYXJhbXNbJ3dpZCddKSAmJiAkcGFyYW1zWyd3aWQnXSA+IDAgKSAgew0KICAgICAgJHNxbCA9ICdTRUxFQ1QgaWQgRlJPTSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzIFdIRVJFIGFsaWFzID0gIicuJHdpZGdldC0+YWxpYXMuJyIgQU5EIGlkICE9ICInLiRwYXJhbXNbJ3dpZCddLiciJzsNCiAgICAgICRleGlzdHMgPSAkZGItPkdldE9uZSggJHNxbCApOw0KICAgfSBlbHNlIHsNCiAgICAgICRzcWwgPSAnU0VMRUNUIGlkIEZST00gJy5DTVNfREJfUFJFRklYLidtb2R1bGVfd2lkZ2V0cyBXSEVSRSBhbGlhcyA9ICInLiR3aWRnZXQtPmFsaWFzLiciJzsNCiAgICAgICRleGlzdHMgPSAkZGItPkdldE9uZSggJHNxbCApOw0KICAgfQ0KICAgaWYgKCRleGlzdHMpIHsNCiAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9hbGlhc19pbnZhbGlkJyk7DQogICB9DQoNCiAgIC8vIHNldCBwb3NpdGlvbiB0byBsYXN0IHBvc2l0aW9uIGZvciBuZXcgV2lkZ2V0cw0KICAgaWYgKCRpc05ld1dpZGdldCkgew0KICAgICAgJHNxbCA9ICJTRUxFQ1QgTUFYKHBvc2l0aW9uKSBBUyBtYXhwb3NpdGlvbiBGUk9NICIuQ01TX0RCX1BSRUZJWC4ibW9kdWxlX3dpZGdldHMiOw0KICAgICAgJG1heHBvc2l0aW9uID0gJGRiLT5HZXRPbmUoJHNxbCk7DQogICAgICBpZiAoJG1heHBvc2l0aW9uKSAkd2lkZ2V0LT5wb3NpdGlvbiA9ICRtYXhwb3NpdGlvbiArIDE7DQogICB9DQoNCiAgIC8vIGVpdGhlciBkaXNwbGF5IGVycm9ycyBvciBzYXZlIFdpZGdldA0KICAgJGZvcm1hdHRlZEVycm9ycyA9ICcnOw0KICAgaWYgKCAhZW1wdHkoJGVycm9ycykgKSB7DQogICAgICBmb3JlYWNoICgkZXJyb3JzIGFzICRlcnJvcikgew0KICAgICAgICAgJGZvcm1hdHRlZEVycm9ycyAuPSAnPGxpPicuJGVycm9yLic8L2xpPic7DQogICAgICB9DQogICAgICAkdGhpcy0+U2hvd0Vycm9ycygnPHVsPicuJGZvcm1hdHRlZEVycm9ycy4nPC91bD4nKTsNCg0KICAgfSBlbHNlIHsNCiAgICAgICRpc1NhdmVkID0gJHdpZGdldC0+c2F2ZSgpOw0KICAgICAgaWYgKCAhJGlzU2F2ZWQgKSB7DQogICAgICAgICAkdGhpcy0+U2V0RXJyb3IoICR0aGlzLT5MYW5nKCd3aWRnZXRfbm90c2F2ZWQnKSApOw0KDQogICAgICB9IGVsc2UgeyAvLyBzYXZlZA0KICAgICAgICAgJGlzTmV3V2lkZ2V0ID0gZmFsc2U7DQogICAgICAgICBpZiAoJGlzTmV3V2lkZ2V0KSB7DQogICAgICAgICAgICAkcXVlcnkgPSBuZXcgV2lkZ2V0UXVlcnk7DQogICAgICAgICAgICAkdXBkYXRlZCA9ICRxdWVyeS0+dXBkYXRlUG9zaXRpb25zKCk7DQogICAgICAgICB9DQogICAgICAgICBpZiAoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIHsNCiAgICAgICAgICAgICR0aGlzLT5TZXRNZXNzYWdlKCAkdGhpcy0+TGFuZygnd2lkZ2V0X3NhdmVkJykgKTsNCiAgICAgICAgICAgICR0aGlzLT5SZWRpcmVjdFRvQWRtaW5UYWIoKTsNCiAgICAgICAgIH0gZWxzZSB7IC8vIGFwcGx5DQogICAgICAgICAgICAkdGhpcy0+U2hvd01lc3NhZ2UoICR0aGlzLT5MYW5nKCd3aWRnZXRfc2F2ZWQnKSApOw0KICAgICAgICAgfQ0KICAgICAgfQ0KICAgfQ0KfQ0KDQoNCi8vIGNyZWF0ZSBzdHlsZU9wdGlvbnMgJiBzZWxlY3RlZE9wdGlvbnMgYXJyYXkNCiRzZWxlY3RlZE9wdGlvbnMgPSBleHBsb2RlKCcsJywgJHdpZGdldC0+c3R5bGVfb3B0aW9ucyk7DQokc3R5bGVPcHRpb25zID0gYXJyYXkoKTsNCiRzdHlsZVRlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0eWxlT3B0aW9ucycpOw0KJHN0bGVzVGV4dCA9ICRzbWFydHktPmZldGNoKCdzdHJpbmc6Jy4kc3R5bGVUZW1wbGF0ZSk7IC8vIHNvIHNtYXJ0eSB2YXJzIGNhbiBiZSB1c2VkDQokbGlzdCA9IGV4cGxvZGUoICJcbiIsICRzdGxlc1RleHQgKTsNCmZvcmVhY2goJGxpc3QgYXMgJG9wdGlvbikgew0KICAgJG9wdGlvbiA9IGV4cGxvZGUoIj0iLCAkb3B0aW9uLCAyKTsNCiAgIGlmKGNvdW50KCRvcHRpb24pID4gMSkgew0KICAgICAgJHN0eWxlT3B0aW9uc1t0cmltKCRvcHRpb25bMF0pXSA9IHRyaW0oJG9wdGlvblsxXSk7DQogICB9IGVsc2Ugew0KICAgICAgJHN0eWxlT3B0aW9uc1t0cmltKCRvcHRpb25bMF0pXSA9IHRyaW0oJG9wdGlvblswXSk7DQogICB9DQp9DQoNCg0KLy8gY3JlYXRlIExpbmtfdG8gZHJvcGRvd25zDQokY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7DQokbGlua1RvID0gJGNvbnRlbnRvcHMtPkNyZWF0ZUhpZXJhcmNoeURyb3Bkb3duKCcnLCAkd2lkZ2V0LT5saW5rX3RvLCAkaWQuJ2xpbmtfdG8nLCB0cnVlKTsNCg0KLy8gZ2V0IGNhdGVnb3JpZXMgJiBkZWZhdWx0cw0KJGNhdGVnb3J5ID0gbmV3IFdpZGdldENhdGVnb3J5KCk7DQokY2F0ZWdvcmllcyA9ICRjYXRlZ29yeS0+Z2V0Q2F0ZWdvcmllcygpOw0KJGFjdGl2ZSA9IGlzX251bGwoJHdpZGdldC0+YWN0aXZlKSA/IDEgOiAkd2lkZ2V0LT5hY3RpdmU7DQokd3lzaXd5ZyA9IGlzX251bGwoJHdpZGdldC0+d3lzaXd5ZykgPyAxIDogJHdpZGdldC0+d3lzaXd5ZzsNCg0KLy8gV2lkZ2V0IGltYWdlIG9wdGlvbg0KJGVuYWJsZUltYWdlcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbmFibGVJbWFnZXMnKTsNCmlmICgkZW5hYmxlSW1hZ2VzKXsNCiAgIC8vIHVzZSBmaWxlcGlja2VyIGZvciAnaW1hZ2UnOyBKTUZpbGVQaWNrZXIgaWYgaW5zdGFsbGVkLCBkZWZhdWx0OiBDTVNNUyBGaWxlUGlja2VyDQogICAkaW1hZ2VEaXIgPSB0cmltKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VEaXInKSApOw0KICAgaWYgKCRqbWZwID0gY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoJ0pNRmlsZVBpY2tlcicpKSB7DQogICAgICAkam1mcE9wdGlvbnMgPSBhcnJheSgNCiAgICAgICAgICdtZWRpYV90eXBlJyA9PiAnaW1hZ2UnLA0KICAgICAgICAgJ21vZGUnID0+ICdicm93c2VyJywNCiAgICAgICAgICdkaXInID0+ICRpbWFnZURpcg0KICAgICAgKTsNCiAgICAgICRpbnB1dF9pbWFnZSA9ICAkam1mcC0+Q3JlYXRlRmlsZVBpY2tlcklucHV0KCcnLCRpZCwgJ2ltYWdlJywgJHdpZGdldC0+aW1hZ2UsICRqbWZwT3B0aW9ucyk7DQogICB9IGVsc2Ugew0KICAgICAgJGZwID0gY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoJ0ZpbGVQaWNrZXInKTsNCiAgICAgICRmcFByb2ZpbGUgPSAkZnAtPmdldF9kZWZhdWx0X3Byb2ZpbGUoJGltYWdlRGlyKTsgLy8gJGRpciAtIG5vdCB1c2VkPw0KICAgICAgJGlucHV0X2ltYWdlID0gJGZwLT5nZXRfaHRtbCgkaWQuJ2ltYWdlJywgJHdpZGdldC0+aW1hZ2UsICRmcFByb2ZpbGUpOw0KICAgfQ0KfQ0KDQoNCi8vIHNtYXJ0eSBwcm9jZXNzaW5nIHRvIGRpc3BsYXkgYWRtaW4gcGFnZQ0KJHRwbCA9ICRzbWFydHktPkNyZWF0ZVRlbXBsYXRlKCR0aGlzLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdlZGl0X3dpZGdldC50cGwnKSwgbnVsbCwgbnVsbCwgJHNtYXJ0eSk7DQokdHBsLT5hc3NpZ24oJ3dpZGdldCcsJHdpZGdldCk7DQokdHBsLT5hc3NpZ24oJ2lucHV0X2FjdGl2ZScsICR0aGlzLT5DcmVhdGVJbnB1dGNoZWNrYm94KCRpZCwgJ2FjdGl2ZScsIDEsICRhY3RpdmUpKTsNCiR0cGwtPmFzc2lnbignaXNOZXdXaWRnZXQnLCRpc05ld1dpZGdldCk7DQokdHBsLT5hc3NpZ24oJ2lucHV0X2NvbnRlbnQnLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoKCR3eXNpd3lnKSwgJGlkLCAkd2lkZ2V0LT5jb250ZW50LCAnY29udGVudCcpKTsNCiR0cGwtPmFzc2lnbignaW5wdXRfc3R5bGVPcHRpb25zJywgJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCggJGlkLCAnc3R5bGVfb3B0aW9ucycsICRzdHlsZU9wdGlvbnMsICRzZWxlY3RlZE9wdGlvbnMsIG1pbihjb3VudCgkc3R5bGVPcHRpb25zKSwxMCksICcnLCB0cnVlKSk7DQokdHBsLT5hc3NpZ24oJ2lucHV0X2NhdGVnb3J5X2lkJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oICRpZCwgJ2NhdGVnb3J5X2lkJywgYXJyYXlfZmxpcCgkY2F0ZWdvcmllcyksICcnLCAkd2lkZ2V0LT5jYXRlZ29yeV9pZCApKTsNCiR0cGwtPmFzc2lnbignaW5wdXRfbGlua190bycsJGxpbmtUbyk7DQokdHBsLT5hc3NpZ24oJ2NhdGVnb3JpZXMnLCRjYXRlZ29yaWVzKTsNCiR0cGwtPmFzc2lnbignaW5wdXRfd3lzaXd5ZycsICR0aGlzLT5DcmVhdGVJbnB1dGNoZWNrYm94KCRpZCwgJ3d5c2l3eWcnLCAxLCAkd3lzaXd5ZykpOw0KJHRwbC0+YXNzaWduKCdlbmFibGVJbWFnZXMnLCAkZW5hYmxlSW1hZ2VzKTsNCmlmIChpc3NldCgkaW5wdXRfaW1hZ2UpKQ0KICAgJHRwbC0+YXNzaWduKCdpbnB1dF9pbWFnZScsICRpbnB1dF9pbWFnZSk7DQoNCiR0cGwtPmRpc3BsYXkoKTsNCg==]]></data>
	</file>
	<file>
	  <filename>/action.reorder_widget.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFdpZGdldHM6OlVTRV9QRVJNKSApIHJldHVybjsNCg0KaWYgKCBlbXB0eSgkcGFyYW1zWyd3aWQnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2FmdGVyJ10pIHx8ICRwYXJhbXNbJ2FmdGVyJ108MCApIHJldHVybjsNCg0KDQokd2lkZ2V0ID0gbmV3IFdpZGdldEl0ZW0oKTsNCmlmICgkcGFyYW1zWydhZnRlciddPT0wKSB7DQogICAkYWZ0ZXJQb3NpdGlvbiA9IDA7DQp9IGVsc2Ugew0KICAgJHdpZGdldCA9IFdpZGdldEl0ZW06OmxvYWRfYnlfaWQoKGludCkkcGFyYW1zWydhZnRlciddKTsNCiAgICRhZnRlclBvc2l0aW9uID0gJHdpZGdldC0+X19nZXQoJ3Bvc2l0aW9uJyk7DQp9DQokd2lkZ2V0ID0gV2lkZ2V0SXRlbTo6bG9hZF9ieV9pZCgoaW50KSRwYXJhbXNbJ3dpZCddKTsNCiRmcm9tUG9zaXRpb24gPSAkd2lkZ2V0LT5fX2dldCgncG9zaXRpb24nKTsNCg0KJGRiID0gXGNtc191dGlsczo6Z2V0X2RiKCk7DQppZiAoJGZyb21Qb3NpdGlvbj4kYWZ0ZXJQb3NpdGlvbikgew0KICAgJHNxbCA9ICJVUERBVEUgIi5DTVNfREJfUFJFRklYLiJtb2R1bGVfd2lkZ2V0cw0KICAgICAgU0VUIHBvc2l0aW9uPXBvc2l0aW9uKzENCiAgICAgIFdIRVJFIHBvc2l0aW9uID4gJyRhZnRlclBvc2l0aW9uJyBBTkQgcG9zaXRpb24gPCAnJGZyb21Qb3NpdGlvbiciOw0KICAgJHJlcyA9ICRkYi0+RXhlY3V0ZSgkc3FsKTsNCg0KICAgJHNxbCA9ICJVUERBVEUgIi5DTVNfREJfUFJFRklYLiJtb2R1bGVfd2lkZ2V0cw0KICAgICAgU0VUIHBvc2l0aW9uPSRhZnRlclBvc2l0aW9uKzENCiAgICAgIFdIRVJFIGlkPSIuKGludCkkcGFyYW1zWyd3aWQnXTsNCiAgICRyZXMgPSAkZGItPkV4ZWN1dGUoJHNxbCk7DQoNCn0gZWxzZSB7DQogICAkc3FsID0gIlVQREFURSAiLkNNU19EQl9QUkVGSVguIm1vZHVsZV93aWRnZXRzDQogICAgICBTRVQgcG9zaXRpb249cG9zaXRpb24tMQ0KICAgICAgV0hFUkUgcG9zaXRpb24gPiAnJGZyb21Qb3NpdGlvbicgQU5EIHBvc2l0aW9uIDw9ICckYWZ0ZXJQb3NpdGlvbiciOw0KICAgJHJlcyA9ICRkYi0+RXhlY3V0ZSgkc3FsKTsNCg0KICAgJHNxbCA9ICJVUERBVEUgIi5DTVNfREJfUFJFRklYLiJtb2R1bGVfd2lkZ2V0cw0KICAgICAgU0VUIHBvc2l0aW9uPSRhZnRlclBvc2l0aW9uDQogICAgICBXSEVSRSBpZD0iLihpbnQpJHBhcmFtc1snd2lkJ107DQogICAkcmVzID0gJGRiLT5FeGVjdXRlKCRzcWwpOw0KfQ==]]></data>
	</file>
	<file>
	  <filename>/action.set_default_category.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFdpZGdldHM6OlVTRV9QRVJNKSApIHJldHVybjsNCg0KaWYgKCBpc3NldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSAmJiAkcGFyYW1zWydjYXRlZ29yeV9pZCddID4gMCkgew0KICAgJGNhdGVnb3J5ID0gV2lkZ2V0Q2F0ZWdvcnk6OmxvYWRfYnlfaWQoIChpbnQpJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSApOw0KICAgJGRlZmF1bHRTZXQgPSAkY2F0ZWdvcnktPnNldEFzRGVmYXVsdCgpOw0KDQogICBpZiAoICEkZGVmYXVsdFNldCApIHsNCiAgICAgICR0aGlzLT5TZXRFcnJvciggJHRoaXMtPkxhbmcoJ2RlZmF1bHRfY2F0ZWdvcnlfbm90X3NldCcpICk7DQogICB9IGVsc2Ugew0KICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoICR0aGlzLT5MYW5nKCdkZWZhdWx0X2NhdGVnb3J5X3NldCcpICk7DQogICAgICAkdGhpcy0+UmVkaXJlY3RUb0FkbWluVGFiKCdjYXRlZ29yaWVzJyk7DQogICB9DQoNCn0=]]></data>
	</file>
	<file>
	  <filename>/action.toggle_active_widget.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKFdpZGdldHM6OlVTRV9QRVJNKSApIHJldHVybjsNCg0KaWYgKCBpc3NldCgkcGFyYW1zWyd3aWQnXSkgJiYgJHBhcmFtc1snd2lkJ10gPiAwKSB7DQogICAkd2lkZ2V0ID0gV2lkZ2V0SXRlbTo6bG9hZF9ieV9pZCggKGludCkkcGFyYW1zWyd3aWQnXSApOw0KICAgJHdpZGdldC0+dG9nZ2xlX2FjdGl2ZSgpOw0KICAgJHRoaXMtPlJlZGlyZWN0VG9BZG1pblRhYignd2lkZ2V0cycpOw0KfQ==]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPg0KICAgPGxpPjxzdHJvbmc+VmVyc2lvbiAxLjI8L3N0cm9uZz4gLSAxNlNlcDE4DQogICAgICA8dWw+DQogICAgICAgICA8bGk+QWRkZWQgYW4gb3B0aW9uYWwgJ2ltYWdlJyBmb3IgZWFjaCBXaWRnZXQuIFVzZXMgZWl0aGVyIEpNRmlsZVBpY2tlciBvciB0aGUgY29yZSBGaWxlUGlja2VyIHRvIHNlbGVjdCAmIHVwbG9hZCBpbWFnZXM8L2xpPg0KICAgICAgICAgPGxpPlVwZGF0ZWQgdGhlIGRlZmF1bHQgdGVtcGxhdGU8L2xpPg0KICAgICAgICAgPGxpPmJ1ZyBmaXggZm9yIGVtcHR5IHN0eWxlczwvbGk+DQogICAgICAgICA8bGk+RlIjMTE2MTAgLSBDbGVhbiAkaXRlbXMgYmVmb3JlIHBhc3NpbmcgdG8gc21hcnR5IHRlbXBsYXRlPC9saT4NCiAgICAgIDwvdWw+DQogICA8L2xpPg0KICAgPGxpPjxzdHJvbmc+VmVyc2lvbiAxLjE8L3N0cm9uZz4gLSAwMkRlYzE2DQogICAgICA8dWw+DQogICAgICAgICA8bGk+QWRkZWQgb3B0aW9uIHRvIGRpc2FibGUgV1lTSVdZRyBmb3IgZWFjaCBXaWRnZXQ8L2xpPg0KICAgICAgICAgPGxpPkFkZGVkIEFwcGx5IG9wdGlvbiB3aGVuIGVkaXRpbmcgYSBXaWRnZXQ8L2xpPg0KICAgICAgPC91bD4NCiAgIDwvbGk+DQogICA8bGk+PHN0cm9uZz5WZXJzaW9uIDEuMDwvc3Ryb25nPiAtIDAxRGVjMTYNCiAgICAgIDx1bD4NCiAgICAgICAgIDxsaT5Jbml0aWFsIG1vZHVsZSByZWxlYXNlPC9saT4NCiAgICAgIDwvdWw+DQogICA8L2xpPg0KPC91bD4=]]></data>
	</file>
	<file>
	  <filename>/doc/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/doc/LICENCE.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgTW9kdWxlOiBXaWRnZXRzDQojIEF1dGhvcjogQ2hyaXMgVGF5bG9yDQojIENvcHlyaWdodDogKEMpIDIwMTYgQ2hyaXMgVGF5bG9yLCBjaHJpc0BiaW5ub3ZhdGl2ZS5jby51aw0KIyBMaWNlbmNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDMNCiMgICAgICAgICAgc2VlIC9XaWRnZXRzL2RvYy9MSUNFTkNFLnR4dCBvciA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIFByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIyBNb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9XaWRnZXRzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIw0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiAgICAgICAgICAgICAgICAgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UNCiAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAzLCAyOSBKdW5lIDIwMDcNCg0KIENvcHlyaWdodCAoQykgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4gPGh0dHA6Ly9mc2Yub3JnLz4NCiBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMNCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWFtYmxlDQoNCiAgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIGEgZnJlZSwgY29weWxlZnQgbGljZW5zZSBmb3INCnNvZnR3YXJlIGFuZCBvdGhlciBraW5kcyBvZiB3b3Jrcy4NCg0KICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYW5kIG90aGVyIHByYWN0aWNhbCB3b3JrcyBhcmUgZGVzaWduZWQNCnRvIHRha2UgYXdheSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSB0aGUgd29ya3MuICBCeSBjb250cmFzdCwNCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvDQpzaGFyZSBhbmQgY2hhbmdlIGFsbCB2ZXJzaW9ucyBvZiBhIHByb2dyYW0tLXRvIG1ha2Ugc3VyZSBpdCByZW1haW5zIGZyZWUNCnNvZnR3YXJlIGZvciBhbGwgaXRzIHVzZXJzLiAgV2UsIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIHVzZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvDQphbnkgb3RoZXIgd29yayByZWxlYXNlZCB0aGlzIHdheSBieSBpdHMgYXV0aG9ycy4gIFlvdSBjYW4gYXBwbHkgaXQgdG8NCnlvdXIgcHJvZ3JhbXMsIHRvby4NCg0KICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSwgbm90DQpwcmljZS4gIE91ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlcyBhcmUgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQgeW91DQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yDQp0aGVtIGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0IGlmIHlvdQ0Kd2FudCBpdCwgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdCBpbiBuZXcNCmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLg0KDQogIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gcHJldmVudCBvdGhlcnMgZnJvbSBkZW55aW5nIHlvdQ0KdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlDQpjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSwgb3IgaWYNCnlvdSBtb2RpZnkgaXQ6IHJlc3BvbnNpYmlsaXRpZXMgdG8gcmVzcGVjdCB0aGUgZnJlZWRvbSBvZiBvdGhlcnMuDQoNCiAgRm9yIGV4YW1wbGUsIGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiBzdWNoIGEgcHJvZ3JhbSwgd2hldGhlcg0KZ3JhdGlzIG9yIGZvciBhIGZlZSwgeW91IG11c3QgcGFzcyBvbiB0byB0aGUgcmVjaXBpZW50cyB0aGUgc2FtZQ0KZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUNCm9yIGNhbiBnZXQgdGhlIHNvdXJjZSBjb2RlLiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5DQprbm93IHRoZWlyIHJpZ2h0cy4NCg0KICBEZXZlbG9wZXJzIHRoYXQgdXNlIHRoZSBHTlUgR1BMIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCB0d28gc3RlcHM6DQooMSkgYXNzZXJ0IGNvcHlyaWdodCBvbiB0aGUgc29mdHdhcmUsIGFuZCAoMikgb2ZmZXIgeW91IHRoaXMgTGljZW5zZQ0KZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4NCg0KICBGb3IgdGhlIGRldmVsb3BlcnMnIGFuZCBhdXRob3JzJyBwcm90ZWN0aW9uLCB0aGUgR1BMIGNsZWFybHkgZXhwbGFpbnMNCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQNCmF1dGhvcnMnIHNha2UsIHRoZSBHUEwgcmVxdWlyZXMgdGhhdCBtb2RpZmllZCB2ZXJzaW9ucyBiZSBtYXJrZWQgYXMNCmNoYW5nZWQsIHNvIHRoYXQgdGhlaXIgcHJvYmxlbXMgd2lsbCBub3QgYmUgYXR0cmlidXRlZCBlcnJvbmVvdXNseSB0bw0KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4NCg0KICBTb21lIGRldmljZXMgYXJlIGRlc2lnbmVkIHRvIGRlbnkgdXNlcnMgYWNjZXNzIHRvIGluc3RhbGwgb3IgcnVuDQptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXINCmNhbiBkbyBzby4gIFRoaXMgaXMgZnVuZGFtZW50YWxseSBpbmNvbXBhdGlibGUgd2l0aCB0aGUgYWltIG9mDQpwcm90ZWN0aW5nIHVzZXJzJyBmcmVlZG9tIHRvIGNoYW5nZSB0aGUgc29mdHdhcmUuICBUaGUgc3lzdGVtYXRpYw0KcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8NCnVzZSwgd2hpY2ggaXMgcHJlY2lzZWx5IHdoZXJlIGl0IGlzIG1vc3QgdW5hY2NlcHRhYmxlLiAgVGhlcmVmb3JlLCB3ZQ0KaGF2ZSBkZXNpZ25lZCB0aGlzIHZlcnNpb24gb2YgdGhlIEdQTCB0byBwcm9oaWJpdCB0aGUgcHJhY3RpY2UgZm9yIHRob3NlDQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQ0Kc3RhbmQgcmVhZHkgdG8gZXh0ZW5kIHRoaXMgcHJvdmlzaW9uIHRvIHRob3NlIGRvbWFpbnMgaW4gZnV0dXJlIHZlcnNpb25zDQpvZiB0aGUgR1BMLCBhcyBuZWVkZWQgdG8gcHJvdGVjdCB0aGUgZnJlZWRvbSBvZiB1c2Vycy4NCg0KICBGaW5hbGx5LCBldmVyeSBwcm9ncmFtIGlzIHRocmVhdGVuZWQgY29uc3RhbnRseSBieSBzb2Z0d2FyZSBwYXRlbnRzLg0KU3RhdGVzIHNob3VsZCBub3QgYWxsb3cgcGF0ZW50cyB0byByZXN0cmljdCBkZXZlbG9wbWVudCBhbmQgdXNlIG9mDQpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bw0KYXZvaWQgdGhlIHNwZWNpYWwgZGFuZ2VyIHRoYXQgcGF0ZW50cyBhcHBsaWVkIHRvIGEgZnJlZSBwcm9ncmFtIGNvdWxkDQptYWtlIGl0IGVmZmVjdGl2ZWx5IHByb3ByaWV0YXJ5LiAgVG8gcHJldmVudCB0aGlzLCB0aGUgR1BMIGFzc3VyZXMgdGhhdA0KcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuDQoNCiAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQNCm1vZGlmaWNhdGlvbiBmb2xsb3cuDQoNCiAgICAgICAgICAgICAgICAgICAgICAgVEVSTVMgQU5EIENPTkRJVElPTlMNCg0KICAwLiBEZWZpbml0aW9ucy4NCg0KICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4NCg0KICAiQ29weXJpZ2h0IiBhbHNvIG1lYW5zIGNvcHlyaWdodC1saWtlIGxhd3MgdGhhdCBhcHBseSB0byBvdGhlciBraW5kcyBvZg0Kd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4NCg0KICAiVGhlIFByb2dyYW0iIHJlZmVycyB0byBhbnkgY29weXJpZ2h0YWJsZSB3b3JrIGxpY2Vuc2VkIHVuZGVyIHRoaXMNCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZA0KInJlY2lwaWVudHMiIG1heSBiZSBpbmRpdmlkdWFscyBvciBvcmdhbml6YXRpb25zLg0KDQogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsNCmluIGEgZmFzaGlvbiByZXF1aXJpbmcgY29weXJpZ2h0IHBlcm1pc3Npb24sIG90aGVyIHRoYW4gdGhlIG1ha2luZyBvZiBhbg0KZXhhY3QgY29weS4gIFRoZSByZXN1bHRpbmcgd29yayBpcyBjYWxsZWQgYSAibW9kaWZpZWQgdmVyc2lvbiIgb2YgdGhlDQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4NCg0KICBBICJjb3ZlcmVkIHdvcmsiIG1lYW5zIGVpdGhlciB0aGUgdW5tb2RpZmllZCBQcm9ncmFtIG9yIGEgd29yayBiYXNlZA0Kb24gdGhlIFByb2dyYW0uDQoNCiAgVG8gInByb3BhZ2F0ZSIgYSB3b3JrIG1lYW5zIHRvIGRvIGFueXRoaW5nIHdpdGggaXQgdGhhdCwgd2l0aG91dA0KcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcg0KaW5mcmluZ2VtZW50IHVuZGVyIGFwcGxpY2FibGUgY29weXJpZ2h0IGxhdywgZXhjZXB0IGV4ZWN1dGluZyBpdCBvbiBhDQpjb21wdXRlciBvciBtb2RpZnlpbmcgYSBwcml2YXRlIGNvcHkuICBQcm9wYWdhdGlvbiBpbmNsdWRlcyBjb3B5aW5nLA0KZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUNCnB1YmxpYywgYW5kIGluIHNvbWUgY291bnRyaWVzIG90aGVyIGFjdGl2aXRpZXMgYXMgd2VsbC4NCg0KICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyDQpwYXJ0aWVzIHRvIG1ha2Ugb3IgcmVjZWl2ZSBjb3BpZXMuICBNZXJlIGludGVyYWN0aW9uIHdpdGggYSB1c2VyIHRocm91Z2gNCmEgY29tcHV0ZXIgbmV0d29yaywgd2l0aCBubyB0cmFuc2ZlciBvZiBhIGNvcHksIGlzIG5vdCBjb252ZXlpbmcuDQoNCiAgQW4gaW50ZXJhY3RpdmUgdXNlciBpbnRlcmZhY2UgZGlzcGxheXMgIkFwcHJvcHJpYXRlIExlZ2FsIE5vdGljZXMiDQp0byB0aGUgZXh0ZW50IHRoYXQgaXQgaW5jbHVkZXMgYSBjb252ZW5pZW50IGFuZCBwcm9taW5lbnRseSB2aXNpYmxlDQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikNCnRlbGxzIHRoZSB1c2VyIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoZSB3b3JrIChleGNlcHQgdG8gdGhlDQpleHRlbnQgdGhhdCB3YXJyYW50aWVzIGFyZSBwcm92aWRlZCksIHRoYXQgbGljZW5zZWVzIG1heSBjb252ZXkgdGhlDQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZg0KdGhlIGludGVyZmFjZSBwcmVzZW50cyBhIGxpc3Qgb2YgdXNlciBjb21tYW5kcyBvciBvcHRpb25zLCBzdWNoIGFzIGENCm1lbnUsIGEgcHJvbWluZW50IGl0ZW0gaW4gdGhlIGxpc3QgbWVldHMgdGhpcyBjcml0ZXJpb24uDQoNCiAgMS4gU291cmNlIENvZGUuDQoNCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsNCmZvciBtYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gICJPYmplY3QgY29kZSIgbWVhbnMgYW55IG5vbi1zb3VyY2UNCmZvcm0gb2YgYSB3b3JrLg0KDQogIEEgIlN0YW5kYXJkIEludGVyZmFjZSIgbWVhbnMgYW4gaW50ZXJmYWNlIHRoYXQgZWl0aGVyIGlzIGFuIG9mZmljaWFsDQpzdGFuZGFyZCBkZWZpbmVkIGJ5IGEgcmVjb2duaXplZCBzdGFuZGFyZHMgYm9keSwgb3IsIGluIHRoZSBjYXNlIG9mDQppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdA0KaXMgd2lkZWx5IHVzZWQgYW1vbmcgZGV2ZWxvcGVycyB3b3JraW5nIGluIHRoYXQgbGFuZ3VhZ2UuDQoNCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXINCnRoYW4gdGhlIHdvcmsgYXMgYSB3aG9sZSwgdGhhdCAoYSkgaXMgaW5jbHVkZWQgaW4gdGhlIG5vcm1hbCBmb3JtIG9mDQpwYWNrYWdpbmcgYSBNYWpvciBDb21wb25lbnQsIGJ1dCB3aGljaCBpcyBub3QgcGFydCBvZiB0aGF0IE1ham9yDQpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQNCk1ham9yIENvbXBvbmVudCwgb3IgdG8gaW1wbGVtZW50IGEgU3RhbmRhcmQgSW50ZXJmYWNlIGZvciB3aGljaCBhbg0KaW1wbGVtZW50YXRpb24gaXMgYXZhaWxhYmxlIHRvIHRoZSBwdWJsaWMgaW4gc291cmNlIGNvZGUgZm9ybS4gIEENCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudA0KKGtlcm5lbCwgd2luZG93IHN5c3RlbSwgYW5kIHNvIG9uKSBvZiB0aGUgc3BlY2lmaWMgb3BlcmF0aW5nIHN5c3RlbQ0KKGlmIGFueSkgb24gd2hpY2ggdGhlIGV4ZWN1dGFibGUgd29yayBydW5zLCBvciBhIGNvbXBpbGVyIHVzZWQgdG8NCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0Lg0KDQogIFRoZSAiQ29ycmVzcG9uZGluZyBTb3VyY2UiIGZvciBhIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSBtZWFucyBhbGwNCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUNCndvcmspIHJ1biB0aGUgb2JqZWN0IGNvZGUgYW5kIHRvIG1vZGlmeSB0aGUgd29yaywgaW5jbHVkaW5nIHNjcmlwdHMgdG8NCmNvbnRyb2wgdGhvc2UgYWN0aXZpdGllcy4gIEhvd2V2ZXIsIGl0IGRvZXMgbm90IGluY2x1ZGUgdGhlIHdvcmsncw0KU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQ0KcHJvZ3JhbXMgd2hpY2ggYXJlIHVzZWQgdW5tb2RpZmllZCBpbiBwZXJmb3JtaW5nIHRob3NlIGFjdGl2aXRpZXMgYnV0DQp3aGljaCBhcmUgbm90IHBhcnQgb2YgdGhlIHdvcmsuICBGb3IgZXhhbXBsZSwgQ29ycmVzcG9uZGluZyBTb3VyY2UNCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yDQp0aGUgd29yaywgYW5kIHRoZSBzb3VyY2UgY29kZSBmb3Igc2hhcmVkIGxpYnJhcmllcyBhbmQgZHluYW1pY2FsbHkNCmxpbmtlZCBzdWJwcm9ncmFtcyB0aGF0IHRoZSB3b3JrIGlzIHNwZWNpZmljYWxseSBkZXNpZ25lZCB0byByZXF1aXJlLA0Kc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UNCnN1YnByb2dyYW1zIGFuZCBvdGhlciBwYXJ0cyBvZiB0aGUgd29yay4NCg0KICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzDQpjYW4gcmVnZW5lcmF0ZSBhdXRvbWF0aWNhbGx5IGZyb20gb3RoZXIgcGFydHMgb2YgdGhlIENvcnJlc3BvbmRpbmcNClNvdXJjZS4NCg0KICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGEgd29yayBpbiBzb3VyY2UgY29kZSBmb3JtIGlzIHRoYXQNCnNhbWUgd29yay4NCg0KICAyLiBCYXNpYyBQZXJtaXNzaW9ucy4NCg0KICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZg0KY29weXJpZ2h0IG9uIHRoZSBQcm9ncmFtLCBhbmQgYXJlIGlycmV2b2NhYmxlIHByb3ZpZGVkIHRoZSBzdGF0ZWQNCmNvbmRpdGlvbnMgYXJlIG1ldC4gIFRoaXMgTGljZW5zZSBleHBsaWNpdGx5IGFmZmlybXMgeW91ciB1bmxpbWl0ZWQNCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhDQpjb3ZlcmVkIHdvcmsgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2Ugb25seSBpZiB0aGUgb3V0cHV0LCBnaXZlbiBpdHMNCmNvbnRlbnQsIGNvbnN0aXR1dGVzIGEgY292ZXJlZCB3b3JrLiAgVGhpcyBMaWNlbnNlIGFja25vd2xlZGdlcyB5b3VyDQpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4NCg0KICBZb3UgbWF5IG1ha2UsIHJ1biBhbmQgcHJvcGFnYXRlIGNvdmVyZWQgd29ya3MgdGhhdCB5b3UgZG8gbm90DQpjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucw0KaW4gZm9yY2UuICBZb3UgbWF5IGNvbnZleSBjb3ZlcmVkIHdvcmtzIHRvIG90aGVycyBmb3IgdGhlIHNvbGUgcHVycG9zZQ0Kb2YgaGF2aW5nIHRoZW0gbWFrZSBtb2RpZmljYXRpb25zIGV4Y2x1c2l2ZWx5IGZvciB5b3UsIG9yIHByb3ZpZGUgeW91DQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoDQp0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlIGluIGNvbnZleWluZyBhbGwgbWF0ZXJpYWwgZm9yIHdoaWNoIHlvdSBkbw0Kbm90IGNvbnRyb2wgY29weXJpZ2h0LiAgVGhvc2UgdGh1cyBtYWtpbmcgb3IgcnVubmluZyB0aGUgY292ZXJlZCB3b3Jrcw0KZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbg0KYW5kIGNvbnRyb2wsIG9uIHRlcm1zIHRoYXQgcHJvaGliaXQgdGhlbSBmcm9tIG1ha2luZyBhbnkgY29waWVzIG9mDQp5b3VyIGNvcHlyaWdodGVkIG1hdGVyaWFsIG91dHNpZGUgdGhlaXIgcmVsYXRpb25zaGlwIHdpdGggeW91Lg0KDQogIENvbnZleWluZyB1bmRlciBhbnkgb3RoZXIgY2lyY3Vtc3RhbmNlcyBpcyBwZXJtaXR0ZWQgc29sZWx5IHVuZGVyDQp0aGUgY29uZGl0aW9ucyBzdGF0ZWQgYmVsb3cuICBTdWJsaWNlbnNpbmcgaXMgbm90IGFsbG93ZWQ7IHNlY3Rpb24gMTANCm1ha2VzIGl0IHVubmVjZXNzYXJ5Lg0KDQogIDMuIFByb3RlY3RpbmcgVXNlcnMnIExlZ2FsIFJpZ2h0cyBGcm9tIEFudGktQ2lyY3VtdmVudGlvbiBMYXcuDQoNCiAgTm8gY292ZXJlZCB3b3JrIHNoYWxsIGJlIGRlZW1lZCBwYXJ0IG9mIGFuIGVmZmVjdGl2ZSB0ZWNobm9sb2dpY2FsDQptZWFzdXJlIHVuZGVyIGFueSBhcHBsaWNhYmxlIGxhdyBmdWxmaWxsaW5nIG9ibGlnYXRpb25zIHVuZGVyIGFydGljbGUNCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcg0Kc2ltaWxhciBsYXdzIHByb2hpYml0aW5nIG9yIHJlc3RyaWN0aW5nIGNpcmN1bXZlbnRpb24gb2Ygc3VjaA0KbWVhc3VyZXMuDQoNCiAgV2hlbiB5b3UgY29udmV5IGEgY292ZXJlZCB3b3JrLCB5b3Ugd2FpdmUgYW55IGxlZ2FsIHBvd2VyIHRvIGZvcmJpZA0KY2lyY3VtdmVudGlvbiBvZiB0ZWNobm9sb2dpY2FsIG1lYXN1cmVzIHRvIHRoZSBleHRlbnQgc3VjaCBjaXJjdW12ZW50aW9uDQppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvDQp0aGUgY292ZXJlZCB3b3JrLCBhbmQgeW91IGRpc2NsYWltIGFueSBpbnRlbnRpb24gdG8gbGltaXQgb3BlcmF0aW9uIG9yDQptb2RpZmljYXRpb24gb2YgdGhlIHdvcmsgYXMgYSBtZWFucyBvZiBlbmZvcmNpbmcsIGFnYWluc3QgdGhlIHdvcmsncw0KdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mDQp0ZWNobm9sb2dpY2FsIG1lYXN1cmVzLg0KDQogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuDQoNCiAgWW91IG1heSBjb252ZXkgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3Mgc291cmNlIGNvZGUgYXMgeW91DQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZA0KYXBwcm9wcmlhdGVseSBwdWJsaXNoIG9uIGVhY2ggY29weSBhbiBhcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlOw0Ka2VlcCBpbnRhY3QgYWxsIG5vdGljZXMgc3RhdGluZyB0aGF0IHRoaXMgTGljZW5zZSBhbmQgYW55DQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7DQprZWVwIGludGFjdCBhbGwgbm90aWNlcyBvZiB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7IGFuZCBnaXZlIGFsbA0KcmVjaXBpZW50cyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlIGFsb25nIHdpdGggdGhlIFByb2dyYW0uDQoNCiAgWW91IG1heSBjaGFyZ2UgYW55IHByaWNlIG9yIG5vIHByaWNlIGZvciBlYWNoIGNvcHkgdGhhdCB5b3UgY29udmV5LA0KYW5kIHlvdSBtYXkgb2ZmZXIgc3VwcG9ydCBvciB3YXJyYW50eSBwcm90ZWN0aW9uIGZvciBhIGZlZS4NCg0KICA1LiBDb252ZXlpbmcgTW9kaWZpZWQgU291cmNlIFZlcnNpb25zLg0KDQogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8NCnByb2R1Y2UgaXQgZnJvbSB0aGUgUHJvZ3JhbSwgaW4gdGhlIGZvcm0gb2Ygc291cmNlIGNvZGUgdW5kZXIgdGhlDQp0ZXJtcyBvZiBzZWN0aW9uIDQsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoNCg0KICAgIGEpIFRoZSB3b3JrIG11c3QgY2FycnkgcHJvbWluZW50IG5vdGljZXMgc3RhdGluZyB0aGF0IHlvdSBtb2RpZmllZA0KICAgIGl0LCBhbmQgZ2l2aW5nIGEgcmVsZXZhbnQgZGF0ZS4NCg0KICAgIGIpIFRoZSB3b3JrIG11c3QgY2FycnkgcHJvbWluZW50IG5vdGljZXMgc3RhdGluZyB0aGF0IGl0IGlzDQogICAgcmVsZWFzZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFuZCBhbnkgY29uZGl0aW9ucyBhZGRlZCB1bmRlciBzZWN0aW9uDQogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bw0KICAgICJrZWVwIGludGFjdCBhbGwgbm90aWNlcyIuDQoNCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcw0KICAgIExpY2Vuc2UgdG8gYW55b25lIHdobyBjb21lcyBpbnRvIHBvc3Nlc3Npb24gb2YgYSBjb3B5LiAgVGhpcw0KICAgIExpY2Vuc2Ugd2lsbCB0aGVyZWZvcmUgYXBwbHksIGFsb25nIHdpdGggYW55IGFwcGxpY2FibGUgc2VjdGlvbiA3DQogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywNCiAgICByZWdhcmRsZXNzIG9mIGhvdyB0aGV5IGFyZSBwYWNrYWdlZC4gIFRoaXMgTGljZW5zZSBnaXZlcyBubw0KICAgIHBlcm1pc3Npb24gdG8gbGljZW5zZSB0aGUgd29yayBpbiBhbnkgb3RoZXIgd2F5LCBidXQgaXQgZG9lcyBub3QNCiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0Lg0KDQogICAgZCkgSWYgdGhlIHdvcmsgaGFzIGludGVyYWN0aXZlIHVzZXIgaW50ZXJmYWNlcywgZWFjaCBtdXN0IGRpc3BsYXkNCiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUNCiAgICBpbnRlcmZhY2VzIHRoYXQgZG8gbm90IGRpc3BsYXkgQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcywgeW91cg0KICAgIHdvcmsgbmVlZCBub3QgbWFrZSB0aGVtIGRvIHNvLg0KDQogIEEgY29tcGlsYXRpb24gb2YgYSBjb3ZlcmVkIHdvcmsgd2l0aCBvdGhlciBzZXBhcmF0ZSBhbmQgaW5kZXBlbmRlbnQNCndvcmtzLCB3aGljaCBhcmUgbm90IGJ5IHRoZWlyIG5hdHVyZSBleHRlbnNpb25zIG9mIHRoZSBjb3ZlcmVkIHdvcmssDQphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLA0KaW4gb3Igb24gYSB2b2x1bWUgb2YgYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0sIGlzIGNhbGxlZCBhbg0KImFnZ3JlZ2F0ZSIgaWYgdGhlIGNvbXBpbGF0aW9uIGFuZCBpdHMgcmVzdWx0aW5nIGNvcHlyaWdodCBhcmUgbm90DQp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzDQpiZXlvbmQgd2hhdCB0aGUgaW5kaXZpZHVhbCB3b3JrcyBwZXJtaXQuICBJbmNsdXNpb24gb2YgYSBjb3ZlcmVkIHdvcmsNCmluIGFuIGFnZ3JlZ2F0ZSBkb2VzIG5vdCBjYXVzZSB0aGlzIExpY2Vuc2UgdG8gYXBwbHkgdG8gdGhlIG90aGVyDQpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLg0KDQogIDYuIENvbnZleWluZyBOb24tU291cmNlIEZvcm1zLg0KDQogIFlvdSBtYXkgY29udmV5IGEgY292ZXJlZCB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gdW5kZXIgdGhlIHRlcm1zDQpvZiBzZWN0aW9ucyA0IGFuZCA1LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGNvbnZleSB0aGUNCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwNCmluIG9uZSBvZiB0aGVzZSB3YXlzOg0KDQogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdA0KICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgdGhlDQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgZml4ZWQgb24gYSBkdXJhYmxlIHBoeXNpY2FsIG1lZGl1bQ0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLg0KDQogICAgYikgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdA0KICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQ0KICAgIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5ZWFycyBhbmQgdmFsaWQgZm9yIGFzDQogICAgbG9uZyBhcyB5b3Ugb2ZmZXIgc3BhcmUgcGFydHMgb3IgY3VzdG9tZXIgc3VwcG9ydCBmb3IgdGhhdCBwcm9kdWN0DQogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQ0KICAgIGNvcHkgb2YgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGZvciBhbGwgdGhlIHNvZnR3YXJlIGluIHRoZQ0KICAgIHByb2R1Y3QgdGhhdCBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSwgb24gYSBkdXJhYmxlIHBoeXNpY2FsDQogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubw0KICAgIG1vcmUgdGhhbiB5b3VyIHJlYXNvbmFibGUgY29zdCBvZiBwaHlzaWNhbGx5IHBlcmZvcm1pbmcgdGhpcw0KICAgIGNvbnZleWluZyBvZiBzb3VyY2UsIG9yICgyKSBhY2Nlc3MgdG8gY29weSB0aGUNCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLg0KDQogICAgYykgQ29udmV5IGluZGl2aWR1YWwgY29waWVzIG9mIHRoZSBvYmplY3QgY29kZSB3aXRoIGEgY29weSBvZiB0aGUNCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcw0KICAgIGFsdGVybmF0aXZlIGlzIGFsbG93ZWQgb25seSBvY2Nhc2lvbmFsbHkgYW5kIG5vbmNvbW1lcmNpYWxseSwgYW5kDQogICAgb25seSBpZiB5b3UgcmVjZWl2ZWQgdGhlIG9iamVjdCBjb2RlIHdpdGggc3VjaCBhbiBvZmZlciwgaW4gYWNjb3JkDQogICAgd2l0aCBzdWJzZWN0aW9uIDZiLg0KDQogICAgZCkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBieSBvZmZlcmluZyBhY2Nlc3MgZnJvbSBhIGRlc2lnbmF0ZWQNCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUNCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBpbiB0aGUgc2FtZSB3YXkgdGhyb3VnaCB0aGUgc2FtZSBwbGFjZSBhdCBubw0KICAgIGZ1cnRoZXIgY2hhcmdlLiAgWW91IG5lZWQgbm90IHJlcXVpcmUgcmVjaXBpZW50cyB0byBjb3B5IHRoZQ0KICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvDQogICAgY29weSB0aGUgb2JqZWN0IGNvZGUgaXMgYSBuZXR3b3JrIHNlcnZlciwgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlDQogICAgbWF5IGJlIG9uIGEgZGlmZmVyZW50IHNlcnZlciAob3BlcmF0ZWQgYnkgeW91IG9yIGEgdGhpcmQgcGFydHkpDQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluDQogICAgY2xlYXIgZGlyZWN0aW9ucyBuZXh0IHRvIHRoZSBvYmplY3QgY29kZSBzYXlpbmcgd2hlcmUgdG8gZmluZCB0aGUNCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZS4gIFJlZ2FyZGxlc3Mgb2Ygd2hhdCBzZXJ2ZXIgaG9zdHMgdGhlDQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzDQogICAgYXZhaWxhYmxlIGZvciBhcyBsb25nIGFzIG5lZWRlZCB0byBzYXRpc2Z5IHRoZXNlIHJlcXVpcmVtZW50cy4NCg0KICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQNCiAgICB5b3UgaW5mb3JtIG90aGVyIHBlZXJzIHdoZXJlIHRoZSBvYmplY3QgY29kZSBhbmQgQ29ycmVzcG9uZGluZw0KICAgIFNvdXJjZSBvZiB0aGUgd29yayBhcmUgYmVpbmcgb2ZmZXJlZCB0byB0aGUgZ2VuZXJhbCBwdWJsaWMgYXQgbm8NCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4NCg0KICBBIHNlcGFyYWJsZSBwb3J0aW9uIG9mIHRoZSBvYmplY3QgY29kZSwgd2hvc2Ugc291cmNlIGNvZGUgaXMgZXhjbHVkZWQNCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlDQppbmNsdWRlZCBpbiBjb252ZXlpbmcgdGhlIG9iamVjdCBjb2RlIHdvcmsuDQoNCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkNCnRhbmdpYmxlIHBlcnNvbmFsIHByb3BlcnR5IHdoaWNoIGlzIG5vcm1hbGx5IHVzZWQgZm9yIHBlcnNvbmFsLCBmYW1pbHksDQpvciBob3VzZWhvbGQgcHVycG9zZXMsIG9yICgyKSBhbnl0aGluZyBkZXNpZ25lZCBvciBzb2xkIGZvciBpbmNvcnBvcmF0aW9uDQppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsDQpkb3VidGZ1bCBjYXNlcyBzaGFsbCBiZSByZXNvbHZlZCBpbiBmYXZvciBvZiBjb3ZlcmFnZS4gIEZvciBhIHBhcnRpY3VsYXINCnByb2R1Y3QgcmVjZWl2ZWQgYnkgYSBwYXJ0aWN1bGFyIHVzZXIsICJub3JtYWxseSB1c2VkIiByZWZlcnMgdG8gYQ0KdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzDQpvZiB0aGUgcGFydGljdWxhciB1c2VyIG9yIG9mIHRoZSB3YXkgaW4gd2hpY2ggdGhlIHBhcnRpY3VsYXIgdXNlcg0KYWN0dWFsbHkgdXNlcywgb3IgZXhwZWN0cyBvciBpcyBleHBlY3RlZCB0byB1c2UsIHRoZSBwcm9kdWN0LiAgQSBwcm9kdWN0DQppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbA0KY29tbWVyY2lhbCwgaW5kdXN0cmlhbCBvciBub24tY29uc3VtZXIgdXNlcywgdW5sZXNzIHN1Y2ggdXNlcyByZXByZXNlbnQNCnRoZSBvbmx5IHNpZ25pZmljYW50IG1vZGUgb2YgdXNlIG9mIHRoZSBwcm9kdWN0Lg0KDQogICJJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24iIGZvciBhIFVzZXIgUHJvZHVjdCBtZWFucyBhbnkgbWV0aG9kcywNCnByb2NlZHVyZXMsIGF1dGhvcml6YXRpb24ga2V5cywgb3Igb3RoZXIgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gaW5zdGFsbA0KYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQ0KYSBtb2RpZmllZCB2ZXJzaW9uIG9mIGl0cyBDb3JyZXNwb25kaW5nIFNvdXJjZS4gIFRoZSBpbmZvcm1hdGlvbiBtdXN0DQpzdWZmaWNlIHRvIGVuc3VyZSB0aGF0IHRoZSBjb250aW51ZWQgZnVuY3Rpb25pbmcgb2YgdGhlIG1vZGlmaWVkIG9iamVjdA0KY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UNCm1vZGlmaWNhdGlvbiBoYXMgYmVlbiBtYWRlLg0KDQogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yDQpzcGVjaWZpY2FsbHkgZm9yIHVzZSBpbiwgYSBVc2VyIFByb2R1Y3QsIGFuZCB0aGUgY29udmV5aW5nIG9jY3VycyBhcw0KcGFydCBvZiBhIHRyYW5zYWN0aW9uIGluIHdoaWNoIHRoZSByaWdodCBvZiBwb3NzZXNzaW9uIGFuZCB1c2Ugb2YgdGhlDQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhDQpmaXhlZCB0ZXJtIChyZWdhcmRsZXNzIG9mIGhvdyB0aGUgdHJhbnNhY3Rpb24gaXMgY2hhcmFjdGVyaXplZCksIHRoZQ0KQ29ycmVzcG9uZGluZyBTb3VyY2UgY29udmV5ZWQgdW5kZXIgdGhpcyBzZWN0aW9uIG11c3QgYmUgYWNjb21wYW5pZWQNCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQ0KaWYgbmVpdGhlciB5b3Ugbm9yIGFueSB0aGlyZCBwYXJ0eSByZXRhaW5zIHRoZSBhYmlsaXR5IHRvIGluc3RhbGwNCm1vZGlmaWVkIG9iamVjdCBjb2RlIG9uIHRoZSBVc2VyIFByb2R1Y3QgKGZvciBleGFtcGxlLCB0aGUgd29yayBoYXMNCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuDQoNCiAgVGhlIHJlcXVpcmVtZW50IHRvIHByb3ZpZGUgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIGRvZXMgbm90IGluY2x1ZGUgYQ0KcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzDQpmb3IgYSB3b3JrIHRoYXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkIGJ5IHRoZSByZWNpcGllbnQsIG9yIGZvcg0KdGhlIFVzZXIgUHJvZHVjdCBpbiB3aGljaCBpdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQuICBBY2Nlc3MgdG8gYQ0KbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQNCmFkdmVyc2VseSBhZmZlY3RzIHRoZSBvcGVyYXRpb24gb2YgdGhlIG5ldHdvcmsgb3IgdmlvbGF0ZXMgdGhlIHJ1bGVzIGFuZA0KcHJvdG9jb2xzIGZvciBjb21tdW5pY2F0aW9uIGFjcm9zcyB0aGUgbmV0d29yay4NCg0KICBDb3JyZXNwb25kaW5nIFNvdXJjZSBjb252ZXllZCwgYW5kIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBwcm92aWRlZCwNCmluIGFjY29yZCB3aXRoIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGluIGEgZm9ybWF0IHRoYXQgaXMgcHVibGljbHkNCmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluDQpzb3VyY2UgY29kZSBmb3JtKSwgYW5kIG11c3QgcmVxdWlyZSBubyBzcGVjaWFsIHBhc3N3b3JkIG9yIGtleSBmb3INCnVucGFja2luZywgcmVhZGluZyBvciBjb3B5aW5nLg0KDQogIDcuIEFkZGl0aW9uYWwgVGVybXMuDQoNCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMNCkxpY2Vuc2UgYnkgbWFraW5nIGV4Y2VwdGlvbnMgZnJvbSBvbmUgb3IgbW9yZSBvZiBpdHMgY29uZGl0aW9ucy4NCkFkZGl0aW9uYWwgcGVybWlzc2lvbnMgdGhhdCBhcmUgYXBwbGljYWJsZSB0byB0aGUgZW50aXJlIFByb2dyYW0gc2hhbGwNCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQNCnRoYXQgdGhleSBhcmUgdmFsaWQgdW5kZXIgYXBwbGljYWJsZSBsYXcuICBJZiBhZGRpdGlvbmFsIHBlcm1pc3Npb25zDQphcHBseSBvbmx5IHRvIHBhcnQgb2YgdGhlIFByb2dyYW0sIHRoYXQgcGFydCBtYXkgYmUgdXNlZCBzZXBhcmF0ZWx5DQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5DQp0aGlzIExpY2Vuc2Ugd2l0aG91dCByZWdhcmQgdG8gdGhlIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMuDQoNCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbg0KcmVtb3ZlIGFueSBhZGRpdGlvbmFsIHBlcm1pc3Npb25zIGZyb20gdGhhdCBjb3B5LCBvciBmcm9tIGFueSBwYXJ0IG9mDQppdC4gIChBZGRpdGlvbmFsIHBlcm1pc3Npb25zIG1heSBiZSB3cml0dGVuIHRvIHJlcXVpcmUgdGhlaXIgb3duDQpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UNCmFkZGl0aW9uYWwgcGVybWlzc2lvbnMgb24gbWF0ZXJpYWwsIGFkZGVkIGJ5IHlvdSB0byBhIGNvdmVyZWQgd29yaywNCmZvciB3aGljaCB5b3UgaGF2ZSBvciBjYW4gZ2l2ZSBhcHByb3ByaWF0ZSBjb3B5cmlnaHQgcGVybWlzc2lvbi4NCg0KICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIGZvciBtYXRlcmlhbCB5b3UNCmFkZCB0byBhIGNvdmVyZWQgd29yaywgeW91IG1heSAoaWYgYXV0aG9yaXplZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlcnMgb2YNCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOg0KDQogICAgYSkgRGlzY2xhaW1pbmcgd2FycmFudHkgb3IgbGltaXRpbmcgbGlhYmlsaXR5IGRpZmZlcmVudGx5IGZyb20gdGhlDQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3INCg0KICAgIGIpIFJlcXVpcmluZyBwcmVzZXJ2YXRpb24gb2Ygc3BlY2lmaWVkIHJlYXNvbmFibGUgbGVnYWwgbm90aWNlcyBvcg0KICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwNCiAgICBOb3RpY2VzIGRpc3BsYXllZCBieSB3b3JrcyBjb250YWluaW5nIGl0OyBvcg0KDQogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcg0KICAgIHJlcXVpcmluZyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIG9mIHN1Y2ggbWF0ZXJpYWwgYmUgbWFya2VkIGluDQogICAgcmVhc29uYWJsZSB3YXlzIGFzIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCB2ZXJzaW9uOyBvcg0KDQogICAgZCkgTGltaXRpbmcgdGhlIHVzZSBmb3IgcHVibGljaXR5IHB1cnBvc2VzIG9mIG5hbWVzIG9mIGxpY2Vuc29ycyBvcg0KICAgIGF1dGhvcnMgb2YgdGhlIG1hdGVyaWFsOyBvcg0KDQogICAgZSkgRGVjbGluaW5nIHRvIGdyYW50IHJpZ2h0cyB1bmRlciB0cmFkZW1hcmsgbGF3IGZvciB1c2Ugb2Ygc29tZQ0KICAgIHRyYWRlIG5hbWVzLCB0cmFkZW1hcmtzLCBvciBzZXJ2aWNlIG1hcmtzOyBvcg0KDQogICAgZikgUmVxdWlyaW5nIGluZGVtbmlmaWNhdGlvbiBvZiBsaWNlbnNvcnMgYW5kIGF1dGhvcnMgb2YgdGhhdA0KICAgIG1hdGVyaWFsIGJ5IGFueW9uZSB3aG8gY29udmV5cyB0aGUgbWF0ZXJpYWwgKG9yIG1vZGlmaWVkIHZlcnNpb25zIG9mDQogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcg0KICAgIGFueSBsaWFiaWxpdHkgdGhhdCB0aGVzZSBjb250cmFjdHVhbCBhc3N1bXB0aW9ucyBkaXJlY3RseSBpbXBvc2Ugb24NCiAgICB0aG9zZSBsaWNlbnNvcnMgYW5kIGF1dGhvcnMuDQoNCiAgQWxsIG90aGVyIG5vbi1wZXJtaXNzaXZlIGFkZGl0aW9uYWwgdGVybXMgYXJlIGNvbnNpZGVyZWQgImZ1cnRoZXINCnJlc3RyaWN0aW9ucyIgd2l0aGluIHRoZSBtZWFuaW5nIG9mIHNlY3Rpb24gMTAuICBJZiB0aGUgUHJvZ3JhbSBhcyB5b3UNCnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzDQpnb3Zlcm5lZCBieSB0aGlzIExpY2Vuc2UgYWxvbmcgd2l0aCBhIHRlcm0gdGhhdCBpcyBhIGZ1cnRoZXINCnJlc3RyaWN0aW9uLCB5b3UgbWF5IHJlbW92ZSB0aGF0IHRlcm0uICBJZiBhIGxpY2Vuc2UgZG9jdW1lbnQgY29udGFpbnMNCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcw0KTGljZW5zZSwgeW91IG1heSBhZGQgdG8gYSBjb3ZlcmVkIHdvcmsgbWF0ZXJpYWwgZ292ZXJuZWQgYnkgdGhlIHRlcm1zDQpvZiB0aGF0IGxpY2Vuc2UgZG9jdW1lbnQsIHByb3ZpZGVkIHRoYXQgdGhlIGZ1cnRoZXIgcmVzdHJpY3Rpb24gZG9lcw0Kbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuDQoNCiAgSWYgeW91IGFkZCB0ZXJtcyB0byBhIGNvdmVyZWQgd29yayBpbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24sIHlvdQ0KbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlDQphZGRpdGlvbmFsIHRlcm1zIHRoYXQgYXBwbHkgdG8gdGhvc2UgZmlsZXMsIG9yIGEgbm90aWNlIGluZGljYXRpbmcNCndoZXJlIHRvIGZpbmQgdGhlIGFwcGxpY2FibGUgdGVybXMuDQoNCiAgQWRkaXRpb25hbCB0ZXJtcywgcGVybWlzc2l2ZSBvciBub24tcGVybWlzc2l2ZSwgbWF5IGJlIHN0YXRlZCBpbiB0aGUNCmZvcm0gb2YgYSBzZXBhcmF0ZWx5IHdyaXR0ZW4gbGljZW5zZSwgb3Igc3RhdGVkIGFzIGV4Y2VwdGlvbnM7DQp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuDQoNCiAgOC4gVGVybWluYXRpb24uDQoNCiAgWW91IG1heSBub3QgcHJvcGFnYXRlIG9yIG1vZGlmeSBhIGNvdmVyZWQgd29yayBleGNlcHQgYXMgZXhwcmVzc2x5DQpwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgYXR0ZW1wdCBvdGhlcndpc2UgdG8gcHJvcGFnYXRlIG9yDQptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXINCnRoaXMgTGljZW5zZSAoaW5jbHVkaW5nIGFueSBwYXRlbnQgbGljZW5zZXMgZ3JhbnRlZCB1bmRlciB0aGUgdGhpcmQNCnBhcmFncmFwaCBvZiBzZWN0aW9uIDExKS4NCg0KICBIb3dldmVyLCBpZiB5b3UgY2Vhc2UgYWxsIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UsIHRoZW4geW91cg0KbGljZW5zZSBmcm9tIGEgcGFydGljdWxhciBjb3B5cmlnaHQgaG9sZGVyIGlzIHJlaW5zdGF0ZWQgKGEpDQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kDQpmaW5hbGx5IHRlcm1pbmF0ZXMgeW91ciBsaWNlbnNlLCBhbmQgKGIpIHBlcm1hbmVudGx5LCBpZiB0aGUgY29weXJpZ2h0DQpob2xkZXIgZmFpbHMgdG8gbm90aWZ5IHlvdSBvZiB0aGUgdmlvbGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJsZSBtZWFucw0KcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLg0KDQogIE1vcmVvdmVyLCB5b3VyIGxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcw0KcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlDQp2aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zLCB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHlvdSBoYXZlDQpyZWNlaXZlZCBub3RpY2Ugb2YgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSAoZm9yIGFueSB3b3JrKSBmcm9tIHRoYXQNCmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXINCnlvdXIgcmVjZWlwdCBvZiB0aGUgbm90aWNlLg0KDQogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlDQpsaWNlbnNlcyBvZiBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcyBvciByaWdodHMgZnJvbSB5b3UgdW5kZXINCnRoaXMgTGljZW5zZS4gIElmIHlvdXIgcmlnaHRzIGhhdmUgYmVlbiB0ZXJtaW5hdGVkIGFuZCBub3QgcGVybWFuZW50bHkNCnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUNCm1hdGVyaWFsIHVuZGVyIHNlY3Rpb24gMTAuDQoNCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuDQoNCiAgWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSBpbiBvcmRlciB0byByZWNlaXZlIG9yDQpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrDQpvY2N1cnJpbmcgc29sZWx5IGFzIGEgY29uc2VxdWVuY2Ugb2YgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbg0KdG8gcmVjZWl2ZSBhIGNvcHkgbGlrZXdpc2UgZG9lcyBub3QgcmVxdWlyZSBhY2NlcHRhbmNlLiAgSG93ZXZlciwNCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcg0KbW9kaWZ5IGFueSBjb3ZlcmVkIHdvcmsuICBUaGVzZSBhY3Rpb25zIGluZnJpbmdlIGNvcHlyaWdodCBpZiB5b3UgZG8NCm5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBieSBtb2RpZnlpbmcgb3IgcHJvcGFnYXRpbmcgYQ0KY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4NCg0KICAxMC4gQXV0b21hdGljIExpY2Vuc2luZyBvZiBEb3duc3RyZWFtIFJlY2lwaWVudHMuDQoNCiAgRWFjaCB0aW1lIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseQ0KcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlIG9yaWdpbmFsIGxpY2Vuc29ycywgdG8gcnVuLCBtb2RpZnkgYW5kDQpwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlDQpmb3IgZW5mb3JjaW5nIGNvbXBsaWFuY2UgYnkgdGhpcmQgcGFydGllcyB3aXRoIHRoaXMgTGljZW5zZS4NCg0KICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuDQpvcmdhbml6YXRpb24sIG9yIHN1YnN0YW50aWFsbHkgYWxsIGFzc2V0cyBvZiBvbmUsIG9yIHN1YmRpdmlkaW5nIGFuDQpvcmdhbml6YXRpb24sIG9yIG1lcmdpbmcgb3JnYW5pemF0aW9ucy4gIElmIHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZA0Kd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQNCnRyYW5zYWN0aW9uIHdobyByZWNlaXZlcyBhIGNvcHkgb2YgdGhlIHdvcmsgYWxzbyByZWNlaXZlcyB3aGF0ZXZlcg0KbGljZW5zZXMgdG8gdGhlIHdvcmsgdGhlIHBhcnR5J3MgcHJlZGVjZXNzb3IgaW4gaW50ZXJlc3QgaGFkIG9yIGNvdWxkDQpnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQ0KQ29ycmVzcG9uZGluZyBTb3VyY2Ugb2YgdGhlIHdvcmsgZnJvbSB0aGUgcHJlZGVjZXNzb3IgaW4gaW50ZXJlc3QsIGlmDQp0aGUgcHJlZGVjZXNzb3IgaGFzIGl0IG9yIGNhbiBnZXQgaXQgd2l0aCByZWFzb25hYmxlIGVmZm9ydHMuDQoNCiAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyIHJlc3RyaWN0aW9ucyBvbiB0aGUgZXhlcmNpc2Ugb2YgdGhlDQpyaWdodHMgZ3JhbnRlZCBvciBhZmZpcm1lZCB1bmRlciB0aGlzIExpY2Vuc2UuICBGb3IgZXhhbXBsZSwgeW91IG1heQ0Kbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mDQpyaWdodHMgZ3JhbnRlZCB1bmRlciB0aGlzIExpY2Vuc2UsIGFuZCB5b3UgbWF5IG5vdCBpbml0aWF0ZSBsaXRpZ2F0aW9uDQooaW5jbHVkaW5nIGEgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdA0KYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yDQpzYWxlLCBvciBpbXBvcnRpbmcgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24gb2YgaXQuDQoNCiAgMTEuIFBhdGVudHMuDQoNCiAgQSAiY29udHJpYnV0b3IiIGlzIGEgY29weXJpZ2h0IGhvbGRlciB3aG8gYXV0aG9yaXplcyB1c2UgdW5kZXIgdGhpcw0KTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUNCndvcmsgdGh1cyBsaWNlbnNlZCBpcyBjYWxsZWQgdGhlIGNvbnRyaWJ1dG9yJ3MgImNvbnRyaWJ1dG9yIHZlcnNpb24iLg0KDQogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcw0Kb3duZWQgb3IgY29udHJvbGxlZCBieSB0aGUgY29udHJpYnV0b3IsIHdoZXRoZXIgYWxyZWFkeSBhY3F1aXJlZCBvcg0KaGVyZWFmdGVyIGFjcXVpcmVkLCB0aGF0IHdvdWxkIGJlIGluZnJpbmdlZCBieSBzb21lIG1hbm5lciwgcGVybWl0dGVkDQpieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sDQpidXQgZG8gbm90IGluY2x1ZGUgY2xhaW1zIHRoYXQgd291bGQgYmUgaW5mcmluZ2VkIG9ubHkgYXMgYQ0KY29uc2VxdWVuY2Ugb2YgZnVydGhlciBtb2RpZmljYXRpb24gb2YgdGhlIGNvbnRyaWJ1dG9yIHZlcnNpb24uICBGb3INCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudA0KcGF0ZW50IHN1YmxpY2Vuc2VzIGluIGEgbWFubmVyIGNvbnNpc3RlbnQgd2l0aCB0aGUgcmVxdWlyZW1lbnRzIG9mDQp0aGlzIExpY2Vuc2UuDQoNCiAgRWFjaCBjb250cmlidXRvciBncmFudHMgeW91IGEgbm9uLWV4Y2x1c2l2ZSwgd29ybGR3aWRlLCByb3lhbHR5LWZyZWUNCnBhdGVudCBsaWNlbnNlIHVuZGVyIHRoZSBjb250cmlidXRvcidzIGVzc2VudGlhbCBwYXRlbnQgY2xhaW1zLCB0bw0KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kDQpwcm9wYWdhdGUgdGhlIGNvbnRlbnRzIG9mIGl0cyBjb250cmlidXRvciB2ZXJzaW9uLg0KDQogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzDQphZ3JlZW1lbnQgb3IgY29tbWl0bWVudCwgaG93ZXZlciBkZW5vbWluYXRlZCwgbm90IHRvIGVuZm9yY2UgYSBwYXRlbnQNCihzdWNoIGFzIGFuIGV4cHJlc3MgcGVybWlzc2lvbiB0byBwcmFjdGljZSBhIHBhdGVudCBvciBjb3ZlbmFudCBub3QgdG8NCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhDQpwYXJ0eSBtZWFucyB0byBtYWtlIHN1Y2ggYW4gYWdyZWVtZW50IG9yIGNvbW1pdG1lbnQgbm90IHRvIGVuZm9yY2UgYQ0KcGF0ZW50IGFnYWluc3QgdGhlIHBhcnR5Lg0KDQogIElmIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIGtub3dpbmdseSByZWx5aW5nIG9uIGEgcGF0ZW50IGxpY2Vuc2UsDQphbmQgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIG9mIHRoZSB3b3JrIGlzIG5vdCBhdmFpbGFibGUgZm9yIGFueW9uZQ0KdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQ0KcHVibGljbHkgYXZhaWxhYmxlIG5ldHdvcmsgc2VydmVyIG9yIG90aGVyIHJlYWRpbHkgYWNjZXNzaWJsZSBtZWFucywNCnRoZW4geW91IG11c3QgZWl0aGVyICgxKSBjYXVzZSB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdG8gYmUgc28NCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUNCnBhdGVudCBsaWNlbnNlIGZvciB0aGlzIHBhcnRpY3VsYXIgd29yaywgb3IgKDMpIGFycmFuZ2UsIGluIGEgbWFubmVyDQpjb25zaXN0ZW50IHdpdGggdGhlIHJlcXVpcmVtZW50cyBvZiB0aGlzIExpY2Vuc2UsIHRvIGV4dGVuZCB0aGUgcGF0ZW50DQpsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUNCmFjdHVhbCBrbm93bGVkZ2UgdGhhdCwgYnV0IGZvciB0aGUgcGF0ZW50IGxpY2Vuc2UsIHlvdXIgY29udmV5aW5nIHRoZQ0KY292ZXJlZCB3b3JrIGluIGEgY291bnRyeSwgb3IgeW91ciByZWNpcGllbnQncyB1c2Ugb2YgdGhlIGNvdmVyZWQgd29yaw0KaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0DQpjb3VudHJ5IHRoYXQgeW91IGhhdmUgcmVhc29uIHRvIGJlbGlldmUgYXJlIHZhbGlkLg0KDQogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3INCmFycmFuZ2VtZW50LCB5b3UgY29udmV5LCBvciBwcm9wYWdhdGUgYnkgcHJvY3VyaW5nIGNvbnZleWFuY2Ugb2YsIGENCmNvdmVyZWQgd29yaywgYW5kIGdyYW50IGEgcGF0ZW50IGxpY2Vuc2UgdG8gc29tZSBvZiB0aGUgcGFydGllcw0KcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5DQpvciBjb252ZXkgYSBzcGVjaWZpYyBjb3B5IG9mIHRoZSBjb3ZlcmVkIHdvcmssIHRoZW4gdGhlIHBhdGVudCBsaWNlbnNlDQp5b3UgZ3JhbnQgaXMgYXV0b21hdGljYWxseSBleHRlbmRlZCB0byBhbGwgcmVjaXBpZW50cyBvZiB0aGUgY292ZXJlZA0Kd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuDQoNCiAgQSBwYXRlbnQgbGljZW5zZSBpcyAiZGlzY3JpbWluYXRvcnkiIGlmIGl0IGRvZXMgbm90IGluY2x1ZGUgd2l0aGluDQp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcw0KY29uZGl0aW9uZWQgb24gdGhlIG5vbi1leGVyY2lzZSBvZiBvbmUgb3IgbW9yZSBvZiB0aGUgcmlnaHRzIHRoYXQgYXJlDQpzcGVjaWZpY2FsbHkgZ3JhbnRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBZb3UgbWF5IG5vdCBjb252ZXkgYSBjb3ZlcmVkDQp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcw0KaW4gdGhlIGJ1c2luZXNzIG9mIGRpc3RyaWJ1dGluZyBzb2Z0d2FyZSwgdW5kZXIgd2hpY2ggeW91IG1ha2UgcGF5bWVudA0KdG8gdGhlIHRoaXJkIHBhcnR5IGJhc2VkIG9uIHRoZSBleHRlbnQgb2YgeW91ciBhY3Rpdml0eSBvZiBjb252ZXlpbmcNCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQ0KcGFydGllcyB3aG8gd291bGQgcmVjZWl2ZSB0aGUgY292ZXJlZCB3b3JrIGZyb20geW91LCBhIGRpc2NyaW1pbmF0b3J5DQpwYXRlbnQgbGljZW5zZSAoYSkgaW4gY29ubmVjdGlvbiB3aXRoIGNvcGllcyBvZiB0aGUgY292ZXJlZCB3b3JrDQpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQ0KZm9yIGFuZCBpbiBjb25uZWN0aW9uIHdpdGggc3BlY2lmaWMgcHJvZHVjdHMgb3IgY29tcGlsYXRpb25zIHRoYXQNCmNvbnRhaW4gdGhlIGNvdmVyZWQgd29yaywgdW5sZXNzIHlvdSBlbnRlcmVkIGludG8gdGhhdCBhcnJhbmdlbWVudCwNCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuDQoNCiAgTm90aGluZyBpbiB0aGlzIExpY2Vuc2Ugc2hhbGwgYmUgY29uc3RydWVkIGFzIGV4Y2x1ZGluZyBvciBsaW1pdGluZw0KYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkNCm90aGVyd2lzZSBiZSBhdmFpbGFibGUgdG8geW91IHVuZGVyIGFwcGxpY2FibGUgcGF0ZW50IGxhdy4NCg0KICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4NCg0KICBJZiBjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yDQpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90DQpleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNhbm5vdCBjb252ZXkgYQ0KY292ZXJlZCB3b3JrIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzDQpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQ0Kbm90IGNvbnZleSBpdCBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgeW91IGFncmVlIHRvIHRlcm1zIHRoYXQgb2JsaWdhdGUgeW91DQp0byBjb2xsZWN0IGEgcm95YWx0eSBmb3IgZnVydGhlciBjb252ZXlpbmcgZnJvbSB0aG9zZSB0byB3aG9tIHlvdSBjb252ZXkNCnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcw0KTGljZW5zZSB3b3VsZCBiZSB0byByZWZyYWluIGVudGlyZWx5IGZyb20gY29udmV5aW5nIHRoZSBQcm9ncmFtLg0KDQogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLg0KDQogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgeW91IGhhdmUNCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQNCnVuZGVyIHZlcnNpb24gMyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGludG8gYSBzaW5nbGUNCmNvbWJpbmVkIHdvcmssIGFuZCB0byBjb252ZXkgdGhlIHJlc3VsdGluZyB3b3JrLiAgVGhlIHRlcm1zIG9mIHRoaXMNCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLA0KYnV0IHRoZSBzcGVjaWFsIHJlcXVpcmVtZW50cyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLA0Kc2VjdGlvbiAxMywgY29uY2VybmluZyBpbnRlcmFjdGlvbiB0aHJvdWdoIGEgbmV0d29yayB3aWxsIGFwcGx5IHRvIHRoZQ0KY29tYmluYXRpb24gYXMgc3VjaC4NCg0KICAxNC4gUmV2aXNlZCBWZXJzaW9ucyBvZiB0aGlzIExpY2Vuc2UuDQoNCiAgVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMgb2YNCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3IHZlcnNpb25zIHdpbGwNCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bw0KYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuDQoNCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUNClByb2dyYW0gc3BlY2lmaWVzIHRoYXQgYSBjZXJ0YWluIG51bWJlcmVkIHZlcnNpb24gb2YgdGhlIEdOVSBHZW5lcmFsDQpQdWJsaWMgTGljZW5zZSAib3IgYW55IGxhdGVyIHZlcnNpb24iIGFwcGxpZXMgdG8gaXQsIHlvdSBoYXZlIHRoZQ0Kb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQNCnZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLiAgSWYgdGhlIFByb2dyYW0gZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkDQpieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KDQogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUNCnZlcnNpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBjYW4gYmUgdXNlZCwgdGhhdCBwcm94eSdzDQpwdWJsaWMgc3RhdGVtZW50IG9mIGFjY2VwdGFuY2Ugb2YgYSB2ZXJzaW9uIHBlcm1hbmVudGx5IGF1dGhvcml6ZXMgeW91DQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4NCg0KICBMYXRlciBsaWNlbnNlIHZlcnNpb25zIG1heSBnaXZlIHlvdSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudA0KcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQ0KYXV0aG9yIG9yIGNvcHlyaWdodCBob2xkZXIgYXMgYSByZXN1bHQgb2YgeW91ciBjaG9vc2luZyB0byBmb2xsb3cgYQ0KbGF0ZXIgdmVyc2lvbi4NCg0KICAxNS4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4NCg0KICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZDQpBUFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOIE9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUDQpIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTIFBST1ZJREUgVEhFIFBST0dSQU0gIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZDQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywNClRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVINClBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMgVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRSBQUk9HUkFNDQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YNCkFMTCBORUNFU1NBUlkgU0VSVklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4NCg0KICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuDQoNCiAgSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTiBXUklUSU5HDQpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTDQpUSEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsIElOQ0xVRElORyBBTlkNCkdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VUIE9GIFRIRQ0KVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRg0KREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWSBZT1UgT1IgVEhJUkQNClBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIgUFJPR1JBTVMpLA0KRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRg0KU1VDSCBEQU1BR0VTLg0KDQogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuDQoNCiAgSWYgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudHkgYW5kIGxpbWl0YXRpb24gb2YgbGlhYmlsaXR5IHByb3ZpZGVkDQphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywNCnJldmlld2luZyBjb3VydHMgc2hhbGwgYXBwbHkgbG9jYWwgbGF3IHRoYXQgbW9zdCBjbG9zZWx5IGFwcHJveGltYXRlcw0KYW4gYWJzb2x1dGUgd2FpdmVyIG9mIGFsbCBjaXZpbCBsaWFiaWxpdHkgaW4gY29ubmVjdGlvbiB3aXRoIHRoZQ0KUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQ0KY29weSBvZiB0aGUgUHJvZ3JhbSBpbiByZXR1cm4gZm9yIGEgZmVlLg0KDQogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlM=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnV2lkZ2V0cyc7DQokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIGZvciBtYW5hZ2luZyBhbmQgZGlzcGxheWluZyBXaWRnZXRzIC0gYmxvY2tzIG9mIGNvbnRlbnQgdGhhdCBjYW4gYmUgYWRkZWQgdG8gbWFueSBwYWdlcyc7DQokbGFuZ1snYXNrX3VuaW5zdGFsbCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgdGhlIFdpZGdldHMgbW9kdWxlPyBBbGwgd2lkZ2V0DQpkYXRhIHdpbGwgYmUgcGVybWFuZW50bHkgZGVsZXRlZC4nOw0KDQokbGFuZ1snYWRkX3dpZGdldCddID0gJ0NyZWF0ZSBOZXcgV2lkZ2V0JzsNCiRsYW5nWydlZGl0X3dpZGdldCddID0gJ0VkaXQgV2lkZ2V0JzsNCg0KJGxhbmdbJ3dpZGdldF9zYXZlZCddID0gJ1RoaXMgd2lkZ2V0IGlzIG5vdyBzYXZlZCc7DQokbGFuZ1snd2lkZ2V0X25vdHNhdmVkJ10gPSAnVGhpcyB3aWRnZXQgZGlkIG5vdCBzYXZlJzsNCiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOw0KJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7DQokbGFuZ1snYXBwbHknXSA9ICdBcHBseSc7DQokbGFuZ1snbmFtZSddID0gJ05hbWUnOw0KJGxhbmdbJ2RhdGUnXSA9ICdEYXRlJzsNCiRsYW5nWydwdWJsaXNoZWQnXSA9ICdQdWJsaXNoZWQnOw0KJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOw0KDQokbGFuZ1snZWRpdCddID0gJ0VkaXQgdGhpcyc7DQoNCiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUgdGhpcyc7DQokbGFuZ1snY29uZmlybV9kZWxldGUnXSA9ICdBcmUgeW91IHN1cmUgdGhhdCB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBXaWRnZXQnOw0KJGxhbmdbJ3dpZGdldF9kZWxldGVkJ10gPSAnVGhpcyB3aWRnZXQgaXMgbm93IGRlbGV0ZWQnOw0KDQokbGFuZ1snc29ycnlfbm93aWRnZXRzJ10gPSAnU29ycnksIHdlIGNvdWxkIG5vdCBmaW5kIGFueSB3aWRnZXRzIHRoYXQgbWF0Y2ggdGhlIHNwZWNpZmllZCBjcml0ZXJpYSc7DQoNCiRsYW5nWyd3aWRnZXRfZGV0YWlsJ10gPSAnd2lkZ2V0IERldGFpbCc7DQokbGFuZ1snZXJyb3Jfbm90Zm91bmQnXSA9ICdUaGUgd2lkZ2V0IHNwZWNpZmllZCBjb3VsZCBub3QgYmUgZGlzcGxheWVkJzsNCiRsYW5nWydwYXJhbV93aWQnXSA9ICdTcGVjaWZ5IGFuIGlkIChpbnRlZ2VyKSBvZiBhIHdpZGdldCB0byBkaXNwbGF5JzsNCiRsYW5nWydwYXJhbV90ZW1wbGF0ZSddID0gJ1NwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIFdpZGdldCB0ZW1wbGF0ZSB0byB1c2UuJzsNCiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ1NwZWNpZnkgYW4gYWxpYXMgb2YgdGhlIGNhdGVnb3J5IGRpc3BsYXllZCBpdGVtcyBtdXN0IGJlIGEgbWVtYmVyIG9mLic7DQokbGFuZ1sncGFyYW1faXRlbXMnXSA9ICdTcGVjaWZ5IGFuIGFsaWFzIG9yIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIFdpZGdldCBhbGlhc2VzIHRvIGJlIGRpc3BsYXllZC4nOw0KDQokbGFuZ1sncHJldmlldyddID0gJ1ByZXZpZXcnOw0KDQokbGFuZ1snbmVlZF9wZXJtaXNzaW9uJ10gPSAnWW91IG5lZWQgcGVybWlzc2lvbiB0byB1c2UgdGhpcyBtb2R1bGUnOw0KDQokbGFuZ1sndGFiX3dpZGdldHMnXSA9ICdXaWRnZXRzJzsNCiRsYW5nWyd0YWJfY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMnOw0KJGxhbmdbJ3RhYl9vcHRpb25zJ10gPSAnT3B0aW9ucyc7DQoNCiRsYW5nWyd0aXRsZV9jdXN0b21Nb2R1bGVOYW1lJ10gPSAnQ3VzdG9tIE1vZHVsZSBOYW1lJzsNCiRsYW5nWyd0aXRsZV9hZG1pblNlY3Rpb24nXSA9ICdNb2R1bGUgQWRtaW4gU2VjdGlvbic7DQokbGFuZ1sndGl0bGVfd2lkZ2V0U3R5bGVPcHRpb25zJ10gPSAnV2lkZ2V0IFN0eWxlIE9wdGlvbnMnOw0KJGxhbmdbJ2hlbHBfd2lkZ2V0U3R5bGVPcHRpb25zJ10gPSAnQ1NTIGNsYXNzZXMgdGhhdCBjYW4gYmUgc2VsZWN0ZWQgZm9yIGVhY2ggV2lkZ2V0LiBTbWFydHkgdGFncyBjYW4gYmUgdXNlZCBpbiBoZXJlLg0KICAgRWFjaCBvcHRpb24gaXMgc2VwYXJhdGVkIGJ5IGEgbGluZSBicmVhay4gRGVzY3JpcHRpb25zIGNhbiBiZSBzZXBhcmF0ZWQgZnJvbSBDU1MgY2xhc3Mgd2l0aCBhID0gY2hhcmFjdGVyLiBGb3IgZXhhbXBsZTogSGlkZSBvbiBQaG9uZXM9aGlkZGVuLXhzJzsNCiRsYW5nWyd0aXRsZV9lbmFibGVJbWFnZXMnXSA9ICdFbmFibGUgV2lkZ2V0IEltYWdlcyc7DQokbGFuZ1snaGVscF9lbmFibGVJbWFnZXMnXSA9ICdFbmFibGUgYW4gaW1hZ2UgdG8gYmUgb3B0aW9uYWxseSBzZWxlY3RlZCBmb3IgZWFjaCBXaWRnZXQuJzsNCg0KJGxhbmdbJ3NldHRpbmdzX3NhdmVkJ10gPSAnWW91ciBjaGFuZ2VzIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgc2F2ZWQuJzsNCg0KDQokbGFuZ1sndGl0bGVfdGl0bGUnXSA9ICdUaXRsZSc7DQokbGFuZ1sndGl0bGVfYWxpYXMnXSA9ICdBbGlhcyc7DQokbGFuZ1sndGl0bGVfY2F0ZWdvcnknXSA9ICdDYXRlZ29yeSc7DQokbGFuZ1sndGl0bGVfYWN0aXZlJ10gPSAnQWN0aXZlJzsNCiRsYW5nWyd0aXRsZV9oZWFkaW5nJ10gPSAnSGVhZGluZyc7DQokbGFuZ1sndGl0bGVfY29udGVudCddID0gJ0NvbnRlbnQnOw0KJGxhbmdbJ3RpdGxlX2xpbmtfdG8nXSA9ICdMaW5rIFRvJzsNCiRsYW5nWyd0aXRsZV9saW5rX3RleHQnXSA9ICdMaW5rIFRleHQnOw0KJGxhbmdbJ3RpdGxlX3N0eWxlX29wdGlvbnMnXSA9ICdXaWRnZXQgU3R5bGUgT3B0aW9ucyc7DQokbGFuZ1sndGl0bGVfd3lzaXd5ZyddID0gJ1VzZSBXWVNJV1lHJzsNCiRsYW5nWyd0aXRsZV9kZWZhdWx0J10gPSAnRGVmYXVsdCc7DQokbGFuZ1sndGl0bGVfaW1hZ2UnXSA9ICdJbWFnZSc7DQokbGFuZ1sndGl0bGVfaW1hZ2VEaXInXSA9ICdJbWFnZSBEaXJlY3RvcnknOw0KDQokbGFuZ1snaGVscF90aXRsZSddID0gJ29ubHkgdmlzaWJsZSBpbiBDTVMnOw0KJGxhbmdbJ2hlbHBfaGVhZGluZyddID0gJ29wdGlvbmFsJzsNCiRsYW5nWydoZWxwX2NvbnRlbnQnXSA9ICdJbmNsdWRpbmcgVGV4dCAmIEltYWdlcywgdXNlIEgyIG9yIEgzIGZvciBoZWFkaW5ncyc7DQokbGFuZ1snaGVscF9saW5rX3RvJ10gPSAnc2VsZWN0IHBhZ2UgdG8gbGluayB0byAtIG9wdGlvbmFsJzsNCiRsYW5nWydoZWxwX2xpbmtfdGV4dCddID0gJ1RleHQgZm9yIGxpbmsgYnV0dG9uIChkZWZhdWx0OiBSZWFkIG1vcmUpJzsNCiRsYW5nWydoZWxwX3N0eWxlX29wdGlvbnMnXSA9ICdDdHJsK2NsaWNrIHRvIHNlbGVjdCBtdWx0aXBsZSBvcHRpb25zIGJlbG93IHRvIGNoYW5nZSBob3cgdGhlIHdpZGdldCBpcyBkaXNwbGF5ZWQnOw0KJGxhbmdbJ2hlbHBfaW1hZ2UnXSA9ICdvcHRpb25hbCc7DQokbGFuZ1snaGVscF9pbWFnZURpciddID0gJ0RpcmVjdG9yeSByZWxhdGl2ZSB0byAvdXBsb2FkcywgdG8gdXNlIGZvciBXaWRnZXQgSW1hZ2VzIChvcHRvaW5hbCknOw0KDQokbGFuZ1snaGVscCddID0gPDw8J0VPRCcNCjxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KPHA+J1dpZGdldHMnIHByb3ZpZGVzIGNvbnRlbnQgYmxvY2tzIHRoYXQgY2FuIGJlIGVhc2lseSBzaG93biBhY3Jvc3MgbXVsdGlwbGUgcGFnZXMuIFRoZSAnV2lkZ2V0JyBjYW4gYmUgY3JlYXRlZC9lZGl0ZWQgb25jZSwgYW5kIGFkZGVkIHRvIG11bHRpcGxlIHBhZ2VzLiBJbmNsdWRlcyBhIGRyYWctbi1kcm9wIHNlbGVjdGlvbiBvZiBhdmFpbGFibGUgV2lkZ2V0cyB3aXRoaW4gY29udGVudCBwYWdlcy48L3A+PGJyPg0KPHA+RWFjaCBXaWRnZXQgaW5jbHVkZXMgYW4gb3B0aW9uYWwgaGVhZGluZyBhbmQgYSBzaW1wbGUgb3B0aW9uIGZvciBsaW5raW5nIHRvIG90aGVyIGNvbnRlbnQgcGFnZXMuIEV4YW1wbGVzIG9mIHVzZTogV2lkZ2V0cyB0aGF0IGNhbiBiZSBvcHRpb25hbGx5IHBsYWNlZCBpbiB0aGUgc2lkZWJhciBvZiBib3R0b20gb2YgY29udGVudCBwYWdlcywgY29tbW9ubHkgdXNlZCBhcyBlLmcuIExhdGVzdCBOZXdzLCBTaWRlYmFyIEVucXVpcnkgRm9ybSwgU29jaWFsIE1lZGlhIFNoYXJpbmcgTGlua3MsIEN1c3RvbWVyIFJldmlld3MsIC4uLjwvcD4NCjxicj4NCg0KPGgzPkdldHRpbmcgU3RhcnRlZDwvaDM+DQo8cD4xLiBBZGQgdGhlIGZvbGxvd2luZyB0YWcgYXQgdGhlIHRvcCBvZiBhIHBhZ2UgdGVtcGxhdGUsICh0aGlzIGNyZWF0ZXMgdGhlIGRyYWctbi1kcm9wIGZpZWxkcyBpbiB0aGUgQ29udGVudCBNYW5hZ2VyIHBhZ2UpOjwvcD4NCjxwcmU+e2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0nV2lkZ2V0cycgYmxvY2s9J3Rlc3QxJyBhc3NpZ249dGVzdDF9eyR0ZXN0MT0kdGVzdDEgc2NvcGU9Z2xvYmFsfTwvcHJlPg0KPHA+Mi4gV2l0aGluIHRoZSBodG1sIGJvZHkgKGUuZy4gaW4gYSBzaWRlYmFyIGNvbHVtbiksIGFkZCB0aGUgZm9sbG93aW5nLiAoVGhpcyBnZW5lcmF0ZXMgdGhlIG91dHB1dCBvZiB0aGUgc2VsZWN0ZWQgV2lkZ2V0cyB1c2luZyB0aGUgV2lkZ2V0IHRlbXBsYXRlLCBlaXRoZXIgZGVmYXVsdCBvciBzcGVjaWZpZWQpOjwvcD4NCjxwcmU+e1dpZGdldHMgaXRlbXM9JHRlc3QxfTwvcHJlPg0KPHA+My4gQWRkIGEgZmV3IHRlc3QgV2lkZ2V0cyB3aXRoIGR1bW15IGNvbnRlbnQsIGFuZCB2aWV3IGEgcGFnZSB1c2luZyB0aGF0IHRlbXBsYXRlIGluIENvbnRlbnQgTWFuYWdlciwgYW5kIG9uIHRoZSBmcm9udCBlbmQuPC9wPjxicj4NCjxwPjQuIFNldCBHcm91cCBQZXJtaXNzaW9ucyBmb3IgdGhpcyBtb2R1bGUgaWYgeW91IGludGVuZCBFZGl0b3JzIG9yIG90aGVyIGdyb3VwcyB0byBlZGl0IFdpZGdldHMuPC9wPg0KPGJyPg0KDQo8aDM+Q29udGVudCBCbG9jayBwYXJhbWV0ZXJzPC9oMz4NCjxwPnRoZSBmb2xsb3dpbmcgb3B0aW9ucyBjYW4gYmUgaW5jbHVkZWQgaW4gdGhlICdXaWRnZXRzJyBjb250ZW50X21vZHVsZSB0YWcuIE1pbmltdW0gcmVxdWlyZWQgaXM6PC9wPg0KPHByZT57Y29udGVudF9tb2R1bGUgbW9kdWxlPSdXaWRnZXRzJyBibG9jaz0ndGVzdDEnfTwvcHJlPg0KPHVsPg0KICAgPGxpPihyZXF1aXJlZCkgbW9kdWxlPSdXaWRnZXRzJyAtIHRlbGxzIENNU01TIHRvIHBhc3MgdGhlc2UgZGV0YWlscyB0byB0aGUgV2lkZ2V0cyBtb2R1bGUqPC9saT4NCiAgIDxsaT4ocmVxdWlyZWQpIGJsb2NrIC0gdGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgYmxvY2ssIHRoYXQgc3RvcmVzIHRoZSBzZWxlY3RlZCBXaWRnZXRzKjwvbGk+DQogICA8bGk+KG9wdGlvbmFsKSBsYWJlbCAtIGEgbGFiZWwgZm9yIHRoZSBjb250ZW50IGJsb2NrIGZvciB1c2Ugd2hlbiBlZGl0aW5nIHRoZSBwYWdlKjwvbGk+DQogICA8bGk+KG9wdGlvbmFsKSBjYXRlZ29yeSAtIHNwZWNpZnkgdGhlIGNhdGVnb3J5IG9mIFdpZGdldHMgYXZhaWxhYmxlIGZvciBzZWxlY3Rpb24gKGRlZmF1bHQgaXMgYWxsIFdpZGdldHMpPC9saT4NCiAgIDxsaT4ob3B0aW9uYWwpIGRlc2NyaXB0aW9uIC0gYW4gYWRkaXRpb25hbCB0ZXh0IGRlc2NyaXB0aW9uIGZvciBpbnN0cnVjdGlvbnMgdG8gZWRpdG9yczwvbGk+DQogICA8bGk+KG9wdGlvbmFsKSBsYWJlbF9sZWZ0IC0gYWx0ZXJuYXRpdmUgbGFiZWwgZm9yIHRoZSBsZWZ0IHNldCBvZiAnU2VsZWN0ZWQgV2lkZ2V0cyc8L2xpPg0KICAgPGxpPihvcHRpb25hbCkgbGFiZWxfcmlnaHQgLSBhbHRlcm5hdGl2ZSBsYWJlbCBmb3IgdGhlIHJpZ2h0IHNldCBvZiAnQXZhaWxhYmxlIFdpZGdldHMnPC9saT4NCiAgIDxsaT4ob3B0aW9uYWwpIHRhYiAtIHRoZSBkZXNpcmVkIHRhYiB0byBkaXNwbGF5IHRoaXMgZmllbGQgb24gdGhlIENvbnRlbnQgTWFuYWdlciBwYWdlKjwvbGk+DQogICA8bGk+KG9wdGlvbmFsKSBhc3NpZ24gKHN0cmluZykgLSBhc3NpZ25zIHRoZSByZXN1bHQgdG8gYSBzbWFydHkgdmFyaWFibGUgd2l0aCB0aGF0IG5hbWUqPC9saT4NCjwvdWw+DQo8cD48c21hbGw+KCogPSBhcyBwZXIgZGVmYXVsdCBjb250ZW50X21vZHVsZSB0YWcgKTwvc21hbGw+PC9wPg0KPGJyPg0KDQo8aDM+V2lkZ2V0cyBPdXRwdXQ8L2gzPg0KPHA+dGhlIGZvbGxvd2luZyBvcHRpb25zIGNhbiBiZSBpbmNsdWRlZCBpbiB0aGUgJ1dpZGdldHMnIHRhZywgdG8gb3V0cHV0IHRoZSBzZWxlY3RlZCBXaWRnZXRzLiBNaW5pbXVtIHJlcXVpcmVkIGlzOjwvcD4NCjxwcmU+e1dpZGdldHN9PC9wcmU+DQo8cD5TZWUgPHN0cm9uZz5QYXJhbWV0ZXJzPC9zdHJvbmc+IGJlbG93IGZvciBwb3NzaWJsZSBwYXJhbWV0ZXJzLjwvcD4NCjxicj4NCg0KPGgzPlBlcm1pc3Npb25zPC9oMz4NCjxwPlBlcm1pc3Npb25zIGV4aXN0IHRvOjwvcD4NCjx1bD4NCiAgIDxsaT5XaWRnZXRzIC0gVXNlIC0gY2FuIGNyZWF0ZSwgZWRpdCwgZGVsZXRlIFdpZGdldHMgJmFtcDsgQ2F0ZWdvcmllczwvbGk+DQogICA8bGk+V2lkZ2V0cyAtIE1hbmFnZSAtIGFzIGFib3ZlLCBwbHVzIGNhbiBzZXQgT3B0aW9uczwvbGk+DQo8L3VsPjxicj4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+QXMgcGVyIHRoZSBHUEwgbGljZW5jZSwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcyBpcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuDQpUaGUgbW9kdWxlIGF1dGhvciBpcyBub3Qgb2JsaWdhdGVkIHRvIHByb3ZpZGUgc3VwcG9ydCBmb3IgdGhpcyBjb2RlLiBIb3dldmVyIHlvdSBtaWdodCBnZXQgc3VwcG9ydCB0aHJvdWdoIHRoZSBmb2xsb3dpbmc6PC9wPg0KPHVsPg0KICAgPGxpPkZvciBzdXBwb3J0LCBmaXJzdCA8c3Ryb25nPnNlYXJjaDwvc3Ryb25nPiB0aGUgPGEgaHJlZj0iLy9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtPC9hPiwgZm9yIGlzc3VlcyB3aXRoIHRoZSBtb2R1bGUgc2ltaWxhciB0byB0aG9zZSB5b3UgYXJlIGZpbmRpbmcuPC9saT4NCiAgIDxsaT5UaGVuLCBpZiBuZWNlc3NhcnksIG9wZW4gYSA8c3Ryb25nPm5ldyBmb3J1bSB0b3BpYzwvc3Ryb25nPiB0byByZXF1ZXN0IGhlbHAsIHdpdGggYSB0aG9yb3VnaCBkZXNjcmlwdGlvbiBvZiB5b3VyIGlzc3VlLCBhbmQgc3RlcHMgdG8gcmVwcm9kdWNlIGl0LjwvbGk+DQogICA8bGk+SWYgeW91IGZpbmQgYSBidWcgeW91IGNhbiA8YSBocmVmPSIvL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9idWcvbGlzdC8xMzgzIj5zdWJtaXQgYSBCdWcgUmVwb3J0PC9hPi48L2xpPg0KICAgPGxpPkZvciBhbnkgZ29vZCBpZGVhcyB5b3UgY2FuIDxhIGhyZWY9Ii8vZGV2LmNtc21hZGVzaW1wbGUub3JnL2ZlYXR1cmVfcmVxdWVzdC9saXN0LzEzODMiPnN1Ym1pdCBhIEZlYXR1cmUgUmVxdWVzdDwvYT4uPC9saT4NCiAgIDxsaT5JZiB5b3UgZm91bmQgdGhlIE1vZHVsZSB1c2VmdWwgLSBzaG91dCBvdXQgdG8gbWUgb24gVHdpdHRlciA8YSBocmVmPSIvL3R3aXR0ZXIuY29tL0tpd2lDaHJpc0JUIj5AS2l3aUNocmlzQlQ8L2E+PC9saT4NCjwvdWw+PGJyPg0KDQo8aDM+Q29weXJpZ2h0ICZhbXA7IExpY2VuY2U8L2gzPg0KPHA+Q29weXJpZ2h0IMKpIDIwMTYsIENocmlzIFRheWxvciA8Y2hyaXMgYXQgYmlubm92YXRpdmUgZG90IGNvIGRvdCB1az4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD48YnI+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgR05VIFB1YmxpYyBMaWNlbnNlIHYzLiBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gWW91IG1heSBvbmx5IHVzZSB0aGlzIHNvZnR3YXJlIHdoZW4gdGhlcmUgaXMgYSBjbGVhciBhbmQgb2J2aW91cyBpbmRpY2F0aW9uIGluIHRoZSBhZG1pbiBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgU2ltcGxlITwvcD48YnI+DQo8cD5JbnNwaXJlZCBieTogR2xvYmFsIENvbnRlbnQgQmxvY2tzLCBMSVNFLCBFQ0IgYW5kIENHRXh0ZW5zaW9ucy48L3A+PGJyPg0KRU9EOw0KDQokbGFuZ1snZXJyb3JfdGl0bGVfZW1wdHknXSA9ICdBIHRpdGxlIGlzIHJlcXVpcmVkJzsNCiRsYW5nWydlcnJvcl9hbGlhc19pbnZhbGlkJ10gPSAnQWxpYXMgaXMgaW52YWxpZCBvciBhbHJlYWR5IGluIHVzZSc7DQokbGFuZ1snZXJyb3JfY2F0ZWdvcnlfbmFtZSddID0gJ0EgdW5pcXVlIG5hbWUgaXMgcmVxdWlyZWQnOw0KDQokbGFuZ1snZGVmYXVsdF9zdHlsZV9vcHRpb25zJ10gPSAnRW50aXJlIFdpZGdldCBDbGlja2FibGU9Y2xpY2thYmxlDQpIaWRlIEJvcmRlcj1oaWRlLWJvcmRlcg0KSGlkZSBvbiBUYWJsZXRzPWhpZGRlbi1zbQ0KSGlkZSBvbiBQaG9uZXM9aGlkZGVuLXhzJzsNCg0KJGxhbmdbJ2NhdGVnb3J5X3NhdmVkJ10gPSAnVGhpcyBjYXRlZ29yeSBpcyBub3cgc2F2ZWQnOw0KJGxhbmdbJ2NhdGVnb3J5X25vdHNhdmVkJ10gPSAnVGhpcyBjYXRlZ29yeSBkaWQgbm90IHNhdmUnOw0KJGxhbmdbJ2NhdGVnb3J5X2RlbGV0ZWQnXSA9ICdUaGUgY2F0ZWdvcnkgd2FzIGRlbGV0ZWQnOw0KJGxhbmdbJ2NhdGVnb3J5X25vdF9kZWxldGVkJ10gPSAnVGhlIGNhdGVnb3J5IHdhcyBub3QgZGVsZXRlZCc7DQoNCiRsYW5nWydhZGRfY2F0ZWdvcnknXSA9ICdBZGQgQ2F0ZWdvcnknOw0KJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdFZGl0IENhdGVnb3J5JzsNCg0KJGxhbmdbJ2lzX2RlZmF1bHQnXSA9ICdEZWZhdWx0IGNhdGVnb3J5JzsNCiRsYW5nWydzZXRfZGVmYXVsdCddID0gJ1NldCBhcyBkZWZhdWx0IGNhdGVnb3J5JzsNCg0KJGxhbmdbJ2RlZmF1bHRfY2F0ZWdvcnlfc2V0J10gPSAnTmV3IGRlZmF1bHQgY2F0ZWdvcnkgc2V0JzsNCiRsYW5nWydkZWZhdWx0X2NhdGVnb3J5X25vdF9zZXQnXSA9ICdEZWZhdWx0IGNhdGVnb3J5IG5vdCBjaGFuZ2VkJzsNCg0KJGxhbmdbJ3R5cGVfV2lkZ2V0cyddID0gJ1dpZGdldHMnOw0KJGxhbmdbJ3R5cGVfU3VtbWFyeSddID0gJ1N1bW1hcnknOw0KJGxhbmdbJ3R5cGVfVGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7DQoNCiRsYW5nWydjb250ZW50X2Jsb2NrX2xhYmVsX2xlZnQnXSA9ICdTZWxlY3RlZCc7DQokbGFuZ1snY29udGVudF9ibG9ja19sYWJlbF9yaWdodCddID0gJ0F2YWlsYWJsZSc7DQokbGFuZ1snY29udGVudF9ibG9ja19sYWJlbF9zZWxlY3RlZCddID0gJ1NlbGVjdGVkIFdpZGdldHMnOw0KJGxhbmdbJ2NvbnRlbnRfYmxvY2tfbGFiZWxfYXZhaWxhYmxlJ10gPSAnQXZhaWxhYmxlIFdpZGdldHMnOw0KDQokbGFuZ1snY29udmVydGVyJ10gPSAnQ29udmVydGVyJzsNCiRsYW5nWyd1cGdyYWRlX3dhcm5pbmcnXSA9ICdBbiBlYXJsaWVyIHZlcnNpb24gb2YgTElTRVdpZGdldHMgaGFzIGJlZW4gZGV0ZWN0ZWQuIEJlbG93IGFyZSB0aGUgb3B0aW9ucyB0byBhdXRvbWF0ZSB0aGUgdXBncmFkZSB0byB0aGUgXCdXaWRnZXRzXCcgbW9kdWxlLiBVc2Ugd2l0aCBjYXJlISc7DQokbGFuZ1snZHJvcF9pdGVtcyddID0gJ05vIFdpZGdldHMgc2VsZWN0ZWQgLSBkcm9wIHNlbGVjdGVkIHdpZGdldHMgaGVyZSc7DQokbGFuZ1sncmVtb3ZlJ10gPSAnUmVtb3ZlJzsNCi8vICRsYW5nWycnXSA9ICcnOw0KLy8gJGxhbmdbJyddID0gJyc7DQovLyAkbGFuZ1snJ10gPSAnJzsNCi8vICRsYW5nWycnXSA9ICcnOw0KDQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.WidgetCategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBXaWRnZXRDYXRlZ29yeSB7DQoNCiAgIHByaXZhdGUgJF9kYXRhID0gYXJyYXkoICdjYXRlZ29yeV9pZCc9Pm51bGwsICdjYXRlZ29yeV9uYW1lJz0+bnVsbCwgJ2NhdGVnb3J5X2FsaWFzJz0+bnVsbCwgJ2RlZmF1bHRfY2F0ZWdvcnknPT5udWxsICk7DQoNCiAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KSB7DQogICAgICBzd2l0Y2goICRrZXkgKSB7DQogICAgICAgICBjYXNlICdjYXRlZ29yeV9pZCc6DQogICAgICAgICBjYXNlICdjYXRlZ29yeV9uYW1lJzoNCiAgICAgICAgIGNhc2UgJ2NhdGVnb3J5X2FsaWFzJzoNCiAgICAgICAgIGNhc2UgJ2RlZmF1bHRfY2F0ZWdvcnknOg0KICAgICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVska2V5XTsNCiAgICAgIH0NCiAgIH0NCg0KICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCRrZXksJHZhbCkgew0KICAgICAgc3dpdGNoKCAka2V5ICkgew0KICAgICAgICAgY2FzZSAnY2F0ZWdvcnlfbmFtZSc6DQogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWwpOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICBjYXNlICdjYXRlZ29yeV9hbGlhcyc6DQogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWwpOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICBjYXNlICdkZWZhdWx0X2NhdGVnb3J5JzoNCiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IChib29sKSAkdmFsOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICB9DQogICB9DQoNCiAgIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCkgew0KICAgICAgLy8gdGVzdCBpZiB2YWxpZCBiZWZvcmUgY2FsbGluZyBzYXZlKCkNCiAgICAgIGlmICggJHRoaXMtPmNhdGVnb3J5X2lkID4gMCApIHsNCiAgICAgICAgICRzYXZlZCA9ICR0aGlzLT51cGRhdGUoKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgICAkc2F2ZWQgPSAkdGhpcy0+aW5zZXJ0KCk7DQogICAgICB9DQogICAgICByZXR1cm4gJHNhdmVkOw0KICAgfQ0KDQoNCiAgIHByb3RlY3RlZCBmdW5jdGlvbiBpbnNlcnQoKSB7DQogICAgICAkZGIgPSBcY21zX3V0aWxzOjpnZXRfZGIoKTsNCiAgICAgICRzcWwgPSAnSU5TRVJUIElOVE8gJy5DTVNfREJfUFJFRklYLidtb2R1bGVfd2lkZ2V0c19jYXRlZ29yeSAoY2F0ZWdvcnlfbmFtZSwgY2F0ZWdvcnlfYWxpYXMpIFZBTFVFUyAoPyw/KSc7DQogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSgkdGhpcy0+Y2F0ZWdvcnlfbmFtZSwgJHRoaXMtPmNhdGVnb3J5X2FsaWFzKSApOw0KICAgICAgaWYoICEkZGJyICkgcmV0dXJuIEZBTFNFOw0KICAgICAgJHRoaXMtPl9kYXRhWydjYXRlZ29yeV9pZCddID0gJGRiLT5JbnNlcnRfSUQoKTsNCiAgICAgIHJldHVybiBUUlVFOw0KICAgfQ0KDQogICBwcm90ZWN0ZWQgZnVuY3Rpb24gdXBkYXRlKCkgew0KICAgICAgJGRiID0gXGNtc191dGlsczo6Z2V0X2RiKCk7DQogICAgICAkc3FsID0gJ1VQREFURSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzX2NhdGVnb3J5IFNFVCBjYXRlZ29yeV9uYW1lID0gPywgY2F0ZWdvcnlfYWxpYXM9PyBXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOw0KICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkc3FsLCBhcnJheSgkdGhpcy0+Y2F0ZWdvcnlfbmFtZSwgJHRoaXMtPmNhdGVnb3J5X2FsaWFzLCAkdGhpcy0+Y2F0ZWdvcnlfaWQpKTsNCiAgICAgIGlmKCAhJGRiciApIHJldHVybiBGQUxTRTsNCiAgICAgIHJldHVybiBUUlVFOw0KICAgfQ0KDQogICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCkgew0KICAgICAgaWYoICEkdGhpcy0+Y2F0ZWdvcnlfaWQgfHwgJHRoaXMtPmRlZmF1bHRfY2F0ZWdvcnk9PVRSVUUpIHJldHVybiBGQUxTRTsNCiAgICAgICRkYiA9IFxjbXNfdXRpbHM6OmdldF9kYigpOw0KICAgICAgJHNxbCA9ICdERUxFVEUgRlJPTSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzX2NhdGVnb3J5IFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7DQogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRzcWwsIGFycmF5KCR0aGlzLT5jYXRlZ29yeV9pZCkpOw0KICAgICAgaWYoICEkZGJyICkgcmV0dXJuIEZBTFNFOw0KICAgICAgJHRoaXMtPl9kYXRhWydjYXRlZ29yeV9pZCddID0gbnVsbDsNCiAgICAgIHJldHVybiBUUlVFOw0KICAgfQ0KDQogICBwdWJsaWMgZnVuY3Rpb24gc2V0QXNEZWZhdWx0KCkgew0KICAgICAgaWYoICEkdGhpcy0+Y2F0ZWdvcnlfaWQgKSByZXR1cm4gRkFMU0U7DQogICAgICAkZGIgPSBcY21zX3V0aWxzOjpnZXRfZGIoKTsNCiAgICAgICRzcWwgPSAnVVBEQVRFICcuQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHNfY2F0ZWdvcnkgU0VUIGRlZmF1bHRfY2F0ZWdvcnkgPSBGQUxTRSc7DQogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRzcWwpOw0KICAgICAgaWYoICEkZGJyICkgcmV0dXJuIEZBTFNFOw0KICAgICAgJHNxbCA9ICdVUERBVEUgJy5DTVNfREJfUFJFRklYLidtb2R1bGVfd2lkZ2V0c19jYXRlZ29yeSBTRVQgZGVmYXVsdF9jYXRlZ29yeSA9IFRSVUUgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsNCiAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHNxbCwgYXJyYXkoJHRoaXMtPmNhdGVnb3J5X2lkKSk7DQogICAgICBpZiggISRkYnIgKSByZXR1cm4gRkFMU0U7DQogICAgICByZXR1cm4gVFJVRTsNCiAgIH0NCg0KICAgLyoqIGludGVybmFsICovDQogICBwdWJsaWMgZnVuY3Rpb24gZmlsbF9mcm9tX2FycmF5KCRyb3cpIHsNCiAgICAgIGZvcmVhY2goICRyb3cgYXMgJGtleSA9PiAkdmFsICkgew0KICAgICAgICAgaWYoIGFycmF5X2tleV9leGlzdHMoJGtleSwkdGhpcy0+X2RhdGEpICkgew0KICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbDsNCiAgICAgICAgIH0NCiAgICAgIH0NCiAgIH0NCg0KICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmbG9hZF9ieV9pZCgkY2F0ZWdvcnlfaWQpIHsNCiAgICAgICRjYXRlZ29yeV9pZCA9IChpbnQpICRjYXRlZ29yeV9pZDsNCiAgICAgICRkYiA9IFxjbXNfdXRpbHM6OmdldF9kYigpOw0KICAgICAgJHNxbCA9ICdTRUxFQ1QgKiBGUk9NICcuQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHNfY2F0ZWdvcnkgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsNCiAgICAgICRyb3cgPSAkZGItPkdldFJvdygkc3FsLGFycmF5KCRjYXRlZ29yeV9pZCkpOw0KICAgICAgaWYoIGlzX2FycmF5KCRyb3cpICkgew0KICAgICAgICAgJG9iaiA9IG5ldyBzZWxmKCk7DQogICAgICAgICAkb2JqLT5maWxsX2Zyb21fYXJyYXkoJHJvdyk7DQogICAgICAgICByZXR1cm4gJG9iajsNCiAgICAgIH0NCiAgIH0NCg0KICAgcHVibGljIGZ1bmN0aW9uIGdldENhdGVnb3JpZXMoKSB7DQogICAgICAvLyByZXR1cm4gZnVsbCBDYXRlZ29yaWVzIGFycmF5LCB3aXRoIGRlZmF1bHQgY2F0ZWdvcnkgZmlyc3QNCiAgICAgICRkYiA9IFxjbXNfdXRpbHM6OmdldF9kYigpOw0KICAgICAgJHNxbCA9ICdTRUxFQ1QgY2F0ZWdvcnlfaWQsY2F0ZWdvcnlfbmFtZSwgY2F0ZWdvcnlfYWxpYXMgRlJPTSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzX2NhdGVnb3J5ICcuDQogICAgICAgICAnT1JERVIgQlkgZGVmYXVsdF9jYXRlZ29yeSBERVNDLGNhdGVnb3J5X2lkJzsNCiAgICAgICRyZXMgPSAkZGItPkdldEFsbCgkc3FsKTsNCiAgICAgICRjYXRlZ29yaWVzID0gYXJyYXkoKTsNCiAgICAgIGZvcmVhY2goJHJlcyBhcyAkY2F0KSB7DQogICAgICAgICAkY2F0ZWdvcmllc1skY2F0WydjYXRlZ29yeV9pZCddXSA9ICRjYXRbJ2NhdGVnb3J5X25hbWUnXTsNCiAgICAgIH0NCiAgICAgIHJldHVybiAkY2F0ZWdvcmllczsNCiAgIH0NCg0KDQp9DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.WidgetCategoryQuery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBXaWRnZXRDYXRlZ29yeVF1ZXJ5IGV4dGVuZHMgQ21zRGJRdWVyeUJhc2Ugew0KDQogICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGFyZ3MgPSAnJykgew0KICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkYXJncyk7DQogICB9DQoNCiAgIHB1YmxpYyBmdW5jdGlvbiBleGVjdXRlKCkgew0KICAgICAgaWYoICFpc19udWxsKCR0aGlzLT5fcnMpICkgcmV0dXJuOw0KICAgICAgJHNxbCA9ICdTRUxFQ1QgU1FMX0NBTENfRk9VTkRfUk9XUyBDLiogRlJPTSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzX2NhdGVnb3J5IEMnOw0KICAgICAgJHNxbCAuPSAnIE9SREVSIEJZIGNhdGVnb3J5X2lkJzsNCiAgICAgICRkYiA9IFxjbXNfdXRpbHM6OmdldF9kYigpOw0KICAgICAgJHRoaXMtPl9ycyA9ICRkYi0+ZXhlY3V0ZSgkc3FsKTsNCiAgICAgIGlmICggJGRiLT5FcnJvck1zZygpICkgdGhyb3cgbmV3IFxDbXNTUUxFcnJvckV4Y2VwdGlvbiggJGRiLT5zcWwuJyAtLSAnLiRkYi0+RXJyb3JNc2coKSApOw0KICAgICAgJHRoaXMtPl90b3RhbG1hdGNoaW5ncm93cyA9ICRkYi0+R2V0T25lKCdTRUxFQ1QgRk9VTkRfUk9XUygpJyk7DQogICB9DQoNCiAgIHB1YmxpYyBmdW5jdGlvbiAmR2V0T2JqZWN0KCkgew0KICAgICAgJG9iaiA9IG5ldyBXaWRnZXRDYXRlZ29yeTsNCiAgICAgICRvYmotPmZpbGxfZnJvbV9hcnJheSgkdGhpcy0+ZmllbGRzKTsNCiAgICAgIHJldHVybiAkb2JqOw0KICAgfQ0KfQ0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.WidgetItem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBXaWRnZXRJdGVtIHsNCg0KICAgcHJpdmF0ZSAkX2RhdGEgPSBhcnJheSggJ2lkJz0+bnVsbCwgJ2NhdGVnb3J5X2lkJz0+bnVsbCwgJ3RpdGxlJz0+bnVsbCwgJ2FsaWFzJz0+bnVsbCwgJ3Bvc2l0aW9uJz0+bnVsbCwgJ2FjdGl2ZSc9Pm51bGwsICdoZWFkaW5nJz0+bnVsbCwgJ2NvbnRlbnQnPT5udWxsLCAnbGlua190byc9Pm51bGwsICdsaW5rX3RleHQnPT5udWxsLCAnc3R5bGVfb3B0aW9ucyc9Pm51bGwsICd3eXNpd3lnJz0+bnVsbCwgJ2ltYWdlJz0+bnVsbCApOw0KDQogICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkgew0KICAgICAgc3dpdGNoKCAka2V5ICkgew0KICAgICAgICAgY2FzZSAnaWQnOg0KICAgICAgICAgY2FzZSAnY2F0ZWdvcnlfaWQnOg0KICAgICAgICAgY2FzZSAndGl0bGUnOg0KICAgICAgICAgY2FzZSAnYWxpYXMnOg0KICAgICAgICAgY2FzZSAncG9zaXRpb24nOg0KICAgICAgICAgY2FzZSAnYWN0aXZlJzoNCiAgICAgICAgIGNhc2UgJ2hlYWRpbmcnOg0KICAgICAgICAgY2FzZSAnY29udGVudCc6DQogICAgICAgICBjYXNlICdsaW5rX3RvJzoNCiAgICAgICAgIGNhc2UgJ2xpbmtfdGV4dCc6DQogICAgICAgICBjYXNlICdzdHlsZV9vcHRpb25zJzoNCiAgICAgICAgIGNhc2UgJ3d5c2l3eWcnOg0KICAgICAgICAgY2FzZSAnaW1hZ2UnOg0KICAgICAgICAgcmV0dXJuICR0aGlzLT5fZGF0YVska2V5XTsNCiAgICAgIH0NCiAgIH0NCg0KICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCRrZXksJHZhbCkgew0KICAgICAgc3dpdGNoKCAka2V5ICkgew0KICAgICAgICAgY2FzZSAndGl0bGUnOg0KICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsKTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgY2FzZSAnY2F0ZWdvcnlfaWQnOg0KICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gKGludCkgJHZhbDsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgY2FzZSAnYWxpYXMnOg0KICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsKTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgY2FzZSAncG9zaXRpb24nOg0KICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gKGludCkgJHZhbDsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgY2FzZSAnYWN0aXZlJzoNCiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IChib29sKSAkdmFsOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICBjYXNlICdoZWFkaW5nJzoNCiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IHRyaW0oJHZhbCk7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgIGNhc2UgJ2NvbnRlbnQnOg0KICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsKTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgY2FzZSAnbGlua190byc6DQogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAoaW50KSAkdmFsOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICBjYXNlICdsaW5rX3RleHQnOg0KICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsKTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgY2FzZSAnc3R5bGVfb3B0aW9ucyc6DQogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWwpOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICBjYXNlICd3eXNpd3lnJzoNCiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IChib29sKSAkdmFsOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICBjYXNlICdpbWFnZSc6DQogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWwpOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICB9DQogICB9DQoNCiAgIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCkgew0KICAgICAgLy8gdGVzdCBpZiB2YWxpZCBiZWZvcmUgY2FsbGluZyBzYXZlKCkNCiAgICAgIC8vaWYgKCAhJHRoaXMtPmlzX3ZhbGlkKCkgKSByZXR1cm4gRkFMU0U7DQogICAgICBpZiAoICR0aGlzLT5pZCA+IDAgKSB7DQogICAgICAgICAkc2F2ZWQgPSAkdGhpcy0+dXBkYXRlKCk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICAgJHNhdmVkID0gJHRoaXMtPmluc2VydCgpOw0KICAgICAgfQ0KICAgICAgcmV0dXJuICRzYXZlZDsNCiAgIH0NCg0KDQogICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5zZXJ0KCkgew0KICAgICAgJGRiID0gXGNtc191dGlsczo6Z2V0X2RiKCk7DQogICAgICAkc3FsID0gJ0lOU0VSVCBJTlRPICcuQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHMgKGNhdGVnb3J5X2lkLCB0aXRsZSwgYWxpYXMsIHBvc2l0aW9uLCBhY3RpdmUsIGhlYWRpbmcsIGNvbnRlbnQsIGxpbmtfdG8sIGxpbmtfdGV4dCwgc3R5bGVfb3B0aW9ucywgd3lzaXd5ZywgaW1hZ2UpIFZBTFVFUyAoPyw/LD8sPyw/LD8sPyw/LD8sPyw/KSc7DQogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRzcWwsIGFycmF5KCR0aGlzLT5jYXRlZ29yeV9pZCwgJHRoaXMtPnRpdGxlLCAkdGhpcy0+YWxpYXMsICR0aGlzLT5wb3NpdGlvbiwgJHRoaXMtPmFjdGl2ZSwgJHRoaXMtPmhlYWRpbmcsICR0aGlzLT5jb250ZW50LCAkdGhpcy0+bGlua190bywgJHRoaXMtPmxpbmtfdGV4dCwgJHRoaXMtPnN0eWxlX29wdGlvbnMsICR0aGlzLT53eXNpd3lnLCAkdGhpcy0+aW1hZ2UpKTsNCiAgICAgIGlmKCAhJGRiciApIHJldHVybiBGQUxTRTsNCiAgICAgICR0aGlzLT5fZGF0YVsnaWQnXSA9ICRkYi0+SW5zZXJ0X0lEKCk7DQogICAgICByZXR1cm4gVFJVRTsNCiAgIH0NCg0KICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHVwZGF0ZSgpIHsNCiAgICAgICRkYiA9IFxjbXNfdXRpbHM6OmdldF9kYigpOw0KICAgICAgJHNxbCA9ICdVUERBVEUgJy5DTVNfREJfUFJFRklYLidtb2R1bGVfd2lkZ2V0cyBTRVQgY2F0ZWdvcnlfaWQgPSA/LCB0aXRsZSA9ID8sIGFsaWFzID0gPywgcG9zaXRpb24gPSA/LCBhY3RpdmUgPSA/LCBoZWFkaW5nID0gPywgY29udGVudCA9ID8sIGxpbmtfdG8gPSA/LCBsaW5rX3RleHQgPSA/LCBzdHlsZV9vcHRpb25zID0gPywgd3lzaXd5ZyA9ID8sIGltYWdlPSA/IFdIRVJFIGlkID0gPyc7DQogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRzcWwsIGFycmF5KCR0aGlzLT5jYXRlZ29yeV9pZCwgJHRoaXMtPnRpdGxlLCAkdGhpcy0+YWxpYXMsICR0aGlzLT5wb3NpdGlvbiwgJHRoaXMtPmFjdGl2ZSwgJHRoaXMtPmhlYWRpbmcsICR0aGlzLT5jb250ZW50LCAkdGhpcy0+bGlua190bywgJHRoaXMtPmxpbmtfdGV4dCwgJHRoaXMtPnN0eWxlX29wdGlvbnMsICR0aGlzLT53eXNpd3lnLCAkdGhpcy0+aW1hZ2UsICR0aGlzLT5pZCkpOw0KICAgICAgaWYoICEkZGJyICkgcmV0dXJuIEZBTFNFOw0KICAgICAgcmV0dXJuIFRSVUU7DQogICB9DQoNCiAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoKSB7DQogICAgICBpZiggISR0aGlzLT5pZCApIHJldHVybiBGQUxTRTsNCiAgICAgICRkYiA9IFxjbXNfdXRpbHM6OmdldF9kYigpOw0KICAgICAgJHNxbCA9ICdERUxFVEUgRlJPTSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzIFdIRVJFIGlkID0gPyc7DQogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJHRoaXMtPmlkKSk7DQogICAgICBpZiggISRkYnIgKSByZXR1cm4gRkFMU0U7DQogICAgICAkdGhpcy0+X2RhdGFbJ2lkJ10gPSBudWxsOw0KICAgICAgcmV0dXJuIFRSVUU7DQogICB9DQoNCiAgIHB1YmxpYyBmdW5jdGlvbiB0b2dnbGVfYWN0aXZlKCkgew0KICAgICAgaWYoICEkdGhpcy0+aWQgKSByZXR1cm4gRkFMU0U7DQogICAgICAkZGIgPSBcY21zX3V0aWxzOjpnZXRfZGIoKTsNCiAgICAgICRzcWwgPSAnVVBEQVRFICcuQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHMgU0VUIGFjdGl2ZSA9ID8gV0hFUkUgaWQgPSA/JzsNCiAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHNxbCxhcnJheSghKGJvb2wpJHRoaXMtPmFjdGl2ZSwgJHRoaXMtPmlkKSk7DQogICAgICBpZiggISRkYnIgKSByZXR1cm4gRkFMU0U7DQogICAgICByZXR1cm4gVFJVRTsNCiAgIH0NCg0KICAgLyoqIGludGVybmFsICovDQogICBwdWJsaWMgZnVuY3Rpb24gZmlsbF9mcm9tX2FycmF5KCRyb3cpIHsNCiAgICAgIGZvcmVhY2goICRyb3cgYXMgJGtleSA9PiAkdmFsICkgew0KICAgICAgICAgaWYoIGFycmF5X2tleV9leGlzdHMoJGtleSwkdGhpcy0+X2RhdGEpICkgew0KICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbDsNCiAgICAgICAgIH0NCiAgICAgIH0NCiAgIH0NCg0KICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiAmbG9hZF9ieV9pZCgkaWQpIHsNCiAgICAgICRpZCA9IChpbnQpICRpZDsNCiAgICAgICRkYiA9IFxjbXNfdXRpbHM6OmdldF9kYigpOw0KICAgICAgJHNxbCA9ICdTRUxFQ1QgKiBGUk9NICcuQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHMgV0hFUkUgaWQgPSA/JzsNCiAgICAgICRyb3cgPSAkZGItPkdldFJvdygkc3FsLGFycmF5KCRpZCkpOw0KICAgICAgaWYoIGlzX2FycmF5KCRyb3cpICkgew0KICAgICAgICAgJG9iaiA9IG5ldyBzZWxmKCk7DQogICAgICAgICAkb2JqLT5maWxsX2Zyb21fYXJyYXkoJHJvdyk7DQogICAgICAgICByZXR1cm4gJG9iajsNCiAgICAgIH0NCiAgIH0NCg0KDQogICBwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdlbmVyYXRlX2FsaWFzKCR0aXRsZSkgew0KICAgICAgLy8gYWxzbyB1c2VkIGZvciBjYXRlZ29yeSBhbGlhcw0KICAgICAgaWYgKCFpc19zdHJpbmcoJHRpdGxlKSkgcmV0dXJuOw0KDQogICAgICAkYWxpYXMgPSAkdGl0bGU7DQogICAgICAvLyBsZWZ0IHRyaW0gdXAgdG8gdGhlIGZpcnN0IGxldHRlcg0KICAgICAgJGFsaWFzID0gcHJlZ19yZXBsYWNlKCcvXlteYS16QS1aXHg3Zi1ceGZmXSovJywgJycsICRhbGlhcyk7DQogICAgICAvLyByZXBsYWNlIGFueSBpbnZhbGlkIGNoYXJhY3RlcnMgd2l0aCBhbiB1bmRlcnNjb3JlDQogICAgICAkYWxpYXMgPSBwcmVnX3JlcGxhY2UoJy9bXmEtekEtWjAtOV9cLVx4N2YtXHhmZl0vJywgJ18nLCAkYWxpYXMpOw0KICAgICAgLy8gcmVwbGFjZSBtdWx0aXBsZSB1bmRlcnNjb3JlcyB3aXRoIHNpbmdsZSB1bmRlcnNjb3JlDQogICAgICAkYWxpYXMgPSBwcmVnX3JlcGxhY2UoJy9fKy8nLCAnXycsICRhbGlhcyk7DQogICAgICAvLyBjb252ZXJ0IHRvIGxvd2VyY2FzZQ0KICAgICAgJGFsaWFzID0gc3RydG9sb3dlcigkYWxpYXMpOw0KICAgICAgLy8gcmVtb3ZlIHVuZGVyc2NvcmUgZnJvbSBzdGFydCBhbmQgZW5kDQogICAgICAkYWxpYXMgPSB0cmltKCRhbGlhcywgJ18nKTsNCiAgICAgIHJldHVybiAkYWxpYXM7DQogICB9DQoNCg0KICAgcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBpc192YWxpZF9hbGlhcygkYWxpYXMpIHsNCiAgICAgIC8vIGFsc28gdXNlZCBmb3IgY2F0ZWdvcnkgYWxpYXMNCiAgICAgIGlmICghaXNfc3RyaW5nKCRhbGlhcykpDQogICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAvLyBodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2xhbmd1YWdlLnZhcmlhYmxlcy5iYXNpY3MucGhwDQogICAgICBpZiAocHJlZ19tYXRjaCgnL15bYS16QS1aX1x4N2YtXHhmZl1bYS16QS1aMC05X1wtXHg3Zi1ceGZmXSokLycsICRhbGlhcykpIHsNCiAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCiAgIH0NCg0KDQp9DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.WidgetQuery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBXaWRnZXRRdWVyeSBleHRlbmRzIENtc0RiUXVlcnlCYXNlIHsNCg0KICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRhcmdzID0gJycpIHsNCiAgICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJGFyZ3MpOw0KICAgICAgICAgaWYgKCBpc3NldCgkdGhpcy0+X2FyZ3NbJ2xpbWl0J10pICkgJHRoaXMtPl9saW1pdCA9IChpbnQpICR0aGlzLT5fYXJnc1snbGltaXQnXTsNCiAgICAgIH0NCg0KICAgcHVibGljIGZ1bmN0aW9uIGV4ZWN1dGUoKSB7DQogICAgICBpZiggIWlzX251bGwoJHRoaXMtPl9ycykgKSByZXR1cm47DQogICAgICAkc3FsID0gJ1NFTEVDVCBTUUxfQ0FMQ19GT1VORF9ST1dTIFcuKiBGUk9NICcuQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHMgQVMgVyc7DQogICAgICBpZiggaXNzZXQoJHRoaXMtPl9hcmdzWydhY3RpdmUnXSkgKSB7DQogICAgICAgICAvLyBzdG9yZSBvbmx5IGFjdGl2ZSBvciBub24tYWN0aXZlIGl0ZW1zDQogICAgICAgICAkdG1wID0gJHRoaXMtPl9hcmdzWydhY3RpdmUnXTsNCiAgICAgICAgIGlmKCAkdG1wID09PSAwICkgew0KICAgICAgICAgICAgJHNxbCAuPSAnIFdIRVJFIGFjdGl2ZSA9IDAnOw0KICAgICAgICAgfSBlbHNlIGlmKCAkdG1wID09PSAxICkgew0KICAgICAgICAgICAgJHNxbCAuPSAnIFdIRVJFIGFjdGl2ZSA9IDEnOw0KICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgJHNxbCAuPSAnIE9SREVSIEJZIHBvc2l0aW9uJzsNCiAgICAgICRkYiA9IFxjbXNfdXRpbHM6OmdldF9kYigpOw0KICAgICAgJHRoaXMtPl9ycyA9ICRkYi0+U2VsZWN0TGltaXQoJHNxbCwkdGhpcy0+X2xpbWl0LCR0aGlzLT5fb2Zmc2V0KTsNCiAgICAgIGlmICggJGRiLT5FcnJvck1zZygpICkgdGhyb3cgbmV3IFxDbXNTUUxFcnJvckV4Y2VwdGlvbiggJGRiLT5zcWwuJyAtLSAnLiRkYi0+RXJyb3JNc2coKSApOw0KICAgICAgJHRoaXMtPl90b3RhbG1hdGNoaW5ncm93cyA9ICRkYi0+R2V0T25lKCdTRUxFQ1QgRk9VTkRfUk9XUygpJyk7DQogICB9DQoNCiAgIHB1YmxpYyBmdW5jdGlvbiAmR2V0T2JqZWN0KCkgew0KICAgICAgJG9iaiA9IG5ldyBXaWRnZXRJdGVtOw0KICAgICAgJG9iai0+ZmlsbF9mcm9tX2FycmF5KCR0aGlzLT5maWVsZHMpOw0KICAgICAgcmV0dXJuICRvYmo7DQogICB9DQoNCiAgIHB1YmxpYyBmdW5jdGlvbiB1cGRhdGVQb3NpdGlvbnMoKSB7DQogICAgICAkZGIgPSBcY21zX3V0aWxzOjpnZXRfZGIoKTsNCiAgICAgICRzcWwgPSAnU0VUIEByb3dudW1iZXIgPSAwJzsNCiAgICAgICRyZXMgPSAkZGItPkV4ZWN1dGUoJHNxbCk7DQogICAgICAkc3FsID0gJ1VQREFURSAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzDQogICAgICAgICBTRVQgcG9zaXRpb24gPSAoQHJvd251bWJlcjo9QHJvd251bWJlcisxKQ0KICAgICAgICAgT1JERVIgQlkgcG9zaXRpb24nOw0KICAgICAgJHJlcyA9ICRkYi0+RXhlY3V0ZSgkc3FsKTsNCiAgICAgIGlmICggJGRiLT5FcnJvck1zZygpICkgdGhyb3cgbmV3IFxDbXNTUUxFcnJvckV4Y2VwdGlvbiggJGRiLT5zcWwuJyAtLSAnLiRkYi0+RXJyb3JNc2coKSApOw0KICAgICAgcmV0dXJuICRyZXM7DQogICB9DQoNCg0KfQ0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.widget_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyB3aWRnZXRfdG9vbHMgew0KDQogICAgcHJpdmF0ZSAkYmxvY2tfbmFtZSA9ICcnOw0KICAgIHByaXZhdGUgJHZhbHVlID0gJyc7DQogICAgcHJpdmF0ZSAkYWRkaW5nID0gZmFsc2U7DQogICAgcHJpdmF0ZSAkb3B0aW9ucyA9IGFycmF5KCk7DQogICAgcHJpdmF0ZSAkYWxpYXMgPSAnJzsNCiAgICBwcml2YXRlICR0eHQgPSAnJzsNCg0KICAgIC8vcHJpdmF0ZSAkaXNfZGF0ZXBpY2tlcl9saWJfbG9hZCA9IGZhbHNlOw0KDQogICAgLyoqDQogICAgICoNCiAgICAgKiBAcGFyYW0gc3RyaWJuZyAkYmxvY2tOYW1lDQogICAgICogQHBhcmFtIHN0cmluZyAkdmFsdWUNCiAgICAgKiBAcGFyYW0gYXJyYXkgJHBhcmFtcw0KICAgICAqIEBwYXJhbSBib29sZWFuICRhZGRpbmcNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGJsb2NrTmFtZSwgJHZhbHVlLCAkcGFyYW1zLCAkYWRkaW5nKSB7DQoNCiAgICAgICAgJHRoaXMtPmJsb2NrX25hbWUgPSAkYmxvY2tOYW1lOw0KICAgICAgICAkdGhpcy0+YWxpYXMgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRibG9ja05hbWUsIHRydWUpOw0KICAgICAgICAkdGhpcy0+dmFsdWUgPSAkdmFsdWU7DQogICAgICAgICR0aGlzLT5hZGRpbmcgPSAkYWRkaW5nOw0KDQogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdXaWRnZXRzJyk7DQoNCiAgICAgICAgLy8gc2V0IG9wdGlvbnMgJiBhbGwgZGVmYXVsdHMNCiAgICAgICAgJG9wdGlvbnMgPSBhcnJheSgNCiAgICAgICAgICAgIC8vICdhbGxvd2R1cGxpY2F0ZXMnID0+IGZhbHNlLA0KICAgICAgICAgICAgLy8gJ21heF9zZWxlY3RlZCcgPT4gLTEsDQogICAgICAgICAgICAnY2F0ZWdvcnknID0+ICcnLA0KICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAnJywNCiAgICAgICAgICAgICdsYWJlbF9sZWZ0JyA9PiAnJywNCiAgICAgICAgICAgICdsYWJlbF9yaWdodCcgPT4gJycNCiAgICAgICAgKTsNCiAgICAgICAgaWYgKCAhZW1wdHkoJHBhcmFtcykgKSB7DQogICAgICAgICAgICBmb3JlYWNoICgkb3B0aW9ucyBhcyAka2V5ID0+ICRvcHRpb24pIHsNCiAgICAgICAgICAgICAgICBpZiAoIGlzU2V0KCRwYXJhbXNbJGtleV0pICYmICRwYXJhbXNbJGtleV0hPScnICkNCiAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnNbJGtleV0gPSAkcGFyYW1zWyRrZXldOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgICR0aGlzLT5vcHRpb25zID0gJG9wdGlvbnM7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogIGdldCBjb250ZW50IGJsb2NrDQogICAgICogQHJldHVybiBzdHJpbmcNCiAgICAgKi8NCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2NvbnRlbnRfYmxvY2tfaW5wdXQoKSB7DQogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdXaWRnZXRzJyk7DQogICAgICAgICRkZXNjcmlwdGlvbiA9ICR0aGlzLT5vcHRpb25zWydkZXNjcmlwdGlvbiddOw0KICAgICAgICAkY2F0ZWdvcnkgPSAkdGhpcy0+b3B0aW9uc1snY2F0ZWdvcnknXTsNCiAgICAgICAgJGxhYmVsTGVmdCA9ICAkdGhpcy0+b3B0aW9uc1snbGFiZWxfbGVmdCddOw0KICAgICAgICAkbGFiZWxSaWdodCA9ICAkdGhpcy0+b3B0aW9uc1snbGFiZWxfcmlnaHQnXTsNCg0KICAgICAgICAkc2VsZWN0ZWRMaXN0ID0gZXhwbG9kZSgnLCcsICR0aGlzLT52YWx1ZSk7DQogICAgICAgICR0aGlzLT5nZXRXaWRnZXRMaXN0KCRjYXRlZ29yeSk7DQogICAgICAgICRhdmFpbGFibGUgPSAkdGhpcy0+d2lkZ2V0TGlzdDsNCiAgICAgICAgJHNlbGVjdGVkID0gYXJyYXkoKTsNCiAgICAgICAgZm9yZWFjaCAoJHNlbGVjdGVkTGlzdCBhcyAkaXRlbSkgew0KICAgICAgICAgICAgaWYgKCBhcnJheV9rZXlfZXhpc3RzKCRpdGVtLCAkYXZhaWxhYmxlKSApIHsNCiAgICAgICAgICAgICAgICAkc2VsZWN0ZWRbJGl0ZW1dID0gJGF2YWlsYWJsZVskaXRlbV07DQogICAgICAgICAgICAgICAgdW5zZXQoJGF2YWlsYWJsZVskaXRlbV0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgJGlkID0gJyc7DQogICAgICAgICRuYW1lID0gJHRoaXMtPmJsb2NrX25hbWU7DQogICAgICAgICRzZWxlY3RlZF9zdHIgPSAkdGhpcy0+dmFsdWU7DQogICAgICAgIC8vICRhbGxvd2R1cGxpY2F0ZXMgPSAkdGhpcy0+b3B0aW9uc1siYWxsb3dkdXBsaWNhdGVzIl07DQogICAgICAgIC8vICRtYXhfc2VsZWN0ZWQgPSAkdGhpcy0+b3B0aW9uc1sibWF4X3NlbGVjdGVkIl07DQogICAgICAgICR0ZW1wbGF0ZSA9ICcnOw0KDQogICAgICAgIC8vIHNtYXJ0eSBwcm9jZXNzaW5nIHRvIGRpc3BsYXkgYWRtaW4gcGFnZQ0KICAgICAgICAkc21hcnR5ID0gU21hcnR5X0NNUzo6Z2V0X2luc3RhbmNlKCk7DQogICAgICAgICR0cGwgPSAkc21hcnR5LT5DcmVhdGVUZW1wbGF0ZSgkbW9kLT5HZXRUZW1wbGF0ZVJlc291cmNlKCdzb3J0YWJsZWxpc3RfdGVtcGxhdGUudHBsJyksIG51bGwsIG51bGwsICRzbWFydHkpOw0KICAgICAgICAkdHBsLT5hc3NpZ24oJ3NlbGVjdGFyZWFfcHJlZml4JywkaWQuJG5hbWUpOw0KICAgICAgICAkdHBsLT5hc3NpZ24oJ3NlbGVjdGVkX3N0cicsJHNlbGVjdGVkX3N0cik7DQogICAgICAgICR0cGwtPmFzc2lnbignc2VsZWN0ZWQnLCRzZWxlY3RlZCk7DQogICAgICAgICR0cGwtPmFzc2lnbignYXZhaWxhYmxlJywgJGF2YWlsYWJsZSk7DQogICAgICAgICR0cGwtPmFzc2lnbignZGVzY3JpcHRpb24nLCAkZGVzY3JpcHRpb24pOw0KICAgICAgICAkdHBsLT5hc3NpZ24oJ2xhYmVsTGVmdCcsICRsYWJlbExlZnQpOw0KICAgICAgICAkdHBsLT5hc3NpZ24oJ2xhYmVsUmlnaHQnLCAkbGFiZWxSaWdodCk7DQogICAgICAgICR0cGwtPmFzc2lnbignbW9kJywkbW9kKTsNCg0KICAgICAgICAkY2JUZW1wbGF0ZSA9ICR0cGwtPmZldGNoKCk7DQoNCiAgICAgICAgcmV0dXJuICRjYlRlbXBsYXRlOw0KICAgIH0NCg0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRXaWRnZXRMaXN0KCRjYXRlZ29yeV9hbGlhcz0nJykgew0KICAgICAgICAkZGIgPSBcY21zX3V0aWxzOjpnZXRfZGIoKTsNCiAgICAgICAgaWYgKCRjYXRlZ29yeV9hbGlhcz09JycpIHsNCiAgICAgICAgICAgICRzcWwgPSAnU0VMRUNUIGFsaWFzLHRpdGxlIEZST00gJy5DTVNfREJfUFJFRklYLidtb2R1bGVfd2lkZ2V0cw0KICAgICAgICAgICAgICAgIFdIRVJFIGFjdGl2ZT0xJzsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICRzcWwgPSAnU0VMRUNUIGFsaWFzLHRpdGxlIEZST00gJy5DTVNfREJfUFJFRklYLidtb2R1bGVfd2lkZ2V0cyBXDQogICAgICAgICAgICAgICAgSk9JTiAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzX2NhdGVnb3J5IFdDDQogICAgICAgICAgICAgICAgT04gVy5jYXRlZ29yeV9pZD1XQy5jYXRlZ29yeV9pZA0KICAgICAgICAgICAgICAgIFdIRVJFIFcuYWN0aXZlPTEgQU5EIFdDLmNhdGVnb3J5X2FsaWFzPSInLiRjYXRlZ29yeV9hbGlhcy4nIic7DQogICAgICAgIH0NCg0KICAgICAgICAkcmVzID0gJGRiLT5HZXRBbGwoJHNxbCk7DQogICAgICAgICR3aWRnZXRzID0gYXJyYXkoKTsNCiAgICAgICAgZm9yZWFjaCAoJHJlcyBhcyAkaXRlbSkgew0KICAgICAgICAgICAgJHdpZGdldHNbJGl0ZW1bJ2FsaWFzJ11dID0gJGl0ZW1bJ3RpdGxlJ107DQogICAgICAgIH0NCiAgICAgICAgJHRoaXMtPndpZGdldExpc3QgPSAkd2lkZ2V0czsNCiAgICB9DQoNCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfY29udGVudF9ibG9ja19qcygpIHsNCiAgICAgICAgJGpzID0gJw0KICAgICAgICAgICAgPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIuLi9tb2R1bGVzL1dpZGdldHMvbGliL2pzL3dpZGdldF9jb250ZW50X2Jsb2NrLmpzIj48L3NjcmlwdD4nOw0KDQogICAgICAgIHJldHVybiAkanM7DQogICAgfQ0KDQoNCn0NCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/css/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/css/widgets_admin.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lyogd2lkZ2V0c19hZG1pbi5jc3MgKi8NCg0KLnNvcnRhYmxlLXdpZGdldC1saXN0IHRyIHtjdXJzb3I6bW92ZTt9DQouc29ydGFibGUtd2lkZ2V0LWxpc3QgLnVpLXNvcnRhYmxlLWhlbHBlciB7Ym9yZGVyOjFweCBzb2xpZCAjQ0NDO30NCiNsb2FkZXIge3BhZGRpbmctbGVmdDo1MHB4O30NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/images/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgAWAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Hh4ebm5uvr6/Dw8PX19fn5+fz8/P39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBAD8ACwAAAAAFgAWAAAIkwD5CRxIsKDBgwgTKlzIsOFBUaIcGtSiZSA5huXKneNHkR+4QXowZoxHEZyeOIsYnstYbtAgTnHygGu40pxAXJRmKhwHrmc4gqUOCd2FkKdPoEIPEVVI7prOY7XENSTXTJk2Y8Z4dRoldeE0Zc3K0aIlblQnWAybRbs4lp84VKMY2hTYVmA5ifyoUcPLt6/fvwgDAgAh+QQJBAD8ACwAAAAAFgAWAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/h4eHm5ubr6+vw8PD19fX5+fn8/Pz9/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////8IlAD5CRxIsKDBgwgTKlzIsOFBTp0cCow3MEqUgeQYjhtnjp9FfuD2xNG48ZxFcHHQDGJobiM5PnwsoYkDrqE5cuUEzmpUU2G4a0B7CvTkp6gthD+DEiRqdCG5aNwEDnslriG5YsGo/QJWi9KmqgubBStWbtUqcZoooWJYDFlGs/zEhdLEciBcgTklPnsmsa/fv4AbBgQAIfkECQQA/AAsAAAAABYAFgCHAAAAAQEBAgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUFBQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVFRUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ2dnaGhoaWlpampqa2trbGxsbW1tbm5ub29vcHBwcXFxcnJyc3NzdHR0dXV1dnZ2d3d3eHh4eXl5enp6e3t7fHx8fX19fn5+f39/gICAgYGBgoKCg4ODhISEhYWFhoaGh4eHiIiIiYmJioqKi4uLjIyMjY2Njo6Oj4+PkJCQkZGRkpKSk5OTlJSUlZWVlpaWl5eXmJiYmZmZmpqam5ubnJycnZ2dnp6en5+foKCgoaGhoqKio6OjpKSkpaWlpqamp6enqKioqampqqqqq6urrKysra2trq6ur6+vsLCwsbGxsrKys7OztLS0tbW1tra2t7e3uLi4ubm5urq6u7u7vLy8vb29vr6+v7+/wMDAwcHBwsLCw8PDxMTExcXFxsbGx8fHyMjIycnJysrKy8vLzMzMzc3Nzs7Oz8/P0NDQ0dHR0tLS09PT1NTU1dXV1tbW19fX2NjY2dnZ2tra29vb3Nzc3d3d3t7e39/f4eHh5ubm6+vr8PDw9fX1+fn5/Pz8/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+////////////////////////CJcA+QkcSLCgwYMIEypcyLDhwXjxHAo8N9CcuYHkGIYLV46fRX7g5qRhKG6jRXPg0nzpw7DcRnHnzkH6ggZcw3Lixgl0dcimQnDPgm4jeKmO0VgIgQbVRtRoHaQKxymzJtBXKnENx/XC5SyXrleMJmFdWAwXL3KiRImbxCgUQ17BdKblJy7TpJYD5wrsKFGZMomAAwse3DAgACH5BAkEAPwALAAAAAAWABYAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Hh4ebm5uvr6/Dw8PX19fn5+fz8/P39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////wiXAPkJHEiwoMGDCBMqXMiw4cFy5RwKNDdw3LiB5Bh6AxfRIj9va8IwBMftWzmL3sJYqcOwnDdu4ciRU2QFjLeG5cKJE6gK0E2F34wJpUYQEpujrBAGHVr0KJukCscNkyYwl6hwDcfReoVM1qxUgxZhXdjrFS1ymTKFUzRIE0NauC6m5RdOkqKWA+cKjCixWDGJgAMLHtwwIAAh+QQJBAD8ACwAAAAAFgAWAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/h4eHm5ubr6+vw8PD19fX5+fn8/Pz9/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////8IhgD5CRxIsKDBgwgTKlzIsOFBcuQcCjQ3UJw4ifyqYYtoEeO2adXKdZRIrto0cOPGYeRHzttFidp6yWxGMNGYm6YQxpxZ8+aYnArH8aLJb9amcA3HrTIljBWrUXoEIV14y9QqcpAghROkZxLDVbFUZuUXTpEghuUGjhUYUSIwYCvjyp1Ld2BAACH5BAkEAPwALAAAAAAWABYAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Hh4ebm5uvr6/Dw8PX19fn5+fz8/P39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////wiTAPkJHEiwoMGDCBMqXMiw4cFx4xwKNDcQHDiJ/JpFI8fPIr9z5coxnKasWTmLIEMyJNdMmbZw4UKWO9eQ3LVwE2cupEarpzGCg7QIFYWQp0+gQrUQVSiu1jGBryhdZChuVCdepUpxiqNnqsJXnUaNO3QIXJ44jBiOQiWOH9mOgvIwFCnwrUCOEnftwsi3r9+/CAMCACH5BAkEAPwALAAAAAAWABYAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Hh4ebm5uvr6/Dw8PX19fn5+fz8/P39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////wiXAPkJHEiwoMGDCBMqXMiw4cFw4RwKNDfw2rWB8RgWS0aOn0V+5saNY9gsWLFyFkOKZEiuWDBq4MCRE0mRJTRwAsuRq5nw2aqfwAjyiUKUE0KfP38JJRrFqEJxr4YJVOUIJ0NxmyjV8vTJEpo4VhWioqRpnB8/4OKgIcRQUyhx/M7yA7cnDsNyA+UK7CjRli2JgAMLHtwwIAAh+QQJBAD8ACwAAAAAFgAWAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/h4eHm5ubr6+vw8PD19fX5+fn8/Pz9/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////8IlwD5CRxIsKDBgwgTKlzIsOFBcOEcCiw38NmzgecY8go2jp9FfuXCRVxYDFcvchZDhhPHcBwvXM60aRMnkmLLZNwEjhNnM6EyUUB1ETxnrmg8hD+B5hpa1NxRheJS+RJY6hC4huImMXp1CROkL2muLgzFaNK4OnXAofnSh+GkTCzR8gMnBw3DnnIFkpPIL1YsvoADCx6MMCAAIfkECQQA/AAsAAAAABYAFgCHAAAAAQEBAgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUFBQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVFRUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ2dnaGhoaWlpampqa2trbGxsbW1tbm5ub29vcHBwcXFxcnJyc3NzdHR0dXV1dnZ2d3d3eHh4eXl5enp6e3t7fHx8fX19fn5+f39/gICAgYGBgoKCg4ODhISEhYWFhoaGh4eHiIiIiYmJioqKi4uLjIyMjY2Njo6Oj4+PkJCQkZGRkpKSk5OTlJSUlZWVlpaWl5eXmJiYmZmZmpqam5ubnJycnZ2dnp6en5+foKCgoaGhoqKio6OjpKSkpaWlpqamp6enqKioqampqqqqq6urrKysra2trq6ur6+vsLCwsbGxsrKys7OztLS0tbW1tra2t7e3uLi4ubm5urq6u7u7vLy8vb29vr6+v7+/wMDAwcHBwsLCw8PDxMTExcXFxsbGx8fHyMjIycnJysrKy8vLzMzMzc3Nzs7Oz8/P0NDQ0dHR0tLS09PT1NTU1dXV1tbW19fX2NjY2dnZ2tra29vb3Nzc3d3d3t7e39/f4eHh5ubm6+vr8PDw9fX1+fn5/Pz8/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+////////////////////////CJsA+QkcSLCgwYMIEypcyLDhwW/fHAosN9CYsYHmGNLKNY6fRX7lwEVc2OsVLXIWy33jBo7hOFqvkFGjFo6bN4ouh10TKC4czoTFMgmdRZDcuKM/CwYVKqvo0XFJD4YTlUvgJ0DeGoZbNCgVpEiKrITJulDTIEXj2LDxBsaKHYaKJIXjp5aftzVgGP6sK5CcRH6sWP0dTLiwYYQBAQAh+QQJBAD8ACwAAAAAFgAWAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/h4eHm5ubr6+vw8PD19fX5+fn8/Pz9/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////8IhwD5CRxIsKDBgwgTKlzIsOFBbdocCiw3sFevgeYYroo1jp9FfuSwVWN4y9QqchbJVZu2jeG4VaaENWsGblo1cg3H8ZomUJw3nAqBQRrKiuA4cUiBGhRK1ChScUoRhts0S+LAcIL0jEqkyOokPYLGjRljVZCicPzGWlWq1upAU6bcyp1Lt+7AgAAh+QQJBAD8ACwAAAAAFgAWAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/h4eHm5ubr6+vw8PD19fX5+fn8/Pz9/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////8IlgD5CRxIsKDBgwgTKlzIsOFBatUcCiw3kBatgeYYjkoljp9FfuSiNWP4qtOocRbJNVM2jaG4UZ14GTOmTVkzcg3F1XImMNw1nAp3HRpaimA4cEjHIRRK1ChScEoVgqP0SqC5cucagtMTh9OgQeXCZl24KE4ecVq0nAtLcWEeQeD4peW3tq1CoHK1SCwoStTev4ADC0YYEAAh+QQJBAD8ACwAAAAAFgAWAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/h4eHm5ubr6+vw8PD19fX5+fn8/Pz9/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////8ImwD5CRxIsKDBgwgTKlzIsOHBZ88cCiw3cNWqgeYYahIljp9FfuSSFWOIitKmcRbJFQvWjKE4TZRq/fpFLVgxcg3FuUomEBw0nApt+Rn6iSC4a0jDIRQ61JNRpNeUKgTnSJVAcuQyMgQXB40lPn3IjRunVeEgNHHERYlibuw4hnH2gOO3ll/btwuB0o0yMJ5Efpw4/R1MuLBhhAEBACH5BAkEAPwALAAAAAAWABYAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Hh4ebm5uvr6/Dw8PX19fn5+fz8/P39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////wiZAPkJHEiwoMGDCBMqXMiw4UFlyxwKLDdQlKiBFBdO0iSOn0V+44L1YhiK0aRxFsf1wlWMobhJjF7lyuUMF69xDcWhasmPWzKcCmPVGYqJoLZnSMEhFDr0klGkz5QqBHeolMBx4jIuBJfmC6Rz58SFC6c1YZ8vaMSZM1dubMeFaOQoXcuvbTiG5AbSFXhOIr948fwKHky4MMKAACH5BAkEAPwALAAAAAAWABYAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Hh4ebm5uvr6/Dw8PX19fn5+fz8/P39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////wicAPkJHEiwoMGDCBMqXMiw4cFixRwKLDcwU6aBFBcqmhSOn0V+43LRYqhp0KJxFsfRetWLYThFg1LJkoXsFa1xDcOFCibw2jCcClmxGRqJIDVjSL8hFDoUklGkxpQq9Abok0Bx4TIu9BbGiiJy5MJx+6Y1YR0rYMSNG1fOGzdwDMGs8QYSZzlwdBeSG7h2oDmJ/MqVBUy4sOHDBAMCACH5BAkEAPwALAAAAAAWABYAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Hh4ebm5uvr6/Dw8PX19fn5+fz8/P39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////wiHAPkJHEiwoMGDCBMqXMiw4UFgwRwKJDcQEqSB5RgKUhSOn0V+42KtYjhJj6BxFsetMnWLYThBekaxYiXM1KpxDcNt4iVwGi+cCk2NGaqIYLNeSLUhFDo0kVGkvZRKDOeNokSQ48BNq2bVoThx5KpN23b1Kz9y2KqVFTfQ3FVyXa/KnUu3bsGAACH5BAkEAPwALAAAAAAWABYAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Hh4ebm5uvr6/Dw8PX19fn5+fz8/P39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////wiWAPkJHEiwoMGDCBMqXMiw4cFdvBwKJDfw0KGB5RjmGQSOn0V+4lKNYrgojh5xFsWN6vSKIbg8cTiVKsWr0yhxDcFRwiXQWS2cCkVpGTqIoDFaSKkhFErUKFJaShWeK2dOILhrFBlOLVcuXDhtypplVci1XDxw4Mg1UxaVbLlz/NDyIxetmcS4HQVWlThu3N2/gAMLRhgQACH5BAkEAPwALAAAAAAWABYAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Hh4ebm5uvr6/Dw8PX19fn5+fz8/P39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////wiZAPkJHEiwoMGDCBMqXMiw4UFbthwKJDfQj5+B5RjG2QOOn0V+4kRtYjgITRxxFsVtooSKIbg4aCx58lSLkiZxDcE1miUwmSucCjlFGdqH4K9VSJ8hFDqUj1Gkq5QqNEeOIj9u0awuNDduHDlw4KgFK6Y1Yddx565dI1csGDOGXc3xU8uPHLJiDOMNpCtQrsRw4SQKHky4cMOAACH5BAkEAPwALAAAAAAWABYAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Hh4ebm5uvr6/Dw8PX19fn5+fz8/P39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////wiXAPkJHEiwoMGDCBMqXMiw4cFYshwKJDewTp2B5RiimQOOn0V+4jRNYtjnSxpxFsVNYhSKITg0XyBduvSK0SRxDcEdciWwGCqcCuOZG3qOYC5RSJUhFErUKFJRShWWEzdOoDVlVRmWCxdOnLZtznD1yqpQHFdzz56N44WrGEOuGdPyGxeMF8OiAuUKzCgRXEeJgAMLHswwIAAh+QQJBAD8ACwAAAAAFgAWAIcAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/h4eHm5ubr6+vw8PD19fX5+fn8/Pz9/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////8IlwD5CRxIsKDBgwgTKlzIsOFBVqwcCiQ3kA2bgeUYglnjjZ9FfuEmLWJYx0oYcRbDLRqkiaE3MFYUQYKUapCicA29AVIlMFgonArLjRtKcaCsTEiLIRRKlODRpAvLhRMnUNqwcQ3LfeMWjho1ZK9oYV0Ijpu3csaMjaP1ypdLcBnT8huHixZDcwPlCswo8ds3iYADCx7cMCAAIfkECQQA/AAsAAAAABYAFgCHAAAAAQEBAgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUFBQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVFRUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ2dnaGhoaWlpampqa2trbGxsbW1tbm5ub29vcHBwcXFxcnJyc3NzdHR0dXV1dnZ2d3d3eHh4eXl5enp6e3t7fHx8fX19fn5+f39/gICAgYGBgoKCg4ODhISEhYWFhoaGh4eHiIiIiYmJioqKi4uLjIyMjY2Njo6Oj4+PkJCQkZGRkpKSk5OTlJSUlZWVlpaWl5eXmJiYmZmZmpqam5ubnJycnZ2dnp6en5+foKCgoaGhoqKio6OjpKSkpaWlpqamp6enqKioqampqqqqq6urrKysra2trq6ur6+vsLCwsbGxsrKys7OztLS0tbW1tra2t7e3uLi4ubm5urq6u7u7vLy8vb29vr6+v7+/wMDAwcHBwsLCw8PDxMTExcXFxsbGx8fHyMjIycnJysrKy8vLzMzMzc3Nzs7Oz8/P0NDQ0dHR0tLS09PT1NTU1dXV1tbW19fX2NjY2dnZ2tra29vb3Nzc3d3d3t7e39/f4eHh5ubm6+vr8PDw9fX1+fn5/Pz8/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+////////////////////////CIUA+QkcSLCgwYMIEypcyLDhQVOnHBocM2YgOYn8KPILp0gQRorhBOmZhDFRolF6BIXDKJDXppUKyYmbOY4gK0g4gSGUSdMmTkg6Y3qD2YxXTYbkqk0D16yZMFOrjircNq1auV69xq0yZYthNWwXsfIbF2sVQ3MDxQosh1GbNpZw48qdOzAgADsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></data>
	</file>
	<file>
	  <filename>/lib/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/lib/js/widgets_admin.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gd2lkZ2V0c19hZG1pbi5qcw0KJChmdW5jdGlvbigpIHsNCiAgICQoJy5zb3J0YWJsZS13aWRnZXQtbGlzdCcpLnNvcnRhYmxlKHsNCiAgICAgIGRlbGF5OiAxNTAsDQogICAgICByZXZlcnQ6IDMwMCwNCiAgICAgIHBsYWNlaG9sZGVyOiAndWktc3RhdGUtaGlnaGxpZ2h0JywNCiAgICAgIGhlbHBlcjogZnVuY3Rpb24gKGV2ZW50LCB1aSkgew0KICAgICAgICAgdWkuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKCkgeyAvLyBmaXhlcyB3aWR0aCAmIGhlaWdodCBvZiBkcmFnZ2VkIGNlbGxzDQogICAgICAgICAgICAkKHRoaXMpLndpZHRoKCQodGhpcykud2lkdGgoKSkuaGVpZ2h0KCQodGhpcykuaGVpZ2h0KCkpOw0KICAgICAgICAgfSk7DQogICAgICAgICByZXR1cm4gdWk7DQogICAgICB9LA0KICAgICAgc3RvcDogZnVuY3Rpb24gKGV2ZW50LCB1aSkgew0KICAgICAgICAgJCh1aS5pdGVtKS5wYXJlbnQoKS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24oIGluZGV4ICkgew0KICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygncm93MSByb3cyJykuYWRkQ2xhc3MoJ3JvdycrKGluZGV4JTIrMSkpOw0KICAgICAgICAgfSk7DQogICAgICAgICB2YXIgbW92ZVRvQWZ0ZXIgPSAkKHVpLml0ZW0pLnByZXYoJ3RyJykuZGF0YSgnaWQnKTsNCiAgICAgICAgIGlmICh0eXBlb2YgbW92ZVRvQWZ0ZXI9PSd1bmRlZmluZWQnKSB7DQogICAgICAgICAgICBtb3ZlVG9BZnRlciA9ICdfYWZ0ZXI9JyArICcwJzsNCiAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBtb3ZlVG9BZnRlciA9ICdfYWZ0ZXI9JyArIG1vdmVUb0FmdGVyOw0KICAgICAgICAgfQ0KICAgICAgICAgdmFyIHJlb3JkZXJVcmwgPSAkKHVpLml0ZW0pLmRhdGEoJ3Jlb3JkZXInKS5yZXBsYWNlKCdfYWZ0ZXI9LTEnLCBtb3ZlVG9BZnRlcikgKyAnJnNob3d0ZW1wbGF0ZT1mYWxzZSc7DQogICAgICAgICB2YXIgbG9hZGluZ0ljb24gPSAkKCcjbG9hZGVyJykuZGF0YSgnaWNvbicpOw0KICAgICAgICAgaWYgKGxvYWRpbmdJY29uIT0nJykgew0KICAgICAgICAgICAgbG9hZGluZ0ljb24gPSAnPGltZyBzcmM9IicrbG9hZGluZ0ljb24rJyIgYWx0PSJ1cGRhdGluZyI+JzsNCiAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBsb2FkaW5nSWNvbiA9ICd1cGRhdGluZyc7DQogICAgICAgICB9DQogICAgICAgICAkKCcjbG9hZGVyJykuaHRtbChsb2FkaW5nSWNvbikubG9hZCggcmVvcmRlclVybCApOw0KICAgICAgfQ0KICAgfSk7DQoNCn0pOw0KDQo=]]></data>
	</file>
	<file>
	  <filename>/lib/js/widget_content_block.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[JChmdW5jdGlvbigpIHsNCg0KICAgICQoJ3VsLnNvcnRhYmxlLXdpZGdldHMnKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgJHBhcmVudCA9ICQodGhpcykuY2xvc2VzdCgnLndpZGdldC1jYicpOw0KICAgICAgICB2YXIgJHNlbGVjdGVkID0gJHBhcmVudC5maW5kKCd1bC5zZWxlY3RlZC13aWRnZXRzJyk7DQogICAgICAgICQodGhpcykuc29ydGFibGUoew0KICAgICAgICAgICAgY29ubmVjdFdpdGg6ICRzZWxlY3RlZCwNCiAgICAgICAgICAgIGRlbGF5OiAxNTAsDQogICAgICAgICAgICByZXZlcnQ6IDMwMCwNCiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAndWktc3RhdGUtaGlnaGxpZ2h0JywNCiAgICAgICAgICAgIGl0ZW1zOiAnbGk6bm90KC5uby1zb3J0KScsDQogICAgICAgICAgICBoZWxwZXI6IGZ1bmN0aW9uIChldmVudCwgdWkpIHsNCiAgICAgICAgICAgICAgICBpZiAoIXVpLmhhc0NsYXNzKCdzZWxlY3RlZCcpKSB7DQogICAgICAgICAgICAgICAgICAgIHVpLmFkZENsYXNzKCdzZWxlY3RlZCcpDQogICAgICAgICAgICAgICAgICAgICAgLnNpYmxpbmdzKCkNCiAgICAgICAgICAgICAgICAgICAgICAucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkJyk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHZhciBlbGVtZW50cyA9IHVpLnBhcmVudCgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2hpbGRyZW4oJy5zZWxlY3RlZCcpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2xvbmUoKSwNCiAgICAgICAgICAgICAgICAgICAgaGVscGVyID0gJCgnPGxpLz4nKTsNCiAgICAgICAgICAgICAgICB1aS5kYXRhKCdtdWx0aWRyYWcnLCBlbGVtZW50cykuc2libGluZ3MoJy5zZWxlY3RlZCcpLnJlbW92ZSgpOw0KICAgICAgICAgICAgICAgIHJldHVybiBoZWxwZXIuYXBwZW5kKGVsZW1lbnRzKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzdG9wOiBmdW5jdGlvbiAoZXZlbnQsIHVpKSB7DQogICAgICAgICAgICAgICAgdmFyIGVsZW1lbnRzID0gdWkuaXRlbS5kYXRhKCdtdWx0aWRyYWcnKTsNCiAgICAgICAgICAgICAgICB2YXIgJHVsU2VsZWN0ZWQgPSAkKHVpLml0ZW0pLnBhcmVudCgpOw0KICAgICAgICAgICAgICAgIHVpLml0ZW0uYWZ0ZXIoZWxlbWVudHMpLnJlbW92ZSgpOw0KICAgICAgICAgICAgICAgIHVwZGF0ZVdpZGdldENCSW5wdXQoJHVsU2VsZWN0ZWQpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHJlY2VpdmU6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgew0KICAgICAgICAgICAgICAgIHZhciBlbGVtZW50cyA9IHVpLml0ZW0uZGF0YSgnbXVsdGlkcmFnJyk7DQogICAgICAgICAgICAgICAgJCh1aS5pdGVtKS5wYXJlbnQoKS5jaGlsZHJlbignLnBsYWNlaG9sZGVyJykuYWRkQ2xhc3MoJ2hpZGRlbicpOw0KICAgICAgICAgICAgICAgICQoZWxlbWVudHMpLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCB1aS1zdGF0ZS1ob3ZlcicpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAuZmluZCgnLnNvcnRhYmxlLXJlbW92ZScpLnJlbW92ZUNsYXNzKCdoaWRkZW4nKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfSk7DQoNCiAgICAvLyByZW1vdmUgZnJvbSBzZWxlY3RlZCBsaXN0DQogICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgJyNzZWxlY3RlZC13aWRnZXRzIC5zb3J0YWJsZS1yZW1vdmUnLCBmdW5jdGlvbihlKSB7DQogICAgICAgIHZhciAkdWxTZWxlY3RlZCA9ICQodGhpcykuY2xvc2VzdCgndWwuc2VsZWN0ZWQtd2lkZ2V0cycpOw0KICAgICAgICB2YXIgJHVsQXZhaWxhYmxlID0gJCh0aGlzKS5jbG9zZXN0KCcud2lkZ2V0LWNiJykuZmluZCgnLmF2YWlsYWJsZS13aWRnZXRzJyk7DQogICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2hpZGRlbicpDQogICAgICAgICAgICAgICAucGFyZW50KCdsaScpLnJlbW92ZUNsYXNzKCduby1zb3J0JykNCiAgICAgICAgICAgICAgIC5hcHBlbmRUbygkdWxBdmFpbGFibGUpOw0KICAgICAgICB1cGRhdGVXaWRnZXRDQklucHV0KCR1bFNlbGVjdGVkKTsNCg0KICAgICAgICBpZiAoICQoJHVsU2VsZWN0ZWQpLmNoaWxkcmVuKCkubGVuZ3RoPT0xICkNCiAgICAgICAgICAgICR1bFNlbGVjdGVkLmNoaWxkcmVuKCcucGxhY2Vob2xkZXInKS5yZW1vdmVDbGFzcygnaGlkZGVuJyk7DQogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCiAgICB9KTsNCg0KICAgIGZ1bmN0aW9uIHVwZGF0ZVdpZGdldENCSW5wdXQoJHVsU2VsZWN0ZWQpIHsNCiAgICAgICAgdmFyICRhbGxTZWxlY3RlZCA9ICR1bFNlbGVjdGVkLmNoaWxkcmVuKCdsaTpub3QoLnBsYWNlaG9sZGVyKScpOw0KICAgICAgICB2YXIgJHRhcmdldElucHV0ID0gJCggJyMnICsgJHVsU2VsZWN0ZWQuZGF0YSgnY21zbXMtY2ItaW5wdXQnKSApOw0KICAgICAgICB2YXIgc2VsZWN0ZWRTdHIgPSAnJzsNCiAgICAgICAgJGFsbFNlbGVjdGVkLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiAoc2VsZWN0ZWRTdHI9PScnKSB7DQogICAgICAgICAgICAgICAgc2VsZWN0ZWRTdHIgPSAkKHRoaXMpLmRhdGEoJ2Ntc21zLWl0ZW0taWQnKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgc2VsZWN0ZWRTdHIgPSBzZWxlY3RlZFN0cisnLCcrJCh0aGlzKS5kYXRhKCdjbXNtcy1pdGVtLWlkJyk7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICAkdGFyZ2V0SW5wdXQudmFsKHNlbGVjdGVkU3RyKTsNCiAgICB9DQoNCn0pOw0K]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KDQokdWlkID0gbnVsbDsNCmlmKCBjbXNtcygpLT50ZXN0X3N0YXRlKENtc0FwcDo6U1RBVEVfSU5TVEFMTCkgKSB7DQogICAkdWlkID0gMTsgLy8gaGFyZGNvZGUgdG8gZmlyc3QgdXNlcg0KfSBlbHNlIHsNCiAgICR1aWQgPSBnZXRfdXNlcmlkKCk7DQp9DQoNCi8vIHNldHVwIE1vZHVsZSBwZXJtaXNzaW9ucw0KJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oV2lkZ2V0czo6TUFOQUdFX1BFUk0sJ1dpZGdldHMgLSBNYW5hZ2UnKTsNCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKFdpZGdldHM6OlVTRV9QRVJNLCdXaWRnZXRzIC0gVXNlJyk7DQoNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXN0b21Nb2R1bGVOYW1lJywgJ1dpZGdldHMnKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhZG1pblNlY3Rpb24nLCAnY29udGVudCcpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N0eWxlT3B0aW9ucycsICR0aGlzLT5MYW5nKCdkZWZhdWx0X3N0eWxlX29wdGlvbnMnKSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW5hYmxlSW1hZ2VzJywgZmFsc2UpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltYWdlRGlyJywgJycpOw0KDQovLyBDcmVhdGUgVGFibGVzDQokZGIgPSAkdGhpcy0+R2V0RGIoKTsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7DQoNCi8vIGNyZWF0ZSB3aWRnZXRzIHRhYmxlDQokZmllbGRzID0gIg0KICAgaWQgSSBLRVkgQVVUTywNCiAgIGNhdGVnb3J5X2lkIEkgS0VZLA0KICAgdGl0bGUgQygyNTUpIE5PVE5VTEwsDQogICBhbGlhcyBDKDI1NSkgS0VZLA0KICAgcG9zaXRpb24gSSwNCiAgIGFjdGl2ZSBJMSwNCiAgIGhlYWRpbmcgQygyNTUpLA0KICAgY29udGVudCBYLA0KICAgbGlua190byBJLA0KICAgbGlua190ZXh0IEMoMjU1KSwNCiAgIHN0eWxlX29wdGlvbnMgWCwNCiAgIHd5c2l3eWcgSTEsDQogICBpbWFnZSBDKDI1NSkNCiAgICI7DQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHMnLCAkZmllbGRzLCAkdGFib3B0YXJyYXkpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQovLyBjcmVhdGUgY2F0ZWdvcnkgdGFibGUNCiRmaWVsZHMgPSAnDQogICBjYXRlZ29yeV9pZCBJIEtFWSBBVVRPLA0KICAgY2F0ZWdvcnlfbmFtZSBDKDI1NSksDQogICBjYXRlZ29yeV9hbGlhcyBDKDI1NSkgTk9UTlVMTCwNCiAgIGRlZmF1bHRfY2F0ZWdvcnkgSTENCiAgICc7DQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHNfY2F0ZWdvcnknLCAkZmllbGRzLCAkdGFib3B0YXJyYXkpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQovLyBjcmVhdGUgZGVmYXVsdCBjYXRlZ29yeQ0KJHNxbCA9ICdJTlNFUlQgSU5UTyAnLkNNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzX2NhdGVnb3J5IChjYXRlZ29yeV9uYW1lLCBkZWZhdWx0X2NhdGVnb3J5KSBWQUxVRVMgKD8sPyknOw0KJGRiciA9ICRkYi0+RXhlY3V0ZSgkc3FsLCBhcnJheSgnR2VuZXJhbCcsIFRSVUUpKTsNCg0KDQoNCi8vIFNldHVwIFN1bW1hcnkgdGVtcGxhdGUNCnRyeSB7DQogICR0ZW1wbGF0ZV90eXBlID0gbmV3IENtc0xheW91dFRlbXBsYXRlVHlwZSgpOw0KICAkdGVtcGxhdGVfdHlwZS0+c2V0X29yaWdpbmF0b3IoJHRoaXMtPkdldE5hbWUoKSk7DQogICR0ZW1wbGF0ZV90eXBlLT5zZXRfbmFtZSgnVGVtcGxhdGUnKTsNCiAgJHRlbXBsYXRlX3R5cGUtPnNldF9kZmx0X2ZsYWcoVFJVRSk7DQogICR0ZW1wbGF0ZV90eXBlLT5zZXRfbGFuZ19jYWxsYmFjaygnV2lkZ2V0czo6cGFnZV90eXBlX2xhbmdfY2FsbGJhY2snKTsNCiAgJHRlbXBsYXRlX3R5cGUtPnNldF9jb250ZW50X2NhbGxiYWNrKCdXaWRnZXRzOjpyZXNldF9wYWdlX3R5cGVfZGVmYXVsdHMnKTsNCiAgJHRlbXBsYXRlX3R5cGUtPnJlc2V0X2NvbnRlbnRfdG9fZmFjdG9yeSgpOw0KICAkdGVtcGxhdGVfdHlwZS0+c2F2ZSgpOw0KfQ0KY2F0Y2goIENtc0V4Y2VwdGlvbiAkZSApIHsNCiAgLy8gbG9nIGl0DQogIGRlYnVnX3RvX2xvZyhfX0ZJTEVfXy4nOicuX19MSU5FX18uJyAnLiRlLT5HZXRNZXNzYWdlKCkpOw0KICBhdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdJbnN0YWxsYXRpb24gRXJyb3I6ICcuJGUtPkdldE1lc3NhZ2UoKSk7DQp9DQoNCnRyeSB7DQogICRmbiA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nd2lkZ2V0X3NhbXBsZS50cGwnOw0KICBpZiggZmlsZV9leGlzdHMoICRmbiApICkgew0KICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KICAgICR0cGwgPSBuZXcgQ21zTGF5b3V0VGVtcGxhdGUoKTsNCiAgICAkdHBsLT5zZXRfbmFtZSgnV2lkZ2V0cyBTYW1wbGUnKTsNCiAgICAkdHBsLT5zZXRfb3duZXIoJHVpZCk7DQogICAgJHRwbC0+c2V0X2NvbnRlbnQoJHRlbXBsYXRlKTsNCiAgICAkdHBsLT5zZXRfdHlwZSgkdGVtcGxhdGVfdHlwZSk7DQogICAgJHRwbC0+c2V0X3R5cGVfZGZsdChUUlVFKTsNCiAgICAkdHBsLT5zYXZlKCk7DQogIH0NCn0NCmNhdGNoKCBDbXNFeGNlcHRpb24gJGUgKSB7DQogIC8vIGxvZyBpdA0KICBkZWJ1Z190b19sb2coX19GSUxFX18uJzonLl9fTElORV9fLicgJy4kZS0+R2V0TWVzc2FnZSgpKTsNCiAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnSW5zdGFsbGF0aW9uIEVycm9yOiAnLiRlLT5HZXRNZXNzYWdlKCkpOw0KfQ0K]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KDQokZGIgPSAkdGhpcy0+R2V0RGIoKTsNCg0KLy8gcmVtb3ZlIHRoZSBkYXRhYmFzZSB0YWJsZXMNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoICRkYiApOw0KJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHMnKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIENNU19EQl9QUkVGSVguJ21vZHVsZV93aWRnZXRzX2NhdGVnb3J5Jyk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCi8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMNCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKFdpZGdldHM6Ok1BTkFHRV9QRVJNKTsNCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKFdpZGdldHM6OlVTRV9QRVJNKTsNCg0KLy8gcmVtb3ZlIGFsbCBwcmVmZXJlbmNlcw0KJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsNCg0KLy8gcmVtb3ZlIHRlbXBsYXRlcyBhbmQgdGVtcGxhdGUgdHlwZXMNCnRyeSB7DQogICAkdHlwZXMgPSBDbXNMYXlvdXRUZW1wbGF0ZVR5cGU6OmxvYWRfYWxsX2J5X29yaWdpbmF0b3IoJHRoaXMtPkdldE5hbWUoKSk7DQogICBpZiggaXNfYXJyYXkoJHR5cGVzKSAmJiBjb3VudCgkdHlwZXMpICkgew0KICAgICAgZm9yZWFjaCggJHR5cGVzIGFzICR0eXBlICkgew0KICAgICAgICAgJHRlbXBsYXRlcyA9ICR0eXBlLT5nZXRfdGVtcGxhdGVfbGlzdCgpOw0KICAgICAgICAgaWYoIGlzX2FycmF5KCR0ZW1wbGF0ZXMpICYmIGNvdW50KCR0ZW1wbGF0ZXMpICkgew0KICAgICAgICAgICAgZm9yZWFjaCggJHRlbXBsYXRlcyBhcyAkdGVtcGxhdGUgKSB7DQogICAgICAgICAgICAgICAkdGVtcGxhdGUtPmRlbGV0ZSgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgfQ0KICAgICAgICAgJHR5cGUtPmRlbGV0ZSgpOw0KICAgICAgfQ0KICAgfQ0KfQ0KY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsNCiAgLy8gbG9nIGl0DQogIGF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ1VuaW5zdGFsbCBFcnJvcjogJy4kZS0+R2V0TWVzc2FnZSgpKTsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KDQokZGIgPSAkdGhpcy0+R2V0RGIoKTsNCiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ0VOR0lORT1NeUlTQU0nKTsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCg0Kc3dpdGNoKCRvbGR2ZXJzaW9uKSB7DQoNCiAgIGNhc2UgIjEuMCI6DQogICAgICAvLyBhZGQgd3lzaXd5ZyBmaWVsZA0KICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChDTVNfREJfUFJFRklYLidtb2R1bGVfd2lkZ2V0cycsICJ3eXNpd3lnIEkxIik7DQogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiAgIGNhc2UgIjEuMSI6DQogICAgICAvLyBhZGQgaW1hZ2UgZmllbGQNCiAgICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoQ01TX0RCX1BSRUZJWC4nbW9kdWxlX3dpZGdldHMnLCAiaW1hZ2UgQygyNTUpIik7DQogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbmFibGVJbWFnZXMnLCBmYWxzZSk7DQogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1hZ2VEaXInLCAnJyk7DQoNCiAgICAgIEB1bmxpbmsoJy4uL21vZHVsZXMvV2lkZ2V0cy90ZW1wbGF0ZXMvb3JpZ190ZW1wbGF0ZS50cGwnKTsNCn0NCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJXaWRnZXRzIgp2ZXJzaW9uID0gMS4yCmF1dGhvciA9ICJDaHJpcyBUYXlsb3IiCmF1dGhvcmVtYWlsID0gImNocmlzQGJpbm5vdmF0aXZlLmNvLnVrIgptaW5jbXN2ZXJzaW9uID0gIjIuMi44IgpsYXp5bG9hZGFkbWluID0gMApsYXp5bG9hZGZyb250ZW5kID0gMAo=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_category.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQogICAgICAkKCdhLmRlbF9jYXRlZ29yeScpLmNsaWNrKGZ1bmN0aW9uKCkgew0KICAgICAgICAgcmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdjb25maXJtX2RlbGV0ZScsICRtb2QtPkxhbmcoJ3RpdGxlX2NhdGVnb3J5JykgKX0nKTsNCiAgICAgIH0pDQogICB9KTsNCjwvc2NyaXB0Pg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+DQogICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWVkaXRfY2F0ZWdvcnl9Ij57YWRtaW5faWNvbiBpY29uPSduZXdvYmplY3QuZ2lmJ30geyRtb2QtPkxhbmcoJ2FkZF9jYXRlZ29yeScpfTwvYT4NCjwvZGl2Pg0Ke2lmICFlbXB0eSgkY2F0ZWdvcnkpfQ0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPg0KICAgPHRoZWFkPg0KICAgICAgPHRyPg0KICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCd0aXRsZV9jYXRlZ29yeScpfTwvdGg+DQogICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3RpdGxlX2FsaWFzJyl9PC90aD4NCiAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnskbW9kLT5MYW5nKCd0aXRsZV9kZWZhdWx0Jyl9PC90aD4NCiAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQogICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KICAgICAgPC90cj4NCiAgIDwvdGhlYWQ+DQogICA8dGJvZHk+DQp7Zm9yZWFjaCAkY2F0ZWdvcnkgYXMgJGNhdH0NCntjbXNfYWN0aW9uX3VybCBhY3Rpb249ZWRpdF9jYXRlZ29yeSBjYXRlZ29yeV9pZD0kY2F0LT5jYXRlZ29yeV9pZCBhc3NpZ249J2VkaXRfdXJsJ30NCiAgICAgIDx0cj4NCiAgICAgICAgIDx0ZD48YSBocmVmPSJ7JGVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0Jyl9Ij57JGNhdC0+Y2F0ZWdvcnlfbmFtZX08L2E+PC90ZD4NCiAgICAgICAgIDx0ZD57JGNhdC0+Y2F0ZWdvcnlfYWxpYXN9PC90ZD4NCntpZiAkY2F0LT5kZWZhdWx0X2NhdGVnb3J5fQ0KICAgICAgICAgPHRkPjxzcGFuIHRpdGxlPSJ7JG1vZC0+TGFuZygnaXNfZGVmYXVsdCcpfSI+e2FkbWluX2ljb24gaWNvbj0ndHJ1ZS5naWYnfTwvc3Bhbj48L3RkPg0KICAgICAgICAgPHRkPjxhIGhyZWY9InskZWRpdF91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2VkaXQnKX0iPnthZG1pbl9pY29uIGljb249J2VkaXQuZ2lmJ308L2E+PC90ZD4NCiAgICAgICAgIDx0ZD48c3Bhbj4mbmJzcDs8L2E+PC90ZD4NCntlbHNlfQ0KICAgICAgICAgPHRkPjxhIGNsYXNzPSJpbml0LWFqYXgtdG9nZ2xlIGFwcHJvdmUtY2F0ZWdvcnkiIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249c2V0X2RlZmF1bHRfY2F0ZWdvcnkgY2F0ZWdvcnlfaWQ9JGNhdC0+Y2F0ZWdvcnlfaWR9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3NldF9kZWZhdWx0Jyl9Ij57YWRtaW5faWNvbiBpY29uPSdmYWxzZS5naWYnfTwvYT48L3RkPg0KICAgICAgICAgPHRkPjxhIGhyZWY9InskZWRpdF91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2VkaXQnKX0iPnthZG1pbl9pY29uIGljb249J2VkaXQuZ2lmJ308L2E+PC90ZD4NCiAgICAgICAgIDx0ZD48YSBjbGFzcz0iZGVsX2NhdGVnb3J5IiBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWRlbGV0ZV9jYXRlZ29yeSBjYXRlZ29yeV9pZD0kY2F0LT5jYXRlZ29yeV9pZH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZGVsZXRlJyl9Ij57YWRtaW5faWNvbiBpY29uPSdkZWxldGUuZ2lmJ308L2E+PC90ZD4NCnsvaWZ9DQogICAgICA8L3RyPg0Key9mb3JlYWNofQ0KICAgPC90Ym9keT4NCjwvdGFibGU+DQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_converter.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogYWRtaW5fY29udmVydGVyLnRwbA0KDQogICBOb3RlOiBkb24ndCBib3RoZXIgdG8gdXNlICRsYW5nIGFzIG9ubHkgZm9yIG93biB1c2UNCg0KKn0NCnskc3RhcnRmb3JtfQ0KDQogICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4xLiBJbXBvcnQgZnJvbSBMSVNFV2lkZ2V0czo8L3A+DQogICAgICA8ZGl2IGNsYXNzPSJwYWdld2FybmluZyAiPldhcm5pbmc6IFRoaXMgd2lsbCByZW1vdmUgQUxMIGV4aXRpbmcgV2lkZ2V0cyBkYXRhITwvZGl2Pg0KICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRidXR0b25faW1wb3J0X2Zyb21fTElTRVdpZGdldHN9PC9wPjxicj4NCiAgIDwvZGl2Pg0KICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Mi4gVXBkYXRlIGFsbCBQYWdlIFRlbXBsYXRlczwvcD4NCiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPkVkaXQgdGhlIGNvbnRlbnQgYmxvY2sgdGFncyBhdCB0aGUgdG9wIG9mIGFsbCBwYWdlIHRlbXBsYXRlczo8YnI+DQo8cHJlPnJlcGxhY2U6IHtsaXRlcmFsfXtjb250ZW50X21vZHVsZSBtb2R1bGU9J0VDQjInIGZpZWxkPSdzb3J0YWJsZWxpc3QnIC4uLiB1ZHQ9J3dpZGdldHNTaWRlYmFyJyAuLi4NCndpdGg6ICAgIHtjb250ZW50X21vZHVsZSBtb2R1bGU9J1dpZGdldHMnIGNhdGVnb3J5PSdzaWRlYmFyV2lkZ2V0JyAuLi4gb3IgLi4uIGNhdGVnb3J5PSdwYWdlQm90dG9tV2lkZ2V0JyAuLi4gey9saXRlcmFsfTwvcHJlPjwvcD4NCiAgICAgIDxicj4NCiAgICAgIFJlcGxhY2UgdGhlIHRhZ3MgaW4gdGhlIGJvZHkgb2YgdGhlIHRlbXBsYXRlOjxicj4NCjxwcmU+cmVwbGFjZToge2xpdGVyYWx9e3dpZGdldHNTaWRlYmFyIG9wdGlvbnM9JHJpZ2h0U2lkZWJhck9wdGlvbnN9DQp3aXRoOiAgICB7V2lkZ2V0cyBpdGVtcz0kcmlnaHRTaWRlYmFyT3B0aW9uc30gey9saXRlcmFsfTwvcHJlPg0KICAgICAgPGJyPg0KPHByZT5yZXBsYWNlOiB7bGl0ZXJhbH17d2lkZ2V0c1BhZ2VCb3R0b20gb3B0aW9ucz0kcGFnZUJvdHRvbU9wdGlvbnN9DQp3aXRoOiAgICB7V2lkZ2V0cyBpdGVtcz0kcGFnZUJvdHRvbU9wdGlvbnN9IHsvbGl0ZXJhbH08L3ByZT48L3A+PGJyPg0KICAgPC9kaXY+DQp7aWYgJHdpZGdldHNVRFRzRXhpc3R9DQogICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4zLiBSZW1vdmUgV2lkZ2V0cyBVRFRzOiA8L3A+DQogICAgICA8ZGl2IGNsYXNzPSJwYWdld2FybmluZyBncmlkXzEyIj5VRFRzOiAnd2lkZ2V0c1NpZGViYXInIG9yICd3aWRnZXRzUGFnZUJvdHRvbScgc3RpbGwgZXhpc3QgLSBkZWxldGUgdGhlbSBub3cuPC9kaXY+DQogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4uLi48L3A+PGJyPg0KICAgPC9kaXY+DQp7L2lmfQ0KICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+NC4gQUxMIERPTkUgOik8L3A+DQogICA8L2Rpdj4NCg0KeyRlbmRmb3JtfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_options.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQogICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2N1c3RvbU1vZHVsZU5hbWV9OjwvcD4NCiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY3VzdG9tTW9kdWxlTmFtZX08L3A+DQogICA8L2Rpdj4NCiAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfYWRtaW5TZWN0aW9ufTo8L3A+DQogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FkbWluU2VjdGlvbn08L3A+DQogICA8L2Rpdj4NCiAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfd2lkZ2V0U3R5bGVPcHRpb25zfTo8L3A+DQogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCiAgICAgICAgIHskaGVscF93aWRnZXRTdHlsZU9wdGlvbnN8bmwyYnJ9DQogICAgICAgICB7Y21zX3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1pbnB1dF9zdHlsZU9wdGlvbnMgdmFsdWU9JHN0eWxlT3B0aW9uc30NCiAgICAgIDwvcD4NCiAgIDwvZGl2Pg0KICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9lbmFibGVJbWFnZXN9OjwvcD4NCiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgICAgeyRpbnB1dF9lbmFibGVJbWFnZXN9DQogICAgICAgICB7JGhlbHBfZW5hYmxlSW1hZ2VzfG5sMmJyfQ0KICAgICAgPC9wPg0KICAgPC9kaXY+DQogICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2ltYWdlRGlyfTo8L3A+DQogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCiAgICAgICAgIHskaW5wdXRfaW1hZ2VEaXJ9DQogICAgICAgICB7JGhlbHBfaW1hZ2VEaXJ8bmwyYnJ9DQogICAgICA8L3A+DQogICA8L2Rpdj4NCiAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+DQogICAgICA8L3A+DQogICA8L2Rpdj4NCnskZW5kZm9ybX0=]]></data>
	</file>
	<file>
	  <filename>/templates/defaultadmin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQogICAgICAkKCdhLmRlbF93aWRnZXQnKS5jbGljayhmdW5jdGlvbigpIHsNCiAgICAgICAgIHJldHVybiBjb25maXJtKCd7JG1vZC0+TGFuZygnY29uZmlybV9kZWxldGUnKX0nICsgJyAiJyArICQodGhpcykuZGF0YSgndGl0bGUnKSArICciPycpOw0KICAgICAgfSkNCiAgIH0pOw0KPC9zY3JpcHQ+DQoNCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4NCiAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249ZWRpdF93aWRnZXR9Ij57YWRtaW5faWNvbiBpY29uPSduZXdvYmplY3QuZ2lmJ30geyRtb2QtPkxhbmcoJ2FkZF93aWRnZXQnKX08L2E+DQogICA8c3BhbiBpZD0ibG9hZGVyIiBkYXRhLWljb249InskbG9hZGluZ0ljb259Ij4gPC9zcGFuPg0KPC9kaXY+DQoNCntpZiAhZW1wdHkoJHdpZGdldHMpfQ0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiPg0KICAgPHRoZWFkPg0KICAgICAgPHRyPg0KICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCd0aXRsZV90aXRsZScpfTwvdGg+DQogICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3RpdGxlX2NhdGVnb3J5Jyl9PC90aD4NCiAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnskbW9kLT5MYW5nKCd0aXRsZV9hY3RpdmUnKX08L3RoPg0KICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyogZWRpdCBpY29uICp9PC90aD4NCiAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnsqIGRlbGV0ZSBpY29uICp9PC90aD4NCiAgICAgIDwvdHI+DQogICA8L3RoZWFkPg0KICAgPHRib2R5IGNsYXNzPSJzb3J0YWJsZS13aWRnZXQtbGlzdCI+DQp7Zm9yZWFjaCAkd2lkZ2V0cyBhcyAkd2lkZ2V0fQ0Ke2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1lZGl0X3dpZGdldCB3aWQ9JHdpZGdldC0+aWQgYXNzaWduPSdlZGl0X3VybCd9DQogICAgICA8dHIgY2xhc3M9IntpZiAkd2lkZ2V0QGluZGV4IGlzIGV2ZW59cm93MXtlbHNlfXJvdzJ7L2lmfSIgZGF0YS1pZD0ieyR3aWRnZXQtPmlkfSIgZGF0YS1yZW9yZGVyPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPXJlb3JkZXJfd2lkZ2V0IHdpZD0kd2lkZ2V0LT5pZCBhZnRlcj0tMSBmb3Jqcz0xfSI+DQogICAgICAgICA8dGQ+PGEgaHJlZj0ieyRlZGl0X3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZWRpdCcpfSI+eyR3aWRnZXQtPnRpdGxlfTwvYT48L3RkPg0KICAgICAgICAgPHRkPnskY2F0ZWdvcmllc1skd2lkZ2V0LT5jYXRlZ29yeV9pZF19PC90ZD4NCiAgICAgICAgIDx0ZD48YSBjbGFzcz0iYWN0aXZlX3dpZGdldCIgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj10b2dnbGVfYWN0aXZlX3dpZGdldCB3aWQ9JHdpZGdldC0+aWR9IiA+e2lmICR3aWRnZXQtPmFjdGl2ZX17YWRtaW5faWNvbiBpY29uPSd0cnVlLmdpZid9e2Vsc2V9e2FkbWluX2ljb24gaWNvbj0nZmFsc2UuZ2lmJ317L2lmfTwvYT4NCiAgICAgICAgIDwvdGQ+DQogICAgICAgICA8dGQ+PGEgaHJlZj0ieyRlZGl0X3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZWRpdCcpfSI+e2FkbWluX2ljb24gaWNvbj0nZWRpdC5naWYnfTwvYT48L3RkPg0KICAgICAgICAgPHRkPjxhIGNsYXNzPSJkZWxfd2lkZ2V0IiBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWRlbGV0ZV93aWRnZXQgd2lkPSR3aWRnZXQtPmlkfSIgdGl0bGU9InskbW9kLT5MYW5nKCdkZWxldGUnKX0iIGRhdGEtdGl0bGU9Inskd2lkZ2V0LT50aXRsZX0iPnthZG1pbl9pY29uIGljb249J2RlbGV0ZS5naWYnfTwvYT48L3RkPg0KICAgICAgPC90cj4NCnsvZm9yZWFjaH0NCiAgIDwvdGJvZHk+DQo8L3RhYmxlPg0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/edit_category.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPntpZiAkaXNOZXdDYXRlZ29yeX17JG1vZC0+TGFuZygnYWRkX2NhdGVnb3J5Jyl9e2Vsc2V9eyRtb2QtPkxhbmcoJ2VkaXRfY2F0ZWdvcnknKX17L2lmfTwvaDM+DQp7Zm9ybV9zdGFydCBjYXRlZ29yeV9pZD0kY2F0ZWdvcnktPmNhdGVnb3J5X2lkfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3RpdGxlX2NhdGVnb3J5Jyl9OjwvcD4NCiAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y2F0ZWdvcnlfbmFtZSIgdmFsdWU9InskY2F0ZWdvcnktPmNhdGVnb3J5X25hbWV9IiBzaXplPSI1MCIvPg0KICAgPC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndGl0bGVfYWxpYXMnKX06PC9wPg0KICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jYXRlZ29yeV9hbGlhcyIgdmFsdWU9InskY2F0ZWdvcnktPmNhdGVnb3J5X2FsaWFzfSIgc2l6ZT0iNTAiLz4NCiAgIDwvcD4NCjwvZGl2Pg0KPHA+Jm5ic3A7PC9wPg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+DQogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4NCiAgIDwvcD4NCjwvZGl2Pg0Ke2Zvcm1fZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/edit_widget.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQogICAgICAkKCdpbnB1dFtuYW1lPXskYWN0aW9uaWR9d3lzaXd5Z10nKS5jaGFuZ2UoZnVuY3Rpb24oKSB7DQogICAgICAgICAkKCdidXR0b25bbmFtZT17JGFjdGlvbmlkfWFwcGx5XScpLmNsaWNrKCk7DQogICAgICB9KTsNCiAgIH0pOw0KPC9zY3JpcHQ+DQoNCjxoMz57aWYgJGlzTmV3V2lkZ2V0fXskbW9kLT5MYW5nKCdhZGRfd2lkZ2V0Jyl9e2Vsc2V9eyRtb2QtPkxhbmcoJ2VkaXRfd2lkZ2V0Jyl9ey9pZn08L2gzPg0KDQp7Zm9ybV9zdGFydCB3aWQ9JHdpZGdldC0+aWR9DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4NCiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPg0KICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1hcHBseSIgdmFsdWU9InskbW9kLT5MYW5nKCdhcHBseScpfSIvPg0KICAgPC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndGl0bGVfYWN0aXZlJyl9OjwvcD4NCiAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWN0aXZlfTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3RpdGxlX3RpdGxlJyl9OjwvcD4NCiAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgeyRtb2QtPkxhbmcoJ2hlbHBfdGl0bGUnKX08YnI+DQogICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH10aXRsZSIgdmFsdWU9Inskd2lkZ2V0LT50aXRsZX0iIHNpemU9IjUwIi8+DQogICA8L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0aXRsZV9jYXRlZ29yeScpfTo8L3A+DQogICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhdGVnb3J5X2lkfTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3RpdGxlX2hlYWRpbmcnKX06PC9wPg0KICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICB7JG1vZC0+TGFuZygnaGVscF9oZWFkaW5nJyl9PGJyPg0KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9aGVhZGluZyIgdmFsdWU9Inskd2lkZ2V0LT5oZWFkaW5nfSIgc2l6ZT0iNjAiLz4NCiAgIDwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3RpdGxlX2NvbnRlbnQnKX06PC9wPg0KICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICB7JG1vZC0+TGFuZygnaGVscF9jb250ZW50Jyl9PGJyPg0KICAgICAgeyRpbnB1dF9jb250ZW50fQ0KICAgPC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndGl0bGVfd3lzaXd5ZycpfTo8L3A+DQogICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3d5c2l3eWd9PC9wPg0KPC9kaXY+DQp7aWYgJGVuYWJsZUltYWdlc30NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0aXRsZV9pbWFnZScpfTo8L3A+DQogICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCiAgICAgIHskbW9kLT5MYW5nKCdoZWxwX2ltYWdlJyl9PGJyPg0KICAgICAgeyRpbnB1dF9pbWFnZX0NCiAgIDwvcD4NCjwvZGl2Pg0Key9pZn0NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0aXRsZV9saW5rX3RvJyl9OjwvcD4NCiAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgeyRtb2QtPkxhbmcoJ2hlbHBfbGlua190bycpfTxicj4NCiAgICAgIHskaW5wdXRfbGlua190b30NCiAgIDwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3RpdGxlX2xpbmtfdGV4dCcpfTo8L3A+DQogICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCiAgICAgIHskbW9kLT5MYW5nKCdoZWxwX2xpbmtfdGV4dCcpfTxicj4NCiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWxpbmtfdGV4dCIgdmFsdWU9Inskd2lkZ2V0LT5saW5rX3RleHR9Ii8+DQogICA8L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0aXRsZV9zdHlsZV9vcHRpb25zJyl9OjwvcD4NCiAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgeyRtb2QtPkxhbmcoJ2hlbHBfc3R5bGVfb3B0aW9ucycpfTxicj4NCiAgICAgIHskaW5wdXRfc3R5bGVPcHRpb25zfQ0KICAgPC9wPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygndGl0bGVfYWxpYXMnKX06PC9wPg0KICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQogICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1hbGlhcyIgdmFsdWU9Inskd2lkZ2V0LT5hbGlhc30iIHNpemU9IjUwIi8+DQogICA8L3A+DQo8L2Rpdj4NCg0KPHA+Jm5ic3A7PC9wPg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+DQogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4NCiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9YXBwbHkiIHZhbHVlPSJ7JG1vZC0+TGFuZygnYXBwbHknKX0iLz4NCiAgIDwvcD4NCjwvZGl2Pg0Ke2Zvcm1fZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/templates/sortablelist_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogc29ydGFibGVsaXN0X3RlbXBsYXRlLnRwbA0KDQoqfQ0Ke2lmICFlbXB0eSgkZGVzY3JpcHRpb24pfTxzcGFuIGNsYXNzPSJ3aWRnZXQtZGVzY3JpcHRpb24iPnskZGVzY3JpcHRpb259PC9zcGFuPiB7L2lmfQ0KPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9Inskc2VsZWN0YXJlYV9wcmVmaXh9IiBuYW1lPSJ7JHNlbGVjdGFyZWFfcHJlZml4fSIgdmFsdWU9Inskc2VsZWN0ZWRfc3RyfSIgc2l6ZT0iMTAwIi8+DQo8ZGl2IGNsYXNzPSJjX2Z1bGwgY2Ygd2lkZ2V0LWNiIHskc2VsZWN0YXJlYV9wcmVmaXh9Ij4NCiAgICA8ZGl2IGNsYXNzPSJncmlkXzYgYWxwaGEiPg0KICAgICAgICA8ZmllbGRzZXQ+DQogICAgICAgICAgICA8bGVnZW5kPntpZiAkbGFiZWxMZWZ0IT0nJ317JGxhYmVsTGVmdH17ZWxzZX17JG1vZC0+TGFuZygnY29udGVudF9ibG9ja19sYWJlbF9zZWxlY3RlZCcpfXsvaWZ9PC9sZWdlbmQ+DQogICAgICAgICAgICA8ZGl2IGlkPSJzZWxlY3RlZC13aWRnZXRzIj4NCiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InNvcnRhYmxlLXdpZGdldHMgc29ydGFibGUtbGlzdCBzZWxlY3RlZC13aWRnZXRzIiBkYXRhLWNtc21zLWNiLWlucHV0PSJ7JHNlbGVjdGFyZWFfcHJlZml4fSI+DQogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0icGxhY2Vob2xkZXIgbm8tc29ydCB7aWYgJHNlbGVjdGVkfEBjb3VudD4wfSBoaWRkZW57L2lmfSI+eyRtb2QtPkxhbmcoJ2Ryb3BfaXRlbXMnKX08L2xpPg0KICAgICAgICAgICAgICAgICAgICB7Zm9yZWFjaCAkc2VsZWN0ZWQgYXMgJGFsaWFzID0+ICRuYW1lfQ0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNmIHNvcnRhYmxlLWl0ZW0iIGRhdGEtY21zbXMtaXRlbS1pZD0ieyRhbGlhc30iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHskbmFtZX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3JlbW92ZScpfSIgY2xhc3M9InVpLWljb24gdWktaWNvbi10cmFzaCBzb3J0YWJsZS1yZW1vdmUiPnskbW9kLT5MYW5nKCdyZW1vdmUnKX08L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICB7L2ZvcmVhY2h9DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2ZpZWxkc2V0Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImdyaWRfNiBvbWVnYSBkcmFnZ2FibGUtYXJlYSI+DQogICAgICAgIDxmaWVsZHNldD4NCiAgICAgICAgICAgIDxsZWdlbmQ+e2lmICRsYWJlbFJpZ2h0IT0nJ317JGxhYmVsUmlnaHR9e2Vsc2V9eyRtb2QtPkxhbmcoJ2NvbnRlbnRfYmxvY2tfbGFiZWxfYXZhaWxhYmxlJyl9ey9pZn08L2xlZ2VuZD4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImF2YWlsYWJsZS13aWRnZXRzIj4NCiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InNvcnRhYmxlLXdpZGdldHMgc29ydGFibGUtbGlzdCBhdmFpbGFibGUtaXRlbXMgYXZhaWxhYmxlLXdpZGdldHMiPg0KICAgICAgICAgICAgICAgIHtmb3JlYWNoICRhdmFpbGFibGUgYXMgJGFsaWFzID0+ICRuYW1lfQ0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IiBkYXRhLWNtc21zLWl0ZW0taWQ9InskYWxpYXN9Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7JG5hbWV9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgdGl0bGU9InskbW9kLT5MYW5nKCdyZW1vdmUnKX0iIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tdHJhc2ggc29ydGFibGUtcmVtb3ZlIGhpZGRlbiI+eyRtb2QtPkxhbmcoJ3JlbW92ZScpfTwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgey9mb3JlYWNofQ0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9maWVsZHNldD4NCiAgICA8L2Rpdj4NCjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/widget_sample.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogd2lkZ2V0X3NhbXBsZS50cGwgdjEuMCAtIDE1U2VwMTggKn0NCntmb3JlYWNoICRpdGVtcyBhcyAkaXRlbX0NCiAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1vdXRlciBjb2wtMTIiPg0KICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IHskaXRlbS0+YWxpYXN9IHskaXRlbS0+c3R5bGVfb3B0aW9uc3xyZXBsYWNlOicsJzonICd9IGNvbC0xMiI+DQp7aWYgJGl0ZW0tPmhlYWRpbmchPScnfQ0KICAgICAgICAgICAgPGgyIGNsYXNzPSJoZWFkaW5nIGNvbC0xMiI+eyRpdGVtLT5oZWFkaW5nfGVzY2FwZX08L2gyPg0Key9pZn0NCntpZiAkaXRlbS0+aW1hZ2V9DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWFnZSBjb2wtMTIiPg0KICAgICAgICAgICAgICAgPGltZyBzcmM9Int1cGxvYWRzX3VybH0veyRpdGVtLT5pbWFnZX0iIGFsdD0ieyRpdGVtLT5oZWFkaW5nfSI+DQogICAgICAgICAgICA8L2Rpdj4NCnsvaWZ9DQp7aWYgJGl0ZW0tPmNvbnRlbnR9DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50IGNvbC0xMiI+DQogICAgICAgICAgICAgICB7ZXZhbCB2YXI9JGl0ZW0tPmNvbnRlbnR9DQogICAgICAgICAgICA8L2Rpdj4NCnsvaWZ9DQp7aWYgJGl0ZW0tPmxpbmtfdG8+JzAnfQ0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGluayBjb2wtMTIiPg0KICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBidG4tc20iIGhyZWY9IntjbXNfc2VsZmxpbmsgaHJlZj0kaXRlbS0+bGlua190b30iPntpZiAkaXRlbS0+bGlua190ZXh0IT0nJ317JGl0ZW0tPmxpbmtfdGV4dHxlc2NhcGV9e2Vsc2V9UmVhZCBtb3Jley9pZn08L2E+DQogICAgICAgICAgICA8L2Rpdj4NCnsvaWZ9DQogICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0Key9mb3JlYWNofQ==]]></data>
	</file>
	<file>
	  <filename>/Widgets.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogV2lkZ2V0cw0KIyBBdXRob3I6IENocmlzIFRheWxvcg0KIyBDb3B5cmlnaHQ6IChDKSAyMDE2IENocmlzIFRheWxvciwgY2hyaXNAYmlubm92YXRpdmUuY28udWsNCiMgTGljZW5jZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzDQojICAgICAgICAgIHNlZSAvV2lkZ2V0cy9kb2MvTElDRU5DRS50eHQgb3IgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMTEgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBQcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgTW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvV2lkZ2V0cw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMNCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBXaWRnZXRzIGV4dGVuZHMgQ01TTW9kdWxlIHsNCg0KICAgY29uc3QgTUFOQUdFX1BFUk0gPSAnbWFuYWdlX3dpZGdldHMnOw0KICAgY29uc3QgVVNFX1BFUk0gPSAndXNlX3dpZGdldHMnOw0KDQogICBwcm90ZWN0ZWQgJF9pc0NvbnRlbnRCbG9ja0pzTG9hZGVkOw0KDQogICBwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsgcmV0dXJuICcxLjInOyB9DQogICBwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgeyByZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1c3RvbU1vZHVsZU5hbWUnKTsgfQ0KICAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7IHJldHVybiAkdGhpcy0+TGFuZygnYWRtaW5kZXNjcmlwdGlvbicpOyB9DQogICBwdWJsaWMgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKSB7IHJldHVybiBUUlVFOyB9DQogICBwdWJsaWMgZnVuY3Rpb24gSGFzQWRtaW4oKSB7IHJldHVybiBUUlVFOyB9DQogICBwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkgeyByZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FkbWluU2VjdGlvbicsICdjb250ZW50Jyk7IH0NCiAgIHB1YmxpYyBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7IHJldHVybiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oc2VsZjo6VVNFX1BFUk0pIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oc2VsZjo6TUFOQUdFX1BFUk0pICk7IH0NCiAgIHB1YmxpYyBmdW5jdGlvbiBHZXRIZWxwKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsgfQ0KICAgcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvcigpIHsgcmV0dXJuICdDaHJpcyBUYXlsb3InOyB9DQogICBwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSB7IHJldHVybiAnY2hyaXNAYmlubm92YXRpdmUuY28udWsnOyB9DQogICBwdWJsaWMgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkgeyByZXR1cm4gZmlsZV9nZXRfY29udGVudHMoZGlybmFtZShfX0ZJTEVfXykuJy9kb2MvY2hhbmdlbG9nLmluYycpOyB9DQoNCg0KICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7DQogICAgICAkdGhpcy0+X2lzQ29udGVudEJsb2NrSnNMb2FkZWQgPSBmYWxzZTsNCiAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsNCiAgIH0NCg0KICAgcHVibGljIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKSB7DQogICAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2Fza191bmluc3RhbGwnKTsNCiAgIH0NCg0KICAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpIHsNCiAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd3aWQnLCBDTEVBTl9JTlQpOw0KICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOw0KICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhdGVnb3J5JyxDTEVBTl9TVFJJTkcpOw0KICAgICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2l0ZW1zJyxDTEVBTl9TVFJJTkcpOw0KICAgICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7DQogICB9DQoNCiAgIHB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKSB7DQogICAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCAnd2lkJywgbnVsbCwgJHRoaXMtPkxhbmcoJ3BhcmFtX3dpZCcpICk7DQogICAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCAndGVtcGxhdGUnLCBudWxsLCAkdGhpcy0+bGFuZygncGFyYW1fdGVtcGxhdGUnKSApOw0KICAgICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlciggJ2NhdGVnb3J5JywgbnVsbCwgJHRoaXMtPmxhbmcoJ3BhcmFtX2NhdGVnb3J5JykgKTsNCiAgICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoICdpdGVtcycsIG51bGwsICR0aGlzLT5sYW5nKCdwYXJhbV9pdGVtcycpICk7DQogICB9DQoNCiAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcGFnZV90eXBlX2xhbmdfY2FsbGJhY2soJHN0cikgew0KICAgICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnV2lkZ2V0cycpOw0KICAgICAgaWYoIGlzX29iamVjdCgkbW9kKSApIHJldHVybiAkbW9kLT5MYW5nKCd0eXBlXycuJHN0cik7DQogICB9DQoNCiAgIHB1YmxpYyBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkgew0KICAgICAgJHRtcCA9ICcNCiAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL21vZHVsZXMvV2lkZ2V0cy9saWIvY3NzL3dpZGdldHNfYWRtaW4uY3NzIj4NCiAgICAgICAgIDxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHNyYz0iLi4vbW9kdWxlcy9XaWRnZXRzL2xpYi9qcy93aWRnZXRzX2FkbWluLmpzIj48L3NjcmlwdD4nOw0KICAgICAgcmV0dXJuICR0bXA7DQogICB9DQoNCiAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVzZXRfcGFnZV90eXBlX2RlZmF1bHRzKENtc0xheW91dFRlbXBsYXRlVHlwZSAkdHlwZSkgew0KICAgICAgaWYoICR0eXBlLT5nZXRfb3JpZ2luYXRvcigpICE9ICdXaWRnZXRzJyApIHRocm93IG5ldyBDbXNMb2dpY0V4Y2VwdGlvbignQ2Fubm90IHJlc2V0IGNvbnRlbnRzIGZvciB0aGlzIHRlbXBsYXRlIHR5cGUnKTsNCg0KICAgICAgJGZuID0gbnVsbDsNCiAgICAgIGlmICggJHR5cGUtPmdldF9uYW1lKCk9PSdUZW1wbGF0ZScgKSB7DQogICAgICAgICAkZm4gPSAnb3JpZ190ZW1wbGF0ZS50cGwnOw0KICAgICAgfQ0KICAgICAgJGZuID0gY21zX2pvaW5fcGF0aChfX0RJUl9fLCd0ZW1wbGF0ZXMnLCRmbik7DQogICAgICBpZiggZmlsZV9leGlzdHMoJGZuKSApIHJldHVybiBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCiAgIH0NCg0KDQoNCiAgIC8qKg0KICAgKiBAbGluayBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnL2FwaWRvYy9DTVMvQ01TTW9kdWxlLmh0bWwjSGFzQ2FwYWJpbGl0eQ0KICAgKiBAaWdub3JlDQogICAqLw0KICAgZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwgJHBhcmFtcyA9IGFycmF5KCkpIHsNCiAgICAgIHN3aXRjaCAoJGNhcGFiaWxpdHkpIHsNCiAgICAgICAgIGNhc2UgJ2NvbnRlbnRibG9ja3MnOg0KICAgICAgICAgICAgIHJldHVybiBUUlVFOw0KICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICByZXR1cm4gRkFMU0U7DQogICAgICB9DQogICB9DQoNCg0KICAgLy8gY29udGVudCBibG9jaw0KICAgLyoqDQogICAqIEBsaW5rIGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcvQVBJRE9DMl8wL2NsYXNzZXMvQ01TTW9kdWxlLmh0bWwjbWV0aG9kX0dldENvbnRlbnRCbG9ja0ZpZWxkSW5wdXQNCiAgICovDQogICBwdWJsaWMgZnVuY3Rpb24gR2V0Q29udGVudEJsb2NrRmllbGRJbnB1dCgkYmxvY2tOYW1lLCAkdmFsdWUsICRwYXJhbXMsICRhZGRpbmc9ZmFsc2UsDQogICAgICBDb250ZW50QmFzZSAkY29udGVudF9vYmopIHsNCg0KICAgICAgJHdpZGdldENCID0gbmV3IHdpZGdldF90b29scygkYmxvY2tOYW1lLCAkdmFsdWUsICRwYXJhbXMsICRhZGRpbmcpOw0KICAgICAgJGNiID0gJHdpZGdldENCLT5nZXRfY29udGVudF9ibG9ja19pbnB1dCgpOw0KDQogICAgICAvLyBsb2FkIGpzIG9uY2Ugb25seQ0KICAgICAgaWYgKCEkdGhpcy0+X2lzQ29udGVudEJsb2NrSnNMb2FkZWQpIHsNCiAgICAgICAgICRjYiAuPSAkd2lkZ2V0Q0ItPmdldF9jb250ZW50X2Jsb2NrX2pzKCk7DQogICAgICAgICAkdGhpcy0+X2lzQ29udGVudEJsb2NrSnNMb2FkZWQgPSB0cnVlOw0KICAgICAgfQ0KDQogICAgICByZXR1cm4gJGNiOw0KICAgfQ0KDQoNCn0=]]></data>
	</file>
</module>
