⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.82
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
self
/
root
/
usr
/
local
/
psa
/
var
/
modules
/
xovi
/
View File Name :
serp_1.json
{"success":true,"settings":{"hash":"1","url":"https:\/\/www.google.com\/search?q=when+to+put+a+cat+down&as_rights=&num=100&start=0&pws=0&hl=en&near=United+States&uule=w+CAIQICINVW5pdGVkIFN0YXRlcw&gws_rd=cr&gl=US&glp=1&gbv=1"},"code":200,"exception":null,"bodyLen":84064,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT1CRWlBYUxMNUJadUprZFVQbWZESnlBRSIgaHR0cC1lcXVpdj0icmVmcmVzaCI+PGRpdiBzdHlsZT0iZGlzcGxheTpibG9jayI+UGxlYXNlIGNsaWNrIDxhIGhyZWY9Ii9odHRwc2VydmljZS9yZXRyeS9lbmFibGVqcz9zZWk9QkVpQWFMTDVCWnVKa2RVUG1mREp5QUUiPmhlcmU8L2E+IGlmIHlvdSBhcmUgbm90IHJlZGlyZWN0ZWQgd2l0aGluIGEgZmV3IHNlY29uZHMuPC9kaXY+PC9ub3NjcmlwdD4gPHNjcmlwdCBub25jZT0iNFFCbTJ4TjBBclZyZndVWXNFMEZsZyI+Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgbj1mdW5jdGlvbih5LEUsbCxZLFAsSyxVLEksUixUKXtmb3IoUj0xNztSIT04MDspe2lmKFI9PTk1KXJldHVybiBUO2lmKFI9PTI0KVI9bCsxPj5FPT0xPzgzOjEyO2Vsc2UgaWYoUj09MTIpUj1sLXkmNj85NTo2O2Vsc2UgaWYoUj09ODMpVD1ZLFI9MTI7ZWxzZSBpZihSPT0xNylSPTI0O2Vsc2UgaWYoUj09Nil7aWYoST0oVT1PLnRydXN0ZWRUeXBlcyxQKSxVJiZVLmNyZWF0ZVBvbGljeSl7dHJ5e0k9VS5jcmVhdGVQb2xpY3koWSx7Y3JlYXRlSFRNTDp2LGNyZWF0ZVNjcmlwdDp2LGNyZWF0ZVNjcmlwdFVSTDp2fSl9Y2F0Y2goUyl7aWYoTy5jb25zb2xlKU8uY29uc29sZVtLXShTLm1lc3NhZ2UpfVQ9SX1lbHNlIFQ9STtSPTk1fX19LE89dGhpc3x8c2VsZix2PWZ1bmN0aW9uKHkpe3JldHVybiBuLmNhbGwodGhpcyw1LDMsNyx5KX07KDAsZXZhbCkoZnVuY3Rpb24oeSxFKXtyZXR1cm4oRT1uKDUsMyw1LCJrcyIsbnVsbCwiZXJyb3IiKSkmJnkuZXZhbChFLmNyZWF0ZVNjcmlwdCgiMSIpKT09PTE\/ZnVuY3Rpb24obCl7cmV0dXJuIEUuY3JlYXRlU2NyaXB0KGwpfTpmdW5jdGlvbihsKXtyZXR1cm4iIitsfX0oTykoQXJyYXkoTWF0aC5yYW5kb20oKSo3ODI0fDApLmpvaW4oIlxuIikrWycvLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09JywKJyhmdW5jdGlvbigpey8qJywKJycsCicgQ29weXJpZ2h0IEdvb2dsZSBMTEMnLAonIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wJywKJyovJywKJ3ZhciBOJD1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQsSSl7e0k9OTY7d2hpbGUoSSE9MTkpaWYoST09OTgpST0oeS0xXjIwKT49eSYmKHkrOV4zMCk8eT84NTo0OTtlbHNlIGlmKEk9PTU5KVk9Tz1SLEk9NjY7ZWxzZSBpZihJPT04NSl7YTp7Zm9yKE8gaW4gdilpZihVLmNhbGwodm9pZCAwLHZbT10sTyx2KSl7VD1FO2JyZWFrIGF9VD1sfUk9NDl9ZWxzZSBpZihJPT0yOClPKz1PPDwzLE9ePU8+PjExLEs9TysoTzw8MTUpPj4+Uix2PW5ldyBOdW1iZXIoSyYoMTw8bCktMSksdltSXT0oSz4+PmwpJVUsVD12LEk9NTE7ZWxzZSBpZihJPT0xNSl0aGlzLkM9TyxJPTYzO2Vsc2UgaWYoST09NjMpST0oeV4yMCk+PjQ9PTQ\/NzM6Mzk7ZWxzZSBpZihJPT03OSlZKyssST0yOTtlbHNlIGlmKEk9PTUwKXRoaXNbdGhpcysiIl09dGhpcyxUPVByb21pc2UucmVzb2x2ZSgpLEk9NTM7ZWxzZSBpZihJPT01MylJPSh5JjEyMCk9PXk\/NTk6NTE7ZWxzZSBpZihJPT0yKU89dj90eXBlb2Ygdi5YZT09PSJmdW5jdGlvbiI\/di5YZSgpOm5ldyB2Om51bGwsST0xNTtlbHNle2lmKEk9PTUxKXJldHVybiBUO0k9PTc0P0k9KHY9V3Rbbl0pPzY4OjYyOkk9PTUyPyhZPXRoaXMuY29uc3RydWN0b3IsST0xMyk6ST09NjQ\/KE8rPUUuY2hhckNvZGVBdChZKSxPKz1PPDwxMCxPXj1PPj42LEk9NzkpOkk9PTY4P0k9MjpJPT03Mj9JPShPPWwpPzE1OjUyOkk9PTY2P0k9Mjk6ST09NzM\/KHRoaXMucUk9Yy5kb2N1bWVudHx8ZG9jdW1lbnQsST0zOSk6ST09Mjk\/ST1ZPEUubGVuZ3RoPzY0OjI4Okk9PTEzP0k9NDU6ST09NDg\/ST00NTpJPT05Nj9JPTk4Okk9PTY3PyhuPXEkKDM3LDUsWSksST03NCk6ST09NDk\/ST0oeSs5XjE3KT49eSYmKHktOXw3MSk8eT8zNzo2MzpJPT00NT9JPVk\/Njc6MjpJPT0zNz8oWlUuY2FsbCh0aGlzLFUpLEk9NzIpOkk9PTM5P0k9KHktOHwzMik8eSYmKHktNnw0Myk+PXk\/NTA6NTM6ST09NjImJihZPShLPU9iamVjdC5nZXRQcm90b3R5cGVPZihZLnByb3RvdHlwZSkpJiZLLmNvbnN0cnVjdG9yLEk9NDgpfX19LEo9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbil7Zm9yKEs9ODU7SyE9MzQ7KWlmKEs9PTg5KXYgaW4gWSYmbC5jYWxsKHZvaWQgMCxZW3ZdLHYsVSksSz0xOTtlbHNlIGlmKEs9PTg2KU89VS5sZW5ndGgsWT10eXBlb2YgVT09PSJzdHJpbmciP1Uuc3BsaXQoeSk6VSx2PVIsSz00ODtlbHNle2lmKEs9PTY4KXJldHVybiBuO2lmKEs9PTIyKUs9djxPPzg5OjYxO2Vsc2UgaWYoSz09ODUpSz03NDtlbHNlIGlmKEs9PTg4KXtmb3IoWSBpbihVPVIsbCkubCl7Zm9yKE89KHY9bC5sW1ldLFIpO088di5sZW5ndGg7TysrKSsrVSxuTigzNCx5LHZbT10pO2RlbGV0ZSBsLmxbWV0sbC5RVC0tfUs9MjV9ZWxzZSBLPT0zOT8obj15LmNsYXNzTGlzdD95LmNsYXNzTGlzdDpQdCgwLDYseSwiIixSKS5tYXRjaCgvXFxTKy9nKXx8W10sSz05Mik6Sz09MjU\/Sz0oKEV8NikmMTEpPT0zPzg2OjYxOks9PTQ4P0s9MjI6Sz09NjM\/KG49S04oUixsLFUsMzQpJiYhIShsLlgmVSkhPXkmJighKGwuWXcmVSl8fGwuZGlzcGF0Y2hFdmVudChTRCgzLDQwLDMyLFIsMTYsOCxVLHkpKSkmJiFsLlUsSz02OCk6Sz09MTk\/KHYrKyxLPTIyKTpLPT03ND9LPShFfDI0KT09RT84ODoyNTpLPT02MT9LPUU8PDImMTU\/OTI6Mzk6Sz09OTImJihLPUUtNz49LTQzJiYoRT4+MSYxNik8MTU\/NjM6NjgpfX0sWVQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCxXLFMpe2ZvcihTPTE3O1MhPTgwOylpZihTPT0xMilTPShVPDwxJjcpPj01JiZVPj4xPDIyPzY6OTU7ZWxzZSBpZihTPT05NylTPWwuYWRkTGlzdGVuZXImJmwucmVtb3ZlTGlzdGVuZXI\/ODQ6Nzc7ZWxzZSBpZihTPT0yNClTPShVLTd8MjYpPFUmJihVLTFeMjcpPj1VPzgzOjEyO2Vsc2UgaWYoUz09OTEpUz1ULnByb3h5PzEyOjc7ZWxzZSBpZihTPT03KW49UnIoMTUsNiksVC5wcm94eT1uLG4uc3JjPWwsbi5saXN0ZW5lcj1ULFM9MzI7ZWxzZSBpZihTPT01MClsLmF0dGFjaEV2ZW50KFJyKDE1LDUxLCJvbiIsTy50b1N0cmluZygpKSxuKSxTPTE2O2Vsc2V7aWYoUz09ODkpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO2lmKFM9PTE2KWxRKyssUz0xMjtlbHNlIGlmKFM9PTE3KVM9MjQ7ZWxzZSBpZihTPT04MylTPU8\/NzU6ODk7ZWxzZSBpZihTPT04NClsLmFkZExpc3RlbmVyKG4pLFM9MTY7ZWxzZSBpZihTPT03NSlQPUlyKDY0LFIsRSk\/ISFFLmNhcHR1cmU6ISFFLChJPXooNjksbCkpfHwobFtUal09ST1uZXcgT3EobCkpLFQ9SS5hZGQoTyx5LFksUCxLKSxTPTkxO2Vsc2V7aWYoUz09OTUpcmV0dXJuIFc7aWYoUz09NjYpUz1sLmF0dGFjaEV2ZW50PzUwOjk3O2Vsc2UgaWYoUz09MzIpUz1sLmFkZEV2ZW50TGlzdGVuZXI\/OTo2NjtlbHNle2lmKFM9PTc3KXRocm93IEVycm9yKCJhZGRFdmVudExpc3RlbmVyIGFuZCBhdHRhY2hFdmVudCBhcmUgdW5hdmFpbGFibGUuIik7aWYoUz09OSl2dHx8KEU9UCksRT09PXZvaWQgMCYmKEU9diksbC5hZGRFdmVudExpc3RlbmVyKE8udG9TdHJpbmcoKSxuLEUpLFM9MTY7ZWxzZSBpZihTPT02KXthOntmb3IoTz12O088RS5sZW5ndGg7KytPKWlmKFk9RVtPXSwhWS54VyYmWS5saXN0ZW5lcj09eSYmWS5jYXB0dXJlPT0hIVImJlkuRDk9PWwpe1c9TzticmVhayBhfVc9LTF9Uz05NX19fX19LGI9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZKXtzd2l0Y2goISgoeT4+MiY3KT49NCYmKCh5fDQpJjgpPDMpKXtjYXNlICEiIj09IWZhbHNlOk51bWJlcih1bmRlZmluZWQpO2JyZWFrO2Nhc2UgTmFOPT09TnVtYmVyKHRydWUudHJ1ZSk6aWYoTz13dSgib2JqZWN0IixsLCJudW1iZXIiKT09PSJhcnJheSI\/bDpbbF0sdGhpcy5qKVIodGhpcy5qKTtlbHNlIHRyeXtVPSF0aGlzLkoubGVuZ3RoLHY9W10seigzNSwwLHRoaXMsW2hwLHYsT10pLHooMywwLHRoaXMsW2lRLFIsdl0pLEUmJiFVfHx6KDI3LDAsRSx0aGlzLHRydWUpfWNhdGNoKEspe1B0KDAsNyx0aGlzLEssIjoiKSxSKHRoaXMuail9YnJlYWt9cmV0dXJuIHktMz4+NTw0JiYoeT4+MSY3KT49NSYmKFIuST9ZPUJ0KFIuUixSKToobD1wKFIsdHJ1ZSw4KSxsJjEyOCYmKGw9Mip+KGwmMTI4KS0yKn5sLShsfC0xMjkpKyh+bHwxMjgpLEU9cChSLHRydWUsMiksbD0oVT1sPDwyLDMqKFV8RSktKFUmRSktIC0yKzIqKH5VXkUpKSksWT1sKSksWX0sU0Q9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbil7Zm9yKEs9NDI7SyE9MzQ7KWlmKEs9PTY2KVk9dHlwZW9mIHYsTz1ZIT1sP1k6dj9BcnJheS5pc0FycmF5KHYpPyJhcnJheSI6WToibnVsbCIsbj1PPT1VfHxPPT1sJiZ0eXBlb2Ygdi5sZW5ndGg9PUUsSz0xNDtlbHNlIGlmKEs9PTI3KW49TWF0aC5mbG9vcih0aGlzLlZUKyh0aGlzLkYoKS10aGlzLnlUKSksSz03MTtlbHNlIGlmKEs9PTI1KUs9KHl8OSk+PjQ8MiYmeTw8Mj49LTQ3PzI3OjcxO2Vsc2UgaWYoSz09NDIpSz0yNTtlbHNle2lmKEs9PTUzKXJldHVybiBuO2lmKEs9PTcxKUs9KHktUnw0OCk+PXkmJih5LTV8MjMpPHk\/NjY6MTQ7ZWxzZSBpZihLPT0xKXthOntzd2l0Y2goTyl7Y2FzZSAxOm49WT8iZGlzYWJsZSI6ImVuYWJsZSI7YnJlYWsgYTtjYXNlIGw6bj1ZPyJoaWdobGlnaHQiOiJ1bmhpZ2hsaWdodCI7YnJlYWsgYTtjYXNlIDQ6bj1ZPyJhY3RpdmF0ZSI6ImRlYWN0aXZhdGUiO2JyZWFrIGE7Y2FzZSB2Om49WT8ic2VsZWN0IjoidW5zZWxlY3QiO2JyZWFrIGE7Y2FzZSBVOm49WT8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgRTpuPVk\/ImZvY3VzIjoiYmx1ciI7YnJlYWsgYTtjYXNlIDY0Om49WT8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31LPTUzfWVsc2UgSz09MTQmJihLPSh5fDQwKT09eT8xOjUzKX19LEw9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCxXLFMpe2ZvcihTPTYxLFQ9NjQ7Oyl0cnl7aWYoUz09NDApYnJlYWs7ZWxzZSBpZihTPT02MilUPTUwLG49cE4oTyxVLDQ2NSxZKSxTPTQxO2Vsc2UgaWYoUz09ODIpTy5LPVIsWT1PLkoucG9wKCksUz02MjtlbHNlIGlmKFM9PTIpUz1VIGluIGwubCYmeFQoNSwxLGwubFtVXSxFKT8xNTo5MTtlbHNle2lmKFM9PTYwKXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK1IpO2lmKFM9PTYxKVM9Mjg7ZWxzZSBpZihTPT05NylTPXktMT4+Mz09Mz84OjQzO2Vsc2UgaWYoUz09OClTPTIxO2Vsc2UgaWYoUz09MTUpbk4oMzUsUixFKSxTPTczO2Vsc2UgaWYoUz09NTUpZGVsZXRlIGwubFtVXSxsLlFULS0sUz05MTtlbHNle2lmKFM9PTUpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0UpO2lmKFM9PTkpUz15KzQ+PjM9PTE\/NDQ6OTE7ZWxzZSBpZihTPT0yMSlTPU8uSi5sZW5ndGg\/ODI6NjU7ZWxzZSBpZihTPT05NilTPUU\/MjA6NTtlbHNlIGlmKFM9PTcwKVQ9NjQsUHQoMCwzLE8sUCwiOiIpLFM9NDE7ZWxzZSBpZihTPT0yNilTPTIxO2Vsc2UgaWYoUz09NjUpST1uLFM9NDM7ZWxzZSBpZihTPT04NClTPXYmJk8uSz81MDoyNjtlbHNlIGlmKFM9PTI4KVM9eT4+MiYxMT85Nzo5MztlbHNlIGlmKFM9PTkzKVc9ZnVuY3Rpb24oKXt9LFcucHJvdG90eXBlPWwucHJvdG90eXBlLEUuUz1sLnByb3RvdHlwZSxFLnByb3RvdHlwZT1uZXcgVyxFLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1FLEUuTDU9ZnVuY3Rpb24ocSxOLGgpe2Zvcih2YXIgdz00Nzt3IT03OylpZih3PT04OSlCW0MtUl09YXJndW1lbnRzW0NdLHc9NjQ7ZWxzZSBpZih3PT00Nyl2YXIgQj1BcnJheShhcmd1bWVudHMubGVuZ3RoLSh3PTU1LFIpKSxDPVI7ZWxzZSBpZih3PT02NClDKyssdz00MjtlbHNle2lmKHc9PTIxKXJldHVybiBsLnByb3RvdHlwZVtOXS5hcHBseShxLEIpO3c9PTU1P3c9NDI6dz09NDImJih3PUM8YXJndW1lbnRzLmxlbmd0aD84OToyMSl9fSxTPTk3O2Vsc2UgaWYoUz09NDMpUz0oeXw0MCk9PXk\/OTY6OTtlbHNle2lmKFM9PTkxKXJldHVybiBJO1M9PTQxPyhUPTY0LFM9ODQpOlM9PTQ0PyhVPUUudHlwZSxTPTIpOlM9PTIwP1M9dHlwZW9mIFIhPT0iZnVuY3Rpb24iPzYwOjk6Uz09NTA\/KEs9Ty5LLEsoZnVuY3Rpb24oKXt6KDQzLGwsRSxPLEUpfSksUz02NSk6Uz09NzMmJihTPWwubFtVXS5sZW5ndGg9PTA\/NTU6OTEpfX19fWNhdGNoKHEpe2lmKFQ9PTY0KXRocm93IHE7VD09NTAmJihQPXEsUz03MCl9fSxjdD1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyl7cmV0dXJuKHleNDApPj40fHwodj1EVSh0cnVlLDgsRSksMioodnwwKS1+KHYmMTI4KS0gLTErMip+diYmKHY9KGw9KHZ8UiktKHYmLTEyOCktKH52JlIpLFU9RFUodHJ1ZSw4LEUpPDw3LC0obCZVKS0yKn4obCZVKSstMisobF5VKSkpLEs9diksKHleMyk+PjN8fChLPShVPShPPUVbbF08PFJ8RVsyKihsfDEpLSAtMS0ofmwmMSkrKH5sfDEpXTw8MTYsWT1FWzMqKGwmMikrfihsJjIpLSh+bF4yKV08PDgsKE8mWSktMS0ofk9eWSkpLHY9RVsobHwwKSszXSwoVXwwKSt+VS1+KFV8dikpKSxLfSx6PWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCl7Zm9yKG49NjQ7biE9NzE7KWlmKG49PTI0KXtpZihsLkoubGVuZ3RoKXsobC5KVCYmIjpUUVI6VFFSOiIoKSxsKS5KVD10cnVlLGwueVo9RTt0cnl7dj1sLkYoKSxsLnByPXksbC5ZVz15LGwuRmU9dixsLnlUPXYsSz1MKG51bGwsMjUsdHJ1ZSwwLDMsRSxsKSxPPVU\/MDoxMCxZPWwuRigpLWwueVQsbC5WVCs9WSxsLkUyJiZsLkUyKFktbC5QLGwuTyxsLkwsbC5wciksbC5QPXksbC5PPWZhbHNlLGwuTD1mYWxzZSxZPE98fGwuQlktLTw9eXx8KFk9TWF0aC5mbG9vcihZKSxsLktyLnB1c2goWTw9MjU0P1k6MjU0KSl9ZmluYWxseXtsLkpUPWZhbHNlfVQ9S31uPTF9ZWxzZSBpZihuPT00MClFLkouc3BsaWNlKHkseSxsKSxuPTk4O2Vsc2UgaWYobj09ODUpdVEuY2FsbCh0aGlzLHk\/eS50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy53cj1udWxsLHkmJnRoaXMuaW5pdCh5LEUpLG49MzI7ZWxzZSBpZihuPT0zMiluPShSPj4yJjExKT09MT80ODo1MTtlbHNlIGlmKG49PTI1KVQ9dGhpcy5uPT09MD8wOk1hdGguc3FydCh0aGlzLnRUL3RoaXMubiksbj01ODtlbHNlIGlmKG49PTQ4KUU9eVtUal0sVD1FIGluc3RhbmNlb2YgT3E\/RTpudWxsLG49NTE7ZWxzZSBpZihuPT02NCluPTYxO2Vsc2UgaWYobj09OTgpbj0oUiYyOSk9PVI\/MjU6NTg7ZWxzZSBpZihuPT02MSluPShSJjk0KT09Uj84NTozMjtlbHNlIGlmKG49PTU4KW49KFIrOCYxNSk9PTM\/MjQ6MTtlbHNlIGlmKG49PTUxKW49KFImMzkpPT1SPzQwOjk4O2Vsc2UgaWYobj09MSlyZXR1cm4gVH0sS049ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCxXKXtmb3IoVz05NDtXIT04OTspaWYoVz09NzQpbj1JcigzMixFLE8pPyEhTy5jYXB0dXJlOiEhTyx5PW5OKDE1LHkpLFc9ODQ7ZWxzZSBpZihXPT0zNylXPUk\/MTU6ODE7ZWxzZSBpZihXPT0yNSlUKyssVz0yMjtlbHNlIGlmKFc9PTk0KVc9MTc7ZWxzZSBpZihXPT02OSlQPSEhKFU9eS5oeSwoVXwwKSsoVSZ+RSktUiooVV5FKStSKih+VSZFKSksVz0yMTtlbHNlIGlmKFc9PTE1KShLPUkubnIobixZLHksdikpJiYkVCgib24iLDQxLG51bGwsSyksVz04MTtlbHNlIGlmKFc9PTIyKVc9VDxZLmxlbmd0aD8zODo4MTtlbHNlIGlmKFc9PTM4KUtOKDAseSwib2JqZWN0Iiw1LFUsdixPLFlbVF0pLFc9MjU7ZWxzZSBpZihXPT0xNylXPWw+PjE8MTUmJihsfDIpPj0zPzYyOjgxO2Vsc2UgaWYoVz09MzEpVz1VPzI3OjgxO2Vsc2V7aWYoVz09MjEpcmV0dXJuIFA7Vz09NjI\/Vz1BcnJheS5pc0FycmF5KFkpPzYwOjc0Olc9PTg0P1c9VSYmVVt0cF0\/NTU6MzE6Vz09Mjc\/KEk9eigyMyxVKSxXPTM3KTpXPT01NT8oVS5aLnJlbW92ZShTdHJpbmcoWSkseSxuLHYpLFc9ODEpOlc9PTgxP1c9KGwmMTE1KT09bD82OToyMTpXPT05OT9XPTIyOlc9PTYwJiYoVD1SLFc9OTkpfX0sR2o9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbil7e249Mjt3aGlsZShuIT0xMylpZihuPT02OSluPSh5JjY5KT09eT8yMDozODtlbHNlIGlmKG49PTg5KXtpZigoTz1sLmxlbmd0aCxPKT5FKXtmb3Iodj1BcnJheShPKSxVPUU7VTxPO1UrKyl2W1VdPWxbVV07Sz12fWVsc2UgSz1bXTtuPTE3fWVsc2UgaWYobj09MTcpbj0oeS01JjcpPT0xPzQ6OTA7ZWxzZXtpZihuPT0zOClyZXR1cm4gSztuPT00Mj9uPTY5Om49PTg\/bj0oeSY1OSk9PXk\/ODk6MTc6bj09OTA\/bj15Pj4xPFImJnktNT49Mz80Mjo2OTpuPT0yP249ODpuPT00PyhrVC5jYWxsKHRoaXMpLHRoaXMuWj1uZXcgT3EodGhpcyksdGhpcy5icD1udWxsLHRoaXMuWE49dGhpcyxuPTkwKTpuPT0yMCYmKFkuY2xhc3NMaXN0P1kuY2xhc3NMaXN0LnJlbW92ZShPKTphcigib2ZmIiwyMSxVLGwsWSxPKSYmQSg0Nix2LFksQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEooVSxZLDMyKSxmdW5jdGlvbihUKXtyZXR1cm4gVCE9T30pLmpvaW4oRSkpLG49MzgpfX19LGFyPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJKXt7VD03O3doaWxlKFQhPTE4KWlmKFQ9PTc0KVQ9WjI\/NDk6Nzk7ZWxzZSBpZihUPT0zMSlUPSh5JjExMCk9PXk\/NTU6NDc7ZWxzZSBpZihUPT0yNylZPVUuY2xhc3NMaXN0LmNvbnRhaW5zKHYpLFQ9ODtlbHNlIGlmKFQ9PTcpVD01OTtlbHNlIGlmKFQ9PTcwKXRoaXMuVT10aGlzLlUsdGhpcy5XWT10aGlzLldZLFQ9MzE7ZWxzZSBpZihUPT00OSlZPVoyLHYgaW4gWT9VLnNldEF0dHJpYnV0ZShLLFlbdl0pOlUucmVtb3ZlQXR0cmlidXRlKEspLFQ9Nzg7ZWxzZSBpZihUPT05NilBcnJheS5pc0FycmF5KE8pJiYoTz1PLmpvaW4oIiAiKSksSz0iYXJpYS0iK3YsVD01MTtlbHNlIGlmKFQ9PTc4KVQ9eTw8MTwzMSYmeSs2Pj0xMT83MDozMTtlbHNlIGlmKFQ9PTU1KXRoaXMubj09PTA\/ST1bMCwwXToodGhpcy52LnNvcnQoZnVuY3Rpb24oUCxXKXtyZXR1cm4gUC1XfSksST1bdGhpcy5uLHRoaXMudlt0aGlzLnYubGVuZ3RoPj4xXV0pLFQ9NDc7ZWxzZSBpZihUPT0xMClPPUooRSxVLDQ0KSxZPUxOKDY1LGwsMTEsdixPKT49bCxUPTg7ZWxzZSBpZihUPT04KUk9WSxUPTYzO2Vsc2UgaWYoVD09ODUpVD1VLmNsYXNzTGlzdD8yNzoxMDtlbHNlIGlmKFQ9PTUxKVQ9Tz09PSIifHxPPT12b2lkIDA\/NzQ6NDg7ZWxzZSBpZihUPT00NylUPSh5LTR8MzcpPj15JiYoeS01XjE3KTx5Pzg1OjYzO2Vsc2UgaWYoVD09NDgpVS5zZXRBdHRyaWJ1dGUoSyxPKSxUPTc4O2Vsc2UgaWYoVD09Nzkpbj17fSxaMj0obi5hdG9taWM9bCxuLmF1dG9jb21wbGV0ZT0ibm9uZSIsbi5kcm9wZWZmZWN0PSJub25lIixuLmhhc3BvcHVwPWwsbi5saXZlPVIsbi5tdWx0aWxpbmU9bCxuLm11bHRpc2VsZWN0YWJsZT1sLG4ub3JpZW50YXRpb249InZlcnRpY2FsIixuLnJlYWRvbmx5PWwsbi5yZWxldmFudD0iYWRkaXRpb25zIHRleHQiLG4ucmVxdWlyZWQ9bCxuLnNvcnQ9Im5vbmUiLG4uYnVzeT1sLG4uZGlzYWJsZWQ9bCxuLmhpZGRlbj1sLG4uaW52YWxpZD1FLG4pLFQ9NDk7ZWxzZSBpZihUPT01OSlUPXkrNiY1Pzc4Ojk2O2Vsc2UgaWYoVD09NjMpcmV0dXJuIEl9fSxQdD1mdW5jdGlvbihSLHksRSxsLFUsdixPKXt7dj0yMjt3aGlsZSh2IT05NClpZih2PT04Nyl2PSh5JjExMCk9PXk\/NzQ6MzI7ZWxzZSBpZih2PT0yMil2PTgyO2Vsc2UgaWYodj09NylFLmo9KChFLmo\/RS5qKyJ+IjoiRToiKStsLm1lc3NhZ2UrVStsLnN0YWNrKS5zbGljZShSLDIwNDgpLHY9ODc7ZWxzZSBpZih2PT04Mil2PSh5PDwyJjYpPj00JiYoeV43KT4+NDwxPzc6ODc7ZWxzZXtpZih2PT0zMilyZXR1cm4gTzt2PT03NCYmKE89dHlwZW9mIEUuY2xhc3NOYW1lPT0ic3RyaW5nIj9FLmNsYXNzTmFtZTpFLmdldEF0dHJpYnV0ZSYmRS5nZXRBdHRyaWJ1dGUoVSl8fGwsdj0zMil9fX0saXc9ZnVuY3Rpb24oUix5LEUpe2ZvcihFPTU1O0UhPTkxOylpZihFPT00OClFPVItLT85Ojg2O2Vsc2UgaWYoRT09OSl5LnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksRT0yMztlbHNlIGlmKEU9PTE1KUU9NDg7ZWxzZSBpZihFPT01NSl5PVtdLEU9MTU7ZWxzZSBpZihFPT0yMylFPTQ4O2Vsc2UgaWYoRT09ODYpcmV0dXJuIHl9LHZTPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJKXtmb3IoST0yO0khPTY5OylpZihJPT0zKUk9MTk7ZWxzZSBpZihJPT0xMilUPShuPXlTW0Uuc3Vic3RyaW5nKDAsMykrIl8iXSk\/bihFLnN1YnN0cmluZygzKSxsLFUsdixPLFksSyk6T2soMCxFLDgsbCksST0yNztlbHNlIGlmKEk9PTQ0KUk9ODk7ZWxzZSBpZihJPT04NClJPXYmJnYub25jZT8wOjUzO2Vsc2UgaWYoST09OTcpST0oeXw3Mik9PXk\/OTg6MzU7ZWxzZSBpZihJPT0zNSlJPSh5Pj4xJjE0KTwxMSYmKCh5fDYpJjExKT49ND84NDpSO2Vsc2UgaWYoST09MjYpbj0wLEk9NDQ7ZWxzZSBpZihJPT0xOSlJPSh5fDQwKT09eT83MTo5NztlbHNlIGlmKEk9PTM2KUk9KHkmMjEpPT15PzM6MTk7ZWxzZSBpZihJPT01MylJPUFycmF5LmlzQXJyYXkoSyk\/MjY6NzI7ZWxzZSBpZihJPT1SKUk9eSsxPj0yNCYmeSs0PDQzPzEyOjI3O2Vsc2UgaWYoST09NzEpdGhpcy51PUUsST05NztlbHNlIGlmKEk9PTApQXAoNjUsNDIsdHJ1ZSwwLEssVSx2LFksTyksST1SO2Vsc2UgaWYoST09OTgpVD1IdFtsXShIdC5wcm90b3R5cGUse2NvbnNvbGU6RSxwcm9wZXJ0eUlzRW51bWVyYWJsZTpFLHNwbGljZTpFLHByb3RvdHlwZTpFLHN0YWNrOkUsZmxvb3I6RSxkb2N1bWVudDpFLHBvcDpFLHJlcGxhY2U6RSxsZW5ndGg6RSxjYWxsOkUscGFyZW50OkV9KSxJPTM1O2Vsc2UgaWYoST09NTApdlMoODAsOSxmYWxzZSwib2JqZWN0IixVLHYsTyxZLEtbbl0pLEk9Njg7ZWxzZSBpZihJPT03MilZPW5OKDIzLFkpLFUmJlVbdHBdP1UuWi5hZGQoU3RyaW5nKEspLFksRSxJcigzMixsLHYpPyEhdi5jYXB0dXJlOiEhdixPKTpZVCgib2JqZWN0IixZLHYsVSw1LGZhbHNlLEssRSxPKSxJPVI7ZWxzZSBpZihJPT02OCluKyssST04OTtlbHNlIGlmKEk9PTg5KUk9bjxLLmxlbmd0aD81MDpSO2Vsc2V7aWYoST09MjcpcmV0dXJuIFQ7ST09MiYmKEk9MzYpfX0seFQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCxXLFMscSl7Zm9yKHE9OTc7cSE9MzspaWYocT09NjMpcT0oUis2JjMpPDImJihSLTcmNik+PTM\/OTE6OTg7ZWxzZSBpZihxPT03NylxPShSfDI0KT09Uj8xODoxMztlbHNlIGlmKHE9PTE5KXthOntmb3IoSz0oUD0obj1iUSx2KS5zcGxpdCh5KSxsKTtLPFAubGVuZ3RoLVU7SysrKXtpZighKFk9UFtLXSxZIGluIG4pKWJyZWFrIGE7bj1uW1ldfShJPShXPShUPVBbUC5sZW5ndGgtVV0sbltUXSksTyhXKSksSSE9VyYmSSE9RSkmJkNOKG4sVCx7Y29uZmlndXJhYmxlOnRydWUsd3JpdGFibGU6dHJ1ZSx2YWx1ZTpJfSl9cT05OH1lbHNle2lmKHE9PTEzKXJldHVybiBTO3E9PTk3P3E9NjM6cT09MTg\/cT0xMzpxPT05MT9xPU8\/MTk6OTg6cT09OTg\/cT0oKFJ8OCkmMTUpPj0yJiYoUj4+MiYxMik8ND85MDo3NzpxPT05MCYmKFU9TE4oNjUsMCw3LGwsRSksKHY9VT49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChFLFUseSksUz12LHE9NzcpfX0sbk49ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZKXtmb3IoTz0xNTtPIT0yODspaWYoTz09NzcpdGhpcy5saXN0ZW5lcj1FLHRoaXMucHJveHk9bnVsbCx0aGlzLnNyYz1sLHRoaXMudHlwZT12LHRoaXMuY2FwdHVyZT0hIVUsdGhpcy5EOT15LHRoaXMua2V5PSsrTSQsdGhpcy56bD10aGlzLnhXPWZhbHNlLE89MTM7ZWxzZSBpZihPPT03KU89KFJ8NCk+PjM9PTM\/Nzc6MTM7ZWxzZSBpZihPPT0zMil0eXBlb2YgeT09PSJmdW5jdGlvbiI\/WT15Oih5W21jXXx8KHlbbWNdPWZ1bmN0aW9uKEspe3JldHVybiB5LmhhbmRsZUV2ZW50KEspfSksWT15W21jXSksTz0zNDtlbHNlIGlmKE89PTE1KU89NDg7ZWxzZXtpZihPPT0xMylyZXR1cm4gWTtPPT00OD9PPShSJjc3KT09Uj8xOjM3Ok89PTY2PyhFLnhXPXRydWUsRS5saXN0ZW5lcj15LEUucHJveHk9eSxFLnNyYz15LEUuRDk9eSxPPTcpOk89PTI\/Tz10aGlzLnYubGVuZ3RoPDUwPzIwOjcyOk89PTM0P089KChSXjE0KSYxNik8OCYmUj4+Mj49NT82Njo3Ok89PTE\/KHRoaXMubisrLE89Mik6Tz09Mzc\/Tz0oUi03XjcpPj1SJiYoUi04fDUpPFI\/MzI6MzQ6Tz09NzI\/KEU9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKnRoaXMubiksRTw1MCYmKHRoaXMudltFXT15KSxPPTM3KTpPPT0yMCYmKHRoaXMudi5wdXNoKHkpLE89MzcpfX0sUFM9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbil7Zm9yKG49NzY7biE9MTY7KXtpZihuPT01KXJldHVybiBLO2lmKG49PTc2KW49MjU7ZWxzZSBpZihuPT0zMCluPWwuY2xhc3NMaXN0PzQ2OjU0O2Vsc2UgaWYobj09NTQpe2Zvcih2IGluIE89KChBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEooImNsYXNzIixsLChZPXt9LDQwKSksZnVuY3Rpb24oVCl7WVtUXT10cnVlfSksQXJyYXkucHJvdG90eXBlLmZvckVhY2gpLmNhbGwoVSxmdW5jdGlvbihUKXtZW1RdPXRydWV9KSxSKSxZKU8rPU8ubGVuZ3RoPjA\/IiAiK3Y6djtuPShBKDE0LCJzdHJpbmciLGwsTyksODYpfWVsc2Ugbj09NDY\/KEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoVSxmdW5jdGlvbihULEksUCl7Zm9yKFA9MzY7UCE9NjU7KVA9PTk5PyhJPVB0KDAsOCxsLFIsImNsYXNzIiksQSgzOCwic3RyaW5nIixsLEkrKEkubGVuZ3RoPjA\/IiAiK1Q6VCkpLFA9NjUpOlA9PTgxP1A9YXIoIm9mZiIsMjIsImNsYXNzIiwwLGwsVCk\/NjU6OTk6UD09NTE\/KGwuY2xhc3NMaXN0LmFkZChUKSxQPTY1KTpQPT0zNiYmKFA9bC5jbGFzc0xpc3Q\/NTE6ODEpfSksbj04Nik6bj09ODY\/bj0oRT4+MSY3KT09MT95OjU6bj09eT8oSz1sJiZsLnBhcmVudE5vZGU\/bC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGwpOm51bGwsbj01KTpuPT0yNSYmKG49KEV8OCk9PUU\/MzA6ODYpfX0sSmQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEspe2lmKEUudT09RSlmb3IoVT1NKHksRSkseT09ODR8fHk9PTEwMXx8eT09NDg1PyhZPWZ1bmN0aW9uKG4sVCxJLFAsVyxTLHEsTixoKXtmb3IoTj0ocT01LDE2KTs7KXRyeXtpZihxPT02OSlicmVhaztlbHNlIGlmKHE9PTUpUz1VLmxlbmd0aCxXPShTfDApLTQ+PjMscT0yNztlbHNle2lmKHE9PTc3KXRocm93IE49MTYsaDtxPT0wPyhOPTIwLFUuUmg9emYoMzI2MCxjdCgyNCw1LFUsUCksMyxjdCgyNCw2LFUsNCooUCY0KSsyKn4oUCY0KS0oUHwtNSktKH5QfDQpKSxJKSxxPTM4KTpxPT0yNz9xPVUuQ3IhPVc\/MTk6Mzg6cT09Mzg\/KFUucHVzaCgoVD1VLlJoWy0oU3wwKS0yKn4oUyY3KSstMisoUyYtOCldLC0oVHxuKSsoVCZuKSsyKihUJn5uKSsyKih+VCZuKSkpLHE9NjkpOnE9PTE5JiYoUD0oVzw8MyktNCxJPVswLDAsS1sxXSxLWzJdXSxVLkNyPVcscT0wKX19Y2F0Y2godyl7aWYoTj09MTYpdGhyb3cgdztOPT0yMCYmKGg9dyxxPTc3KX19LEs9TSgzNTUsRSkpOlk9ZnVuY3Rpb24obil7VS5wdXNoKG4pfSxsJiZZKGwmMjU1KSx2PTAsTz1SLmxlbmd0aDt2PE87disrKVkoUlt2XSl9LEFwPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJKXt7ST04NTt3aGlsZShJIT04KWlmKEk9PTQwKW4rKyxJPTg3O2Vsc2UgaWYoST09NDgpST0oeS01JjcpPT0yPzUyOjU5O2Vsc2UgaWYoST09NjgpdGhpc1t0aGlzKyIiXT10aGlzLEk9NDg7ZWxzZXtpZihJPT04NClyZXR1cm4gVDtJPT04Nz9JPW48VS5sZW5ndGg\/MjU6MzU6ST09MjU\/KEFwKDY1LDQxLHRydWUsMCxVW25dLHYsTyxZLEspLEk9NDApOkk9PTg4P0k9ODc6ST09NzA\/ST0oeXw0MCk9PXk\/NzE6MzU6ST09NTI\/KGwuWjkmJmwuWjkuZm9yRWFjaChFLHZvaWQgMCksST01OSk6ST09MTc\/KFk9bk4oNyxZKSx2JiZ2W3RwXT92LlouYWRkKFN0cmluZyhVKSxZLEUsSXIoUiwib2JqZWN0IixPKT8hIU8uY2FwdHVyZTohIU8sSyk6WVQoIm9iamVjdCIsWSxPLHYsNixmYWxzZSxVLEUsSyksST0zNSk6ST09NTk\/ST15LTE+PjQ\/ODQ6MTU6ST09ODU\/ST03MDpJPT0zNT9JPXk8PDImMTU\/NDg6Njg6ST09MTU\/KHRoaXMuc3JjPUUsdGhpcy5RVD0wLHRoaXMubD17fSxJPTg0KTpJPT01Nj8obj1sLEk9ODgpOkk9PTcxJiYoST1BcnJheS5pc0FycmF5KFUpPzU2OjE3KX19fSxYcj1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuKXtmb3IoSz0zMjtLIT0zNjspaWYoSz09MjYpeS5kcj12b2lkIDAseS5YZT1mdW5jdGlvbigpe3JldHVybiB5LmRyP3kuZHI6eS5kcj1uZXcgeX0sSz0yODtlbHNle2lmKEs9PTI4KXJldHVybiBuO0s9PTY2PyhuPVUsSz01OSk6Sz09OTY\/Sz15LnhXPzk0OjkzOks9PTkzPyh2PW5ldyBmTihsLHRoaXMpLE89eS5EOXx8eS5zcmMsWT15Lmxpc3RlbmVyLHkuemwmJiRUKCJvbiIsNDAsbnVsbCx5KSxVPVkuY2FsbChPLHYpLEs9NjYpOks9PTQ1P0s9RS05PDwxPEUmJihFLTZeMTYpPj1FPzI2OjI4Oks9PTMyP0s9MjpLPT0yP0s9KEUmMTEwKT09RT85Njo1OTpLPT05ND8oVT10cnVlLEs9NjYpOks9PTQzPyh0aGlzLnR5cGU9eSx0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bCx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5Tcj1mYWxzZSxLPTQ1KTpLPT01OSYmKEs9KEUtUl4zMCk8RSYmRS02PDwxPj1FPzQzOjQ1KX19LGVEPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJLFAsVyl7Zm9yKFc9ODU7VyE9OTE7KWlmKFc9PTgzKVc9KHkmMjcpPT15PzMwOjQ4O2Vsc2UgaWYoVz09ODUpVz04MztlbHNlIGlmKFc9PTMwKXtpZihZPWwuWi5sW1N0cmluZyhFKV0pe2ZvcihuPShJPShZPVkuY29uY2F0KCksMCksdHJ1ZSk7STxZLmxlbmd0aDsrK0kpKFQ9WVtJXSkmJiFULnhXJiZULmNhcHR1cmU9PVUmJihLPVQuRDl8fFQuc3JjLE89VC5saXN0ZW5lcixULnpsJiZMKFIsNyxULGwuWiksbj1PLmNhbGwoSyx2KSE9PWZhbHNlJiZuKTtQPW4mJiF2LmRlZmF1bHRQcmV2ZW50ZWR9ZWxzZSBQPXRydWU7Vz00OH1lbHNle2lmKFc9PTMpcmV0dXJuIFA7Vz09ND8obD1SLFA9ZnVuY3Rpb24oKXtyZXR1cm4gbDxFLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpFW2wrK119Ontkb25lOnRydWV9fSxXPTMpOlc9PTQ4JiYoVz0oeS02fDEwKT49eSYmeSs2Pj4xPHk\/NDozKX19LEE9ZnVuY3Rpb24oUix5LEUsbCxVLHYpe2ZvcihVPTY0O1UhPTc4OylpZihVPT00NilrKEUsbCx5KSx5W0t3XT0yNzk2LFU9Nzc7ZWxzZSBpZihVPT02MilVPShSLTh8MzUpPj1SJiYoUi0yXjE4KTxSPzQ2Ojc3O2Vsc2UgaWYoVT09NzcpVT0oUiszJjcpPT0xPzg1OjA7ZWxzZSBpZihVPT0xMyl0aGlzLm4rKyxFPXktdGhpcy5BLHRoaXMuQSs9RS90aGlzLm4sdGhpcy50VCs9RSooeS10aGlzLkEpLFU9MzQ7ZWxzZSBpZihVPT0zMylTWC5jYWxsKHRoaXMpLHl8fFdTfHwoV1M9bmV3IHEwKSx0aGlzLmk9bnVsbCx0aGlzLmdyPWZhbHNlLHRoaXMudXA9dm9pZCAwLHRoaXMuckI9ZmFsc2UsdGhpcy5sND10aGlzLm1sPXRoaXMuYWg9dGhpcy5aOT1udWxsLFU9NjI7ZWxzZSBpZihVPT02NClVPTM5O2Vsc2V7aWYoVT09MClyZXR1cm4gdjtVPT04NT8odHlwZW9mIEUuY2xhc3NOYW1lPT15P0UuY2xhc3NOYW1lPWw6RS5zZXRBdHRyaWJ1dGUmJkUuc2V0QXR0cmlidXRlKCJjbGFzcyIsbCksVT0wKTpVPT0zND9VPSgoUnwxKSY3KT09Mz8zMzo2MjpVPT0zOSYmKFU9KFI+PjImNyk9PTI\/MTM6MzQpfX0sRz1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQpe2lmKCh5JjE1KT09KCh5Pj4oKHl8KCh5Jjk0KT09eSYmKFU9Wy0yNSw5Myw2OSwtNTMsLTg0LDg5LFUsLTQ1LDAsMjZdLE89LTEtfih2fDcpLSh2XjcpLFk9Vmcsbj1IdFtFLmhdKEUueHcpLG5bRS5oXT1mdW5jdGlvbihJKXtPPShPKz0oSz1JLDYrNyp2KSwoT3xSKSsofk9eNyktKE98LTgpKX0sbi5jb25jYXQ9ZnVuY3Rpb24oSSxQLFcsUyl7cmV0dXJuKFc9KEk9LTI4NSpsKmwqSysoKFM9bCUxNisxLFkpKCl8UikqUy1TKkstNjI3KksrTys1KmwqbCpTKzU3KksqSy01MzAxKmwqSytVW08rMjcmN10qbCpTLEs9dm9pZCAwLFVbSV0pLFUpWyhQPU8rMjEsKFB8UiktKFBeNykrKH5QJjcpKSsodiYyKV09VyxVW08rKHYmMildPTkzLFd9LFQ9biksNjQpKT09eSYmKFIuST9UPUJ0KFIuUixSKToobD1wKFIsdHJ1ZSw4KSxsJjEyOCYmKGw9Mip+KGwmMTI4KS0yKn5sLShsfC0xMjkpKyh+bHwxMjgpLFU9cChSLHRydWUsMiksbD0oRT1sPDwyLDMqKEV8VSktKEUmVSktIC0yKzIqKH5FXlUpKSksVD1sKSksMikmMyk9PTEmJihSLkk\/VD1CdChSLlIsUik6KFU9cChSLHRydWUsOCksVSYxMjgmJihVPTIqfihVJjEyOCktMip+VS0oVXwtMTI5KSsoflV8MTI4KSxsPXAoUix0cnVlLDIpLFU9KEU9VTw8MiwzKihFfGwpLShFJmwpLSAtMisyKih+RV5sKSkpLFQ9VSkpLHkpKXtmb3IoWT0odj1iKEUsMTApLFIpO2w+UjtsLS0pWT0oVT1ZPDw4LE89RFUodHJ1ZSw4LEUpLChVJk8pK34oVSZPKS1+KFV8TykpO2EoWSx2LEUpfXJldHVybiBUfSxoZD1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQsSSl7cmV0dXJuKCh5Jjc3KT09eSYmKFU9SHRbbC5oXShsLkhRKSxVW2wuaF09ZnVuY3Rpb24oKXtyZXR1cm4gRX0sVS5jb25jYXQ9ZnVuY3Rpb24oUCl7RT1QfSxUPVUpLCh5LTN8MjYpPHkmJih5KzUmNTcpPj15KSYmKFQ9ST1mdW5jdGlvbigpe3t2YXIgUD03Njt3aGlsZShQIT04OSlpZihQPT00MClQPVU9PUU\/NTI6Nzc7ZWxzZSBpZihQPT02OSl7dmFyIFc9IVkuSi5sZW5ndGg7eigzOCxSLFkscSksVyYmeig1OSxSLGwsWSxsKSxQPTExfWVsc2UgaWYoUD09NzYpUD1ZLnU9PVk\/NjQ6ODk7ZWxzZSBpZihQPT01Mil7dmFyIFM9eigxMSwoeigzMyxSLFkscSksUiksbCxZLGwpO1A9MTF9ZWxzZXtpZihQPT0xMSlyZXR1cm4gUztpZihQPT02NClQPVkuTj8yNTo4MjtlbHNlIGlmKFA9PTI4KVM9cE4oWSwzLDQ2NSxxKSxQPTExO2Vsc2UgaWYoUD09ODIpSyYmbiYmSy5yZW1vdmVFdmVudExpc3RlbmVyKG4sSSxOMCksUD04OTtlbHNlIGlmKFA9PTc3KVA9VT09MT82OToyODtlbHNlIGlmKFA9PTI1KXZhciBxPVt3TSx2LChQPTQwLE8pLHZvaWQgMCxLLG4sYXJndW1lbnRzXX19fSksVH0sT2s9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEspe2ZvcihLPTIwO0shPTUzOylpZihLPT04MSlZPXYsSz0yNjtlbHNlIGlmKEs9PTI2KUs9RT4+MSYxMT83MTo0MDtlbHNlIGlmKEs9PTI0KUs9Tz85Mzo1OTtlbHNle2lmKEs9PTU0KXJldHVybiBZO0s9PTE0Pyh5Kz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbC5zbGljZShVLFUrODE5MikpLEs9ODMpOks9PTQ2Pyh2PU8oeSkucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIiksSz04MSk6Sz09NTk\/KHY9dm9pZCAwLEs9ODEpOks9PTQzP0s9NDc6Sz09OTM\/KFU9Uix5PSIiLEs9NDMpOks9PTQ3P0s9VTxsLmxlbmd0aD8xNDo0NjpLPT03Nz8oTz13aW5kb3cuYnRvYSxLPTI0KTpLPT0xP0s9RS00PDwxPj1FJiYoRSs5XjI3KTxFPzc3OjI2Oks9PTcxP0s9RS0zJjc\/NTQ6NjE6Sz09ODM\/KFUrPTgxOTIsSz00Nyk6Sz09NjE\/KFk9ISEoTz12Lk1yLC0oVXxsKSt5KihPfFUpLXkqKE9eVSkrKH5PJlUpKSYmS04oeSx2LFUsMzIpLEs9NTQpOks9PTQwPyhsKGZ1bmN0aW9uKG4pe24oeSl9KSxZPVtmdW5jdGlvbigpe3JldHVybiB5fSxmdW5jdGlvbigpe31dLEs9NzEpOks9PTIwJiYoSz0xKX19LCRUPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJLFAsVyl7e1A9OTM7d2hpbGUoUCE9MzcpaWYoUD09MjQpUD0zMTtlbHNle2lmKFA9PTIzKXJldHVybiBXO2lmKFA9PTM4KW5OKDMzLEUsbCksUD0yMztlbHNlIGlmKFA9PTI2KUwoRSw2LGwsTy5aKSxQPTIzO2Vsc2UgaWYoUD09OTUpUD0oeS02XjI1KT49eSYmKHktM3wxOCk8eT8zOjgzO2Vsc2UgaWYoUD09OTMpUD05NTtlbHNlIGlmKFA9PTgyKVA9TyYmT1t0cF0\/MjY6MzA7ZWxzZSBpZihQPT05NilQPVUuUVQ9PTA\/NDoyMztlbHNlIGlmKFA9PTIxKXthOntpZihLJiZ0eXBlb2YgSy5sZW5ndGg9PVIpe2lmKElyKDMzLCJvYmplY3QiLEspKXtuPXR5cGVvZiBLLml0ZW09PSJmdW5jdGlvbiJ8fHR5cGVvZiBLLml0ZW09PSJzdHJpbmciO2JyZWFrIGF9aWYodHlwZW9mIEs9PT0iZnVuY3Rpb24iKXtuPXR5cGVvZiBLLml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19bj1FfUooMCxVLDMzLEksbj9HaigxOCwzLDAsSyk6SyksUD01fWVsc2UgUD09ODM\/UD0oeXw4KT4+Mz09MT8zNDoxNDpQPT0yOT9QPXR5cGVvZiBsIT09Im51bWJlciImJmwmJiFsLnhXPzEzOjIzOlA9PTQ5P1A9IVNEKDMsMzIsUiwib2JqZWN0IiwiYXJyYXkiLEspfHxJcigzMywib2JqZWN0IixLKSYmSy5ub2RlVHlwZT4wPzExOjIxOlA9PTMxP1A9VDx2Lmxlbmd0aD8xNTo4MzpQPT0wP1A9VT84OTozODpQPT0zMD8odj1sLnByb3h5LFk9bC50eXBlLE8ucmVtb3ZlRXZlbnRMaXN0ZW5lcj9PLnJlbW92ZUV2ZW50TGlzdGVuZXIoWSx2LGwuY2FwdHVyZSk6Ty5kZXRhY2hFdmVudD9PLmRldGFjaEV2ZW50KFJyKDE1LDUwLFIsWSksdik6Ty5hZGRMaXN0ZW5lciYmTy5yZW1vdmVMaXN0ZW5lciYmTy5yZW1vdmVMaXN0ZW5lcih2KSxsUS0tLFU9eig3MSxPKSxQPTApOlA9PTExPyhJKEspLFA9NSk6UD09MzQ\/KEUuY2xhc3NMaXN0P0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoUixmdW5jdGlvbihTKXtHaigxOCw1LCIgIiwwLCJjbGFzcyIsInN0cmluZyIsUyxFKX0pOkEoNiwic3RyaW5nIixFLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChKKCJjbGFzcyIsRSwzNiksZnVuY3Rpb24oUyl7cmV0dXJuIShMTig2NSwwLDE1LFMsUik+PTApfSkuam9pbigiICIpKSxQPTE0KTpQPT0xNT8oSz12W1RdLFA9NDkpOlA9PTM\/KEk9ZnVuY3Rpb24oUyl7UyYmTy5hcHBlbmRDaGlsZCh0eXBlb2YgUz09PSJzdHJpbmciP1kuY3JlYXRlVGV4dE5vZGUoUyk6Uyl9LFQ9bCxQPTI0KTpQPT0xND9QPSh5Pj4yJjYpPT0yPzI5OjIzOlA9PTEzPyhPPWwuc3JjLFA9ODIpOlA9PTU\/KFQrKyxQPTMxKTpQPT00PyhVLnNyYz1FLE9bVGpdPUUsUD0yMyk6UD09ODkmJihMKEUsNSxsLFUpLFA9OTYpfX19LElyPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCl7Zm9yKG49MjA7biE9OTQ7KWlmKG49PTkzKW49ODA7ZWxzZSBpZihuPT04MCluPUs+Nz84OToxNjtlbHNlIGlmKG49PTg5KUstPTgsTy5wdXNoKFU+PksmMjU1KSxuPTI7ZWxzZSBpZihuPT0xMClUPU8sbj00OTtlbHNlIGlmKG49PTIwKW49NjtlbHNlIGlmKG49PTYpbj0oUnw0MCk9PVI\/NjM6NDk7ZWxzZSBpZihuPT03NilUPU1hdGguZmxvb3IodGhpcy5GKCkpLG49MjE7ZWxzZSBpZihuPT02MylLPTAsTz1bXSx2PTAsbj05NztlbHNlIGlmKG49PTE2KXYrKyxuPTIyO2Vsc2UgaWYobj09MjIpbj12PHkubGVuZ3RoPzM1OjEwO2Vsc2UgaWYobj09NDkpbj1SLTE+PjM\/MjE6NzY7ZWxzZXtpZihuPT05NSlyZXR1cm4gVDtuPT04Mz8obC5lcihmdW5jdGlvbihJKXtVPUl9LHksRSksVD1VLG49MzIpOm49PTk3P249MjI6bj09Mj9uPTgwOm49PTMyP249Uj4+MSYxNT85NTo3MjpuPT03Mj8obD10eXBlb2YgRSxUPWw9PXkmJkUhPW51bGx8fGw9PSJmdW5jdGlvbiIsbj05NSk6bj09MjE\/bj0oUnwyNCk9PVI\/ODM6MzI6bj09MzUmJihLKz1FLFU9KFk9VTw8RSxsPXlbdl0sKFl8MCktKH5ZXmwpKyh+WXxsKSksbj05Myl9fSxxJD1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQpe3tuPTc7d2hpbGUobiE9NDIpaWYobj09UilLPWZ1bmN0aW9uKCl7fSx2PXZvaWQgMCxZPWpEKEUsZnVuY3Rpb24oSSxQKXtmb3IoUD04OTtQIT0xOTspUD09ODk\/UD1LPzY4OjE5OlA9PTY4JiYobCYmRnIobCksdj1JLEsoKSxLPXZvaWQgMCxQPTE5KX0sISFsKSxPPVlbMF0sVT1ZWzFdLFQ9e3RvcDpmdW5jdGlvbihJLFAsVyxTLHEsTixoKXtmb3IoTj03NDtOIT01NjspaWYoTj09OTkpTj12PzYzOjY5O2Vsc2UgaWYoTj09NjkpUz1LLEs9ZnVuY3Rpb24oKXsoUygpLEZyKShoKX0sTj01NjtlbHNle2lmKE49PTMpcmV0dXJuIHE9TyhXKSxJJiZJKHEpLHE7Tj09NzQ\/KGg9ZnVuY3Rpb24oKXt2KGZ1bmN0aW9uKHcpe0ZyKGZ1bmN0aW9uKCl7SSh3KX0pfSxXKX0sTj00MSk6Tj09NDE\/Tj1QPzk5OjM6Tj09NjMmJihoKCksTj01Nil9fSxwZTpmdW5jdGlvbihJKXtVJiZVKEkpfX0sbj03MztlbHNlIGlmKG49PTE1KW49eS05Pj40PzczOlI7ZWxzZSBpZihuPT0zNCl7aWYodj0oTz1jLnRydXN0ZWRUeXBlcyxsKSxPJiZPLmNyZWF0ZVBvbGljeSl7dHJ5e3Y9Ty5jcmVhdGVQb2xpY3koRSx7Y3JlYXRlSFRNTDpzayxjcmVhdGVTY3JpcHQ6c2ssY3JlYXRlU2NyaXB0VVJMOnNrfSl9Y2F0Y2goSSl7aWYoYy5jb25zb2xlKWMuY29uc29sZVtVXShJLm1lc3NhZ2UpfVQ9dn1lbHNlIFQ9djtuPTE3fWVsc2UgaWYobj09OTYpbj0oeSY5MSk9PXk\/MzQ6MTc7ZWxzZSBpZihuPT03KW49Mjk7ZWxzZSBpZihuPT0yOSluPSh5KzUmNTgpPj15JiYoeS04fDE2KTx5Pzc2Ojk2O2Vsc2UgaWYobj09NzYpVD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRSxSVykmJkVbUlddfHwoRVtSV109Kytsdyksbj05NjtlbHNlIGlmKG49PTE3KW49KHl8NDApPT15Pzg4OjE1O2Vsc2UgaWYobj09ODgpbj0xNTtlbHNlIGlmKG49PTczKXJldHVybiBUfX0sTE49ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZKXtmb3IoWT0yMTtZIT01OTspe2lmKFk9PTMyKXJldHVybiBPO2lmKFk9PTEyKVk9KEUmOTIpPT1FPzM4OjM5O2Vsc2UgaWYoWT09Uil7YTppZih0eXBlb2YgVT09PSJzdHJpbmciKU89dHlwZW9mIGwhPT0ic3RyaW5nInx8bC5sZW5ndGghPTE\/LTE6VS5pbmRleE9mKGwseSk7ZWxzZXtmb3Iodj15O3Y8VS5sZW5ndGg7disrKWlmKHYgaW4gVSYmVVt2XT09PWwpe089djticmVhayBhfU89LTF9WT0xMn1lbHNlIFk9PTk0PyhZYy5jYWxsKHRoaXMseSxsfHxudy5YZSgpLFUpLFk9MzIpOlk9PTQxP1k9KEU8PDImMTUpPj0xMSYmRS05PDIyP1I6MTI6WT09Mzk\/WT0oRV40Mik8MjQmJkUrMT49MTg\/OTQ6MzI6WT09MjE\/WT00MTpZPT0zOCYmKE89eSxZPTM5KX19LFJyPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJKXtmb3IoVD02O1QhPVI7KWlmKFQ9PTMzKXthOntmb3IoSz1bKFk9RSxsPT10eXBlb2YgZ2xvYmFsVGhpcykmJmdsb2JhbFRoaXMsdixsPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csbD09dHlwZW9mIHNlbGYmJnNlbGYsbD09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtZPEsubGVuZ3RoOysrWSlpZigoTz1LW1ldKSYmT1tVXT09TWF0aCl7bj1PO2JyZWFrIGF9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTt9VD01MH1lbHNlIGlmKFQ9PTU3KVQ9KHl8NDApPT15PzMzOjUwO2Vsc2UgaWYoVD09MTYpVD0oeS0yXjkpPj15JiYoeSs1XjMwKTx5Pzg4Ojk4O2Vsc2UgaWYoVD09MzkpST1mdW5jdGlvbihQKXtyZXR1cm4gRS5jYWxsKEkuc3JjLEkubGlzdGVuZXIsUCl9LEU9UWcsbj1JLFQ9NTc7ZWxzZSBpZihUPT02KVQ9MTY7ZWxzZSBpZihUPT05OClUPXktMjw0MCYmeTw8Mj49MjI\/Mzk6NTc7ZWxzZXtpZihUPT01MClyZXR1cm4gbjtUPT04OCYmKG49bCBpbiBndT9ndVtsXTpndVtsXT1FK2wsVD05OCl9fSxkdT1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQsSSxQKXtmb3IoST0zMDtJIT0yMzspaWYoST09MzApST05NDtlbHNle2lmKEk9PTU2KXJldHVybiBQO2lmKEk9PTU3KUU9UixFPSh5PUU8PDEzLC0oRSZ5KSt+RS0yKn4oRXx5KSsoRXx+eSkpLEVePUU+PjE3LEVePUU8PDUsKEU9LX5FLShFXmwpKzIqKH5FJmwpKyhFfH5sKSl8fChFPTEpLFA9KFV8RSkrfkUtKFV8fkUpLEk9NTY7ZWxzZSBpZihJPT03Myl7aWYobC51PShUPShLPShZPShSfHxsLllXKyssbC5qcik+MCYmbC5KVCYmbC55WiYmbC5vaDw9VSYmIWwuSSYmIWwuSyYmKCFSfHxsLlN6LXk+VSkmJmRvY3VtZW50LmhpZGRlbj09MCwobj1sLllXPT00KXx8WT9sLkYoKTpsLkZlKSxLLWwuRmUpLGwuQis9VD4+MTQ+MCxsLlcmJihsLldePShsLkIrVT4+MikqKFQ8PDIpKSxsLkIrVT4+MiE9MCl8fGwudSxufHxZKWwuRmU9SyxsLllXPTA7ST0oWT8obC5qcj5sLnByJiYobC5wcj1sLmpyKSxLLWwueVQ8bC5qci0oRT8yNTU6Uj81OjIpP1A9ZmFsc2U6KGwuU3o9eSxPPXQoUj8xMDU6NDA1LGwpLGsoNDA1LGwsbC5nKSxsLkoucHVzaChbcnUsTyxSP3krVTp5LGwuTyxsLkxdKSxsLks9RnIsUD10cnVlKSk6UD1mYWxzZSw2Nyl9ZWxzZSBJPT02Nz9JPSh2XjE4KSY1PzU2OjU3Okk9PTk0JiYoST0odiszXjMwKT49diYmKHYrN14yMik8dj83Mzo2Nyl9fSxvVz1mdW5jdGlvbihSLHkpe2Z1bmN0aW9uIEUoKXt0aGlzLkE9dGhpcy50VD10aGlzLm49MH1yZXR1cm5bZnVuY3Rpb24obCl7KHkuTHIobCksUikuTHIobCl9LChSPW5ldyAoeT0oKEUucHJvdG90eXBlLmE0PWZ1bmN0aW9uKCl7cmV0dXJuIHouY2FsbCh0aGlzLDkpfSxFKS5wcm90b3R5cGUuTHI9ZnVuY3Rpb24obCxVKXtyZXR1cm4gQS5jYWxsKHRoaXMsOCxsLFUpfSxuZXcgRSksRSksZnVuY3Rpb24obCl7cmV0dXJuIFI9bmV3IChsPVt5LmE0KCksUi5hNCgpLHkuQSxSLkFdLEUpLGx9KV19LHQ9ZnVuY3Rpb24oUix5LEUpe0U9eS5OW1JdO2ZvcihbXT09KCFbdW5kZWZpbmVkXT09MCE9IVtdKTtFPT09dm9pZCAwO05hTil7dGhyb3dbRDIsMzAsUl07aWYoIVsiIl09PTApYnJlYWt9d2hpbGUoRS52YWx1ZSl7cmV0dXJuIEUuY3JlYXRlKCk7aWYoMCE9IVt0cnVlLnRydWVdPT0hW10pYnJlYWt9cmV0dXJuKEUuY3JlYXRlKFIqNSpSKzkzKlIrMTEpLEUpLnByb3RvdHlwZX0sUT1mdW5jdGlvbihSLHksRSxsLFUpe2ZvcihFPTIqKHl8MSktfih5JjEpKzMqfih5fDEpLTIqKH55fChsPVtdLDEpKTtFPj0wO0UtLSlsWy1+KHkmMSkrfih5fDEpKzIqKHkmLTIpLShFfDApXT0oVT1SPj5FKjgsLTEtflUtKFUmLTI1NikpO3JldHVybiBsfSxqRD1mdW5jdGlvbihSLHksRSxsLFUsdixPLFkpe3JldHVybiB2Uy5jYWxsKHRoaXMsODAsMjMsUix5LEUsbCxVLHYsTyxZKX0scTA9ZnVuY3Rpb24oKXtyZXR1cm4gTiQuY2FsbCh0aGlzLDAsODEpfSx4Yz1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyl7aWYoIWwuail7bC5vaCsrO3RyeXt2PShVPXZvaWQgMCxSKTt7Tz1sLmc7d2hpbGUoLS15KXRyeXtpZihZPXZvaWQgMCxsLkkpVT1CdChsLkksbCk7ZWxzZXtpZih2PU0oNDA1LGwpLHY+PU8pYnJlYWs7VT1nKChZPUcobCwoaygxMDUsbCx2KSw2NykpLFkpLGwpfWR1KGZhbHNlLChVJiYoSz1VW2NTXSwtfihLfEUpLSh+SyZFKSsofkt8RSkpP1UobCx5KTpwdyhbRDIsMjEsWV0sbCxSLDg0KSx5KSxmYWxzZSxsLDEsMTIpfWNhdGNoKG4pe2coMSxsKT9wdyhuLGwsMjIsODQpOmsoMSxsLG4pfX1pZigheSl7aWYobC5EQSl7eGMoKGwub2gtLSwwKSw2NDMwNDc4NDI5MzQsMjA0OCxsKTtyZXR1cm59cHcoW0QyLDMzXSxsLFIsODQpfX1jYXRjaChuKXt0cnl7cHcobixsLDIyLDg0KX1jYXRjaChUKXtQdChSLDUsbCxULCI6Iil9fWwub2gtLX19LERVPWZ1bmN0aW9uKFIseSxFKXtyZXR1cm4gRS5JP0J0KEUuUixFKTpwKEUsUix5KX0sQ3c9ZnVuY3Rpb24oUix5KXt3aGlsZShbXSl7cmV0dXJuICRULmNhbGwodGhpcyx5LDMsUik7aWYoW10pYnJlYWt9fSxidz1mdW5jdGlvbihSLHkpe2Zvcih2YXIgRT0xMDtFIT02MDspaWYoRT09MzEpRT1sPGFyZ3VtZW50cy5sZW5ndGg\/MDo2MDtlbHNlIGlmKEU9PTgpRT0zMTtlbHNlIGlmKEU9PTg4KUU9Tzx1dy5sZW5ndGg\/MTY6MzQ7ZWxzZSBpZihFPT0zKUU9ODg7ZWxzZSBpZihFPT0xMCl2YXIgbD0oRT04LDEpO2Vsc2UgaWYoRT09OTEpTysrLEU9ODg7ZWxzZSBpZihFPT0zNClsKyssRT0zMTtlbHNlIGlmKEU9PTE2KXt2YXIgVT11d1tPXTtFPShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodixVKSYmKFJbVV09dltVXSksOTEpfWVsc2UgaWYoRT09MCl7dmFyIHY9YXJndW1lbnRzW2xdO2ZvcihVIGluIHYpUltVXT12W1VdO3ZhciBPPShFPTMsMCl9fSxwPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJLFAsVyxTLHEpe2lmKChPPWcoNDA1LFIpLE8pPj1SLmcpdGhyb3dbRDIsMzFdO2ZvcihVPShsPShLPU8sKHE9MCxSKS5SNC5sZW5ndGgpLEUpO1U+MDspVD1LJTgsUz04LShUfDApLFc9Sz4+MyxuPVIubHBbV10sWT1TPFU\/UzpVLHkmJihJPVIsSS5vIT1LPj42JiYoSS5vPUs+PjYsdj1NKDczLEkpLEkua1c9emYoMzI2MCxJLlcsMyxJLm8sWzAsMCx2WzFdLHZbMl1dKSksbl49Ui5rV1tXJmxdKSxLKz1ZLHF8PShuPj44LShUfDApLShZfDApJigxPDxZKS0xKTw8KFV8MCktKFl8MCksVS09WTtyZXR1cm4gYSgoT3wwKSsoRXwwKSw0MDUsKFA9cSxSKSksUH0sQWQ9ZnVuY3Rpb24oUix5KXtmdW5jdGlvbiBFKCl7dGhpcy5uPSh0aGlzLnY9W10sMCl9cmV0dXJuW2Z1bmN0aW9uKGwpe1IuTzIobCkseS5PMihsKX0sKFI9KChFLnByb3RvdHlwZS5PMj1mdW5jdGlvbihsLFUpe3JldHVybiBuTi5jYWxsKHRoaXMsNSxsLFUpfSxFKS5wcm90b3R5cGUudTQ9ZnVuY3Rpb24oKXtyZXR1cm4gYXIuY2FsbCh0aGlzLCJvZmYiLDM4KX0sbmV3IEUpLHk9bmV3IEUsZnVuY3Rpb24obCl7cmV0dXJuIGw9Ui51NCgpLmNvbmNhdCh5LnU0KCkpLHk9bmV3IEUsbH0pXX0sTHc9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCxXKXtmb3IoST0obj15LnJlcGxhY2UoL1xcclxcbi9nLCJcXG4iKSx2PWw9MCxbXSk7djxuLmxlbmd0aDt2KyspUD1uLmNoYXJDb2RlQXQodiksUDwxMjg\/SVtsKytdPVA6KFA8Uj9JW2wrK109KEs9UD4+NiwtfihLJjE5MikrMyooSyYtMTkzKS0oS3wtMTkzKSsyKih+S3wxOTIpKTooLX4oUCY2NDUxMikrKH5QJjY0NTEyKSsoUHwtNjQ1MTMpPT01NTI5NiYmdisxPG4ubGVuZ3RoJiYoVD1uLmNoYXJDb2RlQXQodisxKSwtfihUfDY0NTEyKS0oflQmNjQ1MTIpKyh+VHw2NDUxMikpPT01NjMyMD8oUD02NTUzNisoLX4oUHwxMDIzKS0oUCYtMTAyNCkrKFB8LTEwMjQpPDwxMCkrKFU9bi5jaGFyQ29kZUF0KCsrdiksMTAyNCsoVXwtMTAyNCkpLElbbCsrXT1QPj4xOHwyNDAsSVtsKytdPShPPShFPVA+PjEyLDYzKyhFJi02NCktKEVeNjMpKSwtKE98MCkrfk8tMyp+KE98MTI4KSsyKihPfC0xMjkpKSk6SVtsKytdPShZPVA+PjEyLDIyMy0oflleMjI0KS0oflkmMjI0KSksSVtsKytdPShXPVA+PjYsMiooV3wwKS0oV3w2MyktKFd8LTY0KSsofld8NjMpKXwxMjgpLElbbCsrXT1QJjYzfDEyOCk7cmV0dXJuIEl9LHI9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyl7Tz10aGlzO3RyeXt0ZCh5LGwsVSxSLHRoaXMsdixFKX1jYXRjaChZKXtQdCgwLDksdGhpcyxZLCI6IiksRShmdW5jdGlvbihLKXtLKE8uail9KX19LGtjPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJKXt5LnB1c2goKE89UlswXTw8MjR8UlsxXTw8MTZ8UlsyXTw8OCxUPVJbM10sMS1+KE98VCkrMioofk8mVCkrMiooT3x+VCkpKSx5LnB1c2goKEk9KHY9Uls0XTw8MjR8Uls1XTw8MTYsVT1SWzZdPDw4LC1+KHZ8VSkrKHZeVSktKH52JlUpKyh+dnxVKSksRT1SWzddLC1+KEl8RSkrKH5JJkUpKyhJfH5FKSkpLHkucHVzaCgobD0obj1SWzhdPDwyNCxLPVJbOV08PDE2LC0yKn4obiZLKSt+SysyKihuXkspKyh+bnxLKSksWT1SWzEwXTw8OCwyKihZfDApLShsJlkpLX5sK35ZKXxSWzExXSl9LFYscE49ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEkpe2lmKEk9bFswXSxJPT1ocClSLkJZPTI1LFIuTD10cnVlLFIuRyhsKTtlbHNlIHN3aXRjaCghKEk9PWlRKSl7Y2FzZSB0cnVlOmlmKEk9PXJ1KWxbeV0mJihSLk89dHJ1ZSksbFs0XSYmKFIuTD10cnVlKSxSLkcobCk7ZWxzZSBzd2l0Y2goIShJPT1YbSkpe2Nhc2UgdHJ1ZTppZihJPT1NMCl7d2hpbGUoW10pe3RyeXtmb3IoVD0wO1Q8Ui5zMi5sZW5ndGg7VCsrKXRyeXtZPVIuczJbVF0sWVswXVtZWzFdXShZWzJdKX1jYXRjaChQKXt9fWNhdGNoKFApe31pZih0cnVlIT1bXSE9W10hPVtdKWJyZWFrfSgwLGxbMV0pKGZ1bmN0aW9uKFAsVyl7Ui5lcihQLHRydWUsVyl9LGZ1bmN0aW9uKFApe3doaWxlKC0wPT09MClpZighW3VuZGVmaW5lZF09PShQPSFSLkoubGVuZ3RoLE51bWJlcigpKSlicmVhazsoeigzNywwLFIsW2NTXSksUCkmJnooNzUsMCx0cnVlLFIsZmFsc2UpfSxmdW5jdGlvbihQKXtyZXR1cm4gUi52WShQKX0sKFIuczI9W10sdj1SLkYoKSxmdW5jdGlvbihQLFcsUyl7cmV0dXJuIFIuejAoUCxXLFMpfSkpLFIuUCs9Ui5GKCktdn1lbHNle3N3aXRjaCghKEk9PXdNKSl7Y2FzZSBudWxsIT1mYWxzZTowO2JyZWFrO2Nhc2UgdHJ1ZT09IVtdOnJldHVybiBLPWxbMl0sYShsWzZdLEUsUiksSCgyNjEsUixLKSxSLkcobCk7YnJlYWt9ST09Y1M\/KFIuRyhsKSxSLktyPVtdLFIubHA9W10sUi5OPW51bGwpOkk9PUt3JiZjLmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihSLks9ZnVuY3Rpb24oUCxXKXtmdW5jdGlvbiBTKHEpe3txPTQzO3doaWxlKHEhPTM2KXE9PTMyPyhXPXRydWUsYy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixTLE4wKSxjLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLFMsTjApLFAoKSxxPTM2KTpxPT00MyYmKHE9Vz8zNjozMil9fWMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsUywoVz1mYWxzZSxOMCkpLGMuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsUyxOMCl9KX1icmVhaztjYXNlIGZhbHNlOlIuTz10cnVlLFIuRyhsKTticmVha31icmVhaztjYXNlIG51bGw9PWZhbHNlOlU9bFsxXTt0cnl7Tz1SLmp8fFIuRyhsKX1jYXRjaChQKXtQdCgwLDExLFIsUCwiOiIpLE89Ui5qfShVKChuPVIuRigpLE8pKSxSKS5QKz1SLkYoKS1uO2JyZWFrfX0sZnc9ZnVuY3Rpb24oUix5LEUsbCxVLHYpe3JldHVybiBxJC5jYWxsKHRoaXMsMzcsMTIsUix5LEUsbCxVLHYpfSwkYz1mdW5jdGlvbihSLHksRSxsLFUpe3JldHVybiBuTi5jYWxsKHRoaXMsMjQsbCxSLEUsVSx5KX0sR2Y9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbil7Zm9yKEs9KHY9YihsLChPPWxbYVddfHx7fSwzMSkpLE8uUVo9RyhsLDc5KSxPLlQ9W10sbC51PT1sKT8oVT1EVShSLHksbCksLX4oVSZFKSstMisoVSYtMikpOjEsWT1iKGwsMTUpLG49MDtuPEs7bisrKU8uVC5wdXNoKEcobCw3NSkpO2Zvcig7Sy0tOylPLlRbS109dChPLlRbS10sbCk7cmV0dXJuKE8ud0I9TSh2LGwpLE8pLkZOPWcoWSxsKSxPfSxhPWZ1bmN0aW9uKFIseSxFKXtzd2l0Y2goISh5PT00MDV8fHk9PTEwNSkpe2Nhc2UgTmFOIT09TmFOOmlmKEUuTUkmJnkhPTczKXJldHVybjt5PT0yMDd8fHk9PTg0fHx5PT02NHx8eT09NDg1fHx5PT0xNzV8fHk9PTMwMXx8eT09MjYwfHx5PT0zNTV8fHk9PTEwMXx8eT09MTY4P0UuTlt5XXx8KEUuTlt5XT1HKDAsMjYsRSx5LFIsMzgpKTpFLk5beV09RygwLDI0LEUseSxSLDE1Myk7YnJlYWs7Y2FzZSBOYU49PT1OYU46RS5OW3ldP0UuTlt5XS5jb25jYXQoUik6RS5OW3ldPWhkKDAsMTMsUixFKTticmVha315PT03MyYmKEUuVz1wKEUsZmFsc2UsMzIpLEUubz12b2lkIDApfSxkTT1mdW5jdGlvbihSLHksRSl7cmV0dXJuIExOLmNhbGwodGhpcyw2NSxSLDMyLHksRSl9LHRkPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4pe1k9KChVLnh3PXZTKChVLlI0PShVLnR5PShVLnN4PVZTLEhTKSxVKVtpUV0sODApLDg4LHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25jYXQoKX19LFUuaCksVSkuSFE9SHRbVS5oXShVLnh3LHt2YWx1ZTp7dmFsdWU6e319fSksMCk7e0s9W107d2hpbGUoWTwyOTcpS1tZXT1TdHJpbmcuZnJvbUNoYXJDb2RlKFkpLFkrK31VLnlaPShVLmtXPXZvaWQgMCxVLk89ZmFsc2UsZmFsc2UpLChVLnlUPShVLkdsPVtdLDApLFUpLkJZPTI1LFUucDU9KFUuVGw9ZmFsc2UsZnVuY3Rpb24oVCl7cmV0dXJuIHZTLmNhbGwodGhpcyw4MCw1NixUKX0pO3doaWxlKHt9KWlmKFUudT1VLHRydWUpYnJlYWs7VS5iND0oKChVLlQwPXksVS5wcj0wLFUpLm9oPTAsVS5MPWZhbHNlLFUubz12b2lkIDAsVSkuSz0oVS5OPShVLkk0PShVLlc9dm9pZCAwLFUuS3I9W10sVS5SPXZvaWQgMCxbXSksKFUuanI9MCxVKS5QPShVLkI9MSxVLmc9KFUuTUk9ZmFsc2UsMCksMCksVS5JPXZvaWQgMCxuPXdpbmRvdy5wZXJmb3JtYW5jZXx8e30sVS5ZVz12b2lkIDAsVS5xcj1bXSxVLkZlPTAsW10pLChVLkpUPWZhbHNlLFUpLmxwPVtdLFUuVlo9KFUuVlQ9MCwwKSwoKFUuSj1bXSxVKS5FMj12LFUpLnMyPVtdLG51bGwpLFUuaj0oVS5Tej0oVS5jWT12b2lkIDAsODAwMSksdm9pZCAwKSxuLnRpbWVPcmlnaW58fChuLnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydCl8fDAsRSYmRS5sZW5ndGg9PTImJihVLkk0PUVbMV0sVS5xcj1FWzBdKTtmb3IodHJ1ZTtsO3VuZGVmaW5lZCl7dHJ5e1UuY1k9SlNPTi5wYXJzZShsKX1jYXRjaChUKXtVLmNZPXt9fWlmKGZhbHNlIT1udWxsKWJyZWFrfXooOTEsMCwoeigzNCwwLCh6KDM2LCh6KDMyLDAsKGEoKEEoMzEsZnVuY3Rpb24oVCl7c2ooVCw0KX0sKEEoMzEsZnVuY3Rpb24oVCxJLFAsVyxTLHEsTixoLHcsQixDLGQseWcsZSx4LHpqLHNxLEQpe3tEPTM0O3doaWxlKEQhPTIzKUQ9PTIyP0Q9NjE6RD09OTk\/RD0xODpEPT0zND8oc3E9ZnVuY3Rpb24oRixFcSl7Zm9yKDtQPEY7KXh8PURVKHRydWUsOCxUKTw8UCxQKz04O3JldHVybiB4Pj49KEVxPXgmKDE8PEYpLShQLT1GLDEpLEYpLEVxfSxCPWIoVCwxNCkseD1QPTAsVz0oc3EoMyl8MCkrMSxDPXNxKDUpLGg9emo9MCxJPVtdLEQ9MjIpOkQ9PTI0PyhkPTAsRD05OSk6RD09ODk\/KGQrKyxEPTE4KTpEPT00MT8oSVtkXSYmKHdbZF09YihULDE0KSksRD04OSk6RD09Mzk\/KHpqKyssRD02MSk6RD09MTA\/RD1lPEM\/ODA6MjQ6RD09NzY\/KGUrKyxEPTEwKTpEPT04MD8oSVtlXXx8KHdbZV09c3EocSkpLEQ9NzYpOkQ9PTE4P0Q9ZDxDPzQxOjE3OkQ9PTM\/KHlnPXNxKDEpLEkucHVzaCh5ZyksaCs9eWc\/MDoxLEQ9MzkpOkQ9PTUwPyhBKDMyLGZ1bmN0aW9uKEYsRXEsZixKcCxtLHUpe2Zvcih1PTE2O3UhPTg7KXU9PTU1PyhKcC5wdXNoKG0pLHU9OTEpOnU9PTY\/dT1mPEM\/OTg6MTg6dT09OTc\/dT1tPj1FcS5sZW5ndGg\/NDI6Njg6dT09OTg\/KG09d1tmXSx1PTUyKTp1PT0yNz91PTk3OnU9PTE4PyhGLkk9aGQoMCw1LE4uc2xpY2UoKSxGKSxGLlI9aGQoMCwxMixKcCxGKSx1PTgpOnU9PTE2PyhKcD1bXSxFcT1bXSxmPTAsdT0yNCk6dT09Njg\/KG09RXFbbV0sdT01NSk6dT09MzA\/dT05Nzp1PT05MT8oZisrLHU9Nik6dT09NTI\/dT1JW2ZdPzU1OjMwOnU9PTI0P3U9Njp1PT00MiYmKEVxLnB1c2goRyhGLDM3KSksdT0yNyl9LEIsVCksRD0yMyk6RD09NTQ\/RD1TLS0\/Mzg6NTA6RD09OTE\/RD01NDpEPT0xNz8oUz1XLE49W10sRD0xKTpEPT0xP0Q9NTQ6RD09Mzg\/KE4ucHVzaChnKEcoVCwyMSksVCkpLEQ9OTEpOkQ9PTU5P0Q9MTA6RD09NjE\/RD16ajxDPzM6NDA6RD09NDAmJihxPSgoaHwwKS0xKS50b1N0cmluZygyKS5sZW5ndGgsZT0wLHc9W10sRD01OSl9fSwoQSgyMyxmdW5jdGlvbihULEksUCxXLFMscSl7e3E9ODE7d2hpbGUocSE9MTIpcT09Mjc\/KEkrKyxxPTIzKTpxPT04MT8oVz1HKFQsNjUpLFM9Y3QoMTI3LDM0LFQpLEk9MCxQPVtdLHE9NjgpOnE9PTQ3PyhIKFcsVCxQKSxxPTEyKTpxPT05Mz8oUC5wdXNoKERVKHRydWUsOCxUKSkscT0yNyk6cT09Njg\/cT0yMzpxPT0yMyYmKHE9STxTPzkzOjQ3KX19LDIxOSwoQSgyMywoQSgyMyxmdW5jdGlvbihULEksUCxXLFMscSl7KFM9KFc9KEk9RygoUD1HKFQsMzkpLFQpLDU1KSxHKFQsNzUpKSxnKEksVCkpLHE9TShQLFQpLGEpKHEgaW4gU3wwLFcsVCl9LChrKDEyMyxVLChBKChhKFtdLDMwMSwoQSgzMywoYShbXSwoSCgoQSgyMywoQSgyNSxmdW5jdGlvbihUKXtqWCgzLFQpfSwyNDMsKEEoMjQsZnVuY3Rpb24oVCxJLFAsVyl7Vz1iKFQsKEk9RFUodHJ1ZSwoUD1HKFQsNzkpLDgpLFQpLDEzKSksSChXLFQsTShQLFQpPj4+SSl9LChBKDMyLGZ1bmN0aW9uKFQsSSxQLFcsUyxxLE4saCl7Uz0ocT0oST0oVz1iKChOPWIoVCwoUD1HKFQsMzgpLDEzKSksVCksMjYpLGIoVCwxMCkpLHQpKE4sVCksZyhXLFQpKSxoPWcoSSxUKSxrKFAsVCxoZCgwLDI4LDIsZmFsc2UsaCxxLFMsVCkpfSwoQSgyOSxmdW5jdGlvbihULEksUCxXLFMscSl7SCgocT1nKChJPShQPWIoVCwoUz1iKFQsKFc9RyhULDc3KSwyNykpLDEyKSksTShTLFQpKSxXKSxUKT09SSxQKSxULCtxKX0sKEgoKEEoKEEoMjQsZnVuY3Rpb24oVCl7RygwLDksVCw0KX0sKEEoMjksKFUuSzU9KEEoMjAsKEEoKEgoKGEoW10sMjYwLCgoYShVLChBKDI4LChIKDEsKEgoMzU1LFUsKEEoMjUsZnVuY3Rpb24oVCxJLFAsVyl7aygoUD0oVz1HKFQsKEk9RyhULDM2KSwyMSkpLEcpKFQsNjcpLFApLFQsdChJLFQpfHxnKFcsVCkpfSw0MzgsKEEoMjQsZnVuY3Rpb24oVCxJLFAsVyxTKXtJPWcoKFM9dCgoVz1HKFQsKFA9RyhULDc3KSw2NykpLFApLFQpIT0wLFcpLFQpLFMmJmEoSSw0MDUsVCl9LDEwOSwoQSgyOCxmdW5jdGlvbihULEksUCxXLFMscSl7Zm9yKHE9ODM7cSE9NDQ7KXE9PTE5PyhXPUdmKHRydWUsOCwxLFQpLFA9Vy53QixTPVcuRk4scT0xMyk6cT09MTM\/cT1ULnU9PVR8fFA9PVQucDUmJlM9PVQ\/MjA6NDQ6cT09ODM\/cT1kdSh0cnVlLEksZmFsc2UsVCwxLDEzKT80NDoxOTpxPT0yMCYmKEgoVy5RWixULFAuYXBwbHkoUyxXLlQpKSxULkZlPVQuRigpLHE9NDQpfSwoQSgzMixmdW5jdGlvbihULEksUCl7KEk9KFA9RyhULDY3KSxNKFAsVC51KSksSVswXSkucmVtb3ZlRXZlbnRMaXN0ZW5lcihJWzFdLElbMl0sTjApfSwyOTgsKChBKChBKDI5LGZ1bmN0aW9uKFQsSSxQLFcsUyl7e1M9NDA7d2hpbGUoUyE9MTkpUz09NDA\/KEk9VC5HbC5wb3AoKSxTPTY5KTpTPT02OT9TPUk\/OTE6ODk6Uz09NzM\/KFctLSxTPTMxKTpTPT05MT8oVz1EVSh0cnVlLDgsVCksUz02MSk6Uz09NjA\/KFA9YihULDExKSxJW1BdPVQuTltQXSxTPTczKTpTPT0zMT9TPVc+MD82MDoxNTpTPT02MT9TPTMxOlM9PTg5PyhhKFQuZyw0MDUsVCksUz0xOSk6Uz09MTUmJihJWzE3NV09VC5OWzE3NV0sSVsxNjhdPVQuTlsxNjhdLFQuTj1JLFM9MTkpfX0sKEEoMjEsZnVuY3Rpb24oVCxJLFAsVyxTLHEsTixoLHcsQixDLGQseWcsZSx4KXt7eD04ODt3aGlsZSh4IT04KWlmKHg9PTcwKXg9NTg7ZWxzZSBpZih4PT0zMilQKz1CLHg9NTg7ZWxzZSBpZih4PT03OClXPUcoVCw2NSksUz1HKFQsMjEpLHc9RyhULDc1KSxoPUcoVCw3NSksTj1nKFcsVCkscT1NKFMsVCksZT1NKGgsVCksQj10KHcsVCkseD0xODtlbHNlIGlmKHg9PTU4KXg9UDxDPzY2Ojg7ZWxzZSBpZih4PT0xOCl4PXd1KCJvYmplY3QiLE4sIm51bWJlciIpPT0ib2JqZWN0Ij85Mzo5NztlbHNlIGlmKHg9PTQyKUI9Qj4wP0I6MSxDPU4ubGVuZ3RoLFA9MCx4PTcwO2Vsc2UgaWYoeD09NjYpcShOLnNsaWNlKFAsKFB8MCkrKEJ8MCkpLGUpLHg9MzI7ZWxzZSBpZih4PT04OCl4PWR1KHRydWUsSSx0cnVlLFQsMSwxMSk\/ODo3ODtlbHNlIGlmKHg9PTk3KXg9VC51PT1UPzQyOjg7ZWxzZSBpZih4PT05Myl7Zm9yKGQgaW4geWc9W10sTil5Zy5wdXNoKGQpO049KHg9OTcseWcpfX19LChBKDMzLGZ1bmN0aW9uKFQsSSxQKXsoUD1HKFQsKEk9RyhULDM4KSwzNikpLGspKFAsVCwiIit0KEksVCkpfSwoKEgoKEgoNDg1LCgoSCgxNjgsKEgoNjQsVSwoVS5HMD0oSCgoSCg0MDUsKEEoMjEsKEEoMjUsKEEoMjAsZnVuY3Rpb24oVCxJLFAsVyxTLHEsTixoLHcpe3t3PTk2O3doaWxlKHchPTE3KXc9PTA\/dz0zMDp3PT0yNT8oYShJLFMsVCksdz0xNyk6dz09ODk\/dz0zMDp3PT0zMD93PVctLT8yOjI1Onc9PTI\/KGg9KE49Y3QoMTI3LDMzLFQpLC0oaHxOKSszKihoJk4pKzIqKGheTikpJXEsSS5wdXNoKFBbaF0pLHc9MCk6dz09OTYmJihTPUcoVCw1NCksVz1jdCgxMjcsMzYsVCksST1bXSxQPWcoMzcwLFQpLHE9UC5sZW5ndGgsaD0wLHc9ODkpfX0sMjAyLFUpLGZ1bmN0aW9uKFQsSSxQLFcsUyxxLE4saCx3LEIpe3tCPTc7d2hpbGUoQiE9NTIpQj09Nz8oUD1iKFQsMTIpLHc9YihULDExKSxxPUcoVCw3MyksaD10KHcsVCksVz1NKFAsVCksTj0iIixTPTAsQj01KTpCPT03NT8oSChxLFQsV1tOXSksQj01Mik6Qj09NT9CPTIzOkI9PTgwPyhOKz1TdHJpbmcuZnJvbUNoYXJDb2RlKChJPWhbU10sKEl8MCkrfihJJjEyMSktKEl8LTEyMikpKSxCPTYzKTpCPT0yMz9CPVM8aC5sZW5ndGg\/ODA6NzU6Qj09NjMmJihTKyssQj0yMyl9fSksMzgxLFUpLGZ1bmN0aW9uKFQsSSxQLFcsUyxxLE4saCx3KXtmb3Iodz05NDt3IT02Mzspdz09MjM\/KGEoSSBpbiBQfDAsUyxUKSx3PTYzKTp3PT05ND8oTj1HKFQsNzMpLHE9RyhULDY1KSxTPUcoVCwyMyksVz1nKE4sVCksUD10KHEsVCksaD0wLEk9IiIsdz02Nyk6dz09NDI\/dz1oPFcubGVuZ3RoPzQzOjIzOnc9PTY3P3c9NDI6dz09Njk\/KGgrKyx3PTQyKTp3PT00MyYmKEkrPVN0cmluZy5mcm9tQ2hhckNvZGUoV1toXV4xMjEpLHc9NjkpfSksNDUxLFUpLFUpLDApLDEwNSksVSwwKSwwKSxbXSkpLFUpLFsyMDQ4XSksQSkoMjEsZnVuY3Rpb24oVCl7algoNCxUKX0sNDk0LFUpLFUpLGl3KDQpKSwzNDApLFUsMCksaykoMzU4LFUsMCksOTMpLFUpLDk2KSxVKSwyMzIpLFUpLDIwKSxmdW5jdGlvbihULEksUCxXLFMscSxOLGgsdyxCKXt7Qj04NTt3aGlsZShCIT0yMylCPT01NT8oUz1HZih0cnVlLDgsMSxULnUpLFc9Uy5RWixOPVMuVCxQPVMud0IscT1TLkZOLHc9Ti5sZW5ndGgsaD13PT0wP25ldyBxW1BdOnc9PTE\/bmV3IHFbUF0oTlswXSk6dz09Mj9uZXcgcVtQXShOWzBdLE5bMV0pOnc9PTM\/bmV3IHFbUF0oTlswXSxOWzFdLE5bMl0pOnc9PTQ\/bmV3IHFbUF0oTlswXSxOWzFdLE5bMl0sTlszXSk6MigpLGsoVyxULGgpLEI9MjMpOkI9PTg1JiYoQj1kdSh0cnVlLEksZmFsc2UsVCwxLDE0KT8yMzo1NSl9fSwzOCxVKSxIKSgyMDcsVSxbMTU0LDAsMF0pLFUpKSwzNDQpLFUpLFUpKSxVKSksWzAsMCwwXSkpLEEoMzEsZnVuY3Rpb24oVCxJLFAsVyxTLHEsTixoLHcsQixDKXt7Qz02NTt3aGlsZShDIT03MilDPT02NT8oUD1HKFQsMzkpLHE9RyhULDY1KSxJPUcoVCwzNyksTj1HKFQsNzkpLFM9ZyhOLFQpLFc9ZyhxLFQpLHc9TShQLFQudSksaD1NKEksVCksQz01Myk6Qz09NjQ\/KEI9aGQoMCwyNywyLGZhbHNlLDEsaCxTLFQsdyxXKSx3LmFkZEV2ZW50TGlzdGVuZXIoVyxCLE4wKSx0KDMzOCxUKS5wdXNoKGZ1bmN0aW9uKCl7dy5yZW1vdmVFdmVudExpc3RlbmVyKFcsQixOMCl9KSxrKDM0MCxULFt3LFcsQl0pLEM9NzIpOkM9PTUzJiYoQz13IT09MD82NDo3Mil9fSw2MCxVKSxVKSw0MDYpLGZ1bmN0aW9uKFQpe3NqKFQsMSl9KSwyNzEsVSksMjI2KSxVKSxuZXcgZE0oIlN1Ym1pdCIpKS5kaXNwb3NlKCksVSkpLDg0KSxVLGl3KDQpKSwyMCksZnVuY3Rpb24oVCxJKXsoST1nKEcoVCw3MyksVCksRm0pKDAsODQsVC51LDQwNSwxMDQsSSl9LDQxNyxVKSxmdW5jdGlvbihULEksUCxXLFMscSl7SCgoUD0oVz0oUz1HKFQsKEk9RyhULChxPUcoVCw1MyksNTUpKSw1MykpLE0ocSxUKSksZyhJLFQpKSxTKSxULFdbUF0pfSksMzY2LFUpLDApLGZ1bmN0aW9uKFQsSSxQLFcsUyl7SCgoUz13dSgib2JqZWN0IiwoUD0oST1HKChXPUcoVCw3OSksVCksNTIpLGcoVyxUKSksUCksIm51bWJlciIpLEkpLFQsUyl9KSw0NzMsVSksNDE5KSxVKSwyMSksZnVuY3Rpb24oVCxJLFAsVyxTKXtmb3IoUz03MDtTIT05MjspUz09NzA\/Uz1kdSh0cnVlLEksZmFsc2UsVCwxLDkpPzkyOjc6Uz09NyYmKFA9RyhULDUyKSxXPUcoVCw2NSksSChXLFQsZnVuY3Rpb24ocSl7cmV0dXJuIGV2YWwocSl9KGVYKHQoUCxULnUpKSkpLFM9OTIpfSwzMSxVKSwyNjEpLFUse30pLDQ1NCksVSksQSgyOCxmdW5jdGlvbihULEksUCxXLFMpeyhQPWcoKFM9RyhULChXPWIoVCwxNSksNzcpKSxJPWcoUyxUKSxXKSxUKSxhKShJK1AsUyxUKX0sNDg4LFUpLDQyMSksVSksMjIxKSxVKSxVKSksZnVuY3Rpb24oVCxJLFAsVyxTLHEsTixoKXt7aD0yOTt3aGlsZShoIT02OCloPT0xOD9oPTE0Omg9PTM3P2g9MTQ6aD09MzM\/KFc9KChXfDApKyhjdCgxMjcsMzIsVCl8MCkpJXEsTis9S1tTW1ddXSxoPTE4KTpoPT0yOT8oUD1iKFQsMzApLEk9Y3QoMTI3LDM1LFQpLE49IiIsUz1NKDM3MCxUKSxxPVMubGVuZ3RoLFc9MCxoPTM3KTpoPT0xND9oPUktLT8zMzo0MzpoPT00MyYmKEgoUCxULE4pLGg9NjgpfX0pLDgyLFUpLDMzOCksVSxbXSksVS5jUT0wLDE3NSksVSksZnVuY3Rpb24oVCxJKXtJPUcoVCwyMyksayhJLFQsW10pfSksMTM4LFUpLFUpKSwzMyksZnVuY3Rpb24oKXt9LDEzMSxVKSxjKSksMzI5KSxVKSxmdW5jdGlvbihULEksUCxXLFMscSxOLGgpe2ZvcihoPTY0O2ghPTM2OyloPT05Mz8oTj1nKFMsVCksST1nKHEsVCksUD1nKFcsVCksSVtOXT1QLGg9NzcpOmg9PTU0P2g9VC51PT1UPzkzOjM2Omg9PTcyPyhULm89dm9pZCAwLGg9NjEpOmg9PTYxP2g9Tj09Mj81MjozNjpoPT02ND8ocT1HKFQsNTQpLFM9RyhULDczKSxXPUcoVCwyMyksaD01NCk6aD09NTI\/KFQuVz1wKFQsZmFsc2UsMzIpLFQubz12b2lkIDAsaD0zNik6aD09NzcmJihoPXE9PTczPzcyOjM2KX0pLDU5LFUpLFUpKSwxMyksVSksMzY5KSxVKSxpdykoNCksMTAxLFUpLFUpLFtLd10pLDApLFUsW1htLFJdKSxVKSxbTTAsT10pLHRydWUpLFUsdHJ1ZSl9LFIwPWZ1bmN0aW9uKFIpe3JldHVybiBQUy5jYWxsKHRoaXMsIiIsODQsMyxSKX0sZz1mdW5jdGlvbihSLHksRSl7RT15Lk5bUl07Zm9yKGZhbHNlPT0wO0U9PT12b2lkIDA7dm9pZCgwKS5BKXt0aHJvd1tEMiwzMCxSXTtpZih7fSlicmVha31zd2l0Y2goIUUudmFsdWUpe2Nhc2UgdHJ1ZTp0cnVlPT1bXTticmVhaztjYXNlIGZhbHNlOnJldHVybiBFLmNyZWF0ZSgpO2JyZWFrfXdoaWxlKHRydWUpaWYoRS5jcmVhdGUoUio1KlIrOTMqUisxMSksIlUiKWJyZWFrO3JldHVybiBFLnByb3RvdHlwZX0sc2o9ZnVuY3Rpb24oUix5LEUsbCl7SmQoUShnKChFPUcoUiwobD1HKFIsNjcpLDc3KSksbCksUikseSksRSxSKX0sa1Q9ZnVuY3Rpb24oKXtyZXR1cm4gYXIuY2FsbCh0aGlzLCJvZmYiLDUpfSx6Zj1mdW5jdGlvbihSLHksRSxsLFUsdixPLFkpe1k9MDt3aGlsZSghWyIiXT09MClpZih2PVVbMl18MCwhbnVsbClicmVhazt7Tz1VW0VdfDA7d2hpbGUoWTwxNilsPWw+Pj44fGw8PDI0LGwrPXl8MCxsXj12K1IseT15PDxFfHk+Pj4yOSxPPU8+Pj44fE88PDI0LE8rPXZ8MCx2PXY8PEV8dj4+PjI5LHlePWwsT149WStSLHZePU8sWSsrfXJldHVyblt5Pj4+MjQmMjU1LHk+Pj4xNiYyNTUseT4+PjgmMjU1LHk+Pj4wJjI1NSxsPj4+MjQmMjU1LGw+Pj4xNiYyNTUsbD4+PjgmMjU1LGw+Pj4wJjI1NV19LEg9ZnVuY3Rpb24oUix5LEUpe2lmKFI9PTQwNXx8Uj09MTA1KXkuTltSXT95Lk5bUl0uY29uY2F0KEUpOnkuTltSXT1oZCgwLDksRSx5KTtlbHNle3N3aXRjaCghKHkuTUkmJlIhPTczKSl7Y2FzZSAtMD09PTA6ZmFsc2U7YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm47YnJlYWt9Uj09MjA3fHxSPT04NHx8Uj09NjR8fFI9PTQ4NXx8Uj09MTc1fHxSPT0zMDF8fFI9PTI2MHx8Uj09MzU1fHxSPT0xMDF8fFI9PTE2OD95Lk5bUl18fCh5Lk5bUl09RygwLDE4LHksUixFLDM4KSk6eS5OW1JdPUcoMCwzMCx5LFIsRSwxNTMpfVI9PTczJiYoeS5XPXAoeSxmYWxzZSwzMikseS5vPXZvaWQgMCl9LE09ZnVuY3Rpb24oUix5LEUpe2lmKChFPXkuTltSXSxFKT09PXZvaWQgMCl0aHJvd1tEMiwzMCxSXTtpZihFLnZhbHVlKXJldHVybiBFLmNyZWF0ZSgpO3JldHVybiBFLmNyZWF0ZShSKjUqUis5MypSKzExKSxFLnByb3RvdHlwZX0sRm09ZnVuY3Rpb24oUix5LEUsbCxVLHYpe0UuR2wubGVuZ3RoPlU\/cHcoW0QyLDM2XSxFLFIseSk6KEUuR2wucHVzaChFLk4uc2xpY2UoKSksRS5OW2xdPXZvaWQgMCxhKHYsbCxFKSl9LHVRPWZ1bmN0aW9uKFIseSl7cmV0dXJuIFhyLmNhbGwodGhpcywzLFIsMTgseSl9LGxBPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSl7dHJ5e3doaWxlKDA9PSFbXSlpZih2PVJbKCh5fDApKzIpJTNdLFJbeV09KE89KFU9Ult5XSxZPVJbKCh5fDEpLX4oeSYxKS0xKSUzXSwoVSZZKSt+WS0oflV8WSkpLSh2fDApLGw9eT09MT92PDxFOnY+Pj5FLDIqfihPJmwpLX5PLX5sKSwxNSlicmVha31jYXRjaChLKXt0aHJvdyBLO319LEJ0PWZ1bmN0aW9uKFIseSxFKXtyZXR1cm4oRT1SLmNyZWF0ZSgpLnNoaWZ0KCkseSkuSS5jcmVhdGUoKS5sZW5ndGh8fHkuUi5jcmVhdGUoKS5sZW5ndGh8fCh5LlI9dm9pZCAwLHkuST12b2lkIDApLEV9LGdNPWZ1bmN0aW9uKFIseSxFLGwsVSl7cmV0dXJuIFBTLmNhbGwodGhpcywiIiw4NCw4LFIseSxFLGwsVSl9LFpVPWZ1bmN0aW9uKFIpe3JldHVybiBBLmNhbGwodGhpcywzLFIpfSxyTT1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyl7aWYoRS51PT1FKWZvcihLPU0oUixFKSxSPT04NHx8Uj09MTAxfHxSPT00ODU\/KFk9ZnVuY3Rpb24obixULEksUCxXLFMscSxOLGgpe2ZvcihOPTYscT0yMzs7KXRyeXtpZihOPT01MClicmVhaztlbHNlIGlmKE49PTYpUz1LLmxlbmd0aCxQPShTfDApLTQ+PjMsTj05NjtlbHNlIGlmKE49PTU0KXE9ODUsSy5SaD16ZigzMjYwLGN0KDI0LDcsSyxJKSwzLGN0KDI0LDMsSyw0KihJJjQpKzIqfihJJjQpLShJfC01KS0ofkl8NCkpLFQpLE49NztlbHNlIGlmKE49PTgzKUsuQ3I9UCxJPShQPDwzKS00LFQ9WzAsMCxPWzFdLE9bMl1dLE49NTQ7ZWxzZSBpZihOPT05NilOPUsuQ3IhPVA\/ODM6NztlbHNlIGlmKE49PTcpSy5wdXNoKChXPUsuUmhbLShTfDApLTIqfihTJjcpKy0yKyhTJi04KV0sLShXfG4pKyhXJm4pKzIqKFcmfm4pKzIqKH5XJm4pKSksTj01MDtlbHNlIGlmKE49PTEyKXRocm93IHE9MjMsaDt9Y2F0Y2godyl7aWYocT09MjMpdGhyb3cgdztxPT04NSYmKGg9dyxOPTEyKX19LE89ZygzNTUsRSkpOlk9ZnVuY3Rpb24obil7Sy5wdXNoKG4pfSxsJiZZKGwmMjU1KSxVPXkubGVuZ3RoLHY9MDt2PFU7disrKVkoeVt2XSl9LENOPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oUix5LEUsbCl7e2w9NDg7d2hpbGUobCE9Njkpe2lmKGw9PTYxKXJldHVybiBSO2lmKGw9PTYwKXJldHVybiBSW3ldPUUudmFsdWUsUjtsPT00OCYmKGw9Uj09QXJyYXkucHJvdG90eXBlfHxSPT1PYmplY3QucHJvdG90eXBlPzYxOjYwKX19fSxrPWZ1bmN0aW9uKFIseSxFKXtzd2l0Y2goIShSPT00MDV8fFI9PTEwNSkpe2Nhc2UgMD09ZmFsc2U6c3dpdGNoKCEoeS5NSSYmUiE9NzMpKXtjYXNlIE51bWJlcigpPT09LTA6bnVsbD09KE5hTj09PU5hTik7YnJlYWs7Y2FzZSAhW106cmV0dXJuO2JyZWFrfVI9PTIwN3x8Uj09ODR8fFI9PTY0fHxSPT00ODV8fFI9PTE3NXx8Uj09MzAxfHxSPT0yNjB8fFI9PTM1NXx8Uj09MTAxfHxSPT0xNjg\/eS5OW1JdfHwoeS5OW1JdPUcoMCwyOCx5LFIsRSwzOCkpOnkuTltSXT1HKDAsMTYseSxSLEUsMTUzKTticmVhaztjYXNlICFmYWxzZT09ISIiPT0hW106eS5OW1JdP3kuTltSXS5jb25jYXQoRSk6eS5OW1JdPWhkKDAsOCxFLHkpO2JyZWFrfVI9PTczJiYoeS5XPXAoeSxmYWxzZSwzMikseS5vPXZvaWQgMCl9LG53PWZ1bmN0aW9uKCl7cmV0dXJuIEdqLmNhbGwodGhpcywxOCwxMil9LGpYPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8pe0pkKCgoTz0oRT1iKChsPSh2PShSfDApLX4oUiYoVT0tfihSJjMpKyh+UiYzKSsoUnwtNCksNCkpK35SLEcpKHksNzMpLHkpLDI5KSxNKGwseSkpLHYpJiYoTz1MdygyMDQ4LCIiK08pKSxVJiZKZChRKE8ubGVuZ3RoLDIpLEUseSksTyksRSx5KX0sRWo9ZnVuY3Rpb24oUix5LEUsbCxVLHYpeyh2PWcoNDA1LHkpLHkpLmxwJiZ2PHkuZz8oayg0MDUseSx5LmcpLEZtKDAsODQseSw0MDUsMTA0LGwpKTpIKDQwNSx5LGwpLHhjKDAsRSxVLHkpO3doaWxlKFtdKWlmKDAhPSFbKGsoNDA1LHksdiksdW5kZWZpbmVkKV09PTApYnJlYWs7cmV0dXJuIE0oUix5KX0sVFo9ZnVuY3Rpb24oKXtyZXR1cm4gdlMuY2FsbCh0aGlzLDgwLDUpfSx3dT1mdW5jdGlvbihSLHksRSxsLFUpe1U9dHlwZW9mIHk7c3dpdGNoKCEoVT09Uikpe2Nhc2UgMD09IVsiIl06Zm9yKE51bWJlcih1bmRlZmluZWQpO1U9PSJmdW5jdGlvbiImJnR5cGVvZiB5LmNhbGw9PSJ1bmRlZmluZWQiOzApe3JldHVybiBSO2lmKHt9KWJyZWFrfWJyZWFrO2Nhc2UgIVtdIT10cnVlIT0hW109PVtdOmlmKHkpe2lmKHkgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4iYXJyYXkiO2lmKHkgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIFU7bD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeSk7d2hpbGUobD09IltvYmplY3QgV2luZG93XSIpe3JldHVybiBSO2lmKFtdKWJyZWFrfWZvcih1bmRlZmluZWQ7bD09IltvYmplY3QgQXJyYXldInx8dHlwZW9mIHkubGVuZ3RoPT1FJiZ0eXBlb2YgeS5zcGxpY2UhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgeS5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKTtmYWxzZT09IVtdKXtyZXR1cm4iYXJyYXkiO2lmKCFudWxsKWJyZWFrfWlmKGw9PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiB5LmNhbGwhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgeS5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCJjYWxsIikpcmV0dXJuImZ1bmN0aW9uIn1lbHNlIHJldHVybiJudWxsIjticmVha31yZXR1cm4gVX0sSTA9ZnVuY3Rpb24oUix5LEUsbCxVKXtpZihSLmxlbmd0aD09Myl7e2w9MDt3aGlsZShsPDMpeVtsXSs9UltsXSxsKyt9Zm9yKEU9WzEzLDgsMTMsMTIsMTYsNSwoVT0wLDMpLDEwLDE1XTtVPDk7VSsrKXlbM10oeSxVJTMsRVtVXSl9fSxmTj1mdW5jdGlvbihSLHkpe3JldHVybiB6LmNhbGwodGhpcywxMCxSLHkpfSxTWD1mdW5jdGlvbigpe3JldHVybiBHai5jYWxsKHRoaXMsMTgsNil9LFFnPWZ1bmN0aW9uKFIseSxFLGwsVSx2KXtyZXR1cm4gWHIuY2FsbCh0aGlzLDMsUiwzNix5LEUsbCxVLHYpfSxZYz1mdW5jdGlvbihSLHksRSxsLFUsdixPLFkpe3JldHVybiBOJC5jYWxsKHRoaXMsMCwzLFIseSxFLGwsVSx2LE8sWSl9LHNrPWZ1bmN0aW9uKFIpe3JldHVybiBMTi5jYWxsKHRoaXMsNjUsUiw4KX0sT3E9ZnVuY3Rpb24oUil7cmV0dXJuIEFwLmNhbGwodGhpcyw2NSwzLFIpfSxVaj1mdW5jdGlvbigpe3JldHVybiB4VC5jYWxsKHRoaXMsMjQpfSxwdz1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQsSSxQLFcpe3N3aXRjaCghKCF5Lk1JJiYoTz12b2lkIDAsUiYmUlswXT09PUQyJiYoTz1SWzJdLEU9UlsxXSxSPXZvaWQgMCksVz1nKDE3NSx5KSxXLmxlbmd0aD09MCYmKHY9ZygxMDUseSk+PjMsVy5wdXNoKEUsdj4+OCYyNTUsLX4odnwyNTUpLSh2Ji0yNTYpKyh2fC0yNTYpKSxPIT12b2lkIDAmJlcucHVzaChPJjI1NSkpLG49IiIsUiYmKFIubWVzc2FnZSYmKG4rPVIubWVzc2FnZSksUi5zdGFjayYmKG4rPSI6IitSLnN0YWNrKSksVT1nKDE2OCx5KSxVWzBdPjMpKSl7Y2FzZSB0cnVlOnRydWU7YnJlYWs7Y2FzZSAwIT0hW3VuZGVmaW5lZF06eS51PShUPShuPSgobj1uLnNsaWNlKDAsKFA9VVswXSwtMi0oUF4zKS0yKih+UHwzKSkpLFUpWzBdLT0oSz1uLmxlbmd0aCwtMip+KEsmMykrLTIrKEteMykpLEx3KDIwNDgsbikpLHkpLnUseSk7dHJ5e3kuVGw\/KEk9KEk9dCgzMDEseSkpJiZJW0kubGVuZ3RoLTFdfHw5NSwoWT10KDI2MCx5KSkmJllbWS5sZW5ndGgtMV09PUl8fEpkKFtJJjI1NV0sMjYwLHkpKTpKZChbOTVdLDMwMSx5KSxyTShsLFEobi5sZW5ndGgsMikuY29uY2F0KG4pLHksNTEpfWZpbmFsbHl7eS51PVR9YnJlYWt9fSx5ej1mdW5jdGlvbigpe3JldHVybiBxJC5jYWxsKHRoaXMsMzcsNDApfSxiUT1ScigxNSw0MiwwLCJvYmplY3QiLCJNYXRoIix0aGlzKSxjPSh4VCgxOSwiLiIsbnVsbCwwLDEsIlN5bWJvbCIsZnVuY3Rpb24oUix5LEUsbCxVLHYpe2Zvcih2PTEzO3YhPTQ0Oyl7aWYodj09OTIpcmV0dXJuIGwucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuanp9LEU9ImpzY29tcF9zeW1ib2xfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSsiXyIseT0wLFU7aWYodj09MTMpbD1mdW5jdGlvbihPLFkpe0NOKCh0aGlzLmp6PU8sdGhpcyksImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOnRydWUsd3JpdGFibGU6dHJ1ZSx2YWx1ZTpZfSl9LFU9ZnVuY3Rpb24oTyxZKXtmb3IoWT0yNjtZIT0xMzspe2lmKFk9PTE3KXJldHVybiBuZXcgbChFKyhPfHwiIikrIl8iK3krKyxPKTtpZihZPT01KXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO1k9PTI2JiYoWT10aGlzIGluc3RhbmNlb2YgVT81OjE3KX19LHY9ODU7ZWxzZSBpZih2PT04NSl2PVI\/NzM6OTI7ZWxzZSBpZih2PT03MylyZXR1cm4gUn19KSx0aGlzfHxzZWxmKSxSVz0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxXUyxsdz0wLHZ0PWZ1bmN0aW9uKFIseSxFLGwsVSx2KXtmb3Iodj0obD0zOSw2Mik7Oyl0cnl7aWYobD09OTcpYnJlYWs7ZWxzZSBpZihsPT02OCl2PTYyLGw9OTE7ZWxzZSBpZihsPT04MSl5PWZhbHNlLEU9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7eT10cnVlfX0pLGw9NjtlbHNle2lmKGw9PTkxKXJldHVybiB2PTYyLHk7aWYobD09Nil2PTg4LFI9ZnVuY3Rpb24oKXt9LGMuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsUixFKSxjLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLFIsRSksbD05MTtlbHNlIGlmKGw9PTM5KWw9Yy5hZGRFdmVudExpc3RlbmVyJiZPYmplY3QuZGVmaW5lUHJvcGVydHk\/ODE6NjU7ZWxzZSBpZihsPT02NSlyZXR1cm4gZmFsc2V9fWNhdGNoKE8pe2lmKHY9PTYyKXRocm93IE87dj09ODgmJihVPU8sbD02OCl9fSgpLHRwPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoKEwoMiw2NSxmTiwoa1QucHJvdG90eXBlLlU9IShrVC5wcm90b3R5cGUuZGlzcG9zZT0oa1QucHJvdG90eXBlLkQ9ZnVuY3Rpb24oUil7e1I9MzA7d2hpbGUoUiE9NjApUj09OTY\/Uj0yMTpSPT03Pyh0aGlzLldZLnNoaWZ0KCkoKSxSPTk2KTpSPT05Mj9SPTIxOlI9PTIxP1I9dGhpcy5XWS5sZW5ndGg\/Nzo2MDpSPT0zMCYmKFI9dGhpcy5XWT85Mjo2MCl9fSx1US5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPSh1US5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dHJ1ZX0sZnVuY3Rpb24oKXt0aGlzLlNyPXRydWV9KSxmdW5jdGlvbihSKXt7Uj05NDt3aGlsZShSIT02NilSPT05ND9SPXRoaXMuVT82NjozNzpSPT0zNyYmKHRoaXMuVT10cnVlLHRoaXMuRCgpLFI9NjYpfX0pLDEpLGtULnByb3RvdHlwZVtTeW1ib2wuZGlzcG9zZV09ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKX0sdVEpKSxmTi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihSLHksRSxsLFUsdil7Zm9yKHY9NjM7diE9Mjspdj09NDI\/KHRoaXMub2Zmc2V0WD1SLm9mZnNldFgsdGhpcy5vZmZzZXRZPVIub2Zmc2V0WSx0aGlzLmNsaWVudFg9Ui5jbGllbnRYIT09dm9pZCAwP1IuY2xpZW50WDpSLnBhZ2VYLHRoaXMuY2xpZW50WT1SLmNsaWVudFkhPT12b2lkIDA\/Ui5jbGllbnRZOlIucGFnZVksdGhpcy5zY3JlZW5YPVIuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Ui5zY3JlZW5ZfHwwLHY9NTApOnY9PTY2Pyh0aGlzLmNsaWVudFg9VS5jbGllbnRYIT09dm9pZCAwP1UuY2xpZW50WDpVLnBhZ2VYLHRoaXMuY2xpZW50WT1VLmNsaWVudFkhPT12b2lkIDA\/VS5jbGllbnRZOlUucGFnZVksdGhpcy5zY3JlZW5YPVUuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9VS5zY3JlZW5ZfHwwLHY9NTApOnY9PTY0P3Y9bD09Im1vdXNlb3ZlciI\/Nzg6OTp2PT01MD8odGhpcy5idXR0b249Ui5idXR0b24sdGhpcy5rZXlDb2RlPVIua2V5Q29kZXx8MCx0aGlzLmtleT1SLmtleXx8IiIsdGhpcy5jaGFyQ29kZT1SLmNoYXJDb2RlfHwobD09ImtleXByZXNzIj9SLmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PVIuY3RybEtleSx0aGlzLmFsdEtleT1SLmFsdEtleSx0aGlzLnNoaWZ0S2V5PVIuc2hpZnRLZXksdGhpcy5tZXRhS2V5PVIubWV0YUtleSx0aGlzLnBvaW50ZXJJZD1SLnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPVIucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT1SLnN0YXRlLHRoaXMudGltZVN0YW1wPVIudGltZVN0YW1wLHRoaXMud3I9UixSLmRlZmF1bHRQcmV2ZW50ZWQmJmZOLlMucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSx2PTIpOnY9PTU2PyhFPVIudG9FbGVtZW50LHY9MjEpOnY9PTc4PyhFPVIuZnJvbUVsZW1lbnQsdj0yMSk6dj09NDg\/dj1FPzIxOjY0OnY9PTIxPyh0aGlzLnJlbGF0ZWRUYXJnZXQ9RSx2PTUzKTp2PT05P3Y9bD09Im1vdXNlb3V0Ij81NjoyMTp2PT02Mz8obD10aGlzLnR5cGU9Ui50eXBlLFU9Ui5jaGFuZ2VkVG91Y2hlcyYmUi5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg\/Ui5jaGFuZ2VkVG91Y2hlc1swXTpudWxsLHRoaXMudGFyZ2V0PVIudGFyZ2V0fHxSLnNyY0VsZW1lbnQsdGhpcy5jdXJyZW50VGFyZ2V0PXksRT1SLnJlbGF0ZWRUYXJnZXQsdj00OCk6dj09NTMmJih2PVU\/NjY6NDIpfSxmTikucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe2ZOLlMuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyksdGhpcy53ci5zdG9wUHJvcGFnYXRpb24\/dGhpcy53ci5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLndyLmNhbmNlbEJ1YmJsZT10cnVlfSxmTi5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oUil7KFI9KGZOLlMucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSx0aGlzLndyKSxSLnByZXZlbnREZWZhdWx0KT9SLnByZXZlbnREZWZhdWx0KCk6Ui5yZXR1cm5WYWx1ZT1mYWxzZX0sTWF0aC5yYW5kb20oKSoxRTZ8MCksTSQ9MCx1dz0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLFRqPSgoKE9xLnByb3RvdHlwZS5oYXNMaXN0ZW5lcj1mdW5jdGlvbihSLHksRSxsLFUpe3JldHVybiBOJCgwLChVPShsPXkhPT12b2lkIDAsKEU9UiE9PXZvaWQgMCk\/Ui50b1N0cmluZygpOiIiKSwxMSksdHJ1ZSxmYWxzZSxmdW5jdGlvbih2LE8sWSl7e1k9OTM7d2hpbGUoWSE9ODApaWYoWT09OSlZPTk0O2Vsc2UgaWYoWT09OTQpWT1PPHYubGVuZ3RoPzk4OjQ0O2Vsc2UgaWYoWT09OTgpWT1FJiZ2W09dLnR5cGUhPVV8fGwmJnZbT10uY2FwdHVyZSE9eT8yNzo3NDtlbHNle2lmKFk9PTc0KXJldHVybiB0cnVlO2lmKFk9PTkzKU89MCxZPTk7ZWxzZSBpZihZPT0yNykrK08sWT05NDtlbHNlIGlmKFk9PTQ0KXJldHVybiBmYWxzZX19fSx0aGlzLmwpfSxPcSkucHJvdG90eXBlLmFkZD0oT3EucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihSLHksRSxsLFUsdixPLFkpe2ZvcihZPTk0O1khPTEyOyl7aWYoWT09MTMpcmV0dXJuIGZhbHNlO2lmKFk9PTYwKVU9dGhpcy5sW09dLHY9WVQoRSx5LFUsbCwxMSwwKSxZPTk3O2Vsc2V7aWYoWT09MTYpcmV0dXJuIGZhbHNlO2lmKFk9PTYpWT1PIGluIHRoaXMubD82MDoxMztlbHNlIGlmKFk9PTk3KVk9dj4tMT8xMDoxNjtlbHNle2lmKFk9PTMzKXJldHVybiB0cnVlO1k9PTI5P1k9VS5sZW5ndGg9PTA\/NzA6MzM6WT09NzA\/KGRlbGV0ZSB0aGlzLmxbT10sdGhpcy5RVC0tLFk9MzMpOlk9PTk0PyhPPVIudG9TdHJpbmcoKSxZPTYpOlk9PTEwJiYobk4oMzIsbnVsbCxVW3ZdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoVSx2LDEpLFk9MjkpfX19fSxmdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuKXtmb3Iobj04O24hPTI2OylpZihuPT0yMilLLnpsPWZhbHNlLG49Mzk7ZWxzZSBpZihuPT0yNyluPXY\/ODc6NzA7ZWxzZSBpZihuPT03NCluPU8+LTE\/Njg6ODQ7ZWxzZSBpZihuPT02OClLPXZbT10sbj05ODtlbHNlIGlmKG49PTgpWT1SLnRvU3RyaW5nKCksdj10aGlzLmxbWV0sbj0yNztlbHNlIGlmKG49PTg3KU89WVQobCx5LHYsVSwxNSwwKSxuPTc0O2Vsc2UgaWYobj09OTgpbj1FPzM5OjIyO2Vsc2UgaWYobj09ODQpSz1uZXcgJGMoeSxZLHRoaXMuc3JjLFUsISFsKSxLLnpsPUUsdi5wdXNoKEspLG49Mzk7ZWxzZSBpZihuPT03MCl2PXRoaXMubFtZXT1bXSx0aGlzLlFUKyssbj04NztlbHNlIGlmKG49PTM5KXJldHVybiBLfSksT3EucHJvdG90eXBlKS5ucj1mdW5jdGlvbihSLHksRSxsLFUsdil7cmV0dXJuKChVPS0odj10aGlzLmxbeS50b1N0cmluZygpXSwxKSx2KSYmKFU9WVQoUixFLHYsbCw3LDApKSxVKT4tMT92W1VdOm51bGx9LCJjbG9zdXJlX2xtXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApKSxndT17fSxsUT0wLG1jPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7KCgoKChMKDIsNjQsU1gsa1QpLFNYKS5wcm90b3R5cGVbdHBdPXRydWUsVj1TWC5wcm90b3R5cGUsVi5pcD1mdW5jdGlvbihSKXt0aGlzLmJwPVJ9LFYpLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oUix5LEUsbCl7dlMoODAsOCxmYWxzZSwib2JqZWN0Iix0aGlzLEUsbCx5LFIpfSxWKS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKFIseSxFLGwpe0tOKDAseSwib2JqZWN0Iiw2LHRoaXMsbCxFLFIpfSxWLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEkpe2ZvcihJPTM3O0khPTMzOylpZihJPT02Nyl2PXkubGVuZ3RoLTEsST0yMDtlbHNlIGlmKEk9PTIwKUk9MTtlbHNlIGlmKEk9PTgxKUU9bC5jdXJyZW50VGFyZ2V0PU8sVT1lRChudWxsLDE4LEssRSx0cnVlLGwpJiZVLGwuU3J8fChVPWVEKG51bGwsMTYsSyxFLGZhbHNlLGwpJiZVKSxJPTk1O2Vsc2UgaWYoST09NTQpWS5wdXNoKFQpLEk9NTU7ZWxzZSBpZihJPT03OSlsPW5ldyB1UShsLE8pLEk9NjA7ZWxzZSBpZihJPT02MilJPTc0O2Vsc2UgaWYoST09MTApdi0tLEk9MTtlbHNlIGlmKEk9PTU1KVQ9VC5icCxJPTQ5O2Vsc2UgaWYoST09OTQpST1sLlNyPzk1OjgxO2Vsc2UgaWYoST09NDcpbC50YXJnZXQ9bC50YXJnZXR8fE8sST02MDtlbHNlIGlmKEk9PTQ2KUU9bC5jdXJyZW50VGFyZ2V0PXlbdl0sVT1lRChudWxsLDMsSyxFLGZhbHNlLGwpJiZVLEk9OTk7ZWxzZSBpZihJPT03MilJPTQ5O2Vsc2UgaWYoST09NDEpST1UPzUyOjI2O2Vsc2UgaWYoST09MTUpST15PzY3Ojk0O2Vsc2UgaWYoST09OTUpST15PzcwOjExO2Vsc2UgaWYoST09MSlJPSFsLlNyJiZ2Pj0wPzYzOjk0O2Vsc2UgaWYoST09MjYpTz10aGlzLlhOLGw9UixLPWwudHlwZXx8bCx5PVksST0yMTtlbHNlIGlmKEk9PTUyKVk9W10sST03MjtlbHNle2lmKEk9PTExKXJldHVybiBVO0k9PTM3PyhUPXRoaXMuYnAsST00MSk6ST09MjE\/ST10eXBlb2YgbD09PSJzdHJpbmciPzc5OjM6ST09NzA\/KHY9MCxJPTYyKTpJPT02Mz8oRT1sLmN1cnJlbnRUYXJnZXQ9eVt2XSxVPWVEKG51bGwsMTcsSyxFLHRydWUsbCkmJlUsST0xMCk6ST09NDk\/ST1UPzU0OjI2Okk9PTc0P0k9IWwuU3ImJnY8eS5sZW5ndGg\/NDY6MTE6ST09OTk\/KHYrKyxJPTc0KTpJPT0zP0k9bCBpbnN0YW5jZW9mIHVRPzQ3OjkwOkk9PTkwPyhuPWwsbD1uZXcgdVEoSyxPKSxidyhsLG4pLEk9NjApOkk9PTYwJiYoVT10cnVlLEk9MTUpfX0sVikuRD1mdW5jdGlvbigpeygoU1guUy5ELmNhbGwodGhpcyksdGhpcykuWiYmSigwLG51bGwsNTcsdGhpcy5aKSx0aGlzKS5icD1udWxsfSxWKS5ucj1mdW5jdGlvbihSLHksRSxsKXtyZXR1cm4gdGhpcy5aLm5yKFIsU3RyaW5nKHkpLEUsbCl9LFYuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oUix5KXtyZXR1cm4gdGhpcy5aLmhhc0xpc3RlbmVyKFIhPT12b2lkIDA\/U3RyaW5nKFIpOnZvaWQgMCx5KX07dmFyIFoyO2lmKFhyKDMsKCgoKCgoVj0oIkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBOT0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVCIuc3BsaXQoIiAiKS5jb25jYXQoWyJCVVRUT04iLCJJTlBVVCJdKSxxMC5wcm90b3R5cGUpLFYuVj1mdW5jdGlvbihSKXtyZXR1cm4gdHlwZW9mIFI9PT0ic3RyaW5nIj90aGlzLnFJLmdldEVsZW1lbnRCeUlkKFIpOlJ9LFYuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24oUix5KXtyZXR1cm4oeXx8dGhpcy5xSSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKFIpKX0sVikuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihSLHksRSl7aWYoKEU9KHk9dGhpcy5xSSxTdHJpbmcoUikpLHkuY29udGVudFR5cGUpPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihFPUUudG9Mb3dlckNhc2UoKSksW10pcmV0dXJuIHkuY3JlYXRlRWxlbWVudChFKX0sVikuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oUil7cmV0dXJuIHRoaXMucUkuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKFIpKX0sVi5hcHBlbmRDaGlsZD1mdW5jdGlvbihSLHkpe1IuYXBwZW5kQ2hpbGQoeSl9LFYpLmFwcGVuZD1mdW5jdGlvbihSLHkpeyRUKCJudW1iZXIiLDE5LGZhbHNlLDEsIiIsYXJndW1lbnRzLFIsUi5ub2RlVHlwZT09OT9SOlIub3duZXJEb2N1bWVudHx8Ui5kb2N1bWVudCl9LFYpLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihSLHkpe2Zvcih5PTU1O3khPTcwOylpZih5PT01NSl5PVIubm9kZVR5cGUhPTE\/ODA6NjQ7ZWxzZXtpZih5PT04MClyZXR1cm4gZmFsc2U7aWYoeT09NjQpe3N3aXRjaChSLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9fX0sVi5yZW1vdmVOb2RlPVIwLFYpLmNvbnRhaW5zPWZ1bmN0aW9uKFIseSxFLGwpe3tsPTMwO3doaWxlKGwhPTYyKXtpZihsPT04OSlyZXR1cm4gUj09eXx8ISEoRT1SLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHkpLDE2LX5FK34oRXwxNikpO2lmKGw9PTk5KXJldHVybiBmYWxzZTtpZihsPT00MSlsPXR5cGVvZiBSLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIT0idW5kZWZpbmVkIj84OTo4NDtlbHNlIGlmKGw9PTM1KWw9eSYmUiE9eT83Mjo0NDtlbHNlIGlmKGw9PTEzKWw9Ui5jb250YWlucyYmeS5ub2RlVHlwZT09MT8xNTo0MTtlbHNlIGlmKGw9PTcyKXk9eS5wYXJlbnROb2RlLGw9NDA7ZWxzZSBpZihsPT0zMClsPVImJnk\/MTM6OTk7ZWxzZXtpZihsPT0xNSlyZXR1cm4gUj09eXx8Ui5jb250YWlucyh5KTtpZihsPT00NClyZXR1cm4geT09UjtsPT00MD9sPTM1Omw9PTg0JiYobD0zNSl9fX19LFVqKSwxMyksMylVai5wcm90b3R5cGUuV1E9IiI7KFY9KEwoMiwzLFpVLChVai5wcm90b3R5cGUuSnk9MCxTWCkpLFpVKS5wcm90b3R5cGUsVi5vND1Vai5YZSgpLFYpLlY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pfTt3aGlsZShudWxsIT1mYWxzZSlpZihWLmdldFBhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmFofSx7fSlicmVhazsoKFYucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCl7Zm9yKFA9ODtQIT03MDspaWYoUD09NjEpWT1sLFA9NjI7ZWxzZSBpZihQPT0zMClLPXRoaXMubWwsRT0oSyE9PW51bGwmJkkgaW4gSz9LW0ldOnZvaWQgMCl8fG51bGwsUD00MztlbHNle2lmKFA9PTIyKXJldHVybiBSO2lmKFA9PTMxKVA9KGw9Ui5sNCk\/NjE6MTY7ZWxzZSBpZihQPT0xNSl2PXRoaXMubWwsSSBpbiB2JiZkZWxldGUgdltJXSx4VCg3LDEsdGhpcy5aOSxSKSxQPTY4O2Vsc2UgaWYoUD09MTkpUi5OSSgpLFIuaSYmUjAoUi5pKSxQPTUzO2Vsc2V7aWYoUD09NDUpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7aWYoUD09NjgpUD15PzE5OjUzO2Vsc2UgaWYoUD09NDcpVS5haD1udWxsLFpVLlMuaXAuY2FsbChVLG51bGwpLFA9NTI7ZWxzZSBpZihQPT00KVA9dGhpcy5tbCYmST8zMDo2O2Vsc2UgaWYoUD09NjUpUD1JJiZSPzE1OjUyO2Vsc2UgaWYoUD09NjIpST1ZLFA9NDtlbHNlIGlmKFA9PTMzKVA9VT09bnVsbD82Mzo0NztlbHNlIGlmKFA9PTk3KVA9dHlwZW9mIFI9PT0ic3RyaW5nIj82NzozMTtlbHNlIGlmKFA9PTUyKVA9Uj8yMjo0NTtlbHNle2lmKFA9PTYzKXRocm93IEVycm9yKCJVbmFibGUgdG8gc2V0IHBhcmVudCBjb21wb25lbnQiKTtQPT0xNj8obj1SLm80LE89UixUPW4uV1ErIjoiKyhuLkp5KyspLnRvU3RyaW5nKDM2KSxsPU8ubDQ9VCxQPTYxKTpQPT01Mz8oVT1SLFA9MzMpOlA9PTQzPyhSPUUsUD02NSk6UD09Njc\/KFk9UixQPTYyKTpQPT02PyhFPW51bGwsUD00Myk6UD09OCYmKFA9Uj85Nzo1Mil9fX19LFYpLkQ9ZnVuY3Rpb24oUil7Zm9yKFI9ODk7UiE9NjU7KVI9PTIyPyhBcCg2NSwyMyxmdW5jdGlvbih5KXt5LmRpc3Bvc2UoKX0sdGhpcyksIXRoaXMuckImJnRoaXMuaSYmUjAodGhpcy5pKSx0aGlzLm1sPXRoaXMuaT10aGlzLmFoPXRoaXMuWjk9bnVsbCxaVS5TLkQuY2FsbCh0aGlzKSxSPTY1KTpSPT0xMD9SPXRoaXMudXA\/MjE6MjI6Uj09MjE\/KHRoaXMudXAuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLnVwLFI9MjIpOlI9PTg5JiYodGhpcy5nciYmdGhpcy5OSSgpLFI9MTApfSxWKS5pcD0oVi5OST1mdW5jdGlvbigpe3RoaXMuZ3I9KChBcCg2NSwzMSxmdW5jdGlvbihSKXtSLmdyJiZSLk5JKCl9LHRoaXMpLHRoaXMpLnVwJiZKKDAsbnVsbCw1OCx0aGlzLnVwKSxmYWxzZSl9LGZ1bmN0aW9uKFIseSl7Zm9yKHk9NjE7eSE9ODk7KWlmKHk9PTYxKXk9dGhpcy5haCYmdGhpcy5haCE9Uj82ODo3ODtlbHNle2lmKHk9PTY4KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO3k9PTc4JiYoWlUuUy5pcC5jYWxsKHRoaXMsUikseT04OSl9fSk7dmFyIE9qLHZwPXtidXR0b246InByZXNzZWQiLGNoZWNrYm94OihYcigzLHl6LDExKSwiY2hlY2tlZCIpLG1lbnVpdGVtOiJzZWxlY3RlZCIsbWVudWl0ZW1jaGVja2JveDoiY2hlY2tlZCIsbWVudWl0ZW1yYWRpbzoiY2hlY2tlZCIscmFkaW86ImNoZWNrZWQiLHRhYjoic2VsZWN0ZWQiLHRyZWVpdGVtOiJzZWxlY3RlZCJ9O2lmKCgoKFY9eXoucHJvdG90eXBlLFYuTnI9ZnVuY3Rpb24oKXtyZXR1cm4iZ29vZy1jb250cm9sIn0sVikuWT1mdW5jdGlvbihSLHksRSxsLFUsdixPKXtmb3IoTz01O08hPTM1OylPPT02MD9PPXRoaXMuVTI\/MTU6ODpPPT01Pyh2PXkuVigpLE89ODgpOk89PTg4P089dj82MDozNTpPPT0xNT8oKGw9dGhpcy5VMltSXSkmJnRoaXMuSWgoeSxsLEUpLHRoaXMuaFQodixSLEUpLE89MzUpOk89PTgmJihVPXRoaXMuTnIoKSxVLnJlcGxhY2UoL1xceGEwfFxccy9nLCIgIiksdGhpcy5VMj17MTpVKyItZGlzYWJsZWQiLDI6VSsiLWhvdmVyIiw0OlUrIi1hY3RpdmUiLDg6VSsiLXNlbGVjdGVkIiwxNjpVKyItY2hlY2tlZCIsMzI6VSsiLWZvY3VzZWQiLDY0OlUrIi1vcGVuIn0sTz0xNSl9LFYuaFQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZKXsoWT0oKE89KE9qfHwoT2o9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KSxPalt5XSksVT1SLmdldEF0dHJpYnV0ZSgicm9sZSIpfHxudWxsKT8obD12cFtVXXx8Tyx2PU89PSJjaGVja2VkInx8Tz09InNlbGVjdGVkIj9sOk8pOnY9Tyx2KSkmJmFyKCJvZmYiLDIwLCJmYWxzZSIsZmFsc2UsUixZLEUpfSxWKS5JaD1mdW5jdGlvbihSLHksRSxsKXsobD1SLlY\/Ui5WKCk6UikmJihFP2dNOkN3KShsLFt5XSl9LFYuUFk9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEspe1k9ODc7e0s9ODM7d2hpbGUoInciKXRyeXtpZihZPT05NylicmVhaztlbHNlIFk9PTU1PyhFLnRhYkluZGV4PTAsWT05Nyk6WT09MzM\/KEs9NjQsbC5ibHVyKCksWT03NCk6WT09Njk\/KEUudGFiSW5kZXg9LTEsRS5yZW1vdmVBdHRyaWJ1dGUoInRhYkluZGV4IiksWT05Nyk6WT09MzI\/KHY9bC50YWJJbmRleCxVPXR5cGVvZiB2PT09Im51bWJlciImJnY+PTAmJnY8MzI3NjgsWT03OCk6WT09NzQ\/KEs9ODMsWT0yMyk6WT09MTE\/WT0heSYmUi5YJjMyPzMzOjcwOlk9PTcwP1k9KFU9bC5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzMyOjc4Olk9PTU\/WT15PzU1OjY5Olk9PTg3P1k9S04oMixSLDMyLDM1KSYmKGw9Ui5ycigpKT8xMTo5NzpZPT03OD9ZPVUhPXk\/MjY6OTc6WT09NzU\/KEs9ODMsWT03NCk6WT09MjY\/KEU9bCxZPTUpOlk9PTg\/KE9rKDAsMiwzLDAsNCxSKSYmUi5zZXRBY3RpdmUoZmFsc2UpLE9rKDAsMiwxMSwwLDMyLFIpJiZKKDIsZmFsc2UsMTAsUiwzMikmJlIuWShmYWxzZSwzMiksWT03MCk6WT09MjMmJihZPVIuWCYzMj84OjcwKX1jYXRjaChuKXtpZihLPT04Myl0aHJvdyBuO0s9PTY0JiYoTz1uLFk9NzUpfX19LFYpLnJyPWZ1bmN0aW9uKFIpe3JldHVybiBSLlYoKX0sMTIpTCgyLDE3LFRaLHl6KTt2YXIgV3Q9KFhyKDMsVFosNykse30pO2lmKHR5cGVvZiBZYyE9PSgoKCgoKFY9KEwoKFRaLnByb3RvdHlwZS5Ocj0oVFoucHJvdG90eXBlLmhUPWZ1bmN0aW9uKFIseSxFKXtzd2l0Y2goeSl7Y2FzZSA4OmNhc2UgMTY6YXIoIm9mZiIsMTgsImZhbHNlIixmYWxzZSxSLCJwcmVzc2VkIixFKTticmVhaztkZWZhdWx0OmNhc2UgNjQ6Y2FzZSAxOlRaLlMuaFQuY2FsbCh0aGlzLFIseSxFKX19LGZ1bmN0aW9uKCl7cmV0dXJuImdvb2ctYnV0dG9uIn0pLDIpLDE5LFljLFpVKSxZYy5wcm90b3R5cGUpLFYuWD0wLFYuTkk9ZnVuY3Rpb24oKXsoWWMuUy5OSS5jYWxsKHRoaXMpLHRoaXMuSFkpJiZ0aGlzLkhZLmRldGFjaCgpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkmJnRoaXMuQy5QWSh0aGlzLGZhbHNlKX0sVikuWXc9MCxWLmh5PTM5LFYuQzU9dHJ1ZSxWLkQ9ZnVuY3Rpb24oUil7Zm9yKFI9Mzk7UiE9Mjc7KVI9PTYzP1I9dGhpcy5IWT81Nzo4OTpSPT04OT8oZGVsZXRlIHRoaXMuQyx0aGlzLkg9bnVsbCxSPTI3KTpSPT01Nz8odGhpcy5IWS5kaXNwb3NlKCksZGVsZXRlIHRoaXMuSFksUj04OSk6Uj09MzkmJihZYy5TLkQuY2FsbCh0aGlzKSxSPTYzKX0sVikucnI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DLnJyKHRoaXMpfSxWLkloPWZ1bmN0aW9uKFIseSxFKXtmb3IoRT00NztFIT0yOTspRT09NDU\/RT1SPzk1OjI5OkU9PTMzPyh0aGlzLkMuSWgodGhpcyxSLGZhbHNlKSxFPTI5KTpFPT00ND8odGhpcy5IPW51bGwsRT0zMyk6RT09OTE\/RT1SJiZ0aGlzLkgmJnhUKDgsMSx0aGlzLkgsUik\/MzoyOTpFPT0zP0U9dGhpcy5ILmxlbmd0aD09MD80NDozMzpFPT05NT8odGhpcy5IP0xOKDY1LDAsMyxSLHRoaXMuSCk+PTB8fHRoaXMuSC5wdXNoKFIpOnRoaXMuSD1bUl0sdGhpcy5DLkloKHRoaXMsUix0cnVlKSxFPTI5KTpFPT00NyYmKEU9eT80NTo5MSl9LFYuSD1udWxsLFYuTXI9MjU1LFYuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQzV9LFYuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISh0aGlzLlgmMSl9LFYpLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISEodGhpcy5YJjQpfSxWKS5zZXRBY3RpdmU9ZnVuY3Rpb24oUil7SigyLFIsNix0aGlzLDQpJiZ0aGlzLlkoUiw0KX0sVi5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlh9LFYpLlk9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyl7e089NjQ7d2hpbGUoTyE9NilPPT0zNT8odGhpcy5zZXRBY3RpdmUoZmFsc2UpLEooMixmYWxzZSwxMSx0aGlzLDIpJiZ0aGlzLlkoZmFsc2UsMiksTz02Nik6Tz09NjQ\/Tz1FfHx5IT0xPzQ4OjE1Ok89PTE1PyhVPSFSLGw9dGhpcy5nZXRQYXJlbnQoKSxPPTc2KTpPPT03Nj9PPWwmJnR5cGVvZiBsLmlzRW5hYmxlZD09ImZ1bmN0aW9uIiYmIWwuaXNFbmFibGVkKCl8fCFKKDIsIVUsOSx0aGlzLDEpPzY6NTQ6Tz09NjY\/KHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuQy5QWSh0aGlzLFUpLHRoaXMuWSghVSwxLHRydWUpLE89Nik6Tz09NDg\/Tz1LTigyLHRoaXMseSwzMykmJlIhPSEhKHRoaXMuWCZ5KT8yNzo2Ok89PTI3Pyh0aGlzLkMuWSh5LHRoaXMsUiksdGhpcy5YPVI\/KHY9dGhpcy5YLCh5fDApLX52K355Kyh+diZ5KSk6dGhpcy5YJn55LE89Nik6Tz09NTQmJihPPVU\/NjY6MzUpfX0sImZ1bmN0aW9uIikpd2hpbGUodHJ1ZSl7dGhyb3cgRXJyb3IoIkludmFsaWQgY29tcG9uZW50IGNsYXNzICIrWWMpO2lmKCEiIj09ISghKCFbXSE9ZmFsc2UpPT0hIiI9PVtdKSlicmVha31mb3IoMCE9IVsiIl07dHlwZW9mIHl6IT09ImZ1bmN0aW9uIjt1bmRlZmluZWQpe3Rocm93IEVycm9yKCJJbnZhbGlkIHJlbmRlcmVyIGNsYXNzICIreXopO2lmKCJ5IilicmVha312YXIgWU49cSQoMzcsNixZYyk7TCgoV3RbWU5dPXl6LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBZYyhudWxsKX0pLDQwLCJnb29nLWNvbnRyb2wiKTt3aGlsZSghW109PWZhbHNlKWlmKEwoMiwxNixudyxUWiksdHJ1ZSlicmVhazt2YXIgRnI9KEwoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGRNKG51bGwpfSwoKEwoMiwxOCxkTSwoKChYcigzLG53LDkpLG53LnByb3RvdHlwZS5oVD1mdW5jdGlvbigpe30sbncpLnByb3RvdHlwZS5ZPWZ1bmN0aW9uKFIseSxFLGwsVSl7Zm9yKFU9OTE7VSE9OTA7KVU9PTkxPyhudy5TLlkuY2FsbCh0aGlzLFIseSxFKSxsPXkuVigpLFU9NDQpOlU9PTQ0P1U9bCYmUj09MT85Njo5MDpVPT05NiYmKGwuZGlzYWJsZWQ9RSxVPTkwKX0sbncpLnByb3RvdHlwZS5QWT1mdW5jdGlvbigpe30sWWMpKSxkTS5wcm90b3R5cGUpLkQ9ZnVuY3Rpb24oKXtkZWxldGUgKGRlbGV0ZSAoZE0uUy5ELmNhbGwodGhpcyksdGhpcykuQlEsdGhpcykuRXh9LDQxKSwiZ29vZy1idXR0b24iKSxjLnJlcXVlc3RJZGxlQ2FsbGJhY2s\/ZnVuY3Rpb24oUil7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe1IoKX0se3RpbWVvdXQ6NH0pfTpjLnNldEltbWVkaWF0ZT9mdW5jdGlvbihSKXtzZXRJbW1lZGlhdGUoUil9OmZ1bmN0aW9uKFIpe3NldFRpbWVvdXQoUiwwKX0pLHlTLE4wPXtwYXNzaXZlOnRydWUsY2FwdHVyZTp0cnVlfSxhVz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNSwxMTAsMTE2LDEwMSwxMDMsNjcsMTA0LDEwMSw5OSwxMDcsNjYsMTIxLDExMiw5NywxMTUsMTE1KSxocD0oci5wcm90b3R5cGUuREE9ZmFsc2Usci5wcm90b3R5cGUuZXo9dm9pZCAwLFtdKSxEMj17fSxYbT0oci5wcm90b3R5cGUuQVQ9InRvU3RyaW5nIixbXSksS3c9W10saVE9W10sY1M9W10sd009W10scnU9W10sTTA9KHIucHJvdG90eXBlLnZRPXZvaWQgMCxbXSksSHQ9KGtjLGl3LGxBLEkwLEFkLG9XLEQyKS5jb25zdHJ1Y3RvcixWZz0oKCgoVj1yLnByb3RvdHlwZSxyLnByb3RvdHlwZSkuaD0iY3JlYXRlIixWKS5QUT1mdW5jdGlvbihSLHksRSxsLFUsdixPKXtyZXR1cm4gTiQuY2FsbCh0aGlzLDAsOCxSLHksRSxsLFUsdixPKX0sVi5lcj1mdW5jdGlvbihSLHksRSxsLFUsdil7cmV0dXJuIGIuY2FsbCh0aGlzLFIsMTYseSxFLGwsVSx2KX0sVi5uNT1mdW5jdGlvbihSLHksRSxsLFUpe3JldHVybiBkdS5jYWxsKHRoaXMseSxVLGwsRSxSLDgpfSxWKS5aQT1mdW5jdGlvbigpe3doaWxlKHt9KXtyZXR1cm4gSXIuY2FsbCh0aGlzLDMpO2lmKHRydWUpYnJlYWt9fSxWLkY9KHdpbmRvdy5wZXJmb3JtYW5jZXx8e30pLm5vdz9mdW5jdGlvbigpe3JldHVybiB0aGlzLmI0K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9LFYuQXk9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZKXtyZXR1cm4gSXIuY2FsbCh0aGlzLDQwLFIseSxFLGwsVSx2LE8sWSl9LFYuZjU9ZnVuY3Rpb24oKXtyZXR1cm4gU0QuY2FsbCh0aGlzLDMsNSl9LFYuaTQ9MCx2b2lkIDApOygoVj1yLnByb3RvdHlwZSxWKS5HPWZ1bmN0aW9uKFIseSl7cmV0dXJuIHk9KFI9KFZnPWZ1bmN0aW9uKCl7cmV0dXJuIFI9PXk\/MTE6LTR9LHt9KSx7fSksZnVuY3Rpb24oRSxsLFUsdixPLFksSyxuLFQsSSxQLFcsUyxxLE4saCx3LEIsQyxkLHlnLGUseCx6aixzcSxELEYsRXEsZixKcCxtLHUsRWssQlMsVWssb3IsVXEsbVMsSVcsWCxQcCxaLEtKLFFTKXtmb3IoS0o9KFVxPXVuZGVmaW5lZCxYPShaPTE1LDIpLGZhbHNlKTs7KXRyeXtpZihaPT01NClicmVhaztlbHNlIGlmKFo9PTgxKW09bS5zbGljZSgwLDFFNiksck0oMjA3LFtdLHRoaXMsMTk3KSxKZChbXSwyMDcsdGhpcywzNiksWj0xMztlbHNlIGlmKFo9PTczKVo9bS5sZW5ndGg+ND85MToyMztlbHNlIGlmKFo9PTUwKVo9UD09aVE\/OTg6NzQ7ZWxzZSBpZihaPT01OSlYPTgyLGY9aXcoMikuY29uY2F0KE0oMjA3LHRoaXMpKSxmWzFdPShKcD1mWzBdLDYwLShKcCY2MCkrKEpwJi02MSkpLGZbM109KFQ9ZlsxXSxzcT16alswXSwoVCZzcSkrfihUJnNxKSsoVCZ+c3EpLShUfH5zcSkpLGZbNF09KEVrPWZbMV0sTj16alsxXSwxKzIqKEVrJn5OKSsofkVrXk4pKzIqKH5FayZOKSksb3I9dGhpcy5tTShmKSxaPTEwO2Vsc2UgaWYoWj09NzUpeD1mW1NdW3RoaXMuQVRdKDE2KSx4Lmxlbmd0aD09MSYmKHg9IjAiK3gpLG9yKz14LFo9NzY7ZWxzZSBpZihaPT05NylYPTc0LHc9ZygxNzUsdGhpcyksdy5sZW5ndGg+MCYmck0oMjA3LFEody5sZW5ndGgsMikuY29uY2F0KHcpLHRoaXMsNDgpLHJNKDIwNyxRKHRoaXMuQisxPj4xLDEpLHRoaXMsODcpLHJNKDIwNyxRKHRoaXNbaVFdLmxlbmd0aCwxKSx0aGlzKSxDPXRoaXMuVGw\/ZygyNjAsdGhpcyk6dCgzMDEsdGhpcyksQy5sZW5ndGg+MCYmck0oNDg1LFEoQy5sZW5ndGgsMikuY29uY2F0KEMpLHRoaXMsNjQpLFVrPU0oNDg1LHRoaXMpLFVrLmxlbmd0aD40JiZKZChRKFVrLmxlbmd0aCwyKS5jb25jYXQoVWspLDIwNyx0aGlzLDY1KSx2PTAsdi09KGcoMjA3LHRoaXMpLmxlbmd0aHwwKSs1LHYrPShLPU0oMzU4LHRoaXMpLDIwNDgrKEt8LTIwNDgpKSxtPWcoODQsdGhpcyksbS5sZW5ndGg+NCYmKHYtPShVPW0ubGVuZ3RoLDIqKFV8MyktKFUmLTQpLSh+VSYzKSkpLHY+MCYmck0oMjA3LFEodiwyKS5jb25jYXQoaXcodikpLHRoaXMsNTMpLFo9NzM7ZWxzZSBpZihaPT0xNSllPVIsUj15LFo9OTI7ZWxzZSBpZihaPT0yNSlaPVA9PVhtPzM5OjgwO2Vsc2UgaWYoWj09NzQpWj1QPT1ydT80OjM7ZWxzZSBpZihaPT00OSlaPVA9PWNTPzg4Ojc5O2Vsc2UgaWYoWj09MSlaPXU8QlMubGVuZ3RoPzE5OjE0O2Vsc2UgaWYoWj09MTApWj1vcj8xMTo5MztlbHNle2lmKFo9PTIwKXJldHVybiBJVztpZihaPT05MylTPTAsb3I9IiIsWj0yOTtlbHNlIGlmKFo9PTgzKVo9bi5kb25lPzcyOjY5O2Vsc2UgaWYoWj09OTkpWj0xO2Vsc2UgaWYoWj09MTEpb3I9IioiK29yLFo9MjQ7ZWxzZXtpZihaPT02MilyZXR1cm4gSVc7aWYoWj09NjkpcT1uLnZhbHVlLFo9NTI7ZWxzZSBpZihaPT0zNSlYPTMyLEJTPWF0b2IoeWcpLEk9W10sdT1kPTAsWj05OTtlbHNlIGlmKFo9PTMpWj1QPT13TT82NDo0OTtlbHNlIGlmKFo9PTE2KUlbZCsrXT1+KEImMjU1KS1+Qi0gLTI1NisofkJeMjU1KSxCPj49OCxaPTA7ZWxzZSBpZihaPT0zNyluPWgubmV4dCgpLFo9ODM7ZWxzZSBpZihaPT05KVo9ODM7ZWxzZSBpZihaPT00OClaPVM8Zi5sZW5ndGg\/NzU6MjQ7ZWxzZSBpZihaPT0xMylyTSgyMDcsUShtLmxlbmd0aCwyKS5jb25jYXQobSksdGhpcywxNjYpLFo9MjM7ZWxzZSBpZihaPT04OCl7aWYoVz1NKDMzOCx0aGlzKSxGPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJldbU3ltYm9sLml0ZXJhdG9yXSlsPUYuY2FsbChXKTtlbHNlIGlmKHR5cGVvZiBXLmxlbmd0aD09Im51bWJlciIpbD17bmV4dDplRCgwLDcsVyl9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKFcpKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO249KGg9bCxoKS5uZXh0KCksWj05fWVsc2UgaWYoWj09NjQpSVc9RWooMjYxLHRoaXMsODAwMSxFWzFdLDIwNDgpLFVxPTIwLFo9Nzk7ZWxzZSBpZihaPT04OSlYPTgyLHB3KFFTLHRoaXMsMTcsODQpLFVxPTU0LFo9Nzk7ZWxzZSBpZihaPT03OSlYPTIsUj1lLFo9MjE7ZWxzZSBpZihaPT0yOSlaPTQ4O2Vsc2UgaWYoWj09OTIpWD04MixQPUVbMF0sWj0yNTtlbHNlIGlmKFo9PTUyKVg9MjcscSgpLFo9Mzc7ZWxzZSBpZihaPT04NylaPVVxIT09dW5kZWZpbmVkPzc5OjU5O2Vsc2UgaWYoWj09NzYpUysrLFo9NDg7ZWxzZSBpZihaPT03MClYPTgyLHhjKDAsODAwMSwyMDQ4LHRoaXMpLFo9Nzk7ZWxzZSBpZihaPT0yMSlVcSE9PXVuZGVmaW5lZD8oWj1VcSxVcT11bmRlZmluZWQpOlo9NTQ7ZWxzZSBpZihaPT0zMylYPTgyLFo9Mzc7ZWxzZSBpZihaPT04MClaPVA9PWhwPzMyOjUwO2Vsc2UgaWYoWj09ODQpdSsrLFo9MTtlbHNlIGlmKFo9PTE0KXRoaXMubHA9SSx0aGlzLmc9dGhpcy5scC5sZW5ndGg8PDMsYShbMCwwLDBdLDczLHRoaXMpLFo9NzA7ZWxzZSBpZihaPT05OClEPUVbMl0semo9USgoTz1NKDIwNyx0aGlzKS5sZW5ndGgsMyooT3wyKS0gLTErfihPfDIpLShPXjIpKSwyKSxZPXRoaXMudSx0aGlzLnU9dGhpcyxaPTk3O2Vsc2UgaWYoWj09NzIpVy5sZW5ndGg9MCxaPTc5O2Vsc2UgaWYoWj09MzIpRVsxXS5wdXNoKHQoMjYwLHRoaXMpLmxlbmd0aCxnKDQ4NSx0aGlzKS5sZW5ndGgsdCg4NCx0aGlzKS5sZW5ndGgsTSgzMDEsdGhpcykubGVuZ3RoLHQoMTY4LHRoaXMpWzBdLGcoMTAxLHRoaXMpLmxlbmd0aCxNKDY0LHRoaXMpLmxlbmd0aCxNKDIwNyx0aGlzKS5sZW5ndGgpLEgoMjYxLHRoaXMsRVsyXSksdGhpcy5OWzQ5NV0mJkVqKDI2MSx0aGlzLDgwMDEsdCg0OTUsdGhpcyksMjA0OCksWj03OTtlbHNlIGlmKFo9PTIzKVg9ODIsdGhpcy51PVksWj04NztlbHNlIGlmKFo9PTM5KXlnPUVbMV0sWj0zNTtlbHNlIGlmKFo9PTkxKVo9bS5sZW5ndGg+MUU2PzgxOjEzO2Vsc2UgaWYoWj09MClJW2QrK109QixaPTg0O2Vsc2UgaWYoWj09MilaPUI+MjU1PzE2OjA7ZWxzZSBpZihaPT00KUVqKDI2MSx0aGlzLEVbMl0sRVsxXSwyMDQ4KSxaPTc5O2Vsc2UgaWYoWj09MTkpQj1CUy5jaGFyQ29kZUF0KHUpLFo9MjtlbHNlIGlmKFo9PTI0KUVxPW9yLHQoMjYwLHRoaXMpLmxlbmd0aD1ELnNoaWZ0KCksZyg0ODUsdGhpcykubGVuZ3RoPUQuc2hpZnQoKSxNKDg0LHRoaXMpLmxlbmd0aD1ELnNoaWZ0KCksTSgzMDEsdGhpcykubGVuZ3RoPUQuc2hpZnQoKSxNKDE2OCx0aGlzKVswXT1ELnNoaWZ0KCksZygxMDEsdGhpcykubGVuZ3RoPUQuc2hpZnQoKSx0KDY0LHRoaXMpLmxlbmd0aD1ELnNoaWZ0KCksTSgyMDcsdGhpcykubGVuZ3RoPUQuc2hpZnQoKSxJVz1FcSxVcT02MixaPTc5O2Vsc2UgaWYoWj09NDQpdGhyb3cgbVM7fX19Y2F0Y2goVGYpe2lmKFg9PShtUz1UZiwyKSl0aHJvdyBUZjtYPT0zMj8oUVM9VGYsWj04OSk6WD09NzQ\/KFVxPTQ0LFo9MjMpOlg9PTgyPyhVcT00NCxaPTc5KTpYPT0yNyYmKFBwPVRmLFo9MzMpfX19KCksVikuejA9ZnVuY3Rpb24oKXtyZXR1cm4gTiQuY2FsbCh0aGlzLDAsNyl9O3ZhciBIUyxWUz0oKFYuZ0I9MCxWKS5PeD0oVi5tTT1mdW5jdGlvbihSLHksRSxsLFUpe3JldHVybiBPay5jYWxsKHRoaXMsMCx5LDEwLFIsRSxsLFUpfSxyLnByb3RvdHlwZVtNMF09WzAsMCwxLDEsMCwxLDFdLFYudlk9ZnVuY3Rpb24oKXtyZXR1cm4gQXAuY2FsbCh0aGlzLDY1LDIwKX0sMCksLy4vKSxuSj1YbS5wb3AuYmluZChyLnByb3RvdHlwZVtocF0pLGVYPWZ1bmN0aW9uKFIseSl7cmV0dXJuKHk9cSQoMzcsOCwia3MiLG51bGwsImVycm9yIikpJiZSLmV2YWwoeS5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEUpe3JldHVybiB5LmNyZWF0ZVNjcmlwdChFKX06ZnVuY3Rpb24oRSl7cmV0dXJuIiIrRX19KChIUz12Uyg4MCw4OSwoVlNbci5wcm90b3R5cGUuQVRdPW5KLHtnZXQ6bkp9KSxyLnByb3RvdHlwZS5oKSxyLnByb3RvdHlwZS5kQj12b2lkIDAsYykpOygoeVM9Yy5rbml0c2FpbHx8KGMua25pdHNhaWw9e30pLHlTLm0pPjQwfHwoeVMubT00MSx5Uy5rcz1mdyx5Uy5hPWpEKSx5UykuWmVVXz1mdW5jdGlvbihSLHksRSxsLFUsdixPLFkpe2lmKCFbKFk9bmV3IHIoTyxSLHksbCx2LFUpLHVuZGVmaW5lZCldPT0wKXJldHVybltmdW5jdGlvbihLKXtyZXR1cm4gSXIoMjQsZmFsc2UsSyxZKX0sZnVuY3Rpb24oSyl7WS52WShLKX1dfTt9KS5jYWxsKHRoaXMpOyddLmpvaW4oJ1xuJykpKTt9KS5jYWxsKHRoaXMpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjRRQm0yeE4wQXJWcmZ3VVlzRTBGbGciPihmdW5jdGlvbigpe3ZhciByPScxJzt2YXIgY2U9MzA7dmFyIHNjdG09ZmFsc2U7dmFyIHA9J1plVXlZN1prUHI1MzBnVFhtZWRneE5SY3R3U2hkZjhVblc2dXlJT0xDanBUOTRCRTN0NlNPVVVmMjZXdzg5dXVUNDNjK0hIcjNHL1RuTEp6MXZJV3JnWEFSSG5LWS9KUWk1V1NsWTJoTktSY2h4d3R4ZXJZTDhFMjVuTjhoZldJWFlrK1l4WWhCNWZ6MWZqUENST3BFZzBJQnIzeHdjV0Eyek15ODlUNWhTNENvc0NUa0ZCUkRHM2NTOFpQaTh1aS9sRWdsc3VBbldBa0Jid3dicDVsUldXRFYwL3hHMk1DdERFUFF5ckdsVXhNOENjM25tT3EwbGpWQmlYS0wyR1p3VEd2S0ZrRHpIUlRvU0lDeHFHbE16aDB1MW1hYnEvVmVaQzl6Q2ZycmpFYml1VUFFYnJvalpmTFdIUzFKaG9VY2h2M0JkYXRRMlJST242TExTSEtHQ3BmOVBBc3RTSXhrTDJacHZUWlN6OE04bjVpNjcvSVhuNUo3dFZuN3VkNThLeW4yTDJjUGQ1ZmJnYUxqejdoMEt4K2daYTZSY041SkMyODJ0SUhhaitVb3BmR2NVeWVaR2VGblRIRlIxYU1vcVJYSHl1NUIxZlVmcHRNQlZ2MWg3dmE3SVZSMHI2ejdjbDFYTTlYS1YxUWc4K28zNUYvTmpIQnpJOVR4Y016S2ZaSHh3SzNHb25aT3FtNXdzYTdiNFRNOUJ6VUpJYVlSMktkU0x6VTg0bnVnaVQ3WG1RZm1lcGhUTTdNajh6T2V3V3c2MS93R292M2ZRbExqTXpZOWFqajlxUy9YMU9FaTJIa1FJTVk5eDA0WThPeEZvcXpHY2tpSGxCdHJBbHJzSkhyYm9kQkRzU2lQMUJwWCt3cmpabHZPdnp3R1VaK2VpRS9wUjJ2WW1RUnRNRjErMFNkVHBnWC9zdG9VanNMdWZ5MDBNQ0dmQ1lVQU45THRmM0Q5ek5hajJhQ3dqMWdqOG92YlAxUkE1dWNZaktkZkppNGlMVHNFY01iemtTQ3NEWVA0SmdBWFJZK1RKQlRTUmJTNFNwV2hsSFhWY2dPUXpnczlBRHhVUEZDemUrZkdtbUgvb1Rla0pyYkdRQ2lBb3dSaTdlVVFsOGxvdElhSU1BL1Yya2hETm1rODVwSTN3S2Y1RzU1WE1HWHRKd1ZVakJyUDhiOWFIMFRmdENEQXFncTVoejFaSWJwM1dqQVlKU2Zud1VHZkpuVkhvOHlZRlIzUC95dG1oU1MzelM1SmdTdVlPb1RoL0ZabktDMHpCd2RjNnpWUkxHcVk2dHlNallHUjAyVHg3SUltRTU2aUt1OTRmOWpla0xaUDE3TW5nT1RxOFA5aWdlMXZ2L3R1dnZaY0VObGJVSlI3d3hONCs5ZXFpa1FSNVlPMGNFUUFxd0I1THFHY2h2R1pORVMwc1hZVXpRQXNPUStFRWtWUHU4UVg0VlFsY1lvWHNoN0RXOWg0QzBqK1Bqb3QyRVR3YkhJZWNRWklPVkJLYnFoVmphUzR0NjNUMlBMN3RQOEowcGRtLy94YnZzdGJNS21wS2kxUlRoNGxBU2FEUmlKUjNwVGErSU44SnFNR2JrQ1lQNFlsWUdDbkRQa1pPWlQ0NHpnQ1JYSVJueUFsU2owb0UvalRIOUFvZCszSFU2UFI0SHM4QUlVVU80bUswbEg0YjEvbmJnTks2dVNvdDVSbTVLRUZodUlpVUEyOE9yYmJnR3N3Z0QxNDVsRGxvYUNFOVk4ZVVPVmhTZU8zTFNQTm5rVmhYMjRMWGRYcjBFUzd4ZVVncjBDdzROWUF1SVFCeGNZbkNKaVZrb2VPaVFNbUV2RnJnay9tOWdJRkdZRG9QU3cyd1UyUzJjUFMyL2VaQWZlMGJxZzJQaEZnVEtTNWFVd2pWYkdTSHhWVDRPSkhaNmNJTE5OUlZ6TDZDM2VMUXdVNlk2dDZ5eXFMb1hZaE9LZXZOeUNiYTJNOHNWaG51Q081UmRIQlFYV25vd0x6cG1nTUh1enM0eHc0WTdTc0xadlpud3R4aTZSYWNjOEIzQkp3NGFpOUk0SFhLNVhWSXhGYUVYL0d5OUVrQ3JlK2JGZkFobDU5eW1ZRlVaRmd4SmQ2Z0dURGJCdUhDK204ZGZSYklEZVQwTXJvUm9uYUhFYllvS3FHQlFYSThPTlRHV3AxVFlYWnpMQm5DMklMRG1VeHFycUFsMlpRd24wL1BtN25HQ09qVGF1by9XZ3Z1SXBndHBaTHhZby9xODduNDdRU05PbjhkdjkxcTlHMXQwd2JTWmVsbUpUc2djanhBTWhCU3ZjbVpicE1ML0N4VzlVdjUzTEhtVElITEpxSXBKUEVNUWNsWDUvT0J6a3c4NThwUEdvdzdMalRrVkc5dFpIMkpxa05qMTQ4eHBvVDdMV3ZUT2NqaFlTSmVNdm8vU0ZYZWZuTjh2WVNHTEVKMHVOeEpNTFUxZEFFTlltdy9iMFBFRFhZNWxsazc5N0pjSktGVjRZTW9pUCtEbm94aW9rd3hhQTBTbDZPY0xJWXU4WTRoZmlocTZDeTl1Vk5xK2dlV0F3Qmthb0FTemVnR0E1K0l6QkRUMVBvaDBYVk1oWERTYll2RkhYMGhhU2VnVWg1WFNOWDRxb3VMK2ZBalAxN2hxMWhNZ3F4KzVUalRCaTBsOEordnJQbE9BRXVoN3RBSTA2d1ZCdUxleVZUY0loSk9XVkF0V2FDRHBXb2tURk5kTmhud3lwenhwYXdIM3VZbllsRzNtMEtvbC9va1o5eDg4dmYxVjFhTWNxcWtib3d1UnVhdG9VRHF2MG9wZ3VOZzJUaTF2bGgwNi9FM1hrMGhFdGlUMXBqV1drRDlOR280TitsaU90aUFWTytXNjYvUjYwQ1BUSnVua21oV1psV21jYy9uaCtuRmlVeC91MmJrVkFRUXZBeXJsa1NQcDhXZFRXQmdGeUxvRXhKWHlqUDRMSVlqWFplaTBTMzBWSG1JZkp1YUlybitUWW1oMHBEWUVDMUpzRkZWb0tHN0JRSnRNNEdxYnluT1lYakFRdjZ2d2tNVzFJaFV3VWdPYWFZSzBmd2hoaURtV2hvMkVGZzBzVjlWb0RXeXpscXBVZ2JvRGxINlBnZDM1dW1CMldQWEtDMFRsQXY4c3Vsc1ludCtYS0llMmJhK1Z1NEpydkxDSVZDd0pDcWRGQ2ttWExYT1VLeG1zYjNHMWdVM1VPUlR4T2toZm4yQTZNeGdSTExsRHF2dk8yMForenIzZFJGd3JqN2sxSGdNQjFETGMrcHZseEVzMy9YTHBPRHZzaVlCZE5vc0ZCTWxZQkUxdzlueU5Qa21pSks0cW9JdzZMakV2MzhsdkRydTR0enAyZVJ5Tk1jTG16Yk5rdjU5M2dYSHU3ZkNJUVp0RWtieUVBc1VjODl0Q2RNcG5mb3RteVJ5RUU3UmhlSWNDSTBON1RXcThuZlJRSVlwWXR3VFF6MmxFcmttZmJkS1dOdGpiVm05c1BsN09vNlZ4VWo1V0tlMjN3WkhUR05yZEhRcWFENUVYVXI4SEZPWnJsRkVMK2FYQThzcmI5SHVZTFhYRCsyM3JjYU5iVWFSOFByWGtmWjRsbW9tWERtMXo2M0xaQlVDM3FaejducWxPeE94N090dVV5RlFXdjk2ODNYVmljbzVEMkZ6YWRNc3JoVDZmQWY2U3poUk1YdHhvUXpuR20wRE5yZGI0WmtqWGFZSFZpdzFvQXByUTN5aXhVYlJuaE4vSHRGdm9EcGNUTUd4ckNtNkszbGVPaTFFZVJ0YjlKZGlZazNnQXU3WlJLR1E1Zy9UL3JhaVM2dkVpOCs1dGZ6R253eHpRUUFERmdkQngwMWlDWnNlNTkyMVB0Z0hoL3hBRjZNR1RYY1l2aDRnbTl1YVEwOVZEMnN1TVI2Ukl1czVzMHFNVjhGeTF4V1cxK2tVYVpKRlgzeHhtVVFyRDVGRmlpamxyL3NTeWNGL3JRQnVub2RXZGpZVFRPMjJxMWdUR3pSN2pQaTZMSDQxeTBuelVQbEg0R05IUFBEM3VEd1JNY0RJSCtaMFhhTWRTb21jakZ3aXhyR2V6TFdrNzhQVVJ2d0ppS1EyTXFiU1pRNU5WZGZmNjlpd0tkQWtqQ2UrQmdQTkFScEJoVllxMUJhQndLTmpRUyt6OU9FUHhoazdZVWxTTXJ5Y1UvcFVxb3VCQ0tyRTRHNzRLMDBMY2lFbkI2MndhTHcwU0hKWkZzQk1GNEE0bDlUREhiTHAvUkQ5ait2RmlRYkVPMUtsZThieEptKzQ5dVZvV2FNMWlMQndzWmlmL3Y0QnJIZkJHRDkrR1p4MWhJOGhsM3NUWTlGcThyOVI2TkxQd3JBOVp4MHNiY1pINTRJYVc4UmFBTHBYYzJnM1I0RGp5OWFDSHBWcWFHaXE3dlZLTTN0VFpVdEJDNURtbHU5cnNxU3NwZG9MUUZUc3FKZm51bHhGbkI4WUZIV0plTTJpd2RjaHlUNEJRajgwRjBsTmZ2c1htNzBNUTdjTUJNV2ZEM2g5L0NVMC94bGZMNEJVZkRWeTdpV3JLRnNIVFp1d0NTUDlscU9OSW8wTk8wc2NKRTBrMkMvUHBXWHFQaXNCZmt0U3Y5ZXptRnIwT1g5dk9HSUtTNm1FZ0YrV1hsL2J2cjdJZFFaRnpmRDBNZFQvdlVoT01GQk9rSDlYaGhiQjJUbENoU1FRV25UK2hOQ2Z4eDJRNnVHSWtVOVVralYydHUzb0FvSkJIeGtNR0hydUh5RWxkNU1WLzY3S1RDMDdqNEFnM3kyaTJLbTh0c0pjYXJGUHh1MlVnSFFhZ21CdkFKRDE5SWtjM3E1K0xTZlczRTBwaU5iYjc2TXdYSHVkTWt1VG5EYk5NUUNQdGlqT3VZM3RYcU03OVRmTTB3U09IVUNnc3ZQZ21PdkV4RHoxWjRvYk9PRUxTVE8xc2ZsYTlOQXljV2JUK2d3ZSs1dmdpTGpzNzRHV0lvK2RORzdrYWNZOFFqZk5qVEV1dWIwclpiRWkzbHBmWTJkK0E5V1U3VzBDV0ZJcEdFa0l4VWtURXhDeWNqTDFoMk9MeWtERXFTc1lKVUJSbnFjaFQvSUJnOGJhSEo3TVlCQkY0cUQyYzlvYS92VEhMZmI2Z3ppYWtHa0RvMGV3YjIvWnB3Y0g1R09PS0gzdUMvaFRlL2tjTUo4S2ZEUXRvbkl2Mld4WjlIMm5WcjZMUUYyVThlWWV2OE1HMWprRWJKNW9OaHYvOXNhTklBVHVRMFpkOWZmdXhsZmRRaXBwNnZXNXdaanl5ZTRESWhjdEJEWnNKSWNBVEI5MlhNL0FuZDBRNld2MkxRbHlKQjVSNlBjVzJtNFNwQWljSVVkUXZJZlFuSVVVRnlyMjNVaXF5MXNZWDJBcEppUUVpUEFWb0xiOTBrTkw2dVRMRDhqRDlHMDR6WTQ0SEhIbTFNd1lxS3pBWmVYYzRTMHdNV0VLc0ZaRmF5V0FzUGpzelkrcUtYRTFlU3RGSFlMRnZZdW9jc0QwN2RYSGxTYjJ0SWpJUWlzWEhDaTRWMnBucXcwQWNUQWJrL2s2dHJTZWpVcldITWRmbmVvYmc0SEg2ZGlHWDk3QmtYWitEMUI2YTlpZkU5OHV3THRLbHhQSkpYejRqdC9meUs1Y0ZlRGdxbkcrTllBSjVQTFUydnI5MnFwSE5EWGpmMmR0eWNvQXJudHBXakRrMHBta1BPUnh5TkJ1L0NpVWlRMmt6Y1NMYlUwZU5pby9CN0tmOEM1TWJtWDBYRThvdU04YUswTTMyTkpRTEJObVQ0dlk4OEVSMStlNVZtcmtSeVJqTjluaENDbGMyMkpVSElMbWM3a2duVDVxdXEySHUxZ2VrV0Qxa3liMEd4Zi9Xc05iNUhRK1Q5bnFxWGdybFRudE1ZZjcva1RFcXRUdTYxMmZkck5rNzdxT2RrelZvOWx5ODJQWWFiQUlFUVllNEZVRUZCOXMxRWdQcFV0RUpHMGh1VkhBeVBpWFlmd0w3ek9zaGpETEdZOVg4S0k4eGVUb0g2NG1ZWllRRHdIazFFM3ZKV3NXcGhsUmFhQnRnYWdhb08rR0g1b2h6ZDhZR29XaVk0Q3lmcGNNNUwxMXJmb1BNYnNvZUxSU05UaG13WXgvY3ZaQWxJanNXd0RTLzJ1WGhEdGR5aW1iMTNlMldJdUVNS05qRGZpZHExTk1scXFmSlNPazBJOXdSZVhNM3JMaFdFSnNjNXR3R2FYZTBsUzFKTUJCR2hkdGpXR2V6VHVDUGVTUnIyTjJnb2szWkNKVVNyT1pmYW1SdXZEdWFjZHlHQktQenJRczJZdEY5M3lmaCtMOTZEbGZjL29MVTR4M1ZERCtOc2tkSHJhaS9LQ0tXTEZ4SmlqVFpuSjVzdVlNaE5PVkZldS80ZkRZbmtUSU9MSHMwVTBhOWh2cTNra3VFeWluTXVFaUJRNlhDMElPYzZjR0FiRlNLWmtnd1VWOHo4RHFTWDVRS2pBcVlyNXdibjhFK3ExVEFGeWFQbHNObVlYclh4QXBWVTlYMVdDSVE0QzkwejhCWVdZVm5EaXEzaE9aVEF6aWwraEZjNlZlU2tXdjZXcGZQUVAvMVBQV2p4cTFOd29nVFlNcytlSGt1VVBpaTZKTU9sZWNqQXBxN3I1TUF6TjVwT21CWVFKZlN6TmJvVjFYdFc1NVBTaU9VTlJNQnlub0N1Q1B4b2ZRYUN4SG9iOXUzdTBKTDBUa0Z3Syt3V0NTbWNEK0ttWEtNZ2FBVU1ObTBlbmVMbUMrT2pLVlFuRjdGWU03TFZOeVBZMXJ5ZjNyVi9jNTI0NlU1alJLQW85aWhzSGhCQzh1ODV0R0t1ZE9JT1BuMTVHalowb3B6empSRnovZlFoQmw5SEJjclU1Q2VuRHNGaFUzYUZjQlQ5b0VSdjNFVDM4VU44MUZOam01akdPUExKQzNWbmhwRExRRitZZDhoWFQ1Z3haNitKaGVMVXFQWWpueHZSZWlDd2VUb3c1TW9zRGxzbEZmdGhmRXdqUEY0SnF4MDdJZHQvM2M4S3VpRndZUzMwK3o0N3hjWHBFL2piSW5YNHNYYzdXTzIvWWtKMUw4dUNCZHBTK3p3ZHQ2QzZaaUtWdlVyVFBZR3Z1d3FmU3NtVjdtTmVFQytlL2d2dE9MVkxsN3N4MjlUZkpnWVhSM2ZxZDRTZTQxczUwbGhuaXpoWW5aSzdhL1NxNXBEMkRaNk9mZjNZZEhFeitXTVlqMTNKMUpMbis2RGVEN0lRWmtVR1dmSUtqQlFBS1lWWDdOdStNWDdEN01xUktabjRBcWNLQ2xJajZaazRwZ3h5enlOQ3ByT3pOZytpR3E2SGc3UVlMamJkNDlqcEs3OWltUDRKMHlNMDZaZXdMdTM1Y2owNE9QdWpmQzJlN2I2UnRkS0hDSTNtbnUwNE9GRlpJSTlxTXl2TE45UjBtVVVBU0dwbUs2Q1EySWVDdXJWdlBJMlVqTUtZUk95ZlNEeElvanV6OXhKWHkrZzhTM0V5U1NRS2tpUCtNdlNBZTJ2Z2w2M2RqZGxFOUJqQ012SHNncVhmYjNpR0cwSGxScTRPV2xHWUN4R1FLbDZDallHOE9ERGx6VTR1T0hUbXYzR29MMXE4SFU4TkJuRnhTNnJ6QWU1ekRPeUlGckN6dWF6MVBVVklMaStJdTFkYVlxNGNZa1YzMHc0WlY0VmpPWExUcnF6VnAxMnViRXlXR3cvY1F0aWIxZmlvS1kzUlRQUjVUNTNWZ2hPZk5aTmhqRng3dEZmdEhjTmJBcU9RMHJYbERIbndpcVY4Q2N0WXRzejJZTENlRTc2K0hac3phUktIOGZvcWhqTXJqQ1hPTmtLUGh0dFVtb2N1RjhweGJEZGtRTWtBY09GdHZXSGhpQWxpa255OXRMd0hCeXBNTGNlbitOVEtMVFUrQWErQTgzMWpWQlJJY0x3dmdhL24zSHdCY0NnRE5hL0d4V0VSQm03alRyZmNla1BRanVPTS91TzUrN3AwMDNGT0xmYlowQzVmY2RxZGo3K3BjbVFnRWdEa1hYNDhYemZQS0dJMWxGMzF2aVpSRFVzNzREa1U5NktTUTdUcms3SjNac3dNV3pSY3EzTjNFekxzWGtaZkJrVnpSTmxZMmw0bk93bldzSDZBWklUWm11SE9CUnZHVEhleW0rMWJMcmphZ3NUbjAyQ3U4NGlZY29FWGhLZkhJQmtIcUF3TjVCa0k4RFhaRUNXYWxKL2pkWU4yT2JsWk1zT2djVXNqVUo2cmFkWEhBNzNXdmhvWEY1THk0QTRrN1hpR0NXKzlWMTN5d3VFYkhDaEtBWXNuR01waDh0eFMxUVpLYWdQMmdiVzFKTlo1K2lQWGI3K2t3TkxuTjNINFhIdDRaaFFVc3UrS0FRa1V5RXQ1REdRazdXdzB1TkhJank3aVFHZ1NpeDlVUW1JVWZUVWpqOTVORWZVcVI4Y1c5QTF3TW5aOEpKYnl4YUpIRllTRWdmbS9VbGN0VDlobmU3MVk1Ym1ubTROREczaHZ3bkhjTTdUdUFJV2FObisraHk3amt4TjJ2bmhYYjJqbTA3alBEeXVLejI0WmhVeWxFbjV2ZHdHeGFwV1BYTTk5TlArSlNCcTQ2Q003TFNodnFWQkhXQVRDZjdGK0pVZ1hQQnJrTU9zRWI3L1lTaUtHOWMva09aMUJLN1VJdmJJVFI4TnAxU0xVWjVOK05KdHpqZjg4ZmZKVUwvRmRrWnJGa2N6MlVicHdOcVcwenJTeldkT0lCdDNDTGdDL0Uxd0N6dS9pNXpQbUFoTnlhdjB6bjlocVNvdW5LQW0ybUU1R1lZRHYvY1pJVFBnSTRtemE3TGpheXlTdXN5VFpHSjlEUVhKYU9SbHVrVlVlT3ZqeDh5cDlhbm1rdWYxUnplMzBINDdoWDhtUGxHTExKcll6dkFRSklvOEMvYnBTSjd4U3dhMzQxRW14SWJtOW1hRzBZaWhyUVN0ZFBaVy82SnFWOFRwMllSanlZZ3FaYTVIU1VucHFuTWMyVFJUcFllbmZwaEY0SDdrb3FGQUZIc2dVR2dMaVRlSXZDNmpyYnJLTW5MVmtXdWtNaytud1hzRmFRaXFBRWVsOE1tQmlvSkhqMEt3b08rTmlST1BPMkhxNVlRVEYyalIvS2F1cVdVRTUvQTd3dEt5SDlUdE16OHJGOFg2S1dqdUw2ZGFpZ24yZDArVnUwYmRqODBGdUVhK1ZLT3QveXNTTW5MR2VJS2hHRkllUUF5UG1qdk9jTWVaWmR6N0VQMXcrM0FqaXFBeSs0QUhObllVak0wRVVLbzQycFBHV29jdm5LMVNYdm4wMityMW5CVlN6UmpaRnhHbXJoTk5sVlFjbFBDVXpuNWhXTHdYR0N1THY3ajVjbVFMb2d2bFBoZTBVbjNVeDZ5L3RTN0FtZDNFY1ZCTThseHY1QktkbkpQMzBSa3E5d0VjRkltY1p2KytCSVdxT3BPeW9XMlF5YXRZLytUaVk1cUdGbXZBQm9yVmV5a1dTdTQ2eU1vMVdMV1hnMzY2T3hIM2p4NjBLdjAvUHRkT08xUG1ZanV5Y29mcWNRMmx6V1ZZQ3QrZWtYRlI1b3ZvMWF5NmRNQW5jY25ha1E1eG5ReEhNT2FpS0ZnY3dnSEJZNWJ1TzJOQi95aXNRZjREUms1akNaR3R5WWJHM3V1M2tHV0NuYkZaNUpXS2FKOWJ3c3dYRkhiRVFNTXhpZ3JPd1FhZ0Z5VW10K2QyaW8wNnFlcVNBckMybjZVVVB2bWlhcUNSbzdKTWRBaklpRTJTWjB2cHUyeGRrdDlFZ3N6Y1AzV3VPRm5TWWt3Ykd5S2lCY2VRbHdXak9lMjJrd1B0bHNsdXBLUVBCc0hCS01OWWlzNWIzZXltYkorRHhXbnZTdmphSGlWQXA5Q0IxT1ZJVnhRYzVPYXNtd1pqMnhXRGsrYjRFLzlXR015enFUR3VaQUd5RTRkd2xtZzZadC9DcmcxL2NMUW9rU1dQVnJFZCt5bTQ2c0pyUkZjWmhOSElzV09vWFNWakJ6bFM2OEFUOGZvWERRNjZMOEtHZFpuajZSR1lnUi81MFMzeEE5RTdYQyt4bjlSN2VXRGZJQThvY0dvZUk3UFNiVHlNVUtSZ2doRGdjb3VaVFY0Nlpqc2UzbmtScGdEbkJOcGZUTncwZUUyZzEyL0VGVm8wNlA1WlloUTd1UUY2TW4wYVpwK0xkUWlkTEo5OEdnTlVnY04zRzc3VGJ2QkVlNGJrL2tLRDYwS09WV3plSGRMcXp6SUZaWEszbHdJaFovSjkxU3hyZVo3anBqcHhHaW1VNXhsS3hIQ0NaVng1Wm9mWFFyTVpwTzZnYlBHV3dTdHc2NmQwaVNJYkFDRGY1bnMzb2RVWm9pK2FidG04ZlNaY2JxK0NqVmN5MEVIck9YMHh3YW9SMWFDRWRaaGNsaFJoUUlldXZzZzZKV05CcXdnRDNjdmR3ci82Y055MDNxZWlScWtNeEYrY29FcEk1THNRQ1JuRmt2Sit4NjVSRDAyWUpSWEdHOFMvN0RKL2MxbGg0MHBQTjd5ckZ4U1hNRTlwSytpLzZzNDBxZUNmZ1B0NmtpWllIQlQ5NVh5MlRnb3BZUm1Lb2VXd29FbnlQamtJZG8vQm43N1ZUeWZmQlllZXZlYmpIbis2SHp0V2NUeGt2dmxRMlFZYk9zeUg5Z2hlbHF0dGFoTUd1dnJqYkRacElET0M5QnhDWGdhUGY2QzlCeHg3ZG9rSlRJeC8vYlNhWnpSQm9IQlM2ckREWDYzZTVtY3U1WTNxTmYxZ2FTbUFBY3dGays3cmRWcEt0UkNwZDlkZlRjYnRjamhsSmpad1FPQUR3Q0Nabzc4QnFjUEZveGxFUmE4VUJ1Vzk4NW13YUp2bmpOcFUySWJlSGNHd0hNa2NaWEJWbUZUNGRVeFM3d1NhbVpEK0NqOGVvOUkxa2JjdmFvUm9HTjlGVmFpWUFoWFRTbHJFbGZsYW5HdS9JUkd1YXhjYm5QVHhobHB0R09WS1M2SEt0REIrSUYzQlp1ZVV0TlNhbjBvcjNJSDFCMTUvVHpHZ2FKOTh5bUFRWDhQbFVSbURGT3NRZ1B1ZXlIQWlKZjJlNFZQYkZoYlpJejFNd3JHY2ZUakFuSEltL1lPWjlEUzlud0VjNW53Mlc2czBYc1JieExNMzgzeURhWS9CYWhRaVNKTy9aZVZrWFlwN1RhdkEyQWs0cFVrd29iYmo1ZEpMR1FETTB1Vk9mSHFUQWg2aXFjclU0S28vdmxKOXpKWXpCWmRRWXpHb2x3MlpBVTV2c0pKVmlwOFZPOFVuQmtNMmltT2o5SkV3c2xKZ3BhenUyOWpBOUplWVdxNVlvYXBkVDc1aHdTTC9ja2E5ZWM0RVhvbFpEb2ovL3dBVlQvd0xsL0ZWcktVVkFNYThkd0VEY2h5ckFyRXVybTVJYjcxK3BreVZsakhUY0FINXhIMVpqbXdGOXZpdDZjUXUzWXBYSnF1UWJCdWtvMDhJaTNpZzJuVENRcjBTS1pyRG90eEtEaWlVZTBYc0lVTUlwZzFLZll1VmdWeW5ET1M0V29QaDk3cmxyTzJab1dWNmFONy9Zb2IyZ2RvQmdEYlEzbGRzcEpSYS9qdUlDdmx4NktyeGlsYWJLRU1xK2sxcml0eGpQVFQ2ZVU4bGR4SitCYkZLeDYxdWZkVVRVaXFOb2ZsellKeTh5dzUvTjYvZjJ4L21VSEIva1lTanhNZ21MSHZIa051NHRnanB5d1VXQlhhK2pzdm91eVF0R1F6K2k2TXA0b1k2djZPdEorNi9mOUM3T3BxNkRKMVllS3VSRTVHU1htR2tTNzdyaFpLRjhxSEpGSlY3YUl5K0dQaUtIdVo3SmhydFJRTW12K05aYWRXR2ZxOGxWWW9mdktuc2J5cERvZHI0TDFVSVg5dVRoNTFwOVZ4clNJL2RlaDl4WFRKUXZRUUFpSndpVTYzMGYzYVBVZ3VrTUdMeitqUWVRWlY4T3lIakpsUkF6eFpzTEhqTEwxU2t2Z1NTUW5SYWlwcnRVNEE2NmdYN3FWWTBFZE5XSGoweVhoaDEraGZ4Z2RySXdYNmxydjZteEJxVTl1WGFjKzRtSzh1Q0REMi9temU1aXVxdHpxRklRa1Y0STd6QnFOWlo4ZVplR2N2YnhXSzJESktpcXI0QWVaMHBrejNRbTRFd1lBbFhaNWRTc0RUdm41Tk15TUtNZlJ6VDRuaG9LY3FYenc5endibGZYRk4yOUNCL3lOc25aTDUzaFpVa0FPNW11N2JSRE0vUlR2dUQxK1NMK0xKVnJra0pwUDFEQ0trclZ1SFpTNXZ0bjRnalVmcUE4cGFNclVRK0hISkVXTlBkTC9KaU1PY0VjSGxoYklDQUxRTTc0Qnh3bkZtZzBkWHF6U1ltTi9kQ0pUM3h6MUd0Q0F6TTNoQWs2K2xtUFN0YlV6WkRxeEtjREQya1A1VFJhZTcrM2dvTlBhWlBlM1RqcTNpUWVzWWtNWFJDZDRZTGUydE5GNUwzb09yQlgvV3J2Q01NbmNKa0xVOHcwUldnVG5KU25YN0E5a0pWUXQ4dnpCb05FSUZlek80SWNKZFhOMHNJS2d4QmZjZXFMRUtFZTdrNkF4S3ByamVnM3lRVlJLM0NhMk1qNmtCcXkvTHFYTXZuSk9ITnAwNS95ODZGdUVNMWZyZUtRSjM0RmtmSnBEa05kMFMzMGU5RFJRMVdIbyt4alpKRlVCSFM1WHUram93V3RROGJpV3h5S0lZN3BvVFF3VlRkSzdBR2NtY2ZnZmxNWmI4VStua3hLV1RhT3JJUUEvR09iMy9hSUpNVjZkb3dZbTRrQm1WYjFaeWp3N05HaEFVeElsb2U2dnV1UkEvNk1WZmIrSjBqOXJ3TkVHUWs2cHhVVjZTYmpIUEwvM3FBdTdoWGpvZ2Y4bm1YcVBOdkpqajh4VENkQzhvR3dWVFlaeExIS09jaTVsQXFTckdPeXVnMnhtTnpoSlR5UE5tcHpsTG1MdmhpUnRBQUloV0ljMml5WUxMV1BpRGFzU0FRbURZYnpENnZFVldDQmRDZUhlajNiTndSeUJWOG9sbEdRMVFORDNIMlVuclVSY3BqSW1aTzN4TVhzYnNWY2oxM0RDekVmZFkzTnI5Vm5lR3FSU014eVNnR2VBaFJYL1VwT21RLzJpMUcya0ttMTh1ZndDNS9lMGJMMTBtSHJ1a2Z6ck5wb0MwVmU5WEtPbkhlRm1tdisrMFErNUk5eWI0V2x0aitPY3RFbWlZQkhjTHdOMzMzY29KeGZwV002TzdMUjROOFg1dUpWS3lFSWQ1L2tQb3dVQUlYQU5iTGx1SG9UK1ZZdUViWWJzQmMxM1VGMkdrdXlOcDRaYzRNQmpiTjB5V3VmNTQwLzNnYks2OGZYaDlJSk5XYk00b2d5OEtQZVRmQjhiYk9EVnU3UENpRXJ2UmtDeEdRM2pPYXVSVkExY0wvRWJINmVzY3VFM3dkN01QN0tCT1hlZ1hyZGF3eDlZSStxT05SUHcySHpHeGYxYzl5RmtRK2pwRHBtQzhQMTdiNWVQWE94cmlKZEpQcWJJR0xaZ2FFcWhGL2lNNU1oTWNsbWFSTTlUblJCcnBnTU9FbVpNVE5HeUl2TE1LYW1xUWt1bHBURThjM2pNclJxeW5TLzNZRjdISkZqUlN3dG5mOWlOcHJtRmZxdE5JYytIbWJFUGlpd2tNeTVSMjZWTWlNdTNaM0ptTGNXa1A0WUJSNGM2NFhTWk9xcExkUzV4UG1LSWtKMXZtcUwzeElYRVFwTjlrYUVXMSt0QndyUTc2Rzh3RDFBdTkxS05Ta2NDUlJQby81L0hndmMwMHRXTmVkbGVkaFhoZWpNMTMxaHVWUlNEN0tFUC9rQi9zZTNiWWdYc1VweERQOEtwQUVKbGwwQ0pIR1FlS0N1d0hiNlFIRTZ5bGdwL1NqTmxUbHFVdDBwd3h4MEcvODY5aW9Xa1BzODBTT2JwZy9iT004V0xVZGZwb0U0T1VhRWxTclRyYmxMQ1kybkFFamNReXFPY2g5MWtUTnZVUDgrUjloZk5WZlZHRi9WNk80TGtyaHF0dWE5N2o2OC9vanNEQW8zRzkwS3Nxd0hGbGk3dmNVa1VIUDR5MGVIN01zS3RpSFQwWWNkalc4NXA1Ujc1dE5adkVsbDYyQVcwekdaNmlNRDFoQ0hrOFJwa2xTd1JGNCt4T0txNlVxS1grSjIrTHYxMHBZMVVvTkl1d1V0VmtyQzVyeXFwNTg5RmwrZUFRQnhMZTJ5Y3EzQXNCTTFzbnRkQ0xPelZPQzY1Q3N5eUlzcGlxV0FMbnUrMVI4cnM4a05iZXY3eG9PdU0xbzZraG1BeWFZTlBpaklLODJ2Y0RKUHQwQ0FOYi94L1NEak13WHgvbjVTODRzak94UVF6K1NwY1pVRkMxRzh4ZzQzVWtVTFhKdyswNENsejcrS2tERkxhLzgzN21XL3NoWklaZTNPcGlKbTc0QXZxK3hOSGJqYitOT3hrb3VCMVQ5bDk1emZ4YlRXSlo0eWZMeG1oeDRtRVR6dFJRbnkyUFpTTzBsUndQd3FwUUFzY0JiN2hHSk5wdU5mdzR6OVNydXdMTktDY2JlZWNROG55Ym5zU0hMdlY1ai9xb1M4Zm5haWlQYWZwVExmeGZQVmpXc3AvZjliQmhNZlMzRzRNbVgrWlAxVUZIZXU0MmVJYjI0RWI2cEd5RmVGUmdvYjlhVCtyWlI3eEEyNFAwdHBOUDRwYjVFMGdOL2JPY2RkQUYwN3E0eTUyVDl5QzVwQk45enpiQkxpTUhhZ1puQU9zT09KTWk4SERZVnY4YVcrZkg4ZG4ySnlGRndMemJ0bjFzQm5RRWdtQnhMYkVHVGw4TlRjRVNNL2FXdmZ0ZSttbnlySi9ibGQwRDN2eGJ3QjAyZXhXOCszVFFqK1lyajMvb3R6QTdUTkRQZVNmK2sxR2g0c0ZqRTJRS2N1anlCZG9EODJkR3JtYVBpZEh2eUVjdUYxL0txWFNoZVZ2ZEhULy9PN3R1THhCaktuTVJEOVU0SUNDak96ZnR0NjhoQkFOcktucFVyNDZnZjBnV0t6RkNTZW13WDdjNkt1UUdORWdWVmw1eGlPbXpFaFlrYksxODFWTW5aSW1lLzZTRmQxRWtabndOQ0FvWGwzSGpaMktsa01RcThjM2pycmVsdmt6cnFRUXkyb2xZQzFrMWV3Y0ZQTk12aWFMV21YWFFCaDk2QlZyR2Nwdkc4eXdwbnVPbU9uNHN6VjFEUHd1Y3lxNHZsK0xtNHZOTmJabzJUdmNNek9ZSHdKV3l5TUZUd3V2c0NrYVFiMFh4TXBvTjVyWldlVlAzY0c2NkVSS0szWEZ0OWtlL3hmcEZMb04rRmQ2NGJiZTZaTFRYckJVbGtldHFONDZSM3ZmTUpGc3pCcm4xTmRrWm5sMGJaVlRaTVRJejBaeUZxNVM0dS9yaTU1Z3pIdVN0bVNwS1cwS0Y0Zlc0NzZhMGxuRkpXUEpZNCt1UStrc3cwVUFMbHJMS1lFUEQ5Z1NNUEI5K3Bpa081V250bGpyVVJHYTBQeG5IUXFxL09WQUlHR1FFUmhJMkxOTTZ4cXIydTd1UTNadDd2NFNuazdwSzlWdUQ2MnprT0pZa0JoOGMxM0JXSHBLdEpIZDRLY2FWUnhlc2NqRXV4UDNBTVBsb0Y5MTFLVlpmTEpVcVdmODlpOHFyRGY4SEFHVUdnVzFhYis5cmFvelE5ZmpTY0todUFkQmpsSGZsTzhtVHN0UC8zR3JGZVBrcnVSTzFqNmJXdUlPZVEyTlhpKzlOV3BvVVdsYy9EU0hySFhGd080QWYzQStYOUNCNGpKS2h6WFFobFVQNGltSTBzbzZObkV6cTdNSGNsNEt6OGJoS25IazRaSG5ZMys2ODBNNWVFSXg1QTdKeEhQSlBWcHRpd3VCR1VsTWJqWVNJYlZBYTRVbjd6NjMvOHpVQjRKeUdpQlE5L2NrZTUwQlp2U0lYcHBnQ1czZm9idHk0SXlONTQ2UlJBa09DZTFVUXVZTjl6cHRoK2lZL0sxaTgrVStKdEpITDJ2TkVHWU9icFVvKzVhU2hPcE8ySloyZzgyd3lpbnhDNUJOakp5bEpSUk51Wk96RERmaW8xKzduSXVNZEtSQ2hveTFWWUtBTUF3VXkzTmJvWkx4OFg1R3loLzB1Q3dEOVBsbGx5VEMxNStNQXp4VXhWUEI2bXh1RklCSnNjMlMwQm9Fb3pKeVZ6SjN0UWdCVmxLSTJsekVxcWFnbDh1NDlFbFlTcUowRytBSTh4WE5vRXI5WnN3WGhIbTMxWG55cFl2eUNUcFIvcWkrdTl2U3Q3VGY4dmhaNEFPUlFWdlpWN3ZZVmtiN2RTR3Zza2Z6WjBscVA2bXYwT1RxZ3p3Y1lVSHlDNE11VGZkNlh0OU9xb1FWdk5HMUkrYTM4alJRcEVDa0lTeWpENjlsVks1TTBTVTJ1VE9lWUV6bDVQTEtGWlFwNEdydXcwOFE0YnZWYWQ1R0s1QWNkcTg2aWttbXBNelJNcEx5TmhZa0dVZS85aUlGSXZ4ek94K1NCaEJ6SW9nbjN2MXNOem55WHhMcHFrbXpxdFNBcWdPbnQzTi9RaVZONXUxS3BpQkoxSFo1SnRCRDQ4YUFQMnM4elkzeWlRS3kvc0tLZ3RJOWw5dkZOTmRad2ZaOHRkaG5BeVdvaHZwS3hPQXFIVk13ZlhYb3pLZVFlYzJhRERaZXVaUmUzbnl0NlV3QXJ0em5rNFQvcVdNVCtLdExTekg2dVBnNTc5RWhMb3VyeVIwMDhocmRQT0s2UHhRNHJkM2I2c0M1bmFabmFWbXpubEgzRDkvQURMZ256ZHpMZlFUUU9wRjd6WjZBV0h5VXlTME1mWWkrZlRULzhVOWxqRmdqYW5ucnV0MkhBelhnL3dubHpGV0QxRVZ3S0FZRnRxcS9USVdDWkx1ZGFJaTkxa3BPdmYzZnlIdUNKOXFpc0YvKzB1ZGpvb0c2TzAwaVJrNGlOUWRUQWlvSnEwWVZLQyswUnpTcEZDcEJyMGcxTWcvYkNYMWtUU3BPQTM4NUxFN2FLOEJpVnFJdWpFSCtPYXRtWFZNSHdveEphQ2tyaWFOWVJPd3JOVDg2KzAvNFRBV1piYTJkUmlLS1pwaldVOUlnUTZjUVVVbkVPTnE2c2ZGVnhLU0RQRTFRWEV4RENqMFJlSmxnUWdHaysweVdsMG0vVTNtNk9nOW53aDV3R2FRNFd3WTdKbFBlZ0RrbURsZHFEbE0vTm1CdVVOdFozWkkxdDhMcjBKTEhrSG4wLzBUMnZBUStUTmUxN1dFaFZRMGt0WXMwbUFJaWVobHNRb3FZdkdCbll0YmFCR1pNQk5LOWkwVUhFWlAvNzRoWXVFa1Q3NEl2d0UrSlJXdGhFbHFyUFhEWWs0d3BvYS9ScXN4SzFWbnZQUkJyeFBrMU1xWm9TN3VvcEN6ckJuMGdPYkNwU0xlQ21xSkZyQTNNdnY3amgrRjBuS0wvc1g4Vmt4bVAybEpLNURLNnhqRmlEcGdmaFZ1c1VJajdRQ3J1MXBhRjgrTFpONzIzdDdTQUpMNkg0YTNWMENoK2M3eHVLTG1XMFRMOG82eW1xVCt6R094cXVSM2s2SzFBS21HZm5GRjB6TmlhT3FrbUtINzhCMTNNZnB1U0YyQ2JTVXhvR3RUTFlycFBBWFMyOW5Da0o4RFJYVmNnUWJ2L0VaamRBR3JERlYzMnptdlB6bVZMWDdxOEhXditpWDJaQUI2dm16dUUyUGZMOUIzaWEzVThEeXZhTDNnby9jTGJScnB0ODRhSHNGMHFpOGhHV1JUM0ViQ2tuQS93SUF5Q2lMc0lsNUozbEVrdzBkTy9BWHlpanlrMlQ5Z09rM0ZoYUtmTWFac1JjLzlNdmhMTzBWeGtIb3BKNUZNam02RzVXWnQ4WWZEckw1aWJOYWlDNXlqUmNjT05rNUlETU54QWFmWVQ4YjZSRXpLTjdhckxaVURFTys4LzEzUkNmZFZMTHlEQVYrNjJsckVSdmh2bTRPZ2UxWU8wek9NTWtGbitUWE5zcURIWEZLNkVzdzd1bXpZOHNCc1ltVmZjVnBaZ24xSGlmcjd2RVpZUzlmdmhTcW9QOXFyOG9SKzNDNnNkaUVPUi9MVHh1N3VKZTFRODZIQUFPQjdVWkJ3UGFvbWliN3J3b2h1Nm5ncThmNTRFMmJ3TnFpcG1MSjVQVzZRelRlVkNzKzVkZ3h0KzQxSGRlMnA5Vlc0VlVzZjd5MXU0dGRlZUhtQmRqUlkxMmZsZ21sRFhSRmw5TjIwVGdMZXVZZFJIUGkxU0dBSFhmRnpSa0FPYmpOV2tVQ2FPaGR1NXEvZW9xUlprYWdzZk9SWU9nS0FtZ245dE4weWlZcnVhNFJKSmlFSU1Wa243SGoxTkJGdmlvckdGdTdSdWFtRm9GYkhYSVViSW9lQ3BIV05vRjA1MkFWQ1djRkhhOFpKYXNrMGVKd2xTcDZvOHdONWRyWjFRelovaTRVTGZub2lUamZnd0VXMUZhVG55TExZZzFKNmNZMXJrUHlTeGlZcElBbXJjUDFIK3FaRm0vTWZLVjNZYnJqUzh2Y3IwbG5xL0g3cVZsQTdDOXFwSTkxUlFGOTR4K2RBa2doclM5NERINm9CQzRPa2NCYjlzSmpsNXFSbHdnTW05a2p6MDZyNHB1Ym9Jc0pMRk13SnhGU1dhWk15dTFyQUVrcjR6UVYyWUJMUnRjVWNrTEE0SE9RTm9VSytrWkFwVlllMVFnLzNIZVNOem1xdnp4czE3amI3eHFzamtJK1BGaC8vUGNBT3NDWkZFWC81by8rd1F3K1pqaG1vcVJrSTlvMnRSTnYwbmR6WVZPM2JraGx5SUtkVmhrWUMyUk1kOEhqYTFSNWRYUitTUHpuT0YwRzRucEI3WHE1N0pDTUJhVVRibk00R2JMNk9HaktqamEyNEJLa0tOdENBSk40eHhmcE92NStnWVRyWndJVzR4MytqY2FGdk5rM1lBRHIyVENWU1AvWkhsQ25uZkJwMnlhVjZzYm1TUnZTblRUZUQzdDlqK0FkbGZ6NUxXRUZBSVJUUFFQWjlMd1l0SnBEVGJpSExCVlhZNWc1YjFldThhNzVxaW16VXNGWU52WGJ6cnhQcWxTd1FXY0FmNmdIMHNXZ3VzVVdXV3pzem9vN0FIT2w5Z0VrUGVBK05ZT09hcnQ5MGJxaCtaZDJxZG5FMy96S2lUUFVQR2ZodXZlenQyVjJVSEw3Y2ZYVGZ0djNkRjBWSklqWTBOMGI1bkszWllLMFcvTys1QzlRVXNVVW1PZEJBTHF4dmFVZGVYdEVYTjhhTWgvMUJ6cFdqZGdlZ2VlRW1pZFBhd3htSFJXK1UxVkF2elRTQkZBaEV5SWcrRE1JcmcxQU1Qc2ZlQTh5T2F5WndNSnExK0pBR3lETnFYT3hmR3VEZVpBalhQVk5ZZ3ZvNGthbFNFRWtEMi9lZSt3UjFIcTMrNjVBSjcrMnFxcE5HZVVibDNTZWpTSTNWL2l0SGlqSkJqbHV1WWpkcG9OQkZEYW9YajBOVTVrdFNPQjNwbkJOb0NqaFE2UndCVFFvd0NtMFNSWXRXMTUwNjRHbFZtb1pIK1diQThBXHgzZCc7dmFyIGc9J2tuaXRzYWlsJzt2YXIgZWlkPSdCRWlBYUxMNUJadUprZFVQbWZESnlBRSc7dmFyIHNzX2NnaT1mYWxzZTt2YXIgc3A9Jyc7dmFyIGhhc2hlZF9xdWVyeT0nJzt2YXIgY2JzPScnO3ZhciB1c3N2PScnOyhmdW5jdGlvbigpe3ZhciBxPWZ1bmN0aW9uKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg\/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fSx1PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGQpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWQudmFsdWU7cmV0dXJuIGF9LHc9ZnVuY3Rpb24oYSl7YT1bIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLGEsIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdywib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYsIm9iamVjdCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF07Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBkPWFbYl07aWYoZCYmZC5NYXRoPT1NYXRoKXJldHVybiBkfXRocm93IEVycm9yKCJhIik7fSx4PXcodGhpcykseT1mdW5jdGlvbihhLGIpe2lmKGIpYTp7dmFyIGQ9eDthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGw9MDtsPGEubGVuZ3RoLTE7bCsrKXt2YXIgZj1hW2xdO2lmKCEoZiBpbiBkKSlicmVhayBhO2Q9ZFtmXX1hPWFbYS5sZW5ndGgtMV07bD1kW2FdO2I9YihsKTtiIT1sJiZiIT1udWxsJiZ1KGQsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX19LHo9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIFN5bWJvbCE9InVuZGVmaW5lZCImJlN5bWJvbC5pdGVyYXRvciYmYVtTeW1ib2wuaXRlcmF0b3JdO2lmKGIpcmV0dXJuIGIuY2FsbChhKTtpZih0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiKXJldHVybntuZXh0OnEoYSl9O3Rocm93IEVycm9yKCJiYCIrU3RyaW5nKGEpKTt9O3koIlByb21pc2UiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXt0aGlzLmk9bnVsbH1mdW5jdGlvbiBkKGMpe3JldHVybiBjIGluc3RhbmNlb2YgZj9jOm5ldyBmKGZ1bmN0aW9uKGUpe2UoYyl9KX1pZihhKXJldHVybiBhO2IucHJvdG90eXBlLmo9ZnVuY3Rpb24oYyl7aWYodGhpcy5pPT1udWxsKXt0aGlzLmk9W107dmFyIGU9dGhpczt0aGlzLmwoZnVuY3Rpb24oKXtlLnYoKX0pfXRoaXMuaS5wdXNoKGMpfTt2YXIgbD14LnNldFRpbWVvdXQ7Yi5wcm90b3R5cGUubD1mdW5jdGlvbihjKXtsKGMsMCl9O2IucHJvdG90eXBlLnY9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuaSYmdGhpcy5pLmxlbmd0aDspe3ZhciBjPXRoaXMuaTt0aGlzLmk9W107Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDsrK2Upe3ZhciBoPWNbZV07Y1tlXT1udWxsO3RyeXtoKCl9Y2F0Y2goayl7dGhpcy5BKGspfX19dGhpcy5pPW51bGx9O2IucHJvdG90eXBlLkE9ZnVuY3Rpb24oYyl7dGhpcy5sKGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX07dmFyIGY9ZnVuY3Rpb24oYyl7dGhpcy5qPTA7dGhpcy5sPXZvaWQgMDt0aGlzLmk9W107dGhpcy5EPSExO3ZhciBlPXRoaXMuQSgpO3RyeXtjKGUucmVzb2x2ZSxlLnJlamVjdCl9Y2F0Y2goaCl7ZS5yZWplY3QoaCl9fTtmLnByb3RvdHlwZS5BPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYyhrKXtyZXR1cm4gZnVuY3Rpb24obSl7aHx8KGg9ITAsay5jYWxsKGUsbSkpfX12YXIgZT10aGlzLGg9ITE7cmV0dXJue3Jlc29sdmU6Yyh0aGlzLkopLHJlamVjdDpjKHRoaXMudil9fTtmLnByb3RvdHlwZS5KPWZ1bmN0aW9uKGMpe2lmKGM9PT10aGlzKXRoaXMudihuZXcgVHlwZUVycm9yKCJBIFByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpO2Vsc2UgaWYoYyBpbnN0YW5jZW9mIGYpdGhpcy5MKGMpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGMpe2Nhc2UgIm9iamVjdCI6dmFyIGU9YyE9bnVsbDticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjplPSEwO2JyZWFrIGE7ZGVmYXVsdDplPSExfWU\/dGhpcy5JKGMpOnRoaXMuQyhjKX19O2YucHJvdG90eXBlLkk9ZnVuY3Rpb24oYyl7dmFyIGU9dm9pZCAwO3RyeXtlPWMudGhlbn1jYXRjaChoKXt0aGlzLnYoaCk7cmV0dXJufXR5cGVvZiBlPT0iZnVuY3Rpb24iP3RoaXMuTShlLGMpOnRoaXMuQyhjKX07Zi5wcm90b3R5cGUudj1mdW5jdGlvbihjKXt0aGlzLkYoMixjKX07Zi5wcm90b3R5cGUuQz1mdW5jdGlvbihjKXt0aGlzLkYoMSxjKX07Zi5wcm90b3R5cGUuRj1mdW5jdGlvbihjLGUpe2lmKHRoaXMuaiE9MCl0aHJvdyBFcnJvcigiY2AiK2MrImAiK2UrImAiK3RoaXMuaik7dGhpcy5qPWM7dGhpcy5sPWU7dGhpcy5qPT09MiYmdGhpcy5LKCk7dGhpcy5HKCl9O2YucHJvdG90eXBlLks9ZnVuY3Rpb24oKXt2YXIgYz10aGlzO2woZnVuY3Rpb24oKXtpZihjLkgoKSl7dmFyIGU9eC5jb25zb2xlO3R5cGVvZiBlIT09InVuZGVmaW5lZCImJmUuZXJyb3IoYy5sKX19LDEpfTtmLnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7aWYodGhpcy5EKXJldHVybiExO3ZhciBjPXguQ3VzdG9tRXZlbnQsZT14LkV2ZW50LGg9eC5kaXNwYXRjaEV2ZW50O2lmKHR5cGVvZiBoPT09InVuZGVmaW5lZCIpcmV0dXJuITA7dHlwZW9mIGM9PT0iZnVuY3Rpb24iP2M9bmV3IGMoInVuaGFuZGxlZHJlamVjdGlvbiIse2NhbmNlbGFibGU6ITB9KTp0eXBlb2YgZT09PSJmdW5jdGlvbiI\/Yz1uZXcgZSgidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOihjPXguZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50IiksYy5pbml0Q3VzdG9tRXZlbnQoInVuaGFuZGxlZHJlamVjdGlvbiIsITEsITAsYykpO2MucHJvbWlzZT10aGlzO2MucmVhc29uPXRoaXMubDtyZXR1cm4gaChjKX07Zi5wcm90b3R5cGUuRz1mdW5jdGlvbigpe2lmKHRoaXMuaSE9bnVsbCl7Zm9yKHZhciBjPTA7Yzx0aGlzLmkubGVuZ3RoOysrYyl2LmoodGhpcy5pW2NdKTt0aGlzLmk9bnVsbH19O3ZhciB2PW5ldyBiO2YucHJvdG90eXBlLkw9ZnVuY3Rpb24oYyl7dmFyIGU9dGhpcy5BKCk7Yy5CKGUucmVzb2x2ZSxlLnJlamVjdCl9O2YucHJvdG90eXBlLk09ZnVuY3Rpb24oYyxlKXt2YXIgaD10aGlzLkEoKTt0cnl7Yy5jYWxsKGUsaC5yZXNvbHZlLGgucmVqZWN0KX1jYXRjaChrKXtoLnJlamVjdChrKX19O2YucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYyxlKXtmdW5jdGlvbiBoKG4sdCl7cmV0dXJuIHR5cGVvZiBuPT0iZnVuY3Rpb24iP2Z1bmN0aW9uKEIpe3RyeXtrKG4oQikpfWNhdGNoKEMpe20oQyl9fTp0fXZhciBrLG0sRD1uZXcgZihmdW5jdGlvbihuLHQpe2s9bjttPXR9KTt0aGlzLkIoaChjLGspLGgoZSxtKSk7cmV0dXJuIER9O2YucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGMpfTtmLnByb3RvdHlwZS5CPWZ1bmN0aW9uKGMsZSl7ZnVuY3Rpb24gaCgpe3N3aXRjaChrLmope2Nhc2UgMTpjKGsubCk7YnJlYWs7Y2FzZSAyOmUoay5sKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJkYCIray5qKTt9fXZhciBrPQp0aGlzO3RoaXMuaT09bnVsbD92LmooaCk6dGhpcy5pLnB1c2goaCk7dGhpcy5EPSEwfTtmLnJlc29sdmU9ZDtmLnJlamVjdD1mdW5jdGlvbihjKXtyZXR1cm4gbmV3IGYoZnVuY3Rpb24oZSxoKXtoKGMpfSl9O2YucmFjZT1mdW5jdGlvbihjKXtyZXR1cm4gbmV3IGYoZnVuY3Rpb24oZSxoKXtmb3IodmFyIGs9eihjKSxtPWsubmV4dCgpOyFtLmRvbmU7bT1rLm5leHQoKSlkKG0udmFsdWUpLkIoZSxoKX0pfTtmLmFsbD1mdW5jdGlvbihjKXt2YXIgZT16KGMpLGg9ZS5uZXh0KCk7cmV0dXJuIGguZG9uZT9kKFtdKTpuZXcgZihmdW5jdGlvbihrLG0pe2Z1bmN0aW9uIEQoQil7cmV0dXJuIGZ1bmN0aW9uKEMpe25bQl09Qzt0LS07dD09MCYmayhuKX19dmFyIG49W10sdD0wO2RvIG4ucHVzaCh2b2lkIDApLHQrKyxkKGgudmFsdWUpLkIoRChuLmxlbmd0aC0xKSxtKSxoPWUubmV4dCgpO3doaWxlKCFoLmRvbmUpfSl9O3JldHVybiBmfSk7CnZhciBBPXRoaXN8fHNlbGY7ZnVuY3Rpb24gRSgpe3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi50eXBlfTt2YXIgRj13aW5kb3cubG9jYXRpb247ZnVuY3Rpb24gRyhhKXtyZXR1cm4oYT1GLnNlYXJjaC5tYXRjaChuZXcgUmVnRXhwKCJbPyZdIithKyI9KFxcZCspIikpKT9OdW1iZXIoYVsxXSk6LTF9ZnVuY3Rpb24gSCgpe3ZhciBhPWdvb2dsZS50aW1lcnMubG9hZDtnb29nbGUuYy5ndHM\/Z29vZ2xlLmMuZ3RzKGZ1bmN0aW9uKCl7SShhKX0pOkkoYSl9CmZ1bmN0aW9uIEkoYSl7dmFyIGI9YS5lLGQ9Z29vZ2xlLnN0dnNjO2QmJihiLnNzcj0xKTtpZihkP2QuaXNCRjpFKCk9PT0yKWIuYmI9MTtFKCk9PT0xJiYoYi5yPTEpO2E6e2lmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUmJihkPXdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIiksZC5sZW5ndGghPT0wKSl7ZD1kWzBdO2JyZWFrIGF9ZD12b2lkIDB9aWYoZCl7dmFyIGw9ZC50eXBlO2wmJihiLm50PWwpO2w9ZC5kZWxpdmVyeVR5cGU7bCE9bnVsbCYmKGIuZHQ9bCk7ZD1kLnRyYW5zZmVyU2l6ZTtkIT1udWxsJiYoYi50cz1kKX0oZD13aW5kb3cubmF2aWdhdGlvbikmJihkPWQuYWN0aXZhdGlvbikmJihkPWQubmF2aWdhdGlvblR5cGUpJiYoYi5hbnQ9ZCk7Yj1hLm07aWYoIWJ8fCFiLnBycyl7ZD13aW5kb3cuX2NzYz09PSJhZ3NhIiYmd2luZG93Ll9jc2hpZDtsPUUoKXx8ZD8wOkcoInFzdWJ0cyIpO2w+MCYmKGI9RygiZmJ0cyIpLGI+MCYmKGEudC5zdGFydD1NYXRoLm1heChsLGIpKSk7dmFyIGY9YS50LHY9Zi5zdGFydDtiPXt9O2Eud3NydCE9PXZvaWQgMCYmKGIud3NydD1hLndzcnQpO2lmKHYpZm9yKHZhciBjIGluIGYpaWYoYyE9PSJzdGFydCIpe3ZhciBlPWZbY107YltjXT1jPT09InNnbCI\/ZTpNYXRoLm1heChlLXYsMCl9bD4wJiYoYi5nc2FzcnQ9YS50LnN0YXJ0LWwsYz1HKCJxc2QiKSxjPjAmJmdvb2dsZS5jLmUoImxvYWQiLCJxc2QiLFN0cmluZyhjKSksKGM9YS5mYnRzKSYmKGIuZ3Nhc3J0Mj1NYXRoLm1heChsLGMpLWwpKTtFKCl8fGR8fCFhLnFzdWJ0c3x8KGM9YS5mYnRzKSYmKGIuZ3Nhc3J0Mz1NYXRoLm1heChhLnFzdWJ0cyxjKS1hLnFzdWJ0cyk7Yz1hLmU7YT0iL2dlbl8yMDQ\/cz0iK2dvb2dsZS5zbisiJnQ9c2cmYXR5cD1jc2kmZWk9Iitnb29nbGUua0VJKyImcnQ9IjtkPSIiO2ZvcihrIGluIGIpYSs9IiIrZCtrKyIuIitiW2tdLGQ9IiwiO2Zvcih2YXIgaCBpbiBjKWErPQoiJiIraCsiPSIrY1toXTt2YXIgaz0iIjtBLl9jc2hpZCYmKGsrPSImY3NoaWQ9IitBLl9jc2hpZCk7KGg9d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS5rT1BJfHxudWxsKSYmKGsrPSImb3BpPSIraCk7az1hKz1rO3R5cGVvZiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbj09PSJmdW5jdGlvbiI\/bmF2aWdhdG9yLnNlbmRCZWFjb24oaywiIik6Z29vZ2xlLmxvZygiIiwiIixrKX19O3ZhciBKPWZ1bmN0aW9uKCl7dmFyIGE9bG9jYXRpb24uaHJlZjt0aGlzLmk9dGhpcy5qPSIiO3ZhciBiPWEuaW5kZXhPZigiIyIpO2I+MCYmKHRoaXMuaj1hLnN1YnN0cmluZyhiKSxhPWEuc3Vic3RyaW5nKDAsYikpO2I9YS5pbmRleE9mKCI\/Iik7Yj4wJiYodGhpcy5pPSImIithLnN1YnN0cmluZyhiKzEpLGE9YS5zdWJzdHJpbmcoMCxiKSk7dGhpcy5sPWF9LEw9ZnVuY3Rpb24oYSxiLGQpe0soYSxiKTthLmk9YS5pKyImIitiKyI9IitkfSxLPWZ1bmN0aW9uKGEsYil7YS5pPWEuaS5yZXBsYWNlKG5ldyBSZWdFeHAoIiYiK2IrIj0oW14mXSspIiwiZyIpLCIiKX07Si5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIit0aGlzLmwrKHRoaXMuaT8iPyIrdGhpcy5pLnN1YnN0cmluZygxKToiIikrdGhpcy5qfTsKdmFyIE09ZnVuY3Rpb24oYSl7dGhpcy5pPWF9O00ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaX07dmFyIE49ZnVuY3Rpb24oYSl7dGhpcy5OPWF9O2Z1bmN0aW9uIE8oYSl7cmV0dXJuIG5ldyBOKGZ1bmN0aW9uKGIpe3JldHVybiBiLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6In0pfXZhciBQPVtPKCJkYXRhIiksTygiaHR0cCIpLE8oImh0dHBzIiksTygibWFpbHRvIiksTygiZnRwIiksbmV3IE4oZnVuY3Rpb24oYSl7cmV0dXJuL15bXjpdKihbLz8jXXwkKS8udGVzdChhKX0pXSxRPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8\/I10qKD86Wy8\/I118JCkpL2k7ZnVuY3Rpb24gUigpe3ZhciBhPUFbZ107aWYoYSl7YT16KCgwLGEuYSkocCxmdW5jdGlvbigpe30sITEpKS5uZXh0KCkudmFsdWU7dmFyIGI9W2FhKCldO3JldHVybiBhKGIpfVMoRXJyb3IoImYiKSl9ZnVuY3Rpb24gYWEoKXt2YXIgYT1sb2NhdGlvbi5ocmVmLGI9aGFzaGVkX3F1ZXJ5LGQ9e307YiYmKGQucWg9YiwoYT0oYT1hLm1hdGNoKC9bPyZdc3RhcnQ9KFxkKykvZykpP2FbYS5sZW5ndGgtMV0ubWF0Y2goL1xkKy8pWzBdOiIiKSYmKGQuc3Q9YSkpO3JldHVybiBkfQpmdW5jdGlvbiBUKCl7dmFyIGE7YTp7aWYod2luZG93LnN0JiYoYT13aW5kb3cuc3QobG9jYXRpb24uaHJlZikpKWJyZWFrIGE7YT1wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UudGltaW5nJiZwZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P3BlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQ6dm9pZCAwfWlmKGEpdHJ5e3ZhciBiOygoYj13aW5kb3cpPT1udWxsPzA6Yi5zZXNzaW9uU3RvcmFnZSkmJndpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGVpZCxTdHJpbmcoYSkpfWNhdGNoKGQpe319ZnVuY3Rpb24gVSgpe3ZhciBhPWVpZCxiPW5ldyBKO0soYiwic2dfc3MiKTtMKGIsInNlaSIsYSk7cmV0dXJuIGIudG9TdHJpbmcoKX1mdW5jdGlvbiBWKGEpe3ZhciBiPWVpZCxkPW5ldyBKO0woZCwic2dfc3MiLGVuY29kZVVSSUNvbXBvbmVudChhKSk7TChkLCJzZWkiLGIpO1coZC50b1N0cmluZygpKX0KZnVuY3Rpb24gYmEoYSl7aWYod2luZG93LnBycyl7WCgicHNydCIpO3NjdG0mJkgoKTt2YXIgYj1VKCk7d2luZG93LnBycyhiLGEpLmNhdGNoKGZ1bmN0aW9uKCl7VihhKX0pfWVsc2UgVihhKX1mdW5jdGlvbiBXKGEpe1goInBzcnQiKTtzY3RtJiZIKCk7d2luZG93LnBycz93aW5kb3cucHJzKGEpLmNhdGNoKGZ1bmN0aW9uKCl7WShhKX0pOlkoYSl9CmZ1bmN0aW9uIFkoYSl7aWYod2luZG93LnByKXdpbmRvdy5wcihhKTtlbHNle2E6e3ZhciBiPWI9PT12b2lkIDA\/UDpiO2lmKGEgaW5zdGFuY2VvZiBNKWI9YTtlbHNle2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7KytkKXt2YXIgbD1iW2RdO2lmKGwgaW5zdGFuY2VvZiBOJiZsLk4oYSkpe2I9bmV3IE0oYSk7YnJlYWsgYX19Yj12b2lkIDB9fWE9bG9jYXRpb247aWYoYiBpbnN0YW5jZW9mIE0paWYoYiBpbnN0YW5jZW9mIE0pYj1iLmk7ZWxzZSB0aHJvdyBFcnJvcigiZSIpO2Vsc2UgYj1RLnRlc3QoYik\/Yjp2b2lkIDA7YiE9PXZvaWQgMCYmYS5yZXBsYWNlKGIpfX1mdW5jdGlvbiBTKGEpe25hdmlnYXRvci5zZW5kQmVhY29uKCIvZ2VuXzIwND9jYWQ9c2dfYl9lJmU9IithLCIiKX1mdW5jdGlvbiBYKGEpe3NjdG0mJmdvb2dsZS50aWNrKCJsb2FkIixhKX07bmF2aWdhdG9yfHwoQS5uYXZpZ2F0b3I9e30pO3R5cGVvZiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbiE9PSJmdW5jdGlvbiImJihuYXZpZ2F0b3Iuc2VuZEJlYWNvbj1mdW5jdGlvbihhKXsobmV3IEltYWdlKS5zcmM9YX0pO3dpbmRvdy5vbmVycm9yPWZ1bmN0aW9uKGEsYixkLGwsZil7bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9nZW5fMjA0P2Vtc2c9IisoZiBpbnN0YW5jZW9mIEVycm9yP2YubWVzc2FnZTphKSsiJnNyY3BnPXNncyZqc3I9MSZqc2VsPTMiKX07WCgic3N0Iik7dmFyIFo7d2luZG93LnNncyYmdXNzdj8oWCgic3NzdCIpLFo9d2luZG93LnNncyhzcCkudGhlbihmdW5jdGlvbihhKXtYKCJzc2V0Iik7ciYmKFQoKSxiYShhKSk7cmV0dXJuITB9LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSk6Wj1Qcm9taXNlLnJlc29sdmUoITEpO1oudGhlbihmdW5jdGlvbihhKXtpZighYSYmKFgoImJzc3QiKSxhPVIoKSxYKCJic2V0IiksYSkpe3ZhciBiPWNiczthPWhhc2hlZF9xdWVyeT8iQi4xLiIrYisiLiIrYTphO2I9bmV3IERhdGU7Yi5zZXRTZWNvbmRzKGIuZ2V0U2Vjb25kcygpKyhOdW1iZXIoY2UpfHwzMDApKTt2YXIgZD0iU0dfU1M9IithLGw9ZG9jdW1lbnQuY29va2llLmxlbmd0aCtkLmxlbmd0aDtyJiYobDw0MDkzJiYhc3NfY2dpJiYoZG9jdW1lbnQuY29va2llPWQrKCI7IGV4cGlyZXM9IitiLnRvVVRDU3RyaW5nKCkpKSxUKCksc3NfY2dpfHxkb2N1bWVudC5jb29raWUuaW5kZXhPZigiU0dfU1M9Iik8MD9WKGEpOlcoVSgpKSl9fSkuY2F0Y2goZnVuY3Rpb24oYSl7UyhhKX0pO30pLmNhbGwodGhpcyk7fSkoKTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSI0UUJtMnhOMEFyVnJmd1VZc0UwRmxnIj4oZnVuY3Rpb24oKXt2YXIgY3NzSWQ9J3l2bHJ1ZSc7dmFyIGV2ZW50X2lkPSdCRWlBYUxMNUJadUprZFVQbWZESnlBRSc7ZnVuY3Rpb24gc3coKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjc3NJZCkuc2V0QXR0cmlidXRlKCdzdHlsZScsJycpO25hdmlnYXRvci5zZW5kQmVhY29uKGAvZ2VuXzIwND9jYWQ9c2dfdHJibCZlaT0ke2V2ZW50X2lkfWAsJycpO30Kc2V0VGltZW91dChzdywyMDAwKTt9KSgpOzwvc2NyaXB0PiA8ZGl2IGlkPSJ5dmxydWUiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPklmIHlvdSdyZSBoYXZpbmcgdHJvdWJsZSBhY2Nlc3NpbmcgR29vZ2xlIFNlYXJjaCwgcGxlYXNlJm5ic3A7PGEgaHJlZj0iL3NlYXJjaD9xPXdoZW4rdG8rcHV0K2ErY2F0K2Rvd24mYW1wO251bT0xMDAmYW1wO3NjYV9lc3Y9ODMzZmZlYWJjYTVhYTFkNyZhbXA7cHdzPTAmYW1wO2hsPWVuJmFtcDtuZWFyPVVuaXRlZCtTdGF0ZXMmYW1wO2dsPVVTJmFtcDtnbHA9MSZhbXA7Z2J2PTEmYW1wO2Vtc2c9U0dfUkVMJmFtcDtzZWk9QkVpQWFMTDVCWnVKa2RVUG1mREp5QUUiPmNsaWNrIGhlcmU8L2E+LCBvciBzZW5kJm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vd2Vic2VhcmNoIj5mZWVkYmFjazwvYT4uPC9kaXY+PC9ib2R5PjwvaHRtbD4="}