a:3:{s:4:"name";s:14:"templateWidget";s:4:"dirs";a:3:{i:0;s:15:"/templateWidget";i:1;s:33:"/templateWidget/default-templates";i:2;s:20:"/templateWidget/demo";}s:5:"files";a:8:{s:62:"/templateWidget/default-templates/google.analytics.widget.html";s:776:"PHRwbDpXaWRnZXROYW1lPkdvb2dsZSBBbmFseXRpY3M8L3RwbDpXaWRnZXROYW1lPg0KPHRwbDpXaWRnZXREZXNjcmlwdGlvbj5JbmNsdWRlIEdvb2dsZSBBbmFseXRpY3MgdHJhY2tlcjwvdHBsOldpZGdldERlc2NyaXB0aW9uPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KdmFyIGdhSnNIb3N0ID0gKCgiaHR0cHM6IiA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCkgPyAiaHR0cHM6Ly9zc2wuIiA6ICJodHRwOi8vd3d3LiIpOw0KZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoIiUzQ3NjcmlwdCBzcmM9JyIgKyBnYUpzSG9zdCArICJnb29nbGUtYW5hbHl0aWNzLmNvbS9nYS5qcycgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyUzRSUzQy9zY3JpcHQlM0UiKSk7DQo8L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCnZhciBwYWdlVHJhY2tlciA9IF9nYXQuX2dldFRyYWNrZXIoJ3t7dHBsOldpZGdldFRleHQgbmFtZT0iY29kZSIgdGl0bGU9IkNvZGU6In19Jyk7DQpwYWdlVHJhY2tlci5faW5pdERhdGEoKTsNCnBhZ2VUcmFja2VyLl90cmFja1BhZ2V2aWV3KCk7DQo8L3NjcmlwdD4=";s:60:"/templateWidget/default-templates/php.my.visites.widget.html";s:1568:"PHRwbDpXaWRnZXROYW1lPnBocE15VmlzaXRlczwvdHBsOldpZGdldE5hbWU+DQo8dHBsOldpZGdldERlc2NyaXB0aW9uPkluY2x1ZGUgcGhwTXlWaXNpdGVzIHRyYWNrZXI8L3RwbDpXaWRnZXREZXNjcmlwdGlvbj4NCjwhLS0gcGhwbXl2aXNpdGVzIC0tPg0KPGEgaHJlZj0iaHR0cDovL3d3dy5waHBteXZpc2l0ZXMubmV0LyIgdGl0bGU9InBocE15VmlzaXRlcyB8IE9wZW4gc291cmNlIHdlYiBhbmFseXRpY3MiIG9uY2xpY2s9IndpbmRvdy5vcGVuKHRoaXMuaHJlZik7cmV0dXJuKGZhbHNlKTsiPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KLy8gPCFbQ0RBVEFbDQp2YXIgYV92YXJzID0gQXJyYXkoKTsNCnZhciBwYWdlbmFtZT17e3RwbDpXaWRnZXRUZXh0IG5hbWU9InBhZ2VuYW1lIiB0aXRsZT0iTm9tIGRlIGxhIHBhZ2UgKHBhZ2VuYW1lKSA6IiBkZWZhdWx0PSJkb2N1bWVudC50aXRsZSIgb3JkZXI9IjEifX07DQoNCnZhciBwaHBteXZpc2l0ZXNTaXRlID0ge3t0cGw6V2lkZ2V0VGV4dCBuYW1lPSJzaXRlIiB0aXRsZT0iTnVtJmVhY3V0ZTtybyBkdSBzaXRlIChwaHBteXZpc2l0ZXNTaXRlKSA6IiBvcmRlcj0iMiJ9fTsNCnZhciBwaHBteXZpc2l0ZXNVUkwgPSAne3t0cGw6V2lkZ2V0VGV4dCBuYW1lPSJ1cmwiIHRpdGxlPSJVUkwgZGUgcGhwTXlWaXNpdGVzIDoiIG9yZGVyPSIzIn19L3BocG15dmlzaXRlcy5waHAnOw0KLy8gXV0+DQo8L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Int7dHBsOldpZGdldFRleHQgbmFtZT0idXJsIn19L3BocG15dmlzaXRlcy5qcyI+PC9zY3JpcHQ+DQo8L2E+DQo8bm9zY3JpcHQ+DQo8cD48YSBocmVmPSJodHRwOi8vd3d3LnBocG15dmlzaXRlcy5uZXQvIiB0aXRsZT0icGhwTXlWaXNpdGVzIHwgT3BlbiBzb3VyY2Ugd2ViIGFuYWx5dGljcyINCiAgICAgICAgICAgIG9uY2xpY2s9IndpbmRvdy5vcGVuKHRoaXMuaHJlZik7cmV0dXJuKGZhbHNlKTsiPnBocE15VmlzaXRlcyB8IE9wZW4gc291cmNlIHdlYiBhbmFseXRpY3MNCjxpbWcgc3JjPSJ7e3RwbDpXaWRnZXRUZXh0IG5hbWU9InVybCJ9fS9waHBteXZpc2l0ZXMucGhwIiBhbHQ9IlN0YXRpc3RpY3MiIHN0eWxlPSJib3JkZXI6MCIgLz4NCjwvYT48L3A+DQo8L25vc2NyaXB0Pg0KPCEtLSAvcGhwbXl2aXNpdGVzIC0tPg==";s:37:"/templateWidget/demo/demo.widget.html";s:1676:"PHRwbDpXaWRnZXROYW1lPlRlbXBsYXRlIFdpZGdldCBEZW1vPC90cGw6V2lkZ2V0TmFtZT4NCjx0cGw6V2lkZ2V0RGVzY3JpcHRpb24+RGVtbyBmb3IgdGhlICJUZW1wbGF0ZSBXaWRnZXQiIGV4dGVuc2lvbjwvdHBsOldpZGdldERlc2NyaXB0aW9uPg0KDQo8ZGl2Pg0KPGgyPnt7dHBsOldpZGdldFRleHQgbmFtZT0idGl0bGUiIHRpdGxlPSJUaXRsZToiIGRlZmF1bHQ9IkRlZmF1bHQgVGl0bGUiIG9yZGVyPSIxIn19PC9oMj4NCg0KPHRwbDpXaWRnZXREZWZpbmVCbG9jayBuYW1lPSJEZW1vQmxvY2siPg0Ke3t0cGw6V2lkZ2V0VGV4dCBuYW1lPSJkZXNjIiB0aXRsZT0iRGVzY3JpcHRpb246IiBkZWZhdWx0PSJCbGFoIGJsYWguLi4iIHR5cGU9InRleHRhcmVhIiBvcmRlcj0iNSJ9fQ0Ke3t0cGw6V2lkZ2V0Q29tYm8gbmFtZT0iY2hvaWNlIiB0aXRsZT0iQ2hvb3NlOiIgZGVmYXVsdD0iYmx1ZSIgb3B0aW9ucz0icmVkOmdyZWVuOmJsdWUiIG9yZGVyPSI0In19DQo8dHBsOldpZGdldENvbWJvSWYgbmFtZT0iY2hvaWNlIiB2YWx1ZT0iZ3JlZW4iPg0KLS1UaGlzIGlzIGdyZWVuDQo8L3RwbDpXaWRnZXRDb21ib0lmPg0KPC90cGw6V2lkZ2V0RGVmaW5lQmxvY2s+DQoNCjx0cGw6V2lkZ2V0Q2hlY2tib3hJZiBuYW1lPSJjaGVja21lIiB2YWx1ZT0iMSIgdGl0bGU9IkNoZWNrIG1lIiBkZWZhdWx0PSIwIiBvcmRlcj0iMiI+DQo8aDM+Q2hlY2tNZSBpcyBjaGVja2VkICE8L2gzPg0Ke3t0cGw6V2lkZ2V0VXNlQmxvY2sgbmFtZT0iRGVtb0Jsb2NrIn19DQo8L3RwbDpXaWRnZXRDaGVja2JveElmPg0KPHRwbDpXaWRnZXRDaGVja2JveElmIG5hbWU9ImNoZWNrbWUiIHZhbHVlPSIwIj4NCjxoMz5DaGVja01lIGlzIG5vdCBjaGVja2VkICEgUGxlYXNlIENoZWNrIGl0ICE8L2gzPg0KPC90cGw6V2lkZ2V0Q2hlY2tib3hJZj4NCg0KPHRwbDpXaWRnZXRDaGVja2JveElmIG5hbWU9InVuY2hlY2ttZSIgdmFsdWU9IjAiIHRpdGxlPSJVbmNoZWNrIG1lIiBkZWZhdWx0PSIxIiBvcmRlcj0iMyI+DQo8aDM+VW5jaGVja01lIGlzIG5vdCBjaGVja2VkICE8L2gzPg0Ke3t0cGw6V2lkZ2V0VXNlQmxvY2sgbmFtZT0iRGVtb0Jsb2NrIn19DQo8L3RwbDpXaWRnZXRDaGVja2JveElmPg0KPHRwbDpXaWRnZXRDaGVja2JveElmIG5hbWU9InVuY2hlY2ttZSIgdmFsdWU9IjEiPg0KPGgzPlVuY2hlY2tNZSBpcyBjaGVja2VkICEgUGxlYXNlIFVuY2hlY2sgaXQgITwvaDM+DQo8L3RwbDpXaWRnZXRDaGVja2JveElmPg0KDQo8L2Rpdj4NCg==";s:46:"/templateWidget/demo/last.comments.widget.html";s:1084:"PHRwbDpXaWRnZXROYW1lPkxhc3QgY29tbWVudHM8L3RwbDpXaWRnZXROYW1lPg0KPHRwbDpXaWRnZXREZXNjcmlwdGlvbj5MaXN0IGxhc3QgY29tbWVudHM8L3RwbDpXaWRnZXREZXNjcmlwdGlvbj4NCjx0cGw6V2lkZ2V0RGVmaW5lQmxvY2sgbmFtZT0iTWFpbiI+DQo8ZGl2IGNsYXNzPSJsYXN0Y29tbWVudHMiPg0KPGgyPnt7dHBsOldpZGdldFRleHQgbmFtZT0idGl0bGUiIHRpdGxlPSJUaXRsZToiIGRlZmF1bHQ9Ikxhc3QgY29tbWVudHMiIG9yZGVyPSIxIn19PC9oMj4NCjx1bD4NCiAgPHRwbDpDb21tZW50cyBsYXN0bj0iNSI+DQogIDxsaT48YSBocmVmPSJ7e3RwbDpDb21tZW50UG9zdFVSTH19I2N7e3RwbDpDb21tZW50SUR9fSI+e3t0cGw6Q29tbWVudEVudHJ5VGl0bGV9fSAtIHt7dHBsOkNvbW1lbnRBdXRob3J9fTwvYT48L2xpPg0KICA8L3RwbDpDb21tZW50cz4NCjwvdWw+DQo8L2Rpdj4NCjwvdHBsOldpZGdldERlZmluZUJsb2NrPg0KPHRwbDpXaWRnZXRDaGVja2JveElmIG5hbWU9ImhvbWVvbmx5IiB2YWx1ZT0iMSIgdGl0bGU9IkhvbWUgcGFnZSBvbmx5IiBkZWZhdWx0PSIxIiBvcmRlcj0iMiI+DQo8dHBsOldpZGdldFBhZ2VUeXBlSWYgdHlwZT0iZGVmYXVsdCI+DQp7e3RwbDpXaWRnZXRVc2VCbG9jayBuYW1lPSJNYWluIn19DQo8L3RwbDpXaWRnZXRQYWdlVHlwZUlmPg0KPC90cGw6V2lkZ2V0Q2hlY2tib3hJZj4NCjx0cGw6V2lkZ2V0Q2hlY2tib3hJZiBuYW1lPSJob21lb25seSIgdmFsdWU9IjAiPg0Ke3t0cGw6V2lkZ2V0VXNlQmxvY2sgbmFtZT0iTWFpbiJ9fQ0KPC90cGw6V2lkZ2V0Q2hlY2tib3hJZj4=";s:37:"/templateWidget/demo/mini.widget.html";s:244:"PHRwbDpXaWRnZXROYW1lPk1pbmk8L3RwbDpXaWRnZXROYW1lPg0KQm9uam91ciB7e3RwbDpXaWRnZXRUZXh0IG5hbWU9Im5vbSIgdGl0bGU9IkVudHJleiB2b3RyZSBub20gOiIgZGVmYXVsdD0idmlzaXRldXIifX0gITxici8+DQpWb3VzICZlY2lyYzt0ZXMgc3VyIGxlIGJsb2cge3t0cGw6QmxvZ05hbWV9fS48YnIvPg==";s:26:"/templateWidget/_admin.php";s:10604:"PD9waHANCiMgKioqKiogQkVHSU4gTElDRU5TRSBCTE9DSyAqKioqKg0KIyBDb3B5cmlnaHQgKGMpIDIwMDggT2xpdmllciBBemVhdSBhbmQgY29udHJpYnV0b3JzLiBBbGwgcmlnaHRzDQojIHJlc2VydmVkLg0KIw0KIyBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMgDQojIFRoaXMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyANCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCBEb3RDbGVhcjsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBDQojDQojICoqKioqIEVORCBMSUNFTlNFIEJMT0NLICoqKioqDQoNCiRjb3JlLT5hZGRCZWhhdmlvcignaW5pdFdpZGdldHMnLGFycmF5KCd0ZW1wbGF0ZVdpZGdldEFkbWluJywnSW5pdFdpZGdldHMnKSk7DQoNCmRlZmluZSgnRENfV0lER0VUX0FETUlOX1RQTF9DQUNIRScsRENfVFBMX0NBQ0hFLicvY2J0cGwvdGVtcGxhdGVXaWRnZXQnKTsNCg0KY2xhc3MgdGVtcGxhdGVXaWRnZXRBZG1pbg0Kew0KICAvLyBnZXQgbGlzdCBvZiBhbGwgYWN0aXZlIHRlbXBsYXRlIHdpZGdldHMNCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBHZXRBbGxBY3RpdmVXaWRnZXRzKCkgew0KICAgIGdsb2JhbCAkY29yZTsNCiAgICAkd2lkZ2V0cyA9IGFycmF5KCk7DQogICAgZm9yZWFjaCAoJGNvcmUtPndpZGdldFRwbC0+Z2V0UGF0aCgpIGFzICR0ZW1wbGF0ZUZvbGRlcikgew0KICAgICAgJHdpZGdldEZpbGVzRm9yRm9sZGVyID0gQGdsb2IoJHRlbXBsYXRlRm9sZGVyLicvKi53aWRnZXQuaHRtbCcpOw0KICAgICAgaWYgKCFpc19hcnJheSgkd2lkZ2V0RmlsZXNGb3JGb2xkZXIpKQ0KICAgICAgICBjb250aW51ZTsNCiAgICAgIGZvcmVhY2ggKCR3aWRnZXRGaWxlc0ZvckZvbGRlciBhcyAkd2lkZ2V0RmlsZSkgew0KICAgICAgICAkd2lkZ2V0SWQgPSBiYXNlbmFtZSgkd2lkZ2V0RmlsZSwnLndpZGdldC5odG1sJyk7DQogICAgICAgIGlmICghaXNzZXQoJHdpZGdldHNbJHdpZGdldElkXSkpDQogICAgICAgICAgJHdpZGdldHNbJHdpZGdldElkXSA9ICR3aWRnZXRGaWxlOw0KICAgICAgfQ0KICAgIH0NCiAgICByZXR1cm4gJHdpZGdldHM7DQogIH0NCiAgDQogIC8vIGJlaGF2aW91ciBmb3Igd2lkZ2V0IGluaXRpYWxpemF0aW9uDQogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQ3JlYXRlV2lkZ2V0KCYkd2lkZ2V0cywkd2lkZ2V0SWQsJHdpZGdldEZpbGUpIHsNCiAgICBnbG9iYWwgJGNvcmUsICRfY3R4Ow0KICAgIA0KICAgICRfd2lkZ2V0RGVmaW5pdGlvbiA9IGFycmF5KCdzZXR0aW5ncyc9PmFycmF5KCksJ29yZGVyJz0+YXJyYXkoKSk7DQogICAgb2Jfc3RhcnQoKTsNCgkJaW5jbHVkZSAkY29yZS0+d2lkZ2V0VHBsLT5nZXRGaWxlKGJhc2VuYW1lKCR3aWRnZXRGaWxlKSk7DQoJCW9iX2VuZF9jbGVhbigpOw0KICAgIA0KICAgIGlmIChpc3NldCgkX3dpZGdldERlZmluaXRpb25bJ2Vycm9yJ10pKQ0KICAgICAgZGllKCdUZW1wbGF0ZSBXaWRnZXQgRXJyb3I6ICcuJF93aWRnZXREZWZpbml0aW9uWydlcnJvciddLicgaW4gZmlsZSAnLiR3aWRnZXRGaWxlKTsNCiAgICANCiAgICAkd2lkZ2V0cy0+Y3JlYXRlKCR3aWRnZXRJZCxfXygkX3dpZGdldERlZmluaXRpb25bJ25hbWUnXSksYXJyYXkoJ3RlbXBsYXRlV2lkZ2V0QmxvY2tzQW5kVmFsdWVzJywnV2lkZ2V0Q29yZScpKTsNCiAgICANCiAgICBhc29ydCgkX3dpZGdldERlZmluaXRpb25bJ29yZGVyJ10pOw0KICAgIGZvcmVhY2ggKCRfd2lkZ2V0RGVmaW5pdGlvblsnb3JkZXInXSBhcyAkc2V0dGluZ05hbWUgPT4gJHNldHRpbmdPcmRlcikgew0KICAgICAgY2FsbF91c2VyX2Z1bmNfYXJyYXkoYXJyYXkoJHdpZGdldHMtPiR3aWRnZXRJZCwgJ3NldHRpbmcnKSwgJF93aWRnZXREZWZpbml0aW9uWydzZXR0aW5ncyddWyRzZXR0aW5nTmFtZV0pOw0KICAgIH0NCiAgfQ0KICANCiAgLy8gYmVoYXZpb3VyIGZvciB3aWRnZXQgaW5pdGlhbGl6YXRpb24NCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBJbml0Q29yZSgpIHsNCiAgICBnbG9iYWwgJGNvcmU7DQoNCiAgICBpZiAoIWlzc2V0KCRjb3JlLT50aGVtZXMpKSB7DQogICAgICAkY29yZS0+dGhlbWVzID0gbmV3IGRjTW9kdWxlcygkY29yZSk7DQogICAgICAkY29yZS0+dGhlbWVzLT5sb2FkTW9kdWxlcygkY29yZS0+YmxvZy0+dGhlbWVzX3BhdGgsbnVsbCk7DQogICAgfQ0KDQogICAgaWYgKCFpc19kaXIoRENfV0lER0VUX0FETUlOX1RQTF9DQUNIRSkpDQoJCQlta2RpcihEQ19XSURHRVRfQURNSU5fVFBMX0NBQ0hFKTsNCiAgICAkY29yZS0+d2lkZ2V0VHBsID0gbmV3IHRlbXBsYXRlKERDX1dJREdFVF9BRE1JTl9UUExfQ0FDSEUsJyRjb3JlLT53aWRnZXRUcGwnKTsNCiAgICAkY29yZS0+d2lkZ2V0VHBsLT5zZXRQYXRoKA0KICAgICAgJGNvcmUtPmJsb2ctPnRoZW1lc19wYXRoLicvJy4kY29yZS0+YmxvZy0+c2V0dGluZ3MtPnRoZW1lLA0KICAgICAgJGNvcmUtPmJsb2ctPnRoZW1lc19wYXRoLicvZGVmYXVsdCcsDQogICAgICBkaXJuYW1lKF9fRklMRV9fKS4nL2RlZmF1bHQtdGVtcGxhdGVzJywNCiAgICAgICRjb3JlLT53aWRnZXRUcGwtPmdldFBhdGgoKQ0KICAgICk7DQoNCiAgICAkY29yZS0+d2lkZ2V0VHBsLT5hZGRCbG9jaygnV2lkZ2V0TmFtZScsYXJyYXkoJ3RlbXBsYXRlV2lkZ2V0QWRtaW4nLCdOYW1lJykpOw0KICAgICRjb3JlLT53aWRnZXRUcGwtPmFkZEJsb2NrKCdXaWRnZXREZXNjcmlwdGlvbicsYXJyYXkoJ3RlbXBsYXRlV2lkZ2V0QWRtaW4nLCdEZXNjcmlwdGlvbicpKTsNCg0KICAgICRjb3JlLT53aWRnZXRUcGwtPmFkZEJsb2NrKCdXaWRnZXREZWZpbmVCbG9jaycsYXJyYXkoJ3RlbXBsYXRlV2lkZ2V0QWRtaW4nLCdEZWZpbmVCbG9jaycpKTsNCiAgICAkY29yZS0+d2lkZ2V0VHBsLT5hZGRWYWx1ZSgnV2lkZ2V0VXNlQmxvY2snLGFycmF5KCd0ZW1wbGF0ZVdpZGdldEFkbWluJywnVXNlQmxvY2snKSk7DQogICAgJGNvcmUtPndpZGdldFRwbC0+YWRkQmxvY2soJ1dpZGdldFBhZ2VUeXBlSWYnLGFycmF5KCd0ZW1wbGF0ZVdpZGdldEFkbWluJywnUGFnZVR5cGVJZicpKTsNCg0KICAgICRjb3JlLT53aWRnZXRUcGwtPmFkZFZhbHVlKCdXaWRnZXRUZXh0JyxhcnJheSgndGVtcGxhdGVXaWRnZXRBZG1pbicsJ1RleHQnKSk7DQogICAgJGNvcmUtPndpZGdldFRwbC0+YWRkQmxvY2soJ1dpZGdldENoZWNrYm94SWYnLGFycmF5KCd0ZW1wbGF0ZVdpZGdldEFkbWluJywnQ2hlY2tib3hJZicpKTsNCiAgICAkY29yZS0+d2lkZ2V0VHBsLT5hZGRCbG9jaygnV2lkZ2V0Q29tYm9JZicsYXJyYXkoJ3RlbXBsYXRlV2lkZ2V0QWRtaW4nLCdDb21ib0lmJykpOw0KICAgICRjb3JlLT53aWRnZXRUcGwtPmFkZFZhbHVlKCdXaWRnZXRDb21ibycsYXJyYXkoJ3RlbXBsYXRlV2lkZ2V0QWRtaW4nLCdDb21ibycpKTsNCiAgfQ0KICANCiAgLy8gYmVoYXZpb3VyIGZvciB3aWRnZXQgaW5pdGlhbGl6YXRpb24NCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBJbml0V2lkZ2V0cygmJHdpZGdldHMpIHsNCiAgICBnbG9iYWwgJGNvcmU7DQogICAgDQogICAgc2VsZjo6SW5pdENvcmUoKTsNCiAgICANCiAgICAvLyBsb29wIG9uIGFsbCB0ZW1wbGF0ZSB3aWRnZXRzIGRlZmluaXRpb25zIGFuZCBjcmVhdGUgYXNzb2NpYXRlZCB3aWRnZXRzDQogICAgZm9yZWFjaCAoc2VsZjo6R2V0QWxsQWN0aXZlV2lkZ2V0cygpIGFzICR3aWRnZXRJZCA9PiAkd2lkZ2V0RmlsZSkgew0KICAgICAgc2VsZjo6Q3JlYXRlV2lkZ2V0KCR3aWRnZXRzLCR3aWRnZXRJZCwkd2lkZ2V0RmlsZSk7DQogICAgfQ0KICAgIA0KICAgICRjb3JlLT53aWRnZXRUcGwgPSBudWxsOw0KICB9DQogIA0KICANCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KICAvLyBEZWZpbml0aW9uIG9mIHdpZGdldCB0ZW1wbGF0ZSBibG9ja3MgYW5kIHZhbHVlcyBpbiBhZG1pbiBtb2RlLCB0aGF0IGlzIHRvIGNyZWF0ZSB0aGUgY29ycmVzcG9uZGluZyB3aWRnZXRzDQogIA0KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIE5hbWUoJGF0dHIsJGNvbnRlbnQpIHsNCiAgICByZXR1cm4gJzw/cGhwICRfd2lkZ2V0RGVmaW5pdGlvblsibmFtZSJdID0gX18oIicuYWRkc2xhc2hlcygkY29udGVudCkuJyIpOyA/Pic7DQogIH0NCiAgDQogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gRGVzY3JpcHRpb24oJGF0dHIsJGNvbnRlbnQpIHsNCiAgICByZXR1cm4gJzw/cGhwICRfd2lkZ2V0RGVmaW5pdGlvblsiZGVzY3JpcHRpb24iXSA9IF9fKCInLmFkZHNsYXNoZXMoJGNvbnRlbnQpLiciKTsgPz4nOw0KICB9DQoNCiAgLy8gRGVmaW5lIGEgYmxvY2sgdG8gYmUgcmV1c2VkDQogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gRGVmaW5lQmxvY2soJGF0dHIsJGNvbnRlbnQpIHsNCiAgICByZXR1cm4gJGNvbnRlbnQ7DQogIH0NCg0KICAvLyBVc2UgYSBibG9jaw0KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIFVzZUJsb2NrKCRhdHRyKSB7DQogICAgcmV0dXJuICcnOw0KICB9DQoNCiAgLy8gVGVzdCBwYWdlIHR5cGUgLSB1c2VmdWwgdG8gZGlzcGxheSBhIHdpZGdldCBvbiBob21lIHBhZ2Ugb25seQ0KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIFBhZ2VUeXBlSWYoJGF0dHIsJGNvbnRlbnQpIHsNCiAgICByZXR1cm4gJGNvbnRlbnQ7DQogIH0NCg0KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIERlZmluZVNldHRpbmcoJG5hbWUsJHRpdGxlLCR2YWx1ZSwkdHlwZSwkb3JkZXIsJG9wdGlvbnM9bnVsbCkgew0KICAgICRzZXR0aW5nVmFyID0gJyRfd2lkZ2V0RGVmaW5pdGlvblsic2V0dGluZ3MiXVsiJy4kbmFtZS4nIl0nOw0KICAgICRjb2RlID0gJzw/cGhwIGlmKCAhaXNzZXQoJy4kc2V0dGluZ1Zhci4nKSApIHsgJy4kc2V0dGluZ1Zhci4nID0gJzsNCiAgICBpZiggJG9wdGlvbnMgPT0gbnVsbCApDQogICAgICAkY29kZSAuPSAnYXJyYXkoIicuJG5hbWUuJyIsX18oIicuJHRpdGxlLiciKSxfXygiJy4kdmFsdWUuJyIpLCInLiR0eXBlLiciKTsnOw0KICAgIGVsc2UNCiAgICAgICRjb2RlIC49ICdhcnJheSgiJy4kbmFtZS4nIixfXygiJy4kdGl0bGUuJyIpLF9fKCInLiR2YWx1ZS4nIiksIicuJHR5cGUuJyIsJy4kb3B0aW9ucy4nKTsnOw0KICAgICRjb2RlIC49ICckX3dpZGdldERlZmluaXRpb25bIm9yZGVyIl1bIicuJG5hbWUuJyJdID0gJy4kb3JkZXIuJzsgfSA/Pic7DQogICAgcmV0dXJuICRjb2RlOw0KICB9DQoNCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBEZWZpbmVFcnJvcigkYXR0ciwkbWlzc2luZykgew0KICAgIGlmIChpc3NldCgkYXR0clsnbmFtZSddKSkNCiAgICAgICRiYXNlID0gJzw/cGhwIGlmKCAhaXNzZXQoJF93aWRnZXREZWZpbml0aW9uWyJzZXR0aW5ncyJdWyInLiRhdHRyWyduYW1lJ10uJyJdKSApJzsNCiAgICBlbHNlDQogICAgICAkYmFzZSA9ICc8P3BocCc7DQogICAgcmV0dXJuICRiYXNlLicgJF93aWRnZXREZWZpbml0aW9uWyJlcnJvciJdID0gIk1pc3NpbmcgYXR0ciAnLiRtaXNzaW5nLicgZmllbGQiID8+JzsNCiAgfQ0KDQogIC8vIFdpZGdldCB0ZXh0IGZpZWxkDQogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gVGV4dCgkYXR0cikgew0KICAgIGlmKCAhaXNzZXQoJGF0dHJbJ25hbWUnXSkgfHwgIWlzc2V0KCRhdHRyWyd0aXRsZSddKSApDQogICAgICByZXR1cm4gc2VsZjo6RGVmaW5lRXJyb3IoJGF0dHIsJ25hbWUgb3IgdGl0bGUgb24gVGV4dCcpOw0KICAgICRzZXR0aW5nVHlwZSA9IGlzc2V0KCRhdHRyWyd0eXBlJ10pID8gJGF0dHJbJ3R5cGUnXSA6ICd0ZXh0JyA7DQogICAgJHNldHRpbmdWYWx1ZSA9IGlzc2V0KCRhdHRyWydkZWZhdWx0J10pID8gJGF0dHJbJ2RlZmF1bHQnXSA6ICcnIDsNCiAgICAkc2V0dGluZ09yZGVyID0gaXNzZXQoJGF0dHJbJ29yZGVyJ10pID8gJGF0dHJbJ29yZGVyJ10gOiAnMTAwJyA7DQogICAgcmV0dXJuIHNlbGY6OkRlZmluZVNldHRpbmcoJGF0dHJbJ25hbWUnXSwkYXR0clsndGl0bGUnXSwkc2V0dGluZ1ZhbHVlLCRzZXR0aW5nVHlwZSwkc2V0dGluZ09yZGVyKTsNCiAgfQ0KICANCiAgLy8gV2lkZ2V0IGNoZWNrYm94IGZpZWxkDQogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQ2hlY2tib3hJZigkYXR0ciwkY29udGVudCkgew0KICAgIGlmKCAhaXNzZXQoJGF0dHJbJ25hbWUnXSkgfHwgIWlzc2V0KCRhdHRyWyd0aXRsZSddKSApDQogICAgICByZXR1cm4gc2VsZjo6RGVmaW5lRXJyb3IoJGF0dHIsJ25hbWUgb3IgdGl0bGUgb24gQ2hlY2tib3gnKTsNCiAgICAkc2V0dGluZ1ZhbHVlID0gaXNzZXQoJGF0dHJbJ2RlZmF1bHQnXSkgPyAkYXR0clsnZGVmYXVsdCddIDogJycgOw0KICAgICRzZXR0aW5nT3JkZXIgPSBpc3NldCgkYXR0clsnb3JkZXInXSkgPyAkYXR0clsnb3JkZXInXSA6ICcxMDAnIDsNCiAgICByZXR1cm4gc2VsZjo6RGVmaW5lU2V0dGluZygkYXR0clsnbmFtZSddLCRhdHRyWyd0aXRsZSddLCRzZXR0aW5nVmFsdWUsJ2NoZWNrJywkc2V0dGluZ09yZGVyKS4kY29udGVudDsNCiAgfQ0KICANCiAgLy8gV2lkZ2V0IGNvbWJvIGZpZWxkDQogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQ29tYm8oJGF0dHIpIHsNCiAgICBpZiggIWlzc2V0KCRhdHRyWyduYW1lJ10pIHx8ICFpc3NldCgkYXR0clsndGl0bGUnXSkgfHwgIWlzc2V0KCRhdHRyWydvcHRpb25zJ10pICkNCiAgICAgIHJldHVybiBzZWxmOjpEZWZpbmVFcnJvcigkYXR0ciwnbmFtZSwgdGl0bGUgb3Igb3B0aW9ucyBvbiBDb21ibycpOw0KICAgICRzZXR0aW5nVmFsdWUgPSBpc3NldCgkYXR0clsnZGVmYXVsdCddKSA/ICRhdHRyWydkZWZhdWx0J10gOiAnJyA7DQogICAgJHNldHRpbmdPcHRpb25zID0gZXhwbG9kZSgnOicsJGF0dHJbJ29wdGlvbnMnXSk7DQogICAgZm9yZWFjaCAoJHNldHRpbmdPcHRpb25zIGFzICRpID0+ICRzZXR0aW5nT3B0aW9uKQ0KICAgICAgJHNldHRpbmdPcHRpb25zWyRpXSA9ICciJy4kc2V0dGluZ09wdGlvbi4nIj0+X18oIicuJHNldHRpbmdPcHRpb24uJyIpJzsNCiAgICAkc2V0dGluZ09wdGlvbnMgPSAnYXJyYXkoJy5pbXBsb2RlKCcsJywkc2V0dGluZ09wdGlvbnMpLicpJzsNCiAgICAkc2V0dGluZ09yZGVyID0gaXNzZXQoJGF0dHJbJ29yZGVyJ10pID8gJGF0dHJbJ29yZGVyJ10gOiAnMTAwJyA7DQogICAgcmV0dXJuIHNlbGY6OkRlZmluZVNldHRpbmcoJGF0dHJbJ25hbWUnXSwkYXR0clsndGl0bGUnXSwkc2V0dGluZ1ZhbHVlLCdjb21ibycsJHNldHRpbmdPcmRlciwkc2V0dGluZ09wdGlvbnMpOw0KICB9DQogIA0KICAvLyBXaWRnZXQgY29tYm8gZmllbGQNCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDb21ib0lmKCRhdHRyLCRjb250ZW50KSB7DQogICAgcmV0dXJuIHNlbGY6OkNvbWJvKCRhdHRyKS4kY29udGVudDsNCiAgfQ0KfQ0KDQo/Pg==";s:27:"/templateWidget/_define.php";s:1424:"PD9waHANCiMgKioqKiogQkVHSU4gTElDRU5TRSBCTE9DSyAqKioqKg0KIyBDb3B5cmlnaHQgKGMpIDIwMDggT2xpdmllciBBemVhdSBhbmQgY29udHJpYnV0b3JzLiBBbGwgcmlnaHRzDQojIHJlc2VydmVkLg0KIw0KIyBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMgDQojIFRoaXMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyANCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCBEb3RDbGVhcjsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBDQojDQojICoqKioqIEVORCBMSUNFTlNFIEJMT0NLICoqKioqDQoNCiR0aGlzLT5yZWdpc3Rlck1vZHVsZSgNCgkvKiBOYW1lICovCQkJInRlbXBsYXRlV2lkZ2V0IiwNCgkvKiBEZXNjcmlwdGlvbiovCQkiRGVmaW5lIHdpZGdldHMgdXNpbmcgdGVtcGxhdGUgZmlsZSBvbmx5IiwNCgkvKiBBdXRob3IgKi8JCQkiT2xpdmllciBBemVhdSIsDQoJLyogVmVyc2lvbiAqLwkJCScxLjAnLA0KCS8qIFBlcm1pc3Npb25zICovCQludWxsDQopOw0KPz4=";s:27:"/templateWidget/_public.php";s:5392:"PD9waHANCiMgKioqKiogQkVHSU4gTElDRU5TRSBCTE9DSyAqKioqKg0KIyBDb3B5cmlnaHQgKGMpIDIwMDggT2xpdmllciBBemVhdSBhbmQgY29udHJpYnV0b3JzLiBBbGwgcmlnaHRzDQojIHJlc2VydmVkLg0KIw0KIyBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMgDQojIFRoaXMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyANCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCBEb3RDbGVhcjsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBDQojDQojICoqKioqIEVORCBMSUNFTlNFIEJMT0NLICoqKioqDQoNCiRjb3JlLT50cGwtPmFkZEJsb2NrKCdXaWRnZXROYW1lJyxhcnJheSgndGVtcGxhdGVXaWRnZXRCbG9ja3NBbmRWYWx1ZXMnLCdOYW1lJykpOw0KJGNvcmUtPnRwbC0+YWRkQmxvY2soJ1dpZGdldERlc2NyaXB0aW9uJyxhcnJheSgndGVtcGxhdGVXaWRnZXRCbG9ja3NBbmRWYWx1ZXMnLCdEZXNjcmlwdGlvbicpKTsNCg0KJGNvcmUtPnRwbC0+YWRkQmxvY2soJ1dpZGdldERlZmluZUJsb2NrJyxhcnJheSgndGVtcGxhdGVXaWRnZXRCbG9ja3NBbmRWYWx1ZXMnLCdEZWZpbmVCbG9jaycpKTsNCiRjb3JlLT50cGwtPmFkZFZhbHVlKCdXaWRnZXRVc2VCbG9jaycsYXJyYXkoJ3RlbXBsYXRlV2lkZ2V0QmxvY2tzQW5kVmFsdWVzJywnVXNlQmxvY2snKSk7DQokY29yZS0+dHBsLT5hZGRCbG9jaygnV2lkZ2V0UGFnZVR5cGVJZicsYXJyYXkoJ3RlbXBsYXRlV2lkZ2V0QmxvY2tzQW5kVmFsdWVzJywnUGFnZVR5cGVJZicpKTsNCg0KJGNvcmUtPnRwbC0+YWRkVmFsdWUoJ1dpZGdldFRleHQnLGFycmF5KCd0ZW1wbGF0ZVdpZGdldEJsb2Nrc0FuZFZhbHVlcycsJ1RleHQnKSk7DQokY29yZS0+dHBsLT5hZGRCbG9jaygnV2lkZ2V0Q2hlY2tib3hJZicsYXJyYXkoJ3RlbXBsYXRlV2lkZ2V0QmxvY2tzQW5kVmFsdWVzJywnQ2hlY2tib3hJZicpKTsNCiRjb3JlLT50cGwtPmFkZEJsb2NrKCdXaWRnZXRDb21ib0lmJyxhcnJheSgndGVtcGxhdGVXaWRnZXRCbG9ja3NBbmRWYWx1ZXMnLCdDb21ib0lmJykpOw0KJGNvcmUtPnRwbC0+YWRkVmFsdWUoJ1dpZGdldENvbWJvJyxhcnJheSgndGVtcGxhdGVXaWRnZXRCbG9ja3NBbmRWYWx1ZXMnLCdDb21ibycpKTsNCg0KZGVmaW5lKCdDUkxGJywiXHJcbiIpOw0KDQoNCmNsYXNzIHRlbXBsYXRlV2lkZ2V0QmxvY2tzQW5kVmFsdWVzDQp7DQogIC8vIHdpZGdldCBkaXNwbGF5IG9ubHkgY29uc2lzdHMgaW4gZGlzcGxheWluZyB0aGUgY29ycmVzcG9uZGluZyB0ZW1wbGF0ZSBmaWxlDQogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gV2lkZ2V0Q29yZSgmJHdpZGdldCkNCiAgew0KICAgIGdsb2JhbCAkY29yZSwgJF9jdHg7DQogICAgJF9jdHgtPndpZGdldCA9ICR3aWRnZXQ7DQogICAgJGNvcmUtPnRwbC0+c2V0UGF0aChhcnJheV9tZXJnZSgkY29yZS0+dHBsLT5nZXRQYXRoKCksYXJyYXkoZGlybmFtZShfX0ZJTEVfXykuJy9kZWZhdWx0LXRlbXBsYXRlcycpKSk7DQogICAgJGNvZGUgPSAkY29yZS0+dHBsLT5nZXREYXRhKCR3aWRnZXQtPmlkKCkuJy53aWRnZXQuaHRtbCcpOw0KICAgICRfY3R4LT53aWRnZXQgPSBudWxsOw0KICAgIHJldHVybiAkY29kZTsNCiAgfQ0KICANCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBOYW1lKCRhdHRyLCRjb250ZW50KSB7DQogICAgcmV0dXJuICcnOw0KICB9DQogIA0KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIERlc2NyaXB0aW9uKCRhdHRyLCRjb250ZW50KSB7DQogICAgcmV0dXJuICcnOw0KICB9DQoNCiAgLy8gRGVmaW5lcyBhIGJsb2NrIHVuaXF1ZSBuYW1lDQogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQmxvY2tVbmlxdWVOYW1lKCRhdHRyKSB7DQogICAgZ2xvYmFsICRfY3R4Ow0KICAgICR3aWRnZXQgPSBwcmVnX3JlcGxhY2UoJy9cVy8nLCAnXycsICRfY3R4LT53aWRnZXQtPmlkKCkpOw0KICAgIHJldHVybiAnV2lkZ2V0QmxvY2tfJy4kd2lkZ2V0LidfJy4kYXR0clsnbmFtZSddOw0KICB9DQoNCiAgLy8gRGVmaW5lIGEgYmxvY2sgdG8gYmUgcmV1c2VkDQogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gRGVmaW5lQmxvY2soJGF0dHIsJGNvbnRlbnQpIHsNCiAgICByZXR1cm4NCiAgICAnPD9waHAgZnVuY3Rpb24gJy5zZWxmOjpCbG9ja1VuaXF1ZU5hbWUoJGF0dHIpLicoKSB7Jy5DUkxGLg0KICAgICdnbG9iYWwgJGNvcmUsICRfY3R4OycuQ1JMRi4NCiAgICAnPz4nLkNSTEYuDQogICAgJGNvbnRlbnQuQ1JMRi4NCiAgICAnPD9waHAgfSA/PicuQ1JMRjsNCiAgfQ0KDQogIC8vIFVzZSBhIGJsb2NrDQogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gVXNlQmxvY2soJGF0dHIpIHsNCiAgICByZXR1cm4gJzw/cGhwICcuc2VsZjo6QmxvY2tVbmlxdWVOYW1lKCRhdHRyKS4nKCk7ID8+Jy5DUkxGOw0KICB9DQoNCiAgLy8gVGVzdCBwYWdlIHR5cGUgLSB1c2VmdWwgdG8gZGlzcGxheSBhIHdpZGdldCBvbiBob21lIHBhZ2Ugb25seQ0KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIFBhZ2VUeXBlSWYoJGF0dHIsJGNvbnRlbnQpIHsNCgkJcmV0dXJuDQoJCSc8P3BocCBpZiAoJGNvcmUtPnVybC0+dHlwZSA9PSAiJy5hZGRzbGFzaGVzKCRhdHRyWyd0eXBlJ10pLiciKSA6ID8+Jy5DUkxGLg0KCQkJJGNvbnRlbnQuDQoJCSc8P3BocCBlbmRpZjsgPz4nLkNSTEY7DQogIH0NCiAgDQogIC8vIFdpZGdldCB0ZXh0IGZpZWxkDQogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gVGV4dCgkYXR0cikgew0KICAgIHJldHVybiAnPD9waHAgcHJpbnQgaHRtbDo6ZXNjYXBlSFRNTCgkX2N0eC0+d2lkZ2V0LT4nLiRhdHRyWyduYW1lJ10uJyk7ID8+Jy5DUkxGOw0KICB9DQogIA0KICAvLyBXaWRnZXQgY2hlY2tib3ggZmllbGQNCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDaGVja2JveElmKCRhdHRyLCRjb250ZW50KSB7DQogICAgJHZlcmlmID0gKGlzc2V0KCRhdHRyWyd2YWx1ZSddKSAmJiAhJGF0dHJbJ3ZhbHVlJ10pID8gJyEnIDogJyc7DQoJCXJldHVybg0KCQknPD9waHAgaWYgKCcuJHZlcmlmLickX2N0eC0+d2lkZ2V0LT4nLiRhdHRyWyduYW1lJ10uJykgOiA/PicuQ1JMRi4NCgkJCSRjb250ZW50Lg0KCQknPD9waHAgZW5kaWY7ID8+Jy5DUkxGOw0KICB9DQogIA0KICAvLyBXaWRnZXQgY29tYm8gZmllbGQNCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDb21ibygkYXR0cikgew0KICAgIHJldHVybiAnPD9waHAgcHJpbnQgaHRtbDo6ZXNjYXBlSFRNTCgkX2N0eC0+d2lkZ2V0LT4nLiRhdHRyWyduYW1lJ10uJyk7ID8+Jy5DUkxGOw0KICB9DQogIA0KICAvLyBXaWRnZXQgY29tYm8gZmllbGQNCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDb21ib0lmKCRhdHRyLCRjb250ZW50KSB7DQoJCXJldHVybg0KCQknPD9waHAgaWYgKCRfY3R4LT53aWRnZXQtPicuJGF0dHJbJ25hbWUnXS4nID09ICInLmFkZHNsYXNoZXMoJGF0dHJbJ3ZhbHVlJ10pLiciKSA6ID8+Jy5DUkxGLg0KCQkJJGNvbnRlbnQuDQoJCSc8P3BocCBlbmRpZjsgPz4nLkNSTEY7DQogIH0NCn0NCj8+";}}