3N4XMPXxEs6eZsy78Fgo4butfcAiwoDtG9P · data · 2.7c767379.chunk.js_2
{
"2.7c767379.chunk.js_2": "base64:LHQscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgaT1yLTEsbz0xO2Zvcih0aGlzW3QraV09MjU1JmU7LS1pPj0wJiYobyo9MjU2KTspdGhpc1t0K2ldPWUvbyYyNTU7cmV0dXJuIHQrcn0sdS5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxQKHRoaXMsZSx0LDEsMjU1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVHx8KGU9TWF0aC5mbG9vcihlKSksdGhpc1t0XT0yNTUmZSx0KzF9LHUucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8UCh0aGlzLGUsdCwyLDY1NTM1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgpOlIodGhpcyxlLHQsITApLHQrMn0sdS5wcm90b3R5cGUud3JpdGVVSW50MTZCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxQKHRoaXMsZSx0LDIsNjU1MzUsMCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW3RdPWU+Pj44LHRoaXNbdCsxXT0yNTUmZSk6Uih0aGlzLGUsdCwhMSksdCsyfSx1LnByb3RvdHlwZS53cml0ZVVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsNCw0Mjk0OTY3Mjk1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0KzNdPWU+Pj4yNCx0aGlzW3QrMl09ZT4+PjE2LHRoaXNbdCsxXT1lPj4+OCx0aGlzW3RdPTI1NSZlKTpCKHRoaXMsZSx0LCEwKSx0KzR9LHUucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8UCh0aGlzLGUsdCw0LDQyOTQ5NjcyOTUsMCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW3RdPWU+Pj4yNCx0aGlzW3QrMV09ZT4+PjE2LHRoaXNbdCsyXT1lPj4+OCx0aGlzW3QrM109MjU1JmUpOkIodGhpcyxlLHQsITEpLHQrNH0sdS5wcm90b3R5cGUud3JpdGVJbnRMRT1mdW5jdGlvbihlLHQscixuKXtpZihlPStlLHR8PTAsIW4pe3ZhciBpPU1hdGgucG93KDIsOCpyLTEpO1AodGhpcyxlLHQscixpLTEsLWkpfXZhciBvPTAsYT0xLHM9MDtmb3IodGhpc1t0XT0yNTUmZTsrK288ciYmKGEqPTI1Nik7KWU8MCYmMD09PXMmJjAhPT10aGlzW3Qrby0xXSYmKHM9MSksdGhpc1t0K29dPShlL2E+PjApLXMmMjU1O3JldHVybiB0K3J9LHUucHJvdG90eXBlLndyaXRlSW50QkU9ZnVuY3Rpb24oZSx0LHIsbil7aWYoZT0rZSx0fD0wLCFuKXt2YXIgaT1NYXRoLnBvdygyLDgqci0xKTtQKHRoaXMsZSx0LHIsaS0xLC1pKX12YXIgbz1yLTEsYT0xLHM9MDtmb3IodGhpc1t0K29dPTI1NSZlOy0tbz49MCYmKGEqPTI1Nik7KWU8MCYmMD09PXMmJjAhPT10aGlzW3QrbysxXSYmKHM9MSksdGhpc1t0K29dPShlL2E+PjApLXMmMjU1O3JldHVybiB0K3J9LHUucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxQKHRoaXMsZSx0LDEsMTI3LC0xMjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVHx8KGU9TWF0aC5mbG9vcihlKSksZTwwJiYoZT0yNTUrZSsxKSx0aGlzW3RdPTI1NSZlLHQrMX0sdS5wcm90b3R5cGUud3JpdGVJbnQxNkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgpOlIodGhpcyxlLHQsITApLHQrMn0sdS5wcm90b3R5cGUud3JpdGVJbnQxNkJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+OCx0aGlzW3QrMV09MjU1JmUpOlIodGhpcyxlLHQsITEpLHQrMn0sdS5wcm90b3R5cGUud3JpdGVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHRoaXNbdCsyXT1lPj4+MTYsdGhpc1t0KzNdPWU+Pj4yNCk6Qih0aGlzLGUsdCwhMCksdCs0fSx1LnByb3RvdHlwZS53cml0ZUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8UCh0aGlzLGUsdCw0LDIxNDc0ODM2NDcsLTIxNDc0ODM2NDgpLGU8MCYmKGU9NDI5NDk2NzI5NStlKzEpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlKTpCKHRoaXMsZSx0LCExKSx0KzR9LHUucHJvdG90eXBlLndyaXRlRmxvYXRMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwodGhpcyxlLHQsITAscil9LHUucHJvdG90eXBlLndyaXRlRmxvYXRCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwodGhpcyxlLHQsITEscil9LHUucHJvdG90eXBlLndyaXRlRG91YmxlTEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBEKHRoaXMsZSx0LCEwLHIpfSx1LnByb3RvdHlwZS53cml0ZURvdWJsZUJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gRCh0aGlzLGUsdCwhMSxyKX0sdS5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlLHQscixuKXtpZihyfHwocj0wKSxufHwwPT09bnx8KG49dGhpcy5sZW5ndGgpLHQ+PWUubGVuZ3RoJiYodD1lLmxlbmd0aCksdHx8KHQ9MCksbj4wJiZuPHImJihuPXIpLG49PT1yKXJldHVybiAwO2lmKDA9PT1lLmxlbmd0aHx8MD09PXRoaXMubGVuZ3RoKXJldHVybiAwO2lmKHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigidGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kcyIpO2lmKHI8MHx8cj49dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZVN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihuPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZUVuZCBvdXQgb2YgYm91bmRzIik7bj50aGlzLmxlbmd0aCYmKG49dGhpcy5sZW5ndGgpLGUubGVuZ3RoLXQ8bi1yJiYobj1lLmxlbmd0aC10K3IpO3ZhciBpLG89bi1yO2lmKHRoaXM9PT1lJiZyPHQmJnQ8bilmb3IoaT1vLTE7aT49MDstLWkpZVtpK3RdPXRoaXNbaStyXTtlbHNlIGlmKG88MWUzfHwhdS5UWVBFRF9BUlJBWV9TVVBQT1JUKWZvcihpPTA7aTxvOysraSllW2krdF09dGhpc1tpK3JdO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoZSx0aGlzLnN1YmFycmF5KHIscitvKSx0KTtyZXR1cm4gb30sdS5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbihlLHQscixuKXtpZigic3RyaW5nIj09PXR5cGVvZiBlKXtpZigic3RyaW5nIj09PXR5cGVvZiB0PyhuPXQsdD0wLHI9dGhpcy5sZW5ndGgpOiJzdHJpbmciPT09dHlwZW9mIHImJihuPXIscj10aGlzLmxlbmd0aCksMT09PWUubGVuZ3RoKXt2YXIgaT1lLmNoYXJDb2RlQXQoMCk7aTwyNTYmJihlPWkpfWlmKHZvaWQgMCE9PW4mJiJzdHJpbmciIT09dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZyIpO2lmKCJzdHJpbmciPT09dHlwZW9mIG4mJiF1LmlzRW5jb2RpbmcobikpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIituKX1lbHNlIm51bWJlciI9PT10eXBlb2YgZSYmKGUmPTI1NSk7aWYodDwwfHx0aGlzLmxlbmd0aDx0fHx0aGlzLmxlbmd0aDxyKXRocm93IG5ldyBSYW5nZUVycm9yKCJPdXQgb2YgcmFuZ2UgaW5kZXgiKTtpZihyPD10KXJldHVybiB0aGlzO3ZhciBvO2lmKHQ+Pj49MCxyPXZvaWQgMD09PXI/dGhpcy5sZW5ndGg6cj4+PjAsZXx8KGU9MCksIm51bWJlciI9PT10eXBlb2YgZSlmb3Iobz10O288cjsrK28pdGhpc1tvXT1lO2Vsc2V7dmFyIGE9dS5pc0J1ZmZlcihlKT9lOkYobmV3IHUoZSxuKS50b1N0cmluZygpKSxzPWEubGVuZ3RoO2ZvcihvPTA7bzxyLXQ7KytvKXRoaXNbbyt0XT1hW28lc119cmV0dXJuIHRoaXN9O3ZhciBqPS9bXitcLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIFUoZSl7cmV0dXJuIGU8MTY/IjAiK2UudG9TdHJpbmcoMTYpOmUudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEYoZSx0KXt2YXIgcjt0PXR8fDEvMDtmb3IodmFyIG49ZS5sZW5ndGgsaT1udWxsLG89W10sYT0wO2E8bjsrK2Epe2lmKChyPWUuY2hhckNvZGVBdChhKSk+NTUyOTUmJnI8NTczNDQpe2lmKCFpKXtpZihyPjU2MzE5KXsodC09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYoYSsxPT09bil7KHQtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWk9cjtjb250aW51ZX1pZihyPDU2MzIwKXsodC09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSksaT1yO2NvbnRpbnVlfXI9NjU1MzYrKGktNTUyOTY8PDEwfHItNTYzMjApfWVsc2UgaSYmKHQtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2lmKGk9bnVsbCxyPDEyOCl7aWYoKHQtPTEpPDApYnJlYWs7by5wdXNoKHIpfWVsc2UgaWYocjwyMDQ4KXtpZigodC09Mik8MClicmVhaztvLnB1c2gocj4+NnwxOTIsNjMmcnwxMjgpfWVsc2UgaWYocjw2NTUzNil7aWYoKHQtPTMpPDApYnJlYWs7by5wdXNoKHI+PjEyfDIyNCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9ZWxzZXtpZighKHI8MTExNDExMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvZGUgcG9pbnQiKTtpZigodC09NCk8MClicmVhaztvLnB1c2gocj4+MTh8MjQwLHI+PjEyJjYzfDEyOCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9fXJldHVybiBvfWZ1bmN0aW9uIFYoZSl7cmV0dXJuIG4udG9CeXRlQXJyYXkoZnVuY3Rpb24oZSl7aWYoKGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJpbT9lLnRyaW0oKTplLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0oZSkucmVwbGFjZShqLCIiKSkubGVuZ3RoPDIpcmV0dXJuIiI7Zm9yKDtlLmxlbmd0aCU0IT09MDspZSs9Ij0iO3JldHVybiBlfShlKSl9ZnVuY3Rpb24gcShlLHQscixuKXtmb3IodmFyIGk9MDtpPG4mJiEoaStyPj10Lmxlbmd0aHx8aT49ZS5sZW5ndGgpOysraSl0W2krcl09ZVtpXTtyZXR1cm4gaX19KS5jYWxsKHRoaXMscigzNCkpfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDEzOCksaT1yKDIzMSksbz1yKDY0NyksYT1yKDY0OCk7dC5qc29uPWE7dmFyIHM9cigxMzkpO3Quc2VyaWFsaXplUHJpbWl0aXZlcz1zO3ZhciB1PXIoMjMwKTt0LnBhcnNlUHJpbWl0aXZlcz11O3ZhciBjPXIoMTM4KTt0LnNjaGVtYXM9Yzt2YXIgZj17c2VyaWFsaXplckZyb21TY2hlbWE6aS5zZXJpYWxpemVyRnJvbVNjaGVtYSxzZXJpYWxpemVUeDppLnNlcmlhbGl6ZVR4LHNlcmlhbGl6ZU9yZGVyOmkuc2VyaWFsaXplT3JkZXIscGFyc2VyRnJvbVNjaGVtYTpvLnBhcnNlckZyb21TY2hlbWEscGFyc2VUeDpvLnBhcnNlVHgscGFyc2VPcmRlcjpvLnBhcnNlT3JkZXJ9O2Z1bmN0aW9uIGwoZSx0LHIsbil7dmFyIGE9aS5zZXJpYWxpemVyRnJvbVNjaGVtYSh0LG4pLHM9by5wYXJzZXJGcm9tU2NoZW1hKHQscikoYShlKSkudmFsdWU7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sZSxzKX10LmJpbmFyeT1mLHQuY29udmVydExvbmdGaWVsZHM9bCx0LmNvbnZlcnRUeExvbmdGaWVsZHM9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPWUudHlwZSxvPWUudmVyc2lvbjtyZXR1cm4gbChlLG4uZ2V0VHJhbnNhY3Rpb25TY2hlbWEoaSxvKSx0LHIpfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9cigzMDUpLG89cigzMDcpO3Quc2VlZFdvcmRzTGlzdD1vLnNlZWRXb3Jkc0xpc3Q7dmFyIGE9cigzNjApO3QuQ2hhaWRJZD1hLkNoYWlkSWQ7dmFyIHM9cigzNTkpO3QuU2VlZD1zLlNlZWQ7dmFyIHU9cigyMjgpO3QuaXNQcml2YXRlS2V5PXUuaXNQcml2YXRlS2V5LHQuaXNQdWJsaWNLZXk9dS5pc1B1YmxpY0tleTt2YXIgYz1yKDMwNSk7dC5jcnlwdG89Yy5jcnlwdG8sZnVuY3Rpb24oZSl7Zm9yKHZhciByIGluIGUpdC5oYXNPd25Qcm9wZXJ0eShyKXx8KHRbcl09ZVtyXSl9KHIoMTM3KSksdC5zaWduQnl0ZXM9KG49aS5jcnlwdG8oe291dHB1dDoiQmFzZTU4In0pKS5zaWduQnl0ZXMsdC5rZXlQYWlyPW4ua2V5UGFpcix0LnB1YmxpY0tleT1uLnB1YmxpY0tleSx0LnByaXZhdGVLZXk9bi5wcml2YXRlS2V5LHQuYWRkcmVzcz1uLmFkZHJlc3MsdC5ibGFrZTJiPW4uYmxha2UyYix0LmtlY2Nhaz1uLmtlY2Nhayx0LnNoYTI1Nj1uLnNoYTI1Nix0LnNoYXJlZEtleT1uLnNoYXJlZEtleSx0LnNlZWRXaXRoTm9uY2U9bi5zZWVkV2l0aE5vbmNlLHQuYmFzZTY0RW5jb2RlPW4uYmFzZTY0RW5jb2RlLHQuYmFzZTY0RGVjb2RlPW4uYmFzZTY0RGVjb2RlLHQuYmFzZTU4RW5jb2RlPW4uYmFzZTU4RW5jb2RlLHQuYmFzZTU4RGVjb2RlPW4uYmFzZTU4RGVjb2RlLHQuYmFzZTE2RW5jb2RlPW4uYmFzZTE2RW5jb2RlLHQuYmFzZTE2RGVjb2RlPW4uYmFzZTE2RGVjb2RlLHQuc3RyaW5nVG9CeXRlcz1uLnN0cmluZ1RvQnl0ZXMsdC5ieXRlc1RvU3RyaW5nPW4uYnl0ZXNUb1N0cmluZyx0LnJhbmRvbT1uLnJhbmRvbSx0LnJhbmRvbVNlZWQ9bi5yYW5kb21TZWVkLHQucmFuZG9tQnl0ZXM9bi5yYW5kb21CeXRlcyx0LnZlcmlmeVNpZ25hdHVyZT1uLnZlcmlmeVNpZ25hdHVyZSx0LnZlcmlmeVB1YmxpY0tleT1uLnZlcmlmeVB1YmxpY0tleSx0LnZlcmlmeUFkZHJlc3M9bi52ZXJpZnlBZGRyZXNzLHQubWVzc2FnZURlY3J5cHQ9bi5tZXNzYWdlRGVjcnlwdCx0Lm1lc3NhZ2VFbmNyeXB0PW4ubWVzc2FnZUVuY3J5cHQsdC5lbmNyeXB0U2VlZD1uLmVuY3J5cHRTZWVkLHQuZGVjcnlwdFNlZWQ9bi5kZWNyeXB0U2VlZCx0LnJzYUtleVBhaXI9bi5yc2FLZXlQYWlyLHQucnNhS2V5UGFpclN5bmM9bi5yc2FLZXlQYWlyU3luYyx0LnJzYVNpZ249bi5yc2FTaWduLHQucnNhVmVyaWZ5PW4ucnNhVmVyaWZ5LHQuYWVzRGVjcnlwdD1uLmFlc0RlY3J5cHQsdC5hZXNFbmNyeXB0PW4uYWVzRW5jcnlwdCx0LnNwbGl0PW4uc3BsaXQsdC5jb25jYXQ9bi5jb25jYXR9LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDE3OCkoIndrcyIpLGk9cig5NCksbz1yKDE3KS5TeW1ib2wsYT0iZnVuY3Rpb24iPT10eXBlb2YgbzsoZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBuW2VdfHwobltlXT1hJiZvW2VdfHwoYT9vOmkpKCJTeW1ib2wuIitlKSl9KS5zdG9yZT1ufSxmdW5jdGlvbihlLHQscil7dmFyIG49cig1NDIpLGk9cig1NDMpLG89cig1NDQpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiBuKGUpfHxpKGUsdCl8fG8oKX19LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDYwKSxpPU1hdGgubWluO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gZT4wP2kobihlKSw5MDA3MTk5MjU0NzQwOTkxKTowfX0sZnVuY3Rpb24oZSx0LHIpeyhmdW5jdGlvbihlKXshZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe2lmKCFlKXRocm93IG5ldyBFcnJvcih0fHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWZ1bmN0aW9uIGkoZSx0KXtlLnN1cGVyXz10O3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgcixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfWZ1bmN0aW9uIG8oZSx0LHIpe2lmKG8uaXNCTihlKSlyZXR1cm4gZTt0aGlzLm5lZ2F0aXZlPTAsdGhpcy53b3Jkcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5yZWQ9bnVsbCxudWxsIT09ZSYmKCJsZSIhPT10JiYiYmUiIT09dHx8KHI9dCx0PTEwKSx0aGlzLl9pbml0KGV8fDAsdHx8MTAscnx8ImJlIikpfXZhciBhOyJvYmplY3QiPT09dHlwZW9mIGU/ZS5leHBvcnRzPW86dC5CTj1vLG8uQk49byxvLndvcmRTaXplPTI2O3RyeXthPXIoNTg1KS5CdWZmZXJ9Y2F0Y2goVCl7fWZ1bmN0aW9uIHMoZSx0LHIpe2Zvcih2YXIgbj0wLGk9TWF0aC5taW4oZS5sZW5ndGgsciksbz10O288aTtvKyspe3ZhciBhPWUuY2hhckNvZGVBdChvKS00ODtuPDw9NCxufD1hPj00OSYmYTw9NTQ/YS00OSsxMDphPj0xNyYmYTw9MjI/YS0xNysxMDoxNSZhfXJldHVybiBufWZ1bmN0aW9uIHUoZSx0LHIsbil7Zm9yKHZhciBpPTAsbz1NYXRoLm1pbihlLmxlbmd0aCxyKSxhPXQ7YTxvO2ErKyl7dmFyIHM9ZS5jaGFyQ29kZUF0KGEpLTQ4O2kqPW4saSs9cz49NDk/cy00OSsxMDpzPj0xNz9zLTE3KzEwOnN9cmV0dXJuIGl9by5pc0JOPWZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2Ygb3x8bnVsbCE9PWUmJiJvYmplY3QiPT09dHlwZW9mIGUmJmUuY29uc3RydWN0b3Iud29yZFNpemU9PT1vLndvcmRTaXplJiZBcnJheS5pc0FycmF5KGUud29yZHMpfSxvLm1heD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmNtcCh0KT4wP2U6dH0sby5taW49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jbXAodCk8MD9lOnR9LG8ucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKGUsdCxyKXtpZigibnVtYmVyIj09PXR5cGVvZiBlKXJldHVybiB0aGlzLl9pbml0TnVtYmVyKGUsdCxyKTtpZigib2JqZWN0Ij09PXR5cGVvZiBlKXJldHVybiB0aGlzLl9pbml0QXJyYXkoZSx0LHIpOyJoZXgiPT09dCYmKHQ9MTYpLG4odD09PSgwfHQpJiZ0Pj0yJiZ0PD0zNik7dmFyIGk9MDsiLSI9PT0oZT1lLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpKVswXSYmaSsrLDE2PT09dD90aGlzLl9wYXJzZUhleChlLGkpOnRoaXMuX3BhcnNlQmFzZShlLHQsaSksIi0iPT09ZVswXSYmKHRoaXMubmVnYXRpdmU9MSksdGhpcy5zdHJpcCgpLCJsZSI9PT1yJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksdCxyKX0sby5wcm90b3R5cGUuX2luaXROdW1iZXI9ZnVuY3Rpb24oZSx0LHIpe2U8MCYmKHRoaXMubmVnYXRpdmU9MSxlPS1lKSxlPDY3MTA4ODY0Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZlXSx0aGlzLmxlbmd0aD0xKTplPDQ1MDM1OTk2MjczNzA0OTY/KHRoaXMud29yZHM9WzY3MTA4ODYzJmUsZS82NzEwODg2NCY2NzEwODg2M10sdGhpcy5sZW5ndGg9Mik6KG4oZTw5MDA3MTk5MjU0NzQwOTkyKSx0aGlzLndvcmRzPVs2NzEwODg2MyZlLGUvNjcxMDg4NjQmNjcxMDg4NjMsMV0sdGhpcy5sZW5ndGg9MyksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSx0LHIpfSxvLnByb3RvdHlwZS5faW5pdEFycmF5PWZ1bmN0aW9uKGUsdCxyKXtpZihuKCJudW1iZXIiPT09dHlwZW9mIGUubGVuZ3RoKSxlLmxlbmd0aDw9MClyZXR1cm4gdGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MSx0aGlzO3RoaXMubGVuZ3RoPU1hdGguY2VpbChlLmxlbmd0aC8zKSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspdGhpcy53b3Jkc1tpXT0wO3ZhciBvLGEscz0wO2lmKCJiZSI9PT1yKWZvcihpPWUubGVuZ3RoLTEsbz0wO2k+PTA7aS09MylhPWVbaV18ZVtpLTFdPDw4fGVbaS0yXTw8MTYsdGhpcy53b3Jkc1tvXXw9YTw8cyY2NzEwODg2Myx0aGlzLndvcmRzW28rMV09YT4+PjI2LXMmNjcxMDg4NjMsKHMrPTI0KT49MjYmJihzLT0yNixvKyspO2Vsc2UgaWYoImxlIj09PXIpZm9yKGk9MCxvPTA7aTxlLmxlbmd0aDtpKz0zKWE9ZVtpXXxlW2krMV08PDh8ZVtpKzJdPDwxNix0aGlzLndvcmRzW29dfD1hPDxzJjY3MTA4ODYzLHRoaXMud29yZHNbbysxXT1hPj4+MjYtcyY2NzEwODg2Mywocys9MjQpPj0yNiYmKHMtPTI2LG8rKyk7cmV0dXJuIHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuX3BhcnNlSGV4PWZ1bmN0aW9uKGUsdCl7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKChlLmxlbmd0aC10KS82KSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciByPTA7cjx0aGlzLmxlbmd0aDtyKyspdGhpcy53b3Jkc1tyXT0wO3ZhciBuLGksbz0wO2ZvcihyPWUubGVuZ3RoLTYsbj0wO3I+PXQ7ci09NilpPXMoZSxyLHIrNiksdGhpcy53b3Jkc1tuXXw9aTw8byY2NzEwODg2Myx0aGlzLndvcmRzW24rMV18PWk+Pj4yNi1vJjQxOTQzMDMsKG8rPTI0KT49MjYmJihvLT0yNixuKyspO3IrNiE9PXQmJihpPXMoZSx0LHIrNiksdGhpcy53b3Jkc1tuXXw9aTw8byY2NzEwODg2Myx0aGlzLndvcmRzW24rMV18PWk+Pj4yNi1vJjQxOTQzMDMpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuX3BhcnNlQmFzZT1mdW5jdGlvbihlLHQscil7dGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MTtmb3IodmFyIG49MCxpPTE7aTw9NjcxMDg4NjM7aSo9dCluKys7bi0tLGk9aS90fDA7Zm9yKHZhciBvPWUubGVuZ3RoLXIsYT1vJW4scz1NYXRoLm1pbihvLG8tYSkrcixjPTAsZj1yO2Y8cztmKz1uKWM9dShlLGYsZituLHQpLHRoaXMuaW11bG4oaSksdGhpcy53b3Jkc1swXStjPDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPWM6dGhpcy5faWFkZG4oYyk7aWYoMCE9PWEpe3ZhciBsPTE7Zm9yKGM9dShlLGYsZS5sZW5ndGgsdCksZj0wO2Y8YTtmKyspbCo9dDt0aGlzLmltdWxuKGwpLHRoaXMud29yZHNbMF0rYzw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1jOnRoaXMuX2lhZGRuKGMpfX0sby5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtlLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciB0PTA7dDx0aGlzLmxlbmd0aDt0KyspZS53b3Jkc1t0XT10aGlzLndvcmRzW3RdO2UubGVuZ3RoPXRoaXMubGVuZ3RoLGUubmVnYXRpdmU9dGhpcy5uZWdhdGl2ZSxlLnJlZD10aGlzLnJlZH0sby5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgZT1uZXcgbyhudWxsKTtyZXR1cm4gdGhpcy5jb3B5KGUpLGV9LG8ucHJvdG90eXBlLl9leHBhbmQ9ZnVuY3Rpb24oZSl7Zm9yKDt0aGlzLmxlbmd0aDxlOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7cmV0dXJuIHRoaXN9LG8ucHJvdG90eXBlLnN0cmlwPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmxlbmd0aD4xJiYwPT09dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXTspdGhpcy5sZW5ndGgtLTtyZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX0sby5wcm90b3R5cGUuX25vcm1TaWduPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMud29yZHNbMF0mJih0aGlzLm5lZ2F0aXZlPTApLHRoaXN9LG8ucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yZWQ/IjxCTi1SOiAiOiI8Qk46ICIpK3RoaXMudG9TdHJpbmcoMTYpKyI+In07dmFyIGM9WyIiLCIwIiwiMDAiLCIwMDAiLCIwMDAwIiwiMDAwMDAiLCIwMDAwMDAiLCIwMDAwMDAwIiwiMDAwMDAwMDAiLCIwMDAwMDAwMDAiLCIwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIl0sZj1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XSxsPVswLDAsMzM1NTQ0MzIsNDMwNDY3MjEsMTY3NzcyMTYsNDg4MjgxMjUsNjA0NjYxNzYsNDAzNTM2MDcsMTY3NzcyMTYsNDMwNDY3MjEsMWU3LDE5NDg3MTcxLDM1ODMxODA4LDYyNzQ4NTE3LDc1Mjk1MzYsMTEzOTA2MjUsMTY3NzcyMTYsMjQxMzc1NjksMzQwMTIyMjQsNDcwNDU4ODEsNjRlNiw0MDg0MTAxLDUxNTM2MzIsNjQzNjM0Myw3OTYyNjI0LDk3NjU2MjUsMTE4ODEzNzYsMTQzNDg5MDcsMTcyMTAzNjgsMjA1MTExNDksMjQzZTUsMjg2MjkxNTEsMzM1NTQ0MzIsMzkxMzUzOTMsNDU0MzU0MjQsNTI1MjE4NzUsNjA0NjYxNzZdO2Z1bmN0aW9uIGgoZSx0LHIpe3IubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlO3ZhciBuPWUubGVuZ3RoK3QubGVuZ3RofDA7ci5sZW5ndGg9bixuPW4tMXwwO3ZhciBpPTB8ZS53b3Jkc1swXSxvPTB8dC53b3Jkc1swXSxhPWkqbyxzPTY3MTA4ODYzJmEsdT1hLzY3MTA4ODY0fDA7ci53b3Jkc1swXT1zO2Zvcih2YXIgYz0xO2M8bjtjKyspe2Zvcih2YXIgZj11Pj4+MjYsbD02NzEwODg2MyZ1LGg9TWF0aC5taW4oYyx0Lmxlbmd0aC0xKSxwPU1hdGgubWF4KDAsYy1lLmxlbmd0aCsxKTtwPD1oO3ArKyl7dmFyIGQ9Yy1wfDA7Zis9KGE9KGk9MHxlLndvcmRzW2RdKSoobz0wfHQud29yZHNbcF0pK2wpLzY3MTA4ODY0fDAsbD02NzEwODg2MyZhfXIud29yZHNbY109MHxsLHU9MHxmfXJldHVybiAwIT09dT9yLndvcmRzW2NdPTB8dTpyLmxlbmd0aC0tLHIuc3RyaXAoKX1vLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbihlLHQpe3ZhciByO2lmKHQ9MHx0fHwxLDE2PT09KGU9ZXx8MTApfHwiaGV4Ij09PWUpe3I9IiI7Zm9yKHZhciBpPTAsbz0wLGE9MDthPHRoaXMubGVuZ3RoO2ErKyl7dmFyIHM9dGhpcy53b3Jkc1thXSx1PSgxNjc3NzIxNSYoczw8aXxvKSkudG9TdHJpbmcoMTYpO3I9MCE9PShvPXM+Pj4yNC1pJjE2Nzc3MjE1KXx8YSE9PXRoaXMubGVuZ3RoLTE/Y1s2LXUubGVuZ3RoXSt1K3I6dStyLChpKz0yKT49MjYmJihpLT0yNixhLS0pfWZvcigwIT09byYmKHI9by50b1N0cmluZygxNikrcik7ci5sZW5ndGgldCE9PTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1pZihlPT09KDB8ZSkmJmU+PTImJmU8PTM2KXt2YXIgaD1mW2VdLHA9bFtlXTtyPSIiO3ZhciBkPXRoaXMuY2xvbmUoKTtmb3IoZC5uZWdhdGl2ZT0wOyFkLmlzWmVybygpOyl7dmFyIHk9ZC5tb2RuKHApLnRvU3RyaW5nKGUpO3I9KGQ9ZC5pZGl2bihwKSkuaXNaZXJvKCk/eStyOmNbaC15Lmxlbmd0aF0reStyfWZvcih0aGlzLmlzWmVybygpJiYocj0iMCIrcik7ci5sZW5ndGgldCE9PTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1uKCExLCJCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Iil9LG8ucHJvdG90eXBlLnRvTnVtYmVyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy53b3Jkc1swXTtyZXR1cm4gMj09PXRoaXMubGVuZ3RoP2UrPTY3MTA4ODY0KnRoaXMud29yZHNbMV06Mz09PXRoaXMubGVuZ3RoJiYxPT09dGhpcy53b3Jkc1syXT9lKz00NTAzNTk5NjI3MzcwNDk2KzY3MTA4ODY0KnRoaXMud29yZHNbMV06dGhpcy5sZW5ndGg+MiYmbighMSwiTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzIiksMCE9PXRoaXMubmVnYXRpdmU/LWU6ZX0sby5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpfSxvLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbihlLHQpe3JldHVybiBuKCJ1bmRlZmluZWQiIT09dHlwZW9mIGEpLHRoaXMudG9BcnJheUxpa2UoYSxlLHQpfSxvLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksZSx0KX0sby5wcm90b3R5cGUudG9BcnJheUxpa2U9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXRoaXMuYnl0ZUxlbmd0aCgpLG89cnx8TWF0aC5tYXgoMSxpKTtuKGk8PW8sImJ5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgiKSxuKG8+MCwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwIiksdGhpcy5zdHJpcCgpO3ZhciBhLHMsdT0ibGUiPT09dCxjPW5ldyBlKG8pLGY9dGhpcy5jbG9uZSgpO2lmKHUpe2ZvcihzPTA7IWYuaXNaZXJvKCk7cysrKWE9Zi5hbmRsbigyNTUpLGYuaXVzaHJuKDgpLGNbc109YTtmb3IoO3M8bztzKyspY1tzXT0wfWVsc2V7Zm9yKHM9MDtzPG8taTtzKyspY1tzXT0wO2ZvcihzPTA7IWYuaXNaZXJvKCk7cysrKWE9Zi5hbmRsbigyNTUpLGYuaXVzaHJuKDgpLGNbby1zLTFdPWF9cmV0dXJuIGN9LE1hdGguY2x6MzI/by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbihlKXtyZXR1cm4gMzItTWF0aC5jbHozMihlKX06by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbihlKXt2YXIgdD1lLHI9MDtyZXR1cm4gdD49NDA5NiYmKHIrPTEzLHQ+Pj49MTMpLHQ+PTY0JiYocis9Nyx0Pj4+PTcpLHQ+PTgmJihyKz00LHQ+Pj49NCksdD49MiYmKHIrPTIsdD4+Pj0yKSxyK3R9LG8ucHJvdG90eXBlLl96ZXJvQml0cz1mdW5jdGlvbihlKXtpZigwPT09ZSlyZXR1cm4gMjY7dmFyIHQ9ZSxyPTA7cmV0dXJuIDA9PT0oODE5MSZ0KSYmKHIrPTEzLHQ+Pj49MTMpLDA9PT0oMTI3JnQpJiYocis9Nyx0Pj4+PTcpLDA9PT0oMTUmdCkmJihyKz00LHQ+Pj49NCksMD09PSgzJnQpJiYocis9Mix0Pj4+PTIpLDA9PT0oMSZ0KSYmcisrLHJ9LG8ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3ZhciBlPXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0sdD10aGlzLl9jb3VudEJpdHMoZSk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKSt0fSxvLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9yKHZhciBlPTAsdD0wO3Q8dGhpcy5sZW5ndGg7dCsrKXt2YXIgcj10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW3RdKTtpZihlKz1yLDI2IT09cilicmVha31yZXR1cm4gZX0sby5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX0sby5wcm90b3R5cGUudG9Ud29zPWZ1bmN0aW9uKGUpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKGUpLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudGVzdG4oZS0xKT90aGlzLm5vdG4oZSkuaWFkZG4oMSkuaW5lZygpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LG8ucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxvLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0aGlzfSxvLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKGUpe2Zvcig7dGhpcy5sZW5ndGg8ZS5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLndvcmRzW3RdPXRoaXMud29yZHNbdF18ZS53b3Jkc1t0XTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pb3I9ZnVuY3Rpb24oZSl7cmV0dXJuIG4oMD09PSh0aGlzLm5lZ2F0aXZlfGUubmVnYXRpdmUpKSx0aGlzLml1b3IoZSl9LG8ucHJvdG90eXBlLm9yPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxlbmd0aD5lLmxlbmd0aD90aGlzLmNsb25lKCkuaW9yKGUpOmUuY2xvbmUoKS5pb3IodGhpcyl9LG8ucHJvdG90eXBlLnVvcj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5sZW5ndGg+ZS5sZW5ndGg/dGhpcy5jbG9uZSgpLml1b3IoZSk6ZS5jbG9uZSgpLml1b3IodGhpcyl9LG8ucHJvdG90eXBlLml1YW5kPWZ1bmN0aW9uKGUpe3ZhciB0O3Q9dGhpcy5sZW5ndGg+ZS5sZW5ndGg/ZTp0aGlzO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXRoaXMud29yZHNbcl09dGhpcy53b3Jkc1tyXSZlLndvcmRzW3JdO3JldHVybiB0aGlzLmxlbmd0aD10Lmxlbmd0aCx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlhbmQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG4oMD09PSh0aGlzLm5lZ2F0aXZlfGUubmVnYXRpdmUpKSx0aGlzLml1YW5kKGUpfSxvLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYW5kKGUpOmUuY2xvbmUoKS5pYW5kKHRoaXMpfSxvLnByb3RvdHlwZS51YW5kPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxlbmd0aD5lLmxlbmd0aD90aGlzLmNsb25lKCkuaXVhbmQoZSk6ZS5jbG9uZSgpLml1YW5kKHRoaXMpfSxvLnByb3RvdHlwZS5pdXhvcj1mdW5jdGlvbihlKXt2YXIgdCxyO3RoaXMubGVuZ3RoPmUubGVuZ3RoPyh0PXRoaXMscj1lKToodD1lLHI9dGhpcyk7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT10LndvcmRzW25dXnIud29yZHNbbl07aWYodGhpcyE9PXQpZm9yKDtuPHQubGVuZ3RoO24rKyl0aGlzLndvcmRzW25dPXQud29yZHNbbl07cmV0dXJuIHRoaXMubGVuZ3RoPXQubGVuZ3RoLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaXhvcj1mdW5jdGlvbihlKXtyZXR1cm4gbigwPT09KHRoaXMubmVnYXRpdmV8ZS5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IoZSl9LG8ucHJvdG90eXBlLnhvcj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5sZW5ndGg+ZS5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IoZSk6ZS5jbG9uZSgpLml4b3IodGhpcyl9LG8ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcihlKTplLmNsb25lKCkuaXV4b3IodGhpcyl9LG8ucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKGUpe24oIm51bWJlciI9PT10eXBlb2YgZSYmZT49MCk7dmFyIHQ9MHxNYXRoLmNlaWwoZS8yNikscj1lJTI2O3RoaXMuX2V4cGFuZCh0KSxyPjAmJnQtLTtmb3IodmFyIGk9MDtpPHQ7aSsrKXRoaXMud29yZHNbaV09NjcxMDg4NjMmfnRoaXMud29yZHNbaV07cmV0dXJuIHI+MCYmKHRoaXMud29yZHNbaV09fnRoaXMud29yZHNbaV0mNjcxMDg4NjM+PjI2LXIpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUubm90bj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlub3RuKGUpfSxvLnByb3RvdHlwZS5zZXRuPWZ1bmN0aW9uKGUsdCl7bigibnVtYmVyIj09PXR5cGVvZiBlJiZlPj0wKTt2YXIgcj1lLzI2fDAsaT1lJTI2O3JldHVybiB0aGlzLl9leHBhbmQocisxKSx0aGlzLndvcmRzW3JdPXQ/dGhpcy53b3Jkc1tyXXwxPDxpOnRoaXMud29yZHNbcl0mfigxPDxpKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24oZSl7dmFyIHQscixuO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09ZS5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHQ9dGhpcy5pc3ViKGUpLHRoaXMubmVnYXRpdmVePTEsdGhpcy5fbm9ybVNpZ24oKTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PWUubmVnYXRpdmUpcmV0dXJuIGUubmVnYXRpdmU9MCx0PXRoaXMuaXN1YihlKSxlLm5lZ2F0aXZlPTEsdC5fbm9ybVNpZ24oKTt0aGlzLmxlbmd0aD5lLmxlbmd0aD8ocj10aGlzLG49ZSk6KHI9ZSxuPXRoaXMpO2Zvcih2YXIgaT0wLG89MDtvPG4ubGVuZ3RoO28rKyl0PSgwfHIud29yZHNbb10pKygwfG4ud29yZHNbb10pK2ksdGhpcy53b3Jkc1tvXT02NzEwODg2MyZ0LGk9dD4+PjI2O2Zvcig7MCE9PWkmJm88ci5sZW5ndGg7bysrKXQ9KDB8ci53b3Jkc1tvXSkraSx0aGlzLndvcmRzW29dPTY3MTA4ODYzJnQsaT10Pj4+MjY7aWYodGhpcy5sZW5ndGg9ci5sZW5ndGgsMCE9PWkpdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF09aSx0aGlzLmxlbmd0aCsrO2Vsc2UgaWYociE9PXRoaXMpZm9yKDtvPHIubGVuZ3RoO28rKyl0aGlzLndvcmRzW29dPXIud29yZHNbb107cmV0dXJuIHRoaXN9LG8ucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gMCE9PWUubmVnYXRpdmUmJjA9PT10aGlzLm5lZ2F0aXZlPyhlLm5lZ2F0aXZlPTAsdD10aGlzLnN1YihlKSxlLm5lZ2F0aXZlXj0xLHQpOjA9PT1lLm5lZ2F0aXZlJiYwIT09dGhpcy5uZWdhdGl2ZT8odGhpcy5uZWdhdGl2ZT0wLHQ9ZS5zdWIodGhpcyksdGhpcy5uZWdhdGl2ZT0xLHQpOnRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYWRkKGUpOmUuY2xvbmUoKS5pYWRkKHRoaXMpfSxvLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKGUpe2lmKDAhPT1lLm5lZ2F0aXZlKXtlLm5lZ2F0aXZlPTA7dmFyIHQ9dGhpcy5pYWRkKGUpO3JldHVybiBlLm5lZ2F0aXZlPTEsdC5fbm9ybVNpZ24oKX1pZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZChlKSx0aGlzLm5lZ2F0aXZlPTEsdGhpcy5fbm9ybVNpZ24oKTt2YXIgcixuLGk9dGhpcy5jbXAoZSk7aWYoMD09PWkpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmxlbmd0aD0xLHRoaXMud29yZHNbMF09MCx0aGlzO2k+MD8ocj10aGlzLG49ZSk6KHI9ZSxuPXRoaXMpO2Zvcih2YXIgbz0wLGE9MDthPG4ubGVuZ3RoO2ErKylvPSh0PSgwfHIud29yZHNbYV0pLSgwfG4ud29yZHNbYV0pK28pPj4yNix0aGlzLndvcmRzW2FdPTY3MTA4ODYzJnQ7Zm9yKDswIT09byYmYTxyLmxlbmd0aDthKyspbz0odD0oMHxyLndvcmRzW2FdKStvKT4+MjYsdGhpcy53b3Jkc1thXT02NzEwODg2MyZ0O2lmKDA9PT1vJiZhPHIubGVuZ3RoJiZyIT09dGhpcylmb3IoO2E8ci5sZW5ndGg7YSsrKXRoaXMud29yZHNbYV09ci53b3Jkc1thXTtyZXR1cm4gdGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgsYSksciE9PXRoaXMmJih0aGlzLm5lZ2F0aXZlPTEpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaXN1YihlKX07dmFyIHA9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuLGksbyxhPWUud29yZHMscz10LndvcmRzLHU9ci53b3JkcyxjPTAsZj0wfGFbMF0sbD04MTkxJmYsaD1mPj4+MTMscD0wfGFbMV0sZD04MTkxJnAseT1wPj4+MTMsZz0wfGFbMl0sdj04MTkxJmcsbT1nPj4+MTMsYj0wfGFbM10sXz04MTkxJmIsUz1iPj4+MTMsRT0wfGFbNF0sdz04MTkxJkUsVD1FPj4+MTMsQT0wfGFbNV0sQz04MTkxJkEseD1BPj4+MTMsST0wfGFbNl0saz04MTkxJkksTz1JPj4+MTMsTj0wfGFbN10sUD04MTkxJk4sUj1OPj4+MTMsQj0wfGFbOF0sTT04MTkxJkIsTD1CPj4+MTMsRD0wfGFbOV0saj04MTkxJkQsVT1EPj4+MTMsRj0wfHNbMF0sVj04MTkxJkYscT1GPj4+MTMsSz0wfHNbMV0sej04MTkxJkssRz1LPj4+MTMsSD0wfHNbMl0sVz04MTkxJkgsWT1IPj4+MTMsWD0wfHNbM10sUT04MTkxJlgsJD1YPj4+MTMsWj0wfHNbNF0sSj04MTkxJlosZWU9Wj4+PjEzLHRlPTB8c1s1XSxyZT04MTkxJnRlLG5lPXRlPj4+MTMsaWU9MHxzWzZdLG9lPTgxOTEmaWUsYWU9aWU+Pj4xMyxzZT0wfHNbN10sdWU9ODE5MSZzZSxjZT1zZT4+PjEzLGZlPTB8c1s4XSxsZT04MTkxJmZlLGhlPWZlPj4+MTMscGU9MHxzWzldLGRlPTgxOTEmcGUseWU9cGU+Pj4xMztyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZSxyLmxlbmd0aD0xOTt2YXIgZ2U9KGMrKG49TWF0aC5pbXVsKGwsVikpfDApKygoODE5MSYoaT0oaT1NYXRoLmltdWwobCxxKSkrTWF0aC5pbXVsKGgsVil8MCkpPDwxMyl8MDtjPSgobz1NYXRoLmltdWwoaCxxKSkrKGk+Pj4xMyl8MCkrKGdlPj4+MjYpfDAsZ2UmPTY3MTA4ODYzLG49TWF0aC5pbXVsKGQsViksaT0oaT1NYXRoLmltdWwoZCxxKSkrTWF0aC5pbXVsKHksVil8MCxvPU1hdGguaW11bCh5LHEpO3ZhciB2ZT0oYysobj1uK01hdGguaW11bChsLHopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChsLEcpfDApK01hdGguaW11bChoLHopfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoaCxHKXwwKSsoaT4+PjEzKXwwKSsodmU+Pj4yNil8MCx2ZSY9NjcxMDg4NjMsbj1NYXRoLmltdWwodixWKSxpPShpPU1hdGguaW11bCh2LHEpKStNYXRoLmltdWwobSxWKXwwLG89TWF0aC5pbXVsKG0scSksbj1uK01hdGguaW11bChkLHopfDAsaT0oaT1pK01hdGguaW11bChkLEcpfDApK01hdGguaW11bCh5LHopfDAsbz1vK01hdGguaW11bCh5LEcpfDA7dmFyIG1lPShjKyhuPW4rTWF0aC5pbXVsKGwsVyl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGwsWSl8MCkrTWF0aC5pbXVsKGgsVyl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChoLFkpfDApKyhpPj4+MTMpfDApKyhtZT4+PjI2KXwwLG1lJj02NzEwODg2MyxuPU1hdGguaW11bChfLFYpLGk9KGk9TWF0aC5pbXVsKF8scSkpK01hdGguaW11bChTLFYpfDAsbz1NYXRoLmltdWwoUyxxKSxuPW4rTWF0aC5pbXVsKHYseil8MCxpPShpPWkrTWF0aC5pbXVsKHYsRyl8MCkrTWF0aC5pbXVsKG0seil8MCxvPW8rTWF0aC5pbXVsKG0sRyl8MCxuPW4rTWF0aC5pbXVsKGQsVyl8MCxpPShpPWkrTWF0aC5pbXVsKGQsWSl8MCkrTWF0aC5pbXVsKHksVyl8MCxvPW8rTWF0aC5pbXVsKHksWSl8MDt2YXIgYmU9KGMrKG49bitNYXRoLmltdWwobCxRKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwobCwkKXwwKStNYXRoLmltdWwoaCxRKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGgsJCl8MCkrKGk+Pj4xMyl8MCkrKGJlPj4+MjYpfDAsYmUmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHcsViksaT0oaT1NYXRoLmltdWwodyxxKSkrTWF0aC5pbXVsKFQsVil8MCxvPU1hdGguaW11bChULHEpLG49bitNYXRoLmltdWwoXyx6KXwwLGk9KGk9aStNYXRoLmltdWwoXyxHKXwwKStNYXRoLmltdWwoUyx6KXwwLG89bytNYXRoLmltdWwoUyxHKXwwLG49bitNYXRoLmltdWwodixXKXwwLGk9KGk9aStNYXRoLmltdWwodixZKXwwKStNYXRoLmltdWwobSxXKXwwLG89bytNYXRoLmltdWwobSxZKXwwLG49bitNYXRoLmltdWwoZCxRKXwwLGk9KGk9aStNYXRoLmltdWwoZCwkKXwwKStNYXRoLmltdWwoeSxRKXwwLG89bytNYXRoLmltdWwoeSwkKXwwO3ZhciBfZT0oYysobj1uK01hdGguaW11bChsLEopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChsLGVlKXwwKStNYXRoLmltdWwoaCxKKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGgsZWUpfDApKyhpPj4+MTMpfDApKyhfZT4+PjI2KXwwLF9lJj02NzEwODg2MyxuPU1hdGguaW11bChDLFYpLGk9KGk9TWF0aC5pbXVsKEMscSkpK01hdGguaW11bCh4LFYpfDAsbz1NYXRoLmltdWwoeCxxKSxuPW4rTWF0aC5pbXVsKHcseil8MCxpPShpPWkrTWF0aC5pbXVsKHcsRyl8MCkrTWF0aC5pbXVsKFQseil8MCxvPW8rTWF0aC5pbXVsKFQsRyl8MCxuPW4rTWF0aC5pbXVsKF8sVyl8MCxpPShpPWkrTWF0aC5pbXVsKF8sWSl8MCkrTWF0aC5pbXVsKFMsVyl8MCxvPW8rTWF0aC5pbXVsKFMsWSl8MCxuPW4rTWF0aC5pbXVsKHYsUSl8MCxpPShpPWkrTWF0aC5pbXVsKHYsJCl8MCkrTWF0aC5pbXVsKG0sUSl8MCxvPW8rTWF0aC5pbXVsKG0sJCl8MCxuPW4rTWF0aC5pbXVsKGQsSil8MCxpPShpPWkrTWF0aC5pbXVsKGQsZWUpfDApK01hdGguaW11bCh5LEopfDAsbz1vK01hdGguaW11bCh5LGVlKXwwO3ZhciBTZT0oYysobj1uK01hdGguaW11bChsLHJlKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwobCxuZSl8MCkrTWF0aC5pbXVsKGgscmUpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoaCxuZSl8MCkrKGk+Pj4xMyl8MCkrKFNlPj4+MjYpfDAsU2UmPTY3MTA4ODYzLG49TWF0aC5pbXVsKGssViksaT0oaT1NYXRoLmltdWwoayxxKSkrTWF0aC5pbXVsKE8sVil8MCxvPU1hdGguaW11bChPLHEpLG49bitNYXRoLmltdWwoQyx6KXwwLGk9KGk9aStNYXRoLmltdWwoQyxHKXwwKStNYXRoLmltdWwoeCx6KXwwLG89bytNYXRoLmltdWwoeCxHKXwwLG49bitNYXRoLmltdWwodyxXKXwwLGk9KGk9aStNYXRoLmltdWwodyxZKXwwKStNYXRoLmltdWwoVCxXKXwwLG89bytNYXRoLmltdWwoVCxZKXwwLG49bitNYXRoLmltdWwoXyxRKXwwLGk9KGk9aStNYXRoLmltdWwoXywkKXwwKStNYXRoLmltdWwoUyxRKXwwLG89bytNYXRoLmltdWwoUywkKXwwLG49bitNYXRoLmltdWwodixKKXwwLGk9KGk9aStNYXRoLmltdWwodixlZSl8MCkrTWF0aC5pbXVsKG0sSil8MCxvPW8rTWF0aC5pbXVsKG0sZWUpfDAsbj1uK01hdGguaW11bChkLHJlKXwwLGk9KGk9aStNYXRoLmltdWwoZCxuZSl8MCkrTWF0aC5pbXVsKHkscmUpfDAsbz1vK01hdGguaW11bCh5LG5lKXwwO3ZhciBFZT0oYysobj1uK01hdGguaW11bChsLG9lKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwobCxhZSl8MCkrTWF0aC5pbXVsKGgsb2UpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoaCxhZSl8MCk="
}
Changelog:
{
"2020.03.29 15:15": "base64:LHQscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgaT1yLTEsbz0xO2Zvcih0aGlzW3QraV09MjU1JmU7LS1pPj0wJiYobyo9MjU2KTspdGhpc1t0K2ldPWUvbyYyNTU7cmV0dXJuIHQrcn0sdS5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxQKHRoaXMsZSx0LDEsMjU1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVHx8KGU9TWF0aC5mbG9vcihlKSksdGhpc1t0XT0yNTUmZSx0KzF9LHUucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8UCh0aGlzLGUsdCwyLDY1NTM1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgpOlIodGhpcyxlLHQsITApLHQrMn0sdS5wcm90b3R5cGUud3JpdGVVSW50MTZCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxQKHRoaXMsZSx0LDIsNjU1MzUsMCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW3RdPWU+Pj44LHRoaXNbdCsxXT0yNTUmZSk6Uih0aGlzLGUsdCwhMSksdCsyfSx1LnByb3RvdHlwZS53cml0ZVVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsNCw0Mjk0OTY3Mjk1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0KzNdPWU+Pj4yNCx0aGlzW3QrMl09ZT4+PjE2LHRoaXNbdCsxXT1lPj4+OCx0aGlzW3RdPTI1NSZlKTpCKHRoaXMsZSx0LCEwKSx0KzR9LHUucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8UCh0aGlzLGUsdCw0LDQyOTQ5NjcyOTUsMCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW3RdPWU+Pj4yNCx0aGlzW3QrMV09ZT4+PjE2LHRoaXNbdCsyXT1lPj4+OCx0aGlzW3QrM109MjU1JmUpOkIodGhpcyxlLHQsITEpLHQrNH0sdS5wcm90b3R5cGUud3JpdGVJbnRMRT1mdW5jdGlvbihlLHQscixuKXtpZihlPStlLHR8PTAsIW4pe3ZhciBpPU1hdGgucG93KDIsOCpyLTEpO1AodGhpcyxlLHQscixpLTEsLWkpfXZhciBvPTAsYT0xLHM9MDtmb3IodGhpc1t0XT0yNTUmZTsrK288ciYmKGEqPTI1Nik7KWU8MCYmMD09PXMmJjAhPT10aGlzW3Qrby0xXSYmKHM9MSksdGhpc1t0K29dPShlL2E+PjApLXMmMjU1O3JldHVybiB0K3J9LHUucHJvdG90eXBlLndyaXRlSW50QkU9ZnVuY3Rpb24oZSx0LHIsbil7aWYoZT0rZSx0fD0wLCFuKXt2YXIgaT1NYXRoLnBvdygyLDgqci0xKTtQKHRoaXMsZSx0LHIsaS0xLC1pKX12YXIgbz1yLTEsYT0xLHM9MDtmb3IodGhpc1t0K29dPTI1NSZlOy0tbz49MCYmKGEqPTI1Nik7KWU8MCYmMD09PXMmJjAhPT10aGlzW3QrbysxXSYmKHM9MSksdGhpc1t0K29dPShlL2E+PjApLXMmMjU1O3JldHVybiB0K3J9LHUucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxQKHRoaXMsZSx0LDEsMTI3LC0xMjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVHx8KGU9TWF0aC5mbG9vcihlKSksZTwwJiYoZT0yNTUrZSsxKSx0aGlzW3RdPTI1NSZlLHQrMX0sdS5wcm90b3R5cGUud3JpdGVJbnQxNkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgpOlIodGhpcyxlLHQsITApLHQrMn0sdS5wcm90b3R5cGUud3JpdGVJbnQxNkJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+OCx0aGlzW3QrMV09MjU1JmUpOlIodGhpcyxlLHQsITEpLHQrMn0sdS5wcm90b3R5cGUud3JpdGVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHRoaXNbdCsyXT1lPj4+MTYsdGhpc1t0KzNdPWU+Pj4yNCk6Qih0aGlzLGUsdCwhMCksdCs0fSx1LnByb3RvdHlwZS53cml0ZUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8UCh0aGlzLGUsdCw0LDIxNDc0ODM2NDcsLTIxNDc0ODM2NDgpLGU8MCYmKGU9NDI5NDk2NzI5NStlKzEpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlKTpCKHRoaXMsZSx0LCExKSx0KzR9LHUucHJvdG90eXBlLndyaXRlRmxvYXRMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwodGhpcyxlLHQsITAscil9LHUucHJvdG90eXBlLndyaXRlRmxvYXRCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwodGhpcyxlLHQsITEscil9LHUucHJvdG90eXBlLndyaXRlRG91YmxlTEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBEKHRoaXMsZSx0LCEwLHIpfSx1LnByb3RvdHlwZS53cml0ZURvdWJsZUJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gRCh0aGlzLGUsdCwhMSxyKX0sdS5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlLHQscixuKXtpZihyfHwocj0wKSxufHwwPT09bnx8KG49dGhpcy5sZW5ndGgpLHQ+PWUubGVuZ3RoJiYodD1lLmxlbmd0aCksdHx8KHQ9MCksbj4wJiZuPHImJihuPXIpLG49PT1yKXJldHVybiAwO2lmKDA9PT1lLmxlbmd0aHx8MD09PXRoaXMubGVuZ3RoKXJldHVybiAwO2lmKHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigidGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kcyIpO2lmKHI8MHx8cj49dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZVN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihuPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZUVuZCBvdXQgb2YgYm91bmRzIik7bj50aGlzLmxlbmd0aCYmKG49dGhpcy5sZW5ndGgpLGUubGVuZ3RoLXQ8bi1yJiYobj1lLmxlbmd0aC10K3IpO3ZhciBpLG89bi1yO2lmKHRoaXM9PT1lJiZyPHQmJnQ8bilmb3IoaT1vLTE7aT49MDstLWkpZVtpK3RdPXRoaXNbaStyXTtlbHNlIGlmKG88MWUzfHwhdS5UWVBFRF9BUlJBWV9TVVBQT1JUKWZvcihpPTA7aTxvOysraSllW2krdF09dGhpc1tpK3JdO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoZSx0aGlzLnN1YmFycmF5KHIscitvKSx0KTtyZXR1cm4gb30sdS5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbihlLHQscixuKXtpZigic3RyaW5nIj09PXR5cGVvZiBlKXtpZigic3RyaW5nIj09PXR5cGVvZiB0PyhuPXQsdD0wLHI9dGhpcy5sZW5ndGgpOiJzdHJpbmciPT09dHlwZW9mIHImJihuPXIscj10aGlzLmxlbmd0aCksMT09PWUubGVuZ3RoKXt2YXIgaT1lLmNoYXJDb2RlQXQoMCk7aTwyNTYmJihlPWkpfWlmKHZvaWQgMCE9PW4mJiJzdHJpbmciIT09dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZyIpO2lmKCJzdHJpbmciPT09dHlwZW9mIG4mJiF1LmlzRW5jb2RpbmcobikpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIituKX1lbHNlIm51bWJlciI9PT10eXBlb2YgZSYmKGUmPTI1NSk7aWYodDwwfHx0aGlzLmxlbmd0aDx0fHx0aGlzLmxlbmd0aDxyKXRocm93IG5ldyBSYW5nZUVycm9yKCJPdXQgb2YgcmFuZ2UgaW5kZXgiKTtpZihyPD10KXJldHVybiB0aGlzO3ZhciBvO2lmKHQ+Pj49MCxyPXZvaWQgMD09PXI/dGhpcy5sZW5ndGg6cj4+PjAsZXx8KGU9MCksIm51bWJlciI9PT10eXBlb2YgZSlmb3Iobz10O288cjsrK28pdGhpc1tvXT1lO2Vsc2V7dmFyIGE9dS5pc0J1ZmZlcihlKT9lOkYobmV3IHUoZSxuKS50b1N0cmluZygpKSxzPWEubGVuZ3RoO2ZvcihvPTA7bzxyLXQ7KytvKXRoaXNbbyt0XT1hW28lc119cmV0dXJuIHRoaXN9O3ZhciBqPS9bXitcLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIFUoZSl7cmV0dXJuIGU8MTY/IjAiK2UudG9TdHJpbmcoMTYpOmUudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEYoZSx0KXt2YXIgcjt0PXR8fDEvMDtmb3IodmFyIG49ZS5sZW5ndGgsaT1udWxsLG89W10sYT0wO2E8bjsrK2Epe2lmKChyPWUuY2hhckNvZGVBdChhKSk+NTUyOTUmJnI8NTczNDQpe2lmKCFpKXtpZihyPjU2MzE5KXsodC09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYoYSsxPT09bil7KHQtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWk9cjtjb250aW51ZX1pZihyPDU2MzIwKXsodC09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSksaT1yO2NvbnRpbnVlfXI9NjU1MzYrKGktNTUyOTY8PDEwfHItNTYzMjApfWVsc2UgaSYmKHQtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2lmKGk9bnVsbCxyPDEyOCl7aWYoKHQtPTEpPDApYnJlYWs7by5wdXNoKHIpfWVsc2UgaWYocjwyMDQ4KXtpZigodC09Mik8MClicmVhaztvLnB1c2gocj4+NnwxOTIsNjMmcnwxMjgpfWVsc2UgaWYocjw2NTUzNil7aWYoKHQtPTMpPDApYnJlYWs7by5wdXNoKHI+PjEyfDIyNCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9ZWxzZXtpZighKHI8MTExNDExMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvZGUgcG9pbnQiKTtpZigodC09NCk8MClicmVhaztvLnB1c2gocj4+MTh8MjQwLHI+PjEyJjYzfDEyOCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9fXJldHVybiBvfWZ1bmN0aW9uIFYoZSl7cmV0dXJuIG4udG9CeXRlQXJyYXkoZnVuY3Rpb24oZSl7aWYoKGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJpbT9lLnRyaW0oKTplLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0oZSkucmVwbGFjZShqLCIiKSkubGVuZ3RoPDIpcmV0dXJuIiI7Zm9yKDtlLmxlbmd0aCU0IT09MDspZSs9Ij0iO3JldHVybiBlfShlKSl9ZnVuY3Rpb24gcShlLHQscixuKXtmb3IodmFyIGk9MDtpPG4mJiEoaStyPj10Lmxlbmd0aHx8aT49ZS5sZW5ndGgpOysraSl0W2krcl09ZVtpXTtyZXR1cm4gaX19KS5jYWxsKHRoaXMscigzNCkpfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDEzOCksaT1yKDIzMSksbz1yKDY0NyksYT1yKDY0OCk7dC5qc29uPWE7dmFyIHM9cigxMzkpO3Quc2VyaWFsaXplUHJpbWl0aXZlcz1zO3ZhciB1PXIoMjMwKTt0LnBhcnNlUHJpbWl0aXZlcz11O3ZhciBjPXIoMTM4KTt0LnNjaGVtYXM9Yzt2YXIgZj17c2VyaWFsaXplckZyb21TY2hlbWE6aS5zZXJpYWxpemVyRnJvbVNjaGVtYSxzZXJpYWxpemVUeDppLnNlcmlhbGl6ZVR4LHNlcmlhbGl6ZU9yZGVyOmkuc2VyaWFsaXplT3JkZXIscGFyc2VyRnJvbVNjaGVtYTpvLnBhcnNlckZyb21TY2hlbWEscGFyc2VUeDpvLnBhcnNlVHgscGFyc2VPcmRlcjpvLnBhcnNlT3JkZXJ9O2Z1bmN0aW9uIGwoZSx0LHIsbil7dmFyIGE9aS5zZXJpYWxpemVyRnJvbVNjaGVtYSh0LG4pLHM9by5wYXJzZXJGcm9tU2NoZW1hKHQscikoYShlKSkudmFsdWU7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sZSxzKX10LmJpbmFyeT1mLHQuY29udmVydExvbmdGaWVsZHM9bCx0LmNvbnZlcnRUeExvbmdGaWVsZHM9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPWUudHlwZSxvPWUudmVyc2lvbjtyZXR1cm4gbChlLG4uZ2V0VHJhbnNhY3Rpb25TY2hlbWEoaSxvKSx0LHIpfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9cigzMDUpLG89cigzMDcpO3Quc2VlZFdvcmRzTGlzdD1vLnNlZWRXb3Jkc0xpc3Q7dmFyIGE9cigzNjApO3QuQ2hhaWRJZD1hLkNoYWlkSWQ7dmFyIHM9cigzNTkpO3QuU2VlZD1zLlNlZWQ7dmFyIHU9cigyMjgpO3QuaXNQcml2YXRlS2V5PXUuaXNQcml2YXRlS2V5LHQuaXNQdWJsaWNLZXk9dS5pc1B1YmxpY0tleTt2YXIgYz1yKDMwNSk7dC5jcnlwdG89Yy5jcnlwdG8sZnVuY3Rpb24oZSl7Zm9yKHZhciByIGluIGUpdC5oYXNPd25Qcm9wZXJ0eShyKXx8KHRbcl09ZVtyXSl9KHIoMTM3KSksdC5zaWduQnl0ZXM9KG49aS5jcnlwdG8oe291dHB1dDoiQmFzZTU4In0pKS5zaWduQnl0ZXMsdC5rZXlQYWlyPW4ua2V5UGFpcix0LnB1YmxpY0tleT1uLnB1YmxpY0tleSx0LnByaXZhdGVLZXk9bi5wcml2YXRlS2V5LHQuYWRkcmVzcz1uLmFkZHJlc3MsdC5ibGFrZTJiPW4uYmxha2UyYix0LmtlY2Nhaz1uLmtlY2Nhayx0LnNoYTI1Nj1uLnNoYTI1Nix0LnNoYXJlZEtleT1uLnNoYXJlZEtleSx0LnNlZWRXaXRoTm9uY2U9bi5zZWVkV2l0aE5vbmNlLHQuYmFzZTY0RW5jb2RlPW4uYmFzZTY0RW5jb2RlLHQuYmFzZTY0RGVjb2RlPW4uYmFzZTY0RGVjb2RlLHQuYmFzZTU4RW5jb2RlPW4uYmFzZTU4RW5jb2RlLHQuYmFzZTU4RGVjb2RlPW4uYmFzZTU4RGVjb2RlLHQuYmFzZTE2RW5jb2RlPW4uYmFzZTE2RW5jb2RlLHQuYmFzZTE2RGVjb2RlPW4uYmFzZTE2RGVjb2RlLHQuc3RyaW5nVG9CeXRlcz1uLnN0cmluZ1RvQnl0ZXMsdC5ieXRlc1RvU3RyaW5nPW4uYnl0ZXNUb1N0cmluZyx0LnJhbmRvbT1uLnJhbmRvbSx0LnJhbmRvbVNlZWQ9bi5yYW5kb21TZWVkLHQucmFuZG9tQnl0ZXM9bi5yYW5kb21CeXRlcyx0LnZlcmlmeVNpZ25hdHVyZT1uLnZlcmlmeVNpZ25hdHVyZSx0LnZlcmlmeVB1YmxpY0tleT1uLnZlcmlmeVB1YmxpY0tleSx0LnZlcmlmeUFkZHJlc3M9bi52ZXJpZnlBZGRyZXNzLHQubWVzc2FnZURlY3J5cHQ9bi5tZXNzYWdlRGVjcnlwdCx0Lm1lc3NhZ2VFbmNyeXB0PW4ubWVzc2FnZUVuY3J5cHQsdC5lbmNyeXB0U2VlZD1uLmVuY3J5cHRTZWVkLHQuZGVjcnlwdFNlZWQ9bi5kZWNyeXB0U2VlZCx0LnJzYUtleVBhaXI9bi5yc2FLZXlQYWlyLHQucnNhS2V5UGFpclN5bmM9bi5yc2FLZXlQYWlyU3luYyx0LnJzYVNpZ249bi5yc2FTaWduLHQucnNhVmVyaWZ5PW4ucnNhVmVyaWZ5LHQuYWVzRGVjcnlwdD1uLmFlc0RlY3J5cHQsdC5hZXNFbmNyeXB0PW4uYWVzRW5jcnlwdCx0LnNwbGl0PW4uc3BsaXQsdC5jb25jYXQ9bi5jb25jYXR9LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDE3OCkoIndrcyIpLGk9cig5NCksbz1yKDE3KS5TeW1ib2wsYT0iZnVuY3Rpb24iPT10eXBlb2YgbzsoZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBuW2VdfHwobltlXT1hJiZvW2VdfHwoYT9vOmkpKCJTeW1ib2wuIitlKSl9KS5zdG9yZT1ufSxmdW5jdGlvbihlLHQscil7dmFyIG49cig1NDIpLGk9cig1NDMpLG89cig1NDQpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiBuKGUpfHxpKGUsdCl8fG8oKX19LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDYwKSxpPU1hdGgubWluO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gZT4wP2kobihlKSw5MDA3MTk5MjU0NzQwOTkxKTowfX0sZnVuY3Rpb24oZSx0LHIpeyhmdW5jdGlvbihlKXshZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe2lmKCFlKXRocm93IG5ldyBFcnJvcih0fHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWZ1bmN0aW9uIGkoZSx0KXtlLnN1cGVyXz10O3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgcixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfWZ1bmN0aW9uIG8oZSx0LHIpe2lmKG8uaXNCTihlKSlyZXR1cm4gZTt0aGlzLm5lZ2F0aXZlPTAsdGhpcy53b3Jkcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5yZWQ9bnVsbCxudWxsIT09ZSYmKCJsZSIhPT10JiYiYmUiIT09dHx8KHI9dCx0PTEwKSx0aGlzLl9pbml0KGV8fDAsdHx8MTAscnx8ImJlIikpfXZhciBhOyJvYmplY3QiPT09dHlwZW9mIGU/ZS5leHBvcnRzPW86dC5CTj1vLG8uQk49byxvLndvcmRTaXplPTI2O3RyeXthPXIoNTg1KS5CdWZmZXJ9Y2F0Y2goVCl7fWZ1bmN0aW9uIHMoZSx0LHIpe2Zvcih2YXIgbj0wLGk9TWF0aC5taW4oZS5sZW5ndGgsciksbz10O288aTtvKyspe3ZhciBhPWUuY2hhckNvZGVBdChvKS00ODtuPDw9NCxufD1hPj00OSYmYTw9NTQ/YS00OSsxMDphPj0xNyYmYTw9MjI/YS0xNysxMDoxNSZhfXJldHVybiBufWZ1bmN0aW9uIHUoZSx0LHIsbil7Zm9yKHZhciBpPTAsbz1NYXRoLm1pbihlLmxlbmd0aCxyKSxhPXQ7YTxvO2ErKyl7dmFyIHM9ZS5jaGFyQ29kZUF0KGEpLTQ4O2kqPW4saSs9cz49NDk/cy00OSsxMDpzPj0xNz9zLTE3KzEwOnN9cmV0dXJuIGl9by5pc0JOPWZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2Ygb3x8bnVsbCE9PWUmJiJvYmplY3QiPT09dHlwZW9mIGUmJmUuY29uc3RydWN0b3Iud29yZFNpemU9PT1vLndvcmRTaXplJiZBcnJheS5pc0FycmF5KGUud29yZHMpfSxvLm1heD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmNtcCh0KT4wP2U6dH0sby5taW49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jbXAodCk8MD9lOnR9LG8ucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKGUsdCxyKXtpZigibnVtYmVyIj09PXR5cGVvZiBlKXJldHVybiB0aGlzLl9pbml0TnVtYmVyKGUsdCxyKTtpZigib2JqZWN0Ij09PXR5cGVvZiBlKXJldHVybiB0aGlzLl9pbml0QXJyYXkoZSx0LHIpOyJoZXgiPT09dCYmKHQ9MTYpLG4odD09PSgwfHQpJiZ0Pj0yJiZ0PD0zNik7dmFyIGk9MDsiLSI9PT0oZT1lLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpKVswXSYmaSsrLDE2PT09dD90aGlzLl9wYXJzZUhleChlLGkpOnRoaXMuX3BhcnNlQmFzZShlLHQsaSksIi0iPT09ZVswXSYmKHRoaXMubmVnYXRpdmU9MSksdGhpcy5zdHJpcCgpLCJsZSI9PT1yJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksdCxyKX0sby5wcm90b3R5cGUuX2luaXROdW1iZXI9ZnVuY3Rpb24oZSx0LHIpe2U8MCYmKHRoaXMubmVnYXRpdmU9MSxlPS1lKSxlPDY3MTA4ODY0Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZlXSx0aGlzLmxlbmd0aD0xKTplPDQ1MDM1OTk2MjczNzA0OTY/KHRoaXMud29yZHM9WzY3MTA4ODYzJmUsZS82NzEwODg2NCY2NzEwODg2M10sdGhpcy5sZW5ndGg9Mik6KG4oZTw5MDA3MTk5MjU0NzQwOTkyKSx0aGlzLndvcmRzPVs2NzEwODg2MyZlLGUvNjcxMDg4NjQmNjcxMDg4NjMsMV0sdGhpcy5sZW5ndGg9MyksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSx0LHIpfSxvLnByb3RvdHlwZS5faW5pdEFycmF5PWZ1bmN0aW9uKGUsdCxyKXtpZihuKCJudW1iZXIiPT09dHlwZW9mIGUubGVuZ3RoKSxlLmxlbmd0aDw9MClyZXR1cm4gdGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MSx0aGlzO3RoaXMubGVuZ3RoPU1hdGguY2VpbChlLmxlbmd0aC8zKSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspdGhpcy53b3Jkc1tpXT0wO3ZhciBvLGEscz0wO2lmKCJiZSI9PT1yKWZvcihpPWUubGVuZ3RoLTEsbz0wO2k+PTA7aS09MylhPWVbaV18ZVtpLTFdPDw4fGVbaS0yXTw8MTYsdGhpcy53b3Jkc1tvXXw9YTw8cyY2NzEwODg2Myx0aGlzLndvcmRzW28rMV09YT4+PjI2LXMmNjcxMDg4NjMsKHMrPTI0KT49MjYmJihzLT0yNixvKyspO2Vsc2UgaWYoImxlIj09PXIpZm9yKGk9MCxvPTA7aTxlLmxlbmd0aDtpKz0zKWE9ZVtpXXxlW2krMV08PDh8ZVtpKzJdPDwxNix0aGlzLndvcmRzW29dfD1hPDxzJjY3MTA4ODYzLHRoaXMud29yZHNbbysxXT1hPj4+MjYtcyY2NzEwODg2Mywocys9MjQpPj0yNiYmKHMtPTI2LG8rKyk7cmV0dXJuIHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuX3BhcnNlSGV4PWZ1bmN0aW9uKGUsdCl7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKChlLmxlbmd0aC10KS82KSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciByPTA7cjx0aGlzLmxlbmd0aDtyKyspdGhpcy53b3Jkc1tyXT0wO3ZhciBuLGksbz0wO2ZvcihyPWUubGVuZ3RoLTYsbj0wO3I+PXQ7ci09NilpPXMoZSxyLHIrNiksdGhpcy53b3Jkc1tuXXw9aTw8byY2NzEwODg2Myx0aGlzLndvcmRzW24rMV18PWk+Pj4yNi1vJjQxOTQzMDMsKG8rPTI0KT49MjYmJihvLT0yNixuKyspO3IrNiE9PXQmJihpPXMoZSx0LHIrNiksdGhpcy53b3Jkc1tuXXw9aTw8byY2NzEwODg2Myx0aGlzLndvcmRzW24rMV18PWk+Pj4yNi1vJjQxOTQzMDMpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuX3BhcnNlQmFzZT1mdW5jdGlvbihlLHQscil7dGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MTtmb3IodmFyIG49MCxpPTE7aTw9NjcxMDg4NjM7aSo9dCluKys7bi0tLGk9aS90fDA7Zm9yKHZhciBvPWUubGVuZ3RoLXIsYT1vJW4scz1NYXRoLm1pbihvLG8tYSkrcixjPTAsZj1yO2Y8cztmKz1uKWM9dShlLGYsZituLHQpLHRoaXMuaW11bG4oaSksdGhpcy53b3Jkc1swXStjPDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPWM6dGhpcy5faWFkZG4oYyk7aWYoMCE9PWEpe3ZhciBsPTE7Zm9yKGM9dShlLGYsZS5sZW5ndGgsdCksZj0wO2Y8YTtmKyspbCo9dDt0aGlzLmltdWxuKGwpLHRoaXMud29yZHNbMF0rYzw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1jOnRoaXMuX2lhZGRuKGMpfX0sby5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtlLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciB0PTA7dDx0aGlzLmxlbmd0aDt0KyspZS53b3Jkc1t0XT10aGlzLndvcmRzW3RdO2UubGVuZ3RoPXRoaXMubGVuZ3RoLGUubmVnYXRpdmU9dGhpcy5uZWdhdGl2ZSxlLnJlZD10aGlzLnJlZH0sby5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgZT1uZXcgbyhudWxsKTtyZXR1cm4gdGhpcy5jb3B5KGUpLGV9LG8ucHJvdG90eXBlLl9leHBhbmQ9ZnVuY3Rpb24oZSl7Zm9yKDt0aGlzLmxlbmd0aDxlOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7cmV0dXJuIHRoaXN9LG8ucHJvdG90eXBlLnN0cmlwPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmxlbmd0aD4xJiYwPT09dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXTspdGhpcy5sZW5ndGgtLTtyZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX0sby5wcm90b3R5cGUuX25vcm1TaWduPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMud29yZHNbMF0mJih0aGlzLm5lZ2F0aXZlPTApLHRoaXN9LG8ucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yZWQ/IjxCTi1SOiAiOiI8Qk46ICIpK3RoaXMudG9TdHJpbmcoMTYpKyI+In07dmFyIGM9WyIiLCIwIiwiMDAiLCIwMDAiLCIwMDAwIiwiMDAwMDAiLCIwMDAwMDAiLCIwMDAwMDAwIiwiMDAwMDAwMDAiLCIwMDAwMDAwMDAiLCIwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIl0sZj1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XSxsPVswLDAsMzM1NTQ0MzIsNDMwNDY3MjEsMTY3NzcyMTYsNDg4MjgxMjUsNjA0NjYxNzYsNDAzNTM2MDcsMTY3NzcyMTYsNDMwNDY3MjEsMWU3LDE5NDg3MTcxLDM1ODMxODA4LDYyNzQ4NTE3LDc1Mjk1MzYsMTEzOTA2MjUsMTY3NzcyMTYsMjQxMzc1NjksMzQwMTIyMjQsNDcwNDU4ODEsNjRlNiw0MDg0MTAxLDUxNTM2MzIsNjQzNjM0Myw3OTYyNjI0LDk3NjU2MjUsMTE4ODEzNzYsMTQzNDg5MDcsMTcyMTAzNjgsMjA1MTExNDksMjQzZTUsMjg2MjkxNTEsMzM1NTQ0MzIsMzkxMzUzOTMsNDU0MzU0MjQsNTI1MjE4NzUsNjA0NjYxNzZdO2Z1bmN0aW9uIGgoZSx0LHIpe3IubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlO3ZhciBuPWUubGVuZ3RoK3QubGVuZ3RofDA7ci5sZW5ndGg9bixuPW4tMXwwO3ZhciBpPTB8ZS53b3Jkc1swXSxvPTB8dC53b3Jkc1swXSxhPWkqbyxzPTY3MTA4ODYzJmEsdT1hLzY3MTA4ODY0fDA7ci53b3Jkc1swXT1zO2Zvcih2YXIgYz0xO2M8bjtjKyspe2Zvcih2YXIgZj11Pj4+MjYsbD02NzEwODg2MyZ1LGg9TWF0aC5taW4oYyx0Lmxlbmd0aC0xKSxwPU1hdGgubWF4KDAsYy1lLmxlbmd0aCsxKTtwPD1oO3ArKyl7dmFyIGQ9Yy1wfDA7Zis9KGE9KGk9MHxlLndvcmRzW2RdKSoobz0wfHQud29yZHNbcF0pK2wpLzY3MTA4ODY0fDAsbD02NzEwODg2MyZhfXIud29yZHNbY109MHxsLHU9MHxmfXJldHVybiAwIT09dT9yLndvcmRzW2NdPTB8dTpyLmxlbmd0aC0tLHIuc3RyaXAoKX1vLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbihlLHQpe3ZhciByO2lmKHQ9MHx0fHwxLDE2PT09KGU9ZXx8MTApfHwiaGV4Ij09PWUpe3I9IiI7Zm9yKHZhciBpPTAsbz0wLGE9MDthPHRoaXMubGVuZ3RoO2ErKyl7dmFyIHM9dGhpcy53b3Jkc1thXSx1PSgxNjc3NzIxNSYoczw8aXxvKSkudG9TdHJpbmcoMTYpO3I9MCE9PShvPXM+Pj4yNC1pJjE2Nzc3MjE1KXx8YSE9PXRoaXMubGVuZ3RoLTE/Y1s2LXUubGVuZ3RoXSt1K3I6dStyLChpKz0yKT49MjYmJihpLT0yNixhLS0pfWZvcigwIT09byYmKHI9by50b1N0cmluZygxNikrcik7ci5sZW5ndGgldCE9PTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1pZihlPT09KDB8ZSkmJmU+PTImJmU8PTM2KXt2YXIgaD1mW2VdLHA9bFtlXTtyPSIiO3ZhciBkPXRoaXMuY2xvbmUoKTtmb3IoZC5uZWdhdGl2ZT0wOyFkLmlzWmVybygpOyl7dmFyIHk9ZC5tb2RuKHApLnRvU3RyaW5nKGUpO3I9KGQ9ZC5pZGl2bihwKSkuaXNaZXJvKCk/eStyOmNbaC15Lmxlbmd0aF0reStyfWZvcih0aGlzLmlzWmVybygpJiYocj0iMCIrcik7ci5sZW5ndGgldCE9PTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1uKCExLCJCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Iil9LG8ucHJvdG90eXBlLnRvTnVtYmVyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy53b3Jkc1swXTtyZXR1cm4gMj09PXRoaXMubGVuZ3RoP2UrPTY3MTA4ODY0KnRoaXMud29yZHNbMV06Mz09PXRoaXMubGVuZ3RoJiYxPT09dGhpcy53b3Jkc1syXT9lKz00NTAzNTk5NjI3MzcwNDk2KzY3MTA4ODY0KnRoaXMud29yZHNbMV06dGhpcy5sZW5ndGg+MiYmbighMSwiTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzIiksMCE9PXRoaXMubmVnYXRpdmU/LWU6ZX0sby5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpfSxvLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbihlLHQpe3JldHVybiBuKCJ1bmRlZmluZWQiIT09dHlwZW9mIGEpLHRoaXMudG9BcnJheUxpa2UoYSxlLHQpfSxvLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksZSx0KX0sby5wcm90b3R5cGUudG9BcnJheUxpa2U9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXRoaXMuYnl0ZUxlbmd0aCgpLG89cnx8TWF0aC5tYXgoMSxpKTtuKGk8PW8sImJ5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgiKSxuKG8+MCwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwIiksdGhpcy5zdHJpcCgpO3ZhciBhLHMsdT0ibGUiPT09dCxjPW5ldyBlKG8pLGY9dGhpcy5jbG9uZSgpO2lmKHUpe2ZvcihzPTA7IWYuaXNaZXJvKCk7cysrKWE9Zi5hbmRsbigyNTUpLGYuaXVzaHJuKDgpLGNbc109YTtmb3IoO3M8bztzKyspY1tzXT0wfWVsc2V7Zm9yKHM9MDtzPG8taTtzKyspY1tzXT0wO2ZvcihzPTA7IWYuaXNaZXJvKCk7cysrKWE9Zi5hbmRsbigyNTUpLGYuaXVzaHJuKDgpLGNbby1zLTFdPWF9cmV0dXJuIGN9LE1hdGguY2x6MzI/by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbihlKXtyZXR1cm4gMzItTWF0aC5jbHozMihlKX06by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbihlKXt2YXIgdD1lLHI9MDtyZXR1cm4gdD49NDA5NiYmKHIrPTEzLHQ+Pj49MTMpLHQ+PTY0JiYocis9Nyx0Pj4+PTcpLHQ+PTgmJihyKz00LHQ+Pj49NCksdD49MiYmKHIrPTIsdD4+Pj0yKSxyK3R9LG8ucHJvdG90eXBlLl96ZXJvQml0cz1mdW5jdGlvbihlKXtpZigwPT09ZSlyZXR1cm4gMjY7dmFyIHQ9ZSxyPTA7cmV0dXJuIDA9PT0oODE5MSZ0KSYmKHIrPTEzLHQ+Pj49MTMpLDA9PT0oMTI3JnQpJiYocis9Nyx0Pj4+PTcpLDA9PT0oMTUmdCkmJihyKz00LHQ+Pj49NCksMD09PSgzJnQpJiYocis9Mix0Pj4+PTIpLDA9PT0oMSZ0KSYmcisrLHJ9LG8ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3ZhciBlPXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0sdD10aGlzLl9jb3VudEJpdHMoZSk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKSt0fSxvLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9yKHZhciBlPTAsdD0wO3Q8dGhpcy5sZW5ndGg7dCsrKXt2YXIgcj10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW3RdKTtpZihlKz1yLDI2IT09cilicmVha31yZXR1cm4gZX0sby5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX0sby5wcm90b3R5cGUudG9Ud29zPWZ1bmN0aW9uKGUpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKGUpLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudGVzdG4oZS0xKT90aGlzLm5vdG4oZSkuaWFkZG4oMSkuaW5lZygpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LG8ucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxvLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0aGlzfSxvLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKGUpe2Zvcig7dGhpcy5sZW5ndGg8ZS5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLndvcmRzW3RdPXRoaXMud29yZHNbdF18ZS53b3Jkc1t0XTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pb3I9ZnVuY3Rpb24oZSl7cmV0dXJuIG4oMD09PSh0aGlzLm5lZ2F0aXZlfGUubmVnYXRpdmUpKSx0aGlzLml1b3IoZSl9LG8ucHJvdG90eXBlLm9yPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxlbmd0aD5lLmxlbmd0aD90aGlzLmNsb25lKCkuaW9yKGUpOmUuY2xvbmUoKS5pb3IodGhpcyl9LG8ucHJvdG90eXBlLnVvcj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5sZW5ndGg+ZS5sZW5ndGg/dGhpcy5jbG9uZSgpLml1b3IoZSk6ZS5jbG9uZSgpLml1b3IodGhpcyl9LG8ucHJvdG90eXBlLml1YW5kPWZ1bmN0aW9uKGUpe3ZhciB0O3Q9dGhpcy5sZW5ndGg+ZS5sZW5ndGg/ZTp0aGlzO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXRoaXMud29yZHNbcl09dGhpcy53b3Jkc1tyXSZlLndvcmRzW3JdO3JldHVybiB0aGlzLmxlbmd0aD10Lmxlbmd0aCx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlhbmQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG4oMD09PSh0aGlzLm5lZ2F0aXZlfGUubmVnYXRpdmUpKSx0aGlzLml1YW5kKGUpfSxvLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYW5kKGUpOmUuY2xvbmUoKS5pYW5kKHRoaXMpfSxvLnByb3RvdHlwZS51YW5kPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxlbmd0aD5lLmxlbmd0aD90aGlzLmNsb25lKCkuaXVhbmQoZSk6ZS5jbG9uZSgpLml1YW5kKHRoaXMpfSxvLnByb3RvdHlwZS5pdXhvcj1mdW5jdGlvbihlKXt2YXIgdCxyO3RoaXMubGVuZ3RoPmUubGVuZ3RoPyh0PXRoaXMscj1lKToodD1lLHI9dGhpcyk7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT10LndvcmRzW25dXnIud29yZHNbbl07aWYodGhpcyE9PXQpZm9yKDtuPHQubGVuZ3RoO24rKyl0aGlzLndvcmRzW25dPXQud29yZHNbbl07cmV0dXJuIHRoaXMubGVuZ3RoPXQubGVuZ3RoLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaXhvcj1mdW5jdGlvbihlKXtyZXR1cm4gbigwPT09KHRoaXMubmVnYXRpdmV8ZS5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IoZSl9LG8ucHJvdG90eXBlLnhvcj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5sZW5ndGg+ZS5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IoZSk6ZS5jbG9uZSgpLml4b3IodGhpcyl9LG8ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcihlKTplLmNsb25lKCkuaXV4b3IodGhpcyl9LG8ucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKGUpe24oIm51bWJlciI9PT10eXBlb2YgZSYmZT49MCk7dmFyIHQ9MHxNYXRoLmNlaWwoZS8yNikscj1lJTI2O3RoaXMuX2V4cGFuZCh0KSxyPjAmJnQtLTtmb3IodmFyIGk9MDtpPHQ7aSsrKXRoaXMud29yZHNbaV09NjcxMDg4NjMmfnRoaXMud29yZHNbaV07cmV0dXJuIHI+MCYmKHRoaXMud29yZHNbaV09fnRoaXMud29yZHNbaV0mNjcxMDg4NjM+PjI2LXIpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUubm90bj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlub3RuKGUpfSxvLnByb3RvdHlwZS5zZXRuPWZ1bmN0aW9uKGUsdCl7bigibnVtYmVyIj09PXR5cGVvZiBlJiZlPj0wKTt2YXIgcj1lLzI2fDAsaT1lJTI2O3JldHVybiB0aGlzLl9leHBhbmQocisxKSx0aGlzLndvcmRzW3JdPXQ/dGhpcy53b3Jkc1tyXXwxPDxpOnRoaXMud29yZHNbcl0mfigxPDxpKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24oZSl7dmFyIHQscixuO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09ZS5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHQ9dGhpcy5pc3ViKGUpLHRoaXMubmVnYXRpdmVePTEsdGhpcy5fbm9ybVNpZ24oKTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PWUubmVnYXRpdmUpcmV0dXJuIGUubmVnYXRpdmU9MCx0PXRoaXMuaXN1YihlKSxlLm5lZ2F0aXZlPTEsdC5fbm9ybVNpZ24oKTt0aGlzLmxlbmd0aD5lLmxlbmd0aD8ocj10aGlzLG49ZSk6KHI9ZSxuPXRoaXMpO2Zvcih2YXIgaT0wLG89MDtvPG4ubGVuZ3RoO28rKyl0PSgwfHIud29yZHNbb10pKygwfG4ud29yZHNbb10pK2ksdGhpcy53b3Jkc1tvXT02NzEwODg2MyZ0LGk9dD4+PjI2O2Zvcig7MCE9PWkmJm88ci5sZW5ndGg7bysrKXQ9KDB8ci53b3Jkc1tvXSkraSx0aGlzLndvcmRzW29dPTY3MTA4ODYzJnQsaT10Pj4+MjY7aWYodGhpcy5sZW5ndGg9ci5sZW5ndGgsMCE9PWkpdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF09aSx0aGlzLmxlbmd0aCsrO2Vsc2UgaWYociE9PXRoaXMpZm9yKDtvPHIubGVuZ3RoO28rKyl0aGlzLndvcmRzW29dPXIud29yZHNbb107cmV0dXJuIHRoaXN9LG8ucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gMCE9PWUubmVnYXRpdmUmJjA9PT10aGlzLm5lZ2F0aXZlPyhlLm5lZ2F0aXZlPTAsdD10aGlzLnN1YihlKSxlLm5lZ2F0aXZlXj0xLHQpOjA9PT1lLm5lZ2F0aXZlJiYwIT09dGhpcy5uZWdhdGl2ZT8odGhpcy5uZWdhdGl2ZT0wLHQ9ZS5zdWIodGhpcyksdGhpcy5uZWdhdGl2ZT0xLHQpOnRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYWRkKGUpOmUuY2xvbmUoKS5pYWRkKHRoaXMpfSxvLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKGUpe2lmKDAhPT1lLm5lZ2F0aXZlKXtlLm5lZ2F0aXZlPTA7dmFyIHQ9dGhpcy5pYWRkKGUpO3JldHVybiBlLm5lZ2F0aXZlPTEsdC5fbm9ybVNpZ24oKX1pZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZChlKSx0aGlzLm5lZ2F0aXZlPTEsdGhpcy5fbm9ybVNpZ24oKTt2YXIgcixuLGk9dGhpcy5jbXAoZSk7aWYoMD09PWkpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmxlbmd0aD0xLHRoaXMud29yZHNbMF09MCx0aGlzO2k+MD8ocj10aGlzLG49ZSk6KHI9ZSxuPXRoaXMpO2Zvcih2YXIgbz0wLGE9MDthPG4ubGVuZ3RoO2ErKylvPSh0PSgwfHIud29yZHNbYV0pLSgwfG4ud29yZHNbYV0pK28pPj4yNix0aGlzLndvcmRzW2FdPTY3MTA4ODYzJnQ7Zm9yKDswIT09byYmYTxyLmxlbmd0aDthKyspbz0odD0oMHxyLndvcmRzW2FdKStvKT4+MjYsdGhpcy53b3Jkc1thXT02NzEwODg2MyZ0O2lmKDA9PT1vJiZhPHIubGVuZ3RoJiZyIT09dGhpcylmb3IoO2E8ci5sZW5ndGg7YSsrKXRoaXMud29yZHNbYV09ci53b3Jkc1thXTtyZXR1cm4gdGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgsYSksciE9PXRoaXMmJih0aGlzLm5lZ2F0aXZlPTEpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaXN1YihlKX07dmFyIHA9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuLGksbyxhPWUud29yZHMscz10LndvcmRzLHU9ci53b3JkcyxjPTAsZj0wfGFbMF0sbD04MTkxJmYsaD1mPj4+MTMscD0wfGFbMV0sZD04MTkxJnAseT1wPj4+MTMsZz0wfGFbMl0sdj04MTkxJmcsbT1nPj4+MTMsYj0wfGFbM10sXz04MTkxJmIsUz1iPj4+MTMsRT0wfGFbNF0sdz04MTkxJkUsVD1FPj4+MTMsQT0wfGFbNV0sQz04MTkxJkEseD1BPj4+MTMsST0wfGFbNl0saz04MTkxJkksTz1JPj4+MTMsTj0wfGFbN10sUD04MTkxJk4sUj1OPj4+MTMsQj0wfGFbOF0sTT04MTkxJkIsTD1CPj4+MTMsRD0wfGFbOV0saj04MTkxJkQsVT1EPj4+MTMsRj0wfHNbMF0sVj04MTkxJkYscT1GPj4+MTMsSz0wfHNbMV0sej04MTkxJkssRz1LPj4+MTMsSD0wfHNbMl0sVz04MTkxJkgsWT1IPj4+MTMsWD0wfHNbM10sUT04MTkxJlgsJD1YPj4+MTMsWj0wfHNbNF0sSj04MTkxJlosZWU9Wj4+PjEzLHRlPTB8c1s1XSxyZT04MTkxJnRlLG5lPXRlPj4+MTMsaWU9MHxzWzZdLG9lPTgxOTEmaWUsYWU9aWU+Pj4xMyxzZT0wfHNbN10sdWU9ODE5MSZzZSxjZT1zZT4+PjEzLGZlPTB8c1s4XSxsZT04MTkxJmZlLGhlPWZlPj4+MTMscGU9MHxzWzldLGRlPTgxOTEmcGUseWU9cGU+Pj4xMztyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZSxyLmxlbmd0aD0xOTt2YXIgZ2U9KGMrKG49TWF0aC5pbXVsKGwsVikpfDApKygoODE5MSYoaT0oaT1NYXRoLmltdWwobCxxKSkrTWF0aC5pbXVsKGgsVil8MCkpPDwxMyl8MDtjPSgobz1NYXRoLmltdWwoaCxxKSkrKGk+Pj4xMyl8MCkrKGdlPj4+MjYpfDAsZ2UmPTY3MTA4ODYzLG49TWF0aC5pbXVsKGQsViksaT0oaT1NYXRoLmltdWwoZCxxKSkrTWF0aC5pbXVsKHksVil8MCxvPU1hdGguaW11bCh5LHEpO3ZhciB2ZT0oYysobj1uK01hdGguaW11bChsLHopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChsLEcpfDApK01hdGguaW11bChoLHopfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoaCxHKXwwKSsoaT4+PjEzKXwwKSsodmU+Pj4yNil8MCx2ZSY9NjcxMDg4NjMsbj1NYXRoLmltdWwodixWKSxpPShpPU1hdGguaW11bCh2LHEpKStNYXRoLmltdWwobSxWKXwwLG89TWF0aC5pbXVsKG0scSksbj1uK01hdGguaW11bChkLHopfDAsaT0oaT1pK01hdGguaW11bChkLEcpfDApK01hdGguaW11bCh5LHopfDAsbz1vK01hdGguaW11bCh5LEcpfDA7dmFyIG1lPShjKyhuPW4rTWF0aC5pbXVsKGwsVyl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGwsWSl8MCkrTWF0aC5pbXVsKGgsVyl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChoLFkpfDApKyhpPj4+MTMpfDApKyhtZT4+PjI2KXwwLG1lJj02NzEwODg2MyxuPU1hdGguaW11bChfLFYpLGk9KGk9TWF0aC5pbXVsKF8scSkpK01hdGguaW11bChTLFYpfDAsbz1NYXRoLmltdWwoUyxxKSxuPW4rTWF0aC5pbXVsKHYseil8MCxpPShpPWkrTWF0aC5pbXVsKHYsRyl8MCkrTWF0aC5pbXVsKG0seil8MCxvPW8rTWF0aC5pbXVsKG0sRyl8MCxuPW4rTWF0aC5pbXVsKGQsVyl8MCxpPShpPWkrTWF0aC5pbXVsKGQsWSl8MCkrTWF0aC5pbXVsKHksVyl8MCxvPW8rTWF0aC5pbXVsKHksWSl8MDt2YXIgYmU9KGMrKG49bitNYXRoLmltdWwobCxRKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwobCwkKXwwKStNYXRoLmltdWwoaCxRKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGgsJCl8MCkrKGk+Pj4xMyl8MCkrKGJlPj4+MjYpfDAsYmUmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHcsViksaT0oaT1NYXRoLmltdWwodyxxKSkrTWF0aC5pbXVsKFQsVil8MCxvPU1hdGguaW11bChULHEpLG49bitNYXRoLmltdWwoXyx6KXwwLGk9KGk9aStNYXRoLmltdWwoXyxHKXwwKStNYXRoLmltdWwoUyx6KXwwLG89bytNYXRoLmltdWwoUyxHKXwwLG49bitNYXRoLmltdWwodixXKXwwLGk9KGk9aStNYXRoLmltdWwodixZKXwwKStNYXRoLmltdWwobSxXKXwwLG89bytNYXRoLmltdWwobSxZKXwwLG49bitNYXRoLmltdWwoZCxRKXwwLGk9KGk9aStNYXRoLmltdWwoZCwkKXwwKStNYXRoLmltdWwoeSxRKXwwLG89bytNYXRoLmltdWwoeSwkKXwwO3ZhciBfZT0oYysobj1uK01hdGguaW11bChsLEopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChsLGVlKXwwKStNYXRoLmltdWwoaCxKKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGgsZWUpfDApKyhpPj4+MTMpfDApKyhfZT4+PjI2KXwwLF9lJj02NzEwODg2MyxuPU1hdGguaW11bChDLFYpLGk9KGk9TWF0aC5pbXVsKEMscSkpK01hdGguaW11bCh4LFYpfDAsbz1NYXRoLmltdWwoeCxxKSxuPW4rTWF0aC5pbXVsKHcseil8MCxpPShpPWkrTWF0aC5pbXVsKHcsRyl8MCkrTWF0aC5pbXVsKFQseil8MCxvPW8rTWF0aC5pbXVsKFQsRyl8MCxuPW4rTWF0aC5pbXVsKF8sVyl8MCxpPShpPWkrTWF0aC5pbXVsKF8sWSl8MCkrTWF0aC5pbXVsKFMsVyl8MCxvPW8rTWF0aC5pbXVsKFMsWSl8MCxuPW4rTWF0aC5pbXVsKHYsUSl8MCxpPShpPWkrTWF0aC5pbXVsKHYsJCl8MCkrTWF0aC5pbXVsKG0sUSl8MCxvPW8rTWF0aC5pbXVsKG0sJCl8MCxuPW4rTWF0aC5pbXVsKGQsSil8MCxpPShpPWkrTWF0aC5pbXVsKGQsZWUpfDApK01hdGguaW11bCh5LEopfDAsbz1vK01hdGguaW11bCh5LGVlKXwwO3ZhciBTZT0oYysobj1uK01hdGguaW11bChsLHJlKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwobCxuZSl8MCkrTWF0aC5pbXVsKGgscmUpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoaCxuZSl8MCkrKGk+Pj4xMyl8MCkrKFNlPj4+MjYpfDAsU2UmPTY3MTA4ODYzLG49TWF0aC5pbXVsKGssViksaT0oaT1NYXRoLmltdWwoayxxKSkrTWF0aC5pbXVsKE8sVil8MCxvPU1hdGguaW11bChPLHEpLG49bitNYXRoLmltdWwoQyx6KXwwLGk9KGk9aStNYXRoLmltdWwoQyxHKXwwKStNYXRoLmltdWwoeCx6KXwwLG89bytNYXRoLmltdWwoeCxHKXwwLG49bitNYXRoLmltdWwodyxXKXwwLGk9KGk9aStNYXRoLmltdWwodyxZKXwwKStNYXRoLmltdWwoVCxXKXwwLG89bytNYXRoLmltdWwoVCxZKXwwLG49bitNYXRoLmltdWwoXyxRKXwwLGk9KGk9aStNYXRoLmltdWwoXywkKXwwKStNYXRoLmltdWwoUyxRKXwwLG89bytNYXRoLmltdWwoUywkKXwwLG49bitNYXRoLmltdWwodixKKXwwLGk9KGk9aStNYXRoLmltdWwodixlZSl8MCkrTWF0aC5pbXVsKG0sSil8MCxvPW8rTWF0aC5pbXVsKG0sZWUpfDAsbj1uK01hdGguaW11bChkLHJlKXwwLGk9KGk9aStNYXRoLmltdWwoZCxuZSl8MCkrTWF0aC5pbXVsKHkscmUpfDAsbz1vK01hdGguaW11bCh5LG5lKXwwO3ZhciBFZT0oYysobj1uK01hdGguaW11bChsLG9lKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwobCxhZSl8MCkrTWF0aC5pbXVsKGgsb2UpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoaCxhZSl8MCk=",
"2020.03.29 15:15": "base64:LHQscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgaT1yLTEsbz0xO2Zvcih0aGlzW3QraV09MjU1JmU7LS1pPj0wJiYobyo9MjU2KTspdGhpc1t0K2ldPWUvbyYyNTU7cmV0dXJuIHQrcn0sdS5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxQKHRoaXMsZSx0LDEsMjU1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVHx8KGU9TWF0aC5mbG9vcihlKSksdGhpc1t0XT0yNTUmZSx0KzF9LHUucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8UCh0aGlzLGUsdCwyLDY1NTM1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgpOlIodGhpcyxlLHQsITApLHQrMn0sdS5wcm90b3R5cGUud3JpdGVVSW50MTZCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxQKHRoaXMsZSx0LDIsNjU1MzUsMCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW3RdPWU+Pj44LHRoaXNbdCsxXT0yNTUmZSk6Uih0aGlzLGUsdCwhMSksdCsyfSx1LnByb3RvdHlwZS53cml0ZVVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsNCw0Mjk0OTY3Mjk1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0KzNdPWU+Pj4yNCx0aGlzW3QrMl09ZT4+PjE2LHRoaXNbdCsxXT1lPj4+OCx0aGlzW3RdPTI1NSZlKTpCKHRoaXMsZSx0LCEwKSx0KzR9LHUucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8UCh0aGlzLGUsdCw0LDQyOTQ5NjcyOTUsMCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW3RdPWU+Pj4yNCx0aGlzW3QrMV09ZT4+PjE2LHRoaXNbdCsyXT1lPj4+OCx0aGlzW3QrM109MjU1JmUpOkIodGhpcyxlLHQsITEpLHQrNH0sdS5wcm90b3R5cGUud3JpdGVJbnRMRT1mdW5jdGlvbihlLHQscixuKXtpZihlPStlLHR8PTAsIW4pe3ZhciBpPU1hdGgucG93KDIsOCpyLTEpO1AodGhpcyxlLHQscixpLTEsLWkpfXZhciBvPTAsYT0xLHM9MDtmb3IodGhpc1t0XT0yNTUmZTsrK288ciYmKGEqPTI1Nik7KWU8MCYmMD09PXMmJjAhPT10aGlzW3Qrby0xXSYmKHM9MSksdGhpc1t0K29dPShlL2E+PjApLXMmMjU1O3JldHVybiB0K3J9LHUucHJvdG90eXBlLndyaXRlSW50QkU9ZnVuY3Rpb24oZSx0LHIsbil7aWYoZT0rZSx0fD0wLCFuKXt2YXIgaT1NYXRoLnBvdygyLDgqci0xKTtQKHRoaXMsZSx0LHIsaS0xLC1pKX12YXIgbz1yLTEsYT0xLHM9MDtmb3IodGhpc1t0K29dPTI1NSZlOy0tbz49MCYmKGEqPTI1Nik7KWU8MCYmMD09PXMmJjAhPT10aGlzW3QrbysxXSYmKHM9MSksdGhpc1t0K29dPShlL2E+PjApLXMmMjU1O3JldHVybiB0K3J9LHUucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxQKHRoaXMsZSx0LDEsMTI3LC0xMjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVHx8KGU9TWF0aC5mbG9vcihlKSksZTwwJiYoZT0yNTUrZSsxKSx0aGlzW3RdPTI1NSZlLHQrMX0sdS5wcm90b3R5cGUud3JpdGVJbnQxNkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgpOlIodGhpcyxlLHQsITApLHQrMn0sdS5wcm90b3R5cGUud3JpdGVJbnQxNkJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+OCx0aGlzW3QrMV09MjU1JmUpOlIodGhpcyxlLHQsITEpLHQrMn0sdS5wcm90b3R5cGUud3JpdGVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fFAodGhpcyxlLHQsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHRoaXNbdCsyXT1lPj4+MTYsdGhpc1t0KzNdPWU+Pj4yNCk6Qih0aGlzLGUsdCwhMCksdCs0fSx1LnByb3RvdHlwZS53cml0ZUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8UCh0aGlzLGUsdCw0LDIxNDc0ODM2NDcsLTIxNDc0ODM2NDgpLGU8MCYmKGU9NDI5NDk2NzI5NStlKzEpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlKTpCKHRoaXMsZSx0LCExKSx0KzR9LHUucHJvdG90eXBlLndyaXRlRmxvYXRMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwodGhpcyxlLHQsITAscil9LHUucHJvdG90eXBlLndyaXRlRmxvYXRCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwodGhpcyxlLHQsITEscil9LHUucHJvdG90eXBlLndyaXRlRG91YmxlTEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBEKHRoaXMsZSx0LCEwLHIpfSx1LnByb3RvdHlwZS53cml0ZURvdWJsZUJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gRCh0aGlzLGUsdCwhMSxyKX0sdS5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlLHQscixuKXtpZihyfHwocj0wKSxufHwwPT09bnx8KG49dGhpcy5sZW5ndGgpLHQ+PWUubGVuZ3RoJiYodD1lLmxlbmd0aCksdHx8KHQ9MCksbj4wJiZuPHImJihuPXIpLG49PT1yKXJldHVybiAwO2lmKDA9PT1lLmxlbmd0aHx8MD09PXRoaXMubGVuZ3RoKXJldHVybiAwO2lmKHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigidGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kcyIpO2lmKHI8MHx8cj49dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZVN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihuPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZUVuZCBvdXQgb2YgYm91bmRzIik7bj50aGlzLmxlbmd0aCYmKG49dGhpcy5sZW5ndGgpLGUubGVuZ3RoLXQ8bi1yJiYobj1lLmxlbmd0aC10K3IpO3ZhciBpLG89bi1yO2lmKHRoaXM9PT1lJiZyPHQmJnQ8bilmb3IoaT1vLTE7aT49MDstLWkpZVtpK3RdPXRoaXNbaStyXTtlbHNlIGlmKG88MWUzfHwhdS5UWVBFRF9BUlJBWV9TVVBQT1JUKWZvcihpPTA7aTxvOysraSllW2krdF09dGhpc1tpK3JdO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoZSx0aGlzLnN1YmFycmF5KHIscitvKSx0KTtyZXR1cm4gb30sdS5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbihlLHQscixuKXtpZigic3RyaW5nIj09PXR5cGVvZiBlKXtpZigic3RyaW5nIj09PXR5cGVvZiB0PyhuPXQsdD0wLHI9dGhpcy5sZW5ndGgpOiJzdHJpbmciPT09dHlwZW9mIHImJihuPXIscj10aGlzLmxlbmd0aCksMT09PWUubGVuZ3RoKXt2YXIgaT1lLmNoYXJDb2RlQXQoMCk7aTwyNTYmJihlPWkpfWlmKHZvaWQgMCE9PW4mJiJzdHJpbmciIT09dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZyIpO2lmKCJzdHJpbmciPT09dHlwZW9mIG4mJiF1LmlzRW5jb2RpbmcobikpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIituKX1lbHNlIm51bWJlciI9PT10eXBlb2YgZSYmKGUmPTI1NSk7aWYodDwwfHx0aGlzLmxlbmd0aDx0fHx0aGlzLmxlbmd0aDxyKXRocm93IG5ldyBSYW5nZUVycm9yKCJPdXQgb2YgcmFuZ2UgaW5kZXgiKTtpZihyPD10KXJldHVybiB0aGlzO3ZhciBvO2lmKHQ+Pj49MCxyPXZvaWQgMD09PXI/dGhpcy5sZW5ndGg6cj4+PjAsZXx8KGU9MCksIm51bWJlciI9PT10eXBlb2YgZSlmb3Iobz10O288cjsrK28pdGhpc1tvXT1lO2Vsc2V7dmFyIGE9dS5pc0J1ZmZlcihlKT9lOkYobmV3IHUoZSxuKS50b1N0cmluZygpKSxzPWEubGVuZ3RoO2ZvcihvPTA7bzxyLXQ7KytvKXRoaXNbbyt0XT1hW28lc119cmV0dXJuIHRoaXN9O3ZhciBqPS9bXitcLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIFUoZSl7cmV0dXJuIGU8MTY/IjAiK2UudG9TdHJpbmcoMTYpOmUudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEYoZSx0KXt2YXIgcjt0PXR8fDEvMDtmb3IodmFyIG49ZS5sZW5ndGgsaT1udWxsLG89W10sYT0wO2E8bjsrK2Epe2lmKChyPWUuY2hhckNvZGVBdChhKSk+NTUyOTUmJnI8NTczNDQpe2lmKCFpKXtpZihyPjU2MzE5KXsodC09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYoYSsxPT09bil7KHQtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWk9cjtjb250aW51ZX1pZihyPDU2MzIwKXsodC09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSksaT1yO2NvbnRpbnVlfXI9NjU1MzYrKGktNTUyOTY8PDEwfHItNTYzMjApfWVsc2UgaSYmKHQtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2lmKGk9bnVsbCxyPDEyOCl7aWYoKHQtPTEpPDApYnJlYWs7by5wdXNoKHIpfWVsc2UgaWYocjwyMDQ4KXtpZigodC09Mik8MClicmVhaztvLnB1c2gocj4+NnwxOTIsNjMmcnwxMjgpfWVsc2UgaWYocjw2NTUzNil7aWYoKHQtPTMpPDApYnJlYWs7by5wdXNoKHI+PjEyfDIyNCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9ZWxzZXtpZighKHI8MTExNDExMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvZGUgcG9pbnQiKTtpZigodC09NCk8MClicmVhaztvLnB1c2gocj4+MTh8MjQwLHI+PjEyJjYzfDEyOCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9fXJldHVybiBvfWZ1bmN0aW9uIFYoZSl7cmV0dXJuIG4udG9CeXRlQXJyYXkoZnVuY3Rpb24oZSl7aWYoKGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJpbT9lLnRyaW0oKTplLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0oZSkucmVwbGFjZShqLCIiKSkubGVuZ3RoPDIpcmV0dXJuIiI7Zm9yKDtlLmxlbmd0aCU0IT09MDspZSs9Ij0iO3JldHVybiBlfShlKSl9ZnVuY3Rpb24gcShlLHQscixuKXtmb3IodmFyIGk9MDtpPG4mJiEoaStyPj10Lmxlbmd0aHx8aT49ZS5sZW5ndGgpOysraSl0W2krcl09ZVtpXTtyZXR1cm4gaX19KS5jYWxsKHRoaXMscigzNCkpfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDEzOCksaT1yKDIzMSksbz1yKDY0NyksYT1yKDY0OCk7dC5qc29uPWE7dmFyIHM9cigxMzkpO3Quc2VyaWFsaXplUHJpbWl0aXZlcz1zO3ZhciB1PXIoMjMwKTt0LnBhcnNlUHJpbWl0aXZlcz11O3ZhciBjPXIoMTM4KTt0LnNjaGVtYXM9Yzt2YXIgZj17c2VyaWFsaXplckZyb21TY2hlbWE6aS5zZXJpYWxpemVyRnJvbVNjaGVtYSxzZXJpYWxpemVUeDppLnNlcmlhbGl6ZVR4LHNlcmlhbGl6ZU9yZGVyOmkuc2VyaWFsaXplT3JkZXIscGFyc2VyRnJvbVNjaGVtYTpvLnBhcnNlckZyb21TY2hlbWEscGFyc2VUeDpvLnBhcnNlVHgscGFyc2VPcmRlcjpvLnBhcnNlT3JkZXJ9O2Z1bmN0aW9uIGwoZSx0LHIsbil7dmFyIGE9aS5zZXJpYWxpemVyRnJvbVNjaGVtYSh0LG4pLHM9by5wYXJzZXJGcm9tU2NoZW1hKHQscikoYShlKSkudmFsdWU7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sZSxzKX10LmJpbmFyeT1mLHQuY29udmVydExvbmdGaWVsZHM9bCx0LmNvbnZlcnRUeExvbmdGaWVsZHM9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPWUudHlwZSxvPWUudmVyc2lvbjtyZXR1cm4gbChlLG4uZ2V0VHJhbnNhY3Rpb25TY2hlbWEoaSxvKSx0LHIpfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9cigzMDUpLG89cigzMDcpO3Quc2VlZFdvcmRzTGlzdD1vLnNlZWRXb3Jkc0xpc3Q7dmFyIGE9cigzNjApO3QuQ2hhaWRJZD1hLkNoYWlkSWQ7dmFyIHM9cigzNTkpO3QuU2VlZD1zLlNlZWQ7dmFyIHU9cigyMjgpO3QuaXNQcml2YXRlS2V5PXUuaXNQcml2YXRlS2V5LHQuaXNQdWJsaWNLZXk9dS5pc1B1YmxpY0tleTt2YXIgYz1yKDMwNSk7dC5jcnlwdG89Yy5jcnlwdG8sZnVuY3Rpb24oZSl7Zm9yKHZhciByIGluIGUpdC5oYXNPd25Qcm9wZXJ0eShyKXx8KHRbcl09ZVtyXSl9KHIoMTM3KSksdC5zaWduQnl0ZXM9KG49aS5jcnlwdG8oe291dHB1dDoiQmFzZTU4In0pKS5zaWduQnl0ZXMsdC5rZXlQYWlyPW4ua2V5UGFpcix0LnB1YmxpY0tleT1uLnB1YmxpY0tleSx0LnByaXZhdGVLZXk9bi5wcml2YXRlS2V5LHQuYWRkcmVzcz1uLmFkZHJlc3MsdC5ibGFrZTJiPW4uYmxha2UyYix0LmtlY2Nhaz1uLmtlY2Nhayx0LnNoYTI1Nj1uLnNoYTI1Nix0LnNoYXJlZEtleT1uLnNoYXJlZEtleSx0LnNlZWRXaXRoTm9uY2U9bi5zZWVkV2l0aE5vbmNlLHQuYmFzZTY0RW5jb2RlPW4uYmFzZTY0RW5jb2RlLHQuYmFzZTY0RGVjb2RlPW4uYmFzZTY0RGVjb2RlLHQuYmFzZTU4RW5jb2RlPW4uYmFzZTU4RW5jb2RlLHQuYmFzZTU4RGVjb2RlPW4uYmFzZTU4RGVjb2RlLHQuYmFzZTE2RW5jb2RlPW4uYmFzZTE2RW5jb2RlLHQuYmFzZTE2RGVjb2RlPW4uYmFzZTE2RGVjb2RlLHQuc3RyaW5nVG9CeXRlcz1uLnN0cmluZ1RvQnl0ZXMsdC5ieXRlc1RvU3RyaW5nPW4uYnl0ZXNUb1N0cmluZyx0LnJhbmRvbT1uLnJhbmRvbSx0LnJhbmRvbVNlZWQ9bi5yYW5kb21TZWVkLHQucmFuZG9tQnl0ZXM9bi5yYW5kb21CeXRlcyx0LnZlcmlmeVNpZ25hdHVyZT1uLnZlcmlmeVNpZ25hdHVyZSx0LnZlcmlmeVB1YmxpY0tleT1uLnZlcmlmeVB1YmxpY0tleSx0LnZlcmlmeUFkZHJlc3M9bi52ZXJpZnlBZGRyZXNzLHQubWVzc2FnZURlY3J5cHQ9bi5tZXNzYWdlRGVjcnlwdCx0Lm1lc3NhZ2VFbmNyeXB0PW4ubWVzc2FnZUVuY3J5cHQsdC5lbmNyeXB0U2VlZD1uLmVuY3J5cHRTZWVkLHQuZGVjcnlwdFNlZWQ9bi5kZWNyeXB0U2VlZCx0LnJzYUtleVBhaXI9bi5yc2FLZXlQYWlyLHQucnNhS2V5UGFpclN5bmM9bi5yc2FLZXlQYWlyU3luYyx0LnJzYVNpZ249bi5yc2FTaWduLHQucnNhVmVyaWZ5PW4ucnNhVmVyaWZ5LHQuYWVzRGVjcnlwdD1uLmFlc0RlY3J5cHQsdC5hZXNFbmNyeXB0PW4uYWVzRW5jcnlwdCx0LnNwbGl0PW4uc3BsaXQsdC5jb25jYXQ9bi5jb25jYXR9LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDE3OCkoIndrcyIpLGk9cig5NCksbz1yKDE3KS5TeW1ib2wsYT0iZnVuY3Rpb24iPT10eXBlb2YgbzsoZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBuW2VdfHwobltlXT1hJiZvW2VdfHwoYT9vOmkpKCJTeW1ib2wuIitlKSl9KS5zdG9yZT1ufSxmdW5jdGlvbihlLHQscil7dmFyIG49cig1NDIpLGk9cig1NDMpLG89cig1NDQpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiBuKGUpfHxpKGUsdCl8fG8oKX19LGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yKDYwKSxpPU1hdGgubWluO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gZT4wP2kobihlKSw5MDA3MTk5MjU0NzQwOTkxKTowfX0sZnVuY3Rpb24oZSx0LHIpeyhmdW5jdGlvbihlKXshZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe2lmKCFlKXRocm93IG5ldyBFcnJvcih0fHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWZ1bmN0aW9uIGkoZSx0KXtlLnN1cGVyXz10O3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgcixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfWZ1bmN0aW9uIG8oZSx0LHIpe2lmKG8uaXNCTihlKSlyZXR1cm4gZTt0aGlzLm5lZ2F0aXZlPTAsdGhpcy53b3Jkcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5yZWQ9bnVsbCxudWxsIT09ZSYmKCJsZSIhPT10JiYiYmUiIT09dHx8KHI9dCx0PTEwKSx0aGlzLl9pbml0KGV8fDAsdHx8MTAscnx8ImJlIikpfXZhciBhOyJvYmplY3QiPT09dHlwZW9mIGU/ZS5leHBvcnRzPW86dC5CTj1vLG8uQk49byxvLndvcmRTaXplPTI2O3RyeXthPXIoNTg1KS5CdWZmZXJ9Y2F0Y2goVCl7fWZ1bmN0aW9uIHMoZSx0LHIpe2Zvcih2YXIgbj0wLGk9TWF0aC5taW4oZS5sZW5ndGgsciksbz10O288aTtvKyspe3ZhciBhPWUuY2hhckNvZGVBdChvKS00ODtuPDw9NCxufD1hPj00OSYmYTw9NTQ/YS00OSsxMDphPj0xNyYmYTw9MjI/YS0xNysxMDoxNSZhfXJldHVybiBufWZ1bmN0aW9uIHUoZSx0LHIsbil7Zm9yKHZhciBpPTAsbz1NYXRoLm1pbihlLmxlbmd0aCxyKSxhPXQ7YTxvO2ErKyl7dmFyIHM9ZS5jaGFyQ29kZUF0KGEpLTQ4O2kqPW4saSs9cz49NDk/cy00OSsxMDpzPj0xNz9zLTE3KzEwOnN9cmV0dXJuIGl9by5pc0JOPWZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2Ygb3x8bnVsbCE9PWUmJiJvYmplY3QiPT09dHlwZW9mIGUmJmUuY29uc3RydWN0b3Iud29yZFNpemU9PT1vLndvcmRTaXplJiZBcnJheS5pc0FycmF5KGUud29yZHMpfSxvLm1heD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmNtcCh0KT4wP2U6dH0sby5taW49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jbXAodCk8MD9lOnR9LG8ucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKGUsdCxyKXtpZigibnVtYmVyIj09PXR5cGVvZiBlKXJldHVybiB0aGlzLl9pbml0TnVtYmVyKGUsdCxyKTtpZigib2JqZWN0Ij09PXR5cGVvZiBlKXJldHVybiB0aGlzLl9pbml0QXJyYXkoZSx0LHIpOyJoZXgiPT09dCYmKHQ9MTYpLG4odD09PSgwfHQpJiZ0Pj0yJiZ0PD0zNik7dmFyIGk9MDsiLSI9PT0oZT1lLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpKVswXSYmaSsrLDE2PT09dD90aGlzLl9wYXJzZUhleChlLGkpOnRoaXMuX3BhcnNlQmFzZShlLHQsaSksIi0iPT09ZVswXSYmKHRoaXMubmVnYXRpdmU9MSksdGhpcy5zdHJpcCgpLCJsZSI9PT1yJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksdCxyKX0sby5wcm90b3R5cGUuX2luaXROdW1iZXI9ZnVuY3Rpb24oZSx0LHIpe2U8MCYmKHRoaXMubmVnYXRpdmU9MSxlPS1lKSxlPDY3MTA4ODY0Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZlXSx0aGlzLmxlbmd0aD0xKTplPDQ1MDM1OTk2MjczNzA0OTY/KHRoaXMud29yZHM9WzY3MTA4ODYzJmUsZS82NzEwODg2NCY2NzEwODg2M10sdGhpcy5sZW5ndGg9Mik6KG4oZTw5MDA3MTk5MjU0NzQwOTkyKSx0aGlzLndvcmRzPVs2NzEwODg2MyZlLGUvNjcxMDg4NjQmNjcxMDg4NjMsMV0sdGhpcy5sZW5ndGg9MyksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSx0LHIpfSxvLnByb3RvdHlwZS5faW5pdEFycmF5PWZ1bmN0aW9uKGUsdCxyKXtpZihuKCJudW1iZXIiPT09dHlwZW9mIGUubGVuZ3RoKSxlLmxlbmd0aDw9MClyZXR1cm4gdGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MSx0aGlzO3RoaXMubGVuZ3RoPU1hdGguY2VpbChlLmxlbmd0aC8zKSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspdGhpcy53b3Jkc1tpXT0wO3ZhciBvLGEscz0wO2lmKCJiZSI9PT1yKWZvcihpPWUubGVuZ3RoLTEsbz0wO2k+PTA7aS09MylhPWVbaV18ZVtpLTFdPDw4fGVbaS0yXTw8MTYsdGhpcy53b3Jkc1tvXXw9YTw8cyY2NzEwODg2Myx0aGlzLndvcmRzW28rMV09YT4+PjI2LXMmNjcxMDg4NjMsKHMrPTI0KT49MjYmJihzLT0yNixvKyspO2Vsc2UgaWYoImxlIj09PXIpZm9yKGk9MCxvPTA7aTxlLmxlbmd0aDtpKz0zKWE9ZVtpXXxlW2krMV08PDh8ZVtpKzJdPDwxNix0aGlzLndvcmRzW29dfD1hPDxzJjY3MTA4ODYzLHRoaXMud29yZHNbbysxXT1hPj4+MjYtcyY2NzEwODg2Mywocys9MjQpPj0yNiYmKHMtPTI2LG8rKyk7cmV0dXJuIHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuX3BhcnNlSGV4PWZ1bmN0aW9uKGUsdCl7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKChlLmxlbmd0aC10KS82KSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciByPTA7cjx0aGlzLmxlbmd0aDtyKyspdGhpcy53b3Jkc1tyXT0wO3ZhciBuLGksbz0wO2ZvcihyPWUubGVuZ3RoLTYsbj0wO3I+PXQ7ci09NilpPXMoZSxyLHIrNiksdGhpcy53b3Jkc1tuXXw9aTw8byY2NzEwODg2Myx0aGlzLndvcmRzW24rMV18PWk+Pj4yNi1vJjQxOTQzMDMsKG8rPTI0KT49MjYmJihvLT0yNixuKyspO3IrNiE9PXQmJihpPXMoZSx0LHIrNiksdGhpcy53b3Jkc1tuXXw9aTw8byY2NzEwODg2Myx0aGlzLndvcmRzW24rMV18PWk+Pj4yNi1vJjQxOTQzMDMpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuX3BhcnNlQmFzZT1mdW5jdGlvbihlLHQscil7dGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MTtmb3IodmFyIG49MCxpPTE7aTw9NjcxMDg4NjM7aSo9dCluKys7bi0tLGk9aS90fDA7Zm9yKHZhciBvPWUubGVuZ3RoLXIsYT1vJW4scz1NYXRoLm1pbihvLG8tYSkrcixjPTAsZj1yO2Y8cztmKz1uKWM9dShlLGYsZituLHQpLHRoaXMuaW11bG4oaSksdGhpcy53b3Jkc1swXStjPDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPWM6dGhpcy5faWFkZG4oYyk7aWYoMCE9PWEpe3ZhciBsPTE7Zm9yKGM9dShlLGYsZS5sZW5ndGgsdCksZj0wO2Y8YTtmKyspbCo9dDt0aGlzLmltdWxuKGwpLHRoaXMud29yZHNbMF0rYzw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1jOnRoaXMuX2lhZGRuKGMpfX0sby5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtlLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciB0PTA7dDx0aGlzLmxlbmd0aDt0KyspZS53b3Jkc1t0XT10aGlzLndvcmRzW3RdO2UubGVuZ3RoPXRoaXMubGVuZ3RoLGUubmVnYXRpdmU9dGhpcy5uZWdhdGl2ZSxlLnJlZD10aGlzLnJlZH0sby5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgZT1uZXcgbyhudWxsKTtyZXR1cm4gdGhpcy5jb3B5KGUpLGV9LG8ucHJvdG90eXBlLl9leHBhbmQ9ZnVuY3Rpb24oZSl7Zm9yKDt0aGlzLmxlbmd0aDxlOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7cmV0dXJuIHRoaXN9LG8ucHJvdG90eXBlLnN0cmlwPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmxlbmd0aD4xJiYwPT09dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXTspdGhpcy5sZW5ndGgtLTtyZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX0sby5wcm90b3R5cGUuX25vcm1TaWduPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMud29yZHNbMF0mJih0aGlzLm5lZ2F0aXZlPTApLHRoaXN9LG8ucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yZWQ/IjxCTi1SOiAiOiI8Qk46ICIpK3RoaXMudG9TdHJpbmcoMTYpKyI+In07dmFyIGM9WyIiLCIwIiwiMDAiLCIwMDAiLCIwMDAwIiwiMDAwMDAiLCIwMDAwMDAiLCIwMDAwMDAwIiwiMDAwMDAwMDAiLCIwMDAwMDAwMDAiLCIwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIl0sZj1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XSxsPVswLDAsMzM1NTQ0MzIsNDMwNDY3MjEsMTY3NzcyMTYsNDg4MjgxMjUsNjA0NjYxNzYsNDAzNTM2MDcsMTY3NzcyMTYsNDMwNDY3MjEsMWU3LDE5NDg3MTcxLDM1ODMxODA4LDYyNzQ4NTE3LDc1Mjk1MzYsMTEzOTA2MjUsMTY3NzcyMTYsMjQxMzc1NjksMzQwMTIyMjQsNDcwNDU4ODEsNjRlNiw0MDg0MTAxLDUxNTM2MzIsNjQzNjM0Myw3OTYyNjI0LDk3NjU2MjUsMTE4ODEzNzYsMTQzNDg5MDcsMTcyMTAzNjgsMjA1MTExNDksMjQzZTUsMjg2MjkxNTEsMzM1NTQ0MzIsMzkxMzUzOTMsNDU0MzU0MjQsNTI1MjE4NzUsNjA0NjYxNzZdO2Z1bmN0aW9uIGgoZSx0LHIpe3IubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlO3ZhciBuPWUubGVuZ3RoK3QubGVuZ3RofDA7ci5sZW5ndGg9bixuPW4tMXwwO3ZhciBpPTB8ZS53b3Jkc1swXSxvPTB8dC53b3Jkc1swXSxhPWkqbyxzPTY3MTA4ODYzJmEsdT1hLzY3MTA4ODY0fDA7ci53b3Jkc1swXT1zO2Zvcih2YXIgYz0xO2M8bjtjKyspe2Zvcih2YXIgZj11Pj4+MjYsbD02NzEwODg2MyZ1LGg9TWF0aC5taW4oYyx0Lmxlbmd0aC0xKSxwPU1hdGgubWF4KDAsYy1lLmxlbmd0aCsxKTtwPD1oO3ArKyl7dmFyIGQ9Yy1wfDA7Zis9KGE9KGk9MHxlLndvcmRzW2RdKSoobz0wfHQud29yZHNbcF0pK2wpLzY3MTA4ODY0fDAsbD02NzEwODg2MyZhfXIud29yZHNbY109MHxsLHU9MHxmfXJldHVybiAwIT09dT9yLndvcmRzW2NdPTB8dTpyLmxlbmd0aC0tLHIuc3RyaXAoKX1vLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbihlLHQpe3ZhciByO2lmKHQ9MHx0fHwxLDE2PT09KGU9ZXx8MTApfHwiaGV4Ij09PWUpe3I9IiI7Zm9yKHZhciBpPTAsbz0wLGE9MDthPHRoaXMubGVuZ3RoO2ErKyl7dmFyIHM9dGhpcy53b3Jkc1thXSx1PSgxNjc3NzIxNSYoczw8aXxvKSkudG9TdHJpbmcoMTYpO3I9MCE9PShvPXM+Pj4yNC1pJjE2Nzc3MjE1KXx8YSE9PXRoaXMubGVuZ3RoLTE/Y1s2LXUubGVuZ3RoXSt1K3I6dStyLChpKz0yKT49MjYmJihpLT0yNixhLS0pfWZvcigwIT09byYmKHI9by50b1N0cmluZygxNikrcik7ci5sZW5ndGgldCE9PTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1pZihlPT09KDB8ZSkmJmU+PTImJmU8PTM2KXt2YXIgaD1mW2VdLHA9bFtlXTtyPSIiO3ZhciBkPXRoaXMuY2xvbmUoKTtmb3IoZC5uZWdhdGl2ZT0wOyFkLmlzWmVybygpOyl7dmFyIHk9ZC5tb2RuKHApLnRvU3RyaW5nKGUpO3I9KGQ9ZC5pZGl2bihwKSkuaXNaZXJvKCk/eStyOmNbaC15Lmxlbmd0aF0reStyfWZvcih0aGlzLmlzWmVybygpJiYocj0iMCIrcik7ci5sZW5ndGgldCE9PTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1uKCExLCJCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Iil9LG8ucHJvdG90eXBlLnRvTnVtYmVyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy53b3Jkc1swXTtyZXR1cm4gMj09PXRoaXMubGVuZ3RoP2UrPTY3MTA4ODY0KnRoaXMud29yZHNbMV06Mz09PXRoaXMubGVuZ3RoJiYxPT09dGhpcy53b3Jkc1syXT9lKz00NTAzNTk5NjI3MzcwNDk2KzY3MTA4ODY0KnRoaXMud29yZHNbMV06dGhpcy5sZW5ndGg+MiYmbighMSwiTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzIiksMCE9PXRoaXMubmVnYXRpdmU/LWU6ZX0sby5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpfSxvLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbihlLHQpe3JldHVybiBuKCJ1bmRlZmluZWQiIT09dHlwZW9mIGEpLHRoaXMudG9BcnJheUxpa2UoYSxlLHQpfSxvLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksZSx0KX0sby5wcm90b3R5cGUudG9BcnJheUxpa2U9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXRoaXMuYnl0ZUxlbmd0aCgpLG89cnx8TWF0aC5tYXgoMSxpKTtuKGk8PW8sImJ5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgiKSxuKG8+MCwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwIiksdGhpcy5zdHJpcCgpO3ZhciBhLHMsdT0ibGUiPT09dCxjPW5ldyBlKG8pLGY9dGhpcy5jbG9uZSgpO2lmKHUpe2ZvcihzPTA7IWYuaXNaZXJvKCk7cysrKWE9Zi5hbmRsbigyNTUpLGYuaXVzaHJuKDgpLGNbc109YTtmb3IoO3M8bztzKyspY1tzXT0wfWVsc2V7Zm9yKHM9MDtzPG8taTtzKyspY1tzXT0wO2ZvcihzPTA7IWYuaXNaZXJvKCk7cysrKWE9Zi5hbmRsbigyNTUpLGYuaXVzaHJuKDgpLGNbby1zLTFdPWF9cmV0dXJuIGN9LE1hdGguY2x6MzI/by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbihlKXtyZXR1cm4gMzItTWF0aC5jbHozMihlKX06by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbihlKXt2YXIgdD1lLHI9MDtyZXR1cm4gdD49NDA5NiYmKHIrPTEzLHQ+Pj49MTMpLHQ+PTY0JiYocis9Nyx0Pj4+PTcpLHQ+PTgmJihyKz00LHQ+Pj49NCksdD49MiYmKHIrPTIsdD4+Pj0yKSxyK3R9LG8ucHJvdG90eXBlLl96ZXJvQml0cz1mdW5jdGlvbihlKXtpZigwPT09ZSlyZXR1cm4gMjY7dmFyIHQ9ZSxyPTA7cmV0dXJuIDA9PT0oODE5MSZ0KSYmKHIrPTEzLHQ+Pj49MTMpLDA9PT0oMTI3JnQpJiYocis9Nyx0Pj4+PTcpLDA9PT0oMTUmdCkmJihyKz00LHQ+Pj49NCksMD09PSgzJnQpJiYocis9Mix0Pj4+PTIpLDA9PT0oMSZ0KSYmcisrLHJ9LG8ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3ZhciBlPXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0sdD10aGlzLl9jb3VudEJpdHMoZSk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKSt0fSxvLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9yKHZhciBlPTAsdD0wO3Q8dGhpcy5sZW5ndGg7dCsrKXt2YXIgcj10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW3RdKTtpZihlKz1yLDI2IT09cilicmVha31yZXR1cm4gZX0sby5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX0sby5wcm90b3R5cGUudG9Ud29zPWZ1bmN0aW9uKGUpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKGUpLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudGVzdG4oZS0xKT90aGlzLm5vdG4oZSkuaWFkZG4oMSkuaW5lZygpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LG8ucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxvLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0aGlzfSxvLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKGUpe2Zvcig7dGhpcy5sZW5ndGg8ZS5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLndvcmRzW3RdPXRoaXMud29yZHNbdF18ZS53b3Jkc1t0XTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pb3I9ZnVuY3Rpb24oZSl7cmV0dXJuIG4oMD09PSh0aGlzLm5lZ2F0aXZlfGUubmVnYXRpdmUpKSx0aGlzLml1b3IoZSl9LG8ucHJvdG90eXBlLm9yPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxlbmd0aD5lLmxlbmd0aD90aGlzLmNsb25lKCkuaW9yKGUpOmUuY2xvbmUoKS5pb3IodGhpcyl9LG8ucHJvdG90eXBlLnVvcj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5sZW5ndGg+ZS5sZW5ndGg/dGhpcy5jbG9uZSgpLml1b3IoZSk6ZS5jbG9uZSgpLml1b3IodGhpcyl9LG8ucHJvdG90eXBlLml1YW5kPWZ1bmN0aW9uKGUpe3ZhciB0O3Q9dGhpcy5sZW5ndGg+ZS5sZW5ndGg/ZTp0aGlzO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXRoaXMud29yZHNbcl09dGhpcy53b3Jkc1tyXSZlLndvcmRzW3JdO3JldHVybiB0aGlzLmxlbmd0aD10Lmxlbmd0aCx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlhbmQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG4oMD09PSh0aGlzLm5lZ2F0aXZlfGUubmVnYXRpdmUpKSx0aGlzLml1YW5kKGUpfSxvLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYW5kKGUpOmUuY2xvbmUoKS5pYW5kKHRoaXMpfSxvLnByb3RvdHlwZS51YW5kPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxlbmd0aD5lLmxlbmd0aD90aGlzLmNsb25lKCkuaXVhbmQoZSk6ZS5jbG9uZSgpLml1YW5kKHRoaXMpfSxvLnByb3RvdHlwZS5pdXhvcj1mdW5jdGlvbihlKXt2YXIgdCxyO3RoaXMubGVuZ3RoPmUubGVuZ3RoPyh0PXRoaXMscj1lKToodD1lLHI9dGhpcyk7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT10LndvcmRzW25dXnIud29yZHNbbl07aWYodGhpcyE9PXQpZm9yKDtuPHQubGVuZ3RoO24rKyl0aGlzLndvcmRzW25dPXQud29yZHNbbl07cmV0dXJuIHRoaXMubGVuZ3RoPXQubGVuZ3RoLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaXhvcj1mdW5jdGlvbihlKXtyZXR1cm4gbigwPT09KHRoaXMubmVnYXRpdmV8ZS5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IoZSl9LG8ucHJvdG90eXBlLnhvcj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5sZW5ndGg+ZS5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IoZSk6ZS5jbG9uZSgpLml4b3IodGhpcyl9LG8ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcihlKTplLmNsb25lKCkuaXV4b3IodGhpcyl9LG8ucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKGUpe24oIm51bWJlciI9PT10eXBlb2YgZSYmZT49MCk7dmFyIHQ9MHxNYXRoLmNlaWwoZS8yNikscj1lJTI2O3RoaXMuX2V4cGFuZCh0KSxyPjAmJnQtLTtmb3IodmFyIGk9MDtpPHQ7aSsrKXRoaXMud29yZHNbaV09NjcxMDg4NjMmfnRoaXMud29yZHNbaV07cmV0dXJuIHI+MCYmKHRoaXMud29yZHNbaV09fnRoaXMud29yZHNbaV0mNjcxMDg4NjM+PjI2LXIpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUubm90bj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlub3RuKGUpfSxvLnByb3RvdHlwZS5zZXRuPWZ1bmN0aW9uKGUsdCl7bigibnVtYmVyIj09PXR5cGVvZiBlJiZlPj0wKTt2YXIgcj1lLzI2fDAsaT1lJTI2O3JldHVybiB0aGlzLl9leHBhbmQocisxKSx0aGlzLndvcmRzW3JdPXQ/dGhpcy53b3Jkc1tyXXwxPDxpOnRoaXMud29yZHNbcl0mfigxPDxpKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24oZSl7dmFyIHQscixuO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09ZS5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHQ9dGhpcy5pc3ViKGUpLHRoaXMubmVnYXRpdmVePTEsdGhpcy5fbm9ybVNpZ24oKTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PWUubmVnYXRpdmUpcmV0dXJuIGUubmVnYXRpdmU9MCx0PXRoaXMuaXN1YihlKSxlLm5lZ2F0aXZlPTEsdC5fbm9ybVNpZ24oKTt0aGlzLmxlbmd0aD5lLmxlbmd0aD8ocj10aGlzLG49ZSk6KHI9ZSxuPXRoaXMpO2Zvcih2YXIgaT0wLG89MDtvPG4ubGVuZ3RoO28rKyl0PSgwfHIud29yZHNbb10pKygwfG4ud29yZHNbb10pK2ksdGhpcy53b3Jkc1tvXT02NzEwODg2MyZ0LGk9dD4+PjI2O2Zvcig7MCE9PWkmJm88ci5sZW5ndGg7bysrKXQ9KDB8ci53b3Jkc1tvXSkraSx0aGlzLndvcmRzW29dPTY3MTA4ODYzJnQsaT10Pj4+MjY7aWYodGhpcy5sZW5ndGg9ci5sZW5ndGgsMCE9PWkpdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF09aSx0aGlzLmxlbmd0aCsrO2Vsc2UgaWYociE9PXRoaXMpZm9yKDtvPHIubGVuZ3RoO28rKyl0aGlzLndvcmRzW29dPXIud29yZHNbb107cmV0dXJuIHRoaXN9LG8ucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gMCE9PWUubmVnYXRpdmUmJjA9PT10aGlzLm5lZ2F0aXZlPyhlLm5lZ2F0aXZlPTAsdD10aGlzLnN1YihlKSxlLm5lZ2F0aXZlXj0xLHQpOjA9PT1lLm5lZ2F0aXZlJiYwIT09dGhpcy5uZWdhdGl2ZT8odGhpcy5uZWdhdGl2ZT0wLHQ9ZS5zdWIodGhpcyksdGhpcy5uZWdhdGl2ZT0xLHQpOnRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYWRkKGUpOmUuY2xvbmUoKS5pYWRkKHRoaXMpfSxvLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKGUpe2lmKDAhPT1lLm5lZ2F0aXZlKXtlLm5lZ2F0aXZlPTA7dmFyIHQ9dGhpcy5pYWRkKGUpO3JldHVybiBlLm5lZ2F0aXZlPTEsdC5fbm9ybVNpZ24oKX1pZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZChlKSx0aGlzLm5lZ2F0aXZlPTEsdGhpcy5fbm9ybVNpZ24oKTt2YXIgcixuLGk9dGhpcy5jbXAoZSk7aWYoMD09PWkpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmxlbmd0aD0xLHRoaXMud29yZHNbMF09MCx0aGlzO2k+MD8ocj10aGlzLG49ZSk6KHI9ZSxuPXRoaXMpO2Zvcih2YXIgbz0wLGE9MDthPG4ubGVuZ3RoO2ErKylvPSh0PSgwfHIud29yZHNbYV0pLSgwfG4ud29yZHNbYV0pK28pPj4yNix0aGlzLndvcmRzW2FdPTY3MTA4ODYzJnQ7Zm9yKDswIT09byYmYTxyLmxlbmd0aDthKyspbz0odD0oMHxyLndvcmRzW2FdKStvKT4+MjYsdGhpcy53b3Jkc1thXT02NzEwODg2MyZ0O2lmKDA9PT1vJiZhPHIubGVuZ3RoJiZyIT09dGhpcylmb3IoO2E8ci5sZW5ndGg7YSsrKXRoaXMud29yZHNbYV09ci53b3Jkc1thXTtyZXR1cm4gdGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgsYSksciE9PXRoaXMmJih0aGlzLm5lZ2F0aXZlPTEpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaXN1YihlKX07dmFyIHA9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuLGksbyxhPWUud29yZHMscz10LndvcmRzLHU9ci53b3JkcyxjPTAsZj0wfGFbMF0sbD04MTkxJmYsaD1mPj4+MTMscD0wfGFbMV0sZD04MTkxJnAseT1wPj4+MTMsZz0wfGFbMl0sdj04MTkxJmcsbT1nPj4+MTMsYj0wfGFbM10sXz04MTkxJmIsUz1iPj4+MTMsRT0wfGFbNF0sdz04MTkxJkUsVD1FPj4+MTMsQT0wfGFbNV0sQz04MTkxJkEseD1BPj4+MTMsST0wfGFbNl0saz04MTkxJkksTz1JPj4+MTMsTj0wfGFbN10sUD04MTkxJk4sUj1OPj4+MTMsQj0wfGFbOF0sTT04MTkxJkIsTD1CPj4+MTMsRD0wfGFbOV0saj04MTkxJkQsVT1EPj4+MTMsRj0wfHNbMF0sVj04MTkxJkYscT1GPj4+MTMsSz0wfHNbMV0sej04MTkxJkssRz1LPj4+MTMsSD0wfHNbMl0sVz04MTkxJkgsWT1IPj4+MTMsWD0wfHNbM10sUT04MTkxJlgsJD1YPj4+MTMsWj0wfHNbNF0sSj04MTkxJlosZWU9Wj4+PjEzLHRlPTB8c1s1XSxyZT04MTkxJnRlLG5lPXRlPj4+MTMsaWU9MHxzWzZdLG9lPTgxOTEmaWUsYWU9aWU+Pj4xMyxzZT0wfHNbN10sdWU9ODE5MSZzZSxjZT1zZT4+PjEzLGZlPTB8c1s4XSxsZT04MTkxJmZlLGhlPWZlPj4+MTMscGU9MHxzWzldLGRlPTgxOTEmcGUseWU9cGU+Pj4xMztyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZSxyLmxlbmd0aD0xOTt2YXIgZ2U9KGMrKG49TWF0aC5pbXVsKGwsVikpfDApKygoODE5MSYoaT0oaT1NYXRoLmltdWwobCxxKSkrTWF0aC5pbXVsKGgsVil8MCkpPDwxMyl8MDtjPSgobz1NYXRoLmltdWwoaCxxKSkrKGk+Pj4xMyl8MCkrKGdlPj4+MjYpfDAsZ2UmPTY3MTA4ODYzLG49TWF0aC5pbXVsKGQsViksaT0oaT1NYXRoLmltdWwoZCxxKSkrTWF0aC5pbXVsKHksVil8MCxvPU1hdGguaW11bCh5LHEpO3ZhciB2ZT0oYysobj1uK01hdGguaW11bChsLHopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChsLEcpfDApK01hdGguaW11bChoLHopfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoaCxHKXwwKSsoaT4+PjEzKXwwKSsodmU+Pj4yNil8MCx2ZSY9NjcxMDg4NjMsbj1NYXRoLmltdWwodixWKSxpPShpPU1hdGguaW11bCh2LHEpKStNYXRoLmltdWwobSxWKXwwLG89TWF0aC5pbXVsKG0scSksbj1uK01hdGguaW11bChkLHopfDAsaT0oaT1pK01hdGguaW11bChkLEcpfDApK01hdGguaW11bCh5LHopfDAsbz1vK01hdGguaW11bCh5LEcpfDA7dmFyIG1lPShjKyhuPW4rTWF0aC5pbXVsKGwsVyl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGwsWSl8MCkrTWF0aC5pbXVsKGgsVyl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChoLFkpfDApKyhpPj4+MTMpfDApKyhtZT4+PjI2KXwwLG1lJj02NzEwODg2MyxuPU1hdGguaW11bChfLFYpLGk9KGk9TWF0aC5pbXVsKF8scSkpK01hdGguaW11bChTLFYpfDAsbz1NYXRoLmltdWwoUyxxKSxuPW4rTWF0aC5pbXVsKHYseil8MCxpPShpPWkrTWF0aC5pbXVsKHYsRyl8MCkrTWF0aC5pbXVsKG0seil8MCxvPW8rTWF0aC5pbXVsKG0sRyl8MCxuPW4rTWF0aC5pbXVsKGQsVyl8MCxpPShpPWkrTWF0aC5pbXVsKGQsWSl8MCkrTWF0aC5pbXVsKHksVyl8MCxvPW8rTWF0aC5pbXVsKHksWSl8MDt2YXIgYmU9KGMrKG49bitNYXRoLmltdWwobCxRKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwobCwkKXwwKStNYXRoLmltdWwoaCxRKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGgsJCl8MCkrKGk+Pj4xMyl8MCkrKGJlPj4+MjYpfDAsYmUmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHcsViksaT0oaT1NYXRoLmltdWwodyxxKSkrTWF0aC5pbXVsKFQsVil8MCxvPU1hdGguaW11bChULHEpLG49bitNYXRoLmltdWwoXyx6KXwwLGk9KGk9aStNYXRoLmltdWwoXyxHKXwwKStNYXRoLmltdWwoUyx6KXwwLG89bytNYXRoLmltdWwoUyxHKXwwLG49bitNYXRoLmltdWwodixXKXwwLGk9KGk9aStNYXRoLmltdWwodixZKXwwKStNYXRoLmltdWwobSxXKXwwLG89bytNYXRoLmltdWwobSxZKXwwLG49bitNYXRoLmltdWwoZCxRKXwwLGk9KGk9aStNYXRoLmltdWwoZCwkKXwwKStNYXRoLmltdWwoeSxRKXwwLG89bytNYXRoLmltdWwoeSwkKXwwO3ZhciBfZT0oYysobj1uK01hdGguaW11bChsLEopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChsLGVlKXwwKStNYXRoLmltdWwoaCxKKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGgsZWUpfDApKyhpPj4+MTMpfDApKyhfZT4+PjI2KXwwLF9lJj02NzEwODg2MyxuPU1hdGguaW11bChDLFYpLGk9KGk9TWF0aC5pbXVsKEMscSkpK01hdGguaW11bCh4LFYpfDAsbz1NYXRoLmltdWwoeCxxKSxuPW4rTWF0aC5pbXVsKHcseil8MCxpPShpPWkrTWF0aC5pbXVsKHcsRyl8MCkrTWF0aC5pbXVsKFQseil8MCxvPW8rTWF0aC5pbXVsKFQsRyl8MCxuPW4rTWF0aC5pbXVsKF8sVyl8MCxpPShpPWkrTWF0aC5pbXVsKF8sWSl8MCkrTWF0aC5pbXVsKFMsVyl8MCxvPW8rTWF0aC5pbXVsKFMsWSl8MCxuPW4rTWF0aC5pbXVsKHYsUSl8MCxpPShpPWkrTWF0aC5pbXVsKHYsJCl8MCkrTWF0aC5pbXVsKG0sUSl8MCxvPW8rTWF0aC5pbXVsKG0sJCl8MCxuPW4rTWF0aC5pbXVsKGQsSil8MCxpPShpPWkrTWF0aC5pbXVsKGQsZWUpfDApK01hdGguaW11bCh5LEopfDAsbz1vK01hdGguaW11bCh5LGVlKXwwO3ZhciBTZT0oYysobj1uK01hdGguaW11bChsLHJlKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwobCxuZSl8MCkrTWF0aC5pbXVsKGgscmUpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoaCxuZSl8MCkrKGk+Pj4xMyl8MCkrKFNlPj4+MjYpfDAsU2UmPTY3MTA4ODYzLG49TWF0aC5pbXVsKGssViksaT0oaT1NYXRoLmltdWwoayxxKSkrTWF0aC5pbXVsKE8sVil8MCxvPU1hdGguaW11bChPLHEpLG49bitNYXRoLmltdWwoQyx6KXwwLGk9KGk9aStNYXRoLmltdWwoQyxHKXwwKStNYXRoLmltdWwoeCx6KXwwLG89bytNYXRoLmltdWwoeCxHKXwwLG49bitNYXRoLmltdWwodyxXKXwwLGk9KGk9aStNYXRoLmltdWwodyxZKXwwKStNYXRoLmltdWwoVCxXKXwwLG89bytNYXRoLmltdWwoVCxZKXwwLG49bitNYXRoLmltdWwoXyxRKXwwLGk9KGk9aStNYXRoLmltdWwoXywkKXwwKStNYXRoLmltdWwoUyxRKXwwLG89bytNYXRoLmltdWwoUywkKXwwLG49bitNYXRoLmltdWwodixKKXwwLGk9KGk9aStNYXRoLmltdWwodixlZSl8MCkrTWF0aC5pbXVsKG0sSil8MCxvPW8rTWF0aC5pbXVsKG0sZWUpfDAsbj1uK01hdGguaW11bChkLHJlKXwwLGk9KGk9aStNYXRoLmltdWwoZCxuZSl8MCkrTWF0aC5pbXVsKHkscmUpfDAsbz1vK01hdGguaW11bCh5LG5lKXwwO3ZhciBFZT0oYysobj1uK01hdGguaW11bChsLG9lKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwobCxhZSl8MCkrTWF0aC5pbXVsKGgsb2UpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoaCxhZSl8MCk="
}