3N4XMPXxEs6eZsy78Fgo4butfcAiwoDtG9P · data · 2.7c767379.chunk.js_48
{
"2.7c767379.chunk.js_48": "base64:ZS5lYXJsaWVzdFN1c3BlbmRlZFRpbWU9MCxlLmxhdGVzdFN1c3BlbmRlZFRpbWU9MCxlLmxhdGVzdFBpbmdlZFRpbWU9MCxKbihlLHQpKTp0PnImJkpuKGUsdCl9cmkoMCxlKX0oZSxpPm4/aTpuKSxBYS5jdXJyZW50PW51bGwsbj12b2lkIDAsMTx0LmVmZmVjdFRhZz9udWxsIT09dC5sYXN0RWZmZWN0Pyh0Lmxhc3RFZmZlY3QubmV4dEVmZmVjdD10LG49dC5maXJzdEVmZmVjdCk6bj10Om49dC5maXJzdEVmZmVjdCx5bj13cixnbj1mdW5jdGlvbigpe3ZhciBlPU1yKCk7aWYoTHIoZSkpe2lmKCJzZWxlY3Rpb25TdGFydCJpbiBlKXZhciB0PXtzdGFydDplLnNlbGVjdGlvblN0YXJ0LGVuZDplLnNlbGVjdGlvbkVuZH07ZWxzZSBlOnt2YXIgcj0odD0odD1lLm93bmVyRG9jdW1lbnQpJiZ0LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbiYmdC5nZXRTZWxlY3Rpb24oKTtpZihyJiYwIT09ci5yYW5nZUNvdW50KXt0PXIuYW5jaG9yTm9kZTt2YXIgbj1yLmFuY2hvck9mZnNldCxpPXIuZm9jdXNOb2RlO3I9ci5mb2N1c09mZnNldDt0cnl7dC5ub2RlVHlwZSxpLm5vZGVUeXBlfWNhdGNoKHApe3Q9bnVsbDticmVhayBlfXZhciBvPTAsYT0tMSxzPS0xLHU9MCxjPTAsZj1lLGw9bnVsbDt0OmZvcig7Oyl7Zm9yKHZhciBoO2YhPT10fHwwIT09biYmMyE9PWYubm9kZVR5cGV8fChhPW8rbiksZiE9PWl8fDAhPT1yJiYzIT09Zi5ub2RlVHlwZXx8KHM9bytyKSwzPT09Zi5ub2RlVHlwZSYmKG8rPWYubm9kZVZhbHVlLmxlbmd0aCksbnVsbCE9PShoPWYuZmlyc3RDaGlsZCk7KWw9ZixmPWg7Zm9yKDs7KXtpZihmPT09ZSlicmVhayB0O2lmKGw9PT10JiYrK3U9PT1uJiYoYT1vKSxsPT09aSYmKytjPT09ciYmKHM9byksbnVsbCE9PShoPWYubmV4dFNpYmxpbmcpKWJyZWFrO2w9KGY9bCkucGFyZW50Tm9kZX1mPWh9dD0tMT09PWF8fC0xPT09cz9udWxsOntzdGFydDphLGVuZDpzfX1lbHNlIHQ9bnVsbH10PXR8fHtzdGFydDowLGVuZDowfX1lbHNlIHQ9bnVsbDtyZXR1cm57Zm9jdXNlZEVsZW06ZSxzZWxlY3Rpb25SYW5nZTp0fX0oKSx3cj0hMSxSYT1uO251bGwhPT1SYTspe2k9ITE7dmFyIHM9dm9pZCAwO3RyeXtWYSgpfWNhdGNoKGMpe2k9ITAscz1jfWkmJihudWxsPT09UmEmJmEoIjE3OCIpLFlhKFJhLHMpLG51bGwhPT1SYSYmKFJhPVJhLm5leHRFZmZlY3QpKX1mb3IoUmE9bjtudWxsIT09UmE7KXtpPSExLHM9dm9pZCAwO3RyeXtGYSgpfWNhdGNoKGMpe2k9ITAscz1jfWkmJihudWxsPT09UmEmJmEoIjE3OCIpLFlhKFJhLHMpLG51bGwhPT1SYSYmKFJhPVJhLm5leHRFZmZlY3QpKX1mb3IoRHIoZ24pLGduPW51bGwsd3I9ISF5bix5bj1udWxsLGUuY3VycmVudD10LFJhPW47bnVsbCE9PVJhOyl7aT0hMSxzPXZvaWQgMDt0cnl7cWEoZSxyKX1jYXRjaChjKXtpPSEwLHM9Y31pJiYobnVsbD09PVJhJiZhKCIxNzgiKSxZYShSYSxzKSxudWxsIT09UmEmJihSYT1SYS5uZXh0RWZmZWN0KSl9aWYobnVsbCE9PW4mJm51bGwhPT1NYSl7dmFyIHU9ZnVuY3Rpb24oZSx0KXtEYT1MYT1NYT1udWxsO3ZhciByPWlzO2lzPSEwO2Rve2lmKDUxMiZ0LmVmZmVjdFRhZyl7dmFyIG49ITEsaT12b2lkIDA7dHJ5e3ZhciBvPXQ7ZGEoUmksQ2ksbyksZGEoQ2ksUGksbyl9Y2F0Y2godSl7bj0hMCxpPXV9biYmWWEodCxpKX10PXQubmV4dEVmZmVjdH13aGlsZShudWxsIT09dCk7aXM9ciwwIT09KHI9ZS5leHBpcmF0aW9uVGltZSkmJndzKGUsciksZnN8fGlzfHxJcygxMDczNzQxODIzLCExKX0uYmluZChudWxsLGUsbik7TGE9by51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkoby51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxmdW5jdGlvbigpe3JldHVybiBTbih1KX0pLERhPXV9eGE9QmE9ITEsImZ1bmN0aW9uIj09PXR5cGVvZiBWbiYmVm4odC5zdGF0ZU5vZGUpLHI9dC5leHBpcmF0aW9uVGltZSwwPT09KHQ9KHQ9dC5jaGlsZEV4cGlyYXRpb25UaW1lKT5yP3Q6cikmJihqYT1udWxsKSxmdW5jdGlvbihlLHQpe2UuZXhwaXJhdGlvblRpbWU9dCxlLmZpbmlzaGVkV29yaz1udWxsfShlLHQpfWZ1bmN0aW9uIEdhKGUpe2Zvcig7Oyl7dmFyIHQ9ZS5hbHRlcm5hdGUscj1lLnJldHVybixuPWUuc2libGluZztpZigwPT09KDEwMjQmZS5lZmZlY3RUYWcpKXtJYT1lO2U6e3ZhciBvPXQscz1PYSx1PSh0PWUpLnBlbmRpbmdQcm9wcztzd2l0Y2godC50YWcpe2Nhc2UgMjpjYXNlIDE2OmJyZWFrO2Nhc2UgMTU6Y2FzZSAwOmJyZWFrO2Nhc2UgMTpCbih0LnR5cGUpJiZNbigpO2JyZWFrO2Nhc2UgMzp3aSgpLExuKCksKHU9dC5zdGF0ZU5vZGUpLnBlbmRpbmdDb250ZXh0JiYodS5jb250ZXh0PXUucGVuZGluZ0NvbnRleHQsdS5wZW5kaW5nQ29udGV4dD1udWxsKSxudWxsIT09byYmbnVsbCE9PW8uY2hpbGR8fChibyh0KSx0LmVmZmVjdFRhZyY9LTMpLHVhKHQpO2JyZWFrO2Nhc2UgNTpBaSh0KTt2YXIgYz1TaShfaS5jdXJyZW50KTtpZihzPXQudHlwZSxudWxsIT09byYmbnVsbCE9dC5zdGF0ZU5vZGUpY2Eobyx0LHMsdSxjKSxvLnJlZiE9PXQucmVmJiYodC5lZmZlY3RUYWd8PTEyOCk7ZWxzZSBpZih1KXt2YXIgZj1TaShtaS5jdXJyZW50KTtpZihibyh0KSl7bz0odT10KS5zdGF0ZU5vZGU7dmFyIGw9dS50eXBlLGg9dS5tZW1vaXplZFByb3BzLHA9Yztzd2l0Y2gob1tSXT11LG9bQl09aCxzPXZvaWQgMCxjPWwpe2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6VHIoImxvYWQiLG8pO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDx0ZS5sZW5ndGg7bCsrKVRyKHRlW2xdLG8pO2JyZWFrO2Nhc2Uic291cmNlIjpUcigiZXJyb3IiLG8pO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlRyKCJlcnJvciIsbyksVHIoImxvYWQiLG8pO2JyZWFrO2Nhc2UiZm9ybSI6VHIoInJlc2V0IixvKSxUcigic3VibWl0IixvKTticmVhaztjYXNlImRldGFpbHMiOlRyKCJ0b2dnbGUiLG8pO2JyZWFrO2Nhc2UiaW5wdXQiOl90KG8saCksVHIoImludmFsaWQiLG8pLHBuKHAsIm9uQ2hhbmdlIik7YnJlYWs7Y2FzZSJzZWxlY3QiOm8uX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFoLm11bHRpcGxlfSxUcigiaW52YWxpZCIsbykscG4ocCwib25DaGFuZ2UiKTticmVhaztjYXNlInRleHRhcmVhIjpYcihvLGgpLFRyKCJpbnZhbGlkIixvKSxwbihwLCJvbkNoYW5nZSIpfWZvcihzIGluIGxuKGMsaCksbD1udWxsLGgpaC5oYXNPd25Qcm9wZXJ0eShzKSYmKGY9aFtzXSwiY2hpbGRyZW4iPT09cz8ic3RyaW5nIj09PXR5cGVvZiBmP28udGV4dENvbnRlbnQhPT1mJiYobD1bImNoaWxkcmVuIixmXSk6Im51bWJlciI9PT10eXBlb2YgZiYmby50ZXh0Q29udGVudCE9PSIiK2YmJihsPVsiY2hpbGRyZW4iLCIiK2ZdKTpiLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1mJiZwbihwLHMpKTtzd2l0Y2goYyl7Y2FzZSJpbnB1dCI6cWUobyksd3QobyxoLCEwKTticmVhaztjYXNlInRleHRhcmVhIjpxZShvKSwkcihvKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09PXR5cGVvZiBoLm9uQ2xpY2smJihvLm9uY2xpY2s9ZG4pfXM9bCx1LnVwZGF0ZVF1ZXVlPXMsKHU9bnVsbCE9PXMpJiZhYSh0KX1lbHNle2g9dCxwPXMsbz11LGw9OT09PWMubm9kZVR5cGU/YzpjLm93bmVyRG9jdW1lbnQsZj09PVpyLmh0bWwmJihmPUpyKHApKSxmPT09WnIuaHRtbD8ic2NyaXB0Ij09PXA/KChvPWwuY3JlYXRlRWxlbWVudCgiZGl2IikpLmlubmVySFRNTD0iPHNjcmlwdD48XC9zY3JpcHQ+IixsPW8ucmVtb3ZlQ2hpbGQoby5maXJzdENoaWxkKSk6InN0cmluZyI9PT10eXBlb2Ygby5pcz9sPWwuY3JlYXRlRWxlbWVudChwLHtpczpvLmlzfSk6KGw9bC5jcmVhdGVFbGVtZW50KHApLCJzZWxlY3QiPT09cCYmKHA9bCxvLm11bHRpcGxlP3AubXVsdGlwbGU9ITA6by5zaXplJiYocC5zaXplPW8uc2l6ZSkpKTpsPWwuY3JlYXRlRWxlbWVudE5TKGYscCksKG89bClbUl09aCxvW0JdPXUsc2Eobyx0LCExLCExKSxwPW87dmFyIGQ9Yyx5PWhuKGw9cyxoPXUpO3N3aXRjaChsKXtjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOlRyKCJsb2FkIixwKSxjPWg7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGM9MDtjPHRlLmxlbmd0aDtjKyspVHIodGVbY10scCk7Yz1oO2JyZWFrO2Nhc2Uic291cmNlIjpUcigiZXJyb3IiLHApLGM9aDticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpUcigiZXJyb3IiLHApLFRyKCJsb2FkIixwKSxjPWg7YnJlYWs7Y2FzZSJmb3JtIjpUcigicmVzZXQiLHApLFRyKCJzdWJtaXQiLHApLGM9aDticmVhaztjYXNlImRldGFpbHMiOlRyKCJ0b2dnbGUiLHApLGM9aDticmVhaztjYXNlImlucHV0IjpfdChwLGgpLGM9YnQocCxoKSxUcigiaW52YWxpZCIscCkscG4oZCwib25DaGFuZ2UiKTticmVhaztjYXNlIm9wdGlvbiI6Yz1IcihwLGgpO2JyZWFrO2Nhc2Uic2VsZWN0IjpwLl93cmFwcGVyU3RhdGU9e3dhc011bHRpcGxlOiEhaC5tdWx0aXBsZX0sYz1pKHt9LGgse3ZhbHVlOnZvaWQgMH0pLFRyKCJpbnZhbGlkIixwKSxwbihkLCJvbkNoYW5nZSIpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOlhyKHAsaCksYz1ZcihwLGgpLFRyKCJpbnZhbGlkIixwKSxwbihkLCJvbkNoYW5nZSIpO2JyZWFrO2RlZmF1bHQ6Yz1ofWxuKGwsYyksZj12b2lkIDA7dmFyIGc9bCx2PXAsbT1jO2ZvcihmIGluIG0paWYobS5oYXNPd25Qcm9wZXJ0eShmKSl7dmFyIF89bVtmXTsic3R5bGUiPT09Zj9jbih2LF8pOiJkYW5nZXJvdXNseVNldElubmVySFRNTCI9PT1mP251bGwhPShfPV8/Xy5fX2h0bWw6dm9pZCAwKSYmbm4odixfKToiY2hpbGRyZW4iPT09Zj8ic3RyaW5nIj09PXR5cGVvZiBfPygidGV4dGFyZWEiIT09Z3x8IiIhPT1fKSYmb24odixfKToibnVtYmVyIj09PXR5cGVvZiBfJiZvbih2LCIiK18pOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09ZiYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT1mJiYiYXV0b0ZvY3VzIiE9PWYmJihiLmhhc093blByb3BlcnR5KGYpP251bGwhPV8mJnBuKGQsZik6bnVsbCE9XyYmdnQodixmLF8seSkpfXN3aXRjaChsKXtjYXNlImlucHV0IjpxZShwKSx3dChwLGgsITEpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOnFlKHApLCRyKHApO2JyZWFrO2Nhc2Uib3B0aW9uIjpudWxsIT1oLnZhbHVlJiZwLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiK210KGgudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6KGM9cCkubXVsdGlwbGU9ISFoLm11bHRpcGxlLG51bGwhPShwPWgudmFsdWUpP1dyKGMsISFoLm11bHRpcGxlLHAsITEpOm51bGwhPWguZGVmYXVsdFZhbHVlJiZXcihjLCEhaC5tdWx0aXBsZSxoLmRlZmF1bHRWYWx1ZSwhMCk7YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iPT09dHlwZW9mIGMub25DbGljayYmKHAub25jbGljaz1kbil9KHU9dm4ocyx1KSkmJmFhKHQpLHQuc3RhdGVOb2RlPW99bnVsbCE9PXQucmVmJiYodC5lZmZlY3RUYWd8PTEyOCl9ZWxzZSBudWxsPT09dC5zdGF0ZU5vZGUmJmEoIjE2NiIpO2JyZWFrO2Nhc2UgNjpvJiZudWxsIT10LnN0YXRlTm9kZT9mYShvLHQsby5tZW1vaXplZFByb3BzLHUpOigic3RyaW5nIiE9PXR5cGVvZiB1JiYobnVsbD09PXQuc3RhdGVOb2RlJiZhKCIxNjYiKSksbz1TaShfaS5jdXJyZW50KSxTaShtaS5jdXJyZW50KSxibyh0KT8ocz0odT10KS5zdGF0ZU5vZGUsbz11Lm1lbW9pemVkUHJvcHMsc1tSXT11LCh1PXMubm9kZVZhbHVlIT09bykmJmFhKHQpKToocz10LCh1PSg5PT09by5ub2RlVHlwZT9vOm8ub3duZXJEb2N1bWVudCkuY3JlYXRlVGV4dE5vZGUodSkpW1JdPXQscy5zdGF0ZU5vZGU9dSkpO2JyZWFrO2Nhc2UgMTE6YnJlYWs7Y2FzZSAxMzppZih1PXQubWVtb2l6ZWRTdGF0ZSwwIT09KDY0JnQuZWZmZWN0VGFnKSl7dC5leHBpcmF0aW9uVGltZT1zLElhPXQ7YnJlYWsgZX11PW51bGwhPT11LHM9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGUsbnVsbCE9PW8mJiF1JiZzJiYobnVsbCE9PShvPW8uY2hpbGQuc2libGluZykmJihudWxsIT09KGM9dC5maXJzdEVmZmVjdCk/KHQuZmlyc3RFZmZlY3Q9byxvLm5leHRFZmZlY3Q9Yyk6KHQuZmlyc3RFZmZlY3Q9dC5sYXN0RWZmZWN0PW8sby5uZXh0RWZmZWN0PW51bGwpLG8uZWZmZWN0VGFnPTgpKSwodXx8cykmJih0LmVmZmVjdFRhZ3w9NCk7YnJlYWs7Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmJyZWFrO2Nhc2UgNDp3aSgpLHVhKHQpO2JyZWFrO2Nhc2UgMTA6Rm8odCk7YnJlYWs7Y2FzZSA5OmNhc2UgMTQ6YnJlYWs7Y2FzZSAxNzpCbih0LnR5cGUpJiZNbigpO2JyZWFrO2Nhc2UgMTg6YnJlYWs7ZGVmYXVsdDphKCIxNTYiKX1JYT1udWxsfWlmKHQ9ZSwxPT09T2F8fDEhPT10LmNoaWxkRXhwaXJhdGlvblRpbWUpe2Zvcih1PTAscz10LmNoaWxkO251bGwhPT1zOykobz1zLmV4cGlyYXRpb25UaW1lKT51JiYodT1vKSwoYz1zLmNoaWxkRXhwaXJhdGlvblRpbWUpPnUmJih1PWMpLHM9cy5zaWJsaW5nO3QuY2hpbGRFeHBpcmF0aW9uVGltZT11fWlmKG51bGwhPT1JYSlyZXR1cm4gSWE7bnVsbCE9PXImJjA9PT0oMTAyNCZyLmVmZmVjdFRhZykmJihudWxsPT09ci5maXJzdEVmZmVjdCYmKHIuZmlyc3RFZmZlY3Q9ZS5maXJzdEVmZmVjdCksbnVsbCE9PWUubGFzdEVmZmVjdCYmKG51bGwhPT1yLmxhc3RFZmZlY3QmJihyLmxhc3RFZmZlY3QubmV4dEVmZmVjdD1lLmZpcnN0RWZmZWN0KSxyLmxhc3RFZmZlY3Q9ZS5sYXN0RWZmZWN0KSwxPGUuZWZmZWN0VGFnJiYobnVsbCE9PXIubGFzdEVmZmVjdD9yLmxhc3RFZmZlY3QubmV4dEVmZmVjdD1lOnIuZmlyc3RFZmZlY3Q9ZSxyLmxhc3RFZmZlY3Q9ZSkpfWVsc2V7aWYobnVsbCE9PShlPXdhKGUpKSlyZXR1cm4gZS5lZmZlY3RUYWcmPTEwMjMsZTtudWxsIT09ciYmKHIuZmlyc3RFZmZlY3Q9ci5sYXN0RWZmZWN0PW51bGwsci5lZmZlY3RUYWd8PTEwMjQpfWlmKG51bGwhPT1uKXJldHVybiBuO2lmKG51bGw9PT1yKWJyZWFrO2U9cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIYShlKXt2YXIgdD1CbyhlLmFsdGVybmF0ZSxlLE9hKTtyZXR1cm4gZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT10JiYodD1HYShlKSksQWEuY3VycmVudD1udWxsLHR9ZnVuY3Rpb24gV2EoZSx0KXt4YSYmYSgiMjQzIiksS2EoKSx4YT0hMDt2YXIgcj1UYS5jdXJyZW50O1RhLmN1cnJlbnQ9dW87dmFyIG49ZS5uZXh0RXhwaXJhdGlvblRpbWVUb1dvcmtPbjtuPT09T2EmJmU9PT1rYSYmbnVsbCE9PUlhfHwoVWEoKSxPYT1uLElhPVduKChrYT1lKS5jdXJyZW50LG51bGwpLGUucGVuZGluZ0NvbW1pdEV4cGlyYXRpb25UaW1lPTApO2Zvcih2YXIgaT0hMTs7KXt0cnl7aWYodClmb3IoO251bGwhPT1JYSYmIUNzKCk7KUlhPUhhKElhKTtlbHNlIGZvcig7bnVsbCE9PUlhOylJYT1IYShJYSl9Y2F0Y2godil7aWYoam89RG89TG89bnVsbCwkaSgpLG51bGw9PT1JYSlpPSEwLFBzKHYpO2Vsc2V7bnVsbD09PUlhJiZhKCIyNzEiKTt2YXIgbz1JYSxzPW8ucmV0dXJuO2lmKG51bGwhPT1zKXtlOnt2YXIgdT1lLGM9cyxmPW8sbD12O2lmKHM9T2EsZi5lZmZlY3RUYWd8PTEwMjQsZi5maXJzdEVmZmVjdD1mLmxhc3RFZmZlY3Q9bnVsbCxudWxsIT09bCYmIm9iamVjdCI9PT10eXBlb2YgbCYmImZ1bmN0aW9uIj09PXR5cGVvZiBsLnRoZW4pe3ZhciBoPWw7bD1jO3ZhciBwPS0xLGQ9LTE7ZG97aWYoMTM9PT1sLnRhZyl7dmFyIHk9bC5hbHRlcm5hdGU7aWYobnVsbCE9PXkmJm51bGwhPT0oeT15Lm1lbW9pemVkU3RhdGUpKXtkPTEwKigxMDczNzQxODIyLXkudGltZWRPdXRBdCk7YnJlYWt9Im51bWJlciI9PT10eXBlb2YoeT1sLnBlbmRpbmdQcm9wcy5tYXhEdXJhdGlvbikmJigwPj15P3A9MDooLTE9PT1wfHx5PHApJiYocD15KSl9bD1sLnJldHVybn13aGlsZShudWxsIT09bCk7bD1jO2Rve2lmKCh5PTEzPT09bC50YWcpJiYoeT12b2lkIDAhPT1sLm1lbW9pemVkUHJvcHMuZmFsbGJhY2smJm51bGw9PT1sLm1lbW9pemVkU3RhdGUpLHkpe2lmKG51bGw9PT0oYz1sLnVwZGF0ZVF1ZXVlKT8oKGM9bmV3IFNldCkuYWRkKGgpLGwudXBkYXRlUXVldWU9Yyk6Yy5hZGQoaCksMD09PSgxJmwubW9kZSkpe2wuZWZmZWN0VGFnfD02NCxmLmVmZmVjdFRhZyY9LTE5NTcsMT09PWYudGFnJiYobnVsbD09PWYuYWx0ZXJuYXRlP2YudGFnPTE3Oigocz1RbygxMDczNzQxODIzKSkudGFnPUdvLFpvKGYscykpKSxmLmV4cGlyYXRpb25UaW1lPTEwNzM3NDE4MjM7YnJlYWsgZX1jPXM7dmFyIGc9KGY9dSkucGluZ0NhY2hlO251bGw9PT1nPyhnPWYucGluZ0NhY2hlPW5ldyBfYSx5PW5ldyBTZXQsZy5zZXQoaCx5KSk6dm9pZCAwPT09KHk9Zy5nZXQoaCkpJiYoeT1uZXcgU2V0LGcuc2V0KGgseSkpLHkuaGFzKGMpfHwoeS5hZGQoYyksZj1RYS5iaW5kKG51bGwsZixoLGMpLGgudGhlbihmLGYpKSwtMT09PXA/dT0xMDczNzQxODIzOigtMT09PWQmJihkPTEwKigxMDczNzQxODIyLXRpKHUscykpLTVlMyksdT1kK3ApLDA8PXUmJk5hPHUmJihOYT11KSxsLmVmZmVjdFRhZ3w9MjA0OCxsLmV4cGlyYXRpb25UaW1lPXM7YnJlYWsgZX1sPWwucmV0dXJufXdoaWxlKG51bGwhPT1sKTtsPUVycm9yKChzdChmLnR5cGUpfHwiQSBSZWFjdCBjb21wb25lbnQiKSsiIHN1c3BlbmRlZCB3aGlsZSByZW5kZXJpbmcsIGJ1dCBubyBmYWxsYmFjayBVSSB3YXMgc3BlY2lmaWVkLlxuXG5BZGQgYSA8U3VzcGVuc2UgZmFsbGJhY2s9Li4uPiBjb21wb25lbnQgaGlnaGVyIGluIHRoZSB0cmVlIHRvIHByb3ZpZGUgYSBsb2FkaW5nIGluZGljYXRvciBvciBwbGFjZWhvbGRlciB0byBkaXNwbGF5LiIrdXQoZikpfVBhPSEwLGw9b2EobCxmKSx1PWM7ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5lZmZlY3RUYWd8PTIwNDgsdS5leHBpcmF0aW9uVGltZT1zLEpvKHUscz1TYSh1LGwscykpO2JyZWFrIGU7Y2FzZSAxOmlmKHA9bCxkPXUudHlwZSxmPXUuc3RhdGVOb2RlLDA9PT0oNjQmdS5lZmZlY3RUYWcpJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBkLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8bnVsbCE9PWYmJiJmdW5jdGlvbiI9PT10eXBlb2YgZi5jb21wb25lbnREaWRDYXRjaCYmKG51bGw9PT1qYXx8IWphLmhhcyhmKSkpKXt1LmVmZmVjdFRhZ3w9MjA0OCx1LmV4cGlyYXRpb25UaW1lPXMsSm8odSxzPUVhKHUscCxzKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9SWE9R2Eobyk7Y29udGludWV9aT0hMCxQcyh2KX19YnJlYWt9aWYoeGE9ITEsVGEuY3VycmVudD1yLGpvPURvPUxvPW51bGwsJGkoKSxpKWthPW51bGwsZS5maW5pc2hlZFdvcms9bnVsbDtlbHNlIGlmKG51bGwhPT1JYSllLmZpbmlzaGVkV29yaz1udWxsO2Vsc2V7aWYobnVsbD09PShyPWUuY3VycmVudC5hbHRlcm5hdGUpJiZhKCIyODEiKSxrYT1udWxsLFBhKXtpZihpPWUubGF0ZXN0UGVuZGluZ1RpbWUsbz1lLmxhdGVzdFN1c3BlbmRlZFRpbWUscz1lLmxhdGVzdFBpbmdlZFRpbWUsMCE9PWkmJmk8bnx8MCE9PW8mJm88bnx8MCE9PXMmJnM8bilyZXR1cm4gZWkoZSxuKSx2b2lkIFNzKGUscixuLGUuZXhwaXJhdGlvblRpbWUsLTEpO2lmKCFlLmRpZEVycm9yJiZ0KXJldHVybiBlLmRpZEVycm9yPSEwLG49ZS5uZXh0RXhwaXJhdGlvblRpbWVUb1dvcmtPbj1uLHQ9ZS5leHBpcmF0aW9uVGltZT0xMDczNzQxODIzLHZvaWQgU3MoZSxyLG4sdCwtMSl9dCYmLTEhPT1OYT8oZWkoZSxuKSwodD0xMCooMTA3Mzc0MTgyMi10aShlLG4pKSk8TmEmJihOYT10KSx0PTEwKigxMDczNzQxODIyLUVzKCkpLHQ9TmEtdCxTcyhlLHIsbixlLmV4cGlyYXRpb25UaW1lLDA+dD8wOnQpKTooZS5wZW5kaW5nQ29tbWl0RXhwaXJhdGlvblRpbWU9bixlLmZpbmlzaGVkV29yaz1yKX19ZnVuY3Rpb24gWWEoZSx0KXtmb3IodmFyIHI9ZS5yZXR1cm47bnVsbCE9PXI7KXtzd2l0Y2goci50YWcpe2Nhc2UgMTp2YXIgbj1yLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIHIudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3J8fCJmdW5jdGlvbiI9PT10eXBlb2Ygbi5jb21wb25lbnREaWRDYXRjaCYmKG51bGw9PT1qYXx8IWphLmhhcyhuKSkpcmV0dXJuIFpvKHIsZT1FYShyLGU9b2EodCxlKSwxMDczNzQxODIzKSksdm9pZCBaYShyLDEwNzM3NDE4MjMpO2JyZWFrO2Nhc2UgMzpyZXR1cm4gWm8ocixlPVNhKHIsZT1vYSh0LGUpLDEwNzM3NDE4MjMpKSx2b2lkIFphKHIsMTA3Mzc0MTgyMyl9cj1yLnJldHVybn0zPT09ZS50YWcmJihabyhlLHI9U2EoZSxyPW9hKHQsZSksMTA3Mzc0MTgyMykpLFphKGUsMTA3Mzc0MTgyMykpfWZ1bmN0aW9uIFhhKGUsdCl7dmFyIHI9by51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpLG49dm9pZCAwO2lmKDA9PT0oMSZ0Lm1vZGUpKW49MTA3Mzc0MTgyMztlbHNlIGlmKHhhJiYhQmEpbj1PYTtlbHNle3N3aXRjaChyKXtjYXNlIG8udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk6bj0xMDczNzQxODIzO2JyZWFrO2Nhc2Ugby51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eTpuPTEwNzM3NDE4MjItMTAqKDErKCgxMDczNzQxODIyLWUrMTUpLzEwfDApKTticmVhaztjYXNlIG8udW5zdGFibGVfTm9ybWFsUHJpb3JpdHk6bj0xMDczNzQxODIyLTI1KigxKygoMTA3Mzc0MTgyMi1lKzUwMCkvMjV8MCkpO2JyZWFrO2Nhc2Ugby51bnN0YWJsZV9Mb3dQcmlvcml0eTpjYXNlIG8udW5zdGFibGVfSWRsZVByaW9yaXR5Om49MTticmVhaztkZWZhdWx0OmEoIjMxMyIpfW51bGwhPT1rYSYmbj09PU9hJiYtLW59cmV0dXJuIHI9PT1vLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5JiYoMD09PXNzfHxuPHNzKSYmKHNzPW4pLG59ZnVuY3Rpb24gUWEoZSx0LHIpe3ZhciBuPWUucGluZ0NhY2hlO251bGwhPT1uJiZuLmRlbGV0ZSh0KSxudWxsIT09a2EmJk9hPT09cj9rYT1udWxsOih0PWUuZWFybGllc3RTdXNwZW5kZWRUaW1lLG49ZS5sYXRlc3RTdXNwZW5kZWRUaW1lLDAhPT10JiZyPD10JiZyPj1uJiYoZS5kaWRFcnJvcj0hMSwoMD09PSh0PWUubGF0ZXN0UGluZ2VkVGltZSl8fHQ+cikmJihlLmxhdGVzdFBpbmdlZFRpbWU9cikscmkocixlKSwwIT09KHI9ZS5leHBpcmF0aW9uVGltZSkmJndzKGUscikpKX1mdW5jdGlvbiAkYShlLHQpe2UuZXhwaXJhdGlvblRpbWU8dCYmKGUuZXhwaXJhdGlvblRpbWU9dCk7dmFyIHI9ZS5hbHRlcm5hdGU7bnVsbCE9PXImJnIuZXhwaXJhdGlvblRpbWU8dCYmKHIuZXhwaXJhdGlvblRpbWU9dCk7dmFyIG49ZS5yZXR1cm4saT1udWxsO2lmKG51bGw9PT1uJiYzPT09ZS50YWcpaT1lLnN0YXRlTm9kZTtlbHNlIGZvcig7bnVsbCE9PW47KXtpZihyPW4uYWx0ZXJuYXRlLG4uY2hpbGRFeHBpcmF0aW9uVGltZTx0JiYobi5jaGlsZEV4cGlyYXRpb25UaW1lPXQpLG51bGwhPT1yJiZyLmNoaWxkRXhwaXJhdGlvblRpbWU8dCYmKHIuY2hpbGRFeHBpcmF0aW9uVGltZT10KSxudWxsPT09bi5yZXR1cm4mJjM9PT1uLnRhZyl7aT1uLnN0YXRlTm9kZTticmVha31uPW4ucmV0dXJufXJldHVybiBpfWZ1bmN0aW9uIFphKGUsdCl7bnVsbCE9PShlPSRhKGUsdCkpJiYoIXhhJiYwIT09T2EmJnQ+T2EmJlVhKCksSm4oZSx0KSx4YSYmIUJhJiZrYT09PWV8fHdzKGUsZS5leHBpcmF0aW9uVGltZSksdnM+Z3MmJih2cz0wLGEoIjE4NSIpKSl9ZnVuY3Rpb24gSmEoZSx0LHIsbixpKXtyZXR1cm4gby51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkoby51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxmdW5jdGlvbigpe3JldHVybiBlKHQscixuLGkpfSl9dmFyIGVzPW51bGwsdHM9bnVsbCxycz0wLG5zPXZvaWQgMCxpcz0hMSxvcz1udWxsLGFzPTAsc3M9MCx1cz0hMSxjcz1udWxsLGZzPSExLGxzPSExLGhzPW51bGwscHM9by51bnN0YWJsZV9ub3coKSxkcz0xMDczNzQxODIyLShwcy8xMHwwKSx5cz1kcyxncz01MCx2cz0wLG1zPW51bGw7ZnVuY3Rpb24gYnMoKXtkcz0xMDczNzQxODIyLSgoby51bnN0YWJsZV9ub3coKS1wcykvMTB8MCl9ZnVuY3Rpb24gX3MoZSx0KXtpZigwIT09cnMpe2lmKHQ8cnMpcmV0dXJuO251bGwhPT1ucyYmby51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayhucyl9cnM9dCxlPW8udW5zdGFibGVfbm93KCktcHMsbnM9by51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKHhzLHt0aW1lb3V0OjEwKigxMDczNzQxODIyLXQpLWV9KX1mdW5jdGlvbiBTcyhlLHQscixuLGkpe2UuZXhwaXJhdGlvblRpbWU9biwwIT09aXx8Q3MoKT8wPGkmJihlLnRpbWVvdXRIYW5kbGU9Ym4oZnVuY3Rpb24oZSx0LHIpe2UucGVuZGluZ0NvbW1pdEV4cGlyYXRpb25UaW1lPXIsZS5maW5pc2hlZFdvcms9dCxicygpLHlzPWRzLGtzKGUscil9LmJpbmQobnVsbCxlLHQsciksaSkpOihlLnBlbmRpbmdDb21taXRFeHBpcmF0aW9uVGltZT1yLGUuZmluaXNoZWRXb3JrPXQpfWZ1bmN0aW9uIEVzKCl7cmV0dXJuIGlzP3lzOihUcygpLDAhPT1hcyYmMSE9PWFzfHwoYnMoKSx5cz1kcykseXMpfWZ1bmN0aW9uIHdzKGUsdCl7bnVsbD09PWUubmV4dFNjaGVkdWxlZFJvb3Q/KGUuZXhwaXJhdGlvblRpbWU9dCxudWxsPT09dHM/KGVzPXRzPWUsZS5uZXh0U2NoZWR1bGVkUm9vdD1lKToodHM9dHMubmV4dFNjaGVkdWxlZFJvb3Q9ZSkubmV4dFNjaGVkdWxlZFJvb3Q9ZXMpOnQ+ZS5leHBpcmF0aW9uVGltZSYmKGUuZXhwaXJhdGlvblRpbWU9dCksaXN8fChmcz9scyYmKG9zPWUsYXM9MTA3Mzc0MTgyMyxPcyhlLDEwNzM3NDE4MjMsITEpKToxMDczNzQxODIzPT09dD9JcygxMDczNzQxODIzLCExKTpfcyhlLHQpKX1mdW5jdGlvbiBUcygpe3ZhciBlPTAsdD1udWxsO2lmKG51bGwhPT10cylmb3IodmFyIHI9dHMsbj1lcztudWxsIT09bjspe3ZhciBpPW4uZXhwaXJhdGlvblRpbWU7aWYoMD09PWkpe2lmKChudWxsPT09cnx8bnVsbD09PXRzKSYmYSgiMjQ0Iiksbj09PW4ubmV4dFNjaGVkdWxlZFJvb3Qpe2VzPXRzPW4ubmV4dFNjaGVkdWxlZFJvb3Q9bnVsbDticmVha31pZihuPT09ZXMpZXM9aT1uLm5leHRTY2hlZHVsZWRSb290LHRzLm5leHRTY2hlZHVsZWRSb290PWksbi5uZXh0U2NoZWR1bGVkUm9vdD1udWxsO2Vsc2V7aWYobj09PXRzKXsodHM9cikubmV4dFNjaGVkdWxlZFJvb3Q9ZXMsbi5uZXh0U2NoZWR1bGVkUm9vdD1udWxsO2JyZWFrfXIubmV4dFNjaGVkdWxlZFJvb3Q9bi5uZXh0U2NoZWR1bGVkUm9vdCxuLm5leHRTY2hlZHVsZWRSb290PW51bGx9bj1yLm5leHRTY2hlZHVsZWRSb290fWVsc2V7aWYoaT5lJiYoZT1pLHQ9biksbj09PXRzKWJyZWFrO2lmKDEwNzM3NDE4MjM9PT1lKWJyZWFrO3I9bixuPW4ubmV4dFNjaGVkdWxlZFJvb3R9fW9zPXQsYXM9ZX12YXIgQXM9ITE7ZnVuY3Rpb24gQ3MoKXtyZXR1cm4hIUFzfHwhIW8udW5zdGFibGVfc2hvdWxkWWllbGQoKSYmKEFzPSEwKX1mdW5jdGlvbiB4cygpe3RyeXtpZighQ3MoKSYmbnVsbCE9PWVzKXticygpO3ZhciBlPWVzO2Rve3ZhciB0PWUuZXhwaXJhdGlvblRpbWU7MCE9PXQmJmRzPD10JiYoZS5uZXh0RXhwaXJhdGlvblRpbWVUb1dvcmtPbj1kcyksZT1lLm5leHRTY2hlZHVsZWRSb290fXdoaWxlKGUhPT1lcyl9SXMoMCwhMCl9ZmluYWxseXtBcz0hMX19ZnVuY3Rpb24gSXMoZSx0KXtpZihUcygpLHQpZm9yKGJzKCkseXM9ZHM7bnVsbCE9PW9zJiYwIT09YXMmJmU8PWFzJiYhKEFzJiZkcz5hcyk7KU9zKG9zLGFzLGRzPmFzKSxUcygpLGJzKCkseXM9ZHM7ZWxzZSBmb3IoO251bGwhPT1vcyYmMCE9PWFzJiZlPD1hczspT3Mob3MsYXMsITEpLFRzKCk7aWYodCYmKHJzPTAsbnM9bnVsbCksMCE9PWFzJiZfcyhvcyxhcyksdnM9MCxtcz1udWxsLG51bGwhPT1ocylmb3IoZT1ocyxocz1udWxsLHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XTt0cnl7ci5fb25Db21wbGV0ZSgpfWNhdGNoKG4pe3VzfHwodXM9ITAsY3M9bil9fWlmKHVzKXRocm93IGU9Y3MsY3M9bnVsbCx1cz0hMSxlfWZ1bmN0aW9uIGtzKGUsdCl7aXMmJmEoIjI1MyIpLG9zPWUsYXM9dCxPcyhlLHQsITEpLElzKDEwNzM3NDE4MjMsITEpfWZ1bmN0aW9uIE9zKGUsdCxyKXtpZihpcyYmYSgiMjQ1IiksaXM9ITAscil7dmFyIG49ZS5maW5pc2hlZFdvcms7bnVsbCE9PW4/TnMoZSxuLHQpOihlLmZpbmlzaGVkV29yaz1udWxsLC0xIT09KG49ZS50aW1lb3V0SGFuZGxlKSYmKGUudGltZW91dEhhbmRsZT0tMSxfbihuKSksV2EoZSxyKSxudWxsIT09KG49ZS5maW5pc2hlZFdvcmspJiYoQ3MoKT9lLmZpbmlzaGVkV29yaz1uOk5zKGUsbix0KSkpfWVsc2UgbnVsbCE9PShuPWUuZmluaXNoZWRXb3JrKT9OcyhlLG4sdCk6KGUuZmluaXNoZWRXb3JrPW51bGwsLTEhPT0obj1lLnRpbWVvdXRIYW5kbGUpJiYoZS50aW1lb3V0SGFuZGxlPS0xLF9uKG4pKSxXYShlLHIpLG51bGwhPT0obj1lLmZpbmlzaGVkV29yaykmJk5zKGUsbix0KSk7aXM9ITF9ZnVuY3Rpb24gTnMoZSx0LHIpe3ZhciBuPWUuZmlyc3RCYXRjaDtpZihudWxsIT09biYmbi5fZXhwaXJhdGlvblRpbWU+PXImJihudWxsPT09aHM/aHM9W25dOmhzLnB1c2gobiksbi5fZGVmZXIpKXJldHVybiBlLmZpbmlzaGVkV29yaz10LHZvaWQoZS5leHBpcmF0aW9uVGltZT0wKTtlLmZpbmlzaGVkV29yaz1udWxsLGU9PT1tcz92cysrOihtcz1lLHZzPTApLG8udW5zdGFibGVfcnVuV2l0aFByaW9yaXR5KG8udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZnVuY3Rpb24oKXt6YShlLHQpfSl9ZnVuY3Rpb24gUHMoZSl7bnVsbD09PW9zJiZhKCIyNDYiKSxvcy5leHBpcmF0aW9uVGltZT0wLHVzfHwodXM9ITAsY3M9ZSl9ZnVuY3Rpb24gUnMoZSx0KXt2YXIgcj1mcztmcz0hMDt0cnl7cmV0dXJuIGUodCl9ZmluYWxseXsoZnM9cil8fGlzfHxJcygxMDczNzQxODIzLCExKX19ZnVuY3Rpb24gQnMoZSx0KXtpZihmcyYmIWxzKXtscz0hMDt0cnl7cmV0dXJuIGUodCl9ZmluYWxseXtscz0hMX19cmV0dXJuIGUodCl9ZnVuY3Rpb24gTXMoZSx0LHIpe2ZzfHxpc3x8MD09PXNzfHwoSXMoc3MsITEpLHNzPTApO3ZhciBuPWZzO2ZzPSEwO3RyeXtyZXR1cm4gby51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkoby51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxmdW5jdGlvbigpe3JldHVybiBlKHQscil9KX1maW5hbGx5eyhmcz1uKXx8aXN8fElzKDEwNzM3NDE4MjMsITEpfX1mdW5jdGlvbiBMcyhlLHQscixuLGkpe3ZhciBvPXQuY3VycmVudDtlOmlmKHIpe3Q6ezI9PT10cihyPXIuX3JlYWN0SW50ZXJuYWxGaWJlcikmJjE9PT1yLnRhZ3x8YSgiMTcwIik7dmFyIHM9cjtkb3tzd2l0Y2gocy50YWcpe2Nhc2UgMzpzPXMuc3RhdGVOb2RlLmNvbnRleHQ7YnJlYWsgdDtjYXNlIDE6aWYoQm4ocy50eXBlKSl7cz1zLnN0YXRlTm9kZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dDticmVhayB0fX1zPXMucmV0dXJufXdoaWxlKG51bGwhPT1zKTthKCIxNzEiKSxzPXZvaWQgMH1pZigxPT09ci50YWcpe3ZhciB1PXIudHlwZTtpZihCbih1KSl7cj1qbihyLHUscyk7YnJlYWsgZX19cj1zfWVsc2Ugcj1rbjtyZXR1cm4gbnVsbD09PXQuY29udGV4dD90LmNvbnRleHQ9cjp0LnBlbmRpbmdDb250ZXh0PXIsdD1pLChpPVFvKG4pKS5wYXlsb2FkPXtlbGVtZW50OmV9LG51bGwhPT0odD12b2lkIDA9PT10P251bGw6dCkmJihpLmNhbGxiYWNrPXQpLEthKCksWm8obyxpKSxaYShvLG4pLG59ZnVuY3Rpb24gRHMoZSx0LHIsbil7dmFyIGk9dC5jdXJyZW50O3JldHVybiBMcyhlLHQscixpPVhhKEVzKCksaSksbil9ZnVuY3Rpb24ganMoZSl7aWYoIShlPWUuY3VycmVudCkuY2hpbGQpcmV0dXJuIG51bGw7c3dpdGNoKGUuY2hpbGQudGFnKXtjYXNlIDU6ZGVmYXVsdDpyZXR1cm4gZS5jaGlsZC5zdGF0ZU5vZGV9fWZ1bmN0aW9uIFVzKGUpe3ZhciB0PTEwNzM3NDE4MjItMjUqKDErKCgxMDczNzQxODIyLUVzKCkrNTAwKS8yNXwwKSk7dD49Q2EmJih0PUNhLTEpLHRoaXMuX2V4cGlyYXRpb25UaW1lPUNhPXQsdGhpcy5fcm9vdD1lLHRoaXMuX2NhbGxiYWNrcz10aGlzLl9uZXh0PW51bGwsdGhpcy5faGFzQ2hpbGRyZW49dGhpcy5fZGlkQ29tcGxldGU9ITEsdGhpcy5fY2hpbGRyZW49bnVsbCx0aGlzLl9kZWZlcj0hMH1mdW5jdGlvbiBGcygpe3RoaXMuX2NhbGxiYWNrcz1udWxsLHRoaXMuX2RpZENvbW1pdD0hMSx0aGlzLl9vbkNvbW1pdD10aGlzLl9vbkNvbW1pdC5iaW5kKHRoaXMpfWZ1bmN0aW9uIFZzKGUsdCxyKXtlPXtjdXJyZW50OnQ9R24oMyxudWxsLG51bGwsdD8zOjApLGNvbnRhaW5lckluZm86ZSxwZW5kaW5nQ2hpbGRyZW46bnVsbCxwaW5nQ2FjaGU6bnVsbCxlYXJsaWVzdFBlbmRpbmdUaW1lOjAsbGF0ZXN0UGVuZGluZ1RpbWU6MCxlYXJsaWVzdFN1c3BlbmRlZFRpbWU6MCxsYXRlc3RTdXNwZW5kZWRUaW1lOjAsbGF0ZXN0UGluZ2VkVGltZTowLGRpZEVycm9yOiExLHBlbmRpbmdDb21taXRFeHBpcmF0aW9uVGltZTowLGZpbmlzaGVkV29yazpudWxsLHRpbWVvdXRIYW5kbGU6LTEsY29udGV4dDpudWxsLHBlbmRpbmdDb250ZXh0Om51bGwsaHlkcmF0ZTpyLG5leHRFeHBpcmF0aW9uVGltZVRvV29ya09uOjAsZXhwaXJhdGlvblRpbWU6MCxmaXJzdEJhdGNoOm51bGwsbmV4dFNjaGVkdWxlZFJvb3Q6bnVsbH0sdGhpcy5faW50ZXJuYWxSb290PXQuc3RhdGVOb2RlPWV9ZnVuY3Rpb24gcXMoZSl7cmV0dXJuISghZXx8MSE9PWUubm9kZVR5cGUmJjkhPT1lLm5vZGVUeXBlJiYxMSE9PWUubm9kZVR5cGUmJig4IT09ZS5ub2RlVHlwZXx8IiByZWFjdC1tb3VudC1wb2ludC11bnN0YWJsZSAiIT09ZS5ub2RlVmFsdWUpKX1mdW5jdGlvbiBLcyhlLHQscixuLGkpe3ZhciBvPXIuX3JlYWN0Um9vdENvbnRhaW5lcjtpZihvKXtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGkpe3ZhciBhPWk7aT1mdW5jdGlvbigpe3ZhciBlPWpzKG8uX2ludGVybmFsUm9vdCk7YS5jYWxsKGUpfX1udWxsIT1lP28ubGVnYWN5X3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKGUsdCxpKTpvLnJlbmRlcih0LGkpfWVsc2V7aWYobz1yLl9yZWFjdFJvb3RDb250YWluZXI9ZnVuY3Rpb24oZSx0KXtpZih0fHwodD0hKCEodD1lPzk9PT1lLm5vZGVUeXBlP2UuZG9jdW1lbnRFbGVtZW50OmUuZmlyc3RDaGlsZDpudWxsKXx8MSE9PXQubm9kZVR5cGV8fCF0Lmhhc0F0dHJpYnV0ZSgiZGF0YS1yZWFjdHJvb3QiKSkpLCF0KWZvcih2YXIgcjtyPWUubGFzdENoaWxkOyllLnJlbW92ZUNoaWxkKHIpO3JldHVybiBuZXcgVnMoZSwhMSx0KX0ocixuKSwiZnVuY3Rpb24iPT09dHlwZW9mIGkpe3ZhciBzPWk7aT1mdW5jdGlvbigpe3ZhciBlPWpzKG8uX2ludGVybmFsUm9vdCk7cy5jYWxsKGUpfX1CcyhmdW5jdGlvbigpe251bGwhPWU/by5sZWdhY3lfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIoZSx0LGkpOm8ucmVuZGVyKHQsaSl9KX1yZXR1cm4ganMoby5faW50ZXJuYWxSb290KX1mdW5jdGlvbiB6cyhlLHQpe3ZhciByPTI8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTpudWxsO3JldHVybiBxcyh0KXx8YSgiMjAwIiksZnVuY3Rpb24oZSx0LHIpe3ZhciBuPTM8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjpZZSxrZXk6bnVsbD09bj9udWxsOiIiK24sY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOnQsaW1wbGVtZW50YXRpb246cn19KGUsdCxudWxsLHIpfUNlPWZ1bmN0aW9uKGUsdCxyKXtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6aWYoRXQoZSxyKSx0PXIubmFtZSwicmFkaW8iPT09ci50eXBlJiZudWxsIT10KXtmb3Iocj1lO3IucGFyZW50Tm9kZTspcj1yLnBhcmVudE5vZGU7Zm9yKHI9ci5xdWVyeVNlbGVjdG9yQWxsKCJpbnB1dFtuYW1lPSIrSlNPTi5zdHJpbmdpZnkoIiIrdCkrJ11bdHlwZT0icmFkaW8iXScpLHQ9MDt0PHIubGVuZ3RoO3QrKyl7dmFyIG49clt0XTtpZihuIT09ZSYmbi5mb3JtPT09ZS5mb3JtKXt2YXIgaT1qKG4pO2l8fGEoIjkwIiksS2UobiksRXQobixpKX19fWJyZWFrO2Nhc2UidGV4dGFyZWEiOlFyKGUscik7YnJlYWs7Y2FzZSJzZWxlY3QiOm51bGwhPSh0PXIudmFsdWUpJiZXcihlLCEhci5tdWx0aXBsZSx0LCExKX19LFVzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dGhpcy5fZGVmZXJ8fGEoIjI1MCIpLHRoaXMuX2hhc0NoaWxkcmVuPSEwLHRoaXMuX2NoaWxkcmVuPWU7dmFyIHQ9dGhpcy5fcm9vdC5faW50ZXJuYWxSb290LHI9dGhpcy5fZXhwaXJhdGlvblRpbWUsbj1uZXcgRnM7cmV0dXJuIExzKGUsdCxudWxsLHIsbi5fb25Db21taXQpLG59LFVzLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUpe2lmKHRoaXMuX2RpZENvbXBsZXRlKWUoKTtlbHNle3ZhciB0PXRoaXMuX2NhbGxiYWNrcztudWxsPT09dCYmKHQ9dGhpcy5fY2FsbGJhY2tzPVtdKSx0LnB1c2goZSl9fSxVcy5wcm90b3R5cGUuY29tbWl0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fcm9vdC5faW50ZXJuYWxSb290LHQ9ZS5maXJzdEJhdGNoO2lmKHRoaXMuX2RlZmVyJiZudWxsIT09dHx8YSgiMjUxIiksdGhpcy5faGFzQ2hpbGRyZW4pe3ZhciByPXRoaXMuX2V4cGlyYXRpb25UaW1lO2lmKHQhPT10aGlzKXt0aGlzLl9oYXNDaGlsZHJlbiYmKHI9dGhpcy5fZXhwaXJhdGlvblRpbWU9dC5fZXhwaXJhdGlvblRpbWUsdGhpcy5yZW5kZXIodGhpcy5fY2hpbGRyZW4pKTtmb3IodmFyIG49bnVsbCxpPXQ7aSE9PXRoaXM7KW49aSxpPWkuX25leHQ7bnVsbD09PW4mJmEoIjI1MSIpLG4uX25leHQ9aS5fbmV4dCx0aGlzLl9uZXh0PXQsZS5maXJzdEJhdGNoPXRoaXN9dGhpcy5fZGVmZXI9ITEsa3MoZSxyKSx0PXRoaXMuX25leHQsdGhpcy5fbmV4dD1udWxsLG51bGwhPT0odD1lLmZpcnN0QmF0Y2g9dCkmJnQuX2hhc0NoaWxkcmVuJiZ0LnJlbmRlcih0Ll9jaGlsZHJlbil9ZWxzZSB0aGlzLl9uZXh0PW51bGwsdGhpcy5fZGVmZXI9ITF9LFVzLnByb3RvdHlwZS5fb25Db21wbGV0ZT1mdW5jdGlvbigpe2lmKCF0aGlzLl9kaWRDb21wbGV0ZSl7dGhpcy5fZGlkQ29tcGxldGU9ITA7dmFyIGU9dGhpcy5fY2FsbGJhY2tzO2lmKG51bGwhPT1lKWZvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9fSxGcy5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihlKXtpZih0aGlzLl9kaWRDb21taXQpZSgpO2Vsc2V7dmFyIHQ9dGhpcy5fY2FsbGJhY2tzO251bGw9PT10JiYodD10aGlzLl9jYWxsYmFja3M9W10pLHQucHVzaChlKX19LEZzLnByb3RvdHlwZS5fb25Db21taXQ9ZnVuY3Rpb24oKXtpZighdGhpcy5fZGlkQ29tbWl0KXt0aGlzLl9kaWRDb21taXQ9ITA7dmFyIGU9dGhpcy5fY2FsbGJhY2tzO2lmKG51bGwhPT1lKWZvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lW3RdOyJmdW5jdGlvbiIhPT10eXBlb2YgciYmYSgiMTkxIixyKSxyKCl9fX0sVnMucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMuX2ludGVybmFsUm9vdCxuPW5ldyBGcztyZXR1cm4gbnVsbCE9PSh0PXZvaWQgMD09PXQ/bnVsbDp0KSYmbi50aGVuKHQpLERzKGUscixudWxsLG4uX29uQ29tbWl0KSxufSxWcy5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9pbnRlcm5hbFJvb3Qscj1uZXcgRnM7cmV0dXJuIG51bGwhPT0oZT12b2lkIDA9PT1lP251bGw6ZSkmJnIudGhlbihlKSxEcyhudWxsLHQsbnVsbCxyLl9vbkNvbW1pdCkscn0sVnMucHJvdG90eXBlLmxlZ2FjeV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5faW50ZXJuYWxSb290LGk9bmV3IEZzO3JldHVybiBudWxsIT09KHI9dm9pZCAwPT09cj9udWxsOnIpJiZpLnRoZW4ociksRHModCxuLGUsaS5fb25Db21taXQpLGl9LFZzLnByb3RvdHlwZS5jcmVhdGVCYXRjaD1mdW5jdGlvbigpe3ZhciBlPW5ldyBVcyh0aGlzKSx0PWUuX2V4cGlyYXRpb25UaW1lLHI9dGhpcy5faW50ZXJuYWxSb290LG49ci5maXJzdEJhdGNoO2lmKG51bGw9PT1uKXIuZmlyc3RCYXRjaD1lLGUuX25leHQ9bnVsbDtlbHNle2ZvcihyPW51bGw7bnVsbCE9PW4mJm4uX2V4cGlyYXRpb25UaW1lPj10OylyPW4sbj1uLl9uZXh0O2UuX25leHQ9bixudWxsIT09ciYmKHIuX25leHQ9ZSl9cmV0dXJuIGV9LFBlPVJzLFJlPU1zLEJlPWZ1bmN0aW9uKCl7aXN8fDA9PT1zc3x8KElzKHNzLCExKSxzcz0wKX07dmFyIEdzPXtjcmVhdGVQb3J0YWw6enMsZmluZERPTU5vZGU6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgdD1lLl9yZWFjdEludGVybmFsRmliZXI7cmV0dXJuIHZvaWQgMD09PXQmJigiZnVuY3Rpb24iPT09dHlwZW9mIGUucmVuZGVyP2EoIjE4OCIpOmEoIjI2OCIsT2JqZWN0LmtleXMoZSkpKSxlPW51bGw9PT0oZT1ucih0KSk/bnVsbDplLnN0YXRlTm9kZX0saHlkcmF0ZTpmdW5jdGlvbihlLHQscil7cmV0dXJuIHFzKHQpfHxhKCIyMDAiKSxLcyhudWxsLGUsdCwhMCxyKX0scmVuZGVyOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gcXModCl8fGEoIjIwMCIpLEtzKG51bGwsZSx0LCExLHIpfSx1bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcjpmdW5jdGlvbihlLHQscixuKXtyZXR1cm4gcXMocil8fGEoIjIwMCIpLChudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFsRmliZXIpJiZhKCIzOCIpLEtzKGUsdCxyLCExLG4pfSx1bm1vdW50Q29tcG9uZW50QXROb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBxcyhlKXx8YSgiNDAiKSwhIWUuX3JlYWN0Um9vdENvbnRhaW5lciYmKEJzKGZ1bmN0aW9uKCl7S3MobnVsbCxudWxsLGUsITEsZnVuY3Rpb24oKXtlLl9yZWFjdFJvb3RDb250YWluZXI9bnVsbH0pfSksITApfSx1bnN0YWJsZV9jcmVhdGVQb3J0YWw6ZnVuY3Rpb24oKXtyZXR1cm4genMuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9LHVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzOlJzLHVuc3RhYmxlX2ludGVyYWN0aXZlVXBkYXRlczpNcyxmbHVzaFN5bmM6ZnVuY3Rpb24oZSx0KXtpcyYmYSgiMTg3Iik7dmFyIHI9ZnM7ZnM9ITA7dHJ5e3JldHVybiBKYShlLHQpfWZpbmFsbHl7ZnM9cixJcygxMDczNzQxODIzLCExKX19LHVuc3RhYmxlX2NyZWF0ZVJvb3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcXMoZSl8fGEoIjI5OSIsInVuc3RhYmxlX2NyZWF0ZVJvb3QiKSxuZXcgVnMoZSwhMCxudWxsIT10JiYhMD09PXQuaHlkcmF0ZSl9LHVuc3RhYmxlX2ZsdXNoQ29udHJvbGxlZDpmdW5jdGlvbihlKXt2YXIgdD1mcztmcz0hMDt0cnl7SmEoZSl9ZmluYWxseXsoZnM9dCl8fGlzfHxJcygxMDczNzQxODIzLCExKX19LF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOntFdmVudHM6W0wsRCxqLGsuaW5qZWN0RXZlbnRQbHVnaW5zQnlOYW1lLG0seixmdW5jdGlvbihlKXtDKGUsSyl9LE9lLE5lLHhyLE5dfX07IWZ1bmN0aW9uKGUpe3ZhciB0PWUuZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U7KGZ1bmN0aW9uKGUpe2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXylyZXR1cm4hMTt2YXIgdD1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYodC5pc0Rpc2FibGVkfHwhdC5zdXBwb3J0c0ZpYmVyKXJldHVybiEwO3RyeXt2YXIgcj10LmluamVjdChlKTtWbj1LbihmdW5jdGlvbihlKXtyZXR1cm4gdC5vbkNvbW1pdEZpYmVyUm9vdChyLGUpfSkscW49S24oZnVuY3Rpb24oZSl7cmV0dXJuIHQub25Db21taXRGaWJlclVubW91bnQocixlKX0pfWNhdGNoKG4pe319KShpKHt9LGUse292ZXJyaWRlUHJvcHM6bnVsbCxjdXJyZW50RGlzcGF0Y2hlclJlZjp6ZS5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9bnIoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOmZ1bmN0aW9uKGUpe3JldHVybiB0P3QoZSk6bnVsbH19KSl9KHtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTpNLGJ1bmRsZVR5cGU6MCx2ZXJzaW9uOiIxNi44LjYiLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSJ9KTt2YXIgSHM9e2RlZmF1bHQ6R3N9LFdzPUhzJiZHc3x8SHM7ZS5leHBvcnRzPVdzLmRlZmF1bHR8fFdzfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDU0MCl9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmk="
}
Changelog:
{
"2020.03.29 15:17": "base64:ZS5lYXJsaWVzdFN1c3BlbmRlZFRpbWU9MCxlLmxhdGVzdFN1c3BlbmRlZFRpbWU9MCxlLmxhdGVzdFBpbmdlZFRpbWU9MCxKbihlLHQpKTp0PnImJkpuKGUsdCl9cmkoMCxlKX0oZSxpPm4/aTpuKSxBYS5jdXJyZW50PW51bGwsbj12b2lkIDAsMTx0LmVmZmVjdFRhZz9udWxsIT09dC5sYXN0RWZmZWN0Pyh0Lmxhc3RFZmZlY3QubmV4dEVmZmVjdD10LG49dC5maXJzdEVmZmVjdCk6bj10Om49dC5maXJzdEVmZmVjdCx5bj13cixnbj1mdW5jdGlvbigpe3ZhciBlPU1yKCk7aWYoTHIoZSkpe2lmKCJzZWxlY3Rpb25TdGFydCJpbiBlKXZhciB0PXtzdGFydDplLnNlbGVjdGlvblN0YXJ0LGVuZDplLnNlbGVjdGlvbkVuZH07ZWxzZSBlOnt2YXIgcj0odD0odD1lLm93bmVyRG9jdW1lbnQpJiZ0LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbiYmdC5nZXRTZWxlY3Rpb24oKTtpZihyJiYwIT09ci5yYW5nZUNvdW50KXt0PXIuYW5jaG9yTm9kZTt2YXIgbj1yLmFuY2hvck9mZnNldCxpPXIuZm9jdXNOb2RlO3I9ci5mb2N1c09mZnNldDt0cnl7dC5ub2RlVHlwZSxpLm5vZGVUeXBlfWNhdGNoKHApe3Q9bnVsbDticmVhayBlfXZhciBvPTAsYT0tMSxzPS0xLHU9MCxjPTAsZj1lLGw9bnVsbDt0OmZvcig7Oyl7Zm9yKHZhciBoO2YhPT10fHwwIT09biYmMyE9PWYubm9kZVR5cGV8fChhPW8rbiksZiE9PWl8fDAhPT1yJiYzIT09Zi5ub2RlVHlwZXx8KHM9bytyKSwzPT09Zi5ub2RlVHlwZSYmKG8rPWYubm9kZVZhbHVlLmxlbmd0aCksbnVsbCE9PShoPWYuZmlyc3RDaGlsZCk7KWw9ZixmPWg7Zm9yKDs7KXtpZihmPT09ZSlicmVhayB0O2lmKGw9PT10JiYrK3U9PT1uJiYoYT1vKSxsPT09aSYmKytjPT09ciYmKHM9byksbnVsbCE9PShoPWYubmV4dFNpYmxpbmcpKWJyZWFrO2w9KGY9bCkucGFyZW50Tm9kZX1mPWh9dD0tMT09PWF8fC0xPT09cz9udWxsOntzdGFydDphLGVuZDpzfX1lbHNlIHQ9bnVsbH10PXR8fHtzdGFydDowLGVuZDowfX1lbHNlIHQ9bnVsbDtyZXR1cm57Zm9jdXNlZEVsZW06ZSxzZWxlY3Rpb25SYW5nZTp0fX0oKSx3cj0hMSxSYT1uO251bGwhPT1SYTspe2k9ITE7dmFyIHM9dm9pZCAwO3RyeXtWYSgpfWNhdGNoKGMpe2k9ITAscz1jfWkmJihudWxsPT09UmEmJmEoIjE3OCIpLFlhKFJhLHMpLG51bGwhPT1SYSYmKFJhPVJhLm5leHRFZmZlY3QpKX1mb3IoUmE9bjtudWxsIT09UmE7KXtpPSExLHM9dm9pZCAwO3RyeXtGYSgpfWNhdGNoKGMpe2k9ITAscz1jfWkmJihudWxsPT09UmEmJmEoIjE3OCIpLFlhKFJhLHMpLG51bGwhPT1SYSYmKFJhPVJhLm5leHRFZmZlY3QpKX1mb3IoRHIoZ24pLGduPW51bGwsd3I9ISF5bix5bj1udWxsLGUuY3VycmVudD10LFJhPW47bnVsbCE9PVJhOyl7aT0hMSxzPXZvaWQgMDt0cnl7cWEoZSxyKX1jYXRjaChjKXtpPSEwLHM9Y31pJiYobnVsbD09PVJhJiZhKCIxNzgiKSxZYShSYSxzKSxudWxsIT09UmEmJihSYT1SYS5uZXh0RWZmZWN0KSl9aWYobnVsbCE9PW4mJm51bGwhPT1NYSl7dmFyIHU9ZnVuY3Rpb24oZSx0KXtEYT1MYT1NYT1udWxsO3ZhciByPWlzO2lzPSEwO2Rve2lmKDUxMiZ0LmVmZmVjdFRhZyl7dmFyIG49ITEsaT12b2lkIDA7dHJ5e3ZhciBvPXQ7ZGEoUmksQ2ksbyksZGEoQ2ksUGksbyl9Y2F0Y2godSl7bj0hMCxpPXV9biYmWWEodCxpKX10PXQubmV4dEVmZmVjdH13aGlsZShudWxsIT09dCk7aXM9ciwwIT09KHI9ZS5leHBpcmF0aW9uVGltZSkmJndzKGUsciksZnN8fGlzfHxJcygxMDczNzQxODIzLCExKX0uYmluZChudWxsLGUsbik7TGE9by51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkoby51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxmdW5jdGlvbigpe3JldHVybiBTbih1KX0pLERhPXV9eGE9QmE9ITEsImZ1bmN0aW9uIj09PXR5cGVvZiBWbiYmVm4odC5zdGF0ZU5vZGUpLHI9dC5leHBpcmF0aW9uVGltZSwwPT09KHQ9KHQ9dC5jaGlsZEV4cGlyYXRpb25UaW1lKT5yP3Q6cikmJihqYT1udWxsKSxmdW5jdGlvbihlLHQpe2UuZXhwaXJhdGlvblRpbWU9dCxlLmZpbmlzaGVkV29yaz1udWxsfShlLHQpfWZ1bmN0aW9uIEdhKGUpe2Zvcig7Oyl7dmFyIHQ9ZS5hbHRlcm5hdGUscj1lLnJldHVybixuPWUuc2libGluZztpZigwPT09KDEwMjQmZS5lZmZlY3RUYWcpKXtJYT1lO2U6e3ZhciBvPXQscz1PYSx1PSh0PWUpLnBlbmRpbmdQcm9wcztzd2l0Y2godC50YWcpe2Nhc2UgMjpjYXNlIDE2OmJyZWFrO2Nhc2UgMTU6Y2FzZSAwOmJyZWFrO2Nhc2UgMTpCbih0LnR5cGUpJiZNbigpO2JyZWFrO2Nhc2UgMzp3aSgpLExuKCksKHU9dC5zdGF0ZU5vZGUpLnBlbmRpbmdDb250ZXh0JiYodS5jb250ZXh0PXUucGVuZGluZ0NvbnRleHQsdS5wZW5kaW5nQ29udGV4dD1udWxsKSxudWxsIT09byYmbnVsbCE9PW8uY2hpbGR8fChibyh0KSx0LmVmZmVjdFRhZyY9LTMpLHVhKHQpO2JyZWFrO2Nhc2UgNTpBaSh0KTt2YXIgYz1TaShfaS5jdXJyZW50KTtpZihzPXQudHlwZSxudWxsIT09byYmbnVsbCE9dC5zdGF0ZU5vZGUpY2Eobyx0LHMsdSxjKSxvLnJlZiE9PXQucmVmJiYodC5lZmZlY3RUYWd8PTEyOCk7ZWxzZSBpZih1KXt2YXIgZj1TaShtaS5jdXJyZW50KTtpZihibyh0KSl7bz0odT10KS5zdGF0ZU5vZGU7dmFyIGw9dS50eXBlLGg9dS5tZW1vaXplZFByb3BzLHA9Yztzd2l0Y2gob1tSXT11LG9bQl09aCxzPXZvaWQgMCxjPWwpe2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6VHIoImxvYWQiLG8pO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDx0ZS5sZW5ndGg7bCsrKVRyKHRlW2xdLG8pO2JyZWFrO2Nhc2Uic291cmNlIjpUcigiZXJyb3IiLG8pO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlRyKCJlcnJvciIsbyksVHIoImxvYWQiLG8pO2JyZWFrO2Nhc2UiZm9ybSI6VHIoInJlc2V0IixvKSxUcigic3VibWl0IixvKTticmVhaztjYXNlImRldGFpbHMiOlRyKCJ0b2dnbGUiLG8pO2JyZWFrO2Nhc2UiaW5wdXQiOl90KG8saCksVHIoImludmFsaWQiLG8pLHBuKHAsIm9uQ2hhbmdlIik7YnJlYWs7Y2FzZSJzZWxlY3QiOm8uX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFoLm11bHRpcGxlfSxUcigiaW52YWxpZCIsbykscG4ocCwib25DaGFuZ2UiKTticmVhaztjYXNlInRleHRhcmVhIjpYcihvLGgpLFRyKCJpbnZhbGlkIixvKSxwbihwLCJvbkNoYW5nZSIpfWZvcihzIGluIGxuKGMsaCksbD1udWxsLGgpaC5oYXNPd25Qcm9wZXJ0eShzKSYmKGY9aFtzXSwiY2hpbGRyZW4iPT09cz8ic3RyaW5nIj09PXR5cGVvZiBmP28udGV4dENvbnRlbnQhPT1mJiYobD1bImNoaWxkcmVuIixmXSk6Im51bWJlciI9PT10eXBlb2YgZiYmby50ZXh0Q29udGVudCE9PSIiK2YmJihsPVsiY2hpbGRyZW4iLCIiK2ZdKTpiLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1mJiZwbihwLHMpKTtzd2l0Y2goYyl7Y2FzZSJpbnB1dCI6cWUobyksd3QobyxoLCEwKTticmVhaztjYXNlInRleHRhcmVhIjpxZShvKSwkcihvKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09PXR5cGVvZiBoLm9uQ2xpY2smJihvLm9uY2xpY2s9ZG4pfXM9bCx1LnVwZGF0ZVF1ZXVlPXMsKHU9bnVsbCE9PXMpJiZhYSh0KX1lbHNle2g9dCxwPXMsbz11LGw9OT09PWMubm9kZVR5cGU/YzpjLm93bmVyRG9jdW1lbnQsZj09PVpyLmh0bWwmJihmPUpyKHApKSxmPT09WnIuaHRtbD8ic2NyaXB0Ij09PXA/KChvPWwuY3JlYXRlRWxlbWVudCgiZGl2IikpLmlubmVySFRNTD0iPHNjcmlwdD48XC9zY3JpcHQ+IixsPW8ucmVtb3ZlQ2hpbGQoby5maXJzdENoaWxkKSk6InN0cmluZyI9PT10eXBlb2Ygby5pcz9sPWwuY3JlYXRlRWxlbWVudChwLHtpczpvLmlzfSk6KGw9bC5jcmVhdGVFbGVtZW50KHApLCJzZWxlY3QiPT09cCYmKHA9bCxvLm11bHRpcGxlP3AubXVsdGlwbGU9ITA6by5zaXplJiYocC5zaXplPW8uc2l6ZSkpKTpsPWwuY3JlYXRlRWxlbWVudE5TKGYscCksKG89bClbUl09aCxvW0JdPXUsc2Eobyx0LCExLCExKSxwPW87dmFyIGQ9Yyx5PWhuKGw9cyxoPXUpO3N3aXRjaChsKXtjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOlRyKCJsb2FkIixwKSxjPWg7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGM9MDtjPHRlLmxlbmd0aDtjKyspVHIodGVbY10scCk7Yz1oO2JyZWFrO2Nhc2Uic291cmNlIjpUcigiZXJyb3IiLHApLGM9aDticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpUcigiZXJyb3IiLHApLFRyKCJsb2FkIixwKSxjPWg7YnJlYWs7Y2FzZSJmb3JtIjpUcigicmVzZXQiLHApLFRyKCJzdWJtaXQiLHApLGM9aDticmVhaztjYXNlImRldGFpbHMiOlRyKCJ0b2dnbGUiLHApLGM9aDticmVhaztjYXNlImlucHV0IjpfdChwLGgpLGM9YnQocCxoKSxUcigiaW52YWxpZCIscCkscG4oZCwib25DaGFuZ2UiKTticmVhaztjYXNlIm9wdGlvbiI6Yz1IcihwLGgpO2JyZWFrO2Nhc2Uic2VsZWN0IjpwLl93cmFwcGVyU3RhdGU9e3dhc011bHRpcGxlOiEhaC5tdWx0aXBsZX0sYz1pKHt9LGgse3ZhbHVlOnZvaWQgMH0pLFRyKCJpbnZhbGlkIixwKSxwbihkLCJvbkNoYW5nZSIpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOlhyKHAsaCksYz1ZcihwLGgpLFRyKCJpbnZhbGlkIixwKSxwbihkLCJvbkNoYW5nZSIpO2JyZWFrO2RlZmF1bHQ6Yz1ofWxuKGwsYyksZj12b2lkIDA7dmFyIGc9bCx2PXAsbT1jO2ZvcihmIGluIG0paWYobS5oYXNPd25Qcm9wZXJ0eShmKSl7dmFyIF89bVtmXTsic3R5bGUiPT09Zj9jbih2LF8pOiJkYW5nZXJvdXNseVNldElubmVySFRNTCI9PT1mP251bGwhPShfPV8/Xy5fX2h0bWw6dm9pZCAwKSYmbm4odixfKToiY2hpbGRyZW4iPT09Zj8ic3RyaW5nIj09PXR5cGVvZiBfPygidGV4dGFyZWEiIT09Z3x8IiIhPT1fKSYmb24odixfKToibnVtYmVyIj09PXR5cGVvZiBfJiZvbih2LCIiK18pOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09ZiYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT1mJiYiYXV0b0ZvY3VzIiE9PWYmJihiLmhhc093blByb3BlcnR5KGYpP251bGwhPV8mJnBuKGQsZik6bnVsbCE9XyYmdnQodixmLF8seSkpfXN3aXRjaChsKXtjYXNlImlucHV0IjpxZShwKSx3dChwLGgsITEpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOnFlKHApLCRyKHApO2JyZWFrO2Nhc2Uib3B0aW9uIjpudWxsIT1oLnZhbHVlJiZwLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiK210KGgudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6KGM9cCkubXVsdGlwbGU9ISFoLm11bHRpcGxlLG51bGwhPShwPWgudmFsdWUpP1dyKGMsISFoLm11bHRpcGxlLHAsITEpOm51bGwhPWguZGVmYXVsdFZhbHVlJiZXcihjLCEhaC5tdWx0aXBsZSxoLmRlZmF1bHRWYWx1ZSwhMCk7YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iPT09dHlwZW9mIGMub25DbGljayYmKHAub25jbGljaz1kbil9KHU9dm4ocyx1KSkmJmFhKHQpLHQuc3RhdGVOb2RlPW99bnVsbCE9PXQucmVmJiYodC5lZmZlY3RUYWd8PTEyOCl9ZWxzZSBudWxsPT09dC5zdGF0ZU5vZGUmJmEoIjE2NiIpO2JyZWFrO2Nhc2UgNjpvJiZudWxsIT10LnN0YXRlTm9kZT9mYShvLHQsby5tZW1vaXplZFByb3BzLHUpOigic3RyaW5nIiE9PXR5cGVvZiB1JiYobnVsbD09PXQuc3RhdGVOb2RlJiZhKCIxNjYiKSksbz1TaShfaS5jdXJyZW50KSxTaShtaS5jdXJyZW50KSxibyh0KT8ocz0odT10KS5zdGF0ZU5vZGUsbz11Lm1lbW9pemVkUHJvcHMsc1tSXT11LCh1PXMubm9kZVZhbHVlIT09bykmJmFhKHQpKToocz10LCh1PSg5PT09by5ub2RlVHlwZT9vOm8ub3duZXJEb2N1bWVudCkuY3JlYXRlVGV4dE5vZGUodSkpW1JdPXQscy5zdGF0ZU5vZGU9dSkpO2JyZWFrO2Nhc2UgMTE6YnJlYWs7Y2FzZSAxMzppZih1PXQubWVtb2l6ZWRTdGF0ZSwwIT09KDY0JnQuZWZmZWN0VGFnKSl7dC5leHBpcmF0aW9uVGltZT1zLElhPXQ7YnJlYWsgZX11PW51bGwhPT11LHM9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGUsbnVsbCE9PW8mJiF1JiZzJiYobnVsbCE9PShvPW8uY2hpbGQuc2libGluZykmJihudWxsIT09KGM9dC5maXJzdEVmZmVjdCk/KHQuZmlyc3RFZmZlY3Q9byxvLm5leHRFZmZlY3Q9Yyk6KHQuZmlyc3RFZmZlY3Q9dC5sYXN0RWZmZWN0PW8sby5uZXh0RWZmZWN0PW51bGwpLG8uZWZmZWN0VGFnPTgpKSwodXx8cykmJih0LmVmZmVjdFRhZ3w9NCk7YnJlYWs7Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmJyZWFrO2Nhc2UgNDp3aSgpLHVhKHQpO2JyZWFrO2Nhc2UgMTA6Rm8odCk7YnJlYWs7Y2FzZSA5OmNhc2UgMTQ6YnJlYWs7Y2FzZSAxNzpCbih0LnR5cGUpJiZNbigpO2JyZWFrO2Nhc2UgMTg6YnJlYWs7ZGVmYXVsdDphKCIxNTYiKX1JYT1udWxsfWlmKHQ9ZSwxPT09T2F8fDEhPT10LmNoaWxkRXhwaXJhdGlvblRpbWUpe2Zvcih1PTAscz10LmNoaWxkO251bGwhPT1zOykobz1zLmV4cGlyYXRpb25UaW1lKT51JiYodT1vKSwoYz1zLmNoaWxkRXhwaXJhdGlvblRpbWUpPnUmJih1PWMpLHM9cy5zaWJsaW5nO3QuY2hpbGRFeHBpcmF0aW9uVGltZT11fWlmKG51bGwhPT1JYSlyZXR1cm4gSWE7bnVsbCE9PXImJjA9PT0oMTAyNCZyLmVmZmVjdFRhZykmJihudWxsPT09ci5maXJzdEVmZmVjdCYmKHIuZmlyc3RFZmZlY3Q9ZS5maXJzdEVmZmVjdCksbnVsbCE9PWUubGFzdEVmZmVjdCYmKG51bGwhPT1yLmxhc3RFZmZlY3QmJihyLmxhc3RFZmZlY3QubmV4dEVmZmVjdD1lLmZpcnN0RWZmZWN0KSxyLmxhc3RFZmZlY3Q9ZS5sYXN0RWZmZWN0KSwxPGUuZWZmZWN0VGFnJiYobnVsbCE9PXIubGFzdEVmZmVjdD9yLmxhc3RFZmZlY3QubmV4dEVmZmVjdD1lOnIuZmlyc3RFZmZlY3Q9ZSxyLmxhc3RFZmZlY3Q9ZSkpfWVsc2V7aWYobnVsbCE9PShlPXdhKGUpKSlyZXR1cm4gZS5lZmZlY3RUYWcmPTEwMjMsZTtudWxsIT09ciYmKHIuZmlyc3RFZmZlY3Q9ci5sYXN0RWZmZWN0PW51bGwsci5lZmZlY3RUYWd8PTEwMjQpfWlmKG51bGwhPT1uKXJldHVybiBuO2lmKG51bGw9PT1yKWJyZWFrO2U9cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIYShlKXt2YXIgdD1CbyhlLmFsdGVybmF0ZSxlLE9hKTtyZXR1cm4gZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT10JiYodD1HYShlKSksQWEuY3VycmVudD1udWxsLHR9ZnVuY3Rpb24gV2EoZSx0KXt4YSYmYSgiMjQzIiksS2EoKSx4YT0hMDt2YXIgcj1UYS5jdXJyZW50O1RhLmN1cnJlbnQ9dW87dmFyIG49ZS5uZXh0RXhwaXJhdGlvblRpbWVUb1dvcmtPbjtuPT09T2EmJmU9PT1rYSYmbnVsbCE9PUlhfHwoVWEoKSxPYT1uLElhPVduKChrYT1lKS5jdXJyZW50LG51bGwpLGUucGVuZGluZ0NvbW1pdEV4cGlyYXRpb25UaW1lPTApO2Zvcih2YXIgaT0hMTs7KXt0cnl7aWYodClmb3IoO251bGwhPT1JYSYmIUNzKCk7KUlhPUhhKElhKTtlbHNlIGZvcig7bnVsbCE9PUlhOylJYT1IYShJYSl9Y2F0Y2godil7aWYoam89RG89TG89bnVsbCwkaSgpLG51bGw9PT1JYSlpPSEwLFBzKHYpO2Vsc2V7bnVsbD09PUlhJiZhKCIyNzEiKTt2YXIgbz1JYSxzPW8ucmV0dXJuO2lmKG51bGwhPT1zKXtlOnt2YXIgdT1lLGM9cyxmPW8sbD12O2lmKHM9T2EsZi5lZmZlY3RUYWd8PTEwMjQsZi5maXJzdEVmZmVjdD1mLmxhc3RFZmZlY3Q9bnVsbCxudWxsIT09bCYmIm9iamVjdCI9PT10eXBlb2YgbCYmImZ1bmN0aW9uIj09PXR5cGVvZiBsLnRoZW4pe3ZhciBoPWw7bD1jO3ZhciBwPS0xLGQ9LTE7ZG97aWYoMTM9PT1sLnRhZyl7dmFyIHk9bC5hbHRlcm5hdGU7aWYobnVsbCE9PXkmJm51bGwhPT0oeT15Lm1lbW9pemVkU3RhdGUpKXtkPTEwKigxMDczNzQxODIyLXkudGltZWRPdXRBdCk7YnJlYWt9Im51bWJlciI9PT10eXBlb2YoeT1sLnBlbmRpbmdQcm9wcy5tYXhEdXJhdGlvbikmJigwPj15P3A9MDooLTE9PT1wfHx5PHApJiYocD15KSl9bD1sLnJldHVybn13aGlsZShudWxsIT09bCk7bD1jO2Rve2lmKCh5PTEzPT09bC50YWcpJiYoeT12b2lkIDAhPT1sLm1lbW9pemVkUHJvcHMuZmFsbGJhY2smJm51bGw9PT1sLm1lbW9pemVkU3RhdGUpLHkpe2lmKG51bGw9PT0oYz1sLnVwZGF0ZVF1ZXVlKT8oKGM9bmV3IFNldCkuYWRkKGgpLGwudXBkYXRlUXVldWU9Yyk6Yy5hZGQoaCksMD09PSgxJmwubW9kZSkpe2wuZWZmZWN0VGFnfD02NCxmLmVmZmVjdFRhZyY9LTE5NTcsMT09PWYudGFnJiYobnVsbD09PWYuYWx0ZXJuYXRlP2YudGFnPTE3Oigocz1RbygxMDczNzQxODIzKSkudGFnPUdvLFpvKGYscykpKSxmLmV4cGlyYXRpb25UaW1lPTEwNzM3NDE4MjM7YnJlYWsgZX1jPXM7dmFyIGc9KGY9dSkucGluZ0NhY2hlO251bGw9PT1nPyhnPWYucGluZ0NhY2hlPW5ldyBfYSx5PW5ldyBTZXQsZy5zZXQoaCx5KSk6dm9pZCAwPT09KHk9Zy5nZXQoaCkpJiYoeT1uZXcgU2V0LGcuc2V0KGgseSkpLHkuaGFzKGMpfHwoeS5hZGQoYyksZj1RYS5iaW5kKG51bGwsZixoLGMpLGgudGhlbihmLGYpKSwtMT09PXA/dT0xMDczNzQxODIzOigtMT09PWQmJihkPTEwKigxMDczNzQxODIyLXRpKHUscykpLTVlMyksdT1kK3ApLDA8PXUmJk5hPHUmJihOYT11KSxsLmVmZmVjdFRhZ3w9MjA0OCxsLmV4cGlyYXRpb25UaW1lPXM7YnJlYWsgZX1sPWwucmV0dXJufXdoaWxlKG51bGwhPT1sKTtsPUVycm9yKChzdChmLnR5cGUpfHwiQSBSZWFjdCBjb21wb25lbnQiKSsiIHN1c3BlbmRlZCB3aGlsZSByZW5kZXJpbmcsIGJ1dCBubyBmYWxsYmFjayBVSSB3YXMgc3BlY2lmaWVkLlxuXG5BZGQgYSA8U3VzcGVuc2UgZmFsbGJhY2s9Li4uPiBjb21wb25lbnQgaGlnaGVyIGluIHRoZSB0cmVlIHRvIHByb3ZpZGUgYSBsb2FkaW5nIGluZGljYXRvciBvciBwbGFjZWhvbGRlciB0byBkaXNwbGF5LiIrdXQoZikpfVBhPSEwLGw9b2EobCxmKSx1PWM7ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5lZmZlY3RUYWd8PTIwNDgsdS5leHBpcmF0aW9uVGltZT1zLEpvKHUscz1TYSh1LGwscykpO2JyZWFrIGU7Y2FzZSAxOmlmKHA9bCxkPXUudHlwZSxmPXUuc3RhdGVOb2RlLDA9PT0oNjQmdS5lZmZlY3RUYWcpJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBkLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8bnVsbCE9PWYmJiJmdW5jdGlvbiI9PT10eXBlb2YgZi5jb21wb25lbnREaWRDYXRjaCYmKG51bGw9PT1qYXx8IWphLmhhcyhmKSkpKXt1LmVmZmVjdFRhZ3w9MjA0OCx1LmV4cGlyYXRpb25UaW1lPXMsSm8odSxzPUVhKHUscCxzKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9SWE9R2Eobyk7Y29udGludWV9aT0hMCxQcyh2KX19YnJlYWt9aWYoeGE9ITEsVGEuY3VycmVudD1yLGpvPURvPUxvPW51bGwsJGkoKSxpKWthPW51bGwsZS5maW5pc2hlZFdvcms9bnVsbDtlbHNlIGlmKG51bGwhPT1JYSllLmZpbmlzaGVkV29yaz1udWxsO2Vsc2V7aWYobnVsbD09PShyPWUuY3VycmVudC5hbHRlcm5hdGUpJiZhKCIyODEiKSxrYT1udWxsLFBhKXtpZihpPWUubGF0ZXN0UGVuZGluZ1RpbWUsbz1lLmxhdGVzdFN1c3BlbmRlZFRpbWUscz1lLmxhdGVzdFBpbmdlZFRpbWUsMCE9PWkmJmk8bnx8MCE9PW8mJm88bnx8MCE9PXMmJnM8bilyZXR1cm4gZWkoZSxuKSx2b2lkIFNzKGUscixuLGUuZXhwaXJhdGlvblRpbWUsLTEpO2lmKCFlLmRpZEVycm9yJiZ0KXJldHVybiBlLmRpZEVycm9yPSEwLG49ZS5uZXh0RXhwaXJhdGlvblRpbWVUb1dvcmtPbj1uLHQ9ZS5leHBpcmF0aW9uVGltZT0xMDczNzQxODIzLHZvaWQgU3MoZSxyLG4sdCwtMSl9dCYmLTEhPT1OYT8oZWkoZSxuKSwodD0xMCooMTA3Mzc0MTgyMi10aShlLG4pKSk8TmEmJihOYT10KSx0PTEwKigxMDczNzQxODIyLUVzKCkpLHQ9TmEtdCxTcyhlLHIsbixlLmV4cGlyYXRpb25UaW1lLDA+dD8wOnQpKTooZS5wZW5kaW5nQ29tbWl0RXhwaXJhdGlvblRpbWU9bixlLmZpbmlzaGVkV29yaz1yKX19ZnVuY3Rpb24gWWEoZSx0KXtmb3IodmFyIHI9ZS5yZXR1cm47bnVsbCE9PXI7KXtzd2l0Y2goci50YWcpe2Nhc2UgMTp2YXIgbj1yLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIHIudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3J8fCJmdW5jdGlvbiI9PT10eXBlb2Ygbi5jb21wb25lbnREaWRDYXRjaCYmKG51bGw9PT1qYXx8IWphLmhhcyhuKSkpcmV0dXJuIFpvKHIsZT1FYShyLGU9b2EodCxlKSwxMDczNzQxODIzKSksdm9pZCBaYShyLDEwNzM3NDE4MjMpO2JyZWFrO2Nhc2UgMzpyZXR1cm4gWm8ocixlPVNhKHIsZT1vYSh0LGUpLDEwNzM3NDE4MjMpKSx2b2lkIFphKHIsMTA3Mzc0MTgyMyl9cj1yLnJldHVybn0zPT09ZS50YWcmJihabyhlLHI9U2EoZSxyPW9hKHQsZSksMTA3Mzc0MTgyMykpLFphKGUsMTA3Mzc0MTgyMykpfWZ1bmN0aW9uIFhhKGUsdCl7dmFyIHI9by51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpLG49dm9pZCAwO2lmKDA9PT0oMSZ0Lm1vZGUpKW49MTA3Mzc0MTgyMztlbHNlIGlmKHhhJiYhQmEpbj1PYTtlbHNle3N3aXRjaChyKXtjYXNlIG8udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk6bj0xMDczNzQxODIzO2JyZWFrO2Nhc2Ugby51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eTpuPTEwNzM3NDE4MjItMTAqKDErKCgxMDczNzQxODIyLWUrMTUpLzEwfDApKTticmVhaztjYXNlIG8udW5zdGFibGVfTm9ybWFsUHJpb3JpdHk6bj0xMDczNzQxODIyLTI1KigxKygoMTA3Mzc0MTgyMi1lKzUwMCkvMjV8MCkpO2JyZWFrO2Nhc2Ugby51bnN0YWJsZV9Mb3dQcmlvcml0eTpjYXNlIG8udW5zdGFibGVfSWRsZVByaW9yaXR5Om49MTticmVhaztkZWZhdWx0OmEoIjMxMyIpfW51bGwhPT1rYSYmbj09PU9hJiYtLW59cmV0dXJuIHI9PT1vLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5JiYoMD09PXNzfHxuPHNzKSYmKHNzPW4pLG59ZnVuY3Rpb24gUWEoZSx0LHIpe3ZhciBuPWUucGluZ0NhY2hlO251bGwhPT1uJiZuLmRlbGV0ZSh0KSxudWxsIT09a2EmJk9hPT09cj9rYT1udWxsOih0PWUuZWFybGllc3RTdXNwZW5kZWRUaW1lLG49ZS5sYXRlc3RTdXNwZW5kZWRUaW1lLDAhPT10JiZyPD10JiZyPj1uJiYoZS5kaWRFcnJvcj0hMSwoMD09PSh0PWUubGF0ZXN0UGluZ2VkVGltZSl8fHQ+cikmJihlLmxhdGVzdFBpbmdlZFRpbWU9cikscmkocixlKSwwIT09KHI9ZS5leHBpcmF0aW9uVGltZSkmJndzKGUscikpKX1mdW5jdGlvbiAkYShlLHQpe2UuZXhwaXJhdGlvblRpbWU8dCYmKGUuZXhwaXJhdGlvblRpbWU9dCk7dmFyIHI9ZS5hbHRlcm5hdGU7bnVsbCE9PXImJnIuZXhwaXJhdGlvblRpbWU8dCYmKHIuZXhwaXJhdGlvblRpbWU9dCk7dmFyIG49ZS5yZXR1cm4saT1udWxsO2lmKG51bGw9PT1uJiYzPT09ZS50YWcpaT1lLnN0YXRlTm9kZTtlbHNlIGZvcig7bnVsbCE9PW47KXtpZihyPW4uYWx0ZXJuYXRlLG4uY2hpbGRFeHBpcmF0aW9uVGltZTx0JiYobi5jaGlsZEV4cGlyYXRpb25UaW1lPXQpLG51bGwhPT1yJiZyLmNoaWxkRXhwaXJhdGlvblRpbWU8dCYmKHIuY2hpbGRFeHBpcmF0aW9uVGltZT10KSxudWxsPT09bi5yZXR1cm4mJjM9PT1uLnRhZyl7aT1uLnN0YXRlTm9kZTticmVha31uPW4ucmV0dXJufXJldHVybiBpfWZ1bmN0aW9uIFphKGUsdCl7bnVsbCE9PShlPSRhKGUsdCkpJiYoIXhhJiYwIT09T2EmJnQ+T2EmJlVhKCksSm4oZSx0KSx4YSYmIUJhJiZrYT09PWV8fHdzKGUsZS5leHBpcmF0aW9uVGltZSksdnM+Z3MmJih2cz0wLGEoIjE4NSIpKSl9ZnVuY3Rpb24gSmEoZSx0LHIsbixpKXtyZXR1cm4gby51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkoby51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxmdW5jdGlvbigpe3JldHVybiBlKHQscixuLGkpfSl9dmFyIGVzPW51bGwsdHM9bnVsbCxycz0wLG5zPXZvaWQgMCxpcz0hMSxvcz1udWxsLGFzPTAsc3M9MCx1cz0hMSxjcz1udWxsLGZzPSExLGxzPSExLGhzPW51bGwscHM9by51bnN0YWJsZV9ub3coKSxkcz0xMDczNzQxODIyLShwcy8xMHwwKSx5cz1kcyxncz01MCx2cz0wLG1zPW51bGw7ZnVuY3Rpb24gYnMoKXtkcz0xMDczNzQxODIyLSgoby51bnN0YWJsZV9ub3coKS1wcykvMTB8MCl9ZnVuY3Rpb24gX3MoZSx0KXtpZigwIT09cnMpe2lmKHQ8cnMpcmV0dXJuO251bGwhPT1ucyYmby51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayhucyl9cnM9dCxlPW8udW5zdGFibGVfbm93KCktcHMsbnM9by51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKHhzLHt0aW1lb3V0OjEwKigxMDczNzQxODIyLXQpLWV9KX1mdW5jdGlvbiBTcyhlLHQscixuLGkpe2UuZXhwaXJhdGlvblRpbWU9biwwIT09aXx8Q3MoKT8wPGkmJihlLnRpbWVvdXRIYW5kbGU9Ym4oZnVuY3Rpb24oZSx0LHIpe2UucGVuZGluZ0NvbW1pdEV4cGlyYXRpb25UaW1lPXIsZS5maW5pc2hlZFdvcms9dCxicygpLHlzPWRzLGtzKGUscil9LmJpbmQobnVsbCxlLHQsciksaSkpOihlLnBlbmRpbmdDb21taXRFeHBpcmF0aW9uVGltZT1yLGUuZmluaXNoZWRXb3JrPXQpfWZ1bmN0aW9uIEVzKCl7cmV0dXJuIGlzP3lzOihUcygpLDAhPT1hcyYmMSE9PWFzfHwoYnMoKSx5cz1kcykseXMpfWZ1bmN0aW9uIHdzKGUsdCl7bnVsbD09PWUubmV4dFNjaGVkdWxlZFJvb3Q/KGUuZXhwaXJhdGlvblRpbWU9dCxudWxsPT09dHM/KGVzPXRzPWUsZS5uZXh0U2NoZWR1bGVkUm9vdD1lKToodHM9dHMubmV4dFNjaGVkdWxlZFJvb3Q9ZSkubmV4dFNjaGVkdWxlZFJvb3Q9ZXMpOnQ+ZS5leHBpcmF0aW9uVGltZSYmKGUuZXhwaXJhdGlvblRpbWU9dCksaXN8fChmcz9scyYmKG9zPWUsYXM9MTA3Mzc0MTgyMyxPcyhlLDEwNzM3NDE4MjMsITEpKToxMDczNzQxODIzPT09dD9JcygxMDczNzQxODIzLCExKTpfcyhlLHQpKX1mdW5jdGlvbiBUcygpe3ZhciBlPTAsdD1udWxsO2lmKG51bGwhPT10cylmb3IodmFyIHI9dHMsbj1lcztudWxsIT09bjspe3ZhciBpPW4uZXhwaXJhdGlvblRpbWU7aWYoMD09PWkpe2lmKChudWxsPT09cnx8bnVsbD09PXRzKSYmYSgiMjQ0Iiksbj09PW4ubmV4dFNjaGVkdWxlZFJvb3Qpe2VzPXRzPW4ubmV4dFNjaGVkdWxlZFJvb3Q9bnVsbDticmVha31pZihuPT09ZXMpZXM9aT1uLm5leHRTY2hlZHVsZWRSb290LHRzLm5leHRTY2hlZHVsZWRSb290PWksbi5uZXh0U2NoZWR1bGVkUm9vdD1udWxsO2Vsc2V7aWYobj09PXRzKXsodHM9cikubmV4dFNjaGVkdWxlZFJvb3Q9ZXMsbi5uZXh0U2NoZWR1bGVkUm9vdD1udWxsO2JyZWFrfXIubmV4dFNjaGVkdWxlZFJvb3Q9bi5uZXh0U2NoZWR1bGVkUm9vdCxuLm5leHRTY2hlZHVsZWRSb290PW51bGx9bj1yLm5leHRTY2hlZHVsZWRSb290fWVsc2V7aWYoaT5lJiYoZT1pLHQ9biksbj09PXRzKWJyZWFrO2lmKDEwNzM3NDE4MjM9PT1lKWJyZWFrO3I9bixuPW4ubmV4dFNjaGVkdWxlZFJvb3R9fW9zPXQsYXM9ZX12YXIgQXM9ITE7ZnVuY3Rpb24gQ3MoKXtyZXR1cm4hIUFzfHwhIW8udW5zdGFibGVfc2hvdWxkWWllbGQoKSYmKEFzPSEwKX1mdW5jdGlvbiB4cygpe3RyeXtpZighQ3MoKSYmbnVsbCE9PWVzKXticygpO3ZhciBlPWVzO2Rve3ZhciB0PWUuZXhwaXJhdGlvblRpbWU7MCE9PXQmJmRzPD10JiYoZS5uZXh0RXhwaXJhdGlvblRpbWVUb1dvcmtPbj1kcyksZT1lLm5leHRTY2hlZHVsZWRSb290fXdoaWxlKGUhPT1lcyl9SXMoMCwhMCl9ZmluYWxseXtBcz0hMX19ZnVuY3Rpb24gSXMoZSx0KXtpZihUcygpLHQpZm9yKGJzKCkseXM9ZHM7bnVsbCE9PW9zJiYwIT09YXMmJmU8PWFzJiYhKEFzJiZkcz5hcyk7KU9zKG9zLGFzLGRzPmFzKSxUcygpLGJzKCkseXM9ZHM7ZWxzZSBmb3IoO251bGwhPT1vcyYmMCE9PWFzJiZlPD1hczspT3Mob3MsYXMsITEpLFRzKCk7aWYodCYmKHJzPTAsbnM9bnVsbCksMCE9PWFzJiZfcyhvcyxhcyksdnM9MCxtcz1udWxsLG51bGwhPT1ocylmb3IoZT1ocyxocz1udWxsLHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XTt0cnl7ci5fb25Db21wbGV0ZSgpfWNhdGNoKG4pe3VzfHwodXM9ITAsY3M9bil9fWlmKHVzKXRocm93IGU9Y3MsY3M9bnVsbCx1cz0hMSxlfWZ1bmN0aW9uIGtzKGUsdCl7aXMmJmEoIjI1MyIpLG9zPWUsYXM9dCxPcyhlLHQsITEpLElzKDEwNzM3NDE4MjMsITEpfWZ1bmN0aW9uIE9zKGUsdCxyKXtpZihpcyYmYSgiMjQ1IiksaXM9ITAscil7dmFyIG49ZS5maW5pc2hlZFdvcms7bnVsbCE9PW4/TnMoZSxuLHQpOihlLmZpbmlzaGVkV29yaz1udWxsLC0xIT09KG49ZS50aW1lb3V0SGFuZGxlKSYmKGUudGltZW91dEhhbmRsZT0tMSxfbihuKSksV2EoZSxyKSxudWxsIT09KG49ZS5maW5pc2hlZFdvcmspJiYoQ3MoKT9lLmZpbmlzaGVkV29yaz1uOk5zKGUsbix0KSkpfWVsc2UgbnVsbCE9PShuPWUuZmluaXNoZWRXb3JrKT9OcyhlLG4sdCk6KGUuZmluaXNoZWRXb3JrPW51bGwsLTEhPT0obj1lLnRpbWVvdXRIYW5kbGUpJiYoZS50aW1lb3V0SGFuZGxlPS0xLF9uKG4pKSxXYShlLHIpLG51bGwhPT0obj1lLmZpbmlzaGVkV29yaykmJk5zKGUsbix0KSk7aXM9ITF9ZnVuY3Rpb24gTnMoZSx0LHIpe3ZhciBuPWUuZmlyc3RCYXRjaDtpZihudWxsIT09biYmbi5fZXhwaXJhdGlvblRpbWU+PXImJihudWxsPT09aHM/aHM9W25dOmhzLnB1c2gobiksbi5fZGVmZXIpKXJldHVybiBlLmZpbmlzaGVkV29yaz10LHZvaWQoZS5leHBpcmF0aW9uVGltZT0wKTtlLmZpbmlzaGVkV29yaz1udWxsLGU9PT1tcz92cysrOihtcz1lLHZzPTApLG8udW5zdGFibGVfcnVuV2l0aFByaW9yaXR5KG8udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZnVuY3Rpb24oKXt6YShlLHQpfSl9ZnVuY3Rpb24gUHMoZSl7bnVsbD09PW9zJiZhKCIyNDYiKSxvcy5leHBpcmF0aW9uVGltZT0wLHVzfHwodXM9ITAsY3M9ZSl9ZnVuY3Rpb24gUnMoZSx0KXt2YXIgcj1mcztmcz0hMDt0cnl7cmV0dXJuIGUodCl9ZmluYWxseXsoZnM9cil8fGlzfHxJcygxMDczNzQxODIzLCExKX19ZnVuY3Rpb24gQnMoZSx0KXtpZihmcyYmIWxzKXtscz0hMDt0cnl7cmV0dXJuIGUodCl9ZmluYWxseXtscz0hMX19cmV0dXJuIGUodCl9ZnVuY3Rpb24gTXMoZSx0LHIpe2ZzfHxpc3x8MD09PXNzfHwoSXMoc3MsITEpLHNzPTApO3ZhciBuPWZzO2ZzPSEwO3RyeXtyZXR1cm4gby51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkoby51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxmdW5jdGlvbigpe3JldHVybiBlKHQscil9KX1maW5hbGx5eyhmcz1uKXx8aXN8fElzKDEwNzM3NDE4MjMsITEpfX1mdW5jdGlvbiBMcyhlLHQscixuLGkpe3ZhciBvPXQuY3VycmVudDtlOmlmKHIpe3Q6ezI9PT10cihyPXIuX3JlYWN0SW50ZXJuYWxGaWJlcikmJjE9PT1yLnRhZ3x8YSgiMTcwIik7dmFyIHM9cjtkb3tzd2l0Y2gocy50YWcpe2Nhc2UgMzpzPXMuc3RhdGVOb2RlLmNvbnRleHQ7YnJlYWsgdDtjYXNlIDE6aWYoQm4ocy50eXBlKSl7cz1zLnN0YXRlTm9kZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dDticmVhayB0fX1zPXMucmV0dXJufXdoaWxlKG51bGwhPT1zKTthKCIxNzEiKSxzPXZvaWQgMH1pZigxPT09ci50YWcpe3ZhciB1PXIudHlwZTtpZihCbih1KSl7cj1qbihyLHUscyk7YnJlYWsgZX19cj1zfWVsc2Ugcj1rbjtyZXR1cm4gbnVsbD09PXQuY29udGV4dD90LmNvbnRleHQ9cjp0LnBlbmRpbmdDb250ZXh0PXIsdD1pLChpPVFvKG4pKS5wYXlsb2FkPXtlbGVtZW50OmV9LG51bGwhPT0odD12b2lkIDA9PT10P251bGw6dCkmJihpLmNhbGxiYWNrPXQpLEthKCksWm8obyxpKSxaYShvLG4pLG59ZnVuY3Rpb24gRHMoZSx0LHIsbil7dmFyIGk9dC5jdXJyZW50O3JldHVybiBMcyhlLHQscixpPVhhKEVzKCksaSksbil9ZnVuY3Rpb24ganMoZSl7aWYoIShlPWUuY3VycmVudCkuY2hpbGQpcmV0dXJuIG51bGw7c3dpdGNoKGUuY2hpbGQudGFnKXtjYXNlIDU6ZGVmYXVsdDpyZXR1cm4gZS5jaGlsZC5zdGF0ZU5vZGV9fWZ1bmN0aW9uIFVzKGUpe3ZhciB0PTEwNzM3NDE4MjItMjUqKDErKCgxMDczNzQxODIyLUVzKCkrNTAwKS8yNXwwKSk7dD49Q2EmJih0PUNhLTEpLHRoaXMuX2V4cGlyYXRpb25UaW1lPUNhPXQsdGhpcy5fcm9vdD1lLHRoaXMuX2NhbGxiYWNrcz10aGlzLl9uZXh0PW51bGwsdGhpcy5faGFzQ2hpbGRyZW49dGhpcy5fZGlkQ29tcGxldGU9ITEsdGhpcy5fY2hpbGRyZW49bnVsbCx0aGlzLl9kZWZlcj0hMH1mdW5jdGlvbiBGcygpe3RoaXMuX2NhbGxiYWNrcz1udWxsLHRoaXMuX2RpZENvbW1pdD0hMSx0aGlzLl9vbkNvbW1pdD10aGlzLl9vbkNvbW1pdC5iaW5kKHRoaXMpfWZ1bmN0aW9uIFZzKGUsdCxyKXtlPXtjdXJyZW50OnQ9R24oMyxudWxsLG51bGwsdD8zOjApLGNvbnRhaW5lckluZm86ZSxwZW5kaW5nQ2hpbGRyZW46bnVsbCxwaW5nQ2FjaGU6bnVsbCxlYXJsaWVzdFBlbmRpbmdUaW1lOjAsbGF0ZXN0UGVuZGluZ1RpbWU6MCxlYXJsaWVzdFN1c3BlbmRlZFRpbWU6MCxsYXRlc3RTdXNwZW5kZWRUaW1lOjAsbGF0ZXN0UGluZ2VkVGltZTowLGRpZEVycm9yOiExLHBlbmRpbmdDb21taXRFeHBpcmF0aW9uVGltZTowLGZpbmlzaGVkV29yazpudWxsLHRpbWVvdXRIYW5kbGU6LTEsY29udGV4dDpudWxsLHBlbmRpbmdDb250ZXh0Om51bGwsaHlkcmF0ZTpyLG5leHRFeHBpcmF0aW9uVGltZVRvV29ya09uOjAsZXhwaXJhdGlvblRpbWU6MCxmaXJzdEJhdGNoOm51bGwsbmV4dFNjaGVkdWxlZFJvb3Q6bnVsbH0sdGhpcy5faW50ZXJuYWxSb290PXQuc3RhdGVOb2RlPWV9ZnVuY3Rpb24gcXMoZSl7cmV0dXJuISghZXx8MSE9PWUubm9kZVR5cGUmJjkhPT1lLm5vZGVUeXBlJiYxMSE9PWUubm9kZVR5cGUmJig4IT09ZS5ub2RlVHlwZXx8IiByZWFjdC1tb3VudC1wb2ludC11bnN0YWJsZSAiIT09ZS5ub2RlVmFsdWUpKX1mdW5jdGlvbiBLcyhlLHQscixuLGkpe3ZhciBvPXIuX3JlYWN0Um9vdENvbnRhaW5lcjtpZihvKXtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGkpe3ZhciBhPWk7aT1mdW5jdGlvbigpe3ZhciBlPWpzKG8uX2ludGVybmFsUm9vdCk7YS5jYWxsKGUpfX1udWxsIT1lP28ubGVnYWN5X3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKGUsdCxpKTpvLnJlbmRlcih0LGkpfWVsc2V7aWYobz1yLl9yZWFjdFJvb3RDb250YWluZXI9ZnVuY3Rpb24oZSx0KXtpZih0fHwodD0hKCEodD1lPzk9PT1lLm5vZGVUeXBlP2UuZG9jdW1lbnRFbGVtZW50OmUuZmlyc3RDaGlsZDpudWxsKXx8MSE9PXQubm9kZVR5cGV8fCF0Lmhhc0F0dHJpYnV0ZSgiZGF0YS1yZWFjdHJvb3QiKSkpLCF0KWZvcih2YXIgcjtyPWUubGFzdENoaWxkOyllLnJlbW92ZUNoaWxkKHIpO3JldHVybiBuZXcgVnMoZSwhMSx0KX0ocixuKSwiZnVuY3Rpb24iPT09dHlwZW9mIGkpe3ZhciBzPWk7aT1mdW5jdGlvbigpe3ZhciBlPWpzKG8uX2ludGVybmFsUm9vdCk7cy5jYWxsKGUpfX1CcyhmdW5jdGlvbigpe251bGwhPWU/by5sZWdhY3lfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIoZSx0LGkpOm8ucmVuZGVyKHQsaSl9KX1yZXR1cm4ganMoby5faW50ZXJuYWxSb290KX1mdW5jdGlvbiB6cyhlLHQpe3ZhciByPTI8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTpudWxsO3JldHVybiBxcyh0KXx8YSgiMjAwIiksZnVuY3Rpb24oZSx0LHIpe3ZhciBuPTM8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjpZZSxrZXk6bnVsbD09bj9udWxsOiIiK24sY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOnQsaW1wbGVtZW50YXRpb246cn19KGUsdCxudWxsLHIpfUNlPWZ1bmN0aW9uKGUsdCxyKXtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6aWYoRXQoZSxyKSx0PXIubmFtZSwicmFkaW8iPT09ci50eXBlJiZudWxsIT10KXtmb3Iocj1lO3IucGFyZW50Tm9kZTspcj1yLnBhcmVudE5vZGU7Zm9yKHI9ci5xdWVyeVNlbGVjdG9yQWxsKCJpbnB1dFtuYW1lPSIrSlNPTi5zdHJpbmdpZnkoIiIrdCkrJ11bdHlwZT0icmFkaW8iXScpLHQ9MDt0PHIubGVuZ3RoO3QrKyl7dmFyIG49clt0XTtpZihuIT09ZSYmbi5mb3JtPT09ZS5mb3JtKXt2YXIgaT1qKG4pO2l8fGEoIjkwIiksS2UobiksRXQobixpKX19fWJyZWFrO2Nhc2UidGV4dGFyZWEiOlFyKGUscik7YnJlYWs7Y2FzZSJzZWxlY3QiOm51bGwhPSh0PXIudmFsdWUpJiZXcihlLCEhci5tdWx0aXBsZSx0LCExKX19LFVzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dGhpcy5fZGVmZXJ8fGEoIjI1MCIpLHRoaXMuX2hhc0NoaWxkcmVuPSEwLHRoaXMuX2NoaWxkcmVuPWU7dmFyIHQ9dGhpcy5fcm9vdC5faW50ZXJuYWxSb290LHI9dGhpcy5fZXhwaXJhdGlvblRpbWUsbj1uZXcgRnM7cmV0dXJuIExzKGUsdCxudWxsLHIsbi5fb25Db21taXQpLG59LFVzLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUpe2lmKHRoaXMuX2RpZENvbXBsZXRlKWUoKTtlbHNle3ZhciB0PXRoaXMuX2NhbGxiYWNrcztudWxsPT09dCYmKHQ9dGhpcy5fY2FsbGJhY2tzPVtdKSx0LnB1c2goZSl9fSxVcy5wcm90b3R5cGUuY29tbWl0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fcm9vdC5faW50ZXJuYWxSb290LHQ9ZS5maXJzdEJhdGNoO2lmKHRoaXMuX2RlZmVyJiZudWxsIT09dHx8YSgiMjUxIiksdGhpcy5faGFzQ2hpbGRyZW4pe3ZhciByPXRoaXMuX2V4cGlyYXRpb25UaW1lO2lmKHQhPT10aGlzKXt0aGlzLl9oYXNDaGlsZHJlbiYmKHI9dGhpcy5fZXhwaXJhdGlvblRpbWU9dC5fZXhwaXJhdGlvblRpbWUsdGhpcy5yZW5kZXIodGhpcy5fY2hpbGRyZW4pKTtmb3IodmFyIG49bnVsbCxpPXQ7aSE9PXRoaXM7KW49aSxpPWkuX25leHQ7bnVsbD09PW4mJmEoIjI1MSIpLG4uX25leHQ9aS5fbmV4dCx0aGlzLl9uZXh0PXQsZS5maXJzdEJhdGNoPXRoaXN9dGhpcy5fZGVmZXI9ITEsa3MoZSxyKSx0PXRoaXMuX25leHQsdGhpcy5fbmV4dD1udWxsLG51bGwhPT0odD1lLmZpcnN0QmF0Y2g9dCkmJnQuX2hhc0NoaWxkcmVuJiZ0LnJlbmRlcih0Ll9jaGlsZHJlbil9ZWxzZSB0aGlzLl9uZXh0PW51bGwsdGhpcy5fZGVmZXI9ITF9LFVzLnByb3RvdHlwZS5fb25Db21wbGV0ZT1mdW5jdGlvbigpe2lmKCF0aGlzLl9kaWRDb21wbGV0ZSl7dGhpcy5fZGlkQ29tcGxldGU9ITA7dmFyIGU9dGhpcy5fY2FsbGJhY2tzO2lmKG51bGwhPT1lKWZvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9fSxGcy5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihlKXtpZih0aGlzLl9kaWRDb21taXQpZSgpO2Vsc2V7dmFyIHQ9dGhpcy5fY2FsbGJhY2tzO251bGw9PT10JiYodD10aGlzLl9jYWxsYmFja3M9W10pLHQucHVzaChlKX19LEZzLnByb3RvdHlwZS5fb25Db21taXQ9ZnVuY3Rpb24oKXtpZighdGhpcy5fZGlkQ29tbWl0KXt0aGlzLl9kaWRDb21taXQ9ITA7dmFyIGU9dGhpcy5fY2FsbGJhY2tzO2lmKG51bGwhPT1lKWZvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lW3RdOyJmdW5jdGlvbiIhPT10eXBlb2YgciYmYSgiMTkxIixyKSxyKCl9fX0sVnMucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMuX2ludGVybmFsUm9vdCxuPW5ldyBGcztyZXR1cm4gbnVsbCE9PSh0PXZvaWQgMD09PXQ/bnVsbDp0KSYmbi50aGVuKHQpLERzKGUscixudWxsLG4uX29uQ29tbWl0KSxufSxWcy5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9pbnRlcm5hbFJvb3Qscj1uZXcgRnM7cmV0dXJuIG51bGwhPT0oZT12b2lkIDA9PT1lP251bGw6ZSkmJnIudGhlbihlKSxEcyhudWxsLHQsbnVsbCxyLl9vbkNvbW1pdCkscn0sVnMucHJvdG90eXBlLmxlZ2FjeV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5faW50ZXJuYWxSb290LGk9bmV3IEZzO3JldHVybiBudWxsIT09KHI9dm9pZCAwPT09cj9udWxsOnIpJiZpLnRoZW4ociksRHModCxuLGUsaS5fb25Db21taXQpLGl9LFZzLnByb3RvdHlwZS5jcmVhdGVCYXRjaD1mdW5jdGlvbigpe3ZhciBlPW5ldyBVcyh0aGlzKSx0PWUuX2V4cGlyYXRpb25UaW1lLHI9dGhpcy5faW50ZXJuYWxSb290LG49ci5maXJzdEJhdGNoO2lmKG51bGw9PT1uKXIuZmlyc3RCYXRjaD1lLGUuX25leHQ9bnVsbDtlbHNle2ZvcihyPW51bGw7bnVsbCE9PW4mJm4uX2V4cGlyYXRpb25UaW1lPj10OylyPW4sbj1uLl9uZXh0O2UuX25leHQ9bixudWxsIT09ciYmKHIuX25leHQ9ZSl9cmV0dXJuIGV9LFBlPVJzLFJlPU1zLEJlPWZ1bmN0aW9uKCl7aXN8fDA9PT1zc3x8KElzKHNzLCExKSxzcz0wKX07dmFyIEdzPXtjcmVhdGVQb3J0YWw6enMsZmluZERPTU5vZGU6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgdD1lLl9yZWFjdEludGVybmFsRmliZXI7cmV0dXJuIHZvaWQgMD09PXQmJigiZnVuY3Rpb24iPT09dHlwZW9mIGUucmVuZGVyP2EoIjE4OCIpOmEoIjI2OCIsT2JqZWN0LmtleXMoZSkpKSxlPW51bGw9PT0oZT1ucih0KSk/bnVsbDplLnN0YXRlTm9kZX0saHlkcmF0ZTpmdW5jdGlvbihlLHQscil7cmV0dXJuIHFzKHQpfHxhKCIyMDAiKSxLcyhudWxsLGUsdCwhMCxyKX0scmVuZGVyOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gcXModCl8fGEoIjIwMCIpLEtzKG51bGwsZSx0LCExLHIpfSx1bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcjpmdW5jdGlvbihlLHQscixuKXtyZXR1cm4gcXMocil8fGEoIjIwMCIpLChudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFsRmliZXIpJiZhKCIzOCIpLEtzKGUsdCxyLCExLG4pfSx1bm1vdW50Q29tcG9uZW50QXROb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBxcyhlKXx8YSgiNDAiKSwhIWUuX3JlYWN0Um9vdENvbnRhaW5lciYmKEJzKGZ1bmN0aW9uKCl7S3MobnVsbCxudWxsLGUsITEsZnVuY3Rpb24oKXtlLl9yZWFjdFJvb3RDb250YWluZXI9bnVsbH0pfSksITApfSx1bnN0YWJsZV9jcmVhdGVQb3J0YWw6ZnVuY3Rpb24oKXtyZXR1cm4genMuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9LHVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzOlJzLHVuc3RhYmxlX2ludGVyYWN0aXZlVXBkYXRlczpNcyxmbHVzaFN5bmM6ZnVuY3Rpb24oZSx0KXtpcyYmYSgiMTg3Iik7dmFyIHI9ZnM7ZnM9ITA7dHJ5e3JldHVybiBKYShlLHQpfWZpbmFsbHl7ZnM9cixJcygxMDczNzQxODIzLCExKX19LHVuc3RhYmxlX2NyZWF0ZVJvb3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcXMoZSl8fGEoIjI5OSIsInVuc3RhYmxlX2NyZWF0ZVJvb3QiKSxuZXcgVnMoZSwhMCxudWxsIT10JiYhMD09PXQuaHlkcmF0ZSl9LHVuc3RhYmxlX2ZsdXNoQ29udHJvbGxlZDpmdW5jdGlvbihlKXt2YXIgdD1mcztmcz0hMDt0cnl7SmEoZSl9ZmluYWxseXsoZnM9dCl8fGlzfHxJcygxMDczNzQxODIzLCExKX19LF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOntFdmVudHM6W0wsRCxqLGsuaW5qZWN0RXZlbnRQbHVnaW5zQnlOYW1lLG0seixmdW5jdGlvbihlKXtDKGUsSyl9LE9lLE5lLHhyLE5dfX07IWZ1bmN0aW9uKGUpe3ZhciB0PWUuZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U7KGZ1bmN0aW9uKGUpe2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXylyZXR1cm4hMTt2YXIgdD1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYodC5pc0Rpc2FibGVkfHwhdC5zdXBwb3J0c0ZpYmVyKXJldHVybiEwO3RyeXt2YXIgcj10LmluamVjdChlKTtWbj1LbihmdW5jdGlvbihlKXtyZXR1cm4gdC5vbkNvbW1pdEZpYmVyUm9vdChyLGUpfSkscW49S24oZnVuY3Rpb24oZSl7cmV0dXJuIHQub25Db21taXRGaWJlclVubW91bnQocixlKX0pfWNhdGNoKG4pe319KShpKHt9LGUse292ZXJyaWRlUHJvcHM6bnVsbCxjdXJyZW50RGlzcGF0Y2hlclJlZjp6ZS5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9bnIoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOmZ1bmN0aW9uKGUpe3JldHVybiB0P3QoZSk6bnVsbH19KSl9KHtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTpNLGJ1bmRsZVR5cGU6MCx2ZXJzaW9uOiIxNi44LjYiLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSJ9KTt2YXIgSHM9e2RlZmF1bHQ6R3N9LFdzPUhzJiZHc3x8SHM7ZS5leHBvcnRzPVdzLmRlZmF1bHR8fFdzfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDU0MCl9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmk=",
"2020.03.29 15:16": "base64:ZS5lYXJsaWVzdFN1c3BlbmRlZFRpbWU9MCxlLmxhdGVzdFN1c3BlbmRlZFRpbWU9MCxlLmxhdGVzdFBpbmdlZFRpbWU9MCxKbihlLHQpKTp0PnImJkpuKGUsdCl9cmkoMCxlKX0oZSxpPm4/aTpuKSxBYS5jdXJyZW50PW51bGwsbj12b2lkIDAsMTx0LmVmZmVjdFRhZz9udWxsIT09dC5sYXN0RWZmZWN0Pyh0Lmxhc3RFZmZlY3QubmV4dEVmZmVjdD10LG49dC5maXJzdEVmZmVjdCk6bj10Om49dC5maXJzdEVmZmVjdCx5bj13cixnbj1mdW5jdGlvbigpe3ZhciBlPU1yKCk7aWYoTHIoZSkpe2lmKCJzZWxlY3Rpb25TdGFydCJpbiBlKXZhciB0PXtzdGFydDplLnNlbGVjdGlvblN0YXJ0LGVuZDplLnNlbGVjdGlvbkVuZH07ZWxzZSBlOnt2YXIgcj0odD0odD1lLm93bmVyRG9jdW1lbnQpJiZ0LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbiYmdC5nZXRTZWxlY3Rpb24oKTtpZihyJiYwIT09ci5yYW5nZUNvdW50KXt0PXIuYW5jaG9yTm9kZTt2YXIgbj1yLmFuY2hvck9mZnNldCxpPXIuZm9jdXNOb2RlO3I9ci5mb2N1c09mZnNldDt0cnl7dC5ub2RlVHlwZSxpLm5vZGVUeXBlfWNhdGNoKHApe3Q9bnVsbDticmVhayBlfXZhciBvPTAsYT0tMSxzPS0xLHU9MCxjPTAsZj1lLGw9bnVsbDt0OmZvcig7Oyl7Zm9yKHZhciBoO2YhPT10fHwwIT09biYmMyE9PWYubm9kZVR5cGV8fChhPW8rbiksZiE9PWl8fDAhPT1yJiYzIT09Zi5ub2RlVHlwZXx8KHM9bytyKSwzPT09Zi5ub2RlVHlwZSYmKG8rPWYubm9kZVZhbHVlLmxlbmd0aCksbnVsbCE9PShoPWYuZmlyc3RDaGlsZCk7KWw9ZixmPWg7Zm9yKDs7KXtpZihmPT09ZSlicmVhayB0O2lmKGw9PT10JiYrK3U9PT1uJiYoYT1vKSxsPT09aSYmKytjPT09ciYmKHM9byksbnVsbCE9PShoPWYubmV4dFNpYmxpbmcpKWJyZWFrO2w9KGY9bCkucGFyZW50Tm9kZX1mPWh9dD0tMT09PWF8fC0xPT09cz9udWxsOntzdGFydDphLGVuZDpzfX1lbHNlIHQ9bnVsbH10PXR8fHtzdGFydDowLGVuZDowfX1lbHNlIHQ9bnVsbDtyZXR1cm57Zm9jdXNlZEVsZW06ZSxzZWxlY3Rpb25SYW5nZTp0fX0oKSx3cj0hMSxSYT1uO251bGwhPT1SYTspe2k9ITE7dmFyIHM9dm9pZCAwO3RyeXtWYSgpfWNhdGNoKGMpe2k9ITAscz1jfWkmJihudWxsPT09UmEmJmEoIjE3OCIpLFlhKFJhLHMpLG51bGwhPT1SYSYmKFJhPVJhLm5leHRFZmZlY3QpKX1mb3IoUmE9bjtudWxsIT09UmE7KXtpPSExLHM9dm9pZCAwO3RyeXtGYSgpfWNhdGNoKGMpe2k9ITAscz1jfWkmJihudWxsPT09UmEmJmEoIjE3OCIpLFlhKFJhLHMpLG51bGwhPT1SYSYmKFJhPVJhLm5leHRFZmZlY3QpKX1mb3IoRHIoZ24pLGduPW51bGwsd3I9ISF5bix5bj1udWxsLGUuY3VycmVudD10LFJhPW47bnVsbCE9PVJhOyl7aT0hMSxzPXZvaWQgMDt0cnl7cWEoZSxyKX1jYXRjaChjKXtpPSEwLHM9Y31pJiYobnVsbD09PVJhJiZhKCIxNzgiKSxZYShSYSxzKSxudWxsIT09UmEmJihSYT1SYS5uZXh0RWZmZWN0KSl9aWYobnVsbCE9PW4mJm51bGwhPT1NYSl7dmFyIHU9ZnVuY3Rpb24oZSx0KXtEYT1MYT1NYT1udWxsO3ZhciByPWlzO2lzPSEwO2Rve2lmKDUxMiZ0LmVmZmVjdFRhZyl7dmFyIG49ITEsaT12b2lkIDA7dHJ5e3ZhciBvPXQ7ZGEoUmksQ2ksbyksZGEoQ2ksUGksbyl9Y2F0Y2godSl7bj0hMCxpPXV9biYmWWEodCxpKX10PXQubmV4dEVmZmVjdH13aGlsZShudWxsIT09dCk7aXM9ciwwIT09KHI9ZS5leHBpcmF0aW9uVGltZSkmJndzKGUsciksZnN8fGlzfHxJcygxMDczNzQxODIzLCExKX0uYmluZChudWxsLGUsbik7TGE9by51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkoby51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxmdW5jdGlvbigpe3JldHVybiBTbih1KX0pLERhPXV9eGE9QmE9ITEsImZ1bmN0aW9uIj09PXR5cGVvZiBWbiYmVm4odC5zdGF0ZU5vZGUpLHI9dC5leHBpcmF0aW9uVGltZSwwPT09KHQ9KHQ9dC5jaGlsZEV4cGlyYXRpb25UaW1lKT5yP3Q6cikmJihqYT1udWxsKSxmdW5jdGlvbihlLHQpe2UuZXhwaXJhdGlvblRpbWU9dCxlLmZpbmlzaGVkV29yaz1udWxsfShlLHQpfWZ1bmN0aW9uIEdhKGUpe2Zvcig7Oyl7dmFyIHQ9ZS5hbHRlcm5hdGUscj1lLnJldHVybixuPWUuc2libGluZztpZigwPT09KDEwMjQmZS5lZmZlY3RUYWcpKXtJYT1lO2U6e3ZhciBvPXQscz1PYSx1PSh0PWUpLnBlbmRpbmdQcm9wcztzd2l0Y2godC50YWcpe2Nhc2UgMjpjYXNlIDE2OmJyZWFrO2Nhc2UgMTU6Y2FzZSAwOmJyZWFrO2Nhc2UgMTpCbih0LnR5cGUpJiZNbigpO2JyZWFrO2Nhc2UgMzp3aSgpLExuKCksKHU9dC5zdGF0ZU5vZGUpLnBlbmRpbmdDb250ZXh0JiYodS5jb250ZXh0PXUucGVuZGluZ0NvbnRleHQsdS5wZW5kaW5nQ29udGV4dD1udWxsKSxudWxsIT09byYmbnVsbCE9PW8uY2hpbGR8fChibyh0KSx0LmVmZmVjdFRhZyY9LTMpLHVhKHQpO2JyZWFrO2Nhc2UgNTpBaSh0KTt2YXIgYz1TaShfaS5jdXJyZW50KTtpZihzPXQudHlwZSxudWxsIT09byYmbnVsbCE9dC5zdGF0ZU5vZGUpY2Eobyx0LHMsdSxjKSxvLnJlZiE9PXQucmVmJiYodC5lZmZlY3RUYWd8PTEyOCk7ZWxzZSBpZih1KXt2YXIgZj1TaShtaS5jdXJyZW50KTtpZihibyh0KSl7bz0odT10KS5zdGF0ZU5vZGU7dmFyIGw9dS50eXBlLGg9dS5tZW1vaXplZFByb3BzLHA9Yztzd2l0Y2gob1tSXT11LG9bQl09aCxzPXZvaWQgMCxjPWwpe2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6VHIoImxvYWQiLG8pO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDx0ZS5sZW5ndGg7bCsrKVRyKHRlW2xdLG8pO2JyZWFrO2Nhc2Uic291cmNlIjpUcigiZXJyb3IiLG8pO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlRyKCJlcnJvciIsbyksVHIoImxvYWQiLG8pO2JyZWFrO2Nhc2UiZm9ybSI6VHIoInJlc2V0IixvKSxUcigic3VibWl0IixvKTticmVhaztjYXNlImRldGFpbHMiOlRyKCJ0b2dnbGUiLG8pO2JyZWFrO2Nhc2UiaW5wdXQiOl90KG8saCksVHIoImludmFsaWQiLG8pLHBuKHAsIm9uQ2hhbmdlIik7YnJlYWs7Y2FzZSJzZWxlY3QiOm8uX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFoLm11bHRpcGxlfSxUcigiaW52YWxpZCIsbykscG4ocCwib25DaGFuZ2UiKTticmVhaztjYXNlInRleHRhcmVhIjpYcihvLGgpLFRyKCJpbnZhbGlkIixvKSxwbihwLCJvbkNoYW5nZSIpfWZvcihzIGluIGxuKGMsaCksbD1udWxsLGgpaC5oYXNPd25Qcm9wZXJ0eShzKSYmKGY9aFtzXSwiY2hpbGRyZW4iPT09cz8ic3RyaW5nIj09PXR5cGVvZiBmP28udGV4dENvbnRlbnQhPT1mJiYobD1bImNoaWxkcmVuIixmXSk6Im51bWJlciI9PT10eXBlb2YgZiYmby50ZXh0Q29udGVudCE9PSIiK2YmJihsPVsiY2hpbGRyZW4iLCIiK2ZdKTpiLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1mJiZwbihwLHMpKTtzd2l0Y2goYyl7Y2FzZSJpbnB1dCI6cWUobyksd3QobyxoLCEwKTticmVhaztjYXNlInRleHRhcmVhIjpxZShvKSwkcihvKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09PXR5cGVvZiBoLm9uQ2xpY2smJihvLm9uY2xpY2s9ZG4pfXM9bCx1LnVwZGF0ZVF1ZXVlPXMsKHU9bnVsbCE9PXMpJiZhYSh0KX1lbHNle2g9dCxwPXMsbz11LGw9OT09PWMubm9kZVR5cGU/YzpjLm93bmVyRG9jdW1lbnQsZj09PVpyLmh0bWwmJihmPUpyKHApKSxmPT09WnIuaHRtbD8ic2NyaXB0Ij09PXA/KChvPWwuY3JlYXRlRWxlbWVudCgiZGl2IikpLmlubmVySFRNTD0iPHNjcmlwdD48XC9zY3JpcHQ+IixsPW8ucmVtb3ZlQ2hpbGQoby5maXJzdENoaWxkKSk6InN0cmluZyI9PT10eXBlb2Ygby5pcz9sPWwuY3JlYXRlRWxlbWVudChwLHtpczpvLmlzfSk6KGw9bC5jcmVhdGVFbGVtZW50KHApLCJzZWxlY3QiPT09cCYmKHA9bCxvLm11bHRpcGxlP3AubXVsdGlwbGU9ITA6by5zaXplJiYocC5zaXplPW8uc2l6ZSkpKTpsPWwuY3JlYXRlRWxlbWVudE5TKGYscCksKG89bClbUl09aCxvW0JdPXUsc2Eobyx0LCExLCExKSxwPW87dmFyIGQ9Yyx5PWhuKGw9cyxoPXUpO3N3aXRjaChsKXtjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOlRyKCJsb2FkIixwKSxjPWg7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGM9MDtjPHRlLmxlbmd0aDtjKyspVHIodGVbY10scCk7Yz1oO2JyZWFrO2Nhc2Uic291cmNlIjpUcigiZXJyb3IiLHApLGM9aDticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpUcigiZXJyb3IiLHApLFRyKCJsb2FkIixwKSxjPWg7YnJlYWs7Y2FzZSJmb3JtIjpUcigicmVzZXQiLHApLFRyKCJzdWJtaXQiLHApLGM9aDticmVhaztjYXNlImRldGFpbHMiOlRyKCJ0b2dnbGUiLHApLGM9aDticmVhaztjYXNlImlucHV0IjpfdChwLGgpLGM9YnQocCxoKSxUcigiaW52YWxpZCIscCkscG4oZCwib25DaGFuZ2UiKTticmVhaztjYXNlIm9wdGlvbiI6Yz1IcihwLGgpO2JyZWFrO2Nhc2Uic2VsZWN0IjpwLl93cmFwcGVyU3RhdGU9e3dhc011bHRpcGxlOiEhaC5tdWx0aXBsZX0sYz1pKHt9LGgse3ZhbHVlOnZvaWQgMH0pLFRyKCJpbnZhbGlkIixwKSxwbihkLCJvbkNoYW5nZSIpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOlhyKHAsaCksYz1ZcihwLGgpLFRyKCJpbnZhbGlkIixwKSxwbihkLCJvbkNoYW5nZSIpO2JyZWFrO2RlZmF1bHQ6Yz1ofWxuKGwsYyksZj12b2lkIDA7dmFyIGc9bCx2PXAsbT1jO2ZvcihmIGluIG0paWYobS5oYXNPd25Qcm9wZXJ0eShmKSl7dmFyIF89bVtmXTsic3R5bGUiPT09Zj9jbih2LF8pOiJkYW5nZXJvdXNseVNldElubmVySFRNTCI9PT1mP251bGwhPShfPV8/Xy5fX2h0bWw6dm9pZCAwKSYmbm4odixfKToiY2hpbGRyZW4iPT09Zj8ic3RyaW5nIj09PXR5cGVvZiBfPygidGV4dGFyZWEiIT09Z3x8IiIhPT1fKSYmb24odixfKToibnVtYmVyIj09PXR5cGVvZiBfJiZvbih2LCIiK18pOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09ZiYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT1mJiYiYXV0b0ZvY3VzIiE9PWYmJihiLmhhc093blByb3BlcnR5KGYpP251bGwhPV8mJnBuKGQsZik6bnVsbCE9XyYmdnQodixmLF8seSkpfXN3aXRjaChsKXtjYXNlImlucHV0IjpxZShwKSx3dChwLGgsITEpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOnFlKHApLCRyKHApO2JyZWFrO2Nhc2Uib3B0aW9uIjpudWxsIT1oLnZhbHVlJiZwLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiK210KGgudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6KGM9cCkubXVsdGlwbGU9ISFoLm11bHRpcGxlLG51bGwhPShwPWgudmFsdWUpP1dyKGMsISFoLm11bHRpcGxlLHAsITEpOm51bGwhPWguZGVmYXVsdFZhbHVlJiZXcihjLCEhaC5tdWx0aXBsZSxoLmRlZmF1bHRWYWx1ZSwhMCk7YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iPT09dHlwZW9mIGMub25DbGljayYmKHAub25jbGljaz1kbil9KHU9dm4ocyx1KSkmJmFhKHQpLHQuc3RhdGVOb2RlPW99bnVsbCE9PXQucmVmJiYodC5lZmZlY3RUYWd8PTEyOCl9ZWxzZSBudWxsPT09dC5zdGF0ZU5vZGUmJmEoIjE2NiIpO2JyZWFrO2Nhc2UgNjpvJiZudWxsIT10LnN0YXRlTm9kZT9mYShvLHQsby5tZW1vaXplZFByb3BzLHUpOigic3RyaW5nIiE9PXR5cGVvZiB1JiYobnVsbD09PXQuc3RhdGVOb2RlJiZhKCIxNjYiKSksbz1TaShfaS5jdXJyZW50KSxTaShtaS5jdXJyZW50KSxibyh0KT8ocz0odT10KS5zdGF0ZU5vZGUsbz11Lm1lbW9pemVkUHJvcHMsc1tSXT11LCh1PXMubm9kZVZhbHVlIT09bykmJmFhKHQpKToocz10LCh1PSg5PT09by5ub2RlVHlwZT9vOm8ub3duZXJEb2N1bWVudCkuY3JlYXRlVGV4dE5vZGUodSkpW1JdPXQscy5zdGF0ZU5vZGU9dSkpO2JyZWFrO2Nhc2UgMTE6YnJlYWs7Y2FzZSAxMzppZih1PXQubWVtb2l6ZWRTdGF0ZSwwIT09KDY0JnQuZWZmZWN0VGFnKSl7dC5leHBpcmF0aW9uVGltZT1zLElhPXQ7YnJlYWsgZX11PW51bGwhPT11LHM9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGUsbnVsbCE9PW8mJiF1JiZzJiYobnVsbCE9PShvPW8uY2hpbGQuc2libGluZykmJihudWxsIT09KGM9dC5maXJzdEVmZmVjdCk/KHQuZmlyc3RFZmZlY3Q9byxvLm5leHRFZmZlY3Q9Yyk6KHQuZmlyc3RFZmZlY3Q9dC5sYXN0RWZmZWN0PW8sby5uZXh0RWZmZWN0PW51bGwpLG8uZWZmZWN0VGFnPTgpKSwodXx8cykmJih0LmVmZmVjdFRhZ3w9NCk7YnJlYWs7Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmJyZWFrO2Nhc2UgNDp3aSgpLHVhKHQpO2JyZWFrO2Nhc2UgMTA6Rm8odCk7YnJlYWs7Y2FzZSA5OmNhc2UgMTQ6YnJlYWs7Y2FzZSAxNzpCbih0LnR5cGUpJiZNbigpO2JyZWFrO2Nhc2UgMTg6YnJlYWs7ZGVmYXVsdDphKCIxNTYiKX1JYT1udWxsfWlmKHQ9ZSwxPT09T2F8fDEhPT10LmNoaWxkRXhwaXJhdGlvblRpbWUpe2Zvcih1PTAscz10LmNoaWxkO251bGwhPT1zOykobz1zLmV4cGlyYXRpb25UaW1lKT51JiYodT1vKSwoYz1zLmNoaWxkRXhwaXJhdGlvblRpbWUpPnUmJih1PWMpLHM9cy5zaWJsaW5nO3QuY2hpbGRFeHBpcmF0aW9uVGltZT11fWlmKG51bGwhPT1JYSlyZXR1cm4gSWE7bnVsbCE9PXImJjA9PT0oMTAyNCZyLmVmZmVjdFRhZykmJihudWxsPT09ci5maXJzdEVmZmVjdCYmKHIuZmlyc3RFZmZlY3Q9ZS5maXJzdEVmZmVjdCksbnVsbCE9PWUubGFzdEVmZmVjdCYmKG51bGwhPT1yLmxhc3RFZmZlY3QmJihyLmxhc3RFZmZlY3QubmV4dEVmZmVjdD1lLmZpcnN0RWZmZWN0KSxyLmxhc3RFZmZlY3Q9ZS5sYXN0RWZmZWN0KSwxPGUuZWZmZWN0VGFnJiYobnVsbCE9PXIubGFzdEVmZmVjdD9yLmxhc3RFZmZlY3QubmV4dEVmZmVjdD1lOnIuZmlyc3RFZmZlY3Q9ZSxyLmxhc3RFZmZlY3Q9ZSkpfWVsc2V7aWYobnVsbCE9PShlPXdhKGUpKSlyZXR1cm4gZS5lZmZlY3RUYWcmPTEwMjMsZTtudWxsIT09ciYmKHIuZmlyc3RFZmZlY3Q9ci5sYXN0RWZmZWN0PW51bGwsci5lZmZlY3RUYWd8PTEwMjQpfWlmKG51bGwhPT1uKXJldHVybiBuO2lmKG51bGw9PT1yKWJyZWFrO2U9cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIYShlKXt2YXIgdD1CbyhlLmFsdGVybmF0ZSxlLE9hKTtyZXR1cm4gZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT10JiYodD1HYShlKSksQWEuY3VycmVudD1udWxsLHR9ZnVuY3Rpb24gV2EoZSx0KXt4YSYmYSgiMjQzIiksS2EoKSx4YT0hMDt2YXIgcj1UYS5jdXJyZW50O1RhLmN1cnJlbnQ9dW87dmFyIG49ZS5uZXh0RXhwaXJhdGlvblRpbWVUb1dvcmtPbjtuPT09T2EmJmU9PT1rYSYmbnVsbCE9PUlhfHwoVWEoKSxPYT1uLElhPVduKChrYT1lKS5jdXJyZW50LG51bGwpLGUucGVuZGluZ0NvbW1pdEV4cGlyYXRpb25UaW1lPTApO2Zvcih2YXIgaT0hMTs7KXt0cnl7aWYodClmb3IoO251bGwhPT1JYSYmIUNzKCk7KUlhPUhhKElhKTtlbHNlIGZvcig7bnVsbCE9PUlhOylJYT1IYShJYSl9Y2F0Y2godil7aWYoam89RG89TG89bnVsbCwkaSgpLG51bGw9PT1JYSlpPSEwLFBzKHYpO2Vsc2V7bnVsbD09PUlhJiZhKCIyNzEiKTt2YXIgbz1JYSxzPW8ucmV0dXJuO2lmKG51bGwhPT1zKXtlOnt2YXIgdT1lLGM9cyxmPW8sbD12O2lmKHM9T2EsZi5lZmZlY3RUYWd8PTEwMjQsZi5maXJzdEVmZmVjdD1mLmxhc3RFZmZlY3Q9bnVsbCxudWxsIT09bCYmIm9iamVjdCI9PT10eXBlb2YgbCYmImZ1bmN0aW9uIj09PXR5cGVvZiBsLnRoZW4pe3ZhciBoPWw7bD1jO3ZhciBwPS0xLGQ9LTE7ZG97aWYoMTM9PT1sLnRhZyl7dmFyIHk9bC5hbHRlcm5hdGU7aWYobnVsbCE9PXkmJm51bGwhPT0oeT15Lm1lbW9pemVkU3RhdGUpKXtkPTEwKigxMDczNzQxODIyLXkudGltZWRPdXRBdCk7YnJlYWt9Im51bWJlciI9PT10eXBlb2YoeT1sLnBlbmRpbmdQcm9wcy5tYXhEdXJhdGlvbikmJigwPj15P3A9MDooLTE9PT1wfHx5PHApJiYocD15KSl9bD1sLnJldHVybn13aGlsZShudWxsIT09bCk7bD1jO2Rve2lmKCh5PTEzPT09bC50YWcpJiYoeT12b2lkIDAhPT1sLm1lbW9pemVkUHJvcHMuZmFsbGJhY2smJm51bGw9PT1sLm1lbW9pemVkU3RhdGUpLHkpe2lmKG51bGw9PT0oYz1sLnVwZGF0ZVF1ZXVlKT8oKGM9bmV3IFNldCkuYWRkKGgpLGwudXBkYXRlUXVldWU9Yyk6Yy5hZGQoaCksMD09PSgxJmwubW9kZSkpe2wuZWZmZWN0VGFnfD02NCxmLmVmZmVjdFRhZyY9LTE5NTcsMT09PWYudGFnJiYobnVsbD09PWYuYWx0ZXJuYXRlP2YudGFnPTE3Oigocz1RbygxMDczNzQxODIzKSkudGFnPUdvLFpvKGYscykpKSxmLmV4cGlyYXRpb25UaW1lPTEwNzM3NDE4MjM7YnJlYWsgZX1jPXM7dmFyIGc9KGY9dSkucGluZ0NhY2hlO251bGw9PT1nPyhnPWYucGluZ0NhY2hlPW5ldyBfYSx5PW5ldyBTZXQsZy5zZXQoaCx5KSk6dm9pZCAwPT09KHk9Zy5nZXQoaCkpJiYoeT1uZXcgU2V0LGcuc2V0KGgseSkpLHkuaGFzKGMpfHwoeS5hZGQoYyksZj1RYS5iaW5kKG51bGwsZixoLGMpLGgudGhlbihmLGYpKSwtMT09PXA/dT0xMDczNzQxODIzOigtMT09PWQmJihkPTEwKigxMDczNzQxODIyLXRpKHUscykpLTVlMyksdT1kK3ApLDA8PXUmJk5hPHUmJihOYT11KSxsLmVmZmVjdFRhZ3w9MjA0OCxsLmV4cGlyYXRpb25UaW1lPXM7YnJlYWsgZX1sPWwucmV0dXJufXdoaWxlKG51bGwhPT1sKTtsPUVycm9yKChzdChmLnR5cGUpfHwiQSBSZWFjdCBjb21wb25lbnQiKSsiIHN1c3BlbmRlZCB3aGlsZSByZW5kZXJpbmcsIGJ1dCBubyBmYWxsYmFjayBVSSB3YXMgc3BlY2lmaWVkLlxuXG5BZGQgYSA8U3VzcGVuc2UgZmFsbGJhY2s9Li4uPiBjb21wb25lbnQgaGlnaGVyIGluIHRoZSB0cmVlIHRvIHByb3ZpZGUgYSBsb2FkaW5nIGluZGljYXRvciBvciBwbGFjZWhvbGRlciB0byBkaXNwbGF5LiIrdXQoZikpfVBhPSEwLGw9b2EobCxmKSx1PWM7ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5lZmZlY3RUYWd8PTIwNDgsdS5leHBpcmF0aW9uVGltZT1zLEpvKHUscz1TYSh1LGwscykpO2JyZWFrIGU7Y2FzZSAxOmlmKHA9bCxkPXUudHlwZSxmPXUuc3RhdGVOb2RlLDA9PT0oNjQmdS5lZmZlY3RUYWcpJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBkLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8bnVsbCE9PWYmJiJmdW5jdGlvbiI9PT10eXBlb2YgZi5jb21wb25lbnREaWRDYXRjaCYmKG51bGw9PT1qYXx8IWphLmhhcyhmKSkpKXt1LmVmZmVjdFRhZ3w9MjA0OCx1LmV4cGlyYXRpb25UaW1lPXMsSm8odSxzPUVhKHUscCxzKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9SWE9R2Eobyk7Y29udGludWV9aT0hMCxQcyh2KX19YnJlYWt9aWYoeGE9ITEsVGEuY3VycmVudD1yLGpvPURvPUxvPW51bGwsJGkoKSxpKWthPW51bGwsZS5maW5pc2hlZFdvcms9bnVsbDtlbHNlIGlmKG51bGwhPT1JYSllLmZpbmlzaGVkV29yaz1udWxsO2Vsc2V7aWYobnVsbD09PShyPWUuY3VycmVudC5hbHRlcm5hdGUpJiZhKCIyODEiKSxrYT1udWxsLFBhKXtpZihpPWUubGF0ZXN0UGVuZGluZ1RpbWUsbz1lLmxhdGVzdFN1c3BlbmRlZFRpbWUscz1lLmxhdGVzdFBpbmdlZFRpbWUsMCE9PWkmJmk8bnx8MCE9PW8mJm88bnx8MCE9PXMmJnM8bilyZXR1cm4gZWkoZSxuKSx2b2lkIFNzKGUscixuLGUuZXhwaXJhdGlvblRpbWUsLTEpO2lmKCFlLmRpZEVycm9yJiZ0KXJldHVybiBlLmRpZEVycm9yPSEwLG49ZS5uZXh0RXhwaXJhdGlvblRpbWVUb1dvcmtPbj1uLHQ9ZS5leHBpcmF0aW9uVGltZT0xMDczNzQxODIzLHZvaWQgU3MoZSxyLG4sdCwtMSl9dCYmLTEhPT1OYT8oZWkoZSxuKSwodD0xMCooMTA3Mzc0MTgyMi10aShlLG4pKSk8TmEmJihOYT10KSx0PTEwKigxMDczNzQxODIyLUVzKCkpLHQ9TmEtdCxTcyhlLHIsbixlLmV4cGlyYXRpb25UaW1lLDA+dD8wOnQpKTooZS5wZW5kaW5nQ29tbWl0RXhwaXJhdGlvblRpbWU9bixlLmZpbmlzaGVkV29yaz1yKX19ZnVuY3Rpb24gWWEoZSx0KXtmb3IodmFyIHI9ZS5yZXR1cm47bnVsbCE9PXI7KXtzd2l0Y2goci50YWcpe2Nhc2UgMTp2YXIgbj1yLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIHIudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3J8fCJmdW5jdGlvbiI9PT10eXBlb2Ygbi5jb21wb25lbnREaWRDYXRjaCYmKG51bGw9PT1qYXx8IWphLmhhcyhuKSkpcmV0dXJuIFpvKHIsZT1FYShyLGU9b2EodCxlKSwxMDczNzQxODIzKSksdm9pZCBaYShyLDEwNzM3NDE4MjMpO2JyZWFrO2Nhc2UgMzpyZXR1cm4gWm8ocixlPVNhKHIsZT1vYSh0LGUpLDEwNzM3NDE4MjMpKSx2b2lkIFphKHIsMTA3Mzc0MTgyMyl9cj1yLnJldHVybn0zPT09ZS50YWcmJihabyhlLHI9U2EoZSxyPW9hKHQsZSksMTA3Mzc0MTgyMykpLFphKGUsMTA3Mzc0MTgyMykpfWZ1bmN0aW9uIFhhKGUsdCl7dmFyIHI9by51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpLG49dm9pZCAwO2lmKDA9PT0oMSZ0Lm1vZGUpKW49MTA3Mzc0MTgyMztlbHNlIGlmKHhhJiYhQmEpbj1PYTtlbHNle3N3aXRjaChyKXtjYXNlIG8udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk6bj0xMDczNzQxODIzO2JyZWFrO2Nhc2Ugby51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eTpuPTEwNzM3NDE4MjItMTAqKDErKCgxMDczNzQxODIyLWUrMTUpLzEwfDApKTticmVhaztjYXNlIG8udW5zdGFibGVfTm9ybWFsUHJpb3JpdHk6bj0xMDczNzQxODIyLTI1KigxKygoMTA3Mzc0MTgyMi1lKzUwMCkvMjV8MCkpO2JyZWFrO2Nhc2Ugby51bnN0YWJsZV9Mb3dQcmlvcml0eTpjYXNlIG8udW5zdGFibGVfSWRsZVByaW9yaXR5Om49MTticmVhaztkZWZhdWx0OmEoIjMxMyIpfW51bGwhPT1rYSYmbj09PU9hJiYtLW59cmV0dXJuIHI9PT1vLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5JiYoMD09PXNzfHxuPHNzKSYmKHNzPW4pLG59ZnVuY3Rpb24gUWEoZSx0LHIpe3ZhciBuPWUucGluZ0NhY2hlO251bGwhPT1uJiZuLmRlbGV0ZSh0KSxudWxsIT09a2EmJk9hPT09cj9rYT1udWxsOih0PWUuZWFybGllc3RTdXNwZW5kZWRUaW1lLG49ZS5sYXRlc3RTdXNwZW5kZWRUaW1lLDAhPT10JiZyPD10JiZyPj1uJiYoZS5kaWRFcnJvcj0hMSwoMD09PSh0PWUubGF0ZXN0UGluZ2VkVGltZSl8fHQ+cikmJihlLmxhdGVzdFBpbmdlZFRpbWU9cikscmkocixlKSwwIT09KHI9ZS5leHBpcmF0aW9uVGltZSkmJndzKGUscikpKX1mdW5jdGlvbiAkYShlLHQpe2UuZXhwaXJhdGlvblRpbWU8dCYmKGUuZXhwaXJhdGlvblRpbWU9dCk7dmFyIHI9ZS5hbHRlcm5hdGU7bnVsbCE9PXImJnIuZXhwaXJhdGlvblRpbWU8dCYmKHIuZXhwaXJhdGlvblRpbWU9dCk7dmFyIG49ZS5yZXR1cm4saT1udWxsO2lmKG51bGw9PT1uJiYzPT09ZS50YWcpaT1lLnN0YXRlTm9kZTtlbHNlIGZvcig7bnVsbCE9PW47KXtpZihyPW4uYWx0ZXJuYXRlLG4uY2hpbGRFeHBpcmF0aW9uVGltZTx0JiYobi5jaGlsZEV4cGlyYXRpb25UaW1lPXQpLG51bGwhPT1yJiZyLmNoaWxkRXhwaXJhdGlvblRpbWU8dCYmKHIuY2hpbGRFeHBpcmF0aW9uVGltZT10KSxudWxsPT09bi5yZXR1cm4mJjM9PT1uLnRhZyl7aT1uLnN0YXRlTm9kZTticmVha31uPW4ucmV0dXJufXJldHVybiBpfWZ1bmN0aW9uIFphKGUsdCl7bnVsbCE9PShlPSRhKGUsdCkpJiYoIXhhJiYwIT09T2EmJnQ+T2EmJlVhKCksSm4oZSx0KSx4YSYmIUJhJiZrYT09PWV8fHdzKGUsZS5leHBpcmF0aW9uVGltZSksdnM+Z3MmJih2cz0wLGEoIjE4NSIpKSl9ZnVuY3Rpb24gSmEoZSx0LHIsbixpKXtyZXR1cm4gby51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkoby51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxmdW5jdGlvbigpe3JldHVybiBlKHQscixuLGkpfSl9dmFyIGVzPW51bGwsdHM9bnVsbCxycz0wLG5zPXZvaWQgMCxpcz0hMSxvcz1udWxsLGFzPTAsc3M9MCx1cz0hMSxjcz1udWxsLGZzPSExLGxzPSExLGhzPW51bGwscHM9by51bnN0YWJsZV9ub3coKSxkcz0xMDczNzQxODIyLShwcy8xMHwwKSx5cz1kcyxncz01MCx2cz0wLG1zPW51bGw7ZnVuY3Rpb24gYnMoKXtkcz0xMDczNzQxODIyLSgoby51bnN0YWJsZV9ub3coKS1wcykvMTB8MCl9ZnVuY3Rpb24gX3MoZSx0KXtpZigwIT09cnMpe2lmKHQ8cnMpcmV0dXJuO251bGwhPT1ucyYmby51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayhucyl9cnM9dCxlPW8udW5zdGFibGVfbm93KCktcHMsbnM9by51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKHhzLHt0aW1lb3V0OjEwKigxMDczNzQxODIyLXQpLWV9KX1mdW5jdGlvbiBTcyhlLHQscixuLGkpe2UuZXhwaXJhdGlvblRpbWU9biwwIT09aXx8Q3MoKT8wPGkmJihlLnRpbWVvdXRIYW5kbGU9Ym4oZnVuY3Rpb24oZSx0LHIpe2UucGVuZGluZ0NvbW1pdEV4cGlyYXRpb25UaW1lPXIsZS5maW5pc2hlZFdvcms9dCxicygpLHlzPWRzLGtzKGUscil9LmJpbmQobnVsbCxlLHQsciksaSkpOihlLnBlbmRpbmdDb21taXRFeHBpcmF0aW9uVGltZT1yLGUuZmluaXNoZWRXb3JrPXQpfWZ1bmN0aW9uIEVzKCl7cmV0dXJuIGlzP3lzOihUcygpLDAhPT1hcyYmMSE9PWFzfHwoYnMoKSx5cz1kcykseXMpfWZ1bmN0aW9uIHdzKGUsdCl7bnVsbD09PWUubmV4dFNjaGVkdWxlZFJvb3Q/KGUuZXhwaXJhdGlvblRpbWU9dCxudWxsPT09dHM/KGVzPXRzPWUsZS5uZXh0U2NoZWR1bGVkUm9vdD1lKToodHM9dHMubmV4dFNjaGVkdWxlZFJvb3Q9ZSkubmV4dFNjaGVkdWxlZFJvb3Q9ZXMpOnQ+ZS5leHBpcmF0aW9uVGltZSYmKGUuZXhwaXJhdGlvblRpbWU9dCksaXN8fChmcz9scyYmKG9zPWUsYXM9MTA3Mzc0MTgyMyxPcyhlLDEwNzM3NDE4MjMsITEpKToxMDczNzQxODIzPT09dD9JcygxMDczNzQxODIzLCExKTpfcyhlLHQpKX1mdW5jdGlvbiBUcygpe3ZhciBlPTAsdD1udWxsO2lmKG51bGwhPT10cylmb3IodmFyIHI9dHMsbj1lcztudWxsIT09bjspe3ZhciBpPW4uZXhwaXJhdGlvblRpbWU7aWYoMD09PWkpe2lmKChudWxsPT09cnx8bnVsbD09PXRzKSYmYSgiMjQ0Iiksbj09PW4ubmV4dFNjaGVkdWxlZFJvb3Qpe2VzPXRzPW4ubmV4dFNjaGVkdWxlZFJvb3Q9bnVsbDticmVha31pZihuPT09ZXMpZXM9aT1uLm5leHRTY2hlZHVsZWRSb290LHRzLm5leHRTY2hlZHVsZWRSb290PWksbi5uZXh0U2NoZWR1bGVkUm9vdD1udWxsO2Vsc2V7aWYobj09PXRzKXsodHM9cikubmV4dFNjaGVkdWxlZFJvb3Q9ZXMsbi5uZXh0U2NoZWR1bGVkUm9vdD1udWxsO2JyZWFrfXIubmV4dFNjaGVkdWxlZFJvb3Q9bi5uZXh0U2NoZWR1bGVkUm9vdCxuLm5leHRTY2hlZHVsZWRSb290PW51bGx9bj1yLm5leHRTY2hlZHVsZWRSb290fWVsc2V7aWYoaT5lJiYoZT1pLHQ9biksbj09PXRzKWJyZWFrO2lmKDEwNzM3NDE4MjM9PT1lKWJyZWFrO3I9bixuPW4ubmV4dFNjaGVkdWxlZFJvb3R9fW9zPXQsYXM9ZX12YXIgQXM9ITE7ZnVuY3Rpb24gQ3MoKXtyZXR1cm4hIUFzfHwhIW8udW5zdGFibGVfc2hvdWxkWWllbGQoKSYmKEFzPSEwKX1mdW5jdGlvbiB4cygpe3RyeXtpZighQ3MoKSYmbnVsbCE9PWVzKXticygpO3ZhciBlPWVzO2Rve3ZhciB0PWUuZXhwaXJhdGlvblRpbWU7MCE9PXQmJmRzPD10JiYoZS5uZXh0RXhwaXJhdGlvblRpbWVUb1dvcmtPbj1kcyksZT1lLm5leHRTY2hlZHVsZWRSb290fXdoaWxlKGUhPT1lcyl9SXMoMCwhMCl9ZmluYWxseXtBcz0hMX19ZnVuY3Rpb24gSXMoZSx0KXtpZihUcygpLHQpZm9yKGJzKCkseXM9ZHM7bnVsbCE9PW9zJiYwIT09YXMmJmU8PWFzJiYhKEFzJiZkcz5hcyk7KU9zKG9zLGFzLGRzPmFzKSxUcygpLGJzKCkseXM9ZHM7ZWxzZSBmb3IoO251bGwhPT1vcyYmMCE9PWFzJiZlPD1hczspT3Mob3MsYXMsITEpLFRzKCk7aWYodCYmKHJzPTAsbnM9bnVsbCksMCE9PWFzJiZfcyhvcyxhcyksdnM9MCxtcz1udWxsLG51bGwhPT1ocylmb3IoZT1ocyxocz1udWxsLHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XTt0cnl7ci5fb25Db21wbGV0ZSgpfWNhdGNoKG4pe3VzfHwodXM9ITAsY3M9bil9fWlmKHVzKXRocm93IGU9Y3MsY3M9bnVsbCx1cz0hMSxlfWZ1bmN0aW9uIGtzKGUsdCl7aXMmJmEoIjI1MyIpLG9zPWUsYXM9dCxPcyhlLHQsITEpLElzKDEwNzM3NDE4MjMsITEpfWZ1bmN0aW9uIE9zKGUsdCxyKXtpZihpcyYmYSgiMjQ1IiksaXM9ITAscil7dmFyIG49ZS5maW5pc2hlZFdvcms7bnVsbCE9PW4/TnMoZSxuLHQpOihlLmZpbmlzaGVkV29yaz1udWxsLC0xIT09KG49ZS50aW1lb3V0SGFuZGxlKSYmKGUudGltZW91dEhhbmRsZT0tMSxfbihuKSksV2EoZSxyKSxudWxsIT09KG49ZS5maW5pc2hlZFdvcmspJiYoQ3MoKT9lLmZpbmlzaGVkV29yaz1uOk5zKGUsbix0KSkpfWVsc2UgbnVsbCE9PShuPWUuZmluaXNoZWRXb3JrKT9OcyhlLG4sdCk6KGUuZmluaXNoZWRXb3JrPW51bGwsLTEhPT0obj1lLnRpbWVvdXRIYW5kbGUpJiYoZS50aW1lb3V0SGFuZGxlPS0xLF9uKG4pKSxXYShlLHIpLG51bGwhPT0obj1lLmZpbmlzaGVkV29yaykmJk5zKGUsbix0KSk7aXM9ITF9ZnVuY3Rpb24gTnMoZSx0LHIpe3ZhciBuPWUuZmlyc3RCYXRjaDtpZihudWxsIT09biYmbi5fZXhwaXJhdGlvblRpbWU+PXImJihudWxsPT09aHM/aHM9W25dOmhzLnB1c2gobiksbi5fZGVmZXIpKXJldHVybiBlLmZpbmlzaGVkV29yaz10LHZvaWQoZS5leHBpcmF0aW9uVGltZT0wKTtlLmZpbmlzaGVkV29yaz1udWxsLGU9PT1tcz92cysrOihtcz1lLHZzPTApLG8udW5zdGFibGVfcnVuV2l0aFByaW9yaXR5KG8udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZnVuY3Rpb24oKXt6YShlLHQpfSl9ZnVuY3Rpb24gUHMoZSl7bnVsbD09PW9zJiZhKCIyNDYiKSxvcy5leHBpcmF0aW9uVGltZT0wLHVzfHwodXM9ITAsY3M9ZSl9ZnVuY3Rpb24gUnMoZSx0KXt2YXIgcj1mcztmcz0hMDt0cnl7cmV0dXJuIGUodCl9ZmluYWxseXsoZnM9cil8fGlzfHxJcygxMDczNzQxODIzLCExKX19ZnVuY3Rpb24gQnMoZSx0KXtpZihmcyYmIWxzKXtscz0hMDt0cnl7cmV0dXJuIGUodCl9ZmluYWxseXtscz0hMX19cmV0dXJuIGUodCl9ZnVuY3Rpb24gTXMoZSx0LHIpe2ZzfHxpc3x8MD09PXNzfHwoSXMoc3MsITEpLHNzPTApO3ZhciBuPWZzO2ZzPSEwO3RyeXtyZXR1cm4gby51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkoby51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxmdW5jdGlvbigpe3JldHVybiBlKHQscil9KX1maW5hbGx5eyhmcz1uKXx8aXN8fElzKDEwNzM3NDE4MjMsITEpfX1mdW5jdGlvbiBMcyhlLHQscixuLGkpe3ZhciBvPXQuY3VycmVudDtlOmlmKHIpe3Q6ezI9PT10cihyPXIuX3JlYWN0SW50ZXJuYWxGaWJlcikmJjE9PT1yLnRhZ3x8YSgiMTcwIik7dmFyIHM9cjtkb3tzd2l0Y2gocy50YWcpe2Nhc2UgMzpzPXMuc3RhdGVOb2RlLmNvbnRleHQ7YnJlYWsgdDtjYXNlIDE6aWYoQm4ocy50eXBlKSl7cz1zLnN0YXRlTm9kZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dDticmVhayB0fX1zPXMucmV0dXJufXdoaWxlKG51bGwhPT1zKTthKCIxNzEiKSxzPXZvaWQgMH1pZigxPT09ci50YWcpe3ZhciB1PXIudHlwZTtpZihCbih1KSl7cj1qbihyLHUscyk7YnJlYWsgZX19cj1zfWVsc2Ugcj1rbjtyZXR1cm4gbnVsbD09PXQuY29udGV4dD90LmNvbnRleHQ9cjp0LnBlbmRpbmdDb250ZXh0PXIsdD1pLChpPVFvKG4pKS5wYXlsb2FkPXtlbGVtZW50OmV9LG51bGwhPT0odD12b2lkIDA9PT10P251bGw6dCkmJihpLmNhbGxiYWNrPXQpLEthKCksWm8obyxpKSxaYShvLG4pLG59ZnVuY3Rpb24gRHMoZSx0LHIsbil7dmFyIGk9dC5jdXJyZW50O3JldHVybiBMcyhlLHQscixpPVhhKEVzKCksaSksbil9ZnVuY3Rpb24ganMoZSl7aWYoIShlPWUuY3VycmVudCkuY2hpbGQpcmV0dXJuIG51bGw7c3dpdGNoKGUuY2hpbGQudGFnKXtjYXNlIDU6ZGVmYXVsdDpyZXR1cm4gZS5jaGlsZC5zdGF0ZU5vZGV9fWZ1bmN0aW9uIFVzKGUpe3ZhciB0PTEwNzM3NDE4MjItMjUqKDErKCgxMDczNzQxODIyLUVzKCkrNTAwKS8yNXwwKSk7dD49Q2EmJih0PUNhLTEpLHRoaXMuX2V4cGlyYXRpb25UaW1lPUNhPXQsdGhpcy5fcm9vdD1lLHRoaXMuX2NhbGxiYWNrcz10aGlzLl9uZXh0PW51bGwsdGhpcy5faGFzQ2hpbGRyZW49dGhpcy5fZGlkQ29tcGxldGU9ITEsdGhpcy5fY2hpbGRyZW49bnVsbCx0aGlzLl9kZWZlcj0hMH1mdW5jdGlvbiBGcygpe3RoaXMuX2NhbGxiYWNrcz1udWxsLHRoaXMuX2RpZENvbW1pdD0hMSx0aGlzLl9vbkNvbW1pdD10aGlzLl9vbkNvbW1pdC5iaW5kKHRoaXMpfWZ1bmN0aW9uIFZzKGUsdCxyKXtlPXtjdXJyZW50OnQ9R24oMyxudWxsLG51bGwsdD8zOjApLGNvbnRhaW5lckluZm86ZSxwZW5kaW5nQ2hpbGRyZW46bnVsbCxwaW5nQ2FjaGU6bnVsbCxlYXJsaWVzdFBlbmRpbmdUaW1lOjAsbGF0ZXN0UGVuZGluZ1RpbWU6MCxlYXJsaWVzdFN1c3BlbmRlZFRpbWU6MCxsYXRlc3RTdXNwZW5kZWRUaW1lOjAsbGF0ZXN0UGluZ2VkVGltZTowLGRpZEVycm9yOiExLHBlbmRpbmdDb21taXRFeHBpcmF0aW9uVGltZTowLGZpbmlzaGVkV29yazpudWxsLHRpbWVvdXRIYW5kbGU6LTEsY29udGV4dDpudWxsLHBlbmRpbmdDb250ZXh0Om51bGwsaHlkcmF0ZTpyLG5leHRFeHBpcmF0aW9uVGltZVRvV29ya09uOjAsZXhwaXJhdGlvblRpbWU6MCxmaXJzdEJhdGNoOm51bGwsbmV4dFNjaGVkdWxlZFJvb3Q6bnVsbH0sdGhpcy5faW50ZXJuYWxSb290PXQuc3RhdGVOb2RlPWV9ZnVuY3Rpb24gcXMoZSl7cmV0dXJuISghZXx8MSE9PWUubm9kZVR5cGUmJjkhPT1lLm5vZGVUeXBlJiYxMSE9PWUubm9kZVR5cGUmJig4IT09ZS5ub2RlVHlwZXx8IiByZWFjdC1tb3VudC1wb2ludC11bnN0YWJsZSAiIT09ZS5ub2RlVmFsdWUpKX1mdW5jdGlvbiBLcyhlLHQscixuLGkpe3ZhciBvPXIuX3JlYWN0Um9vdENvbnRhaW5lcjtpZihvKXtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGkpe3ZhciBhPWk7aT1mdW5jdGlvbigpe3ZhciBlPWpzKG8uX2ludGVybmFsUm9vdCk7YS5jYWxsKGUpfX1udWxsIT1lP28ubGVnYWN5X3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKGUsdCxpKTpvLnJlbmRlcih0LGkpfWVsc2V7aWYobz1yLl9yZWFjdFJvb3RDb250YWluZXI9ZnVuY3Rpb24oZSx0KXtpZih0fHwodD0hKCEodD1lPzk9PT1lLm5vZGVUeXBlP2UuZG9jdW1lbnRFbGVtZW50OmUuZmlyc3RDaGlsZDpudWxsKXx8MSE9PXQubm9kZVR5cGV8fCF0Lmhhc0F0dHJpYnV0ZSgiZGF0YS1yZWFjdHJvb3QiKSkpLCF0KWZvcih2YXIgcjtyPWUubGFzdENoaWxkOyllLnJlbW92ZUNoaWxkKHIpO3JldHVybiBuZXcgVnMoZSwhMSx0KX0ocixuKSwiZnVuY3Rpb24iPT09dHlwZW9mIGkpe3ZhciBzPWk7aT1mdW5jdGlvbigpe3ZhciBlPWpzKG8uX2ludGVybmFsUm9vdCk7cy5jYWxsKGUpfX1CcyhmdW5jdGlvbigpe251bGwhPWU/by5sZWdhY3lfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIoZSx0LGkpOm8ucmVuZGVyKHQsaSl9KX1yZXR1cm4ganMoby5faW50ZXJuYWxSb290KX1mdW5jdGlvbiB6cyhlLHQpe3ZhciByPTI8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTpudWxsO3JldHVybiBxcyh0KXx8YSgiMjAwIiksZnVuY3Rpb24oZSx0LHIpe3ZhciBuPTM8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjpZZSxrZXk6bnVsbD09bj9udWxsOiIiK24sY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOnQsaW1wbGVtZW50YXRpb246cn19KGUsdCxudWxsLHIpfUNlPWZ1bmN0aW9uKGUsdCxyKXtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6aWYoRXQoZSxyKSx0PXIubmFtZSwicmFkaW8iPT09ci50eXBlJiZudWxsIT10KXtmb3Iocj1lO3IucGFyZW50Tm9kZTspcj1yLnBhcmVudE5vZGU7Zm9yKHI9ci5xdWVyeVNlbGVjdG9yQWxsKCJpbnB1dFtuYW1lPSIrSlNPTi5zdHJpbmdpZnkoIiIrdCkrJ11bdHlwZT0icmFkaW8iXScpLHQ9MDt0PHIubGVuZ3RoO3QrKyl7dmFyIG49clt0XTtpZihuIT09ZSYmbi5mb3JtPT09ZS5mb3JtKXt2YXIgaT1qKG4pO2l8fGEoIjkwIiksS2UobiksRXQobixpKX19fWJyZWFrO2Nhc2UidGV4dGFyZWEiOlFyKGUscik7YnJlYWs7Y2FzZSJzZWxlY3QiOm51bGwhPSh0PXIudmFsdWUpJiZXcihlLCEhci5tdWx0aXBsZSx0LCExKX19LFVzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dGhpcy5fZGVmZXJ8fGEoIjI1MCIpLHRoaXMuX2hhc0NoaWxkcmVuPSEwLHRoaXMuX2NoaWxkcmVuPWU7dmFyIHQ9dGhpcy5fcm9vdC5faW50ZXJuYWxSb290LHI9dGhpcy5fZXhwaXJhdGlvblRpbWUsbj1uZXcgRnM7cmV0dXJuIExzKGUsdCxudWxsLHIsbi5fb25Db21taXQpLG59LFVzLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUpe2lmKHRoaXMuX2RpZENvbXBsZXRlKWUoKTtlbHNle3ZhciB0PXRoaXMuX2NhbGxiYWNrcztudWxsPT09dCYmKHQ9dGhpcy5fY2FsbGJhY2tzPVtdKSx0LnB1c2goZSl9fSxVcy5wcm90b3R5cGUuY29tbWl0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fcm9vdC5faW50ZXJuYWxSb290LHQ9ZS5maXJzdEJhdGNoO2lmKHRoaXMuX2RlZmVyJiZudWxsIT09dHx8YSgiMjUxIiksdGhpcy5faGFzQ2hpbGRyZW4pe3ZhciByPXRoaXMuX2V4cGlyYXRpb25UaW1lO2lmKHQhPT10aGlzKXt0aGlzLl9oYXNDaGlsZHJlbiYmKHI9dGhpcy5fZXhwaXJhdGlvblRpbWU9dC5fZXhwaXJhdGlvblRpbWUsdGhpcy5yZW5kZXIodGhpcy5fY2hpbGRyZW4pKTtmb3IodmFyIG49bnVsbCxpPXQ7aSE9PXRoaXM7KW49aSxpPWkuX25leHQ7bnVsbD09PW4mJmEoIjI1MSIpLG4uX25leHQ9aS5fbmV4dCx0aGlzLl9uZXh0PXQsZS5maXJzdEJhdGNoPXRoaXN9dGhpcy5fZGVmZXI9ITEsa3MoZSxyKSx0PXRoaXMuX25leHQsdGhpcy5fbmV4dD1udWxsLG51bGwhPT0odD1lLmZpcnN0QmF0Y2g9dCkmJnQuX2hhc0NoaWxkcmVuJiZ0LnJlbmRlcih0Ll9jaGlsZHJlbil9ZWxzZSB0aGlzLl9uZXh0PW51bGwsdGhpcy5fZGVmZXI9ITF9LFVzLnByb3RvdHlwZS5fb25Db21wbGV0ZT1mdW5jdGlvbigpe2lmKCF0aGlzLl9kaWRDb21wbGV0ZSl7dGhpcy5fZGlkQ29tcGxldGU9ITA7dmFyIGU9dGhpcy5fY2FsbGJhY2tzO2lmKG51bGwhPT1lKWZvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9fSxGcy5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihlKXtpZih0aGlzLl9kaWRDb21taXQpZSgpO2Vsc2V7dmFyIHQ9dGhpcy5fY2FsbGJhY2tzO251bGw9PT10JiYodD10aGlzLl9jYWxsYmFja3M9W10pLHQucHVzaChlKX19LEZzLnByb3RvdHlwZS5fb25Db21taXQ9ZnVuY3Rpb24oKXtpZighdGhpcy5fZGlkQ29tbWl0KXt0aGlzLl9kaWRDb21taXQ9ITA7dmFyIGU9dGhpcy5fY2FsbGJhY2tzO2lmKG51bGwhPT1lKWZvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lW3RdOyJmdW5jdGlvbiIhPT10eXBlb2YgciYmYSgiMTkxIixyKSxyKCl9fX0sVnMucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMuX2ludGVybmFsUm9vdCxuPW5ldyBGcztyZXR1cm4gbnVsbCE9PSh0PXZvaWQgMD09PXQ/bnVsbDp0KSYmbi50aGVuKHQpLERzKGUscixudWxsLG4uX29uQ29tbWl0KSxufSxWcy5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9pbnRlcm5hbFJvb3Qscj1uZXcgRnM7cmV0dXJuIG51bGwhPT0oZT12b2lkIDA9PT1lP251bGw6ZSkmJnIudGhlbihlKSxEcyhudWxsLHQsbnVsbCxyLl9vbkNvbW1pdCkscn0sVnMucHJvdG90eXBlLmxlZ2FjeV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5faW50ZXJuYWxSb290LGk9bmV3IEZzO3JldHVybiBudWxsIT09KHI9dm9pZCAwPT09cj9udWxsOnIpJiZpLnRoZW4ociksRHModCxuLGUsaS5fb25Db21taXQpLGl9LFZzLnByb3RvdHlwZS5jcmVhdGVCYXRjaD1mdW5jdGlvbigpe3ZhciBlPW5ldyBVcyh0aGlzKSx0PWUuX2V4cGlyYXRpb25UaW1lLHI9dGhpcy5faW50ZXJuYWxSb290LG49ci5maXJzdEJhdGNoO2lmKG51bGw9PT1uKXIuZmlyc3RCYXRjaD1lLGUuX25leHQ9bnVsbDtlbHNle2ZvcihyPW51bGw7bnVsbCE9PW4mJm4uX2V4cGlyYXRpb25UaW1lPj10OylyPW4sbj1uLl9uZXh0O2UuX25leHQ9bixudWxsIT09ciYmKHIuX25leHQ9ZSl9cmV0dXJuIGV9LFBlPVJzLFJlPU1zLEJlPWZ1bmN0aW9uKCl7aXN8fDA9PT1zc3x8KElzKHNzLCExKSxzcz0wKX07dmFyIEdzPXtjcmVhdGVQb3J0YWw6enMsZmluZERPTU5vZGU6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgdD1lLl9yZWFjdEludGVybmFsRmliZXI7cmV0dXJuIHZvaWQgMD09PXQmJigiZnVuY3Rpb24iPT09dHlwZW9mIGUucmVuZGVyP2EoIjE4OCIpOmEoIjI2OCIsT2JqZWN0LmtleXMoZSkpKSxlPW51bGw9PT0oZT1ucih0KSk/bnVsbDplLnN0YXRlTm9kZX0saHlkcmF0ZTpmdW5jdGlvbihlLHQscil7cmV0dXJuIHFzKHQpfHxhKCIyMDAiKSxLcyhudWxsLGUsdCwhMCxyKX0scmVuZGVyOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gcXModCl8fGEoIjIwMCIpLEtzKG51bGwsZSx0LCExLHIpfSx1bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcjpmdW5jdGlvbihlLHQscixuKXtyZXR1cm4gcXMocil8fGEoIjIwMCIpLChudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFsRmliZXIpJiZhKCIzOCIpLEtzKGUsdCxyLCExLG4pfSx1bm1vdW50Q29tcG9uZW50QXROb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBxcyhlKXx8YSgiNDAiKSwhIWUuX3JlYWN0Um9vdENvbnRhaW5lciYmKEJzKGZ1bmN0aW9uKCl7S3MobnVsbCxudWxsLGUsITEsZnVuY3Rpb24oKXtlLl9yZWFjdFJvb3RDb250YWluZXI9bnVsbH0pfSksITApfSx1bnN0YWJsZV9jcmVhdGVQb3J0YWw6ZnVuY3Rpb24oKXtyZXR1cm4genMuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9LHVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzOlJzLHVuc3RhYmxlX2ludGVyYWN0aXZlVXBkYXRlczpNcyxmbHVzaFN5bmM6ZnVuY3Rpb24oZSx0KXtpcyYmYSgiMTg3Iik7dmFyIHI9ZnM7ZnM9ITA7dHJ5e3JldHVybiBKYShlLHQpfWZpbmFsbHl7ZnM9cixJcygxMDczNzQxODIzLCExKX19LHVuc3RhYmxlX2NyZWF0ZVJvb3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcXMoZSl8fGEoIjI5OSIsInVuc3RhYmxlX2NyZWF0ZVJvb3QiKSxuZXcgVnMoZSwhMCxudWxsIT10JiYhMD09PXQuaHlkcmF0ZSl9LHVuc3RhYmxlX2ZsdXNoQ29udHJvbGxlZDpmdW5jdGlvbihlKXt2YXIgdD1mcztmcz0hMDt0cnl7SmEoZSl9ZmluYWxseXsoZnM9dCl8fGlzfHxJcygxMDczNzQxODIzLCExKX19LF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOntFdmVudHM6W0wsRCxqLGsuaW5qZWN0RXZlbnRQbHVnaW5zQnlOYW1lLG0seixmdW5jdGlvbihlKXtDKGUsSyl9LE9lLE5lLHhyLE5dfX07IWZ1bmN0aW9uKGUpe3ZhciB0PWUuZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U7KGZ1bmN0aW9uKGUpe2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXylyZXR1cm4hMTt2YXIgdD1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYodC5pc0Rpc2FibGVkfHwhdC5zdXBwb3J0c0ZpYmVyKXJldHVybiEwO3RyeXt2YXIgcj10LmluamVjdChlKTtWbj1LbihmdW5jdGlvbihlKXtyZXR1cm4gdC5vbkNvbW1pdEZpYmVyUm9vdChyLGUpfSkscW49S24oZnVuY3Rpb24oZSl7cmV0dXJuIHQub25Db21taXRGaWJlclVubW91bnQocixlKX0pfWNhdGNoKG4pe319KShpKHt9LGUse292ZXJyaWRlUHJvcHM6bnVsbCxjdXJyZW50RGlzcGF0Y2hlclJlZjp6ZS5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9bnIoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOmZ1bmN0aW9uKGUpe3JldHVybiB0P3QoZSk6bnVsbH19KSl9KHtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTpNLGJ1bmRsZVR5cGU6MCx2ZXJzaW9uOiIxNi44LjYiLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSJ9KTt2YXIgSHM9e2RlZmF1bHQ6R3N9LFdzPUhzJiZHc3x8SHM7ZS5leHBvcnRzPVdzLmRlZmF1bHR8fFdzfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDU0MCl9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmk="
}