D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
local
/
psa
/
var
/
modules
/
xovi
/
Filename :
serp_1.json
back
Copy
{"success":true,"settings":{"hash":"1","url":"https:\/\/www.google.de\/search?q=l%27amore+graffia+il+mondo&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":83916,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZGUiPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT1iUnhUYUtYcEdmX1oxZThQMGQtYmtBRSIgaHR0cC1lcXVpdj0icmVmcmVzaCI+PGRpdiBzdHlsZT0iZGlzcGxheTpibG9jayI+PGEgaHJlZj0iL2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT1iUnhUYUtYcEdmX1oxZThQMGQtYmtBRSI+S2xpY2tlIGhpZXI8L2E+LCB3ZW5uIGR1IG5hY2ggZWluaWdlbiBTZWt1bmRlbiBuaWNodCBhdXRvbWF0aXNjaCB3ZWl0ZXJnZWxlaXRldCB3aXJzdC48L2Rpdj48L25vc2NyaXB0PjxzY3JpcHQgbm9uY2U9IlpwcEZvOElHbU45SVVISlo3T3ZNNkEiPi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam9nTXl3aWMyOTFjbU5sY3lJNld5SWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSUNKZExDSnVZVzFsY3lJNld5SmpiRzl6ZFhKbFJIbHVZVzFwWTBKMWRIUnZiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFaWZRPT0KKGZ1bmN0aW9uKCl7ZnVuY3Rpb24geChUKXtyZXR1cm4gVH12YXIgWT1mdW5jdGlvbihULE0sSyx0LEQseSx6LEcsVixjLHEsRil7Rj03Mjt7cT1NO3doaWxlKCFbXT09ZmFsc2UpdHJ5e2lmKEY9PVQpYnJlYWs7ZWxzZSBpZihGPT00OClGPUcmJkcuY3JlYXRlUG9saWN5PzUxOjU2O2Vsc2UgaWYoRj09NTEpcT1LLFY9Ry5jcmVhdGVQb2xpY3koeSx7Y3JlYXRlSFRNTDpQLGNyZWF0ZVNjcmlwdDpQLGNyZWF0ZVNjcmlwdFVSTDpQfSksRj01MDtlbHNlIGlmKEY9PTM1KUY9Ti5jb25zb2xlP3Q6NTA7ZWxzZSBpZihGPT10KU4uY29uc29sZVtEXShjLm1lc3NhZ2UpLEY9NTA7ZWxzZXtpZihGPT01NilyZXR1cm4gVjtpZihGPT01MClyZXR1cm4gcT1NLFY7Rj09NzI\/KFY9eixHPU4udHJ1c3RlZFR5cGVzLEY9NDgpOkY9PTE3JiYocT1NLEY9MzUpfX1jYXRjaCh3KXtpZihxPT1NKXRocm93IHc7cT09SyYmKGM9dyxGPTE3KX19fSxQPWZ1bmN0aW9uKFQpe3JldHVybiB4LmNhbGwodGhpcyxUKX0sTj10aGlzfHxzZWxmOygwLGV2YWwpKGZ1bmN0aW9uKFQsTSl7cmV0dXJuKE09WSg3OCwzMiwzLDYsImVycm9yIiwia3MiLG51bGwpKSYmVC5ldmFsKE0uY3JlYXRlU2NyaXB0KCIxIikpPT09MT9mdW5jdGlvbihLKXtyZXR1cm4gTS5jcmVhdGVTY3JpcHQoSyl9OmZ1bmN0aW9uKEspe3JldHVybiIiK0t9fShOKShBcnJheShNYXRoLnJhbmRvbSgpKjc4MjR8MCkuam9pbigiXG4iKStbJy8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam9nTXl3aWMyOTFjbU5sY3lJNld5SWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSUNKZExDSnVZVzFsY3lJNld5SmpiRzl6ZFhKbFJIbHVZVzFwWTBKMWRIUnZiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFaWZRPT0nLAonKGZ1bmN0aW9uKCl7LyonLAonJywKJyBDb3B5cmlnaHQgR29vZ2xlIExMQycsCicgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAnLAonKi8nLAondmFyIHdWPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQpe2Zvcih0PTg2O3QhPTc3OylpZih0PT01NCl0PXgrNz4+MTx4JiYoeC0zfDE5KT49eD82Njo5MTtlbHNlIGlmKHQ9PTg2KXQ9NTQ7ZWxzZSBpZih0PT02NilWLmNsYXNzTGlzdD9WLmNsYXNzTGlzdC5yZW1vdmUodyk6VEEoZmFsc2UsdyxNLDcyLFQsVikmJnUoViw5LEssQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKHhZKDQ0LFQsViksZnVuY3Rpb24ocSl7cmV0dXJuIHEhPXd9KS5qb2luKEcpKSx0PTkxO2Vsc2V7aWYodD09MTYpcmV0dXJuIE47dD09MTE\/KEsuRj0oKEsuRj9LLkYrIn4iOiJFOiIpK00ubWVzc2FnZStUK00uc3RhY2spLnNsaWNlKDAsRiksdD0xNik6dD09OTEmJih0PXgrOT49LTUxJiYoeDw8MiY4KTwzPzExOjE2KX19LFRBPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjKXt7cT02O3doaWxlKHEhPTUxKWlmKHE9PTM3KUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoeCxmdW5jdGlvbihQLHkseil7Zm9yKHo9NzI7eiE9Nzg7KXo9PTUwPyh5PU1YKDExLCIiLCJzdHJpbmciLFQpLHUoVCw1LCJzdHJpbmciLHkrKHkubGVuZ3RoPjA\/IiAiK1A6UCkpLHo9NzgpOno9PTcyP3o9VC5jbGFzc0xpc3Q\/NDg6NTE6ej09NDg\/KFQuY2xhc3NMaXN0LmFkZChQKSx6PTc4KTp6PT01MSYmKHo9VEEoZmFsc2UsUCwxLDczLCIiLFQpPzc4OjUwKX0pLHE9Mjg7ZWxzZSBpZihxPT03NCl3PXFYLFYgaW4gdz9NLnNldEF0dHJpYnV0ZShOLHdbVl0pOk0ucmVtb3ZlQXR0cmlidXRlKE4pLHE9Njc7ZWxzZSBpZihxPT01NClxPUc9PT0iInx8Rz09dm9pZCAwPzY1OjQwO2Vsc2UgaWYocT09MzEpdD17fSxxWD0odC5hdG9taWM9Rix0LmF1dG9jb21wbGV0ZT0ibm9uZSIsdC5kcm9wZWZmZWN0PSJub25lIix0Lmhhc3BvcHVwPUYsdC5saXZlPSJvZmYiLHQubXVsdGlsaW5lPUYsdC5tdWx0aXNlbGVjdGFibGU9Rix0Lm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIsdC5yZWFkb25seT1GLHQucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0Iix0LnJlcXVpcmVkPUYsdC5zb3J0PSJub25lIix0LmJ1c3k9Rix0LmRpc2FibGVkPUYsdC5oaWRkZW49Rix0LmludmFsaWQ9VCx0KSxxPTc0O2Vsc2UgaWYocT09NilxPTc2O2Vsc2UgaWYocT09NDApTS5zZXRBdHRyaWJ1dGUoTixHKSxxPTY3O2Vsc2UgaWYocT09NjkpcT1LLTk8NyYmSy0yPj4zPj0wPzU3OjI4O2Vsc2UgaWYocT09MjApe2ZvcihNIGluIFY9KEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoeFkoNDMsKEc9e30sIiIpLFQpLGZ1bmN0aW9uKFApe0dbUF09dHJ1ZX0pLEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoeCxmdW5jdGlvbihQKXtHW1BdPXRydWV9KSwiIiksRylWKz1WLmxlbmd0aD4wPyIgIitNOk07cT0odShULDcsInN0cmluZyIsViksMjgpfWVsc2UgaWYocT09ODIpdCsrLHE9MTM7ZWxzZSBpZihxPT02NSlxPXFYPzc0OjMxO2Vsc2UgaWYocT09NTcpcT1ULmNsYXNzTGlzdD8zNzoyMDtlbHNle2lmKHE9PTY3KXJldHVybiBjO3E9PTU5PyhBcnJheS5pc0FycmF5KEcpJiYoRz1HLmpvaW4oeCkpLE49ImFyaWEtIitWLHE9NTQpOnE9PTc2P3E9KChLXjY2KSYxNSk9PTI\/ODk6Njk6cT09MTA\/KGM9dyxxPTYxKTpxPT0yND9xPUcuY2xhc3NMaXN0Pzc4Ojk4OnE9PTM5PyhUQShmYWxzZSxNLDAsMTYsdHJ1ZSxHLFYsdyxOW3RdKSxxPTgyKTpxPT03OD8odz1HLmNsYXNzTGlzdC5jb250YWlucyhNKSxxPTEwKTpxPT0xMz9xPXQ8Ti5sZW5ndGg\/Mzk6Njk6cT09NjE\/cT0oSz4+MSY3KT09Mz81OTo2NzpxPT05OD8oVj14WSg0NSx4LEcpLHc9Sig1NyxULFYsTSk+PTAscT0xMCk6cT09NDM\/cT0xMzpxPT04OT9xPUFycmF5LmlzQXJyYXkoTik\/NDk6NTg6cT09Mjg\/cT0oS3w3Mik9PUs\/MjQ6NjE6cT09NDk\/KHQ9VCxxPTQzKTpxPT01OCYmKHc9R0EoMzIsdyksViYmVlt0Ml0\/Vi5ILmFkZChTdHJpbmcoTiksdyx4LGM4KDksIm9iamVjdCIsTSk\/ISFNLmNhcHR1cmU6ISFNLEcpOnNHKEYsMTQsIm9iamVjdCIsdyxHLE4sTSx4LFYpLHE9NjkpfX19LGs9ZnVuY3Rpb24oRixNLFQsSyx4KXtyZXR1cm4oTS00Pj40fHwoRi5sP3g9RHcoRi5aLEYpOihLPXlsKEYsOCx0cnVlKSwtfihLJjEyOCkrKEsmLTEyOSkrKH5LfDEyOCkmJihLPTIqKEt8MCktMyooSyYxMjgpLSAtMTI5Kyh+S3wxMjgpLFQ9eWwoRiwyLHRydWUpLEs9KEs8PDIpKyhUfDApKSx4PUspKSwoTSY1Nik9PU0mJihGLmw\/eD1EdyhGLlosRik6KFQ9eWwoRiw4LHRydWUpLC1+KFQmMTI4KSsoVCYtMTI5KSsoflR8MTI4KSYmKFQ9MiooVHwwKS0zKihUJjEyOCktIC0xMjkrKH5UfDEyOCksSz15bChGLDIsdHJ1ZSksVD0oVDw8MikrKEt8MCkpLHg9VCkpLE0rNSYxMSl8fCh4PUtbVF08PDI0fEtbKFR8MCkrMV08PDE2fEtbKFR8MiktIC0zKyhUfC0zKV08PDh8S1stMS0yKn4oVHxGKS0oflQmRikrKH5UfEYpXSkseH0sdjg9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxKXtmb3IodD0zNTt0IT02NTspaWYodD09ODcpcT1HLHQ9MTA7ZWxzZSBpZih0PT0xOSl0PUsuRk4\/OTE6ODk7ZWxzZSBpZih0PT0xMCl0PVQ8PDImNz81OTo5O2Vsc2V7aWYodD09NTkpcmV0dXJuIHE7dD09ODk\/KHc9bmV3IGtZKHgsdGhpcyksVj1LLm1XfHxLLnNyYyxOPUsubGlzdGVuZXIsSy5vbSYmR0EoNSxudWxsLCJvbiIsSyksRz1OLmNhbGwoVix3KSx0PTg3KTp0PT0zNT90PU06dD09OT90PTU5OnQ9PU0\/dD0oVC04Jk0pPT1GPzE5OjEwOnQ9PTkxJiYoRz10cnVlLHQ9ODcpfX0sTVg9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMsUCx5KXtmb3IoUD00MDtQIT05NTspaWYoUD09NSlQPXE8Vi5sZW5ndGg\/MTY6Nzg7ZWxzZSBpZihQPT01MilQPTU7ZWxzZSBpZihQPT04NClQPShGLTMmNik+PTQmJihGPj4yJjYpPDE\/MTA6ODk7ZWxzZSBpZihQPT0yMSkoYz1OLlNhKEcsVix3LHQpKSYmR0EoOCxudWxsLCJvbiIsYyksUD03ODtlbHNlIGlmKFA9PTQyKXE9VCxQPTUyO2Vsc2UgaWYoUD09NDEpUD0oRiY1Nik9PUY\/Njo3NjtlbHNlIGlmKFA9PTY0KVA9Sz80ODo3ODtlbHNle2lmKFA9PTg5KXJldHVybiB5O1A9PTQ0PyhxKyssUD01KTpQPT04Nj8oeT10eXBlb2YgSy5jbGFzc05hbWU9PVQ\/Sy5jbGFzc05hbWU6Sy5nZXRBdHRyaWJ1dGUmJksuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHxNLFA9ODQpOlA9PTEwPyhSNC5jYWxsKHRoaXMpLE18fGVIfHwoZUg9bmV3IHBZKSx0aGlzLmRQPXRoaXMuSng9bnVsbCx0aGlzLkN2PWZhbHNlLHRoaXMuaTM9bnVsbCx0aGlzLlRpPWZhbHNlLHRoaXMuemk9dm9pZCAwLHRoaXMuZnE9dGhpcy5UPW51bGwsUD04OSk6UD09NDg\/KE49ZSg4LEspLFA9NjIpOlA9PTc2P1A9KEYtNl4zMCk8RiYmKEYrOSY0Myk+PUY\/NzQ6Nzg6UD09Nj8oeT0hIShULkgkJngpJiYhIShULkkmeCkhPUsmJighKEc9VC5abCwtMS1+eC0ofkcmeCkpfHxULmRpc3BhdGNoRXZlbnQoSSg1LDQsMixNLDY0LEsseCkpKSYmIVQuVixQPTc2KTpQPT0xNj8oTVgoNSwib2JqZWN0IiwwLEsseCxHLFZbcV0sdyksUD00NCk6UD09NzQ\/UD1BcnJheS5pc0FycmF5KFYpPzQyOjI6UD09NjI\/UD1OPzIxOjc4OlA9PTI\/KHQ9YzgoNixNLHgpPyEheC5jYXB0dXJlOiEheCxHPUdBKDM0LEcpLFA9MTMpOlA9PTQwP1A9NDE6UD09Nzg\/UD0oRi04JjkpPT0xPzg2Ojg0OlA9PTEzP1A9SyYmS1t0Ml0\/NTU6NjQ6UD09NTUmJihLLkgucmVtb3ZlKFN0cmluZyhWKSxHLHQsdyksUD03OCl9fSxoMj1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTil7Zm9yKE49ODg7TiE9MjY7KWlmKE49PTUyKU49KE0mNjIpPT1NPzg6MzE7ZWxzZSBpZihOPT04OClOPTUyO2Vsc2UgaWYoTj09OTEpdGhpcy5McT1FLmRvY3VtZW50fHxkb2N1bWVudCxOPTM7ZWxzZSBpZihOPT00NilHPUsoeCkucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIiksTj03NDtlbHNlIGlmKE49PTcpeCs9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLFQuc2xpY2UoVixWKzgxOTIpKSxOPTM3O2Vsc2UgaWYoTj09OTcpTj1LPzg5OjE2O2Vsc2UgaWYoTj09OTIpTj10aGlzLnUubGVuZ3RoPDUwPzUxOjQ3O2Vsc2UgaWYoTj09NTEpdGhpcy51LnB1c2goVCksTj0zMTtlbHNle2lmKE49PTc5KXJldHVybiB3O049PTE2PyhHPXZvaWQgMCxOPTc0KTpOPT0zMT9OPU0+PjEmNT8zOjkxOk49PTM3PyhWKz04MTkyLE49MzApOk49PTQ3PyhLPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLEs8NTAmJih0aGlzLnVbS109VCksTj0zMSk6Tj09Rj9OPTMwOk49PTg\/KHRoaXMubisrLE49OTIpOk49PTMwP049VjxULmxlbmd0aD83OjQ2Ok49PTc0Pyh3PUcsTj03OSk6Tj09ODk\/KFY9MCx4PSIiLE49Rik6Tj09NTQ\/KEs9d2luZG93LmJ0b2EsTj05Nyk6Tj09MyYmKE49KChNXjEyKSY4KTw1JiYoTT4+MiYzKT49MT81NDo3OSl9fSxHQT1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEsYyxQLHkseixEKXtmb3IoRD0zOTtEIT0wOylpZihEPT03OClEPShGJjE1KT09Rj8xNjo1NDtlbHNlIGlmKEQ9PTExKXthOntmb3IodD0odz1HLnNwbGl0KChjPWRWLE0pKSxUKTt0PHcubGVuZ3RoLUs7dCsrKXtpZighKE49d1t0XSxOIGluIGMpKWJyZWFrIGE7Yz1jW05dfXE9VigoeT1jW1A9d1t3Lmxlbmd0aC1LXSxQXSx5KSkscSE9eSYmcSE9eCYmaTAoYyxQLHtjb25maWd1cmFibGU6dHJ1ZSx3cml0YWJsZTp0cnVlLHZhbHVlOnF9KX1EPTc4fWVsc2UgaWYoRD09NjUpRD1WJiZWW3QyXT8yODo2O2Vsc2UgaWYoRD09MTgpdHlwZW9mIE09PT0iZnVuY3Rpb24iP3o9TTooTVt1MF18fChNW3UwXT1mdW5jdGlvbihIKXtyZXR1cm4gTS5oYW5kbGVFdmVudChIKX0pLHo9TVt1MF0pLEQ9NjY7ZWxzZSBpZihEPT0xNilEPXR5cGVvZiBLIT09Im51bWJlciImJksmJiFLLkZOPzgwOjU0O2Vsc2UgaWYoRD09NDcpej1UIGluIEI4P0I4W1RdOkI4W1RdPU0rVCxEPTc7ZWxzZXtpZihEPT03KXJldHVybiB6O0Q9PTU5P0Q9Vj8xMTo3ODpEPT04MD8oVj1LLnNyYyxEPTY1KTpEPT0xMD9EPShGPDwyJjE1KT49OCYmRi0yPj40PDI\/NTk6Nzg6RD09MzU\/RD14PzgxOjY3OkQ9PTQyP0Q9eC5zSz09MD80OTo1NDpEPT02Nz8oJFkoMSwxNyx0cnVlLEspLEQ9NTQpOkQ9PTU0P0Q9KEZeMzYpPDIwJiZGKzI+PTc\/MTg6NjY6RD09Nj8odz1LLnByb3h5LEc9Sy50eXBlLFYucmVtb3ZlRXZlbnRMaXN0ZW5lcj9WLnJlbW92ZUV2ZW50TGlzdGVuZXIoRyx3LEsuY2FwdHVyZSk6Vi5kZXRhY2hFdmVudD9WLmRldGFjaEV2ZW50KEdBKDU5LFQsRyksdyk6Vi5hZGRMaXN0ZW5lciYmVi5yZW1vdmVMaXN0ZW5lciYmVi5yZW1vdmVMaXN0ZW5lcih3KSxvNC0tLHg9ZSg3LFYpLEQ9MzUpOkQ9PTgxPyh1KEssODAsMCx4KSxEPTQyKTpEPT00OT8oeC5zcmM9TSxWW0oyXT1NLEQ9NTQpOkQ9PTY2P0Q9KEYrNSY2NSk+PUYmJihGLTReMjUpPEY\/NDc6NzpEPT0yOD8odShLLDcyLDAsVi5IKSxEPTU0KTpEPT0zOSYmKEQ9MTApfX0sSTQ9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMsUCx5KXtmb3IoeT04MDt5IT0yMjspaWYoeT09MTkpeT0oTSs3XjEwKT49TSYmKE0rNyY0Nik8TT8zOToyO2Vsc2V7aWYoeT09MTEpcmV0dXJuIFA7aWYoeT09ODApeT0xOTtlbHNlIGlmKHk9PTM5KXtpZihxPXguSC5pW1N0cmluZyhUKV0pe2ZvcihjPSh0PShxPXEuY29uY2F0KCksMCksRik7dDxxLmxlbmd0aDsrK3QpKFY9cVt0XSkmJiFWLkZOJiZWLmNhcHR1cmU9PUcmJih3PVYubVd8fFYuc3JjLE49Vi5saXN0ZW5lcixWLm9tJiZ1KFYsNzMsMCx4LkgpLGM9Ti5jYWxsKHcsSykhPT1mYWxzZSYmYyk7UD1jJiYhSy5kZWZhdWx0UHJldmVudGVkfWVsc2UgUD1GO3k9Mn1lbHNlIHk9PTI\/eT1NKzY+PjQ\/MTE6ODI6eT09ODImJih0aGlzLk49Rix5PTExKX19LFg9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVil7KEYtNXwyNSk8RiYmKEYrNF4yNik+PUYmJihNLmw\/Vj1EdyhNLlosTSk6KEs9eWwoTSw4LHRydWUpLC1+KEsmMTI4KSsoSyYtMTI5KSsofkt8MTI4KSYmKEs9MiooS3wwKS0zKihLJjEyOCktIC0xMjkrKH5LfDEyOCksVD15bChNLDIsdHJ1ZSksSz0oSzw8MikrKFR8MCkpLFY9SykpO3N3aXRjaCghKChGKzUmNTkpPj1GJiZGLTY8PDE8Rikpe2Nhc2UgISgwIT09LTApPT0hIiI6MDticmVhaztjYXNlIFtdPT0obnVsbCE9KE5hTj09PU5hTikpOkc9ayhLLDEzKTt7eD1NO3doaWxlKFQ+TSl4PXg8PDh8clYoOCx0cnVlLEspLFQtLX1uKEcsSyx4KTticmVha31yZXR1cm4gVn0sST1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTil7Zm9yKHc9NTc7dyE9NjI7KWlmKHc9PTU3KXc9NjY7ZWxzZSBpZih3PT02Nil3PShGLTFeNyk+PUYmJihGKzReNyk8Rj81MjozMTtlbHNlIGlmKHc9PTUyKXYoVCxLLE0pLE1bekFdPTI3OTYsdz0zMTtlbHNlIGlmKHc9PTkpe2E6e3N3aXRjaChWKXtjYXNlIDE6Tj1HPyJkaXNhYmxlIjoiZW5hYmxlIjticmVhayBhO2Nhc2UgVDpOPUc\/ImhpZ2hsaWdodCI6InVuaGlnaGxpZ2h0IjticmVhayBhO2Nhc2UgTTpOPUc\/ImFjdGl2YXRlIjoiZGVhY3RpdmF0ZSI7YnJlYWsgYTtjYXNlIDg6Tj1HPyJzZWxlY3QiOiJ1bnNlbGVjdCI7YnJlYWsgYTtjYXNlIEs6Tj1HPyJjaGVjayI6InVuY2hlY2siO2JyZWFrIGE7Y2FzZSAzMjpOPUc\/ImZvY3VzIjoiYmx1ciI7YnJlYWsgYTtjYXNlIHg6Tj1HPyJvcGVuIjoiY2xvc2UiO2JyZWFrIGF9dGhyb3cgRXJyb3IoIkludmFsaWQgY29tcG9uZW50IHN0YXRlIik7fXc9Njh9ZWxzZSBpZih3PT05MylZWS5jYWxsKHRoaXMpLHRoaXMuSD1uZXcgSDgodGhpcyksdGhpcy5xWj1udWxsLHRoaXMuY2I9dGhpcyx3PTM7ZWxzZSBpZih3PT0zKXc9KEY8PDEmNyk9PTI\/OTo2ODtlbHNle2lmKHc9PTY4KXJldHVybiBOO3c9PTMxJiYodz1GKzk+PjE8RiYmKEYtNl4xNik+PUY\/OTM6Myl9fSxlPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSl7Zm9yKHQ9Mzc7dCE9NzU7KWlmKHQ9PTg5KXQ9VD83OjUyO2Vsc2V7aWYodD09NDgpdGhyb3cgRXJyb3IoIkludmFsaWQgZGVjb3JhdG9yIGZ1bmN0aW9uICIrTSk7aWYodD09MjIpdD0oRis5JjI3KT49RiYmKEYrNF4xNSk8Rj81Nzo5MjtlbHNlIGlmKHQ9PTApdD0oRiY4MSk9PUY\/ODA6MzQ7ZWxzZXtpZih0PT0xMilyZXR1cm4gcTtpZih0PT05Mil0PShGfDU2KT09Rj84OToxMjtlbHNlIGlmKHQ9PTM3KXQ9MDtlbHNlIGlmKHQ9PTM0KXQ9KEZeMzgpPDIxJiZGPDwxPj05PzkxOjIyO2Vsc2UgaWYodD09NTcpVD1NW0oyXSxxPVQgaW5zdGFuY2VvZiBIOD9UOm51bGwsdD05MjtlbHNlIGlmKHQ9PTgwKXtpZih4LnYubGVuZ3RoKXt4LlVLJiYiOlRRUjpUUVI6IigpLHguVUs9dHJ1ZSx4Lmw2PUs7dHJ5e0c9eC5KKCkseC5hbT1HLHguT0s9TSx4LmwzPUcseC5aNj1NLFY9blkoeCwyLHRydWUsSyw2LDgsbnVsbCksdz1UPzA6MTAsTj14LkooKS14LmwzLHgudTMrPU4seC53UCYmeC53UChOLXguUyx4LmoseC5ZLHguT0spLHguWT1mYWxzZSx4Lmo9ZmFsc2UseC5TPU0sTjx3fHx4Lm5xLS08PU18fChOPU1hdGguZmxvb3IoTikseC5Rci5wdXNoKE48PTI1ND9OOjI1NCkpfWZpbmFsbHl7eC5VSz1mYWxzZX1xPVZ9dD0zNH1lbHNlIGlmKHQ9PTkxKXRoaXMudHlwZT1NLHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1ULHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLkpSPWZhbHNlLHQ9MjI7ZWxzZSBpZih0PT03KXQ9dHlwZW9mIE0hPT0iZnVuY3Rpb24iPzQ4OjEyO2Vsc2UgaWYodD09NTIpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK1QpO319fSxzRz1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEsYyxQLHkseixEKXt7RD01MDt3aGlsZShEIT0yOCl7aWYoRD09MzUpcmV0dXJuIHk7aWYoRD09ODUpYz1TSCg1NCwyMyksdC5wcm94eT1jLGMuc3JjPU4sYy5saXN0ZW5lcj10LEQ9NjM7ZWxzZSBpZihEPT02MylEPU4uYWRkRXZlbnRMaXN0ZW5lcj82NDo4MztlbHNlIGlmKEQ9PTQzKU4uYXR0YWNoRXZlbnQoR0EoNjAsIm9uIixHLnRvU3RyaW5nKCkpLGMpLEQ9Nzc7ZWxzZSBpZihEPT04MylEPU4uYXR0YWNoRXZlbnQ\/NDM6NTtlbHNlIGlmKEQ9PTU1KUQ9KE0rMl4xOSk8TSYmKE0tMnwxNyk+PU0\/MTQ6NjE7ZWxzZSBpZihEPT00NSl0aGlzLm4rKyxUPUYtdGhpcy5nLHRoaXMuZys9VC90aGlzLm4sdGhpcy50Uis9VCooRi10aGlzLmcpLEQ9MzU7ZWxzZXtpZihEPT05MCl0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoRD09MTQpRD1HPzQwOjkwO2Vsc2UgaWYoRD09NSlEPU4uYWRkTGlzdGVuZXImJk4ucmVtb3ZlTGlzdGVuZXI\/MTY6NDY7ZWxzZXtpZihEPT00Nil0aHJvdyBFcnJvcigiYWRkRXZlbnRMaXN0ZW5lciBhbmQgYXR0YWNoRXZlbnQgYXJlIHVuYXZhaWxhYmxlLiIpO0Q9PTI2Pyh6PWZ1bmN0aW9uKCl7fSx6LnByb3RvdHlwZT1LLnByb3RvdHlwZSxULkQ9Sy5wcm90b3R5cGUsVC5wcm90b3R5cGU9bmV3IHosVC5wcm90b3R5cGUuY29uc3RydWN0b3I9VCxULkdTPWZ1bmN0aW9uKEgsWSxkKXtmb3IodmFyIEI9ODA7QiE9MjU7KWlmKEI9PTEwKVUrKyxCPTEzO2Vsc2V7aWYoQj09NjEpcmV0dXJuIEsucHJvdG90eXBlW1ldLmFwcGx5KEgscCk7aWYoQj09ODApdmFyIHA9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0oQj0zNyxGKSksVT1GO2Vsc2UgQj09Mzc\/Qj0xMzpCPT0xNT8ocFtVLUZdPWFyZ3VtZW50c1tVXSxCPTEwKTpCPT0xMyYmKEI9VTxhcmd1bWVudHMubGVuZ3RoPzE1OjYxKX19LEQ9MjQpOkQ9PTQwPyhQPWM4KDUsVCxWKT8hIVYuY2FwdHVyZTohIVYsKHE9ZSg2LE4pKXx8KE5bSjJdPXE9bmV3IEg4KE4pKSx0PXEuYWRkKEcsSyx3LFAseCksRD03OSk6RD09MTY\/KE4uYWRkTGlzdGVuZXIoYyksRD03Nyk6RD09MjQ\/RD0oTT4+MSYxNSk+PTEzJiZNLTM8MzM\/NDU6MzU6RD09NTA\/RD01NTpEPT03OT9EPXQucHJveHk\/NjE6ODU6RD09NjE\/RD1NKzM+PjQ\/MjQ6MjY6RD09NjQ\/KFVHfHwoVj1QKSxWPT09dm9pZCAwJiYoVj1GKSxOLmFkZEV2ZW50TGlzdGVuZXIoRy50b1N0cmluZygpLGMsViksRD03Nyk6RD09NzcmJihvNCsrLEQ9NjEpfX19fX0sJG49ZnVuY3Rpb24oRixNLFQpe3tUPTk1O3doaWxlKFQhPTMxKWlmKFQ9PTEwKVQ9Mjc7ZWxzZXtpZihUPT00MClyZXR1cm4gTTtUPT05OT8oTS5wdXNoKE1hdGgucmFuZG9tKCkqMjU1fDApLFQ9MTApOlQ9PTEzP1Q9Mjc6VD09OTU\/KE09W10sVD0xMyk6VD09MjcmJihUPUYtLT85OTo0MCl9fX0sSDg9ZnVuY3Rpb24oRil7cmV0dXJuIE9HLmNhbGwodGhpcyw0MCxGLDE0KX0seWQ9ZnVuY3Rpb24oRixNLFQsSyx4KXtyZXR1cm4gU0guY2FsbCh0aGlzLDU0LDUsRix4LEssTSxUKX0sejA9ZnVuY3Rpb24oKXtyZXR1cm4gRUcuY2FsbCh0aGlzLDY1LDMyKX0sclk9ZnVuY3Rpb24oRixNLFQsSyl7SkQoTSxDKFMoKEs9aygoVD1rKE0sOSksTSksNSksTSksVCksRiksSyl9LFNIPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjLFApe3tjPTc3O3doaWxlKGMhPTUzKWlmKGM9PTg4KWM9KE0+PjImNyk9PTE\/Mzg6NjM7ZWxzZSBpZihjPT03NyljPTg4O2Vsc2UgaWYoYz09NjEpYz0oVj1LKT9GOjk4O2Vsc2UgaWYoYz09Ril0aGlzLlc9VixjPTExO2Vsc2UgaWYoYz09MTQpRz1PRyg0MCx0LDUpLGM9NjQ7ZWxzZSBpZihjPT04MCljPXQ\/MTQ6MTA7ZWxzZSBpZihjPT0zOCl0aGlzLmxpc3RlbmVyPUssdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPVQsdGhpcy50eXBlPUcsdGhpcy5jYXB0dXJlPSEhVix0aGlzLm1XPXgsdGhpcy5rZXk9KytMWSx0aGlzLm9tPXRoaXMuRk49ZmFsc2UsYz02MztlbHNlIGlmKGM9PTkwKWM9KE0+PjImMzApPT0yPzkzOjQ4O2Vsc2UgaWYoYz09NCljPShNKzMmMTUpPT0zPzc2OjkwO2Vsc2UgaWYoYz09NzEpdD0oTj1PYmplY3QuZ2V0UHJvdG90eXBlT2YodC5wcm90b3R5cGUpKSYmTi5jb25zdHJ1Y3RvcixjPTY4O2Vsc2UgaWYoYz09MzUpYz0xMDtlbHNlIGlmKGM9PTg3KVA9ZnVuY3Rpb24oeSl7cmV0dXJuIFQuY2FsbChQLnNyYyxQLmxpc3RlbmVyLHkpfSxUPUNZLHE9UCxjPTQ7ZWxzZSBpZihjPT05MyljPTQ4O2Vsc2UgaWYoYz09NzYpe2lmKCh4PUsubGVuZ3RoLHgpPlQpe2ZvcihHPShWPUFycmF5KHgpLFQpO0c8eDtHKyspVltHXT1LW0ddO3E9Vn1lbHNlIHE9W107Yz05MH1lbHNlIGlmKGM9PTQ4KWM9KE18ODgpPT1NPzk2OjExO2Vsc2UgaWYoYz09MTApVj13P3R5cGVvZiB3LmMkPT09ImZ1bmN0aW9uIj93LmMkKCk6bmV3IHc6bnVsbCxjPUY7ZWxzZSBpZihjPT0zMyljPTgwO2Vsc2UgaWYoYz09NjMpYz0oTV4zOCk+PjQ8NCYmKE08PDImMzEpPj0yNj84Nzo0O2Vsc2UgaWYoYz09OTgpdD10aGlzLmNvbnN0cnVjdG9yLGM9MzM7ZWxzZSBpZihjPT02OCljPTgwO2Vsc2UgaWYoYz09NjQpYz0odz1iMFtHXSk\/MzU6NzE7ZWxzZXtpZihjPT0xMSlyZXR1cm4gcTtjPT05NiYmKEEyLmNhbGwodGhpcyx4KSxjPTYxKX19fSwkWT1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEpe3txPTczO3doaWxlKHEhPTYxKWlmKHE9PTgyKXthOntmb3IoVj1bVD09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsRyxUPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csVD09dHlwZW9mIHNlbGYmJnNlbGYsVD09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXSx3PUs7dzxWLmxlbmd0aDsrK3cpaWYoKE49Vlt3XSkmJk5beF09PU1hdGgpe3Q9TjticmVhayBhfXRocm93IEVycm9yKCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0Iik7fXE9MzR9ZWxzZSBpZihxPT0yMClxPU0rRj49NCYmTStGPj40PEY\/ODI6MzQ7ZWxzZXtpZihxPT04OSlyZXR1cm4gdDtpZihxPT01MylLLkZOPVQsSy5saXN0ZW5lcj1udWxsLEsucHJveHk9bnVsbCxLLnNyYz1udWxsLEsubVc9bnVsbCxxPTI7ZWxzZSBpZihxPT03MylxPTIwO2Vsc2UgaWYocT09MilxPShNJjYwKT09TT8xMzo1ODtlbHNlIGlmKHE9PTEzKXRoaXMubj09PTA\/dD1bMCwwXToodGhpcy51LnNvcnQoZnVuY3Rpb24oYyxQKXtyZXR1cm4gYy1QfSksdD1bdGhpcy5uLHRoaXMudVt0aGlzLnUubGVuZ3RoPj5GXV0pLHE9NTg7ZWxzZSBpZihxPT01OClxPShNfDQ4KT09TT80Njo4OTtlbHNlIGlmKHE9PTQ2KXthOntmb3IoViBpbiBHKWlmKHguY2FsbCh2b2lkIDAsR1tWXSxWLEcpKXt0PVQ7YnJlYWsgYX10PUt9cT04OX1lbHNlIHE9PTM0JiYocT1NLTk+PjM9PUY\/NTM6Mil9fX0sRG49ZnVuY3Rpb24oRixNLFQsSyx4KXtmb3IoSz03NDtLIT00NjspaWYoSz09NylLPShNfEYpPT1NPzU2OjQwO2Vsc2UgaWYoSz09NzQpSz00MjtlbHNlIGlmKEs9PTU2KVQuYyQ9ZnVuY3Rpb24oKXtyZXR1cm4gVC5SbT9ULlJtOlQuUm09bmV3IFR9LFQuUm09dm9pZCAwLEs9NDA7ZWxzZSBpZihLPT0yMyl4PXRoaXMubj09PTA\/MDpNYXRoLnNxcnQodGhpcy50Ui90aGlzLm4pLEs9NztlbHNlIGlmKEs9PTQyKUs9KE0+PjEmNyk8NSYmKE18NSk+PS01Mj8yMzo3O2Vsc2UgaWYoSz09NDApcmV0dXJuIHh9LHN5PWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjKXt4PU1bMF07c3dpdGNoKCEoeD09UF8pKXtjYXNlIC0wPT09MDppZih4PT10RCl7Yz1NWzFdO3RyeXtOPUYuRnx8Ri5SKE0pfWNhdGNoKFApe3dWKDIwNDgsUCwiOiIsRiwyMCksTj1GLkZ9KChHPUYuSigpLGMpKE4pLEYpLlMrPUYuSigpLUd9ZWxzZSBzd2l0Y2goISh4PT1NTSkpe2Nhc2UgIVtdIT1udWxsOmlmKHg9PWlDKUYuaj10cnVlLEYuUihNKTtlbHNlIHN3aXRjaCghKHg9PXVDKSl7Y2FzZSBOYU4hPT1OYU46aWYoeD09Tk0pcmV0dXJuIHc9TVtUXSx2KEYsMTU5LE1bS10pLG4oMTE1LEYsdyksRi5SKE0pO3doaWxlKCJmIilpZih4PT1CXz8oRi5SKE0pLEYuQj1udWxsLEYuRDY9W10sRi5Rcj1bXSk6eD09ekEmJkUuZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJsb2FkaW5nIiYmKEYuaD1mdW5jdGlvbihQLHkpe2Z1bmN0aW9uIHooRCl7e0Q9MzI7d2hpbGUoRCE9NDgpRD09MzI\/RD15PzQ4OjU3OkQ9PTU3JiYoeT10cnVlLEUuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIseix3WSksRS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIix6LHdZKSxQKCksRD00OCl9fShFLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHosKHk9ZmFsc2Usd1kpKSxFKS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIix6LHdZKX0pLHRydWUpYnJlYWs7YnJlYWs7Y2FzZSBmYWxzZTp0cnl7e3Q9MDt3aGlsZSh0PEYuaFIubGVuZ3RoKXt0cnl7cT1GLmhSW3RdLHFbMF1bcVsxXV0ocVtUXSl9Y2F0Y2goUCl7fXQrK319fWNhdGNoKFApe30oKDAsTVsxXSkoZnVuY3Rpb24oUCx5KXtGLk1aKFAsdHJ1ZSx5KX0sZnVuY3Rpb24oUCl7dSgoUD0hRi52Lmxlbmd0aCxGKSwzMywwLFtCX10pLFAmJmUoMTcsMCxmYWxzZSx0cnVlLEYpfSxmdW5jdGlvbihQKXtyZXR1cm4gRi5FSyhQKX0sKFY9KEYuaFI9W10sRikuSigpLGZ1bmN0aW9uKFAseSx6KXtyZXR1cm4gRi5vVChQLHkseil9KSksRikuUys9Ri5KKCktVjticmVha31icmVhaztjYXNlIGZhbHNlPT1udWxsOk1bM10mJihGLmo9dHJ1ZSksTVs0XSYmKEYuWT10cnVlKSxGLlIoTSk7YnJlYWt9YnJlYWs7Y2FzZSBmYWxzZSE9MDpGLm5xPTI1LEYuWT10cnVlLEYuUihNKTticmVha319LGp1PWZ1bmN0aW9uKEYsTSxULEsseCxHLFYpe3tWPTQzO3doaWxlKFYhPTc4KWlmKFY9PTM4KVY9VC01PDYmJihUPj4xJjcpPj0zPzY2OjIzO2Vsc2UgaWYoVj09NDkpVj0oVCs1JjE3KT49VCYmVCs4Pj4yPFQ\/RjozODtlbHNlIGlmKFY9PTQzKVY9NDk7ZWxzZSBpZihWPT02NilUMC5jYWxsKHRoaXMsSyxNfHxLNS5jJCgpLHgpLFY9MjM7ZWxzZSBpZihWPT1GKU0uZFAmJk0uZFAuZm9yRWFjaChLLHZvaWQgMCksVj0zODtlbHNlIGlmKFY9PTIzKXJldHVybiBHfX0sRzA9ZnVuY3Rpb24oRixNLFQsSyx4LEcpe3t4PTcyO3doaWxlKHghPUYpe2lmKHg9PTgwKXJldHVybiBHO3g9PTc0P3g9ODg6eD09NTY\/KHFNLmNhbGwodGhpcyxUP1QudHlwZToiIiksdGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsLHRoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD10aGlzLm9mZnNldFk9dGhpcy5vZmZzZXRYPTAsdGhpcy5rZXk9IiIsdGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MCx0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmFsdEtleT10aGlzLmN0cmxLZXk9ZmFsc2UsdGhpcy5zdGF0ZT1udWxsLHRoaXMucG9pbnRlcklkPTAsdGhpcy5wb2ludGVyVHlwZT0iIix0aGlzLnRpbWVTdGFtcD0wLHRoaXMuQiQ9bnVsbCxUJiZ0aGlzLmluaXQoVCxLKSx4PTE4KTp4PT02Nz94PU0tRj4+Mz09Mj82Njo0Mjp4PT03Mj94PTY3Ong9PTE4P3g9KE1eMTMpPEYmJigoTXxGKSYxMSk+PTI\/NzQ6ODg6eD09NjY\/KEc9eG5bVF0oeG4ucHJvdG90eXBlLHtzcGxpY2U6SyxjYWxsOkssY29uc29sZTpLLGxlbmd0aDpLLGZsb29yOksscHJvdG90eXBlOksscG9wOksscHJvcGVydHlJc0VudW1lcmFibGU6SyxyZXBsYWNlOkssZG9jdW1lbnQ6SyxwYXJlbnQ6SyxzdGFjazpLfSkseD00Mik6eD09NDI\/eD0oTSY5MSk9PU0\/NTY6MTg6eD09ODg\/eD0oTV43MSk+PjQ\/ODA6ODc6eD09ODcmJihULmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEssZnVuY3Rpb24oVil7d1YoMjA0OCwxLCIiLCJzdHJpbmciLDEwLCIgIixULFYpfSk6dShULDExLCJzdHJpbmciLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCh4WSg0MSwiIixUKSxmdW5jdGlvbihWKXtyZXR1cm4hKEooNTgsMSxLLFYpPj0wKX0pLmpvaW4oIiAiKSkseD04MCl9fX0sVDA9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3KXtyZXR1cm4gU0guY2FsbCh0aGlzLDU0LDg4LEYsTSxULEsseCxHLFYsdyl9LFM9ZnVuY3Rpb24oRixNLFQpe1Q9Ri5CW01dO3N3aXRjaCghKFQ9PT12b2lkIDApKXtjYXNlIDA9PT0tMDpOYU49PT1OYU47YnJlYWs7Y2FzZSBmYWxzZTp0aHJvd1tZbiwzMCxNXTticmVha31mb3IodHJ1ZSE9W107VC52YWx1ZTswIT0hWyIiXT09bnVsbCl7cmV0dXJuIFQuY3JlYXRlKCk7aWYobnVsbCE9ZmFsc2UpYnJlYWt9cmV0dXJuKFQuY3JlYXRlKE0qNSpNKy05MCpNKzQ0KSxUKS5wcm90b3R5cGV9LEo9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMsUCl7e1A9MjU7d2hpbGUoUCE9NjcpaWYoUD09OTgpYz1NLFA9NjU7ZWxzZXtpZihQPT02NSlyZXR1cm4gYztpZihQPT00Myl0aGlzLlY9dGhpcy5WLHRoaXMuQVI9dGhpcy5BUixQPTczO2Vsc2UgaWYoUD09ODUpe2E6aWYodHlwZW9mIFQ9PT0ic3RyaW5nIiljPXR5cGVvZiBLIT09InN0cmluZyJ8fEsubGVuZ3RoIT1NPy0xOlQuaW5kZXhPZihLLDApO2Vsc2V7Zm9yKHg9MDt4PFQubGVuZ3RoO3grKylpZih4IGluIFQmJlRbeF09PT1LKXtjPXg7YnJlYWsgYX1jPS0xfVA9NDh9ZWxzZSBpZihQPT0yMSlQPUY8PDE8MjYmJihGXjc5KT49MjA\/NDM6NzM7ZWxzZSBpZihQPT02MClQPUYrND4+ND49MyYmKChGXjU2KSYxMik8MT84NTo0ODtlbHNlIGlmKFA9PTcxKXthOntmb3Iodz1NO3c8VC5sZW5ndGg7Kyt3KWlmKFY9VFt3XSwhVi5GTiYmVi5saXN0ZW5lcj09eCYmVi5jYXB0dXJlPT0hIUsmJlYubVc9PUcpe2M9dzticmVhayBhfWM9LTF9UD0yMX1lbHNlIGlmKFA9PTczKVA9KEZ8OSk+PjQ+PTAmJihGXjQ2KTw4Pzk4OjY1O2Vsc2UgaWYoUD09NjkpUD0oRis3JjcpPT00PzE2OjYwO2Vsc2UgaWYoUD09NDgpUD0oRiY5MCk9PUY\/NzE6MjE7ZWxzZSBpZihQPT0xNil7aWYoRy5OPSgoVj0ocT0odD0oVHx8Ry5aNisrLEcuSW0pPk0mJkcuVUsmJkcubDYmJkcueE48PTEmJiFHLmwmJiFHLmgmJighVHx8Ry5GVi1LPjEpJiZkb2N1bWVudC5oaWRkZW49PTAsKE49Ry5aNj09NCl8fHQ\/Ry5KKCk6Ry5hbSkscS1HLmFtKSxHKS5HKz1WPj4xND5NLEcuSyYmKEcuS149KEcuRysxPj4yKSooVjw8MikpLEcuRysxPj4yKSE9TXx8Ry5OLE58fHQpRy5hbT1xLEcuWjY9TTt0PyhHLkltPkcuT0smJihHLk9LPUcuSW0pLHEtRy5sMzxHLkltLSh4PzI1NTpUPzU6Mik\/Yz1mYWxzZTooRy5GVj1LLHc9WihHLFQ\/MzU4OjcpLG4oNyxHLEcuQyksRy52LnB1c2goW01NLHcsVD9LKzE6SyxHLmosRy5ZXSksRy5oPUZzLGM9dHJ1ZSkpOmM9ZmFsc2UsUD02MH1lbHNlIFA9PTI1JiYoUD02OSl9fX0sRUc9ZnVuY3Rpb24oRixNLFQsSyl7Zm9yKEs9NjQ7SyE9Mjk7KWlmKEs9PTc4KUs9KE18NDgpPT1NPzQ6RjtlbHNlIGlmKEs9PTIzKUs9KE0mNDEpPT1NPzcyOjc4O2Vsc2UgaWYoSz09NClUPU1hdGguZmxvb3IodGhpcy51MysodGhpcy5KKCktdGhpcy5sMykpLEs9RjtlbHNlIGlmKEs9PTg0KXRoaXNbdGhpcysiIl09dGhpcyxLPTIzO2Vsc2UgaWYoSz09NzIpSz03ODtlbHNlIGlmKEs9PTk4KUs9TSszPDI0JiZNKzE+PTk\/ODQ6MjM7ZWxzZSBpZihLPT02NClLPTk4O2Vsc2UgaWYoSz09RilyZXR1cm4gVH0sT0c9ZnVuY3Rpb24oRixNLFQsSyx4KXt7eD1GO3doaWxlKHghPTg4KWlmKHg9PTExKUs9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKE0sWncpJiZNW1p3XXx8KE1bWnddPSsrbDApLHg9Nzk7ZWxzZSBpZih4PT03OSl4PShUKzJeMjMpPFQmJihUKzEmMzEpPj1UPzk2OjE4O2Vsc2UgaWYoeD09Ril4PTk1O2Vsc2UgaWYoeD09OTYpdGhpcy5zcmM9TSx0aGlzLmk9e30sdGhpcy5zSz0wLHg9MTg7ZWxzZSBpZih4PT05NSl4PShUfDEpJjI\/Nzk6MTE7ZWxzZSBpZih4PT0xOClyZXR1cm4gS319LHhZPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjKXtmb3IodD0yNjt0IT0yNTspaWYodD09NDIpcT1NYXRoLmZsb29yKHRoaXMuSigpKSx0PTYzO2Vsc2UgaWYodD09OTApdD0oRiYxMDYpPT1GPzQxOjgxO2Vsc2UgaWYodD09MzcpTisrLHQ9NTtlbHNlIGlmKHQ9PTI5KXE9VC5jbGFzc0xpc3Q\/VC5jbGFzc0xpc3Q6TVgoOSxNLCJzdHJpbmciLFQpLm1hdGNoKC9cXFMrL2cpfHxbXSx0PTk3O2Vsc2UgaWYodD09OTYpYz1mdW5jdGlvbigpe30sSz12b2lkIDAsVj1XOChNLGZ1bmN0aW9uKFAseSl7Zm9yKHk9OTc7eSE9OTg7KXk9PTEyPyhUJiZGcyhUKSxLPVAsYygpLGM9dm9pZCAwLHk9OTgpOnk9PTk3JiYoeT1jPzEyOjk4KX0sISFUKSx4PVZbMV0sRz1WWzBdLHE9e3RvcDpmdW5jdGlvbihQLHkseixELEgsWSxkKXtmb3IoZD04NTtkIT02ODspaWYoZD09OTUpWSgpLGQ9Njg7ZWxzZSBpZihkPT02MilkPUs\/OTU6OTtlbHNlIGlmKGQ9PTg1KVk9ZnVuY3Rpb24oKXtLKGZ1bmN0aW9uKEIpe0ZzKGZ1bmN0aW9uKCl7UChCKX0pfSx6KX0sZD01MTtlbHNlIGlmKGQ9PTUxKWQ9eT82MjoxODtlbHNlIGlmKGQ9PTkpRD1jLGM9ZnVuY3Rpb24oKXsoRCgpLEZzKShZKX0sZD02ODtlbHNlIGlmKGQ9PTE4KXJldHVybiBIPUcoeiksUCYmUChIKSxIfSxwZTpmdW5jdGlvbihQKXt4JiZ4KFApfX0sdD0zNjtlbHNlIGlmKHQ9PTI2KXQ9OTA7ZWxzZSBpZih0PT0xOCl0PShGJjg5KT09Rj80Mjo2MztlbHNlIGlmKHQ9PTYyKVRBKGZhbHNlLHgsMCwzMix0cnVlLHcsSyxHLFYpLHQ9MTg7ZWxzZSBpZih0PT0zMil4WSgxMiwib2JqZWN0IixmYWxzZSxLLHgsRyxWW05dLHcpLHQ9Mzc7ZWxzZSBpZih0PT00MSlHPXR5cGVvZiB4LFY9RyE9VD9HOng\/QXJyYXkuaXNBcnJheSh4KT8iYXJyYXkiOkc6Im51bGwiLHE9Vj09S3x8Vj09VCYmdHlwZW9mIHgubGVuZ3RoPT1NLHQ9ODE7ZWxzZSBpZih0PT0zNil0PShGPj4xJjIxKT09ND83NjoxODtlbHNle2lmKHQ9PTYzKXJldHVybiBxO3Q9PTU\/dD1OPFYubGVuZ3RoPzMyOjE4OnQ9PTY\/KEc9R0EoMzMsRyksSyYmS1t0Ml0\/Sy5ILmFkZChTdHJpbmcoViksRyxULGM4KDgsTSx4KT8hIXguY2FwdHVyZTohIXgsdyk6c0coZmFsc2UsMTUsIm9iamVjdCIsRyx3LFYseCxULEspLHQ9MTgpOnQ9PTk3P3Q9Ris5JjIyPzM2Ojk2OnQ9PTc\/KE49MCx0PTE1KTp0PT03Nj90PXgmJngub25jZT82MjozMzp0PT0xNT90PTU6dD09ODE\/dD0oRnw0MCk9PUY\/Mjk6OTc6dD09MzMmJih0PUFycmF5LmlzQXJyYXkoVik\/Nzo2KX19LGRZPWZ1bmN0aW9uKEYpe3JldHVybiBYYi5jYWxsKHRoaXMsOCwzLEYpfSxrWT1mdW5jdGlvbihGLE0pe2lmKGZhbHNlIT0hW10hPW51bGwpcmV0dXJuIEcwLmNhbGwodGhpcyw5LDMsRixNKX0sblk9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMsUCx5KXt5PTczO3tjPTk7d2hpbGUodHJ1ZSl0cnl7aWYoeT09MClicmVhaztlbHNlIGlmKHk9PTcxKXk9MjY7ZWxzZSBpZih5PT03MCl5PUsmJkYuaD82OjMxO2Vsc2UgaWYoeT09NjMpUD13LHk9NDU7ZWxzZSBpZih5PT0zNCljPTksd1YoMjA0OCxxLCI6IixGLDI0KSx5PTg4O2Vsc2UgaWYoeT09MSl5PShHJjQ0KT09Rz83MTo0NTtlbHNlIGlmKHk9PTI2KXk9Ri52Lmxlbmd0aD8zMzo2MztlbHNlIGlmKHk9PTczKXk9Mzg7ZWxzZSBpZih5PT04OCljPTkseT03MDtlbHNlIGlmKHk9PTE3KWM9ODAsdz1zeShGLE4sTSx4KSx5PTg4O2Vsc2UgaWYoeT09NDMpSz1NLEs9KHg9Szw8MTMsLX4oSyZ4KSt+eCsoSyZ+eCkrMioofksmeCkpLEtePUs+PjE3LEs9KEY9Szw8NSwtKEt8MCktMS1+KEt8RikrKEsmfkYpKSwoSyY9VCl8fChLPTEpLFA9KFZ8SykrfihWJkspLSAtMSx5PTE7ZWxzZSBpZih5PT0zOCl5PShHLTMmMyk+PTImJihHKzgmNik8Mz80MzoxO2Vsc2UgaWYoeT09MzEpeT0yNjtlbHNlIGlmKHk9PTMzKUYuaD1WLE49Ri52LnBvcCgpLHk9MTc7ZWxzZXtpZih5PT00NSlyZXR1cm4gUDt5PT02JiYodD1GLmgsdChmdW5jdGlvbigpe2UoMTYsMCxULFQsRil9KSx5PTYzKX19Y2F0Y2goeil7aWYoYz09OSl0aHJvdyB6O2M9PTgwJiYocT16LHk9MzQpfX19LFlZPWZ1bmN0aW9uKCl7cmV0dXJuIEouY2FsbCh0aGlzLDMpfSxYYj1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0KXtmb3IodD0xMDt0IT0yNjspaWYodD09Njkpdz13PDxLfFRbR10seCs9Syx0PTgzO2Vsc2UgaWYodD09NTApdD0oTT4+MiYyMyk9PTI\/ODA6Mjg7ZWxzZSBpZih0PT04MClUKGZ1bmN0aW9uKHEpe3EoSyl9KSxOPVtmdW5jdGlvbigpe3JldHVybiBLfSxmdW5jdGlvbigpe31dLHQ9Mjg7ZWxzZSBpZih0PT04Myl0PTMwO2Vsc2UgaWYodD09NzkpTj1UJiZULnBhcmVudE5vZGU\/VC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKFQpOm51bGwsdD04OTtlbHNlIGlmKHQ9PTc3KXQ9MzA7ZWxzZSBpZih0PT04OSl0PU0tNzw8Mj49TSYmKE0tMnw1Nyk8TT82Nzo1O2Vsc2UgaWYodD09OTkpeC09RixWLnB1c2godz4+eCYyNTUpLHQ9Nzc7ZWxzZSBpZih0PT00Nil0PU0rRj4+ND84OTo3OTtlbHNlIGlmKHQ9PTE4KU49Vix0PTI7ZWxzZSBpZih0PT02NClHKyssdD05NjtlbHNle2lmKHQ9PTIpcmV0dXJuIE47dD09MTA\/dD01MDp0PT01P3Q9KE1eMTcpPDcmJihNfDUpPj4zPj0xPzg2OjI6dD09ODY\/KHg9Rz0wLFY9W10sdD05MCk6dD09OTY\/dD1HPFQubGVuZ3RoPzY5OjE4OnQ9PTY3PyhHPUooNTksMSxLLHgpLChWPUc+PVQpJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoSyxHLDEpLE49Vix0PTUpOnQ9PTkwP3Q9OTY6dD09MT8oSy5NWihmdW5jdGlvbihxKXtHPXF9LFQseCksTj1HLHQ9NDYpOnQ9PTI4P3Q9TSs2JjEzPzQ2OjE6dD09MzAmJih0PXg+Nz85OTo2NCl9fSxsPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjKXtpZigoVCszXjgpPFQmJihULTleMjApPj1UKWlmKHg9VmQoInNwbGljZSIsIm51bWJlciIsSyk9PT0iYXJyYXkiP0s6W0tdLHRoaXMuRilGKHRoaXMuRik7ZWxzZSB0cnl7Rz1bXSxWPSF0aGlzLnYubGVuZ3RoLHUodGhpcywzMywwLFtQXyxHLHhdKSx1KHRoaXMsMzQsMCxbdEQsRixHXSksTSYmIVZ8fGUoMTYsMCx0cnVlLE0sdGhpcyl9Y2F0Y2goUCl7d1YoMjA0OCxQLCI6Iix0aGlzLDIxKSxGKHRoaXMuRil9cmV0dXJuKChUXigoVCYxMDYpPT0oKFQmMjkpPT1UJiYoeD1yVig4LHRydWUsTSkseCYxMjgmJih4PShHPXgmMTI3LEs9clYoOCx0cnVlLE0pPDxGLChLfDApK35LLX4oR3xLKSkpLHE9eCksVCkmJih3PUcmNyx0PWNfLHg9Wy01OCwtOTAsODMsNDIsMjcsLTgyLHgsLTY2LC00NCw1Nl0sTj14bltNLlVdKE0uSGIpLE5bTS5VXT1mdW5jdGlvbihQKXt3Kz02KzcqRyx3Jj0oVj1QLDcpfSxOLmNvbmNhdD1mdW5jdGlvbihQLHkseixEKXtyZXR1cm4oKFY9KHo9KEQ9KFA9SyUxNisxLC0xNzUqSypLKlYpLVAqVit4W3crMzUmN10qSypQLTE1NDAqVit3LSAtMzE1MCpLKlYrMzUqVipWKyh0KCl8RikqUCs1KksqSypQLHgpW0RdLHZvaWQgMCkseClbKHk9dys2OSwtOC0yKn4oeXw3KS0oeV43KSsofnl8NykpKyhHJjIpXT16LHgpW3crKEcmMildPS05MCx6fSxxPU4pLDI5KSkmNyk9PTQmJihLPXhuW00uVV0oTS5iNiksS1tNLlVdPWZ1bmN0aW9uKCl7cmV0dXJuIEZ9LEsuY29uY2F0PWZ1bmN0aW9uKFApe0Y9UH0scT1LKSwoVC0yXjkpPj1UJiYoVCsyXjI0KTxUJiYocT1jPWZ1bmN0aW9uKCl7Zm9yKHZhciBQPTI4O1AhPTU2OylpZihQPT0yOClQPUcuTj09Rz81NTo1NjtlbHNlIGlmKFA9PTYyKVA9Sz09Mj8zNTo0O2Vsc2UgaWYoUD09MzUpe3ZhciB5PWUoKHUoRywzMiwwLEQpLDY1KSwwLEYsRixHKTtQPTQzfWVsc2UgaWYoUD09NTUpUD1HLkI\/MjE6NTQ7ZWxzZSBpZihQPT05OCl7dmFyIHo9IUcudi5sZW5ndGg7UD0odShHLDM1LDAsRCkseiYmZSg2NCwwLEYsRixHKSw0Myl9ZWxzZXtpZihQPT00MylyZXR1cm4geTtpZihQPT05Mil5PXN5KEcsRCwyLDYpLFA9NDM7ZWxzZSBpZihQPT01NCl3JiZOJiZ3LnJlbW92ZUV2ZW50TGlzdGVuZXIoTixjLHdZKSxQPTU2O2Vsc2UgaWYoUD09NClQPUs9PU0\/OTg6OTI7ZWxzZSBpZihQPT0yMSl2YXIgRD1bTk0seCwoUD02MixWKSx2b2lkIDAsdyxOLGFyZ3VtZW50c119fSkscX0sb0Q9ZnVuY3Rpb24oRixNKXtyZXR1cm4gRzAuY2FsbCh0aGlzLDksNjgsRixNKX0sdT1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEsYyl7Zm9yKHE9NDg7cSE9NDY7KWlmKHE9PTkyKVYrPVQuY2hhckNvZGVBdCh4KSxWKz1WPDwxMCxWPSh3PVY+PjYsKFZ8MCkrKHd8MCktMiooViZ3KSkscT0zO2Vsc2UgaWYocT09NDEpcT1LLmlbeF0ubGVuZ3RoPT1UPzk0OjYwO2Vsc2UgaWYocT09NjApcT0oTV40NCk+PjM9PTI\/NjQ6NDQ7ZWxzZSBpZihxPT0zOClWKz1WPDwzLFY9KHQ9Vj4+MTEsKFZ8dCkrfihWfHQpKyhWJn50KS0oVnx+dCkpLEc9VisoVjw8MTUpPj4+MCxOPW5ldyBOdW1iZXIoRyYoMTw8RiktMSksTlswXT0oRz4+PkYpJUssYz1OLHE9NDQ7ZWxzZSBpZihxPT0zKXgrKyxxPTQyO2Vsc2UgaWYocT09NDIpcT14PFQubGVuZ3RoPzkyOjM4O2Vsc2UgaWYocT09NDgpcT02NTtlbHNlIGlmKHE9PTApJFkoMSwyMSx0cnVlLEYpLHE9NDE7ZWxzZSBpZihxPT0yNylxPShNLTJ8NzEpPE0mJk0tNjw8MT49TT81Mjo2MDtlbHNlIGlmKHE9PTY1KXE9KE0tMXwxKT49TSYmTS04PDwxPE0\/NTU6MTU7ZWxzZSBpZihxPT00NClxPShNLTF8OCk+PU0mJihNKzdeMTgpPE0\/MTg6NTM7ZWxzZSBpZihxPT05NilGLnYuc3BsaWNlKFQsVCxLKSxxPTI3O2Vsc2UgaWYocT09NjQpVj14PTAscT02O2Vsc2UgaWYocT09MTUpcT1NPj4yJjIzPzI3Ojk2O2Vsc2UgaWYocT09NTUpdHlwZW9mIEYuY2xhc3NOYW1lPT1UP0YuY2xhc3NOYW1lPUs6Ri5zZXRBdHRyaWJ1dGUmJkYuc2V0QXR0cmlidXRlKCJjbGFzcyIsSykscT0xNTtlbHNlIGlmKHE9PTUyKXg9Ri50eXBlLHE9Mjk7ZWxzZSBpZihxPT0yOSlxPXggaW4gSy5pJiZYYig4LDYyLFQsSy5pW3hdLEYpPzA6NjA7ZWxzZXtpZihxPT01MylyZXR1cm4gYztxPT0xOD8oYz0oTj1RbFtULnN1YnN0cmluZygwLDMpKyJfIl0pP04oVC5zdWJzdHJpbmcoMyksRixLLHgsRyxWLHcpOlhiKDgsOCxGLFQpLHE9NTMpOnE9PTY\/cT00MjpxPT05NCYmKGRlbGV0ZSBLLmlbeF0sSy5zSy0tLHE9NjApfX0sYzg9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCl7Zm9yKE49MzY7TiE9MTU7KWlmKE49PTEzKU49KEYrMyY0Nyk8RiYmKEYtN144KT49Rj8zMjoxNztlbHNlIGlmKE49PTEwKU49KEYtMl4xMSk8RiYmKEYtMl43KT49Rj85NDoxMztlbHNlIGlmKE49PTMyKXtmb3IoRyBpbiBWPU0sSy5pKXtmb3IoeD1LLmlbR10sdz1NO3c8eC5sZW5ndGg7dysrKSsrViwkWSgxLDE5LFQseFt3XSk7Sy5zSy0tLGRlbGV0ZSBLLmlbR119Tj0xN31lbHNlIGlmKE49PTE3KU49KEZ8MjQpPT1GPzYzOjQzO2Vsc2UgaWYoTj09MzYpTj03MTtlbHNlIGlmKE49PTE5KU49VjxHPzk4OjEzO2Vsc2V7aWYoTj09NylyZXR1cm4gdDtOPT05OD8oViBpbiB3JiZLLmNhbGwodm9pZCAwLHdbVl0sVix4KSxOPTQ1KTpOPT04Mz9OPTE5Ok49PTYzPyh0aGlzW3RoaXMrIiJdPXRoaXMsdD1Qcm9taXNlLnJlc29sdmUoKSxOPTQzKTpOPT05ND8oRz14Lmxlbmd0aCx3PXR5cGVvZiB4PT09InN0cmluZyI\/eC5zcGxpdChNKTp4LFY9VCxOPTgzKTpOPT0yNT8oSz1NLHQ9ZnVuY3Rpb24oKXtyZXR1cm4gSzxULmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpUW0srK119Ontkb25lOnRydWV9fSxOPTEwKTpOPT00Mz9OPShGLTNeOCk+PUYmJkYtNzw8MTxGPzQ6NzpOPT00NT8oVisrLE49MTkpOk49PTcxP049KChGfDMpJjE1KTw1JiZGKzM+PTE0PzI1OjEwOk49PTQmJihLPXR5cGVvZiBULHQ9Sz09TSYmVCE9bnVsbHx8Sz09ImZ1bmN0aW9uIixOPTcpfX0sSzU9ZnVuY3Rpb24oKXtyZXR1cm4gRzAuY2FsbCh0aGlzLDksNSl9LHlsPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjLFAseSx6LEQsSCl7aWYoKEQ9TyhGLDcpLEQpPj1GLkMpdGhyb3dbWW4sMzFdO2Zvcih0PTAsTj1NLHo9Ri5XYi5sZW5ndGgseD1EO04+MDspRz14JTgscT04LShHfDApLGM9cTxOP3E6TixLPXg+PjMsdz1GLkQ2W0tdLFQmJihIPUYsVj14LEguTCE9Vj4+NiYmKEguTD1WPj42LFA9WihILDIwMiksSC5CYj1tRCgyNCxILkssMjU1LEguTCxbMCwwLFBbMV0sUFsyXV0pKSx3Xj1GLkJiW0smel0pLHR8PSh3Pj44LShHfDApLShjfDApJigxPDxjKS0xKTw8KE58MCktKGN8MCksTi09Yyx4Kz1jO3JldHVybiB2KCh5PXQsRiksNywoRHwwKSsoTXwwKSkseX0sbj1mdW5jdGlvbihGLE0sVCl7aWYoRj09N3x8Rj09MzU4KU0uQltGXT9NLkJbRl0uY29uY2F0KFQpOk0uQltGXT1sKFQsTSw4MSk7ZWxzZXtpZihNLmIzJiZGIT0yMDIpcmV0dXJuO0Y9PTIyN3x8Rj09MjQ1fHxGPT0zMTd8fEY9PTI2NHx8Rj09MTgwfHxGPT00NjB8fEY9PTUwOHx8Rj09MjA3fHxGPT0yMzh8fEY9PTQ1ND9NLkJbRl18fChNLkJbRl09bCgwLE0sNjQsRixULDIyKSk6TS5CW0ZdPWwoMCxNLDcyLEYsVCw4MSl9Rj09MjAyJiYoTS5LPXlsKE0sMzIsZmFsc2UpLE0uTD12b2lkIDApfSxiPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYpe1Y9dGhpczt0cnl7a24oVCx0aGlzLE0sSyx4LEYsRyl9Y2F0Y2godyl7d2hpbGUodHJ1ZSlpZih3VigyMDQ4LHcsIjoiLHRoaXMsMjUpLEYoZnVuY3Rpb24oTil7TihWLkYpfSksMTUpYnJlYWt9fSxSRD1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTix0LHEpe2ZvcihLPShUPShxPU0ucmVwbGFjZSgvXFxyXFxuL2csIlxcbiIpLDApLHc9W10sMCk7VDxxLmxlbmd0aDtUKyspTj1xLmNoYXJDb2RlQXQoVCksTjwxMjg\/d1tLKytdPU46KE48MjA0OD93W0srK109KFY9Tj4+NiwtMS1+Vi0oflZeMTkyKSsoflZ8MTkyKSk6KDY0NTEyLSh+TiY2NDUxMik9PTU1Mjk2JiZUKzE8cS5sZW5ndGgmJihxLmNoYXJDb2RlQXQoVCsxKSY2NDUxMik9PTU2MzIwPyhOPTY1NTM2KygoTiYxMDIzKTw8MTApKyhxLmNoYXJDb2RlQXQoKytUKSYxMDIzKSx3W0srK109Tj4+MTh8MjQwLHdbSysrXT0oRz1OPj5GJjYzLDI1Ni1+RystMjU4LShHfC0xMjkpKSk6d1tLKytdPU4+PkZ8MjI0LHdbSysrXT0odD1OPj42JjYzLC1+dCsodF4xMjgpKyh+dHwxMjgpKSksd1tLKytdPSh4PU4mNjMsLX54Kyh4Ji0xMjkpKyh+eF4xMjgpKzIqKH54JjEyOCkpKTtyZXR1cm4gd30sT3k9ZnVuY3Rpb24oRil7cmV0dXJuIEouY2FsbCh0aGlzLDQwLEYpfSxwWT1mdW5jdGlvbigpe3JldHVybiBoMi5jYWxsKHRoaXMsODAsNSl9LGtuPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQpe049KChNLkhiPUcwKDksMjksKChNLnR4PUw1LE0uaHg9QzUsTSkuV2I9TVt0RF0sTS5VKSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29uY2F0KCl9fSksTSkuYjY9eG5bTS5VXShNLkhiLHt2YWx1ZTp7dmFsdWU6e319fSksMCk7e3Q9W107d2hpbGUoTjwyODcpdFtOXT1TdHJpbmcuZnJvbUNoYXJDb2RlKE4pLE4rK31pZigoTS5Rcj1bXSx3PXdpbmRvdy5wZXJmb3JtYW5jZXx8e30sTSkuRz0oTS5GPXZvaWQgMCxNLnU2PTAsTS5DPTAsTS5ENj1bXSxNLmw9dm9pZCAwLE0uZ1A9W10sMSksdHJ1ZSlNLmg9bnVsbDtNLmwzPShNLnY9KCgoTS5ZTj1mYWxzZSxNKS53UD1ULE0pLk9LPTAsTS5Mdj1bXSxbXSksMCksTS5CPVtdLE0udTM9MDt3aGlsZSgxMClpZihNLlo9dm9pZCAwLHRydWUpYnJlYWs7KE0uWjY9KE0ueE49KE0uT0M9ZnVuY3Rpb24ocSl7cmV0dXJuIEk0LmNhbGwodGhpcyxxLDMpfSxNLllFPUssTS5MPSgoKE0uYjM9ZmFsc2UsTSkuS3Y9W10sTS5qPWZhbHNlLE0pLmFtPShNLks9dm9pZCAwLE0ubDY9KE0uVUs9ZmFsc2UsKE0ubnE9MjUsTSkuRlY9ODAwMSxmYWxzZSksTS5CYj0oTS5JbT0wLHZvaWQgMCksTS5xWD0oTS5TPSgoTS5ZPWZhbHNlLE0pLk49TSwwKSxNLmphPXZvaWQgMCx3LnRpbWVPcmlnaW58fCh3LnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCksMCksdm9pZCAwKSwwKSxNLmhSPVtdLHZvaWQgMCksRikmJkYubGVuZ3RoPT0yJiYoTS5Ldj1GWzFdLE0uTHY9RlswXSk7Zm9yKCFbXTtWOzEpe3RyeXtNLmphPUpTT04ucGFyc2UoVil9Y2F0Y2gocSl7TS5qYT17fX1pZigwPT0hWyIiXSlicmVha31lKDE3LDAsdHJ1ZSx0cnVlLCh1KE0sMzQsKHUoTSwodShNLChJKDM1LGZ1bmN0aW9uKHEsYyxQLHkseixELEgsWSxkLEIscCxVLFcsVmwsaCl7Zm9yKGg9ODE7aCE9MTE7KWlmKGg9PTQ4KWg9SDxZPzkzOjExO2Vsc2UgaWYoaD09OTEpaD1xLk49PXE\/OTQ6MTE7ZWxzZSBpZihoPT04MSloPUooMzcsMCx0cnVlLGMsdHJ1ZSxxKT8xMTo1NztlbHNlIGlmKGg9PTc0KUgrPWQsaD00ODtlbHNlIGlmKGg9PTY0KWg9VmQoInNwbGljZSIsIm51bWJlciIsUCk9PSJvYmplY3QiPzk6OTE7ZWxzZSBpZihoPT05KXtmb3IoVmwgaW4gRD1bXSxQKUQucHVzaChWbCk7aD0oUD1ELDkxKX1lbHNlIGg9PTkzPyhVKFAuc2xpY2UoSCwzKihIJmQpK35kLSh+SF5kKSsofkgmZCkpLEIpLGg9NzQpOmg9PTk0PyhIPTAsWT1QLmxlbmd0aCxkPWQ+MD9kOjEsaD01OCk6aD09NTg\/aD00ODpoPT01NyYmKFc9ayhxLDI0KSxwPWsocSw3KSx6PWsocSw0OCkseT1YKDMyLHEpLFU9UyhxLHApLFA9TyhxLFcpLGQ9TyhxLHopLEI9UyhxLHkpLGg9NjQpfSxNLChJKDU5LChmKDI2NCxNLCRuKChJKDMsZnVuY3Rpb24ocSxjLFAseSx6LEQsSCxZKXtIPVoocSwoRD0oYz1rKHEsKHo9ayhxLCh5PWsocSwoWT1YKDM0LHEpLDEwKSksNDgpKSw1KSksWikocSxjKSxQPU8ocSx5KSx6KSksbihZLHEsbChmYWxzZSwxLDE5LEQsUCxxLEgpKX0sKEkoMzUsKEkoKEkoMjYsKEkoMzUsZnVuY3Rpb24oKXt9LChJKDU4LChNLmdrPShJKDI3LGZ1bmN0aW9uKHEsYyxQKXtmKChjPShQPWsocSwyNCksWCkoMzUscSksYykscSwiIitPKHEsUCkpfSwoSSgzNCxmdW5jdGlvbihxKXtyWSg0LHEpfSxNLChJKDU4LGZ1bmN0aW9uKHEsYyxQLHkseixELEgsWSxkLEIscCl7Zm9yKHA9Mjc7cCE9ODQ7KXA9PTI3PyhZPWsocSw2KSxkPWsocSwxMiksRD1rKHEsMzIpLGM9ayhxLDcpLEI9TyhxLGQpLFA9TyhxLEQpLEg9WihxLk4sWSkseT1aKHEsYykscD00OSk6cD09NDk\/cD1IIT09MD81NDo4NDpwPT01NCYmKHo9bChmYWxzZSwxLDE4LDEsUCxxLHksSCxCKSxILmFkZEV2ZW50TGlzdGVuZXIoQix6LHdZKSxPKHEsMTcpLnB1c2goZnVuY3Rpb24oKXtILnJlbW92ZUV2ZW50TGlzdGVuZXIoQix6LHdZKX0pLG4oNDkwLHEsW0gsQix6XSkscD04NCl9LChJKDM0LChJKChJKDI3LGZ1bmN0aW9uKHEsYyxQLHkseil7Zm9yKHo9OTg7eiE9MjQ7KXo9PTMzPyhQPVgoMzIscSkseT1rKHEsMTIpLG4oeSxxLGZ1bmN0aW9uKEQpe3JldHVybiBldmFsKEQpfShiQyhPKHEuTixQKSkpKSx6PTI0KTp6PT05OCYmKHo9SigyOSwwLHRydWUsYyxmYWxzZSxxKT8yNDozMyl9LE0sKGYoMjI3LE0sKEkoMyxmdW5jdGlvbihxLGMsUCx5LHosRCl7e0Q9MzQ7d2hpbGUoRCE9MzcpRD09MzQ\/KFA9ayhxLDE5KSxjPWwoNyxxLDI5KSx6PVtdLEQ9eT0wKTpEPT0wP0Q9NjA6RD09NjE\/KGYoUCxxLHopLEQ9MzcpOkQ9PTY1Pyh6LnB1c2goclYoOCx0cnVlLHEpKSxEPTIyKTpEPT0yMj8oeSsrLEQ9NjApOkQ9PTYwJiYoRD15PGM\/NjU6NjEpfX0sTSwoSSg1OCxmdW5jdGlvbihxLGMsUCl7Yz1PKChQPWsocSw3KSxxLk4pLFApLGNbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihjWzFdLGNbMl0sd1kpfSwoSSgyNywoTS5qWD0odihNLDQ1NCwoSSgyNixmdW5jdGlvbihxLGMsUCx5KXtuKCh5PVgoMzUsKGM9clYoOCwoUD1rKHEsMTQpLHRydWUpLHEpLHEpKSx5KSxxLFoocSxQKT4+PmMpfSwoSSgzNCwoZigxNywobigxODAsTSwodihNLCh2KE0sMjM4LChJKDU4LGZ1bmN0aW9uKHEsYyxQLHkseil7KHk9VmQoInNwbGljZSIsKHo9KGM9ayhxLChQPWsocSw1KSw0OCkpLFMpKHEsUCksIm51bWJlciIpLHopLGYpKGMscSx5KX0sTSwoSSg1OSxmdW5jdGlvbihxLGMsUCx5LHosRCl7Zigoej1PKHEsKGM9WigoRD1YKDMwLCh5PWsocSwoUD1YKDMyLHEpLDEwKSkscSkpLHEpLHkpLFApKT09YyxEKSxxLCt6KX0sKGYoMjkyLE0sKGYoMzE3LCh2KE0sKHYoTSwodigoTS5RZz0oSSgyNyxmdW5jdGlvbihxLGMsUCx5LHope24oKGM9TyhxLCh6PSh5PVgoMzMsKFA9ayhxLDMyKSxxKSksTyhxLHkpKSxQKSkseSkscSx6K2MpfSwobigxMTUsTSwoSSgyNixmdW5jdGlvbihxKXtwNSgzLHEpfSxNLChJKChJKDMsZnVuY3Rpb24ocSxjLFAseSx6LEQsSCxZLGQsQixwLFUsVyxWbCxoLEtZLFEsTlgscil7e3I9NTc7d2hpbGUociE9NjMpcj09MjE\/cj01OTpyPT05MT8oQj1OWCgxKSxjLnB1c2goQiksUCs9Qj8wOjEscj03NCk6cj09MTc\/KEQucHVzaChaKHEsWCgzMSxxKSkpLHI9MjgpOnI9PTc1P3I9eS0tPzE3OjA6cj09MD8oSSgzLGZ1bmN0aW9uKEwsRmIsYSxqSCxtXyxSKXtmb3IoUj00MTtSIT00NzspUj09ND8oRmIucHVzaChrKEwsNTYpKSxSPTk0KTpSPT0yNz9SPTUwOlI9PTUwP1I9bV8+PUZiLmxlbmd0aD80OjEzOlI9PTQxPyhqSD0wLGE9W10sRmI9W10sUj0zMSk6Uj09NTI\/Uj1qSDx6PzY1OjYzOlI9PTY1PyhtXz1RW2pIXSxSPTQyKTpSPT05Mz8oakgrKyxSPTUyKTpSPT0yOD8oYS5wdXNoKG1fKSxSPTkzKTpSPT05ND9SPTUwOlI9PTQyP1I9Y1tqSF0\/Mjg6Mjc6Uj09MTM\/KG1fPUZiW21fXSxSPTI4KTpSPT0zMT9SPTUyOlI9PTYzJiYoTC5sPWwoRC5zbGljZSgpLEwsNDkpLEwuWj1sKGEsTCw2NSksUj00Nyl9LHEsVmwpLHI9NjMpOnI9PTUwP3I9VTx6PzkxOjk1OnI9PTc0PyhVKysscj01MCk6cj09MTQ\/KGNbZF18fChRW2RdPU5YKFcpKSxyPTU1KTpyPT05ND8oY1toXSYmKFFbaF09ayhxLDU2KSkscj04Myk6cj09ODc\/cj01MDpyPT00Nz9yPTc1OnI9PTU1PyhkKysscj04KTpyPT01Nz8oTlg9ZnVuY3Rpb24oTCxGYil7Zm9yKDtIPEw7KXB8PXJWKDgsdHJ1ZSxxKTw8SCxIKz04O3JldHVybiBwPj49KEZiPXAmKDE8PEwpLShILT1MLDEpLEwpLEZifSxWbD1rKHEsMTkpLEg9cD0wLFk9KEtZPU5YKDMpLC0xLTIqfihLWXwxKSsofktZXjEpKSx6PU5YKDUpLFA9MCxjPVtdLFU9MCxyPTg3KTpyPT05OT8oaD0wLHI9MjEpOnI9PTI4P3I9NzU6cj09ODM\/KGgrKyxyPTU5KTpyPT01Mj9yPTg6cj09NDE\/KEQ9W10seT1ZLHI9NDcpOnI9PTg\/cj1kPHo\/MTQ6OTk6cj09OTU\/KFc9KDIrfihQfDEpKzIqKFAmLTIpLSh+UCYxKSkudG9TdHJpbmcoMikubGVuZ3RoLGQ9MCxRPVtdLHI9NTIpOnI9PTU5JiYocj1oPHo\/OTQ6NDEpfX0sKChJKDM1LGZ1bmN0aW9uKHEsYyxQLHkpe3YocSwoYz0oUD1rKHEsKHk9ayhxLDI0KSw2KSksayhxLDYpKSxjKSxTKHEseSl8fFoocSxQKSl9LCh2KE0sMjkzLChmKDQ0LChJKDM0LGZ1bmN0aW9uKHEsYyl7bigoYz1rKHEsMzIpLGMpLHEsW10pfSwobigzNTgsKGYoNyxNLChJKDI3LGZ1bmN0aW9uKHEsYyxQLHkseixELEgsWSxkLEIpe2ZvcihCPTY3O0IhPTU3OylCPT0zOD9CPUQ8Yy5sZW5ndGg\/NTg6NjI6Qj09NjI\/KG4oZCxxLEggaW4genwwKSxCPTU3KTpCPT0xNz9CPTM4OkI9PTU\/KEQrKyxCPTM4KTpCPT02Nz8oeT1YKDMzLHEpLFA9ayhxLDEzKSxkPVgoMjkscSksYz1TKHEseSksej1aKHEsUCksSD0iIixEPTAsQj0xNyk6Qj09NTgmJihIKz1TdHJpbmcuZnJvbUNoYXJDb2RlKChZPWNbRF0sLTItKFl8LTEyMiktKH5ZfDEyMSkpKSxCPTUpfSwoSSgzNSxmdW5jdGlvbihxLGMsUCx5LHosRCxILFksZCl7e2Q9MzE7d2hpbGUoZCE9OTYpZD09NzA\/KEgrPVN0cmluZy5mcm9tQ2hhckNvZGUoeltQXV4xMjEpLGQ9NTApOmQ9PTUwPyhQKyssZD00OCk6ZD09MzI\/ZD00ODpkPT03Nj8oZih5LHEsRFtIXSksZD05Nik6ZD09NDg\/ZD1QPHoubGVuZ3RoPzcwOjc2OmQ9PTMxJiYoYz1YKDI5LHEpLFk9WCgzMSxxKSx5PWsocSw0MCksRD1PKHEsYyksej1TKHEsWSksUD0wLEg9IiIsZD0zMil9fSwoSSgzNCxmdW5jdGlvbihxLGMsUCx5LHosRCxILFkpe3tZPTUyO3doaWxlKFkhPTU2KVk9PTU0PyhIPSgoSHwwKSsobCg3LHEsNSl8MCkpJXosYy5wdXNoKHlbSF0pLFk9MTkpOlk9PTUyPyhQPWsocSwxMyksRD1sKDcscSwxMyksYz1bXSx5PVMocSwxNjYpLEg9MCx6PXkubGVuZ3RoLFk9NzEpOlk9PTY\/KG4oUCxxLGMpLFk9NTYpOlk9PTc2P1k9RC0tPzU0OjY6WT09NzE\/WT03NjpZPT0xOSYmKFk9NzYpfX0sTSwyNCksTSksNDEyKSxNKSw0NjYpLDApKSxNKSwwKSxNKSwzNjcpLE0pLDUxKSxJKDU5LGZ1bmN0aW9uKHEsYyxQLHkseixELEgsWSl7e1k9NjA7d2hpbGUoWSE9NDApWT09OT9ZPTcwOlk9PTcwP1k9Yy0tPzgzOjMzOlk9PTMzPyhmKHoscSxEKSxZPTQwKTpZPT02MD8oej1rKHEsOSksYz1sKDcscSwyOCksRD0iIixIPVMocSwxNjYpLHk9SC5sZW5ndGgsUD0wLFk9OSk6WT09ODM\/KFA9KChQfDApKyhsKDcscSwxNil8MCkpJXksRCs9dFtIW1BdXSxZPTM4KTpZPT0zOCYmKFk9NzApfX0sTSwzOTEpLDApKSxNKSwyNzUpLG5ldyBJRCgiU3VibWl0IikpLmRpc3Bvc2UoKSxNKSwxOCksMyksZnVuY3Rpb24ocSxjLFAseSl7WihxLChQPU8ocSwoeT1rKHEsKGM9WCgzNCxxKSwxOCkpLHkpKSxjKSkhPTAmJm4oNyxxLFApfSxNLDQyNiksNDUwKSkse30pKSxNKSwyODcpLDApLE0pLDQ5MCwwKSw1MDgpLFtdKSw0NjApLFtdKSxNKSxbXSksRSkpLE0pLDQ4NCksMTAxKSksJG4oNCkpKSwyNDUpLCRuKDQpKSxJKDI2LGZ1bmN0aW9uKHEpe3A1KDQscSl9LE0sMjIyKSxbXSkpLE0pLFtdKSxmdW5jdGlvbihxLGMsUCx5LHope3t6PTU3O3doaWxlKHohPTQwKXo9PTQ\/KGYoNyxxLHEuQyksej00MCk6ej09ODA\/KFAtLSx6PTQyKTp6PT0yP3o9NDI6ej09ODQ\/KFA9clYoOCx0cnVlLHEpLHo9Mik6ej09NTc\/KGM9cS5nUC5wb3AoKSx6PTc1KTp6PT04OD8oY1sxODBdPXEuQlsxODBdLGNbNDU0XT1xLkJbNDU0XSxxLkI9Yyx6PTQwKTp6PT03NT96PWM\/ODQ6NDp6PT0yMz8oeT1rKHEsMTIpLGNbeV09cS5CW3ldLHo9ODApOno9PTQyJiYoej1QPjA\/MjM6ODgpfX0pLE0sMjgpLE0pLDQ1MiksWzIwNDhdKSksMCksZnVuY3Rpb24ocSxjLFAseSx6LEQpe2ZvcihEPTU2O0QhPTc4OylEPT01Nj9EPUooMjEsMCx0cnVlLGMsZmFsc2UscSk\/Nzg6NjE6RD09NjE\/KHk9QUQoOCxxLHRydWUsMCksUD15LmFULHo9eS5OWCxEPTU0KTpEPT01ND9EPXEuTj09cXx8ej09cS5PQyYmUD09cT82NTo3ODpEPT02NSYmKHYocSx5LnNDLHouYXBwbHkoUCx5LlgpKSxxLmFtPXEuSigpLEQ9NzgpfSksTSwyNzYpLE0pLDQzMyksODApKSxmKDIwNyxNLFswLDAsMF0pLFsxNTQsMCwwXSkpLDM0NSkpLDI2KSxmdW5jdGlvbihxLGMsUCx5LHosRCl7UD1PKChjPShEPVgoMjkscSksej1rKHEsNDApLFgoMzQscSkpLHEpLEQpO3doaWxlKHt9KWlmKHk9TyhxLHopLHt9KWJyZWFrO2YoYyxxLFBbeV0pfSxNLDQ3OCksZnVuY3Rpb24ocSxjKXtnWSgwLChjPVoocSxrKHEsOSkpLHEpLk4sMTA0LGMsNyl9KSxNLDE5NCksTSksMTcwKSx2KE0sMjEwLE0pLDEyNSkpLE0pLDM5OCksMCksZnVuY3Rpb24ocSl7WCg2LDAsNCxxKX0pLE0sMzU0KSxNKSw0NjcpLGZ1bmN0aW9uKHEsYyxQLHkseixELEgsWSxkLEIpe2ZvcihCPTgxO0IhPTY1OylCPT04MT9CPUooNTMsMCx0cnVlLGMsZmFsc2UscSk\/NjU6NTA6Qj09NTAmJih5PUFEKDgscS5OLHRydWUsMCksSD15LnNDLFk9eS5OWCxEPXkuYVQsUD15Llgsej1QLmxlbmd0aCxkPXo9PTA\/bmV3IERbWV06ej09MT9uZXcgRFtZXShQWzBdKTp6PT0yP25ldyBEW1ldKFBbMF0sUFsxXSk6ej09Mz9uZXcgRFtZXShQWzBdLFBbMV0sUFsyXSk6ej09ND9uZXcgRFtZXShQWzBdLFBbMV0sUFsyXSxQWzNdKToyKCksZihILHEsZCksQj02NSl9KSxNLDQ2OSksNTkpLGZ1bmN0aW9uKHEsYyxQLHkseixEKXtuKChjPU8ocSwoUD1PKChEPWsoKHo9WCgoeT1YKDMwLHEpLDM2KSxxKSxxKSwxNykscSkseSkseikpLEQpLHEsUCBpbiBjfDApfSxNLDgzKSxmdW5jdGlvbihxKXtyWSgxLHEpfSksTSw0KSxNKSw1MDApLDQpKSksZnVuY3Rpb24ocSxjLFAseSx6LEQsSCxZKXt7WT04MDt3aGlsZShZIT04NylZPT02PyhxLkw9dm9pZCAwLFk9NzYpOlk9PTUxP1k9cS5OPT1xPzY5Ojg3Olk9PTc2P1k9RD09Mj81Mjo4NzpZPT01Mj8ocS5LPXlsKHEsMzIsZmFsc2UpLHEuTD12b2lkIDAsWT04Nyk6WT09MjI\/WT15PT0yMDI\/Njo4NzpZPT04MD8oeT1rKHEsNTYpLFA9WCgzNixxKSxjPWsocSwxMCksWT01MSk6WT09NjkmJihEPVoocSxQKSxIPVMocSx5KSx6PVMocSxjKSxIW0RdPXosWT0yMil9fSksTSw0MDApLDUzKSksMzIpLDAsW3pBXSksMzUpLDAsW2lDLHhdKSwwKSxbdUMsR10pLE0pKX0saEQ9ZnVuY3Rpb24oRixNKXtmdW5jdGlvbiBUKCl7dGhpcy50Uj10aGlzLmc9dGhpcy5uPTB9cmV0dXJuWyhNPW5ldyAoVC5wcm90b3R5cGUuR2k9ZnVuY3Rpb24oSyx4KXtyZXR1cm4gc0cuY2FsbCh0aGlzLEssMjYseCl9LFQucHJvdG90eXBlLkRsPWZ1bmN0aW9uKCl7cmV0dXJuIERuLmNhbGwodGhpcywxNiwzKX0sRj1uZXcgVCxUKSxmdW5jdGlvbihLKXtGLkdpKEspO3doaWxlKG51bGw9PSghW109PWZhbHNlPT1bXSk9PSFbXSE9W10paWYoTS5HaShLKSwtMD09PTApYnJlYWt9KSxmdW5jdGlvbihLKXtyZXR1cm4gTT1uZXcgKEs9W0YuRGwoKSxNLkRsKCksRi5nLE0uZ10sVCksS31dfSxWZD1mdW5jdGlvbihGLE0sVCxLLHgpe0s9dHlwZW9mIFQ7c3dpdGNoKCEoSz09Im9iamVjdCIpKXtjYXNlIDA9PSghZmFsc2UhPSEiIik6Zm9yKDA9PSFbIiJdO0s9PSJmdW5jdGlvbiImJnR5cGVvZiBULmNhbGw9PSJ1bmRlZmluZWQiOyEiIj09ISgwIT0hW3VuZGVmaW5lZF0pKXtyZXR1cm4ib2JqZWN0IjtpZihudWxsIT1mYWxzZSlicmVha31icmVhaztjYXNlICEhbnVsbDpzd2l0Y2goIVQpe2Nhc2UgMD09PS0wOnJldHVybiJudWxsIjticmVhaztjYXNlICFbXTpzd2l0Y2goIShUIGluc3RhbmNlb2YgQXJyYXkpKXtjYXNlICFbIiJdPT1OdW1iZXIoKTp1bmRlZmluZWQ7YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm4iYXJyYXkiO2JyZWFrfWlmKFQgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIEs7aWYoKHg9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFQpLHgpPT0iW29iamVjdCBXaW5kb3ddIilpZih0cnVlKXJldHVybiJvYmplY3QiO2ZvcighIiI9PSEoW109PSgwPT1mYWxzZSkpO3g9PSJbb2JqZWN0IEFycmF5XSJ8fHR5cGVvZiBULmxlbmd0aD09TSYmdHlwZW9mIFQuc3BsaWNlIT0idW5kZWZpbmVkIiYmdHlwZW9mIFQucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhVC5wcm9wZXJ0eUlzRW51bWVyYWJsZShGKTtmYWxzZSl7cmV0dXJuImFycmF5IjtpZih0cnVlKWJyZWFrfWlmKHg9PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBULmNhbGwhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgVC5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFULnByb3BlcnR5SXNFbnVtZXJhYmxlKCJjYWxsIikpcmV0dXJuImZ1bmN0aW9uIjticmVha31icmVha31yZXR1cm4gS30scDU9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVil7ZXUoKChHPShUPShWPShGfCh4PUYmNCwwKSktIC0xKyh+RnwzKSxrKE0sMTgpKSxrKShNLDE0KSxLPVooTSxUKSx4JiYoSz1SRCgxMiwiIitLKSksVikmJmV1KE0sQyhLLmxlbmd0aCwyKSxHKSxNKSxLLEcpfSxJRD1mdW5jdGlvbihGLE0sVCl7cmV0dXJuIGp1LmNhbGwodGhpcyw1MyxNLDYsRixUKX0sU3U9ZnVuY3Rpb24oKXtyZXR1cm4gU0guY2FsbCh0aGlzLDU0LDgpfSxFeT1mdW5jdGlvbihGLE0sVCxLLHgpe2lmKEYubGVuZ3RoPT0zKXtmb3IoVD0wO1Q8MztUKyspTVtUXSs9RltUXTtmb3IoSz1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdLHg9MDt4PDk7eCsrKU1bM10oTSx4JTMsS1t4XSl9fSxKRD1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcsTil7c3dpdGNoKCEoRi5OPT1GKSl7Y2FzZSAwPT0hW3VuZGVmaW5lZF06ZmFsc2U7YnJlYWs7Y2FzZSAwIT0hW106Zm9yKEc9WihGLFQpLFQ9PTI0NXx8VD09MjM4fHxUPT0yNjQ\/KHg9ZnVuY3Rpb24odCxxLGMsUCx5LHosRCxILFkpe2ZvcihZPTM2LEQ9NTg7Oyl0cnl7aWYoWT09MzIpYnJlYWs7ZWxzZXtpZihZPT0wKXRocm93IEQ9NTgsSDtZPT03MD9ZPUcuQ3EhPVA\/NDA6MzpZPT01Nz8oRD05MCxHLnlyPW1EKDI0LGsoMywyNyxjLEcpLDI1NSxrKDMsNDMsMyooYyY0KSsyKn4oYyY0KS0gLTUtKH5jfDQpLEcpLHkpLFk9Myk6WT09NDA\/KEcuQ3E9UCxjPSh6PVA8PDMsLSh6XjQpLTIqKH56XjQpKzIqKHp8LTUpKSx5PVswLDAsTlsxXSxOWzJdXSxZPTU3KTpZPT0zPyhHLnB1c2goRy55cltxJjddXnQpLFk9MzIpOlk9PTM2JiYocT1HLmxlbmd0aCxQPShxfDApLTQ+PjMsWT03MCl9fWNhdGNoKGQpe2lmKEQ9PTU4KXRocm93IGQ7RD09OTAmJihIPWQsWT0wKX19LE49WihGLDIwNykpOng9ZnVuY3Rpb24odCl7Ry5wdXNoKHQpfSxLJiZ4KDUxMC0oS3wyNTUpKzIqKEsmLTI1NiktKEteMjU1KSksdz0wLFY9TS5sZW5ndGg7dzxWO3crKyl4KE1bd10pO2JyZWFrfX0sRHc9ZnVuY3Rpb24oRixNLFQpe3JldHVybihUPUYuY3JlYXRlKCkuc2hpZnQoKSxNLmwpLmNyZWF0ZSgpLmxlbmd0aHx8TS5aLmNyZWF0ZSgpLmxlbmd0aHx8KE0ubD12b2lkIDAsTS5aPXZvaWQgMCksVH0sTz1mdW5jdGlvbihGLE0sVCl7aWYoVD1GLkJbTV0sVD09PXZvaWQgMCl0aHJvd1tZbiwzMCxNXTtzd2l0Y2goIVQudmFsdWUpe2Nhc2UgdHJ1ZTohKDAhPSFbdHJ1ZS50cnVlXSkhPSEiIjticmVhaztjYXNlIG51bGw9PWZhbHNlOnJldHVybiBULmNyZWF0ZSgpO2JyZWFrfXJldHVybiBULmNyZWF0ZShNKjUqTSstOTAqTSs0NCksVC5wcm90b3R5cGV9LHZfPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQscSxjKXt7cT04MDt3aGlsZShxIT02MSlpZihxPT0zMClxPU48Sy5sZW5ndGg\/OTk6NjE7ZWxzZSBpZihxPT05NilxPTMwO2Vsc2UgaWYocT09MjUpe2E6e2lmKHcmJnR5cGVvZiB3Lmxlbmd0aD09TSl7aWYoYzgoMywib2JqZWN0Iix3KSl7dD10eXBlb2Ygdy5pdGVtPT0iZnVuY3Rpb24ifHx0eXBlb2Ygdy5pdGVtPT1WO2JyZWFrIGF9aWYodHlwZW9mIHc9PT0iZnVuY3Rpb24iKXt0PXR5cGVvZiB3Lml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19dD1mYWxzZX1xPShjOCgxMSxULEcsYyx0P1NIKDU0LDE2LEcsdyk6dyksNDEpfWVsc2UgcT09ODA\/KGM9ZnVuY3Rpb24oUCl7UCYmeC5hcHBlbmRDaGlsZCh0eXBlb2YgUD09PSJzdHJpbmciP0YuY3JlYXRlVGV4dE5vZGUoUCk6UCl9LE49MSxxPTk2KTpxPT05MD8oYyh3KSxxPTQxKTpxPT00MT8oTisrLHE9MzApOnE9PTgxP3E9IXhZKDEwLE0sIm9iamVjdCIsImFycmF5Iix3KXx8YzgoNywib2JqZWN0Iix3KSYmdy5ub2RlVHlwZT5HPzkwOjI1OnE9PTk5JiYodz1LW05dLHE9ODEpfX0sclY9ZnVuY3Rpb24oRixNLFQpe3JldHVybiBULmw\/RHcoVC5aLFQpOnlsKFQsRixNKX0sbUQ9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3KXt3PShWPTAseFsyXXwwKTt7Rz14WzNdfDA7d2hpbGUoVjwxNClHPUc+Pj44fEc8PEYsSz1LPj4+OHxLPDxGLEsrPU18MCxLXj13KzU1OCxNPU08PDN8TT4+PjI5LE1ePUssRys9d3wwLEdePVYrNTU4LHc9dzw8M3x3Pj4+Mjksd149RyxWKyt9cmV0dXJuW00+Pj5GJlQsTT4+PjE2JlQsTT4+PjgmVCxNPj4+MCZULEs+Pj5GJlQsSz4+PjE2JlQsSz4+PjgmVCxLPj4+MCZUXX0sWHM9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMsUCx5KXtNLnB1c2goKEc9KHE9RlswXTw8MjR8RlsxXTw8MTYsSz1GWzJdPDw4LDIqKEt8MCkrfkstKH5xfEspKSxjPUZbM10sKEcmYykrfmMtfihHfGMpKyh+RyZjKSkpLE0ucHVzaCgoeT1GWzRdPDwyNCxUPUZbNV08PDE2LH55LTIqfih5fFQpKyh5Jn5UKSsofnleVCkpfEZbNl08PDh8Rls3XSksTS5wdXNoKCh4PShOPShQPUZbOF08PDI0LHQ9Rls5XTw8MTYsLX5QKzIqKH5QJnQpKyhQfH50KSksdz1GWzEwXTw8OCwtfk4rKE4mfncpKyh+TiZ3KSsofk58dykpLFY9RlsxMV0sKHh8MCktMS0oeHx+VikpKX0sWj1mdW5jdGlvbihGLE0sVCl7VD1GLkJbTV07d2hpbGUoVD09PXZvaWQgMCl7dGhyb3dbWW4sMzAsTV07aWYodHJ1ZSlicmVha31mb3IodHJ1ZS50cnVlO1QudmFsdWU7dm9pZCB1bmRlZmluZWQpe3JldHVybiBULmNyZWF0ZSgpO2lmKGZhbHNlIT1udWxsKWJyZWFrfXJldHVybihULmNyZWF0ZShNKjUqTSstOTAqTSs0NCksVCkucHJvdG90eXBlfSxxTT1mdW5jdGlvbihGLE0pe3JldHVybiBlLmNhbGwodGhpcywzMixGLE0pfSxXOD1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcpe3JldHVybiB1LmNhbGwodGhpcyxNLDE3LEYsVCxLLHgsRyxWLHcpfSxRZD1mdW5jdGlvbihGLE0sVCxLKXt0cnl7Sz1GWyh+TSstMy00Kn4oTXwyKSsyKih+TV4yKSklM10sRltNXT0oRltNXXwwKS0oRlsoKE18MCkrMSklM118MCktKEt8MCleKE09PTE\/Szw8VDpLPj4+VCl9Y2F0Y2goeCl7dGhyb3cgeDt9fSxBLGdZPWZ1bmN0aW9uKEYsTSxULEsseCl7TS5nUC5sZW5ndGg+VD9VeShNLEYsW1luLDM2XSxGKTooTS5nUC5wdXNoKE0uQi5zbGljZSgpKSxNLkJbeF09dm9pZCAwLGYoeCxNLEspKX0sbjU9ZnVuY3Rpb24oKXtyZXR1cm4gdjguY2FsbCh0aGlzLDEsMyw2KX0sZj1mdW5jdGlvbihGLE0sVCl7aWYoRj09N3x8Rj09MzU4KU0uQltGXT9NLkJbRl0uY29uY2F0KFQpOk0uQltGXT1sKFQsTSwzMyk7ZWxzZXtpZihNLmIzJiZGIT0yMDIpcmV0dXJuO0Y9PTIyN3x8Rj09MjQ1fHxGPT0zMTd8fEY9PTI2NHx8Rj09MTgwfHxGPT00NjB8fEY9PTUwOHx8Rj09MjA3fHxGPT0yMzh8fEY9PTQ1ND9NLkJbRl18fChNLkJbRl09bCgwLE0sMzQsRixULDIyKSk6TS5CW0ZdPWwoMCxNLDQwLEYsVCw4MSl9Rj09MjAyJiYoTS5LPXlsKE0sMzIsZmFsc2UpLE0uTD12b2lkIDApfSxBMj1mdW5jdGlvbihGKXtyZXR1cm4gTVguY2FsbCh0aGlzLDcsRil9LHE4PWZ1bmN0aW9uKEYsTSxULEsseCl7cmV0dXJuIFRBLmNhbGwodGhpcyxmYWxzZSxLLEYsMyxNLFQseCl9LEM9ZnVuY3Rpb24oRixNLFQsSyx4KXtmb3IoeD0oTXwwKS0xLEs9W107eD49MDt4LS0pS1soTXwwKS0xLSh4fDApXT0oVD1GPj54KjgsLX5ULTIqKFQmLTI1NikrKFReMjU1KSsoVHwtMjU2KSk7cmV0dXJuIEt9LEFEPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyxOLHQpe3g9ayhNLChWPU1bakxdfHx7fSw0MCkpO3doaWxlKHt9KWlmKCEoVi5zQz1rKE0sMzIpLFtdKSE9dHJ1ZSlicmVhaztmb3IoRz0odz1YKDMzLChOPShWLlg9W10sTSkuTj09TT8odD1yVihGLFQsTSksMisyKih0Ji0yKSsodF4xKSsyKih+dF4xKSk6MSxNKSksSyk7RzxOO0crKylWLlgucHVzaChYKDMwLE0pKTtmb3IoO04tLTtWLlhbTl09WihNLFYuWFtOXSkpO3JldHVybiBWLmFUPVMoTSx3KSxWLk5YPU8oTSx4KSxWfSxmNT1mdW5jdGlvbihGLE0sVCxLLHgsRyl7cmV0dXJuIHhZLmNhbGwodGhpcywyMyxGLE0sVCxLLHgsRyl9LE04PWZ1bmN0aW9uKEYsTSl7ZnVuY3Rpb24gVCgpe3RoaXMudT1bXSx0aGlzLm49MH1yZXR1cm4gRj1uZXcgKE09KFQucHJvdG90eXBlLmk2PShULnByb3RvdHlwZS5yUD1mdW5jdGlvbihLLHgpe3JldHVybiBoMi5jYWxsKHRoaXMsODAsNixLLHgpfSxmdW5jdGlvbigpe3JldHVybiAkWS5jYWxsKHRoaXMsMSwxNil9KSxuZXcgVCksVCksW2Z1bmN0aW9uKEspe00uclAoSyksRi5yUChLKX0sZnVuY3Rpb24oSyl7cmV0dXJuIEY9bmV3IChLPU0uaTYoKS5jb25jYXQoRi5pNigpKSxUKSxLfV19LGkwPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oRixNLFQsSyl7e0s9NTQ7d2hpbGUoSyE9NzYpaWYoSz09NTQpSz1GPT1BcnJheS5wcm90b3R5cGV8fEY9PU9iamVjdC5wcm90b3R5cGU\/OTE6MTY7ZWxzZXtpZihLPT05MSlyZXR1cm4gRjtpZihLPT0xNilyZXR1cm4gRltNXT1ULnZhbHVlLEZ9fX0sdj1mdW5jdGlvbihGLE0sVCl7aWYoTT09N3x8TT09MzU4KUYuQltNXT9GLkJbTV0uY29uY2F0KFQpOkYuQltNXT1sKFQsRiw5Nyk7ZWxzZXtpZihGLmIzJiZNIT0yMDIpcmV0dXJuO009PTIyN3x8TT09MjQ1fHxNPT0zMTd8fE09PTI2NHx8TT09MTgwfHxNPT00NjB8fE09PTUwOHx8TT09MjA3fHxNPT0yMzh8fE09PTQ1ND9GLkJbTV18fChGLkJbTV09bCgwLEYsNjYsTSxULDIyKSk6Ri5CW01dPWwoMCxGLDMyLE0sVCw4MSl9TT09MjAyJiYoRi5LPXlsKEYsMzIsZmFsc2UpLEYuTD12b2lkIDApfSxXXz1mdW5jdGlvbihGLE0sVCxLLHgsRyxWLHcpe2lmKCFNLkYpe00ueE4rKzt0cnl7eD0odz12b2lkIDAsTS5DKTt7Vj0wO3doaWxlKC0tSyl0cnl7aWYoRz12b2lkIDAsTS5sKXc9RHcoTS5sLE0pO2Vsc2V7aWYoKFY9UyhNLEYpLFYpPj14KWJyZWFrO3c9KEc9WCgodihNLDM1OCxWKSwzMSksTSksUyhNLEcpKX1KKDEzLCh3JiZ3W0JfXSZUP3coTSxLKTpVeShNLDAsW1luLDIxLEddLDApLDApLGZhbHNlLEssZmFsc2UsTSl9Y2F0Y2goTil7TyhNLDQ0KT9VeShNLDIyLE4sMCk6big0NCxNLE4pfX1pZighSyl7aWYoTS5tZil7V18oNyxNLDIwNDgsKE0ueE4tLSw5MzI5NjU5NjYxNykpO3JldHVybn1VeShNLDAsW1luLDMzXSwwKX19Y2F0Y2goTil7dHJ5e1V5KE0sMjIsTiwwKX1jYXRjaCh0KXt3VigyMDQ4LHQsIjoiLE0sNSl9fU0ueE4tLX19LENZPWZ1bmN0aW9uKEYsTSxULEsseCxHKXtyZXR1cm4gdjguY2FsbCh0aGlzLDEsMyw1LEYsTSxULEsseCxHKX0sVXk9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMsUCl7c3dpdGNoKCEoIUYuYjMmJih4PXZvaWQgMCxUJiZUW0tdPT09WW4mJih4PVRbMl0sTT1UWzFdLFQ9dm9pZCAwKSxHPVMoRiwxODApLEcubGVuZ3RoPT1LJiYoUD1aKEYsMzU4KT4+MyxHLnB1c2goTSwoTj1QPj44LC0yNTUtMip+KE58MjU1KSsyKih+Tl4yNTUpKyh+TiYyNTUpKSwtMS1+KFB8MjU1KS0oUF4yNTUpKSx4IT12b2lkIDAmJkcucHVzaCh4JjI1NSkpLHQ9IiIsVCYmKFQubWVzc2FnZSYmKHQrPVQubWVzc2FnZSksVC5zdGFjayYmKHQrPSI6IitULnN0YWNrKSksdz1PKEYsNDU0KSx3W0tdPjMpKSl7Y2FzZSAwPT09LTA6ZmFsc2U7YnJlYWs7Y2FzZSBmYWxzZT09bnVsbDpGLk49KHE9KHQ9KHdbdD10LnNsaWNlKEssKHdbS118SyktMyksS10tPSh0Lmxlbmd0aHxLKSszLFJEKDEyLHQpKSxGLk4pLEYpO3RyeXtGLllOPyhWPShWPVooRiw0NjApKSYmVltWLmxlbmd0aC0xXXx8OTUsKGM9WihGLDUwOCkpJiZjW2MubGVuZ3RoLTFdPT1WfHxldShGLFstMjU1LTIqfihWfDI1NSkrKH5WXjI1NSkrKH5WfDI1NSldLDUwOCkpOmV1KEYsWzk1XSw0NjApLGV1KEYsQyh0Lmxlbmd0aCwyKS5jb25jYXQodCksMjQ1LDUxKX1maW5hbGx5e0YuTj1xfWJyZWFrfX0sRkI9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMpe2Zvcih0PShjPUssNTkpOzspdHJ5e2lmKGM9PUYpYnJlYWs7ZWxzZXtpZihjPT1NKXJldHVybiBOO2lmKGM9PTgpYz13JiZ3LmNyZWF0ZVBvbGljeT9UOk07ZWxzZXtpZihjPT03MilyZXR1cm4gdD01OSxOO2M9PTY4PyhFLmNvbnNvbGVbeF0ocS5tZXNzYWdlKSxjPTcyKTpjPT02P2M9RS5jb25zb2xlPzY4OjcyOmM9PVQ\/KHQ9NzAsTj13LmNyZWF0ZVBvbGljeShHLHtjcmVhdGVIVE1MOk95LGNyZWF0ZVNjcmlwdDpPeSxjcmVhdGVTY3JpcHRVUkw6T3l9KSxjPTcyKTpjPT03OD8odD01OSxjPTYpOmM9PUsmJihOPVYsdz1FLnRydXN0ZWRUeXBlcyxjPTgpfX19Y2F0Y2goUCl7aWYodD09NTkpdGhyb3cgUDt0PT03MCYmKHE9UCxjPTc4KX19LGFEPWZ1bmN0aW9uKEYsTSxULEsseCxHKXtyZXR1cm4gWih4LCh2KHgsKFdfKDcseCwoKEc9Tyh4LFQpLHguRDYpJiZHPHguQz8oZihULHgseC5DKSxnWSgwLHgsMTA0LE0sVCkpOmYoVCx4LE0pLDIwNDgpLEspLFQpLEcpLEYpKX0sZXU9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4pe3N3aXRjaCghKEYuTj09Rikpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgbnVsbD09ZmFsc2U6e3g9WihGLFQpLFQ9PTI0NXx8VD09MjM4fHxUPT0yNjQ\/KFY9ZnVuY3Rpb24odCxxLGMsUCx5LHosRCxILFkpe2ZvcihEPShZPTMxLDcwKTs7KXRyeXtpZihZPT00NylicmVhaztlbHNlIGlmKFk9PTYpeC5DcT16LGM9KHk9ejw8MywtKHleNCktMioofnleNCkrMiooeXwtNSkpLHE9WzAsMCxOWzFdLE5bMl1dLFk9MTg7ZWxzZSBpZihZPT0xOClEPTc0LHgueXI9bUQoMjQsaygzLDMxLGMseCksMjU1LGsoMyw0NywzKihjJjQpKzIqfihjJjQpLSAtNS0ofmN8NCkseCkscSksWT00MTtlbHNlIGlmKFk9PTQxKXgucHVzaCh4LnlyW1AmN11edCksWT00NztlbHNlIGlmKFk9PTMxKVA9eC5sZW5ndGgsej0oUHwwKS00Pj4zLFk9MTE7ZWxzZSBpZihZPT0xMSlZPXguQ3EhPXo\/Njo0MTtlbHNlIGlmKFk9PTUpdGhyb3cgRD03MCxIO31jYXRjaChkKXtpZihEPT03MCl0aHJvdyBkO0Q9PTc0JiYoSD1kLFk9NSl9fSxOPU8oRiwyMDcpKTpWPWZ1bmN0aW9uKHQpe3gucHVzaCh0KX0sSyYmVig1MTAtKEt8MjU1KSsyKihLJi0yNTYpLShLXjI1NSkpLHc9MCxHPU0ubGVuZ3RoO3doaWxlKHc8RylWKE1bd10pLHcrK31icmVha319LFI0PWZ1bmN0aW9uKCl7cmV0dXJuIEkuY2FsbCh0aGlzLDEyKX0sS0I9ZnVuY3Rpb24oRixNKXtmb3IodmFyIFQ9MjtUIT0xMjspaWYoVD09NjcpVD03NztlbHNlIGlmKFQ9PTApe3ZhciBLPWFyZ3VtZW50c1tWXTtmb3IoRyBpbiBLKUZbR109S1tHXTt2YXIgeD0oVD00LDApfWVsc2UgaWYoVD09Nil4KyssVD02ODtlbHNlIGlmKFQ9PTc3KVQ9Vjxhcmd1bWVudHMubGVuZ3RoPzA6MTI7ZWxzZSBpZihUPT00KVQ9Njg7ZWxzZSBpZihUPT02OClUPXg8VG4ubGVuZ3RoPzgyOjc4O2Vsc2UgaWYoVD09ODIpe3ZhciBHPVRuW3hdO1Q9KE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChLLEcpJiYoRltHXT1LW0ddKSw2KX1lbHNlIGlmKFQ9PTIpdmFyIFY9KFQ9NjcsMSk7ZWxzZSBUPT03OCYmKFYrKyxUPTc3KX0sZFY9JFkoMSwzLCJvYmplY3QiLDAsIk1hdGgiLHRoaXMpLEU9KEdBKDE4LCIuIiwwLDEsbnVsbCwiU3ltYm9sIixmdW5jdGlvbihGLE0sVCxLLHgsRyl7Zm9yKHg9MzI7eCE9NTg7KXtpZih4PT0xOClyZXR1cm4gRjtpZih4PT05NClyZXR1cm4gSy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5JVH0sVD0ianNjb21wX3N5bWJvbF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApKyJfIixNPTAsRzt4PT0zMj8oSz1mdW5jdGlvbihWLHcpe3RoaXMuSVQ9VixpMCh0aGlzLCJkZXNjcmlwdGlvbiIse2NvbmZpZ3VyYWJsZTp0cnVlLHdyaXRhYmxlOnRydWUsdmFsdWU6d30pfSxHPWZ1bmN0aW9uKFYsdyl7Zm9yKHc9NDc7dyE9NzA7KWlmKHc9PTQ3KXc9dGhpcyBpbnN0YW5jZW9mIEc\/MTQ6ODE7ZWxzZXtpZih3PT04MSlyZXR1cm4gbmV3IEsoVCsoVnx8IiIpKyJfIitNKyssVik7aWYodz09MTQpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sIGlzIG5vdCBhIGNvbnN0cnVjdG9yIik7fX0seD01NCk6eD09NTQmJih4PUY\/MTg6OTQpfX0pLHRoaXMpfHxzZWxmLFp3PSJjbG9zdXJlX3VpZF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApLGwwPTAsZUgsVUc9ZnVuY3Rpb24oRixNLFQsSyx4LEcpe2ZvcihLPTg3LEc9Nzg7Oyl0cnl7aWYoSz09ODIpYnJlYWs7ZWxzZSBpZihLPT01NSlNPWZhbHNlLFQ9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7TT10cnVlfX0pLEs9ODtlbHNle2lmKEs9PTg1KXJldHVybiBmYWxzZTtpZihLPT02MSlHPTc4LEs9OTM7ZWxzZSBpZihLPT04NylLPUUuYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5PzU1Ojg1O2Vsc2V7aWYoSz09OTMpcmV0dXJuIEc9NzgsTTtLPT04JiYoRz0zLEY9ZnVuY3Rpb24oKXt9LEUuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsRixUKSxFLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLEYsVCksSz05Myl9fX1jYXRjaChWKXtpZihHPT03OCl0aHJvdyBWO0c9PTMmJih4PVYsSz02MSl9fSgpLHQyPSgoKHNHKDIsNSxrWSwoWVkucHJvdG90eXBlWyhZWS5wcm90b3R5cGUubz1mdW5jdGlvbihGKXt7Rj03O3doaWxlKEYhPTY5KUY9PTM0P0Y9ODI6Rj09NzA\/KHRoaXMuQVIuc2hpZnQoKSgpLEY9MzQpOkY9PTgyP0Y9dGhpcy5BUi5sZW5ndGg\/NzA6Njk6Rj09NTM\/Rj04MjpGPT03JiYoRj10aGlzLkFSPzUzOjY5KX19LFlZLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKEYpe2ZvcihGPTM5O0YhPTE3OylGPT01Pyh0aGlzLlY9dHJ1ZSx0aGlzLm8oKSxGPTE3KTpGPT0zOSYmKEY9dGhpcy5WPzE3OjUpfSxxTS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dHJ1ZX0sWVkpLnByb3RvdHlwZS5WPWZhbHNlLChxTS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcy5KUj10cnVlfSxTeW1ib2wpLmRpc3Bvc2VdPWZ1bmN0aW9uKCl7d2hpbGUoe30paWYodGhpcy5kaXNwb3NlKCkse30pYnJlYWt9LHFNKSksa1kucHJvdG90eXBlKS5pbml0PWZ1bmN0aW9uKEYsTSxULEsseCxHKXt7Rz0zO3doaWxlKEchPTI1KUc9PTI0P0c9Sz09Im1vdXNlb3ZlciI\/OTc6OTY6Rz09OTY\/Rz1LPT0ibW91c2VvdXQiPzQ2Ojc1Okc9PTQ2PyhUPUYudG9FbGVtZW50LEc9NzUpOkc9PTk3PyhUPUYuZnJvbUVsZW1lbnQsRz03NSk6Rz09NzU\/KHRoaXMucmVsYXRlZFRhcmdldD1ULEc9MjEpOkc9PTkyP0c9VD83NToyNDpHPT03MD8odGhpcy5jbGllbnRYPXguY2xpZW50WCE9PXZvaWQgMD94LmNsaWVudFg6eC5wYWdlWCx0aGlzLmNsaWVudFk9eC5jbGllbnRZIT09dm9pZCAwP3guY2xpZW50WTp4LnBhZ2VZLHRoaXMuc2NyZWVuWD14LnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPXguc2NyZWVuWXx8MCxHPTc4KTpHPT0zPyhLPXRoaXMudHlwZT1GLnR5cGUseD1GLmNoYW5nZWRUb3VjaGVzJiZGLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9GLmNoYW5nZWRUb3VjaGVzWzBdOm51bGwsdGhpcy50YXJnZXQ9Ri50YXJnZXR8fEYuc3JjRWxlbWVudCx0aGlzLmN1cnJlbnRUYXJnZXQ9TSxUPUYucmVsYXRlZFRhcmdldCxHPTkyKTpHPT03OD8odGhpcy5idXR0b249Ri5idXR0b24sdGhpcy5rZXlDb2RlPUYua2V5Q29kZXx8MCx0aGlzLmtleT1GLmtleXx8IiIsdGhpcy5jaGFyQ29kZT1GLmNoYXJDb2RlfHwoSz09ImtleXByZXNzIj9GLmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PUYuY3RybEtleSx0aGlzLmFsdEtleT1GLmFsdEtleSx0aGlzLnNoaWZ0S2V5PUYuc2hpZnRLZXksdGhpcy5tZXRhS2V5PUYubWV0YUtleSx0aGlzLnBvaW50ZXJJZD1GLnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPUYucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT1GLnN0YXRlLHRoaXMudGltZVN0YW1wPUYudGltZVN0YW1wLHRoaXMuQiQ9RixGLmRlZmF1bHRQcmV2ZW50ZWQmJmtZLkQucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSxHPTI1KTpHPT02NT8odGhpcy5vZmZzZXRYPUYub2Zmc2V0WCx0aGlzLm9mZnNldFk9Ri5vZmZzZXRZLHRoaXMuY2xpZW50WD1GLmNsaWVudFghPT12b2lkIDA\/Ri5jbGllbnRYOkYucGFnZVgsdGhpcy5jbGllbnRZPUYuY2xpZW50WSE9PXZvaWQgMD9GLmNsaWVudFk6Ri5wYWdlWSx0aGlzLnNjcmVlblg9Ri5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1GLnNjcmVlbll8fDAsRz03OCk6Rz09MjEmJihHPXg\/NzA6NjUpfX0sa1kucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe2tZLkQuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyksdGhpcy5CJC5zdG9wUHJvcGFnYXRpb24\/dGhpcy5CJC5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLkIkLmNhbmNlbEJ1YmJsZT10cnVlfSxrWS5wcm90b3R5cGUpLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKEYpe2lmKEY9KGtZLkQucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSx0aGlzLkIkKSx7fSlGLnByZXZlbnREZWZhdWx0P0YucHJldmVudERlZmF1bHQoKTpGLnJldHVyblZhbHVlPWZhbHNlfSwiY2xvc3VyZV9saXN0ZW5hYmxlXyIpKyhNYXRoLnJhbmRvbSgpKjFFNnwwKSxUbj0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLExZPTAsSjI9ImNsb3N1cmVfbG1fIisoKEg4LnByb3RvdHlwZS5hZGQ9KEg4LnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3KXt7dz01Nzt3aGlsZSh3IT05OSlpZih3PT0yMSl3PUcubGVuZ3RoPT0wPzQ5OjEyO2Vsc2UgaWYodz09NDYpdz1WPi0xPzI5Ojc3O2Vsc2V7aWYodz09NzcpcmV0dXJuIGZhbHNlO2lmKHc9PTY5KXc9eCBpbiB0aGlzLmk\/MDozNztlbHNlIGlmKHc9PTI5KSRZKDEsMTgsdHJ1ZSxHW1ZdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoRyxWLDEpLHc9MjE7ZWxzZSBpZih3PT0wKUc9dGhpcy5pW3hdLFY9SigyNCwwLEcsVCxNLEspLHc9NDY7ZWxzZSBpZih3PT01Nyl4PUYudG9TdHJpbmcoKSx3PTY5O2Vsc2V7aWYodz09MTIpcmV0dXJuIHRydWU7aWYodz09NDkpZGVsZXRlIHRoaXMuaVt4XSx0aGlzLnNLLS0sdz0xMjtlbHNlIGlmKHc9PTM3KXJldHVybiBmYWxzZX19fX0sZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCl7e3Q9MTM7d2hpbGUodCE9ODgpaWYodD09NjkpdD1UPzc2OjQ7ZWxzZSBpZih0PT0xMylOPUYudG9TdHJpbmcoKSxWPXRoaXMuaVtOXSx0PTYwO2Vsc2V7aWYodD09NzYpcmV0dXJuIEc7dD09Mzg\/KFY9dGhpcy5pW05dPVtdLHRoaXMuc0srKyx0PTM2KTp0PT00PyhHLm9tPWZhbHNlLHQ9NzYpOnQ9PTQzP3Q9dz4tMT85MjozOTp0PT02MD90PVY\/MzY6Mzg6dD09MzY\/KHc9SigxNiwwLFYsSyxNLHgpLHQ9NDMpOnQ9PTkyPyhHPVZbd10sdD02OSk6dD09MzkmJihHPW5ldyB5ZCh0aGlzLnNyYyxOLCEhSyx4LE0pLEcub209VCxWLnB1c2goRyksdD03Nil9fX0pLEg4LnByb3RvdHlwZS5oYXNMaXN0ZW5lcj1mdW5jdGlvbihGLE0sVCxLLHgpe3JldHVybiAkWSgxLDQ5LHRydWUsKHg9KFQ9TSE9PXZvaWQgMCwoSz1GIT09dm9pZCAwKT9GLnRvU3RyaW5nKCk6IiIpLGZhbHNlKSxmdW5jdGlvbihHLFYsdyl7Zm9yKHc9NDt3IT0zNTspaWYodz09NClWPTAsdz0yMTtlbHNlIGlmKHc9PTIxKXc9MTQ7ZWxzZSBpZih3PT03NCl3PUsmJkdbVl0udHlwZSE9eHx8VCYmR1tWXS5jYXB0dXJlIT1NPzM3OjY2O2Vsc2V7aWYodz09NSlyZXR1cm4gZmFsc2U7aWYodz09NjYpcmV0dXJuIHRydWU7dz09MTQ\/dz1WPEcubGVuZ3RoPzc0OjU6dz09MzcmJigrK1Ysdz0xNCl9fSx0aGlzLmkpfSxIOC5wcm90b3R5cGUpLlNhPWZ1bmN0aW9uKEYsTSxULEsseCxHKXtyZXR1cm4gRz0oeD10aGlzLmlbTS50b1N0cmluZygpXSwtMSkseCYmKEc9SigxOCwwLHgsSyxGLFQpKSxHPi0xP3hbR106bnVsbH0sTWF0aC5yYW5kb20oKSoxRTZ8MCksQjg9e30sbzQ9MCx1MD0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApOygoQT0oc0coMiw5LFI0LFlZKSxSNC5wcm90b3R5cGVbdDJdPXRydWUsUjQucHJvdG90eXBlKSxBLlAkPWZ1bmN0aW9uKEYpe3RoaXMucVo9Rn0sQS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKEYsTSxULEspe3hZKDEzLCJvYmplY3QiLGZhbHNlLHRoaXMsVCxNLEYsSyl9LEEpLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oRixNLFQsSyl7TVgoMywib2JqZWN0IiwwLHRoaXMsVCxNLEYsSyl9LEEpLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMpe3tjPTc1O3doaWxlKGMhPTkyKWlmKGM9PTExKUc9MCxjPTEwO2Vsc2UgaWYoYz09OTEpSz10cnVlLGM9OTM7ZWxzZXtpZihjPT01KXJldHVybiBLO2M9PTQzP2M9Vj8xMTo1OmM9PTgwPyhHLS0sYz04NCk6Yz09MD9jPSFNLkpSJiZHPFYubGVuZ3RoPzQyOjU6Yz09NTY\/KHc9dGhpcy5jYixWPU4sTT1GLFQ9TS50eXBlfHxNLGM9NDQpOmM9PTE5PyhxPU0uY3VycmVudFRhcmdldD1WW0ddLEs9STQodHJ1ZSwxMixULE0scSx0cnVlKSYmSyxjPTgwKTpjPT05OT8oTi5wdXNoKHgpLGM9NTIpOmM9PTQyPyhxPU0uY3VycmVudFRhcmdldD1WW0ddLEs9STQodHJ1ZSwxMSxULE0scSxmYWxzZSkmJkssYz04MSk6Yz09NTI\/KHg9eC5xWixjPTIwKTpjPT00OD8oTT1uZXcgcU0oTSx3KSxjPTkxKTpjPT04MT8oRysrLGM9MCk6Yz09MjA\/Yz14Pzk5OjU2OmM9PTEwP2M9MDpjPT0yNz9jPU0uSlI\/NDM6NjY6Yz09NTc\/Yz14Pzc0OjU2OmM9PTc0PyhOPVtdLGM9MSk6Yz09NzU\/KHg9dGhpcy5xWixjPTU3KTpjPT04Mz8oRz1WLmxlbmd0aC0xLGM9MTYpOmM9PTcxPyhNLnRhcmdldD1NLnRhcmdldHx8dyxjPTkxKTpjPT02Nj8ocT1NLmN1cnJlbnRUYXJnZXQ9dyxLPUk0KHRydWUsMTAsVCxNLHEsdHJ1ZSkmJkssTS5KUnx8KEs9STQodHJ1ZSwxMyxULE0scSxmYWxzZSkmJkspLGM9NDMpOmM9PTg0P2M9IU0uSlImJkc+PTA\/MTk6Mjc6Yz09NDQ\/Yz10eXBlb2YgTT09PSJzdHJpbmciPzQ4OjQ3OmM9PTMxPyh0PU0sTT1uZXcgcU0oVCx3KSxLQihNLHQpLGM9OTEpOmM9PTE\/Yz0yMDpjPT05Mz9jPVY\/ODM6Mjc6Yz09MTY\/Yz04NDpjPT00NyYmKGM9TSBpbnN0YW5jZW9mIHFNPzcxOjMxKX19fSxBLlNhPWZ1bmN0aW9uKEYsTSxULEspe3JldHVybiB0aGlzLkguU2EoRixTdHJpbmcoTSksVCxLKX0sQS5vPWZ1bmN0aW9uKCl7dGhpcy5xWj0oKFI0LkQuby5jYWxsKHRoaXMpLHRoaXMuSCkmJmM4KDE0LDAsdHJ1ZSx0aGlzLkgpLG51bGwpfSxBLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKEYsTSl7cmV0dXJuIHRoaXMuSC5oYXNMaXN0ZW5lcihGIT09dm9pZCAwP1N0cmluZyhGKTp2b2lkIDAsTSl9O3ZhciBxWDsoKCgoKEE9KHNHKDIsMywoKERuKDE2LCgoKCgoKChBPSgiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLHBZLnByb3RvdHlwZSksQSkuUD1mdW5jdGlvbihGLE0pe3JldHVybihNPXRoaXMuTHEsdHlwZW9mIEY9PT0ic3RyaW5nIik\/TS5nZXRFbGVtZW50QnlJZChGKTpGfSxBLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKEYsTSl7cmV0dXJuKE18fHRoaXMuTHEpLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhGKSl9LEEpLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oRixNLFQpeyhUPVN0cmluZyhGKSxNPXRoaXMuTHEsTSkuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKFQ9VC50b0xvd2VyQ2FzZSgpKTt3aGlsZSgwPT0hW3VuZGVmaW5lZF0pe3JldHVybiBNLmNyZWF0ZUVsZW1lbnQoVCk7aWYoe30pYnJlYWt9fSxBKS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihGKXtyZXR1cm4gdGhpcy5McS5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoRikpfSxBLmFwcGVuZENoaWxkPWZ1bmN0aW9uKEYsTSl7Ri5hcHBlbmRDaGlsZChNKX0sQSkuYXBwZW5kPWZ1bmN0aW9uKEYsTSl7dl8oRi5ub2RlVHlwZT09OT9GOkYub3duZXJEb2N1bWVudHx8Ri5kb2N1bWVudCwibnVtYmVyIiwiIixhcmd1bWVudHMsRiwwLCJzdHJpbmciKX0sQSkuY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKEYsTSl7e009NDk7d2hpbGUoTSE9NTgpe2lmKE09PTg5KXJldHVybiBmYWxzZTtpZihNPT00OSlNPUYubm9kZVR5cGUhPTE\/ODk6MTg7ZWxzZSBpZihNPT0xOCl7c3dpdGNoKEYudGFnTmFtZSl7Y2FzZSAiQVBQTEVUIjpjYXNlICJBUkVBIjpjYXNlICJCQVNFIjpjYXNlICJCUiI6Y2FzZSAiQ09MIjpjYXNlICJDT01NQU5EIjpjYXNlICJFTUJFRCI6Y2FzZSAiRlJBTUUiOmNhc2UgIkhSIjpjYXNlICJJTUciOmNhc2UgIklOUFVUIjpjYXNlICJJRlJBTUUiOmNhc2UgIklTSU5ERVgiOmNhc2UgIktFWUdFTiI6Y2FzZSAiTElOSyI6Y2FzZSAiTk9GUkFNRVMiOmNhc2UgIk5PU0NSSVBUIjpjYXNlICJNRVRBIjpjYXNlICJPQkpFQ1QiOmNhc2UgIlBBUkFNIjpjYXNlICJTQ1JJUFQiOmNhc2UgIlNPVVJDRSI6Y2FzZSAiU1RZTEUiOmNhc2UgIlRSQUNLIjpjYXNlICJXQlIiOnJldHVybiBmYWxzZX1yZXR1cm4gdHJ1ZX19fX0sQSkucmVtb3ZlTm9kZT1kWSxBLmNvbnRhaW5zPWZ1bmN0aW9uKEYsTSxUKXt7VD05O3doaWxlKFQhPTYyKWlmKFQ9PTY3KVQ9Ri5jb250YWlucyYmTS5ub2RlVHlwZT09MT80Njo1O2Vsc2V7aWYoVD09MTEpcmV0dXJuIEY9PU18fCEhKEYuY29tcGFyZURvY3VtZW50UG9zaXRpb24oTSkmMTYpO2lmKFQ9PTcxKVQ9Njg7ZWxzZSBpZihUPT0yOClUPTY4O2Vsc2V7aWYoVD09MjUpcmV0dXJuIE09PUY7aWYoVD09NDYpcmV0dXJuIEY9PU18fEYuY29udGFpbnMoTSk7aWYoVD09NzUpcmV0dXJuIGZhbHNlO1Q9PTk\/VD1GJiZNPzY3Ojc1OlQ9PTc2PyhNPU0ucGFyZW50Tm9kZSxUPTI4KTpUPT01P1Q9dHlwZW9mIEYuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzExOjcxOlQ9PTY4JiYoVD1NJiZGIT1NPzc2OjI1KX19fX0sMjkpLFN1KSxTdS5wcm90b3R5cGUuVUM9MCxTdS5wcm90b3R5cGUpLkF4PSIiLEEyKSxSNCksQTIpLnByb3RvdHlwZSxBKS54RT1TdS5jJCgpLEEuUD1mdW5jdGlvbigpe3JldHVybiB0aGlzLlR9LEEpLmdldFBhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmkzfSxBLk5aPWZ1bmN0aW9uKCl7dGhpcy5UaT0hKGp1KDUzLHRoaXMsMTEsZnVuY3Rpb24oRil7Ri5UaSYmRi5OWigpfSksdGhpcy56aSYmYzgoMTMsMCx0cnVlLHRoaXMuemkpLDEpfSxBKS5vPWZ1bmN0aW9uKEYpe2ZvcihGPTUxO0YhPTY4OylGPT0xMD9GPXRoaXMuemk\/NzY6NDk6Rj09NzY\/KHRoaXMuemkuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLnppLEY9NDkpOkY9PTUxPyh0aGlzLlRpJiZ0aGlzLk5aKCksRj0xMCk6Rj09NDkmJihqdSg1Myx0aGlzLDEyLGZ1bmN0aW9uKE0pe00uZGlzcG9zZSgpfSksIXRoaXMuQ3YmJnRoaXMuVCYmZFkodGhpcy5UKSx0aGlzLlQ9dGhpcy5pMz10aGlzLmZxPXRoaXMuZFA9bnVsbCxBMi5ELm8uY2FsbCh0aGlzKSxGPTY4KX0sQSkuUCQ9ZnVuY3Rpb24oRixNKXtmb3IoTT05MjtNIT0xODspaWYoTT09OTIpTT10aGlzLmkzJiZ0aGlzLmkzIT1GPzU4OjkwO2Vsc2UgaWYoTT09OTApQTIuRC5QJC5jYWxsKHRoaXMsRiksTT0xODtlbHNlIGlmKE09PTU4KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO30sQSkucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4sdCxxLGMsUCl7Zm9yKFA9NTQ7UCE9NDc7KWlmKFA9PTgpRj10LFA9NDY7ZWxzZSBpZihQPT01MilGLk5aKCksRi5UJiZkWShGLlQpLFA9MTA7ZWxzZSBpZihQPT02MilWLmkzPW51bGwsQTIuRC5QJC5jYWxsKFYsbnVsbCksUD04MztlbHNlIGlmKFA9PTU0KVA9Rj82ODo4MztlbHNlIGlmKFA9PTY4KVA9dHlwZW9mIEY9PT0ic3RyaW5nIj85MjoxNTtlbHNlIGlmKFA9PTY2KVA9Vj09bnVsbD84Njo2MjtlbHNlIGlmKFA9PTkzKWM9dGhpcy5mcSx3IGluIGMmJmRlbGV0ZSBjW3ddLFhiKDgsNTksMCx0aGlzLmRQLEYpLFA9Mjk7ZWxzZSBpZihQPT04MylQPUY\/NzE6ODE7ZWxzZSBpZihQPT0yOSlQPU0\/NTI6MTA7ZWxzZSBpZihQPT0xNSlQPShHPUYuSngpPzUwOjU7ZWxzZSBpZihQPT0xMClWPUYsUD02NjtlbHNlIGlmKFA9PTUpVD1GLnhFLHE9RixOPVQuQXgrIjoiKyhULlVDKyspLnRvU3RyaW5nKDM2KSxHPXEuSng9TixQPTUwO2Vsc2UgaWYoUD09MjcpeD10aGlzLmZxLHQ9KHghPT1udWxsJiZ3IGluIHg\/eFt3XTp2b2lkIDApfHxudWxsLFA9ODtlbHNlIGlmKFA9PTc5KXc9SyxQPTY1O2Vsc2V7aWYoUD09ODEpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7aWYoUD09NTApSz1HLFA9Nzk7ZWxzZSBpZihQPT00NilQPXcmJkY\/OTM6ODM7ZWxzZSBpZihQPT02NSlQPXRoaXMuZnEmJnc\/Mjc6Njc7ZWxzZXtpZihQPT03MSlyZXR1cm4gRjtpZihQPT05MilLPUYsUD03OTtlbHNle2lmKFA9PTg2KXRocm93IEVycm9yKCJVbmFibGUgdG8gc2V0IHBhcmVudCBjb21wb25lbnQiKTtQPT02NyYmKHQ9bnVsbCxQPTgpfX19fTt2YXIgeEEsR249e2J1dHRvbjoicHJlc3NlZCIsY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtOiJzZWxlY3RlZCIsbWVudWl0ZW1jaGVja2JveDoiY2hlY2tlZCIsbWVudWl0ZW1yYWRpbzooRG4oMTYsMjgsbjUpLEE9bjUucHJvdG90eXBlLCJjaGVja2VkIikscmFkaW86ImNoZWNrZWQiLHRhYjoic2VsZWN0ZWQiLHRyZWVpdGVtOiJzZWxlY3RlZCJ9O2lmKEEuS3E9KEEuZWE9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4pe2ZvcihOPSh3PTEzLDQzKTs7KXRyeXtpZih3PT03NClicmVhaztlbHNlIHc9PTM\/dz1GLkkmMzI\/MTA6NjQ6dz09NTA\/dz1LIT1NPzE5Ojc0Onc9PTU5P3c9TT83Nzo4Mjp3PT0zOT8oTj00Myx3PTMpOnc9PTMzPyhOPTQzLHc9MzkpOnc9PTY4P3c9IU0mJkYuSSYzMj82Njo2NDp3PT0xMD8oRi5WciY0JiZGLkgkJjQmJkYuc2V0QWN0aXZlKGZhbHNlKSxGLlZyJjMyJiZGLkgkJjMyJiZNWCg4LDE2LEYsZmFsc2UsMzIpJiZGLkEoMzIsZmFsc2UpLHc9NjQpOnc9PTE5Pyh4PVQsdz01OSk6dz09NjI\/KEc9VC50YWJJbmRleCxLPXR5cGVvZiBHPT09Im51bWJlciImJkc+PTAmJkc8MzI3Njgsdz01MCk6dz09NjY\/KE49MTQsVC5ibHVyKCksdz0zOSk6dz09Nzc\/KHgudGFiSW5kZXg9MCx3PTc0KTp3PT04Mj8oeC50YWJJbmRleD0tMSx4LnJlbW92ZUF0dHJpYnV0ZSgidGFiSW5kZXgiKSx3PTc0KTp3PT02ND93PShLPVQuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpKT82Mjo1MDp3PT0xMyYmKHc9Ri5IJCYzMiYmKFQ9Ri5rTigpKT82ODo3NCl9Y2F0Y2godCl7aWYoTj09NDMpdGhyb3cgdDtOPT0xNCYmKFY9dCx3PTMzKX19LEEuVyQ9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3KXsoSz0oVj0oeEF8fCh4QT17MToiZGlzYWJsZWQiLDg6InNlbGVjdGVkIiwxNjoiY2hlY2tlZCIsNjQ6ImV4cGFuZGVkIn0pLHhBW01dKSxGLmdldEF0dHJpYnV0ZSgicm9sZSIpKXx8bnVsbCk\/KHc9R25bS118fFYsRz1WPT0iY2hlY2tlZCJ8fFY9PSJzZWxlY3RlZCI\/dzpWKTpHPVYsKHg9RykmJlRBKGZhbHNlLEYsImZhbHNlIiwyMywiICIsVCx4KX0sQS5rTj1mdW5jdGlvbihGKXtyZXR1cm4gRi5QKCl9LGZ1bmN0aW9uKEYsTSxULEspeyhLPUYuUD9GLlAoKTpGKSYmKFQ\/cTg6b0QpKEssW01dKX0pLHRydWUpQS5BPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYpe3tWPTc3O3doaWxlKFYhPTY4KVY9PTU5P1Y9dGhpcy5wcT8xMTo2NjpWPT0xMT8oKEs9dGhpcy5wcVtNXSkmJnRoaXMuS3EoRixLLFQpLHRoaXMuVyQoeCxNLFQpLFY9NjgpOlY9PTY2PyhHPXRoaXMuelMoKSxHLnJlcGxhY2UoL1xceGEwfFxccy9nLCIgIiksdGhpcy5wcT17MTpHKyItZGlzYWJsZWQiLDI6RysiLWhvdmVyIiw0OkcrIi1hY3RpdmUiLDg6RysiLXNlbGVjdGVkIiwxNjpHKyItY2hlY2tlZCIsMzI6RysiLWZvY3VzZWQiLDY0OkcrIi1vcGVuIn0sVj0xMSk6Vj09Nzc\/KHg9Ri5QKCksVj03Nik6Vj09NzYmJihWPXg\/NTk6NjgpfX07dmFyIGIwPShEbigxNiwyNiwoc0coMiw4LChBLnpTPWZ1bmN0aW9uKCl7cmV0dXJuImdvb2ctY29udHJvbCJ9LHowKSxuNSksejApKSx7fSk7KCgoKHowLnByb3RvdHlwZS56Uz1mdW5jdGlvbigpe3JldHVybiJnb29nLWJ1dHRvbiJ9LHowLnByb3RvdHlwZSkuVyQ9ZnVuY3Rpb24oRixNLFQpe3N3aXRjaChNKXtjYXNlIDg6Y2FzZSAxNjpUQShmYWxzZSxGLCJmYWxzZSIsMjIsIiAiLFQsInByZXNzZWQiKTticmVhaztkZWZhdWx0OmNhc2UgNjQ6Y2FzZSAxOnowLkQuVyQuY2FsbCh0aGlzLEYsTSxUKX19LHNHKDIsNixUMCxBMiksQT1UMC5wcm90b3R5cGUsQSkuST0wLEEuTlo9ZnVuY3Rpb24oKXsoVDAuRC5OWi5jYWxsKHRoaXMpLHRoaXMudiQmJnRoaXMudiQuZGV0YWNoKCksdGhpcykuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkmJnRoaXMuVy5lYSh0aGlzLGZhbHNlKX0sQSkueWc9dHJ1ZSxBKS5IJD0zOTt3aGlsZSgiWiIpaWYoQS5vPWZ1bmN0aW9uKEYpe3tGPTU3O3doaWxlKEYhPTcxKUY9PTQwPyh0aGlzLnYkLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy52JCxGPTM2KTpGPT04Mz9GPXRoaXMudiQ\/NDA6MzY6Rj09NTc\/KFQwLkQuby5jYWxsKHRoaXMpLEY9ODMpOkY9PTM2JiYoZGVsZXRlIHRoaXMuVyx0aGlzLk89bnVsbCxGPTcxKX19LHRydWUpYnJlYWs7QS5nZXRTdGF0ZT0oQS5PPShBLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISEodGhpcy5JJjQpfSxBLnNldEFjdGl2ZT1mdW5jdGlvbihGKXt3aGlsZSghW3VuZGVmaW5lZF09PTApaWYoTVgoMTYsMTYsdGhpcyxGLDQpJiZ0aGlzLkEoNCxGKSx7fSlicmVha30sbnVsbCksQS5rTj0oQS5abD0wLEEuS3E9ZnVuY3Rpb24oRixNLFQpe3tUPTY1O3doaWxlKFQhPTczKVQ9PTg1Pyh0aGlzLk8\/Sig1NiwxLHRoaXMuTyxGKT49MHx8dGhpcy5PLnB1c2goRik6dGhpcy5PPVtGXSx0aGlzLlcuS3EodGhpcyxGLHRydWUpLFQ9NzMpOlQ9PTQwPyh0aGlzLlcuS3EodGhpcyxGLGZhbHNlKSxUPTczKTpUPT01NT9UPUY\/ODU6NzM6VD09OTY\/VD1GJiZ0aGlzLk8mJlhiKDgsNjEsMCx0aGlzLk8sRik\/NTM6NzM6VD09Nzk\/KHRoaXMuTz1udWxsLFQ9NDApOlQ9PTUzP1Q9dGhpcy5PLmxlbmd0aD09MD83OTo0MDpUPT02NSYmKFQ9TT81NTo5Nil9fSwoQS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hKHRoaXMuSSYxKX0sQSkuaXNWaXNpYmxlPShBLkE9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVil7Zm9yKFY9NzM7ViE9NzspVj09MzI\/Vj1HPzg6NDg6Vj09MTM\/Vj14JiZ0eXBlb2YgeC5pc0VuYWJsZWQ9PSJmdW5jdGlvbiImJiF4LmlzRW5hYmxlZCgpfHwhTVgoNDAsMTYsdGhpcywhRywxKT83OjMyOlY9PTE3Pyh0aGlzLlcuQSh0aGlzLEYsTSksdGhpcy5JPU0\/KEs9dGhpcy5JLC1+SysoS15GKSsofkt8RikpOnRoaXMuSSZ+RixWPTcpOlY9PTQ0PyhHPSFNLHg9dGhpcy5nZXRQYXJlbnQoKSxWPTEzKTpWPT00OD8odGhpcy5zZXRBY3RpdmUoZmFsc2UpLE1YKDQ4LDE2LHRoaXMsZmFsc2UsMikmJnRoaXMuQSgyLGZhbHNlKSxWPTgpOlY9PTg\/KHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuVy5lYSh0aGlzLEcpLHRoaXMuQSgxLCFHLHRydWUpLFY9Nyk6Vj09NTY\/Vj10aGlzLkgkJkYmJk0hPSEhKHRoaXMuSSZGKT8xNzo3OlY9PTczJiYoVj1UfHxGIT0xPzU2OjQ0KX0sZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55Z30pLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVy5rTih0aGlzKX0pLEEuVnI9MjU1LGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSX0pO3doaWxlKHR5cGVvZiBUMCE9PSJmdW5jdGlvbiIpe3Rocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBjbGFzcyAiK1QwKTtpZighIVtdKWJyZWFrfXN3aXRjaCghKHR5cGVvZiBuNSE9PSJmdW5jdGlvbiIpKXtjYXNlIDA9PSFbXTohWyIiXT09MDticmVhaztjYXNlIGZhbHNlOnRocm93IEVycm9yKCJJbnZhbGlkIHJlbmRlcmVyIGNsYXNzICIrbjUpO2JyZWFrfXZhciBWUD1PRyg0MCxUMCw4KTsoKHNHKDIsKChEbigxNiwyNywoc0coMiwoYjBbVlBdPW41LGUoNTYsZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFQwKG51bGwpfSwiZ29vZy1jb250cm9sIiksNyksSzUsejApLEs1KSksSzUucHJvdG90eXBlLmVhPWZ1bmN0aW9uKCl7fSxLNSkucHJvdG90eXBlLkE9ZnVuY3Rpb24oRixNLFQsSyx4KXt7eD0zMzt3aGlsZSh4IT0yNyl4PT0zMz8oSzUuRC5BLmNhbGwodGhpcyxGLE0sVCksSz1GLlAoKSx4PTc0KTp4PT0xPyhLLmRpc2FibGVkPVQseD0yNyk6eD09NzQmJih4PUsmJk09PTE\/MToyNyl9fSxLNS5wcm90b3R5cGUuVyQ9ZnVuY3Rpb24oKXt9LDEwKSxJRCxUMCksSUQucHJvdG90eXBlKS5vPWZ1bmN0aW9uKCl7ZGVsZXRlIChkZWxldGUgKElELkQuby5jYWxsKHRoaXMpLHRoaXMpLndrLHRoaXMpLlZnfSxlKSg1NyxmdW5jdGlvbigpe2lmKCFbXT09KGZhbHNlIT0wPT1udWxsKSlyZXR1cm4gbmV3IElEKG51bGwpfSwiZ29vZy1idXR0b24iKTt2YXIgUWwsRnM9RS5yZXF1ZXN0SWRsZUNhbGxiYWNrP2Z1bmN0aW9uKEYpe3JlcXVlc3RJZGxlQ2FsbGJhY2soZnVuY3Rpb24oKXtGKCl9LHt0aW1lb3V0OjR9KX06RS5zZXRJbW1lZGlhdGU\/ZnVuY3Rpb24oRil7c2V0SW1tZWRpYXRlKEYpfTpmdW5jdGlvbihGKXtzZXRUaW1lb3V0KEYsMCl9LHdZPXtwYXNzaXZlOnRydWUsY2FwdHVyZTp0cnVlfSxqTD1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNSwxMTAsMTE2LDEwMSwxMDMsNjcsMTA0LDEwMSw5OSwxMDcsNjYsMTIxLDExMiw5NywxMTUsMTE1KSxZbj0oYi5wcm90b3R5cGUuRUM9dm9pZCAwLGIucHJvdG90eXBlLm1mPWZhbHNlLGIucHJvdG90eXBlLlhOPSJ0b1N0cmluZyIse30pLE5NPVtdLEJfPShiLnByb3RvdHlwZS5NWD12b2lkIDAsW10pLHpBPVtdLHVDPVtdLGlDPVtdLHREPVtdLFBfPVtdLE1NPVtdLGNfPSgoKFhzLGZ1bmN0aW9uKCl7fSkoJG4pLFFkLGZ1bmN0aW9uKCl7fSkoRXkpLE04LGhELHZvaWQgMCkseG49KCgoKChBPWIucHJvdG90eXBlLChiLnByb3RvdHlwZS5VPSJjcmVhdGUiLEEpLk1aPWZ1bmN0aW9uKEYsTSxULEsseCxHKXtyZXR1cm4gbC5jYWxsKHRoaXMsRixNLDExLFQsSyx4LEcpfSxBKS5SVD1mdW5jdGlvbigpe3JldHVybiBFRy5jYWxsKHRoaXMsNjUsNDgpfSxBKS5rRT1mdW5jdGlvbihGLE0sVCxLLHgsRyl7cmV0dXJuIG5ZLmNhbGwodGhpcyxHLE0sVCx4LEssOSxGKX0sQSkuZVg9ZnVuY3Rpb24oRixNLFQsSyx4LEcsVix3LE4pe3JldHVybiB1LmNhbGwodGhpcyxNLDU3LEYsVCxLLHgsRyxWLHcsTil9LEEpLlBiPTAsQS5kaz1mdW5jdGlvbigpe3JldHVybiB4WS5jYWxsKHRoaXMsMTYpfSxZbikuY29uc3RydWN0b3I7QT0oKEEuWFY9ZnVuY3Rpb24oRixNLFQsSyx4LEcpe3JldHVybiBYYi5jYWxsKHRoaXMsOCwxNixGLE0sVCxLLHgsRyl9LEEpLko9KHdpbmRvdy5wZXJmb3JtYW5jZXx8e30pLm5vdz9mdW5jdGlvbigpe3JldHVybiB0aGlzLnFYK3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9LGIucHJvdG90eXBlKSxBLlI9ZnVuY3Rpb24oRixNKXtyZXR1cm4gRj17fSxjXz0oTT17fSxmdW5jdGlvbigpe3JldHVybiBNPT1GPzQ0OjMzfSksZnVuY3Rpb24oVCxLLHgsRyxWLHcsTix0LHEsYyxQLHkseixELEgsWSxkLEIscCxVLFcsVmwsaCxLWSxRLE5YLHIsTCxGYixhLGpILG1fLFIsSF8sZ1YsZyx0SCxabixQOCxjTCxtLGxDLGE0KXtnPTQ2LG09OTIsUDg9dW5kZWZpbmVkO3t0SD1mYWxzZTt3aGlsZShOYU4hPT1OYU4pdHJ5e2lmKG09PTI2KWJyZWFrO2Vsc2UgaWYobT09MzYpbT13PT10RD8yNToxO2Vsc2UgaWYobT09NzApZC5sZW5ndGg9MCxtPTc2O2Vsc2UgaWYobT09OTcpbT04MjtlbHNlIGlmKG09PTk4KW09Vz8xMzo2NztlbHNlIGlmKG09PTQ1KWc9NjcsVXkodGhpcywxNyxabiwwKSxQOD0yNixtPTc2O2Vsc2UgaWYobT09MCltPXc9PWlDPzQ0OjUzO2Vsc2UgaWYobT09NyltPUtZPjI1NT80OjE4O2Vsc2UgaWYobT09MjcpUDghPT11bmRlZmluZWQ\/KG09UDgsUDg9dW5kZWZpbmVkKTptPTI2O2Vsc2UgaWYobT09MzkpdGhpcy5ENj1HLHRoaXMuQz10aGlzLkQ2Lmxlbmd0aDw8MyxuKDIwMix0aGlzLFswLDAsMF0pLG09NjM7ZWxzZSBpZihtPT0xOSlnPTE0LHk9YXRvYihSKSxHPVtdLHQ9Vj0wLG09ODY7ZWxzZSBpZihtPT0xMilyPVkubmV4dCgpLG09OTY7ZWxzZSBpZihtPT05NiltPXIuZG9uZT83MDozNDtlbHNlIGlmKG09PTU4KWc9NjcsdGhpcy5OPXgsbT02O2Vsc2UgaWYobT09OTIpUD1NLE09RixtPTMxO2Vsc2UgaWYobT09NjYpej1XLFModGhpcywyMjcpLmxlbmd0aD1hLnNoaWZ0KCksTyh0aGlzLDQ1NClbMF09YS5zaGlmdCgpLFoodGhpcywyNDUpLmxlbmd0aD1hLnNoaWZ0KCksTyh0aGlzLDUwOCkubGVuZ3RoPWEuc2hpZnQoKSxPKHRoaXMsMzE3KS5sZW5ndGg9YS5zaGlmdCgpLFModGhpcyw0NjApLmxlbmd0aD1hLnNoaWZ0KCksTyh0aGlzLDI2NCkubGVuZ3RoPWEuc2hpZnQoKSxTKHRoaXMsMjM4KS5sZW5ndGg9YS5zaGlmdCgpLGE0PXosUDg9OCxtPTc2O2Vsc2UgaWYobT09ODUpakg9UVtOXVt0aGlzLlhOXSgxNiksakgubGVuZ3RoPT0xJiYoakg9IjAiK2pIKSxXKz1qSCxtPTY0O2Vsc2UgaWYobT09MSltPXc9PU1NPzQ2OjgxO2Vsc2UgaWYobT09NClHW1YrK109LShLWXwwKS0yKn4oS1kmMjU1KSstMisoS1kmLTI1NiksS1k+Pj04LG09MTg7ZWxzZSBpZihtPT02MylnPTY3LFdfKDcsdGhpcywyMDQ4LDgwMDEpLG09NzY7ZWxzZSBpZihtPT00NilhRCgxMTUsVFsxXSw3LFRbMl0sdGhpcyksbT03NjtlbHNlIGlmKG09PTgyKW09TjxRLmxlbmd0aD84NTo2NjtlbHNle2lmKG09PTgpcmV0dXJuIGE0O2lmKG09PTI1KWE9VFsyXSxEPUMoKGdWPVoodGhpcywyMjcpLmxlbmd0aCwoZ1YmMiktfihnVnwyKSsoZ1YmLTMpKyh+Z1Z8MikpLDIpLHg9dGhpcy5OLHRoaXMuTj10aGlzLG09Mjk7ZWxzZSBpZihtPT04MylhND1hRCgxMTUsVFsxXSw3LDgwMDEsdGhpcyksUDg9NzQsbT03NjtlbHNlIGlmKG09PTU5KUpEKHRoaXMsQyhILmxlbmd0aCwyKS5jb25jYXQoSCksMjI3LDE2NiksbT01ODtlbHNlIGlmKG09PTYpbT1QOCE9PXVuZGVmaW5lZD83Njo0MTtlbHNlIGlmKG09PTQxKWc9NjcsUT0kbigyKS5jb25jYXQoWih0aGlzLDIyNykpLFFbMV09UVswXV42MCxRWzNdPShIXz1RWzFdLE5YPURbMF0sKEhffDApKyhOWHwwKSsyKn4oSF8mTlgpLSAtMiksUVs0XT0oYz1RWzFdLHE9RFsxXSwoY3wwKS0ocXwwKS0yKih+Y15xKSsyKih+Y3xxKSksVz10aGlzLmZ2KFEpLG09OTg7ZWxzZSBpZihtPT04MSltPXc9PU5NPzgzOjczO2Vsc2UgaWYobT09NjgpVFsxXS5wdXNoKE8odGhpcywyMjcpLmxlbmd0aCxTKHRoaXMsNDU0KVswXSxaKHRoaXMsMjQ1KS5sZW5ndGgsUyh0aGlzLDUwOCkubGVuZ3RoLFoodGhpcywzMTcpLmxlbmd0aCxaKHRoaXMsNDYwKS5sZW5ndGgsWih0aGlzLDI2NCkubGVuZ3RoLE8odGhpcywyMzgpLmxlbmd0aCksZigxMTUsdGhpcyxUWzJdKSx0aGlzLkJbMzc2XSYmYUQoMTE1LFoodGhpcywzNzYpLDcsODAwMSx0aGlzKSxtPTc2O2Vsc2UgaWYobT09NjQpTisrLG09ODI7ZWxzZSBpZihtPT02MSltPUgubGVuZ3RoPjFFNj85MTo1OTtlbHNlIGlmKG09PTU3KXQrKyxtPTE2O2Vsc2UgaWYobT09NzYpZz00NixNPVAsbT0yNztlbHNlIGlmKG09PTE4KUdbVisrXT1LWSxtPTU3O2Vsc2UgaWYobT09MzEpZz02Nyx3PVRbMF0sbT0wO2Vsc2UgaWYobT09NTMpbT13PT1QXz82ODozNjtlbHNlIGlmKG09PTI5KWc9MTAsRmI9Wih0aGlzLDE4MCksRmIubGVuZ3RoPjAmJkpEKHRoaXMsQyhGYi5sZW5ndGgsMikuY29uY2F0KEZiKSwyMjcsNDgpLEpEKHRoaXMsQyh0aGlzLkcrMT4+MSwxKSwyMjcsODcpLEpEKHRoaXMsQyh0aGlzW3REXS5sZW5ndGgsMSksMjI3KSxVPXRoaXMuWU4\/Uyh0aGlzLDUwOCk6Tyh0aGlzLDQ2MCksVS5sZW5ndGg+MCYmZXUodGhpcyxDKFUubGVuZ3RoLDIpLmNvbmNhdChVKSwyNjQsNjQpLFZsPU8odGhpcywyNjQpLFZsLmxlbmd0aD40JiZKRCh0aGlzLEMoVmwubGVuZ3RoLDIpLmNvbmNhdChWbCksMjI3LDY1KSxLPTAsSy09KEw9Uyh0aGlzLDIyNykubGVuZ3RoLChMfDUpLShMJjUpLSAtMTIrMiooTHwtNikpLEg9Tyh0aGlzLDI0NSksSys9KHA9Tyh0aGlzLDI5MyksLX4ocHwyMDQ3KS0ofnAmMjA0NykrKH5wfDIwNDcpKSxILmxlbmd0aD40JiYoSy09KEgubGVuZ3RofDApKzMpLEs+MCYmSkQodGhpcyxDKEssMikuY29uY2F0KCRuKEspKSwyMjcsNTMpLG09NTE7ZWxzZSBpZihtPT05KUtZPXkuY2hhckNvZGVBdCh0KSxtPTc7ZWxzZSBpZihtPT0zNylnPTY5LGgoKSxtPTEyO2Vsc2UgaWYobT09NDQpUj1UWzFdLG09MTk7ZWxzZSBpZihtPT0xMylXPSIqIitXLG09NjY7ZWxzZSBpZihtPT01MSltPUgubGVuZ3RoPjQ\/NjE6NTg7ZWxzZSBpZihtPT0xNClnPTY3LG09MTI7ZWxzZSBpZihtPT03MyltPXc9PUJfPzkzOjc2O2Vsc2UgaWYobT09ODYpbT0xNjtlbHNlIGlmKG09PTYwKW09OTY7ZWxzZSBpZihtPT05Myl7aWYobV89KGQ9Uyh0aGlzLDE3KSx0eXBlb2YgU3ltYm9sKSE9InVuZGVmaW5lZCImJlN5bWJvbC5pdGVyYXRvciYmZFtTeW1ib2wuaXRlcmF0b3JdKUI9bV8uY2FsbChkKTtlbHNlIGlmKHR5cGVvZiBkLmxlbmd0aD09Im51bWJlciIpQj17bmV4dDpjOCgxNiwwLGQpfTtlbHNlIHRocm93IEVycm9yKFN0cmluZyhkKSsiIGlzIG5vdCBhbiBpdGVyYWJsZSBvciBBcnJheUxpa2UiKTttPShZPUIscj1ZLm5leHQoKSw2MCl9ZWxzZSBpZihtPT0zNCloPXIudmFsdWUsbT0zNztlbHNlIGlmKG09PTkxKUg9SC5zbGljZSgwLDFFNiksZXUodGhpcyxbXSwyMjcsMTk3KSxldSh0aGlzLFtdLDIyNywzNiksbT01OTtlbHNlIGlmKG09PTE2KW09dDx5Lmxlbmd0aD85OjM5O2Vsc2UgaWYobT09NjcpTj0wLFc9IiIsbT05NztlbHNle2lmKG09PTc0KXJldHVybiBhNDtpZihtPT03Nyl0aHJvdyBsQzt9fX1jYXRjaChmWSl7aWYoZz09KGxDPWZZLDQ2KSl0aHJvdyBmWTtnPT0xND8oWm49ZlksbT00NSk6Zz09Njk\/KGNMPWZZLG09MTQpOmc9PTY3PyhQOD03NyxtPTc2KTpnPT0xMCYmKFA4PTc3LG09NTgpfX19fSgpO3ZhciBMNSxDNT0oQS5mdj1mdW5jdGlvbihGLE0sVCxLLHgpe3JldHVybiBoMi5jYWxsKHRoaXMsODAsOSxGLE0sVCxLLHgpfSxBLlNYPTAsYi5wcm90b3R5cGVbdUNdPVswLDAsMSwxLDAsMSwxXSxBLnJrPSgoQS5FSz1mdW5jdGlvbigpe3JldHVybiBFRy5jYWxsKHRoaXMsNjUsMTApfSxBKS5vVD1mdW5jdGlvbigpe3JldHVybiBjOC5jYWxsKHRoaXMsMjkpfSwwKSwvLi8pLFBMPWlDLnBvcC5iaW5kKGIucHJvdG90eXBlW1BfXSk7d2hpbGUoImciKWlmKEM1W2IucHJvdG90eXBlLlhOXT1QTCx0cnVlKWJyZWFrO3ZhciBiQz0oTDU9RzAoOSwyOCxiLnByb3RvdHlwZS5VLHtnZXQ6UEx9KSxiLnByb3RvdHlwZS5UUz12b2lkIDAsZnVuY3Rpb24oRixNKXtyZXR1cm4oTT1GQig4Myw5OCw4OCw5MywiZXJyb3IiLCJrcyIsbnVsbCkpJiZGLmV2YWwoTS5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKFQpe3JldHVybiBNLmNyZWF0ZVNjcmlwdChUKX06ZnVuY3Rpb24oVCl7cmV0dXJuIiIrVH19KShFKTsoUWw9RS5rbml0c2FpbHx8KEUua25pdHNhaWw9e30pLFFsLm0+NDApfHwoUWwubT00MSxRbC5rcz1mNSxRbC5hPVc4KSxRbC56YnBfPWZ1bmN0aW9uKEYsTSxULEsseCxHLFYsdyl7cmV0dXJuW2Z1bmN0aW9uKE4pe3JldHVybiBYYig4LDEyLGZhbHNlLHcsTil9LCh3PW5ldyBiKE0seCxHLEssRixWKSxmdW5jdGlvbihOKXt3LkVLKE4pfSldfTt9KS5jYWxsKHRoaXMpOyddLmpvaW4oJ1xuJykpKTt9KS5jYWxsKHRoaXMpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IlpwcEZvOElHbU45SVVISlo3T3ZNNkEiPihmdW5jdGlvbigpe3ZhciByPScxJzt2YXIgY2U9MzA7dmFyIHNjdG09ZmFsc2U7dmFyIHA9J3picGQ2MFg3SW0yNDk4N0dNZGF5cU9wakRkSnNsZlQzQWZjS0d1OHpURWlJdCtqMklTM25GTnNwRTNCWC9hbWtvcmNMNm5kS3ZVcTRJa09haE9tRzFOZmV5MEhRdmkyZW1aanJ2ZlZMRlJrZTMvTjJMcWU2eXhsTzh2T01KSjNyaVB3OEV5SkpDMGUrTGRObXRKc1ZXRCtxOXIvSmRLMWpaSnVUdUNlc29VUHg1dWs0VGVMZ1BCTVh2TjE1dUtBSHk3a0RaTnBnZnAyaGJrUStxZmdMOWxpd0xxN1UvSGpIU0w0dkVLSDNySmtIM3dIY2h0YWNQbktvT3FZT0p1dDlvNDZ2RUxUS1VMU0NyekM1bHlLZThvaTgzY1c1ZjhrbkJpMDgxQm5LRzJDT0wvNHQxbHhmZG1sWndVdDhuZHpkNmtLOThxcXIrc3h1R1p2UWRLZ1lLeXVqU1BMdkhocmxrYjZabUh3cEFMbm5XVTZuMnd5RDNCSms1dkRLdFV6emV3cE53MjllOE9RNW04bmJ6Nk5hSXNzdUx3UGF0OUFYamo2R3lSY0ZoRERvQ1BxTHdnRk1QcWJpWjFxM0JLbGZEYlBTL2FOZGlERDdZNlFoSEhHZ0RIVStjME11dHQxaFM4MU9UNlVMaTJMZjF0ZUZyTlU2QjEvN0xHM3hsYWRQclhNaVFLNlVwMWpJczVMQlF6VDZ6ZndKbzRnbHZiR0pvM2x3S3M2QTNiM1AwY0YyZTh6enlQZ0ZiN0lxNTFhRkhDajBxejRJYkVYUndTY2lZSXBibTNmcThUbXBjM2RHZFFtYngrVlFsdFcxWHNiMVo5ZmpzUVhCRmdBcVl6ZmtDREtIT2psLy9vWDZYZk1LbmtiZWUwOEhOelB5b3BXVHhsS25qVzVWaDdNaFRRUlpneDVFL3pTWTF1K3FPd3RuUUYxenNnNTJGWnVqeTNpUUR6b0FZZDdUVXNJWVpVcHVUZ1Q5Zm1iQ21aSjhhbkdDcVc5VE1PZTlmb083dHRvamFBNVA0ZTJ3c0h6YXF0M0VQVVR2RDRoaC9OdURjSHpjQmhOOEFnMlJQbS9iblBUMEFaMzZHQkEyL1FyTGc1K0NkczZ3TGlpSHBEMnZka1pJMytIbE56Uy9mV0JOSDBPVzFKcHg0ZUVVZ3JwdExna0pXZFcxd09ZendHNTBIOEJKT3JCNkFmRlJLczFLTm9mRVV1c2tlcGlhcys2cGZHUFhXZEFtbXB0RDFOL0o2c2xlWG5hb2FubDBSSHZydWpzL2lyT1BVSm9GRnJyTHhSM1FCMElZTjBEQStPZ2VrZ0tuUFdBR3Q4NUpHL2oreS92VzJFeUQ1eFluUTZKajRud3VBL09lMWFnc2dOWGpZN3o1b252TmJpSW5jZDdTaVFiUGU4UE9XMVMwN1JxSHBQQzl0b05wR0o4M2RHdUo1cTAyS2VTM01la0o1VktsYjNHK3l3anp2dkhmQ1hLTHAvSTRTbGovWjJWaHZKUWdVUURtNjg3bGpMb0l0MmUzcVc2aDkrOEdWS2hCNkY1T0laL0Y3M1dteHRMbk5DV3NZVFo4dldTUGtpcUt6MUdaejVheGpQSmtDRlR1VHFCVEtGZ0xRMlYwTFlYQTcwZjJQUFJ3ZFpRbE1VcTZCaVp3cmZ0R2lSRVN1MVlPTWRuVnp2Q3k4dnFCRWVEbHBGNFR0RDlkYjNqS3ZJNEk1SWpnaHQwU0lXUE4zNXZGVU5SNUNZeVJHRWRlSHFOYW9VWmdZQmVQOTdCSEdyWE9JeFkwOEE5SGw3MVQ2UjJWUVJmMnFEaHQ4VmpPWjMxNnpNOTZrZlRpS1FVaVF3UVpJM3BWTlVDZXRyR2JDL1pxUnFLQ0xUTlBxSER4TC9GRGtacTkzUUZkRmErM3BtOEsvdXNEMkdNdXM4WE9Heis0YWs4K3JtOWpLbVlzRGNXMXpIY085MjlJRmFaY05BK2lKckNkUWVOUHVDODhWVTB4dllzSG9ZMXI3N3lEdytCakRFcTdMcHVGVUVZZkJWdzZCSEhEdHJ3aFFkQUt4d3ViM21lS3VwSXJ5SW9WZnA2ZHdZSFcrV2pEM091L0ZyTkNOM2RVM1dOekNpZXB3U3FFeElRZjhrcGhLcGJtWXpWYkxDMnhRSmNMTnV4RHBwaUlMR3lPSjBBdDdGQURzc3o3c0l2b2VJUkRXZUh0SXdWMVpsMDZhNjZlWmNUTmpqNWU1dFN3Rmp1WkVKU0NCL1JkM1ZDN0gxbzIycGx3bWlQSWtPYml3TGlJQUFyKzZwWFRVc0lJMkl0NnJpWVhwWFJvZ0x6RWdDdG5OV3V6dHVRWHRpNTVCK1ppKzBWSkdUOG9mZ2YvT1dJMG9sWm8zUSt2T1lMd2NLcFNHODNoeWM1RmVLbklVRGliSzlDQm93TkF4MnNZUzhlNVRIVGkyejNGSnpBZDN4NktSTGZBVklsVjIvWUIwbWdaczVzRkx4eWZiM084K25ENFZ6ZEE4Y1BnUWxicklUdW10c09GNVVVQ3BBbzFvS1R6YjBITjg5NlJENUFmTjlWQ1Vha2JTdDcrd3JKaHhmVk1DMVJsVEF3REYzOHRPTEZiNnZWMHVid2pFVnU5MnZmcG1ZVnduMjYvdE9TTjhkM2xNS0RnUU00blloNmxESTFGZjV6R3Z6VnJRUURZOE9hZWV3Vm9Gc2JmTkpkSlYzWER6QXhnSXRsaEdXWlpXcHdCNnR5WmlxSVJpSUFnK2ppWUhNU2Y2bmZzNUpuTk5zNXpnanlZalkzM0ZZSHhOTjZtS3gxWnZweEQxTFdINVREamoyQ2NSRkt6cnFPREVoVWhTSlE5OFJZK1Q5Y0s5YTJtaVFrRGI4VzJJT3ZYVmdHanZFbzBlUVZpRGVHL0NkQW5YSkxuSXI1ZFBab3IycTlud1JXcG1ITTh3eDBzNXY2MG9OYUlaZ3pEeWlxSW51MmtBNUVpZXByblI2bGo4elFqaGZnTlgrdktwV1JWbVRhLzAyT1dJdmE1clB1WVdwOExDZ2p6Z0RVNkF3V3Z2RG0wMVVlbUgyVCsyTWNpcXFwVWJmT3BoSlZiTUpDTVdISUVZbkJGU1ZYWDBpRTVuMlhiTEdneUV4OUZPY2VMdkF3R1BJMEV0dVNxV0V0MVR0UWxuMDNxQW94UFZwRFJablNqSlpDajlyNDhNTWhNbE5FR0ZYelM5V2Y5YUVGZ2VwOXFscUNCa3BNRHRZT2xRUzJTbU56NE81Y29Ib3FQak54OUljTzF6a3U2TFdvb1hmZVIzZTNwOXhpQ25IUlpIcUIwNDcrTXJYQzFuS1pPS0xQMFE0a3J0QTlmVFhrWDFBYXBCM2FlMkZVb0FKM2JrUkh1cmZBaGFDa0RzWSsrNE5Damh6L3NkMVNVbExqcFo4N3M0UU9xUjVHaXBsUDlJYllGNi9kK2JnYk9zcEZINm1xbDlBSFBqMFMvUWg0WXF2THc0M0dVd0E2VURIWEtUc0d5ZytIb1QxdmY3VUJ5c0FDaDVuZWRSUHRLWm5IWm1qbFlGeUdYWm91WmZ6ZkN3YWxVNTd1aGtrZnpxTytJM3hhbXE0MGVXVDQxODA2b1VZKzI3MFp6TDZVeDBBaGFvcmdRMms2SDlHc0NkelMyZWRGcmRuc3U4NmhaV21iUWYzbys0dmhMTisxa2ZCeWVXTTBtNUIrM2tBOXE0UFZIYjZjaUNiU1pxczBoOC96dWtDRGdrd3BnanRrVkFGd1RUSVZvSGpwUWY1OGdnRSsweUFTVVMvQWowQ0NDTGhTQ1dMam5NVGtqd1RIb05zWUhmMEtMOFlSektsbFkrczZDRFZCUUIvdk9jZnkwNHNYWjhtWTRPK0c3RW9QN2NrZmhITUV6S0FMZzVVUi9oOGNuVmo2azk2ZXJrMnZ3bFZhc2lDM3QzZVBoTnJTM0xKM1ZrZ0grWm92STRVUmF5ZFQvUHR3OWlnb1ZReDFoZDQxcFdUZDJNMytSY0I2QlhkcmRDK0VISHdvNGNxR0toY0lJak9jUlpqSHp4aExuZmhLZHJLbTZ4VERkYWkyRE4wNnRjYVdrUjVZa2lYVzV0WXdTZEEyTytrU2tnb2c4dTNHSXJZTE1rMDl1U25YVlpBME5maXVveHZPZkd4UkN3RzI5SWliL1lVNmVOTGdtQ29Mak1kUE4wN2M0Zlg4d0xsQjFtbFZ4WDFTeUN2d2l6V3hJQkRwNEtmSGd1R0liTmltU05XQ2wvZGdBaGw4cDEwRlZ6MDNXV3NFUFVKdnYzUWxJRDRzNDlIckNpSGVnVjRRSFdlRXp3S2lWa2wyRTRYSnRYbktyZ2ZhdmowZHhZWk9QYzVWZTBEcGcwaUg1VWEwUGE0NUZIWkRMWGs2VTF3bTE3K0JNNU1LOC9BL2Y1bkNRbnZrNXZqUGMraGxTSUN3WFEvLzI1Q2FZV2hiRmtKU0lTS0Y2Rm1PNm1QeHpyNW0rOEJOWllQdVJzakZNVGVTTXdpSXRJNkRGMG9FZXROSnRqRTdBb2xBaFl0aWF5QkNUMzZ0OE5zWStjaWxpc0ZwN0sycVNrQ3dCRWhMOGRDclF3dEZpNEhBKzRMRHRGUjQvdTFZU2Exb1JLUHRicEwvQnl5Zm1BTFhnaUxmcnRiZFVrTVVuZExwNk9UOExPNC9RcmJaUmxBSWROQ1l1YVJnYUdyZ3FMQXY0MElXZHc3RlNLZXhNN2gwS1YvRWxWNlRuNzFPa1VvbWVVTURQZVByZlNtN3hQQXY2OEJraXl6ZzMyd3Q1TUxOYlUzTk5FOWtKeVdrSFJiT2R4d0lMTEVMWTFlSGVKZmRsZ2x6ZTEyd0ZpQVBwdjdvZUN5WXZsMmFHc2ZGTUQzWm8vcEE2Mi94b0NiZE55STFvaCthSlg2c3NLdmJiOTRMWnZRM2k0bmNUa1B1d3RFdkNSMncvSWFuWmt5cmN2Q1Z2ajc2ak9kcDcya2ExZUU0SnByOWhNN3hveEZZelc3U1A2UkFoYThTeU1rNklzSjNkc2M0M0dZOThxVGZ3UmVKWWJNVzNHb3FFVmgralZVVjduNTdHaDRZL1EzZGk3bmhRMW5IU0FhS1ZaelhqNlJjYVVWMkU0YVFTMVlEUStoWEtoQlEwSkIzR0tWTmlWaXBnM0tYVnBtVEdWNktsTVVSbjlRL1Fva2k5ZlZSeEMyck9hWGladEw2ZkEvUFhJUDlkYW41bXdwNkFPU2d6UVE1T2JLNjkveGlYZ1FNUGRmM29kN0hqeWNVUUpRcWxKMVVFSTdQTU9TVUxyNjI2Si82ZmE1b095eDlmQldDUUkwMTlET05TMWV3elNONHQwVlh3ejJSbmRIRkorNzBXemg3WURpLy9WZ09ZcWhHMWkxczVURjVGWkVNdnplRFVvVm5TMTJLMWpjQWs5TUFCbXZTLzZVREFKYnkweEVlTGFFUC9pcExsTFlEQURKZldiK2tBaElURkxQUjd1ZDExRUxWVCtyWEhaVlJjUi9iZkY1MlJybFFiK2tJVXJPTVBDWGFlYzJmREZIWXBXalZJbGNkMHdERWJYQlRibE95WXVlVC9hcU92TG9CaU5lM1YvMzhZeTJTYXJYSUJvcFhjNHdseHQ2S0w1SHF5TkQxQ3E5UGxldnJROWpjVWRNbW41bTJGR0l2UEd2cTVLVXdYK0JIdjhRcnhMNkJEVkFHay9WV2RwSEhLM0hhY1R2MmsyVk5xTUFUNUZxWGw1YlR5L2lORjRRZXpNTE41Unorb3Ezblg5M1ZBbWxDTHRqTlZaSUVNeW80M1p3Z3lwd3ViZ2ZoT09Ed0tCZC9hS093WjVtbmVLQUI2NXk3NnIxRTFYRFlyY0hlRi9JZ1VDUVBQc09hMXQ3TSt0VXRoQUZMZWRjalhyQWxGU1hSd0VLQ1NESVNTaFRKMVR1UGVmMUJ4WFNkdC9wd1VtR3doZ2N5ZXNFRGhOZEZhZ1R1SzZYZit6RU5mS3RtNzl1WGc5S2NOUyt0MWlCOVRYVDdxTXZ0UGpxR0xzTnNUTzNacFlhT1B5UlpkbEU3djF0aGdrVXVHeWJobXB3WWo4a2NhdTViZm5XV21iY3VsSTY0WldWOFNDWjh1bzlPMjR0NXkxbzFFSTVSU1Rhb1cwZFRFdVkwb0ZBclllNFNWT2tPenUzaEx0OFlNeVB1M3pTRUlTTUFJaXhNUm92STkxSjN0WXJwM2FaNEJEdmgyYzRGK3dnbzdoNFBXemZ2VWlObVMwejlWK1dVWFdvWldnalJYT2gxbG12dHVUWS8xOFRScUZPSkxJOGxBc2VMcktNeXdRUWhvb2FTdUdVZzZwd3gzVUdBcTY5ZldiT3U1VGtmcDZFQVhQWmVoUXBtNVI3VFNZOGhIWUYxUFg2K0xwK1hpeXVBekY3UUhwQlpkWmdSZVpyN0FNL2pTd0RPNTFkaWFSRTN2K2I4U1dpNVN0UHFPUWYzTGR5QVFWR0gvWk9XNVhwRHFTZytGZmpibG1OeEpXb05Rc2lVM21jQ1FJOXk3V3E1Z2lyQy9FSGhWdW5BenJMV2t0WVJvUE5OMDFISEp2MUhIYkxjK2l1QlZkWktNd0NkMStVOFRUUThybmJGMkxacEZtM2NvRm02b21HYTBTNTRySDlOem5LbTY0VEliTmpGZ0VIN3FkejBwV0pZc0VhY3hTK2xpMTByZWV6MWF1dDlHaU13TlZZZ2R3UzBRWlZTOExWQjZ0MWRXSDRya3JBTHNQeldCRDByOUt5QTZrc2h0RzZJZDlyZ01vU3Y5NjA1YnFoNXNJbWM1U2s2QThoU21pYlNiZmdOVFNlVG1yTDVoYnNmL2hXYmtXU0krK1M2enR2UXNoQmwzR2o4aVpqNmp5QU1yVFNBcHNabjE3WmpOVWVHRjhsUEV0KzYrekpsdmJ4ck81YlA4VHk2TEhYaExvb0hrZFljQU5MR2QxaVBObmJiTFVTV1Nxczg1N2R5U2k4YklrR3BYbElCYngreGwzUUI4cEZ1a1VqaEVEZHBJM29BK2RYVmp3T0xtUlRNL0hma0lJVEhaVjkybEgyUGk4ayt5V0M5aVJNaVNCc2ZZbHlHWFZJd0JXcUp0SnJUUFNtRk9EK3g4VDErOFdxRTdVaE85Ky8rdkQ4VjFOd3FzdERTYzJzUURkYzR5RUxPS2F0eUxaY1hsbDBLNEZ4RUlrY3BWMVc0UVgyaTQ3Wm4vdWhSWVpXalNwRFRaSk95MWdrTExVZUNac0orR0cyNjh1WC9keFVRVmpQanN5QitMamVaNXhSQ2xmWnZUbmNMQ1VJQzVHREppMldzQmQzMnJuYUF3bGFIWUJwZDYvZm5SM2FRVlNCL2kzMXZJOWh0aU1RUGx0dzkvRUJXMHZ5dHEyZEhoVmUvM1dVZjlnbjBGV2hxdWRlSXFEbnZ3NWNlRnhOdmZYMXNQZ0U1SGhOVmwvMTJUYUhJRW0rMlo5MkJ6N09icS9VOEp0U0U5NFNhdVFHZmh0NktzN1YrQlBKRkJQclFZelg5NjZWR3MrbXNOK09ZSkQ1bXpncmJFbDNPYXl4RXEyemhmSWdXRmRmU0lRWm9KbzI2OWYyMFdpQzlrOEN1NXlidDNIMkVQSnJLbnR6Q2RoWmZHQzBCei9MZWVsU3YvcGF4dVZEK0E1Q3hqSEdJaWVKV1pmQjlRZEpWekZEWEE2ZDU5QVNid0dwZ1drZUxwMmFTL1RiZ1B5b0VmeGR0Sk8zSzJ4RUExSTYxUmxlOGYyci8wZ0dTMkNDKzdKR2ZzWHpQU1JjRmxtem5IVmJHa1l5VkRCRlkwTlhrc1NvcWNzL3NsbjFxSi9qaDI2Z3kzTEFiOWpNTU5LaCtYMzdyTUJWdTdqcUJHMmZuTzNHU2s3SFkwanRpY3R1U09VQ2pKRjhWbzdvdjBwY2hhckRiS1l4UEJjT2djSElVeldzamNKcnAxazZwUnJvcnVkOVBjcUVrbjN4MjloMUFxZG5Ybml3SnZtUGRIZTNQbDJJTmNqWVJlck04SUZwZjY2ZUxsTlJFeDRweFJmdmxrN2xpSGlGVDBqTGlyOENzMVArN3g4QWhqODN6a0hMUHBhSUd5MXFNV2lVY3RBMGRmc2pUZmFuZFhCZTY5c2I1L2ZzUC80Sjc0OXgwVU5YazlkTjFCMzVPN0hGMmhQU09HbE5La0o5RE1LSW9nTGVZUmpOd0oxRXZ6UVZScjhxV0xHS09uVUxxTEtiUkgwS1h4NWhsWVFIcW9kMm5MZkFsQ1VZbjQvZmtNRDV6ZjRtakJDc2U5QWhQM2p4ZFNMS3hDazJyQkdyZUhWN3A2UTEyNzJ6R0d0dnZ3VEZMRUdJQStHUCtwTDM3MUZxK1VDZFBramNxdnBhSWFUZXBKOEV0dzlNTEVQbE5HVnJsTG00ejdQZW5MZWxWS29qbG5HcmRUcGZYNGwwbGxINUhYVnpHVnlQd3ZsR3hXbjZsaFZzVG9DcXRDVkN6bHpNNWhWQnMxd2JjRnpPS0RHaHdSNm9sVy8vOHdzNTRnOHFXR1drck5FNEE2aDh5S1VkUWR1MURHdDZ1Y29jTVZLOUlnZ1pPbkR3ZXJQeFoyeVdzcGFVSlFxSnZlcDJGQS82UFV2WHRqT1p3b1ZUeVB3SU44NWI2NXJobXBJWXI0bHRtZWx6OE1Fc3JVeWVzVXBzUE4zNFNVdWc4WGlRQjE5OEdaTXlYUUtrcUIrYytiNklrdVNtYnhJYWhjUkZENnZ4TkxPcE9rTm93MlgyaXVyU1BqNkxhK1kyZ2gvZ05ONEgvK0wveEtudTFzR0pWb1lnU0JUWFJ3Y2dOMm9QUkh4Q2lCTXJ3OFEwN3cwa1phaDl3bzVQYjBJUFh3WkhFcEJXRlcyMGFETXB6ZUc0dGpOQTA0R1BETjlQMHFzUDJoZHA3SmtWL0I0V0xSOVlFU3JSL3o0QS9xdWlocVJ0OTkyRUFjREl5ME16YkJxQm5tbWxVQlRFazhMdU1PQzlYNTNPelNCVVBtQXJZZzJ2OVRuc2xpZzlEcGg3Zm5qc0FleEFXU1pVVGJUUDFiTmRYNm5hZlZEM2pJZ1dENlFRcFlRZVVPYi9GaFlrcW52cHRjRHdxa2dTaW1PVjBuT2xnS0NTVkNqK1NwWGt5SGh3QWFNajUvRkwza0pVdGJyeWUwdVhueWlEbHBIc3ZSbzVYNElOdDhXWjI5UDZsdWZ4d3lPQlgxWHU4OU5vR253VlpzelhvZ0dld3B2YytCdGxReTZOR2xiV2xHa0Iydmc4czBQTi9JV3cwREFDcko5ZVZEYVZoZ1Z1RjhwV0t4cjk4WUtoY0tjZTJCYzBGOHZBZWJNenpOV2lmV2cyVlM1N2N4YXIvYk5MZkFuV2E0cnliY1ZvcWNOWlVIQUVBdVRKeFNhSjFrQjJSZy9PckJoNGRHU1dCYlBPL2VzZXpDS2hpTG14NG94MEpvazExenNvTCt1Z3FHNlRHMGxjZmtDaVJlelVxSzRvRWR1TW1OVzJlY1VxMDNMWXZ1MDJiM0xrdUpSbG9UczdwSGVJWk8reFhqTThFZmMwdTdwTW0zMnhvN0VLNGFUZnhOYkg5NzhFSE44WVNWdlNoa0g3bjdjeVFmbEtIVjBjajZnQVc2UERQcWhIQk5lRjdVQndqSUoyQWFwSmh4WGZkSytxWHl4a28yc0FFSWhQdVdSUW9WRTRDYmZrQTlQcG9xVUdhQnl2R3ZOMFdZWlBIZTFaa1o0VGNUczN0V29xREJXV3AreDNXUGtaejZKRkM5SVZsMm1ZNzNlWlNwUFNFSlVOQXVEaWhJQTlFd3pHckppa3hySStWekMzcFdVOWNvQTc3MUJ1TExlNC9zMXRQa3VWa0hib25jYWJydHdkeXFqMiszbmNjMG9aVy83bTNza3p6QzZSS3pzUHVXa29pNDdIekxSUlA0SzRRRFZkUXRGdFN6b3Z3SngyZlNkSWMrcENBOVNEa2JKMmN0ZWVpZWlVSHRsRklaVHpMT041aDNGYnlFWFNuK2d3QXYrTkVXQjMxNUhETkN0cjRwMklXUEFwcTBicDg3NkR2cU9oY2RTVDFJeXRPZXM2N0ExVC8zRGVUU1lLUmY2aUhURWxsbFRIN05JQkJ2MCt1N2pQMjU1dGl0azNsOHd3UVZOYzNuVi84dGs5QjBGWmZzWGRBeEIvaDc3ZGlXSjBuaSt3R2pYZlRtYUU4UWtyWDBROXkxazg5eCtJUCtRTzVjVG14ckR3MHdhMCt6OWJQaisrOUlOdkFYSGtiTE9lU0hkNEV1QVAwUysvaTg4QnpiNFZicWRLZnpjK0d2aFd3RTVoUTViU2RiN080b3lJUGdVYXErNnVHNm0wSnBuRERnVE9nbmpDL2pZbjRmWk1Bc0I1WjVyTU15YjczcG9hTmtGSytUaUx0eWQwMStkTDVNSEZ4NEZwM3ZVeGR3TXJLZE1saTZCV3JaYzBZRFNaSDN6dFZLQ05lSURVSzVkcnlGWVVhOXhIckJwMTZMaUI1VHJuNzRRUHlZTndLc0t4N3I4ZURGcEkwTEJJRUEyQ2U5aUJoN0NDVEFYVG5zWkhpWGxwNXgvdVpITWNHYU8rTjVnelJEcld3ejJhK3UxVmhJdmZ4a1ZXSkdCOUJJRmdkRVYvdXd2QTU0czBRSTAvbmhab2thOTBWWGIwVWx1aVhwaTU4dzNSbVlLbk1kZHU2VW5COFdPbTZsWTNpTzZTVzJ0R2FnUGgyR2VBZUFnWmp1QlJMT0dkRnBjNDVpNkRtcjR2c3FsNmtmR0s1N1F1SzBlVFJiM3ZEV3Z6bXBacENCSld0R3VkbUJiTnlYYUtDQ3orT0o2ZlJzT0NEbGhERnAzQ2NNY21Hd3hlc0c5NmFKMkNoUkdUYzVwVjdjcTgvOFhoN2JiZklPNlpxZStza3VUTmttVDVPQ29mQ0o1OGRRYlZhUUZlVUhkRkorME9qNVlUaWJ3SHVJdEUwbElwUVdxaW5oUjNlYVpOVkNTUjUxS3l1Zm5kZitZT2wxNW5yM3U1MWhZb1hhOUsvVkpkOEl2ZHc3emtlWEZORFg0Um5VRmxsZEpJR3VJQlRqdW9FSG91SG11VWF2THhtM3ZwNGVZZ1gzWkd0OUpNZVVzMDg0am1acDhtenpaS282R0VVZzltbU1kSUtibXF4QnNaQy9JRVJVNXc3ckJFYTBCVHpQbjVTMjJ6TitGWXpyaERlTkRRRW5BMkJWRG8vaSt1Qi83NEt4ZWduNW90VzdDdEQ5dy9VQmFqaEFETFkvTzBtSGFpKzBFNVlkYzhCSFF0SW9PbFJHTXJnNFhERXZvZVV1THN6K3NDekdEVW9ZK3RvaytXbWtOT3lhT21pZWRLWFVOa3Avb3RnVGFEUzBJVE1nanh0aDVwMHk2YktiQjcyWXNoUnlVaDNna05JRTZPMDlwWjZPNVBWOW1naDJSRjI2cDFhWUZFNDdYTUtQLzJZU0cxMkNsZmxRSm1TcjBGNWFJVG5KUDJkK2MxZndpd1N4TnkrSGgxa1hiSkNxYnJPSG5ZZy95S3hnY1RLMXZVMjYrSlR1a011Y09qQ0VvdXBMTWhFMzd6TUJoSnR3N205dWdkRjhhY0pZQUZIcTZ4SXhHT1hxK2NsQWJhRzU5bTVJMWhqNzdMZEFrYzNueVhFbjAwTllOU1IycjBwRFFkK1NCakFESklUTUFDVjVnWGV4Z09ySXoyRlhYSkxpTjdaYVQ2UXVxMFZjbmlKODlkaU9EYVFBSFFTYVZiSURzaTJxT3ZrSEhyTldaZmkyL1JQMzJiekRvVTliWHJCbXBPRktjY3FUUlYzSFFPUEhlSmpqZEhCNWd6VXI1STE0U2wra1pyM1lPM3IvNHR3SUhnTnozcCtzZE9lVXphcnR0Z3RnRzNjUHFiZFV5a1NJUGw1WmpRSDZKMGNXanFKM09hVjBnTTJaQ1pTMVE0TzdwNzVuclpQSy84a09waWhsdmtIZElPaFoya0R3TDFhQmp2OE1xLzUzRkhDNHVVUGw5aEpqWm5CTW8yU290NGhkTnBiNXNoaFdQeWI5ZXlmM3l2c29CMmZYaVljTkdsbWZTNGx1RVJWOTArc3g2NlJTbUloWU9CU0xlT3gybkx1MkRybVk1U2FEdnZQY2ZUSHZDa2F4RnNzUHQzNEhrb09CaDdUQ1dKWjJ4bXllK3dDU2t5WHRCT240ZGZzcHk3TkVudjgzaVVoc01ZS0wzZmtPMUNMSDN2MzFpcjZWYldGa3R0b25yb1JHY21XZzZ2MlRjL0RlT3FCcEp6VFJ1cXNKSGlONnJqRzVXK2x0SE8ySGtKWkpnWU1zclhHdTJRUEtyQ0gvem5WcklpNlV4cDMzYkVvVW5VOFhEMkVWUFpSNWhUbC9QZ3ZsNURRZWZkZ3p5R3hUQWNkMXlrQWxSeE4xcnkzVHI1Zi9OclpsR29YNmQ5azNSOUFDbUFsdE5yRnlsZGJsK01iU09oM0I5US9HZGhZaUFWSW0wWEgwOFlFTjM4bFdZR2NSRGNIYUg2US9Eb3Fxc3N4d2FkSHdkNnNuM0VDR2F6TkkzWDh2eFN1bHdHM3pjVkQ5VGtWNzA5S21LYXE1bFNrcHZJUTZXNnFEWThwMVhwN0R0UUp3bDJ1eUNHa2wvTFRFRG4wUWlQaXlYbkZXRVh6eFVlWWtnUDJWSzN0K1ora054QlIrNnUwSXdrSlRxL01rRlUwSWFPaHV3aUl3NnpDWDRUM1ZVY3pVZVk0cnE4QjRQd3V1NXIya0N6ZU1qZ1IvbTl3QUJlczdGTm9pZnRhVTE4bFYyQ2RReUtPb0t3ditsMGNTeXI4THRrblo4VUEwYUp5clNweG05ZHJBN0ZKTUVocXJwcUMrc2JNb0EyZ2t5SEJIOHNURzhUejMxM3BkNTBwZlczMEtFUEppWlJSUk11TFZROVNuNmZGYnd4ZE9zWjVWWUNoZnRPNVRYZXdGcnB2M3pTRjBhTzF3SUVsZWcray9ZalJFMDFKLzd2MGdndExhL1JnNHd5YzhXd0FCcWE2cEZwM1IzQ2l5Q3JWTnRSaU1EbGN5SHpBQnB5MlJRY0pqZlJlMG4zdHNWbGViRE5zTU10eTJoZmxYNDBzeXZoYkRMaDJid0t6N2d2dk5kUmgzYnZEekg3VlFXelZzbXFzeXpkNmZQVlJRVE0vd0ZTQm5va2ZGdkRLZDVaWW91OFRWaWRydXk2anllc3R5T1hwblpqaVRPUHYvOXVBQXVVMmkzTzJ2U2FCMUVDZHBub0tPUXprb0Q3ckdrcE03TURuRWd0dkppc0dlQ2IrWTUxK2hKeWJNMFhZK0htZmpYUnIvWTZBOHBhc1puRGxZTVdscTZ0c3FxWEtBY1VSWExPL2RrbmpqY2RhOUo2VzZkVXVOamozdVUrWGtXVXMyK1JNZVVIWmlwMXJCeHZSbFhiNk1lcEZzTzJHR25YUVB0c0ZFQm9GUUZIeGdnSzBxTTdMZUZIckhyd2kzTXl1YW43RFVmK255NTFyQ2s2MVRiTXdQMm45VlE4YVd0eDhhUnBGSW9yd3JKbkYxY1VXdFQ3V1Eva1Y1WWlGWTdnT0FTT2ZpaUxSQVNQVXdvR29adkl2YTZJSmZjMG1kRE5lTmlDRDBYWmQybXFxdndGVTc2cy91Tm0xb2dBOFEreDJadnhzVkZUSGhuNi95ZGVLSUZnUGxPVDlUc3phR3RWZkhBU0ZzM3ZJOHZxenNUdmM3bmFWbklDZ2VMUDRiRGxQV3RXU3FOY1E3bzFWU1RWSlI3eGJyVU42MzZQallKRzBoRmpQU01hbm54bWlKUmcyTGFhRnlXS0RYK0JTMHMxQ3RlR21CQThxZjBkSnhDM3FLMmZsOWhsNE9NbURNK2lLb1BucitCR2JLbmJIRGx1dWloM3YrSy9rekpvZ0ZVT20zM2k5dXBDOFNQeGg0ejlzTFBMeGRlWnRmYnJtZUtxMEwzenA3SHFNK24rcXZqM1FlaHZtcTlZVnpnOE5IQzZQbGYzMVdjVjFMV3hKSm92d0NKeG9DbHd1MkdaQ29yb09FWVNkaEozdjViczQ2cjRybm1oN1FlLzZVSGVpRUR6WHNqa2EzQ090VC9Ea25BYktteENKRzNrMXMwd1p3VG9GTEJXUGtkem1naFFjZFlzam0zSVd1Z2trSVAyOVN4TVNHb0JwVHFIa0ZSVEMwTjROZ0xsWGhleW9WSDdJT3cwc0NlRnE1NE1kcWI5dXd6TGVXK2R4WUJieVBaaFJxWXlVbUJZMTlUb0ZMQW8yTGhtMmx0Y1ZuaWx2RU5HMWpodkhMN05aRHhvOXZQNldhRE5BcE42M2RCdExzLzJ6SFdJMU1pYnk5K1Y0aXlia1BzeVdoSFo0K1pJUzFoTk5ieEYwUjFPVjRtS1ZaTGd0L0lURjZCVktOd0RlU3dKMVpISnhudGtXQjRZUUloUlJnNVg3aXAyc05jOXhVb3Jtd1FOeW1mVmxhaGM5RFFwN0RmS2JBMW04VGJ0eUtxNGxpU0t6clhEVnk3SnlJbTJLcGsxRXFIeE9HMmduMTAwbStpK2pNVHBzNHp4dzFLamxzbWNmQ1JSQ3kwekVmN3Zxam9WOHdZQVBCcnl3ak5oakgwd0ttbDhIMEdNU2tyaFV2RW5laWFQUVI5YXdKZko5T2t0V0J1K2JndVBMSWJ6MEN0MHhZVWpHWXJCbDZSYWdGdm1vQ0pueXkyb1dnUGdqTDBBcUNyZnVQK0Znb3hpd1NSaFNwbzNpSUJHK0VwQXNhMlNQcVg3WnBrSUJkRGx1WWZicW01c09YSVBUVWx1Q1k5TjF2R2d4TWp0bFYxSXh0Y2pJOHdITnF6c1FwSWZ5R1pBUVk0QXZ5d1kzZVJBTmtKRzdyUVNhcUU4NlQ1c2hHVzZJbm9VVnFnMmxjS3NTRGpPeTlSQ2lOcDV5eC8rVnJYdUNvZ3ZHTkxkUkZxa1VSamNZb1RuWlNkaStMdUZiclhDUUg3MmVndUpMbG54QXRnSXNBQ213dFhnblNNU1ZWRmVreDJEU3BkVnZ6dkU0eU14aGlTd1RkRU5VUGpMZXJXWjQyR3lPaDFyTFc0aWJEMDZBUWxHTEgxOHMrM1NHU0hJWnovTHJ6cW1CR1NaYUNZT2pScnJkVWhyellOb2RybmM0M3VWTnFqeXc5aDNLcGM3MVY2Z0FnY0N5K05IaFRUNGMwMnF0N1BZMzlhV2gzTVllcExPTTdXNS8zeTNLbU5Vb3NMSHZSQUVzWUhkVERWZUNsMlE5Qm9ldWljaHAwYTNQQ2xUd1N5cEVSdnJzdGg4ZGUzOC9aTHkyR0prNXlzdHBmeTV4R2lWeDBtWUkwTUduQjZnZFI1ZHV5NU00V01JdGNRdnpQdTZFUnJKL25POXE5Y04vakk2THBQc1d2Snp0RDZhTWhrQ3BrOFhUR0NDNVROQ0hpNHYyQUZ3Rm5UWGxOTUV6Z1FaZEZFTktkZWpzS1BEaCtPOGNrZkFFS2pMaDRYc1ZyTy9jQXZKUEJOZHFjaDJVNFhQZXN4UVcySHJqbW54K1VBWVkxcitzZUIrTlEwTXhrclhpV290aU1ZWEF1M0JtS3M3NEI1UCtzNDZCaUtmL1owdFZ0QUVGa25TbWQ3eG5rUmdxVDNjYXIya05nOVYrdjVWZkpNbGJCdVB2WnNFdFJGQVpEbndidDc0SkV5andMQUpZVnBCMGhkVHg3VzlZUFkzTCs3bCtaN2E5TTlESXNDZUNZN1BDaUJTMURUZTZSNjlBVCtFc0s4N3RFWDNSWWZydlhOcmNOdmRRNXZwUGhrbE5VeVAxb2JidDRyTEU2UThRNllrRkNrQmFSb2lKTzkxUUkyTEVwb0FDdEhuSmZhaHE3ekU1SEUySG05QnR2VlVreFZWVUpVOGl6MGdmSm5NNUtxZnVvaG1oMzkvRTl2alFMbGR5UVNCWmg4QkFCZlBvSVZuRUQzUXF1cVpITy9FYkVzaURyaVFHRzRaa3IyS3NKeXRsejB3dkcrQ3AvMG1JSE5YTGpSdlpsVDdJdjdZTmNJVHp0K1Mydm5FRGdRR3ZUQUVGSllRLzVBc2hxMkErclJpaDRjSXdDSGsxVFkvM0k1eWRHdnUrbnhSRVdRbEtEL3lCb04rY24wVUgrT0w0dWlGV0pxWmQ3Q0tKejRqUkxZTERvN2V2S0VjY1g1Q1JtYklsd2RUaEIyNTZvRGtzUjdRcHFBTWJvckMxckZsRndVK0Y5eWJBZU5aS3dsaWk0bGNiek5ML1RteGZWcUNESGowaUQ4YUJValBHdWhYcFNJd3lPZUx6Vng1ZXhRSDFnVWZXUHhkZjZ4T3NxbGswQTJrMnRtNFhvR3FtcmhrNzZTUXVNVXZIR0I5aCtDeDdJVmQ5MWxIVW5ZYXZTS1ZHQk16Z1cwQ1NqQUZnNE96STZ0alljcHZDQWFhZ2Z0eWVBMFpjaXlxR0RPb3FVZHNNYm1GMi9mVUMxeXlRc0xRVDhhTjhvZi8yNTFyNCtJbFlSYVlWM3lZVktrR21kdHR3Q2hPRUY1S2pHQ3haOGlabVlEUUJpL2xWa3psMzJ2ZHpidGtUaVZQSCs2cFlPODlXRk8xc2hlUDB1Y0pDUGVVdzE3S3FwbFY4c3I2TXFqbHBNSk9YZnh6NStWb243OEdWNzNIZEd2b1EyKzRmNmtZTVBrMW44cGl5QmViMlpnVWpjT1lHY1h0bHFXSDZNdTNFZG5nQnNDWW5EYXhlZUsvOFZEZzluWThubTNZRTBMbGk3NDh3bkVScC9ydUFQc0JOK1FTZUh0RkFEYkpGMWJ2ci9nTmVqeGZ1NWUwVTlxY2N6TjVheHdZbjJ5OWx4NUdTL0hHTFZaeG81aVhXTmFHZWVKZVZlcnJMYWNlelpDUVhOM2c1WERWVVRpZk96ZzdUaUZXTFRPWEtzUG0wbmJ1UWdRdkhSa2JtMStJRThkaXBnVmpxalVyb09tcnR4T3ZmSTl3T1FpRHEwYXo5ZmFlakcxbko5dk5Ca3RzYklXaGwzUmpWLzQxWlpiaGR1NEZ1V0d5U2o4YVJEc2dhU1kzVFdUSzlFN3lLTDZBSXV3WXdSWjlWN0czNmExUzlvQStHS2YxSkFqU3FWbWhQOTQ1Q2cxVkE4N2NpNDdwU0RJSmJ3OHJ1WEZUQWlyN0swNWkxVFpvUS83SDk2VGsrWmtkT1o0VFo3ektPbjVFRHRMSW1FNndzaWwxR0JjbG1qU2pyTE1nenp4Q2NSVHZMdUxDdDRCd0V4aTg4d2ZwRzhDWFJLTlB3NkpWQStFeVd5SUFLQkczTVNHQ01FbTY3OFlVZkw1MkdwVExDU2V1WGlUTHRvQ1VLazU0enhkdXlLUkpaREFhbU92RkZwRnQyajExcEUvZm1qVThMczlCaTUxSEozdGxETE1WbHNQdW4yUC9EdnIyRFFSV2c2dzI2WWg1LzJYOVpQQ3VjeHFnZ3RmTjlZdS9oaUZSMFhNbENRZCtrVS90T3VYeVVwT01XMmxuWHlZK0lmTVk2aTg4bFFsd2dnbXN6K08vQmZPcDFZSXRKdGI3UzBMM3ZoNmNJeHZ2TnN3MURIY3R3L28wam93SzBDdUVkZFZ5MURnYlVDTy9OQ1NEL1R6Q1lqSThHN1Jmb0JCaU9oN0wraFFCbmhqeGpTK1htZlIzNlh2TEo1cVVQS29hdi9Ld1l2N2k1YjdJd3RJQWNYWFNjUTRoVUd1TlVBNUdrYVdYMk1iaEY3MmxNYnIyYUpWSDRmQjJFSjNSYlZLTHlEVjhMMVhkaFl2c1RrNEtVelhyZGtGYkhnSjU5QjdkcW92VjhENlpUeFF0YUtMaXU4NFZMQmVESWY2cFgxN05Qd0g0MmtoZW85cVdNeitlTkVYWFoxVTd0VjBKMEVTeWk1cmQ1WFM1bHY5b0J6YzIrbUV6WFBNR3BPWituSlpWYnpxY2gxb245ZlJFZTZjZmc1YXJVV3lxYm5GMEJDeCtTZ0xQT3grYWRqSHhQZmVmUXZCTTB4MDdrdTJjaU1HUmkzTmpZQnlJRmhyS1QyQk5rZ1ZYUlV5L1dvNUNobFNyS0dJbWlZVEpCWHBrdHUvVWl5bWNkODhyUGhReFIrVW1IU1l5YTRmV2V6MU14bVN5ZTRNb2FmbC9UbzFpc0JLZHppV1NzRE5yZmsxc0RjemN4dHBVM0h6d3dRSVNZL2lwTUtoNlZweUlybEpEcnFrb0dWQ211aWJMOVIvN1R3TmNxTEN6Z0pJNW5BUjZ4cnlBVlgrbkRjb3o2RktEcTUrcTNCT3k1VEUwbDdtVFdkaGYreTVGZDdQUFlEVmZYMmJaRVFFNEFYQVprcktRZWxJYUZmWGJjdmxFTzFSakJGWDVyc3RSWWtOazNGU3cxMDNBd1E0ZDB1MjFCcm1rVjZ2R3hPWlYvaWhhbnRnYTBNQkg0cmE2cE05RzlHcHRyZFE4MVhSWHo1a3RYd2FyVnpRZnlUMDVwTlZuUUJPQWk3M0xxcG8vMXNiZzhvRnpGM1Q0cXUrQkpBeERpYnZWck1la0swMHlIUUZOOXdWYUNVc1paQk5tdWsyLzJkY0NzSW0vWEh2cWxIMXhjcTFKZ2VISlJpeDM2ODhpb081VTV0RHliTEQ4OEl4QXZjVnJYekloMnpWUVBoN1BuaWd2V2dzUi9EdTd0L2ttNmdrbFpuQS9mRG5PUTRDeUNBSHpWWlRQeWttN2paejY4aHJxY1FZbVJxVXFlNnp0SU14eHIzUGZUd0pjanFxb2lmNHJBUTBnYUttcjlBY3l6OVRNTGRWUzIxdDJXbnlMZUJCWFZLeUU3a2NtcFNFR25FQVdDYzN3cHp3NUQ5dERWaGlXRm1DMU5rNWZtM0RrbEZoenNIQnE0Y0NJYTFycHpXaDdWY3V1ejJHeWtTVXIwZkduRW1DeUVYR25ITU1Ncm9YNDlMSytlN05jdmNHdlRteCtCVURScW1pUmlBc2tvd0Y3Q2tqQURGTVp3Y2JiMjVRQzBKRWs0MHZxU0RtRmJiTlN6ZWlMYVBVQjI0RDFGRTM3L3dRanUxYjZkWFRRTm51SlNBemhBWVNYNStWaFViWDhsMmQxWjdmK2JJMG1ZanhzYjhYZ2VSazQrNVlDbmlvblRSNSsyTkVhL09zYVgzQks3dms0V3FNOTRKdldLMmNiNzZoVkN6eEFYeEM0cWE4NkREL2lyZnZ1eXJlbVAwNndvNmpqd1V5VTdoVjFBaXlhcjRzNjdkTE9Pb2lyenU1YVNqQm1tMnVSeUcvRC9BNFh5MDNWb3ZPS2hVa0M4UU83dU1nejM2eGIwdFA4VmtWWFlJV1lkSE9SZ3pNRkkvNjRDVXBVRVRSamNaRGhVaWg3T0VVdWFMTW5KMnk2UlBsQ2ZOYmtubmVDL3EwTExsOUlNZUk0WjVRNkgySmlSaWtyRTNRQVg5WDFxb0w5cnJSNlpMcG9Hd2RiMHdVdUxwd0k4WGh3clp1TjQzdUhWcFB6d2luRmxBMjR3eEtNQUJ0V0xueXYxVmViaGNvR2xjLzZDOHZubkh2NVJJMGw5NC9ia2V5T056ell5d3JVSWZ5aHlqSTRiVG55Y0VEZlEyMi96ME9oS1N5aUdnWDAvZ2JQdU52U1F1NS9IM0hUZStlaGVlSDhXUUpkd1F6dVVWSDN0OTlla1VQVHFLL3RYOXp6U29Jb0RHdW9YaXhkek9MeHhhaUhKWWdpY21mRmtLbHRhaGFNbFlaVkt3dEl2TkQ0UnRyOUV1UGVrbGR1c3pTcGZHdHl4aHhZRWltWEMybmljODJHSlNHNjdieGNuaUl6ZEJ6bS8vODRndE16R1VFL1JnT0pPcjRqcHpXQ2RWbXd3V1FWZkV0c01YdlcvbFpHV05GR3ljZWdjS2djME9XZGNFbWpjbGxoYmVyRGgwMkNZZ0Z0Ym1FSUhtRURickVWaXA5aXJlM2FNSzBGQVMrTERZMVB1QVl2QkRGWFk3Ty96aHZPaWlWSGhYejR0R1Uya2o1cW5KdjJlZnNVZzM0RmJxZDgzaTBpN1dJUXBGS1pHby9RcXJTR1RpcW9iOVI0dHkvcVh2SEZHU1RaL3U3bURValZsTkZVclNoT0duRTNTQi9OWW0zaDFFdVlpRlhEUTlRRmFYa2JMcXBLVnpBeTFyMFg2YVh6ZWF4dm02dVE3WEFyRU41SndXczM1UTRiZlpiRmtodDB2d0NSWThHMW5pckw3K1A0TkxuSTR6eUs2YUt2YXd4d1VZRjZkaUliKzk5Ry9ndXVzODRiaWplTXBtc3QvT0pMdFlBXHgzZFx4M2QnO3ZhciBnPSdrbml0c2FpbCc7dmFyIGVpZD0nYlJ4VGFLWHBHZl9aMWU4UDBkLWJrQUUnO3ZhciBzc19jZ2k9ZmFsc2U7dmFyIHNwPScnO3ZhciBoYXNoZWRfcXVlcnk9Jyc7dmFyIGNicz0nJzt2YXIgdXNzdj0nJzsoZnVuY3Rpb24oKXt2YXIgcT1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sdT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixkKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1kLnZhbHVlO3JldHVybiBhfSx3PWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgZD1hW2JdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiYSIpO30seD13KHRoaXMpLHk9ZnVuY3Rpb24oYSxiKXtpZihiKWE6e3ZhciBkPXg7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBsPTA7bDxhLmxlbmd0aC0xO2wrKyl7dmFyIGY9YVtsXTtpZighKGYgaW4gZCkpYnJlYWsgYTtkPWRbZl19YT1hW2EubGVuZ3RoLTFdO2w9ZFthXTtiPWIobCk7YiE9bCYmYiE9bnVsbCYmdShkLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9fSx6PWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmFbU3ltYm9sLml0ZXJhdG9yXTtpZihiKXJldHVybiBiLmNhbGwoYSk7aWYodHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpxKGEpfTt0aHJvdyBFcnJvcigiYmAiK1N0cmluZyhhKSk7fTt5KCJQcm9taXNlIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7dGhpcy5pPW51bGx9ZnVuY3Rpb24gZChjKXtyZXR1cm4gYyBpbnN0YW5jZW9mIGY\/YzpuZXcgZihmdW5jdGlvbihlKXtlKGMpfSl9aWYoYSlyZXR1cm4gYTtiLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGMpe2lmKHRoaXMuaT09bnVsbCl7dGhpcy5pPVtdO3ZhciBlPXRoaXM7dGhpcy5sKGZ1bmN0aW9uKCl7ZS52KCl9KX10aGlzLmkucHVzaChjKX07dmFyIGw9eC5zZXRUaW1lb3V0O2IucHJvdG90eXBlLmw9ZnVuY3Rpb24oYyl7bChjLDApfTtiLnByb3RvdHlwZS52PWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmkmJnRoaXMuaS5sZW5ndGg7KXt2YXIgYz10aGlzLmk7dGhpcy5pPVtdO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7KytlKXt2YXIgaD1jW2VdO2NbZV09bnVsbDt0cnl7aCgpfWNhdGNoKGspe3RoaXMuQShrKX19fXRoaXMuaT1udWxsfTtiLnByb3RvdHlwZS5BPWZ1bmN0aW9uKGMpe3RoaXMubChmdW5jdGlvbigpe3Rocm93IGM7fSl9O3ZhciBmPWZ1bmN0aW9uKGMpe3RoaXMuaj0wO3RoaXMubD12b2lkIDA7dGhpcy5pPVtdO3RoaXMuRD0hMTt2YXIgZT10aGlzLkEoKTt0cnl7YyhlLnJlc29sdmUsZS5yZWplY3QpfWNhdGNoKGgpe2UucmVqZWN0KGgpfX07Zi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe2Z1bmN0aW9uIGMoayl7cmV0dXJuIGZ1bmN0aW9uKG0pe2h8fChoPSEwLGsuY2FsbChlLG0pKX19dmFyIGU9dGhpcyxoPSExO3JldHVybntyZXNvbHZlOmModGhpcy5KKSxyZWplY3Q6Yyh0aGlzLnYpfX07Zi5wcm90b3R5cGUuSj1mdW5jdGlvbihjKXtpZihjPT09dGhpcyl0aGlzLnYobmV3IFR5cGVFcnJvcigiQSBQcm9taXNlIGNhbm5vdCByZXNvbHZlIHRvIGl0c2VsZiIpKTtlbHNlIGlmKGMgaW5zdGFuY2VvZiBmKXRoaXMuTChjKTtlbHNle2E6c3dpdGNoKHR5cGVvZiBjKXtjYXNlICJvYmplY3QiOnZhciBlPWMhPW51bGw7YnJlYWsgYTtjYXNlICJmdW5jdGlvbiI6ZT0hMDticmVhayBhO2RlZmF1bHQ6ZT0hMX1lP3RoaXMuSShjKTp0aGlzLkMoYyl9fTtmLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGMpe3ZhciBlPXZvaWQgMDt0cnl7ZT1jLnRoZW59Y2F0Y2goaCl7dGhpcy52KGgpO3JldHVybn10eXBlb2YgZT09ImZ1bmN0aW9uIj90aGlzLk0oZSxjKTp0aGlzLkMoYyl9O2YucHJvdG90eXBlLnY9ZnVuY3Rpb24oYyl7dGhpcy5GKDIsYyl9O2YucHJvdG90eXBlLkM9ZnVuY3Rpb24oYyl7dGhpcy5GKDEsYyl9O2YucHJvdG90eXBlLkY9ZnVuY3Rpb24oYyxlKXtpZih0aGlzLmohPTApdGhyb3cgRXJyb3IoImNgIitjKyJgIitlKyJgIit0aGlzLmopO3RoaXMuaj1jO3RoaXMubD1lO3RoaXMuaj09PTImJnRoaXMuSygpO3RoaXMuRygpfTtmLnByb3RvdHlwZS5LPWZ1bmN0aW9uKCl7dmFyIGM9dGhpcztsKGZ1bmN0aW9uKCl7aWYoYy5IKCkpe3ZhciBlPXguY29uc29sZTt0eXBlb2YgZSE9PSJ1bmRlZmluZWQiJiZlLmVycm9yKGMubCl9fSwxKX07Zi5wcm90b3R5cGUuSD1mdW5jdGlvbigpe2lmKHRoaXMuRClyZXR1cm4hMTt2YXIgYz14LkN1c3RvbUV2ZW50LGU9eC5FdmVudCxoPXguZGlzcGF0Y2hFdmVudDtpZih0eXBlb2YgaD09PSJ1bmRlZmluZWQiKXJldHVybiEwO3R5cGVvZiBjPT09ImZ1bmN0aW9uIj9jPW5ldyBjKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6dHlwZW9mIGU9PT0iZnVuY3Rpb24iP2M9bmV3IGUoInVuaGFuZGxlZHJlamVjdGlvbiIse2NhbmNlbGFibGU6ITB9KTooYz14LmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpLGMuaW5pdEN1c3RvbUV2ZW50KCJ1bmhhbmRsZWRyZWplY3Rpb24iLCExLCEwLGMpKTtjLnByb21pc2U9dGhpcztjLnJlYXNvbj10aGlzLmw7cmV0dXJuIGgoYyl9O2YucHJvdG90eXBlLkc9ZnVuY3Rpb24oKXtpZih0aGlzLmkhPW51bGwpe2Zvcih2YXIgYz0wO2M8dGhpcy5pLmxlbmd0aDsrK2Mpdi5qKHRoaXMuaVtjXSk7dGhpcy5pPW51bGx9fTt2YXIgdj1uZXcgYjtmLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGMpe3ZhciBlPXRoaXMuQSgpO2MuQihlLnJlc29sdmUsZS5yZWplY3QpfTtmLnByb3RvdHlwZS5NPWZ1bmN0aW9uKGMsZSl7dmFyIGg9dGhpcy5BKCk7dHJ5e2MuY2FsbChlLGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGMsZSl7ZnVuY3Rpb24gaChuLHQpe3JldHVybiB0eXBlb2Ygbj09ImZ1bmN0aW9uIj9mdW5jdGlvbihCKXt0cnl7ayhuKEIpKX1jYXRjaChDKXttKEMpfX06dH12YXIgayxtLEQ9bmV3IGYoZnVuY3Rpb24obix0KXtrPW47bT10fSk7dGhpcy5CKGgoYyxrKSxoKGUsbSkpO3JldHVybiBEfTtmLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxjKX07Zi5wcm90b3R5cGUuQj1mdW5jdGlvbihjLGUpe2Z1bmN0aW9uIGgoKXtzd2l0Y2goay5qKXtjYXNlIDE6YyhrLmwpO2JyZWFrO2Nhc2UgMjplKGsubCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZGAiK2suaik7fX12YXIgaz0KdGhpczt0aGlzLmk9PW51bGw\/di5qKGgpOnRoaXMuaS5wdXNoKGgpO3RoaXMuRD0hMH07Zi5yZXNvbHZlPWQ7Zi5yZWplY3Q9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7aChjKX0pfTtmLnJhY2U9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7Zm9yKHZhciBrPXooYyksbT1rLm5leHQoKTshbS5kb25lO209ay5uZXh0KCkpZChtLnZhbHVlKS5CKGUsaCl9KX07Zi5hbGw9ZnVuY3Rpb24oYyl7dmFyIGU9eihjKSxoPWUubmV4dCgpO3JldHVybiBoLmRvbmU\/ZChbXSk6bmV3IGYoZnVuY3Rpb24oayxtKXtmdW5jdGlvbiBEKEIpe3JldHVybiBmdW5jdGlvbihDKXtuW0JdPUM7dC0tO3Q9PTAmJmsobil9fXZhciBuPVtdLHQ9MDtkbyBuLnB1c2godm9pZCAwKSx0KyssZChoLnZhbHVlKS5CKEQobi5sZW5ndGgtMSksbSksaD1lLm5leHQoKTt3aGlsZSghaC5kb25lKX0pfTtyZXR1cm4gZn0pOwp2YXIgQT10aGlzfHxzZWxmO2Z1bmN0aW9uIEUoKXtyZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZX07dmFyIEY9d2luZG93LmxvY2F0aW9uO2Z1bmN0aW9uIEcoYSl7cmV0dXJuKGE9Ri5zZWFyY2gubWF0Y2gobmV3IFJlZ0V4cCgiWz8mXSIrYSsiPShcXGQrKSIpKSk\/TnVtYmVyKGFbMV0pOi0xfWZ1bmN0aW9uIEgoKXt2YXIgYT1nb29nbGUudGltZXJzLmxvYWQ7Z29vZ2xlLmMuZ3RzP2dvb2dsZS5jLmd0cyhmdW5jdGlvbigpe0koYSl9KTpJKGEpfQpmdW5jdGlvbiBJKGEpe3ZhciBiPWEuZSxkPWdvb2dsZS5zdHZzYztkJiYoYi5zc3I9MSk7aWYoZD9kLmlzQkY6RSgpPT09MiliLmJiPTE7RSgpPT09MSYmKGIucj0xKTthOntpZih3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiYoZD13aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpLGQubGVuZ3RoIT09MCkpe2Q9ZFswXTticmVhayBhfWQ9dm9pZCAwfWlmKGQpe3ZhciBsPWQudHlwZTtsJiYoYi5udD1sKTtsPWQuZGVsaXZlcnlUeXBlO2whPW51bGwmJihiLmR0PWwpO2Q9ZC50cmFuc2ZlclNpemU7ZCE9bnVsbCYmKGIudHM9ZCl9KGQ9d2luZG93Lm5hdmlnYXRpb24pJiYoZD1kLmFjdGl2YXRpb24pJiYoZD1kLm5hdmlnYXRpb25UeXBlKSYmKGIuYW50PWQpO2I9YS5tO2lmKCFifHwhYi5wcnMpe2Q9d2luZG93Ll9jc2M9PT0iYWdzYSImJndpbmRvdy5fY3NoaWQ7bD1FKCl8fGQ\/MDpHKCJxc3VidHMiKTtsPjAmJihiPUcoImZidHMiKSxiPjAmJihhLnQuc3RhcnQ9TWF0aC5tYXgobCxiKSkpO3ZhciBmPWEudCx2PWYuc3RhcnQ7Yj17fTthLndzcnQhPT12b2lkIDAmJihiLndzcnQ9YS53c3J0KTtpZih2KWZvcih2YXIgYyBpbiBmKWlmKGMhPT0ic3RhcnQiKXt2YXIgZT1mW2NdO2JbY109Yz09PSJzZ2wiP2U6TWF0aC5tYXgoZS12LDApfWw+MCYmKGIuZ3Nhc3J0PWEudC5zdGFydC1sLGM9RygicXNkIiksYz4wJiZnb29nbGUuYy5lKCJsb2FkIiwicXNkIixTdHJpbmcoYykpLChjPWEuZmJ0cykmJihiLmdzYXNydDI9TWF0aC5tYXgobCxjKS1sKSk7RSgpfHxkfHwhYS5xc3VidHN8fChjPWEuZmJ0cykmJihiLmdzYXNydDM9TWF0aC5tYXgoYS5xc3VidHMsYyktYS5xc3VidHMpO2M9YS5lO2E9Ii9nZW5fMjA0P3M9Iitnb29nbGUuc24rIiZ0PXNnJmF0eXA9Y3NpJmVpPSIrZ29vZ2xlLmtFSSsiJnJ0PSI7ZD0iIjtmb3IoayBpbiBiKWErPSIiK2QraysiLiIrYltrXSxkPSIsIjtmb3IodmFyIGggaW4gYylhKz0KIiYiK2grIj0iK2NbaF07dmFyIGs9IiI7QS5fY3NoaWQmJihrKz0iJmNzaGlkPSIrQS5fY3NoaWQpOyhoPXdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUua09QSXx8bnVsbCkmJihrKz0iJm9waT0iK2gpO2s9YSs9azt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb249PT0iZnVuY3Rpb24iP25hdmlnYXRvci5zZW5kQmVhY29uKGssIiIpOmdvb2dsZS5sb2coIiIsIiIsayl9fTt2YXIgSj1mdW5jdGlvbigpe3ZhciBhPWxvY2F0aW9uLmhyZWY7dGhpcy5pPXRoaXMuaj0iIjt2YXIgYj1hLmluZGV4T2YoIiMiKTtiPjAmJih0aGlzLmo9YS5zdWJzdHJpbmcoYiksYT1hLnN1YnN0cmluZygwLGIpKTtiPWEuaW5kZXhPZigiPyIpO2I+MCYmKHRoaXMuaT0iJiIrYS5zdWJzdHJpbmcoYisxKSxhPWEuc3Vic3RyaW5nKDAsYikpO3RoaXMubD1hfSxMPWZ1bmN0aW9uKGEsYixkKXtLKGEsYik7YS5pPWEuaSsiJiIrYisiPSIrZH0sSz1mdW5jdGlvbihhLGIpe2EuaT1hLmkucmVwbGFjZShuZXcgUmVnRXhwKCImIitiKyI9KFteJl0rKSIsImciKSwiIil9O0oucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdGhpcy5sKyh0aGlzLmk\/Ij8iK3RoaXMuaS5zdWJzdHJpbmcoMSk6IiIpK3RoaXMuan07CnZhciBNPWZ1bmN0aW9uKGEpe3RoaXMuaT1hfTtNLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLml9O3ZhciBOPWZ1bmN0aW9uKGEpe3RoaXMuTj1hfTtmdW5jdGlvbiBPKGEpe3JldHVybiBuZXcgTihmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgUD1bTygiZGF0YSIpLE8oImh0dHAiKSxPKCJodHRwcyIpLE8oIm1haWx0byIpLE8oImZ0cCIpLG5ldyBOKGZ1bmN0aW9uKGEpe3JldHVybi9eW146XSooWy8\/I118JCkvLnRlc3QoYSl9KV0sUT0vXlxzKig\/IWphdmFzY3JpcHQ6KSg\/OltcdysuLV0rOnxbXjovPyNdKig\/OlsvPyNdfCQpKS9pO2Z1bmN0aW9uIFIoKXt2YXIgYT1BW2ddO2lmKGEpe2E9eigoMCxhLmEpKHAsZnVuY3Rpb24oKXt9LCExKSkubmV4dCgpLnZhbHVlO3ZhciBiPVthYSgpXTtyZXR1cm4gYShiKX1TKEVycm9yKCJmIikpfWZ1bmN0aW9uIGFhKCl7dmFyIGE9bG9jYXRpb24uaHJlZixiPWhhc2hlZF9xdWVyeSxkPXt9O2ImJihkLnFoPWIsKGE9KGE9YS5tYXRjaCgvWz8mXXN0YXJ0PShcZCspL2cpKT9hW2EubGVuZ3RoLTFdLm1hdGNoKC9cZCsvKVswXToiIikmJihkLnN0PWEpKTtyZXR1cm4gZH0KZnVuY3Rpb24gVCgpe3ZhciBhO2E6e2lmKHdpbmRvdy5zdCYmKGE9d2luZG93LnN0KGxvY2F0aW9uLmhyZWYpKSlicmVhayBhO2E9cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLnRpbWluZyYmcGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD9wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0OnZvaWQgMH1pZihhKXRyeXt2YXIgYjsoKGI9d2luZG93KT09bnVsbD8wOmIuc2Vzc2lvblN0b3JhZ2UpJiZ3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShlaWQsU3RyaW5nKGEpKX1jYXRjaChkKXt9fWZ1bmN0aW9uIFUoKXt2YXIgYT1laWQsYj1uZXcgSjtLKGIsInNnX3NzIik7TChiLCJzZWkiLGEpO3JldHVybiBiLnRvU3RyaW5nKCl9ZnVuY3Rpb24gVihhKXt2YXIgYj1laWQsZD1uZXcgSjtMKGQsInNnX3NzIixlbmNvZGVVUklDb21wb25lbnQoYSkpO0woZCwic2VpIixiKTtXKGQudG9TdHJpbmcoKSl9CmZ1bmN0aW9uIGJhKGEpe2lmKHdpbmRvdy5wcnMpe1goInBzcnQiKTtzY3RtJiZIKCk7dmFyIGI9VSgpO3dpbmRvdy5wcnMoYixhKS5jYXRjaChmdW5jdGlvbigpe1YoYSl9KX1lbHNlIFYoYSl9ZnVuY3Rpb24gVyhhKXtYKCJwc3J0Iik7c2N0bSYmSCgpO3dpbmRvdy5wcnM\/d2luZG93LnBycyhhKS5jYXRjaChmdW5jdGlvbigpe1koYSl9KTpZKGEpfQpmdW5jdGlvbiBZKGEpe2lmKHdpbmRvdy5wcil3aW5kb3cucHIoYSk7ZWxzZXthOnt2YXIgYj1iPT09dm9pZCAwP1A6YjtpZihhIGluc3RhbmNlb2YgTSliPWE7ZWxzZXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoOysrZCl7dmFyIGw9YltkXTtpZihsIGluc3RhbmNlb2YgTiYmbC5OKGEpKXtiPW5ldyBNKGEpO2JyZWFrIGF9fWI9dm9pZCAwfX1hPWxvY2F0aW9uO2lmKGIgaW5zdGFuY2VvZiBNKWlmKGIgaW5zdGFuY2VvZiBNKWI9Yi5pO2Vsc2UgdGhyb3cgRXJyb3IoImUiKTtlbHNlIGI9US50ZXN0KGIpP2I6dm9pZCAwO2IhPT12b2lkIDAmJmEucmVwbGFjZShiKX19ZnVuY3Rpb24gUyhhKXtuYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL2dlbl8yMDQ\/Y2FkPXNnX2JfZSZlPSIrYSwiIil9ZnVuY3Rpb24gWChhKXtzY3RtJiZnb29nbGUudGljaygibG9hZCIsYSl9O25hdmlnYXRvcnx8KEEubmF2aWdhdG9yPXt9KTt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb24hPT0iZnVuY3Rpb24iJiYobmF2aWdhdG9yLnNlbmRCZWFjb249ZnVuY3Rpb24oYSl7KG5ldyBJbWFnZSkuc3JjPWF9KTt3aW5kb3cub25lcnJvcj1mdW5jdGlvbihhLGIsZCxsLGYpe25hdmlnYXRvci5zZW5kQmVhY29uKCIvZ2VuXzIwND9lbXNnPSIrKGYgaW5zdGFuY2VvZiBFcnJvcj9mLm1lc3NhZ2U6YSkrIiZzcmNwZz1zZ3MmanNyPTEmanNlbD0zIil9O1goInNzdCIpO3ZhciBaO3dpbmRvdy5zZ3MmJnVzc3Y\/KFgoInNzc3QiKSxaPXdpbmRvdy5zZ3Moc3ApLnRoZW4oZnVuY3Rpb24oYSl7WCgic3NldCIpO3ImJihUKCksYmEoYSkpO3JldHVybiEwfSxmdW5jdGlvbigpe3JldHVybiExfSkpOlo9UHJvbWlzZS5yZXNvbHZlKCExKTtaLnRoZW4oZnVuY3Rpb24oYSl7aWYoIWEmJihYKCJic3N0IiksYT1SKCksWCgiYnNldCIpLGEpKXt2YXIgYj1jYnM7YT1oYXNoZWRfcXVlcnk\/IkIuMS4iK2IrIi4iK2E6YTtiPW5ldyBEYXRlO2Iuc2V0U2Vjb25kcyhiLmdldFNlY29uZHMoKSsoTnVtYmVyKGNlKXx8MzAwKSk7dmFyIGQ9IlNHX1NTPSIrYSxsPWRvY3VtZW50LmNvb2tpZS5sZW5ndGgrZC5sZW5ndGg7ciYmKGw8NDA5MyYmIXNzX2NnaSYmKGRvY3VtZW50LmNvb2tpZT1kKygiOyBleHBpcmVzPSIrYi50b1VUQ1N0cmluZygpKSksVCgpLHNzX2NnaXx8ZG9jdW1lbnQuY29va2llLmluZGV4T2YoIlNHX1NTPSIpPDA\/VihhKTpXKFUoKSkpfX0pLmNhdGNoKGZ1bmN0aW9uKGEpe1MoYSl9KTt9KS5jYWxsKHRoaXMpO30pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iWnBwRm84SUdtTjlJVUhKWjdPdk02QSI+KGZ1bmN0aW9uKCl7dmFyIGNzc0lkPSd5dmxydWUnO3ZhciBldmVudF9pZD0nYlJ4VGFLWHBHZl9aMWU4UDBkLWJrQUUnO2Z1bmN0aW9uIHN3KCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY3NzSWQpLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCcnKTtuYXZpZ2F0b3Iuc2VuZEJlYWNvbihgL2dlbl8yMDQ\/Y2FkPXNnX3RyYmwmZWk9JHtldmVudF9pZH1gLCcnKTt9CnNldFRpbWVvdXQoc3csMjAwMCk7fSkoKTs8L3NjcmlwdD4gPGRpdiBpZD0ieXZscnVlIiBzdHlsZT0iZGlzcGxheTpub25lIj5JZiB5b3UncmUgaGF2aW5nIHRyb3VibGUgYWNjZXNzaW5nIEdvb2dsZSBTZWFyY2gsIHBsZWFzZSZuYnNwOzxhIGhyZWY9Ii9zZWFyY2g\/cT1sJTI3YW1vcmUrZ3JhZmZpYStpbCttb25kbyZhbXA7bnVtPTEwMCZhbXA7c2NhX2Vzdj04YTcwYzEwZjdhZTUwYzMzJmFtcDtwd3M9MCZhbXA7aGw9ZGUmYW1wO25lYXI9RGV1dHNjaGxhbmQmYW1wO2dsPURFJmFtcDtnbHA9MSZhbXA7Z2J2PTEmYW1wO2Vtc2c9U0dfUkVMJmFtcDtzZWk9YlJ4VGFLWHBHZl9aMWU4UDBkLWJrQUUiPmNsaWNrIGhlcmU8L2E+LCBvciBzZW5kJm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vd2Vic2VhcmNoIj5mZWVkYmFjazwvYT4uPC9kaXY+PC9ib2R5PjwvaHRtbD4="}