mbrr · data · 2.7c767379.chunk.js_46
{
    "2.7c767379.chunk.js_46": "base64:bGJhY2ssRW49by51bnN0YWJsZV9jYW5jZWxDYWxsYmFjaztmdW5jdGlvbiB3bihlKXtmb3IoZT1lLm5leHRTaWJsaW5nO2UmJjEhPT1lLm5vZGVUeXBlJiYzIT09ZS5ub2RlVHlwZTspZT1lLm5leHRTaWJsaW5nO3JldHVybiBlfWZ1bmN0aW9uIFRuKGUpe2ZvcihlPWUuZmlyc3RDaGlsZDtlJiYxIT09ZS5ub2RlVHlwZSYmMyE9PWUubm9kZVR5cGU7KWU9ZS5uZXh0U2libGluZztyZXR1cm4gZX1uZXcgU2V0O3ZhciBBbj1bXSxDbj0tMTtmdW5jdGlvbiB4bihlKXswPkNufHwoZS5jdXJyZW50PUFuW0NuXSxBbltDbl09bnVsbCxDbi0tKX1mdW5jdGlvbiBJbihlLHQpe0FuWysrQ25dPWUuY3VycmVudCxlLmN1cnJlbnQ9dH12YXIga249e30sT249e2N1cnJlbnQ6a259LE5uPXtjdXJyZW50OiExfSxQbj1rbjtmdW5jdGlvbiBSbihlLHQpe3ZhciByPWUudHlwZS5jb250ZXh0VHlwZXM7aWYoIXIpcmV0dXJuIGtuO3ZhciBuPWUuc3RhdGVOb2RlO2lmKG4mJm4uX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD09PXQpcmV0dXJuIG4uX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ7dmFyIGksbz17fTtmb3IoaSBpbiByKW9baV09dFtpXTtyZXR1cm4gbiYmKChlPWUuc3RhdGVOb2RlKS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0PXQsZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dD1vKSxvfWZ1bmN0aW9uIEJuKGUpe3JldHVybiBudWxsIT09KGU9ZS5jaGlsZENvbnRleHRUeXBlcykmJnZvaWQgMCE9PWV9ZnVuY3Rpb24gTW4oZSl7eG4oTm4pLHhuKE9uKX1mdW5jdGlvbiBMbihlKXt4bihObikseG4oT24pfWZ1bmN0aW9uIERuKGUsdCxyKXtPbi5jdXJyZW50IT09a24mJmEoIjE2OCIpLEluKE9uLHQpLEluKE5uLHIpfWZ1bmN0aW9uIGpuKGUsdCxyKXt2YXIgbj1lLnN0YXRlTm9kZTtpZihlPXQuY2hpbGRDb250ZXh0VHlwZXMsImZ1bmN0aW9uIiE9PXR5cGVvZiBuLmdldENoaWxkQ29udGV4dClyZXR1cm4gcjtmb3IodmFyIG8gaW4gbj1uLmdldENoaWxkQ29udGV4dCgpKW8gaW4gZXx8YSgiMTA4IixzdCh0KXx8IlVua25vd24iLG8pO3JldHVybiBpKHt9LHIsbil9ZnVuY3Rpb24gVW4oZSl7dmFyIHQ9ZS5zdGF0ZU5vZGU7cmV0dXJuIHQ9dCYmdC5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dHx8a24sUG49T24uY3VycmVudCxJbihPbix0KSxJbihObixObi5jdXJyZW50KSwhMH1mdW5jdGlvbiBGbihlLHQscil7dmFyIG49ZS5zdGF0ZU5vZGU7bnx8YSgiMTY5Iikscj8odD1qbihlLHQsUG4pLG4uX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ9dCx4bihObikseG4oT24pLEluKE9uLHQpKTp4bihObiksSW4oTm4scil9dmFyIFZuPW51bGwscW49bnVsbDtmdW5jdGlvbiBLbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7dHJ5e3JldHVybiBlKHQpfWNhdGNoKHIpe319fWZ1bmN0aW9uIHpuKGUsdCxyLG4pe3RoaXMudGFnPWUsdGhpcy5rZXk9cix0aGlzLnNpYmxpbmc9dGhpcy5jaGlsZD10aGlzLnJldHVybj10aGlzLnN0YXRlTm9kZT10aGlzLnR5cGU9dGhpcy5lbGVtZW50VHlwZT1udWxsLHRoaXMuaW5kZXg9MCx0aGlzLnJlZj1udWxsLHRoaXMucGVuZGluZ1Byb3BzPXQsdGhpcy5jb250ZXh0RGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1uLHRoaXMuZWZmZWN0VGFnPTAsdGhpcy5sYXN0RWZmZWN0PXRoaXMuZmlyc3RFZmZlY3Q9dGhpcy5uZXh0RWZmZWN0PW51bGwsdGhpcy5jaGlsZEV4cGlyYXRpb25UaW1lPXRoaXMuZXhwaXJhdGlvblRpbWU9MCx0aGlzLmFsdGVybmF0ZT1udWxsfWZ1bmN0aW9uIEduKGUsdCxyLG4pe3JldHVybiBuZXcgem4oZSx0LHIsbil9ZnVuY3Rpb24gSG4oZSl7cmV0dXJuISghKGU9ZS5wcm90b3R5cGUpfHwhZS5pc1JlYWN0Q29tcG9uZW50KX1mdW5jdGlvbiBXbihlLHQpe3ZhciByPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09cj8oKHI9R24oZS50YWcsdCxlLmtleSxlLm1vZGUpKS5lbGVtZW50VHlwZT1lLmVsZW1lbnRUeXBlLHIudHlwZT1lLnR5cGUsci5zdGF0ZU5vZGU9ZS5zdGF0ZU5vZGUsci5hbHRlcm5hdGU9ZSxlLmFsdGVybmF0ZT1yKTooci5wZW5kaW5nUHJvcHM9dCxyLmVmZmVjdFRhZz0wLHIubmV4dEVmZmVjdD1udWxsLHIuZmlyc3RFZmZlY3Q9bnVsbCxyLmxhc3RFZmZlY3Q9bnVsbCksci5jaGlsZEV4cGlyYXRpb25UaW1lPWUuY2hpbGRFeHBpcmF0aW9uVGltZSxyLmV4cGlyYXRpb25UaW1lPWUuZXhwaXJhdGlvblRpbWUsci5jaGlsZD1lLmNoaWxkLHIubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsci5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxyLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsci5jb250ZXh0RGVwZW5kZW5jaWVzPWUuY29udGV4dERlcGVuZGVuY2llcyxyLnNpYmxpbmc9ZS5zaWJsaW5nLHIuaW5kZXg9ZS5pbmRleCxyLnJlZj1lLnJlZixyfWZ1bmN0aW9uIFluKGUsdCxyLG4saSxvKXt2YXIgcz0yO2lmKG49ZSwiZnVuY3Rpb24iPT09dHlwZW9mIGUpSG4oZSkmJihzPTEpO2Vsc2UgaWYoInN0cmluZyI9PT10eXBlb2YgZSlzPTU7ZWxzZSBlOnN3aXRjaChlKXtjYXNlIFhlOnJldHVybiBYbihyLmNoaWxkcmVuLGksbyx0KTtjYXNlIGV0OnJldHVybiBRbihyLDN8aSxvLHQpO2Nhc2UgUWU6cmV0dXJuIFFuKHIsMnxpLG8sdCk7Y2FzZSAkZTpyZXR1cm4oZT1HbigxMixyLHQsNHxpKSkuZWxlbWVudFR5cGU9JGUsZS50eXBlPSRlLGUuZXhwaXJhdGlvblRpbWU9byxlO2Nhc2UgcnQ6cmV0dXJuKGU9R24oMTMscix0LGkpKS5lbGVtZW50VHlwZT1ydCxlLnR5cGU9cnQsZS5leHBpcmF0aW9uVGltZT1vLGU7ZGVmYXVsdDppZigib2JqZWN0Ij09PXR5cGVvZiBlJiZudWxsIT09ZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBaZTpzPTEwO2JyZWFrIGU7Y2FzZSBKZTpzPTk7YnJlYWsgZTtjYXNlIHR0OnM9MTE7YnJlYWsgZTtjYXNlIG50OnM9MTQ7YnJlYWsgZTtjYXNlIGl0OnM9MTYsbj1udWxsO2JyZWFrIGV9YSgiMTMwIixudWxsPT1lP2U6dHlwZW9mIGUsIiIpfXJldHVybih0PUduKHMscix0LGkpKS5lbGVtZW50VHlwZT1lLHQudHlwZT1uLHQuZXhwaXJhdGlvblRpbWU9byx0fWZ1bmN0aW9uIFhuKGUsdCxyLG4pe3JldHVybihlPUduKDcsZSxuLHQpKS5leHBpcmF0aW9uVGltZT1yLGV9ZnVuY3Rpb24gUW4oZSx0LHIsbil7cmV0dXJuIGU9R24oOCxlLG4sdCksdD0wPT09KDEmdCk/UWU6ZXQsZS5lbGVtZW50VHlwZT10LGUudHlwZT10LGUuZXhwaXJhdGlvblRpbWU9cixlfWZ1bmN0aW9uICRuKGUsdCxyKXtyZXR1cm4oZT1Hbig2LGUsbnVsbCx0KSkuZXhwaXJhdGlvblRpbWU9cixlfWZ1bmN0aW9uIFpuKGUsdCxyKXtyZXR1cm4odD1Hbig0LG51bGwhPT1lLmNoaWxkcmVuP2UuY2hpbGRyZW46W10sZS5rZXksdCkpLmV4cGlyYXRpb25UaW1lPXIsdC5zdGF0ZU5vZGU9e2NvbnRhaW5lckluZm86ZS5jb250YWluZXJJbmZvLHBlbmRpbmdDaGlsZHJlbjpudWxsLGltcGxlbWVudGF0aW9uOmUuaW1wbGVtZW50YXRpb259LHR9ZnVuY3Rpb24gSm4oZSx0KXtlLmRpZEVycm9yPSExO3ZhciByPWUuZWFybGllc3RQZW5kaW5nVGltZTswPT09cj9lLmVhcmxpZXN0UGVuZGluZ1RpbWU9ZS5sYXRlc3RQZW5kaW5nVGltZT10OnI8dD9lLmVhcmxpZXN0UGVuZGluZ1RpbWU9dDplLmxhdGVzdFBlbmRpbmdUaW1lPnQmJihlLmxhdGVzdFBlbmRpbmdUaW1lPXQpLHJpKHQsZSl9ZnVuY3Rpb24gZWkoZSx0KXtlLmRpZEVycm9yPSExLGUubGF0ZXN0UGluZ2VkVGltZT49dCYmKGUubGF0ZXN0UGluZ2VkVGltZT0wKTt2YXIgcj1lLmVhcmxpZXN0UGVuZGluZ1RpbWUsbj1lLmxhdGVzdFBlbmRpbmdUaW1lO3I9PT10P2UuZWFybGllc3RQZW5kaW5nVGltZT1uPT09dD9lLmxhdGVzdFBlbmRpbmdUaW1lPTA6bjpuPT09dCYmKGUubGF0ZXN0UGVuZGluZ1RpbWU9cikscj1lLmVhcmxpZXN0U3VzcGVuZGVkVGltZSxuPWUubGF0ZXN0U3VzcGVuZGVkVGltZSwwPT09cj9lLmVhcmxpZXN0U3VzcGVuZGVkVGltZT1lLmxhdGVzdFN1c3BlbmRlZFRpbWU9dDpyPHQ/ZS5lYXJsaWVzdFN1c3BlbmRlZFRpbWU9dDpuPnQmJihlLmxhdGVzdFN1c3BlbmRlZFRpbWU9dCkscmkodCxlKX1mdW5jdGlvbiB0aShlLHQpe3ZhciByPWUuZWFybGllc3RQZW5kaW5nVGltZTtyZXR1cm4gcj50JiYodD1yKSwoZT1lLmVhcmxpZXN0U3VzcGVuZGVkVGltZSk+dCYmKHQ9ZSksdH1mdW5jdGlvbiByaShlLHQpe3ZhciByPXQuZWFybGllc3RTdXNwZW5kZWRUaW1lLG49dC5sYXRlc3RTdXNwZW5kZWRUaW1lLGk9dC5lYXJsaWVzdFBlbmRpbmdUaW1lLG89dC5sYXRlc3RQaW5nZWRUaW1lOzA9PT0oaT0wIT09aT9pOm8pJiYoMD09PWV8fG48ZSkmJihpPW4pLDAhPT0oZT1pKSYmcj5lJiYoZT1yKSx0Lm5leHRFeHBpcmF0aW9uVGltZVRvV29ya09uPWksdC5leHBpcmF0aW9uVGltZT1lfWZ1bmN0aW9uIG5pKGUsdCl7aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKHZhciByIGluIHQ9aSh7fSx0KSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PXRbcl0mJih0W3JdPWVbcl0pO3JldHVybiB0fXZhciBpaT0obmV3IG4uQ29tcG9uZW50KS5yZWZzO2Z1bmN0aW9uIG9pKGUsdCxyLG4pe3I9bnVsbD09PShyPXIobix0PWUubWVtb2l6ZWRTdGF0ZSkpfHx2b2lkIDA9PT1yP3Q6aSh7fSx0LHIpLGUubWVtb2l6ZWRTdGF0ZT1yLG51bGwhPT0obj1lLnVwZGF0ZVF1ZXVlKSYmMD09PWUuZXhwaXJhdGlvblRpbWUmJihuLmJhc2VTdGF0ZT1yKX12YXIgYWk9e2lzTW91bnRlZDpmdW5jdGlvbihlKXtyZXR1cm4hIShlPWUuX3JlYWN0SW50ZXJuYWxGaWJlcikmJjI9PT10cihlKX0sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKGUsdCxyKXtlPWUuX3JlYWN0SW50ZXJuYWxGaWJlcjt2YXIgbj1FcygpLGk9UW8obj1YYShuLGUpKTtpLnBheWxvYWQ9dCx2b2lkIDAhPT1yJiZudWxsIT09ciYmKGkuY2FsbGJhY2s9ciksS2EoKSxabyhlLGkpLFphKGUsbil9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oZSx0LHIpe2U9ZS5fcmVhY3RJbnRlcm5hbEZpYmVyO3ZhciBuPUVzKCksaT1RbyhuPVhhKG4sZSkpO2kudGFnPXpvLGkucGF5bG9hZD10LHZvaWQgMCE9PXImJm51bGwhPT1yJiYoaS5jYWxsYmFjaz1yKSxLYSgpLFpvKGUsaSksWmEoZSxuKX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKGUsdCl7ZT1lLl9yZWFjdEludGVybmFsRmliZXI7dmFyIHI9RXMoKSxuPVFvKHI9WGEocixlKSk7bi50YWc9R28sdm9pZCAwIT09dCYmbnVsbCE9PXQmJihuLmNhbGxiYWNrPXQpLEthKCksWm8oZSxuKSxaYShlLHIpfX07ZnVuY3Rpb24gc2koZSx0LHIsbixpLG8sYSl7cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZihlPWUuc3RhdGVOb2RlKS5zaG91bGRDb21wb25lbnRVcGRhdGU/ZS5zaG91bGRDb21wb25lbnRVcGRhdGUobixvLGEpOiF0LnByb3RvdHlwZXx8IXQucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50fHwoIWVyKHIsbil8fCFlcihpLG8pKX1mdW5jdGlvbiB1aShlLHQscil7dmFyIG49ITEsaT1rbixvPXQuY29udGV4dFR5cGU7cmV0dXJuIm9iamVjdCI9PT10eXBlb2YgbyYmbnVsbCE9PW8/bz1xbyhvKTooaT1Cbih0KT9QbjpPbi5jdXJyZW50LG89KG49bnVsbCE9PShuPXQuY29udGV4dFR5cGVzKSYmdm9pZCAwIT09bik/Um4oZSxpKTprbiksdD1uZXcgdChyLG8pLGUubWVtb2l6ZWRTdGF0ZT1udWxsIT09dC5zdGF0ZSYmdm9pZCAwIT09dC5zdGF0ZT90LnN0YXRlOm51bGwsdC51cGRhdGVyPWFpLGUuc3RhdGVOb2RlPXQsdC5fcmVhY3RJbnRlcm5hbEZpYmVyPWUsbiYmKChlPWUuc3RhdGVOb2RlKS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0PWksZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dD1vKSx0fWZ1bmN0aW9uIGNpKGUsdCxyLG4pe2U9dC5zdGF0ZSwiZnVuY3Rpb24iPT09dHlwZW9mIHQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmdC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHIsbiksImZ1bmN0aW9uIj09PXR5cGVvZiB0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZ0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHIsbiksdC5zdGF0ZSE9PWUmJmFpLmVucXVldWVSZXBsYWNlU3RhdGUodCx0LnN0YXRlLG51bGwpfWZ1bmN0aW9uIGZpKGUsdCxyLG4pe3ZhciBpPWUuc3RhdGVOb2RlO2kucHJvcHM9cixpLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxpLnJlZnM9aWk7dmFyIG89dC5jb250ZXh0VHlwZTsib2JqZWN0Ij09PXR5cGVvZiBvJiZudWxsIT09bz9pLmNvbnRleHQ9cW8obyk6KG89Qm4odCk/UG46T24uY3VycmVudCxpLmNvbnRleHQ9Um4oZSxvKSksbnVsbCE9PShvPWUudXBkYXRlUXVldWUpJiYocmEoZSxvLHIsaSxuKSxpLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09PXR5cGVvZihvPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKSYmKG9pKGUsdCxvLHIpLGkuc3RhdGU9ZS5tZW1vaXplZFN0YXRlKSwiZnVuY3Rpb24iPT09dHlwZW9mIHQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT09dHlwZW9mIGkuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fCJmdW5jdGlvbiIhPT10eXBlb2YgaS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiYiZnVuY3Rpb24iIT09dHlwZW9mIGkuY29tcG9uZW50V2lsbE1vdW50fHwodD1pLnN0YXRlLCJmdW5jdGlvbiI9PT10eXBlb2YgaS5jb21wb25lbnRXaWxsTW91bnQmJmkuY29tcG9uZW50V2lsbE1vdW50KCksImZ1bmN0aW9uIj09PXR5cGVvZiBpLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJmkuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpLHQhPT1pLnN0YXRlJiZhaS5lbnF1ZXVlUmVwbGFjZVN0YXRlKGksaS5zdGF0ZSxudWxsKSxudWxsIT09KG89ZS51cGRhdGVRdWV1ZSkmJihyYShlLG8scixpLG4pLGkuc3RhdGU9ZS5tZW1vaXplZFN0YXRlKSksImZ1bmN0aW9uIj09PXR5cGVvZiBpLmNvbXBvbmVudERpZE1vdW50JiYoZS5lZmZlY3RUYWd8PTQpfXZhciBsaT1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIGhpKGUsdCxyKXtpZihudWxsIT09KGU9ci5yZWYpJiYiZnVuY3Rpb24iIT09dHlwZW9mIGUmJiJvYmplY3QiIT09dHlwZW9mIGUpe2lmKHIuX293bmVyKXtyPXIuX293bmVyO3ZhciBuPXZvaWQgMDtyJiYoMSE9PXIudGFnJiZhKCIzMDkiKSxuPXIuc3RhdGVOb2RlKSxufHxhKCIxNDciLGUpO3ZhciBpPSIiK2U7cmV0dXJuIG51bGwhPT10JiZudWxsIT09dC5yZWYmJiJmdW5jdGlvbiI9PT10eXBlb2YgdC5yZWYmJnQucmVmLl9zdHJpbmdSZWY9PT1pP3QucmVmOigodD1mdW5jdGlvbihlKXt2YXIgdD1uLnJlZnM7dD09PWlpJiYodD1uLnJlZnM9e30pLG51bGw9PT1lP2RlbGV0ZSB0W2ldOnRbaV09ZX0pLl9zdHJpbmdSZWY9aSx0KX0ic3RyaW5nIiE9PXR5cGVvZiBlJiZhKCIyODQiKSxyLl9vd25lcnx8YSgiMjkwIixlKX1yZXR1cm4gZX1mdW5jdGlvbiBwaShlLHQpeyJ0ZXh0YXJlYSIhPT1lLnR5cGUmJmEoIjMxIiwiW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9Ijp0LCIiKX1mdW5jdGlvbiBkaShlKXtmdW5jdGlvbiB0KHQscil7aWYoZSl7dmFyIG49dC5sYXN0RWZmZWN0O251bGwhPT1uPyhuLm5leHRFZmZlY3Q9cix0Lmxhc3RFZmZlY3Q9cik6dC5maXJzdEVmZmVjdD10Lmxhc3RFZmZlY3Q9cixyLm5leHRFZmZlY3Q9bnVsbCxyLmVmZmVjdFRhZz04fX1mdW5jdGlvbiByKHIsbil7aWYoIWUpcmV0dXJuIG51bGw7Zm9yKDtudWxsIT09bjspdChyLG4pLG49bi5zaWJsaW5nO3JldHVybiBudWxsfWZ1bmN0aW9uIG4oZSx0KXtmb3IoZT1uZXcgTWFwO251bGwhPT10OyludWxsIT09dC5rZXk/ZS5zZXQodC5rZXksdCk6ZS5zZXQodC5pbmRleCx0KSx0PXQuc2libGluZztyZXR1cm4gZX1mdW5jdGlvbiBpKGUsdCxyKXtyZXR1cm4oZT1XbihlLHQpKS5pbmRleD0wLGUuc2libGluZz1udWxsLGV9ZnVuY3Rpb24gbyh0LHIsbil7cmV0dXJuIHQuaW5kZXg9bixlP251bGwhPT0obj10LmFsdGVybmF0ZSk/KG49bi5pbmRleCk8cj8odC5lZmZlY3RUYWc9MixyKTpuOih0LmVmZmVjdFRhZz0yLHIpOnJ9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gZSYmbnVsbD09PXQuYWx0ZXJuYXRlJiYodC5lZmZlY3RUYWc9MiksdH1mdW5jdGlvbiB1KGUsdCxyLG4pe3JldHVybiBudWxsPT09dHx8NiE9PXQudGFnPygodD0kbihyLGUubW9kZSxuKSkucmV0dXJuPWUsdCk6KCh0PWkodCxyKSkucmV0dXJuPWUsdCl9ZnVuY3Rpb24gYyhlLHQscixuKXtyZXR1cm4gbnVsbCE9PXQmJnQuZWxlbWVudFR5cGU9PT1yLnR5cGU/KChuPWkodCxyLnByb3BzKSkucmVmPWhpKGUsdCxyKSxuLnJldHVybj1lLG4pOigobj1ZbihyLnR5cGUsci5rZXksci5wcm9wcyxudWxsLGUubW9kZSxuKSkucmVmPWhpKGUsdCxyKSxuLnJldHVybj1lLG4pfWZ1bmN0aW9uIGYoZSx0LHIsbil7cmV0dXJuIG51bGw9PT10fHw0IT09dC50YWd8fHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8hPT1yLmNvbnRhaW5lckluZm98fHQuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uIT09ci5pbXBsZW1lbnRhdGlvbj8oKHQ9Wm4ocixlLm1vZGUsbikpLnJldHVybj1lLHQpOigodD1pKHQsci5jaGlsZHJlbnx8W10pKS5yZXR1cm49ZSx0KX1mdW5jdGlvbiBsKGUsdCxyLG4sbyl7cmV0dXJuIG51bGw9PT10fHw3IT09dC50YWc/KCh0PVhuKHIsZS5tb2RlLG4sbykpLnJldHVybj1lLHQpOigodD1pKHQscikpLnJldHVybj1lLHQpfWZ1bmN0aW9uIGgoZSx0LHIpe2lmKCJzdHJpbmciPT09dHlwZW9mIHR8fCJudW1iZXIiPT09dHlwZW9mIHQpcmV0dXJuKHQ9JG4oIiIrdCxlLm1vZGUscikpLnJldHVybj1lLHQ7aWYoIm9iamVjdCI9PT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIFdlOnJldHVybihyPVluKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9aGkoZSxudWxsLHQpLHIucmV0dXJuPWUscjtjYXNlIFllOnJldHVybih0PVpuKHQsZS5tb2RlLHIpKS5yZXR1cm49ZSx0fWlmKGxpKHQpfHxhdCh0KSlyZXR1cm4odD1Ybih0LGUubW9kZSxyLG51bGwpKS5yZXR1cm49ZSx0O3BpKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gcChlLHQscixuKXt2YXIgaT1udWxsIT09dD90LmtleTpudWxsO2lmKCJzdHJpbmciPT09dHlwZW9mIHJ8fCJudW1iZXIiPT09dHlwZW9mIHIpcmV0dXJuIG51bGwhPT1pP251bGw6dShlLHQsIiIrcixuKTtpZigib2JqZWN0Ij09PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgV2U6cmV0dXJuIHIua2V5PT09aT9yLnR5cGU9PT1YZT9sKGUsdCxyLnByb3BzLmNoaWxkcmVuLG4saSk6YyhlLHQscixuKTpudWxsO2Nhc2UgWWU6cmV0dXJuIHIua2V5PT09aT9mKGUsdCxyLG4pOm51bGx9aWYobGkocil8fGF0KHIpKXJldHVybiBudWxsIT09aT9udWxsOmwoZSx0LHIsbixudWxsKTtwaShlLHIpfXJldHVybiBudWxsfWZ1bmN0aW9uIGQoZSx0LHIsbixpKXtpZigic3RyaW5nIj09PXR5cGVvZiBufHwibnVtYmVyIj09PXR5cGVvZiBuKXJldHVybiB1KHQsZT1lLmdldChyKXx8bnVsbCwiIituLGkpO2lmKCJvYmplY3QiPT09dHlwZW9mIG4mJm51bGwhPT1uKXtzd2l0Y2gobi4kJHR5cGVvZil7Y2FzZSBXZTpyZXR1cm4gZT1lLmdldChudWxsPT09bi5rZXk/cjpuLmtleSl8fG51bGwsbi50eXBlPT09WGU/bCh0LGUsbi5wcm9wcy5jaGlsZHJlbixpLG4ua2V5KTpjKHQsZSxuLGkpO2Nhc2UgWWU6cmV0dXJuIGYodCxlPWUuZ2V0KG51bGw9PT1uLmtleT9yOm4ua2V5KXx8bnVsbCxuLGkpfWlmKGxpKG4pfHxhdChuKSlyZXR1cm4gbCh0LGU9ZS5nZXQocil8fG51bGwsbixpLG51bGwpO3BpKHQsbil9cmV0dXJuIG51bGx9ZnVuY3Rpb24geShpLGEscyx1KXtmb3IodmFyIGM9bnVsbCxmPW51bGwsbD1hLHk9YT0wLGc9bnVsbDtudWxsIT09bCYmeTxzLmxlbmd0aDt5Kyspe2wuaW5kZXg+eT8oZz1sLGw9bnVsbCk6Zz1sLnNpYmxpbmc7dmFyIHY9cChpLGwsc1t5XSx1KTtpZihudWxsPT09dil7bnVsbD09PWwmJihsPWcpO2JyZWFrfWUmJmwmJm51bGw9PT12LmFsdGVybmF0ZSYmdChpLGwpLGE9byh2LGEseSksbnVsbD09PWY/Yz12OmYuc2libGluZz12LGY9dixsPWd9aWYoeT09PXMubGVuZ3RoKXJldHVybiByKGksbCksYztpZihudWxsPT09bCl7Zm9yKDt5PHMubGVuZ3RoO3krKykobD1oKGksc1t5XSx1KSkmJihhPW8obCxhLHkpLG51bGw9PT1mP2M9bDpmLnNpYmxpbmc9bCxmPWwpO3JldHVybiBjfWZvcihsPW4oaSxsKTt5PHMubGVuZ3RoO3krKykoZz1kKGwsaSx5LHNbeV0sdSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZsLmRlbGV0ZShudWxsPT09Zy5rZXk/eTpnLmtleSksYT1vKGcsYSx5KSxudWxsPT09Zj9jPWc6Zi5zaWJsaW5nPWcsZj1nKTtyZXR1cm4gZSYmbC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiB0KGksZSl9KSxjfWZ1bmN0aW9uIGcoaSxzLHUsYyl7dmFyIGY9YXQodSk7ImZ1bmN0aW9uIiE9PXR5cGVvZiBmJiZhKCIxNTAiKSxudWxsPT0odT1mLmNhbGwodSkpJiZhKCIxNTEiKTtmb3IodmFyIGw9Zj1udWxsLHk9cyxnPXM9MCx2PW51bGwsbT11Lm5leHQoKTtudWxsIT09eSYmIW0uZG9uZTtnKyssbT11Lm5leHQoKSl7eS5pbmRleD5nPyh2PXkseT1udWxsKTp2PXkuc2libGluZzt2YXIgYj1wKGkseSxtLnZhbHVlLGMpO2lmKG51bGw9PT1iKXt5fHwoeT12KTticmVha31lJiZ5JiZudWxsPT09Yi5hbHRlcm5hdGUmJnQoaSx5KSxzPW8oYixzLGcpLG51bGw9PT1sP2Y9YjpsLnNpYmxpbmc9YixsPWIseT12fWlmKG0uZG9uZSlyZXR1cm4gcihpLHkpLGY7aWYobnVsbD09PXkpe2Zvcig7IW0uZG9uZTtnKyssbT11Lm5leHQoKSludWxsIT09KG09aChpLG0udmFsdWUsYykpJiYocz1vKG0scyxnKSxudWxsPT09bD9mPW06bC5zaWJsaW5nPW0sbD1tKTtyZXR1cm4gZn1mb3IoeT1uKGkseSk7IW0uZG9uZTtnKyssbT11Lm5leHQoKSludWxsIT09KG09ZCh5LGksZyxtLnZhbHVlLGMpKSYmKGUmJm51bGwhPT1tLmFsdGVybmF0ZSYmeS5kZWxldGUobnVsbD09PW0ua2V5P2c6bS5rZXkpLHM9byhtLHMsZyksbnVsbD09PWw/Zj1tOmwuc2libGluZz1tLGw9bSk7cmV0dXJuIGUmJnkuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gdChpLGUpfSksZn1yZXR1cm4gZnVuY3Rpb24oZSxuLG8sdSl7dmFyIGM9Im9iamVjdCI9PT10eXBlb2YgbyYmbnVsbCE9PW8mJm8udHlwZT09PVhlJiZudWxsPT09by5rZXk7YyYmKG89by5wcm9wcy5jaGlsZHJlbik7dmFyIGY9Im9iamVjdCI9PT10eXBlb2YgbyYmbnVsbCE9PW87aWYoZilzd2l0Y2goby4kJHR5cGVvZil7Y2FzZSBXZTplOntmb3IoZj1vLmtleSxjPW47bnVsbCE9PWM7KXtpZihjLmtleT09PWYpe2lmKDc9PT1jLnRhZz9vLnR5cGU9PT1YZTpjLmVsZW1lbnRUeXBlPT09by50eXBlKXtyKGUsYy5zaWJsaW5nKSwobj1pKGMsby50eXBlPT09WGU/by5wcm9wcy5jaGlsZHJlbjpvLnByb3BzKSkucmVmPWhpKGUsYyxvKSxuLnJldHVybj1lLGU9bjticmVhayBlfXIoZSxjKTticmVha310KGUsYyksYz1jLnNpYmxpbmd9by50eXBlPT09WGU/KChuPVhuKG8ucHJvcHMuY2hpbGRyZW4sZS5tb2RlLHUsby5rZXkpKS5yZXR1cm49ZSxlPW4pOigodT1ZbihvLnR5cGUsby5rZXksby5wcm9wcyxudWxsLGUubW9kZSx1KSkucmVmPWhpKGUsbixvKSx1LnJldHVybj1lLGU9dSl9cmV0dXJuIHMoZSk7Y2FzZSBZZTplOntmb3IoYz1vLmtleTtudWxsIT09bjspe2lmKG4ua2V5PT09Yyl7aWYoND09PW4udGFnJiZuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09by5jb250YWluZXJJbmZvJiZuLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbj09PW8uaW1wbGVtZW50YXRpb24pe3IoZSxuLnNpYmxpbmcpLChuPWkobixvLmNoaWxkcmVufHxbXSkpLnJldHVybj1lLGU9bjticmVhayBlfXIoZSxuKTticmVha310KGUsbiksbj1uLnNpYmxpbmd9KG49Wm4obyxlLm1vZGUsdSkpLnJldHVybj1lLGU9bn1yZXR1cm4gcyhlKX1pZigic3RyaW5nIj09PXR5cGVvZiBvfHwibnVtYmVyIj09PXR5cGVvZiBvKXJldHVybiBvPSIiK28sbnVsbCE9PW4mJjY9PT1uLnRhZz8ocihlLG4uc2libGluZyksKG49aShuLG8pKS5yZXR1cm49ZSxlPW4pOihyKGUsbiksKG49JG4obyxlLm1vZGUsdSkpLnJldHVybj1lLGU9bikscyhlKTtpZihsaShvKSlyZXR1cm4geShlLG4sbyx1KTtpZihhdChvKSlyZXR1cm4gZyhlLG4sbyx1KTtpZihmJiZwaShlLG8pLCJ1bmRlZmluZWQiPT09dHlwZW9mIG8mJiFjKXN3aXRjaChlLnRhZyl7Y2FzZSAxOmNhc2UgMDphKCIxNTIiLCh1PWUudHlwZSkuZGlzcGxheU5hbWV8fHUubmFtZXx8IkNvbXBvbmVudCIpfXJldHVybiByKGUsbil9fXZhciB5aT1kaSghMCksZ2k9ZGkoITEpLHZpPXt9LG1pPXtjdXJyZW50OnZpfSxiaT17Y3VycmVudDp2aX0sX2k9e2N1cnJlbnQ6dml9O2Z1bmN0aW9uIFNpKGUpe3JldHVybiBlPT09dmkmJmEoIjE3NCIpLGV9ZnVuY3Rpb24gRWkoZSx0KXtJbihfaSx0KSxJbihiaSxlKSxJbihtaSx2aSk7dmFyIHI9dC5ub2RlVHlwZTtzd2l0Y2gocil7Y2FzZSA5OmNhc2UgMTE6dD0odD10LmRvY3VtZW50RWxlbWVudCk/dC5uYW1lc3BhY2VVUkk6ZW4obnVsbCwiIik7YnJlYWs7ZGVmYXVsdDp0PWVuKHQ9KHI9OD09PXI/dC5wYXJlbnROb2RlOnQpLm5hbWVzcGFjZVVSSXx8bnVsbCxyPXIudGFnTmFtZSl9eG4obWkpLEluKG1pLHQpfWZ1bmN0aW9uIHdpKGUpe3huKG1pKSx4bihiaSkseG4oX2kpfWZ1bmN0aW9uIFRpKGUpe1NpKF9pLmN1cnJlbnQpO3ZhciB0PVNpKG1pLmN1cnJlbnQpLHI9ZW4odCxlLnR5cGUpO3QhPT1yJiYoSW4oYmksZSksSW4obWkscikpfWZ1bmN0aW9uIEFpKGUpe2JpLmN1cnJlbnQ9PT1lJiYoeG4obWkpLHhuKGJpKSl9dmFyIENpPTAseGk9MixJaT00LGtpPTgsT2k9MTYsTmk9MzIsUGk9NjQsUmk9MTI4LEJpPXplLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsTWk9MCxMaT1udWxsLERpPW51bGwsamk9bnVsbCxVaT1udWxsLEZpPW51bGwsVmk9bnVsbCxxaT0wLEtpPW51bGwsemk9MCxHaT0hMSxIaT1udWxsLFdpPTA7ZnVuY3Rpb24gWWkoKXthKCIzMjEiKX1mdW5jdGlvbiBYaShlLHQpe2lmKG51bGw9PT10KXJldHVybiExO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGgmJnI8ZS5sZW5ndGg7cisrKWlmKCFadChlW3JdLHRbcl0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIFFpKGUsdCxyLG4saSxvKXtpZihNaT1vLExpPXQsamk9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGwsQmkuY3VycmVudD1udWxsPT09amk/Y286Zm8sdD1yKG4saSksR2kpe2Rve0dpPSExLFdpKz0xLGppPW51bGwhPT1lP2UubWVtb2l6ZWRTdGF0ZTpudWxsLFZpPVVpLEtpPUZpPURpPW51bGwsQmkuY3VycmVudD1mbyx0PXIobixpKX13aGlsZShHaSk7SGk9bnVsbCxXaT0wfXJldHVybiBCaS5jdXJyZW50PXVvLChlPUxpKS5tZW1vaXplZFN0YXRlPVVpLGUuZXhwaXJhdGlvblRpbWU9cWksZS51cGRhdGVRdWV1ZT1LaSxlLmVmZmVjdFRhZ3w9emksZT1udWxsIT09RGkmJm51bGwhPT1EaS5uZXh0LE1pPTAsVmk9Rmk9VWk9amk9RGk9TGk9bnVsbCxxaT0wLEtpPW51bGwsemk9MCxlJiZhKCIzMDAiKSx0fWZ1bmN0aW9uICRpKCl7QmkuY3VycmVudD11byxNaT0wLFZpPUZpPVVpPWppPURpPUxpPW51bGwscWk9MCxLaT1udWxsLHppPTAsR2k9ITEsSGk9bnVsbCxXaT0wfWZ1bmN0aW9uIFppKCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxxdWV1ZTpudWxsLGJhc2VVcGRhdGU6bnVsbCxuZXh0Om51bGx9O3JldHVybiBudWxsPT09Rmk/VWk9Rmk9ZTpGaT1GaS5uZXh0PWUsRml9ZnVuY3Rpb24gSmkoKXtpZihudWxsIT09VmkpVmk9KEZpPVZpKS5uZXh0LGppPW51bGwhPT0oRGk9amkpP0RpLm5leHQ6bnVsbDtlbHNle251bGw9PT1qaSYmYSgiMzEwIik7dmFyIGU9e21lbW9pemVkU3RhdGU6KERpPWppKS5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTpEaS5iYXNlU3RhdGUscXVldWU6RGkucXVldWUsYmFzZVVwZGF0ZTpEaS5iYXNlVXBkYXRlLG5leHQ6bnVsbH07Rmk9bnVsbD09PUZpP1VpPWU6RmkubmV4dD1lLGppPURpLm5leHR9cmV0dXJuIEZpfWZ1bmN0aW9uIGVvKGUsdCl7cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZiB0P3QoZSk6dH1mdW5jdGlvbiB0byhlKXt2YXIgdD1KaSgpLHI9dC5xdWV1ZTtpZihudWxsPT09ciYmYSgiMzExIiksci5sYXN0UmVuZGVyZWRSZWR1Y2VyPWUsMDxXaSl7dmFyIG49ci5kaXNwYXRjaDtpZihudWxsIT09SGkpe3ZhciBpPUhpLmdldChyKTtpZih2b2lkIDAhPT1pKXtIaS5kZWxldGUocik7dmFyIG89dC5tZW1vaXplZFN0YXRlO2Rve289ZShvLGkuYWN0aW9uKSxpPWkubmV4dH13aGlsZShudWxsIT09aSk7cmV0dXJuIFp0KG8sdC5tZW1vaXplZFN0YXRlKXx8KEVvPSEwKSx0Lm1lbW9pemVkU3RhdGU9byx0LmJhc2VVcGRhdGU9PT1yLmxhc3QmJih0LmJhc2VTdGF0ZT1vKSxyLmxhc3RSZW5kZXJlZFN0YXRlPW8sW28sbl19fXJldHVyblt0Lm1lbW9pemVkU3RhdGUsbl19bj1yLmxhc3Q7dmFyIHM9dC5iYXNlVXBkYXRlO2lmKG89dC5iYXNlU3RhdGUsbnVsbCE9PXM/KG51bGwhPT1uJiYobi5uZXh0PW51bGwpLG49cy5uZXh0KTpuPW51bGwhPT1uP24ubmV4dDpudWxsLG51bGwhPT1uKXt2YXIgdT1pPW51bGwsYz1uLGY9ITE7ZG97dmFyIGw9Yy5leHBpcmF0aW9uVGltZTtsPE1pPyhmfHwoZj0hMCx1PXMsaT1vKSxsPnFpJiYocWk9bCkpOm89Yy5lYWdlclJlZHVjZXI9PT1lP2MuZWFnZXJTdGF0ZTplKG8sYy5hY3Rpb24pLHM9YyxjPWMubmV4dH13aGlsZShudWxsIT09YyYmYyE9PW4pO2Z8fCh1PXMsaT1vKSxadChvLHQubWVtb2l6ZWRTdGF0ZSl8fChFbz0hMCksdC5tZW1vaXplZFN0YXRlPW8sdC5iYXNlVXBkYXRlPXUsdC5iYXNlU3RhdGU9aSxyLmxhc3RSZW5kZXJlZFN0YXRlPW99cmV0dXJuW3QubWVtb2l6ZWRTdGF0ZSxyLmRpc3BhdGNoXX1mdW5jdGlvbiBybyhlLHQscixuKXtyZXR1cm4gZT17dGFnOmUsY3JlYXRlOnQsZGVzdHJveTpyLGRlcHM6bixuZXh0Om51bGx9LG51bGw9PT1LaT8oS2k9e2xhc3RFZmZlY3Q6bnVsbH0pLmxhc3RFZmZlY3Q9ZS5uZXh0PWU6bnVsbD09PSh0PUtpLmxhc3RFZmZlY3QpP0tpLmxhc3RFZmZlY3Q9ZS5uZXh0PWU6KHI9dC5uZXh0LHQubmV4dD1lLGUubmV4dD1yLEtpLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBubyhlLHQscixuKXt2YXIgaT1aaSgpO3ppfD1lLGkubWVtb2l6ZWRTdGF0ZT1ybyh0LHIsdm9pZCAwLHZvaWQgMD09PW4/bnVsbDpuKX1mdW5jdGlvbiBpbyhlLHQscixuKXt2YXIgaT1KaSgpO249dm9pZCAwPT09bj9udWxsOm47dmFyIG89dm9pZCAwO2lmKG51bGwhPT1EaSl7dmFyIGE9RGkubWVtb2l6ZWRTdGF0ZTtpZihvPWEuZGVzdHJveSxudWxsIT09biYmWGkobixhLmRlcHMpKXJldHVybiB2b2lkIHJvKENpLHIsbyxuKX16aXw9ZSxpLm1lbW9pemVkU3RhdGU9cm8odCxyLG8sbil9ZnVuY3Rpb24gb28oZSx0KXtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIHQ/KGU9ZSgpLHQoZSksZnVuY3Rpb24oKXt0KG51bGwpfSk6bnVsbCE9PXQmJnZvaWQgMCE9PXQ/KGU9ZSgpLHQuY3VycmVudD1lLGZ1bmN0aW9uKCl7dC5jdXJyZW50PW51bGx9KTp2b2lkIDB9ZnVuY3Rpb24gYW8oKXt9ZnVuY3Rpb24gc28oZSx0LHIpezI1PldpfHxhKCIzMDEiKTt2YXIgbj1lLmFsdGVybmF0ZTtpZihlPT09TGl8fG51bGwhPT1uJiZuPT09TGkpaWYoR2k9ITAsZT17ZXhwaXJhdGlvblRpbWU6TWksYWN0aW9uOnIsZWFnZXJSZWR1Y2VyOm51bGwsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sbnVsbD09PUhpJiYoSGk9bmV3IE1hcCksdm9pZCAwPT09KHI9SGkuZ2V0KHQpKSlIaS5zZXQodCxlKTtlbHNle2Zvcih0PXI7bnVsbCE9PXQubmV4dDspdD10Lm5leHQ7dC5uZXh0PWV9ZWxzZXtLYSgpO3ZhciBpPUVzKCksbz17ZXhwaXJhdGlvblRpbWU6aT1YYShpLGUpLGFjdGlvbjpyLGVhZ2VyUmVkdWNlcjpudWxsLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LHM9dC5sYXN0O2lmKG51bGw9PT1zKW8ubmV4dD1vO2Vsc2V7dmFyIHU9cy5uZXh0O251bGwhPT11JiYoby5uZXh0PXUpLHMubmV4dD1vfWlmKHQubGFzdD1vLDA9PT1lLmV4cGlyYXRpb25UaW1lJiYobnVsbD09PW58fDA9PT1uLmV4cGlyYXRpb25UaW1lKSYmbnVsbCE9PShuPXQubGFzdFJlbmRlcmVkUmVkdWNlcikpdHJ5e3ZhciBjPXQubGFzdFJlbmRlcmVkU3RhdGUsZj1uKGMscik7aWYoby5lYWdlclJlZHVjZXI9bixvLmVhZ2VyU3RhdGU9ZixadChmLGMpKXJldHVybn1jYXRjaChsKXt9WmEoZSxpKX19dmFyIHVvPXtyZWFkQ29udGV4dDpxbyx1c2VDYWxsYmFjazpZaSx1c2VDb250ZXh0OllpLHVzZUVmZmVjdDpZaSx1c2VJbXBlcmF0aXZlSGFuZGxlOllpLHVzZUxheW91dEVmZmVjdDpZaSx1c2VNZW1vOllpLHVzZVJlZHVjZXI6WWksdXNlUmVmOllpLHVzZVN0YXRlOllpLHVzZURlYnVnVmFsdWU6WWl9LGNvPXtyZWFkQ29udGV4dDpxbyx1c2VDYWxsYmFjazpmdW5jdGlvbihlLHQpe3JldHVybiBaaSgpLm1lbW9pemVkU3RhdGU9W2Usdm9pZCAwPT09dD9udWxsOnRdLGV9LHVzZUNvbnRleHQ6cW8sdXNlRWZmZWN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5vKDUxNixSaXxQaSxlLHQpfSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gcj1udWxsIT09ciYmdm9pZCAwIT09cj9yLmNvbmNhdChbZV0pOm51bGwsbm8oNCxJaXxOaSxvby5iaW5kKG51bGwsdCxlKSxyKX0sdXNlTGF5b3V0RWZmZWN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5vKDQsSWl8TmksZSx0KX0sdXNlTWVtbzpmdW5jdGlvbihlLHQpe3ZhciByPVppKCk7cmV0dXJuIHQ9dm9pZCAwPT09dD9udWxsOnQsZT1lKCksci5tZW1vaXplZFN0YXRlPVtlLHRdLGV9LHVzZVJlZHVjZXI6ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPVppKCk7cmV0dXJuIHQ9dm9pZCAwIT09cj9yKHQpOnQsbi5tZW1vaXplZFN0YXRlPW4uYmFzZVN0YXRlPXQsZT0oZT1uLnF1ZXVlPXtsYXN0Om51bGwsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOmUsbGFzdFJlbmRlcmVkU3RhdGU6dH0pLmRpc3BhdGNoPXNvLmJpbmQobnVsbCxMaSxlKSxbbi5tZW1vaXplZFN0YXRlLGVdfSx1c2VSZWY6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9e2N1cnJlbnQ6ZX0sWmkoKS5tZW1vaXplZFN0YXRlPWV9LHVzZVN0YXRlOmZ1bmN0aW9uKGUpe3ZhciB0PVppKCk7cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZiBlJiYoZT1lKCkpLHQubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lLGU9KGU9dC5xdWV1ZT17bGFzdDpudWxsLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplbyxsYXN0UmVuZGVyZWRTdGF0ZTplfSkuZGlzcGF0Y2g9c28uYmluZChudWxsLExpLGUpLFt0Lm1lbW9pemVkU3RhdGUsZV19LHVzZURlYnVnVmFsdWU6YW99LGZvPXtyZWFkQ29udGV4dDpxbyx1c2VDYWxsYmFjazpmdW5jdGlvbihlLHQpe3ZhciByPUppKCk7dD12b2lkIDA9PT10P251bGw6dDt2YXIgbj1yLm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09dCYmWGkodCxuWzFdKT9uWzBdOihyLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9LHVzZUNvbnRleHQ6cW8sdXNlRWZmZWN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGlvKDUxNixSaXxQaSxlLHQpfSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gcj1udWxsIT09ciYmdm9pZCAwIT09cj9yLmNvbmNhdChbZV0pOm51bGwsaW8oNCxJaXxOaSxvby5iaW5kKG51bGwsdCxlKSxyKX0sdXNlTGF5b3V0RWZmZWN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGlvKDQsSWl8TmksZSx0KX0sdXNlTWVtbzpmdW5jdGlvbihlLHQpe3ZhciByPUppKCk7dD12b2lkIDA9PT10P251bGw6dDt2YXIgbj1yLm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09dCYmWGkodCxuWzFdKT9uWzBdOihlPWUoKSxyLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9LHVzZVJlZHVjZXI6dG8sdXNlUmVmOmZ1bmN0aW9uKCl7cmV0dXJuIEppKCkubWVtb2l6ZWRTdGF0ZX0sdXNlU3RhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRvKGVvKX0sdXNlRGVidWdWYWx1ZTphb30sbG89bnVsbCxobz1udWxsLHBvPSExO2Z1bmN0aW9uIHlvKGUsdCl7dmFyIHI9R24oNSxudWxsLG51bGwsMCk7ci5lbGVtZW50VHlwZT0iREVMRVRFRCIsci50eXBlPSJERUxFVEVEIixyLnN0YXRlTm9kZT10LHIucmV0dXJuPWUsci5lZmZlY3RUYWc9OCxudWxsIT09ZS5sYXN0RWZmZWN0PyhlLmxhc3RFZmZlY3QubmV4dEVmZmVjdD1yLGUubGFzdEVmZmVjdD1yKTplLmZpcnN0RWZmZWN0PWUubGFzdEVmZmVjdD1yfWZ1bmN0aW9uIGdvKGUsdCl7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIHI9ZS50eXBlO3JldHVybiBudWxsIT09KHQ9MSE9PXQubm9kZVR5cGV8fHIudG9Mb3dlckNhc2UoKSE9PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOnQpJiYoZS5zdGF0ZU5vZGU9dCwhMCk7Y2FzZSA2OnJldHVybiBudWxsIT09KHQ9IiI9PT1lLnBlbmRpbmdQcm9wc3x8MyE9PXQubm9kZVR5cGU/bnVsbDp0KSYmKGUuc3RhdGVOb2RlPXQsITApO2Nhc2UgMTM6ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gdm8oZSl7aWYocG8pe3ZhciB0PWhvO2lmKHQpe3ZhciByPXQ7aWYoIWdvKGUsdCkpe2lmKCEodD13bihyKSl8fCFnbyhlLHQpKXJldHVybiBlLmVmZmVjdFRhZ3w9Mixwbz0hMSx2b2lkKGxvPWUpO3lvKGxvLHIpfWxvPWUsaG89VG4odCl9ZWxzZSBlLmVmZmVjdFRhZ3w9Mixwbz0hMSxsbz1lfX1mdW5jdGlvbiBtbyhlKXtmb3IoZT1lLnJldHVybjtudWxsIT09ZSYmNSE9PWUudGFnJiYzIT09ZS50YWcmJjE4IT09ZS50YWc7KWU9ZS5yZXR1cm47bG89ZX1mdW5jdGlvbiBibyhlKXtpZihlIT09bG8pcmV0dXJuITE7aWYoIXBvKXJldHVybiBtbyhlKSxwbz0hMCwhMTt2YXIgdD1lLnR5cGU7aWYoNSE9PWUudGFnfHwiaGVhZCIhPT10JiYiYm9keSIhPT10JiYhbW4odCxlLm1lbW9pemVkUHJvcHMpKWZvcih0PWhvO3Q7KXlvKGUsdCksdD13bih0KTtyZXR1cm4gbW8oZSksaG89bG8/d24oZS5zdGF0ZU5vZGUpOm51bGwsITB9ZnVuY3Rpb24gX28oKXtobz1sbz1udWxsLHBvPSExfXZhciBTbz16ZS5SZWFjdEN1cnJlbnRPd25lcixFbz0hMTtmdW5jdGlvbiB3byhlLHQscixuKXt0LmNoaWxkPW51bGw9PT1lP2dpKHQsbnVsbCxyLG4pOnlpKHQsZS5jaGlsZCxyLG4pfWZ1bmN0aW9uIFRvKGUsdCxyLG4saSl7cj1yLnJlbmRlcjt2YXIgbz10LnJlZjtyZXR1cm4gVm8odCxpKSxuPVFpKGUsdCxyLG4sbyxpKSxudWxsPT09ZXx8RW8/KHQuZWZmZWN0VGFnfD0xLHdvKGUsdCxuLGkpLHQuY2hpbGQpOih0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdC5lZmZlY3RUYWcmPS01MTcsZS5leHBpcmF0aW9uVGltZTw9aSYmKGUuZXhwaXJhdGlvblRpbWU9MCksUm8oZSx0LGkpKX1mdW5jdGlvbiBBbyhlLHQscixuLGksbyl7aWYobnVsbD09PWUpe3ZhciBhPXIudHlwZTtyZXR1cm4iZnVuY3Rpb24iIT09dHlwZW9mIGF8fEhuKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PXIuY29tcGFyZXx8dm9pZCAwIT09ci5kZWZhdWx0UHJvcHM/KChlPVluKHIudHlwZSxudWxsLG4sbnVsbCx0Lm1vZGUsbykpLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZSk6KHQudGFnPTE1LHQudHlwZT1hLENvKGUsdCxhLG4saSxvKSl9cmV0dXJuIGE9ZS5jaGlsZCxpPG8mJihpPWEubWVtb2l6ZWRQcm9wcywocj1udWxsIT09KHI9ci5jb21wYXJlKT9yOmVyKShpLG4pJiZlLnJlZj09PXQucmVmKT9SbyhlLHQsbyk6KHQuZWZmZWN0VGFnfD0xLChlPVduKGEsbikpLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZSl9ZnVuY3Rpb24gQ28oZSx0LHIsbixpLG8pe3JldHVybiBudWxsIT09ZSYmZXIoZS5tZW1vaXplZFByb3BzLG4pJiZlLnJlZj09PXQucmVmJiYoRW89ITEsaTxvKT9SbyhlLHQsbyk6SW8oZSx0LHIsbixvKX1mdW5jdGlvbiB4byhlLHQpe3ZhciByPXQucmVmOyhudWxsPT09ZSYmbnVsbCE9PXJ8fG51bGwhPT1lJiZlLnJlZiE9PXIpJiYodC5lZmZlY3RUYWd8PTEyOCl9ZnVuY3Rpb24gSW8oZSx0LHIsbixpKXt2YXIgbz1CbihyKT9QbjpPbi5jdXJyZW50O3JldHVybiBvPVJuKHQsbyksVm8odCxpKSxyPVFpKGUsdCxyLG4sbyxpKSxudWxsPT09ZXx8RW8/KHQuZWZmZWN0VGFnfD0xLHdvKGUsdCxyLGkpLHQuY2hpbGQpOih0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdC5lZmZlY3RUYWcmPS01MTcsZS5leHBpcmF0aW9uVGltZTw9aSYmKGUuZXhwaXJhdGlvblRpbWU9MCksUm8oZSx0LGkpKX1mdW5jdGlvbiBrbyhlLHQscixuLGkpe2lmKEJuKHIpKXt2YXIgbz0hMDtVbih0KX1lbHNlIG89ITE7aWYoVm8odCxpKSxudWxsPT09dC5zdGF0ZU5vZGUpbnVsbCE9PWUmJihlLmFsdGVybmF0ZT1udWxsLHQuYWx0ZXJuYXRlPW51bGwsdC5lZmZlY3RUYWd8PTIpLHVpKHQscixuKSxmaSh0LHIsbixpKSxuPSEwO2Vsc2UgaWYobnVsbD09PWUpe3ZhciBhPXQuc3RhdGVOb2RlLHM9dC5tZW1vaXplZFByb3BzO2EucHJvcHM9czt2YXIgdT1hLmNvbnRleHQsYz1yLmNvbnRleHRUeXBlOyJvYmplY3QiPT09dHlwZW9mIGMmJm51bGwhPT1jP2M9cW8oYyk6Yz1Sbih0LGM9Qm4ocik/UG46T24uY3VycmVudCk7dmFyIGY9ci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsbD0iZnVuY3Rpb24iPT09dHlwZW9mIGZ8fCJmdW5jdGlvbiI9PT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZTtsfHwiZnVuY3Rpb24iIT09dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPT10eXBlb2YgYS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzfHwocyE9PW58fHUhPT1jKSYmY2kodCxhLG4sYyksV289ITE7dmFyIGg9dC5tZW1vaXplZFN0YXRlO3U9YS5zdGF0ZT1oO3ZhciBwPXQudXBkYXRlUXVldWU7bnVsbCE9PXAmJihyYSh0LHAsbixhLGkpLHU9dC5tZW1vaXplZFN0YXRlKSxzIT09bnx8aCE9PXV8fE5uLmN1cnJlbnR8fFdvPygiZnVuY3Rpb24iPT09dHlwZW9mIGYmJihvaSh0LHIsZixuKSx1PXQubWVtb2l6ZWRTdGF0ZSksKHM9V298fHNpKHQscixzLG4saCx1LGMpKT8obHx8ImZ1bmN0aW9uIiE9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPT10eXBlb2YgYS5jb21wb25lbnRXaWxsTW91bnR8fCgiZnVuY3Rpb24iPT09dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50JiZhLmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09PXR5cGVvZiBhLmNvbXBvbmVudERpZE1vdW50JiYodC5lZmZlY3RUYWd8PTQpKTooImZ1bmN0aW9uIj09PXR5cGVvZiBhLmNvbXBvbmVudERpZE1vdW50JiYodC5lZmZlY3RUYWd8PTQpLHQubWVtb2l6ZWRQcm9wcz1uLHQubWVtb2l6ZWRTdGF0ZT11KSxhLnByb3BzPW4sYS5zdGF0ZT11LGEuY29udGV4dD1jLG49cyk6KCJmdW5jdGlvbiI9PT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZWZmZWN0VGFnfD00KSxuPSExKX1lbHNlIGE9dC5zdGF0ZU5vZGUscz10Lm1lbW9pemVkUHJvcHMsYS5wcm9wcz10LnR5cGU9PT10LmVsZW1lbnRUeXBlP3M6bmkodC50eXBlLHMpLHU9YS5jb250ZXh0LCJvYmplY3QiPT09dHlwZW9mKGM9ci5jb250ZXh0VHlwZSkmJm51bGwhPT1jP2M9cW8oYyk6Yz1Sbih0LGM9Qm4ocik/UG46T24uY3VycmVudCksKGw9ImZ1bmN0aW9uIj09PXR5cGVvZihmPXIuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKXx8ImZ1bmN0aW9uIj09PXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKXx8ImZ1bmN0aW9uIiE9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiYiZnVuY3Rpb24iIT09dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2U="
}

