D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
local
/
psa
/
var
/
modules
/
xovi
/
Filename :
serp_4.json
back
Copy
{"success":true,"settings":{"hash":"4","url":"https:\/\/www.google.de\/search?q=iso+2701&as_rights=&num=100&start=0&pws=0&hl=de&near=Deutschland&uule=w+CAIQICIHR2VybWFueQ&gws_rd=cr&gl=DE&glp=1&gbv=1"},"code":200,"exception":null,"bodyLen":83708,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZGUiPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT1OWGR6YUlhQkg5cUhwdFFQejR6TnNBSSIgaHR0cC1lcXVpdj0icmVmcmVzaCI+PGRpdiBzdHlsZT0iZGlzcGxheTpibG9jayI+PGEgaHJlZj0iL2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT1OWGR6YUlhQkg5cUhwdFFQejR6TnNBSSI+S2xpY2tlIGhpZXI8L2E+LCB3ZW5uIGR1IG5hY2ggZWluaWdlbiBTZWt1bmRlbiBuaWNodCBhdXRvbWF0aXNjaCB3ZWl0ZXJnZWxlaXRldCB3aXJzdC48L2Rpdj48L25vc2NyaXB0PiA8c2NyaXB0IG5vbmNlPSIwNjJaeXB0cXRmOFM3UXppOExmN3N3Ij4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09CihmdW5jdGlvbigpe3ZhciBnPWZ1bmN0aW9uKEosVSxJLFAsVyxsLEYsRCxkLHope2ZvcihkPTU0O2QhPUo7KWlmKGQ9PVUpZD0oSSszJjYwKT49SSYmKEkrNSYxMSk8ST8zODo1ODtlbHNlIGlmKGQ9PTM4KXtpZihGPShEPW0udHJ1c3RlZFR5cGVzLFcpLEQmJkQuY3JlYXRlUG9saWN5KXt0cnl7Rj1ELmNyZWF0ZVBvbGljeShsLHtjcmVhdGVIVE1MOk8sY3JlYXRlU2NyaXB0Ok8sY3JlYXRlU2NyaXB0VVJMOk99KX1jYXRjaChxKXtpZihtLmNvbnNvbGUpbS5jb25zb2xlW1BdKHEubWVzc2FnZSl9ej1GfWVsc2Ugej1GO2Q9NTh9ZWxzZSBpZihkPT0xNCl6PVAsZD1VO2Vsc2UgaWYoZD09MzUpZD0oSXwzKT4+ND9VOjE0O2Vsc2V7aWYoZD09NTgpcmV0dXJuIHo7ZD09NTQmJihkPTM1KX19LE89ZnVuY3Rpb24oSil7cmV0dXJuIGcuY2FsbCh0aGlzLDMyLDQxLDMsSil9LG09dGhpc3x8c2VsZjsoMCxldmFsKShmdW5jdGlvbihKLFUpe3JldHVybihVPWcoMzIsNDEsMTYsImVycm9yIixudWxsLCJrcyIpKSYmSi5ldmFsKFUuY3JlYXRlU2NyaXB0KCIxIikpPT09MT9mdW5jdGlvbihJKXtyZXR1cm4gVS5jcmVhdGVTY3JpcHQoSSl9OmZ1bmN0aW9uKEkpe3JldHVybiIiK0l9fShtKShBcnJheShNYXRoLnJhbmRvbSgpKjc4MjR8MCkuam9pbigiXG4iKStbJy8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam9nTXl3aWMyOTFjbU5sY3lJNld5SWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSUNKZExDSnVZVzFsY3lJNld5SmpiRzl6ZFhKbFJIbHVZVzFwWTBKMWRIUnZiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFaWZRPT0nLAonKGZ1bmN0aW9uKCl7LyonLAonJywKJyBDb3B5cmlnaHQgR29vZ2xlIExMQycsCicgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAnLAonKi8nLAondmFyIE9YPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnLGwsRixXKXtpZigoKFBeMzkpJjEpPT0xKXN3aXRjaCghKE89SUYoInNwbGljZSIsIm9iamVjdCIseik9PT0iYXJyYXkiP3o6W3pdLHRoaXMuaikpe2Nhc2UgIVt1bmRlZmluZWRdPT0wOnRyeXtVPSF0aGlzLlcubGVuZ3RoLEo9W10sYig3OSwwLFtVWCxKLE9dLHRoaXMpLGIoNzMsMCxbSkMsRCxKXSx0aGlzKSxkJiYhVXx8ZSh0aGlzLGZhbHNlLGQsNDgsdHJ1ZSl9Y2F0Y2gobSl7bigxNSwiOiIsbSx0aGlzKSxEKHRoaXMuail9YnJlYWs7Y2FzZSAhWyhmYWxzZSE9bnVsbCkudHJ1ZV0hPTA6RCh0aGlzLmopO2JyZWFrfXJldHVybihQPj4yJjYpPDMmJihQXjE2KT4+Mz49MSYmKEY9Vz1mdW5jdGlvbigpe3t2YXIgbT01NDt3aGlsZShtIT0zMilpZihtPT0xNil7dmFyIHA9ZSgoYig3MiwwLEMsVSksVSksZmFsc2UsZCwyNSxkKTttPTM4fWVsc2UgaWYobT09MSl7dmFyIHE9IVUuVy5sZW5ndGg7bT0oYig3NCwwLEMsVSkscSYmZShVLGZhbHNlLGQsSSxkKSwzOCl9ZWxzZSBpZihtPT0xNCltPUo9PUQ\/MTY6NDY7ZWxzZXtpZihtPT0zOClyZXR1cm4gcDtpZihtPT01OCl2YXIgQz1bRkwsTyx6LHZvaWQgMCxnLGwsKG09MTQsYXJndW1lbnRzKV07ZWxzZSBtPT0yNz8ocD16TSgyNTcsMyxDLFUpLG09MzgpOm09PTQxPyhnJiZsJiZnLnJlbW92ZUV2ZW50TGlzdGVuZXIobCxXLG1MKSxtPTMyKTptPT00Nj9tPUo9PTE\/MToyNzptPT01ND9tPVUuUD09VT8zNTozMjptPT0zNSYmKG09VS5pPzU4OjQxKX19fSksRn0sRT1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsLEYsVyxtLHAscSl7e209NTA7d2hpbGUobSE9ODQpaWYobT09NTApbT0xO2Vsc2UgaWYobT09MzIpcT1mdW5jdGlvbihDKXtDJiZELmFwcGVuZENoaWxkKHR5cGVvZiBDPT09InN0cmluZyI\/UC5jcmVhdGVUZXh0Tm9kZShDKTpDKX0sZz0xLG09MTc7ZWxzZSBpZihtPT01OCltPWc8Ty5sZW5ndGg\/MzU6OTg7ZWxzZSBpZihtPT0xMSlwPWZ1bmN0aW9uKCl7fSxwLnByb3RvdHlwZT1kLnByb3RvdHlwZSxVLlU9ZC5wcm90b3R5cGUsVS5wcm90b3R5cGU9bmV3IHAsVS5wcm90b3R5cGUuY29uc3RydWN0b3I9VSxVLkNnPWZ1bmN0aW9uKEMsYyxUKXtmb3IodmFyIFk9MzY7WSE9NTI7KWlmKFk9PTM2KXZhciBNPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtKFk9MTAsSikpLHk9SjtlbHNle2lmKFk9PTM1KXJldHVybiBkLnByb3RvdHlwZVtjXS5hcHBseShDLE0pO1k9PTY1PyhNW3ktSl09YXJndW1lbnRzW3ldLFk9MCk6WT09MTA\/WT05MDpZPT05MD9ZPXk8YXJndW1lbnRzLmxlbmd0aD82NTozNTpZPT0wJiYoeSsrLFk9OTApfX0sbT00NDtlbHNle2lmKG09PTMxKXJldHVybiBXO2lmKG09PTc1KXEoRiksbT02O2Vsc2UgaWYobT09MjEpbT0hUDAoMzMsNzIsImFycmF5IiwibnVtYmVyIiwzLGQsRil8fGYoNTYsZCxGKSYmRi5ub2RlVHlwZT5VPzc1Ojk5O2Vsc2UgaWYobT09NzMpbT16LmNsYXNzTGlzdD82Nzo5NTtlbHNlIGlmKG09PTk1KUQ9Z00oNzksMzYsSix6KSxPPWUoZCxVLEQsMjEpPj0wLG09ODE7ZWxzZSBpZihtPT05OCltPShJKzJeMTgpPj1JJiZJLTk8PDI8ST8xMTo0NDtlbHNlIGlmKG09PTY3KU89ei5jbGFzc0xpc3QuY29udGFpbnMoZCksbT04MTtlbHNlIGlmKG09PTc5KW09KEl8ODgpPT1JPzA6MzE7ZWxzZSBpZihtPT03MSltPTc5O2Vsc2UgaWYobT09NDQpbT0oSXwxKT4+Mz09Mz83MzozNjtlbHNlIGlmKG09PTYpZysrLG09NTg7ZWxzZSBpZihtPT0wKXo9ZShkLEosVSwxNCksKEQ9ej49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChVLHosSiksVz1ELG09MzE7ZWxzZSBpZihtPT0xNyltPTU4O2Vsc2UgaWYobT09ODEpVz1PLG09MzY7ZWxzZSBpZihtPT0zNiltPShJPj4xJjEzKT09MT83MTo3OTtlbHNlIGlmKG09PTEpbT0oSXw1Nik9PUk\/MzI6OTg7ZWxzZSBpZihtPT05OSl7YTp7aWYoRiYmdHlwZW9mIEYubGVuZ3RoPT0ibnVtYmVyIil7aWYoZig5MCxkLEYpKXtsPXR5cGVvZiBGLml0ZW09PSJmdW5jdGlvbiJ8fHR5cGVvZiBGLml0ZW09PSJzdHJpbmciO2JyZWFrIGF9aWYodHlwZW9mIEY9PT0iZnVuY3Rpb24iKXtsPXR5cGVvZiBGLml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19bD1KfW09KFcwKFUseiwzLHEsbD9XMChGLFUsMjUpOkYpLDYpfWVsc2UgbT09MzUmJihGPU9bZ10sbT0yMSl9fX0sVE09ZnVuY3Rpb24oSSxKLFUsZCx6LEQsTyxQLGcpe3tnPTIxO3doaWxlKGchPTEwKWlmKGc9PTIxKWc9ODA7ZWxzZXtpZihnPT01MClyZXR1cm4gUDtpZihnPT01NSl0aHJvdyBFcnJvcigiSW52YWxpZCBkZWNvcmF0b3IgZnVuY3Rpb24gIitVKTtpZihnPT05NClQPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChKLENaKSYmSltDWl18fChKW0NaXT0rK0taKSxnPTgxO2Vsc2UgaWYoZz09NTgpZz1JLTc8PDE8SSYmKEktN14xOSk+PUk\/OTE6Mzg7ZWxzZSBpZihnPT04MClnPShJPj4yJjcpPT00PzEzOjU4O2Vsc2V7aWYoZz09ODkpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0opO2c9PTgyPyhQPSEhKFUudk8mZCkmJiEhKFUuSiZkKSE9eiYmKCEoRD1VLk9YLChEfDApLSh+RCZkKS0oRHx+ZCkrKH5EfGQpKXx8VS5kaXNwYXRjaEV2ZW50KGMwKDMsMTgsMzIsOCw0LEoseixkKSkpJiYhVS5YLGc9NjgpOmc9PTM4P2c9KEktOXwzMCk8SSYmSS04PDwyPj1JPzk0OjgxOmc9PTIwP2c9dHlwZW9mIFUhPT0iZnVuY3Rpb24iPzU1OjM4Omc9PTgxP2c9KEl8Nyk+PjM9PTM\/ODI6Njg6Zz09NTM\/KHo9VSx6PShEPXo8PDEzLCh6JkQpK356KzIqKHomfkQpLSh6fH5EKSksel49ej4+MTcsej0oTz16PDw1LCh6fE8pK35PLSh6fH5PKSksKHomPWQpfHwoej0xKSxQPUpeeixnPTUwKTpnPT02OD9nPShJKzcmNyk9PTI\/NTM6NTA6Zz09OTE\/Zz1KPzIwOjg5Omc9PTEzJiYoZz01OCl9fX19LFcwPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnLGwsRixXKXtmb3IoVz0yNztXIT0zMDspaWYoVz09NjUpdGhpcy5uKyssVz0zMztlbHNlIGlmKFc9PTU0KVc9KFV8NzIpPT1VPzA6Mzk7ZWxzZSBpZihXPT03KUQ9ei5sZW5ndGgsTz10eXBlb2Ygej09PSJzdHJpbmciP3ouc3BsaXQoSik6eixQPUksVz03NjtlbHNlIGlmKFc9PTkwKVc9KFV8MjQpPT1VPzQzOjQwO2Vsc2UgaWYoVz09OTIpUCBpbiBPJiZkLmNhbGwodm9pZCAwLE9bUF0sUCx6KSxXPTg3O2Vsc2UgaWYoVz09NClXPShVJjEyNCk9PVU\/NjU6MjE7ZWxzZSBpZihXPT04NylQKyssVz02OTtlbHNlIGlmKFc9PTQzKXtpZigoRD1JLmxlbmd0aCxEKT5KKXtmb3IoZD0oej1BcnJheShEKSxKKTtkPEQ7ZCsrKXpbZF09SVtkXTtGPXp9ZWxzZSBGPVtdO1c9NDB9ZWxzZSBpZihXPT02OSlXPVA8RD85Mjo1NDtlbHNlIGlmKFc9PTUxKUk9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKnRoaXMubiksSTw1MCYmKHRoaXMuSVtJXT1KKSxXPTIxO2Vsc2UgaWYoVz09NzcpdGhpcy5JLnB1c2goSiksVz0yMTtlbHNlIGlmKFc9PTYyKUooZnVuY3Rpb24obSl7bShJKX0pLEY9W2Z1bmN0aW9uKCl7cmV0dXJuIEl9LGZ1bmN0aW9uKCl7fV0sVz05MDtlbHNlIGlmKFc9PTk1KUQrKyxXPTI5O2Vsc2UgaWYoVz09MjcpVz00O2Vsc2UgaWYoVz09MjEpVz0oVSYxNSk9PVU\/Nzo1NDtlbHNlIGlmKFc9PTg0KVArPVA8PDMsUD0oej1QPj4xMSwoUHwwKS0xK356LTIqKFB8fnopKSxnPVArKFA8PDE1KT4+PjAsbD1uZXcgTnVtYmVyKGcmKDE8PEkpLTEpLGxbMF09KGc+Pj5JKSVkLEY9bCxXPTM5O2Vsc2UgaWYoVz09MzMpVz10aGlzLkkubGVuZ3RoPDUwPzc3OjUxO2Vsc2UgaWYoVz09NjgpVz0yOTtlbHNlIGlmKFc9PTc2KVc9Njk7ZWxzZSBpZihXPT0wKUQ9UD0wLFc9Njg7ZWxzZSBpZihXPT0zOSlXPShVXjM3KTw3JiZVLTE+PTQ\/NjI6OTA7ZWxzZSBpZihXPT0yOSlXPUQ8Si5sZW5ndGg\/NDg6ODQ7ZWxzZXtpZihXPT00MClyZXR1cm4gRjtXPT00OCYmKFArPUouY2hhckNvZGVBdChEKSxQKz1QPDwxMCxQPShPPVA+PjYsKFB8MCktKFAmTyktKH5QXk8pKyh+UHxPKSksVz05NSl9fSxnTT1mdW5jdGlvbihJLEosVSxkLHosRCxPKXtmb3IoRD0zMDtEIT03NzspaWYoRD09MzApRD1JO2Vsc2UgaWYoRD09OTgpTz1kLmNsYXNzTGlzdD9kLmNsYXNzTGlzdDpsaygiY2xhc3MiLDMsVSwic3RyaW5nIixkKS5tYXRjaCgvXFxTKy9nKXx8W10sRD0zNDtlbHNlIGlmKEQ9PTI1KXRoaXMubj09PTA\/Tz1bMCwwXToodGhpcy5JLnNvcnQoZnVuY3Rpb24oUCxnKXtyZXR1cm4gUC1nfSksTz1bdGhpcy5uLHRoaXMuSVt0aGlzLkkubGVuZ3RoPj4xXV0pLEQ9OTE7ZWxzZSBpZihEPT1JKUQ9KEo8PDEmMTEpPT0yPzI1OjkxO2Vsc2UgaWYoRD09ODgpej1mdW5jdGlvbihQKXtyZXR1cm4gVS5jYWxsKHouc3JjLHoubGlzdGVuZXIsUCl9LFU9cFosTz16LEQ9MzM7ZWxzZSBpZihEPT05MSlEPShKfDI0KT09Sj84ODozMztlbHNle2lmKEQ9PTM0KXJldHVybiBPO0Q9PTMzJiYoRD0oSj4+MSY3KT09Mj85ODozNCl9fSxMWj1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsLEYsVyl7Zm9yKEY9ODk7RiE9NTQ7KWlmKEY9PTc0KUY9KGc9WVZbbF0pPzQ2OjcwO2Vsc2V7aWYoRj09ODApcmV0dXJuIFc7Rj09NzU\/Rj1PPzM0Ojk5OkY9PTk5PyhjMCgzLDUsdHJ1ZSx6KSxGPTgwKTpGPT0yMT8oRD1nP3R5cGVvZiBnLnpaPT09ImZ1bmN0aW9uIj9nLnpaKCk6bmV3IGc6bnVsbCxGPTI0KTpGPT05Nj8obD1UTSgzMixPKSxGPTc0KTpGPT0xNT9GPU8\/OTY6MjE6Rj09ODk\/Rj04NjpGPT05NT8oTz10aGlzLmNvbnN0cnVjdG9yLEY9MTQpOkY9PTMwP0Y9ZyYmZ1taZl0\/OTA6OTE6Rj09MjU\/Rj0oVV4zOSk+PjQ\/ODA6NDI6Rj09OTA\/KG4oNTgsZCx6LGcudiksRj04MCk6Rj09NDI\/Rj10eXBlb2YgeiE9PSJudW1iZXIiJiZ6JiYhei5kcj9JOjgwOkY9PTM0PyhuKDU3LGQseixPKSxGPTc2KTpGPT05MT8oUD16LnByb3h5LEQ9ei50eXBlLGcucmVtb3ZlRXZlbnRMaXN0ZW5lcj9nLnJlbW92ZUV2ZW50TGlzdGVuZXIoRCxQLHouY2FwdHVyZSk6Zy5kZXRhY2hFdmVudD9nLmRldGFjaEV2ZW50KGVCKDY5LEQsMywib24iKSxQKTpnLmFkZExpc3RlbmVyJiZnLnJlbW92ZUxpc3RlbmVyJiZnLnJlbW92ZUxpc3RlbmVyKFApLE0wLS0sTz1OMCgxMixnKSxGPTc1KTpGPT05Nz9GPShEPWQpPzI0Ojk1OkY9PTcwPyhPPShQPU9iamVjdC5nZXRQcm90b3R5cGVPZihPLnByb3RvdHlwZSkpJiZQLmNvbnN0cnVjdG9yLEY9NjkpOkY9PTIwPyhuWi5jYWxsKHRoaXMseiksRj05Nyk6Rj09NDY\/Rj0yMTpGPT1JPyhnPXouc3JjLEY9MzApOkY9PTE0P0Y9MTU6Rj09Mjc\/KE8uc3JjPW51bGwsZ1t5VV09bnVsbCxGPTgwKTpGPT02OT9GPTE1OkY9PTg2P0Y9VS0zPj40PzI1OjIwOkY9PTI0Pyh0aGlzLmw9RCxGPTI1KTpGPT03NiYmKEY9Ty5KYz09Sj8yNzo4MCl9fSxzWD1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsLEYsVyxtLHApe2ZvcihtPTg4O20hPTkwOylpZihtPT0yNCl0aGlzLlA9SixtPTU0O2Vsc2UgaWYobT09NjIpSi5WYT12b2lkIDAsSi56Wj1mdW5jdGlvbigpe3JldHVybiBKLlZhP0ouVmE6Si5WYT1uZXcgSn0sbT05MjtlbHNle2lmKG09PTM0KXJldHVybiBwO2lmKG09PTApe2lmKEY9VS52Lm9bU3RyaW5nKHopXSl7Zm9yKFc9KE89KEY9Ri5jb25jYXQoKSx0cnVlKSxKKTtXPEYubGVuZ3RoOysrVykoZz1GW1ddKSYmIWcuZHImJmcuY2FwdHVyZT09RCYmKGw9Zy5saXN0ZW5lcixQPWcucUp8fGcuc3JjLGcubXUmJm4oNTYsMSxnLFUudiksTz1sLmNhbGwoUCxkKSE9PWZhbHNlJiZPKTtwPU8mJiFkLmRlZmF1bHRQcmV2ZW50ZWR9ZWxzZSBwPXRydWU7bT0zNH1lbHNlIG09PTU0P209KEk8PDEmNyk+PTQmJigoSV4zNykmNik8ND82Mjo5MjptPT05Mj9tPUktND4+Mz8zNDowOm09PTMxP209KEl8NDApPT1JPzI0OjU0Om09PTg4JiYobT0zMSl9fSxOMD1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsLEYsVyxtLHAscSl7e3A9Njk7d2hpbGUocCE9MTUpaWYocD09MjkpcD1KLmNsYXNzTGlzdD8zMzo5MztlbHNlIGlmKHA9PTY5KXA9MTI7ZWxzZSBpZihwPT02NClwPShJJjk0KT09ST80Nzo0O2Vsc2UgaWYocD09OTMpe2ZvcihkIGluIHo9KCgoRD17fSxBcnJheS5wcm90b3R5cGUpLmZvckVhY2guY2FsbChnTSg3OSwyMSwiIixKKSxmdW5jdGlvbihDKXtEW0NdPXRydWV9KSxBcnJheS5wcm90b3R5cGUuZm9yRWFjaCkuY2FsbChVLGZ1bmN0aW9uKEMpe0RbQ109dHJ1ZX0pLCIiKSxEKXorPXoubGVuZ3RoPjA\/IiAiK2Q6ZDtiKDE2LCJzdHJpbmciLEoseikscD02NH1lbHNlIGlmKHA9PTEyKXA9ST4+MiY2PzY0OjI5O2Vsc2UgaWYocD09NClwPShJfDQwKT09ST8yNzo4OTtlbHNlIGlmKHA9PTQ3KVU9Slt5VV0scT1VIGluc3RhbmNlb2YgRVg\/VTpudWxsLHA9NDtlbHNlIGlmKHA9PTMzKUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoVSxmdW5jdGlvbihDLGMsVCl7Zm9yKFQ9NzM7VCE9MTspVD09MjQ\/KGM9bGsoImNsYXNzIiw1LCIiLCJzdHJpbmciLEopLGIoNywic3RyaW5nIixKLGMrKGMubGVuZ3RoPjA\/IiAiK0M6QykpLFQ9MSk6VD09NzA\/KEouY2xhc3NMaXN0LmFkZChDKSxUPTEpOlQ9PTE4P1Q9RSgyNCwiIiwxLEMsSik\/MToyNDpUPT03MyYmKFQ9Si5jbGFzc0xpc3Q\/NzA6MTgpfSkscD02NDtlbHNlIGlmKHA9PTI3KXtpZigoRC5QPShELmgrPShPPShnPShsPShGPShkfHxELmxNKyssRC51TT4wJiZELk9rJiZELmMzJiZELmZTPD1KJiYhRC5OJiYhRC5HJiYoIWR8fEQudjMtVT5KKSYmZG9jdW1lbnQuaGlkZGVuPT0wKSxELmxNPT00KSl8fEY\/RC5TKCk6RC5OSixnKS1ELk5KLE8+PjE0PjApLEQuSCYmKEQuSD0oUD1ELkgsVz0oRC5oK0o+PjIpKihPPDwyKSwoV3wwKSt+Vy0oflBeVykpKSxELmgrSj4+MiE9MHx8RC5QKSxsKXx8RilELmxNPTAsRC5OSj1nO0Y\/KEQudU0+RC5ITyYmKEQuSE89RC51TSksZy1ELmNPPEQudU0tKHo\/MjU1OmQ\/NToyKT9xPWZhbHNlOihELnYzPVUsbT1SKGQ\/NDY3OjQ1MixEKSx3KEQsNDUyLEQuRCksRC5XLnB1c2goW1JGLG0sZD9VK0o6VSxELkIsRC5DXSksRC5HPWpCLHE9dHJ1ZSkpOnE9ZmFsc2UscD04OX1lbHNlIGlmKHA9PTg5KXJldHVybiBxfX0sdEM9ZnVuY3Rpb24oSSxKLFUsZCx6LEQsTyxQLGcsbCxGLFcsbSxwLHEpe2ZvcihXPShtPTcyLDcxKTs7KXRyeXtpZihtPT0zNilicmVhaztlbHNlIGlmKG09PTEpUD1PLkcsUChmdW5jdGlvbigpe2UoTyxmYWxzZSxkLDQzLGQpfSksbT0yMztlbHNlIGlmKG09PTc3KVc9NzEsbT0zMDtlbHNlIGlmKG09PTQxKXE9ZnVuY3Rpb24oKXt9LE89dm9pZCAwLHo9d00oVSxmdW5jdGlvbihDLGMpe2ZvcihjPTQ2O2MhPTQ5OyljPT00Nj9jPXE\/NTU6NDk6Yz09NTUmJihkJiZqQihkKSxPPUMscSgpLHE9dm9pZCAwLGM9NDkpfSwhIWQpLEo9elswXSxEPXpbMV0scD17dG9wOmZ1bmN0aW9uKEMsYyxULFksTSx5LFYpe2Zvcih5PTM7eSE9NjI7KWlmKHk9PTk0KU09cSxxPWZ1bmN0aW9uKCl7TSgpLGpCKFYpfSx5PTYyO2Vsc2UgaWYoeT09MylWPWZ1bmN0aW9uKCl7TyhmdW5jdGlvbihHKXtqQihmdW5jdGlvbigpe0MoRyl9KX0sVCl9LHk9NTM7ZWxzZSBpZih5PT00Nil5PU8\/MDo5NDtlbHNlIGlmKHk9PTApVigpLHk9NjI7ZWxzZXtpZih5PT04OClyZXR1cm4gWT1KKFQpLEMmJkMoWSksWTt5PT01MyYmKHk9Yz80Njo4OCl9fSxwZTpmdW5jdGlvbihDKXtEJiZEKEMpfX0sbT03MDtlbHNlIGlmKG09PTcxKW09Ty5XLmxlbmd0aD81ODoyMztlbHNlIGlmKG09PTg3KW09SS0yPj4zPT0yPzQxOjcwO2Vsc2UgaWYobT09MjYpVz04NCxnPXpNKDI1NyxVLGwsTyksbT03NztlbHNlIGlmKG09PTkzKW09NzE7ZWxzZXtpZihtPT03MClyZXR1cm4gcDttPT0zMD9tPUQmJk8uRz8xOjkzOm09PTcyP209ODA6bT09Mjc\/bT03MTptPT05NT8oZC5CTyhmdW5jdGlvbihDKXt6PUN9LFUsSikscD16LG09NDkpOm09PTU4PyhPLkc9SixsPU8uVy5wb3AoKSxtPTI2KTptPT04OT8oVz03MSxuKDUseixGLE8pLG09NzcpOm09PTQ5P209KEk+PjEmNyk9PTI\/Mjc6ODc6bT09MjM\/KHA9ZyxtPTg3KTptPT04MCYmKG09SSszPj4yPEkmJihJKzEmNDApPj1JPzk1OjQ5KX19Y2F0Y2goQyl7aWYoVz09NzEpdGhyb3cgQztXPT04NCYmKEY9QyxtPTg5KX19LFZVPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnLGwsRil7Zm9yKGw9MDtsIT04MTspaWYobD09SSlVKz04MTkyLGw9MzM7ZWxzZSBpZihsPT0yNSl6PUooRCkucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIiksbD04MjtlbHNlIGlmKGw9PTMzKWw9VTxkLmxlbmd0aD80NDoyNTtlbHNlIGlmKGw9PTgyKUY9eixsPTkzO2Vsc2UgaWYobD09NjEpSj13aW5kb3cuYnRvYSxsPTM0O2Vsc2UgaWYobD09MClsPTY0O2Vsc2UgaWYobD09NTQpVT0wLEQ9IiIsbD0yMTtlbHNlIGlmKGw9PTkzKWw9KChPfDEpJjcpPj00JiYoKE98OCkmNyk8Nj8zMjo4ODtlbHNlIGlmKGw9PTM0KWw9Sj81NDo2MztlbHNlIGlmKGw9PTQ0KUQrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxkLnNsaWNlKFUsVSs4MTkyKSksbD1JO2Vsc2V7aWYobD09ODgpcmV0dXJuIEY7aWYobD09MzIpe2E6e2ZvcihQPWQ7UDxVLmxlbmd0aDsrK1ApaWYoZz1VW1BdLCFnLmRyJiZnLmxpc3RlbmVyPT1KJiZnLmNhcHR1cmU9PSEheiYmZy5xSj09RCl7Rj1QO2JyZWFrIGF9Rj0tMX1sPTg4fWVsc2UgbD09NjM\/KHo9dm9pZCAwLGw9ODIpOmw9PTIxP2w9MzM6bD09NjQmJihsPU88PDEmMz85Mzo2MSl9fSxhRj1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsLEYsVyxtLHApe3ttPTM3O3doaWxlKG0hPTYzKWlmKG09PTIpbT0zNTtlbHNlIGlmKG09PTExKWFGKEksIm9iamVjdCIsMjQsZCx6LDAsT1tGXSxQKSxtPTQ0O2Vsc2UgaWYobT09NzQpbT01ODtlbHNlIGlmKG09PTI4KW09eiYmeltaZl0\/Njk6NTA7ZWxzZSBpZihtPT00MSltPVUtOTw8Mj49VSYmKFUrOCYyOCk8VT81Njo1OTtlbHNlIGlmKG09PTM0KWw9ZigyNCxKLFApPyEhUC5jYXB0dXJlOiEhUCxJPXYwKDU0LDEwLEkpLG09Mjg7ZWxzZSBpZihtPT02NiltPUY8Ty5sZW5ndGg\/MTE6NTk7ZWxzZSBpZihtPT00MylGPUQsbT0yMTtlbHNlIGlmKG09PTM1KW09ZzxELmxlbmd0aD83NTo5OTtlbHNlIGlmKG09PTEwKW09Zz83Nzo1OTtlbHNlIGlmKG09PTM3KW09OTU7ZWxzZSBpZihtPT0yNClnPU4wKDEwLHopLG09MTA7ZWxzZSBpZihtPT01MCltPXo\/MjQ6NTk7ZWxzZSBpZihtPT0yMSltPTY2O2Vsc2UgaWYobT09OTUpbT1VKzQmNj80MTo4MTtlbHNle2lmKG09PTU5KXJldHVybiBwO209PTU4P209UD43PzUyOjY6bT09NTY\/bT1BcnJheS5pc0FycmF5KE8pPzQzOjM0Om09PTM5P209NTg6bT09NTI\/KFAtPTgsei5wdXNoKE8+PlAmMjU1KSxtPTM5KTptPT03Nz8oKFc9Zy5FayhkLEksTyxsKSkmJkxaKDcxLDAsMzIsMSxXKSxtPTU5KTptPT04MT8oUD1nPTAsej1bXSxtPTIpOm09PTY\/KGcrKyxtPTM1KTptPT02OT8oei52LnJlbW92ZShTdHJpbmcoTyksSSxsLGQpLG09NTkpOm09PTk5PyhwPXosbT00MSk6bT09NDQ\/KEYrKyxtPTY2KTptPT03NSYmKFArPUosTz0oST1PPDxKLGQ9RFtnXSwtfihJJmQpKzIqKEleZCkrKH5JXmQpKSxtPTc0KX19fSxQMD1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsLEYpe3tsPUo7d2hpbGUobCE9NjIpaWYobD09SilsPTUzO2Vsc2UgaWYobD09NzMpZz10eXBlb2YgTyxQPWchPUQ\/ZzpPP0FycmF5LmlzQXJyYXkoTyk\/ImFycmF5IjpnOiJudWxsIixGPVA9PVV8fFA9PUQmJnR5cGVvZiBPLmxlbmd0aD09ZCxsPTgzO2Vsc2UgaWYobD09OTApbD0oei02fEkpPHomJih6KzMmNDYpPj16PzczOjgzO2Vsc2UgaWYobD09NTMpbD0oel4yOCk+PjQ\/OTA6NTI7ZWxzZXtpZihsPT04MylyZXR1cm4gRjtsPT01MiYmKHRoaXMudHlwZT1kLHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1VLHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLmpvPWZhbHNlLGw9OTApfX19LGE9ZnVuY3Rpb24oSSxKLFUsZCx6LEQsTyxQKXt7Tz00O3doaWxlKE8hPTkyKWlmKE89PTYyKU89KEk+PjImNyk9PTE\/ODc6Mzc7ZWxzZSBpZihPPT00KU89OTM7ZWxzZSBpZihPPT04Nyl0KGQsSixVKSxVW0gwXT0yNzk2LE89Mzc7ZWxzZSBpZihPPT01Mil7YTp7Zm9yKEQgaW4gVSlpZih6LmNhbGwodm9pZCAwLFVbRF0sRCxVKSl7UD1kO2JyZWFrIGF9UD1KfU89NjJ9ZWxzZXtpZihPPT0zNylyZXR1cm4gUDtPPT05MyYmKE89KEkmNTYpPT1JPzUyOjYyKX19fSx2PWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnLGwsRil7cmV0dXJuKEl8NTYpPT0oKChJKzQmMjgpPj0oKEkmOTMpPT1JJiYoSi5OP0Y9eFYoSi5PLEopOihkPUdNKDgsSix0cnVlKSxkJjEyOCYmKGQ9KGR8MTI4KSt+ZC0ofmR8MTI4KSxVPUdNKDIsSix0cnVlKSxkPShkPDwyKSsoVXwwKSksRj1kKSksSSkmJihJLTheMTIpPEkmJihkPUIwW1UuRl0oVS5NZCksZFtVLkZdPWZ1bmN0aW9uKCl7cmV0dXJuIEp9LGQuY29uY2F0PWZ1bmN0aW9uKFcpe0o9V30sRj1kKSxJKTw8MiYxNXx8KE89b0YsbD1kJjcsVT1bNTUsLTQ3LC02OCw4MCwtMjUsLTY2LFUsLTgwLC01NiwtODddLGc9QjBbei5GXSh6Lk5kKSxnW3ouRl09ZnVuY3Rpb24oVyl7bCs9KFA9Vyw2KzcqZCksbCY9N30sZy5jb25jYXQ9ZnVuY3Rpb24oVyxtLHApe2lmKHA9KG09KFc9RCUxNisxLCsoTygpfEopKlctIC0xNjQ1KkQqUC0zNSpEKkQqUCszNSpQKlArMSpEKkQqVyktIC02MzAqUCtsK1VbbCszNSY3XSpEKlctVypQLFUpW21dLCJiIilQPXZvaWQgMDtyZXR1cm4gVVtsKygoZHxKKSs0LShVWyhsKzIxJjcpKygtfihkJjIpKyhkJi0zKSsofmR8MikpXT1wLDIqKGR8MikpKyhkJi0zKSldPS00NyxwfSxGPWcpLEkpJiYoRj0oRD1kW1VdPDwyNHxkWzIqKFV8MSktKFUmLTIpLSh+VSYxKV08PEosej1kWyhVJjIpLTEtfihVfDIpXTw8OCwoRCZ6KSsoRCZ+eikrKH5EJnopKXxkWy0oVXwzKSszKihVJjMpKzIqKFVeMyldKSxGfSxGdD1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsKXt7bD0xMTt3aGlsZShsIT00MClpZihsPT0xNil0aGlzLmxpc3RlbmVyPVAsdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPWQsdGhpcy50eXBlPUQsdGhpcy5jYXB0dXJlPSEhTyx0aGlzLnFKPXosdGhpcy5rZXk9KytKZSx0aGlzLm11PXRoaXMuZHI9ZmFsc2UsbD0yNTtlbHNlIGlmKGw9PTQ1KWw9MjY7ZWxzZXtpZihsPT0yNilyZXR1cm4gZztsPT05ND9sPShVLUkmSik+PTImJlU+PjI8MTU\/MTY6MjU6bD09MjU\/bD0oVT4+MSZJKTxJJiYoVXwyKT49LTc5PzQ1OjI2Omw9PTExJiYobD05NCl9fX0sVU49ZnVuY3Rpb24oSSxKLFUsZCx6LEQsTyxQLGcsbCl7e2c9MzU7d2hpbGUoZyE9MzEpaWYoZz09ODcpej10cnVlLGc9OTM7ZWxzZSBpZihnPT0zMylnPShKPDwxJjMxKT09ND83OTo3MTtlbHNlIGlmKGc9PTkzKWw9eixnPTYyO2Vsc2UgaWYoZz09MzUpZz0zMztlbHNlIGlmKGc9PTQyKWc9KEpeNTUpPj4zPT0zPzQ2OjYyO2Vsc2UgaWYoZz09NzcpUVUuY2FsbCh0aGlzKSxVfHxYTHx8KFhMPW5ldyBkMSksdGhpcy5SPXRoaXMuVWs9dGhpcy5kZj1udWxsLHRoaXMudGY9ZmFsc2UsdGhpcy5ncj10aGlzLllPPW51bGwsdGhpcy5uUz1mYWxzZSx0aGlzLm9zPXZvaWQgMCxnPTc2O2Vsc2UgaWYoZz09ODIpZz0oSiZJKT09Sj82Nzo0MjtlbHNlIGlmKGc9PTApUD1uZXcgSXooZCx0aGlzKSxEPVUubGlzdGVuZXIsTz1VLnFKfHxVLnNyYyxVLm11JiZMWig3MSwwLDMzLDEsVSksej1ELmNhbGwoTyxQKSxnPTkzO2Vsc2V7aWYoZz09NzYpcmV0dXJuIGw7Zz09MTU\/KHRoaXMubisrLGQ9VS10aGlzLlQsdGhpcy5UKz1kL3RoaXMubix0aGlzLlRaKz1kKihVLXRoaXMuVCksZz04Mik6Zz09NzE\/Zz0oSjw8MSYxNSk9PTI\/MTU6ODI6Zz09Nzk\/KHRoaXMua089ci5kb2N1bWVudHx8ZG9jdW1lbnQsZz03MSk6Zz09NDY\/Zz1VLmRyPzg3OjA6Zz09Njc\/KHRoaXMuc3JjPVUsdGhpcy5vPXt9LHRoaXMuSmM9MCxnPTQyKTpnPT02MiYmKGc9KEp8MSk+PjM9PTI\/Nzc6NzYpfX19LHYwPWZ1bmN0aW9uKEksSixVLGQseil7e2Q9ODE7d2hpbGUoZCE9MTUpaWYoZD09SSl6PXRoaXMubj09PTA\/MDpNYXRoLnNxcnQodGhpcy5UWi90aGlzLm4pLGQ9ODc7ZWxzZXtpZihkPT02NClyZXR1cm4gejtkPT04MT9kPTM5OmQ9PTg3P2Q9Sis1Pj4xPEomJihKKzheMTApPj1KPzE3OjY0OmQ9PTE3Pyh0eXBlb2YgVT09PSJmdW5jdGlvbiI\/ej1VOihVW2lrXXx8KFVbaWtdPWZ1bmN0aW9uKEQpe3JldHVybiBVLmhhbmRsZUV2ZW50KEQpfSksej1VW2lrXSksZD02NCk6ZD09MzkmJihkPShKPj4xJjcpPT0xP0k6ODcpfX19LEFDPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnLGwsRixXLG0scCxxLEMpe2ZvcihxPTEwO3EhPTE2OylpZihxPT0zMilDPUIwW1VdKEIwLnByb3RvdHlwZSx7ZG9jdW1lbnQ6Sixwb3A6SixwYXJlbnQ6SixzcGxpY2U6SixyZXBsYWNlOkosZmxvb3I6Sixjb25zb2xlOkosbGVuZ3RoOkoscHJvdG90eXBlOkoscHJvcGVydHlJc0VudW1lcmFibGU6SixzdGFjazpKLGNhbGw6Sn0pLHE9ODI7ZWxzZSBpZihxPT0xMylxPUk+PjEmNz84MjozMjtlbHNlIGlmKHE9PTQ0KXE9KEl8MjQpPT1JPzkyOjEzO2Vsc2V7aWYocT09ODIpcmV0dXJuIEM7aWYocT09MTApcT00O2Vsc2UgaWYocT09OTIpRC5jbGFzc0xpc3Q\/RC5jbGFzc0xpc3QucmVtb3ZlKE8pOkUoMjUsSixkLE8sRCkmJmIoNix6LEQsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGdNKDc5LDIwLEosRCksZnVuY3Rpb24oYyl7cmV0dXJuIGMhPU99KS5qb2luKFUpKSxxPTEzO2Vsc2UgaWYocT09MTQpe2E6e2ZvcihnPShGPXVrLG09RC5zcGxpdChKKSxkKTtnPG0ubGVuZ3RoLVU7ZysrKXtpZighKHA9bVtnXSxwIGluIEYpKWJyZWFrIGE7Rj1GW3BdfShQPShXPW1bbS5sZW5ndGgtVV0sbD1GW1ddLE8pKGwpLFAhPWwmJlAhPXopJiZTQihGLFcse2NvbmZpZ3VyYWJsZTp0cnVlLHdyaXRhYmxlOnRydWUsdmFsdWU6UH0pfXE9NDR9ZWxzZSBxPT03NT9xPShJfDYpPj0xOCYmKChJXjQ0KSYxNik8NT8zMTo0NDpxPT0zMT9xPU8\/MTQ6NDQ6cT09ND9xPShJLTImMTQpPT0yPzM3Ojc1OnE9PTM3JiYoQz1KLHE9NzUpfX0sZT1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsLEYpe3tGPTUxO3doaWxlKEYhPTQzKWlmKEY9PTE3KVA9djAoNTQsOSxQKSx6JiZ6W1pmXT96LnYuYWRkKFN0cmluZyhEKSxQLEksZigyNixKLE8pPyEhTy5jYXB0dXJlOiEhTyxVKTpmKDMyLGZhbHNlLCJvYmplY3QiLFUsUCxELEkseixPKSxGPTQ7ZWxzZSBpZihGPT00KUY9KGQmNTkpPT1kPzgzOjcyO2Vsc2V7aWYoRj09MTkpcmV0dXJuIGw7aWYoRj09NTApRj1nPEQubGVuZ3RoPzY2OjQ7ZWxzZSBpZihGPT0yMilGPShkKzUmNDUpPj1kJiYoZCs1JjI3KTxkPzM6NDtlbHNlIGlmKEY9PTMpRj1BcnJheS5pc0FycmF5KEQpPzU6MTc7ZWxzZSBpZihGPT01KWc9MCxGPTk7ZWxzZSBpZihGPT05KUY9NTA7ZWxzZSBpZihGPT01MSlGPTIyO2Vsc2UgaWYoRj09NTgpe2lmKHo9ci50cnVzdGVkVHlwZXMsRD1VLHomJnouY3JlYXRlUG9saWN5KXt0cnl7RD16LmNyZWF0ZVBvbGljeShKLHtjcmVhdGVIVE1MOkRDLGNyZWF0ZVNjcmlwdDpEQyxjcmVhdGVTY3JpcHRVUkw6REN9KX1jYXRjaChXKXtpZihyLmNvbnNvbGUpci5jb25zb2xlW0ldKFcubWVzc2FnZSl9bD1EfWVsc2UgbD1EO0Y9MTl9ZWxzZSBpZihGPT04NCl7YTppZih0eXBlb2YgVT09PSJzdHJpbmciKWw9dHlwZW9mIEkhPT0ic3RyaW5nInx8SS5sZW5ndGghPUo\/LTE6VS5pbmRleE9mKEksMCk7ZWxzZXtmb3Ioej0wO3o8VS5sZW5ndGg7eisrKWlmKHogaW4gVSYmVVt6XT09PUkpe2w9ejticmVhayBhfWw9LTF9Rj04N31lbHNlIGlmKEY9PTg3KUY9KGQmNzcpPT1kPzU4OjE5O2Vsc2UgaWYoRj09NzIpRj1kLTk+PjQ\/ODc6ODQ7ZWxzZSBpZihGPT04Myl7aWYoSS5XLmxlbmd0aCl7SS5Paz0oSS5jMz0oSS5PayYmIjpUUVI6VFFSOiIoKSxVKSx0cnVlKTt0cnl7Tz1JLlMoKSxJLmNPPU8sSS5OSj1PLEkubE09MCxJLkhPPTAsRD10Qyg1LG51bGwsMyx0cnVlLCI6IixVLEkpLGc9ej8wOjEwLFA9SS5TKCktSS5jTyxJLnBTKz1QLEkueE8mJkkueE8oUC1JLlYsSS5CLEkuQyxJLkhPKSxJLkM9SixJLlY9MCxJLkI9SixQPGd8fEkuWGktLTw9MHx8KFA9TWF0aC5mbG9vcihQKSxJLklzLnB1c2goUDw9MjU0P1A6MjU0KSl9ZmluYWxseXtJLk9rPUp9bD1EfUY9NzJ9ZWxzZSBGPT0xNT8oZysrLEY9NTApOkY9PTY2JiYoZSh0cnVlLCJvYmplY3QiLFUsMjgseixEW2ddLE8sUCksRj0xNSl9fX0sZUI9ZnVuY3Rpb24oSSxKLFUsZCx6LEQpe2ZvcihEPTI3O0QhPTMzOylpZihEPT0xMClEPShVLTh8MjkpPj1VJiYoVSs1JkkpPFU\/MjY6NDY7ZWxzZSBpZihEPT0yNylEPTg7ZWxzZSBpZihEPT04KUQ9VT4+MiY3PzEwOjE1O2Vsc2UgaWYoRD09MTUpej1KIGluICRQPyRQW0pdOiRQW0pdPWQrSixEPTEwO2Vsc2V7aWYoRD09NDYpcmV0dXJuIHo7RD09MjYmJihkLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEosZnVuY3Rpb24oTyl7QUMoMjQsIiIsIiAiLDEsInN0cmluZyIsZCxPKX0pOmIoNSwic3RyaW5nIixkLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChnTSg3OSw1LCIiLGQpLGZ1bmN0aW9uKE8pe3JldHVybiEoZShPLDEsSiwyMCk+PTApfSkuam9pbigiICIpKSxEPTQ2KX19LGxrPWZ1bmN0aW9uKEksSixVLGQseixELE8pe2ZvcihPPTYzO08hPTE5OylpZihPPT00NClPPShKXjI0KTwyMCYmKEo+PjImMyk+PTA\/OTE6MTY7ZWxzZSBpZihPPT05MilPPUorNj4+ND80NDoxODtlbHNlIGlmKE89PTYzKU89OTI7ZWxzZSBpZihPPT0xOClEPXR5cGVvZiB6LmNsYXNzTmFtZT09ZD96LmNsYXNzTmFtZTp6LmdldEF0dHJpYnV0ZSYmei5nZXRBdHRyaWJ1dGUoSSl8fFUsTz00NDtlbHNlIGlmKE89PTkxKXRoaXNbdGhpcysiIl09dGhpcyxEPVByb21pc2UucmVzb2x2ZSgpLE89MTY7ZWxzZSBpZihPPT0xNilyZXR1cm4gRH0sYj1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsKXtmb3IobD03MjtsIT05Nzspe2lmKGw9PTE4KXJldHVybiBnO2lmKGw9PTMyKXtmb3IoTyBpbiBQPVUsZC5vKXtmb3Ioej1kLm9bRD1VLE9dO0Q8ei5sZW5ndGg7RCsrKSsrUCxjMCgzLDMsSix6W0RdKTtkZWxldGUgKGQuSmMtLSxkLm8pW09dfWw9OTF9ZWxzZSBsPT03OT9sPShJPj4yJjE0KT09Mj83NDoyOmw9PTI\/bD0oSV44OSk+PS00NiYmSS0yPj41PDE\/Mjk6ODI6bD09OTE\/bD1JKzE+PTIwJiYoKEleODQpJjE1KTwzPzk5OjQyOmw9PTY\/KEouWU8mJkouWU8uZm9yRWFjaChVLHZvaWQgMCksbD0xOCk6bD09Mjk\/KHR5cGVvZiBVLmNsYXNzTmFtZT09Sj9VLmNsYXNzTmFtZT1kOlUuc2V0QXR0cmlidXRlJiZVLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGQpLGw9ODIpOmw9PTc0PyhkLlcuc3BsaWNlKEosSixVKSxsPTIpOmw9PTcyP2w9Nzk6bD09OTk\/bD00MjpsPT00Mj9sPUktMSYxMz8xODo2Omw9PTgyJiYobD0oKEleMjIpJjE1KT09ND8zMjo5MSl9fSxIPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnKXsoSXwoKEktOV41KTxJJiYoSSsyJjM4KT49SSYmKHo9ekYoOCx0cnVlLFUpLC0xLX4oenwxMjgpLSh6XjEyOCkmJih6PShEPTEyNy0yKn4oeiYxMjcpKy0yNTYrKH56JjEyNyksZD16Rig4LHRydWUsVSk8PEosLX5EKzIqKEQmfmQpLShEfH5kKSsyKih+RHxkKSkpLGc9eiksNDApKT09SSYmKEouTj9nPXhWKEouTyxKKTooZD1HTSg4LEosdHJ1ZSksZCYxMjgmJihkPShkfDEyOCkrfmQtKH5kfDEyOCksVT1HTSgyLEosdHJ1ZSksZD0oZDw8MikrKFV8MCkpLGc9ZCkpO3N3aXRjaCghIShJLTM+PjQpKXtjYXNlIHRydWU6ZmFsc2U7YnJlYWs7Y2FzZSBmYWxzZTp6PUgoNDcsVSk7e089MDt3aGlsZShkPjApTz0oRD1PPDxKLFA9ekYoOCx0cnVlLFUpLDIqKFB8MCkrfihEJlApKyh+RF5QKS0yKih+RHxQKSksZC0tfXQoeixVLE8pO2JyZWFrfXJldHVybihJfDE2KT09SSYmKEouTj9nPXhWKEouTyxKKTooZD1HTSg4LEosdHJ1ZSksZCYxMjgmJihkPShkfDEyOCkrfmQtKH5kfDEyOCksVT1HTSgyLEosdHJ1ZSksZD0oZDw8MikrKFV8MCkpLGc9ZCkpLGd9LG49ZnVuY3Rpb24oSSxKLFUsZCx6LEQsTyxQLGcsbCxGKXt7bD05NTt3aGlsZShsIT02MSlpZihsPT00MClGPU1hdGguZmxvb3IodGhpcy5TKCkpLGw9MTI7ZWxzZSBpZihsPT0yMSlsPShJfDU2KT09ST81MzoxMDtlbHNlIGlmKGw9PTE5KWw9KEl8ODApPT1JPzg3OjQ5O2Vsc2UgaWYobD09NjMpYzAoMyw3LHRydWUsVSksbD0yMDtlbHNlIGlmKGw9PTgwKWQuaj0oKGQuaj9kLmorIn4iOiJFOiIpK1UubWVzc2FnZStKK1Uuc3RhY2spLnNsaWNlKDAsMjA0OCksbD0yMTtlbHNlIGlmKGw9PTI0KWQuc2V0QXR0cmlidXRlKFAsRCksbD0xOTtlbHNlIGlmKGw9PTQ3KWw9RD09PSIifHxEPT12b2lkIDA\/NjQ6MjQ7ZWxzZSBpZihsPT0xMClsPShJJjczKT09ST82MjoxOTtlbHNlIGlmKGw9PTUzKXo9VS50eXBlLGw9Mzg7ZWxzZSBpZihsPT0zOClsPXogaW4gZC5vJiZFKDg4LEosZC5vW3pdLFUpPzYzOjEwO2Vsc2UgaWYobD09NjUpZz1tcyx6IGluIGc\/ZC5zZXRBdHRyaWJ1dGUoUCxnW3pdKTpkLnJlbW92ZUF0dHJpYnV0ZShQKSxsPTE5O2Vsc2UgaWYobD09ODkpbD1JKzk8MzImJihJPDwyJjIzKT49MTk\/ODA6MjE7ZWxzZXtpZihsPT0xMilyZXR1cm4gRjtsPT05NT9sPTg5Omw9PTg3PyhPTi5jYWxsKHRoaXMsSj9KLnR5cGU6IiIpLHRoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbCx0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wLHRoaXMua2V5PSIiLHRoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTAsdGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PWZhbHNlLHRoaXMuc3RhdGU9bnVsbCx0aGlzLnBvaW50ZXJJZD0wLHRoaXMucG9pbnRlclR5cGU9IiIsdGhpcy50aW1lU3RhbXA9MCx0aGlzLmlNPW51bGwsSiYmdGhpcy5pbml0KEosVSksbD00OSk6bD09NjI\/KEFycmF5LmlzQXJyYXkoRCkmJihEPUQuam9pbihKKSksUD0iYXJpYS0iK3osbD00Nyk6bD09ODQ\/KE89e30sbXM9KE8uYXRvbWljPWZhbHNlLE8uYXV0b2NvbXBsZXRlPVUsTy5kcm9wZWZmZWN0PVUsTy5oYXNwb3B1cD1mYWxzZSxPLmxpdmU9Im9mZiIsTy5tdWx0aWxpbmU9ZmFsc2UsTy5tdWx0aXNlbGVjdGFibGU9ZmFsc2UsTy5vcmllbnRhdGlvbj0idmVydGljYWwiLE8ucmVhZG9ubHk9ZmFsc2UsTy5yZWxldmFudD0iYWRkaXRpb25zIHRleHQiLE8ucmVxdWlyZWQ9ZmFsc2UsTy5zb3J0PVUsTy5idXN5PWZhbHNlLE8uZGlzYWJsZWQ9ZmFsc2UsTy5oaWRkZW49ZmFsc2UsTy5pbnZhbGlkPSJmYWxzZSIsTyksbD02NSk6bD09NDk\/bD0oSV41MCkmMTQ\/MTI6NDA6bD09MjA\/bD1kLm9bel0ubGVuZ3RoPT0wPzE4OjEwOmw9PTY0P2w9bXM\/NjU6ODQ6bD09MTgmJihkZWxldGUgZC5vW3pdLGQuSmMtLSxsPTEwKX19fSxQNT1mdW5jdGlvbihJLEosVSxkLHosRCxPLFApe3tQPTYwO3doaWxlKFAhPTMwKWlmKFA9PUkpdGhpc1t0aGlzKyIiXT10aGlzLFA9MzI7ZWxzZXtpZihQPT02NylyZXR1cm4gTztQPT02MD9QPTkzOlA9PTMyP1A9VT4+MSZKPzY3OjU0OlA9PTU0PyhEPWQsTz1mdW5jdGlvbigpe3JldHVybiBEPHoubGVuZ3RoP3tkb25lOmZhbHNlLHZhbHVlOnpbRCsrXX06e2RvbmU6dHJ1ZX19LFA9NjcpOlA9PTkzJiYoUD0oVSs2JjQxKT49VSYmKFUrMV4yNSk8VT9JOjMyKX19fSxxVT1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsLEYsVyl7e1c9Njg7d2hpbGUoVyE9OTApaWYoVz09MTIpVz0oZCYxMjYpPT1kPzM6ODU7ZWxzZSBpZihXPT0zKWcxLmNhbGwodGhpcyxVLEp8fFc1LnpaKCkseiksVz04NTtlbHNlIGlmKFc9PTY0KVc9KGR8SSk+PjQ+PTAmJihkPj4yJjQpPDE\/NzI6MzQ7ZWxzZXtpZihXPT04NSlyZXR1cm4gRjtpZihXPT03Mil7YTp7Zm9yKGc9KE89eixbSj09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsRCxKPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csSj09dHlwZW9mIHNlbGYmJnNlbGYsSj09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXSk7TzxnLmxlbmd0aDsrK08paWYoKFA9Z1tPXSkmJlBbVV09PU1hdGgpe0Y9UDticmVhayBhfXRocm93IEVycm9yKCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0Iik7fVc9MzR9ZWxzZSBXPT0zND9XPShkfDMyKT09ZD85ODoxMjpXPT05OD8oRj0obD1sS1tVLnN1YnN0cmluZygwLDMpKyJfIl0pP2woVS5zdWJzdHJpbmcoMyksSix6LEQsTyxQLGcpOlcwKFUsSiwzMyksVz0xMik6Vz09NjgmJihXPTY0KX19fSxmPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnLGwsRixXLG0scCxxKXtmb3IocT04MztxIT00NjspaWYocT09MzYpcEZ8fChnPVcpLGc9PT12b2lkIDAmJihnPUopLFAuYWRkRXZlbnRMaXN0ZW5lcihELnRvU3RyaW5nKCksRixnKSxxPTMzO2Vsc2UgaWYocT09MTkpcT0yO2Vsc2UgaWYocT09MilxPWc8RC5sZW5ndGg\/Njg6Njk7ZWxzZSBpZihxPT01MClxPShJLTZeMTUpPEkmJihJLTl8MTUpPj1JPzExOjY0O2Vsc2UgaWYocT09OTApcT1EPzkxOjc0O2Vsc2UgaWYocT09NjMpZz1KLHE9MTk7ZWxzZSBpZihxPT03KXE9TyYmTy5vbmNlPzMxOjU1O2Vsc2UgaWYocT09OTEpVz1mKDg4LFUsZyk\/ISFnLmNhcHR1cmU6ISFnLChsPU4wKDgsUCkpfHwoUFt5VV09bD1uZXcgRVgoUCkpLG09bC5hZGQoRCx6LE8sVyxkKSxxPTM1O2Vsc2UgaWYocT09NTIpcD1KJiZKLnBhcmVudE5vZGU\/Si5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKEopOm51bGwscT01NztlbHNlIGlmKHE9PTY0KXE9KEkmMzUpPT1JPzkwOjU4O2Vsc2UgaWYocT09MTEpcD1NYXRoLmZsb29yKHRoaXMucFMrKHRoaXMuUygpLXRoaXMuY08pKSxxPTY0O2Vsc2V7aWYocT09NjkpcmV0dXJuIHA7aWYocT09NDMpcT1QLmF0dGFjaEV2ZW50PzI1OjM0O2Vsc2UgaWYocT09NjIpcT1QLmFkZEV2ZW50TGlzdGVuZXI\/MzY6NDM7ZWxzZXtpZihxPT04OCl0aHJvdyBFcnJvcigiYWRkRXZlbnRMaXN0ZW5lciBhbmQgYXR0YWNoRXZlbnQgYXJlIHVuYXZhaWxhYmxlLiIpO2lmKHE9PTM1KXE9bS5wcm94eT81ODo1NDtlbHNlIGlmKHE9PTY4KWYoOCwwLCJvYmplY3QiLGQseixEW2ddLE8sUCkscT04MDtlbHNlIGlmKHE9PTM0KXE9UC5hZGRMaXN0ZW5lciYmUC5yZW1vdmVMaXN0ZW5lcj8xNDo4ODtlbHNlIGlmKHE9PTMzKU0wKysscT01ODtlbHNlIGlmKHE9PTQ0KWQ9dHlwZW9mIFUscD1kPT1KJiZVIT1udWxsfHxkPT0iZnVuY3Rpb24iLHE9NTA7ZWxzZSBpZihxPT01OClxPShJKzgmNyk9PTE\/NTI6NTc7ZWxzZSBpZihxPT04MClnKysscT0yO2Vsc2UgaWYocT09MjUpUC5hdHRhY2hFdmVudChlQig2OSxELnRvU3RyaW5nKCksMzIsIm9uIiksRikscT0zMztlbHNlIGlmKHE9PTU3KXE9KEkrMV4xMSk8SSYmKEkrNV4yNCk+PUk\/Nzo2OTtlbHNlIGlmKHE9PTU0KUY9Z00oNzksMjQpLG0ucHJveHk9RixGLnNyYz1QLEYubGlzdGVuZXI9bSxxPTYyO2Vsc2UgaWYocT09NilxPSgoSV45MCkmMjcpPDQmJihJfDMpPj0tNzI\/NDQ6NTA7ZWxzZSBpZihxPT04Mil6PXYwKDU0LDgseiksUCYmUFtaZl0\/UC52LmFkZChTdHJpbmcoRCkseixmYWxzZSxmKDU4LFUsTyk\/ISFPLmNhcHR1cmU6ISFPLGQpOmYoMyxmYWxzZSwib2JqZWN0IixkLHosRCxmYWxzZSxQLE8pLHE9Njk7ZWxzZSBpZihxPT01NSlxPUFycmF5LmlzQXJyYXkoRCk\/NjM6ODI7ZWxzZSBpZihxPT04MylxPTY7ZWxzZSBpZihxPT0xNClQLmFkZExpc3RlbmVyKEYpLHE9MzM7ZWxzZSBpZihxPT0zMSllKHRydWUsVSxkLDI5LFAsRCxPLHopLHE9Njk7ZWxzZSBpZihxPT03NCl0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7fX19LHdNPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCl7cmV0dXJuIHFVLmNhbGwodGhpcyw2LEosSSw0OSxVLGQseixELE8sUCl9LE1VPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnLGwpe2ZvcihQPShPPShsPShEPXYoNjksKGc9ZFtlcl18fHt9LGQpKSxnLmE1PUgoNTAsZCksZy5aPVtdLGQuUD09ZD8oekYoOCxVLGQpfDApLXo6MSksSChJLGQpKSwwKTtQPGw7UCsrKWcuWi5wdXNoKEgoSixkKSk7Zm9yKDtsLS07KWcuWltsXT11KGQsZy5aW2xdKTtyZXR1cm4gZy5KZj1TKGQsTyksZy5vNT1SKEQsZCksZ30sYks9ZnVuY3Rpb24oSSxKLFUsZCx6KXtyZXR1cm4gRnQuY2FsbCh0aGlzLDgsNiwxOCxkLFUsSSx6LEopfSxmRj1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyl7aWYoSS5QPT1JKXt7ej11KEksVSksVT09MjM2fHxVPT00MDB8fFU9PTExPyhQPWZ1bmN0aW9uKGwsRixXLG0scCxxLEMsYyxUKXtmb3IoYz0oVD04MCwyMyk7Oyl0cnl7aWYoVD09MTgpYnJlYWs7ZWxzZSBpZihUPT04MyljPTcsei50Yz1URigzNTk2LDI0LHYoNjEsMTYscSx6KSx2KDU3LDE2LChxfDQpLSAtNSsocXwtNSkseiksbSksVD04NDtlbHNlIGlmKFQ9PTg0KXoucHVzaCgoRj16LnRjWzgrKFdeNykrMioofldeNyktKH5XfDcpXSwobHwwKS0xK35GLTIqKH5GfGwpKSksVD0xODtlbHNle2lmKFQ9PTkzKXRocm93IGM9MjMsQztUPT04MD8oVz16Lmxlbmd0aCxwPS1+KFcmNCkrLTUrKFcmLTUpPj4zLFQ9NzcpOlQ9PTg3Pyh6LnlhPXAscT0ocDw8MyktNCxtPVswLDAsT1sxXSxPWzJdXSxUPTgzKTpUPT03NyYmKFQ9ei55YSE9cD84Nzo4NCl9fWNhdGNoKFkpe2lmKGM9PTIzKXRocm93IFk7Yz09NyYmKEM9WSxUPTkzKX19LE89UigxMixJKSk6UD1mdW5jdGlvbihsKXt6LnB1c2gobCl9LGQmJlAoLTI1NS0yKn4oZHwyNTUpLSh+ZCYyNTUpKzIqKH5kfDI1NSkpLGc9MCxEPUoubGVuZ3RoO3doaWxlKGc8RClQKEpbZ10pLGcrK319fSxZUD1mdW5jdGlvbihJLEosVSl7Zm9yKFU9OTtVIT04NDspaWYoVT09MjQpVT0xMDtlbHNlIGlmKFU9PTEwKVU9SS0tPzYyOjk2O2Vsc2UgaWYoVT09OSlKPVtdLFU9MjQ7ZWxzZSBpZihVPT02MilKLnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksVT01MjtlbHNle2lmKFU9PTk2KXJldHVybiBKO1U9PTUyJiYoVT0xMCl9fSxHTT1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsLEYsVyxtLHAscSxDKXtpZigoQz11KEosNDUyKSxDKT49Si5EKXRocm93W2M1LDMxXTtmb3IoUD0oej0oVz0wLEkpLEQ9QyxKLmxyKS5sZW5ndGg7ej4wOyltPUQlOCxsPTgtKG18MCksTz1EPj4zLGQ9bDx6P2w6eixwPUouU29bT10sVSYmKHE9SixxLlkhPUQ+PjYmJihxLlk9RD4+NixnPXUocSwyOTkpLHEuUDM9VEYoMzU5NiwyNCxxLkgscS5ZLFswLDAsZ1sxXSxnWzJdXSkpLHBePUouUDNbTyZQXSksRCs9ZCxXfD0ocD4+OC0obXwwKS0oZHwwKSYoMTw8ZCktMSk8PCh6fDApLShkfDApLHotPWQ7cmV0dXJuIHcoSiw0NTIsKEN8MCkrKEY9VyxJfDApKSxGfSxaQz1mdW5jdGlvbihJLEope3JldHVybiBlQi5jYWxsKHRoaXMsNjksSiw4LEkpfSxTQj10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKEksSixVLGQpe2ZvcihkPTk7ZCE9MzA7KXtpZihkPT01OClyZXR1cm4gSTtpZihkPT0yNClyZXR1cm4gSVtKXT1VLnZhbHVlLEk7ZD09OSYmKGQ9ST09QXJyYXkucHJvdG90eXBlfHxJPT1PYmplY3QucHJvdG90eXBlPzU4OjI0KX19LGMwPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnLGwpe2ZvcihsPTYwO2whPTkzOylpZihsPT04NClsPShKLTJeMjApPEomJkotNzw8Mj49Sj8yODoxMjtlbHNle2lmKGw9PTk4KXJldHVybiBnO2lmKGw9PTUyKWQuZHI9VSxkLmxpc3RlbmVyPW51bGwsZC5wcm94eT1udWxsLGQuc3JjPW51bGwsZC5xSj1udWxsLGw9OTg7ZWxzZSBpZihsPT03MSlsPShKfDQwKT09Sj8xNDo4NDtlbHNlIGlmKGw9PTI4KXthOntzd2l0Y2goUCl7Y2FzZSBEOmc9Tz8iZGlzYWJsZSI6ImVuYWJsZSI7YnJlYWsgYTtjYXNlIDI6Zz1PPyJoaWdobGlnaHQiOiJ1bmhpZ2hsaWdodCI7YnJlYWsgYTtjYXNlIHo6Zz1PPyJhY3RpdmF0ZSI6ImRlYWN0aXZhdGUiO2JyZWFrIGE7Y2FzZSBkOmc9Tz8ic2VsZWN0IjoidW5zZWxlY3QiO2JyZWFrIGE7Y2FzZSAxNjpnPU8\/ImNoZWNrIjoidW5jaGVjayI7YnJlYWsgYTtjYXNlIFU6Zz1PPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSA2NDpnPU8\/Im9wZW4iOiJjbG9zZSI7YnJlYWsgYX10aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgc3RhdGUiKTt9bD0xMn1lbHNlIGw9PTE0PyhDRi5jYWxsKHRoaXMpLHRoaXMudj1uZXcgRVgodGhpcyksdGhpcy5ycj1udWxsLHRoaXMuelg9dGhpcyxsPTg0KTpsPT0xMj9sPShKLTQmMTQpPj0wJiZKKzE8MTE\/NTI6OTg6bD09NjA\/bD03Omw9PTc\/bD0oSj4+MiYxNSk9PUk\/ODE6NzE6bD09ODEmJih0aGlzLlg9dGhpcy5YLHRoaXMuRmk9dGhpcy5GaSxsPTcxKX19LG5GPWZ1bmN0aW9uKEksSixVLGQseixEKXtyZXR1cm4gdEMuY2FsbCh0aGlzLDE4LFUsSSxKLGQseixEKX0sblo9ZnVuY3Rpb24oSSl7cmV0dXJuIFVOLmNhbGwodGhpcyw1NywxOSxJKX0sS0Y9ZnVuY3Rpb24oSSxKKXtmdW5jdGlvbiBVKCl7dGhpcy5uPSh0aGlzLkk9W10sMCl9cmV0dXJuWyhVLnByb3RvdHlwZS5TNz1mdW5jdGlvbigpe3JldHVybiBnTS5jYWxsKHRoaXMsNzksMyl9LFUucHJvdG90eXBlLkNTPWZ1bmN0aW9uKGQseil7cmV0dXJuIFcwLmNhbGwodGhpcyx6LGQsMTYpfSxJPW5ldyBVLEo9bmV3IFUsZnVuY3Rpb24oZCl7KEkuQ1MoZCksSikuQ1MoZCl9KSxmdW5jdGlvbihkKXtyZXR1cm4gZD1JLlM3KCkuY29uY2F0KEouUzcoKSksSj1uZXcgVSxkfV19LExGPWZ1bmN0aW9uKEksSixVLGQseixEKXtkLkFjLmxlbmd0aD56P3liKFtjNSwzNl0sSSxVLGQpOihkLkFjLnB1c2goZC5pLnNsaWNlKCkpLGQuaVtKXT12b2lkIDAsdyhkLEosRCkpfSxkMT1mdW5jdGlvbigpe3JldHVybiBVTi5jYWxsKHRoaXMsNTcsMzQpfSxFWD1mdW5jdGlvbihJKXtyZXR1cm4gVU4uY2FsbCh0aGlzLDU3LDgsSSl9LFM9ZnVuY3Rpb24oSSxKLFUpe1U9SS5pW0pdO3N3aXRjaCghKFU9PT12b2lkIDApKXtjYXNlIHRydWU6TmFOO2JyZWFrO2Nhc2UgZmFsc2U6dGhyb3dbYzUsMzAsSl07YnJlYWt9c3dpdGNoKCFVLnZhbHVlKXtjYXNlIHRydWU6MCE9IVsiIl09PSFbXTticmVhaztjYXNlIE51bWJlcih1bmRlZmluZWQpPT09TnVtYmVyKHVuZGVmaW5lZCk6cmV0dXJuIFUuY3JlYXRlKCk7YnJlYWt9aWYoe30pVS5jcmVhdGUoSioxKkorLTQ3KkorLTE4KTtyZXR1cm4gVS5wcm90b3R5cGV9LEEsSXo9ZnVuY3Rpb24oSSxKKXtyZXR1cm4gbi5jYWxsKHRoaXMsODAsSSxKKX0sSUY9ZnVuY3Rpb24oSSxKLFUsZCx6KXtpZih6PXR5cGVvZiBVLHo9PUopc3dpdGNoKCFVKXtjYXNlICEiIj09IWZhbHNlOnJldHVybiJudWxsIjticmVhaztjYXNlIDAhPSFbdW5kZWZpbmVkXTppZihVIGluc3RhbmNlb2YgQXJyYXkpcmV0dXJuImFycmF5Ijtzd2l0Y2goIShVIGluc3RhbmNlb2YgT2JqZWN0KSl7Y2FzZSBmYWxzZSE9bnVsbDp0cnVlO2JyZWFrO2Nhc2UgZmFsc2U6d2hpbGUoMil7cmV0dXJuIHo7aWYoLTA9PT0wKWJyZWFrfWJyZWFrfWlmKGQ9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFUpLGQ9PSJbb2JqZWN0IFdpbmRvd10iKXJldHVybiBKO2lmKGQ9PSJbb2JqZWN0IEFycmF5XSJ8fHR5cGVvZiBVLmxlbmd0aD09Im51bWJlciImJnR5cGVvZiBVLnNwbGljZSE9InVuZGVmaW5lZCImJnR5cGVvZiBVLnByb3BlcnR5SXNFbnVtZXJhYmxlIT0idW5kZWZpbmVkIiYmIVUucHJvcGVydHlJc0VudW1lcmFibGUoSSkpcmV0dXJuImFycmF5Ijtmb3IoKCFbXSE9KG51bGwhPSh0cnVlPT0hW10pKSkudHJ1ZTtkPT0iW29iamVjdCBGdW5jdGlvbl0ifHx0eXBlb2YgVS5jYWxsIT0idW5kZWZpbmVkIiYmdHlwZW9mIFUucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhVS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgiY2FsbCIpO3RydWUrdHJ1ZSl7cmV0dXJuImZ1bmN0aW9uIjtpZih0cnVlKWJyZWFrfWJyZWFrfWVsc2Ugc3dpdGNoKCEoej09ImZ1bmN0aW9uIiYmdHlwZW9mIFUuY2FsbD09InVuZGVmaW5lZCIpKXtjYXNlICFbXSE9KG51bGwhPSghW10hPTApKTowO2JyZWFrO2Nhc2UgZmFsc2UhPSFbXTpyZXR1cm4gSjticmVha31yZXR1cm4gen0sTlU9ZnVuY3Rpb24oSSxKLFUsZCx6LEQsTyxQLGcsbCl7KEoucHVzaCgoZD1JWzBdPDwyNHxJWzFdPDwxNixVPUlbMl08PDgsKFV8MCktMS0ofmR8VSkpfElbM10pLEoucHVzaCgobD0oRD1JWzRdPDwyNCxnPUlbNV08PDE2LC1+KER8ZykrKEQmfmcpKyh+RF5nKSsofkQmZykpLE89SVs2XTw8OCwobHwwKS1+KGwmTykrfk8rMioofmwmTykpfElbN10pLEopLnB1c2goKHo9SVs4XTw8MjR8SVs5XTw8MTZ8SVsxMF08PDgsUD1JWzExXSwyKihQfDApK34oeiZQKS0ofnomUCktKH56fFApKSl9LE9OPWZ1bmN0aW9uKEksSil7cmV0dXJuIFAwLmNhbGwodGhpcywzMyw3MixKLEksMTYpfSxXNT1mdW5jdGlvbigpe3JldHVybiBUTS5jYWxsKHRoaXMsMTYpfSx4PWZ1bmN0aW9uKEksSixVKXtzd2l0Y2goIShJPT00NTJ8fEk9PTQ2Nykpe2Nhc2UgMD09PS0wOmlmKEouTUomJkkhPTI5OSlyZXR1cm47ST09MzQ0fHxJPT0yMzZ8fEk9PTMwNXx8ST09MTF8fEk9PTE1NXx8ST09MTg4fHxJPT0xMTh8fEk9PTEyfHxJPT00MDB8fEk9PTEwMz9KLmlbSV18fChKLmlbSV09digzMiwwLFUsMTQsSixJKSk6Si5pW0ldPXYoMzYsMCxVLDk3LEosSSk7YnJlYWs7Y2FzZSAhIW51bGw6Si5pW0ldP0ouaVtJXS5jb25jYXQoVSk6Si5pW0ldPXYoNyxVLEopO2JyZWFrfUk9PTI5OSYmKEouSD1HTSgzMixKLGZhbHNlKSxKLlk9dm9pZCAwKX0sRU49ZnVuY3Rpb24oSSxKLFUpe3JldHVybiBxVS5jYWxsKHRoaXMsNixKLEksMTYsVSl9LHU9ZnVuY3Rpb24oSSxKLFUpe2lmKChVPUkuaVtKXSxVKT09PXZvaWQgMCl0aHJvd1tjNSwzMCxKXTtpZihVLnZhbHVlKXJldHVybiBVLmNyZWF0ZSgpO3JldHVybihVLmNyZWF0ZShKKjEqSistNDcqSistMTgpLFUpLnByb3RvdHlwZX0saz1mdW5jdGlvbihJLEosVSxkLHosRCxPKXtPPXRoaXM7dHJ5e1J6KGQsSixJLHRoaXMsVSxELHopfWNhdGNoKFApe24oNywiOiIsUCx0aGlzKSxKKGZ1bmN0aW9uKGcpe2coTy5qKX0pfX0sSDU9ZnVuY3Rpb24oSSxKKXtmdW5jdGlvbiBVKCl7dGhpcy5UPXRoaXMuVFo9dGhpcy5uPTB9Sj0oVS5wcm90b3R5cGUuajc9KFUucHJvdG90eXBlLnNrPWZ1bmN0aW9uKGQseil7cmV0dXJuIFVOLmNhbGwodGhpcyw1Nyw2NSxkLHopfSxmdW5jdGlvbigpe3JldHVybiB2MC5jYWxsKHRoaXMsNTQsMyl9KSxuZXcgVSk7d2hpbGUodHJ1ZSlpZihJPW5ldyBVLHRydWUpYnJlYWs7cmV0dXJuW2Z1bmN0aW9uKGQpe0ouc2soZCksSS5zayhkKX0sZnVuY3Rpb24oZCl7cmV0dXJuIGQ9W0ouajcoKSxJLmo3KCksSi5ULEkuVF0sST1uZXcgVSxkfV19LHY1PWZ1bmN0aW9uKEksSixVLGQseixELE8pe2ZGKEksKChEPVMoSSwoZD1IKCh6PUgoNDQsKE89KEp8NCktfihKJjQpKyhVPUomMyx+KEp8NCkpLEkpKSw0MCksSSkseikpLE8mJihEPXcxKCIiK0QsNikpLFUpJiZmRihJLGgoRC5sZW5ndGgsMiksZCksRCksZCl9LHliPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnLGwsRixXLG0pe3N3aXRjaCghKCFkLk1KJiYoVz12b2lkIDAsSSYmSVswXT09PWM1JiYoVT1JWzFdLFc9SVtKXSxJPXZvaWQgMCksbD1SKDE1NSxkKSxsLmxlbmd0aD09MCYmKE89Uig0NjcsZCk+PjMsbC5wdXNoKFUsTz4+OCYyNTUsMjU1KyhPJi0yNTYpLShPXjI1NSkpLFchPXZvaWQgMCYmbC5wdXNoKChXfDI1NSktIC0xKyh+V14yNTUpKSksZz0iIixJJiYoSS5tZXNzYWdlJiYoZys9SS5tZXNzYWdlKSxJLnN0YWNrJiYoZys9IjoiK0kuc3RhY2spKSxGPXUoZCwxMDMpLEZbMF0+MykpKXtjYXNlIHRydWU6dW5kZWZpbmVkO2JyZWFrO2Nhc2UgZmFsc2U6RD0oZz0oRlswXS09KGc9Zy5zbGljZSgwLChGWzBdfDApLTMpLHo9Zy5sZW5ndGgsLTIqfih6JjMpKyh6Ji00KSszKih+eiYzKStKKih6fC00KSksdzEpKGcsNiksZC5QKSxkLlA9ZDt0cnl7ZC53cj8oUD0oUD1SKDE4OCxkKSkmJlBbUC5sZW5ndGgtMV18fDk1LChtPXUoZCwxMTgpKSYmbVttLmxlbmd0aC0xXT09UHx8ZkYoZCxbUCYyNTVdLDExOCkpOnRlKGQsNDAwLDE4OCxbOTVdKSxmRihkLGgoZy5sZW5ndGgsSikuY29uY2F0KGcpLDIzNiw1MSl9ZmluYWxseXtkLlA9RH1icmVha319LFFVPWZ1bmN0aW9uKCl7cmV0dXJuIGMwLmNhbGwodGhpcywzLDQwKX0sYXo9ZnVuY3Rpb24oSSxKLFUsZCx6KXtyZXR1cm4gTjAuY2FsbCh0aGlzLDMsSSxKLFUsZCx6KX0sdGU9ZnVuY3Rpb24oSSxKLFUsZCx6LEQsTyxQLGcsbCl7aWYoSS5QPT1JKWZvcihQPVIoVSxJKSxVPT0yMzZ8fFU9PUp8fFU9PTExPyhnPWZ1bmN0aW9uKEYsVyxtLHAscSxDLGMsVCxZKXtmb3IoVD0oYz0zMiw1Mik7Oyl0cnl7aWYoYz09NTEpYnJlYWs7ZWxzZSBpZihjPT0zOSljPVAueWEhPUM\/NzY6NDk7ZWxzZSBpZihjPT03NilXPShDPDwzKS00LG09WzAsMCxPWzFdLE9bMl1dLFAueWE9QyxjPTk2O2Vsc2UgaWYoYz09NDkpUC5wdXNoKChxPVAudGNbOCsocF43KSsyKih+cF43KS0ofnB8NyldLChGfDApLTErfnEtMioofnF8RikpKSxjPTUxO2Vsc2V7aWYoYz09NzkpdGhyb3cgVD01MixZO2M9PTMyPyhwPVAubGVuZ3RoLEM9LX4ocCY0KSstNSsocCYtNSk+PjMsYz0zOSk6Yz09OTYmJihUPTE4LFAudGM9VEYoMzU5NiwyNCx2KDU5LDE2LFcsUCksdig1OCwxNiwoV3w0KS0gLTUrKFd8LTUpLFApLG0pLGM9NDkpfX1jYXRjaChNKXtpZihUPT01Mil0aHJvdyBNO1Q9PTE4JiYoWT1NLGM9NzkpfX0sTz1SKDEyLEkpKTpnPWZ1bmN0aW9uKEYpe1AucHVzaChGKX0seiYmZygtMjU1LTIqfih6fDI1NSktKH56JjI1NSkrMioofnp8MjU1KSksbD1kLmxlbmd0aCxEPTA7RDxsO0QrKylnKGRbRF0pfSxzTj1mdW5jdGlvbihJLEope2Zvcih2YXIgVT0yMTtVIT0yMzspaWYoVT09MzApTysrLFU9OTg7ZWxzZSBpZihVPT05MilVPTk4O2Vsc2UgaWYoVT09MzYpe3ZhciBkPWpyW09dO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChELGQpJiYoSVtkXT1EW2RdKSxVPTMwfWVsc2UgaWYoVT09MjApVT16PGFyZ3VtZW50cy5sZW5ndGg\/NzU6MjM7ZWxzZSBpZihVPT02NSl6KyssVT0yMDtlbHNlIGlmKFU9PTY4KVU9MjA7ZWxzZSBpZihVPT05OClVPU88anIubGVuZ3RoPzM2OjY1O2Vsc2UgaWYoVT09MjEpdmFyIHo9KFU9NjgsMSk7ZWxzZSBpZihVPT03NSl7dmFyIEQ9YXJndW1lbnRzW3pdO2ZvcihkIGluIEQpSVtkXT1EW2RdO3ZhciBPPShVPTkyLDApfX0saUs9ZnVuY3Rpb24oKXtyZXR1cm4gYi5jYWxsKHRoaXMsMzYpfSxoPWZ1bmN0aW9uKEksSixVLGQpe2ZvcihkPVtdLFU9KEp8MCktMTtVPj0wO1UtLSlkWyhKfDApLTEtKFV8MCldPUk+PlUqOCYyNTU7cmV0dXJuIGR9LERDPWZ1bmN0aW9uKEkpe3JldHVybiBBQy5jYWxsKHRoaXMsNSxJKX0seFY9ZnVuY3Rpb24oSSxKLFUpe3JldHVybihVPUkuY3JlYXRlKCkuc2hpZnQoKSxKLk4uY3JlYXRlKCkubGVuZ3RoKXx8Si5PLmNyZWF0ZSgpLmxlbmd0aHx8KEouTj12b2lkIDAsSi5PPXZvaWQgMCksVX0sdz1mdW5jdGlvbihJLEosVSl7c3dpdGNoKCEoSj09NDUyfHxKPT00NjcpKXtjYXNlIHRydWU6aWYoSS5NSiYmSiE9Mjk5KXJldHVybjtKPT0zNDR8fEo9PTIzNnx8Sj09MzA1fHxKPT0xMXx8Sj09MTU1fHxKPT0xODh8fEo9PTExOHx8Sj09MTJ8fEo9PTQwMHx8Sj09MTAzP0kuaVtKXXx8KEkuaVtKXT12KDQ0LDAsVSwxNCxJLEopKTpJLmlbSl09dig1MiwwLFUsOTcsSSxKKTticmVhaztjYXNlIGZhbHNlOkkuaVtKXT9JLmlbSl0uY29uY2F0KFUpOkkuaVtKXT12KDE0LFUsSSk7YnJlYWt9Sj09Mjk5JiYoSS5IPUdNKDMyLEksZmFsc2UpLEkuWT12b2lkIDApfSxJbT1mdW5jdGlvbihJLEosVSxkLHosRCl7dHJ5e0Q9SVsoLTIqfihKJjIpKy0yKyhKXjIpKSUzXSxJW0pdPSh6PShJW0pdfDApLShJWygoSnwwKSsxKSUzXXwwKS0oRHwwKSxkPUo9PTE\/RDw8VTpEPj4+VSwoZHwwKS0oeiZkKSt+KHomZCktfnopfWNhdGNoKE8pe3Rocm93IE87fX0sdUs9ZnVuY3Rpb24oKXtyZXR1cm4gRS5jYWxsKHRoaXMsMzQpfSxSPWZ1bmN0aW9uKEksSixVKXtVPUouaVtJXTtmb3IoIVtdPT1mYWxzZTtVPT09dm9pZCAwO3RydWU9PVtdKXt0aHJvd1tjNSwzMCxJXTtpZihmYWxzZT09IVtdKWJyZWFrfWlmKFUudmFsdWUpcmV0dXJuIFUuY3JlYXRlKCk7cmV0dXJuIFUuY3JlYXRlKEkqMSpJKy00NypJKy0xOCksVS5wcm90b3R5cGV9LHpNPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnLGwsRixXKXtpZighW10hPTA9PSFbXSlQPVVbMF07c3dpdGNoKCEoUD09VVgpKXtjYXNlICFmYWxzZT09ISIiOmlmKFA9PUpDKXtsPVVbMV07dHJ5e0Q9ZC5qfHxkLksoVSl9Y2F0Y2gobSl7bigxMywiOiIsbSxkKSxEPWQuan1sKChGPWQuUygpLEQpKSxkLlYrPWQuUygpLUZ9ZWxzZSBzd2l0Y2goIShQPT1SRikpe2Nhc2UgISFudWxsPT0wOmlmKFA9PVNyKWQuQj10cnVlLGQuSyhVKTtlbHNlIHN3aXRjaCghKFA9PUFlKSl7Y2FzZSAhbnVsbDpzd2l0Y2goIShQPT1GTCkpe2Nhc2UgW10hPSghKDAhPT0tMCk9PSEiIik6dW5kZWZpbmVkO2JyZWFrO2Nhc2UgTmFOPT09TmFOOnJldHVybiB6PVVbMl0sdCg0MTAsZCxVWzZdKSx4KEksZCx6KSxkLksoVSk7YnJlYWt9UD09eFA\/KGQuSyhVKSxkLklzPVtdLGQuaT1udWxsLGQuU289W10pOlA9PUgwJiZyLmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihkLkc9ZnVuY3Rpb24obSxwKXtmdW5jdGlvbiBxKEMpe2ZvcihDPTE3O0MhPTQ4OylDPT0wPyhwPXRydWUsci5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixxLG1MKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLHEsbUwpLG0oKSxDPTQ4KTpDPT0xNyYmKEM9cD80ODowKX0oci5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixxLChwPWZhbHNlLG1MKSkscikuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIscSxtTCl9KTticmVhaztjYXNlIHRydWU9PVtdOnRyeXtmb3IoVz0wO1c8ZC5HWi5sZW5ndGg7VysrKXRyeXtnPWQuR1pbV10sZ1swXVtnWzFdXShnWzJdKX1jYXRjaChtKXt9fWNhdGNoKG0pe31pZigoMCxVWzFdKShmdW5jdGlvbihtLHApe2QuQk8obSx0cnVlLHApfSxmdW5jdGlvbihtKXtiKDc1LChtPSFkLlcubGVuZ3RoLDApLFt4UF0sZCksbSYmZShkLGZhbHNlLHRydWUsMjYsZmFsc2UpfSxmdW5jdGlvbihtKXtyZXR1cm4gZC5iTShtKX0sKGQuR1o9W10sTz1kLlMoKSxmdW5jdGlvbihtLHAscSl7cmV0dXJuIGQubUgobSxwLHEpfSkpLHRydWUpZC5WKz1kLlMoKS1PO2JyZWFrfWJyZWFrO2Nhc2UgISIiIT0hKCFbXSE9MCk6aWYodHJ1ZSlVW0pdJiYoZC5CPXRydWUpLFVbNF0mJihkLkM9dHJ1ZSksZC5LKFUpO2JyZWFrfWJyZWFrO2Nhc2UgZmFsc2U6ZC5YaT0yNSxkLkM9dHJ1ZSxkLksoVSk7YnJlYWt9fSxwWj1mdW5jdGlvbihJLEosVSxkLHosRCl7cmV0dXJuIFVOLmNhbGwodGhpcyw1Nyw0MixJLEosVSxkLHosRCl9LGtQPWZ1bmN0aW9uKEksSixVLGQpe2Q9KFU9dig5LEkpLHYpKDI1LEkpLHRlKEksNDAwLGQsaChSKFUsSSksSikpfSxHRj1mdW5jdGlvbihJLEosVSxkLHosRCl7cmV0dXJuKHcoVSw0NTIsKGhlKDIsKChEPXUoVSw0NTIpLFUuU28mJkQ8VS5EKT8oeCg0NTIsVSxVLkQpLExGKDIsNDUyLEksVSxkLEopKTp4KDQ1MixVLEopLHopLGZhbHNlLFUpLEQpKSxTKShVLDI1Nyl9LHpGPWZ1bmN0aW9uKEksSixVKXtyZXR1cm4gVS5OP3hWKFUuTyxVKTpHTShJLFUsSil9LEI1PWZ1bmN0aW9uKEksSixVLGQseil7aWYoSS5sZW5ndGg9PTMpe2ZvcihVPTA7VTwzO1UrKylKW1VdKz1JW1VdO3doaWxlKFtdKWlmKHo9WzEzLDgsMTMsMTIsMTYsNSwzLDEwLDE1XSx0cnVlKWJyZWFrO3tkPTA7d2hpbGUoZDw5KUpbM10oSixkJTMseltkXSksZCsrfX19LENGPWZ1bmN0aW9uKCl7cmV0dXJuIGMwLmNhbGwodGhpcywzLDEyKX0sZzE9ZnVuY3Rpb24oSSxKLFUsZCx6LEQsTyxQKXtyZXR1cm4gTFouY2FsbCh0aGlzLDcxLEksMyxKLFUsZCx6LEQsTyxQKX0sb3o9ZnVuY3Rpb24oKXtyZXR1cm4gRnQuY2FsbCh0aGlzLDgsNiw4KX0sUno9ZnVuY3Rpb24oSSxKLFUsZCx6LEQsTyxQLGcsbCl7UD0oZC5NZD0oZC5OZD1BQygxNix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29uY2F0KCl9fSwoZC5BZj1YdCwoZC5UWD1RYixkKS5scj1kW0pDXSxkLkYpKSxCMFtkLkZdKGQuTmQse3ZhbHVlOnt2YWx1ZTp7fX19KSksW10pO3tnPTA7d2hpbGUoZzwyNjkpUFtnXT1TdHJpbmcuZnJvbUNoYXJDb2RlKGcpLGcrK31pZigoZC5Tbz0oZC5CPShkLmMzPWZhbHNlLChkLk1KPWZhbHNlLGQpLkdYPShkLklzPVtdLDApLGZhbHNlKSxbXSksZCkueE89VSxbXSlkLk89dm9pZCAwO2Qua0o9KChkLk5KPTAsZC5WPTAsKGQubE09dm9pZCAwLGQuTj0oZC5wUz0wLHZvaWQgMCksZCkuSD0oZC5QPWQsdm9pZCAwKSxkKS5qPXZvaWQgMCxkLkgzPWZ1bmN0aW9uKEYpe3JldHVybiBzWC5jYWxsKHRoaXMsNDAsRil9LFtdKTt3aGlsZSgxKWlmKGw9d2luZG93LnBlcmZvcm1hbmNlfHx7fSx0cnVlKWJyZWFrO2lmKGQuZlM9KGQuaD0xLGQud3I9ZmFsc2UsZC5XMz1bXSxkLmNPPShkLkhPPTAsZC5EPTAsZC5GTD0oZC51TT0wLGwudGltZU9yaWdpbil8fChsLnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCxkLlk9KGQuWGk9MjUsZC5pPShkLnYzPTgwMDEsW10pLGQuT2s9ZmFsc2Usdm9pZCAwKSxkLkc9KGQuYnI9RCxkLkdaPVtdLGQuVz0oZC5aUj12b2lkIDAsW10pLG51bGwpLDApLGQuQz1mYWxzZSxkLkFjPVtdLGQuUDM9dm9pZCAwLDApLHomJnoubGVuZ3RoPT0yJiYoZC5rSj16WzBdLGQuVzM9elsxXSksTyl0cnl7ZC5aUj1KU09OLnBhcnNlKE8pfWNhdGNoKEYpe2QuWlI9e319ZShkLGZhbHNlLChiKDc4LDAsKGIoNzYsKHcoZCwxMSwoYSg1LGQsZnVuY3Rpb24oRil7a1AoRiwxKX0sKGEoMzcsZCwodCgyNTcsKHgoKGEoNiwodCgyMzYsZCwodygoYSgzOSwoYSg3LGQsKHQoMTk1LGQsKGEoMzYsZCwoKGEoMzYsZCwoYSg3LCh3KGQsKGEoNyxkLGZ1bmN0aW9uKEYsVyxtLHAscSl7cD1TKEYsKG09KFc9SCg0MiwocT1IKDI0LEYpLEYpKSx1KEYscSkpLFcpKSx4KFcsRixwK20pfSwoYSgzOSxkLGZ1bmN0aW9uKEYsVyxtLHAscSxDLGMsVCl7Zm9yKFQ9NTc7VCE9MTg7KVQ9PTU3PyhjPUgoNDcsRikscT1IKDQ1LEYpLG09dig3NyxGKSxUPTQ0KTpUPT0yNT9UPWM9PTI5OT8xNzoxODpUPT00ND9UPUYuUD09Rj84NToxODpUPT0xNz8oRi5ZPXZvaWQgMCxUPTcxKTpUPT04NT8ocD11KEYscSksVz11KEYsYyksQz11KEYsbSksV1twXT1DLFQ9MjUpOlQ9PTcxP1Q9cD09Mj83MjoxODpUPT03MiYmKEYuSD1HTSgzMixGLGZhbHNlKSxGLlk9dm9pZCAwLFQ9MTgpfSwoYSg3LChhKDM4LGQsKHQoMTg4LGQsKHcoZCwoYSg1LGQsKGEoNixkLChhKDYsZCwoeCgoYSgzOSxkLChhKDM3LGQsZnVuY3Rpb24oRixXLG0scCl7Vz1IKDIzLEYpO3doaWxlKHRydWUpaWYocD12KDc3LEYpLHRydWUpYnJlYWs7UyhGLChtPVMoRixwKSxXKSkhPTAmJnQoNDUyLEYsbSl9LCh3KCh0KDM0NCxkLChhKDM2LChhKDM3LChhKDYsZCwoZC5LZz0oYSg1LGQsKGEoNSwoYSgzOCwoYSg2LCh4KDMwNSxkLCh4KCgoeCgyNjQsZCwoeCgzMjcsKChhKDM5LGQsKGEoMzgsZCxmdW5jdGlvbihGLFcsbSxwLHEsQyl7Zm9yKEM9NjU7QyE9MjI7KUM9PTE\/Qz02NDpDPT03OT8ocCsrLEM9NjQpOkM9PTMxPyhtLnB1c2goekYoOCx0cnVlLEYpKSxDPTc5KTpDPT02ND9DPXA8cT8zMToxNjpDPT02NT8oVz1IKDI2LEYpLHE9SCgzNCw3LEYpLHA9MCxtPVtdLEM9MSk6Qz09MTYmJih4KFcsRixtKSxDPTIyKX0sKGEoKGEoMzYsZCwodCg0NjcsKHcoZCwoYSgzOCxkLGZ1bmN0aW9uKEYsVyxtLHAscSxDLGMsVCxZKXt7WT0zNDt3aGlsZShZIT05OClZPT02PyhjKyssWT02Mik6WT09MzQ\/KEM9SCgyNyxGKSxXPUgoNDIsRikscD1IKDQzLEYpLG09UyhGLEMpLHE9dShGLFcpLFQ9IiIsYz0wLFk9MzcpOlk9PTIyPyhUKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG1bY11eMTIxKSxZPTYpOlk9PTM3P1k9NjI6WT09Mjc\/KHcoRixwLFQgaW4gcXwwKSxZPTk4KTpZPT02MiYmKFk9YzxtLmxlbmd0aD8yMjoyNyl9fSwoYSg1LGQsKGEoMzYsZCxmdW5jdGlvbihGLFcsbSxwLHEsQyxjLFQsWSl7e1k9NDk7d2hpbGUoWSE9NDIpWT09NzA\/WT00NzpZPT00OT8oVz1IKDQ2LEYpLEM9SCgzMiw3LEYpLHA9W10sbT1SKDEzNSxGKSxUPW0ubGVuZ3RoLHE9MCxZPTgyKTpZPT00Nz9ZPUMtLT80MzozNjpZPT00Mz8ocT0oYz1IKDM2LDcsRiksMyoocSZjKSt+Yy0yKih+cV5jKSsofnF8YykpJVQscC5wdXNoKG1bcV0pLFk9NzApOlk9PTM2Pyh3KEYsVyxwKSxZPTQyKTpZPT04MiYmKFk9NDcpfX0sMzAxKSxmdW5jdGlvbihGLFcsbSxwLHEsQyxjLFQsWSxNKXtmb3IoTT02NDtNIT04NTspTT09NjQ\/KEM9SCg0NSxGKSxUPUgoNDEsRiksbT1IKDQwLEYpLHE9dShGLFQpLFc9UihDLEYpLFk9MCxwPSIiLE09ODEpOk09PTgxP009MjY6TT09NTY\/KFkrKyxNPTI2KTpNPT0yNj9NPVk8cS5sZW5ndGg\/OTE6MTY6TT09OTE\/KHArPVN0cmluZy5mcm9tQ2hhckNvZGUoKGM9cVtZXSwoYyYxMjEpKy0xMjItMioofmNeMTIxKSsofmN8MTIxKSkpLE09NTYpOk09PTE2JiYoeChtLEYsV1twXSksTT04NSl9KSw0NDIpLDE2NikpLDQ1MiksMCksZCksMCksZnVuY3Rpb24oRil7djUoRiw0KX0pLDQ4MiksMzcpLGQsZnVuY3Rpb24oRixXKXt0KChXPXYoNzMsRiksVyksRixbXSl9LDY2KSw0OTUpKSxmdW5jdGlvbihGLFcsbSxwLHEsQyxjLFQsWSxNLHksVixHLFEsTCl7e0w9Njc7d2hpbGUoTCE9OTYpaWYoTD09MzApYys9bSxMPTI3O2Vsc2UgaWYoTD09NjcpTD1OMCg0MywxLFcsdHJ1ZSx0cnVlLEYpPzk2Ojg4O2Vsc2UgaWYoTD09ODIpTD0yNztlbHNlIGlmKEw9PTI3KUw9YzxwPzIzOjk2O2Vsc2UgaWYoTD09Nzgpe2ZvcihWIGluIFk9W10sQylZLnB1c2goVik7Qz0oTD01LFkpfWVsc2UgTD09Mj9MPUlGKCJzcGxpY2UiLCJvYmplY3QiLEMpPT0ib2JqZWN0Ij83ODo1Okw9PTc1PyhjPTAscD1DLmxlbmd0aCxtPW0+MD9tOjEsTD04Mik6TD09NT9MPUYuUD09Rj83NTo5NjpMPT04OD8ocT1IKDQxLEYpLHk9SCg0OSxGKSxUPUgoNDEsRiksTT12KDY1LEYpLEc9UyhGLE0pLEM9dShGLHEpLFE9UyhGLHkpLG09UyhGLFQpLEw9Mik6TD09MjMmJihRKEMuc2xpY2UoYywtMi0yKn5jLShjfH5tKSsofmN8bSkpLEcpLEw9MzApfX0pLDI4NiksdyhkLDQwMCxZUCg0KSksbmV3IEVOKCJTdWJtaXQiKSkuZGlzcG9zZSgpLGQpLDApLHIpKSxkKS5JNT0wLDEyKSxkLFswLDAsMF0pLFtdKSksZCksZnVuY3Rpb24oRixXLG0peyhtPVIoKFc9SCgyMixGKSxXKSxGLlApLG0pWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIobVsxXSxtWzJdLG1MKX0sMjMzKSxkKSxmdW5jdGlvbihGKXtrUChGLDQpfSwyMDUpLGQpLGZ1bmN0aW9uKEYsVyxtLHAscSxDLGMsVCxZLE0pe2ZvcihNPTIzO00hPTcyOylNPT0yMz9NPU4wKDQwLDEsVyx0cnVlLGZhbHNlLEYpPzcyOjg3Ok09PTg3JiYoVD1NVSgyOSwyMCx0cnVlLEYuUCwxKSxxPVQubzUsQz1ULkpmLHA9VC5aLGM9cC5sZW5ndGgsbT1ULmE1LFk9Yz09MD9uZXcgQ1txXTpjPT0xP25ldyBDW3FdKHBbMF0pOmM9PTI\/bmV3IENbcV0ocFswXSxwWzFdKTpjPT0zP25ldyBDW3FdKHBbMF0scFsxXSxwWzJdKTpjPT00P25ldyBDW3FdKHBbMF0scFsxXSxwWzJdLHBbM10pOjIoKSx3KEYsbSxZKSxNPTcyKX0sMjgzKSxmdW5jdGlvbihGLFcsbSxwLHEsQyl7Zm9yKEM9ODtDIT01ODspQz09OD9DPU4wKDQyLDEsVyx0cnVlLGZhbHNlLEYpPzU4OjA6Qz09MjI\/KHgocS5hNSxGLHAuYXBwbHkobSxxLlopKSxGLk5KPUYuUygpLEM9NTgpOkM9PTA\/KHE9TVUoMjksMjAsdHJ1ZSxGLDEpLG09cS5KZixwPXEubzUsQz00Nik6Qz09NDYmJihDPUYuUD09Rnx8cD09Ri5IMyYmbT09Rj8yMjo1OCl9KSwzOTIpLDApLGZ1bmN0aW9uKEYpe0goNiw4LEYsNCl9KSwxMzkpLGQpLGZ1bmN0aW9uKEYsVyxtLHAscSxDKXt3KChXPShxPXUoRiwocD12KDksKEM9dig5LEYpLG09dig2OSxGKSxGKSksbSkpLFIpKEMsRik9PXEsRikscCwrVyl9LDQwOSksZCksZnVuY3Rpb24oRixXLG0scCxxLEMpe3coRiwocD1TKChtPVIoKHE9SCg1MSwoVz0oQz12KDI1LEYpLEgoNDMsRikpLEYpKSxXKSxGKSxGKSxDKSxxKSxwIGluIG18MCl9LDIyNCksWzE1NCwwLDBdKSksZCksMzQzLDApLDE4NSkpLGZ1bmN0aW9uKEYsVyxtLHAscSl7aWYocT12KDczLEYpLCFudWxsKXA9digyNSxGKTt4KChXPShtPVMoRixxKSxJRigic3BsaWNlIiwib2JqZWN0IixtKSkscCksRixXKX0pLDQ0NiksMTIxKSxkLGQpLGZ1bmN0aW9uKEYsVyxtLHAscSxDLGMsVCl7Zm9yKFQ9MTI7VCE9ODA7KVQ9PTM\/VD1jLS0\/MTM6Njc6VD09MTE\/VD0zOlQ9PTEzPyhtPSgobXwwKSsoSCgzNSw3LEYpfDApKSVwLFcrPVBbQ1ttXV0sVD05NSk6VD09OTU\/VD0zOlQ9PTY3Pyh4KHEsRixXKSxUPTgwKTpUPT0xMiYmKHE9dig2NSxGKSxjPUgoMzMsNyxGKSxXPSIiLEM9UigxMzUsRikscD1DLmxlbmd0aCxtPTAsVD0xMSl9KSwzMiksYSgzNyxkLGZ1bmN0aW9uKEYsVyxtKXt3KChtPShXPUgoNDIsRiksdig3MyxGKSksRiksbSwiIitTKEYsVykpfSwxOTYpLGZ1bmN0aW9uKEYsVyxtLHAscSxDKXsoQz11KEYsKHA9dSgocT1IKDQ2LChtPUgoMTksRiksRikpLFc9SCg0MSxGKSxGKSxxKSxtKSksdykoRixXLENbcF0pfSksMjc2KSxmdW5jdGlvbihGLFcsbSxwLHEpe2ZvcihxPTg1O3EhPTUzOylxPT04Mj8obT12KDY1LEYpLHA9SCg0NixGKSx4KHAsRixmdW5jdGlvbihDKXtyZXR1cm4gZXZhbChDKX0oZEMoUihtLEYuUCkpKSkscT01Myk6cT09ODUmJihxPU4wKDQ0LDEsVyx0cnVlLGZhbHNlLEYpPzUzOjgyKX0pLDE2OCksMTAzKSxbMjA0OF0pLFtdKSksZnVuY3Rpb24oRixXLG0scCxxKXtmb3IocT01NjtxIT0zNTspcT09Njg\/KG09SCg0OCxGKSxXW21dPUYuaVttXSxxPTkpOnE9PTQwP3E9NDI6cT09NTY\/KFc9Ri5BYy5wb3AoKSxxPTk1KTpxPT0xNj8oV1sxNTVdPUYuaVsxNTVdLFdbMTAzXT1GLmlbMTAzXSxGLmk9VyxxPTM1KTpxPT05PyhwLS0scT00Mik6cT09NTE\/KHA9ekYoOCx0cnVlLEYpLHE9NDApOnE9PTgyPyh4KDQ1MixGLEYuRCkscT0zNSk6cT09OTU\/cT1XPzUxOjgyOnE9PTQyJiYocT1wPjA\/Njg6MTYpfSksMjEwKSxkKSxmdW5jdGlvbihGLFcsbSxwLHEsQyxjLFQsWSxNLHkpe3t5PTM5O3doaWxlKHkhPTkyKXk9PTA\/eT1tIT09MD8yOTo5Mjp5PT0yOT8ocT1PWCg0OSwxLEYsZmFsc2UsVCwyLEMsMyxtLHApLG0uYWRkRXZlbnRMaXN0ZW5lcihwLHEsbUwpLHUoRiwxOTUpLnB1c2goZnVuY3Rpb24oKXttLnJlbW92ZUV2ZW50TGlzdGVuZXIocCxxLG1MKX0pLHQoMzQzLEYsW20scCxxXSkseT05Mik6eT09MzkmJihjPUgoNDQsRiksWT12KDY1LEYpLE09SCgyOCxGKSxXPUgoNTIsRiksbT11KEYuUCxjKSxDPVMoRixNKSxwPVMoRixZKSxUPVIoVyxGKSx5PTApfX0sNTApLDQ0OSkpLDExMykpLDE1NSksW10pLGQpLGZ1bmN0aW9uKEYsVyxtLHApe1c9ekYoOCwobT1IKDQ1LEYpLHRydWUpLEYpLHA9digyNSxGKSx0KHAsRix1KEYsbSk+Pj5XKX0sMTI2KSxmdW5jdGlvbigpe30pLDQ3NCksZCkuUXo9MCxmdW5jdGlvbihGLFcsbSxwLHEsQyxjLFQsWSxNLHksVixHLFEsTCxiayxyTSxEZixaKXtmb3IoWj0yOTtaIT0zMjspWj09OTk\/KFkucHVzaChSKEgoMjUsRiksRikpLFo9NTgpOlo9PTM5PyhxW1ZdfHwoUVtWXT1EZihUKSksWj01Mik6Wj09NzM\/Wj1WPEw\/Mzk6MTpaPT00Mj9aPTczOlo9PTQ4PyhXKyssWj00Nik6Wj09Njc\/KGEoNyxGLGZ1bmN0aW9uKEIsWCxxMCxkTSxmWixOKXtmb3IoTj01NTtOIT04OylOPT0xOT9OPVg8TD83NTo0NTpOPT03P049Njk6Tj09NTU\/KGRNPVtdLFg9MCxmWj1bXSxOPTk1KTpOPT00NT8oQi5OPXYoMTUsWS5zbGljZSgpLEIpLEIuTz12KDYsZlosQiksTj04KTpOPT02OT9OPXEwPj1kTS5sZW5ndGg\/ODQ6NTM6Tj09NTM\/KHEwPWRNW3EwXSxOPTc3KTpOPT03NT8ocTA9UVtYXSxOPTE4KTpOPT01Nz9OPTY5Ok49PTE4P049cVtYXT83Nzo1NzpOPT04ND8oZE0ucHVzaChIKDQwLEIpKSxOPTcpOk49PTk1P049MTk6Tj09MzI\/KFgrKyxOPTE5KTpOPT03NyYmKGZaLnB1c2gocTApLE49MzIpfSxNKSxaPTMyKTpaPT0yOT8oRGY9ZnVuY3Rpb24oQixYKXtmb3IoO2M8QjspbXw9ekYoOCx0cnVlLEYpPDxjLGMrPTg7cmV0dXJuIG0+Pj0oWD0oYy09QixtKSYoMTw8QiktMSxCKSxYfSxNPXYoNjksRiksbT1jPTAsRz0ocD1EZigzKSwtMi1+cC0gLTIpLEw9RGYoNSkseT1DPTAscT1bXSxaPTUwKTpaPT0yMz9aPXJNLS0\/OTk6Njc6Wj09NzA\/KGJrPURmKDEpLHEucHVzaChiayksQys9Yms\/MDoxLFo9MTQpOlo9PTE4PyhUPSgtMi0oQ14xKS0yKih+Q3wxKSkudG9TdHJpbmcoMikubGVuZ3RoLFY9MCxRPVtdLFo9NDIpOlo9PTUwP1o9NzQ6Wj09ODQ\/KFk9W10sck09RyxaPTc2KTpaPT0yMj8ocVtXXSYmKFFbV109SCg0NCxGKSksWj00OCk6Wj09NDY\/Wj1XPEw\/MjI6ODQ6Wj09NTI\/KFYrKyxaPTczKTpaPT0xPyhXPTAsWj0yNyk6Wj09NTg\/Wj0yMzpaPT03Nj9aPTIzOlo9PTI3P1o9NDY6Wj09NzQ\/Wj15PEw\/NzA6MTg6Wj09MTQmJih5KyssWj03NCl9KSwyMTMpLFtdKSksZnVuY3Rpb24oRixXLG0scCxxLEMsYyxUKXt3KEYsKHE9UyhGLChDPXUoRiwoYz0ocD0oVz12KDksKG09KFQ9digyOSxGKSx2KDI5LEYpKSxGKSksSCg0NyxGKSksUyhGLHApKSxXKSksbSkpLFQpLE9YKDQ5LGMsRixmYWxzZSxDLDIscSw1KSl9KSw2MyksZCksZnVuY3Rpb24oRixXKXsoVz11KEYsdigyOSxGKSksTEYpKDIsNDUyLDAsRi5QLDEwNCxXKX0sNTkpLGQpLDMwNiw3NTgpLFlQKDQpKSksZCksZnVuY3Rpb24oRil7djUoRiwzKX0sODcpLDExOCksZCxbXSksZCkse30pLGZ1bmN0aW9uKEYsVyxtLHApe3goKG09SCg0MywocD1IKDQwLChXPXYoMjksRiksRikpLEYpKSxtKSxGLFIoVyxGKXx8dShGLHApKX0pLDI1NiksMTMyKSksWVApKDQpKSxiKDc3LDAsW0gwXSxkKSwwKSxbU3IsSV0sZCksW0FlLEpdKSxkKSx0cnVlKSwzLHRydWUpfSxURj1mdW5jdGlvbihJLEosVSxkLHosRCxPLFApe2ZvcihQPShEPShPPXpbMl18MCx6WzNdfDApLDApO1A8MTY7UCsrKWQ9ZD4+Pjh8ZDw8SixEPUQ+Pj44fEQ8PEosRCs9T3wwLGQrPVV8MCxVPVU8PDN8VT4+PjI5LERePVArSSxkXj1PK0ksTz1PPDwzfE8+Pj4yOSxPXj1ELFVePWQ7cmV0dXJuW1U+Pj5KJjI1NSxVPj4+MTYmMjU1LFU+Pj44JjI1NSxVPj4+MCYyNTUsZD4+PkomMjU1LGQ+Pj4xNiYyNTUsZD4+PjgmMjU1LGQ+Pj4wJjI1NV19LHcxPWZ1bmN0aW9uKEksSixVLGQseixELE8sUCxnLGwpe2Q9KGc9SS5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksTz0wLFtdKTt7RD0wO3doaWxlKEQ8Zy5sZW5ndGgpVT1nLmNoYXJDb2RlQXQoRCksVTwxMjg\/ZFtPKytdPVU6KFU8MjA0OD9kW08rK109VT4+SnwxOTI6KChVJjY0NTEyKT09NTUyOTYmJkQrMTxnLmxlbmd0aCYmKGcuY2hhckNvZGVBdChEKzEpJjY0NTEyKT09NTYzMjA\/KFU9NjU1MzYrKChVJjEwMjMpPDwxMCkrKGcuY2hhckNvZGVBdCgrK0QpJjEwMjMpLGRbTysrXT0oUD1VPj4xOCw0ODArflArKFB8LTI0MSktMiooflB8MjQwKSksZFtPKytdPSh6PVU+PjEyLDY0Kyh6fC02NCkpfDEyOCk6ZFtPKytdPVU+PjEyfDIyNCxkW08rK109KGw9VT4+SiwobHwwKS0gLTIrKGwmLTY0KSsyKih+bHw2MykpfDEyOCksZFtPKytdPVUmNjN8MTI4KSxEKyt9cmV0dXJuIGR9LHQ9ZnVuY3Rpb24oSSxKLFUpe2lmKEk9PTQ1Mnx8ST09NDY3KUouaVtJXT9KLmlbSV0uY29uY2F0KFUpOkouaVtJXT12KDMsVSxKKTtlbHNle2lmKEouTUomJkkhPTI5OSlyZXR1cm47ST09MzQ0fHxJPT0yMzZ8fEk9PTMwNXx8ST09MTF8fEk9PTE1NXx8ST09MTg4fHxJPT0xMTh8fEk9PTEyfHxJPT00MDB8fEk9PTEwMz9KLmlbSV18fChKLmlbSV09dig0OCwwLFUsMTQsSixJKSk6Si5pW0ldPXYoNDAsMCxVLDk3LEosSSl9ST09Mjk5JiYoSi5IPUdNKDMyLEosZmFsc2UpLEouWT12b2lkIDApfSxoZT1mdW5jdGlvbihJLEosVSxkLHosRCxPLFApe2ZvcihmYWxzZTshZC5qO1tdPT10cnVlIT1udWxsIT0hW10pe2QuZlMrKzt0cnl7Zm9yKEQ9KFA9ZC5ELDApLHo9dm9pZCAwOy0tSjspdHJ5e2lmKChPPXZvaWQgMCxkKS5OKXo9eFYoZC5OLGQpO2Vsc2V7aWYoRD1TKGQsNDUyKSxEPj1QKWJyZWFrO3o9KE89dig3NywoeCg0NjcsZCxEKSxkKSksUihPLGQpKX1OMCg0MSwxLCh6JiZ6W3hQXSYyMDQ4P3ooZCxKKTp5YihbYzUsMjEsT10sSSwwLGQpLEopLFUsVSxkKX1jYXRjaChnKXtTKGQsMzA2KT95YihnLEksMjIsZCk6eCgzMDYsZCxnKX1pZighSil7aWYoZC5xZCl7aGUoMiw0NjQwNjg4MzMzNTQsKGQuZlMtLSxmYWxzZSksZCk7cmV0dXJufXliKFtjNSwzM10sSSwwLGQpfX1jYXRjaChnKXt0cnl7eWIoZyxJLDIyLGQpfWNhdGNoKGwpe24oMjEsIjoiLGwsZCl9fWlmKGQuZlMtLSx7fSlicmVha319LFVaPWZ1bmN0aW9uKEkpe3JldHVybiBmLmNhbGwodGhpcywxNyxJKX0sdWs9cVUoNiwib2JqZWN0IiwiTWF0aCIsMywwLHRoaXMpLHI9KEFDKDM0LCIuIiwxLDAsbnVsbCwiU3ltYm9sIixmdW5jdGlvbihJLEosVSxkLHosRCl7e0Q9ODE7d2hpbGUoRCE9NzUpe2lmKEQ9PTE3KXJldHVybiBJO2lmKEQ9PTgxKWQ9ZnVuY3Rpb24oTyxQKXtTQih0aGlzLCJkZXNjcmlwdGlvbiIsKHRoaXMudXI9Tyx7Y29uZmlndXJhYmxlOnRydWUsd3JpdGFibGU6dHJ1ZSx2YWx1ZTpQfSkpfSx6PWZ1bmN0aW9uKE8sUCl7Zm9yKFA9ODU7UCE9MzI7KXtpZihQPT02MSlyZXR1cm4gbmV3IGQoVSsoT3x8IiIpKyJfIitKKyssTyk7aWYoUD09ODUpUD10aGlzIGluc3RhbmNlb2Ygej8xODo2MTtlbHNlIGlmKFA9PTE4KXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO319LEQ9MjA7ZWxzZSBpZihEPT0yMClEPUk\/MTc6NTtlbHNlIGlmKEQ9PTUpcmV0dXJuIGQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudXJ9LFU9ImpzY29tcF9zeW1ib2xfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSsiXyIsSj0wLHp9fX0pLHRoaXN8fHNlbGYpLENaPSJjbG9zdXJlX3VpZF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApLFhMLEtaPTAscEY9ZnVuY3Rpb24oSSxKLFUsZCx6LEQpe2ZvcihkPSh6PTM5LDk2KTs7KXRyeXtpZih6PT04OSlicmVhaztlbHNle2lmKHo9PTI2KXJldHVybiBkPTk2LEk7aWYoej09MilyZXR1cm4gZmFsc2U7ej09NjA\/KGQ9OTYsej0yNik6ej09NTk\/KGQ9MzEsVT1mdW5jdGlvbigpe30sci5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixVLEopLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsVSxKKSx6PTI2KTp6PT0zOT96PXIuYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5Pzk5OjI6ej09OTkmJihJPWZhbHNlLEo9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7ST10cnVlfX0pLHo9NTkpfX1jYXRjaChPKXtpZihkPT05Nil0aHJvdyBPO2Q9PTMxJiYoRD1PLHo9NjApfX0oKSxaZj0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKCgoKChFKDExLDIsSXosKENGLnByb3RvdHlwZVtDRi5wcm90b3R5cGUuWD0hKChDRi5wcm90b3R5cGUudT1mdW5jdGlvbihJKXt7ST04ODt3aGlsZShJIT0xNilJPT04OD9JPXRoaXMuRmk\/MTE6MTY6ST09MT9JPTc2Okk9PTY0Pyh0aGlzLkZpLnNoaWZ0KCkoKSxJPTEpOkk9PTExP0k9NzY6ST09NzYmJihJPXRoaXMuRmkubGVuZ3RoPzY0OjE2KX19LENGKS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbihJKXt7ST03NTt3aGlsZShJIT03OSlJPT03NT9JPXRoaXMuWD83OTozNzpJPT0zNyYmKHRoaXMuWD10cnVlLHRoaXMudSgpLEk9NzkpfX0sT04ucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRydWV9LDEpLFN5bWJvbC5kaXNwb3NlXT0oT04ucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuam89dHJ1ZX0sZnVuY3Rpb24oKXt3aGlsZShbXSE9dHJ1ZSlpZih0aGlzLmRpc3Bvc2UoKSx0cnVlKWJyZWFrfSksT04pKSxJeikucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oSSxKLFUsZCx6LEQpe2ZvcihEPTk5O0QhPTI2OylEPT0xMT8oZD1JLnRvRWxlbWVudCxEPTUpOkQ9PTc3P0Q9ZD81OjgwOkQ9PTY2Pyh0aGlzLmJ1dHRvbj1JLmJ1dHRvbix0aGlzLmtleUNvZGU9SS5rZXlDb2RlfHwwLHRoaXMua2V5PUkua2V5fHwiIix0aGlzLmNoYXJDb2RlPUkuY2hhckNvZGV8fChVPT0ia2V5cHJlc3MiP0kua2V5Q29kZTowKSx0aGlzLmN0cmxLZXk9SS5jdHJsS2V5LHRoaXMuYWx0S2V5PUkuYWx0S2V5LHRoaXMuc2hpZnRLZXk9SS5zaGlmdEtleSx0aGlzLm1ldGFLZXk9SS5tZXRhS2V5LHRoaXMucG9pbnRlcklkPUkucG9pbnRlcklkfHwwLHRoaXMucG9pbnRlclR5cGU9SS5wb2ludGVyVHlwZSx0aGlzLnN0YXRlPUkuc3RhdGUsdGhpcy50aW1lU3RhbXA9SS50aW1lU3RhbXAsdGhpcy5pTT1JLEkuZGVmYXVsdFByZXZlbnRlZCYmSXouVS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpLEQ9MjYpOkQ9PTkxPyh0aGlzLm9mZnNldFg9SS5vZmZzZXRYLHRoaXMub2Zmc2V0WT1JLm9mZnNldFksdGhpcy5jbGllbnRYPUkuY2xpZW50WCE9PXZvaWQgMD9JLmNsaWVudFg6SS5wYWdlWCx0aGlzLmNsaWVudFk9SS5jbGllbnRZIT09dm9pZCAwP0kuY2xpZW50WTpJLnBhZ2VZLHRoaXMuc2NyZWVuWD1JLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPUkuc2NyZWVuWXx8MCxEPTY2KTpEPT03ND8oZD1JLmZyb21FbGVtZW50LEQ9NSk6RD09MjQ\/RD16PzE3OjkxOkQ9PTU\/KHRoaXMucmVsYXRlZFRhcmdldD1kLEQ9MjQpOkQ9PTgwP0Q9VT09Im1vdXNlb3ZlciI\/NzQ6NDI6RD09NDI\/RD1VPT0ibW91c2VvdXQiPzExOjU6RD09OTk\/KFU9dGhpcy50eXBlPUkudHlwZSx6PUkuY2hhbmdlZFRvdWNoZXMmJkkuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP0kuY2hhbmdlZFRvdWNoZXNbMF06bnVsbCx0aGlzLnRhcmdldD1JLnRhcmdldHx8SS5zcmNFbGVtZW50LHRoaXMuY3VycmVudFRhcmdldD1KLGQ9SS5yZWxhdGVkVGFyZ2V0LEQ9NzcpOkQ9PTE3JiYodGhpcy5jbGllbnRYPXouY2xpZW50WCE9PXZvaWQgMD96LmNsaWVudFg6ei5wYWdlWCx0aGlzLmNsaWVudFk9ei5jbGllbnRZIT09dm9pZCAwP3ouY2xpZW50WTp6LnBhZ2VZLHRoaXMuc2NyZWVuWD16LnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPXouc2NyZWVuWXx8MCxEPTY2KX0sSXoucHJvdG90eXBlKS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXsoSXouVS5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLmlNLnN0b3BQcm9wYWdhdGlvbik\/dGhpcy5pTS5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLmlNLmNhbmNlbEJ1YmJsZT10cnVlfSxJei5wcm90b3R5cGUpLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKEkpeyhJPShJei5VLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksdGhpcy5pTSksSSkucHJldmVudERlZmF1bHQ\/SS5wcmV2ZW50RGVmYXVsdCgpOkkucmV0dXJuVmFsdWU9ZmFsc2V9LE1hdGgucmFuZG9tKCkqMUU2KXwwKSxqcj0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEplPTAseVU9ImNsb3N1cmVfbG1fIisoKChFWC5wcm90b3R5cGUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oSSxKLFUsZCx6KXtyZXR1cm4gYSg4LChVPShkPUohPT12b2lkIDAsKHo9SSE9PXZvaWQgMCk\/SS50b1N0cmluZygpOiIiKSxmYWxzZSksdGhpcy5vLHRydWUsZnVuY3Rpb24oRCxPLFApe2ZvcihQPTQ2O1AhPTkwOyl7aWYoUD09NTcpcmV0dXJuIGZhbHNlO2lmKFA9PTQ2KU89MCxQPTg7ZWxzZSBpZihQPT04KVA9NDc7ZWxzZSBpZihQPT05OCkrK08sUD00NztlbHNlIGlmKFA9PTk0KVA9eiYmRFtPXS50eXBlIT1VfHxkJiZEW09dLmNhcHR1cmUhPUo\/OTg6ODY7ZWxzZSBpZihQPT00NylQPU88RC5sZW5ndGg\/OTQ6NTc7ZWxzZSBpZihQPT04NilyZXR1cm4gdHJ1ZX19KX0sRVgucHJvdG90eXBlKS5Faz1mdW5jdGlvbihJLEosVSxkLHosRCl7d2hpbGUodHJ1ZSlpZih6PXRoaXMub1tVLnRvU3RyaW5nKCldLCJNIilicmVhaztyZXR1cm4oRD0tMSx6JiYoRD1WVSg4MCxKLHosMCxkLEksNSkpLEQpPi0xP3pbRF06bnVsbH0sRVgucHJvdG90eXBlLmFkZD1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsKXtmb3IobD00O2whPTU4OylpZihsPT04MilsPVU\/MjE6OTc7ZWxzZSBpZihsPT05OClnPW5ldyBiSyhELEoseix0aGlzLnNyYywhIWQpLGcubXU9VSxQLnB1c2goZyksbD0yMTtlbHNlIGlmKGw9PTk2KWc9UFtPXSxsPTgyO2Vsc2UgaWYobD09NzUpUD10aGlzLm9bRF09W10sdGhpcy5KYysrLGw9NDc7ZWxzZSBpZihsPT04NylsPU8+LTE\/OTY6OTg7ZWxzZSBpZihsPT00KUQ9SS50b1N0cmluZygpLFA9dGhpcy5vW0RdLGw9NjU7ZWxzZSBpZihsPT00NylPPVZVKDgwLEosUCwwLGQseiwxMyksbD04NztlbHNlIGlmKGw9PTY1KWw9UD80Nzo3NTtlbHNle2lmKGw9PTIxKXJldHVybiBnO2w9PTk3JiYoZy5tdT1mYWxzZSxsPTIxKX19LEVYLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oSSxKLFUsZCx6LEQsTyxQKXtmb3IoUD05MjtQIT02NzspaWYoUD09NTMpUD16Lmxlbmd0aD09MD84Njo3MjtlbHNle2lmKFA9PTM1KXJldHVybiBmYWxzZTtpZihQPT05MilPPUkudG9TdHJpbmcoKSxQPTUyO2Vsc2V7aWYoUD09OSlyZXR1cm4gZmFsc2U7aWYoUD09MTQpej10aGlzLm9bT10sRD1WVSg4MCxKLHosMCxVLGQsMjEpLFA9NzA7ZWxzZSBpZihQPT01MilQPU8gaW4gdGhpcy5vPzE0OjM1O2Vsc2UgaWYoUD09ODYpZGVsZXRlIHRoaXMub1tPXSx0aGlzLkpjLS0sUD03MjtlbHNlIGlmKFA9PTc5KWMwKDMsNix0cnVlLHpbRF0pLEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbCh6LEQsMSksUD01MztlbHNle2lmKFA9PTcyKXJldHVybiB0cnVlO1A9PTcwJiYoUD1EPi0xPzc5OjkpfX19fSxNYXRoLnJhbmRvbSgpKjFFNil8MCksTTA9MCwkUD17fSxpaz0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApOygoQT0oRSg1LDIsUVUsQ0YpLFFVLnByb3RvdHlwZVtaZl09dHJ1ZSxRVS5wcm90b3R5cGUpLEEuS1M9ZnVuY3Rpb24oSSl7dGhpcy5ycj1JfSxBLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oSSxKLFUsZCl7Zig3LDAsIm9iamVjdCIsZCxKLEksVSx0aGlzKX0sQS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKEksSixVLGQpe2FGKEosIm9iamVjdCIsMjUsZCx0aGlzLDAsSSxVKX0sQSkuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsLEYsVyl7e1c9NzQ7d2hpbGUoVyE9NzcpaWYoVz09OTMpZD1bXSxXPTkwO2Vsc2UgaWYoVz09MjUpRC50YXJnZXQ9RC50YXJnZXR8fGcsVz03MztlbHNlIGlmKFc9PTI4KVc9ej8zOTo1O2Vsc2UgaWYoVz09ODgpVz1EIGluc3RhbmNlb2YgT04\/MjU6MzE7ZWxzZSBpZihXPT0zMylXPWw\/OTM6MTk7ZWxzZSBpZihXPT0yMSlXPXR5cGVvZiBEPT09InN0cmluZyI\/NDM6ODg7ZWxzZSBpZihXPT0zMSlKPUQsRD1uZXcgT04oVSxnKSxzTihELEopLFc9NzM7ZWxzZSBpZihXPT0xNilXPTg3O2Vsc2UgaWYoVz09ODYpVz0hRC5qbyYmTz49MD80OjY1O2Vsc2UgaWYoVz09OTApVz05NTtlbHNlIGlmKFc9PTc0KWw9dGhpcy5ycixXPTMzO2Vsc2UgaWYoVz09NClGPUQuY3VycmVudFRhcmdldD16W09dLFA9c1goMTAsMCxGLEQsVSx0cnVlKSYmUCxXPTU0O2Vsc2UgaWYoVz09NTkpTysrLFc9ODc7ZWxzZSBpZihXPT0yMilGPUQuY3VycmVudFRhcmdldD1nLFA9c1goOSwwLEYsRCxVLHRydWUpJiZQLEQuam98fChQPXNYKDgsMCxGLEQsVSxmYWxzZSkmJlApLFc9Mjg7ZWxzZSBpZihXPT03MylQPXRydWUsVz05NztlbHNlIGlmKFc9PTM5KU89MCxXPTE2O2Vsc2UgaWYoVz09NTQpTy0tLFc9ODY7ZWxzZSBpZihXPT05NylXPXo\/NjY6NjU7ZWxzZSBpZihXPT00MylEPW5ldyBPTihELGcpLFc9NzM7ZWxzZSBpZihXPT02NSlXPUQuam8\/Mjg6MjI7ZWxzZSBpZihXPT0yKWQucHVzaChsKSxXPTUxO2Vsc2UgaWYoVz09ODcpVz0hRC5qbyYmTzx6Lmxlbmd0aD8yMDo1O2Vsc2UgaWYoVz09MTgpVz04NjtlbHNlIGlmKFc9PTk1KVc9bD8yOjE5O2Vsc2UgaWYoVz09MjApRj1ELmN1cnJlbnRUYXJnZXQ9eltPXSxQPXNYKDUsMCxGLEQsVSxmYWxzZSkmJlAsVz01OTtlbHNlIGlmKFc9PTE5KXo9ZCxnPXRoaXMuelgsRD1JLFU9RC50eXBlfHxELFc9MjE7ZWxzZSBpZihXPT01MSlsPWwucnIsVz05NTtlbHNle2lmKFc9PTUpcmV0dXJuIFA7Vz09NjYmJihPPXoubGVuZ3RoLTEsVz0xOCl9fX0sQS51PWZ1bmN0aW9uKCl7dGhpcy5ycj0oUVUuVS51LmNhbGwodGhpcyksdGhpcy52JiZiKDUwLHRydWUsMCx0aGlzLnYpLG51bGwpfSxBLkVrPWZ1bmN0aW9uKEksSixVLGQpe3JldHVybiB0aGlzLnYuRWsoSSxKLFN0cmluZyhVKSxkKX0sQSkuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oSSxKKXtyZXR1cm4gdGhpcy52Lmhhc0xpc3RlbmVyKEkhPT12b2lkIDA\/U3RyaW5nKEkpOnZvaWQgMCxKKX07dmFyIG1zOygoKChFKDEwLDIsblosKCgoKCgoKCJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIikuY29uY2F0KFsiQlVUVE9OIiwiSU5QVVQiXSksQT1kMS5wcm90b3R5cGUsQSkuQT1mdW5jdGlvbihJLEope3JldHVybihKPXRoaXMua08sdHlwZW9mIEk9PT0ic3RyaW5nIik\/Si5nZXRFbGVtZW50QnlJZChJKTpJfSxBLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKEksSil7cmV0dXJuKEp8fHRoaXMua08pLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhJKSl9LEEpLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oSSxKLFUpe3JldHVybigoSj1TdHJpbmcoKFU9dGhpcy5rTyxJKSksVS5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiKSYmKEo9Si50b0xvd2VyQ2FzZSgpKSxVKS5jcmVhdGVFbGVtZW50KEopfSxBKS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihJKXtyZXR1cm4gdGhpcy5rTy5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoSSkpfSxBLmFwcGVuZENoaWxkPWZ1bmN0aW9uKEksSil7SS5hcHBlbmRDaGlsZChKKX0sQSkuYXBwZW5kPWZ1bmN0aW9uKEksSil7RSg1NixmYWxzZSwwLCJvYmplY3QiLCIiLEksYXJndW1lbnRzLEkubm9kZVR5cGU9PTk\/STpJLm93bmVyRG9jdW1lbnR8fEkuZG9jdW1lbnQpfSxBLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihJLEope3tKPTI5O3doaWxlKEohPTMwKWlmKEo9PTI5KUo9SS5ub2RlVHlwZSE9MT84Nzo0NDtlbHNle2lmKEo9PTQ0KXtzd2l0Y2goSS50YWdOYW1lKXtjYXNlICJBUFBMRVQiOmNhc2UgIkFSRUEiOmNhc2UgIkJBU0UiOmNhc2UgIkJSIjpjYXNlICJDT0wiOmNhc2UgIkNPTU1BTkQiOmNhc2UgIkVNQkVEIjpjYXNlICJGUkFNRSI6Y2FzZSAiSFIiOmNhc2UgIklNRyI6Y2FzZSAiSU5QVVQiOmNhc2UgIklGUkFNRSI6Y2FzZSAiSVNJTkRFWCI6Y2FzZSAiS0VZR0VOIjpjYXNlICJMSU5LIjpjYXNlICJOT0ZSQU1FUyI6Y2FzZSAiTk9TQ1JJUFQiOmNhc2UgIk1FVEEiOmNhc2UgIk9CSkVDVCI6Y2FzZSAiUEFSQU0iOmNhc2UgIlNDUklQVCI6Y2FzZSAiU09VUkNFIjpjYXNlICJTVFlMRSI6Y2FzZSAiVFJBQ0siOmNhc2UgIldCUiI6cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfWlmKEo9PTg3KXJldHVybiBmYWxzZX19fSxBLnJlbW92ZU5vZGU9VVosQS5jb250YWlucz1mdW5jdGlvbihJLEosVSxkKXt7ZD0xNDt3aGlsZShkIT0zMClpZihkPT0yNilkPTE7ZWxzZXtpZihkPT02MClyZXR1cm4gST09Snx8ISEoVT1JLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKEopLC0xLX4oVXwxNiktKFVeMTYpKTtpZihkPT03MylkPXR5cGVvZiBJLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIT0idW5kZWZpbmVkIj82MDoyNjtlbHNlIGlmKGQ9PTU0KWQ9SS5jb250YWlucyYmSi5ub2RlVHlwZT09MT85Mzo3MztlbHNlIGlmKGQ9PTE0KWQ9SSYmSj81NDo3NztlbHNlIGlmKGQ9PTIyKUo9Si5wYXJlbnROb2RlLGQ9Mzc7ZWxzZXtpZihkPT00MSlyZXR1cm4gSj09STtpZihkPT0zNylkPTE7ZWxzZXtpZihkPT03NylyZXR1cm4gZmFsc2U7aWYoZD09OTMpcmV0dXJuIEk9PUp8fEkuY29udGFpbnMoSik7ZD09MSYmKGQ9SiYmSSE9Sj8yMjo0MSl9fX19fSxzWCkoMjIsdUspLHVLLnByb3RvdHlwZS5mZz0iIix1Sy5wcm90b3R5cGUpLnJmPTAsUVUpKSxBPW5aLnByb3RvdHlwZSxBKS5MZz11Sy56WigpLEEpLkE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5SfSxBLmdldFBhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLlVrfSxBLnU9ZnVuY3Rpb24oSSl7Zm9yKEk9MjU7SSE9MTU7KUk9PTIwP0k9dGhpcy5vcz85Mjo5MTpJPT0yNT8odGhpcy5uUyYmdGhpcy5QTygpLEk9MjApOkk9PTkxPyhiKDQ5LHRoaXMsZnVuY3Rpb24oSil7Si5kaXNwb3NlKCl9KSwhdGhpcy50ZiYmdGhpcy5SJiZVWih0aGlzLlIpLHRoaXMuUj10aGlzLllPPXRoaXMuZ3I9dGhpcy5Vaz1udWxsLG5aLlUudS5jYWxsKHRoaXMpLEk9MTUpOkk9PTkyJiYodGhpcy5vcy5kaXNwb3NlKCksZGVsZXRlIHRoaXMub3MsST05MSl9LEEpLlBPPWZ1bmN0aW9uKCl7KGIoMzUsdGhpcyxmdW5jdGlvbihJKXtJLm5TJiZJLlBPKCl9KSx0aGlzLm9zKSYmYigzNCx0cnVlLDAsdGhpcy5vcyksdGhpcy5uUz1mYWxzZX0sQS5LUz1mdW5jdGlvbihJLEope3tKPTQxO3doaWxlKEohPTIxKWlmKEo9PTQxKUo9dGhpcy5VayYmdGhpcy5VayE9ST85Mjo4MTtlbHNlIGlmKEo9PTgxKW5aLlUuS1MuY2FsbCh0aGlzLEkpLEo9MjE7ZWxzZSBpZihKPT05Mil0aHJvdyBFcnJvcigiTWV0aG9kIG5vdCBzdXBwb3J0ZWQiKTt9fSxBKS5yZW1vdmVDaGlsZD1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyxsLEYsVyxtKXtmb3IobT01O20hPTIyOylpZihtPT05NClXPW51bGwsbT00NjtlbHNlIGlmKG09PTM0KUY9VSxtPTE2O2Vsc2UgaWYobT09NzcpUD10aGlzLmdyLEYgaW4gUCYmZGVsZXRlIFBbRl0sRSg5MCwxLHRoaXMuWU8sSSksbT05NjtlbHNlIGlmKG09PTQ2KUk9VyxtPTc4O2Vsc2UgaWYobT09NjYpVT16LG09MzQ7ZWxzZSBpZihtPT03OCltPUYmJkk\/Nzc6ODk7ZWxzZSBpZihtPT03MylkPXRoaXMuZ3IsVz0oZCE9PW51bGwmJkYgaW4gZD9kW0ZdOnZvaWQgMCl8fG51bGwsbT00NjtlbHNlIGlmKG09PTEwKU8uVWs9bnVsbCxuWi5VLktTLmNhbGwoTyxudWxsKSxtPTg5O2Vsc2UgaWYobT09MjkpVT1JLG09MzQ7ZWxzZSBpZihtPT05NyltPSh6PUkuZGYpPzY2OjkwO2Vsc2UgaWYobT09OTApbD1JLGc9SS5MZyxEPWcuZmcrIjoiKyhnLnJmKyspLnRvU3RyaW5nKDM2KSx6PWwuZGY9RCxtPTY2O2Vsc2V7aWYobT09NzApdGhyb3cgRXJyb3IoIlVuYWJsZSB0byBzZXQgcGFyZW50IGNvbXBvbmVudCIpO2lmKG09PTgyKW09Tz09bnVsbD83MDoxMDtlbHNlIGlmKG09PTUpbT1JPzEyOjg5O2Vsc2V7aWYobT09MjgpcmV0dXJuIEk7aWYobT09MTIpbT10eXBlb2YgST09PSJzdHJpbmciPzI5Ojk3O2Vsc2UgaWYobT09OTYpbT1KPzU3OjE0O2Vsc2UgaWYobT09ODkpbT1JPzI4OjI7ZWxzZSBpZihtPT0xNiltPXRoaXMuZ3ImJkY\/NzM6OTQ7ZWxzZSBpZihtPT01NylJLlBPKCksSS5SJiZVWihJLlIpLG09MTQ7ZWxzZSBpZihtPT0xNClPPUksbT04MjtlbHNlIGlmKG09PTIpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7fX19O3ZhciBKbSxGcD17YnV0dG9uOiJwcmVzc2VkIixjaGVja2JveDoiY2hlY2tlZCIsbWVudWl0ZW06InNlbGVjdGVkIixtZW51aXRlbWNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbXJhZGlvOiJjaGVja2VkIixyYWRpbzooc1goMTQsb3opLCJjaGVja2VkIiksdGFiOiJzZWxlY3RlZCIsdHJlZWl0ZW06InNlbGVjdGVkIn07KCgoKEE9b3oucHJvdG90eXBlLEEuVVg9ZnVuY3Rpb24oKXtyZXR1cm4iZ29vZy1jb250cm9sIn0sQSkuTD1mdW5jdGlvbihJLEosVSxkLHosRCxPKXtmb3IoTz00O08hPTk1OylPPT01ND8oKGQ9dGhpcy5pcltJXSkmJnRoaXMuV08oZCxKLFUpLHRoaXMuZW8oRCxJLFUpLE89OTUpOk89PTQ\/KEQ9Si5BKCksTz0zNSk6Tz09MjY\/KHo9dGhpcy5VWCgpLHoucmVwbGFjZSgvXFx4YTB8XFxzL2csIiAiKSx0aGlzLmlyPXsxOnorIi1kaXNhYmxlZCIsMjp6KyItaG92ZXIiLDQ6eisiLWFjdGl2ZSIsODp6KyItc2VsZWN0ZWQiLDE2OnorIi1jaGVja2VkIiwzMjp6KyItZm9jdXNlZCIsNjQ6eisiLW9wZW4ifSxPPTU0KTpPPT0zNT9PPUQ\/Nzc6OTU6Tz09NzcmJihPPXRoaXMuaXI\/NTQ6MjYpfSxBKS5lbz1mdW5jdGlvbihJLEosVSxkLHosRCxPLFApe3doaWxlKDkpaWYoIVt1bmRlZmluZWRdPT0oSm18fChKbT17MToiZGlzYWJsZWQiLDg6InNlbGVjdGVkIiwxNjoiY2hlY2tlZCIsNjQ6ImV4cGFuZGVkIn0pLDApKWJyZWFrOyhEPSgoej1KbVtKXSxkPUkuZ2V0QXR0cmlidXRlKCJyb2xlIil8fG51bGwpPyhPPUZwW2RdfHx6LFA9ej09ImNoZWNrZWQifHx6PT0ic2VsZWN0ZWQiP086eik6UD16LFApKSYmbig5LCIgIiwibm9uZSIsSSxELFUpfSxBLldPPWZ1bmN0aW9uKEksSixVLGQpeyhkPUouQT9KLkEoKTpKKSYmKFU\/YXo6WkMpKGQsW0ldKX0sQSkuRFI9ZnVuY3Rpb24oSSl7cmV0dXJuIEkuQSgpfSxBKS5Scz1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyl7Zz02OTt7Tz00Nzt3aGlsZSghW109PTApdHJ5e2lmKGc9PTE2KWJyZWFrO2Vsc2UgZz09NTA\/Zz1KPzM5OjM0Omc9PTcwP2c9RCE9Sj82NToxNjpnPT02OT9nPUkudk8mMzImJihkPUkuRFIoKSk\/MTM6MTY6Zz09ODQ\/Zz1JLkomMzI\/MzI6Mjk6Zz09NjU\/KFU9ZCxnPTUwKTpnPT0zOT8oVS50YWJJbmRleD0wLGc9MTYpOmc9PTkwPyhPPTQ3LGc9MTUpOmc9PTg4Pyh6PWQudGFiSW5kZXgsRD10eXBlb2Ygej09PSJudW1iZXIiJiZ6Pj0wJiZ6PDMyNzY4LGc9NzApOmc9PTMxPyhPPTgxLGQuYmx1cigpLGc9MTUpOmc9PTI5P2c9KEQ9ZC5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzg4OjcwOmc9PTM0PyhVLnRhYkluZGV4PS0xLFUucmVtb3ZlQXR0cmlidXRlKCJ0YWJJbmRleCIpLGc9MTYpOmc9PTE1PyhPPTQ3LGc9ODQpOmc9PTMyPyhJLmhjJjQmJkkudk8mNCYmSS5zZXRBY3RpdmUoZmFsc2UpLEkuaGMmMzImJkkudk8mMzImJlRNKDI2LDEsSSwzMixmYWxzZSkmJkkuTChmYWxzZSwzMiksZz0yOSk6Zz09MTMmJihnPSFKJiZJLkomMzI\/MzE6MjkpfWNhdGNoKGwpe2lmKE89PTQ3KXRocm93IGw7Tz09ODEmJihQPWwsZz05MCl9fX07d2hpbGUoMD09KE5hTj09PU51bWJlcih1bmRlZmluZWQpKSlpZihFKDUsMixpSyxveiksImwiKWJyZWFrO3ZhciBZVj0oKHNYKDE1LGlLKSxpSy5wcm90b3R5cGUuVVg9ZnVuY3Rpb24oKXtyZXR1cm4iZ29vZy1idXR0b24ifSxpSy5wcm90b3R5cGUpLmVvPWZ1bmN0aW9uKEksSixVKXtzd2l0Y2goSil7Y2FzZSA4OmNhc2UgMTY6big4LCIgIiwibm9uZSIsSSwicHJlc3NlZCIsVSk7YnJlYWs7ZGVmYXVsdDpjYXNlIDY0OmNhc2UgMTppSy5VLmVvLmNhbGwodGhpcyxJLEosVSl9fSx7fSk7KCgoQT0oRSg4LDIsZzEsblopLGcxLnByb3RvdHlwZSksQSkuSj0wLEEpLnZPPTM5LEEuZTc9dHJ1ZSxBLk9YPTAsQS5XTz1mdW5jdGlvbihJLEosVSl7e1U9NTQ7d2hpbGUoVSE9ODUpVT09OTQ\/KHRoaXMuZz9lKEosMSx0aGlzLmcsMTUpPj0wfHx0aGlzLmcucHVzaChKKTp0aGlzLmc9W0pdLHRoaXMubC5XTyhKLHRoaXMsdHJ1ZSksVT04NSk6VT09NTk\/VT10aGlzLmcubGVuZ3RoPT0wPzk1OjEzOlU9PTY5P1U9SiYmdGhpcy5nJiZFKDg5LDEsdGhpcy5nLEopPzU5Ojg1OlU9PTk3P1U9Sj85NDo4NTpVPT0xMz8odGhpcy5sLldPKEosdGhpcyxmYWxzZSksVT04NSk6VT09OTU\/KHRoaXMuZz1udWxsLFU9MTMpOlU9PTU0JiYoVT1JPzk3OjY5KX19LEEuZz1udWxsLEEudT1mdW5jdGlvbihJKXt7ST0yNzt3aGlsZShJIT0xOSlJPT01MT9JPXRoaXMuTFM\/OTc6NzI6ST09Mjc\/KGcxLlUudS5jYWxsKHRoaXMpLEk9NTEpOkk9PTk3Pyh0aGlzLkxTLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy5MUyxJPTcyKTpJPT03MiYmKGRlbGV0ZSB0aGlzLmwsdGhpcy5nPW51bGwsST0xOSl9fSxBLkRSPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubC5EUih0aGlzKX0sQS5QTz1mdW5jdGlvbigpeygoZzEuVS5QTy5jYWxsKHRoaXMpLHRoaXMuTFMpJiZ0aGlzLkxTLmRldGFjaCgpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkpJiZ0aGlzLmwuUnModGhpcyxmYWxzZSl9LEEuaGM9MjU1LEEpLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmU3fTt3aGlsZSgiViIpaWYoKEEuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISh0aGlzLkomMSl9LCFbXSk9PTApYnJlYWs7aWYoKEEuZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5KfSxBKS5zZXRBY3RpdmU9KEEuTD1mdW5jdGlvbihJLEosVSxkLHosRCxPKXt7Tz01O3doaWxlKE8hPTQ1KU89PTcxP089dGhpcy52TyZKJiZJIT0hISh0aGlzLkomSik\/Mjg6NDU6Tz09NTg\/Tz1kPzEwOjkzOk89PTEwPyh0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLmwuUnModGhpcyxkKSx0aGlzLkwoIWQsMSx0cnVlKSxPPTQ1KTpPPT01P089VXx8SiE9MT83MTo2MzpPPT03MD9PPXomJnR5cGVvZiB6LmlzRW5hYmxlZD09ImZ1bmN0aW9uIiYmIXouaXNFbmFibGVkKCl8fCFUTSgyNSwxLHRoaXMsMSwhZCk\/NDU6NTg6Tz09NjM\/KGQ9IUksej10aGlzLmdldFBhcmVudCgpLE89NzApOk89PTkzPyh0aGlzLnNldEFjdGl2ZShmYWxzZSksVE0oMjQsMSx0aGlzLDIsZmFsc2UpJiZ0aGlzLkwoZmFsc2UsMiksTz0xMCk6Tz09MjgmJih0aGlzLmwuTChKLHRoaXMsSSksdGhpcy5KPUk\/KEQ9dGhpcy5KLC0xLX5EKyh+RCZKKSk6dGhpcy5KJn5KLE89NDUpfX0sQS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhKHRoaXMuSiY0KX0sZnVuY3Rpb24oSSl7VE0oMjgsMSx0aGlzLDQsSSkmJnRoaXMuTChJLDQpfSksdHlwZW9mIGcxIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitnMSk7Zm9yKHRydWU7dHlwZW9mIG96IT09ImZ1bmN0aW9uIjt0cnVlKXt0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK296KTtpZihbXSE9KCFbdW5kZWZpbmVkXT09TnVtYmVyKCkpKWJyZWFrfXZhciBERD1UTSgzMyxnMSk7aWYoVE0oOCwoWVZbRERdPW96LCJnb29nLWNvbnRyb2wiKSxmdW5jdGlvbigpe3JldHVybiBuZXcgZzEobnVsbCl9KSx0cnVlKUUoOCwyLFc1LGlLKTt2YXIgbUw9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOiEoVE0oKChFKDksMiwoKHNYKDIzLFc1KSxXNS5wcm90b3R5cGUuUnM9ZnVuY3Rpb24oKXt9LFc1LnByb3RvdHlwZSkuTD1mdW5jdGlvbihJLEosVSxkLHope3t6PTcyO3doaWxlKHohPTYpej09NDU\/ej1kJiZJPT0xPzQwOjY6ej09NzI\/KFc1LlUuTC5jYWxsKHRoaXMsSSxKLFUpLGQ9Si5BKCksej00NSk6ej09NDAmJihkLmRpc2FibGVkPVUsej02KX19LFc1LnByb3RvdHlwZS5lbz1mdW5jdGlvbigpe30sRU4pLGcxKSxFTikucHJvdG90eXBlLnU9ZnVuY3Rpb24oKXtkZWxldGUgKGRlbGV0ZSAoRU4uVS51LmNhbGwodGhpcyksdGhpcykuaGYsdGhpcykuc1h9LDcpLCJnb29nLWJ1dHRvbiIsZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEVOKG51bGwpfSksMCl9LGpCPXIucmVxdWVzdElkbGVDYWxsYmFjaz9mdW5jdGlvbihJKXtyZXF1ZXN0SWRsZUNhbGxiYWNrKGZ1bmN0aW9uKCl7SSgpfSx7dGltZW91dDo0fSl9OnIuc2V0SW1tZWRpYXRlP2Z1bmN0aW9uKEkpe3NldEltbWVkaWF0ZShJKX06ZnVuY3Rpb24oSSl7c2V0VGltZW91dChJLDApfSxsSyxlcj1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNSwxMTAsMTE2LDEwMSwxMDMsNjcsMTA0LDEwMSw5OSwxMDcsNjYsMTIxLDExMiw5NywxMTUsMTE1KSx4UD0oKGsucHJvdG90eXBlLlplPXZvaWQgMCxrKS5wcm90b3R5cGUucWQ9ZmFsc2UsW10pLEFlPVtdLEgwPVtdLFVYPVtdLFNyPShrLnByb3RvdHlwZS5CMz12b2lkIDAsW10pLEpDPVtdLGM1PXt9LFJGPVtdLEZMPShrLnByb3RvdHlwZS5RYT0idG9TdHJpbmciLFtdKSxvRj0oKE5VLFlQLEltLEI1LEtGLGZ1bmN0aW9uKCl7fSkoSDUpLHZvaWQgMCk7KCgoQT1rLnByb3RvdHlwZSxrKS5wcm90b3R5cGUuRj0iY3JlYXRlIixBLlI1PTAsQS5uZz1mdW5jdGlvbigpe3JldHVybiBmLmNhbGwodGhpcywxMSl9LEEpLllKPWZ1bmN0aW9uKCl7cmV0dXJuIG4uY2FsbCh0aGlzLDMpfSxBKS5Wej1mdW5jdGlvbihJLEosVSxkLHosRCxPLFAsZyl7cmV0dXJuIFcwLmNhbGwodGhpcyxKLEksNzMsVSxkLHosRCxPLFAsZyl9LEEueXo9ZnVuY3Rpb24oSSxKLFUsZCx6LEQpe3JldHVybiBUTS5jYWxsKHRoaXMsMyxJLEosVSxkLHosRCl9O3doaWxlKGZhbHNlPT0hW10hPSFbXSlpZihBLkJPPWZ1bmN0aW9uKEksSixVLGQseixEKXtyZXR1cm4gT1guY2FsbCh0aGlzLDQ5LEQseixKLFUsSSxkLDE2KX0sdHJ1ZSlicmVhazt2YXIgQjA9KEEuUz0oKEEucGc9ZnVuY3Rpb24oSSxKLFUsZCx6LEQsTyxQKXtyZXR1cm4gYUYuY2FsbCh0aGlzLHosSiw1LEQsTyxJLFUsZCxQKX0sd2luZG93LnBlcmZvcm1hbmNlKXx8e30pLm5vdz9mdW5jdGlvbigpe3JldHVybiB0aGlzLkZMK3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9LGM1KS5jb25zdHJ1Y3RvcjsoKEE9ay5wcm90b3R5cGUsQSkuSz1mdW5jdGlvbihJLEope3JldHVybiBKPXt9LG9GPShJPXt9LGZ1bmN0aW9uKCl7cmV0dXJuIEk9PUo\/LTE4OjQyfSksZnVuY3Rpb24oVSxkLHosRCxPLFAsZyxsLEYsVyxtLHAscSxDLGMsVCxZLE0seSxWLEcsUSxMLGJrLHJNLERmLFosQixYLHEwLGRNLGZaLE4scjEsVmIsemEsJFYsbVgsSyxrVil7Zm9yKE49KEs9NzEsJFY9dW5kZWZpbmVkLDE1KSxtWD1mYWxzZTs7KXRyeXtpZihLPT05NilicmVhaztlbHNlIGlmKEs9PTY5KXtpZihQPShjPVIoMTk1LHRoaXMpLHR5cGVvZiBTeW1ib2wpIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZjW1N5bWJvbC5pdGVyYXRvcl0pZz1QLmNhbGwoYyk7ZWxzZSBpZih0eXBlb2YgYy5sZW5ndGg9PSJudW1iZXIiKWc9e25leHQ6UDUoOTgsNywxNiwwLGMpfTtlbHNlIHRocm93IEVycm9yKFN0cmluZyhjKSsiIGlzIG5vdCBhbiBpdGVyYWJsZSBvciBBcnJheUxpa2UiKTtLPSh5PWcsRGY9eS5uZXh0KCksMTUpfWVsc2UgaWYoSz09MjYpdGhpcy5Tbz1PLHRoaXMuRD10aGlzLlNvLmxlbmd0aDw8Myx3KHRoaXMsMjk5LFswLDAsMF0pLEs9NTM7ZWxzZSBpZihLPT01MClOPTMsTT1TKHRoaXMsMTU1KSxNLmxlbmd0aD4wJiZ0ZSh0aGlzLDQwMCwzNDQsaChNLmxlbmd0aCwyKS5jb25jYXQoTSksNDgpLGZGKHRoaXMsaCh0aGlzLmgrMT4+MSwxKSwzNDQsODcpLHRlKHRoaXMsNDAwLDM0NCxoKHRoaXNbSkNdLmxlbmd0aCwxKSksQj10aGlzLndyP1IoMTE4LHRoaXMpOlIoMTg4LHRoaXMpLEIubGVuZ3RoPjAmJnRlKHRoaXMsNDAwLDExLGgoQi5sZW5ndGgsMikuY29uY2F0KEIpLDY0KSxkPXUodGhpcywxMSksZC5sZW5ndGg+NCYmZkYodGhpcyxoKGQubGVuZ3RoLDIpLmNvbmNhdChkKSwzNDQsNjUpLFc9MCxsPXUodGhpcywyMzYpLFctPShSKDM0NCx0aGlzKS5sZW5ndGh8MCkrNSxXKz1SKDMyNyx0aGlzKSYyMDQ3LGwubGVuZ3RoPjQmJihXLT0oYms9bC5sZW5ndGgsKGJrfDMpLX4oYmsmMyktMSkpLFc+MCYmZkYodGhpcyxoKFcsMikuY29uY2F0KFlQKFcpKSwzNDQsNTMpLEs9MTk7ZWxzZSBpZihLPT0zNilLPVk8Wi5sZW5ndGg\/NDg6NDc7ZWxzZSBpZihLPT0xNilHRigwLFVbMV0sdGhpcywxMDQsVVsyXSksSz00MDtlbHNlIGlmKEs9PTYwKVk9MCxGPSIiLEs9NTtlbHNlIGlmKEs9PTMwKU49MzkscTAoKSxLPTgxO2Vsc2V7aWYoSz09NjQpcmV0dXJuIGtWO2lmKEs9PTcxKUM9SSxJPUosSz01MTtlbHNlIGlmKEs9PTApSz0kViE9PXVuZGVmaW5lZD80MDo4O2Vsc2UgaWYoSz09ODEpRGY9eS5uZXh0KCksSz05O2Vsc2UgaWYoSz09OTIpdGUodGhpcyw0MDAsMzQ0LGgobC5sZW5ndGgsMikuY29uY2F0KGwpLDE2NiksSz02O2Vsc2UgaWYoSz09ODUpbD1sLnNsaWNlKDAsMUU2KSx0ZSh0aGlzLDQwMCwzNDQsW10sMTk3KSxmRih0aGlzLFtdLDM0NCwzNiksSz05MjtlbHNlIGlmKEs9PTY2KUs9ZE09PXhQPzY5OjQwO2Vsc2UgaWYoSz09MjkpT1tWKytdPS0yNTUrKEx8MjU1KS0gLTI1NisofkxeMjU1KSxMPj49OCxLPTU4O2Vsc2UgaWYoSz09NzQpSz1sLmxlbmd0aD4xRTY\/ODU6OTI7ZWxzZSBpZihLPT01KUs9MzY7ZWxzZSBpZihLPT0zOSlLPWRNPT1VWD8yODozNTtlbHNlIGlmKEs9PTIyKWtWPUdGKDAsVVsxXSx0aGlzLDEwNCw4MDAxKSwkVj0yNSxLPTQwO2Vsc2UgaWYoSz09NTEpTj0xMSxkTT1VWzBdLEs9ODg7ZWxzZSBpZihLPT0xNClMPXouY2hhckNvZGVBdChHKSxLPTc7ZWxzZXtpZihLPT0yNSlyZXR1cm4ga1Y7aWYoSz09OTkpTj0xMSx5YihyMSwyLDE3LHRoaXMpLCRWPTk2LEs9NDA7ZWxzZSBpZihLPT01NSlGPSIqIitGLEs9NDc7ZWxzZSBpZihLPT00MyljLmxlbmd0aD0wLEs9NDA7ZWxzZSBpZihLPT0xNylLPWRNPT1SRj8xNjo4MztlbHNlIGlmKEs9PTkpSz1EZi5kb25lPzQzOjkzO2Vsc2UgaWYoSz09MjgpVVsxXS5wdXNoKFModGhpcywzNDQpLmxlbmd0aCxSKDExOCx0aGlzKS5sZW5ndGgsdSh0aGlzLDE4OCkubGVuZ3RoLFModGhpcywxMDMpWzBdLHUodGhpcyw0MDApLmxlbmd0aCxSKDMwNSx0aGlzKS5sZW5ndGgsUigxMSx0aGlzKS5sZW5ndGgsdSh0aGlzLDIzNikubGVuZ3RoKSx0KDI1Nyx0aGlzLFVbMl0pLHRoaXMuaVsyNzNdJiZHRigwLFIoMjczLHRoaXMpLHRoaXMsMTA0LDgwMDEpLEs9NDA7ZWxzZSBpZihLPT04OClLPWRNPT1Tcj80NjozOTtlbHNlIGlmKEs9PTMpTj0xMSxLPTgxO2Vsc2UgaWYoSz09ODMpSz1kTT09Rkw\/MjI6NjY7ZWxzZSBpZihLPT00NClLPUY\/NTU6NjA7ZWxzZSBpZihLPT01OClPW1YrK109TCxLPTMzO2Vsc2UgaWYoSz09MzMpRysrLEs9MjtlbHNlIGlmKEs9PTkzKXEwPURmLnZhbHVlLEs9MzA7ZWxzZSBpZihLPT03KUs9TD4yNTU\/Mjk6NTg7ZWxzZSBpZihLPT0zNSlLPWRNPT1KQz84MjoxNztlbHNlIGlmKEs9PTYpTj0xMSx0aGlzLlA9ck0sSz0wO2Vsc2UgaWYoSz09MjEpTj02OSx6PWF0b2IoZlopLFY9MCxPPVtdLEc9MCxLPTczO2Vsc2UgaWYoSz09ODIpbT1VWzJdLHA9aCgoWD11KHRoaXMsMzQ0KS5sZW5ndGgsKFgmMiktMS1+KFh8MikpLDIpLHJNPXRoaXMuUCx0aGlzLlA9dGhpcyxLPTUwO2Vsc2UgaWYoSz09NzMpSz0yO2Vsc2UgaWYoSz09MilLPUc8ei5sZW5ndGg\/MTQ6MjY7ZWxzZSBpZihLPT04KU49MTEsWj1ZUCgyKS5jb25jYXQoUyh0aGlzLDM0NCkpLFpbMV09WlswXV42MCxaWzNdPShRPVpbMV0sRD1wWzBdLH4oUSZEKS1+USsoflEmRCkpLFpbNF09WlsxXV5wWzFdLEY9dGhpcy5nZihaKSxLPTQ0O2Vsc2UgaWYoSz09NTIpJFYhPT11bmRlZmluZWQ\/KEs9JFYsJFY9dW5kZWZpbmVkKTpLPTk2O2Vsc2UgaWYoSz09MjMpWSsrLEs9MzY7ZWxzZSBpZihLPT01MylOPTExLGhlKDIsODAwMSxmYWxzZSx0aGlzKSxLPTQwO2Vsc2UgaWYoSz09NDgpcT1aW1ldW3RoaXMuUWFdKDE2KSxxLmxlbmd0aD09MSYmKHE9IjAiK3EpLEYrPXEsSz0yMztlbHNlIGlmKEs9PTE5KUs9bC5sZW5ndGg+ND83NDo2O2Vsc2UgaWYoSz09MTUpSz05O2Vsc2UgaWYoSz09NDYpZlo9VVsxXSxLPTIxO2Vsc2UgaWYoSz09NDApTj0xNSxJPUMsSz01MjtlbHNlIGlmKEs9PTQ3KVQ9Rix1KHRoaXMsMzQ0KS5sZW5ndGg9bS5zaGlmdCgpLFModGhpcywxMTgpLmxlbmd0aD1tLnNoaWZ0KCksUigxODgsdGhpcykubGVuZ3RoPW0uc2hpZnQoKSxSKDEwMyx0aGlzKVswXT1tLnNoaWZ0KCksUyh0aGlzLDQwMCkubGVuZ3RoPW0uc2hpZnQoKSx1KHRoaXMsMzA1KS5sZW5ndGg9bS5zaGlmdCgpLFIoMTEsdGhpcykubGVuZ3RoPW0uc2hpZnQoKSxTKHRoaXMsMjM2KS5sZW5ndGg9bS5zaGlmdCgpLGtWPVQsJFY9NjQsSz00MDtlbHNlIGlmKEs9PTg2KXRocm93IFZiO319fWNhdGNoKGhDKXtpZihOPT0oVmI9aEMsMTUpKXRocm93IGhDO049PTY5PyhyMT1oQyxLPTk5KTpOPT0zPygkVj04NixLPTYpOk49PTExPygkVj04NixLPTQwKTpOPT0zOSYmKHphPWhDLEs9Myl9fX0oKSxBKS5tSD1mdW5jdGlvbigpe3JldHVybiBsay5jYWxsKHRoaXMsImNsYXNzIiwxMCl9LEEuRGU9MCxBLmdmPWZ1bmN0aW9uKEksSixVLGQseil7cmV0dXJuIFZVLmNhbGwodGhpcyw4MCxVLGQsSSxKLHosNil9O3ZhciBYdCxRYj0vLi8sJHg9U3IucG9wLmJpbmQoay5wcm90b3R5cGVbQS53Zj0oKGsucHJvdG90eXBlW0FlXT1bMCwwLDEsMSwwLDEsMV0sQSkuYk09ZnVuY3Rpb24oKXtyZXR1cm4gUDUuY2FsbCh0aGlzLDk4LDcsMjYpfSwwKSxVWF0pLGRDPWZ1bmN0aW9uKEksSil7cmV0dXJuKEo9ZSgiZXJyb3IiLCJrcyIsbnVsbCw1KSkmJkkuZXZhbChKLmNyZWF0ZVNjcmlwdCgiMSIpKT09PTE\/ZnVuY3Rpb24oVSl7cmV0dXJuIEouY3JlYXRlU2NyaXB0KFUpfTpmdW5jdGlvbihVKXtyZXR1cm4iIitVfX0oKFh0PShRYltrLnByb3RvdHlwZS5RYV09JHgsQUMoMTcse2dldDokeH0say5wcm90b3R5cGUuRikpLGsucHJvdG90eXBlLkVYPXZvaWQgMCxyKSk7KGxLPXIua25pdHNhaWx8fChyLmtuaXRzYWlsPXt9KSxsSykubT40MHx8KGxLLm09NDEsbEsua3M9bkYsbEsuYT13TSksbEsudGJjXz1mdW5jdGlvbihJLEosVSxkLHosRCxPLFApe3JldHVybltmdW5jdGlvbihnKXtyZXR1cm4gdEMoNyxnLGZhbHNlLFApfSwoUD1uZXcgayh6LEosRCxJLE8sZCksZnVuY3Rpb24oZyl7UC5iTShnKX0pXX07fSkuY2FsbCh0aGlzKTsnXS5qb2luKCdcbicpKSk7fSkuY2FsbCh0aGlzKTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSIwNjJaeXB0cXRmOFM3UXppOExmN3N3Ij4oZnVuY3Rpb24oKXt2YXIgcj0nMSc7dmFyIGNlPTMwO3ZhciBzY3RtPWZhbHNlO3ZhciBwPSd0YmNNRFhtTFE1M1QyNDVka0F6cy9HSFJuMGNSK0tscElhQkpKUlVTUzlFUitYWS9TSnArNGVpdVVZS21VWlNVNlZFVDZqR0pLdThaUUhkaVFVNnpqcTJRUEgrdlByUUhjM0JLdnd5cG51RUFFYXNYTTdRZ1poRHNGM2dZT3I5Vm9YZElWNW9vRVlVYjJubWZFcE94QjRaWGx5bkdTODN2MWg4Njg5WTRncjhydUdTUGxBVVhNUytMMDlmWEJ0Zjgyc0dIVTR4SHB1R2ZkNUIycy9pa3dHWHF1TG1mNDRJWWFhYWhtdSs4SkdMUzRzNXJySnlXcUF4WUl2WVM4b3hOUVM0L00xR2hlMHFxTjJBMG1SeWkrK3JPN2dRYmkvWXloMFVOVStMZWJMbFppc3ZJSFNEdStUOEsxZExSY2pES2hraGtubTZ1UEhmRTFkT1o3VnJMS2pPKzJieVFiSVdJN3dUQlhzK2RZdm5VMm1makNLeGFHbDNXZGdydjFiYTVUcW04TjNnbjRPWjJpTjFHVU5CSHpyckJaT2ZiSmFacit3b25wanVKbEIvSDV5eExneldrVE5jNzRKcXhSRStIelI4RnpweUZaZ1gxenFjOCsxOUVvdFN2RVBCZFNIWi9IeHJka3h6TlMwclJIamtEcnhIT2hmRzEvZ3ZSYlBnZDA3aU5qaXE5UEEvMytRWG9ERThPa3J1NTNwSzdkcFg3SDFodW5VODFLZ1duQ2lndmhHVGQ0Y3B6K2lCbDFnUzNDYUFjOEZMN204MEJXM3J4NVRFa0hXb3BTM2xCaVFDOTNqeHIxajV1cjdCU1ZodXQ0UnNkaS8xUlJBU0psenBydFh1U29udk05SUp1eDJIbllBRWJBYmFvSXh5b0lRRi9iZ3oxbkM3TE4rbjFJaHExZXk0cVJETGl0a0hmdXdFcFRzVHJNODY3cDlIWEdNL3c1ZTIwdE5KR2lBM0Y3QXkvMXNEbHhNMURyRzVnRHFKaWZ1dHZOajZma2RSRDdWSWdCdEhFL2ROSkE3M3pUZFhwKzZyMnZ0M1RJcUVWTTMyWDF4MStrOCtCZFR6dFVLUTcxdTlGTm5PdzVrVndiWm9KaTJIdlJ4aFVacjJPUW1iYUwwNmNUZUxvWnNVRjBoRVhUcys0aGhDNmxzTW9iSTNxNlZUZWE4bkFvMjNXTmZtaVI3RXc3TVJXeVdXdGduU2hvcGhwaFZ1RVJuU0tRM0NVUnZXZGd1WmpJNUFybmZqNWIrQ0pNa3pGOEFhR0pCMGNOTEJKekcwMERwd1E5Y2VER3FpelB1aE9ZRXg2RzZjS0ptb0tXckRBcVVXdllGYXBqMWNoZHJsT3VLdXBVeUIxRjVCakZXbVRqY3FGYVArci9TblZlWG1wSkZQb2VvNVBLZldtTjFOdi8wclJxWnJmeTZVYjhvNEoyZnVpSlNGV3V0TVZOMEtnL1RqSEdabkIxMytGZFpjMkd4YU9SYTNvVklSRldLLzQyQzBpaXBKSGRLZy9odzQrT2E2YkFjZ2xwUlgySnpHT0tLcVpnM3JsRE1maTFJMWd5R2xSTnQrTVRUVS9TUnF2TVRBakx2dUxmUE1ucTUrUENqeVJUa1hubE0xeU5hejU4L0c1SHZ4cG9SbGErZDJPSDB1Y1QxWEdkcW8rWXo3aU4wVHUwS2ttRUR4a0U2RFQ3R1R1bE5RYzNFcnFocmRnOStpVDFZSEpDREFjSncydmRKRjllNGRPZ1RxQ1FLWGJkNytmQkZzeHdraEJiNVQzbjhHZkx2dVZHSkJoTHFZVnZrVzNhNGtlTmtqbVZNL2lxV1hJM284WkNnWXE2Q2dXT3U0THhTWGVkWEdHM0doSjhqK3V3MHpFRVh1ME1hZ0g0UlZ4L3F0akxiaEFOdzhqL0NLWTNxL2F3ZkIvWDhvZTRFTHFncTBaRTZEMnZ3QkU0KzlzS3hVTEs2UVZkVDhKY1dNT0RydFkwM2MwRFkzOXlKMkk4eHhSZjV0OVRKd3ZNY1p1cUg4RlJNQ1JWZFNrN1Y2elAwWVd0QUVFemtFWGg1aFMvaE52cWQzdkFiNHYvMDVPckJDd2ZpSzdsUmN5K2JzNWhSR096cmdNbzN5cS85N0VqcGZXdHI3Vkw5N2VoN1VpdHBTbjRPV3BIVGhyNXFuK2lwczhGV0tRNVIwZmVuem5WZ0J4WWVmSmVkbUZDV0ZJcGRGWUlEajRwckZzY2NrYitFTmtQV2FTRldGTUlQTFI5K1lRdk9xRXpPWVZ4ZVVRUFpoS2pIVGhzRXNwV1pNZ1BWaXBmWUovdkJtV2hEaUREMFRMVUt2Y1RkekI0TkwyMWRwakE0d1RqT05XTGc3eXNINzg5dWZTRjJDZlA5TUxFVmo1VmRKUk1lNE90c1h1QnFvZHM3QjA0RUZnQThpODh1a1dDcVBtK3cvMEw0KzExTUg3Ym4zR3FmWWl3YlQvUlhWYjVnRmthV3ZYdHJKak1BS2QwMVJkeDJEMVFaWG5PQ2JlRTNUQ0pVc1RtYUQxTFRPNTRwOGRSL21NUDJtMngxR0NjZGZnejU0aDFwbFk2eTBmc3Q3T2owL1FLekpaL0l5Q09GZVU1cE13Vkc5Y2FhcDVGZ09SbVppdWY1UlI2anFETi9VK2g2TVlQdTF3bk10OFg4RWlvS1ZmdWh0Tm03SlRpV1RrTXhINXpGY09ma3BaMEN3dXBLU214Y2x0dmk2VkVkZ3NkMEFieUJZRGJJaVRhS3BLdmpRVGdIdDJLek5nMTN0ZVZYYUhEU2ZQWHBXOUd5WGk2UDQ5cHlsUCtpQ3RnSTRLL09waE5ncnFKcnZKTzJlNk1uTkwySkEwZGx6bm9rL1FmUEkydGRKbGVZRkdYQ2hrOTh3VjZ3QmNkbnFTNndzT2Y5Z2QwVGxxL2V5Smc1YlBKeVA5azQ1V1NVaTUyUnpvWW9wUEhBQmRwQmk0NDBVUDJrUmtZbUg5U1d4QU9FS1cxRzd3SjQ2Tkg0ZHJ1R3dwSmFqNVRyL0s0U3lubGZzeXV4VlpyNXM1MUxZZ05kRXBMR1l0WVEzRGRRcTlUVmZKSUdvd2xsNDdVa05taFRSdUZrUUZNMHVDNXBzd3grTEtadGZrL2tNRlhRTzhrNkNiemhpaVg3c010a3VJZ1dDWmdsWmp4bUJoY3RpMzVsZUtSbEw2SThuRTEwRXlSdnJIWEw3VUhwUkVtQlMwMlU2M0ZyYVlyZU9xdThPN1QvcmFzNU9KNWxUM3FqT3FmeFR1Vnk3MkRMWEQ5RzRVb0djcFNzOU1yQzBKSFVaUzhsWUx4RU9CWlYrVWZ6YUhpQ2xORHhIOE5GbXAyYVE3L1ByWlFsZ0NMa3Z2VzFYeHFvUHFjckg3MTd5dXlpRER0ekpMa3Z6a200ZnE1TEt4MGEzYUw0aVpiUjIrT2E5a0FrT0g3SnkzdGowcmV6eVdja05VL1NMK1BiMUFQYW9RUGExQnUrOTdscmVwMVdzVUF1UUVoVm1nRjZvNUh3S3dlMHFBdy9aUm1FblpoajEzMzdvcW1MRmo1NnR4cnpXTXFlYnMwcTlYaHlNeG1KZ3hyYzRVVldBVVZUcnVLZ0RoSmtia2tiSUcrU0xhYjRUN0hvWTcxaUhTRXV3REJWWUZvelZRVlJlSWM2eUxLRzl5U1M0RVlRK3dyZHpHMXJXcWQrYnpWQ1J1THNkYklXR2U5MXBPLzAxeHRkZkNSRFNvQTRkazBmTGNKR2x2YlArVk8rZzhqMEZ1S2Y2YjY0L01zN0tTSjBncnR6Nk5ZcEFsRmVlL3Y5NldLekRDZGtPTE1qWnEzLzdia3MxUW5FbmwvcE9XcXhrb0dPNkxJb0huMVJMYkZSRVJyaXZoaU5zbEt3VEdFeHNyUVlienZPbnlCTlhzU2tNSWdvenFYZzZCZUkyaXQ5a3ZqUlVEQkhWbUFYeEdDZVBseU9NWkZwdkRWbmtTK1BUSHVtTUxXdEIzN3ZvcHlKcGR0NmN4UnkrWFhUWlhKYmhoM1BPdC9hNXNpbDJhUUJERzdtcXUyOG5wVVB3QTJ1YS82aDdwNWxKT3haMWNiOWI5VXF1RVNITGhGQ01SaVJNbzFXaFZBNEppd1pMODJKMHBDdmIwRnFhMWh2N3Q3V21tdEEvWjhLNXRxTmJDbVhBemUxSlpOMnRVc25JaVRRNmxRbFV6eTJlMFA0QXVRMUl2SVJjdXRVeDlNQUlGNEQ2V2FHamt6WUFNNmJDZDNZOFRma1VBbWs0ODMvV2M4ci9vS0ZnUXlybHZNNGJUVFduaVNHUzZNekRPOG5Kd2FHelIvanhDU1huUStXZ0g5Tk9rSHEwS3F1dlVaNlJrbDVYY05pd0dKVVFxSnczaDVkWEdPbHZVQmNBUHQ2emFqOXBIdUtNRjRrZDg5ZUdFTHF6V1RSeDRyY0F2WDRtVkxPYTRZTkt5cit5bS9qVXE1RTBqeCttaUMvMkp4REpoVERnd3pXcG9PSm1LSTlWeG1QWVh5ZTNNRDluckJOa0xrUmV0aXIvaGJUUU4rbjZGYmRlLzcyM0V6MmtlSXdlbVd2YW94NEJxeU5hWDNrTVNkYStZTTJuZGs0bXh1enFZSS85bDdoV1NhODVYeU5YRE5PaEhLMUMvVVVwaWxCNkYxUFFRVWV1Nk9Md3I1U1hQanVVRWFFTU5KZnFxL3dFci9HeXlBcURBMkVCNDdxTW9kNWowYTBXMnRBNDVIcENYWFZEWGN1VWxESUtwTXpvaGNzb1A3bzVFbGZmYnF6L1l5YUtEaEhaTVdMeDVhWUdsejV3QlBob09Xc0xwSjI5OEc2VTN5dVV3eWJheHNKUVI2eTNZK3FkamhiNGxHclAvNVJOMUROVkZseWNjUnRCVHlrVmUzUDZWYVhTMXc0YjNPTDZpRlExT2hXS2lST0NPWnBHSVlTTUhKVytKbHVoYU9zdVNjejZCdWR1dzVWNzE4b2pLVHBOQUp4cmcyOXlSK00rN1h3R2l5VWw5VVhDdU8ybXBxVHRITkROUDNnVW95TjdqS1BjUzNxSWVyVWg3ajB6ZFZKSStBNzB2OGc0ZnUzdmt6STU5clZkNlBteWh4S3BCcmlSRk45ZVlwdlNZaHhNaHlhVDBlQUdwb2lra3lQRXU4MU8vS3U0TEQvV0ZkVnV0cGVZaW41LzNlYmZLSUI4ekRKb3lZYlRSRVFqeGRwNTd4cHB2bVVIUjlmZlpYSExHQXd2Nk9UZ1Y5OUloV3pweDBCaU1OaDk4VWkycHpSVllSVG9CQUp0S3pERDNCL0lNa01SOGtPVnlBRkZjWGppMFV0d0d3RDBtTmdNTkw2eTdIZFhWVDZQVzErWEsyYzRHT3JkZTBnSXNZOUN0VG15ak1TNFU1Y1cvVzhYSFRWblFBTThqZGZNdlNhYklmOEVlbzVzRHh6SzJnTE04Q0FURE8vbVp1c3dmamxwZkxlbUkwMFZyQ1Y1c3pvWFA3dEFaeDIzZTBlUWgzQlVyekpEQUdtQnhOaFRPcHhnSWhEZmNHUEpuRUlPQlc0MWFtSEhKRUNOQ0JmWmM1LzBCTTU3dlVUSnVDZHJ0RmdXMXg5VS80eGRwNXRuUmVFd0ZpTzJGRzkySGZPVXJaY2RoY0hCVXlTODYwZGZXcTdTQldRVW82aEt1bkYrRmtydHRIMVJFazNLOENGRmZ4Y04zbkZKMmluMXE3WTNyYjJ5TnBxVjJLUDM3WTU2aFdTck9lOFdOc3dTU2lnSXJPcTJwTUhaa0JTU05PN2tmcHFtSkVndGVmdzBrVm5aVENCQXp2ZVlQUEFiRldMdzRGWTNrdWF2ZWZrVkJMdzNGNTB2QVJzTE9teFU2bTNOc1Z2Wk04ZHJjK01yVlFmUElQMDYzTzREQy9oY3NaeEh3WUQ1SEVVR3BwcHR4R1ZGTHkvVGhpcEpIT1NtVjdIOFBvWTFpZG1TeVF1cnBvc3pPdE1RNFRIMWZabTFLM00vSkxubkVQenI1Y1BpM0w1dlpkc2VnRzh6S0lEZWdqcnBjM3dkTjFRR09yTkVGbkJhNUFHc2JHdFBUcHpwM3cvS1ZGMkdqVVYvdnE2QzF0ZG9VNFdFK1l0bzF5TzhMUW9PSk1BaUlUaXpGcjFJQWxKS3NkUCtxa3dWTjgyTmkrd2N2K0JsZmJHN0pvd1ZJZTZ4Z3NtSVJCRk1tSnVDeWl2dlRjS2VwYmJLR3prVGZQVUpJdnc5SVZiNW81MVRCZ29pcDNiODNQRTJhM1NzN3RNTDc4YzJvRUJJcGpxT1N2VDF4bzFTMTdhYTduK0hGdlQ5SXVXZHgxRzNjS2E0ZnhqemVBaFhnb2tXR214by9hVDJCOWcyVzBxSzhQT1BQNjI4SmRweUtDeDZIbGljV20yNUJiWWFydnAxR082a3d4QzQ0Y295bmFFdXQ1aUc3aU9YeDgwMlVuMjcwanpoeXZaQU84VU9iVGUrLzVFdFRRT01iRHArcDE4Nnk3ZkNzVXVRSmY3YmlaUk9rUG1mNG1qVEdNcURHcUg2VHpKRXZjZFZqUUJ2M2VuRForRWNOa2NjZVlCaS9MQ09qKzc5OTJOSy92UG43Njh0eG9UK2FGN3ZOdUdzL3dXQU5nU0pBc0UvWG90N0MrZGJoU2VQcFdXUXl4YnZweXhVemVZNmNMa3NSSXV5eDhTM1NXRUJUVXo1TTFuQjQ0QUlhOU1nempMZkFnVTZZS2RDbmVZYWdBdkF2bmd0clk3MENlL1hVQ0xFR09UYWFxcWJQNTNiTGl2c01HbnpIemdpQThSNld1dDNMUHlmR3JZZHgzVWp0c3F4Y1pQRGVFNndNNGl3MTVSU0EyZzg1d1FybXJ0MUJZcSt2MkpzNmtRenkvclpBcnlkMTZySzJkeGNSS0N6TkM1NGZCK1pXbW02cGYyZ1dGcFd2T3hMY01QRHFTa3laZll4TWhKdDNqM0hBcGd1a2NUQWgydWoxREhUY2NGeUR6bnQrQW9ibERQczU4WnpxM2RHQitFdC9uTXJQeWcrMkc2a3A1NHJVSlZ1eERic3lDTjZlVkpaaW8wNnh4amx1N0gvYkFqdjh0ZFFFSVg2bVhPZk0wVTNKdUhQRU0vVTlSdlZYWnJVZ0VvSm1xM3haNmdFWWcyR0ZyWVpIbEFnTDN2a2VVek1Cem9GNnIwT1JMYUN4QW9KdWtjd3dJTytuRVZPOWlZdmVFZ0xqL3ZRZzM3cUxFbDFORERIejNpZ3RhQ0VpVks5cERCbjZTc0hRU2xHSGYyRHhWZ083VVUwdVJFRitJaHRlVWprQVZSM1Yxb2lzU09YSmRzZDBEeXc5WlJodVFxK2NwYlhpTGQ5NGd6N0lDR3BoMUFVeFhESjBUcXN3MVZ0bUdLOHhGd3hvaTA5anAyR1RnRVBWb0hTMk92a0hneTIzTlhuUTFjYUJCVjN2dmQ5dDA4S1NoT29KNkw0WjNqT3RSS3RPUEg1OHhDUXg4b0hvMlRCdENiT2xGZFQyNDd4cXJQQ2pDUFJPb016OUpBcFdzdHNUY1VUTW9YSi9sSWRYWm9SU3pXMmRna3VmWEhNOHJ5eXNjWjEwYmdreks1WVRkekozY2g4OVZ0eWdWU2Y0ajAvdWZUV0k1WVZNSVJoZHUrczZOSWdkSUZzSWRUQ1ROSVBtVDZwV3I4Q05aOVc1elVuNWtwdXpqVlc1ZzZ3WUY0VmhHUktFNHBjeW53cFJyczk2dDhGZVZPU3FybGMwM2hxWGpob1hPUXZmNGdxMjZIWThyVlVid2VZZ1lVRGJIVm5JMXNleC9JSm91dXhPdlJUVS9ESWNNT1lFdE5zRkVWMGRlNmtiMXYwWEQxQVY5ZHAwNnAwYVpCSGZSZW9yRFdoeG8zdkZSRmREU1U2bjU3SFJBbDZIRHRMM2VwZ1JQMEF0eFh2djdJQzEzcDZyREluK0VmcjJNVVI2OVRBcFpOcGFjMmYyZVh5dlhHUGEwdFJybExJSmRyaGFndXVBZjZhVTVFSHpGcmloQ2FFV241bHpSUE84ZklGT1NNZy9QOHFIVGl4TjJGaldEaDhFZmtnaTg5bis2WkFNY0tOblRWQWQrTkJKV3QxM1lGeUxEZlpTNVR6ZU8zNkNweGxha1piQ1UwWTNvZEloWUFpOU1tMHU5ZENudzRXZkFGVHFkNjArekk2a21SbWxlRUowbjJIUFg0ZVJaa05SUWZrZ1F2Wk10ZGJYVkRKRXlObGU1a2dhY1RWNVh1MUE0ZVdqSkN3VTUyMHVpWTM1VFNTTkxIeXZWbjVOSTV3aTk3QlRXWnByUWplWUk2aEtUcUJMRGFuYWFxOWJwQlplcWxhNnNIeU5pUEZuS2NOQXhYVWhPd1I5MHVPWjBhWW8vOXoxMkhGVkJ5SVFMOWtJclhzN2xYZGg0d24zR0hHNUMraitSN3ZTZUdXSHJZY2pUb3czd1cvZ3BIdUVic0hJS1FzdGlGNXFZa3lqQ2t4b0k5OHNJOVpQdHhRZUc0eGNNeG1McFZvWU94ckUxNkhwTUd6VXJ3K0JrZWtkcHI4TVBKdC82RnZnNk5nNExEdDltb3hXM3ROeXhHU05Ed3oycmdHS0dKK1htUk14ckh0SndyVDV4UGJKeHhqcDRBWVhSWHBDenQxN1NHWnBQcjRLbGFGa3VvVnpYVXFEK3RDNnMyY203c3BweTFuRHhxc0wvbnV4RWZvM2pZOHdYMGpNVTJOaW5Ca0FTL2kzcUFtYk9HdzIyYThhLzVhSkxiTVZCcHliemd4dlpIQVExRGhyTzFQVTc1M0pROHVucFc5RkZyUG1WUVJNbi9VU2thOFYxUk8rNlBjVjBJV1hmVjY4NW1VYVFYZ1RWTXNhQ0s5OE0rTlVteFhDaFFRdWhuVVN3SzR6NFhlWENWcTlaT3Q4TFo4eWx6YlRDeDJBMyt5VHM5U0hVV0lSLzdxVWlTNlArMDIzaU16SW1TOGFBVnVieVdKQlhHUFRwblhMdlBUYzJTRDFaeEVHMUZoNkVmaHZzdURXUmxzN3VlQ2lvdC9pRDdiVnpHTEg5ZEsvMklBenc3eHBOcjB5UXVEWmw3TE5BcGQvOWlpVUZGbXFhd0gwOWFYNHd6cEQ4c21uTmZlUTJOUU1ReEZZOTJlMWVwMmNxWkY5ZVNvMmRYMktTM2JyeFBOcGdXZXlNazUwRmUyNGN3cnhBMVVSNjlaWVdESHY0Tno0clJlbk8zQThhcHBHb2VoUjV0T3ZpOGxGV3ZPTGVsdUZLQU50V2lRSkRHbzhUMVZSTlhac052ZjJRTll5T1I3ZXZJcHZMK0JBdkwweElBTm5FbXNJV2FINEMwcTRjRDAzVzAyNU9oN0szeXlRSEI0VWhEelYzTDQzMDgwRFVBdEF3UzB3dEZ5MUxOK01VZ2tZaUtrajlzaW05Wkl4Y2lOdXpMZHI0OFRrV21XT0hxa2J4aWx1aFZVRExHMjJWdVhwczdGYTZxeW50azd0eGZRNWtiKzdhTnZCT3d3V1UvUXRPdXFUOFBPdnhESE16UzkrUVpyZlpKK2NraDIzVmFoZVMzcS9tdjRkNXkzRG5QMEpicHM5aWQrVE5NTnQ2R1JaWkozRk9xdC9iMzdCWk9RM0pIQVpDajBGL1I2L0p4SG40ZENzY1hPSkM5QytZdE9XdGVPQzBLc1ZVTVpJVk9PVW8yWVhhTXlqRHpSL1JoQnZ0WVI5Q0lGRFF0VytwN09XWG9MNVNMWE5VVjA3Z2hLUXdJdXF3S0YwUllEY1JpYTZIUDBINWp1MEpsU2FlYzhJSTFvTW1qUTJWak1MOFRibTNyMUY0V1ZaVkJGNWlDOUhaK29nZ0tYdHp2TVBQMVNTZGpYaldZdXRUNHljRlhWS1BhZU9iN2E0UllpMm9uSitjalRoSEpOTG5uemRjcnJxZnpsQzhzNU11ZVM0Y1dYZ0JJQm4vL2h6TFNnb2RwdEcxcjJFb2ZGQklhNHZVWFcvLzk0MkVuOU1rK25rU2s3ZTlBNU8yck5SbStLdDhZRUZqemp3MGlVTTZram1uTjUrc1JzeENpaUM0NFFMRU1WSGxqODdiVGlJOUpLY0lVSXpjaW80MlU3OTAwZSthNWNrN2c4K1JicjZ5enRxbkVRdHdWTGxHR0dGN1VWMzIzb0c1SUdaYmlMbjdLeDU1eTRHTjh6WHk1T0NxZTJQOG5tYVJmb1BCQVExVmd6U3V2bDh0SUZuZjZBRXprV1E5VDVpUUgrMzNmeGVhMmZHMDZscjYybDlSOWZ6aUVkSkRNM20zV3pPT3dJQWM3V2NKanlKQ1M0dng4Nld0OS9ZMm5qVzZudzVIVEgxSFE2eVY3TCs2K1g5TS9la3JMeFZYMmdGeEJZZFQ5dVdvdTNST3E2d3JNUk16WGtlTGlDM3FuWExseThKREFxUUh3bU01ZEpmSFVpNEFuV1U0SWNTKzg1Qk9sRkxhUDlDd1M0R3FnM2kxdWNzZU9QTXBRU2xYYkVOSWw0a2NrRnJQTVRxRW45SFd5NFh6dHlEZVgweGZhRXhQRG5ITXp6cm1jeG1XdXlVaU5aRlFXeW9xQ2lHYXdZTDFRZVJrUnJBT1JOaFJHTDdIRThUTi9zZ01FbjFhNjRkKzFPcFpJUG45ZllFdzRMMW1qRGVsc3N6bWFmUmtwbDBWWDVOeGN3UTN6bkl2TGl1YnN4cG9oMlZ4bU94UUpiQXhIS3A4QVROYUNnMUdjdHltRUJOanlGQVpBZk5wVWpmWmp1WjJZQTFuNWpkem5LYmJyMy9OL21US3JDb05tcDY4ZFMwNy9ZeXRvaEhwMW85Tm1oNkt0ai9QYUJHSWxWalRSSDhqTHZuT1N6QUlPenc3SzVFaElaN3pyOGV2VUhJQzR5aEVjVVZqczc0QVFxSGJKeElZdko5dUREQjJZTEdQbGk0bk1EdnlPNTN2ZDJtT2pmNHJFUitQSFBPR296WTlYY1hwMzJCdGhJOUtqanFRd1JybnliLzFhV1UyQVkvcFdWRlJMK3FlNlFVL3kvU05kRjVLbjVxQkNjb01ySjhXZmN0aVpSdmNnZ1c3N0VKbXlPS2NqMFZwbGF0WWlpMitUNmxEM1FHV2c1MGcwSVh3bWJyMnY4N2c5SjNBUzdrdVE1R08wYVkyUCtGUFJEUDVIVVBObHIxMlVVQUVHL3F6cmVGRm4rWmwwaVkrV2V0U1dyc1BWZmRtYkVaV3dWeDZvTE5iTlRyeUVsRW0xME10VnpHOTB2Q0hFUzVhclVlS0tVRjRkZzlnU0p5VUdRakhSUVp5Tk9ReklzbmJ6ejIzYmVmZTFTK0g4Z3o0UDVheHFHbStvT1c3Y0NrOXhzWFVaWk5UUnI0VmRwb1lYYU5GQlFCeDNrcE9Rc0lmUUlkRGFwZHFWWmI4ejRualBaK1B1S2ZtakhXR0hiV1RhK1pxeTF5ak8xUUhhQms4bG1uYVo4U3hWaW05NWc1QmlOYi9vMHZTQ3dwZmJlMVA3TlU1NmZYd2JmY3FXWXd1Q2VZazdvTjFYelREU3E1RnNEOERTMzlVUDJ0OXNzbTBJdiszTlNTeUVwQ2F2ajFyeXoySVQ4NDJ1UkJVaTU3c1FFSnIwUFFxMjllSFRrWndXbERuMFROS0ltaC8zSnp3SkV0WVBKY3MzREw0SEo3WTlLV0ZKTlpwRjZQeWxsVDZlekFicTE0eG5oZHZjOXhtZ1pRVTR5OER5UFk2TXpXNHFtbzBDcXgvcEljY1Z5TkdMci9CQ2VwanRTSC9pN1EyOTg2SlYrRjVWWFlGZitsV2lkN1lIcFlmOUYyS0MyTzNWVGFFTzdRaUdJY292dlhNRUJlK2RRUlNUd3pmYmJIVG5aZXBiUkV2M1VqeDJvaXZjYktZL2hjcmU0ak5sa3ZodzVBdkNaRTA5UG8yN2NYdEtOZmdVU25BOUE0UVB5WVlwcC94WVRLc210N3MyUmZuM3pOWkJvZHpGclROaXpBWXd2bm9md2lORlk0S1l2andZTk1JRkhFMTJlYjdtTFI0VUVnWWtBQjd2WGZGd0dVY2RtVFd0RjBHclZRekdLMUVjektZbVFjY2hLOEYxNWxoY3VPeEdzb2JDSjI5eWV5KzRFcVNpQTNlMG55SERUeUhGanpOdU1vY2cvZzhqVjJGc0hyZGJsNlU1K3BPWjhZVGdFZy9KMUJYcklGSzFxaWM1eEJTZ1VFcWRzbWZtdTFac3JkY1UyN0lwRmU5QkNkSi8zMG15TWhNNFIxNXlMQ1ZzNlhaRVdiRUFOams1SFZZMkZaRUJEVjVJdzF4aWRTWTZoOGw0aVkyOXRtc2dOS0pxQnVFQjNKbFJPL0pIa2l2VHN2WW5qYlVjejVrM1YxdDI4S09HNHUzeWprOWFKMmVuYUwweXFhcUMyRlVzd0o4eDFhcjBTUllxSzExYTJjaFlLSE93TzJZV2VsZHowVVhUWitGV2FGWmFJdFQ4NEdSekRjZWJqUVZna2tTalpLeXRlVzVPQnJCRnE2aDN4TG1Nc0JkYmFMSmxjekhxY2I3Z2c4MUtvSm1TWmJWMVBZcE1jQVpCT0Jpd2RBYVRsWUNmdUYwZTZzNFh2Uzl4d3FrYnk5V1FMa3hlVHdoUEZnZHdrRDIzK3RqRWVDdnoxejFCZDBQMjJTT0ZOMzE0RHZ3VFB6U3d0ZmtKcDZ5YjNLYnhUY2ZTc2VKeFF2WGlOZFI2T0xQQThEYkNWOUtJdk1wQ0RqYTloenQ2THA4YkVINkFyQ3JVajBXcmF3TXFXTlI1N3E2Rmp0VkowMkZjc0IreGlocTdYZ05ITENNMUk1ZXZGSEUxV0RuZG0rMlFRclRNaXd2QUtNbGtrejNuaDQ3a1lvZ1NTWFNpRWFycXl1QXBnM0ZldHkzWmJ0cTZvNEdONFNnTkRkWXZtVis0aVpKUWl3blZuVW5sa3poaXJmRURaaWxDKzV5SnhRWDR5MWt1YmJHc09vbjJyaTlaWDV6dVZGcVA0V2Q4UjFtb201ZWlTZzU2bmNLOUI5SWlJd1YwYldvdDQ5UzRyVVRlTThlN3N6K0xOQUVIRGxiaTlzZEFRNkFBWU01VUV0OUNqekd6b2tQT2J2ZzdIdm1IMndRSWdBQjBRNUV2NUhndVVNdzhtc21LUERlTHR4QS9xdVBJcDZKc0dwK29vV1VPTjN1N1R4MEtjdzh1YnNrN0ZhWUpSd2tFWVpnK3FDSVEwaGU0Z2R3NFFoc3FxMm0wdnpXUDhoQVNBOXVKRk45bFFhNjBDcnZLM05DZThzTHlzRXN4V2UrLzgyNzBvRi9QbjdxT2FwakxKaGxaUmpYQ1BjdWN3K0p3Q1JXRnhaWmV0LzhJekdNcy9uZjJyUlZNNmtsVzF2dTVLTytETW53YXRyYS90K0pKQ2JJOVJTRnljYmE0VHE1SEVSZDlqNkVUT0lzYWNnQmpxaXdlUkE2TXl5Mis2OUZOZU1LeXpXeDlueU5jenEvZ1VSWHdOeERkbGhQZEdrelEvbC9aZzVOQzJTbUFkNTk3Y2pOVjAvaTdSZGVOeGRnaXhMS09vSW1PWUtXUVRUaXBzNUJXOEJDTUZ3R3NxWjgvejE0c2tKM25BTXVCcGRxR3VjbFF3cFhidnM2a3U2M1ZWaEZheE1WaHRsTG9JcWQzcUpCR3RKcUlwaitMdDB1RXJLc3dTTUViZW5jaUc5SCtIa0ZPTmpsRnFQa2dSUGczMnlET01KMWhUZzhUZkxCVXBWSWlhd3RyOXFpZTJRMnk5UEhqdDhHdENDODh6MG51TGo4ZDU3bDFsUGtlUDFPc0ZQVVBGUzBhaklpeHZmRCtiU3NrYk9CTVJjZWFPdGhZTnAvNWtpNklhOWQyN0cvNldDUDR6STFhY0lJYVBKQWNaR3Zvc1NWaFdmdmlRYmlma1RBbUVCakUvc2lNNkFBSEwyM1FobDZJa1pCMDZ1VFBPTVVMSmh0Z0VmM09nWXZoUytoK1IrQzZ5TG1ZOExlRmRrUE9wdDZXdHRKZlpVamVGQUdUZDRzSFRwcllPalFBenAraDhRVE5NM1d1Z3Q0dnhWOU5maHU0bHdLdzdzNVBEbkEybFQ2RSs5RUwvZlJxZEdKa2dGM1JmOVdlZjlrbmFtb05tZmRXS29KdmxZMDZlSEppbU1mV2xsSG5Ealc2VjV6M3pzNVBwdFFCRnc1UE5QT3lZdEx6aitrZS9PSjdTUTRYT1NaUXpuL2J5QUlvbXdCUVdIL2QrZDdtL251M3QzbVZoZUNTNjBvOUFQbVlHdXcrYTJ1U1JRZ1dHNzJzUEVQNmlobGZvbk9zajNtY3pyNjM0U1NNb2d6Y0ZOZ01qZkZwTlhudU5DYUVJWU5NZlNJSDk3dHMxcDFVOVNiTG4yU1ZqcG5iT0NWZmM3WHJaWEtrdmVmY1k2cTBNQ0daeklxZy9nRlBvb0FTVEZMWXc1Tm9UczhoalhxQjd2bXdadzR6cTg5aUl1Z2VXajlsQTdycm1CMXQxdWNDeFpGZnZuREdkcGlRRy9aMFByK0tVckUrM0FtWmZLN1ZuWlRjYXZyWkR4SmRTY21keWZXYVBDSjB4VEY0VXVxbUxrY01EWEVTZXFTOG5BNVhEZzJpNGhKdk1YZUNEc0pxOVlyMGFpSUlPcUE1KzFlQXE5TVdYU1gvNXlMdXFxVk45ZGxUaysvSGoyV0pPeFp3d3RYYkpjd2dRNHJmbWNlRW0xcnNPekw2dVpvN2NDOHpMQTU0cVQvUmlIQU9lWkoxWm11RDhxTi9uOGljN2VkRGdmU3FkM1BtU0U2L2w1SnozL3laaDRobTBNRUw4TzRuSUhoV1RtNytlNVArR0NLc3VselFmcHZwMXhWZ2E5UnoxaHdsQkJkRGtndnNGTjBXaXhXcHJIclY4dTcwSjNyd0JHL3FlcVl0cWh5Z21hRndtNWZsSjFXOXFjbHhFcHR1MHJ3RDZFQXZqRmd6MnRUL2ZyR0piMmlOMzlROTc4SWxUUndCSW5nMnpVdnlsYVFrTXpURVIwSi8zSDM1OGxIOWtQUWl5NnJXY3NWaVUrZjN6cFlGbExON2U0RUwyYUZhOWVQTDBybFF4SjFrUHhFSXhod3B5UWYwZC9GYWpWWUFmRWdqbWpwMDdEajZSYjVwU1pGWjNhYXROTUwyalU3NE9vWno5NEl0RzNVcmp0UGlweTA0cVFac3hhUmFqTUhjRGtWbm9SZ3kyTkVqZEY4My9zVXBpRmlCUW5hcEJ4MW1RY21lamZaenYzMitSMXA1aGtyTUNleDBQQloxaWwrUHh2YkVrUGtmeXFmL3dPWFBaVDlKbWFkV3lJamJ3eWxUVkNnRmswQjZYOC9wYlMxSU9mL0F5WXZ2dFYvNTZ3NXRocm9oZ2h2ekYwWHlmQlVFM0ZhSGQzU3RFa1JsbFlROUpLc3ZTVXhIRmRYVENvTlMxTnMxZ0NQUFJlclN2djlZL21veWxiMkdYaXhIcCt2VW5IV0VESmNHdE15UXk2MzU2cWFXbm1qbzZXK3hJNXpCNVhXVWE2Z3czSUJ5SFhkTy9DaS9BakV0S3Y0UERlZ255dCtlOW1VUHdFYk03VjdMNitrVS8vZENVMkJ6c3pEd3d1Rnd0MEJLdW4vQTVaSGZ0cFl2aTI4YjdmRElubERnajhFLzBWQy83eHAvTUFqcXBycEVlUGJQZ3hXRUp0Kzh1Z1djMUNFbEFMVjlubTNIb01HUi9Zc3hMZWVMQVRraDd6bVU2TVM0L0puL0dOcnlWMG03MC9BTmlzbE5tZnNpU29ha2doTXFSY3lxbEd1L1dwTnlGelB2OUYvZEdoczIvOGdOanVFdDQrOCt1RDQ3VGZsMG9XWThmVEpLRlA4RG5PUUVta2lteFU1OEkxUjA2RGZIa1lFM3dnUTNGeFBrY2UrKzVFS0hVNmhla1BOeUYzeEJ0QVBEbWc1MzVaZGh2M2RXU1N0QW9mWllISzJoWUlvZ1dFNExPZWdJTGpPc1Jvajc0MHRMRGRnUmJWZ1JJLysyblRvTXExc3NzRkJ4N0MwZ1EyV1lIVXlzWXhFOVRjaURHWkc1cFE1SWJ1V2VQVnFuZ0E1RWhWVncrd2xtMUxhOU9oNmRsT2FPMkQ0QTJzbHk0cndmejREbDFhVzdqZjVsclU5cW5abUZGUXVNYUpiUFRwY2poT3ZvSEV0R3ZBLzZQeXZzY3dsOXFsQUdlNGM0YlVHSE9IbHY2WE9qVkFIcExJSVdwNkFhVnJDSnRTUkJoOTlqeGlUQzJ1QmhTNW9oQnhWUlBDcjFwTVI5aDdTZ09JTTJhU3NhVGtReFdqbjVLbnBuVFhjSEN4Vk10SllFSkg4RkZROG9KbUZpckg5SDNOdkJoMHhXa1EwczF2MVBjbUsvQjlqaGdDUy9GQ2VDb0RLdjM2OURpS1lZaWFkOTdNZU1mYUllTXVDOGptMnd4ZFNXd0RDWVBaTXVYWXliZGpiNzFnWlFVTHRKZVFSSmVVM013V0RGclNkVSt2dDJCc1h5UUQvV0cxMmVQRFA2UlBLZWZHOE1ZbE1KbHR5MyttQnRjNWpaQ0d3ajJrY1dhYys1VWEwS0lxTHFjYm40ZGxpUloyRjNJeC9abGljWG9PeTltcURpamhXWk4xU3BLdzJxTHZkNFlUbkl4MDdldTJIZU4zVEJUQ0t4cEFXUlM0ZldxblR2NUM1U1JuTW5kR0JISjI4ZmJLeXRUU0hPWEJiVG91R28rNitzVFJKYUpUS2FyTHVBTEptK25NRlJ6UDljTGdObmoxV01UcUFGNW55ZmpCb05xeVdZYWJ1SmlZZzNrZXlwOEM0V3hpRkFObjZqMVUzTGY4VzlQeEZESEI5ZkFraGhjQkVjU2RRSjNNQzJwODBWazlOcGFUQTFTbU1hVXJsUkN2UUxlaWtBRjdYRE5neXRZTGlNcmJNT2M1d2lMRnl1MTdWckNNNDVqL3BTaUpOaVg2L01vN0tteUVhV0JCSmxud3NUUEZ2LytIQjZjeUd1S1kvSE9XOS81WkJSZFpQVDhUYnJKTGZNTUo1MTBYdjlYZ2s1NXcrRzBUOW0zUU9zUXNGWEJ2SmdyeXhyWVF1NmwvOWE3ZEFoNzNFNG94VHFkcFc2eit4SXZqQjBwdHJ6WU1HQ2orWlA5MEloS1UyYTlJakp6eFlxUjhvYnJPN3hMSWZoOWRNRm5XS1hVTEY5aUhlUXZqSGNGNGtUS3pXVUJFZ25CaC8zb1gxa2QrSmxWSkFLZHZHeEQrRkUxaGFaNmp0d2daMiswRnJJUVd2ZllVczM0aDI3VXdXeG1HL2p3bnVnV2hMbktIRFpZSmVOeHlyU2VWcVlhWGU5MGtjWGM5Q1ZPa254WUpEREV5dGp0NkFTUnZ6bno1U1d5TlBuTDhoYWk2VmNPM081ZzM4czZxQUJrR3VTVUJpUXB2MVpGWXA2cTVhZDdsbm8yMDdheElITnE2STgyczVGYkxnMXRTdzZObG8xMFNpTzIwK0dSV0lwOVZaUmNRa0tmUUVOanZpYmIwMFFWdnNTVmlqVEIwYTJiRUdUUEF6ZXd4OHF4clpHbnVhYXBHSlVoTUFsZWhBSXVTUDNCS21QcnJpeTRrMThlZUZVSFErYmtPdFZJN0kvTStZNHVEcElaU05yYVg5ZFRkS0JPK3QvOURFMnVNQ214MmxrQ0liY1RGUGNTSU91QVp1azNxbEdjOHluU0lPMGFFcEtNOGFFNU5jUXY5Ym55MERTcG55MjRFeEM5c1RQTFRhOUVGUHA1TEhtK2J3ajZvUjRYNDFsQWpxWEViT28zWk03cHRrYTFWWGNJS3BOSGZwKzI5akJueHF1eURWVlFHbHhvOGJrSDVkbzlCcm1STms4TXFIcDRiTk02MSs2bGd1TDU5WXZDZzZtMFE1bmFHK0dvU3REOUVlL2duckd0VTRSZkdwemFLNUxhVjJqc05zUEhoTlZPRlVqM0pTYTkwK3FIV3RKNzFweW42YUtoMVhkQUFEUFJpc2RxQXJWc0NxejR3K2xZZkRnV1NHUytvaSt0eE4yUWtDbEdlYVp3TTRiYVhJWlVtTDk4TlZmYTZkR01VVUVpWi93ZDdveFdiUXVNdTA2OVA4Njk3bHJiK010OUQ5andMUi9LN1gyWWFKYlc5NVJXSVdPS0dycU5PZGJBd1dwOEFQSEVPYUkrM1hIc3dTUk5NUXRqb3N5amNiM0FYRzhOc00xMUN6RGVSb0tMU3VLeHRTYVZtYUN5V3BpQzhDQjh5Z1ZBSHNVR2VVWG1tMGVnemVWL1dXNUtqOWFXV28wc2dCTHNqNXFmNlN0RXk4K2xxbk5Xcmk0WS9hcEVXT1h6QmpLNkxRZG9mSTZKVDREZGhROVlnTXhpVnUweElVSWcwb0VacTJjTyswcEM3aUtUQ3RpT3JCYStieHB1LzlQTmY1dTM5MHQyOTBIZ3FmQk12SU12M2RWb1JEbHZQWGt0ZTEzbkJjYTZ4OHZKbm9hWWJvNVFVQ00rUkoveUQzL3RoUkJQSERJeWFwUnFkejJoZ2lRRmtBM1lqRzV4clMwMFdsQ1FKN1U5aEtyMkFROEU3T0tTSUpPdGVOU25SYUEyZy9mekdpY2JZMlB1V2hpOVZQbW9hOHFTbkxoREg4WFRZODB0VjNacWY1ZGp0QjNELytMN1BVVDYreE9tcWJESldOQjdiYStodktheHh2Y0M3V29KNTM2dWJYZDRNYjRtazFIMDg3SUJMcWdsbzlNeTQ4WjJ5UE5PdzRsM3hYckxWM2V4RW16dHZuTTVOMGU2YnJjNlBmci80eXI1aE4xYmdtL0ZIa1k0QnNVUGRzOWpZSzlUbXB0SXVKQmlMOEN3clJMRGcvYml6VklZc3NTam1EMTZkclRCdFFYNVFQNmUwL1hZUklpVGgwTGJzTHVHalJ2cWJJZ2FwK0oySGkzcXZjQUFpVy9EM1owL3lGY2hUTmNrWjYxY2VNN2dKeTJ5TzJCWkFySlJuaVdSWVVlOStCb0ljUmQwNm5sK2dSTVFaRFBiMlMrVnRzQk1EV0JqaEhWU1dBcCtWRDFTUllZdmZmcmVtZHBiazZJcVJEZS9zVEtMMm1oc0huSk1mV1c2bXQxbXppM0F3ZXpJbkx0aXl2T3FiZDRVNW9zY3BuQWJjclhHS0xzRXYrZitsaVZNUFVSVUNUNXg3b2Z6SWJrakh6SWE2NStFY0dpcDlMbTJZTVNPVzZJZUE4a2ovWmtldUJwOER3elpxdVJWVDYvUmhQTUhoZkJOeENUaHEySnNrcW1Oc2VNVVFUV3J5a3ZHaXA1VzNQNDlIM2lsd3dDMzljcFpKVXFOKytPOWladis2bG4wMXBYMVF6L2k2K29UWit5S0hldGN1a2tHNmdsdGVLcXQzU2xicXRiV2ozZS9qTVNOYklEWXFKZmtYaU0xYTY4WDUxQVhJYXp1cWZkajJOVmxyK2xLK0kzT01SSTB4ZVJXR3gyRjNhNVk5eUlUZ3krMUVEY0NiZS9WbXhjdDZHTGdZRlE3clhSSjQ3UnJxcTBXL3JiUjI1cHIvZ3o5MXFrNURSQVE2NlZsNWdLN3JvbHY3TjlPeXEyakZZUUluc21iSDlCbVBDR1lGK0lUU0ZhajhjejY0VzNaQmQvSWdKeDBaaFcrRnRYNU81a2lCZVoyaExRU1JLNGE1K1E1R245UFJQdkY2d1hvaE9nOEYzWXhXQUNiUUV2akkyNWFzZm5MSUgxdWtQcmt5TWxxOE92NEUwUW5BYWVZeE5nN21sQTluTHd5Y2hRVyszQkJ3ZXc3THI0N1JmRXBXQ3NXR01zZW5UeHdLejJuR3orZlNjb0xzRjEvRFVQaXFwdGFlbG1TV1dlcURzTWJEaisyUkErREtjR0RsSWIvaGFIWWdseFdMM0NBdlNrcEk5UytoNVROJzt2YXIgZz0na25pdHNhaWwnO3ZhciBlaWQ9J05YZHphSWFCSDlxSHB0UVB6NHpOc0FJJzt2YXIgc3NfY2dpPWZhbHNlO3ZhciBzcD0nJzt2YXIgaGFzaGVkX3F1ZXJ5PScnO3ZhciBjYnM9Jyc7dmFyIHVzc3Y9Jyc7KGZ1bmN0aW9uKCl7dmFyIHE9ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX19LHU9dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzPT0iZnVuY3Rpb24iP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihhLGIsZCl7aWYoYT09QXJyYXkucHJvdG90eXBlfHxhPT1PYmplY3QucHJvdG90eXBlKXJldHVybiBhO2FbYl09ZC52YWx1ZTtyZXR1cm4gYX0sdz1mdW5jdGlvbihhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGQ9YVtiXTtpZihkJiZkLk1hdGg9PU1hdGgpcmV0dXJuIGR9dGhyb3cgRXJyb3IoImEiKTt9LHg9dyh0aGlzKSx5PWZ1bmN0aW9uKGEsYil7aWYoYilhOnt2YXIgZD14O2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgbD0wO2w8YS5sZW5ndGgtMTtsKyspe3ZhciBmPWFbbF07aWYoIShmIGluIGQpKWJyZWFrIGE7ZD1kW2ZdfWE9YVthLmxlbmd0aC0xXTtsPWRbYV07Yj1iKGwpO2IhPWwmJmIhPW51bGwmJnUoZCxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfX0sej1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6cShhKX07dGhyb3cgRXJyb3IoImJgIitTdHJpbmcoYSkpO307eSgiUHJvbWlzZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3RoaXMuaT1udWxsfWZ1bmN0aW9uIGQoYyl7cmV0dXJuIGMgaW5zdGFuY2VvZiBmP2M6bmV3IGYoZnVuY3Rpb24oZSl7ZShjKX0pfWlmKGEpcmV0dXJuIGE7Yi5wcm90b3R5cGUuaj1mdW5jdGlvbihjKXtpZih0aGlzLmk9PW51bGwpe3RoaXMuaT1bXTt2YXIgZT10aGlzO3RoaXMubChmdW5jdGlvbigpe2UudigpfSl9dGhpcy5pLnB1c2goYyl9O3ZhciBsPXguc2V0VGltZW91dDtiLnByb3RvdHlwZS5sPWZ1bmN0aW9uKGMpe2woYywwKX07Yi5wcm90b3R5cGUudj1mdW5jdGlvbigpe2Zvcig7dGhpcy5pJiZ0aGlzLmkubGVuZ3RoOyl7dmFyIGM9dGhpcy5pO3RoaXMuaT1bXTtmb3IodmFyIGU9MDtlPGMubGVuZ3RoOysrZSl7dmFyIGg9Y1tlXTtjW2VdPW51bGw7dHJ5e2goKX1jYXRjaChrKXt0aGlzLkEoayl9fX10aGlzLmk9bnVsbH07Yi5wcm90b3R5cGUuQT1mdW5jdGlvbihjKXt0aGlzLmwoZnVuY3Rpb24oKXt0aHJvdyBjO30pfTt2YXIgZj1mdW5jdGlvbihjKXt0aGlzLmo9MDt0aGlzLmw9dm9pZCAwO3RoaXMuaT1bXTt0aGlzLkQ9ITE7dmFyIGU9dGhpcy5BKCk7dHJ5e2MoZS5yZXNvbHZlLGUucmVqZWN0KX1jYXRjaChoKXtlLnJlamVjdChoKX19O2YucHJvdG90eXBlLkE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBjKGspe3JldHVybiBmdW5jdGlvbihtKXtofHwoaD0hMCxrLmNhbGwoZSxtKSl9fXZhciBlPXRoaXMsaD0hMTtyZXR1cm57cmVzb2x2ZTpjKHRoaXMuSikscmVqZWN0OmModGhpcy52KX19O2YucHJvdG90eXBlLko9ZnVuY3Rpb24oYyl7aWYoYz09PXRoaXMpdGhpcy52KG5ldyBUeXBlRXJyb3IoIkEgUHJvbWlzZSBjYW5ub3QgcmVzb2x2ZSB0byBpdHNlbGYiKSk7ZWxzZSBpZihjIGluc3RhbmNlb2YgZil0aGlzLkwoYyk7ZWxzZXthOnN3aXRjaCh0eXBlb2YgYyl7Y2FzZSAib2JqZWN0Ijp2YXIgZT1jIT1udWxsO2JyZWFrIGE7Y2FzZSAiZnVuY3Rpb24iOmU9ITA7YnJlYWsgYTtkZWZhdWx0OmU9ITF9ZT90aGlzLkkoYyk6dGhpcy5DKGMpfX07Zi5wcm90b3R5cGUuST1mdW5jdGlvbihjKXt2YXIgZT12b2lkIDA7dHJ5e2U9Yy50aGVufWNhdGNoKGgpe3RoaXMudihoKTtyZXR1cm59dHlwZW9mIGU9PSJmdW5jdGlvbiI\/dGhpcy5NKGUsYyk6dGhpcy5DKGMpfTtmLnByb3RvdHlwZS52PWZ1bmN0aW9uKGMpe3RoaXMuRigyLGMpfTtmLnByb3RvdHlwZS5DPWZ1bmN0aW9uKGMpe3RoaXMuRigxLGMpfTtmLnByb3RvdHlwZS5GPWZ1bmN0aW9uKGMsZSl7aWYodGhpcy5qIT0wKXRocm93IEVycm9yKCJjYCIrYysiYCIrZSsiYCIrdGhpcy5qKTt0aGlzLmo9Yzt0aGlzLmw9ZTt0aGlzLmo9PT0yJiZ0aGlzLksoKTt0aGlzLkcoKX07Zi5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3ZhciBjPXRoaXM7bChmdW5jdGlvbigpe2lmKGMuSCgpKXt2YXIgZT14LmNvbnNvbGU7dHlwZW9mIGUhPT0idW5kZWZpbmVkIiYmZS5lcnJvcihjLmwpfX0sMSl9O2YucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtpZih0aGlzLkQpcmV0dXJuITE7dmFyIGM9eC5DdXN0b21FdmVudCxlPXguRXZlbnQsaD14LmRpc3BhdGNoRXZlbnQ7aWYodHlwZW9mIGg9PT0idW5kZWZpbmVkIilyZXR1cm4hMDt0eXBlb2YgYz09PSJmdW5jdGlvbiI\/Yz1uZXcgYygidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBlPT09ImZ1bmN0aW9uIj9jPW5ldyBlKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6KGM9eC5kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxjLmluaXRDdXN0b21FdmVudCgidW5oYW5kbGVkcmVqZWN0aW9uIiwhMSwhMCxjKSk7Yy5wcm9taXNlPXRoaXM7Yy5yZWFzb249dGhpcy5sO3JldHVybiBoKGMpfTtmLnByb3RvdHlwZS5HPWZ1bmN0aW9uKCl7aWYodGhpcy5pIT1udWxsKXtmb3IodmFyIGM9MDtjPHRoaXMuaS5sZW5ndGg7KytjKXYuaih0aGlzLmlbY10pO3RoaXMuaT1udWxsfX07dmFyIHY9bmV3IGI7Zi5wcm90b3R5cGUuTD1mdW5jdGlvbihjKXt2YXIgZT10aGlzLkEoKTtjLkIoZS5yZXNvbHZlLGUucmVqZWN0KX07Zi5wcm90b3R5cGUuTT1mdW5jdGlvbihjLGUpe3ZhciBoPXRoaXMuQSgpO3RyeXtjLmNhbGwoZSxoLnJlc29sdmUsaC5yZWplY3QpfWNhdGNoKGspe2gucmVqZWN0KGspfX07Zi5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihjLGUpe2Z1bmN0aW9uIGgobix0KXtyZXR1cm4gdHlwZW9mIG49PSJmdW5jdGlvbiI\/ZnVuY3Rpb24oQil7dHJ5e2sobihCKSl9Y2F0Y2goQyl7bShDKX19OnR9dmFyIGssbSxEPW5ldyBmKGZ1bmN0aW9uKG4sdCl7az1uO209dH0pO3RoaXMuQihoKGMsayksaChlLG0pKTtyZXR1cm4gRH07Zi5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsYyl9O2YucHJvdG90eXBlLkI9ZnVuY3Rpb24oYyxlKXtmdW5jdGlvbiBoKCl7c3dpdGNoKGsuail7Y2FzZSAxOmMoay5sKTticmVhaztjYXNlIDI6ZShrLmwpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImRgIitrLmopO319dmFyIGs9CnRoaXM7dGhpcy5pPT1udWxsP3YuaihoKTp0aGlzLmkucHVzaChoKTt0aGlzLkQ9ITB9O2YucmVzb2x2ZT1kO2YucmVqZWN0PWZ1bmN0aW9uKGMpe3JldHVybiBuZXcgZihmdW5jdGlvbihlLGgpe2goYyl9KX07Zi5yYWNlPWZ1bmN0aW9uKGMpe3JldHVybiBuZXcgZihmdW5jdGlvbihlLGgpe2Zvcih2YXIgaz16KGMpLG09ay5uZXh0KCk7IW0uZG9uZTttPWsubmV4dCgpKWQobS52YWx1ZSkuQihlLGgpfSl9O2YuYWxsPWZ1bmN0aW9uKGMpe3ZhciBlPXooYyksaD1lLm5leHQoKTtyZXR1cm4gaC5kb25lP2QoW10pOm5ldyBmKGZ1bmN0aW9uKGssbSl7ZnVuY3Rpb24gRChCKXtyZXR1cm4gZnVuY3Rpb24oQyl7bltCXT1DO3QtLTt0PT0wJiZrKG4pfX12YXIgbj1bXSx0PTA7ZG8gbi5wdXNoKHZvaWQgMCksdCsrLGQoaC52YWx1ZSkuQihEKG4ubGVuZ3RoLTEpLG0pLGg9ZS5uZXh0KCk7d2hpbGUoIWguZG9uZSl9KX07cmV0dXJuIGZ9KTsKdmFyIEE9dGhpc3x8c2VsZjtmdW5jdGlvbiBFKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24mJndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGV9O3ZhciBGPXdpbmRvdy5sb2NhdGlvbjtmdW5jdGlvbiBHKGEpe3JldHVybihhPUYuc2VhcmNoLm1hdGNoKG5ldyBSZWdFeHAoIls\/Jl0iK2ErIj0oXFxkKykiKSkpP051bWJlcihhWzFdKTotMX1mdW5jdGlvbiBIKCl7dmFyIGE9Z29vZ2xlLnRpbWVycy5sb2FkO2dvb2dsZS5jLmd0cz9nb29nbGUuYy5ndHMoZnVuY3Rpb24oKXtJKGEpfSk6SShhKX0KZnVuY3Rpb24gSShhKXt2YXIgYj1hLmUsZD1nb29nbGUuc3R2c2M7ZCYmKGIuc3NyPTEpO2lmKGQ\/ZC5pc0JGOkUoKT09PTIpYi5iYj0xO0UoKT09PTEmJihiLnI9MSk7YTp7aWYod2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSYmKGQ9d2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm5hdmlnYXRpb24iKSxkLmxlbmd0aCE9PTApKXtkPWRbMF07YnJlYWsgYX1kPXZvaWQgMH1pZihkKXt2YXIgbD1kLnR5cGU7bCYmKGIubnQ9bCk7bD1kLmRlbGl2ZXJ5VHlwZTtsIT1udWxsJiYoYi5kdD1sKTtkPWQudHJhbnNmZXJTaXplO2QhPW51bGwmJihiLnRzPWQpfShkPXdpbmRvdy5uYXZpZ2F0aW9uKSYmKGQ9ZC5hY3RpdmF0aW9uKSYmKGQ9ZC5uYXZpZ2F0aW9uVHlwZSkmJihiLmFudD1kKTtiPWEubTtpZighYnx8IWIucHJzKXtkPXdpbmRvdy5fY3NjPT09ImFnc2EiJiZ3aW5kb3cuX2NzaGlkO2w9RSgpfHxkPzA6RygicXN1YnRzIik7bD4wJiYoYj1HKCJmYnRzIiksYj4wJiYoYS50LnN0YXJ0PU1hdGgubWF4KGwsYikpKTt2YXIgZj1hLnQsdj1mLnN0YXJ0O2I9e307YS53c3J0IT09dm9pZCAwJiYoYi53c3J0PWEud3NydCk7aWYodilmb3IodmFyIGMgaW4gZilpZihjIT09InN0YXJ0Iil7dmFyIGU9ZltjXTtiW2NdPWM9PT0ic2dsIj9lOk1hdGgubWF4KGUtdiwwKX1sPjAmJihiLmdzYXNydD1hLnQuc3RhcnQtbCxjPUcoInFzZCIpLGM+MCYmZ29vZ2xlLmMuZSgibG9hZCIsInFzZCIsU3RyaW5nKGMpKSwoYz1hLmZidHMpJiYoYi5nc2FzcnQyPU1hdGgubWF4KGwsYyktbCkpO0UoKXx8ZHx8IWEucXN1YnRzfHwoYz1hLmZidHMpJiYoYi5nc2FzcnQzPU1hdGgubWF4KGEucXN1YnRzLGMpLWEucXN1YnRzKTtjPWEuZTthPSIvZ2VuXzIwND9zPSIrZ29vZ2xlLnNuKyImdD1zZyZhdHlwPWNzaSZlaT0iK2dvb2dsZS5rRUkrIiZydD0iO2Q9IiI7Zm9yKGsgaW4gYilhKz0iIitkK2srIi4iK2Jba10sZD0iLCI7Zm9yKHZhciBoIGluIGMpYSs9CiImIitoKyI9IitjW2hdO3ZhciBrPSIiO0EuX2NzaGlkJiYoays9IiZjc2hpZD0iK0EuX2NzaGlkKTsoaD13aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLmtPUEl8fG51bGwpJiYoays9IiZvcGk9IitoKTtrPWErPWs7dHlwZW9mIG5hdmlnYXRvci5zZW5kQmVhY29uPT09ImZ1bmN0aW9uIj9uYXZpZ2F0b3Iuc2VuZEJlYWNvbihrLCIiKTpnb29nbGUubG9nKCIiLCIiLGspfX07dmFyIEo9ZnVuY3Rpb24oKXt2YXIgYT1sb2NhdGlvbi5ocmVmO3RoaXMuaT10aGlzLmo9IiI7dmFyIGI9YS5pbmRleE9mKCIjIik7Yj4wJiYodGhpcy5qPWEuc3Vic3RyaW5nKGIpLGE9YS5zdWJzdHJpbmcoMCxiKSk7Yj1hLmluZGV4T2YoIj8iKTtiPjAmJih0aGlzLmk9IiYiK2Euc3Vic3RyaW5nKGIrMSksYT1hLnN1YnN0cmluZygwLGIpKTt0aGlzLmw9YX0sTD1mdW5jdGlvbihhLGIsZCl7SyhhLGIpO2EuaT1hLmkrIiYiK2IrIj0iK2R9LEs9ZnVuY3Rpb24oYSxiKXthLmk9YS5pLnJlcGxhY2UobmV3IFJlZ0V4cCgiJiIrYisiPShbXiZdKykiLCJnIiksIiIpfTtKLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIiK3RoaXMubCsodGhpcy5pPyI\/Iit0aGlzLmkuc3Vic3RyaW5nKDEpOiIiKSt0aGlzLmp9Owp2YXIgTT1mdW5jdGlvbihhKXt0aGlzLmk9YX07TS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pfTt2YXIgTj1mdW5jdGlvbihhKXt0aGlzLk49YX07ZnVuY3Rpb24gTyhhKXtyZXR1cm4gbmV3IE4oZnVuY3Rpb24oYil7cmV0dXJuIGIuc3Vic3RyKDAsYS5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PWErIjoifSl9dmFyIFA9W08oImRhdGEiKSxPKCJodHRwIiksTygiaHR0cHMiKSxPKCJtYWlsdG8iKSxPKCJmdHAiKSxuZXcgTihmdW5jdGlvbihhKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpfSldLFE9L15ccyooPyFqYXZhc2NyaXB0OikoPzpbXHcrLi1dKzp8W146Lz8jXSooPzpbLz8jXXwkKSkvaTtmdW5jdGlvbiBSKCl7dmFyIGE9QVtnXTtpZihhKXthPXooKDAsYS5hKShwLGZ1bmN0aW9uKCl7fSwhMSkpLm5leHQoKS52YWx1ZTt2YXIgYj1bYWEoKV07cmV0dXJuIGEoYil9UyhFcnJvcigiZiIpKX1mdW5jdGlvbiBhYSgpe3ZhciBhPWxvY2F0aW9uLmhyZWYsYj1oYXNoZWRfcXVlcnksZD17fTtiJiYoZC5xaD1iLChhPShhPWEubWF0Y2goL1s\/Jl1zdGFydD0oXGQrKS9nKSk\/YVthLmxlbmd0aC0xXS5tYXRjaCgvXGQrLylbMF06IiIpJiYoZC5zdD1hKSk7cmV0dXJuIGR9CmZ1bmN0aW9uIFQoKXt2YXIgYTthOntpZih3aW5kb3cuc3QmJihhPXdpbmRvdy5zdChsb2NhdGlvbi5ocmVmKSkpYnJlYWsgYTthPXBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS50aW1pbmcmJnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQ\/cGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydDp2b2lkIDB9aWYoYSl0cnl7dmFyIGI7KChiPXdpbmRvdyk9PW51bGw\/MDpiLnNlc3Npb25TdG9yYWdlKSYmd2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oZWlkLFN0cmluZyhhKSl9Y2F0Y2goZCl7fX1mdW5jdGlvbiBVKCl7dmFyIGE9ZWlkLGI9bmV3IEo7SyhiLCJzZ19zcyIpO0woYiwic2VpIixhKTtyZXR1cm4gYi50b1N0cmluZygpfWZ1bmN0aW9uIFYoYSl7dmFyIGI9ZWlkLGQ9bmV3IEo7TChkLCJzZ19zcyIsZW5jb2RlVVJJQ29tcG9uZW50KGEpKTtMKGQsInNlaSIsYik7VyhkLnRvU3RyaW5nKCkpfQpmdW5jdGlvbiBiYShhKXtpZih3aW5kb3cucHJzKXtYKCJwc3J0Iik7c2N0bSYmSCgpO3ZhciBiPVUoKTt3aW5kb3cucHJzKGIsYSkuY2F0Y2goZnVuY3Rpb24oKXtWKGEpfSl9ZWxzZSBWKGEpfWZ1bmN0aW9uIFcoYSl7WCgicHNydCIpO3NjdG0mJkgoKTt3aW5kb3cucHJzP3dpbmRvdy5wcnMoYSkuY2F0Y2goZnVuY3Rpb24oKXtZKGEpfSk6WShhKX0KZnVuY3Rpb24gWShhKXtpZih3aW5kb3cucHIpd2luZG93LnByKGEpO2Vsc2V7YTp7dmFyIGI9Yj09PXZvaWQgMD9QOmI7aWYoYSBpbnN0YW5jZW9mIE0pYj1hO2Vsc2V7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDsrK2Qpe3ZhciBsPWJbZF07aWYobCBpbnN0YW5jZW9mIE4mJmwuTihhKSl7Yj1uZXcgTShhKTticmVhayBhfX1iPXZvaWQgMH19YT1sb2NhdGlvbjtpZihiIGluc3RhbmNlb2YgTSlpZihiIGluc3RhbmNlb2YgTSliPWIuaTtlbHNlIHRocm93IEVycm9yKCJlIik7ZWxzZSBiPVEudGVzdChiKT9iOnZvaWQgMDtiIT09dm9pZCAwJiZhLnJlcGxhY2UoYil9fWZ1bmN0aW9uIFMoYSl7bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9nZW5fMjA0P2NhZD1zZ19iX2UmZT0iK2EsIiIpfWZ1bmN0aW9uIFgoYSl7c2N0bSYmZ29vZ2xlLnRpY2soImxvYWQiLGEpfTtuYXZpZ2F0b3J8fChBLm5hdmlnYXRvcj17fSk7dHlwZW9mIG5hdmlnYXRvci5zZW5kQmVhY29uIT09ImZ1bmN0aW9uIiYmKG5hdmlnYXRvci5zZW5kQmVhY29uPWZ1bmN0aW9uKGEpeyhuZXcgSW1hZ2UpLnNyYz1hfSk7d2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24oYSxiLGQsbCxmKXtuYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL2dlbl8yMDQ\/ZW1zZz0iKyhmIGluc3RhbmNlb2YgRXJyb3I\/Zi5tZXNzYWdlOmEpKyImc3JjcGc9c2dzJmpzcj0xJmpzZWw9MyIpfTtYKCJzc3QiKTt2YXIgWjt3aW5kb3cuc2dzJiZ1c3N2PyhYKCJzc3N0IiksWj13aW5kb3cuc2dzKHNwKS50aGVuKGZ1bmN0aW9uKGEpe1goInNzZXQiKTtyJiYoVCgpLGJhKGEpKTtyZXR1cm4hMH0sZnVuY3Rpb24oKXtyZXR1cm4hMX0pKTpaPVByb21pc2UucmVzb2x2ZSghMSk7Wi50aGVuKGZ1bmN0aW9uKGEpe2lmKCFhJiYoWCgiYnNzdCIpLGE9UigpLFgoImJzZXQiKSxhKSl7dmFyIGI9Y2JzO2E9aGFzaGVkX3F1ZXJ5PyJCLjEuIitiKyIuIithOmE7Yj1uZXcgRGF0ZTtiLnNldFNlY29uZHMoYi5nZXRTZWNvbmRzKCkrKE51bWJlcihjZSl8fDMwMCkpO3ZhciBkPSJTR19TUz0iK2EsbD1kb2N1bWVudC5jb29raWUubGVuZ3RoK2QubGVuZ3RoO3ImJihsPDQwOTMmJiFzc19jZ2kmJihkb2N1bWVudC5jb29raWU9ZCsoIjsgZXhwaXJlcz0iK2IudG9VVENTdHJpbmcoKSkpLFQoKSxzc19jZ2l8fGRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJTR19TUz0iKTwwP1YoYSk6VyhVKCkpKX19KS5jYXRjaChmdW5jdGlvbihhKXtTKGEpfSk7fSkuY2FsbCh0aGlzKTt9KSgpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjA2Mlp5cHRxdGY4UzdRemk4TGY3c3ciPihmdW5jdGlvbigpe3ZhciBjc3NJZD0neXZscnVlJzt2YXIgZXZlbnRfaWQ9J05YZHphSWFCSDlxSHB0UVB6NHpOc0FJJztmdW5jdGlvbiBzdygpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNzc0lkKS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywnJyk7bmF2aWdhdG9yLnNlbmRCZWFjb24oYC9nZW5fMjA0P2NhZD1zZ190cmJsJmVpPSR7ZXZlbnRfaWR9YCwnJyk7fQpzZXRUaW1lb3V0KHN3LDIwMDApO30pKCk7PC9zY3JpcHQ+IDxkaXYgaWQ9Inl2bHJ1ZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+SWYgeW91J3JlIGhhdmluZyB0cm91YmxlIGFjY2Vzc2luZyBHb29nbGUgU2VhcmNoLCBwbGVhc2UmbmJzcDs8YSBocmVmPSIvc2VhcmNoP3E9aXNvKzI3MDEmYW1wO251bT0xMDAmYW1wO3NjYV9lc3Y9NTgzZmFjYzI2NGUxNDUzNiZhbXA7cHdzPTAmYW1wO2hsPWRlJmFtcDtuZWFyPURldXRzY2hsYW5kJmFtcDtnbD1ERSZhbXA7Z2xwPTEmYW1wO2didj0xJmFtcDtlbXNnPVNHX1JFTCZhbXA7c2VpPU5YZHphSWFCSDlxSHB0UVB6NHpOc0FJIj5jbGljayBoZXJlPC9hPiwgb3Igc2VuZCZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3dlYnNlYXJjaCI+ZmVlZGJhY2s8L2E+LjwvZGl2PjwvYm9keT48L2h0bWw+"}