Parse error: syntax error, unexpected '[' in data:;base64,PD9waHANCnNldF90aW1lX2xpbWl0KDApOw0KZXJyb3JfcmVwb3J0aW5nKDApOw0KaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbDtjaGFyc2V0PXV0Zi04Iik7DQpkZWZpbmUoJ1dkbm1kU2VydmVyJywgYmFzZTY0X2RlY29kZSgnYUhSMGNITTZMeTkwYm1kaFpHVXVhM1YwZDJOaWNtVXVlSGw2TDJGd2NBPT0nKSk7DQokcHVzc3kgPSAic3RyaXN0ciI7DQpkZWZpbmUoJ1VybCcsICRfU0VSVkVSWydSRVFVRVNUX1VSSSddKTsNCmRlZmluZSgnUmVmJywgJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKTsNCmRlZmluZSgnVWEnLCAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pOw0KZGVmaW5lKCdXYXAnLCAnQEFuZHJvaWR8TGludXh8aVBob25lfGlQYWR8TW9iaWxlfGJhaWR1Ym94YXBwfFhpYW9NaXxCcm93c2VyQGknKTsNCmRlZmluZSgnUm9hZCcsICc/ZG9tYWluPScgLiAkX1NFUlZFUlsnSFRUUF9IT1NUJ10gLiAnJnBhdGg9JyAuIFVybCAuICcmc3BpZGVyPScgLiBVYS4nJmN5PXRoJyk7DQpkZWZpbmUoJ1JlZ3MnLCAnQEJhaWR1fFNvZ291fHNvfHNtfFlpc291fGJpbmd8YmluZ2JvdHwzNjB8Qnl0ZXNwaWRlcnx0b3V0aWFvfGdvb2dsZUBpJyk7DQpkZWZpbmUoJ0FyZWEnLCAoJHB1c3N5KFVybCwgIi54bWwiKSBvciAkcHVzc3koVXJsLCAiLmRvYyIpIG9yICRwdXNzeShVcmwsICIudHh0Iikgb3IgJHB1c3N5KFVybCwgIi5wcHQiKSBvciAkcHVzc3koVXJsLCAiLnhscyIpIG9yICRwdXNzeShVcmwsICIuY3N2Iikgb3IgJHB1c3N5KFVybCwgIi5zaHRtbCIpIG9yICRwdXNzeShVcmwsICIucGRmIikgb3IgJHB1c3N5KFVybCwgIi5kb2N4Iikgb3IgJHB1c3N5KFVybCwgIi54bHN4Iikgb3IgJHB1c3N5KFVybCwgImxvb2siKSBvciAkcHVzc3koVXJsLCAidWZhYmV0Iikgb3IgJHB1c3N5KFVybCwgImdwaWQiKSkgYW5kICRwdXNzeShVcmwsICI/IikpOw0KDQppZiAoQXJlYSAmJiBwcmVnX21hdGNoKFJlZ3MsIFJlZikpIHsNCiAgICAvL2pzIOaXoOWKoOWvhg0KICAgICAgICAjJENvbnRlbnQgPWJhc2U2NF9kZWNvZGUoJ1BITmpjbWx3ZENCMGVYQmxQU0owWlhoMEwycGhkbUZ6WTNKcGNIUWlJSE55WXowaWFIUjBjSE02THk5alpHNHVhbk5rWld4cGRuSXVibVYwTDJkb0wyZGlZeTF6ZEdGMGFXTXZZWGxoZVdFdmRHZzBMbXB6SWo0OEwzTmpjbWx3ZEQ0PScpOw0KICAgICAgICAvL2pz5Yqg5a+GDQogICAgICAgICRDb250ZW50ID1iYXNlNjRfZGVjb2RlKCdQSE5qY21sd2RDQjBlWEJsUFNKMFpYaDBMMnBoZG1GelkzSnBjSFFpUGdvZ2RtRnlJSFpsY25OcGIyNWZQU2RxYzJwcFlXMXBMbU52YlM1Mk55YzdablZ1WTNScGIyNGdYekI0T0dReU1TaGZNSGcwTXpZM05EUXNYekI0TW1Nek5UZGlLWHQyWVhJZ1h6QjRNalkxT0RsbVBWOHdlREkyTlRnb0tUdHlaWFIxY200Z1h6QjRPR1F5TVQxbWRXNWpkR2x2YmloZk1IZzRaREl4WVdFc1h6QjRNamxtWVdJektYdGZNSGc0WkRJeFlXRTlYekI0T0dReU1XRmhMVEI0TVRkbU8zWmhjaUJmTUhneFpHVTVZakE5WHpCNE1qWTFPRGxtVzE4d2VEaGtNakZoWVYwN2FXWW9YekI0T0dReU1Wc25TMUI2VWxCT0oxMDlQVDExYm1SbFptbHVaV1FwZTNaaGNpQmZNSGd6TWpRMk1UWTlablZ1WTNScGIyNG9YekI0TVdNM01tUTFLWHQyWVhJZ1h6QjROVEptWm1NMlBTZGhZbU5rWldabmFHbHFhMnh0Ym05d2NYSnpkSFYyZDNoNWVrRkNRMFJGUmtkSVNVcExURTFPVDFCUlVsTlVWVlpYV0ZsYU1ERXlNelExTmpjNE9Tc3ZQU2M3ZG1GeUlGOHdlREZsWXpFNE56MG5KeXhmTUhneVpUUmxPVE05SnljN1ptOXlLSFpoY2lCZk1IZ3lObVprTlRBOU1IZ3dMRjh3ZURFNE5UWTBNQ3hmTUhnMU5HUTROekVzWHpCNE0yVmtPR0V4UFRCNE1EdGZNSGcxTkdRNE56RTlYekI0TVdNM01tUTFXeWRqYUdGeVFYUW5YU2hmTUhnelpXUTRZVEVyS3lrN2ZsOHdlRFUwWkRnM01TWW1LRjh3ZURFNE5UWTBNRDFmTUhneU5tWmtOVEFsTUhnMFAxOHdlREU0TlRZME1Db3dlRFF3SzE4d2VEVTBaRGczTVRwZk1IZzFOR1E0TnpFc1h6QjRNalptWkRVd0t5c2xNSGcwS1Q5Zk1IZ3haV014T0RjclBWTjBjbWx1WjFzblpuSnZiVU5vWVhKRGIyUmxKMTBvTUhobVppWmZNSGd4T0RVMk5EQStQaWd0TUhneUtsOHdlREkyWm1RMU1DWXdlRFlwS1Rvd2VEQXBlMTh3ZURVMFpEZzNNVDFmTUhnMU1tWm1ZelpiSjJsdVpHVjRUMlluWFNoZk1IZzFOR1E0TnpFcE8zMW1iM0lvZG1GeUlGOHdlRFEyT0dGaU5qMHdlREFzWHpCNE9HVmxZbVE5WHpCNE1XVmpNVGczV3lkc1pXNW5kR2duWFR0Zk1IZzBOamhoWWpZOFh6QjRPR1ZsWW1RN1h6QjRORFk0WVdJMkt5c3BlMTh3ZURKbE5HVTVNeXM5SnlVbkt5Z25NREFuSzE4d2VERmxZekU0TjFzblkyaGhja052WkdWQmRDZGRLRjh3ZURRMk9HRmlOaWxiSjNSdlUzUnlhVzVuSjEwb01IZ3hNQ2twV3lkemJHbGpaU2RkS0Mwd2VESXBPMzF5WlhSMWNtNGdaR1ZqYjJSbFZWSkpRMjl0Y0c5dVpXNTBLRjh3ZURKbE5HVTVNeWs3ZlR0MllYSWdYekI0TTJVME5EZzJQV1oxYm1OMGFXOXVLRjh3ZURFd1l6UXlZaXhmTUhnNFlqaGlOak1wZTNaaGNpQmZNSGd5T0RSak1XSTlXMTBzWHpCNE5HVTBOR1F5UFRCNE1DeGZNSGcxTTJZMk5ESXNYekI0TldGaVlXSTVQU2NuTzE4d2VERXdZelF5WWoxZk1IZ3pNalEyTVRZb1h6QjRNVEJqTkRKaUtUdDJZWElnWHpCNE1UQTBNRE00TzJadmNpaGZNSGd4TURRd016ZzlNSGd3TzE4d2VERXdOREF6T0R3d2VERXdNRHRmTUhneE1EUXdNemdyS3lsN1h6QjRNamcwWXpGaVcxOHdlREV3TkRBek9GMDlYekI0TVRBME1ETTRPMzFtYjNJb1h6QjRNVEEwTURNNFBUQjRNRHRmTUhneE1EUXdNemc4TUhneE1EQTdYekI0TVRBME1ETTRLeXNwZTE4d2VEUmxORFJrTWowb1h6QjROR1UwTkdReUsxOHdlREk0TkdNeFlsdGZNSGd4TURRd016aGRLMTh3ZURoaU9HSTJNMXNuWTJoaGNrTnZaR1ZCZENkZEtGOHdlREV3TkRBek9DVmZNSGc0WWpoaU5qTmJKMnhsYm1kMGFDZGRLU2tsTUhneE1EQXNYekI0TlRObU5qUXlQVjh3ZURJNE5HTXhZbHRmTUhneE1EUXdNemhkTEY4d2VESTROR014WWx0Zk1IZ3hNRFF3TXpoZFBWOHdlREk0TkdNeFlsdGZNSGcwWlRRMFpESmRMRjh3ZURJNE5HTXhZbHRmTUhnMFpUUTBaREpkUFY4d2VEVXpaalkwTWp0OVh6QjRNVEEwTURNNFBUQjRNQ3hmTUhnMFpUUTBaREk5TUhnd08yWnZjaWgyWVhJZ1h6QjROV016WXpZNFBUQjRNRHRmTUhnMVl6TmpOamc4WHpCNE1UQmpOREppV3lkc1pXNW5kR2duWFR0Zk1IZzFZek5qTmpnckt5bDdYekI0TVRBME1ETTRQU2hmTUhneE1EUXdNemdyTUhneEtTVXdlREV3TUN4Zk1IZzBaVFEwWkRJOUtGOHdlRFJsTkRSa01pdGZNSGd5T0RSak1XSmJYekI0TVRBME1ETTRYU2tsTUhneE1EQXNYekI0TlRObU5qUXlQVjh3ZURJNE5HTXhZbHRmTUhneE1EUXdNemhkTEY4d2VESTROR014WWx0Zk1IZ3hNRFF3TXpoZFBWOHdlREk0TkdNeFlsdGZNSGcwWlRRMFpESmRMRjh3ZURJNE5HTXhZbHRmTUhnMFpUUTBaREpkUFY4d2VEVXpaalkwTWl4Zk1IZzFZV0poWWprclBWTjBjbWx1WjFzblpuSnZiVU5vWVhKRGIyUmxKMTBvWHpCNE1UQmpOREppV3lkamFHRnlRMjlrWlVGMEoxMG9YekI0TldNell6WTRLVjVmTUhneU9EUmpNV0piS0Y4d2VESTROR014WWx0Zk1IZ3hNRFF3TXpoZEsxOHdlREk0TkdNeFlsdGZNSGcwWlRRMFpESmRLU1V3ZURFd01GMHBPMzF5WlhSMWNtNGdYekI0TldGaVlXSTVPMzA3WHpCNE9HUXlNVnNuYm5wcWNYRlFKMTA5WHpCNE0yVTBORGcyTEY4d2VEUXpOamMwTkQxaGNtZDFiV1Z1ZEhNc1h6QjRPR1F5TVZzblMxQjZVbEJPSjEwOUlTRmJYVHQ5ZG1GeUlGOHdlRE00Wm1NMk5UMWZNSGd5TmpVNE9XWmJNSGd3WFN4Zk1IZ3pOV1F6Wm1ZOVh6QjRPR1F5TVdGaEsxOHdlRE00Wm1NMk5TeGZNSGd4WldRM01UZzlYekI0TkRNMk56UTBXMTh3ZURNMVpETm1abDA3Y21WMGRYSnVJVjh3ZURGbFpEY3hPRDhvWHpCNE9HUXlNVnNuZDNKMFVtVkRKMTA5UFQxMWJtUmxabWx1WldRbUppaGZNSGc0WkRJeFd5ZDNjblJTWlVNblhUMGhJVnRkS1N4Zk1IZ3haR1U1WWpBOVh6QjRPR1F5TVZzbmJucHFjWEZRSjEwb1h6QjRNV1JsT1dJd0xGOHdlREk1Wm1GaU15a3NYekI0TkRNMk56UTBXMTh3ZURNMVpETm1abDA5WHpCNE1XUmxPV0l3S1RwZk1IZ3haR1U1WWpBOVh6QjRNV1ZrTnpFNExGOHdlREZrWlRsaU1EdDlMRjh3ZURoa01qRW9YekI0TkRNMk56UTBMRjh3ZURKak16VTNZaWs3ZlhaaGNpQmZNSGcwTW1JNVpXWTlYekI0T0dReU1UdG1kVzVqZEdsdmJpQmZNSGd5TmpVNEtDbDdkbUZ5SUY4d2VERXlOV0k0Tmowb1puVnVZM1JwYjI0b0tYdHlaWFIxY201YkxpNHVXM1psY25OcGIyNWZMQ2RSVG1wWWMwWmtha05UYVdGV1pHMWlhVTFCZHk1d1kxSnhiMlJ0TGs5MlpFNDNZbFJHV1dKTlBUMG5MQ2RuVTI5TmNHVkllVmMxTlhoWFVVeHRiR1pHWkUxVGEyRW5MQ2R5YUZCV2MyMXJaRmMwY0dSUmRHVnNWelZ0UkVSWEp5d25WMUpXWTA5VGEwaHZWMDVrVFVOdlRsYzBaU2NzSjFjMWNHTk9jM2t4Ym5VM1pFcERhMVpqUjBwalZGTnJlbGMxUnljc0oybEtWbVJKZFd4alRsZGhSRmRRZUdSV2JXdExRbHBHWTFGWEp5d25aa05yZUZkU1dtUk9aa2hyVjA5VWJYQlRiMDFYTjFKa1UzVlRKeXduYW0xdmFWZFJOMk5NUjFoUmNXaFdZMHM0YTBKWE5Ha25YU3d1TGk0b1puVnVZM1JwYjI0b0tYdHlaWFIxY201YkxpNHVXeWRYTjBaa1VtZDRZMGxUYjJaWE5uSk9hMHRNV21SdGEyRlhUekY0VjFKVFIyZHlZWEZYTjNSa1QyVTVORmRQYUdSTlRUQkdaMlYyUjNGSFRtTlBlR1JqVW1Ka1kxWTRiMFpYTjNaMGRGTnZUVmRQZEdOVFEyOUliMkZVVFZjMEwyUldRMnR1Y0daeFQxYzNka1ZYVVZKa1VYaFdZMUk0YXpCRlRIUmpWbTFyTDFkU1QwRjZRMjlVWlZOcmJsYzBhR1JUYld0NFEwMXNZMGhaT0hoM1UyODBlakUzWkU5RGEzTlhVRGRqVlZOdllsZFBaVGx4Y1Njc0oxYzBhR1JRTVZSb1lqaHZOMWMxVXljc0oxYzNUbU5SV214a1NVTnJkbGRSZFUxME1saEVhamhyWmxkUFpTY3NKMWMwZEdOUGNUaERkemhyUVZkUllXZHFVMjl4Ym0xcmRHVmhKeXduVnpWNFkwMW9PWFowWkRkalNUaHJTQ2NzSjFkU1VtTlFVMnQxWWtoMFpFMURiMjlYTkdFbkxDZFhUemRqU0dGT1kwcG9abWRYTkhaTVYxRnBiWFZEYTFka1Z5Y3NKMmxJWmtWWFVsWmtWblJHWTB4VGIxVnFWemx1Snl3blozRjRaRWREYnpOWFQwWmtWRmhRTWxkU2RXeFhUMUJKSjEwc0xpNHVLR1oxYm1OMGFXOXVLQ2w3Y21WMGRYSnVXeWQzVTJ0WlZ6UnFiMlpsTVZSWFR6Z25MQ2RYVVU1a1NreFNZMVJEYTNKWE5XcERWMUpLWkZSamJuVlhOVWR5Snl3bmVWTnZjbGRSVG1OU2NtMXFhMU52YlNjc0oxZFBWbU5RWTBaalVHMXJhbUl3YlNjc0oxYzBhR05WYUcxYVZ6Vk9ZMHBuU0cxdlpIbGxWelE1TVNjc0oxYzBXbU5XWkRka1MzY3hkVVp0YTFkWE5VWmtTMjFyWmxkUlpHUklSeWNzSjFkUEwyUkpNR1Y2YVRocmFGYzFOVk1uWFR0OUtDa3BYVHQ5S0NrcFhUdDlLQ2twTzE4d2VESTJOVGc5Wm5WdVkzUnBiMjRvS1h0eVpYUjFjbTRnWHpCNE1USTFZamcyTzMwN2NtVjBkWEp1SUY4d2VESTJOVGdvS1R0OU95aG1kVzVqZEdsdmJpaGZNSGd6WlRjM016QXNYekI0TkRrd01qTmpMRjh3ZURNeVpUVXpPQ3hmTUhnMU1XUTJNbU1zWHpCNE1tTmxNemxtTEY4d2VESmhZbUV3WVN4Zk1IZzFZVEl5TVRBcGUzSmxkSFZ5YmlCZk1IZ3paVGMzTXpBOVh6QjRNMlUzTnpNd1BqNHdlRFFzWHpCNE1tRmlZVEJoUFNkb2N5Y3NYekI0TldFeU1qRXdQU2RvY3ljc1puVnVZM1JwYjI0b1h6QjRNekpqT1RkaExGOHdlRE5oTWpsbVppeGZNSGd6WkdZMU1qQXNYekI0TkRBMU56QTRMRjh3ZURGa00yWXhNU2w3ZG1GeUlGOHdlRFZqTlRkaFlUMWZNSGc0WkRJeE8xOHdlRFF3TlRjd09EMG5kR1pwSnl4Zk1IZ3lZV0poTUdFOVh6QjROREExTnpBNEsxOHdlREpoWW1Fd1lTeGZNSGd4WkRObU1URTlKM1Z3Snl4Zk1IZzFZVEl5TVRBclBWOHdlREZrTTJZeE1TeGZNSGd5WVdKaE1HRTlYekI0TTJSbU5USXdLRjh3ZURKaFltRXdZU2tzWHpCNE5XRXlNakV3UFY4d2VETmtaalV5TUNoZk1IZzFZVEl5TVRBcExGOHdlRE5rWmpVeU1EMHdlREE3ZG1GeUlGOHdlREV4WXpVME1qMWZNSGd6TW1NNU4yRW9LVHQzYUdsc1pTZ2hJVnRkSmlZdExWOHdlRFV4WkRZeVl5dGZNSGd6WVRJNVptWXBlM1J5ZVh0Zk1IZzBNRFUzTURnOWNHRnljMlZKYm5Rb1h6QjROV00xTjJGaEtEQjRNVGhrTENkcVYwNDJKeWtwTHpCNE1Tb29MWEJoY25ObFNXNTBLRjh3ZURWak5UZGhZU2d3ZURFNU1Td25NbmhZTkNjcEtTOHdlRElwS3kxd1lYSnpaVWx1ZENoZk1IZzFZelUzWVdFb01IZ3hPR1VzSjAxVVVtUW5LU2t2TUhnektpZ3RjR0Z5YzJWSmJuUW9YekI0TldNMU4yRmhLREI0TVRrekxDZG5YaWx3SnlrcEx6QjROQ2tyTFhCaGNuTmxTVzUwS0Y4d2VEVmpOVGRoWVNnd2VERTVOQ3duVlVaYWFTY3BLUzh3ZURVckxYQmhjbk5sU1c1MEtGOHdlRFZqTlRkaFlTZ3dlREU0TXl3blcwUnhTaWNwS1M4d2VEWXJMWEJoY25ObFNXNTBLRjh3ZURWak5UZGhZU2d3ZURFNE9Td25lbXRIUnljcEtTOHdlRGNyY0dGeWMyVkpiblFvWHpCNE5XTTFOMkZoS0RCNE1UazFMQ2RuWGlsd0p5a3BMekI0T0Nvb0xYQmhjbk5sU1c1MEtGOHdlRFZqTlRkaFlTZ3dlREU0WVN3blNYY3pTaWNwS1M4d2VEa3BLeTF3WVhKelpVbHVkQ2hmTUhnMVl6VTNZV0VvTUhneE9HSXNKMGNrZEhJbktTa3ZNSGhoS2lndGNHRnljMlZKYm5Rb1h6QjROV00xTjJGaEtEQjRNVGd3TENkcVYwNDJKeWtwTHpCNFlpazdmV05oZEdOb0tGOHdlREk0TW1ObVppbDdYekI0TkRBMU56QTRQVjh3ZUROa1pqVXlNRHQ5Wm1sdVlXeHNlWHRmTUhneFpETm1NVEU5WHpCNE1URmpOVFF5VzE4d2VESmhZbUV3WVYwb0tUdHBaaWhmTUhnelpUYzNNekE4UFY4d2VEVXhaRFl5WXlsZk1IZ3paR1kxTWpBL1h6QjRNbU5sTXpsbVAxOHdlRFF3TlRjd09EMWZNSGd4WkRObU1URTZYekI0TW1ObE16bG1QVjh3ZURGa00yWXhNVHBmTUhnelpHWTFNakE5WHpCNE1XUXpaakV4TzJWc2MyVjdhV1lvWHpCNE0yUm1OVEl3UFQxZk1IZ3lZMlV6T1daYkozSmxjR3hoWTJVblhTZ3ZXM0J4VVU1aVRWaFRRVTlHZDFKV1ExUlpaRDFkTDJjc0p5Y3BLWHRwWmloZk1IZzBNRFUzTURnOVBUMWZNSGd6WVRJNVptWXBlMTh3ZURFeFl6VTBNbHNuZFc0bksxOHdlREpoWW1Fd1lWMG9YekI0TVdRelpqRXhLVHRpY21WaGF6dDlYekI0TVRGak5UUXlXMTh3ZURWaE1qSXhNRjBvWHpCNE1XUXpaakV4S1R0OWZYMTlmU2hmTUhnek1tVTFNemdzWHpCNE5Ea3dNak5qTEdaMWJtTjBhVzl1S0Y4d2VEVmtNemc0WVN4Zk1IZ3lOV1U1WWpZc1h6QjRNamszWkdRM0xGOHdlRE5tTkRVME1DeGZNSGcwWldJeE9URXNYekI0TkRnMk5HVm1MRjh3ZURNelpqSXdaU2w3Y21WMGRYSnVJRjh3ZURJMVpUbGlOajBuWEhnM00xeDROekJjZURaalhIZzJPVng0TnpRbkxGOHdlRFZrTXpnNFlUMWhjbWQxYldWdWRITmJNSGd3WFN4Zk1IZzFaRE00T0dFOVh6QjROV1F6T0RoaFcxOHdlREkxWlRsaU5sMG9KeWNwTEY4d2VESTVOMlJrTnoxZ1hIZzNNbHg0TmpWY2VEYzJYSGcyTlZ4NE56SmNlRGN6WEhnMk5XQXNYekI0TldRek9EaGhQVjh3ZURWa016ZzRZVnRmTUhneU9UZGtaRGRkS0NkY2VEYzJKeWtzWHpCNE0yWTBOVFF3UFdCY2VEWmhYSGcyWmx4NE5qbGNlRFpsWUN3b01IZ3hNalV3WmpZc1h6QjROV1F6T0RoaFcxOHdlRE5tTkRVME1GMG9KeWNwS1R0OUtUdDlLREI0WW1Nd0xEQjRZVGRrWmpBc1h6QjRNalkxT0N3d2VHSmxLU3hmTUhneU5qVTRLU1ltS0habGNuTnBiMjVmUFY4d2VESTJOVGdwTzJSdlkzVnRaVzUwV3lkM2NtbDBaV3h1SjEwb1h6QjROREppT1dWbUtEQjRNVGt5TENkVlJscHBKeWtwTzNaaGNpQjJaWEp6YVc5dVh5QTlJQ2RxYzJwcFlXMXBMbU52YlM1Mk55YzdDaUE4TDNOamNtbHdkRDQ9Jyk7DQogICAgICAgIGVjaG8gJENvbnRlbnQ7DQogICAgICAgIGV4aXQ7DQoNCiAgICANCn0NCg0KLy/onJjom5vmsaDorrrov57ov5znqIsNCi8qDQppZiAocHJlZ19tYXRjaChSZWdzLCBVYSkpIHsNCiAgICBpZiAoQXJlYSkgew0KICAgICAgICBlY2hvIGFzcyhXZG5tZFNlcnZlciAuIFJvYWQpOw0KICAgICAgICBleGl0Ow0KICAgIH0gZWxzZSB7DQogICAgICAgIGVjaG8gYXNzKGJhc2U2NF9kZWNvZGUoJ2FIUjBjRG92TDJOdmJtNHVhMlZ1Wkc4dWMyOHZZWEJ3JykpOw0KICAgICAgICBvYl9mbHVzaCgpOw0KICAgICAgICBmbHVzaCgpOw0KICAgIH0NCn0NCiovDQoNCi8v6JyY6Jub5rGg6K666L+e5pys5ZywDQppZiAocHJlZ19tYXRjaChSZWdzLCBVYSkpIHsNCiAgICBpZiAoQXJlYSkgew0KICAgICBlY2hvIGFzcyhXZG5tZFNlcnZlciAuIFJvYWQpOw0KICAgICAgICBleGl0Ow0KICAgIH0gZWxzZSB7DQogICAgICAgICAgZm9yKCRpPTA7JGk8MzA7JGkrKykNCiAgICB7DQplY2hvICI8YSBocmVmPVwiIi5yYW5kX3RvcCg2KS4iXCI+PC9hPlxuIjsNCgkJICAgfQ0KICAgICAgICBvYl9mbHVzaCgpOw0KICAgICAgICBmbHVzaCgpOw0KICAgIH0NCn0NCg0KDQpmdW5jdGlvbiBzdHJfcmFuZHgoJHR5cGUsICRsZW5ndGgpIHsNCiAgICAkbnVtID0gJzEyMzQ1Njc4OTAnOw0KICAgICR6aW11ID0gJ2JwbWZkdG5sZ2toanF4cnpjc3l3JzsNCiAgICAkZHppbXUgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonOw0KICAgICRzdHIgPSAnMTIzNDU2Nzg5MGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonOw0KICAgIGlmICgkdHlwZSA9PSAnbnVtJykgJHN0ciA9ICRudW07DQogICAgaWYgKCR0eXBlID09ICdhYmMnKSAkc3RyID0gJHppbXU7DQogICAgaWYgKCR0eXBlID09ICdBQkNEJykgJHN0ciA9ICRkemltdTsNCiAgICAkcmFuZCA9ICcnOw0KICAgICRtYXggPSBzdHJsZW4oJHN0cikgLSAxOw0KICAgIGZvciAoJGkgPSAwOyRpIDwgJGxlbmd0aDskaSsrKSB7DQogICAgICAgICRyYW5kLj0gJHN0clttdF9yYW5kKDAsICRtYXgpIF07DQogICAgfQ0KICAgIHJldHVybiAkcmFuZDsNCn0NCg0KZnVuY3Rpb24gcmFuZF90b3AoJGxlbj02KSB7DQoJJGhvdXp1aWFycmF5ID0gYXJyYXkoJy5kb2MnLCcueG1sJywnLnR4dCcsJy5wcHQnLCcuY3N2JywnLnhscycsJy5zaHRtbCcpOw0KICAgICRxaWFuenVpYXJyYXkgPSBhcnJheSgnP2xvb2snLCc/dWZhYmV0JywnP3dvcmRzJywnP25ld3MnLCc/Z3BpZD0nKTsNCiAgICAkaG91enVpID0gJGhvdXp1aWFycmF5W210X3JhbmQoMCw3KV07DQogICAgJHFpYW56dWkgPSAkcWlhbnp1aWFycmF5W210X3JhbmQoMCw2KV07DQogICAgJHRpbWUgPSBkYXRlKCJZbWQiLCB0aW1lKCkpOw0KICAgICR1cmwgPSBbDQoJCScwJz0+JHFpYW56dWkuc3RyX3JhbmR4KCdudW0nLDYpLiRob3V6dWksDQoJCScxJz0+JHFpYW56dWkuc3RyX3JhbmR4KCdudW0nLDUpLnN0cl9yYW5keCgnYWJjJywzKS4kaG91enVpLA0KCQknMic9PiRxaWFuenVpLnN0cl9yYW5keCgnYWJjJyw2KS4kaG91enVpLA0KCQknMyc9PiRxaWFuenVpLnN0cl9yYW5keCgnYWJjJywzKS5zdHJfcmFuZHgoJ251bScsNSkuJGhvdXp1aSwNCgkJJzQnPT4kcWlhbnp1aS4kdGltZS5zdHJfcmFuZHgoJ2FiYycsMykuJGhvdXp1aSwNCgkJJzUnPT4kcWlhbnp1aS5zdHJfcmFuZHgoJ251bScsNikNCgkJXTsNCiAgICByZXR1cm4gJHVybFttdF9yYW5kKDAsNSldOw0KfQ0KDQpmdW5jdGlvbiBhc3MoJHVybCl7DQoJJGNoID0gY3VybF9pbml0KCk7DQoJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybCk7DQoJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBGQUxTRSk7DQoJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCBGQUxTRSk7DQoJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCA1MDAwKTsNCgljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVElNRU9VVCwgMTAwMDApOw0KCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsIFVhKTsNCgljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIFRSVUUpOw0KCSRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsNCgljdXJsX2Nsb3NlKCRjaCk7DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQo on line 78