<?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>Eridu</name>
	<version>1.0</version>
    <mincmsversion>2.1.5</mincmsversion>
	<help><![CDATA[PGRpdiBpZD0icGFnZV90YWJzIj4NCiAgPGRpdiBpZD0iZ2VuZXJhbCI+DQogICAgV2hhdCBJcyBJdA0KICA8L2Rpdj4gICAgDQogIDxkaXYgaWQ9ImhvdyI+DQogICAgSG93IFRvIFVzZSBJdA0KICA8L2Rpdj4NCiAgPGRpdiBpZD0ibWV0aG9kcyI+DQogIE1ldGhvZHMNCjwvZGl2PiAgICAgICANCiAgPGRpdiBpZD0iYWJvdXQiPg0KICAgIEFib3V0DQogIDwvZGl2Pg0KPC9kaXY+DQoNCg0KPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4NCg0KDQo8ZGl2IGlkPSJwYWdlX2NvbnRlbnQiPg0KDQoNCg0KICA8ZGl2IGlkPSJnZW5lcmFsX2MiPg0KICA8YmxvY2txdW90ZSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmNmY2ZjIDtwYWRkaW5nOiAxcHggM3B4IDhweCAxNnB4OyBib3JkZXItbGVmdDogNXB4IHNvbGlkICM1NzdkYTQ7Ij4NCiAgPGg0PjxlbT48c3Ryb25nPkVyaWR1PC9zdHJvbmc+PC9lbT48L2g0Pg0KICA8cD48ZW0+PHN0cm9uZz5FcmlkdTwvc3Ryb25nPiBpcyBhbiBhbmNpZW50IFN1bWVyaWFuIGNpdHkgaW4gd2hhdCBpcyBub3cgVGVsbCBBYnUgU2hhaHJhaW4sIERoaSBRYXIgR292ZXJub3JhdGUsIElyYXEuPC9lbT48L3A+DQogIDxwPjxlbT48c3Ryb25nPkVyaWR1PC9zdHJvbmc+IHdhcyBsb25nIGNvbnNpZGVyZWQgdGhlIGVhcmxpZXN0IGNpdHkgaW4gc291dGhlcm4gTWVzb3BvdGFtaWEsIGFuZCBpcyBzdGlsbCB0b2RheSBhcmd1ZWQgdG8gYmUgdGhlIG9sZGVzdCBjaXR5IGluIHRoZSB3b3JsZC48L2VtPjwvcD4NCiAgPHA+PGVtPlsuLi5dIFRoZSBFZ3lwdG9sb2dpc3QgPHN0cm9uZz5EYXZpZCBSb2hsPC9zdHJvbmc+LCBoYXMgY29uamVjdHVyZWQgdGhhdCA8c3Ryb25nPkVyaWR1PC9zdHJvbmc+LCB0byB0aGUgc291dGggb2YgVXIsIHdhcyB0aGUgb3JpZ2luYWwgPHN0cm9uZz5CYWJlbDwvc3Ryb25nPiBhbmQgc2l0ZSBvZiB0aGUgPHN0cm9uZz5Ub3dlciBvZiBCYWJlbDwvc3Ryb25nPiwgcmF0aGVyIHRoYW4gdGhlIGxhdGVyIGNpdHkgb2YgPHN0cm9uZz5CYWJ5bG9uPC9zdHJvbmc+IFsuLi5dPC9lbT48L3A+DQogIDxjaXRlPldpa2lwZWRpYTwvY2l0ZT4NCjwvYmxvY2txdW90ZT4NCiAgICA8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCiAgICA8cD5UaGlzIG1vZHVsZSBtYW5hZ2VzIG11bHRpcGxlcyBsYW5ndWFnZXMgZm9yIHRoZSBmcm9udGVuZCBhbmQgcHJvdmlkZXMgbmF2aWdhdGlvbiB0aHJvdWdoIHRoZSBsYW5ndWFnZXMuPC9wPg0KICAgIDxwPkl0cyBhIGZvcmsgb2YgPHN0cm9uZz5CYWJlbDwvc3Ryb25nPiB3aGljaCwgYnkgdGhlIHRpbWUgb2YgdGhpcyB3cml0dGluZywgc2VlbXMgdG8gYmUgPGVtPmFiYW5kb24td2FyZTwvZW0+LjwvcD4NCiAgICA8cD5Cb3RoIHRoaXMgbW9kdWxlIGFuZCBCYWJlbCB1c2UgYW4gYXBwcm9hY2ggdG8gbXVsdGlsaW5ndWFsIHNpdGVzIGNhbGxlZCAic2VwYXJhdGUgdHJlZSBicmFuY2hlcyIsIHdoaWNoIGhhcyBiZWVuIGRldmVsb3BwZWQgYnkgb3RoZXIgY21zbXMgZGV2ZWxvcGVycyAobmFtZWx5IE1hcmNvcyBDcnV6IC0gc2VlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZy92aWV3dG9waWMucGhwP3Q9MTkwOTkjcDk0NzQ5IiB0YXJnZXQ9Il9ibGFuayI+dGhpcyB0b3BpYzwvYT4uPC9wPg0KICAgIDxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHRocm91Z2ggYSBmZXcgY2hhbmdlcyBhbmQgaGFzIGFuIGV4dGVuc2l2ZSByb2FkbWFwIGZvciBmdXR1cmUgcmVsZWFzZXMuIFRoZXJlIG1heSBiZSBhIGZldyBtaW5vciBnbGl0Y2hlcyBidXQgaXQgaGFzIGJlZW4gdXNlZCBpbiBwcm9kdWN0aW9uIHNpdGVzIGZvciBhbG1vc3QgYSB5ZWFyIGFscmVhZHkuIEl0IGhhcyBwcm92ZW4gdG8gYmUgcXVpdGUgc3RhYmxlIHNvIGZhci48L3A+DQogIDwvZGl2Pg0KICANCg0KDQogIDxkaXYgaWQ9Imhvd19jIj4NCiAgICA8aDM+SG93IERvIEkgVXNlIEl0PzwvaDM+DQogICAgPGg0PlRyZWUgYnJhbmNoZXM8L2g0Pg0KICAgIDxwPlRoaXMgbW9kdWxlIHVzZXMgYW4gYXBwcm9hY2ggdG8gbXVsdGlsaW5ndWFsIHNpdGVzIGNhbGxlZCA8ZW0+PHN0cm9uZz4ic2VwYXJhdGUgdHJlZSBicmFuY2hlcyI8L3N0cm9uZz48L2VtPiwgd2hpY2ggaGFzIGJlZW4gZGV2ZWxvcHBlZCBieSBvdGhlciBjbXNtcyBkZXZlbG9wZXJzIChuYW1lbHkgPHN0cm9uZz5NYXJjb3MgQ3J1ejwvc3Ryb25nPiAtIHNlZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcvdmlld3RvcGljLnBocD90PTE5MDk5I3A5NDc0OSIgdGFyZ2V0PSJfYmxhbmsiPnRoaXMgdG9waWM8L2E+KS48L3A+DQogICAgPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+PHA+U2hvdWxkIHlvdSBuZWVkIHRvIHVzZSBpdCBpbiB5b3VyIHRlbXBsYXRlcywgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgY29kZSB3aWxsIGJlIHN0b3JlZCBpbiB0aGUgPGVtPjxzdHJvbmc+JHBhZ2VfbGFuZyB2YXJpYWJsZTwvc3Ryb25nPjwvZW0+LjwvcD4NCiAgICA8cD5Nb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBsYW5ndWFnZSBjYW4gYWxzbyBiZSByZXRyaWV2ZWQgdXNpbmcgdGhlIDxlbT48c3Ryb25nPiRwYWdlX2xhbmdfaW5mbyBvYmplY3Q8L3N0cm9uZz48L2VtPiAod2l0aCB0aGUgc2FtZSBhdHRyaWJ1dGVzIGFzIGluIHRoZSBtZW51IHRlbXBsYXRlcykuPC9wPjwvZGl2Pg0KICAgIA0KICAgIDxoND5QYXJ0IDE6IHNldHRpbmcgdXAgdGhlIHBhZ2VzPC9oND4gICAgICANCiAgICA8cD5UbyB1c2UgdGhpcywgeW91IHdpbGwgaGF2ZSB0byBjcmVhdGUgZGlmZmVyZW50IHJvb3QgcGFnZXMgZm9yIGVhY2ggbGFuZ3VhZ2UuIEZvciBleGFtcGxlOjwvcD4NCiAgICA8ZmllbGRzZXQ+DQogICAgICA8bGVnZW5kPlNhbXBsZSBTaXRlIFN0cnVjdHVyZTwvbGVnZW5kPg0KICAgICAgICA8dWw+DQogICAgICAgICAgPGxpPjEuIEVuZ2xpc2gNCiAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPg0KICAgICAgICAgICAgICA8bGk+MS4yLiAybmQgcGFnZTwvbGk+DQogICAgICAgICAgICAgIDxsaT4xLjMuIDNyZCBwYWdlPC9saT4NCiAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgPC9saT4NCiAgICAgICAgICA8bGk+Mi4gRnJhbiZjY2VkaWw7YWlzDQogICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgIDxsaT4yLjEuIFBhZ2UgMTwvbGk+DQogICAgICAgICAgICAgIDxsaT4yLjIuIFBhZ2UgMjwvbGk+DQogICAgICAgICAgICAgIDxsaT4yLjMuIFBhZ2UgMzwvbGk+DQogICAgICAgICAgICA8L3VsPg0KICAgICAgICAgIDwvbGk+DQogICAgICAgIDwvdWw+DQogICAgPC9maWVsZHNldD4NCg0KICAgIDxwPjxzdHJvbmc+Um9vdCBsYW5ndWFnZTwvc3Ryb25nPiBwYWdlcyA8c3Ryb25nPigxLiBhbmQgMi4pPC9zdHJvbmc+IHNob3VsZCBiZSA8c3Ryb25nPjxlbT5zZWN0aW9uIGhlYWRlcnM8L2VtPjwvc3Ryb25nPi48L3A+DQogICAgICAgIDxkaXYgY2xhc3M9ImluZm9ybWF0aW9uIiBzdHlsZT0iZGlzcGxheTpibG9jazsiPllvdSBjYW4gbmFtZSB0aGVtIChhbGlhcyBhbmQgYWxsKSBhbnkgd2F5IHlvdSB3YW50LjwvZGl2Pg0KICAgICANCiAgICA8cD5JbiBvcmRlciB0byBkaXNwbGF5IG1lbnUgY29ycmVjdGx5ICh0aGF0IGlzLCBub3QgdG8gZGlzcGxheSBsYW5ndWFnZSBoZWFkZXIgcGFnZXMgYW5kIHBhZ2VzIGJlbG9uZ2luZyB0byBvdGhlciBsYW5ndWFnZXMpLCBhbGwgeW91IGhhdmUgdG8gZG8gaXMgYWRkIHRoZSA8c3Ryb25nPnN0YXJ0X2xldmVsPScyJzwvc3Ryb25nPiB0byB5b3VyIG1lbnUgdGFnczo8L3A+DQogICAgPHA+PHByZSBzdHlsZT0iZGlzcGxheTpibG9jazsiPnttZW51IHN0YXJ0X2xldmVsPScyJ308L3ByZT48L3A+DQogICAgPGg0PlBhcnQgMjogc2V0dGluZyB1cCB0aGUgbGFuZ3VhZ2VzPC9oND4NCiAgICA8cD5OZXh0LCBnbyB0bzo8L3A+DQogICAgICA8ZmllbGRzZXQ+DQogICAgICAgIDx1bD4NCiAgICAgICAgICA8bGk+PHN0cm9uZz48ZW0+Q29udGVudCAmZ3Q7IEVyaWR1OiBNdWx0aWxpbmd1YWwgQ29udGVudDwvZW0+PC9zdHJvbmc+PC9saT4NCiAgICAgICAgPC91bD4NCiAgICAgIDwvZmllbGRzZXQ+IA0KICAgIDxwPkZvciBlYWNoIGxhbmd1YWdlLCBjbGljayA8c3Ryb25nPjxlbT5BZGQgTGFuZ3VhZ2U8L2VtPjwvc3Ryb25nPiBhbmQgZW50ZXIgdGhlIGFwcHJvcHJpYXRlIGluZm9ybWF0aW9ucy48cD4NCiAgICA8cD5UaGUgPHN0cm9uZz4iUm9vdCBwYWdlIjwvc3Ryb25nPiBzaG91bGQgYmUgb25lIG9mIHRoZSA8c3Ryb25nPnNlY3Rpb24gaGVhZGVyczwvc3Ryb25nPiB5b3UndmUgY3JlYXRlZCBmb3IgZWFjaCBsYW5ndWFnZSA8c3Ryb25nPigxLkVuZ2xpc2gsIDIuRnJhbiZjY2VkaWw7YWlzKTwvc3Ryb25nPi48L3A+DQogICAgICA8ZmllbGRzZXQ+DQogICAgICA8bGVnZW5kPlJvb3QgUGFnZXMgYW5kIFNlY3Rpb24gSGVhZGVyczwvbGVnZW5kPg0KICAgICAgICA8dWw+DQogICAgICAgICAgPGxpPjxzdHJvbmc+MS4gRW5nbGlzaDwvc3Ryb25nPiAoc2hvdWxkIGJlIGEgU2VjdGlvbiBIZWFkZXIpDQogICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgIDxsaT4uLi48L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICAgIDxsaT48c3Ryb25nPjIuIEZyYW4mY2NlZGlsO2Fpczwvc3Ryb25nPiAoc2hvdWxkIGJlIGEgU2VjdGlvbiBIZWFkZXIpDQogICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgIDxsaT4uLi48L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICA8L3VsPg0KICAgIDwvZmllbGRzZXQ+DQogICAgPHA+VGhlIDxzdHJvbmc+IkRlZmF1bHQgcGFnZSI8L3N0cm9uZz4gc2hvdWxkIGJlIHRoZSA8c3Ryb25nPmhvbWUgcGFnZTwvc3Ryb25nPiBmb3IgZWFjaCBsYW5ndWFnZS48L3A+DQogICAgPHA+QXMgb2YgdGhlIGxhbmd1YWdlIGNvZGUsIHlvdSBjb3VsZCB1c2UgYW55IDUgY2hhcmFjdGVycyBjb2RlLCBidXQgaW4gb3JkZXIgdG8gcHJvdmlkZSBnb29kIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgbW9kdWxlcywgeW91IHNob3VsZCB1c2UgdGhlIHNhbWUgYXMgQ01TTVMgdXNlcyAoeW91IG1heSB1c2UgdGhlIGRyb3AgZG93biBsaXN0IG9uIHRoZSB0b3AgcmlnaHQgdG8gcGFydGlhbGx5IGZpbGwgdGhlIGZvcm0pLjwvcD4NCiAgICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIiBzdHlsZT0iZGlzcGxheTpibG9jazsiPjxwPldoZW4gcmVhZHksIG1ha2Ugc3VyZSB5b3UgYWN0aXZhdGUgZWFjaCBsYW5ndWFnZS4uLjwvcD48L2Rpdj4NCiAgICANCiAgICA8aDQ+UGFydCAzOiBMYW5ndWFnZSBtZW51PC9oND4NCiAgICA8cD5UbyBnZXQgYSBsYW5ndWFnZSBtZW51LCB5b3UgbWF5IHVzZSB0aGUgZm9sbG93aW5nIHRhZzo8L3A+DQogICAgPHA+PHByZSBzdHlsZT0iZGlzcGxheTpibG9jazsiPntFcmlkdSBhY3Rpb249J21lbnUnfTwvcHJlPjwvcD4NCiAgICA8cD5vciwgdG8gdXNlIGEgdGVtcGxhdGUgb3RoZXIgdGhhbiB0aGUgZGVmYXVsdCBvbmU6PC9wPg0KICAgIDxwPjxwcmUgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij57RXJpZHUgYWN0aW9uPSdtZW51JyB0ZW1wbGF0ZT0ndGVtcGxhdGVfbmFtZSd9PC9wcmU+PC9wPg0KICAgIDxwPlRoZSAic2hvdyIgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGNob29zZSB3aGljaCBsYW5ndWFnZXMgc2hvdWxkIGJlIGRpc3BsYXllZC48L3A+DQogICAgPGg0PlBhcnQgNCAob3B0aW9uYWwpIDogQ3VzdG9tIGxhbmd1YWdlIGVudHJpZXM8L2g0Pg0KICAgIDxwPkluIDxzdHJvbmc+dGVtcGxhdGVzPC9zdHJvbmc+LCA8c3Ryb25nPm1vZHVsZSB0ZW1wbGF0ZXM8L3N0cm9uZz4sIDxzdHJvbmc+Z2xvYmFsIGNvbnRlbnQgYmxvY2tzIChHQ0Incyk8L3N0cm9uZz4sIDxzdHJvbmc+Y29udGVudCBibG9ja3M8L3N0cm9uZz4sIGV0YywgeW91IG1heSBuZWVkIHRvIGNoYW5nZSB0aGUgY29udGVudCBkZXBlbmRpbmcgb24gdGhlIGxhbmd1YWdlLjwvcD4NCiAgICA8cD5UaGUgdHJhZGl0aW9uYWwgd2F5IHRvIGRvIHRoaXMgd2FzIHRvIGNyZWF0ZSBjb25kaXRpb25zIHdpdGggdGhlIHBhZ2VfbGFuZyB2YXJpYWJsZTo8L3A+DQogICAgPHA+PHByZSBzdHlsZT0iZGlzcGxheTpibG9jazsiPg0KICAgIHtpZiAkcGFnZV9sYW5nID09ICdlbl9VUyd9DQogICAgICBFbmdsaXNoIHRleHQNCiAgICB7ZWxzZWlmICRwYWdlX2xhbmcgPT0gJ2ZyX0ZSJ30NCiAgICAgIFRleHRlIGVuIGZyYW4mY2NlZGlsO2Fpcw0KICAgIHsvaWZ9PC9wcmU+PC9wPg0KICAgIDxwPldlbGwuLi4geW91IGNhbiBzdGlsbCB1c2UgdGhpcyBtZXRob2QgYnV0LCB3aXRoIHRoZSBtb2R1bGUsIGFub3RoZXIgbW9yZSBjZW50cmFsaXplZCB3YXkgaXMgcHJvdmlkZWQuPC9wPg0KICAgIDxwPkluIHRoZSBhZG1pbiBwYW5lbCBvZiB0aGlzIG1vZHVsZSwgeW91IHdpbGwgZmluZCBhIGxpbmsgdG8gZWRpdCBlbnRyaWVzIGZvciBlYWNoIGxhbmd1YWdlLjwvcD4NCiAgICA8cD48c3Ryb25nPjxlbT5MYW5ndWFnZSBFbnRyaWVzPC9lbT48L3N0cm9uZz4gYXJlIHN0cmluZ3MgdGhhdCBleGlzdHMgZm9yIGVhY2ggbGFuZ3VhZ2UgYnV0IGhvbGQgZGlmZmVyZW50IHRleHQgKG9yIEhUTUwpLjwvcD4NCiAgICA8cD5XaGF0IHlvdSBjYW4gZG8gaXMgdG8gY3JlYXRlIGEgbmV3IDxzdHJvbmc+PGVtPmxhbmd1YWdlIGVudHJ5PC9lbT48L3N0cm9uZz4gKGZvciBleGFtcGxlOiAid2VsY29tZSB0ZXh0IiwgZW50ZXIgaXRzIGNvbnRlbnQgZm9yIGFsbCBsYW5ndWFnZXMsIGFuZCBzaW1wbHkgY2FsbCB0aGUgZW50cnkgd2hlcmV2ZXIgeW91IG5lZWQgaXQgdXNpbmcgdGhlIGRlZmF1bHQgYWN0aW9uOjwvcD4NCiAgICA8cD48cHJlIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+e0VyaWR1IHNob3c9J3dlbGNvbWUgdGV4dCd9PC9wcmU+PC9wPg0KICAgIDxwPlNob3VsZCB5b3UgZXZlciBuZWVkIHRvIGVkaXQgdGhlIHN0cmluZ3MgYW5kIGFkZCBsYW5ndWFnZXMsIHlvdSB3aWxsIGZpbmQgdGhpcyBzb2x1dGlvbiB0byBiZSBtb3JlIGhhbmR5LiBCdXQgaWYgeW91IHByZWZlciB0aGUgb2xkIG9uZSwgaXQgd2lsbCB3b3JrIGp1c3QgdGhlIHNhbWUuPC9wPg0KICAgIDxwPllvdSBjYW4gYWxzbyBhc3NpZ24gbGFuZ3VhZ2UgZW50cmllcyB0byBzbWFydHkgdmFyaWFibGVzLCB1c2luZzo8L3A+DQogICAgPHA+PHByZSBzdHlsZT0iZGlzcGxheTpibG9jazsiPntFcmlkdSBzaG93PSd3ZWxjb21lIHRleHQnIGFzc2lnbj0nd2VsY29tZSd9PC9wcmU+PC9wPg0KICAgIDxwPm9yLCBpZiB5b3Ugd2FudCB0byBhc3NpZ24gbXVsdGlwbGUgZW50cmllcywgc2VwZXJhdGUgdGhlbSBieSBjb21tYXM6PC9wPg0KICAgIDxwPjxwcmUgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij57RXJpZHUgc2hvdz0nZW50cnkxLGVudHJ5MixlbnRyeScgYXNzaWduPSd2YXIxLHZhcjIsdmFyMyd9PC9wcmU+PC9wPg0KICA8L2Rpdj4NCiAgDQoNCg0KICA8ZGl2IGlkPSJtZXRob2RzX2MiPg0KICAgIDxoMz5MYW5ndWFnZSByZWRpcmVjdGlvbiBtZXRob2RzPC9oMz4gIA0KICAgIDxwPlRoZXJlIGFyZSB0d28gcG9zc2libGUgbWV0aG9kcyB0byB0ZWxsIENNU01TIHdoaWNoIHBhZ2UgaXMgdGhlIGVxdWl2YWxlbnQgaW4gYW5vdGhlciBsYW5ndWFnZSBvZiBhIGdpdmVuIHBhZ2UuPC9wPg0KICAgIDxwPiBCeSBkZWZhdWx0LCB0aGUgaGlyZXJhcmNoeSBzb2x1dGlvbiBpcyBhY3RpdmF0ZWQsIGJ1dCB5b3UgY2FuIGNoYW5nZSB0aGF0IGluIHRoZSBzZXR0aW5ncyB0YWIuPC9wPg0KICAgIDxoND5NYXJjb3MgQ3J1eidzIGRlZmluaXRpb24gc29sdXRpb248L2g0Pg0KICAgIDxmaWVsZHNldD4NCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPjxzdHJvbmc+PGVtPlByb3M6PC9lbT48L3N0cm9uZz4gYWxsb3dzIHRoaWdodCBjdXN0b21pemF0aW9uIGFuZCBwYXJ0aWFsIHRyYW5zbGF0aW9uLjwvbGk+DQogICAgICAgIDxsaT48c3Ryb25nPjxlbT5Db25zOjwvZW0+PC9zdHJvbmc+IG5lZWQgdG8gc3BlY2lmeSBsYW5ndWFnZSBhbHRlcm5hdGl2ZXMgZm9yIGVhY2ggcGFnZSwgYW5kIHRvIHVwZGF0ZSBpdCBpZiBhbiBhbGlhcyBjaGFuZ2VzLjwvbGk+DQogICAgICA8L3VsPg0KICAgIDwvZmllbGRzZXQ+IA0KICAgIDxwPkFkZCB0aGUgZm9sbG93aW5nIHRhZyBpbiBlYWNoIG9mIHlvdXIgcGFnZSB0ZW1wbGF0ZXMgOjxwPg0KICAgIDxwPjxwcmUgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij57Y29udGVudCBibG9jaz0nT3RoZXIgbGFuZ3VhZ2VzJyBvbmVsaW5lPSd0cnVlJyBhc3NpZ249b3RoZXJfbGFuZ3VhZ2VzIHd5c2l3eWc9J2ZhbHNlJ308L3ByZT48L3A+DQogICAgPHA+VGhpcyB3aWxsIGFkZCBhIGNvbnRlbnQgYmxvY2sgdG8gYmUgZmlsbGVkIHdoZW4geW91IGVkaXQgdGhlIHBhZ2UuIFdlIHdpbGwgdXNlIHRoaXMgYmxvY2sgdG8gZGVmaW5lIHRoZSBlcXVpdmFsZW50cyBpbiBvdGhlciBsYW5ndWFnZXMgZm9yIHRoaXMgcGFnZSwgYnkgZmlsbGluZyBpdCBpbiB0aGUgZm9sbG93aW5nIHdheTo8L3A+DQogICAgPGZpZWxkc2V0PmVuX1VTPTxlbT5wYWdlMTwvZW0+O2ZyX0ZSPTxlbT5wYWdlMTwvZW0+O2RlX0RFPTxlbT5wYWdlMTwvZW0+PC9maWVsZHNldD4NCiAgICA8cD53aGVyZSA8c3Ryb25nPjxlbT5wYWdlMTwvZW0+PC9zdHJvbmc+LCA8c3Ryb25nPjxlbT5wYWdlMTwvZW0+PC9zdHJvbmc+IGFuZCA8c3Ryb25nPjxlbT5wYWdlMTwvZW0+PC9zdHJvbmc+IGFyZSB0aGUgcGFnZSBhbGlhc2VzLjwvcD4NCiAgICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIiBzdHlsZT0iZGlzcGxheTpibG9jazsiPjxwPnRoZSBvcmRlciBkb2VzIG5vdCBtYXR0ZXIsIGJ1dCBubyBzcGFjZXMgYXJlIGFsbG93ZWQ8L3A+PC9kaXY+DQogICAgPHA+VG8gbWFrZSBzdXJlIHRoZSBtb2R1bGVzIHVzZXMgdGhpcyBtZXRob2QsIG1ha2Ugc3VyZSB0byB1bnRpY2sgdGhlIDxzdHJvbmc+PGVtPiJVc2UgaGllcmFyY2h5IGZvciByZWRpcmVjdGlvbiI8L2VtPjwvc3Ryb25nPiBvcHRpb24gaW4gdGhlIDxzdHJvbmc+PGVtPlNldHRpbmdzPC9lbT48L3N0cm9uZz4gdGFiLjwvcD4NCiAgICA8aDQ+VGhlIGhpZXJhcmNoeSBzb2x1dGlvbjwvaDQ+DQogICAgPGZpZWxkc2V0Pg0KICAgICAgPHVsPg0KICAgICAgICA8bGk+PHN0cm9uZz48ZW0+UHJvczo8L2VtPjwvc3Ryb25nPiBpdCdzIGF1dG9tYXRpYyAtIHlvdSBkb24ndCBoYXZlIHRvIGRvIGFueXRoaW5nLjwvbGk+DQogICAgICAgIDxsaT48c3Ryb25nPjxlbT5Db25zOjwvZW0+PC9zdHJvbmc+IHRoZSBwYWdlIHN0cnVjdHVyZSBtdXN0IGJlIGlkZW50aWNhbCBmb3IgZWFjaCBsYW5ndWFnZS48L2xpPg0KICAgICAgPC91bD4NCiAgICA8L2ZpZWxkc2V0PiANCiAgICA8cD5UaGlzIHNvbHV0aW9uIHVzZXMgdGhlIHBhZ2UgaGllcmFyY2h5IHRvIGtub3cgd2hpY2ggcGFnZXMgYXJlIGVxdWl2YWxlbnQuPC9wPg0KICAgIDxwPkluIG91ciBleGFtcGxlIGFib3ZlLCAiMi4zLiBQYWdlIDMiIHdvdWxkIGJlIHRoZSBmcmVuY2ggZXF1aXZhbGVudCBvZiAiMS4zLiAzcmQgcGFnZSIsIGJlY2F1c2UgaXQgb2NjdXBpZXMgdGhlIGVxdWl2YWxlbnQgcG9zaXRpb24gaW4gdGhlIGZyZW5jaCBicmFuY2guPC9wPg0KICAgIDxwPkluIG90aGVyIHdvcmRzLCBzaG91bGQgdGhlIHBhZ2UgYmUgb3JkZXJlZCBkaWZmZXJlbnRseSwgYWxsIHdvdWxkIGJlIG1lc3NlZCB1cDo8L3A+DQogICAgPGZpZWxkc2V0Pg0KICAgICAgPGxlZ2VuZD5QYWdlIEhpZXJhcmNoeSBEb2Vzbid0IE1hdGNoPC9sZWdlbmQ+DQogICAgICA8dWw+DQogICAgICAgIDxsaT4xLiBFbmdsaXNoDQogICAgICAgICAgPHVsPg0KICAgICAgICAgICAgPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPg0KICAgICAgICAgICAgPGxpPjEuMi4gMm5kIHBhZ2U8L2xpPg0KICAgICAgICAgICAgPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPg0KICAgICAgICAgIDwvdWw+DQogICAgICAgIDwvbGk+DQogICAgICAgIDxsaT4yLiBGcmFuJmNjZWRpbDthaXMNCiAgICAgICAgICA8dWw+DQogICAgICAgICAgICA8bGk+Mi4xLiBQYWdlIDE8L2xpPg0KICAgICAgICAgICAgPGxpPjIuMi4gUGFnZSAzPC9saT4NCiAgICAgICAgICAgIDxsaT4yLjMuIFBhZ2UgMjwvbGk+DQogICAgICAgICAgPC91bD4NCiAgICAgICAgPC9saT4NCiAgICAgIDwvdWw+DQogICAgPC9maWVsZHNldD4NCiAgICA8cD5IZXJlLCAiUGFnZSAyIiBvY2N1cGllcyB0aGUgdGhpcmQgcG9zaXRpb24sIHNvIGl0IHdvdWxkIGJlIGRlZW1lZCBlcXVpdmFsZW50IHRvIHRoZSAzcmQgcGFnZSBpbiBlbmdsaXNoLjwvcD4gICAgICAgIA0KICAgIDxwPlRoaXMgYWxzbyBtZWFucyB0aGF0IGlmIGFsbCBwYWdlcyBkbyBub3QgZXhpc3QgaW4gYWxsIGxhbmd1YWdlcywgeW91IGhhdmUgdG8gYmUgY2FyZWZ1bC4gRm9yIGV4YW1wbGU6PC9wPg0KICAgIDxmaWVsZHNldD4NCiAgICAgIDxsZWdlbmQ+UGFnZSBIaWVyYXJjaHkgV2l0aCBhIE1pc3NpbmcgUGFnZTwvbGVnZW5kPg0KICAgICAgPHVsPg0KICAgICAgICA8bGk+MS4gRW5nbGlzaA0KICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgIDxsaT4xLjEuIDFzdCBwYWdlPC9saT4NCiAgICAgICAgICAgIDxsaT4xLjIuIDJuZCBwYWdlPC9saT4NCiAgICAgICAgICAgIDxsaT4xLjMuIDNyZCBwYWdlPC9saT4NCiAgICAgICAgICA8L3VsPg0KICAgICAgICA8L2xpPg0KICAgICAgICA8bGk+Mi4gRnJhbiZjY2VkaWw7YWlzDQogICAgICAgICAgPHVsPg0KICAgICAgICAgICAgPGxpPjIuMS4gUGFnZSAyPC9saT4NCiAgICAgICAgICAgIDxsaT4yLjIuIFBhZ2UgMzwvbGk+DQogICAgICAgICAgPC91bD4NCiAgICAgICAgPC9saT4NCiAgICAgIDwvdWw+DQogICAgPC9maWVsZHNldD4NCiAgICA8cD5IZXJlLCAiMXN0IHBhZ2UiIHdvdWxkIGJlIHRha2VuIHRvIGJlIGVxdWl2YWxlbnQgdG8gIlBhZ2UgMiIgYW5kICIzcmQgcGFnZSIgd291bGQgYmUgZGVlbWVkIHRvIGhhdmUgbm8gdHJhZHVjdGlvbiwgYWx0aG91Z2ggaXQgZG9lcy48L3A+DQogIDwvZGl2Pg0KICANCg0KDQogIDxkaXYgaWQ9ImFib3V0X2MiPg0KICAgIA0KICAgIDxoMz5TdXBwb3J0PC9oMz4NCiAgICA8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KICAgIDxwPlRoZSBtb2R1bGUgYXV0aG9yIGlzIGluIG5vIHdheSBvYmxpZ2F0ZWQgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciB0aGlzIGNvZGUgaW4gYW55IGZhc2hpb24uIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXRzIHVzZTo8L3A+DQogICAgDQogICAgPHA+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LiAgV2hlbiBkZXNjcmliaW5nIGFuIGlzc3VlIHBsZWFzZSBtYWtlIGFuIGVmZm9ydCB0byBwcm92aWRlIGFsbCByZWxldmFudCBpbmZvcm1hdGlvbiwgYSB0aG9yb3VnaCBkZXNjcmlwdGlvbiBvZiB5b3VyIGlzc3VlLCBhbmQgc3RlcHMgdG8gcmVwcm9kdWNlIGl0IG9yIHlvdXIgZGlzY3Vzc2lvbiBtYXkgYmUgaWdub3JlZC48L3A+DQogICAgPHA+VGhlIGF1dGhvciwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9wPg0KICAgIDxwPlBsZWFzZSBrZWVwIGluIG1pbmQgdGhhdCBkZXZlbG9wZXJzIGRvIGhhdmUgdGhlaXIgZGFpbHkgam9icyB3aGljaCBtZWFucyB0aGF0IGZlYXR1cmUgcmVxdWVzdHMgYXJlIGNvbnNpZGVyZWQgYW5kIGRvbmUgYXMgdGltZSBhbGxvd3MuIElmIHlvdSBuZWVkIGEgZmVhdHVyZSByZWFsbHkgYmFkbHkgY29uc2lkZXIgY29udGFjdGluZyBvbmUgb2YgdGhlIGRldmVsb3BlcnMgZm9yIGEgc3BvbnNvcmVkIGRldmVsb3BtZW50LjwvcD4NCg0KICAgIDxwPklmIHdhbnQgdG8gaGVscCB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1haW50ZW5hbmNlIG9mIHRoaXMgbW9kdWxlLCBwbGVhc2UgY29uc2lkZXIgZG9uYXRpbmcuIDxiciBcPiA8YnIgXD4NCiAgICA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjcj9jbWQ9X3MteGNsaWNrJmhvc3RlZF9idXR0b25faWQ9NDU3UVNaTVFYN0JLQSI+IA0KICAgICAgPGltZyBzcmM9Imh0dHA6Ly9sb2NhbGhvc3QvZGV2XzJfbW9kcy9tb2R1bGVzL0VyaWR1L2ltYWdlcy9wcF9idXR0b24ucG5nIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJheVBhbCDigJMgVGhlIHNhZmVyLCBlYXNpZXIgd2F5IHRvIHBheSBvbmxpbmUuIiAvPg0KICAgIDwvYT48L3A+DQogIA0KICAgIDxoMz5Ucm91Ymxlc2hvb3Rpbmc8L2gzPiAgICANCiAgICA8cD5QYWdlIGxhbmd1YWdlIHNob3VsZCBiZSBkZXRlY3RlZCBhbmQgYXNzaWduZWQgdG8gdGhlIHNtYXJ0eSB2YXJpYWJsZXMgYmVmb3JlIHRoZSB0ZW1wbGF0ZSBpcyBwcm9jZXNzZWQgYnkgYW4gZXZlbnQgaGFuZGxlci4gSG93ZXZlciwgaXQgaXMgcG9zc2libGUgdGhhdCBhdCBzb21lIHBvaW50IGluIHRoZSBwYWdlIHRlbXBsYXRlIHRoZSBwYWdlIGxhbmd1YWdlIGlzIGxvc3QgKGVzcGVjaWFsbHkgc2luY2UgdGhlIHBhZ2UgaGVhZCBpcyBwcm9jZXNzZWQgc2VwYXJhdGx5IGZyb20gdGhlIHBhZ2UgYm9keSkuIFNob3VsZCB0aGlzIGhhcHBlbiwgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyB0YWcgdG8gcmVhc3NpZ24gaXQ6PC9wPg0KICAgIDxwPjxwcmUgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij57RXJpZHUgYWN0aW9uPSdhc3NpZ24nfTwvcHJlPjwvcD4NCiAgICA8cD5Ob3RlIHRoYXQgeW91IG1heSBhbHNvIHVzZTwvcD4NCiAgICA8cD48cHJlIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+e0VyaWR1IGFjdGlvbj0nYXV0b19yZWRpcmVjdCd9PC9wcmU+PC9wPg0KICAgIDxwPmF0IHRoZSBiZWdpbm5pbmcgb2YgeW91ciB0ZW1wbGF0ZSBpZiwgZm9yIHNvbWUgcmVhc29uLCByZWRpcmVjdGlvbiBkb2VzIG5vdCBvY2N1ciAoSSBkb24ndCBzZWUgd2h5IHRoaXMgc2hvdWxkIGhhcHBlbiB0aG91Z2gpLjwvcD4NCiAgICANCiAgICA8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCiAgICAgIA0KICAgICAgPHA+VGhlIE1vZHVsZSBpcyBjdXJyZW50bHkgYmVpbmcgZGV2ZWxvcGVkIGJ5IDxzdHJvbmc+RmVybmFuZG8gTW9yZ2FkbyAoSm8gTW9yZyk8L3N0cm9uZz4NCiAgICAgIDxiciAvPg0KICAgICAgV2ViOiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cuc20tYXJ0LWxhYi5jb20iIHJlbD0iZXh0ZXJuYWwiPnd3dy5zbS1hcnQtbGFiLmNvbTwvYT4NCiAgICAgIDxiciAvPg0KICAgICAgRW1haWw6IDxhIGhyZWY9Im1haWx0bzpqb21vcmdAc20tYXJ0LWxhYi5jb20iPmpvbW9yZ0BzbS1hcnQtbGFiLmNvbTwvYT4NCiAgICAgIDwvcD4NCiAgICAgICAgICAgIA0KICAgICAgPHA+QmFiZWwgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIChwbGdlciksIGJhc2VkIG9uIGFuIGFwcHJvYWNoIGJ5IE1hcmNvcyBDcnV6LCBhbmQgcmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBQdWJsaWMgTGljZW5zZS48L3A+DQogICAgICA8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTYgLiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48YnIgLz48L3A+DQogICAgICANCiAgICAgIDxwPjxzdHJvbmc+RXJpZHU8L3N0cm9uZz4gaXMgZnJlZSBzb2Z0d2FyZTs8YnIgLz4geW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIDxzdHJvbmc+R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2U8L3N0cm9uZz4gYXMgcHVibGlzaGVkIGJ5IHRoZSA8c3Ryb25nPkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjwvc3Ryb25nPjs8YnIgLz4gZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQogICAgICA8cD48c3Ryb25nPkVyaWR1PC9zdHJvbmc+IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCA8c3Ryb25nPldJVEhPVVQgQU5ZIFdBUlJBTlRZPC9zdHJvbmc+OzxiciAvPiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgPHN0cm9uZz5NRVJDSEFOVEFCSUxJVFk8L3N0cm9uZz4gb3IgPHN0cm9uZz5GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRTwvc3Ryb25nPi48L3A+DQogICAgICA8cD5TZWUgdGhlR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy48L3A+DQogICAgICA8cD5Zb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSA8c3Ryb25nPkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlPC9zdHJvbmc+IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOzxiciAvPiBpZiBub3QsIHdyaXRlIHRvIHRoZSA8c3Ryb25nPkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0E8L3N0cm9uZz4gb3IgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+cmVhZCBpdCBvbmxpbmU8L2E+LjwvcD4NCiAgICAgIDxwPjxzdHJvbmc+WW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyA8c3Ryb25nPkVyaWR1PC9zdHJvbmc+Ljwvc3Ryb25nPjwvcD4gICAgICANCiAgICAgIA0KICAgICAgPGg0PkNvbnRyaWJ1dG9yczwvaDQ+DQogICAgICA8cD48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5tYXR0aG9ybnNieS5jYSIgcmVsPSJleHRlcm5hbCI+TWF0dCBIb21zYnkgKERJR0kzKTwvYT4gLSBzcG9uc29yc2hpcC48L3A+IA0KICAgIA0KICA8L2Rpdj4NCiAgDQo8L2Rpdj48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFjdGlvbj0iZGVmYXVsdCIgLSBQb3NzaWJsZSBhY3Rpb25zOiAiZGVmYXVsdCIgKGZvciB0cmFuc2xhdGlvbnMpIG9yICJtZW51Ii48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNob3c9IiIgLSBGb3IgdGhlIG1lbnUgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2hpY2ggbGFuZ3VhZ2VzIHRvIHNob3cgaW4gdGhlIG1lbnUgKHVzZSBsYW5ndWFnZSBjb2RlIGFuZCBzZXBhcmF0ZSB3aXRoIGEgY29tbWEpLiBGb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIGhvbGRzIHRoZSBrZXkgdG8gdGhlIHN0cmluZyB0byBiZSB0cmFuc2xhdGVkLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZXZhbD0iIiAtIC0tIE1pc3NpbmcgTGFuZ3VhZ2VzdHJpbmc6IHBoZWxwX2V2YWwgLS08L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHRlbXBsYXRlPSIiIC0gVGVtcGxhdGUgdG8gdXNlIGZvciB0aGUgbWVudS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFzc2lnbj0iIiAtIEluc3RlYWQgb2YgZGlzcGxheWluZyB0aGUgcmVzdWx0IGltbWVkaWF0ZWx5LCB5b3UgY2FuIGFzc2lnbiBpdCB0byBhIHNtYXJ0eSB2YXJpYWJsZSBzcGVjaWZpZWQgd2l0aCB0aGUgImFzc2lnbiIgcGFyYW1ldGVyLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKbyBNb3JnIChGZXJuYW5kbyBNb3JnYWRvKSAmbHQ7am9tb3JnQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMDxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjxoND5WZXJzaW9uIDEuMDwvaDQ+Cjx1bD4KICA8bGk+MXN0IHB1YmxpYyByZWxlYXNlLjwvbGk+CjwvdWw+PGJyIC8+]]></about>
	<description><![CDATA[Manage frontend languages and multilingual behaviors.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.assign.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCmlmKCR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKQ0Kew0KICAkc21hcnR5LT5hc3NpZ24oJ3BhZ2VfbGFuZycsICR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKTsNCiAgJHNtYXJ0eS0+YXNzaWduKCdwYWdlX2xhbmdfaW5mbycsICR0aGlzLT5jdXJyZW50X2xhbmd1YWdlKTsNCn0NCmVsc2UNCnsNCiAgJHRoaXMtPmFzc2lnbl9wYWdlX2xhbmcoKTsNCn0NCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/action.auto_redirect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCmlmKCEkdGhpcy0+Y3VycmVudF9sYW5nY29kZSkgJHRoaXMtPmFzc2lnbl9wYWdlX2xhbmcoKTsNCg0KJHRoaXMtPmF1dG9fcmVkaXJlY3QoKTsNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/action.changesettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCiRtb2RwcmVmcyA9ICR0aGlzLT5nZXRfbW9kcHJlZnMoKTsNCg0KZm9yZWFjaCgkbW9kcHJlZnMgYXMgJHByZWYpDQp7DQogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCAkcHJlZlswXSwgaXNzZXQoJHBhcmFtc1skcHJlZlswXV0pKTsgDQp9DQoNCiR0aGlzLT5SZWRpcmVjdCgNCiAgICAgICAgICAgICAgICAgICRpZCwNCiAgICAgICAgICAgICAgICAgICJkZWZhdWx0YWRtaW4iLA0KICAgICAgICAgICAgICAgICAgJHJldHVybmlkLCBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhY3RpdmVfdGFiIiA9PiAic2V0dGluZ3MiLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtb2R1bGVfbWVzc2FnZSIgPT4gJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICApOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCiRldmFsID0gJHBhcmFtc1snZXZhbCddID8gKGJvb2wpJHBhcmFtc1snZXZhbCddIDogRkFMU0U7DQoNCmlmKGlzc2V0KCRwYXJhbXNbJ3Nob3cnXSkpDQp7DQogICRvdXRwdXQgPSAkdGhpcy0+cmV0cmlldmVfdHJhbnNsYXRpb24oJHBhcmFtc1snc2hvdyddKTsNCiAgDQogIGlmKCAhaXNfYXJyYXkoJG91dHB1dCkgKSAkb3V0cHV0ID0gYXJyYXkoJG91dHB1dCk7DQogIA0KDQogIA0KICBpZihpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgJiYgJHBhcmFtc1snYXNzaWduJ10gIT0gJycpDQogIHsNCiAgICAka2V5cyA9IGV4cGxvZGUoJywnLCAkcGFyYW1zWydhc3NpZ24nXSk7DQogICAgDQogICAgaWYoY291bnQoJGtleXMpICE9IGNvdW50KCRvdXRwdXQpKQ0KICAgIHsNCiAgICAgIGVjaG8gJy0tIEVyaWR1IGZhaWxlZCB0byBhc3NpZ246IHZhciBjb3VudCBkb2VzIG5vdCBtYXRjaCAtLSc7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAkaSA9IDA7DQogICAgICAgICAgICANCiAgICAgIHdoaWxlKGlzc2V0KCRvdXRwdXRbJGldKSkNCiAgICAgIHsNCiAgICAgICAgJHR4dCA9ICRldmFsID8gJHNtYXJ0eS0+ZmV0Y2goICdldmFsOicgLiAkb3V0cHV0WyRpXSkgOiAkb3V0cHV0WyRpXTsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCRrZXlzWyRpXSwgJHR4dCk7DQogICAgICAgICRpKys7DQogICAgICB9DQogICAgfQ0KICB9DQogIGVsc2UNCiAgew0KICAgICR0eHQgPSAkZXZhbCA/ICRzbWFydHktPmZldGNoKCAnZXZhbDonIC4gaW1wbG9kZSgkb3V0cHV0KSApIDogaW1wbG9kZSgkb3V0cHV0KTsNCiAgICBlY2hvICR0eHQ7DQogIH0NCn0NCmVsc2UNCnsNCiAgI2RlZmF1bHQgaW5pdGl0YWxpemF0aW9uIG9uIHRvcCBvZiB0aGUgdGVtcGxhdGUNCiAgJHRoaXMtPmFzc2lnbl9wYWdlX2xhbmcoKTsNCn0NCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJhZG1pbl9lcmlkdSIpKSANCnsJDQogIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoIlBlcm1pc3Npb24gZGVuaWVkLiIpOyANCiAgcmV0dXJuIGZhbHNlOyANCn0NCg0KJGFkbWludGhlbWUgPSBjbXNfdXRpbHM6OmdldF90aGVtZV9vYmplY3QoKTsNCg0KJGFjdGl2ZV90YWIgPSBpc3NldCgkcGFyYW1zWyJhY3RpdmVfdGFiIl0pPyRwYXJhbXNbImFjdGl2ZV90YWIiXToibGFuZ3VhZ2VzIjsNCg0KZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7DQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJsYW5ndWFnZXMiLCAkdGhpcy0+TGFuZygibGFuZ3VhZ2VzIiksICJsYW5ndWFnZXMiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsNCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoInRlbXBsYXRlcyIsICR0aGlzLT5MYW5nKCJ0ZW1wbGF0ZXMiKSwgInRlbXBsYXRlcyIgPT0gJGFjdGl2ZV90YWIgPyB0cnVlIDogZmFsc2UpOw0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigic2V0dGluZ3MiLCAkdGhpcy0+TGFuZygic2V0dGluZ3MiKSwgInNldHRpbmdzIiA9PSAkYWN0aXZlX3RhYiA/IHRydWUgOiBmYWxzZSk7DQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7DQoNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOw0KDQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoImxhbmd1YWdlcyIpOw0KDQoJCSRzbWFydHktPmFzc2lnbigiYWRkbmV3IiwgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdGxhbmciLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmIiwgIiIsICIiLCAiIiwgInN5c3RlbWljb24iKS4iICIuJHRoaXMtPkxhbmcoImFkZF9sYW5ndWFnZSIpLGFycmF5KCJpc19uZXciPT4xKSkpOw0KCQkNCgkJJGl0ZW1saXN0ID0gJHRoaXMtPmFkbWluX3JldHJpZXZlX2xhbmd1YWdlcygkaWQsICRyZXR1cm5pZCk7DQoJCSRzbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCAkaXRlbWxpc3QpOw0KDQoJCSRhZG1pbnNob3cgPSBhcnJheSgNCgkJCWFycmF5KCR0aGlzLT5MYW5nKCJsYW5nY29kZSIpLCJjb2RlbGluayIpLA0KCQkJYXJyYXkoJHRoaXMtPkxhbmcoIm5hbWUiKSwibmFtZWxpbmsiKSwNCgkJCWFycmF5KCR0aGlzLT5MYW5nKCJhY3RpdmUiKSwidG9nZ2xlYWN0aXZlIiksDQoJCQlhcnJheSgkdGhpcy0+TGFuZygiaXNkZWZhdWx0IiksInRvZ2dsZWRlZmF1bHQiKSwNCgkJCWFycmF5KCR0aGlzLT5MYW5nKCJyZW9yZGVyIiksIm1vdmVsaW5rcyIpLA0KCQkJYXJyYXkoJHRoaXMtPkxhbmcoImFjdGlvbnMiKSwiYWN0aW9ucyIpCQkNCgkJCSk7DQoJCSRzbWFydHktPmFzc2lnbigiYWRtaW5zaG93IiwgJGFkbWluc2hvdyk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiYWRtaW5wYW5lbC50cGwiKTsNCg0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQoNCgllY2hvICR0aGlzLT5TdGFydFRhYigidGVtcGxhdGVzIik7DQoJDQoJCWlmKGlzc2V0KCRwYXJhbXNbImRlZmF1bHR0ZW1wbGF0ZSJdKSkJJHRoaXMtPlNldFByZWZlcmVuY2UoImRlZmF1bHR0ZW1wbGF0ZSIsJHBhcmFtc1siZGVmYXVsdHRlbXBsYXRlIl0pOw0KICAgICAgICANCgkJZWNobyAiPGZpZWxkc2V0IHN0eWxlPVwid2lkdGg6IDYwMHB4O1wiPjxsZWdlbmQ+PGI+IiAuICR0aGlzLT5MYW5nKCJkZWZhdWx0dGVtcGxhdGUiKSAuICI8L2I+PC9sZWdlbmQ+IjsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImFjdGl2ZV90YWIiLCAidGVtcGxhdGVzIik7DQoJCSR0ZW1wbGF0ZWxpc3QgPSAkdGhpcy0+TGlzdFRlbXBsYXRlcygkdGhpcy0+R2V0TmFtZSgpKTsNCgkJJGRlZnRwbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkZWZhdWx0dGVtcGxhdGUiKTsNCgkJJHRwbG9wdGlvbnMgPSBhcnJheSgpOw0KCQkkaXRlbWxpc3QgPSBhcnJheSgpOw0KICAgICAgICANCgkJZm9yZWFjaCgkdGVtcGxhdGVsaXN0IGFzICRvbmV0cGwpDQogICAgew0KCQkgICAkdHBsb3B0aW9uc1skb25ldHBsXSA9ICRvbmV0cGw7DQoJCSAgICR0cGwgPSBuZXcgc3RkQ2xhc3MoKTsNCgkJICAgJHRwbC0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAiZWRpdFRlbXBsYXRlIiwgJHJldHVybmlkLCAkb25ldHBsLCBhcnJheSgidHBsbmFtZSI9PiRvbmV0cGwpICk7DQoJCSAgICR0cGwtPmRlbGV0ZWxpbmsgPSAoJG9uZXRwbCA9PSAkZGVmdHBsKT8iIjokdGhpcy0+Q3JlYXRlTGluayggJGlkLCAiZGVsZXRldHBsIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZiIsICR0aGlzLT5MYW5nKCJkZWxldGUiKSwgIiIsICIiLCAic3lzdGVtaWNvbiIpLCBhcnJheSgidHBsbmFtZSI9PiRvbmV0cGwpICk7DQoJCSAgIGFycmF5X3B1c2goJGl0ZW1saXN0LCAkdHBsKTsNCgkJfQ0KICAgICAgICANCgkJZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij48cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiZGVmYXVsdHRlbXBsYXRlIiwkdHBsb3B0aW9ucywtMSwkZGVmdHBsKS4iPGJyLz4iLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuJzwvcD48L2Rpdj4NCgkJJzsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCQllY2hvICI8L2ZpZWxkc2V0Pjxici8+PGJyLz4iOw0KCQkNCgkJJHNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsICRpdGVtbGlzdCk7DQoJCSRzbWFydHktPmFzc2lnbigiYWRkbmV3IiwgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdFRlbXBsYXRlIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJhZGR0ZW1wbGF0ZSIpKSk7DQoJCSRhZG1pbnNob3cgPSBhcnJheSgJYXJyYXkoJHRoaXMtPkxhbmcoInRlbXBsYXRlIiksICJlZGl0bGluayIpLCBhcnJheSgkdGhpcy0+TGFuZygiYWN0aW9ucyIpLCAiZGVsZXRlbGluayIpCSk7DQoJCSRzbWFydHktPmFzc2lnbigiYWRtaW5zaG93IiwgJGFkbWluc2hvdyk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiYWRtaW5wYW5lbC50cGwiKTsNCgkJDQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCg0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJzZXR0aW5ncyIpOw0KDQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJjaGFuZ2VzZXR0aW5ncyIsICRyZXR1cm5pZCk7DQoNCgkJJG1vZHByZWZzID0gJHRoaXMtPmdldF9tb2RwcmVmcygpOw0KICAgIA0KCQlmb3JlYWNoKCRtb2RwcmVmcyBhcyAkb25lcHJlZikNCiAgICB7DQoJCQkkdGhlcHJlZiA9ICRvbmVwcmVmWzBdOw0KCQkJZWNobyAnDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nIC4gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAkdGhlcHJlZiwgdHJ1ZSwgKGJvb2wpJHRoaXMtPkdldFByZWZlcmVuY2UoJHRoZXByZWYsIGZhbHNlKSkgLiAiICIgLiAkdGhpcy0+TGFuZygicHJlZl8iIC4gJHRoZXByZWYpIC4gJzwvcD4NCgk8L2Rpdj4nOw0KCQl9DQogICAgDQoJCWVjaG8gIjxici8+PHA+Ii4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpLiI8L3A+IjsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7DQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/action.deleteEntry.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQppZighJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiYWRtaW5fZXJpZHUiKSkgcmV0dXJuIGZhbHNlOw0KDQokZW50cnkgPSAoaXNzZXQoJHBhcmFtc1snZW50cnlrZXknXSkgJiYgJHBhcmFtc1snZW50cnlrZXknXSAhPSAnJyk/JHBhcmFtc1snZW50cnlrZXknXTpmYWxzZTsNCg0KaWYoJGVudHJ5KQ0Kew0KICAkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KICAkcXVlcnkgPSAiREVMRVRFIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZXJpZHVfbGFuZ2VudHJpZXMgV0hFUkUgc3RyaW5naWQ9PyI7DQogICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRlbnRyeSkpOw0KICAkcXVlcnkgPSAiREVMRVRFIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZXJpZHVfbGFuZ2tleXMgV0hFUkUgc3RyaW5naWQ9PyI7DQogICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRlbnRyeSkpOyAgICAgICAgICAgICAgICAgICAgDQogICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdtb2R1bGVfbWVzc2FnZSc9PiR0aGlzLT5MYW5nKCdtZXNzYWdlX2RlbGV0ZWQnKSkpOw0KfQ0KZWxzZQ0Kew0KICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQpOw0KfQ0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/action.deletetpl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCiRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiI9PiJ0ZW1wbGF0ZXMiKTsNCg0KaWYoaXNzZXQoJHBhcmFtc1sidHBsbmFtZSJdKSAmJiAkdGhpcy0+RGVsZXRlVGVtcGxhdGUoJHBhcmFtc1sidHBsbmFtZSJdKSkgICAgICAgDQp7DQogICRuZXdwYXJhbXNbIm1vZHVsZV9tZXNzYWdlPiJdID0gJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKTsNCn0NCg0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJG5ld3BhcmFtcyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.editentries.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJhZG1pbl9lcmlkdSIpKQ0Kew0KCWVjaG8gJzxwPicuJHRoaXMtPkxhbmcoImVycm9yX2RlbmllZCIpLic8L3A+JzsNCglyZXR1cm4gZmFsc2U7DQp9DQoNCmlmKGlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSB8fCAhaXNzZXQoJHBhcmFtc1sibGFuZ2NvZGUiXSkgfHwgISR0aGlzLT5pc19sYW5ndWFnZSgkcGFyYW1zWyJsYW5nY29kZSJdLCBmYWxzZSkpCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgpKTsNCg0KJGFkbWludGhlbWUgPSBjbXNfdXRpbHM6OmdldF90aGVtZV9vYmplY3QoKTsNCiR3eXNpd3lnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoInd5c2l3eWciLCBmYWxzZSk7DQoNCiRsYW5ndWFnZXMgPSAkdGhpcy0+Z2V0bGFuZ3VhZ2VzKHRydWUpOw0KJGxhbmd1YWdlID0gJGxhbmd1YWdlc1skcGFyYW1zWyJsYW5nY29kZSJdXTsNCg0KJG5ld2VudHJ5ID0gJzxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsiPicuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdGVudHJ5IiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJhZGRfZW50cnkiKSkuJzwvZGl2Pic7DQplY2hvICRuZXdlbnRyeTsNCmVjaG8gIjxoMT4iIC4gJGxhbmd1YWdlWyduYW1lJ10gLiAiICgiIC4gJGxhbmd1YWdlWydsYW5nY29kZSddIC4gIik8L2gxPjxici8+IjsNCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiRxdWVyeSA9ICJTRUxFQ1QgbGFuZ2tleXMuc3RyaW5naWQgc3RyaW5naWQsIGxhbmdrZXlzLmNhcHRpb24gY2FwdGlvbiwgbGFuZ2VudHJpZXMudmFsdWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2VyaWR1X2xhbmdrZXlzIGxhbmdrZXlzIExFRlQgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2VyaWR1X2xhbmdlbnRyaWVzIGxhbmdlbnRyaWVzIE9OIGxhbmdrZXlzLnN0cmluZ2lkID0gbGFuZ2VudHJpZXMuc3RyaW5naWQgV0hFUkUgbGFuZ2VudHJpZXMubGFuZ2NvZGU9PyI7DQokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbImxhbmdjb2RlIl0pKTsNCiR2YWx1ZXMgPSBhcnJheSgpOw0KJGNhcHRpb25zID0gYXJyYXkoKTsNCg0Kd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpDQp7DQoJJGNhcHRpb25zWyRyb3dbInN0cmluZ2lkIl1dID0gJHJvd1siY2FwdGlvbiJdOw0KCSR2YWx1ZXNbJHJvd1sic3RyaW5naWQiXV0gPSAkcm93WyJ2YWx1ZSJdOw0KfQ0KCQ0KaWYoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IGlzc2V0KCRwYXJhbXNbImFwcGx5Il0pKQkNCnsNCgkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9lcmlkdV9sYW5nZW50cmllcyBXSEVSRSBsYW5nY29kZT0/IjsNCgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyJsYW5nY29kZSJdKSk7DQoJJHZhbHVlcyA9IGFycmF5KCk7DQoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2VyaWR1X2xhbmdlbnRyaWVzIFNFVCBsYW5nY29kZT0/LCBzdHJpbmdpZD0/LCB2YWx1ZT0/IjsNCgkNCiAgZm9yZWFjaCgkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlKQ0KICB7DQoJCWlmKHN1YnN0cigka2V5LDAsNikgPT0gImVudHJ5XyIgJiYgJHZhbHVlICE9ICIiKQ0KICAgIHsNCgkJCSR2YWx1ZXNbc3Vic3RyKCRrZXksNildID0gJHZhbHVlOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1sibGFuZ2NvZGUiXSwgc3Vic3RyKCRrZXksNiksICR2YWx1ZSkpOw0KCQl9DQoJfQ0KCWlmKGlzc2V0KCRwYXJhbXNbInN1Ym1pdCJdKSkNCiAgew0KCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgnbW9kdWxlX21lc3NhZ2UnPT4kdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKSk7DQoJfQ0KICBlbHNlDQogIHsNCgkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7DQoJfQ0KfQkNCg0KJGJ1dHRvbnMgPSAnPHA+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKS4nICcuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKS4nPC9wPic7DQoNCmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0ZW50cmllcyIsICRyZXR1cm5pZCk7DQplY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJsYW5nY29kZSIsICRwYXJhbXNbImxhbmdjb2RlIl0pOw0KaWYoISR3eXNpd3lnKQllY2hvICcNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCmZ1bmN0aW9uIGluc3RhbnRfdGFibGVfc2VhcmNoKHdoYXQpew0KCXZhciBkZXN0aW5hdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlcmlkdV9sYW5ndWFnZV9lbnRyaWVzIik7DQoJaWYoIWRlc3RpbmF0aW9uKSByZXR1cm47DQoJdmFyIHRoZXJvd3MgPSBkZXN0aW5hdGlvbi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHIiKTsNCglmb3IoaT0wO2k8dGhlcm93cy5sZW5ndGg7aSsrKXsNCgkJdmFyIHRoZWNvbHVtbiA9IHRoZXJvd3NbaV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIilbMF0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXTsNCgkJaWYodGhlY29sdW1uICYmIHRoZWNvbHVtbi5pbm5lckhUTUwudG9Mb3dlckNhc2UoKS5pbmRleE9mKHdoYXQudG9Mb3dlckNhc2UoKSkgPj0gMCl7DQoJCQl0aGVyb3dzW2ldLnN0eWxlLmRpc3BsYXkgPSAidGFibGUtcm93IjsNCgkJfWVsc2V7DQoJCQl0aGVyb3dzW2ldLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQoJCX0NCgl9DQp9DQo8L3NjcmlwdD4NCic7DQplY2hvICRidXR0b25zOw0KZWNobyAnPHRhYmxlIGlkPSJlcmlkdV9sYW5ndWFnZV9lbnRyaWVzIiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+DQonOw0KaWYoISR3eXNpd3lnKSBlY2hvICcNCjx0aGVhZD4NCgk8dHI+PHRoPicuJHRoaXMtPkxhbmcoInNlYXJjaHRoaXN0YWJsZSIpLic8aW5wdXQgdHlwZT0idGV4dCIgb25rZXl1cD0iaW5zdGFudF90YWJsZV9zZWFyY2godGhpcy52YWx1ZSk7Ii8+PC90aD48dGg+PC90aD48L3RyPg0KPC90aGVhZD4NCic7DQplY2hvICc8dGJvZHk+DQoJJzsNCmZvcmVhY2goJGNhcHRpb25zIGFzICRrZXk9PiRsYWJlbCl7DQoJZWNobyAnPHRyPg0KCQk8dGQ+Jy4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0ZW50cnkiLCAkcmV0dXJuaWQsICRsYWJlbCwgYXJyYXkoImVudHJ5a2V5Ij0+JGtleSkpLic8L3RkPg0KICAgIA0KCQk8dGQ+Jy4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEoJHd5c2l3eWcsICRpZCwgKGlzc2V0KCR2YWx1ZXNbJGtleV0pICYmICR2YWx1ZXNbJGtleV0pID8gJHZhbHVlc1ska2V5XSA6ICcnLCAnZW50cnlfJyAuICRrZXksICcnLCAnJywgJycsICcnLCA1MCwgMTApLic8L3RkPg0KCTwvdHI+DQoJJzsNCn0NCmVjaG8gJw0KPC90Ym9keT4NCjwvdGFibGU+DQonOw0KZWNobyAkYnV0dG9uczsNCmVjaG8gJG5ld2VudHJ5Ow0KZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/action.editentry.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdhZG1pbl9lcmlkdScpKQ0Kew0KCWVjaG8gJzxwPicuJHRoaXMtPkxhbmcoJ2Vycm9yX2RlbmllZCcpLic8L3A+JzsNCglyZXR1cm4gZmFsc2U7DQp9DQoNCmlmKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgpKTsNCg0KJHd5c2l3eWcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnd3lzaXd5ZycsIGZhbHNlKTsNCg0KJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCg0KJGVudHJ5ID0gaXNzZXQoJHBhcmFtc1snZW50cnlrZXknXSkgPyAkcGFyYW1zWydlbnRyeWtleSddIDogZmFsc2U7DQokY2FwdGlvbiA9IGlzc2V0KCRwYXJhbXNbJ2NhcHRpb24nXSkgPyAkcGFyYW1zWydjYXB0aW9uJ10gOiAnJzsNCiR2YWx1ZXMgPSBhcnJheSgpOw0KDQppZigkY2FwdGlvbiAhPSAnJyAmJiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pIHx8IGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pKSkNCnsNCiAgIyBub3cgYWxsb3dzIGZvciBhbHBoYW51bWVyaWMgYW5kIC0gYW5kIF8NCiAgJGNhcHRpb24gPSBwcmVnX3JlcGxhY2UoJy9bXmEtel9cLTAtOV0vaScsICcnLCAkY2FwdGlvbik7DQogIA0KICBpZigkZW50cnkpDQogIHsNCgkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2VyaWR1X2xhbmdlbnRyaWVzIFdIRVJFIHN0cmluZ2lkPT8nOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZW50cnkpKTsNCgl9DQogIGVsc2UNCiAgew0KCQkkZW50cnkgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZXJpZHVfbGFuZ2VudHJpZXNfc2VxJyk7DQoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9lcmlkdV9sYW5na2V5cyBTRVQgc3RyaW5naWQ9PywgY2FwdGlvbj0/JzsNCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGVudHJ5LCAkY2FwdGlvbikpOw0KCX0NCiAgDQoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2VyaWR1X2xhbmdlbnRyaWVzIFNFVCBzdHJpbmdpZD0/LCBsYW5nY29kZT0/LCB2YWx1ZT0/JzsNCgkNCiAgZm9yZWFjaCgkcGFyYW1zIGFzICRrZXk9PiR2YWx1ZSkNCiAgew0KCQlpZihzdWJzdHIoJGtleSwwLDYpID09ICdlbnRyeV8nICYmICR2YWx1ZSAhPSAnJykNCiAgICB7DQoJCQkkdmFsdWVzW3N1YnN0cigka2V5LCA2KV0gPSAkdmFsdWU7DQoJCQkkciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRlbnRyeSwgc3Vic3RyKCRrZXksIDYpLCAkdmFsdWUpKTsNCgkJfQ0KCX0NCg0KICBpZihpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpDQogIHsNCiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZWRpdGVudHJpZXMnLCAkcmV0dXJuaWQsIGFycmF5KCdtb2R1bGVfbWVzc2FnZSc9PiR0aGlzLT5MYW5nKCdtZXNzYWdlX21vZGlmaWVkJykpKTsNCgkJIyR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdtb2R1bGVfbWVzc2FnZSc9PiR0aGlzLT5MYW5nKCdtZXNzYWdlX21vZGlmaWVkJykpKTsNCgl9DQogIGVsc2UNCiAgew0KCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygnbWVzc2FnZV9tb2RpZmllZCcpKTsNCgl9DQoJDQp9DQplbHNlaWYoJGVudHJ5KQ0Kew0KCSRxdWVyeSA9ICJTRUxFQ1Qgc3RyaW5naWQsIGNhcHRpb24gRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2VyaWR1X2xhbmdrZXlzIFdIRVJFIHN0cmluZ2lkPT8gTElNSVQgMSI7DQoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGVudHJ5KSk7DQoJDQogIGlmKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQ0KICB7DQoJCSRlbnRyeSA9ICRyb3dbInN0cmluZ2lkIl07DQoJCSRjYXB0aW9uID0gJHJvd1siY2FwdGlvbiJdOw0KCQkkcXVlcnkgPSAiU0VMRUNUIGxhbmdjb2RlLCB2YWx1ZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZXJpZHVfbGFuZ2VudHJpZXMgV0hFUkUgc3RyaW5naWQ9PyI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRlbnRyeSkpOw0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkdmFsdWVzWyRyb3dbImxhbmdjb2RlIl1dID0gJHJvd1sidmFsdWUiXTsNCgkJfQ0KCX0NCn0NCg0KJGxhbmd1YWdlcyA9ICR0aGlzLT5nZXRsYW5ndWFnZXModHJ1ZSk7DQoNCiRidXR0b25zID0gJzxwPicuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKS4nICcuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImFwcGx5IiwgbGFuZygiYXBwbHkiKSkuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJjYW5jZWwiLCBsYW5nKCJjYW5jZWwiKSkuJzwvcD4nOw0KDQplY2hvICI8aDE+Ii4kdGhpcy0+TGFuZygiZW50cnkiKS4iPC9oMT48YnIvPiI7DQoNCmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0ZW50cnkiLCAkcmV0dXJuaWQpOw0KDQplY2hvICRidXR0b25zOw0KDQppZigkZW50cnkpDQp7DQoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygiZW50cnluYW1lIikuJyA6ICcuJGNhcHRpb24uJzwvcD4nOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImVudHJ5a2V5IiwgJGVudHJ5KTsNCgllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJjYXB0aW9uIiwgJGNhcHRpb24pOw0KCWVjaG8gJzxwPicuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVsZXRlRW50cnknLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCJkZWxldGVfZW50cnkiKSwgYXJyYXkoJ2VudHJ5a2V5Jz0+JGVudHJ5KSwgJHRoaXMtPkxhbmcoJ3Byb21wdF9kZWxldGVlbnRyeScpKS4nPC9wPic7DQp9DQplbHNlDQp7DQoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygiZW50cnluYW1lIikuJyogOiAnLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAiY2FwdGlvbiIsICRyZXR1cm5pZCwgIiIsIDY0LCA2NCkuJzwvcD4nOw0KfQ0KZWNobyAnPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4nOw0KZm9yZWFjaCgkbGFuZ3VhZ2VzIGFzICRrZXk9PiRvbmVsYW5nKQ0Kew0KCWVjaG8gJw0KCTx0cj4NCgkJPHRkPicuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdGVudHJpZXMiLCAkcmV0dXJuaWQsICRvbmVsYW5nWyJuYW1lIl0uJyAoJy4ka2V5LicpJywgYXJyYXkoImxhbmdjb2RlIj0+JGtleSkpLic8L3RkPg0KCQk8dGQ+Jy4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEoJHd5c2l3eWcsJGlkLChpc3NldCgkdmFsdWVzWyRrZXldKSAmJiAkdmFsdWVzWyRrZXldKT8kdmFsdWVzWyRrZXldOiIiLCdlbnRyeV8nLiRrZXkpLic8L3RkPg0KCTwvdHI+JzsNCn0NCmVjaG8gJw0KPC90Ym9keT4NCjwvdGFibGU+DQonOw0KZWNobyAkYnV0dG9uczsNCmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.editlang.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJhZG1pbl9lcmlkdSIpKXsNCgllY2hvICc8cD4nLiR0aGlzLT5MYW5nKCJlcnJvcl9kZW5pZWQiKS4nPC9wPic7DQoJcmV0dXJuIGZhbHNlOw0KfQ0KaWYoaXNzZXQoJHBhcmFtc1siY2FuY2VsIl0pKQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgpKTsNCg0KJGFkbWludGhlbWUgPSBjbXNtcygpLT52YXJpYWJsZXNbImFkbWludGhlbWUiXTsNCg0KJGlzX25ldyA9IGlzc2V0KCRwYXJhbXNbImlzX25ldyJdKT8kcGFyYW1zWyJpc19uZXciXTowOw0KDQokZGIgPSBjbXNtcygpLT5HZXREYigpOw0KDQoNCi8vIENIRUNLIElGIFRIRSBGT1JNIElTIEJFSU5HIFNVQk1JVFRFRCA6DQppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IGlzc2V0KCRwYXJhbXNbImFwcGx5Il0pICkJew0KDQoJLy8gUkVUUklFVklORyBUSEUgRk9STSBWQUxVRVMNCglpZighaXNzZXQoJGl0ZW0pKSAkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCSRpdGVtLT5sYW5nY29kZSA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKChpc3NldCgkcGFyYW1zWyJsYW5nY29kZSJdKT8kcGFyYW1zWyJsYW5nY29kZSJdOiIiKSk7DQoJJGl0ZW0tPnJvb3RfaWQgPSBpc3NldCgkcGFyYW1zWyJyb290X2lkIl0pPyRwYXJhbXNbInJvb3RfaWQiXTpmYWxzZTsNCgkkaXRlbS0+ZGVmYXVsdF9pZCA9IGlzc2V0KCRwYXJhbXNbImRlZmF1bHRfaWQiXSk/JHBhcmFtc1siZGVmYXVsdF9pZCJdOiIiOw0KCSRpdGVtLT5uYW1lID0gaXNzZXQoJHBhcmFtc1sibmFtZSJdKT8kcGFyYW1zWyJuYW1lIl06IiI7DQoJJGl0ZW0tPm1lbnVfbmFtZSA9IGlzc2V0KCRwYXJhbXNbIm1lbnVfbmFtZSJdKT8kcGFyYW1zWyJtZW51X25hbWUiXToiIjsNCgkNCglpZighJGl0ZW0tPnJvb3RfaWQgfHwgJGl0ZW0tPmxhbmdjb2RlID09ICIiIHx8ICRpdGVtLT5uYW1lID09ICIiKXsNCgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZXJyb3JfbWlzc2dpbnZhbHVlIikpOw0KCX1lbHNlew0KCQkjIyMjIyMjIyMjIyMgRE9JTkcgVEhFIFVQREFURQ0KDQoNCgkJLy8gRklFTERTIFRPIFVQREFURQ0KCQkkcXVlcnkgPSAoJGlzX25ldz8iSU5TRVJUIElOVE8gIjoiVVBEQVRFICIpLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2VyaWR1X2xhbmd1YWdlcyBTRVQgDQoJCQlyb290X2lkPT8sDQoJCQlkZWZhdWx0X2lkPT8sDQoJCQluYW1lPT8sDQoJCQltZW51X25hbWU9PyI7DQoJCQkNCgkJLy8gVkFMVUVTDQoJCSR2YWx1ZXMgPSBhcnJheSgkaXRlbS0+cm9vdF9pZCwgJGl0ZW0tPmRlZmF1bHRfaWQsICRpdGVtLT5uYW1lLCAkaXRlbS0+bWVudV9uYW1lLCAkaXRlbS0+bGFuZ2NvZGUpOw0KDQoJCWlmKCRpc19uZXcpew0KCQkJLy8gTkVXIElURU0NCgkJCSRuZXdfb3JkZXIgPSAkdGhpcy0+Y291bnRzb21ldGhpbmcoImxhbmd1YWdlcyIsImxhbmdjb2RlIikgKyAxOw0KCQkJJHF1ZXJ5IC49ICIsIGxhbmdjb2RlPT8sIGl0ZW1fb3JkZXI9PywgYWN0aXZlPTAiOw0KCQkJYXJyYXlfcHVzaCgkdmFsdWVzLCRuZXdfb3JkZXIpOw0KCQl9ZWxzZXsNCgkJCS8vIEVYSVNUSU5HIElURU0NCgkJCSRxdWVyeSAuPSAiIFdIRVJFIGxhbmdjb2RlPT8gTElNSVQgMSI7DQoJCX0NCgkJJHJzID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7DQoNCgkJaWYoISRycyl7DQoJCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCAkZGItPkVycm9yTXNnKCkgKTsNCgkJCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCJlcnJvcl9jb3VsZG5vdGluc2VydCIpKTsNCgkJfWVsc2V7DQoJCQkkaXNfbmV3ID0gZmFsc2U7DQoJCQlpZihpc3NldCgkcGFyYW1zWyJhcHBseSJdKSl7DQoJCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7DQoJCQl9ZWxzZXsNCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgibW9kdWxlX21lc3NhZ2UiID0+ICR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpKTsJDQoJCQl9DQoJCX0NCgl9DQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfWVsc2VpZihpc3NldCgkcGFyYW1zWyJsYW5nY29kZSJdKSl7DQoJJGl0ZW0gPSAkdGhpcy0+Z2V0X2xhbmd1YWdlX2RldGFpbHMoJHBhcmFtc1sibGFuZ2NvZGUiXSk7DQp9DQoNCi8qICMjIFBSRVBBUklORyBTTUFSVFkgRUxFTUVOVFMgKi8NCiRoaWRkZW4gPSAiIjsNCg0KLy8gcHJlcGFyZSByb290IHBhZ2VzIGNvbWJvDQokbGFuZ3VhZ2VzID0gJHRoaXMtPmdldGxhbmd1YWdlcygpOw0KJGxhbmd1YWdlc19yb290aWRzID0gYXJyYXkoKTsNCiRsYW5ndWFnZXNfY29kZXMgPSBhcnJheSgpOw0KZm9yZWFjaCgkbGFuZ3VhZ2VzIGFzICRvbmVsYW5nKXsNCgkkbGFuZ3VhZ2VzX3Jvb3RpZHNbXSA9ICRvbmVsYW5nWyJyb290X2lkIl07DQoJJGxhbmd1YWdlc19jb2Rlc1tdID0gJG9uZWxhbmdbImxhbmdjb2RlIl07DQp9DQokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoIlNFTEVDVCBjb250ZW50X2lkLCBjb250ZW50X25hbWUgRlJPTSBgIi5jbXNfZGJfcHJlZml4KCkuImNvbnRlbnRgIFdIRVJFIHBhcmVudF9pZCA8IDEiKTsNCiRvcHRpb25zID0gYXJyYXkoKTsNCndoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCglpZighaW5fYXJyYXkoJHJvd1siY29udGVudF9pZCJdLCAkbGFuZ3VhZ2VzX3Jvb3RpZHMpIHx8IChpc3NldCgkaXRlbS0+cm9vdF9pZCkgJiYgJHJvd1siY29udGVudF9pZCJdID09ICRpdGVtLT5yb290X2lkKSkJJG9wdGlvbnNbJHJvd1siY29udGVudF9uYW1lIl1dID0gJHJvd1siY29udGVudF9pZCJdOw0KfQ0KJHNtYXJ0eS0+YXNzaWduKCJyb290X2lkX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJyb290X2lkIiwkb3B0aW9ucywtMSxpc3NldCgkaXRlbSk/JGl0ZW0tPnJvb3RfaWQ6MCkpOw0KDQovLyBwcmVwYXJlIGRlZmF1bHQgcGFnZXMgY29tYm8NCiRjbnRvcGVyYXRpb25zID0gY21zbXMoKS0+Z2V0Q29udGVudE9wZXJhdGlvbnMoKTsNCiRzbWFydHktPmFzc2lnbigiZGVmYXVsdF9pZF9pbnB1dCIsICRjbnRvcGVyYXRpb25zLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bigiIixpc3NldCgkaXRlbS0+ZGVmYXVsdF9pZCk/JGl0ZW0tPmRlZmF1bHRfaWQ6Ii0xIiwkaWQuImRlZmF1bHRfaWQiKSk7DQoNCmlmKCRpc19uZXcpew0KCWlmKGZ1bmN0aW9uX2V4aXN0cygnZ2V0X2xhbmd1YWdlX2xpc3QnKSl7DQoJCSRsYW5nbGlzdCA9IGdldF9sYW5ndWFnZV9saXN0KCk7DQoJfWVsc2V7DQoJCS8vIG9sZGVyIGNtc21zIC0tLSBkZXByZWNhdGVkOiB0byBiZSByZW1vdmVkDQoJCWdsb2JhbCAkbmxzOw0KCQkkbGFuZ2xpc3QgPSAkbmxzWyJsYW5ndWFnZSJdOw0KCX0NCiAgDQoJJHBvc3NpYmxlbGFuZ3MgPSBhcnJheSgiLSI9PiIvIik7DQoJYXNvcnQoJGxhbmdsaXN0KTsNCglmb3JlYWNoICgkbGFuZ2xpc3QgYXMgJGtleT0+JHZhbCkgew0KCQkkbG5hbWUgPSBleHBsb2RlKCcoJywgJHZhbCk7DQoJCWlmKGNvdW50KCRsbmFtZSkgPT0gMSl7DQoJCQkkbG5hbWUgPSAkdmFsOw0KCQl9ZWxzZXsNCgkJCSRsbmFtZSA9IHRyaW0odHJpbSgkbG5hbWVbMV0sJyknKSk7DQoJCX0NCgkJaWYoIWluX2FycmF5KCRrZXksJGxhbmd1YWdlc19jb2RlcykpCSRwb3NzaWJsZWxhbmdzWyRrZXkuIiAvICIuJHZhbF0gPSAka2V5LicvJy4kbG5hbWU7DQoJfQ0KCSRsYW5nc2VsZWN0ID0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJsYW5nc2VsZWN0IiwkcG9zc2libGVsYW5ncyk7DQoJJGxhbmdjb2RlX2lucHV0ID0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImlzX25ldyIsIDEpLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJsYW5nY29kZSIsIiIsMTUsOCk7DQp9ZWxzZXsNCgkkbGFuZ2NvZGVfaW5wdXQgPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiaXNfbmV3IiwgMCkuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImxhbmdjb2RlIiwgJGl0ZW0tPmxhbmdjb2RlKS4kaXRlbS0+bGFuZ2NvZGU7DQoJJGxhbmdzZWxlY3QgPSBmYWxzZTsNCn0NCiRzbWFydHktPmFzc2lnbigibGFuZ3NlbGVjdCIsICRsYW5nc2VsZWN0KTsNCiRzbWFydHktPmFzc2lnbigibGFuZ2NvZGVfaW5wdXQiLCAkbGFuZ2NvZGVfaW5wdXQpOw0KDQokc21hcnR5LT5hc3NpZ24oIm5hbWVfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwibmFtZSIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5uYW1lOiIiLDUwLDY0KSk7DQokc21hcnR5LT5hc3NpZ24oIm1lbnVfbmFtZV9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJtZW51X25hbWUiLGlzc2V0KCRpdGVtKT8kaXRlbS0+bWVudV9uYW1lOiIiLDUwLDY0KSk7DQoNCi8vIHByZXBhcmluZyBsYWJlbHMNCiRzbWFydHktPmFzc2lnbigibmFtZV9sYWJlbCIsICR0aGlzLT5MYW5nKCJuYW1lIikpOw0KJHNtYXJ0eS0+YXNzaWduKCJtZW51X25hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygibWVudV9uYW1lIikpOw0KJHNtYXJ0eS0+YXNzaWduKCJyb290X2lkX2xhYmVsIiwgJHRoaXMtPkxhbmcoInJvb3RfaWQiKSk7DQokc21hcnR5LT5hc3NpZ24oImRlZmF1bHRfaWRfbGFiZWwiLCAkdGhpcy0+TGFuZygiZGVmYXVsdF9pZCIpKTsNCiRzbWFydHktPmFzc2lnbigibGFuZ2NvZGVfbGFiZWwiLCAkdGhpcy0+TGFuZygibGFuZ2NvZGVfcHJvbXB0IikpOw0KJHNtYXJ0eS0+YXNzaWduKCJsYW5nc2VsZWN0X2xhYmVsIiwgJHRoaXMtPkxhbmcoImxhbmdzZWxlY3QiKSk7DQokc21hcnR5LT5hc3NpZ24oInBsaWQiLCAkaWQpOw0KDQokc21hcnR5LT5hc3NpZ24oImVkaXR0aXRsZSIsICRpc19uZXc/JHRoaXMtPkxhbmcoImFkZF9sYW5ndWFnZSIpOiR0aGlzLT5MYW5nKCJlZGl0X2xhbmd1YWdlIikpOw0KDQokc21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCJhcHBseSIsIChpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSk/JHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImFwcGx5IiwgbGFuZygiYXBwbHkiKSk6IiIpOw0KJHNtYXJ0eS0+YXNzaWduKCJjYW5jZWwiLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpKTsNCg0KDQovLyBESVNQTEFZSU5HDQplY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdGxhbmciLCAkcmV0dXJuaWQpOw0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJlZGl0bGFuZy50cGwiKTsNCmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/action.editTemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEVyaWR1OiBNdWx0aWxpbmd1YWwgQ29udGVudAojIFZlcnNpb24gMQojIEEgZm9yayBvZiBCYWJlbAojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZwojIHNpbmNlIDIwMTYKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUKIyBDVExNb2R1bGVNYWtlciB3YXMgY3JlYXRlZCBieSBQaWVycmUtTHVjIEdlcm1haW4gYW5kIHJlbGVhc2VkIHVuZGVyIEdOVQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgRXJpZHUgaXMgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgZW5hYmxlcyB0aGUgd2ViIGRldmVsb3BlciB0byBjcmVhdGUKIyBhbmQgbWFuYWdlIG11bHRpcGxlIGxhbmd1YWdlIGNvbnRlbnQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBFcmlkdQojIEVyaWR1IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgRXJpZHUgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRU5EX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsKCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYic9Pid0ZW1wbGF0ZXMnKSApOwoKJHRwbGNvbnRlbnQgPSAnJzsKaWYoICggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pIHx8IGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pICkgJiYgaXNzZXQoJHBhcmFtc1sndHBsbmFtZSddKSApewoJJHRwbGNvbnRlbnQgPSAkcGFyYW1zWyd0cGxjb250ZW50J107CglpZigkcGFyYW1zWyd0cGxuYW1lJ10gIT0gJycpewoJCWlmKGlzc2V0KCRwYXJhbXNbJ2lzbmV3J10pKQkkcGFyYW1zWyd0cGxuYW1lJ10gPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRwYXJhbXNbJ3RwbG5hbWUnXSwgZmFsc2UpOwoJCWlmKCR0aGlzLT5TZXRUZW1wbGF0ZSgkcGFyYW1zWyd0cGxuYW1lJ10sJHBhcmFtc1sndHBsY29udGVudCddLCR0aGlzLT5HZXROYW1lKCkpKTsKCQlpZihpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpewoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgibW9kdWxlX21lc3NhZ2UiID0+ICR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIiksICdhY3RpdmVfdGFiJz0+J3RlbXBsYXRlcycpICk7CgkJfWVsc2V7CgkJCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpOwoJCX0KCX1lbHNlewoJCWVjaG8gJzxkaXYgY2xhc3M9InBhZ2VlcnJvcmNvbnRhaW5lciI+Jy4kdGhpcy0+TGFuZygnZXJyb3JfbWlzc2dpbnZhbHVlJykuJzwvZGl2Pic7Cgl9Cn1lbHNlaWYoIGlzc2V0KCRwYXJhbXNbJ3RwbG5hbWUnXSkgKXsKCSR0cGxjb250ZW50ID0gJHRoaXMtPkdldFRlbXBsYXRlKCAkcGFyYW1zWyd0cGxuYW1lJ10sICR0aGlzLT5HZXROYW1lKCkgKTsKfQoKZWNobyAnPGgxPicuJHRoaXMtPkxhbmcoImVkaXR0ZW1wbGF0ZSIpLic8L2gxPic7CmVjaG8gJzxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsiPicuJHRoaXMtPkxhbmcoInRlbXBsYXRlaGVscCIpLic8L2Rpdj4nOwplY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdFRlbXBsYXRlIiwgJHJldHVybmlkKTsKZWNobyAnCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5MYW5nKCduYW1lJykuJyA6PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPic7CmlmKGlzc2V0KCRwYXJhbXNbJ3RwbG5hbWUnXSkgJiYgJHBhcmFtc1sndHBsbmFtZSddICE9ICcnKXsKCWVjaG8gJHBhcmFtc1sndHBsbmFtZSddLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ0cGxuYW1lIiwgJHBhcmFtc1sndHBsbmFtZSddKTsKfWVsc2V7CgllY2hvICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCd0cGxuYW1lJywnJywzMCw2NCk7Cn0KZWNobyAnPC9wPgoJPC9kaXY+Cic7CmVjaG8gJwk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+TGFuZygndGVtcGxhdGUnKS4nIDo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsJGlkLCR0cGxjb250ZW50LCd0cGxjb250ZW50JykuJzwvcD4KCTwvZGl2PgonOwplY2hvICc8cD4nLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJhcHBseSIsIGxhbmcoImFwcGx5IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpLic8L3A+JzsKaWYoIWlzc2V0KCRwYXJhbXNbInRwbG5hbWUiXSkgfHwgJHBhcmFtc1sidHBsbmFtZSJdID09ICcnKQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJpc25ldyIsIDEpOwplY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.menu.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQppZighJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUpCSR0aGlzLT5hc3NpZ25fcGFnZV9sYW5nKCk7DQppZighJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUpCXJldHVybiBmYWxzZTsJLy8gbm8gcGFnZSBsYW5nIGFzc2lnbmVkLi4uIG1heWJlIHdlIGFyZW4ndCBpbiBhIHBhZ2UgdGhhdCBoYXMgYSBwYXJ0aWN1bGFyIGxhbmd1YWdlPw0KDQokY3VycmVudF9sYW5ndWFnZSA9ICR0aGlzLT5jdXJyZW50X2xhbmdjb2RlOw0KJHNob3duID0gKGlzc2V0KCRwYXJhbXNbInNob3ciXSkgJiYgJHBhcmFtc1sic2hvdyJdICE9ICIiKT9leHBsb2RlKCIsIiwkcGFyYW1zWyJzaG93Il0pOmZhbHNlOw0KJHVzZV9jb29raWVzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImNvb2tpZXNfYXV0b3JlZGlyZWN0X2FsbCIsIGZhbHNlKSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY29va2llc19hdXRvcmVkaXJlY3RfaG9tZSIsZmFsc2UpOw0KJGRlZmF1bHRfaGlkZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkZWZhdWx0X2hpZGUiLCBmYWxzZSk7DQokdXNlX3BhZ2VfdGl0bGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidXNlX3BhZ2VfdGl0bGUiLGZhbHNlKTsNCiRsYW5ndWFnZXMgPSAkdGhpcy0+Z2V0bGFuZ3VhZ2VzKCk7DQokbGlua3MgPSAkdGhpcy0+Z2V0X3VybHMoKTsNCiRpdGVtbGlzdCA9IGFycmF5KCk7DQokc2hvd19jdXJyZW50ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImN1cnJlbnRfbGluayIsZmFsc2UpOw0KJGRlZmF1bHRfaWQgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXREZWZhdWx0UGFnZUlEKCk7DQoNCmZvcmVhY2goJGxhbmd1YWdlcyBhcyAkbGFuZ3VhZ2UpDQp7DQogICRpc19ob21lcGFnZSA9ICRsYW5ndWFnZVsnZGVmYXVsdF9pZCddID09ICRkZWZhdWx0X2lkOw0KICAkcGFnZV9leHQgPSAkaXNfaG9tZXBhZ2UgPyAnJyA6IGNtc21zKCktPmNvbmZpZ1sncGFnZV9leHRlbnNpb24nXTsNCiAgDQoJaWYoKCEkc2hvd24gfHwgaW5fYXJyYXkoJGxhbmd1YWdlWydsYW5nY29kZSddLCAkc2hvd24pKSAmJiAoJHNob3dfY3VycmVudCB8fCAkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ10gIT0gJGN1cnJlbnRfbGFuZ3VhZ2UpKQ0KICB7DQoJCSRpdGVtID0gbmV3IFN0ZENsYXNzKCk7DQoJCSRpdGVtLT5jb2RlID0gJGxhbmd1YWdlWydsYW5nY29kZSddOw0KCQkkaXRlbS0+bmFtZSA9ICRsYW5ndWFnZVsnbmFtZSddOw0KCQkkaXRlbS0+bWVudV9uYW1lID0gJGxhbmd1YWdlWydtZW51X25hbWUnXTsNCgkJJGl0ZW0tPmlzX2N1cnJlbnQgPSAoJGxhbmd1YWdlWydsYW5nY29kZSddID09ICRjdXJyZW50X2xhbmd1YWdlKTsNCgkJJGl0ZW0tPnBhZ2VfbWVudV90ZXh0ID0gaXNzZXQoJGxpbmtzWyRpdGVtLT5jb2RlXSkgPyAkbGlua3NbJGl0ZW0tPmNvZGVdWydtZW51X3RleHQnXSA6ICcnOw0KCQkkaXRlbS0+cGFnZV9uYW1lID0gaXNzZXQoJGxpbmtzWyRpdGVtLT5jb2RlXSkgPyAkbGlua3NbJGl0ZW0tPmNvZGVdWyduYW1lJ10gOicnOw0KCQkkaXRlbS0+dXJsID0gKGlzc2V0KCRsaW5rc1skaXRlbS0+Y29kZV0pICYmICRsaW5rc1skaXRlbS0+Y29kZV0pID8gJGxpbmtzWyRpdGVtLT5jb2RlXVsndXJsJ10gLiAkcGFnZV9leHQgOiBmYWxzZTsNCgkJLy9pZigkaXRlbS0+dXJsICYmICR1c2VfY29va2llcykJJGl0ZW0tPnVybCA9IGNtc21zKCktPmNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvRXJpZHUvcmVkaXJlY3QucGhwP25ld2xhbmc9Jy4kaXRlbS0+Y29kZS4nJmFtcDtuZXd1cmw9Jy4kaXRlbS0+dXJsOw0KDQoJCWlmKCRpdGVtLT51cmwgfHwgISRkZWZhdWx0X2hpZGUgfHwgJGl0ZW0tPmlzX2N1cnJlbnQpCWFycmF5X3B1c2goJGl0ZW1saXN0LCAkaXRlbSk7DQoJfQ0KfQ0KJHNtYXJ0eS0+YXNzaWduKCJsYW5ndWFnZXMiLCAkaXRlbWxpc3QpOw0KDQppZiggaXNzZXQoJHBhcmFtc1sidGVtcGxhdGUiXSkgJiYgKCAkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHBhcmFtc1sidGVtcGxhdGUiXSkgKSApDQp7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsNCn0NCmVsc2UNCnsNCgkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGVmYXVsdHRlbXBsYXRlIiwiZGVmYXVsdCIpOw0KCWlmKCR0ZW1wbGF0ZSkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0ZW1wbGF0ZSk7CQ0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.movesomething.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCiRuZXdwYXJhbXMgPSBpc3NldCgkcGFyYW1zWyJsZXZlbG5hbWUiXSk/YXJyYXkoImFjdGl2ZV90YWIiPT4kcGFyYW1zWyJsZXZlbG5hbWUiXSk6YXJyYXkoKTsNCg0KaWYgKCFpc3NldCgkcGFyYW1zWyJtb3ZlIl0pIHx8ICFpc3NldCgkcGFyYW1zWyJsYW5nY29kZSJdKSB8fCAhaXNzZXQoJHBhcmFtc1siY3VycmVudG9yZGVyIl0pICkNCiR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRuZXdwYXJhbXMpOw0KDQokZGIgPSYgY21zbXMoKS0+R2V0RGIoKTsNCiRkYnRhYmxlID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZXJpZHVfbGFuZ3VhZ2VzIjsNCiRjdXJyZW50b3JkZXIgPSAkcGFyYW1zWyJjdXJyZW50b3JkZXIiXTsNCiRsYW5nY29kZSA9ICRwYXJhbXNbImxhbmdjb2RlIl07DQoNCnN3aXRjaCgkcGFyYW1zWyJtb3ZlIl0pew0KCQ0KCWNhc2UgImRlbGV0ZSI6DQoJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2xhbmdlbnRyaWVzIFdIRVJFIGxhbmdjb2RlPT8iOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbGFuZ2NvZGUpKTsNCgkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICRkYnRhYmxlIFdIRVJFIGxhbmdjb2RlID0gPyBMSU1JVCAxIjsNCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGxhbmdjb2RlKSk7DQoNCgkJLy8gVVBEQVRFIFRIRSBPUkRFUiBPRiBUSEUgSVRFTVMNCgkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBpdGVtX29yZGVyID4gPyAiOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY3VycmVudG9yZGVyKSk7DQoJCQ0KCQkkbmV3cGFyYW1zWyJtb2R1bGVfbWVzc2FnZSJdID0gJHRoaXMtPmxhbmcoIm1lc3NhZ2VfZGVsZXRlZCIpOw0KCQlicmVhazsJDQoNCgljYXNlICJ1cCI6DQoJCWlmICgkY3VycmVudG9yZGVyICE9IDEpew0KCQkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlcisxKSBXSEVSRSBpdGVtX29yZGVyID0gPyBMSU1JVCAxOyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY3VycmVudG9yZGVyLTEpKTsNCgkJCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgbGFuZ2NvZGUgPSA/IExJTUlUIDE7IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRsYW5nY29kZSkpOw0KCQl9DQoJCWJyZWFrOw0KCQkNCgljYXNlICJkb3duIjoNCgkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBpdGVtX29yZGVyID0gPyBMSU1JVCAxOyI7DQoJCWlmKCAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY3VycmVudG9yZGVyKzEpKSApew0KCQkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlcisxKSBXSEVSRSBsYW5nY29kZSA9ID8gTElNSVQgMTsiOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGxhbmdjb2RlKSk7DQoJCX0NCgkJYnJlYWs7DQp9DQoNCiR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQpOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/action.sitemap.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCiAgICBpZighJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UpIHJldHVybiBmYWxzZTsNCiAgICAkaGllck1hbmFnZXIgPSBjbXNtcygpLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7DQogICAgJGhpZXJhcmNoeSA9ICRoaWVyTWFuYWdlci0+Z2V0Tm9kZUJ5SWQoJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2VbJ3Jvb3RfaWQnXSk7DQoNCiAgICBpZiAoJGhpZXJhcmNoeSAmJiAkaGllcmFyY2h5LT5oYXNDaGlsZHJlbigpKQ0KICAgIHsNCiAgICAgICAgZWNobyAnPHVsIGNsYXNzPSJzaXRlbWFwIj4nOw0KICAgICAgICAkcGFnZWxpc3QgPSBhcnJheSgpOw0KICAgICAgICBmb3JlYWNoICgkaGllcmFyY2h5LT5nZXRDaGlsZHJlbigpIGFzICRub2RlKSAgICAkdGhpcy0+ZWNob19saW5lKCRub2RlKTsNCiAgICAgICAgZWNobyAnPC91bD4nOw0KICAgIH0gICAgDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/action.toggleactive.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCmlmKGlzc2V0KCRwYXJhbXNbImxhbmdjb2RlIl0pKQ0Kew0KICAgICRuZXd2YWwgPSBpc3NldCgkcGFyYW1zWyJuZXd2YWwiXSk/JHBhcmFtc1sibmV3dmFsIl06MDsNCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KICAgICRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2VyaWR1X2xhbmd1YWdlcyBTRVQgYWN0aXZlPT8gV0hFUkUgbGFuZ2NvZGU9PyBMSU1JVCAxIjsNCiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbmV3dmFsLCRwYXJhbXNbImxhbmdjb2RlIl0pKTsNCn0NCiR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQpOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/action.toggledefault.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCmlmKGlzc2V0KCRwYXJhbXNbImxhbmdjb2RlIl0pKSAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgiZGVmYXVsdF9sYW5ndWFnZSIsJHBhcmFtc1sibGFuZ2NvZGUiXSk7DQokdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkKTsNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQ0KICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDMsIDI5IEp1bmUgMjAwNw0KDQogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPg0KIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcw0KIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlYW1ibGUNCg0KICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcg0Kc29mdHdhcmUgYW5kIG90aGVyIGtpbmRzIG9mIHdvcmtzLg0KDQogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZA0KdG8gdGFrZSBhd2F5IHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIHRoZSB3b3Jrcy4gIEJ5IGNvbnRyYXN0LA0KdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8NCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQ0Kc29mdHdhcmUgZm9yIGFsbCBpdHMgdXNlcnMuICBXZSwgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgdXNlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vc3Qgb2Ygb3VyIHNvZnR3YXJlOyBpdCBhcHBsaWVzIGFsc28gdG8NCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bw0KeW91ciBwcm9ncmFtcywgdG9vLg0KDQogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QNCnByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UNCmhhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZSBmb3INCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91DQp3YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBvciB1c2UgcGllY2VzIG9mIGl0IGluIG5ldw0KZnJlZSBwcm9ncmFtcywgYW5kIHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuDQoNCiAgVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBwcmV2ZW50IG90aGVycyBmcm9tIGRlbnlpbmcgeW91DQp0aGVzZSByaWdodHMgb3IgYXNraW5nIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4gIFRoZXJlZm9yZSwgeW91IGhhdmUNCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZg0KeW91IG1vZGlmeSBpdDogcmVzcG9uc2liaWxpdGllcyB0byByZXNwZWN0IHRoZSBmcmVlZG9tIG9mIG90aGVycy4NCg0KICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyDQpncmF0aXMgb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBwYXNzIG9uIHRvIHRoZSByZWNpcGllbnRzIHRoZSBzYW1lDQpmcmVlZG9tcyB0aGF0IHlvdSByZWNlaXZlZC4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZQ0Kb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkNCmtub3cgdGhlaXIgcmlnaHRzLg0KDQogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoNCigxKSBhc3NlcnQgY29weXJpZ2h0IG9uIHRoZSBzb2Z0d2FyZSwgYW5kICgyKSBvZmZlciB5b3UgdGhpcyBMaWNlbnNlDQpnaXZpbmcgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IGl0Lg0KDQogIEZvciB0aGUgZGV2ZWxvcGVycycgYW5kIGF1dGhvcnMnIHByb3RlY3Rpb24sIHRoZSBHUEwgY2xlYXJseSBleHBsYWlucw0KdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhpcyBmcmVlIHNvZnR3YXJlLiAgRm9yIGJvdGggdXNlcnMnIGFuZA0KYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcw0KY2hhbmdlZCwgc28gdGhhdCB0aGVpciBwcm9ibGVtcyB3aWxsIG5vdCBiZSBhdHRyaWJ1dGVkIGVycm9uZW91c2x5IHRvDQphdXRob3JzIG9mIHByZXZpb3VzIHZlcnNpb25zLg0KDQogIFNvbWUgZGV2aWNlcyBhcmUgZGVzaWduZWQgdG8gZGVueSB1c2VycyBhY2Nlc3MgdG8gaW5zdGFsbCBvciBydW4NCm1vZGlmaWVkIHZlcnNpb25zIG9mIHRoZSBzb2Z0d2FyZSBpbnNpZGUgdGhlbSwgYWx0aG91Z2ggdGhlIG1hbnVmYWN0dXJlcg0KY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YNCnByb3RlY3RpbmcgdXNlcnMnIGZyZWVkb20gdG8gY2hhbmdlIHRoZSBzb2Z0d2FyZS4gIFRoZSBzeXN0ZW1hdGljDQpwYXR0ZXJuIG9mIHN1Y2ggYWJ1c2Ugb2NjdXJzIGluIHRoZSBhcmVhIG9mIHByb2R1Y3RzIGZvciBpbmRpdmlkdWFscyB0bw0KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlDQpoYXZlIGRlc2lnbmVkIHRoaXMgdmVyc2lvbiBvZiB0aGUgR1BMIHRvIHByb2hpYml0IHRoZSBwcmFjdGljZSBmb3IgdGhvc2UNCnByb2R1Y3RzLiAgSWYgc3VjaCBwcm9ibGVtcyBhcmlzZSBzdWJzdGFudGlhbGx5IGluIG90aGVyIGRvbWFpbnMsIHdlDQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMNCm9mIHRoZSBHUEwsIGFzIG5lZWRlZCB0byBwcm90ZWN0IHRoZSBmcmVlZG9tIG9mIHVzZXJzLg0KDQogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuDQpTdGF0ZXMgc2hvdWxkIG5vdCBhbGxvdyBwYXRlbnRzIHRvIHJlc3RyaWN0IGRldmVsb3BtZW50IGFuZCB1c2Ugb2YNCnNvZnR3YXJlIG9uIGdlbmVyYWwtcHVycG9zZSBjb21wdXRlcnMsIGJ1dCBpbiB0aG9zZSB0aGF0IGRvLCB3ZSB3aXNoIHRvDQphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQNCm1ha2UgaXQgZWZmZWN0aXZlbHkgcHJvcHJpZXRhcnkuICBUbyBwcmV2ZW50IHRoaXMsIHRoZSBHUEwgYXNzdXJlcyB0aGF0DQpwYXRlbnRzIGNhbm5vdCBiZSB1c2VkIHRvIHJlbmRlciB0aGUgcHJvZ3JhbSBub24tZnJlZS4NCg0KICBUaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZA0KbW9kaWZpY2F0aW9uIGZvbGxvdy4NCg0KICAgICAgICAgICAgICAgICAgICAgICBURVJNUyBBTkQgQ09ORElUSU9OUw0KDQogIDAuIERlZmluaXRpb25zLg0KDQogICJUaGlzIExpY2Vuc2UiIHJlZmVycyB0byB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLg0KDQogICJDb3B5cmlnaHQiIGFsc28gbWVhbnMgY29weXJpZ2h0LWxpa2UgbGF3cyB0aGF0IGFwcGx5IHRvIG90aGVyIGtpbmRzIG9mDQp3b3Jrcywgc3VjaCBhcyBzZW1pY29uZHVjdG9yIG1hc2tzLg0KDQogICJUaGUgUHJvZ3JhbSIgcmVmZXJzIHRvIGFueSBjb3B5cmlnaHRhYmxlIHdvcmsgbGljZW5zZWQgdW5kZXIgdGhpcw0KTGljZW5zZS4gIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLiAgIkxpY2Vuc2VlcyIgYW5kDQoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuDQoNCiAgVG8gIm1vZGlmeSIgYSB3b3JrIG1lYW5zIHRvIGNvcHkgZnJvbSBvciBhZGFwdCBhbGwgb3IgcGFydCBvZiB0aGUgd29yaw0KaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuDQpleGFjdCBjb3B5LiAgVGhlIHJlc3VsdGluZyB3b3JrIGlzIGNhbGxlZCBhICJtb2RpZmllZCB2ZXJzaW9uIiBvZiB0aGUNCmVhcmxpZXIgd29yayBvciBhIHdvcmsgImJhc2VkIG9uIiB0aGUgZWFybGllciB3b3JrLg0KDQogIEEgImNvdmVyZWQgd29yayIgbWVhbnMgZWl0aGVyIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0gb3IgYSB3b3JrIGJhc2VkDQpvbiB0aGUgUHJvZ3JhbS4NCg0KICBUbyAicHJvcGFnYXRlIiBhIHdvcmsgbWVhbnMgdG8gZG8gYW55dGhpbmcgd2l0aCBpdCB0aGF0LCB3aXRob3V0DQpwZXJtaXNzaW9uLCB3b3VsZCBtYWtlIHlvdSBkaXJlY3RseSBvciBzZWNvbmRhcmlseSBsaWFibGUgZm9yDQppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGENCmNvbXB1dGVyIG9yIG1vZGlmeWluZyBhIHByaXZhdGUgY29weS4gIFByb3BhZ2F0aW9uIGluY2x1ZGVzIGNvcHlpbmcsDQpkaXN0cmlidXRpb24gKHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24pLCBtYWtpbmcgYXZhaWxhYmxlIHRvIHRoZQ0KcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLg0KDQogIFRvICJjb252ZXkiIGEgd29yayBtZWFucyBhbnkga2luZCBvZiBwcm9wYWdhdGlvbiB0aGF0IGVuYWJsZXMgb3RoZXINCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaA0KYSBjb21wdXRlciBuZXR3b3JrLCB3aXRoIG5vIHRyYW5zZmVyIG9mIGEgY29weSwgaXMgbm90IGNvbnZleWluZy4NCg0KICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyINCnRvIHRoZSBleHRlbnQgdGhhdCBpdCBpbmNsdWRlcyBhIGNvbnZlbmllbnQgYW5kIHByb21pbmVudGx5IHZpc2libGUNCmZlYXR1cmUgdGhhdCAoMSkgZGlzcGxheXMgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSwgYW5kICgyKQ0KdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUNCmV4dGVudCB0aGF0IHdhcnJhbnRpZXMgYXJlIHByb3ZpZGVkKSwgdGhhdCBsaWNlbnNlZXMgbWF5IGNvbnZleSB0aGUNCndvcmsgdW5kZXIgdGhpcyBMaWNlbnNlLCBhbmQgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gIElmDQp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQ0KbWVudSwgYSBwcm9taW5lbnQgaXRlbSBpbiB0aGUgbGlzdCBtZWV0cyB0aGlzIGNyaXRlcmlvbi4NCg0KICAxLiBTb3VyY2UgQ29kZS4NCg0KICBUaGUgInNvdXJjZSBjb2RlIiBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yaw0KZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQ0KZm9ybSBvZiBhIHdvcmsuDQoNCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwNCnN0YW5kYXJkIGRlZmluZWQgYnkgYSByZWNvZ25pemVkIHN0YW5kYXJkcyBib2R5LCBvciwgaW4gdGhlIGNhc2Ugb2YNCmludGVyZmFjZXMgc3BlY2lmaWVkIGZvciBhIHBhcnRpY3VsYXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIG9uZSB0aGF0DQppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4NCg0KICBUaGUgIlN5c3RlbSBMaWJyYXJpZXMiIG9mIGFuIGV4ZWN1dGFibGUgd29yayBpbmNsdWRlIGFueXRoaW5nLCBvdGhlcg0KdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YNCnBhY2thZ2luZyBhIE1ham9yIENvbXBvbmVudCwgYnV0IHdoaWNoIGlzIG5vdCBwYXJ0IG9mIHRoYXQgTWFqb3INCkNvbXBvbmVudCwgYW5kIChiKSBzZXJ2ZXMgb25seSB0byBlbmFibGUgdXNlIG9mIHRoZSB3b3JrIHdpdGggdGhhdA0KTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuDQppbXBsZW1lbnRhdGlvbiBpcyBhdmFpbGFibGUgdG8gdGhlIHB1YmxpYyBpbiBzb3VyY2UgY29kZSBmb3JtLiAgQQ0KIk1ham9yIENvbXBvbmVudCIsIGluIHRoaXMgY29udGV4dCwgbWVhbnMgYSBtYWpvciBlc3NlbnRpYWwgY29tcG9uZW50DQooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtDQooaWYgYW55KSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSB3b3JrIHJ1bnMsIG9yIGEgY29tcGlsZXIgdXNlZCB0bw0KcHJvZHVjZSB0aGUgd29yaywgb3IgYW4gb2JqZWN0IGNvZGUgaW50ZXJwcmV0ZXIgdXNlZCB0byBydW4gaXQuDQoNCiAgVGhlICJDb3JyZXNwb25kaW5nIFNvdXJjZSIgZm9yIGEgd29yayBpbiBvYmplY3QgY29kZSBmb3JtIG1lYW5zIGFsbA0KdGhlIHNvdXJjZSBjb2RlIG5lZWRlZCB0byBnZW5lcmF0ZSwgaW5zdGFsbCwgYW5kIChmb3IgYW4gZXhlY3V0YWJsZQ0Kd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bw0KY29udHJvbCB0aG9zZSBhY3Rpdml0aWVzLiAgSG93ZXZlciwgaXQgZG9lcyBub3QgaW5jbHVkZSB0aGUgd29yaydzDQpTeXN0ZW0gTGlicmFyaWVzLCBvciBnZW5lcmFsLXB1cnBvc2UgdG9vbHMgb3IgZ2VuZXJhbGx5IGF2YWlsYWJsZSBmcmVlDQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQNCndoaWNoIGFyZSBub3QgcGFydCBvZiB0aGUgd29yay4gIEZvciBleGFtcGxlLCBDb3JyZXNwb25kaW5nIFNvdXJjZQ0KaW5jbHVkZXMgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMgYXNzb2NpYXRlZCB3aXRoIHNvdXJjZSBmaWxlcyBmb3INCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQ0KbGlua2VkIHN1YnByb2dyYW1zIHRoYXQgdGhlIHdvcmsgaXMgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIHRvIHJlcXVpcmUsDQpzdWNoIGFzIGJ5IGludGltYXRlIGRhdGEgY29tbXVuaWNhdGlvbiBvciBjb250cm9sIGZsb3cgYmV0d2VlbiB0aG9zZQ0Kc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLg0KDQogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBuZWVkIG5vdCBpbmNsdWRlIGFueXRoaW5nIHRoYXQgdXNlcnMNCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZw0KU291cmNlLg0KDQogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdA0Kc2FtZSB3b3JrLg0KDQogIDIuIEJhc2ljIFBlcm1pc3Npb25zLg0KDQogIEFsbCByaWdodHMgZ3JhbnRlZCB1bmRlciB0aGlzIExpY2Vuc2UgYXJlIGdyYW50ZWQgZm9yIHRoZSB0ZXJtIG9mDQpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZA0KY29uZGl0aW9ucyBhcmUgbWV0LiAgVGhpcyBMaWNlbnNlIGV4cGxpY2l0bHkgYWZmaXJtcyB5b3VyIHVubGltaXRlZA0KcGVybWlzc2lvbiB0byBydW4gdGhlIHVubW9kaWZpZWQgUHJvZ3JhbS4gIFRoZSBvdXRwdXQgZnJvbSBydW5uaW5nIGENCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cw0KY29udGVudCwgY29uc3RpdHV0ZXMgYSBjb3ZlcmVkIHdvcmsuICBUaGlzIExpY2Vuc2UgYWNrbm93bGVkZ2VzIHlvdXINCnJpZ2h0cyBvZiBmYWlyIHVzZSBvciBvdGhlciBlcXVpdmFsZW50LCBhcyBwcm92aWRlZCBieSBjb3B5cmlnaHQgbGF3Lg0KDQogIFlvdSBtYXkgbWFrZSwgcnVuIGFuZCBwcm9wYWdhdGUgY292ZXJlZCB3b3JrcyB0aGF0IHlvdSBkbyBub3QNCmNvbnZleSwgd2l0aG91dCBjb25kaXRpb25zIHNvIGxvbmcgYXMgeW91ciBsaWNlbnNlIG90aGVyd2lzZSByZW1haW5zDQppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlDQpvZiBoYXZpbmcgdGhlbSBtYWtlIG1vZGlmaWNhdGlvbnMgZXhjbHVzaXZlbHkgZm9yIHlvdSwgb3IgcHJvdmlkZSB5b3UNCndpdGggZmFjaWxpdGllcyBmb3IgcnVubmluZyB0aG9zZSB3b3JrcywgcHJvdmlkZWQgdGhhdCB5b3UgY29tcGx5IHdpdGgNCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvDQpub3QgY29udHJvbCBjb3B5cmlnaHQuICBUaG9zZSB0aHVzIG1ha2luZyBvciBydW5uaW5nIHRoZSBjb3ZlcmVkIHdvcmtzDQpmb3IgeW91IG11c3QgZG8gc28gZXhjbHVzaXZlbHkgb24geW91ciBiZWhhbGYsIHVuZGVyIHlvdXIgZGlyZWN0aW9uDQphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YNCnlvdXIgY29weXJpZ2h0ZWQgbWF0ZXJpYWwgb3V0c2lkZSB0aGVpciByZWxhdGlvbnNoaXAgd2l0aCB5b3UuDQoNCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXINCnRoZSBjb25kaXRpb25zIHN0YXRlZCBiZWxvdy4gIFN1YmxpY2Vuc2luZyBpcyBub3QgYWxsb3dlZDsgc2VjdGlvbiAxMA0KbWFrZXMgaXQgdW5uZWNlc3NhcnkuDQoNCiAgMy4gUHJvdGVjdGluZyBVc2VycycgTGVnYWwgUmlnaHRzIEZyb20gQW50aS1DaXJjdW12ZW50aW9uIExhdy4NCg0KICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwNCm1lYXN1cmUgdW5kZXIgYW55IGFwcGxpY2FibGUgbGF3IGZ1bGZpbGxpbmcgb2JsaWdhdGlvbnMgdW5kZXIgYXJ0aWNsZQ0KMTEgb2YgdGhlIFdJUE8gY29weXJpZ2h0IHRyZWF0eSBhZG9wdGVkIG9uIDIwIERlY2VtYmVyIDE5OTYsIG9yDQpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoDQptZWFzdXJlcy4NCg0KICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkDQpjaXJjdW12ZW50aW9uIG9mIHRlY2hub2xvZ2ljYWwgbWVhc3VyZXMgdG8gdGhlIGV4dGVudCBzdWNoIGNpcmN1bXZlbnRpb24NCmlzIGVmZmVjdGVkIGJ5IGV4ZXJjaXNpbmcgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZSB3aXRoIHJlc3BlY3QgdG8NCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3INCm1vZGlmaWNhdGlvbiBvZiB0aGUgd29yayBhcyBhIG1lYW5zIG9mIGVuZm9yY2luZywgYWdhaW5zdCB0aGUgd29yaydzDQp1c2VycywgeW91ciBvciB0aGlyZCBwYXJ0aWVzJyBsZWdhbCByaWdodHMgdG8gZm9yYmlkIGNpcmN1bXZlbnRpb24gb2YNCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuDQoNCiAgNC4gQ29udmV5aW5nIFZlcmJhdGltIENvcGllcy4NCg0KICBZb3UgbWF5IGNvbnZleSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhlIFByb2dyYW0ncyBzb3VyY2UgY29kZSBhcyB5b3UNCnJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91IGNvbnNwaWN1b3VzbHkgYW5kDQphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7DQprZWVwIGludGFjdCBhbGwgbm90aWNlcyBzdGF0aW5nIHRoYXQgdGhpcyBMaWNlbnNlIGFuZCBhbnkNCm5vbi1wZXJtaXNzaXZlIHRlcm1zIGFkZGVkIGluIGFjY29yZCB3aXRoIHNlY3Rpb24gNyBhcHBseSB0byB0aGUgY29kZTsNCmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsDQpyZWNpcGllbnRzIGEgY29weSBvZiB0aGlzIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgUHJvZ3JhbS4NCg0KICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksDQphbmQgeW91IG1heSBvZmZlciBzdXBwb3J0IG9yIHdhcnJhbnR5IHByb3RlY3Rpb24gZm9yIGEgZmVlLg0KDQogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuDQoNCiAgWW91IG1heSBjb252ZXkgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBvciB0aGUgbW9kaWZpY2F0aW9ucyB0bw0KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUNCnRlcm1zIG9mIHNlY3Rpb24gNCwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOg0KDQogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkDQogICAgaXQsIGFuZCBnaXZpbmcgYSByZWxldmFudCBkYXRlLg0KDQogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMNCiAgICByZWxlYXNlZCB1bmRlciB0aGlzIExpY2Vuc2UgYW5kIGFueSBjb25kaXRpb25zIGFkZGVkIHVuZGVyIHNlY3Rpb24NCiAgICA3LiAgVGhpcyByZXF1aXJlbWVudCBtb2RpZmllcyB0aGUgcmVxdWlyZW1lbnQgaW4gc2VjdGlvbiA0IHRvDQogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4NCg0KICAgIGMpIFlvdSBtdXN0IGxpY2Vuc2UgdGhlIGVudGlyZSB3b3JrLCBhcyBhIHdob2xlLCB1bmRlciB0aGlzDQogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzDQogICAgTGljZW5zZSB3aWxsIHRoZXJlZm9yZSBhcHBseSwgYWxvbmcgd2l0aCBhbnkgYXBwbGljYWJsZSBzZWN0aW9uIDcNCiAgICBhZGRpdGlvbmFsIHRlcm1zLCB0byB0aGUgd2hvbGUgb2YgdGhlIHdvcmssIGFuZCBhbGwgaXRzIHBhcnRzLA0KICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vDQogICAgcGVybWlzc2lvbiB0byBsaWNlbnNlIHRoZSB3b3JrIGluIGFueSBvdGhlciB3YXksIGJ1dCBpdCBkb2VzIG5vdA0KICAgIGludmFsaWRhdGUgc3VjaCBwZXJtaXNzaW9uIGlmIHlvdSBoYXZlIHNlcGFyYXRlbHkgcmVjZWl2ZWQgaXQuDQoNCiAgICBkKSBJZiB0aGUgd29yayBoYXMgaW50ZXJhY3RpdmUgdXNlciBpbnRlcmZhY2VzLCBlYWNoIG11c3QgZGlzcGxheQ0KICAgIEFwcHJvcHJpYXRlIExlZ2FsIE5vdGljZXM7IGhvd2V2ZXIsIGlmIHRoZSBQcm9ncmFtIGhhcyBpbnRlcmFjdGl2ZQ0KICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyDQogICAgd29yayBuZWVkIG5vdCBtYWtlIHRoZW0gZG8gc28uDQoNCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudA0Kd29ya3MsIHdoaWNoIGFyZSBub3QgYnkgdGhlaXIgbmF0dXJlIGV4dGVuc2lvbnMgb2YgdGhlIGNvdmVyZWQgd29yaywNCmFuZCB3aGljaCBhcmUgbm90IGNvbWJpbmVkIHdpdGggaXQgc3VjaCBhcyB0byBmb3JtIGEgbGFyZ2VyIHByb2dyYW0sDQppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuDQoiYWdncmVnYXRlIiBpZiB0aGUgY29tcGlsYXRpb24gYW5kIGl0cyByZXN1bHRpbmcgY29weXJpZ2h0IGFyZSBub3QNCnVzZWQgdG8gbGltaXQgdGhlIGFjY2VzcyBvciBsZWdhbCByaWdodHMgb2YgdGhlIGNvbXBpbGF0aW9uJ3MgdXNlcnMNCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yaw0KaW4gYW4gYWdncmVnYXRlIGRvZXMgbm90IGNhdXNlIHRoaXMgTGljZW5zZSB0byBhcHBseSB0byB0aGUgb3RoZXINCnBhcnRzIG9mIHRoZSBhZ2dyZWdhdGUuDQoNCiAgNi4gQ29udmV5aW5nIE5vbi1Tb3VyY2UgRm9ybXMuDQoNCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMNCm9mIHNlY3Rpb25zIDQgYW5kIDUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gY29udmV5IHRoZQ0KbWFjaGluZS1yZWFkYWJsZSBDb3JyZXNwb25kaW5nIFNvdXJjZSB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLA0KaW4gb25lIG9mIHRoZXNlIHdheXM6DQoNCiAgICBhKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIGluLCBvciBlbWJvZGllZCBpbiwgYSBwaHlzaWNhbCBwcm9kdWN0DQogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUNCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmaXhlZCBvbiBhIGR1cmFibGUgcGh5c2ljYWwgbWVkaXVtDQogICAgY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2UuDQoNCiAgICBiKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIGluLCBvciBlbWJvZGllZCBpbiwgYSBwaHlzaWNhbCBwcm9kdWN0DQogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSBhDQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMNCiAgICBsb25nIGFzIHlvdSBvZmZlciBzcGFyZSBwYXJ0cyBvciBjdXN0b21lciBzdXBwb3J0IGZvciB0aGF0IHByb2R1Y3QNCiAgICBtb2RlbCwgdG8gZ2l2ZSBhbnlvbmUgd2hvIHBvc3Nlc3NlcyB0aGUgb2JqZWN0IGNvZGUgZWl0aGVyICgxKSBhDQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlDQogICAgcHJvZHVjdCB0aGF0IGlzIGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlLCBvbiBhIGR1cmFibGUgcGh5c2ljYWwNCiAgICBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2UsIGZvciBhIHByaWNlIG5vDQogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzDQogICAgY29udmV5aW5nIG9mIHNvdXJjZSwgb3IgKDIpIGFjY2VzcyB0byBjb3B5IHRoZQ0KICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZyb20gYSBuZXR3b3JrIHNlcnZlciBhdCBubyBjaGFyZ2UuDQoNCiAgICBjKSBDb252ZXkgaW5kaXZpZHVhbCBjb3BpZXMgb2YgdGhlIG9iamVjdCBjb2RlIHdpdGggYSBjb3B5IG9mIHRoZQ0KICAgIHdyaXR0ZW4gb2ZmZXIgdG8gcHJvdmlkZSB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBUaGlzDQogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQNCiAgICBvbmx5IGlmIHlvdSByZWNlaXZlZCB0aGUgb2JqZWN0IGNvZGUgd2l0aCBzdWNoIGFuIG9mZmVyLCBpbiBhY2NvcmQNCiAgICB3aXRoIHN1YnNlY3Rpb24gNmIuDQoNCiAgICBkKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIGJ5IG9mZmVyaW5nIGFjY2VzcyBmcm9tIGEgZGVzaWduYXRlZA0KICAgIHBsYWNlIChncmF0aXMgb3IgZm9yIGEgY2hhcmdlKSwgYW5kIG9mZmVyIGVxdWl2YWxlbnQgYWNjZXNzIHRvIHRoZQ0KICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vDQogICAgZnVydGhlciBjaGFyZ2UuICBZb3UgbmVlZCBub3QgcmVxdWlyZSByZWNpcGllbnRzIHRvIGNvcHkgdGhlDQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuICBJZiB0aGUgcGxhY2UgdG8NCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UNCiAgICBtYXkgYmUgb24gYSBkaWZmZXJlbnQgc2VydmVyIChvcGVyYXRlZCBieSB5b3Ugb3IgYSB0aGlyZCBwYXJ0eSkNCiAgICB0aGF0IHN1cHBvcnRzIGVxdWl2YWxlbnQgY29weWluZyBmYWNpbGl0aWVzLCBwcm92aWRlZCB5b3UgbWFpbnRhaW4NCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQ0KICAgIENvcnJlc3BvbmRpbmcgU291cmNlLiAgUmVnYXJkbGVzcyBvZiB3aGF0IHNlcnZlciBob3N0cyB0aGUNCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSwgeW91IHJlbWFpbiBvYmxpZ2F0ZWQgdG8gZW5zdXJlIHRoYXQgaXQgaXMNCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLg0KDQogICAgZSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uLCBwcm92aWRlZA0KICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nDQogICAgU291cmNlIG9mIHRoZSB3b3JrIGFyZSBiZWluZyBvZmZlcmVkIHRvIHRoZSBnZW5lcmFsIHB1YmxpYyBhdCBubw0KICAgIGNoYXJnZSB1bmRlciBzdWJzZWN0aW9uIDZkLg0KDQogIEEgc2VwYXJhYmxlIHBvcnRpb24gb2YgdGhlIG9iamVjdCBjb2RlLCB3aG9zZSBzb3VyY2UgY29kZSBpcyBleGNsdWRlZA0KZnJvbSB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgYXMgYSBTeXN0ZW0gTGlicmFyeSwgbmVlZCBub3QgYmUNCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4NCg0KICBBICJVc2VyIFByb2R1Y3QiIGlzIGVpdGhlciAoMSkgYSAiY29uc3VtZXIgcHJvZHVjdCIsIHdoaWNoIG1lYW5zIGFueQ0KdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwNCm9yIGhvdXNlaG9sZCBwdXJwb3Nlcywgb3IgKDIpIGFueXRoaW5nIGRlc2lnbmVkIG9yIHNvbGQgZm9yIGluY29ycG9yYXRpb24NCmludG8gYSBkd2VsbGluZy4gIEluIGRldGVybWluaW5nIHdoZXRoZXIgYSBwcm9kdWN0IGlzIGEgY29uc3VtZXIgcHJvZHVjdCwNCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcg0KcHJvZHVjdCByZWNlaXZlZCBieSBhIHBhcnRpY3VsYXIgdXNlciwgIm5vcm1hbGx5IHVzZWQiIHJlZmVycyB0byBhDQp0eXBpY2FsIG9yIGNvbW1vbiB1c2Ugb2YgdGhhdCBjbGFzcyBvZiBwcm9kdWN0LCByZWdhcmRsZXNzIG9mIHRoZSBzdGF0dXMNCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyDQphY3R1YWxseSB1c2VzLCBvciBleHBlY3RzIG9yIGlzIGV4cGVjdGVkIHRvIHVzZSwgdGhlIHByb2R1Y3QuICBBIHByb2R1Y3QNCmlzIGEgY29uc3VtZXIgcHJvZHVjdCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHByb2R1Y3QgaGFzIHN1YnN0YW50aWFsDQpjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudA0KdGhlIG9ubHkgc2lnbmlmaWNhbnQgbW9kZSBvZiB1c2Ugb2YgdGhlIHByb2R1Y3QuDQoNCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLA0KcHJvY2VkdXJlcywgYXV0aG9yaXphdGlvbiBrZXlzLCBvciBvdGhlciBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byBpbnN0YWxsDQphbmQgZXhlY3V0ZSBtb2RpZmllZCB2ZXJzaW9ucyBvZiBhIGNvdmVyZWQgd29yayBpbiB0aGF0IFVzZXIgUHJvZHVjdCBmcm9tDQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QNCnN1ZmZpY2UgdG8gZW5zdXJlIHRoYXQgdGhlIGNvbnRpbnVlZCBmdW5jdGlvbmluZyBvZiB0aGUgbW9kaWZpZWQgb2JqZWN0DQpjb2RlIGlzIGluIG5vIGNhc2UgcHJldmVudGVkIG9yIGludGVyZmVyZWQgd2l0aCBzb2xlbHkgYmVjYXVzZQ0KbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuDQoNCiAgSWYgeW91IGNvbnZleSBhbiBvYmplY3QgY29kZSB3b3JrIHVuZGVyIHRoaXMgc2VjdGlvbiBpbiwgb3Igd2l0aCwgb3INCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzDQpwYXJ0IG9mIGEgdHJhbnNhY3Rpb24gaW4gd2hpY2ggdGhlIHJpZ2h0IG9mIHBvc3Nlc3Npb24gYW5kIHVzZSBvZiB0aGUNClVzZXIgUHJvZHVjdCBpcyB0cmFuc2ZlcnJlZCB0byB0aGUgcmVjaXBpZW50IGluIHBlcnBldHVpdHkgb3IgZm9yIGENCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlDQpDb3JyZXNwb25kaW5nIFNvdXJjZSBjb252ZXllZCB1bmRlciB0aGlzIHNlY3Rpb24gbXVzdCBiZSBhY2NvbXBhbmllZA0KYnkgdGhlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbi4gIEJ1dCB0aGlzIHJlcXVpcmVtZW50IGRvZXMgbm90IGFwcGx5DQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbA0KbW9kaWZpZWQgb2JqZWN0IGNvZGUgb24gdGhlIFVzZXIgUHJvZHVjdCAoZm9yIGV4YW1wbGUsIHRoZSB3b3JrIGhhcw0KYmVlbiBpbnN0YWxsZWQgaW4gUk9NKS4NCg0KICBUaGUgcmVxdWlyZW1lbnQgdG8gcHJvdmlkZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24gZG9lcyBub3QgaW5jbHVkZSBhDQpyZXF1aXJlbWVudCB0byBjb250aW51ZSB0byBwcm92aWRlIHN1cHBvcnQgc2VydmljZSwgd2FycmFudHksIG9yIHVwZGF0ZXMNCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yDQp0aGUgVXNlciBQcm9kdWN0IGluIHdoaWNoIGl0IGhhcyBiZWVuIG1vZGlmaWVkIG9yIGluc3RhbGxlZC4gIEFjY2VzcyB0byBhDQpuZXR3b3JrIG1heSBiZSBkZW5pZWQgd2hlbiB0aGUgbW9kaWZpY2F0aW9uIGl0c2VsZiBtYXRlcmlhbGx5IGFuZA0KYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kDQpwcm90b2NvbHMgZm9yIGNvbW11bmljYXRpb24gYWNyb3NzIHRoZSBuZXR3b3JrLg0KDQogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLA0KaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uIG11c3QgYmUgaW4gYSBmb3JtYXQgdGhhdCBpcyBwdWJsaWNseQ0KZG9jdW1lbnRlZCAoYW5kIHdpdGggYW4gaW1wbGVtZW50YXRpb24gYXZhaWxhYmxlIHRvIHRoZSBwdWJsaWMgaW4NCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcg0KdW5wYWNraW5nLCByZWFkaW5nIG9yIGNvcHlpbmcuDQoNCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4NCg0KICAiQWRkaXRpb25hbCBwZXJtaXNzaW9ucyIgYXJlIHRlcm1zIHRoYXQgc3VwcGxlbWVudCB0aGUgdGVybXMgb2YgdGhpcw0KTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLg0KQWRkaXRpb25hbCBwZXJtaXNzaW9ucyB0aGF0IGFyZSBhcHBsaWNhYmxlIHRvIHRoZSBlbnRpcmUgUHJvZ3JhbSBzaGFsbA0KYmUgdHJlYXRlZCBhcyB0aG91Z2ggdGhleSB3ZXJlIGluY2x1ZGVkIGluIHRoaXMgTGljZW5zZSwgdG8gdGhlIGV4dGVudA0KdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMNCmFwcGx5IG9ubHkgdG8gcGFydCBvZiB0aGUgUHJvZ3JhbSwgdGhhdCBwYXJ0IG1heSBiZSB1c2VkIHNlcGFyYXRlbHkNCnVuZGVyIHRob3NlIHBlcm1pc3Npb25zLCBidXQgdGhlIGVudGlyZSBQcm9ncmFtIHJlbWFpbnMgZ292ZXJuZWQgYnkNCnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4NCg0KICBXaGVuIHlvdSBjb252ZXkgYSBjb3B5IG9mIGEgY292ZXJlZCB3b3JrLCB5b3UgbWF5IGF0IHlvdXIgb3B0aW9uDQpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YNCml0LiAgKEFkZGl0aW9uYWwgcGVybWlzc2lvbnMgbWF5IGJlIHdyaXR0ZW4gdG8gcmVxdWlyZSB0aGVpciBvd24NCnJlbW92YWwgaW4gY2VydGFpbiBjYXNlcyB3aGVuIHlvdSBtb2RpZnkgdGhlIHdvcmsuKSAgWW91IG1heSBwbGFjZQ0KYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLA0KZm9yIHdoaWNoIHlvdSBoYXZlIG9yIGNhbiBnaXZlIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBwZXJtaXNzaW9uLg0KDQogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQ0KYWRkIHRvIGEgY292ZXJlZCB3b3JrLCB5b3UgbWF5IChpZiBhdXRob3JpemVkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVycyBvZg0KdGhhdCBtYXRlcmlhbCkgc3VwcGxlbWVudCB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlIHdpdGggdGVybXM6DQoNCiAgICBhKSBEaXNjbGFpbWluZyB3YXJyYW50eSBvciBsaW1pdGluZyBsaWFiaWxpdHkgZGlmZmVyZW50bHkgZnJvbSB0aGUNCiAgICB0ZXJtcyBvZiBzZWN0aW9ucyAxNSBhbmQgMTYgb2YgdGhpcyBMaWNlbnNlOyBvcg0KDQogICAgYikgUmVxdWlyaW5nIHByZXNlcnZhdGlvbiBvZiBzcGVjaWZpZWQgcmVhc29uYWJsZSBsZWdhbCBub3RpY2VzIG9yDQogICAgYXV0aG9yIGF0dHJpYnV0aW9ucyBpbiB0aGF0IG1hdGVyaWFsIG9yIGluIHRoZSBBcHByb3ByaWF0ZSBMZWdhbA0KICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yDQoNCiAgICBjKSBQcm9oaWJpdGluZyBtaXNyZXByZXNlbnRhdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoYXQgbWF0ZXJpYWwsIG9yDQogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4NCiAgICByZWFzb25hYmxlIHdheXMgYXMgZGlmZmVyZW50IGZyb20gdGhlIG9yaWdpbmFsIHZlcnNpb247IG9yDQoNCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yDQogICAgYXV0aG9ycyBvZiB0aGUgbWF0ZXJpYWw7IG9yDQoNCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lDQogICAgdHJhZGUgbmFtZXMsIHRyYWRlbWFya3MsIG9yIHNlcnZpY2UgbWFya3M7IG9yDQoNCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0DQogICAgbWF0ZXJpYWwgYnkgYW55b25lIHdobyBjb252ZXlzIHRoZSBtYXRlcmlhbCAob3IgbW9kaWZpZWQgdmVyc2lvbnMgb2YNCiAgICBpdCkgd2l0aCBjb250cmFjdHVhbCBhc3N1bXB0aW9ucyBvZiBsaWFiaWxpdHkgdG8gdGhlIHJlY2lwaWVudCwgZm9yDQogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbg0KICAgIHRob3NlIGxpY2Vuc29ycyBhbmQgYXV0aG9ycy4NCg0KICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcg0KcmVzdHJpY3Rpb25zIiB3aXRoaW4gdGhlIG1lYW5pbmcgb2Ygc2VjdGlvbiAxMC4gIElmIHRoZSBQcm9ncmFtIGFzIHlvdQ0KcmVjZWl2ZWQgaXQsIG9yIGFueSBwYXJ0IG9mIGl0LCBjb250YWlucyBhIG5vdGljZSBzdGF0aW5nIHRoYXQgaXQgaXMNCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcg0KcmVzdHJpY3Rpb24sIHlvdSBtYXkgcmVtb3ZlIHRoYXQgdGVybS4gIElmIGEgbGljZW5zZSBkb2N1bWVudCBjb250YWlucw0KYSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGJ1dCBwZXJtaXRzIHJlbGljZW5zaW5nIG9yIGNvbnZleWluZyB1bmRlciB0aGlzDQpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMNCm9mIHRoYXQgbGljZW5zZSBkb2N1bWVudCwgcHJvdmlkZWQgdGhhdCB0aGUgZnVydGhlciByZXN0cmljdGlvbiBkb2VzDQpub3Qgc3Vydml2ZSBzdWNoIHJlbGljZW5zaW5nIG9yIGNvbnZleWluZy4NCg0KICBJZiB5b3UgYWRkIHRlcm1zIHRvIGEgY292ZXJlZCB3b3JrIGluIGFjY29yZCB3aXRoIHRoaXMgc2VjdGlvbiwgeW91DQptdXN0IHBsYWNlLCBpbiB0aGUgcmVsZXZhbnQgc291cmNlIGZpbGVzLCBhIHN0YXRlbWVudCBvZiB0aGUNCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZw0Kd2hlcmUgdG8gZmluZCB0aGUgYXBwbGljYWJsZSB0ZXJtcy4NCg0KICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQ0KZm9ybSBvZiBhIHNlcGFyYXRlbHkgd3JpdHRlbiBsaWNlbnNlLCBvciBzdGF0ZWQgYXMgZXhjZXB0aW9uczsNCnRoZSBhYm92ZSByZXF1aXJlbWVudHMgYXBwbHkgZWl0aGVyIHdheS4NCg0KICA4LiBUZXJtaW5hdGlvbi4NCg0KICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkNCnByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueSBhdHRlbXB0IG90aGVyd2lzZSB0byBwcm9wYWdhdGUgb3INCm1vZGlmeSBpdCBpcyB2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlcg0KdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZA0KcGFyYWdyYXBoIG9mIHNlY3Rpb24gMTEpLg0KDQogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyDQpsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMgcmVpbnN0YXRlZCAoYSkNCnByb3Zpc2lvbmFsbHksIHVubGVzcyBhbmQgdW50aWwgdGhlIGNvcHlyaWdodCBob2xkZXIgZXhwbGljaXRseSBhbmQNCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQNCmhvbGRlciBmYWlscyB0byBub3RpZnkgeW91IG9mIHRoZSB2aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zDQpwcmlvciB0byA2MCBkYXlzIGFmdGVyIHRoZSBjZXNzYXRpb24uDQoNCiAgTW9yZW92ZXIsIHlvdXIgbGljZW5zZSBmcm9tIGEgcGFydGljdWxhciBjb3B5cmlnaHQgaG9sZGVyIGlzDQpyZWluc3RhdGVkIHBlcm1hbmVudGx5IGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vdGlmaWVzIHlvdSBvZiB0aGUNCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUNCnJlY2VpdmVkIG5vdGljZSBvZiB2aW9sYXRpb24gb2YgdGhpcyBMaWNlbnNlIChmb3IgYW55IHdvcmspIGZyb20gdGhhdA0KY29weXJpZ2h0IGhvbGRlciwgYW5kIHlvdSBjdXJlIHRoZSB2aW9sYXRpb24gcHJpb3IgdG8gMzAgZGF5cyBhZnRlcg0KeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuDQoNCiAgVGVybWluYXRpb24gb2YgeW91ciByaWdodHMgdW5kZXIgdGhpcyBzZWN0aW9uIGRvZXMgbm90IHRlcm1pbmF0ZSB0aGUNCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcg0KdGhpcyBMaWNlbnNlLiAgSWYgeW91ciByaWdodHMgaGF2ZSBiZWVuIHRlcm1pbmF0ZWQgYW5kIG5vdCBwZXJtYW5lbnRseQ0KcmVpbnN0YXRlZCwgeW91IGRvIG5vdCBxdWFsaWZ5IHRvIHJlY2VpdmUgbmV3IGxpY2Vuc2VzIGZvciB0aGUgc2FtZQ0KbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4NCg0KICA5LiBBY2NlcHRhbmNlIE5vdCBSZXF1aXJlZCBmb3IgSGF2aW5nIENvcGllcy4NCg0KICBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlIGluIG9yZGVyIHRvIHJlY2VpdmUgb3INCnJ1biBhIGNvcHkgb2YgdGhlIFByb2dyYW0uICBBbmNpbGxhcnkgcHJvcGFnYXRpb24gb2YgYSBjb3ZlcmVkIHdvcmsNCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uDQp0byByZWNlaXZlIGEgY29weSBsaWtld2lzZSBkb2VzIG5vdCByZXF1aXJlIGFjY2VwdGFuY2UuICBIb3dldmVyLA0Kbm90aGluZyBvdGhlciB0aGFuIHRoaXMgTGljZW5zZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gcHJvcGFnYXRlIG9yDQptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbw0Kbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5IG1vZGlmeWluZyBvciBwcm9wYWdhdGluZyBhDQpjb3ZlcmVkIHdvcmssIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLg0KDQogIDEwLiBBdXRvbWF0aWMgTGljZW5zaW5nIG9mIERvd25zdHJlYW0gUmVjaXBpZW50cy4NCg0KICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5DQpyZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUgb3JpZ2luYWwgbGljZW5zb3JzLCB0byBydW4sIG1vZGlmeSBhbmQNCnByb3BhZ2F0ZSB0aGF0IHdvcmssIHN1YmplY3QgdG8gdGhpcyBMaWNlbnNlLiAgWW91IGFyZSBub3QgcmVzcG9uc2libGUNCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLg0KDQogIEFuICJlbnRpdHkgdHJhbnNhY3Rpb24iIGlzIGEgdHJhbnNhY3Rpb24gdHJhbnNmZXJyaW5nIGNvbnRyb2wgb2YgYW4NCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4NCm9yZ2FuaXphdGlvbiwgb3IgbWVyZ2luZyBvcmdhbml6YXRpb25zLiAgSWYgcHJvcGFnYXRpb24gb2YgYSBjb3ZlcmVkDQp3b3JrIHJlc3VsdHMgZnJvbSBhbiBlbnRpdHkgdHJhbnNhY3Rpb24sIGVhY2ggcGFydHkgdG8gdGhhdA0KdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyDQpsaWNlbnNlcyB0byB0aGUgd29yayB0aGUgcGFydHkncyBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCBoYWQgb3IgY291bGQNCmdpdmUgdW5kZXIgdGhlIHByZXZpb3VzIHBhcmFncmFwaCwgcGx1cyBhIHJpZ2h0IHRvIHBvc3Nlc3Npb24gb2YgdGhlDQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYNCnRoZSBwcmVkZWNlc3NvciBoYXMgaXQgb3IgY2FuIGdldCBpdCB3aXRoIHJlYXNvbmFibGUgZWZmb3J0cy4NCg0KICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUNCnJpZ2h0cyBncmFudGVkIG9yIGFmZmlybWVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEZvciBleGFtcGxlLCB5b3UgbWF5DQpub3QgaW1wb3NlIGEgbGljZW5zZSBmZWUsIHJveWFsdHksIG9yIG90aGVyIGNoYXJnZSBmb3IgZXhlcmNpc2Ugb2YNCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24NCihpbmNsdWRpbmcgYSBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxlZ2luZyB0aGF0DQphbnkgcGF0ZW50IGNsYWltIGlzIGluZnJpbmdlZCBieSBtYWtpbmcsIHVzaW5nLCBzZWxsaW5nLCBvZmZlcmluZyBmb3INCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4NCg0KICAxMS4gUGF0ZW50cy4NCg0KICBBICJjb250cmlidXRvciIgaXMgYSBjb3B5cmlnaHQgaG9sZGVyIHdobyBhdXRob3JpemVzIHVzZSB1bmRlciB0aGlzDQpMaWNlbnNlIG9mIHRoZSBQcm9ncmFtIG9yIGEgd29yayBvbiB3aGljaCB0aGUgUHJvZ3JhbSBpcyBiYXNlZC4gIFRoZQ0Kd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuDQoNCiAgQSBjb250cmlidXRvcidzICJlc3NlbnRpYWwgcGF0ZW50IGNsYWltcyIgYXJlIGFsbCBwYXRlbnQgY2xhaW1zDQpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yDQpoZXJlYWZ0ZXIgYWNxdWlyZWQsIHRoYXQgd291bGQgYmUgaW5mcmluZ2VkIGJ5IHNvbWUgbWFubmVyLCBwZXJtaXR0ZWQNCmJ5IHRoaXMgTGljZW5zZSwgb2YgbWFraW5nLCB1c2luZywgb3Igc2VsbGluZyBpdHMgY29udHJpYnV0b3IgdmVyc2lvbiwNCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhDQpjb25zZXF1ZW5jZSBvZiBmdXJ0aGVyIG1vZGlmaWNhdGlvbiBvZiB0aGUgY29udHJpYnV0b3IgdmVyc2lvbi4gIEZvcg0KcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAiY29udHJvbCIgaW5jbHVkZXMgdGhlIHJpZ2h0IHRvIGdyYW50DQpwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YNCnRoaXMgTGljZW5zZS4NCg0KICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQ0KcGF0ZW50IGxpY2Vuc2UgdW5kZXIgdGhlIGNvbnRyaWJ1dG9yJ3MgZXNzZW50aWFsIHBhdGVudCBjbGFpbXMsIHRvDQptYWtlLCB1c2UsIHNlbGwsIG9mZmVyIGZvciBzYWxlLCBpbXBvcnQgYW5kIG90aGVyd2lzZSBydW4sIG1vZGlmeSBhbmQNCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uDQoNCiAgSW4gdGhlIGZvbGxvd2luZyB0aHJlZSBwYXJhZ3JhcGhzLCBhICJwYXRlbnQgbGljZW5zZSIgaXMgYW55IGV4cHJlc3MNCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudA0KKHN1Y2ggYXMgYW4gZXhwcmVzcyBwZXJtaXNzaW9uIHRvIHByYWN0aWNlIGEgcGF0ZW50IG9yIGNvdmVuYW50IG5vdCB0bw0Kc3VlIGZvciBwYXRlbnQgaW5mcmluZ2VtZW50KS4gIFRvICJncmFudCIgc3VjaCBhIHBhdGVudCBsaWNlbnNlIHRvIGENCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhDQpwYXRlbnQgYWdhaW5zdCB0aGUgcGFydHkuDQoNCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwNCmFuZCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2Ugb2YgdGhlIHdvcmsgaXMgbm90IGF2YWlsYWJsZSBmb3IgYW55b25lDQp0byBjb3B5LCBmcmVlIG9mIGNoYXJnZSBhbmQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwgdGhyb3VnaCBhDQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLA0KdGhlbiB5b3UgbXVzdCBlaXRoZXIgKDEpIGNhdXNlIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSB0byBiZSBzbw0KYXZhaWxhYmxlLCBvciAoMikgYXJyYW5nZSB0byBkZXByaXZlIHlvdXJzZWxmIG9mIHRoZSBiZW5lZml0IG9mIHRoZQ0KcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXINCmNvbnNpc3RlbnQgd2l0aCB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoaXMgTGljZW5zZSwgdG8gZXh0ZW5kIHRoZSBwYXRlbnQNCmxpY2Vuc2UgdG8gZG93bnN0cmVhbSByZWNpcGllbnRzLiAgIktub3dpbmdseSByZWx5aW5nIiBtZWFucyB5b3UgaGF2ZQ0KYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlDQpjb3ZlcmVkIHdvcmsgaW4gYSBjb3VudHJ5LCBvciB5b3VyIHJlY2lwaWVudCdzIHVzZSBvZiB0aGUgY292ZXJlZCB3b3JrDQppbiBhIGNvdW50cnksIHdvdWxkIGluZnJpbmdlIG9uZSBvciBtb3JlIGlkZW50aWZpYWJsZSBwYXRlbnRzIGluIHRoYXQNCmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuDQoNCiAgSWYsIHB1cnN1YW50IHRvIG9yIGluIGNvbm5lY3Rpb24gd2l0aCBhIHNpbmdsZSB0cmFuc2FjdGlvbiBvcg0KYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQ0KY292ZXJlZCB3b3JrLCBhbmQgZ3JhbnQgYSBwYXRlbnQgbGljZW5zZSB0byBzb21lIG9mIHRoZSBwYXJ0aWVzDQpyZWNlaXZpbmcgdGhlIGNvdmVyZWQgd29yayBhdXRob3JpemluZyB0aGVtIHRvIHVzZSwgcHJvcGFnYXRlLCBtb2RpZnkNCm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UNCnlvdSBncmFudCBpcyBhdXRvbWF0aWNhbGx5IGV4dGVuZGVkIHRvIGFsbCByZWNpcGllbnRzIG9mIHRoZSBjb3ZlcmVkDQp3b3JrIGFuZCB3b3JrcyBiYXNlZCBvbiBpdC4NCg0KICBBIHBhdGVudCBsaWNlbnNlIGlzICJkaXNjcmltaW5hdG9yeSIgaWYgaXQgZG9lcyBub3QgaW5jbHVkZSB3aXRoaW4NCnRoZSBzY29wZSBvZiBpdHMgY292ZXJhZ2UsIHByb2hpYml0cyB0aGUgZXhlcmNpc2Ugb2YsIG9yIGlzDQpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUNCnNwZWNpZmljYWxseSBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIFlvdSBtYXkgbm90IGNvbnZleSBhIGNvdmVyZWQNCndvcmsgaWYgeW91IGFyZSBhIHBhcnR5IHRvIGFuIGFycmFuZ2VtZW50IHdpdGggYSB0aGlyZCBwYXJ0eSB0aGF0IGlzDQppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50DQp0byB0aGUgdGhpcmQgcGFydHkgYmFzZWQgb24gdGhlIGV4dGVudCBvZiB5b3VyIGFjdGl2aXR5IG9mIGNvbnZleWluZw0KdGhlIHdvcmssIGFuZCB1bmRlciB3aGljaCB0aGUgdGhpcmQgcGFydHkgZ3JhbnRzLCB0byBhbnkgb2YgdGhlDQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkNCnBhdGVudCBsaWNlbnNlIChhKSBpbiBjb25uZWN0aW9uIHdpdGggY29waWVzIG9mIHRoZSBjb3ZlcmVkIHdvcmsNCmNvbnZleWVkIGJ5IHlvdSAob3IgY29waWVzIG1hZGUgZnJvbSB0aG9zZSBjb3BpZXMpLCBvciAoYikgcHJpbWFyaWx5DQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdA0KY29udGFpbiB0aGUgY292ZXJlZCB3b3JrLCB1bmxlc3MgeW91IGVudGVyZWQgaW50byB0aGF0IGFycmFuZ2VtZW50LA0Kb3IgdGhhdCBwYXRlbnQgbGljZW5zZSB3YXMgZ3JhbnRlZCwgcHJpb3IgdG8gMjggTWFyY2ggMjAwNy4NCg0KICBOb3RoaW5nIGluIHRoaXMgTGljZW5zZSBzaGFsbCBiZSBjb25zdHJ1ZWQgYXMgZXhjbHVkaW5nIG9yIGxpbWl0aW5nDQphbnkgaW1wbGllZCBsaWNlbnNlIG9yIG90aGVyIGRlZmVuc2VzIHRvIGluZnJpbmdlbWVudCB0aGF0IG1heQ0Kb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3Lg0KDQogIDEyLiBObyBTdXJyZW5kZXIgb2YgT3RoZXJzJyBGcmVlZG9tLg0KDQogIElmIGNvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3INCm90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QNCmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhDQpjb3ZlcmVkIHdvcmsgc28gYXMgdG8gc2F0aXNmeSBzaW11bHRhbmVvdXNseSB5b3VyIG9ibGlnYXRpb25zIHVuZGVyIHRoaXMNCkxpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UgbWF5DQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UNCnRvIGNvbGxlY3QgYSByb3lhbHR5IGZvciBmdXJ0aGVyIGNvbnZleWluZyBmcm9tIHRob3NlIHRvIHdob20geW91IGNvbnZleQ0KdGhlIFByb2dyYW0sIHRoZSBvbmx5IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIHRob3NlIHRlcm1zIGFuZCB0aGlzDQpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uDQoNCiAgMTMuIFVzZSB3aXRoIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuDQoNCiAgTm90d2l0aHN0YW5kaW5nIGFueSBvdGhlciBwcm92aXNpb24gb2YgdGhpcyBMaWNlbnNlLCB5b3UgaGF2ZQ0KcGVybWlzc2lvbiB0byBsaW5rIG9yIGNvbWJpbmUgYW55IGNvdmVyZWQgd29yayB3aXRoIGEgd29yayBsaWNlbnNlZA0KdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQ0KY29tYmluZWQgd29yaywgYW5kIHRvIGNvbnZleSB0aGUgcmVzdWx0aW5nIHdvcmsuICBUaGUgdGVybXMgb2YgdGhpcw0KTGljZW5zZSB3aWxsIGNvbnRpbnVlIHRvIGFwcGx5IHRvIHRoZSBwYXJ0IHdoaWNoIGlzIHRoZSBjb3ZlcmVkIHdvcmssDQpidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsDQpzZWN0aW9uIDEzLCBjb25jZXJuaW5nIGludGVyYWN0aW9uIHRocm91Z2ggYSBuZXR3b3JrIHdpbGwgYXBwbHkgdG8gdGhlDQpjb21iaW5hdGlvbiBhcyBzdWNoLg0KDQogIDE0LiBSZXZpc2VkIFZlcnNpb25zIG9mIHRoaXMgTGljZW5zZS4NCg0KICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZg0KdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbA0KYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvDQphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4NCg0KICBFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIElmIHRoZQ0KUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwNClB1YmxpYyBMaWNlbnNlICJvciBhbnkgbGF0ZXIgdmVyc2lvbiIgYXBwbGllcyB0byBpdCwgeW91IGhhdmUgdGhlDQpvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBudW1iZXJlZA0KdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24uICBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQNCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uDQoNCiAgSWYgdGhlIFByb2dyYW0gc3BlY2lmaWVzIHRoYXQgYSBwcm94eSBjYW4gZGVjaWRlIHdoaWNoIGZ1dHVyZQ0KdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MNCnB1YmxpYyBzdGF0ZW1lbnQgb2YgYWNjZXB0YW5jZSBvZiBhIHZlcnNpb24gcGVybWFuZW50bHkgYXV0aG9yaXplcyB5b3UNCnRvIGNob29zZSB0aGF0IHZlcnNpb24gZm9yIHRoZSBQcm9ncmFtLg0KDQogIExhdGVyIGxpY2Vuc2UgdmVyc2lvbnMgbWF5IGdpdmUgeW91IGFkZGl0aW9uYWwgb3IgZGlmZmVyZW50DQpwZXJtaXNzaW9ucy4gIEhvd2V2ZXIsIG5vIGFkZGl0aW9uYWwgb2JsaWdhdGlvbnMgYXJlIGltcG9zZWQgb24gYW55DQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhDQpsYXRlciB2ZXJzaW9uLg0KDQogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5Lg0KDQogIFRIRVJFIElTIE5PIFdBUlJBTlRZIEZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkNCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQNCkhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMgUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkNCk9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTU0VEIE9SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLA0KVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUg0KUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUyBUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0NCklTIFdJVEggWU9VLiAgU0hPVUxEIFRIRSBQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRg0KQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLg0KDQogIDE2LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4NCg0KICBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcNCldJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTU9ESUZJRVMgQU5EL09SIENPTlZFWVMNClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQ0KR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORyBPVVQgT0YgVEhFDQpVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBMT1NTIE9GDQpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRA0KUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUiBQUk9HUkFNUyksDQpFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GDQpTVUNIIERBTUFHRVMuDQoNCiAgMTcuIEludGVycHJldGF0aW9uIG9mIFNlY3Rpb25zIDE1IGFuZCAxNi4NCg0KICBJZiB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50eSBhbmQgbGltaXRhdGlvbiBvZiBsaWFiaWxpdHkgcHJvdmlkZWQNCmFib3ZlIGNhbm5vdCBiZSBnaXZlbiBsb2NhbCBsZWdhbCBlZmZlY3QgYWNjb3JkaW5nIHRvIHRoZWlyIHRlcm1zLA0KcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzDQphbiBhYnNvbHV0ZSB3YWl2ZXIgb2YgYWxsIGNpdmlsIGxpYWJpbGl0eSBpbiBjb25uZWN0aW9uIHdpdGggdGhlDQpQcm9ncmFtLCB1bmxlc3MgYSB3YXJyYW50eSBvciBhc3N1bXB0aW9uIG9mIGxpYWJpbGl0eSBhY2NvbXBhbmllcyBhDQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuDQoNCiAgICAgICAgICAgICAgICAgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUw0KDQogICAgICAgICAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMNCg0KICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0DQpwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyB0byBtYWtlIGl0DQpmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4NCg0KICBUbyBkbyBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdA0KdG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQ0Kc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdA0KdGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuDQoNCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPg0KICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+DQoNCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQogICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KDQogICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQogICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCg0KICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQogICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQoNCkFsc28gYWRkIGluZm9ybWF0aW9uIG9uIGhvdyB0byBjb250YWN0IHlvdSBieSBlbGVjdHJvbmljIGFuZCBwYXBlciBtYWlsLg0KDQogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQNCm5vdGljZSBsaWtlIHRoaXMgd2hlbiBpdCBzdGFydHMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZToNCg0KICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4NCiAgICBUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZOyBmb3IgZGV0YWlscyB0eXBlIGBzaG93IHcnLg0KICAgIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQNCiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuDQoNClRoZSBoeXBvdGhldGljYWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBzaG93IGMnIHNob3VsZCBzaG93IHRoZSBhcHByb3ByaWF0ZQ0KcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzDQptaWdodCBiZSBkaWZmZXJlbnQ7IGZvciBhIEdVSSBpbnRlcmZhY2UsIHlvdSB3b3VsZCB1c2UgYW4gImFib3V0IGJveCIuDQoNCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwNCmlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBwcm9ncmFtLCBpZiBuZWNlc3NhcnkuDQpGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzLCBhbmQgaG93IHRvIGFwcGx5IGFuZCBmb2xsb3cgdGhlIEdOVSBHUEwsIHNlZQ0KPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KDQogIFRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHByb2dyYW0NCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQ0KbWF5IGNvbnNpZGVyIGl0IG1vcmUgdXNlZnVsIHRvIHBlcm1pdCBsaW5raW5nIHByb3ByaWV0YXJ5IGFwcGxpY2F0aW9ucyB3aXRoDQp0aGUgbGlicmFyeS4gIElmIHRoaXMgaXMgd2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwNClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZA0KPGh0dHA6Ly93d3cuZ251Lm9yZy9waGlsb3NvcGh5L3doeS1ub3QtbGdwbC5odG1sPi4NCg==]]></data>
	</file>
	<file>
	  <filename>/docs/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/Eridu.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmNsYXNzIEVyaWR1IGV4dGVuZHMgQ01TTW9kdWxlDQp7DQoJdmFyICRhdmFpbGFibGVfbGFuZ3VhZ2VzID0gZmFsc2U7DQoJdmFyICRhbGxfbGFuZ3VhZ2VzID0gZmFsc2U7DQoJdmFyICRjdXJyZW50X2xhbmd1YWdlID0gZmFsc2U7DQoJdmFyICRjdXJyZW50X2xhbmdjb2RlID0gZmFsc2U7DQoJdmFyICRjdXJyZW50X2xhbmdlbnRyaWVzID0gZmFsc2U7DQogIA0KICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQ0KICB7DQogICAgcGFyZW50OjpfX2NvbnN0cnVjdCgpOw0KICAgICR0aGlzLT5SZWdpc3RlckV2ZW50cygpOw0KICB9DQoNCglmdW5jdGlvbiBHZXROYW1lKCkNCgl7DQoJCXJldHVybiAiRXJpZHUiOw0KCX0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0RnJpZW5kbHlOYW1lKCkNCgkgICBUaGlzIGNhbiByZXR1cm4gYW55IHN0cmluZywgcHJlZmVyYWJseSBhIGxvY2FsaXplZCBuYW1lDQoJICAgb2YgdGhlIG1vZHVsZS4gVGhpcyBpcyB0aGUgbmFtZSB0aGF0InMgc2hvd24gaW4gdGhlDQoJICAgQWRtaW4gTWVudXMgYW5kIHNlY3Rpb24gcGFnZXMgKGlmIHRoZSBtb2R1bGUgaGFzIGFuIGFkbWluDQoJICAgY29tcG9uZW50KS4NCgkgICANCgkgICBTZWUgdGhlIG5vdGUgb24gbG9jYWxpemF0aW9uIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQ0KCXsNCgkJcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsNCgl9DQoJDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXRWZXJzaW9uKCkNCgkgICBUaGlzIGNhbiByZXR1cm4gYW55IHN0cmluZywgcHJlZmVyYWJseSBhIG51bWJlciBvcg0KCSAgIHNvbWV0aGluZyB0aGF0IG1ha2VzIHNlbnNlIGZvciBkZXNpZ25hdGluZyBhIHZlcnNpb24uDQoJICAgVGhlIENNUyB3aWxsIHVzZSB0aGlzIHRvIGlkZW50aWZ5IHdoZXRoZXIgb3Igbm90DQoJICAgdGhlIGluc3RhbGxlZCB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUgaXMgY3VycmVudCwgYW5kDQoJICAgdGhlIG1vZHVsZSB3aWxsIHVzZSBpdCB0byBmaWd1cmUgb3V0IGhvdyB0byB1cGdyYWRlDQoJICAgaXRzZWxmIGlmIHJlcXVlc3RlZC4JICAgDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldFZlcnNpb24oKQ0KCXsNCgkJcmV0dXJuICcxLjAnOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXREZXBlbmRlbmNpZXMoKQ0KCSAgIFlvdXIgbW9kdWxlIG1heSBuZWVkIGFub3RoZXIgbW9kdWxlIHRvIGFscmVhZHkgYmUgaW5zdGFsbGVkDQoJICAgYmVmb3JlIHlvdSBjYW4gaW5zdGFsbCBpdC4NCgkgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgbGlzdCBvZiB0aG9zZSBkZXBlbmRlbmNpZXMgYW5kDQoJICAgbWluaW11bSB2ZXJzaW9uIG51bWJlcnMgdGhhdCB0aGlzIG1vZHVsZSByZXF1aXJlcy4NCgkgICANCgkgICBJdCBzaG91bGQgcmV0dXJuIGFuIGhhc2gsIGVnLg0KCSAgIHJldHVybiBhcnJheSgic29tZW1vZHVsZSI9PiIxLjAiLCAib3RoZXJtb2R1bGUiPT4iMS4xIik7DQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpDQoJew0KCQlyZXR1cm4gYXJyYXkoKTsNCgl9DQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldEhlbHAoKQ0KCSAgIFRoaXMgcmV0dXJucyBIVE1MIGluZm9ybWF0aW9uIG9uIHRoZSBtb2R1bGUuDQoJICAgVHlwaWNhbGx5LCB5b3UibGwgd2FudCB0byBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIGhvdyB0bw0KCSAgIHVzZSB0aGUgbW9kdWxlLg0KCSAgIA0KCSAgIFNlZSB0aGUgbm90ZSBvbiBsb2NhbGl6YXRpb24gYXQgdGhlIHRvcCBvZiB0aGlzIGZpbGUuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldEhlbHAoKQ0KCXsNCiAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KICAgICAgICANCiAgICAkc21hcnR5LT5hc3NpZ24oJ3Jvb3RfdXJsJywgJGNvbmZpZ1sncm9vdF91cmwnXSk7DQoNCiAgICAkc21hcnR5LT5hc3NpZ24oJ21vZCcsICR0aGlzKTsNCgkJcmV0dXJuICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2hlbHAudHBsJyk7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXRBdXRob3IoKQ0KCSAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgTW9kdWxlDQoJICAgQWRtaW4gaWYgeW91IGNsaWNrIG9uIHRoZSAiQWJvdXQiIGxpbmsuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldEF1dGhvcigpDQoJew0KCQlyZXR1cm4gJ0pvIE1vcmcgKEZlcm5hbmRvIE1vcmdhZG8pJzsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0QXV0aG9yRW1haWwoKQ0KCSAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgTW9kdWxlDQoJICAgQWRtaW4gaWYgeW91IGNsaWNrIG9uIHRoZSAnQWJvdXQnIGxpbmsuIEl0IGhlbHBzIHVzZXJzDQoJICAgb2YgeW91ciBtb2R1bGUgZ2V0IGluIHRvdWNoIHdpdGggeW91IHRvIHNlbmQgYnVnIHJlcG9ydHMsDQoJICAgcXVlc3Rpb25zLCBjYXNlcyBvZiBiZWVyLCBhbmQvb3IgbGFyZ2Ugc3VtcyBvZiBtb25leS4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQ0KCXsNCgkJcmV0dXJuICdqb21vcmdAY21zbWFkZXNpbXBsZS5vcmcnOw0KCX0NCg0KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQ0KICB7DQogICAgcmV0dXJuICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2NoYW5nZWxvZy50cGwnKTsNCiAgfQ0KDQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogIElzUGx1Z2luTW9kdWxlKCkNCiAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUgb3IgZmFsc2UsIGRlcGVuZGluZyB1cG9uDQogIHdoZXRoZXIgdXNlcnMgY2FuIGluY2x1ZGUgdGhlIG1vZHVsZSBpbiBhIHBhZ2Ugb3INCiAgdGVtcGxhdGUgdXNpbmcgYSBzbWFydHkgdGFnIG9mIHRoZSBmb3JtDQogIHtjbXNfbW9kdWxlIG1vZHVsZT0iUHJvZCIgcGFyYW0xPXZhbCBwYXJhbTI9dmFsLi4ufQ0KDQogIElmIHlvdXIgbW9kdWxlIGRvZXMgbm90IGdldCBpbmNsdWRlZCBpbiBwYWdlcyBvcg0KICB0ZW1wbGF0ZXMsIHJldHVybiAiZmFsc2UiIGhlcmUuDQogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQ0KCXsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KDQoNCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgSGFzQWRtaW4oKQ0KICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBib29sZWFuIHZhbHVlLCBkZXBlbmRpbmcgb24NCiAgd2hldGhlciB5b3VyIG1vZHVsZSBhZGRzIGFueXRoaW5nIHRvIHRoZSBBZG1pbiBhcmVhIG9mDQogIHRoZSBzaXRlLiBGb3IgdGhlIHJlc3Qgb2YgdGhlc2UgY29tbWVudHMsIEkibGwgYmUgY2FsbGluZw0KICB0aGUgYWRtaW4gcGFydCBvZiB5b3VyIG1vZHVsZSB0aGUgIkFkbWluIFBhbmVsIiBmb3INCiAgd2FudCBvZiBhIGJldHRlciB0ZXJtLg0KICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KICBmdW5jdGlvbiBIYXNBZG1pbigpIA0KICB7DQogICAgcmV0dXJuIHRydWU7CQ0KICB9DQoNCiAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkgDQogIHsNCiAgICByZXR1cm4gImNvbnRlbnQiOw0KICB9DQoNCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpIA0KICB7DQogICAgcmV0dXJuICR0aGlzLT5MYW5nKCJhZG1pbmRlc2NyaXB0aW9uIik7DQogIH0NCg0KICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQ0KICB7DQogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2VyaWR1Iik7DQogIH0NCiAgDQogIHB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKQ0KICB7DQogICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7DQogICAgJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOw0KDQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2FjdGlvbicsICAgICBDTEVBTl9TVFJJTkcpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdtb2R1bGUnLCAgICAgQ0xFQU5fU1RSSU5HKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndGVtcGxhdGUnLCAgIENMRUFOX1NUUklORyk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Nob3cnLCAgICAgICBDTEVBTl9TVFJJTkcpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdldmFsJywgICAgICAgQ0xFQU5fU1RSSU5HKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYXNzaWduJywgICAgIENMRUFOX1NUUklORyk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25ld2xhbmcnLCAgICBDTEVBTl9TVFJJTkcpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCduZXd1cmwnLCAgICAgQ0xFQU5fU1RSSU5HKTsgDQogIH0NCiAgDQogIHB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKQ0KICB7DQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWN0aW9uJywgICAgJ2RlZmF1bHQnLCAgJHRoaXMtPkxhbmcoJ3BoZWxwX2FjdGlvbicpKTsNCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzaG93JywgICAgICAnJywgICAgICAgICAkdGhpcy0+TGFuZygncGhlbHBfc2hvdycpKTsgICAgDQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZXZhbCcsICAgICAgJycsICAgICAgICAgJHRoaXMtPkxhbmcoJ3BoZWxwX2V2YWwnKSk7ICAgIA0KICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3RlbXBsYXRlJywgICcnLCAgICAgICAgICR0aGlzLT5MYW5nKCdwaGVscF90ZW1wbGF0ZScpKTsgICAgDQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYXNzaWduJywgICAgJycsICAgICAgICAgJHRoaXMtPkxhbmcoJ3BoZWxwX2Fzc2lnbicpKTsNCiAgfQ0KCQ0KICBmdW5jdGlvbiBIYW5kbGVzRXZlbnRzKCkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogICAgDQoJZnVuY3Rpb24gUmVnaXN0ZXJFdmVudHMoKQ0KICB7DQogICAgJHRoaXMtPkFkZEV2ZW50SGFuZGxlciggJ0NvcmUnLCAnQ29udGVudFByZUNvbXBpbGUnLCBmYWxzZSApOw0KICB9DQogICAgDQoJZnVuY3Rpb24gRG9FdmVudCgkb3JpZ2luYXRvciwgJGV2ZW50bmFtZSwgJiRwYXJhbXMpDQogIHsNCgkJaWYoJGV2ZW50bmFtZSA9PSAnQ29udGVudFByZUNvbXBpbGUnKQ0KICAgIHsNCgkJCSR0aGlzLT5hc3NpZ25fcGFnZV9sYW5nKCk7DQoJCQkkdGhpcy0+YXV0b19yZWRpcmVjdCgpOw0KCQl9DQoJfQ0KICAgIA0KCWZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoInBvc3RpbnN0YWxsIik7DQoJfQ0KCWZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygicG9zdHVuaW5zdGFsbCIpOw0KCX0NCiAgICANCglmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygicmVhbGx5X3VuaW5zdGFsbCIpOw0KCX0NCg0KDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCk5PVCBQQVJUIE9GIFRIRSBOT1JNQUwgTU9EVUxFIEFQSQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCg0KCWZ1bmN0aW9uIGdldF9tb2RwcmVmcygpDQogIHsNCgkJLy8gYXJyYXkoJ3ByZWZlcmVuY2VfbmFtZScsIGRlZmF1bHQpOw0KCQlyZXR1cm4gYXJyYXkoDQoJCSAgICAgICAgICAgICAjIGFycmF5KCdhdXRvcmVkaXJlY3RfaG9tZScsIHRydWUpLA0KCQkgICAgICAgICAgICAgIyBhcnJheSgnYXV0b3JlZGlyZWN0X2FsbCcsIGZhbHNlKSwJCQ0KCQkgICAgICAgICAgICAgIyBhcnJheSgnY29va2llc19hdXRvcmVkaXJlY3RfaG9tZScsIHRydWUpLA0KCQkgICAgICAgICAgICAgIyBhcnJheSgnY29va2llc19hdXRvcmVkaXJlY3RfYWxsJywgZmFsc2UpLA0KCQkgICAgICAgICAgICAgIGFycmF5KCdoaWVyYXJjaHlfcmVkaXJlY3QnLCB0cnVlKSwNCgkJICAgICAgICAgICAgICBhcnJheSgnY3VycmVudF9saW5rJywgZmFsc2UpLA0KCQkgICAgICAgICAgICAgIGFycmF5KCdkZWZhdWx0X2hpZGUnLCB0cnVlKSwNCgkJICAgICAgICAgICAgICBhcnJheSgnZGVmYXVsdF90cmFuc2xhdGUnLCB0cnVlKSwNCgkJICAgICAgICAgICAgICBhcnJheSgnaGlkZV9taXNzaW5nZW50cmllcycsIGZhbHNlKSwNCgkJICAgICAgICAgICAgICBhcnJheSgnd3lzaXd5ZycsIGZhbHNlKQ0KCQkgICAgICAgICAgICApOw0KCX0NCg0KICAgIA0KICAgIC8qKg0KICAgICogREVQUkVDQVRFRA0KICAgICogDQogICAgKiBAcGFyYW0gbWl4ZWQgJG5hbWUNCiAgICAqIEByZXR1cm4gc3RyaW5nDQogICAgKi8NCiAgICBmdW5jdGlvbiBwbGNyZWF0ZWFsaWFzKCRuYW1lKQ0KICAgIHsNCiAgICAgIC8qCQkNCiAgICAgIC8vIGZpbHRlciBrZXlzIGZvciBsYW5ndWFnZSBlbnRyaWVzDQogICAgICAvLyBhcyBhIHN1Z2dlc3Rpb24gZnJvbSBBTVQsIHRoZSBmaXJzdCBwYXJ0IGRlYWxzIHdpdGggc21hcnQgcXVvdGVzDQogICAgICAkc2VhcmNoID0gYXJyYXkoY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTgpLA0KICAgICAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTkpLA0KICAgICAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OWMpLA0KICAgICAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OWQpLA0KICAgICAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTMpLA0KICAgICAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTQpKTsNCiAgICAgICRuYW1lID0gc3RyX3JlcGxhY2UoJHNlYXJjaCwgIiIsICRuYW1lKTsNCiAgICAgIC8vIHRoZSBzZWNvbmQgcGFydCB1c2VzIHRoZSBjbXMgdmVyc2lvbg0KICAgICAgJGFsaWFzID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkbmFtZSwgZmFsc2UpOw0KICAgICAgcmV0dXJuICRhbGlhczsgICANCiAgICAgICovDQogICAgICByZXR1cm4gRXJpZHVIZWxwZXJGdW5jdGlvbnM6OnBsY3JlYXRlYWxpYXMoJG5hbWUpOw0KICAgIH0gDQoJDQoJZnVuY3Rpb24gY291bnRzb21ldGhpbmcoJHRhYmxlbmFtZSwkd2hhdD0iaWQiLCR3aGVyZT1hcnJheSgpKQ0KICB7DQoJCS8vIHJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBhIHRhYmxlDQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7DQoJCSR3aGVyZXN0cmluZyA9ICIiOw0KCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOw0KICAgICAgICANCgkJZm9yZWFjaCgkd2hlcmUgYXMgJGtleT0+JHZhbHVlKQ0KICAgIHsNCgkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIgV0hFUkUgIjoiIEFORCAiKSAuICRrZXkgLiAiPT8iOw0KCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCX0NCiAgICAgICAgDQoJCSRxdWVyeSA9ICJTRUxFQ1QgQ09VTlQoJHdoYXQpIG91cmNvdW50IEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZXJpZHVfJHRhYmxlbmFtZSIgLiAkd2hlcmVzdHJpbmc7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHdoZXJldmFsdWVzKTsNCiAgICAgICAgDQoJCWlmICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkNCiAgICB7DQoJCQlyZXR1cm4gJHJvd1sib3VyY291bnQiXTsNCgkJfQ0KICAgIGVsc2UNCiAgICB7DQoJCQlyZXR1cm4gMDsNCgkJfQ0KCX0JDQoJDQoJZnVuY3Rpb24gZ2V0RmlsZUNvbnRlbnQoJGZpbGVuYW1lKQ0KICB7DQoJCSRmaWxlcGF0aCA9IGRpcm5hbWUoX19GSUxFX18pIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlbmFtZTsNCgkJDQogICAgaWYoZmlsZV9leGlzdHMoJGZpbGVwYXRoKSkNCiAgICB7DQoJCQkkZmhhbmRsZSA9IGZvcGVuKCRmaWxlcGF0aCwgInIrIik7DQoJCQkkY29udGVudCA9IGZyZWFkKCRmaGFuZGxlLCBmaWxlc2l6ZSgkZmlsZXBhdGgpKTsNCgkJCXJldHVybiAkY29udGVudDsNCgkJfQ0KICAgIGVsc2UNCiAgICB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgl9DQoJDQoJZnVuY3Rpb24gcmV0cmlldmVfcGFnZV9sYW5nKCkNCiAgew0KCQkvLyByZXRyaWV2ZSByb290IGlkDQogICAgJHJvb3RfaWQgPSBFcmlkdUhlbHBlckZ1bmN0aW9uczo6Z2V0X3Jvb3RfaWQoKTsNCiAgICANCgkJaWYoISR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzKQkkdGhpcy0+cmV0cmlldmVfbGFuZ3VhZ2VzKCk7DQoJCWlmKCEkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcykJcmV0dXJuIGZhbHNlOw0KCQkNCiAgICBmb3JlYWNoKCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzIGFzICRvbmVsYW5nKQ0KICAgIHsNCgkJCWlmKCRvbmVsYW5nWyJyb290X2lkIl0gPT0gJHJvb3RfaWQpDQogICAgICB7DQoJCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUgPSAkb25lbGFuZ1sibGFuZ2NvZGUiXTsNCgkJCQkkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSA9ICRvbmVsYW5nOw0KCQkJfQ0KCQl9DQogICAgDQogICAgIyRzbWFydHkgPSBjbXNtcygpLT5nZXRTbWFydHkoKTsNCiAgICAkc21hcnR5ID0gJHRoaXMtPkdldEFjdGlvblRlbXBsYXRlT2JqZWN0KCk7IA0KICAgICAgICANCgkJJHNtYXJ0eS0+YXNzaWduR2xvYmFsKCJwYWdlX2xhbmciLCAkdGhpcy0+Y3VycmVudF9sYW5nY29kZSk7DQoJCSRzbWFydHktPmFzc2lnbkdsb2JhbCgiY3VycmVudF9sYW5ndWFnZSIsICR0aGlzLT5jdXJyZW50X2xhbmd1YWdlKTsNCgl9DQoNCglmdW5jdGlvbiBnZXRsYW5ndWFnZXMoJGluYWN0aXZlPWZhbHNlKQ0KICB7DQoJCWlmKCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzID09IGZhbHNlKQkkdGhpcy0+cmV0cmlldmVfbGFuZ3VhZ2VzKCk7DQoJCXJldHVybgkkaW5hY3RpdmUgPyAkdGhpcy0+YWxsX2xhbmd1YWdlcyA6ICR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzOw0KCX0NCg0KCWZ1bmN0aW9uIHJldHJpZXZlX2xhbmd1YWdlcygpDQogIHsNCgkJLy8gcmV0cmlldmVzIGxhbmd1YWdlcyBmcm9tIHRoZSBkYXRhYmFzZSBhbmQgc3RvcmUgdGhlbSBpbiB0aGUgbW9kdWxlIG9iamVjdA0KCQkvLyB0byBhdm9pZCBtdWx0aXBsZSByZXRyaWV2YWwsIHVzZSBnZXRsYW5ndWFnZXMoKTsNCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZXJpZHVfbGFuZ3VhZ2VzIE9SREVSIEJZIGl0ZW1fb3JkZXIiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsNCgkJJG91dHB1dCA9IGFycmF5KCk7DQoJCSRhbGwgPSBhcnJheSgpOw0KICAgICAgICANCgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpDQogICAgew0KCQkJJGFsbFskcm93WyJsYW5nY29kZSJdXSA9ICRyb3c7DQoJCQlpZigkcm93WyJhY3RpdmUiXSkJJG91dHB1dFskcm93WyJsYW5nY29kZSJdXSA9ICRyb3c7DQoJCX0NCiAgICAgICAgDQoJCSR0aGlzLT5hbGxfbGFuZ3VhZ2VzID0gJGFsbDsNCgkJJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMgPSAkb3V0cHV0Ow0KDQoJfQ0KCQ0KCWZ1bmN0aW9uIGFkbWluX3JldHJpZXZlX2xhbmd1YWdlcygkaWQsICRyZXR1cm5pZCkNCiAgew0KICAgICRnQ21zID0gY21zbXMoKTsJDQogICAgICAgIA0KCQkkYWRtaW50aGVtZSA9IGNtc191dGlsczo6Z2V0X3RoZW1lX29iamVjdCgpOw0KICAgICAgICANCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkJJGRlZmF1bHRsYW5nID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImRlZmF1bHRfbGFuZ3VhZ2UiLCBmYWxzZSk7DQogICAgICAgIA0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9lcmlkdV9sYW5ndWFnZXMgT1JERVIgQlkgaXRlbV9vcmRlciI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCiAgICAgICAgDQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQ0KICAgIHsNCgkJCSRpdGVtID0gbmV3IFN0ZENsYXNzKCk7DQoJCQkNCiAgICAgIGZvcmVhY2goJHJvdyBhcyAka2V5PT4kdmFsdWUpDQogICAgICB7DQoJCQkJJGl0ZW0tPiRrZXkgPSAkdmFsdWU7DQoJCQl9DQoJCQkNCiAgICAgICRtb3ZlcGFyYW1zID0gYXJyYXkoImxhbmdjb2RlIj0+JGl0ZW0tPmxhbmdjb2RlLCJjdXJyZW50b3JkZXIiPT4kaXRlbS0+aXRlbV9vcmRlcik7DQoJCQkkaXRlbS0+bmFtZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0bGFuZyIsICRyZXR1cm5pZCwgJGl0ZW0tPm5hbWUsIGFycmF5KCJsYW5nY29kZSI9PiRpdGVtLT5sYW5nY29kZSkpOw0KCQkJJGl0ZW0tPmNvZGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdGxhbmciLCAkcmV0dXJuaWQsICRpdGVtLT5sYW5nY29kZSwgYXJyYXkoImxhbmdjb2RlIj0+JGl0ZW0tPmxhbmdjb2RlKSk7DQoJCQkkaXRlbS0+ZWRpdGVudHJpZXMgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0ZW50cmllcyIsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoImVkaXRfZW50cmllcyIpLCBhcnJheSgibGFuZ2NvZGUiPT4kaXRlbS0+bGFuZ2NvZGUpKTsNCgkJCSRpdGVtLT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAibW92ZXNvbWV0aGluZyIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYiLGxhbmcoImRlbGV0ZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJtb3ZlIj0+ImRlbGV0ZSIpLCRtb3ZlcGFyYW1zKSwgJHRoaXMtPkxhbmcoInByb21wdF9kZWxldGVsYW5ndWFnZSIsIHN0cl9yZXBsYWNlKCInIiwiXCciLCRpdGVtLT5uYW1lKSkpOw0KCQkJJGl0ZW0tPmFjdGlvbnMgPSAkaXRlbS0+ZWRpdGVudHJpZXMuIiAiLiRpdGVtLT5kZWxldGVsaW5rOw0KCQkJJGl0ZW0tPm1vdmV1cGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJtb3Zlc29tZXRoaW5nIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYiLGxhbmcoInVwIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIm1vdmUiPT4idXAiKSwkbW92ZXBhcmFtcykpOw0KCQkJJGl0ZW0tPm1vdmVkb3dubGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgIm1vdmVzb21ldGhpbmciLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9hcnJvdy1kLmdpZiIsbGFuZygiZG93biIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJtb3ZlIj0+ImRvd24iKSwkbW92ZXBhcmFtcykpOw0KCQkJJGl0ZW0tPm1vdmVsaW5rcyA9ICRpdGVtLT5tb3ZldXBsaW5rIC4iICIuICRpdGVtLT5tb3ZlZG93bmxpbms7DQoJCQkNCiAgICAgIGlmKCRkZWZhdWx0bGFuZyA9PSAkaXRlbS0+bGFuZ2NvZGUpDQogICAgICB7DQoJCQkJJGl0ZW0tPnRvZ2dsZWRlZmF1bHQgPSAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vdHJ1ZS5naWYiLCJ0cnVlIiwiIiwiIiwic3lzdGVtaWNvbiIpOw0KCQkJfQ0KICAgICAgZWxzZQ0KICAgICAgew0KCQkJCSRpdGVtLT50b2dnbGVkZWZhdWx0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAidG9nZ2xlZGVmYXVsdCIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZiIsbGFuZygic2V0dHJ1ZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5KCJsYW5nY29kZSI9PiRpdGVtLT5sYW5nY29kZSkpOw0KCQkJfQ0KICAgICAgICAgICAgDQoJCQlpZigkaXRlbS0+YWN0aXZlKQ0KICAgICAgew0KCQkJCSRpdGVtLT50b2dnbGVhY3RpdmUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0b2dnbGVhY3RpdmUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS90cnVlLmdpZiIsbGFuZygic2V0ZmFsc2UiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheSgibGFuZ2NvZGUiPT4kaXRlbS0+bGFuZ2NvZGUsICJuZXd2YWwiPT4wKSk7DQoJCQl9DQogICAgICBlbHNlDQogICAgICB7DQoJCQkJJGl0ZW0tPnRvZ2dsZWFjdGl2ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInRvZ2dsZWFjdGl2ZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZiIsbGFuZygic2V0dHJ1ZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5KCJsYW5nY29kZSI9PiRpdGVtLT5sYW5nY29kZSwgIm5ld3ZhbCI9PjEpKTsNCgkJCX0NCiAgICAgICAgICAgIA0KCQkJYXJyYXlfcHVzaCgkb3V0cHV0LCAkaXRlbSk7DQoJCX0NCiAgICAgICAgDQoJCXJldHVybiAkb3V0cHV0Ow0KCX0NCgkNCglmdW5jdGlvbiBnZXRfbGFuZ3VhZ2VfZGV0YWlscygkbGFuZ2NvZGUpDQogIHsNCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9lcmlkdV9sYW5ndWFnZXMgV0hFUkUgbGFuZ2NvZGU9PyI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRsYW5nY29kZSkpOw0KCQlpZigkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkNCiAgICB7DQoJCQkkaXRlbSA9IG5ldyBTdGRDbGFzcygpOw0KICAgICAgICAgICAgDQoJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKQ0KICAgICAgew0KCQkJCSRpdGVtLT4ka2V5ID0gJHZhbHVlOw0KCQkJfQ0KICAgIH0NCiAgICBlbHNlDQogICAgew0KCQkJJGl0ZW0gPSBmYWxzZTsNCgkJfQ0KICAgICAgICANCgkJcmV0dXJuICRpdGVtOw0KCX0NCgkNCiAgLy8gcmV0cmlldmVzIHRoZSBsYW5ndWFnZSBlbnRyaWVzIGZvciB0aGUgY3VycmVudCBsYW5ndWFnZQ0KCWZ1bmN0aW9uIHJldHJpZXZlX2xhbmdlbnRyaWVzKCkNCiAgew0KCQlpZighJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UpCSR0aGlzLT5yZXRyaWV2ZV9wYWdlX2xhbmcoKTsNCgkJaWYoISR0aGlzLT5jdXJyZW50X2xhbmd1YWdlKQlyZXR1cm4gZmFsc2U7DQogDQoJCSRkZWZsYW5nID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImRlZmF1bHRfbGFuZ3VhZ2UiLCBmYWxzZSk7DQoJCSRwYXJ0aWFsX2ltcG9ydCA9IGZhbHNlOw0KICAgICAgICANCgkJaWYoJGRlZmxhbmcgJiYgJGRlZmxhbmcgIT0gJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoImRlZmF1bHRfdHJhbnNsYXRlIiwgZmFsc2UpKQ0KICAgIHsNCgkJCS8vIHdoZW4gdGhlIGVudHJ5IGRvZXNuJ3QgZXhpc3QgaW4gdGhlIGN1cnJlbnQgbGFuZ3VhZ2UsIHdlIHVzZSB0aGUgb25lIGZyb20gdGhlIGRlZmF1bHQgbGFuZ3VhZ2UsDQoJCQkvLyBzbyB3ZSBsb2FkIHRoaXMgb25lIGZpcnN0DQoJCQkkcGFydGlhbF9pbXBvcnQgPSB0cnVlOw0KCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXMgPSAkdGhpcy0+bG9hZF9sYW5nZW50cmllcygkZGVmbGFuZyk7DQoJCX0NCgkJDQogICAgJGN1cnJlbnRfZW50cmllcyA9ICR0aGlzLT5sb2FkX2xhbmdlbnRyaWVzKCR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKTsNCg0KICAgIGlmKCRwYXJ0aWFsX2ltcG9ydCkNCiAgICB7DQoJCQkvLyB3ZSd2ZSBhbHJlYWR5IGxvYWRlZCB0aGUgZGVmYXVsdCBlbnRyaWVzLCBzbyB3ZSBhZGQvcmVwbGFjZSB0aGUgb25lcyBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UNCgkJCWZvcmVhY2goJGN1cnJlbnRfZW50cmllcyBhcyAka2V5ID0+ICR2YWx1ZSkNCiAgICAgIHsNCgkJCQlpZigkdmFsdWUgJiYgJHZhbHVlICE9ICIiKQkkdGhpcy0+Y3VycmVudF9sYW5nZW50cmllc1ska2V5XSA9ICR2YWx1ZTsNCgkJCX0NCgkJfQ0KICAgIGVsc2UNCiAgICB7DQoJCQkvLyBubyBuZWVkIGZvciBkZWZhdWx0IGVudHJpZXMNCgkJCSR0aGlzLT5jdXJyZW50X2xhbmdlbnRyaWVzID0gJGN1cnJlbnRfZW50cmllczsNCgkJfQ0KCX0NCgkNCglmdW5jdGlvbiBsb2FkX2xhbmdlbnRyaWVzKCRsYW5nKQ0KICB7DQoJCS8vIHJldHJpZXZlcyBsYW5ndWFnZSBlbnRyaWVzIGZvciBhbnkgbGFuZ3VhZ2UNCgkJaWYoISR0aGlzLT5pc19sYW5ndWFnZSgkbGFuZykpCXJldHVybiBmYWxzZTsNCgkJDQogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCBsYW5na2V5cy5jYXB0aW9uIGNhcHRpb24sIGxhbmdlbnRyaWVzLnZhbHVlIEZST00gIiANCiAgICAgICAgICAgICAgICAgLiBjbXNfZGJfcHJlZml4KCkgDQogICAgICAgICAgICAgICAgIC4gIm1vZHVsZV9lcmlkdV9sYW5na2V5cyBsYW5na2V5cyBMRUZUIEpPSU4gIiANCiAgICAgICAgICAgICAgICAgLiBjbXNfZGJfcHJlZml4KCkgDQogICAgICAgICAgICAgICAgIC4gIm1vZHVsZV9lcmlkdV9sYW5nZW50cmllcyBsYW5nZW50cmllcyBPTiBsYW5na2V5cy5zdHJpbmdpZCA9IGxhbmdlbnRyaWVzLnN0cmluZ2lkIFdIRVJFIGxhbmdlbnRyaWVzLmxhbmdjb2RlPT8iOw0KICAgICAgICAgICAgICAgICANCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkbGFuZykpOw0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCiAgICAgICAgDQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQ0KICAgIHsNCgkJCSRvdXRwdXRbJHJvd1siY2FwdGlvbiJdXSA9ICRyb3dbInZhbHVlIl0gPyAkcm93WyJ2YWx1ZSJdIDogIiI7DQoJCX0NCiAgICANCiAgICByZXR1cm4gJG91dHB1dDsNCgl9DQoJDQogIC8vIHJldHVybnMgdHJ1ZSBpZiAkY29kZSBpcyBhbiBhY3RpdmUgbGFuZ3VhZ2UNCglmdW5jdGlvbiBpc19sYW5ndWFnZSgkY29kZSkNCiAgew0KCQlpZighJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMpCSR0aGlzLT5yZXRyaWV2ZV9sYW5ndWFnZXMoKTsNCgkJaWYoISR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzKQlyZXR1cm4gZmFsc2U7DQoJCSRyZXN1bHQgPSBpc3NldCgkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlc1skY29kZV0pOw0KCQlpZighJHJlc3VsdCkgZWNobyAkY29kZS4nIGlzIG5vdCBhIGxhbmd1YWdlJzsNCgkJcmV0dXJuICRyZXN1bHQ7DQoJfQ0KCQ0KICAvLyByZXR1cm5zIHN0cmluZyBjb3JyZXNwb25kaW5nIHRvICRrZXkgaW4gdGhlIGN1cnJlbnQgbGFuZ3VhZ2UNCglmdW5jdGlvbiByZXRyaWV2ZV90cmFuc2xhdGlvbigka2V5KQ0KICB7DQoJCWlmKCEkdGhpcy0+Y3VycmVudF9sYW5nZW50cmllcykJJHRoaXMtPnJldHJpZXZlX2xhbmdlbnRyaWVzKCk7DQoJCWlmKCEkdGhpcy0+Y3VycmVudF9sYW5nZW50cmllcykJcmV0dXJuIGZhbHNlOw0KCQkka2V5cyA9IGV4cGxvZGUoJywnLCAka2V5KTsNCiAgICANCgkJJG91dHB1dCA9IGFycmF5KCk7DQoJCQ0KICAgIGZvcmVhY2goJGtleXMgYXMgJGtleSkNCiAgICB7DQoJCQlpZihpc3NldCgkdGhpcy0+Y3VycmVudF9sYW5nZW50cmllc1ska2V5XSkgJiYgICR0aGlzLT5jdXJyZW50X2xhbmdlbnRyaWVzWyRrZXldICE9ICIiKQ0KICAgICAgew0KCQkJCWFycmF5X3B1c2goJG91dHB1dCwgJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXNbJGtleV0pOw0KCQkJfQ0KICAgICAgZWxzZWlmKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgiaGlkZV9taXNzaW5nZW50cmllcyIsIGZhbHNlKSkNCiAgICAgIHsNCgkJCQlhcnJheV9wdXNoKCRvdXRwdXQsICJBZGQgbWU6ICIgLiAka2V5IC4gIiAoIiAuICR0aGlzLT5jdXJyZW50X2xhbmd1YWdlWydsYW5nY29kZSddIC4gIikiKTsNCgkJCX0NCiAgICAgIGVsc2UNCiAgICAgIHsNCgkJCQlhcnJheV9wdXNoKCRvdXRwdXQsICIiKTsNCgkJCX0NCgkJfQ0KICAgICAgICANCgkJaWYoY291bnQoJG91dHB1dCk9PTEpCXJldHVybiAkb3V0cHV0WzBdOw0KCQkNCiAgICByZXR1cm4gJG91dHB1dDsNCgl9DQoJDQogIC8vIGRldGVjdHMgY3VycmVudCBsYW5ndWFnZSBiYXNlZCBvbiBoaWVyYXJjaHkgYW5kIGFzc2lnbiBpdCB0byBzbWFydHkNCglmdW5jdGlvbiBhc3NpZ25fcGFnZV9sYW5nKCkNCiAgew0KDQogICAgJHJvb3RfaWQgPSBFcmlkdUhlbHBlckZ1bmN0aW9uczo6Z2V0X3Jvb3RfaWQoKTsNCi8vCQkkY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7DQovLwkJJHJvb3RfaWQgPSAkY29udGVudG9wcy0+Z2V0Q29udGVudE9iamVjdCgpLT5JZCgpOw0KLy8JCSR0bXBpZCA9ICRyb290X2lkOw0KLy8gICAgDQovLwkJd2hpbGUoICR0bXBpZCA+IDApDQovLyAgICB7DQovLwkJCSRyb290X2lkID0gJHRtcGlkOw0KLy8JCQkkY3VycmVudE5vZGUgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tSWQoJHRtcGlkKTsNCi8vCQkJJHRtcGlkID0gJGN1cnJlbnROb2RlID8gJGN1cnJlbnROb2RlLT5QYXJlbnRJZCgpIDogLTE7DQovLwkJfQ0KDQogICAgICAgIA0KCQkkbGFuZ3VhZ2VzID0gJHRoaXMtPmdldGxhbmd1YWdlcygpOw0KICAgIA0KCQlmb3JlYWNoKCRsYW5ndWFnZXMgYXMgJGxhbmd1YWdlKQ0KICAgIHsNCgkJCWlmKCRsYW5ndWFnZVsncm9vdF9pZCddID09ICRyb290X2lkKQ0KICAgICAgew0KCQkJCSR0aGlzLT5jdXJyZW50X2xhbmd1YWdlID0gJGxhbmd1YWdlOw0KCQkJCSR0aGlzLT5jdXJyZW50X2xhbmdjb2RlID0gJGxhbmd1YWdlWydsYW5nY29kZSddOw0KCQkJfQ0KCQl9DQoJCQ0KICAgIGlmKCEkdGhpcy0+Y3VycmVudF9sYW5nY29kZSkNCiAgICB7DQoJCQkvLyB0aGFua3MgbmlubyBmb3IgdGhpcyBhZGQNCgkJCSRkZWZsYW5nID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImRlZmF1bHRfbGFuZ3VhZ2UiLCBmYWxzZSk7DQogICAgICAgICAgICANCgkJCWlmKCAkZGVmbGFuZyAmJiBhcnJheV9rZXlfZXhpc3RzKCRkZWZsYW5nLCAkbGFuZ3VhZ2VzKSApIA0KICAgICAgew0KCQkJCSR0aGlzLT5jdXJyZW50X2xhbmd1YWdlID0gJGxhbmd1YWdlc1skZGVmbGFuZ107DQoJCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUgPSAkZGVmbGFuZzsNCgkJCX0NCgkJfQ0KICAgIA0KICAgICRzbWFydHkgPSAkdGhpcy0+R2V0QWN0aW9uVGVtcGxhdGVPYmplY3QoKTsgDQogICAgaWYoICFpc19vYmplY3QoJHNtYXJ0eSkgKQ0KICAgIHsNCiAgICAgICRzbWFydHkgPSBjbXNtcygpLT5nZXRTbWFydHkoKTsNCiAgICB9DQogICAgJHNtYXJ0eS0+YXNzaWduR2xvYmFsKCJwYWdlX2xhbmciLCAkdGhpcy0+Y3VycmVudF9sYW5nY29kZSk7DQogICAgJHNtYXJ0eS0+YXNzaWduR2xvYmFsKCJjdXJyZW50X2xhbmd1YWdlIiwgJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UpOw0KICAgICAgICANCgl9DQoJDQogIA0KICAvLyByZWRpcmVjdHMgdG8gdGhlIHVzZXIgbGFuZ3VhZ2Ugd2hlbiBhIHVybCBpcyByZXF1ZXN0ZWQNCglmdW5jdGlvbiBhdXRvX3JlZGlyZWN0KCkNCiAgeyAgICAgDQoJCWlmKCEkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSkJcmV0dXJuIGZhbHNlOw0KICAgICAgICANCgkJJHByZWZfYnJvd3Nlcl9ob21lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9yZWRpcmVjdF9ob21lJyk7DQoJCSRwcmVmX2Jyb3dzZXJfYWxsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9yZWRpcmVjdF9hbGwnKTsNCgkJJHByZWZfY29va2llX2hvbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29va2llc19hdXRvcmVkaXJlY3RfaG9tZScpOw0KCQkkcHJlZl9jb29raWVfYWxsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nvb2tpZXNfYXV0b3JlZGlyZWN0X2FsbCcpOw0KICAgICAgICANCgkJaWYoISRwcmVmX2Nvb2tpZV9ob21lICYmICEkcHJlZl9jb29raWVfYWxsICYmICEkcHJlZl9icm93c2VyX2hvbWUgJiYgISRwcmVmX2Jyb3dzZXJfYWxsKQlyZXR1cm4gZmFsc2U7DQogICAgICAgIA0KCQkkcGFnZWlkID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKS0+Z2V0Q29udGVudE9iamVjdCgpLT5JZCgpOw0KCQkkbGFuZ3VhZ2VzID0gJHRoaXMtPmdldGxhbmd1YWdlcygpOw0KCQkkaXNfaG9tZXBhZ2UgPSBmYWxzZTsNCgkJJGxhbmdjb2RlcyA9IGFycmF5KCk7DQoJCSR0cnVuY2F0ZWQgPSBhcnJheSgpOw0KICAgICAgICANCgkJZm9yZWFjaCgkbGFuZ3VhZ2VzIGFzICRsYW5ndWFnZSkNCiAgICB7DQoJCQlhcnJheV9wdXNoKCRsYW5nY29kZXMsJGxhbmd1YWdlWydsYW5nY29kZSddKTsNCgkJCSR0cnVuY2F0ZWRbc3Vic3RyKCRsYW5ndWFnZVsnbGFuZ2NvZGUnXSwwLDIpXSA9ICRsYW5ndWFnZVsnbGFuZ2NvZGUnXTsNCgkJCWlmKCRsYW5ndWFnZVsnZGVmYXVsdF9pZCddID09ICRwYWdlaWQpCSRpc19ob21lcGFnZSA9IHRydWU7DQoJCX0NCiAgICAgICAgDQoJCSRjb29raWUgPSAoJGlzX2hvbWVwYWdlICYmICRwcmVmX2Nvb2tpZV9ob21lKSB8fCAkcHJlZl9jb29raWVfYWxsOw0KCQkkYnJvd3NlciA9ICgkaXNfaG9tZXBhZ2UgJiYgJHByZWZfYnJvd3Nlcl9ob21lKSB8fCAkcHJlZl9icm93c2VyX2FsbDsNCiAgICAgICAgDQoJCWlmKCEkY29va2llICYmICEkYnJvd3NlcikJcmV0dXJuIGZhbHNlOw0KDQoJCS8vIHJldHJpZXZlIHVzZXIgbGFuZ3VhZ2UgOg0KCQkkdXNybGFuZyA9IGZhbHNlOw0KICAgICAgICANCgkJaWYoaXNzZXQoJF9DT09LSUVbJ3VzcmxhbmcnXSkgJiYgJGNvb2tpZSAmJiBpbl9hcnJheSgkX0NPT0tJRVsndXNybGFuZyddLCAkbGFuZ2NvZGVzKSkNCiAgICB7DQoJCQkkdXNybGFuZyA9ICRfQ09PS0lFWyd1c3JsYW5nJ107DQoJCX0NCiAgICBlbHNlaWYoJGJyb3dzZXIpDQogICAgewkJCQ0KCQkJJGxhbmd1YWdlcyA9IHN0cnRvbG93ZXIoICRfU0VSVkVSWyJIVFRQX0FDQ0VQVF9MQU5HVUFHRSJdICk7DQoJCQkkbGFuZ3VhZ2VzID0gc3RyX3JlcGxhY2UoICcgJywgJycsICRsYW5ndWFnZXMgKTsNCgkJCSRsYW5ndWFnZXMgPSBleHBsb2RlKCAiLCIsICRsYW5ndWFnZXMgKTsNCgkJCSRsYW5ndWFnZSA9IHN1YnN0ciggJGxhbmd1YWdlc1swXSwgMCwgMiApOw0KICAgICAgICAgICAgDQoJCQlpZihpc3NldCgkdHJ1bmNhdGVkWyRsYW5ndWFnZV0pKQkkdXNybGFuZyA9ICR0cnVuY2F0ZWRbJGxhbmd1YWdlXTsNCgkJfQ0KDQoJCWlmKCR1c3JsYW5nICYmICgkcHJlZl9jb29raWVfYWxsIHx8ICRwcmVmX2Nvb2tpZV9ob21lKSApCXNldGNvb2tpZSgndXNybGFuZycsJHVzcmxhbmcsdGltZSgpKzg2NDAwKjM2NSwnLycpOw0KICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiAgICANCgkJaWYoJHVzcmxhbmcgJiYgJHVzcmxhbmcgIT0gJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUpDQogICAgew0KCQkJJGRlc3RwYWdlID0gJHRoaXMtPmdldF91cmxzKCR1c3JsYW5nKTsNCgkJCWlmKGlzc2V0KCRkZXN0cGFnZVskdXNybGFuZ10pKQloZWFkZXIoImxvY2F0aW9uOiAiIC4gJGRlc3RwYWdlWyR1c3JsYW5nXVsndXJsJ10gLiAkY29uZmlnWydwYWdlX2V4dGVuc2lvbiddKTsNCgkJfQkJDQoJfQ0KCQ0KCWZ1bmN0aW9uIGdldF91cmxzKCRkZXNpcmVkX2xhbmcgPSBmYWxzZSkNCiAgew0KCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGllcmFyY2h5X3JlZGlyZWN0JywgdHJ1ZSkpDQogICAgew0KCQkJcmV0dXJuICR0aGlzLT5oaWVyYXJjaHlfZ2V0X2xpbmtzKCRkZXNpcmVkX2xhbmcpOw0KCQl9DQogICAgZWxzZQ0KICAgIHsNCgkJCXJldHVybiAkdGhpcy0+bWFudWFsX2dldF9saW5rcygkZGVzaXJlZF9sYW5nKTsNCgkJfQ0KCX0NCgkNCglmdW5jdGlvbiBjbGVhbkhpZXIoJHZhbHVlKQ0KICB7DQoJCSRwYXJ0cyA9IGV4cGxvZGUoJy4nLCR2YWx1ZSk7DQoJCSRpID0gMDsNCiAgICAgICAgDQoJCXdoaWxlKGlzc2V0KCRwYXJ0c1skaV0pKQ0KICAgIHsNCgkJCSRwYXJ0c1skaV0gPSBzdHJfcGFkKCRwYXJ0c1skaV0sIDUsICIwIiwgU1RSX1BBRF9MRUZUKTsNCgkJCSRpKys7DQoJCX0NCiAgICAgICAgDQoJCXJldHVybiBpbXBsb2RlKCcuJywkcGFydHMpOw0KCX0NCiAgDQogIC8vIHJldHJpZXZlcyB0aGUgdXJsIHRvIHRoZSBwYWdlIGluIHRoZSBkZXNpcmVkIGxhbmd1YWdlKHMpIGVxdWl2YWxlbnQgdG8gdGhlIGN1cnJlbnQgcGFnZSwNCiAgLy8gYmFzZWQgb24gaGllcmFyY2h5DQogIC8vIGlmICRkZXNpcmVkX2xhbmcgaXMgZmFsc2UsIGxpbmtzIGZvciBhbGwgYWN0aXZlIGxhbmd1YWdlcyB3aWxsIGJlIHJldHVybmVkDQoJZnVuY3Rpb24gaGllcmFyY2h5X2dldF9saW5rcygkZGVzaXJlZF9sYW5nPWZhbHNlKQ0KICB7ICAgICANCgkJaWYoISR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzIHx8IGNvdW50KCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzKSA9PSAwKQlyZXR1cm4gZmFsc2U7DQogICAgICAgIA0KCQkkZ0NtcyA9IGNtc21zKCk7DQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7DQoJCSRiYXNlX3VybCA9ICR0aGlzLT5nZXRfYmFzZV91cmwoKTsNCgkJJGRlZmF1bHRfaGlkZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2hpZGUnLCBmYWxzZSk7DQoJCWlmKCRkZXNpcmVkX2xhbmcgJiYgaXNzZXQoJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXNbJGRlc2lyZWRfbGFuZ10pKQ0KICAgIHsNCgkJCSRsYW5ncyA9IGFycmF5KCRkZXNpcmVkX2xhbmc9PiR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzWyRkZXNpcmVkX2xhbmddKTsNCgkJfQ0KICAgIGVsc2UNCiAgICB7DQoJCQkkbGFuZ3MgPSAkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlczsNCgkJfQ0KICAgICAgICANCgkJJG1vZHVsZV9saW5rcyA9ICR0aGlzLT5tb2R1bGVfZ2V0X3VybCgpOw0KICAgICAgICANCgkJaWYoY291bnQoJG1vZHVsZV9saW5rcykgPT0gY291bnQoJGxhbmdzKSAmJiBpc3NldCgkbW9kdWxlX2xpbmtzWyRsYW5nWzBdWydsYW5nY29kZSddXSkpCXJldHVybiAkbW9kdWxlX2xpbmtzOw0KICAgICAgICANCgkJJGN1cnJlbnRfcG9zaXRpb24gPSBleHBsb2RlKCcuJywgY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKS0+Z2V0Q29udGVudE9iamVjdCgpLT5IaWVyYXJjaHkoKSk7DQoJCSRvdXRwdXQgPSBhcnJheSgpOw0KCQkkcm9vdGlkcyA9IGFycmF5KCk7DQoJCSRoaWVyYXJjaGllcyA9IGFycmF5KCk7DQoJCSR3aGVyZSA9ICIiOw0KCQkkcXVlcnlfdmFsdWVzID0gYXJyYXkoKTsNCgkJJGRlZmF1bHRfcGF0aHMgPSBhcnJheSgpOw0KICAgICAgICANCgkJZm9yZWFjaCgkbGFuZ3MgYXMgJG9uZWxhbmcpDQogICAgew0KCQkJJG91dHB1dFskb25lbGFuZ1snbGFuZ2NvZGUnXV0gPSBhcnJheSgnbWVudV90ZXh0Jz0+IiIsICduYW1lJz0+IiIsICd1cmwnPT4iIik7DQoJCQkkcm9vdGlkc1skb25lbGFuZ1sncm9vdF9pZCddXSA9ICRvbmVsYW5nWydsYW5nY29kZSddOw0KCQkJJHdoZXJlIC49ICgkd2hlcmUgPT0gIiI/IiI6IiBPUiAiKS4iY29udGVudF9pZD0/IjsNCgkJCWFycmF5X3B1c2goJHF1ZXJ5X3ZhbHVlcywgJG9uZWxhbmdbJ3Jvb3RfaWQnXSk7DQoJCX0NCiAgICAgICAgDQoJCSRxdWVyeSA9ICJTRUxFQ1QgY29udGVudF9uYW1lLCBtZW51X3RleHQsIGNvbnRlbnRfaWQsIGhpZXJhcmNoeSwgaGllcmFyY2h5X3BhdGggRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImNvbnRlbnQgV0hFUkUgKCIgLiAkd2hlcmUgLiAiKSI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICRxdWVyeV92YWx1ZXMpOw0KCQkkcXVlcnlfdmFsdWVzID0gYXJyYXkoKTsNCgkJJHdoZXJlID0gIiI7DQoJCSRuZXdwYXRocyA9IGFycmF5KCk7DQogICAgICAgIA0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkNCiAgICB7DQoJCQkkcG9zaXRpb24gPSBleHBsb2RlKCcuJywgJHJvd1snaGllcmFyY2h5J10pOw0KCQkJJG5ld3Bvc2l0aW9uID0gJGN1cnJlbnRfcG9zaXRpb247DQoJCQkkbmV3cG9zaXRpb25bMF0gPSAkcG9zaXRpb25bMF07DQoJCQkkbmV3X2hpZXJhcmNoeSA9ICR0aGlzLT5jbGVhbkhpZXIoaW1wbG9kZSgnLicsICRuZXdwb3NpdGlvbikpOw0KCQkJJGhpZXJhcmNoaWVzWyRyb290aWRzWyRyb3dbJ2NvbnRlbnRfaWQnXV1dID0gJG5ld19oaWVyYXJjaHk7DQoJCQlhcnJheV9wdXNoKCRxdWVyeV92YWx1ZXMsJG5ld19oaWVyYXJjaHkpOw0KCQkJJG5ld3BhdGhzWyRuZXdfaGllcmFyY2h5XSA9ICRyb290aWRzWyRyb3dbJ2NvbnRlbnRfaWQnXV07DQoJCQkkZGVmYXVsdF9wYXRoc1skcm9vdGlkc1skcm93Wydjb250ZW50X2lkJ11dXSA9IGFycmF5KCJ1cmwiPT4kYmFzZV91cmwuJHJvd1siaGllcmFyY2h5X3BhdGgiXSwgIm5hbWUiPT4kcm93WyJjb250ZW50X25hbWUiXSwgIm1lbnVfdGV4dCI9PiRyb3dbIm1lbnVfdGV4dCJdKTsNCgkJCSR3aGVyZSAuPSAoJHdoZXJlID09ICIiPyIiOiIgT1IgIikuImhpZXJhcmNoeT0/IjsNCgkJfQ0KICAgICAgICANCgkJJHF1ZXJ5ID0gIlNFTEVDVCBjb250ZW50X2lkLCBjb250ZW50X25hbWUsIG1lbnVfdGV4dCwgaGllcmFyY2h5LCBoaWVyYXJjaHlfcGF0aCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJjb250ZW50IFdIRVJFICgiIC4gJHdoZXJlIC4gIikiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkcXVlcnlfdmFsdWVzKTsNCgkJJHJlZGlyZWN0aW9uID0gJHRoaXMtPmdldF91cmx0eXBlKCk7DQogICAgDQogICAgJGRlZmF1bHRfcGFnZV9pZCA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCktPkdldERlZmF1bHRQYWdlSUQoKTsNCiAgICAgICAgDQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQ0KICAgIHsNCg0KCQkJaWYoJHJlZGlyZWN0aW9uID09ICdpbnRlcm5hbCcgfHwgJHJlZGlyZWN0aW9uID09ICdtb2RfcmV3cml0ZScpDQogICAgICB7DQoJCQkJJHVybCA9ICRiYXNlX3VybDsNCiAgICAgICAgaWYoJHJvd1snY29udGVudF9pZCddICE9ICRkZWZhdWx0X3BhZ2VfaWQpDQogICAgICAgIHsNCiAgICAgICAgICAkdXJsIC49ICAkcm93WydoaWVyYXJjaHlfcGF0aCddOyANCiAgICAgICAgfQ0KCQkJfQ0KICAgICAgZWxzZQ0KICAgICAgew0KCQkJCSRwYXRocGFydHMgPSBleHBsb2RlKCcvJywkcm93WydoaWVyYXJjaHlfcGF0aCddKTsNCgkJCQkkdXJsID0gJGJhc2VfdXJsLiRwYXRocGFydHNbY291bnQoJHBhdGhwYXJ0cyktMV07DQoJCQl9DQogICAgICANCgkJCSRvdXRwdXRbJG5ld3BhdGhzWyRyb3dbImhpZXJhcmNoeSJdXV0gPSBhcnJheSgidXJsIj0+JHVybCwgIm5hbWUiPT4kcm93WyJjb250ZW50X25hbWUiXSwgIm1lbnVfdGV4dCI9PiRyb3dbIm1lbnVfdGV4dCJdKTsNCgkJfQ0KICAgICAgICANCgkJJGZpbmFsID0gYXJyYXkoKTsNCiAgICAgICAgDQoJCWZvcmVhY2goJG91dHB1dCBhcyAkbGFuZz0+JHZhbHVlKQ0KICAgIHsNCgkJCWlmKGlzc2V0KCRtb2R1bGVfbGlua3NbJGxhbmddKSkNCiAgICAgIHsNCgkJCQkkdmFsdWVbInVybCJdID0gJG1vZHVsZV9saW5rc1skbGFuZ11bInVybCJdOw0KCQkJCSR2YWx1ZVsibmFtZSJdID0gJG1vZHVsZV9saW5rc1skbGFuZ11bIm5hbWUiXTsNCgkJCX0NCiAgICAgICAgICAgIA0KCQkJaWYoJHZhbHVlWyJ1cmwiXSA9PSAiIiAmJiAkZGVmYXVsdF9oaWRlKQ0KICAgICAgew0KCQkJfQ0KICAgICAgZWxzZWlmKCR2YWx1ZVsidXJsIl0gPT0gIiIpDQogICAgICB7DQoJCQkJJGZpbmFsWyRsYW5nXSA9ICRkZWZhdWx0X3BhdGhzWyRsYW5nXTsNCgkJCX0NCiAgICAgIGVsc2UNCiAgICAgIHsNCgkJCQkkZmluYWxbJGxhbmddID0gJHZhbHVlOw0KCQkJfQ0KCQl9DQogICAgICAgIA0KCQlyZXR1cm4gJGZpbmFsOw0KCX0NCgkNCiAgLy8gcmV0cmlldmVzIHRoZSB1cmwgdG8gdGhlIHBhZ2UgaW4gdGhlIGRlc2lyZWQgbGFuZ3VhZ2UocykgZXF1aXZhbGVudCB0byB0aGUgY3VycmVudCBwYWdlLA0KICAvLyBiYXNlZCBvbiBNYXJjb3MgQ3J1eiBtYW51YWwgcHJvY2VkdXJlIChzZWUgaGVscCkNCiAgLy8gaWYgJGRlc2lyZWRfbGFuZyBpcyBmYWxzZSwgbGlua3MgZm9yIGFsbCBhY3RpdmUgbGFuZ3VhZ2VzIHdpbGwgYmUgcmV0dXJuZWQJDQoJZnVuY3Rpb24gbWFudWFsX2dldF9saW5rcygkZGVzaXJlZF9sYW5nPWZhbHNlKQ0KICB7DQoNCgkJaWYoISR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzIHx8IGNvdW50KCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzKSA9PSAwKQlyZXR1cm4gZmFsc2U7DQogICAgICAgIA0KCQkkZ0NtcyA9IGNtc21zKCk7DQogICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOyAgICANCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkJJGJhc2VfdXJsID0gJHRoaXMtPmdldF9iYXNlX3VybCgpOw0KCQkNCiAgICBpZigkZGVzaXJlZF9sYW5nICYmIGlzc2V0KCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzWyRkZXNpcmVkX2xhbmddKSkNCiAgICB7DQoJCQkkbGFuZ3MgPSBhcnJheSgkZGVzaXJlZF9sYW5nPT4kdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlc1skZGVzaXJlZF9sYW5nXSk7DQoJCX0NCiAgICBlbHNlDQogICAgew0KCQkJJGxhbmdzID0gJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXM7DQoJCX0NCiAgICAgICAgDQoJCSRtb2R1bGVfbGlua3MgPSAkdGhpcy0+bW9kdWxlX2dldF91cmwoKTsNCgkJaWYoY291bnQoJG1vZHVsZV9saW5rcykgPT0gY291bnQoJGxhbmdzKSAmJiBpc3NldCgkbW9kdWxlX2xpbmtzWyRsYW5nWzBdWydsYW5nY29kZSddXSkpCXJldHVybiAkbW9kdWxlX2xpbmtzOw0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCiAgICAgICAgDQoJCWZvcmVhY2goJGxhbmdzIGFzICRvbmVsYW5nKQ0KICAgIHsNCgkJCSRvdXRwdXRbJG9uZWxhbmdbJ2xhbmdjb2RlJ11dID0gZmFsc2U7DQoJCX0NCiAgICAgICAgDQoJCSRidG5fdGV4dCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ1c2VfcGFnZV90aXRsZSIsZmFsc2UpPyIiOiRuZXdsYW5nWydtZW51X25hbWUnXTsNCg0KCQkvLyB3ZSByZXRyaWV2ZSB0aGUgYWx0ZXJuYXRpdmVzIGZyb20gdGhlIGNvbnRlbnQgYmxvY2sNCgkJJG90aGVyX2xhbmd1YWdlcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdvdGhlcl9sYW5ndWFnZXMnKTsNCgkJJGFsdGVybmF0aXZlcyA9IGFycmF5KCk7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCSR3aGVyZSA9ICIiOw0KICAgICAgICANCgkJZm9yZWFjaCAoIGV4cGxvZGUoJzsnLCAkb3RoZXJfbGFuZ3VhZ2VzKSBhcyAkb25lbGFuZyApDQogICAgew0KCQkJJHBhcnRzID0gZXhwbG9kZSgnPScsJG9uZWxhbmcpOw0KCQkJaWYoY291bnQoJHBhcnRzKT09MikNCiAgICAgIHsNCgkJCQkkd2hlcmUgLj0gKCR3aGVyZT09IiI/IiI6IiBPUiAiKS4iY29udGVudF9hbGlhcz0/IjsNCgkJCQkkYWx0ZXJuYXRpdmVzWyRwYXJ0c1sxXV0gPSAkcGFydHNbMF07DQoJCQkJYXJyYXlfcHVzaCgkd2hlcmV2YWx1ZXMsICRwYXJ0c1sxXSk7DQoJCQl9DQoJCX0NCiAgICAgICAgDQoJCSRxdWVyeSA9ICJTRUxFQ1QgbWVudV90ZXh0LCBjb250ZW50X25hbWUsIGNvbnRlbnRfYWxpYXMsIGhpZXJhcmNoeV9wYXRoIEZST00gIi5jbXNfZGJfcHJlZml4KCkuImNvbnRlbnQgV0hFUkUgKCIuJHdoZXJlLiIpIjsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHdoZXJldmFsdWVzKTsNCiAgICAgICAgDQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQ0KICAgIHsNCgkJCSRvdXRwdXRbJGFsdGVybmF0aXZlc1skcm93WyJjb250ZW50X2FsaWFzIl1dXSA9IGFycmF5KCJ1cmwiPT4kYmFzZV91cmwuJHJvd1siaGllcmFyY2h5X3BhdGgiXSwgIm5hbWUiPT4kcm93WyJjb250ZW50X25hbWUiXSwgIm1lbnVfdGV4dCI9PiRyb3dbIm1lbnVfdGV4dCJdKTsNCgkJfQ0KICAgICAgICANCgkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfaGlkZScsIGZhbHNlKSkJcmV0dXJuICRvdXRwdXQ7DQoNCgkJLy8gd2UgY2hlY2sgZm9yIGRlZmF1bHQgYWx0ZXJuYXRpdmVzDQoJCSR3aGVyZSA9ICIiOw0KCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOw0KCQkkaWR0b2xhbmcgPSBhcnJheSgpOw0KICAgICAgICANCgkJZm9yZWFjaCgkb3V0cHV0IGFzICRsYW5nPT4kcGF0aCkNCiAgICB7DQoJCQlpZighJHBhdGgpDQogICAgICB7DQoJCQkJJHdoZXJlIC49ICgkd2hlcmU9PSIiPyIiOiIgT1IgIikuImNvbnRlbnRfaWQ9PyI7DQoJCQkJYXJyYXlfcHVzaCgkd2hlcmV2YWx1ZXMsICRsYW5nc1skbGFuZ11bJ2RlZmF1bHRfaWQnXSk7DQoJCQkJJGlkdG9sYW5nWyRsYW5nc1skbGFuZ11bJ2RlZmF1bHRfaWQnXV0gPSAkbGFuZzsNCgkJCX0NCgkJfQ0KICAgICAgICANCgkJaWYoJHdoZXJlID09ICIiKQlyZXR1cm4gJG91dHB1dDsNCgkJDQoJCSRxdWVyeSA9ICJTRUxFQ1QgbWVudV90ZXh0LCBjb250ZW50X25hbWUsIGNvbnRlbnRfaWQsIGhpZXJhcmNoeSwgaGllcmFyY2h5X3BhdGggRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImNvbnRlbnQgV0hFUkUgKCIgLiAkd2hlcmUgLiAiKSI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR3aGVyZXZhbHVlcyk7DQogICAgICAgIA0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkNCiAgICB7DQoJCQkkb3V0cHV0WyRpZHRvbGFuZ1skcm93WyJjb250ZW50X2lkIl1dXSA9IGFycmF5KCJ1cmwiPT4kYmFzZV91cmwuJHJvd1siaGllcmFyY2h5X3BhdGgiXSwgIm5hbWUiPT4kcm93WyJjb250ZW50X25hbWUiXSwgIm1lbnVfdGV4dCI9PiRyb3dbIm1lbnVfdGV4dCJdKTsNCgkJfQ0KCQlyZXR1cm4gJG91dHB1dDsNCgl9DQoNCglmdW5jdGlvbiBnZXRfdXJsdHlwZSgpDQogIHsNCiAgICAkZ0NtcyA9IGNtc21zKCk7DQogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KICAgICAgICANCgkJJHJlZGlyZWN0aW9uID0gZmFsc2U7DQoJCWlmKGlzc2V0KCRjb25maWdbInVybF9yZXdyaXRpbmciXSkpDQogICAgew0KCQkJLy8gY29yZSAxLjYgb3IgbW9yZQ0KCQkJJHJlZGlyZWN0aW9uID0gJGNvbmZpZ1sidXJsX3Jld3JpdGluZyJdOw0KCQl9DQogICAgZWxzZQ0KICAgIHsNCgkJCS8vIGNvcmUgYmVsb3cgMS42DQoJCQlpZigkY29uZmlnWyJhc3N1bWVfbW9kX3Jld3JpdGUiXSkNCiAgICAgIHsNCgkJCQkkcmVkaXJlY3Rpb24gPSAibW9kX3Jld3JpdGUiOw0KCQkJfQ0KICAgICAgZWxzZWlmKCEkY29uZmlnWyJhc3N1bWVfbW9kX3Jld3JpdGUiXSAmJiAkY29uZmlnWyJpbnRlcm5hbF9wcmV0dHlfdXJscyJdKQ0KICAgICAgew0KCQkJCSRyZWRpcmVjdGlvbiA9ICJpbnRlcm5hbCI7DQoJCQl9DQoJCX0NCiAgICAgICAgCQkNCgkJcmV0dXJuICRyZWRpcmVjdGlvbjsNCgl9DQoNCglmdW5jdGlvbiBnZXRfYmFzZV91cmwoKQ0KICB7DQoJCSRnQ21zID0gY21zbXMoKTsNCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7ICAgIA0KCQkkcmVkaXJlY3Rpb24gPSAkdGhpcy0+Z2V0X3VybHR5cGUoKTsNCgkJJGJhc2V1cmwgPSAkY29uZmlnWydyb290X3VybCddOw0KICAgICAgICANCgkJaWYoJHJlZGlyZWN0aW9uID09ICJtb2RfcmV3cml0ZSIpDQogICAgew0KCQkJJGJhc2V1cmwgLj0gJy8nOw0KCQl9DQogICAgZWxzZWlmKCRyZWRpcmVjdGlvbiA9PSAiaW50ZXJuYWwiKQ0KICAgIHsNCgkJCSRiYXNldXJsIC49ICcvaW5kZXgucGhwLyc7DQoJCX0NCiAgICBlbHNlDQogICAgew0KCQkJJGJhc2V1cmwgLj0gJy9pbmRleC5waHA/Jy4kY29uZmlnWydxdWVyeV92YXInXS4nPSc7DQoJCX0NCiAgICAgICAgDQoJCXJldHVybiAkYmFzZXVybDsNCgl9DQoJDQoJZnVuY3Rpb24gbW9kdWxlX2dldF91cmwoKQ0KICB7DQoJCXJldHVybiBhcnJheSgpOw0KCQkvLyBldmVudHVhbGx5LCBzb21lIGN1c3RvbSBjb2RlIGhlcmUgY2FuIGNoZWNrIGlmIHdlIGFyZSBpbiBhIG1vZHVsZSBhY3Rpb24NCgkJLy8gYW5kIHJldHJpZXZlIGxhbmd1YWdlIGxpbmtzIGZyb20gdGhlIG1vZHVsZQ0KCX0NCgkNCn0NCj8+]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/images/pp_button.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAJYAAAAZCAYAAADT59fvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAABIgSURBVHja7FtpsGVVdf7W2nufe++599zp3Tf0iDTGspyCE5iYQEAraiqCiTFKMEqp0ASJjUNAUSEhiKBBItIgkwPGxMJobFJliEaNUSsRKKEMFQWTboGmm+43vzufc/Za+XHvfXM/upumlZJd9ar6vXPOHr/1rbW+tdtu2LABazVVRSYTIMxlQALsm5hCIZdFO4kR5vNot9rHDFWrp4v4U4noeAA1AIyn269a66jqfd6nNxhnv2wPtxcm2pLNZN6TDYK3ABIREVS1Q0TTANKn9/lXroVEdIpzwSmi8tbDApbLBFtzhfxfMdGoqja9l1uNMXdMTk79sBhFjSDjVFWf9JUQrfY3hog8JU+G+ak5dyJCnKTGsvljMG4m0IUHDywFRLU0VK1ca615CzHDi9w8PTP78Ww287N8GOJogGnQvCjE+yXoIgDtThP5MAdm05v0U6SJCJrNFgqFPIjoKQUwEUG73QYR31rIh5cT0ZZDYawRMny7JT459emubqt9XjaXvfNobQD1YZKkHkQEL4okTkCLgUWE2dk5ZDNZMAOiANNK61puAKv9bTWrPNA7az8DVnskqoD2viUCRAUPPbwbYZjDcG0IhUIegC75trdWhf6S2UvqPYgJTLQFQJWIHrHMa8fZaZpCgQKYvwTFyVD8p0/9mc1Wa1cuzB0VmlVVpF6QeoGowhoDAmrMzIvdIYFgrUkBtAB0RBQCgJnABHgRdLsx8rkcFAoFQVUAERhjeuDQlT7W+xTdOEE+DKHiVzxvtlrIZDIw8yxJ84lPmnowM5gJwMJaehhRGGPm12mtCVqtVrx7dwdRMcL6dWPz3akqkjQFE8MY/oW6TWaeN24RBbNFLmtgjXkHEYI4Se60s7Ozax5qpVJGxgVXE+gUhd4FkdMATNBqAc4RnryKIElSxEkK1d55MjMION05+xlnjRsc4oDWRoIRIaI9Cr0ZwDU9qlYQM1Lve+4mF/YYg4DUC36+6+dYt24MURRBRVbEbj71aLbayId5QHuABBGYCFPT0+h0OqjVqmAyACmgBFBv3CT1ADyYCYELVmObsgKnM5kXbznmmMuZaH+z1UKQzUC1T3d9RvNeMDU7g3a7heHhGqJCYd4VHS1AAcBcvY5Ws93bQwBhPodCvvAiQN8FUMd7+bSdm5tbs7OxsZE/CZw7R0QeU5EzoJh4MmOpAWDr9QYmJifRarWXLOzYY5+xyTm7XVWrq4Gber6vBNAnmPEtQH+si2Kt5d8QgCRJ0Gy2EEXFx53XggyzIMesZWQDV7h8y4joBUR0NhGdxsybW+3WGa1WZ7+qotvtYjifW+FiB+M0my00mw8jigoYGqoeFYARE+bm5jA+MYVWq7XsaSlfKZdu9Knkxculxpj77cjIyKralaqCmZ/JzJ8kIqRe3tntdncyM+I4BhH16f3IgkpUsWfPXszN1ZccWv/fzMzbAQzENwHwE1XNE9Hm5fqZpGmGCDCWMQDXWnHS4+l5h9N0WR/MBBCvZ6J/BrCZiNBoNC6Ok+RLYT6PZqMBJoKukngsB1m93kC93nhSATbYlyTxaDbbCIIA2Wx2HvREhGJUuFwFLyHm7yZpchUA2KGhoVUoj0DEjoAbAa3V6/XrZmfrX/XSD5y9h4ggk8ng8WK0Q6HYOE4QJymiqIhisbQM6IJ8PrzAGvNaXaCLy5nNFRNTEyYMw0tyudxFg8V673/6yO5H769UKiiXIwAoGGNemc+Hv6m9A3Ug2g3g7wDcvejQhgFsBWABdKC41RjzrHwYvg7QY0E8C6JrSHE/AKgoiMgCeAURXg7QMSAUAQgzTTtj707S9HMAugA2AXgbEb0CwOb+2tqZjBvO5nK/Z4z9eqvRBBEZAL8N4HeI6JkA8kw8Ezi+W0Q+C6C9GGQDgIVhDrWhIRSL0RPO0FeEIgBK5fLSd4yBNeZ0a/iCNPVTk1OTW5Mk7RIR7IMPPrjCKoZrFYyOjL7fi55qDN87Mzt38fT09IrBgyBAGIZPGFCDjellfCvZIwxDFAr5E6yxly18a76Tev8REYlzYR7WmtximlDV62rDtXaYzQUi2MpM51s2z3KLZBECYIw5Y6Q2/NJsmHuoF1/RJwGc0e/pYQVOMda+Mu8caz/QU+h+VXwAALK57GsyQfCX1toTela81NqdNW83hnd6L98kopsAvJqWMkKOyJ4/OTn1hVKpiFyYfV3RFi601v5GL21c0OeM4bOKUVQzxlx2oLS/041RUO2x3mGA60ChyOIz6XszbNly7EZDdIOqQlTfvX//+AODd+wBej8ZRB8G0IqT5JwwDOurdZ7P55EkCYLAHbK76LmAJiYmJ1GvN9Z81xgTDdeGbkzTNN/XeCb37d9/rvc+zufziKLo1wnytsH4zHxPu9nd3u12n1eKip8WlZf3u3pEVXcCOAFATnsHMDw6NrI+Sf1DqvoOYjpj0dAbmLBZF62NiFS9fHPPnscwNjqyLSoU/rb3TBtpmt7KzPcT8KcgOqn/QZOJf0LMZ0P1VcuW1gWQpt6/1Tn3P9aYz2YzwVmqgIr+RKGfJ8IwQO8GwCKCfCF/TJjPP47GJwAJDiXBGoBFVLHn0b2Yq68MRRa/S0TMRNvBWAfF55j5ttHRUUjPOGGPO+64JYgnoqqz5ibvxaWpv7Dd6dzjnEN5GQ0OWqPR6KXhUOTzIYzhgwKVF8HDj+yG9/6AG0BEqJTLKEaFK0Xk+IGkoJq+e//+/Q/2F5kplYrXiUdhkP1Pz8y+2Vrz0mqlskNU1vXBeJWofoyJp4jwXwBO7I/xUJr6+1T12cbwxxdF9d/3qVwq4tcHQfAF7WdnXuSLnU732+12C0y4S1Rfl6Z+c7fTuTsXuntB9CKAi72yF2Ou0bh+bm5ud1Qo/KhUjB4R1c19Hesfmc1lXtKWszxTKZe/oSoniShU9DNQ/DlIWwBeCKIL5g/Vy53yeJqb9qNNOjgDj+MEc3N11GpD6LQ7ABE2bdp0QACqCsIwt80Yc5qk8oAXeS+IUK1W59+zU1NT8wNUKxVYa64homelqd+xc9eua9M0XfXgRQRBEKBSKSObDQDtAWsQ+B+MhYj3azKdAhgdGfkja815vm8J3W73s3Eaf6EQFRC4AKVSdBVUf2uhJOLPA2k7m818zxgz3NN/kg+S4golhkKPJ6LnDtbcbXc+2u52O6VS6RZAB9bz76rp6amXOSbePu9+wTvn6rPvCTIBhoaqGS/StooqM23Mhdk3GubnqqK8CJw/arWaf62SgInOBNHmvq/c5dP0nXv3P7bfBc6MjQ5/Q0ROGiybiEogXA8Qg/ASAKbf4fe9yo41NnUhRj6UxEoXzkChyGQySNMUzWZzpZcKc4gK0UuNMZcbY+LHxvedMzE5ObUcI3ZiYmL+l2q5/FYieosCjyrwTlWVnjK8zL8SYWi4hmq1gkzg4L0cliscGRmGFz0g8CzzM5TwqYGFeu/vTUXOD2yAYlREMSpc4pzbJiJgZtTr9SuMtbeVisUfqupwXxX+2q5dP79ibGwdwjAsENENQI/dVGRHs92+0Vp3OTO9XHpz2Zsm6VmP7n10bmxs7I2ZTHBen8nTVPw5zVZrPJvLvn2oWt0G4PkKBRPV09TfCRCYqO92qRHHydahobDubPn10MwFvXlSEneTc7txsj+VFKVc9BEondrPH0VVmwD+YEFlRUxEdQCNbhxfICLxgfbUWgNnzRNOpqy1aLfbmJmZWfnMIKrVhm5KUx96kQ97kf9Y7dxtz8UpgiB4NvfYCqp6HjM/umXLlhUsRQQYZrjAQkXnQXVIKXgfnMPDNSSprAAkE4GYjWO+3quM9X160o271zuX2eiseX7JmrOY+fcHoJqdmb1yYmr6g5s3b9wK1RMG4QYpLl2/fgT5MD8sojcT4WV9XeZ7SZy8OYqiU4MgeL+Ih2Gj3SQ5f3pm9qFMJrfFOXftIM5oNBofBfG3hqqVTwfObe3v049F5f1xN/mXmZnpF4yOjn51vlKQph9Kvb8noOxmEfMpQIiItNlsXWaM/UbgHDasW/885+w20YFh+vd24vRWBpExXFHAE8E3my1jreuoYgKryCbWGjjnYM2Rua0kIigWI3S7nSXBe6VcRiGKrhTR44n436ZnZq5yzmE1ycpWq1UQIRPmsjcCVKnXG9c0mo07FpclRASZIEClWobpZ3Lin5hW0tPGPHbt3NWrNS0KEiuVCtaNjb7Pq7xmERhtmAuvVtVAVbPMpldjE9mnoIubrdZnhqplOGtfP9BxVJWMNWdGQfQqEX0bMz27//cv1+ca5zjngmzG3SLiDRNjdm5ue7vT+Wo2l7XFqHCDqo5or4T0PVVcmg3ce1zgtvaDdUmS5KJ6o/mDaqWybXRs9AMEGu33v+PhRx65duPGjURs/gbAusEyjDXPtNadlqbpHYD+IYDsgkOiRsa5YQadRkxnKEEN80/HxycuEcFEtVqB9x6D7NQaRuAcbJ+ljpRwLSKIogitVgvNZmveyw7CksT78cmJyXNb7XayButZGMMfENGTDNPdM7OzH15MgUSEarWCqFg47BT28dhrecbBTK9g4iu9+qUxqWqR+nK2qjRFcPvU9MyVURQ9GEURgiAgEYkXKdYM4EKReVe+M0nSqyanpm5qNptm08aN/0REx6oqwLi30WxcHAQZRIXCJar6uz09TGb2TY6fXa1WmJkvmo9FFOyc+1q5XGoAWiaQ6SUWOrX3sX3bwjDUTCY4SUXesGht7Fxw5sT4xNVeBFGhkA+CoJdlAQTim4l61UHtlaLuAfR2gPYCMr9X1ponBVDLwQUQhqpVGGYQ03FKuE6hUNVt+8fH/29Nd+q9f17g7EWq2vSiW4vFYtNa16vLEaFSKSEIAojIEV1AnwmwcdNGNFvt+QSGiIJKufQmL/4eLL0wSCA009TvipPkx4boX8H8gIggTT327N2LNPVayIcf2rRpQxagF6sqE2hGofeKyNeNoa8AmFRVjI6OnJzJBJtU9S4AcbcTX1CtDtWDwG2B6kkA7uqFYX77+MTEA1EU2SBwOwC8QUSImfYpcBcR/b2qnkpEJ4PA3U78lU63+9BwrQYV7QD6v6oYAeCZeY9PkqvHx8f/W3su/5ZiMXqOqr5MVAMiEiJ6DNAfxnH6tUazeUetNiQi/eK7tcgETy6glkkKGB4eQsYGNSV8UVRHkyS9MU7Sf6hUKvPSwqrAMobPBZAF0UdVcW8URSgWiyBSUB+53vsnbfJhmEPgHNqdLuIkAROlIHqXQpNlFREiUJqkKZqtVq980dderGVksxnMzdUxV6/fJyKvBHFlamqaS1HUsdY00zSFsa7/vgMR/0ChJypUoJA4ScQ5C0B2K/AqAL4/x5SNgRdJRfQcABftfWwfj47UWsbYdv/ywTf7JRhK0iQpRhHCMIQXucswXtBqtfPduOuHa0MtiHaNMYMC7s8M0WvHp2dKrU7HhdlsUqsNdUTSrqrOu72oGIEBZDPuoLPuI3U+3sux3ugXVfVEAN+Jk/R9cRyjVCqtnQAEzr1aROJWu31LT013cM5B5Shd+lGFcxbOWcRxgm43FkDbBxJhiKiXPNje4VTKJTATNm/aiEajicnp6b61YXrpdz1hhxkIwyyYqLs8o+prcPHSRIKxYf3YvAgMLOu395MOdsswI5fLgmneKtr9n968mLBp0wYEQYAkTtAP3GdXxiiMfD4EVFAuRkf1FsOC0YevMdZsB+FYqH4Xqm8C0DiYi4hWVdcDmFLRncYaOGtxtG+SDSywB2q7JggzgUPgimBmGF0o1aoqoqiAfD4P1V72OlQtz1N1ENj+xTqg0Nfb0IttAAIygUP/itQCpFVhLCMK8pBFhrZubGRRjXShPARV5HKLCrTzJakswjALEQE7g0JQgKrCOYfUe1QqJZS12L856gEQjDHIh/aoMtSiUtuvEdFfRIX82SqCNElvY8K7iGn2oCULADuJ6Dn5MHx76v3tROT1F3RF8WDHPdCNzYEVDcB0IP+/liC7eiCrq9Y4D3YdS+ahGLDUkufcj9qPxI2Kw0vSqQDgxGwmc1qYzb6JiPLe+31pklw6PTN342itekgXva1CP8bEnwfjFsf2KlW0DqoW8HQ7skb1ixpXARc4W61WKqqaNYYhonVV3T4zM/OJjHU7D0tkBeG2JIlbxtg/I6IXovf/Ap9uv1pNiGifqt5HZL49PTO1IxfmHpInwJj/PwA5xrq/dBP+BAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiRsYW5nWyJmcmllbmRseW5hbWUiXSA9ICJFcmlkdTogTXVsdGlsaW5ndWFsIENvbnRlbnQiOw0KJGxhbmdbIm1vZGRlc2NyaXB0aW9uIl0gPSAiQWxsb3dzIHRoZSBtYW5hZ2VtZW50IG9mIChhbmQgbmF2aWdhdGlvbiB0aHJvdWdoKSBtdWx0aXBsZSBsYW5ndWFnZXMgZm9yIHRoZSBmcm9udGVuZC4iOw0KJGxhbmdbImFkbWluZGVzY3JpcHRpb24iXSA9ICJNYW5hZ2UgZnJvbnRlbmQgbGFuZ3VhZ2VzIGFuZCBtdWx0aWxpbmd1YWwgYmVoYXZpb3JzLiI7DQoNCiRsYW5nWyJhY3RpdmUiXSA9ICJBY3RpdmUiOw0KDQokbGFuZ1sibGFuZ3VhZ2UiXSA9ICJMYW5ndWFnZSI7DQokbGFuZ1sibGFuZ3VhZ2VzIl0gPSAiTGFuZ3VhZ2VzIjsNCiRsYW5nWyJhZGRfbGFuZ3VhZ2UiXSA9ICJBZGQgbGFuZ3VhZ2UiOw0KJGxhbmdbImFkZF9lbnRyeSJdID0gIkFkZCBhIG5ldyBsYW5ndWFnZSBlbnRyeSI7DQokbGFuZ1siZW50cnkiXSA9ICJMYW5ndWFnZSBlbnRyeSI7DQokbGFuZ1siZWRpdF9sYW5ndWFnZSJdID0gIkVkaXQgbGFuZ3VhZ2UiOw0KJGxhbmdbIm5hbWUiXSA9ICJOYW1lIjsNCiRsYW5nWyJlbnRyeW5hbWUiXSA9ICJFbnRyeSBuYW1lICh1c2VkIHRvIGNhbGwgdGhpcyBsYW5ndWFnZSBlbnRyeSkiOw0KJGxhbmdbIm1lbnVfbmFtZSJdID0gIk1lbnUgbmFtZSI7DQokbGFuZ1sibGFuZ2NvZGUiXSA9ICJMYW5ndWFnZSBjb2RlIjsNCiRsYW5nWyJsYW5nY29kZV9wcm9tcHQiXSA9ICJMYW5ndWFnZSBjb2RlIChlZzogZW5fVVMgKSI7DQokbGFuZ1sicm9vdF9pZCJdID0gIlJvb3QgcGFnZSBhc3NvY2lhdGVkIHdpdGggdGhlIGxhbmd1YWdlIjsNCiRsYW5nWyJkZWZhdWx0X2lkIl0gPSAiRGVmYXVsdCBwYWdlIGZvciByZWRpcmVjdGlvbiB0byB0aGlzIGxhbmd1YWdlIjsNCiRsYW5nWyJsYW5nc2VsZWN0Il0gPSAiKG9wdGlvbmFsKSBBdXRvLWZpbGwgZm9yIHRoZSBmb2xsb3dpbmcgbGFuZ3VhZ2U6IjsNCiRsYW5nWyJpc2RlZmF1bHQiXSA9ICJEZWZhdWx0PyI7DQokbGFuZ1siYWN0aW9ucyJdID0gIkFjdGlvbnMiOw0KJGxhbmdbImFjdGl2ZSJdID0gIkFjdGl2ZSI7DQokbGFuZ1sicHJvbXB0X2RlbGV0ZWxhbmd1YWdlIl0gPSAiUmVhbGx5IGRlbGV0ZSB0aGlzIGxhbmd1YWdlICglcyk/IjsNCiRsYW5nWyJwcm9tcHRfZGVsZXRlZW50cnkiXSA9ICJSZWFsbHkgZGVsZXRlIHRoaXMgZW50cnk/IjsNCiRsYW5nWyJkZWxldGVfZW50cnkiXSA9ICJEZWxldGUgdGhpcyBlbnRyeSI7DQoNCiRsYW5nWyJzdWJtaXQiXSA9ICJTdWJtaXQiOw0KJGxhbmdbImNhbmNlbCJdID0gIkNhbmNlbCI7DQokbGFuZ1siYXBwbHkiXSA9ICJBcHBseSI7DQoNCiRsYW5nWyJlZGl0X2VudHJpZXMiXSA9ICJFZGl0IGxhbmd1YWdlIGVudHJpZXMiOw0KDQoNCg0KDQokbGFuZ1sidGVtcGxhdGVoZWxwIl0gPSAnPHVsPg0KPGxpPiRsYW5ndWFnZXMgKGFycmF5IG9mICRsYW5ndWFnZSk8L2xpPg0KPGxpPiRsYW5ndWFnZS0mZ3Q7bmFtZTwvbGk+DQo8bGk+JGxhbmd1YWdlLSZndDtjb2RlPC9saT4NCjxsaT4kbGFuZ3VhZ2UtJmd0O21lbnVfbmFtZTwvbGk+DQo8bGk+JGxhbmd1YWdlLSZndDtwYWdlX25hbWU8L2xpPg0KPGxpPiRsYW5ndWFnZS0mZ3Q7cGFnZV9tZW51X3RleHQ8L2xpPg0KPGxpPiRsYW5ndWFnZS0mZ3Q7dXJsPC9saT4NCjxsaT4kbGFuZ3VhZ2UtJmd0O2lzX2N1cnJlbnQ8L2xpPg0KPC91bD4nOw0KCQ0KLy8gR0VORVJBTA0KJGxhbmdbImFjdGl2YXRlIl0gPSAiQWN0aXZhdGUiOw0KJGxhbmdbInVuYWN0aXZhdGUiXSA9ICJUdXJuIG9mZiI7DQokbGFuZ1sic2VhcmNodGhpc3RhYmxlIl0gPSAiU2VhcmNoIHRoaXMgdGFibGUgZm9yOiI7DQokbGFuZ1siWWVzIl0gPSAiWWVzIjsNCiRsYW5nWyJObyJdID0gIk5vIjsNCiRsYW5nWyJBY3Rpb25zIl0gPSAiQWN0aW9ucyI7DQokbGFuZ1sicmVvcmRlciJdID0gIlJlb3JkZXIiOw0KJGxhbmdbImxpc3R0ZW1wbGF0ZSJdID0gIkxpc3QgdGVtcGxhdGUgZm9yIjsNCiRsYW5nWyJ0ZW1wbGF0ZXMiXSA9ICJNZW51IHRlbXBsYXRlcyI7DQokbGFuZ1sidGVtcGxhdGUiXSA9ICJUZW1wbGF0ZSI7DQokbGFuZ1siZGVmYXVsdHRlbXBsYXRlIl0gPSAiRGVmYXVsdCB0ZW1wbGF0ZSI7DQokbGFuZ1sidGVtcGxhdGV2YXJzIl0gPSAiVGVtcGxhdGUgdmFyaWFibGVzIjsNCiRsYW5nWyJlZGl0dGVtcGxhdGUiXSA9ICJFZGl0IHRlbXBsYXRlIjsNCiRsYW5nWyJhZGR0ZW1wbGF0ZSJdID0gIkFkZCB0ZW1wbGF0ZSI7DQokbGFuZ1siZmlsdGVyYnkiXSA9ICJGaWx0ZXIgYnkiOw0KJGxhbmdbInNob3dhbGwiXSA9ICJTaG93IGFsbCAobm8gZmlsdGVyKSI7DQokbGFuZ1sibWVzc2FnZV9kZWxldGVkIl0gPSAiRWxlbWVudCBkZWxldGVkIjsNCiRsYW5nWyJtZXNzYWdlX21vZGlmaWVkIl0gPSAiTW9kaWZpY2F0aW9uIHNhdmVkIjsNCiRsYW5nWyJlcnJvcl9taXNzZ2ludmFsdWUiXSA9ICJPbmUgb3IgbW9yZSBuZWNlc3NhcnkgdmFsdWVzIGhhdmUgbm90IGJlZW4gZW50ZXJlZC4iOw0KJGxhbmdbImVycm9yX2FscmVhZHlleGlzdHMiXSA9ICJUaGVyZSBpcyBhbHJlYWR5IGFuIGVsZW1lbnQgYmVhcmluZyB0aGF0IG5hbWUuIjsNCiRsYW5nWyJlcnJvcl9ub3BhcmVudCJdID0gIk5vIHBhcmVudCBpcyBkZWZpbmVkISI7DQokbGFuZ1siZXJyb3Jfbm90Zm91bmQiXSA9ICJUaGUgaXRlbSBjb3VsZCBub3QgYmUgZm91bmQuIjsNCiRsYW5nWyJlcnJvcl9ub2l0ZW1mb3VuZCJdID0gIk5vIGl0ZW0gZm91bmQuIjsNCiRsYW5nWyJlcnJvcl9kZW5pZWQiXSA9ICJQZXJtaXNzaW9uIGRlbmllZCI7DQokbGFuZ1siZ2l2ZW5lcnJvciJdID0gIkVycm9yOiAiOw0KJGxhbmdbInByb21wdF9nZW5lcmFsZGVsZXRlIl0gPSAiRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzPyI7DQokbGFuZ1sicmVzdWx0cyJdID0gIlJlc3VsdHMiOw0KDQovLyBNT0RVTEUgSU5URVJBQ1RJT04NCiRsYW5nWyJwb3N0aW5zdGFsbCJdID0gIk1vZHVsZSBzdWNjZXNzZnVsbHkgYWRkZWQuIjsNCiRsYW5nWyJwb3N0dW5pbnN0YWxsIl0gPSAiTW9kdWxlIHN1Y2Nlc3NmdWxseSByZW1vdmVkLiI7DQokbGFuZ1sicmVhbGx5X3VuaW5zdGFsbCJdID0gIkFsbCBvZiB0aGlzIG1vZHVsZSdzIGNvbnRlbnQgd2lsbCBiZSBsb3N0LiBDb250aW51ZT8iOw0KJGxhbmdbInVuaW5zdGFsbGVkIl0gPSAiTW9kdWxlIFVuaW5zdGFsbGVkLiI7DQokbGFuZ1siaW5zdGFsbGVkIl0gPSAiTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLiI7DQoNCi8vU0VUVElOR1MNCiRsYW5nWyJzZXR0aW5ncyJdID0gIlNldHRpbmdzIjsNCiRsYW5nWyJwcmVmX2F1dG9yZWRpcmVjdF9ob21lIl0gPSAiQXV0by1yZWRpcmVjdCBvbiBob21lIHBhZ2UgYmFzZWQgb24gcmVxdWVzdCAoYnJvd3NlcikgbGFuZ3VhZ2U/Kjxici8+V2hlbiB0aGUgdXNlciBnZXRzIG9uIGEgaG9tZSBwYWdlIChhIHBhZ2UgZGVmaW5lZCBhcyBkZWZhdWx0IHBhZ2UgZm9yIGEgbGFuZ3VhZ2UpLCBpZiBoaXMgYnJvd3NlciBsYW5ndWFnZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgcGFnZSBsYW5ndWFnZSBoZSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gdGhlIGFwcHJvcHJpYXRlIHBhZ2UuIjsNCiRsYW5nWyJwcmVmX2F1dG9yZWRpcmVjdF9hbGwiXSA9ICJBdXRvLXJlZGlyZWN0IG9uIGFsbCBwYWdlcyBiYXNlZCBvbiByZXF1ZXN0IGxhbmd1YWdlPyo8YnIvPihzYW1lIGFzIGFib3ZlLCBidXQgZm9yIGFsbCBwYWdlcykiOw0KJGxhbmdbInByZWZfY29va2llc19hdXRvcmVkaXJlY3RfaG9tZSJdID0gIkF1dG8tcmVkaXJlY3Qgb24gaG9tZSBwYWdlIGJhc2VkIG9uIGxhbmd1YWdlIHN0b3JlZCBpbiBjb29raWVzPzxici8+SWYgdGhlIHVzZXIgaGFzIHByZXZpb3VzbHkgbmF2aWdhdGVkIHRoZSBzaXRlIGluIGEgc2VsZWN0ZWQgbGFuZ3VhZ2UgYmVmb3JlLCBoZSB3aWxsIGJlIGZvd2FyZGVkIHRvIHRoaXMgbGFuZ3VhZ2UgdXBvbiB2aXNpdGluZyBhbnkgaG9tZSBwYWdlIChhbnkgcGFnZSB0aGF0IGhhcyBiZWVuIHNldCBhcyBkZWZhdWx0IHBhZ2UgZm9yIGEgbGFuZ3VhZ2UpLiI7DQokbGFuZ1sicHJlZl9jb29raWVzX2F1dG9yZWRpcmVjdF9hbGwiXSA9ICJBdXRvLXJlZGlyZWN0IG9uIGFsbCBwYWdlcyBiYXNlZCBvbiBjb29raWVzPzxici8+KHNhbWUgYXMgYWJvdmUsIGJ1dCBmb3IgYWxsIHBhZ2VzKSI7DQokbGFuZ1sicHJlZl9oaWVyYXJjaHlfcmVkaXJlY3QiXSA9ICJVc2UgaGllcmFyY2h5IGZvciByZWRpcmVjdGlvbj8gKHNlZSBoZWxwIGZvciBtb3JlIGluZm8pPGJyLz5UaGlzIG1lYW5zIHRoYXQgdGhlIHBhZ2Ugc3RydWN0dXJlIG11c3QgYmUgZXhhY3RseSB0aGUgc2FtZSBmb3IgYWxsIGxhbmd1YWdlcy4gSWYgeW91IGRvbid0IHVzZSB0aGUgaGllcmFyY2h5LCB5b3Ugd2lsbCBoYXZlIHRvIHNwZWNpZnkgdGhlIHBhZ2VzIG1hbnVhbGx5LiI7DQokbGFuZ1sicHJlZl9kZWZhdWx0X2hpZGUiXSA9ICJIaWRlIG1lbnUgbGluayB3aGVuIHRoZSBhY2NvcmRpbmcgcGFnZSBkb2VzIG5vdCBleGlzdD88YnIvPklmIHRoZSBsYW5ndWFnZSBsaW5rIHNob3VsZCBsZWFkIHRvIGEgcGFnZSB0aGF0IGRvZXMgbm90IGV4aXN0LCBoaWRlIHRoZSBsaW5rIChvdGhlcndpc2UsIHRoZSBsaW5rIHdpbGwgbGVhZCB0byB0aGUgbGFuZ3VhZ2UncyBkZWZhdWx0IHBhZ2UpLiI7DQokbGFuZ1sicHJlZl9kZWZhdWx0X3RyYW5zbGF0ZSJdID0gIlVzZSBkZWZhdWx0IGxhbmd1YWdlIHdoZXJlIGxhbmd1YWdlLXNwZWNpZmljIGVudHJpZXMgaGF2ZW4ndCBiZWVuIHN1cHBsaWVkLiI7DQokbGFuZ1sicHJlZl9oaWRlX21pc3NpbmdlbnRyaWVzIl0gPSAiSGlkZSBlcnJvciBtZXNzYWdlIGZvciB1bmtub3duIGxhbmd1YWdlIGVudHJpZXMuIjsNCiRsYW5nWyJwcmVmX3d5c2l3eWciXSA9ICJFbmFibGUgd3lzaXd5ZyBpbiBsYW5ndWFnZSBlbnRyaWVzLiI7DQokbGFuZ1sicHJlZl91c2VfcGFnZV90aXRsZSJdID0gIlVzZSBwYWdlIHRpdGxlIGluIGxhbmd1YWdlIGxpbmtzIChpbnN0ZWFkIG9mIGxhbmd1YWdlIG5hbWUpLiI7DQokbGFuZ1sicHJlZl9jdXJyZW50X2xpbmsiXSA9ICJJbiB0aGUgbGFuZ3VhZ2UgbWVudSwgc2hvdyBsaW5rIGZvciBjdXJyZW50IHBhZ2UgKHRoYXQgaXMsIGN1cnJlbnQgbGFuZ3VhZ2UpIHRvby4iOw0KJGxhbmdbImhlbHBfcmVkaXJlY3Rpb24iXSA9ICIqTm90ZTogSWYgeW91IHVzZSByZWRpcmVjdGlvbiBiYXNlZCBvbiByZXF1ZXN0IChicm93c2VyKSBsYW5ndWFnZSwgbWFrZSBzdXJlIHRvIGFjdGl2YXRlIHRoZSBjb3JyZXNwb25kaW5nIGNvb2tpZSByZWRpcmVjdGlvbiwgb3RoZXJ3aXNlIHRoZSB1c2VycyB3aWxsIGJlIDxiPmZvcmNlZDwvYj4gdG8gdmlldyB0aGUgcGFnZSBpbiB0aGVpciBicm93c2VyIGxhbmd1YWdlLiI7DQoNCg0KLy9QQVJBTUVURVJTDQokbGFuZ1sicGhlbHBfYWN0aW9uIl0gPSAiUG9zc2libGUgYWN0aW9uczogXCJkZWZhdWx0XCIgKGZvciB0cmFuc2xhdGlvbnMpIG9yIFwibWVudVwiLiI7DQokbGFuZ1sicGhlbHBfc2hvdyJdID0gIkZvciB0aGUgbWVudSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB3aGljaCBsYW5ndWFnZXMgdG8gc2hvdyBpbiB0aGUgbWVudSAodXNlIGxhbmd1YWdlIGNvZGUgYW5kIHNlcGFyYXRlIHdpdGggYSBjb21tYSkuIEZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgaG9sZHMgdGhlIGtleSB0byB0aGUgc3RyaW5nIHRvIGJlIHRyYW5zbGF0ZWQuIjsNCiRsYW5nWyJwaGVscF90ZW1wbGF0ZSJdID0gIlRlbXBsYXRlIHRvIHVzZSBmb3IgdGhlIG1lbnUuIjsNCiRsYW5nWyJwaGVscF9hc3NpZ24iXSA9ICJJbnN0ZWFkIG9mIGRpc3BsYXlpbmcgdGhlIHJlc3VsdCBpbW1lZGlhdGVseSwgeW91IGNhbiBhc3NpZ24gaXQgdG8gYSBzbWFydHkgdmFyaWFibGUgc3BlY2lmaWVkIHdpdGggdGhlIFwiYXNzaWduXCIgcGFyYW1ldGVyLiI7DQoNCg0KDQo/Pg0K]]></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.EriduHelperFunctions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmNsYXNzIEVyaWR1SGVscGVyRnVuY3Rpb25zDQp7DQogIHN0YXRpYyBmdW5jdGlvbiBwbGNyZWF0ZWFsaWFzKCRuYW1lKQ0KICB7DQogICAgLy8gZmlsdGVyIGtleXMgZm9yIGxhbmd1YWdlIGVudHJpZXMNCiAgICAvLyBhcyBhIHN1Z2dlc3Rpb24gZnJvbSBBTVQsIHRoZSBmaXJzdCBwYXJ0IGRlYWxzIHdpdGggc21hcnQgcXVvdGVzDQogICAgICRzZWFyY2ggPSBhcnJheShjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5OCksDQogICAgICAgICAgICAgICAgICAgICAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTkpLA0KICAgICAgICAgICAgICAgICAgICAgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDljKSwNCiAgICAgICAgICAgICAgICAgICAgICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5ZCksDQogICAgICAgICAgICAgICAgICAgICAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTMpLA0KICAgICAgICAgICAgICAgICAgICAgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDk0KSk7DQogICAgICRuYW1lID0gc3RyX3JlcGxhY2UoJHNlYXJjaCwgIiIsICRuYW1lKTsNCiAgICAgLy8gdGhlIHNlY29uZCBwYXJ0IHVzZXMgdGhlIGNtcyB2ZXJzaW9uDQogICAgICRhbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJG5hbWUsIGZhbHNlKTsNCiAgICAgcmV0dXJuICRhbGlhczsNCiAgfQ0KICANCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfcm9vdF9pZCgkY3VycmVudF9pZCA9IE5VTEwpDQogIHsNCiAgICAkZ0NtcyA9IENtc0FwcDo6Z2V0X2luc3RhbmNlKCk7DQogICAgJGhtID0gJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsNCiAgICANCiAgICBpZiggIWlzc2V0KCRjdXJyZW50X2lkKSApIA0KICAgIHsNCiAgICAgICRjb250ZW50b3BzID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsNCiAgICAgICRjdXJyZW50X2lkID0gJGNvbnRlbnRvcHMtPmdldENvbnRlbnRPYmplY3QoKS0+SWQoKTsNCiAgICAgIGlmKE5VTEwgPT09ICRjdXJyZW50X2lkKSByZXR1cm4gJGN1cnJlbnRfaWQ7DQogICAgfSANCg0KICAgICRzdGFjayA9IGFycmF5KCk7DQogICAgJG5vZGUgPSAkaG0tPmZpbmRfYnlfdGFnKCdpZCcsICRjdXJyZW50X2lkKTsNCiAgICANCiAgICB3aGlsZSggJG5vZGUgJiYgJG5vZGUtPmdldF90YWcoJ2lkJykgPiAwICkNCiAgICB7DQogICAgICAkc3RhY2tbXSA9ICRub2RlOw0KICAgICAgJG5vZGUgPSAkbm9kZS0+Z2V0UGFyZW50KCk7DQogICAgfQ0KICAgIA0KICAgIGlmKCBjb3VudCgkc3RhY2spID09IDAgKSByZXR1cm47DQoNCiAgICAkaWQgPSAkc3RhY2tbY291bnQoJHN0YWNrKS0xXS0+Z2V0X3RhZygnaWQnKTsNCg0KICAgIHJldHVybiAkaWQ7DQogIH0gDQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24gPC0tPiBDaGFuZ2VkIChKTSkNCiRkYiA9ICRnQ21zLT5HZXREYigpOw0KJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOw0KCQkNCi8vIG15c3FsLXNwZWNpZmljLCBidXQgaWdub3JlZCBieSBvdGhlciBkYXRhYmFzZQ0KJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsNCg0KDQovLyBDcmVhdGVzIHRoZSBsYW5ndWFnZXMgdGFibGUNCiRmbGRzID0gJw0KICBpZCBJIEtFWSBBVVRPLA0KCWxhbmdjb2RlIEMoOCkgS0VZLA0KCXJvb3RfaWQgSSwNCglkZWZhdWx0X2lkIEksDQoJbmFtZSBDKDY0KSwNCgltZW51X25hbWUgQyg2NCksDQoJYWN0aXZlIEwsDQoJaXRlbV9vcmRlciBJDQoJJzsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZXJpZHVfbGFuZ3VhZ2VzJywgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoJDQoNCi8vIENyZWF0ZXMgdGhlIGxhbmd1YWdlIGtleXMgdGFibGUNCiRmbGRzID0gJw0KICBpZCBJIEtFWSBBVVRPLA0KCXN0cmluZ2lkIEkgS0VZLA0KCWNhcHRpb24gQygxMjgpDQoJJzsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZXJpZHVfbGFuZ2tleXMnLCAkZmxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KDQovLyBDcmVhdGVzIHRoZSBsYW5ndWFnZSBlbnRyaWVzIHRhYmxlDQokZmxkcyA9ICcNCiAgaWQgSSBLRVkgQVVUTywNCglzdHJpbmdpZCBJLA0KCWxhbmdjb2RlIEMoNSksDQoJdmFsdWUgWCg2NTUzNikNCgknOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9lcmlkdV9sYW5nZW50cmllcycsICRmbGRzLCAkdGFib3B0YXJyYXkpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignYWRtaW5fZXJpZHUnLCAnRXJpZHU6IGFkbWluJyk7DQoNCiRtb2RwcmVmcyA9ICR0aGlzLT5nZXRfbW9kcHJlZnMoKTsNCmZvcmVhY2goJG1vZHByZWZzIGFzICRvbmVwcmVmKQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkb25lcHJlZlswXSwkb25lcHJlZlsxXSk7DQoNCiRmbiA9IGNtc19qb2luX3BhdGgoJHRoaXMtPkdldE1vZHVsZVBhdGgoKSwgJ3RlbXBsYXRlcycsICdkZWZhdWx0X21lbnVfdG1wbHQudHBsJyk7DQppZiggZmlsZV9leGlzdHMoICRmbiApICkgDQp7DQogICRkZWZ0cGwgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCiAgJHRoaXMtPlNldFRlbXBsYXRlKCdkZWZhdWx0JywgJGRlZnRwbCk7DQogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0dGVtcGxhdGUnLCAnZGVmYXVsdCcpOw0KfQ0KDQoNCiR0aGlzLT5SZWdpc3RlckV2ZW50cygpOw0KDQovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cNCgkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ2luc3RhbGxlZCcsICR0aGlzLT5HZXRWZXJzaW9uKCkpKTsNCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQoNCiRkYiA9IGNtc21zKCktPkdldERiKCk7DQokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9lcmlkdV9sYW5ndWFnZXMnKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2VyaWR1X2xhbmdrZXlzJyk7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9lcmlkdV9sYW5nZW50cmllcycpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQokdGhpcy0+RGVsZXRlVGVtcGxhdGUoJycsICR0aGlzLT5HZXROYW1lKCkpOw0KDQokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignYWRtaW5fZXJpZHUnKTsNCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7DQoNCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1bmluc3RhbGxlZCcpKTsNCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogRXJpZHU6IE11bHRpbGluZ3VhbCBDb250ZW50DQojIFZlcnNpb24gMQ0KIyBBIGZvcmsgb2YgQmFiZWwNCiMgbWFpbnRhaW5lZCBieSBGZXJuYW5kbyBNb3JnYWRvIEFLQSBKbyBNb3JnDQojIHNpbmNlIDIwMTYNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCByZWxlYXNlZCB1bmRlciBHTlUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEVyaWR1IGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIGFuZCBtYW5hZ2UgbXVsdGlwbGUgbGFuZ3VhZ2UgY29udGVudA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQkVHSU5fTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgRXJpZHUNCiMgRXJpZHUgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIEVyaWR1IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFTkRfTElDRU5TRQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7DQokZGIgPSBjbXNtcygpLT5HZXREYigpOw0KJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOw0KDQp0cnkNCnsNCiAgc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pDQogIHsNCiAgIGNhc2UgJzEuMC5iLjMnOg0KICAgY2FzZSAnMS4wLmIuNCc6DQogICAgICRxID0gJ0FMVEVSIFRBQkxFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2VyaWR1X2xhbmdlbnRyaWVzIE1PRElGWSB2YWx1ZSBWQVJDSEFSKDQwMDApJzsNCiAgICAgJHIgPSAkZGItPkV4ZWN1dGUoJHEpOw0KDQogICAgIGlmKCEkcikgdGhyb3cgbmV3IEV4Y2VwdGlvbiggJGRiLT5FcnJvck1zZygpICk7DQogIH0NCn0NCmNhdGNoKEV4Y2VwdGlvbiAkZSkgDQp7DQogICR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkZGItPkVycm9yTXNnKCkgKTsNCiAgcmV0dXJuICRlLT5nZXRNZXNzYWdlKCk7DQp9DQoNCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KJHRoaXMtPkF1ZGl0KCANCiAgICAgICAgICAgICAgMCwgDQoJICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCANCgkgICAgICAgICAgICAkdGhpcy0+TGFuZyggJ3VwZ3JhZGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSApDQogICAgICAgICAgICApOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9IEVyaWR1CnZlcnNpb24gPSAxLjAKZGVzY3JpcHRpb24gPSAKYXV0aG9yID0gSm8gTW9yZyAoRmVybmFuZG8gTW9yZ2FkbykKYXV0aG9yZW1haWwgPSBqb21vcmdAY21zbWFkZXNpbXBsZS5vcmcKbWluY21zdmVyc2lvbiA9IDIuMS41Cmxhenlsb2FkYWRtaW4gPSAwCmxhenlsb2FkZnJvbnRlbmQgPSAwCg==]]></data>
	</file>
	<file>
	  <filename>/redirect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEVyaWR1OiBNdWx0aWxpbmd1YWwgQ29udGVudAojIFZlcnNpb24gMQojIEEgZm9yayBvZiBCYWJlbAojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZwojIHNpbmNlIDIwMTYKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIEJhYmVsIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIHVzaW5nIENUTE1vZHVsZU1ha2VyIGFuZCByZWxlYXNlZCB1bmRlciBHTlUKIyBDVExNb2R1bGVNYWtlciB3YXMgY3JlYXRlZCBieSBQaWVycmUtTHVjIEdlcm1haW4gYW5kIHJlbGVhc2VkIHVuZGVyIEdOVQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgRXJpZHUgaXMgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgZW5hYmxlcyB0aGUgd2ViIGRldmVsb3BlciB0byBjcmVhdGUKIyBhbmQgbWFuYWdlIG11bHRpcGxlIGxhbmd1YWdlIGNvbnRlbnQKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBFcmlkdQojIEVyaWR1IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgRXJpZHUgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRU5EX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZXJyb3JfcmVwb3J0aW5nKDApOwppZighaXNzZXQoJF9HRVRbIm5ld3VybCJdKSApCnsKCWhlYWRlcigibG9jYXRpb246IGluZGV4LnBocCIpOwp9ZWxzZQp7CglpZihpc3NldCgkX0dFVFsibmV3bGFuZyJdKSkJc2V0Y29va2llKCd1c3JsYW5nJywgJF9HRVRbIm5ld2xhbmciXSwgdGltZSgpICsgODY0MDAqMzAsICcvJyk7CgloZWFkZXIoImxvY2F0aW9uOiAiIC4gJF9HRVRbIm5ld3VybCJdKTsKfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRhZGRuZXd9PC9wPgp7aWYgY291bnQoJGl0ZW1saXN0KSA+IDB9CjxkaXY+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cjx0aGVhZD48dHI+Cgl7Zm9yZWFjaCBmcm9tPSRhZG1pbnNob3cgaXRlbT1jb2x1bW59CgkJPHRoPnskY29sdW1uWzBdfTwvdGg+Cgl7L2ZvcmVhY2h9CjwvdHI+PC90aGVhZD4KPHRib2R5Pgp7Y3ljbGUgdmFsdWVzPSJyb3cyLHJvdzEiIGFzc2lnbj1yb3djbGFzcyByZXNldD10cnVlfQp7Zm9yZWFjaCBmcm9tPSRpdGVtbGlzdCBpdGVtPW9uZWl0ZW19CntjeWNsZSB2YWx1ZXM9InJvdzIscm93MSIgYXNzaWduPXJvd2NsYXNzfQo8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgoJe2ZvcmVhY2ggZnJvbT0kYWRtaW5zaG93IGl0ZW09Y29sdW1ufQoJCXthc3NpZ24gdmFyPW9uZXZhbCB2YWx1ZT0kY29sdW1uWzFdfQoJCTx0ZD57JG9uZWl0ZW0tPiRvbmV2YWx9PC90ZD4KCXsvZm9yZWFjaH0KPC90cj4Key9mb3JlYWNofQo8L3Rib2R5Pgo8L3RhYmxlPgo8L2Rpdj4KPHA+eyRhZGRuZXd9PC9wPnsvaWZ9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/changelog.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGg0PlZlcnNpb24gMS4wPC9oND4KPHVsPgogIDxsaT4xc3QgcHVibGljIHJlbGVhc2UuPC9saT4KPC91bD4=]]></data>
	</file>
	<file>
	  <filename>/templates/default_menu_tmplt.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsIGlkPSdsYW5ndWFnZV9tZW51Jz4NCntmb3JlYWNoIGZyb209JGxhbmd1YWdlcyBpdGVtPSdsYW5ndWFnZSd9DQogICB7aWYgJGxhbmd1YWdlLT5pc19jdXJyZW50fTxsaSBjbGFzcz0nYWN0aXZlJz48YSB7aWYgJGxhbmd1YWdlLT51cmx9aHJlZj0neyRsYW5ndWFnZS0+dXJsfScgey9pZn1jbGFzcz0nYWN0aXZlJz57ZWxzZX08bGk+PGEgaHJlZj0neyRsYW5ndWFnZS0+dXJsfSc+ey9pZn17JGxhbmd1YWdlLT5tZW51X25hbWV9PC9hPjwvbGk+DQp7L2ZvcmVhY2h9DQo8L3VsPg==]]></data>
	</file>
	<file>
	  <filename>/templates/editlang.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgxPnskZWRpdHRpdGxlfTwvaDE+DQp7aWYgJGxhbmdzZWxlY3R9DQoJPGRpdiBpZD0iZXJpZHVfbGFuZ3NlbGVjdGRpdiIgY2xhc3M9InBhZ2VvdmVyZmxvdyIgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDsiPg0KCQk8cD57JGxhbmdzZWxlY3RfbGFiZWx9PGJyLz57JGxhbmdzZWxlY3R9PGJyLz48L3A+DQoJPC9kaXY+DQp7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYW5nY29kZV9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbGFuZ2NvZGVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtZW51X25hbWVfbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbWVudV9uYW1lX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcm9vdF9pZF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcm9vdF9pZF9pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGRlZmF1bHRfaWRfbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVmYXVsdF9pZF9pbnB1dH08L3A+DQoJPC9kaXY+DQo8YnIvPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCnZhciBtb2R1bGVpZCA9ICJ7JHBsaWR9IjsNCntsaXRlcmFsfQ0KZnVuY3Rpb24gbGFuZ3VhZ2VmaWxsKHJhd2RhdGEpew0KCXZhciBuZXdkYXRhID0gcmF3ZGF0YS5zcGxpdCgnLycpOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vZHVsZWlkKydsYW5nY29kZScpLnZhbHVlID0gbmV3ZGF0YVswXTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb2R1bGVpZCsnbmFtZScpLnZhbHVlID0gbmV3ZGF0YVsxXTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb2R1bGVpZCsnbWVudV9uYW1lJykudmFsdWUgPSBuZXdkYXRhWzFdOw0KCXJldHVybiBmYWxzZTsNCn0NCnZhciBsYW5nc2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VyaWR1X2xhbmdzZWxlY3RkaXYnKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7DQppZihsYW5nc2VsZWN0WzBdKSBsYW5nc2VsZWN0WzBdLm9uY2hhbmdlID0gZnVuY3Rpb24oKXsNCglsYW5ndWFnZWZpbGwodGhpcy52YWx1ZSk7DQp9Ow0KbGFuZ3NlbGVjdCA9IG51bGw7DQp7L2xpdGVyYWx9DQo8L3NjcmlwdD4NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/entriestable.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/help.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogVGFicyBIZWFkZXJzICp9DQo8ZGl2IGlkPSJwYWdlX3RhYnMiPg0KICA8ZGl2IGlkPSJnZW5lcmFsIj4NCiAgICBXaGF0IElzIEl0DQogIDwvZGl2PiAgICANCiAgPGRpdiBpZD0iaG93Ij4NCiAgICBIb3cgVG8gVXNlIEl0DQogIDwvZGl2Pg0KICA8ZGl2IGlkPSJtZXRob2RzIj4NCiAgTWV0aG9kcw0KPC9kaXY+ICAgICAgIA0KICA8ZGl2IGlkPSJhYm91dCI+DQogICAgQWJvdXQNCiAgPC9kaXY+DQo8L2Rpdj4NCnsqIFRhYnMgSGVhZGVycyAqfQ0KDQo8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2Pg0KDQp7KiBUYWJzIENvbnRlbnRzICp9DQo8ZGl2IGlkPSJwYWdlX2NvbnRlbnQiPg0KDQp7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKn0NCnsqIFdoYXQgSXMgSXQgKn0NCiAgPGRpdiBpZD0iZ2VuZXJhbF9jIj4NCiAgPGJsb2NrcXVvdGUgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2ZjZmNmYyA7cGFkZGluZzogMXB4IDNweCA4cHggMTZweDsgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjNTc3ZGE0OyI+DQogIDxoND48ZW0+PHN0cm9uZz5FcmlkdTwvc3Ryb25nPjwvZW0+PC9oND4NCiAgPHA+PGVtPjxzdHJvbmc+RXJpZHU8L3N0cm9uZz4gaXMgYW4gYW5jaWVudCBTdW1lcmlhbiBjaXR5IGluIHdoYXQgaXMgbm93IFRlbGwgQWJ1IFNoYWhyYWluLCBEaGkgUWFyIEdvdmVybm9yYXRlLCBJcmFxLjwvZW0+PC9wPg0KICA8cD48ZW0+PHN0cm9uZz5FcmlkdTwvc3Ryb25nPiB3YXMgbG9uZyBjb25zaWRlcmVkIHRoZSBlYXJsaWVzdCBjaXR5IGluIHNvdXRoZXJuIE1lc29wb3RhbWlhLCBhbmQgaXMgc3RpbGwgdG9kYXkgYXJndWVkIHRvIGJlIHRoZSBvbGRlc3QgY2l0eSBpbiB0aGUgd29ybGQuPC9lbT48L3A+DQogIDxwPjxlbT5bLi4uXSBUaGUgRWd5cHRvbG9naXN0IDxzdHJvbmc+RGF2aWQgUm9obDwvc3Ryb25nPiwgaGFzIGNvbmplY3R1cmVkIHRoYXQgPHN0cm9uZz5FcmlkdTwvc3Ryb25nPiwgdG8gdGhlIHNvdXRoIG9mIFVyLCB3YXMgdGhlIG9yaWdpbmFsIDxzdHJvbmc+QmFiZWw8L3N0cm9uZz4gYW5kIHNpdGUgb2YgdGhlIDxzdHJvbmc+VG93ZXIgb2YgQmFiZWw8L3N0cm9uZz4sIHJhdGhlciB0aGFuIHRoZSBsYXRlciBjaXR5IG9mIDxzdHJvbmc+QmFieWxvbjwvc3Ryb25nPiBbLi4uXTwvZW0+PC9wPg0KICA8Y2l0ZT5XaWtpcGVkaWE8L2NpdGU+DQo8L2Jsb2NrcXVvdGU+DQogICAgPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQogICAgPHA+VGhpcyBtb2R1bGUgbWFuYWdlcyBtdWx0aXBsZXMgbGFuZ3VhZ2VzIGZvciB0aGUgZnJvbnRlbmQgYW5kIHByb3ZpZGVzIG5hdmlnYXRpb24gdGhyb3VnaCB0aGUgbGFuZ3VhZ2VzLjwvcD4NCiAgICA8cD5JdHMgYSBmb3JrIG9mIDxzdHJvbmc+QmFiZWw8L3N0cm9uZz4gd2hpY2gsIGJ5IHRoZSB0aW1lIG9mIHRoaXMgd3JpdHRpbmcsIHNlZW1zIHRvIGJlIDxlbT5hYmFuZG9uLXdhcmU8L2VtPi48L3A+DQogICAgPHA+Qm90aCB0aGlzIG1vZHVsZSBhbmQgQmFiZWwgdXNlIGFuIGFwcHJvYWNoIHRvIG11bHRpbGluZ3VhbCBzaXRlcyBjYWxsZWQgInNlcGFyYXRlIHRyZWUgYnJhbmNoZXMiLCB3aGljaCBoYXMgYmVlbiBkZXZlbG9wcGVkIGJ5IG90aGVyIGNtc21zIGRldmVsb3BlcnMgKG5hbWVseSBNYXJjb3MgQ3J1eiAtIHNlZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcvdmlld3RvcGljLnBocD90PTE5MDk5I3A5NDc0OSIgdGFyZ2V0PSJfYmxhbmsiPnRoaXMgdG9waWM8L2E+LjwvcD4NCiAgICA8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiB0aHJvdWdoIGEgZmV3IGNoYW5nZXMgYW5kIGhhcyBhbiBleHRlbnNpdmUgcm9hZG1hcCBmb3IgZnV0dXJlIHJlbGVhc2VzLiBUaGVyZSBtYXkgYmUgYSBmZXcgbWlub3IgZ2xpdGNoZXMgYnV0IGl0IGhhcyBiZWVuIHVzZWQgaW4gcHJvZHVjdGlvbiBzaXRlcyBmb3IgYWxtb3N0IGEgeWVhciBhbHJlYWR5LiBJdCBoYXMgcHJvdmVuIHRvIGJlIHF1aXRlIHN0YWJsZSBzbyBmYXIuPC9wPg0KICA8L2Rpdj4NCiAgDQp7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKn0NCnsqIEhvdyBUbyBVc2UgSXQgKn0NCiAgPGRpdiBpZD0iaG93X2MiPg0KICAgIDxoMz5Ib3cgRG8gSSBVc2UgSXQ/PC9oMz4NCiAgICA8aDQ+VHJlZSBicmFuY2hlczwvaDQ+DQogICAgPHA+VGhpcyBtb2R1bGUgdXNlcyBhbiBhcHByb2FjaCB0byBtdWx0aWxpbmd1YWwgc2l0ZXMgY2FsbGVkIDxlbT48c3Ryb25nPiJzZXBhcmF0ZSB0cmVlIGJyYW5jaGVzIjwvc3Ryb25nPjwvZW0+LCB3aGljaCBoYXMgYmVlbiBkZXZlbG9wcGVkIGJ5IG90aGVyIGNtc21zIGRldmVsb3BlcnMgKG5hbWVseSA8c3Ryb25nPk1hcmNvcyBDcnV6PC9zdHJvbmc+IC0gc2VlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZy92aWV3dG9waWMucGhwP3Q9MTkwOTkjcDk0NzQ5IiB0YXJnZXQ9Il9ibGFuayI+dGhpcyB0b3BpYzwvYT4pLjwvcD4NCiAgICA8ZGl2IGNsYXNzPSJpbmZvcm1hdGlvbiIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij48cD5TaG91bGQgeW91IG5lZWQgdG8gdXNlIGl0IGluIHlvdXIgdGVtcGxhdGVzLCB0aGUgY3VycmVudCBsYW5ndWFnZSBjb2RlIHdpbGwgYmUgc3RvcmVkIGluIHRoZSA8ZW0+PHN0cm9uZz4kcGFnZV9sYW5nIHZhcmlhYmxlPC9zdHJvbmc+PC9lbT4uPC9wPg0KICAgIDxwPk1vcmUgaW5mb3JtYXRpb24gb24gdGhlIGxhbmd1YWdlIGNhbiBhbHNvIGJlIHJldHJpZXZlZCB1c2luZyB0aGUgPGVtPjxzdHJvbmc+JHBhZ2VfbGFuZ19pbmZvIG9iamVjdDwvc3Ryb25nPjwvZW0+ICh3aXRoIHRoZSBzYW1lIGF0dHJpYnV0ZXMgYXMgaW4gdGhlIG1lbnUgdGVtcGxhdGVzKS48L3A+PC9kaXY+DQogICAgDQogICAgPGg0PlBhcnQgMTogc2V0dGluZyB1cCB0aGUgcGFnZXM8L2g0PiAgICAgIA0KICAgIDxwPlRvIHVzZSB0aGlzLCB5b3Ugd2lsbCBoYXZlIHRvIGNyZWF0ZSBkaWZmZXJlbnQgcm9vdCBwYWdlcyBmb3IgZWFjaCBsYW5ndWFnZS4gRm9yIGV4YW1wbGU6PC9wPg0KICAgIDxmaWVsZHNldD4NCiAgICAgIDxsZWdlbmQ+U2FtcGxlIFNpdGUgU3RydWN0dXJlPC9sZWdlbmQ+DQogICAgICAgIDx1bD4NCiAgICAgICAgICA8bGk+MS4gRW5nbGlzaA0KICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICA8bGk+MS4xLiAxc3QgcGFnZTwvbGk+DQogICAgICAgICAgICAgIDxsaT4xLjIuIDJuZCBwYWdlPC9saT4NCiAgICAgICAgICAgICAgPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICAgIDxsaT4yLiBGcmFuJmNjZWRpbDthaXMNCiAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgPGxpPjIuMS4gUGFnZSAxPC9saT4NCiAgICAgICAgICAgICAgPGxpPjIuMi4gUGFnZSAyPC9saT4NCiAgICAgICAgICAgICAgPGxpPjIuMy4gUGFnZSAzPC9saT4NCiAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgPC9saT4NCiAgICAgICAgPC91bD4NCiAgICA8L2ZpZWxkc2V0Pg0KDQogICAgPHA+PHN0cm9uZz5Sb290IGxhbmd1YWdlPC9zdHJvbmc+IHBhZ2VzIDxzdHJvbmc+KDEuIGFuZCAyLik8L3N0cm9uZz4gc2hvdWxkIGJlIDxzdHJvbmc+PGVtPnNlY3Rpb24gaGVhZGVyczwvZW0+PC9zdHJvbmc+LjwvcD4NCiAgICAgICAgPGRpdiBjbGFzcz0iaW5mb3JtYXRpb24iIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+WW91IGNhbiBuYW1lIHRoZW0gKGFsaWFzIGFuZCBhbGwpIGFueSB3YXkgeW91IHdhbnQuPC9kaXY+DQogICAgIA0KICAgIDxwPkluIG9yZGVyIHRvIGRpc3BsYXkgbWVudSBjb3JyZWN0bHkgKHRoYXQgaXMsIG5vdCB0byBkaXNwbGF5IGxhbmd1YWdlIGhlYWRlciBwYWdlcyBhbmQgcGFnZXMgYmVsb25naW5nIHRvIG90aGVyIGxhbmd1YWdlcyksIGFsbCB5b3UgaGF2ZSB0byBkbyBpcyBhZGQgdGhlIDxzdHJvbmc+c3RhcnRfbGV2ZWw9JzInPC9zdHJvbmc+IHRvIHlvdXIgbWVudSB0YWdzOjwvcD4NCiAgICA8cD48cHJlIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+e2xpdGVyYWx9e21lbnUgc3RhcnRfbGV2ZWw9JzInfXsvbGl0ZXJhbH08L3ByZT48L3A+DQogICAgPGg0PlBhcnQgMjogc2V0dGluZyB1cCB0aGUgbGFuZ3VhZ2VzPC9oND4NCiAgICA8cD5OZXh0LCBnbyB0bzo8L3A+DQogICAgICA8ZmllbGRzZXQ+DQogICAgICAgIDx1bD4NCiAgICAgICAgICA8bGk+PHN0cm9uZz48ZW0+Q29udGVudCAmZ3Q7IEVyaWR1OiBNdWx0aWxpbmd1YWwgQ29udGVudDwvZW0+PC9zdHJvbmc+PC9saT4NCiAgICAgICAgPC91bD4NCiAgICAgIDwvZmllbGRzZXQ+IA0KICAgIDxwPkZvciBlYWNoIGxhbmd1YWdlLCBjbGljayA8c3Ryb25nPjxlbT5BZGQgTGFuZ3VhZ2U8L2VtPjwvc3Ryb25nPiBhbmQgZW50ZXIgdGhlIGFwcHJvcHJpYXRlIGluZm9ybWF0aW9ucy48cD4NCiAgICA8cD5UaGUgPHN0cm9uZz4iUm9vdCBwYWdlIjwvc3Ryb25nPiBzaG91bGQgYmUgb25lIG9mIHRoZSA8c3Ryb25nPnNlY3Rpb24gaGVhZGVyczwvc3Ryb25nPiB5b3UndmUgY3JlYXRlZCBmb3IgZWFjaCBsYW5ndWFnZSA8c3Ryb25nPigxLkVuZ2xpc2gsIDIuRnJhbiZjY2VkaWw7YWlzKTwvc3Ryb25nPi48L3A+DQogICAgICA8ZmllbGRzZXQ+DQogICAgICA8bGVnZW5kPlJvb3QgUGFnZXMgYW5kIFNlY3Rpb24gSGVhZGVyczwvbGVnZW5kPg0KICAgICAgICA8dWw+DQogICAgICAgICAgPGxpPjxzdHJvbmc+MS4gRW5nbGlzaDwvc3Ryb25nPiAoc2hvdWxkIGJlIGEgU2VjdGlvbiBIZWFkZXIpDQogICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgIDxsaT4uLi48L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICAgIDxsaT48c3Ryb25nPjIuIEZyYW4mY2NlZGlsO2Fpczwvc3Ryb25nPiAoc2hvdWxkIGJlIGEgU2VjdGlvbiBIZWFkZXIpDQogICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgIDxsaT4uLi48L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICA8L2xpPg0KICAgICAgICA8L3VsPg0KICAgIDwvZmllbGRzZXQ+DQogICAgPHA+VGhlIDxzdHJvbmc+IkRlZmF1bHQgcGFnZSI8L3N0cm9uZz4gc2hvdWxkIGJlIHRoZSA8c3Ryb25nPmhvbWUgcGFnZTwvc3Ryb25nPiBmb3IgZWFjaCBsYW5ndWFnZS48L3A+DQogICAgPHA+QXMgb2YgdGhlIGxhbmd1YWdlIGNvZGUsIHlvdSBjb3VsZCB1c2UgYW55IDUgY2hhcmFjdGVycyBjb2RlLCBidXQgaW4gb3JkZXIgdG8gcHJvdmlkZSBnb29kIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgbW9kdWxlcywgeW91IHNob3VsZCB1c2UgdGhlIHNhbWUgYXMgQ01TTVMgdXNlcyAoeW91IG1heSB1c2UgdGhlIGRyb3AgZG93biBsaXN0IG9uIHRoZSB0b3AgcmlnaHQgdG8gcGFydGlhbGx5IGZpbGwgdGhlIGZvcm0pLjwvcD4NCiAgICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIiBzdHlsZT0iZGlzcGxheTpibG9jazsiPjxwPldoZW4gcmVhZHksIG1ha2Ugc3VyZSB5b3UgYWN0aXZhdGUgZWFjaCBsYW5ndWFnZS4uLjwvcD48L2Rpdj4NCiAgICANCiAgICA8aDQ+UGFydCAzOiBMYW5ndWFnZSBtZW51PC9oND4NCiAgICA8cD5UbyBnZXQgYSBsYW5ndWFnZSBtZW51LCB5b3UgbWF5IHVzZSB0aGUgZm9sbG93aW5nIHRhZzo8L3A+DQogICAgPHA+PHByZSBzdHlsZT0iZGlzcGxheTpibG9jazsiPntsaXRlcmFsfXtFcmlkdSBhY3Rpb249J21lbnUnfXsvbGl0ZXJhbH08L3ByZT48L3A+DQogICAgPHA+b3IsIHRvIHVzZSBhIHRlbXBsYXRlIG90aGVyIHRoYW4gdGhlIGRlZmF1bHQgb25lOjwvcD4NCiAgICA8cD48cHJlIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+e2xpdGVyYWx9e0VyaWR1IGFjdGlvbj0nbWVudScgdGVtcGxhdGU9J3RlbXBsYXRlX25hbWUnfXsvbGl0ZXJhbH08L3ByZT48L3A+DQogICAgPHA+VGhlICJzaG93IiBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gY2hvb3NlIHdoaWNoIGxhbmd1YWdlcyBzaG91bGQgYmUgZGlzcGxheWVkLjwvcD4NCiAgICA8aDQ+UGFydCA0IChvcHRpb25hbCkgOiBDdXN0b20gbGFuZ3VhZ2UgZW50cmllczwvaDQ+DQogICAgPHA+SW4gPHN0cm9uZz50ZW1wbGF0ZXM8L3N0cm9uZz4sIDxzdHJvbmc+bW9kdWxlIHRlbXBsYXRlczwvc3Ryb25nPiwgPHN0cm9uZz5nbG9iYWwgY29udGVudCBibG9ja3MgKEdDQidzKTwvc3Ryb25nPiwgPHN0cm9uZz5jb250ZW50IGJsb2Nrczwvc3Ryb25nPiwgZXRjLCB5b3UgbWF5IG5lZWQgdG8gY2hhbmdlIHRoZSBjb250ZW50IGRlcGVuZGluZyBvbiB0aGUgbGFuZ3VhZ2UuPC9wPg0KICAgIDxwPlRoZSB0cmFkaXRpb25hbCB3YXkgdG8gZG8gdGhpcyB3YXMgdG8gY3JlYXRlIGNvbmRpdGlvbnMgd2l0aCB0aGUgcGFnZV9sYW5nIHZhcmlhYmxlOjwvcD4NCiAgICA8cD48cHJlIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+e2xpdGVyYWx9DQogICAge2lmICRwYWdlX2xhbmcgPT0gJ2VuX1VTJ30NCiAgICAgIEVuZ2xpc2ggdGV4dA0KICAgIHtlbHNlaWYgJHBhZ2VfbGFuZyA9PSAnZnJfRlInfQ0KICAgICAgVGV4dGUgZW4gZnJhbiZjY2VkaWw7YWlzDQogICAgey9pZn17L2xpdGVyYWx9PC9wcmU+PC9wPg0KICAgIDxwPldlbGwuLi4geW91IGNhbiBzdGlsbCB1c2UgdGhpcyBtZXRob2QgYnV0LCB3aXRoIHRoZSBtb2R1bGUsIGFub3RoZXIgbW9yZSBjZW50cmFsaXplZCB3YXkgaXMgcHJvdmlkZWQuPC9wPg0KICAgIDxwPkluIHRoZSBhZG1pbiBwYW5lbCBvZiB0aGlzIG1vZHVsZSwgeW91IHdpbGwgZmluZCBhIGxpbmsgdG8gZWRpdCBlbnRyaWVzIGZvciBlYWNoIGxhbmd1YWdlLjwvcD4NCiAgICA8cD48c3Ryb25nPjxlbT5MYW5ndWFnZSBFbnRyaWVzPC9lbT48L3N0cm9uZz4gYXJlIHN0cmluZ3MgdGhhdCBleGlzdHMgZm9yIGVhY2ggbGFuZ3VhZ2UgYnV0IGhvbGQgZGlmZmVyZW50IHRleHQgKG9yIEhUTUwpLjwvcD4NCiAgICA8cD5XaGF0IHlvdSBjYW4gZG8gaXMgdG8gY3JlYXRlIGEgbmV3IDxzdHJvbmc+PGVtPmxhbmd1YWdlIGVudHJ5PC9lbT48L3N0cm9uZz4gKGZvciBleGFtcGxlOiAid2VsY29tZSB0ZXh0IiwgZW50ZXIgaXRzIGNvbnRlbnQgZm9yIGFsbCBsYW5ndWFnZXMsIGFuZCBzaW1wbHkgY2FsbCB0aGUgZW50cnkgd2hlcmV2ZXIgeW91IG5lZWQgaXQgdXNpbmcgdGhlIGRlZmF1bHQgYWN0aW9uOjwvcD4NCiAgICA8cD48cHJlIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+e2xpdGVyYWx9e0VyaWR1IHNob3c9J3dlbGNvbWUgdGV4dCd9ey9saXRlcmFsfTwvcHJlPjwvcD4NCiAgICA8cD5TaG91bGQgeW91IGV2ZXIgbmVlZCB0byBlZGl0IHRoZSBzdHJpbmdzIGFuZCBhZGQgbGFuZ3VhZ2VzLCB5b3Ugd2lsbCBmaW5kIHRoaXMgc29sdXRpb24gdG8gYmUgbW9yZSBoYW5keS4gQnV0IGlmIHlvdSBwcmVmZXIgdGhlIG9sZCBvbmUsIGl0IHdpbGwgd29yayBqdXN0IHRoZSBzYW1lLjwvcD4NCiAgICA8cD5Zb3UgY2FuIGFsc28gYXNzaWduIGxhbmd1YWdlIGVudHJpZXMgdG8gc21hcnR5IHZhcmlhYmxlcywgdXNpbmc6PC9wPg0KICAgIDxwPjxwcmUgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij57bGl0ZXJhbH17RXJpZHUgc2hvdz0nd2VsY29tZSB0ZXh0JyBhc3NpZ249J3dlbGNvbWUnfXsvbGl0ZXJhbH08L3ByZT48L3A+DQogICAgPHA+b3IsIGlmIHlvdSB3YW50IHRvIGFzc2lnbiBtdWx0aXBsZSBlbnRyaWVzLCBzZXBlcmF0ZSB0aGVtIGJ5IGNvbW1hczo8L3A+DQogICAgPHA+PHByZSBzdHlsZT0iZGlzcGxheTpibG9jazsiPntsaXRlcmFsfXtFcmlkdSBzaG93PSdlbnRyeTEsZW50cnkyLGVudHJ5JyBhc3NpZ249J3ZhcjEsdmFyMix2YXIzJ317L2xpdGVyYWx9PC9wcmU+PC9wPg0KICA8L2Rpdj4NCiAgDQp7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKn0NCnsqIE1ldGhvZHMgKn0NCiAgPGRpdiBpZD0ibWV0aG9kc19jIj4NCiAgICA8aDM+TGFuZ3VhZ2UgcmVkaXJlY3Rpb24gbWV0aG9kczwvaDM+ICANCiAgICA8cD5UaGVyZSBhcmUgdHdvIHBvc3NpYmxlIG1ldGhvZHMgdG8gdGVsbCBDTVNNUyB3aGljaCBwYWdlIGlzIHRoZSBlcXVpdmFsZW50IGluIGFub3RoZXIgbGFuZ3VhZ2Ugb2YgYSBnaXZlbiBwYWdlLjwvcD4NCiAgICA8cD4gQnkgZGVmYXVsdCwgdGhlIGhpcmVyYXJjaHkgc29sdXRpb24gaXMgYWN0aXZhdGVkLCBidXQgeW91IGNhbiBjaGFuZ2UgdGhhdCBpbiB0aGUgc2V0dGluZ3MgdGFiLjwvcD4NCiAgICA8aDQ+TWFyY29zIENydXoncyBkZWZpbml0aW9uIHNvbHV0aW9uPC9oND4NCiAgICA8ZmllbGRzZXQ+DQogICAgICA8dWw+DQogICAgICAgIDxsaT48c3Ryb25nPjxlbT5Qcm9zOjwvZW0+PC9zdHJvbmc+IGFsbG93cyB0aGlnaHQgY3VzdG9taXphdGlvbiBhbmQgcGFydGlhbCB0cmFuc2xhdGlvbi48L2xpPg0KICAgICAgICA8bGk+PHN0cm9uZz48ZW0+Q29uczo8L2VtPjwvc3Ryb25nPiBuZWVkIHRvIHNwZWNpZnkgbGFuZ3VhZ2UgYWx0ZXJuYXRpdmVzIGZvciBlYWNoIHBhZ2UsIGFuZCB0byB1cGRhdGUgaXQgaWYgYW4gYWxpYXMgY2hhbmdlcy48L2xpPg0KICAgICAgPC91bD4NCiAgICA8L2ZpZWxkc2V0PiANCiAgICA8cD5BZGQgdGhlIGZvbGxvd2luZyB0YWcgaW4gZWFjaCBvZiB5b3VyIHBhZ2UgdGVtcGxhdGVzIDo8cD4NCiAgICA8cD48cHJlIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+e2xpdGVyYWx9e2NvbnRlbnQgYmxvY2s9J090aGVyIGxhbmd1YWdlcycgb25lbGluZT0ndHJ1ZScgYXNzaWduPW90aGVyX2xhbmd1YWdlcyB3eXNpd3lnPSdmYWxzZSd9ey9saXRlcmFsfTwvcHJlPjwvcD4NCiAgICA8cD5UaGlzIHdpbGwgYWRkIGEgY29udGVudCBibG9jayB0byBiZSBmaWxsZWQgd2hlbiB5b3UgZWRpdCB0aGUgcGFnZS4gV2Ugd2lsbCB1c2UgdGhpcyBibG9jayB0byBkZWZpbmUgdGhlIGVxdWl2YWxlbnRzIGluIG90aGVyIGxhbmd1YWdlcyBmb3IgdGhpcyBwYWdlLCBieSBmaWxsaW5nIGl0IGluIHRoZSBmb2xsb3dpbmcgd2F5OjwvcD4NCiAgICA8ZmllbGRzZXQ+ZW5fVVM9PGVtPnBhZ2UxPC9lbT47ZnJfRlI9PGVtPnBhZ2UxPC9lbT47ZGVfREU9PGVtPnBhZ2UxPC9lbT48L2ZpZWxkc2V0Pg0KICAgIDxwPndoZXJlIDxzdHJvbmc+PGVtPnBhZ2UxPC9lbT48L3N0cm9uZz4sIDxzdHJvbmc+PGVtPnBhZ2UxPC9lbT48L3N0cm9uZz4gYW5kIDxzdHJvbmc+PGVtPnBhZ2UxPC9lbT48L3N0cm9uZz4gYXJlIHRoZSBwYWdlIGFsaWFzZXMuPC9wPg0KICAgIDxkaXYgY2xhc3M9Indhcm5pbmciIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+PHA+dGhlIG9yZGVyIGRvZXMgbm90IG1hdHRlciwgYnV0IG5vIHNwYWNlcyBhcmUgYWxsb3dlZDwvcD48L2Rpdj4NCiAgICA8cD5UbyBtYWtlIHN1cmUgdGhlIG1vZHVsZXMgdXNlcyB0aGlzIG1ldGhvZCwgbWFrZSBzdXJlIHRvIHVudGljayB0aGUgPHN0cm9uZz48ZW0+IlVzZSBoaWVyYXJjaHkgZm9yIHJlZGlyZWN0aW9uIjwvZW0+PC9zdHJvbmc+IG9wdGlvbiBpbiB0aGUgPHN0cm9uZz48ZW0+U2V0dGluZ3M8L2VtPjwvc3Ryb25nPiB0YWIuPC9wPg0KICAgIDxoND5UaGUgaGllcmFyY2h5IHNvbHV0aW9uPC9oND4NCiAgICA8ZmllbGRzZXQ+DQogICAgICA8dWw+DQogICAgICAgIDxsaT48c3Ryb25nPjxlbT5Qcm9zOjwvZW0+PC9zdHJvbmc+IGl0J3MgYXV0b21hdGljIC0geW91IGRvbid0IGhhdmUgdG8gZG8gYW55dGhpbmcuPC9saT4NCiAgICAgICAgPGxpPjxzdHJvbmc+PGVtPkNvbnM6PC9lbT48L3N0cm9uZz4gdGhlIHBhZ2Ugc3RydWN0dXJlIG11c3QgYmUgaWRlbnRpY2FsIGZvciBlYWNoIGxhbmd1YWdlLjwvbGk+DQogICAgICA8L3VsPg0KICAgIDwvZmllbGRzZXQ+IA0KICAgIDxwPlRoaXMgc29sdXRpb24gdXNlcyB0aGUgcGFnZSBoaWVyYXJjaHkgdG8ga25vdyB3aGljaCBwYWdlcyBhcmUgZXF1aXZhbGVudC48L3A+DQogICAgPHA+SW4gb3VyIGV4YW1wbGUgYWJvdmUsICIyLjMuIFBhZ2UgMyIgd291bGQgYmUgdGhlIGZyZW5jaCBlcXVpdmFsZW50IG9mICIxLjMuIDNyZCBwYWdlIiwgYmVjYXVzZSBpdCBvY2N1cGllcyB0aGUgZXF1aXZhbGVudCBwb3NpdGlvbiBpbiB0aGUgZnJlbmNoIGJyYW5jaC48L3A+DQogICAgPHA+SW4gb3RoZXIgd29yZHMsIHNob3VsZCB0aGUgcGFnZSBiZSBvcmRlcmVkIGRpZmZlcmVudGx5LCBhbGwgd291bGQgYmUgbWVzc2VkIHVwOjwvcD4NCiAgICA8ZmllbGRzZXQ+DQogICAgICA8bGVnZW5kPlBhZ2UgSGllcmFyY2h5IERvZXNuJ3QgTWF0Y2g8L2xlZ2VuZD4NCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPjEuIEVuZ2xpc2gNCiAgICAgICAgICA8dWw+DQogICAgICAgICAgICA8bGk+MS4xLiAxc3QgcGFnZTwvbGk+DQogICAgICAgICAgICA8bGk+MS4yLiAybmQgcGFnZTwvbGk+DQogICAgICAgICAgICA8bGk+MS4zLiAzcmQgcGFnZTwvbGk+DQogICAgICAgICAgPC91bD4NCiAgICAgICAgPC9saT4NCiAgICAgICAgPGxpPjIuIEZyYW4mY2NlZGlsO2Fpcw0KICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgIDxsaT4yLjEuIFBhZ2UgMTwvbGk+DQogICAgICAgICAgICA8bGk+Mi4yLiBQYWdlIDM8L2xpPg0KICAgICAgICAgICAgPGxpPjIuMy4gUGFnZSAyPC9saT4NCiAgICAgICAgICA8L3VsPg0KICAgICAgICA8L2xpPg0KICAgICAgPC91bD4NCiAgICA8L2ZpZWxkc2V0Pg0KICAgIDxwPkhlcmUsICJQYWdlIDIiIG9jY3VwaWVzIHRoZSB0aGlyZCBwb3NpdGlvbiwgc28gaXQgd291bGQgYmUgZGVlbWVkIGVxdWl2YWxlbnQgdG8gdGhlIDNyZCBwYWdlIGluIGVuZ2xpc2guPC9wPiAgICAgICAgDQogICAgPHA+VGhpcyBhbHNvIG1lYW5zIHRoYXQgaWYgYWxsIHBhZ2VzIGRvIG5vdCBleGlzdCBpbiBhbGwgbGFuZ3VhZ2VzLCB5b3UgaGF2ZSB0byBiZSBjYXJlZnVsLiBGb3IgZXhhbXBsZTo8L3A+DQogICAgPGZpZWxkc2V0Pg0KICAgICAgPGxlZ2VuZD5QYWdlIEhpZXJhcmNoeSBXaXRoIGEgTWlzc2luZyBQYWdlPC9sZWdlbmQ+DQogICAgICA8dWw+DQogICAgICAgIDxsaT4xLiBFbmdsaXNoDQogICAgICAgICAgPHVsPg0KICAgICAgICAgICAgPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPg0KICAgICAgICAgICAgPGxpPjEuMi4gMm5kIHBhZ2U8L2xpPg0KICAgICAgICAgICAgPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPg0KICAgICAgICAgIDwvdWw+DQogICAgICAgIDwvbGk+DQogICAgICAgIDxsaT4yLiBGcmFuJmNjZWRpbDthaXMNCiAgICAgICAgICA8dWw+DQogICAgICAgICAgICA8bGk+Mi4xLiBQYWdlIDI8L2xpPg0KICAgICAgICAgICAgPGxpPjIuMi4gUGFnZSAzPC9saT4NCiAgICAgICAgICA8L3VsPg0KICAgICAgICA8L2xpPg0KICAgICAgPC91bD4NCiAgICA8L2ZpZWxkc2V0Pg0KICAgIDxwPkhlcmUsICIxc3QgcGFnZSIgd291bGQgYmUgdGFrZW4gdG8gYmUgZXF1aXZhbGVudCB0byAiUGFnZSAyIiBhbmQgIjNyZCBwYWdlIiB3b3VsZCBiZSBkZWVtZWQgdG8gaGF2ZSBubyB0cmFkdWN0aW9uLCBhbHRob3VnaCBpdCBkb2VzLjwvcD4NCiAgPC9kaXY+DQogIA0KeyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKip9DQp7KiBDcmVkaXRzICp9DQogIDxkaXYgaWQ9ImFib3V0X2MiPg0KICAgIA0KICAgIDxoMz5TdXBwb3J0PC9oMz4NCiAgICA8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KICAgIDxwPlRoZSBtb2R1bGUgYXV0aG9yIGlzIGluIG5vIHdheSBvYmxpZ2F0ZWQgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciB0aGlzIGNvZGUgaW4gYW55IGZhc2hpb24uIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXRzIHVzZTo8L3A+DQogICAgeyo8cD5JZiB5b3UgZmluZCBhbnkgYnVncyBwbGVhc2UgZmVlbCBmcmVlIHRvIHN1Ym1pdCBhIGJ1ZyByZXBvcnQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9idWcvbGlzdC8xMzQ1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4gb3IgZm9yIGFueSBnb29kIGlkZWFzIGNvbnNpZGVyIHN1Ym1pdHRpbmcgYSBmZWF0dXJlIHJlcXVlc3QgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9mZWF0dXJlX3JlcXVlc3QvbGlzdC8xMzQ1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4uPC9wPiAgKn0NCiAgICA8cD5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByb3ZpZGUgYWxsIHJlbGV2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvcD4NCiAgICA8cD5UaGUgYXV0aG9yLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L3A+DQogICAgPHA+UGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IGRldmVsb3BlcnMgZG8gaGF2ZSB0aGVpciBkYWlseSBqb2JzIHdoaWNoIG1lYW5zIHRoYXQgZmVhdHVyZSByZXF1ZXN0cyBhcmUgY29uc2lkZXJlZCBhbmQgZG9uZSBhcyB0aW1lIGFsbG93cy4gSWYgeW91IG5lZWQgYSBmZWF0dXJlIHJlYWxseSBiYWRseSBjb25zaWRlciBjb250YWN0aW5nIG9uZSBvZiB0aGUgZGV2ZWxvcGVycyBmb3IgYSBzcG9uc29yZWQgZGV2ZWxvcG1lbnQuPC9wPg0KDQogICAgPHA+SWYgd2FudCB0byBoZWxwIHRoZSBkZXZlbG9wbWVudCBhbmQgbWFpbnRlbmFuY2Ugb2YgdGhpcyBtb2R1bGUsIHBsZWFzZSBjb25zaWRlciBkb25hdGluZy4gPGJyIFw+IDxiciBcPg0KICAgIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyP2NtZD1fcy14Y2xpY2smaG9zdGVkX2J1dHRvbl9pZD00NTdRU1pNUVg3QktBIj4gDQogICAgICA8aW1nIHNyYz0ieyRyb290X3VybH0vbW9kdWxlcy9FcmlkdS9pbWFnZXMvcHBfYnV0dG9uLnBuZyIgYm9yZGVyPSIwIiBuYW1lPSJzdWJtaXQiIGFsdD0iYXlQYWwg4oCTIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lLiIgLz4NCiAgICA8L2E+PC9wPg0KICANCiAgICA8aDM+VHJvdWJsZXNob290aW5nPC9oMz4gICAgDQogICAgPHA+UGFnZSBsYW5ndWFnZSBzaG91bGQgYmUgZGV0ZWN0ZWQgYW5kIGFzc2lnbmVkIHRvIHRoZSBzbWFydHkgdmFyaWFibGVzIGJlZm9yZSB0aGUgdGVtcGxhdGUgaXMgcHJvY2Vzc2VkIGJ5IGFuIGV2ZW50IGhhbmRsZXIuIEhvd2V2ZXIsIGl0IGlzIHBvc3NpYmxlIHRoYXQgYXQgc29tZSBwb2ludCBpbiB0aGUgcGFnZSB0ZW1wbGF0ZSB0aGUgcGFnZSBsYW5ndWFnZSBpcyBsb3N0IChlc3BlY2lhbGx5IHNpbmNlIHRoZSBwYWdlIGhlYWQgaXMgcHJvY2Vzc2VkIHNlcGFyYXRseSBmcm9tIHRoZSBwYWdlIGJvZHkpLiBTaG91bGQgdGhpcyBoYXBwZW4sIHlvdSBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgdGFnIHRvIHJlYXNzaWduIGl0OjwvcD4NCiAgICA8cD48cHJlIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+e2xpdGVyYWx9e0VyaWR1IGFjdGlvbj0nYXNzaWduJ317L2xpdGVyYWx9PC9wcmU+PC9wPg0KICAgIDxwPk5vdGUgdGhhdCB5b3UgbWF5IGFsc28gdXNlPC9wPg0KICAgIDxwPjxwcmUgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij57bGl0ZXJhbH17RXJpZHUgYWN0aW9uPSdhdXRvX3JlZGlyZWN0J317L2xpdGVyYWx9PC9wcmU+PC9wPg0KICAgIDxwPmF0IHRoZSBiZWdpbm5pbmcgb2YgeW91ciB0ZW1wbGF0ZSBpZiwgZm9yIHNvbWUgcmVhc29uLCByZWRpcmVjdGlvbiBkb2VzIG5vdCBvY2N1ciAoSSBkb24ndCBzZWUgd2h5IHRoaXMgc2hvdWxkIGhhcHBlbiB0aG91Z2gpLjwvcD4NCiAgICANCiAgICA8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCiAgICAgIA0KICAgICAgPHA+VGhlIE1vZHVsZSBpcyBjdXJyZW50bHkgYmVpbmcgZGV2ZWxvcGVkIGJ5IDxzdHJvbmc+RmVybmFuZG8gTW9yZ2FkbyAoSm8gTW9yZyk8L3N0cm9uZz4NCiAgICAgIDxiciAvPg0KICAgICAgV2ViOiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cuc20tYXJ0LWxhYi5jb20iIHJlbD0iZXh0ZXJuYWwiPnd3dy5zbS1hcnQtbGFiLmNvbTwvYT4NCiAgICAgIDxiciAvPg0KICAgICAgRW1haWw6IDxhIGhyZWY9Im1haWx0bzpqb21vcmdAc20tYXJ0LWxhYi5jb20iPmpvbW9yZ0BzbS1hcnQtbGFiLmNvbTwvYT4NCiAgICAgIDwvcD4NCiAgICAgIHtpZiAkc21hcnR5Lm5vd3xkYXRlX2Zvcm1hdDoiJVkiID09ICcyMDE2J317JGNyID0gJzIwMTYnfXtlbHNlfXskY3IgPSAiMjAxNiAtIHskc21hcnR5Lm5vd3xkYXRlX2Zvcm1hdDonJVknfSJ9ey9pZn0NCiAgICAgIA0KICAgICAgPHA+QmFiZWwgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIChwbGdlciksIGJhc2VkIG9uIGFuIGFwcHJvYWNoIGJ5IE1hcmNvcyBDcnV6LCBhbmQgcmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBQdWJsaWMgTGljZW5zZS48L3A+DQogICAgICA8cD5Db3B5cmlnaHQgJmNvcHk7IHskY3J9IC4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPGJyIC8+PC9wPg0KICAgICAgDQogICAgICA8cD48c3Ryb25nPkVyaWR1PC9zdHJvbmc+IGlzIGZyZWUgc29mdHdhcmU7PGJyIC8+IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSA8c3Ryb25nPkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlPC9zdHJvbmc+IGFzIHB1Ymxpc2hlZCBieSB0aGUgPHN0cm9uZz5GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb248L3N0cm9uZz47PGJyIC8+IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KICAgICAgPHA+PHN0cm9uZz5FcmlkdTwvc3Ryb25nPiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgPHN0cm9uZz5XSVRIT1VUIEFOWSBXQVJSQU5UWTwvc3Ryb25nPjs8YnIgLz4gd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIDxzdHJvbmc+TUVSQ0hBTlRBQklMSVRZPC9zdHJvbmc+IG9yIDxzdHJvbmc+RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0U8L3N0cm9uZz4uPC9wPg0KICAgICAgPHA+U2VlIHRoZUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuPC9wPg0KICAgICAgPHA+WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgPHN0cm9uZz5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTwvc3Ryb25nPiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTs8YnIgLz4gaWYgbm90LCB3cml0ZSB0byB0aGUgPHN0cm9uZz5GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBPC9zdHJvbmc+IG9yIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPnJlYWQgaXQgb25saW5lPC9hPi48L3A+DQogICAgICA8cD48c3Ryb25nPllvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgPHN0cm9uZz5FcmlkdTwvc3Ryb25nPi48L3N0cm9uZz48L3A+ICAgICAgDQogICAgICANCiAgICAgIDxoND5Db250cmlidXRvcnM8L2g0Pg0KICAgICAgPHA+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cubWF0dGhvcm5zYnkuY2EiIHJlbD0iZXh0ZXJuYWwiPk1hdHQgSG9tc2J5IChESUdJMyk8L2E+IC0gc3BvbnNvcnNoaXAuPC9wPiANCiAgICANCiAgPC9kaXY+DQogIA0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBEVU1NWSBIVE1MIEZJTEUgLS0+]]></data>
	</file>
</module>
