<?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>CustomGS</name>
	<version>3.0</version>
    <mincmsversion>1.12</mincmsversion>
	<help><![CDATA[PGRpdiBpZD0icGFnZV90YWJzIj4NCiAgICA8ZGl2IGlkPSJnZW5lcmFsIj5HZW5lcmFsPC9kaXY+DQoJPGRpdiBpZD0ic3RhcnQiPkdldHRpbmcgc3RhcnRlZDwvZGl2Pg0KCTxkaXYgaWQ9InBlcm1pc3Npb25zIj5QZXJtaXNzaW9uczwvZGl2Pg0KCTxkaXYgaWQ9ImV4YW1wbGVzIj5FeGFtcGxlczwvZGl2Pg0KCTxkaXYgaWQ9InRyb3VibGVzaG9vdGluZyI+VHJvdWJsZXNob290aW5nPC9kaXY+DQogICAgPGRpdiBpZD0iY29weXJpZ2h0Ij5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2Pg0KDQo8ZGl2IGlkPSJwYWdlX2NvbnRlbnQiPg0KCTxkaXYgaWQ9ImdlbmVyYWxfYyI+DQoJCTxwPlRoaXMgbW9kdWxlIGV4dGVuZHMgdGhlIEdsb2JhbCBTZXR0aW5ncyB3aXRoIHNvbWUgY3VzdG9taXplZCBwYXJhbWV0ZXJzLjxiciAvPg0KCQlZb3UgY2FuIGRlZmluZSBhbiB1bmxpbWl0ZWQgbnVtYmVyIG9mIGZpZWxkcyB3aGljaCBjYW4gYmUgdXNlZCBhcyBzbWFydHktdmFyaWFibGUgaW4gdGVtcGxhdGVzIG9yIHBhZ2VzLjwvcD4NCgkJPGJyIC8+DQoJCTxwPkF2YWlsYWJsZSBhcmU6PC9wPg0KCQk8dWw+DQoJCTxsaT5CdXR0b248L2xpPg0KCQk8bGk+Q2hlY2tib3g8L2xpPg0KCQk8bGk+Q29sb3JwaWNrZXI8L2xpPg0KCQk8bGk+RGF0ZXBpY2tlcjwvbGk+DQoJCTxsaT5EYXRlIGFuZCB0aW1lcGlja2VyPC9saT4NCgkJPGxpPkdCRmlsZVBpY2tlciA8aT4obW9kdWxlIEdCRmlsZVBpY2tlciBuZWVkcyB0byBiZSBpbnN0YWxsZWQpPC9pPjwvbGk+DQoJCTxsaT5KTUZpbGVQaWNrZXIgPGk+KG1vZHVsZSBKTUZpbGVQaWNrZXIgbmVlZHMgdG8gYmUgaW5zdGFsbGVkKTwvaT48L2xpPg0KCQk8bGk+UGFnZSBzZWxlY3RvcjwvbGk+DQoJCTxsaT5QdWxsZG93bjwvbGk+DQoJCTxsaT5SYWRpb2J1dHRvbmdyb3VwPC9saT4NCgkJPGxpPlRleHRhcmVhPC9saT4NCgkJPGxpPlRleHRhcmVhIHdpdGggV1lTSVdZRzwvbGk+DQoJCTxsaT5UZXh0ZmllbGQ8L2xpPg0KCQk8bGk+VGltZXBpY2tlcjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCQk8cD5BZGRpdGlvbmFsIHRoZXJlIGlzIGEgc3BlY2lhbCBmaWVsZGRlZmluaXRpb24gIkZpZWxkZ3JvdXAgc3RhcnQiLiBXaXRoIHRoaXMgb3B0aW9uIHlvdSBjYW4gY3JlYXRlIGEgY29sbGFwc2libGUgZ3JvdXAgb2YgZmllbGRzLjxiciAvPg0KCQlBZnRlciBjcmVhdGluZyB0aGUgIkZpZWxkZ3JvdXAgc3RhcnQiLCBhbHNvIGEgIkZpZWxkZ3JvdXAgZW5kIiB3aXRoIHRoZSBzYW1lIG5hbWUgd2lsbCBiZSBhZGRlZCBhdXRvbWF0aWNhbGx5LiBEcmFnICZhbXA7IGRyb3AgZmllbGRzIGJldHdlZW4gc3RhcnQgYW5kIGVuZCB0byBwdXQgdGhlbSBpbiB0aGUgZ3JvdXAuPC9wPg0KCQk8YnIgLz4NCgk8L2Rpdj4NCg0KCTxkaXYgaWQ9InN0YXJ0X2MiPg0KCQk8cD5HbyB0byB0aGUgQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyBtb2R1bGUgYWRtaW4gKGJ5IGRlZmF1bHQgdW5kZXIgbWVudSAnRXh0ZW5zaW9ucycpIGFuZCBkZWZpbmUgZmllbGRzIGluIHRoZSB0YWIgRmllbGRkZWZpbml0aW9ucy48L3A+DQoJCTxwPkluIHRoZSB0ZW1wbGF0ZXMgb3IgcGFnZXMgb2YgeW91ciB3ZWJzaXRlIHlvdSB3aWxsIG5vdyBhdXRvbWF0aWNhbGx5IGhhdmUgdGhvc2Ugc21hcnR5IHZhcmlhYmxlcyBhdmFpbGFibGUuPC9wPg0KCQk8YnIgLz4NCgkJPHA+VGhlIGV4YWN0IHdheSB0byBjYWxsIGVhY2ggdmFyaWFibGUgaXMgc2hvd24gaW4gdGhlIGZpZWxkZGVmaW5pdGlvbnMgdGFiLjxiciAvPllvdSBjYW4gYWxzbyBjaGVjayB3aGljaCB2YXJpYWJsZXMgYW5kIHZhbHVlcyBhcmUgYXZhaWxhYmxlIGJ5IHBsYWNpbmcgPGI+e0N1c3RvbUdTIHNob3d2YXJzPTF9PC9iPiBpbiB0aGUgY29udGVudCBmaWVsZCBvZiBhIHBhZ2UuPC9wPg0KCQk8YnIgLz4NCgkJPHA+PGI+Tm90ZTo8L2I+IGluIHByZXZpb3VzIHZlcnNpb25zIG9mIHRoaXMgbW9kdWxlLCB5b3UgbmVlZGVkIHRvIHB1dCB0aGUgdGFnIHtDdXN0b21HU30gaW4geW91ciB0ZW1wbGF0ZShzKS4gVGhpcyBpcyBub3QgbmVlZGVkIGFueW1vcmUuIFdoZW4geW91IHVwZ3JhZGUgZnJvbSBhIHZlcnNpb24gcHJpb3IgdG8gMi4yLCB5b3Ugc2hvdWxkIGRlbGV0ZSB0aGUge0N1c3RvbUdTfSB0YWcgZnJvbSB5b3VyIHRlbXBsYXRlcywgYWx0aG91Z2ggaXQgd29uJ3QgZG8gYW55IGhhcm0gaWYgeW91IGxlYXZlIGl0IHRoZXJlLjwvcD4NCgkJPGJyIC8+DQoJCTxoND5Pcmdhbml6aW5nIGZpZWxkczwvaDQ+DQoJCTxwPldoZW4geW91IGhhdmUgbWFueSBmaWVsZGRlZmluaXRpb25zLCB5b3UgY2FuIG9yZ2FuaXplIHRoZW0gYnkgY3JlYXRpbmcgY3VzdG9tIHRhYnMuPC9wPg0KCQk8cD5GaWVsZHMgY2FuIGJlIGFzc2lnbmVkIHRvIG9uZSBvciBtb3JlIHRhYnMsIHdoaWxlIGVkaXRpbmcgdGhlIGZpZWxkZGVmaW5pdGlvbi4gQSBtb3JlIGVhc3kgd2F5IGlzIHRvIHNlbGVjdCBhIHRhYiBpbiB0aGUgZHJvcGRvd24gYXQgdGhlIHRvcCBvZiB0aGUgZmllbGRkZWZpbml0aW9uc2xpc3QgYW5kIHRoZW4gdG9nZ2xlIHRoZSBWLW1hcmtzLiBDaGFuZ2VzIGFyZSBpbW1lZGlhdGVseSBzYXZlZC48YnIgLz5UaGUgdGFiLWRyb3Bkb3duIHdpbGwgb25seSBiZSBhdmFpbGFibGUgYXQgdGhlIHRvcCBvZiB0aGUgZmllbGRkZWZpbml0aW9uc2xpc3Qgd2hlbiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBjdXN0b20gdGFicyB5b3UgaGF2ZSBwZXJtaXNzaW9ucyBvbi48L3A+DQoJCTxiciAvPg0KCQk8cD5UaGUgc29ydG9yZGVyIG9mIGZpZWxkZGVmaW5pdGlvbnMgYW5kIGN1c3RvbSB0YWJzIGNhbiBiZSBjaGFuZ2VkIGJ5IGRyYWdnaW5nICZhbXA7IGRyb3BwaW5nIHRoZSByb3dzIGluIHRoZWlyIGxpc3QuIFRoZSBuZXcgc29ydG9yZGVyIHdpbGwgYmUgc2F2ZWQgaW1tZWRpYXRlbHkgb24gZHJvcC48L3A+DQoJCTxiciAvPg0KCTwvZGl2Pg0KDQoJPGRpdiBpZD0icGVybWlzc2lvbnNfYyI+DQoJCTxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHRocmVlIGRpZmZlcmVudCBsZXZlbHMgb2YgcGVybWlzc2lvbnM6IG9uIGEgbW9kdWxlIGxldmVsLCBvbiBhIHRhYiBsZXZlbCBhbmQgb24gYSBmaWVsZCBsZXZlbC48L3A+DQoJCTxoND5Nb2R1bGUgbGV2ZWw8L2g0Pg0KCQk8cD5Gb3Igc2V0dGluZyBtb2R1bGUgcGVybWlzc2lvbnMsIGdvIHRvIG1lbnUgPGk+VXNlcnMgJiBHcm91cHMgwrsgR3JvdXAgUGVybWlzc2lvbnM8L2k+OjwvcD4NCgkJPHVsPg0KCQk8bGk+PGI+Q3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIFVzZTwvYj48YnIgLz4NCgkJQSBwZXJtaXNzaW9uIGZvciBlZGl0b3JzLiBJdCB3aWxsIG9ubHkgc2hvdyB0aGUgKGN1c3RvbSkgdGFicyBmb3IgY2hhbmdpbmcgZmllbGR2YWx1ZXMgaW4gdGhlIG1vZHVsZSBhZG1pbiBwYWdlLjwvbGk+DQoJCTxsaT48Yj5DdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gTWFuYWdlPC9iPjxiciAvPg0KCQlBIHBlcm1pc3Npb24gZm9yIGFkbWluaXN0cmF0b3JzLiBJdCB3aWxsIHNob3cgZXh0cmEgdGFicyBmb3IgY3JlYXRpbmcvZWRpdGluZyBmaWVsZGRlZmluaXRpb25zLCB0YWJzIGFuZCBvcHRpb25zLjwvbGk+DQoJCTwvdWw+DQoJCTxoND5UYWIgbGV2ZWw8L2g0Pg0KCQk8cD5XaGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSBjdXN0b20gdGFiLCBzZWxlY3Qgb25lIG9yIG1vcmUgZ3JvdXBzIGluIHRoZSA8Yj5Hcm91cCBQZXJtaXNzaW9uczwvYj4gZHJvcGRvd24gbGlzdCAod2l0aCBjdHJsKS4gT25seSB1c2VycyB3aG8gYmVsb25nIHRvIHRoZSBzZWxlY3RlZCBncm91cHMgd2lsbCBiZSBhYmxlIHRvIHNlZSB0aGUgdGFiIGluIHRoZSBtb2R1bGUgYWRtaW4uIElmIG5vIGdyb3VwIGlzIHNlbGVjdGVkLCB0aGUgdGFiIHdpbGwgYmUgdmlzaWJsZSBmb3IgYWxsIGdyb3Vwcy4gPGJyIC8+VGFicyB3aWxsIG5ldmVyIGJlIGhpZGRlbiBmb3IgYWRtaW4gdXNlcnMuPC9wPg0KCQk8aDQ+RmllbGQgbGV2ZWw8L2g0Pg0KCQk8cD5XaGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSBmaWVsZGRlZmluaXRpb24sIHNlbGVjdCBvbmUgb3IgbW9yZSBncm91cHMgaW4gdGhlIDxiPkdyb3VwIFBlcm1pc3Npb25zPC9iPiBkcm9wZG93biBsaXN0ICh3aXRoIGN0cmwpLiBPbmx5IHVzZXJzIHdobyBiZWxvbmcgdG8gdGhlIHNlbGVjdGVkIGdyb3VwcyB3aWxsIGJlIGFibGUgdG8gc2VlIGFuZCBjaGFuZ2UgdGhlIGZpZWxkdmFsdWUgYXNzaWduZWQgdGFiKHMpLiBJZiBubyBncm91cCBpcyBzZWxlY3RlZCwgdGhlIGZpZWxkIHdpbGwgYmUgdmlzaWJsZSBmb3IgYWxsIGdyb3Vwcy48L3A+DQoJCTxwPk5vdGUgdGhhdCBhIHVzZXIgd2lsbCBub3QgYmUgYWJsZSB0byBzZWUgYSBmaWVsZCB3aGVuIHRoYXQgZmllbGQgd2FzIGFzc2lnbmVkIG9ubHkgdG8gdGFiKHMpIGZvciB3aGljaCB0aGUgdXNlciBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb25zLjwvcD4NCgkJPHA+RmllbGRzIHdpbGwgbmV2ZXIgYmUgaGlkZGVuIGZvciBhZG1pbiB1c2Vycy48L3A+DQoJCTxiciAvPg0KCTwvZGl2Pg0KDQoJPGRpdiBpZD0iZXhhbXBsZXNfYyI+DQoJCTxwPk1vcmUgZXhhbXBsZXMgYXQgdGhlIDxhIGhyZWY9Imh0dHA6Ly93aWtpLmNtc21zLm5sL2luZGV4LnBocC9DdXN0b21HUyNFeGFtcGxlcyIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJleHRlcm5hbCI+Q3VzdG9tR1Mgd2lraSBwYWdlPC9hPjwvcD4NCgkJDQoJCTxoMz5DSEVDS0JPWDwvaDM+DQoJCTxoND5DaGFuZ2UgZnJvbnRlbmQgdGhlbWU8L2g0Pg0KCQk8cD5EZWZpbmUgYSBjaGVja2JveCAnQ2hyaXN0bWFzIG5vdycgd2hpY2ggd2lsbCBhY3RpdmF0ZSBhIHNwZWNpYWwgdGhlbWUgb24gdGhlIGZyb250ZW5kIHdoZW4gY2hlY2tlZDwvcD4NCgkJPHAgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2RkZDsgcGFkZGluZzoxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjMiPg0KCQk8Y29kZT4NCgkJe2lmICRDdXN0b21HUy5DaHJpc3RtYXNfbm93ID09ICcxJ308YnIgLz4NCgkJJm5ic3A7Jm5ic3A7Jm5ic3A7eyogU2hvdyBDaHJpc3RtYXMgZnJvbnRlbmQgdGhlbWUgKn08YnIgLz4NCgkJe2Vsc2V9PGJyIC8+DQoJCSZuYnNwOyZuYnNwOyZuYnNwO3sqIFNob3cgZGVmYXVsdCBmcm9udGVuZCB0aGVtZSAqfTxiciAvPg0KCQl7L2lmfQ0KCQk8L2NvZGU+DQoJCTwvcD4NCgkJPGJyIC8+DQoJCQ0KCQk8aDQ+TWFnaWMgd2l0aCBhIGNoZWNrYm94PC9oND4NCgkJPHA+RGVmaW5lIGEgY2hlY2tib3ggJ015Q2hlY2tib3gnIHdoaWNoIHdpbGwgZG8gc29tZSBtYWdpYyBzdHVmZiB3aGVuIHVuY2hlY2tlZDwvcD4NCgkJPHAgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2RkZDsgcGFkZGluZzoxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjMiPg0KCQk8Y29kZT4NCgkJe2lmICRDdXN0b21HUy5NeUNoZWNrYm94ICE9ICcxJ308YnIgLz4NCgkJJm5ic3A7Jm5ic3A7Jm5ic3A7eyogRG8gc29tZSBtYWdpYyBzdHVmZiAqfTxiciAvPg0KCQl7L2lmfQ0KCQk8L2NvZGU+DQoJCTwvcD4NCgkJPGJyIC8+DQoJCQ0KCQk8aDM+REFURSBhbmQgVElNRVBJQ0tFUjwvaDM+DQoJCTxoND5EaXNwbGF5IHBhZ2UgY29udGVudCBvbmx5IGluIGEgc3BlY2lmaWMgdGltZWZyYW1lPC9oND4NCgkJPHA+RGVmaW5lIHR3byB0aW1lcGlja2VyIGZpZWxkcyAnc3RhcnR0aW1lJyBhbmQgJ2VuZHRpbWUnLiBSZXBsYWNlIHRoZSB7Y29udGVudH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZSB3aXRoIHRoaXMgY29kZSBhbmQgdGhlIG5vcm1hbCBwYWdlIGNvbnRlbnQgaXMgb25seSB2aXNpYmxlIHdoZW4gdGhlIGN1cnJlbnQgdGltZSBpcyBiZXR3ZWVuIHRoZSBzdGFydHRpbWUgYW5kIGVuZHRpbWUuPC9wPg0KCQk8cCBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCAjZGRkOyBwYWRkaW5nOjEwcHg7IGJhY2tncm91bmQtY29sb3I6I2YzZjNmMyI+DQoJCTxjb2RlPg0KCQl7aWYgJHNtYXJ0eS5ub3d8ZGF0ZV9mb3JtYXQ6JyVIOiVNJyA+PSAkQ3VzdG9tR1Muc3RhcnR0aW1lICYmICRzbWFydHkubm93fGRhdGVfZm9ybWF0OiclSDolTScgPD0gJEN1c3RvbUdTLmVuZHRpbWV9PGJyIC8+DQoJCSZuYnNwOyZuYnNwOyZuYnNwO3tjb250ZW50fTxiciAvPg0KCQl7ZWxzZX08YnIgLz4NCgkJJm5ic3A7Jm5ic3A7Jm5ic3A7e2NvbnRlbnQgYmxvY2s9IlNpdGVDbG9zZWRDb250ZW50In08YnIgLz4NCgkJey9pZn08YnIgLz4NCgkJPC9jb2RlPg0KCQk8L3A+DQoJCTxiciAvPg0KCQkNCgkJPGgzPlBVTExET1dOPC9oMz4NCgkJPGg0PlB1bGxkb3duIGZvciBGZWF0dXJlZCBOZXdzYXJ0aWNsZTwvaDQ+DQoJCTxwPkRlZmluZSBhIHB1bGxkb3duIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIHRpdGxlcyBvZiBhcnRpY2xlcyBmcm9tIHRoZSBOZXdzIG1vZHVsZSwgc28gdGhlIHVzZXIgY2FuIGNob29zZSBhIGZlYXR1cmVkIGFydGljbGUgd2hpY2ggY2FuIGJlIGRpc3BsYXllZCBvbiBhIHNwZWNpYWwgc2VjdGlvbiBvbiB0aGUgc2l0ZS48L3A+DQoNCgkJPHA+Rmlyc3QgY3JlYXRlIGEgbmV3IHN1bW1hcnl0ZW1wbGF0ZSBpbiB0aGUgTmV3cyBtb2R1bGUsIG5hbWVkICJDdXN0b21HU19wdWxsZG93biIgd2l0aCB0aGUgZm9sbG93aW5nIGNvbnRlbnQ6PC9wPg0KDQoJCTxwIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkICNkZGQ7IHBhZGRpbmc6MTBweDsgYmFja2dyb3VuZC1jb2xvcjojZjNmM2YzIj4NCgkJPGNvZGU+e2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX08YnIgLz4NCgkJJm5ic3A7Jm5ic3A7Jm5ic3A7eyRlbnRyeS0mZ3Q7aWR9fHskZW50cnktJmd0O3RpdGxlfTxiciAvPg0KCQl7L2ZvcmVhY2h9PC9jb2RlPg0KCQk8L3A+DQoJCTxiciAvPg0KCQk8cD5UaGVuIGRlZmluZSBhIG5ldyBmaWVsZCBpbiB0aGUgQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyBtb2R1bGU8L3A+DQoNCgkJPHA+PGI+TmFtZTo8L2I+IEZlYXR1cmVkIE5ld3M8YnIgLz4NCgkJPGI+VHlwZTo8L2I+IFB1bGxkb3duPGJyIC8+DQoJCTxiPlByb3BlcnRpZXM6PC9iPiB7Y21zX21vZHVsZSBtb2R1bGU9J05ld3MnIHN1bW1hcnl0ZW1wbGF0ZT0nQ3VzdG9tR1NfcHVsbGRvd24nfTxiciAvPg0KCQlOb3RlIHRoYXQgc2hvcnQgbW9kdWxlIHRhZ3Mgd29uJ3Qgd29yayBpbiB0aGUgYmFjay1lbmQsIHNvIHlvdSBoYXZlIHRvIHVzZSB0aGUgY21zX21vZHVsZSB0YWcuPC9wPg0KCQk8YnIgLz4NCgkJPHA+RmluYWxseSBwdXQgdGhpcyB0YWcgaW4geW91ciBwYWdlIHRlbXBsYXRlIHRvIGRpc3BsYXkgdGhlIGZlYXR1cmVkIG5ld3NhcnRpY2xlOjwvcD4NCgkJPHAgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2RkZDsgcGFkZGluZzoxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjMiPg0KCQk8Y29kZT57bmV3cyBhY3Rpb249J2RldGFpbCcgYXJ0aWNsZWlkPSRDdXN0b21HUy5GZWF0dXJlZF9OZXdzfTwvY29kZT4NCgkJPC9wPg0KCQk8YnIgLz4NCgkJDQoJCTxoMz5SQURJT0JVVFRPTkdST1VQPC9oMz4NCgkJPGg0PkNoYW5nZSBmcm9udGVuZCBjb2xvcjwvaDQ+DQoNCgkJPHA+Q3JlYXRlIGEgUmFkaW9idXR0b24gZ3JvdXAgbmFtZWQgInRleHRjb2xvciI8L3A+DQoJCTxwPlRoZSBwcm9wZXJ0aWVzIHZhbHVlIGFyZTo8cD4NCgkJPHAgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2RkZDsgcGFkZGluZzoxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjMiPg0KCQkjZmYwMDAwfHJlZDxiciAvPg0KCQkjMDBmfGJsdWU8YnIgLz4NCgkJIzEwMTAxMHxhbG1vc3QgYmxhY2s8L3A+DQoJCTxiciAvPg0KCQk8cD5BbHNvIGNsaWNrIHRoZSBjaGVja2JveCAnQ2xlYXIgc3R5bGVzaGVldGNhY2hlJy4gVGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgcmVuZXcgdGhlIHN0eWxlc2hlZXRzLjwvcD4NCgkJPGJyIC8+DQoJCTxwPkFkZCB0byB0aGUgdG9wIG9mIHlvdXIgc3R5bGVzaGVldDo8L3A+DQoJCTxwIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkICNkZGQ7IHBhZGRpbmc6MTBweDsgYmFja2dyb3VuZC1jb2xvcjojZjNmM2YzIj4NCgkJPGNvZGU+W1tDdXN0b21HU11dPC9jb2RlPg0KCQk8L3A+DQoJCTxiciAvPg0KCQk8cD5UbyBjaGFuZ2UgZm9yIGV4YW1wbGUgdGhlIGNvbG9yIG9mIHRoZSBwLXRleHQgYWRkOjwvcD4NCgkJPHAgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2RkZDsgcGFkZGluZzoxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjMiPg0KCQk8Y29kZT5jb2xvcjogW1skQ3VzdG9tR1MudGV4dGNvbG9yXV07PC9jb2RlPg0KCQk8L3A+DQoJCTxiciAvPg0KCQk8cD5PciBkaXJlY3RseSBpbmNsdWRlZCBpbiBhIHBhZ2Ugb3IgdGVtcGxhdGU6PHA+DQoJCTxwIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkICNkZGQ7IHBhZGRpbmc6MTBweDsgYmFja2dyb3VuZC1jb2xvcjojZjNmM2YzIj4NCgkJPGNvZGU+Jmx0O3Agc3R5bGU9ImNvbG9yOiB7JEN1c3RvbUdTLnRleHRjb2xvcn07IiZndDtMb3JlbSBJcHN1bSZsdDsvcCZndDs8L2NvZGU+DQoJCTwvcD4NCgkJPGJyIC8+DQoNCgkJPGgzPlRFWFRGSUVMRDwvaDM+DQoJCTxoND5TaG93IGN1cnJlbnQgdHJhaW5lcjwvaDQ+DQoJCTxwPkRlZmluZSBhIHRleHRmaWVsZCBvciBwdWxsZG93biBmaWVsZCAnVHJhaW5lcicgd2hpY2ggd2lsbCBjb250YWluIHRoZSBjdXJyZW50IHRyYWluZXJzIG5hbWUuPC9wPg0KCQk8cCBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCAjZGRkOyBwYWRkaW5nOjEwcHg7IGJhY2tncm91bmQtY29sb3I6I2YzZjNmMyI+DQoJCTxjb2RlPg0KCQkmbHQ7cCZndDtUaGlzIHdlZWtzIHRyYWluZXJzIG5hbWUgaXM6IHskQ3VzdG9tR1MuVHJhaW5lcn0mbHQ7L3AmZ3Q7DQoJCTwvY29kZT4NCgkJPC9wPg0KCQk8YnIgLz4NCgk8L2Rpdj4NCg0KCTxkaXYgaWQ9InRyb3VibGVzaG9vdGluZ19jIj4NCgkJPGg0PkNoZWNrIHRlbXBsYXRlIHZhcmlhYmxlczwvaDQ+DQoJCTxwPllvdSBjYW4gY2hlY2sgd2hpY2ggdmFyaWFibGVzIGFuZCB2YWx1ZXMgYXJlIGF2YWlsYWJsZSBieSBwbGFjaW5nIDxiPntDdXN0b21HUyBzaG93dmFycz0xfTwvYj4gaW4gdGhlIGNvbnRlbnQgZmllbGQgb2YgYSBwYWdlLjwvcD4NCgkJPGJyIC8+DQoJCQ0KCQk8aDQ+U21hcnR5IGVycm9yPC9oND4NCgkJPHA+PGI+RXJyb3I6PC9iPiBTbWFydHkgZXJyb3I6IFtpbiB0ZW1wb3JhcnkgdGVtcGxhdGUgbGluZSA0XTogW3BsdWdpbl0gdW5rbm93biB0YWcuLi48L3A+DQoJCTxwPjxiPlNvbHV0aW9uOjwvYj4gWW91IHByb2JhYmx5IGhhdmUgZW50ZXJlZCBjdXJseSBicmFja2V0ICYjMTIzOyAmIzEyNTsgc2lnbnMgaW4gdGhlIHByb3BlcnRpZXMgZmllbGQgb2YgYSBwdWxsZG93biBvciByYWRpb2J1dHRvbiBmaWVsZGRlZmluaXRpb24uIFRoZXNlIGFyZSBpbnRlcnByZXRlZCBieSBTbWFydHkuPC9wPg0KCQk8cD5EZWxldGUgdGhlbSwgdXNlIDxjb2RlPiYjMTIzO2Ntc19tb2R1bGUmIzEyNTs8L2NvZGU+IHRhZyBpbiBzdGVhZCBvZiB0aGUgc2hvcnQgbW9kdWxlIGNhbGwsIG9yIHVzZSA8Y29kZT4mIzEyMztsaXRlcmFsJiMxMjU7PC9jb2RlPiB0YWdzLjwvcD4NCgkJPGJyIC8+DQoJCQ0KCQk8aDQ+Q2FuJ3QgY2hvb3NlIEdCRmlsZVBpY2tlciBhbnltb3JlIGFmdGVyIHVwZ3JhZGluZyB0byBDTVNNUyAyLng8L2g0Pg0KCQk8cD48Yj5FcnJvcjo8L2I+IEdCRmlsZVBpY2tlciAoTm90IGluc3RhbGxlZCk8L3A+DQoJCTxwPjxiPlNvbHV0aW9uOjwvYj4gSW5zdGFsbCBtb2R1bGUgSk1GaWxlUGlja2VyIGFuZCB0aGVuIGNoYW5nZSB0aGUgdHlwZSBvZiB0aGUgZmllbGRkZWZpbml0aW9uIGFjY29yZGluZ2x5LiBUaGUgZWFybGllciBzZWxlY3RlZCBpbWFnZSB3aWxsIGJlIHByZXNlcnZlZC48L3A+DQoJCTxiciAvPg0KCQkNCgkJPGg0PnRtcC9jYWNoZS9kZWJ1Zy5sb2cgZ2V0cyBmbG9vZGVkIHdpdGggQ3VzdG9tR1MgZXJyb3JzPC9oND4NCgkJPHA+PGI+RXJyb3I6PC9iPiBSZWR1bmRhbnQge0N1c3RvbUdTfSB0YWcgZm91bmQuPC9wPg0KCQk8cD48Yj5Tb2x1dGlvbjo8L2I+IEluIHByZXZpb3VzIHZlcnNpb25zIG9mIHRoaXMgbW9kdWxlLCB5b3UgbmVlZGVkIHRvIHB1dCB0aGUgdGFnIHtDdXN0b21HU30gaW4geW91ciB0ZW1wbGF0ZShzKS4gVGhpcyBpcyBub3QgbmVlZGVkIGFueW1vcmUuIFdoZW4geW91IGhhdmUgdXBncmFkZWQgZnJvbSBhIHZlcnNpb24gcHJpb3IgdG8gMi4yLCB5b3Ugc2hvdWxkIGRlbGV0ZSB0aGUge0N1c3RvbUdTfSB0YWcgZnJvbSB5b3VyIHRlbXBsYXRlcy48L3A+DQoJCTxiciAvPg0KCQkNCgkJPGg0Pk90aGVyIEVycm9yczwvaDQ+DQoJCTxwPjxiPkVycm9yOjwvYj4gTXkgcHJvYmxlbSB3YXMgbm90IGRlc2NyaWJlZCBoZXJlLjwvcD4NCgkJPHA+PGI+U29sdXRpb246PC9iPiBTZXQgRGVidWcgdG8gJ3RydWUnIGluIGNvbmZpZy5waHAgYW5kIHNlZSBpZiBhbnkgZXJyb3IgbWVzc2FnZXMgYXBwZWFyLiBMb29rIGFsc28gZm9yIGVycm9yIG1lc3NhZ2VzIGluIHRoZSBodG1sIHNvdXJjZWNvZGUuIE1heWJlIHRoZSBlcnJvciBtZXNzYWdlIHRlbGxzIHlvdSBlbm91Z2ggdG8gc29sdmUgdGhlIGlzc3VlIHlvdXJzZWxmLiBTb21lb25lIGVsc2UgbWF5IGhhdmUgZW5jb3VudGVyZWQgdGhlIHNhbWUgcHJvYmxlbSBiZWZvcmUgeW91LCBzbyB5b3UgY291bGQgYWxzbyBzZWFyY2ggdGhlIENNU01TIGZvcnVtIGZvciBwb3NzaWJsZSBzb2x1dGlvbnMuIElmIHlvdSBoYXZlbid0IGZvdW5kIGFueSByZWxhdGVkIHRvcGljcywgcGxlYXNlIGZlZWwgZnJlZSB0byBvcGVuIGEgbmV3IGZvcnVtdG9waWMuPC9wPg0KCQk8YnIgLz4NCgkJPHA+SXQgbWF5IGJlIHRoYXQgdGhlcmUgaXMgbW9yZSBpbmZvIGF2YWlsYWJsZSBhdCB0aGUgPGEgaHJlZj0iaHR0cDovL3dpa2kuY21zbXMubmwvaW5kZXgucGhwL0N1c3RvbUdTI1Ryb3VibGVzaG9vdGluZyIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJleHRlcm5hbCI+Q3VzdG9tR1MgV2lraSBwYWdlPC9hPjwvcD4NCgk8L2Rpdj4NCg0KCTxkaXYgaWQ9ImNvcHlyaWdodF9jIj4NCgkJPHA+Q29weXJpZ2h0IMKpIDIwMTIsIFJvbGYgVGphc3NlbnMgJmx0O2luZm8gYXQgY21zY2FuYmVzaW1wbGUgZG90IG9yZyZndDssIEpvcyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmpvc3ZkQGxpdmUubmwiPmpvc3ZkQGxpdmUubmw8L2E+Jmd0Oy4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KCQk8YnIgLz4NCgkJPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCIgdGFyZ2V0PSJfYmxhbmsiPkdOVSBQdWJsaWMgTGljZW5zZSB2MzwvYT4uPGJyIC8+DQoJCTxiPkhvd2V2ZXI8L2I+LCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gWW91IG1heSBvbmx5IHVzZSB0aGlzIHNvZnR3YXJlIHdoZW4gdGhlcmUgaXMgYSBjbGVhciBhbmQgb2J2aW91cyBpbmRpY2F0aW9uIGluIHRoZSBhZG1pbiBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgU2ltcGxlITwvcD4NCgkJPGJyIC8+DQoJPC9kaXY+DQo8L2Rpdj48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNob3d2YXJzPSIxIiAtIFNldCB0aGlzIHBhcmFtZXRlciB0byBzaG93IGFsbCBhdmFpbGFibGUgdmFyaWFibGVzIGFuZCB0aGVpciB2YWx1ZXMuIEZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBSb2xmIFRqYXNzZW5zLCBKb3MgJmx0O2luZm8gYXQgY21zY2FuYmVzaW1wbGUgZG90IG9yZywgam9zdmQgYXQgbGl2ZSBkb3QgbmwmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMy4wPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPg0KPGxpPjxzdHJvbmc+VmVyc2lvbiAzLjA8L3N0cm9uZz4gLSAxNSBPY3RvYmVyIDIwMTYNCgk8dWw+DQoJPGxpPkFkZGVkIGZpZWxkdHlwZSAnUGFnZSBzZWxlY3RvcicgKEZSICMxMDA3Nyk8L2xpPg0KCTxsaT5Hcm91cGluZyBvZiBzZXR0aW5ncyBieSBjdXN0b20gdGFicyAoRlIgIzEwMTc2KTwvbGk+DQoJPGxpPkNsaWNraW5nIG9uIGZpZWxkdHlwZSBidXR0b24gZmlyZXMgZXZlbnQgJ09uU2V0dGluZ0NoYW5nZSc8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPjxzdHJvbmc+VmVyc2lvbiAyLjI8L3N0cm9uZz4gLSAxMyBNYXJjaCAyMDE2DQoJPHVsPg0KCTxsaT5UYWcge0N1c3RvbUdTfSBubyBsb25nZXIgbmVlZGVkLCBtb2R1bGUgZ2V0cyBhdXRvbWF0aWNhbGx5IGluaXRpYWxpemVkPC9saT4NCgk8bGk+QWRkZWQgZmllbGR0eXBlICdKTUZpbGVQaWNrZXInPC9saT4NCgk8bGk+TmV3IGljb248L2xpPg0KCTxsaT5Vc2UgY29yZSBjbXNfbWFpbGVyIG1ldGhvZDwvbGk+DQoJPGxpPk1pbmltdW0gcmVxdWlyZWQgQ01TbXMgdmVyc2lvbiBzZXQgdG8gMS4xMjwvbGk+DQoJPGxpPkJ1ZyAjMTA4Mzg6IGZpeGVkIC0gRG9lc24ndCBvdXRwdXQgYW55dGhpbmcgaW4gMi4xLjE8L2xpPg0KCTxsaT5CdWcgIzEwOTMyOiBmaXhlZCAtIFBlcm1pc3Npb25zIG5vdCBjaGVja2VkIHByb3Blcmx5PC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT48c3Ryb25nPlZlcnNpb24gMi4xPC9zdHJvbmc+IC0gMTAgSnVseSAyMDE0DQoJPHVsPg0KCTxsaT5CdWcgIzk5ODk6IGZpeGVkIC0gSGlkZGVuIGZpZWxkIHZhbHVlcyBhcmUgcmVzZXQgdG8gIjAiPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT48c3Ryb25nPlZlcnNpb24gMi4wPC9zdHJvbmc+IC0gMjEgTWF5IDIwMTQNCgk8dWw+DQoJPGxpPkZpeGVzIGZvciBDb3JlIDIuMDwvbGk+DQoJPGxpPk1pbmltdW0gcmVxdWlyZWQgQ01TbXMgdmVyc2lvbiBzZXQgdG8gMS4xMTwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+PHN0cm9uZz5WZXJzaW9uIDEuNjwvc3Ryb25nPiAtIDE5IE1heSAyMDE0DQoJPHVsPg0KCTxsaT5NaW5vciBzdHlsZSB1cGRhdGUgZm9yIGNvbGxhcHNpYmxlIGZpZWxkc2V0IChGUiAjOTkzOSk8L2xpPg0KCTxsaT5CdWcgIzk5ODk6IGZpeGVkIC0gSGlkZGVuIGZpZWxkIHZhbHVlcyBhcmUgcmVzZXQgdG8gIjAiPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT48c3Ryb25nPlZlcnNpb24gMS41PC9zdHJvbmc+IC0gNSBEZWNlbWJlciAyMDEzDQoJPHVsPg0KCTxsaT5Qb3NzaWJpbGl0eSB0byBhZGQgYWRtaW4gcGFnZSB1bmRlciBTaXRlIEFkbWluIHNlY3Rpb24uIEVkaXRvcnMgZG9uJ3QgaGF2ZSBhY2Nlc3MhPC9saT4NCgk8bGk+QWRkZWQgZmllbGR0eXBlICdDb2xvclBpY2tlcicgKHRoYW5rcyB0byBKaXNzZXkpPC9saT4NCgk8bGk+QWRkZWQgRnJlbmNoIHRyYW5zbGF0aW9uICh0aGFua3MgdG8gSmlzc2V5KTwvbGk+DQoJPGxpPkFkZGVkIGNvbGxhcHNpYmxlIGZpZWxkZ3JvdXBzIChGUiAjODE2NiwgIzg1MTcgYW5kICM5NDY1KTwvbGk+DQoJPGxpPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGFzc2lnbiBlYWNoIGZpZWxkIHRvICdhZG1pbicgb3IgJ2VkaXRvcicgKEZSICM4NTE1KTwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+PHN0cm9uZz5WZXJzaW9uIDEuNDwvc3Ryb25nPiAtIDkgTWF5IDIwMTMNCgk8dWw+DQoJPGxpPkRyYWcgYW5kIGRyb3AgZmllbGQgb3JkZXJpbmcgKEZSICM4NTE2KTwvbGk+DQoJPGxpPkFkZGVkIGZpZWxkdHlwZSAnR0JGaWxlUGlja2VyJyAoRlIgIzgyODYgYW5kICM4NjM0KTwvbGk+DQoJPGxpPkluY2x1ZGVkIFdpa2kgaGVscHRleHQgYW5kIGV4YW1wbGVzIGluIHRoZSBtb2R1bGUgaGVscHRleHQ8L2xpPg0KCTxsaT5CdWcgIzg2MzM6IGZpeGVkIC0gRG9lcyBub3QgZXNjYXBlIGhlbHAgdGV4dDwvbGk+DQoJPGxpPkJ1ZyAjOTAxOTogZml4ZWQgLSBTdWJtaXQgbm90IHdvcmtpbmcgZm9yIHRob3NlIHdpdGhvdXQgJ01hbmFnZScgcGVybWlzc2lvbnM8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPjxzdHJvbmc+VmVyc2lvbiAxLjM8L3N0cm9uZz4gLSAxNCBBdWd1c3QgMjAxMg0KCTx1bD4NCgk8bGk+UmVtb3ZlZCBDbGVhciBDYWNoZSBkdWUgdG8gRm9yZ2UgcmVndWxhdGlvbnM8L2xpPg0KCTxsaT5CdWcgIzgwMDk6IGZpeGVkIC0gSXNzdWUgd2l0aCB0ZXh0IGFyZWFzIHdpdGggc21hcnR5IHBhcnNpbmcgb248L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPjxzdHJvbmc+VmVyc2lvbiAxLjI8L3N0cm9uZz4gLSAyMCBNYXJjaCAyMDEyDQoJPHVsPg0KCTxsaT5NaW5pbXVtIHJlcXVpcmVkIENNU21zIHZlcnNpb24gc2V0IHRvIDEuMTA8L2xpPg0KCTxsaT5BZGQgR2V0QWRtaW5TZWN0aW9uIHNldHRpbmcgKEZSICM3NjE4KTwvbGk+DQoJPGxpPkFkZGVkIG9wdGlvbiB0byBhdXRvbWF0aWNhbGx5IGNsZWFyIGNhY2hlIGFmdGVyIGNoYW5naW5nIGEgc2V0dGluZzwvbGk+DQoJPGxpPkFkZGVkIGZpZWxkdHlwZSAnQnV0dG9uJzwvbGk+DQoJPGxpPlN1cHBvcnQgVmFsdWV8T3B0aW9uTmFtZSBwYWlycyBhbmQgU21hcnR5IHRhZ3MgZm9yIHB1bGxkb3duIGZpZWxkcyBhbmQgcmFkaW9idXR0b25zPC9saT4NCgk8bGk+QnVnIGZpeGVkOiBFZGl0aW5nIGEgZmllbGQgY2hhbmdlcyB0aGUgZmllbGRuYW1lPC9saT4NCgk8bGk+QnVnIGZpeGVkOiBTZW5kRXZlbnQgb24gY2hhbmdpbmcgYSBjaGVja2JveCBzZXR0aW5nPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT48c3Ryb25nPlZlcnNpb24gMS4xPC9zdHJvbmc+IC0gMTkgRmVicnVhcnkgMjAxMg0KCTx1bD4NCgk8bGk+RGVmaW5lIHVubGltaXRlZCBudW1iZXIgb2YgZmllbGRzPC9saT4NCgk8bGk+QWRkZWQgZmllbGR0eXBlcyB0ZXh0YXJlYSwgd3lzaXd5ZywgZGF0ZXRpbWVwaWNrZXIsIHB1bGxkb3duIHNlbGVjdCwgcmFkaW9idXR0b25zPC9saT4NCgk8bGk+QWRkZWQgZXZlbnQgT25TZXR0aW5nQ2hhbmdlPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT48c3Ryb25nPlZlcnNpb24gMS4wPC9zdHJvbmc+IC0gMjEgSmFudWFyeSAyMDEyDQoJPHVsPg0KCTxsaT5Jbml0aWFsIG1vZHVsZSByZWxlYXNlPC9saT4NCgk8L3VsPg0KPC9saT4NCjwvdWw+PGJyIC8+]]></about>
	<description><![CDATA[A module to extend the Global Settings with some customized parameters. You can define an unlimited number of fields which can be used as smarty-variable in templates or pages.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncw0KIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2N1c3RvbWdzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsNCg0KLy8gUGFzcyB0aGUgZmllbGRzIHRvIHRoZSB0ZW1wbGF0ZXMNCmlmICggaXNzZXQoJHBhcmFtc1snc2hvd3ZhcnMnXSkgKQ0Kew0KCSRmaWVsZHMgPSAkdGhpcy0+R2V0U2V0dGluZ3MoKTsNCglmb3JlYWNoICggJGZpZWxkcyBhcyAka2V5PT4kdmFsdWUgKQ0KCXsNCgkJaWYgKCAhaXNfbnVtZXJpYygka2V5KSApIGVjaG8gJ3skQ3VzdG9tR1MuJyAuICRrZXkgLiAnfSA9ICcgLiAkdmFsdWUgLiAnPGJyIC8+JzsNCgl9DQp9DQplbHNlIA0Kew0KCS8vIFJlZHVuZGFudCB7Q3VzdG9tR1N9IHRhZyBmb3VuZA0KCWRlYnVnX3RvX2xvZygnUmVkdW5kYW50IHtDdXN0b21HU30gdGFnIGZvdW5kLiBTaW5jZSByZWxlYXNlIDIuMiB0aGlzIHRhZyBpcyBubyBsb25nZXIgbmVlZGVkLiBUaGUgbW9kdWxlIGdldHMgYXV0b21hdGljYWxseSBpbml0aWFsaXplZC4gWW91IGNhbiByZW1vdmUgdGhlIHRhZyBmcm9tIHlvdXIgdGVtcGxhdGUocykuJyk7DQp9DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncw0KIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2N1c3RvbWdzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsNCg0KaWYgKCEkdGhpcy0+VmlzaWJsZVRvQWRtaW5Vc2VyKCkpDQp7DQoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MgLSBVc2UnKSk7DQoJcmV0dXJuOw0KfQ0KDQokYWRtaW50aGVtZSA9IGNtc191dGlsczo6Z2V0X3RoZW1lX29iamVjdCgpOw0KDQovKioNCiAqIENyZWF0ZSBBZG1pbiB0YWJzDQogKi8gDQogDQokdGFicyA9ICR0aGlzLT5HZXRUYWJzKCk7DQogDQplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsNCgkkYWN0aXZlX3RhYiA9IGVtcHR5KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkgPyAnJyA6ICRwYXJhbXNbJ2FjdGl2ZV90YWInXTsNCg0KCWZvcmVhY2goICR0YWJzIGFzICR0YWIgKQ0KCXsNCgkJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCd0YWInIC4gJHRhYlsndGFiaWQnXSwgJHRhYlsnbmFtZSddLCAoJGFjdGl2ZV90YWIgPT0gJ3RhYicgLiAkdGFiWyd0YWJpZCddKT90cnVlOmZhbHNlKTsNCgl9DQoNCglpZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MgLSBNYW5hZ2UnKSApDQoJew0KCQllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2ZpZWxkZGVmcycsICR0aGlzLT5MYW5nKCJ0aXRsZV9maWVsZGRlZnMiKSwgKCRhY3RpdmVfdGFiID09ICdmaWVsZGRlZnMnKT90cnVlOmZhbHNlKTsNCgkJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCd0YWJzJywgJHRoaXMtPkxhbmcoInRpdGxlX3RhYnMiKSwgKCRhY3RpdmVfdGFiID09ICd0YWJzJyk/dHJ1ZTpmYWxzZSk7DQoJCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignb3B0aW9ucycsIGxhbmcoIm9wdGlvbnMiKSwgKCRhY3RpdmVfdGFiID09ICdvcHRpb25zJyk/dHJ1ZTpmYWxzZSk7DQoJfQ0KDQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7DQoNCg0KZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7DQoNCglpZiAoIGZ1bmN0aW9uX2V4aXN0cygnY21zX2FkbWluX2N1cnJlbnRfbGFuZ3VhZ2UnKSApIHNldGxvY2FsZShMQ19USU1FLCBjbXNfYWRtaW5fY3VycmVudF9sYW5ndWFnZSgpKTsgLy8gZm9yIGNtc21zIDEuMTAgb25seQ0KCWZvciAoJGkgPSAxOyAkaSA8PSAxMjsgJGkrKykNCgl7DQoJCSR0aW1lc3RhbXA9bWt0aW1lKDEsMSwxLCRpLDEsMjAwMCk7DQoJCSRtb250aHNbXSA9IGh0bWxlbnRpdGllcyhzdHJmdGltZSgnJUInLCAkdGltZXN0YW1wKSk7DQoJfQ0KCSRtb250aG5hbWVzID0gaW1wbG9kZSgiJywnIiwkbW9udGhzKTsNCglmb3IgKCRpID0gMTsgJGkgPD0gNzsgJGkrKykNCgl7DQoJCSR0aW1lc3RhbXA9bWt0aW1lKDEsMSwxLDEwLCRpLDIwMDApOw0KCQkkZGF5c1tdID0gaHRtbGVudGl0aWVzKHN0cmZ0aW1lKCclQScsICR0aW1lc3RhbXApKTsNCgkJJGRheXNtaW5bXSA9IGh0bWxlbnRpdGllcyhzdWJzdHIoc3RyZnRpbWUoJyVhJywgJHRpbWVzdGFtcCksIDAsIDIpKTsNCgl9DQoJJGRheW5hbWVzID0gaW1wbG9kZSgiJywnIiwkZGF5cyk7DQoJJGRheW5hbWVzbWluID0gaW1wbG9kZSgiJywnIiwkZGF5c21pbik7DQoNCgkkRFBfbG9jYWxlID0gIg0KCQkkLmRhdGVwaWNrZXIucmVnaW9uYWxbJyddID0gew0KCQkJY2xvc2VUZXh0OiAnIiAuIGxhbmcoJ2Nsb3NlJykgLiAiJywNCgkJCXByZXZUZXh0OiAnIiAuIGxhbmcoJ3ByZXZpb3VzJykgLiAiJywNCgkJCW5leHRUZXh0OiAnIiAuIGxhbmcoJ25leHQnKSAuICInLA0KCQkJY3VycmVudFRleHQ6ICciIC4gJHRoaXMtPkxhbmcoJ25vdycpIC4gIicsDQoJCQltb250aE5hbWVzOiBbJyIgLiAkbW9udGhuYW1lcyAuICInXSwNCgkJCWRheU5hbWVzOiBbJyIgLiAkZGF5bmFtZXMgLiAiJ10sDQoJCQlkYXlOYW1lc01pbjogWyciIC4gJGRheW5hbWVzbWluIC4gIiddLA0KCQkJZGF0ZUZvcm1hdDogJ3l5eXktbW0tZGQnLA0KCQkJZmlyc3REYXk6IDEsDQoJCQlpc1JUTDogZmFsc2UsDQoJCQlzaG93TW9udGhBZnRlclllYXI6IGZhbHNlLA0KCQkJeWVhclN1ZmZpeDogJycNCgkJfTsNCgkJJC5kYXRlcGlja2VyLnNldERlZmF1bHRzKCQuZGF0ZXBpY2tlci5yZWdpb25hbFsnJ10pOw0KDQoJCSQudGltZXBpY2tlci5yZWdpb25hbFsnJ10gPSB7DQoJCQl0aW1lT25seVRpdGxlOiAnIiAuICR0aGlzLT5MYW5nKCdjaG9vc2V0aW1lJykgLiAiJywNCgkJCXRpbWVUZXh0OiAnIiAuICR0aGlzLT5MYW5nKCd0aW1lJykgLiAiJywNCgkJCWhvdXJUZXh0OiAnIiAuIGxhbmcoJ2hvdXInKSAuICInLA0KCQkJbWludXRlVGV4dDogJyIgLiBsYW5nKCdtaW51dGVzJykgLiAiJywNCgkJCWN1cnJlbnRUZXh0OiAnIiAuICR0aGlzLT5MYW5nKCdub3cnKSAuICInLA0KCQkJY2xvc2VUZXh0OiAnIiAuIGxhbmcoJ2Nsb3NlJykgLiAiJywNCgkJCWFtcG06IGZhbHNlDQoJCX07DQoJCSQudGltZXBpY2tlci5zZXREZWZhdWx0cygkLnRpbWVwaWNrZXIucmVnaW9uYWxbJyddKTsNCgkiOw0KDQoJJHNtYXJ0eS0+YXNzaWduKCdEUF9sb2NhbGUnLCAkRFBfbG9jYWxlKTsNCgkNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2dlbmVyYWxqcy50cGwnKTsNCgkNCglmb3JlYWNoKCAkdGFicyBhcyAkdGFiICkNCgl7DQoJCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd0YWInIC4gJHRhYlsndGFiaWQnXSk7DQoJCQlpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fZ2VuZXJhbC5waHAnKTsNCgkJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoJfQ0KDQoJaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gTWFuYWdlJykgKQ0KCXsNCgkJZWNobyAkdGhpcy0+U3RhcnRUYWIoImZpZWxkZGVmcyIpOw0KCQkJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2ZpZWxkZGVmcy5waHAnKTsNCgkJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCgkJZWNobyAkdGhpcy0+U3RhcnRUYWIoInRhYnMiKTsNCgkJCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl90YWJzLnBocCcpOw0KCQllY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KCQllY2hvICR0aGlzLT5TdGFydFRhYigib3B0aW9ucyIpOw0KCQkJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX29wdGlvbnMucGhwJyk7DQoJCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KCX0NCg0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.editfielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncw0KIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2N1c3RvbWdzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsNCg0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gTWFuYWdlJykgKQ0Kew0KCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMobGFuZygnbmVlZHBlcm1pc3Npb250bycsICdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gTWFuYWdlJykpOw0KCXJldHVybjsNCn0NCg0KaWYgKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQ0Kew0KCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2ZpZWxkZGVmcycpOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQp9DQoNCmlmKCAhaXNzZXQoJHBhcmFtc1snbW9kZSddKSApDQp7DQoJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ21pc3NpbmdwYXJhbXMnKSwgJ2FjdGl2ZV90YWInID0+ICdmaWVsZGRlZnMnKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCXJldHVybjsNCn0NCg0KJGRiID0gJHRoaXMtPkdldERCKCk7DQoNCnN3aXRjaCAoJHBhcmFtc1snbW9kZSddKQ0Kew0KCWNhc2UgJ2FkZCc6DQoJCWlmKCAkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSA9PSAnUE9TVCcgKQ0KCQl7DQoJCQkvLyBjaGVjayBpZiBuYW1lIGlzIGVtcHR5DQoJCQlpZiAoIGVtcHR5KCRwYXJhbXNbJ25hbWUnXSkgKSAkcGFyYW1zWyduYW1lJ10gPSAkcGFyYW1zWyd0eXBlJ10gLiAiMSI7DQoJCQkvLyBjaGVjayBpZiBuYW1lIGFscmVhZHkgZXhpc3RzDQoJCQlXaGlsZSAoICR0aGlzLT5HZXRGaWVsZCgkcGFyYW1zWyduYW1lJ10pICE9PSBGQUxTRSApDQoJCQl7DQoJCQkJaWYgKCBpc19udW1lcmljKHN1YnN0cigkcGFyYW1zWyduYW1lJ10sIC0xKSkgKQ0KCQkJCXsNCgkJCQkJJHBhcmFtc1snbmFtZSddID0gaXNfbnVtZXJpYyhzdWJzdHIoJHBhcmFtc1snbmFtZSddLCAtMikpID8gc3Vic3RyKCRwYXJhbXNbJ25hbWUnXSwwICwgLTIpIC4gKHN1YnN0cigkcGFyYW1zWyduYW1lJ10sIC0yKSArIDEpIDogc3Vic3RyKCRwYXJhbXNbJ25hbWUnXSwwICwgLTEpIC4gKHN1YnN0cigkcGFyYW1zWyduYW1lJ10sIC0xKSArIDEpOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQkkcGFyYW1zWyduYW1lJ10gLj0gIjEiOw0KCQkJCX0NCgkJCX0NCgkJCS8vIGZpbmQgbWF4aW11bSB2YWx1ZSBmb3Igc29ydG9yZGVyDQoJCQkkcXVlcnkgPSAiU0VMRUNUIE1BWChzb3J0b3JkZXIpIEFTIG1heHNvcnRvcmRlciBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY3VzdG9tZ3MiOw0KCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQkJaWYoICRyZXN1bHQgKQ0KCQkJew0KCQkJCSRmaWVsZCA9ICRyZXN1bHQtPkZldGNoUm93KCk7DQoJCQkJLy8gc2V0IHByb3BlcnRpZXMsIGRlcGVuZGluZyBvbiBmaWVsZHR5cGUNCgkJCQlpZiggJHBhcmFtc1sndHlwZSddID09ICd0ZXh0ZmllbGQnICkNCgkJCQl7DQoJCQkJCSRwYXJhbXNbJ3Byb3BlcnRpZXMnXSA9IGlzX251bWVyaWMoJHBhcmFtc1snbWF4bGVuZ3RoJ10pID8gJHBhcmFtc1snbWF4bGVuZ3RoJ10gOiAyNTU7DQoJCQkJfQ0KCQkJCWVsc2VpZiAoICRwYXJhbXNbJ3R5cGUnXSA9PSAndGV4dGFyZWEnIHx8ICRwYXJhbXNbJ3R5cGUnXSA9PSAnd3lzaXd5ZycgKQ0KCQkJCXsNCgkJCQkJJHBhcmFtc1sncHJvcGVydGllcyddID0gaXNzZXQoJHBhcmFtc1sncGFyc2VzbWFydHknXSk7DQoJCQkJfQ0KCQkJCWVsc2VpZiAoICRwYXJhbXNbJ3R5cGUnXSAhPSAncHVsbGRvd24nICYmICRwYXJhbXNbJ3R5cGUnXSAhPSAncmFkaW9idXR0b25zJyApDQoJCQkJew0KCQkJCQkkcGFyYW1zWydwcm9wZXJ0aWVzJ10gPSAnJzsNCgkJCQl9DQoJCQkJZWxzZWlmICggJHBhcmFtc1sndHlwZSddID09ICdmaWVsZHNldHN0YXJ0JyApDQoJCQkJew0KCQkJCQkkcGFyYW1zWyd0eXBlJ10gPSAnZmllbGRzZXRzdGFydCc7DQoJCQkJCSRwYXJhbXNbJ3Byb3BlcnRpZXMnXSA9ICcnOw0KCQkJCX0NCgkJCQkkcGFyYW1zWydjbGVhcmNhY2hlJ10gPSBpc3NldCgkcGFyYW1zWydjbGVhcmNhY2hlJ10pOw0KCQkJCQ0KCQkJCSRlZGl0b3JzID0gZW1wdHkoJHBhcmFtc1snZWRpdG9ycyddKSA/ICcnIDogaW1wbG9kZSgnOycsICRwYXJhbXNbJ2VkaXRvcnMnXSk7DQoJCQkJDQoJCQkJLy8gc2F2ZSBmaWVsZGRlZmluaXRpb24NCgkJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21ncyAobmFtZSwgaGVscCwgdHlwZSwgcHJvcGVydGllcywgY2xlYXJjYWNoZSwgc29ydG9yZGVyLCBlZGl0b3JzKSBWQUxVRVMgKD8sPyw/LD8sPyw/LD8pIjsNCgkJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1snbmFtZSddLCAkcGFyYW1zWydoZWxwJ10sICRwYXJhbXNbJ3R5cGUnXSwgJHBhcmFtc1sncHJvcGVydGllcyddLCAkcGFyYW1zWydjbGVhcmNhY2hlJ10sICRmaWVsZFsnbWF4c29ydG9yZGVyJ10gKyAxLCAkZWRpdG9ycykpOw0KCQkJfQ0KCQkJaWYoIGlzc2V0KCRyZXN1bHQpICYmICRyZXN1bHQgKQ0KCQkJew0KCQkJCSRmaWVsZGlkID0gJGRiLT5JbnNlcnRfSUQoKTsNCg0KCQkJCS8vIGFkZCBhbHNvIGZpZWxkc2V0ZW5kIGlmIGZpZWxkc2V0c3RhcnQgd2FzIGFkZGVkDQoJCQkJaWYgKCAkcGFyYW1zWyd0eXBlJ10gPT0gJ2ZpZWxkc2V0c3RhcnQnICkNCgkJCQl7DQoJCQkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyduYW1lJ10sICcnLCAnZmllbGRzZXRlbmQnLCAnJywgJHBhcmFtc1snY2xlYXJjYWNoZSddLCAkZmllbGRbJ21heHNvcnRvcmRlciddICsgMiwgJGVkaXRvcnMpKTsNCgkJCQkJJGZpZWxkaWQyID0gJGRiLT5JbnNlcnRfSUQoKTsNCgkJCQl9DQoNCgkJCQkvLyBzYXZlIHRhYiBhc3NpZ25tZW50cw0KCQkJCWZvcmVhY2ggKCRwYXJhbXNbJ3RhYnMnXSBhcyAkdGFiaWQgPT4gJHRhYnNlbGVjdCkNCgkJCQl7DQoJCQkJCWlmICggJHRhYnNlbGVjdCA9PSAxICkNCgkJCQkJew0KCQkJCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY3VzdG9tZ3NfdGFiZmllbGQgKHRhYmlkLCBmaWVsZGlkKSBWQUxVRVMgKD8sPykiOw0KCQkJCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0YWJpZCwgJGZpZWxkaWQpKTsNCgkJCQkJCWlmICggJHBhcmFtc1sndHlwZSddID09ICdmaWVsZHNldHN0YXJ0JyApDQoJCQkJCQl7DQoJCQkJCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY3VzdG9tZ3NfdGFiZmllbGQgKHRhYmlkLCBmaWVsZGlkKSBWQUxVRVMgKD8sPykiOw0KCQkJCQkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGFiaWQsICRmaWVsZGlkMikpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJCQ0KCQkJCS8vIFB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KCQkJCWF1ZGl0KCRmaWVsZGlkLCAnQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIEZpZWxkZGVmaW5pdGlvbicsICdBZGRlZDogJyAuICRwYXJhbXNbJ25hbWUnXSk7DQoJCQkJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnZmllbGRkZWZhZGRlZCcsICdhY3RpdmVfdGFiJyA9PiAnZmllbGRkZWZzJyk7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InPT4gJ3VwZGF0ZWZhaWxlZCcsICdhY3RpdmVfdGFiJyA9PiAnZmllbGRkZWZzJyk7DQoJCQl9DQoNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCX0NCgkJJGZpZWxkID0gYXJyYXkoJ25hbWUnID0+ICcnLCAnaGVscCcgPT4gJycsICd0eXBlJyA9PiAnJywgJ21heGxlbmd0aCcgPT4gJycsICdwcm9wZXJ0aWVzJyA9PiAnJywgJ3BhcnNlc21hcnR5JyA9PiAnJywgJ2NsZWFyY2FjaGUnID0+IDAsICdlZGl0b3JzJyA9PiAnJyk7DQoJCSRzbWFydHktPmFzc2lnbigndGl0bGUnLGxhbmcoJ2FkZCcpKTsNCgkJJHNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnbW9kZScsICdhZGQnKSk7DQoJCWJyZWFrOw0KDQoNCgljYXNlICdkZWxldGUnOg0KCQlpZiggIWlzX251bWVyaWMoJHBhcmFtc1snZmllbGRpZCddKSApDQoJCXsNCgkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJyksICdhY3RpdmVfdGFiJyA9PiAnZmllbGRkZWZzJyk7DQoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCQ0KCQkkZmllbGQgPSAkdGhpcy0+R2V0RmllbGQoJHBhcmFtc1snZmllbGRpZCddKTsNCgkJaWYoICRmaWVsZCA9PT0gRkFMU0UgKQ0KCQl7DQoJCQkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcic9PiAndXBkYXRlZmFpbGVkJywgJ2FjdGl2ZV90YWInID0+ICdmaWVsZGRlZnMnKTsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCX0NCgkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2N1c3RvbWdzIFdIRVJFIGZpZWxkaWQgPSA/IjsNCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1snZmllbGRpZCddKSk7DQoJCS8vIFB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KCQlhdWRpdCgkcGFyYW1zWydmaWVsZGlkJ10sICdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gRmllbGRkZWZpbml0aW9uJywgJ0RlbGV0ZWQ6ICcgLiAkZmllbGRbJ25hbWUnXSk7DQoNCgkJLy8gdXBkYXRlIHRoZSBzb3J0b3JkZXINCgkJJHF1ZXJ5ID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9jdXN0b21ncyBTRVQgc29ydG9yZGVyID0gc29ydG9yZGVyIC0gMSBXSEVSRSBzb3J0b3JkZXIgPiA/IjsNCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWVsZFsnc29ydG9yZGVyJ10pKTsNCgkJDQoJCS8vIGRlbGV0ZSBmaWVsZHNldGVuZA0KCQlpZiAoICRmaWVsZFsndHlwZSddID09ICdmaWVsZHNldHN0YXJ0JyApDQoJCXsNCgkJCSRmaWVsZDIgPSAkdGhpcy0+R2V0RmllbGQoJGZpZWxkWyduYW1lJ10pOw0KCQkJaWYoICRmaWVsZDIgIT09IEZBTFNFICkNCgkJCXsNCgkJCQkkcXVlcnkgPSAiREVMRVRFIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3MgV0hFUkUgZmllbGRpZCA9ID8iOw0KCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWVsZDJbJ2ZpZWxkaWQnXSkpOw0KCQkJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3MgU0VUIHNvcnRvcmRlciA9IHNvcnRvcmRlciAtIDEgV0hFUkUgc29ydG9yZGVyID4gPyI7DQoJCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWVsZDJbJ3NvcnRvcmRlciddKSk7DQoJCQl9DQoJCX0NCg0KCQkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdmaWVsZGRlZnN1cGRhdGVkJywgJ2FjdGl2ZV90YWInID0+ICdmaWVsZGRlZnMnKTsNCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJYnJlYWs7DQoNCg0KCWNhc2UgJ2VkaXQnOg0KCQlpZiggIWlzX251bWVyaWMoJHBhcmFtc1snZmllbGRpZCddKSApDQoJCXsNCgkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJyksICdhY3RpdmVfdGFiJyA9PiAnZmllbGRkZWZzJyk7DQoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJJGZpZWxkID0gJHRoaXMtPkdldEZpZWxkKCRwYXJhbXNbJ2ZpZWxkaWQnXSk7DQoNCgkJaWYoICRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICdQT1NUJyApDQoJCXsNCgkJCS8vIGNoZWNrIGlmIG5hbWUgaXMgZW1wdHkNCgkJCWlmICggZW1wdHkoJHBhcmFtc1snbmFtZSddKSApICRwYXJhbXNbJ25hbWUnXSA9ICRwYXJhbXNbJ3R5cGUnXSAuICIxIjsNCgkJCS8vIGNoZWNrIGlmIG5hbWUgYWxyZWFkeSBleGlzdHMNCgkJCSRjaGVja2ZpZWxkbmFtZSA9ICRmaWVsZFsndHlwZSddID09ICdmaWVsZHNldHN0YXJ0JyA/IEZBTFNFIDogJHRoaXMtPkdldEZpZWxkKCRwYXJhbXNbJ25hbWUnXSk7DQoJCQlXaGlsZSAoICRjaGVja2ZpZWxkbmFtZSAhPT0gRkFMU0UgJiYgJHBhcmFtc1snZmllbGRpZCddICE9ICRjaGVja2ZpZWxkbmFtZVsnZmllbGRpZCddICkNCgkJCXsNCgkJCQlpZiAoIGlzX251bWVyaWMoc3Vic3RyKCRwYXJhbXNbJ25hbWUnXSwgLTEpKSApDQoJCQkJew0KCQkJCQkkcGFyYW1zWyduYW1lJ10gPSBpc19udW1lcmljKHN1YnN0cigkcGFyYW1zWyduYW1lJ10sIC0yKSkgPyBzdWJzdHIoJHBhcmFtc1snbmFtZSddLDAgLCAtMikgLiAoc3Vic3RyKCRwYXJhbXNbJ25hbWUnXSwgLTIpICsgMSkgOiBzdWJzdHIoJHBhcmFtc1snbmFtZSddLDAgLCAtMSkgLiAoc3Vic3RyKCRwYXJhbXNbJ25hbWUnXSwgLTEpICsgMSk7DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCSRwYXJhbXNbJ25hbWUnXSAuPSAiMSI7DQoJCQkJfQ0KCQkJCSRjaGVja2ZpZWxkbmFtZSA9ICR0aGlzLT5HZXRGaWVsZCgkcGFyYW1zWyduYW1lJ10pOw0KCQkJfQ0KCQkJLy8gc2V0IHByb3BlcnRpZXMsIGRlcGVuZGluZyBvbiBmaWVsZHR5cGUNCgkJCWlmKCAkcGFyYW1zWyd0eXBlJ10gPT0gJ3RleHRmaWVsZCcgKQ0KCQkJew0KCQkJCSRwYXJhbXNbJ3Byb3BlcnRpZXMnXSA9IGlzX251bWVyaWMoJHBhcmFtc1snbWF4bGVuZ3RoJ10pID8gJHBhcmFtc1snbWF4bGVuZ3RoJ10gOiAyNTU7DQoJCQl9DQoJCQllbHNlaWYgKCAkcGFyYW1zWyd0eXBlJ10gPT0gJ3RleHRhcmVhJyB8fCAkcGFyYW1zWyd0eXBlJ10gPT0gJ3d5c2l3eWcnICkNCgkJCXsNCgkJCQkkcGFyYW1zWydwcm9wZXJ0aWVzJ10gPSAkcGFyYW1zWydwYXJzZXNtYXJ0eSddOw0KCQkJfQ0KCQkJZWxzZWlmICggJHBhcmFtc1sndHlwZSddICE9ICdwdWxsZG93bicgJiYgJHBhcmFtc1sndHlwZSddICE9ICdyYWRpb2J1dHRvbnMnICkNCgkJCXsNCgkJCQkkcGFyYW1zWydwcm9wZXJ0aWVzJ10gPSAnJzsNCgkJCX0NCgkJCQ0KCQkJJHBhcmFtc1snY2xlYXJjYWNoZSddID0gaXNzZXQoJHBhcmFtc1snY2xlYXJjYWNoZSddKTsNCgkJCQ0KCQkJJGVkaXRvcnMgPSBlbXB0eSgkcGFyYW1zWydlZGl0b3JzJ10pID8gJycgOiBpbXBsb2RlKCc7JywgJHBhcmFtc1snZWRpdG9ycyddKTsNCgkJCQ0KCQkJLy8gc2F2ZSBmaWVsZGRlZmluaXRpb24NCgkJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3MgU0VUIG5hbWUgPSA/LCBoZWxwID0gPywgdHlwZSA9ID8sIHByb3BlcnRpZXMgPSA/LCBjbGVhcmNhY2hlID0gPywgZWRpdG9ycyA9ID8gV0hFUkUgZmllbGRpZCA9ID8iOw0KCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ25hbWUnXSwgJHBhcmFtc1snaGVscCddLCAkcGFyYW1zWyd0eXBlJ10sICRwYXJhbXNbJ3Byb3BlcnRpZXMnXSwgJHBhcmFtc1snY2xlYXJjYWNoZSddLCAkZWRpdG9ycywgJHBhcmFtc1snZmllbGRpZCddKSk7DQoNCgkJCS8vIGRlbGV0ZSBhbGwgdGFiLWFzc2lnbm1lbnRzDQoJCQkkcXVlcnkgPSAiREVMRVRFIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3NfdGFiZmllbGQgV0hFUkUgZmllbGRpZCA9ID8iOw0KCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ2ZpZWxkaWQnXSkpOw0KCQkJDQoJCQkvLyBzYXZlIGZpZWxkc2V0ZW5kDQoJCQlpZiAoICRmaWVsZFsndHlwZSddID09ICdmaWVsZHNldHN0YXJ0JyApDQoJCQl7DQoJCQkJJGZpZWxkZW5kID0gJHRoaXMtPkdldEZpZWxkKCRmaWVsZFsnbmFtZSddKTsNCgkJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpZWxkZW5kWydmaWVsZGlkJ10pKTsNCgkJCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2N1c3RvbWdzIFNFVCBuYW1lID0gPywgZWRpdG9ycyA9ID8gV0hFUkUgZmllbGRpZCA9ID8iOw0KCQkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyduYW1lJ10sICRlZGl0b3JzLCAkZmllbGRlbmRbJ2ZpZWxkaWQnXSkpOw0KCQkJfQ0KCQkJDQoJCQkvLyBzYXZlIHRhYi1hc3NpZ25tZW50cw0KCQkJaWYgKCBpc3NldCgkcGFyYW1zWyd0YWJzJ10pICkgew0KCQkJDQoJCQkJZm9yZWFjaCAoJHBhcmFtc1sndGFicyddIGFzICR0YWJpZCA9PiAkdGFic2VsZWN0KQ0KCQkJCXsNCgkJCQkJaWYgKCAkdGFic2VsZWN0ID09IDEgKQ0KCQkJCQl7DQoJCQkJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21nc190YWJmaWVsZCAodGFiaWQsIGZpZWxkaWQpIFZBTFVFUyAoPyw/KSI7DQoJCQkJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRhYmlkLCAkcGFyYW1zWydmaWVsZGlkJ10pKTsNCgkJCQkJCWlmICggJGZpZWxkWyd0eXBlJ10gPT0gJ2ZpZWxkc2V0c3RhcnQnICkNCgkJCQkJCXsNCgkJCQkJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRhYmlkLCAkZmllbGRlbmRbJ2ZpZWxkaWQnXSkpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJCQ0KCQkJfQ0KCQkJDQoNCgkJCS8vIFB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KCQkJYXVkaXQoJHBhcmFtc1snZmllbGRpZCddLCAnQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIEZpZWxkZGVmaW5pdGlvbicsICdFZGl0ZWQ6ICcgLiAkcGFyYW1zWyduYW1lJ10pOw0KDQoJCQkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdmaWVsZGRlZnN1cGRhdGVkJywgJ2FjdGl2ZV90YWInID0+ICdmaWVsZGRlZnMnKTsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCX0NCg0KCQkkc21hcnR5LT5hc3NpZ24oJ3RpdGxlJyxsYW5nKCdlZGl0JykpOw0KCQkkc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdmaWVsZGlkJywgJHBhcmFtc1snZmllbGRpZCddKSAuDQoJCQkJCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnbW9kZScsICdlZGl0JykpOw0KCQlicmVhazsNCg0KDQoJY2FzZSAnbW92ZXVwJzoNCgljYXNlICdtb3ZlZG93bic6DQoJCSRmaWVsZCA9ICR0aGlzLT5HZXRGaWVsZCgkcGFyYW1zWydmaWVsZGlkJ10pOw0KCQlpZiggJGZpZWxkID09PSBGQUxTRSApCQkgDQoJCXsNCgkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJz0+ICd1cGRhdGVmYWlsZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2ZpZWxkZGVmcycpOw0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJfQ0KDQoJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3MgU0VUIHNvcnRvcmRlciA9ICIgLiAoJHBhcmFtc1snbW9kZSddID09ICdtb3ZldXAnID8gJ3NvcnRvcmRlciArIDEnIDogJ3NvcnRvcmRlciAtIDEnKSAuICIgV0hFUkUgc29ydG9yZGVyID0gPyI7DQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWydtb2RlJ10gPT0gJ21vdmV1cCcgPyAkZmllbGRbJ3NvcnRvcmRlciddIC0gMSA6ICRmaWVsZFsnc29ydG9yZGVyJ10gKyAxKSk7DQoNCgkJJHF1ZXJ5ID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9jdXN0b21ncyBTRVQgc29ydG9yZGVyID0gIiAuICgkcGFyYW1zWydtb2RlJ10gPT0gJ21vdmV1cCcgPyAnc29ydG9yZGVyIC0gMScgOiAnc29ydG9yZGVyICsgMScpIC4gIiBXSEVSRSBmaWVsZGlkID0gPyI7DQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWydmaWVsZGlkJ10pKTsNCg0KCQkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdmaWVsZGRlZnMnKTsNCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJYnJlYWs7DQoNCgkJDQoJY2FzZSAnc29ydCc6DQoJCWlmICggIWVtcHR5KCRwYXJhbXNbJ3NvcnRzZXEnXSkgKQ0KCQl7DQoJCQkkc29ydHNlcSA9IHN0cl9yZXBsYWNlKCdpJywgJycsICRwYXJhbXNbJ3NvcnRzZXEnXSk7DQoJCQkkc29ydGVudHJpZXMgPSBleHBsb2RlKCcsJywgJHNvcnRzZXEpOw0KCQkJZm9yZWFjaCAoICRzb3J0ZW50cmllcyBhcyAka2V5ID0+ICRmaWVsZGlkICkNCgkJCXsNCgkJCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2N1c3RvbWdzIFNFVCBzb3J0b3JkZXIgPSA/IFdIRVJFIGZpZWxkaWQgPSA/IjsNCgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgka2V5ICsgMSwgJGZpZWxkaWQpKTsNCgkJCX0NCgkJfQ0KCQlleGl0KCk7DQoJCWJyZWFrOw0KDQoJCQ0KCWNhc2UgJ2Fzc2lnbic6DQoJCWlmICggIWVtcHR5KCRwYXJhbXNbJ2ZpZWxkaWQnXSkgJiYgIWVtcHR5KCRwYXJhbXNbJ3RhYmlkJ10pICkNCgkJew0KCQkJJGRiID0gJHRoaXMtPkdldERCKCk7DQoJCQkkcXVlcnkgPSAiU0VMRUNUIGYubmFtZSwgZi50eXBlLCB0Zi4qIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3MgZg0KCQkJCQkJTEVGVCBKT0lOICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2N1c3RvbWdzX3RhYmZpZWxkIHRmIE9OIGYuZmllbGRpZCA9IHRmLmZpZWxkaWQgQU5EIHRmLnRhYmlkID0gPw0KCQkJCQkJV0hFUkUgZi5maWVsZGlkID0gPyI7DQoJCQkkcm93cyA9ICRkYi0+R2V0QWxsKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1sndGFiaWQnXSwgJHBhcmFtc1snZmllbGRpZCddKSk7DQoJCQkkcm93Y291bnQgPSBjb3VudCgkcm93cyk7DQoJCQkNCgkJCWlmICggJHJvd3MgJiYgJHJvd2NvdW50ID4gMCAmJiAhZW1wdHkoJHJvd3NbMF1bJ3RhYmlkJ10pICkNCgkJCXsNCgkJCQkkcXVlcnkgPSAiREVMRVRFIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3NfdGFiZmllbGQgV0hFUkUgdGFiaWQgPSA/IEFORCBmaWVsZGlkID0gPyI7DQoJCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ3RhYmlkJ10sICRwYXJhbXNbJ2ZpZWxkaWQnXSkpOw0KCQkJCWlmICggJHJvd3NbMF1bJ3R5cGUnXSA9PSAnZmllbGRzZXRzdGFydCcgKQ0KCQkJCXsNCgkJCQkJJGZpZWxkZW5kID0gJHRoaXMtPkdldEZpZWxkKCRyb3dzWzBdWyduYW1lJ10pOw0KCQkJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1sndGFiaWQnXSwgJGZpZWxkZW5kWydmaWVsZGlkJ10pKTsNCgkJCQl9DQoJCQkJZWNobyAwOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9jdXN0b21nc190YWJmaWVsZCAodGFiaWQsIGZpZWxkaWQpIFZBTFVFUyAoPyw/KSI7DQoJCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ3RhYmlkJ10sICRwYXJhbXNbJ2ZpZWxkaWQnXSkpOw0KCQkJCWlmICggJHJvd3NbMF1bJ3R5cGUnXSA9PSAnZmllbGRzZXRzdGFydCcgKQ0KCQkJCXsNCgkJCQkJJGZpZWxkZW5kID0gJHRoaXMtPkdldEZpZWxkKCRyb3dzWzBdWyduYW1lJ10pOw0KCQkJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1sndGFiaWQnXSwgJGZpZWxkZW5kWydmaWVsZGlkJ10pKTsNCgkJCQl9DQoJCQkJZWNobyAxOw0KCQkJfQ0KCQl9DQoJCWV4aXQoKTsNCgkJYnJlYWs7DQoNCn0NCg0KDQokdHlwZWxpc3QgPSBhcnJheSgNCgkkdGhpcy0+TGFuZygndGV4dGZpZWxkJykgPT4gJ3RleHRmaWVsZCcsDQoJJHRoaXMtPkxhbmcoJ3B1bGxkb3duJykgPT4gJ3B1bGxkb3duJywNCgkkdGhpcy0+TGFuZygnY2hlY2tib3gnKSA9PiAnY2hlY2tib3gnLA0KCSR0aGlzLT5MYW5nKCdyYWRpb2J1dHRvbnMnKSA9PiAncmFkaW9idXR0b25zJywNCgkkdGhpcy0+TGFuZygnZGF0ZXBpY2tlcicpID0+ICdkYXRlcGlja2VyJywNCgkkdGhpcy0+TGFuZygnZGF0ZXRpbWVwaWNrZXInKSA9PiAnZGF0ZXRpbWVwaWNrZXInLA0KCSR0aGlzLT5MYW5nKCd0aW1lcGlja2VyJykgPT4gJ3RpbWVwaWNrZXInLA0KCSR0aGlzLT5MYW5nKCd0ZXh0YXJlYScpID0+ICd0ZXh0YXJlYScsDQoJJHRoaXMtPkxhbmcoJ3d5c2l3eWcnKSA9PiAnd3lzaXd5ZycsDQoJJHRoaXMtPkxhbmcoJ2NvbG9ycGlja2VyJykgPT4gJ2NvbG9ycGlja2VyJywNCgkkdGhpcy0+TGFuZygncGFnZXNlbGVjdCcpID0+ICdwYWdlc2VsZWN0JywNCgkkdGhpcy0+TGFuZygnZmllbGRzZXRzdGFydCcpID0+ICdmaWVsZHNldHN0YXJ0JywNCgkkdGhpcy0+TGFuZygnYnV0dG9uJykgPT4gJ2J1dHRvbicNCik7DQoNCiRkaXNhYmxlZCA9ICRmaWVsZFsndHlwZSddID09ICdmaWVsZHNldHN0YXJ0JyA/ICcgZGlzYWJsZWQ9ImRpc2FibGVkIicgOiAnJzsNCg0KJGdiZnAgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0dCRmlsZVBpY2tlcicpOw0KaWYoICRnYmZwICkNCnsNCgkkZ2JmcF9uYW1lID0gJGdiZnAtPkdldEZyaWVuZGx5TmFtZSgpOw0KCSR0eXBlbGlzdFskZ2JmcF9uYW1lXSA9ICdnYmZpbGVwaWNrZXInOw0KfQ0KDQokam1mcCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnSk1GaWxlUGlja2VyJyk7DQppZiggJGptZnAgKQ0Kew0KCSRqbWZwX25hbWUgPSAkam1mcC0+R2V0RnJpZW5kbHlOYW1lKCk7DQoJJHR5cGVsaXN0WyRqbWZwX25hbWVdID0gJ2ptZmlsZXBpY2tlcic7DQp9DQoNCg0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbmFtZScsIGxhbmcoJ25hbWUnKSk7DQokc21hcnR5LT5hc3NpZ24oJ25hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkZmllbGRbJ25hbWUnXSwgNDAgKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3R5cGUnLCBsYW5nKCd0eXBlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0eXBlJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAndHlwZScgLiAoJGRpc2FibGVkID8gJ18nIDogJycpLCAkdHlwZWxpc3QsIC0xLCAkZmllbGRbJ3R5cGUnXSwgJ2lkPSJmaWVsZHR5cGUiJyAuICRkaXNhYmxlZCkgLiAoJGRpc2FibGVkID8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3R5cGUnLCAkZmllbGRbJ3R5cGUnXSkgOiAnJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9tYXhsZW5ndGgnLCAkdGhpcy0+TGFuZygnbWF4bGVuZ3RoJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdtYXhsZW5ndGgnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ21heGxlbmd0aCcsICRmaWVsZFsndHlwZSddID09ICd0ZXh0ZmllbGQnID8gJGZpZWxkWydwcm9wZXJ0aWVzJ10gOiAnJywgNSwgNSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9wcm9wZXJ0aWVzJywgJHRoaXMtPkxhbmcoJ3Byb3BlcnRpZXMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2hlbHBfcHJvcGVydGllcycsICR0aGlzLT5MYW5nKCdwcm9wZXJ0aWVzX2hlbHAxJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdwcm9wZXJ0aWVzJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKEZBTFNFLCAkaWQsICRmaWVsZFsndHlwZSddID09ICdwdWxsZG93bicgfHwgJGZpZWxkWyd0eXBlJ10gPT0gJ3JhZGlvYnV0dG9ucycgPyAkZmllbGRbJ3Byb3BlcnRpZXMnXSA6ICcnLCAncHJvcGVydGllcycsICcnLCAnJyAsICcnICwgJycsIDIwLCA2LCAnJywgJycsICdzdHlsZT0id2lkdGg6MjBlbTsgaGVpZ2h0OjZlbTsiJykpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9wYXJzZXNtYXJ0eScsICR0aGlzLT5MYW5nKCdwYXJzZXNtYXJ0eScpKTsNCiRzbWFydHktPmFzc2lnbigncGFyc2VzbWFydHknLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdwYXJzZXNtYXJ0eScsICcxJywgJGZpZWxkWyd0eXBlJ10gPT0gJ3RleHRhcmVhJyB8fCAkZmllbGRbJ3R5cGUnXSA9PSAnd3lzaXd5ZycgPyAkZmllbGRbJ3Byb3BlcnRpZXMnXSA6ICcnKSk7DQoNCiRzbWFydHktPmFzc2lnbigncHJvbXB0X2hlbHAnLCBsYW5nKCdoZWxwJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdoZWxwJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdoZWxwJywgJGZpZWxkWydoZWxwJ10sIDgwICkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jbGVhcmNhY2hlJywgJHRoaXMtPkxhbmcoJ2NsZWFyc3R5bGVzaGVldGNhY2hlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdoZWxwX2NsZWFyY2FjaGUnLCAkdGhpcy0+TGFuZygnY2xlYXJzdHlsZXNoZWV0Y2FjaGVfaGVscCcpKTsNCiRzbWFydHktPmFzc2lnbignY2xlYXJjYWNoZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2NsZWFyY2FjaGUnLCAnMScsICRmaWVsZFsnY2xlYXJjYWNoZSddKSk7DQoNCiRlZGl0b3JzbGlzdCA9IGFycmF5KCk7DQokZGlzYWJsZWQgPSAnJzsNCiRncm91cG9wcyA9ICRnQ21zLT5HZXRHcm91cE9wZXJhdGlvbnMoKTsNCiRncm91cHMgPSAkZ3JvdXBvcHMtPkxvYWRHcm91cHMoKTsNCmZvcmVhY2ggKCRncm91cHMgYXMgJG9uZWdyb3VwKQ0Kew0KCSRlZGl0b3JzbGlzdFtsYW5nKCdncm91cCcpIC4gJzogJyAuICRvbmVncm91cC0+bmFtZV0gPSAkb25lZ3JvdXAtPmlkOw0KfQ0KJHNlbGVjdGVkZWRpdG9ycyA9IGV4cGxvZGUoJzsnLCAkZmllbGRbJ2VkaXRvcnMnXSk7DQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9lZGl0b3JzJywgbGFuZygnZ3JvdXBwZXJtaXNzaW9ucycpKTsNCiRzbWFydHktPmFzc2lnbignZWRpdG9ycycsICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCAnZWRpdG9yc1tdJywgJGVkaXRvcnNsaXN0LCAkc2VsZWN0ZWRlZGl0b3JzLCA0LCAkZGlzYWJsZWQpKTsNCg0KJGZpZWxkaWQgPSBlbXB0eSgkcGFyYW1zWydmaWVsZGlkJ10pID8gLTEgOiAkcGFyYW1zWydmaWVsZGlkJ107DQokdGFicyA9ICR0aGlzLT5HZXRUYWJzKCRmaWVsZGlkKTsNCmlmICggJHBhcmFtc1snbW9kZSddID09ICdhZGQnICkgJHRhYnNbMF1bJ2NoZWNrZWQnXSA9IDE7IC8vIHNlbGVjdCBmaXJzdCB0YWIgYnkgZGVmYXVsdA0KJHRhYnNsaXN0ID0gYXJyYXkoKTsNCmZvcmVhY2ggKCR0YWJzIGFzICR0YWIpDQp7DQoJJHRhYnNsaXN0W10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICd0YWJzWycgLiAkdGFiWyd0YWJpZCddIC4gJ10nLCAnMScsICgkdGFiWydjaGVja2VkJ10gIT09IE5VTEwpKSAuICR0YWJbJ25hbWUnXTsNCn0NCiRzbWFydHktPmFzc2lnbigncHJvbXB0X3RhYnMnLCAkdGhpcy0+TGFuZygnc2hvd29udGFiJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0YWJzJywgJHRhYnNsaXN0KTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0YnV0dG9uJywgbGFuZygnc3VibWl0JykpKTsNCiRzbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7DQoNCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdlZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQpKTsNCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRmaWVsZGRlZi50cGwnKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.edittab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncw0KIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2N1c3RvbWdzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsNCg0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gTWFuYWdlJykgKQ0Kew0KCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMobGFuZygnbmVlZHBlcm1pc3Npb250bycsICdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gTWFuYWdlJykpOw0KCXJldHVybjsNCn0NCg0KaWYgKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQ0Kew0KCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3RhYnMnKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KfQ0KDQppZiggIWlzc2V0KCRwYXJhbXNbJ21vZGUnXSkgKQ0Kew0KCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJyksICdhY3RpdmVfdGFiJyA9PiAndGFicycpOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJcmV0dXJuOw0KfQ0KDQokZGIgPSAkdGhpcy0+R2V0REIoKTsNCg0Kc3dpdGNoICgkcGFyYW1zWydtb2RlJ10pDQp7DQoJY2FzZSAnYWRkJzoNCgkJaWYoICRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICdQT1NUJyApDQoJCXsNCgkJCS8vIGNoZWNrIGlmIG5hbWUgaXMgZW1wdHkNCgkJCWlmICggZW1wdHkoJHBhcmFtc1snbmFtZSddKSApDQoJCQl7DQoJCQkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ21pc3NpbmdwYXJhbXMnKSk7DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2VkaXR0YWInLCAnJywgJHBhcmFtcyk7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KCQkJLy8gY2hlY2sgaWYgbmFtZSBhbHJlYWR5IGV4aXN0cw0KCQkJV2hpbGUgKCAkdGhpcy0+R2V0VGFiKCRwYXJhbXNbJ25hbWUnXSkgIT09IEZBTFNFICkNCgkJCXsNCgkJCQlpZiAoIGlzX251bWVyaWMoc3Vic3RyKCRwYXJhbXNbJ25hbWUnXSwgLTEpKSApDQoJCQkJew0KCQkJCQkkcGFyYW1zWyduYW1lJ10gPSBpc19udW1lcmljKHN1YnN0cigkcGFyYW1zWyduYW1lJ10sIC0yKSkgPyBzdWJzdHIoJHBhcmFtc1snbmFtZSddLDAgLCAtMikgLiAoc3Vic3RyKCRwYXJhbXNbJ25hbWUnXSwgLTIpICsgMSkgOiBzdWJzdHIoJHBhcmFtc1snbmFtZSddLDAgLCAtMSkgLiAoc3Vic3RyKCRwYXJhbXNbJ25hbWUnXSwgLTEpICsgMSk7DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCSRwYXJhbXNbJ25hbWUnXSAuPSAiMSI7DQoJCQkJfQ0KCQkJfQ0KCQkJLy8gZmluZCBtYXhpbXVtIHZhbHVlIGZvciBzb3J0b3JkZXINCgkJCSRxdWVyeSA9ICJTRUxFQ1QgTUFYKHNvcnRvcmRlcikgQVMgbWF4c29ydG9yZGVyIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21nc190YWIiOw0KCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQkJaWYoICRyZXN1bHQgKQ0KCQkJew0KCQkJCSR0YWIgPSAkcmVzdWx0LT5GZXRjaFJvdygpOw0KCQkJCSRlZGl0b3JzID0gZW1wdHkoJHBhcmFtc1snZWRpdG9ycyddKSA/ICcnIDogaW1wbG9kZSgnOycsICRwYXJhbXNbJ2VkaXRvcnMnXSk7DQoJCQkJDQoJCQkJLy8gc2F2ZSB0YWINCgkJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21nc190YWIgKG5hbWUsIHNvcnRvcmRlciwgZWRpdG9ycykgVkFMVUVTICg/LD8sPykiOw0KCQkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyduYW1lJ10sICR0YWJbJ21heHNvcnRvcmRlciddICsgMSwgJGVkaXRvcnMpKTsNCgkJCX0NCgkJCWlmKCBpc3NldCgkcmVzdWx0KSAmJiAkcmVzdWx0ICkNCgkJCXsNCgkJCQkvLyBQdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cNCgkJCQlhdWRpdCgkZGItPkluc2VydF9JRCgpLCAnQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIFRhYicsICdBZGRlZDogJyAuICRwYXJhbXNbJ25hbWUnXSk7DQoJCQkJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAndGFiYWRkZWQnLCAnYWN0aXZlX3RhYicgPT4gJ3RhYnMnKTsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcic9PiAndXBkYXRlZmFpbGVkJywgJ2FjdGl2ZV90YWInID0+ICd0YWJzJyk7DQoJCQl9DQoNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCX0NCgkJJHRhYiA9IGFycmF5KCduYW1lJyA9PiAnJywgJ2VkaXRvcnMnID0+ICcnKTsNCgkJJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsbGFuZygnYWRkJykpOw0KCQkkc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdtb2RlJywgJ2FkZCcpKTsNCgkJYnJlYWs7DQoNCg0KCWNhc2UgJ2RlbGV0ZSc6DQoJCWlmKCAhaXNfbnVtZXJpYygkcGFyYW1zWyd0YWJpZCddKSApDQoJCXsNCgkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJyksICdhY3RpdmVfdGFiJyA9PiAndGFicycpOw0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJCXJldHVybjsNCgkJfQ0KCQkNCgkJJHRhYiA9ICR0aGlzLT5HZXRUYWIoJHBhcmFtc1sndGFiaWQnXSk7DQoJCWlmKCAkdGFiID09PSBGQUxTRSApDQoJCXsNCgkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJz0+ICd1cGRhdGVmYWlsZWQnLCAnYWN0aXZlX3RhYicgPT4gJ3RhYnMnKTsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCX0NCgkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2N1c3RvbWdzX3RhYiBXSEVSRSB0YWJpZCA9ID8iOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyd0YWJpZCddKSk7DQoJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9jdXN0b21nc190YWJmaWVsZCBXSEVSRSB0YWJpZCA9ID8iOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyd0YWJpZCddKSk7DQoJCS8vIFB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KCQlhdWRpdCgkcGFyYW1zWyd0YWJpZCddLCAnQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIFRhYicsICdEZWxldGVkOiAnIC4gJHRhYlsnbmFtZSddKTsNCg0KCQkvLyB1cGRhdGUgdGhlIHNvcnRvcmRlcg0KCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2N1c3RvbWdzX3RhYiBTRVQgc29ydG9yZGVyID0gc29ydG9yZGVyIC0gMSBXSEVSRSBzb3J0b3JkZXIgPiA/IjsNCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0YWJbJ3NvcnRvcmRlciddKSk7DQoNCgkJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAndGFidXBkYXRlZCcsICdhY3RpdmVfdGFiJyA9PiAndGFicycpOw0KCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOw0KCQlicmVhazsNCg0KDQoJY2FzZSAnZWRpdCc6DQoJCWlmKCAhaXNfbnVtZXJpYygkcGFyYW1zWyd0YWJpZCddKSApDQoJCXsNCgkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJyksICdhY3RpdmVfdGFiJyA9PiAndGFicycpOw0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCSR0YWIgPSAkdGhpcy0+R2V0VGFiKCRwYXJhbXNbJ3RhYmlkJ10pOw0KDQoJCWlmKCAkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSA9PSAnUE9TVCcgKQ0KCQl7DQoJCQkvLyBjaGVjayBpZiBuYW1lIGlzIGVtcHR5DQoJCQlpZiAoIGVtcHR5KCRwYXJhbXNbJ25hbWUnXSkgKQ0KCQkJew0KCQkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJykpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0dGFiJywgJycsICRwYXJhbXMpOw0KCQkJCXJldHVybjsNCgkJCX0NCgkJCS8vIGNoZWNrIGlmIG5hbWUgYWxyZWFkeSBleGlzdHMNCgkJCSRjaGVja3RhYm5hbWUgPSAkdGhpcy0+R2V0VGFiKCRwYXJhbXNbJ25hbWUnXSk7DQoJCQlXaGlsZSAoICRjaGVja3RhYm5hbWUgIT09IEZBTFNFICYmICRwYXJhbXNbJ3RhYmlkJ10gIT0gJGNoZWNrdGFibmFtZVsndGFiaWQnXSApDQoJCQl7DQoJCQkJaWYgKCBpc19udW1lcmljKHN1YnN0cigkcGFyYW1zWyduYW1lJ10sIC0xKSkgKQ0KCQkJCXsNCgkJCQkJJHBhcmFtc1snbmFtZSddID0gaXNfbnVtZXJpYyhzdWJzdHIoJHBhcmFtc1snbmFtZSddLCAtMikpID8gc3Vic3RyKCRwYXJhbXNbJ25hbWUnXSwwICwgLTIpIC4gKHN1YnN0cigkcGFyYW1zWyduYW1lJ10sIC0yKSArIDEpIDogc3Vic3RyKCRwYXJhbXNbJ25hbWUnXSwwICwgLTEpIC4gKHN1YnN0cigkcGFyYW1zWyduYW1lJ10sIC0xKSArIDEpOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQkkcGFyYW1zWyduYW1lJ10gLj0gIjEiOw0KCQkJCX0NCgkJCQkkY2hlY2t0YWJuYW1lID0gJHRoaXMtPkdldFRhYigkcGFyYW1zWyduYW1lJ10pOw0KCQkJfQ0KCQkJJGVkaXRvcnMgPSBlbXB0eSgkcGFyYW1zWydlZGl0b3JzJ10pID8gJycgOiBpbXBsb2RlKCc7JywgJHBhcmFtc1snZWRpdG9ycyddKTsNCg0KCQkJLy8gc2F2ZSB0YWINCgkJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3NfdGFiIFNFVCBuYW1lID0gPywgZWRpdG9ycyA9ID8gV0hFUkUgdGFiaWQgPSA/IjsNCgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyduYW1lJ10sICRlZGl0b3JzLCAkcGFyYW1zWyd0YWJpZCddKSk7DQoNCgkJCS8vIFB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KCQkJYXVkaXQoJHBhcmFtc1sndGFiaWQnXSwgJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MgLSBUYWInLCAnRWRpdGVkOiAnIC4gJHBhcmFtc1snbmFtZSddKTsNCg0KCQkJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAndGFidXBkYXRlZCcsICdhY3RpdmVfdGFiJyA9PiAndGFicycpOw0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJfQ0KDQoJCSRzbWFydHktPmFzc2lnbigndGl0bGUnLGxhbmcoJ2VkaXQnKSk7DQoJCSRzbWFydHktPmFzc2lnbignaGlkZGVuJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3RhYmlkJywgJHBhcmFtc1sndGFiaWQnXSkgLg0KCQkJCQkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ21vZGUnLCAnZWRpdCcpKTsNCgkJYnJlYWs7DQoNCg0KCWNhc2UgJ21vdmV1cCc6DQoJY2FzZSAnbW92ZWRvd24nOg0KCQkkdGFiID0gJHRoaXMtPkdldFRhYigkcGFyYW1zWyd0YWJpZCddKTsNCgkJaWYoICR0YWIgPT09IEZBTFNFICkJCSANCgkJew0KCQkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InPT4gJ3VwZGF0ZWZhaWxlZCcsICdhY3RpdmVfdGFiJyA9PiAndGFicycpOw0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCgkJfQ0KDQoJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3NfdGFiIFNFVCBzb3J0b3JkZXIgPSAiIC4gKCRwYXJhbXNbJ21vZGUnXSA9PSAnbW92ZXVwJyA/ICdzb3J0b3JkZXIgKyAxJyA6ICdzb3J0b3JkZXIgLSAxJykgLiAiIFdIRVJFIHNvcnRvcmRlciA9ID8iOw0KCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1snbW9kZSddID09ICdtb3ZldXAnID8gJHRhYlsnc29ydG9yZGVyJ10gLSAxIDogJHRhYlsnc29ydG9yZGVyJ10gKyAxKSk7DQoNCgkJJHF1ZXJ5ID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9jdXN0b21nc190YWIgU0VUIHNvcnRvcmRlciA9ICIgLiAoJHBhcmFtc1snbW9kZSddID09ICdtb3ZldXAnID8gJ3NvcnRvcmRlciAtIDEnIDogJ3NvcnRvcmRlciArIDEnKSAuICIgV0hFUkUgdGFiaWQgPSA/IjsNCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ3RhYmlkJ10pKTsNCg0KCQkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICd0YWJzJyk7DQoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQoJCWJyZWFrOw0KDQoJCQ0KCWNhc2UgJ3NvcnQnOg0KCQlpZiAoICFlbXB0eSgkcGFyYW1zWydzb3J0c2VxJ10pICkNCgkJew0KCQkJJHNvcnRzZXEgPSBzdHJfcmVwbGFjZSgnaScsICcnLCAkcGFyYW1zWydzb3J0c2VxJ10pOw0KCQkJJHNvcnRlbnRyaWVzID0gZXhwbG9kZSgnLCcsICRzb3J0c2VxKTsNCgkJCWZvcmVhY2ggKCAkc29ydGVudHJpZXMgYXMgJGtleSA9PiAkdGFiaWQgKQ0KCQkJew0KCQkJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3NfdGFiIFNFVCBzb3J0b3JkZXIgPSA/IFdIRVJFIHRhYmlkID0gPyI7DQoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGtleSArIDEsICR0YWJpZCkpOw0KCQkJfQ0KCQl9DQoJCWV4aXQoKTsNCgkJYnJlYWs7DQoNCn0NCg0KDQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9uYW1lJywgbGFuZygnbmFtZScpKTsNCiRzbWFydHktPmFzc2lnbignbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICR0YWJbJ25hbWUnXSwgNDAgKSk7DQoNCiRlZGl0b3JzbGlzdCA9IGFycmF5KCk7DQokZGlzYWJsZWQgPSAnJzsNCiRncm91cG9wcyA9ICRnQ21zLT5HZXRHcm91cE9wZXJhdGlvbnMoKTsNCiRncm91cHMgPSAkZ3JvdXBvcHMtPkxvYWRHcm91cHMoKTsNCmZvcmVhY2ggKCRncm91cHMgYXMgJG9uZWdyb3VwKQ0Kew0KCS8vaWYoICRvbmVncm91cC0+aWQgPT0gMSApIGNvbnRpbnVlOw0KCSRlZGl0b3JzbGlzdFtsYW5nKCdncm91cCcpIC4gJzogJyAuICRvbmVncm91cC0+bmFtZV0gPSAkb25lZ3JvdXAtPmlkOw0KfQ0KJHNlbGVjdGVkZWRpdG9ycyA9IGV4cGxvZGUoJzsnLCAkdGFiWydlZGl0b3JzJ10pOw0KJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZWRpdG9ycycsIGxhbmcoJ2dyb3VwcGVybWlzc2lvbnMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VkaXRvcnMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwgJ2VkaXRvcnNbXScsICRlZGl0b3JzbGlzdCwgJHNlbGVjdGVkZWRpdG9ycywgNCwgJGRpc2FibGVkKSk7DQoNCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdGJ1dHRvbicsIGxhbmcoJ3N1Ym1pdCcpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnZWRpdHRhYicsICRyZXR1cm5pZCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdHRhYi50cGwnKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.save_general.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncw0KIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2N1c3RvbWdzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsNCg0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gVXNlJykgKSAkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkKTsNCg0KJHRhYmlkID0gJHBhcmFtc1sndGFiaWQnXTsNCi8vIEdldCB0aGUgZmllbGRzIHRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gZWRpdC4NCiRmaWVsZHMgPSAkdGhpcy0+R2V0RmllbGRzKCR0YWJpZCk7DQokY2xlYXJjYWNoZSA9IDA7DQoNCmZvcmVhY2goICRmaWVsZHMgYXMgJGtleSA9PiAkZmxkICkNCnsNCgkkdmFsdWUgPSAkZmxkWyd2YWx1ZSddOw0KCSRuZXd2YWx1ZSA9IGlzc2V0KCRwYXJhbXNbJ2ZpZWxkJ11bJHRhYmlkXVska2V5XSkgPyAkcGFyYW1zWydmaWVsZCddWyR0YWJpZF1bJGtleV0gOiAwOw0KCQkNCgkvLyBTZW50IGV2ZW50IG9ubHkgd2hlbiB2YWx1ZSBoYXMgY2hhbmdlZC4NCglpZiAoICRuZXd2YWx1ZSAhPSAkdmFsdWUgKQ0KCXsNCgkJaWYgKCAkZmxkWyd0eXBlJ10gIT0gJ2J1dHRvbicgKQ0KCQl7DQoJCQkvLyBTYXZlIGZpZWxkIHZhbHVlDQoJCQkkcXVlcnkgPSAiVVBEQVRFICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2N1c3RvbWdzIFNFVCB2YWx1ZT0/IFdIRVJFIGZpZWxkaWQ9PyI7DQoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG5ld3ZhbHVlLCAka2V5KSk7DQoJCX0NCg0KCQkkdGhpcy0+U2VuZEV2ZW50KCdPblNldHRpbmdDaGFuZ2UnLCBhcnJheSgNCgkJCQkJJ2ZpZWxkaWQnID0+ICRmbGRbJ2ZpZWxkaWQnXSwNCgkJCQkJJ25hbWUnID0+ICRmbGRbJ25hbWUnXSwNCgkJCQkJJ2FsaWFzJyA9PiBzdHJfcmVwbGFjZSgnX18nLCAnXycsIHN0cl9yZXBsYWNlKCctJywgJ18nLCBtdW5nZV9zdHJpbmdfdG9fdXJsKCRmbGRbJ25hbWUnXSkpKSwNCgkJCQkJJ3ZhbHVlJyA9PiAkbmV3dmFsdWUsDQoJCQkJCSdjbGVhcmNhY2hlJyA9PiAkZmxkWydjbGVhcmNhY2hlJ10NCgkJKSk7DQoJCSRjbGVhcmNhY2hlID0gJGNsZWFyY2FjaGUgfHwgJGZsZFsnY2xlYXJjYWNoZSddOw0KCX0NCn0NCg0KLy8gQ2xlYXIgdGhlIHN0eWxlc2hlZXQgY2FjaGUgaWYgcmVxdWlyZWQgYnkgb25lIG9mIHRoZSBmaWVsZHMgYW5kIG9ubHkgaWYgdGhhdCBmaWVsZCBoYXMgYmVlbiBjaGFuZ2VkDQppZiAoICRjbGVhcmNhY2hlICkgJHRoaXMtPkNsZWFyU3R5bGVzaGVldENhY2hlKCk7DQoNCi8vIFNob3cgc2F2ZWQgcGFyYW1ldGVycyBpbiBkZWJ1ZyBtb2RlDQpkZWJ1Z19kaXNwbGF5KCRwYXJhbXMpOw0KDQovLyBQdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cNCmF1ZGl0KCcnLCAnQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIEdlbmVyYWwgdGFiJywgJ1NhdmVkJyk7DQoNCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdtb2R1bGVfbWVzc2FnZScgPT4gJHRoaXMtPkxhbmcoJ3NldHRpbmdzc2F2ZWQnKSwgJ2FjdGl2ZV90YWInID0+ICd0YWInIC4gJHRhYmlkKSk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.save_options.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncw0KIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2N1c3RvbWdzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsNCg0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gTWFuYWdlJykgKSAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkKTsNCg0KLy8gU2F2ZSBQYXJhbWV0ZXJzIE9wdGlvbnMgVGFiDQppZiAoaXNzZXQoJHBhcmFtc1snaW5wdXRfY3VzdG9tX21vZHVsZW5hbWUnXSkpICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbnB1dF9jdXN0b21fbW9kdWxlbmFtZScsICRwYXJhbXNbJ2lucHV0X2N1c3RvbV9tb2R1bGVuYW1lJ10pOw0KaWYgKGlzc2V0KCRwYXJhbXNbJ2lucHV0X2FkbWluX3NlY3Rpb24nXSkpICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhZG1pbl9zZWN0aW9uJywgJHBhcmFtc1snaW5wdXRfYWRtaW5fc2VjdGlvbiddKTsNCg0KLy8gVG91Y2ggbWVudSBjYWNoZSBmaWxlcw0KaWYgKHZlcnNpb25fY29tcGFyZShDTVNfVkVSU0lPTiwgJzEuOTktYWxwaGEwJywgJzwnKSkgew0KCWZvcmVhY2ggKGdsb2IoY21zX2pvaW5fcGF0aChUTVBfQ0FDSEVfTE9DQVRJT04sICJ0aGVtZWluZm8qLmNhY2hlIikpIGFzICRmaWxlbmFtZSkgeyBAdW5saW5rKCRmaWxlbmFtZSk7IH0gLy8gMS4xMQ0KfSBlbHNlIHsNCglmb3JlYWNoIChnbG9iKGNtc19qb2luX3BhdGgoVE1QX0NBQ0hFX0xPQ0FUSU9OLCAiY2FjaGUqLmNtcyIpKSBhcyAkZmlsZW5hbWUpIHsgQHVubGluaygkZmlsZW5hbWUpOyB9IC8vIDIuMA0KfQ0KDQovLyBTaG93IHNhdmVkIHBhcmFtZXRlcnMgaW4gZGVidWcgbW9kZQ0KZGVidWdfZGlzcGxheSgkcGFyYW1zKTsNCg0KLy8gUHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nDQphdWRpdCgnJywgJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MgLSBPcHRpb25zIHRhYicsICdTYXZlZCcpOw0KDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnbW9kdWxlX21lc3NhZ2UnID0+ICR0aGlzLT5MYW5nKCdzZXR0aW5nc3NhdmVkJyksICdhY3RpdmVfdGFiJyA9PiAnb3B0aW9ucycpKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPg0KPGxpPjxzdHJvbmc+VmVyc2lvbiAzLjA8L3N0cm9uZz4gLSAxNSBPY3RvYmVyIDIwMTYNCgk8dWw+DQoJPGxpPkFkZGVkIGZpZWxkdHlwZSAnUGFnZSBzZWxlY3RvcicgKEZSICMxMDA3Nyk8L2xpPg0KCTxsaT5Hcm91cGluZyBvZiBzZXR0aW5ncyBieSBjdXN0b20gdGFicyAoRlIgIzEwMTc2KTwvbGk+DQoJPGxpPkNsaWNraW5nIG9uIGZpZWxkdHlwZSBidXR0b24gZmlyZXMgZXZlbnQgJ09uU2V0dGluZ0NoYW5nZSc8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPjxzdHJvbmc+VmVyc2lvbiAyLjI8L3N0cm9uZz4gLSAxMyBNYXJjaCAyMDE2DQoJPHVsPg0KCTxsaT5UYWcge0N1c3RvbUdTfSBubyBsb25nZXIgbmVlZGVkLCBtb2R1bGUgZ2V0cyBhdXRvbWF0aWNhbGx5IGluaXRpYWxpemVkPC9saT4NCgk8bGk+QWRkZWQgZmllbGR0eXBlICdKTUZpbGVQaWNrZXInPC9saT4NCgk8bGk+TmV3IGljb248L2xpPg0KCTxsaT5Vc2UgY29yZSBjbXNfbWFpbGVyIG1ldGhvZDwvbGk+DQoJPGxpPk1pbmltdW0gcmVxdWlyZWQgQ01TbXMgdmVyc2lvbiBzZXQgdG8gMS4xMjwvbGk+DQoJPGxpPkJ1ZyAjMTA4Mzg6IGZpeGVkIC0gRG9lc24ndCBvdXRwdXQgYW55dGhpbmcgaW4gMi4xLjE8L2xpPg0KCTxsaT5CdWcgIzEwOTMyOiBmaXhlZCAtIFBlcm1pc3Npb25zIG5vdCBjaGVja2VkIHByb3Blcmx5PC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT48c3Ryb25nPlZlcnNpb24gMi4xPC9zdHJvbmc+IC0gMTAgSnVseSAyMDE0DQoJPHVsPg0KCTxsaT5CdWcgIzk5ODk6IGZpeGVkIC0gSGlkZGVuIGZpZWxkIHZhbHVlcyBhcmUgcmVzZXQgdG8gIjAiPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT48c3Ryb25nPlZlcnNpb24gMi4wPC9zdHJvbmc+IC0gMjEgTWF5IDIwMTQNCgk8dWw+DQoJPGxpPkZpeGVzIGZvciBDb3JlIDIuMDwvbGk+DQoJPGxpPk1pbmltdW0gcmVxdWlyZWQgQ01TbXMgdmVyc2lvbiBzZXQgdG8gMS4xMTwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+PHN0cm9uZz5WZXJzaW9uIDEuNjwvc3Ryb25nPiAtIDE5IE1heSAyMDE0DQoJPHVsPg0KCTxsaT5NaW5vciBzdHlsZSB1cGRhdGUgZm9yIGNvbGxhcHNpYmxlIGZpZWxkc2V0IChGUiAjOTkzOSk8L2xpPg0KCTxsaT5CdWcgIzk5ODk6IGZpeGVkIC0gSGlkZGVuIGZpZWxkIHZhbHVlcyBhcmUgcmVzZXQgdG8gIjAiPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT48c3Ryb25nPlZlcnNpb24gMS41PC9zdHJvbmc+IC0gNSBEZWNlbWJlciAyMDEzDQoJPHVsPg0KCTxsaT5Qb3NzaWJpbGl0eSB0byBhZGQgYWRtaW4gcGFnZSB1bmRlciBTaXRlIEFkbWluIHNlY3Rpb24uIEVkaXRvcnMgZG9uJ3QgaGF2ZSBhY2Nlc3MhPC9saT4NCgk8bGk+QWRkZWQgZmllbGR0eXBlICdDb2xvclBpY2tlcicgKHRoYW5rcyB0byBKaXNzZXkpPC9saT4NCgk8bGk+QWRkZWQgRnJlbmNoIHRyYW5zbGF0aW9uICh0aGFua3MgdG8gSmlzc2V5KTwvbGk+DQoJPGxpPkFkZGVkIGNvbGxhcHNpYmxlIGZpZWxkZ3JvdXBzIChGUiAjODE2NiwgIzg1MTcgYW5kICM5NDY1KTwvbGk+DQoJPGxpPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGFzc2lnbiBlYWNoIGZpZWxkIHRvICdhZG1pbicgb3IgJ2VkaXRvcicgKEZSICM4NTE1KTwvbGk+DQoJPC91bD4NCjwvbGk+DQo8bGk+PHN0cm9uZz5WZXJzaW9uIDEuNDwvc3Ryb25nPiAtIDkgTWF5IDIwMTMNCgk8dWw+DQoJPGxpPkRyYWcgYW5kIGRyb3AgZmllbGQgb3JkZXJpbmcgKEZSICM4NTE2KTwvbGk+DQoJPGxpPkFkZGVkIGZpZWxkdHlwZSAnR0JGaWxlUGlja2VyJyAoRlIgIzgyODYgYW5kICM4NjM0KTwvbGk+DQoJPGxpPkluY2x1ZGVkIFdpa2kgaGVscHRleHQgYW5kIGV4YW1wbGVzIGluIHRoZSBtb2R1bGUgaGVscHRleHQ8L2xpPg0KCTxsaT5CdWcgIzg2MzM6IGZpeGVkIC0gRG9lcyBub3QgZXNjYXBlIGhlbHAgdGV4dDwvbGk+DQoJPGxpPkJ1ZyAjOTAxOTogZml4ZWQgLSBTdWJtaXQgbm90IHdvcmtpbmcgZm9yIHRob3NlIHdpdGhvdXQgJ01hbmFnZScgcGVybWlzc2lvbnM8L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPjxzdHJvbmc+VmVyc2lvbiAxLjM8L3N0cm9uZz4gLSAxNCBBdWd1c3QgMjAxMg0KCTx1bD4NCgk8bGk+UmVtb3ZlZCBDbGVhciBDYWNoZSBkdWUgdG8gRm9yZ2UgcmVndWxhdGlvbnM8L2xpPg0KCTxsaT5CdWcgIzgwMDk6IGZpeGVkIC0gSXNzdWUgd2l0aCB0ZXh0IGFyZWFzIHdpdGggc21hcnR5IHBhcnNpbmcgb248L2xpPg0KCTwvdWw+DQo8L2xpPg0KPGxpPjxzdHJvbmc+VmVyc2lvbiAxLjI8L3N0cm9uZz4gLSAyMCBNYXJjaCAyMDEyDQoJPHVsPg0KCTxsaT5NaW5pbXVtIHJlcXVpcmVkIENNU21zIHZlcnNpb24gc2V0IHRvIDEuMTA8L2xpPg0KCTxsaT5BZGQgR2V0QWRtaW5TZWN0aW9uIHNldHRpbmcgKEZSICM3NjE4KTwvbGk+DQoJPGxpPkFkZGVkIG9wdGlvbiB0byBhdXRvbWF0aWNhbGx5IGNsZWFyIGNhY2hlIGFmdGVyIGNoYW5naW5nIGEgc2V0dGluZzwvbGk+DQoJPGxpPkFkZGVkIGZpZWxkdHlwZSAnQnV0dG9uJzwvbGk+DQoJPGxpPlN1cHBvcnQgVmFsdWV8T3B0aW9uTmFtZSBwYWlycyBhbmQgU21hcnR5IHRhZ3MgZm9yIHB1bGxkb3duIGZpZWxkcyBhbmQgcmFkaW9idXR0b25zPC9saT4NCgk8bGk+QnVnIGZpeGVkOiBFZGl0aW5nIGEgZmllbGQgY2hhbmdlcyB0aGUgZmllbGRuYW1lPC9saT4NCgk8bGk+QnVnIGZpeGVkOiBTZW5kRXZlbnQgb24gY2hhbmdpbmcgYSBjaGVja2JveCBzZXR0aW5nPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT48c3Ryb25nPlZlcnNpb24gMS4xPC9zdHJvbmc+IC0gMTkgRmVicnVhcnkgMjAxMg0KCTx1bD4NCgk8bGk+RGVmaW5lIHVubGltaXRlZCBudW1iZXIgb2YgZmllbGRzPC9saT4NCgk8bGk+QWRkZWQgZmllbGR0eXBlcyB0ZXh0YXJlYSwgd3lzaXd5ZywgZGF0ZXRpbWVwaWNrZXIsIHB1bGxkb3duIHNlbGVjdCwgcmFkaW9idXR0b25zPC9saT4NCgk8bGk+QWRkZWQgZXZlbnQgT25TZXR0aW5nQ2hhbmdlPC9saT4NCgk8L3VsPg0KPC9saT4NCjxsaT48c3Ryb25nPlZlcnNpb24gMS4wPC9zdHJvbmc+IC0gMjEgSmFudWFyeSAyMDEyDQoJPHVsPg0KCTxsaT5Jbml0aWFsIG1vZHVsZSByZWxlYXNlPC9saT4NCgk8L3VsPg0KPC9saT4NCjwvdWw+]]></data>
	</file>
	<file>
	  <filename>/CustomGS.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncw0KIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykNCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcNCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2N1c3RvbWdzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsNCg0KY2xhc3MgQ3VzdG9tR1MgZXh0ZW5kcyBDTVNNb2R1bGUNCnsNCglmdW5jdGlvbiBHZXROYW1lKCkNCgl7DQoJCXJldHVybiAnQ3VzdG9tR1MnOw0KCX0NCg0KCWZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2lucHV0X2N1c3RvbV9tb2R1bGVuYW1lJyk7DQoJfQ0KCQ0KCWZ1bmN0aW9uIEdldFZlcnNpb24oKQ0KCXsNCgkJcmV0dXJuICczLjAnOw0KCX0NCgkNCglmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpDQoJew0KCQlyZXR1cm4gJzEuMTInOw0KCX0NCgkNCglmdW5jdGlvbiBHZXRIZWxwKCkNCgl7DQoJCXJldHVybiBmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fRklMRV9fKS4nL2hlbHBfdGV4dC5pbmMnKTsNCgl9DQoJDQoJZnVuY3Rpb24gR2V0QXV0aG9yKCkNCgl7DQoJCXJldHVybiAnUm9sZiBUamFzc2VucywgSm9zJzsNCgl9DQoJDQoJZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQ0KCXsNCgkJcmV0dXJuICdpbmZvIGF0IGNtc2NhbmJlc2ltcGxlIGRvdCBvcmcsIGpvc3ZkIGF0IGxpdmUgZG90IG5sJzsNCgl9DQoJDQoJZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkNCgl7DQoJCXJldHVybiBmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fRklMRV9fKS4nL2NoYW5nZWxvZy5pbmMnKTsNCgl9DQoJDQoJZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQ0KCXsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KCQ0KCWZ1bmN0aW9uIEhhc0FkbWluKCkNCgl7DQoJCXJldHVybiB0cnVlOw0KCX0NCgkNCglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQ0KCXsNCgkJcmV0dXJuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZG1pbl9zZWN0aW9uJywgJ2V4dGVuc2lvbnMnKTsNCgl9DQoJDQoJZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7DQoJfQ0KDQoJZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkgDQoJew0KCQlyZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIE1hbmFnZScpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MgLSBVc2UnKTsNCgl9DQoNCglmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQ0KCXsNCgkJcmV0dXJuIGFycmF5KCk7DQoJfQ0KCQ0KCWZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpIHsNCgkJJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7DQoJCSR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Nob3d2YXJzJyxDTEVBTl9JTlQpOw0KCQkNCgkJJGZpZWxkcyA9ICR0aGlzLT5HZXRTZXR0aW5ncygpOw0KCQlnbG9iYWwgJENNU19WRVJTSU9OOw0KCQlpZiAoJENNU19WRVJTSU9OID49ICcyJykgew0KCQkJLy8gYnkgZXhjZXB0aW9uIHdlIHVzZSBhc3NpZ25HbG9iYWwgaW4gc3RlYWQgb2YgYXNzaWduIHRvIG1ha2UgdGhlIHZhcmlhYmxlIGdsb2JhbCBieSBkZWZhdWx0LiBOb3QgdG8gdXNlIGluIG90aGVyIG1vZHVsZXMhDQoJCQljbXNtcygpLT5HZXRTbWFydHkoKS0+YXNzaWduR2xvYmFsKCdDdXN0b21HUycsICRmaWVsZHMpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJY21zbXMoKS0+R2V0U21hcnR5KCktPmFzc2lnbignQ3VzdG9tR1MnLCAkZmllbGRzKTsNCgkJfQ0KCX0NCgkNCglmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkNCgl7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3Nob3d2YXJzJywxLCdTZXQgdGhpcyBwYXJhbWV0ZXIgdG8gc2hvdyBhbGwgYXZhaWxhYmxlIHZhcmlhYmxlcyBhbmQgdGhlaXIgdmFsdWVzLiBGb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5LicpOw0KCX0NCgkNCglmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uKCRldmVudG5hbWUpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2luZm9fJy4kZXZlbnRuYW1lICk7DQoJfQ0KDQoJZnVuY3Rpb24gR2V0RXZlbnRIZWxwKCRldmVudG5hbWUpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2hlbHBfJy4kZXZlbnRuYW1lICk7DQoJfQ0KDQoJZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsNCgl9DQoNCglmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygndW5pbnN0YWxsX2NvbmZpcm0nKTsNCgl9DQoJDQoJZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQ0KCXsNCgkJcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7DQoJfQ0KDQoJZnVuY3Rpb24gR2V0SGVhZGVySFRNTCgpDQoJew0KCQkkdG1wbCA9IDw8PEVPVA0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vbW9kdWxlcy9DdXN0b21HUy9saWIvanF1ZXJ5L2pxdWVyeS11aS5zbW9vdGhuZXNzLmNzcyIgbWVkaWE9ImFsbCIgLz4gPCEtLSBzbW9vdGhuZXNzL2pxdWVyeS11aS0xLjguMTIuY3VzdG9tLmNzcyAtLT4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL21vZHVsZXMvQ3VzdG9tR1MvbGliL2pxdWVyeS9jb2xvcnBpY2tlci5jc3MiIG1lZGlhPSJhbGwiPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vbW9kdWxlcy9DdXN0b21HUy9saWIvanF1ZXJ5L2pxdWVyeS50YWJsZWRuZC5qcyI+PC9zY3JpcHQ+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5jbXNfbGFiZWwgeyBtYXJnaW4tcmlnaHQ6MTJweDsgfQ0KCS5zbWFydHl2YXIgeyBwYWRkaW5nOjAgM3B4OyBjdXJzb3I6dGV4dDsgfQ0KCS8qIGNzcyBmb3IgdGltZXBpY2tlciAqLw0KCS51aS10aW1lcGlja2VyLWRpdiAudWktd2lkZ2V0LWhlYWRlciB7IG1hcmdpbi1ib3R0b206IDhweDsgfQ0KCS51aS10aW1lcGlja2VyLWRpdiBkbCB7IHRleHQtYWxpZ246IGxlZnQ7IH0NCgkudWktdGltZXBpY2tlci1kaXYgZGwgZHQgeyBoZWlnaHQ6IDI1cHg7IG1hcmdpbi1ib3R0b206IC0yNXB4OyB9DQoJLnVpLXRpbWVwaWNrZXItZGl2IGRsIGRkIHsgbWFyZ2luOiAwIDEwcHggMTBweCA2NXB4OyB9DQoJLnVpLXRpbWVwaWNrZXItZGl2IHRkIHsgZm9udC1zaXplOiA5MCU7IH0NCgkudWktdHBpY2tlci1ncmlkLWxhYmVsIHsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0NCg0KCS5jZ3NfcGFnZXNlbGVjdCB7DQoJCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgkJaGVpZ2h0OjMycHg7DQoJCW92ZXJmbG93OmhpZGRlbjsNCgl9DQoJCQkJDQoJLmNnc19maWVsZHNldCB7DQoJCQltYXJnaW4tdG9wOjEwcHg7DQoJCQlwYWRkaW5nLXRvcDowOw0KCQkJcGFkZGluZy1ib3R0b206MTBweDsNCgl9DQoNCgkuY2dzX2NvbGxhcHNpYmxlIHsNCgkJCWN1cnNvcjogcG9pbnRlcjsNCgl9DQoNCgkuY29sbGFwc2Utb3BlbiBzcGFuIHsNCgkJCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCQkJd2lkdGg6MTRweDsNCgkJCWhlaWdodDoxNHB4Ow0KCQkJYmFja2dyb3VuZDp1cmwoLi4vbW9kdWxlcy9DdXN0b21HUy9saWIvanF1ZXJ5L2ltYWdlcy91aS1pY29uc180NTQ1NDVfMjU2eDI0MC5wbmcpIC0xOHB4IC0xOTJweCBuby1yZXBlYXQ7DQoJfQ0KDQoJLmNvbGxhcHNlLWNsb3NlIHNwYW4gew0KCQkJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJCQl3aWR0aDoxNHB4Ow0KCQkJaGVpZ2h0OjE0cHg7DQoJCQliYWNrZ3JvdW5kOnVybCguLi9tb2R1bGVzL0N1c3RvbUdTL2xpYi9qcXVlcnkvaW1hZ2VzL3VpLWljb25zXzQ1NDU0NV8yNTZ4MjQwLnBuZykgLTJweCAtMTkycHggbm8tcmVwZWF0Ow0KCX0NCjwvc3R5bGU+DQpFT1Q7DQoJCXJldHVybiAkdG1wbDsNCgl9DQoNCgkvKioNCgkqIE1ldGhvZCB0byBnZXQgcGFyYW1ldGVycyBvZiBhIGZpZWxkIGJ5IG5hbWUgb3IgYnkgZmllbGRpZA0KCSoNCgkqIEBmaW5hbA0KCSogQGFjY2VzcyBwdWJsaWMNCgkqIEByZXR1cm4gYXJyYXkoKQ0KCSovDQoJZnVuY3Rpb24gR2V0RmllbGQoJGZpZWxkKQ0KCXsNCgkJJGRiID0gY21zbXMoKS0+R2V0REIoKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21ncyBXSEVSRSBmaWVsZGlkPT8gT1IgbmFtZT0/IE9SREVSIEJZIGZpZWxkaWQgREVTQyI7DQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmllbGQsICRmaWVsZCkpOw0KCQlpZiggJHJlc3VsdCAmJiAkcmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCApDQoJCXsNCgkJCSRyb3cgPSAkcmVzdWx0LT5GZXRjaFJvdygpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJHJvdyA9IEZBTFNFOw0KCQl9DQoJCXJldHVybiAkcm93Ow0KCX0NCg0KCS8qKg0KCSogTWV0aG9kIHRvIGdldCBwYXJhbWV0ZXJzIG9mIGZpZWxkcw0KCSoNCgkqIEBmaW5hbA0KCSogQGFjY2VzcyBwdWJsaWMNCgkqIEByZXR1cm4gYXJyYXkoKQ0KCSovDQoJZnVuY3Rpb24gR2V0RmllbGRzKCR0YWJpZCkNCgl7DQoJCSR1c2VyaWQgPSBnZXRfdXNlcmlkKCk7DQoJCSR1c2Vyb3BzID0gY21zbXMoKS0+R2V0VXNlck9wZXJhdGlvbnMoKTsNCgkJJGFkbWlucGVybSA9ICR1c2Vyb3BzLT5Vc2VySW5Hcm91cCgkdXNlcmlkLCAxKTsgLy8gaXMgYWRtaW4NCgkJDQoJCSRmaWVsZHMgPSBhcnJheSgpOw0KDQoJCSRkYiA9IGNtc21zKCktPkdldERCKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgZi4qIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21ncyBmDQoJCQkJCUpPSU4gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21nc190YWJmaWVsZCB0ZiBPTiBmLmZpZWxkaWQgPSB0Zi5maWVsZGlkIEFORCB0Zi50YWJpZCA9ID8NCgkJCQkJT1JERVIgQlkgZi5zb3J0b3JkZXIgQVNDIjsNCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0YWJpZCkpOw0KCQlpZiAoICRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDAgKQ0KCQl7DQoJCQl3aGlsZSAoICRyb3c9JHJlc3VsdC0+RmV0Y2hSb3coKSApDQoJCQl7DQoJCQkJLy8gY2hlY2sgZWRpdG9yIHBlcm1pc3Npb25zDQoJCQkJJGVkaXRwZXJtID0gRkFMU0U7DQoJCQkJaWYgKCAhJGFkbWlucGVybSAmJiAhZW1wdHkoJHJvd1snZWRpdG9ycyddKSApDQoJCQkJew0KCQkJCQkkZWRpdG9ycyA9IGV4cGxvZGUoJzsnLCAkcm93WydlZGl0b3JzJ10pOw0KCQkJCQlmb3JlYWNoICgkZWRpdG9ycyBhcyAkZWRpdG9yKQ0KCQkJCQl7DQoJCQkJCQkkZWRpdHBlcm0gPSAkZWRpdHBlcm0gfHwgJHVzZXJvcHMtPlVzZXJJbkdyb3VwKCR1c2VyaWQsICRlZGl0b3IpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCSRlZGl0cGVybSA9IFRSVUU7DQoJCQkJfQ0KCQkJCWlmICggJGVkaXRwZXJtICkNCgkJCQl7DQoJCQkJCSRmaWVsZHNbJHJvd1snZmllbGRpZCddXSA9ICRyb3c7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXJldHVybiAkZmllbGRzOw0KCX0NCg0KCS8qKg0KCSogTWV0aG9kIHRvIGdldCBwYXJhbWV0ZXJzIG9mIGEgdGFiIGJ5IG5hbWUgb3IgYnkgdGFiaWQNCgkqDQoJKiBAZmluYWwNCgkqIEBhY2Nlc3MgcHVibGljDQoJKiBAcmV0dXJuIGFycmF5KCkNCgkqLw0KCWZ1bmN0aW9uIEdldFRhYigkdGFiKQ0KCXsNCgkJJGRiID0gY21zbXMoKS0+R2V0REIoKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21nc190YWIgV0hFUkUgdGFiaWQ9PyBPUiBuYW1lPT8iOw0KCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRhYiwgJHRhYikpOw0KCQlpZiggJHJlc3VsdCAmJiAkcmVzdWx0LT5SZWNvcmRDb3VudCgpID4gMCApDQoJCXsNCgkJCSRyb3cgPSAkcmVzdWx0LT5GZXRjaFJvdygpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJHJvdyA9IEZBTFNFOw0KCQl9DQoJCXJldHVybiAkcm93Ow0KCX0NCg0KCS8qKg0KCSogTWV0aG9kIHRvIGdldCB0YWJzDQoJKg0KCSogQGZpbmFsDQoJKiBAYWNjZXNzIHB1YmxpYw0KCSogQHJldHVybiBhcnJheSgpDQoJKi8NCglmdW5jdGlvbiBHZXRUYWJzKCRmaWVsZCA9IE5VTEwpDQoJew0KCQkkdXNlcmlkID0gZ2V0X3VzZXJpZCgpOw0KCQkkdXNlcm9wcyA9IGNtc21zKCktPkdldFVzZXJPcGVyYXRpb25zKCk7DQoJCSRhZG1pbnBlcm0gPSAkdXNlcm9wcy0+VXNlckluR3JvdXAoJHVzZXJpZCwgMSk7IC8vIGlzIGFkbWluDQoJCQ0KCQkkdGFicyA9IGFycmF5KCk7DQoNCgkJJGRiID0gY21zbXMoKS0+R2V0REIoKTsNCgkJaWYgKCBlbXB0eSgkZmllbGQpICkgDQoJCXsNCgkJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY3VzdG9tZ3NfdGFiIE9SREVSIEJZIHNvcnRvcmRlciBBU0MiOw0KCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJHF1ZXJ5ID0gIlNFTEVDVCB0LiosIHRmLmZpZWxkaWQgQVMgY2hlY2tlZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY3VzdG9tZ3NfdGFiIHQNCgkJCQkJCUxFRlQgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2N1c3RvbWdzX3RhYmZpZWxkIHRmIE9OIHQudGFiaWQgPSB0Zi50YWJpZCBBTkQgdGYuZmllbGRpZCA9ID8NCgkJCQkJCU9SREVSIEJZIHQuc29ydG9yZGVyIEFTQyI7DQoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpZWxkKSk7DQoJCX0NCgkJaWYgKCAkcmVzdWx0ICYmICRyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwICkNCgkJew0KCQkJd2hpbGUgKCAkcm93PSRyZXN1bHQtPkZldGNoUm93KCkgKQ0KCQkJew0KCQkJCS8vIGNoZWNrIGVkaXRvciBwZXJtaXNzaW9ucw0KCQkJCSRlZGl0cGVybSA9IEZBTFNFOw0KCQkJCWlmICggISRhZG1pbnBlcm0gJiYgIWVtcHR5KCRyb3dbJ2VkaXRvcnMnXSkgJiYgZW1wdHkoJGZpZWxkKSApDQoJCQkJew0KCQkJCQkkZWRpdG9ycyA9IGV4cGxvZGUoJzsnLCAkcm93WydlZGl0b3JzJ10pOw0KCQkJCQlmb3JlYWNoICgkZWRpdG9ycyBhcyAkZWRpdG9yKQ0KCQkJCQl7DQoJCQkJCQkkZWRpdHBlcm0gPSAkZWRpdHBlcm0gfHwgJHVzZXJvcHMtPlVzZXJJbkdyb3VwKCR1c2VyaWQsICRlZGl0b3IpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCSRlZGl0cGVybSA9IFRSVUU7DQoJCQkJfQ0KCQkJCWlmICggJGVkaXRwZXJtICkNCgkJCQl7DQoJCQkJCSR0YWJzW10gPSAkcm93Ow0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJHRhYnM7DQoJfQ0KDQoJLyoqDQoJKiBNZXRob2QgdG8gZ2V0IGFsbCBzZXR0aW5ncw0KCSoNCgkqIEBmaW5hbA0KCSogQGFjY2VzcyBwdWJsaWMNCgkqIEByZXR1cm4gYXJyYXkoKQ0KCSovDQoJZnVuY3Rpb24gR2V0U2V0dGluZ3MoJHBhcnNlU21hcnR5ID0gdHJ1ZSkNCgl7DQoJCSRmaWVsZHMgPSBhcnJheSgpOw0KCQkNCgkJJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOw0KCQkkZGIgPSBjbXNtcygpLT5HZXREQigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9jdXN0b21ncyI7DQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsNCgkJaWYgKCAkcmVzdWx0ICYmICRyZXN1bHQtPlJlY29yZENvdW50KCkgPiAwICkNCgkJew0KCQkJd2hpbGUgKCAkcm93PSRyZXN1bHQtPkZldGNoUm93KCkgKQ0KCQkJew0KCQkJCWlmICggJHJvd1sndHlwZSddICE9ICdmaWVsZHNldHN0YXJ0JyAmJiAkcm93Wyd0eXBlJ10gIT0gJ2ZpZWxkc2V0ZW5kJyApDQoJCQkJew0KCQkJCQkkYWxpYXMgPSBzdHJfcmVwbGFjZSgnX18nLCAnXycsIHN0cl9yZXBsYWNlKCctJywgJ18nLCBtdW5nZV9zdHJpbmdfdG9fdXJsKCRyb3dbJ25hbWUnXSkpKTsNCgkJCQkJaWYgKCAkcm93Wyd0eXBlJ10gPT0gJ2NvbG9ycGlja2VyJyApDQoJCQkJCXsNCgkJCQkJCSRmaWVsZHNbJGFsaWFzXSA9ICIjIi4kcm93Wyd2YWx1ZSddOw0KCQkJCQl9DQoJCQkJCWVsc2VpZiAoICRwYXJzZVNtYXJ0eSAmJiAoJHJvd1sndHlwZSddID09ICd0ZXh0YXJlYScgfHwgJHJvd1sndHlwZSddID09ICd3eXNpd3lnJykgJiYgJHJvd1sncHJvcGVydGllcyddICkNCgkJCQkJew0KCQkJCQkJJGZpZWxkc1skYWxpYXNdID0gJHNtYXJ0eS0+ZmV0Y2goJ3N0cmluZzonLiRyb3dbJ3ZhbHVlJ10pOw0KCQkJCQl9DQoJCQkJCWVsc2UNCgkJCQkJew0KCQkJCQkJJGZpZWxkc1skYWxpYXNdID0gJHJvd1sndmFsdWUnXTsNCgkJCQkJfQ0KCQkJCQkkZmllbGRzWyRyb3dbJ2ZpZWxkaWQnXV0gPSAkZmllbGRzWyRhbGlhc107DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXJldHVybiAkZmllbGRzOw0KCX0NCg0KCS8qKg0KCSogTWV0aG9kIHRvIGNsZWFyIHRoZSBjb21iaW5lZCBzdHlsZXNoZWV0IGNhY2hlDQoJKg0KCSogQGZpbmFsDQoJKiBAYWNjZXNzIHByaXZhdGUNCgkqIEByZXR1cm4gdm9pZA0KCSovDQoJZnVuY3Rpb24gQ2xlYXJTdHlsZXNoZWV0Q2FjaGUoKQ0KCXsNCgkJZm9yZWFjaCAoZ2xvYigiLi4vdG1wL2NhY2hlL3N0eWxlc2hlZXRfY29tYmluZWRfKi5jc3MiKSBhcyAkZmlsZW5hbWUpIHsNCgkJCUB1bmxpbmsoJGZpbGVuYW1lKTsNCgkJfQ0KCX0NCg0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_fielddefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEN1c3RvbSBHbG9iYWwgU2V0dGluZ3MKIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY3VzdG9tZ3MKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIE1hbmFnZScpICkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MgLSBNYW5hZ2UnKSk7CglyZXR1cm47Cn0KCiR0YWJzID0gJHRoaXMtPkdldFRhYnMoLTEpOwokdGFiaWQgPSBlbXB0eSgkcGFyYW1zWyd0YWJpZCddKSA/ICR0YWJzWzBdWyd0YWJpZCddIDogJHBhcmFtc1sndGFiaWQnXTsKCmlmICggY291bnQoJHRhYnMpID4gMSApCnsKCS8vIGNyZWF0ZSB0YWIgZHJvcGRvd25maWVsZAoJZm9yZWFjaCAoICR0YWJzIGFzICR0YWIgKSAKCXsKCQkkbGFiZWwgPSAkdGFiWyduYW1lJ107CgkJJHRhYmxpc3RbJGxhYmVsXSA9ICR0YWJbJ3RhYmlkJ107Cgl9Cgkkc21hcnR5LT5hc3NpZ24oJ3RhYnNlbGVjdCcsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3RhYnNlbGVjdCcsICR0YWJsaXN0LCAtMSwgJHRhYmlkLCAnaWQ9IicgLiAkaWQgLiAndGFic2VsZWN0IicpKTsKCSRzbWFydHktPmFzc2lnbigndGFic2VsZWN0anMnLCAnCgkJJChcJyMnIC4gJGlkIC4gJ3RhYnNlbGVjdFwnKS5jaGFuZ2UoIGZ1bmN0aW9uKCkgewoJCQlsb2NhdGlvbi5ocmVmID0gIicgLiBzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICcnLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2ZpZWxkZGVmcycpLCAnJywgdHJ1ZSkpICAuICcmJyAuICRpZCAuICd0YWJpZD0iKyQodGhpcykudmFsKCk7CgkJfSk7CicpOwp9CmVsc2UKewoJJHNtYXJ0eS0+YXNzaWduKCd0YWJzZWxlY3QnLCBsYW5nKCdzdGF0dXMnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3RhYnNlbGVjdGpzJywgJycpOwp9Cgokcm93YXJyYXkgPSBhcnJheSgpOwoKJGRiID0gJHRoaXMtPkdldERCKCk7CiRxdWVyeSA9ICJTRUxFQ1QKCQkJCQkJZi4qLCB0Zi50YWJpZCBBUyBjaGVja2VkCgkJCQkJRlJPTQoJCQkJCQkiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9jdXN0b21ncyBmCgkJCQkJTEVGVCBKT0lOCgkJCQkJCSIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2N1c3RvbWdzX3RhYmZpZWxkIHRmCgkJCQkJT04KCQkJCQkJZi5maWVsZGlkID0gdGYuZmllbGRpZCBBTkQgdGYudGFiaWQgPSA/CgkJCQkJT1JERVIgQlkKCQkJCQkJZi5zb3J0b3JkZXIgQVNDIjsKJHJlc3VsdCA9ICRkYi0+R2V0QWxsKCRxdWVyeSwgYXJyYXkoJHRhYmlkKSk7CiRyb3djb3VudCA9IGNvdW50KCRyZXN1bHQpOwoKaWYgKCAkcmVzdWx0ICYmICRyb3djb3VudCA+IDAgKQp7Cgkkcm93Y2xhc3MgPSAncm93MSc7Cglmb3JlYWNoICggJHJlc3VsdCBhcyAka2V5ID0+ICRkZWYgKQoJewoJCSRyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKCQkkcm93LT5maWVsZGlkID0gJGRlZlsnZmllbGRpZCddOwoJCSRyb3ctPm5hbWUgPSAkZGVmWyd0eXBlJ10gPT0gJ2ZpZWxkc2V0ZW5kJyA/ICRkZWZbJ25hbWUnXSA6ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgJGRlZlsnbmFtZSddLCBhcnJheSgnZmllbGRpZCcgPT4gJGRlZlsnZmllbGRpZCddLCAnbW9kZSc9PidlZGl0JykpOwoJCSRhbGlhcyA9IHN0cl9yZXBsYWNlKCdfXycsICdfJywgc3RyX3JlcGxhY2UoJy0nLCAnXycsIG11bmdlX3N0cmluZ190b191cmwoJGRlZlsnbmFtZSddKSkpOwoJCSRyb3ctPnNtYXJ0eXZhciA9ICcnOwkKCQlpZiAoICRkZWZbJ3R5cGUnXSAhPSAnZmllbGRzZXRzdGFydCcgJiYgJGRlZlsndHlwZSddICE9ICdmaWVsZHNldGVuZCcgKQoJCXsKCQkJJHJvdy0+c21hcnR5dmFyID0gJ3skQ3VzdG9tR1MuJyAuICRhbGlhcyAuICd9JzsJCQkKCQl9CgkJLy8kcm93LT5oZWxwID0gJGRlZlsnaGVscCddOwoJCSRyb3ctPnR5cGUgPSAkdGhpcy0+TGFuZygkZGVmWyd0eXBlJ10pOwoJCXN3aXRjaCAoJGRlZlsndHlwZSddKSAKCQl7CgkJCWNhc2UgJ2diZmlsZXBpY2tlcic6CgkJCQlpZiAoICRnYmZwID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdHQkZpbGVQaWNrZXInKSApCgkJCQl7CgkJCQkJJHJvdy0+dHlwZSA9ICRnYmZwLT5HZXRGcmllbmRseU5hbWUoKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkkcm93LT50eXBlID0gJ0dCRmlsZVBpY2tlciAoJyAuIGxhbmcoJ25vdGluc3RhbGxlZCcpIC4gJyknOwoJCQkJfQoJCQkJYnJlYWs7CgkJCQkKCQkJY2FzZSAnam1maWxlcGlja2VyJzoKCQkJCWlmICggJGptZnAgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0pNRmlsZVBpY2tlcicpICkKCQkJCXsKCQkJCQkkcm93LT50eXBlID0gJGptZnAtPkdldEZyaWVuZGx5TmFtZSgpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSRyb3ctPnR5cGUgPSAnSk1GaWxlUGlja2VyICgnIC4gbGFuZygnbm90aW5zdGFsbGVkJykgLiAnKSc7CgkJCQl9CgkJCQlicmVhazsKCQkJCQoJCX0KCQkKCQlpZiAoICRkZWZbJ3NvcnRvcmRlciddID4gMSApCgkJewoJCQkkcm93LT5tb3ZldXAgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hcnJvdy11LmdpZicsIGxhbmcoJ3VwJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2ZpZWxkaWQnID0+ICRkZWZbJ2ZpZWxkaWQnXSwgJ21vZGUnPT4nbW92ZXVwJykpOwoJCX0KCQllbHNlCgkJewoJCQkkcm93LT5tb3ZldXAgPSAnJzsKCQl9CgkJCgkJaWYgKCAka2V5IDwgJHJvd2NvdW50IC0gMSAmJiAkcmVzdWx0WyRrZXkrMV1bJ3NvcnRvcmRlciddICE9IDEgKQoJCXsKCQkJJHJvdy0+bW92ZWRvd24gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hcnJvdy1kLmdpZicsIGxhbmcoJ2Rvd24nKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnZmllbGRpZCcgPT4gJGRlZlsnZmllbGRpZCddLCAnbW9kZSc9Pidtb3ZlZG93bicpKTsKCQl9CgkJZWxzZQoJCXsKCQkJJHJvdy0+bW92ZWRvd24gPSAnJzsKCQl9CgkJCgkJJHRydWVpbWFnZSA9ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsIGxhbmcoJ2FjdGl2ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7CgkJJGZhbHNlaW1hZ2UgPSAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgbGFuZygnaW5hY3RpdmUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwoKCQkkcm93LT5hc3NpZ250YWIgPSAnJzsKCQkkcm93LT5lZGl0bGluayA9ICcnOwoJCSRyb3ctPmRlbGV0ZWxpbmsgPSAnJzsKCQlpZiAoICRkZWZbJ3R5cGUnXSAhPSAnZmllbGRzZXRlbmQnICkKCQl7CgkJCSRyb3ctPmFzc2lnbnRhYiA9ICc8YSBocmVmPSInIC4gCgkJCQkJaHRtbF9lbnRpdHlfZGVjb2RlKCR0aGlzLT5jcmVhdGVfdXJsKCRpZCwgJ2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgCgkJCQkJYXJyYXkoJ21vZGUnID0+ICdhc3NpZ24nLCAndGFiaWQnID0+ICR0YWJpZCwgJ2ZpZWxkaWQnID0+ICRkZWZbJ2ZpZWxkaWQnXSkpKSAuIAoJCQkJCScmc2hvd3RlbXBsYXRlPWZhbHNlIiBjbGFzcz0iYXNzaWdudGFiIj4nIC4gKCRkZWZbJ2NoZWNrZWQnXSA/ICR0cnVlaW1hZ2UgOiAkZmFsc2VpbWFnZSkgLiAnPC9hPic7CgkJCSRyb3ctPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGZpZWxkZGVmJywgJHJldHVybmlkLAoJCQkJICAgICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsIGxhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJICAgIGFycmF5ICgnZmllbGRpZCcgPT4gJGRlZlsnZmllbGRpZCddLCAnbW9kZSc9PidlZGl0JykpOwoJCQkkcm93LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGZpZWxkZGVmJywgJHJldHVybmlkLAoJCQkJCSAgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBsYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJCSAgYXJyYXkgKCdmaWVsZGlkJyA9PiAkZGVmWydmaWVsZGlkJ10sICdtb2RlJz0+J2RlbGV0ZScpLCBsYW5nKCdkZWxldGVjb25maXJtJywkZGVmWyduYW1lJ10pKTsKCQl9CgoJCWFycmF5X3B1c2ggKCRyb3dhcnJheSwgJHJvdyk7Cgl9Cn0KaWYgKCAkcmVzdWx0ID09PSBGQUxTRSApCnsKCWVjaG8gJ0VSUk9SOiAnIC4gbXlzcWxfZXJyb3IoKTsKCWV4aXQoKTsKfQoKCiRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkgKTsKJHNtYXJ0eS0+YXNzaWduKCduYW1lJywgbGFuZygnbmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdzbWFydHl2YXInLCAkdGhpcy0+TGFuZygnc21hcnR5dmFyJykpOwokc21hcnR5LT5hc3NpZ24oJ3R5cGUnLCBsYW5nKCd0eXBlJykpOwovLyRzbWFydHktPmFzc2lnbignaGVscCcsIGxhbmcoJ2hlbHAnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ25ld2ZpZWxkZGVmbGluaycsCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwKCQkJICAgICAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3Zm9sZGVyLmdpZicsIGxhbmcoJ2FkZCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkJCSAgICAgYXJyYXkoJ21vZGUnID0+ICdhZGQnKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpLicgJy4KCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwKCQkJICAgICBsYW5nKCdhZGQnKSwKCQkJICAgICBhcnJheSgnbW9kZScgPT4gJ2FkZCcpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Nob3dvbnRhYicsICR0aGlzLT5MYW5nKCdzaG93b250YWInKSk7CiRzbWFydHktPmFzc2lnbigndHJ1ZWltYWdlJywkdHJ1ZWltYWdlKTsKJHNtYXJ0eS0+YXNzaWduKCdmYWxzZWltYWdlJywkZmFsc2VpbWFnZSk7Cgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgJ3Bvc3QnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdtb2RfaWQnLCAkaWQpOwokc21hcnR5LT5hc3NpZ24oJ2FqYXhfdXJsJywgaHRtbF9lbnRpdHlfZGVjb2RlKCR0aGlzLT5jcmVhdGVfdXJsKCRpZCwgJ2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgYXJyYXkoJ21vZGUnID0+ICdzb3J0JykpKSk7CiRzbWFydHktPmFzc2lnbigncmVmcmVzaF91cmwnLCBodG1sX2VudGl0eV9kZWNvZGUoJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkKSkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9maWVsZGRlZnMudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_general.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEN1c3RvbSBHbG9iYWwgU2V0dGluZ3MKIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY3VzdG9tZ3MKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCmlmICghJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKGxhbmcoJ25lZWRwZXJtaXNzaW9udG8nLCAnQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIFVzZScpKTsKCXJldHVybjsKfQoKCi8vIEdldCB0aGUgZmllbGRzIHRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gZWRpdC4KJGZpZWxkcyA9ICR0aGlzLT5HZXRGaWVsZHMoJHRhYlsndGFiaWQnXSk7CgokdXNlcmlkID0gZ2V0X3VzZXJpZCgpOwokcm93YXJyYXkgPSBhcnJheSgpOwoKZm9yZWFjaCggJGZpZWxkcyBhcyAka2V5ID0+ICRmbGQgKQp7Cgkkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CgoJJG9uZXJvdy0+ZmllbGRpZCA9ICRmbGRbJ2ZpZWxkaWQnXTsKCSRvbmVyb3ctPm5hbWUgPSAkZmxkWyduYW1lJ107Cgkkb25lcm93LT50eXBlID0gJGZsZFsndHlwZSddOwoJJG9uZXJvdy0+aGVscCA9ICRmbGRbJ2hlbHAnXTsKCSRvbmVyb3ctPnZhbHVlID0gJGZsZFsndmFsdWUnXTsKCSRvbmVyb3ctPmZpZWxkY2xhc3MgPSAnJzsKCgkkZmllbGRuYW1lID0gJ2ZpZWxkWycgLiAkdGFiWyd0YWJpZCddIC4gJ11bJyAuICRmbGRbJ2ZpZWxkaWQnXSAuICddJzsKCXN3aXRjaCAoICRmbGRbJ3R5cGUnXSApCgl7CgkJY2FzZSAndGV4dGZpZWxkJzoKCQkJJHNpemUgPSBtaW4oNTAsICRmbGRbJ3Byb3BlcnRpZXMnXSk7CgkJCSRvbmVyb3ctPmZpZWxkaHRtbCA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAkZmllbGRuYW1lLCAkZmxkWyd2YWx1ZSddLCAkc2l6ZSwgJGZsZFsncHJvcGVydGllcyddICk7CgkJCWJyZWFrOwoKCQljYXNlICdwdWxsZG93bic6CgkJY2FzZSAncmFkaW9idXR0b25zJzoKCQkJLy8gbGV0cyBwYXJzZSB0aGlzIGJ5IHNtYXJ0eSBmaXJzdAoJCQkkZmxkWydwcm9wZXJ0aWVzJ10gPSAkc21hcnR5LT5mZXRjaCgnZXZhbDonLiRmbGRbJ3Byb3BlcnRpZXMnXSk7CgkJCSRmbGRbJ3Byb3BlcnRpZXMnXSA9IHByZWdfcmVwbGFjZSgnIzwhLS0oLispLS0+I2lzJywgJycsICRmbGRbJ3Byb3BlcnRpZXMnXSk7IC8vIGZpbHRlciBvdXQgaHRtbCBjb21tZW50cwoJCQkkZmxkWydwcm9wZXJ0aWVzJ10gPSBzdHJfcmVwbGFjZSgiXHIiLCAiXG4iLCAkZmxkWydwcm9wZXJ0aWVzJ10pOwoJCQkkZmxkWydwcm9wZXJ0aWVzJ10gPSBzdHJfcmVwbGFjZSgiXG5cbiIsICJcbiIsICRmbGRbJ3Byb3BlcnRpZXMnXSk7CgkJCSRmbGRbJ3Byb3BlcnRpZXMnXSA9IHRyaW0oJGZsZFsncHJvcGVydGllcyddKTsKCQkJJHByb3BlcnRpZXMgPSBleHBsb2RlKCJcbiIsICRmbGRbJ3Byb3BlcnRpZXMnXSk7CgkJCSRpdGVtcyA9IGFycmF5KCk7CgkJCWZvcmVhY2ggKCRwcm9wZXJ0aWVzIGFzICRwcm9wZXJ0eSkKCQkJewoJCQkJbGlzdCgka2V5LCAkdmFsdWUpID0gZXhwbG9kZSgifCIsICRwcm9wZXJ0eSAuICJ8Iik7CgkJCQkkdmFsdWUgPSB0cmltKCR2YWx1ZSkgPT0gIiIgPyAka2V5IDogJHZhbHVlOwoJCQkJJGl0ZW1zWyR2YWx1ZV0gPSAka2V5OwoJCQl9CgkJCWlmICggJGZsZFsndHlwZSddID09ICdwdWxsZG93bicgKQoJCQl7CgkJCQkkb25lcm93LT5maWVsZGh0bWwgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICRmaWVsZG5hbWUsICRpdGVtcywgLTEsICRmbGRbJ3ZhbHVlJ10pOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJJG9uZXJvdy0+ZmllbGRodG1sID0gJHRoaXMtPkNyZWF0ZUlucHV0UmFkaW9Hcm91cCgkaWQsICRmaWVsZG5hbWUsICRpdGVtcywgJGZsZFsndmFsdWUnXSk7CgkJCX0KCQkJYnJlYWs7CgoJCWNhc2UgJ2NoZWNrYm94JzoKCQkJJG9uZXJvdy0+ZmllbGRodG1sID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAkZmllbGRuYW1lLCAnMScsICRmbGRbJ3ZhbHVlJ10sICcnKTsKCQkJYnJlYWs7CgoJCWNhc2UgJ2RhdGVwaWNrZXInOgoJCWNhc2UgJ3RpbWVwaWNrZXInOgoJCQkkb25lcm93LT5maWVsZGh0bWwgPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJGZpZWxkbmFtZSwgJGZsZFsndmFsdWUnXSwgMTEsIDEwKTsKCQkJJG9uZXJvdy0+ZmllbGRjbGFzcyA9ICcgJyAuICRmbGRbJ3R5cGUnXTsKCQkJYnJlYWs7CgoJCWNhc2UgJ2RhdGV0aW1lcGlja2VyJzoKCQkJJG9uZXJvdy0+ZmllbGRodG1sID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICRmaWVsZG5hbWUsICRmbGRbJ3ZhbHVlJ10sIDE4LCAyMCk7CgkJCSRvbmVyb3ctPmZpZWxkY2xhc3MgPSAnICcgLiAkZmxkWyd0eXBlJ107CgkJCWJyZWFrOwoKCQljYXNlICdwYWdlc2VsZWN0JzoKCQkJJGNvbnRlbnRvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCQkkb25lcm93LT5maWVsZGh0bWwgPSAnPHNwYW4gY2xhc3M9ImNnc19wYWdlc2VsZWN0Ij4nIC4gJGNvbnRlbnRvcHMtPkNyZWF0ZUhpZXJhcmNoeURyb3Bkb3duKCcnLCAkZmxkWyd2YWx1ZSddLCAkaWQgLiAkZmllbGRuYW1lLCB0cnVlKSAuICc8L3NwYW4+JzsKCQkJYnJlYWs7CgoJCWNhc2UgJ3RleHRhcmVhJzoKCQkJJG9uZXJvdy0+ZmllbGRodG1sID0gJHRoaXMtPkNyZWF0ZVRleHRBcmVhKEZBTFNFLCAkaWQsICRmbGRbJ3ZhbHVlJ10sICRmaWVsZG5hbWUpOwoJCQlicmVhazsKCgkJY2FzZSAnd3lzaXd5Zyc6CgkJCSRvbmVyb3ctPmZpZWxkaHRtbCA9ICR0aGlzLT5DcmVhdGVUZXh0QXJlYShUUlVFLCAkaWQsICRmbGRbJ3ZhbHVlJ10sICRmaWVsZG5hbWUpOwoJCQlicmVhazsKCgkJY2FzZSAnYnV0dG9uJzoKCQkJJG9uZXJvdy0+ZmllbGRodG1sID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJGZpZWxkbmFtZSwgJGZsZFsnbmFtZSddKTsKCQkJYnJlYWs7CgoJCWNhc2UgJ2diZmlsZXBpY2tlcic6CgkJCSRvbmVyb3ctPmZpZWxkaHRtbCA9ICcnOwoJCQkkZ2JmcCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnR0JGaWxlUGlja2VyJyk7CgkJCWlmICggJGdiZnAgKQoJCQl7CgkJCQkkb25lcm93LT5maWVsZGh0bWwgPSAkZ2JmcC0+Q3JlYXRlRmlsZVBpY2tlcklucHV0KCRnYmZwLCAkaWQsICRmaWVsZG5hbWUsICRmbGRbJ3ZhbHVlJ10sIGFycmF5KCdkaXInPT4naW1hZ2VzJywnbW9kZSc9Pidicm93c2VyJykpOwoJCQl9CgkJCWJyZWFrOwoKCQljYXNlICdqbWZpbGVwaWNrZXInOgoJCQkkb25lcm93LT5maWVsZGh0bWwgPSAnJzsKCQkJJGptZnAgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0pNRmlsZVBpY2tlcicpOwoJCQlpZiAoICRqbWZwICkKCQkJewoJCQkJJG9uZXJvdy0+ZmllbGRodG1sID0gJGptZnAtPkNyZWF0ZUZpbGVQaWNrZXJJbnB1dCgkam1mcCwgJGlkLCAkZmllbGRuYW1lLCAkZmxkWyd2YWx1ZSddLCBhcnJheSgnZGlyJz0+J2ltYWdlcycsJ21vZGUnPT4nYnJvd3NlcicpKTsKCQkJfQoJCQlicmVhazsKCgkJY2FzZSAnY29sb3JwaWNrZXInOgoJCQkkb25lcm93LT5maWVsZGh0bWwgPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJGZpZWxkbmFtZSwgJGZsZFsndmFsdWUnXSwgMTEsIDEwKTsKCQkJJG9uZXJvdy0+ZmllbGRjbGFzcyA9ICcgaW5wdXRjb2xvcnBpY2tlcic7CgkJCWJyZWFrOwoKCQljYXNlICdmaWVsZHNldHN0YXJ0JzoKCQkJJG9uZXJvdy0+ZmllbGRodG1sID0gJzxmaWVsZHNldCBjbGFzcz0iY2dzX2ZpZWxkc2V0Ij48bGVnZW5kIGNsYXNzPSJjZ3NfY29sbGFwc2libGUiIGlkPSJzZWN0aW9uJyAuICR1c2VyaWQgLiAnLScgLiAkdGFiWyd0YWJpZCddIC4gJy0nIC4gJGZsZFsnZmllbGRpZCddIC4gJyI+PHNwYW4+PC9zcGFuPiAnIC4gJGZsZFsnbmFtZSddIC4gJzwvbGVnZW5kPjxkaXY+JzsKCQkJYnJlYWs7CgoJCWNhc2UgJ2ZpZWxkc2V0ZW5kJzoKCQkJJG9uZXJvdy0+ZmllbGRodG1sID0gJzwvZGl2PjwvZmllbGRzZXQ+IDwhLS0gZW5kIGNnc19jb2xsYXBzaWJsZSAtLT4nOwoJCQlicmVhazsKCX0KCglhcnJheV9wdXNoICgkcm93YXJyYXksICRvbmVyb3cpOwp9Cgokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJHJvd2FycmF5ICk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdGJ1dHRvbicsIGxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdzYXZlX2dlbmVyYWwnLCAkcmV0dXJuaWQsICdwb3N0JywgJycsIGZhbHNlLCAnJywgYXJyYXkoJ3RhYmlkJyA9PiAkdGFiWyd0YWJpZCddKSkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fZ2VuZXJhbC50cGwnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_options.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEN1c3RvbSBHbG9iYWwgU2V0dGluZ3MKIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY3VzdG9tZ3MKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIE1hbmFnZScpICkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MgLSBNYW5hZ2UnKSk7CglyZXR1cm47Cn0KCiRzbWFydHktPmFzc2lnbigndGl0bGVfY3VzdG9tX21vZHVsZW5hbWUnLCAkdGhpcy0+TGFuZygndGl0bGVfY3VzdG9tX21vZHVsZW5hbWUnKSk7CQokc21hcnR5LT5hc3NpZ24oJ2hlbHBfY3VzdG9tX21vZHVsZW5hbWUnLCAkdGhpcy0+TGFuZygnaGVscF9jdXN0b21fbW9kdWxlbmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jdXN0b21fbW9kdWxlbmFtZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpbnB1dF9jdXN0b21fbW9kdWxlbmFtZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2lucHV0X2N1c3RvbV9tb2R1bGVuYW1lJywnJyksNTAsMjU1KSk7Cgokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX2FkbWluX3NlY3Rpb24nLCAkdGhpcy0+TGFuZygndGl0bGVfYWRtaW5fc2VjdGlvbicpKTsJCiRzbWFydHktPmFzc2lnbignaGVscF9hZG1pbl9zZWN0aW9uJywgJHRoaXMtPkxhbmcoJ2hlbHBfYWRtaW5fc2VjdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hZG1pbl9zZWN0aW9uJywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnaW5wdXRfYWRtaW5fc2VjdGlvbicsCgkJCQlhcnJheShsYW5nKCdtYWluJykgPT4gJ21haW4nLAoJCQkJCQkJbGFuZygnY29udGVudCcpID0+ICdjb250ZW50JywKCQkJCQkJCWxhbmcoJ2xheW91dCcpID0+ICdsYXlvdXQnLAoJCQkJCQkJbGFuZygndXNlcnNncm91cHMnKSA9PiAndXNlcnNncm91cHMnLAoJCQkJCQkJbGFuZygnZXh0ZW5zaW9ucycpID0+ICdleHRlbnNpb25zJywKCQkJCQkJCWxhbmcoJ2FkbWluJykgPT4gJ2FkbWluJywKCQkJCQkJCWxhbmcoJ215cHJlZnMnKSA9PiAnbXlwcmVmcycpLAoJCQkJLTEsCgkJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5fc2VjdGlvbicsICdleHRlbnNpb25zJykKKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3NhdmVfb3B0aW9ucycsICRyZXR1cm5pZCApKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9vcHRpb25zLnRwbCcpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_tabs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEN1c3RvbSBHbG9iYWwgU2V0dGluZ3MKIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY3VzdG9tZ3MKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIE1hbmFnZScpICkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MgLSBNYW5hZ2UnKSk7CglyZXR1cm47Cn0KCgokcm93YXJyYXkgPSBhcnJheSgpOwoKJHJvd3MgPSAkdGhpcy0+R2V0VGFicygtMSk7CiRyb3djb3VudCA9IGNvdW50KCRyb3dzKTsKCmlmICggJHJlc3VsdCAmJiAkcm93Y291bnQgPiAwICkKewoJJHJvd2NsYXNzID0gJ3JvdzEnOwoJZm9yZWFjaCAoICRyb3dzIGFzICRrZXkgPT4gJGl0ZW0gKQoJewoJCSRyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKCQkkcm93LT50YWJpZCA9ICRpdGVtWyd0YWJpZCddOwoJCSRyb3ctPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGFiJywgJHJldHVybmlkLCAkaXRlbVsnbmFtZSddLCBhcnJheSgndGFiaWQnID0+ICRpdGVtWyd0YWJpZCddLCAnbW9kZSc9PidlZGl0JykpOwoJCQoJCWlmICggJGl0ZW1bJ3NvcnRvcmRlciddID4gMSApCgkJewoJCQkkcm93LT5tb3ZldXAgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGFiJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYnLCBsYW5nKCd1cCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCd0YWJpZCcgPT4gJGl0ZW1bJ3RhYmlkJ10sICdtb2RlJz0+J21vdmV1cCcpKTsKCQl9CgkJZWxzZQoJCXsKCQkJJHJvdy0+bW92ZXVwID0gJyc7CgkJfQoJCQoJCWlmICggJGtleSA8ICRyb3djb3VudCAtIDEgJiYgJHJvd3NbJGtleSsxXVsnc29ydG9yZGVyJ10gIT0gMSApCgkJewoJCQkkcm93LT5tb3ZlZG93biA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0YWInLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hcnJvdy1kLmdpZicsIGxhbmcoJ2Rvd24nKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgndGFiaWQnID0+ICRpdGVtWyd0YWJpZCddLCAnbW9kZSc9Pidtb3ZlZG93bicpKTsKCQl9CgkJZWxzZQoJCXsKCQkJJHJvdy0+bW92ZWRvd24gPSAnJzsKCQl9CgkJCgkJJHJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGFiJywgJHJldHVybmlkLAoJCQkJCQkJJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgbGFuZyAoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJCQkJYXJyYXkgKCd0YWJpZCcgPT4gJGl0ZW1bJ3RhYmlkJ10sICdtb2RlJz0+J2VkaXQnKSk7CgkJJHJvdy0+ZGVsZXRlbGluayA9ICRyb3djb3VudCA+IDEgPyAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGFiJywgJHJldHVybmlkLAoJCQkJCQkJJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBsYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkJCWFycmF5ICgndGFiaWQnID0+ICRpdGVtWyd0YWJpZCddLCAnbW9kZSc9PidkZWxldGUnKSwgbGFuZyAoJ2RlbGV0ZWNvbmZpcm0nLCRpdGVtWyduYW1lJ10pKQoJCQkJCQkJOiAnJzsKCgkJYXJyYXlfcHVzaCAoJHJvd2FycmF5LCAkcm93KTsKCX0KfQppZiAoICRyZXN1bHQgPT09IEZBTFNFICkKewoJZWNobyAnRVJST1I6ICcgLiBteXNxbF9lcnJvcigpOwoJZXhpdCgpOwp9CgoKJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRyb3dhcnJheSApOwokc21hcnR5LT5hc3NpZ24oJ25hbWUnLCBsYW5nKCduYW1lJykpOwoKJHNtYXJ0eS0+YXNzaWduKCduZXd0YWJsaW5rJywKCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRhYicsICRyZXR1cm5pZCwKCQkJICAgICAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3Zm9sZGVyLmdpZicsIGxhbmcoJ2FkZCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkJCSAgICAgYXJyYXkoJ21vZGUnID0+ICdhZGQnKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpLicgJy4KCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0YWInLCAkcmV0dXJuaWQsCgkJCSAgICAgbGFuZygnYWRkJyksCgkJCSAgICAgYXJyYXkoJ21vZGUnID0+ICdhZGQnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdlZGl0dGFiJywgJHJldHVybmlkLCAncG9zdCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcgKCdjYW5jZWwnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdtb2RfaWQnLCAkaWQpOwokc21hcnR5LT5hc3NpZ24oJ2FqYXhfdXJsJywgaHRtbF9lbnRpdHlfZGVjb2RlKCR0aGlzLT5jcmVhdGVfdXJsKCRpZCwgJ2VkaXR0YWInLCAkcmV0dXJuaWQsIGFycmF5KCdtb2RlJyA9PiAnc29ydCcpKSkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl90YWJzLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/help_text.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0icGFnZV90YWJzIj4NCiAgICA8ZGl2IGlkPSJnZW5lcmFsIj5HZW5lcmFsPC9kaXY+DQoJPGRpdiBpZD0ic3RhcnQiPkdldHRpbmcgc3RhcnRlZDwvZGl2Pg0KCTxkaXYgaWQ9InBlcm1pc3Npb25zIj5QZXJtaXNzaW9uczwvZGl2Pg0KCTxkaXYgaWQ9ImV4YW1wbGVzIj5FeGFtcGxlczwvZGl2Pg0KCTxkaXYgaWQ9InRyb3VibGVzaG9vdGluZyI+VHJvdWJsZXNob290aW5nPC9kaXY+DQogICAgPGRpdiBpZD0iY29weXJpZ2h0Ij5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2Pg0KDQo8ZGl2IGlkPSJwYWdlX2NvbnRlbnQiPg0KCTxkaXYgaWQ9ImdlbmVyYWxfYyI+DQoJCTxwPlRoaXMgbW9kdWxlIGV4dGVuZHMgdGhlIEdsb2JhbCBTZXR0aW5ncyB3aXRoIHNvbWUgY3VzdG9taXplZCBwYXJhbWV0ZXJzLjxiciAvPg0KCQlZb3UgY2FuIGRlZmluZSBhbiB1bmxpbWl0ZWQgbnVtYmVyIG9mIGZpZWxkcyB3aGljaCBjYW4gYmUgdXNlZCBhcyBzbWFydHktdmFyaWFibGUgaW4gdGVtcGxhdGVzIG9yIHBhZ2VzLjwvcD4NCgkJPGJyIC8+DQoJCTxwPkF2YWlsYWJsZSBhcmU6PC9wPg0KCQk8dWw+DQoJCTxsaT5CdXR0b248L2xpPg0KCQk8bGk+Q2hlY2tib3g8L2xpPg0KCQk8bGk+Q29sb3JwaWNrZXI8L2xpPg0KCQk8bGk+RGF0ZXBpY2tlcjwvbGk+DQoJCTxsaT5EYXRlIGFuZCB0aW1lcGlja2VyPC9saT4NCgkJPGxpPkdCRmlsZVBpY2tlciA8aT4obW9kdWxlIEdCRmlsZVBpY2tlciBuZWVkcyB0byBiZSBpbnN0YWxsZWQpPC9pPjwvbGk+DQoJCTxsaT5KTUZpbGVQaWNrZXIgPGk+KG1vZHVsZSBKTUZpbGVQaWNrZXIgbmVlZHMgdG8gYmUgaW5zdGFsbGVkKTwvaT48L2xpPg0KCQk8bGk+UGFnZSBzZWxlY3RvcjwvbGk+DQoJCTxsaT5QdWxsZG93bjwvbGk+DQoJCTxsaT5SYWRpb2J1dHRvbmdyb3VwPC9saT4NCgkJPGxpPlRleHRhcmVhPC9saT4NCgkJPGxpPlRleHRhcmVhIHdpdGggV1lTSVdZRzwvbGk+DQoJCTxsaT5UZXh0ZmllbGQ8L2xpPg0KCQk8bGk+VGltZXBpY2tlcjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCQk8cD5BZGRpdGlvbmFsIHRoZXJlIGlzIGEgc3BlY2lhbCBmaWVsZGRlZmluaXRpb24gIkZpZWxkZ3JvdXAgc3RhcnQiLiBXaXRoIHRoaXMgb3B0aW9uIHlvdSBjYW4gY3JlYXRlIGEgY29sbGFwc2libGUgZ3JvdXAgb2YgZmllbGRzLjxiciAvPg0KCQlBZnRlciBjcmVhdGluZyB0aGUgIkZpZWxkZ3JvdXAgc3RhcnQiLCBhbHNvIGEgIkZpZWxkZ3JvdXAgZW5kIiB3aXRoIHRoZSBzYW1lIG5hbWUgd2lsbCBiZSBhZGRlZCBhdXRvbWF0aWNhbGx5LiBEcmFnICZhbXA7IGRyb3AgZmllbGRzIGJldHdlZW4gc3RhcnQgYW5kIGVuZCB0byBwdXQgdGhlbSBpbiB0aGUgZ3JvdXAuPC9wPg0KCQk8YnIgLz4NCgk8L2Rpdj4NCg0KCTxkaXYgaWQ9InN0YXJ0X2MiPg0KCQk8cD5HbyB0byB0aGUgQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyBtb2R1bGUgYWRtaW4gKGJ5IGRlZmF1bHQgdW5kZXIgbWVudSAnRXh0ZW5zaW9ucycpIGFuZCBkZWZpbmUgZmllbGRzIGluIHRoZSB0YWIgRmllbGRkZWZpbml0aW9ucy48L3A+DQoJCTxwPkluIHRoZSB0ZW1wbGF0ZXMgb3IgcGFnZXMgb2YgeW91ciB3ZWJzaXRlIHlvdSB3aWxsIG5vdyBhdXRvbWF0aWNhbGx5IGhhdmUgdGhvc2Ugc21hcnR5IHZhcmlhYmxlcyBhdmFpbGFibGUuPC9wPg0KCQk8YnIgLz4NCgkJPHA+VGhlIGV4YWN0IHdheSB0byBjYWxsIGVhY2ggdmFyaWFibGUgaXMgc2hvd24gaW4gdGhlIGZpZWxkZGVmaW5pdGlvbnMgdGFiLjxiciAvPllvdSBjYW4gYWxzbyBjaGVjayB3aGljaCB2YXJpYWJsZXMgYW5kIHZhbHVlcyBhcmUgYXZhaWxhYmxlIGJ5IHBsYWNpbmcgPGI+e0N1c3RvbUdTIHNob3d2YXJzPTF9PC9iPiBpbiB0aGUgY29udGVudCBmaWVsZCBvZiBhIHBhZ2UuPC9wPg0KCQk8YnIgLz4NCgkJPHA+PGI+Tm90ZTo8L2I+IGluIHByZXZpb3VzIHZlcnNpb25zIG9mIHRoaXMgbW9kdWxlLCB5b3UgbmVlZGVkIHRvIHB1dCB0aGUgdGFnIHtDdXN0b21HU30gaW4geW91ciB0ZW1wbGF0ZShzKS4gVGhpcyBpcyBub3QgbmVlZGVkIGFueW1vcmUuIFdoZW4geW91IHVwZ3JhZGUgZnJvbSBhIHZlcnNpb24gcHJpb3IgdG8gMi4yLCB5b3Ugc2hvdWxkIGRlbGV0ZSB0aGUge0N1c3RvbUdTfSB0YWcgZnJvbSB5b3VyIHRlbXBsYXRlcywgYWx0aG91Z2ggaXQgd29uJ3QgZG8gYW55IGhhcm0gaWYgeW91IGxlYXZlIGl0IHRoZXJlLjwvcD4NCgkJPGJyIC8+DQoJCTxoND5Pcmdhbml6aW5nIGZpZWxkczwvaDQ+DQoJCTxwPldoZW4geW91IGhhdmUgbWFueSBmaWVsZGRlZmluaXRpb25zLCB5b3UgY2FuIG9yZ2FuaXplIHRoZW0gYnkgY3JlYXRpbmcgY3VzdG9tIHRhYnMuPC9wPg0KCQk8cD5GaWVsZHMgY2FuIGJlIGFzc2lnbmVkIHRvIG9uZSBvciBtb3JlIHRhYnMsIHdoaWxlIGVkaXRpbmcgdGhlIGZpZWxkZGVmaW5pdGlvbi4gQSBtb3JlIGVhc3kgd2F5IGlzIHRvIHNlbGVjdCBhIHRhYiBpbiB0aGUgZHJvcGRvd24gYXQgdGhlIHRvcCBvZiB0aGUgZmllbGRkZWZpbml0aW9uc2xpc3QgYW5kIHRoZW4gdG9nZ2xlIHRoZSBWLW1hcmtzLiBDaGFuZ2VzIGFyZSBpbW1lZGlhdGVseSBzYXZlZC48YnIgLz5UaGUgdGFiLWRyb3Bkb3duIHdpbGwgb25seSBiZSBhdmFpbGFibGUgYXQgdGhlIHRvcCBvZiB0aGUgZmllbGRkZWZpbml0aW9uc2xpc3Qgd2hlbiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBjdXN0b20gdGFicyB5b3UgaGF2ZSBwZXJtaXNzaW9ucyBvbi48L3A+DQoJCTxiciAvPg0KCQk8cD5UaGUgc29ydG9yZGVyIG9mIGZpZWxkZGVmaW5pdGlvbnMgYW5kIGN1c3RvbSB0YWJzIGNhbiBiZSBjaGFuZ2VkIGJ5IGRyYWdnaW5nICZhbXA7IGRyb3BwaW5nIHRoZSByb3dzIGluIHRoZWlyIGxpc3QuIFRoZSBuZXcgc29ydG9yZGVyIHdpbGwgYmUgc2F2ZWQgaW1tZWRpYXRlbHkgb24gZHJvcC48L3A+DQoJCTxiciAvPg0KCTwvZGl2Pg0KDQoJPGRpdiBpZD0icGVybWlzc2lvbnNfYyI+DQoJCTxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHRocmVlIGRpZmZlcmVudCBsZXZlbHMgb2YgcGVybWlzc2lvbnM6IG9uIGEgbW9kdWxlIGxldmVsLCBvbiBhIHRhYiBsZXZlbCBhbmQgb24gYSBmaWVsZCBsZXZlbC48L3A+DQoJCTxoND5Nb2R1bGUgbGV2ZWw8L2g0Pg0KCQk8cD5Gb3Igc2V0dGluZyBtb2R1bGUgcGVybWlzc2lvbnMsIGdvIHRvIG1lbnUgPGk+VXNlcnMgJiBHcm91cHMgwrsgR3JvdXAgUGVybWlzc2lvbnM8L2k+OjwvcD4NCgkJPHVsPg0KCQk8bGk+PGI+Q3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIFVzZTwvYj48YnIgLz4NCgkJQSBwZXJtaXNzaW9uIGZvciBlZGl0b3JzLiBJdCB3aWxsIG9ubHkgc2hvdyB0aGUgKGN1c3RvbSkgdGFicyBmb3IgY2hhbmdpbmcgZmllbGR2YWx1ZXMgaW4gdGhlIG1vZHVsZSBhZG1pbiBwYWdlLjwvbGk+DQoJCTxsaT48Yj5DdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gTWFuYWdlPC9iPjxiciAvPg0KCQlBIHBlcm1pc3Npb24gZm9yIGFkbWluaXN0cmF0b3JzLiBJdCB3aWxsIHNob3cgZXh0cmEgdGFicyBmb3IgY3JlYXRpbmcvZWRpdGluZyBmaWVsZGRlZmluaXRpb25zLCB0YWJzIGFuZCBvcHRpb25zLjwvbGk+DQoJCTwvdWw+DQoJCTxoND5UYWIgbGV2ZWw8L2g0Pg0KCQk8cD5XaGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSBjdXN0b20gdGFiLCBzZWxlY3Qgb25lIG9yIG1vcmUgZ3JvdXBzIGluIHRoZSA8Yj5Hcm91cCBQZXJtaXNzaW9uczwvYj4gZHJvcGRvd24gbGlzdCAod2l0aCBjdHJsKS4gT25seSB1c2VycyB3aG8gYmVsb25nIHRvIHRoZSBzZWxlY3RlZCBncm91cHMgd2lsbCBiZSBhYmxlIHRvIHNlZSB0aGUgdGFiIGluIHRoZSBtb2R1bGUgYWRtaW4uIElmIG5vIGdyb3VwIGlzIHNlbGVjdGVkLCB0aGUgdGFiIHdpbGwgYmUgdmlzaWJsZSBmb3IgYWxsIGdyb3Vwcy4gPGJyIC8+VGFicyB3aWxsIG5ldmVyIGJlIGhpZGRlbiBmb3IgYWRtaW4gdXNlcnMuPC9wPg0KCQk8aDQ+RmllbGQgbGV2ZWw8L2g0Pg0KCQk8cD5XaGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSBmaWVsZGRlZmluaXRpb24sIHNlbGVjdCBvbmUgb3IgbW9yZSBncm91cHMgaW4gdGhlIDxiPkdyb3VwIFBlcm1pc3Npb25zPC9iPiBkcm9wZG93biBsaXN0ICh3aXRoIGN0cmwpLiBPbmx5IHVzZXJzIHdobyBiZWxvbmcgdG8gdGhlIHNlbGVjdGVkIGdyb3VwcyB3aWxsIGJlIGFibGUgdG8gc2VlIGFuZCBjaGFuZ2UgdGhlIGZpZWxkdmFsdWUgYXNzaWduZWQgdGFiKHMpLiBJZiBubyBncm91cCBpcyBzZWxlY3RlZCwgdGhlIGZpZWxkIHdpbGwgYmUgdmlzaWJsZSBmb3IgYWxsIGdyb3Vwcy48L3A+DQoJCTxwPk5vdGUgdGhhdCBhIHVzZXIgd2lsbCBub3QgYmUgYWJsZSB0byBzZWUgYSBmaWVsZCB3aGVuIHRoYXQgZmllbGQgd2FzIGFzc2lnbmVkIG9ubHkgdG8gdGFiKHMpIGZvciB3aGljaCB0aGUgdXNlciBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb25zLjwvcD4NCgkJPHA+RmllbGRzIHdpbGwgbmV2ZXIgYmUgaGlkZGVuIGZvciBhZG1pbiB1c2Vycy48L3A+DQoJCTxiciAvPg0KCTwvZGl2Pg0KDQoJPGRpdiBpZD0iZXhhbXBsZXNfYyI+DQoJCTxwPk1vcmUgZXhhbXBsZXMgYXQgdGhlIDxhIGhyZWY9Imh0dHA6Ly93aWtpLmNtc21zLm5sL2luZGV4LnBocC9DdXN0b21HUyNFeGFtcGxlcyIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJleHRlcm5hbCI+Q3VzdG9tR1Mgd2lraSBwYWdlPC9hPjwvcD4NCgkJDQoJCTxoMz5DSEVDS0JPWDwvaDM+DQoJCTxoND5DaGFuZ2UgZnJvbnRlbmQgdGhlbWU8L2g0Pg0KCQk8cD5EZWZpbmUgYSBjaGVja2JveCAnQ2hyaXN0bWFzIG5vdycgd2hpY2ggd2lsbCBhY3RpdmF0ZSBhIHNwZWNpYWwgdGhlbWUgb24gdGhlIGZyb250ZW5kIHdoZW4gY2hlY2tlZDwvcD4NCgkJPHAgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2RkZDsgcGFkZGluZzoxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjMiPg0KCQk8Y29kZT4NCgkJe2lmICRDdXN0b21HUy5DaHJpc3RtYXNfbm93ID09ICcxJ308YnIgLz4NCgkJJm5ic3A7Jm5ic3A7Jm5ic3A7eyogU2hvdyBDaHJpc3RtYXMgZnJvbnRlbmQgdGhlbWUgKn08YnIgLz4NCgkJe2Vsc2V9PGJyIC8+DQoJCSZuYnNwOyZuYnNwOyZuYnNwO3sqIFNob3cgZGVmYXVsdCBmcm9udGVuZCB0aGVtZSAqfTxiciAvPg0KCQl7L2lmfQ0KCQk8L2NvZGU+DQoJCTwvcD4NCgkJPGJyIC8+DQoJCQ0KCQk8aDQ+TWFnaWMgd2l0aCBhIGNoZWNrYm94PC9oND4NCgkJPHA+RGVmaW5lIGEgY2hlY2tib3ggJ015Q2hlY2tib3gnIHdoaWNoIHdpbGwgZG8gc29tZSBtYWdpYyBzdHVmZiB3aGVuIHVuY2hlY2tlZDwvcD4NCgkJPHAgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2RkZDsgcGFkZGluZzoxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjMiPg0KCQk8Y29kZT4NCgkJe2lmICRDdXN0b21HUy5NeUNoZWNrYm94ICE9ICcxJ308YnIgLz4NCgkJJm5ic3A7Jm5ic3A7Jm5ic3A7eyogRG8gc29tZSBtYWdpYyBzdHVmZiAqfTxiciAvPg0KCQl7L2lmfQ0KCQk8L2NvZGU+DQoJCTwvcD4NCgkJPGJyIC8+DQoJCQ0KCQk8aDM+REFURSBhbmQgVElNRVBJQ0tFUjwvaDM+DQoJCTxoND5EaXNwbGF5IHBhZ2UgY29udGVudCBvbmx5IGluIGEgc3BlY2lmaWMgdGltZWZyYW1lPC9oND4NCgkJPHA+RGVmaW5lIHR3byB0aW1lcGlja2VyIGZpZWxkcyAnc3RhcnR0aW1lJyBhbmQgJ2VuZHRpbWUnLiBSZXBsYWNlIHRoZSB7Y29udGVudH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZSB3aXRoIHRoaXMgY29kZSBhbmQgdGhlIG5vcm1hbCBwYWdlIGNvbnRlbnQgaXMgb25seSB2aXNpYmxlIHdoZW4gdGhlIGN1cnJlbnQgdGltZSBpcyBiZXR3ZWVuIHRoZSBzdGFydHRpbWUgYW5kIGVuZHRpbWUuPC9wPg0KCQk8cCBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCAjZGRkOyBwYWRkaW5nOjEwcHg7IGJhY2tncm91bmQtY29sb3I6I2YzZjNmMyI+DQoJCTxjb2RlPg0KCQl7aWYgJHNtYXJ0eS5ub3d8ZGF0ZV9mb3JtYXQ6JyVIOiVNJyA+PSAkQ3VzdG9tR1Muc3RhcnR0aW1lICYmICRzbWFydHkubm93fGRhdGVfZm9ybWF0OiclSDolTScgPD0gJEN1c3RvbUdTLmVuZHRpbWV9PGJyIC8+DQoJCSZuYnNwOyZuYnNwOyZuYnNwO3tjb250ZW50fTxiciAvPg0KCQl7ZWxzZX08YnIgLz4NCgkJJm5ic3A7Jm5ic3A7Jm5ic3A7e2NvbnRlbnQgYmxvY2s9IlNpdGVDbG9zZWRDb250ZW50In08YnIgLz4NCgkJey9pZn08YnIgLz4NCgkJPC9jb2RlPg0KCQk8L3A+DQoJCTxiciAvPg0KCQkNCgkJPGgzPlBVTExET1dOPC9oMz4NCgkJPGg0PlB1bGxkb3duIGZvciBGZWF0dXJlZCBOZXdzYXJ0aWNsZTwvaDQ+DQoJCTxwPkRlZmluZSBhIHB1bGxkb3duIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIHRpdGxlcyBvZiBhcnRpY2xlcyBmcm9tIHRoZSBOZXdzIG1vZHVsZSwgc28gdGhlIHVzZXIgY2FuIGNob29zZSBhIGZlYXR1cmVkIGFydGljbGUgd2hpY2ggY2FuIGJlIGRpc3BsYXllZCBvbiBhIHNwZWNpYWwgc2VjdGlvbiBvbiB0aGUgc2l0ZS48L3A+DQoNCgkJPHA+Rmlyc3QgY3JlYXRlIGEgbmV3IHN1bW1hcnl0ZW1wbGF0ZSBpbiB0aGUgTmV3cyBtb2R1bGUsIG5hbWVkICJDdXN0b21HU19wdWxsZG93biIgd2l0aCB0aGUgZm9sbG93aW5nIGNvbnRlbnQ6PC9wPg0KDQoJCTxwIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkICNkZGQ7IHBhZGRpbmc6MTBweDsgYmFja2dyb3VuZC1jb2xvcjojZjNmM2YzIj4NCgkJPGNvZGU+e2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX08YnIgLz4NCgkJJm5ic3A7Jm5ic3A7Jm5ic3A7eyRlbnRyeS0mZ3Q7aWR9fHskZW50cnktJmd0O3RpdGxlfTxiciAvPg0KCQl7L2ZvcmVhY2h9PC9jb2RlPg0KCQk8L3A+DQoJCTxiciAvPg0KCQk8cD5UaGVuIGRlZmluZSBhIG5ldyBmaWVsZCBpbiB0aGUgQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyBtb2R1bGU8L3A+DQoNCgkJPHA+PGI+TmFtZTo8L2I+IEZlYXR1cmVkIE5ld3M8YnIgLz4NCgkJPGI+VHlwZTo8L2I+IFB1bGxkb3duPGJyIC8+DQoJCTxiPlByb3BlcnRpZXM6PC9iPiB7Y21zX21vZHVsZSBtb2R1bGU9J05ld3MnIHN1bW1hcnl0ZW1wbGF0ZT0nQ3VzdG9tR1NfcHVsbGRvd24nfTxiciAvPg0KCQlOb3RlIHRoYXQgc2hvcnQgbW9kdWxlIHRhZ3Mgd29uJ3Qgd29yayBpbiB0aGUgYmFjay1lbmQsIHNvIHlvdSBoYXZlIHRvIHVzZSB0aGUgY21zX21vZHVsZSB0YWcuPC9wPg0KCQk8YnIgLz4NCgkJPHA+RmluYWxseSBwdXQgdGhpcyB0YWcgaW4geW91ciBwYWdlIHRlbXBsYXRlIHRvIGRpc3BsYXkgdGhlIGZlYXR1cmVkIG5ld3NhcnRpY2xlOjwvcD4NCgkJPHAgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2RkZDsgcGFkZGluZzoxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjMiPg0KCQk8Y29kZT57bmV3cyBhY3Rpb249J2RldGFpbCcgYXJ0aWNsZWlkPSRDdXN0b21HUy5GZWF0dXJlZF9OZXdzfTwvY29kZT4NCgkJPC9wPg0KCQk8YnIgLz4NCgkJDQoJCTxoMz5SQURJT0JVVFRPTkdST1VQPC9oMz4NCgkJPGg0PkNoYW5nZSBmcm9udGVuZCBjb2xvcjwvaDQ+DQoNCgkJPHA+Q3JlYXRlIGEgUmFkaW9idXR0b24gZ3JvdXAgbmFtZWQgInRleHRjb2xvciI8L3A+DQoJCTxwPlRoZSBwcm9wZXJ0aWVzIHZhbHVlIGFyZTo8cD4NCgkJPHAgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2RkZDsgcGFkZGluZzoxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjMiPg0KCQkjZmYwMDAwfHJlZDxiciAvPg0KCQkjMDBmfGJsdWU8YnIgLz4NCgkJIzEwMTAxMHxhbG1vc3QgYmxhY2s8L3A+DQoJCTxiciAvPg0KCQk8cD5BbHNvIGNsaWNrIHRoZSBjaGVja2JveCAnQ2xlYXIgc3R5bGVzaGVldGNhY2hlJy4gVGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgcmVuZXcgdGhlIHN0eWxlc2hlZXRzLjwvcD4NCgkJPGJyIC8+DQoJCTxwPkFkZCB0byB0aGUgdG9wIG9mIHlvdXIgc3R5bGVzaGVldDo8L3A+DQoJCTxwIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkICNkZGQ7IHBhZGRpbmc6MTBweDsgYmFja2dyb3VuZC1jb2xvcjojZjNmM2YzIj4NCgkJPGNvZGU+W1tDdXN0b21HU11dPC9jb2RlPg0KCQk8L3A+DQoJCTxiciAvPg0KCQk8cD5UbyBjaGFuZ2UgZm9yIGV4YW1wbGUgdGhlIGNvbG9yIG9mIHRoZSBwLXRleHQgYWRkOjwvcD4NCgkJPHAgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2RkZDsgcGFkZGluZzoxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjMiPg0KCQk8Y29kZT5jb2xvcjogW1skQ3VzdG9tR1MudGV4dGNvbG9yXV07PC9jb2RlPg0KCQk8L3A+DQoJCTxiciAvPg0KCQk8cD5PciBkaXJlY3RseSBpbmNsdWRlZCBpbiBhIHBhZ2Ugb3IgdGVtcGxhdGU6PHA+DQoJCTxwIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkICNkZGQ7IHBhZGRpbmc6MTBweDsgYmFja2dyb3VuZC1jb2xvcjojZjNmM2YzIj4NCgkJPGNvZGU+Jmx0O3Agc3R5bGU9ImNvbG9yOiB7JEN1c3RvbUdTLnRleHRjb2xvcn07IiZndDtMb3JlbSBJcHN1bSZsdDsvcCZndDs8L2NvZGU+DQoJCTwvcD4NCgkJPGJyIC8+DQoNCgkJPGgzPlRFWFRGSUVMRDwvaDM+DQoJCTxoND5TaG93IGN1cnJlbnQgdHJhaW5lcjwvaDQ+DQoJCTxwPkRlZmluZSBhIHRleHRmaWVsZCBvciBwdWxsZG93biBmaWVsZCAnVHJhaW5lcicgd2hpY2ggd2lsbCBjb250YWluIHRoZSBjdXJyZW50IHRyYWluZXJzIG5hbWUuPC9wPg0KCQk8cCBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCAjZGRkOyBwYWRkaW5nOjEwcHg7IGJhY2tncm91bmQtY29sb3I6I2YzZjNmMyI+DQoJCTxjb2RlPg0KCQkmbHQ7cCZndDtUaGlzIHdlZWtzIHRyYWluZXJzIG5hbWUgaXM6IHskQ3VzdG9tR1MuVHJhaW5lcn0mbHQ7L3AmZ3Q7DQoJCTwvY29kZT4NCgkJPC9wPg0KCQk8YnIgLz4NCgk8L2Rpdj4NCg0KCTxkaXYgaWQ9InRyb3VibGVzaG9vdGluZ19jIj4NCgkJPGg0PkNoZWNrIHRlbXBsYXRlIHZhcmlhYmxlczwvaDQ+DQoJCTxwPllvdSBjYW4gY2hlY2sgd2hpY2ggdmFyaWFibGVzIGFuZCB2YWx1ZXMgYXJlIGF2YWlsYWJsZSBieSBwbGFjaW5nIDxiPntDdXN0b21HUyBzaG93dmFycz0xfTwvYj4gaW4gdGhlIGNvbnRlbnQgZmllbGQgb2YgYSBwYWdlLjwvcD4NCgkJPGJyIC8+DQoJCQ0KCQk8aDQ+U21hcnR5IGVycm9yPC9oND4NCgkJPHA+PGI+RXJyb3I6PC9iPiBTbWFydHkgZXJyb3I6IFtpbiB0ZW1wb3JhcnkgdGVtcGxhdGUgbGluZSA0XTogW3BsdWdpbl0gdW5rbm93biB0YWcuLi48L3A+DQoJCTxwPjxiPlNvbHV0aW9uOjwvYj4gWW91IHByb2JhYmx5IGhhdmUgZW50ZXJlZCBjdXJseSBicmFja2V0ICYjMTIzOyAmIzEyNTsgc2lnbnMgaW4gdGhlIHByb3BlcnRpZXMgZmllbGQgb2YgYSBwdWxsZG93biBvciByYWRpb2J1dHRvbiBmaWVsZGRlZmluaXRpb24uIFRoZXNlIGFyZSBpbnRlcnByZXRlZCBieSBTbWFydHkuPC9wPg0KCQk8cD5EZWxldGUgdGhlbSwgdXNlIDxjb2RlPiYjMTIzO2Ntc19tb2R1bGUmIzEyNTs8L2NvZGU+IHRhZyBpbiBzdGVhZCBvZiB0aGUgc2hvcnQgbW9kdWxlIGNhbGwsIG9yIHVzZSA8Y29kZT4mIzEyMztsaXRlcmFsJiMxMjU7PC9jb2RlPiB0YWdzLjwvcD4NCgkJPGJyIC8+DQoJCQ0KCQk8aDQ+Q2FuJ3QgY2hvb3NlIEdCRmlsZVBpY2tlciBhbnltb3JlIGFmdGVyIHVwZ3JhZGluZyB0byBDTVNNUyAyLng8L2g0Pg0KCQk8cD48Yj5FcnJvcjo8L2I+IEdCRmlsZVBpY2tlciAoTm90IGluc3RhbGxlZCk8L3A+DQoJCTxwPjxiPlNvbHV0aW9uOjwvYj4gSW5zdGFsbCBtb2R1bGUgSk1GaWxlUGlja2VyIGFuZCB0aGVuIGNoYW5nZSB0aGUgdHlwZSBvZiB0aGUgZmllbGRkZWZpbml0aW9uIGFjY29yZGluZ2x5LiBUaGUgZWFybGllciBzZWxlY3RlZCBpbWFnZSB3aWxsIGJlIHByZXNlcnZlZC48L3A+DQoJCTxiciAvPg0KCQkNCgkJPGg0PnRtcC9jYWNoZS9kZWJ1Zy5sb2cgZ2V0cyBmbG9vZGVkIHdpdGggQ3VzdG9tR1MgZXJyb3JzPC9oND4NCgkJPHA+PGI+RXJyb3I6PC9iPiBSZWR1bmRhbnQge0N1c3RvbUdTfSB0YWcgZm91bmQuPC9wPg0KCQk8cD48Yj5Tb2x1dGlvbjo8L2I+IEluIHByZXZpb3VzIHZlcnNpb25zIG9mIHRoaXMgbW9kdWxlLCB5b3UgbmVlZGVkIHRvIHB1dCB0aGUgdGFnIHtDdXN0b21HU30gaW4geW91ciB0ZW1wbGF0ZShzKS4gVGhpcyBpcyBub3QgbmVlZGVkIGFueW1vcmUuIFdoZW4geW91IGhhdmUgdXBncmFkZWQgZnJvbSBhIHZlcnNpb24gcHJpb3IgdG8gMi4yLCB5b3Ugc2hvdWxkIGRlbGV0ZSB0aGUge0N1c3RvbUdTfSB0YWcgZnJvbSB5b3VyIHRlbXBsYXRlcy48L3A+DQoJCTxiciAvPg0KCQkNCgkJPGg0Pk90aGVyIEVycm9yczwvaDQ+DQoJCTxwPjxiPkVycm9yOjwvYj4gTXkgcHJvYmxlbSB3YXMgbm90IGRlc2NyaWJlZCBoZXJlLjwvcD4NCgkJPHA+PGI+U29sdXRpb246PC9iPiBTZXQgRGVidWcgdG8gJ3RydWUnIGluIGNvbmZpZy5waHAgYW5kIHNlZSBpZiBhbnkgZXJyb3IgbWVzc2FnZXMgYXBwZWFyLiBMb29rIGFsc28gZm9yIGVycm9yIG1lc3NhZ2VzIGluIHRoZSBodG1sIHNvdXJjZWNvZGUuIE1heWJlIHRoZSBlcnJvciBtZXNzYWdlIHRlbGxzIHlvdSBlbm91Z2ggdG8gc29sdmUgdGhlIGlzc3VlIHlvdXJzZWxmLiBTb21lb25lIGVsc2UgbWF5IGhhdmUgZW5jb3VudGVyZWQgdGhlIHNhbWUgcHJvYmxlbSBiZWZvcmUgeW91LCBzbyB5b3UgY291bGQgYWxzbyBzZWFyY2ggdGhlIENNU01TIGZvcnVtIGZvciBwb3NzaWJsZSBzb2x1dGlvbnMuIElmIHlvdSBoYXZlbid0IGZvdW5kIGFueSByZWxhdGVkIHRvcGljcywgcGxlYXNlIGZlZWwgZnJlZSB0byBvcGVuIGEgbmV3IGZvcnVtdG9waWMuPC9wPg0KCQk8YnIgLz4NCgkJPHA+SXQgbWF5IGJlIHRoYXQgdGhlcmUgaXMgbW9yZSBpbmZvIGF2YWlsYWJsZSBhdCB0aGUgPGEgaHJlZj0iaHR0cDovL3dpa2kuY21zbXMubmwvaW5kZXgucGhwL0N1c3RvbUdTI1Ryb3VibGVzaG9vdGluZyIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJleHRlcm5hbCI+Q3VzdG9tR1MgV2lraSBwYWdlPC9hPjwvcD4NCgk8L2Rpdj4NCg0KCTxkaXYgaWQ9ImNvcHlyaWdodF9jIj4NCgkJPHA+Q29weXJpZ2h0IMKpIDIwMTIsIFJvbGYgVGphc3NlbnMgJmx0O2luZm8gYXQgY21zY2FuYmVzaW1wbGUgZG90IG9yZyZndDssIEpvcyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmpvc3ZkQGxpdmUubmwiPmpvc3ZkQGxpdmUubmw8L2E+Jmd0Oy4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KCQk8YnIgLz4NCgkJPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCIgdGFyZ2V0PSJfYmxhbmsiPkdOVSBQdWJsaWMgTGljZW5zZSB2MzwvYT4uPGJyIC8+DQoJCTxiPkhvd2V2ZXI8L2I+LCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gWW91IG1heSBvbmx5IHVzZSB0aGlzIHNvZnR3YXJlIHdoZW4gdGhlcmUgaXMgYSBjbGVhciBhbmQgb2J2aW91cyBpbmRpY2F0aW9uIGluIHRoZSBhZG1pbiBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgU2ltcGxlITwvcD4NCgkJPGJyIC8+DQoJPC9kaXY+DQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAPYAAPD4+QAAAOz09YmOj4CEheDo6bzDxMzS05WamgAAAIaKi7vBwi8wMU1QUN7m55yioouQkeTs7Xp+fxobG6itrpqgoJGWlubu7+ry856kpMLJyUBCQgsLC1pdXtHY2dvi47G3uCcpKTM0NEJERMjOz7m/wDg6OklMTDo8PERGRsTLy77FxlVXWKqvsN3k5WltbaKnqK2ztK+1tlhbXFZZWlxfYH6Cg9Pa23d7e+7295menhYXFykqK1FTVAMDA0tOTsDHxzQ2NlNVVhgZGeLq68rQ0ZOYmNXc3dng4Tw+PqClpiIjIx4fH6Spqmtvb0VISDEyMmRnZ8bNzbW7vCMlJXV5eT5AQE9SUgkJCQcHB6arrNfe30dKSujw8auxsmBjY2JlZc/W15ecnBERESAhIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAIAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAAIAAEALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkEAAgAAgAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQACAADACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkEAAgABAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQACAAFACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkEAAgABgAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAAIAAcALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==]]></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[PD9waHANCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIHRvIGV4dGVuZCB0aGUgR2xvYmFsIFNldHRpbmdzIHdpdGggc29tZSBjdXN0b21pemVkIHBhcmFtZXRlcnMuIFlvdSBjYW4gZGVmaW5lIGFuIHVubGltaXRlZCBudW1iZXIgb2YgZmllbGRzIHdoaWNoIGNhbiBiZSB1c2VkIGFzIHNtYXJ0eS12YXJpYWJsZSBpbiB0ZW1wbGF0ZXMgb3IgcGFnZXMuJzsNCg0KJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnQ3VzdG9tR1MgbW9kdWxlIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQhJzsNCiRsYW5nWyd1bmluc3RhbGxfY29uZmlybSddID0gJ0RvIHlvdXIgcmVhbGx5IHdhbnQgdG8gdW5pbnN0YWxsIHRoZSBDdXN0b21HUyBtb2R1bGU/JzsNCiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQ3VzdG9tR1MgbW9kdWxlIHN1Y2Nlc3NmdWwgdW5pbnN0YWxsZWQhJzsNCg0KDQovKioNCiAqIEFkbWluIEdlbmVyYWwgVGFiDQogKi8NCiRsYW5nWydub3cnXSA9ICdub3cnOw0KJGxhbmdbJ3RpdGxlX2dlbmVyYWwnXSA9ICdHZW5lcmFsJzsNCiRsYW5nWydjaG9vc2V0aW1lJ10gPSAnQ2hvb3NlIHRpbWUnOw0KJGxhbmdbJ3RpbWUnXSA9ICd0aW1lJzsNCg0KDQovKioNCiAqIEFkbWluIEZpZWxkZGVmcyBUYWINCiAqLw0KJGxhbmdbJ3RpdGxlX2ZpZWxkZGVmcyddID0gJ0ZpZWxkIERlZmluaXRpb25zJzsNCiRsYW5nWydzbWFydHl2YXInXSA9ICdTbWFydHkgdmFyaWFibGUnOw0KJGxhbmdbJ3RleHRmaWVsZCddID0gJ1RleHRmaWVsZCc7DQokbGFuZ1sncHVsbGRvd24nXSA9ICdQdWxsZG93bic7DQokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7DQokbGFuZ1snaXBfY2hlY2snXSA9ICdJUCBDaGVjayc7DQokbGFuZ1sncmFkaW9idXR0b25zJ10gPSAnUmFkaW9idXR0b24gZ3JvdXAnOw0KJGxhbmdbJ2RhdGVwaWNrZXInXSA9ICdEYXRlcGlja2VyJzsNCiRsYW5nWydkYXRldGltZXBpY2tlciddID0gJ0RhdGVUaW1lcGlja2VyJzsNCiRsYW5nWyd0aW1lcGlja2VyJ10gPSAnVGltZXBpY2tlcic7DQokbGFuZ1snY29sb3JwaWNrZXInXSA9ICdDb2xvcnBpY2tlcic7DQokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOw0KJGxhbmdbJ3BhZ2VzZWxlY3QnXSA9ICdQYWdlIHNlbGVjdG9yJzsNCiRsYW5nWyd3eXNpd3lnJ10gPSAnV1lTSVdZRyc7DQovLyAkbGFuZ1snZmllbGRzZXQnXSA9ICdGaWVsZGdyb3VwJzsNCiRsYW5nWydmaWVsZHNldHN0YXJ0J10gPSAnRmllbGRncm91cCBzdGFydCc7DQokbGFuZ1snZmllbGRzZXRlbmQnXSA9ICdGaWVsZGdyb3VwIGVuZCc7DQokbGFuZ1snYnV0dG9uJ10gPSAnQnV0dG9uJzsNCiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbXVtIExlbmd0aCc7DQokbGFuZ1sncHJvcGVydGllcyddID0gJ1Byb3BlcnRpZXMnOw0KJGxhbmdbJ3Byb3BlcnRpZXNfaGVscDEnXSA9ICdFbnRlciB0aGUgY2hvaWNlIHZhbHVlcywgZWFjaCBvbmUgb24gYSBuZXcgbGluZS4gQWxzbyBzdXBwb3J0cyBWYWx1ZXxPcHRpb25OYW1lIHBhaXJzIGFuZC9vciBTbWFydHkgdGFncyc7DQokbGFuZ1sncGFyc2VzbWFydHknXSA9ICdQYXJzZSBkYXRhIGJ5IFNtYXJ0eSc7DQokbGFuZ1snY2xlYXJzdHlsZXNoZWV0Y2FjaGUnXSA9ICdDbGVhciBzdHlsZXNoZWV0IGNhY2hlJzsNCiRsYW5nWydjbGVhcnN0eWxlc2hlZXRjYWNoZV9oZWxwJ10gPSAnQXV0b21hdGljYWxseSBjbGVhciBzdHlsZXNoZWV0IGNhY2hlIGFmdGVyIGNoYW5naW5nIHRoaXMgc2V0dGluZy4gVVNFIFdJVEggQ0FVVElPTiEnOw0KJGxhbmdbJ3Nob3dvbnRhYiddID0gJ1Nob3cgb24gdGFiJzsNCiRsYW5nWydmaWVsZGRlZmFkZGVkJ10gPSAnRmllbGQgRGVmaW5pdGlvbiBpcyBhZGRlZCc7DQokbGFuZ1snZmllbGRkZWZzdXBkYXRlZCddID0gJ0ZpZWxkIERlZmluaXRpb24gbGlzdCBpcyB1cGRhdGVkJzsNCg0KDQovKioNCiAqIEFkbWluIFRhYnMgVGFiDQogKi8NCiRsYW5nWyd0aXRsZV90YWJzJ10gPSAnVGFicyc7DQokbGFuZ1sndGFiYWRkZWQnXSA9ICdUYWIgaXMgYWRkZWQnOw0KJGxhbmdbJ3RhYnVwZGF0ZWQnXSA9ICdUYWIgaXMgdXBkYXRlZCc7DQoNCg0KLyoqDQogKiBBZG1pbiBPcHRpb25zIFRhYg0KICovIA0KJGxhbmdbJ3RpdGxlX2N1c3RvbV9tb2R1bGVuYW1lJ10gPSAnQ3VzdG9tIE1vZHVsZW5hbWUnOw0KJGxhbmdbJ2hlbHBfY3VzdG9tX21vZHVsZW5hbWUnXSA9ICdZb3UgY2FuIGNoYW5nZSB0aGUgTW9kdWxlbmFtZSBoZXJlIGFzIHlvdSB3aXNoLiBJdCB3aWxsIGJlIHVzZWQgYXMgdGhlIHRpdGxlIG9uIHRoZSBtb2R1bGUgYWRtaW4gcGFnZXMgYW5kIGFzIG1lbnUgdGV4dC4nOw0KDQokbGFuZ1sndGl0bGVfYWRtaW5fc2VjdGlvbiddID0gJ0FkbWluIFNlY3Rpb24nOw0KJGxhbmdbJ2hlbHBfYWRtaW5fc2VjdGlvbiddID0gJ0Nob29zZSB0aGUgQWRtaW4gU2VjdGlvbiAob3IgdG9wLWxldmVsIEFkbWluIE1lbnUpIHRoaXMgbW9kdWxlIGJlbG9uZ3MgdG8uIDxiPk5vdGU8L2I+OiBVc2VycyB3aXRoIEVkaXRvciBwZXJtaXNzaW9ucyBkb25cJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFNpdGUgQWRtaW4gc2VjdGlvbiEnOw0KDQoNCi8qKg0KICogU2F2aW5nDQogKi8gDQokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ1NldHRpbmdzIHN1Y2Nlc3NmdWxseSBzYXZlZCEnOw0KJGxhbmdbJ3VwZGF0ZWZhaWxlZCddID0gJ1VwZGF0ZSBmYWlsZWQhJzsNCg0KDQovKioNCiAqIEV2ZW50cw0KICovDQokbGFuZ1snZXZlbnRfaW5mb19PblNldHRpbmdDaGFuZ2UnXSA9ICdFdmVudCB0cmlnZ2VyZWQgd2hlbiBhIHNldHRpbmcgaXMgZWRpdGVkLic7DQokbGFuZ1snZXZlbnRfaGVscF9PblNldHRpbmdDaGFuZ2UnXSA9ICc8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+ZmllbGRpZDwvbGk+DQo8bGk+bmFtZTwvbGk+DQo8bGk+YWxpYXM8L2xpPg0KPGxpPnZhbHVlPC9saT4NCjxsaT5jbGVhcmNhY2hlPC9saT4NCjwvdWw+DQonOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRWluIE1vZHVsLCB1bSBkaWUgR2xvYmFsZSBFaW5zdGVsbHVuZ2VuIG1pdCBlaW5pZ2VuIGJlbnV0emVyZGVmaW5pZXJ0ZW4gUGFyYW1ldGVyIHp1IGVyd2VpdGVybi4gRXMgYmlldGV0IElobmVuIGVpbmUgdW5iZWdyZW56dGUgWmFobCB2b24gRmVsZGVybiwgZGllIGFscyBTbWFydHktVmFyaWFibGUgaW4gVGVtcGxhdGVzIG9kZXIgU2VpdGVuIHZlcndlbmRldCB3ZXJkZW4ga8O2bm5lbi4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEYXMgQ3VzdG9tR1MtTW9kdWwgd3VyZGUgZXJmb2xncmVpY2ggaW5zdGFsbGllcnQhJzsKJGxhbmdbJ3VuaW5zdGFsbF9jb25maXJtJ10gPSAnV29sbGVuIFNpZSBkYXMgQ3VzdG9tR1MtTW9kdWwgd2lya2xpY2ggZGVpbnN0YWxsaWVyZW4/JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEYXMgQ3VzdG9tR1MtTW9kdWwgd3VyZGUgZXJmb2xncmVpY2ggZGVpbnN0YWxsaWVydCEnOwokbGFuZ1snbm93J10gPSAnamV0enQnOwokbGFuZ1sndGl0bGVfZ2VuZXJhbCddID0gJ0FsbGdlbWVpbic7CiRsYW5nWydjaG9vc2V0aW1lJ10gPSAnWmVpdCB3w6RobGVuJzsKJGxhbmdbJ3RpbWUnXSA9ICdaZWl0JzsKJGxhbmdbJ3RpdGxlX2ZpZWxkZGVmcyddID0gJ0ZlbGQtRGVmaW5pdGlvbmVuJzsKJGxhbmdbJ3NtYXJ0eXZhciddID0gJ1NtYXJ0eS1WYXJpYWJsZSc7CiRsYW5nWyd0ZXh0ZmllbGQnXSA9ICdUZXh0ZmVsZCc7CiRsYW5nWydwdWxsZG93biddID0gJ0F1ZmtsYXBwbGlzdGUnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdLb250cm9sbGvDpHN0Y2hlbic7CiRsYW5nWydpcF9jaGVjayddID0gJ0lQLVByw7xmdW5nJzsKJGxhbmdbJ3JhZGlvYnV0dG9ucyddID0gJ1JhZGlva25vcGYtR3J1cHBlJzsKJGxhbmdbJ2RhdGVwaWNrZXInXSA9ICdEYXR1bXNhdXN3YWhsJzsKJGxhbmdbJ2RhdGV0aW1lcGlja2VyJ10gPSAnRGF0dW1zLVplaXRhdXN3YWhsJzsKJGxhbmdbJ3RpbWVwaWNrZXInXSA9ICdaZWl0YXVzd2FobCc7CiRsYW5nWydjb2xvcnBpY2tlciddID0gJ0ZhcmJhdXN3YWhsJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dGJlcmVpY2gnOwokbGFuZ1snd3lzaXd5ZyddID0gJ1d5c2l3eWcnOwokbGFuZ1snZmllbGRzZXRzdGFydCddID0gJ0ZlbGRlcmdydXBwZSBBbmZhbmcnOwokbGFuZ1snZmllbGRzZXRlbmQnXSA9ICdGZWxkZXJncnVwcGUgRW5kZSc7CiRsYW5nWydidXR0b24nXSA9ICdUYXN0ZSc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbWFsZSBMw6RuZ2UnOwokbGFuZ1sncHJvcGVydGllcyddID0gJ0VpZ2Vuc2NoYWZ0ZW4nOwokbGFuZ1sncHJvcGVydGllc19oZWxwMSddID0gJ0dlYmVuIFNpZSBkaWUgQXVzd2FobC1XZXJ0ZSBlaW4sIGpld2VpbHMgaW4gZWluZXIgbmV1ZW4gWmVpbGUuIFVudGVyc3TDvHR6dCBhdWNoIFZhbHVlfE9wdGlvbk5hbWUgUGFhcmUgdW5kL29kZXIgU21hcnR5LVRhZ3MnOwokbGFuZ1sncGFyc2VzbWFydHknXSA9ICdEYXRlbiBkdXJjaCBTbWFydHkgdmVyYXJiZWl0ZW4nOwokbGFuZ1snY2xlYXJzdHlsZXNoZWV0Y2FjaGUnXSA9ICdad2lzY2hlbmdlc3BlaWNoZXJ0ZW4gU3R5bGVzaGVldHMgbMO2c2NoZW4nOwokbGFuZ1snY2xlYXJzdHlsZXNoZWV0Y2FjaGVfaGVscCddID0gJ0F1dG9tYXRpc2NoIHp3aXNjaGVuZ2VzcGVpY2hlcnRlbiBTdHlsZXNoZWV0cyBsw7ZzY2hlbiBuYWNoIMOEbmRlcnVuZyBkaWVzZXIgRWluc3RlbGx1bmcuIFZPUlNJQ0hUIEJFSSBERVIgVkVSV0VORFVORyEnOwokbGFuZ1snZmllbGRkZWZhZGRlZCddID0gJ0RpZSBGZWxkLURlZmluaXRpb24gd3VyZGUgaGluenVnZWbDvGd0JzsKJGxhbmdbJ2ZpZWxkZGVmc3VwZGF0ZWQnXSA9ICdEaWUgTGlzdGUgZGVyIEZlbGQtRGVmaW5pdGlvbmVuIHd1cmRlIGFrdHVhbGlzaWVydCc7CiRsYW5nWyd0aXRsZV9jdXN0b21fbW9kdWxlbmFtZSddID0gJ0JlbnV0emVyZGVmaW5pZXJ0ZSBNb2R1bG5hbWUnOwokbGFuZ1snaGVscF9jdXN0b21fbW9kdWxlbmFtZSddID0gJ1NpZSBrw7ZubmVuIGRlbiBNb2R1bG5hbWVuIGhpZXIgw6RuZGVybi4gRXMgd2lyZCBhbHMgVGl0ZWwgZGVyIE1vZHVsIEFkbWluLVNlaXRlbiB1bmQgYWxzIE1lbsO8IFRleHQgdmVyd2VuZGV0Lic7CiRsYW5nWyd0aXRsZV9hZG1pbl9zZWN0aW9uJ10gPSAnQWRtaW4tQmVyZWljaCc7CiRsYW5nWydoZWxwX2FkbWluX3NlY3Rpb24nXSA9ICdXw6RobGVuIFNpZSBkZW4gQWRtaW4tQmVyZWljaCAodm9uIFRvcC1MZXZlbCBBZG1pbiBNZW51KSwgd28gZGllc2VzIE1vZHVsIHp1IGdlaMO2cnQuIDxzdHJvbmc+SGlud2Vpczo8L3N0cm9uZz4gQmVudXR6ZXIgbWl0IEVkaXRvci1CZXJlY2h0aWd1bmdlbiBoYWJlbiBrZWluZW4gWnVncmlmZiBhdWYgZGVuIEFkbWluLUJlcmVpY2ghJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdEaWUgRWluc3RlbGx1bmdlbiB3dXJkZW4gZXJmb2xncmVpY2ggZ2VzcGVpY2hlcnQhJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25TZXR0aW5nQ2hhbmdlJ10gPSAnQXVzZsO8aHJlbiwgbmFjaGRlbSBkaWUgw4RuZGVydW5nZW4gZGVzIEVpbnN0ZWxsdW5nZW4gZ2VzcGVpY2hlcnQgd3VyZGVuLic7CiRsYW5nWydldmVudF9oZWxwX09uU2V0dGluZ0NoYW5nZSddID0gJzxwPkF1c2bDvGhyZW4sIG5hY2hkZW0gZGllIMOEbmRlcnVuZ2VuIGRlciBFaW5zdGVsbHVuZ2VuIGdlc3BlaWNoZXJ0IHd1cmRlbi48L3A+DQo8aDQ+UGFyYW1ldGVyPC9oND4NCjx1bD4NCjxsaT5maWVsZGlkPC9saT4NCjxsaT5uYW1lPC9saT4NCjxsaT5hbGlhczwvbGk+DQo8bGk+dmFsdWU8L2xpPg0KPGxpPmNsZWFyY2FjaGU8L2xpPg0KPC91bD4nOwokbGFuZ1snZ2EnXSA9ICdHQTEuMi43Njc5NjUwMjAuMTQwMDYxMjM2NCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW4gbW9kdWxlIHF1aSDDqXRlbmQgbGVzIHBhcmFtw6h0cmVzIGdsb2JhdXguIFZvdXMgcG91dmV6IGRlZmluaXIgdW4gbm9tYnJlIGlsbGltaXTDqSBkZSBwYXJhbcOodHJlcyByw6l1dGlsaXNhYmxlcyBzb3VzIGZvcm1lIGRlIHZhcmlhYmxlIFNNQVJUWSBkYW5zIGxlIHRlbXBsYXRlIG91IGxhIHBhZ2UgKGV0IG3Dqm1lIGRhbnMgbGVzIGZldWlsbGVzIGRlIHN0eWxlcylcJzsnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdDdXN0b21HUyBtb2R1bGUgaW5zdGFsbMOpIGF2ZWMgc3VjY8OocyEnOwokbGFuZ1sndW5pbnN0YWxsX2NvbmZpcm0nXSA9ICdWb3VsZXotdm91cyB2cmFpbWVudCBkw6lzaW5zdGFsbGVyIGxlIG1vZHVsZSBDdXN0b21HUyA/JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdDdXN0b21HUyBkw6lzaW5zdGFsbMOpIGF2ZWMgc3VjY8OpcyEnOwokbGFuZ1snbm93J10gPSAnTWFpbnRlbmFudCc7CiRsYW5nWyd0aXRsZV9nZW5lcmFsJ10gPSAnR8OpbsOpcmFsJzsKJGxhbmdbJ2Nob29zZXRpbWUnXSA9ICdDaG9pc2lyIGxcJ2hldXJlJzsKJGxhbmdbJ3RpbWUnXSA9ICdoZXVyZSc7CiRsYW5nWyd0aXRsZV9maWVsZGRlZnMnXSA9ICdEw6lmaW5pdGlvbnMgZGUgY2hhbXBzJzsKJGxhbmdbJ3NtYXJ0eXZhciddID0gJ1ZhcmlhYmxlcyBTbWFydHknOwokbGFuZ1sndGV4dGZpZWxkJ10gPSAnQ2hhbXAgdGV4dGUnOwokbGFuZ1sncHVsbGRvd24nXSA9ICdMaXN0ZSBkZSBjaG9peCc7CiRsYW5nWydjaGVja2JveCddID0gJ0Nhc2Ugw6AgY29jaGVyJzsKJGxhbmdbJ3JhZGlvYnV0dG9ucyddID0gJ0dyb3VwZSBkZSBib3V0b25zIHJhZGlvcyc7CiRsYW5nWydkYXRlcGlja2VyJ10gPSAnU2VsZXRldXIgZGUgZGF0ZSc7CiRsYW5nWydkYXRldGltZXBpY2tlciddID0gJ1NlbGVjdGV1ciBkZSBkYXRlIGV0IGhldXJlJzsKJGxhbmdbJ3RpbWVwaWNrZXInXSA9ICdTZWxlY3RldXIgZFwnaGV1cmUnOwokbGFuZ1snY29sb3JwaWNrZXInXSA9ICdTZWxlY3RldXIgZGUgY291bGV1cic7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1pvbmUgZGUgdGV4dGUnOwokbGFuZ1snd3lzaXd5ZyddID0gJ1dZU0lXWUcmbmJzcDsnOwokbGFuZ1snZmllbGRzZXRzdGFydCddID0gJ0TDqWJ1dCBkZSBGaWVsZHNldCc7CiRsYW5nWydmaWVsZHNldGVuZCddID0gJ0ZpbiBkZSBGaWVsZHNldCc7CiRsYW5nWydidXR0b24nXSA9ICdCb3V0b24nOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTG9uZ3VldXIgbWF4aS4nOwokbGFuZ1sncHJvcGVydGllcyddID0gJ1Byb3ByacOpdMOpcyc7CiRsYW5nWydwcm9wZXJ0aWVzX2hlbHAxJ10gPSAnRW50cmV6IGxlcyB2YWxldXJzLCB1bmUgcGFyIGxpZ25lLiBTdXBwb3J0ZSBhdXNzaSBsYSBmb3JtZSBWYWxldXJ8TGliZWxsw6kgZXQvb3UgdW5lIGJhbGlzZXMgU01BUlRZJzsKJGxhbmdbJ3BhcnNlc21hcnR5J10gPSAnSW50ZXJwcsOpdGF0aW9uIFNNQVJUWSc7CiRsYW5nWydjbGVhcnN0eWxlc2hlZXRjYWNoZSddID0gJ1ZpZGVyIGxlIGNhY2hlIENTUyc7CiRsYW5nWydjbGVhcnN0eWxlc2hlZXRjYWNoZV9oZWxwJ10gPSAnVmlkZXIgYXV0b21hdGlxdWVtZW50IGxlIGNhY2hlIENTUyBhcHLDqHMgbW9kaWZpY2F0aW9uIGRlIGNlIHBhcmFtw6h0cmUuIFV0aWxpc2VyIGF2ZWMgcHLDqWNhdXRpb24uJzsKJGxhbmdbJ2ZpZWxkZGVmYWRkZWQnXSA9ICdQYXJhbcOodHJlIGFqb3V0w6khJzsKJGxhbmdbJ2ZpZWxkZGVmc3VwZGF0ZWQnXSA9ICdMaXN0ZSBtaXNlIMOgIGpvdXIhJzsKJGxhbmdbJ3RpdGxlX2N1c3RvbV9tb2R1bGVuYW1lJ10gPSAnTm9tIGR1IG1vZHVsZSBwZXJzb25uYWxpc8OpLic7CiRsYW5nWydoZWxwX2N1c3RvbV9tb2R1bGVuYW1lJ10gPSAnVm91cyBwb3V2ZXogY2hhbmdlciBsZSBub20gZHUgbW9kdWxlIGNvbW1lIHZvdXMgbGUgc291aGFpdGV6LiBJbCBzZXJhIHV0aWxpc2VyIGNvbW1lIHRpdHJlIGRhbnMgbGVzIHBhZ2VzIGRcJ2FkbWluLiBldCBkYW5zIGxlcyBtZW51cy4nOwokbGFuZ1sndGl0bGVfYWRtaW5fc2VjdGlvbiddID0gJ1NlY3Rpb24gZFwnYWRtaW5pc3RyYXRpb24nOwokbGFuZ1snaGVscF9hZG1pbl9zZWN0aW9uJ10gPSAnQ2hvaXNpc3NleiBsYSBzZWN0aW9uIGRhbnMgbGFxdWVsbGUgbGUgbW9kdWxlIGFwcGFyYWl0cmEuJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdQYXJhbcOodHJlcyBzYXV2ZWdhcmTDqXMhJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25TZXR0aW5nQ2hhbmdlJ10gPSAnRXZlbmVtZW50IGTDqWNsZW5jaMOpIHF1YW5kIHVuIHBhcmFtw6h0cmUgZXN0IG1vZGlmacOpLic7CiRsYW5nWydldmVudF9oZWxwX09uU2V0dGluZ0NoYW5nZSddID0gJzxwPkV2ZW5lbWVudCBkw6ljbGVuY2jDqSBxdWFuZCB1biBwYXJhbcOodHJlIGVzdCBtb2RpZmnDqS48L3A+DQo8aDQ+UGFyYW1ldHJlczwvaDQ+DQo8dWw+DQo8bGk+ZmllbGRpZDwvbGk+DQo8bGk+bmFtZTwvbGk+DQo8bGk+YWxpYXM8L2xpPg0KPGxpPnZhbHVlPC9saT4NCjxsaT5jbGVhcmNhY2hlPC9saT4NCjwvdWw+JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRWVuIG1vZHVsZSBkaWUgZGUgQWxnZW1lbmUgSW5zdGVsbGluZ2VuIHZhbiBkZSB3ZWJzaXRlIHVpdGJyZWlkdCBtZXQgZXh0cmEgaW5zdGVsYmFyZSBwYXJhbWV0ZXJzLiBVIGt1bnQgZWVuIG9uYmVwZXJrdCBhYW50YWwgdmVsZGVuIGRlZmluacOrcmVuIGRpZSBnZWJydWlrdCBrdW5uZW4gd29yZGVuIGFscyBTbWFydHkgdmFyaWFiZWxlbiBpbiBzamFibG9uZW4gZW4gb3AgcGFnaW5hXCdzLic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsZSBzdWNjZXN2b2wgZ2XDr25zdGFsbGVlcmQhJzsKJGxhbmdbJ3VuaW5zdGFsbF9jb25maXJtJ10gPSAnV2VldCB1IHpla2VyIGRhdCB1IGRlemUgbW9kdWxlIHdpbHQgZGXDr25zdGFsbGVyZW4/JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEZSBtb2R1bGUgaXMgZ2VkZcOvbnN0YWxsZWVyZCEnOwokbGFuZ1snbm93J10gPSAnbnUnOwokbGFuZ1sndGl0bGVfZ2VuZXJhbCddID0gJ0FsZ2VtZWVuJzsKJGxhbmdbJ2Nob29zZXRpbWUnXSA9ICdLaWVzIHRpamQnOwokbGFuZ1sndGltZSddID0gJ3RpamQnOwokbGFuZ1sndGl0bGVfZmllbGRkZWZzJ10gPSAnVmVsZCBEZWZpbml0aWVzJzsKJGxhbmdbJ3NtYXJ0eXZhciddID0gJ1NtYXJ0eSB2YXJpYWJlbGUnOwokbGFuZ1sndGV4dGZpZWxkJ10gPSAnVGVrc3R2ZWxkJzsKJGxhbmdbJ3B1bGxkb3duJ10gPSAnS2V1emVtZW51JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnVmlua3Zha2plJzsKJGxhbmdbJ2lwX2NoZWNrJ10gPSAnSVAgQ29udHJvbGUnOwokbGFuZ1sncmFkaW9idXR0b25zJ10gPSAnUmFkaW9idXR0b24gZ3JvZXAnOwokbGFuZ1snZGF0ZXBpY2tlciddID0gJ0RhdHVta2llemVyJzsKJGxhbmdbJ2RhdGV0aW1lcGlja2VyJ10gPSAnRGF0dW1UaWpka2llemVyJzsKJGxhbmdbJ3RpbWVwaWNrZXInXSA9ICdUaWpka2llemVyJzsKJGxhbmdbJ2NvbG9ycGlja2VyJ10gPSAnS2xldXJraWV6ZXInOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZWtzdGJsb2snOwokbGFuZ1sncGFnZXNlbGVjdCddID0gJ1BhZ2luYWtpZXplcic7CiRsYW5nWyd3eXNpd3lnJ10gPSAnV3lzaXd5Zyc7CiRsYW5nWydmaWVsZHNldHN0YXJ0J10gPSAnVmVsZGVuZ3JvZXAgc3RhcnQnOwokbGFuZ1snZmllbGRzZXRlbmQnXSA9ICdWZWxkZW5ncm9lcCBlaW5kZSc7CiRsYW5nWydidXR0b24nXSA9ICdEcnVra25vcCc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXhpbXVtIGxlbmd0ZSc7CiRsYW5nWydwcm9wZXJ0aWVzJ10gPSAnRWlnZW5zY2hhcHBlbic7CiRsYW5nWydwcm9wZXJ0aWVzX2hlbHAxJ10gPSAnVnVsIGRlIGtldXpld2FhcmRlbiBpbiwgZWxrZSBvcCBlZW4gbmlldXdlIHJlZ2VsLiBPbmRlcnN0ZXVudCBvb2sgV2FhcmRlfEtldXplTmFhbSBwYXJlbiBlbi9vZiBTbWFydHkgdGFncyc7CiRsYW5nWydwYXJzZXNtYXJ0eSddID0gJ0RhdGEgdmlhIFNtYXJ0eSBwYXJzZW4nOwokbGFuZ1snY2xlYXJzdHlsZXNoZWV0Y2FjaGUnXSA9ICdWZXJ3aWpkZXIgc3R5bGVzaGVldCBidWZmZXInOwokbGFuZ1snY2xlYXJzdHlsZXNoZWV0Y2FjaGVfaGVscCddID0gJ0F1dG9tYXRpc2NoIGRlIHN0eWxlc2hlZXQgYnVmZmVyIGxlZ2VuIG5hIGhldCB3aWp6aWdlbiB2YW4gZGUgaW5zdGVsbGluZy4gR0VCUlVJSyBCRUhPRURaQUFNISc7CiRsYW5nWydzaG93b250YWInXSA9ICdUb29uIG9wIHRhYic7CiRsYW5nWydmaWVsZGRlZmFkZGVkJ10gPSAnVmVsZCBEZWZpbml0aWUgaXMgdG9lZ2V2b2VnZCc7CiRsYW5nWydmaWVsZGRlZnN1cGRhdGVkJ10gPSAnVmVsZCBEZWZpbml0aWUgbGlqc3QgaXMgYmlqZ2V3ZXJrdCc7CiRsYW5nWyd0aXRsZV90YWJzJ10gPSAnVGFicyc7CiRsYW5nWyd0YWJhZGRlZCddID0gJ1RhYiBpcyB0b2VnZXZvZWdkJzsKJGxhbmdbJ3RhYnVwZGF0ZWQnXSA9ICdUYWIgaXMgYmlqZ2V3ZXJrdCc7CiRsYW5nWyd0aXRsZV9jdXN0b21fbW9kdWxlbmFtZSddID0gJ0VpZ2VuIE1vZHVsZW5hYW0nOwokbGFuZ1snaGVscF9jdXN0b21fbW9kdWxlbmFtZSddID0gJ1Uga3VudCBoaWVyIGRlIE1vZHVsZW5hYW0gbmFhciBlaWdlbiB3ZW5zIGFhbnBhc3Nlbi4gSGV0IHphbCBnZWJydWlrdCB3b3JkZW4gYWxzIHRpdGVsIG9wIGRlIG1vZHVsZSBiZWhlZXJwYWdpbmEgZW4gYWxzIG1lbnUgdGVrc3QuJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3NlY3Rpb24nXSA9ICdBZG1pbiBTZWN0aWUnOwokbGFuZ1snaGVscF9hZG1pbl9zZWN0aW9uJ10gPSAnS2llcyBkZSBBZG1pbiBTZWN0aWUgKHZhbiBoZXQgQWRtaW4gdG9wbWVudSkgd2FhciBkZXplIG1vZHVsZSBtb2V0IHdvcmRlbiBnZXRvb25kLiA8Yj5PcG1lcmtpbmc8L2I+OiBBZG1pbiBnZWJydWlrZXJzIG1ldCBFZGl0b3IgcmVjaHRlbiBoZWJiZW4gZ2VlbiB0b2VnYW5nIHRvdCBkZSBBZG1pbiBzZWN0aWUhJzsKJGxhbmdbJ3NldHRpbmdzc2F2ZWQnXSA9ICdJbnN0ZWxsaW5nZW4gb3BnZXNsYWdlbiEnOwokbGFuZ1sndXBkYXRlZmFpbGVkJ10gPSAnQmlqd2Vya2VuIG1pc2x1a3QhJzsKJGxhbmdbJ2V2ZW50X2luZm9fT25TZXR0aW5nQ2hhbmdlJ10gPSAnRWVuIHRhZyBkaWUgd29yZHQgYWFuZ2Vyb2VwZW4gbmFkYXQgZWVuIGluc3RlbGxpbmcgaXMgZ2V3aWp6aWdkLic7CiRsYW5nWydldmVudF9oZWxwX09uU2V0dGluZ0NoYW5nZSddID0gJzxwPkVlbiB0YWcgZGllIHdvcmR0IGFhbmdlcm9lcGVuIG5hZGF0IGVlbiBpbnN0ZWxsaW5nIGlzIGdld2lqemlnZC48L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+ZmllbGRpZDwvbGk+DQo8bGk+bmFtZTwvbGk+DQo8bGk+YWxpYXM8L2xpPg0KPGxpPnZhbHVlPC9saT4NCjxsaT5jbGVhcmNhY2hlPC9saT4NCjwvdWw+JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/jquery/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/jquery/colorpicker.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LmNvbG9ycGlja2VyIHsNCgl3aWR0aDogMzUwcHg7DQoJaGVpZ2h0OiAxNzBweDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCglkaXNwbGF5OiBub25lOw0KICAgIHotaW5kZXg6IDk5OTsNCiAgICBib3JkZXI6M3B4IHNvbGlkICNCQUJBQkE7DQogICAgYmFja2dyb3VuZC1jb2xvcjojMTIxMjEyOw0KICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4Ow0KICAgIC1tb3otYm9yZGVyLXJhZGl1czogNXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDVweDsNCn0NCg0KLmNvbG9ycGlja2VyIGlucHV0IHsNCglsaW5lLWhlaWdodDogbm9ybWFsOw0KCXdpZHRoOiBhdXRvOw0KfQ0KDQouY29sb3JwaWNrZXJfY29sb3Igew0KCXdpZHRoOiAxNTBweDsNCgloZWlnaHQ6IDE1MHB4Ow0KCWxlZnQ6IDlweDsNCgl0b3A6IDhweDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJYmFja2dyb3VuZDogI2YwMDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCWN1cnNvcjogY3Jvc3NoYWlyOw0KCWJvcmRlcjogMnB4IHNvbGlkICM0NzQ4NDg7DQp9DQouY29sb3JwaWNrZXJfY29sb3IgZGl2IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJd2lkdGg6IDE1MHB4Ow0KCWhlaWdodDogMTUwcHg7DQoJYmFja2dyb3VuZDogdXJsKCJpbWFnZXMvb3ZlcmxheS5wbmciKTsNCn0NCi5jb2xvcnBpY2tlcl9jb2xvciBkaXYgZGl2IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJd2lkdGg6IDExcHg7DQoJaGVpZ2h0OiAxMXB4Ow0KCW92ZXJmbG93OiBoaWRkZW47DQoJYmFja2dyb3VuZDogdXJsKCJpbWFnZXMvc2VsZWN0LmdpZiIpOw0KCW1hcmdpbjogLTVweCAwIDAgLTVweDsNCn0NCi5jb2xvcnBpY2tlcl9odWUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDhweDsNCglsZWZ0OiAxNzVweDsNCgl3aWR0aDogMTdweDsNCgloZWlnaHQ6IDE1MHB4Ow0KCWN1cnNvcjogbi1yZXNpemU7DQogICAgYmFja2dyb3VuZDogdXJsKCJpbWFnZXMvc2VsZWN0X2h1ZS5wbmciKTsNCiAgICBib3JkZXI6IDJweCBzb2xpZCAjNDc0ODQ4Ow0KfQ0KLmNvbG9ycGlja2VyX2h1ZSBkaXYgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl3aWR0aDogMzVweDsNCgloZWlnaHQ6IDlweDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCWJhY2tncm91bmQ6IHVybCgiaW1hZ2VzL2luZGljLmdpZiIpIGxlZnQgdG9wOw0KCW1hcmdpbjogLTRweCAwIDAgMDsNCglsZWZ0OiAtOXB4Ow0KfQ0KLmNvbG9ycGlja2VyX25ld19jb2xvciB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiA2MHB4Ow0KCWhlaWdodDogMzBweDsNCglsZWZ0OiAyMDhweDsNCgl0b3A6IDhweDsNCgliYWNrZ3JvdW5kOiAjZjAwOw0KICAgIGJvcmRlcjogMnB4IHNvbGlkICM0NzQ4NDg7DQp9DQouY29sb3JwaWNrZXJfY3VycmVudF9jb2xvciB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiA2MHB4Ow0KCWhlaWdodDogMzBweDsNCglsZWZ0OiAyNzhweDsNCgl0b3A6IDhweDsNCgliYWNrZ3JvdW5kOiAjZjAwOw0KICAgIGJvcmRlcjogMnB4IHNvbGlkICM0NzQ4NDg7DQp9DQouY29sb3JwaWNrZXIgaW5wdXQgew0KCWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KCWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglmb250LXNpemU6IDEwcHg7DQoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQoJY29sb3I6ICM4OTg5ODk7DQoJdG9wOiAycHg7DQoJcmlnaHQ6IDEwcHg7DQoJdGV4dC1hbGlnbjogcmlnaHQ7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDA7DQoJaGVpZ2h0OiAxM3B4Ow0KCXdpZHRoOiAzMHB4Ow0KCWJvcmRlcjogMXB4IHNvbGlkICMyZjJmMmY7DQoJYmFja2dyb3VuZC1jb2xvcjogICMxMjEyMTI7DQp9DQouY29sb3JwaWNrZXJfaGV4IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJd2lkdGg6IDcwcHg7DQoJaGVpZ2h0OiAyMHB4Ow0KCWxlZnQ6IDIwOXB4Ow0KCXRvcDogMTM5cHg7DQp9DQouY29sb3JwaWNrZXJfaGV4IGlucHV0IHsNCglyaWdodDogNnB4Ow0KCXdpZHRoOiA0N3B4Ow0KfQ0KDQoNCi5jb2xvcnBpY2tlcl9maWVsZCwgLmNvbG9ycGlja2VyX2hleCB7DQogICAgYmFja2dyb3VuZDogdXJsKCJpbWFnZXMvZ3JhZGllbnRfaW5wdXQucG5nIikgY2VudGVyIHJlcGVhdC14OyAgIC8vIEZhbGxiYWNrDQogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjMUExQTFBIDAlLCAjMzAzMDMwIDQ1JSwgIzI2MjUyNSA0NyUsICMyRTJFMkUgMTAwJSk7DQogICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMUExQTFBIDAlLCAjMzAzMDMwIDQ1JSwgIzI2MjUyNSA0NyUsICMyRTJFMkUgMTAwJSk7DQogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICMxQTFBMUEgMCUsICMzMDMwMzAgNDUlLCAjMjYyNTI1IDQ3JSwgIzJFMkUyRSAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMUExQTFBIDAlLCAjMzAzMDMwIDQ1JSwgIzI2MjUyNSA0NyUsICMyRTJFMkUgMTAwJSk7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvcCwgIzFBMUExQSAwJSwgIzMwMzAzMCA0NSUsICMyNjI1MjUgNDclLCAjMkUyRTJFIDEwMCUpOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZjJmMmY7DQp9DQoNCg0KLmNvbG9ycGlja2VyX2ZpZWxkIHsNCgloZWlnaHQ6IDIwcHg7DQoJd2lkdGg6IDYwcHg7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCn0NCg0KLmNvbG9ycGlja2VyX2ZvY3VzLCAuY29sb3JwaWNrZXJfZm9jdXMgaW5wdXQgew0KICAgIGJvcmRlcjogMXB4IHNvbGlkICM0ZDRiNGI7DQp9DQoNCi5jb2xvcnBpY2tlcl9maWVsZCBsYWJlbCwgLmNvbG9ycGlja2VyX2hleCBsYWJlbCB7DQogICAgY29sb3I6ICNEOEQ4RDg7DQogICAgZm9udC1zaXplOiAgMTFweDsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW4tdG9wOiAycHg7DQogICAgbWFyZ2luLWxlZnQ6IDVweDsNCiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7DQogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgLW1vei11c2VyLXNlbGVjdDogLW1vei1ub25lOw0KICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAtby11c2VyLXNlbGVjdDogbm9uZTsNCiAgICB1c2VyLXNlbGVjdDogbm9uZTsNCn0NCi5jb2xvcnBpY2tlcl9maWVsZCBzcGFuIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy9ncmFiYmVyLnBuZyIpOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJd2lkdGg6IDEycHg7DQoJaGVpZ2h0OiAyMHB4Ow0KCW92ZXJmbG93OiBoaWRkZW47DQoJdG9wOiAwOw0KCXJpZ2h0OiAwOw0KCWN1cnNvcjogbi1yZXNpemU7DQogICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOw0KICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOw0KICAgIC1tb3otdXNlci1zZWxlY3Q6IC1tb3otbm9uZTsNCiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgdXNlci1zZWxlY3Q6IG5vbmU7DQp9DQoNCi5jb2xvcnBpY2tlcl9zbGlkZXIgc3BhbiB7ICAgIA0KICAgIGJhY2tncm91bmQ6IHVybCgiaW1hZ2VzL2dyYWRpZW50X2dyYWJiZXIucG5nIikgY2VudGVyOyAgIC8vIEZhbGxiYWNrDQogICAgYmFja2dyb3VuZDogdXJsKCJpbWFnZXMvZ3JhYmJlci5wbmciKSwgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjOTA5MDkwIDAlLCAjNGQ0YzRjIDEwMCUpOw0KICAgIGJhY2tncm91bmQ6IHVybCgiaW1hZ2VzL2dyYWJiZXIucG5nIiksIC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzkwOTA5MCAwJSwgIzRkNGM0YyAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kOiB1cmwoImltYWdlcy9ncmFiYmVyLnBuZyIpLCAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIzkwOTA5MCAwJSwgIzRkNGM0YyAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kOiB1cmwoImltYWdlcy9ncmFiYmVyLnBuZyIpLCAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjOTA5MDkwIDAlLCAjNGQ0YzRjIDEwMCUpOw0KICAgIGJhY2tncm91bmQ6IHVybCgiaW1hZ2VzL2dyYWJiZXIucG5nIiksIGxpbmVhci1ncmFkaWVudCh0b3AsICM5MDkwOTAgMCUsICM0ZDRjNGMgMTAwJSk7DQp9DQoNCi5jb2xvcnBpY2tlcl9yZ2JfciB7DQoJdG9wOiA0OXB4Ow0KCWxlZnQ6IDIwOXB4Ow0KfQ0KLmNvbG9ycGlja2VyX3JnYl9nIHsNCgl0b3A6IDc5cHg7DQoJbGVmdDogMjA5cHg7DQp9DQouY29sb3JwaWNrZXJfcmdiX2Igew0KCXRvcDogMTA5cHg7DQoJbGVmdDogMjA5cHg7DQp9DQouY29sb3JwaWNrZXJfaHNiX2ggew0KCXRvcDogNDlweDsNCglsZWZ0OiAyNzlweDsNCn0NCi5jb2xvcnBpY2tlcl9oc2JfcyB7DQoJdG9wOiA3OXB4Ow0KCWxlZnQ6IDI3OXB4Ow0KfQ0KLmNvbG9ycGlja2VyX2hzYl9iIHsNCgl0b3A6IDEwOXB4Ow0KCWxlZnQ6IDI3OXB4Ow0KfQ0KLmNvbG9ycGlja2VyX3N1Ym1pdCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiAyMnB4Ow0KCWhlaWdodDogMjJweDsNCgliYWNrZ3JvdW5kOiB1cmwoImltYWdlcy9zdWJtaXQucG5nIikgdG9wOw0KCWxlZnQ6IDMxOXB4Ow0KCXRvcDogMTM5cHg7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLmNvbG9yU2VsZWN0b3Igew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB3aWR0aDogMzZweDsNCiAgICBoZWlnaHQ6IDM2cHg7DQogICAgbGVmdDogMzUlOw0KICAgIG1hcmdpbi10b3A6IDVweDsNCiAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQogICAgYmFja2dyb3VuZDogdXJsKCJpbWFnZXMvc2VsZWN0LnBuZyIpOw0KfQ0KLmNvbG9yU2VsZWN0b3IgZGl2IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAzcHg7DQoJbGVmdDogM3B4Ow0KCXdpZHRoOiAzMHB4Ow0KCWhlaWdodDogMzBweDsNCgliYWNrZ3JvdW5kOiB1cmwoImltYWdlcy9zZWxlY3QucG5nIikgY2VudGVyOw0KfQ0K]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/colorpicker.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGUpe3ZhciB0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24geChlKXtpZihlLm9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQpZS5vcmlnaW5hbEV2ZW50LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGZhbHNlfXZhciB0PTY1LG49JzxkaXYgY2xhc3M9ImNvbG9ycGlja2VyIj48ZGl2IGNsYXNzPSJjb2xvcnBpY2tlcl9jb2xvciI+PGRpdj48ZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImNvbG9ycGlja2VyX2h1ZSI+PGRpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjb2xvcnBpY2tlcl9uZXdfY29sb3IiPjwvZGl2PjxkaXYgY2xhc3M9ImNvbG9ycGlja2VyX2N1cnJlbnRfY29sb3IiPjwvZGl2PjxkaXYgY2xhc3M9ImNvbG9ycGlja2VyX2hleCI+PGxhYmVsIGZvcj0iaGV4Ij4jPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSI2IiBzaXplPSI2IiBpZD0iaGV4IiAvPjwvZGl2PjxkaXYgY2xhc3M9ImNvbG9ycGlja2VyX3JnYl9yIGNvbG9ycGlja2VyX2ZpZWxkIj48bGFiZWwgZm9yPSJyYmdfciI+UjwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMyIgc2l6ZT0iMyIgaWQ9InJnYl9yIiAvPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJjb2xvcnBpY2tlcl9yZ2JfZyBjb2xvcnBpY2tlcl9maWVsZCI+PGxhYmVsIGZvcj0icmJnX2ciPkc8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjMiIHNpemU9IjMiIGlkPSJyZ2JfZyIgLz48c3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iY29sb3JwaWNrZXJfcmdiX2IgY29sb3JwaWNrZXJfZmllbGQiPjxsYWJlbCBmb3I9InJiZ19iIj5CPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIzIiBzaXplPSIzIiBpZD0icmdiX2IiIC8+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImNvbG9ycGlja2VyX2hzYl9oIGNvbG9ycGlja2VyX2ZpZWxkIj48bGFiZWwgZm9yPSJoc2JfaCI+SDwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMyIgc2l6ZT0iMyIgaWQ9ImhzYl9oIiAvPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJjb2xvcnBpY2tlcl9oc2JfcyBjb2xvcnBpY2tlcl9maWVsZCI+PGxhYmVsIGZvcj0iaHNiX3MiPlM8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjMiIHNpemU9IjMiIGlkPSJoc2JfcyIgLz48c3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iY29sb3JwaWNrZXJfaHNiX2IgY29sb3JwaWNrZXJfZmllbGQiPjxsYWJlbCBmb3I9ImhzYl9iIj5CPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIzIiBzaXplPSIzIiBpZD0iaHNiX2IiIC8+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImNvbG9ycGlja2VyX3N1Ym1pdCI+PC9kaXY+PC9kaXY+JyxyPXtldmVudE5hbWU6ImNsaWNrIixvblNob3c6ZnVuY3Rpb24oKXt9LG9uQmVmb3JlU2hvdzpmdW5jdGlvbigpe30sb25IaWRlOmZ1bmN0aW9uKCl7fSxvbkNoYW5nZTpmdW5jdGlvbigpe30sb25TdWJtaXQ6ZnVuY3Rpb24oKXt9LGNvbG9yOiJmZjAwMDAiLGxpdmVQcmV2aWV3OnRydWUsZmxhdDpmYWxzZX0saT1mdW5jdGlvbih0LG4pe3ZhciByPUhTQlRvUkdCKHQpO2UobikuZGF0YSgiY29sb3JwaWNrZXIiKS5maWVsZHMuZXEoMSkudmFsKHIucikuZW5kKCkuZXEoMikudmFsKHIuZykuZW5kKCkuZXEoMykudmFsKHIuYikuZW5kKCl9LHM9ZnVuY3Rpb24odCxuKXtlKG4pLmRhdGEoImNvbG9ycGlja2VyIikuZmllbGRzLmVxKDQpLnZhbCh0LmgpLmVuZCgpLmVxKDUpLnZhbCh0LnMpLmVuZCgpLmVxKDYpLnZhbCh0LmIpLmVuZCgpfSxvPWZ1bmN0aW9uKHQsbil7ZShuKS5kYXRhKCJjb2xvcnBpY2tlciIpLmZpZWxkcy5lcSgwKS52YWwoSFNCVG9IZXgodCkpLmVuZCgpfSx1PWZ1bmN0aW9uKHQsbil7ZShuKS5kYXRhKCJjb2xvcnBpY2tlciIpLnNlbGVjdG9yLmNzcygiYmFja2dyb3VuZENvbG9yIiwiIyIrSFNCVG9IZXgoe2g6dC5oLHM6MTAwLGI6MTAwfSkpO2UobikuZGF0YSgiY29sb3JwaWNrZXIiKS5zZWxlY3RvckluZGljLmNzcyh7bGVmdDpwYXJzZUludCgxNTAqdC5zLzEwMCwxMCksdG9wOnBhcnNlSW50KDE1MCooMTAwLXQuYikvMTAwLDEwKX0pfSxhPWZ1bmN0aW9uKHQsbil7ZShuKS5kYXRhKCJjb2xvcnBpY2tlciIpLmh1ZS5jc3MoInRvcCIscGFyc2VJbnQoMTUwLTE1MCp0LmgvMzYwLDEwKSl9LGY9ZnVuY3Rpb24odCxuKXtlKG4pLmRhdGEoImNvbG9ycGlja2VyIikuY3VycmVudENvbG9yLmNzcygiYmFja2dyb3VuZENvbG9yIiwiIyIrSFNCVG9IZXgodCkpfSxsPWZ1bmN0aW9uKHQsbil7ZShuKS5kYXRhKCJjb2xvcnBpY2tlciIpLm5ld0NvbG9yLmNzcygiYmFja2dyb3VuZENvbG9yIiwiIyIrSFNCVG9IZXgodCkpfSxjPWZ1bmN0aW9uKG4pe3ZhciByPW4uY2hhckNvZGV8fG4ua2V5Q29kZXx8LTE7aWYocj50JiZyPD05MHx8cj09PTMyKXtyZXR1cm4gZmFsc2V9dmFyIGk9ZSh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKTtpZihpLmRhdGEoImNvbG9ycGlja2VyIikubGl2ZVByZXZpZXc9PT10cnVlKXtoLmFwcGx5KHRoaXMpfX0saD1mdW5jdGlvbih0KXt2YXIgbj1lKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLHI7aWYodGhpcy5wYXJlbnROb2RlLmNsYXNzTmFtZS5pbmRleE9mKCJfaGV4Iik+MCl7bi5kYXRhKCJjb2xvcnBpY2tlciIpLmNvbG9yPXI9SGV4VG9IU0IoZml4SGV4KHRoaXMudmFsdWUpKX1lbHNlIGlmKHRoaXMucGFyZW50Tm9kZS5jbGFzc05hbWUuaW5kZXhPZigiX2hzYiIpPjApe24uZGF0YSgiY29sb3JwaWNrZXIiKS5jb2xvcj1yPWZpeEhTQih7aDpwYXJzZUludChuLmRhdGEoImNvbG9ycGlja2VyIikuZmllbGRzLmVxKDQpLnZhbCgpLDEwKSxzOnBhcnNlSW50KG4uZGF0YSgiY29sb3JwaWNrZXIiKS5maWVsZHMuZXEoNSkudmFsKCksMTApLGI6cGFyc2VJbnQobi5kYXRhKCJjb2xvcnBpY2tlciIpLmZpZWxkcy5lcSg2KS52YWwoKSwxMCl9KX1lbHNle24uZGF0YSgiY29sb3JwaWNrZXIiKS5jb2xvcj1yPVJHQlRvSFNCKGZpeFJHQih7cjpwYXJzZUludChuLmRhdGEoImNvbG9ycGlja2VyIikuZmllbGRzLmVxKDEpLnZhbCgpLDEwKSxnOnBhcnNlSW50KG4uZGF0YSgiY29sb3JwaWNrZXIiKS5maWVsZHMuZXEoMikudmFsKCksMTApLGI6cGFyc2VJbnQobi5kYXRhKCJjb2xvcnBpY2tlciIpLmZpZWxkcy5lcSgzKS52YWwoKSwxMCl9KSl9aWYodCl7aShyLG4uZ2V0KDApKTtvKHIsbi5nZXQoMCkpO3MocixuLmdldCgwKSl9dShyLG4uZ2V0KDApKTthKHIsbi5nZXQoMCkpO2wocixuLmdldCgwKSk7bi5kYXRhKCJjb2xvcnBpY2tlciIpLm9uQ2hhbmdlLmFwcGx5KG4sW3IsSFNCVG9IZXgociksSFNCVG9SR0IocildKX0scD1mdW5jdGlvbih0KXt2YXIgbj1lKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpO24uZGF0YSgiY29sb3JwaWNrZXIiKS5maWVsZHMucGFyZW50KCkucmVtb3ZlQ2xhc3MoImNvbG9ycGlja2VyX2ZvY3VzIil9LGQ9ZnVuY3Rpb24oKXt0PXRoaXMucGFyZW50Tm9kZS5jbGFzc05hbWUuaW5kZXhPZigiX2hleCIpPjA/NzA6NjU7ZSh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5kYXRhKCJjb2xvcnBpY2tlciIpLmZpZWxkcy5wYXJlbnQoKS5yZW1vdmVDbGFzcygiY29sb3JwaWNrZXJfZm9jdXMiKTtlKHRoaXMpLnBhcmVudCgpLmFkZENsYXNzKCJjb2xvcnBpY2tlcl9mb2N1cyIpfSx2PWZ1bmN0aW9uKHQpe3ZhciBuPWUodGhpcykucGFyZW50KCkuZmluZCgiaW5wdXQiKS5mb2N1cygpO3ZhciByPXtlbDplKHRoaXMpLnBhcmVudCgpLmFkZENsYXNzKCJjb2xvcnBpY2tlcl9zbGlkZXIiKSxtYXg6dGhpcy5wYXJlbnROb2RlLmNsYXNzTmFtZS5pbmRleE9mKCJfaHNiX2giKT4wPzM2MDp0aGlzLnBhcmVudE5vZGUuY2xhc3NOYW1lLmluZGV4T2YoIl9oc2IiKT4wPzEwMDoyNTUseTp0LnBhZ2VZLGZpZWxkOm4sdmFsOnBhcnNlSW50KG4udmFsKCksMTApLHByZXZpZXc6ZSh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5kYXRhKCJjb2xvcnBpY2tlciIpLmxpdmVQcmV2aWV3fTtlKGRvY3VtZW50KS5vbigibW91c2V1cCIscixnKTtlKGRvY3VtZW50KS5vbigibW91c2Vtb3ZlIixyLG0pO3JldHVybiB4KHQpfSxtPWZ1bmN0aW9uKGUpe2UuZGF0YS5maWVsZC52YWwoTWF0aC5tYXgoMCxNYXRoLm1pbihlLmRhdGEubWF4LHBhcnNlSW50KGUuZGF0YS52YWwrZS5wYWdlWS1lLmRhdGEueSwxMCkpKSk7aWYoZS5kYXRhLnByZXZpZXcpe2guYXBwbHkoZS5kYXRhLmZpZWxkLmdldCgwKSxbdHJ1ZV0pfXJldHVybiBmYWxzZX0sZz1mdW5jdGlvbih0KXtoLmFwcGx5KHQuZGF0YS5maWVsZC5nZXQoMCksW3RydWVdKTt0LmRhdGEuZWwucmVtb3ZlQ2xhc3MoImNvbG9ycGlja2VyX3NsaWRlciIpLmZpbmQoImlucHV0IikuZm9jdXMoKTtlKGRvY3VtZW50KS5vZmYoIm1vdXNldXAiLGcpO2UoZG9jdW1lbnQpLm9mZigibW91c2Vtb3ZlIixtKTtyZXR1cm4gZmFsc2V9LGI9ZnVuY3Rpb24odCl7dmFyIG49e2NhbDplKHRoaXMpLnBhcmVudCgpLHk6ZSh0aGlzKS5vZmZzZXQoKS50b3B9O24ucHJldmlldz1uLmNhbC5kYXRhKCJjb2xvcnBpY2tlciIpLmxpdmVQcmV2aWV3O2UoZG9jdW1lbnQpLm9uKCJtb3VzZXVwIixuLEUpO2UoZG9jdW1lbnQpLm9uKCJtb3VzZW1vdmUiLG4sdyk7cmV0dXJuIHgodCl9LHc9ZnVuY3Rpb24oZSl7aC5hcHBseShlLmRhdGEuY2FsLmRhdGEoImNvbG9ycGlja2VyIikuZmllbGRzLmVxKDQpLnZhbChwYXJzZUludCgzNjAqKDE1MC1NYXRoLm1heCgwLE1hdGgubWluKDE1MCxlLnBhZ2VZLWUuZGF0YS55KSkpLzE1MCwxMCkpLmdldCgwKSxbZS5kYXRhLnByZXZpZXddKTtyZXR1cm4gZmFsc2V9LEU9ZnVuY3Rpb24odCl7aSh0LmRhdGEuY2FsLmRhdGEoImNvbG9ycGlja2VyIikuY29sb3IsdC5kYXRhLmNhbC5nZXQoMCkpO28odC5kYXRhLmNhbC5kYXRhKCJjb2xvcnBpY2tlciIpLmNvbG9yLHQuZGF0YS5jYWwuZ2V0KDApKTtlKGRvY3VtZW50KS5vZmYoIm1vdXNldXAiLEUpO2UoZG9jdW1lbnQpLm9mZigibW91c2Vtb3ZlIix3KTtyZXR1cm4gZmFsc2V9LFM9ZnVuY3Rpb24odCl7eT1lKHRoaXMpLm9mZnNldCgpLnRvcDtwcmV2aWV3PXQuZGF0YS5jYWwuZGF0YSgiY29sb3JwaWNrZXIiKS5saXZlUHJldmlldztoLmFwcGx5KHQuZGF0YS5jYWwuZGF0YSgiY29sb3JwaWNrZXIiKS5maWVsZHMuZXEoNCkudmFsKHBhcnNlSW50KDM2MCooMTUwLU1hdGgubWF4KDAsTWF0aC5taW4oMTUwLHQucGFnZVkteSkpKS8xNTAsMTApKS5nZXQoMCksW3ByZXZpZXddKX07ZG93blNlbGVjdG9yPWZ1bmN0aW9uKHQpe3ZhciBuPXtjYWw6ZSh0aGlzKS5wYXJlbnQoKSxwb3M6ZSh0aGlzKS5vZmZzZXQoKX07bi5wcmV2aWV3PW4uY2FsLmRhdGEoImNvbG9ycGlja2VyIikubGl2ZVByZXZpZXc7ZShkb2N1bWVudCkub24oIm1vdXNldXAiLG4sdXBTZWxlY3Rvcik7ZShkb2N1bWVudCkub24oIm1vdXNlbW92ZSIsbixtb3ZlU2VsZWN0b3IpO2UoIi5jb2xvcnBpY2tlcl9jb2xvciIsIG4uY2FsKS5vbmUoImNsaWNrIixuLG1vdmVTZWxlY3Rvcik7dC5kYXRhPW47bW92ZVNlbGVjdG9yKHQpO3JldHVybiB4KHQpfSxtb3ZlU2VsZWN0b3I9ZnVuY3Rpb24oZSl7aC5hcHBseShlLmRhdGEuY2FsLmRhdGEoImNvbG9ycGlja2VyIikuZmllbGRzLmVxKDYpLnZhbChwYXJzZUludCgxMDAqKDE1MC1NYXRoLm1heCgwLE1hdGgubWluKDE1MCxlLnBhZ2VZLWUuZGF0YS5wb3MudG9wKSkpLzE1MCwxMCkpLmVuZCgpLmVxKDUpLnZhbChwYXJzZUludCgxMDAqTWF0aC5tYXgoMCxNYXRoLm1pbigxNTAsZS5wYWdlWC1lLmRhdGEucG9zLmxlZnQpKS8xNTAsMTApKS5nZXQoMCksW2UuZGF0YS5wcmV2aWV3XSk7cmV0dXJuIGZhbHNlfSx1cFNlbGVjdG9yPWZ1bmN0aW9uKHQpe3ZhciBuPXtjYWw6ZSh0aGlzKS5wYXJlbnQoKSxwb3M6ZSh0aGlzKS5vZmZzZXQoKX07aSh0LmRhdGEuY2FsLmRhdGEoImNvbG9ycGlja2VyIikuY29sb3IsdC5kYXRhLmNhbC5nZXQoMCkpO28odC5kYXRhLmNhbC5kYXRhKCJjb2xvcnBpY2tlciIpLmNvbG9yLHQuZGF0YS5jYWwuZ2V0KDApKTtlKGRvY3VtZW50KS5vZmYoIm1vdXNldXAiLHVwU2VsZWN0b3IpO2UoZG9jdW1lbnQpLm9mZigibW91c2Vtb3ZlIixtb3ZlU2VsZWN0b3IpO3JldHVybiBmYWxzZX0sZW50ZXJTdWJtaXQ9ZnVuY3Rpb24odCl7ZSh0aGlzKS5hZGRDbGFzcygiY29sb3JwaWNrZXJfZm9jdXMiKX0sbGVhdmVTdWJtaXQ9ZnVuY3Rpb24odCl7ZSh0aGlzKS5yZW1vdmVDbGFzcygiY29sb3JwaWNrZXJfZm9jdXMiKX0sY2xpY2tTdWJtaXQ9ZnVuY3Rpb24odCl7dmFyIG49ZSh0aGlzKS5wYXJlbnQoKTt2YXIgcj1uLmRhdGEoImNvbG9ycGlja2VyIikuY29sb3I7bi5kYXRhKCJjb2xvcnBpY2tlciIpLm9yaWdDb2xvcj1yO2YocixuLmdldCgwKSk7bi5kYXRhKCJjb2xvcnBpY2tlciIpLm9uU3VibWl0KHIsSFNCVG9IZXgociksSFNCVG9SR0Iociksbi5kYXRhKCJjb2xvcnBpY2tlciIpLmVsLG4uZGF0YSgiY29sb3JwaWNrZXIiKS5wYXJlbnQpfSxzaG93PWZ1bmN0aW9uKHQpe3ZhciBuPWUoIiMiK2UodGhpcykuZGF0YSgiY29sb3JwaWNrZXJJZCIpKTtuLmRhdGEoImNvbG9ycGlja2VyIikub25CZWZvcmVTaG93LmFwcGx5KHRoaXMsW24uZ2V0KDApXSk7dmFyIHI9ZSh0aGlzKS5vZmZzZXQoKTt2YXIgaT1nZXRWaWV3cG9ydCgpO3ZhciBzPXIudG9wK3RoaXMub2Zmc2V0SGVpZ2h0O3ZhciBvPXIubGVmdDtpZihzKzE3Nj5pLnQraS5oKXtzLT10aGlzLm9mZnNldEhlaWdodCsxNzZ9aWYobyszNTY+aS5sK2kudyl7by09MzU2fW4uY3NzKHtsZWZ0Om8rInB4Iix0b3A6cysicHgifSk7aWYobi5kYXRhKCJjb2xvcnBpY2tlciIpLm9uU2hvdy5hcHBseSh0aGlzLFtuLmdldCgwKV0pIT1mYWxzZSl7bi5zaG93KCl9ZShkb2N1bWVudCkub24oIm1vdXNlZG93biIse2NhbDpufSxoaWRlKTtyZXR1cm4gZmFsc2V9LGhpZGU9ZnVuY3Rpb24odCl7aWYoIWlzQ2hpbGRPZih0LmRhdGEuY2FsLmdldCgwKSx0LnRhcmdldCx0LmRhdGEuY2FsLmdldCgwKSkpe2lmKHQuZGF0YS5jYWwuZGF0YSgiY29sb3JwaWNrZXIiKS5vbkhpZGUuYXBwbHkodGhpcyxbdC5kYXRhLmNhbC5nZXQoMCldKSE9ZmFsc2Upe3QuZGF0YS5jYWwuaGlkZSgpfWUoZG9jdW1lbnQpLm9mZigibW91c2Vkb3duIixoaWRlKX19LGlzQ2hpbGRPZj1mdW5jdGlvbihlLHQsbil7aWYoZT09PXQpe3JldHVybiB0cnVlfWlmKGUuY29udGFpbnMpe3JldHVybiBlLmNvbnRhaW5zKHQpfWlmKGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24pe3JldHVybiEhKGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmMTYpfXZhciByPXQucGFyZW50Tm9kZTt3aGlsZShyJiZyIT09bil7aWYocj09PWUpe3JldHVybiB0cnVlfXI9ci5wYXJlbnROb2RlfXJldHVybiBmYWxzZX0sZ2V0Vmlld3BvcnQ9ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jb21wYXRNb2RlPT0iQ1NTMUNvbXBhdCI7cmV0dXJue2w6d2luZG93LnBhZ2VYT2Zmc2V0fHwoZT9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdDpkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQpLHQ6d2luZG93LnBhZ2VZT2Zmc2V0fHwoZT9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wOmRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSx3OndpbmRvdy5pbm5lcldpZHRofHwoZT9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg6ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCksaDp3aW5kb3cuaW5uZXJIZWlnaHR8fChlP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ6ZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQpfX0sZml4SFNCPWZ1bmN0aW9uKGUpe3JldHVybntoOk1hdGgubWluKDM2MCxNYXRoLm1heCgwLGUuaCkpLHM6TWF0aC5taW4oMTAwLE1hdGgubWF4KDAsZS5zKSksYjpNYXRoLm1pbigxMDAsTWF0aC5tYXgoMCxlLmIpKX19LGZpeFJHQj1mdW5jdGlvbihlKXtyZXR1cm57cjpNYXRoLm1pbigyNTUsTWF0aC5tYXgoMCxlLnIpKSxnOk1hdGgubWluKDI1NSxNYXRoLm1heCgwLGUuZykpLGI6TWF0aC5taW4oMjU1LE1hdGgubWF4KDAsZS5iKSl9fSxmaXhIZXg9ZnVuY3Rpb24oZSl7dmFyIHQ9Ni1lLmxlbmd0aDtpZih0PjApe3ZhciBuPVtdO2Zvcih2YXIgcj0wO3I8dDtyKyspe24ucHVzaCgiMCIpfW4ucHVzaChlKTtlPW4uam9pbigiIil9cmV0dXJuIGV9LEhleFRvUkdCPWZ1bmN0aW9uKGUpe2U9cGFyc2VJbnQoZS5pbmRleE9mKCIjIik+LTE/ZS5zdWJzdHJpbmcoMSk6ZSwxNik7cmV0dXJue3I6ZT4+MTYsZzooZSY2NTI4MCk+PjgsYjplJjI1NX19LEhleFRvSFNCPWZ1bmN0aW9uKGUpe3JldHVybiBSR0JUb0hTQihIZXhUb1JHQihlKSl9LFJHQlRvSFNCPWZ1bmN0aW9uKGUpe3ZhciB0PXtoOjAsczowLGI6MH07dmFyIG49TWF0aC5taW4oZS5yLGUuZyxlLmIpO3ZhciByPU1hdGgubWF4KGUucixlLmcsZS5iKTt2YXIgaT1yLW47dC5iPXI7dC5zPXIhPTA/MjU1KmkvcjowO2lmKHQucyE9MCl7aWYoZS5yPT09cil7dC5oPShlLmctZS5iKS9pfWVsc2UgaWYoZS5nPT09cil7dC5oPTIrKGUuYi1lLnIpL2l9ZWxzZXt0Lmg9NCsoZS5yLWUuZykvaX19ZWxzZXt0Lmg9LTF9dC5oKj02MDtpZih0Lmg8MCl7dC5oKz0zNjB9dC5zKj0xMDAvMjU1O3QuYio9MTAwLzI1NTtyZXR1cm4gdH0sSFNCVG9SR0I9ZnVuY3Rpb24oZSl7dmFyIHQ9e307dmFyIG49TWF0aC5yb3VuZChlLmgpO3ZhciByPU1hdGgucm91bmQoZS5zKjI1NS8xMDApO3ZhciBpPU1hdGgucm91bmQoZS5iKjI1NS8xMDApO2lmKHI9PTApe3Qucj10Lmc9dC5iPWl9ZWxzZXt2YXIgcz1pO3ZhciBvPSgyNTUtcikqaS8yNTU7dmFyIHU9KHMtbykqKG4lNjApLzYwO2lmKG49PT0zNjApe249MH1pZihuPDYwKXt0LnI9czt0LmI9bzt0Lmc9byt1fWVsc2UgaWYobjwxMjApe3QuZz1zO3QuYj1vO3Qucj1zLXV9ZWxzZSBpZihuPDE4MCl7dC5nPXM7dC5yPW87dC5iPW8rdX1lbHNlIGlmKG48MjQwKXt0LmI9czt0LnI9bzt0Lmc9cy11fWVsc2UgaWYobjwzMDApe3QuYj1zO3QuZz1vO3Qucj1vK3V9ZWxzZSBpZihuPDM2MCl7dC5yPXM7dC5nPW87dC5iPXMtdX1lbHNle3Qucj0wO3QuZz0wO3QuYj0wfX1yZXR1cm57cjpNYXRoLnJvdW5kKHQuciksZzpNYXRoLnJvdW5kKHQuZyksYjpNYXRoLnJvdW5kKHQuYil9fSxSR0JUb0hleD1mdW5jdGlvbih0KXt2YXIgbj1bdC5yLnRvU3RyaW5nKDE2KSx0LmcudG9TdHJpbmcoMTYpLHQuYi50b1N0cmluZygxNildO2UuZWFjaChuLGZ1bmN0aW9uKGUsdCl7aWYodC5sZW5ndGg9PT0xKXtuW2VdPSIwIit0fX0pO3JldHVybiBuLmpvaW4oIiIpfSxSR0JzdHJpbmdUb0hleD1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybigiMCIrcGFyc2VJbnQoZSwxMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMil9aWYoIWUpe3JldHVybiIjRkZGRkZGIn12YXIgdD1lLm1hdGNoKC9ecmdiXCgoXGQrKSxccyooXGQrKSxccyooXGQrKVwpJC8pO2lmKHQpe3JldHVybiIjIituKHRbMV0pK24odFsyXSkrbih0WzNdKX1lbHNle3JldHVybiBlfX0sSFNCVG9IZXg9ZnVuY3Rpb24oZSl7cmV0dXJuIFJHQlRvSGV4KEhTQlRvUkdCKGUpKX0scmVzdG9yZU9yaWdpbmFsPWZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKS5wYXJlbnQoKTt2YXIgbj10LmRhdGEoImNvbG9ycGlja2VyIikub3JpZ0NvbG9yO3QuZGF0YSgiY29sb3JwaWNrZXIiKS5jb2xvcj1uO2kobix0LmdldCgwKSk7byhuLHQuZ2V0KDApKTtzKG4sdC5nZXQoMCkpO3Uobix0LmdldCgwKSk7YShuLHQuZ2V0KDApKTtsKG4sdC5nZXQoMCkpfTtyZXR1cm57aW5pdDpmdW5jdGlvbih0KXt0PWUuZXh0ZW5kKHt9LHIsdHx8e30pO2lmKHR5cGVvZiB0LmNvbG9yPT0ic3RyaW5nIil7aWYodC5jb2xvci5zdWJzdHJpbmcoMCw0KT09InJnYigiKXt0LmNvbG9yPUhleFRvSFNCKFJHQnN0cmluZ1RvSGV4KHQuY29sb3IpKX1lbHNle3QuY29sb3I9SGV4VG9IU0IodC5jb2xvcil9fWVsc2UgaWYodC5jb2xvci5yIT09dW5kZWZpbmVkJiZ0LmNvbG9yLmchPT11bmRlZmluZWQmJnQuY29sb3IuYiE9PXVuZGVmaW5lZCl7dC5jb2xvcj1SR0JUb0hTQih0LmNvbG9yKX1lbHNlIGlmKHQuY29sb3IuaCE9PXVuZGVmaW5lZCYmdC5jb2xvci5zIT09dW5kZWZpbmVkJiZ0LmNvbG9yLmIhPT11bmRlZmluZWQpe3QuY29sb3I9Zml4SFNCKHQuY29sb3IpfWVsc2V7cmV0dXJuIHRoaXN9cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKCFlKHRoaXMpLmRhdGEoImNvbG9ycGlja2VySWQiKSl7dmFyIHI9ZS5leHRlbmQoe30sdCk7ci5vcmlnQ29sb3I9dC5jb2xvcjt2YXIgbSxnPTA7bT1lKCIjY29sb3JwaWNrZXJfIitnKS5sZW5ndGg9PT0wO3doaWxlKCFtKXtnPXBhcnNlSW50KE1hdGgucmFuZG9tKCkqMWU0KTttPWUoIiNjb2xvcnBpY2tlcl8iK2cpLmxlbmd0aD09PTB9dmFyIHk9ImNvbG9ycGlja2VyXyIrZztlKHRoaXMpLmRhdGEoImNvbG9ycGlja2VySWQiLHkpO3IucGFyZW50PWUodGhpcyk7dmFyIHc9ZShuKTt3LmF0dHIoImlkIix5KS5hdHRyKCJkYXRhLXBhcmVudCIsZSh0aGlzKS5hdHRyKCJpZCIpKTtpZihyLmZsYXQpe3cuYXBwZW5kVG8odGhpcykuc2hvdygpfWVsc2V7dy5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KX1yLmZpZWxkcz13LmZpbmQoImlucHV0Iikub24oImtleXVwIixjKS5vbigiY2hhbmdlIixoKS5vbigiYmx1ciIscCkub24oImZvY3VzIixkKTt3LmZpbmQoInNwYW4iKS5vbigibW91c2Vkb3duIix2KS5lbmQoKS5maW5kKCI+ZGl2LmNvbG9ycGlja2VyX2N1cnJlbnRfY29sb3IiKS5vbigiY2xpY2siLHJlc3RvcmVPcmlnaW5hbCk7ci5zZWxlY3Rvcj13LmZpbmQoImRpdi5jb2xvcnBpY2tlcl9jb2xvciIpLm9uKCJtb3VzZWRvd24iLGRvd25TZWxlY3Rvcik7ci5zZWxlY3RvckluZGljPXIuc2VsZWN0b3IuZmluZCgiZGl2IGRpdiIpO3IuZWw9dGhpcztyLmh1ZT13LmZpbmQoImRpdi5jb2xvcnBpY2tlcl9odWUgZGl2Iik7dy5maW5kKCJkaXYuY29sb3JwaWNrZXJfaHVlIikub24oIm1vdXNlZG93biIsYik7dy5maW5kKCJkaXYuY29sb3JwaWNrZXJfaHVlIikub24oIm1vdXNlZG93biIse2NhbDp3fSxTKTtyLm5ld0NvbG9yPXcuZmluZCgiZGl2LmNvbG9ycGlja2VyX25ld19jb2xvciIpO3IuY3VycmVudENvbG9yPXcuZmluZCgiZGl2LmNvbG9ycGlja2VyX2N1cnJlbnRfY29sb3IiKTt3LmRhdGEoImNvbG9ycGlja2VyIixyKTt3LmZpbmQoImRpdi5jb2xvcnBpY2tlcl9zdWJtaXQiKS5vbigibW91c2VlbnRlciIsZW50ZXJTdWJtaXQpLm9uKCJtb3VzZWxlYXZlIixsZWF2ZVN1Ym1pdCkub24oImNsaWNrIixjbGlja1N1Ym1pdCk7aShyLmNvbG9yLHcuZ2V0KDApKTtzKHIuY29sb3Isdy5nZXQoMCkpO28oci5jb2xvcix3LmdldCgwKSk7YShyLmNvbG9yLHcuZ2V0KDApKTt1KHIuY29sb3Isdy5nZXQoMCkpO2Yoci5jb2xvcix3LmdldCgwKSk7bChyLmNvbG9yLHcuZ2V0KDApKTtpZihyLmZsYXQpe3cuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLGRpc3BsYXk6ImJsb2NrIn0pfWVsc2V7ZSh0aGlzKS5vbihyLmV2ZW50TmFtZSxzaG93KX19fSl9LHNob3dQaWNrZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoZSh0aGlzKS5kYXRhKCJjb2xvcnBpY2tlcklkIikpe3Nob3cuYXBwbHkodGhpcyl9fSl9LGhpZGVQaWNrZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoZSh0aGlzKS5kYXRhKCJjb2xvcnBpY2tlcklkIikpe2UoIiMiK2UodGhpcykuZGF0YSgiY29sb3JwaWNrZXJJZCIpKS5oaWRlKCl9fSl9LHNldENvbG9yOmZ1bmN0aW9uKHQpe2lmKHR5cGVvZiB0PT0ic3RyaW5nIil7aWYodC5zdWJzdHJpbmcoMCw0KT09InJnYigiKXt0PUhleFRvSFNCKFJHQnN0cmluZ1RvSGV4KHQpKX1lbHNle3Q9SGV4VG9IU0IodCl9fWVsc2UgaWYodC5yIT09dW5kZWZpbmVkJiZ0LmchPT11bmRlZmluZWQmJnQuYiE9PXVuZGVmaW5lZCl7dD1SR0JUb0hTQih0KX1lbHNlIGlmKHQuaCE9PXVuZGVmaW5lZCYmdC5zIT09dW5kZWZpbmVkJiZ0LmIhPT11bmRlZmluZWQpe3Q9Zml4SFNCKHQpfWVsc2V7cmV0dXJuIHRoaXN9cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKGUodGhpcykuZGF0YSgiY29sb3JwaWNrZXJJZCIpKXt2YXIgbj1lKCIjIitlKHRoaXMpLmRhdGEoImNvbG9ycGlja2VySWQiKSk7bi5kYXRhKCJjb2xvcnBpY2tlciIpLmNvbG9yPXQ7bi5kYXRhKCJjb2xvcnBpY2tlciIpLm9yaWdDb2xvcj10O2kodCxuLmdldCgwKSk7cyh0LG4uZ2V0KDApKTtvKHQsbi5nZXQoMCkpO2EodCxuLmdldCgwKSk7dSh0LG4uZ2V0KDApKTtmKHQsbi5nZXQoMCkpO2wodCxuLmdldCgwKSl9fSl9fX0oKTtlLmZuLmV4dGVuZCh7Q29sb3JQaWNrZXI6dC5pbml0LENvbG9yUGlja2VySGlkZTp0LmhpZGVQaWNrZXIsQ29sb3JQaWNrZXJTaG93OnQuc2hvd1BpY2tlcixDb2xvclBpY2tlclNldENvbG9yOnQuc2V0Q29sb3J9KX0pKGpRdWVyeSk=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/jquery/images/grabber.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAoAAAAUCAYAAAC07qxWAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wMDhQNJWmCTWAAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAqElEQVQoz9WSQQqEMBRDX/4vegcPoO39T1IQRj2MnYW26Gx0O4EsmjwaCtUwDLxRMLNHyN0J7v4Idl1HCCE8gn3fvwMlvQfN3fn1PM+3M4CZGVfnnAFKzvmWK05Tm/gsC0C5TLbe9n2nehpHdAhJAKV2gSNoKqUACGC6rJnOVMC6rnW6AGXbttZZnZFEirHdVqdrZ0hcnVJCJxVjVM2VUnr3e/TzmH8Gvwp1LUPEIyV7AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/gradient_grabber.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAoAAAAUCAYAAAC07qxWAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wMDhQ1LunPKBMAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAjUlEQVQoz8WRSwrDMAxEn0LvaYhLCiZd5BCBGBov7ctKuKuG9AemBCoYEKNhxEiSUqo01MnMaBOqtgm12fFvqztT5RXzPL9xnZmxxxIjAEuMT3ynZuwxTRMigohwW9eNl+s41p/C5Jy3PoTwPcxlGAAQEUopG//x4GfvAfB9z2Muzrl67Geaf62HO7YK7xaqk63wWlRJAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/gradient_input.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAAUCAYAAABMDlehAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9wMDhQzJ8ZJNzEAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMElEQVQI12XIsQ0AIAwDQfszRvZfMZShiYSA5vS2MrOJCAEMZz61qoTtQbaw9H8XGzOmBLCgalg3AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/indic.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIwAJAJEAADk5OVtbW////wAAACH5BAEAAAIALAAAAAAjAAkAAAInTISpy50WwHG0imiAtFxF+W2dFWaaODYheE6pU37uC2vZTNdQ3hkFADs=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/overlay.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/select.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwALAJECAAAAAP///////wAAACH5BAEAAAIALAAAAAALAAsAAAIflINoG+AeGFgGxEaXxVns2X2dh4CZJXBadDxQlihGAQA7]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/select.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAD9SURBVFjD7dixCsIwEMbx/wvcVDvloA+gbm7q4ujri4hbXkTPJS1HVRAlNYUEviUE7gcpJXeYGX2ABlgCW+CQOdtUqyEtM6OHCLCZAPEuG0A86J+YAZUsNG7zCJyAG2CZc0u1jq5+A7B2G2cRsRCCdV2XNSEEExEDzq7+GmDvNu6qmh3TR1UNuLv6e0b3OBxO+iwRkaFO2vOG16B0MNeqoAqqoAqqoAqqoLmDint+fPxIq6BiQTHGckAxxiF/B3nMK9R8v6Ff2iD/n/kGVFyj+NRKT4FS1f4WLuNWejxsuE44bLiOhg2L8sYxRQ6s3EivBVbAbgLELtVq/UjvARmg3gqnVJW4AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/select2.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAAJcEhZcwAACxMAAAsTAQCanBgAAAD+SURBVFjD7ZixCsJADIbvBTrVToKLo3Zza7s49vVFpCCoWNBV6VrPBHIlnhZEuesVEviXo/T7IKVcohQrrXUMWUAyyNpxMmIhE9kvIhFk5UGiL8iOuNCQMp0Ub5M5LCEbSKvdV0uskvFjFErZwfZ2b/Spvur9oXYaZCALmYyfolDBDh7H88W5jAmykMn4hbL62D1M9k4K3204VJ1DrxCVchQREiEREiEREiERGrtQcNePry9pIhSs0HQ2D0cIZUwGF+Iyn6TG+w39Mwbx/8wvQsENim+jtA8pZFAXdvYobS8bKo/LhspaNkzCW8cEubBiYglkCck9SOTESvhK7wmSlbGJL7HzjAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/select3.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAsElEQVRIie2WQQoCIRSGf2NAvU51irqRB/BG3UB31bKjjM6mv01GDOEMpS7CDwTlPfh86IMnSB4AnFCfO4CbIMkQJ1wv56q27W4PrSRAks45jiGyFmOIdM6RJId0A60kAIga1WklmfabGoIcXdiFXdiFXfg7w3LKKpgLhjgVF8J7vyrv/9+wmtAY006YZJ+kxYVzyfxc7JcmrLXZ+KvCZ6/wm/XeZ0s0H4RFw1EfAI4PF/SwKPwNaWAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/select4.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAiUlEQVRIie3WMQ4CMQxE0R+0cs7CHgXOyznShausUzA0rJQK0TgSkqey0ry4iDJF0g14EJ8X0Isk+Rg8ew/VrvtONQNJaq3pcFdUDne11iRJ23mDagZQIrarZjrnSwTwLQkmmGCCCf4J6GOsBT9f3zpwToIJ/pT5WWzz4dyuIjCA5UW4LKz6APc3LB6aj3+TXXoAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/select_hue.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABEAAACWCAYAAAA42GOaAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wMDhA1JuAdCP0AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAABmUlEQVRo3t3ZUXKEIBAE0AYnqSCp5P5nyznQ2gQlH44XsPtjCg/wappFl9b08/U9bAw8vXpKSH/5c9hJIDnBgBXAcwTQIVWBFLCXx4mB1DCTFACJIMY9SQykKpACIBPIeceJgVQFUgAsBHLccWIgVYGU6xZ6/qi+49BI5ZETH9cv/XiXdNhGzwER0hTITu8SjxMDaQpkp58mHicG0hTITv/reJzJEPp8MiHCHYXnRE4CyQDstQAnsWVzBgyFz2OCugMTFC8VUgTbXlB3PE4MhO9MviY0soZB+M7kk9BIDTOJBOGLl68JjaxhEL54+ZrQyKpA3juH5A4D+MZjwKZA+Nrkk9BICzOJBOG7l68JjWxhEL57+SQ00sJMsgsOOdgUSAszyQ7BZ4hNgbQwk/Ddy97QcRJIRoYJmkokpCoQQfG64sRAqgIRFK8rTgykKhBB8briTIbQL7onROgPInGQqkCWF7AcxA3YARN0JiVCl+sJEfolTBykKRDB9yoTNJU5EbqqxEGaAuGLl8eJgTQBsv0alvG8NB0p4x/sttxDWgMgrQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/submit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABYAAAAsCAIAAADuN9+nAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAAJcEhZcwAACxMAAAsTAQCanBgAAAMdSURBVEjHrZRtSFNRHMb9OmGzD85edE7dfJmZKRiRL9gHFUxCyaIMTcu5KU3xXSKKHGOxWGoKvYgoy6SGQylRE4yiNCeWmIpRIEiKmFN0CpJOfbrDc8e8Qh92ejhw4d7/8/tw7jk/N4lEcpIiTN2NeRyjCFO3I3woQhBiihCE5ECiZOLCSM/GMEHHUX4HX9joISvyjDgllh2cJIjg/clM9DYphZP3U1efVG0/rN6+p1str59MqTZ5yTO9EzjDBHHcKVkXfXsfiayDVehS4rEcd1VQ3YKiHsoOa9H7Xp+aa77pzvMEEc4mOkZmbBVaZ8rx8wbMpehWo1kP/TNo3qBiEPIpa9600dMQK4tzVAgigk12oc+nscStXTnWSzD7ABMteNcOUx8MY6iZQaXVlrv98fRYrk+xo0IQIcHBe0tZJxhZzptB7gqqbbZmrPRiehgjP9C/tPN8a02LX/kYSlsuENQ5KgQRFBi4t6408z7YVAMomIBuFsZ1mHf+zO0ubGyMYr4TU7X4XIS+DNtVXrOjwiLYxDXxWm15L1DQDd0AjJMwz8Py24rvoxjqRG8tXhbhabotntfkqLA/NShob/lr+ZWWNDVy61BtgOEtzMNYGrGifxRtr9CghSYfynhLAF/rqHD34nCmV9RgWA6ySnDnAdpaMNKOJdMaDN9QY0KlBtlZCPUfPOJ1nbsXIWykkVKPBo8Ey6UsaEphVOOLHsv6NWjGUdGJHB1iL1j4ggapNMpRIQiZU0SpokON3nGLVZdhkuOrCsuqNSjGkfEasbcXPcSNIlGa8zxBhO6PKN5XoJaJe26emetK3lw4t7QZ3TfnV9wjCFeLxGc5w9wDzrxijr1UKvWTBQgTQwSKJPeyPPeCMkGyQhia5Bdgv2bMADPGPeBhTmE+h/wzzIDzPEGcoAj3mrkQO+I/6Dc2JuZ8SorLi6m7MQ8agzN1O4LG4ARBY3CCoDE4QdAYnCBoDE4QNAYnCBqDEwSNwQmCxuAsgsLg7E+lMDh3L1wwOIugMDhB0BicIGgMzj3gLhicIGgMThA0BudeMxdiR9Dr9y+Jh6E2kCgcnQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/ui-icons_222222_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/images/ui-icons_454545_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEVERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkRERkQfbf86AAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMM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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/jquery-ui-timepicker-addon.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiogalF1ZXJ5IHRpbWVwaWNrZXIgYWRkb24NCiogQnk6IFRyZW50IFJpY2hhcmRzb24gW2h0dHA6Ly90cmVudHJpY2hhcmRzb24uY29tXQ0KKiBWZXJzaW9uIDAuOS45DQoqIExhc3QgTW9kaWZpZWQ6IDAyLzA1LzIwMTINCiogDQoqIENvcHlyaWdodCAyMDEyIFRyZW50IFJpY2hhcmRzb24NCiogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuDQoqIGh0dHA6Ly90cmVudHJpY2hhcmRzb24uY29tL0ltcHJvbXB0dS9HUEwtTElDRU5TRS50eHQNCiogaHR0cDovL3RyZW50cmljaGFyZHNvbi5jb20vSW1wcm9tcHR1L01JVC1MSUNFTlNFLnR4dA0KKiANCiogSEVSRVMgVEhFIENTUzoNCiogLnVpLXRpbWVwaWNrZXItZGl2IC51aS13aWRnZXQtaGVhZGVyIHsgbWFyZ2luLWJvdHRvbTogOHB4OyB9DQoqIC51aS10aW1lcGlja2VyLWRpdiBkbCB7IHRleHQtYWxpZ246IGxlZnQ7IH0NCiogLnVpLXRpbWVwaWNrZXItZGl2IGRsIGR0IHsgaGVpZ2h0OiAyNXB4OyBtYXJnaW4tYm90dG9tOiAtMjVweDsgfQ0KKiAudWktdGltZXBpY2tlci1kaXYgZGwgZGQgeyBtYXJnaW46IDAgMTBweCAxMHB4IDY1cHg7IH0NCiogLnVpLXRpbWVwaWNrZXItZGl2IHRkIHsgZm9udC1zaXplOiA5MCU7IH0NCiogLnVpLXRwaWNrZXItZ3JpZC1sYWJlbCB7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogbm9uZTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9DQoqLw0KDQooZnVuY3Rpb24oJCkgew0KDQokLmV4dGVuZCgkLnVpLCB7IHRpbWVwaWNrZXI6IHsgdmVyc2lvbjogIjAuOS45IiB9IH0pOw0KDQovKiBUaW1lIHBpY2tlciBtYW5hZ2VyLg0KICAgVXNlIHRoZSBzaW5nbGV0b24gaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcywgJC50aW1lcGlja2VyLCB0byBpbnRlcmFjdCB3aXRoIHRoZSB0aW1lIHBpY2tlci4NCiAgIFNldHRpbmdzIGZvciAoZ3JvdXBzIG9mKSB0aW1lIHBpY2tlcnMgYXJlIG1haW50YWluZWQgaW4gYW4gaW5zdGFuY2Ugb2JqZWN0LA0KICAgYWxsb3dpbmcgbXVsdGlwbGUgZGlmZmVyZW50IHNldHRpbmdzIG9uIHRoZSBzYW1lIHBhZ2UuICovDQoNCmZ1bmN0aW9uIFRpbWVwaWNrZXIoKSB7DQoJdGhpcy5yZWdpb25hbCA9IFtdOyAvLyBBdmFpbGFibGUgcmVnaW9uYWwgc2V0dGluZ3MsIGluZGV4ZWQgYnkgbGFuZ3VhZ2UgY29kZQ0KCXRoaXMucmVnaW9uYWxbJyddID0geyAvLyBEZWZhdWx0IHJlZ2lvbmFsIHNldHRpbmdzDQoJCWN1cnJlbnRUZXh0OiAnTm93JywNCgkJY2xvc2VUZXh0OiAnRG9uZScsDQoJCWFtcG06IGZhbHNlLA0KCQlhbU5hbWVzOiBbJ0FNJywgJ0EnXSwNCgkJcG1OYW1lczogWydQTScsICdQJ10sDQoJCXRpbWVGb3JtYXQ6ICdoaDptbSB0dCcsDQoJCXRpbWVTdWZmaXg6ICcnLA0KCQl0aW1lT25seVRpdGxlOiAnQ2hvb3NlIFRpbWUnLA0KCQl0aW1lVGV4dDogJ1RpbWUnLA0KCQlob3VyVGV4dDogJ0hvdXInLA0KCQltaW51dGVUZXh0OiAnTWludXRlJywNCgkJc2Vjb25kVGV4dDogJ1NlY29uZCcsDQoJCW1pbGxpc2VjVGV4dDogJ01pbGxpc2Vjb25kJywNCgkJdGltZXpvbmVUZXh0OiAnVGltZSBab25lJw0KCX07DQoJdGhpcy5fZGVmYXVsdHMgPSB7IC8vIEdsb2JhbCBkZWZhdWx0cyBmb3IgYWxsIHRoZSBkYXRldGltZSBwaWNrZXIgaW5zdGFuY2VzDQoJCXNob3dCdXR0b25QYW5lbDogdHJ1ZSwNCgkJdGltZU9ubHk6IGZhbHNlLA0KCQlzaG93SG91cjogdHJ1ZSwNCgkJc2hvd01pbnV0ZTogdHJ1ZSwNCgkJc2hvd1NlY29uZDogZmFsc2UsDQoJCXNob3dNaWxsaXNlYzogZmFsc2UsDQoJCXNob3dUaW1lem9uZTogZmFsc2UsDQoJCXNob3dUaW1lOiB0cnVlLA0KCQlzdGVwSG91cjogMSwNCgkJc3RlcE1pbnV0ZTogMSwNCgkJc3RlcFNlY29uZDogMSwNCgkJc3RlcE1pbGxpc2VjOiAxLA0KCQlob3VyOiAwLA0KCQltaW51dGU6IDAsDQoJCXNlY29uZDogMCwNCgkJbWlsbGlzZWM6IDAsDQoJCXRpbWV6b25lOiAnKzAwMDAnLA0KCQlob3VyTWluOiAwLA0KCQltaW51dGVNaW46IDAsDQoJCXNlY29uZE1pbjogMCwNCgkJbWlsbGlzZWNNaW46IDAsDQoJCWhvdXJNYXg6IDIzLA0KCQltaW51dGVNYXg6IDU5LA0KCQlzZWNvbmRNYXg6IDU5LA0KCQltaWxsaXNlY01heDogOTk5LA0KCQltaW5EYXRlVGltZTogbnVsbCwNCgkJbWF4RGF0ZVRpbWU6IG51bGwsDQoJCW9uU2VsZWN0OiBudWxsLA0KCQlob3VyR3JpZDogMCwNCgkJbWludXRlR3JpZDogMCwNCgkJc2Vjb25kR3JpZDogMCwNCgkJbWlsbGlzZWNHcmlkOiAwLA0KCQlhbHdheXNTZXRUaW1lOiB0cnVlLA0KCQlzZXBhcmF0b3I6ICcgJywNCgkJYWx0RmllbGRUaW1lT25seTogdHJ1ZSwNCgkJc2hvd1RpbWVwaWNrZXI6IHRydWUsDQoJCXRpbWV6b25lSXNvODYwOTogZmFsc2UsDQoJCXRpbWV6b25lTGlzdDogbnVsbCwNCgkJYWRkU2xpZGVyQWNjZXNzOiBmYWxzZSwNCgkJc2xpZGVyQWNjZXNzQXJnczogbnVsbA0KCX07DQoJJC5leHRlbmQodGhpcy5fZGVmYXVsdHMsIHRoaXMucmVnaW9uYWxbJyddKTsNCn07DQoNCiQuZXh0ZW5kKFRpbWVwaWNrZXIucHJvdG90eXBlLCB7DQoJJGlucHV0OiBudWxsLA0KCSRhbHRJbnB1dDogbnVsbCwNCgkkdGltZU9iajogbnVsbCwNCglpbnN0OiBudWxsLA0KCWhvdXJfc2xpZGVyOiBudWxsLA0KCW1pbnV0ZV9zbGlkZXI6IG51bGwsDQoJc2Vjb25kX3NsaWRlcjogbnVsbCwNCgltaWxsaXNlY19zbGlkZXI6IG51bGwsDQoJdGltZXpvbmVfc2VsZWN0OiBudWxsLA0KCWhvdXI6IDAsDQoJbWludXRlOiAwLA0KCXNlY29uZDogMCwNCgltaWxsaXNlYzogMCwNCgl0aW1lem9uZTogJyswMDAwJywNCglob3VyTWluT3JpZ2luYWw6IG51bGwsDQoJbWludXRlTWluT3JpZ2luYWw6IG51bGwsDQoJc2Vjb25kTWluT3JpZ2luYWw6IG51bGwsDQoJbWlsbGlzZWNNaW5PcmlnaW5hbDogbnVsbCwNCglob3VyTWF4T3JpZ2luYWw6IG51bGwsDQoJbWludXRlTWF4T3JpZ2luYWw6IG51bGwsDQoJc2Vjb25kTWF4T3JpZ2luYWw6IG51bGwsDQoJbWlsbGlzZWNNYXhPcmlnaW5hbDogbnVsbCwNCglhbXBtOiAnJywNCglmb3JtYXR0ZWREYXRlOiAnJywNCglmb3JtYXR0ZWRUaW1lOiAnJywNCglmb3JtYXR0ZWREYXRlVGltZTogJycsDQoJdGltZXpvbmVMaXN0OiBudWxsLA0KDQoJLyogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGFsbCBpbnN0YW5jZXMgb2YgdGhlIHRpbWUgcGlja2VyLg0KCSAgIEBwYXJhbSAgc2V0dGluZ3MgIG9iamVjdCAtIHRoZSBuZXcgc2V0dGluZ3MgdG8gdXNlIGFzIGRlZmF1bHRzIChhbm9ueW1vdXMgb2JqZWN0KQ0KCSAgIEByZXR1cm4gdGhlIG1hbmFnZXIgb2JqZWN0ICovDQoJc2V0RGVmYXVsdHM6IGZ1bmN0aW9uKHNldHRpbmdzKSB7DQoJCWV4dGVuZFJlbW92ZSh0aGlzLl9kZWZhdWx0cywgc2V0dGluZ3MgfHwge30pOw0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkvLyBDcmVhdGUgYSBuZXcgVGltZXBpY2tlciBpbnN0YW5jZQ0KCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoJX25ld0luc3Q6IGZ1bmN0aW9uKCRpbnB1dCwgbykgew0KCQl2YXIgdHBfaW5zdCA9IG5ldyBUaW1lcGlja2VyKCksDQoJCQlpbmxpbmVTZXR0aW5ncyA9IHt9Ow0KCQkJDQoJCWZvciAodmFyIGF0dHJOYW1lIGluIHRoaXMuX2RlZmF1bHRzKSB7DQoJCQl2YXIgYXR0clZhbHVlID0gJGlucHV0LmF0dHIoJ3RpbWU6JyArIGF0dHJOYW1lKTsNCgkJCWlmIChhdHRyVmFsdWUpIHsNCgkJCQl0cnkgew0KCQkJCQlpbmxpbmVTZXR0aW5nc1thdHRyTmFtZV0gPSBldmFsKGF0dHJWYWx1ZSk7DQoJCQkJfSBjYXRjaCAoZXJyKSB7DQoJCQkJCWlubGluZVNldHRpbmdzW2F0dHJOYW1lXSA9IGF0dHJWYWx1ZTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJdHBfaW5zdC5fZGVmYXVsdHMgPSAkLmV4dGVuZCh7fSwgdGhpcy5fZGVmYXVsdHMsIGlubGluZVNldHRpbmdzLCBvLCB7DQoJCQliZWZvcmVTaG93OiBmdW5jdGlvbihpbnB1dCwgZHBfaW5zdCkgew0KCQkJCWlmICgkLmlzRnVuY3Rpb24oby5iZWZvcmVTaG93KSkNCgkJCQkJcmV0dXJuIG8uYmVmb3JlU2hvdyhpbnB1dCwgZHBfaW5zdCwgdHBfaW5zdCk7DQoJCQl9LA0KCQkJb25DaGFuZ2VNb250aFllYXI6IGZ1bmN0aW9uKHllYXIsIG1vbnRoLCBkcF9pbnN0KSB7DQoJCQkJLy8gVXBkYXRlIHRoZSB0aW1lIGFzIHdlbGwgOiB0aGlzIHByZXZlbnRzIHRoZSB0aW1lIGZyb20gZGlzYXBwZWFyaW5nIGZyb20gdGhlICRpbnB1dCBmaWVsZC4NCgkJCQl0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShkcF9pbnN0KTsNCgkJCQlpZiAoJC5pc0Z1bmN0aW9uKG8ub25DaGFuZ2VNb250aFllYXIpKQ0KCQkJCQlvLm9uQ2hhbmdlTW9udGhZZWFyLmNhbGwoJGlucHV0WzBdLCB5ZWFyLCBtb250aCwgZHBfaW5zdCwgdHBfaW5zdCk7DQoJCQl9LA0KCQkJb25DbG9zZTogZnVuY3Rpb24oZGF0ZVRleHQsIGRwX2luc3QpIHsNCgkJCQlpZiAodHBfaW5zdC50aW1lRGVmaW5lZCA9PT0gdHJ1ZSAmJiAkaW5wdXQudmFsKCkgIT0gJycpDQoJCQkJCXRwX2luc3QuX3VwZGF0ZURhdGVUaW1lKGRwX2luc3QpOw0KCQkJCWlmICgkLmlzRnVuY3Rpb24oby5vbkNsb3NlKSkNCgkJCQkJby5vbkNsb3NlLmNhbGwoJGlucHV0WzBdLCBkYXRlVGV4dCwgZHBfaW5zdCwgdHBfaW5zdCk7DQoJCQl9LA0KCQkJdGltZXBpY2tlcjogdHBfaW5zdCAvLyBhZGQgdGltZXBpY2tlciBhcyBhIHByb3BlcnR5IG9mIGRhdGVwaWNrZXI6ICQuZGF0ZXBpY2tlci5fZ2V0KGRwX2luc3QsICd0aW1lcGlja2VyJyk7DQoJCX0pOw0KCQl0cF9pbnN0LmFtTmFtZXMgPSAkLm1hcCh0cF9pbnN0Ll9kZWZhdWx0cy5hbU5hbWVzLCBmdW5jdGlvbih2YWwpIHsgcmV0dXJuIHZhbC50b1VwcGVyQ2FzZSgpIH0pOw0KCQl0cF9pbnN0LnBtTmFtZXMgPSAkLm1hcCh0cF9pbnN0Ll9kZWZhdWx0cy5wbU5hbWVzLCBmdW5jdGlvbih2YWwpIHsgcmV0dXJuIHZhbC50b1VwcGVyQ2FzZSgpIH0pOw0KDQoJCWlmICh0cF9pbnN0Ll9kZWZhdWx0cy50aW1lem9uZUxpc3QgPT09IG51bGwpIHsNCgkJCXZhciB0aW1lem9uZUxpc3QgPSBbXTsNCgkJCWZvciAodmFyIGkgPSAtMTE7IGkgPD0gMTI7IGkrKykNCgkJCQl0aW1lem9uZUxpc3QucHVzaCgoaSA+PSAwID8gJysnIDogJy0nKSArICgnMCcgKyBNYXRoLmFicyhpKS50b1N0cmluZygpKS5zbGljZSgtMikgKyAnMDAnKTsNCgkJCWlmICh0cF9pbnN0Ll9kZWZhdWx0cy50aW1lem9uZUlzbzg2MDkpDQoJCQkJdGltZXpvbmVMaXN0ID0gJC5tYXAodGltZXpvbmVMaXN0LCBmdW5jdGlvbih2YWwpIHsNCgkJCQkJcmV0dXJuIHZhbCA9PSAnKzAwMDAnID8gJ1onIDogKHZhbC5zdWJzdHJpbmcoMCwgMykgKyAnOicgKyB2YWwuc3Vic3RyaW5nKDMpKTsNCgkJCQl9KTsNCgkJCXRwX2luc3QuX2RlZmF1bHRzLnRpbWV6b25lTGlzdCA9IHRpbWV6b25lTGlzdDsNCgkJfQ0KDQoJCXRwX2luc3QuaG91ciA9IHRwX2luc3QuX2RlZmF1bHRzLmhvdXI7DQoJCXRwX2luc3QubWludXRlID0gdHBfaW5zdC5fZGVmYXVsdHMubWludXRlOw0KCQl0cF9pbnN0LnNlY29uZCA9IHRwX2luc3QuX2RlZmF1bHRzLnNlY29uZDsNCgkJdHBfaW5zdC5taWxsaXNlYyA9IHRwX2luc3QuX2RlZmF1bHRzLm1pbGxpc2VjOw0KCQl0cF9pbnN0LmFtcG0gPSAnJzsNCgkJdHBfaW5zdC4kaW5wdXQgPSAkaW5wdXQ7DQoNCgkJaWYgKG8uYWx0RmllbGQpDQoJCQl0cF9pbnN0LiRhbHRJbnB1dCA9ICQoby5hbHRGaWVsZCkNCgkJCQkuY3NzKHsgY3Vyc29yOiAncG9pbnRlcicgfSkNCgkJCQkuZm9jdXMoZnVuY3Rpb24oKXsgJGlucHV0LnRyaWdnZXIoImZvY3VzIik7IH0pOw0KCQkNCgkJaWYodHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZT09MCB8fCB0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlVGltZT09MCkNCgkJew0KCQkJdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZT1uZXcgRGF0ZSgpOw0KCQl9DQoJCWlmKHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGU9PTAgfHwgdHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZVRpbWU9PTApDQoJCXsNCgkJCXRwX2luc3QuX2RlZmF1bHRzLm1heERhdGU9bmV3IERhdGUoKTsNCgkJfQ0KCQkNCgkJLy8gZGF0ZXBpY2tlciBuZWVkcyBtaW5EYXRlL21heERhdGUsIHRpbWVwaWNrZXIgbmVlZHMgbWluRGF0ZVRpbWUvbWF4RGF0ZVRpbWUuLg0KCQlpZih0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZSBpbnN0YW5jZW9mIERhdGUpDQoJCQl0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlVGltZSA9IG5ldyBEYXRlKHRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGUuZ2V0VGltZSgpKTsNCgkJaWYodHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUgIT09IHVuZGVmaW5lZCAmJiB0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlVGltZSBpbnN0YW5jZW9mIERhdGUpDQoJCQl0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlID0gbmV3IERhdGUodHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUuZ2V0VGltZSgpKTsNCgkJaWYodHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZSAhPT0gdW5kZWZpbmVkICYmIHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGUgaW5zdGFuY2VvZiBEYXRlKQ0KCQkJdHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZVRpbWUgPSBuZXcgRGF0ZSh0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlLmdldFRpbWUoKSk7DQoJCWlmKHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGVUaW1lICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZVRpbWUgaW5zdGFuY2VvZiBEYXRlKQ0KCQkJdHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZSA9IG5ldyBEYXRlKHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGVUaW1lLmdldFRpbWUoKSk7DQoJCXJldHVybiB0cF9pbnN0Ow0KCX0sDQoNCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCS8vIGFkZCBvdXIgc2xpZGVycyB0byB0aGUgY2FsZW5kYXINCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCV9hZGRUaW1lUGlja2VyOiBmdW5jdGlvbihkcF9pbnN0KSB7DQoJCXZhciBjdXJyRFQgPSAodGhpcy4kYWx0SW5wdXQgJiYgdGhpcy5fZGVmYXVsdHMuYWx0RmllbGRUaW1lT25seSkgPw0KCQkJCXRoaXMuJGlucHV0LnZhbCgpICsgJyAnICsgdGhpcy4kYWx0SW5wdXQudmFsKCkgOiANCgkJCQl0aGlzLiRpbnB1dC52YWwoKTsNCg0KCQl0aGlzLnRpbWVEZWZpbmVkID0gdGhpcy5fcGFyc2VUaW1lKGN1cnJEVCk7DQoJCXRoaXMuX2xpbWl0TWluTWF4RGF0ZVRpbWUoZHBfaW5zdCwgZmFsc2UpOw0KCQl0aGlzLl9pbmplY3RUaW1lUGlja2VyKCk7DQoJfSwNCg0KCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoJLy8gcGFyc2UgdGhlIHRpbWUgc3RyaW5nIGZyb20gaW5wdXQgdmFsdWUgb3IgX3NldFRpbWUNCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCV9wYXJzZVRpbWU6IGZ1bmN0aW9uKHRpbWVTdHJpbmcsIHdpdGhEYXRlKSB7DQoJCXZhciByZWdzdHIgPSB0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0LnRvU3RyaW5nKCkNCgkJCQkucmVwbGFjZSgvaHsxLDJ9L2lnLCAnKFxcZD9cXGQpJykNCgkJCQkucmVwbGFjZSgvbXsxLDJ9L2lnLCAnKFxcZD9cXGQpJykNCgkJCQkucmVwbGFjZSgvc3sxLDJ9L2lnLCAnKFxcZD9cXGQpJykNCgkJCQkucmVwbGFjZSgvbHsxfS9pZywgJyhcXGQ/XFxkP1xcZCknKQ0KCQkJCS5yZXBsYWNlKC90ezEsMn0vaWcsIHRoaXMuX2dldFBhdHRlcm5BbXBtKCkpDQoJCQkJLnJlcGxhY2UoL3p7MX0vaWcsICcoenxbLStdXFxkXFxkOj9cXGRcXGQpPycpDQoJCQkJLnJlcGxhY2UoL1xzL2csICdcXHM/JykgKyB0aGlzLl9kZWZhdWx0cy50aW1lU3VmZml4ICsgJyQnLA0KCQkJb3JkZXIgPSB0aGlzLl9nZXRGb3JtYXRQb3NpdGlvbnMoKSwNCgkJCWFtcG0gPSAnJywNCgkJCXRyZWc7DQoNCgkJaWYgKCF0aGlzLmluc3QpIHRoaXMuaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0SW5zdCh0aGlzLiRpbnB1dFswXSk7DQoNCgkJaWYgKHdpdGhEYXRlIHx8ICF0aGlzLl9kZWZhdWx0cy50aW1lT25seSkgew0KCQkJLy8gdGhlIHRpbWUgc2hvdWxkIGNvbWUgYWZ0ZXIgeCBudW1iZXIgb2YgY2hhcmFjdGVycyBhbmQgYSBzcGFjZS4NCgkJCS8vIHggPSBhdCBsZWFzdCB0aGUgbGVuZ3RoIG9mIHRleHQgc3BlY2lmaWVkIGJ5IHRoZSBkYXRlIGZvcm1hdA0KCQkJdmFyIGRwX2RhdGVGb3JtYXQgPSAkLmRhdGVwaWNrZXIuX2dldCh0aGlzLmluc3QsICdkYXRlRm9ybWF0Jyk7DQoJCQkvLyBlc2NhcGUgc3BlY2lhbCByZWdleCBjaGFyYWN0ZXJzIGluIHRoZSBzZXBlcmF0b3INCgkJCXZhciBzcGVjaWFscyA9IG5ldyBSZWdFeHAoIlsuKis/fCgpXFxbXFxde31cXFxcXSIsICJnIik7DQoJCQlyZWdzdHIgPSAnXi57JyArIGRwX2RhdGVGb3JtYXQubGVuZ3RoICsgJyx9PycgKyB0aGlzLl9kZWZhdWx0cy5zZXBhcmF0b3IucmVwbGFjZShzcGVjaWFscywgIlxcJCYiKSArIHJlZ3N0cjsNCgkJfQ0KCQkNCgkJdHJlZyA9IHRpbWVTdHJpbmcubWF0Y2gobmV3IFJlZ0V4cChyZWdzdHIsICdpJykpOw0KDQoJCWlmICh0cmVnKSB7DQoJCQlpZiAob3JkZXIudCAhPT0gLTEpIHsNCgkJCQlpZiAodHJlZ1tvcmRlci50XSA9PT0gdW5kZWZpbmVkIHx8IHRyZWdbb3JkZXIudF0ubGVuZ3RoID09PSAwKSB7DQoJCQkJCWFtcG0gPSAnJzsNCgkJCQkJdGhpcy5hbXBtID0gJyc7DQoJCQkJfSBlbHNlIHsNCgkJCQkJYW1wbSA9ICQuaW5BcnJheSh0cmVnW29yZGVyLnRdLnRvVXBwZXJDYXNlKCksIHRoaXMuYW1OYW1lcykgIT09IC0xID8gJ0FNJyA6ICdQTSc7DQoJCQkJCXRoaXMuYW1wbSA9IHRoaXMuX2RlZmF1bHRzW2FtcG0gPT0gJ0FNJyA/ICdhbU5hbWVzJyA6ICdwbU5hbWVzJ11bMF07DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAob3JkZXIuaCAhPT0gLTEpIHsNCgkJCQlpZiAoYW1wbSA9PSAnQU0nICYmIHRyZWdbb3JkZXIuaF0gPT0gJzEyJykNCgkJCQkJdGhpcy5ob3VyID0gMDsgLy8gMTJhbSA9IDAgaG91cg0KCQkJCWVsc2UgaWYgKGFtcG0gPT0gJ1BNJyAmJiB0cmVnW29yZGVyLmhdICE9ICcxMicpDQoJCQkJCXRoaXMuaG91ciA9IChwYXJzZUZsb2F0KHRyZWdbb3JkZXIuaF0pICsgMTIpLnRvRml4ZWQoMCk7IC8vIDEycG0gPSAxMiBob3VyLCBhbnkgb3RoZXIgcG0gPSBob3VyICsgMTINCgkJCQllbHNlIHRoaXMuaG91ciA9IE51bWJlcih0cmVnW29yZGVyLmhdKTsNCgkJCX0NCg0KCQkJaWYgKG9yZGVyLm0gIT09IC0xKSB0aGlzLm1pbnV0ZSA9IE51bWJlcih0cmVnW29yZGVyLm1dKTsNCgkJCWlmIChvcmRlci5zICE9PSAtMSkgdGhpcy5zZWNvbmQgPSBOdW1iZXIodHJlZ1tvcmRlci5zXSk7DQoJCQlpZiAob3JkZXIubCAhPT0gLTEpIHRoaXMubWlsbGlzZWMgPSBOdW1iZXIodHJlZ1tvcmRlci5sXSk7DQoJCQlpZiAob3JkZXIueiAhPT0gLTEgJiYgdHJlZ1tvcmRlci56XSAhPT0gdW5kZWZpbmVkKSB7DQoJCQkJdmFyIHR6ID0gdHJlZ1tvcmRlci56XS50b1VwcGVyQ2FzZSgpOw0KCQkJCXN3aXRjaCAodHoubGVuZ3RoKSB7DQoJCQkJY2FzZSAxOgkvLyBaDQoJCQkJCXR6ID0gdGhpcy5fZGVmYXVsdHMudGltZXpvbmVJc284NjA5ID8gJ1onIDogJyswMDAwJzsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSA1OgkvLyAraGhtbQ0KCQkJCQlpZiAodGhpcy5fZGVmYXVsdHMudGltZXpvbmVJc284NjA5KQ0KCQkJCQkJdHogPSB0ei5zdWJzdHJpbmcoMSkgPT0gJzAwMDAnDQoJCQkJCQkgICA/ICdaJw0KCQkJCQkJICAgOiB0ei5zdWJzdHJpbmcoMCwgMykgKyAnOicgKyB0ei5zdWJzdHJpbmcoMyk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgNjoJLy8gK2hoOm1tDQoJCQkJCWlmICghdGhpcy5fZGVmYXVsdHMudGltZXpvbmVJc284NjA5KQ0KCQkJCQkJdHogPSB0eiA9PSAnWicgfHwgdHouc3Vic3RyaW5nKDEpID09ICcwMDowMCcNCgkJCQkJCSAgID8gJyswMDAwJw0KCQkJCQkJICAgOiB0ei5yZXBsYWNlKC86LywgJycpOw0KCQkJCQllbHNlIGlmICh0ei5zdWJzdHJpbmcoMSkgPT0gJzAwOjAwJykNCgkJCQkJCXR6ID0gJ1onOw0KCQkJCQlicmVhazsNCgkJCQl9DQoJCQkJdGhpcy50aW1lem9uZSA9IHR6Ow0KCQkJfQ0KCQkJDQoJCQlyZXR1cm4gdHJ1ZTsNCg0KCQl9DQoJCXJldHVybiBmYWxzZTsNCgl9LA0KDQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkvLyBwYXR0ZXJuIGZvciBzdGFuZGFyZCBhbmQgbG9jYWxpemVkIEFNL1BNIG1hcmtlcnMNCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCV9nZXRQYXR0ZXJuQW1wbTogZnVuY3Rpb24oKSB7DQoJCXZhciBtYXJrZXJzID0gW107DQoJCQlvID0gdGhpcy5fZGVmYXVsdHM7DQoJCWlmIChvLmFtTmFtZXMpDQoJCQkkLm1lcmdlKG1hcmtlcnMsIG8uYW1OYW1lcyk7DQoJCWlmIChvLnBtTmFtZXMpDQoJCQkkLm1lcmdlKG1hcmtlcnMsIG8ucG1OYW1lcyk7DQoJCW1hcmtlcnMgPSAkLm1hcChtYXJrZXJzLCBmdW5jdGlvbih2YWwpIHsgcmV0dXJuIHZhbC5yZXBsYWNlKC9bLiorP3woKVxbXF17fVxcXS9nLCAnXFwkJicpIH0pOw0KCQlyZXR1cm4gJygnICsgbWFya2Vycy5qb2luKCd8JykgKyAnKT8nOw0KCX0sDQoNCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCS8vIGZpZ3VyZSBvdXQgcG9zaXRpb24gb2YgdGltZSBlbGVtZW50cy4uIGNhdXNlIGpzIGNhbnQgZG8gbmFtZWQgY2FwdHVyZXMNCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCV9nZXRGb3JtYXRQb3NpdGlvbnM6IGZ1bmN0aW9uKCkgew0KCQl2YXIgZmluZHMgPSB0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhoezEsMn18bXsxLDJ9fHN7MSwyfXxsezF9fHR7MSwyfXx6KS9nKSwNCgkJCW9yZGVycyA9IHsgaDogLTEsIG06IC0xLCBzOiAtMSwgbDogLTEsIHQ6IC0xLCB6OiAtMSB9Ow0KDQoJCWlmIChmaW5kcykNCgkJCWZvciAodmFyIGkgPSAwOyBpIDwgZmluZHMubGVuZ3RoOyBpKyspDQoJCQkJaWYgKG9yZGVyc1tmaW5kc1tpXS50b1N0cmluZygpLmNoYXJBdCgwKV0gPT0gLTEpDQoJCQkJCW9yZGVyc1tmaW5kc1tpXS50b1N0cmluZygpLmNoYXJBdCgwKV0gPSBpICsgMTsNCg0KCQlyZXR1cm4gb3JkZXJzOw0KCX0sDQoNCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCS8vIGdlbmVyYXRlIGFuZCBpbmplY3QgaHRtbCBmb3IgdGltZXBpY2tlciBpbnRvIHVpIGRhdGVwaWNrZXINCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCV9pbmplY3RUaW1lUGlja2VyOiBmdW5jdGlvbigpIHsNCgkJdmFyICRkcCA9IHRoaXMuaW5zdC5kcERpdiwNCgkJCW8gPSB0aGlzLl9kZWZhdWx0cywNCgkJCXRwX2luc3QgPSB0aGlzLA0KCQkJLy8gQWRkZWQgYnkgUGV0ZXIgTWVkZWlyb3M6DQoJCQkvLyAtIEZpZ3VyZSBvdXQgd2hhdCB0aGUgaG91ci9taW51dGUvc2Vjb25kIG1heCBzaG91bGQgYmUgYmFzZWQgb24gdGhlIHN0ZXAgdmFsdWVzLg0KCQkJLy8gLSBFeGFtcGxlOiBpZiBzdGVwTWludXRlIGlzIDE1LCB0aGVuIG1pbk1heCBpcyA0NS4NCgkJCWhvdXJNYXggPSBwYXJzZUludCgoby5ob3VyTWF4IC0gKChvLmhvdXJNYXggLSBvLmhvdXJNaW4pICUgby5zdGVwSG91cikpICwxMCksDQoJCQltaW5NYXggID0gcGFyc2VJbnQoKG8ubWludXRlTWF4IC0gKChvLm1pbnV0ZU1heCAtIG8ubWludXRlTWluKSAlIG8uc3RlcE1pbnV0ZSkpICwxMCksDQoJCQlzZWNNYXggID0gcGFyc2VJbnQoKG8uc2Vjb25kTWF4IC0gKChvLnNlY29uZE1heCAtIG8uc2Vjb25kTWluKSAlIG8uc3RlcFNlY29uZCkpICwxMCksDQoJCQltaWxsaXNlY01heCAgPSBwYXJzZUludCgoby5taWxsaXNlY01heCAtICgoby5taWxsaXNlY01heCAtIG8ubWlsbGlzZWNNaW4pICUgby5zdGVwTWlsbGlzZWMpKSAsMTApLA0KCQkJZHBfaWQgPSB0aGlzLmluc3QuaWQudG9TdHJpbmcoKS5yZXBsYWNlKC8oW15BLVphLXowLTlfXSkvZywgJycpOw0KDQoJCS8vIFByZXZlbnQgZGlzcGxheWluZyB0d2ljZQ0KCQkvL2lmICgkZHAuZmluZCgiZGl2I3VpLXRpbWVwaWNrZXItZGl2LSIrIGRwX2lkKS5sZW5ndGggPT09IDApIHsNCgkJaWYgKCRkcC5maW5kKCJkaXYjdWktdGltZXBpY2tlci1kaXYtIisgZHBfaWQpLmxlbmd0aCA9PT0gMCAmJiBvLnNob3dUaW1lcGlja2VyKSB7DQoJCQl2YXIgbm9EaXNwbGF5ID0gJyBzdHlsZT0iZGlzcGxheTpub25lOyInLA0KCQkJCWh0bWwgPQknPGRpdiBjbGFzcz0idWktdGltZXBpY2tlci1kaXYiIGlkPSJ1aS10aW1lcGlja2VyLWRpdi0nICsgZHBfaWQgKyAnIj48ZGw+JyArDQoJCQkJCQknPGR0IGNsYXNzPSJ1aV90cGlja2VyX3RpbWVfbGFiZWwiIGlkPSJ1aV90cGlja2VyX3RpbWVfbGFiZWxfJyArIGRwX2lkICsgJyInICsNCgkJCQkJCSgoby5zaG93VGltZSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPicgKyBvLnRpbWVUZXh0ICsgJzwvZHQ+JyArDQoJCQkJCQknPGRkIGNsYXNzPSJ1aV90cGlja2VyX3RpbWUiIGlkPSJ1aV90cGlja2VyX3RpbWVfJyArIGRwX2lkICsgJyInICsNCgkJCQkJCSgoby5zaG93VGltZSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPjwvZGQ+JyArDQoJCQkJCQknPGR0IGNsYXNzPSJ1aV90cGlja2VyX2hvdXJfbGFiZWwiIGlkPSJ1aV90cGlja2VyX2hvdXJfbGFiZWxfJyArIGRwX2lkICsgJyInICsNCgkJCQkJCSgoby5zaG93SG91cikgPyAnJyA6IG5vRGlzcGxheSkgKyAnPicgKyBvLmhvdXJUZXh0ICsgJzwvZHQ+JywNCgkJCQlob3VyR3JpZFNpemUgPSAwLA0KCQkJCW1pbnV0ZUdyaWRTaXplID0gMCwNCgkJCQlzZWNvbmRHcmlkU2l6ZSA9IDAsDQoJCQkJbWlsbGlzZWNHcmlkU2l6ZSA9IDAsDQoJCQkJc2l6ZTsNCg0KIAkJCS8vIEhvdXJzDQoJCQlodG1sICs9ICc8ZGQgY2xhc3M9InVpX3RwaWNrZXJfaG91ciI+PGRpdiBpZD0idWlfdHBpY2tlcl9ob3VyXycgKyBkcF9pZCArICciJyArDQoJCQkJCQkoKG8uc2hvd0hvdXIpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2Rpdj4nOw0KCQkJaWYgKG8uc2hvd0hvdXIgJiYgby5ob3VyR3JpZCA+IDApIHsNCgkJCQlodG1sICs9ICc8ZGl2IHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDFweCI+PHRhYmxlIGNsYXNzPSJ1aS10cGlja2VyLWdyaWQtbGFiZWwiPjx0cj4nOw0KDQoJCQkJZm9yICh2YXIgaCA9IG8uaG91ck1pbjsgaCA8PSBob3VyTWF4OyBoICs9IHBhcnNlSW50KG8uaG91ckdyaWQsMTApKSB7DQoJCQkJCWhvdXJHcmlkU2l6ZSsrOw0KCQkJCQl2YXIgdG1waCA9IChvLmFtcG0gJiYgaCA+IDEyKSA/IGgtMTIgOiBoOw0KCQkJCQlpZiAodG1waCA8IDEwKSB0bXBoID0gJzAnICsgdG1waDsNCgkJCQkJaWYgKG8uYW1wbSkgew0KCQkJCQkJaWYgKGggPT0gMCkgdG1waCA9IDEyICsnYSc7DQoJCQkJCQllbHNlIGlmIChoIDwgMTIpIHRtcGggKz0gJ2EnOw0KCQkJCQkJZWxzZSB0bXBoICs9ICdwJzsNCgkJCQkJfQ0KCQkJCQlodG1sICs9ICc8dGQ+JyArIHRtcGggKyAnPC90ZD4nOw0KCQkJCX0NCg0KCQkJCWh0bWwgKz0gJzwvdHI+PC90YWJsZT48L2Rpdj4nOw0KCQkJfQ0KCQkJaHRtbCArPSAnPC9kZD4nOw0KDQoJCQkvLyBNaW51dGVzDQoJCQlodG1sICs9ICc8ZHQgY2xhc3M9InVpX3RwaWNrZXJfbWludXRlX2xhYmVsIiBpZD0idWlfdHBpY2tlcl9taW51dGVfbGFiZWxfJyArIGRwX2lkICsgJyInICsNCgkJCQkJKChvLnNob3dNaW51dGUpID8gJycgOiBub0Rpc3BsYXkpICsgJz4nICsgby5taW51dGVUZXh0ICsgJzwvZHQ+JysNCgkJCQkJJzxkZCBjbGFzcz0idWlfdHBpY2tlcl9taW51dGUiPjxkaXYgaWQ9InVpX3RwaWNrZXJfbWludXRlXycgKyBkcF9pZCArICciJyArDQoJCQkJCQkJKChvLnNob3dNaW51dGUpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2Rpdj4nOw0KDQoJCQlpZiAoby5zaG93TWludXRlICYmIG8ubWludXRlR3JpZCA+IDApIHsNCgkJCQlodG1sICs9ICc8ZGl2IHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDFweCI+PHRhYmxlIGNsYXNzPSJ1aS10cGlja2VyLWdyaWQtbGFiZWwiPjx0cj4nOw0KDQoJCQkJZm9yICh2YXIgbSA9IG8ubWludXRlTWluOyBtIDw9IG1pbk1heDsgbSArPSBwYXJzZUludChvLm1pbnV0ZUdyaWQsMTApKSB7DQoJCQkJCW1pbnV0ZUdyaWRTaXplKys7DQoJCQkJCWh0bWwgKz0gJzx0ZD4nICsgKChtIDwgMTApID8gJzAnIDogJycpICsgbSArICc8L3RkPic7DQoJCQkJfQ0KDQoJCQkJaHRtbCArPSAnPC90cj48L3RhYmxlPjwvZGl2Pic7DQoJCQl9DQoJCQlodG1sICs9ICc8L2RkPic7DQoNCgkJCS8vIFNlY29uZHMNCgkJCWh0bWwgKz0gJzxkdCBjbGFzcz0idWlfdHBpY2tlcl9zZWNvbmRfbGFiZWwiIGlkPSJ1aV90cGlja2VyX3NlY29uZF9sYWJlbF8nICsgZHBfaWQgKyAnIicgKw0KCQkJCQkoKG8uc2hvd1NlY29uZCkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPicgKyBvLnNlY29uZFRleHQgKyAnPC9kdD4nKw0KCQkJCQknPGRkIGNsYXNzPSJ1aV90cGlja2VyX3NlY29uZCI+PGRpdiBpZD0idWlfdHBpY2tlcl9zZWNvbmRfJyArIGRwX2lkICsgJyInKw0KCQkJCQkJCSgoby5zaG93U2Vjb25kKSA/ICcnIDogbm9EaXNwbGF5KSArICc+PC9kaXY+JzsNCg0KCQkJaWYgKG8uc2hvd1NlY29uZCAmJiBvLnNlY29uZEdyaWQgPiAwKSB7DQoJCQkJaHRtbCArPSAnPGRpdiBzdHlsZT0icGFkZGluZy1sZWZ0OiAxcHgiPjx0YWJsZT48dHI+JzsNCg0KCQkJCWZvciAodmFyIHMgPSBvLnNlY29uZE1pbjsgcyA8PSBzZWNNYXg7IHMgKz0gcGFyc2VJbnQoby5zZWNvbmRHcmlkLDEwKSkgew0KCQkJCQlzZWNvbmRHcmlkU2l6ZSsrOw0KCQkJCQlodG1sICs9ICc8dGQ+JyArICgocyA8IDEwKSA/ICcwJyA6ICcnKSArIHMgKyAnPC90ZD4nOw0KCQkJCX0NCg0KCQkJCWh0bWwgKz0gJzwvdHI+PC90YWJsZT48L2Rpdj4nOw0KCQkJfQ0KCQkJaHRtbCArPSAnPC9kZD4nOw0KDQoJCQkvLyBNaWxsaXNlY29uZHMNCgkJCWh0bWwgKz0gJzxkdCBjbGFzcz0idWlfdHBpY2tlcl9taWxsaXNlY19sYWJlbCIgaWQ9InVpX3RwaWNrZXJfbWlsbGlzZWNfbGFiZWxfJyArIGRwX2lkICsgJyInICsNCgkJCQkJKChvLnNob3dNaWxsaXNlYykgPyAnJyA6IG5vRGlzcGxheSkgKyAnPicgKyBvLm1pbGxpc2VjVGV4dCArICc8L2R0PicrDQoJCQkJCSc8ZGQgY2xhc3M9InVpX3RwaWNrZXJfbWlsbGlzZWMiPjxkaXYgaWQ9InVpX3RwaWNrZXJfbWlsbGlzZWNfJyArIGRwX2lkICsgJyInKw0KCQkJCQkJCSgoby5zaG93TWlsbGlzZWMpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2Rpdj4nOw0KDQoJCQlpZiAoby5zaG93TWlsbGlzZWMgJiYgby5taWxsaXNlY0dyaWQgPiAwKSB7DQoJCQkJaHRtbCArPSAnPGRpdiBzdHlsZT0icGFkZGluZy1sZWZ0OiAxcHgiPjx0YWJsZT48dHI+JzsNCg0KCQkJCWZvciAodmFyIGwgPSBvLm1pbGxpc2VjTWluOyBsIDw9IG1pbGxpc2VjTWF4OyBsICs9IHBhcnNlSW50KG8ubWlsbGlzZWNHcmlkLDEwKSkgew0KCQkJCQltaWxsaXNlY0dyaWRTaXplKys7DQoJCQkJCWh0bWwgKz0gJzx0ZD4nICsgKChsIDwgMTApID8gJzAnIDogJycpICsgbCArICc8L3RkPic7DQoJCQkJfQ0KDQoJCQkJaHRtbCArPSAnPC90cj48L3RhYmxlPjwvZGl2Pic7DQoJCQl9DQoJCQlodG1sICs9ICc8L2RkPic7DQoNCgkJCS8vIFRpbWV6b25lDQoJCQlodG1sICs9ICc8ZHQgY2xhc3M9InVpX3RwaWNrZXJfdGltZXpvbmVfbGFiZWwiIGlkPSJ1aV90cGlja2VyX3RpbWV6b25lX2xhYmVsXycgKyBkcF9pZCArICciJyArDQoJCQkJCSgoby5zaG93VGltZXpvbmUpID8gJycgOiBub0Rpc3BsYXkpICsgJz4nICsgby50aW1lem9uZVRleHQgKyAnPC9kdD4nOw0KCQkJaHRtbCArPSAnPGRkIGNsYXNzPSJ1aV90cGlja2VyX3RpbWV6b25lIiBpZD0idWlfdHBpY2tlcl90aW1lem9uZV8nICsgZHBfaWQgKyAnIicJKw0KCQkJCQkJCSgoby5zaG93VGltZXpvbmUpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2RkPic7DQoNCgkJCWh0bWwgKz0gJzwvZGw+PC9kaXY+JzsNCgkJCSR0cCA9ICQoaHRtbCk7DQoNCgkJCQkvLyBpZiB3ZSBvbmx5IHdhbnQgdGltZSBwaWNrZXIuLi4NCgkJCWlmIChvLnRpbWVPbmx5ID09PSB0cnVlKSB7DQoJCQkJJHRwLnByZXBlbmQoDQoJCQkJCSc8ZGl2IGNsYXNzPSJ1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsIj4nICsNCgkJCQkJCSc8ZGl2IGNsYXNzPSJ1aS1kYXRlcGlja2VyLXRpdGxlIj4nICsgby50aW1lT25seVRpdGxlICsgJzwvZGl2PicgKw0KCQkJCQknPC9kaXY+Jyk7DQoJCQkJJGRwLmZpbmQoJy51aS1kYXRlcGlja2VyLWhlYWRlciwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXInKS5oaWRlKCk7DQoJCQl9DQoNCgkJCXRoaXMuaG91cl9zbGlkZXIgPSAkdHAuZmluZCgnI3VpX3RwaWNrZXJfaG91cl8nKyBkcF9pZCkuc2xpZGVyKHsNCgkJCQlvcmllbnRhdGlvbjogImhvcml6b250YWwiLA0KCQkJCXZhbHVlOiB0aGlzLmhvdXIsDQoJCQkJbWluOiBvLmhvdXJNaW4sDQoJCQkJbWF4OiBob3VyTWF4LA0KCQkJCXN0ZXA6IG8uc3RlcEhvdXIsDQoJCQkJc2xpZGU6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgew0KCQkJCQl0cF9pbnN0LmhvdXJfc2xpZGVyLnNsaWRlciggIm9wdGlvbiIsICJ2YWx1ZSIsIHVpLnZhbHVlKTsNCgkJCQkJdHBfaW5zdC5fb25UaW1lQ2hhbmdlKCk7DQoJCQkJfQ0KCQkJfSk7DQoNCgkJCQ0KCQkJLy8gVXBkYXRlZCBieSBQZXRlciBNZWRlaXJvczoNCgkJCS8vIC0gUGFzcyBpbiBFdmVudCBhbmQgVUkgaW5zdGFuY2UgaW50byBzbGlkZSBmdW5jdGlvbg0KCQkJdGhpcy5taW51dGVfc2xpZGVyID0gJHRwLmZpbmQoJyN1aV90cGlja2VyX21pbnV0ZV8nKyBkcF9pZCkuc2xpZGVyKHsNCgkJCQlvcmllbnRhdGlvbjogImhvcml6b250YWwiLA0KCQkJCXZhbHVlOiB0aGlzLm1pbnV0ZSwNCgkJCQltaW46IG8ubWludXRlTWluLA0KCQkJCW1heDogbWluTWF4LA0KCQkJCXN0ZXA6IG8uc3RlcE1pbnV0ZSwNCgkJCQlzbGlkZTogZnVuY3Rpb24oZXZlbnQsIHVpKSB7DQoJCQkJCXRwX2luc3QubWludXRlX3NsaWRlci5zbGlkZXIoICJvcHRpb24iLCAidmFsdWUiLCB1aS52YWx1ZSk7DQoJCQkJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOw0KCQkJCX0NCgkJCX0pOw0KDQoJCQl0aGlzLnNlY29uZF9zbGlkZXIgPSAkdHAuZmluZCgnI3VpX3RwaWNrZXJfc2Vjb25kXycrIGRwX2lkKS5zbGlkZXIoew0KCQkJCW9yaWVudGF0aW9uOiAiaG9yaXpvbnRhbCIsDQoJCQkJdmFsdWU6IHRoaXMuc2Vjb25kLA0KCQkJCW1pbjogby5zZWNvbmRNaW4sDQoJCQkJbWF4OiBzZWNNYXgsDQoJCQkJc3RlcDogby5zdGVwU2Vjb25kLA0KCQkJCXNsaWRlOiBmdW5jdGlvbihldmVudCwgdWkpIHsNCgkJCQkJdHBfaW5zdC5zZWNvbmRfc2xpZGVyLnNsaWRlciggIm9wdGlvbiIsICJ2YWx1ZSIsIHVpLnZhbHVlKTsNCgkJCQkJdHBfaW5zdC5fb25UaW1lQ2hhbmdlKCk7DQoJCQkJfQ0KCQkJfSk7DQoNCgkJCXRoaXMubWlsbGlzZWNfc2xpZGVyID0gJHRwLmZpbmQoJyN1aV90cGlja2VyX21pbGxpc2VjXycrIGRwX2lkKS5zbGlkZXIoew0KCQkJCW9yaWVudGF0aW9uOiAiaG9yaXpvbnRhbCIsDQoJCQkJdmFsdWU6IHRoaXMubWlsbGlzZWMsDQoJCQkJbWluOiBvLm1pbGxpc2VjTWluLA0KCQkJCW1heDogbWlsbGlzZWNNYXgsDQoJCQkJc3RlcDogby5zdGVwTWlsbGlzZWMsDQoJCQkJc2xpZGU6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgew0KCQkJCQl0cF9pbnN0Lm1pbGxpc2VjX3NsaWRlci5zbGlkZXIoICJvcHRpb24iLCAidmFsdWUiLCB1aS52YWx1ZSk7DQoJCQkJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOw0KCQkJCX0NCgkJCX0pOw0KDQoJCQl0aGlzLnRpbWV6b25lX3NlbGVjdCA9ICR0cC5maW5kKCcjdWlfdHBpY2tlcl90aW1lem9uZV8nKyBkcF9pZCkuYXBwZW5kKCc8c2VsZWN0Pjwvc2VsZWN0PicpLmZpbmQoInNlbGVjdCIpOw0KCQkJJC5mbi5hcHBlbmQuYXBwbHkodGhpcy50aW1lem9uZV9zZWxlY3QsDQoJCQkJJC5tYXAoby50aW1lem9uZUxpc3QsIGZ1bmN0aW9uKHZhbCwgaWR4KSB7DQoJCQkJCXJldHVybiAkKCI8b3B0aW9uIC8+IikNCgkJCQkJCS52YWwodHlwZW9mIHZhbCA9PSAib2JqZWN0IiA/IHZhbC52YWx1ZSA6IHZhbCkNCgkJCQkJCS50ZXh0KHR5cGVvZiB2YWwgPT0gIm9iamVjdCIgPyB2YWwubGFiZWwgOiB2YWwpOw0KCQkJCX0pDQoJCQkpOw0KCQkJdGhpcy50aW1lem9uZV9zZWxlY3QudmFsKCh0eXBlb2YgdGhpcy50aW1lem9uZSAhPSAidW5kZWZpbmVkIiAmJiB0aGlzLnRpbWV6b25lICE9IG51bGwgJiYgdGhpcy50aW1lem9uZSAhPSAiIikgPyB0aGlzLnRpbWV6b25lIDogby50aW1lem9uZSk7DQoJCQl0aGlzLnRpbWV6b25lX3NlbGVjdC5jaGFuZ2UoZnVuY3Rpb24oKSB7DQoJCQkJdHBfaW5zdC5fb25UaW1lQ2hhbmdlKCk7DQoJCQl9KTsNCg0KCQkJLy8gQWRkIGdyaWQgZnVuY3Rpb25hbGl0eQ0KCQkJaWYgKG8uc2hvd0hvdXIgJiYgby5ob3VyR3JpZCA+IDApIHsNCgkJCQlzaXplID0gMTAwICogaG91ckdyaWRTaXplICogby5ob3VyR3JpZCAvIChob3VyTWF4IC0gby5ob3VyTWluKTsNCg0KCQkJCSR0cC5maW5kKCIudWlfdHBpY2tlcl9ob3VyIHRhYmxlIikuY3NzKHsNCgkJCQkJd2lkdGg6IHNpemUgKyAiJSIsDQoJCQkJCW1hcmdpbkxlZnQ6IChzaXplIC8gKC0yICogaG91ckdyaWRTaXplKSkgKyAiJSIsDQoJCQkJCWJvcmRlckNvbGxhcHNlOiAnY29sbGFwc2UnDQoJCQkJfSkuZmluZCgidGQiKS5lYWNoKCBmdW5jdGlvbihpbmRleCkgew0KCQkJCQkkKHRoaXMpLmNsaWNrKGZ1bmN0aW9uKCkgew0KCQkJCQkJdmFyIGggPSAkKHRoaXMpLmh0bWwoKTsNCgkJCQkJCWlmKG8uYW1wbSkJew0KCQkJCQkJCXZhciBhcCA9IGguc3Vic3RyaW5nKDIpLnRvTG93ZXJDYXNlKCksDQoJCQkJCQkJCWFwaCA9IHBhcnNlSW50KGguc3Vic3RyaW5nKDAsMiksIDEwKTsNCgkJCQkJCQlpZiAoYXAgPT0gJ2EnKSB7DQoJCQkJCQkJCWlmIChhcGggPT0gMTIpIGggPSAwOw0KCQkJCQkJCQllbHNlIGggPSBhcGg7DQoJCQkJCQkJfSBlbHNlIGlmIChhcGggPT0gMTIpIGggPSAxMjsNCgkJCQkJCQllbHNlIGggPSBhcGggKyAxMjsNCgkJCQkJCX0NCgkJCQkJCXRwX2luc3QuaG91cl9zbGlkZXIuc2xpZGVyKCJvcHRpb24iLCAidmFsdWUiLCBoKTsNCgkJCQkJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOw0KCQkJCQkJdHBfaW5zdC5fb25TZWxlY3RIYW5kbGVyKCk7DQoJCQkJCX0pLmNzcyh7DQoJCQkJCQljdXJzb3I6ICdwb2ludGVyJywNCgkJCQkJCXdpZHRoOiAoMTAwIC8gaG91ckdyaWRTaXplKSArICclJywNCgkJCQkJCXRleHRBbGlnbjogJ2NlbnRlcicsDQoJCQkJCQlvdmVyZmxvdzogJ2hpZGRlbicNCgkJCQkJfSk7DQoJCQkJfSk7DQoJCQl9DQoNCgkJCWlmIChvLnNob3dNaW51dGUgJiYgby5taW51dGVHcmlkID4gMCkgew0KCQkJCXNpemUgPSAxMDAgKiBtaW51dGVHcmlkU2l6ZSAqIG8ubWludXRlR3JpZCAvIChtaW5NYXggLSBvLm1pbnV0ZU1pbik7DQoJCQkJJHRwLmZpbmQoIi51aV90cGlja2VyX21pbnV0ZSB0YWJsZSIpLmNzcyh7DQoJCQkJCXdpZHRoOiBzaXplICsgIiUiLA0KCQkJCQltYXJnaW5MZWZ0OiAoc2l6ZSAvICgtMiAqIG1pbnV0ZUdyaWRTaXplKSkgKyAiJSIsDQoJCQkJCWJvcmRlckNvbGxhcHNlOiAnY29sbGFwc2UnDQoJCQkJfSkuZmluZCgidGQiKS5lYWNoKGZ1bmN0aW9uKGluZGV4KSB7DQoJCQkJCSQodGhpcykuY2xpY2soZnVuY3Rpb24oKSB7DQoJCQkJCQl0cF9pbnN0Lm1pbnV0ZV9zbGlkZXIuc2xpZGVyKCJvcHRpb24iLCAidmFsdWUiLCAkKHRoaXMpLmh0bWwoKSk7DQoJCQkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsNCgkJCQkJCXRwX2luc3QuX29uU2VsZWN0SGFuZGxlcigpOw0KCQkJCQl9KS5jc3Moew0KCQkJCQkJY3Vyc29yOiAncG9pbnRlcicsDQoJCQkJCQl3aWR0aDogKDEwMCAvIG1pbnV0ZUdyaWRTaXplKSArICclJywNCgkJCQkJCXRleHRBbGlnbjogJ2NlbnRlcicsDQoJCQkJCQlvdmVyZmxvdzogJ2hpZGRlbicNCgkJCQkJfSk7DQoJCQkJfSk7DQoJCQl9DQoNCgkJCWlmIChvLnNob3dTZWNvbmQgJiYgby5zZWNvbmRHcmlkID4gMCkgew0KCQkJCSR0cC5maW5kKCIudWlfdHBpY2tlcl9zZWNvbmQgdGFibGUiKS5jc3Moew0KCQkJCQl3aWR0aDogc2l6ZSArICIlIiwNCgkJCQkJbWFyZ2luTGVmdDogKHNpemUgLyAoLTIgKiBzZWNvbmRHcmlkU2l6ZSkpICsgIiUiLA0KCQkJCQlib3JkZXJDb2xsYXBzZTogJ2NvbGxhcHNlJw0KCQkJCX0pLmZpbmQoInRkIikuZWFjaChmdW5jdGlvbihpbmRleCkgew0KCQkJCQkkKHRoaXMpLmNsaWNrKGZ1bmN0aW9uKCkgew0KCQkJCQkJdHBfaW5zdC5zZWNvbmRfc2xpZGVyLnNsaWRlcigib3B0aW9uIiwgInZhbHVlIiwgJCh0aGlzKS5odG1sKCkpOw0KCQkJCQkJdHBfaW5zdC5fb25UaW1lQ2hhbmdlKCk7DQoJCQkJCQl0cF9pbnN0Ll9vblNlbGVjdEhhbmRsZXIoKTsNCgkJCQkJfSkuY3NzKHsNCgkJCQkJCWN1cnNvcjogJ3BvaW50ZXInLA0KCQkJCQkJd2lkdGg6ICgxMDAgLyBzZWNvbmRHcmlkU2l6ZSkgKyAnJScsDQoJCQkJCQl0ZXh0QWxpZ246ICdjZW50ZXInLA0KCQkJCQkJb3ZlcmZsb3c6ICdoaWRkZW4nDQoJCQkJCX0pOw0KCQkJCX0pOw0KCQkJfQ0KDQoJCQlpZiAoby5zaG93TWlsbGlzZWMgJiYgby5taWxsaXNlY0dyaWQgPiAwKSB7DQoJCQkJJHRwLmZpbmQoIi51aV90cGlja2VyX21pbGxpc2VjIHRhYmxlIikuY3NzKHsNCgkJCQkJd2lkdGg6IHNpemUgKyAiJSIsDQoJCQkJCW1hcmdpbkxlZnQ6IChzaXplIC8gKC0yICogbWlsbGlzZWNHcmlkU2l6ZSkpICsgIiUiLA0KCQkJCQlib3JkZXJDb2xsYXBzZTogJ2NvbGxhcHNlJw0KCQkJCX0pLmZpbmQoInRkIikuZWFjaChmdW5jdGlvbihpbmRleCkgew0KCQkJCQkkKHRoaXMpLmNsaWNrKGZ1bmN0aW9uKCkgew0KCQkJCQkJdHBfaW5zdC5taWxsaXNlY19zbGlkZXIuc2xpZGVyKCJvcHRpb24iLCAidmFsdWUiLCAkKHRoaXMpLmh0bWwoKSk7DQoJCQkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsNCgkJCQkJCXRwX2luc3QuX29uU2VsZWN0SGFuZGxlcigpOw0KCQkJCQl9KS5jc3Moew0KCQkJCQkJY3Vyc29yOiAncG9pbnRlcicsDQoJCQkJCQl3aWR0aDogKDEwMCAvIG1pbGxpc2VjR3JpZFNpemUpICsgJyUnLA0KCQkJCQkJdGV4dEFsaWduOiAnY2VudGVyJywNCgkJCQkJCW92ZXJmbG93OiAnaGlkZGVuJw0KCQkJCQl9KTsNCgkJCQl9KTsNCgkJCX0NCg0KCQkJdmFyICRidXR0b25QYW5lbCA9ICRkcC5maW5kKCcudWktZGF0ZXBpY2tlci1idXR0b25wYW5lJyk7DQoJCQlpZiAoJGJ1dHRvblBhbmVsLmxlbmd0aCkgJGJ1dHRvblBhbmVsLmJlZm9yZSgkdHApOw0KCQkJZWxzZSAkZHAuYXBwZW5kKCR0cCk7DQoNCgkJCXRoaXMuJHRpbWVPYmogPSAkdHAuZmluZCgnI3VpX3RwaWNrZXJfdGltZV8nKyBkcF9pZCk7DQoNCgkJCWlmICh0aGlzLmluc3QgIT09IG51bGwpIHsNCgkJCQl2YXIgdGltZURlZmluZWQgPSB0aGlzLnRpbWVEZWZpbmVkOw0KCQkJCXRoaXMuX29uVGltZUNoYW5nZSgpOw0KCQkJCXRoaXMudGltZURlZmluZWQgPSB0aW1lRGVmaW5lZDsNCgkJCX0NCg0KCQkJLy9FbXVsYXRlIGRhdGVwaWNrZXIgb25TZWxlY3QgYmVoYXZpb3IuIENhbGwgb24gc2xpZGVzdG9wLg0KCQkJdmFyIG9uU2VsZWN0RGVsZWdhdGUgPSBmdW5jdGlvbigpIHsNCgkJCQl0cF9pbnN0Ll9vblNlbGVjdEhhbmRsZXIoKTsNCgkJCX07DQoJCQl0aGlzLmhvdXJfc2xpZGVyLmJpbmQoJ3NsaWRlc3RvcCcsb25TZWxlY3REZWxlZ2F0ZSk7DQoJCQl0aGlzLm1pbnV0ZV9zbGlkZXIuYmluZCgnc2xpZGVzdG9wJyxvblNlbGVjdERlbGVnYXRlKTsNCgkJCXRoaXMuc2Vjb25kX3NsaWRlci5iaW5kKCdzbGlkZXN0b3AnLG9uU2VsZWN0RGVsZWdhdGUpOw0KCQkJdGhpcy5taWxsaXNlY19zbGlkZXIuYmluZCgnc2xpZGVzdG9wJyxvblNlbGVjdERlbGVnYXRlKTsNCgkJCQ0KCQkJLy8gc2xpZGVBY2Nlc3MgaW50ZWdyYXRpb246IGh0dHA6Ly90cmVudHJpY2hhcmRzb24uY29tLzIwMTEvMTEvMTEvanF1ZXJ5LXVpLXNsaWRlcnMtYW5kLXRvdWNoLWFjY2Vzc2liaWxpdHkvDQoJCQlpZiAodGhpcy5fZGVmYXVsdHMuYWRkU2xpZGVyQWNjZXNzKXsNCgkJCQl2YXIgc2xpZGVyQWNjZXNzQXJncyA9IHRoaXMuX2RlZmF1bHRzLnNsaWRlckFjY2Vzc0FyZ3M7DQoJCQkJc2V0VGltZW91dChmdW5jdGlvbigpeyAvLyBmaXggZm9yIGlubGluZSBtb2RlDQoJCQkJCWlmKCR0cC5maW5kKCcudWktc2xpZGVyLWFjY2VzcycpLmxlbmd0aCA9PSAwKXsNCgkJCQkJCSR0cC5maW5kKCcudWktc2xpZGVyOnZpc2libGUnKS5zbGlkZXJBY2Nlc3Moc2xpZGVyQWNjZXNzQXJncyk7DQoNCgkJCQkJCS8vIGZpeCBhbnkgZ3JpZHMgc2luY2Ugc2xpZGVycyBhcmUgc2hvcnRlcg0KCQkJCQkJdmFyIHNsaWRlckFjY2Vzc1dpZHRoID0gJHRwLmZpbmQoJy51aS1zbGlkZXItYWNjZXNzOmVxKDApJykub3V0ZXJXaWR0aCh0cnVlKTsNCgkJCQkJCWlmKHNsaWRlckFjY2Vzc1dpZHRoKXsNCgkJCQkJCQkkdHAuZmluZCgndGFibGU6dmlzaWJsZScpLmVhY2goZnVuY3Rpb24oKXsNCgkJCQkJCQkJdmFyICRnID0gJCh0aGlzKSwNCgkJCQkJCQkJCW9sZFdpZHRoID0gJGcub3V0ZXJXaWR0aCgpLA0KCQkJCQkJCQkJb2xkTWFyZ2luTGVmdCA9ICRnLmNzcygnbWFyZ2luTGVmdCcpLnRvU3RyaW5nKCkucmVwbGFjZSgnJScsJycpLA0KCQkJCQkJCQkJbmV3V2lkdGggPSBvbGRXaWR0aCAtIHNsaWRlckFjY2Vzc1dpZHRoLA0KCQkJCQkJCQkJbmV3TWFyZ2luTGVmdCA9ICgob2xkTWFyZ2luTGVmdCAqIG5ld1dpZHRoKS9vbGRXaWR0aCkgKyAnJSc7DQoJCQkJCQkNCgkJCQkJCQkJJGcuY3NzKHsgd2lkdGg6IG5ld1dpZHRoLCBtYXJnaW5MZWZ0OiBuZXdNYXJnaW5MZWZ0IH0pOw0KCQkJCQkJCX0pOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfSwwKTsNCgkJCX0NCgkJCS8vIGVuZCBzbGlkZUFjY2VzcyBpbnRlZ3JhdGlvbg0KCQkJDQoJCX0NCgl9LA0KDQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkvLyBUaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIGxpbWl0IHRoZSBhYmlsaXR5IHRvIGdvIG91dHNpZGUgdGhlDQoJLy8gbWluL21heCBkYXRlIHJhbmdlDQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCglfbGltaXRNaW5NYXhEYXRlVGltZTogZnVuY3Rpb24oZHBfaW5zdCwgYWRqdXN0U2xpZGVycyl7DQoJCXZhciBvID0gdGhpcy5fZGVmYXVsdHMsDQoJCQlkcF9kYXRlID0gbmV3IERhdGUoZHBfaW5zdC5zZWxlY3RlZFllYXIsIGRwX2luc3Quc2VsZWN0ZWRNb250aCwgZHBfaW5zdC5zZWxlY3RlZERheSk7DQoNCgkJaWYoIXRoaXMuX2RlZmF1bHRzLnNob3dUaW1lcGlja2VyKSByZXR1cm47IC8vIE5vIHRpbWUgc28gbm90aGluZyB0byBjaGVjayBoZXJlDQoNCgkJaWYoJC5kYXRlcGlja2VyLl9nZXQoZHBfaW5zdCwgJ21pbkRhdGVUaW1lJykgIT09IG51bGwgJiYgJC5kYXRlcGlja2VyLl9nZXQoZHBfaW5zdCwgJ21pbkRhdGVUaW1lJykgIT09IHVuZGVmaW5lZCAmJiBkcF9kYXRlKXsNCgkJCXZhciBtaW5EYXRlVGltZSA9ICQuZGF0ZXBpY2tlci5fZ2V0KGRwX2luc3QsICdtaW5EYXRlVGltZScpLA0KCQkJCW1pbkRhdGVUaW1lRGF0ZSA9IG5ldyBEYXRlKG1pbkRhdGVUaW1lLmdldEZ1bGxZZWFyKCksIG1pbkRhdGVUaW1lLmdldE1vbnRoKCksIG1pbkRhdGVUaW1lLmdldERhdGUoKSwgMCwgMCwgMCwgMCk7DQoNCgkJCWlmKHRoaXMuaG91ck1pbk9yaWdpbmFsID09PSBudWxsIHx8IHRoaXMubWludXRlTWluT3JpZ2luYWwgPT09IG51bGwgfHwgdGhpcy5zZWNvbmRNaW5PcmlnaW5hbCA9PT0gbnVsbCB8fCB0aGlzLm1pbGxpc2VjTWluT3JpZ2luYWwgPT09IG51bGwpew0KCQkJCXRoaXMuaG91ck1pbk9yaWdpbmFsID0gby5ob3VyTWluOw0KCQkJCXRoaXMubWludXRlTWluT3JpZ2luYWwgPSBvLm1pbnV0ZU1pbjsNCgkJCQl0aGlzLnNlY29uZE1pbk9yaWdpbmFsID0gby5zZWNvbmRNaW47DQoJCQkJdGhpcy5taWxsaXNlY01pbk9yaWdpbmFsID0gby5taWxsaXNlY01pbjsNCgkJCX0NCg0KCQkJaWYoZHBfaW5zdC5zZXR0aW5ncy50aW1lT25seSB8fCBtaW5EYXRlVGltZURhdGUuZ2V0VGltZSgpID09IGRwX2RhdGUuZ2V0VGltZSgpKSB7DQoJCQkJdGhpcy5fZGVmYXVsdHMuaG91ck1pbiA9IG1pbkRhdGVUaW1lLmdldEhvdXJzKCk7DQoJCQkJaWYgKHRoaXMuaG91ciA8PSB0aGlzLl9kZWZhdWx0cy5ob3VyTWluKSB7DQoJCQkJCXRoaXMuaG91ciA9IHRoaXMuX2RlZmF1bHRzLmhvdXJNaW47DQoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbiA9IG1pbkRhdGVUaW1lLmdldE1pbnV0ZXMoKTsNCgkJCQkJaWYgKHRoaXMubWludXRlIDw9IHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbikgew0KCQkJCQkJdGhpcy5taW51dGUgPSB0aGlzLl9kZWZhdWx0cy5taW51dGVNaW47DQoJCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSBtaW5EYXRlVGltZS5nZXRTZWNvbmRzKCk7DQoJCQkJCX0gZWxzZSBpZiAodGhpcy5zZWNvbmQgPD0gdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluKXsNCgkJCQkJCXRoaXMuc2Vjb25kID0gdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluOw0KCQkJCQkJdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNaW4gPSBtaW5EYXRlVGltZS5nZXRNaWxsaXNlY29uZHMoKTsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCWlmKHRoaXMubWlsbGlzZWMgPCB0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01pbikNCgkJCQkJCQl0aGlzLm1pbGxpc2VjID0gdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNaW47DQoJCQkJCQl0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01pbiA9IHRoaXMubWlsbGlzZWNNaW5PcmlnaW5hbDsNCgkJCQkJfQ0KCQkJCX0gZWxzZSB7DQoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbiA9IHRoaXMubWludXRlTWluT3JpZ2luYWw7DQoJCQkJCXRoaXMuX2RlZmF1bHRzLnNlY29uZE1pbiA9IHRoaXMuc2Vjb25kTWluT3JpZ2luYWw7DQoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluID0gdGhpcy5taWxsaXNlY01pbk9yaWdpbmFsOw0KCQkJCX0NCgkJCX1lbHNlew0KCQkJCXRoaXMuX2RlZmF1bHRzLmhvdXJNaW4gPSB0aGlzLmhvdXJNaW5PcmlnaW5hbDsNCgkJCQl0aGlzLl9kZWZhdWx0cy5taW51dGVNaW4gPSB0aGlzLm1pbnV0ZU1pbk9yaWdpbmFsOw0KCQkJCXRoaXMuX2RlZmF1bHRzLnNlY29uZE1pbiA9IHRoaXMuc2Vjb25kTWluT3JpZ2luYWw7DQoJCQkJdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNaW4gPSB0aGlzLm1pbGxpc2VjTWluT3JpZ2luYWw7DQoJCQl9DQoJCX0NCg0KCQlpZigkLmRhdGVwaWNrZXIuX2dldChkcF9pbnN0LCAnbWF4RGF0ZVRpbWUnKSAhPT0gbnVsbCAmJiAkLmRhdGVwaWNrZXIuX2dldChkcF9pbnN0LCAnbWF4RGF0ZVRpbWUnKSAhPT0gdW5kZWZpbmVkICYmIGRwX2RhdGUpew0KCQkJdmFyIG1heERhdGVUaW1lID0gJC5kYXRlcGlja2VyLl9nZXQoZHBfaW5zdCwgJ21heERhdGVUaW1lJyksDQoJCQkJbWF4RGF0ZVRpbWVEYXRlID0gbmV3IERhdGUobWF4RGF0ZVRpbWUuZ2V0RnVsbFllYXIoKSwgbWF4RGF0ZVRpbWUuZ2V0TW9udGgoKSwgbWF4RGF0ZVRpbWUuZ2V0RGF0ZSgpLCAwLCAwLCAwLCAwKTsNCg0KCQkJaWYodGhpcy5ob3VyTWF4T3JpZ2luYWwgPT09IG51bGwgfHwgdGhpcy5taW51dGVNYXhPcmlnaW5hbCA9PT0gbnVsbCB8fCB0aGlzLnNlY29uZE1heE9yaWdpbmFsID09PSBudWxsKXsNCgkJCQl0aGlzLmhvdXJNYXhPcmlnaW5hbCA9IG8uaG91ck1heDsNCgkJCQl0aGlzLm1pbnV0ZU1heE9yaWdpbmFsID0gby5taW51dGVNYXg7DQoJCQkJdGhpcy5zZWNvbmRNYXhPcmlnaW5hbCA9IG8uc2Vjb25kTWF4Ow0KCQkJCXRoaXMubWlsbGlzZWNNYXhPcmlnaW5hbCA9IG8ubWlsbGlzZWNNYXg7DQoJCQl9DQoNCgkJCWlmKGRwX2luc3Quc2V0dGluZ3MudGltZU9ubHkgfHwgbWF4RGF0ZVRpbWVEYXRlLmdldFRpbWUoKSA9PSBkcF9kYXRlLmdldFRpbWUoKSl7DQoJCQkJdGhpcy5fZGVmYXVsdHMuaG91ck1heCA9IG1heERhdGVUaW1lLmdldEhvdXJzKCk7DQoJCQkJaWYgKHRoaXMuaG91ciA+PSB0aGlzLl9kZWZhdWx0cy5ob3VyTWF4KSB7DQoJCQkJCXRoaXMuaG91ciA9IHRoaXMuX2RlZmF1bHRzLmhvdXJNYXg7DQoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1heCA9IG1heERhdGVUaW1lLmdldE1pbnV0ZXMoKTsNCgkJCQkJaWYgKHRoaXMubWludXRlID49IHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1heCkgew0KCQkJCQkJdGhpcy5taW51dGUgPSB0aGlzLl9kZWZhdWx0cy5taW51dGVNYXg7DQoJCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNYXggPSBtYXhEYXRlVGltZS5nZXRTZWNvbmRzKCk7DQoJCQkJCX0gZWxzZSBpZiAodGhpcy5zZWNvbmQgPj0gdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4KSB7DQoJCQkJCQl0aGlzLnNlY29uZCA9IHRoaXMuX2RlZmF1bHRzLnNlY29uZE1heDsNCgkJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWF4ID0gbWF4RGF0ZVRpbWUuZ2V0TWlsbGlzZWNvbmRzKCk7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlpZih0aGlzLm1pbGxpc2VjID4gdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNYXgpIHRoaXMubWlsbGlzZWMgPSB0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01heDsNCgkJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWF4ID0gdGhpcy5taWxsaXNlY01heE9yaWdpbmFsOw0KCQkJCQl9DQoJCQkJfSBlbHNlIHsNCgkJCQkJdGhpcy5fZGVmYXVsdHMubWludXRlTWF4ID0gdGhpcy5taW51dGVNYXhPcmlnaW5hbDsNCgkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gdGhpcy5zZWNvbmRNYXhPcmlnaW5hbDsNCgkJCQkJdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNYXggPSB0aGlzLm1pbGxpc2VjTWF4T3JpZ2luYWw7DQoJCQkJfQ0KCQkJfWVsc2V7DQoJCQkJdGhpcy5fZGVmYXVsdHMuaG91ck1heCA9IHRoaXMuaG91ck1heE9yaWdpbmFsOw0KCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1heCA9IHRoaXMubWludXRlTWF4T3JpZ2luYWw7DQoJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gdGhpcy5zZWNvbmRNYXhPcmlnaW5hbDsNCgkJCQl0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01heCA9IHRoaXMubWlsbGlzZWNNYXhPcmlnaW5hbDsNCgkJCX0NCgkJfQ0KDQoJCWlmKGFkanVzdFNsaWRlcnMgIT09IHVuZGVmaW5lZCAmJiBhZGp1c3RTbGlkZXJzID09PSB0cnVlKXsNCgkJCXZhciBob3VyTWF4ID0gcGFyc2VJbnQoKHRoaXMuX2RlZmF1bHRzLmhvdXJNYXggLSAoKHRoaXMuX2RlZmF1bHRzLmhvdXJNYXggLSB0aGlzLl9kZWZhdWx0cy5ob3VyTWluKSAlIHRoaXMuX2RlZmF1bHRzLnN0ZXBIb3VyKSkgLDEwKSwNCiAgICAgICAgICAgICAgICBtaW5NYXggID0gcGFyc2VJbnQoKHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1heCAtICgodGhpcy5fZGVmYXVsdHMubWludXRlTWF4IC0gdGhpcy5fZGVmYXVsdHMubWludXRlTWluKSAlIHRoaXMuX2RlZmF1bHRzLnN0ZXBNaW51dGUpKSAsMTApLA0KICAgICAgICAgICAgICAgIHNlY01heCAgPSBwYXJzZUludCgodGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4IC0gKCh0aGlzLl9kZWZhdWx0cy5zZWNvbmRNYXggLSB0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4pICUgdGhpcy5fZGVmYXVsdHMuc3RlcFNlY29uZCkpICwxMCksDQoJCQkJbWlsbGlzZWNNYXggID0gcGFyc2VJbnQoKHRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWF4IC0gKCh0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01heCAtIHRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluKSAlIHRoaXMuX2RlZmF1bHRzLnN0ZXBNaWxsaXNlYykpICwxMCk7DQoNCgkJCWlmKHRoaXMuaG91cl9zbGlkZXIpDQoJCQkJdGhpcy5ob3VyX3NsaWRlci5zbGlkZXIoIm9wdGlvbiIsIHsgbWluOiB0aGlzLl9kZWZhdWx0cy5ob3VyTWluLCBtYXg6IGhvdXJNYXggfSkuc2xpZGVyKCd2YWx1ZScsIHRoaXMuaG91cik7DQoJCQlpZih0aGlzLm1pbnV0ZV9zbGlkZXIpDQoJCQkJdGhpcy5taW51dGVfc2xpZGVyLnNsaWRlcigib3B0aW9uIiwgeyBtaW46IHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbiwgbWF4OiBtaW5NYXggfSkuc2xpZGVyKCd2YWx1ZScsIHRoaXMubWludXRlKTsNCgkJCWlmKHRoaXMuc2Vjb25kX3NsaWRlcikNCgkJCQl0aGlzLnNlY29uZF9zbGlkZXIuc2xpZGVyKCJvcHRpb24iLCB7IG1pbjogdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluLCBtYXg6IHNlY01heCB9KS5zbGlkZXIoJ3ZhbHVlJywgdGhpcy5zZWNvbmQpOw0KCQkJaWYodGhpcy5taWxsaXNlY19zbGlkZXIpDQoJCQkJdGhpcy5taWxsaXNlY19zbGlkZXIuc2xpZGVyKCJvcHRpb24iLCB7IG1pbjogdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNaW4sIG1heDogbWlsbGlzZWNNYXggfSkuc2xpZGVyKCd2YWx1ZScsIHRoaXMubWlsbGlzZWMpOw0KCQl9DQoNCgl9LA0KDQoJDQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkvLyB3aGVuIGEgc2xpZGVyIG1vdmVzLCBzZXQgdGhlIGludGVybmFsIHRpbWUuLi4NCgkvLyBvbiB0aW1lIGNoYW5nZSBpcyBhbHNvIGNhbGxlZCB3aGVuIHRoZSB0aW1lIGlzIHVwZGF0ZWQgaW4gdGhlIHRleHQgZmllbGQNCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCV9vblRpbWVDaGFuZ2U6IGZ1bmN0aW9uKCkgew0KCQl2YXIgaG91ciAgID0gKHRoaXMuaG91cl9zbGlkZXIpID8gdGhpcy5ob3VyX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJykgOiBmYWxzZSwNCgkJCW1pbnV0ZSA9ICh0aGlzLm1pbnV0ZV9zbGlkZXIpID8gdGhpcy5taW51dGVfc2xpZGVyLnNsaWRlcigndmFsdWUnKSA6IGZhbHNlLA0KCQkJc2Vjb25kID0gKHRoaXMuc2Vjb25kX3NsaWRlcikgPyB0aGlzLnNlY29uZF9zbGlkZXIuc2xpZGVyKCd2YWx1ZScpIDogZmFsc2UsDQoJCQltaWxsaXNlYyA9ICh0aGlzLm1pbGxpc2VjX3NsaWRlcikgPyB0aGlzLm1pbGxpc2VjX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJykgOiBmYWxzZSwNCgkJCXRpbWV6b25lID0gKHRoaXMudGltZXpvbmVfc2VsZWN0KSA/IHRoaXMudGltZXpvbmVfc2VsZWN0LnZhbCgpIDogZmFsc2UsDQoJCQlvID0gdGhpcy5fZGVmYXVsdHM7DQoNCgkJaWYgKHR5cGVvZihob3VyKSA9PSAnb2JqZWN0JykgaG91ciA9IGZhbHNlOw0KCQlpZiAodHlwZW9mKG1pbnV0ZSkgPT0gJ29iamVjdCcpIG1pbnV0ZSA9IGZhbHNlOw0KCQlpZiAodHlwZW9mKHNlY29uZCkgPT0gJ29iamVjdCcpIHNlY29uZCA9IGZhbHNlOw0KCQlpZiAodHlwZW9mKG1pbGxpc2VjKSA9PSAnb2JqZWN0JykgbWlsbGlzZWMgPSBmYWxzZTsNCgkJaWYgKHR5cGVvZih0aW1lem9uZSkgPT0gJ29iamVjdCcpIHRpbWV6b25lID0gZmFsc2U7DQoNCgkJaWYgKGhvdXIgIT09IGZhbHNlKSBob3VyID0gcGFyc2VJbnQoaG91ciwxMCk7DQoJCWlmIChtaW51dGUgIT09IGZhbHNlKSBtaW51dGUgPSBwYXJzZUludChtaW51dGUsMTApOw0KCQlpZiAoc2Vjb25kICE9PSBmYWxzZSkgc2Vjb25kID0gcGFyc2VJbnQoc2Vjb25kLDEwKTsNCgkJaWYgKG1pbGxpc2VjICE9PSBmYWxzZSkgbWlsbGlzZWMgPSBwYXJzZUludChtaWxsaXNlYywxMCk7DQoNCgkJdmFyIGFtcG0gPSBvW2hvdXIgPCAxMiA/ICdhbU5hbWVzJyA6ICdwbU5hbWVzJ11bMF07DQoNCgkJLy8gSWYgdGhlIHVwZGF0ZSB3YXMgZG9uZSBpbiB0aGUgaW5wdXQgZmllbGQsIHRoZSBpbnB1dCBmaWVsZCBzaG91bGQgbm90IGJlIHVwZGF0ZWQuDQoJCS8vIElmIHRoZSB1cGRhdGUgd2FzIGRvbmUgdXNpbmcgdGhlIHNsaWRlcnMsIHVwZGF0ZSB0aGUgaW5wdXQgZmllbGQuDQoJCXZhciBoYXNDaGFuZ2VkID0gKGhvdXIgIT0gdGhpcy5ob3VyIHx8IG1pbnV0ZSAhPSB0aGlzLm1pbnV0ZQ0KCQkJCXx8IHNlY29uZCAhPSB0aGlzLnNlY29uZCB8fCBtaWxsaXNlYyAhPSB0aGlzLm1pbGxpc2VjDQoJCQkJfHwgKHRoaXMuYW1wbS5sZW5ndGggPiAwDQoJCQkJICAgICYmIChob3VyIDwgMTIpICE9ICgkLmluQXJyYXkodGhpcy5hbXBtLnRvVXBwZXJDYXNlKCksIHRoaXMuYW1OYW1lcykgIT09IC0xKSkNCgkJCQl8fCB0aW1lem9uZSAhPSB0aGlzLnRpbWV6b25lKTsNCgkJDQoJCWlmIChoYXNDaGFuZ2VkKSB7DQoNCgkJCWlmIChob3VyICE9PSBmYWxzZSl0aGlzLmhvdXIgPSBob3VyOw0KCQkJaWYgKG1pbnV0ZSAhPT0gZmFsc2UpIHRoaXMubWludXRlID0gbWludXRlOw0KCQkJaWYgKHNlY29uZCAhPT0gZmFsc2UpIHRoaXMuc2Vjb25kID0gc2Vjb25kOw0KCQkJaWYgKG1pbGxpc2VjICE9PSBmYWxzZSkgdGhpcy5taWxsaXNlYyA9IG1pbGxpc2VjOw0KCQkJaWYgKHRpbWV6b25lICE9PSBmYWxzZSkgdGhpcy50aW1lem9uZSA9IHRpbWV6b25lOw0KCQkJDQoJCQlpZiAoIXRoaXMuaW5zdCkgdGhpcy5pbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KHRoaXMuJGlucHV0WzBdKTsNCgkJCQ0KCQkJdGhpcy5fbGltaXRNaW5NYXhEYXRlVGltZSh0aGlzLmluc3QsIHRydWUpOw0KCQl9DQoJCWlmIChvLmFtcG0pIHRoaXMuYW1wbSA9IGFtcG07DQoJCQ0KCQkvL3RoaXMuX2Zvcm1hdFRpbWUoKTsNCgkJdGhpcy5mb3JtYXR0ZWRUaW1lID0gJC5kYXRlcGlja2VyLmZvcm1hdFRpbWUodGhpcy5fZGVmYXVsdHMudGltZUZvcm1hdCwgdGhpcywgdGhpcy5fZGVmYXVsdHMpOw0KCQlpZiAodGhpcy4kdGltZU9iaikgdGhpcy4kdGltZU9iai50ZXh0KHRoaXMuZm9ybWF0dGVkVGltZSArIG8udGltZVN1ZmZpeCk7DQoJCXRoaXMudGltZURlZmluZWQgPSB0cnVlOw0KCQlpZiAoaGFzQ2hhbmdlZCkgdGhpcy5fdXBkYXRlRGF0ZVRpbWUoKTsNCgl9LA0KICAgIA0KCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoJLy8gY2FsbCBjdXN0b20gb25TZWxlY3QuIA0KCS8vIGJpbmQgdG8gc2xpZGVycyBzbGlkZXN0b3AsIGFuZCBncmlkIGNsaWNrLg0KCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoJX29uU2VsZWN0SGFuZGxlcjogZnVuY3Rpb24oKSB7DQoJCXZhciBvblNlbGVjdCA9IHRoaXMuX2RlZmF1bHRzLm9uU2VsZWN0Ow0KCQl2YXIgaW5wdXRFbCA9IHRoaXMuJGlucHV0ID8gdGhpcy4kaW5wdXRbMF0gOiBudWxsOw0KCQlpZiAob25TZWxlY3QgJiYgaW5wdXRFbCkgew0KCQkJb25TZWxlY3QuYXBwbHkoaW5wdXRFbCwgW3RoaXMuZm9ybWF0dGVkRGF0ZVRpbWUsIHRoaXNdKTsNCgkJfQ0KCX0sDQoNCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCS8vIGxlZnQgZm9yIGFueSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQ0KCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoJX2Zvcm1hdFRpbWU6IGZ1bmN0aW9uKHRpbWUsIGZvcm1hdCkgew0KCQl0aW1lID0gdGltZSB8fCB7IGhvdXI6IHRoaXMuaG91ciwgbWludXRlOiB0aGlzLm1pbnV0ZSwgc2Vjb25kOiB0aGlzLnNlY29uZCwgbWlsbGlzZWM6IHRoaXMubWlsbGlzZWMsIGFtcG06IHRoaXMuYW1wbSwgdGltZXpvbmU6IHRoaXMudGltZXpvbmUgfTsNCgkJdmFyIHRtcHRpbWUgPSAoZm9ybWF0IHx8IHRoaXMuX2RlZmF1bHRzLnRpbWVGb3JtYXQpLnRvU3RyaW5nKCk7DQoNCgkJdG1wdGltZSA9ICQuZGF0ZXBpY2tlci5mb3JtYXRUaW1lKHRtcHRpbWUsIHRpbWUsIHRoaXMuX2RlZmF1bHRzKTsNCgkJDQoJCWlmIChhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gdG1wdGltZTsNCgkJZWxzZSB0aGlzLmZvcm1hdHRlZFRpbWUgPSB0bXB0aW1lOw0KCX0sDQoNCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCS8vIHVwZGF0ZSBvdXIgaW5wdXQgd2l0aCB0aGUgbmV3IGRhdGUgdGltZS4uDQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCglfdXBkYXRlRGF0ZVRpbWU6IGZ1bmN0aW9uKGRwX2luc3QpIHsNCgkJZHBfaW5zdCA9IHRoaXMuaW5zdCB8fCBkcF9pbnN0Ow0KCQl2YXIgZHQgPSAkLmRhdGVwaWNrZXIuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGRwX2luc3Quc2VsZWN0ZWRZZWFyLCBkcF9pbnN0LnNlbGVjdGVkTW9udGgsIGRwX2luc3Quc2VsZWN0ZWREYXkpKSwNCgkJCWRhdGVGbXQgPSAkLmRhdGVwaWNrZXIuX2dldChkcF9pbnN0LCAnZGF0ZUZvcm1hdCcpLA0KCQkJZm9ybWF0Q2ZnID0gJC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoZHBfaW5zdCksDQoJCQl0aW1lQXZhaWxhYmxlID0gZHQgIT09IG51bGwgJiYgdGhpcy50aW1lRGVmaW5lZDsNCgkJdGhpcy5mb3JtYXR0ZWREYXRlID0gJC5kYXRlcGlja2VyLmZvcm1hdERhdGUoZGF0ZUZtdCwgKGR0ID09PSBudWxsID8gbmV3IERhdGUoKSA6IGR0KSwgZm9ybWF0Q2ZnKTsNCgkJdmFyIGZvcm1hdHRlZERhdGVUaW1lID0gdGhpcy5mb3JtYXR0ZWREYXRlOw0KCQlpZiAoZHBfaW5zdC5sYXN0VmFsICE9PSB1bmRlZmluZWQgJiYgKGRwX2luc3QubGFzdFZhbC5sZW5ndGggPiAwICYmIHRoaXMuJGlucHV0LnZhbCgpLmxlbmd0aCA9PT0gMCkpDQoJCQlyZXR1cm47DQoNCgkJaWYgKHRoaXMuX2RlZmF1bHRzLnRpbWVPbmx5ID09PSB0cnVlKSB7DQoJCQlmb3JtYXR0ZWREYXRlVGltZSA9IHRoaXMuZm9ybWF0dGVkVGltZTsNCgkJfSBlbHNlIGlmICh0aGlzLl9kZWZhdWx0cy50aW1lT25seSAhPT0gdHJ1ZSAmJiAodGhpcy5fZGVmYXVsdHMuYWx3YXlzU2V0VGltZSB8fCB0aW1lQXZhaWxhYmxlKSkgew0KCQkJZm9ybWF0dGVkRGF0ZVRpbWUgKz0gdGhpcy5fZGVmYXVsdHMuc2VwYXJhdG9yICsgdGhpcy5mb3JtYXR0ZWRUaW1lICsgdGhpcy5fZGVmYXVsdHMudGltZVN1ZmZpeDsNCgkJfQ0KDQoJCXRoaXMuZm9ybWF0dGVkRGF0ZVRpbWUgPSBmb3JtYXR0ZWREYXRlVGltZTsNCg0KCQlpZighdGhpcy5fZGVmYXVsdHMuc2hvd1RpbWVwaWNrZXIpIHsNCgkJCXRoaXMuJGlucHV0LnZhbCh0aGlzLmZvcm1hdHRlZERhdGUpOw0KCQl9IGVsc2UgaWYgKHRoaXMuJGFsdElucHV0ICYmIHRoaXMuX2RlZmF1bHRzLmFsdEZpZWxkVGltZU9ubHkgPT09IHRydWUpIHsNCgkJCXRoaXMuJGFsdElucHV0LnZhbCh0aGlzLmZvcm1hdHRlZFRpbWUpOw0KCQkJdGhpcy4kaW5wdXQudmFsKHRoaXMuZm9ybWF0dGVkRGF0ZSk7DQoJCX0gZWxzZSBpZih0aGlzLiRhbHRJbnB1dCkgew0KCQkJdGhpcy4kYWx0SW5wdXQudmFsKGZvcm1hdHRlZERhdGVUaW1lKTsNCgkJCXRoaXMuJGlucHV0LnZhbChmb3JtYXR0ZWREYXRlVGltZSk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLiRpbnB1dC52YWwoZm9ybWF0dGVkRGF0ZVRpbWUpOw0KCQl9DQoJCQ0KCQl0aGlzLiRpbnB1dC50cmlnZ2VyKCJjaGFuZ2UiKTsNCgl9DQoNCn0pOw0KDQokLmZuLmV4dGVuZCh7DQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkvLyBzaG9ydGhhbmQganVzdCB0byB1c2UgdGltZXBpY2tlci4uDQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgl0aW1lcGlja2VyOiBmdW5jdGlvbihvKSB7DQoJCW8gPSBvIHx8IHt9Ow0KCQl2YXIgdG1wX2FyZ3MgPSBhcmd1bWVudHM7DQoNCgkJaWYgKHR5cGVvZiBvID09ICdvYmplY3QnKSB0bXBfYXJnc1swXSA9ICQuZXh0ZW5kKG8sIHsgdGltZU9ubHk6IHRydWUgfSk7DQoNCgkJcmV0dXJuICQodGhpcykuZWFjaChmdW5jdGlvbigpIHsNCgkJCSQuZm4uZGF0ZXRpbWVwaWNrZXIuYXBwbHkoJCh0aGlzKSwgdG1wX2FyZ3MpOw0KCQl9KTsNCgl9LA0KDQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkvLyBleHRlbmQgdGltZXBpY2tlciB0byBkYXRlcGlja2VyDQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCglkYXRldGltZXBpY2tlcjogZnVuY3Rpb24obykgew0KCQlvID0gbyB8fCB7fTsNCgkJdmFyICRpbnB1dCA9IHRoaXMsDQoJCXRtcF9hcmdzID0gYXJndW1lbnRzOw0KDQoJCWlmICh0eXBlb2YobykgPT0gJ3N0cmluZycpew0KCQkJaWYobyA9PSAnZ2V0RGF0ZScpIA0KCQkJCXJldHVybiAkLmZuLmRhdGVwaWNrZXIuYXBwbHkoJCh0aGlzWzBdKSwgdG1wX2FyZ3MpOw0KCQkJZWxzZSANCgkJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCQl2YXIgJHQgPSAkKHRoaXMpOw0KCQkJCQkkdC5kYXRlcGlja2VyLmFwcGx5KCR0LCB0bXBfYXJncyk7DQoJCQkJfSk7DQoJCX0NCgkJZWxzZQ0KCQkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCgkJCQl2YXIgJHQgPSAkKHRoaXMpOw0KCQkJCSR0LmRhdGVwaWNrZXIoJC50aW1lcGlja2VyLl9uZXdJbnN0KCR0LCBvKS5fZGVmYXVsdHMpOw0KCQkJfSk7DQoJfQ0KfSk7DQoNCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQovLyBmb3JtYXQgdGhlIHRpbWUgYWxsIHByZXR0eS4uLiANCi8vIGZvcm1hdCA9IHN0cmluZyBmb3JtYXQgb2YgdGhlIHRpbWUNCi8vIHRpbWUgPSBhIHt9LCBub3QgYSBEYXRlKCkgZm9yIHRpbWV6b25lcw0KLy8gb3B0aW9ucyA9IGVzc2VudGlhbGx5IHRoZSByZWdpb25hbFtdLi4gYW1OYW1lcywgcG1OYW1lcywgYW1wbQ0KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiQuZGF0ZXBpY2tlci5mb3JtYXRUaW1lID0gZnVuY3Rpb24oZm9ybWF0LCB0aW1lLCBvcHRpb25zKSB7DQoJb3B0aW9ucyA9IG9wdGlvbnMgfHwge307DQoJb3B0aW9ucyA9ICQuZXh0ZW5kKCQudGltZXBpY2tlci5fZGVmYXVsdHMsIG9wdGlvbnMpOw0KCXRpbWUgPSAkLmV4dGVuZCh7aG91cjowLCBtaW51dGU6MCwgc2Vjb25kOjAsIG1pbGxpc2VjOjAsIHRpbWV6b25lOicrMDAwMCd9LCB0aW1lKTsNCgkNCgl2YXIgdG1wdGltZSA9IGZvcm1hdDsNCgl2YXIgYW1wbU5hbWUgPSBvcHRpb25zWydhbU5hbWVzJ11bMF07DQoNCgl2YXIgaG91ciA9IHBhcnNlSW50KHRpbWUuaG91ciwgMTApOw0KCWlmIChvcHRpb25zLmFtcG0pIHsNCgkJaWYgKGhvdXIgPiAxMSl7DQoJCQlhbXBtTmFtZSA9IG9wdGlvbnNbJ3BtTmFtZXMnXVswXTsNCgkJCWlmKGhvdXIgPiAxMikNCgkJCQlob3VyID0gaG91ciAlIDEyOw0KCQl9DQoJCWlmIChob3VyID09PSAwKQ0KCQkJaG91ciA9IDEyOw0KCX0NCgl0bXB0aW1lID0gdG1wdGltZS5yZXBsYWNlKC8oPzpoaD98bW0/fHNzP3xbdFRdezEsMn18W2x6XSkvZywgZnVuY3Rpb24obWF0Y2gpIHsNCgkJc3dpdGNoIChtYXRjaC50b0xvd2VyQ2FzZSgpKSB7DQoJCQljYXNlICdoaCc6IHJldHVybiAoJzAnICsgaG91cikuc2xpY2UoLTIpOw0KCQkJY2FzZSAnaCc6ICByZXR1cm4gaG91cjsNCgkJCWNhc2UgJ21tJzogcmV0dXJuICgnMCcgKyB0aW1lLm1pbnV0ZSkuc2xpY2UoLTIpOw0KCQkJY2FzZSAnbSc6ICByZXR1cm4gdGltZS5taW51dGU7DQoJCQljYXNlICdzcyc6IHJldHVybiAoJzAnICsgdGltZS5zZWNvbmQpLnNsaWNlKC0yKTsNCgkJCWNhc2UgJ3MnOiAgcmV0dXJuIHRpbWUuc2Vjb25kOw0KCQkJY2FzZSAnbCc6ICByZXR1cm4gKCcwMCcgKyB0aW1lLm1pbGxpc2VjKS5zbGljZSgtMyk7DQoJCQljYXNlICd6JzogIHJldHVybiB0aW1lLnRpbWV6b25lOw0KCQkJY2FzZSAndCc6IGNhc2UgJ3R0JzoNCgkJCQlpZiAob3B0aW9ucy5hbXBtKSB7DQoJCQkJCWlmIChtYXRjaC5sZW5ndGggPT0gMSkNCgkJCQkJCWFtcG1OYW1lID0gYW1wbU5hbWUuY2hhckF0KDApOw0KCQkJCQlyZXR1cm4gbWF0Y2guY2hhckF0KDApID09ICdUJyA/IGFtcG1OYW1lLnRvVXBwZXJDYXNlKCkgOiBhbXBtTmFtZS50b0xvd2VyQ2FzZSgpOw0KCQkJCX0NCgkJCQlyZXR1cm4gJyc7DQoJCX0NCgl9KTsNCg0KCXRtcHRpbWUgPSAkLnRyaW0odG1wdGltZSk7DQoJcmV0dXJuIHRtcHRpbWU7DQp9DQoNCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQovLyB0aGUgYmFkIGhhY2sgOi8gb3ZlcnJpZGUgZGF0ZXBpY2tlciBzbyBpdCBkb2VzbnQgY2xvc2Ugb24gc2VsZWN0DQovLyBpbnNwaXJlZDogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMjUyNTEyL2pxdWVyeS1kYXRlcGlja2VyLXByZXZlbnQtY2xvc2luZy1waWNrZXItd2hlbi1jbGlja2luZy1hLWRhdGUvMTc2MjM3OCMxNzYyMzc4DQovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KJC5kYXRlcGlja2VyLl9iYXNlX3NlbGVjdERhdGUgPSAkLmRhdGVwaWNrZXIuX3NlbGVjdERhdGU7DQokLmRhdGVwaWNrZXIuX3NlbGVjdERhdGUgPSBmdW5jdGlvbiAoaWQsIGRhdGVTdHIpIHsNCgl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QoJChpZClbMF0pLA0KCQl0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7DQoNCglpZiAodHBfaW5zdCkgew0KCQl0cF9pbnN0Ll9saW1pdE1pbk1heERhdGVUaW1lKGluc3QsIHRydWUpOw0KCQlpbnN0LmlubGluZSA9IGluc3Quc3RheV9vcGVuID0gdHJ1ZTsNCgkJLy9UaGlzIHdheSB0aGUgb25TZWxlY3QgaGFuZGxlciBjYWxsZWQgZnJvbSBjYWxlbmRhcnBpY2tlciBnZXQgdGhlIGZ1bGwgZGF0ZVRpbWUNCgkJdGhpcy5fYmFzZV9zZWxlY3REYXRlKGlkLCBkYXRlU3RyKTsNCgkJaW5zdC5pbmxpbmUgPSBpbnN0LnN0YXlfb3BlbiA9IGZhbHNlOw0KCQl0aGlzLl9ub3RpZnlDaGFuZ2UoaW5zdCk7DQoJCXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7DQoJfQ0KCWVsc2UgdGhpcy5fYmFzZV9zZWxlY3REYXRlKGlkLCBkYXRlU3RyKTsNCn07DQoNCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQovLyBzZWNvbmQgYmFkIGhhY2sgOi8gb3ZlcnJpZGUgZGF0ZXBpY2tlciBzbyBpdCB0cmlnZ2VycyBhbiBldmVudCB3aGVuIGNoYW5naW5nIHRoZSBpbnB1dCBmaWVsZA0KLy8gYW5kIGRvZXMgbm90IHJlZHJhdyB0aGUgZGF0ZXBpY2tlciBvbiBldmVyeSBzZWxlY3REYXRlIGV2ZW50DQovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KJC5kYXRlcGlja2VyLl9iYXNlX3VwZGF0ZURhdGVwaWNrZXIgPSAkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXI7DQokLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIgPSBmdW5jdGlvbihpbnN0KSB7DQoNCgkvLyBkb24ndCBwb3B1cCB0aGUgZGF0ZXBpY2tlciBpZiB0aGVyZSBpcyBhbm90aGVyIGluc3RhbmNlIGFscmVhZHkgb3BlbmVkDQoJdmFyIGlucHV0ID0gaW5zdC5pbnB1dFswXTsNCglpZigkLmRhdGVwaWNrZXIuX2N1ckluc3QgJiYNCgkgICAkLmRhdGVwaWNrZXIuX2N1ckluc3QgIT0gaW5zdCAmJg0KCSAgICQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcgJiYNCgkgICAkLmRhdGVwaWNrZXIuX2xhc3RJbnB1dCAhPSBpbnB1dCkgew0KCQlyZXR1cm47DQoJfQ0KDQoJaWYgKHR5cGVvZihpbnN0LnN0YXlfb3BlbikgIT09ICdib29sZWFuJyB8fCBpbnN0LnN0YXlfb3BlbiA9PT0gZmFsc2UpIHsNCgkJCQkNCgkJdGhpcy5fYmFzZV91cGRhdGVEYXRlcGlja2VyKGluc3QpOw0KCQkNCgkJLy8gUmVsb2FkIHRoZSB0aW1lIGNvbnRyb2wgd2hlbiBjaGFuZ2luZyBzb21ldGhpbmcgaW4gdGhlIGlucHV0IHRleHQgZmllbGQuDQoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7DQoJCWlmKHRwX2luc3QpIHRwX2luc3QuX2FkZFRpbWVQaWNrZXIoaW5zdCk7DQoJfQ0KfTsNCg0KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCi8vIHRoaXJkIGJhZCBoYWNrIDovIG92ZXJyaWRlIGRhdGVwaWNrZXIgc28gaXQgYWxsb3dzIHNwYWNlcyBhbmQgY29sb24gaW4gdGhlIGlucHV0IGZpZWxkDQovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KJC5kYXRlcGlja2VyLl9iYXNlX2RvS2V5UHJlc3MgPSAkLmRhdGVwaWNrZXIuX2RvS2V5UHJlc3M7DQokLmRhdGVwaWNrZXIuX2RvS2V5UHJlc3MgPSBmdW5jdGlvbihldmVudCkgew0KCXZhciBpbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KGV2ZW50LnRhcmdldCksDQoJCXRwX2luc3QgPSAkLmRhdGVwaWNrZXIuX2dldChpbnN0LCAndGltZXBpY2tlcicpOw0KDQoJaWYgKHRwX2luc3QpIHsNCgkJaWYgKCQuZGF0ZXBpY2tlci5fZ2V0KGluc3QsICdjb25zdHJhaW5JbnB1dCcpKSB7DQoJCQl2YXIgYW1wbSA9IHRwX2luc3QuX2RlZmF1bHRzLmFtcG0sDQoJCQkJZGF0ZUNoYXJzID0gJC5kYXRlcGlja2VyLl9wb3NzaWJsZUNoYXJzKCQuZGF0ZXBpY2tlci5fZ2V0KGluc3QsICdkYXRlRm9ybWF0JykpLA0KCQkJCWRhdGV0aW1lQ2hhcnMgPSB0cF9pbnN0Ll9kZWZhdWx0cy50aW1lRm9ybWF0LnRvU3RyaW5nKCkNCgkJCQkJCQkJLnJlcGxhY2UoL1tobXNdL2csICcnKQ0KCQkJCQkJCQkucmVwbGFjZSgvVFQvZywgYW1wbSA/ICdBUE0nIDogJycpDQoJCQkJCQkJCS5yZXBsYWNlKC9UdC9nLCBhbXBtID8gJ0FhUHBNbScgOiAnJykNCgkJCQkJCQkJLnJlcGxhY2UoL3RUL2csIGFtcG0gPyAnQWFQcE1tJyA6ICcnKQ0KCQkJCQkJCQkucmVwbGFjZSgvVC9nLCBhbXBtID8gJ0FQJyA6ICcnKQ0KCQkJCQkJCQkucmVwbGFjZSgvdHQvZywgYW1wbSA/ICdhcG0nIDogJycpDQoJCQkJCQkJCS5yZXBsYWNlKC90L2csIGFtcG0gPyAnYXAnIDogJycpICsNCgkJCQkJCQkJIiAiICsNCgkJCQkJCQkJdHBfaW5zdC5fZGVmYXVsdHMuc2VwYXJhdG9yICsNCgkJCQkJCQkJdHBfaW5zdC5fZGVmYXVsdHMudGltZVN1ZmZpeCArDQoJCQkJCQkJCSh0cF9pbnN0Ll9kZWZhdWx0cy5zaG93VGltZXpvbmUgPyB0cF9pbnN0Ll9kZWZhdWx0cy50aW1lem9uZUxpc3Quam9pbignJykgOiAnJykgKw0KCQkJCQkJCQkodHBfaW5zdC5fZGVmYXVsdHMuYW1OYW1lcy5qb2luKCcnKSkgKw0KCQkJCQkJCQkodHBfaW5zdC5fZGVmYXVsdHMucG1OYW1lcy5qb2luKCcnKSkgKw0KCQkJCQkJCQlkYXRlQ2hhcnMsDQoJCQkJY2hyID0gU3RyaW5nLmZyb21DaGFyQ29kZShldmVudC5jaGFyQ29kZSA9PT0gdW5kZWZpbmVkID8gZXZlbnQua2V5Q29kZSA6IGV2ZW50LmNoYXJDb2RlKTsNCgkJCXJldHVybiBldmVudC5jdHJsS2V5IHx8IChjaHIgPCAnICcgfHwgIWRhdGVDaGFycyB8fCBkYXRldGltZUNoYXJzLmluZGV4T2YoY2hyKSA+IC0xKTsNCgkJfQ0KCX0NCgkNCglyZXR1cm4gJC5kYXRlcGlja2VyLl9iYXNlX2RvS2V5UHJlc3MoZXZlbnQpOw0KfTsNCg0KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCi8vIE92ZXJyaWRlIGtleSB1cCBldmVudCB0byBzeW5jIG1hbnVhbCBpbnB1dCBjaGFuZ2VzLg0KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiQuZGF0ZXBpY2tlci5fYmFzZV9kb0tleVVwID0gJC5kYXRlcGlja2VyLl9kb0tleVVwOw0KJC5kYXRlcGlja2VyLl9kb0tleVVwID0gZnVuY3Rpb24gKGV2ZW50KSB7DQoJdmFyIGluc3QgPSAkLmRhdGVwaWNrZXIuX2dldEluc3QoZXZlbnQudGFyZ2V0KSwNCgkJdHBfaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7DQoNCglpZiAodHBfaW5zdCkgew0KCQlpZiAodHBfaW5zdC5fZGVmYXVsdHMudGltZU9ubHkgJiYgKGluc3QuaW5wdXQudmFsKCkgIT0gaW5zdC5sYXN0VmFsKSkgew0KCQkJdHJ5IHsNCgkJCQkkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7DQoJCQl9DQoJCQljYXRjaCAoZXJyKSB7DQoJCQkJJC5kYXRlcGlja2VyLmxvZyhlcnIpOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJcmV0dXJuICQuZGF0ZXBpY2tlci5fYmFzZV9kb0tleVVwKGV2ZW50KTsNCn07DQoNCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQovLyBvdmVycmlkZSAiVG9kYXkiIGJ1dHRvbiB0byBhbHNvIGdyYWIgdGhlIHRpbWUuDQovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KJC5kYXRlcGlja2VyLl9iYXNlX2dvdG9Ub2RheSA9ICQuZGF0ZXBpY2tlci5fZ290b1RvZGF5Ow0KJC5kYXRlcGlja2VyLl9nb3RvVG9kYXkgPSBmdW5jdGlvbihpZCkgew0KCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCgkKGlkKVswXSksDQoJCSRkcCA9IGluc3QuZHBEaXY7DQoJdGhpcy5fYmFzZV9nb3RvVG9kYXkoaWQpOw0KCXZhciBub3cgPSBuZXcgRGF0ZSgpOw0KCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7DQoJaWYgKHRwX2luc3QgJiYgdHBfaW5zdC5fZGVmYXVsdHMuc2hvd1RpbWV6b25lICYmIHRwX2luc3QudGltZXpvbmVfc2VsZWN0KSB7DQoJCXZhciB0em9mZnNldCA9IG5vdy5nZXRUaW1lem9uZU9mZnNldCgpOyAvLyBJZiArMDEwMCwgcmV0dXJucyAtNjANCgkJdmFyIHR6c2lnbiA9IHR6b2Zmc2V0ID4gMCA/ICctJyA6ICcrJzsNCgkJdHpvZmZzZXQgPSBNYXRoLmFicyh0em9mZnNldCk7DQoJCXZhciB0em1pbiA9IHR6b2Zmc2V0ICUgNjA7DQoJCXR6b2Zmc2V0ID0gdHpzaWduICsgKCcwJyArICh0em9mZnNldCAtIHR6bWluKSAvIDYwKS5zbGljZSgtMikgKyAoJzAnICsgdHptaW4pLnNsaWNlKC0yKTsNCgkJaWYgKHRwX2luc3QuX2RlZmF1bHRzLnRpbWV6b25lSXNvODYwOSkNCgkJCXR6b2Zmc2V0ID0gdHpvZmZzZXQuc3Vic3RyaW5nKDAsIDMpICsgJzonICsgdHpvZmZzZXQuc3Vic3RyaW5nKDMpOw0KCQl0cF9pbnN0LnRpbWV6b25lX3NlbGVjdC52YWwodHpvZmZzZXQpOw0KCX0NCgl0aGlzLl9zZXRUaW1lKGluc3QsIG5vdyk7DQoJJCggJy51aS1kYXRlcGlja2VyLXRvZGF5JywgJGRwKS5jbGljaygpOyANCn07DQoNCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQovLyBEaXNhYmxlICYgZW5hYmxlIHRoZSBUaW1lIGluIHRoZSBkYXRldGltZXBpY2tlcg0KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiQuZGF0ZXBpY2tlci5fZGlzYWJsZVRpbWVwaWNrZXJEYXRlcGlja2VyID0gZnVuY3Rpb24odGFyZ2V0LCBkYXRlLCB3aXRoRGF0ZSkgew0KCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCh0YXJnZXQpLA0KCXRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsNCgkkKHRhcmdldCkuZGF0ZXBpY2tlcignZ2V0RGF0ZScpOyAvLyBJbml0IHNlbGVjdGVkW1llYXJ8TW9udGh8RGF5XQ0KCWlmICh0cF9pbnN0KSB7DQoJCXRwX2luc3QuX2RlZmF1bHRzLnNob3dUaW1lcGlja2VyID0gZmFsc2U7DQoJCXRwX2luc3QuX3VwZGF0ZURhdGVUaW1lKGluc3QpOw0KCX0NCn07DQoNCiQuZGF0ZXBpY2tlci5fZW5hYmxlVGltZXBpY2tlckRhdGVwaWNrZXIgPSBmdW5jdGlvbih0YXJnZXQsIGRhdGUsIHdpdGhEYXRlKSB7DQoJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCksDQoJdHBfaW5zdCA9IHRoaXMuX2dldChpbnN0LCAndGltZXBpY2tlcicpOw0KCSQodGFyZ2V0KS5kYXRlcGlja2VyKCdnZXREYXRlJyk7IC8vIEluaXQgc2VsZWN0ZWRbWWVhcnxNb250aHxEYXldDQoJaWYgKHRwX2luc3QpIHsNCgkJdHBfaW5zdC5fZGVmYXVsdHMuc2hvd1RpbWVwaWNrZXIgPSB0cnVlOw0KCQl0cF9pbnN0Ll9hZGRUaW1lUGlja2VyKGluc3QpOyAvLyBDb3VsZCBiZSBkaXNhYmxlZCBvbiBwYWdlIGxvYWQNCgkJdHBfaW5zdC5fdXBkYXRlRGF0ZVRpbWUoaW5zdCk7DQoJfQ0KfTsNCg0KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCi8vIENyZWF0ZSBvdXIgb3duIHNldCB0aW1lIGZ1bmN0aW9uDQovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KJC5kYXRlcGlja2VyLl9zZXRUaW1lID0gZnVuY3Rpb24oaW5zdCwgZGF0ZSkgew0KCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7DQoJaWYgKHRwX2luc3QpIHsNCgkJdmFyIGRlZmF1bHRzID0gdHBfaW5zdC5fZGVmYXVsdHMsDQoJCQkvLyBjYWxsaW5nIF9zZXRUaW1lIHdpdGggbm8gZGF0ZSBzZXRzIHRpbWUgdG8gZGVmYXVsdHMNCgkJCWhvdXIgPSBkYXRlID8gZGF0ZS5nZXRIb3VycygpIDogZGVmYXVsdHMuaG91ciwNCgkJCW1pbnV0ZSA9IGRhdGUgPyBkYXRlLmdldE1pbnV0ZXMoKSA6IGRlZmF1bHRzLm1pbnV0ZSwNCgkJCXNlY29uZCA9IGRhdGUgPyBkYXRlLmdldFNlY29uZHMoKSA6IGRlZmF1bHRzLnNlY29uZCwNCgkJCW1pbGxpc2VjID0gZGF0ZSA/IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkgOiBkZWZhdWx0cy5taWxsaXNlYzsNCg0KCQkvL2NoZWNrIGlmIHdpdGhpbiBtaW4vbWF4IHRpbWVzLi4NCgkJaWYgKChob3VyIDwgZGVmYXVsdHMuaG91ck1pbiB8fCBob3VyID4gZGVmYXVsdHMuaG91ck1heCkgfHwgKG1pbnV0ZSA8IGRlZmF1bHRzLm1pbnV0ZU1pbiB8fCBtaW51dGUgPiBkZWZhdWx0cy5taW51dGVNYXgpIHx8IChzZWNvbmQgPCBkZWZhdWx0cy5zZWNvbmRNaW4gfHwgc2Vjb25kID4gZGVmYXVsdHMuc2Vjb25kTWF4KSB8fCAobWlsbGlzZWMgPCBkZWZhdWx0cy5taWxsaXNlY01pbiB8fCBtaWxsaXNlYyA+IGRlZmF1bHRzLm1pbGxpc2VjTWF4KSkgew0KCQkJaG91ciA9IGRlZmF1bHRzLmhvdXJNaW47DQoJCQltaW51dGUgPSBkZWZhdWx0cy5taW51dGVNaW47DQoJCQlzZWNvbmQgPSBkZWZhdWx0cy5zZWNvbmRNaW47DQoJCQltaWxsaXNlYyA9IGRlZmF1bHRzLm1pbGxpc2VjTWluOw0KCQl9DQoNCgkJdHBfaW5zdC5ob3VyID0gaG91cjsNCgkJdHBfaW5zdC5taW51dGUgPSBtaW51dGU7DQoJCXRwX2luc3Quc2Vjb25kID0gc2Vjb25kOw0KCQl0cF9pbnN0Lm1pbGxpc2VjID0gbWlsbGlzZWM7DQoNCgkJaWYgKHRwX2luc3QuaG91cl9zbGlkZXIpIHRwX2luc3QuaG91cl9zbGlkZXIuc2xpZGVyKCd2YWx1ZScsIGhvdXIpOw0KCQlpZiAodHBfaW5zdC5taW51dGVfc2xpZGVyKSB0cF9pbnN0Lm1pbnV0ZV9zbGlkZXIuc2xpZGVyKCd2YWx1ZScsIG1pbnV0ZSk7DQoJCWlmICh0cF9pbnN0LnNlY29uZF9zbGlkZXIpIHRwX2luc3Quc2Vjb25kX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJywgc2Vjb25kKTsNCgkJaWYgKHRwX2luc3QubWlsbGlzZWNfc2xpZGVyKSB0cF9pbnN0Lm1pbGxpc2VjX3NsaWRlci5zbGlkZXIoJ3ZhbHVlJywgbWlsbGlzZWMpOw0KDQoJCXRwX2luc3QuX29uVGltZUNoYW5nZSgpOw0KCQl0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShpbnN0KTsNCgl9DQp9Ow0KDQovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KLy8gQ3JlYXRlIG5ldyBwdWJsaWMgbWV0aG9kIHRvIHNldCBvbmx5IHRpbWUsIGNhbGxhYmxlIGFzICQoKS5kYXRlcGlja2VyKCdzZXRUaW1lJywgZGF0ZSkNCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQokLmRhdGVwaWNrZXIuX3NldFRpbWVEYXRlcGlja2VyID0gZnVuY3Rpb24odGFyZ2V0LCBkYXRlLCB3aXRoRGF0ZSkgew0KCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCh0YXJnZXQpLA0KCQl0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7DQoNCglpZiAodHBfaW5zdCkgew0KCQl0aGlzLl9zZXREYXRlRnJvbUZpZWxkKGluc3QpOw0KCQl2YXIgdHBfZGF0ZTsNCgkJaWYgKGRhdGUpIHsNCgkJCWlmICh0eXBlb2YgZGF0ZSA9PSAic3RyaW5nIikgew0KCQkJCXRwX2luc3QuX3BhcnNlVGltZShkYXRlLCB3aXRoRGF0ZSk7DQoJCQkJdHBfZGF0ZSA9IG5ldyBEYXRlKCk7DQoJCQkJdHBfZGF0ZS5zZXRIb3Vycyh0cF9pbnN0LmhvdXIsIHRwX2luc3QubWludXRlLCB0cF9pbnN0LnNlY29uZCwgdHBfaW5zdC5taWxsaXNlYyk7DQoJCQl9DQoJCQllbHNlIHRwX2RhdGUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSk7DQoJCQlpZiAodHBfZGF0ZS50b1N0cmluZygpID09ICdJbnZhbGlkIERhdGUnKSB0cF9kYXRlID0gdW5kZWZpbmVkOw0KCQkJdGhpcy5fc2V0VGltZShpbnN0LCB0cF9kYXRlKTsNCgkJfQ0KCX0NCg0KfTsNCg0KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCi8vIG92ZXJyaWRlIHNldERhdGUoKSB0byBhbGxvdyBzZXR0aW5nIHRpbWUgdG9vIHdpdGhpbiBEYXRlIG9iamVjdA0KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiQuZGF0ZXBpY2tlci5fYmFzZV9zZXREYXRlRGF0ZXBpY2tlciA9ICQuZGF0ZXBpY2tlci5fc2V0RGF0ZURhdGVwaWNrZXI7DQokLmRhdGVwaWNrZXIuX3NldERhdGVEYXRlcGlja2VyID0gZnVuY3Rpb24odGFyZ2V0LCBkYXRlKSB7DQoJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCksDQoJdHBfZGF0ZSA9IChkYXRlIGluc3RhbmNlb2YgRGF0ZSkgPyBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSkgOiBkYXRlOw0KDQoJdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihpbnN0KTsNCgl0aGlzLl9iYXNlX3NldERhdGVEYXRlcGlja2VyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7DQoJdGhpcy5fc2V0VGltZURhdGVwaWNrZXIodGFyZ2V0LCB0cF9kYXRlLCB0cnVlKTsNCn07DQoNCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQovLyBvdmVycmlkZSBnZXREYXRlKCkgdG8gYWxsb3cgZ2V0dGluZyB0aW1lIHRvbyB3aXRoaW4gRGF0ZSBvYmplY3QNCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQokLmRhdGVwaWNrZXIuX2Jhc2VfZ2V0RGF0ZURhdGVwaWNrZXIgPSAkLmRhdGVwaWNrZXIuX2dldERhdGVEYXRlcGlja2VyOw0KJC5kYXRlcGlja2VyLl9nZXREYXRlRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKHRhcmdldCwgbm9EZWZhdWx0KSB7DQoJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCksDQoJCXRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsNCg0KCWlmICh0cF9pbnN0KSB7DQoJCXRoaXMuX3NldERhdGVGcm9tRmllbGQoaW5zdCwgbm9EZWZhdWx0KTsNCgkJdmFyIGRhdGUgPSB0aGlzLl9nZXREYXRlKGluc3QpOw0KCQlpZiAoZGF0ZSAmJiB0cF9pbnN0Ll9wYXJzZVRpbWUoJCh0YXJnZXQpLnZhbCgpLCB0cF9pbnN0LnRpbWVPbmx5KSkgZGF0ZS5zZXRIb3Vycyh0cF9pbnN0LmhvdXIsIHRwX2luc3QubWludXRlLCB0cF9pbnN0LnNlY29uZCwgdHBfaW5zdC5taWxsaXNlYyk7DQoJCXJldHVybiBkYXRlOw0KCX0NCglyZXR1cm4gdGhpcy5fYmFzZV9nZXREYXRlRGF0ZXBpY2tlcih0YXJnZXQsIG5vRGVmYXVsdCk7DQp9Ow0KDQovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KLy8gb3ZlcnJpZGUgcGFyc2VEYXRlKCkgYmVjYXVzZSBVSSAxLjguMTQgdGhyb3dzIGFuIGVycm9yIGFib3V0ICJFeHRyYSBjaGFyYWN0ZXJzIg0KLy8gQW4gb3B0aW9uIGluIGRhdGFwaWNrZXIgdG8gaWdub3JlIGV4dHJhIGZvcm1hdCBjaGFyYWN0ZXJzIHdvdWxkIGJlIG5pY2VyLg0KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiQuZGF0ZXBpY2tlci5fYmFzZV9wYXJzZURhdGUgPSAkLmRhdGVwaWNrZXIucGFyc2VEYXRlOw0KJC5kYXRlcGlja2VyLnBhcnNlRGF0ZSA9IGZ1bmN0aW9uKGZvcm1hdCwgdmFsdWUsIHNldHRpbmdzKSB7DQoJdmFyIGRhdGU7DQoJdHJ5IHsNCgkJZGF0ZSA9IHRoaXMuX2Jhc2VfcGFyc2VEYXRlKGZvcm1hdCwgdmFsdWUsIHNldHRpbmdzKTsNCgl9IGNhdGNoIChlcnIpIHsNCgkJaWYgKGVyci5pbmRleE9mKCI6IikgPj0gMCkgew0KCQkJLy8gSGFjayEgIFRoZSBlcnJvciBtZXNzYWdlIGVuZHMgd2l0aCBhIGNvbG9uLCBhIHNwYWNlLCBhbmQNCgkJCS8vIHRoZSAiZXh0cmEiIGNoYXJhY3RlcnMuICBXZSByZWx5IG9uIHRoYXQgaW5zdGVhZCBvZg0KCQkJLy8gYXR0ZW1wdGluZyB0byBwZXJmZWN0bHkgcmVwcm9kdWNlIHRoZSBwYXJzaW5nIGFsZ29yaXRobS4NCgkJCWRhdGUgPSB0aGlzLl9iYXNlX3BhcnNlRGF0ZShmb3JtYXQsIHZhbHVlLnN1YnN0cmluZygwLHZhbHVlLmxlbmd0aC0oZXJyLmxlbmd0aC1lcnIuaW5kZXhPZignOicpLTIpKSwgc2V0dGluZ3MpOw0KCQl9IGVsc2Ugew0KCQkJLy8gVGhlIHVuZGVybHlpbmcgZXJyb3Igd2FzIG5vdCByZWxhdGVkIHRvIHRoZSB0aW1lDQoJCQl0aHJvdyBlcnI7DQoJCX0NCgl9DQoJcmV0dXJuIGRhdGU7DQp9Ow0KDQovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KLy8gb3ZlcnJpZGUgZm9ybWF0RGF0ZSB0byBzZXQgZGF0ZSB3aXRoIHRpbWUgdG8gdGhlIGlucHV0DQovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KJC5kYXRlcGlja2VyLl9iYXNlX2Zvcm1hdERhdGU9JC5kYXRlcGlja2VyLl9mb3JtYXREYXRlOw0KJC5kYXRlcGlja2VyLl9mb3JtYXREYXRlID0gZnVuY3Rpb24oaW5zdCwgZGF5LCBtb250aCwgeWVhcil7DQoJdmFyIHRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsNCglpZih0cF9pbnN0KQ0KCXsNCgkJaWYoZGF5KQ0KCQkJdmFyIGIgPSB0aGlzLl9iYXNlX2Zvcm1hdERhdGUoaW5zdCwgZGF5LCBtb250aCwgeWVhcik7DQoJCXRwX2luc3QuX3VwZGF0ZURhdGVUaW1lKGluc3QpOwkNCgkJcmV0dXJuIHRwX2luc3QuJGlucHV0LnZhbCgpOw0KCX0NCglyZXR1cm4gdGhpcy5fYmFzZV9mb3JtYXREYXRlKGluc3QpOw0KfTsNCg0KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCi8vIG92ZXJyaWRlIG9wdGlvbnMgc2V0dGVyIHRvIGFkZCB0aW1lIHRvIG1heERhdGUoVGltZSkgYW5kIG1pbkRhdGUoVGltZSkuIE1heERhdGUNCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQokLmRhdGVwaWNrZXIuX2Jhc2Vfb3B0aW9uRGF0ZXBpY2tlciA9ICQuZGF0ZXBpY2tlci5fb3B0aW9uRGF0ZXBpY2tlcjsNCiQuZGF0ZXBpY2tlci5fb3B0aW9uRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKHRhcmdldCwgbmFtZSwgdmFsdWUpIHsNCgl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0KSwNCgkJdHBfaW5zdCA9IHRoaXMuX2dldChpbnN0LCAndGltZXBpY2tlcicpOw0KCWlmICh0cF9pbnN0KSB7DQoJCXZhciBtaW4sbWF4LG9uc2VsZWN0Ow0KCQlpZiAodHlwZW9mIG5hbWUgPT0gJ3N0cmluZycpIHsgLy8gaWYgbWluL21heCB3YXMgc2V0IHdpdGggdGhlIHN0cmluZw0KCQkJaWYgKG5hbWU9PT0nbWluRGF0ZScgfHwgbmFtZT09PSdtaW5EYXRlVGltZScgKQ0KCQkJCW1pbiA9IHZhbHVlOw0KCQkJZWxzZSBpZiAobmFtZT09PSdtYXhEYXRlJyB8fCBuYW1lPT09J21heERhdGVUaW1lJykNCgkJCQltYXggPSB2YWx1ZTsNCgkJCWVsc2UgaWYgKG5hbWU9PT0nb25TZWxlY3QnKQ0KCQkJCW9uc2VsZWN0PXZhbHVlOw0KCQl9IGVsc2UgaWYgKHR5cGVvZiBuYW1lID09ICdvYmplY3QnKSB7IC8vaWYgbWluL21heCB3YXMgc2V0IHdpdGggdGhlIEpTT04NCgkJCWlmKG5hbWUubWluRGF0ZSkNCgkJCQltaW4gPSBuYW1lLm1pbkRhdGU7DQoJCQllbHNlIGlmIChuYW1lLm1pbkRhdGVUaW1lKQ0KCQkJCW1pbiA9IG5hbWUubWluRGF0ZVRpbWU7DQoJCQllbHNlIGlmIChuYW1lLm1heERhdGUpDQoJCQkJbWF4ID0gbmFtZS5tYXhEYXRlOw0KCQkJZWxzZSBpZiAobmFtZS5tYXhEYXRlVGltZSkNCgkJCQltYXggPSBuYW1lLm1heERhdGVUaW1lOw0KCQl9DQoJCWlmKG1pbil7IC8vaWYgbWluIHdhcyBzZXQNCgkJCWlmKG1pbj09MCkNCgkJCQltaW49bmV3IERhdGUoKTsNCgkJCWVsc2UNCgkJCQltaW49IG5ldyBEYXRlKG1pbik7DQoJCQkNCgkJCXRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGUgPSBtaW47DQoJCQl0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlVGltZSA9IG1pbjsNCgkJfSBlbHNlIGlmIChtYXgpeyAvL2lmIG1heCB3YXMgc2V0DQoJCQlpZihtYXg9PTApDQoJCQkJbWF4PW5ldyBEYXRlKCk7DQoJCQllbHNlDQoJCQkJbWF4PSBuZXcgRGF0ZShtYXgpOw0KCQkJdHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZSA9IG1heDsNCgkJCXRwX2luc3QuX2RlZmF1bHRzLm1heERhdGVUaW1lID0gbWF4Ow0KCQl9DQoJCWVsc2UgaWYgKG9uc2VsZWN0KQ0KCQkJdHBfaW5zdC5fZGVmYXVsdHMub25TZWxlY3Q9b25zZWxlY3Q7DQoJfQ0KCWlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKQ0KCQlyZXR1cm4gdGhpcy5fYmFzZV9vcHRpb25EYXRlcGlja2VyKHRhcmdldCwgbmFtZSk7DQoJcmV0dXJuIHRoaXMuX2Jhc2Vfb3B0aW9uRGF0ZXBpY2tlcih0YXJnZXQsIG5hbWUsIHZhbHVlKTsNCn07DQoNCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQovLyBqUXVlcnkgZXh0ZW5kIG5vdyBpZ25vcmVzIG51bGxzIQ0KLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCmZ1bmN0aW9uIGV4dGVuZFJlbW92ZSh0YXJnZXQsIHByb3BzKSB7DQoJJC5leHRlbmQodGFyZ2V0LCBwcm9wcyk7DQoJZm9yICh2YXIgbmFtZSBpbiBwcm9wcykNCgkJaWYgKHByb3BzW25hbWVdID09PSBudWxsIHx8IHByb3BzW25hbWVdID09PSB1bmRlZmluZWQpDQoJCQl0YXJnZXRbbmFtZV0gPSBwcm9wc1tuYW1lXTsNCglyZXR1cm4gdGFyZ2V0Ow0KfTsNCg0KJC50aW1lcGlja2VyID0gbmV3IFRpbWVwaWNrZXIoKTsgLy8gc2luZ2xldG9uIGluc3RhbmNlDQokLnRpbWVwaWNrZXIudmVyc2lvbiA9ICIwLjkuOSI7DQoNCn0pKGpRdWVyeSk7DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/jquery-ui.smoothness.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS44LjEyCiAqCiAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9UaGVtaW5nL0FQSQogKi8KCi8qIExheW91dCBoZWxwZXJzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoudWktaGVscGVyLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH0KLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7IGNsaXA6IHJlY3QoMXB4LDFweCwxcHgsMXB4KTsgfQoudWktaGVscGVyLXJlc2V0IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IG91dGxpbmU6IDA7IGxpbmUtaGVpZ2h0OiAxLjM7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZm9udC1zaXplOiAxMDAlOyBsaXN0LXN0eWxlOiBub25lOyB9Ci51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIgeyBjb250ZW50OiAiLiI7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDA7IGNsZWFyOiBib3RoOyB2aXNpYmlsaXR5OiBoaWRkZW47IH0KLnVpLWhlbHBlci1jbGVhcmZpeCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQovKiByZXF1aXJlZCBjb21tZW50IGZvciBjbGVhcmZpeCB0byB3b3JrIGluIE9wZXJhIFwqLwoqIGh0bWwgLnVpLWhlbHBlci1jbGVhcmZpeCB7IGhlaWdodDoxJTsgfQoudWktaGVscGVyLWNsZWFyZml4IHsgZGlzcGxheTpibG9jazsgfQovKiBlbmQgY2xlYXJmaXggKi8KLnVpLWhlbHBlci16Zml4IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgdG9wOiAwOyBsZWZ0OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IG9wYWNpdHk6IDA7IGZpbHRlcjpBbHBoYShPcGFjaXR5PTApOyB9CgoKLyogSW50ZXJhY3Rpb24gQ3VlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLnVpLXN0YXRlLWRpc2FibGVkIHsgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7IH0KCgovKiBJY29ucwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovCi51aS1pY29uIHsgZGlzcGxheTogYmxvY2s7IHRleHQtaW5kZW50OiAtOTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfQoKCi8qIE1pc2MgdmlzdWFscwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIE92ZXJsYXlzICovCi51aS13aWRnZXQtb3ZlcmxheSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9CgoKLyoKICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS44LjEyCiAqCiAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9UaGVtaW5nL0FQSQogKgogKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVtZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci8/ZmZEZWZhdWx0PVZlcmRhbmEsQXJpYWwsc2Fucy1zZXJpZiZmd0RlZmF1bHQ9bm9ybWFsJmZzRGVmYXVsdD0xLjFlbSZjb3JuZXJSYWRpdXM9NHB4JmJnQ29sb3JIZWFkZXI9Y2NjY2NjJmJnVGV4dHVyZUhlYWRlcj0wM19oaWdobGlnaHRfc29mdC5wbmcmYmdJbWdPcGFjaXR5SGVhZGVyPTc1JmJvcmRlckNvbG9ySGVhZGVyPWFhYWFhYSZmY0hlYWRlcj0yMjIyMjImaWNvbkNvbG9ySGVhZGVyPTIyMjIyMiZiZ0NvbG9yQ29udGVudD1mZmZmZmYmYmdUZXh0dXJlQ29udGVudD0wMV9mbGF0LnBuZyZiZ0ltZ09wYWNpdHlDb250ZW50PTc1JmJvcmRlckNvbG9yQ29udGVudD1hYWFhYWEmZmNDb250ZW50PTIyMjIyMiZpY29uQ29sb3JDb250ZW50PTIyMjIyMiZiZ0NvbG9yRGVmYXVsdD1lNmU2ZTYmYmdUZXh0dXJlRGVmYXVsdD0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5RGVmYXVsdD03NSZib3JkZXJDb2xvckRlZmF1bHQ9ZDNkM2QzJmZjRGVmYXVsdD01NTU1NTUmaWNvbkNvbG9yRGVmYXVsdD04ODg4ODgmYmdDb2xvckhvdmVyPWRhZGFkYSZiZ1RleHR1cmVIb3Zlcj0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5SG92ZXI9NzUmYm9yZGVyQ29sb3JIb3Zlcj05OTk5OTkmZmNIb3Zlcj0yMTIxMjEmaWNvbkNvbG9ySG92ZXI9NDU0NTQ1JmJnQ29sb3JBY3RpdmU9ZmZmZmZmJmJnVGV4dHVyZUFjdGl2ZT0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5QWN0aXZlPTY1JmJvcmRlckNvbG9yQWN0aXZlPWFhYWFhYSZmY0FjdGl2ZT0yMTIxMjEmaWNvbkNvbG9yQWN0aXZlPTQ1NDU0NSZiZ0NvbG9ySGlnaGxpZ2h0PWZiZjllZSZiZ1RleHR1cmVIaWdobGlnaHQ9MDJfZ2xhc3MucG5nJmJnSW1nT3BhY2l0eUhpZ2hsaWdodD01NSZib3JkZXJDb2xvckhpZ2hsaWdodD1mY2VmYTEmZmNIaWdobGlnaHQ9MzYzNjM2Jmljb25Db2xvckhpZ2hsaWdodD0yZTgzZmYmYmdDb2xvckVycm9yPWZlZjFlYyZiZ1RleHR1cmVFcnJvcj0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5RXJyb3I9OTUmYm9yZGVyQ29sb3JFcnJvcj1jZDBhMGEmZmNFcnJvcj1jZDBhMGEmaWNvbkNvbG9yRXJyb3I9Y2QwYTBhJmJnQ29sb3JPdmVybGF5PWFhYWFhYSZiZ1RleHR1cmVPdmVybGF5PTAxX2ZsYXQucG5nJmJnSW1nT3BhY2l0eU92ZXJsYXk9MCZvcGFjaXR5T3ZlcmxheT0zMCZiZ0NvbG9yU2hhZG93PWFhYWFhYSZiZ1RleHR1cmVTaGFkb3c9MDFfZmxhdC5wbmcmYmdJbWdPcGFjaXR5U2hhZG93PTAmb3BhY2l0eVNoYWRvdz0zMCZ0aGlja25lc3NTaGFkb3c9OHB4Jm9mZnNldFRvcFNoYWRvdz0tOHB4Jm9mZnNldExlZnRTaGFkb3c9LThweCZjb3JuZXJSYWRpdXNTaGFkb3c9OHB4CiAqLwoKCi8qIENvbXBvbmVudCBjb250YWluZXJzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoudWktd2lkZ2V0IHsgZm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxLjFlbTsgfQoudWktd2lkZ2V0IC51aS13aWRnZXQgeyBmb250LXNpemU6IDFlbTsgfQoudWktd2lkZ2V0IGlucHV0LCAudWktd2lkZ2V0IHNlbGVjdCwgLnVpLXdpZGdldCB0ZXh0YXJlYSwgLnVpLXdpZGdldCBidXR0b24geyBmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6IDFlbTsgfQoudWktd2lkZ2V0LWNvbnRlbnQgeyBib3JkZXI6IDFweCBzb2xpZCAjYWFhYWFhOyBiYWNrZ3JvdW5kOiAjZmZmZmZmIHVybChpbWFnZXMvdWktYmdfZmxhdF83NV9mZmZmZmZfNDB4MTAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgY29sb3I6ICMyMjIyMjI7IH0KLnVpLXdpZGdldC1jb250ZW50IGEgeyBjb2xvcjogIzIyMjIyMjsgfQoudWktd2lkZ2V0LWhlYWRlciB7IGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7IGJhY2tncm91bmQ6ICNjY2NjY2MgdXJsKGltYWdlcy91aS1iZ19oaWdobGlnaHQtc29mdF83NV9jY2NjY2NfMXgxMDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBjb2xvcjogIzIyMjIyMjsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KLnVpLXdpZGdldC1oZWFkZXIgYSB7IGNvbG9yOiAjMjIyMjIyOyB9CgovKiBJbnRlcmFjdGlvbiBzdGF0ZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1zdGF0ZS1kZWZhdWx0LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0IHsgYm9yZGVyOiAxcHggc29saWQgI2QzZDNkMzsgYmFja2dyb3VuZDogI2U2ZTZlNiB1cmwoaW1hZ2VzL3VpLWJnX2dsYXNzXzc1X2U2ZTZlNl8xeDQwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGNvbG9yOiAjNTU1NTU1OyB9Ci51aS1zdGF0ZS1kZWZhdWx0IGEsIC51aS1zdGF0ZS1kZWZhdWx0IGE6bGluaywgLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkIHsgY29sb3I6ICM1NTU1NTU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktc3RhdGUtaG92ZXIsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3ZlciwgLnVpLXN0YXRlLWZvY3VzLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMgeyBib3JkZXI6IDFweCBzb2xpZCAjOTk5OTk5OyBiYWNrZ3JvdW5kOiAjZGFkYWRhIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNzVfZGFkYWRhXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgY29sb3I6ICMyMTIxMjE7IH0KLnVpLXN0YXRlLWhvdmVyIGEsIC51aS1zdGF0ZS1ob3ZlciBhOmhvdmVyIHsgY29sb3I6ICMyMTIxMjE7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktc3RhdGUtYWN0aXZlLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSB7IGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7IGJhY2tncm91bmQ6ICNmZmZmZmYgdXJsKGltYWdlcy91aS1iZ19nbGFzc182NV9mZmZmZmZfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBmb250LXdlaWdodDogbm9ybWFsOyBjb2xvcjogIzIxMjEyMTsgfQoudWktc3RhdGUtYWN0aXZlIGEsIC51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLCAudWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZCB7IGNvbG9yOiAjMjEyMTIxOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLnVpLXdpZGdldCA6YWN0aXZlIHsgb3V0bGluZTogbm9uZTsgfQoKLyogSW50ZXJhY3Rpb24gQ3VlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLnVpLXN0YXRlLWhpZ2hsaWdodCwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQgIHtib3JkZXI6IDFweCBzb2xpZCAjZmNlZmExOyBiYWNrZ3JvdW5kOiAjZmJmOWVlIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfNTVfZmJmOWVlXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgY29sb3I6ICMzNjM2MzY7IH0KLnVpLXN0YXRlLWhpZ2hsaWdodCBhLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCBhLC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQgYSB7IGNvbG9yOiAjMzYzNjM2OyB9Ci51aS1zdGF0ZS1lcnJvciwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvciwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIHtib3JkZXI6IDFweCBzb2xpZCAjY2QwYTBhOyBiYWNrZ3JvdW5kOiAjZmVmMWVjIHVybChpbWFnZXMvdWktYmdfZ2xhc3NfOTVfZmVmMWVjXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgY29sb3I6ICNjZDBhMGE7IH0KLnVpLXN0YXRlLWVycm9yIGEsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIGEgeyBjb2xvcjogI2NkMGEwYTsgfQoudWktc3RhdGUtZXJyb3ItdGV4dCwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvci10ZXh0LCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7IGNvbG9yOiAjY2QwYTBhOyB9Ci51aS1wcmlvcml0eS1wcmltYXJ5LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXByaW1hcnksIC51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KLnVpLXByaW9yaXR5LXNlY29uZGFyeSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksICAudWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktc2Vjb25kYXJ5IHsgb3BhY2l0eTogLjc7IGZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfQoudWktc3RhdGUtZGlzYWJsZWQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7IG9wYWNpdHk6IC4zNTsgZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9CgovKiBJY29ucwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovCi51aS1pY29uIHsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcpOyB9Ci51aS13aWRnZXQtY29udGVudCAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1pY29uc18yMjIyMjJfMjU2eDI0MC5wbmcpOyB9Ci51aS13aWRnZXQtaGVhZGVyIC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWRlZmF1bHQgLnVpLWljb24geyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWhvdmVyIC51aS1pY29uLCAudWktc3RhdGUtZm9jdXMgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNvbnNfNDU0NTQ1XzI1NngyNDAucG5nKTsgfQoudWktc3RhdGUtYWN0aXZlIC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3VpLWljb25zXzQ1NDU0NV8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91aS1pY29uc18yZTgzZmZfMjU2eDI0MC5wbmcpOyB9Ci51aS1zdGF0ZS1lcnJvciAudWktaWNvbiwgLnVpLXN0YXRlLWVycm9yLXRleHQgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvdWktaWNvbnNfY2QwYTBhXzI1NngyNDAucG5nKTsgfQoKLyogcG9zaXRpb25pbmcgKi8KLnVpLWljb24tY2FyYXQtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMDsgfQoudWktaWNvbi1jYXJhdC0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDsgfQoudWktaWNvbi1jYXJhdC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfQoudWktaWNvbi1jYXJhdC0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAwOyB9Ci51aS1pY29uLWNhcmF0LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IDA7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9Ci51aS1pY29uLWFycm93LTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0yLW5lLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3dzdG9wLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMzJweDsgfQoudWktaWNvbi1hcnJvd3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93c3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3dzdG9wLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMzJweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0yLW5lLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmVmcmVzaC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmVmcmVzaC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3ctNCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH0KLnVpLWljb24tYXJyb3ctNC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTgwcHg7IH0KLnVpLWljb24tZXh0bGluayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC04MHB4OyB9Ci51aS1pY29uLW5ld3dpbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9Ci51aS1pY29uLXJlZnJlc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtODBweDsgfQoudWktaWNvbi1zaHVmZmxlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTgwcHg7IH0KLnVpLWljb24tdHJhbnNmZXItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH0KLnVpLWljb24tdHJhbnNmZXJ0aGljay1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTgwcHg7IH0KLnVpLWljb24tZm9sZGVyLWNvbGxhcHNlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH0KLnVpLWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfQoudWktaWNvbi1kb2N1bWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05NnB4OyB9Ci51aS1pY29uLWRvY3VtZW50LWIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtOTZweDsgfQoudWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH0KLnVpLWljb24tbWFpbC1jbG9zZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtOTZweDsgfQoudWktaWNvbi1tYWlsLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtOTZweDsgfQoudWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsgfQoudWktaWNvbi1jb21tZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC05NnB4OyB9Ci51aS1pY29uLXBlcnNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtOTZweDsgfQoudWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfQoudWktaWNvbi10cmFzaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtOTZweDsgfQoudWktaWNvbi1sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTk2cHg7IH0KLnVpLWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH0KLnVpLWljb24tYm9va21hcmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTk2cHg7IH0KLnVpLWljb24tdGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC05NnB4OyB9Ci51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfQoudWktaWNvbi1mbGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTExMnB4OyB9Ci51aS1pY29uLWNhbGVuZGFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTExMnB4OyB9Ci51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH0KLnVpLWljb24tcGVuY2lsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExMnB4OyB9Ci51aS1pY29uLWNsb2NrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTExMnB4OyB9Ci51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH0KLnVpLWljb24tY2FsY3VsYXRvciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTEycHg7IH0KLnVpLWljb24tem9vbWluIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMTJweDsgfQoudWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfQoudWktaWNvbi1zZWFyY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTExMnB4OyB9Ci51aS1pY29uLXdyZW5jaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTEycHg7IH0KLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH0KLnVpLWljb24taGVhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTExMnB4OyB9Ci51aS1pY29uLXN0YXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTExMnB4OyB9Ci51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9Ci51aS1pY29uLWNhbmNlbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9Ci51aS1pY29uLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTI4cHg7IH0KLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEyOHB4OyB9Ci51aS1pY29uLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTEyOHB4OyB9Ci51aS1pY29uLW1pbnVzdGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTI4cHg7IH0KLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH0KLnVpLWljb24tY2xvc2V0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMjhweDsgfQoudWktaWNvbi1rZXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTEyOHB4OyB9Ci51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH0KLnVpLWljb24tc2Npc3NvcnMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTEyOHB4OyB9Ci51aS1pY29uLWNsaXBib2FyZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTI4cHg7IH0KLnVpLWljb24tY29weSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH0KLnVpLWljb24tY29udGFjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTI4cHg7IH0KLnVpLWljb24taW1hZ2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTEyOHB4OyB9Ci51aS1pY29uLXZpZGVvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfQoudWktaWNvbi1zY3JpcHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTEyOHB4OyB9Ci51aS1pY29uLWFsZXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ0cHg7IH0KLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNDRweDsgfQoudWktaWNvbi1ub3RpY2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTQ0cHg7IH0KLnVpLWljb24taGVscCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNDRweDsgfQoudWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNDRweDsgfQoudWktaWNvbi1idWxsZXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTQ0cHg7IH0KLnVpLWljb24tcmFkaW8tb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE0NHB4OyB9Ci51aS1pY29uLXJhZGlvLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDRweDsgfQoudWktaWNvbi1waW4tdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTQ0cHg7IH0KLnVpLWljb24tcGluLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE0NHB4OyB9Ci51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfQoudWktaWNvbi1wYXVzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNjBweDsgfQoudWktaWNvbi1zZWVrLW5leHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTYwcHg7IH0KLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9Ci51aS1pY29uLXNlZWstZW5kIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE2MHB4OyB9Ci51aS1pY29uLXNlZWstc3RhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTYwcHg7IH0KLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqLwoudWktaWNvbi1zZWVrLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9Ci51aS1pY29uLXN0b3AgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTYwcHg7IH0KLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9Ci51aS1pY29uLXZvbHVtZS1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2MHB4OyB9Ci51aS1pY29uLXZvbHVtZS1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTYwcHg7IH0KLnVpLWljb24tcG93ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfQoudWktaWNvbi1zaWduYWwtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNzZweDsgfQoudWktaWNvbi1zaWduYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTc2cHg7IH0KLnVpLWljb24tYmF0dGVyeS0wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9Ci51aS1pY29uLWJhdHRlcnktMSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNzZweDsgfQoudWktaWNvbi1iYXR0ZXJ5LTIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTc2cHg7IH0KLnVpLWljb24tYmF0dGVyeS0zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9Ci51aS1pY29uLWNpcmNsZS1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtYXJyb3ctZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1hcnJvdy13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtYXJyb3ctbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9Ci51aS1pY29uLWNpcmNsZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwOHB4OyB9Ci51aS1pY29uLWNpcmNsZXNtYWxsLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIwOHB4OyB9Ci51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH0KLnVpLWljb24tc3F1YXJlc21hbGwtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjA4cHg7IH0KLnVpLWljb24tc3F1YXJlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjA4cHg7IH0KLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfQoudWktaWNvbi1ncmlwLWRvdHRlZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIyNHB4OyB9Ci51aS1pY29uLWdyaXAtc29saWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjI0cHg7IH0KLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9Ci51aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMjRweDsgfQoudWktaWNvbi1ncmlwLWRpYWdvbmFsLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIyNHB4OyB9CgoKLyogTWlzYyB2aXN1YWxzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKLyogQ29ybmVyIHJhZGl1cyAqLwoudWktY29ybmVyLXRsIHsgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLXRyIHsgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWJsIHsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWJyIHsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLXRvcCB7IC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci1ib3R0b20geyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItcmlnaHQgeyAgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWxlZnQgeyAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItYWxsIHsgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4OyBib3JkZXItcmFkaXVzOiA0cHg7IH0KCi8qIE92ZXJsYXlzICovCi51aS13aWRnZXQtb3ZlcmxheSB7IGJhY2tncm91bmQ6ICNhYWFhYWEgdXJsKGltYWdlcy91aS1iZ19mbGF0XzBfYWFhYWFhXzQweDEwMC5wbmcpIDUwJSA1MCUgcmVwZWF0LXg7IG9wYWNpdHk6IC4zMDtmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zMCk7IH0KLnVpLXdpZGdldC1zaGFkb3cgeyBtYXJnaW46IC04cHggMCAwIC04cHg7IHBhZGRpbmc6IDhweDsgYmFja2dyb3VuZDogI2FhYWFhYSB1cmwoaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgb3BhY2l0eTogLjMwO2ZpbHRlcjpBbHBoYShPcGFjaXR5PTMwKTsgLW1vei1ib3JkZXItcmFkaXVzOiA4cHg7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogOHB4OyBib3JkZXItcmFkaXVzOiA4cHg7IH0vKgogKiBqUXVlcnkgVUkgUmVzaXphYmxlIDEuOC4xMgogKgogKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvUmVzaXphYmxlI3RoZW1pbmcKICovCi51aS1yZXNpemFibGUgeyBwb3NpdGlvbjogcmVsYXRpdmU7fQoudWktcmVzaXphYmxlLWhhbmRsZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTtmb250LXNpemU6IDAuMXB4O3otaW5kZXg6IDk5OTk5OyBkaXNwbGF5OiBibG9jazsKCS8qIGh0dHA6Ly9idWdzLmpxdWVyeXVpLmNvbS90aWNrZXQvNzIzMwoJIC0gUmVzaXphYmxlOiByZXNpemFibGUgaGFuZGxlcyBmYWlsIHRvIHdvcmsgaW4gSUUgaWYgdHJhbnNwYXJlbnQgYW5kIGNvbnRlbnQgb3ZlcmxhcHMKCSovCgliYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOik7Cn0KLnVpLXJlc2l6YWJsZS1kaXNhYmxlZCAudWktcmVzaXphYmxlLWhhbmRsZSwgLnVpLXJlc2l6YWJsZS1hdXRvaGlkZSAudWktcmVzaXphYmxlLWhhbmRsZSB7IGRpc3BsYXk6IG5vbmU7IH0KLnVpLXJlc2l6YWJsZS1uIHsgY3Vyc29yOiBuLXJlc2l6ZTsgaGVpZ2h0OiA3cHg7IHdpZHRoOiAxMDAlOyB0b3A6IC01cHg7IGxlZnQ6IDA7IH0KLnVpLXJlc2l6YWJsZS1zIHsgY3Vyc29yOiBzLXJlc2l6ZTsgaGVpZ2h0OiA3cHg7IHdpZHRoOiAxMDAlOyBib3R0b206IC01cHg7IGxlZnQ6IDA7IH0KLnVpLXJlc2l6YWJsZS1lIHsgY3Vyc29yOiBlLXJlc2l6ZTsgd2lkdGg6IDdweDsgcmlnaHQ6IC01cHg7IHRvcDogMDsgaGVpZ2h0OiAxMDAlOyB9Ci51aS1yZXNpemFibGUtdyB7IGN1cnNvcjogdy1yZXNpemU7IHdpZHRoOiA3cHg7IGxlZnQ6IC01cHg7IHRvcDogMDsgaGVpZ2h0OiAxMDAlOyB9Ci51aS1yZXNpemFibGUtc2UgeyBjdXJzb3I6IHNlLXJlc2l6ZTsgd2lkdGg6IDEycHg7IGhlaWdodDogMTJweDsgcmlnaHQ6IDFweDsgYm90dG9tOiAxcHg7IH0KLnVpLXJlc2l6YWJsZS1zdyB7IGN1cnNvcjogc3ctcmVzaXplOyB3aWR0aDogOXB4OyBoZWlnaHQ6IDlweDsgbGVmdDogLTVweDsgYm90dG9tOiAtNXB4OyB9Ci51aS1yZXNpemFibGUtbncgeyBjdXJzb3I6IG53LXJlc2l6ZTsgd2lkdGg6IDlweDsgaGVpZ2h0OiA5cHg7IGxlZnQ6IC01cHg7IHRvcDogLTVweDsgfQoudWktcmVzaXphYmxlLW5lIHsgY3Vyc29yOiBuZS1yZXNpemU7IHdpZHRoOiA5cHg7IGhlaWdodDogOXB4OyByaWdodDogLTVweDsgdG9wOiAtNXB4O30vKgogKiBqUXVlcnkgVUkgU2VsZWN0YWJsZSAxLjguMTIKICoKICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL1NlbGVjdGFibGUjdGhlbWluZwogKi8KLnVpLXNlbGVjdGFibGUtaGVscGVyIHsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMDA7IGJvcmRlcjoxcHggZG90dGVkIGJsYWNrOyB9Ci8qCiAqIGpRdWVyeSBVSSBBY2NvcmRpb24gMS44LjEyCiAqCiAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9BY2NvcmRpb24jdGhlbWluZwogKi8KLyogSUUvV2luIC0gRml4IGFuaW1hdGlvbiBidWcgLSAjNDYxNSAqLwoudWktYWNjb3JkaW9uIHsgd2lkdGg6IDEwMCU7IH0KLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlciB7IGN1cnNvcjogcG9pbnRlcjsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tdG9wOiAxcHg7IHpvb206IDE7IH0KLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWxpLWZpeCB7IGRpc3BsYXk6IGlubGluZTsgfQoudWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2ZSB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfQoudWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyIGEgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxZW07IHBhZGRpbmc6IC41ZW0gLjVlbSAuNWVtIC43ZW07IH0KLnVpLWFjY29yZGlvbi1pY29ucyAudWktYWNjb3JkaW9uLWhlYWRlciBhIHsgcGFkZGluZy1sZWZ0OiAyLjJlbTsgfQoudWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyIC51aS1pY29uIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAuNWVtOyB0b3A6IDUwJTsgbWFyZ2luLXRvcDogLThweDsgfQoudWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tY29udGVudCB7IHBhZGRpbmc6IDFlbSAyLjJlbTsgYm9yZGVyLXRvcDogMDsgbWFyZ2luLXRvcDogLTJweDsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDFweDsgbWFyZ2luLWJvdHRvbTogMnB4OyBvdmVyZmxvdzogYXV0bzsgZGlzcGxheTogbm9uZTsgem9vbTogMTsgfQoudWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfQovKgogKiBqUXVlcnkgVUkgQXV0b2NvbXBsZXRlIDEuOC4xMgogKgogKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvQXV0b2NvbXBsZXRlI3RoZW1pbmcKICovCi51aS1hdXRvY29tcGxldGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGN1cnNvcjogZGVmYXVsdDsgfQkKCi8qIHdvcmthcm91bmRzICovCiogaHRtbCAudWktYXV0b2NvbXBsZXRlIHsgd2lkdGg6MXB4OyB9IC8qIHdpdGhvdXQgdGhpcywgdGhlIG1lbnUgZXhwYW5kcyB0byAxMDAlIGluIElFNiAqLwoKLyoKICogalF1ZXJ5IFVJIE1lbnUgMS44LjEyCiAqCiAqIENvcHlyaWdodCAyMDEwLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9NZW51I3RoZW1pbmcKICovCi51aS1tZW51IHsKCWxpc3Qtc3R5bGU6bm9uZTsKCXBhZGRpbmc6IDJweDsKCW1hcmdpbjogMDsKCWRpc3BsYXk6YmxvY2s7CglmbG9hdDogbGVmdDsKfQoudWktbWVudSAudWktbWVudSB7CgltYXJnaW4tdG9wOiAtM3B4Owp9Ci51aS1tZW51IC51aS1tZW51LWl0ZW0gewoJbWFyZ2luOjA7CglwYWRkaW5nOiAwOwoJem9vbTogMTsKCWZsb2F0OiBsZWZ0OwoJY2xlYXI6IGxlZnQ7Cgl3aWR0aDogMTAwJTsKfQoudWktbWVudSAudWktbWVudS1pdGVtIGEgewoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7CglkaXNwbGF5OmJsb2NrOwoJcGFkZGluZzouMmVtIC40ZW07CglsaW5lLWhlaWdodDoxLjU7Cgl6b29tOjE7Cn0KLnVpLW1lbnUgLnVpLW1lbnUtaXRlbSBhLnVpLXN0YXRlLWhvdmVyLAoudWktbWVudSAudWktbWVudS1pdGVtIGEudWktc3RhdGUtYWN0aXZlIHsKCWZvbnQtd2VpZ2h0OiBub3JtYWw7CgltYXJnaW46IC0xcHg7Cn0KLyoKICogalF1ZXJ5IFVJIEJ1dHRvbiAxLjguMTIKICoKICogQ29weXJpZ2h0IDIwMTEsIEFVVEhPUlMudHh0IChodHRwOi8vanF1ZXJ5dWkuY29tL2Fib3V0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL1VJL0J1dHRvbiN0aGVtaW5nCiAqLwoudWktYnV0dG9uIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IDA7IG1hcmdpbi1yaWdodDogLjFlbTsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyB6b29tOiAxOyBvdmVyZmxvdzogdmlzaWJsZTsgfSAvKiB0aGUgb3ZlcmZsb3cgcHJvcGVydHkgcmVtb3ZlcyBleHRyYSB3aWR0aCBpbiBJRSAqLwoudWktYnV0dG9uLWljb24tb25seSB7IHdpZHRoOiAyLjJlbTsgfSAvKiB0byBtYWtlIHJvb20gZm9yIHRoZSBpY29uLCBhIHdpZHRoIG5lZWRzIHRvIGJlIHNldCBoZXJlICovCmJ1dHRvbi51aS1idXR0b24taWNvbi1vbmx5IHsgd2lkdGg6IDIuNGVtOyB9IC8qIGJ1dHRvbiBlbGVtZW50cyBzZWVtIHRvIG5lZWQgYSBsaXR0bGUgbW9yZSB3aWR0aCAqLwoudWktYnV0dG9uLWljb25zLW9ubHkgeyB3aWR0aDogMy40ZW07IH0gCmJ1dHRvbi51aS1idXR0b24taWNvbnMtb25seSB7IHdpZHRoOiAzLjdlbTsgfSAKCi8qYnV0dG9uIHRleHQgZWxlbWVudCAqLwoudWktYnV0dG9uIC51aS1idXR0b24tdGV4dCB7IGRpc3BsYXk6IGJsb2NrOyBsaW5lLWhlaWdodDogMS40OyAgfQoudWktYnV0dG9uLXRleHQtb25seSAudWktYnV0dG9uLXRleHQgeyBwYWRkaW5nOiAuNGVtIDFlbTsgfQoudWktYnV0dG9uLWljb24tb25seSAudWktYnV0dG9uLXRleHQsIC51aS1idXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLXRleHQgeyBwYWRkaW5nOiAuNGVtOyB0ZXh0LWluZGVudDogLTk5OTk5OTlweDsgfQoudWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IC51aS1idXR0b24tdGV4dCwgLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24tdGV4dCB7IHBhZGRpbmc6IC40ZW0gMWVtIC40ZW0gMi4xZW07IH0KLnVpLWJ1dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IC51aS1idXR0b24tdGV4dCwgLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24tdGV4dCB7IHBhZGRpbmc6IC40ZW0gMi4xZW0gLjRlbSAxZW07IH0KLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24tdGV4dCB7IHBhZGRpbmctbGVmdDogMi4xZW07IHBhZGRpbmctcmlnaHQ6IDIuMWVtOyB9Ci8qIG5vIGljb24gc3VwcG9ydCBmb3IgaW5wdXQgZWxlbWVudHMsIHByb3ZpZGUgcGFkZGluZyBieSBkZWZhdWx0ICovCmlucHV0LnVpLWJ1dHRvbiB7IHBhZGRpbmc6IC40ZW0gMWVtOyB9CgovKmJ1dHRvbiBpY29uIGVsZW1lbnQocykgKi8KLnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWljb24sIC51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWljb24sIC51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktaWNvbiwgLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1pY29uLCAudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWljb24geyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtOHB4OyB9Ci51aS1idXR0b24taWNvbi1vbmx5IC51aS1pY29uIHsgbGVmdDogNTAlOyBtYXJnaW4tbGVmdDogLThweDsgfQoudWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IC51aS1idXR0b24taWNvbi1wcmltYXJ5LCAudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnksIC51aS1idXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLWljb24tcHJpbWFyeSB7IGxlZnQ6IC41ZW07IH0KLnVpLWJ1dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksIC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5LCAudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSB7IHJpZ2h0OiAuNWVtOyB9Ci51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5LCAudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSB7IHJpZ2h0OiAuNWVtOyB9CgovKmJ1dHRvbiBzZXRzKi8KLnVpLWJ1dHRvbnNldCB7IG1hcmdpbi1yaWdodDogN3B4OyB9Ci51aS1idXR0b25zZXQgLnVpLWJ1dHRvbiB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IC0uM2VtOyB9CgovKiB3b3JrYXJvdW5kcyAqLwpidXR0b24udWktYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHsgYm9yZGVyOiAwOyBwYWRkaW5nOiAwOyB9IC8qIHJlc2V0IGV4dHJhIHBhZGRpbmcgaW4gRmlyZWZveCAqLwovKgogKiBqUXVlcnkgVUkgRGlhbG9nIDEuOC4xMgogKgogKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRGlhbG9nI3RoZW1pbmcKICovCi51aS1kaWFsb2cgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHBhZGRpbmc6IC4yZW07IHdpZHRoOiAzMDBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfQoudWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXIgeyBwYWRkaW5nOiAuNGVtIDFlbTsgcG9zaXRpb246IHJlbGF0aXZlOyAgfQoudWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGUgeyBmbG9hdDogbGVmdDsgbWFyZ2luOiAuMWVtIDE2cHggLjFlbSAwOyB9IAoudWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAuM2VtOyB0b3A6IDUwJTsgd2lkdGg6IDE5cHg7IG1hcmdpbjogLTEwcHggMCAwIDA7IHBhZGRpbmc6IDFweDsgaGVpZ2h0OiAxOHB4OyB9Ci51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSBzcGFuIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMXB4OyB9Ci51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZTpob3ZlciwgLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlOmZvY3VzIHsgcGFkZGluZzogMDsgfQoudWktZGlhbG9nIC51aS1kaWFsb2ctY29udGVudCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYm9yZGVyOiAwOyBwYWRkaW5nOiAuNWVtIDFlbTsgYmFja2dyb3VuZDogbm9uZTsgb3ZlcmZsb3c6IGF1dG87IHpvb206IDE7IH0KLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgeyB0ZXh0LWFsaWduOiBsZWZ0OyBib3JkZXItd2lkdGg6IDFweCAwIDAgMDsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgbWFyZ2luOiAuNWVtIDAgMCAwOyBwYWRkaW5nOiAuM2VtIDFlbSAuNWVtIC40ZW07IH0KLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25zZXQgeyBmbG9hdDogcmlnaHQ7IH0KLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgYnV0dG9uIHsgbWFyZ2luOiAuNWVtIC40ZW0gLjVlbSAwOyBjdXJzb3I6IHBvaW50ZXI7IH0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXNlIHsgd2lkdGg6IDE0cHg7IGhlaWdodDogMTRweDsgcmlnaHQ6IDNweDsgYm90dG9tOiAzcHg7IH0KLnVpLWRyYWdnYWJsZSAudWktZGlhbG9nLXRpdGxlYmFyIHsgY3Vyc29yOiBtb3ZlOyB9Ci8qCiAqIGpRdWVyeSBVSSBTbGlkZXIgMS44LjEyCiAqCiAqIENvcHlyaWdodCAyMDExLCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICoKICogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9VSS9TbGlkZXIjdGhlbWluZwogKi8KLnVpLXNsaWRlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdGV4dC1hbGlnbjogbGVmdDsgfQoudWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxlIHsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAyOyB3aWR0aDogMS4yZW07IGhlaWdodDogMS4yZW07IGN1cnNvcjogZGVmYXVsdDsgfQoudWktc2xpZGVyIC51aS1zbGlkZXItcmFuZ2UgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDE7IGZvbnQtc2l6ZTogLjdlbTsgZGlzcGxheTogYmxvY2s7IGJvcmRlcjogMDsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9CgoudWktc2xpZGVyLWhvcml6b250YWwgeyBoZWlnaHQ6IC44ZW07IH0KLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlIHsgdG9wOiAtLjNlbTsgbWFyZ2luLWxlZnQ6IC0uNmVtOyB9Ci51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlIHsgdG9wOiAwOyBoZWlnaHQ6IDEwMCU7IH0KLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UtbWluIHsgbGVmdDogMDsgfQoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1tYXggeyByaWdodDogMDsgfQoKLnVpLXNsaWRlci12ZXJ0aWNhbCB7IHdpZHRoOiAuOGVtOyBoZWlnaHQ6IDEwMHB4OyB9Ci51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1oYW5kbGUgeyBsZWZ0OiAtLjNlbTsgbWFyZ2luLWxlZnQ6IDA7IG1hcmdpbi1ib3R0b206IC0uNmVtOyB9Ci51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZSB7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyB9Ci51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1taW4geyBib3R0b206IDA7IH0KLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1heCB7IHRvcDogMDsgfS8qCiAqIGpRdWVyeSBVSSBUYWJzIDEuOC4xMgogKgogKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvVGFicyN0aGVtaW5nCiAqLwoudWktdGFicyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogLjJlbTsgem9vbTogMTsgfSAvKiBwb3NpdGlvbjogcmVsYXRpdmUgcHJldmVudHMgSUUgc2Nyb2xsIGJ1ZyAoZWxlbWVudCB3aXRoIHBvc2l0aW9uOiByZWxhdGl2ZSBpbnNpZGUgY29udGFpbmVyIHdpdGggb3ZlcmZsb3c6IGF1dG8gYXBwZWFyIGFzICJmaXhlZCIpICovCi51aS10YWJzIC51aS10YWJzLW5hdiB7IG1hcmdpbjogMDsgcGFkZGluZzogLjJlbSAuMmVtIDA7IH0KLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIHsgbGlzdC1zdHlsZTogbm9uZTsgZmxvYXQ6IGxlZnQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAxcHg7IG1hcmdpbjogMCAuMmVtIDFweCAwOyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDA7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0KLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIGEgeyBmbG9hdDogbGVmdDsgcGFkZGluZzogLjVlbSAxZW07IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1zZWxlY3RlZCB7IG1hcmdpbi1ib3R0b206IDA7IHBhZGRpbmctYm90dG9tOiAxcHg7IH0KLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWQgYSwgLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXN0YXRlLWRpc2FibGVkIGEsIC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1wcm9jZXNzaW5nIGEgeyBjdXJzb3I6IHRleHQ7IH0KLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIGEsIC51aS10YWJzLnVpLXRhYnMtY29sbGFwc2libGUgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtc2VsZWN0ZWQgYSB7IGN1cnNvcjogcG9pbnRlcjsgfSAvKiBmaXJzdCBzZWxlY3RvciBpbiBncm91cCBzZWVtcyBvYnNvbGV0ZSwgYnV0IHJlcXVpcmVkIHRvIG92ZXJjb21lIGJ1ZyBpbiBPcGVyYSBhcHBseWluZyBjdXJzb3I6IHRleHQgb3ZlcmFsbCBpZiBkZWZpbmVkIGVsc2V3aGVyZS4uLiAqLwoudWktdGFicyAudWktdGFicy1wYW5lbCB7IGRpc3BsYXk6IGJsb2NrOyBib3JkZXItd2lkdGg6IDA7IHBhZGRpbmc6IDFlbSAxLjRlbTsgYmFja2dyb3VuZDogbm9uZTsgfQoudWktdGFicyAudWktdGFicy1oaWRlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9Ci8qCiAqIGpRdWVyeSBVSSBEYXRlcGlja2VyIDEuOC4xMgogKgogKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvRGF0ZXBpY2tlciN0aGVtaW5nCiAqLwoudWktZGF0ZXBpY2tlciB7IHdpZHRoOiAxN2VtOyBwYWRkaW5nOiAuMmVtIC4yZW0gMDsgZGlzcGxheTogbm9uZTsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZzouMmVtIDA7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDJweDsgd2lkdGg6IDEuOGVtOyBoZWlnaHQ6IDEuOGVtOyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIsIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIgeyB0b3A6IDFweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHsgbGVmdDoycHg7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7IHJpZ2h0OjJweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHsgbGVmdDoxcHg7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7IHJpZ2h0OjFweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgbWFyZ2luLWxlZnQ6IC04cHg7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtOHB4OyAgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7IG1hcmdpbjogMCAyLjNlbTsgbGluZS1oZWlnaHQ6IDEuOGVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgc2VsZWN0IHsgZm9udC1zaXplOjFlbTsgbWFyZ2luOjFweCAwOyB9Ci51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLXllYXIge3dpZHRoOiAxMDAlO30KLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIAoudWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIHsgd2lkdGg6IDQ5JTt9Ci51aS1kYXRlcGlja2VyIHRhYmxlIHt3aWR0aDogMTAwJTsgZm9udC1zaXplOiAuOWVtOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBtYXJnaW46MCAwIC40ZW07IH0KLnVpLWRhdGVwaWNrZXIgdGggeyBwYWRkaW5nOiAuN2VtIC4zZW07IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC13ZWlnaHQ6IGJvbGQ7IGJvcmRlcjogMDsgIH0KLnVpLWRhdGVwaWNrZXIgdGQgeyBib3JkZXI6IDA7IHBhZGRpbmc6IDFweDsgfQoudWktZGF0ZXBpY2tlciB0ZCBzcGFuLCAudWktZGF0ZXBpY2tlciB0ZCBhIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IC4yZW07IHRleHQtYWxpZ246IHJpZ2h0OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IG1hcmdpbjogLjdlbSAwIDAgMDsgcGFkZGluZzowIC4yZW07IGJvcmRlci1sZWZ0OiAwOyBib3JkZXItcmlnaHQ6IDA7IGJvcmRlci1ib3R0b206IDA7IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24geyBmbG9hdDogcmlnaHQ7IG1hcmdpbjogLjVlbSAuMmVtIC40ZW07IGN1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogLjJlbSAuNmVtIC4zZW0gLjZlbTsgd2lkdGg6YXV0bzsgb3ZlcmZsb3c6dmlzaWJsZTsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQgeyBmbG9hdDpsZWZ0OyB9CgovKiB3aXRoIG11bHRpcGxlIGNhbGVuZGFycyAqLwoudWktZGF0ZXBpY2tlci51aS1kYXRlcGlja2VyLW11bHRpIHsgd2lkdGg6YXV0bzsgfQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB7IGZsb2F0OmxlZnQ7IH0KLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAgdGFibGUgeyB3aWR0aDo5NSU7IG1hcmdpbjowIGF1dG8gLjRlbTsgfQoudWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgd2lkdGg6NTAlOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDozMy4zJTsgfQoudWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3VwIHsgd2lkdGg6MjUlOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLWxlZnQtd2lkdGg6MDsgfQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLWxlZnQtd2lkdGg6MDsgfQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsgY2xlYXI6bGVmdDsgfQoudWktZGF0ZXBpY2tlci1yb3ctYnJlYWsgeyBjbGVhcjpib3RoOyB3aWR0aDoxMDAlOyB9CgovKiBSVEwgc3VwcG9ydCAqLwoudWktZGF0ZXBpY2tlci1ydGwgeyBkaXJlY3Rpb246IHJ0bDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7IHJpZ2h0OiAycHg7IGxlZnQ6IGF1dG87IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQgeyBsZWZ0OiAycHg7IHJpZ2h0OiBhdXRvOyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHsgcmlnaHQ6IDFweDsgbGVmdDogYXV0bzsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dDpob3ZlciB7IGxlZnQ6IDFweDsgcmlnaHQ6IGF1dG87IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgeyBjbGVhcjpyaWdodDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24geyBmbG9hdDogbGVmdDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50IHsgZmxvYXQ6cmlnaHQ7IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgZmxvYXQ6cmlnaHQ7IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOjA7IGJvcmRlci1sZWZ0LXdpZHRoOjFweDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7IGJvcmRlci1yaWdodC13aWR0aDowOyBib3JkZXItbGVmdC13aWR0aDoxcHg7IH0KCi8qIElFNiBJRlJBTUUgRklYICh0YWtlbiBmcm9tIGRhdGVwaWNrZXIgMS41LjMgKi8KLnVpLWRhdGVwaWNrZXItY292ZXIgewogICAgZGlzcGxheTogbm9uZTsgLypzb3JyeSBmb3IgSUU1Ki8KICAgIGRpc3BsYXkvKiovOiBibG9jazsgLypzb3JyeSBmb3IgSUU1Ki8KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLyptdXN0IGhhdmUqLwogICAgei1pbmRleDogLTE7IC8qbXVzdCBoYXZlKi8KICAgIGZpbHRlcjogbWFzaygpOyAvKm11c3QgaGF2ZSovCiAgICB0b3A6IC00cHg7IC8qbXVzdCBoYXZlKi8KICAgIGxlZnQ6IC00cHg7IC8qbXVzdCBoYXZlKi8KICAgIHdpZHRoOiAyMDBweDsgLyptdXN0IGhhdmUqLwogICAgaGVpZ2h0OiAyMDBweDsgLyptdXN0IGhhdmUqLwp9LyoKICogalF1ZXJ5IFVJIFByb2dyZXNzYmFyIDEuOC4xMgogKgogKiBDb3B5cmlnaHQgMjAxMSwgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2VzLgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIGh0dHA6Ly9kb2NzLmpxdWVyeS5jb20vVUkvUHJvZ3Jlc3NiYXIjdGhlbWluZwogKi8KLnVpLXByb2dyZXNzYmFyIHsgaGVpZ2h0OjJlbTsgdGV4dC1hbGlnbjogbGVmdDsgfQoudWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dyZXNzYmFyLXZhbHVlIHttYXJnaW46IC0xcHg7IGhlaWdodDoxMDAlOyB9]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/jquery.collapsible.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqDQogKiBDb2xsYXBzaWJsZSwgalF1ZXJ5IFBsdWdpbg0KICogDQogKiBDb2xsYXBzaWJsZSBtYW5hZ2VtZW50LiAgT3B0aW9uYWwgY29va2llIHN1cHBvcnQgdXNpbmcgdGhlIGpRdWVyeSBDb29raWUgcGx1Z2luOg0KICogaHR0cHM6Ly9naXRodWIuY29tL2NhcmhhcnRsL2pxdWVyeS1jb29raWUNCiAqIA0KICogQ29weXJpZ2h0IChjKSAyMDEwIEpvaG4gU255ZGVyIChzbnlkZXJwbGFjZS5jb20pDQogKiBAbGljZW5zZSBodHRwOi8vd3d3LnNueWRlcnBsYWNlLmNvbS9jb2xsYXBzaWJsZS9saWNlbnNlLnR4dCBOZXcgQlNEDQogKiBAdmVyc2lvbiAxLjIuMQ0KICovDQooZnVuY3Rpb24oJCkgew0KICAgICQuZm4uY29sbGFwc2libGUgPSBmdW5jdGlvbiAoY21kLCBhcmcpIHsNCg0KICAgICAgICAvL2ZpcmV3YWxsaW5nDQogICAgICAgIGlmICghdGhpcyB8fCB0aGlzLmxlbmd0aCA8IDEpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzOw0KICAgICAgICB9DQoNCiAgICAgICAgLy9hZGRyZXNzIGNvbW1hbmQgcmVxdWVzdHMNCiAgICAgICAgaWYgKHR5cGVvZiBjbWQgPT0gJ3N0cmluZycpIHsNCiAgICAgICAgICAgIHJldHVybiAkLmZuLmNvbGxhcHNpYmxlLmRpc3BhdGNoZXJbY21kXSh0aGlzLCBhcmcpOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAvL3JldHVybiB0aGUgY29tbWFuZCBkaXNwYXRjaGVyDQogICAgICAgIHJldHVybiAkLmZuLmNvbGxhcHNpYmxlLmRpc3BhdGNoZXJbJ19jcmVhdGUnXSh0aGlzLCBjbWQpOw0KICAgIH07DQoNCiAgICAvL2NyZWF0ZSB0aGUgY29tbWFuZCBkaXNwYXRjaGVyDQogICAgJC5mbi5jb2xsYXBzaWJsZS5kaXNwYXRjaGVyID0gew0KDQogICAgICAgIC8vaW5pdGlhbGl6ZWQgd2l0aCBvcHRpb25zDQogICAgICAgIF9jcmVhdGUgOiBmdW5jdGlvbihvYmosIGFyZykgew0KICAgICAgICAgICAgY3JlYXRlQ29sbGFwc2libGUob2JqLCBhcmcpOw0KICAgICAgICB9LA0KDQogICAgICAgIC8vdG9nZ2xlIHRoZSBlbGVtZW50J3MgZGlzcGxheQ0KICAgICAgICB0b2dnbGU6IGZ1bmN0aW9uKG9iaikgew0KICAgICAgICAgICAgdG9nZ2xlKG9iaiwgbG9hZE9wdHMob2JqKSk7DQogICAgICAgICAgICByZXR1cm4gb2JqOw0KICAgICAgICB9LA0KDQogICAgICAgIC8vc2hvdyB0aGUgZWxlbWVudA0KICAgICAgICBvcGVuOiBmdW5jdGlvbihvYmopIHsNCiAgICAgICAgICAgIG9wZW4ob2JqLCBsb2FkT3B0cyhvYmopKTsNCiAgICAgICAgICAgIHJldHVybiBvYmo7DQogICAgICAgIH0sDQoNCiAgICAgICAgLy9oaWRlIHRoZSBlbGVtZW50DQogICAgICAgIGNsb3NlOiBmdW5jdGlvbihvYmopIHsNCiAgICAgICAgICAgIGNsb3NlKG9iaiwgbG9hZE9wdHMob2JqKSk7DQogICAgICAgICAgICByZXR1cm4gb2JqOw0KICAgICAgICB9LA0KDQogICAgICAgIC8vY2hlY2sgaWYgdGhlIGVsZW1lbnQgaXMgY2xvc2VkDQogICAgICAgIGNvbGxhcHNlZDogZnVuY3Rpb24ob2JqKSB7DQogICAgICAgICAgICByZXR1cm4gY29sbGFwc2VkKG9iaiwgbG9hZE9wdHMob2JqKSk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLy9vcGVuIGFsbCBjbG9zZWQgY29udGFpbmVycw0KICAgICAgICBvcGVuQWxsOiBmdW5jdGlvbihvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvcGVuQWxsKG9iaiwgbG9hZE9wdHMob2JqKSk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLy9jbG9zZSBhbGwgb3BlbmVkIGNvbnRhaW5lcnMNCiAgICAgICAgY2xvc2VBbGw6IGZ1bmN0aW9uKG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGNsb3NlQWxsKG9iaiwgbG9hZE9wdHMob2JqKSk7DQogICAgICAgIH0NCiAgICB9Ow0KDQogICAgLy9jcmVhdGUgdGhlIGluaXRpYWwgY29sbGFwc2libGUNCiAgICBmdW5jdGlvbiBjcmVhdGVDb2xsYXBzaWJsZShvYmosIG9wdGlvbnMpDQogICAgew0KDQogICAgICAgIC8vYnVpbGQgbWFpbiBvcHRpb25zIGJlZm9yZSBlbGVtZW50IGl0ZXJhdGlvbg0KICAgICAgICB2YXIgb3B0cyA9ICQuZXh0ZW5kKHt9LCAkLmZuLmNvbGxhcHNpYmxlLmRlZmF1bHRzLCBvcHRpb25zKTsNCiAgICAgICAgDQogICAgICAgIC8vc3RvcmUgYW55IG9wZW5lZCBkZWZhdWx0IHZhbHVlcyB0byBzZXQgY29va2llIGxhdGVyDQogICAgICAgIHZhciBvcGVuZWQgPSBbXTsNCiAgICAgICAgDQogICAgICAgIC8vaXRlcmF0ZSBlYWNoIG1hdGNoZWQgb2JqZWN0LCBiaW5kLCBhbmQgb3Blbi9jbG9zZQ0KICAgICAgICBvYmouZWFjaChmdW5jdGlvbigpIHsNCg0KICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTsNCiAgICAgICAgICAgIHNhdmVPcHRzKCR0aGlzLCBvcHRzKTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgLy9iaW5kIGl0IHRvIHRoZSBldmVudA0KICAgICAgICAgICAgaWYgKG9wdHMuYmluZCA9PSAnbW91c2VlbnRlcicpIHsNCg0KICAgICAgICAgICAgICAgICR0aGlzLmJpbmQoJ21vdXNlZW50ZXInLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgDQogICAgICAgICAgICAgICAgICAgIHRvZ2dsZSgkdGhpcywgb3B0cyk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIC8vYmluZCBpdCB0byB0aGUgZXZlbnQNCiAgICAgICAgICAgIGlmIChvcHRzLmJpbmQgPT0gJ21vdXNlb3ZlcicpIHsNCg0KICAgICAgICAgICAgICAgICR0aGlzLmJpbmQoJ21vdXNlb3ZlcicsZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7IA0KICAgICAgICAgICAgICAgICAgICB0b2dnbGUoJHRoaXMsIG9wdHMpOyANCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgLy9iaW5kIGl0IHRvIHRoZSBldmVudA0KICAgICAgICAgICAgaWYgKG9wdHMuYmluZCA9PSAnY2xpY2snKSB7DQoNCiAgICAgICAgICAgICAgICAkdGhpcy5iaW5kKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgICAgICAgICB0b2dnbGUoJHRoaXMsIG9wdHMpOw0KICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIC8vYmluZCBpdCB0byB0aGUgZXZlbnQNCiAgICAgICAgICAgIGlmIChvcHRzLmJpbmQgPT0gJ2RibGNsaWNrJykgew0KDQogICAgICAgICAgICAgICAgJHRoaXMuYmluZCgnZGJsY2xpY2snLCBmdW5jdGlvbihlKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgICAgICAgICB0b2dnbGUoJHRoaXMsIG9wdHMpOw0KICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIC8vaW5pdGlhbGl6ZSB0aGUgY29sbGFwc2libGVzDQogICAgICAgICAgICAvL2dldCB0aGUgaWQgZm9yIHRoaXMgZWxlbWVudA0KICAgICAgICAgICAgdmFyIGlkID0gJHRoaXMuYXR0cignaWQnKTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgLy9pZiBub3QgdXNpbmcgY29va2llcywgb3BlbiBkZWZhdWx0cw0KICAgICAgICAgICAgaWYgKCF1c2VDb29raWVzKG9wdHMpKSB7DQoNCiAgICAgICAgICAgICAgICAvL2lzIHRoaXMgY29sbGFwc2libGUgaW4gdGhlIGRlZmF1bHQgb3BlbiBhcnJheT8NCiAgICAgICAgICAgICAgICB2YXIgZE9wZW5JbmRleCA9IGluRGVmYXVsdE9wZW4oaWQsIG9wdHMpOw0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIC8vY2xvc2UgaXQgaWYgbm90IGRlZmF1bHRlZCB0byBvcGVuDQogICAgICAgICAgICAgICAgaWYgKGRPcGVuSW5kZXggPT09IGZhbHNlKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgJHRoaXMuYWRkQ2xhc3Mob3B0cy5jc3NDbG9zZSk7DQogICAgICAgICAgICAgICAgICAgIG9wdHMubG9hZENsb3NlKCR0aGlzLCBvcHRzKTsNCg0KICAgICAgICAgICAgICAgIH0gZWxzZSB7IC8vaXRzIGEgZGVmYXVsdCBvcGVuLCBvcGVuIGl0DQoNCiAgICAgICAgICAgICAgICAgICAgJHRoaXMuYWRkQ2xhc3Mob3B0cy5jc3NPcGVuKTsNCiAgICAgICAgICAgICAgICAgICAgb3B0cy5sb2FkT3BlbigkdGhpcywgb3B0cyk7DQogICAgICAgICAgICAgICAgICAgIG9wZW5lZC5wdXNoKGlkKTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIH0gZWxzZSB7IC8vY2FuIHVzZSBjb29raWVzLCB1c2UgdGhlbSBub3cNCg0KICAgICAgICAgICAgICAgIC8vaGFzIGEgY29va2llIGJlZW4gc2V0LCB0aGlzIG92ZXJyaWRlcyBkZWZhdWx0IG9wZW4NCiAgICAgICAgICAgICAgICBpZiAoaXNzZXRDb29raWUob3B0cykpIHsNCg0KICAgICAgICAgICAgICAgICAgICB2YXIgY29va2llSW5kZXggPSBpbkNvb2tpZShpZCwgb3B0cyk7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKGNvb2tpZUluZGV4ID09PSBmYWxzZSkgew0KDQogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5hZGRDbGFzcyhvcHRzLmNzc0Nsb3NlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIG9wdHMubG9hZENsb3NlKCR0aGlzLCBvcHRzKTsNCg0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KDQogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5hZGRDbGFzcyhvcHRzLmNzc09wZW4pOw0KICAgICAgICAgICAgICAgICAgICAgICAgb3B0cy5sb2FkT3BlbigkdGhpcywgb3B0cyk7DQogICAgICAgICAgICAgICAgICAgICAgICBvcGVuZWQucHVzaChpZCk7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIH0gZWxzZSB7IC8vYSBjb29raWUgaGFzbid0IGJlZW4gc2V0IG9wZW4gZGVmYXVsdHMsIGFkZCB0aGVtIHRvIG9wZW5lZCBhcnJheQ0KDQogICAgICAgICAgICAgICAgICAgIGRPcGVuSW5kZXggPSBpbkRlZmF1bHRPcGVuKGlkLCBvcHRzKTsNCg0KICAgICAgICAgICAgICAgICAgICBpZiAoZE9wZW5JbmRleCA9PT0gZmFsc2UpIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMuYWRkQ2xhc3Mob3B0cy5jc3NDbG9zZSk7DQogICAgICAgICAgICAgICAgICAgICAgICBvcHRzLmxvYWRDbG9zZSgkdGhpcywgb3B0cyk7DQoNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMuYWRkQ2xhc3Mob3B0cy5jc3NPcGVuKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIG9wdHMubG9hZE9wZW4oJHRoaXMsIG9wdHMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVkLnB1c2goaWQpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIC8vbm93IHRoYXQgdGhlIGxvb3AgaXMgZG9uZSwgc2V0IHRoZSBjb29raWUNCiAgICAgICAgaWYgKG9wZW5lZC5sZW5ndGggPiAwICYmIHVzZUNvb2tpZXMob3B0cykpIHsNCg0KICAgICAgICAgICAgc2V0Q29va2llKG9wZW5lZC50b1N0cmluZygpLCBvcHRzKTsNCg0KICAgICAgICB9IGVsc2UgeyAvL3RoZXJlIGFyZSBub25lIG9wZW4sIHNldCBjb29raWUNCg0KICAgICAgICAgICAgc2V0Q29va2llKCcnLCBvcHRzKTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgcmV0dXJuIG9iajsNCiAgICB9DQogICAgDQogICAgLy9sb2FkIG9wdHMgZnJvbSBvYmplY3QNCiAgICBmdW5jdGlvbiBsb2FkT3B0cygkdGhpcykgew0KICAgICAgICByZXR1cm4gJHRoaXMuZGF0YSgnY29sbGFwc2libGUtb3B0cycpOw0KICAgIH0NCiAgICANCiAgICAvL3NhdmUgb3B0cyBpbnRvIG9iamVjdA0KICAgIGZ1bmN0aW9uIHNhdmVPcHRzKCR0aGlzLCBvcHRzKSB7DQogICAgICAgIHJldHVybiAkdGhpcy5kYXRhKCdjb2xsYXBzaWJsZS1vcHRzJywgb3B0cyk7DQogICAgfQ0KICAgIA0KICAgIC8vcmV0dXJucyB0cnVlIGlmIG9iamVjdCBpcyBvcGVuZWQNCiAgICBmdW5jdGlvbiBjb2xsYXBzZWQoJHRoaXMsIG9wdHMpIHsNCiAgICAgICAgcmV0dXJuICR0aGlzLmhhc0NsYXNzKG9wdHMuY3NzQ2xvc2UpOw0KICAgIH0NCiAgICANCiAgICAvL2hpZGVzIGEgY29sbGFwc2libGUNCiAgICBmdW5jdGlvbiBjbG9zZSgkdGhpcywgb3B0cykgew0KDQogICAgICAgIC8vZ2l2ZSB0aGUgcHJvcGVyIGNsYXNzIHRvIHRoZSBsaW5rZWQgZWxlbWVudA0KICAgICAgICAkdGhpcy5hZGRDbGFzcyhvcHRzLmNzc0Nsb3NlKS5yZW1vdmVDbGFzcyhvcHRzLmNzc09wZW4pOw0KICAgICAgICANCiAgICAgICAgLy9jbG9zZSB0aGUgZWxlbWVudA0KICAgICAgICBvcHRzLmFuaW1hdGVDbG9zZSgkdGhpcywgb3B0cyk7DQogICAgICAgIA0KICAgICAgICAvL2RvIGNvb2tpZXMgaWYgcGx1Z2luIGF2YWlsYWJsZQ0KICAgICAgICBpZiAodXNlQ29va2llcyhvcHRzKSkgew0KICAgICAgICAgICAgLy8gc3BsaXQgdGhlIGNvb2tpZU9wZW4gc3RyaW5nIGJ5ICIsIg0KICAgICAgICAgICAgdmFyIGlkID0gJHRoaXMuYXR0cignaWQnKTsNCiAgICAgICAgICAgIHVuc2V0Q29va2llSWQoaWQsIG9wdHMpOw0KICAgICAgICB9DQogICAgfQ0KICAgIA0KICAgIC8vb3BlbnMgYSBjb2xsYXBzaWJsZQ0KICAgIGZ1bmN0aW9uIG9wZW4oJHRoaXMsIG9wdHMpIHsNCg0KICAgICAgICAvL2dpdmUgdGhlIHByb3BlciBjbGFzcyB0byB0aGUgbGlua2VkIGVsZW1lbnQNCiAgICAgICAgJHRoaXMucmVtb3ZlQ2xhc3Mob3B0cy5jc3NDbG9zZSkuYWRkQ2xhc3Mob3B0cy5jc3NPcGVuKTsNCiAgICAgICAgDQogICAgICAgIC8vb3BlbiB0aGUgZWxlbWVudA0KICAgICAgICBvcHRzLmFuaW1hdGVPcGVuKCR0aGlzLCBvcHRzKTsNCiAgICAgICAgDQogICAgICAgIC8vZG8gY29va2llcyBpZiBwbHVnaW4gYXZhaWxhYmxlDQogICAgICAgIGlmICh1c2VDb29raWVzKG9wdHMpKSB7DQoNCiAgICAgICAgICAgIC8vIHNwbGl0IHRoZSBjb29raWVPcGVuIHN0cmluZyBieSAiLCINCiAgICAgICAgICAgIHZhciBpZCA9ICR0aGlzLmF0dHIoJ2lkJyk7DQogICAgICAgICAgICBhcHBlbmRDb29raWUoaWQsIG9wdHMpOw0KICAgICAgICB9DQogICAgfQ0KICAgIA0KICAgIC8vdG9nZ2xlIGEgY29sbGFwc2libGUgb24gYW4gZXZlbnQNCiAgICBmdW5jdGlvbiB0b2dnbGUoJHRoaXMsIG9wdHMpIHsNCg0KICAgICAgICBpZiAoY29sbGFwc2VkKCR0aGlzLCBvcHRzKSkgew0KDQogICAgICAgICAgICAvL29wZW4gYSBjbG9zZWQgZWxlbWVudA0KICAgICAgICAgICAgb3BlbigkdGhpcywgb3B0cyk7DQoNCiAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgLy9jbG9zZSBhbiBvcGVuIGVsZW1lbnQNCiAgICAgICAgICAgIGNsb3NlKCR0aGlzLCBvcHRzKTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCg0KICAgIC8vb3BlbiBhbGwgY2xvc2VkIGNvbnRhaW5lcnMNCiAgICBmdW5jdGlvbiBvcGVuQWxsKCR0aGlzLCBvcHRzKSB7DQoNCiAgICAgICAgLy8gbG9vcCB0aHJvdWdoIGFsbCBjb250YWluZXIgZWxlbWVudHMNCiAgICAgICAgJC5lYWNoKCR0aGlzLCBmdW5jdGlvbihlbGVtLCB2YWx1ZSkgew0KDQogICAgICAgICAgICBpZiAoY29sbGFwc2VkKCQodmFsdWUpLCBvcHRzKSkgew0KDQogICAgICAgICAgICAgICAgLy9vcGVuIGEgY2xvc2VkIGVsZW1lbnQNCiAgICAgICAgICAgICAgICBvcGVuKCQodmFsdWUpLCBvcHRzKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgLy9jbG9zZSBhbGwgb3BlbiBjb250YWluZXJzDQogICAgZnVuY3Rpb24gY2xvc2VBbGwoJHRoaXMsIG9wdHMpIHsNCg0KICAgICAgICAkLmVhY2goJHRoaXMsIGZ1bmN0aW9uKGVsZW0sIHZhbHVlKSB7DQoNCiAgICAgICAgICAgIGlmICghY29sbGFwc2VkKCQodmFsdWUpLCBvcHRzKSkgew0KDQogICAgICAgICAgICAgICAgLy9jbG9zZSBhbiBvcGVuZWQgZWxlbWVudA0KICAgICAgICAgICAgICAgIGNsb3NlKCQodmFsdWUpLCBvcHRzKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfQ0KICAgIA0KICAgIC8vdXNlIGNvb2tpZXM/DQogICAgZnVuY3Rpb24gdXNlQ29va2llcyhvcHRzKSB7DQoNCiAgICAgICAgLy9yZXR1cm4gZmFsc2UgaWYgY29va2llIHBsdWdpbiBub3QgcHJlc2VudCBvciBpZiBhIGNvb2tpZSBuYW1lIGlzIG5vdCBwcm92aWRlZA0KICAgICAgICBpZiAoISQuY29va2llIHx8IG9wdHMuY29va2llTmFtZSA9PSAnJykgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAvL3dlIGNhbiB1c2UgY29va2llcw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogICAgDQogICAgLy9hcHBlbmQgYSBjb2xsYXBzaWJsZSB0byB0aGUgY29va2llDQogICAgZnVuY3Rpb24gYXBwZW5kQ29va2llKHZhbHVlLCBvcHRzKSB7DQoNCiAgICAgICAgLy9jaGVjayBpZiBjb29raWUgcGx1Z2luIGF2YWlsYWJsZSBhbmQgY29va2llbmFtZSBpcyBzZXQNCiAgICAgICAgaWYgKCF1c2VDb29raWVzKG9wdHMpKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC8vZG9lcyBhIGNvb2tpZSBhbHJlYWR5IGV4aXN0DQogICAgICAgIGlmICghaXNzZXRDb29raWUob3B0cykpIHsNCg0KICAgICAgICAgICAgLy9ubyBsZXRzIHNldCBvbmUNCiAgICAgICAgICAgIHNldENvb2tpZSh2YWx1ZSwgb3B0cyk7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLy9jb29raWUgYWxyZWFkeSBleGlzdHMsIGlzIHRoaXMgY29sbGFwc2libGUgYWxyZWFkeSBzZXQ/DQogICAgICAgIGlmIChpbkNvb2tpZSh2YWx1ZSwgb3B0cykpIHsgLy95ZXMsIHF1aXQgaGVyZQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC8vZ2V0IHRoZSBjb29raWUNCiAgICAgICAgdmFyIGNvb2tpZSA9IGRlY29kZVVSSUNvbXBvbmVudCgkLmNvb2tpZShvcHRzLmNvb2tpZU5hbWUpKTsNCg0KICAgICAgICAvL3R1cm4gaXQgaW50byBhbiBhcnJheQ0KICAgICAgICB2YXIgY29va2llQXJyYXkgPSBjb29raWUuc3BsaXQoJywnKTsNCiAgICAgICAgDQogICAgICAgIC8vYWRkIGl0IHRvIGxpc3QNCiAgICAgICAgY29va2llQXJyYXkucHVzaCh2YWx1ZSk7DQogICAgICAgIA0KICAgICAgICAvL3NhdmUgaXQNCiAgICAgICAgc2V0Q29va2llKGNvb2tpZUFycmF5LnRvU3RyaW5nKCksIG9wdHMpOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIHRydWU7ICAgIA0KICAgIH0NCiAgICANCiAgICAvL3Vuc2V0IGEgY29sbGFwc2libGUgZnJvbSB0aGUgY29va2llDQogICAgZnVuY3Rpb24gdW5zZXRDb29raWVJZCh2YWx1ZSwgb3B0cykNCiAgICB7DQogICAgICAgIC8vY2hlY2sgaWYgY29va2llIHBsdWdpbiBhdmFpbGFibGUgYW5kIGNvb2tpZW5hbWUgaXMgc2V0DQogICAgICAgIGlmICghdXNlQ29va2llcyhvcHRzKSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAvL2lmIGl0cyBub3QgdGhlcmUgd2UgZG9uJ3QgbmVlZCB0byByZW1vdmUgZnJvbSBpdA0KICAgICAgICBpZiAoIWlzc2V0Q29va2llKG9wdHMpKSB7IC8vcXVpdCBoZXJlLCBkb24ndCBoYXZlIGEgY29va2llIA0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC8vd2UgaGF2ZSBhIGNvb2tpZSwgaXMgdGhpcyBjb2xsYXBzaWJsZSBpbiBpdA0KICAgICAgICB2YXIgY29va2llSW5kZXggPSBpbkNvb2tpZSh2YWx1ZSwgb3B0cyk7DQogICAgICAgIGlmIChjb29raWVJbmRleCA9PT0gZmFsc2UpIHsgLy9ub3QgaW4gdGhlIGNvb2tpZSBxdWl0IGhlcmUNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAvL3N0aWxsIGhlcmUgZ2V0IHRoZSBjb29raWUNCiAgICAgICAgdmFyIGNvb2tpZSA9IGRlY29kZVVSSUNvbXBvbmVudCgkLmNvb2tpZShvcHRzLmNvb2tpZU5hbWUpKTsNCiAgICAgICAgDQogICAgICAgIC8vdHVybiBpdCBpbnRvIGFuIGFycmF5DQogICAgICAgIHZhciBjb29raWVBcnJheSA9IGNvb2tpZS5zcGxpdCgnLCcpOw0KICAgICAgICANCiAgICAgICAgLy9sZXRzIHBvcCBpdCBvdXQgb2YgdGhlIGFycmF5DQogICAgICAgIGNvb2tpZUFycmF5LnNwbGljZShjb29raWVJbmRleCwgMSk7DQoNCiAgICAgICAgLy9vdmVyd3JpdGUNCiAgICAgICAgc2V0Q29va2llKGNvb2tpZUFycmF5LnRvU3RyaW5nKCksIG9wdHMpOw0KDQogICAgICAgIHJldHVybiB0cnVlDQogICAgfQ0KICAgIA0KICAgIC8vc2V0IGEgY29va2llDQogICAgZnVuY3Rpb24gc2V0Q29va2llKHZhbHVlLCBvcHRzKQ0KICAgIHsNCiAgICAgICAgLy9jYW4gdXNlIHRoZSBjb29raWUgcGx1Z2luDQogICAgICAgIGlmICghdXNlQ29va2llcyhvcHRzKSkgeyAvL25vLCBxdWl0IGhlcmUNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLy9jb29raWUgcGx1Z2luIGlzIGF2YWlsYWJsZSwgbGV0cyBzZXQgdGhlIGNvb2tpZQ0KICAgICAgICAkLmNvb2tpZShvcHRzLmNvb2tpZU5hbWUsIHZhbHVlLCBvcHRzLmNvb2tpZU9wdGlvbnMpOw0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgICANCiAgICAvL2NoZWNrIGlmIGEgY29sbGFwc2libGUgaXMgaW4gdGhlIGNvb2tpZQ0KICAgIGZ1bmN0aW9uIGluQ29va2llKHZhbHVlLCBvcHRzKQ0KICAgIHsNCiAgICAgICAgLy9jYW4gdXNlIHRoZSBjb29raWUgcGx1Z2luDQogICAgICAgIGlmICghdXNlQ29va2llcyhvcHRzKSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAvL2lmIGl0cyBub3QgdGhlcmUgd2UgZG9uJ3QgbmVlZCB0byByZW1vdmUgZnJvbSBpdA0KICAgICAgICBpZiAoIWlzc2V0Q29va2llKG9wdHMpKSB7IC8vcXVpdCBoZXJlLCBkb24ndCBoYXZlIGEgY29va2llIA0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgLy9nZXQgdGhlIGNvb2tpZSB2YWx1ZQ0KICAgICAgICB2YXIgY29va2llID0gZGVjb2RlVVJJQ29tcG9uZW50KCQuY29va2llKG9wdHMuY29va2llTmFtZSkpOw0KICAgICAgICANCiAgICAgICAgLy90dXJuIGl0IGludG8gYW4gYXJyYXkNCiAgICAgICAgdmFyIGNvb2tpZUFycmF5ID0gY29va2llLnNwbGl0KCcsJyk7DQogICAgICAgIA0KICAgICAgICAvL2dldCB0aGUgaW5kZXggb2YgdGhlIGNvbGxhcHNpYmxlIGlmIGluIHRoZSBjb29raWUgYXJyYXkNCiAgICAgICAgdmFyIGNvb2tpZUluZGV4ID0gJC5pbkFycmF5KHZhbHVlLCBjb29raWVBcnJheSk7DQogICAgICAgIA0KICAgICAgICAvL2lzIHRoaXMgdmFsdWUgaW4gdGhlIGNvb2tpZSBhcnJheQ0KICAgICAgICBpZiAoY29va2llSW5kZXggPT0gLTEpIHsgLy9ubywgcXVpdCBoZXJlDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHJldHVybiBjb29raWVJbmRleDsNCiAgICB9DQogICAgDQogICAgLy9jaGVjayBpZiBhIGNvb2tpZSBpcyBzZXQNCiAgICBmdW5jdGlvbiBpc3NldENvb2tpZShvcHRzKQ0KICAgIHsNCiAgICAgICAgLy9jYW4gd2UgdXNlIHRoZSBjb29raWUgcGx1Z2luDQogICAgICAgIGlmICghdXNlQ29va2llcyhvcHRzKSkgeyAvL25vLCBxdWl0IGhlcmUNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLy9pcyB0aGUgY29va2llIHNldA0KICAgICAgICBpZiAoJC5jb29raWUob3B0cy5jb29raWVOYW1lKSA9PT0gbnVsbCkgeyAvL25vLCBxdWl0IGhlcmUNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICAgIA0KICAgIC8vY2hlY2sgaWYgYSBjb2xsYXBzaWJsZSBpcyBpbiB0aGUgbGlzdCBvZiBjb2xsYXBzaWJsZXMgdG8gYmUgb3BlbmVkIGJ5IGRlZmF1bHQNCiAgICBmdW5jdGlvbiBpbkRlZmF1bHRPcGVuKGlkLCBvcHRzKQ0KICAgIHsNCiAgICAgICAgLy9nZXQgdGhlIGFycmF5IG9mIG9wZW4gY29sbGFwc2libGVzDQogICAgICAgIHZhciBkZWZhdWx0T3BlbiA9IGdldERlZmF1bHRPcGVuKG9wdHMpOw0KICAgICAgICANCiAgICAgICAgLy9pcyBpdCBpbiB0aGUgZGVmYXVsdCBvcGVuIGFycmF5DQogICAgICAgIHZhciBpbmRleCA9ICQuaW5BcnJheShpZCwgZGVmYXVsdE9wZW4pOw0KICAgICAgICBpZiAoaW5kZXggPT0gLTEpIHsgLy9ub3BlLCBxdWl0IGhlcmUNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgcmV0dXJuIGluZGV4Ow0KICAgIH0NCiAgICANCiAgICAvL2dldCB0aGUgZGVmYXVsdCBvcGVuIGNvbGxhcHNpYmxlcyBhbmQgcmV0dXJuIGFycmF5DQogICAgZnVuY3Rpb24gZ2V0RGVmYXVsdE9wZW4ob3B0cykNCiAgICB7DQogICAgICAgIC8vaW5pdGlhbGl6ZSBhbiBlbXB0eSBhcnJheQ0KICAgICAgICB2YXIgZGVmYXVsdE9wZW4gPSBbXTsNCiAgICAgICAgDQogICAgICAgIC8vaWYgdGhlcmUgaXMgYSBsaXN0LCBsZXRzIHNwbGl0IGl0IGludG8gYW4gYXJyYXkNCiAgICAgICAgaWYgKG9wdHMuZGVmYXVsdE9wZW4gIT0gJycpIHsNCiAgICAgICAgICAgIGRlZmF1bHRPcGVuID0gb3B0cy5kZWZhdWx0T3Blbi5zcGxpdCgnLCcpOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICByZXR1cm4gZGVmYXVsdE9wZW47DQogICAgfQ0KICAgIA0KICAgIC8vIHNldHRpbmdzDQogICAgJC5mbi5jb2xsYXBzaWJsZS5kZWZhdWx0cyA9IHsNCiAgICAgICAgY3NzQ2xvc2U6ICdjb2xsYXBzZS1jbG9zZScsIC8vY2xhc3MgeW91IHdhbnQgdG8gYXNzaWduIHRvIGEgY2xvc2VkIGNvbGxhcHNpYmxlIGhlYWRlcg0KICAgICAgICBjc3NPcGVuOiAnY29sbGFwc2Utb3BlbicsIC8vY2xhc3MgeW91IHdhbnQgdG8gYXNzaWduIGFuIG9wZW5lZCBjb2xsYXBzaWJsZSBoZWFkZXINCiAgICAgICAgY29va2llTmFtZTogJ2NvbGxhcHNpYmxlJywgLy9uYW1lIG9mIHRoZSBjb29raWUgeW91IHdhbnQgdG8gc2V0IGZvciB0aGlzIGNvbGxhcHNpYmxlDQogICAgICAgIGNvb2tpZU9wdGlvbnM6IHsgLy9jb29raWUgb3B0aW9ucywgc2VlIGNvb2tpZSBwbHVnaW4gZm9yIGRldGFpbHMNCiAgICAgICAgICAgIHBhdGg6ICcvJywNCiAgICAgICAgICAgIGV4cGlyZXM6IDcsDQogICAgICAgICAgICBkb21haW46ICcnLA0KICAgICAgICAgICAgc2VjdXJlOiAnJw0KICAgICAgICB9LA0KICAgICAgICBkZWZhdWx0T3BlbjogJycsIC8vY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgaGVhZGVyIGlkcyB0aGF0IHlvdSB3YW50IG9wZW5lZCBieSBkZWZhdWx0DQogICAgICAgIHNwZWVkOiAnc2xvdycsIC8vc3BlZWQgb2YgdGhlIHNsaWRlIGVmZmVjdA0KICAgICAgICBiaW5kOiAnY2xpY2snLCAvL2V2ZW50IHRvIGJpbmQgdG8sIHN1cHBvcnRzIGNsaWNrLCBkYmxjbGljaywgbW91c2VvdmVyIGFuZCBtb3VzZWVudGVyDQogICAgICAgIGFuaW1hdGVPcGVuOiBmdW5jdGlvbiAoZWxlbSwgb3B0cykgeyAvL3JlcGxhY2UgdGhlIHN0YW5kYXJkIHNsaWRlVXAgd2l0aCBjdXN0b20gZnVuY3Rpb24NCiAgICAgICAgICAgIGVsZW0ubmV4dCgpLnN0b3AodHJ1ZSwgdHJ1ZSkuc2xpZGVEb3duKG9wdHMuc3BlZWQpOw0KICAgICAgICB9LA0KICAgICAgICBhbmltYXRlQ2xvc2U6IGZ1bmN0aW9uIChlbGVtLCBvcHRzKSB7IC8vcmVwbGFjZSB0aGUgc3RhbmRhcmQgc2xpZGVEb3duIHdpdGggY3VzdG9tIGZ1bmN0aW9uDQogICAgICAgICAgICBlbGVtLm5leHQoKS5zdG9wKHRydWUsIHRydWUpLnNsaWRlVXAob3B0cy5zcGVlZCk7DQogICAgICAgIH0sDQogICAgICAgIGxvYWRPcGVuOiBmdW5jdGlvbiAoZWxlbSwgb3B0cykgeyAvL3JlcGxhY2UgdGhlIGRlZmF1bHQgb3BlbiBzdGF0ZSB3aXRoIGN1c3RvbSBmdW5jdGlvbg0KICAgICAgICAgICAgZWxlbS5uZXh0KCkuc2hvdygpOw0KICAgICAgICB9LA0KICAgICAgICBsb2FkQ2xvc2U6IGZ1bmN0aW9uIChlbGVtLCBvcHRzKSB7IC8vcmVwbGFjZSB0aGUgZGVmYXVsdCBjbG9zZSBzdGF0ZSB3aXRoIGN1c3RvbSBmdW5jdGlvbg0KICAgICAgICAgICAgZWxlbS5uZXh0KCkuaGlkZSgpOw0KICAgICAgICB9DQogICAgfTsNCg0KfSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/jquery.cookie.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohDQogKiBqUXVlcnkgQ29va2llIFBsdWdpbiB2MS4zLjENCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9jYXJoYXJ0bC9qcXVlcnktY29va2llDQogKg0KICogQ29weXJpZ2h0IDIwMTMgS2xhdXMgSGFydGwNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQ0KICovDQooZnVuY3Rpb24gKGZhY3RvcnkpIHsNCiAgICBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7DQogICAgICAgIC8vIEFNRC4gUmVnaXN0ZXIgYXMgYW5vbnltb3VzIG1vZHVsZS4NCiAgICAgICAgZGVmaW5lKFsnanF1ZXJ5J10sIGZhY3RvcnkpOw0KICAgIH0gZWxzZSB7DQogICAgICAgIC8vIEJyb3dzZXIgZ2xvYmFscy4NCiAgICAgICAgZmFjdG9yeShqUXVlcnkpOw0KICAgIH0NCn0oZnVuY3Rpb24gKCQpIHsNCg0KICAgIHZhciBwbHVzZXMgPSAvXCsvZzsNCg0KICAgIGZ1bmN0aW9uIHJhdyhzKSB7DQogICAgICAgIHJldHVybiBzOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGRlY29kZWQocykgew0KICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHMucmVwbGFjZShwbHVzZXMsICcgJykpOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGNvbnZlcnRlZChzKSB7DQogICAgICAgIGlmIChzLmluZGV4T2YoJyInKSA9PT0gMCkgew0KICAgICAgICAgICAgLy8gVGhpcyBpcyBhIHF1b3RlZCBjb29raWUgYXMgYWNjb3JkaW5nIHRvIFJGQzIwNjgsIHVuZXNjYXBlDQogICAgICAgICAgICBzID0gcy5zbGljZSgxLCAtMSkucmVwbGFjZSgvXFwiL2csICciJykucmVwbGFjZSgvXFxcXC9nLCAnXFwnKTsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5qc29uID8gSlNPTi5wYXJzZShzKSA6IHM7DQogICAgICAgIH0gY2F0Y2goZXIpIHt9DQogICAgfQ0KDQogICAgdmFyIGNvbmZpZyA9ICQuY29va2llID0gZnVuY3Rpb24gKGtleSwgdmFsdWUsIG9wdGlvbnMpIHsNCg0KICAgICAgICAvLyB3cml0ZQ0KICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgb3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCBjb25maWcuZGVmYXVsdHMsIG9wdGlvbnMpOw0KDQogICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMuZXhwaXJlcyA9PT0gJ251bWJlcicpIHsNCiAgICAgICAgICAgICAgICB2YXIgZGF5cyA9IG9wdGlvbnMuZXhwaXJlcywgdCA9IG9wdGlvbnMuZXhwaXJlcyA9IG5ldyBEYXRlKCk7DQogICAgICAgICAgICAgICAgdC5zZXREYXRlKHQuZ2V0RGF0ZSgpICsgZGF5cyk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhbHVlID0gY29uZmlnLmpzb24gPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgOiBTdHJpbmcodmFsdWUpOw0KDQogICAgICAgICAgICByZXR1cm4gKGRvY3VtZW50LmNvb2tpZSA9IFsNCiAgICAgICAgICAgICAgICBjb25maWcucmF3ID8ga2V5IDogZW5jb2RlVVJJQ29tcG9uZW50KGtleSksDQogICAgICAgICAgICAgICAgJz0nLA0KICAgICAgICAgICAgICAgIGNvbmZpZy5yYXcgPyB2YWx1ZSA6IGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSksDQogICAgICAgICAgICAgICAgb3B0aW9ucy5leHBpcmVzID8gJzsgZXhwaXJlcz0nICsgb3B0aW9ucy5leHBpcmVzLnRvVVRDU3RyaW5nKCkgOiAnJywgLy8gdXNlIGV4cGlyZXMgYXR0cmlidXRlLCBtYXgtYWdlIGlzIG5vdCBzdXBwb3J0ZWQgYnkgSUUNCiAgICAgICAgICAgICAgICBvcHRpb25zLnBhdGggICAgPyAnOyBwYXRoPScgKyBvcHRpb25zLnBhdGggOiAnJywNCiAgICAgICAgICAgICAgICBvcHRpb25zLmRvbWFpbiAgPyAnOyBkb21haW49JyArIG9wdGlvbnMuZG9tYWluIDogJycsDQogICAgICAgICAgICAgICAgb3B0aW9ucy5zZWN1cmUgID8gJzsgc2VjdXJlJyA6ICcnDQogICAgICAgICAgICBdLmpvaW4oJycpKTsNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIHJlYWQNCiAgICAgICAgdmFyIGRlY29kZSA9IGNvbmZpZy5yYXcgPyByYXcgOiBkZWNvZGVkOw0KICAgICAgICB2YXIgY29va2llcyA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOyAnKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGtleSA/IHVuZGVmaW5lZCA6IHt9Ow0KICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGNvb2tpZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7DQogICAgICAgICAgICB2YXIgcGFydHMgPSBjb29raWVzW2ldLnNwbGl0KCc9Jyk7DQogICAgICAgICAgICB2YXIgbmFtZSA9IGRlY29kZShwYXJ0cy5zaGlmdCgpKTsNCiAgICAgICAgICAgIHZhciBjb29raWUgPSBkZWNvZGUocGFydHMuam9pbignPScpKTsNCg0KICAgICAgICAgICAgaWYgKGtleSAmJiBrZXkgPT09IG5hbWUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSBjb252ZXJ0ZWQoY29va2llKTsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKCFrZXkpIHsNCiAgICAgICAgICAgICAgICByZXN1bHRbbmFtZV0gPSBjb252ZXJ0ZWQoY29va2llKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfTsNCg0KICAgIGNvbmZpZy5kZWZhdWx0cyA9IHt9Ow0KDQogICAgJC5yZW1vdmVDb29raWUgPSBmdW5jdGlvbiAoa2V5LCBvcHRpb25zKSB7DQogICAgICAgIGlmICgkLmNvb2tpZShrZXkpICE9PSB1bmRlZmluZWQpIHsNCiAgICAgICAgICAgIC8vIE11c3Qgbm90IGFsdGVyIG9wdGlvbnMsIHRodXMgZXh0ZW5kaW5nIGEgZnJlc2ggb2JqZWN0Li4uDQogICAgICAgICAgICAkLmNvb2tpZShrZXksICcnLCAkLmV4dGVuZCh7fSwgb3B0aW9ucywgeyBleHBpcmVzOiAtMSB9KSk7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfTsNCg0KfSkpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery/jquery.tablednd.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIFRhYmxlRG5EIHBsdWctaW4gZm9yIEpRdWVyeSwgYWxsb3dzIHlvdSB0byBkcmFnIGFuZCBkcm9wIHRhYmxlIHJvd3MKICogWW91IGNhbiBzZXQgdXAgdmFyaW91cyBvcHRpb25zIHRvIGNvbnRyb2wgaG93IHRoZSBzeXN0ZW0gd2lsbCB3b3JrCiAqIENvcHlyaWdodCAoYykgRGVuaXMgSG93bGV0dCA8ZGVuaXNoQGlzb2NyYS5jb20+CiAqIExpY2Vuc2VkIGxpa2UgalF1ZXJ5LCBzZWUgaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9MaWNlbnNlLgogKgogKiBDb25maWd1cmF0aW9uIG9wdGlvbnM6CiAqIAogKiBvbkRyYWdTdHlsZQogKiAgICAgVGhpcyBpcyB0aGUgc3R5bGUgdGhhdCBpcyBhc3NpZ25lZCB0byB0aGUgcm93IGR1cmluZyBkcmFnLiBUaGVyZSBhcmUgbGltaXRhdGlvbnMgdG8gdGhlIHN0eWxlcyB0aGF0IGNhbiBiZQogKiAgICAgYXNzb2NpYXRlZCB3aXRoIGEgcm93IChzdWNoIGFzIHlvdSBjYW4ndCBhc3NpZ24gYSBib3JkZXItLXdlbGwgeW91IGNhbiwgYnV0IGl0IHdvbid0IGJlCiAqICAgICBkaXNwbGF5ZWQpLiAoU28gaW5zdGVhZCBjb25zaWRlciB1c2luZyBvbkRyYWdDbGFzcy4pIFRoZSBDU1Mgc3R5bGUgdG8gYXBwbHkgaXMgc3BlY2lmaWVkIGFzCiAqICAgICBhIG1hcCAoYXMgdXNlZCBpbiB0aGUgalF1ZXJ5IGNzcyguLi4pIGZ1bmN0aW9uKS4KICogb25Ecm9wU3R5bGUKICogICAgIFRoaXMgaXMgdGhlIHN0eWxlIHRoYXQgaXMgYXNzaWduZWQgdG8gdGhlIHJvdyB3aGVuIGl0IGlzIGRyb3BwZWQuIEFzIGZvciBvbkRyYWdTdHlsZSwgdGhlcmUgYXJlIGxpbWl0YXRpb25zCiAqICAgICB0byB3aGF0IHlvdSBjYW4gZG8uIEFsc28gdGhpcyByZXBsYWNlcyB0aGUgb3JpZ2luYWwgc3R5bGUsIHNvIGFnYWluIGNvbnNpZGVyIHVzaW5nIG9uRHJhZ0NsYXNzIHdoaWNoCiAqICAgICBpcyBzaW1wbHkgYWRkZWQgYW5kIHRoZW4gcmVtb3ZlZCBvbiBkcm9wLgogKiBvbkRyYWdDbGFzcwogKiAgICAgVGhpcyBjbGFzcyBpcyBhZGRlZCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBkcmFnIGFuZCB0aGVuIHJlbW92ZWQgd2hlbiB0aGUgcm93IGlzIGRyb3BwZWQuIEl0IGlzIG1vcmUKICogICAgIGZsZXhpYmxlIHRoYW4gdXNpbmcgb25EcmFnU3R5bGUgc2luY2UgaXQgY2FuIGJlIGluaGVyaXRlZCBieSB0aGUgcm93IGNlbGxzIGFuZCBvdGhlciBjb250ZW50LiBUaGUgZGVmYXVsdAogKiAgICAgaXMgY2xhc3MgaXMgdERuRF93aGlsZURyYWcuIFNvIHRvIHVzZSB0aGUgZGVmYXVsdCwgc2ltcGx5IGN1c3RvbWlzZSB0aGlzIENTUyBjbGFzcyBpbiB5b3VyCiAqICAgICBzdHlsZXNoZWV0LgogKiBvbkRyb3AKICogICAgIFBhc3MgYSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIHJvdyBpcyBkcm9wcGVkLiBUaGUgZnVuY3Rpb24gdGFrZXMgMiBwYXJhbWV0ZXJzOiB0aGUgdGFibGUKICogICAgIGFuZCB0aGUgcm93IHRoYXQgd2FzIGRyb3BwZWQuIFlvdSBjYW4gd29yayBvdXQgdGhlIG5ldyBvcmRlciBvZiB0aGUgcm93cyBieSB1c2luZwogKiAgICAgdGFibGUucm93cy4KICogb25EcmFnU3RhcnQKICogICAgIFBhc3MgYSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIHVzZXIgc3RhcnRzIGRyYWdnaW5nLiBUaGUgZnVuY3Rpb24gdGFrZXMgMiBwYXJhbWV0ZXJzOiB0aGUKICogICAgIHRhYmxlIGFuZCB0aGUgcm93IHdoaWNoIHRoZSB1c2VyIGhhcyBzdGFydGVkIHRvIGRyYWcuCiAqIG9uQWxsb3dEcm9wCiAqICAgICBQYXNzIGEgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBhcyBhIHJvdyBpcyBvdmVyIGFub3RoZXIgcm93LiBJZiB0aGUgZnVuY3Rpb24gcmV0dXJucyB0cnVlLCBhbGxvdyAKICogICAgIGRyb3BwaW5nIG9uIHRoYXQgcm93LCBvdGhlcndpc2Ugbm90LiBUaGUgZnVuY3Rpb24gdGFrZXMgMiBwYXJhbWV0ZXJzOiB0aGUgZHJhZ2dlZCByb3cgYW5kIHRoZSByb3cgdW5kZXIKICogICAgIHRoZSBjdXJzb3IuIEl0IHJldHVybnMgYSBib29sZWFuOiB0cnVlIGFsbG93cyB0aGUgZHJvcCwgZmFsc2UgZG9lc24ndCBhbGxvdyBpdC4KICogc2Nyb2xsQW1vdW50CiAqICAgICBUaGlzIGlzIHRoZSBudW1iZXIgb2YgcGl4ZWxzIHRvIHNjcm9sbCBpZiB0aGUgdXNlciBtb3ZlcyB0aGUgbW91c2UgY3Vyc29yIHRvIHRoZSB0b3Agb3IgYm90dG9tIG9mIHRoZQogKiAgICAgd2luZG93LiBUaGUgcGFnZSBzaG91bGQgYXV0b21hdGljYWxseSBzY3JvbGwgdXAgb3IgZG93biBhcyBhcHByb3ByaWF0ZSAodGVzdGVkIGluIElFNiwgSUU3LCBTYWZhcmksIEZGMiwKICogICAgIEZGMyBiZXRhCiAqIGRyYWdIYW5kbGUKICogICAgIFRoaXMgaXMgdGhlIG5hbWUgb2YgYSBjbGFzcyB0aGF0IHlvdSBhc3NpZ24gdG8gb25lIG9yIG1vcmUgY2VsbHMgaW4gZWFjaCByb3cgdGhhdCBpcyBkcmFnZ2FibGUuIElmIHlvdQogKiAgICAgc3BlY2lmeSB0aGlzIGNsYXNzLCB0aGVuIHlvdSBhcmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgY3Vyc29yOiBtb3ZlIGluIHRoZSBDU1MgYW5kIG9ubHkgdGhlc2UgY2VsbHMKICogICAgIHdpbGwgaGF2ZSB0aGUgZHJhZyBiZWhhdmlvdXIuIElmIHlvdSBkbyBub3Qgc3BlY2lmeSBhIGRyYWdIYW5kbGUsIHRoZW4geW91IGdldCB0aGUgb2xkIGJlaGF2aW91ciB3aGVyZQogKiAgICAgdGhlIHdob2xlIHJvdyBpcyBkcmFnZ2FibGUuCiAqIAogKiBPdGhlciB3YXlzIHRvIGNvbnRyb2wgYmVoYXZpb3VyOgogKgogKiBBZGQgY2xhc3M9Im5vZHJvcCIgdG8gYW55IHJvd3MgZm9yIHdoaWNoIHlvdSBkb24ndCB3YW50IHRvIGFsbG93IGRyb3BwaW5nLCBhbmQgY2xhc3M9Im5vZHJhZyIgdG8gYW55IHJvd3MKICogdGhhdCB5b3UgZG9uJ3Qgd2FudCB0byBiZSBkcmFnZ2FibGUuCiAqCiAqIEluc2lkZSB0aGUgb25Ecm9wIG1ldGhvZCB5b3UgY2FuIGFsc28gY2FsbCAkLnRhYmxlRG5ELnNlcmlhbGl6ZSgpIHRoaXMgcmV0dXJucyBhIHN0cmluZyBvZiB0aGUgZm9ybQogKiA8dGFibGVJRD5bXT08cm93SUQxPiY8dGFibGVJRD5bXT08cm93SUQyPiBzbyB0aGF0IHlvdSBjYW4gc2VuZCB0aGlzIGJhY2sgdG8gdGhlIHNlcnZlci4gVGhlIHRhYmxlIG11c3QgaGF2ZQogKiBhbiBJRCBhcyBtdXN0IGFsbCB0aGUgcm93cy4KICoKICogT3RoZXIgbWV0aG9kczoKICoKICogJCgiLi4uIikudGFibGVEbkRVcGRhdGUoKSAKICogV2lsbCB1cGRhdGUgYWxsIHRoZSBtYXRjaGluZyB0YWJsZXMsIHRoYXQgaXMgaXQgd2lsbCByZWFwcGx5IHRoZSBtb3VzZWRvd24gbWV0aG9kIHRvIHRoZSByb3dzIChvciBoYW5kbGUgY2VsbHMpLgogKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3UgaGF2ZSB1cGRhdGVkIHRoZSB0YWJsZSByb3dzIHVzaW5nIEFqYXggYW5kIHlvdSB3YW50IHRvIG1ha2UgdGhlIHRhYmxlIGRyYWdnYWJsZSBhZ2Fpbi4KICogVGhlIHRhYmxlIG1haW50YWlucyB0aGUgb3JpZ2luYWwgY29uZmlndXJhdGlvbiAoc28geW91IGRvbid0IGhhdmUgdG8gc3BlY2lmeSBpdCBhZ2FpbikuCiAqCiAqICQoIi4uLiIpLnRhYmxlRG5EU2VyaWFsaXplKCkKICogV2lsbCBzZXJpYWxpemUgYW5kIHJldHVybiB0aGUgc2VyaWFsaXplZCBzdHJpbmcgYXMgYWJvdmUsIGJ1dCBmb3IgZWFjaCBvZiB0aGUgbWF0Y2hpbmcgdGFibGVzLS1zbyBpdCBjYW4gYmUKICogY2FsbGVkIGZyb20gYW55d2hlcmUgYW5kIGlzbid0IGRlcGVuZGVudCBvbiB0aGUgY3VycmVudFRhYmxlIGJlaW5nIHNldCB1cCBjb3JyZWN0bHkgYmVmb3JlIGNhbGxpbmcKICoKICogS25vd24gcHJvYmxlbXM6CiAqIC0gQXV0by1zY29sbCBoYXMgc29tZSBwcm9ibGVtcyB3aXRoIElFNyAgKGl0IHNjcm9sbHMgZXZlbiB3aGVuIGl0IHNob3VsZG4ndCksIHdvcmstYXJvdW5kOiBzZXQgc2Nyb2xsQW1vdW50IHRvIDAKICogCiAqIFZlcnNpb24gMC4yOiAyMDA4LTAyLTIwIEZpcnN0IHB1YmxpYyB2ZXJzaW9uCiAqIFZlcnNpb24gMC4zOiAyMDA4LTAyLTA3IEFkZGVkIG9uRHJhZ1N0YXJ0IG9wdGlvbgogKiAgICAgICAgICAgICAgICAgICAgICAgICBNYWRlIHRoZSBzY3JvbGwgYW1vdW50IGNvbmZpZ3VyYWJsZSAoZGVmYXVsdCBpcyA1IGFzIGJlZm9yZSkKICogVmVyc2lvbiAwLjQ6IDIwMDgtMDMtMTUgQ2hhbmdlZCB0aGUgbm9EcmFnL25vRHJvcCBhdHRyaWJ1dGVzIHRvIG5vZHJhZy9ub2Ryb3AgY2xhc3NlcwogKiAgICAgICAgICAgICAgICAgICAgICAgICBBZGRlZCBvbkFsbG93RHJvcCB0byBjb250cm9sIGRyb3BwaW5nCiAqICAgICAgICAgICAgICAgICAgICAgICAgIEZpeGVkIGEgYnVnIHdoaWNoIG1lYW50IHRoYXQgeW91IGNvdWxkbid0IHNldCB0aGUgc2Nyb2xsIGFtb3VudCBpbiBib3RoIGRpcmVjdGlvbnMKICogICAgICAgICAgICAgICAgICAgICAgICAgQWRkZWQgc2VyaWFsaXplIG1ldGhvZAogKiBWZXJzaW9uIDAuNTogMjAwOC0wNS0xNiBDaGFuZ2VkIHNvIHRoYXQgaWYgeW91IHNwZWNpZnkgYSBkcmFnSGFuZGxlIGNsYXNzIGl0IGRvZXNuJ3QgbWFrZSB0aGUgd2hvbGUgcm93CiAqICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZQogKiAgICAgICAgICAgICAgICAgICAgICAgICBJbXByb3ZlZCB0aGUgc2VyaWFsaXplIG1ldGhvZCB0byB1c2UgYSBkZWZhdWx0IChhbmQgc2V0dGFibGUpIHJlZ3VsYXIgZXhwcmVzc2lvbi4KICogICAgICAgICAgICAgICAgICAgICAgICAgQWRkZWQgdGFibGVEbkR1cGF0ZSgpIGFuZCB0YWJsZURuRFNlcmlhbGl6ZSgpIHRvIGJlIGNhbGxlZCB3aGVuIHlvdSBhcmUgb3V0c2lkZSB0aGUgdGFibGUKICovCmpRdWVyeS50YWJsZURuRCA9IHsKICAgIC8qKiBLZWVwIGhvbGQgb2YgdGhlIGN1cnJlbnQgdGFibGUgYmVpbmcgZHJhZ2dlZCAqLwogICAgY3VycmVudFRhYmxlIDogbnVsbCwKICAgIC8qKiBLZWVwIGhvbGQgb2YgdGhlIGN1cnJlbnQgZHJhZyBvYmplY3QgaWYgYW55ICovCiAgICBkcmFnT2JqZWN0OiBudWxsLAogICAgLyoqIFRoZSBjdXJyZW50IG1vdXNlIG9mZnNldCAqLwogICAgbW91c2VPZmZzZXQ6IG51bGwsCiAgICAvKiogUmVtZW1iZXIgdGhlIG9sZCB2YWx1ZSBvZiBZIHNvIHRoYXQgd2UgZG9uJ3QgZG8gdG9vIG11Y2ggcHJvY2Vzc2luZyAqLwogICAgb2xkWTogMCwKCiAgICAvKiogQWN0dWFsbHkgYnVpbGQgdGhlIHN0cnVjdHVyZSAqLwogICAgYnVpbGQ6IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgICAgICAvLyBTZXQgdXAgdGhlIGRlZmF1bHRzIGlmIGFueQoKICAgICAgICB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIC8vIFRoaXMgaXMgYm91bmQgdG8gZWFjaCBtYXRjaGluZyB0YWJsZSwgc2V0IHVwIHRoZSBkZWZhdWx0cyBhbmQgb3ZlcnJpZGUgd2l0aCB1c2VyIG9wdGlvbnMKICAgICAgICAgICAgdGhpcy50YWJsZURuRENvbmZpZyA9IGpRdWVyeS5leHRlbmQoewogICAgICAgICAgICAgICAgb25EcmFnU3R5bGU6IG51bGwsCiAgICAgICAgICAgICAgICBvbkRyb3BTdHlsZTogbnVsbCwKCQkJCS8vIEFkZCBpbiB0aGUgZGVmYXVsdCBjbGFzcyBmb3Igd2hpbGVEcmFnZ2luZwoJCQkJb25EcmFnQ2xhc3M6ICJ0RG5EX3doaWxlRHJhZyIsCiAgICAgICAgICAgICAgICBvbkRyb3A6IG51bGwsCiAgICAgICAgICAgICAgICBvbkRyYWdTdGFydDogbnVsbCwKICAgICAgICAgICAgICAgIHNjcm9sbEFtb3VudDogNSwKCQkJCXNlcmlhbGl6ZVJlZ2V4cDogL1teXC1dKiQvLCAvLyBUaGUgcmVndWxhciBleHByZXNzaW9uIHRvIHVzZSB0byB0cmltIHJvdyBJRHMKCQkJCXNlcmlhbGl6ZVBhcmFtTmFtZTogbnVsbCwgLy8gSWYgeW91IHdhbnQgdG8gc3BlY2lmeSBhbm90aGVyIHBhcmFtZXRlciBuYW1lIGluc3RlYWQgb2YgdGhlIHRhYmxlIElECiAgICAgICAgICAgICAgICBkcmFnSGFuZGxlOiBudWxsIC8vIElmIHlvdSBnaXZlIHRoZSBuYW1lIG9mIGEgY2xhc3MgaGVyZSwgdGhlbiBvbmx5IENlbGxzIHdpdGggdGhpcyBjbGFzcyB3aWxsIGJlIGRyYWdnYWJsZQogICAgICAgICAgICB9LCBvcHRpb25zIHx8IHt9KTsKICAgICAgICAgICAgLy8gTm93IG1ha2UgdGhlIHJvd3MgZHJhZ2dhYmxlCiAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5tYWtlRHJhZ2dhYmxlKHRoaXMpOwogICAgICAgIH0pOwoKICAgICAgICAvLyBOb3cgd2UgbmVlZCB0byBjYXB0dXJlIHRoZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92ZSBldmVudAogICAgICAgIC8vIFdlIGNhbiB1c2UgYmluZCBzbyB0aGF0IHdlIGRvbid0IGludGVyZmVyZSB3aXRoIG90aGVyIGV2ZW50IGhhbmRsZXJzCiAgICAgICAgalF1ZXJ5KGRvY3VtZW50KQogICAgICAgICAgICAuYmluZCgnbW91c2Vtb3ZlJywgalF1ZXJ5LnRhYmxlRG5ELm1vdXNlbW92ZSkKICAgICAgICAgICAgLmJpbmQoJ21vdXNldXAnLCBqUXVlcnkudGFibGVEbkQubW91c2V1cCk7CgogICAgICAgIC8vIERvbid0IGJyZWFrIHRoZSBjaGFpbgogICAgICAgIHJldHVybiB0aGlzOwogICAgfSwKCiAgICAvKiogVGhpcyBmdW5jdGlvbiBtYWtlcyBhbGwgdGhlIHJvd3Mgb24gdGhlIHRhYmxlIGRyYWdnYWJsZSBhcGFydCBmcm9tIHRob3NlIG1hcmtlZCBhcyAiTm9EcmFnIiAqLwogICAgbWFrZURyYWdnYWJsZTogZnVuY3Rpb24odGFibGUpIHsKICAgICAgICB2YXIgY29uZmlnID0gdGFibGUudGFibGVEbkRDb25maWc7CgkJaWYgKHRhYmxlLnRhYmxlRG5EQ29uZmlnLmRyYWdIYW5kbGUpIHsKCQkJLy8gV2Ugb25seSBuZWVkIHRvIGFkZCB0aGUgZXZlbnQgdG8gdGhlIHNwZWNpZmllZCBjZWxscwoJCQl2YXIgY2VsbHMgPSBqUXVlcnkoInRkLiIrdGFibGUudGFibGVEbkRDb25maWcuZHJhZ0hhbmRsZSwgdGFibGUpOwoJCQljZWxscy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJLy8gVGhlIGNlbGwgaXMgYm91bmQgdG8gInRoaXMiCiAgICAgICAgICAgICAgICBqUXVlcnkodGhpcykubW91c2Vkb3duKGZ1bmN0aW9uKGV2KSB7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QgPSB0aGlzLnBhcmVudE5vZGU7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSA9IHRhYmxlOwogICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5tb3VzZU9mZnNldCA9IGpRdWVyeS50YWJsZURuRC5nZXRNb3VzZU9mZnNldCh0aGlzLCBldik7CiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5vbkRyYWdTdGFydCkgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBDYWxsIHRoZSBvbkRyb3AgbWV0aG9kIGlmIHRoZXJlIGlzIG9uZQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25EcmFnU3RhcnQodGFibGUsIHRoaXMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9KTsKCQkJfSkKCQl9IGVsc2UgewoJCQkvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHdlIGFkZCB0aGUgZXZlbnQgdG8gdGhlIHdob2xlIHJvdwoJICAgICAgICB2YXIgcm93cyA9IGpRdWVyeSgidHIiLCB0YWJsZSk7IC8vIGdldCBhbGwgdGhlIHJvd3MgYXMgYSB3cmFwcGVkIHNldAoJICAgICAgICByb3dzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQkvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCByb3csIHRoZSByb3cgaXMgYm91bmQgdG8gInRoaXMiCgkJCQl2YXIgcm93ID0galF1ZXJ5KHRoaXMpOwoJCQkJaWYgKCEgcm93Lmhhc0NsYXNzKCJub2RyYWciKSkgewoJICAgICAgICAgICAgICAgIHJvdy5tb3VzZWRvd24oZnVuY3Rpb24oZXYpIHsKCSAgICAgICAgICAgICAgICAgICAgaWYgKGV2LnRhcmdldC50YWdOYW1lID09ICJURCIpIHsKCSAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0ID0gdGhpczsKCSAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUgPSB0YWJsZTsKCSAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5tb3VzZU9mZnNldCA9IGpRdWVyeS50YWJsZURuRC5nZXRNb3VzZU9mZnNldCh0aGlzLCBldik7CgkgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLm9uRHJhZ1N0YXJ0KSB7CgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgb25Ecm9wIG1ldGhvZCBpZiB0aGVyZSBpcyBvbmUKCSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25EcmFnU3RhcnQodGFibGUsIHRoaXMpOwoJICAgICAgICAgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoJICAgICAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgfSkuY3NzKCJjdXJzb3IiLCAibW92ZSIpOyAvLyBTdG9yZSB0aGUgdGFibGVEbkQgb2JqZWN0CgkJCQl9CgkJCX0pOwoJCX0KCX0sCgoJdXBkYXRlVGFibGVzOiBmdW5jdGlvbigpIHsKCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCS8vIHRoaXMgaXMgbm93IGJvdW5kIHRvIGVhY2ggbWF0Y2hpbmcgdGFibGUKCQkJaWYgKHRoaXMudGFibGVEbkRDb25maWcpIHsKCQkJCWpRdWVyeS50YWJsZURuRC5tYWtlRHJhZ2dhYmxlKHRoaXMpOwoJCQl9CgkJfSkKCX0sCgogICAgLyoqIEdldCB0aGUgbW91c2UgY29vcmRpbmF0ZXMgZnJvbSB0aGUgZXZlbnQgKGFsbG93aW5nIGZvciBicm93c2VyIGRpZmZlcmVuY2VzKSAqLwogICAgbW91c2VDb29yZHM6IGZ1bmN0aW9uKGV2KXsKICAgICAgICBpZihldi5wYWdlWCB8fCBldi5wYWdlWSl7CiAgICAgICAgICAgIHJldHVybiB7eDpldi5wYWdlWCwgeTpldi5wYWdlWX07CiAgICAgICAgfQogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHg6ZXYuY2xpZW50WCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCAtIGRvY3VtZW50LmJvZHkuY2xpZW50TGVmdCwKICAgICAgICAgICAgeTpldi5jbGllbnRZICsgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgIC0gZG9jdW1lbnQuYm9keS5jbGllbnRUb3AKICAgICAgICB9OwogICAgfSwKCiAgICAvKiogR2l2ZW4gYSB0YXJnZXQgZWxlbWVudCBhbmQgYSBtb3VzZSBldmVudCwgZ2V0IHRoZSBtb3VzZSBvZmZzZXQgZnJvbSB0aGF0IGVsZW1lbnQuCiAgICAgICAgVG8gZG8gdGhpcyB3ZSBuZWVkIHRoZSBlbGVtZW50J3MgcG9zaXRpb24gYW5kIHRoZSBtb3VzZSBwb3NpdGlvbiAqLwogICAgZ2V0TW91c2VPZmZzZXQ6IGZ1bmN0aW9uKHRhcmdldCwgZXYpIHsKICAgICAgICBldiA9IGV2IHx8IHdpbmRvdy5ldmVudDsKCiAgICAgICAgdmFyIGRvY1BvcyAgICA9IHRoaXMuZ2V0UG9zaXRpb24odGFyZ2V0KTsKICAgICAgICB2YXIgbW91c2VQb3MgID0gdGhpcy5tb3VzZUNvb3Jkcyhldik7CiAgICAgICAgcmV0dXJuIHt4Om1vdXNlUG9zLnggLSBkb2NQb3MueCwgeTptb3VzZVBvcy55IC0gZG9jUG9zLnl9OwogICAgfSwKCiAgICAvKiogR2V0IHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50IGJ5IGdvaW5nIHVwIHRoZSBET00gdHJlZSBhbmQgYWRkaW5nIHVwIGFsbCB0aGUgb2Zmc2V0cyAqLwogICAgZ2V0UG9zaXRpb246IGZ1bmN0aW9uKGUpewogICAgICAgIHZhciBsZWZ0ID0gMDsKICAgICAgICB2YXIgdG9wICA9IDA7CiAgICAgICAgLyoqIFNhZmFyaSBmaXggLS0gdGhhbmtzIHRvIEx1aXMgQ2hhdG8gZm9yIHRoaXMhICovCiAgICAgICAgaWYgKGUub2Zmc2V0SGVpZ2h0ID09IDApIHsKICAgICAgICAgICAgLyoqIFNhZmFyaSAyIGRvZXNuJ3QgY29ycmVjdGx5IGdyYWIgdGhlIG9mZnNldFRvcCBvZiBhIHRhYmxlIHJvdwogICAgICAgICAgICB0aGlzIGlzIGRldGFpbGVkIGhlcmU6CiAgICAgICAgICAgIGh0dHA6Ly9qYWNvYi5wZWFyZ3JvdmUuY29tL2Jsb2cvMjAwNi90ZWNobmljYWwvdGFibGUtcm93LW9mZnNldHRvcC1idWctaW4tc2FmYXJpLwogICAgICAgICAgICB0aGUgc29sdXRpb24gaXMgbGlrZXdpc2Ugbm90ZWQgdGhlcmUsIGdyYWIgdGhlIG9mZnNldCBvZiBhIHRhYmxlIGNlbGwgaW4gdGhlIHJvdyAtIHRoZSBmaXJzdENoaWxkLgogICAgICAgICAgICBub3RlIHRoYXQgZmlyZWZveCB3aWxsIHJldHVybiBhIHRleHQgbm9kZSBhcyBhIGZpcnN0IGNoaWxkLCBzbyBkZXNpZ25pbmcgYSBtb3JlIHRob3JvdWdoCiAgICAgICAgICAgIHNvbHV0aW9uIG1heSBuZWVkIHRvIHRha2UgdGhhdCBpbnRvIGFjY291bnQsIGZvciBub3cgdGhpcyBzZWVtcyB0byB3b3JrIGluIGZpcmVmb3gsIHNhZmFyaSwgaWUgKi8KICAgICAgICAgICAgZSA9IGUuZmlyc3RDaGlsZDsgLy8gYSB0YWJsZSBjZWxsCiAgICAgICAgfQoJCWlmIChlICYmIGUub2Zmc2V0UGFyZW50KSB7CiAgICAgICAgCXdoaWxlIChlLm9mZnNldFBhcmVudCl7CiAgICAgICAgICAgIAlsZWZ0ICs9IGUub2Zmc2V0TGVmdDsKICAgICAgICAgICAgCXRvcCAgKz0gZS5vZmZzZXRUb3A7CiAgICAgICAgICAgIAllICAgICA9IGUub2Zmc2V0UGFyZW50OwogICAgICAgIAl9CgogICAgICAgIAlsZWZ0ICs9IGUub2Zmc2V0TGVmdDsKICAgICAgICAJdG9wICArPSBlLm9mZnNldFRvcDsKICAgICAgICB9CgogICAgICAgIHJldHVybiB7eDpsZWZ0LCB5OnRvcH07CiAgICB9LAoKICAgIG1vdXNlbW92ZTogZnVuY3Rpb24oZXYpIHsKICAgICAgICBpZiAoalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QgPT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgZHJhZ09iaiA9IGpRdWVyeShqUXVlcnkudGFibGVEbkQuZHJhZ09iamVjdCk7CiAgICAgICAgdmFyIGNvbmZpZyA9IGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUudGFibGVEbkRDb25maWc7CiAgICAgICAgdmFyIG1vdXNlUG9zID0galF1ZXJ5LnRhYmxlRG5ELm1vdXNlQ29vcmRzKGV2KTsKICAgICAgICB2YXIgeSA9IG1vdXNlUG9zLnkgLSBqUXVlcnkudGFibGVEbkQubW91c2VPZmZzZXQueTsKICAgICAgICAvL2F1dG8gc2Nyb2xsIHRoZSB3aW5kb3cKCSAgICB2YXIgeU9mZnNldCA9IHdpbmRvdy5wYWdlWU9mZnNldDsKCSAJaWYgKGRvY3VtZW50LmFsbCkgewoJICAgICAgICAvLyBXaW5kb3dzIHZlcnNpb24KCSAgICAgICAgLy95T2Zmc2V0PWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwoJICAgICAgICBpZiAodHlwZW9mIGRvY3VtZW50LmNvbXBhdE1vZGUgIT0gJ3VuZGVmaW5lZCcgJiYKCSAgICAgICAgICAgICBkb2N1bWVudC5jb21wYXRNb2RlICE9ICdCYWNrQ29tcGF0JykgewoJICAgICAgICAgICB5T2Zmc2V0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDsKCSAgICAgICAgfQoJICAgICAgICBlbHNlIGlmICh0eXBlb2YgZG9jdW1lbnQuYm9keSAhPSAndW5kZWZpbmVkJykgewoJICAgICAgICAgICB5T2Zmc2V0PWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwoJICAgICAgICB9CgoJICAgIH0KCQkgICAgCgkJaWYgKG1vdXNlUG9zLnkteU9mZnNldCA8IGNvbmZpZy5zY3JvbGxBbW91bnQpIHsKCSAgICAJd2luZG93LnNjcm9sbEJ5KDAsIC1jb25maWcuc2Nyb2xsQW1vdW50KTsKCSAgICB9IGVsc2UgewogICAgICAgICAgICB2YXIgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0ID8gd2luZG93LmlubmVySGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCA6IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OwogICAgICAgICAgICBpZiAod2luZG93SGVpZ2h0LShtb3VzZVBvcy55LXlPZmZzZXQpIDwgY29uZmlnLnNjcm9sbEFtb3VudCkgewogICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbEJ5KDAsIGNvbmZpZy5zY3JvbGxBbW91bnQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgaWYgKHkgIT0galF1ZXJ5LnRhYmxlRG5ELm9sZFkpIHsKICAgICAgICAgICAgLy8gd29yayBvdXQgaWYgd2UncmUgZ29pbmcgdXAgb3IgZG93bi4uLgogICAgICAgICAgICB2YXIgbW92aW5nRG93biA9IHkgPiBqUXVlcnkudGFibGVEbkQub2xkWTsKICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBvbGQgdmFsdWUKICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELm9sZFkgPSB5OwogICAgICAgICAgICAvLyB1cGRhdGUgdGhlIHN0eWxlIHRvIHNob3cgd2UncmUgZHJhZ2dpbmcKCQkJaWYgKGNvbmZpZy5vbkRyYWdDbGFzcykgewoJCQkJZHJhZ09iai5hZGRDbGFzcyhjb25maWcub25EcmFnQ2xhc3MpOwoJCQl9IGVsc2UgewoJICAgICAgICAgICAgZHJhZ09iai5jc3MoY29uZmlnLm9uRHJhZ1N0eWxlKTsKCQkJfQogICAgICAgICAgICAvLyBJZiB3ZSdyZSBvdmVyIGEgcm93IHRoZW4gbW92ZSB0aGUgZHJhZ2dlZCByb3cgdG8gdGhlcmUgc28gdGhhdCB0aGUgdXNlciBzZWVzIHRoZQogICAgICAgICAgICAvLyBlZmZlY3QgZHluYW1pY2FsbHkKICAgICAgICAgICAgdmFyIGN1cnJlbnRSb3cgPSBqUXVlcnkudGFibGVEbkQuZmluZERyb3BUYXJnZXRSb3coZHJhZ09iaiwgeSk7CiAgICAgICAgICAgIGlmIChjdXJyZW50Um93KSB7CiAgICAgICAgICAgICAgICAvLyBUT0RPIHdvcnJ5IGFib3V0IHdoYXQgaGFwcGVucyB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBUQk9ESUVTCiAgICAgICAgICAgICAgICBpZiAobW92aW5nRG93biAmJiBqUXVlcnkudGFibGVEbkQuZHJhZ09iamVjdCAhPSBjdXJyZW50Um93KSB7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QsIGN1cnJlbnRSb3cubmV4dFNpYmxpbmcpOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmICghIG1vdmluZ0Rvd24gJiYgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QgIT0gY3VycmVudFJvdykgewogICAgICAgICAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0LCBjdXJyZW50Um93KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKCiAgICAvKiogV2UncmUgb25seSB3b3JyaWVkIGFib3V0IHRoZSB5IHBvc2l0aW9uIHJlYWxseSwgYmVjYXVzZSB3ZSBjYW4gb25seSBtb3ZlIHJvd3MgdXAgYW5kIGRvd24gKi8KICAgIGZpbmREcm9wVGFyZ2V0Um93OiBmdW5jdGlvbihkcmFnZ2VkUm93LCB5KSB7CiAgICAgICAgdmFyIHJvd3MgPSBqUXVlcnkudGFibGVEbkQuY3VycmVudFRhYmxlLnJvd3M7CiAgICAgICAgZm9yICh2YXIgaT0wOyBpPHJvd3MubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIHJvdyA9IHJvd3NbaV07CiAgICAgICAgICAgIHZhciByb3dZICAgID0gdGhpcy5nZXRQb3NpdGlvbihyb3cpLnk7CiAgICAgICAgICAgIHZhciByb3dIZWlnaHQgPSBwYXJzZUludChyb3cub2Zmc2V0SGVpZ2h0KS8yOwogICAgICAgICAgICBpZiAocm93Lm9mZnNldEhlaWdodCA9PSAwKSB7CiAgICAgICAgICAgICAgICByb3dZID0gdGhpcy5nZXRQb3NpdGlvbihyb3cuZmlyc3RDaGlsZCkueTsKICAgICAgICAgICAgICAgIHJvd0hlaWdodCA9IHBhcnNlSW50KHJvdy5maXJzdENoaWxkLm9mZnNldEhlaWdodCkvMjsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBCZWNhdXNlIHdlIGFsd2F5cyBoYXZlIHRvIGluc2VydCBiZWZvcmUsIHdlIG5lZWQgdG8gb2Zmc2V0IHRoZSBoZWlnaHQgYSBiaXQKICAgICAgICAgICAgaWYgKCh5ID4gcm93WSAtIHJvd0hlaWdodCkgJiYgKHkgPCAocm93WSArIHJvd0hlaWdodCkpKSB7CiAgICAgICAgICAgICAgICAvLyB0aGF0J3MgdGhlIHJvdyB3ZSdyZSBvdmVyCgkJCQkvLyBJZiBpdCdzIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IHJvdywgaWdub3JlIGl0CgkJCQlpZiAocm93ID09IGRyYWdnZWRSb3cpIHtyZXR1cm4gbnVsbDt9CiAgICAgICAgICAgICAgICB2YXIgY29uZmlnID0galF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZS50YWJsZURuRENvbmZpZzsKICAgICAgICAgICAgICAgIGlmIChjb25maWcub25BbGxvd0Ryb3ApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLm9uQWxsb3dEcm9wKGRyYWdnZWRSb3csIHJvdykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvdzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewoJCQkJCS8vIElmIGEgcm93IGhhcyBub2Ryb3AgY2xhc3MsIHRoZW4gZG9uJ3QgYWxsb3cgZHJvcHBpbmcgKGluc3BpcmVkIGJ5IEpvaG4gVGFyciBhbmQgRmFtaWMpCiAgICAgICAgICAgICAgICAgICAgdmFyIG5vZHJvcCA9IGpRdWVyeShyb3cpLmhhc0NsYXNzKCJub2Ryb3AiKTsKICAgICAgICAgICAgICAgICAgICBpZiAoISBub2Ryb3ApIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvdzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gcm93OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfSwKCiAgICBtb3VzZXVwOiBmdW5jdGlvbihlKSB7CiAgICAgICAgaWYgKGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUgJiYgalF1ZXJ5LnRhYmxlRG5ELmRyYWdPYmplY3QpIHsKICAgICAgICAgICAgdmFyIGRyb3BwZWRSb3cgPSBqUXVlcnkudGFibGVEbkQuZHJhZ09iamVjdDsKICAgICAgICAgICAgdmFyIGNvbmZpZyA9IGpRdWVyeS50YWJsZURuRC5jdXJyZW50VGFibGUudGFibGVEbkRDb25maWc7CiAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYSBkcmFnT2JqZWN0LCB0aGVuIHdlIG5lZWQgdG8gcmVsZWFzZSBpdCwKICAgICAgICAgICAgLy8gVGhlIHJvdyB3aWxsIGFscmVhZHkgaGF2ZSBiZWVuIG1vdmVkIHRvIHRoZSByaWdodCBwbGFjZSBzbyB3ZSBqdXN0IHJlc2V0IHN0dWZmCgkJCWlmIChjb25maWcub25EcmFnQ2xhc3MpIHsKCSAgICAgICAgICAgIGpRdWVyeShkcm9wcGVkUm93KS5yZW1vdmVDbGFzcyhjb25maWcub25EcmFnQ2xhc3MpOwoJCQl9IGVsc2UgewoJICAgICAgICAgICAgalF1ZXJ5KGRyb3BwZWRSb3cpLmNzcyhjb25maWcub25Ecm9wU3R5bGUpOwoJCQl9CiAgICAgICAgICAgIGpRdWVyeS50YWJsZURuRC5kcmFnT2JqZWN0ICAgPSBudWxsOwogICAgICAgICAgICBpZiAoY29uZmlnLm9uRHJvcCkgewogICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgb25Ecm9wIG1ldGhvZCBpZiB0aGVyZSBpcyBvbmUKICAgICAgICAgICAgICAgIGNvbmZpZy5vbkRyb3AoalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSwgZHJvcHBlZFJvdyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSA9IG51bGw7IC8vIGxldCBnbyBvZiB0aGUgdGFibGUgdG9vCiAgICAgICAgfQogICAgfSwKCiAgICBzZXJpYWxpemU6IGZ1bmN0aW9uKCkgewogICAgICAgIGlmIChqUXVlcnkudGFibGVEbkQuY3VycmVudFRhYmxlKSB7CiAgICAgICAgICAgIHJldHVybiBqUXVlcnkudGFibGVEbkQuc2VyaWFsaXplVGFibGUoalF1ZXJ5LnRhYmxlRG5ELmN1cnJlbnRUYWJsZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICJFcnJvcjogTm8gVGFibGUgaWQgc2V0LCB5b3UgbmVlZCB0byBzZXQgYW4gaWQgb24geW91ciB0YWJsZSBhbmQgZXZlcnkgcm93IjsKICAgICAgICB9CiAgICB9LAoKCXNlcmlhbGl6ZVRhYmxlOiBmdW5jdGlvbih0YWJsZSkgewogICAgICAgIHZhciByZXN1bHQgPSAiIjsKICAgICAgICB2YXIgdGFibGVJZCA9IHRhYmxlLmlkOwogICAgICAgIHZhciByb3dzID0gdGFibGUucm93czsKICAgICAgICBmb3IgKHZhciBpPTA7IGk8cm93cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCA+IDApIHJlc3VsdCArPSAiJiI7CiAgICAgICAgICAgIHZhciByb3dJZCA9IHJvd3NbaV0uaWQ7CiAgICAgICAgICAgIGlmIChyb3dJZCAmJiByb3dJZCAmJiB0YWJsZS50YWJsZURuRENvbmZpZyAmJiB0YWJsZS50YWJsZURuRENvbmZpZy5zZXJpYWxpemVSZWdleHApIHsKICAgICAgICAgICAgICAgIHJvd0lkID0gcm93SWQubWF0Y2godGFibGUudGFibGVEbkRDb25maWcuc2VyaWFsaXplUmVnZXhwKVswXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmVzdWx0ICs9IHRhYmxlSWQgKyAnW109JyArIHJvd0lkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmVzdWx0OwoJfSwKCglzZXJpYWxpemVUYWJsZXM6IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciByZXN1bHQgPSAiIjsKICAgICAgICB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCS8vIHRoaXMgaXMgbm93IGJvdW5kIHRvIGVhY2ggbWF0Y2hpbmcgdGFibGUKCQkJcmVzdWx0ICs9IGpRdWVyeS50YWJsZURuRC5zZXJpYWxpemVUYWJsZSh0aGlzKTsKCQl9KTsKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfQoKfQoKalF1ZXJ5LmZuLmV4dGVuZCgKCXsKCQl0YWJsZURuRCA6IGpRdWVyeS50YWJsZURuRC5idWlsZCwKCQl0YWJsZURuRFVwZGF0ZSA6IGpRdWVyeS50YWJsZURuRC51cGRhdGVUYWJsZXMsCgkJdGFibGVEbkRTZXJpYWxpemU6IGpRdWVyeS50YWJsZURuRC5zZXJpYWxpemVUYWJsZXMKCX0KKTs=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEN1c3RvbSBHbG9iYWwgU2V0dGluZ3MKIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY3VzdG9tZ3MKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCi8qKiAKICogSW5zdGFsbCBtb2R1bGUKICovCgokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIFVzZScsICdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gVXNlJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gTWFuYWdlJywgJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MgLSBNYW5hZ2UnKTsKCQkKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2lucHV0X2N1c3RvbV9tb2R1bGVuYW1lJywgJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluX3NlY3Rpb24nLCAnZXh0ZW5zaW9ucycpOwoKCiRkYiA9ICR0aGlzLT5HZXREYigpOwoKLy8gbXlzcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ0VOR0lORT1NeUlTQU0nKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKJGZsZHMgPSAiCglmaWVsZGlkIEkgS0VZIEFVVE8sCgluYW1lIEMoMjU1KSwKCWhlbHAgWCwKCXR5cGUgQygyMCksCglwcm9wZXJ0aWVzIFgsCgljbGVhcmNhY2hlIEksCglzb3J0b3JkZXIgSSwKCXZhbHVlIFgsCgllZGl0b3JzIEMoMjU1KQoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY3VzdG9tZ3MiLCAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGZsZHMgPSAiCgl0YWJpZCBJIEtFWSBBVVRPLAoJbmFtZSBDKDI1NSksCglzb3J0b3JkZXIgSSwKCWVkaXRvcnMgQygyNTUpCiI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21nc190YWIiLCAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJGZsZHMgPSAiCgl0YWJpZCBJLAoJZmllbGRpZCBJCiI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21nc190YWJmaWVsZCIsICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21nc190YWJmaWVsZCIsIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2N1c3RvbWdzX3RhYmZpZWxkIiwgInRhYmlkLGZpZWxkaWQiLCBhcnJheSgiVU5JUVVFIikpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokcXVlcnkgPSAiSU5TRVJUIElOVE8gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3MgKG5hbWUsIGhlbHAsIHR5cGUsIHNvcnRvcmRlciwgdmFsdWUpIFZBTFVFUyAoPyw/LD8sPyw/KSI7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdTYW1wbGUgdGV4dGZpZWxkJywgJ1NhbXBsZSBoZWxwIHRleHQgZm9yIHRoaXMgdGV4dGZpZWxkJywgJ3RleHRmaWVsZCcsIDEsICdTYW1wbGUgdmFsdWUnKSk7CgokcXVlcnkgPSAiSU5TRVJUIElOVE8gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3NfdGFiIChuYW1lLCBzb3J0b3JkZXIpIFZBTFVFUyAoPyw/KSI7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aGlzLT5MYW5nKCJ0aXRsZV9nZW5lcmFsIiksIDEpKTsKCiRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9jdXN0b21nc190YWJmaWVsZCAoZmllbGRpZCwgdGFiaWQpIFZBTFVFUyAoPyw/KSI7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KDEsIDEpKTsKCi8vIHJlZ2lzdGVyIGFuIGV2ZW50IHRoYXQgQ3VzdG9tR1Mgd2lsbCBpc3N1ZS4KJHRoaXMtPkNyZWF0ZUV2ZW50KCdPblNldHRpbmdDaGFuZ2UnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEN1c3RvbSBHbG9iYWwgU2V0dGluZ3MKIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY3VzdG9tZ3MKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCi8qKiAKICogVW5pbnN0YWxsIG1vZHVsZQogKi8KJGRiID0gJHRoaXMtPkdldERiKCk7CgovLyByZW1vdmUgdGhlIGRhdGFiYXNlIHRhYmxlcwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY3VzdG9tZ3MiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIHJlbW92ZSB0aGUgcGVybWlzc2lvbnMKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MgLSBVc2UnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0N1c3RvbSBHbG9iYWwgU2V0dGluZ3MgLSBNYW5hZ2UnKTsKCQkKLy8gcmVtb3ZlIGFsbCBwcmVmZXJlbmNlcwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKLy8gcmVtb3ZlIHRoZSBldmVudAokdGhpcy0+UmVtb3ZlRXZlbnQoJ09uU2V0dGluZ0NoYW5nZScpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEN1c3RvbSBHbG9iYWwgU2V0dGluZ3MKIyBBdXRob3I6IFJvbGYgVGphc3NlbnMsIEpvcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY3VzdG9tZ3MKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCiRkYiA9ICR0aGlzLT5HZXREYigpOwokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdFTkdJTkU9TXlJU0FNJyk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCnN3aXRjaCgkb2xkdmVyc2lvbikKewoJY2FzZSAiMS4wIjoKCgkJJGZsZHMgPSAiCgkJCWZpZWxkaWQgSSBLRVkgQVVUTywKCQkJbmFtZSBDKDI1NSksCgkJCWhlbHAgWCwKCQkJdHlwZSBDKDIwKSwKCQkJcHJvcGVydGllcyBYLAoJCQlzb3J0b3JkZXIgSSwKCQkJdmFsdWUgWAoJCSI7CgoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21ncyIsICRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJJGlkeCA9IDE7CgkJZm9yICgkaSA9IDE7ICRpIDw9IDc7ICRpKyspCgkJewoJCQkvLyB0cmFuc2ZlciBjaGVja2JveGVzIHRvIGRhdGFiYXNlCgkJCSRmaWVsZG5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW5wdXRfdGl0bGVfY2hlY2tib3hfJy4kaSk7CgkJCWlmICggIWVtcHR5KCRmaWVsZG5hbWUpICkKCQkJewoJCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2N1c3RvbWdzIChuYW1lLCBoZWxwLCB0eXBlLCBzb3J0b3JkZXIsIHZhbHVlKSBWQUxVRVMgKD8sPyw/LD8sPykiOwoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoCgkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2lucHV0X3RpdGxlX2NoZWNrYm94XycuJGkpLAoJCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnB1dF9oZWxwX2NoZWNrYm94XycuJGkpLAoJCQkJCSdjaGVja2JveCcsCgkJCQkJJGlkeCwKCQkJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW5wdXRfY2hlY2tib3hfJy4kaSkKCQkJCSkpOwoJCQkJJGlkeCsrOwoJCQl9CgkJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdpbnB1dF9jaGVja2JveF8nLiRpKTsKCQkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2lucHV0X3RpdGxlX2NoZWNrYm94XycuJGkpOwoJCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnaW5wdXRfaGVscF9jaGVja2JveF8nLiRpKTsKCQl9CgkJZm9yICgkaSA9IDE7ICRpIDw9IDU7ICRpKyspCgkJewoJCQkvLyB0cmFuc2ZlciB0ZXh0ZmllbGRzIHRvIGRhdGFiYXNlCgkJCSRmaWVsZG5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW5wdXRfdGl0bGVfdGV4dGZpZWxkXycuJGkpOwoJCQlpZiAoICFlbXB0eSgkZmllbGRuYW1lKSApCgkJCXsKCQkJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9jdXN0b21ncyAobmFtZSwgaGVscCwgdHlwZSwgc29ydG9yZGVyLCB2YWx1ZSkgVkFMVUVTICg/LD8sPyw/LD8pIjsKCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KAoJCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnB1dF90aXRsZV90ZXh0ZmllbGRfJy4kaSksCgkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2lucHV0X2hlbHBfdGV4dGZpZWxkXycuJGkpLAoJCQkJCSd0ZXh0ZmllbGQnLAoJCQkJCSRpZHgsCgkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2lucHV0X3RleHRmaWVsZF8nLiRpKQoJCQkJKSk7CgkJCQkkaWR4Kys7CgkJCX0KCQkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2lucHV0X3RleHRmaWVsZF8nLiRpKTsKCQkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2lucHV0X3RpdGxlX3RleHRmaWVsZF8nLiRpKTsKCQkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2lucHV0X2hlbHBfdGV4dGZpZWxkXycuJGkpOwoJCX0KCQkvLyByZXNldCBwZXJtaXNzaW9ucwoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gU2V0dGluZ3MnKTsKCQkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignQ3VzdG9tIEdsb2JhbCBTZXR0aW5ncyAtIFVzZScsICdDdXN0b20gR2xvYmFsIFNldHRpbmdzIC0gVXNlJyk7CgkJLy8gY3JlYXRlIGV2ZW50CgkJJHRoaXMtPkNyZWF0ZUV2ZW50KCdPblNldHRpbmdDaGFuZ2UnKTsKCQkvLyBkZWxldGUgZmlsZXMKCQkkZGVsZXRlZmlsZXMgPSBhcnJheSAoJ2Z1bmN0aW9uLmFkbWluX2NoZWNrYm94ZXMucGhwJywgJ2Z1bmN0aW9uLmFkbWluX3RleHRmaWVsZHMucGhwJywgJ2Z1bmN0aW9uLmFkbWluX3NldHRpbmdzJywKCQkJCQkJCQkJCQkJCSdhY3Rpb24uc2F2ZV9jaGVja2JveGVzLnBocCcsICdhY3Rpb24uc2F2ZV90ZXh0ZmllbGRzLnBocCcsICdhY3Rpb24uc2F2ZV9zZXR0aW5ncy5waHAnLAoJCQkJCQkJCQkJCQkJJ3RlbXBsYXRlcy9hZG1pbl9jaGVja2JveGVzLnRwbCcsICd0ZW1wbGF0ZXMvYWRtaW5fdGV4dGZpZWxkcy50cGwnLCAndGVtcGxhdGVzL2FkbWluX3NldHRpbmdzLnRwbCcpOwoJCWZvcmVhY2ggKCRkZWxldGVmaWxlcyBhcyAkZGVsZXRlZmlsZSkgQHVubGluaygkZGVsZXRlZmlsZSk7CgoJCS8vIGN1cnJlbnQgdmVyc2lvbjogMS4xCgoJY2FzZSAiMS4xIjoKCgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluX3NlY3Rpb24nLCAnZXh0ZW5zaW9ucycpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY3VzdG9tZ3MiLCAiY2xlYXJjYWNoZSBJIik7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCQkvLyBjdXJyZW50IHZlcnNpb246IDEuMgoJCQoJY2FzZSAiMS40IjoKCgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21ncyIsICJlZGl0b3JzIEMoMjU1KSIpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJLy8gY3VycmVudCB2ZXJzaW9uOiAxLjUKCQkKCWNhc2UgIjEuNSI6CgljYXNlICIxLjYiOgoJY2FzZSAiMi4wIjoKCWNhc2UgIjIuMSI6CgljYXNlICIyLjIiOgoKCQkkZmxkcyA9ICIKCQkJdGFiaWQgSSBLRVkgQVVUTywKCQkJbmFtZSBDKDI1NSksCgkJCXNvcnRvcmRlciBJLAoJCQllZGl0b3JzIEMoMjU1KQoJCSI7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2N1c3RvbWdzX3RhYiIsICRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkJJGZsZHMgPSAiCgkJCXRhYmlkIEksCgkJCWZpZWxkaWQgSQoJCSI7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2N1c3RvbWdzX3RhYmZpZWxkIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21nc190YWJmaWVsZF9pZHgiLCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9jdXN0b21nc190YWJmaWVsZCIsICJ0YWJpZCxmaWVsZGlkIiwgYXJyYXkoIlVOSVFVRSIpKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3NfdGFiICh0YWJpZCwgbmFtZSwgc29ydG9yZGVyKSBWQUxVRVMgKD8sPyw/KSI7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoMSwgJHRoaXMtPkxhbmcoInRpdGxlX2dlbmVyYWwiKSwgMSkpOwoKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3NfdGFiZmllbGQgKHRhYmlkLCBmaWVsZGlkKQoJCQkJCVNFTEVDVCAxIEFTIHRhYmlkLCBmaWVsZGlkIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfY3VzdG9tZ3MiOwoJCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKCQkvLyBjdXJyZW50IHZlcnNpb246IDMuMAoKfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9IEN1c3RvbUdTCnZlcnNpb24gPSAzLjAKZGVzY3JpcHRpb24gPSAKYXV0aG9yID0gUm9sZiBUamFzc2VucywgSm9zCmF1dGhvcmVtYWlsID0gaW5mbyBhdCBjbXNjYW5iZXNpbXBsZSBkb3Qgb3JnLCBqb3N2ZCBhdCBsaXZlIGRvdCBubAptaW5jbXN2ZXJzaW9uID0gMS4xMgpsYXp5bG9hZGFkbWluID0gMApsYXp5bG9hZGZyb250ZW5kID0gMAo=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_fielddefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtc3xAY291bnQgPiAwfQo8c2NyaXB0IHR5cGU9dGV4dC9qYXZhc2NyaXB0PgoJdmFyIHNldHRpbmdzY2hhbmdlZCA9IGZhbHNlOwoJdmFyIGFqYXhfbG9hZCA9ICc8aW1nIHNyYz0iLi4vbW9kdWxlcy9DdXN0b21HUy9pbWFnZXMvbG9hZGluZy5naWYiIGFsdD0ibG9hZGluZy4uLiIgLz4nOwoJdmFyIHRydWVpbWcgPSAneyR0cnVlaW1hZ2V9JzsKCXZhciBmYWxzZWltZyA9ICd7JGZhbHNlaW1hZ2V9JzsKCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgeyAgeyR0YWJzZWxlY3Rqc317bGl0ZXJhbH0KCQkkKCcuc29ydF90YWJsZScpLnRhYmxlRG5EKHsKCQkJb25EcmFnQ2xhc3M6ICJyb3cxaG92ZXIiLAoJCQlvbkRyb3A6IGZ1bmN0aW9uKHRhYmxlLCByb3cpIHsKCQkJCXZhciB0b3RhbHJvd3MgPSBqUXVlcnkoIi5zb3J0X3RhYmxlIikuZmluZCgidGJvZHkgdHIiKS5zaXplKCk7CgoJCQkJalF1ZXJ5KCIuc29ydF90YWJsZSIpLmZpbmQoInRib2R5IHRyIikucmVtb3ZlQ2xhc3MoKTsKCQkJCWpRdWVyeSgiLnNvcnRfdGFibGUiKS5maW5kKCJ0Ym9keSB0cjpudGgtY2hpbGQoMm4rMSkiKS5hZGRDbGFzcygicm93MSIpOwoJCQkJalF1ZXJ5KCIuc29ydF90YWJsZSIpLmZpbmQoInRib2R5IHRyOm50aC1jaGlsZCgybikiKS5hZGRDbGFzcygicm93MiIpOwoKCQkJCXZhciByb3dzID0gdGFibGUudEJvZGllc1swXS5yb3dzOwoJCQkJdmFyIHNvcnRzdHIgPSByb3dzWzBdLmlkOwoJCQkJZm9yICh2YXIgaT0xOyBpPHJvd3MubGVuZ3RoOyBpKyspIHsKCQkJCQlzb3J0c3RyICs9ICIsIityb3dzW2ldLmlkOwoJCQkJfQoJCQkJJCgnI2xvYWRlcicpLmh0bWwoYWpheF9sb2FkKS5sb2FkKCd7L2xpdGVyYWx9eyRhamF4X3VybH0mc2hvd3RlbXBsYXRlPWZhbHNlJnskbW9kX2lkfXtsaXRlcmFsfXNvcnRzZXE9Jytzb3J0c3RyKTsKCQkJCXNldHRpbmdzY2hhbmdlZCA9IHRydWU7CgkJCX0KCQl9KTsKCQkkKCcudXBkb3duJykuaGlkZSgpOwoJCSQoJ2EuYXNzaWdudGFiJykuY2xpY2soZnVuY3Rpb24oZXZlbnQpewoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAKCQkJdmFyIHNlbGYgPSAkKHRoaXMpOwoJCQkkLmFqYXgoe3VybDogc2VsZi5hdHRyKCdocmVmJyksIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlc3VsdCl7CgkJCQkvL2FsZXJ0KHJlc3VsdCk7CgkJCQlzZXR0aW5nc2NoYW5nZWQgPSB0cnVlOwoJCQkJaWYocmVzdWx0ID09IDEpCgkJCQkJc2VsZi5odG1sKHRydWVpbWcpOwoJCQkJZWxzZQoJCQkJCXNlbGYuaHRtbChmYWxzZWltZyk7CgkJCX19KTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0pOwoJCSQoJyNwYWdlX3RhYnMgZGl2JykuY2xpY2soZnVuY3Rpb24oKXsKCQkJaWYoc2V0dGluZ3NjaGFuZ2VkKSBsb2NhdGlvbi5ocmVmID0gJ3svbGl0ZXJhbH17JHJlZnJlc2hfdXJsfSZ7JG1vZF9pZH17bGl0ZXJhbH1hY3RpdmVfdGFiPScgKyAkKHRoaXMpLmF0dHIoJ2lkJyk7CgkJCXJldHVybiBmYWxzZTsKCQl9KTsKCX0pOwo8L3NjcmlwdD4Key9saXRlcmFsfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRuZXdmaWVsZGRlZmxpbmt9Jm5ic3A7Jm5ic3A7Jm5ic3A7PHNwYW4gaWQ9ImxvYWRlciI+IDwvc3Bhbj48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgp7JGZvcm1zdGFydH0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUgc29ydF90YWJsZSI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGggY2xhc3M9InBhZ2V3MjUiPnskbmFtZX08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2V3MjUiPnskdHlwZX08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2V3MjUiPnskc21hcnR5dmFyfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24gdXBkb3duIj4mbmJzcDs8L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIHVwZG93biI+Jm5ic3A7PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyRzaG93b250YWJ9Jm5ic3A7eyR0YWJzZWxlY3R9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4KeyRncm91cGluZGVudCA9ICcnfQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJe2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249cm93Y2xhc3N9Cgl7aWYgJGVudHJ5LT50eXBlID09ICdGaWVsZGdyb3VwIHN0YXJ0J317JGdyb3VwaW5kZW50ID0gJyZuYnNwOyZuYnNwOyZuYnNwOyd9ey9pZn0KICAgIDx0ciBpZD0iaXskZW50cnktPmZpZWxkaWR9IiBjbGFzcz0ieyRyb3djbGFzc30iPgogICAgICA8dGQ+e2lmIGVtcHR5KCRlbnRyeS0+c21hcnR5dmFyKX08c3Ryb25nPnskZW50cnktPm5hbWV9PC9zdHJvbmc+e2Vsc2V9eyRncm91cGluZGVudH17JGVudHJ5LT5uYW1lfXsvaWZ9PC90ZD4KICAgICAgPHRkPnskZW50cnktPnR5cGV9PC90ZD4KICAgICAgPHRkPjxzcGFuIGNsYXNzPSJzbWFydHl2YXIiPnskZW50cnktPnNtYXJ0eXZhcn08L3NwYW4+PC90ZD4KICAgICAgPHRkIGNsYXNzPSJ1cGRvd24iPnskZW50cnktPm1vdmV1cH08L3RkPgogICAgICA8dGQgY2xhc3M9InVwZG93biI+eyRlbnRyeS0+bW92ZWRvd259PC90ZD4KICAgICAgPHRkPnskZW50cnktPmFzc2lnbnRhYn08L3RkPgogICAgICA8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KICAgICAgPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgIDwvdHI+Cgl7aWYgJGVudHJ5LT50eXBlID09ICdGaWVsZGdyb3VwIGVuZCd9eyRncm91cGluZGVudCA9ICcnfXsvaWZ9CnsvZm9yZWFjaH0KPC90YWJsZT4KCnskZm9ybWVuZH0KPC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRuZXdmaWVsZGRlZmxpbmt9PC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_general.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQoNCntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9DQp7aWYgJGVudHJ5LT50eXBlID09ICdmaWVsZHNldHN0YXJ0JyB8fCAkZW50cnktPnR5cGUgPT0gJ2ZpZWxkc2V0ZW5kJ30NCgl7JGVudHJ5LT5maWVsZGh0bWx9DQogIAl7aWYgIWVtcHR5KCRlbnRyeS0+aGVscCl9PHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRlbnRyeS0+aGVscHxlc2NhcGV9PC9wPnsvaWZ9DQp7ZWxzZX0NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPntpZiAkZW50cnktPnR5cGUgIT0gJ2J1dHRvbid9eyRlbnRyeS0+bmFtZXxlc2NhcGV9OjwvcD4NCiAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dHskZW50cnktPmZpZWxkY2xhc3N9Ij57L2lmfXskZW50cnktPmZpZWxkaHRtbH08L3A+DQogICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZW50cnktPmhlbHB8ZXNjYXBlfTwvcD4NCgk8L2Rpdj4NCnsvaWZ9DQp7L2ZvcmVhY2h9DQoNCgk8aHIgLz4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPg0KCTwvZGl2Pg0KDQp7JGVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_generaljs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9tb2R1bGVzL0N1c3RvbUdTL2xpYi9qcXVlcnkvanF1ZXJ5LmNvb2tpZS5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9tb2R1bGVzL0N1c3RvbUdTL2xpYi9qcXVlcnkvanF1ZXJ5LmNvbGxhcHNpYmxlLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL21vZHVsZXMvQ3VzdG9tR1MvbGliL2pxdWVyeS9qcXVlcnktdWktdGltZXBpY2tlci1hZGRvbi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9tb2R1bGVzL0N1c3RvbUdTL2xpYi9qcXVlcnkvY29sb3JwaWNrZXIubWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkJJChmdW5jdGlvbigpIHsNCgkJCSQoJy5jZ3NfY29sbGFwc2libGUnKS5jb2xsYXBzaWJsZSh7DQoJCQkJY29va2llTmFtZTogJ2NvbGxhcHNpYmxlJw0KCQkJfSk7DQp7L2xpdGVyYWx9eyREUF9sb2NhbGV9e2xpdGVyYWx9DQoJCQkkKCcuZGF0ZXBpY2tlciBpbnB1dCcpLmRhdGVwaWNrZXIoew0KCQkJCWRhdGVGb3JtYXQ6ICd5eS1tbS1kZCcsDQoJCQkJc2hvd090aGVyTW9udGhzOiB0cnVlLA0KCQkJCXNlbGVjdE90aGVyTW9udGhzOiB0cnVlDQoJCQl9KTsNCgkJCSQoJy5kYXRldGltZXBpY2tlciBpbnB1dCcpLmRhdGV0aW1lcGlja2VyKHsNCgkJCQlkYXRlRm9ybWF0OiAneXktbW0tZGQnLA0KCQkJCXNob3dPdGhlck1vbnRoczogdHJ1ZSwNCgkJCQlzZWxlY3RPdGhlck1vbnRoczogdHJ1ZQ0KCQkJfSk7DQoJCQkkKCcudGltZXBpY2tlciBpbnB1dCcpLnRpbWVwaWNrZXIoe30pOw0KCQkJJCgnLmlucHV0Y29sb3JwaWNrZXIgaW5wdXQnKS5Db2xvclBpY2tlcih7DQoJCQkJb25TdWJtaXQ6IGZ1bmN0aW9uKGhzYiwgaGV4LCByZ2IsIGVsLCBwYXJlbnQpIHsNCgkJCQkJJChlbCkudmFsKGhleCk7DQoJCQkJCSQoZWwpLkNvbG9yUGlja2VySGlkZSgpOw0KCQkJCX0sDQoJCQkJb25CZWZvcmVTaG93OiBmdW5jdGlvbiAoKSB7DQoJCQkJCSQodGhpcykuQ29sb3JQaWNrZXJTZXRDb2xvcih0aGlzLnZhbHVlKTsNCgkJCQl9DQoJCQl9KQ0KCQkJLm9uKCdrZXl1cCcsIGZ1bmN0aW9uKCl7DQoJCSQodGhpcykuQ29sb3JQaWNrZXJTZXRDb2xvcih0aGlzLnZhbHVlKTsNCgkJCX0pOw0KCQl9KTsNCjwvc2NyaXB0Pg0Key9saXRlcmFsfQ0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_options.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRpdGxlX2N1c3RvbV9tb2R1bGVuYW1lfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY3VzdG9tX21vZHVsZW5hbWV9PGJyIC8+eyRoZWxwX2N1c3RvbV9tb2R1bGVuYW1lfTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfYWRtaW5fc2VjdGlvbn06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FkbWluX3NlY3Rpb259PGJyIC8+eyRoZWxwX2FkbWluX3NlY3Rpb259PC9wPg0KCTwvZGl2Pg0KPGhyIC8+CQ0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH08L3A+DQoJPC9kaXY+DQp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/admin_tabs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtc3xAY291bnQgPiAwfQp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPXRleHQvamF2YXNjcmlwdD4KCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgewoJCSQoIi5zb3J0X3RhYmxlX3RhYiIpLnRhYmxlRG5EKHsKCQkJb25EcmFnQ2xhc3M6ICJyb3cxaG92ZXIiLAoJCQlvbkRyb3A6IGZ1bmN0aW9uKHRhYmxlLCByb3cpIHsKCQkJCXZhciB0b3RhbHJvd3MgPSBqUXVlcnkoIi5zb3J0X3RhYmxlX3RhYiIpLmZpbmQoInRib2R5IHRyIikuc2l6ZSgpOwoKCQkJCWpRdWVyeSgiLnNvcnRfdGFibGVfdGFiIikuZmluZCgidGJvZHkgdHIiKS5yZW1vdmVDbGFzcygpOwoJCQkJalF1ZXJ5KCIuc29ydF90YWJsZV90YWIiKS5maW5kKCJ0Ym9keSB0cjpudGgtY2hpbGQoMm4rMSkiKS5hZGRDbGFzcygicm93MSIpOwoJCQkJalF1ZXJ5KCIuc29ydF90YWJsZV90YWIiKS5maW5kKCJ0Ym9keSB0cjpudGgtY2hpbGQoMm4pIikuYWRkQ2xhc3MoInJvdzIiKTsKCgkJCQl2YXIgcm93cyA9IHRhYmxlLnRCb2RpZXNbMF0ucm93czsKCQkJCXZhciBzb3J0c3RyID0gcm93c1swXS5pZDsKCQkJCWZvciAodmFyIGk9MTsgaTxyb3dzLmxlbmd0aDsgaSsrKSB7CgkJCQkJc29ydHN0ciArPSAiLCIrcm93c1tpXS5pZDsKCQkJCX0KCQkJCXZhciBhamF4X2xvYWQgPSAnPGltZyBzcmM9Ii4uL21vZHVsZXMvQ3VzdG9tR1MvaW1hZ2VzL2xvYWRpbmcuZ2lmIiBhbHQ9ImxvYWRpbmcuLi4iIC8+JzsKCQkJCSQoJyNsb2FkZXInKS5odG1sKGFqYXhfbG9hZCkubG9hZCgney9saXRlcmFsfXskYWpheF91cmx9JnNob3d0ZW1wbGF0ZT1mYWxzZSZ7JG1vZF9pZH17bGl0ZXJhbH1zb3J0c2VxPScrc29ydHN0cik7CgkJCQlzZXR0aW5nc2NoYW5nZWQgPSB0cnVlOwoJCQl9CgkJfSk7CgkJLy8kKCIudXBkb3duIikuaGlkZSgpOwoJfSk7Cjwvc2NyaXB0Pgp7L2xpdGVyYWx9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JG5ld3RhYmxpbmt9Jm5ic3A7Jm5ic3A7Jm5ic3A7PHNwYW4gaWQ9ImxvYWRlciI+IDwvc3Bhbj48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgp7JGZvcm1zdGFydH0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUgc29ydF90YWJsZV90YWIiPgogIDx0aGVhZD4KICAgIDx0cj4KICAgICAgPHRoIGNsYXNzPSJwYWdldzI1Ij57JG5hbWV9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiB1cGRvd24iPiZuYnNwOzwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24gdXBkb3duIj4mbmJzcDs8L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCXtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPXJvd2NsYXNzfQogICAgPHRyIGlkPSJpeyRlbnRyeS0+dGFiaWR9IiBjbGFzcz0ieyRyb3djbGFzc30iPgogICAgICA8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgogICAgICA8dGQgY2xhc3M9InVwZG93biI+eyRlbnRyeS0+bW92ZXVwfTwvdGQ+CiAgICAgIDx0ZCBjbGFzcz0idXBkb3duIj57JGVudHJ5LT5tb3ZlZG93bn08L3RkPgogICAgICA8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KICAgICAgPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgIDwvdHI+CnsvZm9yZWFjaH0KPC90YWJsZT4KCnskZm9ybWVuZH0KPC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRuZXd0YWJsaW5rfTwvcD4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/editfielddef.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCgkkKCcjbWF4bGVuZ3RoJykuaGlkZSgpOw0KCSQoJyNwcm9wZXJ0aWVzJykuaGlkZSgpOw0KCSQoJyNwYXJzZXNtYXJ0eScpLmhpZGUoKTsNCgkkKCcjZmllbGR0eXBlJykuY2hhbmdlKGZ1bmN0aW9uKCkgew0KCQlpZiAoJCgnI2ZpZWxkdHlwZScpLnZhbCgpID09ICd0ZXh0ZmllbGQnKQ0KCQl7DQoJCQkkKCcjbWF4bGVuZ3RoJykuc2xpZGVEb3duKCdzbG93Jyk7DQoJCQkkKCcjcHJvcGVydGllcycpLnNsaWRlVXAoJ3Nsb3cnKTsNCgkJCSQoJyNwYXJzZXNtYXJ0eScpLnNsaWRlVXAoJ3Nsb3cnKTsNCgkJfQ0KCQllbHNlIGlmICgkKCcjZmllbGR0eXBlJykudmFsKCkgPT0gJ3B1bGxkb3duJyB8fCAkKCcjZmllbGR0eXBlJykudmFsKCkgPT0gJ3JhZGlvYnV0dG9ucycpDQoJCXsNCgkJCSQoJyNtYXhsZW5ndGgnKS5zbGlkZVVwKCdzbG93Jyk7DQoJCQkkKCcjcHJvcGVydGllcycpLnNsaWRlRG93bignc2xvdycpOw0KCQkJJCgnI3BhcnNlc21hcnR5Jykuc2xpZGVVcCgnc2xvdycpOw0KCQl9DQoJCWVsc2UgaWYgKCQoJyNmaWVsZHR5cGUnKS52YWwoKSA9PSAndGV4dGFyZWEnIHx8ICQoJyNmaWVsZHR5cGUnKS52YWwoKSA9PSAnd3lzaXd5ZycpDQoJCXsNCgkJCSQoJyNtYXhsZW5ndGgnKS5zbGlkZVVwKCdzbG93Jyk7DQoJCQkkKCcjcHJvcGVydGllcycpLnNsaWRlVXAoJ3Nsb3cnKTsNCgkJCSQoJyNwYXJzZXNtYXJ0eScpLnNsaWRlRG93bignc2xvdycpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJCgnI21heGxlbmd0aCcpLnNsaWRlVXAoJ3Nsb3cnKTsNCgkJCSQoJyNwcm9wZXJ0aWVzJykuc2xpZGVVcCgnc2xvdycpOw0KCQkJJCgnI3BhcnNlc21hcnR5Jykuc2xpZGVVcCgnc2xvdycpOw0KCQl9DQoJfSk7DQoJJCgnI2ZpZWxkdHlwZScpLmNoYW5nZSgpOw0KfSk7DQo8L3NjcmlwdD4NCnsvbGl0ZXJhbH0NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQo8aDM+eyR0aXRsZX08L2gzPg0KPC9kaXY+DQp7JGZvcm1zdGFydH17JGhpZGRlbn0NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9uYW1lfTo8L3A+DQogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbmFtZX08L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90eXBlfTo8L3A+DQogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdHlwZX08L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBpZD0ibWF4bGVuZ3RoIj4NCiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9tYXhsZW5ndGh9OjwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtYXhsZW5ndGh9PC9wPg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgaWQ9InByb3BlcnRpZXMiPg0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3Byb3BlcnRpZXN9OjwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoZWxwX3Byb3BlcnRpZXN9PC9wPg0KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb3BlcnRpZXN9PC9wPg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgaWQ9InBhcnNlc21hcnR5Ij4NCiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9wYXJzZXNtYXJ0eX06PC9wPg0KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHBhcnNlc21hcnR5fTwvcD4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2hlbHB9OjwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoZWxwfTwvcD4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2NsZWFyY2FjaGV9OjwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjbGVhcmNhY2hlfSB7JGhlbHBfY2xlYXJjYWNoZX08L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9lZGl0b3JzfTo8L3A+DQogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZWRpdG9yc308L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90YWJzfTo8L3A+DQogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICB7Zm9yZWFjaCAkdGFicyBhcyAkdGFifQ0KICAgIHskdGFifTxiciAvPg0KICB7L2ZvcmVhY2h9DQogIDwvcD4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPg0KCTxwPiZuYnNwOzwvcD4NCjwvZGl2Pg0KDQp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/edittab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCjxoMz57JHRpdGxlfTwvaDM+DQo8L2Rpdj4NCnskZm9ybXN0YXJ0fXskaGlkZGVufQ0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X25hbWV9OjwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRuYW1lfTwvcD4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2VkaXRvcnN9OjwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRlZGl0b3JzfTwvcD4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPg0KCTxwPiZuYnNwOzwvcD4NCjwvZGl2Pg0KDQp7JGZvcm1lbmR9]]></data>
	</file>
</module>