Changelog:

{
    "2020.04.17 15:43": "base64:bGJhY2ssRW49by51bnN0YWJsZV9jYW5jZWxDYWxsYmFjaztmdW5jdGlvbiB3bihlKXtmb3IoZT1lLm5leHRTaWJsaW5nO2UmJjEhPT1lLm5vZGVUeXBlJiYzIT09ZS5ub2RlVHlwZTspZT1lLm5leHRTaWJsaW5nO3JldHVybiBlfWZ1bmN0aW9uIFRuKGUpe2ZvcihlPWUuZmlyc3RDaGlsZDtlJiYxIT09ZS5ub2RlVHlwZSYmMyE9PWUubm9kZVR5cGU7KWU9ZS5uZXh0U2libGluZztyZXR1cm4gZX1uZXcgU2V0O3ZhciBBbj1bXSxDbj0tMTtmdW5jdGlvbiB4bihlKXswPkNufHwoZS5jdXJyZW50PUFuW0NuXSxBbltDbl09bnVsbCxDbi0tKX1mdW5jdGlvbiBJbihlLHQpe0FuWysrQ25dPWUuY3VycmVudCxlLmN1cnJlbnQ9dH12YXIga249e30sT249e2N1cnJlbnQ6a259LE5uPXtjdXJyZW50OiExfSxQbj1rbjtmdW5jdGlvbiBSbihlLHQpe3ZhciByPWUudHlwZS5jb250ZXh0VHlwZXM7aWYoIXIpcmV0dXJuIGtuO3ZhciBuPWUuc3RhdGVOb2RlO2lmKG4mJm4uX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD09PXQpcmV0dXJuIG4uX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ7dmFyIGksbz17fTtmb3IoaSBpbiByKW9baV09dFtpXTtyZXR1cm4gbiYmKChlPWUuc3RhdGVOb2RlKS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0PXQsZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dD1vKSxvfWZ1bmN0aW9uIEJuKGUpe3JldHVybiBudWxsIT09KGU9ZS5jaGlsZENvbnRleHRUeXBlcykmJnZvaWQgMCE9PWV9ZnVuY3Rpb24gTW4oZSl7eG4oTm4pLHhuKE9uKX1mdW5jdGlvbiBMbihlKXt4bihObikseG4oT24pfWZ1bmN0aW9uIERuKGUsdCxyKXtPbi5jdXJyZW50IT09a24mJmEoIjE2OCIpLEluKE9uLHQpLEluKE5uLHIpfWZ1bmN0aW9uIGpuKGUsdCxyKXt2YXIgbj1lLnN0YXRlTm9kZTtpZihlPXQuY2hpbGRDb250ZXh0VHlwZXMsImZ1bmN0aW9uIiE9PXR5cGVvZiBuLmdldENoaWxkQ29udGV4dClyZXR1cm4gcjtmb3IodmFyIG8gaW4gbj1uLmdldENoaWxkQ29udGV4dCgpKW8gaW4gZXx8YSgiMTA4IixzdCh0KXx8IlVua25vd24iLG8pO3JldHVybiBpKHt9LHIsbil9ZnVuY3Rpb24gVW4oZSl7dmFyIHQ9ZS5zdGF0ZU5vZGU7cmV0dXJuIHQ9dCYmdC5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dHx8a24sUG49T24uY3VycmVudCxJbihPbix0KSxJbihObixObi5jdXJyZW50KSwhMH1mdW5jdGlvbiBGbihlLHQscil7dmFyIG49ZS5zdGF0ZU5vZGU7bnx8YSgiMTY5Iikscj8odD1qbihlLHQsUG4pLG4uX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ9dCx4bihObikseG4oT24pLEluKE9uLHQpKTp4bihObiksSW4oTm4scil9dmFyIFZuPW51bGwscW49bnVsbDtmdW5jdGlvbiBLbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7dHJ5e3JldHVybiBlKHQpfWNhdGNoKHIpe319fWZ1bmN0aW9uIHpuKGUsdCxyLG4pe3RoaXMudGFnPWUsdGhpcy5rZXk9cix0aGlzLnNpYmxpbmc9dGhpcy5jaGlsZD10aGlzLnJldHVybj10aGlzLnN0YXRlTm9kZT10aGlzLnR5cGU9dGhpcy5lbGVtZW50VHlwZT1udWxsLHRoaXMuaW5kZXg9MCx0aGlzLnJlZj1udWxsLHRoaXMucGVuZGluZ1Byb3BzPXQsdGhpcy5jb250ZXh0RGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1uLHRoaXMuZWZmZWN0VGFnPTAsdGhpcy5sYXN0RWZmZWN0PXRoaXMuZmlyc3RFZmZlY3Q9dGhpcy5uZXh0RWZmZWN0PW51bGwsdGhpcy5jaGlsZEV4cGlyYXRpb25UaW1lPXRoaXMuZXhwaXJhdGlvblRpbWU9MCx0aGlzLmFsdGVybmF0ZT1udWxsfWZ1bmN0aW9uIEduKGUsdCxyLG4pe3JldHVybiBuZXcgem4oZSx0LHIsbil9ZnVuY3Rpb24gSG4oZSl7cmV0dXJuISghKGU9ZS5wcm90b3R5cGUpfHwhZS5pc1JlYWN0Q29tcG9uZW50KX1mdW5jdGlvbiBXbihlLHQpe3ZhciByPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09cj8oKHI9R24oZS50YWcsdCxlLmtleSxlLm1vZGUpKS5lbGVtZW50VHlwZT1lLmVsZW1lbnRUeXBlLHIudHlwZT1lLnR5cGUsci5zdGF0ZU5vZGU9ZS5zdGF0ZU5vZGUsci5hbHRlcm5hdGU9ZSxlLmFsdGVybmF0ZT1yKTooci5wZW5kaW5nUHJvcHM9dCxyLmVmZmVjdFRhZz0wLHIubmV4dEVmZmVjdD1udWxsLHIuZmlyc3RFZmZlY3Q9bnVsbCxyLmxhc3RFZmZlY3Q9bnVsbCksci5jaGlsZEV4cGlyYXRpb25UaW1lPWUuY2hpbGRFeHBpcmF0aW9uVGltZSxyLmV4cGlyYXRpb25UaW1lPWUuZXhwaXJhdGlvblRpbWUsci5jaGlsZD1lLmNoaWxkLHIubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsci5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxyLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsci5jb250ZXh0RGVwZW5kZW5jaWVzPWUuY29udGV4dERlcGVuZGVuY2llcyxyLnNpYmxpbmc9ZS5zaWJsaW5nLHIuaW5kZXg9ZS5pbmRleCxyLnJlZj1lLnJlZixyfWZ1bmN0aW9uIFluKGUsdCxyLG4saSxvKXt2YXIgcz0yO2lmKG49ZSwiZnVuY3Rpb24iPT09dHlwZW9mIGUpSG4oZSkmJihzPTEpO2Vsc2UgaWYoInN0cmluZyI9PT10eXBlb2YgZSlzPTU7ZWxzZSBlOnN3aXRjaChlKXtjYXNlIFhlOnJldHVybiBYbihyLmNoaWxkcmVuLGksbyx0KTtjYXNlIGV0OnJldHVybiBRbihyLDN8aSxvLHQpO2Nhc2UgUWU6cmV0dXJuIFFuKHIsMnxpLG8sdCk7Y2FzZSAkZTpyZXR1cm4oZT1HbigxMixyLHQsNHxpKSkuZWxlbWVudFR5cGU9JGUsZS50eXBlPSRlLGUuZXhwaXJhdGlvblRpbWU9byxlO2Nhc2UgcnQ6cmV0dXJuKGU9R24oMTMscix0LGkpKS5lbGVtZW50VHlwZT1ydCxlLnR5cGU9cnQsZS5leHBpcmF0aW9uVGltZT1vLGU7ZGVmYXVsdDppZigib2JqZWN0Ij09PXR5cGVvZiBlJiZudWxsIT09ZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBaZTpzPTEwO2JyZWFrIGU7Y2FzZSBKZTpzPTk7YnJlYWsgZTtjYXNlIHR0OnM9MTE7YnJlYWsgZTtjYXNlIG50OnM9MTQ7YnJlYWsgZTtjYXNlIGl0OnM9MTYsbj1udWxsO2JyZWFrIGV9YSgiMTMwIixudWxsPT1lP2U6dHlwZW9mIGUsIiIpfXJldHVybih0PUduKHMscix0LGkpKS5lbGVtZW50VHlwZT1lLHQudHlwZT1uLHQuZXhwaXJhdGlvblRpbWU9byx0fWZ1bmN0aW9uIFhuKGUsdCxyLG4pe3JldHVybihlPUduKDcsZSxuLHQpKS5leHBpcmF0aW9uVGltZT1yLGV9ZnVuY3Rpb24gUW4oZSx0LHIsbil7cmV0dXJuIGU9R24oOCxlLG4sdCksdD0wPT09KDEmdCk/UWU6ZXQsZS5lbGVtZW50VHlwZT10LGUudHlwZT10LGUuZXhwaXJhdGlvblRpbWU9cixlfWZ1bmN0aW9uICRuKGUsdCxyKXtyZXR1cm4oZT1Hbig2LGUsbnVsbCx0KSkuZXhwaXJhdGlvblRpbWU9cixlfWZ1bmN0aW9uIFpuKGUsdCxyKXtyZXR1cm4odD1Hbig0LG51bGwhPT1lLmNoaWxkcmVuP2UuY2hpbGRyZW46W10sZS5rZXksdCkpLmV4cGlyYXRpb25UaW1lPXIsdC5zdGF0ZU5vZGU9e2NvbnRhaW5lckluZm86ZS5jb250YWluZXJJbmZvLHBlbmRpbmdDaGlsZHJlbjpudWxsLGltcGxlbWVudGF0aW9uOmUuaW1wbGVtZW50YXRpb259LHR9ZnVuY3Rpb24gSm4oZSx0KXtlLmRpZEVycm9yPSExO3ZhciByPWUuZWFybGllc3RQZW5kaW5nVGltZTswPT09cj9lLmVhcmxpZXN0UGVuZGluZ1RpbWU9ZS5sYXRlc3RQZW5kaW5nVGltZT10OnI8dD9lLmVhcmxpZXN0UGVuZGluZ1RpbWU9dDplLmxhdGVzdFBlbmRpbmdUaW1lPnQmJihlLmxhdGVzdFBlbmRpbmdUaW1lPXQpLHJpKHQsZSl9ZnVuY3Rpb24gZWkoZSx0KXtlLmRpZEVycm9yPSExLGUubGF0ZXN0UGluZ2VkVGltZT49dCYmKGUubGF0ZXN0UGluZ2VkVGltZT0wKTt2YXIgcj1lLmVhcmxpZXN0UGVuZGluZ1RpbWUsbj1lLmxhdGVzdFBlbmRpbmdUaW1lO3I9PT10P2UuZWFybGllc3RQZW5kaW5nVGltZT1uPT09dD9lLmxhdGVzdFBlbmRpbmdUaW1lPTA6bjpuPT09dCYmKGUubGF0ZXN0UGVuZGluZ1RpbWU9cikscj1lLmVhcmxpZXN0U3VzcGVuZGVkVGltZSxuPWUubGF0ZXN0U3VzcGVuZGVkVGltZSwwPT09cj9lLmVhcmxpZXN0U3VzcGVuZGVkVGltZT1lLmxhdGVzdFN1c3BlbmRlZFRpbWU9dDpyPHQ/ZS5lYXJsaWVzdFN1c3BlbmRlZFRpbWU9dDpuPnQmJihlLmxhdGVzdFN1c3BlbmRlZFRpbWU9dCkscmkodCxlKX1mdW5jdGlvbiB0aShlLHQpe3ZhciByPWUuZWFybGllc3RQZW5kaW5nVGltZTtyZXR1cm4gcj50JiYodD1yKSwoZT1lLmVhcmxpZXN0U3VzcGVuZGVkVGltZSk+dCYmKHQ9ZSksdH1mdW5jdGlvbiByaShlLHQpe3ZhciByPXQuZWFybGllc3RTdXNwZW5kZWRUaW1lLG49dC5sYXRlc3RTdXNwZW5kZWRUaW1lLGk9dC5lYXJsaWVzdFBlbmRpbmdUaW1lLG89dC5sYXRlc3RQaW5nZWRUaW1lOzA9PT0oaT0wIT09aT9pOm8pJiYoMD09PWV8fG48ZSkmJihpPW4pLDAhPT0oZT1pKSYmcj5lJiYoZT1yKSx0Lm5leHRFeHBpcmF0aW9uVGltZVRvV29ya09uPWksdC5leHBpcmF0aW9uVGltZT1lfWZ1bmN0aW9uIG5pKGUsdCl7aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKHZhciByIGluIHQ9aSh7fSx0KSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PXRbcl0mJih0W3JdPWVbcl0pO3JldHVybiB0fXZhciBpaT0obmV3IG4uQ29tcG9uZW50KS5yZWZzO2Z1bmN0aW9uIG9pKGUsdCxyLG4pe3I9bnVsbD09PShyPXIobix0PWUubWVtb2l6ZWRTdGF0ZSkpfHx2b2lkIDA9PT1yP3Q6aSh7fSx0LHIpLGUubWVtb2l6ZWRTdGF0ZT1yLG51bGwhPT0obj1lLnVwZGF0ZVF1ZXVlKSYmMD09PWUuZXhwaXJhdGlvblRpbWUmJihuLmJhc2VTdGF0ZT1yKX12YXIgYWk9e2lzTW91bnRlZDpmdW5jdGlvbihlKXtyZXR1cm4hIShlPWUuX3JlYWN0SW50ZXJuYWxGaWJlcikmJjI9PT10cihlKX0sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKGUsdCxyKXtlPWUuX3JlYWN0SW50ZXJuYWxGaWJlcjt2YXIgbj1FcygpLGk9UW8obj1YYShuLGUpKTtpLnBheWxvYWQ9dCx2b2lkIDAhPT1yJiZudWxsIT09ciYmKGkuY2FsbGJhY2s9ciksS2EoKSxabyhlLGkpLFphKGUsbil9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oZSx0LHIpe2U9ZS5fcmVhY3RJbnRlcm5hbEZpYmVyO3ZhciBuPUVzKCksaT1RbyhuPVhhKG4sZSkpO2kudGFnPXpvLGkucGF5bG9hZD10LHZvaWQgMCE9PXImJm51bGwhPT1yJiYoaS5jYWxsYmFjaz1yKSxLYSgpLFpvKGUsaSksWmEoZSxuKX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKGUsdCl7ZT1lLl9yZWFjdEludGVybmFsRmliZXI7dmFyIHI9RXMoKSxuPVFvKHI9WGEocixlKSk7bi50YWc9R28sdm9pZCAwIT09dCYmbnVsbCE9PXQmJihuLmNhbGxiYWNrPXQpLEthKCksWm8oZSxuKSxaYShlLHIpfX07ZnVuY3Rpb24gc2koZSx0LHIsbixpLG8sYSl7cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZihlPWUuc3RhdGVOb2RlKS5zaG91bGRDb21wb25lbnRVcGRhdGU/ZS5zaG91bGRDb21wb25lbnRVcGRhdGUobixvLGEpOiF0LnByb3RvdHlwZXx8IXQucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50fHwoIWVyKHIsbil8fCFlcihpLG8pKX1mdW5jdGlvbiB1aShlLHQscil7dmFyIG49ITEsaT1rbixvPXQuY29udGV4dFR5cGU7cmV0dXJuIm9iamVjdCI9PT10eXBlb2YgbyYmbnVsbCE9PW8/bz1xbyhvKTooaT1Cbih0KT9QbjpPbi5jdXJyZW50LG89KG49bnVsbCE9PShuPXQuY29udGV4dFR5cGVzKSYmdm9pZCAwIT09bik/Um4oZSxpKTprbiksdD1uZXcgdChyLG8pLGUubWVtb2l6ZWRTdGF0ZT1udWxsIT09dC5zdGF0ZSYmdm9pZCAwIT09dC5zdGF0ZT90LnN0YXRlOm51bGwsdC51cGRhdGVyPWFpLGUuc3RhdGVOb2RlPXQsdC5fcmVhY3RJbnRlcm5hbEZpYmVyPWUsbiYmKChlPWUuc3RhdGVOb2RlKS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0PWksZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dD1vKSx0fWZ1bmN0aW9uIGNpKGUsdCxyLG4pe2U9dC5zdGF0ZSwiZnVuY3Rpb24iPT09dHlwZW9mIHQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmdC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHIsbiksImZ1bmN0aW9uIj09PXR5cGVvZiB0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZ0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHIsbiksdC5zdGF0ZSE9PWUmJmFpLmVucXVldWVSZXBsYWNlU3RhdGUodCx0LnN0YXRlLG51bGwpfWZ1bmN0aW9uIGZpKGUsdCxyLG4pe3ZhciBpPWUuc3RhdGVOb2RlO2kucHJvcHM9cixpLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxpLnJlZnM9aWk7dmFyIG89dC5jb250ZXh0VHlwZTsib2JqZWN0Ij09PXR5cGVvZiBvJiZudWxsIT09bz9pLmNvbnRleHQ9cW8obyk6KG89Qm4odCk/UG46T24uY3VycmVudCxpLmNvbnRleHQ9Um4oZSxvKSksbnVsbCE9PShvPWUudXBkYXRlUXVldWUpJiYocmEoZSxvLHIsaSxuKSxpLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09PXR5cGVvZihvPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKSYmKG9pKGUsdCxvLHIpLGkuc3RhdGU9ZS5tZW1vaXplZFN0YXRlKSwiZnVuY3Rpb24iPT09dHlwZW9mIHQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT09dHlwZW9mIGkuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fCJmdW5jdGlvbiIhPT10eXBlb2YgaS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiYiZnVuY3Rpb24iIT09dHlwZW9mIGkuY29tcG9uZW50V2lsbE1vdW50fHwodD1pLnN0YXRlLCJmdW5jdGlvbiI9PT10eXBlb2YgaS5jb21wb25lbnRXaWxsTW91bnQmJmkuY29tcG9uZW50V2lsbE1vdW50KCksImZ1bmN0aW9uIj09PXR5cGVvZiBpLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJmkuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpLHQhPT1pLnN0YXRlJiZhaS5lbnF1ZXVlUmVwbGFjZVN0YXRlKGksaS5zdGF0ZSxudWxsKSxudWxsIT09KG89ZS51cGRhdGVRdWV1ZSkmJihyYShlLG8scixpLG4pLGkuc3RhdGU9ZS5tZW1vaXplZFN0YXRlKSksImZ1bmN0aW9uIj09PXR5cGVvZiBpLmNvbXBvbmVudERpZE1vdW50JiYoZS5lZmZlY3RUYWd8PTQpfXZhciBsaT1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIGhpKGUsdCxyKXtpZihudWxsIT09KGU9ci5yZWYpJiYiZnVuY3Rpb24iIT09dHlwZW9mIGUmJiJvYmplY3QiIT09dHlwZW9mIGUpe2lmKHIuX293bmVyKXtyPXIuX293bmVyO3ZhciBuPXZvaWQgMDtyJiYoMSE9PXIudGFnJiZhKCIzMDkiKSxuPXIuc3RhdGVOb2RlKSxufHxhKCIxNDciLGUpO3ZhciBpPSIiK2U7cmV0dXJuIG51bGwhPT10JiZudWxsIT09dC5yZWYmJiJmdW5jdGlvbiI9PT10eXBlb2YgdC5yZWYmJnQucmVmLl9zdHJpbmdSZWY9PT1pP3QucmVmOigodD1mdW5jdGlvbihlKXt2YXIgdD1uLnJlZnM7dD09PWlpJiYodD1uLnJlZnM9e30pLG51bGw9PT1lP2RlbGV0ZSB0W2ldOnRbaV09ZX0pLl9zdHJpbmdSZWY9aSx0KX0ic3RyaW5nIiE9PXR5cGVvZiBlJiZhKCIyODQiKSxyLl9vd25lcnx8YSgiMjkwIixlKX1yZXR1cm4gZX1mdW5jdGlvbiBwaShlLHQpeyJ0ZXh0YXJlYSIhPT1lLnR5cGUmJmEoIjMxIiwiW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9Ijp0LCIiKX1mdW5jdGlvbiBkaShlKXtmdW5jdGlvbiB0KHQscil7aWYoZSl7dmFyIG49dC5sYXN0RWZmZWN0O251bGwhPT1uPyhuLm5leHRFZmZlY3Q9cix0Lmxhc3RFZmZlY3Q9cik6dC5maXJzdEVmZmVjdD10Lmxhc3RFZmZlY3Q9cixyLm5leHRFZmZlY3Q9bnVsbCxyLmVmZmVjdFRhZz04fX1mdW5jdGlvbiByKHIsbil7aWYoIWUpcmV0dXJuIG51bGw7Zm9yKDtudWxsIT09bjspdChyLG4pLG49bi5zaWJsaW5nO3JldHVybiBudWxsfWZ1bmN0aW9uIG4oZSx0KXtmb3IoZT1uZXcgTWFwO251bGwhPT10OyludWxsIT09dC5rZXk/ZS5zZXQodC5rZXksdCk6ZS5zZXQodC5pbmRleCx0KSx0PXQuc2libGluZztyZXR1cm4gZX1mdW5jdGlvbiBpKGUsdCxyKXtyZXR1cm4oZT1XbihlLHQpKS5pbmRleD0wLGUuc2libGluZz1udWxsLGV9ZnVuY3Rpb24gbyh0LHIsbil7cmV0dXJuIHQuaW5kZXg9bixlP251bGwhPT0obj10LmFsdGVybmF0ZSk/KG49bi5pbmRleCk8cj8odC5lZmZlY3RUYWc9MixyKTpuOih0LmVmZmVjdFRhZz0yLHIpOnJ9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gZSYmbnVsbD09PXQuYWx0ZXJuYXRlJiYodC5lZmZlY3RUYWc9MiksdH1mdW5jdGlvbiB1KGUsdCxyLG4pe3JldHVybiBudWxsPT09dHx8NiE9PXQudGFnPygodD0kbihyLGUubW9kZSxuKSkucmV0dXJuPWUsdCk6KCh0PWkodCxyKSkucmV0dXJuPWUsdCl9ZnVuY3Rpb24gYyhlLHQscixuKXtyZXR1cm4gbnVsbCE9PXQmJnQuZWxlbWVudFR5cGU9PT1yLnR5cGU/KChuPWkodCxyLnByb3BzKSkucmVmPWhpKGUsdCxyKSxuLnJldHVybj1lLG4pOigobj1ZbihyLnR5cGUsci5rZXksci5wcm9wcyxudWxsLGUubW9kZSxuKSkucmVmPWhpKGUsdCxyKSxuLnJldHVybj1lLG4pfWZ1bmN0aW9uIGYoZSx0LHIsbil7cmV0dXJuIG51bGw9PT10fHw0IT09dC50YWd8fHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8hPT1yLmNvbnRhaW5lckluZm98fHQuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uIT09ci5pbXBsZW1lbnRhdGlvbj8oKHQ9Wm4ocixlLm1vZGUsbikpLnJldHVybj1lLHQpOigodD1pKHQsci5jaGlsZHJlbnx8W10pKS5yZXR1cm49ZSx0KX1mdW5jdGlvbiBsKGUsdCxyLG4sbyl7cmV0dXJuIG51bGw9PT10fHw3IT09dC50YWc/KCh0PVhuKHIsZS5tb2RlLG4sbykpLnJldHVybj1lLHQpOigodD1pKHQscikpLnJldHVybj1lLHQpfWZ1bmN0aW9uIGgoZSx0LHIpe2lmKCJzdHJpbmciPT09dHlwZW9mIHR8fCJudW1iZXIiPT09dHlwZW9mIHQpcmV0dXJuKHQ9JG4oIiIrdCxlLm1vZGUscikpLnJldHVybj1lLHQ7aWYoIm9iamVjdCI9PT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIFdlOnJldHVybihyPVluKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9aGkoZSxudWxsLHQpLHIucmV0dXJuPWUscjtjYXNlIFllOnJldHVybih0PVpuKHQsZS5tb2RlLHIpKS5yZXR1cm49ZSx0fWlmKGxpKHQpfHxhdCh0KSlyZXR1cm4odD1Ybih0LGUubW9kZSxyLG51bGwpKS5yZXR1cm49ZSx0O3BpKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gcChlLHQscixuKXt2YXIgaT1udWxsIT09dD90LmtleTpudWxsO2lmKCJzdHJpbmciPT09dHlwZW9mIHJ8fCJudW1iZXIiPT09dHlwZW9mIHIpcmV0dXJuIG51bGwhPT1pP251bGw6dShlLHQsIiIrcixuKTtpZigib2JqZWN0Ij09PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgV2U6cmV0dXJuIHIua2V5PT09aT9yLnR5cGU9PT1YZT9sKGUsdCxyLnByb3BzLmNoaWxkcmVuLG4saSk6YyhlLHQscixuKTpudWxsO2Nhc2UgWWU6cmV0dXJuIHIua2V5PT09aT9mKGUsdCxyLG4pOm51bGx9aWYobGkocil8fGF0KHIpKXJldHVybiBudWxsIT09aT9udWxsOmwoZSx0LHIsbixudWxsKTtwaShlLHIpfXJldHVybiBudWxsfWZ1bmN0aW9uIGQoZSx0LHIsbixpKXtpZigic3RyaW5nIj09PXR5cGVvZiBufHwibnVtYmVyIj09PXR5cGVvZiBuKXJldHVybiB1KHQsZT1lLmdldChyKXx8bnVsbCwiIituLGkpO2lmKCJvYmplY3QiPT09dHlwZW9mIG4mJm51bGwhPT1uKXtzd2l0Y2gobi4kJHR5cGVvZil7Y2FzZSBXZTpyZXR1cm4gZT1lLmdldChudWxsPT09bi5rZXk/cjpuLmtleSl8fG51bGwsbi50eXBlPT09WGU/bCh0LGUsbi5wcm9wcy5jaGlsZHJlbixpLG4ua2V5KTpjKHQsZSxuLGkpO2Nhc2UgWWU6cmV0dXJuIGYodCxlPWUuZ2V0KG51bGw9PT1uLmtleT9yOm4ua2V5KXx8bnVsbCxuLGkpfWlmKGxpKG4pfHxhdChuKSlyZXR1cm4gbCh0LGU9ZS5nZXQocil8fG51bGwsbixpLG51bGwpO3BpKHQsbil9cmV0dXJuIG51bGx9ZnVuY3Rpb24geShpLGEscyx1KXtmb3IodmFyIGM9bnVsbCxmPW51bGwsbD1hLHk9YT0wLGc9bnVsbDtudWxsIT09bCYmeTxzLmxlbmd0aDt5Kyspe2wuaW5kZXg+eT8oZz1sLGw9bnVsbCk6Zz1sLnNpYmxpbmc7dmFyIHY9cChpLGwsc1t5XSx1KTtpZihudWxsPT09dil7bnVsbD09PWwmJihsPWcpO2JyZWFrfWUmJmwmJm51bGw9PT12LmFsdGVybmF0ZSYmdChpLGwpLGE9byh2LGEseSksbnVsbD09PWY/Yz12OmYuc2libGluZz12LGY9dixsPWd9aWYoeT09PXMubGVuZ3RoKXJldHVybiByKGksbCksYztpZihudWxsPT09bCl7Zm9yKDt5PHMubGVuZ3RoO3krKykobD1oKGksc1t5XSx1KSkmJihhPW8obCxhLHkpLG51bGw9PT1mP2M9bDpmLnNpYmxpbmc9bCxmPWwpO3JldHVybiBjfWZvcihsPW4oaSxsKTt5PHMubGVuZ3RoO3krKykoZz1kKGwsaSx5LHNbeV0sdSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZsLmRlbGV0ZShudWxsPT09Zy5rZXk/eTpnLmtleSksYT1vKGcsYSx5KSxudWxsPT09Zj9jPWc6Zi5zaWJsaW5nPWcsZj1nKTtyZXR1cm4gZSYmbC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiB0KGksZSl9KSxjfWZ1bmN0aW9uIGcoaSxzLHUsYyl7dmFyIGY9YXQodSk7ImZ1bmN0aW9uIiE9PXR5cGVvZiBmJiZhKCIxNTAiKSxudWxsPT0odT1mLmNhbGwodSkpJiZhKCIxNTEiKTtmb3IodmFyIGw9Zj1udWxsLHk9cyxnPXM9MCx2PW51bGwsbT11Lm5leHQoKTtudWxsIT09eSYmIW0uZG9uZTtnKyssbT11Lm5leHQoKSl7eS5pbmRleD5nPyh2PXkseT1udWxsKTp2PXkuc2libGluZzt2YXIgYj1wKGkseSxtLnZhbHVlLGMpO2lmKG51bGw9PT1iKXt5fHwoeT12KTticmVha31lJiZ5JiZudWxsPT09Yi5hbHRlcm5hdGUmJnQoaSx5KSxzPW8oYixzLGcpLG51bGw9PT1sP2Y9YjpsLnNpYmxpbmc9YixsPWIseT12fWlmKG0uZG9uZSlyZXR1cm4gcihpLHkpLGY7aWYobnVsbD09PXkpe2Zvcig7IW0uZG9uZTtnKyssbT11Lm5leHQoKSludWxsIT09KG09aChpLG0udmFsdWUsYykpJiYocz1vKG0scyxnKSxudWxsPT09bD9mPW06bC5zaWJsaW5nPW0sbD1tKTtyZXR1cm4gZn1mb3IoeT1uKGkseSk7IW0uZG9uZTtnKyssbT11Lm5leHQoKSludWxsIT09KG09ZCh5LGksZyxtLnZhbHVlLGMpKSYmKGUmJm51bGwhPT1tLmFsdGVybmF0ZSYmeS5kZWxldGUobnVsbD09PW0ua2V5P2c6bS5rZXkpLHM9byhtLHMsZyksbnVsbD09PWw/Zj1tOmwuc2libGluZz1tLGw9bSk7cmV0dXJuIGUmJnkuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gdChpLGUpfSksZn1yZXR1cm4gZnVuY3Rpb24oZSxuLG8sdSl7dmFyIGM9Im9iamVjdCI9PT10eXBlb2YgbyYmbnVsbCE9PW8mJm8udHlwZT09PVhlJiZudWxsPT09by5rZXk7YyYmKG89by5wcm9wcy5jaGlsZHJlbik7dmFyIGY9Im9iamVjdCI9PT10eXBlb2YgbyYmbnVsbCE9PW87aWYoZilzd2l0Y2goby4kJHR5cGVvZil7Y2FzZSBXZTplOntmb3IoZj1vLmtleSxjPW47bnVsbCE9PWM7KXtpZihjLmtleT09PWYpe2lmKDc9PT1jLnRhZz9vLnR5cGU9PT1YZTpjLmVsZW1lbnRUeXBlPT09by50eXBlKXtyKGUsYy5zaWJsaW5nKSwobj1pKGMsby50eXBlPT09WGU/by5wcm9wcy5jaGlsZHJlbjpvLnByb3BzKSkucmVmPWhpKGUsYyxvKSxuLnJldHVybj1lLGU9bjticmVhayBlfXIoZSxjKTticmVha310KGUsYyksYz1jLnNpYmxpbmd9by50eXBlPT09WGU/KChuPVhuKG8ucHJvcHMuY2hpbGRyZW4sZS5tb2RlLHUsby5rZXkpKS5yZXR1cm49ZSxlPW4pOigodT1ZbihvLnR5cGUsby5rZXksby5wcm9wcyxudWxsLGUubW9kZSx1KSkucmVmPWhpKGUsbixvKSx1LnJldHVybj1lLGU9dSl9cmV0dXJuIHMoZSk7Y2FzZSBZZTplOntmb3IoYz1vLmtleTtudWxsIT09bjspe2lmKG4ua2V5PT09Yyl7aWYoND09PW4udGFnJiZuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09by5jb250YWluZXJJbmZvJiZuLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbj09PW8uaW1wbGVtZW50YXRpb24pe3IoZSxuLnNpYmxpbmcpLChuPWkobixvLmNoaWxkcmVufHxbXSkpLnJldHVybj1lLGU9bjticmVhayBlfXIoZSxuKTticmVha310KGUsbiksbj1uLnNpYmxpbmd9KG49Wm4obyxlLm1vZGUsdSkpLnJldHVybj1lLGU9bn1yZXR1cm4gcyhlKX1pZigic3RyaW5nIj09PXR5cGVvZiBvfHwibnVtYmVyIj09PXR5cGVvZiBvKXJldHVybiBvPSIiK28sbnVsbCE9PW4mJjY9PT1uLnRhZz8ocihlLG4uc2libGluZyksKG49aShuLG8pKS5yZXR1cm49ZSxlPW4pOihyKGUsbiksKG49JG4obyxlLm1vZGUsdSkpLnJldHVybj1lLGU9bikscyhlKTtpZihsaShvKSlyZXR1cm4geShlLG4sbyx1KTtpZihhdChvKSlyZXR1cm4gZyhlLG4sbyx1KTtpZihmJiZwaShlLG8pLCJ1bmRlZmluZWQiPT09dHlwZW9mIG8mJiFjKXN3aXRjaChlLnRhZyl7Y2FzZSAxOmNhc2UgMDphKCIxNTIiLCh1PWUudHlwZSkuZGlzcGxheU5hbWV8fHUubmFtZXx8IkNvbXBvbmVudCIpfXJldHVybiByKGUsbil9fXZhciB5aT1kaSghMCksZ2k9ZGkoITEpLHZpPXt9LG1pPXtjdXJyZW50OnZpfSxiaT17Y3VycmVudDp2aX0sX2k9e2N1cnJlbnQ6dml9O2Z1bmN0aW9uIFNpKGUpe3JldHVybiBlPT09dmkmJmEoIjE3NCIpLGV9ZnVuY3Rpb24gRWkoZSx0KXtJbihfaSx0KSxJbihiaSxlKSxJbihtaSx2aSk7dmFyIHI9dC5ub2RlVHlwZTtzd2l0Y2gocil7Y2FzZSA5OmNhc2UgMTE6dD0odD10LmRvY3VtZW50RWxlbWVudCk/dC5uYW1lc3BhY2VVUkk6ZW4obnVsbCwiIik7YnJlYWs7ZGVmYXVsdDp0PWVuKHQ9KHI9OD09PXI/dC5wYXJlbnROb2RlOnQpLm5hbWVzcGFjZVVSSXx8bnVsbCxyPXIudGFnTmFtZSl9eG4obWkpLEluKG1pLHQpfWZ1bmN0aW9uIHdpKGUpe3huKG1pKSx4bihiaSkseG4oX2kpfWZ1bmN0aW9uIFRpKGUpe1NpKF9pLmN1cnJlbnQpO3ZhciB0PVNpKG1pLmN1cnJlbnQpLHI9ZW4odCxlLnR5cGUpO3QhPT1yJiYoSW4oYmksZSksSW4obWkscikpfWZ1bmN0aW9uIEFpKGUpe2JpLmN1cnJlbnQ9PT1lJiYoeG4obWkpLHhuKGJpKSl9dmFyIENpPTAseGk9MixJaT00LGtpPTgsT2k9MTYsTmk9MzIsUGk9NjQsUmk9MTI4LEJpPXplLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsTWk9MCxMaT1udWxsLERpPW51bGwsamk9bnVsbCxVaT1udWxsLEZpPW51bGwsVmk9bnVsbCxxaT0wLEtpPW51bGwsemk9MCxHaT0hMSxIaT1udWxsLFdpPTA7ZnVuY3Rpb24gWWkoKXthKCIzMjEiKX1mdW5jdGlvbiBYaShlLHQpe2lmKG51bGw9PT10KXJldHVybiExO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGgmJnI8ZS5sZW5ndGg7cisrKWlmKCFadChlW3JdLHRbcl0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIFFpKGUsdCxyLG4saSxvKXtpZihNaT1vLExpPXQsamk9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGwsQmkuY3VycmVudD1udWxsPT09amk/Y286Zm8sdD1yKG4saSksR2kpe2Rve0dpPSExLFdpKz0xLGppPW51bGwhPT1lP2UubWVtb2l6ZWRTdGF0ZTpudWxsLFZpPVVpLEtpPUZpPURpPW51bGwsQmkuY3VycmVudD1mbyx0PXIobixpKX13aGlsZShHaSk7SGk9bnVsbCxXaT0wfXJldHVybiBCaS5jdXJyZW50PXVvLChlPUxpKS5tZW1vaXplZFN0YXRlPVVpLGUuZXhwaXJhdGlvblRpbWU9cWksZS51cGRhdGVRdWV1ZT1LaSxlLmVmZmVjdFRhZ3w9emksZT1udWxsIT09RGkmJm51bGwhPT1EaS5uZXh0LE1pPTAsVmk9Rmk9VWk9amk9RGk9TGk9bnVsbCxxaT0wLEtpPW51bGwsemk9MCxlJiZhKCIzMDAiKSx0fWZ1bmN0aW9uICRpKCl7QmkuY3VycmVudD11byxNaT0wLFZpPUZpPVVpPWppPURpPUxpPW51bGwscWk9MCxLaT1udWxsLHppPTAsR2k9ITEsSGk9bnVsbCxXaT0wfWZ1bmN0aW9uIFppKCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxxdWV1ZTpudWxsLGJhc2VVcGRhdGU6bnVsbCxuZXh0Om51bGx9O3JldHVybiBudWxsPT09Rmk/VWk9Rmk9ZTpGaT1GaS5uZXh0PWUsRml9ZnVuY3Rpb24gSmkoKXtpZihudWxsIT09VmkpVmk9KEZpPVZpKS5uZXh0LGppPW51bGwhPT0oRGk9amkpP0RpLm5leHQ6bnVsbDtlbHNle251bGw9PT1qaSYmYSgiMzEwIik7dmFyIGU9e21lbW9pemVkU3RhdGU6KERpPWppKS5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTpEaS5iYXNlU3RhdGUscXVldWU6RGkucXVldWUsYmFzZVVwZGF0ZTpEaS5iYXNlVXBkYXRlLG5leHQ6bnVsbH07Rmk9bnVsbD09PUZpP1VpPWU6RmkubmV4dD1lLGppPURpLm5leHR9cmV0dXJuIEZpfWZ1bmN0aW9uIGVvKGUsdCl7cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZiB0P3QoZSk6dH1mdW5jdGlvbiB0byhlKXt2YXIgdD1KaSgpLHI9dC5xdWV1ZTtpZihudWxsPT09ciYmYSgiMzExIiksci5sYXN0UmVuZGVyZWRSZWR1Y2VyPWUsMDxXaSl7dmFyIG49ci5kaXNwYXRjaDtpZihudWxsIT09SGkpe3ZhciBpPUhpLmdldChyKTtpZih2b2lkIDAhPT1pKXtIaS5kZWxldGUocik7dmFyIG89dC5tZW1vaXplZFN0YXRlO2Rve289ZShvLGkuYWN0aW9uKSxpPWkubmV4dH13aGlsZShudWxsIT09aSk7cmV0dXJuIFp0KG8sdC5tZW1vaXplZFN0YXRlKXx8KEVvPSEwKSx0Lm1lbW9pemVkU3RhdGU9byx0LmJhc2VVcGRhdGU9PT1yLmxhc3QmJih0LmJhc2VTdGF0ZT1vKSxyLmxhc3RSZW5kZXJlZFN0YXRlPW8sW28sbl19fXJldHVyblt0Lm1lbW9pemVkU3RhdGUsbl19bj1yLmxhc3Q7dmFyIHM9dC5iYXNlVXBkYXRlO2lmKG89dC5iYXNlU3RhdGUsbnVsbCE9PXM/KG51bGwhPT1uJiYobi5uZXh0PW51bGwpLG49cy5uZXh0KTpuPW51bGwhPT1uP24ubmV4dDpudWxsLG51bGwhPT1uKXt2YXIgdT1pPW51bGwsYz1uLGY9ITE7ZG97dmFyIGw9Yy5leHBpcmF0aW9uVGltZTtsPE1pPyhmfHwoZj0hMCx1PXMsaT1vKSxsPnFpJiYocWk9bCkpOm89Yy5lYWdlclJlZHVjZXI9PT1lP2MuZWFnZXJTdGF0ZTplKG8sYy5hY3Rpb24pLHM9YyxjPWMubmV4dH13aGlsZShudWxsIT09YyYmYyE9PW4pO2Z8fCh1PXMsaT1vKSxadChvLHQubWVtb2l6ZWRTdGF0ZSl8fChFbz0hMCksdC5tZW1vaXplZFN0YXRlPW8sdC5iYXNlVXBkYXRlPXUsdC5iYXNlU3RhdGU9aSxyLmxhc3RSZW5kZXJlZFN0YXRlPW99cmV0dXJuW3QubWVtb2l6ZWRTdGF0ZSxyLmRpc3BhdGNoXX1mdW5jdGlvbiBybyhlLHQscixuKXtyZXR1cm4gZT17dGFnOmUsY3JlYXRlOnQsZGVzdHJveTpyLGRlcHM6bixuZXh0Om51bGx9LG51bGw9PT1LaT8oS2k9e2xhc3RFZmZlY3Q6bnVsbH0pLmxhc3RFZmZlY3Q9ZS5uZXh0PWU6bnVsbD09PSh0PUtpLmxhc3RFZmZlY3QpP0tpLmxhc3RFZmZlY3Q9ZS5uZXh0PWU6KHI9dC5uZXh0LHQubmV4dD1lLGUubmV4dD1yLEtpLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBubyhlLHQscixuKXt2YXIgaT1aaSgpO3ppfD1lLGkubWVtb2l6ZWRTdGF0ZT1ybyh0LHIsdm9pZCAwLHZvaWQgMD09PW4/bnVsbDpuKX1mdW5jdGlvbiBpbyhlLHQscixuKXt2YXIgaT1KaSgpO249dm9pZCAwPT09bj9udWxsOm47dmFyIG89dm9pZCAwO2lmKG51bGwhPT1EaSl7dmFyIGE9RGkubWVtb2l6ZWRTdGF0ZTtpZihvPWEuZGVzdHJveSxudWxsIT09biYmWGkobixhLmRlcHMpKXJldHVybiB2b2lkIHJvKENpLHIsbyxuKX16aXw9ZSxpLm1lbW9pemVkU3RhdGU9cm8odCxyLG8sbil9ZnVuY3Rpb24gb28oZSx0KXtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIHQ/KGU9ZSgpLHQoZSksZnVuY3Rpb24oKXt0KG51bGwpfSk6bnVsbCE9PXQmJnZvaWQgMCE9PXQ/KGU9ZSgpLHQuY3VycmVudD1lLGZ1bmN0aW9uKCl7dC5jdXJyZW50PW51bGx9KTp2b2lkIDB9ZnVuY3Rpb24gYW8oKXt9ZnVuY3Rpb24gc28oZSx0LHIpezI1PldpfHxhKCIzMDEiKTt2YXIgbj1lLmFsdGVybmF0ZTtpZihlPT09TGl8fG51bGwhPT1uJiZuPT09TGkpaWYoR2k9ITAsZT17ZXhwaXJhdGlvblRpbWU6TWksYWN0aW9uOnIsZWFnZXJSZWR1Y2VyOm51bGwsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sbnVsbD09PUhpJiYoSGk9bmV3IE1hcCksdm9pZCAwPT09KHI9SGkuZ2V0KHQpKSlIaS5zZXQodCxlKTtlbHNle2Zvcih0PXI7bnVsbCE9PXQubmV4dDspdD10Lm5leHQ7dC5uZXh0PWV9ZWxzZXtLYSgpO3ZhciBpPUVzKCksbz17ZXhwaXJhdGlvblRpbWU6aT1YYShpLGUpLGFjdGlvbjpyLGVhZ2VyUmVkdWNlcjpudWxsLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LHM9dC5sYXN0O2lmKG51bGw9PT1zKW8ubmV4dD1vO2Vsc2V7dmFyIHU9cy5uZXh0O251bGwhPT11JiYoby5uZXh0PXUpLHMubmV4dD1vfWlmKHQubGFzdD1vLDA9PT1lLmV4cGlyYXRpb25UaW1lJiYobnVsbD09PW58fDA9PT1uLmV4cGlyYXRpb25UaW1lKSYmbnVsbCE9PShuPXQubGFzdFJlbmRlcmVkUmVkdWNlcikpdHJ5e3ZhciBjPXQubGFzdFJlbmRlcmVkU3RhdGUsZj1uKGMscik7aWYoby5lYWdlclJlZHVjZXI9bixvLmVhZ2VyU3RhdGU9ZixadChmLGMpKXJldHVybn1jYXRjaChsKXt9WmEoZSxpKX19dmFyIHVvPXtyZWFkQ29udGV4dDpxbyx1c2VDYWxsYmFjazpZaSx1c2VDb250ZXh0OllpLHVzZUVmZmVjdDpZaSx1c2VJbXBlcmF0aXZlSGFuZGxlOllpLHVzZUxheW91dEVmZmVjdDpZaSx1c2VNZW1vOllpLHVzZVJlZHVjZXI6WWksdXNlUmVmOllpLHVzZVN0YXRlOllpLHVzZURlYnVnVmFsdWU6WWl9LGNvPXtyZWFkQ29udGV4dDpxbyx1c2VDYWxsYmFjazpmdW5jdGlvbihlLHQpe3JldHVybiBaaSgpLm1lbW9pemVkU3RhdGU9W2Usdm9pZCAwPT09dD9udWxsOnRdLGV9LHVzZUNvbnRleHQ6cW8sdXNlRWZmZWN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5vKDUxNixSaXxQaSxlLHQpfSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gcj1udWxsIT09ciYmdm9pZCAwIT09cj9yLmNvbmNhdChbZV0pOm51bGwsbm8oNCxJaXxOaSxvby5iaW5kKG51bGwsdCxlKSxyKX0sdXNlTGF5b3V0RWZmZWN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5vKDQsSWl8TmksZSx0KX0sdXNlTWVtbzpmdW5jdGlvbihlLHQpe3ZhciByPVppKCk7cmV0dXJuIHQ9dm9pZCAwPT09dD9udWxsOnQsZT1lKCksci5tZW1vaXplZFN0YXRlPVtlLHRdLGV9LHVzZVJlZHVjZXI6ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPVppKCk7cmV0dXJuIHQ9dm9pZCAwIT09cj9yKHQpOnQsbi5tZW1vaXplZFN0YXRlPW4uYmFzZVN0YXRlPXQsZT0oZT1uLnF1ZXVlPXtsYXN0Om51bGwsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOmUsbGFzdFJlbmRlcmVkU3RhdGU6dH0pLmRpc3BhdGNoPXNvLmJpbmQobnVsbCxMaSxlKSxbbi5tZW1vaXplZFN0YXRlLGVdfSx1c2VSZWY6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9e2N1cnJlbnQ6ZX0sWmkoKS5tZW1vaXplZFN0YXRlPWV9LHVzZVN0YXRlOmZ1bmN0aW9uKGUpe3ZhciB0PVppKCk7cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZiBlJiYoZT1lKCkpLHQubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lLGU9KGU9dC5xdWV1ZT17bGFzdDpudWxsLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplbyxsYXN0UmVuZGVyZWRTdGF0ZTplfSkuZGlzcGF0Y2g9c28uYmluZChudWxsLExpLGUpLFt0Lm1lbW9pemVkU3RhdGUsZV19LHVzZURlYnVnVmFsdWU6YW99LGZvPXtyZWFkQ29udGV4dDpxbyx1c2VDYWxsYmFjazpmdW5jdGlvbihlLHQpe3ZhciByPUppKCk7dD12b2lkIDA9PT10P251bGw6dDt2YXIgbj1yLm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09dCYmWGkodCxuWzFdKT9uWzBdOihyLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9LHVzZUNvbnRleHQ6cW8sdXNlRWZmZWN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGlvKDUxNixSaXxQaSxlLHQpfSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gcj1udWxsIT09ciYmdm9pZCAwIT09cj9yLmNvbmNhdChbZV0pOm51bGwsaW8oNCxJaXxOaSxvby5iaW5kKG51bGwsdCxlKSxyKX0sdXNlTGF5b3V0RWZmZWN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGlvKDQsSWl8TmksZSx0KX0sdXNlTWVtbzpmdW5jdGlvbihlLHQpe3ZhciByPUppKCk7dD12b2lkIDA9PT10P251bGw6dDt2YXIgbj1yLm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09dCYmWGkodCxuWzFdKT9uWzBdOihlPWUoKSxyLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9LHVzZVJlZHVjZXI6dG8sdXNlUmVmOmZ1bmN0aW9uKCl7cmV0dXJuIEppKCkubWVtb2l6ZWRTdGF0ZX0sdXNlU3RhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRvKGVvKX0sdXNlRGVidWdWYWx1ZTphb30sbG89bnVsbCxobz1udWxsLHBvPSExO2Z1bmN0aW9uIHlvKGUsdCl7dmFyIHI9R24oNSxudWxsLG51bGwsMCk7ci5lbGVtZW50VHlwZT0iREVMRVRFRCIsci50eXBlPSJERUxFVEVEIixyLnN0YXRlTm9kZT10LHIucmV0dXJuPWUsci5lZmZlY3RUYWc9OCxudWxsIT09ZS5sYXN0RWZmZWN0PyhlLmxhc3RFZmZlY3QubmV4dEVmZmVjdD1yLGUubGFzdEVmZmVjdD1yKTplLmZpcnN0RWZmZWN0PWUubGFzdEVmZmVjdD1yfWZ1bmN0aW9uIGdvKGUsdCl7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIHI9ZS50eXBlO3JldHVybiBudWxsIT09KHQ9MSE9PXQubm9kZVR5cGV8fHIudG9Mb3dlckNhc2UoKSE9PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOnQpJiYoZS5zdGF0ZU5vZGU9dCwhMCk7Y2FzZSA2OnJldHVybiBudWxsIT09KHQ9IiI9PT1lLnBlbmRpbmdQcm9wc3x8MyE9PXQubm9kZVR5cGU/bnVsbDp0KSYmKGUuc3RhdGVOb2RlPXQsITApO2Nhc2UgMTM6ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gdm8oZSl7aWYocG8pe3ZhciB0PWhvO2lmKHQpe3ZhciByPXQ7aWYoIWdvKGUsdCkpe2lmKCEodD13bihyKSl8fCFnbyhlLHQpKXJldHVybiBlLmVmZmVjdFRhZ3w9Mixwbz0hMSx2b2lkKGxvPWUpO3lvKGxvLHIpfWxvPWUsaG89VG4odCl9ZWxzZSBlLmVmZmVjdFRhZ3w9Mixwbz0hMSxsbz1lfX1mdW5jdGlvbiBtbyhlKXtmb3IoZT1lLnJldHVybjtudWxsIT09ZSYmNSE9PWUudGFnJiYzIT09ZS50YWcmJjE4IT09ZS50YWc7KWU9ZS5yZXR1cm47bG89ZX1mdW5jdGlvbiBibyhlKXtpZihlIT09bG8pcmV0dXJuITE7aWYoIXBvKXJldHVybiBtbyhlKSxwbz0hMCwhMTt2YXIgdD1lLnR5cGU7aWYoNSE9PWUudGFnfHwiaGVhZCIhPT10JiYiYm9keSIhPT10JiYhbW4odCxlLm1lbW9pemVkUHJvcHMpKWZvcih0PWhvO3Q7KXlvKGUsdCksdD13bih0KTtyZXR1cm4gbW8oZSksaG89bG8/d24oZS5zdGF0ZU5vZGUpOm51bGwsITB9ZnVuY3Rpb24gX28oKXtobz1sbz1udWxsLHBvPSExfXZhciBTbz16ZS5SZWFjdEN1cnJlbnRPd25lcixFbz0hMTtmdW5jdGlvbiB3byhlLHQscixuKXt0LmNoaWxkPW51bGw9PT1lP2dpKHQsbnVsbCxyLG4pOnlpKHQsZS5jaGlsZCxyLG4pfWZ1bmN0aW9uIFRvKGUsdCxyLG4saSl7cj1yLnJlbmRlcjt2YXIgbz10LnJlZjtyZXR1cm4gVm8odCxpKSxuPVFpKGUsdCxyLG4sbyxpKSxudWxsPT09ZXx8RW8/KHQuZWZmZWN0VGFnfD0xLHdvKGUsdCxuLGkpLHQuY2hpbGQpOih0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdC5lZmZlY3RUYWcmPS01MTcsZS5leHBpcmF0aW9uVGltZTw9aSYmKGUuZXhwaXJhdGlvblRpbWU9MCksUm8oZSx0LGkpKX1mdW5jdGlvbiBBbyhlLHQscixuLGksbyl7aWYobnVsbD09PWUpe3ZhciBhPXIudHlwZTtyZXR1cm4iZnVuY3Rpb24iIT09dHlwZW9mIGF8fEhuKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PXIuY29tcGFyZXx8dm9pZCAwIT09ci5kZWZhdWx0UHJvcHM/KChlPVluKHIudHlwZSxudWxsLG4sbnVsbCx0Lm1vZGUsbykpLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZSk6KHQudGFnPTE1LHQudHlwZT1hLENvKGUsdCxhLG4saSxvKSl9cmV0dXJuIGE9ZS5jaGlsZCxpPG8mJihpPWEubWVtb2l6ZWRQcm9wcywocj1udWxsIT09KHI9ci5jb21wYXJlKT9yOmVyKShpLG4pJiZlLnJlZj09PXQucmVmKT9SbyhlLHQsbyk6KHQuZWZmZWN0VGFnfD0xLChlPVduKGEsbikpLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZSl9ZnVuY3Rpb24gQ28oZSx0LHIsbixpLG8pe3JldHVybiBudWxsIT09ZSYmZXIoZS5tZW1vaXplZFByb3BzLG4pJiZlLnJlZj09PXQucmVmJiYoRW89ITEsaTxvKT9SbyhlLHQsbyk6SW8oZSx0LHIsbixvKX1mdW5jdGlvbiB4byhlLHQpe3ZhciByPXQucmVmOyhudWxsPT09ZSYmbnVsbCE9PXJ8fG51bGwhPT1lJiZlLnJlZiE9PXIpJiYodC5lZmZlY3RUYWd8PTEyOCl9ZnVuY3Rpb24gSW8oZSx0LHIsbixpKXt2YXIgbz1CbihyKT9QbjpPbi5jdXJyZW50O3JldHVybiBvPVJuKHQsbyksVm8odCxpKSxyPVFpKGUsdCxyLG4sbyxpKSxudWxsPT09ZXx8RW8/KHQuZWZmZWN0VGFnfD0xLHdvKGUsdCxyLGkpLHQuY2hpbGQpOih0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdC5lZmZlY3RUYWcmPS01MTcsZS5leHBpcmF0aW9uVGltZTw9aSYmKGUuZXhwaXJhdGlvblRpbWU9MCksUm8oZSx0LGkpKX1mdW5jdGlvbiBrbyhlLHQscixuLGkpe2lmKEJuKHIpKXt2YXIgbz0hMDtVbih0KX1lbHNlIG89ITE7aWYoVm8odCxpKSxudWxsPT09dC5zdGF0ZU5vZGUpbnVsbCE9PWUmJihlLmFsdGVybmF0ZT1udWxsLHQuYWx0ZXJuYXRlPW51bGwsdC5lZmZlY3RUYWd8PTIpLHVpKHQscixuKSxmaSh0LHIsbixpKSxuPSEwO2Vsc2UgaWYobnVsbD09PWUpe3ZhciBhPXQuc3RhdGVOb2RlLHM9dC5tZW1vaXplZFByb3BzO2EucHJvcHM9czt2YXIgdT1hLmNvbnRleHQsYz1yLmNvbnRleHRUeXBlOyJvYmplY3QiPT09dHlwZW9mIGMmJm51bGwhPT1jP2M9cW8oYyk6Yz1Sbih0LGM9Qm4ocik/UG46T24uY3VycmVudCk7dmFyIGY9ci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsbD0iZnVuY3Rpb24iPT09dHlwZW9mIGZ8fCJmdW5jdGlvbiI9PT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZTtsfHwiZnVuY3Rpb24iIT09dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPT10eXBlb2YgYS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzfHwocyE9PW58fHUhPT1jKSYmY2kodCxhLG4sYyksV289ITE7dmFyIGg9dC5tZW1vaXplZFN0YXRlO3U9YS5zdGF0ZT1oO3ZhciBwPXQudXBkYXRlUXVldWU7bnVsbCE9PXAmJihyYSh0LHAsbixhLGkpLHU9dC5tZW1vaXplZFN0YXRlKSxzIT09bnx8aCE9PXV8fE5uLmN1cnJlbnR8fFdvPygiZnVuY3Rpb24iPT09dHlwZW9mIGYmJihvaSh0LHIsZixuKSx1PXQubWVtb2l6ZWRTdGF0ZSksKHM9V298fHNpKHQscixzLG4saCx1LGMpKT8obHx8ImZ1bmN0aW9uIiE9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPT10eXBlb2YgYS5jb21wb25lbnRXaWxsTW91bnR8fCgiZnVuY3Rpb24iPT09dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50JiZhLmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09PXR5cGVvZiBhLmNvbXBvbmVudERpZE1vdW50JiYodC5lZmZlY3RUYWd8PTQpKTooImZ1bmN0aW9uIj09PXR5cGVvZiBhLmNvbXBvbmVudERpZE1vdW50JiYodC5lZmZlY3RUYWd8PTQpLHQubWVtb2l6ZWRQcm9wcz1uLHQubWVtb2l6ZWRTdGF0ZT11KSxhLnByb3BzPW4sYS5zdGF0ZT11LGEuY29udGV4dD1jLG49cyk6KCJmdW5jdGlvbiI9PT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZWZmZWN0VGFnfD00KSxuPSExKX1lbHNlIGE9dC5zdGF0ZU5vZGUscz10Lm1lbW9pemVkUHJvcHMsYS5wcm9wcz10LnR5cGU9PT10LmVsZW1lbnRUeXBlP3M6bmkodC50eXBlLHMpLHU9YS5jb250ZXh0LCJvYmplY3QiPT09dHlwZW9mKGM9ci5jb250ZXh0VHlwZSkmJm51bGwhPT1jP2M9cW8oYyk6Yz1Sbih0LGM9Qm4ocik/UG46T24uY3VycmVudCksKGw9ImZ1bmN0aW9uIj09PXR5cGVvZihmPXIuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKXx8ImZ1bmN0aW9uIj09PXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKXx8ImZ1bmN0aW9uIiE9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiYiZnVuY3Rpb24iIT09dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2U="
}

github/deemru/w8io/169f3d6 
2.17 ms