3MxZ2rcGgPFmkECT6NA35zhtoMzRNv2jLTk · data · 2.7c767379.chunk.js_23
{
"2.7c767379.chunk.js_23": "base64:LTE7cj49MDstLXIpdC5kYXRhW3JdPTA7dC50PXRoaXMudCtlLHQucz10aGlzLnN9LG8ucHJvdG90eXBlLmRyU2hpZnRUbz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1lO3I8dGhpcy50Oysrcil0LmRhdGFbci1lXT10aGlzLmRhdGFbcl07dC50PU1hdGgubWF4KHRoaXMudC1lLDApLHQucz10aGlzLnN9LG8ucHJvdG90eXBlLmxTaGlmdFRvPWZ1bmN0aW9uKGUsdCl7dmFyIHIsbj1lJXRoaXMuREIsaT10aGlzLkRCLW4sbz0oMTw8aSktMSxhPU1hdGguZmxvb3IoZS90aGlzLkRCKSxzPXRoaXMuczw8biZ0aGlzLkRNO2ZvcihyPXRoaXMudC0xO3I+PTA7LS1yKXQuZGF0YVtyK2ErMV09dGhpcy5kYXRhW3JdPj5pfHMscz0odGhpcy5kYXRhW3JdJm8pPDxuO2ZvcihyPWEtMTtyPj0wOy0tcil0LmRhdGFbcl09MDt0LmRhdGFbYV09cyx0LnQ9dGhpcy50K2ErMSx0LnM9dGhpcy5zLHQuY2xhbXAoKX0sby5wcm90b3R5cGUuclNoaWZ0VG89ZnVuY3Rpb24oZSx0KXt0LnM9dGhpcy5zO3ZhciByPU1hdGguZmxvb3IoZS90aGlzLkRCKTtpZihyPj10aGlzLnQpdC50PTA7ZWxzZXt2YXIgbj1lJXRoaXMuREIsaT10aGlzLkRCLW4sbz0oMTw8biktMTt0LmRhdGFbMF09dGhpcy5kYXRhW3JdPj5uO2Zvcih2YXIgYT1yKzE7YTx0aGlzLnQ7KythKXQuZGF0YVthLXItMV18PSh0aGlzLmRhdGFbYV0mbyk8PGksdC5kYXRhW2Etcl09dGhpcy5kYXRhW2FdPj5uO24+MCYmKHQuZGF0YVt0aGlzLnQtci0xXXw9KHRoaXMucyZvKTw8aSksdC50PXRoaXMudC1yLHQuY2xhbXAoKX19LG8ucHJvdG90eXBlLnN1YlRvPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPTAsbj0wLGk9TWF0aC5taW4oZS50LHRoaXMudCk7cjxpOyluKz10aGlzLmRhdGFbcl0tZS5kYXRhW3JdLHQuZGF0YVtyKytdPW4mdGhpcy5ETSxuPj49dGhpcy5EQjtpZihlLnQ8dGhpcy50KXtmb3Iobi09ZS5zO3I8dGhpcy50OyluKz10aGlzLmRhdGFbcl0sdC5kYXRhW3IrK109biZ0aGlzLkRNLG4+Pj10aGlzLkRCO24rPXRoaXMuc31lbHNle2ZvcihuKz10aGlzLnM7cjxlLnQ7KW4tPWUuZGF0YVtyXSx0LmRhdGFbcisrXT1uJnRoaXMuRE0sbj4+PXRoaXMuREI7bi09ZS5zfXQucz1uPDA/LTE6MCxuPC0xP3QuZGF0YVtyKytdPXRoaXMuRFYrbjpuPjAmJih0LmRhdGFbcisrXT1uKSx0LnQ9cix0LmNsYW1wKCl9LG8ucHJvdG90eXBlLm11bHRpcGx5VG89ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLmFicygpLG49ZS5hYnMoKSxpPXIudDtmb3IodC50PWkrbi50Oy0taT49MDspdC5kYXRhW2ldPTA7Zm9yKGk9MDtpPG4udDsrK2kpdC5kYXRhW2krci50XT1yLmFtKDAsbi5kYXRhW2ldLHQsaSwwLHIudCk7dC5zPTAsdC5jbGFtcCgpLHRoaXMucyE9ZS5zJiZvLlpFUk8uc3ViVG8odCx0KX0sby5wcm90b3R5cGUuc3F1YXJlVG89ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXRoaXMuYWJzKCkscj1lLnQ9Mip0LnQ7LS1yPj0wOyllLmRhdGFbcl09MDtmb3Iocj0wO3I8dC50LTE7KytyKXt2YXIgbj10LmFtKHIsdC5kYXRhW3JdLGUsMipyLDAsMSk7KGUuZGF0YVtyK3QudF0rPXQuYW0ocisxLDIqdC5kYXRhW3JdLGUsMipyKzEsbix0LnQtci0xKSk+PXQuRFYmJihlLmRhdGFbcit0LnRdLT10LkRWLGUuZGF0YVtyK3QudCsxXT0xKX1lLnQ+MCYmKGUuZGF0YVtlLnQtMV0rPXQuYW0ocix0LmRhdGFbcl0sZSwyKnIsMCwxKSksZS5zPTAsZS5jbGFtcCgpfSxvLnByb3RvdHlwZS5kaXZSZW1Ubz1mdW5jdGlvbihlLHQscil7dmFyIG49ZS5hYnMoKTtpZighKG4udDw9MCkpe3ZhciBpPXRoaXMuYWJzKCk7aWYoaS50PG4udClyZXR1cm4gbnVsbCE9dCYmdC5mcm9tSW50KDApLHZvaWQobnVsbCE9ciYmdGhpcy5jb3B5VG8ocikpO251bGw9PXImJihyPWEoKSk7dmFyIHM9YSgpLHU9dGhpcy5zLGM9ZS5zLGY9dGhpcy5EQi15KG4uZGF0YVtuLnQtMV0pO2Y+MD8obi5sU2hpZnRUbyhmLHMpLGkubFNoaWZ0VG8oZixyKSk6KG4uY29weVRvKHMpLGkuY29weVRvKHIpKTt2YXIgbD1zLnQsaD1zLmRhdGFbbC0xXTtpZigwIT1oKXt2YXIgcD1oKigxPDx0aGlzLkYxKSsobD4xP3MuZGF0YVtsLTJdPj50aGlzLkYyOjApLGQ9dGhpcy5GVi9wLGc9KDE8PHRoaXMuRjEpL3Asdj0xPDx0aGlzLkYyLG09ci50LGI9bS1sLF89bnVsbD09dD9hKCk6dDtmb3Iocy5kbFNoaWZ0VG8oYixfKSxyLmNvbXBhcmVUbyhfKT49MCYmKHIuZGF0YVtyLnQrK109MSxyLnN1YlRvKF8scikpLG8uT05FLmRsU2hpZnRUbyhsLF8pLF8uc3ViVG8ocyxzKTtzLnQ8bDspcy5kYXRhW3MudCsrXT0wO2Zvcig7LS1iPj0wOyl7dmFyIFM9ci5kYXRhWy0tbV09PWg/dGhpcy5ETTpNYXRoLmZsb29yKHIuZGF0YVttXSpkKyhyLmRhdGFbbS0xXSt2KSpnKTtpZigoci5kYXRhW21dKz1zLmFtKDAsUyxyLGIsMCxsKSk8Uylmb3Iocy5kbFNoaWZ0VG8oYixfKSxyLnN1YlRvKF8scik7ci5kYXRhW21dPC0tUzspci5zdWJUbyhfLHIpfW51bGwhPXQmJihyLmRyU2hpZnRUbyhsLHQpLHUhPWMmJm8uWkVSTy5zdWJUbyh0LHQpKSxyLnQ9bCxyLmNsYW1wKCksZj4wJiZyLnJTaGlmdFRvKGYsciksdTwwJiZvLlpFUk8uc3ViVG8ocixyKX19fSxvLnByb3RvdHlwZS5pbnZEaWdpdD1mdW5jdGlvbigpe2lmKHRoaXMudDwxKXJldHVybiAwO3ZhciBlPXRoaXMuZGF0YVswXTtpZigwPT0oMSZlKSlyZXR1cm4gMDt2YXIgdD0zJmU7cmV0dXJuKHQ9KHQ9KHQ9KHQ9dCooMi0oMTUmZSkqdCkmMTUpKigyLSgyNTUmZSkqdCkmMjU1KSooMi0oKDY1NTM1JmUpKnQmNjU1MzUpKSY2NTUzNSkqKDItZSp0JXRoaXMuRFYpJXRoaXMuRFYpPjA/dGhpcy5EVi10Oi10fSxvLnByb3RvdHlwZS5pc0V2ZW49ZnVuY3Rpb24oKXtyZXR1cm4gMD09KHRoaXMudD4wPzEmdGhpcy5kYXRhWzBdOnRoaXMucyl9LG8ucHJvdG90eXBlLmV4cD1mdW5jdGlvbihlLHQpe2lmKGU+NDI5NDk2NzI5NXx8ZTwxKXJldHVybiBvLk9ORTt2YXIgcj1hKCksbj1hKCksaT10LmNvbnZlcnQodGhpcykscz15KGUpLTE7Zm9yKGkuY29weVRvKHIpOy0tcz49MDspaWYodC5zcXJUbyhyLG4pLChlJjE8PHMpPjApdC5tdWxUbyhuLGkscik7ZWxzZXt2YXIgdT1yO3I9bixuPXV9cmV0dXJuIHQucmV2ZXJ0KHIpfSxvLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbihlKXtpZih0aGlzLnM8MClyZXR1cm4iLSIrdGhpcy5uZWdhdGUoKS50b1N0cmluZyhlKTt2YXIgdDtpZigxNj09ZSl0PTQ7ZWxzZSBpZig4PT1lKXQ9MztlbHNlIGlmKDI9PWUpdD0xO2Vsc2UgaWYoMzI9PWUpdD01O2Vsc2V7aWYoNCE9ZSlyZXR1cm4gdGhpcy50b1JhZGl4KGUpO3Q9Mn12YXIgcixuPSgxPDx0KS0xLGk9ITEsbz0iIixhPXRoaXMudCxzPXRoaXMuREItYSp0aGlzLkRCJXQ7aWYoYS0tID4wKWZvcihzPHRoaXMuREImJihyPXRoaXMuZGF0YVthXT4+cyk+MCYmKGk9ITAsbz1oKHIpKTthPj0wOylzPHQ/KHI9KHRoaXMuZGF0YVthXSYoMTw8cyktMSk8PHQtcyxyfD10aGlzLmRhdGFbLS1hXT4+KHMrPXRoaXMuREItdCkpOihyPXRoaXMuZGF0YVthXT4+KHMtPXQpJm4sczw9MCYmKHMrPXRoaXMuREIsLS1hKSkscj4wJiYoaT0hMCksaSYmKG8rPWgocikpO3JldHVybiBpP286IjAifSxvLnByb3RvdHlwZS5uZWdhdGU9ZnVuY3Rpb24oKXt2YXIgZT1hKCk7cmV0dXJuIG8uWkVSTy5zdWJUbyh0aGlzLGUpLGV9LG8ucHJvdG90eXBlLmFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnM8MD90aGlzLm5lZ2F0ZSgpOnRoaXN9LG8ucHJvdG90eXBlLmNvbXBhcmVUbz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnMtZS5zO2lmKDAhPXQpcmV0dXJuIHQ7dmFyIHI9dGhpcy50O2lmKDAhPSh0PXItZS50KSlyZXR1cm4gdGhpcy5zPDA/LXQ6dDtmb3IoOy0tcj49MDspaWYoMCE9KHQ9dGhpcy5kYXRhW3JdLWUuZGF0YVtyXSkpcmV0dXJuIHQ7cmV0dXJuIDB9LG8ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnQ8PTA/MDp0aGlzLkRCKih0aGlzLnQtMSkreSh0aGlzLmRhdGFbdGhpcy50LTFdXnRoaXMucyZ0aGlzLkRNKX0sby5wcm90b3R5cGUubW9kPWZ1bmN0aW9uKGUpe3ZhciB0PWEoKTtyZXR1cm4gdGhpcy5hYnMoKS5kaXZSZW1UbyhlLG51bGwsdCksdGhpcy5zPDAmJnQuY29tcGFyZVRvKG8uWkVSTyk+MCYmZS5zdWJUbyh0LHQpLHR9LG8ucHJvdG90eXBlLm1vZFBvd0ludD1mdW5jdGlvbihlLHQpe3ZhciByO3JldHVybiByPWU8MjU2fHx0LmlzRXZlbigpP25ldyBnKHQpOm5ldyB2KHQpLHRoaXMuZXhwKGUscil9LG8uWkVSTz1kKDApLG8uT05FPWQoMSksVC5wcm90b3R5cGUuY29udmVydD1BLFQucHJvdG90eXBlLnJldmVydD1BLFQucHJvdG90eXBlLm11bFRvPWZ1bmN0aW9uKGUsdCxyKXtlLm11bHRpcGx5VG8odCxyKX0sVC5wcm90b3R5cGUuc3FyVG89ZnVuY3Rpb24oZSx0KXtlLnNxdWFyZVRvKHQpfSxDLnByb3RvdHlwZS5jb252ZXJ0PWZ1bmN0aW9uKGUpe2lmKGUuczwwfHxlLnQ+Mip0aGlzLm0udClyZXR1cm4gZS5tb2QodGhpcy5tKTtpZihlLmNvbXBhcmVUbyh0aGlzLm0pPDApcmV0dXJuIGU7dmFyIHQ9YSgpO3JldHVybiBlLmNvcHlUbyh0KSx0aGlzLnJlZHVjZSh0KSx0fSxDLnByb3RvdHlwZS5yZXZlcnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LEMucHJvdG90eXBlLnJlZHVjZT1mdW5jdGlvbihlKXtmb3IoZS5kclNoaWZ0VG8odGhpcy5tLnQtMSx0aGlzLnIyKSxlLnQ+dGhpcy5tLnQrMSYmKGUudD10aGlzLm0udCsxLGUuY2xhbXAoKSksdGhpcy5tdS5tdWx0aXBseVVwcGVyVG8odGhpcy5yMix0aGlzLm0udCsxLHRoaXMucTMpLHRoaXMubS5tdWx0aXBseUxvd2VyVG8odGhpcy5xMyx0aGlzLm0udCsxLHRoaXMucjIpO2UuY29tcGFyZVRvKHRoaXMucjIpPDA7KWUuZEFkZE9mZnNldCgxLHRoaXMubS50KzEpO2ZvcihlLnN1YlRvKHRoaXMucjIsZSk7ZS5jb21wYXJlVG8odGhpcy5tKT49MDspZS5zdWJUbyh0aGlzLm0sZSl9LEMucHJvdG90eXBlLm11bFRvPWZ1bmN0aW9uKGUsdCxyKXtlLm11bHRpcGx5VG8odCxyKSx0aGlzLnJlZHVjZShyKX0sQy5wcm90b3R5cGUuc3FyVG89ZnVuY3Rpb24oZSx0KXtlLnNxdWFyZVRvKHQpLHRoaXMucmVkdWNlKHQpfTt2YXIgeD1bMiwzLDUsNywxMSwxMywxNywxOSwyMywyOSwzMSwzNyw0MSw0Myw0Nyw1Myw1OSw2MSw2Nyw3MSw3Myw3OSw4Myw4OSw5NywxMDEsMTAzLDEwNywxMDksMTEzLDEyNywxMzEsMTM3LDEzOSwxNDksMTUxLDE1NywxNjMsMTY3LDE3MywxNzksMTgxLDE5MSwxOTMsMTk3LDE5OSwyMTEsMjIzLDIyNywyMjksMjMzLDIzOSwyNDEsMjUxLDI1NywyNjMsMjY5LDI3MSwyNzcsMjgxLDI4MywyOTMsMzA3LDMxMSwzMTMsMzE3LDMzMSwzMzcsMzQ3LDM0OSwzNTMsMzU5LDM2NywzNzMsMzc5LDM4MywzODksMzk3LDQwMSw0MDksNDE5LDQyMSw0MzEsNDMzLDQzOSw0NDMsNDQ5LDQ1Nyw0NjEsNDYzLDQ2Nyw0NzksNDg3LDQ5MSw0OTksNTAzLDUwOV0sST0oMTw8MjYpL3hbeC5sZW5ndGgtMV07by5wcm90b3R5cGUuY2h1bmtTaXplPWZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLmZsb29yKE1hdGguTE4yKnRoaXMuREIvTWF0aC5sb2coZSkpfSxvLnByb3RvdHlwZS50b1JhZGl4PWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUmJihlPTEwKSwwPT10aGlzLnNpZ251bSgpfHxlPDJ8fGU+MzYpcmV0dXJuIjAiO3ZhciB0PXRoaXMuY2h1bmtTaXplKGUpLHI9TWF0aC5wb3coZSx0KSxuPWQociksaT1hKCksbz1hKCkscz0iIjtmb3IodGhpcy5kaXZSZW1UbyhuLGksbyk7aS5zaWdudW0oKT4wOylzPShyK28uaW50VmFsdWUoKSkudG9TdHJpbmcoZSkuc3Vic3RyKDEpK3MsaS5kaXZSZW1UbyhuLGksbyk7cmV0dXJuIG8uaW50VmFsdWUoKS50b1N0cmluZyhlKStzfSxvLnByb3RvdHlwZS5mcm9tUmFkaXg9ZnVuY3Rpb24oZSx0KXt0aGlzLmZyb21JbnQoMCksbnVsbD09dCYmKHQ9MTApO2Zvcih2YXIgcj10aGlzLmNodW5rU2l6ZSh0KSxuPU1hdGgucG93KHQsciksaT0hMSxhPTAscz0wLHU9MDt1PGUubGVuZ3RoOysrdSl7dmFyIGM9cChlLHUpO2M8MD8iLSI9PWUuY2hhckF0KHUpJiYwPT10aGlzLnNpZ251bSgpJiYoaT0hMCk6KHM9dCpzK2MsKythPj1yJiYodGhpcy5kTXVsdGlwbHkobiksdGhpcy5kQWRkT2Zmc2V0KHMsMCksYT0wLHM9MCkpfWE+MCYmKHRoaXMuZE11bHRpcGx5KE1hdGgucG93KHQsYSkpLHRoaXMuZEFkZE9mZnNldChzLDApKSxpJiZvLlpFUk8uc3ViVG8odGhpcyx0aGlzKX0sby5wcm90b3R5cGUuZnJvbU51bWJlcj1mdW5jdGlvbihlLHQscil7aWYoIm51bWJlciI9PXR5cGVvZiB0KWlmKGU8Mil0aGlzLmZyb21JbnQoMSk7ZWxzZSBmb3IodGhpcy5mcm9tTnVtYmVyKGUsciksdGhpcy50ZXN0Qml0KGUtMSl8fHRoaXMuYml0d2lzZVRvKG8uT05FLnNoaWZ0TGVmdChlLTEpLGIsdGhpcyksdGhpcy5pc0V2ZW4oKSYmdGhpcy5kQWRkT2Zmc2V0KDEsMCk7IXRoaXMuaXNQcm9iYWJsZVByaW1lKHQpOyl0aGlzLmRBZGRPZmZzZXQoMiwwKSx0aGlzLmJpdExlbmd0aCgpPmUmJnRoaXMuc3ViVG8oby5PTkUuc2hpZnRMZWZ0KGUtMSksdGhpcyk7ZWxzZXt2YXIgbj1uZXcgQXJyYXksaT03JmU7bi5sZW5ndGg9MSsoZT4+MyksdC5uZXh0Qnl0ZXMobiksaT4wP25bMF0mPSgxPDxpKS0xOm5bMF09MCx0aGlzLmZyb21TdHJpbmcobiwyNTYpfX0sby5wcm90b3R5cGUuYml0d2lzZVRvPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbixpLG89TWF0aC5taW4oZS50LHRoaXMudCk7Zm9yKG49MDtuPG87KytuKXIuZGF0YVtuXT10KHRoaXMuZGF0YVtuXSxlLmRhdGFbbl0pO2lmKGUudDx0aGlzLnQpe2ZvcihpPWUucyZ0aGlzLkRNLG49bztuPHRoaXMudDsrK24pci5kYXRhW25dPXQodGhpcy5kYXRhW25dLGkpO3IudD10aGlzLnR9ZWxzZXtmb3IoaT10aGlzLnMmdGhpcy5ETSxuPW87bjxlLnQ7KytuKXIuZGF0YVtuXT10KGksZS5kYXRhW25dKTtyLnQ9ZS50fXIucz10KHRoaXMucyxlLnMpLHIuY2xhbXAoKX0sby5wcm90b3R5cGUuY2hhbmdlQml0PWZ1bmN0aW9uKGUsdCl7dmFyIHI9by5PTkUuc2hpZnRMZWZ0KGUpO3JldHVybiB0aGlzLmJpdHdpc2VUbyhyLHQscikscn0sby5wcm90b3R5cGUuYWRkVG89ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9MCxuPTAsaT1NYXRoLm1pbihlLnQsdGhpcy50KTtyPGk7KW4rPXRoaXMuZGF0YVtyXStlLmRhdGFbcl0sdC5kYXRhW3IrK109biZ0aGlzLkRNLG4+Pj10aGlzLkRCO2lmKGUudDx0aGlzLnQpe2ZvcihuKz1lLnM7cjx0aGlzLnQ7KW4rPXRoaXMuZGF0YVtyXSx0LmRhdGFbcisrXT1uJnRoaXMuRE0sbj4+PXRoaXMuREI7bis9dGhpcy5zfWVsc2V7Zm9yKG4rPXRoaXMucztyPGUudDspbis9ZS5kYXRhW3JdLHQuZGF0YVtyKytdPW4mdGhpcy5ETSxuPj49dGhpcy5EQjtuKz1lLnN9dC5zPW48MD8tMTowLG4+MD90LmRhdGFbcisrXT1uOm48LTEmJih0LmRhdGFbcisrXT10aGlzLkRWK24pLHQudD1yLHQuY2xhbXAoKX0sby5wcm90b3R5cGUuZE11bHRpcGx5PWZ1bmN0aW9uKGUpe3RoaXMuZGF0YVt0aGlzLnRdPXRoaXMuYW0oMCxlLTEsdGhpcywwLDAsdGhpcy50KSwrK3RoaXMudCx0aGlzLmNsYW1wKCl9LG8ucHJvdG90eXBlLmRBZGRPZmZzZXQ9ZnVuY3Rpb24oZSx0KXtpZigwIT1lKXtmb3IoO3RoaXMudDw9dDspdGhpcy5kYXRhW3RoaXMudCsrXT0wO2Zvcih0aGlzLmRhdGFbdF0rPWU7dGhpcy5kYXRhW3RdPj10aGlzLkRWOyl0aGlzLmRhdGFbdF0tPXRoaXMuRFYsKyt0Pj10aGlzLnQmJih0aGlzLmRhdGFbdGhpcy50KytdPTApLCsrdGhpcy5kYXRhW3RdfX0sby5wcm90b3R5cGUubXVsdGlwbHlMb3dlclRvPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbixpPU1hdGgubWluKHRoaXMudCtlLnQsdCk7Zm9yKHIucz0wLHIudD1pO2k+MDspci5kYXRhWy0taV09MDtmb3Iobj1yLnQtdGhpcy50O2k8bjsrK2kpci5kYXRhW2krdGhpcy50XT10aGlzLmFtKDAsZS5kYXRhW2ldLHIsaSwwLHRoaXMudCk7Zm9yKG49TWF0aC5taW4oZS50LHQpO2k8bjsrK2kpdGhpcy5hbSgwLGUuZGF0YVtpXSxyLGksMCx0LWkpO3IuY2xhbXAoKX0sby5wcm90b3R5cGUubXVsdGlwbHlVcHBlclRvPWZ1bmN0aW9uKGUsdCxyKXstLXQ7dmFyIG49ci50PXRoaXMudCtlLnQtdDtmb3Ioci5zPTA7LS1uPj0wOylyLmRhdGFbbl09MDtmb3Iobj1NYXRoLm1heCh0LXRoaXMudCwwKTtuPGUudDsrK24pci5kYXRhW3RoaXMudCtuLXRdPXRoaXMuYW0odC1uLGUuZGF0YVtuXSxyLDAsMCx0aGlzLnQrbi10KTtyLmNsYW1wKCksci5kclNoaWZ0VG8oMSxyKX0sby5wcm90b3R5cGUubW9kSW50PWZ1bmN0aW9uKGUpe2lmKGU8PTApcmV0dXJuIDA7dmFyIHQ9dGhpcy5EViVlLHI9dGhpcy5zPDA/ZS0xOjA7aWYodGhpcy50PjApaWYoMD09dClyPXRoaXMuZGF0YVswXSVlO2Vsc2UgZm9yKHZhciBuPXRoaXMudC0xO24+PTA7LS1uKXI9KHQqcit0aGlzLmRhdGFbbl0pJWU7cmV0dXJuIHJ9LG8ucHJvdG90eXBlLm1pbGxlclJhYmluPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuc3VidHJhY3Qoby5PTkUpLHI9dC5nZXRMb3dlc3RTZXRCaXQoKTtpZihyPD0wKXJldHVybiExO2Zvcih2YXIgbixpPXQuc2hpZnRSaWdodChyKSxhPXtuZXh0Qnl0ZXM6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDsrK3QpZVt0XT1NYXRoLmZsb29yKDI1NipNYXRoLnJhbmRvbSgpKX19LHM9MDtzPGU7KytzKXtkb3tuPW5ldyBvKHRoaXMuYml0TGVuZ3RoKCksYSl9d2hpbGUobi5jb21wYXJlVG8oby5PTkUpPD0wfHxuLmNvbXBhcmVUbyh0KT49MCk7dmFyIHU9bi5tb2RQb3coaSx0aGlzKTtpZigwIT11LmNvbXBhcmVUbyhvLk9ORSkmJjAhPXUuY29tcGFyZVRvKHQpKXtmb3IodmFyIGM9MTtjKys8ciYmMCE9dS5jb21wYXJlVG8odCk7KWlmKDA9PSh1PXUubW9kUG93SW50KDIsdGhpcykpLmNvbXBhcmVUbyhvLk9ORSkpcmV0dXJuITE7aWYoMCE9dS5jb21wYXJlVG8odCkpcmV0dXJuITF9fXJldHVybiEwfSxvLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciBlPWEoKTtyZXR1cm4gdGhpcy5jb3B5VG8oZSksZX0sby5wcm90b3R5cGUuaW50VmFsdWU9ZnVuY3Rpb24oKXtpZih0aGlzLnM8MCl7aWYoMT09dGhpcy50KXJldHVybiB0aGlzLmRhdGFbMF0tdGhpcy5EVjtpZigwPT10aGlzLnQpcmV0dXJuLTF9ZWxzZXtpZigxPT10aGlzLnQpcmV0dXJuIHRoaXMuZGF0YVswXTtpZigwPT10aGlzLnQpcmV0dXJuIDB9cmV0dXJuKHRoaXMuZGF0YVsxXSYoMTw8MzItdGhpcy5EQiktMSk8PHRoaXMuREJ8dGhpcy5kYXRhWzBdfSxvLnByb3RvdHlwZS5ieXRlVmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gMD09dGhpcy50P3RoaXMuczp0aGlzLmRhdGFbMF08PDI0Pj4yNH0sby5wcm90b3R5cGUuc2hvcnRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiAwPT10aGlzLnQ/dGhpcy5zOnRoaXMuZGF0YVswXTw8MTY+PjE2fSxvLnByb3RvdHlwZS5zaWdudW09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zPDA/LTE6dGhpcy50PD0wfHwxPT10aGlzLnQmJnRoaXMuZGF0YVswXTw9MD8wOjF9LG8ucHJvdG90eXBlLnRvQnl0ZUFycmF5PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50LHQ9bmV3IEFycmF5O3RbMF09dGhpcy5zO3ZhciByLG49dGhpcy5EQi1lKnRoaXMuREIlOCxpPTA7aWYoZS0tID4wKWZvcihuPHRoaXMuREImJihyPXRoaXMuZGF0YVtlXT4+bikhPSh0aGlzLnMmdGhpcy5ETSk+Pm4mJih0W2krK109cnx0aGlzLnM8PHRoaXMuREItbik7ZT49MDspbjw4PyhyPSh0aGlzLmRhdGFbZV0mKDE8PG4pLTEpPDw4LW4scnw9dGhpcy5kYXRhWy0tZV0+PihuKz10aGlzLkRCLTgpKToocj10aGlzLmRhdGFbZV0+PihuLT04KSYyNTUsbjw9MCYmKG4rPXRoaXMuREIsLS1lKSksMCE9KDEyOCZyKSYmKHJ8PS0yNTYpLDA9PWkmJigxMjgmdGhpcy5zKSE9KDEyOCZyKSYmKytpLChpPjB8fHIhPXRoaXMucykmJih0W2krK109cik7cmV0dXJuIHR9LG8ucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihlKXtyZXR1cm4gMD09dGhpcy5jb21wYXJlVG8oZSl9LG8ucHJvdG90eXBlLm1pbj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jb21wYXJlVG8oZSk8MD90aGlzOmV9LG8ucHJvdG90eXBlLm1heD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jb21wYXJlVG8oZSk+MD90aGlzOmV9LG8ucHJvdG90eXBlLmFuZD1mdW5jdGlvbihlKXt2YXIgdD1hKCk7cmV0dXJuIHRoaXMuYml0d2lzZVRvKGUsbSx0KSx0fSxvLnByb3RvdHlwZS5vcj1mdW5jdGlvbihlKXt2YXIgdD1hKCk7cmV0dXJuIHRoaXMuYml0d2lzZVRvKGUsYix0KSx0fSxvLnByb3RvdHlwZS54b3I9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLmJpdHdpc2VUbyhlLF8sdCksdH0sby5wcm90b3R5cGUuYW5kTm90PWZ1bmN0aW9uKGUpe3ZhciB0PWEoKTtyZXR1cm4gdGhpcy5iaXR3aXNlVG8oZSxTLHQpLHR9LG8ucHJvdG90eXBlLm5vdD1mdW5jdGlvbigpe2Zvcih2YXIgZT1hKCksdD0wO3Q8dGhpcy50OysrdCllLmRhdGFbdF09dGhpcy5ETSZ+dGhpcy5kYXRhW3RdO3JldHVybiBlLnQ9dGhpcy50LGUucz1+dGhpcy5zLGV9LG8ucHJvdG90eXBlLnNoaWZ0TGVmdD1mdW5jdGlvbihlKXt2YXIgdD1hKCk7cmV0dXJuIGU8MD90aGlzLnJTaGlmdFRvKC1lLHQpOnRoaXMubFNoaWZ0VG8oZSx0KSx0fSxvLnByb3RvdHlwZS5zaGlmdFJpZ2h0PWZ1bmN0aW9uKGUpe3ZhciB0PWEoKTtyZXR1cm4gZTwwP3RoaXMubFNoaWZ0VG8oLWUsdCk6dGhpcy5yU2hpZnRUbyhlLHQpLHR9LG8ucHJvdG90eXBlLmdldExvd2VzdFNldEJpdD1mdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8dGhpcy50OysrZSlpZigwIT10aGlzLmRhdGFbZV0pcmV0dXJuIGUqdGhpcy5EQitFKHRoaXMuZGF0YVtlXSk7cmV0dXJuIHRoaXMuczwwP3RoaXMudCp0aGlzLkRCOi0xfSxvLnByb3RvdHlwZS5iaXRDb3VudD1mdW5jdGlvbigpe2Zvcih2YXIgZT0wLHQ9dGhpcy5zJnRoaXMuRE0scj0wO3I8dGhpcy50OysrcillKz13KHRoaXMuZGF0YVtyXV50KTtyZXR1cm4gZX0sby5wcm90b3R5cGUudGVzdEJpdD1mdW5jdGlvbihlKXt2YXIgdD1NYXRoLmZsb29yKGUvdGhpcy5EQik7cmV0dXJuIHQ+PXRoaXMudD8wIT10aGlzLnM6MCE9KHRoaXMuZGF0YVt0XSYxPDxlJXRoaXMuREIpfSxvLnByb3RvdHlwZS5zZXRCaXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY2hhbmdlQml0KGUsYil9LG8ucHJvdG90eXBlLmNsZWFyQml0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNoYW5nZUJpdChlLFMpfSxvLnByb3RvdHlwZS5mbGlwQml0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNoYW5nZUJpdChlLF8pfSxvLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLmFkZFRvKGUsdCksdH0sby5wcm90b3R5cGUuc3VidHJhY3Q9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLnN1YlRvKGUsdCksdH0sby5wcm90b3R5cGUubXVsdGlwbHk9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLm11bHRpcGx5VG8oZSx0KSx0fSxvLnByb3RvdHlwZS5kaXZpZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLmRpdlJlbVRvKGUsdCxudWxsKSx0fSxvLnByb3RvdHlwZS5yZW1haW5kZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLmRpdlJlbVRvKGUsbnVsbCx0KSx0fSxvLnByb3RvdHlwZS5kaXZpZGVBbmRSZW1haW5kZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpLHI9YSgpO3JldHVybiB0aGlzLmRpdlJlbVRvKGUsdCxyKSxuZXcgQXJyYXkodCxyKX0sby5wcm90b3R5cGUubW9kUG93PWZ1bmN0aW9uKGUsdCl7dmFyIHIsbixpPWUuYml0TGVuZ3RoKCksbz1kKDEpO2lmKGk8PTApcmV0dXJuIG87cj1pPDE4PzE6aTw0OD8zOmk8MTQ0PzQ6aTw3Njg/NTo2LG49aTw4P25ldyBnKHQpOnQuaXNFdmVuKCk/bmV3IEModCk6bmV3IHYodCk7dmFyIHM9bmV3IEFycmF5LHU9MyxjPXItMSxmPSgxPDxyKS0xO2lmKHNbMV09bi5jb252ZXJ0KHRoaXMpLHI+MSl7dmFyIGw9YSgpO2ZvcihuLnNxclRvKHNbMV0sbCk7dTw9Zjspc1t1XT1hKCksbi5tdWxUbyhsLHNbdS0yXSxzW3VdKSx1Kz0yfXZhciBoLHAsbT1lLnQtMSxiPSEwLF89YSgpO2ZvcihpPXkoZS5kYXRhW21dKS0xO20+PTA7KXtmb3IoaT49Yz9oPWUuZGF0YVttXT4+aS1jJmY6KGg9KGUuZGF0YVttXSYoMTw8aSsxKS0xKTw8Yy1pLG0+MCYmKGh8PWUuZGF0YVttLTFdPj50aGlzLkRCK2ktYykpLHU9cjswPT0oMSZoKTspaD4+PTEsLS11O2lmKChpLT11KTwwJiYoaSs9dGhpcy5EQiwtLW0pLGIpc1toXS5jb3B5VG8obyksYj0hMTtlbHNle2Zvcig7dT4xOyluLnNxclRvKG8sXyksbi5zcXJUbyhfLG8pLHUtPTI7dT4wP24uc3FyVG8obyxfKToocD1vLG89XyxfPXApLG4ubXVsVG8oXyxzW2hdLG8pfWZvcig7bT49MCYmMD09KGUuZGF0YVttXSYxPDxpKTspbi5zcXJUbyhvLF8pLHA9byxvPV8sXz1wLC0taTwwJiYoaT10aGlzLkRCLTEsLS1tKX1yZXR1cm4gbi5yZXZlcnQobyl9LG8ucHJvdG90eXBlLm1vZEludmVyc2U9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5pc0V2ZW4oKTtpZih0aGlzLmlzRXZlbigpJiZ0fHwwPT1lLnNpZ251bSgpKXJldHVybiBvLlpFUk87Zm9yKHZhciByPWUuY2xvbmUoKSxuPXRoaXMuY2xvbmUoKSxpPWQoMSksYT1kKDApLHM9ZCgwKSx1PWQoMSk7MCE9ci5zaWdudW0oKTspe2Zvcig7ci5pc0V2ZW4oKTspci5yU2hpZnRUbygxLHIpLHQ/KGkuaXNFdmVuKCkmJmEuaXNFdmVuKCl8fChpLmFkZFRvKHRoaXMsaSksYS5zdWJUbyhlLGEpKSxpLnJTaGlmdFRvKDEsaSkpOmEuaXNFdmVuKCl8fGEuc3ViVG8oZSxhKSxhLnJTaGlmdFRvKDEsYSk7Zm9yKDtuLmlzRXZlbigpOyluLnJTaGlmdFRvKDEsbiksdD8ocy5pc0V2ZW4oKSYmdS5pc0V2ZW4oKXx8KHMuYWRkVG8odGhpcyxzKSx1LnN1YlRvKGUsdSkpLHMuclNoaWZ0VG8oMSxzKSk6dS5pc0V2ZW4oKXx8dS5zdWJUbyhlLHUpLHUuclNoaWZ0VG8oMSx1KTtyLmNvbXBhcmVUbyhuKT49MD8oci5zdWJUbyhuLHIpLHQmJmkuc3ViVG8ocyxpKSxhLnN1YlRvKHUsYSkpOihuLnN1YlRvKHIsbiksdCYmcy5zdWJUbyhpLHMpLHUuc3ViVG8oYSx1KSl9cmV0dXJuIDAhPW4uY29tcGFyZVRvKG8uT05FKT9vLlpFUk86dS5jb21wYXJlVG8oZSk+PTA/dS5zdWJ0cmFjdChlKTp1LnNpZ251bSgpPDA/KHUuYWRkVG8oZSx1KSx1LnNpZ251bSgpPDA/dS5hZGQoZSk6dSk6dX0sby5wcm90b3R5cGUucG93PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmV4cChlLG5ldyBUKX0sby5wcm90b3R5cGUuZ2NkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuczwwP3RoaXMubmVnYXRlKCk6dGhpcy5jbG9uZSgpLHI9ZS5zPDA/ZS5uZWdhdGUoKTplLmNsb25lKCk7aWYodC5jb21wYXJlVG8ocik8MCl7dmFyIG49dDt0PXIscj1ufXZhciBpPXQuZ2V0TG93ZXN0U2V0Qml0KCksbz1yLmdldExvd2VzdFNldEJpdCgpO2lmKG88MClyZXR1cm4gdDtmb3IoaTxvJiYobz1pKSxvPjAmJih0LnJTaGlmdFRvKG8sdCksci5yU2hpZnRUbyhvLHIpKTt0LnNpZ251bSgpPjA7KShpPXQuZ2V0TG93ZXN0U2V0Qml0KCkpPjAmJnQuclNoaWZ0VG8oaSx0KSwoaT1yLmdldExvd2VzdFNldEJpdCgpKT4wJiZyLnJTaGlmdFRvKGksciksdC5jb21wYXJlVG8ocik+PTA/KHQuc3ViVG8ocix0KSx0LnJTaGlmdFRvKDEsdCkpOihyLnN1YlRvKHQsciksci5yU2hpZnRUbygxLHIpKTtyZXR1cm4gbz4wJiZyLmxTaGlmdFRvKG8scikscn0sby5wcm90b3R5cGUuaXNQcm9iYWJsZVByaW1lPWZ1bmN0aW9uKGUpe3ZhciB0LHI9dGhpcy5hYnMoKTtpZigxPT1yLnQmJnIuZGF0YVswXTw9eFt4Lmxlbmd0aC0xXSl7Zm9yKHQ9MDt0PHgubGVuZ3RoOysrdClpZihyLmRhdGFbMF09PXhbdF0pcmV0dXJuITA7cmV0dXJuITF9aWYoci5pc0V2ZW4oKSlyZXR1cm4hMTtmb3IodD0xO3Q8eC5sZW5ndGg7KXtmb3IodmFyIG49eFt0XSxpPXQrMTtpPHgubGVuZ3RoJiZuPEk7KW4qPXhbaSsrXTtmb3Iobj1yLm1vZEludChuKTt0PGk7KWlmKG4leFt0KytdPT0wKXJldHVybiExfXJldHVybiByLm1pbGxlclJhYmluKGUpfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cigxMzMpLGk9cig2MzcpLG89cig2NyksYT1yKDc5KTt0LmJhc2U2NERlY29kZT1mdW5jdGlvbihlKXtyZXR1cm4gYS5zdHJpbmdUb0J5dGVzKG4udXRpbC5kZWNvZGU2NChlKSwicmF3Iil9LHQuYmFzZTY0RW5jb2RlPWZ1bmN0aW9uKGUpe3JldHVybiBuLnV0aWwuZW5jb2RlNjQoYS5ieXRlc1RvU3RyaW5nKG8uX2Zyb21JbihlKSwicmF3IikpfSx0LmJhc2U1OERlY29kZT1mdW5jdGlvbihlKXtyZXR1cm4gaS5kZWZhdWx0LmRlY29kZShlKX0sdC5iYXNlNThFbmNvZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGVmYXVsdC5lbmNvZGUoby5fZnJvbUluKGUpKX0sdC5iYXNlMTZEZWNvZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGEuc3RyaW5nVG9CeXRlcyhuLnV0aWwuaGV4VG9CeXRlcyhlKSwicmF3Iil9LHQuYmFzZTE2RW5jb2RlPWZ1bmN0aW9uKGUpe3JldHVybiBuLnV0aWwuYnl0ZXNUb0hleChhLmJ5dGVzVG9TdHJpbmcoby5fZnJvbUluKGUpLCJyYXciKSl9fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXRoaXMmJnRoaXMuX19yZWFkfHxmdW5jdGlvbihlLHQpe3ZhciByPSJmdW5jdGlvbiI9PT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl07aWYoIXIpcmV0dXJuIGU7dmFyIG4saSxvPXIuY2FsbChlKSxhPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT10fHx0LS0gPjApJiYhKG49by5uZXh0KCkpLmRvbmU7KWEucHVzaChuLnZhbHVlKX1jYXRjaChzKXtpPXtlcnJvcjpzfX1maW5hbGx5e3RyeXtuJiYhbi5kb25lJiYocj1vLnJldHVybikmJnIuY2FsbChvKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19cmV0dXJuIGF9LGk9dGhpcyYmdGhpcy5fX3NwcmVhZHx8ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZT1lLmNvbmNhdChuKGFyZ3VtZW50c1t0XSkpO3JldHVybiBlfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG89cig2Nyk7dC5jb25jYXQ9ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07cmV0dXJuIGUucmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShpKGUsby5fZnJvbUluKHQpKSl9LG5ldyBVaW50OEFycmF5KDApKX0sdC5zcGxpdD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9W10scj0xO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyLTFdPWFyZ3VtZW50c1tyXTt2YXIgbj10LnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybnthcnI6ZS5hcnIuc2xpY2UodCkscjppKGUucixbZS5hcnIuc2xpY2UoMCx0KV0pfX0se2FycjpvLl9mcm9tSW4oZSkscjpbXX0pLGE9bi5yLHM9bi5hcnI7cmV0dXJuIGkoYSxbc10pfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt0Ll9fZXNNb2R1bGU9ITA7dmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKSxpPWZ1bmN0aW9uKGUpe3ZhciB0LHI9bmV3IEZsb2F0NjRBcnJheSgxNik7aWYoZSlmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKXJbdF09ZVt0XTtyZXR1cm4gcn0sbz0obmV3IFVpbnQ4QXJyYXkoMTYpLG5ldyBVaW50OEFycmF5KDMyKSk7b1swXT05O3ZhciBhPWkoKSxzPWkoWzFdKSx1PWkoWzU2MTI5LDFdKSxjPWkoWzMwODgzLDQ5NTMsMTk5MTQsMzAxODcsNTU0NjcsMTY3MDUsMjYzNywxMTIsNTk1NDQsMzA1ODUsMTY1MDUsMzYwMzksNjUxMzksMTExMTksMjc4ODYsMjA5OTVdKSxmPWkoWzYxNzg1LDk5MDYsMzk4MjgsNjAzNzQsNDUzOTgsMzM0MTEsNTI3NCwyMjQsNTM1NTIsNjExNzEsMzMwMTAsNjU0Miw2NDc0MywyMjIzOSw1NTc3Miw5MjIyXSksbD1pKFs1NDU1NCwzNjY0NSwxMTYxNiw1MTU0Miw0MjkzMCwzODE4MSw1MTA0MCwyNjkyNCw1NjQxMiw2NDk4Miw1NzkwNSw0OTMxNiwyMTUwMiw1MjU5MCwxNDAzNSw4NTUzXSksaD1pKFsyNjIwMCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNF0pLHA9aShbNDExMzYsMTg5NTgsNjk1MSw1MDQxNCw1ODQ4OCw0NDMzNSw2MTUwLDEyMDk5LDU1MjA3LDE1ODY3LDE1MywxMTA4NSw1NzA5OSwyMDQxNyw5MzQ0LDExMTM5XSk7ZnVuY3Rpb24gZChlLHQscixuKXtlW3RdPXI+PjI0JjI1NSxlW3QrMV09cj4+MTYmMjU1LGVbdCsyXT1yPj44JjI1NSxlW3QrM109MjU1JnIsZVt0KzRdPW4+PjI0JjI1NSxlW3QrNV09bj4+MTYmMjU1LGVbdCs2XT1uPj44JjI1NSxlW3QrN109MjU1Jm59ZnVuY3Rpb24geShlLHQscixuKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbixpKXt2YXIgbyxhPTA7Zm9yKG89MDtvPGk7bysrKWF8PWVbdCtvXV5yW24rb107cmV0dXJuKDEmYS0xPj4+OCktMX0oZSx0LHIsbiwzMil9ZnVuY3Rpb24gZyhlLHQpe2Zvcih2YXIgcj0wO3I8MTY7cisrKWVbcl09MHx0W3JdfWZ1bmN0aW9uIHYoZSl7dmFyIHQscixuPTE7Zm9yKHQ9MDt0PDE2O3QrKylyPWVbdF0rbis2NTUzNSxuPU1hdGguZmxvb3Ioci82NTUzNiksZVt0XT1yLTY1NTM2Km47ZVswXSs9bi0xKzM3KihuLTEpfWZ1bmN0aW9uIG0oZSx0LHIpe2Zvcih2YXIgbixpPX4oci0xKSxvPTA7bzwxNjtvKyspbj1pJihlW29dXnRbb10pLGVbb11ePW4sdFtvXV49bn1mdW5jdGlvbiBiKGUsdCl7dmFyIHIsbixvLGE9aSgpLHM9aSgpO2ZvcihyPTA7cjwxNjtyKyspc1tyXT10W3JdO2Zvcih2KHMpLHYocyksdihzKSxuPTA7bjwyO24rKyl7Zm9yKGFbMF09c1swXS02NTUxNyxyPTE7cjwxNTtyKyspYVtyXT1zW3JdLTY1NTM1LShhW3ItMV0+PjE2JjEpLGFbci0xXSY9NjU1MzU7YVsxNV09c1sxNV0tMzI3NjctKGFbMTRdPj4xNiYxKSxvPWFbMTVdPj4xNiYxLGFbMTRdJj02NTUzNSxtKHMsYSwxLW8pfWZvcihyPTA7cjwxNjtyKyspZVsyKnJdPTI1NSZzW3JdLGVbMipyKzFdPXNbcl0+Pjh9ZnVuY3Rpb24gXyhlLHQpe3ZhciByPW5ldyBVaW50OEFycmF5KDMyKSxuPW5ldyBVaW50OEFycmF5KDMyKTtyZXR1cm4gYihyLGUpLGIobix0KSx5KHIsMCxuLDApfWZ1bmN0aW9uIFMoZSl7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoMzIpO3JldHVybiBiKHQsZSksMSZ0WzBdfWZ1bmN0aW9uIEUoZSx0KXtmb3IodmFyIHI9MDtyPDE2O3IrKyllW3JdPXRbMipyXSsodFsyKnIrMV08PDgpO2VbMTVdJj0zMjc2N31mdW5jdGlvbiB3KGUsdCxyKXtmb3IodmFyIG49MDtuPDE2O24rKyllW25dPXRbbl0rcltuXX1mdW5jdGlvbiBUKGUsdCxyKXtmb3IodmFyIG49MDtuPDE2O24rKyllW25dPXRbbl0tcltuXX1mdW5jdGlvbiBBKGUsdCxyKXt2YXIgbixpLG89MCxhPTAscz0wLHU9MCxjPTAsZj0wLGw9MCxoPTAscD0wLGQ9MCx5PTAsZz0wLHY9MCxtPTAsYj0wLF89MCxTPTAsRT0wLHc9MCxUPTAsQT0wLEM9MCx4PTAsST0wLGs9MCxPPTAsTj0wLFA9MCxSPTAsQj0wLE09MCxMPXJbMF0sRD1yWzFdLGo9clsyXSxVPXJbM10sRj1yWzRdLFY9cls1XSxxPXJbNl0sSz1yWzddLHo9cls4XSxHPXJbOV0sSD1yWzEwXSxXPXJbMTFdLFk9clsxMl0sWD1yWzEzXSxRPXJbMTRdLCQ9clsxNV07bys9KG49dFswXSkqTCxhKz1uKkQscys9bipqLHUrPW4qVSxjKz1uKkYsZis9bipWLGwrPW4qcSxoKz1uKksscCs9bip6LGQrPW4qRyx5Kz1uKkgsZys9bipXLHYrPW4qWSxtKz1uKlgsYis9bipRLF8rPW4qJCxhKz0obj10WzFdKSpMLHMrPW4qRCx1Kz1uKmosYys9bipVLGYrPW4qRixsKz1uKlYsaCs9bipxLHArPW4qSyxkKz1uKnoseSs9bipHLGcrPW4qSCx2Kz1uKlcsbSs9bipZLGIrPW4qWCxfKz1uKlEsUys9biokLHMrPShuPXRbMl0pKkwsdSs9bipELGMrPW4qaixmKz1uKlUsbCs9bipGLGgrPW4qVixwKz1uKnEsZCs9bipLLHkrPW4qeixnKz1uKkcsdis9bipILG0rPW4qVyxiKz1uKlksXys9bipYLFMrPW4qUSxFKz1uKiQsdSs9KG49dFszXSkqTCxjKz1uKkQsZis9bipqLGwrPW4qVSxoKz1uKkYscCs9bipWLGQrPW4qcSx5Kz1uKkssZys9bip6LHYrPW4qRyxtKz1uKkgsYis9bipXLF8rPW4qWSxTKz1uKlgsRSs9bipRLHcrPW4qJCxjKz0obj10WzRdKSpMLGYrPW4qRCxsKz1uKmosaCs9bipVLHArPW4qRixkKz1uKlYseSs9bipxLGcrPW4qSyx2Kz1uKnosbSs9bipHLGIrPW4qSCxfKz1uKlcsUys9bipZLEUrPW4qWCx3Kz1uKlEsVCs9biokLGYrPShuPXRbNV0pKkwsbCs9bipELGgrPW4qaixwKz1uKlUsZCs9bipGLHkrPW4qVixnKz1uKnEsdis9bipLLG0rPW4qeixiKz1uKkcsXys9bipILFMrPW4qVyxFKz1uKlksdys9bipYLFQrPW4qUSxBKz1uKiQsbCs9KG49dFs2XSkqTCxoKz1uKkQscCs9bipqLGQrPW4qVSx5Kz1uKkYsZys9bipWLHYrPW4qcSxtKz1uKkssYis9bip6LF8rPW4qRyxTKz1uKkgsRSs9bipXLHcrPW4qWSxUKz1uKlgsQSs9bipRLEMrPW4qJCxoKz0obj10WzddKSpMLHArPW4qRCxkKz1uKmoseSs9bipVLGcrPW4qRix2Kz1uKlYsbSs9bipxLGIrPW4qSyxfKz1uKnosUys9bipHLEUrPW4qSCx3Kz1uKlcsVCs9bipZLEErPW4qWCxDKz1uKlEseCs9biokLHArPShuPXRbOF0pKkwsZCs9bipELHkrPW4qaixnKz1uKlUsdis9bipGLG0rPW4qVixiKz1uKnEsXys9bipLLFMrPW4qeixFKz1uKkcsdys9bipILFQrPW4qVyxBKz1uKlksQys9bipYLHgrPW4qUSxJKz1uKiQsZCs9KG49dFs5XSkqTCx5Kz1uKkQsZys9bipqLHYrPW4qVSxtKz1uKkYsYis9bipWLF8rPW4qcSxTKz1uKkssRSs9bip6LHcrPW4qRyxUKz1uKkgsQSs9bipXLEMrPW4qWSx4Kz1uKlgsSSs9bipRLGsrPW4qJCx5Kz0obj10WzEwXSkqTCxnKz1uKkQsdis9bipqLG0rPW4qVSxiKz1uKkYsXys9bipWLFMrPW4qcSxFKz1uKkssdys9bip6LFQrPW4qRyxBKz1uKkgsQys9bipXLHgrPW4qWSxJKz1uKlgsays9bipRLE8rPW4qJCxnKz0obj10WzExXSkqTCx2Kz1uKkQsbSs9bipqLGIrPW4qVSxfKz1uKkYsUys9bipWLEUrPW4qcSx3Kz1uKkssVCs9bip6LEErPW4qRyxDKz1uKkgseCs9bipXLEkrPW4qWSxrKz1uKlgsTys9bipRLE4rPW4qJCx2Kz0obj10WzEyXSkqTCxtKz1uKkQsYis9bipqLF8rPW4qVSxTKz1uKkYsRSs9bipWLHcrPW4qcSxUKz1uKkssQSs9bip6LEMrPW4qRyx4Kz1uKkgsSSs9bipXLGsrPW4qWSxPKz1uKlgsTis9bipRLFArPW4qJCxtKz0obj10WzEzXSkqTCxiKz1uKkQsXys9bipqLFMrPW4qVSxFKz1uKkYsdys9bipWLFQrPW4qcSxBKz1uKkssQys9bip6LHgrPW4qRyxJKz1uKkgsays9bipXLE8rPW4qWSxOKz1uKlgsUCs9bipRLFIrPW4qJCxiKz0obj10WzE0XSkqTCxfKz1uKkQsUys9bipqLEUrPW4qVSx3Kz1uKkYsVCs9bipWLEErPW4qcSxDKz1uKksseCs9bip6LEkrPW4qRyxrKz1uKkgsTys9bipXLE4rPW4qWSxQKz1uKlgsUis9bipRLEIrPW4qJCxfKz0obj10WzE1XSkqTCxhKz0zOCooRSs9bipqKSxzKz0zOCoodys9bipVKSx1Kz0zOCooVCs9bipGKSxjKz0zOCooQSs9bipWKSxmKz0zOCooQys9bipxKSxsKz0zOCooeCs9bipLKSxoKz0zOCooSSs9bip6KSxwKz0zOCooays9bipHKSxkKz0zOCooTys9bipIKSx5Kz0zOCooTis9bipXKSxnKz0zOCooUCs9bipZKSx2Kz0zOCooUis9bipYKSxtKz0zOCooQis9bipRKSxiKz0zOCooTSs9biokKSxvPShuPShvKz0zOCooUys9bipEKSkrKGk9MSkrNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGE9KG49YStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxzPShuPXMraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksdT0obj11K2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGM9KG49YytpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxmPShuPWYraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksbD0obj1sK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGg9KG49aCtpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxwPShuPXAraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksZD0obj1kK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLHk9KG49eStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxnPShuPWcraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksdj0obj12K2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLG09KG49bStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxiPShuPWIraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksXz0obj1fK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLG89KG49KG8rPWktMSszNyooaS0xKSkrKGk9MSkrNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGE9KG49YStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxzPShuPXMraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksdT0obj11K2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGM9KG49YytpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxmPShuPWYraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksbD0obj1sK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGg9KG49aCtpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxwPShuPXAraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksZD0obj1kK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLHk9KG49eStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxnPShuPWcraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksdj0obj12K2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLG09KG49bStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxiPShuPWIraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksXz0obj1fK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLG8rPWktMSszNyooaS0xKSxlWzBdPW8sZVsxXT1hLGVbMl09cyxlWzNdPXUsZVs0XT1jLGVbNV09ZixlWzZdPWwsZVs3XT1oLGVbOF09cCxlWzldPWQsZVsxMF09eSxlWzExXT1nLGVbMTJdPXYsZVsxM109bSxlWzE0XT1iLGVbMTVdPV99ZnVuY3Rpb24gQyhlLHQpe0EoZSx0LHQpfWZ1bmN0aW9uIHgoZSx0KXt2YXIgcixuPWkoKTtmb3Iocj0wO3I8MTY7cisrKW5bcl09dFtyXTtmb3Iocj0yNTM7cj49MDtyLS0pQyhuLG4pLDIhPT1yJiY0IT09ciYmQShuLG4sdCk7Zm9yKHI9MDtyPDE2O3IrKyllW3JdPW5bcl19ZnVuY3Rpb24gSShlLHQscil7dmFyIG4sbyxhPW5ldyBVaW50OEFycmF5KDMyKSxzPW5ldyBGbG9hdDY0QXJyYXkoODApLGM9aSgpLGY9aSgpLGw9aSgpLGg9aSgpLHA9aSgpLGQ9aSgpO2ZvcihvPTA7bzwzMTtvKyspYVtvXT10W29dO2ZvcihhWzMxXT0xMjcmdFszMV18NjQsYVswXSY9MjQ4LEUocyxyKSxvPTA7bzwxNjtvKyspZltvXT1zW29dLGhbb109Y1tvXT1sW29dPTA7Zm9yKGNbMF09aFswXT0xLG89MjU0O28+PTA7LS1vKW0oYyxmLG49YVtvPj4+M10+Pj4oNyZvKSYxKSxtKGwsaCxuKSx3KHAsYyxsKSxUKGMsYyxsKSx3KGwsZixoKSxUKGYsZixoKSxDKGgscCksQyhkLGMpLEEoYyxsLGMpLEEobCxmLHApLHcocCxjLGwpLFQoYyxjLGwpLEMoZixjKSxUKGwsaCxkKSxBKGMsbCx1KSx3KGMsYyxoKSxBKGwsbCxjKSxBKGMsaCxkKSxBKGgsZixzKSxDKGYscCksbShjLGYsbiksbShsLGgsbik7Zm9yKG89MDtvPDE2O28rKylzW28rMTZdPWNbb10sc1tvKzMyXT1sW29dLHNbbys0OF09ZltvXSxzW28rNjRdPWhbb107dmFyIHk9cy5zdWJhcnJheSgzMiksZz1zLnN1YmFycmF5KDE2KTtyZXR1cm4geCh5LHkpLEEoZyxnLHkpLGIoZSxnKSwwfXZhciBrPVsxMTE2MzUyNDA4LDM2MDk3Njc0NTgsMTg5OTQ0NzQ0MSw2MDI4OTE3MjUsMzA0OTMyMzQ3MSwzOTY0NDg0Mzk5LDM5MjEwMDk1NzMsMjE3MzI5NTU0OCw5NjE5ODcxNjMsNDA4MTYyODQ3MiwxNTA4OTcwOTkzLDMwNTM4MzQyNjUsMjQ1MzYzNTc0OCwyOTM3NjcxNTc5LDI4NzA3NjMyMjEsMzY2NDY="
}
Changelog:
{
"2020.06.16 14:09": "base64:LTE7cj49MDstLXIpdC5kYXRhW3JdPTA7dC50PXRoaXMudCtlLHQucz10aGlzLnN9LG8ucHJvdG90eXBlLmRyU2hpZnRUbz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1lO3I8dGhpcy50Oysrcil0LmRhdGFbci1lXT10aGlzLmRhdGFbcl07dC50PU1hdGgubWF4KHRoaXMudC1lLDApLHQucz10aGlzLnN9LG8ucHJvdG90eXBlLmxTaGlmdFRvPWZ1bmN0aW9uKGUsdCl7dmFyIHIsbj1lJXRoaXMuREIsaT10aGlzLkRCLW4sbz0oMTw8aSktMSxhPU1hdGguZmxvb3IoZS90aGlzLkRCKSxzPXRoaXMuczw8biZ0aGlzLkRNO2ZvcihyPXRoaXMudC0xO3I+PTA7LS1yKXQuZGF0YVtyK2ErMV09dGhpcy5kYXRhW3JdPj5pfHMscz0odGhpcy5kYXRhW3JdJm8pPDxuO2ZvcihyPWEtMTtyPj0wOy0tcil0LmRhdGFbcl09MDt0LmRhdGFbYV09cyx0LnQ9dGhpcy50K2ErMSx0LnM9dGhpcy5zLHQuY2xhbXAoKX0sby5wcm90b3R5cGUuclNoaWZ0VG89ZnVuY3Rpb24oZSx0KXt0LnM9dGhpcy5zO3ZhciByPU1hdGguZmxvb3IoZS90aGlzLkRCKTtpZihyPj10aGlzLnQpdC50PTA7ZWxzZXt2YXIgbj1lJXRoaXMuREIsaT10aGlzLkRCLW4sbz0oMTw8biktMTt0LmRhdGFbMF09dGhpcy5kYXRhW3JdPj5uO2Zvcih2YXIgYT1yKzE7YTx0aGlzLnQ7KythKXQuZGF0YVthLXItMV18PSh0aGlzLmRhdGFbYV0mbyk8PGksdC5kYXRhW2Etcl09dGhpcy5kYXRhW2FdPj5uO24+MCYmKHQuZGF0YVt0aGlzLnQtci0xXXw9KHRoaXMucyZvKTw8aSksdC50PXRoaXMudC1yLHQuY2xhbXAoKX19LG8ucHJvdG90eXBlLnN1YlRvPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPTAsbj0wLGk9TWF0aC5taW4oZS50LHRoaXMudCk7cjxpOyluKz10aGlzLmRhdGFbcl0tZS5kYXRhW3JdLHQuZGF0YVtyKytdPW4mdGhpcy5ETSxuPj49dGhpcy5EQjtpZihlLnQ8dGhpcy50KXtmb3Iobi09ZS5zO3I8dGhpcy50OyluKz10aGlzLmRhdGFbcl0sdC5kYXRhW3IrK109biZ0aGlzLkRNLG4+Pj10aGlzLkRCO24rPXRoaXMuc31lbHNle2ZvcihuKz10aGlzLnM7cjxlLnQ7KW4tPWUuZGF0YVtyXSx0LmRhdGFbcisrXT1uJnRoaXMuRE0sbj4+PXRoaXMuREI7bi09ZS5zfXQucz1uPDA/LTE6MCxuPC0xP3QuZGF0YVtyKytdPXRoaXMuRFYrbjpuPjAmJih0LmRhdGFbcisrXT1uKSx0LnQ9cix0LmNsYW1wKCl9LG8ucHJvdG90eXBlLm11bHRpcGx5VG89ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLmFicygpLG49ZS5hYnMoKSxpPXIudDtmb3IodC50PWkrbi50Oy0taT49MDspdC5kYXRhW2ldPTA7Zm9yKGk9MDtpPG4udDsrK2kpdC5kYXRhW2krci50XT1yLmFtKDAsbi5kYXRhW2ldLHQsaSwwLHIudCk7dC5zPTAsdC5jbGFtcCgpLHRoaXMucyE9ZS5zJiZvLlpFUk8uc3ViVG8odCx0KX0sby5wcm90b3R5cGUuc3F1YXJlVG89ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXRoaXMuYWJzKCkscj1lLnQ9Mip0LnQ7LS1yPj0wOyllLmRhdGFbcl09MDtmb3Iocj0wO3I8dC50LTE7KytyKXt2YXIgbj10LmFtKHIsdC5kYXRhW3JdLGUsMipyLDAsMSk7KGUuZGF0YVtyK3QudF0rPXQuYW0ocisxLDIqdC5kYXRhW3JdLGUsMipyKzEsbix0LnQtci0xKSk+PXQuRFYmJihlLmRhdGFbcit0LnRdLT10LkRWLGUuZGF0YVtyK3QudCsxXT0xKX1lLnQ+MCYmKGUuZGF0YVtlLnQtMV0rPXQuYW0ocix0LmRhdGFbcl0sZSwyKnIsMCwxKSksZS5zPTAsZS5jbGFtcCgpfSxvLnByb3RvdHlwZS5kaXZSZW1Ubz1mdW5jdGlvbihlLHQscil7dmFyIG49ZS5hYnMoKTtpZighKG4udDw9MCkpe3ZhciBpPXRoaXMuYWJzKCk7aWYoaS50PG4udClyZXR1cm4gbnVsbCE9dCYmdC5mcm9tSW50KDApLHZvaWQobnVsbCE9ciYmdGhpcy5jb3B5VG8ocikpO251bGw9PXImJihyPWEoKSk7dmFyIHM9YSgpLHU9dGhpcy5zLGM9ZS5zLGY9dGhpcy5EQi15KG4uZGF0YVtuLnQtMV0pO2Y+MD8obi5sU2hpZnRUbyhmLHMpLGkubFNoaWZ0VG8oZixyKSk6KG4uY29weVRvKHMpLGkuY29weVRvKHIpKTt2YXIgbD1zLnQsaD1zLmRhdGFbbC0xXTtpZigwIT1oKXt2YXIgcD1oKigxPDx0aGlzLkYxKSsobD4xP3MuZGF0YVtsLTJdPj50aGlzLkYyOjApLGQ9dGhpcy5GVi9wLGc9KDE8PHRoaXMuRjEpL3Asdj0xPDx0aGlzLkYyLG09ci50LGI9bS1sLF89bnVsbD09dD9hKCk6dDtmb3Iocy5kbFNoaWZ0VG8oYixfKSxyLmNvbXBhcmVUbyhfKT49MCYmKHIuZGF0YVtyLnQrK109MSxyLnN1YlRvKF8scikpLG8uT05FLmRsU2hpZnRUbyhsLF8pLF8uc3ViVG8ocyxzKTtzLnQ8bDspcy5kYXRhW3MudCsrXT0wO2Zvcig7LS1iPj0wOyl7dmFyIFM9ci5kYXRhWy0tbV09PWg/dGhpcy5ETTpNYXRoLmZsb29yKHIuZGF0YVttXSpkKyhyLmRhdGFbbS0xXSt2KSpnKTtpZigoci5kYXRhW21dKz1zLmFtKDAsUyxyLGIsMCxsKSk8Uylmb3Iocy5kbFNoaWZ0VG8oYixfKSxyLnN1YlRvKF8scik7ci5kYXRhW21dPC0tUzspci5zdWJUbyhfLHIpfW51bGwhPXQmJihyLmRyU2hpZnRUbyhsLHQpLHUhPWMmJm8uWkVSTy5zdWJUbyh0LHQpKSxyLnQ9bCxyLmNsYW1wKCksZj4wJiZyLnJTaGlmdFRvKGYsciksdTwwJiZvLlpFUk8uc3ViVG8ocixyKX19fSxvLnByb3RvdHlwZS5pbnZEaWdpdD1mdW5jdGlvbigpe2lmKHRoaXMudDwxKXJldHVybiAwO3ZhciBlPXRoaXMuZGF0YVswXTtpZigwPT0oMSZlKSlyZXR1cm4gMDt2YXIgdD0zJmU7cmV0dXJuKHQ9KHQ9KHQ9KHQ9dCooMi0oMTUmZSkqdCkmMTUpKigyLSgyNTUmZSkqdCkmMjU1KSooMi0oKDY1NTM1JmUpKnQmNjU1MzUpKSY2NTUzNSkqKDItZSp0JXRoaXMuRFYpJXRoaXMuRFYpPjA/dGhpcy5EVi10Oi10fSxvLnByb3RvdHlwZS5pc0V2ZW49ZnVuY3Rpb24oKXtyZXR1cm4gMD09KHRoaXMudD4wPzEmdGhpcy5kYXRhWzBdOnRoaXMucyl9LG8ucHJvdG90eXBlLmV4cD1mdW5jdGlvbihlLHQpe2lmKGU+NDI5NDk2NzI5NXx8ZTwxKXJldHVybiBvLk9ORTt2YXIgcj1hKCksbj1hKCksaT10LmNvbnZlcnQodGhpcykscz15KGUpLTE7Zm9yKGkuY29weVRvKHIpOy0tcz49MDspaWYodC5zcXJUbyhyLG4pLChlJjE8PHMpPjApdC5tdWxUbyhuLGkscik7ZWxzZXt2YXIgdT1yO3I9bixuPXV9cmV0dXJuIHQucmV2ZXJ0KHIpfSxvLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbihlKXtpZih0aGlzLnM8MClyZXR1cm4iLSIrdGhpcy5uZWdhdGUoKS50b1N0cmluZyhlKTt2YXIgdDtpZigxNj09ZSl0PTQ7ZWxzZSBpZig4PT1lKXQ9MztlbHNlIGlmKDI9PWUpdD0xO2Vsc2UgaWYoMzI9PWUpdD01O2Vsc2V7aWYoNCE9ZSlyZXR1cm4gdGhpcy50b1JhZGl4KGUpO3Q9Mn12YXIgcixuPSgxPDx0KS0xLGk9ITEsbz0iIixhPXRoaXMudCxzPXRoaXMuREItYSp0aGlzLkRCJXQ7aWYoYS0tID4wKWZvcihzPHRoaXMuREImJihyPXRoaXMuZGF0YVthXT4+cyk+MCYmKGk9ITAsbz1oKHIpKTthPj0wOylzPHQ/KHI9KHRoaXMuZGF0YVthXSYoMTw8cyktMSk8PHQtcyxyfD10aGlzLmRhdGFbLS1hXT4+KHMrPXRoaXMuREItdCkpOihyPXRoaXMuZGF0YVthXT4+KHMtPXQpJm4sczw9MCYmKHMrPXRoaXMuREIsLS1hKSkscj4wJiYoaT0hMCksaSYmKG8rPWgocikpO3JldHVybiBpP286IjAifSxvLnByb3RvdHlwZS5uZWdhdGU9ZnVuY3Rpb24oKXt2YXIgZT1hKCk7cmV0dXJuIG8uWkVSTy5zdWJUbyh0aGlzLGUpLGV9LG8ucHJvdG90eXBlLmFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnM8MD90aGlzLm5lZ2F0ZSgpOnRoaXN9LG8ucHJvdG90eXBlLmNvbXBhcmVUbz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnMtZS5zO2lmKDAhPXQpcmV0dXJuIHQ7dmFyIHI9dGhpcy50O2lmKDAhPSh0PXItZS50KSlyZXR1cm4gdGhpcy5zPDA/LXQ6dDtmb3IoOy0tcj49MDspaWYoMCE9KHQ9dGhpcy5kYXRhW3JdLWUuZGF0YVtyXSkpcmV0dXJuIHQ7cmV0dXJuIDB9LG8ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnQ8PTA/MDp0aGlzLkRCKih0aGlzLnQtMSkreSh0aGlzLmRhdGFbdGhpcy50LTFdXnRoaXMucyZ0aGlzLkRNKX0sby5wcm90b3R5cGUubW9kPWZ1bmN0aW9uKGUpe3ZhciB0PWEoKTtyZXR1cm4gdGhpcy5hYnMoKS5kaXZSZW1UbyhlLG51bGwsdCksdGhpcy5zPDAmJnQuY29tcGFyZVRvKG8uWkVSTyk+MCYmZS5zdWJUbyh0LHQpLHR9LG8ucHJvdG90eXBlLm1vZFBvd0ludD1mdW5jdGlvbihlLHQpe3ZhciByO3JldHVybiByPWU8MjU2fHx0LmlzRXZlbigpP25ldyBnKHQpOm5ldyB2KHQpLHRoaXMuZXhwKGUscil9LG8uWkVSTz1kKDApLG8uT05FPWQoMSksVC5wcm90b3R5cGUuY29udmVydD1BLFQucHJvdG90eXBlLnJldmVydD1BLFQucHJvdG90eXBlLm11bFRvPWZ1bmN0aW9uKGUsdCxyKXtlLm11bHRpcGx5VG8odCxyKX0sVC5wcm90b3R5cGUuc3FyVG89ZnVuY3Rpb24oZSx0KXtlLnNxdWFyZVRvKHQpfSxDLnByb3RvdHlwZS5jb252ZXJ0PWZ1bmN0aW9uKGUpe2lmKGUuczwwfHxlLnQ+Mip0aGlzLm0udClyZXR1cm4gZS5tb2QodGhpcy5tKTtpZihlLmNvbXBhcmVUbyh0aGlzLm0pPDApcmV0dXJuIGU7dmFyIHQ9YSgpO3JldHVybiBlLmNvcHlUbyh0KSx0aGlzLnJlZHVjZSh0KSx0fSxDLnByb3RvdHlwZS5yZXZlcnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LEMucHJvdG90eXBlLnJlZHVjZT1mdW5jdGlvbihlKXtmb3IoZS5kclNoaWZ0VG8odGhpcy5tLnQtMSx0aGlzLnIyKSxlLnQ+dGhpcy5tLnQrMSYmKGUudD10aGlzLm0udCsxLGUuY2xhbXAoKSksdGhpcy5tdS5tdWx0aXBseVVwcGVyVG8odGhpcy5yMix0aGlzLm0udCsxLHRoaXMucTMpLHRoaXMubS5tdWx0aXBseUxvd2VyVG8odGhpcy5xMyx0aGlzLm0udCsxLHRoaXMucjIpO2UuY29tcGFyZVRvKHRoaXMucjIpPDA7KWUuZEFkZE9mZnNldCgxLHRoaXMubS50KzEpO2ZvcihlLnN1YlRvKHRoaXMucjIsZSk7ZS5jb21wYXJlVG8odGhpcy5tKT49MDspZS5zdWJUbyh0aGlzLm0sZSl9LEMucHJvdG90eXBlLm11bFRvPWZ1bmN0aW9uKGUsdCxyKXtlLm11bHRpcGx5VG8odCxyKSx0aGlzLnJlZHVjZShyKX0sQy5wcm90b3R5cGUuc3FyVG89ZnVuY3Rpb24oZSx0KXtlLnNxdWFyZVRvKHQpLHRoaXMucmVkdWNlKHQpfTt2YXIgeD1bMiwzLDUsNywxMSwxMywxNywxOSwyMywyOSwzMSwzNyw0MSw0Myw0Nyw1Myw1OSw2MSw2Nyw3MSw3Myw3OSw4Myw4OSw5NywxMDEsMTAzLDEwNywxMDksMTEzLDEyNywxMzEsMTM3LDEzOSwxNDksMTUxLDE1NywxNjMsMTY3LDE3MywxNzksMTgxLDE5MSwxOTMsMTk3LDE5OSwyMTEsMjIzLDIyNywyMjksMjMzLDIzOSwyNDEsMjUxLDI1NywyNjMsMjY5LDI3MSwyNzcsMjgxLDI4MywyOTMsMzA3LDMxMSwzMTMsMzE3LDMzMSwzMzcsMzQ3LDM0OSwzNTMsMzU5LDM2NywzNzMsMzc5LDM4MywzODksMzk3LDQwMSw0MDksNDE5LDQyMSw0MzEsNDMzLDQzOSw0NDMsNDQ5LDQ1Nyw0NjEsNDYzLDQ2Nyw0NzksNDg3LDQ5MSw0OTksNTAzLDUwOV0sST0oMTw8MjYpL3hbeC5sZW5ndGgtMV07by5wcm90b3R5cGUuY2h1bmtTaXplPWZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLmZsb29yKE1hdGguTE4yKnRoaXMuREIvTWF0aC5sb2coZSkpfSxvLnByb3RvdHlwZS50b1JhZGl4PWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUmJihlPTEwKSwwPT10aGlzLnNpZ251bSgpfHxlPDJ8fGU+MzYpcmV0dXJuIjAiO3ZhciB0PXRoaXMuY2h1bmtTaXplKGUpLHI9TWF0aC5wb3coZSx0KSxuPWQociksaT1hKCksbz1hKCkscz0iIjtmb3IodGhpcy5kaXZSZW1UbyhuLGksbyk7aS5zaWdudW0oKT4wOylzPShyK28uaW50VmFsdWUoKSkudG9TdHJpbmcoZSkuc3Vic3RyKDEpK3MsaS5kaXZSZW1UbyhuLGksbyk7cmV0dXJuIG8uaW50VmFsdWUoKS50b1N0cmluZyhlKStzfSxvLnByb3RvdHlwZS5mcm9tUmFkaXg9ZnVuY3Rpb24oZSx0KXt0aGlzLmZyb21JbnQoMCksbnVsbD09dCYmKHQ9MTApO2Zvcih2YXIgcj10aGlzLmNodW5rU2l6ZSh0KSxuPU1hdGgucG93KHQsciksaT0hMSxhPTAscz0wLHU9MDt1PGUubGVuZ3RoOysrdSl7dmFyIGM9cChlLHUpO2M8MD8iLSI9PWUuY2hhckF0KHUpJiYwPT10aGlzLnNpZ251bSgpJiYoaT0hMCk6KHM9dCpzK2MsKythPj1yJiYodGhpcy5kTXVsdGlwbHkobiksdGhpcy5kQWRkT2Zmc2V0KHMsMCksYT0wLHM9MCkpfWE+MCYmKHRoaXMuZE11bHRpcGx5KE1hdGgucG93KHQsYSkpLHRoaXMuZEFkZE9mZnNldChzLDApKSxpJiZvLlpFUk8uc3ViVG8odGhpcyx0aGlzKX0sby5wcm90b3R5cGUuZnJvbU51bWJlcj1mdW5jdGlvbihlLHQscil7aWYoIm51bWJlciI9PXR5cGVvZiB0KWlmKGU8Mil0aGlzLmZyb21JbnQoMSk7ZWxzZSBmb3IodGhpcy5mcm9tTnVtYmVyKGUsciksdGhpcy50ZXN0Qml0KGUtMSl8fHRoaXMuYml0d2lzZVRvKG8uT05FLnNoaWZ0TGVmdChlLTEpLGIsdGhpcyksdGhpcy5pc0V2ZW4oKSYmdGhpcy5kQWRkT2Zmc2V0KDEsMCk7IXRoaXMuaXNQcm9iYWJsZVByaW1lKHQpOyl0aGlzLmRBZGRPZmZzZXQoMiwwKSx0aGlzLmJpdExlbmd0aCgpPmUmJnRoaXMuc3ViVG8oby5PTkUuc2hpZnRMZWZ0KGUtMSksdGhpcyk7ZWxzZXt2YXIgbj1uZXcgQXJyYXksaT03JmU7bi5sZW5ndGg9MSsoZT4+MyksdC5uZXh0Qnl0ZXMobiksaT4wP25bMF0mPSgxPDxpKS0xOm5bMF09MCx0aGlzLmZyb21TdHJpbmcobiwyNTYpfX0sby5wcm90b3R5cGUuYml0d2lzZVRvPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbixpLG89TWF0aC5taW4oZS50LHRoaXMudCk7Zm9yKG49MDtuPG87KytuKXIuZGF0YVtuXT10KHRoaXMuZGF0YVtuXSxlLmRhdGFbbl0pO2lmKGUudDx0aGlzLnQpe2ZvcihpPWUucyZ0aGlzLkRNLG49bztuPHRoaXMudDsrK24pci5kYXRhW25dPXQodGhpcy5kYXRhW25dLGkpO3IudD10aGlzLnR9ZWxzZXtmb3IoaT10aGlzLnMmdGhpcy5ETSxuPW87bjxlLnQ7KytuKXIuZGF0YVtuXT10KGksZS5kYXRhW25dKTtyLnQ9ZS50fXIucz10KHRoaXMucyxlLnMpLHIuY2xhbXAoKX0sby5wcm90b3R5cGUuY2hhbmdlQml0PWZ1bmN0aW9uKGUsdCl7dmFyIHI9by5PTkUuc2hpZnRMZWZ0KGUpO3JldHVybiB0aGlzLmJpdHdpc2VUbyhyLHQscikscn0sby5wcm90b3R5cGUuYWRkVG89ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9MCxuPTAsaT1NYXRoLm1pbihlLnQsdGhpcy50KTtyPGk7KW4rPXRoaXMuZGF0YVtyXStlLmRhdGFbcl0sdC5kYXRhW3IrK109biZ0aGlzLkRNLG4+Pj10aGlzLkRCO2lmKGUudDx0aGlzLnQpe2ZvcihuKz1lLnM7cjx0aGlzLnQ7KW4rPXRoaXMuZGF0YVtyXSx0LmRhdGFbcisrXT1uJnRoaXMuRE0sbj4+PXRoaXMuREI7bis9dGhpcy5zfWVsc2V7Zm9yKG4rPXRoaXMucztyPGUudDspbis9ZS5kYXRhW3JdLHQuZGF0YVtyKytdPW4mdGhpcy5ETSxuPj49dGhpcy5EQjtuKz1lLnN9dC5zPW48MD8tMTowLG4+MD90LmRhdGFbcisrXT1uOm48LTEmJih0LmRhdGFbcisrXT10aGlzLkRWK24pLHQudD1yLHQuY2xhbXAoKX0sby5wcm90b3R5cGUuZE11bHRpcGx5PWZ1bmN0aW9uKGUpe3RoaXMuZGF0YVt0aGlzLnRdPXRoaXMuYW0oMCxlLTEsdGhpcywwLDAsdGhpcy50KSwrK3RoaXMudCx0aGlzLmNsYW1wKCl9LG8ucHJvdG90eXBlLmRBZGRPZmZzZXQ9ZnVuY3Rpb24oZSx0KXtpZigwIT1lKXtmb3IoO3RoaXMudDw9dDspdGhpcy5kYXRhW3RoaXMudCsrXT0wO2Zvcih0aGlzLmRhdGFbdF0rPWU7dGhpcy5kYXRhW3RdPj10aGlzLkRWOyl0aGlzLmRhdGFbdF0tPXRoaXMuRFYsKyt0Pj10aGlzLnQmJih0aGlzLmRhdGFbdGhpcy50KytdPTApLCsrdGhpcy5kYXRhW3RdfX0sby5wcm90b3R5cGUubXVsdGlwbHlMb3dlclRvPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbixpPU1hdGgubWluKHRoaXMudCtlLnQsdCk7Zm9yKHIucz0wLHIudD1pO2k+MDspci5kYXRhWy0taV09MDtmb3Iobj1yLnQtdGhpcy50O2k8bjsrK2kpci5kYXRhW2krdGhpcy50XT10aGlzLmFtKDAsZS5kYXRhW2ldLHIsaSwwLHRoaXMudCk7Zm9yKG49TWF0aC5taW4oZS50LHQpO2k8bjsrK2kpdGhpcy5hbSgwLGUuZGF0YVtpXSxyLGksMCx0LWkpO3IuY2xhbXAoKX0sby5wcm90b3R5cGUubXVsdGlwbHlVcHBlclRvPWZ1bmN0aW9uKGUsdCxyKXstLXQ7dmFyIG49ci50PXRoaXMudCtlLnQtdDtmb3Ioci5zPTA7LS1uPj0wOylyLmRhdGFbbl09MDtmb3Iobj1NYXRoLm1heCh0LXRoaXMudCwwKTtuPGUudDsrK24pci5kYXRhW3RoaXMudCtuLXRdPXRoaXMuYW0odC1uLGUuZGF0YVtuXSxyLDAsMCx0aGlzLnQrbi10KTtyLmNsYW1wKCksci5kclNoaWZ0VG8oMSxyKX0sby5wcm90b3R5cGUubW9kSW50PWZ1bmN0aW9uKGUpe2lmKGU8PTApcmV0dXJuIDA7dmFyIHQ9dGhpcy5EViVlLHI9dGhpcy5zPDA/ZS0xOjA7aWYodGhpcy50PjApaWYoMD09dClyPXRoaXMuZGF0YVswXSVlO2Vsc2UgZm9yKHZhciBuPXRoaXMudC0xO24+PTA7LS1uKXI9KHQqcit0aGlzLmRhdGFbbl0pJWU7cmV0dXJuIHJ9LG8ucHJvdG90eXBlLm1pbGxlclJhYmluPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuc3VidHJhY3Qoby5PTkUpLHI9dC5nZXRMb3dlc3RTZXRCaXQoKTtpZihyPD0wKXJldHVybiExO2Zvcih2YXIgbixpPXQuc2hpZnRSaWdodChyKSxhPXtuZXh0Qnl0ZXM6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDsrK3QpZVt0XT1NYXRoLmZsb29yKDI1NipNYXRoLnJhbmRvbSgpKX19LHM9MDtzPGU7KytzKXtkb3tuPW5ldyBvKHRoaXMuYml0TGVuZ3RoKCksYSl9d2hpbGUobi5jb21wYXJlVG8oby5PTkUpPD0wfHxuLmNvbXBhcmVUbyh0KT49MCk7dmFyIHU9bi5tb2RQb3coaSx0aGlzKTtpZigwIT11LmNvbXBhcmVUbyhvLk9ORSkmJjAhPXUuY29tcGFyZVRvKHQpKXtmb3IodmFyIGM9MTtjKys8ciYmMCE9dS5jb21wYXJlVG8odCk7KWlmKDA9PSh1PXUubW9kUG93SW50KDIsdGhpcykpLmNvbXBhcmVUbyhvLk9ORSkpcmV0dXJuITE7aWYoMCE9dS5jb21wYXJlVG8odCkpcmV0dXJuITF9fXJldHVybiEwfSxvLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciBlPWEoKTtyZXR1cm4gdGhpcy5jb3B5VG8oZSksZX0sby5wcm90b3R5cGUuaW50VmFsdWU9ZnVuY3Rpb24oKXtpZih0aGlzLnM8MCl7aWYoMT09dGhpcy50KXJldHVybiB0aGlzLmRhdGFbMF0tdGhpcy5EVjtpZigwPT10aGlzLnQpcmV0dXJuLTF9ZWxzZXtpZigxPT10aGlzLnQpcmV0dXJuIHRoaXMuZGF0YVswXTtpZigwPT10aGlzLnQpcmV0dXJuIDB9cmV0dXJuKHRoaXMuZGF0YVsxXSYoMTw8MzItdGhpcy5EQiktMSk8PHRoaXMuREJ8dGhpcy5kYXRhWzBdfSxvLnByb3RvdHlwZS5ieXRlVmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gMD09dGhpcy50P3RoaXMuczp0aGlzLmRhdGFbMF08PDI0Pj4yNH0sby5wcm90b3R5cGUuc2hvcnRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiAwPT10aGlzLnQ/dGhpcy5zOnRoaXMuZGF0YVswXTw8MTY+PjE2fSxvLnByb3RvdHlwZS5zaWdudW09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zPDA/LTE6dGhpcy50PD0wfHwxPT10aGlzLnQmJnRoaXMuZGF0YVswXTw9MD8wOjF9LG8ucHJvdG90eXBlLnRvQnl0ZUFycmF5PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50LHQ9bmV3IEFycmF5O3RbMF09dGhpcy5zO3ZhciByLG49dGhpcy5EQi1lKnRoaXMuREIlOCxpPTA7aWYoZS0tID4wKWZvcihuPHRoaXMuREImJihyPXRoaXMuZGF0YVtlXT4+bikhPSh0aGlzLnMmdGhpcy5ETSk+Pm4mJih0W2krK109cnx0aGlzLnM8PHRoaXMuREItbik7ZT49MDspbjw4PyhyPSh0aGlzLmRhdGFbZV0mKDE8PG4pLTEpPDw4LW4scnw9dGhpcy5kYXRhWy0tZV0+PihuKz10aGlzLkRCLTgpKToocj10aGlzLmRhdGFbZV0+PihuLT04KSYyNTUsbjw9MCYmKG4rPXRoaXMuREIsLS1lKSksMCE9KDEyOCZyKSYmKHJ8PS0yNTYpLDA9PWkmJigxMjgmdGhpcy5zKSE9KDEyOCZyKSYmKytpLChpPjB8fHIhPXRoaXMucykmJih0W2krK109cik7cmV0dXJuIHR9LG8ucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihlKXtyZXR1cm4gMD09dGhpcy5jb21wYXJlVG8oZSl9LG8ucHJvdG90eXBlLm1pbj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jb21wYXJlVG8oZSk8MD90aGlzOmV9LG8ucHJvdG90eXBlLm1heD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jb21wYXJlVG8oZSk+MD90aGlzOmV9LG8ucHJvdG90eXBlLmFuZD1mdW5jdGlvbihlKXt2YXIgdD1hKCk7cmV0dXJuIHRoaXMuYml0d2lzZVRvKGUsbSx0KSx0fSxvLnByb3RvdHlwZS5vcj1mdW5jdGlvbihlKXt2YXIgdD1hKCk7cmV0dXJuIHRoaXMuYml0d2lzZVRvKGUsYix0KSx0fSxvLnByb3RvdHlwZS54b3I9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLmJpdHdpc2VUbyhlLF8sdCksdH0sby5wcm90b3R5cGUuYW5kTm90PWZ1bmN0aW9uKGUpe3ZhciB0PWEoKTtyZXR1cm4gdGhpcy5iaXR3aXNlVG8oZSxTLHQpLHR9LG8ucHJvdG90eXBlLm5vdD1mdW5jdGlvbigpe2Zvcih2YXIgZT1hKCksdD0wO3Q8dGhpcy50OysrdCllLmRhdGFbdF09dGhpcy5ETSZ+dGhpcy5kYXRhW3RdO3JldHVybiBlLnQ9dGhpcy50LGUucz1+dGhpcy5zLGV9LG8ucHJvdG90eXBlLnNoaWZ0TGVmdD1mdW5jdGlvbihlKXt2YXIgdD1hKCk7cmV0dXJuIGU8MD90aGlzLnJTaGlmdFRvKC1lLHQpOnRoaXMubFNoaWZ0VG8oZSx0KSx0fSxvLnByb3RvdHlwZS5zaGlmdFJpZ2h0PWZ1bmN0aW9uKGUpe3ZhciB0PWEoKTtyZXR1cm4gZTwwP3RoaXMubFNoaWZ0VG8oLWUsdCk6dGhpcy5yU2hpZnRUbyhlLHQpLHR9LG8ucHJvdG90eXBlLmdldExvd2VzdFNldEJpdD1mdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8dGhpcy50OysrZSlpZigwIT10aGlzLmRhdGFbZV0pcmV0dXJuIGUqdGhpcy5EQitFKHRoaXMuZGF0YVtlXSk7cmV0dXJuIHRoaXMuczwwP3RoaXMudCp0aGlzLkRCOi0xfSxvLnByb3RvdHlwZS5iaXRDb3VudD1mdW5jdGlvbigpe2Zvcih2YXIgZT0wLHQ9dGhpcy5zJnRoaXMuRE0scj0wO3I8dGhpcy50OysrcillKz13KHRoaXMuZGF0YVtyXV50KTtyZXR1cm4gZX0sby5wcm90b3R5cGUudGVzdEJpdD1mdW5jdGlvbihlKXt2YXIgdD1NYXRoLmZsb29yKGUvdGhpcy5EQik7cmV0dXJuIHQ+PXRoaXMudD8wIT10aGlzLnM6MCE9KHRoaXMuZGF0YVt0XSYxPDxlJXRoaXMuREIpfSxvLnByb3RvdHlwZS5zZXRCaXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY2hhbmdlQml0KGUsYil9LG8ucHJvdG90eXBlLmNsZWFyQml0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNoYW5nZUJpdChlLFMpfSxvLnByb3RvdHlwZS5mbGlwQml0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNoYW5nZUJpdChlLF8pfSxvLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLmFkZFRvKGUsdCksdH0sby5wcm90b3R5cGUuc3VidHJhY3Q9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLnN1YlRvKGUsdCksdH0sby5wcm90b3R5cGUubXVsdGlwbHk9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLm11bHRpcGx5VG8oZSx0KSx0fSxvLnByb3RvdHlwZS5kaXZpZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLmRpdlJlbVRvKGUsdCxudWxsKSx0fSxvLnByb3RvdHlwZS5yZW1haW5kZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpO3JldHVybiB0aGlzLmRpdlJlbVRvKGUsbnVsbCx0KSx0fSxvLnByb3RvdHlwZS5kaXZpZGVBbmRSZW1haW5kZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9YSgpLHI9YSgpO3JldHVybiB0aGlzLmRpdlJlbVRvKGUsdCxyKSxuZXcgQXJyYXkodCxyKX0sby5wcm90b3R5cGUubW9kUG93PWZ1bmN0aW9uKGUsdCl7dmFyIHIsbixpPWUuYml0TGVuZ3RoKCksbz1kKDEpO2lmKGk8PTApcmV0dXJuIG87cj1pPDE4PzE6aTw0OD8zOmk8MTQ0PzQ6aTw3Njg/NTo2LG49aTw4P25ldyBnKHQpOnQuaXNFdmVuKCk/bmV3IEModCk6bmV3IHYodCk7dmFyIHM9bmV3IEFycmF5LHU9MyxjPXItMSxmPSgxPDxyKS0xO2lmKHNbMV09bi5jb252ZXJ0KHRoaXMpLHI+MSl7dmFyIGw9YSgpO2ZvcihuLnNxclRvKHNbMV0sbCk7dTw9Zjspc1t1XT1hKCksbi5tdWxUbyhsLHNbdS0yXSxzW3VdKSx1Kz0yfXZhciBoLHAsbT1lLnQtMSxiPSEwLF89YSgpO2ZvcihpPXkoZS5kYXRhW21dKS0xO20+PTA7KXtmb3IoaT49Yz9oPWUuZGF0YVttXT4+aS1jJmY6KGg9KGUuZGF0YVttXSYoMTw8aSsxKS0xKTw8Yy1pLG0+MCYmKGh8PWUuZGF0YVttLTFdPj50aGlzLkRCK2ktYykpLHU9cjswPT0oMSZoKTspaD4+PTEsLS11O2lmKChpLT11KTwwJiYoaSs9dGhpcy5EQiwtLW0pLGIpc1toXS5jb3B5VG8obyksYj0hMTtlbHNle2Zvcig7dT4xOyluLnNxclRvKG8sXyksbi5zcXJUbyhfLG8pLHUtPTI7dT4wP24uc3FyVG8obyxfKToocD1vLG89XyxfPXApLG4ubXVsVG8oXyxzW2hdLG8pfWZvcig7bT49MCYmMD09KGUuZGF0YVttXSYxPDxpKTspbi5zcXJUbyhvLF8pLHA9byxvPV8sXz1wLC0taTwwJiYoaT10aGlzLkRCLTEsLS1tKX1yZXR1cm4gbi5yZXZlcnQobyl9LG8ucHJvdG90eXBlLm1vZEludmVyc2U9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5pc0V2ZW4oKTtpZih0aGlzLmlzRXZlbigpJiZ0fHwwPT1lLnNpZ251bSgpKXJldHVybiBvLlpFUk87Zm9yKHZhciByPWUuY2xvbmUoKSxuPXRoaXMuY2xvbmUoKSxpPWQoMSksYT1kKDApLHM9ZCgwKSx1PWQoMSk7MCE9ci5zaWdudW0oKTspe2Zvcig7ci5pc0V2ZW4oKTspci5yU2hpZnRUbygxLHIpLHQ/KGkuaXNFdmVuKCkmJmEuaXNFdmVuKCl8fChpLmFkZFRvKHRoaXMsaSksYS5zdWJUbyhlLGEpKSxpLnJTaGlmdFRvKDEsaSkpOmEuaXNFdmVuKCl8fGEuc3ViVG8oZSxhKSxhLnJTaGlmdFRvKDEsYSk7Zm9yKDtuLmlzRXZlbigpOyluLnJTaGlmdFRvKDEsbiksdD8ocy5pc0V2ZW4oKSYmdS5pc0V2ZW4oKXx8KHMuYWRkVG8odGhpcyxzKSx1LnN1YlRvKGUsdSkpLHMuclNoaWZ0VG8oMSxzKSk6dS5pc0V2ZW4oKXx8dS5zdWJUbyhlLHUpLHUuclNoaWZ0VG8oMSx1KTtyLmNvbXBhcmVUbyhuKT49MD8oci5zdWJUbyhuLHIpLHQmJmkuc3ViVG8ocyxpKSxhLnN1YlRvKHUsYSkpOihuLnN1YlRvKHIsbiksdCYmcy5zdWJUbyhpLHMpLHUuc3ViVG8oYSx1KSl9cmV0dXJuIDAhPW4uY29tcGFyZVRvKG8uT05FKT9vLlpFUk86dS5jb21wYXJlVG8oZSk+PTA/dS5zdWJ0cmFjdChlKTp1LnNpZ251bSgpPDA/KHUuYWRkVG8oZSx1KSx1LnNpZ251bSgpPDA/dS5hZGQoZSk6dSk6dX0sby5wcm90b3R5cGUucG93PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmV4cChlLG5ldyBUKX0sby5wcm90b3R5cGUuZ2NkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuczwwP3RoaXMubmVnYXRlKCk6dGhpcy5jbG9uZSgpLHI9ZS5zPDA/ZS5uZWdhdGUoKTplLmNsb25lKCk7aWYodC5jb21wYXJlVG8ocik8MCl7dmFyIG49dDt0PXIscj1ufXZhciBpPXQuZ2V0TG93ZXN0U2V0Qml0KCksbz1yLmdldExvd2VzdFNldEJpdCgpO2lmKG88MClyZXR1cm4gdDtmb3IoaTxvJiYobz1pKSxvPjAmJih0LnJTaGlmdFRvKG8sdCksci5yU2hpZnRUbyhvLHIpKTt0LnNpZ251bSgpPjA7KShpPXQuZ2V0TG93ZXN0U2V0Qml0KCkpPjAmJnQuclNoaWZ0VG8oaSx0KSwoaT1yLmdldExvd2VzdFNldEJpdCgpKT4wJiZyLnJTaGlmdFRvKGksciksdC5jb21wYXJlVG8ocik+PTA/KHQuc3ViVG8ocix0KSx0LnJTaGlmdFRvKDEsdCkpOihyLnN1YlRvKHQsciksci5yU2hpZnRUbygxLHIpKTtyZXR1cm4gbz4wJiZyLmxTaGlmdFRvKG8scikscn0sby5wcm90b3R5cGUuaXNQcm9iYWJsZVByaW1lPWZ1bmN0aW9uKGUpe3ZhciB0LHI9dGhpcy5hYnMoKTtpZigxPT1yLnQmJnIuZGF0YVswXTw9eFt4Lmxlbmd0aC0xXSl7Zm9yKHQ9MDt0PHgubGVuZ3RoOysrdClpZihyLmRhdGFbMF09PXhbdF0pcmV0dXJuITA7cmV0dXJuITF9aWYoci5pc0V2ZW4oKSlyZXR1cm4hMTtmb3IodD0xO3Q8eC5sZW5ndGg7KXtmb3IodmFyIG49eFt0XSxpPXQrMTtpPHgubGVuZ3RoJiZuPEk7KW4qPXhbaSsrXTtmb3Iobj1yLm1vZEludChuKTt0PGk7KWlmKG4leFt0KytdPT0wKXJldHVybiExfXJldHVybiByLm1pbGxlclJhYmluKGUpfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cigxMzMpLGk9cig2MzcpLG89cig2NyksYT1yKDc5KTt0LmJhc2U2NERlY29kZT1mdW5jdGlvbihlKXtyZXR1cm4gYS5zdHJpbmdUb0J5dGVzKG4udXRpbC5kZWNvZGU2NChlKSwicmF3Iil9LHQuYmFzZTY0RW5jb2RlPWZ1bmN0aW9uKGUpe3JldHVybiBuLnV0aWwuZW5jb2RlNjQoYS5ieXRlc1RvU3RyaW5nKG8uX2Zyb21JbihlKSwicmF3IikpfSx0LmJhc2U1OERlY29kZT1mdW5jdGlvbihlKXtyZXR1cm4gaS5kZWZhdWx0LmRlY29kZShlKX0sdC5iYXNlNThFbmNvZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGVmYXVsdC5lbmNvZGUoby5fZnJvbUluKGUpKX0sdC5iYXNlMTZEZWNvZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGEuc3RyaW5nVG9CeXRlcyhuLnV0aWwuaGV4VG9CeXRlcyhlKSwicmF3Iil9LHQuYmFzZTE2RW5jb2RlPWZ1bmN0aW9uKGUpe3JldHVybiBuLnV0aWwuYnl0ZXNUb0hleChhLmJ5dGVzVG9TdHJpbmcoby5fZnJvbUluKGUpLCJyYXciKSl9fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXRoaXMmJnRoaXMuX19yZWFkfHxmdW5jdGlvbihlLHQpe3ZhciByPSJmdW5jdGlvbiI9PT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl07aWYoIXIpcmV0dXJuIGU7dmFyIG4saSxvPXIuY2FsbChlKSxhPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT10fHx0LS0gPjApJiYhKG49by5uZXh0KCkpLmRvbmU7KWEucHVzaChuLnZhbHVlKX1jYXRjaChzKXtpPXtlcnJvcjpzfX1maW5hbGx5e3RyeXtuJiYhbi5kb25lJiYocj1vLnJldHVybikmJnIuY2FsbChvKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19cmV0dXJuIGF9LGk9dGhpcyYmdGhpcy5fX3NwcmVhZHx8ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZT1lLmNvbmNhdChuKGFyZ3VtZW50c1t0XSkpO3JldHVybiBlfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG89cig2Nyk7dC5jb25jYXQ9ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07cmV0dXJuIGUucmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShpKGUsby5fZnJvbUluKHQpKSl9LG5ldyBVaW50OEFycmF5KDApKX0sdC5zcGxpdD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9W10scj0xO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyLTFdPWFyZ3VtZW50c1tyXTt2YXIgbj10LnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybnthcnI6ZS5hcnIuc2xpY2UodCkscjppKGUucixbZS5hcnIuc2xpY2UoMCx0KV0pfX0se2FycjpvLl9mcm9tSW4oZSkscjpbXX0pLGE9bi5yLHM9bi5hcnI7cmV0dXJuIGkoYSxbc10pfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt0Ll9fZXNNb2R1bGU9ITA7dmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKSxpPWZ1bmN0aW9uKGUpe3ZhciB0LHI9bmV3IEZsb2F0NjRBcnJheSgxNik7aWYoZSlmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKXJbdF09ZVt0XTtyZXR1cm4gcn0sbz0obmV3IFVpbnQ4QXJyYXkoMTYpLG5ldyBVaW50OEFycmF5KDMyKSk7b1swXT05O3ZhciBhPWkoKSxzPWkoWzFdKSx1PWkoWzU2MTI5LDFdKSxjPWkoWzMwODgzLDQ5NTMsMTk5MTQsMzAxODcsNTU0NjcsMTY3MDUsMjYzNywxMTIsNTk1NDQsMzA1ODUsMTY1MDUsMzYwMzksNjUxMzksMTExMTksMjc4ODYsMjA5OTVdKSxmPWkoWzYxNzg1LDk5MDYsMzk4MjgsNjAzNzQsNDUzOTgsMzM0MTEsNTI3NCwyMjQsNTM1NTIsNjExNzEsMzMwMTAsNjU0Miw2NDc0MywyMjIzOSw1NTc3Miw5MjIyXSksbD1pKFs1NDU1NCwzNjY0NSwxMTYxNiw1MTU0Miw0MjkzMCwzODE4MSw1MTA0MCwyNjkyNCw1NjQxMiw2NDk4Miw1NzkwNSw0OTMxNiwyMTUwMiw1MjU5MCwxNDAzNSw4NTUzXSksaD1pKFsyNjIwMCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNCwyNjIxNF0pLHA9aShbNDExMzYsMTg5NTgsNjk1MSw1MDQxNCw1ODQ4OCw0NDMzNSw2MTUwLDEyMDk5LDU1MjA3LDE1ODY3LDE1MywxMTA4NSw1NzA5OSwyMDQxNyw5MzQ0LDExMTM5XSk7ZnVuY3Rpb24gZChlLHQscixuKXtlW3RdPXI+PjI0JjI1NSxlW3QrMV09cj4+MTYmMjU1LGVbdCsyXT1yPj44JjI1NSxlW3QrM109MjU1JnIsZVt0KzRdPW4+PjI0JjI1NSxlW3QrNV09bj4+MTYmMjU1LGVbdCs2XT1uPj44JjI1NSxlW3QrN109MjU1Jm59ZnVuY3Rpb24geShlLHQscixuKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbixpKXt2YXIgbyxhPTA7Zm9yKG89MDtvPGk7bysrKWF8PWVbdCtvXV5yW24rb107cmV0dXJuKDEmYS0xPj4+OCktMX0oZSx0LHIsbiwzMil9ZnVuY3Rpb24gZyhlLHQpe2Zvcih2YXIgcj0wO3I8MTY7cisrKWVbcl09MHx0W3JdfWZ1bmN0aW9uIHYoZSl7dmFyIHQscixuPTE7Zm9yKHQ9MDt0PDE2O3QrKylyPWVbdF0rbis2NTUzNSxuPU1hdGguZmxvb3Ioci82NTUzNiksZVt0XT1yLTY1NTM2Km47ZVswXSs9bi0xKzM3KihuLTEpfWZ1bmN0aW9uIG0oZSx0LHIpe2Zvcih2YXIgbixpPX4oci0xKSxvPTA7bzwxNjtvKyspbj1pJihlW29dXnRbb10pLGVbb11ePW4sdFtvXV49bn1mdW5jdGlvbiBiKGUsdCl7dmFyIHIsbixvLGE9aSgpLHM9aSgpO2ZvcihyPTA7cjwxNjtyKyspc1tyXT10W3JdO2Zvcih2KHMpLHYocyksdihzKSxuPTA7bjwyO24rKyl7Zm9yKGFbMF09c1swXS02NTUxNyxyPTE7cjwxNTtyKyspYVtyXT1zW3JdLTY1NTM1LShhW3ItMV0+PjE2JjEpLGFbci0xXSY9NjU1MzU7YVsxNV09c1sxNV0tMzI3NjctKGFbMTRdPj4xNiYxKSxvPWFbMTVdPj4xNiYxLGFbMTRdJj02NTUzNSxtKHMsYSwxLW8pfWZvcihyPTA7cjwxNjtyKyspZVsyKnJdPTI1NSZzW3JdLGVbMipyKzFdPXNbcl0+Pjh9ZnVuY3Rpb24gXyhlLHQpe3ZhciByPW5ldyBVaW50OEFycmF5KDMyKSxuPW5ldyBVaW50OEFycmF5KDMyKTtyZXR1cm4gYihyLGUpLGIobix0KSx5KHIsMCxuLDApfWZ1bmN0aW9uIFMoZSl7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoMzIpO3JldHVybiBiKHQsZSksMSZ0WzBdfWZ1bmN0aW9uIEUoZSx0KXtmb3IodmFyIHI9MDtyPDE2O3IrKyllW3JdPXRbMipyXSsodFsyKnIrMV08PDgpO2VbMTVdJj0zMjc2N31mdW5jdGlvbiB3KGUsdCxyKXtmb3IodmFyIG49MDtuPDE2O24rKyllW25dPXRbbl0rcltuXX1mdW5jdGlvbiBUKGUsdCxyKXtmb3IodmFyIG49MDtuPDE2O24rKyllW25dPXRbbl0tcltuXX1mdW5jdGlvbiBBKGUsdCxyKXt2YXIgbixpLG89MCxhPTAscz0wLHU9MCxjPTAsZj0wLGw9MCxoPTAscD0wLGQ9MCx5PTAsZz0wLHY9MCxtPTAsYj0wLF89MCxTPTAsRT0wLHc9MCxUPTAsQT0wLEM9MCx4PTAsST0wLGs9MCxPPTAsTj0wLFA9MCxSPTAsQj0wLE09MCxMPXJbMF0sRD1yWzFdLGo9clsyXSxVPXJbM10sRj1yWzRdLFY9cls1XSxxPXJbNl0sSz1yWzddLHo9cls4XSxHPXJbOV0sSD1yWzEwXSxXPXJbMTFdLFk9clsxMl0sWD1yWzEzXSxRPXJbMTRdLCQ9clsxNV07bys9KG49dFswXSkqTCxhKz1uKkQscys9bipqLHUrPW4qVSxjKz1uKkYsZis9bipWLGwrPW4qcSxoKz1uKksscCs9bip6LGQrPW4qRyx5Kz1uKkgsZys9bipXLHYrPW4qWSxtKz1uKlgsYis9bipRLF8rPW4qJCxhKz0obj10WzFdKSpMLHMrPW4qRCx1Kz1uKmosYys9bipVLGYrPW4qRixsKz1uKlYsaCs9bipxLHArPW4qSyxkKz1uKnoseSs9bipHLGcrPW4qSCx2Kz1uKlcsbSs9bipZLGIrPW4qWCxfKz1uKlEsUys9biokLHMrPShuPXRbMl0pKkwsdSs9bipELGMrPW4qaixmKz1uKlUsbCs9bipGLGgrPW4qVixwKz1uKnEsZCs9bipLLHkrPW4qeixnKz1uKkcsdis9bipILG0rPW4qVyxiKz1uKlksXys9bipYLFMrPW4qUSxFKz1uKiQsdSs9KG49dFszXSkqTCxjKz1uKkQsZis9bipqLGwrPW4qVSxoKz1uKkYscCs9bipWLGQrPW4qcSx5Kz1uKkssZys9bip6LHYrPW4qRyxtKz1uKkgsYis9bipXLF8rPW4qWSxTKz1uKlgsRSs9bipRLHcrPW4qJCxjKz0obj10WzRdKSpMLGYrPW4qRCxsKz1uKmosaCs9bipVLHArPW4qRixkKz1uKlYseSs9bipxLGcrPW4qSyx2Kz1uKnosbSs9bipHLGIrPW4qSCxfKz1uKlcsUys9bipZLEUrPW4qWCx3Kz1uKlEsVCs9biokLGYrPShuPXRbNV0pKkwsbCs9bipELGgrPW4qaixwKz1uKlUsZCs9bipGLHkrPW4qVixnKz1uKnEsdis9bipLLG0rPW4qeixiKz1uKkcsXys9bipILFMrPW4qVyxFKz1uKlksdys9bipYLFQrPW4qUSxBKz1uKiQsbCs9KG49dFs2XSkqTCxoKz1uKkQscCs9bipqLGQrPW4qVSx5Kz1uKkYsZys9bipWLHYrPW4qcSxtKz1uKkssYis9bip6LF8rPW4qRyxTKz1uKkgsRSs9bipXLHcrPW4qWSxUKz1uKlgsQSs9bipRLEMrPW4qJCxoKz0obj10WzddKSpMLHArPW4qRCxkKz1uKmoseSs9bipVLGcrPW4qRix2Kz1uKlYsbSs9bipxLGIrPW4qSyxfKz1uKnosUys9bipHLEUrPW4qSCx3Kz1uKlcsVCs9bipZLEErPW4qWCxDKz1uKlEseCs9biokLHArPShuPXRbOF0pKkwsZCs9bipELHkrPW4qaixnKz1uKlUsdis9bipGLG0rPW4qVixiKz1uKnEsXys9bipLLFMrPW4qeixFKz1uKkcsdys9bipILFQrPW4qVyxBKz1uKlksQys9bipYLHgrPW4qUSxJKz1uKiQsZCs9KG49dFs5XSkqTCx5Kz1uKkQsZys9bipqLHYrPW4qVSxtKz1uKkYsYis9bipWLF8rPW4qcSxTKz1uKkssRSs9bip6LHcrPW4qRyxUKz1uKkgsQSs9bipXLEMrPW4qWSx4Kz1uKlgsSSs9bipRLGsrPW4qJCx5Kz0obj10WzEwXSkqTCxnKz1uKkQsdis9bipqLG0rPW4qVSxiKz1uKkYsXys9bipWLFMrPW4qcSxFKz1uKkssdys9bip6LFQrPW4qRyxBKz1uKkgsQys9bipXLHgrPW4qWSxJKz1uKlgsays9bipRLE8rPW4qJCxnKz0obj10WzExXSkqTCx2Kz1uKkQsbSs9bipqLGIrPW4qVSxfKz1uKkYsUys9bipWLEUrPW4qcSx3Kz1uKkssVCs9bip6LEErPW4qRyxDKz1uKkgseCs9bipXLEkrPW4qWSxrKz1uKlgsTys9bipRLE4rPW4qJCx2Kz0obj10WzEyXSkqTCxtKz1uKkQsYis9bipqLF8rPW4qVSxTKz1uKkYsRSs9bipWLHcrPW4qcSxUKz1uKkssQSs9bip6LEMrPW4qRyx4Kz1uKkgsSSs9bipXLGsrPW4qWSxPKz1uKlgsTis9bipRLFArPW4qJCxtKz0obj10WzEzXSkqTCxiKz1uKkQsXys9bipqLFMrPW4qVSxFKz1uKkYsdys9bipWLFQrPW4qcSxBKz1uKkssQys9bip6LHgrPW4qRyxJKz1uKkgsays9bipXLE8rPW4qWSxOKz1uKlgsUCs9bipRLFIrPW4qJCxiKz0obj10WzE0XSkqTCxfKz1uKkQsUys9bipqLEUrPW4qVSx3Kz1uKkYsVCs9bipWLEErPW4qcSxDKz1uKksseCs9bip6LEkrPW4qRyxrKz1uKkgsTys9bipXLE4rPW4qWSxQKz1uKlgsUis9bipRLEIrPW4qJCxfKz0obj10WzE1XSkqTCxhKz0zOCooRSs9bipqKSxzKz0zOCoodys9bipVKSx1Kz0zOCooVCs9bipGKSxjKz0zOCooQSs9bipWKSxmKz0zOCooQys9bipxKSxsKz0zOCooeCs9bipLKSxoKz0zOCooSSs9bip6KSxwKz0zOCooays9bipHKSxkKz0zOCooTys9bipIKSx5Kz0zOCooTis9bipXKSxnKz0zOCooUCs9bipZKSx2Kz0zOCooUis9bipYKSxtKz0zOCooQis9bipRKSxiKz0zOCooTSs9biokKSxvPShuPShvKz0zOCooUys9bipEKSkrKGk9MSkrNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGE9KG49YStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxzPShuPXMraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksdT0obj11K2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGM9KG49YytpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxmPShuPWYraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksbD0obj1sK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGg9KG49aCtpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxwPShuPXAraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksZD0obj1kK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLHk9KG49eStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxnPShuPWcraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksdj0obj12K2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLG09KG49bStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxiPShuPWIraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksXz0obj1fK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLG89KG49KG8rPWktMSszNyooaS0xKSkrKGk9MSkrNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGE9KG49YStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxzPShuPXMraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksdT0obj11K2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGM9KG49YytpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxmPShuPWYraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksbD0obj1sK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLGg9KG49aCtpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxwPShuPXAraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksZD0obj1kK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLHk9KG49eStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxnPShuPWcraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksdj0obj12K2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLG09KG49bStpKzY1NTM1KS02NTUzNiooaT1NYXRoLmZsb29yKG4vNjU1MzYpKSxiPShuPWIraSs2NTUzNSktNjU1MzYqKGk9TWF0aC5mbG9vcihuLzY1NTM2KSksXz0obj1fK2krNjU1MzUpLTY1NTM2KihpPU1hdGguZmxvb3Iobi82NTUzNikpLG8rPWktMSszNyooaS0xKSxlWzBdPW8sZVsxXT1hLGVbMl09cyxlWzNdPXUsZVs0XT1jLGVbNV09ZixlWzZdPWwsZVs3XT1oLGVbOF09cCxlWzldPWQsZVsxMF09eSxlWzExXT1nLGVbMTJdPXYsZVsxM109bSxlWzE0XT1iLGVbMTVdPV99ZnVuY3Rpb24gQyhlLHQpe0EoZSx0LHQpfWZ1bmN0aW9uIHgoZSx0KXt2YXIgcixuPWkoKTtmb3Iocj0wO3I8MTY7cisrKW5bcl09dFtyXTtmb3Iocj0yNTM7cj49MDtyLS0pQyhuLG4pLDIhPT1yJiY0IT09ciYmQShuLG4sdCk7Zm9yKHI9MDtyPDE2O3IrKyllW3JdPW5bcl19ZnVuY3Rpb24gSShlLHQscil7dmFyIG4sbyxhPW5ldyBVaW50OEFycmF5KDMyKSxzPW5ldyBGbG9hdDY0QXJyYXkoODApLGM9aSgpLGY9aSgpLGw9aSgpLGg9aSgpLHA9aSgpLGQ9aSgpO2ZvcihvPTA7bzwzMTtvKyspYVtvXT10W29dO2ZvcihhWzMxXT0xMjcmdFszMV18NjQsYVswXSY9MjQ4LEUocyxyKSxvPTA7bzwxNjtvKyspZltvXT1zW29dLGhbb109Y1tvXT1sW29dPTA7Zm9yKGNbMF09aFswXT0xLG89MjU0O28+PTA7LS1vKW0oYyxmLG49YVtvPj4+M10+Pj4oNyZvKSYxKSxtKGwsaCxuKSx3KHAsYyxsKSxUKGMsYyxsKSx3KGwsZixoKSxUKGYsZixoKSxDKGgscCksQyhkLGMpLEEoYyxsLGMpLEEobCxmLHApLHcocCxjLGwpLFQoYyxjLGwpLEMoZixjKSxUKGwsaCxkKSxBKGMsbCx1KSx3KGMsYyxoKSxBKGwsbCxjKSxBKGMsaCxkKSxBKGgsZixzKSxDKGYscCksbShjLGYsbiksbShsLGgsbik7Zm9yKG89MDtvPDE2O28rKylzW28rMTZdPWNbb10sc1tvKzMyXT1sW29dLHNbbys0OF09ZltvXSxzW28rNjRdPWhbb107dmFyIHk9cy5zdWJhcnJheSgzMiksZz1zLnN1YmFycmF5KDE2KTtyZXR1cm4geCh5LHkpLEEoZyxnLHkpLGIoZSxnKSwwfXZhciBrPVsxMTE2MzUyNDA4LDM2MDk3Njc0NTgsMTg5OTQ0NzQ0MSw2MDI4OTE3MjUsMzA0OTMyMzQ3MSwzOTY0NDg0Mzk5LDM5MjEwMDk1NzMsMjE3MzI5NTU0OCw5NjE5ODcxNjMsNDA4MTYyODQ3MiwxNTA4OTcwOTkzLDMwNTM4MzQyNjUsMjQ1MzYzNTc0OCwyOTM3NjcxNTc5LDI4NzA3NjMyMjEsMzY2NDY="
}